diff options
author | heretic <heretic@yandex-team.ru> | 2022-02-10 16:45:46 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:46 +0300 |
commit | 81eddc8c0b55990194e112b02d127b87d54164a9 (patch) | |
tree | 9142afc54d335ea52910662635b898e79e192e49 /contrib/libs/openssl/asm/windows | |
parent | 397cbe258b9e064f49c4ca575279f02f39fef76e (diff) | |
download | ydb-81eddc8c0b55990194e112b02d127b87d54164a9.tar.gz |
Restoring authorship annotation for <heretic@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/openssl/asm/windows')
30 files changed, 28717 insertions, 28717 deletions
diff --git a/contrib/libs/openssl/asm/windows/crypto/aes/aesni-mb-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/aes/aesni-mb-x86_64.masm index 790cd9e4d2..cf3ff84649 100644 --- a/contrib/libs/openssl/asm/windows/crypto/aes/aesni-mb-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/aes/aesni-mb-x86_64.masm @@ -1,16 +1,16 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR +EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC aesni_multi_cbc_encrypt +PUBLIC aesni_multi_cbc_encrypt ALIGN 32 -aesni_multi_cbc_encrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_multi_cbc_encrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_multi_cbc_encrypt:: +$L$SEH_begin_aesni_multi_cbc_encrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -18,13 +18,13 @@ $L$SEH_begin_aesni_multi_cbc_encrypt:: cmp edx,2 - jb $L$enc_non_avx - mov ecx,DWORD PTR[((OPENSSL_ia32cap_P+4))] + jb $L$enc_non_avx + mov ecx,DWORD PTR[((OPENSSL_ia32cap_P+4))] test ecx,268435456 - jnz _avx_cbc_enc_shortcut - jmp $L$enc_non_avx + jnz _avx_cbc_enc_shortcut + jmp $L$enc_non_avx ALIGN 16 -$L$enc_non_avx:: +$L$enc_non_avx:: mov rax,rsp push rbx @@ -39,17 +39,17 @@ $L$enc_non_avx:: push r15 - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 - movaps XMMWORD PTR[64+rsp],xmm10 - movaps XMMWORD PTR[80+rsp],xmm11 - movaps XMMWORD PTR[96+rsp],xmm12 - movaps XMMWORD PTR[(-104)+rax],xmm13 - movaps XMMWORD PTR[(-88)+rax],xmm14 - movaps XMMWORD PTR[(-72)+rax],xmm15 + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 + movaps XMMWORD PTR[64+rsp],xmm10 + movaps XMMWORD PTR[80+rsp],xmm11 + movaps XMMWORD PTR[96+rsp],xmm12 + movaps XMMWORD PTR[(-104)+rax],xmm13 + movaps XMMWORD PTR[(-88)+rax],xmm14 + movaps XMMWORD PTR[(-72)+rax],xmm15 @@ -58,79 +58,79 @@ $L$enc_non_avx:: sub rsp,48 and rsp,-64 - mov QWORD PTR[16+rsp],rax + mov QWORD PTR[16+rsp],rax -$L$enc4x_body:: - movdqu xmm12,XMMWORD PTR[rsi] - lea rsi,QWORD PTR[120+rsi] - lea rdi,QWORD PTR[80+rdi] +$L$enc4x_body:: + movdqu xmm12,XMMWORD PTR[rsi] + lea rsi,QWORD PTR[120+rsi] + lea rdi,QWORD PTR[80+rdi] -$L$enc4x_loop_grande:: - mov DWORD PTR[24+rsp],edx +$L$enc4x_loop_grande:: + mov DWORD PTR[24+rsp],edx xor edx,edx - mov ecx,DWORD PTR[((-64))+rdi] - mov r8,QWORD PTR[((-80))+rdi] + mov ecx,DWORD PTR[((-64))+rdi] + mov r8,QWORD PTR[((-80))+rdi] cmp ecx,edx - mov r12,QWORD PTR[((-72))+rdi] + mov r12,QWORD PTR[((-72))+rdi] cmovg edx,ecx test ecx,ecx - movdqu xmm2,XMMWORD PTR[((-56))+rdi] - mov DWORD PTR[32+rsp],ecx + movdqu xmm2,XMMWORD PTR[((-56))+rdi] + mov DWORD PTR[32+rsp],ecx cmovle r8,rsp - mov ecx,DWORD PTR[((-24))+rdi] - mov r9,QWORD PTR[((-40))+rdi] + mov ecx,DWORD PTR[((-24))+rdi] + mov r9,QWORD PTR[((-40))+rdi] cmp ecx,edx - mov r13,QWORD PTR[((-32))+rdi] + mov r13,QWORD PTR[((-32))+rdi] cmovg edx,ecx test ecx,ecx - movdqu xmm3,XMMWORD PTR[((-16))+rdi] - mov DWORD PTR[36+rsp],ecx + movdqu xmm3,XMMWORD PTR[((-16))+rdi] + mov DWORD PTR[36+rsp],ecx cmovle r9,rsp - mov ecx,DWORD PTR[16+rdi] - mov r10,QWORD PTR[rdi] + mov ecx,DWORD PTR[16+rdi] + mov r10,QWORD PTR[rdi] cmp ecx,edx - mov r14,QWORD PTR[8+rdi] + mov r14,QWORD PTR[8+rdi] cmovg edx,ecx test ecx,ecx - movdqu xmm4,XMMWORD PTR[24+rdi] - mov DWORD PTR[40+rsp],ecx + movdqu xmm4,XMMWORD PTR[24+rdi] + mov DWORD PTR[40+rsp],ecx cmovle r10,rsp - mov ecx,DWORD PTR[56+rdi] - mov r11,QWORD PTR[40+rdi] + mov ecx,DWORD PTR[56+rdi] + mov r11,QWORD PTR[40+rdi] cmp ecx,edx - mov r15,QWORD PTR[48+rdi] + mov r15,QWORD PTR[48+rdi] cmovg edx,ecx test ecx,ecx - movdqu xmm5,XMMWORD PTR[64+rdi] - mov DWORD PTR[44+rsp],ecx + movdqu xmm5,XMMWORD PTR[64+rdi] + mov DWORD PTR[44+rsp],ecx cmovle r11,rsp test edx,edx - jz $L$enc4x_done + jz $L$enc4x_done - movups xmm1,XMMWORD PTR[((16-120))+rsi] + movups xmm1,XMMWORD PTR[((16-120))+rsi] pxor xmm2,xmm12 - movups xmm0,XMMWORD PTR[((32-120))+rsi] + movups xmm0,XMMWORD PTR[((32-120))+rsi] pxor xmm3,xmm12 - mov eax,DWORD PTR[((240-120))+rsi] + mov eax,DWORD PTR[((240-120))+rsi] pxor xmm4,xmm12 - movdqu xmm6,XMMWORD PTR[r8] + movdqu xmm6,XMMWORD PTR[r8] pxor xmm5,xmm12 - movdqu xmm7,XMMWORD PTR[r9] + movdqu xmm7,XMMWORD PTR[r9] pxor xmm2,xmm6 - movdqu xmm8,XMMWORD PTR[r10] + movdqu xmm8,XMMWORD PTR[r10] pxor xmm3,xmm7 - movdqu xmm9,XMMWORD PTR[r11] + movdqu xmm9,XMMWORD PTR[r11] pxor xmm4,xmm8 pxor xmm5,xmm9 - movdqa xmm10,XMMWORD PTR[32+rsp] + movdqa xmm10,XMMWORD PTR[32+rsp] xor rbx,rbx - jmp $L$oop_enc4x + jmp $L$oop_enc4x ALIGN 32 -$L$oop_enc4x:: +$L$oop_enc4x:: add rbx,16 - lea rbp,QWORD PTR[16+rsp] + lea rbp,QWORD PTR[16+rsp] mov ecx,1 sub rbp,rbx @@ -142,39 +142,39 @@ DB 102,15,56,220,217 prefetcht0 [31+rbx*1+r10] DB 102,15,56,220,225 DB 102,15,56,220,233 - movups xmm1,XMMWORD PTR[((48-120))+rsi] - cmp ecx,DWORD PTR[32+rsp] + movups xmm1,XMMWORD PTR[((48-120))+rsi] + cmp ecx,DWORD PTR[32+rsp] DB 102,15,56,220,208 DB 102,15,56,220,216 DB 102,15,56,220,224 cmovge r8,rbp cmovg r12,rbp DB 102,15,56,220,232 - movups xmm0,XMMWORD PTR[((-56))+rsi] - cmp ecx,DWORD PTR[36+rsp] + movups xmm0,XMMWORD PTR[((-56))+rsi] + cmp ecx,DWORD PTR[36+rsp] DB 102,15,56,220,209 DB 102,15,56,220,217 DB 102,15,56,220,225 cmovge r9,rbp cmovg r13,rbp DB 102,15,56,220,233 - movups xmm1,XMMWORD PTR[((-40))+rsi] - cmp ecx,DWORD PTR[40+rsp] + movups xmm1,XMMWORD PTR[((-40))+rsi] + cmp ecx,DWORD PTR[40+rsp] DB 102,15,56,220,208 DB 102,15,56,220,216 DB 102,15,56,220,224 cmovge r10,rbp cmovg r14,rbp DB 102,15,56,220,232 - movups xmm0,XMMWORD PTR[((-24))+rsi] - cmp ecx,DWORD PTR[44+rsp] + movups xmm0,XMMWORD PTR[((-24))+rsi] + cmp ecx,DWORD PTR[44+rsp] DB 102,15,56,220,209 DB 102,15,56,220,217 DB 102,15,56,220,225 cmovge r11,rbp cmovg r15,rbp DB 102,15,56,220,233 - movups xmm1,XMMWORD PTR[((-8))+rsi] + movups xmm1,XMMWORD PTR[((-8))+rsi] movdqa xmm11,xmm10 DB 102,15,56,220,208 prefetcht0 [15+rbx*1+r12] @@ -184,18 +184,18 @@ DB 102,15,56,220,216 prefetcht0 [15+rbx*1+r15] DB 102,15,56,220,224 DB 102,15,56,220,232 - movups xmm0,XMMWORD PTR[((128-120))+rsi] + movups xmm0,XMMWORD PTR[((128-120))+rsi] pxor xmm12,xmm12 DB 102,15,56,220,209 pcmpgtd xmm11,xmm12 - movdqu xmm12,XMMWORD PTR[((-120))+rsi] + movdqu xmm12,XMMWORD PTR[((-120))+rsi] DB 102,15,56,220,217 paddd xmm10,xmm11 - movdqa XMMWORD PTR[32+rsp],xmm10 + movdqa XMMWORD PTR[32+rsp],xmm10 DB 102,15,56,220,225 DB 102,15,56,220,233 - movups xmm1,XMMWORD PTR[((144-120))+rsi] + movups xmm1,XMMWORD PTR[((144-120))+rsi] cmp eax,11 @@ -203,74 +203,74 @@ DB 102,15,56,220,208 DB 102,15,56,220,216 DB 102,15,56,220,224 DB 102,15,56,220,232 - movups xmm0,XMMWORD PTR[((160-120))+rsi] + movups xmm0,XMMWORD PTR[((160-120))+rsi] - jb $L$enc4x_tail + jb $L$enc4x_tail DB 102,15,56,220,209 DB 102,15,56,220,217 DB 102,15,56,220,225 DB 102,15,56,220,233 - movups xmm1,XMMWORD PTR[((176-120))+rsi] + movups xmm1,XMMWORD PTR[((176-120))+rsi] DB 102,15,56,220,208 DB 102,15,56,220,216 DB 102,15,56,220,224 DB 102,15,56,220,232 - movups xmm0,XMMWORD PTR[((192-120))+rsi] + movups xmm0,XMMWORD PTR[((192-120))+rsi] - je $L$enc4x_tail + je $L$enc4x_tail DB 102,15,56,220,209 DB 102,15,56,220,217 DB 102,15,56,220,225 DB 102,15,56,220,233 - movups xmm1,XMMWORD PTR[((208-120))+rsi] + movups xmm1,XMMWORD PTR[((208-120))+rsi] DB 102,15,56,220,208 DB 102,15,56,220,216 DB 102,15,56,220,224 DB 102,15,56,220,232 - movups xmm0,XMMWORD PTR[((224-120))+rsi] - jmp $L$enc4x_tail + movups xmm0,XMMWORD PTR[((224-120))+rsi] + jmp $L$enc4x_tail ALIGN 32 -$L$enc4x_tail:: +$L$enc4x_tail:: DB 102,15,56,220,209 DB 102,15,56,220,217 DB 102,15,56,220,225 DB 102,15,56,220,233 - movdqu xmm6,XMMWORD PTR[rbx*1+r8] - movdqu xmm1,XMMWORD PTR[((16-120))+rsi] + movdqu xmm6,XMMWORD PTR[rbx*1+r8] + movdqu xmm1,XMMWORD PTR[((16-120))+rsi] DB 102,15,56,221,208 - movdqu xmm7,XMMWORD PTR[rbx*1+r9] + movdqu xmm7,XMMWORD PTR[rbx*1+r9] pxor xmm6,xmm12 DB 102,15,56,221,216 - movdqu xmm8,XMMWORD PTR[rbx*1+r10] + movdqu xmm8,XMMWORD PTR[rbx*1+r10] pxor xmm7,xmm12 DB 102,15,56,221,224 - movdqu xmm9,XMMWORD PTR[rbx*1+r11] + movdqu xmm9,XMMWORD PTR[rbx*1+r11] pxor xmm8,xmm12 DB 102,15,56,221,232 - movdqu xmm0,XMMWORD PTR[((32-120))+rsi] + movdqu xmm0,XMMWORD PTR[((32-120))+rsi] pxor xmm9,xmm12 - movups XMMWORD PTR[(-16)+rbx*1+r12],xmm2 + movups XMMWORD PTR[(-16)+rbx*1+r12],xmm2 pxor xmm2,xmm6 - movups XMMWORD PTR[(-16)+rbx*1+r13],xmm3 + movups XMMWORD PTR[(-16)+rbx*1+r13],xmm3 pxor xmm3,xmm7 - movups XMMWORD PTR[(-16)+rbx*1+r14],xmm4 + movups XMMWORD PTR[(-16)+rbx*1+r14],xmm4 pxor xmm4,xmm8 - movups XMMWORD PTR[(-16)+rbx*1+r15],xmm5 + movups XMMWORD PTR[(-16)+rbx*1+r15],xmm5 pxor xmm5,xmm9 dec edx - jnz $L$oop_enc4x + jnz $L$oop_enc4x - mov rax,QWORD PTR[16+rsp] + mov rax,QWORD PTR[16+rsp] - mov edx,DWORD PTR[24+rsp] + mov edx,DWORD PTR[24+rsp] @@ -281,51 +281,51 @@ DB 102,15,56,221,232 - lea rdi,QWORD PTR[160+rdi] + lea rdi,QWORD PTR[160+rdi] dec edx - jnz $L$enc4x_loop_grande + jnz $L$enc4x_loop_grande -$L$enc4x_done:: - movaps xmm6,XMMWORD PTR[((-216))+rax] - movaps xmm7,XMMWORD PTR[((-200))+rax] - movaps xmm8,XMMWORD PTR[((-184))+rax] - movaps xmm9,XMMWORD PTR[((-168))+rax] - movaps xmm10,XMMWORD PTR[((-152))+rax] - movaps xmm11,XMMWORD PTR[((-136))+rax] - movaps xmm12,XMMWORD PTR[((-120))+rax] +$L$enc4x_done:: + movaps xmm6,XMMWORD PTR[((-216))+rax] + movaps xmm7,XMMWORD PTR[((-200))+rax] + movaps xmm8,XMMWORD PTR[((-184))+rax] + movaps xmm9,XMMWORD PTR[((-168))+rax] + movaps xmm10,XMMWORD PTR[((-152))+rax] + movaps xmm11,XMMWORD PTR[((-136))+rax] + movaps xmm12,XMMWORD PTR[((-120))+rax] - mov r15,QWORD PTR[((-48))+rax] + mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] + mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] + mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] + mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$enc4x_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$enc4x_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_multi_cbc_encrypt:: -aesni_multi_cbc_encrypt ENDP +$L$SEH_end_aesni_multi_cbc_encrypt:: +aesni_multi_cbc_encrypt ENDP -PUBLIC aesni_multi_cbc_decrypt +PUBLIC aesni_multi_cbc_decrypt ALIGN 32 -aesni_multi_cbc_decrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_multi_cbc_decrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_multi_cbc_decrypt:: +$L$SEH_begin_aesni_multi_cbc_decrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -333,13 +333,13 @@ $L$SEH_begin_aesni_multi_cbc_decrypt:: cmp edx,2 - jb $L$dec_non_avx - mov ecx,DWORD PTR[((OPENSSL_ia32cap_P+4))] + jb $L$dec_non_avx + mov ecx,DWORD PTR[((OPENSSL_ia32cap_P+4))] test ecx,268435456 - jnz _avx_cbc_dec_shortcut - jmp $L$dec_non_avx + jnz _avx_cbc_dec_shortcut + jmp $L$dec_non_avx ALIGN 16 -$L$dec_non_avx:: +$L$dec_non_avx:: mov rax,rsp push rbx @@ -354,17 +354,17 @@ $L$dec_non_avx:: push r15 - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 - movaps XMMWORD PTR[64+rsp],xmm10 - movaps XMMWORD PTR[80+rsp],xmm11 - movaps XMMWORD PTR[96+rsp],xmm12 - movaps XMMWORD PTR[(-104)+rax],xmm13 - movaps XMMWORD PTR[(-88)+rax],xmm14 - movaps XMMWORD PTR[(-72)+rax],xmm15 + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 + movaps XMMWORD PTR[64+rsp],xmm10 + movaps XMMWORD PTR[80+rsp],xmm11 + movaps XMMWORD PTR[96+rsp],xmm12 + movaps XMMWORD PTR[(-104)+rax],xmm13 + movaps XMMWORD PTR[(-88)+rax],xmm14 + movaps XMMWORD PTR[(-72)+rax],xmm15 @@ -373,75 +373,75 @@ $L$dec_non_avx:: sub rsp,48 and rsp,-64 - mov QWORD PTR[16+rsp],rax + mov QWORD PTR[16+rsp],rax -$L$dec4x_body:: - movdqu xmm12,XMMWORD PTR[rsi] - lea rsi,QWORD PTR[120+rsi] - lea rdi,QWORD PTR[80+rdi] +$L$dec4x_body:: + movdqu xmm12,XMMWORD PTR[rsi] + lea rsi,QWORD PTR[120+rsi] + lea rdi,QWORD PTR[80+rdi] -$L$dec4x_loop_grande:: - mov DWORD PTR[24+rsp],edx +$L$dec4x_loop_grande:: + mov DWORD PTR[24+rsp],edx xor edx,edx - mov ecx,DWORD PTR[((-64))+rdi] - mov r8,QWORD PTR[((-80))+rdi] + mov ecx,DWORD PTR[((-64))+rdi] + mov r8,QWORD PTR[((-80))+rdi] cmp ecx,edx - mov r12,QWORD PTR[((-72))+rdi] + mov r12,QWORD PTR[((-72))+rdi] cmovg edx,ecx test ecx,ecx - movdqu xmm6,XMMWORD PTR[((-56))+rdi] - mov DWORD PTR[32+rsp],ecx + movdqu xmm6,XMMWORD PTR[((-56))+rdi] + mov DWORD PTR[32+rsp],ecx cmovle r8,rsp - mov ecx,DWORD PTR[((-24))+rdi] - mov r9,QWORD PTR[((-40))+rdi] + mov ecx,DWORD PTR[((-24))+rdi] + mov r9,QWORD PTR[((-40))+rdi] cmp ecx,edx - mov r13,QWORD PTR[((-32))+rdi] + mov r13,QWORD PTR[((-32))+rdi] cmovg edx,ecx test ecx,ecx - movdqu xmm7,XMMWORD PTR[((-16))+rdi] - mov DWORD PTR[36+rsp],ecx + movdqu xmm7,XMMWORD PTR[((-16))+rdi] + mov DWORD PTR[36+rsp],ecx cmovle r9,rsp - mov ecx,DWORD PTR[16+rdi] - mov r10,QWORD PTR[rdi] + mov ecx,DWORD PTR[16+rdi] + mov r10,QWORD PTR[rdi] cmp ecx,edx - mov r14,QWORD PTR[8+rdi] + mov r14,QWORD PTR[8+rdi] cmovg edx,ecx test ecx,ecx - movdqu xmm8,XMMWORD PTR[24+rdi] - mov DWORD PTR[40+rsp],ecx + movdqu xmm8,XMMWORD PTR[24+rdi] + mov DWORD PTR[40+rsp],ecx cmovle r10,rsp - mov ecx,DWORD PTR[56+rdi] - mov r11,QWORD PTR[40+rdi] + mov ecx,DWORD PTR[56+rdi] + mov r11,QWORD PTR[40+rdi] cmp ecx,edx - mov r15,QWORD PTR[48+rdi] + mov r15,QWORD PTR[48+rdi] cmovg edx,ecx test ecx,ecx - movdqu xmm9,XMMWORD PTR[64+rdi] - mov DWORD PTR[44+rsp],ecx + movdqu xmm9,XMMWORD PTR[64+rdi] + mov DWORD PTR[44+rsp],ecx cmovle r11,rsp test edx,edx - jz $L$dec4x_done + jz $L$dec4x_done - movups xmm1,XMMWORD PTR[((16-120))+rsi] - movups xmm0,XMMWORD PTR[((32-120))+rsi] - mov eax,DWORD PTR[((240-120))+rsi] - movdqu xmm2,XMMWORD PTR[r8] - movdqu xmm3,XMMWORD PTR[r9] + movups xmm1,XMMWORD PTR[((16-120))+rsi] + movups xmm0,XMMWORD PTR[((32-120))+rsi] + mov eax,DWORD PTR[((240-120))+rsi] + movdqu xmm2,XMMWORD PTR[r8] + movdqu xmm3,XMMWORD PTR[r9] pxor xmm2,xmm12 - movdqu xmm4,XMMWORD PTR[r10] + movdqu xmm4,XMMWORD PTR[r10] pxor xmm3,xmm12 - movdqu xmm5,XMMWORD PTR[r11] + movdqu xmm5,XMMWORD PTR[r11] pxor xmm4,xmm12 pxor xmm5,xmm12 - movdqa xmm10,XMMWORD PTR[32+rsp] + movdqa xmm10,XMMWORD PTR[32+rsp] xor rbx,rbx - jmp $L$oop_dec4x + jmp $L$oop_dec4x ALIGN 32 -$L$oop_dec4x:: +$L$oop_dec4x:: add rbx,16 - lea rbp,QWORD PTR[16+rsp] + lea rbp,QWORD PTR[16+rsp] mov ecx,1 sub rbp,rbx @@ -453,39 +453,39 @@ DB 102,15,56,222,217 prefetcht0 [31+rbx*1+r11] DB 102,15,56,222,225 DB 102,15,56,222,233 - movups xmm1,XMMWORD PTR[((48-120))+rsi] - cmp ecx,DWORD PTR[32+rsp] + movups xmm1,XMMWORD PTR[((48-120))+rsi] + cmp ecx,DWORD PTR[32+rsp] DB 102,15,56,222,208 DB 102,15,56,222,216 DB 102,15,56,222,224 cmovge r8,rbp cmovg r12,rbp DB 102,15,56,222,232 - movups xmm0,XMMWORD PTR[((-56))+rsi] - cmp ecx,DWORD PTR[36+rsp] + movups xmm0,XMMWORD PTR[((-56))+rsi] + cmp ecx,DWORD PTR[36+rsp] DB 102,15,56,222,209 DB 102,15,56,222,217 DB 102,15,56,222,225 cmovge r9,rbp cmovg r13,rbp DB 102,15,56,222,233 - movups xmm1,XMMWORD PTR[((-40))+rsi] - cmp ecx,DWORD PTR[40+rsp] + movups xmm1,XMMWORD PTR[((-40))+rsi] + cmp ecx,DWORD PTR[40+rsp] DB 102,15,56,222,208 DB 102,15,56,222,216 DB 102,15,56,222,224 cmovge r10,rbp cmovg r14,rbp DB 102,15,56,222,232 - movups xmm0,XMMWORD PTR[((-24))+rsi] - cmp ecx,DWORD PTR[44+rsp] + movups xmm0,XMMWORD PTR[((-24))+rsi] + cmp ecx,DWORD PTR[44+rsp] DB 102,15,56,222,209 DB 102,15,56,222,217 DB 102,15,56,222,225 cmovge r11,rbp cmovg r15,rbp DB 102,15,56,222,233 - movups xmm1,XMMWORD PTR[((-8))+rsi] + movups xmm1,XMMWORD PTR[((-8))+rsi] movdqa xmm11,xmm10 DB 102,15,56,222,208 prefetcht0 [15+rbx*1+r12] @@ -495,18 +495,18 @@ DB 102,15,56,222,216 prefetcht0 [15+rbx*1+r15] DB 102,15,56,222,224 DB 102,15,56,222,232 - movups xmm0,XMMWORD PTR[((128-120))+rsi] + movups xmm0,XMMWORD PTR[((128-120))+rsi] pxor xmm12,xmm12 DB 102,15,56,222,209 pcmpgtd xmm11,xmm12 - movdqu xmm12,XMMWORD PTR[((-120))+rsi] + movdqu xmm12,XMMWORD PTR[((-120))+rsi] DB 102,15,56,222,217 paddd xmm10,xmm11 - movdqa XMMWORD PTR[32+rsp],xmm10 + movdqa XMMWORD PTR[32+rsp],xmm10 DB 102,15,56,222,225 DB 102,15,56,222,233 - movups xmm1,XMMWORD PTR[((144-120))+rsi] + movups xmm1,XMMWORD PTR[((144-120))+rsi] cmp eax,11 @@ -514,129 +514,129 @@ DB 102,15,56,222,208 DB 102,15,56,222,216 DB 102,15,56,222,224 DB 102,15,56,222,232 - movups xmm0,XMMWORD PTR[((160-120))+rsi] + movups xmm0,XMMWORD PTR[((160-120))+rsi] - jb $L$dec4x_tail + jb $L$dec4x_tail DB 102,15,56,222,209 DB 102,15,56,222,217 DB 102,15,56,222,225 DB 102,15,56,222,233 - movups xmm1,XMMWORD PTR[((176-120))+rsi] + movups xmm1,XMMWORD PTR[((176-120))+rsi] DB 102,15,56,222,208 DB 102,15,56,222,216 DB 102,15,56,222,224 DB 102,15,56,222,232 - movups xmm0,XMMWORD PTR[((192-120))+rsi] + movups xmm0,XMMWORD PTR[((192-120))+rsi] - je $L$dec4x_tail + je $L$dec4x_tail DB 102,15,56,222,209 DB 102,15,56,222,217 DB 102,15,56,222,225 DB 102,15,56,222,233 - movups xmm1,XMMWORD PTR[((208-120))+rsi] + movups xmm1,XMMWORD PTR[((208-120))+rsi] DB 102,15,56,222,208 DB 102,15,56,222,216 DB 102,15,56,222,224 DB 102,15,56,222,232 - movups xmm0,XMMWORD PTR[((224-120))+rsi] - jmp $L$dec4x_tail + movups xmm0,XMMWORD PTR[((224-120))+rsi] + jmp $L$dec4x_tail ALIGN 32 -$L$dec4x_tail:: +$L$dec4x_tail:: DB 102,15,56,222,209 DB 102,15,56,222,217 DB 102,15,56,222,225 pxor xmm6,xmm0 pxor xmm7,xmm0 DB 102,15,56,222,233 - movdqu xmm1,XMMWORD PTR[((16-120))+rsi] + movdqu xmm1,XMMWORD PTR[((16-120))+rsi] pxor xmm8,xmm0 pxor xmm9,xmm0 - movdqu xmm0,XMMWORD PTR[((32-120))+rsi] + movdqu xmm0,XMMWORD PTR[((32-120))+rsi] DB 102,15,56,223,214 DB 102,15,56,223,223 - movdqu xmm6,XMMWORD PTR[((-16))+rbx*1+r8] - movdqu xmm7,XMMWORD PTR[((-16))+rbx*1+r9] + movdqu xmm6,XMMWORD PTR[((-16))+rbx*1+r8] + movdqu xmm7,XMMWORD PTR[((-16))+rbx*1+r9] DB 102,65,15,56,223,224 DB 102,65,15,56,223,233 - movdqu xmm8,XMMWORD PTR[((-16))+rbx*1+r10] - movdqu xmm9,XMMWORD PTR[((-16))+rbx*1+r11] + movdqu xmm8,XMMWORD PTR[((-16))+rbx*1+r10] + movdqu xmm9,XMMWORD PTR[((-16))+rbx*1+r11] - movups XMMWORD PTR[(-16)+rbx*1+r12],xmm2 - movdqu xmm2,XMMWORD PTR[rbx*1+r8] - movups XMMWORD PTR[(-16)+rbx*1+r13],xmm3 - movdqu xmm3,XMMWORD PTR[rbx*1+r9] + movups XMMWORD PTR[(-16)+rbx*1+r12],xmm2 + movdqu xmm2,XMMWORD PTR[rbx*1+r8] + movups XMMWORD PTR[(-16)+rbx*1+r13],xmm3 + movdqu xmm3,XMMWORD PTR[rbx*1+r9] pxor xmm2,xmm12 - movups XMMWORD PTR[(-16)+rbx*1+r14],xmm4 - movdqu xmm4,XMMWORD PTR[rbx*1+r10] + movups XMMWORD PTR[(-16)+rbx*1+r14],xmm4 + movdqu xmm4,XMMWORD PTR[rbx*1+r10] pxor xmm3,xmm12 - movups XMMWORD PTR[(-16)+rbx*1+r15],xmm5 - movdqu xmm5,XMMWORD PTR[rbx*1+r11] + movups XMMWORD PTR[(-16)+rbx*1+r15],xmm5 + movdqu xmm5,XMMWORD PTR[rbx*1+r11] pxor xmm4,xmm12 pxor xmm5,xmm12 dec edx - jnz $L$oop_dec4x + jnz $L$oop_dec4x - mov rax,QWORD PTR[16+rsp] + mov rax,QWORD PTR[16+rsp] - mov edx,DWORD PTR[24+rsp] + mov edx,DWORD PTR[24+rsp] - lea rdi,QWORD PTR[160+rdi] + lea rdi,QWORD PTR[160+rdi] dec edx - jnz $L$dec4x_loop_grande + jnz $L$dec4x_loop_grande -$L$dec4x_done:: - movaps xmm6,XMMWORD PTR[((-216))+rax] - movaps xmm7,XMMWORD PTR[((-200))+rax] - movaps xmm8,XMMWORD PTR[((-184))+rax] - movaps xmm9,XMMWORD PTR[((-168))+rax] - movaps xmm10,XMMWORD PTR[((-152))+rax] - movaps xmm11,XMMWORD PTR[((-136))+rax] - movaps xmm12,XMMWORD PTR[((-120))+rax] +$L$dec4x_done:: + movaps xmm6,XMMWORD PTR[((-216))+rax] + movaps xmm7,XMMWORD PTR[((-200))+rax] + movaps xmm8,XMMWORD PTR[((-184))+rax] + movaps xmm9,XMMWORD PTR[((-168))+rax] + movaps xmm10,XMMWORD PTR[((-152))+rax] + movaps xmm11,XMMWORD PTR[((-136))+rax] + movaps xmm12,XMMWORD PTR[((-120))+rax] - mov r15,QWORD PTR[((-48))+rax] + mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] + mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] + mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] + mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$dec4x_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$dec4x_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_multi_cbc_decrypt:: -aesni_multi_cbc_decrypt ENDP +$L$SEH_end_aesni_multi_cbc_decrypt:: +aesni_multi_cbc_decrypt ENDP ALIGN 32 -aesni_multi_cbc_encrypt_avx PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_multi_cbc_encrypt_avx PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_multi_cbc_encrypt_avx:: +$L$SEH_begin_aesni_multi_cbc_encrypt_avx:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -_avx_cbc_enc_shortcut:: +_avx_cbc_enc_shortcut:: mov rax,rsp push rbx @@ -651,17 +651,17 @@ _avx_cbc_enc_shortcut:: push r15 - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 - movaps XMMWORD PTR[64+rsp],xmm10 - movaps XMMWORD PTR[80+rsp],xmm11 - movaps XMMWORD PTR[(-120)+rax],xmm12 - movaps XMMWORD PTR[(-104)+rax],xmm13 - movaps XMMWORD PTR[(-88)+rax],xmm14 - movaps XMMWORD PTR[(-72)+rax],xmm15 + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 + movaps XMMWORD PTR[64+rsp],xmm10 + movaps XMMWORD PTR[80+rsp],xmm11 + movaps XMMWORD PTR[(-120)+rax],xmm12 + movaps XMMWORD PTR[(-104)+rax],xmm13 + movaps XMMWORD PTR[(-88)+rax],xmm14 + movaps XMMWORD PTR[(-72)+rax],xmm15 @@ -672,302 +672,302 @@ _avx_cbc_enc_shortcut:: sub rsp,192 and rsp,-128 - mov QWORD PTR[16+rsp],rax + mov QWORD PTR[16+rsp],rax -$L$enc8x_body:: +$L$enc8x_body:: vzeroupper - vmovdqu xmm15,XMMWORD PTR[rsi] - lea rsi,QWORD PTR[120+rsi] - lea rdi,QWORD PTR[160+rdi] + vmovdqu xmm15,XMMWORD PTR[rsi] + lea rsi,QWORD PTR[120+rsi] + lea rdi,QWORD PTR[160+rdi] shr edx,1 -$L$enc8x_loop_grande:: +$L$enc8x_loop_grande:: xor edx,edx - mov ecx,DWORD PTR[((-144))+rdi] - mov r8,QWORD PTR[((-160))+rdi] + mov ecx,DWORD PTR[((-144))+rdi] + mov r8,QWORD PTR[((-160))+rdi] cmp ecx,edx - mov rbx,QWORD PTR[((-152))+rdi] + mov rbx,QWORD PTR[((-152))+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm2,XMMWORD PTR[((-136))+rdi] - mov DWORD PTR[32+rsp],ecx + vmovdqu xmm2,XMMWORD PTR[((-136))+rdi] + mov DWORD PTR[32+rsp],ecx cmovle r8,rsp sub rbx,r8 - mov QWORD PTR[64+rsp],rbx - mov ecx,DWORD PTR[((-104))+rdi] - mov r9,QWORD PTR[((-120))+rdi] + mov QWORD PTR[64+rsp],rbx + mov ecx,DWORD PTR[((-104))+rdi] + mov r9,QWORD PTR[((-120))+rdi] cmp ecx,edx - mov rbp,QWORD PTR[((-112))+rdi] + mov rbp,QWORD PTR[((-112))+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm3,XMMWORD PTR[((-96))+rdi] - mov DWORD PTR[36+rsp],ecx + vmovdqu xmm3,XMMWORD PTR[((-96))+rdi] + mov DWORD PTR[36+rsp],ecx cmovle r9,rsp sub rbp,r9 - mov QWORD PTR[72+rsp],rbp - mov ecx,DWORD PTR[((-64))+rdi] - mov r10,QWORD PTR[((-80))+rdi] + mov QWORD PTR[72+rsp],rbp + mov ecx,DWORD PTR[((-64))+rdi] + mov r10,QWORD PTR[((-80))+rdi] cmp ecx,edx - mov rbp,QWORD PTR[((-72))+rdi] + mov rbp,QWORD PTR[((-72))+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm4,XMMWORD PTR[((-56))+rdi] - mov DWORD PTR[40+rsp],ecx + vmovdqu xmm4,XMMWORD PTR[((-56))+rdi] + mov DWORD PTR[40+rsp],ecx cmovle r10,rsp sub rbp,r10 - mov QWORD PTR[80+rsp],rbp - mov ecx,DWORD PTR[((-24))+rdi] - mov r11,QWORD PTR[((-40))+rdi] + mov QWORD PTR[80+rsp],rbp + mov ecx,DWORD PTR[((-24))+rdi] + mov r11,QWORD PTR[((-40))+rdi] cmp ecx,edx - mov rbp,QWORD PTR[((-32))+rdi] + mov rbp,QWORD PTR[((-32))+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm5,XMMWORD PTR[((-16))+rdi] - mov DWORD PTR[44+rsp],ecx + vmovdqu xmm5,XMMWORD PTR[((-16))+rdi] + mov DWORD PTR[44+rsp],ecx cmovle r11,rsp sub rbp,r11 - mov QWORD PTR[88+rsp],rbp - mov ecx,DWORD PTR[16+rdi] - mov r12,QWORD PTR[rdi] + mov QWORD PTR[88+rsp],rbp + mov ecx,DWORD PTR[16+rdi] + mov r12,QWORD PTR[rdi] cmp ecx,edx - mov rbp,QWORD PTR[8+rdi] + mov rbp,QWORD PTR[8+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm6,XMMWORD PTR[24+rdi] - mov DWORD PTR[48+rsp],ecx + vmovdqu xmm6,XMMWORD PTR[24+rdi] + mov DWORD PTR[48+rsp],ecx cmovle r12,rsp sub rbp,r12 - mov QWORD PTR[96+rsp],rbp - mov ecx,DWORD PTR[56+rdi] - mov r13,QWORD PTR[40+rdi] + mov QWORD PTR[96+rsp],rbp + mov ecx,DWORD PTR[56+rdi] + mov r13,QWORD PTR[40+rdi] cmp ecx,edx - mov rbp,QWORD PTR[48+rdi] + mov rbp,QWORD PTR[48+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm7,XMMWORD PTR[64+rdi] - mov DWORD PTR[52+rsp],ecx + vmovdqu xmm7,XMMWORD PTR[64+rdi] + mov DWORD PTR[52+rsp],ecx cmovle r13,rsp sub rbp,r13 - mov QWORD PTR[104+rsp],rbp - mov ecx,DWORD PTR[96+rdi] - mov r14,QWORD PTR[80+rdi] + mov QWORD PTR[104+rsp],rbp + mov ecx,DWORD PTR[96+rdi] + mov r14,QWORD PTR[80+rdi] cmp ecx,edx - mov rbp,QWORD PTR[88+rdi] + mov rbp,QWORD PTR[88+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm8,XMMWORD PTR[104+rdi] - mov DWORD PTR[56+rsp],ecx + vmovdqu xmm8,XMMWORD PTR[104+rdi] + mov DWORD PTR[56+rsp],ecx cmovle r14,rsp sub rbp,r14 - mov QWORD PTR[112+rsp],rbp - mov ecx,DWORD PTR[136+rdi] - mov r15,QWORD PTR[120+rdi] + mov QWORD PTR[112+rsp],rbp + mov ecx,DWORD PTR[136+rdi] + mov r15,QWORD PTR[120+rdi] cmp ecx,edx - mov rbp,QWORD PTR[128+rdi] + mov rbp,QWORD PTR[128+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm9,XMMWORD PTR[144+rdi] - mov DWORD PTR[60+rsp],ecx + vmovdqu xmm9,XMMWORD PTR[144+rdi] + mov DWORD PTR[60+rsp],ecx cmovle r15,rsp sub rbp,r15 - mov QWORD PTR[120+rsp],rbp + mov QWORD PTR[120+rsp],rbp test edx,edx - jz $L$enc8x_done + jz $L$enc8x_done - vmovups xmm1,XMMWORD PTR[((16-120))+rsi] - vmovups xmm0,XMMWORD PTR[((32-120))+rsi] - mov eax,DWORD PTR[((240-120))+rsi] + vmovups xmm1,XMMWORD PTR[((16-120))+rsi] + vmovups xmm0,XMMWORD PTR[((32-120))+rsi] + mov eax,DWORD PTR[((240-120))+rsi] - vpxor xmm10,xmm15,XMMWORD PTR[r8] - lea rbp,QWORD PTR[128+rsp] - vpxor xmm11,xmm15,XMMWORD PTR[r9] - vpxor xmm12,xmm15,XMMWORD PTR[r10] - vpxor xmm13,xmm15,XMMWORD PTR[r11] + vpxor xmm10,xmm15,XMMWORD PTR[r8] + lea rbp,QWORD PTR[128+rsp] + vpxor xmm11,xmm15,XMMWORD PTR[r9] + vpxor xmm12,xmm15,XMMWORD PTR[r10] + vpxor xmm13,xmm15,XMMWORD PTR[r11] vpxor xmm2,xmm2,xmm10 - vpxor xmm10,xmm15,XMMWORD PTR[r12] + vpxor xmm10,xmm15,XMMWORD PTR[r12] vpxor xmm3,xmm3,xmm11 - vpxor xmm11,xmm15,XMMWORD PTR[r13] + vpxor xmm11,xmm15,XMMWORD PTR[r13] vpxor xmm4,xmm4,xmm12 - vpxor xmm12,xmm15,XMMWORD PTR[r14] + vpxor xmm12,xmm15,XMMWORD PTR[r14] vpxor xmm5,xmm5,xmm13 - vpxor xmm13,xmm15,XMMWORD PTR[r15] + vpxor xmm13,xmm15,XMMWORD PTR[r15] vpxor xmm6,xmm6,xmm10 mov ecx,1 vpxor xmm7,xmm7,xmm11 vpxor xmm8,xmm8,xmm12 vpxor xmm9,xmm9,xmm13 - jmp $L$oop_enc8x + jmp $L$oop_enc8x ALIGN 32 -$L$oop_enc8x:: +$L$oop_enc8x:: vaesenc xmm2,xmm2,xmm1 - cmp ecx,DWORD PTR[((32+0))+rsp] + cmp ecx,DWORD PTR[((32+0))+rsp] vaesenc xmm3,xmm3,xmm1 prefetcht0 [31+r8] vaesenc xmm4,xmm4,xmm1 vaesenc xmm5,xmm5,xmm1 - lea rbx,QWORD PTR[rbx*1+r8] + lea rbx,QWORD PTR[rbx*1+r8] cmovge r8,rsp vaesenc xmm6,xmm6,xmm1 cmovg rbx,rsp vaesenc xmm7,xmm7,xmm1 sub rbx,r8 vaesenc xmm8,xmm8,xmm1 - vpxor xmm10,xmm15,XMMWORD PTR[16+r8] - mov QWORD PTR[((64+0))+rsp],rbx + vpxor xmm10,xmm15,XMMWORD PTR[16+r8] + mov QWORD PTR[((64+0))+rsp],rbx vaesenc xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD PTR[((-72))+rsi] - lea r8,QWORD PTR[16+rbx*1+r8] - vmovdqu XMMWORD PTR[rbp],xmm10 + vmovups xmm1,XMMWORD PTR[((-72))+rsi] + lea r8,QWORD PTR[16+rbx*1+r8] + vmovdqu XMMWORD PTR[rbp],xmm10 vaesenc xmm2,xmm2,xmm0 - cmp ecx,DWORD PTR[((32+4))+rsp] - mov rbx,QWORD PTR[((64+8))+rsp] + cmp ecx,DWORD PTR[((32+4))+rsp] + mov rbx,QWORD PTR[((64+8))+rsp] vaesenc xmm3,xmm3,xmm0 prefetcht0 [31+r9] vaesenc xmm4,xmm4,xmm0 vaesenc xmm5,xmm5,xmm0 - lea rbx,QWORD PTR[rbx*1+r9] + lea rbx,QWORD PTR[rbx*1+r9] cmovge r9,rsp vaesenc xmm6,xmm6,xmm0 cmovg rbx,rsp vaesenc xmm7,xmm7,xmm0 sub rbx,r9 vaesenc xmm8,xmm8,xmm0 - vpxor xmm11,xmm15,XMMWORD PTR[16+r9] - mov QWORD PTR[((64+8))+rsp],rbx + vpxor xmm11,xmm15,XMMWORD PTR[16+r9] + mov QWORD PTR[((64+8))+rsp],rbx vaesenc xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD PTR[((-56))+rsi] - lea r9,QWORD PTR[16+rbx*1+r9] - vmovdqu XMMWORD PTR[16+rbp],xmm11 + vmovups xmm0,XMMWORD PTR[((-56))+rsi] + lea r9,QWORD PTR[16+rbx*1+r9] + vmovdqu XMMWORD PTR[16+rbp],xmm11 vaesenc xmm2,xmm2,xmm1 - cmp ecx,DWORD PTR[((32+8))+rsp] - mov rbx,QWORD PTR[((64+16))+rsp] + cmp ecx,DWORD PTR[((32+8))+rsp] + mov rbx,QWORD PTR[((64+16))+rsp] vaesenc xmm3,xmm3,xmm1 prefetcht0 [31+r10] vaesenc xmm4,xmm4,xmm1 prefetcht0 [15+r8] vaesenc xmm5,xmm5,xmm1 - lea rbx,QWORD PTR[rbx*1+r10] + lea rbx,QWORD PTR[rbx*1+r10] cmovge r10,rsp vaesenc xmm6,xmm6,xmm1 cmovg rbx,rsp vaesenc xmm7,xmm7,xmm1 sub rbx,r10 vaesenc xmm8,xmm8,xmm1 - vpxor xmm12,xmm15,XMMWORD PTR[16+r10] - mov QWORD PTR[((64+16))+rsp],rbx + vpxor xmm12,xmm15,XMMWORD PTR[16+r10] + mov QWORD PTR[((64+16))+rsp],rbx vaesenc xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD PTR[((-40))+rsi] - lea r10,QWORD PTR[16+rbx*1+r10] - vmovdqu XMMWORD PTR[32+rbp],xmm12 + vmovups xmm1,XMMWORD PTR[((-40))+rsi] + lea r10,QWORD PTR[16+rbx*1+r10] + vmovdqu XMMWORD PTR[32+rbp],xmm12 vaesenc xmm2,xmm2,xmm0 - cmp ecx,DWORD PTR[((32+12))+rsp] - mov rbx,QWORD PTR[((64+24))+rsp] + cmp ecx,DWORD PTR[((32+12))+rsp] + mov rbx,QWORD PTR[((64+24))+rsp] vaesenc xmm3,xmm3,xmm0 prefetcht0 [31+r11] vaesenc xmm4,xmm4,xmm0 prefetcht0 [15+r9] vaesenc xmm5,xmm5,xmm0 - lea rbx,QWORD PTR[rbx*1+r11] + lea rbx,QWORD PTR[rbx*1+r11] cmovge r11,rsp vaesenc xmm6,xmm6,xmm0 cmovg rbx,rsp vaesenc xmm7,xmm7,xmm0 sub rbx,r11 vaesenc xmm8,xmm8,xmm0 - vpxor xmm13,xmm15,XMMWORD PTR[16+r11] - mov QWORD PTR[((64+24))+rsp],rbx + vpxor xmm13,xmm15,XMMWORD PTR[16+r11] + mov QWORD PTR[((64+24))+rsp],rbx vaesenc xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD PTR[((-24))+rsi] - lea r11,QWORD PTR[16+rbx*1+r11] - vmovdqu XMMWORD PTR[48+rbp],xmm13 + vmovups xmm0,XMMWORD PTR[((-24))+rsi] + lea r11,QWORD PTR[16+rbx*1+r11] + vmovdqu XMMWORD PTR[48+rbp],xmm13 vaesenc xmm2,xmm2,xmm1 - cmp ecx,DWORD PTR[((32+16))+rsp] - mov rbx,QWORD PTR[((64+32))+rsp] + cmp ecx,DWORD PTR[((32+16))+rsp] + mov rbx,QWORD PTR[((64+32))+rsp] vaesenc xmm3,xmm3,xmm1 prefetcht0 [31+r12] vaesenc xmm4,xmm4,xmm1 prefetcht0 [15+r10] vaesenc xmm5,xmm5,xmm1 - lea rbx,QWORD PTR[rbx*1+r12] + lea rbx,QWORD PTR[rbx*1+r12] cmovge r12,rsp vaesenc xmm6,xmm6,xmm1 cmovg rbx,rsp vaesenc xmm7,xmm7,xmm1 sub rbx,r12 vaesenc xmm8,xmm8,xmm1 - vpxor xmm10,xmm15,XMMWORD PTR[16+r12] - mov QWORD PTR[((64+32))+rsp],rbx + vpxor xmm10,xmm15,XMMWORD PTR[16+r12] + mov QWORD PTR[((64+32))+rsp],rbx vaesenc xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD PTR[((-8))+rsi] - lea r12,QWORD PTR[16+rbx*1+r12] + vmovups xmm1,XMMWORD PTR[((-8))+rsi] + lea r12,QWORD PTR[16+rbx*1+r12] vaesenc xmm2,xmm2,xmm0 - cmp ecx,DWORD PTR[((32+20))+rsp] - mov rbx,QWORD PTR[((64+40))+rsp] + cmp ecx,DWORD PTR[((32+20))+rsp] + mov rbx,QWORD PTR[((64+40))+rsp] vaesenc xmm3,xmm3,xmm0 prefetcht0 [31+r13] vaesenc xmm4,xmm4,xmm0 prefetcht0 [15+r11] vaesenc xmm5,xmm5,xmm0 - lea rbx,QWORD PTR[r13*1+rbx] + lea rbx,QWORD PTR[r13*1+rbx] cmovge r13,rsp vaesenc xmm6,xmm6,xmm0 cmovg rbx,rsp vaesenc xmm7,xmm7,xmm0 sub rbx,r13 vaesenc xmm8,xmm8,xmm0 - vpxor xmm11,xmm15,XMMWORD PTR[16+r13] - mov QWORD PTR[((64+40))+rsp],rbx + vpxor xmm11,xmm15,XMMWORD PTR[16+r13] + mov QWORD PTR[((64+40))+rsp],rbx vaesenc xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD PTR[8+rsi] - lea r13,QWORD PTR[16+rbx*1+r13] + vmovups xmm0,XMMWORD PTR[8+rsi] + lea r13,QWORD PTR[16+rbx*1+r13] vaesenc xmm2,xmm2,xmm1 - cmp ecx,DWORD PTR[((32+24))+rsp] - mov rbx,QWORD PTR[((64+48))+rsp] + cmp ecx,DWORD PTR[((32+24))+rsp] + mov rbx,QWORD PTR[((64+48))+rsp] vaesenc xmm3,xmm3,xmm1 prefetcht0 [31+r14] vaesenc xmm4,xmm4,xmm1 prefetcht0 [15+r12] vaesenc xmm5,xmm5,xmm1 - lea rbx,QWORD PTR[rbx*1+r14] + lea rbx,QWORD PTR[rbx*1+r14] cmovge r14,rsp vaesenc xmm6,xmm6,xmm1 cmovg rbx,rsp vaesenc xmm7,xmm7,xmm1 sub rbx,r14 vaesenc xmm8,xmm8,xmm1 - vpxor xmm12,xmm15,XMMWORD PTR[16+r14] - mov QWORD PTR[((64+48))+rsp],rbx + vpxor xmm12,xmm15,XMMWORD PTR[16+r14] + mov QWORD PTR[((64+48))+rsp],rbx vaesenc xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD PTR[24+rsi] - lea r14,QWORD PTR[16+rbx*1+r14] + vmovups xmm1,XMMWORD PTR[24+rsi] + lea r14,QWORD PTR[16+rbx*1+r14] vaesenc xmm2,xmm2,xmm0 - cmp ecx,DWORD PTR[((32+28))+rsp] - mov rbx,QWORD PTR[((64+56))+rsp] + cmp ecx,DWORD PTR[((32+28))+rsp] + mov rbx,QWORD PTR[((64+56))+rsp] vaesenc xmm3,xmm3,xmm0 prefetcht0 [31+r15] vaesenc xmm4,xmm4,xmm0 prefetcht0 [15+r13] vaesenc xmm5,xmm5,xmm0 - lea rbx,QWORD PTR[rbx*1+r15] + lea rbx,QWORD PTR[rbx*1+r15] cmovge r15,rsp vaesenc xmm6,xmm6,xmm0 cmovg rbx,rsp vaesenc xmm7,xmm7,xmm0 sub rbx,r15 vaesenc xmm8,xmm8,xmm0 - vpxor xmm13,xmm15,XMMWORD PTR[16+r15] - mov QWORD PTR[((64+56))+rsp],rbx + vpxor xmm13,xmm15,XMMWORD PTR[16+r15] + mov QWORD PTR[((64+56))+rsp],rbx vaesenc xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD PTR[40+rsi] - lea r15,QWORD PTR[16+rbx*1+r15] - vmovdqu xmm14,XMMWORD PTR[32+rsp] + vmovups xmm0,XMMWORD PTR[40+rsi] + lea r15,QWORD PTR[16+rbx*1+r15] + vmovdqu xmm14,XMMWORD PTR[32+rsp] prefetcht0 [15+r14] prefetcht0 [15+r15] cmp eax,11 - jb $L$enc8x_tail + jb $L$enc8x_tail vaesenc xmm2,xmm2,xmm1 vaesenc xmm3,xmm3,xmm1 @@ -977,7 +977,7 @@ $L$oop_enc8x:: vaesenc xmm7,xmm7,xmm1 vaesenc xmm8,xmm8,xmm1 vaesenc xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD PTR[((176-120))+rsi] + vmovups xmm1,XMMWORD PTR[((176-120))+rsi] vaesenc xmm2,xmm2,xmm0 vaesenc xmm3,xmm3,xmm0 @@ -987,8 +987,8 @@ $L$oop_enc8x:: vaesenc xmm7,xmm7,xmm0 vaesenc xmm8,xmm8,xmm0 vaesenc xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD PTR[((192-120))+rsi] - je $L$enc8x_tail + vmovups xmm0,XMMWORD PTR[((192-120))+rsi] + je $L$enc8x_tail vaesenc xmm2,xmm2,xmm1 vaesenc xmm3,xmm3,xmm1 @@ -998,7 +998,7 @@ $L$oop_enc8x:: vaesenc xmm7,xmm7,xmm1 vaesenc xmm8,xmm8,xmm1 vaesenc xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD PTR[((208-120))+rsi] + vmovups xmm1,XMMWORD PTR[((208-120))+rsi] vaesenc xmm2,xmm2,xmm0 vaesenc xmm3,xmm3,xmm0 @@ -1008,9 +1008,9 @@ $L$oop_enc8x:: vaesenc xmm7,xmm7,xmm0 vaesenc xmm8,xmm8,xmm0 vaesenc xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD PTR[((224-120))+rsi] + vmovups xmm0,XMMWORD PTR[((224-120))+rsi] -$L$enc8x_tail:: +$L$enc8x_tail:: vaesenc xmm2,xmm2,xmm1 vpxor xmm15,xmm15,xmm15 vaesenc xmm3,xmm3,xmm1 @@ -1019,15 +1019,15 @@ $L$enc8x_tail:: vaesenc xmm5,xmm5,xmm1 vaesenc xmm6,xmm6,xmm1 vpaddd xmm15,xmm15,xmm14 - vmovdqu xmm14,XMMWORD PTR[48+rsp] + vmovdqu xmm14,XMMWORD PTR[48+rsp] vaesenc xmm7,xmm7,xmm1 - mov rbx,QWORD PTR[64+rsp] + mov rbx,QWORD PTR[64+rsp] vaesenc xmm8,xmm8,xmm1 vaesenc xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD PTR[((16-120))+rsi] + vmovups xmm1,XMMWORD PTR[((16-120))+rsi] vaesenclast xmm2,xmm2,xmm0 - vmovdqa XMMWORD PTR[32+rsp],xmm15 + vmovdqa XMMWORD PTR[32+rsp],xmm15 vpxor xmm15,xmm15,xmm15 vaesenclast xmm3,xmm3,xmm0 vaesenclast xmm4,xmm4,xmm0 @@ -1035,96 +1035,96 @@ $L$enc8x_tail:: vaesenclast xmm5,xmm5,xmm0 vaesenclast xmm6,xmm6,xmm0 vpaddd xmm14,xmm14,xmm15 - vmovdqu xmm15,XMMWORD PTR[((-120))+rsi] + vmovdqu xmm15,XMMWORD PTR[((-120))+rsi] vaesenclast xmm7,xmm7,xmm0 vaesenclast xmm8,xmm8,xmm0 - vmovdqa XMMWORD PTR[48+rsp],xmm14 + vmovdqa XMMWORD PTR[48+rsp],xmm14 vaesenclast xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD PTR[((32-120))+rsi] + vmovups xmm0,XMMWORD PTR[((32-120))+rsi] - vmovups XMMWORD PTR[(-16)+r8],xmm2 + vmovups XMMWORD PTR[(-16)+r8],xmm2 sub r8,rbx - vpxor xmm2,xmm2,XMMWORD PTR[rbp] - vmovups XMMWORD PTR[(-16)+r9],xmm3 - sub r9,QWORD PTR[72+rsp] - vpxor xmm3,xmm3,XMMWORD PTR[16+rbp] - vmovups XMMWORD PTR[(-16)+r10],xmm4 - sub r10,QWORD PTR[80+rsp] - vpxor xmm4,xmm4,XMMWORD PTR[32+rbp] - vmovups XMMWORD PTR[(-16)+r11],xmm5 - sub r11,QWORD PTR[88+rsp] - vpxor xmm5,xmm5,XMMWORD PTR[48+rbp] - vmovups XMMWORD PTR[(-16)+r12],xmm6 - sub r12,QWORD PTR[96+rsp] + vpxor xmm2,xmm2,XMMWORD PTR[rbp] + vmovups XMMWORD PTR[(-16)+r9],xmm3 + sub r9,QWORD PTR[72+rsp] + vpxor xmm3,xmm3,XMMWORD PTR[16+rbp] + vmovups XMMWORD PTR[(-16)+r10],xmm4 + sub r10,QWORD PTR[80+rsp] + vpxor xmm4,xmm4,XMMWORD PTR[32+rbp] + vmovups XMMWORD PTR[(-16)+r11],xmm5 + sub r11,QWORD PTR[88+rsp] + vpxor xmm5,xmm5,XMMWORD PTR[48+rbp] + vmovups XMMWORD PTR[(-16)+r12],xmm6 + sub r12,QWORD PTR[96+rsp] vpxor xmm6,xmm6,xmm10 - vmovups XMMWORD PTR[(-16)+r13],xmm7 - sub r13,QWORD PTR[104+rsp] + vmovups XMMWORD PTR[(-16)+r13],xmm7 + sub r13,QWORD PTR[104+rsp] vpxor xmm7,xmm7,xmm11 - vmovups XMMWORD PTR[(-16)+r14],xmm8 - sub r14,QWORD PTR[112+rsp] + vmovups XMMWORD PTR[(-16)+r14],xmm8 + sub r14,QWORD PTR[112+rsp] vpxor xmm8,xmm8,xmm12 - vmovups XMMWORD PTR[(-16)+r15],xmm9 - sub r15,QWORD PTR[120+rsp] + vmovups XMMWORD PTR[(-16)+r15],xmm9 + sub r15,QWORD PTR[120+rsp] vpxor xmm9,xmm9,xmm13 dec edx - jnz $L$oop_enc8x + jnz $L$oop_enc8x - mov rax,QWORD PTR[16+rsp] + mov rax,QWORD PTR[16+rsp] -$L$enc8x_done:: +$L$enc8x_done:: vzeroupper - movaps xmm6,XMMWORD PTR[((-216))+rax] - movaps xmm7,XMMWORD PTR[((-200))+rax] - movaps xmm8,XMMWORD PTR[((-184))+rax] - movaps xmm9,XMMWORD PTR[((-168))+rax] - movaps xmm10,XMMWORD PTR[((-152))+rax] - movaps xmm11,XMMWORD PTR[((-136))+rax] - movaps xmm12,XMMWORD PTR[((-120))+rax] - movaps xmm13,XMMWORD PTR[((-104))+rax] - movaps xmm14,XMMWORD PTR[((-88))+rax] - movaps xmm15,XMMWORD PTR[((-72))+rax] - mov r15,QWORD PTR[((-48))+rax] + movaps xmm6,XMMWORD PTR[((-216))+rax] + movaps xmm7,XMMWORD PTR[((-200))+rax] + movaps xmm8,XMMWORD PTR[((-184))+rax] + movaps xmm9,XMMWORD PTR[((-168))+rax] + movaps xmm10,XMMWORD PTR[((-152))+rax] + movaps xmm11,XMMWORD PTR[((-136))+rax] + movaps xmm12,XMMWORD PTR[((-120))+rax] + movaps xmm13,XMMWORD PTR[((-104))+rax] + movaps xmm14,XMMWORD PTR[((-88))+rax] + movaps xmm15,XMMWORD PTR[((-72))+rax] + mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] + mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] + mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] + mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$enc8x_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$enc8x_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_multi_cbc_encrypt_avx:: -aesni_multi_cbc_encrypt_avx ENDP +$L$SEH_end_aesni_multi_cbc_encrypt_avx:: +aesni_multi_cbc_encrypt_avx ENDP ALIGN 32 -aesni_multi_cbc_decrypt_avx PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_multi_cbc_decrypt_avx PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_multi_cbc_decrypt_avx:: +$L$SEH_begin_aesni_multi_cbc_decrypt_avx:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -_avx_cbc_dec_shortcut:: +_avx_cbc_dec_shortcut:: mov rax,rsp push rbx @@ -1139,17 +1139,17 @@ _avx_cbc_dec_shortcut:: push r15 - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 - movaps XMMWORD PTR[64+rsp],xmm10 - movaps XMMWORD PTR[80+rsp],xmm11 - movaps XMMWORD PTR[(-120)+rax],xmm12 - movaps XMMWORD PTR[(-104)+rax],xmm13 - movaps XMMWORD PTR[(-88)+rax],xmm14 - movaps XMMWORD PTR[(-72)+rax],xmm15 + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 + movaps XMMWORD PTR[64+rsp],xmm10 + movaps XMMWORD PTR[80+rsp],xmm11 + movaps XMMWORD PTR[(-120)+rax],xmm12 + movaps XMMWORD PTR[(-104)+rax],xmm13 + movaps XMMWORD PTR[(-88)+rax],xmm14 + movaps XMMWORD PTR[(-72)+rax],xmm15 @@ -1162,319 +1162,319 @@ _avx_cbc_dec_shortcut:: sub rsp,256 and rsp,-256 sub rsp,192 - mov QWORD PTR[16+rsp],rax + mov QWORD PTR[16+rsp],rax -$L$dec8x_body:: +$L$dec8x_body:: vzeroupper - vmovdqu xmm15,XMMWORD PTR[rsi] - lea rsi,QWORD PTR[120+rsi] - lea rdi,QWORD PTR[160+rdi] + vmovdqu xmm15,XMMWORD PTR[rsi] + lea rsi,QWORD PTR[120+rsi] + lea rdi,QWORD PTR[160+rdi] shr edx,1 -$L$dec8x_loop_grande:: +$L$dec8x_loop_grande:: xor edx,edx - mov ecx,DWORD PTR[((-144))+rdi] - mov r8,QWORD PTR[((-160))+rdi] + mov ecx,DWORD PTR[((-144))+rdi] + mov r8,QWORD PTR[((-160))+rdi] cmp ecx,edx - mov rbx,QWORD PTR[((-152))+rdi] + mov rbx,QWORD PTR[((-152))+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm2,XMMWORD PTR[((-136))+rdi] - mov DWORD PTR[32+rsp],ecx + vmovdqu xmm2,XMMWORD PTR[((-136))+rdi] + mov DWORD PTR[32+rsp],ecx cmovle r8,rsp sub rbx,r8 - mov QWORD PTR[64+rsp],rbx - vmovdqu XMMWORD PTR[192+rsp],xmm2 - mov ecx,DWORD PTR[((-104))+rdi] - mov r9,QWORD PTR[((-120))+rdi] + mov QWORD PTR[64+rsp],rbx + vmovdqu XMMWORD PTR[192+rsp],xmm2 + mov ecx,DWORD PTR[((-104))+rdi] + mov r9,QWORD PTR[((-120))+rdi] cmp ecx,edx - mov rbp,QWORD PTR[((-112))+rdi] + mov rbp,QWORD PTR[((-112))+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm3,XMMWORD PTR[((-96))+rdi] - mov DWORD PTR[36+rsp],ecx + vmovdqu xmm3,XMMWORD PTR[((-96))+rdi] + mov DWORD PTR[36+rsp],ecx cmovle r9,rsp sub rbp,r9 - mov QWORD PTR[72+rsp],rbp - vmovdqu XMMWORD PTR[208+rsp],xmm3 - mov ecx,DWORD PTR[((-64))+rdi] - mov r10,QWORD PTR[((-80))+rdi] + mov QWORD PTR[72+rsp],rbp + vmovdqu XMMWORD PTR[208+rsp],xmm3 + mov ecx,DWORD PTR[((-64))+rdi] + mov r10,QWORD PTR[((-80))+rdi] cmp ecx,edx - mov rbp,QWORD PTR[((-72))+rdi] + mov rbp,QWORD PTR[((-72))+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm4,XMMWORD PTR[((-56))+rdi] - mov DWORD PTR[40+rsp],ecx + vmovdqu xmm4,XMMWORD PTR[((-56))+rdi] + mov DWORD PTR[40+rsp],ecx cmovle r10,rsp sub rbp,r10 - mov QWORD PTR[80+rsp],rbp - vmovdqu XMMWORD PTR[224+rsp],xmm4 - mov ecx,DWORD PTR[((-24))+rdi] - mov r11,QWORD PTR[((-40))+rdi] + mov QWORD PTR[80+rsp],rbp + vmovdqu XMMWORD PTR[224+rsp],xmm4 + mov ecx,DWORD PTR[((-24))+rdi] + mov r11,QWORD PTR[((-40))+rdi] cmp ecx,edx - mov rbp,QWORD PTR[((-32))+rdi] + mov rbp,QWORD PTR[((-32))+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm5,XMMWORD PTR[((-16))+rdi] - mov DWORD PTR[44+rsp],ecx + vmovdqu xmm5,XMMWORD PTR[((-16))+rdi] + mov DWORD PTR[44+rsp],ecx cmovle r11,rsp sub rbp,r11 - mov QWORD PTR[88+rsp],rbp - vmovdqu XMMWORD PTR[240+rsp],xmm5 - mov ecx,DWORD PTR[16+rdi] - mov r12,QWORD PTR[rdi] + mov QWORD PTR[88+rsp],rbp + vmovdqu XMMWORD PTR[240+rsp],xmm5 + mov ecx,DWORD PTR[16+rdi] + mov r12,QWORD PTR[rdi] cmp ecx,edx - mov rbp,QWORD PTR[8+rdi] + mov rbp,QWORD PTR[8+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm6,XMMWORD PTR[24+rdi] - mov DWORD PTR[48+rsp],ecx + vmovdqu xmm6,XMMWORD PTR[24+rdi] + mov DWORD PTR[48+rsp],ecx cmovle r12,rsp sub rbp,r12 - mov QWORD PTR[96+rsp],rbp - vmovdqu XMMWORD PTR[256+rsp],xmm6 - mov ecx,DWORD PTR[56+rdi] - mov r13,QWORD PTR[40+rdi] + mov QWORD PTR[96+rsp],rbp + vmovdqu XMMWORD PTR[256+rsp],xmm6 + mov ecx,DWORD PTR[56+rdi] + mov r13,QWORD PTR[40+rdi] cmp ecx,edx - mov rbp,QWORD PTR[48+rdi] + mov rbp,QWORD PTR[48+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm7,XMMWORD PTR[64+rdi] - mov DWORD PTR[52+rsp],ecx + vmovdqu xmm7,XMMWORD PTR[64+rdi] + mov DWORD PTR[52+rsp],ecx cmovle r13,rsp sub rbp,r13 - mov QWORD PTR[104+rsp],rbp - vmovdqu XMMWORD PTR[272+rsp],xmm7 - mov ecx,DWORD PTR[96+rdi] - mov r14,QWORD PTR[80+rdi] + mov QWORD PTR[104+rsp],rbp + vmovdqu XMMWORD PTR[272+rsp],xmm7 + mov ecx,DWORD PTR[96+rdi] + mov r14,QWORD PTR[80+rdi] cmp ecx,edx - mov rbp,QWORD PTR[88+rdi] + mov rbp,QWORD PTR[88+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm8,XMMWORD PTR[104+rdi] - mov DWORD PTR[56+rsp],ecx + vmovdqu xmm8,XMMWORD PTR[104+rdi] + mov DWORD PTR[56+rsp],ecx cmovle r14,rsp sub rbp,r14 - mov QWORD PTR[112+rsp],rbp - vmovdqu XMMWORD PTR[288+rsp],xmm8 - mov ecx,DWORD PTR[136+rdi] - mov r15,QWORD PTR[120+rdi] + mov QWORD PTR[112+rsp],rbp + vmovdqu XMMWORD PTR[288+rsp],xmm8 + mov ecx,DWORD PTR[136+rdi] + mov r15,QWORD PTR[120+rdi] cmp ecx,edx - mov rbp,QWORD PTR[128+rdi] + mov rbp,QWORD PTR[128+rdi] cmovg edx,ecx test ecx,ecx - vmovdqu xmm9,XMMWORD PTR[144+rdi] - mov DWORD PTR[60+rsp],ecx + vmovdqu xmm9,XMMWORD PTR[144+rdi] + mov DWORD PTR[60+rsp],ecx cmovle r15,rsp sub rbp,r15 - mov QWORD PTR[120+rsp],rbp - vmovdqu XMMWORD PTR[304+rsp],xmm9 + mov QWORD PTR[120+rsp],rbp + vmovdqu XMMWORD PTR[304+rsp],xmm9 test edx,edx - jz $L$dec8x_done - - vmovups xmm1,XMMWORD PTR[((16-120))+rsi] - vmovups xmm0,XMMWORD PTR[((32-120))+rsi] - mov eax,DWORD PTR[((240-120))+rsi] - lea rbp,QWORD PTR[((192+128))+rsp] - - vmovdqu xmm2,XMMWORD PTR[r8] - vmovdqu xmm3,XMMWORD PTR[r9] - vmovdqu xmm4,XMMWORD PTR[r10] - vmovdqu xmm5,XMMWORD PTR[r11] - vmovdqu xmm6,XMMWORD PTR[r12] - vmovdqu xmm7,XMMWORD PTR[r13] - vmovdqu xmm8,XMMWORD PTR[r14] - vmovdqu xmm9,XMMWORD PTR[r15] - vmovdqu XMMWORD PTR[rbp],xmm2 + jz $L$dec8x_done + + vmovups xmm1,XMMWORD PTR[((16-120))+rsi] + vmovups xmm0,XMMWORD PTR[((32-120))+rsi] + mov eax,DWORD PTR[((240-120))+rsi] + lea rbp,QWORD PTR[((192+128))+rsp] + + vmovdqu xmm2,XMMWORD PTR[r8] + vmovdqu xmm3,XMMWORD PTR[r9] + vmovdqu xmm4,XMMWORD PTR[r10] + vmovdqu xmm5,XMMWORD PTR[r11] + vmovdqu xmm6,XMMWORD PTR[r12] + vmovdqu xmm7,XMMWORD PTR[r13] + vmovdqu xmm8,XMMWORD PTR[r14] + vmovdqu xmm9,XMMWORD PTR[r15] + vmovdqu XMMWORD PTR[rbp],xmm2 vpxor xmm2,xmm2,xmm15 - vmovdqu XMMWORD PTR[16+rbp],xmm3 + vmovdqu XMMWORD PTR[16+rbp],xmm3 vpxor xmm3,xmm3,xmm15 - vmovdqu XMMWORD PTR[32+rbp],xmm4 + vmovdqu XMMWORD PTR[32+rbp],xmm4 vpxor xmm4,xmm4,xmm15 - vmovdqu XMMWORD PTR[48+rbp],xmm5 + vmovdqu XMMWORD PTR[48+rbp],xmm5 vpxor xmm5,xmm5,xmm15 - vmovdqu XMMWORD PTR[64+rbp],xmm6 + vmovdqu XMMWORD PTR[64+rbp],xmm6 vpxor xmm6,xmm6,xmm15 - vmovdqu XMMWORD PTR[80+rbp],xmm7 + vmovdqu XMMWORD PTR[80+rbp],xmm7 vpxor xmm7,xmm7,xmm15 - vmovdqu XMMWORD PTR[96+rbp],xmm8 + vmovdqu XMMWORD PTR[96+rbp],xmm8 vpxor xmm8,xmm8,xmm15 - vmovdqu XMMWORD PTR[112+rbp],xmm9 + vmovdqu XMMWORD PTR[112+rbp],xmm9 vpxor xmm9,xmm9,xmm15 - xor rbp,080h + xor rbp,080h mov ecx,1 - jmp $L$oop_dec8x + jmp $L$oop_dec8x ALIGN 32 -$L$oop_dec8x:: +$L$oop_dec8x:: vaesdec xmm2,xmm2,xmm1 - cmp ecx,DWORD PTR[((32+0))+rsp] + cmp ecx,DWORD PTR[((32+0))+rsp] vaesdec xmm3,xmm3,xmm1 prefetcht0 [31+r8] vaesdec xmm4,xmm4,xmm1 vaesdec xmm5,xmm5,xmm1 - lea rbx,QWORD PTR[rbx*1+r8] + lea rbx,QWORD PTR[rbx*1+r8] cmovge r8,rsp vaesdec xmm6,xmm6,xmm1 cmovg rbx,rsp vaesdec xmm7,xmm7,xmm1 sub rbx,r8 vaesdec xmm8,xmm8,xmm1 - vmovdqu xmm10,XMMWORD PTR[16+r8] - mov QWORD PTR[((64+0))+rsp],rbx + vmovdqu xmm10,XMMWORD PTR[16+r8] + mov QWORD PTR[((64+0))+rsp],rbx vaesdec xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD PTR[((-72))+rsi] - lea r8,QWORD PTR[16+rbx*1+r8] - vmovdqu XMMWORD PTR[128+rsp],xmm10 + vmovups xmm1,XMMWORD PTR[((-72))+rsi] + lea r8,QWORD PTR[16+rbx*1+r8] + vmovdqu XMMWORD PTR[128+rsp],xmm10 vaesdec xmm2,xmm2,xmm0 - cmp ecx,DWORD PTR[((32+4))+rsp] - mov rbx,QWORD PTR[((64+8))+rsp] + cmp ecx,DWORD PTR[((32+4))+rsp] + mov rbx,QWORD PTR[((64+8))+rsp] vaesdec xmm3,xmm3,xmm0 prefetcht0 [31+r9] vaesdec xmm4,xmm4,xmm0 vaesdec xmm5,xmm5,xmm0 - lea rbx,QWORD PTR[rbx*1+r9] + lea rbx,QWORD PTR[rbx*1+r9] cmovge r9,rsp vaesdec xmm6,xmm6,xmm0 cmovg rbx,rsp vaesdec xmm7,xmm7,xmm0 sub rbx,r9 vaesdec xmm8,xmm8,xmm0 - vmovdqu xmm11,XMMWORD PTR[16+r9] - mov QWORD PTR[((64+8))+rsp],rbx + vmovdqu xmm11,XMMWORD PTR[16+r9] + mov QWORD PTR[((64+8))+rsp],rbx vaesdec xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD PTR[((-56))+rsi] - lea r9,QWORD PTR[16+rbx*1+r9] - vmovdqu XMMWORD PTR[144+rsp],xmm11 + vmovups xmm0,XMMWORD PTR[((-56))+rsi] + lea r9,QWORD PTR[16+rbx*1+r9] + vmovdqu XMMWORD PTR[144+rsp],xmm11 vaesdec xmm2,xmm2,xmm1 - cmp ecx,DWORD PTR[((32+8))+rsp] - mov rbx,QWORD PTR[((64+16))+rsp] + cmp ecx,DWORD PTR[((32+8))+rsp] + mov rbx,QWORD PTR[((64+16))+rsp] vaesdec xmm3,xmm3,xmm1 prefetcht0 [31+r10] vaesdec xmm4,xmm4,xmm1 prefetcht0 [15+r8] vaesdec xmm5,xmm5,xmm1 - lea rbx,QWORD PTR[rbx*1+r10] + lea rbx,QWORD PTR[rbx*1+r10] cmovge r10,rsp vaesdec xmm6,xmm6,xmm1 cmovg rbx,rsp vaesdec xmm7,xmm7,xmm1 sub rbx,r10 vaesdec xmm8,xmm8,xmm1 - vmovdqu xmm12,XMMWORD PTR[16+r10] - mov QWORD PTR[((64+16))+rsp],rbx + vmovdqu xmm12,XMMWORD PTR[16+r10] + mov QWORD PTR[((64+16))+rsp],rbx vaesdec xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD PTR[((-40))+rsi] - lea r10,QWORD PTR[16+rbx*1+r10] - vmovdqu XMMWORD PTR[160+rsp],xmm12 + vmovups xmm1,XMMWORD PTR[((-40))+rsi] + lea r10,QWORD PTR[16+rbx*1+r10] + vmovdqu XMMWORD PTR[160+rsp],xmm12 vaesdec xmm2,xmm2,xmm0 - cmp ecx,DWORD PTR[((32+12))+rsp] - mov rbx,QWORD PTR[((64+24))+rsp] + cmp ecx,DWORD PTR[((32+12))+rsp] + mov rbx,QWORD PTR[((64+24))+rsp] vaesdec xmm3,xmm3,xmm0 prefetcht0 [31+r11] vaesdec xmm4,xmm4,xmm0 prefetcht0 [15+r9] vaesdec xmm5,xmm5,xmm0 - lea rbx,QWORD PTR[rbx*1+r11] + lea rbx,QWORD PTR[rbx*1+r11] cmovge r11,rsp vaesdec xmm6,xmm6,xmm0 cmovg rbx,rsp vaesdec xmm7,xmm7,xmm0 sub rbx,r11 vaesdec xmm8,xmm8,xmm0 - vmovdqu xmm13,XMMWORD PTR[16+r11] - mov QWORD PTR[((64+24))+rsp],rbx + vmovdqu xmm13,XMMWORD PTR[16+r11] + mov QWORD PTR[((64+24))+rsp],rbx vaesdec xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD PTR[((-24))+rsi] - lea r11,QWORD PTR[16+rbx*1+r11] - vmovdqu XMMWORD PTR[176+rsp],xmm13 + vmovups xmm0,XMMWORD PTR[((-24))+rsi] + lea r11,QWORD PTR[16+rbx*1+r11] + vmovdqu XMMWORD PTR[176+rsp],xmm13 vaesdec xmm2,xmm2,xmm1 - cmp ecx,DWORD PTR[((32+16))+rsp] - mov rbx,QWORD PTR[((64+32))+rsp] + cmp ecx,DWORD PTR[((32+16))+rsp] + mov rbx,QWORD PTR[((64+32))+rsp] vaesdec xmm3,xmm3,xmm1 prefetcht0 [31+r12] vaesdec xmm4,xmm4,xmm1 prefetcht0 [15+r10] vaesdec xmm5,xmm5,xmm1 - lea rbx,QWORD PTR[rbx*1+r12] + lea rbx,QWORD PTR[rbx*1+r12] cmovge r12,rsp vaesdec xmm6,xmm6,xmm1 cmovg rbx,rsp vaesdec xmm7,xmm7,xmm1 sub rbx,r12 vaesdec xmm8,xmm8,xmm1 - vmovdqu xmm10,XMMWORD PTR[16+r12] - mov QWORD PTR[((64+32))+rsp],rbx + vmovdqu xmm10,XMMWORD PTR[16+r12] + mov QWORD PTR[((64+32))+rsp],rbx vaesdec xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD PTR[((-8))+rsi] - lea r12,QWORD PTR[16+rbx*1+r12] + vmovups xmm1,XMMWORD PTR[((-8))+rsi] + lea r12,QWORD PTR[16+rbx*1+r12] vaesdec xmm2,xmm2,xmm0 - cmp ecx,DWORD PTR[((32+20))+rsp] - mov rbx,QWORD PTR[((64+40))+rsp] + cmp ecx,DWORD PTR[((32+20))+rsp] + mov rbx,QWORD PTR[((64+40))+rsp] vaesdec xmm3,xmm3,xmm0 prefetcht0 [31+r13] vaesdec xmm4,xmm4,xmm0 prefetcht0 [15+r11] vaesdec xmm5,xmm5,xmm0 - lea rbx,QWORD PTR[r13*1+rbx] + lea rbx,QWORD PTR[r13*1+rbx] cmovge r13,rsp vaesdec xmm6,xmm6,xmm0 cmovg rbx,rsp vaesdec xmm7,xmm7,xmm0 sub rbx,r13 vaesdec xmm8,xmm8,xmm0 - vmovdqu xmm11,XMMWORD PTR[16+r13] - mov QWORD PTR[((64+40))+rsp],rbx + vmovdqu xmm11,XMMWORD PTR[16+r13] + mov QWORD PTR[((64+40))+rsp],rbx vaesdec xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD PTR[8+rsi] - lea r13,QWORD PTR[16+rbx*1+r13] + vmovups xmm0,XMMWORD PTR[8+rsi] + lea r13,QWORD PTR[16+rbx*1+r13] vaesdec xmm2,xmm2,xmm1 - cmp ecx,DWORD PTR[((32+24))+rsp] - mov rbx,QWORD PTR[((64+48))+rsp] + cmp ecx,DWORD PTR[((32+24))+rsp] + mov rbx,QWORD PTR[((64+48))+rsp] vaesdec xmm3,xmm3,xmm1 prefetcht0 [31+r14] vaesdec xmm4,xmm4,xmm1 prefetcht0 [15+r12] vaesdec xmm5,xmm5,xmm1 - lea rbx,QWORD PTR[rbx*1+r14] + lea rbx,QWORD PTR[rbx*1+r14] cmovge r14,rsp vaesdec xmm6,xmm6,xmm1 cmovg rbx,rsp vaesdec xmm7,xmm7,xmm1 sub rbx,r14 vaesdec xmm8,xmm8,xmm1 - vmovdqu xmm12,XMMWORD PTR[16+r14] - mov QWORD PTR[((64+48))+rsp],rbx + vmovdqu xmm12,XMMWORD PTR[16+r14] + mov QWORD PTR[((64+48))+rsp],rbx vaesdec xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD PTR[24+rsi] - lea r14,QWORD PTR[16+rbx*1+r14] + vmovups xmm1,XMMWORD PTR[24+rsi] + lea r14,QWORD PTR[16+rbx*1+r14] vaesdec xmm2,xmm2,xmm0 - cmp ecx,DWORD PTR[((32+28))+rsp] - mov rbx,QWORD PTR[((64+56))+rsp] + cmp ecx,DWORD PTR[((32+28))+rsp] + mov rbx,QWORD PTR[((64+56))+rsp] vaesdec xmm3,xmm3,xmm0 prefetcht0 [31+r15] vaesdec xmm4,xmm4,xmm0 prefetcht0 [15+r13] vaesdec xmm5,xmm5,xmm0 - lea rbx,QWORD PTR[rbx*1+r15] + lea rbx,QWORD PTR[rbx*1+r15] cmovge r15,rsp vaesdec xmm6,xmm6,xmm0 cmovg rbx,rsp vaesdec xmm7,xmm7,xmm0 sub rbx,r15 vaesdec xmm8,xmm8,xmm0 - vmovdqu xmm13,XMMWORD PTR[16+r15] - mov QWORD PTR[((64+56))+rsp],rbx + vmovdqu xmm13,XMMWORD PTR[16+r15] + mov QWORD PTR[((64+56))+rsp],rbx vaesdec xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD PTR[40+rsi] - lea r15,QWORD PTR[16+rbx*1+r15] - vmovdqu xmm14,XMMWORD PTR[32+rsp] + vmovups xmm0,XMMWORD PTR[40+rsi] + lea r15,QWORD PTR[16+rbx*1+r15] + vmovdqu xmm14,XMMWORD PTR[32+rsp] prefetcht0 [15+r14] prefetcht0 [15+r15] cmp eax,11 - jb $L$dec8x_tail + jb $L$dec8x_tail vaesdec xmm2,xmm2,xmm1 vaesdec xmm3,xmm3,xmm1 @@ -1484,7 +1484,7 @@ $L$oop_dec8x:: vaesdec xmm7,xmm7,xmm1 vaesdec xmm8,xmm8,xmm1 vaesdec xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD PTR[((176-120))+rsi] + vmovups xmm1,XMMWORD PTR[((176-120))+rsi] vaesdec xmm2,xmm2,xmm0 vaesdec xmm3,xmm3,xmm0 @@ -1494,8 +1494,8 @@ $L$oop_dec8x:: vaesdec xmm7,xmm7,xmm0 vaesdec xmm8,xmm8,xmm0 vaesdec xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD PTR[((192-120))+rsi] - je $L$dec8x_tail + vmovups xmm0,XMMWORD PTR[((192-120))+rsi] + je $L$dec8x_tail vaesdec xmm2,xmm2,xmm1 vaesdec xmm3,xmm3,xmm1 @@ -1505,7 +1505,7 @@ $L$oop_dec8x:: vaesdec xmm7,xmm7,xmm1 vaesdec xmm8,xmm8,xmm1 vaesdec xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD PTR[((208-120))+rsi] + vmovups xmm1,XMMWORD PTR[((208-120))+rsi] vaesdec xmm2,xmm2,xmm0 vaesdec xmm3,xmm3,xmm0 @@ -1515,9 +1515,9 @@ $L$oop_dec8x:: vaesdec xmm7,xmm7,xmm0 vaesdec xmm8,xmm8,xmm0 vaesdec xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD PTR[((224-120))+rsi] + vmovups xmm0,XMMWORD PTR[((224-120))+rsi] -$L$dec8x_tail:: +$L$dec8x_tail:: vaesdec xmm2,xmm2,xmm1 vpxor xmm15,xmm15,xmm15 vaesdec xmm3,xmm3,xmm1 @@ -1526,122 +1526,122 @@ $L$dec8x_tail:: vaesdec xmm5,xmm5,xmm1 vaesdec xmm6,xmm6,xmm1 vpaddd xmm15,xmm15,xmm14 - vmovdqu xmm14,XMMWORD PTR[48+rsp] + vmovdqu xmm14,XMMWORD PTR[48+rsp] vaesdec xmm7,xmm7,xmm1 - mov rbx,QWORD PTR[64+rsp] + mov rbx,QWORD PTR[64+rsp] vaesdec xmm8,xmm8,xmm1 vaesdec xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD PTR[((16-120))+rsi] + vmovups xmm1,XMMWORD PTR[((16-120))+rsi] vaesdeclast xmm2,xmm2,xmm0 - vmovdqa XMMWORD PTR[32+rsp],xmm15 + vmovdqa XMMWORD PTR[32+rsp],xmm15 vpxor xmm15,xmm15,xmm15 vaesdeclast xmm3,xmm3,xmm0 - vpxor xmm2,xmm2,XMMWORD PTR[rbp] + vpxor xmm2,xmm2,XMMWORD PTR[rbp] vaesdeclast xmm4,xmm4,xmm0 - vpxor xmm3,xmm3,XMMWORD PTR[16+rbp] + vpxor xmm3,xmm3,XMMWORD PTR[16+rbp] vpcmpgtd xmm15,xmm14,xmm15 vaesdeclast xmm5,xmm5,xmm0 - vpxor xmm4,xmm4,XMMWORD PTR[32+rbp] + vpxor xmm4,xmm4,XMMWORD PTR[32+rbp] vaesdeclast xmm6,xmm6,xmm0 - vpxor xmm5,xmm5,XMMWORD PTR[48+rbp] + vpxor xmm5,xmm5,XMMWORD PTR[48+rbp] vpaddd xmm14,xmm14,xmm15 - vmovdqu xmm15,XMMWORD PTR[((-120))+rsi] + vmovdqu xmm15,XMMWORD PTR[((-120))+rsi] vaesdeclast xmm7,xmm7,xmm0 - vpxor xmm6,xmm6,XMMWORD PTR[64+rbp] + vpxor xmm6,xmm6,XMMWORD PTR[64+rbp] vaesdeclast xmm8,xmm8,xmm0 - vpxor xmm7,xmm7,XMMWORD PTR[80+rbp] - vmovdqa XMMWORD PTR[48+rsp],xmm14 + vpxor xmm7,xmm7,XMMWORD PTR[80+rbp] + vmovdqa XMMWORD PTR[48+rsp],xmm14 vaesdeclast xmm9,xmm9,xmm0 - vpxor xmm8,xmm8,XMMWORD PTR[96+rbp] - vmovups xmm0,XMMWORD PTR[((32-120))+rsi] + vpxor xmm8,xmm8,XMMWORD PTR[96+rbp] + vmovups xmm0,XMMWORD PTR[((32-120))+rsi] - vmovups XMMWORD PTR[(-16)+r8],xmm2 + vmovups XMMWORD PTR[(-16)+r8],xmm2 sub r8,rbx - vmovdqu xmm2,XMMWORD PTR[((128+0))+rsp] - vpxor xmm9,xmm9,XMMWORD PTR[112+rbp] - vmovups XMMWORD PTR[(-16)+r9],xmm3 - sub r9,QWORD PTR[72+rsp] - vmovdqu XMMWORD PTR[rbp],xmm2 + vmovdqu xmm2,XMMWORD PTR[((128+0))+rsp] + vpxor xmm9,xmm9,XMMWORD PTR[112+rbp] + vmovups XMMWORD PTR[(-16)+r9],xmm3 + sub r9,QWORD PTR[72+rsp] + vmovdqu XMMWORD PTR[rbp],xmm2 vpxor xmm2,xmm2,xmm15 - vmovdqu xmm3,XMMWORD PTR[((128+16))+rsp] - vmovups XMMWORD PTR[(-16)+r10],xmm4 - sub r10,QWORD PTR[80+rsp] - vmovdqu XMMWORD PTR[16+rbp],xmm3 + vmovdqu xmm3,XMMWORD PTR[((128+16))+rsp] + vmovups XMMWORD PTR[(-16)+r10],xmm4 + sub r10,QWORD PTR[80+rsp] + vmovdqu XMMWORD PTR[16+rbp],xmm3 vpxor xmm3,xmm3,xmm15 - vmovdqu xmm4,XMMWORD PTR[((128+32))+rsp] - vmovups XMMWORD PTR[(-16)+r11],xmm5 - sub r11,QWORD PTR[88+rsp] - vmovdqu XMMWORD PTR[32+rbp],xmm4 + vmovdqu xmm4,XMMWORD PTR[((128+32))+rsp] + vmovups XMMWORD PTR[(-16)+r11],xmm5 + sub r11,QWORD PTR[88+rsp] + vmovdqu XMMWORD PTR[32+rbp],xmm4 vpxor xmm4,xmm4,xmm15 - vmovdqu xmm5,XMMWORD PTR[((128+48))+rsp] - vmovups XMMWORD PTR[(-16)+r12],xmm6 - sub r12,QWORD PTR[96+rsp] - vmovdqu XMMWORD PTR[48+rbp],xmm5 + vmovdqu xmm5,XMMWORD PTR[((128+48))+rsp] + vmovups XMMWORD PTR[(-16)+r12],xmm6 + sub r12,QWORD PTR[96+rsp] + vmovdqu XMMWORD PTR[48+rbp],xmm5 vpxor xmm5,xmm5,xmm15 - vmovdqu XMMWORD PTR[64+rbp],xmm10 + vmovdqu XMMWORD PTR[64+rbp],xmm10 vpxor xmm6,xmm15,xmm10 - vmovups XMMWORD PTR[(-16)+r13],xmm7 - sub r13,QWORD PTR[104+rsp] - vmovdqu XMMWORD PTR[80+rbp],xmm11 + vmovups XMMWORD PTR[(-16)+r13],xmm7 + sub r13,QWORD PTR[104+rsp] + vmovdqu XMMWORD PTR[80+rbp],xmm11 vpxor xmm7,xmm15,xmm11 - vmovups XMMWORD PTR[(-16)+r14],xmm8 - sub r14,QWORD PTR[112+rsp] - vmovdqu XMMWORD PTR[96+rbp],xmm12 + vmovups XMMWORD PTR[(-16)+r14],xmm8 + sub r14,QWORD PTR[112+rsp] + vmovdqu XMMWORD PTR[96+rbp],xmm12 vpxor xmm8,xmm15,xmm12 - vmovups XMMWORD PTR[(-16)+r15],xmm9 - sub r15,QWORD PTR[120+rsp] - vmovdqu XMMWORD PTR[112+rbp],xmm13 + vmovups XMMWORD PTR[(-16)+r15],xmm9 + sub r15,QWORD PTR[120+rsp] + vmovdqu XMMWORD PTR[112+rbp],xmm13 vpxor xmm9,xmm15,xmm13 xor rbp,128 dec edx - jnz $L$oop_dec8x + jnz $L$oop_dec8x - mov rax,QWORD PTR[16+rsp] + mov rax,QWORD PTR[16+rsp] -$L$dec8x_done:: +$L$dec8x_done:: vzeroupper - movaps xmm6,XMMWORD PTR[((-216))+rax] - movaps xmm7,XMMWORD PTR[((-200))+rax] - movaps xmm8,XMMWORD PTR[((-184))+rax] - movaps xmm9,XMMWORD PTR[((-168))+rax] - movaps xmm10,XMMWORD PTR[((-152))+rax] - movaps xmm11,XMMWORD PTR[((-136))+rax] - movaps xmm12,XMMWORD PTR[((-120))+rax] - movaps xmm13,XMMWORD PTR[((-104))+rax] - movaps xmm14,XMMWORD PTR[((-88))+rax] - movaps xmm15,XMMWORD PTR[((-72))+rax] - mov r15,QWORD PTR[((-48))+rax] + movaps xmm6,XMMWORD PTR[((-216))+rax] + movaps xmm7,XMMWORD PTR[((-200))+rax] + movaps xmm8,XMMWORD PTR[((-184))+rax] + movaps xmm9,XMMWORD PTR[((-168))+rax] + movaps xmm10,XMMWORD PTR[((-152))+rax] + movaps xmm11,XMMWORD PTR[((-136))+rax] + movaps xmm12,XMMWORD PTR[((-120))+rax] + movaps xmm13,XMMWORD PTR[((-104))+rax] + movaps xmm14,XMMWORD PTR[((-88))+rax] + movaps xmm15,XMMWORD PTR[((-72))+rax] + mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] + mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] + mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] + mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$dec8x_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$dec8x_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_multi_cbc_decrypt_avx:: -aesni_multi_cbc_decrypt_avx ENDP -EXTERN __imp_RtlVirtualUnwind:NEAR +$L$SEH_end_aesni_multi_cbc_decrypt_avx:: +aesni_multi_cbc_decrypt_avx ENDP +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -1653,69 +1653,69 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$in_prologue - - mov rax,QWORD PTR[16+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 rsi,QWORD PTR[((-56-160))+rax] - lea rdi,QWORD PTR[512+r8] + jae $L$in_prologue + + mov rax,QWORD PTR[16+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 rsi,QWORD PTR[((-56-160))+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch + DD 0a548f3fch -$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 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 - mov rdi,QWORD PTR[40+r9] + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -1729,42 +1729,42 @@ $L$in_prologue:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP +se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_aesni_multi_cbc_encrypt - DD imagerel $L$SEH_end_aesni_multi_cbc_encrypt - DD imagerel $L$SEH_info_aesni_multi_cbc_encrypt - DD imagerel $L$SEH_begin_aesni_multi_cbc_decrypt - DD imagerel $L$SEH_end_aesni_multi_cbc_decrypt - DD imagerel $L$SEH_info_aesni_multi_cbc_decrypt - DD imagerel $L$SEH_begin_aesni_multi_cbc_encrypt_avx - DD imagerel $L$SEH_end_aesni_multi_cbc_encrypt_avx - DD imagerel $L$SEH_info_aesni_multi_cbc_encrypt_avx - DD imagerel $L$SEH_begin_aesni_multi_cbc_decrypt_avx - DD imagerel $L$SEH_end_aesni_multi_cbc_decrypt_avx - DD imagerel $L$SEH_info_aesni_multi_cbc_decrypt_avx -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + DD imagerel $L$SEH_begin_aesni_multi_cbc_encrypt + DD imagerel $L$SEH_end_aesni_multi_cbc_encrypt + DD imagerel $L$SEH_info_aesni_multi_cbc_encrypt + DD imagerel $L$SEH_begin_aesni_multi_cbc_decrypt + DD imagerel $L$SEH_end_aesni_multi_cbc_decrypt + DD imagerel $L$SEH_info_aesni_multi_cbc_decrypt + DD imagerel $L$SEH_begin_aesni_multi_cbc_encrypt_avx + DD imagerel $L$SEH_end_aesni_multi_cbc_encrypt_avx + DD imagerel $L$SEH_info_aesni_multi_cbc_encrypt_avx + DD imagerel $L$SEH_begin_aesni_multi_cbc_decrypt_avx + DD imagerel $L$SEH_end_aesni_multi_cbc_decrypt_avx + DD imagerel $L$SEH_info_aesni_multi_cbc_decrypt_avx +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_aesni_multi_cbc_encrypt:: +$L$SEH_info_aesni_multi_cbc_encrypt:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$enc4x_body,imagerel $L$enc4x_epilogue -$L$SEH_info_aesni_multi_cbc_decrypt:: + DD imagerel se_handler + DD imagerel $L$enc4x_body,imagerel $L$enc4x_epilogue +$L$SEH_info_aesni_multi_cbc_decrypt:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$dec4x_body,imagerel $L$dec4x_epilogue -$L$SEH_info_aesni_multi_cbc_encrypt_avx:: + DD imagerel se_handler + DD imagerel $L$dec4x_body,imagerel $L$dec4x_epilogue +$L$SEH_info_aesni_multi_cbc_encrypt_avx:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$enc8x_body,imagerel $L$enc8x_epilogue -$L$SEH_info_aesni_multi_cbc_decrypt_avx:: + DD imagerel se_handler + DD imagerel $L$enc8x_body,imagerel $L$enc8x_epilogue +$L$SEH_info_aesni_multi_cbc_decrypt_avx:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$dec8x_body,imagerel $L$dec8x_epilogue - -.xdata ENDS -END + DD imagerel se_handler + DD imagerel $L$dec8x_body,imagerel $L$dec8x_epilogue + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/aes/aesni-sha1-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/aes/aesni-sha1-x86_64.masm index 25ae069f05..561cd6b447 100644 --- a/contrib/libs/openssl/asm/windows/crypto/aes/aesni-sha1-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/aes/aesni-sha1-x86_64.masm @@ -1,43 +1,43 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' +EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC aesni_cbc_sha1_enc +PUBLIC aesni_cbc_sha1_enc ALIGN 32 -aesni_cbc_sha1_enc PROC PUBLIC +aesni_cbc_sha1_enc PROC PUBLIC - - mov r10d,DWORD PTR[((OPENSSL_ia32cap_P+0))] - mov r11,QWORD PTR[((OPENSSL_ia32cap_P+4))] + + mov r10d,DWORD PTR[((OPENSSL_ia32cap_P+0))] + mov r11,QWORD PTR[((OPENSSL_ia32cap_P+4))] bt r11,61 - jc aesni_cbc_sha1_enc_shaext + jc aesni_cbc_sha1_enc_shaext and r11d,268435456 and r10d,1073741824 or r10d,r11d cmp r10d,1342177280 - je aesni_cbc_sha1_enc_avx - jmp aesni_cbc_sha1_enc_ssse3 + je aesni_cbc_sha1_enc_avx + jmp aesni_cbc_sha1_enc_ssse3 DB 0F3h,0C3h ;repret -aesni_cbc_sha1_enc ENDP +aesni_cbc_sha1_enc ENDP ALIGN 32 -aesni_cbc_sha1_enc_ssse3 PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_cbc_sha1_enc_ssse3 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_cbc_sha1_enc_ssse3:: +$L$SEH_begin_aesni_cbc_sha1_enc_ssse3:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] - mov r10,QWORD PTR[56+rsp] + mov r10,QWORD PTR[56+rsp] push rbx @@ -52,49 +52,49 @@ $L$SEH_begin_aesni_cbc_sha1_enc_ssse3:: push r15 - lea rsp,QWORD PTR[((-264))+rsp] + lea rsp,QWORD PTR[((-264))+rsp] - movaps XMMWORD PTR[(96+0)+rsp],xmm6 - movaps XMMWORD PTR[(96+16)+rsp],xmm7 - movaps XMMWORD PTR[(96+32)+rsp],xmm8 - movaps XMMWORD PTR[(96+48)+rsp],xmm9 - movaps XMMWORD PTR[(96+64)+rsp],xmm10 - movaps XMMWORD PTR[(96+80)+rsp],xmm11 - movaps XMMWORD PTR[(96+96)+rsp],xmm12 - movaps XMMWORD PTR[(96+112)+rsp],xmm13 - movaps XMMWORD PTR[(96+128)+rsp],xmm14 - movaps XMMWORD PTR[(96+144)+rsp],xmm15 -$L$prologue_ssse3:: + movaps XMMWORD PTR[(96+0)+rsp],xmm6 + movaps XMMWORD PTR[(96+16)+rsp],xmm7 + movaps XMMWORD PTR[(96+32)+rsp],xmm8 + movaps XMMWORD PTR[(96+48)+rsp],xmm9 + movaps XMMWORD PTR[(96+64)+rsp],xmm10 + movaps XMMWORD PTR[(96+80)+rsp],xmm11 + movaps XMMWORD PTR[(96+96)+rsp],xmm12 + movaps XMMWORD PTR[(96+112)+rsp],xmm13 + movaps XMMWORD PTR[(96+128)+rsp],xmm14 + movaps XMMWORD PTR[(96+144)+rsp],xmm15 +$L$prologue_ssse3:: mov r12,rdi mov r13,rsi mov r14,rdx - lea r15,QWORD PTR[112+rcx] - movdqu xmm2,XMMWORD PTR[r8] - mov QWORD PTR[88+rsp],r8 + lea r15,QWORD PTR[112+rcx] + movdqu xmm2,XMMWORD PTR[r8] + mov QWORD PTR[88+rsp],r8 shl r14,6 sub r13,r12 - mov r8d,DWORD PTR[((240-112))+r15] + mov r8d,DWORD PTR[((240-112))+r15] add r14,r10 - lea r11,QWORD PTR[K_XX_XX] - mov eax,DWORD PTR[r9] - mov ebx,DWORD PTR[4+r9] - mov ecx,DWORD PTR[8+r9] - mov edx,DWORD PTR[12+r9] + lea r11,QWORD PTR[K_XX_XX] + mov eax,DWORD PTR[r9] + mov ebx,DWORD PTR[4+r9] + mov ecx,DWORD PTR[8+r9] + mov edx,DWORD PTR[12+r9] mov esi,ebx - mov ebp,DWORD PTR[16+r9] + mov ebp,DWORD PTR[16+r9] mov edi,ecx xor edi,edx and esi,edi - movdqa xmm3,XMMWORD PTR[64+r11] - movdqa xmm13,XMMWORD PTR[r11] - movdqu xmm4,XMMWORD PTR[r10] - movdqu xmm5,XMMWORD PTR[16+r10] - movdqu xmm6,XMMWORD PTR[32+r10] - movdqu xmm7,XMMWORD PTR[48+r10] + movdqa xmm3,XMMWORD PTR[64+r11] + movdqa xmm13,XMMWORD PTR[r11] + movdqu xmm4,XMMWORD PTR[r10] + movdqu xmm5,XMMWORD PTR[16+r10] + movdqu xmm6,XMMWORD PTR[32+r10] + movdqu xmm7,XMMWORD PTR[48+r10] DB 102,15,56,0,227 DB 102,15,56,0,235 DB 102,15,56,0,243 @@ -103,29 +103,29 @@ DB 102,15,56,0,243 DB 102,15,56,0,251 paddd xmm5,xmm13 paddd xmm6,xmm13 - movdqa XMMWORD PTR[rsp],xmm4 + movdqa XMMWORD PTR[rsp],xmm4 psubd xmm4,xmm13 - movdqa XMMWORD PTR[16+rsp],xmm5 + movdqa XMMWORD PTR[16+rsp],xmm5 psubd xmm5,xmm13 - movdqa XMMWORD PTR[32+rsp],xmm6 + movdqa XMMWORD PTR[32+rsp],xmm6 psubd xmm6,xmm13 - movups xmm15,XMMWORD PTR[((-112))+r15] - movups xmm0,XMMWORD PTR[((16-112))+r15] - jmp $L$oop_ssse3 + movups xmm15,XMMWORD PTR[((-112))+r15] + movups xmm0,XMMWORD PTR[((16-112))+r15] + jmp $L$oop_ssse3 ALIGN 32 -$L$oop_ssse3:: +$L$oop_ssse3:: ror ebx,2 - movups xmm14,XMMWORD PTR[r12] + movups xmm14,XMMWORD PTR[r12] xorps xmm14,xmm15 xorps xmm2,xmm14 - movups xmm1,XMMWORD PTR[((-80))+r15] + movups xmm1,XMMWORD PTR[((-80))+r15] DB 102,15,56,220,208 pshufd xmm8,xmm4,238 xor esi,edx movdqa xmm12,xmm7 paddd xmm13,xmm7 mov edi,eax - add ebp,DWORD PTR[rsp] + add ebp,DWORD PTR[rsp] punpcklqdq xmm8,xmm5 xor ebx,ecx rol eax,5 @@ -139,13 +139,13 @@ DB 102,15,56,220,208 pxor xmm12,xmm6 xor edi,ecx mov esi,ebp - add edx,DWORD PTR[4+rsp] + add edx,DWORD PTR[4+rsp] pxor xmm8,xmm12 xor eax,ebx rol ebp,5 - movdqa XMMWORD PTR[48+rsp],xmm13 + movdqa XMMWORD PTR[48+rsp],xmm13 add edx,edi - movups xmm0,XMMWORD PTR[((-64))+r15] + movups xmm0,XMMWORD PTR[((-64))+r15] DB 102,15,56,220,209 and esi,eax movdqa xmm3,xmm8 @@ -157,7 +157,7 @@ DB 102,15,56,220,209 pslldq xmm3,12 paddd xmm8,xmm8 mov edi,edx - add ecx,DWORD PTR[8+rsp] + add ecx,DWORD PTR[8+rsp] psrld xmm12,31 xor ebp,eax rol edx,5 @@ -171,13 +171,13 @@ DB 102,15,56,220,209 por xmm8,xmm12 xor edi,eax mov esi,ecx - add ebx,DWORD PTR[12+rsp] - movups xmm1,XMMWORD PTR[((-48))+r15] + add ebx,DWORD PTR[12+rsp] + movups xmm1,XMMWORD PTR[((-48))+r15] DB 102,15,56,220,208 pslld xmm13,2 pxor xmm8,xmm3 xor edx,ebp - movdqa xmm3,XMMWORD PTR[r11] + movdqa xmm3,XMMWORD PTR[r11] rol ecx,5 add ebx,edi and esi,edx @@ -190,7 +190,7 @@ DB 102,15,56,220,208 movdqa xmm13,xmm8 paddd xmm3,xmm8 mov edi,ebx - add eax,DWORD PTR[16+rsp] + add eax,DWORD PTR[16+rsp] punpcklqdq xmm9,xmm6 xor ecx,edx rol ebx,5 @@ -201,16 +201,16 @@ DB 102,15,56,220,208 pxor xmm9,xmm5 add eax,ebx ror ebx,7 - movups xmm0,XMMWORD PTR[((-32))+r15] + movups xmm0,XMMWORD PTR[((-32))+r15] DB 102,15,56,220,209 pxor xmm13,xmm7 xor edi,edx mov esi,eax - add ebp,DWORD PTR[20+rsp] + add ebp,DWORD PTR[20+rsp] pxor xmm9,xmm13 xor ebx,ecx rol eax,5 - movdqa XMMWORD PTR[rsp],xmm3 + movdqa XMMWORD PTR[rsp],xmm3 add ebp,edi and esi,ebx movdqa xmm12,xmm9 @@ -222,12 +222,12 @@ DB 102,15,56,220,209 pslldq xmm12,12 paddd xmm9,xmm9 mov edi,ebp - add edx,DWORD PTR[24+rsp] + add edx,DWORD PTR[24+rsp] psrld xmm13,31 xor eax,ebx rol ebp,5 add edx,esi - movups xmm1,XMMWORD PTR[((-16))+r15] + movups xmm1,XMMWORD PTR[((-16))+r15] DB 102,15,56,220,208 movdqa xmm3,xmm12 and edi,eax @@ -238,11 +238,11 @@ DB 102,15,56,220,208 por xmm9,xmm13 xor edi,ebx mov esi,edx - add ecx,DWORD PTR[28+rsp] + add ecx,DWORD PTR[28+rsp] pslld xmm3,2 pxor xmm9,xmm12 xor ebp,eax - movdqa xmm12,XMMWORD PTR[16+r11] + movdqa xmm12,XMMWORD PTR[16+r11] rol edx,5 add ecx,edi and esi,ebp @@ -255,8 +255,8 @@ DB 102,15,56,220,208 movdqa xmm3,xmm9 paddd xmm12,xmm9 mov edi,ecx - add ebx,DWORD PTR[32+rsp] - movups xmm0,XMMWORD PTR[r15] + add ebx,DWORD PTR[32+rsp] + movups xmm0,XMMWORD PTR[r15] DB 102,15,56,220,209 punpcklqdq xmm10,xmm7 xor edx,ebp @@ -271,25 +271,25 @@ DB 102,15,56,220,209 pxor xmm3,xmm8 xor edi,ebp mov esi,ebx - add eax,DWORD PTR[36+rsp] + add eax,DWORD PTR[36+rsp] pxor xmm10,xmm3 xor ecx,edx rol ebx,5 - movdqa XMMWORD PTR[16+rsp],xmm12 + movdqa XMMWORD PTR[16+rsp],xmm12 add eax,edi and esi,ecx movdqa xmm13,xmm10 xor ecx,edx add eax,ebx ror ebx,7 - movups xmm1,XMMWORD PTR[16+r15] + movups xmm1,XMMWORD PTR[16+r15] DB 102,15,56,220,208 movdqa xmm3,xmm10 xor esi,edx pslldq xmm13,12 paddd xmm10,xmm10 mov edi,eax - add ebp,DWORD PTR[40+rsp] + add ebp,DWORD PTR[40+rsp] psrld xmm3,31 xor ebx,ecx rol eax,5 @@ -303,14 +303,14 @@ DB 102,15,56,220,208 por xmm10,xmm3 xor edi,ecx mov esi,ebp - add edx,DWORD PTR[44+rsp] + add edx,DWORD PTR[44+rsp] pslld xmm12,2 pxor xmm10,xmm13 xor eax,ebx - movdqa xmm13,XMMWORD PTR[16+r11] + movdqa xmm13,XMMWORD PTR[16+r11] rol ebp,5 add edx,edi - movups xmm0,XMMWORD PTR[32+r15] + movups xmm0,XMMWORD PTR[32+r15] DB 102,15,56,220,209 and esi,eax pxor xmm10,xmm12 @@ -322,7 +322,7 @@ DB 102,15,56,220,209 movdqa xmm12,xmm10 paddd xmm13,xmm10 mov edi,edx - add ecx,DWORD PTR[48+rsp] + add ecx,DWORD PTR[48+rsp] punpcklqdq xmm11,xmm8 xor ebp,eax rol edx,5 @@ -336,13 +336,13 @@ DB 102,15,56,220,209 pxor xmm12,xmm9 xor edi,eax mov esi,ecx - add ebx,DWORD PTR[52+rsp] - movups xmm1,XMMWORD PTR[48+r15] + add ebx,DWORD PTR[52+rsp] + movups xmm1,XMMWORD PTR[48+r15] DB 102,15,56,220,208 pxor xmm11,xmm12 xor edx,ebp rol ecx,5 - movdqa XMMWORD PTR[32+rsp],xmm13 + movdqa XMMWORD PTR[32+rsp],xmm13 add ebx,edi and esi,edx movdqa xmm3,xmm11 @@ -354,7 +354,7 @@ DB 102,15,56,220,208 pslldq xmm3,12 paddd xmm11,xmm11 mov edi,ebx - add eax,DWORD PTR[56+rsp] + add eax,DWORD PTR[56+rsp] psrld xmm12,31 xor ecx,edx rol ebx,5 @@ -366,27 +366,27 @@ DB 102,15,56,220,208 add eax,ebx ror ebx,7 cmp r8d,11 - jb $L$aesenclast1 - movups xmm0,XMMWORD PTR[64+r15] + jb $L$aesenclast1 + movups xmm0,XMMWORD PTR[64+r15] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[80+r15] + movups xmm1,XMMWORD PTR[80+r15] DB 102,15,56,220,208 - je $L$aesenclast1 - movups xmm0,XMMWORD PTR[96+r15] + je $L$aesenclast1 + movups xmm0,XMMWORD PTR[96+r15] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[112+r15] + movups xmm1,XMMWORD PTR[112+r15] DB 102,15,56,220,208 -$L$aesenclast1:: +$L$aesenclast1:: DB 102,15,56,221,209 - movups xmm0,XMMWORD PTR[((16-112))+r15] + movups xmm0,XMMWORD PTR[((16-112))+r15] por xmm11,xmm12 xor edi,edx mov esi,eax - add ebp,DWORD PTR[60+rsp] + add ebp,DWORD PTR[60+rsp] pslld xmm13,2 pxor xmm11,xmm3 xor ebx,ecx - movdqa xmm3,XMMWORD PTR[16+r11] + movdqa xmm3,XMMWORD PTR[16+r11] rol eax,5 add ebp,edi and esi,ebx @@ -398,17 +398,17 @@ DB 102,15,56,221,209 pxor xmm4,xmm8 xor esi,ecx mov edi,ebp - add edx,DWORD PTR[rsp] + add edx,DWORD PTR[rsp] punpcklqdq xmm13,xmm11 xor eax,ebx rol ebp,5 pxor xmm4,xmm5 add edx,esi - movups xmm14,XMMWORD PTR[16+r12] + movups xmm14,XMMWORD PTR[16+r12] xorps xmm14,xmm15 - movups XMMWORD PTR[r13*1+r12],xmm2 + movups XMMWORD PTR[r13*1+r12],xmm2 xorps xmm2,xmm14 - movups xmm1,XMMWORD PTR[((-80))+r15] + movups xmm1,XMMWORD PTR[((-80))+r15] DB 102,15,56,220,208 and edi,eax movdqa xmm12,xmm3 @@ -419,11 +419,11 @@ DB 102,15,56,220,208 ror ebp,7 xor edi,ebx mov esi,edx - add ecx,DWORD PTR[4+rsp] + add ecx,DWORD PTR[4+rsp] movdqa xmm13,xmm4 xor ebp,eax rol edx,5 - movdqa XMMWORD PTR[48+rsp],xmm3 + movdqa XMMWORD PTR[48+rsp],xmm3 add ecx,edi and esi,ebp xor ebp,eax @@ -433,8 +433,8 @@ DB 102,15,56,220,208 psrld xmm13,30 xor esi,eax mov edi,ecx - add ebx,DWORD PTR[8+rsp] - movups xmm0,XMMWORD PTR[((-64))+r15] + add ebx,DWORD PTR[8+rsp] + movups xmm0,XMMWORD PTR[((-64))+r15] DB 102,15,56,220,209 por xmm4,xmm13 xor edx,ebp @@ -444,7 +444,7 @@ DB 102,15,56,220,209 and edi,edx xor edx,ebp add ebx,ecx - add eax,DWORD PTR[12+rsp] + add eax,DWORD PTR[12+rsp] xor edi,ebp mov esi,ebx rol ebx,5 @@ -453,8 +453,8 @@ DB 102,15,56,220,209 ror ecx,7 add eax,ebx pxor xmm5,xmm9 - add ebp,DWORD PTR[16+rsp] - movups xmm1,XMMWORD PTR[((-48))+r15] + add ebp,DWORD PTR[16+rsp] + movups xmm1,XMMWORD PTR[((-48))+r15] DB 102,15,56,220,208 xor esi,ecx punpcklqdq xmm3,xmm4 @@ -468,30 +468,30 @@ DB 102,15,56,220,208 paddd xmm12,xmm4 add ebp,eax pxor xmm5,xmm3 - add edx,DWORD PTR[20+rsp] + add edx,DWORD PTR[20+rsp] xor edi,ebx mov esi,ebp rol ebp,5 movdqa xmm3,xmm5 add edx,edi xor esi,ebx - movdqa XMMWORD PTR[rsp],xmm12 + movdqa XMMWORD PTR[rsp],xmm12 ror eax,7 add edx,ebp - add ecx,DWORD PTR[24+rsp] + add ecx,DWORD PTR[24+rsp] pslld xmm5,2 xor esi,eax mov edi,edx psrld xmm3,30 rol edx,5 add ecx,esi - movups xmm0,XMMWORD PTR[((-32))+r15] + movups xmm0,XMMWORD PTR[((-32))+r15] DB 102,15,56,220,209 xor edi,eax ror ebp,7 por xmm5,xmm3 add ecx,edx - add ebx,DWORD PTR[28+rsp] + add ebx,DWORD PTR[28+rsp] pshufd xmm12,xmm4,238 xor edi,ebp mov esi,ecx @@ -501,7 +501,7 @@ DB 102,15,56,220,209 ror edx,7 add ebx,ecx pxor xmm6,xmm10 - add eax,DWORD PTR[32+rsp] + add eax,DWORD PTR[32+rsp] xor esi,edx punpcklqdq xmm12,xmm5 mov edi,ebx @@ -509,13 +509,13 @@ DB 102,15,56,220,209 pxor xmm6,xmm7 add eax,esi xor edi,edx - movdqa xmm3,XMMWORD PTR[32+r11] + movdqa xmm3,XMMWORD PTR[32+r11] ror ecx,7 paddd xmm13,xmm5 add eax,ebx pxor xmm6,xmm12 - add ebp,DWORD PTR[36+rsp] - movups xmm1,XMMWORD PTR[((-16))+r15] + add ebp,DWORD PTR[36+rsp] + movups xmm1,XMMWORD PTR[((-16))+r15] DB 102,15,56,220,208 xor edi,ecx mov esi,eax @@ -523,10 +523,10 @@ DB 102,15,56,220,208 movdqa xmm12,xmm6 add ebp,edi xor esi,ecx - movdqa XMMWORD PTR[16+rsp],xmm13 + movdqa XMMWORD PTR[16+rsp],xmm13 ror ebx,7 add ebp,eax - add edx,DWORD PTR[40+rsp] + add edx,DWORD PTR[40+rsp] pslld xmm6,2 xor esi,ebx mov edi,ebp @@ -537,19 +537,19 @@ DB 102,15,56,220,208 ror eax,7 por xmm6,xmm12 add edx,ebp - add ecx,DWORD PTR[44+rsp] + add ecx,DWORD PTR[44+rsp] pshufd xmm13,xmm5,238 xor edi,eax mov esi,edx rol edx,5 add ecx,edi - movups xmm0,XMMWORD PTR[r15] + movups xmm0,XMMWORD PTR[r15] DB 102,15,56,220,209 xor esi,eax ror ebp,7 add ecx,edx pxor xmm7,xmm11 - add ebx,DWORD PTR[48+rsp] + add ebx,DWORD PTR[48+rsp] xor esi,ebp punpcklqdq xmm13,xmm6 mov edi,ecx @@ -562,18 +562,18 @@ DB 102,15,56,220,209 paddd xmm3,xmm6 add ebx,ecx pxor xmm7,xmm13 - add eax,DWORD PTR[52+rsp] + add eax,DWORD PTR[52+rsp] xor edi,edx mov esi,ebx rol ebx,5 movdqa xmm13,xmm7 add eax,edi xor esi,edx - movdqa XMMWORD PTR[32+rsp],xmm3 + movdqa XMMWORD PTR[32+rsp],xmm3 ror ecx,7 add eax,ebx - add ebp,DWORD PTR[56+rsp] - movups xmm1,XMMWORD PTR[16+r15] + add ebp,DWORD PTR[56+rsp] + movups xmm1,XMMWORD PTR[16+r15] DB 102,15,56,220,208 pslld xmm7,2 xor esi,ecx @@ -585,7 +585,7 @@ DB 102,15,56,220,208 ror ebx,7 por xmm7,xmm13 add ebp,eax - add edx,DWORD PTR[60+rsp] + add edx,DWORD PTR[60+rsp] pshufd xmm3,xmm6,238 xor edi,ebx mov esi,ebp @@ -595,14 +595,14 @@ DB 102,15,56,220,208 ror eax,7 add edx,ebp pxor xmm8,xmm4 - add ecx,DWORD PTR[rsp] + add ecx,DWORD PTR[rsp] xor esi,eax punpcklqdq xmm3,xmm7 mov edi,edx rol edx,5 pxor xmm8,xmm9 add ecx,esi - movups xmm0,XMMWORD PTR[32+r15] + movups xmm0,XMMWORD PTR[32+r15] DB 102,15,56,220,209 xor edi,eax movdqa xmm13,xmm12 @@ -610,17 +610,17 @@ DB 102,15,56,220,209 paddd xmm12,xmm7 add ecx,edx pxor xmm8,xmm3 - add ebx,DWORD PTR[4+rsp] + add ebx,DWORD PTR[4+rsp] xor edi,ebp mov esi,ecx rol ecx,5 movdqa xmm3,xmm8 add ebx,edi xor esi,ebp - movdqa XMMWORD PTR[48+rsp],xmm12 + movdqa XMMWORD PTR[48+rsp],xmm12 ror edx,7 add ebx,ecx - add eax,DWORD PTR[8+rsp] + add eax,DWORD PTR[8+rsp] pslld xmm8,2 xor esi,edx mov edi,ebx @@ -631,8 +631,8 @@ DB 102,15,56,220,209 ror ecx,7 por xmm8,xmm3 add eax,ebx - add ebp,DWORD PTR[12+rsp] - movups xmm1,XMMWORD PTR[48+r15] + add ebp,DWORD PTR[12+rsp] + movups xmm1,XMMWORD PTR[48+r15] DB 102,15,56,220,208 pshufd xmm12,xmm7,238 xor edi,ecx @@ -643,7 +643,7 @@ DB 102,15,56,220,208 ror ebx,7 add ebp,eax pxor xmm9,xmm5 - add edx,DWORD PTR[16+rsp] + add edx,DWORD PTR[16+rsp] xor esi,ebx punpcklqdq xmm12,xmm8 mov edi,ebp @@ -656,31 +656,31 @@ DB 102,15,56,220,208 paddd xmm13,xmm8 add edx,ebp pxor xmm9,xmm12 - add ecx,DWORD PTR[20+rsp] + add ecx,DWORD PTR[20+rsp] xor edi,eax mov esi,edx rol edx,5 movdqa xmm12,xmm9 add ecx,edi cmp r8d,11 - jb $L$aesenclast2 - movups xmm0,XMMWORD PTR[64+r15] + jb $L$aesenclast2 + movups xmm0,XMMWORD PTR[64+r15] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[80+r15] + movups xmm1,XMMWORD PTR[80+r15] DB 102,15,56,220,208 - je $L$aesenclast2 - movups xmm0,XMMWORD PTR[96+r15] + je $L$aesenclast2 + movups xmm0,XMMWORD PTR[96+r15] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[112+r15] + movups xmm1,XMMWORD PTR[112+r15] DB 102,15,56,220,208 -$L$aesenclast2:: +$L$aesenclast2:: DB 102,15,56,221,209 - movups xmm0,XMMWORD PTR[((16-112))+r15] + movups xmm0,XMMWORD PTR[((16-112))+r15] xor esi,eax - movdqa XMMWORD PTR[rsp],xmm13 + movdqa XMMWORD PTR[rsp],xmm13 ror ebp,7 add ecx,edx - add ebx,DWORD PTR[24+rsp] + add ebx,DWORD PTR[24+rsp] pslld xmm9,2 xor esi,ebp mov edi,ecx @@ -691,7 +691,7 @@ DB 102,15,56,221,209 ror edx,7 por xmm9,xmm12 add ebx,ecx - add eax,DWORD PTR[28+rsp] + add eax,DWORD PTR[28+rsp] pshufd xmm13,xmm8,238 ror ecx,7 mov esi,ebx @@ -702,12 +702,12 @@ DB 102,15,56,221,209 xor ecx,edx add eax,ebx pxor xmm10,xmm6 - add ebp,DWORD PTR[32+rsp] - movups xmm14,XMMWORD PTR[32+r12] + add ebp,DWORD PTR[32+rsp] + movups xmm14,XMMWORD PTR[32+r12] xorps xmm14,xmm15 - movups XMMWORD PTR[16+r12*1+r13],xmm2 + movups XMMWORD PTR[16+r12*1+r13],xmm2 xorps xmm2,xmm14 - movups xmm1,XMMWORD PTR[((-80))+r15] + movups xmm1,XMMWORD PTR[((-80))+r15] DB 102,15,56,220,208 and esi,ecx xor ecx,edx @@ -724,24 +724,24 @@ DB 102,15,56,220,208 xor ebx,ecx pxor xmm10,xmm13 add ebp,eax - add edx,DWORD PTR[36+rsp] + add edx,DWORD PTR[36+rsp] and edi,ebx xor ebx,ecx ror eax,7 movdqa xmm13,xmm10 mov esi,ebp xor edi,ebx - movdqa XMMWORD PTR[16+rsp],xmm3 + movdqa XMMWORD PTR[16+rsp],xmm3 rol ebp,5 add edx,edi - movups xmm0,XMMWORD PTR[((-64))+r15] + movups xmm0,XMMWORD PTR[((-64))+r15] DB 102,15,56,220,209 xor esi,eax pslld xmm10,2 xor eax,ebx add edx,ebp psrld xmm13,30 - add ecx,DWORD PTR[40+rsp] + add ecx,DWORD PTR[40+rsp] and esi,eax xor eax,ebx por xmm10,xmm13 @@ -754,11 +754,11 @@ DB 102,15,56,220,209 xor edi,ebp xor ebp,eax add ecx,edx - add ebx,DWORD PTR[44+rsp] + add ebx,DWORD PTR[44+rsp] and edi,ebp xor ebp,eax ror edx,7 - movups xmm1,XMMWORD PTR[((-48))+r15] + movups xmm1,XMMWORD PTR[((-48))+r15] DB 102,15,56,220,208 mov esi,ecx xor edi,ebp @@ -768,7 +768,7 @@ DB 102,15,56,220,208 xor edx,ebp add ebx,ecx pxor xmm11,xmm7 - add eax,DWORD PTR[48+rsp] + add eax,DWORD PTR[48+rsp] and esi,edx xor edx,ebp ror ecx,7 @@ -778,14 +778,14 @@ DB 102,15,56,220,208 pxor xmm11,xmm4 rol ebx,5 add eax,esi - movdqa xmm13,XMMWORD PTR[48+r11] + movdqa xmm13,XMMWORD PTR[48+r11] xor edi,ecx paddd xmm12,xmm10 xor ecx,edx pxor xmm11,xmm3 add eax,ebx - add ebp,DWORD PTR[52+rsp] - movups xmm0,XMMWORD PTR[((-32))+r15] + add ebp,DWORD PTR[52+rsp] + movups xmm0,XMMWORD PTR[((-32))+r15] DB 102,15,56,220,209 and edi,ecx xor ecx,edx @@ -793,7 +793,7 @@ DB 102,15,56,220,209 movdqa xmm3,xmm11 mov esi,eax xor edi,ecx - movdqa XMMWORD PTR[32+rsp],xmm12 + movdqa XMMWORD PTR[32+rsp],xmm12 rol eax,5 add ebp,edi xor esi,ebx @@ -801,7 +801,7 @@ DB 102,15,56,220,209 xor ebx,ecx add ebp,eax psrld xmm3,30 - add edx,DWORD PTR[56+rsp] + add edx,DWORD PTR[56+rsp] and esi,ebx xor ebx,ecx por xmm11,xmm3 @@ -811,12 +811,12 @@ DB 102,15,56,220,209 rol ebp,5 pshufd xmm12,xmm10,238 add edx,esi - movups xmm1,XMMWORD PTR[((-16))+r15] + movups xmm1,XMMWORD PTR[((-16))+r15] DB 102,15,56,220,208 xor edi,eax xor eax,ebx add edx,ebp - add ecx,DWORD PTR[60+rsp] + add ecx,DWORD PTR[60+rsp] and edi,eax xor eax,ebx ror ebp,7 @@ -828,11 +828,11 @@ DB 102,15,56,220,208 xor ebp,eax add ecx,edx pxor xmm4,xmm8 - add ebx,DWORD PTR[rsp] + add ebx,DWORD PTR[rsp] and esi,ebp xor ebp,eax ror edx,7 - movups xmm0,XMMWORD PTR[r15] + movups xmm0,XMMWORD PTR[r15] DB 102,15,56,220,209 punpcklqdq xmm12,xmm11 mov edi,ecx @@ -846,14 +846,14 @@ DB 102,15,56,220,209 xor edx,ebp pxor xmm4,xmm12 add ebx,ecx - add eax,DWORD PTR[4+rsp] + add eax,DWORD PTR[4+rsp] and edi,edx xor edx,ebp ror ecx,7 movdqa xmm12,xmm4 mov esi,ebx xor edi,edx - movdqa XMMWORD PTR[48+rsp],xmm13 + movdqa XMMWORD PTR[48+rsp],xmm13 rol ebx,5 add eax,edi xor esi,ecx @@ -861,8 +861,8 @@ DB 102,15,56,220,209 xor ecx,edx add eax,ebx psrld xmm12,30 - add ebp,DWORD PTR[8+rsp] - movups xmm1,XMMWORD PTR[16+r15] + add ebp,DWORD PTR[8+rsp] + movups xmm1,XMMWORD PTR[16+r15] DB 102,15,56,220,208 and esi,ecx xor ecx,edx @@ -876,7 +876,7 @@ DB 102,15,56,220,208 xor edi,ebx xor ebx,ecx add ebp,eax - add edx,DWORD PTR[12+rsp] + add edx,DWORD PTR[12+rsp] and edi,ebx xor ebx,ecx ror eax,7 @@ -884,13 +884,13 @@ DB 102,15,56,220,208 xor edi,ebx rol ebp,5 add edx,edi - movups xmm0,XMMWORD PTR[32+r15] + movups xmm0,XMMWORD PTR[32+r15] DB 102,15,56,220,209 xor esi,eax xor eax,ebx add edx,ebp pxor xmm5,xmm9 - add ecx,DWORD PTR[16+rsp] + add ecx,DWORD PTR[16+rsp] and esi,eax xor eax,ebx ror ebp,7 @@ -906,16 +906,16 @@ DB 102,15,56,220,209 xor ebp,eax pxor xmm5,xmm13 add ecx,edx - add ebx,DWORD PTR[20+rsp] + add ebx,DWORD PTR[20+rsp] and edi,ebp xor ebp,eax ror edx,7 - movups xmm1,XMMWORD PTR[48+r15] + movups xmm1,XMMWORD PTR[48+r15] DB 102,15,56,220,208 movdqa xmm13,xmm5 mov esi,ecx xor edi,ebp - movdqa XMMWORD PTR[rsp],xmm3 + movdqa XMMWORD PTR[rsp],xmm3 rol ecx,5 add ebx,edi xor esi,edx @@ -923,7 +923,7 @@ DB 102,15,56,220,208 xor edx,ebp add ebx,ecx psrld xmm13,30 - add eax,DWORD PTR[24+rsp] + add eax,DWORD PTR[24+rsp] and esi,edx xor edx,ebp por xmm5,xmm13 @@ -936,21 +936,21 @@ DB 102,15,56,220,208 xor edi,ecx xor ecx,edx add eax,ebx - add ebp,DWORD PTR[28+rsp] + add ebp,DWORD PTR[28+rsp] cmp r8d,11 - jb $L$aesenclast3 - movups xmm0,XMMWORD PTR[64+r15] + jb $L$aesenclast3 + movups xmm0,XMMWORD PTR[64+r15] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[80+r15] + movups xmm1,XMMWORD PTR[80+r15] DB 102,15,56,220,208 - je $L$aesenclast3 - movups xmm0,XMMWORD PTR[96+r15] + je $L$aesenclast3 + movups xmm0,XMMWORD PTR[96+r15] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[112+r15] + movups xmm1,XMMWORD PTR[112+r15] DB 102,15,56,220,208 -$L$aesenclast3:: +$L$aesenclast3:: DB 102,15,56,221,209 - movups xmm0,XMMWORD PTR[((16-112))+r15] + movups xmm0,XMMWORD PTR[((16-112))+r15] and edi,ecx xor ecx,edx ror ebx,7 @@ -962,7 +962,7 @@ DB 102,15,56,221,209 xor ebx,ecx add ebp,eax pxor xmm6,xmm10 - add edx,DWORD PTR[32+rsp] + add edx,DWORD PTR[32+rsp] and esi,ebx xor ebx,ecx ror eax,7 @@ -972,11 +972,11 @@ DB 102,15,56,221,209 pxor xmm6,xmm7 rol ebp,5 add edx,esi - movups xmm14,XMMWORD PTR[48+r12] + movups xmm14,XMMWORD PTR[48+r12] xorps xmm14,xmm15 - movups XMMWORD PTR[32+r12*1+r13],xmm2 + movups XMMWORD PTR[32+r12*1+r13],xmm2 xorps xmm2,xmm14 - movups xmm1,XMMWORD PTR[((-80))+r15] + movups xmm1,XMMWORD PTR[((-80))+r15] DB 102,15,56,220,208 movdqa xmm13,xmm12 xor edi,eax @@ -984,14 +984,14 @@ DB 102,15,56,220,208 xor eax,ebx pxor xmm6,xmm3 add edx,ebp - add ecx,DWORD PTR[36+rsp] + add ecx,DWORD PTR[36+rsp] and edi,eax xor eax,ebx ror ebp,7 movdqa xmm3,xmm6 mov esi,edx xor edi,eax - movdqa XMMWORD PTR[16+rsp],xmm12 + movdqa XMMWORD PTR[16+rsp],xmm12 rol edx,5 add ecx,edi xor esi,ebp @@ -999,12 +999,12 @@ DB 102,15,56,220,208 xor ebp,eax add ecx,edx psrld xmm3,30 - add ebx,DWORD PTR[40+rsp] + add ebx,DWORD PTR[40+rsp] and esi,ebp xor ebp,eax por xmm6,xmm3 ror edx,7 - movups xmm0,XMMWORD PTR[((-64))+r15] + movups xmm0,XMMWORD PTR[((-64))+r15] DB 102,15,56,220,209 mov edi,ecx xor esi,ebp @@ -1014,7 +1014,7 @@ DB 102,15,56,220,209 xor edi,edx xor edx,ebp add ebx,ecx - add eax,DWORD PTR[44+rsp] + add eax,DWORD PTR[44+rsp] and edi,edx xor edx,ebp ror ecx,7 @@ -1025,8 +1025,8 @@ DB 102,15,56,220,209 xor esi,edx add eax,ebx pxor xmm7,xmm11 - add ebp,DWORD PTR[48+rsp] - movups xmm1,XMMWORD PTR[((-48))+r15] + add ebp,DWORD PTR[48+rsp] + movups xmm1,XMMWORD PTR[((-48))+r15] DB 102,15,56,220,208 xor esi,ecx punpcklqdq xmm12,xmm6 @@ -1040,30 +1040,30 @@ DB 102,15,56,220,208 paddd xmm13,xmm6 add ebp,eax pxor xmm7,xmm12 - add edx,DWORD PTR[52+rsp] + add edx,DWORD PTR[52+rsp] xor edi,ebx mov esi,ebp rol ebp,5 movdqa xmm12,xmm7 add edx,edi xor esi,ebx - movdqa XMMWORD PTR[32+rsp],xmm13 + movdqa XMMWORD PTR[32+rsp],xmm13 ror eax,7 add edx,ebp - add ecx,DWORD PTR[56+rsp] + add ecx,DWORD PTR[56+rsp] pslld xmm7,2 xor esi,eax mov edi,edx psrld xmm12,30 rol edx,5 add ecx,esi - movups xmm0,XMMWORD PTR[((-32))+r15] + movups xmm0,XMMWORD PTR[((-32))+r15] DB 102,15,56,220,209 xor edi,eax ror ebp,7 por xmm7,xmm12 add ecx,edx - add ebx,DWORD PTR[60+rsp] + add ebx,DWORD PTR[60+rsp] xor edi,ebp mov esi,ecx rol ecx,5 @@ -1071,18 +1071,18 @@ DB 102,15,56,220,209 xor esi,ebp ror edx,7 add ebx,ecx - add eax,DWORD PTR[rsp] + add eax,DWORD PTR[rsp] xor esi,edx mov edi,ebx rol ebx,5 paddd xmm3,xmm7 add eax,esi xor edi,edx - movdqa XMMWORD PTR[48+rsp],xmm3 + movdqa XMMWORD PTR[48+rsp],xmm3 ror ecx,7 add eax,ebx - add ebp,DWORD PTR[4+rsp] - movups xmm1,XMMWORD PTR[((-16))+r15] + add ebp,DWORD PTR[4+rsp] + movups xmm1,XMMWORD PTR[((-16))+r15] DB 102,15,56,220,208 xor edi,ecx mov esi,eax @@ -1091,7 +1091,7 @@ DB 102,15,56,220,208 xor esi,ecx ror ebx,7 add ebp,eax - add edx,DWORD PTR[8+rsp] + add edx,DWORD PTR[8+rsp] xor esi,ebx mov edi,ebp rol ebp,5 @@ -1099,27 +1099,27 @@ DB 102,15,56,220,208 xor edi,ebx ror eax,7 add edx,ebp - add ecx,DWORD PTR[12+rsp] + add ecx,DWORD PTR[12+rsp] xor edi,eax mov esi,edx rol edx,5 add ecx,edi - movups xmm0,XMMWORD PTR[r15] + movups xmm0,XMMWORD PTR[r15] DB 102,15,56,220,209 xor esi,eax ror ebp,7 add ecx,edx cmp r10,r14 - je $L$done_ssse3 - movdqa xmm3,XMMWORD PTR[64+r11] - movdqa xmm13,XMMWORD PTR[r11] - movdqu xmm4,XMMWORD PTR[r10] - movdqu xmm5,XMMWORD PTR[16+r10] - movdqu xmm6,XMMWORD PTR[32+r10] - movdqu xmm7,XMMWORD PTR[48+r10] + je $L$done_ssse3 + movdqa xmm3,XMMWORD PTR[64+r11] + movdqa xmm13,XMMWORD PTR[r11] + movdqu xmm4,XMMWORD PTR[r10] + movdqu xmm5,XMMWORD PTR[16+r10] + movdqu xmm6,XMMWORD PTR[32+r10] + movdqu xmm7,XMMWORD PTR[48+r10] DB 102,15,56,0,227 add r10,64 - add ebx,DWORD PTR[16+rsp] + add ebx,DWORD PTR[16+rsp] xor esi,ebp mov edi,ecx DB 102,15,56,0,235 @@ -1129,18 +1129,18 @@ DB 102,15,56,0,235 ror edx,7 paddd xmm4,xmm13 add ebx,ecx - add eax,DWORD PTR[20+rsp] + add eax,DWORD PTR[20+rsp] xor edi,edx mov esi,ebx - movdqa XMMWORD PTR[rsp],xmm4 + movdqa XMMWORD PTR[rsp],xmm4 rol ebx,5 add eax,edi xor esi,edx ror ecx,7 psubd xmm4,xmm13 add eax,ebx - add ebp,DWORD PTR[24+rsp] - movups xmm1,XMMWORD PTR[16+r15] + add ebp,DWORD PTR[24+rsp] + movups xmm1,XMMWORD PTR[16+r15] DB 102,15,56,220,208 xor esi,ecx mov edi,eax @@ -1149,7 +1149,7 @@ DB 102,15,56,220,208 xor edi,ecx ror ebx,7 add ebp,eax - add edx,DWORD PTR[28+rsp] + add edx,DWORD PTR[28+rsp] xor edi,ebx mov esi,ebp rol ebp,5 @@ -1157,29 +1157,29 @@ DB 102,15,56,220,208 xor esi,ebx ror eax,7 add edx,ebp - add ecx,DWORD PTR[32+rsp] + add ecx,DWORD PTR[32+rsp] xor esi,eax mov edi,edx DB 102,15,56,0,243 rol edx,5 add ecx,esi - movups xmm0,XMMWORD PTR[32+r15] + movups xmm0,XMMWORD PTR[32+r15] DB 102,15,56,220,209 xor edi,eax ror ebp,7 paddd xmm5,xmm13 add ecx,edx - add ebx,DWORD PTR[36+rsp] + add ebx,DWORD PTR[36+rsp] xor edi,ebp mov esi,ecx - movdqa XMMWORD PTR[16+rsp],xmm5 + movdqa XMMWORD PTR[16+rsp],xmm5 rol ecx,5 add ebx,edi xor esi,ebp ror edx,7 psubd xmm5,xmm13 add ebx,ecx - add eax,DWORD PTR[40+rsp] + add eax,DWORD PTR[40+rsp] xor esi,edx mov edi,ebx rol ebx,5 @@ -1187,8 +1187,8 @@ DB 102,15,56,220,209 xor edi,edx ror ecx,7 add eax,ebx - add ebp,DWORD PTR[44+rsp] - movups xmm1,XMMWORD PTR[48+r15] + add ebp,DWORD PTR[44+rsp] + movups xmm1,XMMWORD PTR[48+r15] DB 102,15,56,220,208 xor edi,ecx mov esi,eax @@ -1197,7 +1197,7 @@ DB 102,15,56,220,208 xor esi,ecx ror ebx,7 add ebp,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD PTR[48+rsp] xor esi,ebx mov edi,ebp DB 102,15,56,0,251 @@ -1207,31 +1207,31 @@ DB 102,15,56,0,251 ror eax,7 paddd xmm6,xmm13 add edx,ebp - add ecx,DWORD PTR[52+rsp] + add ecx,DWORD PTR[52+rsp] xor edi,eax mov esi,edx - movdqa XMMWORD PTR[32+rsp],xmm6 + movdqa XMMWORD PTR[32+rsp],xmm6 rol edx,5 add ecx,edi cmp r8d,11 - jb $L$aesenclast4 - movups xmm0,XMMWORD PTR[64+r15] + jb $L$aesenclast4 + movups xmm0,XMMWORD PTR[64+r15] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[80+r15] + movups xmm1,XMMWORD PTR[80+r15] DB 102,15,56,220,208 - je $L$aesenclast4 - movups xmm0,XMMWORD PTR[96+r15] + je $L$aesenclast4 + movups xmm0,XMMWORD PTR[96+r15] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[112+r15] + movups xmm1,XMMWORD PTR[112+r15] DB 102,15,56,220,208 -$L$aesenclast4:: +$L$aesenclast4:: DB 102,15,56,221,209 - movups xmm0,XMMWORD PTR[((16-112))+r15] + movups xmm0,XMMWORD PTR[((16-112))+r15] xor esi,eax ror ebp,7 psubd xmm6,xmm13 add ecx,edx - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD PTR[56+rsp] xor esi,ebp mov edi,ecx rol ecx,5 @@ -1239,34 +1239,34 @@ DB 102,15,56,221,209 xor edi,ebp ror edx,7 add ebx,ecx - add eax,DWORD PTR[60+rsp] + add eax,DWORD PTR[60+rsp] xor edi,edx mov esi,ebx rol ebx,5 add eax,edi ror ecx,7 add eax,ebx - movups XMMWORD PTR[48+r12*1+r13],xmm2 - lea r12,QWORD PTR[64+r12] - - add eax,DWORD PTR[r9] - add esi,DWORD PTR[4+r9] - add ecx,DWORD PTR[8+r9] - add edx,DWORD PTR[12+r9] - mov DWORD PTR[r9],eax - add ebp,DWORD PTR[16+r9] - mov DWORD PTR[4+r9],esi + movups XMMWORD PTR[48+r12*1+r13],xmm2 + lea r12,QWORD PTR[64+r12] + + add eax,DWORD PTR[r9] + add esi,DWORD PTR[4+r9] + add ecx,DWORD PTR[8+r9] + add edx,DWORD PTR[12+r9] + mov DWORD PTR[r9],eax + add ebp,DWORD PTR[16+r9] + mov DWORD PTR[4+r9],esi mov ebx,esi - mov DWORD PTR[8+r9],ecx + mov DWORD PTR[8+r9],ecx mov edi,ecx - mov DWORD PTR[12+r9],edx + mov DWORD PTR[12+r9],edx xor edi,edx - mov DWORD PTR[16+r9],ebp + mov DWORD PTR[16+r9],ebp and esi,edi - jmp $L$oop_ssse3 + jmp $L$oop_ssse3 -$L$done_ssse3:: - add ebx,DWORD PTR[16+rsp] +$L$done_ssse3:: + add ebx,DWORD PTR[16+rsp] xor esi,ebp mov edi,ecx rol ecx,5 @@ -1274,7 +1274,7 @@ $L$done_ssse3:: xor edi,ebp ror edx,7 add ebx,ecx - add eax,DWORD PTR[20+rsp] + add eax,DWORD PTR[20+rsp] xor edi,edx mov esi,ebx rol ebx,5 @@ -1282,8 +1282,8 @@ $L$done_ssse3:: xor esi,edx ror ecx,7 add eax,ebx - add ebp,DWORD PTR[24+rsp] - movups xmm1,XMMWORD PTR[16+r15] + add ebp,DWORD PTR[24+rsp] + movups xmm1,XMMWORD PTR[16+r15] DB 102,15,56,220,208 xor esi,ecx mov edi,eax @@ -1292,7 +1292,7 @@ DB 102,15,56,220,208 xor edi,ecx ror ebx,7 add ebp,eax - add edx,DWORD PTR[28+rsp] + add edx,DWORD PTR[28+rsp] xor edi,ebx mov esi,ebp rol ebp,5 @@ -1300,17 +1300,17 @@ DB 102,15,56,220,208 xor esi,ebx ror eax,7 add edx,ebp - add ecx,DWORD PTR[32+rsp] + add ecx,DWORD PTR[32+rsp] xor esi,eax mov edi,edx rol edx,5 add ecx,esi - movups xmm0,XMMWORD PTR[32+r15] + movups xmm0,XMMWORD PTR[32+r15] DB 102,15,56,220,209 xor edi,eax ror ebp,7 add ecx,edx - add ebx,DWORD PTR[36+rsp] + add ebx,DWORD PTR[36+rsp] xor edi,ebp mov esi,ecx rol ecx,5 @@ -1318,7 +1318,7 @@ DB 102,15,56,220,209 xor esi,ebp ror edx,7 add ebx,ecx - add eax,DWORD PTR[40+rsp] + add eax,DWORD PTR[40+rsp] xor esi,edx mov edi,ebx rol ebx,5 @@ -1326,8 +1326,8 @@ DB 102,15,56,220,209 xor edi,edx ror ecx,7 add eax,ebx - add ebp,DWORD PTR[44+rsp] - movups xmm1,XMMWORD PTR[48+r15] + add ebp,DWORD PTR[44+rsp] + movups xmm1,XMMWORD PTR[48+r15] DB 102,15,56,220,208 xor edi,ecx mov esi,eax @@ -1336,7 +1336,7 @@ DB 102,15,56,220,208 xor esi,ecx ror ebx,7 add ebp,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD PTR[48+rsp] xor esi,ebx mov edi,ebp rol ebp,5 @@ -1344,29 +1344,29 @@ DB 102,15,56,220,208 xor edi,ebx ror eax,7 add edx,ebp - add ecx,DWORD PTR[52+rsp] + add ecx,DWORD PTR[52+rsp] xor edi,eax mov esi,edx rol edx,5 add ecx,edi cmp r8d,11 - jb $L$aesenclast5 - movups xmm0,XMMWORD PTR[64+r15] + jb $L$aesenclast5 + movups xmm0,XMMWORD PTR[64+r15] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[80+r15] + movups xmm1,XMMWORD PTR[80+r15] DB 102,15,56,220,208 - je $L$aesenclast5 - movups xmm0,XMMWORD PTR[96+r15] + je $L$aesenclast5 + movups xmm0,XMMWORD PTR[96+r15] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[112+r15] + movups xmm1,XMMWORD PTR[112+r15] DB 102,15,56,220,208 -$L$aesenclast5:: +$L$aesenclast5:: DB 102,15,56,221,209 - movups xmm0,XMMWORD PTR[((16-112))+r15] + movups xmm0,XMMWORD PTR[((16-112))+r15] xor esi,eax ror ebp,7 add ecx,edx - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD PTR[56+rsp] xor esi,ebp mov edi,ecx rol ecx,5 @@ -1374,77 +1374,77 @@ DB 102,15,56,221,209 xor edi,ebp ror edx,7 add ebx,ecx - add eax,DWORD PTR[60+rsp] + add eax,DWORD PTR[60+rsp] xor edi,edx mov esi,ebx rol ebx,5 add eax,edi ror ecx,7 add eax,ebx - movups XMMWORD PTR[48+r12*1+r13],xmm2 - mov r8,QWORD PTR[88+rsp] - - add eax,DWORD PTR[r9] - add esi,DWORD PTR[4+r9] - add ecx,DWORD PTR[8+r9] - mov DWORD PTR[r9],eax - add edx,DWORD PTR[12+r9] - mov DWORD PTR[4+r9],esi - add ebp,DWORD PTR[16+r9] - mov DWORD PTR[8+r9],ecx - mov DWORD PTR[12+r9],edx - mov DWORD PTR[16+r9],ebp - movups XMMWORD PTR[r8],xmm2 - movaps xmm6,XMMWORD PTR[((96+0))+rsp] - movaps xmm7,XMMWORD PTR[((96+16))+rsp] - movaps xmm8,XMMWORD PTR[((96+32))+rsp] - movaps xmm9,XMMWORD PTR[((96+48))+rsp] - movaps xmm10,XMMWORD PTR[((96+64))+rsp] - movaps xmm11,XMMWORD PTR[((96+80))+rsp] - movaps xmm12,XMMWORD PTR[((96+96))+rsp] - movaps xmm13,XMMWORD PTR[((96+112))+rsp] - movaps xmm14,XMMWORD PTR[((96+128))+rsp] - movaps xmm15,XMMWORD PTR[((96+144))+rsp] - lea rsi,QWORD PTR[264+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] + movups XMMWORD PTR[48+r12*1+r13],xmm2 + mov r8,QWORD PTR[88+rsp] + + add eax,DWORD PTR[r9] + add esi,DWORD PTR[4+r9] + add ecx,DWORD PTR[8+r9] + mov DWORD PTR[r9],eax + add edx,DWORD PTR[12+r9] + mov DWORD PTR[4+r9],esi + add ebp,DWORD PTR[16+r9] + mov DWORD PTR[8+r9],ecx + mov DWORD PTR[12+r9],edx + mov DWORD PTR[16+r9],ebp + movups XMMWORD PTR[r8],xmm2 + movaps xmm6,XMMWORD PTR[((96+0))+rsp] + movaps xmm7,XMMWORD PTR[((96+16))+rsp] + movaps xmm8,XMMWORD PTR[((96+32))+rsp] + movaps xmm9,XMMWORD PTR[((96+48))+rsp] + movaps xmm10,XMMWORD PTR[((96+64))+rsp] + movaps xmm11,XMMWORD PTR[((96+80))+rsp] + movaps xmm12,XMMWORD PTR[((96+96))+rsp] + movaps xmm13,XMMWORD PTR[((96+112))+rsp] + movaps xmm14,XMMWORD PTR[((96+128))+rsp] + movaps xmm15,XMMWORD PTR[((96+144))+rsp] + lea rsi,QWORD PTR[264+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] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_sha1_enc_ssse3:: -aesni_cbc_sha1_enc_ssse3 ENDP +$L$SEH_end_aesni_cbc_sha1_enc_ssse3:: +aesni_cbc_sha1_enc_ssse3 ENDP ALIGN 32 -aesni_cbc_sha1_enc_avx PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_cbc_sha1_enc_avx PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_cbc_sha1_enc_avx:: +$L$SEH_begin_aesni_cbc_sha1_enc_avx:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] - mov r10,QWORD PTR[56+rsp] + mov r10,QWORD PTR[56+rsp] push rbx @@ -1459,50 +1459,50 @@ $L$SEH_begin_aesni_cbc_sha1_enc_avx:: push r15 - lea rsp,QWORD PTR[((-264))+rsp] + lea rsp,QWORD PTR[((-264))+rsp] - movaps XMMWORD PTR[(96+0)+rsp],xmm6 - movaps XMMWORD PTR[(96+16)+rsp],xmm7 - movaps XMMWORD PTR[(96+32)+rsp],xmm8 - movaps XMMWORD PTR[(96+48)+rsp],xmm9 - movaps XMMWORD PTR[(96+64)+rsp],xmm10 - movaps XMMWORD PTR[(96+80)+rsp],xmm11 - movaps XMMWORD PTR[(96+96)+rsp],xmm12 - movaps XMMWORD PTR[(96+112)+rsp],xmm13 - movaps XMMWORD PTR[(96+128)+rsp],xmm14 - movaps XMMWORD PTR[(96+144)+rsp],xmm15 -$L$prologue_avx:: + movaps XMMWORD PTR[(96+0)+rsp],xmm6 + movaps XMMWORD PTR[(96+16)+rsp],xmm7 + movaps XMMWORD PTR[(96+32)+rsp],xmm8 + movaps XMMWORD PTR[(96+48)+rsp],xmm9 + movaps XMMWORD PTR[(96+64)+rsp],xmm10 + movaps XMMWORD PTR[(96+80)+rsp],xmm11 + movaps XMMWORD PTR[(96+96)+rsp],xmm12 + movaps XMMWORD PTR[(96+112)+rsp],xmm13 + movaps XMMWORD PTR[(96+128)+rsp],xmm14 + movaps XMMWORD PTR[(96+144)+rsp],xmm15 +$L$prologue_avx:: vzeroall mov r12,rdi mov r13,rsi mov r14,rdx - lea r15,QWORD PTR[112+rcx] - vmovdqu xmm12,XMMWORD PTR[r8] - mov QWORD PTR[88+rsp],r8 + lea r15,QWORD PTR[112+rcx] + vmovdqu xmm12,XMMWORD PTR[r8] + mov QWORD PTR[88+rsp],r8 shl r14,6 sub r13,r12 - mov r8d,DWORD PTR[((240-112))+r15] + mov r8d,DWORD PTR[((240-112))+r15] add r14,r10 - lea r11,QWORD PTR[K_XX_XX] - mov eax,DWORD PTR[r9] - mov ebx,DWORD PTR[4+r9] - mov ecx,DWORD PTR[8+r9] - mov edx,DWORD PTR[12+r9] + lea r11,QWORD PTR[K_XX_XX] + mov eax,DWORD PTR[r9] + mov ebx,DWORD PTR[4+r9] + mov ecx,DWORD PTR[8+r9] + mov edx,DWORD PTR[12+r9] mov esi,ebx - mov ebp,DWORD PTR[16+r9] + mov ebp,DWORD PTR[16+r9] mov edi,ecx xor edi,edx and esi,edi - vmovdqa xmm6,XMMWORD PTR[64+r11] - vmovdqa xmm10,XMMWORD PTR[r11] - vmovdqu xmm0,XMMWORD PTR[r10] - vmovdqu xmm1,XMMWORD PTR[16+r10] - vmovdqu xmm2,XMMWORD PTR[32+r10] - vmovdqu xmm3,XMMWORD PTR[48+r10] + vmovdqa xmm6,XMMWORD PTR[64+r11] + vmovdqa xmm10,XMMWORD PTR[r11] + vmovdqu xmm0,XMMWORD PTR[r10] + vmovdqu xmm1,XMMWORD PTR[16+r10] + vmovdqu xmm2,XMMWORD PTR[32+r10] + vmovdqu xmm3,XMMWORD PTR[48+r10] vpshufb xmm0,xmm0,xmm6 add r10,64 vpshufb xmm1,xmm1,xmm6 @@ -1511,24 +1511,24 @@ $L$prologue_avx:: vpaddd xmm4,xmm0,xmm10 vpaddd xmm5,xmm1,xmm10 vpaddd xmm6,xmm2,xmm10 - vmovdqa XMMWORD PTR[rsp],xmm4 - vmovdqa XMMWORD PTR[16+rsp],xmm5 - vmovdqa XMMWORD PTR[32+rsp],xmm6 - vmovups xmm15,XMMWORD PTR[((-112))+r15] - vmovups xmm14,XMMWORD PTR[((16-112))+r15] - jmp $L$oop_avx + vmovdqa XMMWORD PTR[rsp],xmm4 + vmovdqa XMMWORD PTR[16+rsp],xmm5 + vmovdqa XMMWORD PTR[32+rsp],xmm6 + vmovups xmm15,XMMWORD PTR[((-112))+r15] + vmovups xmm14,XMMWORD PTR[((16-112))+r15] + jmp $L$oop_avx ALIGN 32 -$L$oop_avx:: +$L$oop_avx:: shrd ebx,ebx,2 - vmovdqu xmm13,XMMWORD PTR[r12] + vmovdqu xmm13,XMMWORD PTR[r12] vpxor xmm13,xmm13,xmm15 vpxor xmm12,xmm12,xmm13 vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[((-80))+r15] + vmovups xmm15,XMMWORD PTR[((-80))+r15] xor esi,edx vpalignr xmm4,xmm1,xmm0,8 mov edi,eax - add ebp,DWORD PTR[rsp] + add ebp,DWORD PTR[rsp] vpaddd xmm9,xmm10,xmm3 xor ebx,ecx shld eax,eax,5 @@ -1542,14 +1542,14 @@ $L$oop_avx:: shrd eax,eax,7 xor edi,ecx mov esi,ebp - add edx,DWORD PTR[4+rsp] + add edx,DWORD PTR[4+rsp] vpxor xmm4,xmm4,xmm8 xor eax,ebx shld ebp,ebp,5 - vmovdqa XMMWORD PTR[48+rsp],xmm9 + vmovdqa XMMWORD PTR[48+rsp],xmm9 add edx,edi vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[((-64))+r15] + vmovups xmm14,XMMWORD PTR[((-64))+r15] and esi,eax vpsrld xmm8,xmm4,31 xor eax,ebx @@ -1559,7 +1559,7 @@ $L$oop_avx:: vpslldq xmm9,xmm4,12 vpaddd xmm4,xmm4,xmm4 mov edi,edx - add ecx,DWORD PTR[8+rsp] + add ecx,DWORD PTR[8+rsp] xor ebp,eax shld edx,edx,5 vpor xmm4,xmm4,xmm8 @@ -1573,9 +1573,9 @@ $L$oop_avx:: shrd edx,edx,7 xor edi,eax mov esi,ecx - add ebx,DWORD PTR[12+rsp] + add ebx,DWORD PTR[12+rsp] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[((-48))+r15] + vmovups xmm15,XMMWORD PTR[((-48))+r15] vpxor xmm4,xmm4,xmm9 xor edx,ebp shld ecx,ecx,5 @@ -1587,7 +1587,7 @@ $L$oop_avx:: xor esi,ebp vpalignr xmm5,xmm2,xmm1,8 mov edi,ebx - add eax,DWORD PTR[16+rsp] + add eax,DWORD PTR[16+rsp] vpaddd xmm9,xmm10,xmm4 xor ecx,edx shld ebx,ebx,5 @@ -1600,14 +1600,14 @@ $L$oop_avx:: vpxor xmm8,xmm8,xmm3 shrd ebx,ebx,7 vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[((-32))+r15] + vmovups xmm14,XMMWORD PTR[((-32))+r15] xor edi,edx mov esi,eax - add ebp,DWORD PTR[20+rsp] + add ebp,DWORD PTR[20+rsp] vpxor xmm5,xmm5,xmm8 xor ebx,ecx shld eax,eax,5 - vmovdqa XMMWORD PTR[rsp],xmm9 + vmovdqa XMMWORD PTR[rsp],xmm9 add ebp,edi and esi,ebx vpsrld xmm8,xmm5,31 @@ -1618,14 +1618,14 @@ $L$oop_avx:: vpslldq xmm9,xmm5,12 vpaddd xmm5,xmm5,xmm5 mov edi,ebp - add edx,DWORD PTR[24+rsp] + add edx,DWORD PTR[24+rsp] xor eax,ebx shld ebp,ebp,5 vpor xmm5,xmm5,xmm8 vpsrld xmm8,xmm9,30 add edx,esi vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[((-16))+r15] + vmovups xmm15,XMMWORD PTR[((-16))+r15] and edi,eax xor eax,ebx add edx,ebp @@ -1634,11 +1634,11 @@ $L$oop_avx:: shrd ebp,ebp,7 xor edi,ebx mov esi,edx - add ecx,DWORD PTR[28+rsp] + add ecx,DWORD PTR[28+rsp] vpxor xmm5,xmm5,xmm9 xor ebp,eax shld edx,edx,5 - vmovdqa xmm10,XMMWORD PTR[16+r11] + vmovdqa xmm10,XMMWORD PTR[16+r11] add ecx,edi and esi,ebp xor ebp,eax @@ -1647,9 +1647,9 @@ $L$oop_avx:: xor esi,eax vpalignr xmm6,xmm3,xmm2,8 mov edi,ecx - add ebx,DWORD PTR[32+rsp] + add ebx,DWORD PTR[32+rsp] vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[r15] + vmovups xmm14,XMMWORD PTR[r15] vpaddd xmm9,xmm10,xmm5 xor edx,ebp shld ecx,ecx,5 @@ -1663,11 +1663,11 @@ $L$oop_avx:: shrd ecx,ecx,7 xor edi,ebp mov esi,ebx - add eax,DWORD PTR[36+rsp] + add eax,DWORD PTR[36+rsp] vpxor xmm6,xmm6,xmm8 xor ecx,edx shld ebx,ebx,5 - vmovdqa XMMWORD PTR[16+rsp],xmm9 + vmovdqa XMMWORD PTR[16+rsp],xmm9 add eax,edi and esi,ecx vpsrld xmm8,xmm6,31 @@ -1675,12 +1675,12 @@ $L$oop_avx:: add eax,ebx shrd ebx,ebx,7 vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[16+r15] + vmovups xmm15,XMMWORD PTR[16+r15] xor esi,edx vpslldq xmm9,xmm6,12 vpaddd xmm6,xmm6,xmm6 mov edi,eax - add ebp,DWORD PTR[40+rsp] + add ebp,DWORD PTR[40+rsp] xor ebx,ecx shld eax,eax,5 vpor xmm6,xmm6,xmm8 @@ -1694,13 +1694,13 @@ $L$oop_avx:: shrd eax,eax,7 xor edi,ecx mov esi,ebp - add edx,DWORD PTR[44+rsp] + add edx,DWORD PTR[44+rsp] vpxor xmm6,xmm6,xmm9 xor eax,ebx shld ebp,ebp,5 add edx,edi vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[32+r15] + vmovups xmm14,XMMWORD PTR[32+r15] and esi,eax xor eax,ebx add edx,ebp @@ -1708,7 +1708,7 @@ $L$oop_avx:: xor esi,ebx vpalignr xmm7,xmm4,xmm3,8 mov edi,edx - add ecx,DWORD PTR[48+rsp] + add ecx,DWORD PTR[48+rsp] vpaddd xmm9,xmm10,xmm6 xor ebp,eax shld edx,edx,5 @@ -1722,13 +1722,13 @@ $L$oop_avx:: shrd edx,edx,7 xor edi,eax mov esi,ecx - add ebx,DWORD PTR[52+rsp] + add ebx,DWORD PTR[52+rsp] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[48+r15] + vmovups xmm15,XMMWORD PTR[48+r15] vpxor xmm7,xmm7,xmm8 xor edx,ebp shld ecx,ecx,5 - vmovdqa XMMWORD PTR[32+rsp],xmm9 + vmovdqa XMMWORD PTR[32+rsp],xmm9 add ebx,edi and esi,edx vpsrld xmm8,xmm7,31 @@ -1739,7 +1739,7 @@ $L$oop_avx:: vpslldq xmm9,xmm7,12 vpaddd xmm7,xmm7,xmm7 mov edi,ebx - add eax,DWORD PTR[56+rsp] + add eax,DWORD PTR[56+rsp] xor ecx,edx shld ebx,ebx,5 vpor xmm7,xmm7,xmm8 @@ -1752,23 +1752,23 @@ $L$oop_avx:: vpxor xmm7,xmm7,xmm8 shrd ebx,ebx,7 cmp r8d,11 - jb $L$vaesenclast6 + jb $L$vaesenclast6 vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[64+r15] + vmovups xmm14,XMMWORD PTR[64+r15] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[80+r15] - je $L$vaesenclast6 + vmovups xmm15,XMMWORD PTR[80+r15] + je $L$vaesenclast6 vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[96+r15] + vmovups xmm14,XMMWORD PTR[96+r15] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[112+r15] -$L$vaesenclast6:: + vmovups xmm15,XMMWORD PTR[112+r15] +$L$vaesenclast6:: vaesenclast xmm12,xmm12,xmm15 - vmovups xmm15,XMMWORD PTR[((-112))+r15] - vmovups xmm14,XMMWORD PTR[((16-112))+r15] + vmovups xmm15,XMMWORD PTR[((-112))+r15] + vmovups xmm14,XMMWORD PTR[((16-112))+r15] xor edi,edx mov esi,eax - add ebp,DWORD PTR[60+rsp] + add ebp,DWORD PTR[60+rsp] vpxor xmm7,xmm7,xmm9 xor ebx,ecx shld eax,eax,5 @@ -1781,18 +1781,18 @@ $L$vaesenclast6:: shrd eax,eax,7 xor esi,ecx mov edi,ebp - add edx,DWORD PTR[rsp] + add edx,DWORD PTR[rsp] vpxor xmm0,xmm0,xmm1 xor eax,ebx shld ebp,ebp,5 vpaddd xmm9,xmm10,xmm7 add edx,esi - vmovdqu xmm13,XMMWORD PTR[16+r12] + vmovdqu xmm13,XMMWORD PTR[16+r12] vpxor xmm13,xmm13,xmm15 - vmovups XMMWORD PTR[r13*1+r12],xmm12 + vmovups XMMWORD PTR[r13*1+r12],xmm12 vpxor xmm12,xmm12,xmm13 vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[((-80))+r15] + vmovups xmm15,XMMWORD PTR[((-80))+r15] and edi,eax vpxor xmm0,xmm0,xmm8 xor eax,ebx @@ -1800,9 +1800,9 @@ $L$vaesenclast6:: shrd ebp,ebp,7 xor edi,ebx vpsrld xmm8,xmm0,30 - vmovdqa XMMWORD PTR[48+rsp],xmm9 + vmovdqa XMMWORD PTR[48+rsp],xmm9 mov esi,edx - add ecx,DWORD PTR[4+rsp] + add ecx,DWORD PTR[4+rsp] xor ebp,eax shld edx,edx,5 vpslld xmm0,xmm0,2 @@ -1813,9 +1813,9 @@ $L$vaesenclast6:: shrd edx,edx,7 xor esi,eax mov edi,ecx - add ebx,DWORD PTR[8+rsp] + add ebx,DWORD PTR[8+rsp] vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[((-64))+r15] + vmovups xmm14,XMMWORD PTR[((-64))+r15] vpor xmm0,xmm0,xmm8 xor edx,ebp shld ecx,ecx,5 @@ -1823,7 +1823,7 @@ $L$vaesenclast6:: and edi,edx xor edx,ebp add ebx,ecx - add eax,DWORD PTR[12+rsp] + add eax,DWORD PTR[12+rsp] xor edi,ebp mov esi,ebx shld ebx,ebx,5 @@ -1833,9 +1833,9 @@ $L$vaesenclast6:: add eax,ebx vpalignr xmm8,xmm0,xmm7,8 vpxor xmm1,xmm1,xmm5 - add ebp,DWORD PTR[16+rsp] + add ebp,DWORD PTR[16+rsp] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[((-48))+r15] + vmovups xmm15,XMMWORD PTR[((-48))+r15] xor esi,ecx mov edi,eax shld eax,eax,5 @@ -1846,29 +1846,29 @@ $L$vaesenclast6:: shrd ebx,ebx,7 add ebp,eax vpxor xmm1,xmm1,xmm8 - add edx,DWORD PTR[20+rsp] + add edx,DWORD PTR[20+rsp] xor edi,ebx mov esi,ebp shld ebp,ebp,5 vpsrld xmm8,xmm1,30 - vmovdqa XMMWORD PTR[rsp],xmm9 + vmovdqa XMMWORD PTR[rsp],xmm9 add edx,edi xor esi,ebx shrd eax,eax,7 add edx,ebp vpslld xmm1,xmm1,2 - add ecx,DWORD PTR[24+rsp] + add ecx,DWORD PTR[24+rsp] xor esi,eax mov edi,edx shld edx,edx,5 add ecx,esi vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[((-32))+r15] + vmovups xmm14,XMMWORD PTR[((-32))+r15] xor edi,eax shrd ebp,ebp,7 add ecx,edx vpor xmm1,xmm1,xmm8 - add ebx,DWORD PTR[28+rsp] + add ebx,DWORD PTR[28+rsp] xor edi,ebp mov esi,ecx shld ecx,ecx,5 @@ -1878,7 +1878,7 @@ $L$vaesenclast6:: add ebx,ecx vpalignr xmm8,xmm1,xmm0,8 vpxor xmm2,xmm2,xmm6 - add eax,DWORD PTR[32+rsp] + add eax,DWORD PTR[32+rsp] xor esi,edx mov edi,ebx shld ebx,ebx,5 @@ -1886,24 +1886,24 @@ $L$vaesenclast6:: add eax,esi xor edi,edx vpaddd xmm9,xmm10,xmm1 - vmovdqa xmm10,XMMWORD PTR[32+r11] + vmovdqa xmm10,XMMWORD PTR[32+r11] shrd ecx,ecx,7 add eax,ebx vpxor xmm2,xmm2,xmm8 - add ebp,DWORD PTR[36+rsp] + add ebp,DWORD PTR[36+rsp] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[((-16))+r15] + vmovups xmm15,XMMWORD PTR[((-16))+r15] xor edi,ecx mov esi,eax shld eax,eax,5 vpsrld xmm8,xmm2,30 - vmovdqa XMMWORD PTR[16+rsp],xmm9 + vmovdqa XMMWORD PTR[16+rsp],xmm9 add ebp,edi xor esi,ecx shrd ebx,ebx,7 add ebp,eax vpslld xmm2,xmm2,2 - add edx,DWORD PTR[40+rsp] + add edx,DWORD PTR[40+rsp] xor esi,ebx mov edi,ebp shld ebp,ebp,5 @@ -1912,19 +1912,19 @@ $L$vaesenclast6:: shrd eax,eax,7 add edx,ebp vpor xmm2,xmm2,xmm8 - add ecx,DWORD PTR[44+rsp] + add ecx,DWORD PTR[44+rsp] xor edi,eax mov esi,edx shld edx,edx,5 add ecx,edi vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[r15] + vmovups xmm14,XMMWORD PTR[r15] xor esi,eax shrd ebp,ebp,7 add ecx,edx vpalignr xmm8,xmm2,xmm1,8 vpxor xmm3,xmm3,xmm7 - add ebx,DWORD PTR[48+rsp] + add ebx,DWORD PTR[48+rsp] xor esi,ebp mov edi,ecx shld ecx,ecx,5 @@ -1935,20 +1935,20 @@ $L$vaesenclast6:: shrd edx,edx,7 add ebx,ecx vpxor xmm3,xmm3,xmm8 - add eax,DWORD PTR[52+rsp] + add eax,DWORD PTR[52+rsp] xor edi,edx mov esi,ebx shld ebx,ebx,5 vpsrld xmm8,xmm3,30 - vmovdqa XMMWORD PTR[32+rsp],xmm9 + vmovdqa XMMWORD PTR[32+rsp],xmm9 add eax,edi xor esi,edx shrd ecx,ecx,7 add eax,ebx vpslld xmm3,xmm3,2 - add ebp,DWORD PTR[56+rsp] + add ebp,DWORD PTR[56+rsp] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[16+r15] + vmovups xmm15,XMMWORD PTR[16+r15] xor esi,ecx mov edi,eax shld eax,eax,5 @@ -1957,7 +1957,7 @@ $L$vaesenclast6:: shrd ebx,ebx,7 add ebp,eax vpor xmm3,xmm3,xmm8 - add edx,DWORD PTR[60+rsp] + add edx,DWORD PTR[60+rsp] xor edi,ebx mov esi,ebp shld ebp,ebp,5 @@ -1967,31 +1967,31 @@ $L$vaesenclast6:: add edx,ebp vpalignr xmm8,xmm3,xmm2,8 vpxor xmm4,xmm4,xmm0 - add ecx,DWORD PTR[rsp] + add ecx,DWORD PTR[rsp] xor esi,eax mov edi,edx shld edx,edx,5 vpxor xmm4,xmm4,xmm5 add ecx,esi vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[32+r15] + vmovups xmm14,XMMWORD PTR[32+r15] xor edi,eax vpaddd xmm9,xmm10,xmm3 shrd ebp,ebp,7 add ecx,edx vpxor xmm4,xmm4,xmm8 - add ebx,DWORD PTR[4+rsp] + add ebx,DWORD PTR[4+rsp] xor edi,ebp mov esi,ecx shld ecx,ecx,5 vpsrld xmm8,xmm4,30 - vmovdqa XMMWORD PTR[48+rsp],xmm9 + vmovdqa XMMWORD PTR[48+rsp],xmm9 add ebx,edi xor esi,ebp shrd edx,edx,7 add ebx,ecx vpslld xmm4,xmm4,2 - add eax,DWORD PTR[8+rsp] + add eax,DWORD PTR[8+rsp] xor esi,edx mov edi,ebx shld ebx,ebx,5 @@ -2000,9 +2000,9 @@ $L$vaesenclast6:: shrd ecx,ecx,7 add eax,ebx vpor xmm4,xmm4,xmm8 - add ebp,DWORD PTR[12+rsp] + add ebp,DWORD PTR[12+rsp] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[48+r15] + vmovups xmm15,XMMWORD PTR[48+r15] xor edi,ecx mov esi,eax shld eax,eax,5 @@ -2012,7 +2012,7 @@ $L$vaesenclast6:: add ebp,eax vpalignr xmm8,xmm4,xmm3,8 vpxor xmm5,xmm5,xmm1 - add edx,DWORD PTR[16+rsp] + add edx,DWORD PTR[16+rsp] xor esi,ebx mov edi,ebp shld ebp,ebp,5 @@ -2023,33 +2023,33 @@ $L$vaesenclast6:: shrd eax,eax,7 add edx,ebp vpxor xmm5,xmm5,xmm8 - add ecx,DWORD PTR[20+rsp] + add ecx,DWORD PTR[20+rsp] xor edi,eax mov esi,edx shld edx,edx,5 vpsrld xmm8,xmm5,30 - vmovdqa XMMWORD PTR[rsp],xmm9 + vmovdqa XMMWORD PTR[rsp],xmm9 add ecx,edi cmp r8d,11 - jb $L$vaesenclast7 + jb $L$vaesenclast7 vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[64+r15] + vmovups xmm14,XMMWORD PTR[64+r15] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[80+r15] - je $L$vaesenclast7 + vmovups xmm15,XMMWORD PTR[80+r15] + je $L$vaesenclast7 vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[96+r15] + vmovups xmm14,XMMWORD PTR[96+r15] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[112+r15] -$L$vaesenclast7:: + vmovups xmm15,XMMWORD PTR[112+r15] +$L$vaesenclast7:: vaesenclast xmm12,xmm12,xmm15 - vmovups xmm15,XMMWORD PTR[((-112))+r15] - vmovups xmm14,XMMWORD PTR[((16-112))+r15] + vmovups xmm15,XMMWORD PTR[((-112))+r15] + vmovups xmm14,XMMWORD PTR[((16-112))+r15] xor esi,eax shrd ebp,ebp,7 add ecx,edx vpslld xmm5,xmm5,2 - add ebx,DWORD PTR[24+rsp] + add ebx,DWORD PTR[24+rsp] xor esi,ebp mov edi,ecx shld ecx,ecx,5 @@ -2058,7 +2058,7 @@ $L$vaesenclast7:: shrd edx,edx,7 add ebx,ecx vpor xmm5,xmm5,xmm8 - add eax,DWORD PTR[28+rsp] + add eax,DWORD PTR[28+rsp] shrd ecx,ecx,7 mov esi,ebx xor edi,edx @@ -2069,13 +2069,13 @@ $L$vaesenclast7:: add eax,ebx vpalignr xmm8,xmm5,xmm4,8 vpxor xmm6,xmm6,xmm2 - add ebp,DWORD PTR[32+rsp] - vmovdqu xmm13,XMMWORD PTR[32+r12] + add ebp,DWORD PTR[32+rsp] + vmovdqu xmm13,XMMWORD PTR[32+r12] vpxor xmm13,xmm13,xmm15 - vmovups XMMWORD PTR[16+r12*1+r13],xmm12 + vmovups XMMWORD PTR[16+r12*1+r13],xmm12 vpxor xmm12,xmm12,xmm13 vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[((-80))+r15] + vmovups xmm15,XMMWORD PTR[((-80))+r15] and esi,ecx xor ecx,edx shrd ebx,ebx,7 @@ -2089,9 +2089,9 @@ $L$vaesenclast7:: xor edi,ebx xor ebx,ecx add ebp,eax - add edx,DWORD PTR[36+rsp] + add edx,DWORD PTR[36+rsp] vpsrld xmm8,xmm6,30 - vmovdqa XMMWORD PTR[16+rsp],xmm9 + vmovdqa XMMWORD PTR[16+rsp],xmm9 and edi,ebx xor ebx,ecx shrd eax,eax,7 @@ -2101,11 +2101,11 @@ $L$vaesenclast7:: shld ebp,ebp,5 add edx,edi vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[((-64))+r15] + vmovups xmm14,XMMWORD PTR[((-64))+r15] xor esi,eax xor eax,ebx add edx,ebp - add ecx,DWORD PTR[40+rsp] + add ecx,DWORD PTR[40+rsp] and esi,eax vpor xmm6,xmm6,xmm8 xor eax,ebx @@ -2117,12 +2117,12 @@ $L$vaesenclast7:: xor edi,ebp xor ebp,eax add ecx,edx - add ebx,DWORD PTR[44+rsp] + add ebx,DWORD PTR[44+rsp] and edi,ebp xor ebp,eax shrd edx,edx,7 vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[((-48))+r15] + vmovups xmm15,XMMWORD PTR[((-48))+r15] mov esi,ecx xor edi,ebp shld ecx,ecx,5 @@ -2132,7 +2132,7 @@ $L$vaesenclast7:: add ebx,ecx vpalignr xmm8,xmm6,xmm5,8 vpxor xmm7,xmm7,xmm3 - add eax,DWORD PTR[48+rsp] + add eax,DWORD PTR[48+rsp] and esi,edx xor edx,ebp shrd ecx,ecx,7 @@ -2140,18 +2140,18 @@ $L$vaesenclast7:: mov edi,ebx xor esi,edx vpaddd xmm9,xmm10,xmm6 - vmovdqa xmm10,XMMWORD PTR[48+r11] + vmovdqa xmm10,XMMWORD PTR[48+r11] shld ebx,ebx,5 add eax,esi vpxor xmm7,xmm7,xmm8 xor edi,ecx xor ecx,edx add eax,ebx - add ebp,DWORD PTR[52+rsp] + add ebp,DWORD PTR[52+rsp] vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[((-32))+r15] + vmovups xmm14,XMMWORD PTR[((-32))+r15] vpsrld xmm8,xmm7,30 - vmovdqa XMMWORD PTR[32+rsp],xmm9 + vmovdqa XMMWORD PTR[32+rsp],xmm9 and edi,ecx xor ecx,edx shrd ebx,ebx,7 @@ -2163,7 +2163,7 @@ $L$vaesenclast7:: xor esi,ebx xor ebx,ecx add ebp,eax - add edx,DWORD PTR[56+rsp] + add edx,DWORD PTR[56+rsp] and esi,ebx vpor xmm7,xmm7,xmm8 xor ebx,ecx @@ -2173,11 +2173,11 @@ $L$vaesenclast7:: shld ebp,ebp,5 add edx,esi vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[((-16))+r15] + vmovups xmm15,XMMWORD PTR[((-16))+r15] xor edi,eax xor eax,ebx add edx,ebp - add ecx,DWORD PTR[60+rsp] + add ecx,DWORD PTR[60+rsp] and edi,eax xor eax,ebx shrd ebp,ebp,7 @@ -2190,12 +2190,12 @@ $L$vaesenclast7:: add ecx,edx vpalignr xmm8,xmm7,xmm6,8 vpxor xmm0,xmm0,xmm4 - add ebx,DWORD PTR[rsp] + add ebx,DWORD PTR[rsp] and esi,ebp xor ebp,eax shrd edx,edx,7 vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[r15] + vmovups xmm14,XMMWORD PTR[r15] vpxor xmm0,xmm0,xmm1 mov edi,ecx xor esi,ebp @@ -2206,9 +2206,9 @@ $L$vaesenclast7:: xor edi,edx xor edx,ebp add ebx,ecx - add eax,DWORD PTR[4+rsp] + add eax,DWORD PTR[4+rsp] vpsrld xmm8,xmm0,30 - vmovdqa XMMWORD PTR[48+rsp],xmm9 + vmovdqa XMMWORD PTR[48+rsp],xmm9 and edi,edx xor edx,ebp shrd ecx,ecx,7 @@ -2220,9 +2220,9 @@ $L$vaesenclast7:: xor esi,ecx xor ecx,edx add eax,ebx - add ebp,DWORD PTR[8+rsp] + add ebp,DWORD PTR[8+rsp] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[16+r15] + vmovups xmm15,XMMWORD PTR[16+r15] and esi,ecx vpor xmm0,xmm0,xmm8 xor ecx,edx @@ -2234,7 +2234,7 @@ $L$vaesenclast7:: xor edi,ebx xor ebx,ecx add ebp,eax - add edx,DWORD PTR[12+rsp] + add edx,DWORD PTR[12+rsp] and edi,ebx xor ebx,ecx shrd eax,eax,7 @@ -2243,13 +2243,13 @@ $L$vaesenclast7:: shld ebp,ebp,5 add edx,edi vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[32+r15] + vmovups xmm14,XMMWORD PTR[32+r15] xor esi,eax xor eax,ebx add edx,ebp vpalignr xmm8,xmm0,xmm7,8 vpxor xmm1,xmm1,xmm5 - add ecx,DWORD PTR[16+rsp] + add ecx,DWORD PTR[16+rsp] and esi,eax xor eax,ebx shrd ebp,ebp,7 @@ -2263,14 +2263,14 @@ $L$vaesenclast7:: xor edi,ebp xor ebp,eax add ecx,edx - add ebx,DWORD PTR[20+rsp] + add ebx,DWORD PTR[20+rsp] vpsrld xmm8,xmm1,30 - vmovdqa XMMWORD PTR[rsp],xmm9 + vmovdqa XMMWORD PTR[rsp],xmm9 and edi,ebp xor ebp,eax shrd edx,edx,7 vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[48+r15] + vmovups xmm15,XMMWORD PTR[48+r15] mov esi,ecx vpslld xmm1,xmm1,2 xor edi,ebp @@ -2279,7 +2279,7 @@ $L$vaesenclast7:: xor esi,edx xor edx,ebp add ebx,ecx - add eax,DWORD PTR[24+rsp] + add eax,DWORD PTR[24+rsp] and esi,edx vpor xmm1,xmm1,xmm8 xor edx,ebp @@ -2291,22 +2291,22 @@ $L$vaesenclast7:: xor edi,ecx xor ecx,edx add eax,ebx - add ebp,DWORD PTR[28+rsp] + add ebp,DWORD PTR[28+rsp] cmp r8d,11 - jb $L$vaesenclast8 + jb $L$vaesenclast8 vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[64+r15] + vmovups xmm14,XMMWORD PTR[64+r15] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[80+r15] - je $L$vaesenclast8 + vmovups xmm15,XMMWORD PTR[80+r15] + je $L$vaesenclast8 vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[96+r15] + vmovups xmm14,XMMWORD PTR[96+r15] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[112+r15] -$L$vaesenclast8:: + vmovups xmm15,XMMWORD PTR[112+r15] +$L$vaesenclast8:: vaesenclast xmm12,xmm12,xmm15 - vmovups xmm15,XMMWORD PTR[((-112))+r15] - vmovups xmm14,XMMWORD PTR[((16-112))+r15] + vmovups xmm15,XMMWORD PTR[((-112))+r15] + vmovups xmm14,XMMWORD PTR[((16-112))+r15] and edi,ecx xor ecx,edx shrd ebx,ebx,7 @@ -2319,7 +2319,7 @@ $L$vaesenclast8:: add ebp,eax vpalignr xmm8,xmm1,xmm0,8 vpxor xmm2,xmm2,xmm6 - add edx,DWORD PTR[32+rsp] + add edx,DWORD PTR[32+rsp] and esi,ebx xor ebx,ecx shrd eax,eax,7 @@ -2329,19 +2329,19 @@ $L$vaesenclast8:: vpaddd xmm9,xmm10,xmm1 shld ebp,ebp,5 add edx,esi - vmovdqu xmm13,XMMWORD PTR[48+r12] + vmovdqu xmm13,XMMWORD PTR[48+r12] vpxor xmm13,xmm13,xmm15 - vmovups XMMWORD PTR[32+r12*1+r13],xmm12 + vmovups XMMWORD PTR[32+r12*1+r13],xmm12 vpxor xmm12,xmm12,xmm13 vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[((-80))+r15] + vmovups xmm15,XMMWORD PTR[((-80))+r15] vpxor xmm2,xmm2,xmm8 xor edi,eax xor eax,ebx add edx,ebp - add ecx,DWORD PTR[36+rsp] + add ecx,DWORD PTR[36+rsp] vpsrld xmm8,xmm2,30 - vmovdqa XMMWORD PTR[16+rsp],xmm9 + vmovdqa XMMWORD PTR[16+rsp],xmm9 and edi,eax xor eax,ebx shrd ebp,ebp,7 @@ -2353,13 +2353,13 @@ $L$vaesenclast8:: xor esi,ebp xor ebp,eax add ecx,edx - add ebx,DWORD PTR[40+rsp] + add ebx,DWORD PTR[40+rsp] and esi,ebp vpor xmm2,xmm2,xmm8 xor ebp,eax shrd edx,edx,7 vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[((-64))+r15] + vmovups xmm14,XMMWORD PTR[((-64))+r15] mov edi,ecx xor esi,ebp shld ecx,ecx,5 @@ -2367,7 +2367,7 @@ $L$vaesenclast8:: xor edi,edx xor edx,ebp add ebx,ecx - add eax,DWORD PTR[44+rsp] + add eax,DWORD PTR[44+rsp] and edi,edx xor edx,ebp shrd ecx,ecx,7 @@ -2379,9 +2379,9 @@ $L$vaesenclast8:: add eax,ebx vpalignr xmm8,xmm2,xmm1,8 vpxor xmm3,xmm3,xmm7 - add ebp,DWORD PTR[48+rsp] + add ebp,DWORD PTR[48+rsp] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[((-48))+r15] + vmovups xmm15,XMMWORD PTR[((-48))+r15] xor esi,ecx mov edi,eax shld eax,eax,5 @@ -2392,29 +2392,29 @@ $L$vaesenclast8:: shrd ebx,ebx,7 add ebp,eax vpxor xmm3,xmm3,xmm8 - add edx,DWORD PTR[52+rsp] + add edx,DWORD PTR[52+rsp] xor edi,ebx mov esi,ebp shld ebp,ebp,5 vpsrld xmm8,xmm3,30 - vmovdqa XMMWORD PTR[32+rsp],xmm9 + vmovdqa XMMWORD PTR[32+rsp],xmm9 add edx,edi xor esi,ebx shrd eax,eax,7 add edx,ebp vpslld xmm3,xmm3,2 - add ecx,DWORD PTR[56+rsp] + add ecx,DWORD PTR[56+rsp] xor esi,eax mov edi,edx shld edx,edx,5 add ecx,esi vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[((-32))+r15] + vmovups xmm14,XMMWORD PTR[((-32))+r15] xor edi,eax shrd ebp,ebp,7 add ecx,edx vpor xmm3,xmm3,xmm8 - add ebx,DWORD PTR[60+rsp] + add ebx,DWORD PTR[60+rsp] xor edi,ebp mov esi,ecx shld ecx,ecx,5 @@ -2422,19 +2422,19 @@ $L$vaesenclast8:: xor esi,ebp shrd edx,edx,7 add ebx,ecx - add eax,DWORD PTR[rsp] + add eax,DWORD PTR[rsp] vpaddd xmm9,xmm10,xmm3 xor esi,edx mov edi,ebx shld ebx,ebx,5 add eax,esi - vmovdqa XMMWORD PTR[48+rsp],xmm9 + vmovdqa XMMWORD PTR[48+rsp],xmm9 xor edi,edx shrd ecx,ecx,7 add eax,ebx - add ebp,DWORD PTR[4+rsp] + add ebp,DWORD PTR[4+rsp] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[((-16))+r15] + vmovups xmm15,XMMWORD PTR[((-16))+r15] xor edi,ecx mov esi,eax shld eax,eax,5 @@ -2442,7 +2442,7 @@ $L$vaesenclast8:: xor esi,ecx shrd ebx,ebx,7 add ebp,eax - add edx,DWORD PTR[8+rsp] + add edx,DWORD PTR[8+rsp] xor esi,ebx mov edi,ebp shld ebp,ebp,5 @@ -2450,27 +2450,27 @@ $L$vaesenclast8:: xor edi,ebx shrd eax,eax,7 add edx,ebp - add ecx,DWORD PTR[12+rsp] + add ecx,DWORD PTR[12+rsp] xor edi,eax mov esi,edx shld edx,edx,5 add ecx,edi vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[r15] + vmovups xmm14,XMMWORD PTR[r15] xor esi,eax shrd ebp,ebp,7 add ecx,edx cmp r10,r14 - je $L$done_avx - vmovdqa xmm9,XMMWORD PTR[64+r11] - vmovdqa xmm10,XMMWORD PTR[r11] - vmovdqu xmm0,XMMWORD PTR[r10] - vmovdqu xmm1,XMMWORD PTR[16+r10] - vmovdqu xmm2,XMMWORD PTR[32+r10] - vmovdqu xmm3,XMMWORD PTR[48+r10] + je $L$done_avx + vmovdqa xmm9,XMMWORD PTR[64+r11] + vmovdqa xmm10,XMMWORD PTR[r11] + vmovdqu xmm0,XMMWORD PTR[r10] + vmovdqu xmm1,XMMWORD PTR[16+r10] + vmovdqu xmm2,XMMWORD PTR[32+r10] + vmovdqu xmm3,XMMWORD PTR[48+r10] vpshufb xmm0,xmm0,xmm9 add r10,64 - add ebx,DWORD PTR[16+rsp] + add ebx,DWORD PTR[16+rsp] xor esi,ebp vpshufb xmm1,xmm1,xmm9 mov edi,ecx @@ -2480,8 +2480,8 @@ $L$vaesenclast8:: xor edi,ebp shrd edx,edx,7 add ebx,ecx - vmovdqa XMMWORD PTR[rsp],xmm8 - add eax,DWORD PTR[20+rsp] + vmovdqa XMMWORD PTR[rsp],xmm8 + add eax,DWORD PTR[20+rsp] xor edi,edx mov esi,ebx shld ebx,ebx,5 @@ -2489,9 +2489,9 @@ $L$vaesenclast8:: xor esi,edx shrd ecx,ecx,7 add eax,ebx - add ebp,DWORD PTR[24+rsp] + add ebp,DWORD PTR[24+rsp] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[16+r15] + vmovups xmm15,XMMWORD PTR[16+r15] xor esi,ecx mov edi,eax shld eax,eax,5 @@ -2499,7 +2499,7 @@ $L$vaesenclast8:: xor edi,ecx shrd ebx,ebx,7 add ebp,eax - add edx,DWORD PTR[28+rsp] + add edx,DWORD PTR[28+rsp] xor edi,ebx mov esi,ebp shld ebp,ebp,5 @@ -2507,7 +2507,7 @@ $L$vaesenclast8:: xor esi,ebx shrd eax,eax,7 add edx,ebp - add ecx,DWORD PTR[32+rsp] + add ecx,DWORD PTR[32+rsp] xor esi,eax vpshufb xmm2,xmm2,xmm9 mov edi,edx @@ -2515,12 +2515,12 @@ $L$vaesenclast8:: vpaddd xmm8,xmm1,xmm10 add ecx,esi vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[32+r15] + vmovups xmm14,XMMWORD PTR[32+r15] xor edi,eax shrd ebp,ebp,7 add ecx,edx - vmovdqa XMMWORD PTR[16+rsp],xmm8 - add ebx,DWORD PTR[36+rsp] + vmovdqa XMMWORD PTR[16+rsp],xmm8 + add ebx,DWORD PTR[36+rsp] xor edi,ebp mov esi,ecx shld ecx,ecx,5 @@ -2528,7 +2528,7 @@ $L$vaesenclast8:: xor esi,ebp shrd edx,edx,7 add ebx,ecx - add eax,DWORD PTR[40+rsp] + add eax,DWORD PTR[40+rsp] xor esi,edx mov edi,ebx shld ebx,ebx,5 @@ -2536,9 +2536,9 @@ $L$vaesenclast8:: xor edi,edx shrd ecx,ecx,7 add eax,ebx - add ebp,DWORD PTR[44+rsp] + add ebp,DWORD PTR[44+rsp] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[48+r15] + vmovups xmm15,XMMWORD PTR[48+r15] xor edi,ecx mov esi,eax shld eax,eax,5 @@ -2546,7 +2546,7 @@ $L$vaesenclast8:: xor esi,ecx shrd ebx,ebx,7 add ebp,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD PTR[48+rsp] xor esi,ebx vpshufb xmm3,xmm3,xmm9 mov edi,ebp @@ -2556,31 +2556,31 @@ $L$vaesenclast8:: xor edi,ebx shrd eax,eax,7 add edx,ebp - vmovdqa XMMWORD PTR[32+rsp],xmm8 - add ecx,DWORD PTR[52+rsp] + vmovdqa XMMWORD PTR[32+rsp],xmm8 + add ecx,DWORD PTR[52+rsp] xor edi,eax mov esi,edx shld edx,edx,5 add ecx,edi cmp r8d,11 - jb $L$vaesenclast9 + jb $L$vaesenclast9 vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[64+r15] + vmovups xmm14,XMMWORD PTR[64+r15] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[80+r15] - je $L$vaesenclast9 + vmovups xmm15,XMMWORD PTR[80+r15] + je $L$vaesenclast9 vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[96+r15] + vmovups xmm14,XMMWORD PTR[96+r15] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[112+r15] -$L$vaesenclast9:: + vmovups xmm15,XMMWORD PTR[112+r15] +$L$vaesenclast9:: vaesenclast xmm12,xmm12,xmm15 - vmovups xmm15,XMMWORD PTR[((-112))+r15] - vmovups xmm14,XMMWORD PTR[((16-112))+r15] + vmovups xmm15,XMMWORD PTR[((-112))+r15] + vmovups xmm14,XMMWORD PTR[((16-112))+r15] xor esi,eax shrd ebp,ebp,7 add ecx,edx - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD PTR[56+rsp] xor esi,ebp mov edi,ecx shld ecx,ecx,5 @@ -2588,34 +2588,34 @@ $L$vaesenclast9:: xor edi,ebp shrd edx,edx,7 add ebx,ecx - add eax,DWORD PTR[60+rsp] + add eax,DWORD PTR[60+rsp] xor edi,edx mov esi,ebx shld ebx,ebx,5 add eax,edi shrd ecx,ecx,7 add eax,ebx - vmovups XMMWORD PTR[48+r12*1+r13],xmm12 - lea r12,QWORD PTR[64+r12] - - add eax,DWORD PTR[r9] - add esi,DWORD PTR[4+r9] - add ecx,DWORD PTR[8+r9] - add edx,DWORD PTR[12+r9] - mov DWORD PTR[r9],eax - add ebp,DWORD PTR[16+r9] - mov DWORD PTR[4+r9],esi + vmovups XMMWORD PTR[48+r12*1+r13],xmm12 + lea r12,QWORD PTR[64+r12] + + add eax,DWORD PTR[r9] + add esi,DWORD PTR[4+r9] + add ecx,DWORD PTR[8+r9] + add edx,DWORD PTR[12+r9] + mov DWORD PTR[r9],eax + add ebp,DWORD PTR[16+r9] + mov DWORD PTR[4+r9],esi mov ebx,esi - mov DWORD PTR[8+r9],ecx + mov DWORD PTR[8+r9],ecx mov edi,ecx - mov DWORD PTR[12+r9],edx + mov DWORD PTR[12+r9],edx xor edi,edx - mov DWORD PTR[16+r9],ebp + mov DWORD PTR[16+r9],ebp and esi,edi - jmp $L$oop_avx + jmp $L$oop_avx -$L$done_avx:: - add ebx,DWORD PTR[16+rsp] +$L$done_avx:: + add ebx,DWORD PTR[16+rsp] xor esi,ebp mov edi,ecx shld ecx,ecx,5 @@ -2623,7 +2623,7 @@ $L$done_avx:: xor edi,ebp shrd edx,edx,7 add ebx,ecx - add eax,DWORD PTR[20+rsp] + add eax,DWORD PTR[20+rsp] xor edi,edx mov esi,ebx shld ebx,ebx,5 @@ -2631,9 +2631,9 @@ $L$done_avx:: xor esi,edx shrd ecx,ecx,7 add eax,ebx - add ebp,DWORD PTR[24+rsp] + add ebp,DWORD PTR[24+rsp] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[16+r15] + vmovups xmm15,XMMWORD PTR[16+r15] xor esi,ecx mov edi,eax shld eax,eax,5 @@ -2641,7 +2641,7 @@ $L$done_avx:: xor edi,ecx shrd ebx,ebx,7 add ebp,eax - add edx,DWORD PTR[28+rsp] + add edx,DWORD PTR[28+rsp] xor edi,ebx mov esi,ebp shld ebp,ebp,5 @@ -2649,17 +2649,17 @@ $L$done_avx:: xor esi,ebx shrd eax,eax,7 add edx,ebp - add ecx,DWORD PTR[32+rsp] + add ecx,DWORD PTR[32+rsp] xor esi,eax mov edi,edx shld edx,edx,5 add ecx,esi vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[32+r15] + vmovups xmm14,XMMWORD PTR[32+r15] xor edi,eax shrd ebp,ebp,7 add ecx,edx - add ebx,DWORD PTR[36+rsp] + add ebx,DWORD PTR[36+rsp] xor edi,ebp mov esi,ecx shld ecx,ecx,5 @@ -2667,7 +2667,7 @@ $L$done_avx:: xor esi,ebp shrd edx,edx,7 add ebx,ecx - add eax,DWORD PTR[40+rsp] + add eax,DWORD PTR[40+rsp] xor esi,edx mov edi,ebx shld ebx,ebx,5 @@ -2675,9 +2675,9 @@ $L$done_avx:: xor edi,edx shrd ecx,ecx,7 add eax,ebx - add ebp,DWORD PTR[44+rsp] + add ebp,DWORD PTR[44+rsp] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[48+r15] + vmovups xmm15,XMMWORD PTR[48+r15] xor edi,ecx mov esi,eax shld eax,eax,5 @@ -2685,7 +2685,7 @@ $L$done_avx:: xor esi,ecx shrd ebx,ebx,7 add ebp,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD PTR[48+rsp] xor esi,ebx mov edi,ebp shld ebp,ebp,5 @@ -2693,30 +2693,30 @@ $L$done_avx:: xor edi,ebx shrd eax,eax,7 add edx,ebp - add ecx,DWORD PTR[52+rsp] + add ecx,DWORD PTR[52+rsp] xor edi,eax mov esi,edx shld edx,edx,5 add ecx,edi cmp r8d,11 - jb $L$vaesenclast10 + jb $L$vaesenclast10 vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[64+r15] + vmovups xmm14,XMMWORD PTR[64+r15] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[80+r15] - je $L$vaesenclast10 + vmovups xmm15,XMMWORD PTR[80+r15] + je $L$vaesenclast10 vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD PTR[96+r15] + vmovups xmm14,XMMWORD PTR[96+r15] vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD PTR[112+r15] -$L$vaesenclast10:: + vmovups xmm15,XMMWORD PTR[112+r15] +$L$vaesenclast10:: vaesenclast xmm12,xmm12,xmm15 - vmovups xmm15,XMMWORD PTR[((-112))+r15] - vmovups xmm14,XMMWORD PTR[((16-112))+r15] + vmovups xmm15,XMMWORD PTR[((-112))+r15] + vmovups xmm14,XMMWORD PTR[((16-112))+r15] xor esi,eax shrd ebp,ebp,7 add ecx,edx - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD PTR[56+rsp] xor esi,ebp mov edi,ecx shld ecx,ecx,5 @@ -2724,69 +2724,69 @@ $L$vaesenclast10:: xor edi,ebp shrd edx,edx,7 add ebx,ecx - add eax,DWORD PTR[60+rsp] + add eax,DWORD PTR[60+rsp] xor edi,edx mov esi,ebx shld ebx,ebx,5 add eax,edi shrd ecx,ecx,7 add eax,ebx - vmovups XMMWORD PTR[48+r12*1+r13],xmm12 - mov r8,QWORD PTR[88+rsp] - - add eax,DWORD PTR[r9] - add esi,DWORD PTR[4+r9] - add ecx,DWORD PTR[8+r9] - mov DWORD PTR[r9],eax - add edx,DWORD PTR[12+r9] - mov DWORD PTR[4+r9],esi - add ebp,DWORD PTR[16+r9] - mov DWORD PTR[8+r9],ecx - mov DWORD PTR[12+r9],edx - mov DWORD PTR[16+r9],ebp - vmovups XMMWORD PTR[r8],xmm12 + vmovups XMMWORD PTR[48+r12*1+r13],xmm12 + mov r8,QWORD PTR[88+rsp] + + add eax,DWORD PTR[r9] + add esi,DWORD PTR[4+r9] + add ecx,DWORD PTR[8+r9] + mov DWORD PTR[r9],eax + add edx,DWORD PTR[12+r9] + mov DWORD PTR[4+r9],esi + add ebp,DWORD PTR[16+r9] + mov DWORD PTR[8+r9],ecx + mov DWORD PTR[12+r9],edx + mov DWORD PTR[16+r9],ebp + vmovups XMMWORD PTR[r8],xmm12 vzeroall - movaps xmm6,XMMWORD PTR[((96+0))+rsp] - movaps xmm7,XMMWORD PTR[((96+16))+rsp] - movaps xmm8,XMMWORD PTR[((96+32))+rsp] - movaps xmm9,XMMWORD PTR[((96+48))+rsp] - movaps xmm10,XMMWORD PTR[((96+64))+rsp] - movaps xmm11,XMMWORD PTR[((96+80))+rsp] - movaps xmm12,XMMWORD PTR[((96+96))+rsp] - movaps xmm13,XMMWORD PTR[((96+112))+rsp] - movaps xmm14,XMMWORD PTR[((96+128))+rsp] - movaps xmm15,XMMWORD PTR[((96+144))+rsp] - lea rsi,QWORD PTR[264+rsp] + movaps xmm6,XMMWORD PTR[((96+0))+rsp] + movaps xmm7,XMMWORD PTR[((96+16))+rsp] + movaps xmm8,XMMWORD PTR[((96+32))+rsp] + movaps xmm9,XMMWORD PTR[((96+48))+rsp] + movaps xmm10,XMMWORD PTR[((96+64))+rsp] + movaps xmm11,XMMWORD PTR[((96+80))+rsp] + movaps xmm12,XMMWORD PTR[((96+96))+rsp] + movaps xmm13,XMMWORD PTR[((96+112))+rsp] + movaps xmm14,XMMWORD PTR[((96+128))+rsp] + movaps xmm15,XMMWORD PTR[((96+144))+rsp] + lea rsi,QWORD PTR[264+rsp] - mov r15,QWORD PTR[rsi] + mov r15,QWORD PTR[rsi] - mov r14,QWORD PTR[8+rsi] + mov r14,QWORD PTR[8+rsi] - mov r13,QWORD PTR[16+rsi] + mov r13,QWORD PTR[16+rsi] - mov r12,QWORD PTR[24+rsi] + mov r12,QWORD PTR[24+rsi] - mov rbp,QWORD PTR[32+rsi] + mov rbp,QWORD PTR[32+rsi] - mov rbx,QWORD PTR[40+rsi] + mov rbx,QWORD PTR[40+rsi] - lea rsp,QWORD PTR[48+rsi] + lea rsp,QWORD PTR[48+rsi] -$L$epilogue_avx:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_avx:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_sha1_enc_avx:: -aesni_cbc_sha1_enc_avx ENDP +$L$SEH_end_aesni_cbc_sha1_enc_avx:: +aesni_cbc_sha1_enc_avx ENDP ALIGN 64 -K_XX_XX:: - DD 05a827999h,05a827999h,05a827999h,05a827999h - DD 06ed9eba1h,06ed9eba1h,06ed9eba1h,06ed9eba1h - DD 08f1bbcdch,08f1bbcdch,08f1bbcdch,08f1bbcdch - DD 0ca62c1d6h,0ca62c1d6h,0ca62c1d6h,0ca62c1d6h - 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 05a827999h,05a827999h,05a827999h,05a827999h + DD 06ed9eba1h,06ed9eba1h,06ed9eba1h,06ed9eba1h + DD 08f1bbcdch,08f1bbcdch,08f1bbcdch,08f1bbcdch + DD 0ca62c1d6h,0ca62c1d6h,0ca62c1d6h,0ca62c1d6h + DD 000010203h,004050607h,008090a0bh,00c0d0e0fh +DB 0fh,0eh,0dh,0ch,0bh,0ah,09h,08h,07h,06h,05h,04h,03h,02h,01h,00h DB 65,69,83,78,73,45,67,66,67,43,83,72,65,49,32,115 DB 116,105,116,99,104,32,102,111,114,32,120,56,54,95,54,52 @@ -2796,351 +2796,351 @@ DB 114,103,62,0 ALIGN 64 ALIGN 32 -aesni_cbc_sha1_enc_shaext PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_cbc_sha1_enc_shaext PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_cbc_sha1_enc_shaext:: +$L$SEH_begin_aesni_cbc_sha1_enc_shaext:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] - - - - mov r10,QWORD PTR[56+rsp] - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[(-8-160)+rax],xmm6 - movaps XMMWORD PTR[(-8-144)+rax],xmm7 - movaps XMMWORD PTR[(-8-128)+rax],xmm8 - movaps XMMWORD PTR[(-8-112)+rax],xmm9 - movaps XMMWORD PTR[(-8-96)+rax],xmm10 - movaps XMMWORD PTR[(-8-80)+rax],xmm11 - movaps XMMWORD PTR[(-8-64)+rax],xmm12 - movaps XMMWORD PTR[(-8-48)+rax],xmm13 - movaps XMMWORD PTR[(-8-32)+rax],xmm14 - movaps XMMWORD PTR[(-8-16)+rax],xmm15 -$L$prologue_shaext:: - movdqu xmm8,XMMWORD PTR[r9] - movd xmm9,DWORD PTR[16+r9] - movdqa xmm7,XMMWORD PTR[((K_XX_XX+80))] - - mov r11d,DWORD PTR[240+rcx] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] + + + + mov r10,QWORD PTR[56+rsp] + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[(-8-160)+rax],xmm6 + movaps XMMWORD PTR[(-8-144)+rax],xmm7 + movaps XMMWORD PTR[(-8-128)+rax],xmm8 + movaps XMMWORD PTR[(-8-112)+rax],xmm9 + movaps XMMWORD PTR[(-8-96)+rax],xmm10 + movaps XMMWORD PTR[(-8-80)+rax],xmm11 + movaps XMMWORD PTR[(-8-64)+rax],xmm12 + movaps XMMWORD PTR[(-8-48)+rax],xmm13 + movaps XMMWORD PTR[(-8-32)+rax],xmm14 + movaps XMMWORD PTR[(-8-16)+rax],xmm15 +$L$prologue_shaext:: + movdqu xmm8,XMMWORD PTR[r9] + movd xmm9,DWORD PTR[16+r9] + movdqa xmm7,XMMWORD PTR[((K_XX_XX+80))] + + mov r11d,DWORD PTR[240+rcx] sub rsi,rdi - movups xmm15,XMMWORD PTR[rcx] - movups xmm2,XMMWORD PTR[r8] - movups xmm0,XMMWORD PTR[16+rcx] - lea rcx,QWORD PTR[112+rcx] + movups xmm15,XMMWORD PTR[rcx] + movups xmm2,XMMWORD PTR[r8] + movups xmm0,XMMWORD PTR[16+rcx] + lea rcx,QWORD PTR[112+rcx] pshufd xmm8,xmm8,27 pshufd xmm9,xmm9,27 - jmp $L$oop_shaext + jmp $L$oop_shaext ALIGN 16 -$L$oop_shaext:: - movups xmm14,XMMWORD PTR[rdi] +$L$oop_shaext:: + movups xmm14,XMMWORD PTR[rdi] xorps xmm14,xmm15 xorps xmm2,xmm14 - movups xmm1,XMMWORD PTR[((-80))+rcx] + movups xmm1,XMMWORD PTR[((-80))+rcx] DB 102,15,56,220,208 - movdqu xmm3,XMMWORD PTR[r10] + movdqu xmm3,XMMWORD PTR[r10] movdqa xmm12,xmm9 DB 102,15,56,0,223 - movdqu xmm4,XMMWORD PTR[16+r10] + movdqu xmm4,XMMWORD PTR[16+r10] movdqa xmm11,xmm8 - movups xmm0,XMMWORD PTR[((-64))+rcx] + movups xmm0,XMMWORD PTR[((-64))+rcx] DB 102,15,56,220,209 DB 102,15,56,0,231 paddd xmm9,xmm3 - movdqu xmm5,XMMWORD PTR[32+r10] - lea r10,QWORD PTR[64+r10] + movdqu xmm5,XMMWORD PTR[32+r10] + lea r10,QWORD PTR[64+r10] pxor xmm3,xmm12 - movups xmm1,XMMWORD PTR[((-48))+rcx] + movups xmm1,XMMWORD PTR[((-48))+rcx] DB 102,15,56,220,208 pxor xmm3,xmm12 movdqa xmm10,xmm8 DB 102,15,56,0,239 DB 69,15,58,204,193,0 DB 68,15,56,200,212 - movups xmm0,XMMWORD PTR[((-32))+rcx] + movups xmm0,XMMWORD PTR[((-32))+rcx] DB 102,15,56,220,209 DB 15,56,201,220 - movdqu xmm6,XMMWORD PTR[((-16))+r10] + movdqu xmm6,XMMWORD PTR[((-16))+r10] movdqa xmm9,xmm8 DB 102,15,56,0,247 - movups xmm1,XMMWORD PTR[((-16))+rcx] + movups xmm1,XMMWORD PTR[((-16))+rcx] DB 102,15,56,220,208 DB 69,15,58,204,194,0 DB 68,15,56,200,205 pxor xmm3,xmm5 DB 15,56,201,229 - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] DB 102,15,56,220,209 movdqa xmm10,xmm8 DB 69,15,58,204,193,0 DB 68,15,56,200,214 - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm1,XMMWORD PTR[16+rcx] DB 102,15,56,220,208 DB 15,56,202,222 pxor xmm4,xmm6 DB 15,56,201,238 - movups xmm0,XMMWORD PTR[32+rcx] + movups xmm0,XMMWORD PTR[32+rcx] DB 102,15,56,220,209 movdqa xmm9,xmm8 DB 69,15,58,204,194,0 DB 68,15,56,200,203 - movups xmm1,XMMWORD PTR[48+rcx] + movups xmm1,XMMWORD PTR[48+rcx] DB 102,15,56,220,208 DB 15,56,202,227 pxor xmm5,xmm3 DB 15,56,201,243 cmp r11d,11 - jb $L$aesenclast11 - movups xmm0,XMMWORD PTR[64+rcx] + jb $L$aesenclast11 + movups xmm0,XMMWORD PTR[64+rcx] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[80+rcx] + movups xmm1,XMMWORD PTR[80+rcx] DB 102,15,56,220,208 - je $L$aesenclast11 - movups xmm0,XMMWORD PTR[96+rcx] + je $L$aesenclast11 + movups xmm0,XMMWORD PTR[96+rcx] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[112+rcx] + movups xmm1,XMMWORD PTR[112+rcx] DB 102,15,56,220,208 -$L$aesenclast11:: +$L$aesenclast11:: DB 102,15,56,221,209 - movups xmm0,XMMWORD PTR[((16-112))+rcx] + movups xmm0,XMMWORD PTR[((16-112))+rcx] movdqa xmm10,xmm8 DB 69,15,58,204,193,0 DB 68,15,56,200,212 - movups xmm14,XMMWORD PTR[16+rdi] + movups xmm14,XMMWORD PTR[16+rdi] xorps xmm14,xmm15 - movups XMMWORD PTR[rdi*1+rsi],xmm2 + movups XMMWORD PTR[rdi*1+rsi],xmm2 xorps xmm2,xmm14 - movups xmm1,XMMWORD PTR[((-80))+rcx] + movups xmm1,XMMWORD PTR[((-80))+rcx] DB 102,15,56,220,208 DB 15,56,202,236 pxor xmm6,xmm4 DB 15,56,201,220 - movups xmm0,XMMWORD PTR[((-64))+rcx] + movups xmm0,XMMWORD PTR[((-64))+rcx] DB 102,15,56,220,209 movdqa xmm9,xmm8 DB 69,15,58,204,194,1 DB 68,15,56,200,205 - movups xmm1,XMMWORD PTR[((-48))+rcx] + movups xmm1,XMMWORD PTR[((-48))+rcx] DB 102,15,56,220,208 DB 15,56,202,245 pxor xmm3,xmm5 DB 15,56,201,229 - movups xmm0,XMMWORD PTR[((-32))+rcx] + movups xmm0,XMMWORD PTR[((-32))+rcx] DB 102,15,56,220,209 movdqa xmm10,xmm8 DB 69,15,58,204,193,1 DB 68,15,56,200,214 - movups xmm1,XMMWORD PTR[((-16))+rcx] + movups xmm1,XMMWORD PTR[((-16))+rcx] DB 102,15,56,220,208 DB 15,56,202,222 pxor xmm4,xmm6 DB 15,56,201,238 - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] DB 102,15,56,220,209 movdqa xmm9,xmm8 DB 69,15,58,204,194,1 DB 68,15,56,200,203 - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm1,XMMWORD PTR[16+rcx] DB 102,15,56,220,208 DB 15,56,202,227 pxor xmm5,xmm3 DB 15,56,201,243 - movups xmm0,XMMWORD PTR[32+rcx] + movups xmm0,XMMWORD PTR[32+rcx] DB 102,15,56,220,209 movdqa xmm10,xmm8 DB 69,15,58,204,193,1 DB 68,15,56,200,212 - movups xmm1,XMMWORD PTR[48+rcx] + movups xmm1,XMMWORD PTR[48+rcx] DB 102,15,56,220,208 DB 15,56,202,236 pxor xmm6,xmm4 DB 15,56,201,220 cmp r11d,11 - jb $L$aesenclast12 - movups xmm0,XMMWORD PTR[64+rcx] + jb $L$aesenclast12 + movups xmm0,XMMWORD PTR[64+rcx] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[80+rcx] + movups xmm1,XMMWORD PTR[80+rcx] DB 102,15,56,220,208 - je $L$aesenclast12 - movups xmm0,XMMWORD PTR[96+rcx] + je $L$aesenclast12 + movups xmm0,XMMWORD PTR[96+rcx] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[112+rcx] + movups xmm1,XMMWORD PTR[112+rcx] DB 102,15,56,220,208 -$L$aesenclast12:: +$L$aesenclast12:: DB 102,15,56,221,209 - movups xmm0,XMMWORD PTR[((16-112))+rcx] + movups xmm0,XMMWORD PTR[((16-112))+rcx] movdqa xmm9,xmm8 DB 69,15,58,204,194,1 DB 68,15,56,200,205 - movups xmm14,XMMWORD PTR[32+rdi] + movups xmm14,XMMWORD PTR[32+rdi] xorps xmm14,xmm15 - movups XMMWORD PTR[16+rdi*1+rsi],xmm2 + movups XMMWORD PTR[16+rdi*1+rsi],xmm2 xorps xmm2,xmm14 - movups xmm1,XMMWORD PTR[((-80))+rcx] + movups xmm1,XMMWORD PTR[((-80))+rcx] DB 102,15,56,220,208 DB 15,56,202,245 pxor xmm3,xmm5 DB 15,56,201,229 - movups xmm0,XMMWORD PTR[((-64))+rcx] + movups xmm0,XMMWORD PTR[((-64))+rcx] DB 102,15,56,220,209 movdqa xmm10,xmm8 DB 69,15,58,204,193,2 DB 68,15,56,200,214 - movups xmm1,XMMWORD PTR[((-48))+rcx] + movups xmm1,XMMWORD PTR[((-48))+rcx] DB 102,15,56,220,208 DB 15,56,202,222 pxor xmm4,xmm6 DB 15,56,201,238 - movups xmm0,XMMWORD PTR[((-32))+rcx] + movups xmm0,XMMWORD PTR[((-32))+rcx] DB 102,15,56,220,209 movdqa xmm9,xmm8 DB 69,15,58,204,194,2 DB 68,15,56,200,203 - movups xmm1,XMMWORD PTR[((-16))+rcx] + movups xmm1,XMMWORD PTR[((-16))+rcx] DB 102,15,56,220,208 DB 15,56,202,227 pxor xmm5,xmm3 DB 15,56,201,243 - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] DB 102,15,56,220,209 movdqa xmm10,xmm8 DB 69,15,58,204,193,2 DB 68,15,56,200,212 - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm1,XMMWORD PTR[16+rcx] DB 102,15,56,220,208 DB 15,56,202,236 pxor xmm6,xmm4 DB 15,56,201,220 - movups xmm0,XMMWORD PTR[32+rcx] + movups xmm0,XMMWORD PTR[32+rcx] DB 102,15,56,220,209 movdqa xmm9,xmm8 DB 69,15,58,204,194,2 DB 68,15,56,200,205 - movups xmm1,XMMWORD PTR[48+rcx] + movups xmm1,XMMWORD PTR[48+rcx] DB 102,15,56,220,208 DB 15,56,202,245 pxor xmm3,xmm5 DB 15,56,201,229 cmp r11d,11 - jb $L$aesenclast13 - movups xmm0,XMMWORD PTR[64+rcx] + jb $L$aesenclast13 + movups xmm0,XMMWORD PTR[64+rcx] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[80+rcx] + movups xmm1,XMMWORD PTR[80+rcx] DB 102,15,56,220,208 - je $L$aesenclast13 - movups xmm0,XMMWORD PTR[96+rcx] + je $L$aesenclast13 + movups xmm0,XMMWORD PTR[96+rcx] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[112+rcx] + movups xmm1,XMMWORD PTR[112+rcx] DB 102,15,56,220,208 -$L$aesenclast13:: +$L$aesenclast13:: DB 102,15,56,221,209 - movups xmm0,XMMWORD PTR[((16-112))+rcx] + movups xmm0,XMMWORD PTR[((16-112))+rcx] movdqa xmm10,xmm8 DB 69,15,58,204,193,2 DB 68,15,56,200,214 - movups xmm14,XMMWORD PTR[48+rdi] + movups xmm14,XMMWORD PTR[48+rdi] xorps xmm14,xmm15 - movups XMMWORD PTR[32+rdi*1+rsi],xmm2 + movups XMMWORD PTR[32+rdi*1+rsi],xmm2 xorps xmm2,xmm14 - movups xmm1,XMMWORD PTR[((-80))+rcx] + movups xmm1,XMMWORD PTR[((-80))+rcx] DB 102,15,56,220,208 DB 15,56,202,222 pxor xmm4,xmm6 DB 15,56,201,238 - movups xmm0,XMMWORD PTR[((-64))+rcx] + movups xmm0,XMMWORD PTR[((-64))+rcx] DB 102,15,56,220,209 movdqa xmm9,xmm8 DB 69,15,58,204,194,3 DB 68,15,56,200,203 - movups xmm1,XMMWORD PTR[((-48))+rcx] + movups xmm1,XMMWORD PTR[((-48))+rcx] DB 102,15,56,220,208 DB 15,56,202,227 pxor xmm5,xmm3 DB 15,56,201,243 - movups xmm0,XMMWORD PTR[((-32))+rcx] + movups xmm0,XMMWORD PTR[((-32))+rcx] DB 102,15,56,220,209 movdqa xmm10,xmm8 DB 69,15,58,204,193,3 DB 68,15,56,200,212 DB 15,56,202,236 pxor xmm6,xmm4 - movups xmm1,XMMWORD PTR[((-16))+rcx] + movups xmm1,XMMWORD PTR[((-16))+rcx] DB 102,15,56,220,208 movdqa xmm9,xmm8 DB 69,15,58,204,194,3 DB 68,15,56,200,205 DB 15,56,202,245 - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] DB 102,15,56,220,209 movdqa xmm5,xmm12 movdqa xmm10,xmm8 DB 69,15,58,204,193,3 DB 68,15,56,200,214 - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm1,XMMWORD PTR[16+rcx] DB 102,15,56,220,208 movdqa xmm9,xmm8 DB 69,15,58,204,194,3 DB 68,15,56,200,205 - movups xmm0,XMMWORD PTR[32+rcx] + movups xmm0,XMMWORD PTR[32+rcx] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[48+rcx] + movups xmm1,XMMWORD PTR[48+rcx] DB 102,15,56,220,208 cmp r11d,11 - jb $L$aesenclast14 - movups xmm0,XMMWORD PTR[64+rcx] + jb $L$aesenclast14 + movups xmm0,XMMWORD PTR[64+rcx] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[80+rcx] + movups xmm1,XMMWORD PTR[80+rcx] DB 102,15,56,220,208 - je $L$aesenclast14 - movups xmm0,XMMWORD PTR[96+rcx] + je $L$aesenclast14 + movups xmm0,XMMWORD PTR[96+rcx] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[112+rcx] + movups xmm1,XMMWORD PTR[112+rcx] DB 102,15,56,220,208 -$L$aesenclast14:: +$L$aesenclast14:: DB 102,15,56,221,209 - movups xmm0,XMMWORD PTR[((16-112))+rcx] + movups xmm0,XMMWORD PTR[((16-112))+rcx] dec rdx paddd xmm8,xmm11 - movups XMMWORD PTR[48+rdi*1+rsi],xmm2 - lea rdi,QWORD PTR[64+rdi] - jnz $L$oop_shaext + movups XMMWORD PTR[48+rdi*1+rsi],xmm2 + lea rdi,QWORD PTR[64+rdi] + jnz $L$oop_shaext pshufd xmm8,xmm8,27 pshufd xmm9,xmm9,27 - movups XMMWORD PTR[r8],xmm2 - movdqu XMMWORD PTR[r9],xmm8 - movd DWORD PTR[16+r9],xmm9 - movaps xmm6,XMMWORD PTR[((-8-160))+rax] - movaps xmm7,XMMWORD PTR[((-8-144))+rax] - movaps xmm8,XMMWORD PTR[((-8-128))+rax] - movaps xmm9,XMMWORD PTR[((-8-112))+rax] - movaps xmm10,XMMWORD PTR[((-8-96))+rax] - movaps xmm11,XMMWORD PTR[((-8-80))+rax] - movaps xmm12,XMMWORD PTR[((-8-64))+rax] - movaps xmm13,XMMWORD PTR[((-8-48))+rax] - movaps xmm14,XMMWORD PTR[((-8-32))+rax] - movaps xmm15,XMMWORD PTR[((-8-16))+rax] + movups XMMWORD PTR[r8],xmm2 + movdqu XMMWORD PTR[r9],xmm8 + movd DWORD PTR[16+r9],xmm9 + movaps xmm6,XMMWORD PTR[((-8-160))+rax] + movaps xmm7,XMMWORD PTR[((-8-144))+rax] + movaps xmm8,XMMWORD PTR[((-8-128))+rax] + movaps xmm9,XMMWORD PTR[((-8-112))+rax] + movaps xmm10,XMMWORD PTR[((-8-96))+rax] + movaps xmm11,XMMWORD PTR[((-8-80))+rax] + movaps xmm12,XMMWORD PTR[((-8-64))+rax] + movaps xmm13,XMMWORD PTR[((-8-48))+rax] + movaps xmm14,XMMWORD PTR[((-8-32))+rax] + movaps xmm15,XMMWORD PTR[((-8-16))+rax] mov rsp,rax -$L$epilogue_shaext:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_shaext:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_sha1_enc_shaext:: -aesni_cbc_sha1_enc_shaext ENDP -EXTERN __imp_RtlVirtualUnwind:NEAR - +$L$SEH_end_aesni_cbc_sha1_enc_shaext:: +aesni_cbc_sha1_enc_shaext ENDP +EXTERN __imp_RtlVirtualUnwind:NEAR + ALIGN 16 -ssse3_handler PROC PRIVATE +ssse3_handler PROC PRIVATE push rsi push rdi push rbx @@ -3152,79 +3152,79 @@ ssse3_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail - lea r10,QWORD PTR[aesni_cbc_sha1_enc_shaext] + jae $L$common_seh_tail + lea r10,QWORD PTR[aesni_cbc_sha1_enc_shaext] cmp rbx,r10 - jb $L$seh_no_shaext + jb $L$seh_no_shaext - lea rsi,QWORD PTR[rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch - lea rax,QWORD PTR[168+rax] - jmp $L$common_seh_tail -$L$seh_no_shaext:: - lea rsi,QWORD PTR[96+rax] - lea rdi,QWORD PTR[512+r8] + DD 0a548f3fch + lea rax,QWORD PTR[168+rax] + jmp $L$common_seh_tail +$L$seh_no_shaext:: + lea rsi,QWORD PTR[96+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch - lea rax,QWORD PTR[264+rax] - - mov r15,QWORD PTR[rax] - mov r14,QWORD PTR[8+rax] - mov r13,QWORD PTR[16+rax] - mov r12,QWORD PTR[24+rax] - mov rbp,QWORD PTR[32+rax] - mov rbx,QWORD PTR[40+rax] - lea rax,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 - -$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 - - mov rdi,QWORD PTR[40+r9] + DD 0a548f3fch + lea rax,QWORD PTR[264+rax] + + mov r15,QWORD PTR[rax] + mov r14,QWORD PTR[8+rax] + mov r13,QWORD PTR[16+rax] + mov r12,QWORD PTR[24+rax] + mov rbp,QWORD PTR[32+rax] + mov rbx,QWORD PTR[40+rax] + lea rax,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 + +$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 + + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -3238,35 +3238,35 @@ $L$common_seh_tail:: pop rdi pop rsi DB 0F3h,0C3h ;repret -ssse3_handler ENDP +ssse3_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_aesni_cbc_sha1_enc_ssse3 - DD imagerel $L$SEH_end_aesni_cbc_sha1_enc_ssse3 - DD imagerel $L$SEH_info_aesni_cbc_sha1_enc_ssse3 - DD imagerel $L$SEH_begin_aesni_cbc_sha1_enc_avx - DD imagerel $L$SEH_end_aesni_cbc_sha1_enc_avx - DD imagerel $L$SEH_info_aesni_cbc_sha1_enc_avx - DD imagerel $L$SEH_begin_aesni_cbc_sha1_enc_shaext - DD imagerel $L$SEH_end_aesni_cbc_sha1_enc_shaext - DD imagerel $L$SEH_info_aesni_cbc_sha1_enc_shaext -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + DD imagerel $L$SEH_begin_aesni_cbc_sha1_enc_ssse3 + DD imagerel $L$SEH_end_aesni_cbc_sha1_enc_ssse3 + DD imagerel $L$SEH_info_aesni_cbc_sha1_enc_ssse3 + DD imagerel $L$SEH_begin_aesni_cbc_sha1_enc_avx + DD imagerel $L$SEH_end_aesni_cbc_sha1_enc_avx + DD imagerel $L$SEH_info_aesni_cbc_sha1_enc_avx + DD imagerel $L$SEH_begin_aesni_cbc_sha1_enc_shaext + DD imagerel $L$SEH_end_aesni_cbc_sha1_enc_shaext + DD imagerel $L$SEH_info_aesni_cbc_sha1_enc_shaext +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_aesni_cbc_sha1_enc_ssse3:: +$L$SEH_info_aesni_cbc_sha1_enc_ssse3:: DB 9,0,0,0 - DD imagerel ssse3_handler - DD imagerel $L$prologue_ssse3,imagerel $L$epilogue_ssse3 -$L$SEH_info_aesni_cbc_sha1_enc_avx:: + DD imagerel ssse3_handler + DD imagerel $L$prologue_ssse3,imagerel $L$epilogue_ssse3 +$L$SEH_info_aesni_cbc_sha1_enc_avx:: DB 9,0,0,0 - DD imagerel ssse3_handler - DD imagerel $L$prologue_avx,imagerel $L$epilogue_avx -$L$SEH_info_aesni_cbc_sha1_enc_shaext:: + DD imagerel ssse3_handler + DD imagerel $L$prologue_avx,imagerel $L$epilogue_avx +$L$SEH_info_aesni_cbc_sha1_enc_shaext:: DB 9,0,0,0 - DD imagerel ssse3_handler - DD imagerel $L$prologue_shaext,imagerel $L$epilogue_shaext - -.xdata ENDS -END + DD imagerel ssse3_handler + DD imagerel $L$prologue_shaext,imagerel $L$epilogue_shaext + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/aes/aesni-sha256-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/aes/aesni-sha256-x86_64.masm index 881ef94e8c..857aafba4f 100644 --- a/contrib/libs/openssl/asm/windows/crypto/aes/aesni-sha256-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/aes/aesni-sha256-x86_64.masm @@ -1,78 +1,78 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC aesni_cbc_sha256_enc +EXTERN OPENSSL_ia32cap_P:NEAR +PUBLIC aesni_cbc_sha256_enc -ALIGN 16 -aesni_cbc_sha256_enc PROC PUBLIC +ALIGN 16 +aesni_cbc_sha256_enc PROC PUBLIC - lea r11,QWORD PTR[OPENSSL_ia32cap_P] + lea r11,QWORD PTR[OPENSSL_ia32cap_P] mov eax,1 cmp rcx,0 - je $L$probe - mov eax,DWORD PTR[r11] - mov r10,QWORD PTR[4+r11] + je $L$probe + mov eax,DWORD PTR[r11] + mov r10,QWORD PTR[4+r11] bt r10,61 - jc aesni_cbc_sha256_enc_shaext + jc aesni_cbc_sha256_enc_shaext mov r11,r10 shr r11,32 test r10d,2048 - jnz aesni_cbc_sha256_enc_xop + jnz aesni_cbc_sha256_enc_xop and r11d,296 cmp r11d,296 - je aesni_cbc_sha256_enc_avx2 + je aesni_cbc_sha256_enc_avx2 and r10d,268435456 - jnz aesni_cbc_sha256_enc_avx + jnz aesni_cbc_sha256_enc_avx ud2 xor eax,eax cmp rcx,0 - je $L$probe + je $L$probe ud2 -$L$probe:: +$L$probe:: DB 0F3h,0C3h ;repret -aesni_cbc_sha256_enc ENDP +aesni_cbc_sha256_enc ENDP 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 +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 0,0,0,0,0,0,0,0,-1,-1,-1,-1 DD 0,0,0,0,0,0,0,0 DB 65,69,83,78,73,45,67,66,67,43,83,72,65,50,53,54 @@ -83,22 +83,22 @@ DB 46,111,114,103,62,0 ALIGN 64 ALIGN 64 -aesni_cbc_sha256_enc_xop PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_cbc_sha256_enc_xop PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_cbc_sha256_enc_xop:: +$L$SEH_begin_aesni_cbc_sha256_enc_xop:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] -$L$xop_shortcut:: - mov r10,QWORD PTR[56+rsp] +$L$xop_shortcut:: + mov r10,QWORD PTR[56+rsp] mov rax,rsp push rbx @@ -122,81 +122,81 @@ $L$xop_shortcut:: add rdx,rdi - mov QWORD PTR[((64+8))+rsp],rsi - mov QWORD PTR[((64+16))+rsp],rdx - - mov QWORD PTR[((64+32))+rsp],r8 - mov QWORD PTR[((64+40))+rsp],r9 - mov QWORD PTR[((64+48))+rsp],r10 - mov QWORD PTR[120+rsp],rax - - movaps XMMWORD PTR[128+rsp],xmm6 - movaps XMMWORD PTR[144+rsp],xmm7 - movaps XMMWORD PTR[160+rsp],xmm8 - movaps XMMWORD PTR[176+rsp],xmm9 - movaps XMMWORD PTR[192+rsp],xmm10 - movaps XMMWORD PTR[208+rsp],xmm11 - movaps XMMWORD PTR[224+rsp],xmm12 - movaps XMMWORD PTR[240+rsp],xmm13 - movaps XMMWORD PTR[256+rsp],xmm14 - movaps XMMWORD PTR[272+rsp],xmm15 -$L$prologue_xop:: + mov QWORD PTR[((64+8))+rsp],rsi + mov QWORD PTR[((64+16))+rsp],rdx + + mov QWORD PTR[((64+32))+rsp],r8 + mov QWORD PTR[((64+40))+rsp],r9 + mov QWORD PTR[((64+48))+rsp],r10 + mov QWORD PTR[120+rsp],rax + + movaps XMMWORD PTR[128+rsp],xmm6 + movaps XMMWORD PTR[144+rsp],xmm7 + movaps XMMWORD PTR[160+rsp],xmm8 + movaps XMMWORD PTR[176+rsp],xmm9 + movaps XMMWORD PTR[192+rsp],xmm10 + movaps XMMWORD PTR[208+rsp],xmm11 + movaps XMMWORD PTR[224+rsp],xmm12 + movaps XMMWORD PTR[240+rsp],xmm13 + movaps XMMWORD PTR[256+rsp],xmm14 + movaps XMMWORD PTR[272+rsp],xmm15 +$L$prologue_xop:: vzeroall mov r12,rdi - lea rdi,QWORD PTR[128+rcx] - lea r13,QWORD PTR[((K256+544))] - mov r14d,DWORD PTR[((240-128))+rdi] + lea rdi,QWORD PTR[128+rcx] + lea r13,QWORD PTR[((K256+544))] + mov r14d,DWORD PTR[((240-128))+rdi] mov r15,r9 mov rsi,r10 - vmovdqu xmm8,XMMWORD PTR[r8] + vmovdqu xmm8,XMMWORD PTR[r8] sub r14,9 - mov eax,DWORD PTR[r15] - mov ebx,DWORD PTR[4+r15] - mov ecx,DWORD PTR[8+r15] - mov edx,DWORD PTR[12+r15] - mov r8d,DWORD PTR[16+r15] - mov r9d,DWORD PTR[20+r15] - mov r10d,DWORD PTR[24+r15] - mov r11d,DWORD PTR[28+r15] - - vmovdqa xmm14,XMMWORD PTR[r14*8+r13] - vmovdqa xmm13,XMMWORD PTR[16+r14*8+r13] - vmovdqa xmm12,XMMWORD PTR[32+r14*8+r13] - vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] - jmp $L$loop_xop + mov eax,DWORD PTR[r15] + mov ebx,DWORD PTR[4+r15] + mov ecx,DWORD PTR[8+r15] + mov edx,DWORD PTR[12+r15] + mov r8d,DWORD PTR[16+r15] + mov r9d,DWORD PTR[20+r15] + mov r10d,DWORD PTR[24+r15] + mov r11d,DWORD PTR[28+r15] + + vmovdqa xmm14,XMMWORD PTR[r14*8+r13] + vmovdqa xmm13,XMMWORD PTR[16+r14*8+r13] + vmovdqa xmm12,XMMWORD PTR[32+r14*8+r13] + vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] + jmp $L$loop_xop ALIGN 16 -$L$loop_xop:: - vmovdqa xmm7,XMMWORD PTR[((K256+512))] - vmovdqu xmm0,XMMWORD PTR[r12*1+rsi] - vmovdqu xmm1,XMMWORD PTR[16+r12*1+rsi] - vmovdqu xmm2,XMMWORD PTR[32+r12*1+rsi] - vmovdqu xmm3,XMMWORD PTR[48+r12*1+rsi] +$L$loop_xop:: + vmovdqa xmm7,XMMWORD PTR[((K256+512))] + vmovdqu xmm0,XMMWORD PTR[r12*1+rsi] + vmovdqu xmm1,XMMWORD PTR[16+r12*1+rsi] + vmovdqu xmm2,XMMWORD PTR[32+r12*1+rsi] + vmovdqu xmm3,XMMWORD PTR[48+r12*1+rsi] vpshufb xmm0,xmm0,xmm7 - lea rbp,QWORD PTR[K256] + lea rbp,QWORD PTR[K256] vpshufb xmm1,xmm1,xmm7 vpshufb xmm2,xmm2,xmm7 - vpaddd xmm4,xmm0,XMMWORD PTR[rbp] + vpaddd xmm4,xmm0,XMMWORD PTR[rbp] vpshufb xmm3,xmm3,xmm7 - vpaddd xmm5,xmm1,XMMWORD PTR[32+rbp] - vpaddd xmm6,xmm2,XMMWORD PTR[64+rbp] - vpaddd xmm7,xmm3,XMMWORD PTR[96+rbp] - vmovdqa XMMWORD PTR[rsp],xmm4 + vpaddd xmm5,xmm1,XMMWORD PTR[32+rbp] + vpaddd xmm6,xmm2,XMMWORD PTR[64+rbp] + vpaddd xmm7,xmm3,XMMWORD PTR[96+rbp] + vmovdqa XMMWORD PTR[rsp],xmm4 mov r14d,eax - vmovdqa XMMWORD PTR[16+rsp],xmm5 + vmovdqa XMMWORD PTR[16+rsp],xmm5 mov esi,ebx - vmovdqa XMMWORD PTR[32+rsp],xmm6 + vmovdqa XMMWORD PTR[32+rsp],xmm6 xor esi,ecx - vmovdqa XMMWORD PTR[48+rsp],xmm7 + vmovdqa XMMWORD PTR[48+rsp],xmm7 mov r13d,r8d - jmp $L$xop_00_47 + jmp $L$xop_00_47 ALIGN 16 -$L$xop_00_47:: +$L$xop_00_47:: sub rbp,-16*2*4 - vmovdqu xmm9,XMMWORD PTR[r12] - mov QWORD PTR[((64+0))+rsp],r12 + vmovdqu xmm9,XMMWORD PTR[r12] + mov QWORD PTR[((64+0))+rsp],r12 vpalignr xmm4,xmm1,xmm0,4 ror r13d,14 mov eax,r14d @@ -212,9 +212,9 @@ DB 143,232,120,194,236,14 vpaddd xmm0,xmm0,xmm7 and r12d,r8d vpxor xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((16-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((16-128))+rdi] xor r13d,r8d - add r11d,DWORD PTR[rsp] + add r11d,DWORD PTR[rsp] mov r15d,eax DB 143,232,120,194,245,11 ror r14d,11 @@ -251,7 +251,7 @@ DB 143,232,120,194,239,2 vpxor xmm9,xmm9,xmm8 xor r13d,edx vpsrldq xmm7,xmm7,8 - add r10d,DWORD PTR[4+rsp] + add r10d,DWORD PTR[4+rsp] mov esi,r11d ror r14d,11 xor r12d,r9d @@ -284,14 +284,14 @@ DB 143,232,120,194,239,2 xor r14d,r10d and r12d,ecx vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((32-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((32-128))+rdi] xor r13d,ecx vpaddd xmm0,xmm0,xmm7 - add r9d,DWORD PTR[8+rsp] + add r9d,DWORD PTR[8+rsp] mov r15d,r10d ror r14d,11 xor r12d,r8d - vpaddd xmm6,xmm0,XMMWORD PTR[rbp] + vpaddd xmm6,xmm0,XMMWORD PTR[rbp] xor r15d,r11d ror r13d,6 add r9d,r12d @@ -314,9 +314,9 @@ DB 143,232,120,194,239,2 xor r14d,r9d and r12d,ebx vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((48-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((48-128))+rdi] xor r13d,ebx - add r8d,DWORD PTR[12+rsp] + add r8d,DWORD PTR[12+rsp] mov esi,r9d ror r14d,11 xor r12d,edx @@ -332,7 +332,7 @@ DB 143,232,120,194,239,2 add r8d,r15d mov r13d,eax add r14d,r8d - vmovdqa XMMWORD PTR[rsp],xmm6 + vmovdqa XMMWORD PTR[rsp],xmm6 vpalignr xmm4,xmm2,xmm1,4 ror r13d,14 mov r8d,r14d @@ -348,9 +348,9 @@ DB 143,232,120,194,236,14 vpaddd xmm1,xmm1,xmm7 and r12d,eax vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] xor r13d,eax - add edx,DWORD PTR[16+rsp] + add edx,DWORD PTR[16+rsp] mov r15d,r8d DB 143,232,120,194,245,11 ror r14d,11 @@ -385,10 +385,10 @@ DB 143,232,120,194,239,2 xor r14d,edx and r12d,r11d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((80-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((80-128))+rdi] xor r13d,r11d vpsrldq xmm7,xmm7,8 - add ecx,DWORD PTR[20+rsp] + add ecx,DWORD PTR[20+rsp] mov esi,edx ror r14d,11 xor r12d,ebx @@ -421,14 +421,14 @@ DB 143,232,120,194,239,2 xor r14d,ecx and r12d,r10d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((96-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((96-128))+rdi] xor r13d,r10d vpaddd xmm1,xmm1,xmm7 - add ebx,DWORD PTR[24+rsp] + add ebx,DWORD PTR[24+rsp] mov r15d,ecx ror r14d,11 xor r12d,eax - vpaddd xmm6,xmm1,XMMWORD PTR[32+rbp] + vpaddd xmm6,xmm1,XMMWORD PTR[32+rbp] xor r15d,edx ror r13d,6 add ebx,r12d @@ -451,9 +451,9 @@ DB 143,232,120,194,239,2 xor r14d,ebx and r12d,r9d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((112-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((112-128))+rdi] xor r13d,r9d - add eax,DWORD PTR[28+rsp] + add eax,DWORD PTR[28+rsp] mov esi,ebx ror r14d,11 xor r12d,r11d @@ -469,7 +469,7 @@ DB 143,232,120,194,239,2 add eax,r15d mov r13d,r8d add r14d,eax - vmovdqa XMMWORD PTR[16+rsp],xmm6 + vmovdqa XMMWORD PTR[16+rsp],xmm6 vpalignr xmm4,xmm3,xmm2,4 ror r13d,14 mov eax,r14d @@ -485,9 +485,9 @@ DB 143,232,120,194,236,14 vpaddd xmm2,xmm2,xmm7 and r12d,r8d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((128-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((128-128))+rdi] xor r13d,r8d - add r11d,DWORD PTR[32+rsp] + add r11d,DWORD PTR[32+rsp] mov r15d,eax DB 143,232,120,194,245,11 ror r14d,11 @@ -522,10 +522,10 @@ DB 143,232,120,194,239,2 xor r14d,r11d and r12d,edx vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((144-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((144-128))+rdi] xor r13d,edx vpsrldq xmm7,xmm7,8 - add r10d,DWORD PTR[36+rsp] + add r10d,DWORD PTR[36+rsp] mov esi,r11d ror r14d,11 xor r12d,r9d @@ -558,14 +558,14 @@ DB 143,232,120,194,239,2 xor r14d,r10d and r12d,ecx vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((160-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((160-128))+rdi] xor r13d,ecx vpaddd xmm2,xmm2,xmm7 - add r9d,DWORD PTR[40+rsp] + add r9d,DWORD PTR[40+rsp] mov r15d,r10d ror r14d,11 xor r12d,r8d - vpaddd xmm6,xmm2,XMMWORD PTR[64+rbp] + vpaddd xmm6,xmm2,XMMWORD PTR[64+rbp] xor r15d,r11d ror r13d,6 add r9d,r12d @@ -589,9 +589,9 @@ DB 143,232,120,194,239,2 and r12d,ebx vaesenclast xmm11,xmm9,xmm10 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((176-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((176-128))+rdi] xor r13d,ebx - add r8d,DWORD PTR[44+rsp] + add r8d,DWORD PTR[44+rsp] mov esi,r9d ror r14d,11 xor r12d,edx @@ -607,7 +607,7 @@ DB 143,232,120,194,239,2 add r8d,r15d mov r13d,eax add r14d,r8d - vmovdqa XMMWORD PTR[32+rsp],xmm6 + vmovdqa XMMWORD PTR[32+rsp],xmm6 vpalignr xmm4,xmm0,xmm3,4 ror r13d,14 mov r8d,r14d @@ -624,9 +624,9 @@ DB 143,232,120,194,236,14 and r12d,eax vpand xmm8,xmm11,xmm12 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((192-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((192-128))+rdi] xor r13d,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD PTR[48+rsp] mov r15d,r8d DB 143,232,120,194,245,11 ror r14d,11 @@ -662,10 +662,10 @@ DB 143,232,120,194,239,2 and r12d,r11d vaesenclast xmm11,xmm9,xmm10 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((208-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((208-128))+rdi] xor r13d,r11d vpsrldq xmm7,xmm7,8 - add ecx,DWORD PTR[52+rsp] + add ecx,DWORD PTR[52+rsp] mov esi,edx ror r14d,11 xor r12d,ebx @@ -699,14 +699,14 @@ DB 143,232,120,194,239,2 and r12d,r10d vpand xmm11,xmm11,xmm13 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((224-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((224-128))+rdi] xor r13d,r10d vpaddd xmm3,xmm3,xmm7 - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD PTR[56+rsp] mov r15d,ecx ror r14d,11 xor r12d,eax - vpaddd xmm6,xmm3,XMMWORD PTR[96+rbp] + vpaddd xmm6,xmm3,XMMWORD PTR[96+rbp] xor r15d,edx ror r13d,6 add ebx,r12d @@ -730,9 +730,9 @@ DB 143,232,120,194,239,2 and r12d,r9d vpor xmm8,xmm8,xmm11 vaesenclast xmm11,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] xor r13d,r9d - add eax,DWORD PTR[60+rsp] + add eax,DWORD PTR[60+rsp] mov esi,ebx ror r14d,11 xor r12d,r11d @@ -748,17 +748,17 @@ DB 143,232,120,194,239,2 add eax,r15d mov r13d,r8d add r14d,eax - vmovdqa XMMWORD PTR[48+rsp],xmm6 - mov r12,QWORD PTR[((64+0))+rsp] + vmovdqa XMMWORD PTR[48+rsp],xmm6 + mov r12,QWORD PTR[((64+0))+rsp] vpand xmm11,xmm11,xmm14 - mov r15,QWORD PTR[((64+8))+rsp] + mov r15,QWORD PTR[((64+8))+rsp] vpor xmm8,xmm8,xmm11 - vmovdqu XMMWORD PTR[r12*1+r15],xmm8 - lea r12,QWORD PTR[16+r12] - cmp BYTE PTR[131+rbp],0 - jne $L$xop_00_47 - vmovdqu xmm9,XMMWORD PTR[r12] - mov QWORD PTR[((64+0))+rsp],r12 + vmovdqu XMMWORD PTR[r12*1+r15],xmm8 + lea r12,QWORD PTR[16+r12] + cmp BYTE PTR[131+rbp],0 + jne $L$xop_00_47 + vmovdqu xmm9,XMMWORD PTR[r12] + mov QWORD PTR[((64+0))+rsp],r12 ror r13d,14 mov eax,r14d mov r12d,r9d @@ -769,9 +769,9 @@ DB 143,232,120,194,239,2 xor r14d,eax and r12d,r8d vpxor xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((16-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((16-128))+rdi] xor r13d,r8d - add r11d,DWORD PTR[rsp] + add r11d,DWORD PTR[rsp] mov r15d,eax ror r14d,11 xor r12d,r10d @@ -798,7 +798,7 @@ DB 143,232,120,194,239,2 and r12d,edx vpxor xmm9,xmm9,xmm8 xor r13d,edx - add r10d,DWORD PTR[4+rsp] + add r10d,DWORD PTR[4+rsp] mov esi,r11d ror r14d,11 xor r12d,r9d @@ -824,9 +824,9 @@ DB 143,232,120,194,239,2 xor r14d,r10d and r12d,ecx vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((32-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((32-128))+rdi] xor r13d,ecx - add r9d,DWORD PTR[8+rsp] + add r9d,DWORD PTR[8+rsp] mov r15d,r10d ror r14d,11 xor r12d,r8d @@ -852,9 +852,9 @@ DB 143,232,120,194,239,2 xor r14d,r9d and r12d,ebx vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((48-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((48-128))+rdi] xor r13d,ebx - add r8d,DWORD PTR[12+rsp] + add r8d,DWORD PTR[12+rsp] mov esi,r9d ror r14d,11 xor r12d,edx @@ -880,9 +880,9 @@ DB 143,232,120,194,239,2 xor r14d,r8d and r12d,eax vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] xor r13d,eax - add edx,DWORD PTR[16+rsp] + add edx,DWORD PTR[16+rsp] mov r15d,r8d ror r14d,11 xor r12d,ecx @@ -908,9 +908,9 @@ DB 143,232,120,194,239,2 xor r14d,edx and r12d,r11d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((80-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((80-128))+rdi] xor r13d,r11d - add ecx,DWORD PTR[20+rsp] + add ecx,DWORD PTR[20+rsp] mov esi,edx ror r14d,11 xor r12d,ebx @@ -936,9 +936,9 @@ DB 143,232,120,194,239,2 xor r14d,ecx and r12d,r10d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((96-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((96-128))+rdi] xor r13d,r10d - add ebx,DWORD PTR[24+rsp] + add ebx,DWORD PTR[24+rsp] mov r15d,ecx ror r14d,11 xor r12d,eax @@ -964,9 +964,9 @@ DB 143,232,120,194,239,2 xor r14d,ebx and r12d,r9d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((112-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((112-128))+rdi] xor r13d,r9d - add eax,DWORD PTR[28+rsp] + add eax,DWORD PTR[28+rsp] mov esi,ebx ror r14d,11 xor r12d,r11d @@ -992,9 +992,9 @@ DB 143,232,120,194,239,2 xor r14d,eax and r12d,r8d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((128-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((128-128))+rdi] xor r13d,r8d - add r11d,DWORD PTR[32+rsp] + add r11d,DWORD PTR[32+rsp] mov r15d,eax ror r14d,11 xor r12d,r10d @@ -1020,9 +1020,9 @@ DB 143,232,120,194,239,2 xor r14d,r11d and r12d,edx vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((144-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((144-128))+rdi] xor r13d,edx - add r10d,DWORD PTR[36+rsp] + add r10d,DWORD PTR[36+rsp] mov esi,r11d ror r14d,11 xor r12d,r9d @@ -1048,9 +1048,9 @@ DB 143,232,120,194,239,2 xor r14d,r10d and r12d,ecx vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((160-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((160-128))+rdi] xor r13d,ecx - add r9d,DWORD PTR[40+rsp] + add r9d,DWORD PTR[40+rsp] mov r15d,r10d ror r14d,11 xor r12d,r8d @@ -1077,9 +1077,9 @@ DB 143,232,120,194,239,2 and r12d,ebx vaesenclast xmm11,xmm9,xmm10 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((176-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((176-128))+rdi] xor r13d,ebx - add r8d,DWORD PTR[44+rsp] + add r8d,DWORD PTR[44+rsp] mov esi,r9d ror r14d,11 xor r12d,edx @@ -1106,9 +1106,9 @@ DB 143,232,120,194,239,2 and r12d,eax vpand xmm8,xmm11,xmm12 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((192-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((192-128))+rdi] xor r13d,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD PTR[48+rsp] mov r15d,r8d ror r14d,11 xor r12d,ecx @@ -1135,9 +1135,9 @@ DB 143,232,120,194,239,2 and r12d,r11d vaesenclast xmm11,xmm9,xmm10 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((208-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((208-128))+rdi] xor r13d,r11d - add ecx,DWORD PTR[52+rsp] + add ecx,DWORD PTR[52+rsp] mov esi,edx ror r14d,11 xor r12d,ebx @@ -1164,9 +1164,9 @@ DB 143,232,120,194,239,2 and r12d,r10d vpand xmm11,xmm11,xmm13 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((224-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((224-128))+rdi] xor r13d,r10d - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD PTR[56+rsp] mov r15d,ecx ror r14d,11 xor r12d,eax @@ -1193,9 +1193,9 @@ DB 143,232,120,194,239,2 and r12d,r9d vpor xmm8,xmm8,xmm11 vaesenclast xmm11,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] xor r13d,r9d - add eax,DWORD PTR[60+rsp] + add eax,DWORD PTR[60+rsp] mov esi,ebx ror r14d,11 xor r12d,r11d @@ -1211,93 +1211,93 @@ DB 143,232,120,194,239,2 add eax,r15d mov r13d,r8d add r14d,eax - mov r12,QWORD PTR[((64+0))+rsp] - mov r13,QWORD PTR[((64+8))+rsp] - mov r15,QWORD PTR[((64+40))+rsp] - mov rsi,QWORD PTR[((64+48))+rsp] + mov r12,QWORD PTR[((64+0))+rsp] + mov r13,QWORD PTR[((64+8))+rsp] + mov r15,QWORD PTR[((64+40))+rsp] + mov rsi,QWORD PTR[((64+48))+rsp] vpand xmm11,xmm11,xmm14 mov eax,r14d vpor xmm8,xmm8,xmm11 - vmovdqu XMMWORD PTR[r13*1+r12],xmm8 - lea r12,QWORD PTR[16+r12] - - add eax,DWORD PTR[r15] - add ebx,DWORD PTR[4+r15] - add ecx,DWORD PTR[8+r15] - add edx,DWORD PTR[12+r15] - add r8d,DWORD PTR[16+r15] - add r9d,DWORD PTR[20+r15] - add r10d,DWORD PTR[24+r15] - add r11d,DWORD PTR[28+r15] - - cmp r12,QWORD PTR[((64+16))+rsp] - - mov DWORD PTR[r15],eax - mov DWORD PTR[4+r15],ebx - mov DWORD PTR[8+r15],ecx - mov DWORD PTR[12+r15],edx - mov DWORD PTR[16+r15],r8d - mov DWORD PTR[20+r15],r9d - mov DWORD PTR[24+r15],r10d - mov DWORD PTR[28+r15],r11d - - jb $L$loop_xop - - mov r8,QWORD PTR[((64+32))+rsp] - mov rsi,QWORD PTR[120+rsp] - - vmovdqu XMMWORD PTR[r8],xmm8 + vmovdqu XMMWORD PTR[r13*1+r12],xmm8 + lea r12,QWORD PTR[16+r12] + + add eax,DWORD PTR[r15] + add ebx,DWORD PTR[4+r15] + add ecx,DWORD PTR[8+r15] + add edx,DWORD PTR[12+r15] + add r8d,DWORD PTR[16+r15] + add r9d,DWORD PTR[20+r15] + add r10d,DWORD PTR[24+r15] + add r11d,DWORD PTR[28+r15] + + cmp r12,QWORD PTR[((64+16))+rsp] + + mov DWORD PTR[r15],eax + mov DWORD PTR[4+r15],ebx + mov DWORD PTR[8+r15],ecx + mov DWORD PTR[12+r15],edx + mov DWORD PTR[16+r15],r8d + mov DWORD PTR[20+r15],r9d + mov DWORD PTR[24+r15],r10d + mov DWORD PTR[28+r15],r11d + + jb $L$loop_xop + + mov r8,QWORD PTR[((64+32))+rsp] + mov rsi,QWORD PTR[120+rsp] + + vmovdqu XMMWORD PTR[r8],xmm8 vzeroall - movaps xmm6,XMMWORD PTR[128+rsp] - movaps xmm7,XMMWORD PTR[144+rsp] - movaps xmm8,XMMWORD PTR[160+rsp] - movaps xmm9,XMMWORD PTR[176+rsp] - movaps xmm10,XMMWORD PTR[192+rsp] - movaps xmm11,XMMWORD PTR[208+rsp] - movaps xmm12,XMMWORD PTR[224+rsp] - movaps xmm13,XMMWORD PTR[240+rsp] - movaps xmm14,XMMWORD PTR[256+rsp] - movaps xmm15,XMMWORD PTR[272+rsp] - mov r15,QWORD PTR[((-48))+rsi] + movaps xmm6,XMMWORD PTR[128+rsp] + movaps xmm7,XMMWORD PTR[144+rsp] + movaps xmm8,XMMWORD PTR[160+rsp] + movaps xmm9,XMMWORD PTR[176+rsp] + movaps xmm10,XMMWORD PTR[192+rsp] + movaps xmm11,XMMWORD PTR[208+rsp] + movaps xmm12,XMMWORD PTR[224+rsp] + movaps xmm13,XMMWORD PTR[240+rsp] + movaps xmm14,XMMWORD PTR[256+rsp] + movaps xmm15,XMMWORD PTR[272+rsp] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$epilogue_xop:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_xop:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_sha256_enc_xop:: -aesni_cbc_sha256_enc_xop ENDP +$L$SEH_end_aesni_cbc_sha256_enc_xop:: +aesni_cbc_sha256_enc_xop ENDP ALIGN 64 -aesni_cbc_sha256_enc_avx PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_cbc_sha256_enc_avx PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_cbc_sha256_enc_avx:: +$L$SEH_begin_aesni_cbc_sha256_enc_avx:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] -$L$avx_shortcut:: - mov r10,QWORD PTR[56+rsp] +$L$avx_shortcut:: + mov r10,QWORD PTR[56+rsp] mov rax,rsp push rbx @@ -1321,81 +1321,81 @@ $L$avx_shortcut:: add rdx,rdi - mov QWORD PTR[((64+8))+rsp],rsi - mov QWORD PTR[((64+16))+rsp],rdx - - mov QWORD PTR[((64+32))+rsp],r8 - mov QWORD PTR[((64+40))+rsp],r9 - mov QWORD PTR[((64+48))+rsp],r10 - mov QWORD PTR[120+rsp],rax - - movaps XMMWORD PTR[128+rsp],xmm6 - movaps XMMWORD PTR[144+rsp],xmm7 - movaps XMMWORD PTR[160+rsp],xmm8 - movaps XMMWORD PTR[176+rsp],xmm9 - movaps XMMWORD PTR[192+rsp],xmm10 - movaps XMMWORD PTR[208+rsp],xmm11 - movaps XMMWORD PTR[224+rsp],xmm12 - movaps XMMWORD PTR[240+rsp],xmm13 - movaps XMMWORD PTR[256+rsp],xmm14 - movaps XMMWORD PTR[272+rsp],xmm15 -$L$prologue_avx:: + mov QWORD PTR[((64+8))+rsp],rsi + mov QWORD PTR[((64+16))+rsp],rdx + + mov QWORD PTR[((64+32))+rsp],r8 + mov QWORD PTR[((64+40))+rsp],r9 + mov QWORD PTR[((64+48))+rsp],r10 + mov QWORD PTR[120+rsp],rax + + movaps XMMWORD PTR[128+rsp],xmm6 + movaps XMMWORD PTR[144+rsp],xmm7 + movaps XMMWORD PTR[160+rsp],xmm8 + movaps XMMWORD PTR[176+rsp],xmm9 + movaps XMMWORD PTR[192+rsp],xmm10 + movaps XMMWORD PTR[208+rsp],xmm11 + movaps XMMWORD PTR[224+rsp],xmm12 + movaps XMMWORD PTR[240+rsp],xmm13 + movaps XMMWORD PTR[256+rsp],xmm14 + movaps XMMWORD PTR[272+rsp],xmm15 +$L$prologue_avx:: vzeroall mov r12,rdi - lea rdi,QWORD PTR[128+rcx] - lea r13,QWORD PTR[((K256+544))] - mov r14d,DWORD PTR[((240-128))+rdi] + lea rdi,QWORD PTR[128+rcx] + lea r13,QWORD PTR[((K256+544))] + mov r14d,DWORD PTR[((240-128))+rdi] mov r15,r9 mov rsi,r10 - vmovdqu xmm8,XMMWORD PTR[r8] + vmovdqu xmm8,XMMWORD PTR[r8] sub r14,9 - mov eax,DWORD PTR[r15] - mov ebx,DWORD PTR[4+r15] - mov ecx,DWORD PTR[8+r15] - mov edx,DWORD PTR[12+r15] - mov r8d,DWORD PTR[16+r15] - mov r9d,DWORD PTR[20+r15] - mov r10d,DWORD PTR[24+r15] - mov r11d,DWORD PTR[28+r15] - - vmovdqa xmm14,XMMWORD PTR[r14*8+r13] - vmovdqa xmm13,XMMWORD PTR[16+r14*8+r13] - vmovdqa xmm12,XMMWORD PTR[32+r14*8+r13] - vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] - jmp $L$loop_avx + mov eax,DWORD PTR[r15] + mov ebx,DWORD PTR[4+r15] + mov ecx,DWORD PTR[8+r15] + mov edx,DWORD PTR[12+r15] + mov r8d,DWORD PTR[16+r15] + mov r9d,DWORD PTR[20+r15] + mov r10d,DWORD PTR[24+r15] + mov r11d,DWORD PTR[28+r15] + + vmovdqa xmm14,XMMWORD PTR[r14*8+r13] + vmovdqa xmm13,XMMWORD PTR[16+r14*8+r13] + vmovdqa xmm12,XMMWORD PTR[32+r14*8+r13] + vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] + jmp $L$loop_avx ALIGN 16 -$L$loop_avx:: - vmovdqa xmm7,XMMWORD PTR[((K256+512))] - vmovdqu xmm0,XMMWORD PTR[r12*1+rsi] - vmovdqu xmm1,XMMWORD PTR[16+r12*1+rsi] - vmovdqu xmm2,XMMWORD PTR[32+r12*1+rsi] - vmovdqu xmm3,XMMWORD PTR[48+r12*1+rsi] +$L$loop_avx:: + vmovdqa xmm7,XMMWORD PTR[((K256+512))] + vmovdqu xmm0,XMMWORD PTR[r12*1+rsi] + vmovdqu xmm1,XMMWORD PTR[16+r12*1+rsi] + vmovdqu xmm2,XMMWORD PTR[32+r12*1+rsi] + vmovdqu xmm3,XMMWORD PTR[48+r12*1+rsi] vpshufb xmm0,xmm0,xmm7 - lea rbp,QWORD PTR[K256] + lea rbp,QWORD PTR[K256] vpshufb xmm1,xmm1,xmm7 vpshufb xmm2,xmm2,xmm7 - vpaddd xmm4,xmm0,XMMWORD PTR[rbp] + vpaddd xmm4,xmm0,XMMWORD PTR[rbp] vpshufb xmm3,xmm3,xmm7 - vpaddd xmm5,xmm1,XMMWORD PTR[32+rbp] - vpaddd xmm6,xmm2,XMMWORD PTR[64+rbp] - vpaddd xmm7,xmm3,XMMWORD PTR[96+rbp] - vmovdqa XMMWORD PTR[rsp],xmm4 + vpaddd xmm5,xmm1,XMMWORD PTR[32+rbp] + vpaddd xmm6,xmm2,XMMWORD PTR[64+rbp] + vpaddd xmm7,xmm3,XMMWORD PTR[96+rbp] + vmovdqa XMMWORD PTR[rsp],xmm4 mov r14d,eax - vmovdqa XMMWORD PTR[16+rsp],xmm5 + vmovdqa XMMWORD PTR[16+rsp],xmm5 mov esi,ebx - vmovdqa XMMWORD PTR[32+rsp],xmm6 + vmovdqa XMMWORD PTR[32+rsp],xmm6 xor esi,ecx - vmovdqa XMMWORD PTR[48+rsp],xmm7 + vmovdqa XMMWORD PTR[48+rsp],xmm7 mov r13d,r8d - jmp $L$avx_00_47 + jmp $L$avx_00_47 ALIGN 16 -$L$avx_00_47:: +$L$avx_00_47:: sub rbp,-16*2*4 - vmovdqu xmm9,XMMWORD PTR[r12] - mov QWORD PTR[((64+0))+rsp],r12 + vmovdqu xmm9,XMMWORD PTR[r12] + mov QWORD PTR[((64+0))+rsp],r12 vpalignr xmm4,xmm1,xmm0,4 shrd r13d,r13d,14 mov eax,r14d @@ -1410,9 +1410,9 @@ $L$avx_00_47:: and r12d,r8d vpaddd xmm0,xmm0,xmm7 vpxor xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((16-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((16-128))+rdi] xor r13d,r8d - add r11d,DWORD PTR[rsp] + add r11d,DWORD PTR[rsp] mov r15d,eax vpsrld xmm7,xmm4,3 shrd r14d,r14d,11 @@ -1448,7 +1448,7 @@ $L$avx_00_47:: vpxor xmm9,xmm9,xmm8 xor r13d,edx vpsrld xmm6,xmm7,10 - add r10d,DWORD PTR[4+rsp] + add r10d,DWORD PTR[4+rsp] mov esi,r11d shrd r14d,r14d,11 vpxor xmm4,xmm4,xmm5 @@ -1482,9 +1482,9 @@ $L$avx_00_47:: vpsrldq xmm6,xmm6,8 and r12d,ecx vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((32-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((32-128))+rdi] xor r13d,ecx - add r9d,DWORD PTR[8+rsp] + add r9d,DWORD PTR[8+rsp] vpaddd xmm0,xmm0,xmm6 mov r15d,r10d shrd r14d,r14d,11 @@ -1519,15 +1519,15 @@ $L$avx_00_47:: and r12d,ebx vpslldq xmm6,xmm6,8 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((48-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((48-128))+rdi] xor r13d,ebx - add r8d,DWORD PTR[12+rsp] + add r8d,DWORD PTR[12+rsp] mov esi,r9d vpaddd xmm0,xmm0,xmm6 shrd r14d,r14d,11 xor r12d,edx xor esi,r10d - vpaddd xmm6,xmm0,XMMWORD PTR[rbp] + vpaddd xmm6,xmm0,XMMWORD PTR[rbp] shrd r13d,r13d,6 add r8d,r12d and r15d,esi @@ -1539,7 +1539,7 @@ $L$avx_00_47:: add r8d,r15d mov r13d,eax add r14d,r8d - vmovdqa XMMWORD PTR[rsp],xmm6 + vmovdqa XMMWORD PTR[rsp],xmm6 vpalignr xmm4,xmm2,xmm1,4 shrd r13d,r13d,14 mov r8d,r14d @@ -1554,9 +1554,9 @@ $L$avx_00_47:: and r12d,eax vpaddd xmm1,xmm1,xmm7 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] xor r13d,eax - add edx,DWORD PTR[16+rsp] + add edx,DWORD PTR[16+rsp] mov r15d,r8d vpsrld xmm7,xmm4,3 shrd r14d,r14d,11 @@ -1590,10 +1590,10 @@ $L$avx_00_47:: xor r14d,edx and r12d,r11d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((80-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((80-128))+rdi] xor r13d,r11d vpsrld xmm6,xmm7,10 - add ecx,DWORD PTR[20+rsp] + add ecx,DWORD PTR[20+rsp] mov esi,edx shrd r14d,r14d,11 vpxor xmm4,xmm4,xmm5 @@ -1627,9 +1627,9 @@ $L$avx_00_47:: vpsrldq xmm6,xmm6,8 and r12d,r10d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((96-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((96-128))+rdi] xor r13d,r10d - add ebx,DWORD PTR[24+rsp] + add ebx,DWORD PTR[24+rsp] vpaddd xmm1,xmm1,xmm6 mov r15d,ecx shrd r14d,r14d,11 @@ -1664,15 +1664,15 @@ $L$avx_00_47:: and r12d,r9d vpslldq xmm6,xmm6,8 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((112-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((112-128))+rdi] xor r13d,r9d - add eax,DWORD PTR[28+rsp] + add eax,DWORD PTR[28+rsp] mov esi,ebx vpaddd xmm1,xmm1,xmm6 shrd r14d,r14d,11 xor r12d,r11d xor esi,ecx - vpaddd xmm6,xmm1,XMMWORD PTR[32+rbp] + vpaddd xmm6,xmm1,XMMWORD PTR[32+rbp] shrd r13d,r13d,6 add eax,r12d and r15d,esi @@ -1684,7 +1684,7 @@ $L$avx_00_47:: add eax,r15d mov r13d,r8d add r14d,eax - vmovdqa XMMWORD PTR[16+rsp],xmm6 + vmovdqa XMMWORD PTR[16+rsp],xmm6 vpalignr xmm4,xmm3,xmm2,4 shrd r13d,r13d,14 mov eax,r14d @@ -1699,9 +1699,9 @@ $L$avx_00_47:: and r12d,r8d vpaddd xmm2,xmm2,xmm7 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((128-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((128-128))+rdi] xor r13d,r8d - add r11d,DWORD PTR[32+rsp] + add r11d,DWORD PTR[32+rsp] mov r15d,eax vpsrld xmm7,xmm4,3 shrd r14d,r14d,11 @@ -1735,10 +1735,10 @@ $L$avx_00_47:: xor r14d,r11d and r12d,edx vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((144-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((144-128))+rdi] xor r13d,edx vpsrld xmm6,xmm7,10 - add r10d,DWORD PTR[36+rsp] + add r10d,DWORD PTR[36+rsp] mov esi,r11d shrd r14d,r14d,11 vpxor xmm4,xmm4,xmm5 @@ -1772,9 +1772,9 @@ $L$avx_00_47:: vpsrldq xmm6,xmm6,8 and r12d,ecx vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((160-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((160-128))+rdi] xor r13d,ecx - add r9d,DWORD PTR[40+rsp] + add r9d,DWORD PTR[40+rsp] vpaddd xmm2,xmm2,xmm6 mov r15d,r10d shrd r14d,r14d,11 @@ -1810,15 +1810,15 @@ $L$avx_00_47:: vpslldq xmm6,xmm6,8 vaesenclast xmm11,xmm9,xmm10 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((176-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((176-128))+rdi] xor r13d,ebx - add r8d,DWORD PTR[44+rsp] + add r8d,DWORD PTR[44+rsp] mov esi,r9d vpaddd xmm2,xmm2,xmm6 shrd r14d,r14d,11 xor r12d,edx xor esi,r10d - vpaddd xmm6,xmm2,XMMWORD PTR[64+rbp] + vpaddd xmm6,xmm2,XMMWORD PTR[64+rbp] shrd r13d,r13d,6 add r8d,r12d and r15d,esi @@ -1830,7 +1830,7 @@ $L$avx_00_47:: add r8d,r15d mov r13d,eax add r14d,r8d - vmovdqa XMMWORD PTR[32+rsp],xmm6 + vmovdqa XMMWORD PTR[32+rsp],xmm6 vpalignr xmm4,xmm0,xmm3,4 shrd r13d,r13d,14 mov r8d,r14d @@ -1846,9 +1846,9 @@ $L$avx_00_47:: vpaddd xmm3,xmm3,xmm7 vpand xmm8,xmm11,xmm12 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((192-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((192-128))+rdi] xor r13d,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD PTR[48+rsp] mov r15d,r8d vpsrld xmm7,xmm4,3 shrd r14d,r14d,11 @@ -1883,10 +1883,10 @@ $L$avx_00_47:: and r12d,r11d vaesenclast xmm11,xmm9,xmm10 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((208-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((208-128))+rdi] xor r13d,r11d vpsrld xmm6,xmm7,10 - add ecx,DWORD PTR[52+rsp] + add ecx,DWORD PTR[52+rsp] mov esi,edx shrd r14d,r14d,11 vpxor xmm4,xmm4,xmm5 @@ -1921,9 +1921,9 @@ $L$avx_00_47:: and r12d,r10d vpand xmm11,xmm11,xmm13 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((224-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((224-128))+rdi] xor r13d,r10d - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD PTR[56+rsp] vpaddd xmm3,xmm3,xmm6 mov r15d,ecx shrd r14d,r14d,11 @@ -1959,15 +1959,15 @@ $L$avx_00_47:: vpslldq xmm6,xmm6,8 vpor xmm8,xmm8,xmm11 vaesenclast xmm11,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] xor r13d,r9d - add eax,DWORD PTR[60+rsp] + add eax,DWORD PTR[60+rsp] mov esi,ebx vpaddd xmm3,xmm3,xmm6 shrd r14d,r14d,11 xor r12d,r11d xor esi,ecx - vpaddd xmm6,xmm3,XMMWORD PTR[96+rbp] + vpaddd xmm6,xmm3,XMMWORD PTR[96+rbp] shrd r13d,r13d,6 add eax,r12d and r15d,esi @@ -1979,17 +1979,17 @@ $L$avx_00_47:: add eax,r15d mov r13d,r8d add r14d,eax - vmovdqa XMMWORD PTR[48+rsp],xmm6 - mov r12,QWORD PTR[((64+0))+rsp] + vmovdqa XMMWORD PTR[48+rsp],xmm6 + mov r12,QWORD PTR[((64+0))+rsp] vpand xmm11,xmm11,xmm14 - mov r15,QWORD PTR[((64+8))+rsp] + mov r15,QWORD PTR[((64+8))+rsp] vpor xmm8,xmm8,xmm11 - vmovdqu XMMWORD PTR[r12*1+r15],xmm8 - lea r12,QWORD PTR[16+r12] - cmp BYTE PTR[131+rbp],0 - jne $L$avx_00_47 - vmovdqu xmm9,XMMWORD PTR[r12] - mov QWORD PTR[((64+0))+rsp],r12 + vmovdqu XMMWORD PTR[r12*1+r15],xmm8 + lea r12,QWORD PTR[16+r12] + cmp BYTE PTR[131+rbp],0 + jne $L$avx_00_47 + vmovdqu xmm9,XMMWORD PTR[r12] + mov QWORD PTR[((64+0))+rsp],r12 shrd r13d,r13d,14 mov eax,r14d mov r12d,r9d @@ -2000,9 +2000,9 @@ $L$avx_00_47:: xor r14d,eax and r12d,r8d vpxor xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((16-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((16-128))+rdi] xor r13d,r8d - add r11d,DWORD PTR[rsp] + add r11d,DWORD PTR[rsp] mov r15d,eax shrd r14d,r14d,11 xor r12d,r10d @@ -2029,7 +2029,7 @@ $L$avx_00_47:: and r12d,edx vpxor xmm9,xmm9,xmm8 xor r13d,edx - add r10d,DWORD PTR[4+rsp] + add r10d,DWORD PTR[4+rsp] mov esi,r11d shrd r14d,r14d,11 xor r12d,r9d @@ -2055,9 +2055,9 @@ $L$avx_00_47:: xor r14d,r10d and r12d,ecx vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((32-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((32-128))+rdi] xor r13d,ecx - add r9d,DWORD PTR[8+rsp] + add r9d,DWORD PTR[8+rsp] mov r15d,r10d shrd r14d,r14d,11 xor r12d,r8d @@ -2083,9 +2083,9 @@ $L$avx_00_47:: xor r14d,r9d and r12d,ebx vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((48-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((48-128))+rdi] xor r13d,ebx - add r8d,DWORD PTR[12+rsp] + add r8d,DWORD PTR[12+rsp] mov esi,r9d shrd r14d,r14d,11 xor r12d,edx @@ -2111,9 +2111,9 @@ $L$avx_00_47:: xor r14d,r8d and r12d,eax vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] xor r13d,eax - add edx,DWORD PTR[16+rsp] + add edx,DWORD PTR[16+rsp] mov r15d,r8d shrd r14d,r14d,11 xor r12d,ecx @@ -2139,9 +2139,9 @@ $L$avx_00_47:: xor r14d,edx and r12d,r11d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((80-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((80-128))+rdi] xor r13d,r11d - add ecx,DWORD PTR[20+rsp] + add ecx,DWORD PTR[20+rsp] mov esi,edx shrd r14d,r14d,11 xor r12d,ebx @@ -2167,9 +2167,9 @@ $L$avx_00_47:: xor r14d,ecx and r12d,r10d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((96-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((96-128))+rdi] xor r13d,r10d - add ebx,DWORD PTR[24+rsp] + add ebx,DWORD PTR[24+rsp] mov r15d,ecx shrd r14d,r14d,11 xor r12d,eax @@ -2195,9 +2195,9 @@ $L$avx_00_47:: xor r14d,ebx and r12d,r9d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((112-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((112-128))+rdi] xor r13d,r9d - add eax,DWORD PTR[28+rsp] + add eax,DWORD PTR[28+rsp] mov esi,ebx shrd r14d,r14d,11 xor r12d,r11d @@ -2223,9 +2223,9 @@ $L$avx_00_47:: xor r14d,eax and r12d,r8d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((128-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((128-128))+rdi] xor r13d,r8d - add r11d,DWORD PTR[32+rsp] + add r11d,DWORD PTR[32+rsp] mov r15d,eax shrd r14d,r14d,11 xor r12d,r10d @@ -2251,9 +2251,9 @@ $L$avx_00_47:: xor r14d,r11d and r12d,edx vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((144-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((144-128))+rdi] xor r13d,edx - add r10d,DWORD PTR[36+rsp] + add r10d,DWORD PTR[36+rsp] mov esi,r11d shrd r14d,r14d,11 xor r12d,r9d @@ -2279,9 +2279,9 @@ $L$avx_00_47:: xor r14d,r10d and r12d,ecx vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((160-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((160-128))+rdi] xor r13d,ecx - add r9d,DWORD PTR[40+rsp] + add r9d,DWORD PTR[40+rsp] mov r15d,r10d shrd r14d,r14d,11 xor r12d,r8d @@ -2308,9 +2308,9 @@ $L$avx_00_47:: and r12d,ebx vaesenclast xmm11,xmm9,xmm10 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((176-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((176-128))+rdi] xor r13d,ebx - add r8d,DWORD PTR[44+rsp] + add r8d,DWORD PTR[44+rsp] mov esi,r9d shrd r14d,r14d,11 xor r12d,edx @@ -2337,9 +2337,9 @@ $L$avx_00_47:: and r12d,eax vpand xmm8,xmm11,xmm12 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((192-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((192-128))+rdi] xor r13d,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD PTR[48+rsp] mov r15d,r8d shrd r14d,r14d,11 xor r12d,ecx @@ -2366,9 +2366,9 @@ $L$avx_00_47:: and r12d,r11d vaesenclast xmm11,xmm9,xmm10 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((208-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((208-128))+rdi] xor r13d,r11d - add ecx,DWORD PTR[52+rsp] + add ecx,DWORD PTR[52+rsp] mov esi,edx shrd r14d,r14d,11 xor r12d,ebx @@ -2395,9 +2395,9 @@ $L$avx_00_47:: and r12d,r10d vpand xmm11,xmm11,xmm13 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((224-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((224-128))+rdi] xor r13d,r10d - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD PTR[56+rsp] mov r15d,ecx shrd r14d,r14d,11 xor r12d,eax @@ -2424,9 +2424,9 @@ $L$avx_00_47:: and r12d,r9d vpor xmm8,xmm8,xmm11 vaesenclast xmm11,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] xor r13d,r9d - add eax,DWORD PTR[60+rsp] + add eax,DWORD PTR[60+rsp] mov esi,ebx shrd r14d,r14d,11 xor r12d,r11d @@ -2442,92 +2442,92 @@ $L$avx_00_47:: add eax,r15d mov r13d,r8d add r14d,eax - mov r12,QWORD PTR[((64+0))+rsp] - mov r13,QWORD PTR[((64+8))+rsp] - mov r15,QWORD PTR[((64+40))+rsp] - mov rsi,QWORD PTR[((64+48))+rsp] + mov r12,QWORD PTR[((64+0))+rsp] + mov r13,QWORD PTR[((64+8))+rsp] + mov r15,QWORD PTR[((64+40))+rsp] + mov rsi,QWORD PTR[((64+48))+rsp] vpand xmm11,xmm11,xmm14 mov eax,r14d vpor xmm8,xmm8,xmm11 - vmovdqu XMMWORD PTR[r13*1+r12],xmm8 - lea r12,QWORD PTR[16+r12] - - add eax,DWORD PTR[r15] - add ebx,DWORD PTR[4+r15] - add ecx,DWORD PTR[8+r15] - add edx,DWORD PTR[12+r15] - add r8d,DWORD PTR[16+r15] - add r9d,DWORD PTR[20+r15] - add r10d,DWORD PTR[24+r15] - add r11d,DWORD PTR[28+r15] - - cmp r12,QWORD PTR[((64+16))+rsp] - - mov DWORD PTR[r15],eax - mov DWORD PTR[4+r15],ebx - mov DWORD PTR[8+r15],ecx - mov DWORD PTR[12+r15],edx - mov DWORD PTR[16+r15],r8d - mov DWORD PTR[20+r15],r9d - mov DWORD PTR[24+r15],r10d - mov DWORD PTR[28+r15],r11d - jb $L$loop_avx - - mov r8,QWORD PTR[((64+32))+rsp] - mov rsi,QWORD PTR[120+rsp] - - vmovdqu XMMWORD PTR[r8],xmm8 + vmovdqu XMMWORD PTR[r13*1+r12],xmm8 + lea r12,QWORD PTR[16+r12] + + add eax,DWORD PTR[r15] + add ebx,DWORD PTR[4+r15] + add ecx,DWORD PTR[8+r15] + add edx,DWORD PTR[12+r15] + add r8d,DWORD PTR[16+r15] + add r9d,DWORD PTR[20+r15] + add r10d,DWORD PTR[24+r15] + add r11d,DWORD PTR[28+r15] + + cmp r12,QWORD PTR[((64+16))+rsp] + + mov DWORD PTR[r15],eax + mov DWORD PTR[4+r15],ebx + mov DWORD PTR[8+r15],ecx + mov DWORD PTR[12+r15],edx + mov DWORD PTR[16+r15],r8d + mov DWORD PTR[20+r15],r9d + mov DWORD PTR[24+r15],r10d + mov DWORD PTR[28+r15],r11d + jb $L$loop_avx + + mov r8,QWORD PTR[((64+32))+rsp] + mov rsi,QWORD PTR[120+rsp] + + vmovdqu XMMWORD PTR[r8],xmm8 vzeroall - movaps xmm6,XMMWORD PTR[128+rsp] - movaps xmm7,XMMWORD PTR[144+rsp] - movaps xmm8,XMMWORD PTR[160+rsp] - movaps xmm9,XMMWORD PTR[176+rsp] - movaps xmm10,XMMWORD PTR[192+rsp] - movaps xmm11,XMMWORD PTR[208+rsp] - movaps xmm12,XMMWORD PTR[224+rsp] - movaps xmm13,XMMWORD PTR[240+rsp] - movaps xmm14,XMMWORD PTR[256+rsp] - movaps xmm15,XMMWORD PTR[272+rsp] - mov r15,QWORD PTR[((-48))+rsi] + movaps xmm6,XMMWORD PTR[128+rsp] + movaps xmm7,XMMWORD PTR[144+rsp] + movaps xmm8,XMMWORD PTR[160+rsp] + movaps xmm9,XMMWORD PTR[176+rsp] + movaps xmm10,XMMWORD PTR[192+rsp] + movaps xmm11,XMMWORD PTR[208+rsp] + movaps xmm12,XMMWORD PTR[224+rsp] + movaps xmm13,XMMWORD PTR[240+rsp] + movaps xmm14,XMMWORD PTR[256+rsp] + movaps xmm15,XMMWORD PTR[272+rsp] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$epilogue_avx:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_avx:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_sha256_enc_avx:: -aesni_cbc_sha256_enc_avx ENDP +$L$SEH_end_aesni_cbc_sha256_enc_avx:: +aesni_cbc_sha256_enc_avx ENDP ALIGN 64 -aesni_cbc_sha256_enc_avx2 PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_cbc_sha256_enc_avx2 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_cbc_sha256_enc_avx2:: +$L$SEH_begin_aesni_cbc_sha256_enc_avx2:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] -$L$avx2_shortcut:: - mov r10,QWORD PTR[56+rsp] +$L$avx2_shortcut:: + mov r10,QWORD PTR[56+rsp] mov rax,rsp push rbx @@ -2553,152 +2553,152 @@ $L$avx2_shortcut:: - mov QWORD PTR[((64+16))+rsp],rdx + mov QWORD PTR[((64+16))+rsp],rdx - mov QWORD PTR[((64+32))+rsp],r8 - mov QWORD PTR[((64+40))+rsp],r9 - mov QWORD PTR[((64+48))+rsp],r10 - mov QWORD PTR[120+rsp],rax + mov QWORD PTR[((64+32))+rsp],r8 + mov QWORD PTR[((64+40))+rsp],r9 + mov QWORD PTR[((64+48))+rsp],r10 + mov QWORD PTR[120+rsp],rax - movaps XMMWORD PTR[128+rsp],xmm6 - movaps XMMWORD PTR[144+rsp],xmm7 - movaps XMMWORD PTR[160+rsp],xmm8 - movaps XMMWORD PTR[176+rsp],xmm9 - movaps XMMWORD PTR[192+rsp],xmm10 - movaps XMMWORD PTR[208+rsp],xmm11 - movaps XMMWORD PTR[224+rsp],xmm12 - movaps XMMWORD PTR[240+rsp],xmm13 - movaps XMMWORD PTR[256+rsp],xmm14 - movaps XMMWORD PTR[272+rsp],xmm15 -$L$prologue_avx2:: + movaps XMMWORD PTR[128+rsp],xmm6 + movaps XMMWORD PTR[144+rsp],xmm7 + movaps XMMWORD PTR[160+rsp],xmm8 + movaps XMMWORD PTR[176+rsp],xmm9 + movaps XMMWORD PTR[192+rsp],xmm10 + movaps XMMWORD PTR[208+rsp],xmm11 + movaps XMMWORD PTR[224+rsp],xmm12 + movaps XMMWORD PTR[240+rsp],xmm13 + movaps XMMWORD PTR[256+rsp],xmm14 + movaps XMMWORD PTR[272+rsp],xmm15 +$L$prologue_avx2:: vzeroall mov r13,rdi vpinsrq xmm15,xmm15,rsi,1 - lea rdi,QWORD PTR[128+rcx] - lea r12,QWORD PTR[((K256+544))] - mov r14d,DWORD PTR[((240-128))+rdi] + lea rdi,QWORD PTR[128+rcx] + lea r12,QWORD PTR[((K256+544))] + mov r14d,DWORD PTR[((240-128))+rdi] mov r15,r9 mov rsi,r10 - vmovdqu xmm8,XMMWORD PTR[r8] - lea r14,QWORD PTR[((-9))+r14] + vmovdqu xmm8,XMMWORD PTR[r8] + lea r14,QWORD PTR[((-9))+r14] - vmovdqa xmm14,XMMWORD PTR[r14*8+r12] - vmovdqa xmm13,XMMWORD PTR[16+r14*8+r12] - vmovdqa xmm12,XMMWORD PTR[32+r14*8+r12] + vmovdqa xmm14,XMMWORD PTR[r14*8+r12] + vmovdqa xmm13,XMMWORD PTR[16+r14*8+r12] + vmovdqa xmm12,XMMWORD PTR[32+r14*8+r12] sub r13,-16*4 - mov eax,DWORD PTR[r15] - lea r12,QWORD PTR[r13*1+rsi] - mov ebx,DWORD PTR[4+r15] + mov eax,DWORD PTR[r15] + lea r12,QWORD PTR[r13*1+rsi] + mov ebx,DWORD PTR[4+r15] cmp r13,rdx - mov ecx,DWORD PTR[8+r15] + mov ecx,DWORD PTR[8+r15] cmove r12,rsp - mov edx,DWORD PTR[12+r15] - mov r8d,DWORD PTR[16+r15] - mov r9d,DWORD PTR[20+r15] - mov r10d,DWORD PTR[24+r15] - mov r11d,DWORD PTR[28+r15] - vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] - jmp $L$oop_avx2 + mov edx,DWORD PTR[12+r15] + mov r8d,DWORD PTR[16+r15] + mov r9d,DWORD PTR[20+r15] + mov r10d,DWORD PTR[24+r15] + mov r11d,DWORD PTR[28+r15] + vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] + jmp $L$oop_avx2 ALIGN 16 -$L$oop_avx2:: - vmovdqa ymm7,YMMWORD PTR[((K256+512))] - vmovdqu xmm0,XMMWORD PTR[((-64+0))+r13*1+rsi] - vmovdqu xmm1,XMMWORD PTR[((-64+16))+r13*1+rsi] - vmovdqu xmm2,XMMWORD PTR[((-64+32))+r13*1+rsi] - vmovdqu xmm3,XMMWORD PTR[((-64+48))+r13*1+rsi] - - vinserti128 ymm0,ymm0,XMMWORD PTR[r12],1 - vinserti128 ymm1,ymm1,XMMWORD PTR[16+r12],1 +$L$oop_avx2:: + vmovdqa ymm7,YMMWORD PTR[((K256+512))] + vmovdqu xmm0,XMMWORD PTR[((-64+0))+r13*1+rsi] + vmovdqu xmm1,XMMWORD PTR[((-64+16))+r13*1+rsi] + vmovdqu xmm2,XMMWORD PTR[((-64+32))+r13*1+rsi] + vmovdqu xmm3,XMMWORD PTR[((-64+48))+r13*1+rsi] + + vinserti128 ymm0,ymm0,XMMWORD PTR[r12],1 + vinserti128 ymm1,ymm1,XMMWORD PTR[16+r12],1 vpshufb ymm0,ymm0,ymm7 - vinserti128 ymm2,ymm2,XMMWORD PTR[32+r12],1 + vinserti128 ymm2,ymm2,XMMWORD PTR[32+r12],1 vpshufb ymm1,ymm1,ymm7 - vinserti128 ymm3,ymm3,XMMWORD PTR[48+r12],1 + vinserti128 ymm3,ymm3,XMMWORD PTR[48+r12],1 - lea rbp,QWORD PTR[K256] + lea rbp,QWORD PTR[K256] vpshufb ymm2,ymm2,ymm7 - lea r13,QWORD PTR[((-64))+r13] - vpaddd ymm4,ymm0,YMMWORD PTR[rbp] + lea r13,QWORD PTR[((-64))+r13] + vpaddd ymm4,ymm0,YMMWORD PTR[rbp] vpshufb ymm3,ymm3,ymm7 - vpaddd ymm5,ymm1,YMMWORD PTR[32+rbp] - vpaddd ymm6,ymm2,YMMWORD PTR[64+rbp] - vpaddd ymm7,ymm3,YMMWORD PTR[96+rbp] - vmovdqa YMMWORD PTR[rsp],ymm4 + vpaddd ymm5,ymm1,YMMWORD PTR[32+rbp] + vpaddd ymm6,ymm2,YMMWORD PTR[64+rbp] + vpaddd ymm7,ymm3,YMMWORD PTR[96+rbp] + vmovdqa YMMWORD PTR[rsp],ymm4 xor r14d,r14d - vmovdqa YMMWORD PTR[32+rsp],ymm5 - lea rsp,QWORD PTR[((-64))+rsp] + vmovdqa YMMWORD PTR[32+rsp],ymm5 + lea rsp,QWORD PTR[((-64))+rsp] mov esi,ebx - vmovdqa YMMWORD PTR[rsp],ymm6 + vmovdqa YMMWORD PTR[rsp],ymm6 xor esi,ecx - vmovdqa YMMWORD PTR[32+rsp],ymm7 + vmovdqa YMMWORD PTR[32+rsp],ymm7 mov r12d,r9d sub rbp,-16*2*4 - jmp $L$avx2_00_47 + jmp $L$avx2_00_47 ALIGN 16 -$L$avx2_00_47:: - vmovdqu xmm9,XMMWORD PTR[r13] +$L$avx2_00_47:: + vmovdqu xmm9,XMMWORD PTR[r13] vpinsrq xmm15,xmm15,r13,0 - lea rsp,QWORD PTR[((-64))+rsp] + lea rsp,QWORD PTR[((-64))+rsp] vpalignr ymm4,ymm1,ymm0,4 - add r11d,DWORD PTR[((0+128))+rsp] + add r11d,DWORD PTR[((0+128))+rsp] and r12d,r8d rorx r13d,r8d,25 vpalignr ymm7,ymm3,ymm2,4 rorx r15d,r8d,11 - lea eax,DWORD PTR[r14*1+rax] - lea r11d,DWORD PTR[r12*1+r11] + lea eax,DWORD PTR[r14*1+rax] + lea r11d,DWORD PTR[r12*1+r11] vpsrld ymm6,ymm4,7 andn r12d,r8d,r10d xor r13d,r15d rorx r14d,r8d,6 vpaddd ymm0,ymm0,ymm7 - lea r11d,DWORD PTR[r12*1+r11] + lea r11d,DWORD PTR[r12*1+r11] xor r13d,r14d mov r15d,eax vpsrld ymm7,ymm4,3 rorx r12d,eax,22 - lea r11d,DWORD PTR[r13*1+r11] + lea r11d,DWORD PTR[r13*1+r11] xor r15d,ebx vpslld ymm5,ymm4,14 rorx r14d,eax,13 rorx r13d,eax,2 - lea edx,DWORD PTR[r11*1+rdx] + lea edx,DWORD PTR[r11*1+rdx] vpxor ymm4,ymm7,ymm6 and esi,r15d vpxor xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((16-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((16-128))+rdi] xor r14d,r12d xor esi,ebx vpshufd ymm7,ymm3,250 xor r14d,r13d - lea r11d,DWORD PTR[rsi*1+r11] + lea r11d,DWORD PTR[rsi*1+r11] mov r12d,r8d vpsrld ymm6,ymm6,11 - add r10d,DWORD PTR[((4+128))+rsp] + add r10d,DWORD PTR[((4+128))+rsp] and r12d,edx rorx r13d,edx,25 vpxor ymm4,ymm4,ymm5 rorx esi,edx,11 - lea r11d,DWORD PTR[r14*1+r11] - lea r10d,DWORD PTR[r12*1+r10] + lea r11d,DWORD PTR[r14*1+r11] + lea r10d,DWORD PTR[r12*1+r10] vpslld ymm5,ymm5,11 andn r12d,edx,r9d xor r13d,esi rorx r14d,edx,6 vpxor ymm4,ymm4,ymm6 - lea r10d,DWORD PTR[r12*1+r10] + lea r10d,DWORD PTR[r12*1+r10] xor r13d,r14d mov esi,r11d vpsrld ymm6,ymm7,10 rorx r12d,r11d,22 - lea r10d,DWORD PTR[r13*1+r10] + lea r10d,DWORD PTR[r13*1+r10] xor esi,eax vpxor ymm4,ymm4,ymm5 rorx r14d,r11d,13 rorx r13d,r11d,2 - lea ecx,DWORD PTR[r10*1+rcx] + lea ecx,DWORD PTR[r10*1+rcx] vpsrlq ymm7,ymm7,17 and r15d,esi vpxor xmm9,xmm9,xmm8 @@ -2706,1866 +2706,1866 @@ $L$avx2_00_47:: xor r15d,eax vpaddd ymm0,ymm0,ymm4 xor r14d,r13d - lea r10d,DWORD PTR[r15*1+r10] + lea r10d,DWORD PTR[r15*1+r10] mov r12d,edx vpxor ymm6,ymm6,ymm7 - add r9d,DWORD PTR[((8+128))+rsp] + add r9d,DWORD PTR[((8+128))+rsp] and r12d,ecx rorx r13d,ecx,25 vpsrlq ymm7,ymm7,2 rorx r15d,ecx,11 - lea r10d,DWORD PTR[r14*1+r10] - lea r9d,DWORD PTR[r12*1+r9] + lea r10d,DWORD PTR[r14*1+r10] + lea r9d,DWORD PTR[r12*1+r9] vpxor ymm6,ymm6,ymm7 andn r12d,ecx,r8d xor r13d,r15d rorx r14d,ecx,6 vpshufd ymm6,ymm6,132 - lea r9d,DWORD PTR[r12*1+r9] + lea r9d,DWORD PTR[r12*1+r9] xor r13d,r14d mov r15d,r10d vpsrldq ymm6,ymm6,8 rorx r12d,r10d,22 - lea r9d,DWORD PTR[r13*1+r9] + lea r9d,DWORD PTR[r13*1+r9] xor r15d,r11d vpaddd ymm0,ymm0,ymm6 rorx r14d,r10d,13 rorx r13d,r10d,2 - lea ebx,DWORD PTR[r9*1+rbx] + lea ebx,DWORD PTR[r9*1+rbx] vpshufd ymm7,ymm0,80 and esi,r15d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((32-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((32-128))+rdi] xor r14d,r12d xor esi,r11d vpsrld ymm6,ymm7,10 xor r14d,r13d - lea r9d,DWORD PTR[rsi*1+r9] + lea r9d,DWORD PTR[rsi*1+r9] mov r12d,ecx vpsrlq ymm7,ymm7,17 - add r8d,DWORD PTR[((12+128))+rsp] + add r8d,DWORD PTR[((12+128))+rsp] and r12d,ebx rorx r13d,ebx,25 vpxor ymm6,ymm6,ymm7 rorx esi,ebx,11 - lea r9d,DWORD PTR[r14*1+r9] - lea r8d,DWORD PTR[r12*1+r8] + lea r9d,DWORD PTR[r14*1+r9] + lea r8d,DWORD PTR[r12*1+r8] vpsrlq ymm7,ymm7,2 andn r12d,ebx,edx xor r13d,esi rorx r14d,ebx,6 vpxor ymm6,ymm6,ymm7 - lea r8d,DWORD PTR[r12*1+r8] + lea r8d,DWORD PTR[r12*1+r8] xor r13d,r14d mov esi,r9d vpshufd ymm6,ymm6,232 rorx r12d,r9d,22 - lea r8d,DWORD PTR[r13*1+r8] + lea r8d,DWORD PTR[r13*1+r8] xor esi,r10d vpslldq ymm6,ymm6,8 rorx r14d,r9d,13 rorx r13d,r9d,2 - lea eax,DWORD PTR[r8*1+rax] + lea eax,DWORD PTR[r8*1+rax] vpaddd ymm0,ymm0,ymm6 and r15d,esi vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((48-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((48-128))+rdi] xor r14d,r12d xor r15d,r10d - vpaddd ymm6,ymm0,YMMWORD PTR[rbp] + vpaddd ymm6,ymm0,YMMWORD PTR[rbp] xor r14d,r13d - lea r8d,DWORD PTR[r15*1+r8] + lea r8d,DWORD PTR[r15*1+r8] mov r12d,ebx - vmovdqa YMMWORD PTR[rsp],ymm6 + vmovdqa YMMWORD PTR[rsp],ymm6 vpalignr ymm4,ymm2,ymm1,4 - add edx,DWORD PTR[((32+128))+rsp] + add edx,DWORD PTR[((32+128))+rsp] and r12d,eax rorx r13d,eax,25 vpalignr ymm7,ymm0,ymm3,4 rorx r15d,eax,11 - lea r8d,DWORD PTR[r14*1+r8] - lea edx,DWORD PTR[r12*1+rdx] + lea r8d,DWORD PTR[r14*1+r8] + lea edx,DWORD PTR[r12*1+rdx] vpsrld ymm6,ymm4,7 andn r12d,eax,ecx xor r13d,r15d rorx r14d,eax,6 vpaddd ymm1,ymm1,ymm7 - lea edx,DWORD PTR[r12*1+rdx] + lea edx,DWORD PTR[r12*1+rdx] xor r13d,r14d mov r15d,r8d vpsrld ymm7,ymm4,3 rorx r12d,r8d,22 - lea edx,DWORD PTR[r13*1+rdx] + lea edx,DWORD PTR[r13*1+rdx] xor r15d,r9d vpslld ymm5,ymm4,14 rorx r14d,r8d,13 rorx r13d,r8d,2 - lea r11d,DWORD PTR[rdx*1+r11] + lea r11d,DWORD PTR[rdx*1+r11] vpxor ymm4,ymm7,ymm6 and esi,r15d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] xor r14d,r12d xor esi,r9d vpshufd ymm7,ymm0,250 xor r14d,r13d - lea edx,DWORD PTR[rsi*1+rdx] + lea edx,DWORD PTR[rsi*1+rdx] mov r12d,eax vpsrld ymm6,ymm6,11 - add ecx,DWORD PTR[((36+128))+rsp] + add ecx,DWORD PTR[((36+128))+rsp] and r12d,r11d rorx r13d,r11d,25 vpxor ymm4,ymm4,ymm5 rorx esi,r11d,11 - lea edx,DWORD PTR[r14*1+rdx] - lea ecx,DWORD PTR[r12*1+rcx] + lea edx,DWORD PTR[r14*1+rdx] + lea ecx,DWORD PTR[r12*1+rcx] vpslld ymm5,ymm5,11 andn r12d,r11d,ebx xor r13d,esi rorx r14d,r11d,6 vpxor ymm4,ymm4,ymm6 - lea ecx,DWORD PTR[r12*1+rcx] + lea ecx,DWORD PTR[r12*1+rcx] xor r13d,r14d mov esi,edx vpsrld ymm6,ymm7,10 rorx r12d,edx,22 - lea ecx,DWORD PTR[r13*1+rcx] + lea ecx,DWORD PTR[r13*1+rcx] xor esi,r8d vpxor ymm4,ymm4,ymm5 rorx r14d,edx,13 rorx r13d,edx,2 - lea r10d,DWORD PTR[rcx*1+r10] + lea r10d,DWORD PTR[rcx*1+r10] vpsrlq ymm7,ymm7,17 and r15d,esi vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((80-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((80-128))+rdi] xor r14d,r12d xor r15d,r8d vpaddd ymm1,ymm1,ymm4 xor r14d,r13d - lea ecx,DWORD PTR[r15*1+rcx] + lea ecx,DWORD PTR[r15*1+rcx] mov r12d,r11d vpxor ymm6,ymm6,ymm7 - add ebx,DWORD PTR[((40+128))+rsp] + add ebx,DWORD PTR[((40+128))+rsp] and r12d,r10d rorx r13d,r10d,25 vpsrlq ymm7,ymm7,2 rorx r15d,r10d,11 - lea ecx,DWORD PTR[r14*1+rcx] - lea ebx,DWORD PTR[r12*1+rbx] + lea ecx,DWORD PTR[r14*1+rcx] + lea ebx,DWORD PTR[r12*1+rbx] vpxor ymm6,ymm6,ymm7 andn r12d,r10d,eax xor r13d,r15d rorx r14d,r10d,6 vpshufd ymm6,ymm6,132 - lea ebx,DWORD PTR[r12*1+rbx] + lea ebx,DWORD PTR[r12*1+rbx] xor r13d,r14d mov r15d,ecx vpsrldq ymm6,ymm6,8 rorx r12d,ecx,22 - lea ebx,DWORD PTR[r13*1+rbx] + lea ebx,DWORD PTR[r13*1+rbx] xor r15d,edx vpaddd ymm1,ymm1,ymm6 rorx r14d,ecx,13 rorx r13d,ecx,2 - lea r9d,DWORD PTR[rbx*1+r9] + lea r9d,DWORD PTR[rbx*1+r9] vpshufd ymm7,ymm1,80 and esi,r15d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((96-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((96-128))+rdi] xor r14d,r12d xor esi,edx vpsrld ymm6,ymm7,10 xor r14d,r13d - lea ebx,DWORD PTR[rsi*1+rbx] + lea ebx,DWORD PTR[rsi*1+rbx] mov r12d,r10d vpsrlq ymm7,ymm7,17 - add eax,DWORD PTR[((44+128))+rsp] + add eax,DWORD PTR[((44+128))+rsp] and r12d,r9d rorx r13d,r9d,25 vpxor ymm6,ymm6,ymm7 rorx esi,r9d,11 - lea ebx,DWORD PTR[r14*1+rbx] - lea eax,DWORD PTR[r12*1+rax] + lea ebx,DWORD PTR[r14*1+rbx] + lea eax,DWORD PTR[r12*1+rax] vpsrlq ymm7,ymm7,2 andn r12d,r9d,r11d xor r13d,esi rorx r14d,r9d,6 vpxor ymm6,ymm6,ymm7 - lea eax,DWORD PTR[r12*1+rax] + lea eax,DWORD PTR[r12*1+rax] xor r13d,r14d mov esi,ebx vpshufd ymm6,ymm6,232 rorx r12d,ebx,22 - lea eax,DWORD PTR[r13*1+rax] + lea eax,DWORD PTR[r13*1+rax] xor esi,ecx vpslldq ymm6,ymm6,8 rorx r14d,ebx,13 rorx r13d,ebx,2 - lea r8d,DWORD PTR[rax*1+r8] + lea r8d,DWORD PTR[rax*1+r8] vpaddd ymm1,ymm1,ymm6 and r15d,esi vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((112-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((112-128))+rdi] xor r14d,r12d xor r15d,ecx - vpaddd ymm6,ymm1,YMMWORD PTR[32+rbp] + vpaddd ymm6,ymm1,YMMWORD PTR[32+rbp] xor r14d,r13d - lea eax,DWORD PTR[r15*1+rax] + lea eax,DWORD PTR[r15*1+rax] mov r12d,r9d - vmovdqa YMMWORD PTR[32+rsp],ymm6 - lea rsp,QWORD PTR[((-64))+rsp] + vmovdqa YMMWORD PTR[32+rsp],ymm6 + lea rsp,QWORD PTR[((-64))+rsp] vpalignr ymm4,ymm3,ymm2,4 - add r11d,DWORD PTR[((0+128))+rsp] + add r11d,DWORD PTR[((0+128))+rsp] and r12d,r8d rorx r13d,r8d,25 vpalignr ymm7,ymm1,ymm0,4 rorx r15d,r8d,11 - lea eax,DWORD PTR[r14*1+rax] - lea r11d,DWORD PTR[r12*1+r11] + lea eax,DWORD PTR[r14*1+rax] + lea r11d,DWORD PTR[r12*1+r11] vpsrld ymm6,ymm4,7 andn r12d,r8d,r10d xor r13d,r15d rorx r14d,r8d,6 vpaddd ymm2,ymm2,ymm7 - lea r11d,DWORD PTR[r12*1+r11] + lea r11d,DWORD PTR[r12*1+r11] xor r13d,r14d mov r15d,eax vpsrld ymm7,ymm4,3 rorx r12d,eax,22 - lea r11d,DWORD PTR[r13*1+r11] + lea r11d,DWORD PTR[r13*1+r11] xor r15d,ebx vpslld ymm5,ymm4,14 rorx r14d,eax,13 rorx r13d,eax,2 - lea edx,DWORD PTR[r11*1+rdx] + lea edx,DWORD PTR[r11*1+rdx] vpxor ymm4,ymm7,ymm6 and esi,r15d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((128-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((128-128))+rdi] xor r14d,r12d xor esi,ebx vpshufd ymm7,ymm1,250 xor r14d,r13d - lea r11d,DWORD PTR[rsi*1+r11] + lea r11d,DWORD PTR[rsi*1+r11] mov r12d,r8d vpsrld ymm6,ymm6,11 - add r10d,DWORD PTR[((4+128))+rsp] + add r10d,DWORD PTR[((4+128))+rsp] and r12d,edx rorx r13d,edx,25 vpxor ymm4,ymm4,ymm5 rorx esi,edx,11 - lea r11d,DWORD PTR[r14*1+r11] - lea r10d,DWORD PTR[r12*1+r10] + lea r11d,DWORD PTR[r14*1+r11] + lea r10d,DWORD PTR[r12*1+r10] vpslld ymm5,ymm5,11 andn r12d,edx,r9d xor r13d,esi rorx r14d,edx,6 vpxor ymm4,ymm4,ymm6 - lea r10d,DWORD PTR[r12*1+r10] + lea r10d,DWORD PTR[r12*1+r10] xor r13d,r14d mov esi,r11d vpsrld ymm6,ymm7,10 rorx r12d,r11d,22 - lea r10d,DWORD PTR[r13*1+r10] + lea r10d,DWORD PTR[r13*1+r10] xor esi,eax vpxor ymm4,ymm4,ymm5 rorx r14d,r11d,13 rorx r13d,r11d,2 - lea ecx,DWORD PTR[r10*1+rcx] + lea ecx,DWORD PTR[r10*1+rcx] vpsrlq ymm7,ymm7,17 and r15d,esi vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((144-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((144-128))+rdi] xor r14d,r12d xor r15d,eax vpaddd ymm2,ymm2,ymm4 xor r14d,r13d - lea r10d,DWORD PTR[r15*1+r10] + lea r10d,DWORD PTR[r15*1+r10] mov r12d,edx vpxor ymm6,ymm6,ymm7 - add r9d,DWORD PTR[((8+128))+rsp] + add r9d,DWORD PTR[((8+128))+rsp] and r12d,ecx rorx r13d,ecx,25 vpsrlq ymm7,ymm7,2 rorx r15d,ecx,11 - lea r10d,DWORD PTR[r14*1+r10] - lea r9d,DWORD PTR[r12*1+r9] + lea r10d,DWORD PTR[r14*1+r10] + lea r9d,DWORD PTR[r12*1+r9] vpxor ymm6,ymm6,ymm7 andn r12d,ecx,r8d xor r13d,r15d rorx r14d,ecx,6 vpshufd ymm6,ymm6,132 - lea r9d,DWORD PTR[r12*1+r9] + lea r9d,DWORD PTR[r12*1+r9] xor r13d,r14d mov r15d,r10d vpsrldq ymm6,ymm6,8 rorx r12d,r10d,22 - lea r9d,DWORD PTR[r13*1+r9] + lea r9d,DWORD PTR[r13*1+r9] xor r15d,r11d vpaddd ymm2,ymm2,ymm6 rorx r14d,r10d,13 rorx r13d,r10d,2 - lea ebx,DWORD PTR[r9*1+rbx] + lea ebx,DWORD PTR[r9*1+rbx] vpshufd ymm7,ymm2,80 and esi,r15d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((160-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((160-128))+rdi] xor r14d,r12d xor esi,r11d vpsrld ymm6,ymm7,10 xor r14d,r13d - lea r9d,DWORD PTR[rsi*1+r9] + lea r9d,DWORD PTR[rsi*1+r9] mov r12d,ecx vpsrlq ymm7,ymm7,17 - add r8d,DWORD PTR[((12+128))+rsp] + add r8d,DWORD PTR[((12+128))+rsp] and r12d,ebx rorx r13d,ebx,25 vpxor ymm6,ymm6,ymm7 rorx esi,ebx,11 - lea r9d,DWORD PTR[r14*1+r9] - lea r8d,DWORD PTR[r12*1+r8] + lea r9d,DWORD PTR[r14*1+r9] + lea r8d,DWORD PTR[r12*1+r8] vpsrlq ymm7,ymm7,2 andn r12d,ebx,edx xor r13d,esi rorx r14d,ebx,6 vpxor ymm6,ymm6,ymm7 - lea r8d,DWORD PTR[r12*1+r8] + lea r8d,DWORD PTR[r12*1+r8] xor r13d,r14d mov esi,r9d vpshufd ymm6,ymm6,232 rorx r12d,r9d,22 - lea r8d,DWORD PTR[r13*1+r8] + lea r8d,DWORD PTR[r13*1+r8] xor esi,r10d vpslldq ymm6,ymm6,8 rorx r14d,r9d,13 rorx r13d,r9d,2 - lea eax,DWORD PTR[r8*1+rax] + lea eax,DWORD PTR[r8*1+rax] vpaddd ymm2,ymm2,ymm6 and r15d,esi vaesenclast xmm11,xmm9,xmm10 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((176-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((176-128))+rdi] xor r14d,r12d xor r15d,r10d - vpaddd ymm6,ymm2,YMMWORD PTR[64+rbp] + vpaddd ymm6,ymm2,YMMWORD PTR[64+rbp] xor r14d,r13d - lea r8d,DWORD PTR[r15*1+r8] + lea r8d,DWORD PTR[r15*1+r8] mov r12d,ebx - vmovdqa YMMWORD PTR[rsp],ymm6 + vmovdqa YMMWORD PTR[rsp],ymm6 vpalignr ymm4,ymm0,ymm3,4 - add edx,DWORD PTR[((32+128))+rsp] + add edx,DWORD PTR[((32+128))+rsp] and r12d,eax rorx r13d,eax,25 vpalignr ymm7,ymm2,ymm1,4 rorx r15d,eax,11 - lea r8d,DWORD PTR[r14*1+r8] - lea edx,DWORD PTR[r12*1+rdx] + lea r8d,DWORD PTR[r14*1+r8] + lea edx,DWORD PTR[r12*1+rdx] vpsrld ymm6,ymm4,7 andn r12d,eax,ecx xor r13d,r15d rorx r14d,eax,6 vpaddd ymm3,ymm3,ymm7 - lea edx,DWORD PTR[r12*1+rdx] + lea edx,DWORD PTR[r12*1+rdx] xor r13d,r14d mov r15d,r8d vpsrld ymm7,ymm4,3 rorx r12d,r8d,22 - lea edx,DWORD PTR[r13*1+rdx] + lea edx,DWORD PTR[r13*1+rdx] xor r15d,r9d vpslld ymm5,ymm4,14 rorx r14d,r8d,13 rorx r13d,r8d,2 - lea r11d,DWORD PTR[rdx*1+r11] + lea r11d,DWORD PTR[rdx*1+r11] vpxor ymm4,ymm7,ymm6 and esi,r15d vpand xmm8,xmm11,xmm12 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((192-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((192-128))+rdi] xor r14d,r12d xor esi,r9d vpshufd ymm7,ymm2,250 xor r14d,r13d - lea edx,DWORD PTR[rsi*1+rdx] + lea edx,DWORD PTR[rsi*1+rdx] mov r12d,eax vpsrld ymm6,ymm6,11 - add ecx,DWORD PTR[((36+128))+rsp] + add ecx,DWORD PTR[((36+128))+rsp] and r12d,r11d rorx r13d,r11d,25 vpxor ymm4,ymm4,ymm5 rorx esi,r11d,11 - lea edx,DWORD PTR[r14*1+rdx] - lea ecx,DWORD PTR[r12*1+rcx] + lea edx,DWORD PTR[r14*1+rdx] + lea ecx,DWORD PTR[r12*1+rcx] vpslld ymm5,ymm5,11 andn r12d,r11d,ebx xor r13d,esi rorx r14d,r11d,6 vpxor ymm4,ymm4,ymm6 - lea ecx,DWORD PTR[r12*1+rcx] + lea ecx,DWORD PTR[r12*1+rcx] xor r13d,r14d mov esi,edx vpsrld ymm6,ymm7,10 rorx r12d,edx,22 - lea ecx,DWORD PTR[r13*1+rcx] + lea ecx,DWORD PTR[r13*1+rcx] xor esi,r8d vpxor ymm4,ymm4,ymm5 rorx r14d,edx,13 rorx r13d,edx,2 - lea r10d,DWORD PTR[rcx*1+r10] + lea r10d,DWORD PTR[rcx*1+r10] vpsrlq ymm7,ymm7,17 and r15d,esi vaesenclast xmm11,xmm9,xmm10 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((208-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((208-128))+rdi] xor r14d,r12d xor r15d,r8d vpaddd ymm3,ymm3,ymm4 xor r14d,r13d - lea ecx,DWORD PTR[r15*1+rcx] + lea ecx,DWORD PTR[r15*1+rcx] mov r12d,r11d vpxor ymm6,ymm6,ymm7 - add ebx,DWORD PTR[((40+128))+rsp] + add ebx,DWORD PTR[((40+128))+rsp] and r12d,r10d rorx r13d,r10d,25 vpsrlq ymm7,ymm7,2 rorx r15d,r10d,11 - lea ecx,DWORD PTR[r14*1+rcx] - lea ebx,DWORD PTR[r12*1+rbx] + lea ecx,DWORD PTR[r14*1+rcx] + lea ebx,DWORD PTR[r12*1+rbx] vpxor ymm6,ymm6,ymm7 andn r12d,r10d,eax xor r13d,r15d rorx r14d,r10d,6 vpshufd ymm6,ymm6,132 - lea ebx,DWORD PTR[r12*1+rbx] + lea ebx,DWORD PTR[r12*1+rbx] xor r13d,r14d mov r15d,ecx vpsrldq ymm6,ymm6,8 rorx r12d,ecx,22 - lea ebx,DWORD PTR[r13*1+rbx] + lea ebx,DWORD PTR[r13*1+rbx] xor r15d,edx vpaddd ymm3,ymm3,ymm6 rorx r14d,ecx,13 rorx r13d,ecx,2 - lea r9d,DWORD PTR[rbx*1+r9] + lea r9d,DWORD PTR[rbx*1+r9] vpshufd ymm7,ymm3,80 and esi,r15d vpand xmm11,xmm11,xmm13 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((224-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((224-128))+rdi] xor r14d,r12d xor esi,edx vpsrld ymm6,ymm7,10 xor r14d,r13d - lea ebx,DWORD PTR[rsi*1+rbx] + lea ebx,DWORD PTR[rsi*1+rbx] mov r12d,r10d vpsrlq ymm7,ymm7,17 - add eax,DWORD PTR[((44+128))+rsp] + add eax,DWORD PTR[((44+128))+rsp] and r12d,r9d rorx r13d,r9d,25 vpxor ymm6,ymm6,ymm7 rorx esi,r9d,11 - lea ebx,DWORD PTR[r14*1+rbx] - lea eax,DWORD PTR[r12*1+rax] + lea ebx,DWORD PTR[r14*1+rbx] + lea eax,DWORD PTR[r12*1+rax] vpsrlq ymm7,ymm7,2 andn r12d,r9d,r11d xor r13d,esi rorx r14d,r9d,6 vpxor ymm6,ymm6,ymm7 - lea eax,DWORD PTR[r12*1+rax] + lea eax,DWORD PTR[r12*1+rax] xor r13d,r14d mov esi,ebx vpshufd ymm6,ymm6,232 rorx r12d,ebx,22 - lea eax,DWORD PTR[r13*1+rax] + lea eax,DWORD PTR[r13*1+rax] xor esi,ecx vpslldq ymm6,ymm6,8 rorx r14d,ebx,13 rorx r13d,ebx,2 - lea r8d,DWORD PTR[rax*1+r8] + lea r8d,DWORD PTR[rax*1+r8] vpaddd ymm3,ymm3,ymm6 and r15d,esi vpor xmm8,xmm8,xmm11 vaesenclast xmm11,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] xor r14d,r12d xor r15d,ecx - vpaddd ymm6,ymm3,YMMWORD PTR[96+rbp] + vpaddd ymm6,ymm3,YMMWORD PTR[96+rbp] xor r14d,r13d - lea eax,DWORD PTR[r15*1+rax] + lea eax,DWORD PTR[r15*1+rax] mov r12d,r9d - vmovdqa YMMWORD PTR[32+rsp],ymm6 + vmovdqa YMMWORD PTR[32+rsp],ymm6 vmovq r13,xmm15 vpextrq r15,xmm15,1 vpand xmm11,xmm11,xmm14 vpor xmm8,xmm8,xmm11 - vmovdqu XMMWORD PTR[r13*1+r15],xmm8 - lea r13,QWORD PTR[16+r13] - lea rbp,QWORD PTR[128+rbp] - cmp BYTE PTR[3+rbp],0 - jne $L$avx2_00_47 - vmovdqu xmm9,XMMWORD PTR[r13] + vmovdqu XMMWORD PTR[r13*1+r15],xmm8 + lea r13,QWORD PTR[16+r13] + lea rbp,QWORD PTR[128+rbp] + cmp BYTE PTR[3+rbp],0 + jne $L$avx2_00_47 + vmovdqu xmm9,XMMWORD PTR[r13] vpinsrq xmm15,xmm15,r13,0 - add r11d,DWORD PTR[((0+64))+rsp] + add r11d,DWORD PTR[((0+64))+rsp] and r12d,r8d rorx r13d,r8d,25 rorx r15d,r8d,11 - lea eax,DWORD PTR[r14*1+rax] - lea r11d,DWORD PTR[r12*1+r11] + lea eax,DWORD PTR[r14*1+rax] + lea r11d,DWORD PTR[r12*1+r11] andn r12d,r8d,r10d xor r13d,r15d rorx r14d,r8d,6 - lea r11d,DWORD PTR[r12*1+r11] + lea r11d,DWORD PTR[r12*1+r11] xor r13d,r14d mov r15d,eax rorx r12d,eax,22 - lea r11d,DWORD PTR[r13*1+r11] + lea r11d,DWORD PTR[r13*1+r11] xor r15d,ebx rorx r14d,eax,13 rorx r13d,eax,2 - lea edx,DWORD PTR[r11*1+rdx] + lea edx,DWORD PTR[r11*1+rdx] and esi,r15d vpxor xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((16-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((16-128))+rdi] xor r14d,r12d xor esi,ebx xor r14d,r13d - lea r11d,DWORD PTR[rsi*1+r11] + lea r11d,DWORD PTR[rsi*1+r11] mov r12d,r8d - add r10d,DWORD PTR[((4+64))+rsp] + add r10d,DWORD PTR[((4+64))+rsp] and r12d,edx rorx r13d,edx,25 rorx esi,edx,11 - lea r11d,DWORD PTR[r14*1+r11] - lea r10d,DWORD PTR[r12*1+r10] + lea r11d,DWORD PTR[r14*1+r11] + lea r10d,DWORD PTR[r12*1+r10] andn r12d,edx,r9d xor r13d,esi rorx r14d,edx,6 - lea r10d,DWORD PTR[r12*1+r10] + lea r10d,DWORD PTR[r12*1+r10] xor r13d,r14d mov esi,r11d rorx r12d,r11d,22 - lea r10d,DWORD PTR[r13*1+r10] + lea r10d,DWORD PTR[r13*1+r10] xor esi,eax rorx r14d,r11d,13 rorx r13d,r11d,2 - lea ecx,DWORD PTR[r10*1+rcx] + lea ecx,DWORD PTR[r10*1+rcx] and r15d,esi vpxor xmm9,xmm9,xmm8 xor r14d,r12d xor r15d,eax xor r14d,r13d - lea r10d,DWORD PTR[r15*1+r10] + lea r10d,DWORD PTR[r15*1+r10] mov r12d,edx - add r9d,DWORD PTR[((8+64))+rsp] + add r9d,DWORD PTR[((8+64))+rsp] and r12d,ecx rorx r13d,ecx,25 rorx r15d,ecx,11 - lea r10d,DWORD PTR[r14*1+r10] - lea r9d,DWORD PTR[r12*1+r9] + lea r10d,DWORD PTR[r14*1+r10] + lea r9d,DWORD PTR[r12*1+r9] andn r12d,ecx,r8d xor r13d,r15d rorx r14d,ecx,6 - lea r9d,DWORD PTR[r12*1+r9] + lea r9d,DWORD PTR[r12*1+r9] xor r13d,r14d mov r15d,r10d rorx r12d,r10d,22 - lea r9d,DWORD PTR[r13*1+r9] + lea r9d,DWORD PTR[r13*1+r9] xor r15d,r11d rorx r14d,r10d,13 rorx r13d,r10d,2 - lea ebx,DWORD PTR[r9*1+rbx] + lea ebx,DWORD PTR[r9*1+rbx] and esi,r15d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((32-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((32-128))+rdi] xor r14d,r12d xor esi,r11d xor r14d,r13d - lea r9d,DWORD PTR[rsi*1+r9] + lea r9d,DWORD PTR[rsi*1+r9] mov r12d,ecx - add r8d,DWORD PTR[((12+64))+rsp] + add r8d,DWORD PTR[((12+64))+rsp] and r12d,ebx rorx r13d,ebx,25 rorx esi,ebx,11 - lea r9d,DWORD PTR[r14*1+r9] - lea r8d,DWORD PTR[r12*1+r8] + lea r9d,DWORD PTR[r14*1+r9] + lea r8d,DWORD PTR[r12*1+r8] andn r12d,ebx,edx xor r13d,esi rorx r14d,ebx,6 - lea r8d,DWORD PTR[r12*1+r8] + lea r8d,DWORD PTR[r12*1+r8] xor r13d,r14d mov esi,r9d rorx r12d,r9d,22 - lea r8d,DWORD PTR[r13*1+r8] + lea r8d,DWORD PTR[r13*1+r8] xor esi,r10d rorx r14d,r9d,13 rorx r13d,r9d,2 - lea eax,DWORD PTR[r8*1+rax] + lea eax,DWORD PTR[r8*1+rax] and r15d,esi vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((48-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((48-128))+rdi] xor r14d,r12d xor r15d,r10d xor r14d,r13d - lea r8d,DWORD PTR[r15*1+r8] + lea r8d,DWORD PTR[r15*1+r8] mov r12d,ebx - add edx,DWORD PTR[((32+64))+rsp] + add edx,DWORD PTR[((32+64))+rsp] and r12d,eax rorx r13d,eax,25 rorx r15d,eax,11 - lea r8d,DWORD PTR[r14*1+r8] - lea edx,DWORD PTR[r12*1+rdx] + lea r8d,DWORD PTR[r14*1+r8] + lea edx,DWORD PTR[r12*1+rdx] andn r12d,eax,ecx xor r13d,r15d rorx r14d,eax,6 - lea edx,DWORD PTR[r12*1+rdx] + lea edx,DWORD PTR[r12*1+rdx] xor r13d,r14d mov r15d,r8d rorx r12d,r8d,22 - lea edx,DWORD PTR[r13*1+rdx] + lea edx,DWORD PTR[r13*1+rdx] xor r15d,r9d rorx r14d,r8d,13 rorx r13d,r8d,2 - lea r11d,DWORD PTR[rdx*1+r11] + lea r11d,DWORD PTR[rdx*1+r11] and esi,r15d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] xor r14d,r12d xor esi,r9d xor r14d,r13d - lea edx,DWORD PTR[rsi*1+rdx] + lea edx,DWORD PTR[rsi*1+rdx] mov r12d,eax - add ecx,DWORD PTR[((36+64))+rsp] + add ecx,DWORD PTR[((36+64))+rsp] and r12d,r11d rorx r13d,r11d,25 rorx esi,r11d,11 - lea edx,DWORD PTR[r14*1+rdx] - lea ecx,DWORD PTR[r12*1+rcx] + lea edx,DWORD PTR[r14*1+rdx] + lea ecx,DWORD PTR[r12*1+rcx] andn r12d,r11d,ebx xor r13d,esi rorx r14d,r11d,6 - lea ecx,DWORD PTR[r12*1+rcx] + lea ecx,DWORD PTR[r12*1+rcx] xor r13d,r14d mov esi,edx rorx r12d,edx,22 - lea ecx,DWORD PTR[r13*1+rcx] + lea ecx,DWORD PTR[r13*1+rcx] xor esi,r8d rorx r14d,edx,13 rorx r13d,edx,2 - lea r10d,DWORD PTR[rcx*1+r10] + lea r10d,DWORD PTR[rcx*1+r10] and r15d,esi vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((80-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((80-128))+rdi] xor r14d,r12d xor r15d,r8d xor r14d,r13d - lea ecx,DWORD PTR[r15*1+rcx] + lea ecx,DWORD PTR[r15*1+rcx] mov r12d,r11d - add ebx,DWORD PTR[((40+64))+rsp] + add ebx,DWORD PTR[((40+64))+rsp] and r12d,r10d rorx r13d,r10d,25 rorx r15d,r10d,11 - lea ecx,DWORD PTR[r14*1+rcx] - lea ebx,DWORD PTR[r12*1+rbx] + lea ecx,DWORD PTR[r14*1+rcx] + lea ebx,DWORD PTR[r12*1+rbx] andn r12d,r10d,eax xor r13d,r15d rorx r14d,r10d,6 - lea ebx,DWORD PTR[r12*1+rbx] + lea ebx,DWORD PTR[r12*1+rbx] xor r13d,r14d mov r15d,ecx rorx r12d,ecx,22 - lea ebx,DWORD PTR[r13*1+rbx] + lea ebx,DWORD PTR[r13*1+rbx] xor r15d,edx rorx r14d,ecx,13 rorx r13d,ecx,2 - lea r9d,DWORD PTR[rbx*1+r9] + lea r9d,DWORD PTR[rbx*1+r9] and esi,r15d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((96-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((96-128))+rdi] xor r14d,r12d xor esi,edx xor r14d,r13d - lea ebx,DWORD PTR[rsi*1+rbx] + lea ebx,DWORD PTR[rsi*1+rbx] mov r12d,r10d - add eax,DWORD PTR[((44+64))+rsp] + add eax,DWORD PTR[((44+64))+rsp] and r12d,r9d rorx r13d,r9d,25 rorx esi,r9d,11 - lea ebx,DWORD PTR[r14*1+rbx] - lea eax,DWORD PTR[r12*1+rax] + lea ebx,DWORD PTR[r14*1+rbx] + lea eax,DWORD PTR[r12*1+rax] andn r12d,r9d,r11d xor r13d,esi rorx r14d,r9d,6 - lea eax,DWORD PTR[r12*1+rax] + lea eax,DWORD PTR[r12*1+rax] xor r13d,r14d mov esi,ebx rorx r12d,ebx,22 - lea eax,DWORD PTR[r13*1+rax] + lea eax,DWORD PTR[r13*1+rax] xor esi,ecx rorx r14d,ebx,13 rorx r13d,ebx,2 - lea r8d,DWORD PTR[rax*1+r8] + lea r8d,DWORD PTR[rax*1+r8] and r15d,esi vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((112-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((112-128))+rdi] xor r14d,r12d xor r15d,ecx xor r14d,r13d - lea eax,DWORD PTR[r15*1+rax] + lea eax,DWORD PTR[r15*1+rax] mov r12d,r9d - add r11d,DWORD PTR[rsp] + add r11d,DWORD PTR[rsp] and r12d,r8d rorx r13d,r8d,25 rorx r15d,r8d,11 - lea eax,DWORD PTR[r14*1+rax] - lea r11d,DWORD PTR[r12*1+r11] + lea eax,DWORD PTR[r14*1+rax] + lea r11d,DWORD PTR[r12*1+r11] andn r12d,r8d,r10d xor r13d,r15d rorx r14d,r8d,6 - lea r11d,DWORD PTR[r12*1+r11] + lea r11d,DWORD PTR[r12*1+r11] xor r13d,r14d mov r15d,eax rorx r12d,eax,22 - lea r11d,DWORD PTR[r13*1+r11] + lea r11d,DWORD PTR[r13*1+r11] xor r15d,ebx rorx r14d,eax,13 rorx r13d,eax,2 - lea edx,DWORD PTR[r11*1+rdx] + lea edx,DWORD PTR[r11*1+rdx] and esi,r15d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((128-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((128-128))+rdi] xor r14d,r12d xor esi,ebx xor r14d,r13d - lea r11d,DWORD PTR[rsi*1+r11] + lea r11d,DWORD PTR[rsi*1+r11] mov r12d,r8d - add r10d,DWORD PTR[4+rsp] + add r10d,DWORD PTR[4+rsp] and r12d,edx rorx r13d,edx,25 rorx esi,edx,11 - lea r11d,DWORD PTR[r14*1+r11] - lea r10d,DWORD PTR[r12*1+r10] + lea r11d,DWORD PTR[r14*1+r11] + lea r10d,DWORD PTR[r12*1+r10] andn r12d,edx,r9d xor r13d,esi rorx r14d,edx,6 - lea r10d,DWORD PTR[r12*1+r10] + lea r10d,DWORD PTR[r12*1+r10] xor r13d,r14d mov esi,r11d rorx r12d,r11d,22 - lea r10d,DWORD PTR[r13*1+r10] + lea r10d,DWORD PTR[r13*1+r10] xor esi,eax rorx r14d,r11d,13 rorx r13d,r11d,2 - lea ecx,DWORD PTR[r10*1+rcx] + lea ecx,DWORD PTR[r10*1+rcx] and r15d,esi vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((144-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((144-128))+rdi] xor r14d,r12d xor r15d,eax xor r14d,r13d - lea r10d,DWORD PTR[r15*1+r10] + lea r10d,DWORD PTR[r15*1+r10] mov r12d,edx - add r9d,DWORD PTR[8+rsp] + add r9d,DWORD PTR[8+rsp] and r12d,ecx rorx r13d,ecx,25 rorx r15d,ecx,11 - lea r10d,DWORD PTR[r14*1+r10] - lea r9d,DWORD PTR[r12*1+r9] + lea r10d,DWORD PTR[r14*1+r10] + lea r9d,DWORD PTR[r12*1+r9] andn r12d,ecx,r8d xor r13d,r15d rorx r14d,ecx,6 - lea r9d,DWORD PTR[r12*1+r9] + lea r9d,DWORD PTR[r12*1+r9] xor r13d,r14d mov r15d,r10d rorx r12d,r10d,22 - lea r9d,DWORD PTR[r13*1+r9] + lea r9d,DWORD PTR[r13*1+r9] xor r15d,r11d rorx r14d,r10d,13 rorx r13d,r10d,2 - lea ebx,DWORD PTR[r9*1+rbx] + lea ebx,DWORD PTR[r9*1+rbx] and esi,r15d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((160-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((160-128))+rdi] xor r14d,r12d xor esi,r11d xor r14d,r13d - lea r9d,DWORD PTR[rsi*1+r9] + lea r9d,DWORD PTR[rsi*1+r9] mov r12d,ecx - add r8d,DWORD PTR[12+rsp] + add r8d,DWORD PTR[12+rsp] and r12d,ebx rorx r13d,ebx,25 rorx esi,ebx,11 - lea r9d,DWORD PTR[r14*1+r9] - lea r8d,DWORD PTR[r12*1+r8] + lea r9d,DWORD PTR[r14*1+r9] + lea r8d,DWORD PTR[r12*1+r8] andn r12d,ebx,edx xor r13d,esi rorx r14d,ebx,6 - lea r8d,DWORD PTR[r12*1+r8] + lea r8d,DWORD PTR[r12*1+r8] xor r13d,r14d mov esi,r9d rorx r12d,r9d,22 - lea r8d,DWORD PTR[r13*1+r8] + lea r8d,DWORD PTR[r13*1+r8] xor esi,r10d rorx r14d,r9d,13 rorx r13d,r9d,2 - lea eax,DWORD PTR[r8*1+rax] + lea eax,DWORD PTR[r8*1+rax] and r15d,esi vaesenclast xmm11,xmm9,xmm10 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((176-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((176-128))+rdi] xor r14d,r12d xor r15d,r10d xor r14d,r13d - lea r8d,DWORD PTR[r15*1+r8] + lea r8d,DWORD PTR[r15*1+r8] mov r12d,ebx - add edx,DWORD PTR[32+rsp] + add edx,DWORD PTR[32+rsp] and r12d,eax rorx r13d,eax,25 rorx r15d,eax,11 - lea r8d,DWORD PTR[r14*1+r8] - lea edx,DWORD PTR[r12*1+rdx] + lea r8d,DWORD PTR[r14*1+r8] + lea edx,DWORD PTR[r12*1+rdx] andn r12d,eax,ecx xor r13d,r15d rorx r14d,eax,6 - lea edx,DWORD PTR[r12*1+rdx] + lea edx,DWORD PTR[r12*1+rdx] xor r13d,r14d mov r15d,r8d rorx r12d,r8d,22 - lea edx,DWORD PTR[r13*1+rdx] + lea edx,DWORD PTR[r13*1+rdx] xor r15d,r9d rorx r14d,r8d,13 rorx r13d,r8d,2 - lea r11d,DWORD PTR[rdx*1+r11] + lea r11d,DWORD PTR[rdx*1+r11] and esi,r15d vpand xmm8,xmm11,xmm12 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((192-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((192-128))+rdi] xor r14d,r12d xor esi,r9d xor r14d,r13d - lea edx,DWORD PTR[rsi*1+rdx] + lea edx,DWORD PTR[rsi*1+rdx] mov r12d,eax - add ecx,DWORD PTR[36+rsp] + add ecx,DWORD PTR[36+rsp] and r12d,r11d rorx r13d,r11d,25 rorx esi,r11d,11 - lea edx,DWORD PTR[r14*1+rdx] - lea ecx,DWORD PTR[r12*1+rcx] + lea edx,DWORD PTR[r14*1+rdx] + lea ecx,DWORD PTR[r12*1+rcx] andn r12d,r11d,ebx xor r13d,esi rorx r14d,r11d,6 - lea ecx,DWORD PTR[r12*1+rcx] + lea ecx,DWORD PTR[r12*1+rcx] xor r13d,r14d mov esi,edx rorx r12d,edx,22 - lea ecx,DWORD PTR[r13*1+rcx] + lea ecx,DWORD PTR[r13*1+rcx] xor esi,r8d rorx r14d,edx,13 rorx r13d,edx,2 - lea r10d,DWORD PTR[rcx*1+r10] + lea r10d,DWORD PTR[rcx*1+r10] and r15d,esi vaesenclast xmm11,xmm9,xmm10 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((208-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((208-128))+rdi] xor r14d,r12d xor r15d,r8d xor r14d,r13d - lea ecx,DWORD PTR[r15*1+rcx] + lea ecx,DWORD PTR[r15*1+rcx] mov r12d,r11d - add ebx,DWORD PTR[40+rsp] + add ebx,DWORD PTR[40+rsp] and r12d,r10d rorx r13d,r10d,25 rorx r15d,r10d,11 - lea ecx,DWORD PTR[r14*1+rcx] - lea ebx,DWORD PTR[r12*1+rbx] + lea ecx,DWORD PTR[r14*1+rcx] + lea ebx,DWORD PTR[r12*1+rbx] andn r12d,r10d,eax xor r13d,r15d rorx r14d,r10d,6 - lea ebx,DWORD PTR[r12*1+rbx] + lea ebx,DWORD PTR[r12*1+rbx] xor r13d,r14d mov r15d,ecx rorx r12d,ecx,22 - lea ebx,DWORD PTR[r13*1+rbx] + lea ebx,DWORD PTR[r13*1+rbx] xor r15d,edx rorx r14d,ecx,13 rorx r13d,ecx,2 - lea r9d,DWORD PTR[rbx*1+r9] + lea r9d,DWORD PTR[rbx*1+r9] and esi,r15d vpand xmm11,xmm11,xmm13 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((224-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((224-128))+rdi] xor r14d,r12d xor esi,edx xor r14d,r13d - lea ebx,DWORD PTR[rsi*1+rbx] + lea ebx,DWORD PTR[rsi*1+rbx] mov r12d,r10d - add eax,DWORD PTR[44+rsp] + add eax,DWORD PTR[44+rsp] and r12d,r9d rorx r13d,r9d,25 rorx esi,r9d,11 - lea ebx,DWORD PTR[r14*1+rbx] - lea eax,DWORD PTR[r12*1+rax] + lea ebx,DWORD PTR[r14*1+rbx] + lea eax,DWORD PTR[r12*1+rax] andn r12d,r9d,r11d xor r13d,esi rorx r14d,r9d,6 - lea eax,DWORD PTR[r12*1+rax] + lea eax,DWORD PTR[r12*1+rax] xor r13d,r14d mov esi,ebx rorx r12d,ebx,22 - lea eax,DWORD PTR[r13*1+rax] + lea eax,DWORD PTR[r13*1+rax] xor esi,ecx rorx r14d,ebx,13 rorx r13d,ebx,2 - lea r8d,DWORD PTR[rax*1+r8] + lea r8d,DWORD PTR[rax*1+r8] and r15d,esi vpor xmm8,xmm8,xmm11 vaesenclast xmm11,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] xor r14d,r12d xor r15d,ecx xor r14d,r13d - lea eax,DWORD PTR[r15*1+rax] + lea eax,DWORD PTR[r15*1+rax] mov r12d,r9d vpextrq r12,xmm15,1 vmovq r13,xmm15 - mov r15,QWORD PTR[552+rsp] + mov r15,QWORD PTR[552+rsp] add eax,r14d - lea rbp,QWORD PTR[448+rsp] + lea rbp,QWORD PTR[448+rsp] vpand xmm11,xmm11,xmm14 vpor xmm8,xmm8,xmm11 - vmovdqu XMMWORD PTR[r13*1+r12],xmm8 - lea r13,QWORD PTR[16+r13] - - add eax,DWORD PTR[r15] - add ebx,DWORD PTR[4+r15] - add ecx,DWORD PTR[8+r15] - add edx,DWORD PTR[12+r15] - add r8d,DWORD PTR[16+r15] - add r9d,DWORD PTR[20+r15] - add r10d,DWORD PTR[24+r15] - add r11d,DWORD PTR[28+r15] - - mov DWORD PTR[r15],eax - mov DWORD PTR[4+r15],ebx - mov DWORD PTR[8+r15],ecx - mov DWORD PTR[12+r15],edx - mov DWORD PTR[16+r15],r8d - mov DWORD PTR[20+r15],r9d - mov DWORD PTR[24+r15],r10d - mov DWORD PTR[28+r15],r11d - - cmp r13,QWORD PTR[80+rbp] - je $L$done_avx2 + vmovdqu XMMWORD PTR[r13*1+r12],xmm8 + lea r13,QWORD PTR[16+r13] + + add eax,DWORD PTR[r15] + add ebx,DWORD PTR[4+r15] + add ecx,DWORD PTR[8+r15] + add edx,DWORD PTR[12+r15] + add r8d,DWORD PTR[16+r15] + add r9d,DWORD PTR[20+r15] + add r10d,DWORD PTR[24+r15] + add r11d,DWORD PTR[28+r15] + + mov DWORD PTR[r15],eax + mov DWORD PTR[4+r15],ebx + mov DWORD PTR[8+r15],ecx + mov DWORD PTR[12+r15],edx + mov DWORD PTR[16+r15],r8d + mov DWORD PTR[20+r15],r9d + mov DWORD PTR[24+r15],r10d + mov DWORD PTR[28+r15],r11d + + cmp r13,QWORD PTR[80+rbp] + je $L$done_avx2 xor r14d,r14d mov esi,ebx mov r12d,r9d xor esi,ecx - jmp $L$ower_avx2 + jmp $L$ower_avx2 ALIGN 16 -$L$ower_avx2:: - vmovdqu xmm9,XMMWORD PTR[r13] +$L$ower_avx2:: + vmovdqu xmm9,XMMWORD PTR[r13] vpinsrq xmm15,xmm15,r13,0 - add r11d,DWORD PTR[((0+16))+rbp] + add r11d,DWORD PTR[((0+16))+rbp] and r12d,r8d rorx r13d,r8d,25 rorx r15d,r8d,11 - lea eax,DWORD PTR[r14*1+rax] - lea r11d,DWORD PTR[r12*1+r11] + lea eax,DWORD PTR[r14*1+rax] + lea r11d,DWORD PTR[r12*1+r11] andn r12d,r8d,r10d xor r13d,r15d rorx r14d,r8d,6 - lea r11d,DWORD PTR[r12*1+r11] + lea r11d,DWORD PTR[r12*1+r11] xor r13d,r14d mov r15d,eax rorx r12d,eax,22 - lea r11d,DWORD PTR[r13*1+r11] + lea r11d,DWORD PTR[r13*1+r11] xor r15d,ebx rorx r14d,eax,13 rorx r13d,eax,2 - lea edx,DWORD PTR[r11*1+rdx] + lea edx,DWORD PTR[r11*1+rdx] and esi,r15d vpxor xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((16-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((16-128))+rdi] xor r14d,r12d xor esi,ebx xor r14d,r13d - lea r11d,DWORD PTR[rsi*1+r11] + lea r11d,DWORD PTR[rsi*1+r11] mov r12d,r8d - add r10d,DWORD PTR[((4+16))+rbp] + add r10d,DWORD PTR[((4+16))+rbp] and r12d,edx rorx r13d,edx,25 rorx esi,edx,11 - lea r11d,DWORD PTR[r14*1+r11] - lea r10d,DWORD PTR[r12*1+r10] + lea r11d,DWORD PTR[r14*1+r11] + lea r10d,DWORD PTR[r12*1+r10] andn r12d,edx,r9d xor r13d,esi rorx r14d,edx,6 - lea r10d,DWORD PTR[r12*1+r10] + lea r10d,DWORD PTR[r12*1+r10] xor r13d,r14d mov esi,r11d rorx r12d,r11d,22 - lea r10d,DWORD PTR[r13*1+r10] + lea r10d,DWORD PTR[r13*1+r10] xor esi,eax rorx r14d,r11d,13 rorx r13d,r11d,2 - lea ecx,DWORD PTR[r10*1+rcx] + lea ecx,DWORD PTR[r10*1+rcx] and r15d,esi vpxor xmm9,xmm9,xmm8 xor r14d,r12d xor r15d,eax xor r14d,r13d - lea r10d,DWORD PTR[r15*1+r10] + lea r10d,DWORD PTR[r15*1+r10] mov r12d,edx - add r9d,DWORD PTR[((8+16))+rbp] + add r9d,DWORD PTR[((8+16))+rbp] and r12d,ecx rorx r13d,ecx,25 rorx r15d,ecx,11 - lea r10d,DWORD PTR[r14*1+r10] - lea r9d,DWORD PTR[r12*1+r9] + lea r10d,DWORD PTR[r14*1+r10] + lea r9d,DWORD PTR[r12*1+r9] andn r12d,ecx,r8d xor r13d,r15d rorx r14d,ecx,6 - lea r9d,DWORD PTR[r12*1+r9] + lea r9d,DWORD PTR[r12*1+r9] xor r13d,r14d mov r15d,r10d rorx r12d,r10d,22 - lea r9d,DWORD PTR[r13*1+r9] + lea r9d,DWORD PTR[r13*1+r9] xor r15d,r11d rorx r14d,r10d,13 rorx r13d,r10d,2 - lea ebx,DWORD PTR[r9*1+rbx] + lea ebx,DWORD PTR[r9*1+rbx] and esi,r15d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((32-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((32-128))+rdi] xor r14d,r12d xor esi,r11d xor r14d,r13d - lea r9d,DWORD PTR[rsi*1+r9] + lea r9d,DWORD PTR[rsi*1+r9] mov r12d,ecx - add r8d,DWORD PTR[((12+16))+rbp] + add r8d,DWORD PTR[((12+16))+rbp] and r12d,ebx rorx r13d,ebx,25 rorx esi,ebx,11 - lea r9d,DWORD PTR[r14*1+r9] - lea r8d,DWORD PTR[r12*1+r8] + lea r9d,DWORD PTR[r14*1+r9] + lea r8d,DWORD PTR[r12*1+r8] andn r12d,ebx,edx xor r13d,esi rorx r14d,ebx,6 - lea r8d,DWORD PTR[r12*1+r8] + lea r8d,DWORD PTR[r12*1+r8] xor r13d,r14d mov esi,r9d rorx r12d,r9d,22 - lea r8d,DWORD PTR[r13*1+r8] + lea r8d,DWORD PTR[r13*1+r8] xor esi,r10d rorx r14d,r9d,13 rorx r13d,r9d,2 - lea eax,DWORD PTR[r8*1+rax] + lea eax,DWORD PTR[r8*1+rax] and r15d,esi vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((48-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((48-128))+rdi] xor r14d,r12d xor r15d,r10d xor r14d,r13d - lea r8d,DWORD PTR[r15*1+r8] + lea r8d,DWORD PTR[r15*1+r8] mov r12d,ebx - add edx,DWORD PTR[((32+16))+rbp] + add edx,DWORD PTR[((32+16))+rbp] and r12d,eax rorx r13d,eax,25 rorx r15d,eax,11 - lea r8d,DWORD PTR[r14*1+r8] - lea edx,DWORD PTR[r12*1+rdx] + lea r8d,DWORD PTR[r14*1+r8] + lea edx,DWORD PTR[r12*1+rdx] andn r12d,eax,ecx xor r13d,r15d rorx r14d,eax,6 - lea edx,DWORD PTR[r12*1+rdx] + lea edx,DWORD PTR[r12*1+rdx] xor r13d,r14d mov r15d,r8d rorx r12d,r8d,22 - lea edx,DWORD PTR[r13*1+rdx] + lea edx,DWORD PTR[r13*1+rdx] xor r15d,r9d rorx r14d,r8d,13 rorx r13d,r8d,2 - lea r11d,DWORD PTR[rdx*1+r11] + lea r11d,DWORD PTR[rdx*1+r11] and esi,r15d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] xor r14d,r12d xor esi,r9d xor r14d,r13d - lea edx,DWORD PTR[rsi*1+rdx] + lea edx,DWORD PTR[rsi*1+rdx] mov r12d,eax - add ecx,DWORD PTR[((36+16))+rbp] + add ecx,DWORD PTR[((36+16))+rbp] and r12d,r11d rorx r13d,r11d,25 rorx esi,r11d,11 - lea edx,DWORD PTR[r14*1+rdx] - lea ecx,DWORD PTR[r12*1+rcx] + lea edx,DWORD PTR[r14*1+rdx] + lea ecx,DWORD PTR[r12*1+rcx] andn r12d,r11d,ebx xor r13d,esi rorx r14d,r11d,6 - lea ecx,DWORD PTR[r12*1+rcx] + lea ecx,DWORD PTR[r12*1+rcx] xor r13d,r14d mov esi,edx rorx r12d,edx,22 - lea ecx,DWORD PTR[r13*1+rcx] + lea ecx,DWORD PTR[r13*1+rcx] xor esi,r8d rorx r14d,edx,13 rorx r13d,edx,2 - lea r10d,DWORD PTR[rcx*1+r10] + lea r10d,DWORD PTR[rcx*1+r10] and r15d,esi vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((80-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((80-128))+rdi] xor r14d,r12d xor r15d,r8d xor r14d,r13d - lea ecx,DWORD PTR[r15*1+rcx] + lea ecx,DWORD PTR[r15*1+rcx] mov r12d,r11d - add ebx,DWORD PTR[((40+16))+rbp] + add ebx,DWORD PTR[((40+16))+rbp] and r12d,r10d rorx r13d,r10d,25 rorx r15d,r10d,11 - lea ecx,DWORD PTR[r14*1+rcx] - lea ebx,DWORD PTR[r12*1+rbx] + lea ecx,DWORD PTR[r14*1+rcx] + lea ebx,DWORD PTR[r12*1+rbx] andn r12d,r10d,eax xor r13d,r15d rorx r14d,r10d,6 - lea ebx,DWORD PTR[r12*1+rbx] + lea ebx,DWORD PTR[r12*1+rbx] xor r13d,r14d mov r15d,ecx rorx r12d,ecx,22 - lea ebx,DWORD PTR[r13*1+rbx] + lea ebx,DWORD PTR[r13*1+rbx] xor r15d,edx rorx r14d,ecx,13 rorx r13d,ecx,2 - lea r9d,DWORD PTR[rbx*1+r9] + lea r9d,DWORD PTR[rbx*1+r9] and esi,r15d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((96-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((96-128))+rdi] xor r14d,r12d xor esi,edx xor r14d,r13d - lea ebx,DWORD PTR[rsi*1+rbx] + lea ebx,DWORD PTR[rsi*1+rbx] mov r12d,r10d - add eax,DWORD PTR[((44+16))+rbp] + add eax,DWORD PTR[((44+16))+rbp] and r12d,r9d rorx r13d,r9d,25 rorx esi,r9d,11 - lea ebx,DWORD PTR[r14*1+rbx] - lea eax,DWORD PTR[r12*1+rax] + lea ebx,DWORD PTR[r14*1+rbx] + lea eax,DWORD PTR[r12*1+rax] andn r12d,r9d,r11d xor r13d,esi rorx r14d,r9d,6 - lea eax,DWORD PTR[r12*1+rax] + lea eax,DWORD PTR[r12*1+rax] xor r13d,r14d mov esi,ebx rorx r12d,ebx,22 - lea eax,DWORD PTR[r13*1+rax] + lea eax,DWORD PTR[r13*1+rax] xor esi,ecx rorx r14d,ebx,13 rorx r13d,ebx,2 - lea r8d,DWORD PTR[rax*1+r8] + lea r8d,DWORD PTR[rax*1+r8] and r15d,esi vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((112-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((112-128))+rdi] xor r14d,r12d xor r15d,ecx xor r14d,r13d - lea eax,DWORD PTR[r15*1+rax] + lea eax,DWORD PTR[r15*1+rax] mov r12d,r9d - lea rbp,QWORD PTR[((-64))+rbp] - add r11d,DWORD PTR[((0+16))+rbp] + lea rbp,QWORD PTR[((-64))+rbp] + add r11d,DWORD PTR[((0+16))+rbp] and r12d,r8d rorx r13d,r8d,25 rorx r15d,r8d,11 - lea eax,DWORD PTR[r14*1+rax] - lea r11d,DWORD PTR[r12*1+r11] + lea eax,DWORD PTR[r14*1+rax] + lea r11d,DWORD PTR[r12*1+r11] andn r12d,r8d,r10d xor r13d,r15d rorx r14d,r8d,6 - lea r11d,DWORD PTR[r12*1+r11] + lea r11d,DWORD PTR[r12*1+r11] xor r13d,r14d mov r15d,eax rorx r12d,eax,22 - lea r11d,DWORD PTR[r13*1+r11] + lea r11d,DWORD PTR[r13*1+r11] xor r15d,ebx rorx r14d,eax,13 rorx r13d,eax,2 - lea edx,DWORD PTR[r11*1+rdx] + lea edx,DWORD PTR[r11*1+rdx] and esi,r15d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((128-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((128-128))+rdi] xor r14d,r12d xor esi,ebx xor r14d,r13d - lea r11d,DWORD PTR[rsi*1+r11] + lea r11d,DWORD PTR[rsi*1+r11] mov r12d,r8d - add r10d,DWORD PTR[((4+16))+rbp] + add r10d,DWORD PTR[((4+16))+rbp] and r12d,edx rorx r13d,edx,25 rorx esi,edx,11 - lea r11d,DWORD PTR[r14*1+r11] - lea r10d,DWORD PTR[r12*1+r10] + lea r11d,DWORD PTR[r14*1+r11] + lea r10d,DWORD PTR[r12*1+r10] andn r12d,edx,r9d xor r13d,esi rorx r14d,edx,6 - lea r10d,DWORD PTR[r12*1+r10] + lea r10d,DWORD PTR[r12*1+r10] xor r13d,r14d mov esi,r11d rorx r12d,r11d,22 - lea r10d,DWORD PTR[r13*1+r10] + lea r10d,DWORD PTR[r13*1+r10] xor esi,eax rorx r14d,r11d,13 rorx r13d,r11d,2 - lea ecx,DWORD PTR[r10*1+rcx] + lea ecx,DWORD PTR[r10*1+rcx] and r15d,esi vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((144-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((144-128))+rdi] xor r14d,r12d xor r15d,eax xor r14d,r13d - lea r10d,DWORD PTR[r15*1+r10] + lea r10d,DWORD PTR[r15*1+r10] mov r12d,edx - add r9d,DWORD PTR[((8+16))+rbp] + add r9d,DWORD PTR[((8+16))+rbp] and r12d,ecx rorx r13d,ecx,25 rorx r15d,ecx,11 - lea r10d,DWORD PTR[r14*1+r10] - lea r9d,DWORD PTR[r12*1+r9] + lea r10d,DWORD PTR[r14*1+r10] + lea r9d,DWORD PTR[r12*1+r9] andn r12d,ecx,r8d xor r13d,r15d rorx r14d,ecx,6 - lea r9d,DWORD PTR[r12*1+r9] + lea r9d,DWORD PTR[r12*1+r9] xor r13d,r14d mov r15d,r10d rorx r12d,r10d,22 - lea r9d,DWORD PTR[r13*1+r9] + lea r9d,DWORD PTR[r13*1+r9] xor r15d,r11d rorx r14d,r10d,13 rorx r13d,r10d,2 - lea ebx,DWORD PTR[r9*1+rbx] + lea ebx,DWORD PTR[r9*1+rbx] and esi,r15d vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((160-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((160-128))+rdi] xor r14d,r12d xor esi,r11d xor r14d,r13d - lea r9d,DWORD PTR[rsi*1+r9] + lea r9d,DWORD PTR[rsi*1+r9] mov r12d,ecx - add r8d,DWORD PTR[((12+16))+rbp] + add r8d,DWORD PTR[((12+16))+rbp] and r12d,ebx rorx r13d,ebx,25 rorx esi,ebx,11 - lea r9d,DWORD PTR[r14*1+r9] - lea r8d,DWORD PTR[r12*1+r8] + lea r9d,DWORD PTR[r14*1+r9] + lea r8d,DWORD PTR[r12*1+r8] andn r12d,ebx,edx xor r13d,esi rorx r14d,ebx,6 - lea r8d,DWORD PTR[r12*1+r8] + lea r8d,DWORD PTR[r12*1+r8] xor r13d,r14d mov esi,r9d rorx r12d,r9d,22 - lea r8d,DWORD PTR[r13*1+r8] + lea r8d,DWORD PTR[r13*1+r8] xor esi,r10d rorx r14d,r9d,13 rorx r13d,r9d,2 - lea eax,DWORD PTR[r8*1+rax] + lea eax,DWORD PTR[r8*1+rax] and r15d,esi vaesenclast xmm11,xmm9,xmm10 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((176-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((176-128))+rdi] xor r14d,r12d xor r15d,r10d xor r14d,r13d - lea r8d,DWORD PTR[r15*1+r8] + lea r8d,DWORD PTR[r15*1+r8] mov r12d,ebx - add edx,DWORD PTR[((32+16))+rbp] + add edx,DWORD PTR[((32+16))+rbp] and r12d,eax rorx r13d,eax,25 rorx r15d,eax,11 - lea r8d,DWORD PTR[r14*1+r8] - lea edx,DWORD PTR[r12*1+rdx] + lea r8d,DWORD PTR[r14*1+r8] + lea edx,DWORD PTR[r12*1+rdx] andn r12d,eax,ecx xor r13d,r15d rorx r14d,eax,6 - lea edx,DWORD PTR[r12*1+rdx] + lea edx,DWORD PTR[r12*1+rdx] xor r13d,r14d mov r15d,r8d rorx r12d,r8d,22 - lea edx,DWORD PTR[r13*1+rdx] + lea edx,DWORD PTR[r13*1+rdx] xor r15d,r9d rorx r14d,r8d,13 rorx r13d,r8d,2 - lea r11d,DWORD PTR[rdx*1+r11] + lea r11d,DWORD PTR[rdx*1+r11] and esi,r15d vpand xmm8,xmm11,xmm12 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((192-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((192-128))+rdi] xor r14d,r12d xor esi,r9d xor r14d,r13d - lea edx,DWORD PTR[rsi*1+rdx] + lea edx,DWORD PTR[rsi*1+rdx] mov r12d,eax - add ecx,DWORD PTR[((36+16))+rbp] + add ecx,DWORD PTR[((36+16))+rbp] and r12d,r11d rorx r13d,r11d,25 rorx esi,r11d,11 - lea edx,DWORD PTR[r14*1+rdx] - lea ecx,DWORD PTR[r12*1+rcx] + lea edx,DWORD PTR[r14*1+rdx] + lea ecx,DWORD PTR[r12*1+rcx] andn r12d,r11d,ebx xor r13d,esi rorx r14d,r11d,6 - lea ecx,DWORD PTR[r12*1+rcx] + lea ecx,DWORD PTR[r12*1+rcx] xor r13d,r14d mov esi,edx rorx r12d,edx,22 - lea ecx,DWORD PTR[r13*1+rcx] + lea ecx,DWORD PTR[r13*1+rcx] xor esi,r8d rorx r14d,edx,13 rorx r13d,edx,2 - lea r10d,DWORD PTR[rcx*1+r10] + lea r10d,DWORD PTR[rcx*1+r10] and r15d,esi vaesenclast xmm11,xmm9,xmm10 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((208-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((208-128))+rdi] xor r14d,r12d xor r15d,r8d xor r14d,r13d - lea ecx,DWORD PTR[r15*1+rcx] + lea ecx,DWORD PTR[r15*1+rcx] mov r12d,r11d - add ebx,DWORD PTR[((40+16))+rbp] + add ebx,DWORD PTR[((40+16))+rbp] and r12d,r10d rorx r13d,r10d,25 rorx r15d,r10d,11 - lea ecx,DWORD PTR[r14*1+rcx] - lea ebx,DWORD PTR[r12*1+rbx] + lea ecx,DWORD PTR[r14*1+rcx] + lea ebx,DWORD PTR[r12*1+rbx] andn r12d,r10d,eax xor r13d,r15d rorx r14d,r10d,6 - lea ebx,DWORD PTR[r12*1+rbx] + lea ebx,DWORD PTR[r12*1+rbx] xor r13d,r14d mov r15d,ecx rorx r12d,ecx,22 - lea ebx,DWORD PTR[r13*1+rbx] + lea ebx,DWORD PTR[r13*1+rbx] xor r15d,edx rorx r14d,ecx,13 rorx r13d,ecx,2 - lea r9d,DWORD PTR[rbx*1+r9] + lea r9d,DWORD PTR[rbx*1+r9] and esi,r15d vpand xmm11,xmm11,xmm13 vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((224-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((224-128))+rdi] xor r14d,r12d xor esi,edx xor r14d,r13d - lea ebx,DWORD PTR[rsi*1+rbx] + lea ebx,DWORD PTR[rsi*1+rbx] mov r12d,r10d - add eax,DWORD PTR[((44+16))+rbp] + add eax,DWORD PTR[((44+16))+rbp] and r12d,r9d rorx r13d,r9d,25 rorx esi,r9d,11 - lea ebx,DWORD PTR[r14*1+rbx] - lea eax,DWORD PTR[r12*1+rax] + lea ebx,DWORD PTR[r14*1+rbx] + lea eax,DWORD PTR[r12*1+rax] andn r12d,r9d,r11d xor r13d,esi rorx r14d,r9d,6 - lea eax,DWORD PTR[r12*1+rax] + lea eax,DWORD PTR[r12*1+rax] xor r13d,r14d mov esi,ebx rorx r12d,ebx,22 - lea eax,DWORD PTR[r13*1+rax] + lea eax,DWORD PTR[r13*1+rax] xor esi,ecx rorx r14d,ebx,13 rorx r13d,ebx,2 - lea r8d,DWORD PTR[rax*1+r8] + lea r8d,DWORD PTR[rax*1+r8] and r15d,esi vpor xmm8,xmm8,xmm11 vaesenclast xmm11,xmm9,xmm10 - vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((0-128))+rdi] xor r14d,r12d xor r15d,ecx xor r14d,r13d - lea eax,DWORD PTR[r15*1+rax] + lea eax,DWORD PTR[r15*1+rax] mov r12d,r9d vmovq r13,xmm15 vpextrq r15,xmm15,1 vpand xmm11,xmm11,xmm14 vpor xmm8,xmm8,xmm11 - lea rbp,QWORD PTR[((-64))+rbp] - vmovdqu XMMWORD PTR[r13*1+r15],xmm8 - lea r13,QWORD PTR[16+r13] + lea rbp,QWORD PTR[((-64))+rbp] + vmovdqu XMMWORD PTR[r13*1+r15],xmm8 + lea r13,QWORD PTR[16+r13] cmp rbp,rsp - jae $L$ower_avx2 + jae $L$ower_avx2 - mov r15,QWORD PTR[552+rsp] - lea r13,QWORD PTR[64+r13] - mov rsi,QWORD PTR[560+rsp] + mov r15,QWORD PTR[552+rsp] + lea r13,QWORD PTR[64+r13] + mov rsi,QWORD PTR[560+rsp] add eax,r14d - lea rsp,QWORD PTR[448+rsp] + lea rsp,QWORD PTR[448+rsp] - add eax,DWORD PTR[r15] - add ebx,DWORD PTR[4+r15] - add ecx,DWORD PTR[8+r15] - add edx,DWORD PTR[12+r15] - add r8d,DWORD PTR[16+r15] - add r9d,DWORD PTR[20+r15] - add r10d,DWORD PTR[24+r15] - lea r12,QWORD PTR[r13*1+rsi] - add r11d,DWORD PTR[28+r15] + add eax,DWORD PTR[r15] + add ebx,DWORD PTR[4+r15] + add ecx,DWORD PTR[8+r15] + add edx,DWORD PTR[12+r15] + add r8d,DWORD PTR[16+r15] + add r9d,DWORD PTR[20+r15] + add r10d,DWORD PTR[24+r15] + lea r12,QWORD PTR[r13*1+rsi] + add r11d,DWORD PTR[28+r15] - cmp r13,QWORD PTR[((64+16))+rsp] + cmp r13,QWORD PTR[((64+16))+rsp] - mov DWORD PTR[r15],eax + mov DWORD PTR[r15],eax cmove r12,rsp - mov DWORD PTR[4+r15],ebx - mov DWORD PTR[8+r15],ecx - mov DWORD PTR[12+r15],edx - mov DWORD PTR[16+r15],r8d - mov DWORD PTR[20+r15],r9d - mov DWORD PTR[24+r15],r10d - mov DWORD PTR[28+r15],r11d - - jbe $L$oop_avx2 - lea rbp,QWORD PTR[rsp] - - - - -$L$done_avx2:: - mov r8,QWORD PTR[((64+32))+rbp] - mov rsi,QWORD PTR[((64+56))+rbp] - - vmovdqu XMMWORD PTR[r8],xmm8 + mov DWORD PTR[4+r15],ebx + mov DWORD PTR[8+r15],ecx + mov DWORD PTR[12+r15],edx + mov DWORD PTR[16+r15],r8d + mov DWORD PTR[20+r15],r9d + mov DWORD PTR[24+r15],r10d + mov DWORD PTR[28+r15],r11d + + jbe $L$oop_avx2 + lea rbp,QWORD PTR[rsp] + + + + +$L$done_avx2:: + mov r8,QWORD PTR[((64+32))+rbp] + mov rsi,QWORD PTR[((64+56))+rbp] + + vmovdqu XMMWORD PTR[r8],xmm8 vzeroall - movaps xmm6,XMMWORD PTR[128+rbp] - movaps xmm7,XMMWORD PTR[144+rbp] - movaps xmm8,XMMWORD PTR[160+rbp] - movaps xmm9,XMMWORD PTR[176+rbp] - movaps xmm10,XMMWORD PTR[192+rbp] - movaps xmm11,XMMWORD PTR[208+rbp] - movaps xmm12,XMMWORD PTR[224+rbp] - movaps xmm13,XMMWORD PTR[240+rbp] - movaps xmm14,XMMWORD PTR[256+rbp] - movaps xmm15,XMMWORD PTR[272+rbp] - mov r15,QWORD PTR[((-48))+rsi] + movaps xmm6,XMMWORD PTR[128+rbp] + movaps xmm7,XMMWORD PTR[144+rbp] + movaps xmm8,XMMWORD PTR[160+rbp] + movaps xmm9,XMMWORD PTR[176+rbp] + movaps xmm10,XMMWORD PTR[192+rbp] + movaps xmm11,XMMWORD PTR[208+rbp] + movaps xmm12,XMMWORD PTR[224+rbp] + movaps xmm13,XMMWORD PTR[240+rbp] + movaps xmm14,XMMWORD PTR[256+rbp] + movaps xmm15,XMMWORD PTR[272+rbp] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$epilogue_avx2:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_avx2:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_sha256_enc_avx2:: -aesni_cbc_sha256_enc_avx2 ENDP +$L$SEH_end_aesni_cbc_sha256_enc_avx2:: +aesni_cbc_sha256_enc_avx2 ENDP ALIGN 32 -aesni_cbc_sha256_enc_shaext PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_cbc_sha256_enc_shaext PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_cbc_sha256_enc_shaext:: +$L$SEH_begin_aesni_cbc_sha256_enc_shaext:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] - - - - mov r10,QWORD PTR[56+rsp] - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[(-8-160)+rax],xmm6 - movaps XMMWORD PTR[(-8-144)+rax],xmm7 - movaps XMMWORD PTR[(-8-128)+rax],xmm8 - movaps XMMWORD PTR[(-8-112)+rax],xmm9 - movaps XMMWORD PTR[(-8-96)+rax],xmm10 - movaps XMMWORD PTR[(-8-80)+rax],xmm11 - movaps XMMWORD PTR[(-8-64)+rax],xmm12 - movaps XMMWORD PTR[(-8-48)+rax],xmm13 - movaps XMMWORD PTR[(-8-32)+rax],xmm14 - movaps XMMWORD PTR[(-8-16)+rax],xmm15 -$L$prologue_shaext:: - lea rax,QWORD PTR[((K256+128))] - movdqu xmm1,XMMWORD PTR[r9] - movdqu xmm2,XMMWORD PTR[16+r9] - movdqa xmm3,XMMWORD PTR[((512-128))+rax] - - mov r11d,DWORD PTR[240+rcx] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] + + + + mov r10,QWORD PTR[56+rsp] + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[(-8-160)+rax],xmm6 + movaps XMMWORD PTR[(-8-144)+rax],xmm7 + movaps XMMWORD PTR[(-8-128)+rax],xmm8 + movaps XMMWORD PTR[(-8-112)+rax],xmm9 + movaps XMMWORD PTR[(-8-96)+rax],xmm10 + movaps XMMWORD PTR[(-8-80)+rax],xmm11 + movaps XMMWORD PTR[(-8-64)+rax],xmm12 + movaps XMMWORD PTR[(-8-48)+rax],xmm13 + movaps XMMWORD PTR[(-8-32)+rax],xmm14 + movaps XMMWORD PTR[(-8-16)+rax],xmm15 +$L$prologue_shaext:: + lea rax,QWORD PTR[((K256+128))] + movdqu xmm1,XMMWORD PTR[r9] + movdqu xmm2,XMMWORD PTR[16+r9] + movdqa xmm3,XMMWORD PTR[((512-128))+rax] + + mov r11d,DWORD PTR[240+rcx] sub rsi,rdi - movups xmm15,XMMWORD PTR[rcx] - movups xmm6,XMMWORD PTR[r8] - movups xmm4,XMMWORD PTR[16+rcx] - lea rcx,QWORD PTR[112+rcx] - - pshufd xmm0,xmm1,01bh - pshufd xmm1,xmm1,0b1h - pshufd xmm2,xmm2,01bh + movups xmm15,XMMWORD PTR[rcx] + movups xmm6,XMMWORD PTR[r8] + movups xmm4,XMMWORD PTR[16+rcx] + lea rcx,QWORD PTR[112+rcx] + + pshufd xmm0,xmm1,01bh + pshufd xmm1,xmm1,0b1h + pshufd xmm2,xmm2,01bh movdqa xmm7,xmm3 DB 102,15,58,15,202,8 punpcklqdq xmm2,xmm0 - jmp $L$oop_shaext + jmp $L$oop_shaext ALIGN 16 -$L$oop_shaext:: - movdqu xmm10,XMMWORD PTR[r10] - movdqu xmm11,XMMWORD PTR[16+r10] - movdqu xmm12,XMMWORD PTR[32+r10] +$L$oop_shaext:: + movdqu xmm10,XMMWORD PTR[r10] + movdqu xmm11,XMMWORD PTR[16+r10] + movdqu xmm12,XMMWORD PTR[32+r10] DB 102,68,15,56,0,211 - movdqu xmm13,XMMWORD PTR[48+r10] + movdqu xmm13,XMMWORD PTR[48+r10] - movdqa xmm0,XMMWORD PTR[((0-128))+rax] + movdqa xmm0,XMMWORD PTR[((0-128))+rax] paddd xmm0,xmm10 DB 102,68,15,56,0,219 movdqa xmm9,xmm2 movdqa xmm8,xmm1 - movups xmm14,XMMWORD PTR[rdi] + movups xmm14,XMMWORD PTR[rdi] xorps xmm14,xmm15 xorps xmm6,xmm14 - movups xmm5,XMMWORD PTR[((-80))+rcx] + movups xmm5,XMMWORD PTR[((-80))+rcx] aesenc xmm6,xmm4 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh - movups xmm4,XMMWORD PTR[((-64))+rcx] + pshufd xmm0,xmm0,00eh + movups xmm4,XMMWORD PTR[((-64))+rcx] aesenc xmm6,xmm5 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((32-128))+rax] + movdqa xmm0,XMMWORD PTR[((32-128))+rax] paddd xmm0,xmm11 DB 102,68,15,56,0,227 - lea r10,QWORD PTR[64+r10] - movups xmm5,XMMWORD PTR[((-48))+rcx] + lea r10,QWORD PTR[64+r10] + movups xmm5,XMMWORD PTR[((-48))+rcx] aesenc xmm6,xmm4 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh - movups xmm4,XMMWORD PTR[((-32))+rcx] + pshufd xmm0,xmm0,00eh + movups xmm4,XMMWORD PTR[((-32))+rcx] aesenc xmm6,xmm5 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((64-128))+rax] + movdqa xmm0,XMMWORD PTR[((64-128))+rax] paddd xmm0,xmm12 DB 102,68,15,56,0,235 DB 69,15,56,204,211 - movups xmm5,XMMWORD PTR[((-16))+rcx] + movups xmm5,XMMWORD PTR[((-16))+rcx] aesenc xmm6,xmm4 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm3,xmm13 DB 102,65,15,58,15,220,4 paddd xmm10,xmm3 - movups xmm4,XMMWORD PTR[rcx] + movups xmm4,XMMWORD PTR[rcx] aesenc xmm6,xmm5 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((96-128))+rax] + movdqa xmm0,XMMWORD PTR[((96-128))+rax] paddd xmm0,xmm13 DB 69,15,56,205,213 DB 69,15,56,204,220 - movups xmm5,XMMWORD PTR[16+rcx] + movups xmm5,XMMWORD PTR[16+rcx] aesenc xmm6,xmm4 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh - movups xmm4,XMMWORD PTR[32+rcx] + pshufd xmm0,xmm0,00eh + movups xmm4,XMMWORD PTR[32+rcx] aesenc xmm6,xmm5 movdqa xmm3,xmm10 DB 102,65,15,58,15,221,4 paddd xmm11,xmm3 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((128-128))+rax] + movdqa xmm0,XMMWORD PTR[((128-128))+rax] paddd xmm0,xmm10 DB 69,15,56,205,218 DB 69,15,56,204,229 - movups xmm5,XMMWORD PTR[48+rcx] + movups xmm5,XMMWORD PTR[48+rcx] aesenc xmm6,xmm4 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm3,xmm11 DB 102,65,15,58,15,218,4 paddd xmm12,xmm3 cmp r11d,11 - jb $L$aesenclast1 - movups xmm4,XMMWORD PTR[64+rcx] + jb $L$aesenclast1 + movups xmm4,XMMWORD PTR[64+rcx] aesenc xmm6,xmm5 - movups xmm5,XMMWORD PTR[80+rcx] + movups xmm5,XMMWORD PTR[80+rcx] aesenc xmm6,xmm4 - je $L$aesenclast1 - movups xmm4,XMMWORD PTR[96+rcx] + je $L$aesenclast1 + movups xmm4,XMMWORD PTR[96+rcx] aesenc xmm6,xmm5 - movups xmm5,XMMWORD PTR[112+rcx] + movups xmm5,XMMWORD PTR[112+rcx] aesenc xmm6,xmm4 -$L$aesenclast1:: +$L$aesenclast1:: aesenclast xmm6,xmm5 - movups xmm4,XMMWORD PTR[((16-112))+rcx] + movups xmm4,XMMWORD PTR[((16-112))+rcx] nop DB 15,56,203,202 - movups xmm14,XMMWORD PTR[16+rdi] + movups xmm14,XMMWORD PTR[16+rdi] xorps xmm14,xmm15 - movups XMMWORD PTR[rdi*1+rsi],xmm6 + movups XMMWORD PTR[rdi*1+rsi],xmm6 xorps xmm6,xmm14 - movups xmm5,XMMWORD PTR[((-80))+rcx] + movups xmm5,XMMWORD PTR[((-80))+rcx] aesenc xmm6,xmm4 - movdqa xmm0,XMMWORD PTR[((160-128))+rax] + movdqa xmm0,XMMWORD PTR[((160-128))+rax] paddd xmm0,xmm11 DB 69,15,56,205,227 DB 69,15,56,204,234 - movups xmm4,XMMWORD PTR[((-64))+rcx] + movups xmm4,XMMWORD PTR[((-64))+rcx] aesenc xmm6,xmm5 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm3,xmm12 DB 102,65,15,58,15,219,4 paddd xmm13,xmm3 - movups xmm5,XMMWORD PTR[((-48))+rcx] + movups xmm5,XMMWORD PTR[((-48))+rcx] aesenc xmm6,xmm4 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((192-128))+rax] + movdqa xmm0,XMMWORD PTR[((192-128))+rax] paddd xmm0,xmm12 DB 69,15,56,205,236 DB 69,15,56,204,211 - movups xmm4,XMMWORD PTR[((-32))+rcx] + movups xmm4,XMMWORD PTR[((-32))+rcx] aesenc xmm6,xmm5 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm3,xmm13 DB 102,65,15,58,15,220,4 paddd xmm10,xmm3 - movups xmm5,XMMWORD PTR[((-16))+rcx] + movups xmm5,XMMWORD PTR[((-16))+rcx] aesenc xmm6,xmm4 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((224-128))+rax] + movdqa xmm0,XMMWORD PTR[((224-128))+rax] paddd xmm0,xmm13 DB 69,15,56,205,213 DB 69,15,56,204,220 - movups xmm4,XMMWORD PTR[rcx] + movups xmm4,XMMWORD PTR[rcx] aesenc xmm6,xmm5 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm3,xmm10 DB 102,65,15,58,15,221,4 paddd xmm11,xmm3 - movups xmm5,XMMWORD PTR[16+rcx] + movups xmm5,XMMWORD PTR[16+rcx] aesenc xmm6,xmm4 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((256-128))+rax] + movdqa xmm0,XMMWORD PTR[((256-128))+rax] paddd xmm0,xmm10 DB 69,15,56,205,218 DB 69,15,56,204,229 - movups xmm4,XMMWORD PTR[32+rcx] + movups xmm4,XMMWORD PTR[32+rcx] aesenc xmm6,xmm5 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm3,xmm11 DB 102,65,15,58,15,218,4 paddd xmm12,xmm3 - movups xmm5,XMMWORD PTR[48+rcx] + movups xmm5,XMMWORD PTR[48+rcx] aesenc xmm6,xmm4 cmp r11d,11 - jb $L$aesenclast2 - movups xmm4,XMMWORD PTR[64+rcx] + jb $L$aesenclast2 + movups xmm4,XMMWORD PTR[64+rcx] aesenc xmm6,xmm5 - movups xmm5,XMMWORD PTR[80+rcx] + movups xmm5,XMMWORD PTR[80+rcx] aesenc xmm6,xmm4 - je $L$aesenclast2 - movups xmm4,XMMWORD PTR[96+rcx] + je $L$aesenclast2 + movups xmm4,XMMWORD PTR[96+rcx] aesenc xmm6,xmm5 - movups xmm5,XMMWORD PTR[112+rcx] + movups xmm5,XMMWORD PTR[112+rcx] aesenc xmm6,xmm4 -$L$aesenclast2:: +$L$aesenclast2:: aesenclast xmm6,xmm5 - movups xmm4,XMMWORD PTR[((16-112))+rcx] + movups xmm4,XMMWORD PTR[((16-112))+rcx] nop DB 15,56,203,202 - movups xmm14,XMMWORD PTR[32+rdi] + movups xmm14,XMMWORD PTR[32+rdi] xorps xmm14,xmm15 - movups XMMWORD PTR[16+rdi*1+rsi],xmm6 + movups XMMWORD PTR[16+rdi*1+rsi],xmm6 xorps xmm6,xmm14 - movups xmm5,XMMWORD PTR[((-80))+rcx] + movups xmm5,XMMWORD PTR[((-80))+rcx] aesenc xmm6,xmm4 - movdqa xmm0,XMMWORD PTR[((288-128))+rax] + movdqa xmm0,XMMWORD PTR[((288-128))+rax] paddd xmm0,xmm11 DB 69,15,56,205,227 DB 69,15,56,204,234 - movups xmm4,XMMWORD PTR[((-64))+rcx] + movups xmm4,XMMWORD PTR[((-64))+rcx] aesenc xmm6,xmm5 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm3,xmm12 DB 102,65,15,58,15,219,4 paddd xmm13,xmm3 - movups xmm5,XMMWORD PTR[((-48))+rcx] + movups xmm5,XMMWORD PTR[((-48))+rcx] aesenc xmm6,xmm4 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((320-128))+rax] + movdqa xmm0,XMMWORD PTR[((320-128))+rax] paddd xmm0,xmm12 DB 69,15,56,205,236 DB 69,15,56,204,211 - movups xmm4,XMMWORD PTR[((-32))+rcx] + movups xmm4,XMMWORD PTR[((-32))+rcx] aesenc xmm6,xmm5 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm3,xmm13 DB 102,65,15,58,15,220,4 paddd xmm10,xmm3 - movups xmm5,XMMWORD PTR[((-16))+rcx] + movups xmm5,XMMWORD PTR[((-16))+rcx] aesenc xmm6,xmm4 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((352-128))+rax] + movdqa xmm0,XMMWORD PTR[((352-128))+rax] paddd xmm0,xmm13 DB 69,15,56,205,213 DB 69,15,56,204,220 - movups xmm4,XMMWORD PTR[rcx] + movups xmm4,XMMWORD PTR[rcx] aesenc xmm6,xmm5 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm3,xmm10 DB 102,65,15,58,15,221,4 paddd xmm11,xmm3 - movups xmm5,XMMWORD PTR[16+rcx] + movups xmm5,XMMWORD PTR[16+rcx] aesenc xmm6,xmm4 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((384-128))+rax] + movdqa xmm0,XMMWORD PTR[((384-128))+rax] paddd xmm0,xmm10 DB 69,15,56,205,218 DB 69,15,56,204,229 - movups xmm4,XMMWORD PTR[32+rcx] + movups xmm4,XMMWORD PTR[32+rcx] aesenc xmm6,xmm5 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm3,xmm11 DB 102,65,15,58,15,218,4 paddd xmm12,xmm3 - movups xmm5,XMMWORD PTR[48+rcx] + movups xmm5,XMMWORD PTR[48+rcx] aesenc xmm6,xmm4 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((416-128))+rax] + movdqa xmm0,XMMWORD PTR[((416-128))+rax] paddd xmm0,xmm11 DB 69,15,56,205,227 DB 69,15,56,204,234 cmp r11d,11 - jb $L$aesenclast3 - movups xmm4,XMMWORD PTR[64+rcx] + jb $L$aesenclast3 + movups xmm4,XMMWORD PTR[64+rcx] aesenc xmm6,xmm5 - movups xmm5,XMMWORD PTR[80+rcx] + movups xmm5,XMMWORD PTR[80+rcx] aesenc xmm6,xmm4 - je $L$aesenclast3 - movups xmm4,XMMWORD PTR[96+rcx] + je $L$aesenclast3 + movups xmm4,XMMWORD PTR[96+rcx] aesenc xmm6,xmm5 - movups xmm5,XMMWORD PTR[112+rcx] + movups xmm5,XMMWORD PTR[112+rcx] aesenc xmm6,xmm4 -$L$aesenclast3:: +$L$aesenclast3:: aesenclast xmm6,xmm5 - movups xmm4,XMMWORD PTR[((16-112))+rcx] + movups xmm4,XMMWORD PTR[((16-112))+rcx] nop DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm3,xmm12 DB 102,65,15,58,15,219,4 paddd xmm13,xmm3 - movups xmm14,XMMWORD PTR[48+rdi] + movups xmm14,XMMWORD PTR[48+rdi] xorps xmm14,xmm15 - movups XMMWORD PTR[32+rdi*1+rsi],xmm6 + movups XMMWORD PTR[32+rdi*1+rsi],xmm6 xorps xmm6,xmm14 - movups xmm5,XMMWORD PTR[((-80))+rcx] + movups xmm5,XMMWORD PTR[((-80))+rcx] aesenc xmm6,xmm4 - movups xmm4,XMMWORD PTR[((-64))+rcx] + movups xmm4,XMMWORD PTR[((-64))+rcx] aesenc xmm6,xmm5 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((448-128))+rax] + movdqa xmm0,XMMWORD PTR[((448-128))+rax] paddd xmm0,xmm12 DB 69,15,56,205,236 movdqa xmm3,xmm7 - movups xmm5,XMMWORD PTR[((-48))+rcx] + movups xmm5,XMMWORD PTR[((-48))+rcx] aesenc xmm6,xmm4 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh - movups xmm4,XMMWORD PTR[((-32))+rcx] + pshufd xmm0,xmm0,00eh + movups xmm4,XMMWORD PTR[((-32))+rcx] aesenc xmm6,xmm5 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((480-128))+rax] + movdqa xmm0,XMMWORD PTR[((480-128))+rax] paddd xmm0,xmm13 - movups xmm5,XMMWORD PTR[((-16))+rcx] + movups xmm5,XMMWORD PTR[((-16))+rcx] aesenc xmm6,xmm4 - movups xmm4,XMMWORD PTR[rcx] + movups xmm4,XMMWORD PTR[rcx] aesenc xmm6,xmm5 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh - movups xmm5,XMMWORD PTR[16+rcx] + pshufd xmm0,xmm0,00eh + movups xmm5,XMMWORD PTR[16+rcx] aesenc xmm6,xmm4 DB 15,56,203,202 - movups xmm4,XMMWORD PTR[32+rcx] + movups xmm4,XMMWORD PTR[32+rcx] aesenc xmm6,xmm5 - movups xmm5,XMMWORD PTR[48+rcx] + movups xmm5,XMMWORD PTR[48+rcx] aesenc xmm6,xmm4 cmp r11d,11 - jb $L$aesenclast4 - movups xmm4,XMMWORD PTR[64+rcx] + jb $L$aesenclast4 + movups xmm4,XMMWORD PTR[64+rcx] aesenc xmm6,xmm5 - movups xmm5,XMMWORD PTR[80+rcx] + movups xmm5,XMMWORD PTR[80+rcx] aesenc xmm6,xmm4 - je $L$aesenclast4 - movups xmm4,XMMWORD PTR[96+rcx] + je $L$aesenclast4 + movups xmm4,XMMWORD PTR[96+rcx] aesenc xmm6,xmm5 - movups xmm5,XMMWORD PTR[112+rcx] + movups xmm5,XMMWORD PTR[112+rcx] aesenc xmm6,xmm4 -$L$aesenclast4:: +$L$aesenclast4:: aesenclast xmm6,xmm5 - movups xmm4,XMMWORD PTR[((16-112))+rcx] + movups xmm4,XMMWORD PTR[((16-112))+rcx] nop paddd xmm2,xmm9 paddd xmm1,xmm8 dec rdx - movups XMMWORD PTR[48+rdi*1+rsi],xmm6 - lea rdi,QWORD PTR[64+rdi] - jnz $L$oop_shaext + movups XMMWORD PTR[48+rdi*1+rsi],xmm6 + lea rdi,QWORD PTR[64+rdi] + jnz $L$oop_shaext - pshufd xmm2,xmm2,0b1h - pshufd xmm3,xmm1,01bh - pshufd xmm1,xmm1,0b1h + pshufd xmm2,xmm2,0b1h + pshufd xmm3,xmm1,01bh + pshufd xmm1,xmm1,0b1h punpckhqdq xmm1,xmm2 DB 102,15,58,15,211,8 - movups XMMWORD PTR[r8],xmm6 - movdqu XMMWORD PTR[r9],xmm1 - movdqu XMMWORD PTR[16+r9],xmm2 - movaps xmm6,XMMWORD PTR[rsp] - movaps xmm7,XMMWORD PTR[16+rsp] - movaps xmm8,XMMWORD PTR[32+rsp] - movaps xmm9,XMMWORD PTR[48+rsp] - movaps xmm10,XMMWORD PTR[64+rsp] - movaps xmm11,XMMWORD PTR[80+rsp] - movaps xmm12,XMMWORD PTR[96+rsp] - movaps xmm13,XMMWORD PTR[112+rsp] - movaps xmm14,XMMWORD PTR[128+rsp] - movaps xmm15,XMMWORD PTR[144+rsp] - lea rsp,QWORD PTR[((8+160))+rsp] -$L$epilogue_shaext:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movups XMMWORD PTR[r8],xmm6 + movdqu XMMWORD PTR[r9],xmm1 + movdqu XMMWORD PTR[16+r9],xmm2 + movaps xmm6,XMMWORD PTR[rsp] + movaps xmm7,XMMWORD PTR[16+rsp] + movaps xmm8,XMMWORD PTR[32+rsp] + movaps xmm9,XMMWORD PTR[48+rsp] + movaps xmm10,XMMWORD PTR[64+rsp] + movaps xmm11,XMMWORD PTR[80+rsp] + movaps xmm12,XMMWORD PTR[96+rsp] + movaps xmm13,XMMWORD PTR[112+rsp] + movaps xmm14,XMMWORD PTR[128+rsp] + movaps xmm15,XMMWORD PTR[144+rsp] + lea rsp,QWORD PTR[((8+160))+rsp] +$L$epilogue_shaext:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_sha256_enc_shaext:: -aesni_cbc_sha256_enc_shaext ENDP -EXTERN __imp_RtlVirtualUnwind:NEAR - +$L$SEH_end_aesni_cbc_sha256_enc_shaext:: +aesni_cbc_sha256_enc_shaext ENDP +EXTERN __imp_RtlVirtualUnwind:NEAR + ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -4577,87 +4577,87 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$in_prologue - lea r10,QWORD PTR[aesni_cbc_sha256_enc_shaext] + jae $L$in_prologue + lea r10,QWORD PTR[aesni_cbc_sha256_enc_shaext] cmp rbx,r10 - jb $L$not_in_shaext + jb $L$not_in_shaext - lea rsi,QWORD PTR[rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch - lea rax,QWORD PTR[168+rax] - jmp $L$in_prologue -$L$not_in_shaext:: - lea r10,QWORD PTR[$L$avx2_shortcut] + DD 0a548f3fch + lea rax,QWORD PTR[168+rax] + jmp $L$in_prologue +$L$not_in_shaext:: + lea r10,QWORD PTR[$L$avx2_shortcut] cmp rbx,r10 - jb $L$not_in_avx2 + jb $L$not_in_avx2 and rax,-256*4 add rax,448 -$L$not_in_avx2:: +$L$not_in_avx2:: mov rsi,rax - mov rax,QWORD PTR[((64+56))+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 rsi,QWORD PTR[((64+64))+rsi] - lea rdi,QWORD PTR[512+r8] + mov rax,QWORD PTR[((64+56))+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 rsi,QWORD PTR[((64+64))+rsi] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch + DD 0a548f3fch -$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 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 - mov rdi,QWORD PTR[40+r9] + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -4671,43 +4671,43 @@ $L$in_prologue:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP - -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) - DD imagerel $L$SEH_begin_aesni_cbc_sha256_enc_xop - DD imagerel $L$SEH_end_aesni_cbc_sha256_enc_xop - DD imagerel $L$SEH_info_aesni_cbc_sha256_enc_xop - - DD imagerel $L$SEH_begin_aesni_cbc_sha256_enc_avx - DD imagerel $L$SEH_end_aesni_cbc_sha256_enc_avx - DD imagerel $L$SEH_info_aesni_cbc_sha256_enc_avx - DD imagerel $L$SEH_begin_aesni_cbc_sha256_enc_avx2 - DD imagerel $L$SEH_end_aesni_cbc_sha256_enc_avx2 - DD imagerel $L$SEH_info_aesni_cbc_sha256_enc_avx2 - DD imagerel $L$SEH_begin_aesni_cbc_sha256_enc_shaext - DD imagerel $L$SEH_end_aesni_cbc_sha256_enc_shaext - DD imagerel $L$SEH_info_aesni_cbc_sha256_enc_shaext -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) +se_handler ENDP + +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) + DD imagerel $L$SEH_begin_aesni_cbc_sha256_enc_xop + DD imagerel $L$SEH_end_aesni_cbc_sha256_enc_xop + DD imagerel $L$SEH_info_aesni_cbc_sha256_enc_xop + + DD imagerel $L$SEH_begin_aesni_cbc_sha256_enc_avx + DD imagerel $L$SEH_end_aesni_cbc_sha256_enc_avx + DD imagerel $L$SEH_info_aesni_cbc_sha256_enc_avx + DD imagerel $L$SEH_begin_aesni_cbc_sha256_enc_avx2 + DD imagerel $L$SEH_end_aesni_cbc_sha256_enc_avx2 + DD imagerel $L$SEH_info_aesni_cbc_sha256_enc_avx2 + DD imagerel $L$SEH_begin_aesni_cbc_sha256_enc_shaext + DD imagerel $L$SEH_end_aesni_cbc_sha256_enc_shaext + DD imagerel $L$SEH_info_aesni_cbc_sha256_enc_shaext +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_aesni_cbc_sha256_enc_xop:: +$L$SEH_info_aesni_cbc_sha256_enc_xop:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$prologue_xop,imagerel $L$epilogue_xop + DD imagerel se_handler + DD imagerel $L$prologue_xop,imagerel $L$epilogue_xop -$L$SEH_info_aesni_cbc_sha256_enc_avx:: +$L$SEH_info_aesni_cbc_sha256_enc_avx:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$prologue_avx,imagerel $L$epilogue_avx -$L$SEH_info_aesni_cbc_sha256_enc_avx2:: + DD imagerel se_handler + DD imagerel $L$prologue_avx,imagerel $L$epilogue_avx +$L$SEH_info_aesni_cbc_sha256_enc_avx2:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$prologue_avx2,imagerel $L$epilogue_avx2 -$L$SEH_info_aesni_cbc_sha256_enc_shaext:: + DD imagerel se_handler + DD imagerel $L$prologue_avx2,imagerel $L$epilogue_avx2 +$L$SEH_info_aesni_cbc_sha256_enc_shaext:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$prologue_shaext,imagerel $L$epilogue_shaext - -.xdata ENDS -END + DD imagerel se_handler + DD imagerel $L$prologue_shaext,imagerel $L$epilogue_shaext + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/aes/aesni-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/aes/aesni-x86_64.masm index 78d8cf3a5c..2f03773eba 100644 --- a/contrib/libs/openssl/asm/windows/crypto/aes/aesni-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/aes/aesni-x86_64.masm @@ -1,80 +1,80 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC aesni_encrypt +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' +EXTERN OPENSSL_ia32cap_P:NEAR +PUBLIC aesni_encrypt ALIGN 16 -aesni_encrypt PROC PUBLIC +aesni_encrypt PROC PUBLIC - movups xmm2,XMMWORD PTR[rcx] - mov eax,DWORD PTR[240+r8] - movups xmm0,XMMWORD PTR[r8] - movups xmm1,XMMWORD PTR[16+r8] - lea r8,QWORD PTR[32+r8] + movups xmm2,XMMWORD PTR[rcx] + mov eax,DWORD PTR[240+r8] + movups xmm0,XMMWORD PTR[r8] + movups xmm1,XMMWORD PTR[16+r8] + lea r8,QWORD PTR[32+r8] xorps xmm2,xmm0 -$L$oop_enc1_1:: +$L$oop_enc1_1:: DB 102,15,56,220,209 dec eax - movups xmm1,XMMWORD PTR[r8] - lea r8,QWORD PTR[16+r8] - jnz $L$oop_enc1_1 + movups xmm1,XMMWORD PTR[r8] + lea r8,QWORD PTR[16+r8] + jnz $L$oop_enc1_1 DB 102,15,56,221,209 pxor xmm0,xmm0 pxor xmm1,xmm1 - movups XMMWORD PTR[rdx],xmm2 + movups XMMWORD PTR[rdx],xmm2 pxor xmm2,xmm2 DB 0F3h,0C3h ;repret -aesni_encrypt ENDP +aesni_encrypt ENDP -PUBLIC aesni_decrypt +PUBLIC aesni_decrypt ALIGN 16 -aesni_decrypt PROC PUBLIC +aesni_decrypt PROC PUBLIC - movups xmm2,XMMWORD PTR[rcx] - mov eax,DWORD PTR[240+r8] - movups xmm0,XMMWORD PTR[r8] - movups xmm1,XMMWORD PTR[16+r8] - lea r8,QWORD PTR[32+r8] + movups xmm2,XMMWORD PTR[rcx] + mov eax,DWORD PTR[240+r8] + movups xmm0,XMMWORD PTR[r8] + movups xmm1,XMMWORD PTR[16+r8] + lea r8,QWORD PTR[32+r8] xorps xmm2,xmm0 -$L$oop_dec1_2:: +$L$oop_dec1_2:: DB 102,15,56,222,209 dec eax - movups xmm1,XMMWORD PTR[r8] - lea r8,QWORD PTR[16+r8] - jnz $L$oop_dec1_2 + movups xmm1,XMMWORD PTR[r8] + lea r8,QWORD PTR[16+r8] + jnz $L$oop_dec1_2 DB 102,15,56,223,209 pxor xmm0,xmm0 pxor xmm1,xmm1 - movups XMMWORD PTR[rdx],xmm2 + movups XMMWORD PTR[rdx],xmm2 pxor xmm2,xmm2 DB 0F3h,0C3h ;repret -aesni_decrypt ENDP +aesni_decrypt ENDP ALIGN 16 -_aesni_encrypt2 PROC PRIVATE +_aesni_encrypt2 PROC PRIVATE - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] shl eax,4 - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm1,XMMWORD PTR[16+rcx] xorps xmm2,xmm0 xorps xmm3,xmm0 - movups xmm0,XMMWORD PTR[32+rcx] - lea rcx,QWORD PTR[32+rax*1+rcx] + movups xmm0,XMMWORD PTR[32+rcx] + lea rcx,QWORD PTR[32+rax*1+rcx] neg rax add rax,16 -$L$enc_loop2:: +$L$enc_loop2:: DB 102,15,56,220,209 DB 102,15,56,220,217 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,220,208 DB 102,15,56,220,216 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$enc_loop2 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$enc_loop2 DB 102,15,56,220,209 DB 102,15,56,220,217 @@ -82,30 +82,30 @@ DB 102,15,56,221,208 DB 102,15,56,221,216 DB 0F3h,0C3h ;repret -_aesni_encrypt2 ENDP +_aesni_encrypt2 ENDP ALIGN 16 -_aesni_decrypt2 PROC PRIVATE +_aesni_decrypt2 PROC PRIVATE - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] shl eax,4 - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm1,XMMWORD PTR[16+rcx] xorps xmm2,xmm0 xorps xmm3,xmm0 - movups xmm0,XMMWORD PTR[32+rcx] - lea rcx,QWORD PTR[32+rax*1+rcx] + movups xmm0,XMMWORD PTR[32+rcx] + lea rcx,QWORD PTR[32+rax*1+rcx] neg rax add rax,16 -$L$dec_loop2:: +$L$dec_loop2:: DB 102,15,56,222,209 DB 102,15,56,222,217 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,222,208 DB 102,15,56,222,216 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$dec_loop2 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$dec_loop2 DB 102,15,56,222,209 DB 102,15,56,222,217 @@ -113,33 +113,33 @@ DB 102,15,56,223,208 DB 102,15,56,223,216 DB 0F3h,0C3h ;repret -_aesni_decrypt2 ENDP +_aesni_decrypt2 ENDP ALIGN 16 -_aesni_encrypt3 PROC PRIVATE +_aesni_encrypt3 PROC PRIVATE - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] shl eax,4 - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm1,XMMWORD PTR[16+rcx] xorps xmm2,xmm0 xorps xmm3,xmm0 xorps xmm4,xmm0 - movups xmm0,XMMWORD PTR[32+rcx] - lea rcx,QWORD PTR[32+rax*1+rcx] + movups xmm0,XMMWORD PTR[32+rcx] + lea rcx,QWORD PTR[32+rax*1+rcx] neg rax add rax,16 -$L$enc_loop3:: +$L$enc_loop3:: DB 102,15,56,220,209 DB 102,15,56,220,217 DB 102,15,56,220,225 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,220,208 DB 102,15,56,220,216 DB 102,15,56,220,224 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$enc_loop3 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$enc_loop3 DB 102,15,56,220,209 DB 102,15,56,220,217 @@ -149,33 +149,33 @@ DB 102,15,56,221,216 DB 102,15,56,221,224 DB 0F3h,0C3h ;repret -_aesni_encrypt3 ENDP +_aesni_encrypt3 ENDP ALIGN 16 -_aesni_decrypt3 PROC PRIVATE +_aesni_decrypt3 PROC PRIVATE - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] shl eax,4 - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm1,XMMWORD PTR[16+rcx] xorps xmm2,xmm0 xorps xmm3,xmm0 xorps xmm4,xmm0 - movups xmm0,XMMWORD PTR[32+rcx] - lea rcx,QWORD PTR[32+rax*1+rcx] + movups xmm0,XMMWORD PTR[32+rcx] + lea rcx,QWORD PTR[32+rax*1+rcx] neg rax add rax,16 -$L$dec_loop3:: +$L$dec_loop3:: DB 102,15,56,222,209 DB 102,15,56,222,217 DB 102,15,56,222,225 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,222,208 DB 102,15,56,222,216 DB 102,15,56,222,224 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$dec_loop3 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$dec_loop3 DB 102,15,56,222,209 DB 102,15,56,222,217 @@ -185,37 +185,37 @@ DB 102,15,56,223,216 DB 102,15,56,223,224 DB 0F3h,0C3h ;repret -_aesni_decrypt3 ENDP +_aesni_decrypt3 ENDP ALIGN 16 -_aesni_encrypt4 PROC PRIVATE +_aesni_encrypt4 PROC PRIVATE - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] shl eax,4 - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm1,XMMWORD PTR[16+rcx] xorps xmm2,xmm0 xorps xmm3,xmm0 xorps xmm4,xmm0 xorps xmm5,xmm0 - movups xmm0,XMMWORD PTR[32+rcx] - lea rcx,QWORD PTR[32+rax*1+rcx] + movups xmm0,XMMWORD PTR[32+rcx] + lea rcx,QWORD PTR[32+rax*1+rcx] neg rax -DB 00fh,01fh,000h +DB 00fh,01fh,000h add rax,16 -$L$enc_loop4:: +$L$enc_loop4:: DB 102,15,56,220,209 DB 102,15,56,220,217 DB 102,15,56,220,225 DB 102,15,56,220,233 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,220,208 DB 102,15,56,220,216 DB 102,15,56,220,224 DB 102,15,56,220,232 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$enc_loop4 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$enc_loop4 DB 102,15,56,220,209 DB 102,15,56,220,217 @@ -227,37 +227,37 @@ DB 102,15,56,221,224 DB 102,15,56,221,232 DB 0F3h,0C3h ;repret -_aesni_encrypt4 ENDP +_aesni_encrypt4 ENDP ALIGN 16 -_aesni_decrypt4 PROC PRIVATE +_aesni_decrypt4 PROC PRIVATE - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] shl eax,4 - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm1,XMMWORD PTR[16+rcx] xorps xmm2,xmm0 xorps xmm3,xmm0 xorps xmm4,xmm0 xorps xmm5,xmm0 - movups xmm0,XMMWORD PTR[32+rcx] - lea rcx,QWORD PTR[32+rax*1+rcx] + movups xmm0,XMMWORD PTR[32+rcx] + lea rcx,QWORD PTR[32+rax*1+rcx] neg rax -DB 00fh,01fh,000h +DB 00fh,01fh,000h add rax,16 -$L$dec_loop4:: +$L$dec_loop4:: DB 102,15,56,222,209 DB 102,15,56,222,217 DB 102,15,56,222,225 DB 102,15,56,222,233 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,222,208 DB 102,15,56,222,216 DB 102,15,56,222,224 DB 102,15,56,222,232 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$dec_loop4 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$dec_loop4 DB 102,15,56,222,209 DB 102,15,56,222,217 @@ -269,38 +269,38 @@ DB 102,15,56,223,224 DB 102,15,56,223,232 DB 0F3h,0C3h ;repret -_aesni_decrypt4 ENDP +_aesni_decrypt4 ENDP ALIGN 16 -_aesni_encrypt6 PROC PRIVATE +_aesni_encrypt6 PROC PRIVATE - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] shl eax,4 - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm1,XMMWORD PTR[16+rcx] xorps xmm2,xmm0 pxor xmm3,xmm0 pxor xmm4,xmm0 DB 102,15,56,220,209 - lea rcx,QWORD PTR[32+rax*1+rcx] + lea rcx,QWORD PTR[32+rax*1+rcx] neg rax DB 102,15,56,220,217 pxor xmm5,xmm0 pxor xmm6,xmm0 DB 102,15,56,220,225 pxor xmm7,xmm0 - movups xmm0,XMMWORD PTR[rax*1+rcx] + movups xmm0,XMMWORD PTR[rax*1+rcx] add rax,16 - jmp $L$enc_loop6_enter + jmp $L$enc_loop6_enter ALIGN 16 -$L$enc_loop6:: +$L$enc_loop6:: DB 102,15,56,220,209 DB 102,15,56,220,217 DB 102,15,56,220,225 -$L$enc_loop6_enter:: +$L$enc_loop6_enter:: DB 102,15,56,220,233 DB 102,15,56,220,241 DB 102,15,56,220,249 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,220,208 DB 102,15,56,220,216 @@ -308,8 +308,8 @@ DB 102,15,56,220,224 DB 102,15,56,220,232 DB 102,15,56,220,240 DB 102,15,56,220,248 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$enc_loop6 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$enc_loop6 DB 102,15,56,220,209 DB 102,15,56,220,217 @@ -325,38 +325,38 @@ DB 102,15,56,221,240 DB 102,15,56,221,248 DB 0F3h,0C3h ;repret -_aesni_encrypt6 ENDP +_aesni_encrypt6 ENDP ALIGN 16 -_aesni_decrypt6 PROC PRIVATE +_aesni_decrypt6 PROC PRIVATE - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] shl eax,4 - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm1,XMMWORD PTR[16+rcx] xorps xmm2,xmm0 pxor xmm3,xmm0 pxor xmm4,xmm0 DB 102,15,56,222,209 - lea rcx,QWORD PTR[32+rax*1+rcx] + lea rcx,QWORD PTR[32+rax*1+rcx] neg rax DB 102,15,56,222,217 pxor xmm5,xmm0 pxor xmm6,xmm0 DB 102,15,56,222,225 pxor xmm7,xmm0 - movups xmm0,XMMWORD PTR[rax*1+rcx] + movups xmm0,XMMWORD PTR[rax*1+rcx] add rax,16 - jmp $L$dec_loop6_enter + jmp $L$dec_loop6_enter ALIGN 16 -$L$dec_loop6:: +$L$dec_loop6:: DB 102,15,56,222,209 DB 102,15,56,222,217 DB 102,15,56,222,225 -$L$dec_loop6_enter:: +$L$dec_loop6_enter:: DB 102,15,56,222,233 DB 102,15,56,222,241 DB 102,15,56,222,249 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,222,208 DB 102,15,56,222,216 @@ -364,8 +364,8 @@ DB 102,15,56,222,224 DB 102,15,56,222,232 DB 102,15,56,222,240 DB 102,15,56,222,248 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$dec_loop6 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$dec_loop6 DB 102,15,56,222,209 DB 102,15,56,222,217 @@ -381,42 +381,42 @@ DB 102,15,56,223,240 DB 102,15,56,223,248 DB 0F3h,0C3h ;repret -_aesni_decrypt6 ENDP +_aesni_decrypt6 ENDP ALIGN 16 -_aesni_encrypt8 PROC PRIVATE +_aesni_encrypt8 PROC PRIVATE - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] shl eax,4 - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm1,XMMWORD PTR[16+rcx] xorps xmm2,xmm0 xorps xmm3,xmm0 pxor xmm4,xmm0 pxor xmm5,xmm0 pxor xmm6,xmm0 - lea rcx,QWORD PTR[32+rax*1+rcx] + lea rcx,QWORD PTR[32+rax*1+rcx] neg rax DB 102,15,56,220,209 pxor xmm7,xmm0 pxor xmm8,xmm0 DB 102,15,56,220,217 pxor xmm9,xmm0 - movups xmm0,XMMWORD PTR[rax*1+rcx] + movups xmm0,XMMWORD PTR[rax*1+rcx] add rax,16 - jmp $L$enc_loop8_inner + jmp $L$enc_loop8_inner ALIGN 16 -$L$enc_loop8:: +$L$enc_loop8:: DB 102,15,56,220,209 DB 102,15,56,220,217 -$L$enc_loop8_inner:: +$L$enc_loop8_inner:: DB 102,15,56,220,225 DB 102,15,56,220,233 DB 102,15,56,220,241 DB 102,15,56,220,249 DB 102,68,15,56,220,193 DB 102,68,15,56,220,201 -$L$enc_loop8_enter:: - movups xmm1,XMMWORD PTR[rax*1+rcx] +$L$enc_loop8_enter:: + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,220,208 DB 102,15,56,220,216 @@ -426,8 +426,8 @@ DB 102,15,56,220,240 DB 102,15,56,220,248 DB 102,68,15,56,220,192 DB 102,68,15,56,220,200 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$enc_loop8 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$enc_loop8 DB 102,15,56,220,209 DB 102,15,56,220,217 @@ -447,42 +447,42 @@ DB 102,68,15,56,221,192 DB 102,68,15,56,221,200 DB 0F3h,0C3h ;repret -_aesni_encrypt8 ENDP +_aesni_encrypt8 ENDP ALIGN 16 -_aesni_decrypt8 PROC PRIVATE +_aesni_decrypt8 PROC PRIVATE - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] shl eax,4 - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm1,XMMWORD PTR[16+rcx] xorps xmm2,xmm0 xorps xmm3,xmm0 pxor xmm4,xmm0 pxor xmm5,xmm0 pxor xmm6,xmm0 - lea rcx,QWORD PTR[32+rax*1+rcx] + lea rcx,QWORD PTR[32+rax*1+rcx] neg rax DB 102,15,56,222,209 pxor xmm7,xmm0 pxor xmm8,xmm0 DB 102,15,56,222,217 pxor xmm9,xmm0 - movups xmm0,XMMWORD PTR[rax*1+rcx] + movups xmm0,XMMWORD PTR[rax*1+rcx] add rax,16 - jmp $L$dec_loop8_inner + jmp $L$dec_loop8_inner ALIGN 16 -$L$dec_loop8:: +$L$dec_loop8:: DB 102,15,56,222,209 DB 102,15,56,222,217 -$L$dec_loop8_inner:: +$L$dec_loop8_inner:: DB 102,15,56,222,225 DB 102,15,56,222,233 DB 102,15,56,222,241 DB 102,15,56,222,249 DB 102,68,15,56,222,193 DB 102,68,15,56,222,201 -$L$dec_loop8_enter:: - movups xmm1,XMMWORD PTR[rax*1+rcx] +$L$dec_loop8_enter:: + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,222,208 DB 102,15,56,222,216 @@ -492,8 +492,8 @@ DB 102,15,56,222,240 DB 102,15,56,222,248 DB 102,68,15,56,222,192 DB 102,68,15,56,222,200 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$dec_loop8 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$dec_loop8 DB 102,15,56,222,209 DB 102,15,56,222,217 @@ -513,439 +513,439 @@ DB 102,68,15,56,223,192 DB 102,68,15,56,223,200 DB 0F3h,0C3h ;repret -_aesni_decrypt8 ENDP -PUBLIC aesni_ecb_encrypt +_aesni_decrypt8 ENDP +PUBLIC aesni_ecb_encrypt ALIGN 16 -aesni_ecb_encrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_ecb_encrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_ecb_encrypt:: +$L$SEH_begin_aesni_ecb_encrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] + mov r8,QWORD PTR[40+rsp] - lea rsp,QWORD PTR[((-88))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 -$L$ecb_enc_body:: + lea rsp,QWORD PTR[((-88))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 +$L$ecb_enc_body:: and rdx,-16 - jz $L$ecb_ret + jz $L$ecb_ret - mov eax,DWORD PTR[240+rcx] - movups xmm0,XMMWORD PTR[rcx] + mov eax,DWORD PTR[240+rcx] + movups xmm0,XMMWORD PTR[rcx] mov r11,rcx mov r10d,eax test r8d,r8d - jz $L$ecb_decrypt - - cmp rdx,080h - jb $L$ecb_enc_tail - - movdqu xmm2,XMMWORD PTR[rdi] - movdqu xmm3,XMMWORD PTR[16+rdi] - movdqu xmm4,XMMWORD PTR[32+rdi] - movdqu xmm5,XMMWORD PTR[48+rdi] - movdqu xmm6,XMMWORD PTR[64+rdi] - movdqu xmm7,XMMWORD PTR[80+rdi] - movdqu xmm8,XMMWORD PTR[96+rdi] - movdqu xmm9,XMMWORD PTR[112+rdi] - lea rdi,QWORD PTR[128+rdi] - sub rdx,080h - jmp $L$ecb_enc_loop8_enter + jz $L$ecb_decrypt + + cmp rdx,080h + jb $L$ecb_enc_tail + + movdqu xmm2,XMMWORD PTR[rdi] + movdqu xmm3,XMMWORD PTR[16+rdi] + movdqu xmm4,XMMWORD PTR[32+rdi] + movdqu xmm5,XMMWORD PTR[48+rdi] + movdqu xmm6,XMMWORD PTR[64+rdi] + movdqu xmm7,XMMWORD PTR[80+rdi] + movdqu xmm8,XMMWORD PTR[96+rdi] + movdqu xmm9,XMMWORD PTR[112+rdi] + lea rdi,QWORD PTR[128+rdi] + sub rdx,080h + jmp $L$ecb_enc_loop8_enter ALIGN 16 -$L$ecb_enc_loop8:: - movups XMMWORD PTR[rsi],xmm2 +$L$ecb_enc_loop8:: + movups XMMWORD PTR[rsi],xmm2 mov rcx,r11 - movdqu xmm2,XMMWORD PTR[rdi] + movdqu xmm2,XMMWORD PTR[rdi] mov eax,r10d - movups XMMWORD PTR[16+rsi],xmm3 - movdqu xmm3,XMMWORD PTR[16+rdi] - movups XMMWORD PTR[32+rsi],xmm4 - movdqu xmm4,XMMWORD PTR[32+rdi] - movups XMMWORD PTR[48+rsi],xmm5 - movdqu xmm5,XMMWORD PTR[48+rdi] - movups XMMWORD PTR[64+rsi],xmm6 - movdqu xmm6,XMMWORD PTR[64+rdi] - movups XMMWORD PTR[80+rsi],xmm7 - movdqu xmm7,XMMWORD PTR[80+rdi] - movups XMMWORD PTR[96+rsi],xmm8 - movdqu xmm8,XMMWORD PTR[96+rdi] - movups XMMWORD PTR[112+rsi],xmm9 - lea rsi,QWORD PTR[128+rsi] - movdqu xmm9,XMMWORD PTR[112+rdi] - lea rdi,QWORD PTR[128+rdi] -$L$ecb_enc_loop8_enter:: + movups XMMWORD PTR[16+rsi],xmm3 + movdqu xmm3,XMMWORD PTR[16+rdi] + movups XMMWORD PTR[32+rsi],xmm4 + movdqu xmm4,XMMWORD PTR[32+rdi] + movups XMMWORD PTR[48+rsi],xmm5 + movdqu xmm5,XMMWORD PTR[48+rdi] + movups XMMWORD PTR[64+rsi],xmm6 + movdqu xmm6,XMMWORD PTR[64+rdi] + movups XMMWORD PTR[80+rsi],xmm7 + movdqu xmm7,XMMWORD PTR[80+rdi] + movups XMMWORD PTR[96+rsi],xmm8 + movdqu xmm8,XMMWORD PTR[96+rdi] + movups XMMWORD PTR[112+rsi],xmm9 + lea rsi,QWORD PTR[128+rsi] + movdqu xmm9,XMMWORD PTR[112+rdi] + lea rdi,QWORD PTR[128+rdi] +$L$ecb_enc_loop8_enter:: call _aesni_encrypt8 - sub rdx,080h - jnc $L$ecb_enc_loop8 + sub rdx,080h + jnc $L$ecb_enc_loop8 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 mov rcx,r11 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 mov eax,r10d - movups XMMWORD PTR[32+rsi],xmm4 - movups XMMWORD PTR[48+rsi],xmm5 - movups XMMWORD PTR[64+rsi],xmm6 - movups XMMWORD PTR[80+rsi],xmm7 - movups XMMWORD PTR[96+rsi],xmm8 - movups XMMWORD PTR[112+rsi],xmm9 - lea rsi,QWORD PTR[128+rsi] - add rdx,080h - jz $L$ecb_ret - -$L$ecb_enc_tail:: - movups xmm2,XMMWORD PTR[rdi] - cmp rdx,020h - jb $L$ecb_enc_one - movups xmm3,XMMWORD PTR[16+rdi] - je $L$ecb_enc_two - movups xmm4,XMMWORD PTR[32+rdi] - cmp rdx,040h - jb $L$ecb_enc_three - movups xmm5,XMMWORD PTR[48+rdi] - je $L$ecb_enc_four - movups xmm6,XMMWORD PTR[64+rdi] - cmp rdx,060h - jb $L$ecb_enc_five - movups xmm7,XMMWORD PTR[80+rdi] - je $L$ecb_enc_six - movdqu xmm8,XMMWORD PTR[96+rdi] + movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[64+rsi],xmm6 + movups XMMWORD PTR[80+rsi],xmm7 + movups XMMWORD PTR[96+rsi],xmm8 + movups XMMWORD PTR[112+rsi],xmm9 + lea rsi,QWORD PTR[128+rsi] + add rdx,080h + jz $L$ecb_ret + +$L$ecb_enc_tail:: + movups xmm2,XMMWORD PTR[rdi] + cmp rdx,020h + jb $L$ecb_enc_one + movups xmm3,XMMWORD PTR[16+rdi] + je $L$ecb_enc_two + movups xmm4,XMMWORD PTR[32+rdi] + cmp rdx,040h + jb $L$ecb_enc_three + movups xmm5,XMMWORD PTR[48+rdi] + je $L$ecb_enc_four + movups xmm6,XMMWORD PTR[64+rdi] + cmp rdx,060h + jb $L$ecb_enc_five + movups xmm7,XMMWORD PTR[80+rdi] + je $L$ecb_enc_six + movdqu xmm8,XMMWORD PTR[96+rdi] xorps xmm9,xmm9 call _aesni_encrypt8 - movups XMMWORD PTR[rsi],xmm2 - movups XMMWORD PTR[16+rsi],xmm3 - movups XMMWORD PTR[32+rsi],xmm4 - movups XMMWORD PTR[48+rsi],xmm5 - movups XMMWORD PTR[64+rsi],xmm6 - movups XMMWORD PTR[80+rsi],xmm7 - movups XMMWORD PTR[96+rsi],xmm8 - jmp $L$ecb_ret + movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[64+rsi],xmm6 + movups XMMWORD PTR[80+rsi],xmm7 + movups XMMWORD PTR[96+rsi],xmm8 + jmp $L$ecb_ret ALIGN 16 -$L$ecb_enc_one:: - movups xmm0,XMMWORD PTR[rcx] - movups xmm1,XMMWORD PTR[16+rcx] - lea rcx,QWORD PTR[32+rcx] +$L$ecb_enc_one:: + movups xmm0,XMMWORD PTR[rcx] + movups xmm1,XMMWORD PTR[16+rcx] + lea rcx,QWORD PTR[32+rcx] xorps xmm2,xmm0 -$L$oop_enc1_3:: +$L$oop_enc1_3:: DB 102,15,56,220,209 dec eax - movups xmm1,XMMWORD PTR[rcx] - lea rcx,QWORD PTR[16+rcx] - jnz $L$oop_enc1_3 + movups xmm1,XMMWORD PTR[rcx] + lea rcx,QWORD PTR[16+rcx] + jnz $L$oop_enc1_3 DB 102,15,56,221,209 - movups XMMWORD PTR[rsi],xmm2 - jmp $L$ecb_ret + movups XMMWORD PTR[rsi],xmm2 + jmp $L$ecb_ret ALIGN 16 -$L$ecb_enc_two:: +$L$ecb_enc_two:: call _aesni_encrypt2 - movups XMMWORD PTR[rsi],xmm2 - movups XMMWORD PTR[16+rsi],xmm3 - jmp $L$ecb_ret + movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[16+rsi],xmm3 + jmp $L$ecb_ret ALIGN 16 -$L$ecb_enc_three:: +$L$ecb_enc_three:: call _aesni_encrypt3 - movups XMMWORD PTR[rsi],xmm2 - movups XMMWORD PTR[16+rsi],xmm3 - movups XMMWORD PTR[32+rsi],xmm4 - jmp $L$ecb_ret + movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[32+rsi],xmm4 + jmp $L$ecb_ret ALIGN 16 -$L$ecb_enc_four:: +$L$ecb_enc_four:: call _aesni_encrypt4 - movups XMMWORD PTR[rsi],xmm2 - movups XMMWORD PTR[16+rsi],xmm3 - movups XMMWORD PTR[32+rsi],xmm4 - movups XMMWORD PTR[48+rsi],xmm5 - jmp $L$ecb_ret + movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[48+rsi],xmm5 + jmp $L$ecb_ret ALIGN 16 -$L$ecb_enc_five:: +$L$ecb_enc_five:: xorps xmm7,xmm7 call _aesni_encrypt6 - movups XMMWORD PTR[rsi],xmm2 - movups XMMWORD PTR[16+rsi],xmm3 - movups XMMWORD PTR[32+rsi],xmm4 - movups XMMWORD PTR[48+rsi],xmm5 - movups XMMWORD PTR[64+rsi],xmm6 - jmp $L$ecb_ret + movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[64+rsi],xmm6 + jmp $L$ecb_ret ALIGN 16 -$L$ecb_enc_six:: +$L$ecb_enc_six:: call _aesni_encrypt6 - movups XMMWORD PTR[rsi],xmm2 - movups XMMWORD PTR[16+rsi],xmm3 - movups XMMWORD PTR[32+rsi],xmm4 - movups XMMWORD PTR[48+rsi],xmm5 - movups XMMWORD PTR[64+rsi],xmm6 - movups XMMWORD PTR[80+rsi],xmm7 - jmp $L$ecb_ret + movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[64+rsi],xmm6 + movups XMMWORD PTR[80+rsi],xmm7 + jmp $L$ecb_ret ALIGN 16 -$L$ecb_decrypt:: - cmp rdx,080h - jb $L$ecb_dec_tail - - movdqu xmm2,XMMWORD PTR[rdi] - movdqu xmm3,XMMWORD PTR[16+rdi] - movdqu xmm4,XMMWORD PTR[32+rdi] - movdqu xmm5,XMMWORD PTR[48+rdi] - movdqu xmm6,XMMWORD PTR[64+rdi] - movdqu xmm7,XMMWORD PTR[80+rdi] - movdqu xmm8,XMMWORD PTR[96+rdi] - movdqu xmm9,XMMWORD PTR[112+rdi] - lea rdi,QWORD PTR[128+rdi] - sub rdx,080h - jmp $L$ecb_dec_loop8_enter +$L$ecb_decrypt:: + cmp rdx,080h + jb $L$ecb_dec_tail + + movdqu xmm2,XMMWORD PTR[rdi] + movdqu xmm3,XMMWORD PTR[16+rdi] + movdqu xmm4,XMMWORD PTR[32+rdi] + movdqu xmm5,XMMWORD PTR[48+rdi] + movdqu xmm6,XMMWORD PTR[64+rdi] + movdqu xmm7,XMMWORD PTR[80+rdi] + movdqu xmm8,XMMWORD PTR[96+rdi] + movdqu xmm9,XMMWORD PTR[112+rdi] + lea rdi,QWORD PTR[128+rdi] + sub rdx,080h + jmp $L$ecb_dec_loop8_enter ALIGN 16 -$L$ecb_dec_loop8:: - movups XMMWORD PTR[rsi],xmm2 +$L$ecb_dec_loop8:: + movups XMMWORD PTR[rsi],xmm2 mov rcx,r11 - movdqu xmm2,XMMWORD PTR[rdi] + movdqu xmm2,XMMWORD PTR[rdi] mov eax,r10d - movups XMMWORD PTR[16+rsi],xmm3 - movdqu xmm3,XMMWORD PTR[16+rdi] - movups XMMWORD PTR[32+rsi],xmm4 - movdqu xmm4,XMMWORD PTR[32+rdi] - movups XMMWORD PTR[48+rsi],xmm5 - movdqu xmm5,XMMWORD PTR[48+rdi] - movups XMMWORD PTR[64+rsi],xmm6 - movdqu xmm6,XMMWORD PTR[64+rdi] - movups XMMWORD PTR[80+rsi],xmm7 - movdqu xmm7,XMMWORD PTR[80+rdi] - movups XMMWORD PTR[96+rsi],xmm8 - movdqu xmm8,XMMWORD PTR[96+rdi] - movups XMMWORD PTR[112+rsi],xmm9 - lea rsi,QWORD PTR[128+rsi] - movdqu xmm9,XMMWORD PTR[112+rdi] - lea rdi,QWORD PTR[128+rdi] -$L$ecb_dec_loop8_enter:: + movups XMMWORD PTR[16+rsi],xmm3 + movdqu xmm3,XMMWORD PTR[16+rdi] + movups XMMWORD PTR[32+rsi],xmm4 + movdqu xmm4,XMMWORD PTR[32+rdi] + movups XMMWORD PTR[48+rsi],xmm5 + movdqu xmm5,XMMWORD PTR[48+rdi] + movups XMMWORD PTR[64+rsi],xmm6 + movdqu xmm6,XMMWORD PTR[64+rdi] + movups XMMWORD PTR[80+rsi],xmm7 + movdqu xmm7,XMMWORD PTR[80+rdi] + movups XMMWORD PTR[96+rsi],xmm8 + movdqu xmm8,XMMWORD PTR[96+rdi] + movups XMMWORD PTR[112+rsi],xmm9 + lea rsi,QWORD PTR[128+rsi] + movdqu xmm9,XMMWORD PTR[112+rdi] + lea rdi,QWORD PTR[128+rdi] +$L$ecb_dec_loop8_enter:: call _aesni_decrypt8 - movups xmm0,XMMWORD PTR[r11] - sub rdx,080h - jnc $L$ecb_dec_loop8 + movups xmm0,XMMWORD PTR[r11] + sub rdx,080h + jnc $L$ecb_dec_loop8 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 pxor xmm2,xmm2 mov rcx,r11 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 pxor xmm3,xmm3 mov eax,r10d - movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[32+rsi],xmm4 pxor xmm4,xmm4 - movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[48+rsi],xmm5 pxor xmm5,xmm5 - movups XMMWORD PTR[64+rsi],xmm6 + movups XMMWORD PTR[64+rsi],xmm6 pxor xmm6,xmm6 - movups XMMWORD PTR[80+rsi],xmm7 + movups XMMWORD PTR[80+rsi],xmm7 pxor xmm7,xmm7 - movups XMMWORD PTR[96+rsi],xmm8 + movups XMMWORD PTR[96+rsi],xmm8 pxor xmm8,xmm8 - movups XMMWORD PTR[112+rsi],xmm9 + movups XMMWORD PTR[112+rsi],xmm9 pxor xmm9,xmm9 - lea rsi,QWORD PTR[128+rsi] - add rdx,080h - jz $L$ecb_ret - -$L$ecb_dec_tail:: - movups xmm2,XMMWORD PTR[rdi] - cmp rdx,020h - jb $L$ecb_dec_one - movups xmm3,XMMWORD PTR[16+rdi] - je $L$ecb_dec_two - movups xmm4,XMMWORD PTR[32+rdi] - cmp rdx,040h - jb $L$ecb_dec_three - movups xmm5,XMMWORD PTR[48+rdi] - je $L$ecb_dec_four - movups xmm6,XMMWORD PTR[64+rdi] - cmp rdx,060h - jb $L$ecb_dec_five - movups xmm7,XMMWORD PTR[80+rdi] - je $L$ecb_dec_six - movups xmm8,XMMWORD PTR[96+rdi] - movups xmm0,XMMWORD PTR[rcx] + lea rsi,QWORD PTR[128+rsi] + add rdx,080h + jz $L$ecb_ret + +$L$ecb_dec_tail:: + movups xmm2,XMMWORD PTR[rdi] + cmp rdx,020h + jb $L$ecb_dec_one + movups xmm3,XMMWORD PTR[16+rdi] + je $L$ecb_dec_two + movups xmm4,XMMWORD PTR[32+rdi] + cmp rdx,040h + jb $L$ecb_dec_three + movups xmm5,XMMWORD PTR[48+rdi] + je $L$ecb_dec_four + movups xmm6,XMMWORD PTR[64+rdi] + cmp rdx,060h + jb $L$ecb_dec_five + movups xmm7,XMMWORD PTR[80+rdi] + je $L$ecb_dec_six + movups xmm8,XMMWORD PTR[96+rdi] + movups xmm0,XMMWORD PTR[rcx] xorps xmm9,xmm9 call _aesni_decrypt8 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 pxor xmm2,xmm2 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 pxor xmm3,xmm3 - movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[32+rsi],xmm4 pxor xmm4,xmm4 - movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[48+rsi],xmm5 pxor xmm5,xmm5 - movups XMMWORD PTR[64+rsi],xmm6 + movups XMMWORD PTR[64+rsi],xmm6 pxor xmm6,xmm6 - movups XMMWORD PTR[80+rsi],xmm7 + movups XMMWORD PTR[80+rsi],xmm7 pxor xmm7,xmm7 - movups XMMWORD PTR[96+rsi],xmm8 + movups XMMWORD PTR[96+rsi],xmm8 pxor xmm8,xmm8 pxor xmm9,xmm9 - jmp $L$ecb_ret + jmp $L$ecb_ret ALIGN 16 -$L$ecb_dec_one:: - movups xmm0,XMMWORD PTR[rcx] - movups xmm1,XMMWORD PTR[16+rcx] - lea rcx,QWORD PTR[32+rcx] +$L$ecb_dec_one:: + movups xmm0,XMMWORD PTR[rcx] + movups xmm1,XMMWORD PTR[16+rcx] + lea rcx,QWORD PTR[32+rcx] xorps xmm2,xmm0 -$L$oop_dec1_4:: +$L$oop_dec1_4:: DB 102,15,56,222,209 dec eax - movups xmm1,XMMWORD PTR[rcx] - lea rcx,QWORD PTR[16+rcx] - jnz $L$oop_dec1_4 + movups xmm1,XMMWORD PTR[rcx] + lea rcx,QWORD PTR[16+rcx] + jnz $L$oop_dec1_4 DB 102,15,56,223,209 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 pxor xmm2,xmm2 - jmp $L$ecb_ret + jmp $L$ecb_ret ALIGN 16 -$L$ecb_dec_two:: +$L$ecb_dec_two:: call _aesni_decrypt2 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 pxor xmm2,xmm2 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 pxor xmm3,xmm3 - jmp $L$ecb_ret + jmp $L$ecb_ret ALIGN 16 -$L$ecb_dec_three:: +$L$ecb_dec_three:: call _aesni_decrypt3 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 pxor xmm2,xmm2 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 pxor xmm3,xmm3 - movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[32+rsi],xmm4 pxor xmm4,xmm4 - jmp $L$ecb_ret + jmp $L$ecb_ret ALIGN 16 -$L$ecb_dec_four:: +$L$ecb_dec_four:: call _aesni_decrypt4 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 pxor xmm2,xmm2 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 pxor xmm3,xmm3 - movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[32+rsi],xmm4 pxor xmm4,xmm4 - movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[48+rsi],xmm5 pxor xmm5,xmm5 - jmp $L$ecb_ret + jmp $L$ecb_ret ALIGN 16 -$L$ecb_dec_five:: +$L$ecb_dec_five:: xorps xmm7,xmm7 call _aesni_decrypt6 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 pxor xmm2,xmm2 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 pxor xmm3,xmm3 - movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[32+rsi],xmm4 pxor xmm4,xmm4 - movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[48+rsi],xmm5 pxor xmm5,xmm5 - movups XMMWORD PTR[64+rsi],xmm6 + movups XMMWORD PTR[64+rsi],xmm6 pxor xmm6,xmm6 pxor xmm7,xmm7 - jmp $L$ecb_ret + jmp $L$ecb_ret ALIGN 16 -$L$ecb_dec_six:: +$L$ecb_dec_six:: call _aesni_decrypt6 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 pxor xmm2,xmm2 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 pxor xmm3,xmm3 - movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[32+rsi],xmm4 pxor xmm4,xmm4 - movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[48+rsi],xmm5 pxor xmm5,xmm5 - movups XMMWORD PTR[64+rsi],xmm6 + movups XMMWORD PTR[64+rsi],xmm6 pxor xmm6,xmm6 - movups XMMWORD PTR[80+rsi],xmm7 + movups XMMWORD PTR[80+rsi],xmm7 pxor xmm7,xmm7 -$L$ecb_ret:: +$L$ecb_ret:: xorps xmm0,xmm0 pxor xmm1,xmm1 - movaps xmm6,XMMWORD PTR[rsp] - movaps XMMWORD PTR[rsp],xmm0 - movaps xmm7,XMMWORD PTR[16+rsp] - movaps XMMWORD PTR[16+rsp],xmm0 - movaps xmm8,XMMWORD PTR[32+rsp] - movaps XMMWORD PTR[32+rsp],xmm0 - movaps xmm9,XMMWORD PTR[48+rsp] - movaps XMMWORD PTR[48+rsp],xmm0 - lea rsp,QWORD PTR[88+rsp] -$L$ecb_enc_ret:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movaps xmm6,XMMWORD PTR[rsp] + movaps XMMWORD PTR[rsp],xmm0 + movaps xmm7,XMMWORD PTR[16+rsp] + movaps XMMWORD PTR[16+rsp],xmm0 + movaps xmm8,XMMWORD PTR[32+rsp] + movaps XMMWORD PTR[32+rsp],xmm0 + movaps xmm9,XMMWORD PTR[48+rsp] + movaps XMMWORD PTR[48+rsp],xmm0 + lea rsp,QWORD PTR[88+rsp] +$L$ecb_enc_ret:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_ecb_encrypt:: -aesni_ecb_encrypt ENDP -PUBLIC aesni_ccm64_encrypt_blocks +$L$SEH_end_aesni_ecb_encrypt:: +aesni_ecb_encrypt ENDP +PUBLIC aesni_ccm64_encrypt_blocks ALIGN 16 -aesni_ccm64_encrypt_blocks PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_ccm64_encrypt_blocks PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_ccm64_encrypt_blocks:: +$L$SEH_begin_aesni_ccm64_encrypt_blocks:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] - - - - lea rsp,QWORD PTR[((-88))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 -$L$ccm64_enc_body:: - mov eax,DWORD PTR[240+rcx] - movdqu xmm6,XMMWORD PTR[r8] - movdqa xmm9,XMMWORD PTR[$L$increment64] - movdqa xmm7,XMMWORD PTR[$L$bswap_mask] - + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] + + + + lea rsp,QWORD PTR[((-88))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 +$L$ccm64_enc_body:: + mov eax,DWORD PTR[240+rcx] + movdqu xmm6,XMMWORD PTR[r8] + movdqa xmm9,XMMWORD PTR[$L$increment64] + movdqa xmm7,XMMWORD PTR[$L$bswap_mask] + shl eax,4 mov r10d,16 - lea r11,QWORD PTR[rcx] - movdqu xmm3,XMMWORD PTR[r9] + lea r11,QWORD PTR[rcx] + movdqu xmm3,XMMWORD PTR[r9] movdqa xmm2,xmm6 - lea rcx,QWORD PTR[32+rax*1+rcx] + lea rcx,QWORD PTR[32+rax*1+rcx] DB 102,15,56,0,247 sub r10,rax - jmp $L$ccm64_enc_outer + jmp $L$ccm64_enc_outer ALIGN 16 -$L$ccm64_enc_outer:: - movups xmm0,XMMWORD PTR[r11] +$L$ccm64_enc_outer:: + movups xmm0,XMMWORD PTR[r11] mov rax,r10 - movups xmm8,XMMWORD PTR[rdi] + movups xmm8,XMMWORD PTR[rdi] xorps xmm2,xmm0 - movups xmm1,XMMWORD PTR[16+r11] + movups xmm1,XMMWORD PTR[16+r11] xorps xmm0,xmm8 xorps xmm3,xmm0 - movups xmm0,XMMWORD PTR[32+r11] + movups xmm0,XMMWORD PTR[32+r11] -$L$ccm64_enc2_loop:: +$L$ccm64_enc2_loop:: DB 102,15,56,220,209 DB 102,15,56,220,217 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,220,208 DB 102,15,56,220,216 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$ccm64_enc2_loop + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$ccm64_enc2_loop DB 102,15,56,220,209 DB 102,15,56,220,217 paddq xmm6,xmm9 @@ -953,512 +953,512 @@ DB 102,15,56,220,217 DB 102,15,56,221,208 DB 102,15,56,221,216 - lea rdi,QWORD PTR[16+rdi] + lea rdi,QWORD PTR[16+rdi] xorps xmm8,xmm2 movdqa xmm2,xmm6 - movups XMMWORD PTR[rsi],xmm8 + movups XMMWORD PTR[rsi],xmm8 DB 102,15,56,0,215 - lea rsi,QWORD PTR[16+rsi] - jnz $L$ccm64_enc_outer + lea rsi,QWORD PTR[16+rsi] + jnz $L$ccm64_enc_outer pxor xmm0,xmm0 pxor xmm1,xmm1 pxor xmm2,xmm2 - movups XMMWORD PTR[r9],xmm3 + movups XMMWORD PTR[r9],xmm3 pxor xmm3,xmm3 pxor xmm8,xmm8 pxor xmm6,xmm6 - movaps xmm6,XMMWORD PTR[rsp] - movaps XMMWORD PTR[rsp],xmm0 - movaps xmm7,XMMWORD PTR[16+rsp] - movaps XMMWORD PTR[16+rsp],xmm0 - movaps xmm8,XMMWORD PTR[32+rsp] - movaps XMMWORD PTR[32+rsp],xmm0 - movaps xmm9,XMMWORD PTR[48+rsp] - movaps XMMWORD PTR[48+rsp],xmm0 - lea rsp,QWORD PTR[88+rsp] -$L$ccm64_enc_ret:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movaps xmm6,XMMWORD PTR[rsp] + movaps XMMWORD PTR[rsp],xmm0 + movaps xmm7,XMMWORD PTR[16+rsp] + movaps XMMWORD PTR[16+rsp],xmm0 + movaps xmm8,XMMWORD PTR[32+rsp] + movaps XMMWORD PTR[32+rsp],xmm0 + movaps xmm9,XMMWORD PTR[48+rsp] + movaps XMMWORD PTR[48+rsp],xmm0 + lea rsp,QWORD PTR[88+rsp] +$L$ccm64_enc_ret:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_ccm64_encrypt_blocks:: -aesni_ccm64_encrypt_blocks ENDP -PUBLIC aesni_ccm64_decrypt_blocks - +$L$SEH_end_aesni_ccm64_encrypt_blocks:: +aesni_ccm64_encrypt_blocks ENDP +PUBLIC aesni_ccm64_decrypt_blocks + ALIGN 16 -aesni_ccm64_decrypt_blocks PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_ccm64_decrypt_blocks PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_ccm64_decrypt_blocks:: +$L$SEH_begin_aesni_ccm64_decrypt_blocks:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] - - - - lea rsp,QWORD PTR[((-88))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 -$L$ccm64_dec_body:: - mov eax,DWORD PTR[240+rcx] - movups xmm6,XMMWORD PTR[r8] - movdqu xmm3,XMMWORD PTR[r9] - movdqa xmm9,XMMWORD PTR[$L$increment64] - movdqa xmm7,XMMWORD PTR[$L$bswap_mask] - + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] + + + + lea rsp,QWORD PTR[((-88))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 +$L$ccm64_dec_body:: + mov eax,DWORD PTR[240+rcx] + movups xmm6,XMMWORD PTR[r8] + movdqu xmm3,XMMWORD PTR[r9] + movdqa xmm9,XMMWORD PTR[$L$increment64] + movdqa xmm7,XMMWORD PTR[$L$bswap_mask] + movaps xmm2,xmm6 mov r10d,eax mov r11,rcx DB 102,15,56,0,247 - movups xmm0,XMMWORD PTR[rcx] - movups xmm1,XMMWORD PTR[16+rcx] - lea rcx,QWORD PTR[32+rcx] + movups xmm0,XMMWORD PTR[rcx] + movups xmm1,XMMWORD PTR[16+rcx] + lea rcx,QWORD PTR[32+rcx] xorps xmm2,xmm0 -$L$oop_enc1_5:: +$L$oop_enc1_5:: DB 102,15,56,220,209 dec eax - movups xmm1,XMMWORD PTR[rcx] - lea rcx,QWORD PTR[16+rcx] - jnz $L$oop_enc1_5 + movups xmm1,XMMWORD PTR[rcx] + lea rcx,QWORD PTR[16+rcx] + jnz $L$oop_enc1_5 DB 102,15,56,221,209 shl r10d,4 mov eax,16 - movups xmm8,XMMWORD PTR[rdi] + movups xmm8,XMMWORD PTR[rdi] paddq xmm6,xmm9 - lea rdi,QWORD PTR[16+rdi] + lea rdi,QWORD PTR[16+rdi] sub rax,r10 - lea rcx,QWORD PTR[32+r10*1+r11] + lea rcx,QWORD PTR[32+r10*1+r11] mov r10,rax - jmp $L$ccm64_dec_outer + jmp $L$ccm64_dec_outer ALIGN 16 -$L$ccm64_dec_outer:: +$L$ccm64_dec_outer:: xorps xmm8,xmm2 movdqa xmm2,xmm6 - movups XMMWORD PTR[rsi],xmm8 - lea rsi,QWORD PTR[16+rsi] + movups XMMWORD PTR[rsi],xmm8 + lea rsi,QWORD PTR[16+rsi] DB 102,15,56,0,215 sub rdx,1 - jz $L$ccm64_dec_break + jz $L$ccm64_dec_break - movups xmm0,XMMWORD PTR[r11] + movups xmm0,XMMWORD PTR[r11] mov rax,r10 - movups xmm1,XMMWORD PTR[16+r11] + movups xmm1,XMMWORD PTR[16+r11] xorps xmm8,xmm0 xorps xmm2,xmm0 xorps xmm3,xmm8 - movups xmm0,XMMWORD PTR[32+r11] - jmp $L$ccm64_dec2_loop + movups xmm0,XMMWORD PTR[32+r11] + jmp $L$ccm64_dec2_loop ALIGN 16 -$L$ccm64_dec2_loop:: +$L$ccm64_dec2_loop:: DB 102,15,56,220,209 DB 102,15,56,220,217 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,220,208 DB 102,15,56,220,216 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$ccm64_dec2_loop - movups xmm8,XMMWORD PTR[rdi] + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$ccm64_dec2_loop + movups xmm8,XMMWORD PTR[rdi] paddq xmm6,xmm9 DB 102,15,56,220,209 DB 102,15,56,220,217 DB 102,15,56,221,208 DB 102,15,56,221,216 - lea rdi,QWORD PTR[16+rdi] - jmp $L$ccm64_dec_outer + lea rdi,QWORD PTR[16+rdi] + jmp $L$ccm64_dec_outer ALIGN 16 -$L$ccm64_dec_break:: +$L$ccm64_dec_break:: - mov eax,DWORD PTR[240+r11] - movups xmm0,XMMWORD PTR[r11] - movups xmm1,XMMWORD PTR[16+r11] + mov eax,DWORD PTR[240+r11] + movups xmm0,XMMWORD PTR[r11] + movups xmm1,XMMWORD PTR[16+r11] xorps xmm8,xmm0 - lea r11,QWORD PTR[32+r11] + lea r11,QWORD PTR[32+r11] xorps xmm3,xmm8 -$L$oop_enc1_6:: +$L$oop_enc1_6:: DB 102,15,56,220,217 dec eax - movups xmm1,XMMWORD PTR[r11] - lea r11,QWORD PTR[16+r11] - jnz $L$oop_enc1_6 + movups xmm1,XMMWORD PTR[r11] + lea r11,QWORD PTR[16+r11] + jnz $L$oop_enc1_6 DB 102,15,56,221,217 pxor xmm0,xmm0 pxor xmm1,xmm1 pxor xmm2,xmm2 - movups XMMWORD PTR[r9],xmm3 + movups XMMWORD PTR[r9],xmm3 pxor xmm3,xmm3 pxor xmm8,xmm8 pxor xmm6,xmm6 - movaps xmm6,XMMWORD PTR[rsp] - movaps XMMWORD PTR[rsp],xmm0 - movaps xmm7,XMMWORD PTR[16+rsp] - movaps XMMWORD PTR[16+rsp],xmm0 - movaps xmm8,XMMWORD PTR[32+rsp] - movaps XMMWORD PTR[32+rsp],xmm0 - movaps xmm9,XMMWORD PTR[48+rsp] - movaps XMMWORD PTR[48+rsp],xmm0 - lea rsp,QWORD PTR[88+rsp] -$L$ccm64_dec_ret:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movaps xmm6,XMMWORD PTR[rsp] + movaps XMMWORD PTR[rsp],xmm0 + movaps xmm7,XMMWORD PTR[16+rsp] + movaps XMMWORD PTR[16+rsp],xmm0 + movaps xmm8,XMMWORD PTR[32+rsp] + movaps XMMWORD PTR[32+rsp],xmm0 + movaps xmm9,XMMWORD PTR[48+rsp] + movaps XMMWORD PTR[48+rsp],xmm0 + lea rsp,QWORD PTR[88+rsp] +$L$ccm64_dec_ret:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_ccm64_decrypt_blocks:: -aesni_ccm64_decrypt_blocks ENDP -PUBLIC aesni_ctr32_encrypt_blocks - +$L$SEH_end_aesni_ccm64_decrypt_blocks:: +aesni_ccm64_decrypt_blocks ENDP +PUBLIC aesni_ctr32_encrypt_blocks + ALIGN 16 -aesni_ctr32_encrypt_blocks PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_ctr32_encrypt_blocks PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_ctr32_encrypt_blocks:: +$L$SEH_begin_aesni_ctr32_encrypt_blocks:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] + mov r8,QWORD PTR[40+rsp] cmp rdx,1 - jne $L$ctr32_bulk + jne $L$ctr32_bulk - movups xmm2,XMMWORD PTR[r8] - movups xmm3,XMMWORD PTR[rdi] - mov edx,DWORD PTR[240+rcx] - movups xmm0,XMMWORD PTR[rcx] - movups xmm1,XMMWORD PTR[16+rcx] - lea rcx,QWORD PTR[32+rcx] + movups xmm2,XMMWORD PTR[r8] + movups xmm3,XMMWORD PTR[rdi] + mov edx,DWORD PTR[240+rcx] + movups xmm0,XMMWORD PTR[rcx] + movups xmm1,XMMWORD PTR[16+rcx] + lea rcx,QWORD PTR[32+rcx] xorps xmm2,xmm0 -$L$oop_enc1_7:: +$L$oop_enc1_7:: DB 102,15,56,220,209 dec edx - movups xmm1,XMMWORD PTR[rcx] - lea rcx,QWORD PTR[16+rcx] - jnz $L$oop_enc1_7 + movups xmm1,XMMWORD PTR[rcx] + lea rcx,QWORD PTR[16+rcx] + jnz $L$oop_enc1_7 DB 102,15,56,221,209 pxor xmm0,xmm0 pxor xmm1,xmm1 xorps xmm2,xmm3 pxor xmm3,xmm3 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 xorps xmm2,xmm2 - jmp $L$ctr32_epilogue + jmp $L$ctr32_epilogue ALIGN 16 -$L$ctr32_bulk:: - lea r11,QWORD PTR[rsp] +$L$ctr32_bulk:: + lea r11,QWORD PTR[rsp] push rbp sub rsp,288 and rsp,-16 - movaps XMMWORD PTR[(-168)+r11],xmm6 - movaps XMMWORD PTR[(-152)+r11],xmm7 - movaps XMMWORD PTR[(-136)+r11],xmm8 - movaps XMMWORD PTR[(-120)+r11],xmm9 - movaps XMMWORD PTR[(-104)+r11],xmm10 - movaps XMMWORD PTR[(-88)+r11],xmm11 - movaps XMMWORD PTR[(-72)+r11],xmm12 - movaps XMMWORD PTR[(-56)+r11],xmm13 - movaps XMMWORD PTR[(-40)+r11],xmm14 - movaps XMMWORD PTR[(-24)+r11],xmm15 -$L$ctr32_body:: + movaps XMMWORD PTR[(-168)+r11],xmm6 + movaps XMMWORD PTR[(-152)+r11],xmm7 + movaps XMMWORD PTR[(-136)+r11],xmm8 + movaps XMMWORD PTR[(-120)+r11],xmm9 + movaps XMMWORD PTR[(-104)+r11],xmm10 + movaps XMMWORD PTR[(-88)+r11],xmm11 + movaps XMMWORD PTR[(-72)+r11],xmm12 + movaps XMMWORD PTR[(-56)+r11],xmm13 + movaps XMMWORD PTR[(-40)+r11],xmm14 + movaps XMMWORD PTR[(-24)+r11],xmm15 +$L$ctr32_body:: - movdqu xmm2,XMMWORD PTR[r8] - movdqu xmm0,XMMWORD PTR[rcx] - mov r8d,DWORD PTR[12+r8] + movdqu xmm2,XMMWORD PTR[r8] + movdqu xmm0,XMMWORD PTR[rcx] + mov r8d,DWORD PTR[12+r8] pxor xmm2,xmm0 - mov ebp,DWORD PTR[12+rcx] - movdqa XMMWORD PTR[rsp],xmm2 + mov ebp,DWORD PTR[12+rcx] + movdqa XMMWORD PTR[rsp],xmm2 bswap r8d movdqa xmm3,xmm2 movdqa xmm4,xmm2 movdqa xmm5,xmm2 - movdqa XMMWORD PTR[64+rsp],xmm2 - movdqa XMMWORD PTR[80+rsp],xmm2 - movdqa XMMWORD PTR[96+rsp],xmm2 + movdqa XMMWORD PTR[64+rsp],xmm2 + movdqa XMMWORD PTR[80+rsp],xmm2 + movdqa XMMWORD PTR[96+rsp],xmm2 mov r10,rdx - movdqa XMMWORD PTR[112+rsp],xmm2 + movdqa XMMWORD PTR[112+rsp],xmm2 - lea rax,QWORD PTR[1+r8] - lea rdx,QWORD PTR[2+r8] + lea rax,QWORD PTR[1+r8] + lea rdx,QWORD PTR[2+r8] bswap eax bswap edx xor eax,ebp xor edx,ebp DB 102,15,58,34,216,3 - lea rax,QWORD PTR[3+r8] - movdqa XMMWORD PTR[16+rsp],xmm3 + lea rax,QWORD PTR[3+r8] + movdqa XMMWORD PTR[16+rsp],xmm3 DB 102,15,58,34,226,3 bswap eax mov rdx,r10 - lea r10,QWORD PTR[4+r8] - movdqa XMMWORD PTR[32+rsp],xmm4 + lea r10,QWORD PTR[4+r8] + movdqa XMMWORD PTR[32+rsp],xmm4 xor eax,ebp bswap r10d DB 102,15,58,34,232,3 xor r10d,ebp - movdqa XMMWORD PTR[48+rsp],xmm5 - lea r9,QWORD PTR[5+r8] - mov DWORD PTR[((64+12))+rsp],r10d + movdqa XMMWORD PTR[48+rsp],xmm5 + lea r9,QWORD PTR[5+r8] + mov DWORD PTR[((64+12))+rsp],r10d bswap r9d - lea r10,QWORD PTR[6+r8] - mov eax,DWORD PTR[240+rcx] + lea r10,QWORD PTR[6+r8] + mov eax,DWORD PTR[240+rcx] xor r9d,ebp bswap r10d - mov DWORD PTR[((80+12))+rsp],r9d + mov DWORD PTR[((80+12))+rsp],r9d xor r10d,ebp - lea r9,QWORD PTR[7+r8] - mov DWORD PTR[((96+12))+rsp],r10d + lea r9,QWORD PTR[7+r8] + mov DWORD PTR[((96+12))+rsp],r10d bswap r9d - mov r10d,DWORD PTR[((OPENSSL_ia32cap_P+4))] + mov r10d,DWORD PTR[((OPENSSL_ia32cap_P+4))] xor r9d,ebp and r10d,71303168 - mov DWORD PTR[((112+12))+rsp],r9d + mov DWORD PTR[((112+12))+rsp],r9d - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm1,XMMWORD PTR[16+rcx] - movdqa xmm6,XMMWORD PTR[64+rsp] - movdqa xmm7,XMMWORD PTR[80+rsp] + movdqa xmm6,XMMWORD PTR[64+rsp] + movdqa xmm7,XMMWORD PTR[80+rsp] cmp rdx,8 - jb $L$ctr32_tail + jb $L$ctr32_tail sub rdx,6 cmp r10d,4194304 - je $L$ctr32_6x + je $L$ctr32_6x - lea rcx,QWORD PTR[128+rcx] + lea rcx,QWORD PTR[128+rcx] sub rdx,2 - jmp $L$ctr32_loop8 + jmp $L$ctr32_loop8 ALIGN 16 -$L$ctr32_6x:: +$L$ctr32_6x:: shl eax,4 mov r10d,48 bswap ebp - lea rcx,QWORD PTR[32+rax*1+rcx] + lea rcx,QWORD PTR[32+rax*1+rcx] sub r10,rax - jmp $L$ctr32_loop6 + jmp $L$ctr32_loop6 ALIGN 16 -$L$ctr32_loop6:: +$L$ctr32_loop6:: add r8d,6 - movups xmm0,XMMWORD PTR[((-48))+r10*1+rcx] + movups xmm0,XMMWORD PTR[((-48))+r10*1+rcx] DB 102,15,56,220,209 mov eax,r8d xor eax,ebp DB 102,15,56,220,217 -DB 00fh,038h,0f1h,044h,024h,12 - lea eax,DWORD PTR[1+r8] +DB 00fh,038h,0f1h,044h,024h,12 + lea eax,DWORD PTR[1+r8] DB 102,15,56,220,225 xor eax,ebp -DB 00fh,038h,0f1h,044h,024h,28 +DB 00fh,038h,0f1h,044h,024h,28 DB 102,15,56,220,233 - lea eax,DWORD PTR[2+r8] + lea eax,DWORD PTR[2+r8] xor eax,ebp DB 102,15,56,220,241 -DB 00fh,038h,0f1h,044h,024h,44 - lea eax,DWORD PTR[3+r8] +DB 00fh,038h,0f1h,044h,024h,44 + lea eax,DWORD PTR[3+r8] DB 102,15,56,220,249 - movups xmm1,XMMWORD PTR[((-32))+r10*1+rcx] + movups xmm1,XMMWORD PTR[((-32))+r10*1+rcx] xor eax,ebp DB 102,15,56,220,208 -DB 00fh,038h,0f1h,044h,024h,60 - lea eax,DWORD PTR[4+r8] +DB 00fh,038h,0f1h,044h,024h,60 + lea eax,DWORD PTR[4+r8] DB 102,15,56,220,216 xor eax,ebp -DB 00fh,038h,0f1h,044h,024h,76 +DB 00fh,038h,0f1h,044h,024h,76 DB 102,15,56,220,224 - lea eax,DWORD PTR[5+r8] + lea eax,DWORD PTR[5+r8] xor eax,ebp DB 102,15,56,220,232 -DB 00fh,038h,0f1h,044h,024h,92 +DB 00fh,038h,0f1h,044h,024h,92 mov rax,r10 DB 102,15,56,220,240 DB 102,15,56,220,248 - movups xmm0,XMMWORD PTR[((-16))+r10*1+rcx] + movups xmm0,XMMWORD PTR[((-16))+r10*1+rcx] call $L$enc_loop6 - movdqu xmm8,XMMWORD PTR[rdi] - movdqu xmm9,XMMWORD PTR[16+rdi] - movdqu xmm10,XMMWORD PTR[32+rdi] - movdqu xmm11,XMMWORD PTR[48+rdi] - movdqu xmm12,XMMWORD PTR[64+rdi] - movdqu xmm13,XMMWORD PTR[80+rdi] - lea rdi,QWORD PTR[96+rdi] - movups xmm1,XMMWORD PTR[((-64))+r10*1+rcx] + movdqu xmm8,XMMWORD PTR[rdi] + movdqu xmm9,XMMWORD PTR[16+rdi] + movdqu xmm10,XMMWORD PTR[32+rdi] + movdqu xmm11,XMMWORD PTR[48+rdi] + movdqu xmm12,XMMWORD PTR[64+rdi] + movdqu xmm13,XMMWORD PTR[80+rdi] + lea rdi,QWORD PTR[96+rdi] + movups xmm1,XMMWORD PTR[((-64))+r10*1+rcx] pxor xmm8,xmm2 - movaps xmm2,XMMWORD PTR[rsp] + movaps xmm2,XMMWORD PTR[rsp] pxor xmm9,xmm3 - movaps xmm3,XMMWORD PTR[16+rsp] + movaps xmm3,XMMWORD PTR[16+rsp] pxor xmm10,xmm4 - movaps xmm4,XMMWORD PTR[32+rsp] + movaps xmm4,XMMWORD PTR[32+rsp] pxor xmm11,xmm5 - movaps xmm5,XMMWORD PTR[48+rsp] + movaps xmm5,XMMWORD PTR[48+rsp] pxor xmm12,xmm6 - movaps xmm6,XMMWORD PTR[64+rsp] + movaps xmm6,XMMWORD PTR[64+rsp] pxor xmm13,xmm7 - movaps xmm7,XMMWORD PTR[80+rsp] - movdqu XMMWORD PTR[rsi],xmm8 - movdqu XMMWORD PTR[16+rsi],xmm9 - movdqu XMMWORD PTR[32+rsi],xmm10 - movdqu XMMWORD PTR[48+rsi],xmm11 - movdqu XMMWORD PTR[64+rsi],xmm12 - movdqu XMMWORD PTR[80+rsi],xmm13 - lea rsi,QWORD PTR[96+rsi] + movaps xmm7,XMMWORD PTR[80+rsp] + movdqu XMMWORD PTR[rsi],xmm8 + movdqu XMMWORD PTR[16+rsi],xmm9 + movdqu XMMWORD PTR[32+rsi],xmm10 + movdqu XMMWORD PTR[48+rsi],xmm11 + movdqu XMMWORD PTR[64+rsi],xmm12 + movdqu XMMWORD PTR[80+rsi],xmm13 + lea rsi,QWORD PTR[96+rsi] sub rdx,6 - jnc $L$ctr32_loop6 + jnc $L$ctr32_loop6 add rdx,6 - jz $L$ctr32_done + jz $L$ctr32_done - lea eax,DWORD PTR[((-48))+r10] - lea rcx,QWORD PTR[((-80))+r10*1+rcx] + lea eax,DWORD PTR[((-48))+r10] + lea rcx,QWORD PTR[((-80))+r10*1+rcx] neg eax shr eax,4 - jmp $L$ctr32_tail + jmp $L$ctr32_tail ALIGN 32 -$L$ctr32_loop8:: +$L$ctr32_loop8:: add r8d,8 - movdqa xmm8,XMMWORD PTR[96+rsp] + movdqa xmm8,XMMWORD PTR[96+rsp] DB 102,15,56,220,209 mov r9d,r8d - movdqa xmm9,XMMWORD PTR[112+rsp] + movdqa xmm9,XMMWORD PTR[112+rsp] DB 102,15,56,220,217 bswap r9d - movups xmm0,XMMWORD PTR[((32-128))+rcx] + movups xmm0,XMMWORD PTR[((32-128))+rcx] DB 102,15,56,220,225 xor r9d,ebp nop DB 102,15,56,220,233 - mov DWORD PTR[((0+12))+rsp],r9d - lea r9,QWORD PTR[1+r8] + mov DWORD PTR[((0+12))+rsp],r9d + lea r9,QWORD PTR[1+r8] DB 102,15,56,220,241 DB 102,15,56,220,249 DB 102,68,15,56,220,193 DB 102,68,15,56,220,201 - movups xmm1,XMMWORD PTR[((48-128))+rcx] + movups xmm1,XMMWORD PTR[((48-128))+rcx] bswap r9d DB 102,15,56,220,208 DB 102,15,56,220,216 xor r9d,ebp -DB 066h,090h +DB 066h,090h DB 102,15,56,220,224 DB 102,15,56,220,232 - mov DWORD PTR[((16+12))+rsp],r9d - lea r9,QWORD PTR[2+r8] + mov DWORD PTR[((16+12))+rsp],r9d + lea r9,QWORD PTR[2+r8] DB 102,15,56,220,240 DB 102,15,56,220,248 DB 102,68,15,56,220,192 DB 102,68,15,56,220,200 - movups xmm0,XMMWORD PTR[((64-128))+rcx] + movups xmm0,XMMWORD PTR[((64-128))+rcx] bswap r9d DB 102,15,56,220,209 DB 102,15,56,220,217 xor r9d,ebp -DB 066h,090h +DB 066h,090h DB 102,15,56,220,225 DB 102,15,56,220,233 - mov DWORD PTR[((32+12))+rsp],r9d - lea r9,QWORD PTR[3+r8] + mov DWORD PTR[((32+12))+rsp],r9d + lea r9,QWORD PTR[3+r8] DB 102,15,56,220,241 DB 102,15,56,220,249 DB 102,68,15,56,220,193 DB 102,68,15,56,220,201 - movups xmm1,XMMWORD PTR[((80-128))+rcx] + movups xmm1,XMMWORD PTR[((80-128))+rcx] bswap r9d DB 102,15,56,220,208 DB 102,15,56,220,216 xor r9d,ebp -DB 066h,090h +DB 066h,090h DB 102,15,56,220,224 DB 102,15,56,220,232 - mov DWORD PTR[((48+12))+rsp],r9d - lea r9,QWORD PTR[4+r8] + mov DWORD PTR[((48+12))+rsp],r9d + lea r9,QWORD PTR[4+r8] DB 102,15,56,220,240 DB 102,15,56,220,248 DB 102,68,15,56,220,192 DB 102,68,15,56,220,200 - movups xmm0,XMMWORD PTR[((96-128))+rcx] + movups xmm0,XMMWORD PTR[((96-128))+rcx] bswap r9d DB 102,15,56,220,209 DB 102,15,56,220,217 xor r9d,ebp -DB 066h,090h +DB 066h,090h DB 102,15,56,220,225 DB 102,15,56,220,233 - mov DWORD PTR[((64+12))+rsp],r9d - lea r9,QWORD PTR[5+r8] + mov DWORD PTR[((64+12))+rsp],r9d + lea r9,QWORD PTR[5+r8] DB 102,15,56,220,241 DB 102,15,56,220,249 DB 102,68,15,56,220,193 DB 102,68,15,56,220,201 - movups xmm1,XMMWORD PTR[((112-128))+rcx] + movups xmm1,XMMWORD PTR[((112-128))+rcx] bswap r9d DB 102,15,56,220,208 DB 102,15,56,220,216 xor r9d,ebp -DB 066h,090h +DB 066h,090h DB 102,15,56,220,224 DB 102,15,56,220,232 - mov DWORD PTR[((80+12))+rsp],r9d - lea r9,QWORD PTR[6+r8] + mov DWORD PTR[((80+12))+rsp],r9d + lea r9,QWORD PTR[6+r8] DB 102,15,56,220,240 DB 102,15,56,220,248 DB 102,68,15,56,220,192 DB 102,68,15,56,220,200 - movups xmm0,XMMWORD PTR[((128-128))+rcx] + movups xmm0,XMMWORD PTR[((128-128))+rcx] bswap r9d DB 102,15,56,220,209 DB 102,15,56,220,217 xor r9d,ebp -DB 066h,090h +DB 066h,090h DB 102,15,56,220,225 DB 102,15,56,220,233 - mov DWORD PTR[((96+12))+rsp],r9d - lea r9,QWORD PTR[7+r8] + mov DWORD PTR[((96+12))+rsp],r9d + lea r9,QWORD PTR[7+r8] DB 102,15,56,220,241 DB 102,15,56,220,249 DB 102,68,15,56,220,193 DB 102,68,15,56,220,201 - movups xmm1,XMMWORD PTR[((144-128))+rcx] + movups xmm1,XMMWORD PTR[((144-128))+rcx] bswap r9d DB 102,15,56,220,208 DB 102,15,56,220,216 DB 102,15,56,220,224 xor r9d,ebp - movdqu xmm10,XMMWORD PTR[rdi] + movdqu xmm10,XMMWORD PTR[rdi] DB 102,15,56,220,232 - mov DWORD PTR[((112+12))+rsp],r9d + mov DWORD PTR[((112+12))+rsp],r9d cmp eax,11 DB 102,15,56,220,240 DB 102,15,56,220,248 DB 102,68,15,56,220,192 DB 102,68,15,56,220,200 - movups xmm0,XMMWORD PTR[((160-128))+rcx] + movups xmm0,XMMWORD PTR[((160-128))+rcx] - jb $L$ctr32_enc_done + jb $L$ctr32_enc_done DB 102,15,56,220,209 DB 102,15,56,220,217 @@ -1468,7 +1468,7 @@ DB 102,15,56,220,241 DB 102,15,56,220,249 DB 102,68,15,56,220,193 DB 102,68,15,56,220,201 - movups xmm1,XMMWORD PTR[((176-128))+rcx] + movups xmm1,XMMWORD PTR[((176-128))+rcx] DB 102,15,56,220,208 DB 102,15,56,220,216 @@ -1478,8 +1478,8 @@ DB 102,15,56,220,240 DB 102,15,56,220,248 DB 102,68,15,56,220,192 DB 102,68,15,56,220,200 - movups xmm0,XMMWORD PTR[((192-128))+rcx] - je $L$ctr32_enc_done + movups xmm0,XMMWORD PTR[((192-128))+rcx] + je $L$ctr32_enc_done DB 102,15,56,220,209 DB 102,15,56,220,217 @@ -1489,7 +1489,7 @@ DB 102,15,56,220,241 DB 102,15,56,220,249 DB 102,68,15,56,220,193 DB 102,68,15,56,220,201 - movups xmm1,XMMWORD PTR[((208-128))+rcx] + movups xmm1,XMMWORD PTR[((208-128))+rcx] DB 102,15,56,220,208 DB 102,15,56,220,216 @@ -1499,20 +1499,20 @@ DB 102,15,56,220,240 DB 102,15,56,220,248 DB 102,68,15,56,220,192 DB 102,68,15,56,220,200 - movups xmm0,XMMWORD PTR[((224-128))+rcx] - jmp $L$ctr32_enc_done + movups xmm0,XMMWORD PTR[((224-128))+rcx] + jmp $L$ctr32_enc_done ALIGN 16 -$L$ctr32_enc_done:: - movdqu xmm11,XMMWORD PTR[16+rdi] +$L$ctr32_enc_done:: + movdqu xmm11,XMMWORD PTR[16+rdi] pxor xmm10,xmm0 - movdqu xmm12,XMMWORD PTR[32+rdi] + movdqu xmm12,XMMWORD PTR[32+rdi] pxor xmm11,xmm0 - movdqu xmm13,XMMWORD PTR[48+rdi] + movdqu xmm13,XMMWORD PTR[48+rdi] pxor xmm12,xmm0 - movdqu xmm14,XMMWORD PTR[64+rdi] + movdqu xmm14,XMMWORD PTR[64+rdi] pxor xmm13,xmm0 - movdqu xmm15,XMMWORD PTR[80+rdi] + movdqu xmm15,XMMWORD PTR[80+rdi] pxor xmm14,xmm0 pxor xmm15,xmm0 DB 102,15,56,220,209 @@ -1523,164 +1523,164 @@ DB 102,15,56,220,241 DB 102,15,56,220,249 DB 102,68,15,56,220,193 DB 102,68,15,56,220,201 - movdqu xmm1,XMMWORD PTR[96+rdi] - lea rdi,QWORD PTR[128+rdi] + movdqu xmm1,XMMWORD PTR[96+rdi] + lea rdi,QWORD PTR[128+rdi] DB 102,65,15,56,221,210 pxor xmm1,xmm0 - movdqu xmm10,XMMWORD PTR[((112-128))+rdi] + movdqu xmm10,XMMWORD PTR[((112-128))+rdi] DB 102,65,15,56,221,219 pxor xmm10,xmm0 - movdqa xmm11,XMMWORD PTR[rsp] + movdqa xmm11,XMMWORD PTR[rsp] DB 102,65,15,56,221,228 DB 102,65,15,56,221,237 - movdqa xmm12,XMMWORD PTR[16+rsp] - movdqa xmm13,XMMWORD PTR[32+rsp] + movdqa xmm12,XMMWORD PTR[16+rsp] + movdqa xmm13,XMMWORD PTR[32+rsp] DB 102,65,15,56,221,246 DB 102,65,15,56,221,255 - movdqa xmm14,XMMWORD PTR[48+rsp] - movdqa xmm15,XMMWORD PTR[64+rsp] + movdqa xmm14,XMMWORD PTR[48+rsp] + movdqa xmm15,XMMWORD PTR[64+rsp] DB 102,68,15,56,221,193 - movdqa xmm0,XMMWORD PTR[80+rsp] - movups xmm1,XMMWORD PTR[((16-128))+rcx] + movdqa xmm0,XMMWORD PTR[80+rsp] + movups xmm1,XMMWORD PTR[((16-128))+rcx] DB 102,69,15,56,221,202 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 movdqa xmm2,xmm11 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 movdqa xmm3,xmm12 - movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[32+rsi],xmm4 movdqa xmm4,xmm13 - movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[48+rsi],xmm5 movdqa xmm5,xmm14 - movups XMMWORD PTR[64+rsi],xmm6 + movups XMMWORD PTR[64+rsi],xmm6 movdqa xmm6,xmm15 - movups XMMWORD PTR[80+rsi],xmm7 + movups XMMWORD PTR[80+rsi],xmm7 movdqa xmm7,xmm0 - movups XMMWORD PTR[96+rsi],xmm8 - movups XMMWORD PTR[112+rsi],xmm9 - lea rsi,QWORD PTR[128+rsi] + movups XMMWORD PTR[96+rsi],xmm8 + movups XMMWORD PTR[112+rsi],xmm9 + lea rsi,QWORD PTR[128+rsi] sub rdx,8 - jnc $L$ctr32_loop8 + jnc $L$ctr32_loop8 add rdx,8 - jz $L$ctr32_done - lea rcx,QWORD PTR[((-128))+rcx] + jz $L$ctr32_done + lea rcx,QWORD PTR[((-128))+rcx] -$L$ctr32_tail:: +$L$ctr32_tail:: - lea rcx,QWORD PTR[16+rcx] + lea rcx,QWORD PTR[16+rcx] cmp rdx,4 - jb $L$ctr32_loop3 - je $L$ctr32_loop4 + jb $L$ctr32_loop3 + je $L$ctr32_loop4 shl eax,4 - movdqa xmm8,XMMWORD PTR[96+rsp] + movdqa xmm8,XMMWORD PTR[96+rsp] pxor xmm9,xmm9 - movups xmm0,XMMWORD PTR[16+rcx] + movups xmm0,XMMWORD PTR[16+rcx] DB 102,15,56,220,209 DB 102,15,56,220,217 - lea rcx,QWORD PTR[((32-16))+rax*1+rcx] + lea rcx,QWORD PTR[((32-16))+rax*1+rcx] neg rax DB 102,15,56,220,225 add rax,16 - movups xmm10,XMMWORD PTR[rdi] + movups xmm10,XMMWORD PTR[rdi] DB 102,15,56,220,233 DB 102,15,56,220,241 - movups xmm11,XMMWORD PTR[16+rdi] - movups xmm12,XMMWORD PTR[32+rdi] + movups xmm11,XMMWORD PTR[16+rdi] + movups xmm12,XMMWORD PTR[32+rdi] DB 102,15,56,220,249 DB 102,68,15,56,220,193 call $L$enc_loop8_enter - movdqu xmm13,XMMWORD PTR[48+rdi] + movdqu xmm13,XMMWORD PTR[48+rdi] pxor xmm2,xmm10 - movdqu xmm10,XMMWORD PTR[64+rdi] + movdqu xmm10,XMMWORD PTR[64+rdi] pxor xmm3,xmm11 - movdqu XMMWORD PTR[rsi],xmm2 + movdqu XMMWORD PTR[rsi],xmm2 pxor xmm4,xmm12 - movdqu XMMWORD PTR[16+rsi],xmm3 + movdqu XMMWORD PTR[16+rsi],xmm3 pxor xmm5,xmm13 - movdqu XMMWORD PTR[32+rsi],xmm4 + movdqu XMMWORD PTR[32+rsi],xmm4 pxor xmm6,xmm10 - movdqu XMMWORD PTR[48+rsi],xmm5 - movdqu XMMWORD PTR[64+rsi],xmm6 + movdqu XMMWORD PTR[48+rsi],xmm5 + movdqu XMMWORD PTR[64+rsi],xmm6 cmp rdx,6 - jb $L$ctr32_done + jb $L$ctr32_done - movups xmm11,XMMWORD PTR[80+rdi] + movups xmm11,XMMWORD PTR[80+rdi] xorps xmm7,xmm11 - movups XMMWORD PTR[80+rsi],xmm7 - je $L$ctr32_done + movups XMMWORD PTR[80+rsi],xmm7 + je $L$ctr32_done - movups xmm12,XMMWORD PTR[96+rdi] + movups xmm12,XMMWORD PTR[96+rdi] xorps xmm8,xmm12 - movups XMMWORD PTR[96+rsi],xmm8 - jmp $L$ctr32_done + movups XMMWORD PTR[96+rsi],xmm8 + jmp $L$ctr32_done ALIGN 32 -$L$ctr32_loop4:: +$L$ctr32_loop4:: DB 102,15,56,220,209 - lea rcx,QWORD PTR[16+rcx] + lea rcx,QWORD PTR[16+rcx] dec eax DB 102,15,56,220,217 DB 102,15,56,220,225 DB 102,15,56,220,233 - movups xmm1,XMMWORD PTR[rcx] - jnz $L$ctr32_loop4 + movups xmm1,XMMWORD PTR[rcx] + jnz $L$ctr32_loop4 DB 102,15,56,221,209 DB 102,15,56,221,217 - movups xmm10,XMMWORD PTR[rdi] - movups xmm11,XMMWORD PTR[16+rdi] + movups xmm10,XMMWORD PTR[rdi] + movups xmm11,XMMWORD PTR[16+rdi] DB 102,15,56,221,225 DB 102,15,56,221,233 - movups xmm12,XMMWORD PTR[32+rdi] - movups xmm13,XMMWORD PTR[48+rdi] + movups xmm12,XMMWORD PTR[32+rdi] + movups xmm13,XMMWORD PTR[48+rdi] xorps xmm2,xmm10 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 xorps xmm3,xmm11 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 pxor xmm4,xmm12 - movdqu XMMWORD PTR[32+rsi],xmm4 + movdqu XMMWORD PTR[32+rsi],xmm4 pxor xmm5,xmm13 - movdqu XMMWORD PTR[48+rsi],xmm5 - jmp $L$ctr32_done + movdqu XMMWORD PTR[48+rsi],xmm5 + jmp $L$ctr32_done ALIGN 32 -$L$ctr32_loop3:: +$L$ctr32_loop3:: DB 102,15,56,220,209 - lea rcx,QWORD PTR[16+rcx] + lea rcx,QWORD PTR[16+rcx] dec eax DB 102,15,56,220,217 DB 102,15,56,220,225 - movups xmm1,XMMWORD PTR[rcx] - jnz $L$ctr32_loop3 + movups xmm1,XMMWORD PTR[rcx] + jnz $L$ctr32_loop3 DB 102,15,56,221,209 DB 102,15,56,221,217 DB 102,15,56,221,225 - movups xmm10,XMMWORD PTR[rdi] + movups xmm10,XMMWORD PTR[rdi] xorps xmm2,xmm10 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 cmp rdx,2 - jb $L$ctr32_done + jb $L$ctr32_done - movups xmm11,XMMWORD PTR[16+rdi] + movups xmm11,XMMWORD PTR[16+rdi] xorps xmm3,xmm11 - movups XMMWORD PTR[16+rsi],xmm3 - je $L$ctr32_done + movups XMMWORD PTR[16+rsi],xmm3 + je $L$ctr32_done - movups xmm12,XMMWORD PTR[32+rdi] + movups xmm12,XMMWORD PTR[32+rdi] xorps xmm4,xmm12 - movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[32+rsi],xmm4 -$L$ctr32_done:: +$L$ctr32_done:: xorps xmm0,xmm0 xor ebp,ebp pxor xmm1,xmm1 @@ -1688,105 +1688,105 @@ $L$ctr32_done:: pxor xmm3,xmm3 pxor xmm4,xmm4 pxor xmm5,xmm5 - movaps xmm6,XMMWORD PTR[((-168))+r11] - movaps XMMWORD PTR[(-168)+r11],xmm0 - movaps xmm7,XMMWORD PTR[((-152))+r11] - movaps XMMWORD PTR[(-152)+r11],xmm0 - movaps xmm8,XMMWORD PTR[((-136))+r11] - movaps XMMWORD PTR[(-136)+r11],xmm0 - movaps xmm9,XMMWORD PTR[((-120))+r11] - movaps XMMWORD PTR[(-120)+r11],xmm0 - movaps xmm10,XMMWORD PTR[((-104))+r11] - movaps XMMWORD PTR[(-104)+r11],xmm0 - movaps xmm11,XMMWORD PTR[((-88))+r11] - movaps XMMWORD PTR[(-88)+r11],xmm0 - movaps xmm12,XMMWORD PTR[((-72))+r11] - movaps XMMWORD PTR[(-72)+r11],xmm0 - movaps xmm13,XMMWORD PTR[((-56))+r11] - movaps XMMWORD PTR[(-56)+r11],xmm0 - movaps xmm14,XMMWORD PTR[((-40))+r11] - movaps XMMWORD PTR[(-40)+r11],xmm0 - movaps xmm15,XMMWORD PTR[((-24))+r11] - movaps XMMWORD PTR[(-24)+r11],xmm0 - movaps XMMWORD PTR[rsp],xmm0 - movaps XMMWORD PTR[16+rsp],xmm0 - movaps XMMWORD PTR[32+rsp],xmm0 - movaps XMMWORD PTR[48+rsp],xmm0 - movaps XMMWORD PTR[64+rsp],xmm0 - movaps XMMWORD PTR[80+rsp],xmm0 - movaps XMMWORD PTR[96+rsp],xmm0 - movaps XMMWORD PTR[112+rsp],xmm0 - mov rbp,QWORD PTR[((-8))+r11] - - lea rsp,QWORD PTR[r11] - -$L$ctr32_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movaps xmm6,XMMWORD PTR[((-168))+r11] + movaps XMMWORD PTR[(-168)+r11],xmm0 + movaps xmm7,XMMWORD PTR[((-152))+r11] + movaps XMMWORD PTR[(-152)+r11],xmm0 + movaps xmm8,XMMWORD PTR[((-136))+r11] + movaps XMMWORD PTR[(-136)+r11],xmm0 + movaps xmm9,XMMWORD PTR[((-120))+r11] + movaps XMMWORD PTR[(-120)+r11],xmm0 + movaps xmm10,XMMWORD PTR[((-104))+r11] + movaps XMMWORD PTR[(-104)+r11],xmm0 + movaps xmm11,XMMWORD PTR[((-88))+r11] + movaps XMMWORD PTR[(-88)+r11],xmm0 + movaps xmm12,XMMWORD PTR[((-72))+r11] + movaps XMMWORD PTR[(-72)+r11],xmm0 + movaps xmm13,XMMWORD PTR[((-56))+r11] + movaps XMMWORD PTR[(-56)+r11],xmm0 + movaps xmm14,XMMWORD PTR[((-40))+r11] + movaps XMMWORD PTR[(-40)+r11],xmm0 + movaps xmm15,XMMWORD PTR[((-24))+r11] + movaps XMMWORD PTR[(-24)+r11],xmm0 + movaps XMMWORD PTR[rsp],xmm0 + movaps XMMWORD PTR[16+rsp],xmm0 + movaps XMMWORD PTR[32+rsp],xmm0 + movaps XMMWORD PTR[48+rsp],xmm0 + movaps XMMWORD PTR[64+rsp],xmm0 + movaps XMMWORD PTR[80+rsp],xmm0 + movaps XMMWORD PTR[96+rsp],xmm0 + movaps XMMWORD PTR[112+rsp],xmm0 + mov rbp,QWORD PTR[((-8))+r11] + + lea rsp,QWORD PTR[r11] + +$L$ctr32_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_ctr32_encrypt_blocks:: -aesni_ctr32_encrypt_blocks ENDP -PUBLIC aesni_xts_encrypt +$L$SEH_end_aesni_ctr32_encrypt_blocks:: +aesni_ctr32_encrypt_blocks ENDP +PUBLIC aesni_xts_encrypt ALIGN 16 -aesni_xts_encrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_xts_encrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_xts_encrypt:: +$L$SEH_begin_aesni_xts_encrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] - lea r11,QWORD PTR[rsp] + lea r11,QWORD PTR[rsp] push rbp sub rsp,272 and rsp,-16 - movaps XMMWORD PTR[(-168)+r11],xmm6 - movaps XMMWORD PTR[(-152)+r11],xmm7 - movaps XMMWORD PTR[(-136)+r11],xmm8 - movaps XMMWORD PTR[(-120)+r11],xmm9 - movaps XMMWORD PTR[(-104)+r11],xmm10 - movaps XMMWORD PTR[(-88)+r11],xmm11 - movaps XMMWORD PTR[(-72)+r11],xmm12 - movaps XMMWORD PTR[(-56)+r11],xmm13 - movaps XMMWORD PTR[(-40)+r11],xmm14 - movaps XMMWORD PTR[(-24)+r11],xmm15 -$L$xts_enc_body:: - movups xmm2,XMMWORD PTR[r9] - mov eax,DWORD PTR[240+r8] - mov r10d,DWORD PTR[240+rcx] - movups xmm0,XMMWORD PTR[r8] - movups xmm1,XMMWORD PTR[16+r8] - lea r8,QWORD PTR[32+r8] + movaps XMMWORD PTR[(-168)+r11],xmm6 + movaps XMMWORD PTR[(-152)+r11],xmm7 + movaps XMMWORD PTR[(-136)+r11],xmm8 + movaps XMMWORD PTR[(-120)+r11],xmm9 + movaps XMMWORD PTR[(-104)+r11],xmm10 + movaps XMMWORD PTR[(-88)+r11],xmm11 + movaps XMMWORD PTR[(-72)+r11],xmm12 + movaps XMMWORD PTR[(-56)+r11],xmm13 + movaps XMMWORD PTR[(-40)+r11],xmm14 + movaps XMMWORD PTR[(-24)+r11],xmm15 +$L$xts_enc_body:: + movups xmm2,XMMWORD PTR[r9] + mov eax,DWORD PTR[240+r8] + mov r10d,DWORD PTR[240+rcx] + movups xmm0,XMMWORD PTR[r8] + movups xmm1,XMMWORD PTR[16+r8] + lea r8,QWORD PTR[32+r8] xorps xmm2,xmm0 -$L$oop_enc1_8:: +$L$oop_enc1_8:: DB 102,15,56,220,209 dec eax - movups xmm1,XMMWORD PTR[r8] - lea r8,QWORD PTR[16+r8] - jnz $L$oop_enc1_8 + movups xmm1,XMMWORD PTR[r8] + lea r8,QWORD PTR[16+r8] + jnz $L$oop_enc1_8 DB 102,15,56,221,209 - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] mov rbp,rcx mov eax,r10d shl r10d,4 mov r9,rdx and rdx,-16 - movups xmm1,XMMWORD PTR[16+r10*1+rcx] + movups xmm1,XMMWORD PTR[16+r10*1+rcx] - movdqa xmm8,XMMWORD PTR[$L$xts_magic] + movdqa xmm8,XMMWORD PTR[$L$xts_magic] movdqa xmm15,xmm2 - pshufd xmm9,xmm2,05fh + pshufd xmm9,xmm2,05fh pxor xmm1,xmm0 movdqa xmm14,xmm9 paddd xmm9,xmm9 @@ -1826,76 +1826,76 @@ DB 102,15,56,221,209 pand xmm9,xmm8 pxor xmm14,xmm0 pxor xmm15,xmm9 - movaps XMMWORD PTR[96+rsp],xmm1 + movaps XMMWORD PTR[96+rsp],xmm1 sub rdx,16*6 - jc $L$xts_enc_short + jc $L$xts_enc_short mov eax,16+96 - lea rcx,QWORD PTR[32+r10*1+rbp] + lea rcx,QWORD PTR[32+r10*1+rbp] sub rax,r10 - movups xmm1,XMMWORD PTR[16+rbp] + movups xmm1,XMMWORD PTR[16+rbp] mov r10,rax - lea r8,QWORD PTR[$L$xts_magic] - jmp $L$xts_enc_grandloop + lea r8,QWORD PTR[$L$xts_magic] + jmp $L$xts_enc_grandloop ALIGN 32 -$L$xts_enc_grandloop:: - movdqu xmm2,XMMWORD PTR[rdi] +$L$xts_enc_grandloop:: + movdqu xmm2,XMMWORD PTR[rdi] movdqa xmm8,xmm0 - movdqu xmm3,XMMWORD PTR[16+rdi] + movdqu xmm3,XMMWORD PTR[16+rdi] pxor xmm2,xmm10 - movdqu xmm4,XMMWORD PTR[32+rdi] + movdqu xmm4,XMMWORD PTR[32+rdi] pxor xmm3,xmm11 DB 102,15,56,220,209 - movdqu xmm5,XMMWORD PTR[48+rdi] + movdqu xmm5,XMMWORD PTR[48+rdi] pxor xmm4,xmm12 DB 102,15,56,220,217 - movdqu xmm6,XMMWORD PTR[64+rdi] + movdqu xmm6,XMMWORD PTR[64+rdi] pxor xmm5,xmm13 DB 102,15,56,220,225 - movdqu xmm7,XMMWORD PTR[80+rdi] + movdqu xmm7,XMMWORD PTR[80+rdi] pxor xmm8,xmm15 - movdqa xmm9,XMMWORD PTR[96+rsp] + movdqa xmm9,XMMWORD PTR[96+rsp] pxor xmm6,xmm14 DB 102,15,56,220,233 - movups xmm0,XMMWORD PTR[32+rbp] - lea rdi,QWORD PTR[96+rdi] + movups xmm0,XMMWORD PTR[32+rbp] + lea rdi,QWORD PTR[96+rdi] pxor xmm7,xmm8 pxor xmm10,xmm9 DB 102,15,56,220,241 pxor xmm11,xmm9 - movdqa XMMWORD PTR[rsp],xmm10 + movdqa XMMWORD PTR[rsp],xmm10 DB 102,15,56,220,249 - movups xmm1,XMMWORD PTR[48+rbp] + movups xmm1,XMMWORD PTR[48+rbp] pxor xmm12,xmm9 DB 102,15,56,220,208 pxor xmm13,xmm9 - movdqa XMMWORD PTR[16+rsp],xmm11 + movdqa XMMWORD PTR[16+rsp],xmm11 DB 102,15,56,220,216 pxor xmm14,xmm9 - movdqa XMMWORD PTR[32+rsp],xmm12 + movdqa XMMWORD PTR[32+rsp],xmm12 DB 102,15,56,220,224 DB 102,15,56,220,232 pxor xmm8,xmm9 - movdqa XMMWORD PTR[64+rsp],xmm14 + movdqa XMMWORD PTR[64+rsp],xmm14 DB 102,15,56,220,240 DB 102,15,56,220,248 - movups xmm0,XMMWORD PTR[64+rbp] - movdqa XMMWORD PTR[80+rsp],xmm8 - pshufd xmm9,xmm15,05fh - jmp $L$xts_enc_loop6 + movups xmm0,XMMWORD PTR[64+rbp] + movdqa XMMWORD PTR[80+rsp],xmm8 + pshufd xmm9,xmm15,05fh + jmp $L$xts_enc_loop6 ALIGN 32 -$L$xts_enc_loop6:: +$L$xts_enc_loop6:: DB 102,15,56,220,209 DB 102,15,56,220,217 DB 102,15,56,220,225 DB 102,15,56,220,233 DB 102,15,56,220,241 DB 102,15,56,220,249 - movups xmm1,XMMWORD PTR[((-64))+rax*1+rcx] + movups xmm1,XMMWORD PTR[((-64))+rax*1+rcx] add rax,32 DB 102,15,56,220,208 @@ -1904,10 +1904,10 @@ DB 102,15,56,220,224 DB 102,15,56,220,232 DB 102,15,56,220,240 DB 102,15,56,220,248 - movups xmm0,XMMWORD PTR[((-80))+rax*1+rcx] - jnz $L$xts_enc_loop6 + movups xmm0,XMMWORD PTR[((-80))+rax*1+rcx] + jnz $L$xts_enc_loop6 - movdqa xmm8,XMMWORD PTR[r8] + movdqa xmm8,XMMWORD PTR[r8] movdqa xmm14,xmm9 paddd xmm9,xmm9 DB 102,15,56,220,209 @@ -1915,14 +1915,14 @@ DB 102,15,56,220,209 psrad xmm14,31 DB 102,15,56,220,217 pand xmm14,xmm8 - movups xmm10,XMMWORD PTR[rbp] + movups xmm10,XMMWORD PTR[rbp] DB 102,15,56,220,225 DB 102,15,56,220,233 DB 102,15,56,220,241 pxor xmm15,xmm14 movaps xmm11,xmm10 DB 102,15,56,220,249 - movups xmm1,XMMWORD PTR[((-64))+rcx] + movups xmm1,XMMWORD PTR[((-64))+rcx] movdqa xmm14,xmm9 DB 102,15,56,220,208 @@ -1939,7 +1939,7 @@ DB 102,15,56,220,240 pxor xmm15,xmm14 movdqa xmm14,xmm9 DB 102,15,56,220,248 - movups xmm0,XMMWORD PTR[((-48))+rcx] + movups xmm0,XMMWORD PTR[((-48))+rcx] paddd xmm9,xmm9 DB 102,15,56,220,209 @@ -1950,13 +1950,13 @@ DB 102,15,56,220,217 pand xmm14,xmm8 DB 102,15,56,220,225 DB 102,15,56,220,233 - movdqa XMMWORD PTR[48+rsp],xmm13 + movdqa XMMWORD PTR[48+rsp],xmm13 pxor xmm15,xmm14 DB 102,15,56,220,241 movaps xmm13,xmm12 movdqa xmm14,xmm9 DB 102,15,56,220,249 - movups xmm1,XMMWORD PTR[((-32))+rcx] + movups xmm1,XMMWORD PTR[((-32))+rcx] paddd xmm9,xmm9 DB 102,15,56,220,208 @@ -1983,10 +1983,10 @@ DB 102,15,56,220,217 DB 102,15,56,220,225 DB 102,15,56,220,233 pxor xmm15,xmm0 - movups xmm0,XMMWORD PTR[rbp] + movups xmm0,XMMWORD PTR[rbp] DB 102,15,56,220,241 DB 102,15,56,220,249 - movups xmm1,XMMWORD PTR[16+rbp] + movups xmm1,XMMWORD PTR[16+rbp] pxor xmm14,xmm15 DB 102,15,56,221,84,36,0 @@ -2001,48 +2001,48 @@ DB 102,15,56,221,116,36,64 DB 102,15,56,221,124,36,80 pxor xmm15,xmm9 - lea rsi,QWORD PTR[96+rsi] - movups XMMWORD PTR[(-96)+rsi],xmm2 - movups XMMWORD PTR[(-80)+rsi],xmm3 - movups XMMWORD PTR[(-64)+rsi],xmm4 - movups XMMWORD PTR[(-48)+rsi],xmm5 - movups XMMWORD PTR[(-32)+rsi],xmm6 - movups XMMWORD PTR[(-16)+rsi],xmm7 + lea rsi,QWORD PTR[96+rsi] + movups XMMWORD PTR[(-96)+rsi],xmm2 + movups XMMWORD PTR[(-80)+rsi],xmm3 + movups XMMWORD PTR[(-64)+rsi],xmm4 + movups XMMWORD PTR[(-48)+rsi],xmm5 + movups XMMWORD PTR[(-32)+rsi],xmm6 + movups XMMWORD PTR[(-16)+rsi],xmm7 sub rdx,16*6 - jnc $L$xts_enc_grandloop + jnc $L$xts_enc_grandloop mov eax,16+96 sub eax,r10d mov rcx,rbp shr eax,4 -$L$xts_enc_short:: +$L$xts_enc_short:: mov r10d,eax pxor xmm10,xmm0 add rdx,16*6 - jz $L$xts_enc_done + jz $L$xts_enc_done pxor xmm11,xmm0 - cmp rdx,020h - jb $L$xts_enc_one + cmp rdx,020h + jb $L$xts_enc_one pxor xmm12,xmm0 - je $L$xts_enc_two + je $L$xts_enc_two pxor xmm13,xmm0 - cmp rdx,040h - jb $L$xts_enc_three + cmp rdx,040h + jb $L$xts_enc_three pxor xmm14,xmm0 - je $L$xts_enc_four + je $L$xts_enc_four - movdqu xmm2,XMMWORD PTR[rdi] - movdqu xmm3,XMMWORD PTR[16+rdi] - movdqu xmm4,XMMWORD PTR[32+rdi] + movdqu xmm2,XMMWORD PTR[rdi] + movdqu xmm3,XMMWORD PTR[16+rdi] + movdqu xmm4,XMMWORD PTR[32+rdi] pxor xmm2,xmm10 - movdqu xmm5,XMMWORD PTR[48+rdi] + movdqu xmm5,XMMWORD PTR[48+rdi] pxor xmm3,xmm11 - movdqu xmm6,XMMWORD PTR[64+rdi] - lea rdi,QWORD PTR[80+rdi] + movdqu xmm6,XMMWORD PTR[64+rdi] + lea rdi,QWORD PTR[80+rdi] pxor xmm4,xmm12 pxor xmm5,xmm13 pxor xmm6,xmm14 @@ -2054,43 +2054,43 @@ $L$xts_enc_short:: movdqa xmm10,xmm15 xorps xmm3,xmm11 xorps xmm4,xmm12 - movdqu XMMWORD PTR[rsi],xmm2 + movdqu XMMWORD PTR[rsi],xmm2 xorps xmm5,xmm13 - movdqu XMMWORD PTR[16+rsi],xmm3 + movdqu XMMWORD PTR[16+rsi],xmm3 xorps xmm6,xmm14 - movdqu XMMWORD PTR[32+rsi],xmm4 - movdqu XMMWORD PTR[48+rsi],xmm5 - movdqu XMMWORD PTR[64+rsi],xmm6 - lea rsi,QWORD PTR[80+rsi] - jmp $L$xts_enc_done + movdqu XMMWORD PTR[32+rsi],xmm4 + movdqu XMMWORD PTR[48+rsi],xmm5 + movdqu XMMWORD PTR[64+rsi],xmm6 + lea rsi,QWORD PTR[80+rsi] + jmp $L$xts_enc_done ALIGN 16 -$L$xts_enc_one:: - movups xmm2,XMMWORD PTR[rdi] - lea rdi,QWORD PTR[16+rdi] +$L$xts_enc_one:: + movups xmm2,XMMWORD PTR[rdi] + lea rdi,QWORD PTR[16+rdi] xorps xmm2,xmm10 - movups xmm0,XMMWORD PTR[rcx] - movups xmm1,XMMWORD PTR[16+rcx] - lea rcx,QWORD PTR[32+rcx] + movups xmm0,XMMWORD PTR[rcx] + movups xmm1,XMMWORD PTR[16+rcx] + lea rcx,QWORD PTR[32+rcx] xorps xmm2,xmm0 -$L$oop_enc1_9:: +$L$oop_enc1_9:: DB 102,15,56,220,209 dec eax - movups xmm1,XMMWORD PTR[rcx] - lea rcx,QWORD PTR[16+rcx] - jnz $L$oop_enc1_9 + movups xmm1,XMMWORD PTR[rcx] + lea rcx,QWORD PTR[16+rcx] + jnz $L$oop_enc1_9 DB 102,15,56,221,209 xorps xmm2,xmm10 movdqa xmm10,xmm11 - movups XMMWORD PTR[rsi],xmm2 - lea rsi,QWORD PTR[16+rsi] - jmp $L$xts_enc_done + movups XMMWORD PTR[rsi],xmm2 + lea rsi,QWORD PTR[16+rsi] + jmp $L$xts_enc_done ALIGN 16 -$L$xts_enc_two:: - movups xmm2,XMMWORD PTR[rdi] - movups xmm3,XMMWORD PTR[16+rdi] - lea rdi,QWORD PTR[32+rdi] +$L$xts_enc_two:: + movups xmm2,XMMWORD PTR[rdi] + movups xmm3,XMMWORD PTR[16+rdi] + lea rdi,QWORD PTR[32+rdi] xorps xmm2,xmm10 xorps xmm3,xmm11 @@ -2099,17 +2099,17 @@ $L$xts_enc_two:: xorps xmm2,xmm10 movdqa xmm10,xmm12 xorps xmm3,xmm11 - movups XMMWORD PTR[rsi],xmm2 - movups XMMWORD PTR[16+rsi],xmm3 - lea rsi,QWORD PTR[32+rsi] - jmp $L$xts_enc_done + movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[16+rsi],xmm3 + lea rsi,QWORD PTR[32+rsi] + jmp $L$xts_enc_done ALIGN 16 -$L$xts_enc_three:: - movups xmm2,XMMWORD PTR[rdi] - movups xmm3,XMMWORD PTR[16+rdi] - movups xmm4,XMMWORD PTR[32+rdi] - lea rdi,QWORD PTR[48+rdi] +$L$xts_enc_three:: + movups xmm2,XMMWORD PTR[rdi] + movups xmm3,XMMWORD PTR[16+rdi] + movups xmm4,XMMWORD PTR[32+rdi] + lea rdi,QWORD PTR[48+rdi] xorps xmm2,xmm10 xorps xmm3,xmm11 xorps xmm4,xmm12 @@ -2120,20 +2120,20 @@ $L$xts_enc_three:: movdqa xmm10,xmm13 xorps xmm3,xmm11 xorps xmm4,xmm12 - movups XMMWORD PTR[rsi],xmm2 - movups XMMWORD PTR[16+rsi],xmm3 - movups XMMWORD PTR[32+rsi],xmm4 - lea rsi,QWORD PTR[48+rsi] - jmp $L$xts_enc_done + movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[32+rsi],xmm4 + lea rsi,QWORD PTR[48+rsi] + jmp $L$xts_enc_done ALIGN 16 -$L$xts_enc_four:: - movups xmm2,XMMWORD PTR[rdi] - movups xmm3,XMMWORD PTR[16+rdi] - movups xmm4,XMMWORD PTR[32+rdi] +$L$xts_enc_four:: + movups xmm2,XMMWORD PTR[rdi] + movups xmm3,XMMWORD PTR[16+rdi] + movups xmm4,XMMWORD PTR[32+rdi] xorps xmm2,xmm10 - movups xmm5,XMMWORD PTR[48+rdi] - lea rdi,QWORD PTR[64+rdi] + movups xmm5,XMMWORD PTR[48+rdi] + lea rdi,QWORD PTR[64+rdi] xorps xmm3,xmm11 xorps xmm4,xmm12 xorps xmm5,xmm13 @@ -2144,142 +2144,142 @@ $L$xts_enc_four:: movdqa xmm10,xmm14 pxor xmm3,xmm11 pxor xmm4,xmm12 - movdqu XMMWORD PTR[rsi],xmm2 + movdqu XMMWORD PTR[rsi],xmm2 pxor xmm5,xmm13 - movdqu XMMWORD PTR[16+rsi],xmm3 - movdqu XMMWORD PTR[32+rsi],xmm4 - movdqu XMMWORD PTR[48+rsi],xmm5 - lea rsi,QWORD PTR[64+rsi] - jmp $L$xts_enc_done + movdqu XMMWORD PTR[16+rsi],xmm3 + movdqu XMMWORD PTR[32+rsi],xmm4 + movdqu XMMWORD PTR[48+rsi],xmm5 + lea rsi,QWORD PTR[64+rsi] + jmp $L$xts_enc_done ALIGN 16 -$L$xts_enc_done:: +$L$xts_enc_done:: and r9,15 - jz $L$xts_enc_ret + jz $L$xts_enc_ret mov rdx,r9 -$L$xts_enc_steal:: - movzx eax,BYTE PTR[rdi] - movzx ecx,BYTE PTR[((-16))+rsi] - lea rdi,QWORD PTR[1+rdi] - mov BYTE PTR[((-16))+rsi],al - mov BYTE PTR[rsi],cl - lea rsi,QWORD PTR[1+rsi] +$L$xts_enc_steal:: + movzx eax,BYTE PTR[rdi] + movzx ecx,BYTE PTR[((-16))+rsi] + lea rdi,QWORD PTR[1+rdi] + mov BYTE PTR[((-16))+rsi],al + mov BYTE PTR[rsi],cl + lea rsi,QWORD PTR[1+rsi] sub rdx,1 - jnz $L$xts_enc_steal + jnz $L$xts_enc_steal sub rsi,r9 mov rcx,rbp mov eax,r10d - movups xmm2,XMMWORD PTR[((-16))+rsi] + movups xmm2,XMMWORD PTR[((-16))+rsi] xorps xmm2,xmm10 - movups xmm0,XMMWORD PTR[rcx] - movups xmm1,XMMWORD PTR[16+rcx] - lea rcx,QWORD PTR[32+rcx] + movups xmm0,XMMWORD PTR[rcx] + movups xmm1,XMMWORD PTR[16+rcx] + lea rcx,QWORD PTR[32+rcx] xorps xmm2,xmm0 -$L$oop_enc1_10:: +$L$oop_enc1_10:: DB 102,15,56,220,209 dec eax - movups xmm1,XMMWORD PTR[rcx] - lea rcx,QWORD PTR[16+rcx] - jnz $L$oop_enc1_10 + movups xmm1,XMMWORD PTR[rcx] + lea rcx,QWORD PTR[16+rcx] + jnz $L$oop_enc1_10 DB 102,15,56,221,209 xorps xmm2,xmm10 - movups XMMWORD PTR[(-16)+rsi],xmm2 + movups XMMWORD PTR[(-16)+rsi],xmm2 -$L$xts_enc_ret:: +$L$xts_enc_ret:: xorps xmm0,xmm0 pxor xmm1,xmm1 pxor xmm2,xmm2 pxor xmm3,xmm3 pxor xmm4,xmm4 pxor xmm5,xmm5 - movaps xmm6,XMMWORD PTR[((-168))+r11] - movaps XMMWORD PTR[(-168)+r11],xmm0 - movaps xmm7,XMMWORD PTR[((-152))+r11] - movaps XMMWORD PTR[(-152)+r11],xmm0 - movaps xmm8,XMMWORD PTR[((-136))+r11] - movaps XMMWORD PTR[(-136)+r11],xmm0 - movaps xmm9,XMMWORD PTR[((-120))+r11] - movaps XMMWORD PTR[(-120)+r11],xmm0 - movaps xmm10,XMMWORD PTR[((-104))+r11] - movaps XMMWORD PTR[(-104)+r11],xmm0 - movaps xmm11,XMMWORD PTR[((-88))+r11] - movaps XMMWORD PTR[(-88)+r11],xmm0 - movaps xmm12,XMMWORD PTR[((-72))+r11] - movaps XMMWORD PTR[(-72)+r11],xmm0 - movaps xmm13,XMMWORD PTR[((-56))+r11] - movaps XMMWORD PTR[(-56)+r11],xmm0 - movaps xmm14,XMMWORD PTR[((-40))+r11] - movaps XMMWORD PTR[(-40)+r11],xmm0 - movaps xmm15,XMMWORD PTR[((-24))+r11] - movaps XMMWORD PTR[(-24)+r11],xmm0 - movaps XMMWORD PTR[rsp],xmm0 - movaps XMMWORD PTR[16+rsp],xmm0 - movaps XMMWORD PTR[32+rsp],xmm0 - movaps XMMWORD PTR[48+rsp],xmm0 - movaps XMMWORD PTR[64+rsp],xmm0 - movaps XMMWORD PTR[80+rsp],xmm0 - movaps XMMWORD PTR[96+rsp],xmm0 - mov rbp,QWORD PTR[((-8))+r11] - - lea rsp,QWORD PTR[r11] - -$L$xts_enc_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movaps xmm6,XMMWORD PTR[((-168))+r11] + movaps XMMWORD PTR[(-168)+r11],xmm0 + movaps xmm7,XMMWORD PTR[((-152))+r11] + movaps XMMWORD PTR[(-152)+r11],xmm0 + movaps xmm8,XMMWORD PTR[((-136))+r11] + movaps XMMWORD PTR[(-136)+r11],xmm0 + movaps xmm9,XMMWORD PTR[((-120))+r11] + movaps XMMWORD PTR[(-120)+r11],xmm0 + movaps xmm10,XMMWORD PTR[((-104))+r11] + movaps XMMWORD PTR[(-104)+r11],xmm0 + movaps xmm11,XMMWORD PTR[((-88))+r11] + movaps XMMWORD PTR[(-88)+r11],xmm0 + movaps xmm12,XMMWORD PTR[((-72))+r11] + movaps XMMWORD PTR[(-72)+r11],xmm0 + movaps xmm13,XMMWORD PTR[((-56))+r11] + movaps XMMWORD PTR[(-56)+r11],xmm0 + movaps xmm14,XMMWORD PTR[((-40))+r11] + movaps XMMWORD PTR[(-40)+r11],xmm0 + movaps xmm15,XMMWORD PTR[((-24))+r11] + movaps XMMWORD PTR[(-24)+r11],xmm0 + movaps XMMWORD PTR[rsp],xmm0 + movaps XMMWORD PTR[16+rsp],xmm0 + movaps XMMWORD PTR[32+rsp],xmm0 + movaps XMMWORD PTR[48+rsp],xmm0 + movaps XMMWORD PTR[64+rsp],xmm0 + movaps XMMWORD PTR[80+rsp],xmm0 + movaps XMMWORD PTR[96+rsp],xmm0 + mov rbp,QWORD PTR[((-8))+r11] + + lea rsp,QWORD PTR[r11] + +$L$xts_enc_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_xts_encrypt:: -aesni_xts_encrypt ENDP -PUBLIC aesni_xts_decrypt +$L$SEH_end_aesni_xts_encrypt:: +aesni_xts_encrypt ENDP +PUBLIC aesni_xts_decrypt ALIGN 16 -aesni_xts_decrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_xts_decrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_xts_decrypt:: +$L$SEH_begin_aesni_xts_decrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] - lea r11,QWORD PTR[rsp] + lea r11,QWORD PTR[rsp] push rbp sub rsp,272 and rsp,-16 - movaps XMMWORD PTR[(-168)+r11],xmm6 - movaps XMMWORD PTR[(-152)+r11],xmm7 - movaps XMMWORD PTR[(-136)+r11],xmm8 - movaps XMMWORD PTR[(-120)+r11],xmm9 - movaps XMMWORD PTR[(-104)+r11],xmm10 - movaps XMMWORD PTR[(-88)+r11],xmm11 - movaps XMMWORD PTR[(-72)+r11],xmm12 - movaps XMMWORD PTR[(-56)+r11],xmm13 - movaps XMMWORD PTR[(-40)+r11],xmm14 - movaps XMMWORD PTR[(-24)+r11],xmm15 -$L$xts_dec_body:: - movups xmm2,XMMWORD PTR[r9] - mov eax,DWORD PTR[240+r8] - mov r10d,DWORD PTR[240+rcx] - movups xmm0,XMMWORD PTR[r8] - movups xmm1,XMMWORD PTR[16+r8] - lea r8,QWORD PTR[32+r8] + movaps XMMWORD PTR[(-168)+r11],xmm6 + movaps XMMWORD PTR[(-152)+r11],xmm7 + movaps XMMWORD PTR[(-136)+r11],xmm8 + movaps XMMWORD PTR[(-120)+r11],xmm9 + movaps XMMWORD PTR[(-104)+r11],xmm10 + movaps XMMWORD PTR[(-88)+r11],xmm11 + movaps XMMWORD PTR[(-72)+r11],xmm12 + movaps XMMWORD PTR[(-56)+r11],xmm13 + movaps XMMWORD PTR[(-40)+r11],xmm14 + movaps XMMWORD PTR[(-24)+r11],xmm15 +$L$xts_dec_body:: + movups xmm2,XMMWORD PTR[r9] + mov eax,DWORD PTR[240+r8] + mov r10d,DWORD PTR[240+rcx] + movups xmm0,XMMWORD PTR[r8] + movups xmm1,XMMWORD PTR[16+r8] + lea r8,QWORD PTR[32+r8] xorps xmm2,xmm0 -$L$oop_enc1_11:: +$L$oop_enc1_11:: DB 102,15,56,220,209 dec eax - movups xmm1,XMMWORD PTR[r8] - lea r8,QWORD PTR[16+r8] - jnz $L$oop_enc1_11 + movups xmm1,XMMWORD PTR[r8] + lea r8,QWORD PTR[16+r8] + jnz $L$oop_enc1_11 DB 102,15,56,221,209 xor eax,eax test rdx,15 @@ -2287,18 +2287,18 @@ DB 102,15,56,221,209 shl rax,4 sub rdx,rax - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] mov rbp,rcx mov eax,r10d shl r10d,4 mov r9,rdx and rdx,-16 - movups xmm1,XMMWORD PTR[16+r10*1+rcx] + movups xmm1,XMMWORD PTR[16+r10*1+rcx] - movdqa xmm8,XMMWORD PTR[$L$xts_magic] + movdqa xmm8,XMMWORD PTR[$L$xts_magic] movdqa xmm15,xmm2 - pshufd xmm9,xmm2,05fh + pshufd xmm9,xmm2,05fh pxor xmm1,xmm0 movdqa xmm14,xmm9 paddd xmm9,xmm9 @@ -2338,76 +2338,76 @@ DB 102,15,56,221,209 pand xmm9,xmm8 pxor xmm14,xmm0 pxor xmm15,xmm9 - movaps XMMWORD PTR[96+rsp],xmm1 + movaps XMMWORD PTR[96+rsp],xmm1 sub rdx,16*6 - jc $L$xts_dec_short + jc $L$xts_dec_short mov eax,16+96 - lea rcx,QWORD PTR[32+r10*1+rbp] + lea rcx,QWORD PTR[32+r10*1+rbp] sub rax,r10 - movups xmm1,XMMWORD PTR[16+rbp] + movups xmm1,XMMWORD PTR[16+rbp] mov r10,rax - lea r8,QWORD PTR[$L$xts_magic] - jmp $L$xts_dec_grandloop + lea r8,QWORD PTR[$L$xts_magic] + jmp $L$xts_dec_grandloop ALIGN 32 -$L$xts_dec_grandloop:: - movdqu xmm2,XMMWORD PTR[rdi] +$L$xts_dec_grandloop:: + movdqu xmm2,XMMWORD PTR[rdi] movdqa xmm8,xmm0 - movdqu xmm3,XMMWORD PTR[16+rdi] + movdqu xmm3,XMMWORD PTR[16+rdi] pxor xmm2,xmm10 - movdqu xmm4,XMMWORD PTR[32+rdi] + movdqu xmm4,XMMWORD PTR[32+rdi] pxor xmm3,xmm11 DB 102,15,56,222,209 - movdqu xmm5,XMMWORD PTR[48+rdi] + movdqu xmm5,XMMWORD PTR[48+rdi] pxor xmm4,xmm12 DB 102,15,56,222,217 - movdqu xmm6,XMMWORD PTR[64+rdi] + movdqu xmm6,XMMWORD PTR[64+rdi] pxor xmm5,xmm13 DB 102,15,56,222,225 - movdqu xmm7,XMMWORD PTR[80+rdi] + movdqu xmm7,XMMWORD PTR[80+rdi] pxor xmm8,xmm15 - movdqa xmm9,XMMWORD PTR[96+rsp] + movdqa xmm9,XMMWORD PTR[96+rsp] pxor xmm6,xmm14 DB 102,15,56,222,233 - movups xmm0,XMMWORD PTR[32+rbp] - lea rdi,QWORD PTR[96+rdi] + movups xmm0,XMMWORD PTR[32+rbp] + lea rdi,QWORD PTR[96+rdi] pxor xmm7,xmm8 pxor xmm10,xmm9 DB 102,15,56,222,241 pxor xmm11,xmm9 - movdqa XMMWORD PTR[rsp],xmm10 + movdqa XMMWORD PTR[rsp],xmm10 DB 102,15,56,222,249 - movups xmm1,XMMWORD PTR[48+rbp] + movups xmm1,XMMWORD PTR[48+rbp] pxor xmm12,xmm9 DB 102,15,56,222,208 pxor xmm13,xmm9 - movdqa XMMWORD PTR[16+rsp],xmm11 + movdqa XMMWORD PTR[16+rsp],xmm11 DB 102,15,56,222,216 pxor xmm14,xmm9 - movdqa XMMWORD PTR[32+rsp],xmm12 + movdqa XMMWORD PTR[32+rsp],xmm12 DB 102,15,56,222,224 DB 102,15,56,222,232 pxor xmm8,xmm9 - movdqa XMMWORD PTR[64+rsp],xmm14 + movdqa XMMWORD PTR[64+rsp],xmm14 DB 102,15,56,222,240 DB 102,15,56,222,248 - movups xmm0,XMMWORD PTR[64+rbp] - movdqa XMMWORD PTR[80+rsp],xmm8 - pshufd xmm9,xmm15,05fh - jmp $L$xts_dec_loop6 + movups xmm0,XMMWORD PTR[64+rbp] + movdqa XMMWORD PTR[80+rsp],xmm8 + pshufd xmm9,xmm15,05fh + jmp $L$xts_dec_loop6 ALIGN 32 -$L$xts_dec_loop6:: +$L$xts_dec_loop6:: DB 102,15,56,222,209 DB 102,15,56,222,217 DB 102,15,56,222,225 DB 102,15,56,222,233 DB 102,15,56,222,241 DB 102,15,56,222,249 - movups xmm1,XMMWORD PTR[((-64))+rax*1+rcx] + movups xmm1,XMMWORD PTR[((-64))+rax*1+rcx] add rax,32 DB 102,15,56,222,208 @@ -2416,10 +2416,10 @@ DB 102,15,56,222,224 DB 102,15,56,222,232 DB 102,15,56,222,240 DB 102,15,56,222,248 - movups xmm0,XMMWORD PTR[((-80))+rax*1+rcx] - jnz $L$xts_dec_loop6 + movups xmm0,XMMWORD PTR[((-80))+rax*1+rcx] + jnz $L$xts_dec_loop6 - movdqa xmm8,XMMWORD PTR[r8] + movdqa xmm8,XMMWORD PTR[r8] movdqa xmm14,xmm9 paddd xmm9,xmm9 DB 102,15,56,222,209 @@ -2427,14 +2427,14 @@ DB 102,15,56,222,209 psrad xmm14,31 DB 102,15,56,222,217 pand xmm14,xmm8 - movups xmm10,XMMWORD PTR[rbp] + movups xmm10,XMMWORD PTR[rbp] DB 102,15,56,222,225 DB 102,15,56,222,233 DB 102,15,56,222,241 pxor xmm15,xmm14 movaps xmm11,xmm10 DB 102,15,56,222,249 - movups xmm1,XMMWORD PTR[((-64))+rcx] + movups xmm1,XMMWORD PTR[((-64))+rcx] movdqa xmm14,xmm9 DB 102,15,56,222,208 @@ -2451,7 +2451,7 @@ DB 102,15,56,222,240 pxor xmm15,xmm14 movdqa xmm14,xmm9 DB 102,15,56,222,248 - movups xmm0,XMMWORD PTR[((-48))+rcx] + movups xmm0,XMMWORD PTR[((-48))+rcx] paddd xmm9,xmm9 DB 102,15,56,222,209 @@ -2462,13 +2462,13 @@ DB 102,15,56,222,217 pand xmm14,xmm8 DB 102,15,56,222,225 DB 102,15,56,222,233 - movdqa XMMWORD PTR[48+rsp],xmm13 + movdqa XMMWORD PTR[48+rsp],xmm13 pxor xmm15,xmm14 DB 102,15,56,222,241 movaps xmm13,xmm12 movdqa xmm14,xmm9 DB 102,15,56,222,249 - movups xmm1,XMMWORD PTR[((-32))+rcx] + movups xmm1,XMMWORD PTR[((-32))+rcx] paddd xmm9,xmm9 DB 102,15,56,222,208 @@ -2495,10 +2495,10 @@ DB 102,15,56,222,217 DB 102,15,56,222,225 DB 102,15,56,222,233 pxor xmm15,xmm0 - movups xmm0,XMMWORD PTR[rbp] + movups xmm0,XMMWORD PTR[rbp] DB 102,15,56,222,241 DB 102,15,56,222,249 - movups xmm1,XMMWORD PTR[16+rbp] + movups xmm1,XMMWORD PTR[16+rbp] pxor xmm14,xmm15 DB 102,15,56,223,84,36,0 @@ -2513,48 +2513,48 @@ DB 102,15,56,223,116,36,64 DB 102,15,56,223,124,36,80 pxor xmm15,xmm9 - lea rsi,QWORD PTR[96+rsi] - movups XMMWORD PTR[(-96)+rsi],xmm2 - movups XMMWORD PTR[(-80)+rsi],xmm3 - movups XMMWORD PTR[(-64)+rsi],xmm4 - movups XMMWORD PTR[(-48)+rsi],xmm5 - movups XMMWORD PTR[(-32)+rsi],xmm6 - movups XMMWORD PTR[(-16)+rsi],xmm7 + lea rsi,QWORD PTR[96+rsi] + movups XMMWORD PTR[(-96)+rsi],xmm2 + movups XMMWORD PTR[(-80)+rsi],xmm3 + movups XMMWORD PTR[(-64)+rsi],xmm4 + movups XMMWORD PTR[(-48)+rsi],xmm5 + movups XMMWORD PTR[(-32)+rsi],xmm6 + movups XMMWORD PTR[(-16)+rsi],xmm7 sub rdx,16*6 - jnc $L$xts_dec_grandloop + jnc $L$xts_dec_grandloop mov eax,16+96 sub eax,r10d mov rcx,rbp shr eax,4 -$L$xts_dec_short:: +$L$xts_dec_short:: mov r10d,eax pxor xmm10,xmm0 pxor xmm11,xmm0 add rdx,16*6 - jz $L$xts_dec_done + jz $L$xts_dec_done pxor xmm12,xmm0 - cmp rdx,020h - jb $L$xts_dec_one + cmp rdx,020h + jb $L$xts_dec_one pxor xmm13,xmm0 - je $L$xts_dec_two + je $L$xts_dec_two pxor xmm14,xmm0 - cmp rdx,040h - jb $L$xts_dec_three - je $L$xts_dec_four + cmp rdx,040h + jb $L$xts_dec_three + je $L$xts_dec_four - movdqu xmm2,XMMWORD PTR[rdi] - movdqu xmm3,XMMWORD PTR[16+rdi] - movdqu xmm4,XMMWORD PTR[32+rdi] + movdqu xmm2,XMMWORD PTR[rdi] + movdqu xmm3,XMMWORD PTR[16+rdi] + movdqu xmm4,XMMWORD PTR[32+rdi] pxor xmm2,xmm10 - movdqu xmm5,XMMWORD PTR[48+rdi] + movdqu xmm5,XMMWORD PTR[48+rdi] pxor xmm3,xmm11 - movdqu xmm6,XMMWORD PTR[64+rdi] - lea rdi,QWORD PTR[80+rdi] + movdqu xmm6,XMMWORD PTR[64+rdi] + lea rdi,QWORD PTR[80+rdi] pxor xmm4,xmm12 pxor xmm5,xmm13 pxor xmm6,xmm14 @@ -2564,54 +2564,54 @@ $L$xts_dec_short:: xorps xmm2,xmm10 xorps xmm3,xmm11 xorps xmm4,xmm12 - movdqu XMMWORD PTR[rsi],xmm2 + movdqu XMMWORD PTR[rsi],xmm2 xorps xmm5,xmm13 - movdqu XMMWORD PTR[16+rsi],xmm3 + movdqu XMMWORD PTR[16+rsi],xmm3 xorps xmm6,xmm14 - movdqu XMMWORD PTR[32+rsi],xmm4 + movdqu XMMWORD PTR[32+rsi],xmm4 pxor xmm14,xmm14 - movdqu XMMWORD PTR[48+rsi],xmm5 + movdqu XMMWORD PTR[48+rsi],xmm5 pcmpgtd xmm14,xmm15 - movdqu XMMWORD PTR[64+rsi],xmm6 - lea rsi,QWORD PTR[80+rsi] - pshufd xmm11,xmm14,013h + movdqu XMMWORD PTR[64+rsi],xmm6 + lea rsi,QWORD PTR[80+rsi] + pshufd xmm11,xmm14,013h and r9,15 - jz $L$xts_dec_ret + jz $L$xts_dec_ret movdqa xmm10,xmm15 paddq xmm15,xmm15 pand xmm11,xmm8 pxor xmm11,xmm15 - jmp $L$xts_dec_done2 + jmp $L$xts_dec_done2 ALIGN 16 -$L$xts_dec_one:: - movups xmm2,XMMWORD PTR[rdi] - lea rdi,QWORD PTR[16+rdi] +$L$xts_dec_one:: + movups xmm2,XMMWORD PTR[rdi] + lea rdi,QWORD PTR[16+rdi] xorps xmm2,xmm10 - movups xmm0,XMMWORD PTR[rcx] - movups xmm1,XMMWORD PTR[16+rcx] - lea rcx,QWORD PTR[32+rcx] + movups xmm0,XMMWORD PTR[rcx] + movups xmm1,XMMWORD PTR[16+rcx] + lea rcx,QWORD PTR[32+rcx] xorps xmm2,xmm0 -$L$oop_dec1_12:: +$L$oop_dec1_12:: DB 102,15,56,222,209 dec eax - movups xmm1,XMMWORD PTR[rcx] - lea rcx,QWORD PTR[16+rcx] - jnz $L$oop_dec1_12 + movups xmm1,XMMWORD PTR[rcx] + lea rcx,QWORD PTR[16+rcx] + jnz $L$oop_dec1_12 DB 102,15,56,223,209 xorps xmm2,xmm10 movdqa xmm10,xmm11 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 movdqa xmm11,xmm12 - lea rsi,QWORD PTR[16+rsi] - jmp $L$xts_dec_done + lea rsi,QWORD PTR[16+rsi] + jmp $L$xts_dec_done ALIGN 16 -$L$xts_dec_two:: - movups xmm2,XMMWORD PTR[rdi] - movups xmm3,XMMWORD PTR[16+rdi] - lea rdi,QWORD PTR[32+rdi] +$L$xts_dec_two:: + movups xmm2,XMMWORD PTR[rdi] + movups xmm3,XMMWORD PTR[16+rdi] + lea rdi,QWORD PTR[32+rdi] xorps xmm2,xmm10 xorps xmm3,xmm11 @@ -2621,17 +2621,17 @@ $L$xts_dec_two:: movdqa xmm10,xmm12 xorps xmm3,xmm11 movdqa xmm11,xmm13 - movups XMMWORD PTR[rsi],xmm2 - movups XMMWORD PTR[16+rsi],xmm3 - lea rsi,QWORD PTR[32+rsi] - jmp $L$xts_dec_done + movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[16+rsi],xmm3 + lea rsi,QWORD PTR[32+rsi] + jmp $L$xts_dec_done ALIGN 16 -$L$xts_dec_three:: - movups xmm2,XMMWORD PTR[rdi] - movups xmm3,XMMWORD PTR[16+rdi] - movups xmm4,XMMWORD PTR[32+rdi] - lea rdi,QWORD PTR[48+rdi] +$L$xts_dec_three:: + movups xmm2,XMMWORD PTR[rdi] + movups xmm3,XMMWORD PTR[16+rdi] + movups xmm4,XMMWORD PTR[32+rdi] + lea rdi,QWORD PTR[48+rdi] xorps xmm2,xmm10 xorps xmm3,xmm11 xorps xmm4,xmm12 @@ -2643,20 +2643,20 @@ $L$xts_dec_three:: xorps xmm3,xmm11 movdqa xmm11,xmm14 xorps xmm4,xmm12 - movups XMMWORD PTR[rsi],xmm2 - movups XMMWORD PTR[16+rsi],xmm3 - movups XMMWORD PTR[32+rsi],xmm4 - lea rsi,QWORD PTR[48+rsi] - jmp $L$xts_dec_done + movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[32+rsi],xmm4 + lea rsi,QWORD PTR[48+rsi] + jmp $L$xts_dec_done ALIGN 16 -$L$xts_dec_four:: - movups xmm2,XMMWORD PTR[rdi] - movups xmm3,XMMWORD PTR[16+rdi] - movups xmm4,XMMWORD PTR[32+rdi] +$L$xts_dec_four:: + movups xmm2,XMMWORD PTR[rdi] + movups xmm3,XMMWORD PTR[16+rdi] + movups xmm4,XMMWORD PTR[32+rdi] xorps xmm2,xmm10 - movups xmm5,XMMWORD PTR[48+rdi] - lea rdi,QWORD PTR[64+rdi] + movups xmm5,XMMWORD PTR[48+rdi] + lea rdi,QWORD PTR[64+rdi] xorps xmm3,xmm11 xorps xmm4,xmm12 xorps xmm5,xmm13 @@ -2668,132 +2668,132 @@ $L$xts_dec_four:: pxor xmm3,xmm11 movdqa xmm11,xmm15 pxor xmm4,xmm12 - movdqu XMMWORD PTR[rsi],xmm2 + movdqu XMMWORD PTR[rsi],xmm2 pxor xmm5,xmm13 - movdqu XMMWORD PTR[16+rsi],xmm3 - movdqu XMMWORD PTR[32+rsi],xmm4 - movdqu XMMWORD PTR[48+rsi],xmm5 - lea rsi,QWORD PTR[64+rsi] - jmp $L$xts_dec_done + movdqu XMMWORD PTR[16+rsi],xmm3 + movdqu XMMWORD PTR[32+rsi],xmm4 + movdqu XMMWORD PTR[48+rsi],xmm5 + lea rsi,QWORD PTR[64+rsi] + jmp $L$xts_dec_done ALIGN 16 -$L$xts_dec_done:: +$L$xts_dec_done:: and r9,15 - jz $L$xts_dec_ret -$L$xts_dec_done2:: + jz $L$xts_dec_ret +$L$xts_dec_done2:: mov rdx,r9 mov rcx,rbp mov eax,r10d - movups xmm2,XMMWORD PTR[rdi] + movups xmm2,XMMWORD PTR[rdi] xorps xmm2,xmm11 - movups xmm0,XMMWORD PTR[rcx] - movups xmm1,XMMWORD PTR[16+rcx] - lea rcx,QWORD PTR[32+rcx] + movups xmm0,XMMWORD PTR[rcx] + movups xmm1,XMMWORD PTR[16+rcx] + lea rcx,QWORD PTR[32+rcx] xorps xmm2,xmm0 -$L$oop_dec1_13:: +$L$oop_dec1_13:: DB 102,15,56,222,209 dec eax - movups xmm1,XMMWORD PTR[rcx] - lea rcx,QWORD PTR[16+rcx] - jnz $L$oop_dec1_13 + movups xmm1,XMMWORD PTR[rcx] + lea rcx,QWORD PTR[16+rcx] + jnz $L$oop_dec1_13 DB 102,15,56,223,209 xorps xmm2,xmm11 - movups XMMWORD PTR[rsi],xmm2 - -$L$xts_dec_steal:: - movzx eax,BYTE PTR[16+rdi] - movzx ecx,BYTE PTR[rsi] - lea rdi,QWORD PTR[1+rdi] - mov BYTE PTR[rsi],al - mov BYTE PTR[16+rsi],cl - lea rsi,QWORD PTR[1+rsi] + movups XMMWORD PTR[rsi],xmm2 + +$L$xts_dec_steal:: + movzx eax,BYTE PTR[16+rdi] + movzx ecx,BYTE PTR[rsi] + lea rdi,QWORD PTR[1+rdi] + mov BYTE PTR[rsi],al + mov BYTE PTR[16+rsi],cl + lea rsi,QWORD PTR[1+rsi] sub rdx,1 - jnz $L$xts_dec_steal + jnz $L$xts_dec_steal sub rsi,r9 mov rcx,rbp mov eax,r10d - movups xmm2,XMMWORD PTR[rsi] + movups xmm2,XMMWORD PTR[rsi] xorps xmm2,xmm10 - movups xmm0,XMMWORD PTR[rcx] - movups xmm1,XMMWORD PTR[16+rcx] - lea rcx,QWORD PTR[32+rcx] + movups xmm0,XMMWORD PTR[rcx] + movups xmm1,XMMWORD PTR[16+rcx] + lea rcx,QWORD PTR[32+rcx] xorps xmm2,xmm0 -$L$oop_dec1_14:: +$L$oop_dec1_14:: DB 102,15,56,222,209 dec eax - movups xmm1,XMMWORD PTR[rcx] - lea rcx,QWORD PTR[16+rcx] - jnz $L$oop_dec1_14 + movups xmm1,XMMWORD PTR[rcx] + lea rcx,QWORD PTR[16+rcx] + jnz $L$oop_dec1_14 DB 102,15,56,223,209 xorps xmm2,xmm10 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 -$L$xts_dec_ret:: +$L$xts_dec_ret:: xorps xmm0,xmm0 pxor xmm1,xmm1 pxor xmm2,xmm2 pxor xmm3,xmm3 pxor xmm4,xmm4 pxor xmm5,xmm5 - movaps xmm6,XMMWORD PTR[((-168))+r11] - movaps XMMWORD PTR[(-168)+r11],xmm0 - movaps xmm7,XMMWORD PTR[((-152))+r11] - movaps XMMWORD PTR[(-152)+r11],xmm0 - movaps xmm8,XMMWORD PTR[((-136))+r11] - movaps XMMWORD PTR[(-136)+r11],xmm0 - movaps xmm9,XMMWORD PTR[((-120))+r11] - movaps XMMWORD PTR[(-120)+r11],xmm0 - movaps xmm10,XMMWORD PTR[((-104))+r11] - movaps XMMWORD PTR[(-104)+r11],xmm0 - movaps xmm11,XMMWORD PTR[((-88))+r11] - movaps XMMWORD PTR[(-88)+r11],xmm0 - movaps xmm12,XMMWORD PTR[((-72))+r11] - movaps XMMWORD PTR[(-72)+r11],xmm0 - movaps xmm13,XMMWORD PTR[((-56))+r11] - movaps XMMWORD PTR[(-56)+r11],xmm0 - movaps xmm14,XMMWORD PTR[((-40))+r11] - movaps XMMWORD PTR[(-40)+r11],xmm0 - movaps xmm15,XMMWORD PTR[((-24))+r11] - movaps XMMWORD PTR[(-24)+r11],xmm0 - movaps XMMWORD PTR[rsp],xmm0 - movaps XMMWORD PTR[16+rsp],xmm0 - movaps XMMWORD PTR[32+rsp],xmm0 - movaps XMMWORD PTR[48+rsp],xmm0 - movaps XMMWORD PTR[64+rsp],xmm0 - movaps XMMWORD PTR[80+rsp],xmm0 - movaps XMMWORD PTR[96+rsp],xmm0 - mov rbp,QWORD PTR[((-8))+r11] - - lea rsp,QWORD PTR[r11] - -$L$xts_dec_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movaps xmm6,XMMWORD PTR[((-168))+r11] + movaps XMMWORD PTR[(-168)+r11],xmm0 + movaps xmm7,XMMWORD PTR[((-152))+r11] + movaps XMMWORD PTR[(-152)+r11],xmm0 + movaps xmm8,XMMWORD PTR[((-136))+r11] + movaps XMMWORD PTR[(-136)+r11],xmm0 + movaps xmm9,XMMWORD PTR[((-120))+r11] + movaps XMMWORD PTR[(-120)+r11],xmm0 + movaps xmm10,XMMWORD PTR[((-104))+r11] + movaps XMMWORD PTR[(-104)+r11],xmm0 + movaps xmm11,XMMWORD PTR[((-88))+r11] + movaps XMMWORD PTR[(-88)+r11],xmm0 + movaps xmm12,XMMWORD PTR[((-72))+r11] + movaps XMMWORD PTR[(-72)+r11],xmm0 + movaps xmm13,XMMWORD PTR[((-56))+r11] + movaps XMMWORD PTR[(-56)+r11],xmm0 + movaps xmm14,XMMWORD PTR[((-40))+r11] + movaps XMMWORD PTR[(-40)+r11],xmm0 + movaps xmm15,XMMWORD PTR[((-24))+r11] + movaps XMMWORD PTR[(-24)+r11],xmm0 + movaps XMMWORD PTR[rsp],xmm0 + movaps XMMWORD PTR[16+rsp],xmm0 + movaps XMMWORD PTR[32+rsp],xmm0 + movaps XMMWORD PTR[48+rsp],xmm0 + movaps XMMWORD PTR[64+rsp],xmm0 + movaps XMMWORD PTR[80+rsp],xmm0 + movaps XMMWORD PTR[96+rsp],xmm0 + mov rbp,QWORD PTR[((-8))+r11] + + lea rsp,QWORD PTR[r11] + +$L$xts_dec_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_xts_decrypt:: -aesni_xts_decrypt ENDP -PUBLIC aesni_ocb_encrypt +$L$SEH_end_aesni_xts_decrypt:: +aesni_xts_decrypt ENDP +PUBLIC aesni_ocb_encrypt ALIGN 32 -aesni_ocb_encrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_ocb_encrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_ocb_encrypt:: +$L$SEH_begin_aesni_ocb_encrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] - lea rax,QWORD PTR[rsp] + lea rax,QWORD PTR[rsp] push rbx push rbp @@ -2804,63 +2804,63 @@ $L$SEH_begin_aesni_ocb_encrypt:: push r14 - lea rsp,QWORD PTR[((-160))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 - movaps XMMWORD PTR[64+rsp],xmm10 - movaps XMMWORD PTR[80+rsp],xmm11 - movaps XMMWORD PTR[96+rsp],xmm12 - movaps XMMWORD PTR[112+rsp],xmm13 - movaps XMMWORD PTR[128+rsp],xmm14 - movaps XMMWORD PTR[144+rsp],xmm15 -$L$ocb_enc_body:: - mov rbx,QWORD PTR[56+rax] - mov rbp,QWORD PTR[((56+8))+rax] - - mov r10d,DWORD PTR[240+rcx] + lea rsp,QWORD PTR[((-160))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 + movaps XMMWORD PTR[64+rsp],xmm10 + movaps XMMWORD PTR[80+rsp],xmm11 + movaps XMMWORD PTR[96+rsp],xmm12 + movaps XMMWORD PTR[112+rsp],xmm13 + movaps XMMWORD PTR[128+rsp],xmm14 + movaps XMMWORD PTR[144+rsp],xmm15 +$L$ocb_enc_body:: + mov rbx,QWORD PTR[56+rax] + mov rbp,QWORD PTR[((56+8))+rax] + + mov r10d,DWORD PTR[240+rcx] mov r11,rcx shl r10d,4 - movups xmm9,XMMWORD PTR[rcx] - movups xmm1,XMMWORD PTR[16+r10*1+rcx] + movups xmm9,XMMWORD PTR[rcx] + movups xmm1,XMMWORD PTR[16+r10*1+rcx] - movdqu xmm15,XMMWORD PTR[r9] + movdqu xmm15,XMMWORD PTR[r9] pxor xmm9,xmm1 pxor xmm15,xmm1 mov eax,16+32 - lea rcx,QWORD PTR[32+r10*1+r11] - movups xmm1,XMMWORD PTR[16+r11] + lea rcx,QWORD PTR[32+r10*1+r11] + movups xmm1,XMMWORD PTR[16+r11] sub rax,r10 mov r10,rax - movdqu xmm10,XMMWORD PTR[rbx] - movdqu xmm8,XMMWORD PTR[rbp] + movdqu xmm10,XMMWORD PTR[rbx] + movdqu xmm8,XMMWORD PTR[rbp] test r8,1 - jnz $L$ocb_enc_odd + jnz $L$ocb_enc_odd bsf r12,r8 add r8,1 shl r12,4 - movdqu xmm7,XMMWORD PTR[r12*1+rbx] - movdqu xmm2,XMMWORD PTR[rdi] - lea rdi,QWORD PTR[16+rdi] + movdqu xmm7,XMMWORD PTR[r12*1+rbx] + movdqu xmm2,XMMWORD PTR[rdi] + lea rdi,QWORD PTR[16+rdi] call __ocb_encrypt1 movdqa xmm15,xmm7 - movups XMMWORD PTR[rsi],xmm2 - lea rsi,QWORD PTR[16+rsi] + movups XMMWORD PTR[rsi],xmm2 + lea rsi,QWORD PTR[16+rsi] sub rdx,1 - jz $L$ocb_enc_done + jz $L$ocb_enc_done -$L$ocb_enc_odd:: - lea r12,QWORD PTR[1+r8] - lea r13,QWORD PTR[3+r8] - lea r14,QWORD PTR[5+r8] - lea r8,QWORD PTR[6+r8] +$L$ocb_enc_odd:: + lea r12,QWORD PTR[1+r8] + lea r13,QWORD PTR[3+r8] + lea r14,QWORD PTR[5+r8] + lea r8,QWORD PTR[6+r8] bsf r12,r12 bsf r13,r13 bsf r14,r14 @@ -2869,111 +2869,111 @@ $L$ocb_enc_odd:: shl r14,4 sub rdx,6 - jc $L$ocb_enc_short - jmp $L$ocb_enc_grandloop + jc $L$ocb_enc_short + jmp $L$ocb_enc_grandloop ALIGN 32 -$L$ocb_enc_grandloop:: - movdqu xmm2,XMMWORD PTR[rdi] - movdqu xmm3,XMMWORD PTR[16+rdi] - movdqu xmm4,XMMWORD PTR[32+rdi] - movdqu xmm5,XMMWORD PTR[48+rdi] - movdqu xmm6,XMMWORD PTR[64+rdi] - movdqu xmm7,XMMWORD PTR[80+rdi] - lea rdi,QWORD PTR[96+rdi] +$L$ocb_enc_grandloop:: + movdqu xmm2,XMMWORD PTR[rdi] + movdqu xmm3,XMMWORD PTR[16+rdi] + movdqu xmm4,XMMWORD PTR[32+rdi] + movdqu xmm5,XMMWORD PTR[48+rdi] + movdqu xmm6,XMMWORD PTR[64+rdi] + movdqu xmm7,XMMWORD PTR[80+rdi] + lea rdi,QWORD PTR[96+rdi] call __ocb_encrypt6 - movups XMMWORD PTR[rsi],xmm2 - movups XMMWORD PTR[16+rsi],xmm3 - movups XMMWORD PTR[32+rsi],xmm4 - movups XMMWORD PTR[48+rsi],xmm5 - movups XMMWORD PTR[64+rsi],xmm6 - movups XMMWORD PTR[80+rsi],xmm7 - lea rsi,QWORD PTR[96+rsi] + movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[64+rsi],xmm6 + movups XMMWORD PTR[80+rsi],xmm7 + lea rsi,QWORD PTR[96+rsi] sub rdx,6 - jnc $L$ocb_enc_grandloop + jnc $L$ocb_enc_grandloop -$L$ocb_enc_short:: +$L$ocb_enc_short:: add rdx,6 - jz $L$ocb_enc_done + jz $L$ocb_enc_done - movdqu xmm2,XMMWORD PTR[rdi] + movdqu xmm2,XMMWORD PTR[rdi] cmp rdx,2 - jb $L$ocb_enc_one - movdqu xmm3,XMMWORD PTR[16+rdi] - je $L$ocb_enc_two + jb $L$ocb_enc_one + movdqu xmm3,XMMWORD PTR[16+rdi] + je $L$ocb_enc_two - movdqu xmm4,XMMWORD PTR[32+rdi] + movdqu xmm4,XMMWORD PTR[32+rdi] cmp rdx,4 - jb $L$ocb_enc_three - movdqu xmm5,XMMWORD PTR[48+rdi] - je $L$ocb_enc_four + jb $L$ocb_enc_three + movdqu xmm5,XMMWORD PTR[48+rdi] + je $L$ocb_enc_four - movdqu xmm6,XMMWORD PTR[64+rdi] + movdqu xmm6,XMMWORD PTR[64+rdi] pxor xmm7,xmm7 call __ocb_encrypt6 movdqa xmm15,xmm14 - movups XMMWORD PTR[rsi],xmm2 - movups XMMWORD PTR[16+rsi],xmm3 - movups XMMWORD PTR[32+rsi],xmm4 - movups XMMWORD PTR[48+rsi],xmm5 - movups XMMWORD PTR[64+rsi],xmm6 + movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[64+rsi],xmm6 - jmp $L$ocb_enc_done + jmp $L$ocb_enc_done ALIGN 16 -$L$ocb_enc_one:: +$L$ocb_enc_one:: movdqa xmm7,xmm10 call __ocb_encrypt1 movdqa xmm15,xmm7 - movups XMMWORD PTR[rsi],xmm2 - jmp $L$ocb_enc_done + movups XMMWORD PTR[rsi],xmm2 + jmp $L$ocb_enc_done ALIGN 16 -$L$ocb_enc_two:: +$L$ocb_enc_two:: pxor xmm4,xmm4 pxor xmm5,xmm5 call __ocb_encrypt4 movdqa xmm15,xmm11 - movups XMMWORD PTR[rsi],xmm2 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[16+rsi],xmm3 - jmp $L$ocb_enc_done + jmp $L$ocb_enc_done ALIGN 16 -$L$ocb_enc_three:: +$L$ocb_enc_three:: pxor xmm5,xmm5 call __ocb_encrypt4 movdqa xmm15,xmm12 - movups XMMWORD PTR[rsi],xmm2 - movups XMMWORD PTR[16+rsi],xmm3 - movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[32+rsi],xmm4 - jmp $L$ocb_enc_done + jmp $L$ocb_enc_done ALIGN 16 -$L$ocb_enc_four:: +$L$ocb_enc_four:: call __ocb_encrypt4 movdqa xmm15,xmm13 - movups XMMWORD PTR[rsi],xmm2 - movups XMMWORD PTR[16+rsi],xmm3 - movups XMMWORD PTR[32+rsi],xmm4 - movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[48+rsi],xmm5 -$L$ocb_enc_done:: +$L$ocb_enc_done:: pxor xmm15,xmm0 - movdqu XMMWORD PTR[rbp],xmm8 - movdqu XMMWORD PTR[r9],xmm15 + movdqu XMMWORD PTR[rbp],xmm8 + movdqu XMMWORD PTR[r9],xmm15 xorps xmm0,xmm0 pxor xmm1,xmm1 @@ -2981,59 +2981,59 @@ $L$ocb_enc_done:: pxor xmm3,xmm3 pxor xmm4,xmm4 pxor xmm5,xmm5 - movaps xmm6,XMMWORD PTR[rsp] - movaps XMMWORD PTR[rsp],xmm0 - movaps xmm7,XMMWORD PTR[16+rsp] - movaps XMMWORD PTR[16+rsp],xmm0 - movaps xmm8,XMMWORD PTR[32+rsp] - movaps XMMWORD PTR[32+rsp],xmm0 - movaps xmm9,XMMWORD PTR[48+rsp] - movaps XMMWORD PTR[48+rsp],xmm0 - movaps xmm10,XMMWORD PTR[64+rsp] - movaps XMMWORD PTR[64+rsp],xmm0 - movaps xmm11,XMMWORD PTR[80+rsp] - movaps XMMWORD PTR[80+rsp],xmm0 - movaps xmm12,XMMWORD PTR[96+rsp] - movaps XMMWORD PTR[96+rsp],xmm0 - movaps xmm13,XMMWORD PTR[112+rsp] - movaps XMMWORD PTR[112+rsp],xmm0 - movaps xmm14,XMMWORD PTR[128+rsp] - movaps XMMWORD PTR[128+rsp],xmm0 - movaps xmm15,XMMWORD PTR[144+rsp] - movaps XMMWORD PTR[144+rsp],xmm0 - lea rax,QWORD PTR[((160+40))+rsp] -$L$ocb_enc_pop:: - mov r14,QWORD PTR[((-40))+rax] - - mov r13,QWORD PTR[((-32))+rax] - - mov r12,QWORD PTR[((-24))+rax] - - mov rbp,QWORD PTR[((-16))+rax] - - mov rbx,QWORD PTR[((-8))+rax] - - lea rsp,QWORD PTR[rax] - -$L$ocb_enc_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movaps xmm6,XMMWORD PTR[rsp] + movaps XMMWORD PTR[rsp],xmm0 + movaps xmm7,XMMWORD PTR[16+rsp] + movaps XMMWORD PTR[16+rsp],xmm0 + movaps xmm8,XMMWORD PTR[32+rsp] + movaps XMMWORD PTR[32+rsp],xmm0 + movaps xmm9,XMMWORD PTR[48+rsp] + movaps XMMWORD PTR[48+rsp],xmm0 + movaps xmm10,XMMWORD PTR[64+rsp] + movaps XMMWORD PTR[64+rsp],xmm0 + movaps xmm11,XMMWORD PTR[80+rsp] + movaps XMMWORD PTR[80+rsp],xmm0 + movaps xmm12,XMMWORD PTR[96+rsp] + movaps XMMWORD PTR[96+rsp],xmm0 + movaps xmm13,XMMWORD PTR[112+rsp] + movaps XMMWORD PTR[112+rsp],xmm0 + movaps xmm14,XMMWORD PTR[128+rsp] + movaps XMMWORD PTR[128+rsp],xmm0 + movaps xmm15,XMMWORD PTR[144+rsp] + movaps XMMWORD PTR[144+rsp],xmm0 + lea rax,QWORD PTR[((160+40))+rsp] +$L$ocb_enc_pop:: + mov r14,QWORD PTR[((-40))+rax] + + mov r13,QWORD PTR[((-32))+rax] + + mov r12,QWORD PTR[((-24))+rax] + + mov rbp,QWORD PTR[((-16))+rax] + + mov rbx,QWORD PTR[((-8))+rax] + + lea rsp,QWORD PTR[rax] + +$L$ocb_enc_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_ocb_encrypt:: -aesni_ocb_encrypt ENDP +$L$SEH_end_aesni_ocb_encrypt:: +aesni_ocb_encrypt ENDP ALIGN 32 -__ocb_encrypt6 PROC PRIVATE - +__ocb_encrypt6 PROC PRIVATE + pxor xmm15,xmm9 - movdqu xmm11,XMMWORD PTR[r12*1+rbx] + movdqu xmm11,XMMWORD PTR[r12*1+rbx] movdqa xmm12,xmm10 - movdqu xmm13,XMMWORD PTR[r13*1+rbx] + movdqu xmm13,XMMWORD PTR[r13*1+rbx] movdqa xmm14,xmm10 pxor xmm10,xmm15 - movdqu xmm15,XMMWORD PTR[r14*1+rbx] + movdqu xmm15,XMMWORD PTR[r14*1+rbx] pxor xmm11,xmm10 pxor xmm8,xmm2 pxor xmm2,xmm10 @@ -3051,11 +3051,11 @@ __ocb_encrypt6 PROC PRIVATE pxor xmm6,xmm14 pxor xmm8,xmm7 pxor xmm7,xmm15 - movups xmm0,XMMWORD PTR[32+r11] + movups xmm0,XMMWORD PTR[32+r11] - lea r12,QWORD PTR[1+r8] - lea r13,QWORD PTR[3+r8] - lea r14,QWORD PTR[5+r8] + lea r12,QWORD PTR[1+r8] + lea r13,QWORD PTR[3+r8] + lea r14,QWORD PTR[5+r8] add r8,6 pxor xmm10,xmm9 bsf r12,r12 @@ -3072,7 +3072,7 @@ DB 102,15,56,220,241 pxor xmm13,xmm9 pxor xmm14,xmm9 DB 102,15,56,220,249 - movups xmm1,XMMWORD PTR[48+r11] + movups xmm1,XMMWORD PTR[48+r11] pxor xmm15,xmm9 DB 102,15,56,220,208 @@ -3081,20 +3081,20 @@ DB 102,15,56,220,224 DB 102,15,56,220,232 DB 102,15,56,220,240 DB 102,15,56,220,248 - movups xmm0,XMMWORD PTR[64+r11] + movups xmm0,XMMWORD PTR[64+r11] shl r12,4 shl r13,4 - jmp $L$ocb_enc_loop6 + jmp $L$ocb_enc_loop6 ALIGN 32 -$L$ocb_enc_loop6:: +$L$ocb_enc_loop6:: DB 102,15,56,220,209 DB 102,15,56,220,217 DB 102,15,56,220,225 DB 102,15,56,220,233 DB 102,15,56,220,241 DB 102,15,56,220,249 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,220,208 @@ -3103,8 +3103,8 @@ DB 102,15,56,220,224 DB 102,15,56,220,232 DB 102,15,56,220,240 DB 102,15,56,220,248 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$ocb_enc_loop6 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$ocb_enc_loop6 DB 102,15,56,220,209 DB 102,15,56,220,217 @@ -3112,11 +3112,11 @@ DB 102,15,56,220,225 DB 102,15,56,220,233 DB 102,15,56,220,241 DB 102,15,56,220,249 - movups xmm1,XMMWORD PTR[16+r11] + movups xmm1,XMMWORD PTR[16+r11] shl r14,4 DB 102,65,15,56,221,210 - movdqu xmm10,XMMWORD PTR[rbx] + movdqu xmm10,XMMWORD PTR[rbx] mov rax,r10 DB 102,65,15,56,221,219 DB 102,65,15,56,221,228 @@ -3125,16 +3125,16 @@ DB 102,65,15,56,221,246 DB 102,65,15,56,221,255 DB 0F3h,0C3h ;repret -__ocb_encrypt6 ENDP +__ocb_encrypt6 ENDP ALIGN 32 -__ocb_encrypt4 PROC PRIVATE - +__ocb_encrypt4 PROC PRIVATE + pxor xmm15,xmm9 - movdqu xmm11,XMMWORD PTR[r12*1+rbx] + movdqu xmm11,XMMWORD PTR[r12*1+rbx] movdqa xmm12,xmm10 - movdqu xmm13,XMMWORD PTR[r13*1+rbx] + movdqu xmm13,XMMWORD PTR[r13*1+rbx] pxor xmm10,xmm15 pxor xmm11,xmm10 pxor xmm8,xmm2 @@ -3147,7 +3147,7 @@ __ocb_encrypt4 PROC PRIVATE pxor xmm4,xmm12 pxor xmm8,xmm5 pxor xmm5,xmm13 - movups xmm0,XMMWORD PTR[32+r11] + movups xmm0,XMMWORD PTR[32+r11] pxor xmm10,xmm9 pxor xmm11,xmm9 @@ -3158,36 +3158,36 @@ DB 102,15,56,220,209 DB 102,15,56,220,217 DB 102,15,56,220,225 DB 102,15,56,220,233 - movups xmm1,XMMWORD PTR[48+r11] + movups xmm1,XMMWORD PTR[48+r11] DB 102,15,56,220,208 DB 102,15,56,220,216 DB 102,15,56,220,224 DB 102,15,56,220,232 - movups xmm0,XMMWORD PTR[64+r11] - jmp $L$ocb_enc_loop4 + movups xmm0,XMMWORD PTR[64+r11] + jmp $L$ocb_enc_loop4 ALIGN 32 -$L$ocb_enc_loop4:: +$L$ocb_enc_loop4:: DB 102,15,56,220,209 DB 102,15,56,220,217 DB 102,15,56,220,225 DB 102,15,56,220,233 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,220,208 DB 102,15,56,220,216 DB 102,15,56,220,224 DB 102,15,56,220,232 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$ocb_enc_loop4 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$ocb_enc_loop4 DB 102,15,56,220,209 DB 102,15,56,220,217 DB 102,15,56,220,225 DB 102,15,56,220,233 - movups xmm1,XMMWORD PTR[16+r11] + movups xmm1,XMMWORD PTR[16+r11] mov rax,r10 DB 102,65,15,56,221,210 @@ -3196,63 +3196,63 @@ DB 102,65,15,56,221,228 DB 102,65,15,56,221,237 DB 0F3h,0C3h ;repret -__ocb_encrypt4 ENDP +__ocb_encrypt4 ENDP ALIGN 32 -__ocb_encrypt1 PROC PRIVATE - +__ocb_encrypt1 PROC PRIVATE + pxor xmm7,xmm15 pxor xmm7,xmm9 pxor xmm8,xmm2 pxor xmm2,xmm7 - movups xmm0,XMMWORD PTR[32+r11] + movups xmm0,XMMWORD PTR[32+r11] DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[48+r11] + movups xmm1,XMMWORD PTR[48+r11] pxor xmm7,xmm9 DB 102,15,56,220,208 - movups xmm0,XMMWORD PTR[64+r11] - jmp $L$ocb_enc_loop1 + movups xmm0,XMMWORD PTR[64+r11] + jmp $L$ocb_enc_loop1 ALIGN 32 -$L$ocb_enc_loop1:: +$L$ocb_enc_loop1:: DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,220,208 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$ocb_enc_loop1 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$ocb_enc_loop1 DB 102,15,56,220,209 - movups xmm1,XMMWORD PTR[16+r11] + movups xmm1,XMMWORD PTR[16+r11] mov rax,r10 DB 102,15,56,221,215 DB 0F3h,0C3h ;repret -__ocb_encrypt1 ENDP +__ocb_encrypt1 ENDP -PUBLIC aesni_ocb_decrypt +PUBLIC aesni_ocb_decrypt ALIGN 32 -aesni_ocb_decrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_ocb_decrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_ocb_decrypt:: +$L$SEH_begin_aesni_ocb_decrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] - lea rax,QWORD PTR[rsp] + lea rax,QWORD PTR[rsp] push rbx push rbp @@ -3263,64 +3263,64 @@ $L$SEH_begin_aesni_ocb_decrypt:: push r14 - lea rsp,QWORD PTR[((-160))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 - movaps XMMWORD PTR[64+rsp],xmm10 - movaps XMMWORD PTR[80+rsp],xmm11 - movaps XMMWORD PTR[96+rsp],xmm12 - movaps XMMWORD PTR[112+rsp],xmm13 - movaps XMMWORD PTR[128+rsp],xmm14 - movaps XMMWORD PTR[144+rsp],xmm15 -$L$ocb_dec_body:: - mov rbx,QWORD PTR[56+rax] - mov rbp,QWORD PTR[((56+8))+rax] - - mov r10d,DWORD PTR[240+rcx] + lea rsp,QWORD PTR[((-160))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 + movaps XMMWORD PTR[64+rsp],xmm10 + movaps XMMWORD PTR[80+rsp],xmm11 + movaps XMMWORD PTR[96+rsp],xmm12 + movaps XMMWORD PTR[112+rsp],xmm13 + movaps XMMWORD PTR[128+rsp],xmm14 + movaps XMMWORD PTR[144+rsp],xmm15 +$L$ocb_dec_body:: + mov rbx,QWORD PTR[56+rax] + mov rbp,QWORD PTR[((56+8))+rax] + + mov r10d,DWORD PTR[240+rcx] mov r11,rcx shl r10d,4 - movups xmm9,XMMWORD PTR[rcx] - movups xmm1,XMMWORD PTR[16+r10*1+rcx] + movups xmm9,XMMWORD PTR[rcx] + movups xmm1,XMMWORD PTR[16+r10*1+rcx] - movdqu xmm15,XMMWORD PTR[r9] + movdqu xmm15,XMMWORD PTR[r9] pxor xmm9,xmm1 pxor xmm15,xmm1 mov eax,16+32 - lea rcx,QWORD PTR[32+r10*1+r11] - movups xmm1,XMMWORD PTR[16+r11] + lea rcx,QWORD PTR[32+r10*1+r11] + movups xmm1,XMMWORD PTR[16+r11] sub rax,r10 mov r10,rax - movdqu xmm10,XMMWORD PTR[rbx] - movdqu xmm8,XMMWORD PTR[rbp] + movdqu xmm10,XMMWORD PTR[rbx] + movdqu xmm8,XMMWORD PTR[rbp] test r8,1 - jnz $L$ocb_dec_odd + jnz $L$ocb_dec_odd bsf r12,r8 add r8,1 shl r12,4 - movdqu xmm7,XMMWORD PTR[r12*1+rbx] - movdqu xmm2,XMMWORD PTR[rdi] - lea rdi,QWORD PTR[16+rdi] + movdqu xmm7,XMMWORD PTR[r12*1+rbx] + movdqu xmm2,XMMWORD PTR[rdi] + lea rdi,QWORD PTR[16+rdi] call __ocb_decrypt1 movdqa xmm15,xmm7 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 xorps xmm8,xmm2 - lea rsi,QWORD PTR[16+rsi] + lea rsi,QWORD PTR[16+rsi] sub rdx,1 - jz $L$ocb_dec_done + jz $L$ocb_dec_done -$L$ocb_dec_odd:: - lea r12,QWORD PTR[1+r8] - lea r13,QWORD PTR[3+r8] - lea r14,QWORD PTR[5+r8] - lea r8,QWORD PTR[6+r8] +$L$ocb_dec_odd:: + lea r12,QWORD PTR[1+r8] + lea r13,QWORD PTR[3+r8] + lea r14,QWORD PTR[5+r8] + lea r8,QWORD PTR[6+r8] bsf r12,r12 bsf r13,r13 bsf r14,r14 @@ -3329,132 +3329,132 @@ $L$ocb_dec_odd:: shl r14,4 sub rdx,6 - jc $L$ocb_dec_short - jmp $L$ocb_dec_grandloop + jc $L$ocb_dec_short + jmp $L$ocb_dec_grandloop ALIGN 32 -$L$ocb_dec_grandloop:: - movdqu xmm2,XMMWORD PTR[rdi] - movdqu xmm3,XMMWORD PTR[16+rdi] - movdqu xmm4,XMMWORD PTR[32+rdi] - movdqu xmm5,XMMWORD PTR[48+rdi] - movdqu xmm6,XMMWORD PTR[64+rdi] - movdqu xmm7,XMMWORD PTR[80+rdi] - lea rdi,QWORD PTR[96+rdi] +$L$ocb_dec_grandloop:: + movdqu xmm2,XMMWORD PTR[rdi] + movdqu xmm3,XMMWORD PTR[16+rdi] + movdqu xmm4,XMMWORD PTR[32+rdi] + movdqu xmm5,XMMWORD PTR[48+rdi] + movdqu xmm6,XMMWORD PTR[64+rdi] + movdqu xmm7,XMMWORD PTR[80+rdi] + lea rdi,QWORD PTR[96+rdi] call __ocb_decrypt6 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 pxor xmm8,xmm2 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 pxor xmm8,xmm3 - movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[32+rsi],xmm4 pxor xmm8,xmm4 - movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[48+rsi],xmm5 pxor xmm8,xmm5 - movups XMMWORD PTR[64+rsi],xmm6 + movups XMMWORD PTR[64+rsi],xmm6 pxor xmm8,xmm6 - movups XMMWORD PTR[80+rsi],xmm7 + movups XMMWORD PTR[80+rsi],xmm7 pxor xmm8,xmm7 - lea rsi,QWORD PTR[96+rsi] + lea rsi,QWORD PTR[96+rsi] sub rdx,6 - jnc $L$ocb_dec_grandloop + jnc $L$ocb_dec_grandloop -$L$ocb_dec_short:: +$L$ocb_dec_short:: add rdx,6 - jz $L$ocb_dec_done + jz $L$ocb_dec_done - movdqu xmm2,XMMWORD PTR[rdi] + movdqu xmm2,XMMWORD PTR[rdi] cmp rdx,2 - jb $L$ocb_dec_one - movdqu xmm3,XMMWORD PTR[16+rdi] - je $L$ocb_dec_two + jb $L$ocb_dec_one + movdqu xmm3,XMMWORD PTR[16+rdi] + je $L$ocb_dec_two - movdqu xmm4,XMMWORD PTR[32+rdi] + movdqu xmm4,XMMWORD PTR[32+rdi] cmp rdx,4 - jb $L$ocb_dec_three - movdqu xmm5,XMMWORD PTR[48+rdi] - je $L$ocb_dec_four + jb $L$ocb_dec_three + movdqu xmm5,XMMWORD PTR[48+rdi] + je $L$ocb_dec_four - movdqu xmm6,XMMWORD PTR[64+rdi] + movdqu xmm6,XMMWORD PTR[64+rdi] pxor xmm7,xmm7 call __ocb_decrypt6 movdqa xmm15,xmm14 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 pxor xmm8,xmm2 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 pxor xmm8,xmm3 - movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[32+rsi],xmm4 pxor xmm8,xmm4 - movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[48+rsi],xmm5 pxor xmm8,xmm5 - movups XMMWORD PTR[64+rsi],xmm6 + movups XMMWORD PTR[64+rsi],xmm6 pxor xmm8,xmm6 - jmp $L$ocb_dec_done + jmp $L$ocb_dec_done ALIGN 16 -$L$ocb_dec_one:: +$L$ocb_dec_one:: movdqa xmm7,xmm10 call __ocb_decrypt1 movdqa xmm15,xmm7 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 xorps xmm8,xmm2 - jmp $L$ocb_dec_done + jmp $L$ocb_dec_done ALIGN 16 -$L$ocb_dec_two:: +$L$ocb_dec_two:: pxor xmm4,xmm4 pxor xmm5,xmm5 call __ocb_decrypt4 movdqa xmm15,xmm11 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 xorps xmm8,xmm2 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 xorps xmm8,xmm3 - jmp $L$ocb_dec_done + jmp $L$ocb_dec_done ALIGN 16 -$L$ocb_dec_three:: +$L$ocb_dec_three:: pxor xmm5,xmm5 call __ocb_decrypt4 movdqa xmm15,xmm12 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 xorps xmm8,xmm2 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 xorps xmm8,xmm3 - movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[32+rsi],xmm4 xorps xmm8,xmm4 - jmp $L$ocb_dec_done + jmp $L$ocb_dec_done ALIGN 16 -$L$ocb_dec_four:: +$L$ocb_dec_four:: call __ocb_decrypt4 movdqa xmm15,xmm13 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 pxor xmm8,xmm2 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 pxor xmm8,xmm3 - movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[32+rsi],xmm4 pxor xmm8,xmm4 - movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[48+rsi],xmm5 pxor xmm8,xmm5 -$L$ocb_dec_done:: +$L$ocb_dec_done:: pxor xmm15,xmm0 - movdqu XMMWORD PTR[rbp],xmm8 - movdqu XMMWORD PTR[r9],xmm15 + movdqu XMMWORD PTR[rbp],xmm8 + movdqu XMMWORD PTR[r9],xmm15 xorps xmm0,xmm0 pxor xmm1,xmm1 @@ -3462,59 +3462,59 @@ $L$ocb_dec_done:: pxor xmm3,xmm3 pxor xmm4,xmm4 pxor xmm5,xmm5 - movaps xmm6,XMMWORD PTR[rsp] - movaps XMMWORD PTR[rsp],xmm0 - movaps xmm7,XMMWORD PTR[16+rsp] - movaps XMMWORD PTR[16+rsp],xmm0 - movaps xmm8,XMMWORD PTR[32+rsp] - movaps XMMWORD PTR[32+rsp],xmm0 - movaps xmm9,XMMWORD PTR[48+rsp] - movaps XMMWORD PTR[48+rsp],xmm0 - movaps xmm10,XMMWORD PTR[64+rsp] - movaps XMMWORD PTR[64+rsp],xmm0 - movaps xmm11,XMMWORD PTR[80+rsp] - movaps XMMWORD PTR[80+rsp],xmm0 - movaps xmm12,XMMWORD PTR[96+rsp] - movaps XMMWORD PTR[96+rsp],xmm0 - movaps xmm13,XMMWORD PTR[112+rsp] - movaps XMMWORD PTR[112+rsp],xmm0 - movaps xmm14,XMMWORD PTR[128+rsp] - movaps XMMWORD PTR[128+rsp],xmm0 - movaps xmm15,XMMWORD PTR[144+rsp] - movaps XMMWORD PTR[144+rsp],xmm0 - lea rax,QWORD PTR[((160+40))+rsp] -$L$ocb_dec_pop:: - mov r14,QWORD PTR[((-40))+rax] - - mov r13,QWORD PTR[((-32))+rax] - - mov r12,QWORD PTR[((-24))+rax] - - mov rbp,QWORD PTR[((-16))+rax] - - mov rbx,QWORD PTR[((-8))+rax] - - lea rsp,QWORD PTR[rax] - -$L$ocb_dec_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movaps xmm6,XMMWORD PTR[rsp] + movaps XMMWORD PTR[rsp],xmm0 + movaps xmm7,XMMWORD PTR[16+rsp] + movaps XMMWORD PTR[16+rsp],xmm0 + movaps xmm8,XMMWORD PTR[32+rsp] + movaps XMMWORD PTR[32+rsp],xmm0 + movaps xmm9,XMMWORD PTR[48+rsp] + movaps XMMWORD PTR[48+rsp],xmm0 + movaps xmm10,XMMWORD PTR[64+rsp] + movaps XMMWORD PTR[64+rsp],xmm0 + movaps xmm11,XMMWORD PTR[80+rsp] + movaps XMMWORD PTR[80+rsp],xmm0 + movaps xmm12,XMMWORD PTR[96+rsp] + movaps XMMWORD PTR[96+rsp],xmm0 + movaps xmm13,XMMWORD PTR[112+rsp] + movaps XMMWORD PTR[112+rsp],xmm0 + movaps xmm14,XMMWORD PTR[128+rsp] + movaps XMMWORD PTR[128+rsp],xmm0 + movaps xmm15,XMMWORD PTR[144+rsp] + movaps XMMWORD PTR[144+rsp],xmm0 + lea rax,QWORD PTR[((160+40))+rsp] +$L$ocb_dec_pop:: + mov r14,QWORD PTR[((-40))+rax] + + mov r13,QWORD PTR[((-32))+rax] + + mov r12,QWORD PTR[((-24))+rax] + + mov rbp,QWORD PTR[((-16))+rax] + + mov rbx,QWORD PTR[((-8))+rax] + + lea rsp,QWORD PTR[rax] + +$L$ocb_dec_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_ocb_decrypt:: -aesni_ocb_decrypt ENDP +$L$SEH_end_aesni_ocb_decrypt:: +aesni_ocb_decrypt ENDP ALIGN 32 -__ocb_decrypt6 PROC PRIVATE - +__ocb_decrypt6 PROC PRIVATE + pxor xmm15,xmm9 - movdqu xmm11,XMMWORD PTR[r12*1+rbx] + movdqu xmm11,XMMWORD PTR[r12*1+rbx] movdqa xmm12,xmm10 - movdqu xmm13,XMMWORD PTR[r13*1+rbx] + movdqu xmm13,XMMWORD PTR[r13*1+rbx] movdqa xmm14,xmm10 pxor xmm10,xmm15 - movdqu xmm15,XMMWORD PTR[r14*1+rbx] + movdqu xmm15,XMMWORD PTR[r14*1+rbx] pxor xmm11,xmm10 pxor xmm2,xmm10 pxor xmm12,xmm11 @@ -3526,11 +3526,11 @@ __ocb_decrypt6 PROC PRIVATE pxor xmm15,xmm14 pxor xmm6,xmm14 pxor xmm7,xmm15 - movups xmm0,XMMWORD PTR[32+r11] + movups xmm0,XMMWORD PTR[32+r11] - lea r12,QWORD PTR[1+r8] - lea r13,QWORD PTR[3+r8] - lea r14,QWORD PTR[5+r8] + lea r12,QWORD PTR[1+r8] + lea r13,QWORD PTR[3+r8] + lea r14,QWORD PTR[5+r8] add r8,6 pxor xmm10,xmm9 bsf r12,r12 @@ -3547,7 +3547,7 @@ DB 102,15,56,222,241 pxor xmm13,xmm9 pxor xmm14,xmm9 DB 102,15,56,222,249 - movups xmm1,XMMWORD PTR[48+r11] + movups xmm1,XMMWORD PTR[48+r11] pxor xmm15,xmm9 DB 102,15,56,222,208 @@ -3556,20 +3556,20 @@ DB 102,15,56,222,224 DB 102,15,56,222,232 DB 102,15,56,222,240 DB 102,15,56,222,248 - movups xmm0,XMMWORD PTR[64+r11] + movups xmm0,XMMWORD PTR[64+r11] shl r12,4 shl r13,4 - jmp $L$ocb_dec_loop6 + jmp $L$ocb_dec_loop6 ALIGN 32 -$L$ocb_dec_loop6:: +$L$ocb_dec_loop6:: DB 102,15,56,222,209 DB 102,15,56,222,217 DB 102,15,56,222,225 DB 102,15,56,222,233 DB 102,15,56,222,241 DB 102,15,56,222,249 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,222,208 @@ -3578,8 +3578,8 @@ DB 102,15,56,222,224 DB 102,15,56,222,232 DB 102,15,56,222,240 DB 102,15,56,222,248 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$ocb_dec_loop6 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$ocb_dec_loop6 DB 102,15,56,222,209 DB 102,15,56,222,217 @@ -3587,11 +3587,11 @@ DB 102,15,56,222,225 DB 102,15,56,222,233 DB 102,15,56,222,241 DB 102,15,56,222,249 - movups xmm1,XMMWORD PTR[16+r11] + movups xmm1,XMMWORD PTR[16+r11] shl r14,4 DB 102,65,15,56,223,210 - movdqu xmm10,XMMWORD PTR[rbx] + movdqu xmm10,XMMWORD PTR[rbx] mov rax,r10 DB 102,65,15,56,223,219 DB 102,65,15,56,223,228 @@ -3600,16 +3600,16 @@ DB 102,65,15,56,223,246 DB 102,65,15,56,223,255 DB 0F3h,0C3h ;repret -__ocb_decrypt6 ENDP +__ocb_decrypt6 ENDP ALIGN 32 -__ocb_decrypt4 PROC PRIVATE - +__ocb_decrypt4 PROC PRIVATE + pxor xmm15,xmm9 - movdqu xmm11,XMMWORD PTR[r12*1+rbx] + movdqu xmm11,XMMWORD PTR[r12*1+rbx] movdqa xmm12,xmm10 - movdqu xmm13,XMMWORD PTR[r13*1+rbx] + movdqu xmm13,XMMWORD PTR[r13*1+rbx] pxor xmm10,xmm15 pxor xmm11,xmm10 pxor xmm2,xmm10 @@ -3618,7 +3618,7 @@ __ocb_decrypt4 PROC PRIVATE pxor xmm13,xmm12 pxor xmm4,xmm12 pxor xmm5,xmm13 - movups xmm0,XMMWORD PTR[32+r11] + movups xmm0,XMMWORD PTR[32+r11] pxor xmm10,xmm9 pxor xmm11,xmm9 @@ -3629,36 +3629,36 @@ DB 102,15,56,222,209 DB 102,15,56,222,217 DB 102,15,56,222,225 DB 102,15,56,222,233 - movups xmm1,XMMWORD PTR[48+r11] + movups xmm1,XMMWORD PTR[48+r11] DB 102,15,56,222,208 DB 102,15,56,222,216 DB 102,15,56,222,224 DB 102,15,56,222,232 - movups xmm0,XMMWORD PTR[64+r11] - jmp $L$ocb_dec_loop4 + movups xmm0,XMMWORD PTR[64+r11] + jmp $L$ocb_dec_loop4 ALIGN 32 -$L$ocb_dec_loop4:: +$L$ocb_dec_loop4:: DB 102,15,56,222,209 DB 102,15,56,222,217 DB 102,15,56,222,225 DB 102,15,56,222,233 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,222,208 DB 102,15,56,222,216 DB 102,15,56,222,224 DB 102,15,56,222,232 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$ocb_dec_loop4 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$ocb_dec_loop4 DB 102,15,56,222,209 DB 102,15,56,222,217 DB 102,15,56,222,225 DB 102,15,56,222,233 - movups xmm1,XMMWORD PTR[16+r11] + movups xmm1,XMMWORD PTR[16+r11] mov rax,r10 DB 102,65,15,56,223,210 @@ -3667,211 +3667,211 @@ DB 102,65,15,56,223,228 DB 102,65,15,56,223,237 DB 0F3h,0C3h ;repret -__ocb_decrypt4 ENDP +__ocb_decrypt4 ENDP ALIGN 32 -__ocb_decrypt1 PROC PRIVATE - +__ocb_decrypt1 PROC PRIVATE + pxor xmm7,xmm15 pxor xmm7,xmm9 pxor xmm2,xmm7 - movups xmm0,XMMWORD PTR[32+r11] + movups xmm0,XMMWORD PTR[32+r11] DB 102,15,56,222,209 - movups xmm1,XMMWORD PTR[48+r11] + movups xmm1,XMMWORD PTR[48+r11] pxor xmm7,xmm9 DB 102,15,56,222,208 - movups xmm0,XMMWORD PTR[64+r11] - jmp $L$ocb_dec_loop1 + movups xmm0,XMMWORD PTR[64+r11] + jmp $L$ocb_dec_loop1 ALIGN 32 -$L$ocb_dec_loop1:: +$L$ocb_dec_loop1:: DB 102,15,56,222,209 - movups xmm1,XMMWORD PTR[rax*1+rcx] + movups xmm1,XMMWORD PTR[rax*1+rcx] add rax,32 DB 102,15,56,222,208 - movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] - jnz $L$ocb_dec_loop1 + movups xmm0,XMMWORD PTR[((-16))+rax*1+rcx] + jnz $L$ocb_dec_loop1 DB 102,15,56,222,209 - movups xmm1,XMMWORD PTR[16+r11] + movups xmm1,XMMWORD PTR[16+r11] mov rax,r10 DB 102,15,56,223,215 DB 0F3h,0C3h ;repret -__ocb_decrypt1 ENDP -PUBLIC aesni_cbc_encrypt +__ocb_decrypt1 ENDP +PUBLIC aesni_cbc_encrypt ALIGN 16 -aesni_cbc_encrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_cbc_encrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_cbc_encrypt:: +$L$SEH_begin_aesni_cbc_encrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] test rdx,rdx - jz $L$cbc_ret + jz $L$cbc_ret - mov r10d,DWORD PTR[240+rcx] + mov r10d,DWORD PTR[240+rcx] mov r11,rcx test r9d,r9d - jz $L$cbc_decrypt + jz $L$cbc_decrypt - movups xmm2,XMMWORD PTR[r8] + movups xmm2,XMMWORD PTR[r8] mov eax,r10d cmp rdx,16 - jb $L$cbc_enc_tail + jb $L$cbc_enc_tail sub rdx,16 - jmp $L$cbc_enc_loop + jmp $L$cbc_enc_loop ALIGN 16 -$L$cbc_enc_loop:: - movups xmm3,XMMWORD PTR[rdi] - lea rdi,QWORD PTR[16+rdi] +$L$cbc_enc_loop:: + movups xmm3,XMMWORD PTR[rdi] + lea rdi,QWORD PTR[16+rdi] - movups xmm0,XMMWORD PTR[rcx] - movups xmm1,XMMWORD PTR[16+rcx] + movups xmm0,XMMWORD PTR[rcx] + movups xmm1,XMMWORD PTR[16+rcx] xorps xmm3,xmm0 - lea rcx,QWORD PTR[32+rcx] + lea rcx,QWORD PTR[32+rcx] xorps xmm2,xmm3 -$L$oop_enc1_15:: +$L$oop_enc1_15:: DB 102,15,56,220,209 dec eax - movups xmm1,XMMWORD PTR[rcx] - lea rcx,QWORD PTR[16+rcx] - jnz $L$oop_enc1_15 + movups xmm1,XMMWORD PTR[rcx] + lea rcx,QWORD PTR[16+rcx] + jnz $L$oop_enc1_15 DB 102,15,56,221,209 mov eax,r10d mov rcx,r11 - movups XMMWORD PTR[rsi],xmm2 - lea rsi,QWORD PTR[16+rsi] + movups XMMWORD PTR[rsi],xmm2 + lea rsi,QWORD PTR[16+rsi] sub rdx,16 - jnc $L$cbc_enc_loop + jnc $L$cbc_enc_loop add rdx,16 - jnz $L$cbc_enc_tail + jnz $L$cbc_enc_tail pxor xmm0,xmm0 pxor xmm1,xmm1 - movups XMMWORD PTR[r8],xmm2 + movups XMMWORD PTR[r8],xmm2 pxor xmm2,xmm2 pxor xmm3,xmm3 - jmp $L$cbc_ret + jmp $L$cbc_ret -$L$cbc_enc_tail:: +$L$cbc_enc_tail:: mov rcx,rdx xchg rsi,rdi - DD 09066A4F3h + DD 09066A4F3h mov ecx,16 sub rcx,rdx xor eax,eax - DD 09066AAF3h - lea rdi,QWORD PTR[((-16))+rdi] + DD 09066AAF3h + lea rdi,QWORD PTR[((-16))+rdi] mov eax,r10d mov rsi,rdi mov rcx,r11 xor rdx,rdx - jmp $L$cbc_enc_loop + jmp $L$cbc_enc_loop ALIGN 16 -$L$cbc_decrypt:: +$L$cbc_decrypt:: cmp rdx,16 - jne $L$cbc_decrypt_bulk + jne $L$cbc_decrypt_bulk - movdqu xmm2,XMMWORD PTR[rdi] - movdqu xmm3,XMMWORD PTR[r8] + movdqu xmm2,XMMWORD PTR[rdi] + movdqu xmm3,XMMWORD PTR[r8] movdqa xmm4,xmm2 - movups xmm0,XMMWORD PTR[rcx] - movups xmm1,XMMWORD PTR[16+rcx] - lea rcx,QWORD PTR[32+rcx] + movups xmm0,XMMWORD PTR[rcx] + movups xmm1,XMMWORD PTR[16+rcx] + lea rcx,QWORD PTR[32+rcx] xorps xmm2,xmm0 -$L$oop_dec1_16:: +$L$oop_dec1_16:: DB 102,15,56,222,209 dec r10d - movups xmm1,XMMWORD PTR[rcx] - lea rcx,QWORD PTR[16+rcx] - jnz $L$oop_dec1_16 + movups xmm1,XMMWORD PTR[rcx] + lea rcx,QWORD PTR[16+rcx] + jnz $L$oop_dec1_16 DB 102,15,56,223,209 pxor xmm0,xmm0 pxor xmm1,xmm1 - movdqu XMMWORD PTR[r8],xmm4 + movdqu XMMWORD PTR[r8],xmm4 xorps xmm2,xmm3 pxor xmm3,xmm3 - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 pxor xmm2,xmm2 - jmp $L$cbc_ret + jmp $L$cbc_ret ALIGN 16 -$L$cbc_decrypt_bulk:: - lea r11,QWORD PTR[rsp] +$L$cbc_decrypt_bulk:: + lea r11,QWORD PTR[rsp] push rbp sub rsp,176 and rsp,-16 - movaps XMMWORD PTR[16+rsp],xmm6 - movaps XMMWORD PTR[32+rsp],xmm7 - movaps XMMWORD PTR[48+rsp],xmm8 - movaps XMMWORD PTR[64+rsp],xmm9 - movaps XMMWORD PTR[80+rsp],xmm10 - movaps XMMWORD PTR[96+rsp],xmm11 - movaps XMMWORD PTR[112+rsp],xmm12 - movaps XMMWORD PTR[128+rsp],xmm13 - movaps XMMWORD PTR[144+rsp],xmm14 - movaps XMMWORD PTR[160+rsp],xmm15 -$L$cbc_decrypt_body:: + movaps XMMWORD PTR[16+rsp],xmm6 + movaps XMMWORD PTR[32+rsp],xmm7 + movaps XMMWORD PTR[48+rsp],xmm8 + movaps XMMWORD PTR[64+rsp],xmm9 + movaps XMMWORD PTR[80+rsp],xmm10 + movaps XMMWORD PTR[96+rsp],xmm11 + movaps XMMWORD PTR[112+rsp],xmm12 + movaps XMMWORD PTR[128+rsp],xmm13 + movaps XMMWORD PTR[144+rsp],xmm14 + movaps XMMWORD PTR[160+rsp],xmm15 +$L$cbc_decrypt_body:: mov rbp,rcx - movups xmm10,XMMWORD PTR[r8] + movups xmm10,XMMWORD PTR[r8] mov eax,r10d - cmp rdx,050h - jbe $L$cbc_dec_tail + cmp rdx,050h + jbe $L$cbc_dec_tail - movups xmm0,XMMWORD PTR[rcx] - movdqu xmm2,XMMWORD PTR[rdi] - movdqu xmm3,XMMWORD PTR[16+rdi] + movups xmm0,XMMWORD PTR[rcx] + movdqu xmm2,XMMWORD PTR[rdi] + movdqu xmm3,XMMWORD PTR[16+rdi] movdqa xmm11,xmm2 - movdqu xmm4,XMMWORD PTR[32+rdi] + movdqu xmm4,XMMWORD PTR[32+rdi] movdqa xmm12,xmm3 - movdqu xmm5,XMMWORD PTR[48+rdi] + movdqu xmm5,XMMWORD PTR[48+rdi] movdqa xmm13,xmm4 - movdqu xmm6,XMMWORD PTR[64+rdi] + movdqu xmm6,XMMWORD PTR[64+rdi] movdqa xmm14,xmm5 - movdqu xmm7,XMMWORD PTR[80+rdi] + movdqu xmm7,XMMWORD PTR[80+rdi] movdqa xmm15,xmm6 - mov r9d,DWORD PTR[((OPENSSL_ia32cap_P+4))] - cmp rdx,070h - jbe $L$cbc_dec_six_or_seven + mov r9d,DWORD PTR[((OPENSSL_ia32cap_P+4))] + cmp rdx,070h + jbe $L$cbc_dec_six_or_seven and r9d,71303168 - sub rdx,050h + sub rdx,050h cmp r9d,4194304 - je $L$cbc_dec_loop6_enter - sub rdx,020h - lea rcx,QWORD PTR[112+rcx] - jmp $L$cbc_dec_loop8_enter + je $L$cbc_dec_loop6_enter + sub rdx,020h + lea rcx,QWORD PTR[112+rcx] + jmp $L$cbc_dec_loop8_enter ALIGN 16 -$L$cbc_dec_loop8:: - movups XMMWORD PTR[rsi],xmm9 - lea rsi,QWORD PTR[16+rsi] -$L$cbc_dec_loop8_enter:: - movdqu xmm8,XMMWORD PTR[96+rdi] +$L$cbc_dec_loop8:: + movups XMMWORD PTR[rsi],xmm9 + lea rsi,QWORD PTR[16+rsi] +$L$cbc_dec_loop8_enter:: + movdqu xmm8,XMMWORD PTR[96+rdi] pxor xmm2,xmm0 - movdqu xmm9,XMMWORD PTR[112+rdi] + movdqu xmm9,XMMWORD PTR[112+rdi] pxor xmm3,xmm0 - movups xmm1,XMMWORD PTR[((16-112))+rcx] + movups xmm1,XMMWORD PTR[((16-112))+rcx] pxor xmm4,xmm0 mov rbp,-1 - cmp rdx,070h + cmp rdx,070h pxor xmm5,xmm0 pxor xmm6,xmm0 pxor xmm7,xmm0 @@ -3879,7 +3879,7 @@ $L$cbc_dec_loop8_enter:: DB 102,15,56,222,209 pxor xmm9,xmm0 - movups xmm0,XMMWORD PTR[((32-112))+rcx] + movups xmm0,XMMWORD PTR[((32-112))+rcx] DB 102,15,56,222,217 DB 102,15,56,222,225 DB 102,15,56,222,233 @@ -3890,7 +3890,7 @@ DB 102,68,15,56,222,193 and rbp,128 DB 102,68,15,56,222,201 add rbp,rdi - movups xmm1,XMMWORD PTR[((48-112))+rcx] + movups xmm1,XMMWORD PTR[((48-112))+rcx] DB 102,15,56,222,208 DB 102,15,56,222,216 DB 102,15,56,222,224 @@ -3899,7 +3899,7 @@ DB 102,15,56,222,240 DB 102,15,56,222,248 DB 102,68,15,56,222,192 DB 102,68,15,56,222,200 - movups xmm0,XMMWORD PTR[((64-112))+rcx] + movups xmm0,XMMWORD PTR[((64-112))+rcx] nop DB 102,15,56,222,209 DB 102,15,56,222,217 @@ -3909,7 +3909,7 @@ DB 102,15,56,222,241 DB 102,15,56,222,249 DB 102,68,15,56,222,193 DB 102,68,15,56,222,201 - movups xmm1,XMMWORD PTR[((80-112))+rcx] + movups xmm1,XMMWORD PTR[((80-112))+rcx] nop DB 102,15,56,222,208 DB 102,15,56,222,216 @@ -3919,7 +3919,7 @@ DB 102,15,56,222,240 DB 102,15,56,222,248 DB 102,68,15,56,222,192 DB 102,68,15,56,222,200 - movups xmm0,XMMWORD PTR[((96-112))+rcx] + movups xmm0,XMMWORD PTR[((96-112))+rcx] nop DB 102,15,56,222,209 DB 102,15,56,222,217 @@ -3929,7 +3929,7 @@ DB 102,15,56,222,241 DB 102,15,56,222,249 DB 102,68,15,56,222,193 DB 102,68,15,56,222,201 - movups xmm1,XMMWORD PTR[((112-112))+rcx] + movups xmm1,XMMWORD PTR[((112-112))+rcx] nop DB 102,15,56,222,208 DB 102,15,56,222,216 @@ -3939,7 +3939,7 @@ DB 102,15,56,222,240 DB 102,15,56,222,248 DB 102,68,15,56,222,192 DB 102,68,15,56,222,200 - movups xmm0,XMMWORD PTR[((128-112))+rcx] + movups xmm0,XMMWORD PTR[((128-112))+rcx] nop DB 102,15,56,222,209 DB 102,15,56,222,217 @@ -3949,7 +3949,7 @@ DB 102,15,56,222,241 DB 102,15,56,222,249 DB 102,68,15,56,222,193 DB 102,68,15,56,222,201 - movups xmm1,XMMWORD PTR[((144-112))+rcx] + movups xmm1,XMMWORD PTR[((144-112))+rcx] cmp eax,11 DB 102,15,56,222,208 DB 102,15,56,222,216 @@ -3959,8 +3959,8 @@ DB 102,15,56,222,240 DB 102,15,56,222,248 DB 102,68,15,56,222,192 DB 102,68,15,56,222,200 - movups xmm0,XMMWORD PTR[((160-112))+rcx] - jb $L$cbc_dec_done + movups xmm0,XMMWORD PTR[((160-112))+rcx] + jb $L$cbc_dec_done DB 102,15,56,222,209 DB 102,15,56,222,217 DB 102,15,56,222,225 @@ -3969,7 +3969,7 @@ DB 102,15,56,222,241 DB 102,15,56,222,249 DB 102,68,15,56,222,193 DB 102,68,15,56,222,201 - movups xmm1,XMMWORD PTR[((176-112))+rcx] + movups xmm1,XMMWORD PTR[((176-112))+rcx] nop DB 102,15,56,222,208 DB 102,15,56,222,216 @@ -3979,8 +3979,8 @@ DB 102,15,56,222,240 DB 102,15,56,222,248 DB 102,68,15,56,222,192 DB 102,68,15,56,222,200 - movups xmm0,XMMWORD PTR[((192-112))+rcx] - je $L$cbc_dec_done + movups xmm0,XMMWORD PTR[((192-112))+rcx] + je $L$cbc_dec_done DB 102,15,56,222,209 DB 102,15,56,222,217 DB 102,15,56,222,225 @@ -3989,7 +3989,7 @@ DB 102,15,56,222,241 DB 102,15,56,222,249 DB 102,68,15,56,222,193 DB 102,68,15,56,222,201 - movups xmm1,XMMWORD PTR[((208-112))+rcx] + movups xmm1,XMMWORD PTR[((208-112))+rcx] nop DB 102,15,56,222,208 DB 102,15,56,222,216 @@ -3999,10 +3999,10 @@ DB 102,15,56,222,240 DB 102,15,56,222,248 DB 102,68,15,56,222,192 DB 102,68,15,56,222,200 - movups xmm0,XMMWORD PTR[((224-112))+rcx] - jmp $L$cbc_dec_done + movups xmm0,XMMWORD PTR[((224-112))+rcx] + jmp $L$cbc_dec_done ALIGN 16 -$L$cbc_dec_done:: +$L$cbc_dec_done:: DB 102,15,56,222,209 DB 102,15,56,222,217 pxor xmm10,xmm0 @@ -4017,133 +4017,133 @@ DB 102,15,56,222,249 pxor xmm15,xmm0 DB 102,68,15,56,222,193 DB 102,68,15,56,222,201 - movdqu xmm1,XMMWORD PTR[80+rdi] + movdqu xmm1,XMMWORD PTR[80+rdi] DB 102,65,15,56,223,210 - movdqu xmm10,XMMWORD PTR[96+rdi] + movdqu xmm10,XMMWORD PTR[96+rdi] pxor xmm1,xmm0 DB 102,65,15,56,223,219 pxor xmm10,xmm0 - movdqu xmm0,XMMWORD PTR[112+rdi] + movdqu xmm0,XMMWORD PTR[112+rdi] DB 102,65,15,56,223,228 - lea rdi,QWORD PTR[128+rdi] - movdqu xmm11,XMMWORD PTR[rbp] + lea rdi,QWORD PTR[128+rdi] + movdqu xmm11,XMMWORD PTR[rbp] DB 102,65,15,56,223,237 DB 102,65,15,56,223,246 - movdqu xmm12,XMMWORD PTR[16+rbp] - movdqu xmm13,XMMWORD PTR[32+rbp] + movdqu xmm12,XMMWORD PTR[16+rbp] + movdqu xmm13,XMMWORD PTR[32+rbp] DB 102,65,15,56,223,255 DB 102,68,15,56,223,193 - movdqu xmm14,XMMWORD PTR[48+rbp] - movdqu xmm15,XMMWORD PTR[64+rbp] + movdqu xmm14,XMMWORD PTR[48+rbp] + movdqu xmm15,XMMWORD PTR[64+rbp] DB 102,69,15,56,223,202 movdqa xmm10,xmm0 - movdqu xmm1,XMMWORD PTR[80+rbp] - movups xmm0,XMMWORD PTR[((-112))+rcx] + movdqu xmm1,XMMWORD PTR[80+rbp] + movups xmm0,XMMWORD PTR[((-112))+rcx] - movups XMMWORD PTR[rsi],xmm2 + movups XMMWORD PTR[rsi],xmm2 movdqa xmm2,xmm11 - movups XMMWORD PTR[16+rsi],xmm3 + movups XMMWORD PTR[16+rsi],xmm3 movdqa xmm3,xmm12 - movups XMMWORD PTR[32+rsi],xmm4 + movups XMMWORD PTR[32+rsi],xmm4 movdqa xmm4,xmm13 - movups XMMWORD PTR[48+rsi],xmm5 + movups XMMWORD PTR[48+rsi],xmm5 movdqa xmm5,xmm14 - movups XMMWORD PTR[64+rsi],xmm6 + movups XMMWORD PTR[64+rsi],xmm6 movdqa xmm6,xmm15 - movups XMMWORD PTR[80+rsi],xmm7 + movups XMMWORD PTR[80+rsi],xmm7 movdqa xmm7,xmm1 - movups XMMWORD PTR[96+rsi],xmm8 - lea rsi,QWORD PTR[112+rsi] + movups XMMWORD PTR[96+rsi],xmm8 + lea rsi,QWORD PTR[112+rsi] - sub rdx,080h - ja $L$cbc_dec_loop8 + sub rdx,080h + ja $L$cbc_dec_loop8 movaps xmm2,xmm9 - lea rcx,QWORD PTR[((-112))+rcx] - add rdx,070h - jle $L$cbc_dec_clear_tail_collected - movups XMMWORD PTR[rsi],xmm9 - lea rsi,QWORD PTR[16+rsi] - cmp rdx,050h - jbe $L$cbc_dec_tail + lea rcx,QWORD PTR[((-112))+rcx] + add rdx,070h + jle $L$cbc_dec_clear_tail_collected + movups XMMWORD PTR[rsi],xmm9 + lea rsi,QWORD PTR[16+rsi] + cmp rdx,050h + jbe $L$cbc_dec_tail movaps xmm2,xmm11 -$L$cbc_dec_six_or_seven:: - cmp rdx,060h - ja $L$cbc_dec_seven +$L$cbc_dec_six_or_seven:: + cmp rdx,060h + ja $L$cbc_dec_seven movaps xmm8,xmm7 call _aesni_decrypt6 pxor xmm2,xmm10 movaps xmm10,xmm8 pxor xmm3,xmm11 - movdqu XMMWORD PTR[rsi],xmm2 + movdqu XMMWORD PTR[rsi],xmm2 pxor xmm4,xmm12 - movdqu XMMWORD PTR[16+rsi],xmm3 + movdqu XMMWORD PTR[16+rsi],xmm3 pxor xmm3,xmm3 pxor xmm5,xmm13 - movdqu XMMWORD PTR[32+rsi],xmm4 + movdqu XMMWORD PTR[32+rsi],xmm4 pxor xmm4,xmm4 pxor xmm6,xmm14 - movdqu XMMWORD PTR[48+rsi],xmm5 + movdqu XMMWORD PTR[48+rsi],xmm5 pxor xmm5,xmm5 pxor xmm7,xmm15 - movdqu XMMWORD PTR[64+rsi],xmm6 + movdqu XMMWORD PTR[64+rsi],xmm6 pxor xmm6,xmm6 - lea rsi,QWORD PTR[80+rsi] + lea rsi,QWORD PTR[80+rsi] movdqa xmm2,xmm7 pxor xmm7,xmm7 - jmp $L$cbc_dec_tail_collected + jmp $L$cbc_dec_tail_collected ALIGN 16 -$L$cbc_dec_seven:: - movups xmm8,XMMWORD PTR[96+rdi] +$L$cbc_dec_seven:: + movups xmm8,XMMWORD PTR[96+rdi] xorps xmm9,xmm9 call _aesni_decrypt8 - movups xmm9,XMMWORD PTR[80+rdi] + movups xmm9,XMMWORD PTR[80+rdi] pxor xmm2,xmm10 - movups xmm10,XMMWORD PTR[96+rdi] + movups xmm10,XMMWORD PTR[96+rdi] pxor xmm3,xmm11 - movdqu XMMWORD PTR[rsi],xmm2 + movdqu XMMWORD PTR[rsi],xmm2 pxor xmm4,xmm12 - movdqu XMMWORD PTR[16+rsi],xmm3 + movdqu XMMWORD PTR[16+rsi],xmm3 pxor xmm3,xmm3 pxor xmm5,xmm13 - movdqu XMMWORD PTR[32+rsi],xmm4 + movdqu XMMWORD PTR[32+rsi],xmm4 pxor xmm4,xmm4 pxor xmm6,xmm14 - movdqu XMMWORD PTR[48+rsi],xmm5 + movdqu XMMWORD PTR[48+rsi],xmm5 pxor xmm5,xmm5 pxor xmm7,xmm15 - movdqu XMMWORD PTR[64+rsi],xmm6 + movdqu XMMWORD PTR[64+rsi],xmm6 pxor xmm6,xmm6 pxor xmm8,xmm9 - movdqu XMMWORD PTR[80+rsi],xmm7 + movdqu XMMWORD PTR[80+rsi],xmm7 pxor xmm7,xmm7 - lea rsi,QWORD PTR[96+rsi] + lea rsi,QWORD PTR[96+rsi] movdqa xmm2,xmm8 pxor xmm8,xmm8 pxor xmm9,xmm9 - jmp $L$cbc_dec_tail_collected + jmp $L$cbc_dec_tail_collected ALIGN 16 -$L$cbc_dec_loop6:: - movups XMMWORD PTR[rsi],xmm7 - lea rsi,QWORD PTR[16+rsi] - movdqu xmm2,XMMWORD PTR[rdi] - movdqu xmm3,XMMWORD PTR[16+rdi] +$L$cbc_dec_loop6:: + movups XMMWORD PTR[rsi],xmm7 + lea rsi,QWORD PTR[16+rsi] + movdqu xmm2,XMMWORD PTR[rdi] + movdqu xmm3,XMMWORD PTR[16+rdi] movdqa xmm11,xmm2 - movdqu xmm4,XMMWORD PTR[32+rdi] + movdqu xmm4,XMMWORD PTR[32+rdi] movdqa xmm12,xmm3 - movdqu xmm5,XMMWORD PTR[48+rdi] + movdqu xmm5,XMMWORD PTR[48+rdi] movdqa xmm13,xmm4 - movdqu xmm6,XMMWORD PTR[64+rdi] + movdqu xmm6,XMMWORD PTR[64+rdi] movdqa xmm14,xmm5 - movdqu xmm7,XMMWORD PTR[80+rdi] + movdqu xmm7,XMMWORD PTR[80+rdi] movdqa xmm15,xmm6 -$L$cbc_dec_loop6_enter:: - lea rdi,QWORD PTR[96+rdi] +$L$cbc_dec_loop6_enter:: + lea rdi,QWORD PTR[96+rdi] movdqa xmm8,xmm7 call _aesni_decrypt6 @@ -4151,48 +4151,48 @@ $L$cbc_dec_loop6_enter:: pxor xmm2,xmm10 movdqa xmm10,xmm8 pxor xmm3,xmm11 - movdqu XMMWORD PTR[rsi],xmm2 + movdqu XMMWORD PTR[rsi],xmm2 pxor xmm4,xmm12 - movdqu XMMWORD PTR[16+rsi],xmm3 + movdqu XMMWORD PTR[16+rsi],xmm3 pxor xmm5,xmm13 - movdqu XMMWORD PTR[32+rsi],xmm4 + movdqu XMMWORD PTR[32+rsi],xmm4 pxor xmm6,xmm14 mov rcx,rbp - movdqu XMMWORD PTR[48+rsi],xmm5 + movdqu XMMWORD PTR[48+rsi],xmm5 pxor xmm7,xmm15 mov eax,r10d - movdqu XMMWORD PTR[64+rsi],xmm6 - lea rsi,QWORD PTR[80+rsi] - sub rdx,060h - ja $L$cbc_dec_loop6 + movdqu XMMWORD PTR[64+rsi],xmm6 + lea rsi,QWORD PTR[80+rsi] + sub rdx,060h + ja $L$cbc_dec_loop6 movdqa xmm2,xmm7 - add rdx,050h - jle $L$cbc_dec_clear_tail_collected - movups XMMWORD PTR[rsi],xmm7 - lea rsi,QWORD PTR[16+rsi] + add rdx,050h + jle $L$cbc_dec_clear_tail_collected + movups XMMWORD PTR[rsi],xmm7 + lea rsi,QWORD PTR[16+rsi] -$L$cbc_dec_tail:: - movups xmm2,XMMWORD PTR[rdi] - sub rdx,010h - jbe $L$cbc_dec_one +$L$cbc_dec_tail:: + movups xmm2,XMMWORD PTR[rdi] + sub rdx,010h + jbe $L$cbc_dec_one - movups xmm3,XMMWORD PTR[16+rdi] + movups xmm3,XMMWORD PTR[16+rdi] movaps xmm11,xmm2 - sub rdx,010h - jbe $L$cbc_dec_two + sub rdx,010h + jbe $L$cbc_dec_two - movups xmm4,XMMWORD PTR[32+rdi] + movups xmm4,XMMWORD PTR[32+rdi] movaps xmm12,xmm3 - sub rdx,010h - jbe $L$cbc_dec_three + sub rdx,010h + jbe $L$cbc_dec_three - movups xmm5,XMMWORD PTR[48+rdi] + movups xmm5,XMMWORD PTR[48+rdi] movaps xmm13,xmm4 - sub rdx,010h - jbe $L$cbc_dec_four + sub rdx,010h + jbe $L$cbc_dec_four - movups xmm6,XMMWORD PTR[64+rdi] + movups xmm6,XMMWORD PTR[64+rdi] movaps xmm14,xmm5 movaps xmm15,xmm6 xorps xmm7,xmm7 @@ -4200,219 +4200,219 @@ $L$cbc_dec_tail:: pxor xmm2,xmm10 movaps xmm10,xmm15 pxor xmm3,xmm11 - movdqu XMMWORD PTR[rsi],xmm2 + movdqu XMMWORD PTR[rsi],xmm2 pxor xmm4,xmm12 - movdqu XMMWORD PTR[16+rsi],xmm3 + movdqu XMMWORD PTR[16+rsi],xmm3 pxor xmm3,xmm3 pxor xmm5,xmm13 - movdqu XMMWORD PTR[32+rsi],xmm4 + movdqu XMMWORD PTR[32+rsi],xmm4 pxor xmm4,xmm4 pxor xmm6,xmm14 - movdqu XMMWORD PTR[48+rsi],xmm5 + movdqu XMMWORD PTR[48+rsi],xmm5 pxor xmm5,xmm5 - lea rsi,QWORD PTR[64+rsi] + lea rsi,QWORD PTR[64+rsi] movdqa xmm2,xmm6 pxor xmm6,xmm6 pxor xmm7,xmm7 - sub rdx,010h - jmp $L$cbc_dec_tail_collected + sub rdx,010h + jmp $L$cbc_dec_tail_collected ALIGN 16 -$L$cbc_dec_one:: +$L$cbc_dec_one:: movaps xmm11,xmm2 - movups xmm0,XMMWORD PTR[rcx] - movups xmm1,XMMWORD PTR[16+rcx] - lea rcx,QWORD PTR[32+rcx] + movups xmm0,XMMWORD PTR[rcx] + movups xmm1,XMMWORD PTR[16+rcx] + lea rcx,QWORD PTR[32+rcx] xorps xmm2,xmm0 -$L$oop_dec1_17:: +$L$oop_dec1_17:: DB 102,15,56,222,209 dec eax - movups xmm1,XMMWORD PTR[rcx] - lea rcx,QWORD PTR[16+rcx] - jnz $L$oop_dec1_17 + movups xmm1,XMMWORD PTR[rcx] + lea rcx,QWORD PTR[16+rcx] + jnz $L$oop_dec1_17 DB 102,15,56,223,209 xorps xmm2,xmm10 movaps xmm10,xmm11 - jmp $L$cbc_dec_tail_collected + jmp $L$cbc_dec_tail_collected ALIGN 16 -$L$cbc_dec_two:: +$L$cbc_dec_two:: movaps xmm12,xmm3 call _aesni_decrypt2 pxor xmm2,xmm10 movaps xmm10,xmm12 pxor xmm3,xmm11 - movdqu XMMWORD PTR[rsi],xmm2 + movdqu XMMWORD PTR[rsi],xmm2 movdqa xmm2,xmm3 pxor xmm3,xmm3 - lea rsi,QWORD PTR[16+rsi] - jmp $L$cbc_dec_tail_collected + lea rsi,QWORD PTR[16+rsi] + jmp $L$cbc_dec_tail_collected ALIGN 16 -$L$cbc_dec_three:: +$L$cbc_dec_three:: movaps xmm13,xmm4 call _aesni_decrypt3 pxor xmm2,xmm10 movaps xmm10,xmm13 pxor xmm3,xmm11 - movdqu XMMWORD PTR[rsi],xmm2 + movdqu XMMWORD PTR[rsi],xmm2 pxor xmm4,xmm12 - movdqu XMMWORD PTR[16+rsi],xmm3 + movdqu XMMWORD PTR[16+rsi],xmm3 pxor xmm3,xmm3 movdqa xmm2,xmm4 pxor xmm4,xmm4 - lea rsi,QWORD PTR[32+rsi] - jmp $L$cbc_dec_tail_collected + lea rsi,QWORD PTR[32+rsi] + jmp $L$cbc_dec_tail_collected ALIGN 16 -$L$cbc_dec_four:: +$L$cbc_dec_four:: movaps xmm14,xmm5 call _aesni_decrypt4 pxor xmm2,xmm10 movaps xmm10,xmm14 pxor xmm3,xmm11 - movdqu XMMWORD PTR[rsi],xmm2 + movdqu XMMWORD PTR[rsi],xmm2 pxor xmm4,xmm12 - movdqu XMMWORD PTR[16+rsi],xmm3 + movdqu XMMWORD PTR[16+rsi],xmm3 pxor xmm3,xmm3 pxor xmm5,xmm13 - movdqu XMMWORD PTR[32+rsi],xmm4 + movdqu XMMWORD PTR[32+rsi],xmm4 pxor xmm4,xmm4 movdqa xmm2,xmm5 pxor xmm5,xmm5 - lea rsi,QWORD PTR[48+rsi] - jmp $L$cbc_dec_tail_collected + lea rsi,QWORD PTR[48+rsi] + jmp $L$cbc_dec_tail_collected ALIGN 16 -$L$cbc_dec_clear_tail_collected:: +$L$cbc_dec_clear_tail_collected:: pxor xmm3,xmm3 pxor xmm4,xmm4 pxor xmm5,xmm5 -$L$cbc_dec_tail_collected:: - movups XMMWORD PTR[r8],xmm10 +$L$cbc_dec_tail_collected:: + movups XMMWORD PTR[r8],xmm10 and rdx,15 - jnz $L$cbc_dec_tail_partial - movups XMMWORD PTR[rsi],xmm2 + jnz $L$cbc_dec_tail_partial + movups XMMWORD PTR[rsi],xmm2 pxor xmm2,xmm2 - jmp $L$cbc_dec_ret + jmp $L$cbc_dec_ret ALIGN 16 -$L$cbc_dec_tail_partial:: - movaps XMMWORD PTR[rsp],xmm2 +$L$cbc_dec_tail_partial:: + movaps XMMWORD PTR[rsp],xmm2 pxor xmm2,xmm2 mov rcx,16 mov rdi,rsi sub rcx,rdx - lea rsi,QWORD PTR[rsp] - DD 09066A4F3h - movdqa XMMWORD PTR[rsp],xmm2 + lea rsi,QWORD PTR[rsp] + DD 09066A4F3h + movdqa XMMWORD PTR[rsp],xmm2 -$L$cbc_dec_ret:: +$L$cbc_dec_ret:: xorps xmm0,xmm0 pxor xmm1,xmm1 - movaps xmm6,XMMWORD PTR[16+rsp] - movaps XMMWORD PTR[16+rsp],xmm0 - movaps xmm7,XMMWORD PTR[32+rsp] - movaps XMMWORD PTR[32+rsp],xmm0 - movaps xmm8,XMMWORD PTR[48+rsp] - movaps XMMWORD PTR[48+rsp],xmm0 - movaps xmm9,XMMWORD PTR[64+rsp] - movaps XMMWORD PTR[64+rsp],xmm0 - movaps xmm10,XMMWORD PTR[80+rsp] - movaps XMMWORD PTR[80+rsp],xmm0 - movaps xmm11,XMMWORD PTR[96+rsp] - movaps XMMWORD PTR[96+rsp],xmm0 - movaps xmm12,XMMWORD PTR[112+rsp] - movaps XMMWORD PTR[112+rsp],xmm0 - movaps xmm13,XMMWORD PTR[128+rsp] - movaps XMMWORD PTR[128+rsp],xmm0 - movaps xmm14,XMMWORD PTR[144+rsp] - movaps XMMWORD PTR[144+rsp],xmm0 - movaps xmm15,XMMWORD PTR[160+rsp] - movaps XMMWORD PTR[160+rsp],xmm0 - mov rbp,QWORD PTR[((-8))+r11] - - lea rsp,QWORD PTR[r11] - -$L$cbc_ret:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movaps xmm6,XMMWORD PTR[16+rsp] + movaps XMMWORD PTR[16+rsp],xmm0 + movaps xmm7,XMMWORD PTR[32+rsp] + movaps XMMWORD PTR[32+rsp],xmm0 + movaps xmm8,XMMWORD PTR[48+rsp] + movaps XMMWORD PTR[48+rsp],xmm0 + movaps xmm9,XMMWORD PTR[64+rsp] + movaps XMMWORD PTR[64+rsp],xmm0 + movaps xmm10,XMMWORD PTR[80+rsp] + movaps XMMWORD PTR[80+rsp],xmm0 + movaps xmm11,XMMWORD PTR[96+rsp] + movaps XMMWORD PTR[96+rsp],xmm0 + movaps xmm12,XMMWORD PTR[112+rsp] + movaps XMMWORD PTR[112+rsp],xmm0 + movaps xmm13,XMMWORD PTR[128+rsp] + movaps XMMWORD PTR[128+rsp],xmm0 + movaps xmm14,XMMWORD PTR[144+rsp] + movaps XMMWORD PTR[144+rsp],xmm0 + movaps xmm15,XMMWORD PTR[160+rsp] + movaps XMMWORD PTR[160+rsp],xmm0 + mov rbp,QWORD PTR[((-8))+r11] + + lea rsp,QWORD PTR[r11] + +$L$cbc_ret:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_encrypt:: -aesni_cbc_encrypt ENDP -PUBLIC aesni_set_decrypt_key +$L$SEH_end_aesni_cbc_encrypt:: +aesni_cbc_encrypt ENDP +PUBLIC aesni_set_decrypt_key ALIGN 16 -aesni_set_decrypt_key PROC PUBLIC +aesni_set_decrypt_key PROC PUBLIC -DB 048h,083h,0ECh,008h +DB 048h,083h,0ECh,008h call __aesni_set_encrypt_key shl edx,4 test eax,eax - jnz $L$dec_key_ret - lea rcx,QWORD PTR[16+rdx*1+r8] - - movups xmm0,XMMWORD PTR[r8] - movups xmm1,XMMWORD PTR[rcx] - movups XMMWORD PTR[rcx],xmm0 - movups XMMWORD PTR[r8],xmm1 - lea r8,QWORD PTR[16+r8] - lea rcx,QWORD PTR[((-16))+rcx] - -$L$dec_key_inverse:: - movups xmm0,XMMWORD PTR[r8] - movups xmm1,XMMWORD PTR[rcx] + jnz $L$dec_key_ret + lea rcx,QWORD PTR[16+rdx*1+r8] + + movups xmm0,XMMWORD PTR[r8] + movups xmm1,XMMWORD PTR[rcx] + movups XMMWORD PTR[rcx],xmm0 + movups XMMWORD PTR[r8],xmm1 + lea r8,QWORD PTR[16+r8] + lea rcx,QWORD PTR[((-16))+rcx] + +$L$dec_key_inverse:: + movups xmm0,XMMWORD PTR[r8] + movups xmm1,XMMWORD PTR[rcx] DB 102,15,56,219,192 DB 102,15,56,219,201 - lea r8,QWORD PTR[16+r8] - lea rcx,QWORD PTR[((-16))+rcx] - movups XMMWORD PTR[16+rcx],xmm0 - movups XMMWORD PTR[(-16)+r8],xmm1 + lea r8,QWORD PTR[16+r8] + lea rcx,QWORD PTR[((-16))+rcx] + movups XMMWORD PTR[16+rcx],xmm0 + movups XMMWORD PTR[(-16)+r8],xmm1 cmp rcx,r8 - ja $L$dec_key_inverse + ja $L$dec_key_inverse - movups xmm0,XMMWORD PTR[r8] + movups xmm0,XMMWORD PTR[r8] DB 102,15,56,219,192 pxor xmm1,xmm1 - movups XMMWORD PTR[rcx],xmm0 + movups XMMWORD PTR[rcx],xmm0 pxor xmm0,xmm0 -$L$dec_key_ret:: +$L$dec_key_ret:: add rsp,8 DB 0F3h,0C3h ;repret -$L$SEH_end_set_decrypt_key:: -aesni_set_decrypt_key ENDP -PUBLIC aesni_set_encrypt_key +$L$SEH_end_set_decrypt_key:: +aesni_set_decrypt_key ENDP +PUBLIC aesni_set_encrypt_key ALIGN 16 -aesni_set_encrypt_key PROC PUBLIC -__aesni_set_encrypt_key:: +aesni_set_encrypt_key PROC PUBLIC +__aesni_set_encrypt_key:: -DB 048h,083h,0ECh,008h +DB 048h,083h,0ECh,008h mov rax,-1 test rcx,rcx - jz $L$enc_key_ret + jz $L$enc_key_ret test r8,r8 - jz $L$enc_key_ret + jz $L$enc_key_ret mov r10d,268437504 - movups xmm0,XMMWORD PTR[rcx] + movups xmm0,XMMWORD PTR[rcx] xorps xmm4,xmm4 - and r10d,DWORD PTR[((OPENSSL_ia32cap_P+4))] - lea rax,QWORD PTR[16+r8] + and r10d,DWORD PTR[((OPENSSL_ia32cap_P+4))] + lea rax,QWORD PTR[16+r8] cmp edx,256 - je $L$14rounds + je $L$14rounds cmp edx,192 - je $L$12rounds + je $L$12rounds cmp edx,128 - jne $L$bad_keybits + jne $L$bad_keybits -$L$10rounds:: +$L$10rounds:: mov edx,9 cmp r10d,268435456 - je $L$10rounds_alt + je $L$10rounds_alt - movups XMMWORD PTR[r8],xmm0 + movups XMMWORD PTR[r8],xmm0 DB 102,15,58,223,200,1 call $L$key_expansion_128_cold DB 102,15,58,223,200,2 @@ -4433,26 +4433,26 @@ DB 102,15,58,223,200,27 call $L$key_expansion_128 DB 102,15,58,223,200,54 call $L$key_expansion_128 - movups XMMWORD PTR[rax],xmm0 - mov DWORD PTR[80+rax],edx + movups XMMWORD PTR[rax],xmm0 + mov DWORD PTR[80+rax],edx xor eax,eax - jmp $L$enc_key_ret + jmp $L$enc_key_ret ALIGN 16 -$L$10rounds_alt:: - movdqa xmm5,XMMWORD PTR[$L$key_rotate] +$L$10rounds_alt:: + movdqa xmm5,XMMWORD PTR[$L$key_rotate] mov r10d,8 - movdqa xmm4,XMMWORD PTR[$L$key_rcon1] + movdqa xmm4,XMMWORD PTR[$L$key_rcon1] movdqa xmm2,xmm0 - movdqu XMMWORD PTR[r8],xmm0 - jmp $L$oop_key128 + movdqu XMMWORD PTR[r8],xmm0 + jmp $L$oop_key128 ALIGN 16 -$L$oop_key128:: +$L$oop_key128:: DB 102,15,56,0,197 DB 102,15,56,221,196 pslld xmm4,1 - lea rax,QWORD PTR[16+rax] + lea rax,QWORD PTR[16+rax] movdqa xmm3,xmm2 pslldq xmm2,4 @@ -4463,13 +4463,13 @@ DB 102,15,56,221,196 pxor xmm2,xmm3 pxor xmm0,xmm2 - movdqu XMMWORD PTR[(-16)+rax],xmm0 + movdqu XMMWORD PTR[(-16)+rax],xmm0 movdqa xmm2,xmm0 dec r10d - jnz $L$oop_key128 + jnz $L$oop_key128 - movdqa xmm4,XMMWORD PTR[$L$key_rcon1b] + movdqa xmm4,XMMWORD PTR[$L$key_rcon1b] DB 102,15,56,0,197 DB 102,15,56,221,196 @@ -4484,7 +4484,7 @@ DB 102,15,56,221,196 pxor xmm2,xmm3 pxor xmm0,xmm2 - movdqu XMMWORD PTR[rax],xmm0 + movdqu XMMWORD PTR[rax],xmm0 movdqa xmm2,xmm0 DB 102,15,56,0,197 @@ -4499,20 +4499,20 @@ DB 102,15,56,221,196 pxor xmm2,xmm3 pxor xmm0,xmm2 - movdqu XMMWORD PTR[16+rax],xmm0 + movdqu XMMWORD PTR[16+rax],xmm0 - mov DWORD PTR[96+rax],edx + mov DWORD PTR[96+rax],edx xor eax,eax - jmp $L$enc_key_ret + jmp $L$enc_key_ret ALIGN 16 -$L$12rounds:: - movq xmm2,QWORD PTR[16+rcx] +$L$12rounds:: + movq xmm2,QWORD PTR[16+rcx] mov edx,11 cmp r10d,268435456 - je $L$12rounds_alt + je $L$12rounds_alt - movups XMMWORD PTR[r8],xmm0 + movups XMMWORD PTR[r8],xmm0 DB 102,15,58,223,202,1 call $L$key_expansion_192a_cold DB 102,15,58,223,202,2 @@ -4529,27 +4529,27 @@ DB 102,15,58,223,202,64 call $L$key_expansion_192a DB 102,15,58,223,202,128 call $L$key_expansion_192b - movups XMMWORD PTR[rax],xmm0 - mov DWORD PTR[48+rax],edx + movups XMMWORD PTR[rax],xmm0 + mov DWORD PTR[48+rax],edx xor rax,rax - jmp $L$enc_key_ret + jmp $L$enc_key_ret ALIGN 16 -$L$12rounds_alt:: - movdqa xmm5,XMMWORD PTR[$L$key_rotate192] - movdqa xmm4,XMMWORD PTR[$L$key_rcon1] +$L$12rounds_alt:: + movdqa xmm5,XMMWORD PTR[$L$key_rotate192] + movdqa xmm4,XMMWORD PTR[$L$key_rcon1] mov r10d,8 - movdqu XMMWORD PTR[r8],xmm0 - jmp $L$oop_key192 + movdqu XMMWORD PTR[r8],xmm0 + jmp $L$oop_key192 ALIGN 16 -$L$oop_key192:: - movq QWORD PTR[rax],xmm2 +$L$oop_key192:: + movq QWORD PTR[rax],xmm2 movdqa xmm1,xmm2 DB 102,15,56,0,213 DB 102,15,56,221,212 pslld xmm4,1 - lea rax,QWORD PTR[24+rax] + lea rax,QWORD PTR[24+rax] movdqa xmm3,xmm0 pslldq xmm0,4 @@ -4559,32 +4559,32 @@ DB 102,15,56,221,212 pslldq xmm0,4 pxor xmm0,xmm3 - pshufd xmm3,xmm0,0ffh + pshufd xmm3,xmm0,0ffh pxor xmm3,xmm1 pslldq xmm1,4 pxor xmm3,xmm1 pxor xmm0,xmm2 pxor xmm2,xmm3 - movdqu XMMWORD PTR[(-16)+rax],xmm0 + movdqu XMMWORD PTR[(-16)+rax],xmm0 dec r10d - jnz $L$oop_key192 + jnz $L$oop_key192 - mov DWORD PTR[32+rax],edx + mov DWORD PTR[32+rax],edx xor eax,eax - jmp $L$enc_key_ret + jmp $L$enc_key_ret ALIGN 16 -$L$14rounds:: - movups xmm2,XMMWORD PTR[16+rcx] +$L$14rounds:: + movups xmm2,XMMWORD PTR[16+rcx] mov edx,13 - lea rax,QWORD PTR[16+rax] + lea rax,QWORD PTR[16+rax] cmp r10d,268435456 - je $L$14rounds_alt + je $L$14rounds_alt - movups XMMWORD PTR[r8],xmm0 - movups XMMWORD PTR[16+r8],xmm2 + movups XMMWORD PTR[r8],xmm0 + movups XMMWORD PTR[16+r8],xmm2 DB 102,15,58,223,202,1 call $L$key_expansion_256a_cold DB 102,15,58,223,200,1 @@ -4611,23 +4611,23 @@ DB 102,15,58,223,200,32 call $L$key_expansion_256b DB 102,15,58,223,202,64 call $L$key_expansion_256a - movups XMMWORD PTR[rax],xmm0 - mov DWORD PTR[16+rax],edx + movups XMMWORD PTR[rax],xmm0 + mov DWORD PTR[16+rax],edx xor rax,rax - jmp $L$enc_key_ret + jmp $L$enc_key_ret ALIGN 16 -$L$14rounds_alt:: - movdqa xmm5,XMMWORD PTR[$L$key_rotate] - movdqa xmm4,XMMWORD PTR[$L$key_rcon1] +$L$14rounds_alt:: + movdqa xmm5,XMMWORD PTR[$L$key_rotate] + movdqa xmm4,XMMWORD PTR[$L$key_rcon1] mov r10d,7 - movdqu XMMWORD PTR[r8],xmm0 + movdqu XMMWORD PTR[r8],xmm0 movdqa xmm1,xmm2 - movdqu XMMWORD PTR[16+r8],xmm2 - jmp $L$oop_key256 + movdqu XMMWORD PTR[16+r8],xmm2 + jmp $L$oop_key256 ALIGN 16 -$L$oop_key256:: +$L$oop_key256:: DB 102,15,56,0,213 DB 102,15,56,221,212 @@ -4641,12 +4641,12 @@ DB 102,15,56,221,212 pslld xmm4,1 pxor xmm0,xmm2 - movdqu XMMWORD PTR[rax],xmm0 + movdqu XMMWORD PTR[rax],xmm0 dec r10d - jz $L$done_key256 + jz $L$done_key256 - pshufd xmm2,xmm0,0ffh + pshufd xmm2,xmm0,0ffh pxor xmm3,xmm3 DB 102,15,56,221,211 @@ -4659,21 +4659,21 @@ DB 102,15,56,221,211 pxor xmm1,xmm3 pxor xmm2,xmm1 - movdqu XMMWORD PTR[16+rax],xmm2 - lea rax,QWORD PTR[32+rax] + movdqu XMMWORD PTR[16+rax],xmm2 + lea rax,QWORD PTR[32+rax] movdqa xmm1,xmm2 - jmp $L$oop_key256 + jmp $L$oop_key256 -$L$done_key256:: - mov DWORD PTR[16+rax],edx +$L$done_key256:: + mov DWORD PTR[16+rax],edx xor eax,eax - jmp $L$enc_key_ret + jmp $L$enc_key_ret ALIGN 16 -$L$bad_keybits:: +$L$bad_keybits:: mov rax,-2 -$L$enc_key_ret:: +$L$enc_key_ret:: pxor xmm0,xmm0 pxor xmm1,xmm1 pxor xmm2,xmm2 @@ -4683,13 +4683,13 @@ $L$enc_key_ret:: add rsp,8 DB 0F3h,0C3h ;repret -$L$SEH_end_set_encrypt_key:: +$L$SEH_end_set_encrypt_key:: ALIGN 16 -$L$key_expansion_128:: - movups XMMWORD PTR[rax],xmm0 - lea rax,QWORD PTR[16+rax] -$L$key_expansion_128_cold:: +$L$key_expansion_128:: + movups XMMWORD PTR[rax],xmm0 + lea rax,QWORD PTR[16+rax] +$L$key_expansion_128_cold:: shufps xmm4,xmm0,16 xorps xmm0,xmm4 shufps xmm4,xmm0,140 @@ -4699,12 +4699,12 @@ $L$key_expansion_128_cold:: DB 0F3h,0C3h ;repret ALIGN 16 -$L$key_expansion_192a:: - movups XMMWORD PTR[rax],xmm0 - lea rax,QWORD PTR[16+rax] -$L$key_expansion_192a_cold:: +$L$key_expansion_192a:: + movups XMMWORD PTR[rax],xmm0 + lea rax,QWORD PTR[16+rax] +$L$key_expansion_192a_cold:: movaps xmm5,xmm2 -$L$key_expansion_192b_warm:: +$L$key_expansion_192b_warm:: shufps xmm4,xmm0,16 movdqa xmm3,xmm2 xorps xmm0,xmm4 @@ -4719,20 +4719,20 @@ $L$key_expansion_192b_warm:: DB 0F3h,0C3h ;repret ALIGN 16 -$L$key_expansion_192b:: +$L$key_expansion_192b:: movaps xmm3,xmm0 shufps xmm5,xmm0,68 - movups XMMWORD PTR[rax],xmm5 + movups XMMWORD PTR[rax],xmm5 shufps xmm3,xmm2,78 - movups XMMWORD PTR[16+rax],xmm3 - lea rax,QWORD PTR[32+rax] - jmp $L$key_expansion_192b_warm + movups XMMWORD PTR[16+rax],xmm3 + lea rax,QWORD PTR[32+rax] + jmp $L$key_expansion_192b_warm ALIGN 16 -$L$key_expansion_256a:: - movups XMMWORD PTR[rax],xmm2 - lea rax,QWORD PTR[16+rax] -$L$key_expansion_256a_cold:: +$L$key_expansion_256a:: + movups XMMWORD PTR[rax],xmm2 + lea rax,QWORD PTR[16+rax] +$L$key_expansion_256a_cold:: shufps xmm4,xmm0,16 xorps xmm0,xmm4 shufps xmm4,xmm0,140 @@ -4742,9 +4742,9 @@ $L$key_expansion_256a_cold:: DB 0F3h,0C3h ;repret ALIGN 16 -$L$key_expansion_256b:: - movups XMMWORD PTR[rax],xmm0 - lea rax,QWORD PTR[16+rax] +$L$key_expansion_256b:: + movups XMMWORD PTR[rax],xmm0 + lea rax,QWORD PTR[16+rax] shufps xmm4,xmm2,16 xorps xmm2,xmm4 @@ -4754,37 +4754,37 @@ $L$key_expansion_256b:: xorps xmm2,xmm1 DB 0F3h,0C3h ;repret -aesni_set_encrypt_key ENDP +aesni_set_encrypt_key ENDP ALIGN 64 -$L$bswap_mask:: +$L$bswap_mask:: DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 -$L$increment32:: +$L$increment32:: DD 6,6,6,0 -$L$increment64:: +$L$increment64:: DD 1,0,0,0 -$L$xts_magic:: - DD 087h,0,1,0 -$L$increment1:: +$L$xts_magic:: + DD 087h,0,1,0 +$L$increment1:: DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -$L$key_rotate:: - DD 00c0f0e0dh,00c0f0e0dh,00c0f0e0dh,00c0f0e0dh -$L$key_rotate192:: - DD 004070605h,004070605h,004070605h,004070605h -$L$key_rcon1:: +$L$key_rotate:: + DD 00c0f0e0dh,00c0f0e0dh,00c0f0e0dh,00c0f0e0dh +$L$key_rotate192:: + DD 004070605h,004070605h,004070605h,004070605h +$L$key_rcon1:: DD 1,1,1,1 -$L$key_rcon1b:: - DD 01bh,01bh,01bh,01bh +$L$key_rcon1b:: + DD 01bh,01bh,01bh,01bh DB 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69 DB 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83 DB 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115 DB 115,108,46,111,114,103,62,0 ALIGN 64 -EXTERN __imp_RtlVirtualUnwind:NEAR +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -ecb_ccm64_se_handler PROC PRIVATE +ecb_ccm64_se_handler PROC PRIVATE push rsi push rdi push rbx @@ -4796,36 +4796,36 @@ ecb_ccm64_se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail + jae $L$common_seh_tail - lea rsi,QWORD PTR[rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[rax] + lea rdi,QWORD PTR[512+r8] mov ecx,8 - DD 0a548f3fch - lea rax,QWORD PTR[88+rax] + DD 0a548f3fch + lea rax,QWORD PTR[88+rax] - jmp $L$common_seh_tail -ecb_ccm64_se_handler ENDP + jmp $L$common_seh_tail +ecb_ccm64_se_handler ENDP ALIGN 16 -ctr_xts_se_handler PROC PRIVATE +ctr_xts_se_handler PROC PRIVATE push rsi push rdi push rbx @@ -4837,39 +4837,39 @@ ctr_xts_se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail + jae $L$common_seh_tail - mov rax,QWORD PTR[208+r8] + mov rax,QWORD PTR[208+r8] - lea rsi,QWORD PTR[((-168))+rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[((-168))+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch + DD 0a548f3fch - mov rbp,QWORD PTR[((-8))+rax] - mov QWORD PTR[160+r8],rbp - jmp $L$common_seh_tail -ctr_xts_se_handler ENDP + mov rbp,QWORD PTR[((-8))+rax] + mov QWORD PTR[160+r8],rbp + jmp $L$common_seh_tail +ctr_xts_se_handler ENDP ALIGN 16 -ocb_se_handler PROC PRIVATE +ocb_se_handler PROC PRIVATE push rsi push rdi push rbx @@ -4881,53 +4881,53 @@ ocb_se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail + jae $L$common_seh_tail - mov r10d,DWORD PTR[8+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[8+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$ocb_no_xmm + jae $L$ocb_no_xmm - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - lea rsi,QWORD PTR[rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch - lea rax,QWORD PTR[((160+40))+rax] + DD 0a548f3fch + lea rax,QWORD PTR[((160+40))+rax] -$L$ocb_no_xmm:: - 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] +$L$ocb_no_xmm:: + 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 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 $L$common_seh_tail -ocb_se_handler ENDP + jmp $L$common_seh_tail +ocb_se_handler ENDP ALIGN 16 -cbc_se_handler PROC PRIVATE +cbc_se_handler PROC PRIVATE push rsi push rdi push rbx @@ -4939,60 +4939,60 @@ cbc_se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[152+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[152+r8] + mov rbx,QWORD PTR[248+r8] - lea r10,QWORD PTR[$L$cbc_decrypt_bulk] + lea r10,QWORD PTR[$L$cbc_decrypt_bulk] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[120+r8] + mov rax,QWORD PTR[120+r8] - lea r10,QWORD PTR[$L$cbc_decrypt_body] + lea r10,QWORD PTR[$L$cbc_decrypt_body] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - lea r10,QWORD PTR[$L$cbc_ret] + lea r10,QWORD PTR[$L$cbc_ret] cmp rbx,r10 - jae $L$common_seh_tail + jae $L$common_seh_tail - lea rsi,QWORD PTR[16+rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[16+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch + DD 0a548f3fch - mov rax,QWORD PTR[208+r8] + mov rax,QWORD PTR[208+r8] - mov rbp,QWORD PTR[((-8))+rax] - mov QWORD PTR[160+r8],rbp + mov rbp,QWORD PTR[((-8))+rax] + mov QWORD PTR[160+r8],rbp -$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 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 - mov rdi,QWORD PTR[40+r9] + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -5006,98 +5006,98 @@ $L$common_seh_tail:: pop rdi pop rsi DB 0F3h,0C3h ;repret -cbc_se_handler ENDP +cbc_se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_aesni_ecb_encrypt - DD imagerel $L$SEH_end_aesni_ecb_encrypt - DD imagerel $L$SEH_info_ecb - - DD imagerel $L$SEH_begin_aesni_ccm64_encrypt_blocks - DD imagerel $L$SEH_end_aesni_ccm64_encrypt_blocks - DD imagerel $L$SEH_info_ccm64_enc - - DD imagerel $L$SEH_begin_aesni_ccm64_decrypt_blocks - DD imagerel $L$SEH_end_aesni_ccm64_decrypt_blocks - DD imagerel $L$SEH_info_ccm64_dec - - DD imagerel $L$SEH_begin_aesni_ctr32_encrypt_blocks - DD imagerel $L$SEH_end_aesni_ctr32_encrypt_blocks - DD imagerel $L$SEH_info_ctr32 - - DD imagerel $L$SEH_begin_aesni_xts_encrypt - DD imagerel $L$SEH_end_aesni_xts_encrypt - DD imagerel $L$SEH_info_xts_enc - - DD imagerel $L$SEH_begin_aesni_xts_decrypt - DD imagerel $L$SEH_end_aesni_xts_decrypt - DD imagerel $L$SEH_info_xts_dec - - DD imagerel $L$SEH_begin_aesni_ocb_encrypt - DD imagerel $L$SEH_end_aesni_ocb_encrypt - DD imagerel $L$SEH_info_ocb_enc - - DD imagerel $L$SEH_begin_aesni_ocb_decrypt - DD imagerel $L$SEH_end_aesni_ocb_decrypt - DD imagerel $L$SEH_info_ocb_dec - DD imagerel $L$SEH_begin_aesni_cbc_encrypt - DD imagerel $L$SEH_end_aesni_cbc_encrypt - DD imagerel $L$SEH_info_cbc - - DD imagerel aesni_set_decrypt_key - DD imagerel $L$SEH_end_set_decrypt_key - DD imagerel $L$SEH_info_key - - DD imagerel aesni_set_encrypt_key - DD imagerel $L$SEH_end_set_encrypt_key - DD imagerel $L$SEH_info_key -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + DD imagerel $L$SEH_begin_aesni_ecb_encrypt + DD imagerel $L$SEH_end_aesni_ecb_encrypt + DD imagerel $L$SEH_info_ecb + + DD imagerel $L$SEH_begin_aesni_ccm64_encrypt_blocks + DD imagerel $L$SEH_end_aesni_ccm64_encrypt_blocks + DD imagerel $L$SEH_info_ccm64_enc + + DD imagerel $L$SEH_begin_aesni_ccm64_decrypt_blocks + DD imagerel $L$SEH_end_aesni_ccm64_decrypt_blocks + DD imagerel $L$SEH_info_ccm64_dec + + DD imagerel $L$SEH_begin_aesni_ctr32_encrypt_blocks + DD imagerel $L$SEH_end_aesni_ctr32_encrypt_blocks + DD imagerel $L$SEH_info_ctr32 + + DD imagerel $L$SEH_begin_aesni_xts_encrypt + DD imagerel $L$SEH_end_aesni_xts_encrypt + DD imagerel $L$SEH_info_xts_enc + + DD imagerel $L$SEH_begin_aesni_xts_decrypt + DD imagerel $L$SEH_end_aesni_xts_decrypt + DD imagerel $L$SEH_info_xts_dec + + DD imagerel $L$SEH_begin_aesni_ocb_encrypt + DD imagerel $L$SEH_end_aesni_ocb_encrypt + DD imagerel $L$SEH_info_ocb_enc + + DD imagerel $L$SEH_begin_aesni_ocb_decrypt + DD imagerel $L$SEH_end_aesni_ocb_decrypt + DD imagerel $L$SEH_info_ocb_dec + DD imagerel $L$SEH_begin_aesni_cbc_encrypt + DD imagerel $L$SEH_end_aesni_cbc_encrypt + DD imagerel $L$SEH_info_cbc + + DD imagerel aesni_set_decrypt_key + DD imagerel $L$SEH_end_set_decrypt_key + DD imagerel $L$SEH_info_key + + DD imagerel aesni_set_encrypt_key + DD imagerel $L$SEH_end_set_encrypt_key + DD imagerel $L$SEH_info_key +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_ecb:: +$L$SEH_info_ecb:: DB 9,0,0,0 - DD imagerel ecb_ccm64_se_handler - DD imagerel $L$ecb_enc_body,imagerel $L$ecb_enc_ret -$L$SEH_info_ccm64_enc:: + DD imagerel ecb_ccm64_se_handler + DD imagerel $L$ecb_enc_body,imagerel $L$ecb_enc_ret +$L$SEH_info_ccm64_enc:: DB 9,0,0,0 - DD imagerel ecb_ccm64_se_handler - DD imagerel $L$ccm64_enc_body,imagerel $L$ccm64_enc_ret -$L$SEH_info_ccm64_dec:: + DD imagerel ecb_ccm64_se_handler + DD imagerel $L$ccm64_enc_body,imagerel $L$ccm64_enc_ret +$L$SEH_info_ccm64_dec:: DB 9,0,0,0 - DD imagerel ecb_ccm64_se_handler - DD imagerel $L$ccm64_dec_body,imagerel $L$ccm64_dec_ret -$L$SEH_info_ctr32:: + DD imagerel ecb_ccm64_se_handler + DD imagerel $L$ccm64_dec_body,imagerel $L$ccm64_dec_ret +$L$SEH_info_ctr32:: DB 9,0,0,0 - DD imagerel ctr_xts_se_handler - DD imagerel $L$ctr32_body,imagerel $L$ctr32_epilogue -$L$SEH_info_xts_enc:: + DD imagerel ctr_xts_se_handler + DD imagerel $L$ctr32_body,imagerel $L$ctr32_epilogue +$L$SEH_info_xts_enc:: DB 9,0,0,0 - DD imagerel ctr_xts_se_handler - DD imagerel $L$xts_enc_body,imagerel $L$xts_enc_epilogue -$L$SEH_info_xts_dec:: + DD imagerel ctr_xts_se_handler + DD imagerel $L$xts_enc_body,imagerel $L$xts_enc_epilogue +$L$SEH_info_xts_dec:: DB 9,0,0,0 - DD imagerel ctr_xts_se_handler - DD imagerel $L$xts_dec_body,imagerel $L$xts_dec_epilogue -$L$SEH_info_ocb_enc:: + DD imagerel ctr_xts_se_handler + DD imagerel $L$xts_dec_body,imagerel $L$xts_dec_epilogue +$L$SEH_info_ocb_enc:: DB 9,0,0,0 - DD imagerel ocb_se_handler - DD imagerel $L$ocb_enc_body,imagerel $L$ocb_enc_epilogue - DD imagerel $L$ocb_enc_pop + DD imagerel ocb_se_handler + DD imagerel $L$ocb_enc_body,imagerel $L$ocb_enc_epilogue + DD imagerel $L$ocb_enc_pop DD 0 -$L$SEH_info_ocb_dec:: +$L$SEH_info_ocb_dec:: DB 9,0,0,0 - DD imagerel ocb_se_handler - DD imagerel $L$ocb_dec_body,imagerel $L$ocb_dec_epilogue - DD imagerel $L$ocb_dec_pop + DD imagerel ocb_se_handler + DD imagerel $L$ocb_dec_body,imagerel $L$ocb_dec_epilogue + DD imagerel $L$ocb_dec_pop DD 0 -$L$SEH_info_cbc:: +$L$SEH_info_cbc:: DB 9,0,0,0 - DD imagerel cbc_se_handler -$L$SEH_info_key:: -DB 001h,004h,001h,000h -DB 004h,002h,000h,000h - -.xdata ENDS -END + DD imagerel cbc_se_handler +$L$SEH_info_key:: +DB 001h,004h,001h,000h +DB 004h,002h,000h,000h + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/aes/vpaes-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/aes/vpaes-x86_64.masm index c36055aaea..47bd6e08be 100644 --- a/contrib/libs/openssl/asm/windows/crypto/aes/vpaes-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/aes/vpaes-x86_64.masm @@ -1,5 +1,5 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' @@ -18,28 +18,28 @@ OPTION DOTNAME ALIGN 16 -_vpaes_encrypt_core PROC PRIVATE +_vpaes_encrypt_core PROC PRIVATE mov r9,rdx mov r11,16 - mov eax,DWORD PTR[240+rdx] + mov eax,DWORD PTR[240+rdx] movdqa xmm1,xmm9 - movdqa xmm2,XMMWORD PTR[$L$k_ipt] + movdqa xmm2,XMMWORD PTR[$L$k_ipt] pandn xmm1,xmm0 - movdqu xmm5,XMMWORD PTR[r9] + movdqu xmm5,XMMWORD PTR[r9] psrld xmm1,4 pand xmm0,xmm9 DB 102,15,56,0,208 - movdqa xmm0,XMMWORD PTR[(($L$k_ipt+16))] + movdqa xmm0,XMMWORD PTR[(($L$k_ipt+16))] DB 102,15,56,0,193 pxor xmm2,xmm5 add r9,16 pxor xmm0,xmm2 - lea r10,QWORD PTR[$L$k_mc_backward] - jmp $L$enc_entry + lea r10,QWORD PTR[$L$k_mc_backward] + jmp $L$enc_entry ALIGN 16 -$L$enc_loop:: +$L$enc_loop:: movdqa xmm4,xmm13 movdqa xmm0,xmm12 @@ -48,9 +48,9 @@ DB 102,15,56,0,195 pxor xmm4,xmm5 movdqa xmm5,xmm15 pxor xmm0,xmm4 - movdqa xmm1,XMMWORD PTR[((-64))+r10*1+r11] + movdqa xmm1,XMMWORD PTR[((-64))+r10*1+r11] DB 102,15,56,0,234 - movdqa xmm4,XMMWORD PTR[r10*1+r11] + movdqa xmm4,XMMWORD PTR[r10*1+r11] movdqa xmm2,xmm14 DB 102,15,56,0,211 movdqa xmm3,xmm0 @@ -62,11 +62,11 @@ DB 102,15,56,0,220 add r11,16 pxor xmm3,xmm0 DB 102,15,56,0,193 - and r11,030h + and r11,030h sub rax,1 pxor xmm0,xmm3 -$L$enc_entry:: +$L$enc_entry:: movdqa xmm1,xmm9 movdqa xmm5,xmm11 @@ -86,22 +86,22 @@ DB 102,15,56,0,211 movdqa xmm3,xmm10 pxor xmm2,xmm0 DB 102,15,56,0,220 - movdqu xmm5,XMMWORD PTR[r9] + movdqu xmm5,XMMWORD PTR[r9] pxor xmm3,xmm1 - jnz $L$enc_loop + jnz $L$enc_loop - movdqa xmm4,XMMWORD PTR[((-96))+r10] - movdqa xmm0,XMMWORD PTR[((-80))+r10] + movdqa xmm4,XMMWORD PTR[((-96))+r10] + movdqa xmm0,XMMWORD PTR[((-80))+r10] DB 102,15,56,0,226 pxor xmm4,xmm5 DB 102,15,56,0,195 - movdqa xmm1,XMMWORD PTR[64+r10*1+r11] + movdqa xmm1,XMMWORD PTR[64+r10*1+r11] pxor xmm0,xmm4 DB 102,15,56,0,193 DB 0F3h,0C3h ;repret -_vpaes_encrypt_core ENDP +_vpaes_encrypt_core ENDP @@ -110,60 +110,60 @@ _vpaes_encrypt_core ENDP ALIGN 16 -_vpaes_decrypt_core PROC PRIVATE +_vpaes_decrypt_core PROC PRIVATE mov r9,rdx - mov eax,DWORD PTR[240+rdx] + mov eax,DWORD PTR[240+rdx] movdqa xmm1,xmm9 - movdqa xmm2,XMMWORD PTR[$L$k_dipt] + movdqa xmm2,XMMWORD PTR[$L$k_dipt] pandn xmm1,xmm0 mov r11,rax psrld xmm1,4 - movdqu xmm5,XMMWORD PTR[r9] + movdqu xmm5,XMMWORD PTR[r9] shl r11,4 pand xmm0,xmm9 DB 102,15,56,0,208 - movdqa xmm0,XMMWORD PTR[(($L$k_dipt+16))] - xor r11,030h - lea r10,QWORD PTR[$L$k_dsbd] + movdqa xmm0,XMMWORD PTR[(($L$k_dipt+16))] + xor r11,030h + lea r10,QWORD PTR[$L$k_dsbd] DB 102,15,56,0,193 - and r11,030h + and r11,030h pxor xmm2,xmm5 - movdqa xmm5,XMMWORD PTR[(($L$k_mc_forward+48))] + movdqa xmm5,XMMWORD PTR[(($L$k_mc_forward+48))] pxor xmm0,xmm2 add r9,16 add r11,r10 - jmp $L$dec_entry + jmp $L$dec_entry ALIGN 16 -$L$dec_loop:: +$L$dec_loop:: - movdqa xmm4,XMMWORD PTR[((-32))+r10] - movdqa xmm1,XMMWORD PTR[((-16))+r10] + movdqa xmm4,XMMWORD PTR[((-32))+r10] + movdqa xmm1,XMMWORD PTR[((-16))+r10] DB 102,15,56,0,226 DB 102,15,56,0,203 pxor xmm0,xmm4 - movdqa xmm4,XMMWORD PTR[r10] + movdqa xmm4,XMMWORD PTR[r10] pxor xmm0,xmm1 - movdqa xmm1,XMMWORD PTR[16+r10] + movdqa xmm1,XMMWORD PTR[16+r10] DB 102,15,56,0,226 DB 102,15,56,0,197 DB 102,15,56,0,203 pxor xmm0,xmm4 - movdqa xmm4,XMMWORD PTR[32+r10] + movdqa xmm4,XMMWORD PTR[32+r10] pxor xmm0,xmm1 - movdqa xmm1,XMMWORD PTR[48+r10] + movdqa xmm1,XMMWORD PTR[48+r10] DB 102,15,56,0,226 DB 102,15,56,0,197 DB 102,15,56,0,203 pxor xmm0,xmm4 - movdqa xmm4,XMMWORD PTR[64+r10] + movdqa xmm4,XMMWORD PTR[64+r10] pxor xmm0,xmm1 - movdqa xmm1,XMMWORD PTR[80+r10] + movdqa xmm1,XMMWORD PTR[80+r10] DB 102,15,56,0,226 DB 102,15,56,0,197 @@ -174,7 +174,7 @@ DB 102,15,58,15,237,12 pxor xmm0,xmm1 sub rax,1 -$L$dec_entry:: +$L$dec_entry:: movdqa xmm1,xmm9 pandn xmm1,xmm0 @@ -194,22 +194,22 @@ DB 102,15,56,0,211 movdqa xmm3,xmm10 pxor xmm2,xmm0 DB 102,15,56,0,220 - movdqu xmm0,XMMWORD PTR[r9] + movdqu xmm0,XMMWORD PTR[r9] pxor xmm3,xmm1 - jnz $L$dec_loop + jnz $L$dec_loop - movdqa xmm4,XMMWORD PTR[96+r10] + movdqa xmm4,XMMWORD PTR[96+r10] DB 102,15,56,0,226 pxor xmm4,xmm0 - movdqa xmm0,XMMWORD PTR[112+r10] - movdqa xmm2,XMMWORD PTR[((-352))+r11] + movdqa xmm0,XMMWORD PTR[112+r10] + movdqa xmm2,XMMWORD PTR[((-352))+r11] DB 102,15,56,0,195 pxor xmm0,xmm4 DB 102,15,56,0,194 DB 0F3h,0C3h ;repret -_vpaes_decrypt_core ENDP +_vpaes_decrypt_core ENDP @@ -218,7 +218,7 @@ _vpaes_decrypt_core ENDP ALIGN 16 -_vpaes_schedule_core PROC PRIVATE +_vpaes_schedule_core PROC PRIVATE @@ -226,34 +226,34 @@ _vpaes_schedule_core PROC PRIVATE call _vpaes_preheat - movdqa xmm8,XMMWORD PTR[$L$k_rcon] - movdqu xmm0,XMMWORD PTR[rdi] + movdqa xmm8,XMMWORD PTR[$L$k_rcon] + movdqu xmm0,XMMWORD PTR[rdi] movdqa xmm3,xmm0 - lea r11,QWORD PTR[$L$k_ipt] + lea r11,QWORD PTR[$L$k_ipt] call _vpaes_schedule_transform movdqa xmm7,xmm0 - lea r10,QWORD PTR[$L$k_sr] + lea r10,QWORD PTR[$L$k_sr] test rcx,rcx - jnz $L$schedule_am_decrypting + jnz $L$schedule_am_decrypting - movdqu XMMWORD PTR[rdx],xmm0 - jmp $L$schedule_go + movdqu XMMWORD PTR[rdx],xmm0 + jmp $L$schedule_go -$L$schedule_am_decrypting:: +$L$schedule_am_decrypting:: - movdqa xmm1,XMMWORD PTR[r10*1+r8] + movdqa xmm1,XMMWORD PTR[r10*1+r8] DB 102,15,56,0,217 - movdqu XMMWORD PTR[rdx],xmm3 - xor r8,030h + movdqu XMMWORD PTR[rdx],xmm3 + xor r8,030h -$L$schedule_go:: +$L$schedule_go:: cmp esi,192 - ja $L$schedule_256 - je $L$schedule_192 + ja $L$schedule_256 + je $L$schedule_192 @@ -264,15 +264,15 @@ $L$schedule_go:: -$L$schedule_128:: +$L$schedule_128:: mov esi,10 -$L$oop_schedule_128:: +$L$oop_schedule_128:: call _vpaes_schedule_round dec rsi - jz $L$schedule_mangle_last + jz $L$schedule_mangle_last call _vpaes_schedule_mangle - jmp $L$oop_schedule_128 + jmp $L$oop_schedule_128 @@ -290,15 +290,15 @@ $L$oop_schedule_128:: ALIGN 16 -$L$schedule_192:: - movdqu xmm0,XMMWORD PTR[8+rdi] +$L$schedule_192:: + movdqu xmm0,XMMWORD PTR[8+rdi] call _vpaes_schedule_transform movdqa xmm6,xmm0 pxor xmm4,xmm4 movhlps xmm6,xmm4 mov esi,4 -$L$oop_schedule_192:: +$L$oop_schedule_192:: call _vpaes_schedule_round DB 102,15,58,15,198,8 call _vpaes_schedule_mangle @@ -306,10 +306,10 @@ DB 102,15,58,15,198,8 call _vpaes_schedule_mangle call _vpaes_schedule_round dec rsi - jz $L$schedule_mangle_last + jz $L$schedule_mangle_last call _vpaes_schedule_mangle call _vpaes_schedule_192_smear - jmp $L$oop_schedule_192 + jmp $L$oop_schedule_192 @@ -322,29 +322,29 @@ DB 102,15,58,15,198,8 ALIGN 16 -$L$schedule_256:: - movdqu xmm0,XMMWORD PTR[16+rdi] +$L$schedule_256:: + movdqu xmm0,XMMWORD PTR[16+rdi] call _vpaes_schedule_transform mov esi,7 -$L$oop_schedule_256:: +$L$oop_schedule_256:: call _vpaes_schedule_mangle movdqa xmm6,xmm0 call _vpaes_schedule_round dec rsi - jz $L$schedule_mangle_last + jz $L$schedule_mangle_last call _vpaes_schedule_mangle - pshufd xmm0,xmm0,0FFh + pshufd xmm0,xmm0,0FFh movdqa xmm5,xmm7 movdqa xmm7,xmm6 call _vpaes_schedule_low_round movdqa xmm7,xmm5 - jmp $L$oop_schedule_256 + jmp $L$oop_schedule_256 @@ -358,23 +358,23 @@ $L$oop_schedule_256:: ALIGN 16 -$L$schedule_mangle_last:: +$L$schedule_mangle_last:: - lea r11,QWORD PTR[$L$k_deskew] + lea r11,QWORD PTR[$L$k_deskew] test rcx,rcx - jnz $L$schedule_mangle_last_dec + jnz $L$schedule_mangle_last_dec - movdqa xmm1,XMMWORD PTR[r10*1+r8] + movdqa xmm1,XMMWORD PTR[r10*1+r8] DB 102,15,56,0,193 - lea r11,QWORD PTR[$L$k_opt] + lea r11,QWORD PTR[$L$k_opt] add rdx,32 -$L$schedule_mangle_last_dec:: +$L$schedule_mangle_last_dec:: add rdx,-16 - pxor xmm0,XMMWORD PTR[$L$k_s63] + pxor xmm0,XMMWORD PTR[$L$k_s63] call _vpaes_schedule_transform - movdqu XMMWORD PTR[rdx],xmm0 + movdqu XMMWORD PTR[rdx],xmm0 pxor xmm0,xmm0 @@ -387,7 +387,7 @@ $L$schedule_mangle_last_dec:: pxor xmm7,xmm7 DB 0F3h,0C3h ;repret -_vpaes_schedule_core ENDP +_vpaes_schedule_core ENDP @@ -405,10 +405,10 @@ _vpaes_schedule_core ENDP ALIGN 16 -_vpaes_schedule_192_smear PROC PRIVATE +_vpaes_schedule_192_smear PROC PRIVATE - pshufd xmm1,xmm6,080h - pshufd xmm0,xmm7,0FEh + pshufd xmm1,xmm6,080h + pshufd xmm0,xmm7,0FEh pxor xmm6,xmm1 pxor xmm1,xmm1 pxor xmm6,xmm0 @@ -416,7 +416,7 @@ _vpaes_schedule_192_smear PROC PRIVATE movhlps xmm6,xmm1 DB 0F3h,0C3h ;repret -_vpaes_schedule_192_smear ENDP +_vpaes_schedule_192_smear ENDP @@ -438,7 +438,7 @@ _vpaes_schedule_192_smear ENDP ALIGN 16 -_vpaes_schedule_round PROC PRIVATE +_vpaes_schedule_round PROC PRIVATE pxor xmm1,xmm1 @@ -447,13 +447,13 @@ DB 102,69,15,58,15,192,15 pxor xmm7,xmm1 - pshufd xmm0,xmm0,0FFh + pshufd xmm0,xmm0,0FFh DB 102,15,58,15,192,1 -_vpaes_schedule_low_round:: +_vpaes_schedule_low_round:: movdqa xmm1,xmm7 pslldq xmm7,4 @@ -461,7 +461,7 @@ _vpaes_schedule_low_round:: movdqa xmm1,xmm7 pslldq xmm7,8 pxor xmm7,xmm1 - pxor xmm7,XMMWORD PTR[$L$k_s63] + pxor xmm7,XMMWORD PTR[$L$k_s63] movdqa xmm1,xmm9 @@ -494,7 +494,7 @@ DB 102,15,56,0,195 movdqa xmm7,xmm0 DB 0F3h,0C3h ;repret -_vpaes_schedule_round ENDP +_vpaes_schedule_round ENDP @@ -507,20 +507,20 @@ _vpaes_schedule_round ENDP ALIGN 16 -_vpaes_schedule_transform PROC PRIVATE +_vpaes_schedule_transform PROC PRIVATE movdqa xmm1,xmm9 pandn xmm1,xmm0 psrld xmm1,4 pand xmm0,xmm9 - movdqa xmm2,XMMWORD PTR[r11] + movdqa xmm2,XMMWORD PTR[r11] DB 102,15,56,0,208 - movdqa xmm0,XMMWORD PTR[16+r11] + movdqa xmm0,XMMWORD PTR[16+r11] DB 102,15,56,0,193 pxor xmm0,xmm2 DB 0F3h,0C3h ;repret -_vpaes_schedule_transform ENDP +_vpaes_schedule_transform ENDP @@ -547,16 +547,16 @@ _vpaes_schedule_transform ENDP ALIGN 16 -_vpaes_schedule_mangle PROC PRIVATE +_vpaes_schedule_mangle PROC PRIVATE movdqa xmm4,xmm0 - movdqa xmm5,XMMWORD PTR[$L$k_mc_forward] + movdqa xmm5,XMMWORD PTR[$L$k_mc_forward] test rcx,rcx - jnz $L$schedule_mangle_dec + jnz $L$schedule_mangle_dec add rdx,16 - pxor xmm4,XMMWORD PTR[$L$k_s63] + pxor xmm4,XMMWORD PTR[$L$k_s63] DB 102,15,56,0,229 movdqa xmm3,xmm4 DB 102,15,56,0,229 @@ -564,147 +564,147 @@ DB 102,15,56,0,229 DB 102,15,56,0,229 pxor xmm3,xmm4 - jmp $L$schedule_mangle_both + jmp $L$schedule_mangle_both ALIGN 16 -$L$schedule_mangle_dec:: +$L$schedule_mangle_dec:: - lea r11,QWORD PTR[$L$k_dksd] + lea r11,QWORD PTR[$L$k_dksd] movdqa xmm1,xmm9 pandn xmm1,xmm4 psrld xmm1,4 pand xmm4,xmm9 - movdqa xmm2,XMMWORD PTR[r11] + movdqa xmm2,XMMWORD PTR[r11] DB 102,15,56,0,212 - movdqa xmm3,XMMWORD PTR[16+r11] + movdqa xmm3,XMMWORD PTR[16+r11] DB 102,15,56,0,217 pxor xmm3,xmm2 DB 102,15,56,0,221 - movdqa xmm2,XMMWORD PTR[32+r11] + movdqa xmm2,XMMWORD PTR[32+r11] DB 102,15,56,0,212 pxor xmm2,xmm3 - movdqa xmm3,XMMWORD PTR[48+r11] + movdqa xmm3,XMMWORD PTR[48+r11] DB 102,15,56,0,217 pxor xmm3,xmm2 DB 102,15,56,0,221 - movdqa xmm2,XMMWORD PTR[64+r11] + movdqa xmm2,XMMWORD PTR[64+r11] DB 102,15,56,0,212 pxor xmm2,xmm3 - movdqa xmm3,XMMWORD PTR[80+r11] + movdqa xmm3,XMMWORD PTR[80+r11] DB 102,15,56,0,217 pxor xmm3,xmm2 DB 102,15,56,0,221 - movdqa xmm2,XMMWORD PTR[96+r11] + movdqa xmm2,XMMWORD PTR[96+r11] DB 102,15,56,0,212 pxor xmm2,xmm3 - movdqa xmm3,XMMWORD PTR[112+r11] + movdqa xmm3,XMMWORD PTR[112+r11] DB 102,15,56,0,217 pxor xmm3,xmm2 add rdx,-16 -$L$schedule_mangle_both:: - movdqa xmm1,XMMWORD PTR[r10*1+r8] +$L$schedule_mangle_both:: + movdqa xmm1,XMMWORD PTR[r10*1+r8] DB 102,15,56,0,217 add r8,-16 - and r8,030h - movdqu XMMWORD PTR[rdx],xmm3 + and r8,030h + movdqu XMMWORD PTR[rdx],xmm3 DB 0F3h,0C3h ;repret -_vpaes_schedule_mangle ENDP +_vpaes_schedule_mangle ENDP -PUBLIC vpaes_set_encrypt_key +PUBLIC vpaes_set_encrypt_key ALIGN 16 -vpaes_set_encrypt_key PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +vpaes_set_encrypt_key PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_vpaes_set_encrypt_key:: +$L$SEH_begin_vpaes_set_encrypt_key:: mov rdi,rcx mov rsi,rdx mov rdx,r8 - lea rsp,QWORD PTR[((-184))+rsp] - movaps XMMWORD PTR[16+rsp],xmm6 - movaps XMMWORD PTR[32+rsp],xmm7 - movaps XMMWORD PTR[48+rsp],xmm8 - movaps XMMWORD PTR[64+rsp],xmm9 - movaps XMMWORD PTR[80+rsp],xmm10 - movaps XMMWORD PTR[96+rsp],xmm11 - movaps XMMWORD PTR[112+rsp],xmm12 - movaps XMMWORD PTR[128+rsp],xmm13 - movaps XMMWORD PTR[144+rsp],xmm14 - movaps XMMWORD PTR[160+rsp],xmm15 -$L$enc_key_body:: + lea rsp,QWORD PTR[((-184))+rsp] + movaps XMMWORD PTR[16+rsp],xmm6 + movaps XMMWORD PTR[32+rsp],xmm7 + movaps XMMWORD PTR[48+rsp],xmm8 + movaps XMMWORD PTR[64+rsp],xmm9 + movaps XMMWORD PTR[80+rsp],xmm10 + movaps XMMWORD PTR[96+rsp],xmm11 + movaps XMMWORD PTR[112+rsp],xmm12 + movaps XMMWORD PTR[128+rsp],xmm13 + movaps XMMWORD PTR[144+rsp],xmm14 + movaps XMMWORD PTR[160+rsp],xmm15 +$L$enc_key_body:: mov eax,esi shr eax,5 add eax,5 - mov DWORD PTR[240+rdx],eax + mov DWORD PTR[240+rdx],eax mov ecx,0 - mov r8d,030h + mov r8d,030h call _vpaes_schedule_core - movaps xmm6,XMMWORD PTR[16+rsp] - movaps xmm7,XMMWORD PTR[32+rsp] - movaps xmm8,XMMWORD PTR[48+rsp] - movaps xmm9,XMMWORD PTR[64+rsp] - movaps xmm10,XMMWORD PTR[80+rsp] - movaps xmm11,XMMWORD PTR[96+rsp] - movaps xmm12,XMMWORD PTR[112+rsp] - movaps xmm13,XMMWORD PTR[128+rsp] - movaps xmm14,XMMWORD PTR[144+rsp] - movaps xmm15,XMMWORD PTR[160+rsp] - lea rsp,QWORD PTR[184+rsp] -$L$enc_key_epilogue:: + movaps xmm6,XMMWORD PTR[16+rsp] + movaps xmm7,XMMWORD PTR[32+rsp] + movaps xmm8,XMMWORD PTR[48+rsp] + movaps xmm9,XMMWORD PTR[64+rsp] + movaps xmm10,XMMWORD PTR[80+rsp] + movaps xmm11,XMMWORD PTR[96+rsp] + movaps xmm12,XMMWORD PTR[112+rsp] + movaps xmm13,XMMWORD PTR[128+rsp] + movaps xmm14,XMMWORD PTR[144+rsp] + movaps xmm15,XMMWORD PTR[160+rsp] + lea rsp,QWORD PTR[184+rsp] +$L$enc_key_epilogue:: xor eax,eax - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_vpaes_set_encrypt_key:: -vpaes_set_encrypt_key ENDP +$L$SEH_end_vpaes_set_encrypt_key:: +vpaes_set_encrypt_key ENDP -PUBLIC vpaes_set_decrypt_key +PUBLIC vpaes_set_decrypt_key ALIGN 16 -vpaes_set_decrypt_key PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +vpaes_set_decrypt_key PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_vpaes_set_decrypt_key:: +$L$SEH_begin_vpaes_set_decrypt_key:: mov rdi,rcx mov rsi,rdx mov rdx,r8 - lea rsp,QWORD PTR[((-184))+rsp] - movaps XMMWORD PTR[16+rsp],xmm6 - movaps XMMWORD PTR[32+rsp],xmm7 - movaps XMMWORD PTR[48+rsp],xmm8 - movaps XMMWORD PTR[64+rsp],xmm9 - movaps XMMWORD PTR[80+rsp],xmm10 - movaps XMMWORD PTR[96+rsp],xmm11 - movaps XMMWORD PTR[112+rsp],xmm12 - movaps XMMWORD PTR[128+rsp],xmm13 - movaps XMMWORD PTR[144+rsp],xmm14 - movaps XMMWORD PTR[160+rsp],xmm15 -$L$dec_key_body:: + lea rsp,QWORD PTR[((-184))+rsp] + movaps XMMWORD PTR[16+rsp],xmm6 + movaps XMMWORD PTR[32+rsp],xmm7 + movaps XMMWORD PTR[48+rsp],xmm8 + movaps XMMWORD PTR[64+rsp],xmm9 + movaps XMMWORD PTR[80+rsp],xmm10 + movaps XMMWORD PTR[96+rsp],xmm11 + movaps XMMWORD PTR[112+rsp],xmm12 + movaps XMMWORD PTR[128+rsp],xmm13 + movaps XMMWORD PTR[144+rsp],xmm14 + movaps XMMWORD PTR[160+rsp],xmm15 +$L$dec_key_body:: mov eax,esi shr eax,5 add eax,5 - mov DWORD PTR[240+rdx],eax + mov DWORD PTR[240+rdx],eax shl eax,4 - lea rdx,QWORD PTR[16+rax*1+rdx] + lea rdx,QWORD PTR[16+rax*1+rdx] mov ecx,1 mov r8d,esi @@ -712,204 +712,204 @@ $L$dec_key_body:: and r8d,32 xor r8d,32 call _vpaes_schedule_core - movaps xmm6,XMMWORD PTR[16+rsp] - movaps xmm7,XMMWORD PTR[32+rsp] - movaps xmm8,XMMWORD PTR[48+rsp] - movaps xmm9,XMMWORD PTR[64+rsp] - movaps xmm10,XMMWORD PTR[80+rsp] - movaps xmm11,XMMWORD PTR[96+rsp] - movaps xmm12,XMMWORD PTR[112+rsp] - movaps xmm13,XMMWORD PTR[128+rsp] - movaps xmm14,XMMWORD PTR[144+rsp] - movaps xmm15,XMMWORD PTR[160+rsp] - lea rsp,QWORD PTR[184+rsp] -$L$dec_key_epilogue:: + movaps xmm6,XMMWORD PTR[16+rsp] + movaps xmm7,XMMWORD PTR[32+rsp] + movaps xmm8,XMMWORD PTR[48+rsp] + movaps xmm9,XMMWORD PTR[64+rsp] + movaps xmm10,XMMWORD PTR[80+rsp] + movaps xmm11,XMMWORD PTR[96+rsp] + movaps xmm12,XMMWORD PTR[112+rsp] + movaps xmm13,XMMWORD PTR[128+rsp] + movaps xmm14,XMMWORD PTR[144+rsp] + movaps xmm15,XMMWORD PTR[160+rsp] + lea rsp,QWORD PTR[184+rsp] +$L$dec_key_epilogue:: xor eax,eax - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_vpaes_set_decrypt_key:: -vpaes_set_decrypt_key ENDP +$L$SEH_end_vpaes_set_decrypt_key:: +vpaes_set_decrypt_key ENDP -PUBLIC vpaes_encrypt +PUBLIC vpaes_encrypt ALIGN 16 -vpaes_encrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +vpaes_encrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_vpaes_encrypt:: +$L$SEH_begin_vpaes_encrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 - lea rsp,QWORD PTR[((-184))+rsp] - movaps XMMWORD PTR[16+rsp],xmm6 - movaps XMMWORD PTR[32+rsp],xmm7 - movaps XMMWORD PTR[48+rsp],xmm8 - movaps XMMWORD PTR[64+rsp],xmm9 - movaps XMMWORD PTR[80+rsp],xmm10 - movaps XMMWORD PTR[96+rsp],xmm11 - movaps XMMWORD PTR[112+rsp],xmm12 - movaps XMMWORD PTR[128+rsp],xmm13 - movaps XMMWORD PTR[144+rsp],xmm14 - movaps XMMWORD PTR[160+rsp],xmm15 -$L$enc_body:: - movdqu xmm0,XMMWORD PTR[rdi] + lea rsp,QWORD PTR[((-184))+rsp] + movaps XMMWORD PTR[16+rsp],xmm6 + movaps XMMWORD PTR[32+rsp],xmm7 + movaps XMMWORD PTR[48+rsp],xmm8 + movaps XMMWORD PTR[64+rsp],xmm9 + movaps XMMWORD PTR[80+rsp],xmm10 + movaps XMMWORD PTR[96+rsp],xmm11 + movaps XMMWORD PTR[112+rsp],xmm12 + movaps XMMWORD PTR[128+rsp],xmm13 + movaps XMMWORD PTR[144+rsp],xmm14 + movaps XMMWORD PTR[160+rsp],xmm15 +$L$enc_body:: + movdqu xmm0,XMMWORD PTR[rdi] call _vpaes_preheat call _vpaes_encrypt_core - movdqu XMMWORD PTR[rsi],xmm0 - movaps xmm6,XMMWORD PTR[16+rsp] - movaps xmm7,XMMWORD PTR[32+rsp] - movaps xmm8,XMMWORD PTR[48+rsp] - movaps xmm9,XMMWORD PTR[64+rsp] - movaps xmm10,XMMWORD PTR[80+rsp] - movaps xmm11,XMMWORD PTR[96+rsp] - movaps xmm12,XMMWORD PTR[112+rsp] - movaps xmm13,XMMWORD PTR[128+rsp] - movaps xmm14,XMMWORD PTR[144+rsp] - movaps xmm15,XMMWORD PTR[160+rsp] - lea rsp,QWORD PTR[184+rsp] -$L$enc_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movdqu XMMWORD PTR[rsi],xmm0 + movaps xmm6,XMMWORD PTR[16+rsp] + movaps xmm7,XMMWORD PTR[32+rsp] + movaps xmm8,XMMWORD PTR[48+rsp] + movaps xmm9,XMMWORD PTR[64+rsp] + movaps xmm10,XMMWORD PTR[80+rsp] + movaps xmm11,XMMWORD PTR[96+rsp] + movaps xmm12,XMMWORD PTR[112+rsp] + movaps xmm13,XMMWORD PTR[128+rsp] + movaps xmm14,XMMWORD PTR[144+rsp] + movaps xmm15,XMMWORD PTR[160+rsp] + lea rsp,QWORD PTR[184+rsp] +$L$enc_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_vpaes_encrypt:: -vpaes_encrypt ENDP +$L$SEH_end_vpaes_encrypt:: +vpaes_encrypt ENDP -PUBLIC vpaes_decrypt +PUBLIC vpaes_decrypt ALIGN 16 -vpaes_decrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +vpaes_decrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_vpaes_decrypt:: +$L$SEH_begin_vpaes_decrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 - lea rsp,QWORD PTR[((-184))+rsp] - movaps XMMWORD PTR[16+rsp],xmm6 - movaps XMMWORD PTR[32+rsp],xmm7 - movaps XMMWORD PTR[48+rsp],xmm8 - movaps XMMWORD PTR[64+rsp],xmm9 - movaps XMMWORD PTR[80+rsp],xmm10 - movaps XMMWORD PTR[96+rsp],xmm11 - movaps XMMWORD PTR[112+rsp],xmm12 - movaps XMMWORD PTR[128+rsp],xmm13 - movaps XMMWORD PTR[144+rsp],xmm14 - movaps XMMWORD PTR[160+rsp],xmm15 -$L$dec_body:: - movdqu xmm0,XMMWORD PTR[rdi] + lea rsp,QWORD PTR[((-184))+rsp] + movaps XMMWORD PTR[16+rsp],xmm6 + movaps XMMWORD PTR[32+rsp],xmm7 + movaps XMMWORD PTR[48+rsp],xmm8 + movaps XMMWORD PTR[64+rsp],xmm9 + movaps XMMWORD PTR[80+rsp],xmm10 + movaps XMMWORD PTR[96+rsp],xmm11 + movaps XMMWORD PTR[112+rsp],xmm12 + movaps XMMWORD PTR[128+rsp],xmm13 + movaps XMMWORD PTR[144+rsp],xmm14 + movaps XMMWORD PTR[160+rsp],xmm15 +$L$dec_body:: + movdqu xmm0,XMMWORD PTR[rdi] call _vpaes_preheat call _vpaes_decrypt_core - movdqu XMMWORD PTR[rsi],xmm0 - movaps xmm6,XMMWORD PTR[16+rsp] - movaps xmm7,XMMWORD PTR[32+rsp] - movaps xmm8,XMMWORD PTR[48+rsp] - movaps xmm9,XMMWORD PTR[64+rsp] - movaps xmm10,XMMWORD PTR[80+rsp] - movaps xmm11,XMMWORD PTR[96+rsp] - movaps xmm12,XMMWORD PTR[112+rsp] - movaps xmm13,XMMWORD PTR[128+rsp] - movaps xmm14,XMMWORD PTR[144+rsp] - movaps xmm15,XMMWORD PTR[160+rsp] - lea rsp,QWORD PTR[184+rsp] -$L$dec_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movdqu XMMWORD PTR[rsi],xmm0 + movaps xmm6,XMMWORD PTR[16+rsp] + movaps xmm7,XMMWORD PTR[32+rsp] + movaps xmm8,XMMWORD PTR[48+rsp] + movaps xmm9,XMMWORD PTR[64+rsp] + movaps xmm10,XMMWORD PTR[80+rsp] + movaps xmm11,XMMWORD PTR[96+rsp] + movaps xmm12,XMMWORD PTR[112+rsp] + movaps xmm13,XMMWORD PTR[128+rsp] + movaps xmm14,XMMWORD PTR[144+rsp] + movaps xmm15,XMMWORD PTR[160+rsp] + lea rsp,QWORD PTR[184+rsp] +$L$dec_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_vpaes_decrypt:: -vpaes_decrypt ENDP -PUBLIC vpaes_cbc_encrypt +$L$SEH_end_vpaes_decrypt:: +vpaes_decrypt ENDP +PUBLIC vpaes_cbc_encrypt ALIGN 16 -vpaes_cbc_encrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +vpaes_cbc_encrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_vpaes_cbc_encrypt:: +$L$SEH_begin_vpaes_cbc_encrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] xchg rdx,rcx sub rcx,16 - jc $L$cbc_abort - lea rsp,QWORD PTR[((-184))+rsp] - movaps XMMWORD PTR[16+rsp],xmm6 - movaps XMMWORD PTR[32+rsp],xmm7 - movaps XMMWORD PTR[48+rsp],xmm8 - movaps XMMWORD PTR[64+rsp],xmm9 - movaps XMMWORD PTR[80+rsp],xmm10 - movaps XMMWORD PTR[96+rsp],xmm11 - movaps XMMWORD PTR[112+rsp],xmm12 - movaps XMMWORD PTR[128+rsp],xmm13 - movaps XMMWORD PTR[144+rsp],xmm14 - movaps XMMWORD PTR[160+rsp],xmm15 -$L$cbc_body:: - movdqu xmm6,XMMWORD PTR[r8] + jc $L$cbc_abort + lea rsp,QWORD PTR[((-184))+rsp] + movaps XMMWORD PTR[16+rsp],xmm6 + movaps XMMWORD PTR[32+rsp],xmm7 + movaps XMMWORD PTR[48+rsp],xmm8 + movaps XMMWORD PTR[64+rsp],xmm9 + movaps XMMWORD PTR[80+rsp],xmm10 + movaps XMMWORD PTR[96+rsp],xmm11 + movaps XMMWORD PTR[112+rsp],xmm12 + movaps XMMWORD PTR[128+rsp],xmm13 + movaps XMMWORD PTR[144+rsp],xmm14 + movaps XMMWORD PTR[160+rsp],xmm15 +$L$cbc_body:: + movdqu xmm6,XMMWORD PTR[r8] sub rsi,rdi call _vpaes_preheat cmp r9d,0 - je $L$cbc_dec_loop - jmp $L$cbc_enc_loop + je $L$cbc_dec_loop + jmp $L$cbc_enc_loop ALIGN 16 -$L$cbc_enc_loop:: - movdqu xmm0,XMMWORD PTR[rdi] +$L$cbc_enc_loop:: + movdqu xmm0,XMMWORD PTR[rdi] pxor xmm0,xmm6 call _vpaes_encrypt_core movdqa xmm6,xmm0 - movdqu XMMWORD PTR[rdi*1+rsi],xmm0 - lea rdi,QWORD PTR[16+rdi] + movdqu XMMWORD PTR[rdi*1+rsi],xmm0 + lea rdi,QWORD PTR[16+rdi] sub rcx,16 - jnc $L$cbc_enc_loop - jmp $L$cbc_done + jnc $L$cbc_enc_loop + jmp $L$cbc_done ALIGN 16 -$L$cbc_dec_loop:: - movdqu xmm0,XMMWORD PTR[rdi] +$L$cbc_dec_loop:: + movdqu xmm0,XMMWORD PTR[rdi] movdqa xmm7,xmm0 call _vpaes_decrypt_core pxor xmm0,xmm6 movdqa xmm6,xmm7 - movdqu XMMWORD PTR[rdi*1+rsi],xmm0 - lea rdi,QWORD PTR[16+rdi] + movdqu XMMWORD PTR[rdi*1+rsi],xmm0 + lea rdi,QWORD PTR[16+rdi] sub rcx,16 - jnc $L$cbc_dec_loop -$L$cbc_done:: - movdqu XMMWORD PTR[r8],xmm6 - movaps xmm6,XMMWORD PTR[16+rsp] - movaps xmm7,XMMWORD PTR[32+rsp] - movaps xmm8,XMMWORD PTR[48+rsp] - movaps xmm9,XMMWORD PTR[64+rsp] - movaps xmm10,XMMWORD PTR[80+rsp] - movaps xmm11,XMMWORD PTR[96+rsp] - movaps xmm12,XMMWORD PTR[112+rsp] - movaps xmm13,XMMWORD PTR[128+rsp] - movaps xmm14,XMMWORD PTR[144+rsp] - movaps xmm15,XMMWORD PTR[160+rsp] - lea rsp,QWORD PTR[184+rsp] -$L$cbc_epilogue:: -$L$cbc_abort:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + jnc $L$cbc_dec_loop +$L$cbc_done:: + movdqu XMMWORD PTR[r8],xmm6 + movaps xmm6,XMMWORD PTR[16+rsp] + movaps xmm7,XMMWORD PTR[32+rsp] + movaps xmm8,XMMWORD PTR[48+rsp] + movaps xmm9,XMMWORD PTR[64+rsp] + movaps xmm10,XMMWORD PTR[80+rsp] + movaps xmm11,XMMWORD PTR[96+rsp] + movaps xmm12,XMMWORD PTR[112+rsp] + movaps xmm13,XMMWORD PTR[128+rsp] + movaps xmm14,XMMWORD PTR[144+rsp] + movaps xmm15,XMMWORD PTR[160+rsp] + lea rsp,QWORD PTR[184+rsp] +$L$cbc_epilogue:: +$L$cbc_abort:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_vpaes_cbc_encrypt:: -vpaes_cbc_encrypt ENDP +$L$SEH_end_vpaes_cbc_encrypt:: +vpaes_cbc_encrypt ENDP @@ -918,19 +918,19 @@ vpaes_cbc_encrypt ENDP ALIGN 16 -_vpaes_preheat PROC PRIVATE - - lea r10,QWORD PTR[$L$k_s0F] - movdqa xmm10,XMMWORD PTR[((-32))+r10] - movdqa xmm11,XMMWORD PTR[((-16))+r10] - movdqa xmm9,XMMWORD PTR[r10] - movdqa xmm13,XMMWORD PTR[48+r10] - movdqa xmm12,XMMWORD PTR[64+r10] - movdqa xmm15,XMMWORD PTR[80+r10] - movdqa xmm14,XMMWORD PTR[96+r10] +_vpaes_preheat PROC PRIVATE + + lea r10,QWORD PTR[$L$k_s0F] + movdqa xmm10,XMMWORD PTR[((-32))+r10] + movdqa xmm11,XMMWORD PTR[((-16))+r10] + movdqa xmm9,XMMWORD PTR[r10] + movdqa xmm13,XMMWORD PTR[48+r10] + movdqa xmm12,XMMWORD PTR[64+r10] + movdqa xmm15,XMMWORD PTR[80+r10] + movdqa xmm14,XMMWORD PTR[96+r10] DB 0F3h,0C3h ;repret -_vpaes_preheat ENDP +_vpaes_preheat ENDP @@ -938,100 +938,100 @@ _vpaes_preheat ENDP ALIGN 64 -_vpaes_consts:: -$L$k_inv:: - DQ 00E05060F0D080180h,0040703090A0B0C02h - DQ 001040A060F0B0780h,0030D0E0C02050809h - -$L$k_s0F:: - DQ 00F0F0F0F0F0F0F0Fh,00F0F0F0F0F0F0F0Fh - -$L$k_ipt:: - DQ 0C2B2E8985A2A7000h,0CABAE09052227808h - DQ 04C01307D317C4D00h,0CD80B1FCB0FDCC81h - -$L$k_sb1:: - DQ 0B19BE18FCB503E00h,0A5DF7A6E142AF544h - DQ 03618D415FAE22300h,03BF7CCC10D2ED9EFh -$L$k_sb2:: - DQ 0E27A93C60B712400h,05EB7E955BC982FCDh - DQ 069EB88400AE12900h,0C2A163C8AB82234Ah -$L$k_sbo:: - DQ 0D0D26D176FBDC700h,015AABF7AC502A878h - DQ 0CFE474A55FBB6A00h,08E1E90D1412B35FAh - -$L$k_mc_forward:: - DQ 00407060500030201h,00C0F0E0D080B0A09h - DQ 0080B0A0904070605h,0000302010C0F0E0Dh - DQ 00C0F0E0D080B0A09h,00407060500030201h - DQ 0000302010C0F0E0Dh,0080B0A0904070605h - -$L$k_mc_backward:: - DQ 00605040702010003h,00E0D0C0F0A09080Bh - DQ 0020100030E0D0C0Fh,00A09080B06050407h - DQ 00E0D0C0F0A09080Bh,00605040702010003h - DQ 00A09080B06050407h,0020100030E0D0C0Fh - -$L$k_sr:: - DQ 00706050403020100h,00F0E0D0C0B0A0908h - DQ 0030E09040F0A0500h,00B06010C07020D08h - DQ 00F060D040B020900h,0070E050C030A0108h - DQ 00B0E0104070A0D00h,00306090C0F020508h - -$L$k_rcon:: - DQ 01F8391B9AF9DEEB6h,0702A98084D7C7D81h - -$L$k_s63:: - DQ 05B5B5B5B5B5B5B5Bh,05B5B5B5B5B5B5B5Bh - -$L$k_opt:: - DQ 0FF9F4929D6B66000h,0F7974121DEBE6808h - DQ 001EDBD5150BCEC00h,0E10D5DB1B05C0CE0h - -$L$k_deskew:: - DQ 007E4A34047A4E300h,01DFEB95A5DBEF91Ah - DQ 05F36B5DC83EA6900h,02841C2ABF49D1E77h - - - - - -$L$k_dksd:: - DQ 0FEB91A5DA3E44700h,00740E3A45A1DBEF9h - DQ 041C277F4B5368300h,05FDC69EAAB289D1Eh -$L$k_dksb:: - DQ 09A4FCA1F8550D500h,003D653861CC94C99h - DQ 0115BEDA7B6FC4A00h,0D993256F7E3482C8h -$L$k_dkse:: - DQ 0D5031CCA1FC9D600h,053859A4C994F5086h - DQ 0A23196054FDC7BE8h,0CD5EF96A20B31487h -$L$k_dks9:: - DQ 0B6116FC87ED9A700h,04AED933482255BFCh - DQ 04576516227143300h,08BB89FACE9DAFDCEh - - - - - -$L$k_dipt:: - DQ 00F505B040B545F00h,0154A411E114E451Ah - DQ 086E383E660056500h,012771772F491F194h - -$L$k_dsb9:: - DQ 0851C03539A86D600h,0CAD51F504F994CC9h - DQ 0C03B1789ECD74900h,0725E2C9EB2FBA565h -$L$k_dsbd:: - DQ 07D57CCDFE6B1A200h,0F56E9B13882A4439h - DQ 03CE2FAF724C6CB00h,02931180D15DEEFD3h -$L$k_dsbb:: - DQ 0D022649296B44200h,0602646F6B0F2D404h - DQ 0C19498A6CD596700h,0F3FF0C3E3255AA6Bh -$L$k_dsbe:: - DQ 046F2929626D4D000h,02242600464B4F6B0h - DQ 00C55A6CDFFAAC100h,09467F36B98593E32h -$L$k_dsbo:: - DQ 01387EA537EF94000h,0C7AA6DB9D4943E2Dh - DQ 012D7560F93441D00h,0CA4B8159D8C58E9Ch +_vpaes_consts:: +$L$k_inv:: + DQ 00E05060F0D080180h,0040703090A0B0C02h + DQ 001040A060F0B0780h,0030D0E0C02050809h + +$L$k_s0F:: + DQ 00F0F0F0F0F0F0F0Fh,00F0F0F0F0F0F0F0Fh + +$L$k_ipt:: + DQ 0C2B2E8985A2A7000h,0CABAE09052227808h + DQ 04C01307D317C4D00h,0CD80B1FCB0FDCC81h + +$L$k_sb1:: + DQ 0B19BE18FCB503E00h,0A5DF7A6E142AF544h + DQ 03618D415FAE22300h,03BF7CCC10D2ED9EFh +$L$k_sb2:: + DQ 0E27A93C60B712400h,05EB7E955BC982FCDh + DQ 069EB88400AE12900h,0C2A163C8AB82234Ah +$L$k_sbo:: + DQ 0D0D26D176FBDC700h,015AABF7AC502A878h + DQ 0CFE474A55FBB6A00h,08E1E90D1412B35FAh + +$L$k_mc_forward:: + DQ 00407060500030201h,00C0F0E0D080B0A09h + DQ 0080B0A0904070605h,0000302010C0F0E0Dh + DQ 00C0F0E0D080B0A09h,00407060500030201h + DQ 0000302010C0F0E0Dh,0080B0A0904070605h + +$L$k_mc_backward:: + DQ 00605040702010003h,00E0D0C0F0A09080Bh + DQ 0020100030E0D0C0Fh,00A09080B06050407h + DQ 00E0D0C0F0A09080Bh,00605040702010003h + DQ 00A09080B06050407h,0020100030E0D0C0Fh + +$L$k_sr:: + DQ 00706050403020100h,00F0E0D0C0B0A0908h + DQ 0030E09040F0A0500h,00B06010C07020D08h + DQ 00F060D040B020900h,0070E050C030A0108h + DQ 00B0E0104070A0D00h,00306090C0F020508h + +$L$k_rcon:: + DQ 01F8391B9AF9DEEB6h,0702A98084D7C7D81h + +$L$k_s63:: + DQ 05B5B5B5B5B5B5B5Bh,05B5B5B5B5B5B5B5Bh + +$L$k_opt:: + DQ 0FF9F4929D6B66000h,0F7974121DEBE6808h + DQ 001EDBD5150BCEC00h,0E10D5DB1B05C0CE0h + +$L$k_deskew:: + DQ 007E4A34047A4E300h,01DFEB95A5DBEF91Ah + DQ 05F36B5DC83EA6900h,02841C2ABF49D1E77h + + + + + +$L$k_dksd:: + DQ 0FEB91A5DA3E44700h,00740E3A45A1DBEF9h + DQ 041C277F4B5368300h,05FDC69EAAB289D1Eh +$L$k_dksb:: + DQ 09A4FCA1F8550D500h,003D653861CC94C99h + DQ 0115BEDA7B6FC4A00h,0D993256F7E3482C8h +$L$k_dkse:: + DQ 0D5031CCA1FC9D600h,053859A4C994F5086h + DQ 0A23196054FDC7BE8h,0CD5EF96A20B31487h +$L$k_dks9:: + DQ 0B6116FC87ED9A700h,04AED933482255BFCh + DQ 04576516227143300h,08BB89FACE9DAFDCEh + + + + + +$L$k_dipt:: + DQ 00F505B040B545F00h,0154A411E114E451Ah + DQ 086E383E660056500h,012771772F491F194h + +$L$k_dsb9:: + DQ 0851C03539A86D600h,0CAD51F504F994CC9h + DQ 0C03B1789ECD74900h,0725E2C9EB2FBA565h +$L$k_dsbd:: + DQ 07D57CCDFE6B1A200h,0F56E9B13882A4439h + DQ 03CE2FAF724C6CB00h,02931180D15DEEFD3h +$L$k_dsbb:: + DQ 0D022649296B44200h,0602646F6B0F2D404h + DQ 0C19498A6CD596700h,0F3FF0C3E3255AA6Bh +$L$k_dsbe:: + DQ 046F2929626D4D000h,02242600464B4F6B0h + DQ 00C55A6CDFFAAC100h,09467F36B98593E32h +$L$k_dsbo:: + DQ 01387EA537EF94000h,0C7AA6DB9D4943E2Dh + DQ 012D7560F93441D00h,0CA4B8159D8C58E9Ch DB 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105 DB 111,110,32,65,69,83,32,102,111,114,32,120,56,54,95,54 DB 52,47,83,83,83,69,51,44,32,77,105,107,101,32,72,97 @@ -1039,10 +1039,10 @@ DB 109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32 DB 85,110,105,118,101,114,115,105,116,121,41,0 ALIGN 64 -EXTERN __imp_RtlVirtualUnwind:NEAR +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -1054,55 +1054,55 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$in_prologue + jae $L$in_prologue - lea rsi,QWORD PTR[16+rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[16+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch - lea rax,QWORD PTR[184+rax] + DD 0a548f3fch + lea rax,QWORD PTR[184+rax] -$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 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 - mov rdi,QWORD PTR[40+r9] + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -1116,54 +1116,54 @@ $L$in_prologue:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP +se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_vpaes_set_encrypt_key - DD imagerel $L$SEH_end_vpaes_set_encrypt_key - DD imagerel $L$SEH_info_vpaes_set_encrypt_key + DD imagerel $L$SEH_begin_vpaes_set_encrypt_key + DD imagerel $L$SEH_end_vpaes_set_encrypt_key + DD imagerel $L$SEH_info_vpaes_set_encrypt_key - DD imagerel $L$SEH_begin_vpaes_set_decrypt_key - DD imagerel $L$SEH_end_vpaes_set_decrypt_key - DD imagerel $L$SEH_info_vpaes_set_decrypt_key + DD imagerel $L$SEH_begin_vpaes_set_decrypt_key + DD imagerel $L$SEH_end_vpaes_set_decrypt_key + DD imagerel $L$SEH_info_vpaes_set_decrypt_key - DD imagerel $L$SEH_begin_vpaes_encrypt - DD imagerel $L$SEH_end_vpaes_encrypt - DD imagerel $L$SEH_info_vpaes_encrypt + DD imagerel $L$SEH_begin_vpaes_encrypt + DD imagerel $L$SEH_end_vpaes_encrypt + DD imagerel $L$SEH_info_vpaes_encrypt - DD imagerel $L$SEH_begin_vpaes_decrypt - DD imagerel $L$SEH_end_vpaes_decrypt - DD imagerel $L$SEH_info_vpaes_decrypt + DD imagerel $L$SEH_begin_vpaes_decrypt + DD imagerel $L$SEH_end_vpaes_decrypt + DD imagerel $L$SEH_info_vpaes_decrypt - DD imagerel $L$SEH_begin_vpaes_cbc_encrypt - DD imagerel $L$SEH_end_vpaes_cbc_encrypt - DD imagerel $L$SEH_info_vpaes_cbc_encrypt + DD imagerel $L$SEH_begin_vpaes_cbc_encrypt + DD imagerel $L$SEH_end_vpaes_cbc_encrypt + DD imagerel $L$SEH_info_vpaes_cbc_encrypt -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_vpaes_set_encrypt_key:: +$L$SEH_info_vpaes_set_encrypt_key:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$enc_key_body,imagerel $L$enc_key_epilogue -$L$SEH_info_vpaes_set_decrypt_key:: + DD imagerel se_handler + DD imagerel $L$enc_key_body,imagerel $L$enc_key_epilogue +$L$SEH_info_vpaes_set_decrypt_key:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$dec_key_body,imagerel $L$dec_key_epilogue -$L$SEH_info_vpaes_encrypt:: + DD imagerel se_handler + DD imagerel $L$dec_key_body,imagerel $L$dec_key_epilogue +$L$SEH_info_vpaes_encrypt:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$enc_body,imagerel $L$enc_epilogue -$L$SEH_info_vpaes_decrypt:: + DD imagerel se_handler + DD imagerel $L$enc_body,imagerel $L$enc_epilogue +$L$SEH_info_vpaes_decrypt:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$dec_body,imagerel $L$dec_epilogue -$L$SEH_info_vpaes_cbc_encrypt:: + DD imagerel se_handler + DD imagerel $L$dec_body,imagerel $L$dec_epilogue +$L$SEH_info_vpaes_cbc_encrypt:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$cbc_body,imagerel $L$cbc_epilogue - -.xdata ENDS -END + DD imagerel se_handler + DD imagerel $L$cbc_body,imagerel $L$cbc_epilogue + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/bn/rsaz-avx2.masm b/contrib/libs/openssl/asm/windows/crypto/bn/rsaz-avx2.masm index cdf023c6b0..cba3712283 100644 --- a/contrib/libs/openssl/asm/windows/crypto/bn/rsaz-avx2.masm +++ b/contrib/libs/openssl/asm/windows/crypto/bn/rsaz-avx2.masm @@ -1,23 +1,23 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -PUBLIC rsaz_1024_sqr_avx2 +PUBLIC rsaz_1024_sqr_avx2 ALIGN 64 -rsaz_1024_sqr_avx2 PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +rsaz_1024_sqr_avx2 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_rsaz_1024_sqr_avx2:: +$L$SEH_begin_rsaz_1024_sqr_avx2:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] + mov r8,QWORD PTR[40+rsp] - lea rax,QWORD PTR[rsp] + lea rax,QWORD PTR[rsp] push rbx @@ -32,18 +32,18 @@ $L$SEH_begin_rsaz_1024_sqr_avx2:: push r15 vzeroupper - lea rsp,QWORD PTR[((-168))+rsp] - vmovaps XMMWORD PTR[(-216)+rax],xmm6 - vmovaps XMMWORD PTR[(-200)+rax],xmm7 - vmovaps XMMWORD PTR[(-184)+rax],xmm8 - vmovaps XMMWORD PTR[(-168)+rax],xmm9 - vmovaps XMMWORD PTR[(-152)+rax],xmm10 - vmovaps XMMWORD PTR[(-136)+rax],xmm11 - vmovaps XMMWORD PTR[(-120)+rax],xmm12 - vmovaps XMMWORD PTR[(-104)+rax],xmm13 - vmovaps XMMWORD PTR[(-88)+rax],xmm14 - vmovaps XMMWORD PTR[(-72)+rax],xmm15 -$L$sqr_1024_body:: + lea rsp,QWORD PTR[((-168))+rsp] + vmovaps XMMWORD PTR[(-216)+rax],xmm6 + vmovaps XMMWORD PTR[(-200)+rax],xmm7 + vmovaps XMMWORD PTR[(-184)+rax],xmm8 + vmovaps XMMWORD PTR[(-168)+rax],xmm9 + vmovaps XMMWORD PTR[(-152)+rax],xmm10 + vmovaps XMMWORD PTR[(-136)+rax],xmm11 + vmovaps XMMWORD PTR[(-120)+rax],xmm12 + vmovaps XMMWORD PTR[(-104)+rax],xmm13 + vmovaps XMMWORD PTR[(-88)+rax],xmm14 + vmovaps XMMWORD PTR[(-72)+rax],xmm15 +$L$sqr_1024_body:: mov rbp,rax mov r13,rdx @@ -57,255 +57,255 @@ $L$sqr_1024_body:: add r15,32*10 shr r15,12 vpxor ymm9,ymm9,ymm9 - jz $L$sqr_1024_no_n_copy + jz $L$sqr_1024_no_n_copy sub rsp,32*10 - vmovdqu ymm0,YMMWORD PTR[((0-128))+r13] + vmovdqu ymm0,YMMWORD PTR[((0-128))+r13] and rsp,-2048 - vmovdqu ymm1,YMMWORD PTR[((32-128))+r13] - vmovdqu ymm2,YMMWORD PTR[((64-128))+r13] - vmovdqu ymm3,YMMWORD PTR[((96-128))+r13] - vmovdqu ymm4,YMMWORD PTR[((128-128))+r13] - vmovdqu ymm5,YMMWORD PTR[((160-128))+r13] - vmovdqu ymm6,YMMWORD PTR[((192-128))+r13] - vmovdqu ymm7,YMMWORD PTR[((224-128))+r13] - vmovdqu ymm8,YMMWORD PTR[((256-128))+r13] - lea r13,QWORD PTR[((832+128))+rsp] - vmovdqu YMMWORD PTR[(0-128)+r13],ymm0 - vmovdqu YMMWORD PTR[(32-128)+r13],ymm1 - vmovdqu YMMWORD PTR[(64-128)+r13],ymm2 - vmovdqu YMMWORD PTR[(96-128)+r13],ymm3 - vmovdqu YMMWORD PTR[(128-128)+r13],ymm4 - vmovdqu YMMWORD PTR[(160-128)+r13],ymm5 - vmovdqu YMMWORD PTR[(192-128)+r13],ymm6 - vmovdqu YMMWORD PTR[(224-128)+r13],ymm7 - vmovdqu YMMWORD PTR[(256-128)+r13],ymm8 - vmovdqu YMMWORD PTR[(288-128)+r13],ymm9 - -$L$sqr_1024_no_n_copy:: + vmovdqu ymm1,YMMWORD PTR[((32-128))+r13] + vmovdqu ymm2,YMMWORD PTR[((64-128))+r13] + vmovdqu ymm3,YMMWORD PTR[((96-128))+r13] + vmovdqu ymm4,YMMWORD PTR[((128-128))+r13] + vmovdqu ymm5,YMMWORD PTR[((160-128))+r13] + vmovdqu ymm6,YMMWORD PTR[((192-128))+r13] + vmovdqu ymm7,YMMWORD PTR[((224-128))+r13] + vmovdqu ymm8,YMMWORD PTR[((256-128))+r13] + lea r13,QWORD PTR[((832+128))+rsp] + vmovdqu YMMWORD PTR[(0-128)+r13],ymm0 + vmovdqu YMMWORD PTR[(32-128)+r13],ymm1 + vmovdqu YMMWORD PTR[(64-128)+r13],ymm2 + vmovdqu YMMWORD PTR[(96-128)+r13],ymm3 + vmovdqu YMMWORD PTR[(128-128)+r13],ymm4 + vmovdqu YMMWORD PTR[(160-128)+r13],ymm5 + vmovdqu YMMWORD PTR[(192-128)+r13],ymm6 + vmovdqu YMMWORD PTR[(224-128)+r13],ymm7 + vmovdqu YMMWORD PTR[(256-128)+r13],ymm8 + vmovdqu YMMWORD PTR[(288-128)+r13],ymm9 + +$L$sqr_1024_no_n_copy:: and rsp,-1024 - vmovdqu ymm1,YMMWORD PTR[((32-128))+rsi] - vmovdqu ymm2,YMMWORD PTR[((64-128))+rsi] - vmovdqu ymm3,YMMWORD PTR[((96-128))+rsi] - vmovdqu ymm4,YMMWORD PTR[((128-128))+rsi] - vmovdqu ymm5,YMMWORD PTR[((160-128))+rsi] - vmovdqu ymm6,YMMWORD PTR[((192-128))+rsi] - vmovdqu ymm7,YMMWORD PTR[((224-128))+rsi] - vmovdqu ymm8,YMMWORD PTR[((256-128))+rsi] + vmovdqu ymm1,YMMWORD PTR[((32-128))+rsi] + vmovdqu ymm2,YMMWORD PTR[((64-128))+rsi] + vmovdqu ymm3,YMMWORD PTR[((96-128))+rsi] + vmovdqu ymm4,YMMWORD PTR[((128-128))+rsi] + vmovdqu ymm5,YMMWORD PTR[((160-128))+rsi] + vmovdqu ymm6,YMMWORD PTR[((192-128))+rsi] + vmovdqu ymm7,YMMWORD PTR[((224-128))+rsi] + vmovdqu ymm8,YMMWORD PTR[((256-128))+rsi] - lea rbx,QWORD PTR[192+rsp] - vmovdqu ymm15,YMMWORD PTR[$L$and_mask] - jmp $L$OOP_GRANDE_SQR_1024 + lea rbx,QWORD PTR[192+rsp] + vmovdqu ymm15,YMMWORD PTR[$L$and_mask] + jmp $L$OOP_GRANDE_SQR_1024 ALIGN 32 -$L$OOP_GRANDE_SQR_1024:: - lea r9,QWORD PTR[((576+128))+rsp] - lea r12,QWORD PTR[448+rsp] +$L$OOP_GRANDE_SQR_1024:: + lea r9,QWORD PTR[((576+128))+rsp] + lea r12,QWORD PTR[448+rsp] vpaddq ymm1,ymm1,ymm1 - vpbroadcastq ymm10,QWORD PTR[((0-128))+rsi] + vpbroadcastq ymm10,QWORD PTR[((0-128))+rsi] vpaddq ymm2,ymm2,ymm2 - vmovdqa YMMWORD PTR[(0-128)+r9],ymm1 + vmovdqa YMMWORD PTR[(0-128)+r9],ymm1 vpaddq ymm3,ymm3,ymm3 - vmovdqa YMMWORD PTR[(32-128)+r9],ymm2 + vmovdqa YMMWORD PTR[(32-128)+r9],ymm2 vpaddq ymm4,ymm4,ymm4 - vmovdqa YMMWORD PTR[(64-128)+r9],ymm3 + vmovdqa YMMWORD PTR[(64-128)+r9],ymm3 vpaddq ymm5,ymm5,ymm5 - vmovdqa YMMWORD PTR[(96-128)+r9],ymm4 + vmovdqa YMMWORD PTR[(96-128)+r9],ymm4 vpaddq ymm6,ymm6,ymm6 - vmovdqa YMMWORD PTR[(128-128)+r9],ymm5 + vmovdqa YMMWORD PTR[(128-128)+r9],ymm5 vpaddq ymm7,ymm7,ymm7 - vmovdqa YMMWORD PTR[(160-128)+r9],ymm6 + vmovdqa YMMWORD PTR[(160-128)+r9],ymm6 vpaddq ymm8,ymm8,ymm8 - vmovdqa YMMWORD PTR[(192-128)+r9],ymm7 + vmovdqa YMMWORD PTR[(192-128)+r9],ymm7 vpxor ymm9,ymm9,ymm9 - vmovdqa YMMWORD PTR[(224-128)+r9],ymm8 + vmovdqa YMMWORD PTR[(224-128)+r9],ymm8 - vpmuludq ymm0,ymm10,YMMWORD PTR[((0-128))+rsi] - vpbroadcastq ymm11,QWORD PTR[((32-128))+rsi] - vmovdqu YMMWORD PTR[(288-192)+rbx],ymm9 + vpmuludq ymm0,ymm10,YMMWORD PTR[((0-128))+rsi] + vpbroadcastq ymm11,QWORD PTR[((32-128))+rsi] + vmovdqu YMMWORD PTR[(288-192)+rbx],ymm9 vpmuludq ymm1,ymm1,ymm10 - vmovdqu YMMWORD PTR[(320-448)+r12],ymm9 + vmovdqu YMMWORD PTR[(320-448)+r12],ymm9 vpmuludq ymm2,ymm2,ymm10 - vmovdqu YMMWORD PTR[(352-448)+r12],ymm9 + vmovdqu YMMWORD PTR[(352-448)+r12],ymm9 vpmuludq ymm3,ymm3,ymm10 - vmovdqu YMMWORD PTR[(384-448)+r12],ymm9 + vmovdqu YMMWORD PTR[(384-448)+r12],ymm9 vpmuludq ymm4,ymm4,ymm10 - vmovdqu YMMWORD PTR[(416-448)+r12],ymm9 + vmovdqu YMMWORD PTR[(416-448)+r12],ymm9 vpmuludq ymm5,ymm5,ymm10 - vmovdqu YMMWORD PTR[(448-448)+r12],ymm9 + vmovdqu YMMWORD PTR[(448-448)+r12],ymm9 vpmuludq ymm6,ymm6,ymm10 - vmovdqu YMMWORD PTR[(480-448)+r12],ymm9 + vmovdqu YMMWORD PTR[(480-448)+r12],ymm9 vpmuludq ymm7,ymm7,ymm10 - vmovdqu YMMWORD PTR[(512-448)+r12],ymm9 + vmovdqu YMMWORD PTR[(512-448)+r12],ymm9 vpmuludq ymm8,ymm8,ymm10 - vpbroadcastq ymm10,QWORD PTR[((64-128))+rsi] - vmovdqu YMMWORD PTR[(544-448)+r12],ymm9 + vpbroadcastq ymm10,QWORD PTR[((64-128))+rsi] + vmovdqu YMMWORD PTR[(544-448)+r12],ymm9 mov r15,rsi mov r14d,4 - jmp $L$sqr_entry_1024 + jmp $L$sqr_entry_1024 ALIGN 32 -$L$OOP_SQR_1024:: - vpbroadcastq ymm11,QWORD PTR[((32-128))+r15] - vpmuludq ymm0,ymm10,YMMWORD PTR[((0-128))+rsi] - vpaddq ymm0,ymm0,YMMWORD PTR[((0-192))+rbx] - vpmuludq ymm1,ymm10,YMMWORD PTR[((0-128))+r9] - vpaddq ymm1,ymm1,YMMWORD PTR[((32-192))+rbx] - vpmuludq ymm2,ymm10,YMMWORD PTR[((32-128))+r9] - vpaddq ymm2,ymm2,YMMWORD PTR[((64-192))+rbx] - vpmuludq ymm3,ymm10,YMMWORD PTR[((64-128))+r9] - vpaddq ymm3,ymm3,YMMWORD PTR[((96-192))+rbx] - vpmuludq ymm4,ymm10,YMMWORD PTR[((96-128))+r9] - vpaddq ymm4,ymm4,YMMWORD PTR[((128-192))+rbx] - vpmuludq ymm5,ymm10,YMMWORD PTR[((128-128))+r9] - vpaddq ymm5,ymm5,YMMWORD PTR[((160-192))+rbx] - vpmuludq ymm6,ymm10,YMMWORD PTR[((160-128))+r9] - vpaddq ymm6,ymm6,YMMWORD PTR[((192-192))+rbx] - vpmuludq ymm7,ymm10,YMMWORD PTR[((192-128))+r9] - vpaddq ymm7,ymm7,YMMWORD PTR[((224-192))+rbx] - vpmuludq ymm8,ymm10,YMMWORD PTR[((224-128))+r9] - vpbroadcastq ymm10,QWORD PTR[((64-128))+r15] - vpaddq ymm8,ymm8,YMMWORD PTR[((256-192))+rbx] -$L$sqr_entry_1024:: - vmovdqu YMMWORD PTR[(0-192)+rbx],ymm0 - vmovdqu YMMWORD PTR[(32-192)+rbx],ymm1 - - vpmuludq ymm12,ymm11,YMMWORD PTR[((32-128))+rsi] +$L$OOP_SQR_1024:: + vpbroadcastq ymm11,QWORD PTR[((32-128))+r15] + vpmuludq ymm0,ymm10,YMMWORD PTR[((0-128))+rsi] + vpaddq ymm0,ymm0,YMMWORD PTR[((0-192))+rbx] + vpmuludq ymm1,ymm10,YMMWORD PTR[((0-128))+r9] + vpaddq ymm1,ymm1,YMMWORD PTR[((32-192))+rbx] + vpmuludq ymm2,ymm10,YMMWORD PTR[((32-128))+r9] + vpaddq ymm2,ymm2,YMMWORD PTR[((64-192))+rbx] + vpmuludq ymm3,ymm10,YMMWORD PTR[((64-128))+r9] + vpaddq ymm3,ymm3,YMMWORD PTR[((96-192))+rbx] + vpmuludq ymm4,ymm10,YMMWORD PTR[((96-128))+r9] + vpaddq ymm4,ymm4,YMMWORD PTR[((128-192))+rbx] + vpmuludq ymm5,ymm10,YMMWORD PTR[((128-128))+r9] + vpaddq ymm5,ymm5,YMMWORD PTR[((160-192))+rbx] + vpmuludq ymm6,ymm10,YMMWORD PTR[((160-128))+r9] + vpaddq ymm6,ymm6,YMMWORD PTR[((192-192))+rbx] + vpmuludq ymm7,ymm10,YMMWORD PTR[((192-128))+r9] + vpaddq ymm7,ymm7,YMMWORD PTR[((224-192))+rbx] + vpmuludq ymm8,ymm10,YMMWORD PTR[((224-128))+r9] + vpbroadcastq ymm10,QWORD PTR[((64-128))+r15] + vpaddq ymm8,ymm8,YMMWORD PTR[((256-192))+rbx] +$L$sqr_entry_1024:: + vmovdqu YMMWORD PTR[(0-192)+rbx],ymm0 + vmovdqu YMMWORD PTR[(32-192)+rbx],ymm1 + + vpmuludq ymm12,ymm11,YMMWORD PTR[((32-128))+rsi] vpaddq ymm2,ymm2,ymm12 - vpmuludq ymm14,ymm11,YMMWORD PTR[((32-128))+r9] + vpmuludq ymm14,ymm11,YMMWORD PTR[((32-128))+r9] vpaddq ymm3,ymm3,ymm14 - vpmuludq ymm13,ymm11,YMMWORD PTR[((64-128))+r9] + vpmuludq ymm13,ymm11,YMMWORD PTR[((64-128))+r9] vpaddq ymm4,ymm4,ymm13 - vpmuludq ymm12,ymm11,YMMWORD PTR[((96-128))+r9] + vpmuludq ymm12,ymm11,YMMWORD PTR[((96-128))+r9] vpaddq ymm5,ymm5,ymm12 - vpmuludq ymm14,ymm11,YMMWORD PTR[((128-128))+r9] + vpmuludq ymm14,ymm11,YMMWORD PTR[((128-128))+r9] vpaddq ymm6,ymm6,ymm14 - vpmuludq ymm13,ymm11,YMMWORD PTR[((160-128))+r9] + vpmuludq ymm13,ymm11,YMMWORD PTR[((160-128))+r9] vpaddq ymm7,ymm7,ymm13 - vpmuludq ymm12,ymm11,YMMWORD PTR[((192-128))+r9] + vpmuludq ymm12,ymm11,YMMWORD PTR[((192-128))+r9] vpaddq ymm8,ymm8,ymm12 - vpmuludq ymm0,ymm11,YMMWORD PTR[((224-128))+r9] - vpbroadcastq ymm11,QWORD PTR[((96-128))+r15] - vpaddq ymm0,ymm0,YMMWORD PTR[((288-192))+rbx] + vpmuludq ymm0,ymm11,YMMWORD PTR[((224-128))+r9] + vpbroadcastq ymm11,QWORD PTR[((96-128))+r15] + vpaddq ymm0,ymm0,YMMWORD PTR[((288-192))+rbx] - vmovdqu YMMWORD PTR[(64-192)+rbx],ymm2 - vmovdqu YMMWORD PTR[(96-192)+rbx],ymm3 + vmovdqu YMMWORD PTR[(64-192)+rbx],ymm2 + vmovdqu YMMWORD PTR[(96-192)+rbx],ymm3 - vpmuludq ymm13,ymm10,YMMWORD PTR[((64-128))+rsi] + vpmuludq ymm13,ymm10,YMMWORD PTR[((64-128))+rsi] vpaddq ymm4,ymm4,ymm13 - vpmuludq ymm12,ymm10,YMMWORD PTR[((64-128))+r9] + vpmuludq ymm12,ymm10,YMMWORD PTR[((64-128))+r9] vpaddq ymm5,ymm5,ymm12 - vpmuludq ymm14,ymm10,YMMWORD PTR[((96-128))+r9] + vpmuludq ymm14,ymm10,YMMWORD PTR[((96-128))+r9] vpaddq ymm6,ymm6,ymm14 - vpmuludq ymm13,ymm10,YMMWORD PTR[((128-128))+r9] + vpmuludq ymm13,ymm10,YMMWORD PTR[((128-128))+r9] vpaddq ymm7,ymm7,ymm13 - vpmuludq ymm12,ymm10,YMMWORD PTR[((160-128))+r9] + vpmuludq ymm12,ymm10,YMMWORD PTR[((160-128))+r9] vpaddq ymm8,ymm8,ymm12 - vpmuludq ymm14,ymm10,YMMWORD PTR[((192-128))+r9] + vpmuludq ymm14,ymm10,YMMWORD PTR[((192-128))+r9] vpaddq ymm0,ymm0,ymm14 - vpmuludq ymm1,ymm10,YMMWORD PTR[((224-128))+r9] - vpbroadcastq ymm10,QWORD PTR[((128-128))+r15] - vpaddq ymm1,ymm1,YMMWORD PTR[((320-448))+r12] + vpmuludq ymm1,ymm10,YMMWORD PTR[((224-128))+r9] + vpbroadcastq ymm10,QWORD PTR[((128-128))+r15] + vpaddq ymm1,ymm1,YMMWORD PTR[((320-448))+r12] - vmovdqu YMMWORD PTR[(128-192)+rbx],ymm4 - vmovdqu YMMWORD PTR[(160-192)+rbx],ymm5 + vmovdqu YMMWORD PTR[(128-192)+rbx],ymm4 + vmovdqu YMMWORD PTR[(160-192)+rbx],ymm5 - vpmuludq ymm12,ymm11,YMMWORD PTR[((96-128))+rsi] + vpmuludq ymm12,ymm11,YMMWORD PTR[((96-128))+rsi] vpaddq ymm6,ymm6,ymm12 - vpmuludq ymm14,ymm11,YMMWORD PTR[((96-128))+r9] + vpmuludq ymm14,ymm11,YMMWORD PTR[((96-128))+r9] vpaddq ymm7,ymm7,ymm14 - vpmuludq ymm13,ymm11,YMMWORD PTR[((128-128))+r9] + vpmuludq ymm13,ymm11,YMMWORD PTR[((128-128))+r9] vpaddq ymm8,ymm8,ymm13 - vpmuludq ymm12,ymm11,YMMWORD PTR[((160-128))+r9] + vpmuludq ymm12,ymm11,YMMWORD PTR[((160-128))+r9] vpaddq ymm0,ymm0,ymm12 - vpmuludq ymm14,ymm11,YMMWORD PTR[((192-128))+r9] + vpmuludq ymm14,ymm11,YMMWORD PTR[((192-128))+r9] vpaddq ymm1,ymm1,ymm14 - vpmuludq ymm2,ymm11,YMMWORD PTR[((224-128))+r9] - vpbroadcastq ymm11,QWORD PTR[((160-128))+r15] - vpaddq ymm2,ymm2,YMMWORD PTR[((352-448))+r12] + vpmuludq ymm2,ymm11,YMMWORD PTR[((224-128))+r9] + vpbroadcastq ymm11,QWORD PTR[((160-128))+r15] + vpaddq ymm2,ymm2,YMMWORD PTR[((352-448))+r12] - vmovdqu YMMWORD PTR[(192-192)+rbx],ymm6 - vmovdqu YMMWORD PTR[(224-192)+rbx],ymm7 + vmovdqu YMMWORD PTR[(192-192)+rbx],ymm6 + vmovdqu YMMWORD PTR[(224-192)+rbx],ymm7 - vpmuludq ymm12,ymm10,YMMWORD PTR[((128-128))+rsi] + vpmuludq ymm12,ymm10,YMMWORD PTR[((128-128))+rsi] vpaddq ymm8,ymm8,ymm12 - vpmuludq ymm14,ymm10,YMMWORD PTR[((128-128))+r9] + vpmuludq ymm14,ymm10,YMMWORD PTR[((128-128))+r9] vpaddq ymm0,ymm0,ymm14 - vpmuludq ymm13,ymm10,YMMWORD PTR[((160-128))+r9] + vpmuludq ymm13,ymm10,YMMWORD PTR[((160-128))+r9] vpaddq ymm1,ymm1,ymm13 - vpmuludq ymm12,ymm10,YMMWORD PTR[((192-128))+r9] + vpmuludq ymm12,ymm10,YMMWORD PTR[((192-128))+r9] vpaddq ymm2,ymm2,ymm12 - vpmuludq ymm3,ymm10,YMMWORD PTR[((224-128))+r9] - vpbroadcastq ymm10,QWORD PTR[((192-128))+r15] - vpaddq ymm3,ymm3,YMMWORD PTR[((384-448))+r12] + vpmuludq ymm3,ymm10,YMMWORD PTR[((224-128))+r9] + vpbroadcastq ymm10,QWORD PTR[((192-128))+r15] + vpaddq ymm3,ymm3,YMMWORD PTR[((384-448))+r12] - vmovdqu YMMWORD PTR[(256-192)+rbx],ymm8 - vmovdqu YMMWORD PTR[(288-192)+rbx],ymm0 - lea rbx,QWORD PTR[8+rbx] + vmovdqu YMMWORD PTR[(256-192)+rbx],ymm8 + vmovdqu YMMWORD PTR[(288-192)+rbx],ymm0 + lea rbx,QWORD PTR[8+rbx] - vpmuludq ymm13,ymm11,YMMWORD PTR[((160-128))+rsi] + vpmuludq ymm13,ymm11,YMMWORD PTR[((160-128))+rsi] vpaddq ymm1,ymm1,ymm13 - vpmuludq ymm12,ymm11,YMMWORD PTR[((160-128))+r9] + vpmuludq ymm12,ymm11,YMMWORD PTR[((160-128))+r9] vpaddq ymm2,ymm2,ymm12 - vpmuludq ymm14,ymm11,YMMWORD PTR[((192-128))+r9] + vpmuludq ymm14,ymm11,YMMWORD PTR[((192-128))+r9] vpaddq ymm3,ymm3,ymm14 - vpmuludq ymm4,ymm11,YMMWORD PTR[((224-128))+r9] - vpbroadcastq ymm11,QWORD PTR[((224-128))+r15] - vpaddq ymm4,ymm4,YMMWORD PTR[((416-448))+r12] + vpmuludq ymm4,ymm11,YMMWORD PTR[((224-128))+r9] + vpbroadcastq ymm11,QWORD PTR[((224-128))+r15] + vpaddq ymm4,ymm4,YMMWORD PTR[((416-448))+r12] - vmovdqu YMMWORD PTR[(320-448)+r12],ymm1 - vmovdqu YMMWORD PTR[(352-448)+r12],ymm2 + vmovdqu YMMWORD PTR[(320-448)+r12],ymm1 + vmovdqu YMMWORD PTR[(352-448)+r12],ymm2 - vpmuludq ymm12,ymm10,YMMWORD PTR[((192-128))+rsi] + vpmuludq ymm12,ymm10,YMMWORD PTR[((192-128))+rsi] vpaddq ymm3,ymm3,ymm12 - vpmuludq ymm14,ymm10,YMMWORD PTR[((192-128))+r9] - vpbroadcastq ymm0,QWORD PTR[((256-128))+r15] + vpmuludq ymm14,ymm10,YMMWORD PTR[((192-128))+r9] + vpbroadcastq ymm0,QWORD PTR[((256-128))+r15] vpaddq ymm4,ymm4,ymm14 - vpmuludq ymm5,ymm10,YMMWORD PTR[((224-128))+r9] - vpbroadcastq ymm10,QWORD PTR[((0+8-128))+r15] - vpaddq ymm5,ymm5,YMMWORD PTR[((448-448))+r12] + vpmuludq ymm5,ymm10,YMMWORD PTR[((224-128))+r9] + vpbroadcastq ymm10,QWORD PTR[((0+8-128))+r15] + vpaddq ymm5,ymm5,YMMWORD PTR[((448-448))+r12] - vmovdqu YMMWORD PTR[(384-448)+r12],ymm3 - vmovdqu YMMWORD PTR[(416-448)+r12],ymm4 - lea r15,QWORD PTR[8+r15] + vmovdqu YMMWORD PTR[(384-448)+r12],ymm3 + vmovdqu YMMWORD PTR[(416-448)+r12],ymm4 + lea r15,QWORD PTR[8+r15] - vpmuludq ymm12,ymm11,YMMWORD PTR[((224-128))+rsi] + vpmuludq ymm12,ymm11,YMMWORD PTR[((224-128))+rsi] vpaddq ymm5,ymm5,ymm12 - vpmuludq ymm6,ymm11,YMMWORD PTR[((224-128))+r9] - vpaddq ymm6,ymm6,YMMWORD PTR[((480-448))+r12] + vpmuludq ymm6,ymm11,YMMWORD PTR[((224-128))+r9] + vpaddq ymm6,ymm6,YMMWORD PTR[((480-448))+r12] - vpmuludq ymm7,ymm0,YMMWORD PTR[((256-128))+rsi] - vmovdqu YMMWORD PTR[(448-448)+r12],ymm5 - vpaddq ymm7,ymm7,YMMWORD PTR[((512-448))+r12] - vmovdqu YMMWORD PTR[(480-448)+r12],ymm6 - vmovdqu YMMWORD PTR[(512-448)+r12],ymm7 - lea r12,QWORD PTR[8+r12] + vpmuludq ymm7,ymm0,YMMWORD PTR[((256-128))+rsi] + vmovdqu YMMWORD PTR[(448-448)+r12],ymm5 + vpaddq ymm7,ymm7,YMMWORD PTR[((512-448))+r12] + vmovdqu YMMWORD PTR[(480-448)+r12],ymm6 + vmovdqu YMMWORD PTR[(512-448)+r12],ymm7 + lea r12,QWORD PTR[8+r12] dec r14d - jnz $L$OOP_SQR_1024 + jnz $L$OOP_SQR_1024 - vmovdqu ymm8,YMMWORD PTR[256+rsp] - vmovdqu ymm1,YMMWORD PTR[288+rsp] - vmovdqu ymm2,YMMWORD PTR[320+rsp] - lea rbx,QWORD PTR[192+rsp] + vmovdqu ymm8,YMMWORD PTR[256+rsp] + vmovdqu ymm1,YMMWORD PTR[288+rsp] + vmovdqu ymm2,YMMWORD PTR[320+rsp] + lea rbx,QWORD PTR[192+rsp] vpsrlq ymm14,ymm8,29 vpand ymm8,ymm8,ymm15 vpsrlq ymm11,ymm1,29 vpand ymm1,ymm1,ymm15 - vpermq ymm14,ymm14,093h + vpermq ymm14,ymm14,093h vpxor ymm9,ymm9,ymm9 - vpermq ymm11,ymm11,093h + vpermq ymm11,ymm11,093h vpblendd ymm10,ymm14,ymm9,3 vpblendd ymm14,ymm11,ymm14,3 @@ -313,160 +313,160 @@ $L$sqr_entry_1024:: vpblendd ymm11,ymm9,ymm11,3 vpaddq ymm1,ymm1,ymm14 vpaddq ymm2,ymm2,ymm11 - vmovdqu YMMWORD PTR[(288-192)+rbx],ymm1 - vmovdqu YMMWORD PTR[(320-192)+rbx],ymm2 - - mov rax,QWORD PTR[rsp] - mov r10,QWORD PTR[8+rsp] - mov r11,QWORD PTR[16+rsp] - mov r12,QWORD PTR[24+rsp] - vmovdqu ymm1,YMMWORD PTR[32+rsp] - vmovdqu ymm2,YMMWORD PTR[((64-192))+rbx] - vmovdqu ymm3,YMMWORD PTR[((96-192))+rbx] - vmovdqu ymm4,YMMWORD PTR[((128-192))+rbx] - vmovdqu ymm5,YMMWORD PTR[((160-192))+rbx] - vmovdqu ymm6,YMMWORD PTR[((192-192))+rbx] - vmovdqu ymm7,YMMWORD PTR[((224-192))+rbx] + vmovdqu YMMWORD PTR[(288-192)+rbx],ymm1 + vmovdqu YMMWORD PTR[(320-192)+rbx],ymm2 + + mov rax,QWORD PTR[rsp] + mov r10,QWORD PTR[8+rsp] + mov r11,QWORD PTR[16+rsp] + mov r12,QWORD PTR[24+rsp] + vmovdqu ymm1,YMMWORD PTR[32+rsp] + vmovdqu ymm2,YMMWORD PTR[((64-192))+rbx] + vmovdqu ymm3,YMMWORD PTR[((96-192))+rbx] + vmovdqu ymm4,YMMWORD PTR[((128-192))+rbx] + vmovdqu ymm5,YMMWORD PTR[((160-192))+rbx] + vmovdqu ymm6,YMMWORD PTR[((192-192))+rbx] + vmovdqu ymm7,YMMWORD PTR[((224-192))+rbx] mov r9,rax imul eax,ecx - and eax,01fffffffh + and eax,01fffffffh vmovd xmm12,eax mov rdx,rax - imul rax,QWORD PTR[((-128))+r13] + imul rax,QWORD PTR[((-128))+r13] vpbroadcastq ymm12,xmm12 add r9,rax mov rax,rdx - imul rax,QWORD PTR[((8-128))+r13] + imul rax,QWORD PTR[((8-128))+r13] shr r9,29 add r10,rax mov rax,rdx - imul rax,QWORD PTR[((16-128))+r13] + imul rax,QWORD PTR[((16-128))+r13] add r10,r9 add r11,rax - imul rdx,QWORD PTR[((24-128))+r13] + imul rdx,QWORD PTR[((24-128))+r13] add r12,rdx mov rax,r10 imul eax,ecx - and eax,01fffffffh + and eax,01fffffffh mov r14d,9 - jmp $L$OOP_REDUCE_1024 + jmp $L$OOP_REDUCE_1024 ALIGN 32 -$L$OOP_REDUCE_1024:: +$L$OOP_REDUCE_1024:: vmovd xmm13,eax vpbroadcastq ymm13,xmm13 - vpmuludq ymm10,ymm12,YMMWORD PTR[((32-128))+r13] + vpmuludq ymm10,ymm12,YMMWORD PTR[((32-128))+r13] mov rdx,rax - imul rax,QWORD PTR[((-128))+r13] + imul rax,QWORD PTR[((-128))+r13] vpaddq ymm1,ymm1,ymm10 add r10,rax - vpmuludq ymm14,ymm12,YMMWORD PTR[((64-128))+r13] + vpmuludq ymm14,ymm12,YMMWORD PTR[((64-128))+r13] mov rax,rdx - imul rax,QWORD PTR[((8-128))+r13] + imul rax,QWORD PTR[((8-128))+r13] vpaddq ymm2,ymm2,ymm14 - vpmuludq ymm11,ymm12,YMMWORD PTR[((96-128))+r13] -DB 067h + vpmuludq ymm11,ymm12,YMMWORD PTR[((96-128))+r13] +DB 067h add r11,rax -DB 067h +DB 067h mov rax,rdx - imul rax,QWORD PTR[((16-128))+r13] + imul rax,QWORD PTR[((16-128))+r13] shr r10,29 vpaddq ymm3,ymm3,ymm11 - vpmuludq ymm10,ymm12,YMMWORD PTR[((128-128))+r13] + vpmuludq ymm10,ymm12,YMMWORD PTR[((128-128))+r13] add r12,rax add r11,r10 vpaddq ymm4,ymm4,ymm10 - vpmuludq ymm14,ymm12,YMMWORD PTR[((160-128))+r13] + vpmuludq ymm14,ymm12,YMMWORD PTR[((160-128))+r13] mov rax,r11 imul eax,ecx vpaddq ymm5,ymm5,ymm14 - vpmuludq ymm11,ymm12,YMMWORD PTR[((192-128))+r13] - and eax,01fffffffh + vpmuludq ymm11,ymm12,YMMWORD PTR[((192-128))+r13] + and eax,01fffffffh vpaddq ymm6,ymm6,ymm11 - vpmuludq ymm10,ymm12,YMMWORD PTR[((224-128))+r13] + vpmuludq ymm10,ymm12,YMMWORD PTR[((224-128))+r13] vpaddq ymm7,ymm7,ymm10 - vpmuludq ymm14,ymm12,YMMWORD PTR[((256-128))+r13] + vpmuludq ymm14,ymm12,YMMWORD PTR[((256-128))+r13] vmovd xmm12,eax vpaddq ymm8,ymm8,ymm14 vpbroadcastq ymm12,xmm12 - vpmuludq ymm11,ymm13,YMMWORD PTR[((32-8-128))+r13] - vmovdqu ymm14,YMMWORD PTR[((96-8-128))+r13] + vpmuludq ymm11,ymm13,YMMWORD PTR[((32-8-128))+r13] + vmovdqu ymm14,YMMWORD PTR[((96-8-128))+r13] mov rdx,rax - imul rax,QWORD PTR[((-128))+r13] + imul rax,QWORD PTR[((-128))+r13] vpaddq ymm1,ymm1,ymm11 - vpmuludq ymm10,ymm13,YMMWORD PTR[((64-8-128))+r13] - vmovdqu ymm11,YMMWORD PTR[((128-8-128))+r13] + vpmuludq ymm10,ymm13,YMMWORD PTR[((64-8-128))+r13] + vmovdqu ymm11,YMMWORD PTR[((128-8-128))+r13] add r11,rax mov rax,rdx - imul rax,QWORD PTR[((8-128))+r13] + imul rax,QWORD PTR[((8-128))+r13] vpaddq ymm2,ymm2,ymm10 add rax,r12 shr r11,29 vpmuludq ymm14,ymm14,ymm13 - vmovdqu ymm10,YMMWORD PTR[((160-8-128))+r13] + vmovdqu ymm10,YMMWORD PTR[((160-8-128))+r13] add rax,r11 vpaddq ymm3,ymm3,ymm14 vpmuludq ymm11,ymm11,ymm13 - vmovdqu ymm14,YMMWORD PTR[((192-8-128))+r13] -DB 067h + vmovdqu ymm14,YMMWORD PTR[((192-8-128))+r13] +DB 067h mov r12,rax imul eax,ecx vpaddq ymm4,ymm4,ymm11 vpmuludq ymm10,ymm10,ymm13 -DB 0c4h,041h,07eh,06fh,09dh,058h,000h,000h,000h - and eax,01fffffffh +DB 0c4h,041h,07eh,06fh,09dh,058h,000h,000h,000h + and eax,01fffffffh vpaddq ymm5,ymm5,ymm10 vpmuludq ymm14,ymm14,ymm13 - vmovdqu ymm10,YMMWORD PTR[((256-8-128))+r13] + vmovdqu ymm10,YMMWORD PTR[((256-8-128))+r13] vpaddq ymm6,ymm6,ymm14 vpmuludq ymm11,ymm11,ymm13 - vmovdqu ymm9,YMMWORD PTR[((288-8-128))+r13] + vmovdqu ymm9,YMMWORD PTR[((288-8-128))+r13] vmovd xmm0,eax - imul rax,QWORD PTR[((-128))+r13] + imul rax,QWORD PTR[((-128))+r13] vpaddq ymm7,ymm7,ymm11 vpmuludq ymm10,ymm10,ymm13 - vmovdqu ymm14,YMMWORD PTR[((32-16-128))+r13] + vmovdqu ymm14,YMMWORD PTR[((32-16-128))+r13] vpbroadcastq ymm0,xmm0 vpaddq ymm8,ymm8,ymm10 vpmuludq ymm9,ymm9,ymm13 - vmovdqu ymm11,YMMWORD PTR[((64-16-128))+r13] + vmovdqu ymm11,YMMWORD PTR[((64-16-128))+r13] add r12,rax - vmovdqu ymm13,YMMWORD PTR[((32-24-128))+r13] + vmovdqu ymm13,YMMWORD PTR[((32-24-128))+r13] vpmuludq ymm14,ymm14,ymm12 - vmovdqu ymm10,YMMWORD PTR[((96-16-128))+r13] + vmovdqu ymm10,YMMWORD PTR[((96-16-128))+r13] vpaddq ymm1,ymm1,ymm14 vpmuludq ymm13,ymm13,ymm0 vpmuludq ymm11,ymm11,ymm12 -DB 0c4h,041h,07eh,06fh,0b5h,0f0h,0ffh,0ffh,0ffh +DB 0c4h,041h,07eh,06fh,0b5h,0f0h,0ffh,0ffh,0ffh vpaddq ymm13,ymm13,ymm1 vpaddq ymm2,ymm2,ymm11 vpmuludq ymm10,ymm10,ymm12 - vmovdqu ymm11,YMMWORD PTR[((160-16-128))+r13] -DB 067h + vmovdqu ymm11,YMMWORD PTR[((160-16-128))+r13] +DB 067h vmovq rax,xmm13 - vmovdqu YMMWORD PTR[rsp],ymm13 + vmovdqu YMMWORD PTR[rsp],ymm13 vpaddq ymm3,ymm3,ymm10 vpmuludq ymm14,ymm14,ymm12 - vmovdqu ymm10,YMMWORD PTR[((192-16-128))+r13] + vmovdqu ymm10,YMMWORD PTR[((192-16-128))+r13] vpaddq ymm4,ymm4,ymm14 vpmuludq ymm11,ymm11,ymm12 - vmovdqu ymm14,YMMWORD PTR[((224-16-128))+r13] + vmovdqu ymm14,YMMWORD PTR[((224-16-128))+r13] vpaddq ymm5,ymm5,ymm11 vpmuludq ymm10,ymm10,ymm12 - vmovdqu ymm11,YMMWORD PTR[((256-16-128))+r13] + vmovdqu ymm11,YMMWORD PTR[((256-16-128))+r13] vpaddq ymm6,ymm6,ymm10 vpmuludq ymm14,ymm14,ymm12 shr r12,29 - vmovdqu ymm10,YMMWORD PTR[((288-16-128))+r13] + vmovdqu ymm10,YMMWORD PTR[((288-16-128))+r13] add rax,r12 vpaddq ymm7,ymm7,ymm14 vpmuludq ymm11,ymm11,ymm12 @@ -475,51 +475,51 @@ DB 067h imul eax,ecx vpaddq ymm8,ymm8,ymm11 vpmuludq ymm10,ymm10,ymm12 - and eax,01fffffffh + and eax,01fffffffh vmovd xmm12,eax - vmovdqu ymm11,YMMWORD PTR[((96-24-128))+r13] -DB 067h + vmovdqu ymm11,YMMWORD PTR[((96-24-128))+r13] +DB 067h vpaddq ymm9,ymm9,ymm10 vpbroadcastq ymm12,xmm12 - vpmuludq ymm14,ymm0,YMMWORD PTR[((64-24-128))+r13] - vmovdqu ymm10,YMMWORD PTR[((128-24-128))+r13] + vpmuludq ymm14,ymm0,YMMWORD PTR[((64-24-128))+r13] + vmovdqu ymm10,YMMWORD PTR[((128-24-128))+r13] mov rdx,rax - imul rax,QWORD PTR[((-128))+r13] - mov r10,QWORD PTR[8+rsp] + imul rax,QWORD PTR[((-128))+r13] + mov r10,QWORD PTR[8+rsp] vpaddq ymm1,ymm2,ymm14 vpmuludq ymm11,ymm11,ymm0 - vmovdqu ymm14,YMMWORD PTR[((160-24-128))+r13] + vmovdqu ymm14,YMMWORD PTR[((160-24-128))+r13] add r9,rax mov rax,rdx - imul rax,QWORD PTR[((8-128))+r13] -DB 067h + imul rax,QWORD PTR[((8-128))+r13] +DB 067h shr r9,29 - mov r11,QWORD PTR[16+rsp] + mov r11,QWORD PTR[16+rsp] vpaddq ymm2,ymm3,ymm11 vpmuludq ymm10,ymm10,ymm0 - vmovdqu ymm11,YMMWORD PTR[((192-24-128))+r13] + vmovdqu ymm11,YMMWORD PTR[((192-24-128))+r13] add r10,rax mov rax,rdx - imul rax,QWORD PTR[((16-128))+r13] + imul rax,QWORD PTR[((16-128))+r13] vpaddq ymm3,ymm4,ymm10 vpmuludq ymm14,ymm14,ymm0 - vmovdqu ymm10,YMMWORD PTR[((224-24-128))+r13] - imul rdx,QWORD PTR[((24-128))+r13] + vmovdqu ymm10,YMMWORD PTR[((224-24-128))+r13] + imul rdx,QWORD PTR[((24-128))+r13] add r11,rax - lea rax,QWORD PTR[r10*1+r9] + lea rax,QWORD PTR[r10*1+r9] vpaddq ymm4,ymm5,ymm14 vpmuludq ymm11,ymm11,ymm0 - vmovdqu ymm14,YMMWORD PTR[((256-24-128))+r13] + vmovdqu ymm14,YMMWORD PTR[((256-24-128))+r13] mov r10,rax imul eax,ecx vpmuludq ymm10,ymm10,ymm0 vpaddq ymm5,ymm6,ymm11 - vmovdqu ymm11,YMMWORD PTR[((288-24-128))+r13] - and eax,01fffffffh + vmovdqu ymm11,YMMWORD PTR[((288-24-128))+r13] + and eax,01fffffffh vpaddq ymm6,ymm7,ymm10 vpmuludq ymm14,ymm14,ymm0 - add rdx,QWORD PTR[24+rsp] + add rdx,QWORD PTR[24+rsp] vpaddq ymm7,ymm8,ymm14 vpmuludq ymm11,ymm11,ymm0 vpaddq ymm8,ymm9,ymm11 @@ -527,35 +527,35 @@ DB 067h mov r12,rdx dec r14d - jnz $L$OOP_REDUCE_1024 - lea r12,QWORD PTR[448+rsp] + jnz $L$OOP_REDUCE_1024 + lea r12,QWORD PTR[448+rsp] vpaddq ymm0,ymm13,ymm9 vpxor ymm9,ymm9,ymm9 - vpaddq ymm0,ymm0,YMMWORD PTR[((288-192))+rbx] - vpaddq ymm1,ymm1,YMMWORD PTR[((320-448))+r12] - vpaddq ymm2,ymm2,YMMWORD PTR[((352-448))+r12] - vpaddq ymm3,ymm3,YMMWORD PTR[((384-448))+r12] - vpaddq ymm4,ymm4,YMMWORD PTR[((416-448))+r12] - vpaddq ymm5,ymm5,YMMWORD PTR[((448-448))+r12] - vpaddq ymm6,ymm6,YMMWORD PTR[((480-448))+r12] - vpaddq ymm7,ymm7,YMMWORD PTR[((512-448))+r12] - vpaddq ymm8,ymm8,YMMWORD PTR[((544-448))+r12] + vpaddq ymm0,ymm0,YMMWORD PTR[((288-192))+rbx] + vpaddq ymm1,ymm1,YMMWORD PTR[((320-448))+r12] + vpaddq ymm2,ymm2,YMMWORD PTR[((352-448))+r12] + vpaddq ymm3,ymm3,YMMWORD PTR[((384-448))+r12] + vpaddq ymm4,ymm4,YMMWORD PTR[((416-448))+r12] + vpaddq ymm5,ymm5,YMMWORD PTR[((448-448))+r12] + vpaddq ymm6,ymm6,YMMWORD PTR[((480-448))+r12] + vpaddq ymm7,ymm7,YMMWORD PTR[((512-448))+r12] + vpaddq ymm8,ymm8,YMMWORD PTR[((544-448))+r12] vpsrlq ymm14,ymm0,29 vpand ymm0,ymm0,ymm15 vpsrlq ymm11,ymm1,29 vpand ymm1,ymm1,ymm15 vpsrlq ymm12,ymm2,29 - vpermq ymm14,ymm14,093h + vpermq ymm14,ymm14,093h vpand ymm2,ymm2,ymm15 vpsrlq ymm13,ymm3,29 - vpermq ymm11,ymm11,093h + vpermq ymm11,ymm11,093h vpand ymm3,ymm3,ymm15 - vpermq ymm12,ymm12,093h + vpermq ymm12,ymm12,093h vpblendd ymm10,ymm14,ymm9,3 - vpermq ymm13,ymm13,093h + vpermq ymm13,ymm13,093h vpblendd ymm14,ymm11,ymm14,3 vpaddq ymm0,ymm0,ymm10 vpblendd ymm11,ymm12,ymm11,3 @@ -571,45 +571,45 @@ DB 067h vpsrlq ymm11,ymm1,29 vpand ymm1,ymm1,ymm15 vpsrlq ymm12,ymm2,29 - vpermq ymm14,ymm14,093h + vpermq ymm14,ymm14,093h vpand ymm2,ymm2,ymm15 vpsrlq ymm13,ymm3,29 - vpermq ymm11,ymm11,093h + vpermq ymm11,ymm11,093h vpand ymm3,ymm3,ymm15 - vpermq ymm12,ymm12,093h + vpermq ymm12,ymm12,093h vpblendd ymm10,ymm14,ymm9,3 - vpermq ymm13,ymm13,093h + vpermq ymm13,ymm13,093h vpblendd ymm14,ymm11,ymm14,3 vpaddq ymm0,ymm0,ymm10 vpblendd ymm11,ymm12,ymm11,3 vpaddq ymm1,ymm1,ymm14 - vmovdqu YMMWORD PTR[(0-128)+rdi],ymm0 + vmovdqu YMMWORD PTR[(0-128)+rdi],ymm0 vpblendd ymm12,ymm13,ymm12,3 vpaddq ymm2,ymm2,ymm11 - vmovdqu YMMWORD PTR[(32-128)+rdi],ymm1 + vmovdqu YMMWORD PTR[(32-128)+rdi],ymm1 vpblendd ymm13,ymm9,ymm13,3 vpaddq ymm3,ymm3,ymm12 - vmovdqu YMMWORD PTR[(64-128)+rdi],ymm2 + vmovdqu YMMWORD PTR[(64-128)+rdi],ymm2 vpaddq ymm4,ymm4,ymm13 - vmovdqu YMMWORD PTR[(96-128)+rdi],ymm3 + vmovdqu YMMWORD PTR[(96-128)+rdi],ymm3 vpsrlq ymm14,ymm4,29 vpand ymm4,ymm4,ymm15 vpsrlq ymm11,ymm5,29 vpand ymm5,ymm5,ymm15 vpsrlq ymm12,ymm6,29 - vpermq ymm14,ymm14,093h + vpermq ymm14,ymm14,093h vpand ymm6,ymm6,ymm15 vpsrlq ymm13,ymm7,29 - vpermq ymm11,ymm11,093h + vpermq ymm11,ymm11,093h vpand ymm7,ymm7,ymm15 vpsrlq ymm0,ymm8,29 - vpermq ymm12,ymm12,093h + vpermq ymm12,ymm12,093h vpand ymm8,ymm8,ymm15 - vpermq ymm13,ymm13,093h + vpermq ymm13,ymm13,093h vpblendd ymm10,ymm14,ymm9,3 - vpermq ymm0,ymm0,093h + vpermq ymm0,ymm0,093h vpblendd ymm14,ymm11,ymm14,3 vpaddq ymm4,ymm4,ymm10 vpblendd ymm11,ymm12,ymm11,3 @@ -625,89 +625,89 @@ DB 067h vpsrlq ymm11,ymm5,29 vpand ymm5,ymm5,ymm15 vpsrlq ymm12,ymm6,29 - vpermq ymm14,ymm14,093h + vpermq ymm14,ymm14,093h vpand ymm6,ymm6,ymm15 vpsrlq ymm13,ymm7,29 - vpermq ymm11,ymm11,093h + vpermq ymm11,ymm11,093h vpand ymm7,ymm7,ymm15 vpsrlq ymm0,ymm8,29 - vpermq ymm12,ymm12,093h + vpermq ymm12,ymm12,093h vpand ymm8,ymm8,ymm15 - vpermq ymm13,ymm13,093h + vpermq ymm13,ymm13,093h vpblendd ymm10,ymm14,ymm9,3 - vpermq ymm0,ymm0,093h + vpermq ymm0,ymm0,093h vpblendd ymm14,ymm11,ymm14,3 vpaddq ymm4,ymm4,ymm10 vpblendd ymm11,ymm12,ymm11,3 vpaddq ymm5,ymm5,ymm14 - vmovdqu YMMWORD PTR[(128-128)+rdi],ymm4 + vmovdqu YMMWORD PTR[(128-128)+rdi],ymm4 vpblendd ymm12,ymm13,ymm12,3 vpaddq ymm6,ymm6,ymm11 - vmovdqu YMMWORD PTR[(160-128)+rdi],ymm5 + vmovdqu YMMWORD PTR[(160-128)+rdi],ymm5 vpblendd ymm13,ymm0,ymm13,3 vpaddq ymm7,ymm7,ymm12 - vmovdqu YMMWORD PTR[(192-128)+rdi],ymm6 + vmovdqu YMMWORD PTR[(192-128)+rdi],ymm6 vpaddq ymm8,ymm8,ymm13 - vmovdqu YMMWORD PTR[(224-128)+rdi],ymm7 - vmovdqu YMMWORD PTR[(256-128)+rdi],ymm8 + vmovdqu YMMWORD PTR[(224-128)+rdi],ymm7 + vmovdqu YMMWORD PTR[(256-128)+rdi],ymm8 mov rsi,rdi dec r8d - jne $L$OOP_GRANDE_SQR_1024 + jne $L$OOP_GRANDE_SQR_1024 vzeroall mov rax,rbp -$L$sqr_1024_in_tail:: - movaps xmm6,XMMWORD PTR[((-216))+rax] - movaps xmm7,XMMWORD PTR[((-200))+rax] - movaps xmm8,XMMWORD PTR[((-184))+rax] - movaps xmm9,XMMWORD PTR[((-168))+rax] - movaps xmm10,XMMWORD PTR[((-152))+rax] - movaps xmm11,XMMWORD PTR[((-136))+rax] - movaps xmm12,XMMWORD PTR[((-120))+rax] - movaps xmm13,XMMWORD PTR[((-104))+rax] - movaps xmm14,XMMWORD PTR[((-88))+rax] - movaps xmm15,XMMWORD PTR[((-72))+rax] - mov r15,QWORD PTR[((-48))+rax] +$L$sqr_1024_in_tail:: + movaps xmm6,XMMWORD PTR[((-216))+rax] + movaps xmm7,XMMWORD PTR[((-200))+rax] + movaps xmm8,XMMWORD PTR[((-184))+rax] + movaps xmm9,XMMWORD PTR[((-168))+rax] + movaps xmm10,XMMWORD PTR[((-152))+rax] + movaps xmm11,XMMWORD PTR[((-136))+rax] + movaps xmm12,XMMWORD PTR[((-120))+rax] + movaps xmm13,XMMWORD PTR[((-104))+rax] + movaps xmm14,XMMWORD PTR[((-88))+rax] + movaps xmm15,XMMWORD PTR[((-72))+rax] + mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] + mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] + mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] + mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$sqr_1024_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$sqr_1024_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_1024_sqr_avx2:: -rsaz_1024_sqr_avx2 ENDP -PUBLIC rsaz_1024_mul_avx2 +$L$SEH_end_rsaz_1024_sqr_avx2:: +rsaz_1024_sqr_avx2 ENDP +PUBLIC rsaz_1024_mul_avx2 ALIGN 64 -rsaz_1024_mul_avx2 PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +rsaz_1024_mul_avx2 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_rsaz_1024_mul_avx2:: +$L$SEH_begin_rsaz_1024_mul_avx2:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] + mov r8,QWORD PTR[40+rsp] - lea rax,QWORD PTR[rsp] + lea rax,QWORD PTR[rsp] push rbx @@ -722,18 +722,18 @@ $L$SEH_begin_rsaz_1024_mul_avx2:: push r15 vzeroupper - lea rsp,QWORD PTR[((-168))+rsp] - vmovaps XMMWORD PTR[(-216)+rax],xmm6 - vmovaps XMMWORD PTR[(-200)+rax],xmm7 - vmovaps XMMWORD PTR[(-184)+rax],xmm8 - vmovaps XMMWORD PTR[(-168)+rax],xmm9 - vmovaps XMMWORD PTR[(-152)+rax],xmm10 - vmovaps XMMWORD PTR[(-136)+rax],xmm11 - vmovaps XMMWORD PTR[(-120)+rax],xmm12 - vmovaps XMMWORD PTR[(-104)+rax],xmm13 - vmovaps XMMWORD PTR[(-88)+rax],xmm14 - vmovaps XMMWORD PTR[(-72)+rax],xmm15 -$L$mul_1024_body:: + lea rsp,QWORD PTR[((-168))+rsp] + vmovaps XMMWORD PTR[(-216)+rax],xmm6 + vmovaps XMMWORD PTR[(-200)+rax],xmm7 + vmovaps XMMWORD PTR[(-184)+rax],xmm8 + vmovaps XMMWORD PTR[(-168)+rax],xmm9 + vmovaps XMMWORD PTR[(-152)+rax],xmm10 + vmovaps XMMWORD PTR[(-136)+rax],xmm11 + vmovaps XMMWORD PTR[(-120)+rax],xmm12 + vmovaps XMMWORD PTR[(-104)+rax],xmm13 + vmovaps XMMWORD PTR[(-88)+rax],xmm14 + vmovaps XMMWORD PTR[(-72)+rax],xmm15 +$L$mul_1024_body:: mov rbp,rax vzeroall @@ -745,7 +745,7 @@ $L$mul_1024_body:: -DB 067h,067h +DB 067h,067h mov r15,rsi and r15,4095 add r15,32*10 @@ -761,397 +761,397 @@ DB 067h,067h and r15,4095 add r15,32*10 -DB 067h,067h +DB 067h,067h shr r15,12 - jz $L$mul_1024_no_n_copy + jz $L$mul_1024_no_n_copy sub rsp,32*10 - vmovdqu ymm0,YMMWORD PTR[((0-128))+rcx] + vmovdqu ymm0,YMMWORD PTR[((0-128))+rcx] and rsp,-512 - vmovdqu ymm1,YMMWORD PTR[((32-128))+rcx] - vmovdqu ymm2,YMMWORD PTR[((64-128))+rcx] - vmovdqu ymm3,YMMWORD PTR[((96-128))+rcx] - vmovdqu ymm4,YMMWORD PTR[((128-128))+rcx] - vmovdqu ymm5,YMMWORD PTR[((160-128))+rcx] - vmovdqu ymm6,YMMWORD PTR[((192-128))+rcx] - vmovdqu ymm7,YMMWORD PTR[((224-128))+rcx] - vmovdqu ymm8,YMMWORD PTR[((256-128))+rcx] - lea rcx,QWORD PTR[((64+128))+rsp] - vmovdqu YMMWORD PTR[(0-128)+rcx],ymm0 + vmovdqu ymm1,YMMWORD PTR[((32-128))+rcx] + vmovdqu ymm2,YMMWORD PTR[((64-128))+rcx] + vmovdqu ymm3,YMMWORD PTR[((96-128))+rcx] + vmovdqu ymm4,YMMWORD PTR[((128-128))+rcx] + vmovdqu ymm5,YMMWORD PTR[((160-128))+rcx] + vmovdqu ymm6,YMMWORD PTR[((192-128))+rcx] + vmovdqu ymm7,YMMWORD PTR[((224-128))+rcx] + vmovdqu ymm8,YMMWORD PTR[((256-128))+rcx] + lea rcx,QWORD PTR[((64+128))+rsp] + vmovdqu YMMWORD PTR[(0-128)+rcx],ymm0 vpxor ymm0,ymm0,ymm0 - vmovdqu YMMWORD PTR[(32-128)+rcx],ymm1 + vmovdqu YMMWORD PTR[(32-128)+rcx],ymm1 vpxor ymm1,ymm1,ymm1 - vmovdqu YMMWORD PTR[(64-128)+rcx],ymm2 + vmovdqu YMMWORD PTR[(64-128)+rcx],ymm2 vpxor ymm2,ymm2,ymm2 - vmovdqu YMMWORD PTR[(96-128)+rcx],ymm3 + vmovdqu YMMWORD PTR[(96-128)+rcx],ymm3 vpxor ymm3,ymm3,ymm3 - vmovdqu YMMWORD PTR[(128-128)+rcx],ymm4 + vmovdqu YMMWORD PTR[(128-128)+rcx],ymm4 vpxor ymm4,ymm4,ymm4 - vmovdqu YMMWORD PTR[(160-128)+rcx],ymm5 + vmovdqu YMMWORD PTR[(160-128)+rcx],ymm5 vpxor ymm5,ymm5,ymm5 - vmovdqu YMMWORD PTR[(192-128)+rcx],ymm6 + vmovdqu YMMWORD PTR[(192-128)+rcx],ymm6 vpxor ymm6,ymm6,ymm6 - vmovdqu YMMWORD PTR[(224-128)+rcx],ymm7 + vmovdqu YMMWORD PTR[(224-128)+rcx],ymm7 vpxor ymm7,ymm7,ymm7 - vmovdqu YMMWORD PTR[(256-128)+rcx],ymm8 + vmovdqu YMMWORD PTR[(256-128)+rcx],ymm8 vmovdqa ymm8,ymm0 - vmovdqu YMMWORD PTR[(288-128)+rcx],ymm9 -$L$mul_1024_no_n_copy:: + vmovdqu YMMWORD PTR[(288-128)+rcx],ymm9 +$L$mul_1024_no_n_copy:: and rsp,-64 - mov rbx,QWORD PTR[r13] - vpbroadcastq ymm10,QWORD PTR[r13] - vmovdqu YMMWORD PTR[rsp],ymm0 + mov rbx,QWORD PTR[r13] + vpbroadcastq ymm10,QWORD PTR[r13] + vmovdqu YMMWORD PTR[rsp],ymm0 xor r9,r9 -DB 067h +DB 067h xor r10,r10 xor r11,r11 xor r12,r12 - vmovdqu ymm15,YMMWORD PTR[$L$and_mask] + vmovdqu ymm15,YMMWORD PTR[$L$and_mask] mov r14d,9 - vmovdqu YMMWORD PTR[(288-128)+rdi],ymm9 - jmp $L$oop_mul_1024 + vmovdqu YMMWORD PTR[(288-128)+rdi],ymm9 + jmp $L$oop_mul_1024 ALIGN 32 -$L$oop_mul_1024:: +$L$oop_mul_1024:: vpsrlq ymm9,ymm3,29 mov rax,rbx - imul rax,QWORD PTR[((-128))+rsi] + imul rax,QWORD PTR[((-128))+rsi] add rax,r9 mov r10,rbx - imul r10,QWORD PTR[((8-128))+rsi] - add r10,QWORD PTR[8+rsp] + imul r10,QWORD PTR[((8-128))+rsi] + add r10,QWORD PTR[8+rsp] mov r9,rax imul eax,r8d - and eax,01fffffffh + and eax,01fffffffh mov r11,rbx - imul r11,QWORD PTR[((16-128))+rsi] - add r11,QWORD PTR[16+rsp] + imul r11,QWORD PTR[((16-128))+rsi] + add r11,QWORD PTR[16+rsp] mov r12,rbx - imul r12,QWORD PTR[((24-128))+rsi] - add r12,QWORD PTR[24+rsp] - vpmuludq ymm0,ymm10,YMMWORD PTR[((32-128))+rsi] + imul r12,QWORD PTR[((24-128))+rsi] + add r12,QWORD PTR[24+rsp] + vpmuludq ymm0,ymm10,YMMWORD PTR[((32-128))+rsi] vmovd xmm11,eax vpaddq ymm1,ymm1,ymm0 - vpmuludq ymm12,ymm10,YMMWORD PTR[((64-128))+rsi] + vpmuludq ymm12,ymm10,YMMWORD PTR[((64-128))+rsi] vpbroadcastq ymm11,xmm11 vpaddq ymm2,ymm2,ymm12 - vpmuludq ymm13,ymm10,YMMWORD PTR[((96-128))+rsi] + vpmuludq ymm13,ymm10,YMMWORD PTR[((96-128))+rsi] vpand ymm3,ymm3,ymm15 vpaddq ymm3,ymm3,ymm13 - vpmuludq ymm0,ymm10,YMMWORD PTR[((128-128))+rsi] + vpmuludq ymm0,ymm10,YMMWORD PTR[((128-128))+rsi] vpaddq ymm4,ymm4,ymm0 - vpmuludq ymm12,ymm10,YMMWORD PTR[((160-128))+rsi] + vpmuludq ymm12,ymm10,YMMWORD PTR[((160-128))+rsi] vpaddq ymm5,ymm5,ymm12 - vpmuludq ymm13,ymm10,YMMWORD PTR[((192-128))+rsi] + vpmuludq ymm13,ymm10,YMMWORD PTR[((192-128))+rsi] vpaddq ymm6,ymm6,ymm13 - vpmuludq ymm0,ymm10,YMMWORD PTR[((224-128))+rsi] - vpermq ymm9,ymm9,093h + vpmuludq ymm0,ymm10,YMMWORD PTR[((224-128))+rsi] + vpermq ymm9,ymm9,093h vpaddq ymm7,ymm7,ymm0 - vpmuludq ymm12,ymm10,YMMWORD PTR[((256-128))+rsi] - vpbroadcastq ymm10,QWORD PTR[8+r13] + vpmuludq ymm12,ymm10,YMMWORD PTR[((256-128))+rsi] + vpbroadcastq ymm10,QWORD PTR[8+r13] vpaddq ymm8,ymm8,ymm12 mov rdx,rax - imul rax,QWORD PTR[((-128))+rcx] + imul rax,QWORD PTR[((-128))+rcx] add r9,rax mov rax,rdx - imul rax,QWORD PTR[((8-128))+rcx] + imul rax,QWORD PTR[((8-128))+rcx] add r10,rax mov rax,rdx - imul rax,QWORD PTR[((16-128))+rcx] + imul rax,QWORD PTR[((16-128))+rcx] add r11,rax shr r9,29 - imul rdx,QWORD PTR[((24-128))+rcx] + imul rdx,QWORD PTR[((24-128))+rcx] add r12,rdx add r10,r9 - vpmuludq ymm13,ymm11,YMMWORD PTR[((32-128))+rcx] + vpmuludq ymm13,ymm11,YMMWORD PTR[((32-128))+rcx] vmovq rbx,xmm10 vpaddq ymm1,ymm1,ymm13 - vpmuludq ymm0,ymm11,YMMWORD PTR[((64-128))+rcx] + vpmuludq ymm0,ymm11,YMMWORD PTR[((64-128))+rcx] vpaddq ymm2,ymm2,ymm0 - vpmuludq ymm12,ymm11,YMMWORD PTR[((96-128))+rcx] + vpmuludq ymm12,ymm11,YMMWORD PTR[((96-128))+rcx] vpaddq ymm3,ymm3,ymm12 - vpmuludq ymm13,ymm11,YMMWORD PTR[((128-128))+rcx] + vpmuludq ymm13,ymm11,YMMWORD PTR[((128-128))+rcx] vpaddq ymm4,ymm4,ymm13 - vpmuludq ymm0,ymm11,YMMWORD PTR[((160-128))+rcx] + vpmuludq ymm0,ymm11,YMMWORD PTR[((160-128))+rcx] vpaddq ymm5,ymm5,ymm0 - vpmuludq ymm12,ymm11,YMMWORD PTR[((192-128))+rcx] + vpmuludq ymm12,ymm11,YMMWORD PTR[((192-128))+rcx] vpaddq ymm6,ymm6,ymm12 - vpmuludq ymm13,ymm11,YMMWORD PTR[((224-128))+rcx] + vpmuludq ymm13,ymm11,YMMWORD PTR[((224-128))+rcx] vpblendd ymm12,ymm9,ymm14,3 vpaddq ymm7,ymm7,ymm13 - vpmuludq ymm0,ymm11,YMMWORD PTR[((256-128))+rcx] + vpmuludq ymm0,ymm11,YMMWORD PTR[((256-128))+rcx] vpaddq ymm3,ymm3,ymm12 vpaddq ymm8,ymm8,ymm0 mov rax,rbx - imul rax,QWORD PTR[((-128))+rsi] + imul rax,QWORD PTR[((-128))+rsi] add r10,rax - vmovdqu ymm12,YMMWORD PTR[((-8+32-128))+rsi] + vmovdqu ymm12,YMMWORD PTR[((-8+32-128))+rsi] mov rax,rbx - imul rax,QWORD PTR[((8-128))+rsi] + imul rax,QWORD PTR[((8-128))+rsi] add r11,rax - vmovdqu ymm13,YMMWORD PTR[((-8+64-128))+rsi] + vmovdqu ymm13,YMMWORD PTR[((-8+64-128))+rsi] mov rax,r10 - vpblendd ymm9,ymm9,ymm14,0fch + vpblendd ymm9,ymm9,ymm14,0fch imul eax,r8d vpaddq ymm4,ymm4,ymm9 - and eax,01fffffffh + and eax,01fffffffh - imul rbx,QWORD PTR[((16-128))+rsi] + imul rbx,QWORD PTR[((16-128))+rsi] add r12,rbx vpmuludq ymm12,ymm12,ymm10 vmovd xmm11,eax - vmovdqu ymm0,YMMWORD PTR[((-8+96-128))+rsi] + vmovdqu ymm0,YMMWORD PTR[((-8+96-128))+rsi] vpaddq ymm1,ymm1,ymm12 vpmuludq ymm13,ymm13,ymm10 vpbroadcastq ymm11,xmm11 - vmovdqu ymm12,YMMWORD PTR[((-8+128-128))+rsi] + vmovdqu ymm12,YMMWORD PTR[((-8+128-128))+rsi] vpaddq ymm2,ymm2,ymm13 vpmuludq ymm0,ymm0,ymm10 - vmovdqu ymm13,YMMWORD PTR[((-8+160-128))+rsi] + vmovdqu ymm13,YMMWORD PTR[((-8+160-128))+rsi] vpaddq ymm3,ymm3,ymm0 vpmuludq ymm12,ymm12,ymm10 - vmovdqu ymm0,YMMWORD PTR[((-8+192-128))+rsi] + vmovdqu ymm0,YMMWORD PTR[((-8+192-128))+rsi] vpaddq ymm4,ymm4,ymm12 vpmuludq ymm13,ymm13,ymm10 - vmovdqu ymm12,YMMWORD PTR[((-8+224-128))+rsi] + vmovdqu ymm12,YMMWORD PTR[((-8+224-128))+rsi] vpaddq ymm5,ymm5,ymm13 vpmuludq ymm0,ymm0,ymm10 - vmovdqu ymm13,YMMWORD PTR[((-8+256-128))+rsi] + vmovdqu ymm13,YMMWORD PTR[((-8+256-128))+rsi] vpaddq ymm6,ymm6,ymm0 vpmuludq ymm12,ymm12,ymm10 - vmovdqu ymm9,YMMWORD PTR[((-8+288-128))+rsi] + vmovdqu ymm9,YMMWORD PTR[((-8+288-128))+rsi] vpaddq ymm7,ymm7,ymm12 vpmuludq ymm13,ymm13,ymm10 vpaddq ymm8,ymm8,ymm13 vpmuludq ymm9,ymm9,ymm10 - vpbroadcastq ymm10,QWORD PTR[16+r13] + vpbroadcastq ymm10,QWORD PTR[16+r13] mov rdx,rax - imul rax,QWORD PTR[((-128))+rcx] + imul rax,QWORD PTR[((-128))+rcx] add r10,rax - vmovdqu ymm0,YMMWORD PTR[((-8+32-128))+rcx] + vmovdqu ymm0,YMMWORD PTR[((-8+32-128))+rcx] mov rax,rdx - imul rax,QWORD PTR[((8-128))+rcx] + imul rax,QWORD PTR[((8-128))+rcx] add r11,rax - vmovdqu ymm12,YMMWORD PTR[((-8+64-128))+rcx] + vmovdqu ymm12,YMMWORD PTR[((-8+64-128))+rcx] shr r10,29 - imul rdx,QWORD PTR[((16-128))+rcx] + imul rdx,QWORD PTR[((16-128))+rcx] add r12,rdx add r11,r10 vpmuludq ymm0,ymm0,ymm11 vmovq rbx,xmm10 - vmovdqu ymm13,YMMWORD PTR[((-8+96-128))+rcx] + vmovdqu ymm13,YMMWORD PTR[((-8+96-128))+rcx] vpaddq ymm1,ymm1,ymm0 vpmuludq ymm12,ymm12,ymm11 - vmovdqu ymm0,YMMWORD PTR[((-8+128-128))+rcx] + vmovdqu ymm0,YMMWORD PTR[((-8+128-128))+rcx] vpaddq ymm2,ymm2,ymm12 vpmuludq ymm13,ymm13,ymm11 - vmovdqu ymm12,YMMWORD PTR[((-8+160-128))+rcx] + vmovdqu ymm12,YMMWORD PTR[((-8+160-128))+rcx] vpaddq ymm3,ymm3,ymm13 vpmuludq ymm0,ymm0,ymm11 - vmovdqu ymm13,YMMWORD PTR[((-8+192-128))+rcx] + vmovdqu ymm13,YMMWORD PTR[((-8+192-128))+rcx] vpaddq ymm4,ymm4,ymm0 vpmuludq ymm12,ymm12,ymm11 - vmovdqu ymm0,YMMWORD PTR[((-8+224-128))+rcx] + vmovdqu ymm0,YMMWORD PTR[((-8+224-128))+rcx] vpaddq ymm5,ymm5,ymm12 vpmuludq ymm13,ymm13,ymm11 - vmovdqu ymm12,YMMWORD PTR[((-8+256-128))+rcx] + vmovdqu ymm12,YMMWORD PTR[((-8+256-128))+rcx] vpaddq ymm6,ymm6,ymm13 vpmuludq ymm0,ymm0,ymm11 - vmovdqu ymm13,YMMWORD PTR[((-8+288-128))+rcx] + vmovdqu ymm13,YMMWORD PTR[((-8+288-128))+rcx] vpaddq ymm7,ymm7,ymm0 vpmuludq ymm12,ymm12,ymm11 vpaddq ymm8,ymm8,ymm12 vpmuludq ymm13,ymm13,ymm11 vpaddq ymm9,ymm9,ymm13 - vmovdqu ymm0,YMMWORD PTR[((-16+32-128))+rsi] + vmovdqu ymm0,YMMWORD PTR[((-16+32-128))+rsi] mov rax,rbx - imul rax,QWORD PTR[((-128))+rsi] + imul rax,QWORD PTR[((-128))+rsi] add rax,r11 - vmovdqu ymm12,YMMWORD PTR[((-16+64-128))+rsi] + vmovdqu ymm12,YMMWORD PTR[((-16+64-128))+rsi] mov r11,rax imul eax,r8d - and eax,01fffffffh + and eax,01fffffffh - imul rbx,QWORD PTR[((8-128))+rsi] + imul rbx,QWORD PTR[((8-128))+rsi] add r12,rbx vpmuludq ymm0,ymm0,ymm10 vmovd xmm11,eax - vmovdqu ymm13,YMMWORD PTR[((-16+96-128))+rsi] + vmovdqu ymm13,YMMWORD PTR[((-16+96-128))+rsi] vpaddq ymm1,ymm1,ymm0 vpmuludq ymm12,ymm12,ymm10 vpbroadcastq ymm11,xmm11 - vmovdqu ymm0,YMMWORD PTR[((-16+128-128))+rsi] + vmovdqu ymm0,YMMWORD PTR[((-16+128-128))+rsi] vpaddq ymm2,ymm2,ymm12 vpmuludq ymm13,ymm13,ymm10 - vmovdqu ymm12,YMMWORD PTR[((-16+160-128))+rsi] + vmovdqu ymm12,YMMWORD PTR[((-16+160-128))+rsi] vpaddq ymm3,ymm3,ymm13 vpmuludq ymm0,ymm0,ymm10 - vmovdqu ymm13,YMMWORD PTR[((-16+192-128))+rsi] + vmovdqu ymm13,YMMWORD PTR[((-16+192-128))+rsi] vpaddq ymm4,ymm4,ymm0 vpmuludq ymm12,ymm12,ymm10 - vmovdqu ymm0,YMMWORD PTR[((-16+224-128))+rsi] + vmovdqu ymm0,YMMWORD PTR[((-16+224-128))+rsi] vpaddq ymm5,ymm5,ymm12 vpmuludq ymm13,ymm13,ymm10 - vmovdqu ymm12,YMMWORD PTR[((-16+256-128))+rsi] + vmovdqu ymm12,YMMWORD PTR[((-16+256-128))+rsi] vpaddq ymm6,ymm6,ymm13 vpmuludq ymm0,ymm0,ymm10 - vmovdqu ymm13,YMMWORD PTR[((-16+288-128))+rsi] + vmovdqu ymm13,YMMWORD PTR[((-16+288-128))+rsi] vpaddq ymm7,ymm7,ymm0 vpmuludq ymm12,ymm12,ymm10 vpaddq ymm8,ymm8,ymm12 vpmuludq ymm13,ymm13,ymm10 - vpbroadcastq ymm10,QWORD PTR[24+r13] + vpbroadcastq ymm10,QWORD PTR[24+r13] vpaddq ymm9,ymm9,ymm13 - vmovdqu ymm0,YMMWORD PTR[((-16+32-128))+rcx] + vmovdqu ymm0,YMMWORD PTR[((-16+32-128))+rcx] mov rdx,rax - imul rax,QWORD PTR[((-128))+rcx] + imul rax,QWORD PTR[((-128))+rcx] add r11,rax - vmovdqu ymm12,YMMWORD PTR[((-16+64-128))+rcx] - imul rdx,QWORD PTR[((8-128))+rcx] + vmovdqu ymm12,YMMWORD PTR[((-16+64-128))+rcx] + imul rdx,QWORD PTR[((8-128))+rcx] add r12,rdx shr r11,29 vpmuludq ymm0,ymm0,ymm11 vmovq rbx,xmm10 - vmovdqu ymm13,YMMWORD PTR[((-16+96-128))+rcx] + vmovdqu ymm13,YMMWORD PTR[((-16+96-128))+rcx] vpaddq ymm1,ymm1,ymm0 vpmuludq ymm12,ymm12,ymm11 - vmovdqu ymm0,YMMWORD PTR[((-16+128-128))+rcx] + vmovdqu ymm0,YMMWORD PTR[((-16+128-128))+rcx] vpaddq ymm2,ymm2,ymm12 vpmuludq ymm13,ymm13,ymm11 - vmovdqu ymm12,YMMWORD PTR[((-16+160-128))+rcx] + vmovdqu ymm12,YMMWORD PTR[((-16+160-128))+rcx] vpaddq ymm3,ymm3,ymm13 vpmuludq ymm0,ymm0,ymm11 - vmovdqu ymm13,YMMWORD PTR[((-16+192-128))+rcx] + vmovdqu ymm13,YMMWORD PTR[((-16+192-128))+rcx] vpaddq ymm4,ymm4,ymm0 vpmuludq ymm12,ymm12,ymm11 - vmovdqu ymm0,YMMWORD PTR[((-16+224-128))+rcx] + vmovdqu ymm0,YMMWORD PTR[((-16+224-128))+rcx] vpaddq ymm5,ymm5,ymm12 vpmuludq ymm13,ymm13,ymm11 - vmovdqu ymm12,YMMWORD PTR[((-16+256-128))+rcx] + vmovdqu ymm12,YMMWORD PTR[((-16+256-128))+rcx] vpaddq ymm6,ymm6,ymm13 vpmuludq ymm0,ymm0,ymm11 - vmovdqu ymm13,YMMWORD PTR[((-16+288-128))+rcx] + vmovdqu ymm13,YMMWORD PTR[((-16+288-128))+rcx] vpaddq ymm7,ymm7,ymm0 vpmuludq ymm12,ymm12,ymm11 - vmovdqu ymm0,YMMWORD PTR[((-24+32-128))+rsi] + vmovdqu ymm0,YMMWORD PTR[((-24+32-128))+rsi] vpaddq ymm8,ymm8,ymm12 vpmuludq ymm13,ymm13,ymm11 - vmovdqu ymm12,YMMWORD PTR[((-24+64-128))+rsi] + vmovdqu ymm12,YMMWORD PTR[((-24+64-128))+rsi] vpaddq ymm9,ymm9,ymm13 add r12,r11 - imul rbx,QWORD PTR[((-128))+rsi] + imul rbx,QWORD PTR[((-128))+rsi] add r12,rbx mov rax,r12 imul eax,r8d - and eax,01fffffffh + and eax,01fffffffh vpmuludq ymm0,ymm0,ymm10 vmovd xmm11,eax - vmovdqu ymm13,YMMWORD PTR[((-24+96-128))+rsi] + vmovdqu ymm13,YMMWORD PTR[((-24+96-128))+rsi] vpaddq ymm1,ymm1,ymm0 vpmuludq ymm12,ymm12,ymm10 vpbroadcastq ymm11,xmm11 - vmovdqu ymm0,YMMWORD PTR[((-24+128-128))+rsi] + vmovdqu ymm0,YMMWORD PTR[((-24+128-128))+rsi] vpaddq ymm2,ymm2,ymm12 vpmuludq ymm13,ymm13,ymm10 - vmovdqu ymm12,YMMWORD PTR[((-24+160-128))+rsi] + vmovdqu ymm12,YMMWORD PTR[((-24+160-128))+rsi] vpaddq ymm3,ymm3,ymm13 vpmuludq ymm0,ymm0,ymm10 - vmovdqu ymm13,YMMWORD PTR[((-24+192-128))+rsi] + vmovdqu ymm13,YMMWORD PTR[((-24+192-128))+rsi] vpaddq ymm4,ymm4,ymm0 vpmuludq ymm12,ymm12,ymm10 - vmovdqu ymm0,YMMWORD PTR[((-24+224-128))+rsi] + vmovdqu ymm0,YMMWORD PTR[((-24+224-128))+rsi] vpaddq ymm5,ymm5,ymm12 vpmuludq ymm13,ymm13,ymm10 - vmovdqu ymm12,YMMWORD PTR[((-24+256-128))+rsi] + vmovdqu ymm12,YMMWORD PTR[((-24+256-128))+rsi] vpaddq ymm6,ymm6,ymm13 vpmuludq ymm0,ymm0,ymm10 - vmovdqu ymm13,YMMWORD PTR[((-24+288-128))+rsi] + vmovdqu ymm13,YMMWORD PTR[((-24+288-128))+rsi] vpaddq ymm7,ymm7,ymm0 vpmuludq ymm12,ymm12,ymm10 vpaddq ymm8,ymm8,ymm12 vpmuludq ymm13,ymm13,ymm10 - vpbroadcastq ymm10,QWORD PTR[32+r13] + vpbroadcastq ymm10,QWORD PTR[32+r13] vpaddq ymm9,ymm9,ymm13 add r13,32 - vmovdqu ymm0,YMMWORD PTR[((-24+32-128))+rcx] - imul rax,QWORD PTR[((-128))+rcx] + vmovdqu ymm0,YMMWORD PTR[((-24+32-128))+rcx] + imul rax,QWORD PTR[((-128))+rcx] add r12,rax shr r12,29 - vmovdqu ymm12,YMMWORD PTR[((-24+64-128))+rcx] + vmovdqu ymm12,YMMWORD PTR[((-24+64-128))+rcx] vpmuludq ymm0,ymm0,ymm11 vmovq rbx,xmm10 - vmovdqu ymm13,YMMWORD PTR[((-24+96-128))+rcx] + vmovdqu ymm13,YMMWORD PTR[((-24+96-128))+rcx] vpaddq ymm0,ymm1,ymm0 vpmuludq ymm12,ymm12,ymm11 - vmovdqu YMMWORD PTR[rsp],ymm0 + vmovdqu YMMWORD PTR[rsp],ymm0 vpaddq ymm1,ymm2,ymm12 - vmovdqu ymm0,YMMWORD PTR[((-24+128-128))+rcx] + vmovdqu ymm0,YMMWORD PTR[((-24+128-128))+rcx] vpmuludq ymm13,ymm13,ymm11 - vmovdqu ymm12,YMMWORD PTR[((-24+160-128))+rcx] + vmovdqu ymm12,YMMWORD PTR[((-24+160-128))+rcx] vpaddq ymm2,ymm3,ymm13 vpmuludq ymm0,ymm0,ymm11 - vmovdqu ymm13,YMMWORD PTR[((-24+192-128))+rcx] + vmovdqu ymm13,YMMWORD PTR[((-24+192-128))+rcx] vpaddq ymm3,ymm4,ymm0 vpmuludq ymm12,ymm12,ymm11 - vmovdqu ymm0,YMMWORD PTR[((-24+224-128))+rcx] + vmovdqu ymm0,YMMWORD PTR[((-24+224-128))+rcx] vpaddq ymm4,ymm5,ymm12 vpmuludq ymm13,ymm13,ymm11 - vmovdqu ymm12,YMMWORD PTR[((-24+256-128))+rcx] + vmovdqu ymm12,YMMWORD PTR[((-24+256-128))+rcx] vpaddq ymm5,ymm6,ymm13 vpmuludq ymm0,ymm0,ymm11 - vmovdqu ymm13,YMMWORD PTR[((-24+288-128))+rcx] + vmovdqu ymm13,YMMWORD PTR[((-24+288-128))+rcx] mov r9,r12 vpaddq ymm6,ymm7,ymm0 vpmuludq ymm12,ymm12,ymm11 - add r9,QWORD PTR[rsp] + add r9,QWORD PTR[rsp] vpaddq ymm7,ymm8,ymm12 vpmuludq ymm13,ymm13,ymm11 vmovq xmm12,r12 vpaddq ymm8,ymm9,ymm13 dec r14d - jnz $L$oop_mul_1024 - vpaddq ymm0,ymm12,YMMWORD PTR[rsp] + jnz $L$oop_mul_1024 + vpaddq ymm0,ymm12,YMMWORD PTR[rsp] vpsrlq ymm12,ymm0,29 vpand ymm0,ymm0,ymm15 vpsrlq ymm13,ymm1,29 vpand ymm1,ymm1,ymm15 vpsrlq ymm10,ymm2,29 - vpermq ymm12,ymm12,093h + vpermq ymm12,ymm12,093h vpand ymm2,ymm2,ymm15 vpsrlq ymm11,ymm3,29 - vpermq ymm13,ymm13,093h + vpermq ymm13,ymm13,093h vpand ymm3,ymm3,ymm15 vpblendd ymm9,ymm12,ymm14,3 - vpermq ymm10,ymm10,093h + vpermq ymm10,ymm10,093h vpblendd ymm12,ymm13,ymm12,3 - vpermq ymm11,ymm11,093h + vpermq ymm11,ymm11,093h vpaddq ymm0,ymm0,ymm9 vpblendd ymm13,ymm10,ymm13,3 vpaddq ymm1,ymm1,ymm12 @@ -1166,15 +1166,15 @@ $L$oop_mul_1024:: vpsrlq ymm13,ymm1,29 vpand ymm1,ymm1,ymm15 vpsrlq ymm10,ymm2,29 - vpermq ymm12,ymm12,093h + vpermq ymm12,ymm12,093h vpand ymm2,ymm2,ymm15 vpsrlq ymm11,ymm3,29 - vpermq ymm13,ymm13,093h + vpermq ymm13,ymm13,093h vpand ymm3,ymm3,ymm15 - vpermq ymm10,ymm10,093h + vpermq ymm10,ymm10,093h vpblendd ymm9,ymm12,ymm14,3 - vpermq ymm11,ymm11,093h + vpermq ymm11,ymm11,093h vpblendd ymm12,ymm13,ymm12,3 vpaddq ymm0,ymm0,ymm9 vpblendd ymm13,ymm10,ymm13,3 @@ -1185,27 +1185,27 @@ $L$oop_mul_1024:: vpaddq ymm3,ymm3,ymm10 vpaddq ymm4,ymm4,ymm11 - vmovdqu YMMWORD PTR[(0-128)+rdi],ymm0 - vmovdqu YMMWORD PTR[(32-128)+rdi],ymm1 - vmovdqu YMMWORD PTR[(64-128)+rdi],ymm2 - vmovdqu YMMWORD PTR[(96-128)+rdi],ymm3 + vmovdqu YMMWORD PTR[(0-128)+rdi],ymm0 + vmovdqu YMMWORD PTR[(32-128)+rdi],ymm1 + vmovdqu YMMWORD PTR[(64-128)+rdi],ymm2 + vmovdqu YMMWORD PTR[(96-128)+rdi],ymm3 vpsrlq ymm12,ymm4,29 vpand ymm4,ymm4,ymm15 vpsrlq ymm13,ymm5,29 vpand ymm5,ymm5,ymm15 vpsrlq ymm10,ymm6,29 - vpermq ymm12,ymm12,093h + vpermq ymm12,ymm12,093h vpand ymm6,ymm6,ymm15 vpsrlq ymm11,ymm7,29 - vpermq ymm13,ymm13,093h + vpermq ymm13,ymm13,093h vpand ymm7,ymm7,ymm15 vpsrlq ymm0,ymm8,29 - vpermq ymm10,ymm10,093h + vpermq ymm10,ymm10,093h vpand ymm8,ymm8,ymm15 - vpermq ymm11,ymm11,093h + vpermq ymm11,ymm11,093h vpblendd ymm9,ymm12,ymm14,3 - vpermq ymm0,ymm0,093h + vpermq ymm0,ymm0,093h vpblendd ymm12,ymm13,ymm12,3 vpaddq ymm4,ymm4,ymm9 vpblendd ymm13,ymm10,ymm13,3 @@ -1221,18 +1221,18 @@ $L$oop_mul_1024:: vpsrlq ymm13,ymm5,29 vpand ymm5,ymm5,ymm15 vpsrlq ymm10,ymm6,29 - vpermq ymm12,ymm12,093h + vpermq ymm12,ymm12,093h vpand ymm6,ymm6,ymm15 vpsrlq ymm11,ymm7,29 - vpermq ymm13,ymm13,093h + vpermq ymm13,ymm13,093h vpand ymm7,ymm7,ymm15 vpsrlq ymm0,ymm8,29 - vpermq ymm10,ymm10,093h + vpermq ymm10,ymm10,093h vpand ymm8,ymm8,ymm15 - vpermq ymm11,ymm11,093h + vpermq ymm11,ymm11,093h vpblendd ymm9,ymm12,ymm14,3 - vpermq ymm0,ymm0,093h + vpermq ymm0,ymm0,093h vpblendd ymm12,ymm13,ymm12,3 vpaddq ymm4,ymm4,ymm9 vpblendd ymm13,ymm10,ymm13,3 @@ -1243,57 +1243,57 @@ $L$oop_mul_1024:: vpaddq ymm7,ymm7,ymm10 vpaddq ymm8,ymm8,ymm11 - vmovdqu YMMWORD PTR[(128-128)+rdi],ymm4 - vmovdqu YMMWORD PTR[(160-128)+rdi],ymm5 - vmovdqu YMMWORD PTR[(192-128)+rdi],ymm6 - vmovdqu YMMWORD PTR[(224-128)+rdi],ymm7 - vmovdqu YMMWORD PTR[(256-128)+rdi],ymm8 + vmovdqu YMMWORD PTR[(128-128)+rdi],ymm4 + vmovdqu YMMWORD PTR[(160-128)+rdi],ymm5 + vmovdqu YMMWORD PTR[(192-128)+rdi],ymm6 + vmovdqu YMMWORD PTR[(224-128)+rdi],ymm7 + vmovdqu YMMWORD PTR[(256-128)+rdi],ymm8 vzeroupper mov rax,rbp -$L$mul_1024_in_tail:: - movaps xmm6,XMMWORD PTR[((-216))+rax] - movaps xmm7,XMMWORD PTR[((-200))+rax] - movaps xmm8,XMMWORD PTR[((-184))+rax] - movaps xmm9,XMMWORD PTR[((-168))+rax] - movaps xmm10,XMMWORD PTR[((-152))+rax] - movaps xmm11,XMMWORD PTR[((-136))+rax] - movaps xmm12,XMMWORD PTR[((-120))+rax] - movaps xmm13,XMMWORD PTR[((-104))+rax] - movaps xmm14,XMMWORD PTR[((-88))+rax] - movaps xmm15,XMMWORD PTR[((-72))+rax] - mov r15,QWORD PTR[((-48))+rax] +$L$mul_1024_in_tail:: + movaps xmm6,XMMWORD PTR[((-216))+rax] + movaps xmm7,XMMWORD PTR[((-200))+rax] + movaps xmm8,XMMWORD PTR[((-184))+rax] + movaps xmm9,XMMWORD PTR[((-168))+rax] + movaps xmm10,XMMWORD PTR[((-152))+rax] + movaps xmm11,XMMWORD PTR[((-136))+rax] + movaps xmm12,XMMWORD PTR[((-120))+rax] + movaps xmm13,XMMWORD PTR[((-104))+rax] + movaps xmm14,XMMWORD PTR[((-88))+rax] + movaps xmm15,XMMWORD PTR[((-72))+rax] + mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] + mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] + mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] + mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$mul_1024_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$mul_1024_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_1024_mul_avx2:: -rsaz_1024_mul_avx2 ENDP -PUBLIC rsaz_1024_red2norm_avx2 +$L$SEH_end_rsaz_1024_mul_avx2:: +rsaz_1024_mul_avx2 ENDP +PUBLIC rsaz_1024_red2norm_avx2 ALIGN 32 -rsaz_1024_red2norm_avx2 PROC PUBLIC +rsaz_1024_red2norm_avx2 PROC PUBLIC sub rdx,-128 xor rax,rax - mov r8,QWORD PTR[((-128))+rdx] - mov r9,QWORD PTR[((-120))+rdx] - mov r10,QWORD PTR[((-112))+rdx] + mov r8,QWORD PTR[((-128))+rdx] + mov r9,QWORD PTR[((-120))+rdx] + mov r10,QWORD PTR[((-112))+rdx] shl r8,0 shl r9,29 mov r11,r10 @@ -1303,10 +1303,10 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r9 add rax,r10 adc r11,0 - mov QWORD PTR[rcx],rax + mov QWORD PTR[rcx],rax mov rax,r11 - mov r8,QWORD PTR[((-104))+rdx] - mov r9,QWORD PTR[((-96))+rdx] + mov r8,QWORD PTR[((-104))+rdx] + mov r9,QWORD PTR[((-96))+rdx] shl r8,23 mov r10,r9 shl r9,52 @@ -1314,10 +1314,10 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r8 add rax,r9 adc r10,0 - mov QWORD PTR[8+rcx],rax + mov QWORD PTR[8+rcx],rax mov rax,r10 - mov r11,QWORD PTR[((-88))+rdx] - mov r8,QWORD PTR[((-80))+rdx] + mov r11,QWORD PTR[((-88))+rdx] + mov r8,QWORD PTR[((-80))+rdx] shl r11,17 mov r9,r8 shl r8,46 @@ -1325,10 +1325,10 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r11 add rax,r8 adc r9,0 - mov QWORD PTR[16+rcx],rax + mov QWORD PTR[16+rcx],rax mov rax,r9 - mov r10,QWORD PTR[((-72))+rdx] - mov r11,QWORD PTR[((-64))+rdx] + mov r10,QWORD PTR[((-72))+rdx] + mov r11,QWORD PTR[((-64))+rdx] shl r10,11 mov r8,r11 shl r11,40 @@ -1336,11 +1336,11 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r10 add rax,r11 adc r8,0 - mov QWORD PTR[24+rcx],rax + mov QWORD PTR[24+rcx],rax mov rax,r8 - mov r9,QWORD PTR[((-56))+rdx] - mov r10,QWORD PTR[((-48))+rdx] - mov r11,QWORD PTR[((-40))+rdx] + mov r9,QWORD PTR[((-56))+rdx] + mov r10,QWORD PTR[((-48))+rdx] + mov r11,QWORD PTR[((-40))+rdx] shl r9,5 shl r10,34 mov r8,r11 @@ -1350,10 +1350,10 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r10 add rax,r11 adc r8,0 - mov QWORD PTR[32+rcx],rax + mov QWORD PTR[32+rcx],rax mov rax,r8 - mov r9,QWORD PTR[((-32))+rdx] - mov r10,QWORD PTR[((-24))+rdx] + mov r9,QWORD PTR[((-32))+rdx] + mov r10,QWORD PTR[((-24))+rdx] shl r9,28 mov r11,r10 shl r10,57 @@ -1361,10 +1361,10 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r9 add rax,r10 adc r11,0 - mov QWORD PTR[40+rcx],rax + mov QWORD PTR[40+rcx],rax mov rax,r11 - mov r8,QWORD PTR[((-16))+rdx] - mov r9,QWORD PTR[((-8))+rdx] + mov r8,QWORD PTR[((-16))+rdx] + mov r9,QWORD PTR[((-8))+rdx] shl r8,22 mov r10,r9 shl r9,51 @@ -1372,10 +1372,10 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r8 add rax,r9 adc r10,0 - mov QWORD PTR[48+rcx],rax + mov QWORD PTR[48+rcx],rax mov rax,r10 - mov r11,QWORD PTR[rdx] - mov r8,QWORD PTR[8+rdx] + mov r11,QWORD PTR[rdx] + mov r8,QWORD PTR[8+rdx] shl r11,16 mov r9,r8 shl r8,45 @@ -1383,10 +1383,10 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r11 add rax,r8 adc r9,0 - mov QWORD PTR[56+rcx],rax + mov QWORD PTR[56+rcx],rax mov rax,r9 - mov r10,QWORD PTR[16+rdx] - mov r11,QWORD PTR[24+rdx] + mov r10,QWORD PTR[16+rdx] + mov r11,QWORD PTR[24+rdx] shl r10,10 mov r8,r11 shl r11,39 @@ -1394,11 +1394,11 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r10 add rax,r11 adc r8,0 - mov QWORD PTR[64+rcx],rax + mov QWORD PTR[64+rcx],rax mov rax,r8 - mov r9,QWORD PTR[32+rdx] - mov r10,QWORD PTR[40+rdx] - mov r11,QWORD PTR[48+rdx] + mov r9,QWORD PTR[32+rdx] + mov r10,QWORD PTR[40+rdx] + mov r11,QWORD PTR[48+rdx] shl r9,4 shl r10,33 mov r8,r11 @@ -1408,10 +1408,10 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r10 add rax,r11 adc r8,0 - mov QWORD PTR[72+rcx],rax + mov QWORD PTR[72+rcx],rax mov rax,r8 - mov r9,QWORD PTR[56+rdx] - mov r10,QWORD PTR[64+rdx] + mov r9,QWORD PTR[56+rdx] + mov r10,QWORD PTR[64+rdx] shl r9,27 mov r11,r10 shl r10,56 @@ -1419,10 +1419,10 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r9 add rax,r10 adc r11,0 - mov QWORD PTR[80+rcx],rax + mov QWORD PTR[80+rcx],rax mov rax,r11 - mov r8,QWORD PTR[72+rdx] - mov r9,QWORD PTR[80+rdx] + mov r8,QWORD PTR[72+rdx] + mov r9,QWORD PTR[80+rdx] shl r8,21 mov r10,r9 shl r9,50 @@ -1430,10 +1430,10 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r8 add rax,r9 adc r10,0 - mov QWORD PTR[88+rcx],rax + mov QWORD PTR[88+rcx],rax mov rax,r10 - mov r11,QWORD PTR[88+rdx] - mov r8,QWORD PTR[96+rdx] + mov r11,QWORD PTR[88+rdx] + mov r8,QWORD PTR[96+rdx] shl r11,15 mov r9,r8 shl r8,44 @@ -1441,10 +1441,10 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r11 add rax,r8 adc r9,0 - mov QWORD PTR[96+rcx],rax + mov QWORD PTR[96+rcx],rax mov rax,r9 - mov r10,QWORD PTR[104+rdx] - mov r11,QWORD PTR[112+rdx] + mov r10,QWORD PTR[104+rdx] + mov r11,QWORD PTR[112+rdx] shl r10,9 mov r8,r11 shl r11,38 @@ -1452,11 +1452,11 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r10 add rax,r11 adc r8,0 - mov QWORD PTR[104+rcx],rax + mov QWORD PTR[104+rcx],rax mov rax,r8 - mov r9,QWORD PTR[120+rdx] - mov r10,QWORD PTR[128+rdx] - mov r11,QWORD PTR[136+rdx] + mov r9,QWORD PTR[120+rdx] + mov r10,QWORD PTR[128+rdx] + mov r11,QWORD PTR[136+rdx] shl r9,3 shl r10,32 mov r8,r11 @@ -1466,10 +1466,10 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r10 add rax,r11 adc r8,0 - mov QWORD PTR[112+rcx],rax + mov QWORD PTR[112+rcx],rax mov rax,r8 - mov r9,QWORD PTR[144+rdx] - mov r10,QWORD PTR[152+rdx] + mov r9,QWORD PTR[144+rdx] + mov r10,QWORD PTR[152+rdx] shl r9,26 mov r11,r10 shl r10,55 @@ -1477,257 +1477,257 @@ rsaz_1024_red2norm_avx2 PROC PUBLIC add rax,r9 add rax,r10 adc r11,0 - mov QWORD PTR[120+rcx],rax + mov QWORD PTR[120+rcx],rax mov rax,r11 DB 0F3h,0C3h ;repret -rsaz_1024_red2norm_avx2 ENDP +rsaz_1024_red2norm_avx2 ENDP -PUBLIC rsaz_1024_norm2red_avx2 +PUBLIC rsaz_1024_norm2red_avx2 ALIGN 32 -rsaz_1024_norm2red_avx2 PROC PUBLIC +rsaz_1024_norm2red_avx2 PROC PUBLIC sub rcx,-128 - mov r8,QWORD PTR[rdx] - mov eax,01fffffffh - mov r9,QWORD PTR[8+rdx] + mov r8,QWORD PTR[rdx] + mov eax,01fffffffh + mov r9,QWORD PTR[8+rdx] mov r11,r8 shr r11,0 and r11,rax - mov QWORD PTR[((-128))+rcx],r11 + mov QWORD PTR[((-128))+rcx],r11 mov r10,r8 shr r10,29 and r10,rax - mov QWORD PTR[((-120))+rcx],r10 + mov QWORD PTR[((-120))+rcx],r10 shrd r8,r9,58 and r8,rax - mov QWORD PTR[((-112))+rcx],r8 - mov r10,QWORD PTR[16+rdx] + mov QWORD PTR[((-112))+rcx],r8 + mov r10,QWORD PTR[16+rdx] mov r8,r9 shr r8,23 and r8,rax - mov QWORD PTR[((-104))+rcx],r8 + mov QWORD PTR[((-104))+rcx],r8 shrd r9,r10,52 and r9,rax - mov QWORD PTR[((-96))+rcx],r9 - mov r11,QWORD PTR[24+rdx] + mov QWORD PTR[((-96))+rcx],r9 + mov r11,QWORD PTR[24+rdx] mov r9,r10 shr r9,17 and r9,rax - mov QWORD PTR[((-88))+rcx],r9 + mov QWORD PTR[((-88))+rcx],r9 shrd r10,r11,46 and r10,rax - mov QWORD PTR[((-80))+rcx],r10 - mov r8,QWORD PTR[32+rdx] + mov QWORD PTR[((-80))+rcx],r10 + mov r8,QWORD PTR[32+rdx] mov r10,r11 shr r10,11 and r10,rax - mov QWORD PTR[((-72))+rcx],r10 + mov QWORD PTR[((-72))+rcx],r10 shrd r11,r8,40 and r11,rax - mov QWORD PTR[((-64))+rcx],r11 - mov r9,QWORD PTR[40+rdx] + mov QWORD PTR[((-64))+rcx],r11 + mov r9,QWORD PTR[40+rdx] mov r11,r8 shr r11,5 and r11,rax - mov QWORD PTR[((-56))+rcx],r11 + mov QWORD PTR[((-56))+rcx],r11 mov r10,r8 shr r10,34 and r10,rax - mov QWORD PTR[((-48))+rcx],r10 + mov QWORD PTR[((-48))+rcx],r10 shrd r8,r9,63 and r8,rax - mov QWORD PTR[((-40))+rcx],r8 - mov r10,QWORD PTR[48+rdx] + mov QWORD PTR[((-40))+rcx],r8 + mov r10,QWORD PTR[48+rdx] mov r8,r9 shr r8,28 and r8,rax - mov QWORD PTR[((-32))+rcx],r8 + mov QWORD PTR[((-32))+rcx],r8 shrd r9,r10,57 and r9,rax - mov QWORD PTR[((-24))+rcx],r9 - mov r11,QWORD PTR[56+rdx] + mov QWORD PTR[((-24))+rcx],r9 + mov r11,QWORD PTR[56+rdx] mov r9,r10 shr r9,22 and r9,rax - mov QWORD PTR[((-16))+rcx],r9 + mov QWORD PTR[((-16))+rcx],r9 shrd r10,r11,51 and r10,rax - mov QWORD PTR[((-8))+rcx],r10 - mov r8,QWORD PTR[64+rdx] + mov QWORD PTR[((-8))+rcx],r10 + mov r8,QWORD PTR[64+rdx] mov r10,r11 shr r10,16 and r10,rax - mov QWORD PTR[rcx],r10 + mov QWORD PTR[rcx],r10 shrd r11,r8,45 and r11,rax - mov QWORD PTR[8+rcx],r11 - mov r9,QWORD PTR[72+rdx] + mov QWORD PTR[8+rcx],r11 + mov r9,QWORD PTR[72+rdx] mov r11,r8 shr r11,10 and r11,rax - mov QWORD PTR[16+rcx],r11 + mov QWORD PTR[16+rcx],r11 shrd r8,r9,39 and r8,rax - mov QWORD PTR[24+rcx],r8 - mov r10,QWORD PTR[80+rdx] + mov QWORD PTR[24+rcx],r8 + mov r10,QWORD PTR[80+rdx] mov r8,r9 shr r8,4 and r8,rax - mov QWORD PTR[32+rcx],r8 + mov QWORD PTR[32+rcx],r8 mov r11,r9 shr r11,33 and r11,rax - mov QWORD PTR[40+rcx],r11 + mov QWORD PTR[40+rcx],r11 shrd r9,r10,62 and r9,rax - mov QWORD PTR[48+rcx],r9 - mov r11,QWORD PTR[88+rdx] + mov QWORD PTR[48+rcx],r9 + mov r11,QWORD PTR[88+rdx] mov r9,r10 shr r9,27 and r9,rax - mov QWORD PTR[56+rcx],r9 + mov QWORD PTR[56+rcx],r9 shrd r10,r11,56 and r10,rax - mov QWORD PTR[64+rcx],r10 - mov r8,QWORD PTR[96+rdx] + mov QWORD PTR[64+rcx],r10 + mov r8,QWORD PTR[96+rdx] mov r10,r11 shr r10,21 and r10,rax - mov QWORD PTR[72+rcx],r10 + mov QWORD PTR[72+rcx],r10 shrd r11,r8,50 and r11,rax - mov QWORD PTR[80+rcx],r11 - mov r9,QWORD PTR[104+rdx] + mov QWORD PTR[80+rcx],r11 + mov r9,QWORD PTR[104+rdx] mov r11,r8 shr r11,15 and r11,rax - mov QWORD PTR[88+rcx],r11 + mov QWORD PTR[88+rcx],r11 shrd r8,r9,44 and r8,rax - mov QWORD PTR[96+rcx],r8 - mov r10,QWORD PTR[112+rdx] + mov QWORD PTR[96+rcx],r8 + mov r10,QWORD PTR[112+rdx] mov r8,r9 shr r8,9 and r8,rax - mov QWORD PTR[104+rcx],r8 + mov QWORD PTR[104+rcx],r8 shrd r9,r10,38 and r9,rax - mov QWORD PTR[112+rcx],r9 - mov r11,QWORD PTR[120+rdx] + mov QWORD PTR[112+rcx],r9 + mov r11,QWORD PTR[120+rdx] mov r9,r10 shr r9,3 and r9,rax - mov QWORD PTR[120+rcx],r9 + mov QWORD PTR[120+rcx],r9 mov r8,r10 shr r8,32 and r8,rax - mov QWORD PTR[128+rcx],r8 + mov QWORD PTR[128+rcx],r8 shrd r10,r11,61 and r10,rax - mov QWORD PTR[136+rcx],r10 + mov QWORD PTR[136+rcx],r10 xor r8,r8 mov r10,r11 shr r10,26 and r10,rax - mov QWORD PTR[144+rcx],r10 + mov QWORD PTR[144+rcx],r10 shrd r11,r8,55 and r11,rax - mov QWORD PTR[152+rcx],r11 - mov QWORD PTR[160+rcx],r8 - mov QWORD PTR[168+rcx],r8 - mov QWORD PTR[176+rcx],r8 - mov QWORD PTR[184+rcx],r8 + mov QWORD PTR[152+rcx],r11 + mov QWORD PTR[160+rcx],r8 + mov QWORD PTR[168+rcx],r8 + mov QWORD PTR[176+rcx],r8 + mov QWORD PTR[184+rcx],r8 DB 0F3h,0C3h ;repret -rsaz_1024_norm2red_avx2 ENDP -PUBLIC rsaz_1024_scatter5_avx2 +rsaz_1024_norm2red_avx2 ENDP +PUBLIC rsaz_1024_scatter5_avx2 ALIGN 32 -rsaz_1024_scatter5_avx2 PROC PUBLIC +rsaz_1024_scatter5_avx2 PROC PUBLIC vzeroupper - vmovdqu ymm5,YMMWORD PTR[$L$scatter_permd] + vmovdqu ymm5,YMMWORD PTR[$L$scatter_permd] shl r8d,4 - lea rcx,QWORD PTR[r8*1+rcx] + lea rcx,QWORD PTR[r8*1+rcx] mov eax,9 - jmp $L$oop_scatter_1024 + jmp $L$oop_scatter_1024 ALIGN 32 -$L$oop_scatter_1024:: - vmovdqu ymm0,YMMWORD PTR[rdx] - lea rdx,QWORD PTR[32+rdx] +$L$oop_scatter_1024:: + vmovdqu ymm0,YMMWORD PTR[rdx] + lea rdx,QWORD PTR[32+rdx] vpermd ymm0,ymm5,ymm0 - vmovdqu XMMWORD PTR[rcx],xmm0 - lea rcx,QWORD PTR[512+rcx] + vmovdqu XMMWORD PTR[rcx],xmm0 + lea rcx,QWORD PTR[512+rcx] dec eax - jnz $L$oop_scatter_1024 + jnz $L$oop_scatter_1024 vzeroupper DB 0F3h,0C3h ;repret -rsaz_1024_scatter5_avx2 ENDP +rsaz_1024_scatter5_avx2 ENDP -PUBLIC rsaz_1024_gather5_avx2 +PUBLIC rsaz_1024_gather5_avx2 ALIGN 32 -rsaz_1024_gather5_avx2 PROC PUBLIC +rsaz_1024_gather5_avx2 PROC PUBLIC vzeroupper mov r11,rsp - lea rax,QWORD PTR[((-136))+rsp] -$L$SEH_begin_rsaz_1024_gather5:: - -DB 048h,08dh,060h,0e0h -DB 0c5h,0f8h,029h,070h,0e0h -DB 0c5h,0f8h,029h,078h,0f0h -DB 0c5h,078h,029h,040h,000h -DB 0c5h,078h,029h,048h,010h -DB 0c5h,078h,029h,050h,020h -DB 0c5h,078h,029h,058h,030h -DB 0c5h,078h,029h,060h,040h -DB 0c5h,078h,029h,068h,050h -DB 0c5h,078h,029h,070h,060h -DB 0c5h,078h,029h,078h,070h - lea rsp,QWORD PTR[((-256))+rsp] + lea rax,QWORD PTR[((-136))+rsp] +$L$SEH_begin_rsaz_1024_gather5:: + +DB 048h,08dh,060h,0e0h +DB 0c5h,0f8h,029h,070h,0e0h +DB 0c5h,0f8h,029h,078h,0f0h +DB 0c5h,078h,029h,040h,000h +DB 0c5h,078h,029h,048h,010h +DB 0c5h,078h,029h,050h,020h +DB 0c5h,078h,029h,058h,030h +DB 0c5h,078h,029h,060h,040h +DB 0c5h,078h,029h,068h,050h +DB 0c5h,078h,029h,070h,060h +DB 0c5h,078h,029h,078h,070h + lea rsp,QWORD PTR[((-256))+rsp] and rsp,-32 - lea r10,QWORD PTR[$L$inc] - lea rax,QWORD PTR[((-128))+rsp] + lea r10,QWORD PTR[$L$inc] + lea rax,QWORD PTR[((-128))+rsp] vmovd xmm4,r8d - vmovdqa ymm0,YMMWORD PTR[r10] - vmovdqa ymm1,YMMWORD PTR[32+r10] - vmovdqa ymm5,YMMWORD PTR[64+r10] + vmovdqa ymm0,YMMWORD PTR[r10] + vmovdqa ymm1,YMMWORD PTR[32+r10] + vmovdqa ymm5,YMMWORD PTR[64+r10] vpbroadcastd ymm4,xmm4 vpaddd ymm2,ymm0,ymm5 vpcmpeqd ymm0,ymm0,ymm4 vpaddd ymm3,ymm1,ymm5 vpcmpeqd ymm1,ymm1,ymm4 - vmovdqa YMMWORD PTR[(0+128)+rax],ymm0 + vmovdqa YMMWORD PTR[(0+128)+rax],ymm0 vpaddd ymm0,ymm2,ymm5 vpcmpeqd ymm2,ymm2,ymm4 - vmovdqa YMMWORD PTR[(32+128)+rax],ymm1 + vmovdqa YMMWORD PTR[(32+128)+rax],ymm1 vpaddd ymm1,ymm3,ymm5 vpcmpeqd ymm3,ymm3,ymm4 - vmovdqa YMMWORD PTR[(64+128)+rax],ymm2 + vmovdqa YMMWORD PTR[(64+128)+rax],ymm2 vpaddd ymm2,ymm0,ymm5 vpcmpeqd ymm0,ymm0,ymm4 - vmovdqa YMMWORD PTR[(96+128)+rax],ymm3 + vmovdqa YMMWORD PTR[(96+128)+rax],ymm3 vpaddd ymm3,ymm1,ymm5 vpcmpeqd ymm1,ymm1,ymm4 - vmovdqa YMMWORD PTR[(128+128)+rax],ymm0 + vmovdqa YMMWORD PTR[(128+128)+rax],ymm0 vpaddd ymm8,ymm2,ymm5 vpcmpeqd ymm2,ymm2,ymm4 - vmovdqa YMMWORD PTR[(160+128)+rax],ymm1 + vmovdqa YMMWORD PTR[(160+128)+rax],ymm1 vpaddd ymm9,ymm3,ymm5 vpcmpeqd ymm3,ymm3,ymm4 - vmovdqa YMMWORD PTR[(192+128)+rax],ymm2 + vmovdqa YMMWORD PTR[(192+128)+rax],ymm2 vpaddd ymm10,ymm8,ymm5 vpcmpeqd ymm8,ymm8,ymm4 - vmovdqa YMMWORD PTR[(224+128)+rax],ymm3 + vmovdqa YMMWORD PTR[(224+128)+rax],ymm3 vpaddd ymm11,ymm9,ymm5 vpcmpeqd ymm9,ymm9,ymm4 vpaddd ymm12,ymm10,ymm5 @@ -1741,46 +1741,46 @@ DB 0c5h,078h,029h,078h,070h vpcmpeqd ymm14,ymm14,ymm4 vpcmpeqd ymm15,ymm15,ymm4 - vmovdqa ymm7,YMMWORD PTR[((-32))+r10] - lea rdx,QWORD PTR[128+rdx] + vmovdqa ymm7,YMMWORD PTR[((-32))+r10] + lea rdx,QWORD PTR[128+rdx] mov r8d,9 -$L$oop_gather_1024:: - vmovdqa ymm0,YMMWORD PTR[((0-128))+rdx] - vmovdqa ymm1,YMMWORD PTR[((32-128))+rdx] - vmovdqa ymm2,YMMWORD PTR[((64-128))+rdx] - vmovdqa ymm3,YMMWORD PTR[((96-128))+rdx] - vpand ymm0,ymm0,YMMWORD PTR[((0+128))+rax] - vpand ymm1,ymm1,YMMWORD PTR[((32+128))+rax] - vpand ymm2,ymm2,YMMWORD PTR[((64+128))+rax] +$L$oop_gather_1024:: + vmovdqa ymm0,YMMWORD PTR[((0-128))+rdx] + vmovdqa ymm1,YMMWORD PTR[((32-128))+rdx] + vmovdqa ymm2,YMMWORD PTR[((64-128))+rdx] + vmovdqa ymm3,YMMWORD PTR[((96-128))+rdx] + vpand ymm0,ymm0,YMMWORD PTR[((0+128))+rax] + vpand ymm1,ymm1,YMMWORD PTR[((32+128))+rax] + vpand ymm2,ymm2,YMMWORD PTR[((64+128))+rax] vpor ymm4,ymm1,ymm0 - vpand ymm3,ymm3,YMMWORD PTR[((96+128))+rax] - vmovdqa ymm0,YMMWORD PTR[((128-128))+rdx] - vmovdqa ymm1,YMMWORD PTR[((160-128))+rdx] + vpand ymm3,ymm3,YMMWORD PTR[((96+128))+rax] + vmovdqa ymm0,YMMWORD PTR[((128-128))+rdx] + vmovdqa ymm1,YMMWORD PTR[((160-128))+rdx] vpor ymm5,ymm3,ymm2 - vmovdqa ymm2,YMMWORD PTR[((192-128))+rdx] - vmovdqa ymm3,YMMWORD PTR[((224-128))+rdx] - vpand ymm0,ymm0,YMMWORD PTR[((128+128))+rax] - vpand ymm1,ymm1,YMMWORD PTR[((160+128))+rax] - vpand ymm2,ymm2,YMMWORD PTR[((192+128))+rax] + vmovdqa ymm2,YMMWORD PTR[((192-128))+rdx] + vmovdqa ymm3,YMMWORD PTR[((224-128))+rdx] + vpand ymm0,ymm0,YMMWORD PTR[((128+128))+rax] + vpand ymm1,ymm1,YMMWORD PTR[((160+128))+rax] + vpand ymm2,ymm2,YMMWORD PTR[((192+128))+rax] vpor ymm4,ymm4,ymm0 - vpand ymm3,ymm3,YMMWORD PTR[((224+128))+rax] - vpand ymm0,ymm8,YMMWORD PTR[((256-128))+rdx] + vpand ymm3,ymm3,YMMWORD PTR[((224+128))+rax] + vpand ymm0,ymm8,YMMWORD PTR[((256-128))+rdx] vpor ymm5,ymm5,ymm1 - vpand ymm1,ymm9,YMMWORD PTR[((288-128))+rdx] + vpand ymm1,ymm9,YMMWORD PTR[((288-128))+rdx] vpor ymm4,ymm4,ymm2 - vpand ymm2,ymm10,YMMWORD PTR[((320-128))+rdx] + vpand ymm2,ymm10,YMMWORD PTR[((320-128))+rdx] vpor ymm5,ymm5,ymm3 - vpand ymm3,ymm11,YMMWORD PTR[((352-128))+rdx] + vpand ymm3,ymm11,YMMWORD PTR[((352-128))+rdx] vpor ymm4,ymm4,ymm0 - vpand ymm0,ymm12,YMMWORD PTR[((384-128))+rdx] + vpand ymm0,ymm12,YMMWORD PTR[((384-128))+rdx] vpor ymm5,ymm5,ymm1 - vpand ymm1,ymm13,YMMWORD PTR[((416-128))+rdx] + vpand ymm1,ymm13,YMMWORD PTR[((416-128))+rdx] vpor ymm4,ymm4,ymm2 - vpand ymm2,ymm14,YMMWORD PTR[((448-128))+rdx] + vpand ymm2,ymm14,YMMWORD PTR[((448-128))+rdx] vpor ymm5,ymm5,ymm3 - vpand ymm3,ymm15,YMMWORD PTR[((480-128))+rdx] - lea rdx,QWORD PTR[512+rdx] + vpand ymm3,ymm15,YMMWORD PTR[((480-128))+rdx] + lea rdx,QWORD PTR[512+rdx] vpor ymm4,ymm4,ymm0 vpor ymm5,ymm5,ymm1 vpor ymm4,ymm4,ymm2 @@ -1790,36 +1790,36 @@ $L$oop_gather_1024:: vextracti128 xmm5,ymm4,1 vpor xmm5,xmm5,xmm4 vpermd ymm5,ymm7,ymm5 - vmovdqu YMMWORD PTR[rcx],ymm5 - lea rcx,QWORD PTR[32+rcx] + vmovdqu YMMWORD PTR[rcx],ymm5 + lea rcx,QWORD PTR[32+rcx] dec r8d - jnz $L$oop_gather_1024 + jnz $L$oop_gather_1024 vpxor ymm0,ymm0,ymm0 - vmovdqu YMMWORD PTR[rcx],ymm0 + vmovdqu YMMWORD PTR[rcx],ymm0 vzeroupper - movaps xmm6,XMMWORD PTR[((-168))+r11] - movaps xmm7,XMMWORD PTR[((-152))+r11] - movaps xmm8,XMMWORD PTR[((-136))+r11] - movaps xmm9,XMMWORD PTR[((-120))+r11] - movaps xmm10,XMMWORD PTR[((-104))+r11] - movaps xmm11,XMMWORD PTR[((-88))+r11] - movaps xmm12,XMMWORD PTR[((-72))+r11] - movaps xmm13,XMMWORD PTR[((-56))+r11] - movaps xmm14,XMMWORD PTR[((-40))+r11] - movaps xmm15,XMMWORD PTR[((-24))+r11] - lea rsp,QWORD PTR[r11] + movaps xmm6,XMMWORD PTR[((-168))+r11] + movaps xmm7,XMMWORD PTR[((-152))+r11] + movaps xmm8,XMMWORD PTR[((-136))+r11] + movaps xmm9,XMMWORD PTR[((-120))+r11] + movaps xmm10,XMMWORD PTR[((-104))+r11] + movaps xmm11,XMMWORD PTR[((-88))+r11] + movaps xmm12,XMMWORD PTR[((-72))+r11] + movaps xmm13,XMMWORD PTR[((-56))+r11] + movaps xmm14,XMMWORD PTR[((-40))+r11] + movaps xmm15,XMMWORD PTR[((-24))+r11] + lea rsp,QWORD PTR[r11] DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_1024_gather5:: -rsaz_1024_gather5_avx2 ENDP -EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC rsaz_avx2_eligible +$L$SEH_end_rsaz_1024_gather5:: +rsaz_1024_gather5_avx2 ENDP +EXTERN OPENSSL_ia32cap_P:NEAR +PUBLIC rsaz_avx2_eligible ALIGN 32 -rsaz_avx2_eligible PROC PUBLIC - mov eax,DWORD PTR[((OPENSSL_ia32cap_P+8))] +rsaz_avx2_eligible PROC PUBLIC + mov eax,DWORD PTR[((OPENSSL_ia32cap_P+8))] mov ecx,524544 mov edx,0 and ecx,eax @@ -1828,24 +1828,24 @@ rsaz_avx2_eligible PROC PUBLIC and eax,32 shr eax,5 DB 0F3h,0C3h ;repret -rsaz_avx2_eligible ENDP +rsaz_avx2_eligible ENDP ALIGN 64 -$L$and_mask:: - DQ 01fffffffh,01fffffffh,01fffffffh,01fffffffh -$L$scatter_permd:: +$L$and_mask:: + DQ 01fffffffh,01fffffffh,01fffffffh,01fffffffh +$L$scatter_permd:: DD 0,2,4,6,7,7,7,7 -$L$gather_permd:: +$L$gather_permd:: DD 0,7,1,7,2,7,3,7 -$L$inc:: +$L$inc:: DD 0,0,0,0,1,1,1,1 DD 2,2,2,2,3,3,3,3 DD 4,4,4,4,4,4,4,4 ALIGN 64 -EXTERN __imp_RtlVirtualUnwind:NEAR +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -rsaz_se_handler PROC PRIVATE +rsaz_se_handler PROC PRIVATE push rsi push rdi push rbx @@ -1857,72 +1857,72 @@ rsaz_se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail + jae $L$common_seh_tail - mov rbp,QWORD PTR[160+r8] + mov rbp,QWORD PTR[160+r8] - mov r10d,DWORD PTR[8+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[8+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 cmovc rax,rbp - mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] - mov QWORD PTR[240+r8],r15 - mov QWORD PTR[232+r8],r14 - mov QWORD PTR[224+r8],r13 - mov QWORD PTR[216+r8],r12 - mov QWORD PTR[160+r8],rbp - mov QWORD PTR[144+r8],rbx - - lea rsi,QWORD PTR[((-216))+rax] - lea rdi,QWORD PTR[512+r8] + mov r15,QWORD PTR[((-48))+rax] + mov r14,QWORD PTR[((-40))+rax] + mov r13,QWORD PTR[((-32))+rax] + mov r12,QWORD PTR[((-24))+rax] + mov rbp,QWORD PTR[((-16))+rax] + mov rbx,QWORD PTR[((-8))+rax] + mov QWORD PTR[240+r8],r15 + mov QWORD PTR[232+r8],r14 + mov QWORD PTR[224+r8],r13 + mov QWORD PTR[216+r8],r12 + mov QWORD PTR[160+r8],rbp + mov QWORD PTR[144+r8],rbx + + lea rsi,QWORD PTR[((-216))+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch + DD 0a548f3fch -$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 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 - mov rdi,QWORD PTR[40+r9] + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -1936,49 +1936,49 @@ $L$common_seh_tail:: pop rdi pop rsi DB 0F3h,0C3h ;repret -rsaz_se_handler ENDP +rsaz_se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_rsaz_1024_sqr_avx2 - DD imagerel $L$SEH_end_rsaz_1024_sqr_avx2 - DD imagerel $L$SEH_info_rsaz_1024_sqr_avx2 - - DD imagerel $L$SEH_begin_rsaz_1024_mul_avx2 - DD imagerel $L$SEH_end_rsaz_1024_mul_avx2 - DD imagerel $L$SEH_info_rsaz_1024_mul_avx2 - - DD imagerel $L$SEH_begin_rsaz_1024_gather5 - DD imagerel $L$SEH_end_rsaz_1024_gather5 - DD imagerel $L$SEH_info_rsaz_1024_gather5 -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + DD imagerel $L$SEH_begin_rsaz_1024_sqr_avx2 + DD imagerel $L$SEH_end_rsaz_1024_sqr_avx2 + DD imagerel $L$SEH_info_rsaz_1024_sqr_avx2 + + DD imagerel $L$SEH_begin_rsaz_1024_mul_avx2 + DD imagerel $L$SEH_end_rsaz_1024_mul_avx2 + DD imagerel $L$SEH_info_rsaz_1024_mul_avx2 + + DD imagerel $L$SEH_begin_rsaz_1024_gather5 + DD imagerel $L$SEH_end_rsaz_1024_gather5 + DD imagerel $L$SEH_info_rsaz_1024_gather5 +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_rsaz_1024_sqr_avx2:: +$L$SEH_info_rsaz_1024_sqr_avx2:: DB 9,0,0,0 - DD imagerel rsaz_se_handler - DD imagerel $L$sqr_1024_body,imagerel $L$sqr_1024_epilogue,imagerel $L$sqr_1024_in_tail + DD imagerel rsaz_se_handler + DD imagerel $L$sqr_1024_body,imagerel $L$sqr_1024_epilogue,imagerel $L$sqr_1024_in_tail DD 0 -$L$SEH_info_rsaz_1024_mul_avx2:: +$L$SEH_info_rsaz_1024_mul_avx2:: DB 9,0,0,0 - DD imagerel rsaz_se_handler - DD imagerel $L$mul_1024_body,imagerel $L$mul_1024_epilogue,imagerel $L$mul_1024_in_tail + DD imagerel rsaz_se_handler + DD imagerel $L$mul_1024_body,imagerel $L$mul_1024_epilogue,imagerel $L$mul_1024_in_tail DD 0 -$L$SEH_info_rsaz_1024_gather5:: -DB 001h,036h,017h,00bh -DB 036h,0f8h,009h,000h -DB 031h,0e8h,008h,000h -DB 02ch,0d8h,007h,000h -DB 027h,0c8h,006h,000h -DB 022h,0b8h,005h,000h -DB 01dh,0a8h,004h,000h -DB 018h,098h,003h,000h -DB 013h,088h,002h,000h -DB 00eh,078h,001h,000h -DB 009h,068h,000h,000h -DB 004h,001h,015h,000h -DB 000h,0b3h,000h,000h - -.xdata ENDS -END +$L$SEH_info_rsaz_1024_gather5:: +DB 001h,036h,017h,00bh +DB 036h,0f8h,009h,000h +DB 031h,0e8h,008h,000h +DB 02ch,0d8h,007h,000h +DB 027h,0c8h,006h,000h +DB 022h,0b8h,005h,000h +DB 01dh,0a8h,004h,000h +DB 018h,098h,003h,000h +DB 013h,088h,002h,000h +DB 00eh,078h,001h,000h +DB 009h,068h,000h,000h +DB 004h,001h,015h,000h +DB 000h,0b3h,000h,000h + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/bn/rsaz-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/bn/rsaz-x86_64.masm index 44dd3af872..9dc8c8e1b1 100644 --- a/contrib/libs/openssl/asm/windows/crypto/bn/rsaz-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/bn/rsaz-x86_64.masm @@ -1,21 +1,21 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR +EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC rsaz_512_sqr +PUBLIC rsaz_512_sqr ALIGN 32 -rsaz_512_sqr PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +rsaz_512_sqr PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_rsaz_512_sqr:: +$L$SEH_begin_rsaz_512_sqr:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] + mov r8,QWORD PTR[40+rsp] @@ -34,217 +34,217 @@ $L$SEH_begin_rsaz_512_sqr:: sub rsp,128+24 -$L$sqr_body:: -DB 102,72,15,110,202 - mov rdx,QWORD PTR[rsi] - mov rax,QWORD PTR[8+rsi] - mov QWORD PTR[128+rsp],rcx - mov r11d,080100h - and r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] - cmp r11d,080100h - je $L$oop_sqrx - jmp $L$oop_sqr +$L$sqr_body:: +DB 102,72,15,110,202 + mov rdx,QWORD PTR[rsi] + mov rax,QWORD PTR[8+rsi] + mov QWORD PTR[128+rsp],rcx + mov r11d,080100h + and r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] + cmp r11d,080100h + je $L$oop_sqrx + jmp $L$oop_sqr ALIGN 32 -$L$oop_sqr:: - mov DWORD PTR[((128+8))+rsp],r8d +$L$oop_sqr:: + mov DWORD PTR[((128+8))+rsp],r8d mov rbx,rdx - mov rbp,rax + mov rbp,rax mul rdx mov r8,rax - mov rax,QWORD PTR[16+rsi] + mov rax,QWORD PTR[16+rsi] mov r9,rdx mul rbx add r9,rax - mov rax,QWORD PTR[24+rsi] + mov rax,QWORD PTR[24+rsi] mov r10,rdx adc r10,0 mul rbx add r10,rax - mov rax,QWORD PTR[32+rsi] + mov rax,QWORD PTR[32+rsi] mov r11,rdx adc r11,0 mul rbx add r11,rax - mov rax,QWORD PTR[40+rsi] + mov rax,QWORD PTR[40+rsi] mov r12,rdx adc r12,0 mul rbx add r12,rax - mov rax,QWORD PTR[48+rsi] + mov rax,QWORD PTR[48+rsi] mov r13,rdx adc r13,0 mul rbx add r13,rax - mov rax,QWORD PTR[56+rsi] + mov rax,QWORD PTR[56+rsi] mov r14,rdx adc r14,0 mul rbx add r14,rax mov rax,rbx - adc rdx,0 + adc rdx,0 - xor rcx,rcx + xor rcx,rcx add r8,r8 - mov r15,rdx - adc rcx,0 + mov r15,rdx + adc rcx,0 mul rax - add rdx,r8 - adc rcx,0 + add rdx,r8 + adc rcx,0 - mov QWORD PTR[rsp],rax - mov QWORD PTR[8+rsp],rdx + mov QWORD PTR[rsp],rax + mov QWORD PTR[8+rsp],rdx - mov rax,QWORD PTR[16+rsi] - mul rbp + mov rax,QWORD PTR[16+rsi] + mul rbp add r10,rax - mov rax,QWORD PTR[24+rsi] + mov rax,QWORD PTR[24+rsi] mov rbx,rdx adc rbx,0 - mul rbp + mul rbp add r11,rax - mov rax,QWORD PTR[32+rsi] + mov rax,QWORD PTR[32+rsi] adc rdx,0 add r11,rbx mov rbx,rdx adc rbx,0 - mul rbp + mul rbp add r12,rax - mov rax,QWORD PTR[40+rsi] + mov rax,QWORD PTR[40+rsi] adc rdx,0 add r12,rbx mov rbx,rdx adc rbx,0 - mul rbp + mul rbp add r13,rax - mov rax,QWORD PTR[48+rsi] + mov rax,QWORD PTR[48+rsi] adc rdx,0 add r13,rbx mov rbx,rdx adc rbx,0 - mul rbp + mul rbp add r14,rax - mov rax,QWORD PTR[56+rsi] + mov rax,QWORD PTR[56+rsi] adc rdx,0 add r14,rbx mov rbx,rdx adc rbx,0 - mul rbp + mul rbp add r15,rax - mov rax,rbp + mov rax,rbp adc rdx,0 add r15,rbx - adc rdx,0 - - xor rbx,rbx - add r9,r9 + adc rdx,0 + + xor rbx,rbx + add r9,r9 mov r8,rdx - adc r10,r10 - adc rbx,0 + adc r10,r10 + adc rbx,0 - mul rax + mul rax - add rax,rcx - mov rbp,QWORD PTR[16+rsi] + add rax,rcx + mov rbp,QWORD PTR[16+rsi] add r9,rax - mov rax,QWORD PTR[24+rsi] + mov rax,QWORD PTR[24+rsi] adc r10,rdx - adc rbx,0 + adc rbx,0 - mov QWORD PTR[16+rsp],r9 - mov QWORD PTR[24+rsp],r10 + mov QWORD PTR[16+rsp],r9 + mov QWORD PTR[24+rsp],r10 - mul rbp + mul rbp add r12,rax - mov rax,QWORD PTR[32+rsi] + mov rax,QWORD PTR[32+rsi] mov rcx,rdx adc rcx,0 - mul rbp + mul rbp add r13,rax - mov rax,QWORD PTR[40+rsi] + mov rax,QWORD PTR[40+rsi] adc rdx,0 add r13,rcx mov rcx,rdx adc rcx,0 - mul rbp + mul rbp add r14,rax - mov rax,QWORD PTR[48+rsi] + mov rax,QWORD PTR[48+rsi] adc rdx,0 add r14,rcx mov rcx,rdx adc rcx,0 - mul rbp + mul rbp add r15,rax - mov rax,QWORD PTR[56+rsi] + mov rax,QWORD PTR[56+rsi] adc rdx,0 add r15,rcx mov rcx,rdx adc rcx,0 - mul rbp + mul rbp add r8,rax - mov rax,rbp + mov rax,rbp adc rdx,0 add r8,rcx - adc rdx,0 - - xor rcx,rcx - add r11,r11 + adc rdx,0 + + xor rcx,rcx + add r11,r11 mov r9,rdx - adc r12,r12 - adc rcx,0 + adc r12,r12 + adc rcx,0 - mul rax + mul rax - add rax,rbx - mov r10,QWORD PTR[24+rsi] + add rax,rbx + mov r10,QWORD PTR[24+rsi] add r11,rax - mov rax,QWORD PTR[32+rsi] + mov rax,QWORD PTR[32+rsi] adc r12,rdx - adc rcx,0 + adc rcx,0 - mov QWORD PTR[32+rsp],r11 - mov QWORD PTR[40+rsp],r12 + mov QWORD PTR[32+rsp],r11 + mov QWORD PTR[40+rsp],r12 - mov r11,rax + mov r11,rax mul r10 add r14,rax - mov rax,QWORD PTR[40+rsi] + mov rax,QWORD PTR[40+rsi] mov rbx,rdx adc rbx,0 - mov r12,rax + mov r12,rax mul r10 add r15,rax - mov rax,QWORD PTR[48+rsi] + mov rax,QWORD PTR[48+rsi] adc rdx,0 add r15,rbx mov rbx,rdx adc rbx,0 - mov rbp,rax + mov rbp,rax mul r10 add r8,rax - mov rax,QWORD PTR[56+rsi] + mov rax,QWORD PTR[56+rsi] adc rdx,0 add r8,rbx mov rbx,rdx @@ -255,69 +255,69 @@ $L$oop_sqr:: mov rax,r10 adc rdx,0 add r9,rbx - adc rdx,0 - - xor rbx,rbx - add r13,r13 + adc rdx,0 + + xor rbx,rbx + add r13,r13 mov r10,rdx - adc r14,r14 - adc rbx,0 + adc r14,r14 + adc rbx,0 - mul rax + mul rax - add rax,rcx + add rax,rcx add r13,rax - mov rax,r12 + mov rax,r12 adc r14,rdx - adc rbx,0 + adc rbx,0 - mov QWORD PTR[48+rsp],r13 - mov QWORD PTR[56+rsp],r14 + mov QWORD PTR[48+rsp],r13 + mov QWORD PTR[56+rsp],r14 mul r11 add r8,rax - mov rax,rbp + mov rax,rbp mov rcx,rdx adc rcx,0 mul r11 add r9,rax - mov rax,QWORD PTR[56+rsi] + mov rax,QWORD PTR[56+rsi] adc rdx,0 add r9,rcx mov rcx,rdx adc rcx,0 - mov r14,rax + mov r14,rax mul r11 add r10,rax mov rax,r11 adc rdx,0 add r10,rcx - adc rdx,0 - - xor rcx,rcx - add r15,r15 + adc rdx,0 + + xor rcx,rcx + add r15,r15 mov r11,rdx - adc r8,r8 - adc rcx,0 + adc r8,r8 + adc rcx,0 - mul rax + mul rax - add rax,rbx + add rax,rbx add r15,rax - mov rax,rbp + mov rax,rbp adc r8,rdx - adc rcx,0 + adc rcx,0 - mov QWORD PTR[64+rsp],r15 - mov QWORD PTR[72+rsp],r8 + mov QWORD PTR[64+rsp],r15 + mov QWORD PTR[72+rsp],r8 mul r12 add r10,rax - mov rax,r14 + mov rax,r14 mov rbx,rdx adc rbx,0 @@ -326,406 +326,406 @@ $L$oop_sqr:: mov rax,r12 adc rdx,0 add r11,rbx - adc rdx,0 - - xor rbx,rbx - add r9,r9 + adc rdx,0 + + xor rbx,rbx + add r9,r9 mov r12,rdx - adc r10,r10 - adc rbx,0 + adc r10,r10 + adc rbx,0 - mul rax + mul rax - add rax,rcx + add rax,rcx add r9,rax - mov rax,r14 + mov rax,r14 adc r10,rdx - adc rbx,0 + adc rbx,0 - mov QWORD PTR[80+rsp],r9 - mov QWORD PTR[88+rsp],r10 + mov QWORD PTR[80+rsp],r9 + mov QWORD PTR[88+rsp],r10 - mul rbp + mul rbp add r12,rax - mov rax,rbp - adc rdx,0 - - xor rcx,rcx - add r11,r11 + mov rax,rbp + adc rdx,0 + + xor rcx,rcx + add r11,r11 mov r13,rdx adc r12,r12 - adc rcx,0 + adc rcx,0 mul rax - - add rax,rbx + + add rax,rbx add r11,rax - mov rax,r14 + mov rax,r14 adc r12,rdx - adc rcx,0 + adc rcx,0 - mov QWORD PTR[96+rsp],r11 - mov QWORD PTR[104+rsp],r12 + mov QWORD PTR[96+rsp],r11 + mov QWORD PTR[104+rsp],r12 - xor rbx,rbx - add r13,r13 - adc rbx,0 - - mul rax + xor rbx,rbx + add r13,r13 + adc rbx,0 - add rax,rcx - add rax,r13 - adc rdx,rbx + mul rax - mov r8,QWORD PTR[rsp] - mov r9,QWORD PTR[8+rsp] - mov r10,QWORD PTR[16+rsp] - mov r11,QWORD PTR[24+rsp] - mov r12,QWORD PTR[32+rsp] - mov r13,QWORD PTR[40+rsp] - mov r14,QWORD PTR[48+rsp] - mov r15,QWORD PTR[56+rsp] -DB 102,72,15,126,205 + add rax,rcx + add rax,r13 + adc rdx,rbx + + mov r8,QWORD PTR[rsp] + mov r9,QWORD PTR[8+rsp] + mov r10,QWORD PTR[16+rsp] + mov r11,QWORD PTR[24+rsp] + mov r12,QWORD PTR[32+rsp] + mov r13,QWORD PTR[40+rsp] + mov r14,QWORD PTR[48+rsp] + mov r15,QWORD PTR[56+rsp] +DB 102,72,15,126,205 - mov QWORD PTR[112+rsp],rax - mov QWORD PTR[120+rsp],rdx + mov QWORD PTR[112+rsp],rax + mov QWORD PTR[120+rsp],rdx call __rsaz_512_reduce - add r8,QWORD PTR[64+rsp] - adc r9,QWORD PTR[72+rsp] - adc r10,QWORD PTR[80+rsp] - adc r11,QWORD PTR[88+rsp] - adc r12,QWORD PTR[96+rsp] - adc r13,QWORD PTR[104+rsp] - adc r14,QWORD PTR[112+rsp] - adc r15,QWORD PTR[120+rsp] + add r8,QWORD PTR[64+rsp] + adc r9,QWORD PTR[72+rsp] + adc r10,QWORD PTR[80+rsp] + adc r11,QWORD PTR[88+rsp] + adc r12,QWORD PTR[96+rsp] + adc r13,QWORD PTR[104+rsp] + adc r14,QWORD PTR[112+rsp] + adc r15,QWORD PTR[120+rsp] sbb rcx,rcx call __rsaz_512_subtract mov rdx,r8 mov rax,r9 - mov r8d,DWORD PTR[((128+8))+rsp] + mov r8d,DWORD PTR[((128+8))+rsp] mov rsi,rdi dec r8d - jnz $L$oop_sqr - jmp $L$sqr_tail + jnz $L$oop_sqr + jmp $L$sqr_tail ALIGN 32 -$L$oop_sqrx:: - mov DWORD PTR[((128+8))+rsp],r8d +$L$oop_sqrx:: + mov DWORD PTR[((128+8))+rsp],r8d DB 102,72,15,110,199 mulx r9,r8,rax - mov rbx,rax + mov rbx,rax - mulx r10,rcx,QWORD PTR[16+rsi] + mulx r10,rcx,QWORD PTR[16+rsi] xor rbp,rbp - mulx r11,rax,QWORD PTR[24+rsi] + mulx r11,rax,QWORD PTR[24+rsi] adcx r9,rcx -DB 0c4h,062h,0f3h,0f6h,0a6h,020h,000h,000h,000h +DB 0c4h,062h,0f3h,0f6h,0a6h,020h,000h,000h,000h adcx r10,rax -DB 0c4h,062h,0fbh,0f6h,0aeh,028h,000h,000h,000h +DB 0c4h,062h,0fbh,0f6h,0aeh,028h,000h,000h,000h adcx r11,rcx - mulx r14,rcx,QWORD PTR[48+rsi] + mulx r14,rcx,QWORD PTR[48+rsi] adcx r12,rax adcx r13,rcx - mulx r15,rax,QWORD PTR[56+rsi] + mulx r15,rax,QWORD PTR[56+rsi] adcx r14,rax adcx r15,rbp - mulx rdi,rax,rdx - mov rdx,rbx - xor rcx,rcx - adox r8,r8 - adcx r8,rdi - adox rcx,rbp - adcx rcx,rbp + mulx rdi,rax,rdx + mov rdx,rbx + xor rcx,rcx + adox r8,r8 + adcx r8,rdi + adox rcx,rbp + adcx rcx,rbp - mov QWORD PTR[rsp],rax - mov QWORD PTR[8+rsp],r8 + mov QWORD PTR[rsp],rax + mov QWORD PTR[8+rsp],r8 -DB 0c4h,0e2h,0fbh,0f6h,09eh,010h,000h,000h,000h +DB 0c4h,0e2h,0fbh,0f6h,09eh,010h,000h,000h,000h adox r10,rax adcx r11,rbx - mulx r8,rdi,QWORD PTR[24+rsi] + mulx r8,rdi,QWORD PTR[24+rsi] adox r11,rdi -DB 066h +DB 066h adcx r12,r8 - mulx rbx,rax,QWORD PTR[32+rsi] + mulx rbx,rax,QWORD PTR[32+rsi] adox r12,rax adcx r13,rbx - mulx r8,rdi,QWORD PTR[40+rsi] + mulx r8,rdi,QWORD PTR[40+rsi] adox r13,rdi adcx r14,r8 -DB 0c4h,0e2h,0fbh,0f6h,09eh,030h,000h,000h,000h +DB 0c4h,0e2h,0fbh,0f6h,09eh,030h,000h,000h,000h adox r14,rax adcx r15,rbx -DB 0c4h,062h,0c3h,0f6h,086h,038h,000h,000h,000h +DB 0c4h,062h,0c3h,0f6h,086h,038h,000h,000h,000h adox r15,rdi adcx r8,rbp - mulx rdi,rax,rdx + mulx rdi,rax,rdx adox r8,rbp -DB 048h,08bh,096h,010h,000h,000h,000h +DB 048h,08bh,096h,010h,000h,000h,000h - xor rbx,rbx - adox r9,r9 + xor rbx,rbx + adox r9,r9 - adcx rax,rcx - adox r10,r10 + adcx rax,rcx + adox r10,r10 adcx r9,rax - adox rbx,rbp - adcx r10,rdi - adcx rbx,rbp + adox rbx,rbp + adcx r10,rdi + adcx rbx,rbp - mov QWORD PTR[16+rsp],r9 -DB 04ch,089h,094h,024h,018h,000h,000h,000h + mov QWORD PTR[16+rsp],r9 +DB 04ch,089h,094h,024h,018h,000h,000h,000h - mulx r9,rdi,QWORD PTR[24+rsi] + mulx r9,rdi,QWORD PTR[24+rsi] adox r12,rdi adcx r13,r9 - mulx rcx,rax,QWORD PTR[32+rsi] + mulx rcx,rax,QWORD PTR[32+rsi] adox r13,rax adcx r14,rcx -DB 0c4h,062h,0c3h,0f6h,08eh,028h,000h,000h,000h +DB 0c4h,062h,0c3h,0f6h,08eh,028h,000h,000h,000h adox r14,rdi adcx r15,r9 -DB 0c4h,0e2h,0fbh,0f6h,08eh,030h,000h,000h,000h +DB 0c4h,0e2h,0fbh,0f6h,08eh,030h,000h,000h,000h adox r15,rax adcx r8,rcx - mulx r9,rdi,QWORD PTR[56+rsi] + mulx r9,rdi,QWORD PTR[56+rsi] adox r8,rdi adcx r9,rbp - mulx rdi,rax,rdx + mulx rdi,rax,rdx adox r9,rbp - mov rdx,QWORD PTR[24+rsi] + mov rdx,QWORD PTR[24+rsi] - xor rcx,rcx - adox r11,r11 + xor rcx,rcx + adox r11,r11 - adcx rax,rbx - adox r12,r12 + adcx rax,rbx + adox r12,r12 adcx r11,rax - adox rcx,rbp - adcx r12,rdi - adcx rcx,rbp + adox rcx,rbp + adcx r12,rdi + adcx rcx,rbp - mov QWORD PTR[32+rsp],r11 - mov QWORD PTR[40+rsp],r12 + mov QWORD PTR[32+rsp],r11 + mov QWORD PTR[40+rsp],r12 - mulx rbx,rax,QWORD PTR[32+rsi] + mulx rbx,rax,QWORD PTR[32+rsi] adox r14,rax adcx r15,rbx - mulx r10,rdi,QWORD PTR[40+rsi] + mulx r10,rdi,QWORD PTR[40+rsi] adox r15,rdi adcx r8,r10 - mulx rbx,rax,QWORD PTR[48+rsi] + mulx rbx,rax,QWORD PTR[48+rsi] adox r8,rax adcx r9,rbx - mulx r10,rdi,QWORD PTR[56+rsi] + mulx r10,rdi,QWORD PTR[56+rsi] adox r9,rdi adcx r10,rbp - mulx rdi,rax,rdx + mulx rdi,rax,rdx adox r10,rbp - mov rdx,QWORD PTR[32+rsi] + mov rdx,QWORD PTR[32+rsi] - xor rbx,rbx - adox r13,r13 + xor rbx,rbx + adox r13,r13 - adcx rax,rcx - adox r14,r14 + adcx rax,rcx + adox r14,r14 adcx r13,rax - adox rbx,rbp - adcx r14,rdi - adcx rbx,rbp + adox rbx,rbp + adcx r14,rdi + adcx rbx,rbp - mov QWORD PTR[48+rsp],r13 - mov QWORD PTR[56+rsp],r14 + mov QWORD PTR[48+rsp],r13 + mov QWORD PTR[56+rsp],r14 - mulx r11,rdi,QWORD PTR[40+rsi] + mulx r11,rdi,QWORD PTR[40+rsi] adox r8,rdi adcx r9,r11 - mulx rcx,rax,QWORD PTR[48+rsi] + mulx rcx,rax,QWORD PTR[48+rsi] adox r9,rax adcx r10,rcx - mulx r11,rdi,QWORD PTR[56+rsi] + mulx r11,rdi,QWORD PTR[56+rsi] adox r10,rdi adcx r11,rbp - mulx rdi,rax,rdx - mov rdx,QWORD PTR[40+rsi] + mulx rdi,rax,rdx + mov rdx,QWORD PTR[40+rsi] adox r11,rbp - xor rcx,rcx - adox r15,r15 + xor rcx,rcx + adox r15,r15 - adcx rax,rbx - adox r8,r8 + adcx rax,rbx + adox r8,r8 adcx r15,rax - adox rcx,rbp - adcx r8,rdi - adcx rcx,rbp + adox rcx,rbp + adcx r8,rdi + adcx rcx,rbp - mov QWORD PTR[64+rsp],r15 - mov QWORD PTR[72+rsp],r8 + mov QWORD PTR[64+rsp],r15 + mov QWORD PTR[72+rsp],r8 -DB 0c4h,0e2h,0fbh,0f6h,09eh,030h,000h,000h,000h +DB 0c4h,0e2h,0fbh,0f6h,09eh,030h,000h,000h,000h adox r10,rax adcx r11,rbx -DB 0c4h,062h,0c3h,0f6h,0a6h,038h,000h,000h,000h +DB 0c4h,062h,0c3h,0f6h,0a6h,038h,000h,000h,000h adox r11,rdi adcx r12,rbp - mulx rdi,rax,rdx + mulx rdi,rax,rdx adox r12,rbp - mov rdx,QWORD PTR[48+rsi] + mov rdx,QWORD PTR[48+rsi] - xor rbx,rbx - adox r9,r9 + xor rbx,rbx + adox r9,r9 - adcx rax,rcx - adox r10,r10 + adcx rax,rcx + adox r10,r10 adcx r9,rax - adcx r10,rdi - adox rbx,rbp - adcx rbx,rbp + adcx r10,rdi + adox rbx,rbp + adcx rbx,rbp - mov QWORD PTR[80+rsp],r9 - mov QWORD PTR[88+rsp],r10 + mov QWORD PTR[80+rsp],r9 + mov QWORD PTR[88+rsp],r10 -DB 0c4h,062h,0fbh,0f6h,0aeh,038h,000h,000h,000h +DB 0c4h,062h,0fbh,0f6h,0aeh,038h,000h,000h,000h adox r12,rax adox r13,rbp - mulx rdi,rax,rdx - xor rcx,rcx - mov rdx,QWORD PTR[56+rsi] - adox r11,r11 + mulx rdi,rax,rdx + xor rcx,rcx + mov rdx,QWORD PTR[56+rsi] + adox r11,r11 - adcx rax,rbx - adox r12,r12 + adcx rax,rbx + adox r12,r12 adcx r11,rax - adox rcx,rbp - adcx r12,rdi - adcx rcx,rbp + adox rcx,rbp + adcx r12,rdi + adcx rcx,rbp -DB 04ch,089h,09ch,024h,060h,000h,000h,000h -DB 04ch,089h,0a4h,024h,068h,000h,000h,000h +DB 04ch,089h,09ch,024h,060h,000h,000h,000h +DB 04ch,089h,0a4h,024h,068h,000h,000h,000h mulx rdx,rax,rdx - xor rbx,rbx - adox r13,r13 + xor rbx,rbx + adox r13,r13 - adcx rax,rcx - adox rbx,rbp - adcx rax,r13 - adcx rbx,rdx + adcx rax,rcx + adox rbx,rbp + adcx rax,r13 + adcx rbx,rdx DB 102,72,15,126,199 DB 102,72,15,126,205 - mov rdx,QWORD PTR[128+rsp] - mov r8,QWORD PTR[rsp] - mov r9,QWORD PTR[8+rsp] - mov r10,QWORD PTR[16+rsp] - mov r11,QWORD PTR[24+rsp] - mov r12,QWORD PTR[32+rsp] - mov r13,QWORD PTR[40+rsp] - mov r14,QWORD PTR[48+rsp] - mov r15,QWORD PTR[56+rsp] - - mov QWORD PTR[112+rsp],rax - mov QWORD PTR[120+rsp],rbx - + mov rdx,QWORD PTR[128+rsp] + mov r8,QWORD PTR[rsp] + mov r9,QWORD PTR[8+rsp] + mov r10,QWORD PTR[16+rsp] + mov r11,QWORD PTR[24+rsp] + mov r12,QWORD PTR[32+rsp] + mov r13,QWORD PTR[40+rsp] + mov r14,QWORD PTR[48+rsp] + mov r15,QWORD PTR[56+rsp] + + mov QWORD PTR[112+rsp],rax + mov QWORD PTR[120+rsp],rbx + call __rsaz_512_reducex - add r8,QWORD PTR[64+rsp] - adc r9,QWORD PTR[72+rsp] - adc r10,QWORD PTR[80+rsp] - adc r11,QWORD PTR[88+rsp] - adc r12,QWORD PTR[96+rsp] - adc r13,QWORD PTR[104+rsp] - adc r14,QWORD PTR[112+rsp] - adc r15,QWORD PTR[120+rsp] + add r8,QWORD PTR[64+rsp] + adc r9,QWORD PTR[72+rsp] + adc r10,QWORD PTR[80+rsp] + adc r11,QWORD PTR[88+rsp] + adc r12,QWORD PTR[96+rsp] + adc r13,QWORD PTR[104+rsp] + adc r14,QWORD PTR[112+rsp] + adc r15,QWORD PTR[120+rsp] sbb rcx,rcx call __rsaz_512_subtract mov rdx,r8 mov rax,r9 - mov r8d,DWORD PTR[((128+8))+rsp] + mov r8d,DWORD PTR[((128+8))+rsp] mov rsi,rdi dec r8d - jnz $L$oop_sqrx + jnz $L$oop_sqrx -$L$sqr_tail:: +$L$sqr_tail:: - lea rax,QWORD PTR[((128+24+48))+rsp] + lea rax,QWORD PTR[((128+24+48))+rsp] - mov r15,QWORD PTR[((-48))+rax] + mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] + mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] + mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] + mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$sqr_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$sqr_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_512_sqr:: -rsaz_512_sqr ENDP -PUBLIC rsaz_512_mul +$L$SEH_end_rsaz_512_sqr:: +rsaz_512_sqr ENDP +PUBLIC rsaz_512_mul ALIGN 32 -rsaz_512_mul PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +rsaz_512_mul PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_rsaz_512_mul:: +$L$SEH_begin_rsaz_512_mul:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] + mov r8,QWORD PTR[40+rsp] @@ -744,103 +744,103 @@ $L$SEH_begin_rsaz_512_mul:: sub rsp,128+24 -$L$mul_body:: +$L$mul_body:: DB 102,72,15,110,199 DB 102,72,15,110,201 - mov QWORD PTR[128+rsp],r8 - mov r11d,080100h - and r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] - cmp r11d,080100h - je $L$mulx - mov rbx,QWORD PTR[rdx] + mov QWORD PTR[128+rsp],r8 + mov r11d,080100h + and r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] + cmp r11d,080100h + je $L$mulx + mov rbx,QWORD PTR[rdx] mov rbp,rdx call __rsaz_512_mul DB 102,72,15,126,199 DB 102,72,15,126,205 - mov r8,QWORD PTR[rsp] - mov r9,QWORD PTR[8+rsp] - mov r10,QWORD PTR[16+rsp] - mov r11,QWORD PTR[24+rsp] - mov r12,QWORD PTR[32+rsp] - mov r13,QWORD PTR[40+rsp] - mov r14,QWORD PTR[48+rsp] - mov r15,QWORD PTR[56+rsp] + mov r8,QWORD PTR[rsp] + mov r9,QWORD PTR[8+rsp] + mov r10,QWORD PTR[16+rsp] + mov r11,QWORD PTR[24+rsp] + mov r12,QWORD PTR[32+rsp] + mov r13,QWORD PTR[40+rsp] + mov r14,QWORD PTR[48+rsp] + mov r15,QWORD PTR[56+rsp] call __rsaz_512_reduce - jmp $L$mul_tail + jmp $L$mul_tail ALIGN 32 -$L$mulx:: +$L$mulx:: mov rbp,rdx - mov rdx,QWORD PTR[rdx] + mov rdx,QWORD PTR[rdx] call __rsaz_512_mulx DB 102,72,15,126,199 DB 102,72,15,126,205 - mov rdx,QWORD PTR[128+rsp] - mov r8,QWORD PTR[rsp] - mov r9,QWORD PTR[8+rsp] - mov r10,QWORD PTR[16+rsp] - mov r11,QWORD PTR[24+rsp] - mov r12,QWORD PTR[32+rsp] - mov r13,QWORD PTR[40+rsp] - mov r14,QWORD PTR[48+rsp] - mov r15,QWORD PTR[56+rsp] + mov rdx,QWORD PTR[128+rsp] + mov r8,QWORD PTR[rsp] + mov r9,QWORD PTR[8+rsp] + mov r10,QWORD PTR[16+rsp] + mov r11,QWORD PTR[24+rsp] + mov r12,QWORD PTR[32+rsp] + mov r13,QWORD PTR[40+rsp] + mov r14,QWORD PTR[48+rsp] + mov r15,QWORD PTR[56+rsp] call __rsaz_512_reducex -$L$mul_tail:: - add r8,QWORD PTR[64+rsp] - adc r9,QWORD PTR[72+rsp] - adc r10,QWORD PTR[80+rsp] - adc r11,QWORD PTR[88+rsp] - adc r12,QWORD PTR[96+rsp] - adc r13,QWORD PTR[104+rsp] - adc r14,QWORD PTR[112+rsp] - adc r15,QWORD PTR[120+rsp] +$L$mul_tail:: + add r8,QWORD PTR[64+rsp] + adc r9,QWORD PTR[72+rsp] + adc r10,QWORD PTR[80+rsp] + adc r11,QWORD PTR[88+rsp] + adc r12,QWORD PTR[96+rsp] + adc r13,QWORD PTR[104+rsp] + adc r14,QWORD PTR[112+rsp] + adc r15,QWORD PTR[120+rsp] sbb rcx,rcx call __rsaz_512_subtract - lea rax,QWORD PTR[((128+24+48))+rsp] + lea rax,QWORD PTR[((128+24+48))+rsp] - mov r15,QWORD PTR[((-48))+rax] + mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] + mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] + mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] + mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$mul_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$mul_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_512_mul:: -rsaz_512_mul ENDP -PUBLIC rsaz_512_mul_gather4 +$L$SEH_end_rsaz_512_mul:: +rsaz_512_mul ENDP +PUBLIC rsaz_512_mul_gather4 ALIGN 32 -rsaz_512_mul_gather4 PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +rsaz_512_mul_gather4 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_rsaz_512_mul_gather4:: +$L$SEH_begin_rsaz_512_mul_gather4:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] @@ -859,20 +859,20 @@ $L$SEH_begin_rsaz_512_mul_gather4:: sub rsp,328 - movaps XMMWORD PTR[160+rsp],xmm6 - movaps XMMWORD PTR[176+rsp],xmm7 - movaps XMMWORD PTR[192+rsp],xmm8 - movaps XMMWORD PTR[208+rsp],xmm9 - movaps XMMWORD PTR[224+rsp],xmm10 - movaps XMMWORD PTR[240+rsp],xmm11 - movaps XMMWORD PTR[256+rsp],xmm12 - movaps XMMWORD PTR[272+rsp],xmm13 - movaps XMMWORD PTR[288+rsp],xmm14 - movaps XMMWORD PTR[304+rsp],xmm15 -$L$mul_gather4_body:: + movaps XMMWORD PTR[160+rsp],xmm6 + movaps XMMWORD PTR[176+rsp],xmm7 + movaps XMMWORD PTR[192+rsp],xmm8 + movaps XMMWORD PTR[208+rsp],xmm9 + movaps XMMWORD PTR[224+rsp],xmm10 + movaps XMMWORD PTR[240+rsp],xmm11 + movaps XMMWORD PTR[256+rsp],xmm12 + movaps XMMWORD PTR[272+rsp],xmm13 + movaps XMMWORD PTR[288+rsp],xmm14 + movaps XMMWORD PTR[304+rsp],xmm15 +$L$mul_gather4_body:: movd xmm8,r9d - movdqa xmm1,XMMWORD PTR[(($L$inc+16))] - movdqa xmm0,XMMWORD PTR[$L$inc] + movdqa xmm1,XMMWORD PTR[(($L$inc+16))] + movdqa xmm0,XMMWORD PTR[$L$inc] pshufd xmm8,xmm8,0 movdqa xmm7,xmm1 @@ -897,19 +897,19 @@ $L$mul_gather4_body:: pcmpeqd xmm6,xmm8 pcmpeqd xmm7,xmm8 - movdqa xmm8,XMMWORD PTR[rdx] - movdqa xmm9,XMMWORD PTR[16+rdx] - movdqa xmm10,XMMWORD PTR[32+rdx] - movdqa xmm11,XMMWORD PTR[48+rdx] + movdqa xmm8,XMMWORD PTR[rdx] + movdqa xmm9,XMMWORD PTR[16+rdx] + movdqa xmm10,XMMWORD PTR[32+rdx] + movdqa xmm11,XMMWORD PTR[48+rdx] pand xmm8,xmm0 - movdqa xmm12,XMMWORD PTR[64+rdx] + movdqa xmm12,XMMWORD PTR[64+rdx] pand xmm9,xmm1 - movdqa xmm13,XMMWORD PTR[80+rdx] + movdqa xmm13,XMMWORD PTR[80+rdx] pand xmm10,xmm2 - movdqa xmm14,XMMWORD PTR[96+rdx] + movdqa xmm14,XMMWORD PTR[96+rdx] pand xmm11,xmm3 - movdqa xmm15,XMMWORD PTR[112+rdx] - lea rbp,QWORD PTR[128+rdx] + movdqa xmm15,XMMWORD PTR[112+rdx] + lea rbp,QWORD PTR[128+rdx] pand xmm12,xmm4 pand xmm13,xmm5 pand xmm14,xmm6 @@ -922,86 +922,86 @@ $L$mul_gather4_body:: por xmm9,xmm15 por xmm8,xmm9 - pshufd xmm9,xmm8,04eh + pshufd xmm9,xmm8,04eh por xmm8,xmm9 - mov r11d,080100h - and r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] - cmp r11d,080100h - je $L$mulx_gather + mov r11d,080100h + and r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] + cmp r11d,080100h + je $L$mulx_gather DB 102,76,15,126,195 - mov QWORD PTR[128+rsp],r8 - mov QWORD PTR[((128+8))+rsp],rdi - mov QWORD PTR[((128+16))+rsp],rcx + mov QWORD PTR[128+rsp],r8 + mov QWORD PTR[((128+8))+rsp],rdi + mov QWORD PTR[((128+16))+rsp],rcx - mov rax,QWORD PTR[rsi] - mov rcx,QWORD PTR[8+rsi] + mov rax,QWORD PTR[rsi] + mov rcx,QWORD PTR[8+rsi] mul rbx - mov QWORD PTR[rsp],rax + mov QWORD PTR[rsp],rax mov rax,rcx mov r8,rdx mul rbx add r8,rax - mov rax,QWORD PTR[16+rsi] + mov rax,QWORD PTR[16+rsi] mov r9,rdx adc r9,0 mul rbx add r9,rax - mov rax,QWORD PTR[24+rsi] + mov rax,QWORD PTR[24+rsi] mov r10,rdx adc r10,0 mul rbx add r10,rax - mov rax,QWORD PTR[32+rsi] + mov rax,QWORD PTR[32+rsi] mov r11,rdx adc r11,0 mul rbx add r11,rax - mov rax,QWORD PTR[40+rsi] + mov rax,QWORD PTR[40+rsi] mov r12,rdx adc r12,0 mul rbx add r12,rax - mov rax,QWORD PTR[48+rsi] + mov rax,QWORD PTR[48+rsi] mov r13,rdx adc r13,0 mul rbx add r13,rax - mov rax,QWORD PTR[56+rsi] + mov rax,QWORD PTR[56+rsi] mov r14,rdx adc r14,0 mul rbx add r14,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] mov r15,rdx adc r15,0 - lea rdi,QWORD PTR[8+rsp] + lea rdi,QWORD PTR[8+rsp] mov ecx,7 - jmp $L$oop_mul_gather + jmp $L$oop_mul_gather ALIGN 32 -$L$oop_mul_gather:: - movdqa xmm8,XMMWORD PTR[rbp] - movdqa xmm9,XMMWORD PTR[16+rbp] - movdqa xmm10,XMMWORD PTR[32+rbp] - movdqa xmm11,XMMWORD PTR[48+rbp] +$L$oop_mul_gather:: + movdqa xmm8,XMMWORD PTR[rbp] + movdqa xmm9,XMMWORD PTR[16+rbp] + movdqa xmm10,XMMWORD PTR[32+rbp] + movdqa xmm11,XMMWORD PTR[48+rbp] pand xmm8,xmm0 - movdqa xmm12,XMMWORD PTR[64+rbp] + movdqa xmm12,XMMWORD PTR[64+rbp] pand xmm9,xmm1 - movdqa xmm13,XMMWORD PTR[80+rbp] + movdqa xmm13,XMMWORD PTR[80+rbp] pand xmm10,xmm2 - movdqa xmm14,XMMWORD PTR[96+rbp] + movdqa xmm14,XMMWORD PTR[96+rbp] pand xmm11,xmm3 - movdqa xmm15,XMMWORD PTR[112+rbp] - lea rbp,QWORD PTR[128+rbp] + movdqa xmm15,XMMWORD PTR[112+rbp] + lea rbp,QWORD PTR[128+rbp] pand xmm12,xmm4 pand xmm13,xmm5 pand xmm14,xmm6 @@ -1014,20 +1014,20 @@ $L$oop_mul_gather:: por xmm9,xmm15 por xmm8,xmm9 - pshufd xmm9,xmm8,04eh + pshufd xmm9,xmm8,04eh por xmm8,xmm9 DB 102,76,15,126,195 mul rbx add r8,rax - mov rax,QWORD PTR[8+rsi] - mov QWORD PTR[rdi],r8 + mov rax,QWORD PTR[8+rsi] + mov QWORD PTR[rdi],r8 mov r8,rdx adc r8,0 mul rbx add r9,rax - mov rax,QWORD PTR[16+rsi] + mov rax,QWORD PTR[16+rsi] adc rdx,0 add r8,r9 mov r9,rdx @@ -1035,7 +1035,7 @@ DB 102,76,15,126,195 mul rbx add r10,rax - mov rax,QWORD PTR[24+rsi] + mov rax,QWORD PTR[24+rsi] adc rdx,0 add r9,r10 mov r10,rdx @@ -1043,7 +1043,7 @@ DB 102,76,15,126,195 mul rbx add r11,rax - mov rax,QWORD PTR[32+rsi] + mov rax,QWORD PTR[32+rsi] adc rdx,0 add r10,r11 mov r11,rdx @@ -1051,7 +1051,7 @@ DB 102,76,15,126,195 mul rbx add r12,rax - mov rax,QWORD PTR[40+rsi] + mov rax,QWORD PTR[40+rsi] adc rdx,0 add r11,r12 mov r12,rdx @@ -1059,7 +1059,7 @@ DB 102,76,15,126,195 mul rbx add r13,rax - mov rax,QWORD PTR[48+rsi] + mov rax,QWORD PTR[48+rsi] adc rdx,0 add r12,r13 mov r13,rdx @@ -1067,7 +1067,7 @@ DB 102,76,15,126,195 mul rbx add r14,rax - mov rax,QWORD PTR[56+rsi] + mov rax,QWORD PTR[56+rsi] adc rdx,0 add r13,r14 mov r14,rdx @@ -1075,95 +1075,95 @@ DB 102,76,15,126,195 mul rbx add r15,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] adc rdx,0 add r14,r15 mov r15,rdx adc r15,0 - lea rdi,QWORD PTR[8+rdi] + lea rdi,QWORD PTR[8+rdi] dec ecx - jnz $L$oop_mul_gather - - mov QWORD PTR[rdi],r8 - mov QWORD PTR[8+rdi],r9 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 - mov QWORD PTR[32+rdi],r12 - mov QWORD PTR[40+rdi],r13 - mov QWORD PTR[48+rdi],r14 - mov QWORD PTR[56+rdi],r15 - - mov rdi,QWORD PTR[((128+8))+rsp] - mov rbp,QWORD PTR[((128+16))+rsp] - - mov r8,QWORD PTR[rsp] - mov r9,QWORD PTR[8+rsp] - mov r10,QWORD PTR[16+rsp] - mov r11,QWORD PTR[24+rsp] - mov r12,QWORD PTR[32+rsp] - mov r13,QWORD PTR[40+rsp] - mov r14,QWORD PTR[48+rsp] - mov r15,QWORD PTR[56+rsp] + jnz $L$oop_mul_gather + + mov QWORD PTR[rdi],r8 + mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[32+rdi],r12 + mov QWORD PTR[40+rdi],r13 + mov QWORD PTR[48+rdi],r14 + mov QWORD PTR[56+rdi],r15 + + mov rdi,QWORD PTR[((128+8))+rsp] + mov rbp,QWORD PTR[((128+16))+rsp] + + mov r8,QWORD PTR[rsp] + mov r9,QWORD PTR[8+rsp] + mov r10,QWORD PTR[16+rsp] + mov r11,QWORD PTR[24+rsp] + mov r12,QWORD PTR[32+rsp] + mov r13,QWORD PTR[40+rsp] + mov r14,QWORD PTR[48+rsp] + mov r15,QWORD PTR[56+rsp] call __rsaz_512_reduce - jmp $L$mul_gather_tail + jmp $L$mul_gather_tail ALIGN 32 -$L$mulx_gather:: +$L$mulx_gather:: DB 102,76,15,126,194 - mov QWORD PTR[128+rsp],r8 - mov QWORD PTR[((128+8))+rsp],rdi - mov QWORD PTR[((128+16))+rsp],rcx + mov QWORD PTR[128+rsp],r8 + mov QWORD PTR[((128+8))+rsp],rdi + mov QWORD PTR[((128+16))+rsp],rcx - mulx r8,rbx,QWORD PTR[rsi] - mov QWORD PTR[rsp],rbx + mulx r8,rbx,QWORD PTR[rsi] + mov QWORD PTR[rsp],rbx xor edi,edi - mulx r9,rax,QWORD PTR[8+rsi] + mulx r9,rax,QWORD PTR[8+rsi] - mulx r10,rbx,QWORD PTR[16+rsi] + mulx r10,rbx,QWORD PTR[16+rsi] adcx r8,rax - mulx r11,rax,QWORD PTR[24+rsi] + mulx r11,rax,QWORD PTR[24+rsi] adcx r9,rbx - mulx r12,rbx,QWORD PTR[32+rsi] + mulx r12,rbx,QWORD PTR[32+rsi] adcx r10,rax - mulx r13,rax,QWORD PTR[40+rsi] + mulx r13,rax,QWORD PTR[40+rsi] adcx r11,rbx - mulx r14,rbx,QWORD PTR[48+rsi] + mulx r14,rbx,QWORD PTR[48+rsi] adcx r12,rax - mulx r15,rax,QWORD PTR[56+rsi] + mulx r15,rax,QWORD PTR[56+rsi] adcx r13,rbx adcx r14,rax -DB 067h +DB 067h mov rbx,r8 adcx r15,rdi mov rcx,-7 - jmp $L$oop_mulx_gather + jmp $L$oop_mulx_gather ALIGN 32 -$L$oop_mulx_gather:: - movdqa xmm8,XMMWORD PTR[rbp] - movdqa xmm9,XMMWORD PTR[16+rbp] - movdqa xmm10,XMMWORD PTR[32+rbp] - movdqa xmm11,XMMWORD PTR[48+rbp] +$L$oop_mulx_gather:: + movdqa xmm8,XMMWORD PTR[rbp] + movdqa xmm9,XMMWORD PTR[16+rbp] + movdqa xmm10,XMMWORD PTR[32+rbp] + movdqa xmm11,XMMWORD PTR[48+rbp] pand xmm8,xmm0 - movdqa xmm12,XMMWORD PTR[64+rbp] + movdqa xmm12,XMMWORD PTR[64+rbp] pand xmm9,xmm1 - movdqa xmm13,XMMWORD PTR[80+rbp] + movdqa xmm13,XMMWORD PTR[80+rbp] pand xmm10,xmm2 - movdqa xmm14,XMMWORD PTR[96+rbp] + movdqa xmm14,XMMWORD PTR[96+rbp] pand xmm11,xmm3 - movdqa xmm15,XMMWORD PTR[112+rbp] - lea rbp,QWORD PTR[128+rbp] + movdqa xmm15,XMMWORD PTR[112+rbp] + lea rbp,QWORD PTR[128+rbp] pand xmm12,xmm4 pand xmm13,xmm5 pand xmm14,xmm6 @@ -1176,134 +1176,134 @@ $L$oop_mulx_gather:: por xmm9,xmm15 por xmm8,xmm9 - pshufd xmm9,xmm8,04eh + pshufd xmm9,xmm8,04eh por xmm8,xmm9 DB 102,76,15,126,194 -DB 0c4h,062h,0fbh,0f6h,086h,000h,000h,000h,000h +DB 0c4h,062h,0fbh,0f6h,086h,000h,000h,000h,000h adcx rbx,rax adox r8,r9 - mulx r9,rax,QWORD PTR[8+rsi] + mulx r9,rax,QWORD PTR[8+rsi] adcx r8,rax adox r9,r10 - mulx r10,rax,QWORD PTR[16+rsi] + mulx r10,rax,QWORD PTR[16+rsi] adcx r9,rax adox r10,r11 -DB 0c4h,062h,0fbh,0f6h,09eh,018h,000h,000h,000h +DB 0c4h,062h,0fbh,0f6h,09eh,018h,000h,000h,000h adcx r10,rax adox r11,r12 - mulx r12,rax,QWORD PTR[32+rsi] + mulx r12,rax,QWORD PTR[32+rsi] adcx r11,rax adox r12,r13 - mulx r13,rax,QWORD PTR[40+rsi] + mulx r13,rax,QWORD PTR[40+rsi] adcx r12,rax adox r13,r14 -DB 0c4h,062h,0fbh,0f6h,0b6h,030h,000h,000h,000h +DB 0c4h,062h,0fbh,0f6h,0b6h,030h,000h,000h,000h adcx r13,rax -DB 067h +DB 067h adox r14,r15 - mulx r15,rax,QWORD PTR[56+rsi] - mov QWORD PTR[64+rcx*8+rsp],rbx + mulx r15,rax,QWORD PTR[56+rsi] + mov QWORD PTR[64+rcx*8+rsp],rbx adcx r14,rax adox r15,rdi mov rbx,r8 adcx r15,rdi inc rcx - jnz $L$oop_mulx_gather - - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[((64+8))+rsp],r9 - mov QWORD PTR[((64+16))+rsp],r10 - mov QWORD PTR[((64+24))+rsp],r11 - mov QWORD PTR[((64+32))+rsp],r12 - mov QWORD PTR[((64+40))+rsp],r13 - mov QWORD PTR[((64+48))+rsp],r14 - mov QWORD PTR[((64+56))+rsp],r15 - - mov rdx,QWORD PTR[128+rsp] - mov rdi,QWORD PTR[((128+8))+rsp] - mov rbp,QWORD PTR[((128+16))+rsp] - - mov r8,QWORD PTR[rsp] - mov r9,QWORD PTR[8+rsp] - mov r10,QWORD PTR[16+rsp] - mov r11,QWORD PTR[24+rsp] - mov r12,QWORD PTR[32+rsp] - mov r13,QWORD PTR[40+rsp] - mov r14,QWORD PTR[48+rsp] - mov r15,QWORD PTR[56+rsp] + jnz $L$oop_mulx_gather + + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[((64+8))+rsp],r9 + mov QWORD PTR[((64+16))+rsp],r10 + mov QWORD PTR[((64+24))+rsp],r11 + mov QWORD PTR[((64+32))+rsp],r12 + mov QWORD PTR[((64+40))+rsp],r13 + mov QWORD PTR[((64+48))+rsp],r14 + mov QWORD PTR[((64+56))+rsp],r15 + + mov rdx,QWORD PTR[128+rsp] + mov rdi,QWORD PTR[((128+8))+rsp] + mov rbp,QWORD PTR[((128+16))+rsp] + + mov r8,QWORD PTR[rsp] + mov r9,QWORD PTR[8+rsp] + mov r10,QWORD PTR[16+rsp] + mov r11,QWORD PTR[24+rsp] + mov r12,QWORD PTR[32+rsp] + mov r13,QWORD PTR[40+rsp] + mov r14,QWORD PTR[48+rsp] + mov r15,QWORD PTR[56+rsp] call __rsaz_512_reducex -$L$mul_gather_tail:: - add r8,QWORD PTR[64+rsp] - adc r9,QWORD PTR[72+rsp] - adc r10,QWORD PTR[80+rsp] - adc r11,QWORD PTR[88+rsp] - adc r12,QWORD PTR[96+rsp] - adc r13,QWORD PTR[104+rsp] - adc r14,QWORD PTR[112+rsp] - adc r15,QWORD PTR[120+rsp] +$L$mul_gather_tail:: + add r8,QWORD PTR[64+rsp] + adc r9,QWORD PTR[72+rsp] + adc r10,QWORD PTR[80+rsp] + adc r11,QWORD PTR[88+rsp] + adc r12,QWORD PTR[96+rsp] + adc r13,QWORD PTR[104+rsp] + adc r14,QWORD PTR[112+rsp] + adc r15,QWORD PTR[120+rsp] sbb rcx,rcx call __rsaz_512_subtract - lea rax,QWORD PTR[((128+24+48))+rsp] - movaps xmm6,XMMWORD PTR[((160-200))+rax] - movaps xmm7,XMMWORD PTR[((176-200))+rax] - movaps xmm8,XMMWORD PTR[((192-200))+rax] - movaps xmm9,XMMWORD PTR[((208-200))+rax] - movaps xmm10,XMMWORD PTR[((224-200))+rax] - movaps xmm11,XMMWORD PTR[((240-200))+rax] - movaps xmm12,XMMWORD PTR[((256-200))+rax] - movaps xmm13,XMMWORD PTR[((272-200))+rax] - movaps xmm14,XMMWORD PTR[((288-200))+rax] - movaps xmm15,XMMWORD PTR[((304-200))+rax] - lea rax,QWORD PTR[176+rax] + lea rax,QWORD PTR[((128+24+48))+rsp] + movaps xmm6,XMMWORD PTR[((160-200))+rax] + movaps xmm7,XMMWORD PTR[((176-200))+rax] + movaps xmm8,XMMWORD PTR[((192-200))+rax] + movaps xmm9,XMMWORD PTR[((208-200))+rax] + movaps xmm10,XMMWORD PTR[((224-200))+rax] + movaps xmm11,XMMWORD PTR[((240-200))+rax] + movaps xmm12,XMMWORD PTR[((256-200))+rax] + movaps xmm13,XMMWORD PTR[((272-200))+rax] + movaps xmm14,XMMWORD PTR[((288-200))+rax] + movaps xmm15,XMMWORD PTR[((304-200))+rax] + lea rax,QWORD PTR[176+rax] - mov r15,QWORD PTR[((-48))+rax] + mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] + mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] + mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] + mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$mul_gather4_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$mul_gather4_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_512_mul_gather4:: -rsaz_512_mul_gather4 ENDP -PUBLIC rsaz_512_mul_scatter4 +$L$SEH_end_rsaz_512_mul_gather4:: +rsaz_512_mul_gather4 ENDP +PUBLIC rsaz_512_mul_scatter4 ALIGN 32 -rsaz_512_mul_scatter4 PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +rsaz_512_mul_scatter4 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_rsaz_512_mul_scatter4:: +$L$SEH_begin_rsaz_512_mul_scatter4:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] @@ -1323,110 +1323,110 @@ $L$SEH_begin_rsaz_512_mul_scatter4:: mov r9d,r9d sub rsp,128+24 -$L$mul_scatter4_body:: - lea r8,QWORD PTR[r9*8+r8] +$L$mul_scatter4_body:: + lea r8,QWORD PTR[r9*8+r8] DB 102,72,15,110,199 DB 102,72,15,110,202 DB 102,73,15,110,208 - mov QWORD PTR[128+rsp],rcx + mov QWORD PTR[128+rsp],rcx mov rbp,rdi - mov r11d,080100h - and r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] - cmp r11d,080100h - je $L$mulx_scatter - mov rbx,QWORD PTR[rdi] + mov r11d,080100h + and r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] + cmp r11d,080100h + je $L$mulx_scatter + mov rbx,QWORD PTR[rdi] call __rsaz_512_mul DB 102,72,15,126,199 DB 102,72,15,126,205 - mov r8,QWORD PTR[rsp] - mov r9,QWORD PTR[8+rsp] - mov r10,QWORD PTR[16+rsp] - mov r11,QWORD PTR[24+rsp] - mov r12,QWORD PTR[32+rsp] - mov r13,QWORD PTR[40+rsp] - mov r14,QWORD PTR[48+rsp] - mov r15,QWORD PTR[56+rsp] + mov r8,QWORD PTR[rsp] + mov r9,QWORD PTR[8+rsp] + mov r10,QWORD PTR[16+rsp] + mov r11,QWORD PTR[24+rsp] + mov r12,QWORD PTR[32+rsp] + mov r13,QWORD PTR[40+rsp] + mov r14,QWORD PTR[48+rsp] + mov r15,QWORD PTR[56+rsp] call __rsaz_512_reduce - jmp $L$mul_scatter_tail + jmp $L$mul_scatter_tail ALIGN 32 -$L$mulx_scatter:: - mov rdx,QWORD PTR[rdi] +$L$mulx_scatter:: + mov rdx,QWORD PTR[rdi] call __rsaz_512_mulx DB 102,72,15,126,199 DB 102,72,15,126,205 - mov rdx,QWORD PTR[128+rsp] - mov r8,QWORD PTR[rsp] - mov r9,QWORD PTR[8+rsp] - mov r10,QWORD PTR[16+rsp] - mov r11,QWORD PTR[24+rsp] - mov r12,QWORD PTR[32+rsp] - mov r13,QWORD PTR[40+rsp] - mov r14,QWORD PTR[48+rsp] - mov r15,QWORD PTR[56+rsp] + mov rdx,QWORD PTR[128+rsp] + mov r8,QWORD PTR[rsp] + mov r9,QWORD PTR[8+rsp] + mov r10,QWORD PTR[16+rsp] + mov r11,QWORD PTR[24+rsp] + mov r12,QWORD PTR[32+rsp] + mov r13,QWORD PTR[40+rsp] + mov r14,QWORD PTR[48+rsp] + mov r15,QWORD PTR[56+rsp] call __rsaz_512_reducex -$L$mul_scatter_tail:: - add r8,QWORD PTR[64+rsp] - adc r9,QWORD PTR[72+rsp] - adc r10,QWORD PTR[80+rsp] - adc r11,QWORD PTR[88+rsp] - adc r12,QWORD PTR[96+rsp] - adc r13,QWORD PTR[104+rsp] - adc r14,QWORD PTR[112+rsp] - adc r15,QWORD PTR[120+rsp] +$L$mul_scatter_tail:: + add r8,QWORD PTR[64+rsp] + adc r9,QWORD PTR[72+rsp] + adc r10,QWORD PTR[80+rsp] + adc r11,QWORD PTR[88+rsp] + adc r12,QWORD PTR[96+rsp] + adc r13,QWORD PTR[104+rsp] + adc r14,QWORD PTR[112+rsp] + adc r15,QWORD PTR[120+rsp] DB 102,72,15,126,214 sbb rcx,rcx call __rsaz_512_subtract - mov QWORD PTR[rsi],r8 - mov QWORD PTR[128+rsi],r9 - mov QWORD PTR[256+rsi],r10 - mov QWORD PTR[384+rsi],r11 - mov QWORD PTR[512+rsi],r12 - mov QWORD PTR[640+rsi],r13 - mov QWORD PTR[768+rsi],r14 - mov QWORD PTR[896+rsi],r15 + mov QWORD PTR[rsi],r8 + mov QWORD PTR[128+rsi],r9 + mov QWORD PTR[256+rsi],r10 + mov QWORD PTR[384+rsi],r11 + mov QWORD PTR[512+rsi],r12 + mov QWORD PTR[640+rsi],r13 + mov QWORD PTR[768+rsi],r14 + mov QWORD PTR[896+rsi],r15 - lea rax,QWORD PTR[((128+24+48))+rsp] + lea rax,QWORD PTR[((128+24+48))+rsp] - mov r15,QWORD PTR[((-48))+rax] + mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] + mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] + mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] + mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$mul_scatter4_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$mul_scatter4_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_512_mul_scatter4:: -rsaz_512_mul_scatter4 ENDP -PUBLIC rsaz_512_mul_by_one +$L$SEH_end_rsaz_512_mul_scatter4:: +rsaz_512_mul_scatter4 ENDP +PUBLIC rsaz_512_mul_by_one ALIGN 32 -rsaz_512_mul_by_one PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +rsaz_512_mul_by_one PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_rsaz_512_mul_by_one:: +$L$SEH_begin_rsaz_512_mul_by_one:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -1449,91 +1449,91 @@ $L$SEH_begin_rsaz_512_mul_by_one:: sub rsp,128+24 -$L$mul_by_one_body:: - mov eax,DWORD PTR[((OPENSSL_ia32cap_P+8))] +$L$mul_by_one_body:: + mov eax,DWORD PTR[((OPENSSL_ia32cap_P+8))] mov rbp,rdx - mov QWORD PTR[128+rsp],rcx + mov QWORD PTR[128+rsp],rcx - mov r8,QWORD PTR[rsi] + mov r8,QWORD PTR[rsi] pxor xmm0,xmm0 - mov r9,QWORD PTR[8+rsi] - mov r10,QWORD PTR[16+rsi] - mov r11,QWORD PTR[24+rsi] - mov r12,QWORD PTR[32+rsi] - mov r13,QWORD PTR[40+rsi] - mov r14,QWORD PTR[48+rsi] - mov r15,QWORD PTR[56+rsi] - - movdqa XMMWORD PTR[rsp],xmm0 - movdqa XMMWORD PTR[16+rsp],xmm0 - movdqa XMMWORD PTR[32+rsp],xmm0 - movdqa XMMWORD PTR[48+rsp],xmm0 - movdqa XMMWORD PTR[64+rsp],xmm0 - movdqa XMMWORD PTR[80+rsp],xmm0 - movdqa XMMWORD PTR[96+rsp],xmm0 - and eax,080100h - cmp eax,080100h - je $L$by_one_callx + mov r9,QWORD PTR[8+rsi] + mov r10,QWORD PTR[16+rsi] + mov r11,QWORD PTR[24+rsi] + mov r12,QWORD PTR[32+rsi] + mov r13,QWORD PTR[40+rsi] + mov r14,QWORD PTR[48+rsi] + mov r15,QWORD PTR[56+rsi] + + movdqa XMMWORD PTR[rsp],xmm0 + movdqa XMMWORD PTR[16+rsp],xmm0 + movdqa XMMWORD PTR[32+rsp],xmm0 + movdqa XMMWORD PTR[48+rsp],xmm0 + movdqa XMMWORD PTR[64+rsp],xmm0 + movdqa XMMWORD PTR[80+rsp],xmm0 + movdqa XMMWORD PTR[96+rsp],xmm0 + and eax,080100h + cmp eax,080100h + je $L$by_one_callx call __rsaz_512_reduce - jmp $L$by_one_tail + jmp $L$by_one_tail ALIGN 32 -$L$by_one_callx:: - mov rdx,QWORD PTR[128+rsp] +$L$by_one_callx:: + mov rdx,QWORD PTR[128+rsp] call __rsaz_512_reducex -$L$by_one_tail:: - mov QWORD PTR[rdi],r8 - mov QWORD PTR[8+rdi],r9 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 - mov QWORD PTR[32+rdi],r12 - mov QWORD PTR[40+rdi],r13 - mov QWORD PTR[48+rdi],r14 - mov QWORD PTR[56+rdi],r15 +$L$by_one_tail:: + mov QWORD PTR[rdi],r8 + mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[32+rdi],r12 + mov QWORD PTR[40+rdi],r13 + mov QWORD PTR[48+rdi],r14 + mov QWORD PTR[56+rdi],r15 - lea rax,QWORD PTR[((128+24+48))+rsp] + lea rax,QWORD PTR[((128+24+48))+rsp] - mov r15,QWORD PTR[((-48))+rax] + mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] + mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] + mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] + mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$mul_by_one_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$mul_by_one_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_512_mul_by_one:: -rsaz_512_mul_by_one ENDP +$L$SEH_end_rsaz_512_mul_by_one:: +rsaz_512_mul_by_one ENDP ALIGN 32 -__rsaz_512_reduce PROC PRIVATE - +__rsaz_512_reduce PROC PRIVATE + mov rbx,r8 - imul rbx,QWORD PTR[((128+8))+rsp] - mov rax,QWORD PTR[rbp] + imul rbx,QWORD PTR[((128+8))+rsp] + mov rax,QWORD PTR[rbp] mov ecx,8 - jmp $L$reduction_loop + jmp $L$reduction_loop ALIGN 32 -$L$reduction_loop:: +$L$reduction_loop:: mul rbx - mov rax,QWORD PTR[8+rbp] + mov rax,QWORD PTR[8+rbp] neg r8 mov r8,rdx adc r8,0 mul rbx add r9,rax - mov rax,QWORD PTR[16+rbp] + mov rax,QWORD PTR[16+rbp] adc rdx,0 add r8,r9 mov r9,rdx @@ -1541,7 +1541,7 @@ $L$reduction_loop:: mul rbx add r10,rax - mov rax,QWORD PTR[24+rbp] + mov rax,QWORD PTR[24+rbp] adc rdx,0 add r9,r10 mov r10,rdx @@ -1549,10 +1549,10 @@ $L$reduction_loop:: mul rbx add r11,rax - mov rax,QWORD PTR[32+rbp] + mov rax,QWORD PTR[32+rbp] adc rdx,0 add r10,r11 - mov rsi,QWORD PTR[((128+8))+rsp] + mov rsi,QWORD PTR[((128+8))+rsp] adc rdx,0 @@ -1560,7 +1560,7 @@ $L$reduction_loop:: mul rbx add r12,rax - mov rax,QWORD PTR[40+rbp] + mov rax,QWORD PTR[40+rbp] adc rdx,0 imul rsi,r8 add r11,r12 @@ -1569,7 +1569,7 @@ $L$reduction_loop:: mul rbx add r13,rax - mov rax,QWORD PTR[48+rbp] + mov rax,QWORD PTR[48+rbp] adc rdx,0 add r12,r13 mov r13,rdx @@ -1577,7 +1577,7 @@ $L$reduction_loop:: mul rbx add r14,rax - mov rax,QWORD PTR[56+rbp] + mov rax,QWORD PTR[56+rbp] adc rdx,0 add r13,r14 mov r14,rdx @@ -1586,208 +1586,208 @@ $L$reduction_loop:: mul rbx mov rbx,rsi add r15,rax - mov rax,QWORD PTR[rbp] + mov rax,QWORD PTR[rbp] adc rdx,0 add r14,r15 mov r15,rdx adc r15,0 dec ecx - jne $L$reduction_loop + jne $L$reduction_loop DB 0F3h,0C3h ;repret -__rsaz_512_reduce ENDP +__rsaz_512_reduce ENDP ALIGN 32 -__rsaz_512_reducex PROC PRIVATE +__rsaz_512_reducex PROC PRIVATE + - imul rdx,r8 xor rsi,rsi mov ecx,8 - jmp $L$reduction_loopx + jmp $L$reduction_loopx ALIGN 32 -$L$reduction_loopx:: +$L$reduction_loopx:: mov rbx,r8 - mulx r8,rax,QWORD PTR[rbp] + mulx r8,rax,QWORD PTR[rbp] adcx rax,rbx adox r8,r9 - mulx r9,rax,QWORD PTR[8+rbp] + mulx r9,rax,QWORD PTR[8+rbp] adcx r8,rax adox r9,r10 - mulx r10,rbx,QWORD PTR[16+rbp] + mulx r10,rbx,QWORD PTR[16+rbp] adcx r9,rbx adox r10,r11 - mulx r11,rbx,QWORD PTR[24+rbp] + mulx r11,rbx,QWORD PTR[24+rbp] adcx r10,rbx adox r11,r12 -DB 0c4h,062h,0e3h,0f6h,0a5h,020h,000h,000h,000h +DB 0c4h,062h,0e3h,0f6h,0a5h,020h,000h,000h,000h mov rax,rdx mov rdx,r8 adcx r11,rbx adox r12,r13 - mulx rdx,rbx,QWORD PTR[((128+8))+rsp] + mulx rdx,rbx,QWORD PTR[((128+8))+rsp] mov rdx,rax - mulx r13,rax,QWORD PTR[40+rbp] + mulx r13,rax,QWORD PTR[40+rbp] adcx r12,rax adox r13,r14 -DB 0c4h,062h,0fbh,0f6h,0b5h,030h,000h,000h,000h +DB 0c4h,062h,0fbh,0f6h,0b5h,030h,000h,000h,000h adcx r13,rax adox r14,r15 - mulx r15,rax,QWORD PTR[56+rbp] + mulx r15,rax,QWORD PTR[56+rbp] mov rdx,rbx adcx r14,rax adox r15,rsi adcx r15,rsi dec ecx - jne $L$reduction_loopx + jne $L$reduction_loopx DB 0F3h,0C3h ;repret -__rsaz_512_reducex ENDP +__rsaz_512_reducex ENDP ALIGN 32 -__rsaz_512_subtract PROC PRIVATE - - mov QWORD PTR[rdi],r8 - mov QWORD PTR[8+rdi],r9 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 - mov QWORD PTR[32+rdi],r12 - mov QWORD PTR[40+rdi],r13 - mov QWORD PTR[48+rdi],r14 - mov QWORD PTR[56+rdi],r15 - - mov r8,QWORD PTR[rbp] - mov r9,QWORD PTR[8+rbp] +__rsaz_512_subtract PROC PRIVATE + + mov QWORD PTR[rdi],r8 + mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[32+rdi],r12 + mov QWORD PTR[40+rdi],r13 + mov QWORD PTR[48+rdi],r14 + mov QWORD PTR[56+rdi],r15 + + mov r8,QWORD PTR[rbp] + mov r9,QWORD PTR[8+rbp] neg r8 not r9 and r8,rcx - mov r10,QWORD PTR[16+rbp] + mov r10,QWORD PTR[16+rbp] and r9,rcx not r10 - mov r11,QWORD PTR[24+rbp] + mov r11,QWORD PTR[24+rbp] and r10,rcx not r11 - mov r12,QWORD PTR[32+rbp] + mov r12,QWORD PTR[32+rbp] and r11,rcx not r12 - mov r13,QWORD PTR[40+rbp] + mov r13,QWORD PTR[40+rbp] and r12,rcx not r13 - mov r14,QWORD PTR[48+rbp] + mov r14,QWORD PTR[48+rbp] and r13,rcx not r14 - mov r15,QWORD PTR[56+rbp] + mov r15,QWORD PTR[56+rbp] and r14,rcx not r15 and r15,rcx - add r8,QWORD PTR[rdi] - adc r9,QWORD PTR[8+rdi] - adc r10,QWORD PTR[16+rdi] - adc r11,QWORD PTR[24+rdi] - adc r12,QWORD PTR[32+rdi] - adc r13,QWORD PTR[40+rdi] - adc r14,QWORD PTR[48+rdi] - adc r15,QWORD PTR[56+rdi] - - mov QWORD PTR[rdi],r8 - mov QWORD PTR[8+rdi],r9 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 - mov QWORD PTR[32+rdi],r12 - mov QWORD PTR[40+rdi],r13 - mov QWORD PTR[48+rdi],r14 - mov QWORD PTR[56+rdi],r15 + add r8,QWORD PTR[rdi] + adc r9,QWORD PTR[8+rdi] + adc r10,QWORD PTR[16+rdi] + adc r11,QWORD PTR[24+rdi] + adc r12,QWORD PTR[32+rdi] + adc r13,QWORD PTR[40+rdi] + adc r14,QWORD PTR[48+rdi] + adc r15,QWORD PTR[56+rdi] + + mov QWORD PTR[rdi],r8 + mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[32+rdi],r12 + mov QWORD PTR[40+rdi],r13 + mov QWORD PTR[48+rdi],r14 + mov QWORD PTR[56+rdi],r15 DB 0F3h,0C3h ;repret -__rsaz_512_subtract ENDP +__rsaz_512_subtract ENDP ALIGN 32 -__rsaz_512_mul PROC PRIVATE +__rsaz_512_mul PROC PRIVATE - lea rdi,QWORD PTR[8+rsp] - - mov rax,QWORD PTR[rsi] + lea rdi,QWORD PTR[8+rsp] + + mov rax,QWORD PTR[rsi] mul rbx - mov QWORD PTR[rdi],rax - mov rax,QWORD PTR[8+rsi] + mov QWORD PTR[rdi],rax + mov rax,QWORD PTR[8+rsi] mov r8,rdx mul rbx add r8,rax - mov rax,QWORD PTR[16+rsi] + mov rax,QWORD PTR[16+rsi] mov r9,rdx adc r9,0 mul rbx add r9,rax - mov rax,QWORD PTR[24+rsi] + mov rax,QWORD PTR[24+rsi] mov r10,rdx adc r10,0 mul rbx add r10,rax - mov rax,QWORD PTR[32+rsi] + mov rax,QWORD PTR[32+rsi] mov r11,rdx adc r11,0 mul rbx add r11,rax - mov rax,QWORD PTR[40+rsi] + mov rax,QWORD PTR[40+rsi] mov r12,rdx adc r12,0 mul rbx add r12,rax - mov rax,QWORD PTR[48+rsi] + mov rax,QWORD PTR[48+rsi] mov r13,rdx adc r13,0 mul rbx add r13,rax - mov rax,QWORD PTR[56+rsi] + mov rax,QWORD PTR[56+rsi] mov r14,rdx adc r14,0 mul rbx add r14,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] mov r15,rdx adc r15,0 - lea rbp,QWORD PTR[8+rbp] - lea rdi,QWORD PTR[8+rdi] + lea rbp,QWORD PTR[8+rbp] + lea rdi,QWORD PTR[8+rdi] mov ecx,7 - jmp $L$oop_mul + jmp $L$oop_mul ALIGN 32 -$L$oop_mul:: - mov rbx,QWORD PTR[rbp] +$L$oop_mul:: + mov rbx,QWORD PTR[rbp] mul rbx add r8,rax - mov rax,QWORD PTR[8+rsi] - mov QWORD PTR[rdi],r8 + mov rax,QWORD PTR[8+rsi] + mov QWORD PTR[rdi],r8 mov r8,rdx adc r8,0 mul rbx add r9,rax - mov rax,QWORD PTR[16+rsi] + mov rax,QWORD PTR[16+rsi] adc rdx,0 add r8,r9 mov r9,rdx @@ -1795,7 +1795,7 @@ $L$oop_mul:: mul rbx add r10,rax - mov rax,QWORD PTR[24+rsi] + mov rax,QWORD PTR[24+rsi] adc rdx,0 add r9,r10 mov r10,rdx @@ -1803,7 +1803,7 @@ $L$oop_mul:: mul rbx add r11,rax - mov rax,QWORD PTR[32+rsi] + mov rax,QWORD PTR[32+rsi] adc rdx,0 add r10,r11 mov r11,rdx @@ -1811,7 +1811,7 @@ $L$oop_mul:: mul rbx add r12,rax - mov rax,QWORD PTR[40+rsi] + mov rax,QWORD PTR[40+rsi] adc rdx,0 add r11,r12 mov r12,rdx @@ -1819,7 +1819,7 @@ $L$oop_mul:: mul rbx add r13,rax - mov rax,QWORD PTR[48+rsi] + mov rax,QWORD PTR[48+rsi] adc rdx,0 add r12,r13 mov r13,rdx @@ -1827,200 +1827,200 @@ $L$oop_mul:: mul rbx add r14,rax - mov rax,QWORD PTR[56+rsi] + mov rax,QWORD PTR[56+rsi] adc rdx,0 add r13,r14 mov r14,rdx - lea rbp,QWORD PTR[8+rbp] + lea rbp,QWORD PTR[8+rbp] adc r14,0 mul rbx add r15,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] adc rdx,0 add r14,r15 mov r15,rdx adc r15,0 - lea rdi,QWORD PTR[8+rdi] + lea rdi,QWORD PTR[8+rdi] dec ecx - jnz $L$oop_mul + jnz $L$oop_mul - mov QWORD PTR[rdi],r8 - mov QWORD PTR[8+rdi],r9 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 - mov QWORD PTR[32+rdi],r12 - mov QWORD PTR[40+rdi],r13 - mov QWORD PTR[48+rdi],r14 - mov QWORD PTR[56+rdi],r15 + mov QWORD PTR[rdi],r8 + mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[32+rdi],r12 + mov QWORD PTR[40+rdi],r13 + mov QWORD PTR[48+rdi],r14 + mov QWORD PTR[56+rdi],r15 DB 0F3h,0C3h ;repret -__rsaz_512_mul ENDP +__rsaz_512_mul ENDP ALIGN 32 -__rsaz_512_mulx PROC PRIVATE - - mulx r8,rbx,QWORD PTR[rsi] +__rsaz_512_mulx PROC PRIVATE + + mulx r8,rbx,QWORD PTR[rsi] mov rcx,-6 - mulx r9,rax,QWORD PTR[8+rsi] - mov QWORD PTR[8+rsp],rbx + mulx r9,rax,QWORD PTR[8+rsi] + mov QWORD PTR[8+rsp],rbx - mulx r10,rbx,QWORD PTR[16+rsi] + mulx r10,rbx,QWORD PTR[16+rsi] adc r8,rax - mulx r11,rax,QWORD PTR[24+rsi] + mulx r11,rax,QWORD PTR[24+rsi] adc r9,rbx - mulx r12,rbx,QWORD PTR[32+rsi] + mulx r12,rbx,QWORD PTR[32+rsi] adc r10,rax - mulx r13,rax,QWORD PTR[40+rsi] + mulx r13,rax,QWORD PTR[40+rsi] adc r11,rbx - mulx r14,rbx,QWORD PTR[48+rsi] + mulx r14,rbx,QWORD PTR[48+rsi] adc r12,rax - mulx r15,rax,QWORD PTR[56+rsi] - mov rdx,QWORD PTR[8+rbp] + mulx r15,rax,QWORD PTR[56+rsi] + mov rdx,QWORD PTR[8+rbp] adc r13,rbx adc r14,rax adc r15,0 xor rdi,rdi - jmp $L$oop_mulx + jmp $L$oop_mulx ALIGN 32 -$L$oop_mulx:: +$L$oop_mulx:: mov rbx,r8 - mulx r8,rax,QWORD PTR[rsi] + mulx r8,rax,QWORD PTR[rsi] adcx rbx,rax adox r8,r9 - mulx r9,rax,QWORD PTR[8+rsi] + mulx r9,rax,QWORD PTR[8+rsi] adcx r8,rax adox r9,r10 - mulx r10,rax,QWORD PTR[16+rsi] + mulx r10,rax,QWORD PTR[16+rsi] adcx r9,rax adox r10,r11 - mulx r11,rax,QWORD PTR[24+rsi] + mulx r11,rax,QWORD PTR[24+rsi] adcx r10,rax adox r11,r12 -DB 03eh,0c4h,062h,0fbh,0f6h,0a6h,020h,000h,000h,000h +DB 03eh,0c4h,062h,0fbh,0f6h,0a6h,020h,000h,000h,000h adcx r11,rax adox r12,r13 - mulx r13,rax,QWORD PTR[40+rsi] + mulx r13,rax,QWORD PTR[40+rsi] adcx r12,rax adox r13,r14 - mulx r14,rax,QWORD PTR[48+rsi] + mulx r14,rax,QWORD PTR[48+rsi] adcx r13,rax adox r14,r15 - mulx r15,rax,QWORD PTR[56+rsi] - mov rdx,QWORD PTR[64+rcx*8+rbp] - mov QWORD PTR[((8+64-8))+rcx*8+rsp],rbx + mulx r15,rax,QWORD PTR[56+rsi] + mov rdx,QWORD PTR[64+rcx*8+rbp] + mov QWORD PTR[((8+64-8))+rcx*8+rsp],rbx adcx r14,rax adox r15,rdi adcx r15,rdi inc rcx - jnz $L$oop_mulx + jnz $L$oop_mulx mov rbx,r8 - mulx r8,rax,QWORD PTR[rsi] + mulx r8,rax,QWORD PTR[rsi] adcx rbx,rax adox r8,r9 -DB 0c4h,062h,0fbh,0f6h,08eh,008h,000h,000h,000h +DB 0c4h,062h,0fbh,0f6h,08eh,008h,000h,000h,000h adcx r8,rax adox r9,r10 -DB 0c4h,062h,0fbh,0f6h,096h,010h,000h,000h,000h +DB 0c4h,062h,0fbh,0f6h,096h,010h,000h,000h,000h adcx r9,rax adox r10,r11 - mulx r11,rax,QWORD PTR[24+rsi] + mulx r11,rax,QWORD PTR[24+rsi] adcx r10,rax adox r11,r12 - mulx r12,rax,QWORD PTR[32+rsi] + mulx r12,rax,QWORD PTR[32+rsi] adcx r11,rax adox r12,r13 - mulx r13,rax,QWORD PTR[40+rsi] + mulx r13,rax,QWORD PTR[40+rsi] adcx r12,rax adox r13,r14 -DB 0c4h,062h,0fbh,0f6h,0b6h,030h,000h,000h,000h +DB 0c4h,062h,0fbh,0f6h,0b6h,030h,000h,000h,000h adcx r13,rax adox r14,r15 -DB 0c4h,062h,0fbh,0f6h,0beh,038h,000h,000h,000h +DB 0c4h,062h,0fbh,0f6h,0beh,038h,000h,000h,000h adcx r14,rax adox r15,rdi adcx r15,rdi - mov QWORD PTR[((8+64-8))+rsp],rbx - mov QWORD PTR[((8+64))+rsp],r8 - mov QWORD PTR[((8+64+8))+rsp],r9 - mov QWORD PTR[((8+64+16))+rsp],r10 - mov QWORD PTR[((8+64+24))+rsp],r11 - mov QWORD PTR[((8+64+32))+rsp],r12 - mov QWORD PTR[((8+64+40))+rsp],r13 - mov QWORD PTR[((8+64+48))+rsp],r14 - mov QWORD PTR[((8+64+56))+rsp],r15 + mov QWORD PTR[((8+64-8))+rsp],rbx + mov QWORD PTR[((8+64))+rsp],r8 + mov QWORD PTR[((8+64+8))+rsp],r9 + mov QWORD PTR[((8+64+16))+rsp],r10 + mov QWORD PTR[((8+64+24))+rsp],r11 + mov QWORD PTR[((8+64+32))+rsp],r12 + mov QWORD PTR[((8+64+40))+rsp],r13 + mov QWORD PTR[((8+64+48))+rsp],r14 + mov QWORD PTR[((8+64+56))+rsp],r15 DB 0F3h,0C3h ;repret -__rsaz_512_mulx ENDP -PUBLIC rsaz_512_scatter4 +__rsaz_512_mulx ENDP +PUBLIC rsaz_512_scatter4 ALIGN 16 -rsaz_512_scatter4 PROC PUBLIC - - lea rcx,QWORD PTR[r8*8+rcx] +rsaz_512_scatter4 PROC PUBLIC + + lea rcx,QWORD PTR[r8*8+rcx] mov r9d,8 - jmp $L$oop_scatter + jmp $L$oop_scatter ALIGN 16 -$L$oop_scatter:: - mov rax,QWORD PTR[rdx] - lea rdx,QWORD PTR[8+rdx] - mov QWORD PTR[rcx],rax - lea rcx,QWORD PTR[128+rcx] +$L$oop_scatter:: + mov rax,QWORD PTR[rdx] + lea rdx,QWORD PTR[8+rdx] + mov QWORD PTR[rcx],rax + lea rcx,QWORD PTR[128+rcx] dec r9d - jnz $L$oop_scatter + jnz $L$oop_scatter DB 0F3h,0C3h ;repret -rsaz_512_scatter4 ENDP +rsaz_512_scatter4 ENDP -PUBLIC rsaz_512_gather4 +PUBLIC rsaz_512_gather4 ALIGN 16 -rsaz_512_gather4 PROC PUBLIC - -$L$SEH_begin_rsaz_512_gather4:: -DB 048h,081h,0ech,0a8h,000h,000h,000h -DB 00fh,029h,034h,024h -DB 00fh,029h,07ch,024h,010h -DB 044h,00fh,029h,044h,024h,020h -DB 044h,00fh,029h,04ch,024h,030h -DB 044h,00fh,029h,054h,024h,040h -DB 044h,00fh,029h,05ch,024h,050h -DB 044h,00fh,029h,064h,024h,060h -DB 044h,00fh,029h,06ch,024h,070h -DB 044h,00fh,029h,0b4h,024h,080h,0,0,0 -DB 044h,00fh,029h,0bch,024h,090h,0,0,0 +rsaz_512_gather4 PROC PUBLIC + +$L$SEH_begin_rsaz_512_gather4:: +DB 048h,081h,0ech,0a8h,000h,000h,000h +DB 00fh,029h,034h,024h +DB 00fh,029h,07ch,024h,010h +DB 044h,00fh,029h,044h,024h,020h +DB 044h,00fh,029h,04ch,024h,030h +DB 044h,00fh,029h,054h,024h,040h +DB 044h,00fh,029h,05ch,024h,050h +DB 044h,00fh,029h,064h,024h,060h +DB 044h,00fh,029h,06ch,024h,070h +DB 044h,00fh,029h,0b4h,024h,080h,0,0,0 +DB 044h,00fh,029h,0bch,024h,090h,0,0,0 movd xmm8,r8d - movdqa xmm1,XMMWORD PTR[(($L$inc+16))] - movdqa xmm0,XMMWORD PTR[$L$inc] + movdqa xmm1,XMMWORD PTR[(($L$inc+16))] + movdqa xmm0,XMMWORD PTR[$L$inc] pshufd xmm8,xmm8,0 movdqa xmm7,xmm1 @@ -2045,22 +2045,22 @@ DB 044h,00fh,029h,0bch,024h,090h,0,0,0 pcmpeqd xmm6,xmm8 pcmpeqd xmm7,xmm8 mov r9d,8 - jmp $L$oop_gather + jmp $L$oop_gather ALIGN 16 -$L$oop_gather:: - movdqa xmm8,XMMWORD PTR[rdx] - movdqa xmm9,XMMWORD PTR[16+rdx] - movdqa xmm10,XMMWORD PTR[32+rdx] - movdqa xmm11,XMMWORD PTR[48+rdx] +$L$oop_gather:: + movdqa xmm8,XMMWORD PTR[rdx] + movdqa xmm9,XMMWORD PTR[16+rdx] + movdqa xmm10,XMMWORD PTR[32+rdx] + movdqa xmm11,XMMWORD PTR[48+rdx] pand xmm8,xmm0 - movdqa xmm12,XMMWORD PTR[64+rdx] + movdqa xmm12,XMMWORD PTR[64+rdx] pand xmm9,xmm1 - movdqa xmm13,XMMWORD PTR[80+rdx] + movdqa xmm13,XMMWORD PTR[80+rdx] pand xmm10,xmm2 - movdqa xmm14,XMMWORD PTR[96+rdx] + movdqa xmm14,XMMWORD PTR[96+rdx] pand xmm11,xmm3 - movdqa xmm15,XMMWORD PTR[112+rdx] - lea rdx,QWORD PTR[128+rdx] + movdqa xmm15,XMMWORD PTR[112+rdx] + lea rdx,QWORD PTR[128+rdx] pand xmm12,xmm4 pand xmm13,xmm5 pand xmm14,xmm6 @@ -2073,36 +2073,36 @@ $L$oop_gather:: por xmm9,xmm15 por xmm8,xmm9 - pshufd xmm9,xmm8,04eh + pshufd xmm9,xmm8,04eh por xmm8,xmm9 - movq QWORD PTR[rcx],xmm8 - lea rcx,QWORD PTR[8+rcx] + movq QWORD PTR[rcx],xmm8 + lea rcx,QWORD PTR[8+rcx] dec r9d - jnz $L$oop_gather - movaps xmm6,XMMWORD PTR[rsp] - movaps xmm7,XMMWORD PTR[16+rsp] - movaps xmm8,XMMWORD PTR[32+rsp] - movaps xmm9,XMMWORD PTR[48+rsp] - movaps xmm10,XMMWORD PTR[64+rsp] - movaps xmm11,XMMWORD PTR[80+rsp] - movaps xmm12,XMMWORD PTR[96+rsp] - movaps xmm13,XMMWORD PTR[112+rsp] - movaps xmm14,XMMWORD PTR[128+rsp] - movaps xmm15,XMMWORD PTR[144+rsp] - add rsp,0a8h + jnz $L$oop_gather + movaps xmm6,XMMWORD PTR[rsp] + movaps xmm7,XMMWORD PTR[16+rsp] + movaps xmm8,XMMWORD PTR[32+rsp] + movaps xmm9,XMMWORD PTR[48+rsp] + movaps xmm10,XMMWORD PTR[64+rsp] + movaps xmm11,XMMWORD PTR[80+rsp] + movaps xmm12,XMMWORD PTR[96+rsp] + movaps xmm13,XMMWORD PTR[112+rsp] + movaps xmm14,XMMWORD PTR[128+rsp] + movaps xmm15,XMMWORD PTR[144+rsp] + add rsp,0a8h DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_512_gather4:: +$L$SEH_end_rsaz_512_gather4:: -rsaz_512_gather4 ENDP +rsaz_512_gather4 ENDP ALIGN 64 -$L$inc:: +$L$inc:: DD 0,0,1,1 DD 2,2,2,2 -EXTERN __imp_RtlVirtualUnwind:NEAR +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -2114,76 +2114,76 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail + jae $L$common_seh_tail - lea rax,QWORD PTR[((128+24+48))+rax] + lea rax,QWORD PTR[((128+24+48))+rax] - lea rbx,QWORD PTR[$L$mul_gather4_epilogue] + lea rbx,QWORD PTR[$L$mul_gather4_epilogue] cmp rbx,r10 - jne $L$se_not_in_mul_gather4 + jne $L$se_not_in_mul_gather4 - lea rax,QWORD PTR[176+rax] + lea rax,QWORD PTR[176+rax] - lea rsi,QWORD PTR[((-48-168))+rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[((-48-168))+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch - -$L$se_not_in_mul_gather4:: - 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 - -$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 - - mov rdi,QWORD PTR[40+r9] + DD 0a548f3fch + +$L$se_not_in_mul_gather4:: + 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 + +$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 + + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -2197,71 +2197,71 @@ $L$common_seh_tail:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP +se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_rsaz_512_sqr - DD imagerel $L$SEH_end_rsaz_512_sqr - DD imagerel $L$SEH_info_rsaz_512_sqr + DD imagerel $L$SEH_begin_rsaz_512_sqr + DD imagerel $L$SEH_end_rsaz_512_sqr + DD imagerel $L$SEH_info_rsaz_512_sqr - DD imagerel $L$SEH_begin_rsaz_512_mul - DD imagerel $L$SEH_end_rsaz_512_mul - DD imagerel $L$SEH_info_rsaz_512_mul + DD imagerel $L$SEH_begin_rsaz_512_mul + DD imagerel $L$SEH_end_rsaz_512_mul + DD imagerel $L$SEH_info_rsaz_512_mul - DD imagerel $L$SEH_begin_rsaz_512_mul_gather4 - DD imagerel $L$SEH_end_rsaz_512_mul_gather4 - DD imagerel $L$SEH_info_rsaz_512_mul_gather4 + DD imagerel $L$SEH_begin_rsaz_512_mul_gather4 + DD imagerel $L$SEH_end_rsaz_512_mul_gather4 + DD imagerel $L$SEH_info_rsaz_512_mul_gather4 - DD imagerel $L$SEH_begin_rsaz_512_mul_scatter4 - DD imagerel $L$SEH_end_rsaz_512_mul_scatter4 - DD imagerel $L$SEH_info_rsaz_512_mul_scatter4 + DD imagerel $L$SEH_begin_rsaz_512_mul_scatter4 + DD imagerel $L$SEH_end_rsaz_512_mul_scatter4 + DD imagerel $L$SEH_info_rsaz_512_mul_scatter4 - DD imagerel $L$SEH_begin_rsaz_512_mul_by_one - DD imagerel $L$SEH_end_rsaz_512_mul_by_one - DD imagerel $L$SEH_info_rsaz_512_mul_by_one + DD imagerel $L$SEH_begin_rsaz_512_mul_by_one + DD imagerel $L$SEH_end_rsaz_512_mul_by_one + DD imagerel $L$SEH_info_rsaz_512_mul_by_one - DD imagerel $L$SEH_begin_rsaz_512_gather4 - DD imagerel $L$SEH_end_rsaz_512_gather4 - DD imagerel $L$SEH_info_rsaz_512_gather4 + DD imagerel $L$SEH_begin_rsaz_512_gather4 + DD imagerel $L$SEH_end_rsaz_512_gather4 + DD imagerel $L$SEH_info_rsaz_512_gather4 -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_rsaz_512_sqr:: +$L$SEH_info_rsaz_512_sqr:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$sqr_body,imagerel $L$sqr_epilogue -$L$SEH_info_rsaz_512_mul:: + DD imagerel se_handler + DD imagerel $L$sqr_body,imagerel $L$sqr_epilogue +$L$SEH_info_rsaz_512_mul:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$mul_body,imagerel $L$mul_epilogue -$L$SEH_info_rsaz_512_mul_gather4:: + DD imagerel se_handler + DD imagerel $L$mul_body,imagerel $L$mul_epilogue +$L$SEH_info_rsaz_512_mul_gather4:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$mul_gather4_body,imagerel $L$mul_gather4_epilogue -$L$SEH_info_rsaz_512_mul_scatter4:: + DD imagerel se_handler + DD imagerel $L$mul_gather4_body,imagerel $L$mul_gather4_epilogue +$L$SEH_info_rsaz_512_mul_scatter4:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$mul_scatter4_body,imagerel $L$mul_scatter4_epilogue -$L$SEH_info_rsaz_512_mul_by_one:: + DD imagerel se_handler + DD imagerel $L$mul_scatter4_body,imagerel $L$mul_scatter4_epilogue +$L$SEH_info_rsaz_512_mul_by_one:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$mul_by_one_body,imagerel $L$mul_by_one_epilogue -$L$SEH_info_rsaz_512_gather4:: -DB 001h,046h,016h,000h -DB 046h,0f8h,009h,000h -DB 03dh,0e8h,008h,000h -DB 034h,0d8h,007h,000h -DB 02eh,0c8h,006h,000h -DB 028h,0b8h,005h,000h -DB 022h,0a8h,004h,000h -DB 01ch,098h,003h,000h -DB 016h,088h,002h,000h -DB 010h,078h,001h,000h -DB 00bh,068h,000h,000h -DB 007h,001h,015h,000h - -.xdata ENDS -END + DD imagerel se_handler + DD imagerel $L$mul_by_one_body,imagerel $L$mul_by_one_epilogue +$L$SEH_info_rsaz_512_gather4:: +DB 001h,046h,016h,000h +DB 046h,0f8h,009h,000h +DB 03dh,0e8h,008h,000h +DB 034h,0d8h,007h,000h +DB 02eh,0c8h,006h,000h +DB 028h,0b8h,005h,000h +DB 022h,0a8h,004h,000h +DB 01ch,098h,003h,000h +DB 016h,088h,002h,000h +DB 010h,078h,001h,000h +DB 00bh,068h,000h,000h +DB 007h,001h,015h,000h + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/bn/x86_64-gf2m.masm b/contrib/libs/openssl/asm/windows/crypto/bn/x86_64-gf2m.masm index 1d197bf20d..1526fe2968 100644 --- a/contrib/libs/openssl/asm/windows/crypto/bn/x86_64-gf2m.masm +++ b/contrib/libs/openssl/asm/windows/crypto/bn/x86_64-gf2m.masm @@ -1,22 +1,22 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' ALIGN 16 -_mul_1x1 PROC PRIVATE +_mul_1x1 PROC PRIVATE sub rsp,128+8 mov r9,-1 - lea rsi,QWORD PTR[rax*1+rax] + lea rsi,QWORD PTR[rax*1+rax] shr r9,3 - lea rdi,QWORD PTR[rax*4] + lea rdi,QWORD PTR[rax*4] and r9,rax - lea r12,QWORD PTR[rax*8] + lea r12,QWORD PTR[rax*8] sar rax,63 - lea r10,QWORD PTR[r9*1+r9] + lea r10,QWORD PTR[r9*1+r9] sar rsi,63 - lea r11,QWORD PTR[r9*4] + lea r11,QWORD PTR[r9*4] and rax,rbp sar rdi,63 mov rdx,rax @@ -36,54 +36,54 @@ _mul_1x1 PROC PRIVATE xor rdx,rbx mov r13,r9 - mov QWORD PTR[rsp],0 + mov QWORD PTR[rsp],0 xor r13,r10 - mov QWORD PTR[8+rsp],r9 + mov QWORD PTR[8+rsp],r9 mov r14,r11 - mov QWORD PTR[16+rsp],r10 + mov QWORD PTR[16+rsp],r10 xor r14,r12 - mov QWORD PTR[24+rsp],r13 + mov QWORD PTR[24+rsp],r13 xor r9,r11 - mov QWORD PTR[32+rsp],r11 + mov QWORD PTR[32+rsp],r11 xor r10,r11 - mov QWORD PTR[40+rsp],r9 + mov QWORD PTR[40+rsp],r9 xor r13,r11 - mov QWORD PTR[48+rsp],r10 + mov QWORD PTR[48+rsp],r10 xor r9,r14 - mov QWORD PTR[56+rsp],r13 + mov QWORD PTR[56+rsp],r13 xor r10,r14 - mov QWORD PTR[64+rsp],r12 + mov QWORD PTR[64+rsp],r12 xor r13,r14 - mov QWORD PTR[72+rsp],r9 + mov QWORD PTR[72+rsp],r9 xor r9,r11 - mov QWORD PTR[80+rsp],r10 + mov QWORD PTR[80+rsp],r10 xor r10,r11 - mov QWORD PTR[88+rsp],r13 + mov QWORD PTR[88+rsp],r13 xor r13,r11 - mov QWORD PTR[96+rsp],r14 + mov QWORD PTR[96+rsp],r14 mov rsi,r8 - mov QWORD PTR[104+rsp],r9 + mov QWORD PTR[104+rsp],r9 and rsi,rbp - mov QWORD PTR[112+rsp],r10 + mov QWORD PTR[112+rsp],r10 shr rbp,4 - mov QWORD PTR[120+rsp],r13 + mov QWORD PTR[120+rsp],r13 mov rdi,r8 and rdi,rbp shr rbp,4 - movq xmm0,QWORD PTR[rsi*8+rsp] + movq xmm0,QWORD PTR[rsi*8+rsp] mov rsi,r8 and rsi,rbp shr rbp,4 - mov rcx,QWORD PTR[rdi*8+rsp] + mov rcx,QWORD PTR[rdi*8+rsp] mov rdi,r8 mov rbx,rcx shl rcx,4 and rdi,rbp - movq xmm1,QWORD PTR[rsi*8+rsp] + movq xmm1,QWORD PTR[rsi*8+rsp] shr rbx,60 xor rax,rcx pslldq xmm1,1 @@ -93,12 +93,12 @@ _mul_1x1 PROC PRIVATE and rsi,rbp shr rbp,4 pxor xmm0,xmm1 - mov rcx,QWORD PTR[rdi*8+rsp] + mov rcx,QWORD PTR[rdi*8+rsp] mov rdi,r8 mov rbx,rcx shl rcx,12 and rdi,rbp - movq xmm1,QWORD PTR[rsi*8+rsp] + movq xmm1,QWORD PTR[rsi*8+rsp] shr rbx,52 xor rax,rcx pslldq xmm1,2 @@ -108,12 +108,12 @@ _mul_1x1 PROC PRIVATE and rsi,rbp shr rbp,4 pxor xmm0,xmm1 - mov rcx,QWORD PTR[rdi*8+rsp] + mov rcx,QWORD PTR[rdi*8+rsp] mov rdi,r8 mov rbx,rcx shl rcx,20 and rdi,rbp - movq xmm1,QWORD PTR[rsi*8+rsp] + movq xmm1,QWORD PTR[rsi*8+rsp] shr rbx,44 xor rax,rcx pslldq xmm1,3 @@ -123,12 +123,12 @@ _mul_1x1 PROC PRIVATE and rsi,rbp shr rbp,4 pxor xmm0,xmm1 - mov rcx,QWORD PTR[rdi*8+rsp] + mov rcx,QWORD PTR[rdi*8+rsp] mov rdi,r8 mov rbx,rcx shl rcx,28 and rdi,rbp - movq xmm1,QWORD PTR[rsi*8+rsp] + movq xmm1,QWORD PTR[rsi*8+rsp] shr rbx,36 xor rax,rcx pslldq xmm1,4 @@ -138,12 +138,12 @@ _mul_1x1 PROC PRIVATE and rsi,rbp shr rbp,4 pxor xmm0,xmm1 - mov rcx,QWORD PTR[rdi*8+rsp] + mov rcx,QWORD PTR[rdi*8+rsp] mov rdi,r8 mov rbx,rcx shl rcx,36 and rdi,rbp - movq xmm1,QWORD PTR[rsi*8+rsp] + movq xmm1,QWORD PTR[rsi*8+rsp] shr rbx,28 xor rax,rcx pslldq xmm1,5 @@ -153,12 +153,12 @@ _mul_1x1 PROC PRIVATE and rsi,rbp shr rbp,4 pxor xmm0,xmm1 - mov rcx,QWORD PTR[rdi*8+rsp] + mov rcx,QWORD PTR[rdi*8+rsp] mov rdi,r8 mov rbx,rcx shl rcx,44 and rdi,rbp - movq xmm1,QWORD PTR[rsi*8+rsp] + movq xmm1,QWORD PTR[rsi*8+rsp] shr rbx,20 xor rax,rcx pslldq xmm1,6 @@ -168,12 +168,12 @@ _mul_1x1 PROC PRIVATE and rsi,rbp shr rbp,4 pxor xmm0,xmm1 - mov rcx,QWORD PTR[rdi*8+rsp] + mov rcx,QWORD PTR[rdi*8+rsp] mov rdi,r8 mov rbx,rcx shl rcx,52 and rdi,rbp - movq xmm1,QWORD PTR[rsi*8+rsp] + movq xmm1,QWORD PTR[rsi*8+rsp] shr rbx,12 xor rax,rcx pslldq xmm1,7 @@ -183,7 +183,7 @@ _mul_1x1 PROC PRIVATE and rsi,rbp shr rbp,4 pxor xmm0,xmm1 - mov rcx,QWORD PTR[rdi*8+rsp] + mov rcx,QWORD PTR[rdi*8+rsp] mov rbx,rcx shl rcx,60 DB 102,72,15,126,198 @@ -198,24 +198,24 @@ DB 102,72,15,126,199 add rsp,128+8 DB 0F3h,0C3h ;repret -$L$end_mul_1x1:: +$L$end_mul_1x1:: -_mul_1x1 ENDP -EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC bn_GF2m_mul_2x2 +_mul_1x1 ENDP +EXTERN OPENSSL_ia32cap_P:NEAR +PUBLIC bn_GF2m_mul_2x2 ALIGN 16 -bn_GF2m_mul_2x2 PROC PUBLIC +bn_GF2m_mul_2x2 PROC PUBLIC mov rax,rsp - mov r10,QWORD PTR[OPENSSL_ia32cap_P] + mov r10,QWORD PTR[OPENSSL_ia32cap_P] bt r10,33 - jnc $L$vanilla_mul_2x2 + jnc $L$vanilla_mul_2x2 DB 102,72,15,110,194 DB 102,73,15,110,201 DB 102,73,15,110,208 - movq xmm3,QWORD PTR[40+rsp] + movq xmm3,QWORD PTR[40+rsp] movdqa xmm4,xmm0 movdqa xmm5,xmm1 DB 102,15,58,68,193,0 @@ -230,100 +230,100 @@ DB 102,15,58,68,229,0 psrldq xmm5,8 pxor xmm2,xmm4 pxor xmm0,xmm5 - movdqu XMMWORD PTR[rcx],xmm2 - movdqu XMMWORD PTR[16+rcx],xmm0 + movdqu XMMWORD PTR[rcx],xmm2 + movdqu XMMWORD PTR[16+rcx],xmm0 DB 0F3h,0C3h ;repret ALIGN 16 -$L$vanilla_mul_2x2:: - lea rsp,QWORD PTR[((-136))+rsp] +$L$vanilla_mul_2x2:: + lea rsp,QWORD PTR[((-136))+rsp] - mov r10,QWORD PTR[176+rsp] - mov QWORD PTR[120+rsp],rdi - mov QWORD PTR[128+rsp],rsi - mov QWORD PTR[80+rsp],r14 + mov r10,QWORD PTR[176+rsp] + mov QWORD PTR[120+rsp],rdi + mov QWORD PTR[128+rsp],rsi + mov QWORD PTR[80+rsp],r14 - mov QWORD PTR[88+rsp],r13 + mov QWORD PTR[88+rsp],r13 - mov QWORD PTR[96+rsp],r12 + mov QWORD PTR[96+rsp],r12 - mov QWORD PTR[104+rsp],rbp + mov QWORD PTR[104+rsp],rbp - mov QWORD PTR[112+rsp],rbx + mov QWORD PTR[112+rsp],rbx -$L$body_mul_2x2:: - mov QWORD PTR[32+rsp],rcx - mov QWORD PTR[40+rsp],rdx - mov QWORD PTR[48+rsp],r8 - mov QWORD PTR[56+rsp],r9 - mov QWORD PTR[64+rsp],r10 +$L$body_mul_2x2:: + mov QWORD PTR[32+rsp],rcx + mov QWORD PTR[40+rsp],rdx + mov QWORD PTR[48+rsp],r8 + mov QWORD PTR[56+rsp],r9 + mov QWORD PTR[64+rsp],r10 - mov r8,0fh + mov r8,0fh mov rax,rdx mov rbp,r9 call _mul_1x1 - mov QWORD PTR[16+rsp],rax - mov QWORD PTR[24+rsp],rdx + mov QWORD PTR[16+rsp],rax + mov QWORD PTR[24+rsp],rdx - mov rax,QWORD PTR[48+rsp] - mov rbp,QWORD PTR[64+rsp] + mov rax,QWORD PTR[48+rsp] + mov rbp,QWORD PTR[64+rsp] call _mul_1x1 - mov QWORD PTR[rsp],rax - mov QWORD PTR[8+rsp],rdx + mov QWORD PTR[rsp],rax + mov QWORD PTR[8+rsp],rdx - mov rax,QWORD PTR[40+rsp] - mov rbp,QWORD PTR[56+rsp] - xor rax,QWORD PTR[48+rsp] - xor rbp,QWORD PTR[64+rsp] + mov rax,QWORD PTR[40+rsp] + mov rbp,QWORD PTR[56+rsp] + xor rax,QWORD PTR[48+rsp] + xor rbp,QWORD PTR[64+rsp] call _mul_1x1 - mov rbx,QWORD PTR[rsp] - mov rcx,QWORD PTR[8+rsp] - mov rdi,QWORD PTR[16+rsp] - mov rsi,QWORD PTR[24+rsp] - mov rbp,QWORD PTR[32+rsp] + mov rbx,QWORD PTR[rsp] + mov rcx,QWORD PTR[8+rsp] + mov rdi,QWORD PTR[16+rsp] + mov rsi,QWORD PTR[24+rsp] + mov rbp,QWORD PTR[32+rsp] xor rax,rdx xor rdx,rcx xor rax,rbx - mov QWORD PTR[rbp],rbx + mov QWORD PTR[rbp],rbx xor rdx,rdi - mov QWORD PTR[24+rbp],rsi + mov QWORD PTR[24+rbp],rsi xor rax,rsi xor rdx,rsi xor rax,rdx - mov QWORD PTR[16+rbp],rdx - mov QWORD PTR[8+rbp],rax + mov QWORD PTR[16+rbp],rdx + mov QWORD PTR[8+rbp],rax - mov r14,QWORD PTR[80+rsp] + mov r14,QWORD PTR[80+rsp] - mov r13,QWORD PTR[88+rsp] + mov r13,QWORD PTR[88+rsp] - mov r12,QWORD PTR[96+rsp] + mov r12,QWORD PTR[96+rsp] - mov rbp,QWORD PTR[104+rsp] + mov rbp,QWORD PTR[104+rsp] - mov rbx,QWORD PTR[112+rsp] + mov rbx,QWORD PTR[112+rsp] - mov rdi,QWORD PTR[120+rsp] - mov rsi,QWORD PTR[128+rsp] - lea rsp,QWORD PTR[136+rsp] + mov rdi,QWORD PTR[120+rsp] + mov rsi,QWORD PTR[128+rsp] + lea rsp,QWORD PTR[136+rsp] -$L$epilogue_mul_2x2:: +$L$epilogue_mul_2x2:: DB 0F3h,0C3h ;repret -$L$end_mul_2x2:: +$L$end_mul_2x2:: -bn_GF2m_mul_2x2 ENDP +bn_GF2m_mul_2x2 ENDP DB 71,70,40,50,94,109,41,32,77,117,108,116,105,112,108,105 DB 99,97,116,105,111,110,32,102,111,114,32,120,56,54,95,54 DB 52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121 DB 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 DB 111,114,103,62,0 ALIGN 16 -EXTERN __imp_RtlVirtualUnwind:NEAR +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -335,58 +335,58 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - lea r10,QWORD PTR[$L$body_mul_2x2] + lea r10,QWORD PTR[$L$body_mul_2x2] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - lea r10,QWORD PTR[$L$epilogue_mul_2x2] + lea r10,QWORD PTR[$L$epilogue_mul_2x2] cmp rbx,r10 - jae $L$in_prologue - - mov r14,QWORD PTR[80+rax] - mov r13,QWORD PTR[88+rax] - mov r12,QWORD PTR[96+rax] - mov rbp,QWORD PTR[104+rax] - mov rbx,QWORD PTR[112+rax] - mov rdi,QWORD PTR[120+rax] - mov rsi,QWORD PTR[128+rax] - - mov QWORD PTR[144+r8],rbx - mov QWORD PTR[160+r8],rbp - mov QWORD PTR[168+r8],rsi - mov QWORD PTR[176+r8],rdi - mov QWORD PTR[216+r8],r12 - mov QWORD PTR[224+r8],r13 - mov QWORD PTR[232+r8],r14 - - lea rax,QWORD PTR[136+rax] - -$L$in_prologue:: - mov QWORD PTR[152+r8],rax - - mov rdi,QWORD PTR[40+r9] + jae $L$in_prologue + + mov r14,QWORD PTR[80+rax] + mov r13,QWORD PTR[88+rax] + mov r12,QWORD PTR[96+rax] + mov rbp,QWORD PTR[104+rax] + mov rbx,QWORD PTR[112+rax] + mov rdi,QWORD PTR[120+rax] + mov rsi,QWORD PTR[128+rax] + + mov QWORD PTR[144+r8],rbx + mov QWORD PTR[160+r8],rbp + mov QWORD PTR[168+r8],rsi + mov QWORD PTR[176+r8],rdi + mov QWORD PTR[216+r8],r12 + mov QWORD PTR[224+r8],r13 + mov QWORD PTR[232+r8],r14 + + lea rax,QWORD PTR[136+rax] + +$L$in_prologue:: + mov QWORD PTR[152+r8],rax + + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -400,27 +400,27 @@ $L$in_prologue:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP +se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel _mul_1x1 - DD imagerel $L$end_mul_1x1 - DD imagerel $L$SEH_info_1x1 - - DD imagerel $L$vanilla_mul_2x2 - DD imagerel $L$end_mul_2x2 - DD imagerel $L$SEH_info_2x2 -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + DD imagerel _mul_1x1 + DD imagerel $L$end_mul_1x1 + DD imagerel $L$SEH_info_1x1 + + DD imagerel $L$vanilla_mul_2x2 + DD imagerel $L$end_mul_2x2 + DD imagerel $L$SEH_info_2x2 +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_1x1:: -DB 001h,007h,002h,000h -DB 007h,001h,011h,000h -$L$SEH_info_2x2:: +$L$SEH_info_1x1:: +DB 001h,007h,002h,000h +DB 007h,001h,011h,000h +$L$SEH_info_2x2:: DB 9,0,0,0 - DD imagerel se_handler - -.xdata ENDS -END + DD imagerel se_handler + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/bn/x86_64-mont.masm b/contrib/libs/openssl/asm/windows/crypto/bn/x86_64-mont.masm index 2aeb70a101..67bb89e7e1 100644 --- a/contrib/libs/openssl/asm/windows/crypto/bn/x86_64-mont.masm +++ b/contrib/libs/openssl/asm/windows/crypto/bn/x86_64-mont.masm @@ -1,22 +1,22 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR +EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC bn_mul_mont +PUBLIC bn_mul_mont ALIGN 16 -bn_mul_mont PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +bn_mul_mont PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_bn_mul_mont:: +$L$SEH_begin_bn_mul_mont:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] @@ -24,18 +24,18 @@ $L$SEH_begin_bn_mul_mont:: mov rax,rsp test r9d,3 - jnz $L$mul_enter + jnz $L$mul_enter cmp r9d,8 - jb $L$mul_enter - mov r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] + jb $L$mul_enter + mov r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] cmp rdx,rsi - jne $L$mul4x_enter + jne $L$mul4x_enter test r9d,7 - jz $L$sqr8x_enter - jmp $L$mul4x_enter + jz $L$sqr8x_enter + jmp $L$mul4x_enter ALIGN 16 -$L$mul_enter:: +$L$mul_enter:: push rbx push rbp @@ -51,7 +51,7 @@ $L$mul_enter:: neg r9 mov r11,rsp - lea r10,QWORD PTR[((-16))+r9*8+rsp] + lea r10,QWORD PTR[((-16))+r9*8+rsp] neg r9 and r10,-1024 @@ -65,27 +65,27 @@ $L$mul_enter:: sub r11,r10 and r11,-4096 - lea rsp,QWORD PTR[r11*1+r10] - mov r11,QWORD PTR[rsp] + lea rsp,QWORD PTR[r11*1+r10] + mov r11,QWORD PTR[rsp] cmp rsp,r10 - ja $L$mul_page_walk - jmp $L$mul_page_walk_done + ja $L$mul_page_walk + jmp $L$mul_page_walk_done ALIGN 16 -$L$mul_page_walk:: - lea rsp,QWORD PTR[((-4096))+rsp] - mov r11,QWORD PTR[rsp] +$L$mul_page_walk:: + lea rsp,QWORD PTR[((-4096))+rsp] + mov r11,QWORD PTR[rsp] cmp rsp,r10 - ja $L$mul_page_walk -$L$mul_page_walk_done:: + ja $L$mul_page_walk +$L$mul_page_walk_done:: - mov QWORD PTR[8+r9*8+rsp],rax + mov QWORD PTR[8+r9*8+rsp],rax -$L$mul_body:: +$L$mul_body:: mov r12,rdx - mov r8,QWORD PTR[r8] - mov rbx,QWORD PTR[r12] - mov rax,QWORD PTR[rsi] + mov r8,QWORD PTR[r8] + mov rbx,QWORD PTR[r12] + mov rax,QWORD PTR[rsi] xor r14,r14 xor r15,r15 @@ -93,69 +93,69 @@ $L$mul_body:: mov rbp,r8 mul rbx mov r10,rax - mov rax,QWORD PTR[rcx] + mov rax,QWORD PTR[rcx] imul rbp,r10 mov r11,rdx mul rbp add r10,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] adc rdx,0 mov r13,rdx - lea r15,QWORD PTR[1+r15] - jmp $L$1st_enter + lea r15,QWORD PTR[1+r15] + jmp $L$1st_enter ALIGN 16 -$L$1st:: +$L$1st:: add r13,rax - mov rax,QWORD PTR[r15*8+rsi] + mov rax,QWORD PTR[r15*8+rsi] adc rdx,0 add r13,r11 mov r11,r10 adc rdx,0 - mov QWORD PTR[((-16))+r15*8+rsp],r13 + mov QWORD PTR[((-16))+r15*8+rsp],r13 mov r13,rdx -$L$1st_enter:: +$L$1st_enter:: mul rbx add r11,rax - mov rax,QWORD PTR[r15*8+rcx] + mov rax,QWORD PTR[r15*8+rcx] adc rdx,0 - lea r15,QWORD PTR[1+r15] + lea r15,QWORD PTR[1+r15] mov r10,rdx mul rbp cmp r15,r9 - jne $L$1st + jne $L$1st add r13,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] adc rdx,0 add r13,r11 adc rdx,0 - mov QWORD PTR[((-16))+r15*8+rsp],r13 + mov QWORD PTR[((-16))+r15*8+rsp],r13 mov r13,rdx mov r11,r10 xor rdx,rdx add r13,r11 adc rdx,0 - mov QWORD PTR[((-8))+r9*8+rsp],r13 - mov QWORD PTR[r9*8+rsp],rdx + mov QWORD PTR[((-8))+r9*8+rsp],r13 + mov QWORD PTR[r9*8+rsp],rdx - lea r14,QWORD PTR[1+r14] - jmp $L$outer + lea r14,QWORD PTR[1+r14] + jmp $L$outer ALIGN 16 -$L$outer:: - mov rbx,QWORD PTR[r14*8+r12] +$L$outer:: + mov rbx,QWORD PTR[r14*8+r12] xor r15,r15 mov rbp,r8 - mov r10,QWORD PTR[rsp] + mov r10,QWORD PTR[rsp] mul rbx add r10,rax - mov rax,QWORD PTR[rcx] + mov rax,QWORD PTR[rcx] adc rdx,0 imul rbp,r10 @@ -163,46 +163,46 @@ $L$outer:: mul rbp add r10,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] adc rdx,0 - mov r10,QWORD PTR[8+rsp] + mov r10,QWORD PTR[8+rsp] mov r13,rdx - lea r15,QWORD PTR[1+r15] - jmp $L$inner_enter + lea r15,QWORD PTR[1+r15] + jmp $L$inner_enter ALIGN 16 -$L$inner:: +$L$inner:: add r13,rax - mov rax,QWORD PTR[r15*8+rsi] + mov rax,QWORD PTR[r15*8+rsi] adc rdx,0 add r13,r10 - mov r10,QWORD PTR[r15*8+rsp] + mov r10,QWORD PTR[r15*8+rsp] adc rdx,0 - mov QWORD PTR[((-16))+r15*8+rsp],r13 + mov QWORD PTR[((-16))+r15*8+rsp],r13 mov r13,rdx -$L$inner_enter:: +$L$inner_enter:: mul rbx add r11,rax - mov rax,QWORD PTR[r15*8+rcx] + mov rax,QWORD PTR[r15*8+rcx] adc rdx,0 add r10,r11 mov r11,rdx adc r11,0 - lea r15,QWORD PTR[1+r15] + lea r15,QWORD PTR[1+r15] mul rbp cmp r15,r9 - jne $L$inner + jne $L$inner add r13,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] adc rdx,0 add r13,r10 - mov r10,QWORD PTR[r15*8+rsp] + mov r10,QWORD PTR[r15*8+rsp] adc rdx,0 - mov QWORD PTR[((-16))+r15*8+rsp],r13 + mov QWORD PTR[((-16))+r15*8+rsp],r13 mov r13,rdx xor rdx,rdx @@ -210,24 +210,24 @@ $L$inner_enter:: adc rdx,0 add r13,r10 adc rdx,0 - mov QWORD PTR[((-8))+r9*8+rsp],r13 - mov QWORD PTR[r9*8+rsp],rdx + mov QWORD PTR[((-8))+r9*8+rsp],r13 + mov QWORD PTR[r9*8+rsp],rdx - lea r14,QWORD PTR[1+r14] + lea r14,QWORD PTR[1+r14] cmp r14,r9 - jb $L$outer + jb $L$outer xor r14,r14 - mov rax,QWORD PTR[rsp] + mov rax,QWORD PTR[rsp] mov r15,r9 ALIGN 16 -$L$sub:: sbb rax,QWORD PTR[r14*8+rcx] - mov QWORD PTR[r14*8+rdi],rax - mov rax,QWORD PTR[8+r14*8+rsp] - lea r14,QWORD PTR[1+r14] +$L$sub:: sbb rax,QWORD PTR[r14*8+rcx] + mov QWORD PTR[r14*8+rdi],rax + mov rax,QWORD PTR[8+r14*8+rsp] + lea r14,QWORD PTR[1+r14] dec r15 - jnz $L$sub + jnz $L$sub sbb rax,0 mov rbx,-1 @@ -235,65 +235,65 @@ $L$sub:: sbb rax,QWORD PTR[r14*8+rcx] xor r14,r14 mov r15,r9 -$L$copy:: - mov rcx,QWORD PTR[r14*8+rdi] - mov rdx,QWORD PTR[r14*8+rsp] +$L$copy:: + mov rcx,QWORD PTR[r14*8+rdi] + mov rdx,QWORD PTR[r14*8+rsp] and rcx,rbx and rdx,rax - mov QWORD PTR[r14*8+rsp],r9 + mov QWORD PTR[r14*8+rsp],r9 or rdx,rcx - mov QWORD PTR[r14*8+rdi],rdx - lea r14,QWORD PTR[1+r14] + mov QWORD PTR[r14*8+rdi],rdx + lea r14,QWORD PTR[1+r14] sub r15,1 - jnz $L$copy + jnz $L$copy - mov rsi,QWORD PTR[8+r9*8+rsp] + mov rsi,QWORD PTR[8+r9*8+rsp] mov rax,1 - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$mul_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$mul_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_bn_mul_mont:: -bn_mul_mont ENDP +$L$SEH_end_bn_mul_mont:: +bn_mul_mont ENDP ALIGN 16 -bn_mul4x_mont PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +bn_mul4x_mont PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_bn_mul4x_mont:: +$L$SEH_begin_bn_mul4x_mont:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] mov r9d,r9d mov rax,rsp -$L$mul4x_enter:: - and r11d,080100h - cmp r11d,080100h - je $L$mulx4x_enter +$L$mul4x_enter:: + and r11d,080100h + cmp r11d,080100h + je $L$mulx4x_enter push rbx push rbp @@ -309,33 +309,33 @@ $L$mul4x_enter:: neg r9 mov r11,rsp - lea r10,QWORD PTR[((-32))+r9*8+rsp] + lea r10,QWORD PTR[((-32))+r9*8+rsp] neg r9 and r10,-1024 sub r11,r10 and r11,-4096 - lea rsp,QWORD PTR[r11*1+r10] - mov r11,QWORD PTR[rsp] + lea rsp,QWORD PTR[r11*1+r10] + mov r11,QWORD PTR[rsp] cmp rsp,r10 - ja $L$mul4x_page_walk - jmp $L$mul4x_page_walk_done + ja $L$mul4x_page_walk + jmp $L$mul4x_page_walk_done -$L$mul4x_page_walk:: - lea rsp,QWORD PTR[((-4096))+rsp] - mov r11,QWORD PTR[rsp] +$L$mul4x_page_walk:: + lea rsp,QWORD PTR[((-4096))+rsp] + mov r11,QWORD PTR[rsp] cmp rsp,r10 - ja $L$mul4x_page_walk -$L$mul4x_page_walk_done:: + ja $L$mul4x_page_walk +$L$mul4x_page_walk_done:: - mov QWORD PTR[8+r9*8+rsp],rax + mov QWORD PTR[8+r9*8+rsp],rax -$L$mul4x_body:: - mov QWORD PTR[16+r9*8+rsp],rdi +$L$mul4x_body:: + mov QWORD PTR[16+r9*8+rsp],rdi mov r12,rdx - mov r8,QWORD PTR[r8] - mov rbx,QWORD PTR[r12] - mov rax,QWORD PTR[rsi] + mov r8,QWORD PTR[r8] + mov rbx,QWORD PTR[r12] + mov rax,QWORD PTR[rsi] xor r14,r14 xor r15,r15 @@ -343,144 +343,144 @@ $L$mul4x_body:: mov rbp,r8 mul rbx mov r10,rax - mov rax,QWORD PTR[rcx] + mov rax,QWORD PTR[rcx] imul rbp,r10 mov r11,rdx mul rbp add r10,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] adc rdx,0 mov rdi,rdx mul rbx add r11,rax - mov rax,QWORD PTR[8+rcx] + mov rax,QWORD PTR[8+rcx] adc rdx,0 mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[16+rsi] + mov rax,QWORD PTR[16+rsi] adc rdx,0 add rdi,r11 - lea r15,QWORD PTR[4+r15] + lea r15,QWORD PTR[4+r15] adc rdx,0 - mov QWORD PTR[rsp],rdi + mov QWORD PTR[rsp],rdi mov r13,rdx - jmp $L$1st4x + jmp $L$1st4x ALIGN 16 -$L$1st4x:: +$L$1st4x:: mul rbx add r10,rax - mov rax,QWORD PTR[((-16))+r15*8+rcx] + mov rax,QWORD PTR[((-16))+r15*8+rcx] adc rdx,0 mov r11,rdx mul rbp add r13,rax - mov rax,QWORD PTR[((-8))+r15*8+rsi] + mov rax,QWORD PTR[((-8))+r15*8+rsi] adc rdx,0 add r13,r10 adc rdx,0 - mov QWORD PTR[((-24))+r15*8+rsp],r13 + mov QWORD PTR[((-24))+r15*8+rsp],r13 mov rdi,rdx mul rbx add r11,rax - mov rax,QWORD PTR[((-8))+r15*8+rcx] + mov rax,QWORD PTR[((-8))+r15*8+rcx] adc rdx,0 mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[r15*8+rsi] + mov rax,QWORD PTR[r15*8+rsi] adc rdx,0 add rdi,r11 adc rdx,0 - mov QWORD PTR[((-16))+r15*8+rsp],rdi + mov QWORD PTR[((-16))+r15*8+rsp],rdi mov r13,rdx mul rbx add r10,rax - mov rax,QWORD PTR[r15*8+rcx] + mov rax,QWORD PTR[r15*8+rcx] adc rdx,0 mov r11,rdx mul rbp add r13,rax - mov rax,QWORD PTR[8+r15*8+rsi] + mov rax,QWORD PTR[8+r15*8+rsi] adc rdx,0 add r13,r10 adc rdx,0 - mov QWORD PTR[((-8))+r15*8+rsp],r13 + mov QWORD PTR[((-8))+r15*8+rsp],r13 mov rdi,rdx mul rbx add r11,rax - mov rax,QWORD PTR[8+r15*8+rcx] + mov rax,QWORD PTR[8+r15*8+rcx] adc rdx,0 - lea r15,QWORD PTR[4+r15] + lea r15,QWORD PTR[4+r15] mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[((-16))+r15*8+rsi] + mov rax,QWORD PTR[((-16))+r15*8+rsi] adc rdx,0 add rdi,r11 adc rdx,0 - mov QWORD PTR[((-32))+r15*8+rsp],rdi + mov QWORD PTR[((-32))+r15*8+rsp],rdi mov r13,rdx cmp r15,r9 - jb $L$1st4x + jb $L$1st4x mul rbx add r10,rax - mov rax,QWORD PTR[((-16))+r15*8+rcx] + mov rax,QWORD PTR[((-16))+r15*8+rcx] adc rdx,0 mov r11,rdx mul rbp add r13,rax - mov rax,QWORD PTR[((-8))+r15*8+rsi] + mov rax,QWORD PTR[((-8))+r15*8+rsi] adc rdx,0 add r13,r10 adc rdx,0 - mov QWORD PTR[((-24))+r15*8+rsp],r13 + mov QWORD PTR[((-24))+r15*8+rsp],r13 mov rdi,rdx mul rbx add r11,rax - mov rax,QWORD PTR[((-8))+r15*8+rcx] + mov rax,QWORD PTR[((-8))+r15*8+rcx] adc rdx,0 mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] adc rdx,0 add rdi,r11 adc rdx,0 - mov QWORD PTR[((-16))+r15*8+rsp],rdi + mov QWORD PTR[((-16))+r15*8+rsp],rdi mov r13,rdx xor rdi,rdi add r13,r10 adc rdi,0 - mov QWORD PTR[((-8))+r15*8+rsp],r13 - mov QWORD PTR[r15*8+rsp],rdi + mov QWORD PTR[((-8))+r15*8+rsp],r13 + mov QWORD PTR[r15*8+rsp],rdi - lea r14,QWORD PTR[1+r14] + lea r14,QWORD PTR[1+r14] ALIGN 4 -$L$outer4x:: - mov rbx,QWORD PTR[r14*8+r12] +$L$outer4x:: + mov rbx,QWORD PTR[r14*8+r12] xor r15,r15 - mov r10,QWORD PTR[rsp] + mov r10,QWORD PTR[rsp] mov rbp,r8 mul rbx add r10,rax - mov rax,QWORD PTR[rcx] + mov rax,QWORD PTR[rcx] adc rdx,0 imul rbp,r10 @@ -488,185 +488,185 @@ $L$outer4x:: mul rbp add r10,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] adc rdx,0 mov rdi,rdx mul rbx add r11,rax - mov rax,QWORD PTR[8+rcx] + mov rax,QWORD PTR[8+rcx] adc rdx,0 - add r11,QWORD PTR[8+rsp] + add r11,QWORD PTR[8+rsp] adc rdx,0 mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[16+rsi] + mov rax,QWORD PTR[16+rsi] adc rdx,0 add rdi,r11 - lea r15,QWORD PTR[4+r15] + lea r15,QWORD PTR[4+r15] adc rdx,0 - mov QWORD PTR[rsp],rdi + mov QWORD PTR[rsp],rdi mov r13,rdx - jmp $L$inner4x + jmp $L$inner4x ALIGN 16 -$L$inner4x:: +$L$inner4x:: mul rbx add r10,rax - mov rax,QWORD PTR[((-16))+r15*8+rcx] + mov rax,QWORD PTR[((-16))+r15*8+rcx] adc rdx,0 - add r10,QWORD PTR[((-16))+r15*8+rsp] + add r10,QWORD PTR[((-16))+r15*8+rsp] adc rdx,0 mov r11,rdx mul rbp add r13,rax - mov rax,QWORD PTR[((-8))+r15*8+rsi] + mov rax,QWORD PTR[((-8))+r15*8+rsi] adc rdx,0 add r13,r10 adc rdx,0 - mov QWORD PTR[((-24))+r15*8+rsp],r13 + mov QWORD PTR[((-24))+r15*8+rsp],r13 mov rdi,rdx mul rbx add r11,rax - mov rax,QWORD PTR[((-8))+r15*8+rcx] + mov rax,QWORD PTR[((-8))+r15*8+rcx] adc rdx,0 - add r11,QWORD PTR[((-8))+r15*8+rsp] + add r11,QWORD PTR[((-8))+r15*8+rsp] adc rdx,0 mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[r15*8+rsi] + mov rax,QWORD PTR[r15*8+rsi] adc rdx,0 add rdi,r11 adc rdx,0 - mov QWORD PTR[((-16))+r15*8+rsp],rdi + mov QWORD PTR[((-16))+r15*8+rsp],rdi mov r13,rdx mul rbx add r10,rax - mov rax,QWORD PTR[r15*8+rcx] + mov rax,QWORD PTR[r15*8+rcx] adc rdx,0 - add r10,QWORD PTR[r15*8+rsp] + add r10,QWORD PTR[r15*8+rsp] adc rdx,0 mov r11,rdx mul rbp add r13,rax - mov rax,QWORD PTR[8+r15*8+rsi] + mov rax,QWORD PTR[8+r15*8+rsi] adc rdx,0 add r13,r10 adc rdx,0 - mov QWORD PTR[((-8))+r15*8+rsp],r13 + mov QWORD PTR[((-8))+r15*8+rsp],r13 mov rdi,rdx mul rbx add r11,rax - mov rax,QWORD PTR[8+r15*8+rcx] + mov rax,QWORD PTR[8+r15*8+rcx] adc rdx,0 - add r11,QWORD PTR[8+r15*8+rsp] + add r11,QWORD PTR[8+r15*8+rsp] adc rdx,0 - lea r15,QWORD PTR[4+r15] + lea r15,QWORD PTR[4+r15] mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[((-16))+r15*8+rsi] + mov rax,QWORD PTR[((-16))+r15*8+rsi] adc rdx,0 add rdi,r11 adc rdx,0 - mov QWORD PTR[((-32))+r15*8+rsp],rdi + mov QWORD PTR[((-32))+r15*8+rsp],rdi mov r13,rdx cmp r15,r9 - jb $L$inner4x + jb $L$inner4x mul rbx add r10,rax - mov rax,QWORD PTR[((-16))+r15*8+rcx] + mov rax,QWORD PTR[((-16))+r15*8+rcx] adc rdx,0 - add r10,QWORD PTR[((-16))+r15*8+rsp] + add r10,QWORD PTR[((-16))+r15*8+rsp] adc rdx,0 mov r11,rdx mul rbp add r13,rax - mov rax,QWORD PTR[((-8))+r15*8+rsi] + mov rax,QWORD PTR[((-8))+r15*8+rsi] adc rdx,0 add r13,r10 adc rdx,0 - mov QWORD PTR[((-24))+r15*8+rsp],r13 + mov QWORD PTR[((-24))+r15*8+rsp],r13 mov rdi,rdx mul rbx add r11,rax - mov rax,QWORD PTR[((-8))+r15*8+rcx] + mov rax,QWORD PTR[((-8))+r15*8+rcx] adc rdx,0 - add r11,QWORD PTR[((-8))+r15*8+rsp] + add r11,QWORD PTR[((-8))+r15*8+rsp] adc rdx,0 - lea r14,QWORD PTR[1+r14] + lea r14,QWORD PTR[1+r14] mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] adc rdx,0 add rdi,r11 adc rdx,0 - mov QWORD PTR[((-16))+r15*8+rsp],rdi + mov QWORD PTR[((-16))+r15*8+rsp],rdi mov r13,rdx xor rdi,rdi add r13,r10 adc rdi,0 - add r13,QWORD PTR[r9*8+rsp] + add r13,QWORD PTR[r9*8+rsp] adc rdi,0 - mov QWORD PTR[((-8))+r15*8+rsp],r13 - mov QWORD PTR[r15*8+rsp],rdi + mov QWORD PTR[((-8))+r15*8+rsp],r13 + mov QWORD PTR[r15*8+rsp],rdi cmp r14,r9 - jb $L$outer4x - mov rdi,QWORD PTR[16+r9*8+rsp] - lea r15,QWORD PTR[((-4))+r9] - mov rax,QWORD PTR[rsp] - mov rdx,QWORD PTR[8+rsp] + jb $L$outer4x + mov rdi,QWORD PTR[16+r9*8+rsp] + lea r15,QWORD PTR[((-4))+r9] + mov rax,QWORD PTR[rsp] + mov rdx,QWORD PTR[8+rsp] shr r15,2 - lea rsi,QWORD PTR[rsp] + lea rsi,QWORD PTR[rsp] xor r14,r14 - sub rax,QWORD PTR[rcx] - mov rbx,QWORD PTR[16+rsi] - mov rbp,QWORD PTR[24+rsi] - sbb rdx,QWORD PTR[8+rcx] - -$L$sub4x:: - mov QWORD PTR[r14*8+rdi],rax - mov QWORD PTR[8+r14*8+rdi],rdx - sbb rbx,QWORD PTR[16+r14*8+rcx] - mov rax,QWORD PTR[32+r14*8+rsi] - mov rdx,QWORD PTR[40+r14*8+rsi] - sbb rbp,QWORD PTR[24+r14*8+rcx] - mov QWORD PTR[16+r14*8+rdi],rbx - mov QWORD PTR[24+r14*8+rdi],rbp - sbb rax,QWORD PTR[32+r14*8+rcx] - mov rbx,QWORD PTR[48+r14*8+rsi] - mov rbp,QWORD PTR[56+r14*8+rsi] - sbb rdx,QWORD PTR[40+r14*8+rcx] - lea r14,QWORD PTR[4+r14] + sub rax,QWORD PTR[rcx] + mov rbx,QWORD PTR[16+rsi] + mov rbp,QWORD PTR[24+rsi] + sbb rdx,QWORD PTR[8+rcx] + +$L$sub4x:: + mov QWORD PTR[r14*8+rdi],rax + mov QWORD PTR[8+r14*8+rdi],rdx + sbb rbx,QWORD PTR[16+r14*8+rcx] + mov rax,QWORD PTR[32+r14*8+rsi] + mov rdx,QWORD PTR[40+r14*8+rsi] + sbb rbp,QWORD PTR[24+r14*8+rcx] + mov QWORD PTR[16+r14*8+rdi],rbx + mov QWORD PTR[24+r14*8+rdi],rbp + sbb rax,QWORD PTR[32+r14*8+rcx] + mov rbx,QWORD PTR[48+r14*8+rsi] + mov rbp,QWORD PTR[56+r14*8+rsi] + sbb rdx,QWORD PTR[40+r14*8+rcx] + lea r14,QWORD PTR[4+r14] dec r15 - jnz $L$sub4x + jnz $L$sub4x - mov QWORD PTR[r14*8+rdi],rax - mov rax,QWORD PTR[32+r14*8+rsi] - sbb rbx,QWORD PTR[16+r14*8+rcx] - mov QWORD PTR[8+r14*8+rdi],rdx - sbb rbp,QWORD PTR[24+r14*8+rcx] - mov QWORD PTR[16+r14*8+rdi],rbx + mov QWORD PTR[r14*8+rdi],rax + mov rax,QWORD PTR[32+r14*8+rsi] + sbb rbx,QWORD PTR[16+r14*8+rcx] + mov QWORD PTR[8+r14*8+rdi],rdx + sbb rbp,QWORD PTR[24+r14*8+rcx] + mov QWORD PTR[16+r14*8+rdi],rbx sbb rax,0 - mov QWORD PTR[24+r14*8+rdi],rbp + mov QWORD PTR[24+r14*8+rdi],rbp pxor xmm0,xmm0 DB 102,72,15,110,224 pcmpeqd xmm5,xmm5 @@ -676,72 +676,72 @@ DB 102,72,15,110,224 shr r15,2 xor eax,eax - jmp $L$copy4x + jmp $L$copy4x ALIGN 16 -$L$copy4x:: - movdqa xmm1,XMMWORD PTR[rax*1+rsp] - movdqu xmm2,XMMWORD PTR[rax*1+rdi] +$L$copy4x:: + movdqa xmm1,XMMWORD PTR[rax*1+rsp] + movdqu xmm2,XMMWORD PTR[rax*1+rdi] pand xmm1,xmm4 pand xmm2,xmm5 - movdqa xmm3,XMMWORD PTR[16+rax*1+rsp] - movdqa XMMWORD PTR[rax*1+rsp],xmm0 + movdqa xmm3,XMMWORD PTR[16+rax*1+rsp] + movdqa XMMWORD PTR[rax*1+rsp],xmm0 por xmm1,xmm2 - movdqu xmm2,XMMWORD PTR[16+rax*1+rdi] - movdqu XMMWORD PTR[rax*1+rdi],xmm1 + movdqu xmm2,XMMWORD PTR[16+rax*1+rdi] + movdqu XMMWORD PTR[rax*1+rdi],xmm1 pand xmm3,xmm4 pand xmm2,xmm5 - movdqa XMMWORD PTR[16+rax*1+rsp],xmm0 + movdqa XMMWORD PTR[16+rax*1+rsp],xmm0 por xmm3,xmm2 - movdqu XMMWORD PTR[16+rax*1+rdi],xmm3 - lea rax,QWORD PTR[32+rax] + movdqu XMMWORD PTR[16+rax*1+rdi],xmm3 + lea rax,QWORD PTR[32+rax] dec r15 - jnz $L$copy4x - mov rsi,QWORD PTR[8+r9*8+rsp] + jnz $L$copy4x + mov rsi,QWORD PTR[8+r9*8+rsp] mov rax,1 - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$mul4x_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$mul4x_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_bn_mul4x_mont:: -bn_mul4x_mont ENDP -EXTERN bn_sqrx8x_internal:NEAR -EXTERN bn_sqr8x_internal:NEAR +$L$SEH_end_bn_mul4x_mont:: +bn_mul4x_mont ENDP +EXTERN bn_sqrx8x_internal:NEAR +EXTERN bn_sqr8x_internal:NEAR ALIGN 32 -bn_sqr8x_mont PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +bn_sqr8x_mont PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_bn_sqr8x_mont:: +$L$SEH_begin_bn_sqr8x_mont:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] mov rax,rsp -$L$sqr8x_enter:: +$L$sqr8x_enter:: push rbx push rbp @@ -754,7 +754,7 @@ $L$sqr8x_enter:: push r15 -$L$sqr8x_prologue:: +$L$sqr8x_prologue:: mov r10d,r9d shl r9d,3 @@ -766,130 +766,130 @@ $L$sqr8x_prologue:: - lea r11,QWORD PTR[((-64))+r9*2+rsp] + lea r11,QWORD PTR[((-64))+r9*2+rsp] mov rbp,rsp - mov r8,QWORD PTR[r8] + mov r8,QWORD PTR[r8] sub r11,rsi and r11,4095 cmp r10,r11 - jb $L$sqr8x_sp_alt + jb $L$sqr8x_sp_alt sub rbp,r11 - lea rbp,QWORD PTR[((-64))+r9*2+rbp] - jmp $L$sqr8x_sp_done + lea rbp,QWORD PTR[((-64))+r9*2+rbp] + jmp $L$sqr8x_sp_done ALIGN 32 -$L$sqr8x_sp_alt:: - lea r10,QWORD PTR[((4096-64))+r9*2] - lea rbp,QWORD PTR[((-64))+r9*2+rbp] +$L$sqr8x_sp_alt:: + lea r10,QWORD PTR[((4096-64))+r9*2] + lea rbp,QWORD PTR[((-64))+r9*2+rbp] sub r11,r10 mov r10,0 cmovc r11,r10 sub rbp,r11 -$L$sqr8x_sp_done:: +$L$sqr8x_sp_done:: and rbp,-64 mov r11,rsp sub r11,rbp and r11,-4096 - lea rsp,QWORD PTR[rbp*1+r11] - mov r10,QWORD PTR[rsp] + lea rsp,QWORD PTR[rbp*1+r11] + mov r10,QWORD PTR[rsp] cmp rsp,rbp - ja $L$sqr8x_page_walk - jmp $L$sqr8x_page_walk_done + ja $L$sqr8x_page_walk + jmp $L$sqr8x_page_walk_done ALIGN 16 -$L$sqr8x_page_walk:: - lea rsp,QWORD PTR[((-4096))+rsp] - mov r10,QWORD PTR[rsp] +$L$sqr8x_page_walk:: + lea rsp,QWORD PTR[((-4096))+rsp] + mov r10,QWORD PTR[rsp] cmp rsp,rbp - ja $L$sqr8x_page_walk -$L$sqr8x_page_walk_done:: + ja $L$sqr8x_page_walk +$L$sqr8x_page_walk_done:: mov r10,r9 neg r9 - mov QWORD PTR[32+rsp],r8 - mov QWORD PTR[40+rsp],rax + mov QWORD PTR[32+rsp],r8 + mov QWORD PTR[40+rsp],rax -$L$sqr8x_body:: +$L$sqr8x_body:: DB 102,72,15,110,209 pxor xmm0,xmm0 DB 102,72,15,110,207 DB 102,73,15,110,218 - mov eax,DWORD PTR[((OPENSSL_ia32cap_P+8))] - and eax,080100h - cmp eax,080100h - jne $L$sqr8x_nox + mov eax,DWORD PTR[((OPENSSL_ia32cap_P+8))] + and eax,080100h + cmp eax,080100h + jne $L$sqr8x_nox call bn_sqrx8x_internal - lea rbx,QWORD PTR[rcx*1+r8] + lea rbx,QWORD PTR[rcx*1+r8] mov r9,rcx mov rdx,rcx DB 102,72,15,126,207 sar rcx,3+2 - jmp $L$sqr8x_sub + jmp $L$sqr8x_sub ALIGN 32 -$L$sqr8x_nox:: +$L$sqr8x_nox:: call bn_sqr8x_internal - lea rbx,QWORD PTR[r9*1+rdi] + lea rbx,QWORD PTR[r9*1+rdi] mov rcx,r9 mov rdx,r9 DB 102,72,15,126,207 sar rcx,3+2 - jmp $L$sqr8x_sub + jmp $L$sqr8x_sub ALIGN 32 -$L$sqr8x_sub:: - mov r12,QWORD PTR[rbx] - mov r13,QWORD PTR[8+rbx] - mov r14,QWORD PTR[16+rbx] - mov r15,QWORD PTR[24+rbx] - lea rbx,QWORD PTR[32+rbx] - sbb r12,QWORD PTR[rbp] - sbb r13,QWORD PTR[8+rbp] - sbb r14,QWORD PTR[16+rbp] - sbb r15,QWORD PTR[24+rbp] - lea rbp,QWORD PTR[32+rbp] - mov QWORD PTR[rdi],r12 - mov QWORD PTR[8+rdi],r13 - mov QWORD PTR[16+rdi],r14 - mov QWORD PTR[24+rdi],r15 - lea rdi,QWORD PTR[32+rdi] +$L$sqr8x_sub:: + mov r12,QWORD PTR[rbx] + mov r13,QWORD PTR[8+rbx] + mov r14,QWORD PTR[16+rbx] + mov r15,QWORD PTR[24+rbx] + lea rbx,QWORD PTR[32+rbx] + sbb r12,QWORD PTR[rbp] + sbb r13,QWORD PTR[8+rbp] + sbb r14,QWORD PTR[16+rbp] + sbb r15,QWORD PTR[24+rbp] + lea rbp,QWORD PTR[32+rbp] + mov QWORD PTR[rdi],r12 + mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[16+rdi],r14 + mov QWORD PTR[24+rdi],r15 + lea rdi,QWORD PTR[32+rdi] inc rcx - jnz $L$sqr8x_sub + jnz $L$sqr8x_sub sbb rax,0 - lea rbx,QWORD PTR[r9*1+rbx] - lea rdi,QWORD PTR[r9*1+rdi] + lea rbx,QWORD PTR[r9*1+rbx] + lea rdi,QWORD PTR[r9*1+rdi] DB 102,72,15,110,200 pxor xmm0,xmm0 pshufd xmm1,xmm1,0 - mov rsi,QWORD PTR[40+rsp] + mov rsi,QWORD PTR[40+rsp] - jmp $L$sqr8x_cond_copy + jmp $L$sqr8x_cond_copy ALIGN 32 -$L$sqr8x_cond_copy:: - movdqa xmm2,XMMWORD PTR[rbx] - movdqa xmm3,XMMWORD PTR[16+rbx] - lea rbx,QWORD PTR[32+rbx] - movdqu xmm4,XMMWORD PTR[rdi] - movdqu xmm5,XMMWORD PTR[16+rdi] - lea rdi,QWORD PTR[32+rdi] - movdqa XMMWORD PTR[(-32)+rbx],xmm0 - movdqa XMMWORD PTR[(-16)+rbx],xmm0 - movdqa XMMWORD PTR[(-32)+rdx*1+rbx],xmm0 - movdqa XMMWORD PTR[(-16)+rdx*1+rbx],xmm0 +$L$sqr8x_cond_copy:: + movdqa xmm2,XMMWORD PTR[rbx] + movdqa xmm3,XMMWORD PTR[16+rbx] + lea rbx,QWORD PTR[32+rbx] + movdqu xmm4,XMMWORD PTR[rdi] + movdqu xmm5,XMMWORD PTR[16+rdi] + lea rdi,QWORD PTR[32+rdi] + movdqa XMMWORD PTR[(-32)+rbx],xmm0 + movdqa XMMWORD PTR[(-16)+rbx],xmm0 + movdqa XMMWORD PTR[(-32)+rdx*1+rbx],xmm0 + movdqa XMMWORD PTR[(-16)+rdx*1+rbx],xmm0 pcmpeqd xmm0,xmm1 pand xmm2,xmm1 pand xmm3,xmm1 @@ -898,52 +898,52 @@ $L$sqr8x_cond_copy:: pxor xmm0,xmm0 por xmm4,xmm2 por xmm5,xmm3 - movdqu XMMWORD PTR[(-32)+rdi],xmm4 - movdqu XMMWORD PTR[(-16)+rdi],xmm5 + movdqu XMMWORD PTR[(-32)+rdi],xmm4 + movdqu XMMWORD PTR[(-16)+rdi],xmm5 add r9,32 - jnz $L$sqr8x_cond_copy + jnz $L$sqr8x_cond_copy mov rax,1 - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$sqr8x_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$sqr8x_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_bn_sqr8x_mont:: -bn_sqr8x_mont ENDP +$L$SEH_end_bn_sqr8x_mont:: +bn_sqr8x_mont ENDP ALIGN 32 -bn_mulx4x_mont PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +bn_mulx4x_mont PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_bn_mulx4x_mont:: +$L$SEH_begin_bn_mulx4x_mont:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] mov rax,rsp -$L$mulx4x_enter:: +$L$mulx4x_enter:: push rbx push rbp @@ -956,32 +956,32 @@ $L$mulx4x_enter:: push r15 -$L$mulx4x_prologue:: +$L$mulx4x_prologue:: shl r9d,3 xor r10,r10 sub r10,r9 - mov r8,QWORD PTR[r8] - lea rbp,QWORD PTR[((-72))+r10*1+rsp] + mov r8,QWORD PTR[r8] + lea rbp,QWORD PTR[((-72))+r10*1+rsp] and rbp,-128 mov r11,rsp sub r11,rbp and r11,-4096 - lea rsp,QWORD PTR[rbp*1+r11] - mov r10,QWORD PTR[rsp] + lea rsp,QWORD PTR[rbp*1+r11] + mov r10,QWORD PTR[rsp] cmp rsp,rbp - ja $L$mulx4x_page_walk - jmp $L$mulx4x_page_walk_done + ja $L$mulx4x_page_walk + jmp $L$mulx4x_page_walk_done ALIGN 16 -$L$mulx4x_page_walk:: - lea rsp,QWORD PTR[((-4096))+rsp] - mov r10,QWORD PTR[rsp] +$L$mulx4x_page_walk:: + lea rsp,QWORD PTR[((-4096))+rsp] + mov r10,QWORD PTR[rsp] cmp rsp,rbp - ja $L$mulx4x_page_walk -$L$mulx4x_page_walk_done:: + ja $L$mulx4x_page_walk +$L$mulx4x_page_walk_done:: - lea r10,QWORD PTR[r9*1+rdx] + lea r10,QWORD PTR[r9*1+rdx] @@ -994,271 +994,271 @@ $L$mulx4x_page_walk_done:: - mov QWORD PTR[rsp],r9 + mov QWORD PTR[rsp],r9 shr r9,5 - mov QWORD PTR[16+rsp],r10 + mov QWORD PTR[16+rsp],r10 sub r9,1 - mov QWORD PTR[24+rsp],r8 - mov QWORD PTR[32+rsp],rdi - mov QWORD PTR[40+rsp],rax + mov QWORD PTR[24+rsp],r8 + mov QWORD PTR[32+rsp],rdi + mov QWORD PTR[40+rsp],rax - mov QWORD PTR[48+rsp],r9 - jmp $L$mulx4x_body + mov QWORD PTR[48+rsp],r9 + jmp $L$mulx4x_body ALIGN 32 -$L$mulx4x_body:: - lea rdi,QWORD PTR[8+rdx] - mov rdx,QWORD PTR[rdx] - lea rbx,QWORD PTR[((64+32))+rsp] +$L$mulx4x_body:: + lea rdi,QWORD PTR[8+rdx] + mov rdx,QWORD PTR[rdx] + lea rbx,QWORD PTR[((64+32))+rsp] mov r9,rdx - mulx rax,r8,QWORD PTR[rsi] - mulx r14,r11,QWORD PTR[8+rsi] + mulx rax,r8,QWORD PTR[rsi] + mulx r14,r11,QWORD PTR[8+rsi] add r11,rax - mov QWORD PTR[8+rsp],rdi - mulx r13,r12,QWORD PTR[16+rsi] + mov QWORD PTR[8+rsp],rdi + mulx r13,r12,QWORD PTR[16+rsi] adc r12,r14 adc r13,0 mov rdi,r8 - imul r8,QWORD PTR[24+rsp] + imul r8,QWORD PTR[24+rsp] xor rbp,rbp - mulx r14,rax,QWORD PTR[24+rsi] + mulx r14,rax,QWORD PTR[24+rsi] mov rdx,r8 - lea rsi,QWORD PTR[32+rsi] + lea rsi,QWORD PTR[32+rsi] adcx r13,rax adcx r14,rbp - mulx r10,rax,QWORD PTR[rcx] + mulx r10,rax,QWORD PTR[rcx] adcx rdi,rax adox r10,r11 - mulx r11,rax,QWORD PTR[8+rcx] + mulx r11,rax,QWORD PTR[8+rcx] adcx r10,rax adox r11,r12 -DB 0c4h,062h,0fbh,0f6h,0a1h,010h,000h,000h,000h - mov rdi,QWORD PTR[48+rsp] - mov QWORD PTR[((-32))+rbx],r10 +DB 0c4h,062h,0fbh,0f6h,0a1h,010h,000h,000h,000h + mov rdi,QWORD PTR[48+rsp] + mov QWORD PTR[((-32))+rbx],r10 adcx r11,rax adox r12,r13 - mulx r15,rax,QWORD PTR[24+rcx] + mulx r15,rax,QWORD PTR[24+rcx] mov rdx,r9 - mov QWORD PTR[((-24))+rbx],r11 + mov QWORD PTR[((-24))+rbx],r11 adcx r12,rax adox r15,rbp - lea rcx,QWORD PTR[32+rcx] - mov QWORD PTR[((-16))+rbx],r12 + lea rcx,QWORD PTR[32+rcx] + mov QWORD PTR[((-16))+rbx],r12 - jmp $L$mulx4x_1st + jmp $L$mulx4x_1st ALIGN 32 -$L$mulx4x_1st:: +$L$mulx4x_1st:: adcx r15,rbp - mulx rax,r10,QWORD PTR[rsi] + mulx rax,r10,QWORD PTR[rsi] adcx r10,r14 - mulx r14,r11,QWORD PTR[8+rsi] + mulx r14,r11,QWORD PTR[8+rsi] adcx r11,rax - mulx rax,r12,QWORD PTR[16+rsi] + mulx rax,r12,QWORD PTR[16+rsi] adcx r12,r14 - mulx r14,r13,QWORD PTR[24+rsi] -DB 067h,067h + mulx r14,r13,QWORD PTR[24+rsi] +DB 067h,067h mov rdx,r8 adcx r13,rax adcx r14,rbp - lea rsi,QWORD PTR[32+rsi] - lea rbx,QWORD PTR[32+rbx] + lea rsi,QWORD PTR[32+rsi] + lea rbx,QWORD PTR[32+rbx] adox r10,r15 - mulx r15,rax,QWORD PTR[rcx] + mulx r15,rax,QWORD PTR[rcx] adcx r10,rax adox r11,r15 - mulx r15,rax,QWORD PTR[8+rcx] + mulx r15,rax,QWORD PTR[8+rcx] adcx r11,rax adox r12,r15 - mulx r15,rax,QWORD PTR[16+rcx] - mov QWORD PTR[((-40))+rbx],r10 + mulx r15,rax,QWORD PTR[16+rcx] + mov QWORD PTR[((-40))+rbx],r10 adcx r12,rax - mov QWORD PTR[((-32))+rbx],r11 + mov QWORD PTR[((-32))+rbx],r11 adox r13,r15 - mulx r15,rax,QWORD PTR[24+rcx] + mulx r15,rax,QWORD PTR[24+rcx] mov rdx,r9 - mov QWORD PTR[((-24))+rbx],r12 + mov QWORD PTR[((-24))+rbx],r12 adcx r13,rax adox r15,rbp - lea rcx,QWORD PTR[32+rcx] - mov QWORD PTR[((-16))+rbx],r13 + lea rcx,QWORD PTR[32+rcx] + mov QWORD PTR[((-16))+rbx],r13 dec rdi - jnz $L$mulx4x_1st + jnz $L$mulx4x_1st - mov rax,QWORD PTR[rsp] - mov rdi,QWORD PTR[8+rsp] + mov rax,QWORD PTR[rsp] + mov rdi,QWORD PTR[8+rsp] adc r15,rbp add r14,r15 sbb r15,r15 - mov QWORD PTR[((-8))+rbx],r14 - jmp $L$mulx4x_outer + mov QWORD PTR[((-8))+rbx],r14 + jmp $L$mulx4x_outer ALIGN 32 -$L$mulx4x_outer:: - mov rdx,QWORD PTR[rdi] - lea rdi,QWORD PTR[8+rdi] +$L$mulx4x_outer:: + mov rdx,QWORD PTR[rdi] + lea rdi,QWORD PTR[8+rdi] sub rsi,rax - mov QWORD PTR[rbx],r15 - lea rbx,QWORD PTR[((64+32))+rsp] + mov QWORD PTR[rbx],r15 + lea rbx,QWORD PTR[((64+32))+rsp] sub rcx,rax - mulx r11,r8,QWORD PTR[rsi] + mulx r11,r8,QWORD PTR[rsi] xor ebp,ebp mov r9,rdx - mulx r12,r14,QWORD PTR[8+rsi] - adox r8,QWORD PTR[((-32))+rbx] + mulx r12,r14,QWORD PTR[8+rsi] + adox r8,QWORD PTR[((-32))+rbx] adcx r11,r14 - mulx r13,r15,QWORD PTR[16+rsi] - adox r11,QWORD PTR[((-24))+rbx] + mulx r13,r15,QWORD PTR[16+rsi] + adox r11,QWORD PTR[((-24))+rbx] adcx r12,r15 - adox r12,QWORD PTR[((-16))+rbx] + adox r12,QWORD PTR[((-16))+rbx] adcx r13,rbp adox r13,rbp - mov QWORD PTR[8+rsp],rdi + mov QWORD PTR[8+rsp],rdi mov r15,r8 - imul r8,QWORD PTR[24+rsp] + imul r8,QWORD PTR[24+rsp] xor ebp,ebp - mulx r14,rax,QWORD PTR[24+rsi] + mulx r14,rax,QWORD PTR[24+rsi] mov rdx,r8 adcx r13,rax - adox r13,QWORD PTR[((-8))+rbx] + adox r13,QWORD PTR[((-8))+rbx] adcx r14,rbp - lea rsi,QWORD PTR[32+rsi] + lea rsi,QWORD PTR[32+rsi] adox r14,rbp - mulx r10,rax,QWORD PTR[rcx] + mulx r10,rax,QWORD PTR[rcx] adcx r15,rax adox r10,r11 - mulx r11,rax,QWORD PTR[8+rcx] + mulx r11,rax,QWORD PTR[8+rcx] adcx r10,rax adox r11,r12 - mulx r12,rax,QWORD PTR[16+rcx] - mov QWORD PTR[((-32))+rbx],r10 + mulx r12,rax,QWORD PTR[16+rcx] + mov QWORD PTR[((-32))+rbx],r10 adcx r11,rax adox r12,r13 - mulx r15,rax,QWORD PTR[24+rcx] + mulx r15,rax,QWORD PTR[24+rcx] mov rdx,r9 - mov QWORD PTR[((-24))+rbx],r11 - lea rcx,QWORD PTR[32+rcx] + mov QWORD PTR[((-24))+rbx],r11 + lea rcx,QWORD PTR[32+rcx] adcx r12,rax adox r15,rbp - mov rdi,QWORD PTR[48+rsp] - mov QWORD PTR[((-16))+rbx],r12 + mov rdi,QWORD PTR[48+rsp] + mov QWORD PTR[((-16))+rbx],r12 - jmp $L$mulx4x_inner + jmp $L$mulx4x_inner ALIGN 32 -$L$mulx4x_inner:: - mulx rax,r10,QWORD PTR[rsi] +$L$mulx4x_inner:: + mulx rax,r10,QWORD PTR[rsi] adcx r15,rbp adox r10,r14 - mulx r14,r11,QWORD PTR[8+rsi] - adcx r10,QWORD PTR[rbx] + mulx r14,r11,QWORD PTR[8+rsi] + adcx r10,QWORD PTR[rbx] adox r11,rax - mulx rax,r12,QWORD PTR[16+rsi] - adcx r11,QWORD PTR[8+rbx] + mulx rax,r12,QWORD PTR[16+rsi] + adcx r11,QWORD PTR[8+rbx] adox r12,r14 - mulx r14,r13,QWORD PTR[24+rsi] + mulx r14,r13,QWORD PTR[24+rsi] mov rdx,r8 - adcx r12,QWORD PTR[16+rbx] + adcx r12,QWORD PTR[16+rbx] adox r13,rax - adcx r13,QWORD PTR[24+rbx] + adcx r13,QWORD PTR[24+rbx] adox r14,rbp - lea rsi,QWORD PTR[32+rsi] - lea rbx,QWORD PTR[32+rbx] + lea rsi,QWORD PTR[32+rsi] + lea rbx,QWORD PTR[32+rbx] adcx r14,rbp adox r10,r15 - mulx r15,rax,QWORD PTR[rcx] + mulx r15,rax,QWORD PTR[rcx] adcx r10,rax adox r11,r15 - mulx r15,rax,QWORD PTR[8+rcx] + mulx r15,rax,QWORD PTR[8+rcx] adcx r11,rax adox r12,r15 - mulx r15,rax,QWORD PTR[16+rcx] - mov QWORD PTR[((-40))+rbx],r10 + mulx r15,rax,QWORD PTR[16+rcx] + mov QWORD PTR[((-40))+rbx],r10 adcx r12,rax adox r13,r15 - mulx r15,rax,QWORD PTR[24+rcx] + mulx r15,rax,QWORD PTR[24+rcx] mov rdx,r9 - mov QWORD PTR[((-32))+rbx],r11 - mov QWORD PTR[((-24))+rbx],r12 + mov QWORD PTR[((-32))+rbx],r11 + mov QWORD PTR[((-24))+rbx],r12 adcx r13,rax adox r15,rbp - lea rcx,QWORD PTR[32+rcx] - mov QWORD PTR[((-16))+rbx],r13 + lea rcx,QWORD PTR[32+rcx] + mov QWORD PTR[((-16))+rbx],r13 dec rdi - jnz $L$mulx4x_inner + jnz $L$mulx4x_inner - mov rax,QWORD PTR[rsp] - mov rdi,QWORD PTR[8+rsp] + mov rax,QWORD PTR[rsp] + mov rdi,QWORD PTR[8+rsp] adc r15,rbp - sub rbp,QWORD PTR[rbx] + sub rbp,QWORD PTR[rbx] adc r14,r15 sbb r15,r15 - mov QWORD PTR[((-8))+rbx],r14 + mov QWORD PTR[((-8))+rbx],r14 - cmp rdi,QWORD PTR[16+rsp] - jne $L$mulx4x_outer + cmp rdi,QWORD PTR[16+rsp] + jne $L$mulx4x_outer - lea rbx,QWORD PTR[64+rsp] + lea rbx,QWORD PTR[64+rsp] sub rcx,rax neg r15 mov rdx,rax shr rax,3+2 - mov rdi,QWORD PTR[32+rsp] - jmp $L$mulx4x_sub + mov rdi,QWORD PTR[32+rsp] + jmp $L$mulx4x_sub ALIGN 32 -$L$mulx4x_sub:: - mov r11,QWORD PTR[rbx] - mov r12,QWORD PTR[8+rbx] - mov r13,QWORD PTR[16+rbx] - mov r14,QWORD PTR[24+rbx] - lea rbx,QWORD PTR[32+rbx] - sbb r11,QWORD PTR[rcx] - sbb r12,QWORD PTR[8+rcx] - sbb r13,QWORD PTR[16+rcx] - sbb r14,QWORD PTR[24+rcx] - lea rcx,QWORD PTR[32+rcx] - mov QWORD PTR[rdi],r11 - mov QWORD PTR[8+rdi],r12 - mov QWORD PTR[16+rdi],r13 - mov QWORD PTR[24+rdi],r14 - lea rdi,QWORD PTR[32+rdi] +$L$mulx4x_sub:: + mov r11,QWORD PTR[rbx] + mov r12,QWORD PTR[8+rbx] + mov r13,QWORD PTR[16+rbx] + mov r14,QWORD PTR[24+rbx] + lea rbx,QWORD PTR[32+rbx] + sbb r11,QWORD PTR[rcx] + sbb r12,QWORD PTR[8+rcx] + sbb r13,QWORD PTR[16+rcx] + sbb r14,QWORD PTR[24+rcx] + lea rcx,QWORD PTR[32+rcx] + mov QWORD PTR[rdi],r11 + mov QWORD PTR[8+rdi],r12 + mov QWORD PTR[16+rdi],r13 + mov QWORD PTR[24+rdi],r14 + lea rdi,QWORD PTR[32+rdi] dec rax - jnz $L$mulx4x_sub + jnz $L$mulx4x_sub sbb r15,0 - lea rbx,QWORD PTR[64+rsp] + lea rbx,QWORD PTR[64+rsp] sub rdi,rdx DB 102,73,15,110,207 pxor xmm0,xmm0 pshufd xmm1,xmm1,0 - mov rsi,QWORD PTR[40+rsp] + mov rsi,QWORD PTR[40+rsp] - jmp $L$mulx4x_cond_copy + jmp $L$mulx4x_cond_copy ALIGN 32 -$L$mulx4x_cond_copy:: - movdqa xmm2,XMMWORD PTR[rbx] - movdqa xmm3,XMMWORD PTR[16+rbx] - lea rbx,QWORD PTR[32+rbx] - movdqu xmm4,XMMWORD PTR[rdi] - movdqu xmm5,XMMWORD PTR[16+rdi] - lea rdi,QWORD PTR[32+rdi] - movdqa XMMWORD PTR[(-32)+rbx],xmm0 - movdqa XMMWORD PTR[(-16)+rbx],xmm0 +$L$mulx4x_cond_copy:: + movdqa xmm2,XMMWORD PTR[rbx] + movdqa xmm3,XMMWORD PTR[16+rbx] + lea rbx,QWORD PTR[32+rbx] + movdqu xmm4,XMMWORD PTR[rdi] + movdqu xmm5,XMMWORD PTR[16+rdi] + lea rdi,QWORD PTR[32+rdi] + movdqa XMMWORD PTR[(-32)+rbx],xmm0 + movdqa XMMWORD PTR[(-16)+rbx],xmm0 pcmpeqd xmm0,xmm1 pand xmm2,xmm1 pand xmm3,xmm1 @@ -1267,45 +1267,45 @@ $L$mulx4x_cond_copy:: pxor xmm0,xmm0 por xmm4,xmm2 por xmm5,xmm3 - movdqu XMMWORD PTR[(-32)+rdi],xmm4 - movdqu XMMWORD PTR[(-16)+rdi],xmm5 + movdqu XMMWORD PTR[(-32)+rdi],xmm4 + movdqu XMMWORD PTR[(-16)+rdi],xmm5 sub rdx,32 - jnz $L$mulx4x_cond_copy + jnz $L$mulx4x_cond_copy - mov QWORD PTR[rbx],rdx + mov QWORD PTR[rbx],rdx mov rax,1 - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$mulx4x_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$mulx4x_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_bn_mulx4x_mont:: -bn_mulx4x_mont ENDP +$L$SEH_end_bn_mulx4x_mont:: +bn_mulx4x_mont ENDP DB 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105 DB 112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56 DB 54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83 DB 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115 DB 115,108,46,111,114,103,62,0 ALIGN 16 -EXTERN __imp_RtlVirtualUnwind:NEAR +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -mul_handler PROC PRIVATE +mul_handler PROC PRIVATE push rsi push rdi push rbx @@ -1317,33 +1317,33 @@ mul_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail + jae $L$common_seh_tail - mov r10,QWORD PTR[192+r8] - mov rax,QWORD PTR[8+r10*8+rax] + mov r10,QWORD PTR[192+r8] + mov rax,QWORD PTR[8+r10*8+rax] - jmp $L$common_pop_regs -mul_handler ENDP + jmp $L$common_pop_regs +mul_handler ENDP ALIGN 16 -sqr_handler PROC PRIVATE +sqr_handler PROC PRIVATE push rsi push rdi push rbx @@ -1355,70 +1355,70 @@ sqr_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_pop_regs + jb $L$common_pop_regs - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[8+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[8+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail - - mov rax,QWORD PTR[40+rax] - -$L$common_pop_regs:: - 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 - -$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 - - mov rdi,QWORD PTR[40+r9] + jae $L$common_seh_tail + + mov rax,QWORD PTR[40+rax] + +$L$common_pop_regs:: + 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 + +$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 + + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -1432,46 +1432,46 @@ $L$common_seh_tail:: pop rdi pop rsi DB 0F3h,0C3h ;repret -sqr_handler ENDP +sqr_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_bn_mul_mont - DD imagerel $L$SEH_end_bn_mul_mont - DD imagerel $L$SEH_info_bn_mul_mont - - DD imagerel $L$SEH_begin_bn_mul4x_mont - DD imagerel $L$SEH_end_bn_mul4x_mont - DD imagerel $L$SEH_info_bn_mul4x_mont - - DD imagerel $L$SEH_begin_bn_sqr8x_mont - DD imagerel $L$SEH_end_bn_sqr8x_mont - DD imagerel $L$SEH_info_bn_sqr8x_mont - DD imagerel $L$SEH_begin_bn_mulx4x_mont - DD imagerel $L$SEH_end_bn_mulx4x_mont - DD imagerel $L$SEH_info_bn_mulx4x_mont -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + DD imagerel $L$SEH_begin_bn_mul_mont + DD imagerel $L$SEH_end_bn_mul_mont + DD imagerel $L$SEH_info_bn_mul_mont + + DD imagerel $L$SEH_begin_bn_mul4x_mont + DD imagerel $L$SEH_end_bn_mul4x_mont + DD imagerel $L$SEH_info_bn_mul4x_mont + + DD imagerel $L$SEH_begin_bn_sqr8x_mont + DD imagerel $L$SEH_end_bn_sqr8x_mont + DD imagerel $L$SEH_info_bn_sqr8x_mont + DD imagerel $L$SEH_begin_bn_mulx4x_mont + DD imagerel $L$SEH_end_bn_mulx4x_mont + DD imagerel $L$SEH_info_bn_mulx4x_mont +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_bn_mul_mont:: +$L$SEH_info_bn_mul_mont:: DB 9,0,0,0 - DD imagerel mul_handler - DD imagerel $L$mul_body,imagerel $L$mul_epilogue -$L$SEH_info_bn_mul4x_mont:: + DD imagerel mul_handler + DD imagerel $L$mul_body,imagerel $L$mul_epilogue +$L$SEH_info_bn_mul4x_mont:: DB 9,0,0,0 - DD imagerel mul_handler - DD imagerel $L$mul4x_body,imagerel $L$mul4x_epilogue -$L$SEH_info_bn_sqr8x_mont:: + DD imagerel mul_handler + DD imagerel $L$mul4x_body,imagerel $L$mul4x_epilogue +$L$SEH_info_bn_sqr8x_mont:: DB 9,0,0,0 - DD imagerel sqr_handler - DD imagerel $L$sqr8x_prologue,imagerel $L$sqr8x_body,imagerel $L$sqr8x_epilogue + DD imagerel sqr_handler + DD imagerel $L$sqr8x_prologue,imagerel $L$sqr8x_body,imagerel $L$sqr8x_epilogue ALIGN 8 -$L$SEH_info_bn_mulx4x_mont:: +$L$SEH_info_bn_mulx4x_mont:: DB 9,0,0,0 - DD imagerel sqr_handler - DD imagerel $L$mulx4x_prologue,imagerel $L$mulx4x_body,imagerel $L$mulx4x_epilogue + DD imagerel sqr_handler + DD imagerel $L$mulx4x_prologue,imagerel $L$mulx4x_body,imagerel $L$mulx4x_epilogue ALIGN 8 - -.xdata ENDS -END + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/bn/x86_64-mont5.masm b/contrib/libs/openssl/asm/windows/crypto/bn/x86_64-mont5.masm index de8d24595c..7b7715ff1b 100644 --- a/contrib/libs/openssl/asm/windows/crypto/bn/x86_64-mont5.masm +++ b/contrib/libs/openssl/asm/windows/crypto/bn/x86_64-mont5.masm @@ -1,22 +1,22 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR +EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC bn_mul_mont_gather5 +PUBLIC bn_mul_mont_gather5 ALIGN 64 -bn_mul_mont_gather5 PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +bn_mul_mont_gather5 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_bn_mul_mont_gather5:: +$L$SEH_begin_bn_mul_mont_gather5:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] @@ -24,13 +24,13 @@ $L$SEH_begin_bn_mul_mont_gather5:: mov rax,rsp test r9d,7 - jnz $L$mul_enter - mov r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] - jmp $L$mul4x_enter + jnz $L$mul_enter + mov r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] + jmp $L$mul4x_enter ALIGN 16 -$L$mul_enter:: - movd xmm5,DWORD PTR[56+rsp] +$L$mul_enter:: + movd xmm5,DWORD PTR[56+rsp] push rbx push rbp @@ -46,7 +46,7 @@ $L$mul_enter:: neg r9 mov r11,rsp - lea r10,QWORD PTR[((-280))+r9*8+rsp] + lea r10,QWORD PTR[((-280))+r9*8+rsp] neg r9 and r10,-1024 @@ -60,28 +60,28 @@ $L$mul_enter:: sub r11,r10 and r11,-4096 - lea rsp,QWORD PTR[r11*1+r10] - mov r11,QWORD PTR[rsp] + lea rsp,QWORD PTR[r11*1+r10] + mov r11,QWORD PTR[rsp] cmp rsp,r10 - ja $L$mul_page_walk - jmp $L$mul_page_walk_done + ja $L$mul_page_walk + jmp $L$mul_page_walk_done -$L$mul_page_walk:: - lea rsp,QWORD PTR[((-4096))+rsp] - mov r11,QWORD PTR[rsp] +$L$mul_page_walk:: + lea rsp,QWORD PTR[((-4096))+rsp] + mov r11,QWORD PTR[rsp] cmp rsp,r10 - ja $L$mul_page_walk -$L$mul_page_walk_done:: + ja $L$mul_page_walk +$L$mul_page_walk_done:: - lea r10,QWORD PTR[$L$inc] - mov QWORD PTR[8+r9*8+rsp],rax + lea r10,QWORD PTR[$L$inc] + mov QWORD PTR[8+r9*8+rsp],rax -$L$mul_body:: +$L$mul_body:: - lea r12,QWORD PTR[128+rdx] - movdqa xmm0,XMMWORD PTR[r10] - movdqa xmm1,XMMWORD PTR[16+r10] - lea r10,QWORD PTR[((24-112))+r9*8+rsp] + lea r12,QWORD PTR[128+rdx] + movdqa xmm0,XMMWORD PTR[r10] + movdqa xmm1,XMMWORD PTR[16+r10] + lea r10,QWORD PTR[((24-112))+r9*8+rsp] and r10,-16 pshufd xmm5,xmm5,0 @@ -89,128 +89,128 @@ $L$mul_body:: movdqa xmm2,xmm1 paddd xmm1,xmm0 pcmpeqd xmm0,xmm5 -DB 067h +DB 067h movdqa xmm3,xmm4 paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[112+r10],xmm0 + movdqa XMMWORD PTR[112+r10],xmm0 movdqa xmm0,xmm4 paddd xmm3,xmm2 pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[128+r10],xmm1 + movdqa XMMWORD PTR[128+r10],xmm1 movdqa xmm1,xmm4 paddd xmm0,xmm3 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[144+r10],xmm2 + movdqa XMMWORD PTR[144+r10],xmm2 movdqa xmm2,xmm4 paddd xmm1,xmm0 pcmpeqd xmm0,xmm5 - movdqa XMMWORD PTR[160+r10],xmm3 + movdqa XMMWORD PTR[160+r10],xmm3 movdqa xmm3,xmm4 paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[176+r10],xmm0 + movdqa XMMWORD PTR[176+r10],xmm0 movdqa xmm0,xmm4 paddd xmm3,xmm2 pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[192+r10],xmm1 + movdqa XMMWORD PTR[192+r10],xmm1 movdqa xmm1,xmm4 paddd xmm0,xmm3 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[208+r10],xmm2 + movdqa XMMWORD PTR[208+r10],xmm2 movdqa xmm2,xmm4 paddd xmm1,xmm0 pcmpeqd xmm0,xmm5 - movdqa XMMWORD PTR[224+r10],xmm3 + movdqa XMMWORD PTR[224+r10],xmm3 movdqa xmm3,xmm4 paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[240+r10],xmm0 + movdqa XMMWORD PTR[240+r10],xmm0 movdqa xmm0,xmm4 paddd xmm3,xmm2 pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[256+r10],xmm1 + movdqa XMMWORD PTR[256+r10],xmm1 movdqa xmm1,xmm4 paddd xmm0,xmm3 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[272+r10],xmm2 + movdqa XMMWORD PTR[272+r10],xmm2 movdqa xmm2,xmm4 paddd xmm1,xmm0 pcmpeqd xmm0,xmm5 - movdqa XMMWORD PTR[288+r10],xmm3 + movdqa XMMWORD PTR[288+r10],xmm3 movdqa xmm3,xmm4 paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[304+r10],xmm0 + movdqa XMMWORD PTR[304+r10],xmm0 paddd xmm3,xmm2 -DB 067h +DB 067h pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[320+r10],xmm1 + movdqa XMMWORD PTR[320+r10],xmm1 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[336+r10],xmm2 - pand xmm0,XMMWORD PTR[64+r12] + movdqa XMMWORD PTR[336+r10],xmm2 + pand xmm0,XMMWORD PTR[64+r12] - pand xmm1,XMMWORD PTR[80+r12] - pand xmm2,XMMWORD PTR[96+r12] - movdqa XMMWORD PTR[352+r10],xmm3 - pand xmm3,XMMWORD PTR[112+r12] + pand xmm1,XMMWORD PTR[80+r12] + pand xmm2,XMMWORD PTR[96+r12] + movdqa XMMWORD PTR[352+r10],xmm3 + pand xmm3,XMMWORD PTR[112+r12] por xmm0,xmm2 por xmm1,xmm3 - movdqa xmm4,XMMWORD PTR[((-128))+r12] - movdqa xmm5,XMMWORD PTR[((-112))+r12] - movdqa xmm2,XMMWORD PTR[((-96))+r12] - pand xmm4,XMMWORD PTR[112+r10] - movdqa xmm3,XMMWORD PTR[((-80))+r12] - pand xmm5,XMMWORD PTR[128+r10] + movdqa xmm4,XMMWORD PTR[((-128))+r12] + movdqa xmm5,XMMWORD PTR[((-112))+r12] + movdqa xmm2,XMMWORD PTR[((-96))+r12] + pand xmm4,XMMWORD PTR[112+r10] + movdqa xmm3,XMMWORD PTR[((-80))+r12] + pand xmm5,XMMWORD PTR[128+r10] por xmm0,xmm4 - pand xmm2,XMMWORD PTR[144+r10] + pand xmm2,XMMWORD PTR[144+r10] por xmm1,xmm5 - pand xmm3,XMMWORD PTR[160+r10] + pand xmm3,XMMWORD PTR[160+r10] por xmm0,xmm2 por xmm1,xmm3 - movdqa xmm4,XMMWORD PTR[((-64))+r12] - movdqa xmm5,XMMWORD PTR[((-48))+r12] - movdqa xmm2,XMMWORD PTR[((-32))+r12] - pand xmm4,XMMWORD PTR[176+r10] - movdqa xmm3,XMMWORD PTR[((-16))+r12] - pand xmm5,XMMWORD PTR[192+r10] + movdqa xmm4,XMMWORD PTR[((-64))+r12] + movdqa xmm5,XMMWORD PTR[((-48))+r12] + movdqa xmm2,XMMWORD PTR[((-32))+r12] + pand xmm4,XMMWORD PTR[176+r10] + movdqa xmm3,XMMWORD PTR[((-16))+r12] + pand xmm5,XMMWORD PTR[192+r10] por xmm0,xmm4 - pand xmm2,XMMWORD PTR[208+r10] + pand xmm2,XMMWORD PTR[208+r10] por xmm1,xmm5 - pand xmm3,XMMWORD PTR[224+r10] + pand xmm3,XMMWORD PTR[224+r10] por xmm0,xmm2 por xmm1,xmm3 - movdqa xmm4,XMMWORD PTR[r12] - movdqa xmm5,XMMWORD PTR[16+r12] - movdqa xmm2,XMMWORD PTR[32+r12] - pand xmm4,XMMWORD PTR[240+r10] - movdqa xmm3,XMMWORD PTR[48+r12] - pand xmm5,XMMWORD PTR[256+r10] + movdqa xmm4,XMMWORD PTR[r12] + movdqa xmm5,XMMWORD PTR[16+r12] + movdqa xmm2,XMMWORD PTR[32+r12] + pand xmm4,XMMWORD PTR[240+r10] + movdqa xmm3,XMMWORD PTR[48+r12] + pand xmm5,XMMWORD PTR[256+r10] por xmm0,xmm4 - pand xmm2,XMMWORD PTR[272+r10] + pand xmm2,XMMWORD PTR[272+r10] por xmm1,xmm5 - pand xmm3,XMMWORD PTR[288+r10] + pand xmm3,XMMWORD PTR[288+r10] por xmm0,xmm2 por xmm1,xmm3 por xmm0,xmm1 - pshufd xmm1,xmm0,04eh + pshufd xmm1,xmm0,04eh por xmm0,xmm1 - lea r12,QWORD PTR[256+r12] + lea r12,QWORD PTR[256+r12] DB 102,72,15,126,195 - mov r8,QWORD PTR[r8] - mov rax,QWORD PTR[rsi] + mov r8,QWORD PTR[r8] + mov rax,QWORD PTR[rsi] xor r14,r14 xor r15,r15 @@ -218,129 +218,129 @@ DB 102,72,15,126,195 mov rbp,r8 mul rbx mov r10,rax - mov rax,QWORD PTR[rcx] + mov rax,QWORD PTR[rcx] imul rbp,r10 mov r11,rdx mul rbp add r10,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] adc rdx,0 mov r13,rdx - lea r15,QWORD PTR[1+r15] - jmp $L$1st_enter + lea r15,QWORD PTR[1+r15] + jmp $L$1st_enter ALIGN 16 -$L$1st:: +$L$1st:: add r13,rax - mov rax,QWORD PTR[r15*8+rsi] + mov rax,QWORD PTR[r15*8+rsi] adc rdx,0 add r13,r11 mov r11,r10 adc rdx,0 - mov QWORD PTR[((-16))+r15*8+rsp],r13 + mov QWORD PTR[((-16))+r15*8+rsp],r13 mov r13,rdx -$L$1st_enter:: +$L$1st_enter:: mul rbx add r11,rax - mov rax,QWORD PTR[r15*8+rcx] + mov rax,QWORD PTR[r15*8+rcx] adc rdx,0 - lea r15,QWORD PTR[1+r15] + lea r15,QWORD PTR[1+r15] mov r10,rdx mul rbp cmp r15,r9 - jne $L$1st + jne $L$1st add r13,rax adc rdx,0 add r13,r11 adc rdx,0 - mov QWORD PTR[((-16))+r9*8+rsp],r13 + mov QWORD PTR[((-16))+r9*8+rsp],r13 mov r13,rdx mov r11,r10 xor rdx,rdx add r13,r11 adc rdx,0 - mov QWORD PTR[((-8))+r9*8+rsp],r13 - mov QWORD PTR[r9*8+rsp],rdx + mov QWORD PTR[((-8))+r9*8+rsp],r13 + mov QWORD PTR[r9*8+rsp],rdx - lea r14,QWORD PTR[1+r14] - jmp $L$outer + lea r14,QWORD PTR[1+r14] + jmp $L$outer ALIGN 16 -$L$outer:: - lea rdx,QWORD PTR[((24+128))+r9*8+rsp] +$L$outer:: + lea rdx,QWORD PTR[((24+128))+r9*8+rsp] and rdx,-16 pxor xmm4,xmm4 pxor xmm5,xmm5 - movdqa xmm0,XMMWORD PTR[((-128))+r12] - movdqa xmm1,XMMWORD PTR[((-112))+r12] - movdqa xmm2,XMMWORD PTR[((-96))+r12] - movdqa xmm3,XMMWORD PTR[((-80))+r12] - pand xmm0,XMMWORD PTR[((-128))+rdx] - pand xmm1,XMMWORD PTR[((-112))+rdx] + movdqa xmm0,XMMWORD PTR[((-128))+r12] + movdqa xmm1,XMMWORD PTR[((-112))+r12] + movdqa xmm2,XMMWORD PTR[((-96))+r12] + movdqa xmm3,XMMWORD PTR[((-80))+r12] + pand xmm0,XMMWORD PTR[((-128))+rdx] + pand xmm1,XMMWORD PTR[((-112))+rdx] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[((-96))+rdx] + pand xmm2,XMMWORD PTR[((-96))+rdx] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[((-80))+rdx] + pand xmm3,XMMWORD PTR[((-80))+rdx] por xmm4,xmm2 por xmm5,xmm3 - movdqa xmm0,XMMWORD PTR[((-64))+r12] - movdqa xmm1,XMMWORD PTR[((-48))+r12] - movdqa xmm2,XMMWORD PTR[((-32))+r12] - movdqa xmm3,XMMWORD PTR[((-16))+r12] - pand xmm0,XMMWORD PTR[((-64))+rdx] - pand xmm1,XMMWORD PTR[((-48))+rdx] + movdqa xmm0,XMMWORD PTR[((-64))+r12] + movdqa xmm1,XMMWORD PTR[((-48))+r12] + movdqa xmm2,XMMWORD PTR[((-32))+r12] + movdqa xmm3,XMMWORD PTR[((-16))+r12] + pand xmm0,XMMWORD PTR[((-64))+rdx] + pand xmm1,XMMWORD PTR[((-48))+rdx] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[((-32))+rdx] + pand xmm2,XMMWORD PTR[((-32))+rdx] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[((-16))+rdx] + pand xmm3,XMMWORD PTR[((-16))+rdx] por xmm4,xmm2 por xmm5,xmm3 - movdqa xmm0,XMMWORD PTR[r12] - movdqa xmm1,XMMWORD PTR[16+r12] - movdqa xmm2,XMMWORD PTR[32+r12] - movdqa xmm3,XMMWORD PTR[48+r12] - pand xmm0,XMMWORD PTR[rdx] - pand xmm1,XMMWORD PTR[16+rdx] + movdqa xmm0,XMMWORD PTR[r12] + movdqa xmm1,XMMWORD PTR[16+r12] + movdqa xmm2,XMMWORD PTR[32+r12] + movdqa xmm3,XMMWORD PTR[48+r12] + pand xmm0,XMMWORD PTR[rdx] + pand xmm1,XMMWORD PTR[16+rdx] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[32+rdx] + pand xmm2,XMMWORD PTR[32+rdx] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[48+rdx] + pand xmm3,XMMWORD PTR[48+rdx] por xmm4,xmm2 por xmm5,xmm3 - movdqa xmm0,XMMWORD PTR[64+r12] - movdqa xmm1,XMMWORD PTR[80+r12] - movdqa xmm2,XMMWORD PTR[96+r12] - movdqa xmm3,XMMWORD PTR[112+r12] - pand xmm0,XMMWORD PTR[64+rdx] - pand xmm1,XMMWORD PTR[80+rdx] + movdqa xmm0,XMMWORD PTR[64+r12] + movdqa xmm1,XMMWORD PTR[80+r12] + movdqa xmm2,XMMWORD PTR[96+r12] + movdqa xmm3,XMMWORD PTR[112+r12] + pand xmm0,XMMWORD PTR[64+rdx] + pand xmm1,XMMWORD PTR[80+rdx] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[96+rdx] + pand xmm2,XMMWORD PTR[96+rdx] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[112+rdx] + pand xmm3,XMMWORD PTR[112+rdx] por xmm4,xmm2 por xmm5,xmm3 por xmm4,xmm5 - pshufd xmm0,xmm4,04eh + pshufd xmm0,xmm4,04eh por xmm0,xmm4 - lea r12,QWORD PTR[256+r12] + lea r12,QWORD PTR[256+r12] - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] DB 102,72,15,126,195 xor r15,r15 mov rbp,r8 - mov r10,QWORD PTR[rsp] + mov r10,QWORD PTR[rsp] mul rbx add r10,rax - mov rax,QWORD PTR[rcx] + mov rax,QWORD PTR[rcx] adc rdx,0 imul rbp,r10 @@ -348,45 +348,45 @@ DB 102,72,15,126,195 mul rbp add r10,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] adc rdx,0 - mov r10,QWORD PTR[8+rsp] + mov r10,QWORD PTR[8+rsp] mov r13,rdx - lea r15,QWORD PTR[1+r15] - jmp $L$inner_enter + lea r15,QWORD PTR[1+r15] + jmp $L$inner_enter ALIGN 16 -$L$inner:: +$L$inner:: add r13,rax - mov rax,QWORD PTR[r15*8+rsi] + mov rax,QWORD PTR[r15*8+rsi] adc rdx,0 add r13,r10 - mov r10,QWORD PTR[r15*8+rsp] + mov r10,QWORD PTR[r15*8+rsp] adc rdx,0 - mov QWORD PTR[((-16))+r15*8+rsp],r13 + mov QWORD PTR[((-16))+r15*8+rsp],r13 mov r13,rdx -$L$inner_enter:: +$L$inner_enter:: mul rbx add r11,rax - mov rax,QWORD PTR[r15*8+rcx] + mov rax,QWORD PTR[r15*8+rcx] adc rdx,0 add r10,r11 mov r11,rdx adc r11,0 - lea r15,QWORD PTR[1+r15] + lea r15,QWORD PTR[1+r15] mul rbp cmp r15,r9 - jne $L$inner + jne $L$inner add r13,rax adc rdx,0 add r13,r10 - mov r10,QWORD PTR[r9*8+rsp] + mov r10,QWORD PTR[r9*8+rsp] adc rdx,0 - mov QWORD PTR[((-16))+r9*8+rsp],r13 + mov QWORD PTR[((-16))+r9*8+rsp],r13 mov r13,rdx xor rdx,rdx @@ -394,25 +394,25 @@ $L$inner_enter:: adc rdx,0 add r13,r10 adc rdx,0 - mov QWORD PTR[((-8))+r9*8+rsp],r13 - mov QWORD PTR[r9*8+rsp],rdx + mov QWORD PTR[((-8))+r9*8+rsp],r13 + mov QWORD PTR[r9*8+rsp],rdx - lea r14,QWORD PTR[1+r14] + lea r14,QWORD PTR[1+r14] cmp r14,r9 - jb $L$outer + jb $L$outer xor r14,r14 - mov rax,QWORD PTR[rsp] - lea rsi,QWORD PTR[rsp] + mov rax,QWORD PTR[rsp] + lea rsi,QWORD PTR[rsp] mov r15,r9 - jmp $L$sub + jmp $L$sub ALIGN 16 -$L$sub:: sbb rax,QWORD PTR[r14*8+rcx] - mov QWORD PTR[r14*8+rdi],rax - mov rax,QWORD PTR[8+r14*8+rsi] - lea r14,QWORD PTR[1+r14] +$L$sub:: sbb rax,QWORD PTR[r14*8+rcx] + mov QWORD PTR[r14*8+rdi],rax + mov rax,QWORD PTR[8+r14*8+rsi] + lea r14,QWORD PTR[1+r14] dec r15 - jnz $L$sub + jnz $L$sub sbb rax,0 mov rbx,-1 @@ -420,66 +420,66 @@ $L$sub:: sbb rax,QWORD PTR[r14*8+rcx] xor r14,r14 mov r15,r9 -$L$copy:: - mov rcx,QWORD PTR[r14*8+rdi] - mov rdx,QWORD PTR[r14*8+rsp] +$L$copy:: + mov rcx,QWORD PTR[r14*8+rdi] + mov rdx,QWORD PTR[r14*8+rsp] and rcx,rbx and rdx,rax - mov QWORD PTR[r14*8+rsp],r14 + mov QWORD PTR[r14*8+rsp],r14 or rdx,rcx - mov QWORD PTR[r14*8+rdi],rdx - lea r14,QWORD PTR[1+r14] + mov QWORD PTR[r14*8+rdi],rdx + lea r14,QWORD PTR[1+r14] sub r15,1 - jnz $L$copy + jnz $L$copy - mov rsi,QWORD PTR[8+r9*8+rsp] + mov rsi,QWORD PTR[8+r9*8+rsp] mov rax,1 - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$mul_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$mul_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_bn_mul_mont_gather5:: -bn_mul_mont_gather5 ENDP +$L$SEH_end_bn_mul_mont_gather5:: +bn_mul_mont_gather5 ENDP ALIGN 32 -bn_mul4x_mont_gather5 PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +bn_mul4x_mont_gather5 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_bn_mul4x_mont_gather5:: +$L$SEH_begin_bn_mul4x_mont_gather5:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] -DB 067h +DB 067h mov rax,rsp -$L$mul4x_enter:: - and r11d,080108h - cmp r11d,080108h - je $L$mulx4x_enter +$L$mul4x_enter:: + and r11d,080108h + cmp r11d,080108h + je $L$mulx4x_enter push rbx push rbp @@ -492,11 +492,11 @@ $L$mul4x_enter:: push r15 -$L$mul4x_prologue:: +$L$mul4x_prologue:: -DB 067h +DB 067h shl r9d,3 - lea r10,QWORD PTR[r9*2+r9] + lea r10,QWORD PTR[r9*2+r9] neg r9 @@ -508,626 +508,626 @@ DB 067h - lea r11,QWORD PTR[((-320))+r9*2+rsp] + lea r11,QWORD PTR[((-320))+r9*2+rsp] mov rbp,rsp sub r11,rdi and r11,4095 cmp r10,r11 - jb $L$mul4xsp_alt + jb $L$mul4xsp_alt sub rbp,r11 - lea rbp,QWORD PTR[((-320))+r9*2+rbp] - jmp $L$mul4xsp_done + lea rbp,QWORD PTR[((-320))+r9*2+rbp] + jmp $L$mul4xsp_done ALIGN 32 -$L$mul4xsp_alt:: - lea r10,QWORD PTR[((4096-320))+r9*2] - lea rbp,QWORD PTR[((-320))+r9*2+rbp] +$L$mul4xsp_alt:: + lea r10,QWORD PTR[((4096-320))+r9*2] + lea rbp,QWORD PTR[((-320))+r9*2+rbp] sub r11,r10 mov r10,0 cmovc r11,r10 sub rbp,r11 -$L$mul4xsp_done:: +$L$mul4xsp_done:: and rbp,-64 mov r11,rsp sub r11,rbp and r11,-4096 - lea rsp,QWORD PTR[rbp*1+r11] - mov r10,QWORD PTR[rsp] + lea rsp,QWORD PTR[rbp*1+r11] + mov r10,QWORD PTR[rsp] cmp rsp,rbp - ja $L$mul4x_page_walk - jmp $L$mul4x_page_walk_done + ja $L$mul4x_page_walk + jmp $L$mul4x_page_walk_done -$L$mul4x_page_walk:: - lea rsp,QWORD PTR[((-4096))+rsp] - mov r10,QWORD PTR[rsp] +$L$mul4x_page_walk:: + lea rsp,QWORD PTR[((-4096))+rsp] + mov r10,QWORD PTR[rsp] cmp rsp,rbp - ja $L$mul4x_page_walk -$L$mul4x_page_walk_done:: + ja $L$mul4x_page_walk +$L$mul4x_page_walk_done:: neg r9 - mov QWORD PTR[40+rsp],rax + mov QWORD PTR[40+rsp],rax -$L$mul4x_body:: +$L$mul4x_body:: call mul4x_internal - mov rsi,QWORD PTR[40+rsp] + mov rsi,QWORD PTR[40+rsp] mov rax,1 - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$mul4x_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$mul4x_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_bn_mul4x_mont_gather5:: -bn_mul4x_mont_gather5 ENDP +$L$SEH_end_bn_mul4x_mont_gather5:: +bn_mul4x_mont_gather5 ENDP ALIGN 32 -mul4x_internal PROC PRIVATE - +mul4x_internal PROC PRIVATE + shl r9,5 - movd xmm5,DWORD PTR[56+rax] - lea rax,QWORD PTR[$L$inc] - lea r13,QWORD PTR[128+r9*1+rdx] + movd xmm5,DWORD PTR[56+rax] + lea rax,QWORD PTR[$L$inc] + lea r13,QWORD PTR[128+r9*1+rdx] shr r9,5 - movdqa xmm0,XMMWORD PTR[rax] - movdqa xmm1,XMMWORD PTR[16+rax] - lea r10,QWORD PTR[((88-112))+r9*1+rsp] - lea r12,QWORD PTR[128+rdx] + movdqa xmm0,XMMWORD PTR[rax] + movdqa xmm1,XMMWORD PTR[16+rax] + lea r10,QWORD PTR[((88-112))+r9*1+rsp] + lea r12,QWORD PTR[128+rdx] pshufd xmm5,xmm5,0 movdqa xmm4,xmm1 -DB 067h,067h +DB 067h,067h movdqa xmm2,xmm1 paddd xmm1,xmm0 pcmpeqd xmm0,xmm5 -DB 067h +DB 067h movdqa xmm3,xmm4 paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[112+r10],xmm0 + movdqa XMMWORD PTR[112+r10],xmm0 movdqa xmm0,xmm4 paddd xmm3,xmm2 pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[128+r10],xmm1 + movdqa XMMWORD PTR[128+r10],xmm1 movdqa xmm1,xmm4 paddd xmm0,xmm3 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[144+r10],xmm2 + movdqa XMMWORD PTR[144+r10],xmm2 movdqa xmm2,xmm4 paddd xmm1,xmm0 pcmpeqd xmm0,xmm5 - movdqa XMMWORD PTR[160+r10],xmm3 + movdqa XMMWORD PTR[160+r10],xmm3 movdqa xmm3,xmm4 paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[176+r10],xmm0 + movdqa XMMWORD PTR[176+r10],xmm0 movdqa xmm0,xmm4 paddd xmm3,xmm2 pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[192+r10],xmm1 + movdqa XMMWORD PTR[192+r10],xmm1 movdqa xmm1,xmm4 paddd xmm0,xmm3 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[208+r10],xmm2 + movdqa XMMWORD PTR[208+r10],xmm2 movdqa xmm2,xmm4 paddd xmm1,xmm0 pcmpeqd xmm0,xmm5 - movdqa XMMWORD PTR[224+r10],xmm3 + movdqa XMMWORD PTR[224+r10],xmm3 movdqa xmm3,xmm4 paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[240+r10],xmm0 + movdqa XMMWORD PTR[240+r10],xmm0 movdqa xmm0,xmm4 paddd xmm3,xmm2 pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[256+r10],xmm1 + movdqa XMMWORD PTR[256+r10],xmm1 movdqa xmm1,xmm4 paddd xmm0,xmm3 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[272+r10],xmm2 + movdqa XMMWORD PTR[272+r10],xmm2 movdqa xmm2,xmm4 paddd xmm1,xmm0 pcmpeqd xmm0,xmm5 - movdqa XMMWORD PTR[288+r10],xmm3 + movdqa XMMWORD PTR[288+r10],xmm3 movdqa xmm3,xmm4 paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[304+r10],xmm0 + movdqa XMMWORD PTR[304+r10],xmm0 paddd xmm3,xmm2 -DB 067h +DB 067h pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[320+r10],xmm1 + movdqa XMMWORD PTR[320+r10],xmm1 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[336+r10],xmm2 - pand xmm0,XMMWORD PTR[64+r12] + movdqa XMMWORD PTR[336+r10],xmm2 + pand xmm0,XMMWORD PTR[64+r12] - pand xmm1,XMMWORD PTR[80+r12] - pand xmm2,XMMWORD PTR[96+r12] - movdqa XMMWORD PTR[352+r10],xmm3 - pand xmm3,XMMWORD PTR[112+r12] + pand xmm1,XMMWORD PTR[80+r12] + pand xmm2,XMMWORD PTR[96+r12] + movdqa XMMWORD PTR[352+r10],xmm3 + pand xmm3,XMMWORD PTR[112+r12] por xmm0,xmm2 por xmm1,xmm3 - movdqa xmm4,XMMWORD PTR[((-128))+r12] - movdqa xmm5,XMMWORD PTR[((-112))+r12] - movdqa xmm2,XMMWORD PTR[((-96))+r12] - pand xmm4,XMMWORD PTR[112+r10] - movdqa xmm3,XMMWORD PTR[((-80))+r12] - pand xmm5,XMMWORD PTR[128+r10] + movdqa xmm4,XMMWORD PTR[((-128))+r12] + movdqa xmm5,XMMWORD PTR[((-112))+r12] + movdqa xmm2,XMMWORD PTR[((-96))+r12] + pand xmm4,XMMWORD PTR[112+r10] + movdqa xmm3,XMMWORD PTR[((-80))+r12] + pand xmm5,XMMWORD PTR[128+r10] por xmm0,xmm4 - pand xmm2,XMMWORD PTR[144+r10] + pand xmm2,XMMWORD PTR[144+r10] por xmm1,xmm5 - pand xmm3,XMMWORD PTR[160+r10] + pand xmm3,XMMWORD PTR[160+r10] por xmm0,xmm2 por xmm1,xmm3 - movdqa xmm4,XMMWORD PTR[((-64))+r12] - movdqa xmm5,XMMWORD PTR[((-48))+r12] - movdqa xmm2,XMMWORD PTR[((-32))+r12] - pand xmm4,XMMWORD PTR[176+r10] - movdqa xmm3,XMMWORD PTR[((-16))+r12] - pand xmm5,XMMWORD PTR[192+r10] + movdqa xmm4,XMMWORD PTR[((-64))+r12] + movdqa xmm5,XMMWORD PTR[((-48))+r12] + movdqa xmm2,XMMWORD PTR[((-32))+r12] + pand xmm4,XMMWORD PTR[176+r10] + movdqa xmm3,XMMWORD PTR[((-16))+r12] + pand xmm5,XMMWORD PTR[192+r10] por xmm0,xmm4 - pand xmm2,XMMWORD PTR[208+r10] + pand xmm2,XMMWORD PTR[208+r10] por xmm1,xmm5 - pand xmm3,XMMWORD PTR[224+r10] + pand xmm3,XMMWORD PTR[224+r10] por xmm0,xmm2 por xmm1,xmm3 - movdqa xmm4,XMMWORD PTR[r12] - movdqa xmm5,XMMWORD PTR[16+r12] - movdqa xmm2,XMMWORD PTR[32+r12] - pand xmm4,XMMWORD PTR[240+r10] - movdqa xmm3,XMMWORD PTR[48+r12] - pand xmm5,XMMWORD PTR[256+r10] + movdqa xmm4,XMMWORD PTR[r12] + movdqa xmm5,XMMWORD PTR[16+r12] + movdqa xmm2,XMMWORD PTR[32+r12] + pand xmm4,XMMWORD PTR[240+r10] + movdqa xmm3,XMMWORD PTR[48+r12] + pand xmm5,XMMWORD PTR[256+r10] por xmm0,xmm4 - pand xmm2,XMMWORD PTR[272+r10] + pand xmm2,XMMWORD PTR[272+r10] por xmm1,xmm5 - pand xmm3,XMMWORD PTR[288+r10] + pand xmm3,XMMWORD PTR[288+r10] por xmm0,xmm2 por xmm1,xmm3 por xmm0,xmm1 - pshufd xmm1,xmm0,04eh + pshufd xmm1,xmm0,04eh por xmm0,xmm1 - lea r12,QWORD PTR[256+r12] + lea r12,QWORD PTR[256+r12] DB 102,72,15,126,195 - mov QWORD PTR[((16+8))+rsp],r13 - mov QWORD PTR[((56+8))+rsp],rdi + mov QWORD PTR[((16+8))+rsp],r13 + mov QWORD PTR[((56+8))+rsp],rdi - mov r8,QWORD PTR[r8] - mov rax,QWORD PTR[rsi] - lea rsi,QWORD PTR[r9*1+rsi] + mov r8,QWORD PTR[r8] + mov rax,QWORD PTR[rsi] + lea rsi,QWORD PTR[r9*1+rsi] neg r9 mov rbp,r8 mul rbx mov r10,rax - mov rax,QWORD PTR[rcx] + mov rax,QWORD PTR[rcx] imul rbp,r10 - lea r14,QWORD PTR[((64+8))+rsp] + lea r14,QWORD PTR[((64+8))+rsp] mov r11,rdx mul rbp add r10,rax - mov rax,QWORD PTR[8+r9*1+rsi] + mov rax,QWORD PTR[8+r9*1+rsi] adc rdx,0 mov rdi,rdx mul rbx add r11,rax - mov rax,QWORD PTR[8+rcx] + mov rax,QWORD PTR[8+rcx] adc rdx,0 mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[16+r9*1+rsi] + mov rax,QWORD PTR[16+r9*1+rsi] adc rdx,0 add rdi,r11 - lea r15,QWORD PTR[32+r9] - lea rcx,QWORD PTR[32+rcx] + lea r15,QWORD PTR[32+r9] + lea rcx,QWORD PTR[32+rcx] adc rdx,0 - mov QWORD PTR[r14],rdi + mov QWORD PTR[r14],rdi mov r13,rdx - jmp $L$1st4x + jmp $L$1st4x ALIGN 32 -$L$1st4x:: +$L$1st4x:: mul rbx add r10,rax - mov rax,QWORD PTR[((-16))+rcx] - lea r14,QWORD PTR[32+r14] + mov rax,QWORD PTR[((-16))+rcx] + lea r14,QWORD PTR[32+r14] adc rdx,0 mov r11,rdx mul rbp add r13,rax - mov rax,QWORD PTR[((-8))+r15*1+rsi] + mov rax,QWORD PTR[((-8))+r15*1+rsi] adc rdx,0 add r13,r10 adc rdx,0 - mov QWORD PTR[((-24))+r14],r13 + mov QWORD PTR[((-24))+r14],r13 mov rdi,rdx mul rbx add r11,rax - mov rax,QWORD PTR[((-8))+rcx] + mov rax,QWORD PTR[((-8))+rcx] adc rdx,0 mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[r15*1+rsi] + mov rax,QWORD PTR[r15*1+rsi] adc rdx,0 add rdi,r11 adc rdx,0 - mov QWORD PTR[((-16))+r14],rdi + mov QWORD PTR[((-16))+r14],rdi mov r13,rdx mul rbx add r10,rax - mov rax,QWORD PTR[rcx] + mov rax,QWORD PTR[rcx] adc rdx,0 mov r11,rdx mul rbp add r13,rax - mov rax,QWORD PTR[8+r15*1+rsi] + mov rax,QWORD PTR[8+r15*1+rsi] adc rdx,0 add r13,r10 adc rdx,0 - mov QWORD PTR[((-8))+r14],r13 + mov QWORD PTR[((-8))+r14],r13 mov rdi,rdx mul rbx add r11,rax - mov rax,QWORD PTR[8+rcx] + mov rax,QWORD PTR[8+rcx] adc rdx,0 mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[16+r15*1+rsi] + mov rax,QWORD PTR[16+r15*1+rsi] adc rdx,0 add rdi,r11 - lea rcx,QWORD PTR[32+rcx] + lea rcx,QWORD PTR[32+rcx] adc rdx,0 - mov QWORD PTR[r14],rdi + mov QWORD PTR[r14],rdi mov r13,rdx add r15,32 - jnz $L$1st4x + jnz $L$1st4x mul rbx add r10,rax - mov rax,QWORD PTR[((-16))+rcx] - lea r14,QWORD PTR[32+r14] + mov rax,QWORD PTR[((-16))+rcx] + lea r14,QWORD PTR[32+r14] adc rdx,0 mov r11,rdx mul rbp add r13,rax - mov rax,QWORD PTR[((-8))+rsi] + mov rax,QWORD PTR[((-8))+rsi] adc rdx,0 add r13,r10 adc rdx,0 - mov QWORD PTR[((-24))+r14],r13 + mov QWORD PTR[((-24))+r14],r13 mov rdi,rdx mul rbx add r11,rax - mov rax,QWORD PTR[((-8))+rcx] + mov rax,QWORD PTR[((-8))+rcx] adc rdx,0 mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[r9*1+rsi] + mov rax,QWORD PTR[r9*1+rsi] adc rdx,0 add rdi,r11 adc rdx,0 - mov QWORD PTR[((-16))+r14],rdi + mov QWORD PTR[((-16))+r14],rdi mov r13,rdx - lea rcx,QWORD PTR[r9*1+rcx] + lea rcx,QWORD PTR[r9*1+rcx] xor rdi,rdi add r13,r10 adc rdi,0 - mov QWORD PTR[((-8))+r14],r13 + mov QWORD PTR[((-8))+r14],r13 - jmp $L$outer4x + jmp $L$outer4x ALIGN 32 -$L$outer4x:: - lea rdx,QWORD PTR[((16+128))+r14] +$L$outer4x:: + lea rdx,QWORD PTR[((16+128))+r14] pxor xmm4,xmm4 pxor xmm5,xmm5 - movdqa xmm0,XMMWORD PTR[((-128))+r12] - movdqa xmm1,XMMWORD PTR[((-112))+r12] - movdqa xmm2,XMMWORD PTR[((-96))+r12] - movdqa xmm3,XMMWORD PTR[((-80))+r12] - pand xmm0,XMMWORD PTR[((-128))+rdx] - pand xmm1,XMMWORD PTR[((-112))+rdx] + movdqa xmm0,XMMWORD PTR[((-128))+r12] + movdqa xmm1,XMMWORD PTR[((-112))+r12] + movdqa xmm2,XMMWORD PTR[((-96))+r12] + movdqa xmm3,XMMWORD PTR[((-80))+r12] + pand xmm0,XMMWORD PTR[((-128))+rdx] + pand xmm1,XMMWORD PTR[((-112))+rdx] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[((-96))+rdx] + pand xmm2,XMMWORD PTR[((-96))+rdx] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[((-80))+rdx] + pand xmm3,XMMWORD PTR[((-80))+rdx] por xmm4,xmm2 por xmm5,xmm3 - movdqa xmm0,XMMWORD PTR[((-64))+r12] - movdqa xmm1,XMMWORD PTR[((-48))+r12] - movdqa xmm2,XMMWORD PTR[((-32))+r12] - movdqa xmm3,XMMWORD PTR[((-16))+r12] - pand xmm0,XMMWORD PTR[((-64))+rdx] - pand xmm1,XMMWORD PTR[((-48))+rdx] + movdqa xmm0,XMMWORD PTR[((-64))+r12] + movdqa xmm1,XMMWORD PTR[((-48))+r12] + movdqa xmm2,XMMWORD PTR[((-32))+r12] + movdqa xmm3,XMMWORD PTR[((-16))+r12] + pand xmm0,XMMWORD PTR[((-64))+rdx] + pand xmm1,XMMWORD PTR[((-48))+rdx] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[((-32))+rdx] + pand xmm2,XMMWORD PTR[((-32))+rdx] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[((-16))+rdx] + pand xmm3,XMMWORD PTR[((-16))+rdx] por xmm4,xmm2 por xmm5,xmm3 - movdqa xmm0,XMMWORD PTR[r12] - movdqa xmm1,XMMWORD PTR[16+r12] - movdqa xmm2,XMMWORD PTR[32+r12] - movdqa xmm3,XMMWORD PTR[48+r12] - pand xmm0,XMMWORD PTR[rdx] - pand xmm1,XMMWORD PTR[16+rdx] + movdqa xmm0,XMMWORD PTR[r12] + movdqa xmm1,XMMWORD PTR[16+r12] + movdqa xmm2,XMMWORD PTR[32+r12] + movdqa xmm3,XMMWORD PTR[48+r12] + pand xmm0,XMMWORD PTR[rdx] + pand xmm1,XMMWORD PTR[16+rdx] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[32+rdx] + pand xmm2,XMMWORD PTR[32+rdx] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[48+rdx] + pand xmm3,XMMWORD PTR[48+rdx] por xmm4,xmm2 por xmm5,xmm3 - movdqa xmm0,XMMWORD PTR[64+r12] - movdqa xmm1,XMMWORD PTR[80+r12] - movdqa xmm2,XMMWORD PTR[96+r12] - movdqa xmm3,XMMWORD PTR[112+r12] - pand xmm0,XMMWORD PTR[64+rdx] - pand xmm1,XMMWORD PTR[80+rdx] + movdqa xmm0,XMMWORD PTR[64+r12] + movdqa xmm1,XMMWORD PTR[80+r12] + movdqa xmm2,XMMWORD PTR[96+r12] + movdqa xmm3,XMMWORD PTR[112+r12] + pand xmm0,XMMWORD PTR[64+rdx] + pand xmm1,XMMWORD PTR[80+rdx] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[96+rdx] + pand xmm2,XMMWORD PTR[96+rdx] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[112+rdx] + pand xmm3,XMMWORD PTR[112+rdx] por xmm4,xmm2 por xmm5,xmm3 por xmm4,xmm5 - pshufd xmm0,xmm4,04eh + pshufd xmm0,xmm4,04eh por xmm0,xmm4 - lea r12,QWORD PTR[256+r12] + lea r12,QWORD PTR[256+r12] DB 102,72,15,126,195 - mov r10,QWORD PTR[r9*1+r14] + mov r10,QWORD PTR[r9*1+r14] mov rbp,r8 mul rbx add r10,rax - mov rax,QWORD PTR[rcx] + mov rax,QWORD PTR[rcx] adc rdx,0 imul rbp,r10 mov r11,rdx - mov QWORD PTR[r14],rdi + mov QWORD PTR[r14],rdi - lea r14,QWORD PTR[r9*1+r14] + lea r14,QWORD PTR[r9*1+r14] mul rbp add r10,rax - mov rax,QWORD PTR[8+r9*1+rsi] + mov rax,QWORD PTR[8+r9*1+rsi] adc rdx,0 mov rdi,rdx mul rbx add r11,rax - mov rax,QWORD PTR[8+rcx] + mov rax,QWORD PTR[8+rcx] adc rdx,0 - add r11,QWORD PTR[8+r14] + add r11,QWORD PTR[8+r14] adc rdx,0 mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[16+r9*1+rsi] + mov rax,QWORD PTR[16+r9*1+rsi] adc rdx,0 add rdi,r11 - lea r15,QWORD PTR[32+r9] - lea rcx,QWORD PTR[32+rcx] + lea r15,QWORD PTR[32+r9] + lea rcx,QWORD PTR[32+rcx] adc rdx,0 mov r13,rdx - jmp $L$inner4x + jmp $L$inner4x ALIGN 32 -$L$inner4x:: +$L$inner4x:: mul rbx add r10,rax - mov rax,QWORD PTR[((-16))+rcx] + mov rax,QWORD PTR[((-16))+rcx] adc rdx,0 - add r10,QWORD PTR[16+r14] - lea r14,QWORD PTR[32+r14] + add r10,QWORD PTR[16+r14] + lea r14,QWORD PTR[32+r14] adc rdx,0 mov r11,rdx mul rbp add r13,rax - mov rax,QWORD PTR[((-8))+r15*1+rsi] + mov rax,QWORD PTR[((-8))+r15*1+rsi] adc rdx,0 add r13,r10 adc rdx,0 - mov QWORD PTR[((-32))+r14],rdi + mov QWORD PTR[((-32))+r14],rdi mov rdi,rdx mul rbx add r11,rax - mov rax,QWORD PTR[((-8))+rcx] + mov rax,QWORD PTR[((-8))+rcx] adc rdx,0 - add r11,QWORD PTR[((-8))+r14] + add r11,QWORD PTR[((-8))+r14] adc rdx,0 mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[r15*1+rsi] + mov rax,QWORD PTR[r15*1+rsi] adc rdx,0 add rdi,r11 adc rdx,0 - mov QWORD PTR[((-24))+r14],r13 + mov QWORD PTR[((-24))+r14],r13 mov r13,rdx mul rbx add r10,rax - mov rax,QWORD PTR[rcx] + mov rax,QWORD PTR[rcx] adc rdx,0 - add r10,QWORD PTR[r14] + add r10,QWORD PTR[r14] adc rdx,0 mov r11,rdx mul rbp add r13,rax - mov rax,QWORD PTR[8+r15*1+rsi] + mov rax,QWORD PTR[8+r15*1+rsi] adc rdx,0 add r13,r10 adc rdx,0 - mov QWORD PTR[((-16))+r14],rdi + mov QWORD PTR[((-16))+r14],rdi mov rdi,rdx mul rbx add r11,rax - mov rax,QWORD PTR[8+rcx] + mov rax,QWORD PTR[8+rcx] adc rdx,0 - add r11,QWORD PTR[8+r14] + add r11,QWORD PTR[8+r14] adc rdx,0 mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[16+r15*1+rsi] + mov rax,QWORD PTR[16+r15*1+rsi] adc rdx,0 add rdi,r11 - lea rcx,QWORD PTR[32+rcx] + lea rcx,QWORD PTR[32+rcx] adc rdx,0 - mov QWORD PTR[((-8))+r14],r13 + mov QWORD PTR[((-8))+r14],r13 mov r13,rdx add r15,32 - jnz $L$inner4x + jnz $L$inner4x mul rbx add r10,rax - mov rax,QWORD PTR[((-16))+rcx] + mov rax,QWORD PTR[((-16))+rcx] adc rdx,0 - add r10,QWORD PTR[16+r14] - lea r14,QWORD PTR[32+r14] + add r10,QWORD PTR[16+r14] + lea r14,QWORD PTR[32+r14] adc rdx,0 mov r11,rdx mul rbp add r13,rax - mov rax,QWORD PTR[((-8))+rsi] + mov rax,QWORD PTR[((-8))+rsi] adc rdx,0 add r13,r10 adc rdx,0 - mov QWORD PTR[((-32))+r14],rdi + mov QWORD PTR[((-32))+r14],rdi mov rdi,rdx mul rbx add r11,rax mov rax,rbp - mov rbp,QWORD PTR[((-8))+rcx] + mov rbp,QWORD PTR[((-8))+rcx] adc rdx,0 - add r11,QWORD PTR[((-8))+r14] + add r11,QWORD PTR[((-8))+r14] adc rdx,0 mov r10,rdx mul rbp add rdi,rax - mov rax,QWORD PTR[r9*1+rsi] + mov rax,QWORD PTR[r9*1+rsi] adc rdx,0 add rdi,r11 adc rdx,0 - mov QWORD PTR[((-24))+r14],r13 + mov QWORD PTR[((-24))+r14],r13 mov r13,rdx - mov QWORD PTR[((-16))+r14],rdi - lea rcx,QWORD PTR[r9*1+rcx] + mov QWORD PTR[((-16))+r14],rdi + lea rcx,QWORD PTR[r9*1+rcx] xor rdi,rdi add r13,r10 adc rdi,0 - add r13,QWORD PTR[r14] + add r13,QWORD PTR[r14] adc rdi,0 - mov QWORD PTR[((-8))+r14],r13 + mov QWORD PTR[((-8))+r14],r13 - cmp r12,QWORD PTR[((16+8))+rsp] - jb $L$outer4x + cmp r12,QWORD PTR[((16+8))+rsp] + jb $L$outer4x xor rax,rax sub rbp,r13 adc r15,r15 or rdi,r15 sub rax,rdi - lea rbx,QWORD PTR[r9*1+r14] - mov r12,QWORD PTR[rcx] - lea rbp,QWORD PTR[rcx] + lea rbx,QWORD PTR[r9*1+r14] + mov r12,QWORD PTR[rcx] + lea rbp,QWORD PTR[rcx] mov rcx,r9 sar rcx,3+2 - mov rdi,QWORD PTR[((56+8))+rsp] + mov rdi,QWORD PTR[((56+8))+rsp] dec r12 xor r10,r10 - mov r13,QWORD PTR[8+rbp] - mov r14,QWORD PTR[16+rbp] - mov r15,QWORD PTR[24+rbp] - jmp $L$sqr4x_sub_entry + mov r13,QWORD PTR[8+rbp] + mov r14,QWORD PTR[16+rbp] + mov r15,QWORD PTR[24+rbp] + jmp $L$sqr4x_sub_entry -mul4x_internal ENDP -PUBLIC bn_power5 +mul4x_internal ENDP +PUBLIC bn_power5 ALIGN 32 -bn_power5 PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +bn_power5 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_bn_power5:: +$L$SEH_begin_bn_power5:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] mov rax,rsp - mov r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] - and r11d,080108h - cmp r11d,080108h - je $L$powerx5_enter + mov r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] + and r11d,080108h + cmp r11d,080108h + je $L$powerx5_enter push rbx push rbp @@ -1140,12 +1140,12 @@ $L$SEH_begin_bn_power5:: push r15 -$L$power5_prologue:: +$L$power5_prologue:: shl r9d,3 - lea r10d,DWORD PTR[r9*2+r9] + lea r10d,DWORD PTR[r9*2+r9] neg r9 - mov r8,QWORD PTR[r8] + mov r8,QWORD PTR[r8] @@ -1154,41 +1154,41 @@ $L$power5_prologue:: - lea r11,QWORD PTR[((-320))+r9*2+rsp] + lea r11,QWORD PTR[((-320))+r9*2+rsp] mov rbp,rsp sub r11,rdi and r11,4095 cmp r10,r11 - jb $L$pwr_sp_alt + jb $L$pwr_sp_alt sub rbp,r11 - lea rbp,QWORD PTR[((-320))+r9*2+rbp] - jmp $L$pwr_sp_done + lea rbp,QWORD PTR[((-320))+r9*2+rbp] + jmp $L$pwr_sp_done ALIGN 32 -$L$pwr_sp_alt:: - lea r10,QWORD PTR[((4096-320))+r9*2] - lea rbp,QWORD PTR[((-320))+r9*2+rbp] +$L$pwr_sp_alt:: + lea r10,QWORD PTR[((4096-320))+r9*2] + lea rbp,QWORD PTR[((-320))+r9*2+rbp] sub r11,r10 mov r10,0 cmovc r11,r10 sub rbp,r11 -$L$pwr_sp_done:: +$L$pwr_sp_done:: and rbp,-64 mov r11,rsp sub r11,rbp and r11,-4096 - lea rsp,QWORD PTR[rbp*1+r11] - mov r10,QWORD PTR[rsp] + lea rsp,QWORD PTR[rbp*1+r11] + mov r10,QWORD PTR[rsp] cmp rsp,rbp - ja $L$pwr_page_walk - jmp $L$pwr_page_walk_done + ja $L$pwr_page_walk + jmp $L$pwr_page_walk_done -$L$pwr_page_walk:: - lea rsp,QWORD PTR[((-4096))+rsp] - mov r10,QWORD PTR[rsp] +$L$pwr_page_walk:: + lea rsp,QWORD PTR[((-4096))+rsp] + mov r10,QWORD PTR[rsp] cmp rsp,rbp - ja $L$pwr_page_walk -$L$pwr_page_walk_done:: + ja $L$pwr_page_walk +$L$pwr_page_walk_done:: mov r10,r9 neg r9 @@ -1202,10 +1202,10 @@ $L$pwr_page_walk_done:: - mov QWORD PTR[32+rsp],r8 - mov QWORD PTR[40+rsp],rax + mov QWORD PTR[32+rsp],r8 + mov QWORD PTR[40+rsp],rax -$L$power5_body:: +$L$power5_body:: DB 102,72,15,110,207 DB 102,72,15,110,209 DB 102,73,15,110,218 @@ -1225,42 +1225,43 @@ DB 102,72,15,110,226 DB 102,72,15,126,209 DB 102,72,15,126,226 mov rdi,rsi - mov rax,QWORD PTR[40+rsp] - lea r8,QWORD PTR[32+rsp] + mov rax,QWORD PTR[40+rsp] + lea r8,QWORD PTR[32+rsp] call mul4x_internal - mov rsi,QWORD PTR[40+rsp] + mov rsi,QWORD PTR[40+rsp] mov rax,1 - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$power5_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$power5_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_bn_power5:: -bn_power5 ENDP +$L$SEH_end_bn_power5:: +bn_power5 ENDP -PUBLIC bn_sqr8x_internal +PUBLIC bn_sqr8x_internal ALIGN 32 -bn_sqr8x_internal PROC PUBLIC -__bn_sqr8x_internal:: +bn_sqr8x_internal PROC PUBLIC +__bn_sqr8x_internal:: + @@ -1334,41 +1335,40 @@ __bn_sqr8x_internal:: + lea rbp,QWORD PTR[32+r10] + lea rsi,QWORD PTR[r9*1+rsi] - lea rbp,QWORD PTR[32+r10] - lea rsi,QWORD PTR[r9*1+rsi] - mov rcx,r9 - mov r14,QWORD PTR[((-32))+rbp*1+rsi] - lea rdi,QWORD PTR[((48+8))+r9*2+rsp] - mov rax,QWORD PTR[((-24))+rbp*1+rsi] - lea rdi,QWORD PTR[((-32))+rbp*1+rdi] - mov rbx,QWORD PTR[((-16))+rbp*1+rsi] + mov r14,QWORD PTR[((-32))+rbp*1+rsi] + lea rdi,QWORD PTR[((48+8))+r9*2+rsp] + mov rax,QWORD PTR[((-24))+rbp*1+rsi] + lea rdi,QWORD PTR[((-32))+rbp*1+rdi] + mov rbx,QWORD PTR[((-16))+rbp*1+rsi] mov r15,rax mul r14 mov r10,rax mov rax,rbx mov r11,rdx - mov QWORD PTR[((-24))+rbp*1+rdi],r10 + mov QWORD PTR[((-24))+rbp*1+rdi],r10 mul r14 add r11,rax mov rax,rbx adc rdx,0 - mov QWORD PTR[((-16))+rbp*1+rdi],r11 + mov QWORD PTR[((-16))+rbp*1+rdi],r11 mov r10,rdx - mov rbx,QWORD PTR[((-8))+rbp*1+rsi] + mov rbx,QWORD PTR[((-8))+rbp*1+rsi] mul r15 mov r12,rax mov rax,rbx mov r13,rdx - lea rcx,QWORD PTR[rbp] + lea rcx,QWORD PTR[rbp] mul r14 add r10,rax mov rax,rbx @@ -1376,12 +1376,12 @@ __bn_sqr8x_internal:: adc r11,0 add r10,r12 adc r11,0 - mov QWORD PTR[((-8))+rcx*1+rdi],r10 - jmp $L$sqr4x_1st + mov QWORD PTR[((-8))+rcx*1+rdi],r10 + jmp $L$sqr4x_1st ALIGN 32 -$L$sqr4x_1st:: - mov rbx,QWORD PTR[rcx*1+rsi] +$L$sqr4x_1st:: + mov rbx,QWORD PTR[rcx*1+rsi] mul r15 add r13,rax mov rax,rbx @@ -1391,7 +1391,7 @@ $L$sqr4x_1st:: mul r14 add r11,rax mov rax,rbx - mov rbx,QWORD PTR[8+rcx*1+rsi] + mov rbx,QWORD PTR[8+rcx*1+rsi] mov r10,rdx adc r10,0 add r11,r13 @@ -1401,14 +1401,14 @@ $L$sqr4x_1st:: mul r15 add r12,rax mov rax,rbx - mov QWORD PTR[rcx*1+rdi],r11 + mov QWORD PTR[rcx*1+rdi],r11 mov r13,rdx adc r13,0 mul r14 add r10,rax mov rax,rbx - mov rbx,QWORD PTR[16+rcx*1+rsi] + mov rbx,QWORD PTR[16+rcx*1+rsi] mov r11,rdx adc r11,0 add r10,r12 @@ -1417,14 +1417,14 @@ $L$sqr4x_1st:: mul r15 add r13,rax mov rax,rbx - mov QWORD PTR[8+rcx*1+rdi],r10 + mov QWORD PTR[8+rcx*1+rdi],r10 mov r12,rdx adc r12,0 mul r14 add r11,rax mov rax,rbx - mov rbx,QWORD PTR[24+rcx*1+rsi] + mov rbx,QWORD PTR[24+rcx*1+rsi] mov r10,rdx adc r10,0 add r11,r13 @@ -1434,10 +1434,10 @@ $L$sqr4x_1st:: mul r15 add r12,rax mov rax,rbx - mov QWORD PTR[16+rcx*1+rdi],r11 + mov QWORD PTR[16+rcx*1+rdi],r11 mov r13,rdx adc r13,0 - lea rcx,QWORD PTR[32+rcx] + lea rcx,QWORD PTR[32+rcx] mul r14 add r10,rax @@ -1446,57 +1446,57 @@ $L$sqr4x_1st:: adc r11,0 add r10,r12 adc r11,0 - mov QWORD PTR[((-8))+rcx*1+rdi],r10 + mov QWORD PTR[((-8))+rcx*1+rdi],r10 cmp rcx,0 - jne $L$sqr4x_1st + jne $L$sqr4x_1st mul r15 add r13,rax - lea rbp,QWORD PTR[16+rbp] + lea rbp,QWORD PTR[16+rbp] adc rdx,0 add r13,r11 adc rdx,0 - mov QWORD PTR[rdi],r13 + mov QWORD PTR[rdi],r13 mov r12,rdx - mov QWORD PTR[8+rdi],rdx - jmp $L$sqr4x_outer + mov QWORD PTR[8+rdi],rdx + jmp $L$sqr4x_outer ALIGN 32 -$L$sqr4x_outer:: - mov r14,QWORD PTR[((-32))+rbp*1+rsi] - lea rdi,QWORD PTR[((48+8))+r9*2+rsp] - mov rax,QWORD PTR[((-24))+rbp*1+rsi] - lea rdi,QWORD PTR[((-32))+rbp*1+rdi] - mov rbx,QWORD PTR[((-16))+rbp*1+rsi] +$L$sqr4x_outer:: + mov r14,QWORD PTR[((-32))+rbp*1+rsi] + lea rdi,QWORD PTR[((48+8))+r9*2+rsp] + mov rax,QWORD PTR[((-24))+rbp*1+rsi] + lea rdi,QWORD PTR[((-32))+rbp*1+rdi] + mov rbx,QWORD PTR[((-16))+rbp*1+rsi] mov r15,rax mul r14 - mov r10,QWORD PTR[((-24))+rbp*1+rdi] + mov r10,QWORD PTR[((-24))+rbp*1+rdi] add r10,rax mov rax,rbx adc rdx,0 - mov QWORD PTR[((-24))+rbp*1+rdi],r10 + mov QWORD PTR[((-24))+rbp*1+rdi],r10 mov r11,rdx mul r14 add r11,rax mov rax,rbx adc rdx,0 - add r11,QWORD PTR[((-16))+rbp*1+rdi] + add r11,QWORD PTR[((-16))+rbp*1+rdi] mov r10,rdx adc r10,0 - mov QWORD PTR[((-16))+rbp*1+rdi],r11 + mov QWORD PTR[((-16))+rbp*1+rdi],r11 xor r12,r12 - mov rbx,QWORD PTR[((-8))+rbp*1+rsi] + mov rbx,QWORD PTR[((-8))+rbp*1+rsi] mul r15 add r12,rax mov rax,rbx adc rdx,0 - add r12,QWORD PTR[((-8))+rbp*1+rdi] + add r12,QWORD PTR[((-8))+rbp*1+rdi] mov r13,rdx adc r13,0 @@ -1507,27 +1507,27 @@ $L$sqr4x_outer:: add r10,r12 mov r11,rdx adc r11,0 - mov QWORD PTR[((-8))+rbp*1+rdi],r10 + mov QWORD PTR[((-8))+rbp*1+rdi],r10 - lea rcx,QWORD PTR[rbp] - jmp $L$sqr4x_inner + lea rcx,QWORD PTR[rbp] + jmp $L$sqr4x_inner ALIGN 32 -$L$sqr4x_inner:: - mov rbx,QWORD PTR[rcx*1+rsi] +$L$sqr4x_inner:: + mov rbx,QWORD PTR[rcx*1+rsi] mul r15 add r13,rax mov rax,rbx mov r12,rdx adc r12,0 - add r13,QWORD PTR[rcx*1+rdi] + add r13,QWORD PTR[rcx*1+rdi] adc r12,0 -DB 067h +DB 067h mul r14 add r11,rax mov rax,rbx - mov rbx,QWORD PTR[8+rcx*1+rsi] + mov rbx,QWORD PTR[8+rcx*1+rsi] mov r10,rdx adc r10,0 add r11,r13 @@ -1535,12 +1535,12 @@ DB 067h mul r15 add r12,rax - mov QWORD PTR[rcx*1+rdi],r11 + mov QWORD PTR[rcx*1+rdi],r11 mov rax,rbx mov r13,rdx adc r13,0 - add r12,QWORD PTR[8+rcx*1+rdi] - lea rcx,QWORD PTR[16+rcx] + add r12,QWORD PTR[8+rcx*1+rdi] + lea rcx,QWORD PTR[16+rcx] adc r13,0 mul r14 @@ -1550,31 +1550,31 @@ DB 067h add r10,r12 mov r11,rdx adc r11,0 - mov QWORD PTR[((-8))+rcx*1+rdi],r10 + mov QWORD PTR[((-8))+rcx*1+rdi],r10 cmp rcx,0 - jne $L$sqr4x_inner + jne $L$sqr4x_inner -DB 067h +DB 067h mul r15 add r13,rax adc rdx,0 add r13,r11 adc rdx,0 - mov QWORD PTR[rdi],r13 + mov QWORD PTR[rdi],r13 mov r12,rdx - mov QWORD PTR[8+rdi],rdx + mov QWORD PTR[8+rdi],rdx add rbp,16 - jnz $L$sqr4x_outer + jnz $L$sqr4x_outer - mov r14,QWORD PTR[((-32))+rsi] - lea rdi,QWORD PTR[((48+8))+r9*2+rsp] - mov rax,QWORD PTR[((-24))+rsi] - lea rdi,QWORD PTR[((-32))+rbp*1+rdi] - mov rbx,QWORD PTR[((-16))+rsi] + mov r14,QWORD PTR[((-32))+rsi] + lea rdi,QWORD PTR[((48+8))+r9*2+rsp] + mov rax,QWORD PTR[((-24))+rsi] + lea rdi,QWORD PTR[((-32))+rbp*1+rdi] + mov rbx,QWORD PTR[((-16))+rsi] mov r15,rax mul r14 @@ -1586,17 +1586,17 @@ DB 067h mul r14 add r11,rax mov rax,rbx - mov QWORD PTR[((-24))+rdi],r10 + mov QWORD PTR[((-24))+rdi],r10 mov r10,rdx adc r10,0 add r11,r13 - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] adc r10,0 mul r15 add r12,rax mov rax,rbx - mov QWORD PTR[((-16))+rdi],r11 + mov QWORD PTR[((-16))+rdi],r11 mov r13,rdx adc r13,0 @@ -1607,18 +1607,18 @@ DB 067h adc r11,0 add r10,r12 adc r11,0 - mov QWORD PTR[((-8))+rdi],r10 + mov QWORD PTR[((-8))+rdi],r10 mul r15 add r13,rax - mov rax,QWORD PTR[((-16))+rsi] + mov rax,QWORD PTR[((-16))+rsi] adc rdx,0 add r13,r11 adc rdx,0 - mov QWORD PTR[rdi],r13 + mov QWORD PTR[rdi],r13 mov r12,rdx - mov QWORD PTR[8+rdi],rdx + mov QWORD PTR[8+rdi],rdx mul rbx add rbp,16 @@ -1628,216 +1628,216 @@ DB 067h add rax,r12 adc rdx,0 - mov QWORD PTR[8+rdi],rax - mov QWORD PTR[16+rdi],rdx - mov QWORD PTR[24+rdi],r15 + mov QWORD PTR[8+rdi],rax + mov QWORD PTR[16+rdi],rdx + mov QWORD PTR[24+rdi],r15 - mov rax,QWORD PTR[((-16))+rbp*1+rsi] - lea rdi,QWORD PTR[((48+8))+rsp] + mov rax,QWORD PTR[((-16))+rbp*1+rsi] + lea rdi,QWORD PTR[((48+8))+rsp] xor r10,r10 - mov r11,QWORD PTR[8+rdi] + mov r11,QWORD PTR[8+rdi] - lea r12,QWORD PTR[r10*2+r14] + lea r12,QWORD PTR[r10*2+r14] shr r10,63 - lea r13,QWORD PTR[r11*2+rcx] + lea r13,QWORD PTR[r11*2+rcx] shr r11,63 or r13,r10 - mov r10,QWORD PTR[16+rdi] + mov r10,QWORD PTR[16+rdi] mov r14,r11 mul rax neg r15 - mov r11,QWORD PTR[24+rdi] + mov r11,QWORD PTR[24+rdi] adc r12,rax - mov rax,QWORD PTR[((-8))+rbp*1+rsi] - mov QWORD PTR[rdi],r12 + mov rax,QWORD PTR[((-8))+rbp*1+rsi] + mov QWORD PTR[rdi],r12 adc r13,rdx - lea rbx,QWORD PTR[r10*2+r14] - mov QWORD PTR[8+rdi],r13 + lea rbx,QWORD PTR[r10*2+r14] + mov QWORD PTR[8+rdi],r13 sbb r15,r15 shr r10,63 - lea r8,QWORD PTR[r11*2+rcx] + lea r8,QWORD PTR[r11*2+rcx] shr r11,63 or r8,r10 - mov r10,QWORD PTR[32+rdi] + mov r10,QWORD PTR[32+rdi] mov r14,r11 mul rax neg r15 - mov r11,QWORD PTR[40+rdi] + mov r11,QWORD PTR[40+rdi] adc rbx,rax - mov rax,QWORD PTR[rbp*1+rsi] - mov QWORD PTR[16+rdi],rbx + mov rax,QWORD PTR[rbp*1+rsi] + mov QWORD PTR[16+rdi],rbx adc r8,rdx - lea rbp,QWORD PTR[16+rbp] - mov QWORD PTR[24+rdi],r8 + lea rbp,QWORD PTR[16+rbp] + mov QWORD PTR[24+rdi],r8 sbb r15,r15 - lea rdi,QWORD PTR[64+rdi] - jmp $L$sqr4x_shift_n_add + lea rdi,QWORD PTR[64+rdi] + jmp $L$sqr4x_shift_n_add ALIGN 32 -$L$sqr4x_shift_n_add:: - lea r12,QWORD PTR[r10*2+r14] +$L$sqr4x_shift_n_add:: + lea r12,QWORD PTR[r10*2+r14] shr r10,63 - lea r13,QWORD PTR[r11*2+rcx] + lea r13,QWORD PTR[r11*2+rcx] shr r11,63 or r13,r10 - mov r10,QWORD PTR[((-16))+rdi] + mov r10,QWORD PTR[((-16))+rdi] mov r14,r11 mul rax neg r15 - mov r11,QWORD PTR[((-8))+rdi] + mov r11,QWORD PTR[((-8))+rdi] adc r12,rax - mov rax,QWORD PTR[((-8))+rbp*1+rsi] - mov QWORD PTR[((-32))+rdi],r12 + mov rax,QWORD PTR[((-8))+rbp*1+rsi] + mov QWORD PTR[((-32))+rdi],r12 adc r13,rdx - lea rbx,QWORD PTR[r10*2+r14] - mov QWORD PTR[((-24))+rdi],r13 + lea rbx,QWORD PTR[r10*2+r14] + mov QWORD PTR[((-24))+rdi],r13 sbb r15,r15 shr r10,63 - lea r8,QWORD PTR[r11*2+rcx] + lea r8,QWORD PTR[r11*2+rcx] shr r11,63 or r8,r10 - mov r10,QWORD PTR[rdi] + mov r10,QWORD PTR[rdi] mov r14,r11 mul rax neg r15 - mov r11,QWORD PTR[8+rdi] + mov r11,QWORD PTR[8+rdi] adc rbx,rax - mov rax,QWORD PTR[rbp*1+rsi] - mov QWORD PTR[((-16))+rdi],rbx + mov rax,QWORD PTR[rbp*1+rsi] + mov QWORD PTR[((-16))+rdi],rbx adc r8,rdx - lea r12,QWORD PTR[r10*2+r14] - mov QWORD PTR[((-8))+rdi],r8 + lea r12,QWORD PTR[r10*2+r14] + mov QWORD PTR[((-8))+rdi],r8 sbb r15,r15 shr r10,63 - lea r13,QWORD PTR[r11*2+rcx] + lea r13,QWORD PTR[r11*2+rcx] shr r11,63 or r13,r10 - mov r10,QWORD PTR[16+rdi] + mov r10,QWORD PTR[16+rdi] mov r14,r11 mul rax neg r15 - mov r11,QWORD PTR[24+rdi] + mov r11,QWORD PTR[24+rdi] adc r12,rax - mov rax,QWORD PTR[8+rbp*1+rsi] - mov QWORD PTR[rdi],r12 + mov rax,QWORD PTR[8+rbp*1+rsi] + mov QWORD PTR[rdi],r12 adc r13,rdx - lea rbx,QWORD PTR[r10*2+r14] - mov QWORD PTR[8+rdi],r13 + lea rbx,QWORD PTR[r10*2+r14] + mov QWORD PTR[8+rdi],r13 sbb r15,r15 shr r10,63 - lea r8,QWORD PTR[r11*2+rcx] + lea r8,QWORD PTR[r11*2+rcx] shr r11,63 or r8,r10 - mov r10,QWORD PTR[32+rdi] + mov r10,QWORD PTR[32+rdi] mov r14,r11 mul rax neg r15 - mov r11,QWORD PTR[40+rdi] + mov r11,QWORD PTR[40+rdi] adc rbx,rax - mov rax,QWORD PTR[16+rbp*1+rsi] - mov QWORD PTR[16+rdi],rbx + mov rax,QWORD PTR[16+rbp*1+rsi] + mov QWORD PTR[16+rdi],rbx adc r8,rdx - mov QWORD PTR[24+rdi],r8 + mov QWORD PTR[24+rdi],r8 sbb r15,r15 - lea rdi,QWORD PTR[64+rdi] + lea rdi,QWORD PTR[64+rdi] add rbp,32 - jnz $L$sqr4x_shift_n_add + jnz $L$sqr4x_shift_n_add - lea r12,QWORD PTR[r10*2+r14] -DB 067h + lea r12,QWORD PTR[r10*2+r14] +DB 067h shr r10,63 - lea r13,QWORD PTR[r11*2+rcx] + lea r13,QWORD PTR[r11*2+rcx] shr r11,63 or r13,r10 - mov r10,QWORD PTR[((-16))+rdi] + mov r10,QWORD PTR[((-16))+rdi] mov r14,r11 mul rax neg r15 - mov r11,QWORD PTR[((-8))+rdi] + mov r11,QWORD PTR[((-8))+rdi] adc r12,rax - mov rax,QWORD PTR[((-8))+rsi] - mov QWORD PTR[((-32))+rdi],r12 + mov rax,QWORD PTR[((-8))+rsi] + mov QWORD PTR[((-32))+rdi],r12 adc r13,rdx - lea rbx,QWORD PTR[r10*2+r14] - mov QWORD PTR[((-24))+rdi],r13 + lea rbx,QWORD PTR[r10*2+r14] + mov QWORD PTR[((-24))+rdi],r13 sbb r15,r15 shr r10,63 - lea r8,QWORD PTR[r11*2+rcx] + lea r8,QWORD PTR[r11*2+rcx] shr r11,63 or r8,r10 mul rax neg r15 adc rbx,rax adc r8,rdx - mov QWORD PTR[((-16))+rdi],rbx - mov QWORD PTR[((-8))+rdi],r8 + mov QWORD PTR[((-16))+rdi],rbx + mov QWORD PTR[((-8))+rdi],r8 DB 102,72,15,126,213 -__bn_sqr8x_reduction:: +__bn_sqr8x_reduction:: xor rax,rax - lea rcx,QWORD PTR[rbp*1+r9] - lea rdx,QWORD PTR[((48+8))+r9*2+rsp] - mov QWORD PTR[((0+8))+rsp],rcx - lea rdi,QWORD PTR[((48+8))+r9*1+rsp] - mov QWORD PTR[((8+8))+rsp],rdx + lea rcx,QWORD PTR[rbp*1+r9] + lea rdx,QWORD PTR[((48+8))+r9*2+rsp] + mov QWORD PTR[((0+8))+rsp],rcx + lea rdi,QWORD PTR[((48+8))+r9*1+rsp] + mov QWORD PTR[((8+8))+rsp],rdx neg r9 - jmp $L$8x_reduction_loop + jmp $L$8x_reduction_loop ALIGN 32 -$L$8x_reduction_loop:: - lea rdi,QWORD PTR[r9*1+rdi] -DB 066h - mov rbx,QWORD PTR[rdi] - mov r9,QWORD PTR[8+rdi] - mov r10,QWORD PTR[16+rdi] - mov r11,QWORD PTR[24+rdi] - mov r12,QWORD PTR[32+rdi] - mov r13,QWORD PTR[40+rdi] - mov r14,QWORD PTR[48+rdi] - mov r15,QWORD PTR[56+rdi] - mov QWORD PTR[rdx],rax - lea rdi,QWORD PTR[64+rdi] - -DB 067h +$L$8x_reduction_loop:: + lea rdi,QWORD PTR[r9*1+rdi] +DB 066h + mov rbx,QWORD PTR[rdi] + mov r9,QWORD PTR[8+rdi] + mov r10,QWORD PTR[16+rdi] + mov r11,QWORD PTR[24+rdi] + mov r12,QWORD PTR[32+rdi] + mov r13,QWORD PTR[40+rdi] + mov r14,QWORD PTR[48+rdi] + mov r15,QWORD PTR[56+rdi] + mov QWORD PTR[rdx],rax + lea rdi,QWORD PTR[64+rdi] + +DB 067h mov r8,rbx - imul rbx,QWORD PTR[((32+8))+rsp] - mov rax,QWORD PTR[rbp] + imul rbx,QWORD PTR[((32+8))+rsp] + mov rax,QWORD PTR[rbp] mov ecx,8 - jmp $L$8x_reduce + jmp $L$8x_reduce ALIGN 32 -$L$8x_reduce:: +$L$8x_reduce:: mul rbx - mov rax,QWORD PTR[8+rbp] + mov rax,QWORD PTR[8+rbp] neg r8 mov r8,rdx adc r8,0 mul rbx add r9,rax - mov rax,QWORD PTR[16+rbp] + mov rax,QWORD PTR[16+rbp] adc rdx,0 add r8,r9 - mov QWORD PTR[((48-8+8))+rcx*8+rsp],rbx + mov QWORD PTR[((48-8+8))+rcx*8+rsp],rbx mov r9,rdx adc r9,0 mul rbx add r10,rax - mov rax,QWORD PTR[24+rbp] + mov rax,QWORD PTR[24+rbp] adc rdx,0 add r9,r10 - mov rsi,QWORD PTR[((32+8))+rsp] + mov rsi,QWORD PTR[((32+8))+rsp] mov r10,rdx adc r10,0 mul rbx add r11,rax - mov rax,QWORD PTR[32+rbp] + mov rax,QWORD PTR[32+rbp] adc rdx,0 imul rsi,r8 add r10,r11 @@ -1846,7 +1846,7 @@ $L$8x_reduce:: mul rbx add r12,rax - mov rax,QWORD PTR[40+rbp] + mov rax,QWORD PTR[40+rbp] adc rdx,0 add r11,r12 mov r12,rdx @@ -1854,7 +1854,7 @@ $L$8x_reduce:: mul rbx add r13,rax - mov rax,QWORD PTR[48+rbp] + mov rax,QWORD PTR[48+rbp] adc rdx,0 add r12,r13 mov r13,rdx @@ -1862,7 +1862,7 @@ $L$8x_reduce:: mul rbx add r14,rax - mov rax,QWORD PTR[56+rbp] + mov rax,QWORD PTR[56+rbp] adc rdx,0 add r13,r14 mov r14,rdx @@ -1871,58 +1871,58 @@ $L$8x_reduce:: mul rbx mov rbx,rsi add r15,rax - mov rax,QWORD PTR[rbp] + mov rax,QWORD PTR[rbp] adc rdx,0 add r14,r15 mov r15,rdx adc r15,0 dec ecx - jnz $L$8x_reduce + jnz $L$8x_reduce - lea rbp,QWORD PTR[64+rbp] + lea rbp,QWORD PTR[64+rbp] xor rax,rax - mov rdx,QWORD PTR[((8+8))+rsp] - cmp rbp,QWORD PTR[((0+8))+rsp] - jae $L$8x_no_tail - -DB 066h - add r8,QWORD PTR[rdi] - adc r9,QWORD PTR[8+rdi] - adc r10,QWORD PTR[16+rdi] - adc r11,QWORD PTR[24+rdi] - adc r12,QWORD PTR[32+rdi] - adc r13,QWORD PTR[40+rdi] - adc r14,QWORD PTR[48+rdi] - adc r15,QWORD PTR[56+rdi] + mov rdx,QWORD PTR[((8+8))+rsp] + cmp rbp,QWORD PTR[((0+8))+rsp] + jae $L$8x_no_tail + +DB 066h + add r8,QWORD PTR[rdi] + adc r9,QWORD PTR[8+rdi] + adc r10,QWORD PTR[16+rdi] + adc r11,QWORD PTR[24+rdi] + adc r12,QWORD PTR[32+rdi] + adc r13,QWORD PTR[40+rdi] + adc r14,QWORD PTR[48+rdi] + adc r15,QWORD PTR[56+rdi] sbb rsi,rsi - mov rbx,QWORD PTR[((48+56+8))+rsp] + mov rbx,QWORD PTR[((48+56+8))+rsp] mov ecx,8 - mov rax,QWORD PTR[rbp] - jmp $L$8x_tail + mov rax,QWORD PTR[rbp] + jmp $L$8x_tail ALIGN 32 -$L$8x_tail:: +$L$8x_tail:: mul rbx add r8,rax - mov rax,QWORD PTR[8+rbp] - mov QWORD PTR[rdi],r8 + mov rax,QWORD PTR[8+rbp] + mov QWORD PTR[rdi],r8 mov r8,rdx adc r8,0 mul rbx add r9,rax - mov rax,QWORD PTR[16+rbp] + mov rax,QWORD PTR[16+rbp] adc rdx,0 add r8,r9 - lea rdi,QWORD PTR[8+rdi] + lea rdi,QWORD PTR[8+rdi] mov r9,rdx adc r9,0 mul rbx add r10,rax - mov rax,QWORD PTR[24+rbp] + mov rax,QWORD PTR[24+rbp] adc rdx,0 add r9,r10 mov r10,rdx @@ -1930,7 +1930,7 @@ $L$8x_tail:: mul rbx add r11,rax - mov rax,QWORD PTR[32+rbp] + mov rax,QWORD PTR[32+rbp] adc rdx,0 add r10,r11 mov r11,rdx @@ -1938,7 +1938,7 @@ $L$8x_tail:: mul rbx add r12,rax - mov rax,QWORD PTR[40+rbp] + mov rax,QWORD PTR[40+rbp] adc rdx,0 add r11,r12 mov r12,rdx @@ -1946,7 +1946,7 @@ $L$8x_tail:: mul rbx add r13,rax - mov rax,QWORD PTR[48+rbp] + mov rax,QWORD PTR[48+rbp] adc rdx,0 add r12,r13 mov r13,rdx @@ -1954,49 +1954,49 @@ $L$8x_tail:: mul rbx add r14,rax - mov rax,QWORD PTR[56+rbp] + mov rax,QWORD PTR[56+rbp] adc rdx,0 add r13,r14 mov r14,rdx adc r14,0 mul rbx - mov rbx,QWORD PTR[((48-16+8))+rcx*8+rsp] + mov rbx,QWORD PTR[((48-16+8))+rcx*8+rsp] add r15,rax adc rdx,0 add r14,r15 - mov rax,QWORD PTR[rbp] + mov rax,QWORD PTR[rbp] mov r15,rdx adc r15,0 dec ecx - jnz $L$8x_tail + jnz $L$8x_tail - lea rbp,QWORD PTR[64+rbp] - mov rdx,QWORD PTR[((8+8))+rsp] - cmp rbp,QWORD PTR[((0+8))+rsp] - jae $L$8x_tail_done + lea rbp,QWORD PTR[64+rbp] + mov rdx,QWORD PTR[((8+8))+rsp] + cmp rbp,QWORD PTR[((0+8))+rsp] + jae $L$8x_tail_done - mov rbx,QWORD PTR[((48+56+8))+rsp] + mov rbx,QWORD PTR[((48+56+8))+rsp] neg rsi - mov rax,QWORD PTR[rbp] - adc r8,QWORD PTR[rdi] - adc r9,QWORD PTR[8+rdi] - adc r10,QWORD PTR[16+rdi] - adc r11,QWORD PTR[24+rdi] - adc r12,QWORD PTR[32+rdi] - adc r13,QWORD PTR[40+rdi] - adc r14,QWORD PTR[48+rdi] - adc r15,QWORD PTR[56+rdi] + mov rax,QWORD PTR[rbp] + adc r8,QWORD PTR[rdi] + adc r9,QWORD PTR[8+rdi] + adc r10,QWORD PTR[16+rdi] + adc r11,QWORD PTR[24+rdi] + adc r12,QWORD PTR[32+rdi] + adc r13,QWORD PTR[40+rdi] + adc r14,QWORD PTR[48+rdi] + adc r15,QWORD PTR[56+rdi] sbb rsi,rsi mov ecx,8 - jmp $L$8x_tail + jmp $L$8x_tail ALIGN 32 -$L$8x_tail_done:: +$L$8x_tail_done:: xor rax,rax - add r8,QWORD PTR[rdx] + add r8,QWORD PTR[rdx] adc r9,0 adc r10,0 adc r11,0 @@ -2007,43 +2007,43 @@ $L$8x_tail_done:: adc rax,0 neg rsi -$L$8x_no_tail:: - adc r8,QWORD PTR[rdi] - adc r9,QWORD PTR[8+rdi] - adc r10,QWORD PTR[16+rdi] - adc r11,QWORD PTR[24+rdi] - adc r12,QWORD PTR[32+rdi] - adc r13,QWORD PTR[40+rdi] - adc r14,QWORD PTR[48+rdi] - adc r15,QWORD PTR[56+rdi] +$L$8x_no_tail:: + adc r8,QWORD PTR[rdi] + adc r9,QWORD PTR[8+rdi] + adc r10,QWORD PTR[16+rdi] + adc r11,QWORD PTR[24+rdi] + adc r12,QWORD PTR[32+rdi] + adc r13,QWORD PTR[40+rdi] + adc r14,QWORD PTR[48+rdi] + adc r15,QWORD PTR[56+rdi] adc rax,0 - mov rcx,QWORD PTR[((-8))+rbp] + mov rcx,QWORD PTR[((-8))+rbp] xor rsi,rsi DB 102,72,15,126,213 - mov QWORD PTR[rdi],r8 - mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[rdi],r8 + mov QWORD PTR[8+rdi],r9 DB 102,73,15,126,217 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 - mov QWORD PTR[32+rdi],r12 - mov QWORD PTR[40+rdi],r13 - mov QWORD PTR[48+rdi],r14 - mov QWORD PTR[56+rdi],r15 - lea rdi,QWORD PTR[64+rdi] + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[32+rdi],r12 + mov QWORD PTR[40+rdi],r13 + mov QWORD PTR[48+rdi],r14 + mov QWORD PTR[56+rdi],r15 + lea rdi,QWORD PTR[64+rdi] cmp rdi,rdx - jb $L$8x_reduction_loop + jb $L$8x_reduction_loop DB 0F3h,0C3h ;repret -bn_sqr8x_internal ENDP +bn_sqr8x_internal ENDP ALIGN 32 -__bn_post4x_internal PROC PRIVATE - - mov r12,QWORD PTR[rbp] - lea rbx,QWORD PTR[r9*1+rdi] +__bn_post4x_internal PROC PRIVATE + + mov r12,QWORD PTR[rbp] + lea rbx,QWORD PTR[r9*1+rdi] mov rcx,r9 DB 102,72,15,126,207 neg rax @@ -2051,19 +2051,19 @@ DB 102,72,15,126,206 sar rcx,3+2 dec r12 xor r10,r10 - mov r13,QWORD PTR[8+rbp] - mov r14,QWORD PTR[16+rbp] - mov r15,QWORD PTR[24+rbp] - jmp $L$sqr4x_sub_entry + mov r13,QWORD PTR[8+rbp] + mov r14,QWORD PTR[16+rbp] + mov r15,QWORD PTR[24+rbp] + jmp $L$sqr4x_sub_entry ALIGN 16 -$L$sqr4x_sub:: - mov r12,QWORD PTR[rbp] - mov r13,QWORD PTR[8+rbp] - mov r14,QWORD PTR[16+rbp] - mov r15,QWORD PTR[24+rbp] -$L$sqr4x_sub_entry:: - lea rbp,QWORD PTR[32+rbp] +$L$sqr4x_sub:: + mov r12,QWORD PTR[rbp] + mov r13,QWORD PTR[8+rbp] + mov r14,QWORD PTR[16+rbp] + mov r15,QWORD PTR[24+rbp] +$L$sqr4x_sub_entry:: + lea rbp,QWORD PTR[32+rbp] not r12 not r13 not r14 @@ -2074,55 +2074,55 @@ $L$sqr4x_sub_entry:: and r15,rax neg r10 - adc r12,QWORD PTR[rbx] - adc r13,QWORD PTR[8+rbx] - adc r14,QWORD PTR[16+rbx] - adc r15,QWORD PTR[24+rbx] - mov QWORD PTR[rdi],r12 - lea rbx,QWORD PTR[32+rbx] - mov QWORD PTR[8+rdi],r13 + adc r12,QWORD PTR[rbx] + adc r13,QWORD PTR[8+rbx] + adc r14,QWORD PTR[16+rbx] + adc r15,QWORD PTR[24+rbx] + mov QWORD PTR[rdi],r12 + lea rbx,QWORD PTR[32+rbx] + mov QWORD PTR[8+rdi],r13 sbb r10,r10 - mov QWORD PTR[16+rdi],r14 - mov QWORD PTR[24+rdi],r15 - lea rdi,QWORD PTR[32+rdi] + mov QWORD PTR[16+rdi],r14 + mov QWORD PTR[24+rdi],r15 + lea rdi,QWORD PTR[32+rdi] inc rcx - jnz $L$sqr4x_sub + jnz $L$sqr4x_sub mov r10,r9 neg r9 DB 0F3h,0C3h ;repret -__bn_post4x_internal ENDP -PUBLIC bn_from_montgomery +__bn_post4x_internal ENDP +PUBLIC bn_from_montgomery ALIGN 32 -bn_from_montgomery PROC PUBLIC - - test DWORD PTR[48+rsp],7 - jz bn_from_mont8x +bn_from_montgomery PROC PUBLIC + + test DWORD PTR[48+rsp],7 + jz bn_from_mont8x xor eax,eax DB 0F3h,0C3h ;repret -bn_from_montgomery ENDP +bn_from_montgomery ENDP ALIGN 32 -bn_from_mont8x PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +bn_from_mont8x PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_bn_from_mont8x:: +$L$SEH_begin_bn_from_mont8x:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] -DB 067h +DB 067h mov rax,rsp push rbx @@ -2137,12 +2137,12 @@ DB 067h push r15 -$L$from_prologue:: +$L$from_prologue:: shl r9d,3 - lea r10,QWORD PTR[r9*2+r9] + lea r10,QWORD PTR[r9*2+r9] neg r9 - mov r8,QWORD PTR[r8] + mov r8,QWORD PTR[r8] @@ -2151,41 +2151,41 @@ $L$from_prologue:: - lea r11,QWORD PTR[((-320))+r9*2+rsp] + lea r11,QWORD PTR[((-320))+r9*2+rsp] mov rbp,rsp sub r11,rdi and r11,4095 cmp r10,r11 - jb $L$from_sp_alt + jb $L$from_sp_alt sub rbp,r11 - lea rbp,QWORD PTR[((-320))+r9*2+rbp] - jmp $L$from_sp_done + lea rbp,QWORD PTR[((-320))+r9*2+rbp] + jmp $L$from_sp_done ALIGN 32 -$L$from_sp_alt:: - lea r10,QWORD PTR[((4096-320))+r9*2] - lea rbp,QWORD PTR[((-320))+r9*2+rbp] +$L$from_sp_alt:: + lea r10,QWORD PTR[((4096-320))+r9*2] + lea rbp,QWORD PTR[((-320))+r9*2+rbp] sub r11,r10 mov r10,0 cmovc r11,r10 sub rbp,r11 -$L$from_sp_done:: +$L$from_sp_done:: and rbp,-64 mov r11,rsp sub r11,rbp and r11,-4096 - lea rsp,QWORD PTR[rbp*1+r11] - mov r10,QWORD PTR[rsp] + lea rsp,QWORD PTR[rbp*1+r11] + mov r10,QWORD PTR[rsp] cmp rsp,rbp - ja $L$from_page_walk - jmp $L$from_page_walk_done + ja $L$from_page_walk + jmp $L$from_page_walk_done -$L$from_page_walk:: - lea rsp,QWORD PTR[((-4096))+rsp] - mov r10,QWORD PTR[rsp] +$L$from_page_walk:: + lea rsp,QWORD PTR[((-4096))+rsp] + mov r10,QWORD PTR[rsp] cmp rsp,rbp - ja $L$from_page_walk -$L$from_page_walk_done:: + ja $L$from_page_walk +$L$from_page_walk_done:: mov r10,r9 neg r9 @@ -2199,114 +2199,114 @@ $L$from_page_walk_done:: - mov QWORD PTR[32+rsp],r8 - mov QWORD PTR[40+rsp],rax + mov QWORD PTR[32+rsp],r8 + mov QWORD PTR[40+rsp],rax -$L$from_body:: +$L$from_body:: mov r11,r9 - lea rax,QWORD PTR[48+rsp] + lea rax,QWORD PTR[48+rsp] pxor xmm0,xmm0 - jmp $L$mul_by_1 + jmp $L$mul_by_1 ALIGN 32 -$L$mul_by_1:: - movdqu xmm1,XMMWORD PTR[rsi] - movdqu xmm2,XMMWORD PTR[16+rsi] - movdqu xmm3,XMMWORD PTR[32+rsi] - movdqa XMMWORD PTR[r9*1+rax],xmm0 - movdqu xmm4,XMMWORD PTR[48+rsi] - movdqa XMMWORD PTR[16+r9*1+rax],xmm0 -DB 048h,08dh,0b6h,040h,000h,000h,000h - movdqa XMMWORD PTR[rax],xmm1 - movdqa XMMWORD PTR[32+r9*1+rax],xmm0 - movdqa XMMWORD PTR[16+rax],xmm2 - movdqa XMMWORD PTR[48+r9*1+rax],xmm0 - movdqa XMMWORD PTR[32+rax],xmm3 - movdqa XMMWORD PTR[48+rax],xmm4 - lea rax,QWORD PTR[64+rax] +$L$mul_by_1:: + movdqu xmm1,XMMWORD PTR[rsi] + movdqu xmm2,XMMWORD PTR[16+rsi] + movdqu xmm3,XMMWORD PTR[32+rsi] + movdqa XMMWORD PTR[r9*1+rax],xmm0 + movdqu xmm4,XMMWORD PTR[48+rsi] + movdqa XMMWORD PTR[16+r9*1+rax],xmm0 +DB 048h,08dh,0b6h,040h,000h,000h,000h + movdqa XMMWORD PTR[rax],xmm1 + movdqa XMMWORD PTR[32+r9*1+rax],xmm0 + movdqa XMMWORD PTR[16+rax],xmm2 + movdqa XMMWORD PTR[48+r9*1+rax],xmm0 + movdqa XMMWORD PTR[32+rax],xmm3 + movdqa XMMWORD PTR[48+rax],xmm4 + lea rax,QWORD PTR[64+rax] sub r11,64 - jnz $L$mul_by_1 + jnz $L$mul_by_1 DB 102,72,15,110,207 DB 102,72,15,110,209 -DB 067h +DB 067h mov rbp,rcx DB 102,73,15,110,218 - mov r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] - and r11d,080108h - cmp r11d,080108h - jne $L$from_mont_nox + mov r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] + and r11d,080108h + cmp r11d,080108h + jne $L$from_mont_nox - lea rdi,QWORD PTR[r9*1+rax] + lea rdi,QWORD PTR[r9*1+rax] call __bn_sqrx8x_reduction call __bn_postx4x_internal pxor xmm0,xmm0 - lea rax,QWORD PTR[48+rsp] - jmp $L$from_mont_zero + lea rax,QWORD PTR[48+rsp] + jmp $L$from_mont_zero ALIGN 32 -$L$from_mont_nox:: +$L$from_mont_nox:: call __bn_sqr8x_reduction call __bn_post4x_internal pxor xmm0,xmm0 - lea rax,QWORD PTR[48+rsp] - jmp $L$from_mont_zero + lea rax,QWORD PTR[48+rsp] + jmp $L$from_mont_zero ALIGN 32 -$L$from_mont_zero:: - mov rsi,QWORD PTR[40+rsp] - - movdqa XMMWORD PTR[rax],xmm0 - movdqa XMMWORD PTR[16+rax],xmm0 - movdqa XMMWORD PTR[32+rax],xmm0 - movdqa XMMWORD PTR[48+rax],xmm0 - lea rax,QWORD PTR[64+rax] +$L$from_mont_zero:: + mov rsi,QWORD PTR[40+rsp] + + movdqa XMMWORD PTR[rax],xmm0 + movdqa XMMWORD PTR[16+rax],xmm0 + movdqa XMMWORD PTR[32+rax],xmm0 + movdqa XMMWORD PTR[48+rax],xmm0 + lea rax,QWORD PTR[64+rax] sub r9,32 - jnz $L$from_mont_zero + jnz $L$from_mont_zero mov rax,1 - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$from_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$from_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_bn_from_mont8x:: -bn_from_mont8x ENDP +$L$SEH_end_bn_from_mont8x:: +bn_from_mont8x ENDP ALIGN 32 -bn_mulx4x_mont_gather5 PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +bn_mulx4x_mont_gather5 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_bn_mulx4x_mont_gather5:: +$L$SEH_begin_bn_mulx4x_mont_gather5:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] mov rax,rsp -$L$mulx4x_enter:: +$L$mulx4x_enter:: push rbx push rbp @@ -2319,12 +2319,12 @@ $L$mulx4x_enter:: push r15 -$L$mulx4x_prologue:: +$L$mulx4x_prologue:: shl r9d,3 - lea r10,QWORD PTR[r9*2+r9] + lea r10,QWORD PTR[r9*2+r9] neg r9 - mov r8,QWORD PTR[r8] + mov r8,QWORD PTR[r8] @@ -2335,40 +2335,40 @@ $L$mulx4x_prologue:: - lea r11,QWORD PTR[((-320))+r9*2+rsp] + lea r11,QWORD PTR[((-320))+r9*2+rsp] mov rbp,rsp sub r11,rdi and r11,4095 cmp r10,r11 - jb $L$mulx4xsp_alt + jb $L$mulx4xsp_alt sub rbp,r11 - lea rbp,QWORD PTR[((-320))+r9*2+rbp] - jmp $L$mulx4xsp_done + lea rbp,QWORD PTR[((-320))+r9*2+rbp] + jmp $L$mulx4xsp_done -$L$mulx4xsp_alt:: - lea r10,QWORD PTR[((4096-320))+r9*2] - lea rbp,QWORD PTR[((-320))+r9*2+rbp] +$L$mulx4xsp_alt:: + lea r10,QWORD PTR[((4096-320))+r9*2] + lea rbp,QWORD PTR[((-320))+r9*2+rbp] sub r11,r10 mov r10,0 cmovc r11,r10 sub rbp,r11 -$L$mulx4xsp_done:: +$L$mulx4xsp_done:: and rbp,-64 mov r11,rsp sub r11,rbp and r11,-4096 - lea rsp,QWORD PTR[rbp*1+r11] - mov r10,QWORD PTR[rsp] + lea rsp,QWORD PTR[rbp*1+r11] + mov r10,QWORD PTR[rsp] cmp rsp,rbp - ja $L$mulx4x_page_walk - jmp $L$mulx4x_page_walk_done + ja $L$mulx4x_page_walk + jmp $L$mulx4x_page_walk_done -$L$mulx4x_page_walk:: - lea rsp,QWORD PTR[((-4096))+rsp] - mov r10,QWORD PTR[rsp] +$L$mulx4x_page_walk:: + lea rsp,QWORD PTR[((-4096))+rsp] + mov r10,QWORD PTR[rsp] cmp rsp,rbp - ja $L$mulx4x_page_walk -$L$mulx4x_page_walk_done:: + ja $L$mulx4x_page_walk +$L$mulx4x_page_walk_done:: @@ -2382,446 +2382,446 @@ $L$mulx4x_page_walk_done:: - mov QWORD PTR[32+rsp],r8 - mov QWORD PTR[40+rsp],rax + mov QWORD PTR[32+rsp],r8 + mov QWORD PTR[40+rsp],rax -$L$mulx4x_body:: +$L$mulx4x_body:: call mulx4x_internal - mov rsi,QWORD PTR[40+rsp] + mov rsi,QWORD PTR[40+rsp] mov rax,1 - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$mulx4x_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$mulx4x_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_bn_mulx4x_mont_gather5:: -bn_mulx4x_mont_gather5 ENDP +$L$SEH_end_bn_mulx4x_mont_gather5:: +bn_mulx4x_mont_gather5 ENDP ALIGN 32 -mulx4x_internal PROC PRIVATE - - mov QWORD PTR[8+rsp],r9 +mulx4x_internal PROC PRIVATE + + mov QWORD PTR[8+rsp],r9 mov r10,r9 neg r9 shl r9,5 neg r10 - lea r13,QWORD PTR[128+r9*1+rdx] + lea r13,QWORD PTR[128+r9*1+rdx] shr r9,5+5 - movd xmm5,DWORD PTR[56+rax] + movd xmm5,DWORD PTR[56+rax] sub r9,1 - lea rax,QWORD PTR[$L$inc] - mov QWORD PTR[((16+8))+rsp],r13 - mov QWORD PTR[((24+8))+rsp],r9 - mov QWORD PTR[((56+8))+rsp],rdi - movdqa xmm0,XMMWORD PTR[rax] - movdqa xmm1,XMMWORD PTR[16+rax] - lea r10,QWORD PTR[((88-112))+r10*1+rsp] - lea rdi,QWORD PTR[128+rdx] + lea rax,QWORD PTR[$L$inc] + mov QWORD PTR[((16+8))+rsp],r13 + mov QWORD PTR[((24+8))+rsp],r9 + mov QWORD PTR[((56+8))+rsp],rdi + movdqa xmm0,XMMWORD PTR[rax] + movdqa xmm1,XMMWORD PTR[16+rax] + lea r10,QWORD PTR[((88-112))+r10*1+rsp] + lea rdi,QWORD PTR[128+rdx] pshufd xmm5,xmm5,0 movdqa xmm4,xmm1 -DB 067h +DB 067h movdqa xmm2,xmm1 -DB 067h +DB 067h paddd xmm1,xmm0 pcmpeqd xmm0,xmm5 movdqa xmm3,xmm4 paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[112+r10],xmm0 + movdqa XMMWORD PTR[112+r10],xmm0 movdqa xmm0,xmm4 paddd xmm3,xmm2 pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[128+r10],xmm1 + movdqa XMMWORD PTR[128+r10],xmm1 movdqa xmm1,xmm4 paddd xmm0,xmm3 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[144+r10],xmm2 + movdqa XMMWORD PTR[144+r10],xmm2 movdqa xmm2,xmm4 paddd xmm1,xmm0 pcmpeqd xmm0,xmm5 - movdqa XMMWORD PTR[160+r10],xmm3 + movdqa XMMWORD PTR[160+r10],xmm3 movdqa xmm3,xmm4 paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[176+r10],xmm0 + movdqa XMMWORD PTR[176+r10],xmm0 movdqa xmm0,xmm4 paddd xmm3,xmm2 pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[192+r10],xmm1 + movdqa XMMWORD PTR[192+r10],xmm1 movdqa xmm1,xmm4 paddd xmm0,xmm3 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[208+r10],xmm2 + movdqa XMMWORD PTR[208+r10],xmm2 movdqa xmm2,xmm4 paddd xmm1,xmm0 pcmpeqd xmm0,xmm5 - movdqa XMMWORD PTR[224+r10],xmm3 + movdqa XMMWORD PTR[224+r10],xmm3 movdqa xmm3,xmm4 paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[240+r10],xmm0 + movdqa XMMWORD PTR[240+r10],xmm0 movdqa xmm0,xmm4 paddd xmm3,xmm2 pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[256+r10],xmm1 + movdqa XMMWORD PTR[256+r10],xmm1 movdqa xmm1,xmm4 paddd xmm0,xmm3 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[272+r10],xmm2 + movdqa XMMWORD PTR[272+r10],xmm2 movdqa xmm2,xmm4 paddd xmm1,xmm0 pcmpeqd xmm0,xmm5 - movdqa XMMWORD PTR[288+r10],xmm3 + movdqa XMMWORD PTR[288+r10],xmm3 movdqa xmm3,xmm4 -DB 067h +DB 067h paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[304+r10],xmm0 + movdqa XMMWORD PTR[304+r10],xmm0 paddd xmm3,xmm2 pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[320+r10],xmm1 + movdqa XMMWORD PTR[320+r10],xmm1 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[336+r10],xmm2 + movdqa XMMWORD PTR[336+r10],xmm2 - pand xmm0,XMMWORD PTR[64+rdi] - pand xmm1,XMMWORD PTR[80+rdi] - pand xmm2,XMMWORD PTR[96+rdi] - movdqa XMMWORD PTR[352+r10],xmm3 - pand xmm3,XMMWORD PTR[112+rdi] + pand xmm0,XMMWORD PTR[64+rdi] + pand xmm1,XMMWORD PTR[80+rdi] + pand xmm2,XMMWORD PTR[96+rdi] + movdqa XMMWORD PTR[352+r10],xmm3 + pand xmm3,XMMWORD PTR[112+rdi] por xmm0,xmm2 por xmm1,xmm3 - movdqa xmm4,XMMWORD PTR[((-128))+rdi] - movdqa xmm5,XMMWORD PTR[((-112))+rdi] - movdqa xmm2,XMMWORD PTR[((-96))+rdi] - pand xmm4,XMMWORD PTR[112+r10] - movdqa xmm3,XMMWORD PTR[((-80))+rdi] - pand xmm5,XMMWORD PTR[128+r10] + movdqa xmm4,XMMWORD PTR[((-128))+rdi] + movdqa xmm5,XMMWORD PTR[((-112))+rdi] + movdqa xmm2,XMMWORD PTR[((-96))+rdi] + pand xmm4,XMMWORD PTR[112+r10] + movdqa xmm3,XMMWORD PTR[((-80))+rdi] + pand xmm5,XMMWORD PTR[128+r10] por xmm0,xmm4 - pand xmm2,XMMWORD PTR[144+r10] + pand xmm2,XMMWORD PTR[144+r10] por xmm1,xmm5 - pand xmm3,XMMWORD PTR[160+r10] + pand xmm3,XMMWORD PTR[160+r10] por xmm0,xmm2 por xmm1,xmm3 - movdqa xmm4,XMMWORD PTR[((-64))+rdi] - movdqa xmm5,XMMWORD PTR[((-48))+rdi] - movdqa xmm2,XMMWORD PTR[((-32))+rdi] - pand xmm4,XMMWORD PTR[176+r10] - movdqa xmm3,XMMWORD PTR[((-16))+rdi] - pand xmm5,XMMWORD PTR[192+r10] + movdqa xmm4,XMMWORD PTR[((-64))+rdi] + movdqa xmm5,XMMWORD PTR[((-48))+rdi] + movdqa xmm2,XMMWORD PTR[((-32))+rdi] + pand xmm4,XMMWORD PTR[176+r10] + movdqa xmm3,XMMWORD PTR[((-16))+rdi] + pand xmm5,XMMWORD PTR[192+r10] por xmm0,xmm4 - pand xmm2,XMMWORD PTR[208+r10] + pand xmm2,XMMWORD PTR[208+r10] por xmm1,xmm5 - pand xmm3,XMMWORD PTR[224+r10] + pand xmm3,XMMWORD PTR[224+r10] por xmm0,xmm2 por xmm1,xmm3 - movdqa xmm4,XMMWORD PTR[rdi] - movdqa xmm5,XMMWORD PTR[16+rdi] - movdqa xmm2,XMMWORD PTR[32+rdi] - pand xmm4,XMMWORD PTR[240+r10] - movdqa xmm3,XMMWORD PTR[48+rdi] - pand xmm5,XMMWORD PTR[256+r10] + movdqa xmm4,XMMWORD PTR[rdi] + movdqa xmm5,XMMWORD PTR[16+rdi] + movdqa xmm2,XMMWORD PTR[32+rdi] + pand xmm4,XMMWORD PTR[240+r10] + movdqa xmm3,XMMWORD PTR[48+rdi] + pand xmm5,XMMWORD PTR[256+r10] por xmm0,xmm4 - pand xmm2,XMMWORD PTR[272+r10] + pand xmm2,XMMWORD PTR[272+r10] por xmm1,xmm5 - pand xmm3,XMMWORD PTR[288+r10] + pand xmm3,XMMWORD PTR[288+r10] por xmm0,xmm2 por xmm1,xmm3 pxor xmm0,xmm1 - pshufd xmm1,xmm0,04eh + pshufd xmm1,xmm0,04eh por xmm0,xmm1 - lea rdi,QWORD PTR[256+rdi] + lea rdi,QWORD PTR[256+rdi] DB 102,72,15,126,194 - lea rbx,QWORD PTR[((64+32+8))+rsp] + lea rbx,QWORD PTR[((64+32+8))+rsp] mov r9,rdx - mulx rax,r8,QWORD PTR[rsi] - mulx r12,r11,QWORD PTR[8+rsi] + mulx rax,r8,QWORD PTR[rsi] + mulx r12,r11,QWORD PTR[8+rsi] add r11,rax - mulx r13,rax,QWORD PTR[16+rsi] + mulx r13,rax,QWORD PTR[16+rsi] adc r12,rax adc r13,0 - mulx r14,rax,QWORD PTR[24+rsi] + mulx r14,rax,QWORD PTR[24+rsi] mov r15,r8 - imul r8,QWORD PTR[((32+8))+rsp] + imul r8,QWORD PTR[((32+8))+rsp] xor rbp,rbp mov rdx,r8 - mov QWORD PTR[((8+8))+rsp],rdi + mov QWORD PTR[((8+8))+rsp],rdi - lea rsi,QWORD PTR[32+rsi] + lea rsi,QWORD PTR[32+rsi] adcx r13,rax adcx r14,rbp - mulx r10,rax,QWORD PTR[rcx] + mulx r10,rax,QWORD PTR[rcx] adcx r15,rax adox r10,r11 - mulx r11,rax,QWORD PTR[8+rcx] + mulx r11,rax,QWORD PTR[8+rcx] adcx r10,rax adox r11,r12 - mulx r12,rax,QWORD PTR[16+rcx] - mov rdi,QWORD PTR[((24+8))+rsp] - mov QWORD PTR[((-32))+rbx],r10 + mulx r12,rax,QWORD PTR[16+rcx] + mov rdi,QWORD PTR[((24+8))+rsp] + mov QWORD PTR[((-32))+rbx],r10 adcx r11,rax adox r12,r13 - mulx r15,rax,QWORD PTR[24+rcx] + mulx r15,rax,QWORD PTR[24+rcx] mov rdx,r9 - mov QWORD PTR[((-24))+rbx],r11 + mov QWORD PTR[((-24))+rbx],r11 adcx r12,rax adox r15,rbp - lea rcx,QWORD PTR[32+rcx] - mov QWORD PTR[((-16))+rbx],r12 - jmp $L$mulx4x_1st + lea rcx,QWORD PTR[32+rcx] + mov QWORD PTR[((-16))+rbx],r12 + jmp $L$mulx4x_1st ALIGN 32 -$L$mulx4x_1st:: +$L$mulx4x_1st:: adcx r15,rbp - mulx rax,r10,QWORD PTR[rsi] + mulx rax,r10,QWORD PTR[rsi] adcx r10,r14 - mulx r14,r11,QWORD PTR[8+rsi] + mulx r14,r11,QWORD PTR[8+rsi] adcx r11,rax - mulx rax,r12,QWORD PTR[16+rsi] + mulx rax,r12,QWORD PTR[16+rsi] adcx r12,r14 - mulx r14,r13,QWORD PTR[24+rsi] -DB 067h,067h + mulx r14,r13,QWORD PTR[24+rsi] +DB 067h,067h mov rdx,r8 adcx r13,rax adcx r14,rbp - lea rsi,QWORD PTR[32+rsi] - lea rbx,QWORD PTR[32+rbx] + lea rsi,QWORD PTR[32+rsi] + lea rbx,QWORD PTR[32+rbx] adox r10,r15 - mulx r15,rax,QWORD PTR[rcx] + mulx r15,rax,QWORD PTR[rcx] adcx r10,rax adox r11,r15 - mulx r15,rax,QWORD PTR[8+rcx] + mulx r15,rax,QWORD PTR[8+rcx] adcx r11,rax adox r12,r15 - mulx r15,rax,QWORD PTR[16+rcx] - mov QWORD PTR[((-40))+rbx],r10 + mulx r15,rax,QWORD PTR[16+rcx] + mov QWORD PTR[((-40))+rbx],r10 adcx r12,rax - mov QWORD PTR[((-32))+rbx],r11 + mov QWORD PTR[((-32))+rbx],r11 adox r13,r15 - mulx r15,rax,QWORD PTR[24+rcx] + mulx r15,rax,QWORD PTR[24+rcx] mov rdx,r9 - mov QWORD PTR[((-24))+rbx],r12 + mov QWORD PTR[((-24))+rbx],r12 adcx r13,rax adox r15,rbp - lea rcx,QWORD PTR[32+rcx] - mov QWORD PTR[((-16))+rbx],r13 + lea rcx,QWORD PTR[32+rcx] + mov QWORD PTR[((-16))+rbx],r13 dec rdi - jnz $L$mulx4x_1st + jnz $L$mulx4x_1st - mov rax,QWORD PTR[8+rsp] + mov rax,QWORD PTR[8+rsp] adc r15,rbp - lea rsi,QWORD PTR[rax*1+rsi] + lea rsi,QWORD PTR[rax*1+rsi] add r14,r15 - mov rdi,QWORD PTR[((8+8))+rsp] + mov rdi,QWORD PTR[((8+8))+rsp] adc rbp,rbp - mov QWORD PTR[((-8))+rbx],r14 - jmp $L$mulx4x_outer + mov QWORD PTR[((-8))+rbx],r14 + jmp $L$mulx4x_outer ALIGN 32 -$L$mulx4x_outer:: - lea r10,QWORD PTR[((16-256))+rbx] +$L$mulx4x_outer:: + lea r10,QWORD PTR[((16-256))+rbx] pxor xmm4,xmm4 -DB 067h,067h +DB 067h,067h pxor xmm5,xmm5 - movdqa xmm0,XMMWORD PTR[((-128))+rdi] - movdqa xmm1,XMMWORD PTR[((-112))+rdi] - movdqa xmm2,XMMWORD PTR[((-96))+rdi] - pand xmm0,XMMWORD PTR[256+r10] - movdqa xmm3,XMMWORD PTR[((-80))+rdi] - pand xmm1,XMMWORD PTR[272+r10] + movdqa xmm0,XMMWORD PTR[((-128))+rdi] + movdqa xmm1,XMMWORD PTR[((-112))+rdi] + movdqa xmm2,XMMWORD PTR[((-96))+rdi] + pand xmm0,XMMWORD PTR[256+r10] + movdqa xmm3,XMMWORD PTR[((-80))+rdi] + pand xmm1,XMMWORD PTR[272+r10] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[288+r10] + pand xmm2,XMMWORD PTR[288+r10] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[304+r10] + pand xmm3,XMMWORD PTR[304+r10] por xmm4,xmm2 por xmm5,xmm3 - movdqa xmm0,XMMWORD PTR[((-64))+rdi] - movdqa xmm1,XMMWORD PTR[((-48))+rdi] - movdqa xmm2,XMMWORD PTR[((-32))+rdi] - pand xmm0,XMMWORD PTR[320+r10] - movdqa xmm3,XMMWORD PTR[((-16))+rdi] - pand xmm1,XMMWORD PTR[336+r10] + movdqa xmm0,XMMWORD PTR[((-64))+rdi] + movdqa xmm1,XMMWORD PTR[((-48))+rdi] + movdqa xmm2,XMMWORD PTR[((-32))+rdi] + pand xmm0,XMMWORD PTR[320+r10] + movdqa xmm3,XMMWORD PTR[((-16))+rdi] + pand xmm1,XMMWORD PTR[336+r10] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[352+r10] + pand xmm2,XMMWORD PTR[352+r10] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[368+r10] + pand xmm3,XMMWORD PTR[368+r10] por xmm4,xmm2 por xmm5,xmm3 - movdqa xmm0,XMMWORD PTR[rdi] - movdqa xmm1,XMMWORD PTR[16+rdi] - movdqa xmm2,XMMWORD PTR[32+rdi] - pand xmm0,XMMWORD PTR[384+r10] - movdqa xmm3,XMMWORD PTR[48+rdi] - pand xmm1,XMMWORD PTR[400+r10] + movdqa xmm0,XMMWORD PTR[rdi] + movdqa xmm1,XMMWORD PTR[16+rdi] + movdqa xmm2,XMMWORD PTR[32+rdi] + pand xmm0,XMMWORD PTR[384+r10] + movdqa xmm3,XMMWORD PTR[48+rdi] + pand xmm1,XMMWORD PTR[400+r10] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[416+r10] + pand xmm2,XMMWORD PTR[416+r10] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[432+r10] + pand xmm3,XMMWORD PTR[432+r10] por xmm4,xmm2 por xmm5,xmm3 - movdqa xmm0,XMMWORD PTR[64+rdi] - movdqa xmm1,XMMWORD PTR[80+rdi] - movdqa xmm2,XMMWORD PTR[96+rdi] - pand xmm0,XMMWORD PTR[448+r10] - movdqa xmm3,XMMWORD PTR[112+rdi] - pand xmm1,XMMWORD PTR[464+r10] + movdqa xmm0,XMMWORD PTR[64+rdi] + movdqa xmm1,XMMWORD PTR[80+rdi] + movdqa xmm2,XMMWORD PTR[96+rdi] + pand xmm0,XMMWORD PTR[448+r10] + movdqa xmm3,XMMWORD PTR[112+rdi] + pand xmm1,XMMWORD PTR[464+r10] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[480+r10] + pand xmm2,XMMWORD PTR[480+r10] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[496+r10] + pand xmm3,XMMWORD PTR[496+r10] por xmm4,xmm2 por xmm5,xmm3 por xmm4,xmm5 - pshufd xmm0,xmm4,04eh + pshufd xmm0,xmm4,04eh por xmm0,xmm4 - lea rdi,QWORD PTR[256+rdi] + lea rdi,QWORD PTR[256+rdi] DB 102,72,15,126,194 - mov QWORD PTR[rbx],rbp - lea rbx,QWORD PTR[32+rax*1+rbx] - mulx r11,r8,QWORD PTR[rsi] + mov QWORD PTR[rbx],rbp + lea rbx,QWORD PTR[32+rax*1+rbx] + mulx r11,r8,QWORD PTR[rsi] xor rbp,rbp mov r9,rdx - mulx r12,r14,QWORD PTR[8+rsi] - adox r8,QWORD PTR[((-32))+rbx] + mulx r12,r14,QWORD PTR[8+rsi] + adox r8,QWORD PTR[((-32))+rbx] adcx r11,r14 - mulx r13,r15,QWORD PTR[16+rsi] - adox r11,QWORD PTR[((-24))+rbx] + mulx r13,r15,QWORD PTR[16+rsi] + adox r11,QWORD PTR[((-24))+rbx] adcx r12,r15 - mulx r14,rdx,QWORD PTR[24+rsi] - adox r12,QWORD PTR[((-16))+rbx] + mulx r14,rdx,QWORD PTR[24+rsi] + adox r12,QWORD PTR[((-16))+rbx] adcx r13,rdx - lea rcx,QWORD PTR[rax*1+rcx] - lea rsi,QWORD PTR[32+rsi] - adox r13,QWORD PTR[((-8))+rbx] + lea rcx,QWORD PTR[rax*1+rcx] + lea rsi,QWORD PTR[32+rsi] + adox r13,QWORD PTR[((-8))+rbx] adcx r14,rbp adox r14,rbp mov r15,r8 - imul r8,QWORD PTR[((32+8))+rsp] + imul r8,QWORD PTR[((32+8))+rsp] mov rdx,r8 xor rbp,rbp - mov QWORD PTR[((8+8))+rsp],rdi + mov QWORD PTR[((8+8))+rsp],rdi - mulx r10,rax,QWORD PTR[rcx] + mulx r10,rax,QWORD PTR[rcx] adcx r15,rax adox r10,r11 - mulx r11,rax,QWORD PTR[8+rcx] + mulx r11,rax,QWORD PTR[8+rcx] adcx r10,rax adox r11,r12 - mulx r12,rax,QWORD PTR[16+rcx] + mulx r12,rax,QWORD PTR[16+rcx] adcx r11,rax adox r12,r13 - mulx r15,rax,QWORD PTR[24+rcx] + mulx r15,rax,QWORD PTR[24+rcx] mov rdx,r9 - mov rdi,QWORD PTR[((24+8))+rsp] - mov QWORD PTR[((-32))+rbx],r10 + mov rdi,QWORD PTR[((24+8))+rsp] + mov QWORD PTR[((-32))+rbx],r10 adcx r12,rax - mov QWORD PTR[((-24))+rbx],r11 + mov QWORD PTR[((-24))+rbx],r11 adox r15,rbp - mov QWORD PTR[((-16))+rbx],r12 - lea rcx,QWORD PTR[32+rcx] - jmp $L$mulx4x_inner + mov QWORD PTR[((-16))+rbx],r12 + lea rcx,QWORD PTR[32+rcx] + jmp $L$mulx4x_inner ALIGN 32 -$L$mulx4x_inner:: - mulx rax,r10,QWORD PTR[rsi] +$L$mulx4x_inner:: + mulx rax,r10,QWORD PTR[rsi] adcx r15,rbp adox r10,r14 - mulx r14,r11,QWORD PTR[8+rsi] - adcx r10,QWORD PTR[rbx] + mulx r14,r11,QWORD PTR[8+rsi] + adcx r10,QWORD PTR[rbx] adox r11,rax - mulx rax,r12,QWORD PTR[16+rsi] - adcx r11,QWORD PTR[8+rbx] + mulx rax,r12,QWORD PTR[16+rsi] + adcx r11,QWORD PTR[8+rbx] adox r12,r14 - mulx r14,r13,QWORD PTR[24+rsi] + mulx r14,r13,QWORD PTR[24+rsi] mov rdx,r8 - adcx r12,QWORD PTR[16+rbx] + adcx r12,QWORD PTR[16+rbx] adox r13,rax - adcx r13,QWORD PTR[24+rbx] + adcx r13,QWORD PTR[24+rbx] adox r14,rbp - lea rsi,QWORD PTR[32+rsi] - lea rbx,QWORD PTR[32+rbx] + lea rsi,QWORD PTR[32+rsi] + lea rbx,QWORD PTR[32+rbx] adcx r14,rbp adox r10,r15 - mulx r15,rax,QWORD PTR[rcx] + mulx r15,rax,QWORD PTR[rcx] adcx r10,rax adox r11,r15 - mulx r15,rax,QWORD PTR[8+rcx] + mulx r15,rax,QWORD PTR[8+rcx] adcx r11,rax adox r12,r15 - mulx r15,rax,QWORD PTR[16+rcx] - mov QWORD PTR[((-40))+rbx],r10 + mulx r15,rax,QWORD PTR[16+rcx] + mov QWORD PTR[((-40))+rbx],r10 adcx r12,rax adox r13,r15 - mov QWORD PTR[((-32))+rbx],r11 - mulx r15,rax,QWORD PTR[24+rcx] + mov QWORD PTR[((-32))+rbx],r11 + mulx r15,rax,QWORD PTR[24+rcx] mov rdx,r9 - lea rcx,QWORD PTR[32+rcx] - mov QWORD PTR[((-24))+rbx],r12 + lea rcx,QWORD PTR[32+rcx] + mov QWORD PTR[((-24))+rbx],r12 adcx r13,rax adox r15,rbp - mov QWORD PTR[((-16))+rbx],r13 + mov QWORD PTR[((-16))+rbx],r13 dec rdi - jnz $L$mulx4x_inner + jnz $L$mulx4x_inner - mov rax,QWORD PTR[((0+8))+rsp] + mov rax,QWORD PTR[((0+8))+rsp] adc r15,rbp - sub rdi,QWORD PTR[rbx] - mov rdi,QWORD PTR[((8+8))+rsp] - mov r10,QWORD PTR[((16+8))+rsp] + sub rdi,QWORD PTR[rbx] + mov rdi,QWORD PTR[((8+8))+rsp] + mov r10,QWORD PTR[((16+8))+rsp] adc r14,r15 - lea rsi,QWORD PTR[rax*1+rsi] + lea rsi,QWORD PTR[rax*1+rsi] adc rbp,rbp - mov QWORD PTR[((-8))+rbx],r14 + mov QWORD PTR[((-8))+rbx],r14 cmp rdi,r10 - jb $L$mulx4x_outer + jb $L$mulx4x_outer - mov r10,QWORD PTR[((-8))+rcx] + mov r10,QWORD PTR[((-8))+rcx] mov r8,rbp - mov r12,QWORD PTR[rax*1+rcx] - lea rbp,QWORD PTR[rax*1+rcx] + mov r12,QWORD PTR[rax*1+rcx] + lea rbp,QWORD PTR[rax*1+rcx] mov rcx,rax - lea rdi,QWORD PTR[rax*1+rbx] + lea rdi,QWORD PTR[rax*1+rbx] xor eax,eax xor r15,r15 sub r10,r14 @@ -2829,34 +2829,34 @@ $L$mulx4x_inner:: or r8,r15 sar rcx,3+2 sub rax,r8 - mov rdx,QWORD PTR[((56+8))+rsp] + mov rdx,QWORD PTR[((56+8))+rsp] dec r12 - mov r13,QWORD PTR[8+rbp] + mov r13,QWORD PTR[8+rbp] xor r8,r8 - mov r14,QWORD PTR[16+rbp] - mov r15,QWORD PTR[24+rbp] - jmp $L$sqrx4x_sub_entry + mov r14,QWORD PTR[16+rbp] + mov r15,QWORD PTR[24+rbp] + jmp $L$sqrx4x_sub_entry -mulx4x_internal ENDP +mulx4x_internal ENDP ALIGN 32 -bn_powerx5 PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +bn_powerx5 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_bn_powerx5:: +$L$SEH_begin_bn_powerx5:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] mov rax,rsp -$L$powerx5_enter:: +$L$powerx5_enter:: push rbx push rbp @@ -2869,12 +2869,12 @@ $L$powerx5_enter:: push r15 -$L$powerx5_prologue:: +$L$powerx5_prologue:: shl r9d,3 - lea r10,QWORD PTR[r9*2+r9] + lea r10,QWORD PTR[r9*2+r9] neg r9 - mov r8,QWORD PTR[r8] + mov r8,QWORD PTR[r8] @@ -2883,41 +2883,41 @@ $L$powerx5_prologue:: - lea r11,QWORD PTR[((-320))+r9*2+rsp] + lea r11,QWORD PTR[((-320))+r9*2+rsp] mov rbp,rsp sub r11,rdi and r11,4095 cmp r10,r11 - jb $L$pwrx_sp_alt + jb $L$pwrx_sp_alt sub rbp,r11 - lea rbp,QWORD PTR[((-320))+r9*2+rbp] - jmp $L$pwrx_sp_done + lea rbp,QWORD PTR[((-320))+r9*2+rbp] + jmp $L$pwrx_sp_done ALIGN 32 -$L$pwrx_sp_alt:: - lea r10,QWORD PTR[((4096-320))+r9*2] - lea rbp,QWORD PTR[((-320))+r9*2+rbp] +$L$pwrx_sp_alt:: + lea r10,QWORD PTR[((4096-320))+r9*2] + lea rbp,QWORD PTR[((-320))+r9*2+rbp] sub r11,r10 mov r10,0 cmovc r11,r10 sub rbp,r11 -$L$pwrx_sp_done:: +$L$pwrx_sp_done:: and rbp,-64 mov r11,rsp sub r11,rbp and r11,-4096 - lea rsp,QWORD PTR[rbp*1+r11] - mov r10,QWORD PTR[rsp] + lea rsp,QWORD PTR[rbp*1+r11] + mov r10,QWORD PTR[rsp] cmp rsp,rbp - ja $L$pwrx_page_walk - jmp $L$pwrx_page_walk_done + ja $L$pwrx_page_walk + jmp $L$pwrx_page_walk_done -$L$pwrx_page_walk:: - lea rsp,QWORD PTR[((-4096))+rsp] - mov r10,QWORD PTR[rsp] +$L$pwrx_page_walk:: + lea rsp,QWORD PTR[((-4096))+rsp] + mov r10,QWORD PTR[rsp] cmp rsp,rbp - ja $L$pwrx_page_walk -$L$pwrx_page_walk_done:: + ja $L$pwrx_page_walk +$L$pwrx_page_walk_done:: mov r10,r9 neg r9 @@ -2938,10 +2938,10 @@ DB 102,72,15,110,207 DB 102,72,15,110,209 DB 102,73,15,110,218 DB 102,72,15,110,226 - mov QWORD PTR[32+rsp],r8 - mov QWORD PTR[40+rsp],rax + mov QWORD PTR[32+rsp],r8 + mov QWORD PTR[40+rsp],rax -$L$powerx5_body:: +$L$powerx5_body:: call __bn_sqrx8x_internal call __bn_postx4x_internal @@ -2958,42 +2958,42 @@ $L$powerx5_body:: mov rdi,rsi DB 102,72,15,126,209 DB 102,72,15,126,226 - mov rax,QWORD PTR[40+rsp] + mov rax,QWORD PTR[40+rsp] call mulx4x_internal - mov rsi,QWORD PTR[40+rsp] + mov rsi,QWORD PTR[40+rsp] mov rax,1 - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$powerx5_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$powerx5_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_bn_powerx5:: -bn_powerx5 ENDP +$L$SEH_end_bn_powerx5:: +bn_powerx5 ENDP -PUBLIC bn_sqrx8x_internal +PUBLIC bn_sqrx8x_internal ALIGN 32 -bn_sqrx8x_internal PROC PUBLIC -__bn_sqrx8x_internal:: +bn_sqrx8x_internal PROC PUBLIC +__bn_sqrx8x_internal:: @@ -3035,30 +3035,30 @@ __bn_sqrx8x_internal:: - lea rdi,QWORD PTR[((48+8))+rsp] - lea rbp,QWORD PTR[r9*1+rsi] - mov QWORD PTR[((0+8))+rsp],r9 - mov QWORD PTR[((8+8))+rsp],rbp - jmp $L$sqr8x_zero_start + lea rdi,QWORD PTR[((48+8))+rsp] + lea rbp,QWORD PTR[r9*1+rsi] + mov QWORD PTR[((0+8))+rsp],r9 + mov QWORD PTR[((8+8))+rsp],rbp + jmp $L$sqr8x_zero_start ALIGN 32 -DB 066h,066h,066h,02eh,00fh,01fh,084h,000h,000h,000h,000h,000h -$L$sqrx8x_zero:: -DB 03eh - movdqa XMMWORD PTR[rdi],xmm0 - movdqa XMMWORD PTR[16+rdi],xmm0 - movdqa XMMWORD PTR[32+rdi],xmm0 - movdqa XMMWORD PTR[48+rdi],xmm0 -$L$sqr8x_zero_start:: - movdqa XMMWORD PTR[64+rdi],xmm0 - movdqa XMMWORD PTR[80+rdi],xmm0 - movdqa XMMWORD PTR[96+rdi],xmm0 - movdqa XMMWORD PTR[112+rdi],xmm0 - lea rdi,QWORD PTR[128+rdi] +DB 066h,066h,066h,02eh,00fh,01fh,084h,000h,000h,000h,000h,000h +$L$sqrx8x_zero:: +DB 03eh + movdqa XMMWORD PTR[rdi],xmm0 + movdqa XMMWORD PTR[16+rdi],xmm0 + movdqa XMMWORD PTR[32+rdi],xmm0 + movdqa XMMWORD PTR[48+rdi],xmm0 +$L$sqr8x_zero_start:: + movdqa XMMWORD PTR[64+rdi],xmm0 + movdqa XMMWORD PTR[80+rdi],xmm0 + movdqa XMMWORD PTR[96+rdi],xmm0 + movdqa XMMWORD PTR[112+rdi],xmm0 + lea rdi,QWORD PTR[128+rdi] sub r9,64 - jnz $L$sqrx8x_zero + jnz $L$sqrx8x_zero - mov rdx,QWORD PTR[rsi] + mov rdx,QWORD PTR[rsi] xor r10,r10 xor r11,r11 @@ -3066,108 +3066,108 @@ $L$sqr8x_zero_start:: xor r13,r13 xor r14,r14 xor r15,r15 - lea rdi,QWORD PTR[((48+8))+rsp] + lea rdi,QWORD PTR[((48+8))+rsp] xor rbp,rbp - jmp $L$sqrx8x_outer_loop + jmp $L$sqrx8x_outer_loop ALIGN 32 -$L$sqrx8x_outer_loop:: - mulx rax,r8,QWORD PTR[8+rsi] +$L$sqrx8x_outer_loop:: + mulx rax,r8,QWORD PTR[8+rsi] adcx r8,r9 adox r10,rax - mulx rax,r9,QWORD PTR[16+rsi] + mulx rax,r9,QWORD PTR[16+rsi] adcx r9,r10 adox r11,rax -DB 0c4h,0e2h,0abh,0f6h,086h,018h,000h,000h,000h +DB 0c4h,0e2h,0abh,0f6h,086h,018h,000h,000h,000h adcx r10,r11 adox r12,rax -DB 0c4h,0e2h,0a3h,0f6h,086h,020h,000h,000h,000h +DB 0c4h,0e2h,0a3h,0f6h,086h,020h,000h,000h,000h adcx r11,r12 adox r13,rax - mulx rax,r12,QWORD PTR[40+rsi] + mulx rax,r12,QWORD PTR[40+rsi] adcx r12,r13 adox r14,rax - mulx rax,r13,QWORD PTR[48+rsi] + mulx rax,r13,QWORD PTR[48+rsi] adcx r13,r14 adox rax,r15 - mulx r15,r14,QWORD PTR[56+rsi] - mov rdx,QWORD PTR[8+rsi] + mulx r15,r14,QWORD PTR[56+rsi] + mov rdx,QWORD PTR[8+rsi] adcx r14,rax adox r15,rbp - adc r15,QWORD PTR[64+rdi] - mov QWORD PTR[8+rdi],r8 - mov QWORD PTR[16+rdi],r9 + adc r15,QWORD PTR[64+rdi] + mov QWORD PTR[8+rdi],r8 + mov QWORD PTR[16+rdi],r9 sbb rcx,rcx xor rbp,rbp - mulx rbx,r8,QWORD PTR[16+rsi] - mulx rax,r9,QWORD PTR[24+rsi] + mulx rbx,r8,QWORD PTR[16+rsi] + mulx rax,r9,QWORD PTR[24+rsi] adcx r8,r10 adox r9,rbx - mulx rbx,r10,QWORD PTR[32+rsi] + mulx rbx,r10,QWORD PTR[32+rsi] adcx r9,r11 adox r10,rax -DB 0c4h,0e2h,0a3h,0f6h,086h,028h,000h,000h,000h +DB 0c4h,0e2h,0a3h,0f6h,086h,028h,000h,000h,000h adcx r10,r12 adox r11,rbx -DB 0c4h,0e2h,09bh,0f6h,09eh,030h,000h,000h,000h +DB 0c4h,0e2h,09bh,0f6h,09eh,030h,000h,000h,000h adcx r11,r13 adox r12,r14 -DB 0c4h,062h,093h,0f6h,0b6h,038h,000h,000h,000h - mov rdx,QWORD PTR[16+rsi] +DB 0c4h,062h,093h,0f6h,0b6h,038h,000h,000h,000h + mov rdx,QWORD PTR[16+rsi] adcx r12,rax adox r13,rbx adcx r13,r15 adox r14,rbp adcx r14,rbp - mov QWORD PTR[24+rdi],r8 - mov QWORD PTR[32+rdi],r9 + mov QWORD PTR[24+rdi],r8 + mov QWORD PTR[32+rdi],r9 - mulx rbx,r8,QWORD PTR[24+rsi] - mulx rax,r9,QWORD PTR[32+rsi] + mulx rbx,r8,QWORD PTR[24+rsi] + mulx rax,r9,QWORD PTR[32+rsi] adcx r8,r10 adox r9,rbx - mulx rbx,r10,QWORD PTR[40+rsi] + mulx rbx,r10,QWORD PTR[40+rsi] adcx r9,r11 adox r10,rax -DB 0c4h,0e2h,0a3h,0f6h,086h,030h,000h,000h,000h +DB 0c4h,0e2h,0a3h,0f6h,086h,030h,000h,000h,000h adcx r10,r12 adox r11,r13 -DB 0c4h,062h,09bh,0f6h,0aeh,038h,000h,000h,000h -DB 03eh - mov rdx,QWORD PTR[24+rsi] +DB 0c4h,062h,09bh,0f6h,0aeh,038h,000h,000h,000h +DB 03eh + mov rdx,QWORD PTR[24+rsi] adcx r11,rbx adox r12,rax adcx r12,r14 - mov QWORD PTR[40+rdi],r8 - mov QWORD PTR[48+rdi],r9 - mulx rax,r8,QWORD PTR[32+rsi] + mov QWORD PTR[40+rdi],r8 + mov QWORD PTR[48+rdi],r9 + mulx rax,r8,QWORD PTR[32+rsi] adox r13,rbp adcx r13,rbp - mulx rbx,r9,QWORD PTR[40+rsi] + mulx rbx,r9,QWORD PTR[40+rsi] adcx r8,r10 adox r9,rax - mulx rax,r10,QWORD PTR[48+rsi] + mulx rax,r10,QWORD PTR[48+rsi] adcx r9,r11 adox r10,r12 - mulx r12,r11,QWORD PTR[56+rsi] - mov rdx,QWORD PTR[32+rsi] - mov r14,QWORD PTR[40+rsi] + mulx r12,r11,QWORD PTR[56+rsi] + mov rdx,QWORD PTR[32+rsi] + mov r14,QWORD PTR[40+rsi] adcx r10,rbx adox r11,rax - mov r15,QWORD PTR[48+rsi] + mov r15,QWORD PTR[48+rsi] adcx r11,r13 adox r12,rbp adcx r12,rbp - mov QWORD PTR[56+rdi],r8 - mov QWORD PTR[64+rdi],r9 + mov QWORD PTR[56+rdi],r8 + mov QWORD PTR[64+rdi],r9 mulx rax,r9,r14 - mov r8,QWORD PTR[56+rsi] + mov r8,QWORD PTR[56+rsi] adcx r9,r10 mulx rbx,r10,r15 adox r10,rax @@ -3182,389 +3182,389 @@ DB 03eh mulx rbx,r14,r15 mulx r13,r12,r8 mov rdx,r15 - lea rsi,QWORD PTR[64+rsi] + lea rsi,QWORD PTR[64+rsi] adcx r11,r14 adox r12,rbx adcx r12,rax adox r13,rbp -DB 067h,067h +DB 067h,067h mulx r14,r8,r8 adcx r13,r8 adcx r14,rbp - cmp rsi,QWORD PTR[((8+8))+rsp] - je $L$sqrx8x_outer_break + cmp rsi,QWORD PTR[((8+8))+rsp] + je $L$sqrx8x_outer_break neg rcx mov rcx,-8 mov r15,rbp - mov r8,QWORD PTR[64+rdi] - adcx r9,QWORD PTR[72+rdi] - adcx r10,QWORD PTR[80+rdi] - adcx r11,QWORD PTR[88+rdi] - adc r12,QWORD PTR[96+rdi] - adc r13,QWORD PTR[104+rdi] - adc r14,QWORD PTR[112+rdi] - adc r15,QWORD PTR[120+rdi] - lea rbp,QWORD PTR[rsi] - lea rdi,QWORD PTR[128+rdi] + mov r8,QWORD PTR[64+rdi] + adcx r9,QWORD PTR[72+rdi] + adcx r10,QWORD PTR[80+rdi] + adcx r11,QWORD PTR[88+rdi] + adc r12,QWORD PTR[96+rdi] + adc r13,QWORD PTR[104+rdi] + adc r14,QWORD PTR[112+rdi] + adc r15,QWORD PTR[120+rdi] + lea rbp,QWORD PTR[rsi] + lea rdi,QWORD PTR[128+rdi] sbb rax,rax - mov rdx,QWORD PTR[((-64))+rsi] - mov QWORD PTR[((16+8))+rsp],rax - mov QWORD PTR[((24+8))+rsp],rdi + mov rdx,QWORD PTR[((-64))+rsi] + mov QWORD PTR[((16+8))+rsp],rax + mov QWORD PTR[((24+8))+rsp],rdi xor eax,eax - jmp $L$sqrx8x_loop + jmp $L$sqrx8x_loop ALIGN 32 -$L$sqrx8x_loop:: +$L$sqrx8x_loop:: mov rbx,r8 - mulx r8,rax,QWORD PTR[rbp] + mulx r8,rax,QWORD PTR[rbp] adcx rbx,rax adox r8,r9 - mulx r9,rax,QWORD PTR[8+rbp] + mulx r9,rax,QWORD PTR[8+rbp] adcx r8,rax adox r9,r10 - mulx r10,rax,QWORD PTR[16+rbp] + mulx r10,rax,QWORD PTR[16+rbp] adcx r9,rax adox r10,r11 - mulx r11,rax,QWORD PTR[24+rbp] + mulx r11,rax,QWORD PTR[24+rbp] adcx r10,rax adox r11,r12 -DB 0c4h,062h,0fbh,0f6h,0a5h,020h,000h,000h,000h +DB 0c4h,062h,0fbh,0f6h,0a5h,020h,000h,000h,000h adcx r11,rax adox r12,r13 - mulx r13,rax,QWORD PTR[40+rbp] + mulx r13,rax,QWORD PTR[40+rbp] adcx r12,rax adox r13,r14 - mulx r14,rax,QWORD PTR[48+rbp] - mov QWORD PTR[rcx*8+rdi],rbx + mulx r14,rax,QWORD PTR[48+rbp] + mov QWORD PTR[rcx*8+rdi],rbx mov ebx,0 adcx r13,rax adox r14,r15 -DB 0c4h,062h,0fbh,0f6h,0bdh,038h,000h,000h,000h - mov rdx,QWORD PTR[8+rcx*8+rsi] +DB 0c4h,062h,0fbh,0f6h,0bdh,038h,000h,000h,000h + mov rdx,QWORD PTR[8+rcx*8+rsi] adcx r14,rax adox r15,rbx adcx r15,rbx -DB 067h +DB 067h inc rcx - jnz $L$sqrx8x_loop + jnz $L$sqrx8x_loop - lea rbp,QWORD PTR[64+rbp] + lea rbp,QWORD PTR[64+rbp] mov rcx,-8 - cmp rbp,QWORD PTR[((8+8))+rsp] - je $L$sqrx8x_break - - sub rbx,QWORD PTR[((16+8))+rsp] -DB 066h - mov rdx,QWORD PTR[((-64))+rsi] - adcx r8,QWORD PTR[rdi] - adcx r9,QWORD PTR[8+rdi] - adc r10,QWORD PTR[16+rdi] - adc r11,QWORD PTR[24+rdi] - adc r12,QWORD PTR[32+rdi] - adc r13,QWORD PTR[40+rdi] - adc r14,QWORD PTR[48+rdi] - adc r15,QWORD PTR[56+rdi] - lea rdi,QWORD PTR[64+rdi] -DB 067h + cmp rbp,QWORD PTR[((8+8))+rsp] + je $L$sqrx8x_break + + sub rbx,QWORD PTR[((16+8))+rsp] +DB 066h + mov rdx,QWORD PTR[((-64))+rsi] + adcx r8,QWORD PTR[rdi] + adcx r9,QWORD PTR[8+rdi] + adc r10,QWORD PTR[16+rdi] + adc r11,QWORD PTR[24+rdi] + adc r12,QWORD PTR[32+rdi] + adc r13,QWORD PTR[40+rdi] + adc r14,QWORD PTR[48+rdi] + adc r15,QWORD PTR[56+rdi] + lea rdi,QWORD PTR[64+rdi] +DB 067h sbb rax,rax xor ebx,ebx - mov QWORD PTR[((16+8))+rsp],rax - jmp $L$sqrx8x_loop + mov QWORD PTR[((16+8))+rsp],rax + jmp $L$sqrx8x_loop ALIGN 32 -$L$sqrx8x_break:: +$L$sqrx8x_break:: xor rbp,rbp - sub rbx,QWORD PTR[((16+8))+rsp] + sub rbx,QWORD PTR[((16+8))+rsp] adcx r8,rbp - mov rcx,QWORD PTR[((24+8))+rsp] + mov rcx,QWORD PTR[((24+8))+rsp] adcx r9,rbp - mov rdx,QWORD PTR[rsi] + mov rdx,QWORD PTR[rsi] adc r10,0 - mov QWORD PTR[rdi],r8 + mov QWORD PTR[rdi],r8 adc r11,0 adc r12,0 adc r13,0 adc r14,0 adc r15,0 cmp rdi,rcx - je $L$sqrx8x_outer_loop - - mov QWORD PTR[8+rdi],r9 - mov r9,QWORD PTR[8+rcx] - mov QWORD PTR[16+rdi],r10 - mov r10,QWORD PTR[16+rcx] - mov QWORD PTR[24+rdi],r11 - mov r11,QWORD PTR[24+rcx] - mov QWORD PTR[32+rdi],r12 - mov r12,QWORD PTR[32+rcx] - mov QWORD PTR[40+rdi],r13 - mov r13,QWORD PTR[40+rcx] - mov QWORD PTR[48+rdi],r14 - mov r14,QWORD PTR[48+rcx] - mov QWORD PTR[56+rdi],r15 - mov r15,QWORD PTR[56+rcx] + je $L$sqrx8x_outer_loop + + mov QWORD PTR[8+rdi],r9 + mov r9,QWORD PTR[8+rcx] + mov QWORD PTR[16+rdi],r10 + mov r10,QWORD PTR[16+rcx] + mov QWORD PTR[24+rdi],r11 + mov r11,QWORD PTR[24+rcx] + mov QWORD PTR[32+rdi],r12 + mov r12,QWORD PTR[32+rcx] + mov QWORD PTR[40+rdi],r13 + mov r13,QWORD PTR[40+rcx] + mov QWORD PTR[48+rdi],r14 + mov r14,QWORD PTR[48+rcx] + mov QWORD PTR[56+rdi],r15 + mov r15,QWORD PTR[56+rcx] mov rdi,rcx - jmp $L$sqrx8x_outer_loop + jmp $L$sqrx8x_outer_loop ALIGN 32 -$L$sqrx8x_outer_break:: - mov QWORD PTR[72+rdi],r9 +$L$sqrx8x_outer_break:: + mov QWORD PTR[72+rdi],r9 DB 102,72,15,126,217 - mov QWORD PTR[80+rdi],r10 - mov QWORD PTR[88+rdi],r11 - mov QWORD PTR[96+rdi],r12 - mov QWORD PTR[104+rdi],r13 - mov QWORD PTR[112+rdi],r14 - lea rdi,QWORD PTR[((48+8))+rsp] - mov rdx,QWORD PTR[rcx*1+rsi] - - mov r11,QWORD PTR[8+rdi] + mov QWORD PTR[80+rdi],r10 + mov QWORD PTR[88+rdi],r11 + mov QWORD PTR[96+rdi],r12 + mov QWORD PTR[104+rdi],r13 + mov QWORD PTR[112+rdi],r14 + lea rdi,QWORD PTR[((48+8))+rsp] + mov rdx,QWORD PTR[rcx*1+rsi] + + mov r11,QWORD PTR[8+rdi] xor r10,r10 - mov r9,QWORD PTR[((0+8))+rsp] + mov r9,QWORD PTR[((0+8))+rsp] adox r11,r11 - mov r12,QWORD PTR[16+rdi] - mov r13,QWORD PTR[24+rdi] + mov r12,QWORD PTR[16+rdi] + mov r13,QWORD PTR[24+rdi] ALIGN 32 -$L$sqrx4x_shift_n_add:: +$L$sqrx4x_shift_n_add:: mulx rbx,rax,rdx adox r12,r12 adcx rax,r10 -DB 048h,08bh,094h,00eh,008h,000h,000h,000h -DB 04ch,08bh,097h,020h,000h,000h,000h +DB 048h,08bh,094h,00eh,008h,000h,000h,000h +DB 04ch,08bh,097h,020h,000h,000h,000h adox r13,r13 adcx rbx,r11 - mov r11,QWORD PTR[40+rdi] - mov QWORD PTR[rdi],rax - mov QWORD PTR[8+rdi],rbx + mov r11,QWORD PTR[40+rdi] + mov QWORD PTR[rdi],rax + mov QWORD PTR[8+rdi],rbx mulx rbx,rax,rdx adox r10,r10 adcx rax,r12 - mov rdx,QWORD PTR[16+rcx*1+rsi] - mov r12,QWORD PTR[48+rdi] + mov rdx,QWORD PTR[16+rcx*1+rsi] + mov r12,QWORD PTR[48+rdi] adox r11,r11 adcx rbx,r13 - mov r13,QWORD PTR[56+rdi] - mov QWORD PTR[16+rdi],rax - mov QWORD PTR[24+rdi],rbx + mov r13,QWORD PTR[56+rdi] + mov QWORD PTR[16+rdi],rax + mov QWORD PTR[24+rdi],rbx mulx rbx,rax,rdx adox r12,r12 adcx rax,r10 - mov rdx,QWORD PTR[24+rcx*1+rsi] - lea rcx,QWORD PTR[32+rcx] - mov r10,QWORD PTR[64+rdi] + mov rdx,QWORD PTR[24+rcx*1+rsi] + lea rcx,QWORD PTR[32+rcx] + mov r10,QWORD PTR[64+rdi] adox r13,r13 adcx rbx,r11 - mov r11,QWORD PTR[72+rdi] - mov QWORD PTR[32+rdi],rax - mov QWORD PTR[40+rdi],rbx + mov r11,QWORD PTR[72+rdi] + mov QWORD PTR[32+rdi],rax + mov QWORD PTR[40+rdi],rbx mulx rbx,rax,rdx adox r10,r10 adcx rax,r12 jrcxz $L$sqrx4x_shift_n_add_break -DB 048h,08bh,094h,00eh,000h,000h,000h,000h +DB 048h,08bh,094h,00eh,000h,000h,000h,000h adox r11,r11 adcx rbx,r13 - mov r12,QWORD PTR[80+rdi] - mov r13,QWORD PTR[88+rdi] - mov QWORD PTR[48+rdi],rax - mov QWORD PTR[56+rdi],rbx - lea rdi,QWORD PTR[64+rdi] + mov r12,QWORD PTR[80+rdi] + mov r13,QWORD PTR[88+rdi] + mov QWORD PTR[48+rdi],rax + mov QWORD PTR[56+rdi],rbx + lea rdi,QWORD PTR[64+rdi] nop - jmp $L$sqrx4x_shift_n_add + jmp $L$sqrx4x_shift_n_add ALIGN 32 -$L$sqrx4x_shift_n_add_break:: +$L$sqrx4x_shift_n_add_break:: adcx rbx,r13 - mov QWORD PTR[48+rdi],rax - mov QWORD PTR[56+rdi],rbx - lea rdi,QWORD PTR[64+rdi] + mov QWORD PTR[48+rdi],rax + mov QWORD PTR[56+rdi],rbx + lea rdi,QWORD PTR[64+rdi] DB 102,72,15,126,213 -__bn_sqrx8x_reduction:: +__bn_sqrx8x_reduction:: xor eax,eax - mov rbx,QWORD PTR[((32+8))+rsp] - mov rdx,QWORD PTR[((48+8))+rsp] - lea rcx,QWORD PTR[((-64))+r9*1+rbp] + mov rbx,QWORD PTR[((32+8))+rsp] + mov rdx,QWORD PTR[((48+8))+rsp] + lea rcx,QWORD PTR[((-64))+r9*1+rbp] - mov QWORD PTR[((0+8))+rsp],rcx - mov QWORD PTR[((8+8))+rsp],rdi + mov QWORD PTR[((0+8))+rsp],rcx + mov QWORD PTR[((8+8))+rsp],rdi - lea rdi,QWORD PTR[((48+8))+rsp] - jmp $L$sqrx8x_reduction_loop + lea rdi,QWORD PTR[((48+8))+rsp] + jmp $L$sqrx8x_reduction_loop ALIGN 32 -$L$sqrx8x_reduction_loop:: - mov r9,QWORD PTR[8+rdi] - mov r10,QWORD PTR[16+rdi] - mov r11,QWORD PTR[24+rdi] - mov r12,QWORD PTR[32+rdi] +$L$sqrx8x_reduction_loop:: + mov r9,QWORD PTR[8+rdi] + mov r10,QWORD PTR[16+rdi] + mov r11,QWORD PTR[24+rdi] + mov r12,QWORD PTR[32+rdi] mov r8,rdx imul rdx,rbx - mov r13,QWORD PTR[40+rdi] - mov r14,QWORD PTR[48+rdi] - mov r15,QWORD PTR[56+rdi] - mov QWORD PTR[((24+8))+rsp],rax + mov r13,QWORD PTR[40+rdi] + mov r14,QWORD PTR[48+rdi] + mov r15,QWORD PTR[56+rdi] + mov QWORD PTR[((24+8))+rsp],rax - lea rdi,QWORD PTR[64+rdi] + lea rdi,QWORD PTR[64+rdi] xor rsi,rsi mov rcx,-8 - jmp $L$sqrx8x_reduce + jmp $L$sqrx8x_reduce ALIGN 32 -$L$sqrx8x_reduce:: +$L$sqrx8x_reduce:: mov rbx,r8 - mulx r8,rax,QWORD PTR[rbp] + mulx r8,rax,QWORD PTR[rbp] adcx rax,rbx adox r8,r9 - mulx r9,rbx,QWORD PTR[8+rbp] + mulx r9,rbx,QWORD PTR[8+rbp] adcx r8,rbx adox r9,r10 - mulx r10,rbx,QWORD PTR[16+rbp] + mulx r10,rbx,QWORD PTR[16+rbp] adcx r9,rbx adox r10,r11 - mulx r11,rbx,QWORD PTR[24+rbp] + mulx r11,rbx,QWORD PTR[24+rbp] adcx r10,rbx adox r11,r12 -DB 0c4h,062h,0e3h,0f6h,0a5h,020h,000h,000h,000h +DB 0c4h,062h,0e3h,0f6h,0a5h,020h,000h,000h,000h mov rax,rdx mov rdx,r8 adcx r11,rbx adox r12,r13 - mulx rdx,rbx,QWORD PTR[((32+8))+rsp] + mulx rdx,rbx,QWORD PTR[((32+8))+rsp] mov rdx,rax - mov QWORD PTR[((64+48+8))+rcx*8+rsp],rax + mov QWORD PTR[((64+48+8))+rcx*8+rsp],rax - mulx r13,rax,QWORD PTR[40+rbp] + mulx r13,rax,QWORD PTR[40+rbp] adcx r12,rax adox r13,r14 - mulx r14,rax,QWORD PTR[48+rbp] + mulx r14,rax,QWORD PTR[48+rbp] adcx r13,rax adox r14,r15 - mulx r15,rax,QWORD PTR[56+rbp] + mulx r15,rax,QWORD PTR[56+rbp] mov rdx,rbx adcx r14,rax adox r15,rsi adcx r15,rsi -DB 067h,067h,067h +DB 067h,067h,067h inc rcx - jnz $L$sqrx8x_reduce + jnz $L$sqrx8x_reduce mov rax,rsi - cmp rbp,QWORD PTR[((0+8))+rsp] - jae $L$sqrx8x_no_tail + cmp rbp,QWORD PTR[((0+8))+rsp] + jae $L$sqrx8x_no_tail - mov rdx,QWORD PTR[((48+8))+rsp] - add r8,QWORD PTR[rdi] - lea rbp,QWORD PTR[64+rbp] + mov rdx,QWORD PTR[((48+8))+rsp] + add r8,QWORD PTR[rdi] + lea rbp,QWORD PTR[64+rbp] mov rcx,-8 - adcx r9,QWORD PTR[8+rdi] - adcx r10,QWORD PTR[16+rdi] - adc r11,QWORD PTR[24+rdi] - adc r12,QWORD PTR[32+rdi] - adc r13,QWORD PTR[40+rdi] - adc r14,QWORD PTR[48+rdi] - adc r15,QWORD PTR[56+rdi] - lea rdi,QWORD PTR[64+rdi] + adcx r9,QWORD PTR[8+rdi] + adcx r10,QWORD PTR[16+rdi] + adc r11,QWORD PTR[24+rdi] + adc r12,QWORD PTR[32+rdi] + adc r13,QWORD PTR[40+rdi] + adc r14,QWORD PTR[48+rdi] + adc r15,QWORD PTR[56+rdi] + lea rdi,QWORD PTR[64+rdi] sbb rax,rax xor rsi,rsi - mov QWORD PTR[((16+8))+rsp],rax - jmp $L$sqrx8x_tail + mov QWORD PTR[((16+8))+rsp],rax + jmp $L$sqrx8x_tail ALIGN 32 -$L$sqrx8x_tail:: +$L$sqrx8x_tail:: mov rbx,r8 - mulx r8,rax,QWORD PTR[rbp] + mulx r8,rax,QWORD PTR[rbp] adcx rbx,rax adox r8,r9 - mulx r9,rax,QWORD PTR[8+rbp] + mulx r9,rax,QWORD PTR[8+rbp] adcx r8,rax adox r9,r10 - mulx r10,rax,QWORD PTR[16+rbp] + mulx r10,rax,QWORD PTR[16+rbp] adcx r9,rax adox r10,r11 - mulx r11,rax,QWORD PTR[24+rbp] + mulx r11,rax,QWORD PTR[24+rbp] adcx r10,rax adox r11,r12 -DB 0c4h,062h,0fbh,0f6h,0a5h,020h,000h,000h,000h +DB 0c4h,062h,0fbh,0f6h,0a5h,020h,000h,000h,000h adcx r11,rax adox r12,r13 - mulx r13,rax,QWORD PTR[40+rbp] + mulx r13,rax,QWORD PTR[40+rbp] adcx r12,rax adox r13,r14 - mulx r14,rax,QWORD PTR[48+rbp] + mulx r14,rax,QWORD PTR[48+rbp] adcx r13,rax adox r14,r15 - mulx r15,rax,QWORD PTR[56+rbp] - mov rdx,QWORD PTR[((72+48+8))+rcx*8+rsp] + mulx r15,rax,QWORD PTR[56+rbp] + mov rdx,QWORD PTR[((72+48+8))+rcx*8+rsp] adcx r14,rax adox r15,rsi - mov QWORD PTR[rcx*8+rdi],rbx + mov QWORD PTR[rcx*8+rdi],rbx mov rbx,r8 adcx r15,rsi inc rcx - jnz $L$sqrx8x_tail - - cmp rbp,QWORD PTR[((0+8))+rsp] - jae $L$sqrx8x_tail_done - - sub rsi,QWORD PTR[((16+8))+rsp] - mov rdx,QWORD PTR[((48+8))+rsp] - lea rbp,QWORD PTR[64+rbp] - adc r8,QWORD PTR[rdi] - adc r9,QWORD PTR[8+rdi] - adc r10,QWORD PTR[16+rdi] - adc r11,QWORD PTR[24+rdi] - adc r12,QWORD PTR[32+rdi] - adc r13,QWORD PTR[40+rdi] - adc r14,QWORD PTR[48+rdi] - adc r15,QWORD PTR[56+rdi] - lea rdi,QWORD PTR[64+rdi] + jnz $L$sqrx8x_tail + + cmp rbp,QWORD PTR[((0+8))+rsp] + jae $L$sqrx8x_tail_done + + sub rsi,QWORD PTR[((16+8))+rsp] + mov rdx,QWORD PTR[((48+8))+rsp] + lea rbp,QWORD PTR[64+rbp] + adc r8,QWORD PTR[rdi] + adc r9,QWORD PTR[8+rdi] + adc r10,QWORD PTR[16+rdi] + adc r11,QWORD PTR[24+rdi] + adc r12,QWORD PTR[32+rdi] + adc r13,QWORD PTR[40+rdi] + adc r14,QWORD PTR[48+rdi] + adc r15,QWORD PTR[56+rdi] + lea rdi,QWORD PTR[64+rdi] sbb rax,rax sub rcx,8 xor rsi,rsi - mov QWORD PTR[((16+8))+rsp],rax - jmp $L$sqrx8x_tail + mov QWORD PTR[((16+8))+rsp],rax + jmp $L$sqrx8x_tail ALIGN 32 -$L$sqrx8x_tail_done:: +$L$sqrx8x_tail_done:: xor rax,rax - add r8,QWORD PTR[((24+8))+rsp] + add r8,QWORD PTR[((24+8))+rsp] adc r9,0 adc r10,0 adc r11,0 @@ -3574,44 +3574,44 @@ $L$sqrx8x_tail_done:: adc r15,0 adc rax,0 - sub rsi,QWORD PTR[((16+8))+rsp] -$L$sqrx8x_no_tail:: - adc r8,QWORD PTR[rdi] + sub rsi,QWORD PTR[((16+8))+rsp] +$L$sqrx8x_no_tail:: + adc r8,QWORD PTR[rdi] DB 102,72,15,126,217 - adc r9,QWORD PTR[8+rdi] - mov rsi,QWORD PTR[56+rbp] + adc r9,QWORD PTR[8+rdi] + mov rsi,QWORD PTR[56+rbp] DB 102,72,15,126,213 - adc r10,QWORD PTR[16+rdi] - adc r11,QWORD PTR[24+rdi] - adc r12,QWORD PTR[32+rdi] - adc r13,QWORD PTR[40+rdi] - adc r14,QWORD PTR[48+rdi] - adc r15,QWORD PTR[56+rdi] + adc r10,QWORD PTR[16+rdi] + adc r11,QWORD PTR[24+rdi] + adc r12,QWORD PTR[32+rdi] + adc r13,QWORD PTR[40+rdi] + adc r14,QWORD PTR[48+rdi] + adc r15,QWORD PTR[56+rdi] adc rax,0 - mov rbx,QWORD PTR[((32+8))+rsp] - mov rdx,QWORD PTR[64+rcx*1+rdi] - - mov QWORD PTR[rdi],r8 - lea r8,QWORD PTR[64+rdi] - mov QWORD PTR[8+rdi],r9 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 - mov QWORD PTR[32+rdi],r12 - mov QWORD PTR[40+rdi],r13 - mov QWORD PTR[48+rdi],r14 - mov QWORD PTR[56+rdi],r15 - - lea rdi,QWORD PTR[64+rcx*1+rdi] - cmp r8,QWORD PTR[((8+8))+rsp] - jb $L$sqrx8x_reduction_loop + mov rbx,QWORD PTR[((32+8))+rsp] + mov rdx,QWORD PTR[64+rcx*1+rdi] + + mov QWORD PTR[rdi],r8 + lea r8,QWORD PTR[64+rdi] + mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[32+rdi],r12 + mov QWORD PTR[40+rdi],r13 + mov QWORD PTR[48+rdi],r14 + mov QWORD PTR[56+rdi],r15 + + lea rdi,QWORD PTR[64+rcx*1+rdi] + cmp r8,QWORD PTR[((8+8))+rsp] + jb $L$sqrx8x_reduction_loop DB 0F3h,0C3h ;repret -bn_sqrx8x_internal ENDP -ALIGN 32 -__bn_postx4x_internal:: +bn_sqrx8x_internal ENDP +ALIGN 32 +__bn_postx4x_internal:: - mov r12,QWORD PTR[rbp] + mov r12,QWORD PTR[rbp] mov r10,rcx mov r9,rcx neg rax @@ -3620,104 +3620,104 @@ __bn_postx4x_internal:: DB 102,72,15,126,202 DB 102,72,15,126,206 dec r12 - mov r13,QWORD PTR[8+rbp] + mov r13,QWORD PTR[8+rbp] xor r8,r8 - mov r14,QWORD PTR[16+rbp] - mov r15,QWORD PTR[24+rbp] - jmp $L$sqrx4x_sub_entry + mov r14,QWORD PTR[16+rbp] + mov r15,QWORD PTR[24+rbp] + jmp $L$sqrx4x_sub_entry ALIGN 16 -$L$sqrx4x_sub:: - mov r12,QWORD PTR[rbp] - mov r13,QWORD PTR[8+rbp] - mov r14,QWORD PTR[16+rbp] - mov r15,QWORD PTR[24+rbp] -$L$sqrx4x_sub_entry:: +$L$sqrx4x_sub:: + mov r12,QWORD PTR[rbp] + mov r13,QWORD PTR[8+rbp] + mov r14,QWORD PTR[16+rbp] + mov r15,QWORD PTR[24+rbp] +$L$sqrx4x_sub_entry:: andn r12,r12,rax - lea rbp,QWORD PTR[32+rbp] + lea rbp,QWORD PTR[32+rbp] andn r13,r13,rax andn r14,r14,rax andn r15,r15,rax neg r8 - adc r12,QWORD PTR[rdi] - adc r13,QWORD PTR[8+rdi] - adc r14,QWORD PTR[16+rdi] - adc r15,QWORD PTR[24+rdi] - mov QWORD PTR[rdx],r12 - lea rdi,QWORD PTR[32+rdi] - mov QWORD PTR[8+rdx],r13 + adc r12,QWORD PTR[rdi] + adc r13,QWORD PTR[8+rdi] + adc r14,QWORD PTR[16+rdi] + adc r15,QWORD PTR[24+rdi] + mov QWORD PTR[rdx],r12 + lea rdi,QWORD PTR[32+rdi] + mov QWORD PTR[8+rdx],r13 sbb r8,r8 - mov QWORD PTR[16+rdx],r14 - mov QWORD PTR[24+rdx],r15 - lea rdx,QWORD PTR[32+rdx] + mov QWORD PTR[16+rdx],r14 + mov QWORD PTR[24+rdx],r15 + lea rdx,QWORD PTR[32+rdx] inc rcx - jnz $L$sqrx4x_sub + jnz $L$sqrx4x_sub neg r9 DB 0F3h,0C3h ;repret -PUBLIC bn_get_bits5 - +PUBLIC bn_get_bits5 + ALIGN 16 -bn_get_bits5 PROC PUBLIC - - lea r10,QWORD PTR[rcx] - lea r11,QWORD PTR[1+rcx] +bn_get_bits5 PROC PUBLIC + + lea r10,QWORD PTR[rcx] + lea r11,QWORD PTR[1+rcx] mov ecx,edx shr edx,4 and ecx,15 - lea eax,DWORD PTR[((-8))+rcx] + lea eax,DWORD PTR[((-8))+rcx] cmp ecx,11 cmova r10,r11 cmova ecx,eax - movzx eax,WORD PTR[rdx*2+r10] + movzx eax,WORD PTR[rdx*2+r10] shr eax,cl and eax,31 DB 0F3h,0C3h ;repret -bn_get_bits5 ENDP +bn_get_bits5 ENDP -PUBLIC bn_scatter5 +PUBLIC bn_scatter5 ALIGN 16 -bn_scatter5 PROC PUBLIC - +bn_scatter5 PROC PUBLIC + cmp edx,0 - jz $L$scatter_epilogue - lea r8,QWORD PTR[r9*8+r8] -$L$scatter:: - mov rax,QWORD PTR[rcx] - lea rcx,QWORD PTR[8+rcx] - mov QWORD PTR[r8],rax - lea r8,QWORD PTR[256+r8] + jz $L$scatter_epilogue + lea r8,QWORD PTR[r9*8+r8] +$L$scatter:: + mov rax,QWORD PTR[rcx] + lea rcx,QWORD PTR[8+rcx] + mov QWORD PTR[r8],rax + lea r8,QWORD PTR[256+r8] sub edx,1 - jnz $L$scatter -$L$scatter_epilogue:: + jnz $L$scatter +$L$scatter_epilogue:: DB 0F3h,0C3h ;repret -bn_scatter5 ENDP +bn_scatter5 ENDP -PUBLIC bn_gather5 +PUBLIC bn_gather5 ALIGN 32 -bn_gather5 PROC PUBLIC -$L$SEH_begin_bn_gather5:: +bn_gather5 PROC PUBLIC +$L$SEH_begin_bn_gather5:: - -DB 04ch,08dh,014h,024h -DB 048h,081h,0ech,008h,001h,000h,000h - lea rax,QWORD PTR[$L$inc] + +DB 04ch,08dh,014h,024h +DB 048h,081h,0ech,008h,001h,000h,000h + lea rax,QWORD PTR[$L$inc] and rsp,-16 movd xmm5,r9d - movdqa xmm0,XMMWORD PTR[rax] - movdqa xmm1,XMMWORD PTR[16+rax] - lea r11,QWORD PTR[128+r8] - lea rax,QWORD PTR[128+rsp] + movdqa xmm0,XMMWORD PTR[rax] + movdqa xmm1,XMMWORD PTR[16+rax] + lea r11,QWORD PTR[128+r8] + lea rax,QWORD PTR[128+rsp] pshufd xmm5,xmm5,0 movdqa xmm4,xmm1 @@ -3728,146 +3728,146 @@ DB 048h,081h,0ech,008h,001h,000h,000h paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[(-128)+rax],xmm0 + movdqa XMMWORD PTR[(-128)+rax],xmm0 movdqa xmm0,xmm4 paddd xmm3,xmm2 pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[(-112)+rax],xmm1 + movdqa XMMWORD PTR[(-112)+rax],xmm1 movdqa xmm1,xmm4 paddd xmm0,xmm3 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[(-96)+rax],xmm2 + movdqa XMMWORD PTR[(-96)+rax],xmm2 movdqa xmm2,xmm4 paddd xmm1,xmm0 pcmpeqd xmm0,xmm5 - movdqa XMMWORD PTR[(-80)+rax],xmm3 + movdqa XMMWORD PTR[(-80)+rax],xmm3 movdqa xmm3,xmm4 paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[(-64)+rax],xmm0 + movdqa XMMWORD PTR[(-64)+rax],xmm0 movdqa xmm0,xmm4 paddd xmm3,xmm2 pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[(-48)+rax],xmm1 + movdqa XMMWORD PTR[(-48)+rax],xmm1 movdqa xmm1,xmm4 paddd xmm0,xmm3 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[(-32)+rax],xmm2 + movdqa XMMWORD PTR[(-32)+rax],xmm2 movdqa xmm2,xmm4 paddd xmm1,xmm0 pcmpeqd xmm0,xmm5 - movdqa XMMWORD PTR[(-16)+rax],xmm3 + movdqa XMMWORD PTR[(-16)+rax],xmm3 movdqa xmm3,xmm4 paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[rax],xmm0 + movdqa XMMWORD PTR[rax],xmm0 movdqa xmm0,xmm4 paddd xmm3,xmm2 pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[16+rax],xmm1 + movdqa XMMWORD PTR[16+rax],xmm1 movdqa xmm1,xmm4 paddd xmm0,xmm3 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[32+rax],xmm2 + movdqa XMMWORD PTR[32+rax],xmm2 movdqa xmm2,xmm4 paddd xmm1,xmm0 pcmpeqd xmm0,xmm5 - movdqa XMMWORD PTR[48+rax],xmm3 + movdqa XMMWORD PTR[48+rax],xmm3 movdqa xmm3,xmm4 paddd xmm2,xmm1 pcmpeqd xmm1,xmm5 - movdqa XMMWORD PTR[64+rax],xmm0 + movdqa XMMWORD PTR[64+rax],xmm0 movdqa xmm0,xmm4 paddd xmm3,xmm2 pcmpeqd xmm2,xmm5 - movdqa XMMWORD PTR[80+rax],xmm1 + movdqa XMMWORD PTR[80+rax],xmm1 movdqa xmm1,xmm4 paddd xmm0,xmm3 pcmpeqd xmm3,xmm5 - movdqa XMMWORD PTR[96+rax],xmm2 + movdqa XMMWORD PTR[96+rax],xmm2 movdqa xmm2,xmm4 - movdqa XMMWORD PTR[112+rax],xmm3 - jmp $L$gather + movdqa XMMWORD PTR[112+rax],xmm3 + jmp $L$gather ALIGN 32 -$L$gather:: +$L$gather:: pxor xmm4,xmm4 pxor xmm5,xmm5 - movdqa xmm0,XMMWORD PTR[((-128))+r11] - movdqa xmm1,XMMWORD PTR[((-112))+r11] - movdqa xmm2,XMMWORD PTR[((-96))+r11] - pand xmm0,XMMWORD PTR[((-128))+rax] - movdqa xmm3,XMMWORD PTR[((-80))+r11] - pand xmm1,XMMWORD PTR[((-112))+rax] + movdqa xmm0,XMMWORD PTR[((-128))+r11] + movdqa xmm1,XMMWORD PTR[((-112))+r11] + movdqa xmm2,XMMWORD PTR[((-96))+r11] + pand xmm0,XMMWORD PTR[((-128))+rax] + movdqa xmm3,XMMWORD PTR[((-80))+r11] + pand xmm1,XMMWORD PTR[((-112))+rax] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[((-96))+rax] + pand xmm2,XMMWORD PTR[((-96))+rax] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[((-80))+rax] + pand xmm3,XMMWORD PTR[((-80))+rax] por xmm4,xmm2 por xmm5,xmm3 - movdqa xmm0,XMMWORD PTR[((-64))+r11] - movdqa xmm1,XMMWORD PTR[((-48))+r11] - movdqa xmm2,XMMWORD PTR[((-32))+r11] - pand xmm0,XMMWORD PTR[((-64))+rax] - movdqa xmm3,XMMWORD PTR[((-16))+r11] - pand xmm1,XMMWORD PTR[((-48))+rax] + movdqa xmm0,XMMWORD PTR[((-64))+r11] + movdqa xmm1,XMMWORD PTR[((-48))+r11] + movdqa xmm2,XMMWORD PTR[((-32))+r11] + pand xmm0,XMMWORD PTR[((-64))+rax] + movdqa xmm3,XMMWORD PTR[((-16))+r11] + pand xmm1,XMMWORD PTR[((-48))+rax] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[((-32))+rax] + pand xmm2,XMMWORD PTR[((-32))+rax] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[((-16))+rax] + pand xmm3,XMMWORD PTR[((-16))+rax] por xmm4,xmm2 por xmm5,xmm3 - movdqa xmm0,XMMWORD PTR[r11] - movdqa xmm1,XMMWORD PTR[16+r11] - movdqa xmm2,XMMWORD PTR[32+r11] - pand xmm0,XMMWORD PTR[rax] - movdqa xmm3,XMMWORD PTR[48+r11] - pand xmm1,XMMWORD PTR[16+rax] + movdqa xmm0,XMMWORD PTR[r11] + movdqa xmm1,XMMWORD PTR[16+r11] + movdqa xmm2,XMMWORD PTR[32+r11] + pand xmm0,XMMWORD PTR[rax] + movdqa xmm3,XMMWORD PTR[48+r11] + pand xmm1,XMMWORD PTR[16+rax] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[32+rax] + pand xmm2,XMMWORD PTR[32+rax] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[48+rax] + pand xmm3,XMMWORD PTR[48+rax] por xmm4,xmm2 por xmm5,xmm3 - movdqa xmm0,XMMWORD PTR[64+r11] - movdqa xmm1,XMMWORD PTR[80+r11] - movdqa xmm2,XMMWORD PTR[96+r11] - pand xmm0,XMMWORD PTR[64+rax] - movdqa xmm3,XMMWORD PTR[112+r11] - pand xmm1,XMMWORD PTR[80+rax] + movdqa xmm0,XMMWORD PTR[64+r11] + movdqa xmm1,XMMWORD PTR[80+r11] + movdqa xmm2,XMMWORD PTR[96+r11] + pand xmm0,XMMWORD PTR[64+rax] + movdqa xmm3,XMMWORD PTR[112+r11] + pand xmm1,XMMWORD PTR[80+rax] por xmm4,xmm0 - pand xmm2,XMMWORD PTR[96+rax] + pand xmm2,XMMWORD PTR[96+rax] por xmm5,xmm1 - pand xmm3,XMMWORD PTR[112+rax] + pand xmm3,XMMWORD PTR[112+rax] por xmm4,xmm2 por xmm5,xmm3 por xmm4,xmm5 - lea r11,QWORD PTR[256+r11] - pshufd xmm0,xmm4,04eh + lea r11,QWORD PTR[256+r11] + pshufd xmm0,xmm4,04eh por xmm0,xmm4 - movq QWORD PTR[rcx],xmm0 - lea rcx,QWORD PTR[8+rcx] + movq QWORD PTR[rcx],xmm0 + lea rcx,QWORD PTR[8+rcx] sub edx,1 - jnz $L$gather + jnz $L$gather - lea rsp,QWORD PTR[r10] + lea rsp,QWORD PTR[r10] DB 0F3h,0C3h ;repret -$L$SEH_end_bn_gather5:: +$L$SEH_end_bn_gather5:: -bn_gather5 ENDP +bn_gather5 ENDP ALIGN 64 -$L$inc:: +$L$inc:: DD 0,0,1,1 DD 2,2,2,2 DB 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105 @@ -3876,10 +3876,10 @@ DB 99,97,116,116,101,114,47,103,97,116,104,101,114,32,102,111 DB 114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79 DB 71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111 DB 112,101,110,115,115,108,46,111,114,103,62,0 -EXTERN __imp_RtlVirtualUnwind:NEAR +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -mul_handler PROC PRIVATE +mul_handler PROC PRIVATE push rsi push rdi push rbx @@ -3891,79 +3891,79 @@ mul_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_pop_regs + jb $L$common_pop_regs - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[8+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[8+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail + jae $L$common_seh_tail - lea r10,QWORD PTR[$L$mul_epilogue] + lea r10,QWORD PTR[$L$mul_epilogue] cmp rbx,r10 - ja $L$body_40 - - mov r10,QWORD PTR[192+r8] - mov rax,QWORD PTR[8+r10*8+rax] - - jmp $L$common_pop_regs - -$L$body_40:: - mov rax,QWORD PTR[40+rax] -$L$common_pop_regs:: - 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 - -$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 - - mov rdi,QWORD PTR[40+r9] + ja $L$body_40 + + mov r10,QWORD PTR[192+r8] + mov rax,QWORD PTR[8+r10*8+rax] + + jmp $L$common_pop_regs + +$L$body_40:: + mov rax,QWORD PTR[40+rax] +$L$common_pop_regs:: + 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 + +$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 + + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -3977,75 +3977,75 @@ $L$common_seh_tail:: pop rdi pop rsi DB 0F3h,0C3h ;repret -mul_handler ENDP +mul_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_bn_mul_mont_gather5 - DD imagerel $L$SEH_end_bn_mul_mont_gather5 - DD imagerel $L$SEH_info_bn_mul_mont_gather5 - - DD imagerel $L$SEH_begin_bn_mul4x_mont_gather5 - DD imagerel $L$SEH_end_bn_mul4x_mont_gather5 - DD imagerel $L$SEH_info_bn_mul4x_mont_gather5 - - DD imagerel $L$SEH_begin_bn_power5 - DD imagerel $L$SEH_end_bn_power5 - DD imagerel $L$SEH_info_bn_power5 - - DD imagerel $L$SEH_begin_bn_from_mont8x - DD imagerel $L$SEH_end_bn_from_mont8x - DD imagerel $L$SEH_info_bn_from_mont8x - DD imagerel $L$SEH_begin_bn_mulx4x_mont_gather5 - DD imagerel $L$SEH_end_bn_mulx4x_mont_gather5 - DD imagerel $L$SEH_info_bn_mulx4x_mont_gather5 - - DD imagerel $L$SEH_begin_bn_powerx5 - DD imagerel $L$SEH_end_bn_powerx5 - DD imagerel $L$SEH_info_bn_powerx5 - DD imagerel $L$SEH_begin_bn_gather5 - DD imagerel $L$SEH_end_bn_gather5 - DD imagerel $L$SEH_info_bn_gather5 - -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + DD imagerel $L$SEH_begin_bn_mul_mont_gather5 + DD imagerel $L$SEH_end_bn_mul_mont_gather5 + DD imagerel $L$SEH_info_bn_mul_mont_gather5 + + DD imagerel $L$SEH_begin_bn_mul4x_mont_gather5 + DD imagerel $L$SEH_end_bn_mul4x_mont_gather5 + DD imagerel $L$SEH_info_bn_mul4x_mont_gather5 + + DD imagerel $L$SEH_begin_bn_power5 + DD imagerel $L$SEH_end_bn_power5 + DD imagerel $L$SEH_info_bn_power5 + + DD imagerel $L$SEH_begin_bn_from_mont8x + DD imagerel $L$SEH_end_bn_from_mont8x + DD imagerel $L$SEH_info_bn_from_mont8x + DD imagerel $L$SEH_begin_bn_mulx4x_mont_gather5 + DD imagerel $L$SEH_end_bn_mulx4x_mont_gather5 + DD imagerel $L$SEH_info_bn_mulx4x_mont_gather5 + + DD imagerel $L$SEH_begin_bn_powerx5 + DD imagerel $L$SEH_end_bn_powerx5 + DD imagerel $L$SEH_info_bn_powerx5 + DD imagerel $L$SEH_begin_bn_gather5 + DD imagerel $L$SEH_end_bn_gather5 + DD imagerel $L$SEH_info_bn_gather5 + +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_bn_mul_mont_gather5:: +$L$SEH_info_bn_mul_mont_gather5:: DB 9,0,0,0 - DD imagerel mul_handler - DD imagerel $L$mul_body,imagerel $L$mul_body,imagerel $L$mul_epilogue + DD imagerel mul_handler + DD imagerel $L$mul_body,imagerel $L$mul_body,imagerel $L$mul_epilogue ALIGN 8 -$L$SEH_info_bn_mul4x_mont_gather5:: +$L$SEH_info_bn_mul4x_mont_gather5:: DB 9,0,0,0 - DD imagerel mul_handler - DD imagerel $L$mul4x_prologue,imagerel $L$mul4x_body,imagerel $L$mul4x_epilogue + DD imagerel mul_handler + DD imagerel $L$mul4x_prologue,imagerel $L$mul4x_body,imagerel $L$mul4x_epilogue ALIGN 8 -$L$SEH_info_bn_power5:: +$L$SEH_info_bn_power5:: DB 9,0,0,0 - DD imagerel mul_handler - DD imagerel $L$power5_prologue,imagerel $L$power5_body,imagerel $L$power5_epilogue + DD imagerel mul_handler + DD imagerel $L$power5_prologue,imagerel $L$power5_body,imagerel $L$power5_epilogue ALIGN 8 -$L$SEH_info_bn_from_mont8x:: +$L$SEH_info_bn_from_mont8x:: DB 9,0,0,0 - DD imagerel mul_handler - DD imagerel $L$from_prologue,imagerel $L$from_body,imagerel $L$from_epilogue + DD imagerel mul_handler + DD imagerel $L$from_prologue,imagerel $L$from_body,imagerel $L$from_epilogue ALIGN 8 -$L$SEH_info_bn_mulx4x_mont_gather5:: +$L$SEH_info_bn_mulx4x_mont_gather5:: DB 9,0,0,0 - DD imagerel mul_handler - DD imagerel $L$mulx4x_prologue,imagerel $L$mulx4x_body,imagerel $L$mulx4x_epilogue + DD imagerel mul_handler + DD imagerel $L$mulx4x_prologue,imagerel $L$mulx4x_body,imagerel $L$mulx4x_epilogue ALIGN 8 -$L$SEH_info_bn_powerx5:: +$L$SEH_info_bn_powerx5:: DB 9,0,0,0 - DD imagerel mul_handler - DD imagerel $L$powerx5_prologue,imagerel $L$powerx5_body,imagerel $L$powerx5_epilogue + DD imagerel mul_handler + DD imagerel $L$powerx5_prologue,imagerel $L$powerx5_body,imagerel $L$powerx5_epilogue ALIGN 8 -$L$SEH_info_bn_gather5:: -DB 001h,00bh,003h,00ah -DB 00bh,001h,021h,000h -DB 004h,0a3h,000h,000h +$L$SEH_info_bn_gather5:: +DB 001h,00bh,003h,00ah +DB 00bh,001h,021h,000h +DB 004h,0a3h,000h,000h ALIGN 8 - -.xdata ENDS -END + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/camellia/cmll-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/camellia/cmll-x86_64.masm index 0605a27837..0666a8e086 100644 --- a/contrib/libs/openssl/asm/windows/crypto/camellia/cmll-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/camellia/cmll-x86_64.masm @@ -1,29 +1,29 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -PUBLIC Camellia_EncryptBlock +PUBLIC Camellia_EncryptBlock -ALIGN 16 -Camellia_EncryptBlock PROC PUBLIC +ALIGN 16 +Camellia_EncryptBlock PROC PUBLIC mov eax,128 sub eax,ecx mov ecx,3 adc ecx,0 - jmp $L$enc_rounds + jmp $L$enc_rounds -Camellia_EncryptBlock ENDP +Camellia_EncryptBlock ENDP -PUBLIC Camellia_EncryptBlock_Rounds +PUBLIC Camellia_EncryptBlock_Rounds ALIGN 16 -$L$enc_rounds:: -Camellia_EncryptBlock_Rounds PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +$L$enc_rounds:: +Camellia_EncryptBlock_Rounds PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_Camellia_EncryptBlock_Rounds:: +$L$SEH_begin_Camellia_EncryptBlock_Rounds:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -41,21 +41,21 @@ $L$SEH_begin_Camellia_EncryptBlock_Rounds:: push r15 -$L$enc_prologue:: +$L$enc_prologue:: mov r13,rcx mov r14,rdx shl edi,6 - lea rbp,QWORD PTR[$L$Camellia_SBOX] - lea r15,QWORD PTR[rdi*1+r14] + lea rbp,QWORD PTR[$L$Camellia_SBOX] + lea r15,QWORD PTR[rdi*1+r14] - mov r8d,DWORD PTR[rsi] - mov r9d,DWORD PTR[4+rsi] - mov r10d,DWORD PTR[8+rsi] + mov r8d,DWORD PTR[rsi] + mov r9d,DWORD PTR[4+rsi] + mov r10d,DWORD PTR[8+rsi] bswap r8d - mov r11d,DWORD PTR[12+rsi] + mov r11d,DWORD PTR[12+rsi] bswap r9d bswap r10d bswap r11d @@ -65,67 +65,67 @@ $L$enc_prologue:: bswap r8d bswap r9d bswap r10d - mov DWORD PTR[r13],r8d + mov DWORD PTR[r13],r8d bswap r11d - mov DWORD PTR[4+r13],r9d - mov DWORD PTR[8+r13],r10d - mov DWORD PTR[12+r13],r11d + mov DWORD PTR[4+r13],r9d + mov DWORD PTR[8+r13],r10d + mov DWORD PTR[12+r13],r11d - mov r15,QWORD PTR[rsp] + mov r15,QWORD PTR[rsp] - mov r14,QWORD PTR[8+rsp] + mov r14,QWORD PTR[8+rsp] - mov r13,QWORD PTR[16+rsp] + mov r13,QWORD PTR[16+rsp] - mov rbp,QWORD PTR[24+rsp] + mov rbp,QWORD PTR[24+rsp] - mov rbx,QWORD PTR[32+rsp] + mov rbx,QWORD PTR[32+rsp] - lea rsp,QWORD PTR[40+rsp] + lea rsp,QWORD PTR[40+rsp] -$L$enc_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$enc_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_Camellia_EncryptBlock_Rounds:: -Camellia_EncryptBlock_Rounds ENDP +$L$SEH_end_Camellia_EncryptBlock_Rounds:: +Camellia_EncryptBlock_Rounds ENDP ALIGN 16 -_x86_64_Camellia_encrypt PROC PRIVATE - - xor r9d,DWORD PTR[r14] - xor r8d,DWORD PTR[4+r14] - xor r11d,DWORD PTR[8+r14] - xor r10d,DWORD PTR[12+r14] +_x86_64_Camellia_encrypt PROC PRIVATE + + xor r9d,DWORD PTR[r14] + xor r8d,DWORD PTR[4+r14] + xor r11d,DWORD PTR[8+r14] + xor r10d,DWORD PTR[12+r14] ALIGN 16 -$L$eloop:: - mov ebx,DWORD PTR[16+r14] - mov eax,DWORD PTR[20+r14] +$L$eloop:: + mov ebx,DWORD PTR[16+r14] + mov eax,DWORD PTR[20+r14] xor eax,r8d xor ebx,r9d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[24+r14] - mov eax,DWORD PTR[28+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[24+r14] + mov eax,DWORD PTR[28+r14] xor ecx,edx ror edx,8 xor r10d,ecx @@ -135,24 +135,24 @@ $L$eloop:: xor ebx,r11d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[32+r14] - mov eax,DWORD PTR[36+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[32+r14] + mov eax,DWORD PTR[36+r14] xor ecx,edx ror edx,8 xor r8d,ecx @@ -162,24 +162,24 @@ $L$eloop:: xor ebx,r9d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[40+r14] - mov eax,DWORD PTR[44+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[40+r14] + mov eax,DWORD PTR[44+r14] xor ecx,edx ror edx,8 xor r10d,ecx @@ -189,24 +189,24 @@ $L$eloop:: xor ebx,r11d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[48+r14] - mov eax,DWORD PTR[52+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[48+r14] + mov eax,DWORD PTR[52+r14] xor ecx,edx ror edx,8 xor r8d,ecx @@ -216,24 +216,24 @@ $L$eloop:: xor ebx,r9d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[56+r14] - mov eax,DWORD PTR[60+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[56+r14] + mov eax,DWORD PTR[60+r14] xor ecx,edx ror edx,8 xor r10d,ecx @@ -243,34 +243,34 @@ $L$eloop:: xor ebx,r11d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[64+r14] - mov eax,DWORD PTR[68+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[64+r14] + mov eax,DWORD PTR[68+r14] xor ecx,edx ror edx,8 xor r8d,ecx xor r9d,ecx xor r9d,edx - lea r14,QWORD PTR[64+r14] + lea r14,QWORD PTR[64+r14] cmp r14,r15 - mov edx,DWORD PTR[8+r14] - mov ecx,DWORD PTR[12+r14] - je $L$edone + mov edx,DWORD PTR[8+r14] + mov ecx,DWORD PTR[12+r14] + je $L$edone and eax,r8d or edx,r11d @@ -282,10 +282,10 @@ $L$eloop:: rol ecx,1 xor r8d,ebx xor r11d,ecx - jmp $L$eloop + jmp $L$eloop ALIGN 16 -$L$edone:: +$L$edone:: xor eax,r10d xor ebx,r11d xor ecx,r8d @@ -296,33 +296,33 @@ $L$edone:: mov r10d,ecx mov r11d,edx -DB 0f3h,0c3h +DB 0f3h,0c3h -_x86_64_Camellia_encrypt ENDP +_x86_64_Camellia_encrypt ENDP -PUBLIC Camellia_DecryptBlock +PUBLIC Camellia_DecryptBlock ALIGN 16 -Camellia_DecryptBlock PROC PUBLIC - +Camellia_DecryptBlock PROC PUBLIC + mov eax,128 sub eax,ecx mov ecx,3 adc ecx,0 - jmp $L$dec_rounds + jmp $L$dec_rounds -Camellia_DecryptBlock ENDP +Camellia_DecryptBlock ENDP -PUBLIC Camellia_DecryptBlock_Rounds +PUBLIC Camellia_DecryptBlock_Rounds ALIGN 16 -$L$dec_rounds:: -Camellia_DecryptBlock_Rounds PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +$L$dec_rounds:: +Camellia_DecryptBlock_Rounds PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_Camellia_DecryptBlock_Rounds:: +$L$SEH_begin_Camellia_DecryptBlock_Rounds:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -340,21 +340,21 @@ $L$SEH_begin_Camellia_DecryptBlock_Rounds:: push r15 -$L$dec_prologue:: +$L$dec_prologue:: mov r13,rcx mov r15,rdx shl edi,6 - lea rbp,QWORD PTR[$L$Camellia_SBOX] - lea r14,QWORD PTR[rdi*1+r15] + lea rbp,QWORD PTR[$L$Camellia_SBOX] + lea r14,QWORD PTR[rdi*1+r15] - mov r8d,DWORD PTR[rsi] - mov r9d,DWORD PTR[4+rsi] - mov r10d,DWORD PTR[8+rsi] + mov r8d,DWORD PTR[rsi] + mov r9d,DWORD PTR[4+rsi] + mov r10d,DWORD PTR[8+rsi] bswap r8d - mov r11d,DWORD PTR[12+rsi] + mov r11d,DWORD PTR[12+rsi] bswap r9d bswap r10d bswap r11d @@ -364,67 +364,67 @@ $L$dec_prologue:: bswap r8d bswap r9d bswap r10d - mov DWORD PTR[r13],r8d + mov DWORD PTR[r13],r8d bswap r11d - mov DWORD PTR[4+r13],r9d - mov DWORD PTR[8+r13],r10d - mov DWORD PTR[12+r13],r11d + mov DWORD PTR[4+r13],r9d + mov DWORD PTR[8+r13],r10d + mov DWORD PTR[12+r13],r11d - mov r15,QWORD PTR[rsp] + mov r15,QWORD PTR[rsp] - mov r14,QWORD PTR[8+rsp] + mov r14,QWORD PTR[8+rsp] - mov r13,QWORD PTR[16+rsp] + mov r13,QWORD PTR[16+rsp] - mov rbp,QWORD PTR[24+rsp] + mov rbp,QWORD PTR[24+rsp] - mov rbx,QWORD PTR[32+rsp] + mov rbx,QWORD PTR[32+rsp] - lea rsp,QWORD PTR[40+rsp] + lea rsp,QWORD PTR[40+rsp] -$L$dec_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$dec_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_Camellia_DecryptBlock_Rounds:: -Camellia_DecryptBlock_Rounds ENDP +$L$SEH_end_Camellia_DecryptBlock_Rounds:: +Camellia_DecryptBlock_Rounds ENDP ALIGN 16 -_x86_64_Camellia_decrypt PROC PRIVATE - - xor r9d,DWORD PTR[r14] - xor r8d,DWORD PTR[4+r14] - xor r11d,DWORD PTR[8+r14] - xor r10d,DWORD PTR[12+r14] +_x86_64_Camellia_decrypt PROC PRIVATE + + xor r9d,DWORD PTR[r14] + xor r8d,DWORD PTR[4+r14] + xor r11d,DWORD PTR[8+r14] + xor r10d,DWORD PTR[12+r14] ALIGN 16 -$L$dloop:: - mov ebx,DWORD PTR[((-8))+r14] - mov eax,DWORD PTR[((-4))+r14] +$L$dloop:: + mov ebx,DWORD PTR[((-8))+r14] + mov eax,DWORD PTR[((-4))+r14] xor eax,r8d xor ebx,r9d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[((-16))+r14] - mov eax,DWORD PTR[((-12))+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[((-16))+r14] + mov eax,DWORD PTR[((-12))+r14] xor ecx,edx ror edx,8 xor r10d,ecx @@ -434,24 +434,24 @@ $L$dloop:: xor ebx,r11d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[((-24))+r14] - mov eax,DWORD PTR[((-20))+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[((-24))+r14] + mov eax,DWORD PTR[((-20))+r14] xor ecx,edx ror edx,8 xor r8d,ecx @@ -461,24 +461,24 @@ $L$dloop:: xor ebx,r9d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[((-32))+r14] - mov eax,DWORD PTR[((-28))+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[((-32))+r14] + mov eax,DWORD PTR[((-28))+r14] xor ecx,edx ror edx,8 xor r10d,ecx @@ -488,24 +488,24 @@ $L$dloop:: xor ebx,r11d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[((-40))+r14] - mov eax,DWORD PTR[((-36))+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[((-40))+r14] + mov eax,DWORD PTR[((-36))+r14] xor ecx,edx ror edx,8 xor r8d,ecx @@ -515,24 +515,24 @@ $L$dloop:: xor ebx,r9d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[((-48))+r14] - mov eax,DWORD PTR[((-44))+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[((-48))+r14] + mov eax,DWORD PTR[((-44))+r14] xor ecx,edx ror edx,8 xor r10d,ecx @@ -542,34 +542,34 @@ $L$dloop:: xor ebx,r11d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[((-56))+r14] - mov eax,DWORD PTR[((-52))+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[((-56))+r14] + mov eax,DWORD PTR[((-52))+r14] xor ecx,edx ror edx,8 xor r8d,ecx xor r9d,ecx xor r9d,edx - lea r14,QWORD PTR[((-64))+r14] + lea r14,QWORD PTR[((-64))+r14] cmp r14,r15 - mov edx,DWORD PTR[r14] - mov ecx,DWORD PTR[4+r14] - je $L$ddone + mov edx,DWORD PTR[r14] + mov ecx,DWORD PTR[4+r14] + je $L$ddone and eax,r8d or edx,r11d @@ -582,10 +582,10 @@ $L$dloop:: xor r8d,ebx xor r11d,ecx - jmp $L$dloop + jmp $L$dloop ALIGN 16 -$L$ddone:: +$L$ddone:: xor ecx,r10d xor edx,r11d xor eax,r8d @@ -596,17 +596,17 @@ $L$ddone:: mov r10d,eax mov r11d,ebx -DB 0f3h,0c3h +DB 0f3h,0c3h -_x86_64_Camellia_decrypt ENDP -PUBLIC Camellia_Ekeygen +_x86_64_Camellia_decrypt ENDP +PUBLIC Camellia_Ekeygen ALIGN 16 -Camellia_Ekeygen PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +Camellia_Ekeygen PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_Camellia_Ekeygen:: +$L$SEH_begin_Camellia_Ekeygen:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -623,81 +623,81 @@ $L$SEH_begin_Camellia_Ekeygen:: push r15 -$L$key_prologue:: +$L$key_prologue:: mov r15d,edi mov r13,rdx - mov r8d,DWORD PTR[rsi] - mov r9d,DWORD PTR[4+rsi] - mov r10d,DWORD PTR[8+rsi] - mov r11d,DWORD PTR[12+rsi] + mov r8d,DWORD PTR[rsi] + mov r9d,DWORD PTR[4+rsi] + mov r10d,DWORD PTR[8+rsi] + mov r11d,DWORD PTR[12+rsi] bswap r8d bswap r9d bswap r10d bswap r11d - mov DWORD PTR[r13],r9d - mov DWORD PTR[4+r13],r8d - mov DWORD PTR[8+r13],r11d - mov DWORD PTR[12+r13],r10d + mov DWORD PTR[r13],r9d + mov DWORD PTR[4+r13],r8d + mov DWORD PTR[8+r13],r11d + mov DWORD PTR[12+r13],r10d cmp r15,128 - je $L$1st128 + je $L$1st128 - mov r8d,DWORD PTR[16+rsi] - mov r9d,DWORD PTR[20+rsi] + mov r8d,DWORD PTR[16+rsi] + mov r9d,DWORD PTR[20+rsi] cmp r15,192 - je $L$1st192 - mov r10d,DWORD PTR[24+rsi] - mov r11d,DWORD PTR[28+rsi] - jmp $L$1st256 -$L$1st192:: + je $L$1st192 + mov r10d,DWORD PTR[24+rsi] + mov r11d,DWORD PTR[28+rsi] + jmp $L$1st256 +$L$1st192:: mov r10d,r8d mov r11d,r9d not r10d not r11d -$L$1st256:: +$L$1st256:: bswap r8d bswap r9d bswap r10d bswap r11d - mov DWORD PTR[32+r13],r9d - mov DWORD PTR[36+r13],r8d - mov DWORD PTR[40+r13],r11d - mov DWORD PTR[44+r13],r10d - xor r9d,DWORD PTR[r13] - xor r8d,DWORD PTR[4+r13] - xor r11d,DWORD PTR[8+r13] - xor r10d,DWORD PTR[12+r13] - -$L$1st128:: - lea r14,QWORD PTR[$L$Camellia_SIGMA] - lea rbp,QWORD PTR[$L$Camellia_SBOX] - - mov ebx,DWORD PTR[r14] - mov eax,DWORD PTR[4+r14] + mov DWORD PTR[32+r13],r9d + mov DWORD PTR[36+r13],r8d + mov DWORD PTR[40+r13],r11d + mov DWORD PTR[44+r13],r10d + xor r9d,DWORD PTR[r13] + xor r8d,DWORD PTR[4+r13] + xor r11d,DWORD PTR[8+r13] + xor r10d,DWORD PTR[12+r13] + +$L$1st128:: + lea r14,QWORD PTR[$L$Camellia_SIGMA] + lea rbp,QWORD PTR[$L$Camellia_SBOX] + + mov ebx,DWORD PTR[r14] + mov eax,DWORD PTR[4+r14] xor eax,r8d xor ebx,r9d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[8+r14] - mov eax,DWORD PTR[12+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[8+r14] + mov eax,DWORD PTR[12+r14] xor ecx,edx ror edx,8 xor r10d,ecx @@ -707,55 +707,55 @@ $L$1st128:: xor ebx,r11d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[16+r14] - mov eax,DWORD PTR[20+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[16+r14] + mov eax,DWORD PTR[20+r14] xor ecx,edx ror edx,8 xor r8d,ecx xor r9d,ecx xor r9d,edx - xor r9d,DWORD PTR[r13] - xor r8d,DWORD PTR[4+r13] - xor r11d,DWORD PTR[8+r13] - xor r10d,DWORD PTR[12+r13] + xor r9d,DWORD PTR[r13] + xor r8d,DWORD PTR[4+r13] + xor r11d,DWORD PTR[8+r13] + xor r10d,DWORD PTR[12+r13] xor eax,r8d xor ebx,r9d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[24+r14] - mov eax,DWORD PTR[28+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[24+r14] + mov eax,DWORD PTR[28+r14] xor ecx,edx ror edx,8 xor r10d,ecx @@ -765,41 +765,41 @@ $L$1st128:: xor ebx,r11d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[32+r14] - mov eax,DWORD PTR[36+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[32+r14] + mov eax,DWORD PTR[36+r14] xor ecx,edx ror edx,8 xor r8d,ecx xor r9d,ecx xor r9d,edx cmp r15,128 - jne $L$2nd256 + jne $L$2nd256 - lea r13,QWORD PTR[128+r13] + lea r13,QWORD PTR[128+r13] shl r8,32 shl r10,32 or r8,r9 or r10,r11 - mov rax,QWORD PTR[((-128))+r13] - mov rbx,QWORD PTR[((-120))+r13] - mov QWORD PTR[((-112))+r13],r8 - mov QWORD PTR[((-104))+r13],r10 + mov rax,QWORD PTR[((-128))+r13] + mov rbx,QWORD PTR[((-120))+r13] + mov QWORD PTR[((-112))+r13],r8 + mov QWORD PTR[((-104))+r13],r10 mov r11,rax shl rax,15 mov r9,rbx @@ -808,8 +808,8 @@ $L$1st128:: or rax,r9 shl rbx,15 or rbx,r11 - mov QWORD PTR[((-96))+r13],rax - mov QWORD PTR[((-88))+r13],rbx + mov QWORD PTR[((-96))+r13],rax + mov QWORD PTR[((-88))+r13],rbx mov r11,r8 shl r8,15 mov r9,r10 @@ -818,8 +818,8 @@ $L$1st128:: or r8,r9 shl r10,15 or r10,r11 - mov QWORD PTR[((-80))+r13],r8 - mov QWORD PTR[((-72))+r13],r10 + mov QWORD PTR[((-80))+r13],r8 + mov QWORD PTR[((-72))+r13],r10 mov r11,r8 shl r8,15 mov r9,r10 @@ -828,8 +828,8 @@ $L$1st128:: or r8,r9 shl r10,15 or r10,r11 - mov QWORD PTR[((-64))+r13],r8 - mov QWORD PTR[((-56))+r13],r10 + mov QWORD PTR[((-64))+r13],r8 + mov QWORD PTR[((-56))+r13],r10 mov r11,rax shl rax,30 mov r9,rbx @@ -838,8 +838,8 @@ $L$1st128:: or rax,r9 shl rbx,30 or rbx,r11 - mov QWORD PTR[((-48))+r13],rax - mov QWORD PTR[((-40))+r13],rbx + mov QWORD PTR[((-48))+r13],rax + mov QWORD PTR[((-40))+r13],rbx mov r11,r8 shl r8,15 mov r9,r10 @@ -848,7 +848,7 @@ $L$1st128:: or r8,r9 shl r10,15 or r10,r11 - mov QWORD PTR[((-32))+r13],r8 + mov QWORD PTR[((-32))+r13],r8 mov r11,rax shl rax,15 mov r9,rbx @@ -857,7 +857,7 @@ $L$1st128:: or rax,r9 shl rbx,15 or rbx,r11 - mov QWORD PTR[((-24))+r13],rbx + mov QWORD PTR[((-24))+r13],rbx mov r11,r8 shl r8,15 mov r9,r10 @@ -866,8 +866,8 @@ $L$1st128:: or r8,r9 shl r10,15 or r10,r11 - mov QWORD PTR[((-16))+r13],r8 - mov QWORD PTR[((-8))+r13],r10 + mov QWORD PTR[((-16))+r13],r8 + mov QWORD PTR[((-8))+r13],r10 mov r11,rax shl rax,17 mov r9,rbx @@ -876,8 +876,8 @@ $L$1st128:: or rax,r9 shl rbx,17 or rbx,r11 - mov QWORD PTR[r13],rax - mov QWORD PTR[8+r13],rbx + mov QWORD PTR[r13],rax + mov QWORD PTR[8+r13],rbx mov r11,rax shl rax,17 mov r9,rbx @@ -886,8 +886,8 @@ $L$1st128:: or rax,r9 shl rbx,17 or rbx,r11 - mov QWORD PTR[16+r13],rax - mov QWORD PTR[24+r13],rbx + mov QWORD PTR[16+r13],rax + mov QWORD PTR[24+r13],rbx mov r11,r8 shl r8,34 mov r9,r10 @@ -896,8 +896,8 @@ $L$1st128:: or r8,r9 shl r10,34 or r10,r11 - mov QWORD PTR[32+r13],r8 - mov QWORD PTR[40+r13],r10 + mov QWORD PTR[32+r13],r8 + mov QWORD PTR[40+r13],r10 mov r11,rax shl rax,17 mov r9,rbx @@ -906,8 +906,8 @@ $L$1st128:: or rax,r9 shl rbx,17 or rbx,r11 - mov QWORD PTR[48+r13],rax - mov QWORD PTR[56+r13],rbx + mov QWORD PTR[48+r13],rax + mov QWORD PTR[56+r13],rbx mov r11,r8 shl r8,17 mov r9,r10 @@ -916,42 +916,42 @@ $L$1st128:: or r8,r9 shl r10,17 or r10,r11 - mov QWORD PTR[64+r13],r8 - mov QWORD PTR[72+r13],r10 + mov QWORD PTR[64+r13],r8 + mov QWORD PTR[72+r13],r10 mov eax,3 - jmp $L$done + jmp $L$done ALIGN 16 -$L$2nd256:: - mov DWORD PTR[48+r13],r9d - mov DWORD PTR[52+r13],r8d - mov DWORD PTR[56+r13],r11d - mov DWORD PTR[60+r13],r10d - xor r9d,DWORD PTR[32+r13] - xor r8d,DWORD PTR[36+r13] - xor r11d,DWORD PTR[40+r13] - xor r10d,DWORD PTR[44+r13] +$L$2nd256:: + mov DWORD PTR[48+r13],r9d + mov DWORD PTR[52+r13],r8d + mov DWORD PTR[56+r13],r11d + mov DWORD PTR[60+r13],r10d + xor r9d,DWORD PTR[32+r13] + xor r8d,DWORD PTR[36+r13] + xor r11d,DWORD PTR[40+r13] + xor r10d,DWORD PTR[44+r13] xor eax,r8d xor ebx,r9d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[40+r14] - mov eax,DWORD PTR[44+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[40+r14] + mov eax,DWORD PTR[44+r14] xor ecx,edx ror edx,8 xor r10d,ecx @@ -961,42 +961,42 @@ $L$2nd256:: xor ebx,r11d movzx esi,ah movzx edi,bl - mov edx,DWORD PTR[2052+rsi*8+rbp] - mov ecx,DWORD PTR[rdi*8+rbp] + mov edx,DWORD PTR[2052+rsi*8+rbp] + mov ecx,DWORD PTR[rdi*8+rbp] movzx esi,al shr eax,16 movzx edi,bh - xor edx,DWORD PTR[4+rsi*8+rbp] + xor edx,DWORD PTR[4+rsi*8+rbp] shr ebx,16 - xor ecx,DWORD PTR[4+rdi*8+rbp] + xor ecx,DWORD PTR[4+rdi*8+rbp] movzx esi,ah movzx edi,bl - xor edx,DWORD PTR[rsi*8+rbp] - xor ecx,DWORD PTR[2052+rdi*8+rbp] + xor edx,DWORD PTR[rsi*8+rbp] + xor ecx,DWORD PTR[2052+rdi*8+rbp] movzx esi,al movzx edi,bh - xor edx,DWORD PTR[2048+rsi*8+rbp] - xor ecx,DWORD PTR[2048+rdi*8+rbp] - mov ebx,DWORD PTR[48+r14] - mov eax,DWORD PTR[52+r14] + xor edx,DWORD PTR[2048+rsi*8+rbp] + xor ecx,DWORD PTR[2048+rdi*8+rbp] + mov ebx,DWORD PTR[48+r14] + mov eax,DWORD PTR[52+r14] xor ecx,edx ror edx,8 xor r8d,ecx xor r9d,ecx xor r9d,edx - mov rax,QWORD PTR[r13] - mov rbx,QWORD PTR[8+r13] - mov rcx,QWORD PTR[32+r13] - mov rdx,QWORD PTR[40+r13] - mov r14,QWORD PTR[48+r13] - mov r15,QWORD PTR[56+r13] - lea r13,QWORD PTR[128+r13] + mov rax,QWORD PTR[r13] + mov rbx,QWORD PTR[8+r13] + mov rcx,QWORD PTR[32+r13] + mov rdx,QWORD PTR[40+r13] + mov r14,QWORD PTR[48+r13] + mov r15,QWORD PTR[56+r13] + lea r13,QWORD PTR[128+r13] shl r8,32 shl r10,32 or r8,r9 or r10,r11 - mov QWORD PTR[((-112))+r13],r8 - mov QWORD PTR[((-104))+r13],r10 + mov QWORD PTR[((-112))+r13],r8 + mov QWORD PTR[((-104))+r13],r10 mov r11,rcx shl rcx,15 mov r9,rdx @@ -1005,8 +1005,8 @@ $L$2nd256:: or rcx,r9 shl rdx,15 or rdx,r11 - mov QWORD PTR[((-96))+r13],rcx - mov QWORD PTR[((-88))+r13],rdx + mov QWORD PTR[((-96))+r13],rcx + mov QWORD PTR[((-88))+r13],rdx mov r11,r14 shl r14,15 mov r9,r15 @@ -1015,8 +1015,8 @@ $L$2nd256:: or r14,r9 shl r15,15 or r15,r11 - mov QWORD PTR[((-80))+r13],r14 - mov QWORD PTR[((-72))+r13],r15 + mov QWORD PTR[((-80))+r13],r14 + mov QWORD PTR[((-72))+r13],r15 mov r11,rcx shl rcx,15 mov r9,rdx @@ -1025,8 +1025,8 @@ $L$2nd256:: or rcx,r9 shl rdx,15 or rdx,r11 - mov QWORD PTR[((-64))+r13],rcx - mov QWORD PTR[((-56))+r13],rdx + mov QWORD PTR[((-64))+r13],rcx + mov QWORD PTR[((-56))+r13],rdx mov r11,r8 shl r8,30 mov r9,r10 @@ -1035,8 +1035,8 @@ $L$2nd256:: or r8,r9 shl r10,30 or r10,r11 - mov QWORD PTR[((-48))+r13],r8 - mov QWORD PTR[((-40))+r13],r10 + mov QWORD PTR[((-48))+r13],r8 + mov QWORD PTR[((-40))+r13],r10 mov r11,rax shl rax,45 mov r9,rbx @@ -1045,8 +1045,8 @@ $L$2nd256:: or rax,r9 shl rbx,45 or rbx,r11 - mov QWORD PTR[((-32))+r13],rax - mov QWORD PTR[((-24))+r13],rbx + mov QWORD PTR[((-32))+r13],rax + mov QWORD PTR[((-24))+r13],rbx mov r11,r14 shl r14,30 mov r9,r15 @@ -1055,8 +1055,8 @@ $L$2nd256:: or r14,r9 shl r15,30 or r15,r11 - mov QWORD PTR[((-16))+r13],r14 - mov QWORD PTR[((-8))+r13],r15 + mov QWORD PTR[((-16))+r13],r14 + mov QWORD PTR[((-8))+r13],r15 mov r11,rax shl rax,15 mov r9,rbx @@ -1065,8 +1065,8 @@ $L$2nd256:: or rax,r9 shl rbx,15 or rbx,r11 - mov QWORD PTR[r13],rax - mov QWORD PTR[8+r13],rbx + mov QWORD PTR[r13],rax + mov QWORD PTR[8+r13],rbx mov r11,rcx shl rcx,30 mov r9,rdx @@ -1075,8 +1075,8 @@ $L$2nd256:: or rcx,r9 shl rdx,30 or rdx,r11 - mov QWORD PTR[16+r13],rcx - mov QWORD PTR[24+r13],rdx + mov QWORD PTR[16+r13],rcx + mov QWORD PTR[24+r13],rdx mov r11,r8 shl r8,30 mov r9,r10 @@ -1085,8 +1085,8 @@ $L$2nd256:: or r8,r9 shl r10,30 or r10,r11 - mov QWORD PTR[32+r13],r8 - mov QWORD PTR[40+r13],r10 + mov QWORD PTR[32+r13],r8 + mov QWORD PTR[40+r13],r10 mov r11,rax shl rax,17 mov r9,rbx @@ -1095,8 +1095,8 @@ $L$2nd256:: or rax,r9 shl rbx,17 or rbx,r11 - mov QWORD PTR[48+r13],rax - mov QWORD PTR[56+r13],rbx + mov QWORD PTR[48+r13],rax + mov QWORD PTR[56+r13],rbx mov r11,r14 shl r14,32 mov r9,r15 @@ -1105,8 +1105,8 @@ $L$2nd256:: or r14,r9 shl r15,32 or r15,r11 - mov QWORD PTR[64+r13],r14 - mov QWORD PTR[72+r13],r15 + mov QWORD PTR[64+r13],r14 + mov QWORD PTR[72+r13],r15 mov r11,rcx shl rcx,34 mov r9,rdx @@ -1115,8 +1115,8 @@ $L$2nd256:: or rcx,r9 shl rdx,34 or rdx,r11 - mov QWORD PTR[80+r13],rcx - mov QWORD PTR[88+r13],rdx + mov QWORD PTR[80+r13],rcx + mov QWORD PTR[88+r13],rdx mov r11,r14 shl r14,17 mov r9,r15 @@ -1125,8 +1125,8 @@ $L$2nd256:: or r14,r9 shl r15,17 or r15,r11 - mov QWORD PTR[96+r13],r14 - mov QWORD PTR[104+r13],r15 + mov QWORD PTR[96+r13],r14 + mov QWORD PTR[104+r13],r15 mov r11,rax shl rax,34 mov r9,rbx @@ -1135,8 +1135,8 @@ $L$2nd256:: or rax,r9 shl rbx,34 or rbx,r11 - mov QWORD PTR[112+r13],rax - mov QWORD PTR[120+r13],rbx + mov QWORD PTR[112+r13],rax + mov QWORD PTR[120+r13],rbx mov r11,r8 shl r8,51 mov r9,r10 @@ -1145,567 +1145,567 @@ $L$2nd256:: or r8,r9 shl r10,51 or r10,r11 - mov QWORD PTR[128+r13],r8 - mov QWORD PTR[136+r13],r10 + mov QWORD PTR[128+r13],r8 + mov QWORD PTR[136+r13],r10 mov eax,4 -$L$done:: - mov r15,QWORD PTR[rsp] +$L$done:: + mov r15,QWORD PTR[rsp] - mov r14,QWORD PTR[8+rsp] + mov r14,QWORD PTR[8+rsp] - mov r13,QWORD PTR[16+rsp] + mov r13,QWORD PTR[16+rsp] - mov rbp,QWORD PTR[24+rsp] + mov rbp,QWORD PTR[24+rsp] - mov rbx,QWORD PTR[32+rsp] + mov rbx,QWORD PTR[32+rsp] - lea rsp,QWORD PTR[40+rsp] + lea rsp,QWORD PTR[40+rsp] -$L$key_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$key_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_Camellia_Ekeygen:: -Camellia_Ekeygen ENDP +$L$SEH_end_Camellia_Ekeygen:: +Camellia_Ekeygen ENDP ALIGN 64 -$L$Camellia_SIGMA:: - DD 03bcc908bh,0a09e667fh,04caa73b2h,0b67ae858h - DD 0e94f82beh,0c6ef372fh,0f1d36f1ch,054ff53a5h - DD 0de682d1dh,010e527fah,0b3e6c1fdh,0b05688c2h +$L$Camellia_SIGMA:: + DD 03bcc908bh,0a09e667fh,04caa73b2h,0b67ae858h + DD 0e94f82beh,0c6ef372fh,0f1d36f1ch,054ff53a5h + DD 0de682d1dh,010e527fah,0b3e6c1fdh,0b05688c2h DD 0,0,0,0 -$L$Camellia_SBOX:: - DD 070707000h,070700070h - DD 082828200h,02c2c002ch - DD 02c2c2c00h,0b3b300b3h - DD 0ececec00h,0c0c000c0h - DD 0b3b3b300h,0e4e400e4h - DD 027272700h,057570057h - DD 0c0c0c000h,0eaea00eah - DD 0e5e5e500h,0aeae00aeh - DD 0e4e4e400h,023230023h - DD 085858500h,06b6b006bh - DD 057575700h,045450045h - DD 035353500h,0a5a500a5h - DD 0eaeaea00h,0eded00edh - DD 00c0c0c00h,04f4f004fh - DD 0aeaeae00h,01d1d001dh - DD 041414100h,092920092h - DD 023232300h,086860086h - DD 0efefef00h,0afaf00afh - DD 06b6b6b00h,07c7c007ch - DD 093939300h,01f1f001fh - DD 045454500h,03e3e003eh - DD 019191900h,0dcdc00dch - DD 0a5a5a500h,05e5e005eh - DD 021212100h,00b0b000bh - DD 0ededed00h,0a6a600a6h - DD 00e0e0e00h,039390039h - DD 04f4f4f00h,0d5d500d5h - DD 04e4e4e00h,05d5d005dh - DD 01d1d1d00h,0d9d900d9h - DD 065656500h,05a5a005ah - DD 092929200h,051510051h - DD 0bdbdbd00h,06c6c006ch - DD 086868600h,08b8b008bh - DD 0b8b8b800h,09a9a009ah - DD 0afafaf00h,0fbfb00fbh - DD 08f8f8f00h,0b0b000b0h - DD 07c7c7c00h,074740074h - DD 0ebebeb00h,02b2b002bh - DD 01f1f1f00h,0f0f000f0h - DD 0cecece00h,084840084h - DD 03e3e3e00h,0dfdf00dfh - DD 030303000h,0cbcb00cbh - DD 0dcdcdc00h,034340034h - DD 05f5f5f00h,076760076h - DD 05e5e5e00h,06d6d006dh - DD 0c5c5c500h,0a9a900a9h - DD 00b0b0b00h,0d1d100d1h - DD 01a1a1a00h,004040004h - DD 0a6a6a600h,014140014h - DD 0e1e1e100h,03a3a003ah - DD 039393900h,0dede00deh - DD 0cacaca00h,011110011h - DD 0d5d5d500h,032320032h - DD 047474700h,09c9c009ch - DD 05d5d5d00h,053530053h - DD 03d3d3d00h,0f2f200f2h - DD 0d9d9d900h,0fefe00feh - DD 001010100h,0cfcf00cfh - DD 05a5a5a00h,0c3c300c3h - DD 0d6d6d600h,07a7a007ah - DD 051515100h,024240024h - DD 056565600h,0e8e800e8h - DD 06c6c6c00h,060600060h - DD 04d4d4d00h,069690069h - DD 08b8b8b00h,0aaaa00aah - DD 00d0d0d00h,0a0a000a0h - DD 09a9a9a00h,0a1a100a1h - DD 066666600h,062620062h - DD 0fbfbfb00h,054540054h - DD 0cccccc00h,01e1e001eh - DD 0b0b0b000h,0e0e000e0h - DD 02d2d2d00h,064640064h - DD 074747400h,010100010h - DD 012121200h,000000000h - DD 02b2b2b00h,0a3a300a3h - DD 020202000h,075750075h - DD 0f0f0f000h,08a8a008ah - DD 0b1b1b100h,0e6e600e6h - DD 084848400h,009090009h - DD 099999900h,0dddd00ddh - DD 0dfdfdf00h,087870087h - DD 04c4c4c00h,083830083h - DD 0cbcbcb00h,0cdcd00cdh - DD 0c2c2c200h,090900090h - DD 034343400h,073730073h - DD 07e7e7e00h,0f6f600f6h - DD 076767600h,09d9d009dh - DD 005050500h,0bfbf00bfh - DD 06d6d6d00h,052520052h - DD 0b7b7b700h,0d8d800d8h - DD 0a9a9a900h,0c8c800c8h - DD 031313100h,0c6c600c6h - DD 0d1d1d100h,081810081h - DD 017171700h,06f6f006fh - DD 004040400h,013130013h - DD 0d7d7d700h,063630063h - DD 014141400h,0e9e900e9h - DD 058585800h,0a7a700a7h - DD 03a3a3a00h,09f9f009fh - DD 061616100h,0bcbc00bch - DD 0dedede00h,029290029h - DD 01b1b1b00h,0f9f900f9h - DD 011111100h,02f2f002fh - DD 01c1c1c00h,0b4b400b4h - DD 032323200h,078780078h - DD 00f0f0f00h,006060006h - DD 09c9c9c00h,0e7e700e7h - DD 016161600h,071710071h - DD 053535300h,0d4d400d4h - DD 018181800h,0abab00abh - DD 0f2f2f200h,088880088h - DD 022222200h,08d8d008dh - DD 0fefefe00h,072720072h - DD 044444400h,0b9b900b9h - DD 0cfcfcf00h,0f8f800f8h - DD 0b2b2b200h,0acac00ach - DD 0c3c3c300h,036360036h - DD 0b5b5b500h,02a2a002ah - DD 07a7a7a00h,03c3c003ch - DD 091919100h,0f1f100f1h - DD 024242400h,040400040h - DD 008080800h,0d3d300d3h - DD 0e8e8e800h,0bbbb00bbh - DD 0a8a8a800h,043430043h - DD 060606000h,015150015h - DD 0fcfcfc00h,0adad00adh - DD 069696900h,077770077h - DD 050505000h,080800080h - DD 0aaaaaa00h,082820082h - DD 0d0d0d000h,0ecec00ech - DD 0a0a0a000h,027270027h - DD 07d7d7d00h,0e5e500e5h - DD 0a1a1a100h,085850085h - DD 089898900h,035350035h - DD 062626200h,00c0c000ch - DD 097979700h,041410041h - DD 054545400h,0efef00efh - DD 05b5b5b00h,093930093h - DD 01e1e1e00h,019190019h - DD 095959500h,021210021h - DD 0e0e0e000h,00e0e000eh - DD 0ffffff00h,04e4e004eh - DD 064646400h,065650065h - DD 0d2d2d200h,0bdbd00bdh - DD 010101000h,0b8b800b8h - DD 0c4c4c400h,08f8f008fh - DD 000000000h,0ebeb00ebh - DD 048484800h,0cece00ceh - DD 0a3a3a300h,030300030h - DD 0f7f7f700h,05f5f005fh - DD 075757500h,0c5c500c5h - DD 0dbdbdb00h,01a1a001ah - DD 08a8a8a00h,0e1e100e1h - DD 003030300h,0caca00cah - DD 0e6e6e600h,047470047h - DD 0dadada00h,03d3d003dh - DD 009090900h,001010001h - DD 03f3f3f00h,0d6d600d6h - DD 0dddddd00h,056560056h - DD 094949400h,04d4d004dh - DD 087878700h,00d0d000dh - DD 05c5c5c00h,066660066h - DD 083838300h,0cccc00cch - DD 002020200h,02d2d002dh - DD 0cdcdcd00h,012120012h - DD 04a4a4a00h,020200020h - DD 090909000h,0b1b100b1h - DD 033333300h,099990099h - DD 073737300h,04c4c004ch - DD 067676700h,0c2c200c2h - DD 0f6f6f600h,07e7e007eh - DD 0f3f3f300h,005050005h - DD 09d9d9d00h,0b7b700b7h - DD 07f7f7f00h,031310031h - DD 0bfbfbf00h,017170017h - DD 0e2e2e200h,0d7d700d7h - DD 052525200h,058580058h - DD 09b9b9b00h,061610061h - DD 0d8d8d800h,01b1b001bh - DD 026262600h,01c1c001ch - DD 0c8c8c800h,00f0f000fh - DD 037373700h,016160016h - DD 0c6c6c600h,018180018h - DD 03b3b3b00h,022220022h - DD 081818100h,044440044h - DD 096969600h,0b2b200b2h - DD 06f6f6f00h,0b5b500b5h - DD 04b4b4b00h,091910091h - DD 013131300h,008080008h - DD 0bebebe00h,0a8a800a8h - DD 063636300h,0fcfc00fch - DD 02e2e2e00h,050500050h - DD 0e9e9e900h,0d0d000d0h - DD 079797900h,07d7d007dh - DD 0a7a7a700h,089890089h - DD 08c8c8c00h,097970097h - DD 09f9f9f00h,05b5b005bh - DD 06e6e6e00h,095950095h - DD 0bcbcbc00h,0ffff00ffh - DD 08e8e8e00h,0d2d200d2h - DD 029292900h,0c4c400c4h - DD 0f5f5f500h,048480048h - DD 0f9f9f900h,0f7f700f7h - DD 0b6b6b600h,0dbdb00dbh - DD 02f2f2f00h,003030003h - DD 0fdfdfd00h,0dada00dah - DD 0b4b4b400h,03f3f003fh - DD 059595900h,094940094h - DD 078787800h,05c5c005ch - DD 098989800h,002020002h - DD 006060600h,04a4a004ah - DD 06a6a6a00h,033330033h - DD 0e7e7e700h,067670067h - DD 046464600h,0f3f300f3h - DD 071717100h,07f7f007fh - DD 0bababa00h,0e2e200e2h - DD 0d4d4d400h,09b9b009bh - DD 025252500h,026260026h - DD 0ababab00h,037370037h - DD 042424200h,03b3b003bh - DD 088888800h,096960096h - DD 0a2a2a200h,04b4b004bh - DD 08d8d8d00h,0bebe00beh - DD 0fafafa00h,02e2e002eh - DD 072727200h,079790079h - DD 007070700h,08c8c008ch - DD 0b9b9b900h,06e6e006eh - DD 055555500h,08e8e008eh - DD 0f8f8f800h,0f5f500f5h - DD 0eeeeee00h,0b6b600b6h - DD 0acacac00h,0fdfd00fdh - DD 00a0a0a00h,059590059h - DD 036363600h,098980098h - DD 049494900h,06a6a006ah - DD 02a2a2a00h,046460046h - DD 068686800h,0baba00bah - DD 03c3c3c00h,025250025h - DD 038383800h,042420042h - DD 0f1f1f100h,0a2a200a2h - DD 0a4a4a400h,0fafa00fah - DD 040404000h,007070007h - DD 028282800h,055550055h - DD 0d3d3d300h,0eeee00eeh - DD 07b7b7b00h,00a0a000ah - DD 0bbbbbb00h,049490049h - DD 0c9c9c900h,068680068h - DD 043434300h,038380038h - DD 0c1c1c100h,0a4a400a4h - DD 015151500h,028280028h - DD 0e3e3e300h,07b7b007bh - DD 0adadad00h,0c9c900c9h - DD 0f4f4f400h,0c1c100c1h - DD 077777700h,0e3e300e3h - DD 0c7c7c700h,0f4f400f4h - DD 080808000h,0c7c700c7h - DD 09e9e9e00h,09e9e009eh - DD 000e0e0e0h,038003838h - DD 000050505h,041004141h - DD 000585858h,016001616h - DD 000d9d9d9h,076007676h - DD 000676767h,0d900d9d9h - DD 0004e4e4eh,093009393h - DD 000818181h,060006060h - DD 000cbcbcbh,0f200f2f2h - DD 000c9c9c9h,072007272h - DD 0000b0b0bh,0c200c2c2h - DD 000aeaeaeh,0ab00ababh - DD 0006a6a6ah,09a009a9ah - DD 000d5d5d5h,075007575h - DD 000181818h,006000606h - DD 0005d5d5dh,057005757h - DD 000828282h,0a000a0a0h - DD 000464646h,091009191h - DD 000dfdfdfh,0f700f7f7h - DD 000d6d6d6h,0b500b5b5h - DD 000272727h,0c900c9c9h - DD 0008a8a8ah,0a200a2a2h - DD 000323232h,08c008c8ch - DD 0004b4b4bh,0d200d2d2h - DD 000424242h,090009090h - DD 000dbdbdbh,0f600f6f6h - DD 0001c1c1ch,007000707h - DD 0009e9e9eh,0a700a7a7h - DD 0009c9c9ch,027002727h - DD 0003a3a3ah,08e008e8eh - DD 000cacacah,0b200b2b2h - DD 000252525h,049004949h - DD 0007b7b7bh,0de00dedeh - DD 0000d0d0dh,043004343h - DD 000717171h,05c005c5ch - DD 0005f5f5fh,0d700d7d7h - DD 0001f1f1fh,0c700c7c7h - DD 000f8f8f8h,03e003e3eh - DD 000d7d7d7h,0f500f5f5h - DD 0003e3e3eh,08f008f8fh - DD 0009d9d9dh,067006767h - DD 0007c7c7ch,01f001f1fh - DD 000606060h,018001818h - DD 000b9b9b9h,06e006e6eh - DD 000bebebeh,0af00afafh - DD 000bcbcbch,02f002f2fh - DD 0008b8b8bh,0e200e2e2h - DD 000161616h,085008585h - DD 000343434h,00d000d0dh - DD 0004d4d4dh,053005353h - DD 000c3c3c3h,0f000f0f0h - DD 000727272h,09c009c9ch - DD 000959595h,065006565h - DD 000abababh,0ea00eaeah - DD 0008e8e8eh,0a300a3a3h - DD 000bababah,0ae00aeaeh - DD 0007a7a7ah,09e009e9eh - DD 000b3b3b3h,0ec00ecech - DD 000020202h,080008080h - DD 000b4b4b4h,02d002d2dh - DD 000adadadh,06b006b6bh - DD 000a2a2a2h,0a800a8a8h - DD 000acacach,02b002b2bh - DD 000d8d8d8h,036003636h - DD 0009a9a9ah,0a600a6a6h - DD 000171717h,0c500c5c5h - DD 0001a1a1ah,086008686h - DD 000353535h,04d004d4dh - DD 000cccccch,033003333h - DD 000f7f7f7h,0fd00fdfdh - DD 000999999h,066006666h - DD 000616161h,058005858h - DD 0005a5a5ah,096009696h - DD 000e8e8e8h,03a003a3ah - DD 000242424h,009000909h - DD 000565656h,095009595h - DD 000404040h,010001010h - DD 000e1e1e1h,078007878h - DD 000636363h,0d800d8d8h - DD 000090909h,042004242h - DD 000333333h,0cc00cccch - DD 000bfbfbfh,0ef00efefh - DD 000989898h,026002626h - DD 000979797h,0e500e5e5h - DD 000858585h,061006161h - DD 000686868h,01a001a1ah - DD 000fcfcfch,03f003f3fh - DD 000ececech,03b003b3bh - DD 0000a0a0ah,082008282h - DD 000dadadah,0b600b6b6h - DD 0006f6f6fh,0db00dbdbh - DD 000535353h,0d400d4d4h - DD 000626262h,098009898h - DD 000a3a3a3h,0e800e8e8h - DD 0002e2e2eh,08b008b8bh - DD 000080808h,002000202h - DD 000afafafh,0eb00ebebh - DD 000282828h,00a000a0ah - DD 000b0b0b0h,02c002c2ch - DD 000747474h,01d001d1dh - DD 000c2c2c2h,0b000b0b0h - DD 000bdbdbdh,06f006f6fh - DD 000363636h,08d008d8dh - DD 000222222h,088008888h - DD 000383838h,00e000e0eh - DD 000646464h,019001919h - DD 0001e1e1eh,087008787h - DD 000393939h,04e004e4eh - DD 0002c2c2ch,00b000b0bh - DD 000a6a6a6h,0a900a9a9h - DD 000303030h,00c000c0ch - DD 000e5e5e5h,079007979h - DD 000444444h,011001111h - DD 000fdfdfdh,07f007f7fh - DD 000888888h,022002222h - DD 0009f9f9fh,0e700e7e7h - DD 000656565h,059005959h - DD 000878787h,0e100e1e1h - DD 0006b6b6bh,0da00dadah - DD 000f4f4f4h,03d003d3dh - DD 000232323h,0c800c8c8h - DD 000484848h,012001212h - DD 000101010h,004000404h - DD 000d1d1d1h,074007474h - DD 000515151h,054005454h - DD 000c0c0c0h,030003030h - DD 000f9f9f9h,07e007e7eh - DD 000d2d2d2h,0b400b4b4h - DD 000a0a0a0h,028002828h - DD 000555555h,055005555h - DD 000a1a1a1h,068006868h - DD 000414141h,050005050h - DD 000fafafah,0be00bebeh - DD 000434343h,0d000d0d0h - DD 000131313h,0c400c4c4h - DD 000c4c4c4h,031003131h - DD 0002f2f2fh,0cb00cbcbh - DD 000a8a8a8h,02a002a2ah - DD 000b6b6b6h,0ad00adadh - DD 0003c3c3ch,00f000f0fh - DD 0002b2b2bh,0ca00cacah - DD 000c1c1c1h,070007070h - DD 000ffffffh,0ff00ffffh - DD 000c8c8c8h,032003232h - DD 000a5a5a5h,069006969h - DD 000202020h,008000808h - DD 000898989h,062006262h - DD 000000000h,000000000h - DD 000909090h,024002424h - DD 000474747h,0d100d1d1h - DD 000efefefh,0fb00fbfbh - DD 000eaeaeah,0ba00babah - DD 000b7b7b7h,0ed00ededh - DD 000151515h,045004545h - DD 000060606h,081008181h - DD 000cdcdcdh,073007373h - DD 000b5b5b5h,06d006d6dh - DD 000121212h,084008484h - DD 0007e7e7eh,09f009f9fh - DD 000bbbbbbh,0ee00eeeeh - DD 000292929h,04a004a4ah - DD 0000f0f0fh,0c300c3c3h - DD 000b8b8b8h,02e002e2eh - DD 000070707h,0c100c1c1h - DD 000040404h,001000101h - DD 0009b9b9bh,0e600e6e6h - DD 000949494h,025002525h - DD 000212121h,048004848h - DD 000666666h,099009999h - DD 000e6e6e6h,0b900b9b9h - DD 000cececeh,0b300b3b3h - DD 000edededh,07b007b7bh - DD 000e7e7e7h,0f900f9f9h - DD 0003b3b3bh,0ce00ceceh - DD 000fefefeh,0bf00bfbfh - DD 0007f7f7fh,0df00dfdfh - DD 000c5c5c5h,071007171h - DD 000a4a4a4h,029002929h - DD 000373737h,0cd00cdcdh - DD 000b1b1b1h,06c006c6ch - DD 0004c4c4ch,013001313h - DD 000919191h,064006464h - DD 0006e6e6eh,09b009b9bh - DD 0008d8d8dh,063006363h - DD 000767676h,09d009d9dh - DD 000030303h,0c000c0c0h - DD 0002d2d2dh,04b004b4bh - DD 000dededeh,0b700b7b7h - DD 000969696h,0a500a5a5h - DD 000262626h,089008989h - DD 0007d7d7dh,05f005f5fh - DD 000c6c6c6h,0b100b1b1h - DD 0005c5c5ch,017001717h - DD 000d3d3d3h,0f400f4f4h - DD 000f2f2f2h,0bc00bcbch - DD 0004f4f4fh,0d300d3d3h - DD 000191919h,046004646h - DD 0003f3f3fh,0cf00cfcfh - DD 000dcdcdch,037003737h - DD 000797979h,05e005e5eh - DD 0001d1d1dh,047004747h - DD 000525252h,094009494h - DD 000ebebebh,0fa00fafah - DD 000f3f3f3h,0fc00fcfch - DD 0006d6d6dh,05b005b5bh - DD 0005e5e5eh,097009797h - DD 000fbfbfbh,0fe00fefeh - DD 000696969h,05a005a5ah - DD 000b2b2b2h,0ac00acach - DD 000f0f0f0h,03c003c3ch - DD 000313131h,04c004c4ch - DD 0000c0c0ch,003000303h - DD 000d4d4d4h,035003535h - DD 000cfcfcfh,0f300f3f3h - DD 0008c8c8ch,023002323h - DD 000e2e2e2h,0b800b8b8h - DD 000757575h,05d005d5dh - DD 000a9a9a9h,06a006a6ah - DD 0004a4a4ah,092009292h - DD 000575757h,0d500d5d5h - DD 000848484h,021002121h - DD 000111111h,044004444h - DD 000454545h,051005151h - DD 0001b1b1bh,0c600c6c6h - DD 000f5f5f5h,07d007d7dh - DD 000e4e4e4h,039003939h - DD 0000e0e0eh,083008383h - DD 000737373h,0dc00dcdch - DD 000aaaaaah,0aa00aaaah - DD 000f1f1f1h,07c007c7ch - DD 000ddddddh,077007777h - DD 000595959h,056005656h - DD 000141414h,005000505h - DD 0006c6c6ch,01b001b1bh - DD 000929292h,0a400a4a4h - DD 000545454h,015001515h - DD 000d0d0d0h,034003434h - DD 000787878h,01e001e1eh - DD 000707070h,01c001c1ch - DD 000e3e3e3h,0f800f8f8h - DD 000494949h,052005252h - DD 000808080h,020002020h - DD 000505050h,014001414h - DD 000a7a7a7h,0e900e9e9h - DD 000f6f6f6h,0bd00bdbdh - DD 000777777h,0dd00ddddh - DD 000939393h,0e400e4e4h - DD 000868686h,0a100a1a1h - DD 000838383h,0e000e0e0h - DD 0002a2a2ah,08a008a8ah - DD 000c7c7c7h,0f100f1f1h - DD 0005b5b5bh,0d600d6d6h - DD 000e9e9e9h,07a007a7ah - DD 000eeeeeeh,0bb00bbbbh - DD 0008f8f8fh,0e300e3e3h - DD 000010101h,040004040h - DD 0003d3d3dh,04f004f4fh -PUBLIC Camellia_cbc_encrypt +$L$Camellia_SBOX:: + DD 070707000h,070700070h + DD 082828200h,02c2c002ch + DD 02c2c2c00h,0b3b300b3h + DD 0ececec00h,0c0c000c0h + DD 0b3b3b300h,0e4e400e4h + DD 027272700h,057570057h + DD 0c0c0c000h,0eaea00eah + DD 0e5e5e500h,0aeae00aeh + DD 0e4e4e400h,023230023h + DD 085858500h,06b6b006bh + DD 057575700h,045450045h + DD 035353500h,0a5a500a5h + DD 0eaeaea00h,0eded00edh + DD 00c0c0c00h,04f4f004fh + DD 0aeaeae00h,01d1d001dh + DD 041414100h,092920092h + DD 023232300h,086860086h + DD 0efefef00h,0afaf00afh + DD 06b6b6b00h,07c7c007ch + DD 093939300h,01f1f001fh + DD 045454500h,03e3e003eh + DD 019191900h,0dcdc00dch + DD 0a5a5a500h,05e5e005eh + DD 021212100h,00b0b000bh + DD 0ededed00h,0a6a600a6h + DD 00e0e0e00h,039390039h + DD 04f4f4f00h,0d5d500d5h + DD 04e4e4e00h,05d5d005dh + DD 01d1d1d00h,0d9d900d9h + DD 065656500h,05a5a005ah + DD 092929200h,051510051h + DD 0bdbdbd00h,06c6c006ch + DD 086868600h,08b8b008bh + DD 0b8b8b800h,09a9a009ah + DD 0afafaf00h,0fbfb00fbh + DD 08f8f8f00h,0b0b000b0h + DD 07c7c7c00h,074740074h + DD 0ebebeb00h,02b2b002bh + DD 01f1f1f00h,0f0f000f0h + DD 0cecece00h,084840084h + DD 03e3e3e00h,0dfdf00dfh + DD 030303000h,0cbcb00cbh + DD 0dcdcdc00h,034340034h + DD 05f5f5f00h,076760076h + DD 05e5e5e00h,06d6d006dh + DD 0c5c5c500h,0a9a900a9h + DD 00b0b0b00h,0d1d100d1h + DD 01a1a1a00h,004040004h + DD 0a6a6a600h,014140014h + DD 0e1e1e100h,03a3a003ah + DD 039393900h,0dede00deh + DD 0cacaca00h,011110011h + DD 0d5d5d500h,032320032h + DD 047474700h,09c9c009ch + DD 05d5d5d00h,053530053h + DD 03d3d3d00h,0f2f200f2h + DD 0d9d9d900h,0fefe00feh + DD 001010100h,0cfcf00cfh + DD 05a5a5a00h,0c3c300c3h + DD 0d6d6d600h,07a7a007ah + DD 051515100h,024240024h + DD 056565600h,0e8e800e8h + DD 06c6c6c00h,060600060h + DD 04d4d4d00h,069690069h + DD 08b8b8b00h,0aaaa00aah + DD 00d0d0d00h,0a0a000a0h + DD 09a9a9a00h,0a1a100a1h + DD 066666600h,062620062h + DD 0fbfbfb00h,054540054h + DD 0cccccc00h,01e1e001eh + DD 0b0b0b000h,0e0e000e0h + DD 02d2d2d00h,064640064h + DD 074747400h,010100010h + DD 012121200h,000000000h + DD 02b2b2b00h,0a3a300a3h + DD 020202000h,075750075h + DD 0f0f0f000h,08a8a008ah + DD 0b1b1b100h,0e6e600e6h + DD 084848400h,009090009h + DD 099999900h,0dddd00ddh + DD 0dfdfdf00h,087870087h + DD 04c4c4c00h,083830083h + DD 0cbcbcb00h,0cdcd00cdh + DD 0c2c2c200h,090900090h + DD 034343400h,073730073h + DD 07e7e7e00h,0f6f600f6h + DD 076767600h,09d9d009dh + DD 005050500h,0bfbf00bfh + DD 06d6d6d00h,052520052h + DD 0b7b7b700h,0d8d800d8h + DD 0a9a9a900h,0c8c800c8h + DD 031313100h,0c6c600c6h + DD 0d1d1d100h,081810081h + DD 017171700h,06f6f006fh + DD 004040400h,013130013h + DD 0d7d7d700h,063630063h + DD 014141400h,0e9e900e9h + DD 058585800h,0a7a700a7h + DD 03a3a3a00h,09f9f009fh + DD 061616100h,0bcbc00bch + DD 0dedede00h,029290029h + DD 01b1b1b00h,0f9f900f9h + DD 011111100h,02f2f002fh + DD 01c1c1c00h,0b4b400b4h + DD 032323200h,078780078h + DD 00f0f0f00h,006060006h + DD 09c9c9c00h,0e7e700e7h + DD 016161600h,071710071h + DD 053535300h,0d4d400d4h + DD 018181800h,0abab00abh + DD 0f2f2f200h,088880088h + DD 022222200h,08d8d008dh + DD 0fefefe00h,072720072h + DD 044444400h,0b9b900b9h + DD 0cfcfcf00h,0f8f800f8h + DD 0b2b2b200h,0acac00ach + DD 0c3c3c300h,036360036h + DD 0b5b5b500h,02a2a002ah + DD 07a7a7a00h,03c3c003ch + DD 091919100h,0f1f100f1h + DD 024242400h,040400040h + DD 008080800h,0d3d300d3h + DD 0e8e8e800h,0bbbb00bbh + DD 0a8a8a800h,043430043h + DD 060606000h,015150015h + DD 0fcfcfc00h,0adad00adh + DD 069696900h,077770077h + DD 050505000h,080800080h + DD 0aaaaaa00h,082820082h + DD 0d0d0d000h,0ecec00ech + DD 0a0a0a000h,027270027h + DD 07d7d7d00h,0e5e500e5h + DD 0a1a1a100h,085850085h + DD 089898900h,035350035h + DD 062626200h,00c0c000ch + DD 097979700h,041410041h + DD 054545400h,0efef00efh + DD 05b5b5b00h,093930093h + DD 01e1e1e00h,019190019h + DD 095959500h,021210021h + DD 0e0e0e000h,00e0e000eh + DD 0ffffff00h,04e4e004eh + DD 064646400h,065650065h + DD 0d2d2d200h,0bdbd00bdh + DD 010101000h,0b8b800b8h + DD 0c4c4c400h,08f8f008fh + DD 000000000h,0ebeb00ebh + DD 048484800h,0cece00ceh + DD 0a3a3a300h,030300030h + DD 0f7f7f700h,05f5f005fh + DD 075757500h,0c5c500c5h + DD 0dbdbdb00h,01a1a001ah + DD 08a8a8a00h,0e1e100e1h + DD 003030300h,0caca00cah + DD 0e6e6e600h,047470047h + DD 0dadada00h,03d3d003dh + DD 009090900h,001010001h + DD 03f3f3f00h,0d6d600d6h + DD 0dddddd00h,056560056h + DD 094949400h,04d4d004dh + DD 087878700h,00d0d000dh + DD 05c5c5c00h,066660066h + DD 083838300h,0cccc00cch + DD 002020200h,02d2d002dh + DD 0cdcdcd00h,012120012h + DD 04a4a4a00h,020200020h + DD 090909000h,0b1b100b1h + DD 033333300h,099990099h + DD 073737300h,04c4c004ch + DD 067676700h,0c2c200c2h + DD 0f6f6f600h,07e7e007eh + DD 0f3f3f300h,005050005h + DD 09d9d9d00h,0b7b700b7h + DD 07f7f7f00h,031310031h + DD 0bfbfbf00h,017170017h + DD 0e2e2e200h,0d7d700d7h + DD 052525200h,058580058h + DD 09b9b9b00h,061610061h + DD 0d8d8d800h,01b1b001bh + DD 026262600h,01c1c001ch + DD 0c8c8c800h,00f0f000fh + DD 037373700h,016160016h + DD 0c6c6c600h,018180018h + DD 03b3b3b00h,022220022h + DD 081818100h,044440044h + DD 096969600h,0b2b200b2h + DD 06f6f6f00h,0b5b500b5h + DD 04b4b4b00h,091910091h + DD 013131300h,008080008h + DD 0bebebe00h,0a8a800a8h + DD 063636300h,0fcfc00fch + DD 02e2e2e00h,050500050h + DD 0e9e9e900h,0d0d000d0h + DD 079797900h,07d7d007dh + DD 0a7a7a700h,089890089h + DD 08c8c8c00h,097970097h + DD 09f9f9f00h,05b5b005bh + DD 06e6e6e00h,095950095h + DD 0bcbcbc00h,0ffff00ffh + DD 08e8e8e00h,0d2d200d2h + DD 029292900h,0c4c400c4h + DD 0f5f5f500h,048480048h + DD 0f9f9f900h,0f7f700f7h + DD 0b6b6b600h,0dbdb00dbh + DD 02f2f2f00h,003030003h + DD 0fdfdfd00h,0dada00dah + DD 0b4b4b400h,03f3f003fh + DD 059595900h,094940094h + DD 078787800h,05c5c005ch + DD 098989800h,002020002h + DD 006060600h,04a4a004ah + DD 06a6a6a00h,033330033h + DD 0e7e7e700h,067670067h + DD 046464600h,0f3f300f3h + DD 071717100h,07f7f007fh + DD 0bababa00h,0e2e200e2h + DD 0d4d4d400h,09b9b009bh + DD 025252500h,026260026h + DD 0ababab00h,037370037h + DD 042424200h,03b3b003bh + DD 088888800h,096960096h + DD 0a2a2a200h,04b4b004bh + DD 08d8d8d00h,0bebe00beh + DD 0fafafa00h,02e2e002eh + DD 072727200h,079790079h + DD 007070700h,08c8c008ch + DD 0b9b9b900h,06e6e006eh + DD 055555500h,08e8e008eh + DD 0f8f8f800h,0f5f500f5h + DD 0eeeeee00h,0b6b600b6h + DD 0acacac00h,0fdfd00fdh + DD 00a0a0a00h,059590059h + DD 036363600h,098980098h + DD 049494900h,06a6a006ah + DD 02a2a2a00h,046460046h + DD 068686800h,0baba00bah + DD 03c3c3c00h,025250025h + DD 038383800h,042420042h + DD 0f1f1f100h,0a2a200a2h + DD 0a4a4a400h,0fafa00fah + DD 040404000h,007070007h + DD 028282800h,055550055h + DD 0d3d3d300h,0eeee00eeh + DD 07b7b7b00h,00a0a000ah + DD 0bbbbbb00h,049490049h + DD 0c9c9c900h,068680068h + DD 043434300h,038380038h + DD 0c1c1c100h,0a4a400a4h + DD 015151500h,028280028h + DD 0e3e3e300h,07b7b007bh + DD 0adadad00h,0c9c900c9h + DD 0f4f4f400h,0c1c100c1h + DD 077777700h,0e3e300e3h + DD 0c7c7c700h,0f4f400f4h + DD 080808000h,0c7c700c7h + DD 09e9e9e00h,09e9e009eh + DD 000e0e0e0h,038003838h + DD 000050505h,041004141h + DD 000585858h,016001616h + DD 000d9d9d9h,076007676h + DD 000676767h,0d900d9d9h + DD 0004e4e4eh,093009393h + DD 000818181h,060006060h + DD 000cbcbcbh,0f200f2f2h + DD 000c9c9c9h,072007272h + DD 0000b0b0bh,0c200c2c2h + DD 000aeaeaeh,0ab00ababh + DD 0006a6a6ah,09a009a9ah + DD 000d5d5d5h,075007575h + DD 000181818h,006000606h + DD 0005d5d5dh,057005757h + DD 000828282h,0a000a0a0h + DD 000464646h,091009191h + DD 000dfdfdfh,0f700f7f7h + DD 000d6d6d6h,0b500b5b5h + DD 000272727h,0c900c9c9h + DD 0008a8a8ah,0a200a2a2h + DD 000323232h,08c008c8ch + DD 0004b4b4bh,0d200d2d2h + DD 000424242h,090009090h + DD 000dbdbdbh,0f600f6f6h + DD 0001c1c1ch,007000707h + DD 0009e9e9eh,0a700a7a7h + DD 0009c9c9ch,027002727h + DD 0003a3a3ah,08e008e8eh + DD 000cacacah,0b200b2b2h + DD 000252525h,049004949h + DD 0007b7b7bh,0de00dedeh + DD 0000d0d0dh,043004343h + DD 000717171h,05c005c5ch + DD 0005f5f5fh,0d700d7d7h + DD 0001f1f1fh,0c700c7c7h + DD 000f8f8f8h,03e003e3eh + DD 000d7d7d7h,0f500f5f5h + DD 0003e3e3eh,08f008f8fh + DD 0009d9d9dh,067006767h + DD 0007c7c7ch,01f001f1fh + DD 000606060h,018001818h + DD 000b9b9b9h,06e006e6eh + DD 000bebebeh,0af00afafh + DD 000bcbcbch,02f002f2fh + DD 0008b8b8bh,0e200e2e2h + DD 000161616h,085008585h + DD 000343434h,00d000d0dh + DD 0004d4d4dh,053005353h + DD 000c3c3c3h,0f000f0f0h + DD 000727272h,09c009c9ch + DD 000959595h,065006565h + DD 000abababh,0ea00eaeah + DD 0008e8e8eh,0a300a3a3h + DD 000bababah,0ae00aeaeh + DD 0007a7a7ah,09e009e9eh + DD 000b3b3b3h,0ec00ecech + DD 000020202h,080008080h + DD 000b4b4b4h,02d002d2dh + DD 000adadadh,06b006b6bh + DD 000a2a2a2h,0a800a8a8h + DD 000acacach,02b002b2bh + DD 000d8d8d8h,036003636h + DD 0009a9a9ah,0a600a6a6h + DD 000171717h,0c500c5c5h + DD 0001a1a1ah,086008686h + DD 000353535h,04d004d4dh + DD 000cccccch,033003333h + DD 000f7f7f7h,0fd00fdfdh + DD 000999999h,066006666h + DD 000616161h,058005858h + DD 0005a5a5ah,096009696h + DD 000e8e8e8h,03a003a3ah + DD 000242424h,009000909h + DD 000565656h,095009595h + DD 000404040h,010001010h + DD 000e1e1e1h,078007878h + DD 000636363h,0d800d8d8h + DD 000090909h,042004242h + DD 000333333h,0cc00cccch + DD 000bfbfbfh,0ef00efefh + DD 000989898h,026002626h + DD 000979797h,0e500e5e5h + DD 000858585h,061006161h + DD 000686868h,01a001a1ah + DD 000fcfcfch,03f003f3fh + DD 000ececech,03b003b3bh + DD 0000a0a0ah,082008282h + DD 000dadadah,0b600b6b6h + DD 0006f6f6fh,0db00dbdbh + DD 000535353h,0d400d4d4h + DD 000626262h,098009898h + DD 000a3a3a3h,0e800e8e8h + DD 0002e2e2eh,08b008b8bh + DD 000080808h,002000202h + DD 000afafafh,0eb00ebebh + DD 000282828h,00a000a0ah + DD 000b0b0b0h,02c002c2ch + DD 000747474h,01d001d1dh + DD 000c2c2c2h,0b000b0b0h + DD 000bdbdbdh,06f006f6fh + DD 000363636h,08d008d8dh + DD 000222222h,088008888h + DD 000383838h,00e000e0eh + DD 000646464h,019001919h + DD 0001e1e1eh,087008787h + DD 000393939h,04e004e4eh + DD 0002c2c2ch,00b000b0bh + DD 000a6a6a6h,0a900a9a9h + DD 000303030h,00c000c0ch + DD 000e5e5e5h,079007979h + DD 000444444h,011001111h + DD 000fdfdfdh,07f007f7fh + DD 000888888h,022002222h + DD 0009f9f9fh,0e700e7e7h + DD 000656565h,059005959h + DD 000878787h,0e100e1e1h + DD 0006b6b6bh,0da00dadah + DD 000f4f4f4h,03d003d3dh + DD 000232323h,0c800c8c8h + DD 000484848h,012001212h + DD 000101010h,004000404h + DD 000d1d1d1h,074007474h + DD 000515151h,054005454h + DD 000c0c0c0h,030003030h + DD 000f9f9f9h,07e007e7eh + DD 000d2d2d2h,0b400b4b4h + DD 000a0a0a0h,028002828h + DD 000555555h,055005555h + DD 000a1a1a1h,068006868h + DD 000414141h,050005050h + DD 000fafafah,0be00bebeh + DD 000434343h,0d000d0d0h + DD 000131313h,0c400c4c4h + DD 000c4c4c4h,031003131h + DD 0002f2f2fh,0cb00cbcbh + DD 000a8a8a8h,02a002a2ah + DD 000b6b6b6h,0ad00adadh + DD 0003c3c3ch,00f000f0fh + DD 0002b2b2bh,0ca00cacah + DD 000c1c1c1h,070007070h + DD 000ffffffh,0ff00ffffh + DD 000c8c8c8h,032003232h + DD 000a5a5a5h,069006969h + DD 000202020h,008000808h + DD 000898989h,062006262h + DD 000000000h,000000000h + DD 000909090h,024002424h + DD 000474747h,0d100d1d1h + DD 000efefefh,0fb00fbfbh + DD 000eaeaeah,0ba00babah + DD 000b7b7b7h,0ed00ededh + DD 000151515h,045004545h + DD 000060606h,081008181h + DD 000cdcdcdh,073007373h + DD 000b5b5b5h,06d006d6dh + DD 000121212h,084008484h + DD 0007e7e7eh,09f009f9fh + DD 000bbbbbbh,0ee00eeeeh + DD 000292929h,04a004a4ah + DD 0000f0f0fh,0c300c3c3h + DD 000b8b8b8h,02e002e2eh + DD 000070707h,0c100c1c1h + DD 000040404h,001000101h + DD 0009b9b9bh,0e600e6e6h + DD 000949494h,025002525h + DD 000212121h,048004848h + DD 000666666h,099009999h + DD 000e6e6e6h,0b900b9b9h + DD 000cececeh,0b300b3b3h + DD 000edededh,07b007b7bh + DD 000e7e7e7h,0f900f9f9h + DD 0003b3b3bh,0ce00ceceh + DD 000fefefeh,0bf00bfbfh + DD 0007f7f7fh,0df00dfdfh + DD 000c5c5c5h,071007171h + DD 000a4a4a4h,029002929h + DD 000373737h,0cd00cdcdh + DD 000b1b1b1h,06c006c6ch + DD 0004c4c4ch,013001313h + DD 000919191h,064006464h + DD 0006e6e6eh,09b009b9bh + DD 0008d8d8dh,063006363h + DD 000767676h,09d009d9dh + DD 000030303h,0c000c0c0h + DD 0002d2d2dh,04b004b4bh + DD 000dededeh,0b700b7b7h + DD 000969696h,0a500a5a5h + DD 000262626h,089008989h + DD 0007d7d7dh,05f005f5fh + DD 000c6c6c6h,0b100b1b1h + DD 0005c5c5ch,017001717h + DD 000d3d3d3h,0f400f4f4h + DD 000f2f2f2h,0bc00bcbch + DD 0004f4f4fh,0d300d3d3h + DD 000191919h,046004646h + DD 0003f3f3fh,0cf00cfcfh + DD 000dcdcdch,037003737h + DD 000797979h,05e005e5eh + DD 0001d1d1dh,047004747h + DD 000525252h,094009494h + DD 000ebebebh,0fa00fafah + DD 000f3f3f3h,0fc00fcfch + DD 0006d6d6dh,05b005b5bh + DD 0005e5e5eh,097009797h + DD 000fbfbfbh,0fe00fefeh + DD 000696969h,05a005a5ah + DD 000b2b2b2h,0ac00acach + DD 000f0f0f0h,03c003c3ch + DD 000313131h,04c004c4ch + DD 0000c0c0ch,003000303h + DD 000d4d4d4h,035003535h + DD 000cfcfcfh,0f300f3f3h + DD 0008c8c8ch,023002323h + DD 000e2e2e2h,0b800b8b8h + DD 000757575h,05d005d5dh + DD 000a9a9a9h,06a006a6ah + DD 0004a4a4ah,092009292h + DD 000575757h,0d500d5d5h + DD 000848484h,021002121h + DD 000111111h,044004444h + DD 000454545h,051005151h + DD 0001b1b1bh,0c600c6c6h + DD 000f5f5f5h,07d007d7dh + DD 000e4e4e4h,039003939h + DD 0000e0e0eh,083008383h + DD 000737373h,0dc00dcdch + DD 000aaaaaah,0aa00aaaah + DD 000f1f1f1h,07c007c7ch + DD 000ddddddh,077007777h + DD 000595959h,056005656h + DD 000141414h,005000505h + DD 0006c6c6ch,01b001b1bh + DD 000929292h,0a400a4a4h + DD 000545454h,015001515h + DD 000d0d0d0h,034003434h + DD 000787878h,01e001e1eh + DD 000707070h,01c001c1ch + DD 000e3e3e3h,0f800f8f8h + DD 000494949h,052005252h + DD 000808080h,020002020h + DD 000505050h,014001414h + DD 000a7a7a7h,0e900e9e9h + DD 000f6f6f6h,0bd00bdbdh + DD 000777777h,0dd00ddddh + DD 000939393h,0e400e4e4h + DD 000868686h,0a100a1a1h + DD 000838383h,0e000e0e0h + DD 0002a2a2ah,08a008a8ah + DD 000c7c7c7h,0f100f1f1h + DD 0005b5b5bh,0d600d6d6h + DD 000e9e9e9h,07a007a7ah + DD 000eeeeeeh,0bb00bbbbh + DD 0008f8f8fh,0e300e3e3h + DD 000010101h,040004040h + DD 0003d3d3dh,04f004f4fh +PUBLIC Camellia_cbc_encrypt ALIGN 16 -Camellia_cbc_encrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +Camellia_cbc_encrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_Camellia_cbc_encrypt:: +$L$SEH_begin_Camellia_cbc_encrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] cmp rdx,0 - je $L$cbc_abort + je $L$cbc_abort push rbx push rbp @@ -1718,7 +1718,7 @@ $L$SEH_begin_Camellia_cbc_encrypt:: push r15 -$L$cbc_prologue:: +$L$cbc_prologue:: mov rbp,rsp @@ -1727,10 +1727,10 @@ $L$cbc_prologue:: - lea r10,QWORD PTR[((-64-63))+rcx] + lea r10,QWORD PTR[((-64-63))+rcx] sub r10,rsp neg r10 - and r10,03C0h + and r10,03C0h sub rsp,r10 @@ -1738,229 +1738,229 @@ $L$cbc_prologue:: mov r13,rsi mov rbx,r8 mov r14,rcx - mov r15d,DWORD PTR[272+rcx] + mov r15d,DWORD PTR[272+rcx] - mov QWORD PTR[40+rsp],r8 - mov QWORD PTR[48+rsp],rbp + mov QWORD PTR[40+rsp],r8 + mov QWORD PTR[48+rsp],rbp -$L$cbc_body:: - lea rbp,QWORD PTR[$L$Camellia_SBOX] +$L$cbc_body:: + lea rbp,QWORD PTR[$L$Camellia_SBOX] mov ecx,32 ALIGN 4 -$L$cbc_prefetch_sbox:: - mov rax,QWORD PTR[rbp] - mov rsi,QWORD PTR[32+rbp] - mov rdi,QWORD PTR[64+rbp] - mov r11,QWORD PTR[96+rbp] - lea rbp,QWORD PTR[128+rbp] +$L$cbc_prefetch_sbox:: + mov rax,QWORD PTR[rbp] + mov rsi,QWORD PTR[32+rbp] + mov rdi,QWORD PTR[64+rbp] + mov r11,QWORD PTR[96+rbp] + lea rbp,QWORD PTR[128+rbp] loop $L$cbc_prefetch_sbox sub rbp,4096 shl r15,6 mov rcx,rdx - lea r15,QWORD PTR[r15*1+r14] + lea r15,QWORD PTR[r15*1+r14] cmp r9d,0 - je $L$CBC_DECRYPT + je $L$CBC_DECRYPT and rdx,-16 and rcx,15 - lea rdx,QWORD PTR[rdx*1+r12] - mov QWORD PTR[rsp],r14 - mov QWORD PTR[8+rsp],rdx - mov QWORD PTR[16+rsp],rcx + lea rdx,QWORD PTR[rdx*1+r12] + mov QWORD PTR[rsp],r14 + mov QWORD PTR[8+rsp],rdx + mov QWORD PTR[16+rsp],rcx cmp rdx,r12 - mov r8d,DWORD PTR[rbx] - mov r9d,DWORD PTR[4+rbx] - mov r10d,DWORD PTR[8+rbx] - mov r11d,DWORD PTR[12+rbx] - je $L$cbc_enc_tail - jmp $L$cbc_eloop + mov r8d,DWORD PTR[rbx] + mov r9d,DWORD PTR[4+rbx] + mov r10d,DWORD PTR[8+rbx] + mov r11d,DWORD PTR[12+rbx] + je $L$cbc_enc_tail + jmp $L$cbc_eloop ALIGN 16 -$L$cbc_eloop:: - xor r8d,DWORD PTR[r12] - xor r9d,DWORD PTR[4+r12] - xor r10d,DWORD PTR[8+r12] +$L$cbc_eloop:: + xor r8d,DWORD PTR[r12] + xor r9d,DWORD PTR[4+r12] + xor r10d,DWORD PTR[8+r12] bswap r8d - xor r11d,DWORD PTR[12+r12] + xor r11d,DWORD PTR[12+r12] bswap r9d bswap r10d bswap r11d call _x86_64_Camellia_encrypt - mov r14,QWORD PTR[rsp] + mov r14,QWORD PTR[rsp] bswap r8d - mov rdx,QWORD PTR[8+rsp] + mov rdx,QWORD PTR[8+rsp] bswap r9d - mov rcx,QWORD PTR[16+rsp] + mov rcx,QWORD PTR[16+rsp] bswap r10d - mov DWORD PTR[r13],r8d + mov DWORD PTR[r13],r8d bswap r11d - mov DWORD PTR[4+r13],r9d - mov DWORD PTR[8+r13],r10d - lea r12,QWORD PTR[16+r12] - mov DWORD PTR[12+r13],r11d + mov DWORD PTR[4+r13],r9d + mov DWORD PTR[8+r13],r10d + lea r12,QWORD PTR[16+r12] + mov DWORD PTR[12+r13],r11d cmp r12,rdx - lea r13,QWORD PTR[16+r13] - jne $L$cbc_eloop + lea r13,QWORD PTR[16+r13] + jne $L$cbc_eloop cmp rcx,0 - jne $L$cbc_enc_tail + jne $L$cbc_enc_tail - mov r13,QWORD PTR[40+rsp] - mov DWORD PTR[r13],r8d - mov DWORD PTR[4+r13],r9d - mov DWORD PTR[8+r13],r10d - mov DWORD PTR[12+r13],r11d - jmp $L$cbc_done + mov r13,QWORD PTR[40+rsp] + mov DWORD PTR[r13],r8d + mov DWORD PTR[4+r13],r9d + mov DWORD PTR[8+r13],r10d + mov DWORD PTR[12+r13],r11d + jmp $L$cbc_done ALIGN 16 -$L$cbc_enc_tail:: +$L$cbc_enc_tail:: xor rax,rax - mov QWORD PTR[((0+24))+rsp],rax - mov QWORD PTR[((8+24))+rsp],rax - mov QWORD PTR[16+rsp],rax + mov QWORD PTR[((0+24))+rsp],rax + mov QWORD PTR[((8+24))+rsp],rax + mov QWORD PTR[16+rsp],rax -$L$cbc_enc_pushf:: +$L$cbc_enc_pushf:: pushfq cld mov rsi,r12 - lea rdi,QWORD PTR[((8+24))+rsp] - DD 09066A4F3h + lea rdi,QWORD PTR[((8+24))+rsp] + DD 09066A4F3h popfq -$L$cbc_enc_popf:: +$L$cbc_enc_popf:: - lea r12,QWORD PTR[24+rsp] - lea rax,QWORD PTR[((16+24))+rsp] - mov QWORD PTR[8+rsp],rax - jmp $L$cbc_eloop + lea r12,QWORD PTR[24+rsp] + lea rax,QWORD PTR[((16+24))+rsp] + mov QWORD PTR[8+rsp],rax + jmp $L$cbc_eloop ALIGN 16 -$L$CBC_DECRYPT:: +$L$CBC_DECRYPT:: xchg r15,r14 add rdx,15 and rcx,15 and rdx,-16 - mov QWORD PTR[rsp],r14 - lea rdx,QWORD PTR[rdx*1+r12] - mov QWORD PTR[8+rsp],rdx - mov QWORD PTR[16+rsp],rcx - - mov rax,QWORD PTR[rbx] - mov rbx,QWORD PTR[8+rbx] - jmp $L$cbc_dloop + mov QWORD PTR[rsp],r14 + lea rdx,QWORD PTR[rdx*1+r12] + mov QWORD PTR[8+rsp],rdx + mov QWORD PTR[16+rsp],rcx + + mov rax,QWORD PTR[rbx] + mov rbx,QWORD PTR[8+rbx] + jmp $L$cbc_dloop ALIGN 16 -$L$cbc_dloop:: - mov r8d,DWORD PTR[r12] - mov r9d,DWORD PTR[4+r12] - mov r10d,DWORD PTR[8+r12] +$L$cbc_dloop:: + mov r8d,DWORD PTR[r12] + mov r9d,DWORD PTR[4+r12] + mov r10d,DWORD PTR[8+r12] bswap r8d - mov r11d,DWORD PTR[12+r12] + mov r11d,DWORD PTR[12+r12] bswap r9d - mov QWORD PTR[((0+24))+rsp],rax + mov QWORD PTR[((0+24))+rsp],rax bswap r10d - mov QWORD PTR[((8+24))+rsp],rbx + mov QWORD PTR[((8+24))+rsp],rbx bswap r11d call _x86_64_Camellia_decrypt - mov r14,QWORD PTR[rsp] - mov rdx,QWORD PTR[8+rsp] - mov rcx,QWORD PTR[16+rsp] + mov r14,QWORD PTR[rsp] + mov rdx,QWORD PTR[8+rsp] + mov rcx,QWORD PTR[16+rsp] bswap r8d - mov rax,QWORD PTR[r12] + mov rax,QWORD PTR[r12] bswap r9d - mov rbx,QWORD PTR[8+r12] + mov rbx,QWORD PTR[8+r12] bswap r10d - xor r8d,DWORD PTR[((0+24))+rsp] + xor r8d,DWORD PTR[((0+24))+rsp] bswap r11d - xor r9d,DWORD PTR[((4+24))+rsp] - xor r10d,DWORD PTR[((8+24))+rsp] - lea r12,QWORD PTR[16+r12] - xor r11d,DWORD PTR[((12+24))+rsp] + xor r9d,DWORD PTR[((4+24))+rsp] + xor r10d,DWORD PTR[((8+24))+rsp] + lea r12,QWORD PTR[16+r12] + xor r11d,DWORD PTR[((12+24))+rsp] cmp r12,rdx - je $L$cbc_ddone + je $L$cbc_ddone - mov DWORD PTR[r13],r8d - mov DWORD PTR[4+r13],r9d - mov DWORD PTR[8+r13],r10d - mov DWORD PTR[12+r13],r11d + mov DWORD PTR[r13],r8d + mov DWORD PTR[4+r13],r9d + mov DWORD PTR[8+r13],r10d + mov DWORD PTR[12+r13],r11d - lea r13,QWORD PTR[16+r13] - jmp $L$cbc_dloop + lea r13,QWORD PTR[16+r13] + jmp $L$cbc_dloop ALIGN 16 -$L$cbc_ddone:: - mov rdx,QWORD PTR[40+rsp] +$L$cbc_ddone:: + mov rdx,QWORD PTR[40+rsp] cmp rcx,0 - jne $L$cbc_dec_tail + jne $L$cbc_dec_tail - mov DWORD PTR[r13],r8d - mov DWORD PTR[4+r13],r9d - mov DWORD PTR[8+r13],r10d - mov DWORD PTR[12+r13],r11d + mov DWORD PTR[r13],r8d + mov DWORD PTR[4+r13],r9d + mov DWORD PTR[8+r13],r10d + mov DWORD PTR[12+r13],r11d - mov QWORD PTR[rdx],rax - mov QWORD PTR[8+rdx],rbx - jmp $L$cbc_done + mov QWORD PTR[rdx],rax + mov QWORD PTR[8+rdx],rbx + jmp $L$cbc_done ALIGN 16 -$L$cbc_dec_tail:: - mov DWORD PTR[((0+24))+rsp],r8d - mov DWORD PTR[((4+24))+rsp],r9d - mov DWORD PTR[((8+24))+rsp],r10d - mov DWORD PTR[((12+24))+rsp],r11d +$L$cbc_dec_tail:: + mov DWORD PTR[((0+24))+rsp],r8d + mov DWORD PTR[((4+24))+rsp],r9d + mov DWORD PTR[((8+24))+rsp],r10d + mov DWORD PTR[((12+24))+rsp],r11d -$L$cbc_dec_pushf:: +$L$cbc_dec_pushf:: pushfq cld - lea rsi,QWORD PTR[((8+24))+rsp] - lea rdi,QWORD PTR[r13] - DD 09066A4F3h + lea rsi,QWORD PTR[((8+24))+rsp] + lea rdi,QWORD PTR[r13] + DD 09066A4F3h popfq -$L$cbc_dec_popf:: +$L$cbc_dec_popf:: - mov QWORD PTR[rdx],rax - mov QWORD PTR[8+rdx],rbx - jmp $L$cbc_done + mov QWORD PTR[rdx],rax + mov QWORD PTR[8+rdx],rbx + jmp $L$cbc_done ALIGN 16 -$L$cbc_done:: - mov rcx,QWORD PTR[48+rsp] +$L$cbc_done:: + mov rcx,QWORD PTR[48+rsp] - mov r15,QWORD PTR[rcx] + mov r15,QWORD PTR[rcx] - mov r14,QWORD PTR[8+rcx] + mov r14,QWORD PTR[8+rcx] - mov r13,QWORD PTR[16+rcx] + mov r13,QWORD PTR[16+rcx] - mov r12,QWORD PTR[24+rcx] + mov r12,QWORD PTR[24+rcx] - mov rbp,QWORD PTR[32+rcx] + mov rbp,QWORD PTR[32+rcx] - mov rbx,QWORD PTR[40+rcx] + mov rbx,QWORD PTR[40+rcx] - lea rsp,QWORD PTR[48+rcx] + lea rsp,QWORD PTR[48+rcx] -$L$cbc_abort:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$cbc_abort:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_Camellia_cbc_encrypt:: -Camellia_cbc_encrypt ENDP +$L$SEH_end_Camellia_cbc_encrypt:: +Camellia_cbc_encrypt ENDP DB 67,97,109,101,108,108,105,97,32,102,111,114,32,120,56,54 DB 95,54,52,32,98,121,32,60,97,112,112,114,111,64,111,112 DB 101,110,115,115,108,46,111,114,103,62,0 -EXTERN __imp_RtlVirtualUnwind:NEAR +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -common_se_handler PROC PRIVATE +common_se_handler PROC PRIVATE push rsi push rdi push rbx @@ -1970,51 +1970,51 @@ common_se_handler PROC PRIVATE push r14 push r15 pushfq - lea rsp,QWORD PTR[((-64))+rsp] + lea rsp,QWORD PTR[((-64))+rsp] - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$in_prologue - - lea rax,QWORD PTR[40+rax] - mov rbx,QWORD PTR[((-8))+rax] - mov rbp,QWORD PTR[((-16))+rax] - mov r13,QWORD PTR[((-24))+rax] - mov r14,QWORD PTR[((-32))+rax] - mov r15,QWORD PTR[((-40))+rax] - mov QWORD PTR[144+r8],rbx - mov QWORD PTR[160+r8],rbp - mov QWORD PTR[224+r8],r13 - mov QWORD PTR[232+r8],r14 - mov QWORD PTR[240+r8],r15 - -$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 - - jmp $L$common_seh_exit -common_se_handler ENDP + jae $L$in_prologue + + lea rax,QWORD PTR[40+rax] + mov rbx,QWORD PTR[((-8))+rax] + mov rbp,QWORD PTR[((-16))+rax] + mov r13,QWORD PTR[((-24))+rax] + mov r14,QWORD PTR[((-32))+rax] + mov r15,QWORD PTR[((-40))+rax] + mov QWORD PTR[144+r8],rbx + mov QWORD PTR[160+r8],rbp + mov QWORD PTR[224+r8],r13 + mov QWORD PTR[232+r8],r14 + mov QWORD PTR[240+r8],r15 + +$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 + + jmp $L$common_seh_exit +common_se_handler ENDP ALIGN 16 -cbc_se_handler PROC PRIVATE +cbc_se_handler PROC PRIVATE push rsi push rdi push rbx @@ -2024,92 +2024,92 @@ cbc_se_handler PROC PRIVATE push r14 push r15 pushfq - lea rsp,QWORD PTR[((-64))+rsp] + lea rsp,QWORD PTR[((-64))+rsp] - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - lea r10,QWORD PTR[$L$cbc_prologue] + lea r10,QWORD PTR[$L$cbc_prologue] cmp rbx,r10 - jb $L$in_cbc_prologue + jb $L$in_cbc_prologue - lea r10,QWORD PTR[$L$cbc_body] + lea r10,QWORD PTR[$L$cbc_body] cmp rbx,r10 - jb $L$in_cbc_frame_setup + jb $L$in_cbc_frame_setup - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - lea r10,QWORD PTR[$L$cbc_abort] + lea r10,QWORD PTR[$L$cbc_abort] cmp rbx,r10 - jae $L$in_cbc_prologue + jae $L$in_cbc_prologue - lea r10,QWORD PTR[$L$cbc_enc_pushf] + lea r10,QWORD PTR[$L$cbc_enc_pushf] cmp rbx,r10 - jbe $L$in_cbc_no_flag - lea rax,QWORD PTR[8+rax] - lea r10,QWORD PTR[$L$cbc_enc_popf] + jbe $L$in_cbc_no_flag + lea rax,QWORD PTR[8+rax] + lea r10,QWORD PTR[$L$cbc_enc_popf] cmp rbx,r10 - jb $L$in_cbc_no_flag - lea rax,QWORD PTR[((-8))+rax] - lea r10,QWORD PTR[$L$cbc_dec_pushf] + jb $L$in_cbc_no_flag + lea rax,QWORD PTR[((-8))+rax] + lea r10,QWORD PTR[$L$cbc_dec_pushf] cmp rbx,r10 - jbe $L$in_cbc_no_flag - lea rax,QWORD PTR[8+rax] - lea r10,QWORD PTR[$L$cbc_dec_popf] + jbe $L$in_cbc_no_flag + lea rax,QWORD PTR[8+rax] + lea r10,QWORD PTR[$L$cbc_dec_popf] cmp rbx,r10 - jb $L$in_cbc_no_flag - lea rax,QWORD PTR[((-8))+rax] - -$L$in_cbc_no_flag:: - mov rax,QWORD PTR[48+rax] - lea rax,QWORD PTR[48+rax] - -$L$in_cbc_frame_setup:: - 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 - -$L$in_cbc_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 + jb $L$in_cbc_no_flag + lea rax,QWORD PTR[((-8))+rax] + +$L$in_cbc_no_flag:: + mov rax,QWORD PTR[48+rax] + lea rax,QWORD PTR[48+rax] + +$L$in_cbc_frame_setup:: + 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 + +$L$in_cbc_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 ALIGN 4 -$L$common_seh_exit:: +$L$common_seh_exit:: - mov rdi,QWORD PTR[40+r9] + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 - lea rsp,QWORD PTR[64+rsp] + lea rsp,QWORD PTR[64+rsp] popfq pop r15 pop r14 @@ -2120,45 +2120,45 @@ $L$common_seh_exit:: pop rdi pop rsi DB 0F3h,0C3h ;repret -cbc_se_handler ENDP +cbc_se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_Camellia_EncryptBlock_Rounds - DD imagerel $L$SEH_end_Camellia_EncryptBlock_Rounds - DD imagerel $L$SEH_info_Camellia_EncryptBlock_Rounds + DD imagerel $L$SEH_begin_Camellia_EncryptBlock_Rounds + DD imagerel $L$SEH_end_Camellia_EncryptBlock_Rounds + DD imagerel $L$SEH_info_Camellia_EncryptBlock_Rounds - DD imagerel $L$SEH_begin_Camellia_DecryptBlock_Rounds - DD imagerel $L$SEH_end_Camellia_DecryptBlock_Rounds - DD imagerel $L$SEH_info_Camellia_DecryptBlock_Rounds + DD imagerel $L$SEH_begin_Camellia_DecryptBlock_Rounds + DD imagerel $L$SEH_end_Camellia_DecryptBlock_Rounds + DD imagerel $L$SEH_info_Camellia_DecryptBlock_Rounds - DD imagerel $L$SEH_begin_Camellia_Ekeygen - DD imagerel $L$SEH_end_Camellia_Ekeygen - DD imagerel $L$SEH_info_Camellia_Ekeygen + DD imagerel $L$SEH_begin_Camellia_Ekeygen + DD imagerel $L$SEH_end_Camellia_Ekeygen + DD imagerel $L$SEH_info_Camellia_Ekeygen - DD imagerel $L$SEH_begin_Camellia_cbc_encrypt - DD imagerel $L$SEH_end_Camellia_cbc_encrypt - DD imagerel $L$SEH_info_Camellia_cbc_encrypt + DD imagerel $L$SEH_begin_Camellia_cbc_encrypt + DD imagerel $L$SEH_end_Camellia_cbc_encrypt + DD imagerel $L$SEH_info_Camellia_cbc_encrypt -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_Camellia_EncryptBlock_Rounds:: +$L$SEH_info_Camellia_EncryptBlock_Rounds:: DB 9,0,0,0 - DD imagerel common_se_handler - DD imagerel $L$enc_prologue,imagerel $L$enc_epilogue -$L$SEH_info_Camellia_DecryptBlock_Rounds:: + DD imagerel common_se_handler + DD imagerel $L$enc_prologue,imagerel $L$enc_epilogue +$L$SEH_info_Camellia_DecryptBlock_Rounds:: DB 9,0,0,0 - DD imagerel common_se_handler - DD imagerel $L$dec_prologue,imagerel $L$dec_epilogue -$L$SEH_info_Camellia_Ekeygen:: + DD imagerel common_se_handler + DD imagerel $L$dec_prologue,imagerel $L$dec_epilogue +$L$SEH_info_Camellia_Ekeygen:: DB 9,0,0,0 - DD imagerel common_se_handler - DD imagerel $L$key_prologue,imagerel $L$key_epilogue -$L$SEH_info_Camellia_cbc_encrypt:: + DD imagerel common_se_handler + DD imagerel $L$key_prologue,imagerel $L$key_epilogue +$L$SEH_info_Camellia_cbc_encrypt:: DB 9,0,0,0 - DD imagerel cbc_se_handler - -.xdata ENDS -END + DD imagerel cbc_se_handler + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/chacha/chacha-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/chacha/chacha-x86_64.masm index 972b97e5d2..776d8564a3 100644 --- a/contrib/libs/openssl/asm/windows/crypto/chacha/chacha-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/chacha/chacha-x86_64.masm @@ -1,64 +1,64 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR +EXTERN OPENSSL_ia32cap_P:NEAR ALIGN 64 -$L$zero:: +$L$zero:: DD 0,0,0,0 -$L$one:: +$L$one:: DD 1,0,0,0 -$L$inc:: +$L$inc:: DD 0,1,2,3 -$L$four:: +$L$four:: DD 4,4,4,4 -$L$incy:: +$L$incy:: DD 0,2,4,6,1,3,5,7 -$L$eight:: +$L$eight:: DD 8,8,8,8,8,8,8,8 -$L$rot16:: -DB 02h,03h,00h,01h,06h,07h,04h,05h,0ah,0bh,08h,09h,0eh,0fh,0ch,0dh -$L$rot24:: -DB 03h,00h,01h,02h,07h,04h,05h,06h,0bh,08h,09h,0ah,0fh,0ch,0dh,0eh -$L$twoy:: +$L$rot16:: +DB 02h,03h,00h,01h,06h,07h,04h,05h,0ah,0bh,08h,09h,0eh,0fh,0ch,0dh +$L$rot24:: +DB 03h,00h,01h,02h,07h,04h,05h,06h,0bh,08h,09h,0ah,0fh,0ch,0dh,0eh +$L$twoy:: DD 2,0,0,0,2,0,0,0 ALIGN 64 -$L$zeroz:: +$L$zeroz:: DD 0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0 -$L$fourz:: +$L$fourz:: DD 4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0 -$L$incz:: +$L$incz:: DD 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 -$L$sixteen:: +$L$sixteen:: DD 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16 -$L$sigma:: +$L$sigma:: DB 101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107 DB 0 DB 67,104,97,67,104,97,50,48,32,102,111,114,32,120,56,54 DB 95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32 DB 98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115 DB 108,46,111,114,103,62,0 -PUBLIC ChaCha20_ctr32 +PUBLIC ChaCha20_ctr32 ALIGN 64 -ChaCha20_ctr32 PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ChaCha20_ctr32 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ChaCha20_ctr32:: +$L$SEH_begin_ChaCha20_ctr32:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] + mov r8,QWORD PTR[40+rsp] cmp rdx,0 - je $L$no_data - mov r10,QWORD PTR[((OPENSSL_ia32cap_P+4))] + je $L$no_data + mov r10,QWORD PTR[((OPENSSL_ia32cap_P+4))] test r10d,512 - jnz $L$ChaCha20_ssse3 + jnz $L$ChaCha20_ssse3 push rbx @@ -74,47 +74,47 @@ $L$SEH_begin_ChaCha20_ctr32:: sub rsp,64+24 -$L$ctr32_body:: +$L$ctr32_body:: - movdqu xmm1,XMMWORD PTR[rcx] - movdqu xmm2,XMMWORD PTR[16+rcx] - movdqu xmm3,XMMWORD PTR[r8] - movdqa xmm4,XMMWORD PTR[$L$one] + movdqu xmm1,XMMWORD PTR[rcx] + movdqu xmm2,XMMWORD PTR[16+rcx] + movdqu xmm3,XMMWORD PTR[r8] + movdqa xmm4,XMMWORD PTR[$L$one] - movdqa XMMWORD PTR[16+rsp],xmm1 - movdqa XMMWORD PTR[32+rsp],xmm2 - movdqa XMMWORD PTR[48+rsp],xmm3 + movdqa XMMWORD PTR[16+rsp],xmm1 + movdqa XMMWORD PTR[32+rsp],xmm2 + movdqa XMMWORD PTR[48+rsp],xmm3 mov rbp,rdx - jmp $L$oop_outer + jmp $L$oop_outer ALIGN 32 -$L$oop_outer:: - mov eax,061707865h - mov ebx,03320646eh - mov ecx,079622d32h - mov edx,06b206574h - mov r8d,DWORD PTR[16+rsp] - mov r9d,DWORD PTR[20+rsp] - mov r10d,DWORD PTR[24+rsp] - mov r11d,DWORD PTR[28+rsp] +$L$oop_outer:: + mov eax,061707865h + mov ebx,03320646eh + mov ecx,079622d32h + mov edx,06b206574h + mov r8d,DWORD PTR[16+rsp] + mov r9d,DWORD PTR[20+rsp] + mov r10d,DWORD PTR[24+rsp] + mov r11d,DWORD PTR[28+rsp] movd r12d,xmm3 - mov r13d,DWORD PTR[52+rsp] - mov r14d,DWORD PTR[56+rsp] - mov r15d,DWORD PTR[60+rsp] + mov r13d,DWORD PTR[52+rsp] + mov r14d,DWORD PTR[56+rsp] + mov r15d,DWORD PTR[60+rsp] - mov QWORD PTR[((64+0))+rsp],rbp + mov QWORD PTR[((64+0))+rsp],rbp mov ebp,10 - mov QWORD PTR[((64+8))+rsp],rsi + mov QWORD PTR[((64+8))+rsp],rsi DB 102,72,15,126,214 - mov QWORD PTR[((64+16))+rsp],rdi + mov QWORD PTR[((64+16))+rsp],rdi mov rdi,rsi shr rdi,32 - jmp $L$oop + jmp $L$oop ALIGN 32 -$L$oop:: +$L$oop:: add eax,r8d xor r12d,eax rol r12d,16 @@ -139,10 +139,10 @@ $L$oop:: add edi,r13d xor r9d,edi rol r9d,7 - mov DWORD PTR[32+rsp],esi - mov DWORD PTR[36+rsp],edi - mov esi,DWORD PTR[40+rsp] - mov edi,DWORD PTR[44+rsp] + mov DWORD PTR[32+rsp],esi + mov DWORD PTR[36+rsp],edi + mov esi,DWORD PTR[40+rsp] + mov edi,DWORD PTR[44+rsp] add ecx,r10d xor r14d,ecx rol r14d,16 @@ -191,10 +191,10 @@ $L$oop:: add edi,r12d xor r10d,edi rol r10d,7 - mov DWORD PTR[40+rsp],esi - mov DWORD PTR[44+rsp],edi - mov esi,DWORD PTR[32+rsp] - mov edi,DWORD PTR[36+rsp] + mov DWORD PTR[40+rsp],esi + mov DWORD PTR[44+rsp],edi + mov esi,DWORD PTR[32+rsp] + mov edi,DWORD PTR[36+rsp] add ecx,r11d xor r13d,ecx rol r13d,16 @@ -220,177 +220,177 @@ $L$oop:: xor r8d,edi rol r8d,7 dec ebp - jnz $L$oop - mov DWORD PTR[36+rsp],edi - mov DWORD PTR[32+rsp],esi - mov rbp,QWORD PTR[64+rsp] + jnz $L$oop + mov DWORD PTR[36+rsp],edi + mov DWORD PTR[32+rsp],esi + mov rbp,QWORD PTR[64+rsp] movdqa xmm1,xmm2 - mov rsi,QWORD PTR[((64+8))+rsp] + mov rsi,QWORD PTR[((64+8))+rsp] paddd xmm3,xmm4 - mov rdi,QWORD PTR[((64+16))+rsp] - - add eax,061707865h - add ebx,03320646eh - add ecx,079622d32h - add edx,06b206574h - add r8d,DWORD PTR[16+rsp] - add r9d,DWORD PTR[20+rsp] - add r10d,DWORD PTR[24+rsp] - add r11d,DWORD PTR[28+rsp] - add r12d,DWORD PTR[48+rsp] - add r13d,DWORD PTR[52+rsp] - add r14d,DWORD PTR[56+rsp] - add r15d,DWORD PTR[60+rsp] - paddd xmm1,XMMWORD PTR[32+rsp] + mov rdi,QWORD PTR[((64+16))+rsp] + + add eax,061707865h + add ebx,03320646eh + add ecx,079622d32h + add edx,06b206574h + add r8d,DWORD PTR[16+rsp] + add r9d,DWORD PTR[20+rsp] + add r10d,DWORD PTR[24+rsp] + add r11d,DWORD PTR[28+rsp] + add r12d,DWORD PTR[48+rsp] + add r13d,DWORD PTR[52+rsp] + add r14d,DWORD PTR[56+rsp] + add r15d,DWORD PTR[60+rsp] + paddd xmm1,XMMWORD PTR[32+rsp] cmp rbp,64 - jb $L$tail - - xor eax,DWORD PTR[rsi] - xor ebx,DWORD PTR[4+rsi] - xor ecx,DWORD PTR[8+rsi] - xor edx,DWORD PTR[12+rsi] - xor r8d,DWORD PTR[16+rsi] - xor r9d,DWORD PTR[20+rsi] - xor r10d,DWORD PTR[24+rsi] - xor r11d,DWORD PTR[28+rsi] - movdqu xmm0,XMMWORD PTR[32+rsi] - xor r12d,DWORD PTR[48+rsi] - xor r13d,DWORD PTR[52+rsi] - xor r14d,DWORD PTR[56+rsi] - xor r15d,DWORD PTR[60+rsi] - lea rsi,QWORD PTR[64+rsi] + jb $L$tail + + xor eax,DWORD PTR[rsi] + xor ebx,DWORD PTR[4+rsi] + xor ecx,DWORD PTR[8+rsi] + xor edx,DWORD PTR[12+rsi] + xor r8d,DWORD PTR[16+rsi] + xor r9d,DWORD PTR[20+rsi] + xor r10d,DWORD PTR[24+rsi] + xor r11d,DWORD PTR[28+rsi] + movdqu xmm0,XMMWORD PTR[32+rsi] + xor r12d,DWORD PTR[48+rsi] + xor r13d,DWORD PTR[52+rsi] + xor r14d,DWORD PTR[56+rsi] + xor r15d,DWORD PTR[60+rsi] + lea rsi,QWORD PTR[64+rsi] pxor xmm0,xmm1 - movdqa XMMWORD PTR[32+rsp],xmm2 - movd DWORD PTR[48+rsp],xmm3 - - 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 - movdqu XMMWORD PTR[32+rdi],xmm0 - mov DWORD PTR[48+rdi],r12d - mov DWORD PTR[52+rdi],r13d - mov DWORD PTR[56+rdi],r14d - mov DWORD PTR[60+rdi],r15d - lea rdi,QWORD PTR[64+rdi] + movdqa XMMWORD PTR[32+rsp],xmm2 + movd DWORD PTR[48+rsp],xmm3 + + 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 + movdqu XMMWORD PTR[32+rdi],xmm0 + mov DWORD PTR[48+rdi],r12d + mov DWORD PTR[52+rdi],r13d + mov DWORD PTR[56+rdi],r14d + mov DWORD PTR[60+rdi],r15d + lea rdi,QWORD PTR[64+rdi] sub rbp,64 - jnz $L$oop_outer + jnz $L$oop_outer - jmp $L$done + jmp $L$done ALIGN 16 -$L$tail:: - mov DWORD PTR[rsp],eax - mov DWORD PTR[4+rsp],ebx +$L$tail:: + mov DWORD PTR[rsp],eax + mov DWORD PTR[4+rsp],ebx xor rbx,rbx - mov DWORD PTR[8+rsp],ecx - mov DWORD PTR[12+rsp],edx - mov DWORD PTR[16+rsp],r8d - mov DWORD PTR[20+rsp],r9d - mov DWORD PTR[24+rsp],r10d - mov DWORD PTR[28+rsp],r11d - movdqa XMMWORD PTR[32+rsp],xmm1 - mov DWORD PTR[48+rsp],r12d - mov DWORD PTR[52+rsp],r13d - mov DWORD PTR[56+rsp],r14d - mov DWORD PTR[60+rsp],r15d - -$L$oop_tail:: - movzx eax,BYTE PTR[rbx*1+rsi] - movzx edx,BYTE PTR[rbx*1+rsp] - lea rbx,QWORD PTR[1+rbx] + mov DWORD PTR[8+rsp],ecx + mov DWORD PTR[12+rsp],edx + mov DWORD PTR[16+rsp],r8d + mov DWORD PTR[20+rsp],r9d + mov DWORD PTR[24+rsp],r10d + mov DWORD PTR[28+rsp],r11d + movdqa XMMWORD PTR[32+rsp],xmm1 + mov DWORD PTR[48+rsp],r12d + mov DWORD PTR[52+rsp],r13d + mov DWORD PTR[56+rsp],r14d + mov DWORD PTR[60+rsp],r15d + +$L$oop_tail:: + movzx eax,BYTE PTR[rbx*1+rsi] + movzx edx,BYTE PTR[rbx*1+rsp] + lea rbx,QWORD PTR[1+rbx] xor eax,edx - mov BYTE PTR[((-1))+rbx*1+rdi],al + mov BYTE PTR[((-1))+rbx*1+rdi],al dec rbp - jnz $L$oop_tail + jnz $L$oop_tail -$L$done:: - lea rsi,QWORD PTR[((64+24+48))+rsp] +$L$done:: + lea rsi,QWORD PTR[((64+24+48))+rsp] - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$no_data:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$no_data:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ChaCha20_ctr32:: -ChaCha20_ctr32 ENDP +$L$SEH_end_ChaCha20_ctr32:: +ChaCha20_ctr32 ENDP ALIGN 32 -ChaCha20_ssse3 PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ChaCha20_ssse3 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ChaCha20_ssse3:: +$L$SEH_begin_ChaCha20_ssse3:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] + mov r8,QWORD PTR[40+rsp] -$L$ChaCha20_ssse3:: +$L$ChaCha20_ssse3:: mov r9,rsp test r10d,2048 - jnz $L$ChaCha20_4xop + jnz $L$ChaCha20_4xop cmp rdx,128 - je $L$ChaCha20_128 - ja $L$ChaCha20_4x - -$L$do_sse3_after_all:: - sub rsp,64+168 - movaps XMMWORD PTR[(-40)+r9],xmm6 - movaps XMMWORD PTR[(-24)+r9],xmm7 -$L$ssse3_body:: - movdqa xmm0,XMMWORD PTR[$L$sigma] - movdqu xmm1,XMMWORD PTR[rcx] - movdqu xmm2,XMMWORD PTR[16+rcx] - movdqu xmm3,XMMWORD PTR[r8] - movdqa xmm6,XMMWORD PTR[$L$rot16] - movdqa xmm7,XMMWORD PTR[$L$rot24] - - movdqa XMMWORD PTR[rsp],xmm0 - movdqa XMMWORD PTR[16+rsp],xmm1 - movdqa XMMWORD PTR[32+rsp],xmm2 - movdqa XMMWORD PTR[48+rsp],xmm3 + je $L$ChaCha20_128 + ja $L$ChaCha20_4x + +$L$do_sse3_after_all:: + sub rsp,64+168 + movaps XMMWORD PTR[(-40)+r9],xmm6 + movaps XMMWORD PTR[(-24)+r9],xmm7 +$L$ssse3_body:: + movdqa xmm0,XMMWORD PTR[$L$sigma] + movdqu xmm1,XMMWORD PTR[rcx] + movdqu xmm2,XMMWORD PTR[16+rcx] + movdqu xmm3,XMMWORD PTR[r8] + movdqa xmm6,XMMWORD PTR[$L$rot16] + movdqa xmm7,XMMWORD PTR[$L$rot24] + + movdqa XMMWORD PTR[rsp],xmm0 + movdqa XMMWORD PTR[16+rsp],xmm1 + movdqa XMMWORD PTR[32+rsp],xmm2 + movdqa XMMWORD PTR[48+rsp],xmm3 mov r8,10 - jmp $L$oop_ssse3 + jmp $L$oop_ssse3 ALIGN 32 -$L$oop_outer_ssse3:: - movdqa xmm3,XMMWORD PTR[$L$one] - movdqa xmm0,XMMWORD PTR[rsp] - movdqa xmm1,XMMWORD PTR[16+rsp] - movdqa xmm2,XMMWORD PTR[32+rsp] - paddd xmm3,XMMWORD PTR[48+rsp] +$L$oop_outer_ssse3:: + movdqa xmm3,XMMWORD PTR[$L$one] + movdqa xmm0,XMMWORD PTR[rsp] + movdqa xmm1,XMMWORD PTR[16+rsp] + movdqa xmm2,XMMWORD PTR[32+rsp] + paddd xmm3,XMMWORD PTR[48+rsp] mov r8,10 - movdqa XMMWORD PTR[48+rsp],xmm3 - jmp $L$oop_ssse3 + movdqa XMMWORD PTR[48+rsp],xmm3 + jmp $L$oop_ssse3 ALIGN 32 -$L$oop_ssse3:: +$L$oop_ssse3:: paddd xmm0,xmm1 pxor xmm3,xmm0 DB 102,15,56,0,222 @@ -435,112 +435,112 @@ DB 102,15,56,0,223 pshufd xmm1,xmm1,147 pshufd xmm3,xmm3,57 dec r8 - jnz $L$oop_ssse3 - paddd xmm0,XMMWORD PTR[rsp] - paddd xmm1,XMMWORD PTR[16+rsp] - paddd xmm2,XMMWORD PTR[32+rsp] - paddd xmm3,XMMWORD PTR[48+rsp] + jnz $L$oop_ssse3 + paddd xmm0,XMMWORD PTR[rsp] + paddd xmm1,XMMWORD PTR[16+rsp] + paddd xmm2,XMMWORD PTR[32+rsp] + paddd xmm3,XMMWORD PTR[48+rsp] cmp rdx,64 - jb $L$tail_ssse3 + jb $L$tail_ssse3 - movdqu xmm4,XMMWORD PTR[rsi] - movdqu xmm5,XMMWORD PTR[16+rsi] + movdqu xmm4,XMMWORD PTR[rsi] + movdqu xmm5,XMMWORD PTR[16+rsi] pxor xmm0,xmm4 - movdqu xmm4,XMMWORD PTR[32+rsi] + movdqu xmm4,XMMWORD PTR[32+rsi] pxor xmm1,xmm5 - movdqu xmm5,XMMWORD PTR[48+rsi] - lea rsi,QWORD PTR[64+rsi] + movdqu xmm5,XMMWORD PTR[48+rsi] + lea rsi,QWORD PTR[64+rsi] pxor xmm2,xmm4 pxor xmm3,xmm5 - movdqu XMMWORD PTR[rdi],xmm0 - movdqu XMMWORD PTR[16+rdi],xmm1 - movdqu XMMWORD PTR[32+rdi],xmm2 - movdqu XMMWORD PTR[48+rdi],xmm3 - lea rdi,QWORD PTR[64+rdi] + movdqu XMMWORD PTR[rdi],xmm0 + movdqu XMMWORD PTR[16+rdi],xmm1 + movdqu XMMWORD PTR[32+rdi],xmm2 + movdqu XMMWORD PTR[48+rdi],xmm3 + lea rdi,QWORD PTR[64+rdi] sub rdx,64 - jnz $L$oop_outer_ssse3 + jnz $L$oop_outer_ssse3 - jmp $L$done_ssse3 + jmp $L$done_ssse3 ALIGN 16 -$L$tail_ssse3:: - movdqa XMMWORD PTR[rsp],xmm0 - movdqa XMMWORD PTR[16+rsp],xmm1 - movdqa XMMWORD PTR[32+rsp],xmm2 - movdqa XMMWORD PTR[48+rsp],xmm3 +$L$tail_ssse3:: + movdqa XMMWORD PTR[rsp],xmm0 + movdqa XMMWORD PTR[16+rsp],xmm1 + movdqa XMMWORD PTR[32+rsp],xmm2 + movdqa XMMWORD PTR[48+rsp],xmm3 xor r8,r8 -$L$oop_tail_ssse3:: - movzx eax,BYTE PTR[r8*1+rsi] - movzx ecx,BYTE PTR[r8*1+rsp] - lea r8,QWORD PTR[1+r8] +$L$oop_tail_ssse3:: + movzx eax,BYTE PTR[r8*1+rsi] + movzx ecx,BYTE PTR[r8*1+rsp] + lea r8,QWORD PTR[1+r8] xor eax,ecx - mov BYTE PTR[((-1))+r8*1+rdi],al + mov BYTE PTR[((-1))+r8*1+rdi],al dec rdx - jnz $L$oop_tail_ssse3 + jnz $L$oop_tail_ssse3 -$L$done_ssse3:: - movaps xmm6,XMMWORD PTR[((-40))+r9] - movaps xmm7,XMMWORD PTR[((-24))+r9] - lea rsp,QWORD PTR[r9] +$L$done_ssse3:: + movaps xmm6,XMMWORD PTR[((-40))+r9] + movaps xmm7,XMMWORD PTR[((-24))+r9] + lea rsp,QWORD PTR[r9] -$L$ssse3_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$ssse3_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ChaCha20_ssse3:: -ChaCha20_ssse3 ENDP +$L$SEH_end_ChaCha20_ssse3:: +ChaCha20_ssse3 ENDP ALIGN 32 -ChaCha20_128 PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ChaCha20_128 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ChaCha20_128:: +$L$SEH_begin_ChaCha20_128:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] + mov r8,QWORD PTR[40+rsp] -$L$ChaCha20_128:: +$L$ChaCha20_128:: mov r9,rsp sub rsp,64+104 - movaps XMMWORD PTR[(-104)+r9],xmm6 - movaps XMMWORD PTR[(-88)+r9],xmm7 - movaps XMMWORD PTR[(-72)+r9],xmm8 - movaps XMMWORD PTR[(-56)+r9],xmm9 - movaps XMMWORD PTR[(-40)+r9],xmm10 - movaps XMMWORD PTR[(-24)+r9],xmm11 -$L$128_body:: - movdqa xmm8,XMMWORD PTR[$L$sigma] - movdqu xmm9,XMMWORD PTR[rcx] - movdqu xmm2,XMMWORD PTR[16+rcx] - movdqu xmm3,XMMWORD PTR[r8] - movdqa xmm1,XMMWORD PTR[$L$one] - movdqa xmm6,XMMWORD PTR[$L$rot16] - movdqa xmm7,XMMWORD PTR[$L$rot24] + movaps XMMWORD PTR[(-104)+r9],xmm6 + movaps XMMWORD PTR[(-88)+r9],xmm7 + movaps XMMWORD PTR[(-72)+r9],xmm8 + movaps XMMWORD PTR[(-56)+r9],xmm9 + movaps XMMWORD PTR[(-40)+r9],xmm10 + movaps XMMWORD PTR[(-24)+r9],xmm11 +$L$128_body:: + movdqa xmm8,XMMWORD PTR[$L$sigma] + movdqu xmm9,XMMWORD PTR[rcx] + movdqu xmm2,XMMWORD PTR[16+rcx] + movdqu xmm3,XMMWORD PTR[r8] + movdqa xmm1,XMMWORD PTR[$L$one] + movdqa xmm6,XMMWORD PTR[$L$rot16] + movdqa xmm7,XMMWORD PTR[$L$rot24] movdqa xmm10,xmm8 - movdqa XMMWORD PTR[rsp],xmm8 + movdqa XMMWORD PTR[rsp],xmm8 movdqa xmm11,xmm9 - movdqa XMMWORD PTR[16+rsp],xmm9 + movdqa XMMWORD PTR[16+rsp],xmm9 movdqa xmm0,xmm2 - movdqa XMMWORD PTR[32+rsp],xmm2 + movdqa XMMWORD PTR[32+rsp],xmm2 paddd xmm1,xmm3 - movdqa XMMWORD PTR[48+rsp],xmm3 + movdqa XMMWORD PTR[48+rsp],xmm3 mov r8,10 - jmp $L$oop_128 + jmp $L$oop_128 ALIGN 32 -$L$oop_128:: +$L$oop_128:: paddd xmm8,xmm9 pxor xmm3,xmm8 paddd xmm10,xmm11 @@ -626,175 +626,175 @@ DB 102,15,56,0,207 pshufd xmm11,xmm11,147 pshufd xmm1,xmm1,57 dec r8 - jnz $L$oop_128 - paddd xmm8,XMMWORD PTR[rsp] - paddd xmm9,XMMWORD PTR[16+rsp] - paddd xmm2,XMMWORD PTR[32+rsp] - paddd xmm3,XMMWORD PTR[48+rsp] - paddd xmm1,XMMWORD PTR[$L$one] - paddd xmm10,XMMWORD PTR[rsp] - paddd xmm11,XMMWORD PTR[16+rsp] - paddd xmm0,XMMWORD PTR[32+rsp] - paddd xmm1,XMMWORD PTR[48+rsp] - - movdqu xmm4,XMMWORD PTR[rsi] - movdqu xmm5,XMMWORD PTR[16+rsi] + jnz $L$oop_128 + paddd xmm8,XMMWORD PTR[rsp] + paddd xmm9,XMMWORD PTR[16+rsp] + paddd xmm2,XMMWORD PTR[32+rsp] + paddd xmm3,XMMWORD PTR[48+rsp] + paddd xmm1,XMMWORD PTR[$L$one] + paddd xmm10,XMMWORD PTR[rsp] + paddd xmm11,XMMWORD PTR[16+rsp] + paddd xmm0,XMMWORD PTR[32+rsp] + paddd xmm1,XMMWORD PTR[48+rsp] + + movdqu xmm4,XMMWORD PTR[rsi] + movdqu xmm5,XMMWORD PTR[16+rsi] pxor xmm8,xmm4 - movdqu xmm4,XMMWORD PTR[32+rsi] + movdqu xmm4,XMMWORD PTR[32+rsi] pxor xmm9,xmm5 - movdqu xmm5,XMMWORD PTR[48+rsi] + movdqu xmm5,XMMWORD PTR[48+rsi] pxor xmm2,xmm4 - movdqu xmm4,XMMWORD PTR[64+rsi] + movdqu xmm4,XMMWORD PTR[64+rsi] pxor xmm3,xmm5 - movdqu xmm5,XMMWORD PTR[80+rsi] + movdqu xmm5,XMMWORD PTR[80+rsi] pxor xmm10,xmm4 - movdqu xmm4,XMMWORD PTR[96+rsi] + movdqu xmm4,XMMWORD PTR[96+rsi] pxor xmm11,xmm5 - movdqu xmm5,XMMWORD PTR[112+rsi] + movdqu xmm5,XMMWORD PTR[112+rsi] pxor xmm0,xmm4 pxor xmm1,xmm5 - movdqu XMMWORD PTR[rdi],xmm8 - movdqu XMMWORD PTR[16+rdi],xmm9 - movdqu XMMWORD PTR[32+rdi],xmm2 - movdqu XMMWORD PTR[48+rdi],xmm3 - movdqu XMMWORD PTR[64+rdi],xmm10 - movdqu XMMWORD PTR[80+rdi],xmm11 - movdqu XMMWORD PTR[96+rdi],xmm0 - movdqu XMMWORD PTR[112+rdi],xmm1 - movaps xmm6,XMMWORD PTR[((-104))+r9] - movaps xmm7,XMMWORD PTR[((-88))+r9] - movaps xmm8,XMMWORD PTR[((-72))+r9] - movaps xmm9,XMMWORD PTR[((-56))+r9] - movaps xmm10,XMMWORD PTR[((-40))+r9] - movaps xmm11,XMMWORD PTR[((-24))+r9] - lea rsp,QWORD PTR[r9] - -$L$128_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movdqu XMMWORD PTR[rdi],xmm8 + movdqu XMMWORD PTR[16+rdi],xmm9 + movdqu XMMWORD PTR[32+rdi],xmm2 + movdqu XMMWORD PTR[48+rdi],xmm3 + movdqu XMMWORD PTR[64+rdi],xmm10 + movdqu XMMWORD PTR[80+rdi],xmm11 + movdqu XMMWORD PTR[96+rdi],xmm0 + movdqu XMMWORD PTR[112+rdi],xmm1 + movaps xmm6,XMMWORD PTR[((-104))+r9] + movaps xmm7,XMMWORD PTR[((-88))+r9] + movaps xmm8,XMMWORD PTR[((-72))+r9] + movaps xmm9,XMMWORD PTR[((-56))+r9] + movaps xmm10,XMMWORD PTR[((-40))+r9] + movaps xmm11,XMMWORD PTR[((-24))+r9] + lea rsp,QWORD PTR[r9] + +$L$128_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ChaCha20_128:: -ChaCha20_128 ENDP +$L$SEH_end_ChaCha20_128:: +ChaCha20_128 ENDP ALIGN 32 -ChaCha20_4x PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ChaCha20_4x PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ChaCha20_4x:: +$L$SEH_begin_ChaCha20_4x:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] + mov r8,QWORD PTR[40+rsp] -$L$ChaCha20_4x:: +$L$ChaCha20_4x:: mov r9,rsp mov r11,r10 shr r10,32 test r10,32 - jnz $L$ChaCha20_8x + jnz $L$ChaCha20_8x cmp rdx,192 - ja $L$proceed4x + ja $L$proceed4x and r11,71303168 cmp r11,4194304 - je $L$do_sse3_after_all - -$L$proceed4x:: - sub rsp,0140h+168 - movaps XMMWORD PTR[(-168)+r9],xmm6 - movaps XMMWORD PTR[(-152)+r9],xmm7 - movaps XMMWORD PTR[(-136)+r9],xmm8 - movaps XMMWORD PTR[(-120)+r9],xmm9 - movaps XMMWORD PTR[(-104)+r9],xmm10 - movaps XMMWORD PTR[(-88)+r9],xmm11 - movaps XMMWORD PTR[(-72)+r9],xmm12 - movaps XMMWORD PTR[(-56)+r9],xmm13 - movaps XMMWORD PTR[(-40)+r9],xmm14 - movaps XMMWORD PTR[(-24)+r9],xmm15 -$L$4x_body:: - movdqa xmm11,XMMWORD PTR[$L$sigma] - movdqu xmm15,XMMWORD PTR[rcx] - movdqu xmm7,XMMWORD PTR[16+rcx] - movdqu xmm3,XMMWORD PTR[r8] - lea rcx,QWORD PTR[256+rsp] - lea r10,QWORD PTR[$L$rot16] - lea r11,QWORD PTR[$L$rot24] - - pshufd xmm8,xmm11,000h - pshufd xmm9,xmm11,055h - movdqa XMMWORD PTR[64+rsp],xmm8 - pshufd xmm10,xmm11,0aah - movdqa XMMWORD PTR[80+rsp],xmm9 - pshufd xmm11,xmm11,0ffh - movdqa XMMWORD PTR[96+rsp],xmm10 - movdqa XMMWORD PTR[112+rsp],xmm11 - - pshufd xmm12,xmm15,000h - pshufd xmm13,xmm15,055h - movdqa XMMWORD PTR[(128-256)+rcx],xmm12 - pshufd xmm14,xmm15,0aah - movdqa XMMWORD PTR[(144-256)+rcx],xmm13 - pshufd xmm15,xmm15,0ffh - movdqa XMMWORD PTR[(160-256)+rcx],xmm14 - movdqa XMMWORD PTR[(176-256)+rcx],xmm15 - - pshufd xmm4,xmm7,000h - pshufd xmm5,xmm7,055h - movdqa XMMWORD PTR[(192-256)+rcx],xmm4 - pshufd xmm6,xmm7,0aah - movdqa XMMWORD PTR[(208-256)+rcx],xmm5 - pshufd xmm7,xmm7,0ffh - movdqa XMMWORD PTR[(224-256)+rcx],xmm6 - movdqa XMMWORD PTR[(240-256)+rcx],xmm7 - - pshufd xmm0,xmm3,000h - pshufd xmm1,xmm3,055h - paddd xmm0,XMMWORD PTR[$L$inc] - pshufd xmm2,xmm3,0aah - movdqa XMMWORD PTR[(272-256)+rcx],xmm1 - pshufd xmm3,xmm3,0ffh - movdqa XMMWORD PTR[(288-256)+rcx],xmm2 - movdqa XMMWORD PTR[(304-256)+rcx],xmm3 - - jmp $L$oop_enter4x + je $L$do_sse3_after_all + +$L$proceed4x:: + sub rsp,0140h+168 + movaps XMMWORD PTR[(-168)+r9],xmm6 + movaps XMMWORD PTR[(-152)+r9],xmm7 + movaps XMMWORD PTR[(-136)+r9],xmm8 + movaps XMMWORD PTR[(-120)+r9],xmm9 + movaps XMMWORD PTR[(-104)+r9],xmm10 + movaps XMMWORD PTR[(-88)+r9],xmm11 + movaps XMMWORD PTR[(-72)+r9],xmm12 + movaps XMMWORD PTR[(-56)+r9],xmm13 + movaps XMMWORD PTR[(-40)+r9],xmm14 + movaps XMMWORD PTR[(-24)+r9],xmm15 +$L$4x_body:: + movdqa xmm11,XMMWORD PTR[$L$sigma] + movdqu xmm15,XMMWORD PTR[rcx] + movdqu xmm7,XMMWORD PTR[16+rcx] + movdqu xmm3,XMMWORD PTR[r8] + lea rcx,QWORD PTR[256+rsp] + lea r10,QWORD PTR[$L$rot16] + lea r11,QWORD PTR[$L$rot24] + + pshufd xmm8,xmm11,000h + pshufd xmm9,xmm11,055h + movdqa XMMWORD PTR[64+rsp],xmm8 + pshufd xmm10,xmm11,0aah + movdqa XMMWORD PTR[80+rsp],xmm9 + pshufd xmm11,xmm11,0ffh + movdqa XMMWORD PTR[96+rsp],xmm10 + movdqa XMMWORD PTR[112+rsp],xmm11 + + pshufd xmm12,xmm15,000h + pshufd xmm13,xmm15,055h + movdqa XMMWORD PTR[(128-256)+rcx],xmm12 + pshufd xmm14,xmm15,0aah + movdqa XMMWORD PTR[(144-256)+rcx],xmm13 + pshufd xmm15,xmm15,0ffh + movdqa XMMWORD PTR[(160-256)+rcx],xmm14 + movdqa XMMWORD PTR[(176-256)+rcx],xmm15 + + pshufd xmm4,xmm7,000h + pshufd xmm5,xmm7,055h + movdqa XMMWORD PTR[(192-256)+rcx],xmm4 + pshufd xmm6,xmm7,0aah + movdqa XMMWORD PTR[(208-256)+rcx],xmm5 + pshufd xmm7,xmm7,0ffh + movdqa XMMWORD PTR[(224-256)+rcx],xmm6 + movdqa XMMWORD PTR[(240-256)+rcx],xmm7 + + pshufd xmm0,xmm3,000h + pshufd xmm1,xmm3,055h + paddd xmm0,XMMWORD PTR[$L$inc] + pshufd xmm2,xmm3,0aah + movdqa XMMWORD PTR[(272-256)+rcx],xmm1 + pshufd xmm3,xmm3,0ffh + movdqa XMMWORD PTR[(288-256)+rcx],xmm2 + movdqa XMMWORD PTR[(304-256)+rcx],xmm3 + + jmp $L$oop_enter4x ALIGN 32 -$L$oop_outer4x:: - movdqa xmm8,XMMWORD PTR[64+rsp] - movdqa xmm9,XMMWORD PTR[80+rsp] - movdqa xmm10,XMMWORD PTR[96+rsp] - movdqa xmm11,XMMWORD PTR[112+rsp] - movdqa xmm12,XMMWORD PTR[((128-256))+rcx] - movdqa xmm13,XMMWORD PTR[((144-256))+rcx] - movdqa xmm14,XMMWORD PTR[((160-256))+rcx] - movdqa xmm15,XMMWORD PTR[((176-256))+rcx] - movdqa xmm4,XMMWORD PTR[((192-256))+rcx] - movdqa xmm5,XMMWORD PTR[((208-256))+rcx] - movdqa xmm6,XMMWORD PTR[((224-256))+rcx] - movdqa xmm7,XMMWORD PTR[((240-256))+rcx] - movdqa xmm0,XMMWORD PTR[((256-256))+rcx] - movdqa xmm1,XMMWORD PTR[((272-256))+rcx] - movdqa xmm2,XMMWORD PTR[((288-256))+rcx] - movdqa xmm3,XMMWORD PTR[((304-256))+rcx] - paddd xmm0,XMMWORD PTR[$L$four] - -$L$oop_enter4x:: - movdqa XMMWORD PTR[32+rsp],xmm6 - movdqa XMMWORD PTR[48+rsp],xmm7 - movdqa xmm7,XMMWORD PTR[r10] +$L$oop_outer4x:: + movdqa xmm8,XMMWORD PTR[64+rsp] + movdqa xmm9,XMMWORD PTR[80+rsp] + movdqa xmm10,XMMWORD PTR[96+rsp] + movdqa xmm11,XMMWORD PTR[112+rsp] + movdqa xmm12,XMMWORD PTR[((128-256))+rcx] + movdqa xmm13,XMMWORD PTR[((144-256))+rcx] + movdqa xmm14,XMMWORD PTR[((160-256))+rcx] + movdqa xmm15,XMMWORD PTR[((176-256))+rcx] + movdqa xmm4,XMMWORD PTR[((192-256))+rcx] + movdqa xmm5,XMMWORD PTR[((208-256))+rcx] + movdqa xmm6,XMMWORD PTR[((224-256))+rcx] + movdqa xmm7,XMMWORD PTR[((240-256))+rcx] + movdqa xmm0,XMMWORD PTR[((256-256))+rcx] + movdqa xmm1,XMMWORD PTR[((272-256))+rcx] + movdqa xmm2,XMMWORD PTR[((288-256))+rcx] + movdqa xmm3,XMMWORD PTR[((304-256))+rcx] + paddd xmm0,XMMWORD PTR[$L$four] + +$L$oop_enter4x:: + movdqa XMMWORD PTR[32+rsp],xmm6 + movdqa XMMWORD PTR[48+rsp],xmm7 + movdqa xmm7,XMMWORD PTR[r10] mov eax,10 - movdqa XMMWORD PTR[(256-256)+rcx],xmm0 - jmp $L$oop4x + movdqa XMMWORD PTR[(256-256)+rcx],xmm0 + jmp $L$oop4x ALIGN 32 -$L$oop4x:: +$L$oop4x:: paddd xmm8,xmm12 paddd xmm9,xmm13 pxor xmm0,xmm8 @@ -812,7 +812,7 @@ DB 102,15,56,0,207 pslld xmm13,12 por xmm12,xmm6 psrld xmm7,20 - movdqa xmm6,XMMWORD PTR[r11] + movdqa xmm6,XMMWORD PTR[r11] por xmm13,xmm7 paddd xmm8,xmm12 paddd xmm9,xmm13 @@ -831,12 +831,12 @@ DB 102,15,56,0,206 pslld xmm13,7 por xmm12,xmm7 psrld xmm6,25 - movdqa xmm7,XMMWORD PTR[r10] + movdqa xmm7,XMMWORD PTR[r10] por xmm13,xmm6 - movdqa XMMWORD PTR[rsp],xmm4 - movdqa XMMWORD PTR[16+rsp],xmm5 - movdqa xmm4,XMMWORD PTR[32+rsp] - movdqa xmm5,XMMWORD PTR[48+rsp] + movdqa XMMWORD PTR[rsp],xmm4 + movdqa XMMWORD PTR[16+rsp],xmm5 + movdqa xmm4,XMMWORD PTR[32+rsp] + movdqa xmm5,XMMWORD PTR[48+rsp] paddd xmm10,xmm14 paddd xmm11,xmm15 pxor xmm2,xmm10 @@ -854,7 +854,7 @@ DB 102,15,56,0,223 pslld xmm15,12 por xmm14,xmm6 psrld xmm7,20 - movdqa xmm6,XMMWORD PTR[r11] + movdqa xmm6,XMMWORD PTR[r11] por xmm15,xmm7 paddd xmm10,xmm14 paddd xmm11,xmm15 @@ -873,7 +873,7 @@ DB 102,15,56,0,222 pslld xmm15,7 por xmm14,xmm7 psrld xmm6,25 - movdqa xmm7,XMMWORD PTR[r10] + movdqa xmm7,XMMWORD PTR[r10] por xmm15,xmm6 paddd xmm8,xmm13 paddd xmm9,xmm14 @@ -892,7 +892,7 @@ DB 102,15,56,0,199 pslld xmm14,12 por xmm13,xmm6 psrld xmm7,20 - movdqa xmm6,XMMWORD PTR[r11] + movdqa xmm6,XMMWORD PTR[r11] por xmm14,xmm7 paddd xmm8,xmm13 paddd xmm9,xmm14 @@ -911,12 +911,12 @@ DB 102,15,56,0,198 pslld xmm14,7 por xmm13,xmm7 psrld xmm6,25 - movdqa xmm7,XMMWORD PTR[r10] + movdqa xmm7,XMMWORD PTR[r10] por xmm14,xmm6 - movdqa XMMWORD PTR[32+rsp],xmm4 - movdqa XMMWORD PTR[48+rsp],xmm5 - movdqa xmm4,XMMWORD PTR[rsp] - movdqa xmm5,XMMWORD PTR[16+rsp] + movdqa XMMWORD PTR[32+rsp],xmm4 + movdqa XMMWORD PTR[48+rsp],xmm5 + movdqa xmm4,XMMWORD PTR[rsp] + movdqa xmm5,XMMWORD PTR[16+rsp] paddd xmm10,xmm15 paddd xmm11,xmm12 pxor xmm1,xmm10 @@ -934,7 +934,7 @@ DB 102,15,56,0,215 pslld xmm12,12 por xmm15,xmm6 psrld xmm7,20 - movdqa xmm6,XMMWORD PTR[r11] + movdqa xmm6,XMMWORD PTR[r11] por xmm12,xmm7 paddd xmm10,xmm15 paddd xmm11,xmm12 @@ -953,15 +953,15 @@ DB 102,15,56,0,214 pslld xmm12,7 por xmm15,xmm7 psrld xmm6,25 - movdqa xmm7,XMMWORD PTR[r10] + movdqa xmm7,XMMWORD PTR[r10] por xmm12,xmm6 dec eax - jnz $L$oop4x + jnz $L$oop4x - paddd xmm8,XMMWORD PTR[64+rsp] - paddd xmm9,XMMWORD PTR[80+rsp] - paddd xmm10,XMMWORD PTR[96+rsp] - paddd xmm11,XMMWORD PTR[112+rsp] + paddd xmm8,XMMWORD PTR[64+rsp] + paddd xmm9,XMMWORD PTR[80+rsp] + paddd xmm10,XMMWORD PTR[96+rsp] + paddd xmm11,XMMWORD PTR[112+rsp] movdqa xmm6,xmm8 punpckldq xmm8,xmm9 @@ -975,15 +975,15 @@ DB 102,15,56,0,214 punpcklqdq xmm6,xmm7 punpckhqdq xmm9,xmm10 punpckhqdq xmm11,xmm7 - paddd xmm12,XMMWORD PTR[((128-256))+rcx] - paddd xmm13,XMMWORD PTR[((144-256))+rcx] - paddd xmm14,XMMWORD PTR[((160-256))+rcx] - paddd xmm15,XMMWORD PTR[((176-256))+rcx] + paddd xmm12,XMMWORD PTR[((128-256))+rcx] + paddd xmm13,XMMWORD PTR[((144-256))+rcx] + paddd xmm14,XMMWORD PTR[((160-256))+rcx] + paddd xmm15,XMMWORD PTR[((176-256))+rcx] - movdqa XMMWORD PTR[rsp],xmm8 - movdqa XMMWORD PTR[16+rsp],xmm9 - movdqa xmm8,XMMWORD PTR[32+rsp] - movdqa xmm9,XMMWORD PTR[48+rsp] + movdqa XMMWORD PTR[rsp],xmm8 + movdqa XMMWORD PTR[16+rsp],xmm9 + movdqa xmm8,XMMWORD PTR[32+rsp] + movdqa xmm9,XMMWORD PTR[48+rsp] movdqa xmm10,xmm12 punpckldq xmm12,xmm13 @@ -997,13 +997,13 @@ DB 102,15,56,0,214 punpcklqdq xmm10,xmm7 punpckhqdq xmm13,xmm14 punpckhqdq xmm15,xmm7 - paddd xmm4,XMMWORD PTR[((192-256))+rcx] - paddd xmm5,XMMWORD PTR[((208-256))+rcx] - paddd xmm8,XMMWORD PTR[((224-256))+rcx] - paddd xmm9,XMMWORD PTR[((240-256))+rcx] + paddd xmm4,XMMWORD PTR[((192-256))+rcx] + paddd xmm5,XMMWORD PTR[((208-256))+rcx] + paddd xmm8,XMMWORD PTR[((224-256))+rcx] + paddd xmm9,XMMWORD PTR[((240-256))+rcx] - movdqa XMMWORD PTR[32+rsp],xmm6 - movdqa XMMWORD PTR[48+rsp],xmm11 + movdqa XMMWORD PTR[32+rsp],xmm6 + movdqa XMMWORD PTR[48+rsp],xmm11 movdqa xmm14,xmm4 punpckldq xmm4,xmm5 @@ -1017,10 +1017,10 @@ DB 102,15,56,0,214 punpcklqdq xmm14,xmm7 punpckhqdq xmm5,xmm8 punpckhqdq xmm9,xmm7 - paddd xmm0,XMMWORD PTR[((256-256))+rcx] - paddd xmm1,XMMWORD PTR[((272-256))+rcx] - paddd xmm2,XMMWORD PTR[((288-256))+rcx] - paddd xmm3,XMMWORD PTR[((304-256))+rcx] + paddd xmm0,XMMWORD PTR[((256-256))+rcx] + paddd xmm1,XMMWORD PTR[((272-256))+rcx] + paddd xmm2,XMMWORD PTR[((288-256))+rcx] + paddd xmm3,XMMWORD PTR[((304-256))+rcx] movdqa xmm8,xmm0 punpckldq xmm0,xmm1 @@ -1035,338 +1035,338 @@ DB 102,15,56,0,214 punpckhqdq xmm1,xmm2 punpckhqdq xmm3,xmm7 cmp rdx,64*4 - jb $L$tail4x + jb $L$tail4x - movdqu xmm6,XMMWORD PTR[rsi] - movdqu xmm11,XMMWORD PTR[16+rsi] - movdqu xmm2,XMMWORD PTR[32+rsi] - movdqu xmm7,XMMWORD PTR[48+rsi] - pxor xmm6,XMMWORD PTR[rsp] + movdqu xmm6,XMMWORD PTR[rsi] + movdqu xmm11,XMMWORD PTR[16+rsi] + movdqu xmm2,XMMWORD PTR[32+rsi] + movdqu xmm7,XMMWORD PTR[48+rsi] + pxor xmm6,XMMWORD PTR[rsp] pxor xmm11,xmm12 pxor xmm2,xmm4 pxor xmm7,xmm0 - movdqu XMMWORD PTR[rdi],xmm6 - movdqu xmm6,XMMWORD PTR[64+rsi] - movdqu XMMWORD PTR[16+rdi],xmm11 - movdqu xmm11,XMMWORD PTR[80+rsi] - movdqu XMMWORD PTR[32+rdi],xmm2 - movdqu xmm2,XMMWORD PTR[96+rsi] - movdqu XMMWORD PTR[48+rdi],xmm7 - movdqu xmm7,XMMWORD PTR[112+rsi] - lea rsi,QWORD PTR[128+rsi] - pxor xmm6,XMMWORD PTR[16+rsp] + movdqu XMMWORD PTR[rdi],xmm6 + movdqu xmm6,XMMWORD PTR[64+rsi] + movdqu XMMWORD PTR[16+rdi],xmm11 + movdqu xmm11,XMMWORD PTR[80+rsi] + movdqu XMMWORD PTR[32+rdi],xmm2 + movdqu xmm2,XMMWORD PTR[96+rsi] + movdqu XMMWORD PTR[48+rdi],xmm7 + movdqu xmm7,XMMWORD PTR[112+rsi] + lea rsi,QWORD PTR[128+rsi] + pxor xmm6,XMMWORD PTR[16+rsp] pxor xmm11,xmm13 pxor xmm2,xmm5 pxor xmm7,xmm1 - movdqu XMMWORD PTR[64+rdi],xmm6 - movdqu xmm6,XMMWORD PTR[rsi] - movdqu XMMWORD PTR[80+rdi],xmm11 - movdqu xmm11,XMMWORD PTR[16+rsi] - movdqu XMMWORD PTR[96+rdi],xmm2 - movdqu xmm2,XMMWORD PTR[32+rsi] - movdqu XMMWORD PTR[112+rdi],xmm7 - lea rdi,QWORD PTR[128+rdi] - movdqu xmm7,XMMWORD PTR[48+rsi] - pxor xmm6,XMMWORD PTR[32+rsp] + movdqu XMMWORD PTR[64+rdi],xmm6 + movdqu xmm6,XMMWORD PTR[rsi] + movdqu XMMWORD PTR[80+rdi],xmm11 + movdqu xmm11,XMMWORD PTR[16+rsi] + movdqu XMMWORD PTR[96+rdi],xmm2 + movdqu xmm2,XMMWORD PTR[32+rsi] + movdqu XMMWORD PTR[112+rdi],xmm7 + lea rdi,QWORD PTR[128+rdi] + movdqu xmm7,XMMWORD PTR[48+rsi] + pxor xmm6,XMMWORD PTR[32+rsp] pxor xmm11,xmm10 pxor xmm2,xmm14 pxor xmm7,xmm8 - movdqu XMMWORD PTR[rdi],xmm6 - movdqu xmm6,XMMWORD PTR[64+rsi] - movdqu XMMWORD PTR[16+rdi],xmm11 - movdqu xmm11,XMMWORD PTR[80+rsi] - movdqu XMMWORD PTR[32+rdi],xmm2 - movdqu xmm2,XMMWORD PTR[96+rsi] - movdqu XMMWORD PTR[48+rdi],xmm7 - movdqu xmm7,XMMWORD PTR[112+rsi] - lea rsi,QWORD PTR[128+rsi] - pxor xmm6,XMMWORD PTR[48+rsp] + movdqu XMMWORD PTR[rdi],xmm6 + movdqu xmm6,XMMWORD PTR[64+rsi] + movdqu XMMWORD PTR[16+rdi],xmm11 + movdqu xmm11,XMMWORD PTR[80+rsi] + movdqu XMMWORD PTR[32+rdi],xmm2 + movdqu xmm2,XMMWORD PTR[96+rsi] + movdqu XMMWORD PTR[48+rdi],xmm7 + movdqu xmm7,XMMWORD PTR[112+rsi] + lea rsi,QWORD PTR[128+rsi] + pxor xmm6,XMMWORD PTR[48+rsp] pxor xmm11,xmm15 pxor xmm2,xmm9 pxor xmm7,xmm3 - movdqu XMMWORD PTR[64+rdi],xmm6 - movdqu XMMWORD PTR[80+rdi],xmm11 - movdqu XMMWORD PTR[96+rdi],xmm2 - movdqu XMMWORD PTR[112+rdi],xmm7 - lea rdi,QWORD PTR[128+rdi] + movdqu XMMWORD PTR[64+rdi],xmm6 + movdqu XMMWORD PTR[80+rdi],xmm11 + movdqu XMMWORD PTR[96+rdi],xmm2 + movdqu XMMWORD PTR[112+rdi],xmm7 + lea rdi,QWORD PTR[128+rdi] sub rdx,64*4 - jnz $L$oop_outer4x + jnz $L$oop_outer4x - jmp $L$done4x + jmp $L$done4x -$L$tail4x:: +$L$tail4x:: cmp rdx,192 - jae $L$192_or_more4x + jae $L$192_or_more4x cmp rdx,128 - jae $L$128_or_more4x + jae $L$128_or_more4x cmp rdx,64 - jae $L$64_or_more4x + jae $L$64_or_more4x xor r10,r10 - movdqa XMMWORD PTR[16+rsp],xmm12 - movdqa XMMWORD PTR[32+rsp],xmm4 - movdqa XMMWORD PTR[48+rsp],xmm0 - jmp $L$oop_tail4x + movdqa XMMWORD PTR[16+rsp],xmm12 + movdqa XMMWORD PTR[32+rsp],xmm4 + movdqa XMMWORD PTR[48+rsp],xmm0 + jmp $L$oop_tail4x ALIGN 32 -$L$64_or_more4x:: - movdqu xmm6,XMMWORD PTR[rsi] - movdqu xmm11,XMMWORD PTR[16+rsi] - movdqu xmm2,XMMWORD PTR[32+rsi] - movdqu xmm7,XMMWORD PTR[48+rsi] - pxor xmm6,XMMWORD PTR[rsp] +$L$64_or_more4x:: + movdqu xmm6,XMMWORD PTR[rsi] + movdqu xmm11,XMMWORD PTR[16+rsi] + movdqu xmm2,XMMWORD PTR[32+rsi] + movdqu xmm7,XMMWORD PTR[48+rsi] + pxor xmm6,XMMWORD PTR[rsp] pxor xmm11,xmm12 pxor xmm2,xmm4 pxor xmm7,xmm0 - movdqu XMMWORD PTR[rdi],xmm6 - movdqu XMMWORD PTR[16+rdi],xmm11 - movdqu XMMWORD PTR[32+rdi],xmm2 - movdqu XMMWORD PTR[48+rdi],xmm7 - je $L$done4x - - movdqa xmm6,XMMWORD PTR[16+rsp] - lea rsi,QWORD PTR[64+rsi] + movdqu XMMWORD PTR[rdi],xmm6 + movdqu XMMWORD PTR[16+rdi],xmm11 + movdqu XMMWORD PTR[32+rdi],xmm2 + movdqu XMMWORD PTR[48+rdi],xmm7 + je $L$done4x + + movdqa xmm6,XMMWORD PTR[16+rsp] + lea rsi,QWORD PTR[64+rsi] xor r10,r10 - movdqa XMMWORD PTR[rsp],xmm6 - movdqa XMMWORD PTR[16+rsp],xmm13 - lea rdi,QWORD PTR[64+rdi] - movdqa XMMWORD PTR[32+rsp],xmm5 + movdqa XMMWORD PTR[rsp],xmm6 + movdqa XMMWORD PTR[16+rsp],xmm13 + lea rdi,QWORD PTR[64+rdi] + movdqa XMMWORD PTR[32+rsp],xmm5 sub rdx,64 - movdqa XMMWORD PTR[48+rsp],xmm1 - jmp $L$oop_tail4x + movdqa XMMWORD PTR[48+rsp],xmm1 + jmp $L$oop_tail4x ALIGN 32 -$L$128_or_more4x:: - movdqu xmm6,XMMWORD PTR[rsi] - movdqu xmm11,XMMWORD PTR[16+rsi] - movdqu xmm2,XMMWORD PTR[32+rsi] - movdqu xmm7,XMMWORD PTR[48+rsi] - pxor xmm6,XMMWORD PTR[rsp] +$L$128_or_more4x:: + movdqu xmm6,XMMWORD PTR[rsi] + movdqu xmm11,XMMWORD PTR[16+rsi] + movdqu xmm2,XMMWORD PTR[32+rsi] + movdqu xmm7,XMMWORD PTR[48+rsi] + pxor xmm6,XMMWORD PTR[rsp] pxor xmm11,xmm12 pxor xmm2,xmm4 pxor xmm7,xmm0 - movdqu XMMWORD PTR[rdi],xmm6 - movdqu xmm6,XMMWORD PTR[64+rsi] - movdqu XMMWORD PTR[16+rdi],xmm11 - movdqu xmm11,XMMWORD PTR[80+rsi] - movdqu XMMWORD PTR[32+rdi],xmm2 - movdqu xmm2,XMMWORD PTR[96+rsi] - movdqu XMMWORD PTR[48+rdi],xmm7 - movdqu xmm7,XMMWORD PTR[112+rsi] - pxor xmm6,XMMWORD PTR[16+rsp] + movdqu XMMWORD PTR[rdi],xmm6 + movdqu xmm6,XMMWORD PTR[64+rsi] + movdqu XMMWORD PTR[16+rdi],xmm11 + movdqu xmm11,XMMWORD PTR[80+rsi] + movdqu XMMWORD PTR[32+rdi],xmm2 + movdqu xmm2,XMMWORD PTR[96+rsi] + movdqu XMMWORD PTR[48+rdi],xmm7 + movdqu xmm7,XMMWORD PTR[112+rsi] + pxor xmm6,XMMWORD PTR[16+rsp] pxor xmm11,xmm13 pxor xmm2,xmm5 pxor xmm7,xmm1 - movdqu XMMWORD PTR[64+rdi],xmm6 - movdqu XMMWORD PTR[80+rdi],xmm11 - movdqu XMMWORD PTR[96+rdi],xmm2 - movdqu XMMWORD PTR[112+rdi],xmm7 - je $L$done4x - - movdqa xmm6,XMMWORD PTR[32+rsp] - lea rsi,QWORD PTR[128+rsi] + movdqu XMMWORD PTR[64+rdi],xmm6 + movdqu XMMWORD PTR[80+rdi],xmm11 + movdqu XMMWORD PTR[96+rdi],xmm2 + movdqu XMMWORD PTR[112+rdi],xmm7 + je $L$done4x + + movdqa xmm6,XMMWORD PTR[32+rsp] + lea rsi,QWORD PTR[128+rsi] xor r10,r10 - movdqa XMMWORD PTR[rsp],xmm6 - movdqa XMMWORD PTR[16+rsp],xmm10 - lea rdi,QWORD PTR[128+rdi] - movdqa XMMWORD PTR[32+rsp],xmm14 + movdqa XMMWORD PTR[rsp],xmm6 + movdqa XMMWORD PTR[16+rsp],xmm10 + lea rdi,QWORD PTR[128+rdi] + movdqa XMMWORD PTR[32+rsp],xmm14 sub rdx,128 - movdqa XMMWORD PTR[48+rsp],xmm8 - jmp $L$oop_tail4x + movdqa XMMWORD PTR[48+rsp],xmm8 + jmp $L$oop_tail4x ALIGN 32 -$L$192_or_more4x:: - movdqu xmm6,XMMWORD PTR[rsi] - movdqu xmm11,XMMWORD PTR[16+rsi] - movdqu xmm2,XMMWORD PTR[32+rsi] - movdqu xmm7,XMMWORD PTR[48+rsi] - pxor xmm6,XMMWORD PTR[rsp] +$L$192_or_more4x:: + movdqu xmm6,XMMWORD PTR[rsi] + movdqu xmm11,XMMWORD PTR[16+rsi] + movdqu xmm2,XMMWORD PTR[32+rsi] + movdqu xmm7,XMMWORD PTR[48+rsi] + pxor xmm6,XMMWORD PTR[rsp] pxor xmm11,xmm12 pxor xmm2,xmm4 pxor xmm7,xmm0 - movdqu XMMWORD PTR[rdi],xmm6 - movdqu xmm6,XMMWORD PTR[64+rsi] - movdqu XMMWORD PTR[16+rdi],xmm11 - movdqu xmm11,XMMWORD PTR[80+rsi] - movdqu XMMWORD PTR[32+rdi],xmm2 - movdqu xmm2,XMMWORD PTR[96+rsi] - movdqu XMMWORD PTR[48+rdi],xmm7 - movdqu xmm7,XMMWORD PTR[112+rsi] - lea rsi,QWORD PTR[128+rsi] - pxor xmm6,XMMWORD PTR[16+rsp] + movdqu XMMWORD PTR[rdi],xmm6 + movdqu xmm6,XMMWORD PTR[64+rsi] + movdqu XMMWORD PTR[16+rdi],xmm11 + movdqu xmm11,XMMWORD PTR[80+rsi] + movdqu XMMWORD PTR[32+rdi],xmm2 + movdqu xmm2,XMMWORD PTR[96+rsi] + movdqu XMMWORD PTR[48+rdi],xmm7 + movdqu xmm7,XMMWORD PTR[112+rsi] + lea rsi,QWORD PTR[128+rsi] + pxor xmm6,XMMWORD PTR[16+rsp] pxor xmm11,xmm13 pxor xmm2,xmm5 pxor xmm7,xmm1 - movdqu XMMWORD PTR[64+rdi],xmm6 - movdqu xmm6,XMMWORD PTR[rsi] - movdqu XMMWORD PTR[80+rdi],xmm11 - movdqu xmm11,XMMWORD PTR[16+rsi] - movdqu XMMWORD PTR[96+rdi],xmm2 - movdqu xmm2,XMMWORD PTR[32+rsi] - movdqu XMMWORD PTR[112+rdi],xmm7 - lea rdi,QWORD PTR[128+rdi] - movdqu xmm7,XMMWORD PTR[48+rsi] - pxor xmm6,XMMWORD PTR[32+rsp] + movdqu XMMWORD PTR[64+rdi],xmm6 + movdqu xmm6,XMMWORD PTR[rsi] + movdqu XMMWORD PTR[80+rdi],xmm11 + movdqu xmm11,XMMWORD PTR[16+rsi] + movdqu XMMWORD PTR[96+rdi],xmm2 + movdqu xmm2,XMMWORD PTR[32+rsi] + movdqu XMMWORD PTR[112+rdi],xmm7 + lea rdi,QWORD PTR[128+rdi] + movdqu xmm7,XMMWORD PTR[48+rsi] + pxor xmm6,XMMWORD PTR[32+rsp] pxor xmm11,xmm10 pxor xmm2,xmm14 pxor xmm7,xmm8 - movdqu XMMWORD PTR[rdi],xmm6 - movdqu XMMWORD PTR[16+rdi],xmm11 - movdqu XMMWORD PTR[32+rdi],xmm2 - movdqu XMMWORD PTR[48+rdi],xmm7 - je $L$done4x - - movdqa xmm6,XMMWORD PTR[48+rsp] - lea rsi,QWORD PTR[64+rsi] + movdqu XMMWORD PTR[rdi],xmm6 + movdqu XMMWORD PTR[16+rdi],xmm11 + movdqu XMMWORD PTR[32+rdi],xmm2 + movdqu XMMWORD PTR[48+rdi],xmm7 + je $L$done4x + + movdqa xmm6,XMMWORD PTR[48+rsp] + lea rsi,QWORD PTR[64+rsi] xor r10,r10 - movdqa XMMWORD PTR[rsp],xmm6 - movdqa XMMWORD PTR[16+rsp],xmm15 - lea rdi,QWORD PTR[64+rdi] - movdqa XMMWORD PTR[32+rsp],xmm9 + movdqa XMMWORD PTR[rsp],xmm6 + movdqa XMMWORD PTR[16+rsp],xmm15 + lea rdi,QWORD PTR[64+rdi] + movdqa XMMWORD PTR[32+rsp],xmm9 sub rdx,192 - movdqa XMMWORD PTR[48+rsp],xmm3 + movdqa XMMWORD PTR[48+rsp],xmm3 -$L$oop_tail4x:: - movzx eax,BYTE PTR[r10*1+rsi] - movzx ecx,BYTE PTR[r10*1+rsp] - lea r10,QWORD PTR[1+r10] +$L$oop_tail4x:: + movzx eax,BYTE PTR[r10*1+rsi] + movzx ecx,BYTE PTR[r10*1+rsp] + lea r10,QWORD PTR[1+r10] xor eax,ecx - mov BYTE PTR[((-1))+r10*1+rdi],al + mov BYTE PTR[((-1))+r10*1+rdi],al dec rdx - jnz $L$oop_tail4x - -$L$done4x:: - movaps xmm6,XMMWORD PTR[((-168))+r9] - movaps xmm7,XMMWORD PTR[((-152))+r9] - movaps xmm8,XMMWORD PTR[((-136))+r9] - movaps xmm9,XMMWORD PTR[((-120))+r9] - movaps xmm10,XMMWORD PTR[((-104))+r9] - movaps xmm11,XMMWORD PTR[((-88))+r9] - movaps xmm12,XMMWORD PTR[((-72))+r9] - movaps xmm13,XMMWORD PTR[((-56))+r9] - movaps xmm14,XMMWORD PTR[((-40))+r9] - movaps xmm15,XMMWORD PTR[((-24))+r9] - lea rsp,QWORD PTR[r9] - -$L$4x_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + jnz $L$oop_tail4x + +$L$done4x:: + movaps xmm6,XMMWORD PTR[((-168))+r9] + movaps xmm7,XMMWORD PTR[((-152))+r9] + movaps xmm8,XMMWORD PTR[((-136))+r9] + movaps xmm9,XMMWORD PTR[((-120))+r9] + movaps xmm10,XMMWORD PTR[((-104))+r9] + movaps xmm11,XMMWORD PTR[((-88))+r9] + movaps xmm12,XMMWORD PTR[((-72))+r9] + movaps xmm13,XMMWORD PTR[((-56))+r9] + movaps xmm14,XMMWORD PTR[((-40))+r9] + movaps xmm15,XMMWORD PTR[((-24))+r9] + lea rsp,QWORD PTR[r9] + +$L$4x_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ChaCha20_4x:: -ChaCha20_4x ENDP +$L$SEH_end_ChaCha20_4x:: +ChaCha20_4x ENDP ALIGN 32 -ChaCha20_4xop PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ChaCha20_4xop PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ChaCha20_4xop:: +$L$SEH_begin_ChaCha20_4xop:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] + mov r8,QWORD PTR[40+rsp] -$L$ChaCha20_4xop:: +$L$ChaCha20_4xop:: mov r9,rsp - sub rsp,0140h+168 - movaps XMMWORD PTR[(-168)+r9],xmm6 - movaps XMMWORD PTR[(-152)+r9],xmm7 - movaps XMMWORD PTR[(-136)+r9],xmm8 - movaps XMMWORD PTR[(-120)+r9],xmm9 - movaps XMMWORD PTR[(-104)+r9],xmm10 - movaps XMMWORD PTR[(-88)+r9],xmm11 - movaps XMMWORD PTR[(-72)+r9],xmm12 - movaps XMMWORD PTR[(-56)+r9],xmm13 - movaps XMMWORD PTR[(-40)+r9],xmm14 - movaps XMMWORD PTR[(-24)+r9],xmm15 -$L$4xop_body:: + sub rsp,0140h+168 + movaps XMMWORD PTR[(-168)+r9],xmm6 + movaps XMMWORD PTR[(-152)+r9],xmm7 + movaps XMMWORD PTR[(-136)+r9],xmm8 + movaps XMMWORD PTR[(-120)+r9],xmm9 + movaps XMMWORD PTR[(-104)+r9],xmm10 + movaps XMMWORD PTR[(-88)+r9],xmm11 + movaps XMMWORD PTR[(-72)+r9],xmm12 + movaps XMMWORD PTR[(-56)+r9],xmm13 + movaps XMMWORD PTR[(-40)+r9],xmm14 + movaps XMMWORD PTR[(-24)+r9],xmm15 +$L$4xop_body:: vzeroupper - vmovdqa xmm11,XMMWORD PTR[$L$sigma] - vmovdqu xmm3,XMMWORD PTR[rcx] - vmovdqu xmm15,XMMWORD PTR[16+rcx] - vmovdqu xmm7,XMMWORD PTR[r8] - lea rcx,QWORD PTR[256+rsp] - - vpshufd xmm8,xmm11,000h - vpshufd xmm9,xmm11,055h - vmovdqa XMMWORD PTR[64+rsp],xmm8 - vpshufd xmm10,xmm11,0aah - vmovdqa XMMWORD PTR[80+rsp],xmm9 - vpshufd xmm11,xmm11,0ffh - vmovdqa XMMWORD PTR[96+rsp],xmm10 - vmovdqa XMMWORD PTR[112+rsp],xmm11 - - vpshufd xmm0,xmm3,000h - vpshufd xmm1,xmm3,055h - vmovdqa XMMWORD PTR[(128-256)+rcx],xmm0 - vpshufd xmm2,xmm3,0aah - vmovdqa XMMWORD PTR[(144-256)+rcx],xmm1 - vpshufd xmm3,xmm3,0ffh - vmovdqa XMMWORD PTR[(160-256)+rcx],xmm2 - vmovdqa XMMWORD PTR[(176-256)+rcx],xmm3 - - vpshufd xmm12,xmm15,000h - vpshufd xmm13,xmm15,055h - vmovdqa XMMWORD PTR[(192-256)+rcx],xmm12 - vpshufd xmm14,xmm15,0aah - vmovdqa XMMWORD PTR[(208-256)+rcx],xmm13 - vpshufd xmm15,xmm15,0ffh - vmovdqa XMMWORD PTR[(224-256)+rcx],xmm14 - vmovdqa XMMWORD PTR[(240-256)+rcx],xmm15 - - vpshufd xmm4,xmm7,000h - vpshufd xmm5,xmm7,055h - vpaddd xmm4,xmm4,XMMWORD PTR[$L$inc] - vpshufd xmm6,xmm7,0aah - vmovdqa XMMWORD PTR[(272-256)+rcx],xmm5 - vpshufd xmm7,xmm7,0ffh - vmovdqa XMMWORD PTR[(288-256)+rcx],xmm6 - vmovdqa XMMWORD PTR[(304-256)+rcx],xmm7 - - jmp $L$oop_enter4xop + vmovdqa xmm11,XMMWORD PTR[$L$sigma] + vmovdqu xmm3,XMMWORD PTR[rcx] + vmovdqu xmm15,XMMWORD PTR[16+rcx] + vmovdqu xmm7,XMMWORD PTR[r8] + lea rcx,QWORD PTR[256+rsp] + + vpshufd xmm8,xmm11,000h + vpshufd xmm9,xmm11,055h + vmovdqa XMMWORD PTR[64+rsp],xmm8 + vpshufd xmm10,xmm11,0aah + vmovdqa XMMWORD PTR[80+rsp],xmm9 + vpshufd xmm11,xmm11,0ffh + vmovdqa XMMWORD PTR[96+rsp],xmm10 + vmovdqa XMMWORD PTR[112+rsp],xmm11 + + vpshufd xmm0,xmm3,000h + vpshufd xmm1,xmm3,055h + vmovdqa XMMWORD PTR[(128-256)+rcx],xmm0 + vpshufd xmm2,xmm3,0aah + vmovdqa XMMWORD PTR[(144-256)+rcx],xmm1 + vpshufd xmm3,xmm3,0ffh + vmovdqa XMMWORD PTR[(160-256)+rcx],xmm2 + vmovdqa XMMWORD PTR[(176-256)+rcx],xmm3 + + vpshufd xmm12,xmm15,000h + vpshufd xmm13,xmm15,055h + vmovdqa XMMWORD PTR[(192-256)+rcx],xmm12 + vpshufd xmm14,xmm15,0aah + vmovdqa XMMWORD PTR[(208-256)+rcx],xmm13 + vpshufd xmm15,xmm15,0ffh + vmovdqa XMMWORD PTR[(224-256)+rcx],xmm14 + vmovdqa XMMWORD PTR[(240-256)+rcx],xmm15 + + vpshufd xmm4,xmm7,000h + vpshufd xmm5,xmm7,055h + vpaddd xmm4,xmm4,XMMWORD PTR[$L$inc] + vpshufd xmm6,xmm7,0aah + vmovdqa XMMWORD PTR[(272-256)+rcx],xmm5 + vpshufd xmm7,xmm7,0ffh + vmovdqa XMMWORD PTR[(288-256)+rcx],xmm6 + vmovdqa XMMWORD PTR[(304-256)+rcx],xmm7 + + jmp $L$oop_enter4xop ALIGN 32 -$L$oop_outer4xop:: - vmovdqa xmm8,XMMWORD PTR[64+rsp] - vmovdqa xmm9,XMMWORD PTR[80+rsp] - vmovdqa xmm10,XMMWORD PTR[96+rsp] - vmovdqa xmm11,XMMWORD PTR[112+rsp] - vmovdqa xmm0,XMMWORD PTR[((128-256))+rcx] - vmovdqa xmm1,XMMWORD PTR[((144-256))+rcx] - vmovdqa xmm2,XMMWORD PTR[((160-256))+rcx] - vmovdqa xmm3,XMMWORD PTR[((176-256))+rcx] - vmovdqa xmm12,XMMWORD PTR[((192-256))+rcx] - vmovdqa xmm13,XMMWORD PTR[((208-256))+rcx] - vmovdqa xmm14,XMMWORD PTR[((224-256))+rcx] - vmovdqa xmm15,XMMWORD PTR[((240-256))+rcx] - vmovdqa xmm4,XMMWORD PTR[((256-256))+rcx] - vmovdqa xmm5,XMMWORD PTR[((272-256))+rcx] - vmovdqa xmm6,XMMWORD PTR[((288-256))+rcx] - vmovdqa xmm7,XMMWORD PTR[((304-256))+rcx] - vpaddd xmm4,xmm4,XMMWORD PTR[$L$four] - -$L$oop_enter4xop:: +$L$oop_outer4xop:: + vmovdqa xmm8,XMMWORD PTR[64+rsp] + vmovdqa xmm9,XMMWORD PTR[80+rsp] + vmovdqa xmm10,XMMWORD PTR[96+rsp] + vmovdqa xmm11,XMMWORD PTR[112+rsp] + vmovdqa xmm0,XMMWORD PTR[((128-256))+rcx] + vmovdqa xmm1,XMMWORD PTR[((144-256))+rcx] + vmovdqa xmm2,XMMWORD PTR[((160-256))+rcx] + vmovdqa xmm3,XMMWORD PTR[((176-256))+rcx] + vmovdqa xmm12,XMMWORD PTR[((192-256))+rcx] + vmovdqa xmm13,XMMWORD PTR[((208-256))+rcx] + vmovdqa xmm14,XMMWORD PTR[((224-256))+rcx] + vmovdqa xmm15,XMMWORD PTR[((240-256))+rcx] + vmovdqa xmm4,XMMWORD PTR[((256-256))+rcx] + vmovdqa xmm5,XMMWORD PTR[((272-256))+rcx] + vmovdqa xmm6,XMMWORD PTR[((288-256))+rcx] + vmovdqa xmm7,XMMWORD PTR[((304-256))+rcx] + vpaddd xmm4,xmm4,XMMWORD PTR[$L$four] + +$L$oop_enter4xop:: mov eax,10 - vmovdqa XMMWORD PTR[(256-256)+rcx],xmm4 - jmp $L$oop4xop + vmovdqa XMMWORD PTR[(256-256)+rcx],xmm4 + jmp $L$oop4xop ALIGN 32 -$L$oop4xop:: +$L$oop4xop:: vpaddd xmm8,xmm8,xmm0 vpaddd xmm9,xmm9,xmm1 vpaddd xmm10,xmm10,xmm2 @@ -1464,15 +1464,15 @@ DB 143,232,120,194,210,7 DB 143,232,120,194,219,7 DB 143,232,120,194,192,7 dec eax - jnz $L$oop4xop + jnz $L$oop4xop - vpaddd xmm8,xmm8,XMMWORD PTR[64+rsp] - vpaddd xmm9,xmm9,XMMWORD PTR[80+rsp] - vpaddd xmm10,xmm10,XMMWORD PTR[96+rsp] - vpaddd xmm11,xmm11,XMMWORD PTR[112+rsp] + vpaddd xmm8,xmm8,XMMWORD PTR[64+rsp] + vpaddd xmm9,xmm9,XMMWORD PTR[80+rsp] + vpaddd xmm10,xmm10,XMMWORD PTR[96+rsp] + vpaddd xmm11,xmm11,XMMWORD PTR[112+rsp] - vmovdqa XMMWORD PTR[32+rsp],xmm14 - vmovdqa XMMWORD PTR[48+rsp],xmm15 + vmovdqa XMMWORD PTR[32+rsp],xmm14 + vmovdqa XMMWORD PTR[48+rsp],xmm15 vpunpckldq xmm14,xmm8,xmm9 vpunpckldq xmm15,xmm10,xmm11 @@ -1482,15 +1482,15 @@ DB 143,232,120,194,192,7 vpunpckhqdq xmm14,xmm14,xmm15 vpunpcklqdq xmm11,xmm8,xmm10 vpunpckhqdq xmm8,xmm8,xmm10 - vpaddd xmm0,xmm0,XMMWORD PTR[((128-256))+rcx] - vpaddd xmm1,xmm1,XMMWORD PTR[((144-256))+rcx] - vpaddd xmm2,xmm2,XMMWORD PTR[((160-256))+rcx] - vpaddd xmm3,xmm3,XMMWORD PTR[((176-256))+rcx] + vpaddd xmm0,xmm0,XMMWORD PTR[((128-256))+rcx] + vpaddd xmm1,xmm1,XMMWORD PTR[((144-256))+rcx] + vpaddd xmm2,xmm2,XMMWORD PTR[((160-256))+rcx] + vpaddd xmm3,xmm3,XMMWORD PTR[((176-256))+rcx] - vmovdqa XMMWORD PTR[rsp],xmm9 - vmovdqa XMMWORD PTR[16+rsp],xmm14 - vmovdqa xmm9,XMMWORD PTR[32+rsp] - vmovdqa xmm14,XMMWORD PTR[48+rsp] + vmovdqa XMMWORD PTR[rsp],xmm9 + vmovdqa XMMWORD PTR[16+rsp],xmm14 + vmovdqa xmm9,XMMWORD PTR[32+rsp] + vmovdqa xmm14,XMMWORD PTR[48+rsp] vpunpckldq xmm10,xmm0,xmm1 vpunpckldq xmm15,xmm2,xmm3 @@ -1500,10 +1500,10 @@ DB 143,232,120,194,192,7 vpunpckhqdq xmm10,xmm10,xmm15 vpunpcklqdq xmm3,xmm0,xmm2 vpunpckhqdq xmm0,xmm0,xmm2 - vpaddd xmm12,xmm12,XMMWORD PTR[((192-256))+rcx] - vpaddd xmm13,xmm13,XMMWORD PTR[((208-256))+rcx] - vpaddd xmm9,xmm9,XMMWORD PTR[((224-256))+rcx] - vpaddd xmm14,xmm14,XMMWORD PTR[((240-256))+rcx] + vpaddd xmm12,xmm12,XMMWORD PTR[((192-256))+rcx] + vpaddd xmm13,xmm13,XMMWORD PTR[((208-256))+rcx] + vpaddd xmm9,xmm9,XMMWORD PTR[((224-256))+rcx] + vpaddd xmm14,xmm14,XMMWORD PTR[((240-256))+rcx] vpunpckldq xmm2,xmm12,xmm13 vpunpckldq xmm15,xmm9,xmm14 @@ -1513,10 +1513,10 @@ DB 143,232,120,194,192,7 vpunpckhqdq xmm2,xmm2,xmm15 vpunpcklqdq xmm14,xmm12,xmm9 vpunpckhqdq xmm12,xmm12,xmm9 - vpaddd xmm4,xmm4,XMMWORD PTR[((256-256))+rcx] - vpaddd xmm5,xmm5,XMMWORD PTR[((272-256))+rcx] - vpaddd xmm6,xmm6,XMMWORD PTR[((288-256))+rcx] - vpaddd xmm7,xmm7,XMMWORD PTR[((304-256))+rcx] + vpaddd xmm4,xmm4,XMMWORD PTR[((256-256))+rcx] + vpaddd xmm5,xmm5,XMMWORD PTR[((272-256))+rcx] + vpaddd xmm6,xmm6,XMMWORD PTR[((288-256))+rcx] + vpaddd xmm7,xmm7,XMMWORD PTR[((304-256))+rcx] vpunpckldq xmm9,xmm4,xmm5 vpunpckldq xmm15,xmm6,xmm7 @@ -1526,225 +1526,225 @@ DB 143,232,120,194,192,7 vpunpckhqdq xmm9,xmm9,xmm15 vpunpcklqdq xmm7,xmm4,xmm6 vpunpckhqdq xmm4,xmm4,xmm6 - vmovdqa xmm6,XMMWORD PTR[rsp] - vmovdqa xmm15,XMMWORD PTR[16+rsp] + vmovdqa xmm6,XMMWORD PTR[rsp] + vmovdqa xmm15,XMMWORD PTR[16+rsp] cmp rdx,64*4 - jb $L$tail4xop - - vpxor xmm6,xmm6,XMMWORD PTR[rsi] - vpxor xmm1,xmm1,XMMWORD PTR[16+rsi] - vpxor xmm13,xmm13,XMMWORD PTR[32+rsi] - vpxor xmm5,xmm5,XMMWORD PTR[48+rsi] - vpxor xmm15,xmm15,XMMWORD PTR[64+rsi] - vpxor xmm10,xmm10,XMMWORD PTR[80+rsi] - vpxor xmm2,xmm2,XMMWORD PTR[96+rsi] - vpxor xmm9,xmm9,XMMWORD PTR[112+rsi] - lea rsi,QWORD PTR[128+rsi] - vpxor xmm11,xmm11,XMMWORD PTR[rsi] - vpxor xmm3,xmm3,XMMWORD PTR[16+rsi] - vpxor xmm14,xmm14,XMMWORD PTR[32+rsi] - vpxor xmm7,xmm7,XMMWORD PTR[48+rsi] - vpxor xmm8,xmm8,XMMWORD PTR[64+rsi] - vpxor xmm0,xmm0,XMMWORD PTR[80+rsi] - vpxor xmm12,xmm12,XMMWORD PTR[96+rsi] - vpxor xmm4,xmm4,XMMWORD PTR[112+rsi] - lea rsi,QWORD PTR[128+rsi] - - vmovdqu XMMWORD PTR[rdi],xmm6 - vmovdqu XMMWORD PTR[16+rdi],xmm1 - vmovdqu XMMWORD PTR[32+rdi],xmm13 - vmovdqu XMMWORD PTR[48+rdi],xmm5 - vmovdqu XMMWORD PTR[64+rdi],xmm15 - vmovdqu XMMWORD PTR[80+rdi],xmm10 - vmovdqu XMMWORD PTR[96+rdi],xmm2 - vmovdqu XMMWORD PTR[112+rdi],xmm9 - lea rdi,QWORD PTR[128+rdi] - vmovdqu XMMWORD PTR[rdi],xmm11 - vmovdqu XMMWORD PTR[16+rdi],xmm3 - vmovdqu XMMWORD PTR[32+rdi],xmm14 - vmovdqu XMMWORD PTR[48+rdi],xmm7 - vmovdqu XMMWORD PTR[64+rdi],xmm8 - vmovdqu XMMWORD PTR[80+rdi],xmm0 - vmovdqu XMMWORD PTR[96+rdi],xmm12 - vmovdqu XMMWORD PTR[112+rdi],xmm4 - lea rdi,QWORD PTR[128+rdi] + jb $L$tail4xop + + vpxor xmm6,xmm6,XMMWORD PTR[rsi] + vpxor xmm1,xmm1,XMMWORD PTR[16+rsi] + vpxor xmm13,xmm13,XMMWORD PTR[32+rsi] + vpxor xmm5,xmm5,XMMWORD PTR[48+rsi] + vpxor xmm15,xmm15,XMMWORD PTR[64+rsi] + vpxor xmm10,xmm10,XMMWORD PTR[80+rsi] + vpxor xmm2,xmm2,XMMWORD PTR[96+rsi] + vpxor xmm9,xmm9,XMMWORD PTR[112+rsi] + lea rsi,QWORD PTR[128+rsi] + vpxor xmm11,xmm11,XMMWORD PTR[rsi] + vpxor xmm3,xmm3,XMMWORD PTR[16+rsi] + vpxor xmm14,xmm14,XMMWORD PTR[32+rsi] + vpxor xmm7,xmm7,XMMWORD PTR[48+rsi] + vpxor xmm8,xmm8,XMMWORD PTR[64+rsi] + vpxor xmm0,xmm0,XMMWORD PTR[80+rsi] + vpxor xmm12,xmm12,XMMWORD PTR[96+rsi] + vpxor xmm4,xmm4,XMMWORD PTR[112+rsi] + lea rsi,QWORD PTR[128+rsi] + + vmovdqu XMMWORD PTR[rdi],xmm6 + vmovdqu XMMWORD PTR[16+rdi],xmm1 + vmovdqu XMMWORD PTR[32+rdi],xmm13 + vmovdqu XMMWORD PTR[48+rdi],xmm5 + vmovdqu XMMWORD PTR[64+rdi],xmm15 + vmovdqu XMMWORD PTR[80+rdi],xmm10 + vmovdqu XMMWORD PTR[96+rdi],xmm2 + vmovdqu XMMWORD PTR[112+rdi],xmm9 + lea rdi,QWORD PTR[128+rdi] + vmovdqu XMMWORD PTR[rdi],xmm11 + vmovdqu XMMWORD PTR[16+rdi],xmm3 + vmovdqu XMMWORD PTR[32+rdi],xmm14 + vmovdqu XMMWORD PTR[48+rdi],xmm7 + vmovdqu XMMWORD PTR[64+rdi],xmm8 + vmovdqu XMMWORD PTR[80+rdi],xmm0 + vmovdqu XMMWORD PTR[96+rdi],xmm12 + vmovdqu XMMWORD PTR[112+rdi],xmm4 + lea rdi,QWORD PTR[128+rdi] sub rdx,64*4 - jnz $L$oop_outer4xop + jnz $L$oop_outer4xop - jmp $L$done4xop + jmp $L$done4xop ALIGN 32 -$L$tail4xop:: +$L$tail4xop:: cmp rdx,192 - jae $L$192_or_more4xop + jae $L$192_or_more4xop cmp rdx,128 - jae $L$128_or_more4xop + jae $L$128_or_more4xop cmp rdx,64 - jae $L$64_or_more4xop + jae $L$64_or_more4xop xor r10,r10 - vmovdqa XMMWORD PTR[rsp],xmm6 - vmovdqa XMMWORD PTR[16+rsp],xmm1 - vmovdqa XMMWORD PTR[32+rsp],xmm13 - vmovdqa XMMWORD PTR[48+rsp],xmm5 - jmp $L$oop_tail4xop + vmovdqa XMMWORD PTR[rsp],xmm6 + vmovdqa XMMWORD PTR[16+rsp],xmm1 + vmovdqa XMMWORD PTR[32+rsp],xmm13 + vmovdqa XMMWORD PTR[48+rsp],xmm5 + jmp $L$oop_tail4xop ALIGN 32 -$L$64_or_more4xop:: - vpxor xmm6,xmm6,XMMWORD PTR[rsi] - vpxor xmm1,xmm1,XMMWORD PTR[16+rsi] - vpxor xmm13,xmm13,XMMWORD PTR[32+rsi] - vpxor xmm5,xmm5,XMMWORD PTR[48+rsi] - vmovdqu XMMWORD PTR[rdi],xmm6 - vmovdqu XMMWORD PTR[16+rdi],xmm1 - vmovdqu XMMWORD PTR[32+rdi],xmm13 - vmovdqu XMMWORD PTR[48+rdi],xmm5 - je $L$done4xop - - lea rsi,QWORD PTR[64+rsi] - vmovdqa XMMWORD PTR[rsp],xmm15 +$L$64_or_more4xop:: + vpxor xmm6,xmm6,XMMWORD PTR[rsi] + vpxor xmm1,xmm1,XMMWORD PTR[16+rsi] + vpxor xmm13,xmm13,XMMWORD PTR[32+rsi] + vpxor xmm5,xmm5,XMMWORD PTR[48+rsi] + vmovdqu XMMWORD PTR[rdi],xmm6 + vmovdqu XMMWORD PTR[16+rdi],xmm1 + vmovdqu XMMWORD PTR[32+rdi],xmm13 + vmovdqu XMMWORD PTR[48+rdi],xmm5 + je $L$done4xop + + lea rsi,QWORD PTR[64+rsi] + vmovdqa XMMWORD PTR[rsp],xmm15 xor r10,r10 - vmovdqa XMMWORD PTR[16+rsp],xmm10 - lea rdi,QWORD PTR[64+rdi] - vmovdqa XMMWORD PTR[32+rsp],xmm2 + vmovdqa XMMWORD PTR[16+rsp],xmm10 + lea rdi,QWORD PTR[64+rdi] + vmovdqa XMMWORD PTR[32+rsp],xmm2 sub rdx,64 - vmovdqa XMMWORD PTR[48+rsp],xmm9 - jmp $L$oop_tail4xop + vmovdqa XMMWORD PTR[48+rsp],xmm9 + jmp $L$oop_tail4xop ALIGN 32 -$L$128_or_more4xop:: - vpxor xmm6,xmm6,XMMWORD PTR[rsi] - vpxor xmm1,xmm1,XMMWORD PTR[16+rsi] - vpxor xmm13,xmm13,XMMWORD PTR[32+rsi] - vpxor xmm5,xmm5,XMMWORD PTR[48+rsi] - vpxor xmm15,xmm15,XMMWORD PTR[64+rsi] - vpxor xmm10,xmm10,XMMWORD PTR[80+rsi] - vpxor xmm2,xmm2,XMMWORD PTR[96+rsi] - vpxor xmm9,xmm9,XMMWORD PTR[112+rsi] - - vmovdqu XMMWORD PTR[rdi],xmm6 - vmovdqu XMMWORD PTR[16+rdi],xmm1 - vmovdqu XMMWORD PTR[32+rdi],xmm13 - vmovdqu XMMWORD PTR[48+rdi],xmm5 - vmovdqu XMMWORD PTR[64+rdi],xmm15 - vmovdqu XMMWORD PTR[80+rdi],xmm10 - vmovdqu XMMWORD PTR[96+rdi],xmm2 - vmovdqu XMMWORD PTR[112+rdi],xmm9 - je $L$done4xop - - lea rsi,QWORD PTR[128+rsi] - vmovdqa XMMWORD PTR[rsp],xmm11 +$L$128_or_more4xop:: + vpxor xmm6,xmm6,XMMWORD PTR[rsi] + vpxor xmm1,xmm1,XMMWORD PTR[16+rsi] + vpxor xmm13,xmm13,XMMWORD PTR[32+rsi] + vpxor xmm5,xmm5,XMMWORD PTR[48+rsi] + vpxor xmm15,xmm15,XMMWORD PTR[64+rsi] + vpxor xmm10,xmm10,XMMWORD PTR[80+rsi] + vpxor xmm2,xmm2,XMMWORD PTR[96+rsi] + vpxor xmm9,xmm9,XMMWORD PTR[112+rsi] + + vmovdqu XMMWORD PTR[rdi],xmm6 + vmovdqu XMMWORD PTR[16+rdi],xmm1 + vmovdqu XMMWORD PTR[32+rdi],xmm13 + vmovdqu XMMWORD PTR[48+rdi],xmm5 + vmovdqu XMMWORD PTR[64+rdi],xmm15 + vmovdqu XMMWORD PTR[80+rdi],xmm10 + vmovdqu XMMWORD PTR[96+rdi],xmm2 + vmovdqu XMMWORD PTR[112+rdi],xmm9 + je $L$done4xop + + lea rsi,QWORD PTR[128+rsi] + vmovdqa XMMWORD PTR[rsp],xmm11 xor r10,r10 - vmovdqa XMMWORD PTR[16+rsp],xmm3 - lea rdi,QWORD PTR[128+rdi] - vmovdqa XMMWORD PTR[32+rsp],xmm14 + vmovdqa XMMWORD PTR[16+rsp],xmm3 + lea rdi,QWORD PTR[128+rdi] + vmovdqa XMMWORD PTR[32+rsp],xmm14 sub rdx,128 - vmovdqa XMMWORD PTR[48+rsp],xmm7 - jmp $L$oop_tail4xop + vmovdqa XMMWORD PTR[48+rsp],xmm7 + jmp $L$oop_tail4xop ALIGN 32 -$L$192_or_more4xop:: - vpxor xmm6,xmm6,XMMWORD PTR[rsi] - vpxor xmm1,xmm1,XMMWORD PTR[16+rsi] - vpxor xmm13,xmm13,XMMWORD PTR[32+rsi] - vpxor xmm5,xmm5,XMMWORD PTR[48+rsi] - vpxor xmm15,xmm15,XMMWORD PTR[64+rsi] - vpxor xmm10,xmm10,XMMWORD PTR[80+rsi] - vpxor xmm2,xmm2,XMMWORD PTR[96+rsi] - vpxor xmm9,xmm9,XMMWORD PTR[112+rsi] - lea rsi,QWORD PTR[128+rsi] - vpxor xmm11,xmm11,XMMWORD PTR[rsi] - vpxor xmm3,xmm3,XMMWORD PTR[16+rsi] - vpxor xmm14,xmm14,XMMWORD PTR[32+rsi] - vpxor xmm7,xmm7,XMMWORD PTR[48+rsi] - - vmovdqu XMMWORD PTR[rdi],xmm6 - vmovdqu XMMWORD PTR[16+rdi],xmm1 - vmovdqu XMMWORD PTR[32+rdi],xmm13 - vmovdqu XMMWORD PTR[48+rdi],xmm5 - vmovdqu XMMWORD PTR[64+rdi],xmm15 - vmovdqu XMMWORD PTR[80+rdi],xmm10 - vmovdqu XMMWORD PTR[96+rdi],xmm2 - vmovdqu XMMWORD PTR[112+rdi],xmm9 - lea rdi,QWORD PTR[128+rdi] - vmovdqu XMMWORD PTR[rdi],xmm11 - vmovdqu XMMWORD PTR[16+rdi],xmm3 - vmovdqu XMMWORD PTR[32+rdi],xmm14 - vmovdqu XMMWORD PTR[48+rdi],xmm7 - je $L$done4xop - - lea rsi,QWORD PTR[64+rsi] - vmovdqa XMMWORD PTR[rsp],xmm8 +$L$192_or_more4xop:: + vpxor xmm6,xmm6,XMMWORD PTR[rsi] + vpxor xmm1,xmm1,XMMWORD PTR[16+rsi] + vpxor xmm13,xmm13,XMMWORD PTR[32+rsi] + vpxor xmm5,xmm5,XMMWORD PTR[48+rsi] + vpxor xmm15,xmm15,XMMWORD PTR[64+rsi] + vpxor xmm10,xmm10,XMMWORD PTR[80+rsi] + vpxor xmm2,xmm2,XMMWORD PTR[96+rsi] + vpxor xmm9,xmm9,XMMWORD PTR[112+rsi] + lea rsi,QWORD PTR[128+rsi] + vpxor xmm11,xmm11,XMMWORD PTR[rsi] + vpxor xmm3,xmm3,XMMWORD PTR[16+rsi] + vpxor xmm14,xmm14,XMMWORD PTR[32+rsi] + vpxor xmm7,xmm7,XMMWORD PTR[48+rsi] + + vmovdqu XMMWORD PTR[rdi],xmm6 + vmovdqu XMMWORD PTR[16+rdi],xmm1 + vmovdqu XMMWORD PTR[32+rdi],xmm13 + vmovdqu XMMWORD PTR[48+rdi],xmm5 + vmovdqu XMMWORD PTR[64+rdi],xmm15 + vmovdqu XMMWORD PTR[80+rdi],xmm10 + vmovdqu XMMWORD PTR[96+rdi],xmm2 + vmovdqu XMMWORD PTR[112+rdi],xmm9 + lea rdi,QWORD PTR[128+rdi] + vmovdqu XMMWORD PTR[rdi],xmm11 + vmovdqu XMMWORD PTR[16+rdi],xmm3 + vmovdqu XMMWORD PTR[32+rdi],xmm14 + vmovdqu XMMWORD PTR[48+rdi],xmm7 + je $L$done4xop + + lea rsi,QWORD PTR[64+rsi] + vmovdqa XMMWORD PTR[rsp],xmm8 xor r10,r10 - vmovdqa XMMWORD PTR[16+rsp],xmm0 - lea rdi,QWORD PTR[64+rdi] - vmovdqa XMMWORD PTR[32+rsp],xmm12 + vmovdqa XMMWORD PTR[16+rsp],xmm0 + lea rdi,QWORD PTR[64+rdi] + vmovdqa XMMWORD PTR[32+rsp],xmm12 sub rdx,192 - vmovdqa XMMWORD PTR[48+rsp],xmm4 + vmovdqa XMMWORD PTR[48+rsp],xmm4 -$L$oop_tail4xop:: - movzx eax,BYTE PTR[r10*1+rsi] - movzx ecx,BYTE PTR[r10*1+rsp] - lea r10,QWORD PTR[1+r10] +$L$oop_tail4xop:: + movzx eax,BYTE PTR[r10*1+rsi] + movzx ecx,BYTE PTR[r10*1+rsp] + lea r10,QWORD PTR[1+r10] xor eax,ecx - mov BYTE PTR[((-1))+r10*1+rdi],al + mov BYTE PTR[((-1))+r10*1+rdi],al dec rdx - jnz $L$oop_tail4xop + jnz $L$oop_tail4xop -$L$done4xop:: +$L$done4xop:: vzeroupper - movaps xmm6,XMMWORD PTR[((-168))+r9] - movaps xmm7,XMMWORD PTR[((-152))+r9] - movaps xmm8,XMMWORD PTR[((-136))+r9] - movaps xmm9,XMMWORD PTR[((-120))+r9] - movaps xmm10,XMMWORD PTR[((-104))+r9] - movaps xmm11,XMMWORD PTR[((-88))+r9] - movaps xmm12,XMMWORD PTR[((-72))+r9] - movaps xmm13,XMMWORD PTR[((-56))+r9] - movaps xmm14,XMMWORD PTR[((-40))+r9] - movaps xmm15,XMMWORD PTR[((-24))+r9] - lea rsp,QWORD PTR[r9] - -$L$4xop_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movaps xmm6,XMMWORD PTR[((-168))+r9] + movaps xmm7,XMMWORD PTR[((-152))+r9] + movaps xmm8,XMMWORD PTR[((-136))+r9] + movaps xmm9,XMMWORD PTR[((-120))+r9] + movaps xmm10,XMMWORD PTR[((-104))+r9] + movaps xmm11,XMMWORD PTR[((-88))+r9] + movaps xmm12,XMMWORD PTR[((-72))+r9] + movaps xmm13,XMMWORD PTR[((-56))+r9] + movaps xmm14,XMMWORD PTR[((-40))+r9] + movaps xmm15,XMMWORD PTR[((-24))+r9] + lea rsp,QWORD PTR[r9] + +$L$4xop_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ChaCha20_4xop:: -ChaCha20_4xop ENDP +$L$SEH_end_ChaCha20_4xop:: +ChaCha20_4xop ENDP ALIGN 32 -ChaCha20_8x PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ChaCha20_8x PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ChaCha20_8x:: +$L$SEH_begin_ChaCha20_8x:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] + mov r8,QWORD PTR[40+rsp] -$L$ChaCha20_8x:: +$L$ChaCha20_8x:: mov r9,rsp - sub rsp,0280h+168 + sub rsp,0280h+168 and rsp,-32 - movaps XMMWORD PTR[(-168)+r9],xmm6 - movaps XMMWORD PTR[(-152)+r9],xmm7 - movaps XMMWORD PTR[(-136)+r9],xmm8 - movaps XMMWORD PTR[(-120)+r9],xmm9 - movaps XMMWORD PTR[(-104)+r9],xmm10 - movaps XMMWORD PTR[(-88)+r9],xmm11 - movaps XMMWORD PTR[(-72)+r9],xmm12 - movaps XMMWORD PTR[(-56)+r9],xmm13 - movaps XMMWORD PTR[(-40)+r9],xmm14 - movaps XMMWORD PTR[(-24)+r9],xmm15 -$L$8x_body:: + movaps XMMWORD PTR[(-168)+r9],xmm6 + movaps XMMWORD PTR[(-152)+r9],xmm7 + movaps XMMWORD PTR[(-136)+r9],xmm8 + movaps XMMWORD PTR[(-120)+r9],xmm9 + movaps XMMWORD PTR[(-104)+r9],xmm10 + movaps XMMWORD PTR[(-88)+r9],xmm11 + movaps XMMWORD PTR[(-72)+r9],xmm12 + movaps XMMWORD PTR[(-56)+r9],xmm13 + movaps XMMWORD PTR[(-40)+r9],xmm14 + movaps XMMWORD PTR[(-24)+r9],xmm15 +$L$8x_body:: vzeroupper @@ -1756,83 +1756,83 @@ $L$8x_body:: - vbroadcasti128 ymm11,XMMWORD PTR[$L$sigma] - vbroadcasti128 ymm3,XMMWORD PTR[rcx] - vbroadcasti128 ymm15,XMMWORD PTR[16+rcx] - vbroadcasti128 ymm7,XMMWORD PTR[r8] - lea rcx,QWORD PTR[256+rsp] - lea rax,QWORD PTR[512+rsp] - lea r10,QWORD PTR[$L$rot16] - lea r11,QWORD PTR[$L$rot24] + vbroadcasti128 ymm11,XMMWORD PTR[$L$sigma] + vbroadcasti128 ymm3,XMMWORD PTR[rcx] + vbroadcasti128 ymm15,XMMWORD PTR[16+rcx] + vbroadcasti128 ymm7,XMMWORD PTR[r8] + lea rcx,QWORD PTR[256+rsp] + lea rax,QWORD PTR[512+rsp] + lea r10,QWORD PTR[$L$rot16] + lea r11,QWORD PTR[$L$rot24] - vpshufd ymm8,ymm11,000h - vpshufd ymm9,ymm11,055h - vmovdqa YMMWORD PTR[(128-256)+rcx],ymm8 - vpshufd ymm10,ymm11,0aah - vmovdqa YMMWORD PTR[(160-256)+rcx],ymm9 - vpshufd ymm11,ymm11,0ffh - vmovdqa YMMWORD PTR[(192-256)+rcx],ymm10 - vmovdqa YMMWORD PTR[(224-256)+rcx],ymm11 + vpshufd ymm8,ymm11,000h + vpshufd ymm9,ymm11,055h + vmovdqa YMMWORD PTR[(128-256)+rcx],ymm8 + vpshufd ymm10,ymm11,0aah + vmovdqa YMMWORD PTR[(160-256)+rcx],ymm9 + vpshufd ymm11,ymm11,0ffh + vmovdqa YMMWORD PTR[(192-256)+rcx],ymm10 + vmovdqa YMMWORD PTR[(224-256)+rcx],ymm11 - vpshufd ymm0,ymm3,000h - vpshufd ymm1,ymm3,055h - vmovdqa YMMWORD PTR[(256-256)+rcx],ymm0 - vpshufd ymm2,ymm3,0aah - vmovdqa YMMWORD PTR[(288-256)+rcx],ymm1 - vpshufd ymm3,ymm3,0ffh - vmovdqa YMMWORD PTR[(320-256)+rcx],ymm2 - vmovdqa YMMWORD PTR[(352-256)+rcx],ymm3 + vpshufd ymm0,ymm3,000h + vpshufd ymm1,ymm3,055h + vmovdqa YMMWORD PTR[(256-256)+rcx],ymm0 + vpshufd ymm2,ymm3,0aah + vmovdqa YMMWORD PTR[(288-256)+rcx],ymm1 + vpshufd ymm3,ymm3,0ffh + vmovdqa YMMWORD PTR[(320-256)+rcx],ymm2 + vmovdqa YMMWORD PTR[(352-256)+rcx],ymm3 - vpshufd ymm12,ymm15,000h - vpshufd ymm13,ymm15,055h - vmovdqa YMMWORD PTR[(384-512)+rax],ymm12 - vpshufd ymm14,ymm15,0aah - vmovdqa YMMWORD PTR[(416-512)+rax],ymm13 - vpshufd ymm15,ymm15,0ffh - vmovdqa YMMWORD PTR[(448-512)+rax],ymm14 - vmovdqa YMMWORD PTR[(480-512)+rax],ymm15 + vpshufd ymm12,ymm15,000h + vpshufd ymm13,ymm15,055h + vmovdqa YMMWORD PTR[(384-512)+rax],ymm12 + vpshufd ymm14,ymm15,0aah + vmovdqa YMMWORD PTR[(416-512)+rax],ymm13 + vpshufd ymm15,ymm15,0ffh + vmovdqa YMMWORD PTR[(448-512)+rax],ymm14 + vmovdqa YMMWORD PTR[(480-512)+rax],ymm15 - vpshufd ymm4,ymm7,000h - vpshufd ymm5,ymm7,055h - vpaddd ymm4,ymm4,YMMWORD PTR[$L$incy] - vpshufd ymm6,ymm7,0aah - vmovdqa YMMWORD PTR[(544-512)+rax],ymm5 - vpshufd ymm7,ymm7,0ffh - vmovdqa YMMWORD PTR[(576-512)+rax],ymm6 - vmovdqa YMMWORD PTR[(608-512)+rax],ymm7 + vpshufd ymm4,ymm7,000h + vpshufd ymm5,ymm7,055h + vpaddd ymm4,ymm4,YMMWORD PTR[$L$incy] + vpshufd ymm6,ymm7,0aah + vmovdqa YMMWORD PTR[(544-512)+rax],ymm5 + vpshufd ymm7,ymm7,0ffh + vmovdqa YMMWORD PTR[(576-512)+rax],ymm6 + vmovdqa YMMWORD PTR[(608-512)+rax],ymm7 - jmp $L$oop_enter8x + jmp $L$oop_enter8x ALIGN 32 -$L$oop_outer8x:: - vmovdqa ymm8,YMMWORD PTR[((128-256))+rcx] - vmovdqa ymm9,YMMWORD PTR[((160-256))+rcx] - vmovdqa ymm10,YMMWORD PTR[((192-256))+rcx] - vmovdqa ymm11,YMMWORD PTR[((224-256))+rcx] - vmovdqa ymm0,YMMWORD PTR[((256-256))+rcx] - vmovdqa ymm1,YMMWORD PTR[((288-256))+rcx] - vmovdqa ymm2,YMMWORD PTR[((320-256))+rcx] - vmovdqa ymm3,YMMWORD PTR[((352-256))+rcx] - vmovdqa ymm12,YMMWORD PTR[((384-512))+rax] - vmovdqa ymm13,YMMWORD PTR[((416-512))+rax] - vmovdqa ymm14,YMMWORD PTR[((448-512))+rax] - vmovdqa ymm15,YMMWORD PTR[((480-512))+rax] - vmovdqa ymm4,YMMWORD PTR[((512-512))+rax] - vmovdqa ymm5,YMMWORD PTR[((544-512))+rax] - vmovdqa ymm6,YMMWORD PTR[((576-512))+rax] - vmovdqa ymm7,YMMWORD PTR[((608-512))+rax] - vpaddd ymm4,ymm4,YMMWORD PTR[$L$eight] - -$L$oop_enter8x:: - vmovdqa YMMWORD PTR[64+rsp],ymm14 - vmovdqa YMMWORD PTR[96+rsp],ymm15 - vbroadcasti128 ymm15,XMMWORD PTR[r10] - vmovdqa YMMWORD PTR[(512-512)+rax],ymm4 +$L$oop_outer8x:: + vmovdqa ymm8,YMMWORD PTR[((128-256))+rcx] + vmovdqa ymm9,YMMWORD PTR[((160-256))+rcx] + vmovdqa ymm10,YMMWORD PTR[((192-256))+rcx] + vmovdqa ymm11,YMMWORD PTR[((224-256))+rcx] + vmovdqa ymm0,YMMWORD PTR[((256-256))+rcx] + vmovdqa ymm1,YMMWORD PTR[((288-256))+rcx] + vmovdqa ymm2,YMMWORD PTR[((320-256))+rcx] + vmovdqa ymm3,YMMWORD PTR[((352-256))+rcx] + vmovdqa ymm12,YMMWORD PTR[((384-512))+rax] + vmovdqa ymm13,YMMWORD PTR[((416-512))+rax] + vmovdqa ymm14,YMMWORD PTR[((448-512))+rax] + vmovdqa ymm15,YMMWORD PTR[((480-512))+rax] + vmovdqa ymm4,YMMWORD PTR[((512-512))+rax] + vmovdqa ymm5,YMMWORD PTR[((544-512))+rax] + vmovdqa ymm6,YMMWORD PTR[((576-512))+rax] + vmovdqa ymm7,YMMWORD PTR[((608-512))+rax] + vpaddd ymm4,ymm4,YMMWORD PTR[$L$eight] + +$L$oop_enter8x:: + vmovdqa YMMWORD PTR[64+rsp],ymm14 + vmovdqa YMMWORD PTR[96+rsp],ymm15 + vbroadcasti128 ymm15,XMMWORD PTR[r10] + vmovdqa YMMWORD PTR[(512-512)+rax],ymm4 mov eax,10 - jmp $L$oop8x + jmp $L$oop8x ALIGN 32 -$L$oop8x:: +$L$oop8x:: vpaddd ymm8,ymm8,ymm0 vpxor ymm4,ymm8,ymm4 vpshufb ymm4,ymm4,ymm15 @@ -1844,7 +1844,7 @@ $L$oop8x:: vpslld ymm14,ymm0,12 vpsrld ymm0,ymm0,20 vpor ymm0,ymm14,ymm0 - vbroadcasti128 ymm14,XMMWORD PTR[r11] + vbroadcasti128 ymm14,XMMWORD PTR[r11] vpaddd ymm13,ymm13,ymm5 vpxor ymm1,ymm13,ymm1 vpslld ymm15,ymm1,12 @@ -1861,16 +1861,16 @@ $L$oop8x:: vpslld ymm15,ymm0,7 vpsrld ymm0,ymm0,25 vpor ymm0,ymm15,ymm0 - vbroadcasti128 ymm15,XMMWORD PTR[r10] + vbroadcasti128 ymm15,XMMWORD PTR[r10] vpaddd ymm13,ymm13,ymm5 vpxor ymm1,ymm13,ymm1 vpslld ymm14,ymm1,7 vpsrld ymm1,ymm1,25 vpor ymm1,ymm14,ymm1 - vmovdqa YMMWORD PTR[rsp],ymm12 - vmovdqa YMMWORD PTR[32+rsp],ymm13 - vmovdqa ymm12,YMMWORD PTR[64+rsp] - vmovdqa ymm13,YMMWORD PTR[96+rsp] + vmovdqa YMMWORD PTR[rsp],ymm12 + vmovdqa YMMWORD PTR[32+rsp],ymm13 + vmovdqa ymm12,YMMWORD PTR[64+rsp] + vmovdqa ymm13,YMMWORD PTR[96+rsp] vpaddd ymm10,ymm10,ymm2 vpxor ymm6,ymm10,ymm6 vpshufb ymm6,ymm6,ymm15 @@ -1882,7 +1882,7 @@ $L$oop8x:: vpslld ymm14,ymm2,12 vpsrld ymm2,ymm2,20 vpor ymm2,ymm14,ymm2 - vbroadcasti128 ymm14,XMMWORD PTR[r11] + vbroadcasti128 ymm14,XMMWORD PTR[r11] vpaddd ymm13,ymm13,ymm7 vpxor ymm3,ymm13,ymm3 vpslld ymm15,ymm3,12 @@ -1899,7 +1899,7 @@ $L$oop8x:: vpslld ymm15,ymm2,7 vpsrld ymm2,ymm2,25 vpor ymm2,ymm15,ymm2 - vbroadcasti128 ymm15,XMMWORD PTR[r10] + vbroadcasti128 ymm15,XMMWORD PTR[r10] vpaddd ymm13,ymm13,ymm7 vpxor ymm3,ymm13,ymm3 vpslld ymm14,ymm3,7 @@ -1916,7 +1916,7 @@ $L$oop8x:: vpslld ymm14,ymm1,12 vpsrld ymm1,ymm1,20 vpor ymm1,ymm14,ymm1 - vbroadcasti128 ymm14,XMMWORD PTR[r11] + vbroadcasti128 ymm14,XMMWORD PTR[r11] vpaddd ymm13,ymm13,ymm4 vpxor ymm2,ymm13,ymm2 vpslld ymm15,ymm2,12 @@ -1933,16 +1933,16 @@ $L$oop8x:: vpslld ymm15,ymm1,7 vpsrld ymm1,ymm1,25 vpor ymm1,ymm15,ymm1 - vbroadcasti128 ymm15,XMMWORD PTR[r10] + vbroadcasti128 ymm15,XMMWORD PTR[r10] vpaddd ymm13,ymm13,ymm4 vpxor ymm2,ymm13,ymm2 vpslld ymm14,ymm2,7 vpsrld ymm2,ymm2,25 vpor ymm2,ymm14,ymm2 - vmovdqa YMMWORD PTR[64+rsp],ymm12 - vmovdqa YMMWORD PTR[96+rsp],ymm13 - vmovdqa ymm12,YMMWORD PTR[rsp] - vmovdqa ymm13,YMMWORD PTR[32+rsp] + vmovdqa YMMWORD PTR[64+rsp],ymm12 + vmovdqa YMMWORD PTR[96+rsp],ymm13 + vmovdqa ymm12,YMMWORD PTR[rsp] + vmovdqa ymm13,YMMWORD PTR[32+rsp] vpaddd ymm10,ymm10,ymm3 vpxor ymm5,ymm10,ymm5 vpshufb ymm5,ymm5,ymm15 @@ -1954,7 +1954,7 @@ $L$oop8x:: vpslld ymm14,ymm3,12 vpsrld ymm3,ymm3,20 vpor ymm3,ymm14,ymm3 - vbroadcasti128 ymm14,XMMWORD PTR[r11] + vbroadcasti128 ymm14,XMMWORD PTR[r11] vpaddd ymm13,ymm13,ymm6 vpxor ymm0,ymm13,ymm0 vpslld ymm15,ymm0,12 @@ -1971,20 +1971,20 @@ $L$oop8x:: vpslld ymm15,ymm3,7 vpsrld ymm3,ymm3,25 vpor ymm3,ymm15,ymm3 - vbroadcasti128 ymm15,XMMWORD PTR[r10] + vbroadcasti128 ymm15,XMMWORD PTR[r10] vpaddd ymm13,ymm13,ymm6 vpxor ymm0,ymm13,ymm0 vpslld ymm14,ymm0,7 vpsrld ymm0,ymm0,25 vpor ymm0,ymm14,ymm0 dec eax - jnz $L$oop8x + jnz $L$oop8x - lea rax,QWORD PTR[512+rsp] - vpaddd ymm8,ymm8,YMMWORD PTR[((128-256))+rcx] - vpaddd ymm9,ymm9,YMMWORD PTR[((160-256))+rcx] - vpaddd ymm10,ymm10,YMMWORD PTR[((192-256))+rcx] - vpaddd ymm11,ymm11,YMMWORD PTR[((224-256))+rcx] + lea rax,QWORD PTR[512+rsp] + vpaddd ymm8,ymm8,YMMWORD PTR[((128-256))+rcx] + vpaddd ymm9,ymm9,YMMWORD PTR[((160-256))+rcx] + vpaddd ymm10,ymm10,YMMWORD PTR[((192-256))+rcx] + vpaddd ymm11,ymm11,YMMWORD PTR[((224-256))+rcx] vpunpckldq ymm14,ymm8,ymm9 vpunpckldq ymm15,ymm10,ymm11 @@ -1994,10 +1994,10 @@ $L$oop8x:: vpunpckhqdq ymm14,ymm14,ymm15 vpunpcklqdq ymm11,ymm8,ymm10 vpunpckhqdq ymm8,ymm8,ymm10 - vpaddd ymm0,ymm0,YMMWORD PTR[((256-256))+rcx] - vpaddd ymm1,ymm1,YMMWORD PTR[((288-256))+rcx] - vpaddd ymm2,ymm2,YMMWORD PTR[((320-256))+rcx] - vpaddd ymm3,ymm3,YMMWORD PTR[((352-256))+rcx] + vpaddd ymm0,ymm0,YMMWORD PTR[((256-256))+rcx] + vpaddd ymm1,ymm1,YMMWORD PTR[((288-256))+rcx] + vpaddd ymm2,ymm2,YMMWORD PTR[((320-256))+rcx] + vpaddd ymm3,ymm3,YMMWORD PTR[((352-256))+rcx] vpunpckldq ymm10,ymm0,ymm1 vpunpckldq ymm15,ymm2,ymm3 @@ -2007,23 +2007,23 @@ $L$oop8x:: vpunpckhqdq ymm10,ymm10,ymm15 vpunpcklqdq ymm3,ymm0,ymm2 vpunpckhqdq ymm0,ymm0,ymm2 - vperm2i128 ymm15,ymm9,ymm1,020h - vperm2i128 ymm1,ymm9,ymm1,031h - vperm2i128 ymm9,ymm14,ymm10,020h - vperm2i128 ymm10,ymm14,ymm10,031h - vperm2i128 ymm14,ymm11,ymm3,020h - vperm2i128 ymm3,ymm11,ymm3,031h - vperm2i128 ymm11,ymm8,ymm0,020h - vperm2i128 ymm0,ymm8,ymm0,031h - vmovdqa YMMWORD PTR[rsp],ymm15 - vmovdqa YMMWORD PTR[32+rsp],ymm9 - vmovdqa ymm15,YMMWORD PTR[64+rsp] - vmovdqa ymm9,YMMWORD PTR[96+rsp] - - vpaddd ymm12,ymm12,YMMWORD PTR[((384-512))+rax] - vpaddd ymm13,ymm13,YMMWORD PTR[((416-512))+rax] - vpaddd ymm15,ymm15,YMMWORD PTR[((448-512))+rax] - vpaddd ymm9,ymm9,YMMWORD PTR[((480-512))+rax] + vperm2i128 ymm15,ymm9,ymm1,020h + vperm2i128 ymm1,ymm9,ymm1,031h + vperm2i128 ymm9,ymm14,ymm10,020h + vperm2i128 ymm10,ymm14,ymm10,031h + vperm2i128 ymm14,ymm11,ymm3,020h + vperm2i128 ymm3,ymm11,ymm3,031h + vperm2i128 ymm11,ymm8,ymm0,020h + vperm2i128 ymm0,ymm8,ymm0,031h + vmovdqa YMMWORD PTR[rsp],ymm15 + vmovdqa YMMWORD PTR[32+rsp],ymm9 + vmovdqa ymm15,YMMWORD PTR[64+rsp] + vmovdqa ymm9,YMMWORD PTR[96+rsp] + + vpaddd ymm12,ymm12,YMMWORD PTR[((384-512))+rax] + vpaddd ymm13,ymm13,YMMWORD PTR[((416-512))+rax] + vpaddd ymm15,ymm15,YMMWORD PTR[((448-512))+rax] + vpaddd ymm9,ymm9,YMMWORD PTR[((480-512))+rax] vpunpckldq ymm2,ymm12,ymm13 vpunpckldq ymm8,ymm15,ymm9 @@ -2033,10 +2033,10 @@ $L$oop8x:: vpunpckhqdq ymm2,ymm2,ymm8 vpunpcklqdq ymm9,ymm12,ymm15 vpunpckhqdq ymm12,ymm12,ymm15 - vpaddd ymm4,ymm4,YMMWORD PTR[((512-512))+rax] - vpaddd ymm5,ymm5,YMMWORD PTR[((544-512))+rax] - vpaddd ymm6,ymm6,YMMWORD PTR[((576-512))+rax] - vpaddd ymm7,ymm7,YMMWORD PTR[((608-512))+rax] + vpaddd ymm4,ymm4,YMMWORD PTR[((512-512))+rax] + vpaddd ymm5,ymm5,YMMWORD PTR[((544-512))+rax] + vpaddd ymm6,ymm6,YMMWORD PTR[((576-512))+rax] + vpaddd ymm7,ymm7,YMMWORD PTR[((608-512))+rax] vpunpckldq ymm15,ymm4,ymm5 vpunpckldq ymm8,ymm6,ymm7 @@ -2046,319 +2046,319 @@ $L$oop8x:: vpunpckhqdq ymm15,ymm15,ymm8 vpunpcklqdq ymm7,ymm4,ymm6 vpunpckhqdq ymm4,ymm4,ymm6 - vperm2i128 ymm8,ymm13,ymm5,020h - vperm2i128 ymm5,ymm13,ymm5,031h - vperm2i128 ymm13,ymm2,ymm15,020h - vperm2i128 ymm15,ymm2,ymm15,031h - vperm2i128 ymm2,ymm9,ymm7,020h - vperm2i128 ymm7,ymm9,ymm7,031h - vperm2i128 ymm9,ymm12,ymm4,020h - vperm2i128 ymm4,ymm12,ymm4,031h - vmovdqa ymm6,YMMWORD PTR[rsp] - vmovdqa ymm12,YMMWORD PTR[32+rsp] + vperm2i128 ymm8,ymm13,ymm5,020h + vperm2i128 ymm5,ymm13,ymm5,031h + vperm2i128 ymm13,ymm2,ymm15,020h + vperm2i128 ymm15,ymm2,ymm15,031h + vperm2i128 ymm2,ymm9,ymm7,020h + vperm2i128 ymm7,ymm9,ymm7,031h + vperm2i128 ymm9,ymm12,ymm4,020h + vperm2i128 ymm4,ymm12,ymm4,031h + vmovdqa ymm6,YMMWORD PTR[rsp] + vmovdqa ymm12,YMMWORD PTR[32+rsp] cmp rdx,64*8 - jb $L$tail8x - - vpxor ymm6,ymm6,YMMWORD PTR[rsi] - vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] - vpxor ymm1,ymm1,YMMWORD PTR[64+rsi] - vpxor ymm5,ymm5,YMMWORD PTR[96+rsi] - lea rsi,QWORD PTR[128+rsi] - vmovdqu YMMWORD PTR[rdi],ymm6 - vmovdqu YMMWORD PTR[32+rdi],ymm8 - vmovdqu YMMWORD PTR[64+rdi],ymm1 - vmovdqu YMMWORD PTR[96+rdi],ymm5 - lea rdi,QWORD PTR[128+rdi] - - vpxor ymm12,ymm12,YMMWORD PTR[rsi] - vpxor ymm13,ymm13,YMMWORD PTR[32+rsi] - vpxor ymm10,ymm10,YMMWORD PTR[64+rsi] - vpxor ymm15,ymm15,YMMWORD PTR[96+rsi] - lea rsi,QWORD PTR[128+rsi] - vmovdqu YMMWORD PTR[rdi],ymm12 - vmovdqu YMMWORD PTR[32+rdi],ymm13 - vmovdqu YMMWORD PTR[64+rdi],ymm10 - vmovdqu YMMWORD PTR[96+rdi],ymm15 - lea rdi,QWORD PTR[128+rdi] - - vpxor ymm14,ymm14,YMMWORD PTR[rsi] - vpxor ymm2,ymm2,YMMWORD PTR[32+rsi] - vpxor ymm3,ymm3,YMMWORD PTR[64+rsi] - vpxor ymm7,ymm7,YMMWORD PTR[96+rsi] - lea rsi,QWORD PTR[128+rsi] - vmovdqu YMMWORD PTR[rdi],ymm14 - vmovdqu YMMWORD PTR[32+rdi],ymm2 - vmovdqu YMMWORD PTR[64+rdi],ymm3 - vmovdqu YMMWORD PTR[96+rdi],ymm7 - lea rdi,QWORD PTR[128+rdi] - - vpxor ymm11,ymm11,YMMWORD PTR[rsi] - vpxor ymm9,ymm9,YMMWORD PTR[32+rsi] - vpxor ymm0,ymm0,YMMWORD PTR[64+rsi] - vpxor ymm4,ymm4,YMMWORD PTR[96+rsi] - lea rsi,QWORD PTR[128+rsi] - vmovdqu YMMWORD PTR[rdi],ymm11 - vmovdqu YMMWORD PTR[32+rdi],ymm9 - vmovdqu YMMWORD PTR[64+rdi],ymm0 - vmovdqu YMMWORD PTR[96+rdi],ymm4 - lea rdi,QWORD PTR[128+rdi] + jb $L$tail8x + + vpxor ymm6,ymm6,YMMWORD PTR[rsi] + vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] + vpxor ymm1,ymm1,YMMWORD PTR[64+rsi] + vpxor ymm5,ymm5,YMMWORD PTR[96+rsi] + lea rsi,QWORD PTR[128+rsi] + vmovdqu YMMWORD PTR[rdi],ymm6 + vmovdqu YMMWORD PTR[32+rdi],ymm8 + vmovdqu YMMWORD PTR[64+rdi],ymm1 + vmovdqu YMMWORD PTR[96+rdi],ymm5 + lea rdi,QWORD PTR[128+rdi] + + vpxor ymm12,ymm12,YMMWORD PTR[rsi] + vpxor ymm13,ymm13,YMMWORD PTR[32+rsi] + vpxor ymm10,ymm10,YMMWORD PTR[64+rsi] + vpxor ymm15,ymm15,YMMWORD PTR[96+rsi] + lea rsi,QWORD PTR[128+rsi] + vmovdqu YMMWORD PTR[rdi],ymm12 + vmovdqu YMMWORD PTR[32+rdi],ymm13 + vmovdqu YMMWORD PTR[64+rdi],ymm10 + vmovdqu YMMWORD PTR[96+rdi],ymm15 + lea rdi,QWORD PTR[128+rdi] + + vpxor ymm14,ymm14,YMMWORD PTR[rsi] + vpxor ymm2,ymm2,YMMWORD PTR[32+rsi] + vpxor ymm3,ymm3,YMMWORD PTR[64+rsi] + vpxor ymm7,ymm7,YMMWORD PTR[96+rsi] + lea rsi,QWORD PTR[128+rsi] + vmovdqu YMMWORD PTR[rdi],ymm14 + vmovdqu YMMWORD PTR[32+rdi],ymm2 + vmovdqu YMMWORD PTR[64+rdi],ymm3 + vmovdqu YMMWORD PTR[96+rdi],ymm7 + lea rdi,QWORD PTR[128+rdi] + + vpxor ymm11,ymm11,YMMWORD PTR[rsi] + vpxor ymm9,ymm9,YMMWORD PTR[32+rsi] + vpxor ymm0,ymm0,YMMWORD PTR[64+rsi] + vpxor ymm4,ymm4,YMMWORD PTR[96+rsi] + lea rsi,QWORD PTR[128+rsi] + vmovdqu YMMWORD PTR[rdi],ymm11 + vmovdqu YMMWORD PTR[32+rdi],ymm9 + vmovdqu YMMWORD PTR[64+rdi],ymm0 + vmovdqu YMMWORD PTR[96+rdi],ymm4 + lea rdi,QWORD PTR[128+rdi] sub rdx,64*8 - jnz $L$oop_outer8x + jnz $L$oop_outer8x - jmp $L$done8x + jmp $L$done8x -$L$tail8x:: +$L$tail8x:: cmp rdx,448 - jae $L$448_or_more8x + jae $L$448_or_more8x cmp rdx,384 - jae $L$384_or_more8x + jae $L$384_or_more8x cmp rdx,320 - jae $L$320_or_more8x + jae $L$320_or_more8x cmp rdx,256 - jae $L$256_or_more8x + jae $L$256_or_more8x cmp rdx,192 - jae $L$192_or_more8x + jae $L$192_or_more8x cmp rdx,128 - jae $L$128_or_more8x + jae $L$128_or_more8x cmp rdx,64 - jae $L$64_or_more8x + jae $L$64_or_more8x xor r10,r10 - vmovdqa YMMWORD PTR[rsp],ymm6 - vmovdqa YMMWORD PTR[32+rsp],ymm8 - jmp $L$oop_tail8x + vmovdqa YMMWORD PTR[rsp],ymm6 + vmovdqa YMMWORD PTR[32+rsp],ymm8 + jmp $L$oop_tail8x ALIGN 32 -$L$64_or_more8x:: - vpxor ymm6,ymm6,YMMWORD PTR[rsi] - vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] - vmovdqu YMMWORD PTR[rdi],ymm6 - vmovdqu YMMWORD PTR[32+rdi],ymm8 - je $L$done8x - - lea rsi,QWORD PTR[64+rsi] +$L$64_or_more8x:: + vpxor ymm6,ymm6,YMMWORD PTR[rsi] + vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] + vmovdqu YMMWORD PTR[rdi],ymm6 + vmovdqu YMMWORD PTR[32+rdi],ymm8 + je $L$done8x + + lea rsi,QWORD PTR[64+rsi] xor r10,r10 - vmovdqa YMMWORD PTR[rsp],ymm1 - lea rdi,QWORD PTR[64+rdi] + vmovdqa YMMWORD PTR[rsp],ymm1 + lea rdi,QWORD PTR[64+rdi] sub rdx,64 - vmovdqa YMMWORD PTR[32+rsp],ymm5 - jmp $L$oop_tail8x + vmovdqa YMMWORD PTR[32+rsp],ymm5 + jmp $L$oop_tail8x ALIGN 32 -$L$128_or_more8x:: - vpxor ymm6,ymm6,YMMWORD PTR[rsi] - vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] - vpxor ymm1,ymm1,YMMWORD PTR[64+rsi] - vpxor ymm5,ymm5,YMMWORD PTR[96+rsi] - vmovdqu YMMWORD PTR[rdi],ymm6 - vmovdqu YMMWORD PTR[32+rdi],ymm8 - vmovdqu YMMWORD PTR[64+rdi],ymm1 - vmovdqu YMMWORD PTR[96+rdi],ymm5 - je $L$done8x - - lea rsi,QWORD PTR[128+rsi] +$L$128_or_more8x:: + vpxor ymm6,ymm6,YMMWORD PTR[rsi] + vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] + vpxor ymm1,ymm1,YMMWORD PTR[64+rsi] + vpxor ymm5,ymm5,YMMWORD PTR[96+rsi] + vmovdqu YMMWORD PTR[rdi],ymm6 + vmovdqu YMMWORD PTR[32+rdi],ymm8 + vmovdqu YMMWORD PTR[64+rdi],ymm1 + vmovdqu YMMWORD PTR[96+rdi],ymm5 + je $L$done8x + + lea rsi,QWORD PTR[128+rsi] xor r10,r10 - vmovdqa YMMWORD PTR[rsp],ymm12 - lea rdi,QWORD PTR[128+rdi] + vmovdqa YMMWORD PTR[rsp],ymm12 + lea rdi,QWORD PTR[128+rdi] sub rdx,128 - vmovdqa YMMWORD PTR[32+rsp],ymm13 - jmp $L$oop_tail8x + vmovdqa YMMWORD PTR[32+rsp],ymm13 + jmp $L$oop_tail8x ALIGN 32 -$L$192_or_more8x:: - vpxor ymm6,ymm6,YMMWORD PTR[rsi] - vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] - vpxor ymm1,ymm1,YMMWORD PTR[64+rsi] - vpxor ymm5,ymm5,YMMWORD PTR[96+rsi] - vpxor ymm12,ymm12,YMMWORD PTR[128+rsi] - vpxor ymm13,ymm13,YMMWORD PTR[160+rsi] - vmovdqu YMMWORD PTR[rdi],ymm6 - vmovdqu YMMWORD PTR[32+rdi],ymm8 - vmovdqu YMMWORD PTR[64+rdi],ymm1 - vmovdqu YMMWORD PTR[96+rdi],ymm5 - vmovdqu YMMWORD PTR[128+rdi],ymm12 - vmovdqu YMMWORD PTR[160+rdi],ymm13 - je $L$done8x - - lea rsi,QWORD PTR[192+rsi] +$L$192_or_more8x:: + vpxor ymm6,ymm6,YMMWORD PTR[rsi] + vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] + vpxor ymm1,ymm1,YMMWORD PTR[64+rsi] + vpxor ymm5,ymm5,YMMWORD PTR[96+rsi] + vpxor ymm12,ymm12,YMMWORD PTR[128+rsi] + vpxor ymm13,ymm13,YMMWORD PTR[160+rsi] + vmovdqu YMMWORD PTR[rdi],ymm6 + vmovdqu YMMWORD PTR[32+rdi],ymm8 + vmovdqu YMMWORD PTR[64+rdi],ymm1 + vmovdqu YMMWORD PTR[96+rdi],ymm5 + vmovdqu YMMWORD PTR[128+rdi],ymm12 + vmovdqu YMMWORD PTR[160+rdi],ymm13 + je $L$done8x + + lea rsi,QWORD PTR[192+rsi] xor r10,r10 - vmovdqa YMMWORD PTR[rsp],ymm10 - lea rdi,QWORD PTR[192+rdi] + vmovdqa YMMWORD PTR[rsp],ymm10 + lea rdi,QWORD PTR[192+rdi] sub rdx,192 - vmovdqa YMMWORD PTR[32+rsp],ymm15 - jmp $L$oop_tail8x + vmovdqa YMMWORD PTR[32+rsp],ymm15 + jmp $L$oop_tail8x ALIGN 32 -$L$256_or_more8x:: - vpxor ymm6,ymm6,YMMWORD PTR[rsi] - vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] - vpxor ymm1,ymm1,YMMWORD PTR[64+rsi] - vpxor ymm5,ymm5,YMMWORD PTR[96+rsi] - vpxor ymm12,ymm12,YMMWORD PTR[128+rsi] - vpxor ymm13,ymm13,YMMWORD PTR[160+rsi] - vpxor ymm10,ymm10,YMMWORD PTR[192+rsi] - vpxor ymm15,ymm15,YMMWORD PTR[224+rsi] - vmovdqu YMMWORD PTR[rdi],ymm6 - vmovdqu YMMWORD PTR[32+rdi],ymm8 - vmovdqu YMMWORD PTR[64+rdi],ymm1 - vmovdqu YMMWORD PTR[96+rdi],ymm5 - vmovdqu YMMWORD PTR[128+rdi],ymm12 - vmovdqu YMMWORD PTR[160+rdi],ymm13 - vmovdqu YMMWORD PTR[192+rdi],ymm10 - vmovdqu YMMWORD PTR[224+rdi],ymm15 - je $L$done8x - - lea rsi,QWORD PTR[256+rsi] +$L$256_or_more8x:: + vpxor ymm6,ymm6,YMMWORD PTR[rsi] + vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] + vpxor ymm1,ymm1,YMMWORD PTR[64+rsi] + vpxor ymm5,ymm5,YMMWORD PTR[96+rsi] + vpxor ymm12,ymm12,YMMWORD PTR[128+rsi] + vpxor ymm13,ymm13,YMMWORD PTR[160+rsi] + vpxor ymm10,ymm10,YMMWORD PTR[192+rsi] + vpxor ymm15,ymm15,YMMWORD PTR[224+rsi] + vmovdqu YMMWORD PTR[rdi],ymm6 + vmovdqu YMMWORD PTR[32+rdi],ymm8 + vmovdqu YMMWORD PTR[64+rdi],ymm1 + vmovdqu YMMWORD PTR[96+rdi],ymm5 + vmovdqu YMMWORD PTR[128+rdi],ymm12 + vmovdqu YMMWORD PTR[160+rdi],ymm13 + vmovdqu YMMWORD PTR[192+rdi],ymm10 + vmovdqu YMMWORD PTR[224+rdi],ymm15 + je $L$done8x + + lea rsi,QWORD PTR[256+rsi] xor r10,r10 - vmovdqa YMMWORD PTR[rsp],ymm14 - lea rdi,QWORD PTR[256+rdi] + vmovdqa YMMWORD PTR[rsp],ymm14 + lea rdi,QWORD PTR[256+rdi] sub rdx,256 - vmovdqa YMMWORD PTR[32+rsp],ymm2 - jmp $L$oop_tail8x + vmovdqa YMMWORD PTR[32+rsp],ymm2 + jmp $L$oop_tail8x ALIGN 32 -$L$320_or_more8x:: - vpxor ymm6,ymm6,YMMWORD PTR[rsi] - vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] - vpxor ymm1,ymm1,YMMWORD PTR[64+rsi] - vpxor ymm5,ymm5,YMMWORD PTR[96+rsi] - vpxor ymm12,ymm12,YMMWORD PTR[128+rsi] - vpxor ymm13,ymm13,YMMWORD PTR[160+rsi] - vpxor ymm10,ymm10,YMMWORD PTR[192+rsi] - vpxor ymm15,ymm15,YMMWORD PTR[224+rsi] - vpxor ymm14,ymm14,YMMWORD PTR[256+rsi] - vpxor ymm2,ymm2,YMMWORD PTR[288+rsi] - vmovdqu YMMWORD PTR[rdi],ymm6 - vmovdqu YMMWORD PTR[32+rdi],ymm8 - vmovdqu YMMWORD PTR[64+rdi],ymm1 - vmovdqu YMMWORD PTR[96+rdi],ymm5 - vmovdqu YMMWORD PTR[128+rdi],ymm12 - vmovdqu YMMWORD PTR[160+rdi],ymm13 - vmovdqu YMMWORD PTR[192+rdi],ymm10 - vmovdqu YMMWORD PTR[224+rdi],ymm15 - vmovdqu YMMWORD PTR[256+rdi],ymm14 - vmovdqu YMMWORD PTR[288+rdi],ymm2 - je $L$done8x - - lea rsi,QWORD PTR[320+rsi] +$L$320_or_more8x:: + vpxor ymm6,ymm6,YMMWORD PTR[rsi] + vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] + vpxor ymm1,ymm1,YMMWORD PTR[64+rsi] + vpxor ymm5,ymm5,YMMWORD PTR[96+rsi] + vpxor ymm12,ymm12,YMMWORD PTR[128+rsi] + vpxor ymm13,ymm13,YMMWORD PTR[160+rsi] + vpxor ymm10,ymm10,YMMWORD PTR[192+rsi] + vpxor ymm15,ymm15,YMMWORD PTR[224+rsi] + vpxor ymm14,ymm14,YMMWORD PTR[256+rsi] + vpxor ymm2,ymm2,YMMWORD PTR[288+rsi] + vmovdqu YMMWORD PTR[rdi],ymm6 + vmovdqu YMMWORD PTR[32+rdi],ymm8 + vmovdqu YMMWORD PTR[64+rdi],ymm1 + vmovdqu YMMWORD PTR[96+rdi],ymm5 + vmovdqu YMMWORD PTR[128+rdi],ymm12 + vmovdqu YMMWORD PTR[160+rdi],ymm13 + vmovdqu YMMWORD PTR[192+rdi],ymm10 + vmovdqu YMMWORD PTR[224+rdi],ymm15 + vmovdqu YMMWORD PTR[256+rdi],ymm14 + vmovdqu YMMWORD PTR[288+rdi],ymm2 + je $L$done8x + + lea rsi,QWORD PTR[320+rsi] xor r10,r10 - vmovdqa YMMWORD PTR[rsp],ymm3 - lea rdi,QWORD PTR[320+rdi] + vmovdqa YMMWORD PTR[rsp],ymm3 + lea rdi,QWORD PTR[320+rdi] sub rdx,320 - vmovdqa YMMWORD PTR[32+rsp],ymm7 - jmp $L$oop_tail8x + vmovdqa YMMWORD PTR[32+rsp],ymm7 + jmp $L$oop_tail8x ALIGN 32 -$L$384_or_more8x:: - vpxor ymm6,ymm6,YMMWORD PTR[rsi] - vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] - vpxor ymm1,ymm1,YMMWORD PTR[64+rsi] - vpxor ymm5,ymm5,YMMWORD PTR[96+rsi] - vpxor ymm12,ymm12,YMMWORD PTR[128+rsi] - vpxor ymm13,ymm13,YMMWORD PTR[160+rsi] - vpxor ymm10,ymm10,YMMWORD PTR[192+rsi] - vpxor ymm15,ymm15,YMMWORD PTR[224+rsi] - vpxor ymm14,ymm14,YMMWORD PTR[256+rsi] - vpxor ymm2,ymm2,YMMWORD PTR[288+rsi] - vpxor ymm3,ymm3,YMMWORD PTR[320+rsi] - vpxor ymm7,ymm7,YMMWORD PTR[352+rsi] - vmovdqu YMMWORD PTR[rdi],ymm6 - vmovdqu YMMWORD PTR[32+rdi],ymm8 - vmovdqu YMMWORD PTR[64+rdi],ymm1 - vmovdqu YMMWORD PTR[96+rdi],ymm5 - vmovdqu YMMWORD PTR[128+rdi],ymm12 - vmovdqu YMMWORD PTR[160+rdi],ymm13 - vmovdqu YMMWORD PTR[192+rdi],ymm10 - vmovdqu YMMWORD PTR[224+rdi],ymm15 - vmovdqu YMMWORD PTR[256+rdi],ymm14 - vmovdqu YMMWORD PTR[288+rdi],ymm2 - vmovdqu YMMWORD PTR[320+rdi],ymm3 - vmovdqu YMMWORD PTR[352+rdi],ymm7 - je $L$done8x - - lea rsi,QWORD PTR[384+rsi] +$L$384_or_more8x:: + vpxor ymm6,ymm6,YMMWORD PTR[rsi] + vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] + vpxor ymm1,ymm1,YMMWORD PTR[64+rsi] + vpxor ymm5,ymm5,YMMWORD PTR[96+rsi] + vpxor ymm12,ymm12,YMMWORD PTR[128+rsi] + vpxor ymm13,ymm13,YMMWORD PTR[160+rsi] + vpxor ymm10,ymm10,YMMWORD PTR[192+rsi] + vpxor ymm15,ymm15,YMMWORD PTR[224+rsi] + vpxor ymm14,ymm14,YMMWORD PTR[256+rsi] + vpxor ymm2,ymm2,YMMWORD PTR[288+rsi] + vpxor ymm3,ymm3,YMMWORD PTR[320+rsi] + vpxor ymm7,ymm7,YMMWORD PTR[352+rsi] + vmovdqu YMMWORD PTR[rdi],ymm6 + vmovdqu YMMWORD PTR[32+rdi],ymm8 + vmovdqu YMMWORD PTR[64+rdi],ymm1 + vmovdqu YMMWORD PTR[96+rdi],ymm5 + vmovdqu YMMWORD PTR[128+rdi],ymm12 + vmovdqu YMMWORD PTR[160+rdi],ymm13 + vmovdqu YMMWORD PTR[192+rdi],ymm10 + vmovdqu YMMWORD PTR[224+rdi],ymm15 + vmovdqu YMMWORD PTR[256+rdi],ymm14 + vmovdqu YMMWORD PTR[288+rdi],ymm2 + vmovdqu YMMWORD PTR[320+rdi],ymm3 + vmovdqu YMMWORD PTR[352+rdi],ymm7 + je $L$done8x + + lea rsi,QWORD PTR[384+rsi] xor r10,r10 - vmovdqa YMMWORD PTR[rsp],ymm11 - lea rdi,QWORD PTR[384+rdi] + vmovdqa YMMWORD PTR[rsp],ymm11 + lea rdi,QWORD PTR[384+rdi] sub rdx,384 - vmovdqa YMMWORD PTR[32+rsp],ymm9 - jmp $L$oop_tail8x + vmovdqa YMMWORD PTR[32+rsp],ymm9 + jmp $L$oop_tail8x ALIGN 32 -$L$448_or_more8x:: - vpxor ymm6,ymm6,YMMWORD PTR[rsi] - vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] - vpxor ymm1,ymm1,YMMWORD PTR[64+rsi] - vpxor ymm5,ymm5,YMMWORD PTR[96+rsi] - vpxor ymm12,ymm12,YMMWORD PTR[128+rsi] - vpxor ymm13,ymm13,YMMWORD PTR[160+rsi] - vpxor ymm10,ymm10,YMMWORD PTR[192+rsi] - vpxor ymm15,ymm15,YMMWORD PTR[224+rsi] - vpxor ymm14,ymm14,YMMWORD PTR[256+rsi] - vpxor ymm2,ymm2,YMMWORD PTR[288+rsi] - vpxor ymm3,ymm3,YMMWORD PTR[320+rsi] - vpxor ymm7,ymm7,YMMWORD PTR[352+rsi] - vpxor ymm11,ymm11,YMMWORD PTR[384+rsi] - vpxor ymm9,ymm9,YMMWORD PTR[416+rsi] - vmovdqu YMMWORD PTR[rdi],ymm6 - vmovdqu YMMWORD PTR[32+rdi],ymm8 - vmovdqu YMMWORD PTR[64+rdi],ymm1 - vmovdqu YMMWORD PTR[96+rdi],ymm5 - vmovdqu YMMWORD PTR[128+rdi],ymm12 - vmovdqu YMMWORD PTR[160+rdi],ymm13 - vmovdqu YMMWORD PTR[192+rdi],ymm10 - vmovdqu YMMWORD PTR[224+rdi],ymm15 - vmovdqu YMMWORD PTR[256+rdi],ymm14 - vmovdqu YMMWORD PTR[288+rdi],ymm2 - vmovdqu YMMWORD PTR[320+rdi],ymm3 - vmovdqu YMMWORD PTR[352+rdi],ymm7 - vmovdqu YMMWORD PTR[384+rdi],ymm11 - vmovdqu YMMWORD PTR[416+rdi],ymm9 - je $L$done8x - - lea rsi,QWORD PTR[448+rsi] +$L$448_or_more8x:: + vpxor ymm6,ymm6,YMMWORD PTR[rsi] + vpxor ymm8,ymm8,YMMWORD PTR[32+rsi] + vpxor ymm1,ymm1,YMMWORD PTR[64+rsi] + vpxor ymm5,ymm5,YMMWORD PTR[96+rsi] + vpxor ymm12,ymm12,YMMWORD PTR[128+rsi] + vpxor ymm13,ymm13,YMMWORD PTR[160+rsi] + vpxor ymm10,ymm10,YMMWORD PTR[192+rsi] + vpxor ymm15,ymm15,YMMWORD PTR[224+rsi] + vpxor ymm14,ymm14,YMMWORD PTR[256+rsi] + vpxor ymm2,ymm2,YMMWORD PTR[288+rsi] + vpxor ymm3,ymm3,YMMWORD PTR[320+rsi] + vpxor ymm7,ymm7,YMMWORD PTR[352+rsi] + vpxor ymm11,ymm11,YMMWORD PTR[384+rsi] + vpxor ymm9,ymm9,YMMWORD PTR[416+rsi] + vmovdqu YMMWORD PTR[rdi],ymm6 + vmovdqu YMMWORD PTR[32+rdi],ymm8 + vmovdqu YMMWORD PTR[64+rdi],ymm1 + vmovdqu YMMWORD PTR[96+rdi],ymm5 + vmovdqu YMMWORD PTR[128+rdi],ymm12 + vmovdqu YMMWORD PTR[160+rdi],ymm13 + vmovdqu YMMWORD PTR[192+rdi],ymm10 + vmovdqu YMMWORD PTR[224+rdi],ymm15 + vmovdqu YMMWORD PTR[256+rdi],ymm14 + vmovdqu YMMWORD PTR[288+rdi],ymm2 + vmovdqu YMMWORD PTR[320+rdi],ymm3 + vmovdqu YMMWORD PTR[352+rdi],ymm7 + vmovdqu YMMWORD PTR[384+rdi],ymm11 + vmovdqu YMMWORD PTR[416+rdi],ymm9 + je $L$done8x + + lea rsi,QWORD PTR[448+rsi] xor r10,r10 - vmovdqa YMMWORD PTR[rsp],ymm0 - lea rdi,QWORD PTR[448+rdi] + vmovdqa YMMWORD PTR[rsp],ymm0 + lea rdi,QWORD PTR[448+rdi] sub rdx,448 - vmovdqa YMMWORD PTR[32+rsp],ymm4 + vmovdqa YMMWORD PTR[32+rsp],ymm4 -$L$oop_tail8x:: - movzx eax,BYTE PTR[r10*1+rsi] - movzx ecx,BYTE PTR[r10*1+rsp] - lea r10,QWORD PTR[1+r10] +$L$oop_tail8x:: + movzx eax,BYTE PTR[r10*1+rsi] + movzx ecx,BYTE PTR[r10*1+rsp] + lea r10,QWORD PTR[1+r10] xor eax,ecx - mov BYTE PTR[((-1))+r10*1+rdi],al + mov BYTE PTR[((-1))+r10*1+rdi],al dec rdx - jnz $L$oop_tail8x + jnz $L$oop_tail8x -$L$done8x:: +$L$done8x:: vzeroall - movaps xmm6,XMMWORD PTR[((-168))+r9] - movaps xmm7,XMMWORD PTR[((-152))+r9] - movaps xmm8,XMMWORD PTR[((-136))+r9] - movaps xmm9,XMMWORD PTR[((-120))+r9] - movaps xmm10,XMMWORD PTR[((-104))+r9] - movaps xmm11,XMMWORD PTR[((-88))+r9] - movaps xmm12,XMMWORD PTR[((-72))+r9] - movaps xmm13,XMMWORD PTR[((-56))+r9] - movaps xmm14,XMMWORD PTR[((-40))+r9] - movaps xmm15,XMMWORD PTR[((-24))+r9] - lea rsp,QWORD PTR[r9] - -$L$8x_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movaps xmm6,XMMWORD PTR[((-168))+r9] + movaps xmm7,XMMWORD PTR[((-152))+r9] + movaps xmm8,XMMWORD PTR[((-136))+r9] + movaps xmm9,XMMWORD PTR[((-120))+r9] + movaps xmm10,XMMWORD PTR[((-104))+r9] + movaps xmm11,XMMWORD PTR[((-88))+r9] + movaps xmm12,XMMWORD PTR[((-72))+r9] + movaps xmm13,XMMWORD PTR[((-56))+r9] + movaps xmm14,XMMWORD PTR[((-40))+r9] + movaps xmm15,XMMWORD PTR[((-24))+r9] + lea rsp,QWORD PTR[r9] + +$L$8x_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ChaCha20_8x:: -ChaCha20_8x ENDP -EXTERN __imp_RtlVirtualUnwind:NEAR +$L$SEH_end_ChaCha20_8x:: +ChaCha20_8x ENDP +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -2370,62 +2370,62 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - lea r10,QWORD PTR[$L$ctr32_body] + lea r10,QWORD PTR[$L$ctr32_body] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - lea r10,QWORD PTR[$L$no_data] + lea r10,QWORD PTR[$L$no_data] cmp rbx,r10 - jae $L$common_seh_tail - - lea rax,QWORD PTR[((64+24+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 - -$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 - - mov rdi,QWORD PTR[40+r9] + jae $L$common_seh_tail + + lea rax,QWORD PTR[((64+24+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 + +$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 + + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -2439,11 +2439,11 @@ $L$common_seh_tail:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP +se_handler ENDP ALIGN 16 -simd_handler PROC PRIVATE +simd_handler PROC PRIVATE push rsi push rdi push rbx @@ -2455,93 +2455,93 @@ simd_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[192+r8] + mov rax,QWORD PTR[192+r8] - mov r10d,DWORD PTR[4+r11] - mov ecx,DWORD PTR[8+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + mov ecx,DWORD PTR[8+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail + jae $L$common_seh_tail neg rcx - lea rsi,QWORD PTR[((-8))+rcx*1+rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[((-8))+rcx*1+rax] + lea rdi,QWORD PTR[512+r8] neg ecx shr ecx,3 - DD 0a548f3fch + DD 0a548f3fch - jmp $L$common_seh_tail -simd_handler ENDP + jmp $L$common_seh_tail +simd_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_ChaCha20_ctr32 - DD imagerel $L$SEH_end_ChaCha20_ctr32 - DD imagerel $L$SEH_info_ChaCha20_ctr32 - - DD imagerel $L$SEH_begin_ChaCha20_ssse3 - DD imagerel $L$SEH_end_ChaCha20_ssse3 - DD imagerel $L$SEH_info_ChaCha20_ssse3 - - DD imagerel $L$SEH_begin_ChaCha20_128 - DD imagerel $L$SEH_end_ChaCha20_128 - DD imagerel $L$SEH_info_ChaCha20_128 - - DD imagerel $L$SEH_begin_ChaCha20_4x - DD imagerel $L$SEH_end_ChaCha20_4x - DD imagerel $L$SEH_info_ChaCha20_4x - DD imagerel $L$SEH_begin_ChaCha20_4xop - DD imagerel $L$SEH_end_ChaCha20_4xop - DD imagerel $L$SEH_info_ChaCha20_4xop - DD imagerel $L$SEH_begin_ChaCha20_8x - DD imagerel $L$SEH_end_ChaCha20_8x - DD imagerel $L$SEH_info_ChaCha20_8x -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + DD imagerel $L$SEH_begin_ChaCha20_ctr32 + DD imagerel $L$SEH_end_ChaCha20_ctr32 + DD imagerel $L$SEH_info_ChaCha20_ctr32 + + DD imagerel $L$SEH_begin_ChaCha20_ssse3 + DD imagerel $L$SEH_end_ChaCha20_ssse3 + DD imagerel $L$SEH_info_ChaCha20_ssse3 + + DD imagerel $L$SEH_begin_ChaCha20_128 + DD imagerel $L$SEH_end_ChaCha20_128 + DD imagerel $L$SEH_info_ChaCha20_128 + + DD imagerel $L$SEH_begin_ChaCha20_4x + DD imagerel $L$SEH_end_ChaCha20_4x + DD imagerel $L$SEH_info_ChaCha20_4x + DD imagerel $L$SEH_begin_ChaCha20_4xop + DD imagerel $L$SEH_end_ChaCha20_4xop + DD imagerel $L$SEH_info_ChaCha20_4xop + DD imagerel $L$SEH_begin_ChaCha20_8x + DD imagerel $L$SEH_end_ChaCha20_8x + DD imagerel $L$SEH_info_ChaCha20_8x +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_ChaCha20_ctr32:: +$L$SEH_info_ChaCha20_ctr32:: DB 9,0,0,0 - DD imagerel se_handler + DD imagerel se_handler -$L$SEH_info_ChaCha20_ssse3:: +$L$SEH_info_ChaCha20_ssse3:: DB 9,0,0,0 - DD imagerel simd_handler - DD imagerel $L$ssse3_body,imagerel $L$ssse3_epilogue - DD 020h,0 + DD imagerel simd_handler + DD imagerel $L$ssse3_body,imagerel $L$ssse3_epilogue + DD 020h,0 -$L$SEH_info_ChaCha20_128:: +$L$SEH_info_ChaCha20_128:: DB 9,0,0,0 - DD imagerel simd_handler - DD imagerel $L$128_body,imagerel $L$128_epilogue - DD 060h,0 + DD imagerel simd_handler + DD imagerel $L$128_body,imagerel $L$128_epilogue + DD 060h,0 -$L$SEH_info_ChaCha20_4x:: +$L$SEH_info_ChaCha20_4x:: DB 9,0,0,0 - DD imagerel simd_handler - DD imagerel $L$4x_body,imagerel $L$4x_epilogue - DD 0a0h,0 -$L$SEH_info_ChaCha20_4xop:: + DD imagerel simd_handler + DD imagerel $L$4x_body,imagerel $L$4x_epilogue + DD 0a0h,0 +$L$SEH_info_ChaCha20_4xop:: DB 9,0,0,0 - DD imagerel simd_handler - DD imagerel $L$4xop_body,imagerel $L$4xop_epilogue - DD 0a0h,0 -$L$SEH_info_ChaCha20_8x:: + DD imagerel simd_handler + DD imagerel $L$4xop_body,imagerel $L$4xop_epilogue + DD 0a0h,0 +$L$SEH_info_ChaCha20_8x:: DB 9,0,0,0 - DD imagerel simd_handler - DD imagerel $L$8x_body,imagerel $L$8x_epilogue - DD 0a0h,0 - -.xdata ENDS -END + DD imagerel simd_handler + DD imagerel $L$8x_body,imagerel $L$8x_epilogue + DD 0a0h,0 + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/ec/ecp_nistz256-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/ec/ecp_nistz256-x86_64.masm index 36bbcc020c..2d81057494 100644 --- a/contrib/libs/openssl/asm/windows/crypto/ec/ecp_nistz256-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/ec/ecp_nistz256-x86_64.masm @@ -1,2414 +1,2414 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' -PUBLIC ecp_nistz256_precomputed - -ALIGN 256 -ecp_nistz256_precomputed:: - DD 018a9143ch,079e730d4h,05fedb601h,075ba95fch,077622510h,079fb732bh,0a53755c6h,018905f76h,0ce95560ah,0ddf25357h,0ba19e45ch,08b4ab8e4h,0dd21f325h,0d2e88688h,025885d85h,08571ff18h - DD 010ddd64dh,0850046d4h,0a433827dh,0aa6ae3c1h,08d1490d9h,073220503h,03dcf3a3bh,0f6bb32e4h,061bee1a5h,02f3648d3h,0eb236ff8h,0152cd7cbh,092042dbeh,019a8fb0eh,00a5b8a3bh,078c57751h - DD 04eebc127h,0ffac3f90h,0087d81fbh,0b027f84ah,087cbbc98h,066ad77ddh,0b6ff747eh,026936a3fh,0c983a7ebh,0b04c5c1fh,00861fe1ah,0583e47adh,01a2ee98eh,078820831h,0e587cc07h,0d5f06a29h - DD 046918dcch,074b0b50dh,0c623c173h,04650a6edh,0e8100af2h,00cdaacach,041b0176bh,0577362f5h,0e4cbaba6h,02d96f24ch,0fad6f447h,017628471h,0e5ddd22eh,06b6c36deh,04c5ab863h,084b14c39h - DD 0c45c61f5h,0be1b8aaeh,094b9537dh,090ec649ah,0d076c20ch,0941cb5aah,0890523c8h,0c9079605h,0e7ba4f10h,0eb309b4ah,0e5eb882bh,073c568efh,07e7a1f68h,03540a987h,02dd1e916h,073a076bbh - DD 03e77664ah,040394737h,0346cee3eh,055ae744fh,05b17a3adh,0d50a961ah,054213673h,013074b59h,0d377e44bh,093d36220h,0adff14b5h,0299c2b53h,0ef639f11h,0f424d44ch,04a07f75fh,0a4c9916dh - DD 0a0173b4fh,00746354eh,0d23c00f7h,02bd20213h,00c23bb08h,0f43eaab5h,0c3123e03h,013ba5119h,03f5b9d4dh,02847d030h,05da67bddh,06742f2f2h,077c94195h,0ef933bdch,06e240867h,0eaedd915h - DD 09499a78fh,027f14cd1h,06f9b3455h,0462ab5c5h,0f02cfc6bh,08f90f02ah,0b265230dh,0b763891eh,0532d4977h,0f59da3a9h,0cf9eba15h,021e3327dh,0be60bbf0h,0123c7b84h,07706df76h,056ec12f2h - DD 0264e20e8h,075c96e8fh,059a7a841h,0abe6bfedh,044c8eb00h,02cc09c04h,0f0c4e16bh,0e05b3080h,0a45f3314h,01eb7777ah,0ce5d45e3h,056af7bedh,088b12f1ah,02b6e019ah,0fd835f9bh,0086659cdh - DD 09dc21ec8h,02c18dbd1h,00fcf8139h,098f9868ah,048250b49h,0737d2cd6h,024b3428fh,0cc61c947h,080dd9e76h,00c2b4078h,0383fbe08h,0c43a8991h,0779be5d2h,05f7d2d65h,0eb3b4ab5h,078719a54h - DD 06245e404h,0ea7d260ah,06e7fdfe0h,09de40795h,08dac1ab5h,01ff3a415h,0649c9073h,03e7090f1h,02b944e88h,01a768561h,0e57f61c8h,0250f939eh,01ead643dh,00c0daa89h,0e125b88eh,068930023h - DD 0d2697768h,004b71aa7h,0ca345a33h,0abdedef5h,0ee37385eh,02409d29dh,0cb83e156h,04ee1df77h,01cbb5b43h,00cac12d9h,0ca895637h,0170ed2f6h,08ade6d66h,028228cfah,053238acah,07ff57c95h - DD 04b2ed709h,0ccc42563h,0856fd30dh,00e356769h,0559e9811h,0bcbcd43fh,05395b759h,0738477ach,0c00ee17fh,035752b90h,0742ed2e3h,068748390h,0bd1f5bc1h,07cd06422h,0c9e7b797h,0fbc08769h - DD 0b0cf664ah,0a242a35bh,07f9707e3h,0126e48f7h,0c6832660h,01717bf54h,0fd12c72eh,0faae7332h,0995d586bh,027b52db7h,0832237c2h,0be29569eh,02a65e7dbh,0e8e4193eh,02eaa1bbbh,0152706dch - DD 0bc60055bh,072bcd8b7h,056e27e4bh,003cc23eeh,0e4819370h,0ee337424h,00ad3da09h,0e2aa0e43h,06383c45dh,040b8524fh,042a41b25h,0d7663554h,0778a4797h,064efa6deh,07079adf4h,02042170ah - DD 00bc6fb80h,0808b0b65h,03ffe2e6bh,05882e075h,02c83f549h,0d5ef2f7ch,09103b723h,054d63c80h,052a23f9bh,0f2f11bd6h,04b0b6587h,03670c319h,0b1580e9eh,055c4623bh,001efe220h,064edf7b2h - DD 0d53c5c9dh,097091dcbh,0ac0a177bh,0f17624b6h,02cfe2dffh,0b0f13975h,06c7a574eh,0c1a35c0ah,093e79987h,0227d3146h,0e89cb80eh,00575bf30h,00d1883bbh,02f4e247fh,03274c3d0h,0ebd51226h - DD 056ada97ah,05f3e51c8h,08f8b403eh,04afc964dh,0412e2979h,0a6f247abh,06f80ebdah,0675abd1bh,05e485a1dh,066a2bd72h,08f4f0b3ch,04b2a5cafh,01b847bbah,02626927fh,00502394dh,06c6fc7d9h - DD 0a5659ae8h,0fea912bah,025e1a16eh,068363abah,0752c41ach,0b8842277h,02897c3fch,0fe545c28h,0dc4c696bh,02d36e9e7h,0fba977c5h,05806244ah,0e39508c1h,085665e9bh,06d12597bh,0f720ee25h - DD 0d2337a31h,08a979129h,00f862bdch,05916868fh,05dd283bah,0048099d9h,0fe5bfb4eh,0e2d1eeb6h,07884005dh,082ef1c41h,0ffffcbaeh,0a2d4ec17h,08aa95e66h,09161c53fh,0c5fee0d0h,05ee104e1h - DD 0c135b208h,0562e4cech,04783f47dh,074e1b265h,05a3f3b30h,06d2a506ch,0c16762fch,0ecead9f4h,0e286e5b9h,0f29dd4b2h,083bb3c61h,01b0fadc0h,07fac29a4h,07a75023eh,0c9477fa3h,0c086d5f1h - DD 02f6f3076h,00fc61135h,0e3912a9ah,0c99ffa23h,0d2f8ba3dh,06a0b0685h,0e93358a4h,0fdc777e8h,035415f04h,094a787bbh,04d23fea4h,0640c2d6ah,0153a35b5h,09de917dah,05d5cd074h,0793e8d07h - DD 02de45068h,0f4f87653h,09e2e1f6eh,037c7a7e8h,0a3584069h,0d0825fa2h,01727bf42h,0af2cea7ch,09e4785a9h,00360a4fbh,027299f4ah,0e5fda49ch,071ac2f71h,048068e13h,09077666fh,083d0687bh - DD 015d02819h,06d3883b2h,040dd9a35h,06d0d7550h,01d2b469fh,061d7cbf9h,02efc3115h,0f97b232fh,0b24bcbc7h,0a551d750h,088a1e356h,011ea4949h,093cb7501h,07669f031h,0ca737b8ah,0595dc55eh - DD 0d837879fh,0a4a319ach,0ed6b67b0h,06fc1b49eh,032f1f3afh,0e3959933h,065432a2eh,0966742ebh,0b4966228h,04b8dc9feh,043f43950h,096cc6312h,0c9b731eeh,012068859h,056f79968h,07b948dc3h - DD 0ed1f8008h,061e4ad32h,0d8b17538h,0e6c9267ah,0857ff6fbh,01ac7c5ebh,055f2fb10h,0994baaa8h,01d248018h,084cf14e1h,0628ac508h,05a39898bh,05fa944f5h,014fde97bh,0d12e5ac7h,0ed178030h - DD 097e2feb4h,0042c2af4h,0aebf7313h,0d36a42d7h,0084ffdd7h,049d2c9ebh,02ef7c76ah,09f8aa54bh,009895e70h,09200b7bah,0ddb7fb58h,03bd0c66fh,078eb4cbbh,02d97d108h,0d84bde31h,02d431068h - DD 0172ccd1fh,04b523eb7h,030a6a892h,07323cb28h,0cfe153ebh,097082ec0h,0f2aadb97h,0e97f6b6ah,0d1a83da1h,01d3d393eh,0804b2a68h,0a6a7f9c7h,02d0cb71eh,04a688b48h,040585278h,0a9b4cc5fh - DD 0cb66e132h,05e5db46ah,00d925880h,0f1be963ah,00317b9e2h,0944a7027h,048603d48h,0e266f959h,05c208899h,098db6673h,0a2fb18a3h,090472447h,0777c619fh,08a966939h,02a3be21bh,03798142ah - DD 03298b343h,0b4241cb1h,0b44f65a1h,0a3a14e49h,03ac77acdh,0c5f4d6cdh,052b6fc3ch,0d0288cb5h,01c040abch,0d5cc8c2fh,006bf9b4ah,0b675511eh,09b3aa441h,0d667da37h,051601f72h,0460d45ceh - DD 06755ff89h,0e2f73c69h,0473017e6h,0dd3cf7e7h,03cf7600dh,08ef5689dh,0b1fc87b4h,0948dc4f8h,04ea53299h,0d9e9fe81h,098eb6028h,02d921ca2h,00c9803fch,0faecedfdh,04d7b4745h,0f38ae891h - DD 0c5e3a3d8h,0d8c5fccfh,04079dfbfh,0befd904ch,0fead0197h,0bc6d6a58h,0695532a4h,039227077h,0dbef42f5h,009e23e6dh,0480a9908h,07e449b64h,0ad9a2e40h,07b969c1ah,09591c2a4h,06231d792h - DD 00f664534h,087151456h,04b68f103h,085ceae7ch,065578ab9h,0ac09c4aeh,0f044b10ch,033ec6868h,03a8ec1f1h,06ac4832bh,05847d5efh,05509d128h,0763f1574h,0f909604fh,0c32f63c4h,0b16c4303h - DD 07ca23cd3h,0b6ab2014h,0a391849dh,0caa7a5c6h,075678d94h,05b0673a3h,0dd303e64h,0c982ddd4h,05db6f971h,0fd7b000bh,06f876f92h,0bba2cb1fh,03c569426h,0c77332a3h,0570d74f8h,0a159100ch - DD 0dec67ef5h,0fd16847fh,0233e76b7h,0742ee464h,0efc2b4c8h,00b8e4134h,042a3e521h,0ca640b86h,08ceb6aa9h,0653a0190h,0547852d5h,0313c300ch,06b237af7h,024e4ab12h,08bb47af8h,02ba90162h - DD 0a8219bb7h,03d5e58d6h,01b06c57fh,0c691d0bdh,0d257576eh,00ae4cb10h,0d54a3dc3h,03569656ch,094cda03ah,0e5ebaebdh,0162bfe13h,0934e82d3h,0e251a0c6h,0450ac0bah,0dd6da526h,0480b9e11h - DD 08cce08b5h,000467bc5h,07f178d55h,0b636458ch,0a677d806h,0c5748baeh,0dfa394ebh,02763a387h,07d3cebb6h,0a12b448ah,06f20d850h,0e7adda3eh,01558462ch,0f63ebce5h,0620088a8h,058b36143h - DD 04d63c0eeh,08a2cc3cah,00fe948ceh,051233117h,0222ef33bh,07463fd85h,07c603d6ch,0adf0c7dch,0fe7765e5h,00ec32d3bh,0bf380409h,0ccaab359h,08e59319ch,0bdaa84d6h,09c80c34dh,0d9a4c280h - DD 0a059c142h,0a9d89488h,0ff0b9346h,06f5ae714h,016fb3664h,0068f237dh,0363186ach,05853e4c4h,063c52f98h,0e2d87d23h,081828876h,02ec4a766h,0e14e7b1ch,047b864fah,069192408h,00c0bc0e5h - DD 0b82e9f3eh,0e4d7681dh,0df25e13ch,083200f0bh,066f27280h,08909984ch,075f73227h,0462d7b00h,0f2651798h,0d90ba188h,036ab1c34h,074c6e18ch,05ef54359h,0ab256ea3h,0d1aa702fh,003466612h - DD 02ed22e91h,0624d6049h,06f072822h,06fdfe0b5h,039ce2271h,0eeca1115h,0db01614fh,098100a4fh,0a35c628fh,0b6b0daa2h,0c87e9a47h,0b6f94d2eh,01d57d9ceh,0c6773259h,003884a7bh,0f70bfeech - DD 0ed2bad01h,05fb35ccfh,01da6a5c7h,0a155cbe3h,030a92f8fh,0c2e2594ch,05bfafe43h,0649c89ceh,0e9ff257ah,0d158667dh,0f32c50aeh,09b359611h,0906014cfh,04b00b20bh,089bc7d3dh,0f3a8cfe3h - DD 0248a7d06h,04ff23ffdh,0878873fah,080c5bfb4h,005745981h,0b7d9ad90h,03db01994h,0179c85dbh,061a6966ch,0ba41b062h,0eadce5a8h,04d82d052h,0a5e6a318h,09e91cd3bh,095b2dda0h,047795f4fh - DD 0d55a897ch,0ecfd7c1fh,0b29110fbh,0009194abh,0e381d3b0h,05f0e2046h,0a98dd291h,05f3425f6h,0730d50dah,0bfa06687h,04b083b7fh,00423446ch,0d69d3417h,0397a247dh,0387ba42ah,0eb629f90h - DD 0d5cd79bfh,01ee426cch,0946c6e18h,00032940bh,057477f58h,01b1e8ae0h,06d823278h,0e94f7d34h,0782ba21ah,0c747cb96h,0f72b33a5h,0c5254469h,0c7f80c81h,0772ef6deh,02cd9e6b5h,0d73acbfeh - DD 049ee90d9h,04075b5b1h,0a06e9ebah,0785c339ah,0abf825e0h,0a1030d5bh,0a42931dch,0cec684c3h,0c1586e63h,042ab62c9h,05ab43f2bh,045431d66h,055f7835dh,057c8b2c0h,0c1b7f865h,0033da338h - DD 0caa76097h,0283c7513h,036c83906h,00a624fa9h,0715af2c7h,06b20afech,0eba78bfdh,04b969974h,0d921d60eh,0220755cch,07baeca13h,09b944e10h,05ded93d4h,004819d51h,06dddfd27h,09bbff86eh - DD 077adc612h,06b344130h,0bbd803a0h,0a7496529h,06d8805bdh,01a1baaa7h,0470343adh,0c8403902h,0175adff1h,039f59f66h,0b7d8c5b7h,00b26d7fbh,0529d75e3h,0a875f5ceh,041325cc2h,085efc7e9h - DD 01ff6acd3h,021950b42h,053dc6909h,0ffe70484h,028766127h,0ff4cd0b2h,04fb7db2bh,0abdbe608h,05e1109e8h,0837c9228h,0f4645b5ah,026147d27h,0f7818ed8h,04d78f592h,0f247fa36h,0d394077eh - DD 0488c171ah,00fb9c2d0h,013685278h,0a78bfbaah,0d5b1fa6ah,0edfbe268h,02b7eaba7h,00dceb8dbh,09ae2b710h,0bf9e8089h,0a4449c96h,0efde7ae6h,0cc143a46h,043b7716bh,0c3628c13h,0d7d34194h - DD 03b3f64c9h,0508cec1ch,01e5edf3fh,0e20bc0bah,02f4318d4h,0da1deb85h,05c3fa443h,0d20ebe0dh,073241ea3h,0370b4ea7h,05e1a5f65h,061f1511ch,082681c62h,099a5e23dh,0a2f54c2dh,0d731e383h - DD 083445904h,02692f36eh,0af45f9c0h,02e0ec469h,0c67528b7h,0905a3201h,0d0e5e542h,088f77f34h,05864687ch,0f67a8d29h,022df3562h,023b92eaeh,09bbec39eh,05c27014bh,09c0f0f8dh,07ef2f226h - DD 0546c4d8dh,097359638h,092f24679h,05f9c3fc4h,0a8c8acd9h,0912e8bedh,0306634b0h,0ec3a318dh,0c31cb264h,080167f41h,0522113f2h,03db82f6fh,0dcafe197h,0b155bcd2h,043465283h,0fba1da59h - DD 0b212cf53h,0a0425b8eh,0f8557c5fh,04f2e512eh,025c4d56ch,0c1286ff9h,0ee26c851h,0bb8a0feah,0e7d6107eh,0c28f70d2h,0e76265aah,07ee0c444h,01d1936b1h,03df277a4h,0ea9595ebh,01a556e3fh - DD 0e7305683h,0258bbbf9h,007ef5be6h,031eea5bfh,046c814c1h,00deb0e4ah,0a7b730ddh,05cee8449h,0a0182bdeh,0eab495c5h,09e27a6b4h,0ee759f87h,080e518cah,0c2cf6a68h,0f14cf3f4h,025e8013fh - DD 07e8d7a14h,08fc44140h,09556f36ah,0bb1ff3cah,014600044h,06a844385h,07451ae63h,0ba3f0c4ah,01f9af32ah,0dfcac25bh,0b1f2214bh,001e0db86h,0a4b596ach,04e9a5bc2h,0026c2c08h,083927681h - DD 07acaca28h,03ec832e7h,0c7385b29h,01bfeea57h,0fd1eaf38h,0068212e3h,06acf8ccch,0c1329830h,02aac9e59h,0b909f2dbh,0b661782ah,05748060dh,0c79b7a01h,0c5ab2632h,000017626h,0da44c6c6h - DD 0a7ea82f0h,0f26c00e8h,0e4299aafh,099cac80dh,07ed78be1h,0d66fe3b6h,0648d02cdh,0305f725fh,0623fb21bh,033ed1bc4h,07a6319adh,0fa70533eh,0be5ffb3eh,017ab562dh,056674741h,006374994h - DD 05c46aa8eh,069d44ed6h,0a8d063d1h,02100d5d3h,0a2d17c36h,0cb9727eah,08add53b7h,04c2bab1bh,015426704h,0a084e90ch,0a837ebeah,0778afcd3h,07ce477f8h,06651f701h,046fb7a8bh,0a0624998h - DD 0ed8a6e19h,0dc1e6828h,04189d9c7h,033fc2336h,0671c39bch,0026f8fe2h,0bc6f9915h,0d40c4ccdh,0f80e75cah,0afa135bbh,022adff2ch,012c651a0h,04f51ad96h,0c40a04bdh,0bbe4e832h,004820109h - DD 07f4c04cch,03667eb1ah,0a9404f84h,059556621h,07eceb50ah,071cdf653h,09b8335fah,0994a44a6h,0dbeb9b69h,0d7faf819h,0eed4350dh,0473c5680h,0da44bba2h,0b6658466h,0872bdbf3h,00d1bc780h - DD 0a1962f91h,0e535f175h,0ed58f5a7h,06ed7e061h,02089a233h,0177aa4c0h,0e539b413h,00dbcb03ah,0bb32e38eh,0e3dc424eh,06806701eh,06472e5efh,0814be9eeh,0dd47ff98h,035ace009h,06b60cfffh - DD 09ff91fe5h,0b8d3d931h,0f0518eedh,0039c4800h,09182cb26h,095c37632h,082fc568dh,00763a434h,0383e76bah,0707c04d5h,0824e8197h,0ac98b930h,091230de0h,092bf7c8fh,040959b70h,090876a01h - DD 005968b80h,0db6d96f3h,0089f73b9h,0380a0913h,0c2c61e01h,07da70b83h,0569b38c7h,095fb8394h,080edfe2fh,09a3c6512h,08faeaf82h,08f726bb9h,078424bf8h,08010a4a0h,00e844970h,029672044h - DD 07a2ad62ah,063c5cb81h,0ac62ff54h,07ef2b6b9h,0b3ad9db5h,03749bba4h,046d5a617h,0ad311f2ch,0c2ff3b6dh,0b77a8087h,0367834ffh,0b46feaf3h,075d6b138h,0f8aa266dh,0ec008188h,0fa38d320h - DD 0696946fch,0486d8ffah,0b9cba56dh,050fbc6d8h,090f35a15h,07e3d423eh,0c0dd962ch,07c3da195h,03cfd5d8bh,0e673fdb0h,0889dfca5h,00704b7c2h,0f52305aah,0f6ce581fh,0914d5e53h,0399d49ebh - DD 06ec293cdh,0380a496dh,08e7051f5h,0733dbda7h,0b849140ah,0037e388dh,05946dbf6h,0ee4b32b0h,0cae368d1h,0b1c4fda9h,0fdb0b2f3h,05001a7b0h,02e3ac46eh,06df59374h,039b3e656h,04af675f2h - DD 039949296h,044e38110h,0361db1b5h,05b63827bh,0206eaff5h,03e5323edh,0c21f4290h,0942370d2h,0e0d985a1h,0f2caaf2eh,07239846dh,0192cc64bh,0ae6312f8h,07c0b8f47h,096620108h,07dc61f91h - DD 0c2da7de9h,0b830fb5bh,00ff8d3beh,0d0e643dfh,0188a9641h,031ee77bah,0bcf6d502h,04e8aa3aah,09a49110fh,0f9fb6532h,02dd6b220h,0d18317f6h,052c3ea5ah,07e3ced41h,07d579c4ah,00d296a14h - DD 0ed4c3717h,035d6a53eh,03d0ed2a3h,09f8240cfh,0e5543aa5h,08c0d4d05h,0dd33b4b4h,045d5bbfbh,0137fd28eh,0fa04cc73h,0c73b3ffdh,0862ac6efh,031f51ef2h,0403ff9f5h,0bc73f5a2h,034d5e0fch - DD 008913f4fh,0f2526820h,0eac93d95h,0ea20ed61h,06ca6b26ch,051ed38b4h,0ea4327b0h,08662dcbch,0725d2aaah,06daf295ch,08e52dcdah,0bad2752fh,00b17dacch,02210e721h,0d51e8232h,0a37f7912h - DD 044cc3addh,04f7081e1h,087be82cfh,0d5ffa1d6h,00edd6472h,089890b6ch,03ed17863h,0ada26e1ah,063483caah,0276f2715h,02f6077fdh,0e6924cd9h,00a466e3ch,005a7fe98h,0b1902d1fh,0f1c794b0h - DD 082a8042ch,0e5213688h,0cd278298h,0d931cfafh,0f597a740h,0069a0ae0h,0eb59107ch,00adbb3f3h,05eaa8eb8h,0983e951eh,011b48e78h,0e663a8b5h,08a03f2c5h,01631cc0dh,011e271e2h,07577c11eh - DD 008369a90h,033b2385ch,0190eb4f8h,02990c59bh,0c68eac80h,0819a6145h,02ec4a014h,07a786d62h,020ac3a8dh,033faadbeh,05aba2d30h,031a21781h,0dba4f565h,0209d2742h,055aa0fbbh,0db2ce9e3h - DD 0168984dfh,08cef334bh,033879638h,0e81dce17h,0263720f0h,0f6e6949ch,0f593cbech,05c56feafh,0fde58c84h,08bff5601h,02eccb314h,074e24117h,04c9a8a78h,0bcf01b61h,0544c9868h,0a233e35eh - DD 08bd7aff1h,0b3156bf3h,01d81b146h,01b5ee4cbh,0d628a915h,07ba1ac41h,0fd89699eh,08f3a8f9ch,0a0748be7h,07329b9c9h,0a92e621fh,01d391c95h,04d10a837h,0e51e6b21h,04947b435h,0d255f53ah - DD 0f1788ee3h,007669e04h,0a86938a2h,0c14f27afh,0e93a01c0h,08b47a334h,0d9366808h,0ff627438h,0ca2a5965h,07a0985d8h,0d6e9b9b3h,03d9a5542h,04cf972e8h,0c23eb80bh,04fdf72fdh,05c1c33bbh - DD 074a86108h,00c4a58d4h,0ee4c5d90h,0f8048a8fh,0e86d4c80h,0e3c7c924h,0056a1e60h,028c889deh,0b214a040h,057e2662eh,037e10347h,0e8c48e98h,080ac748ah,087742862h,0186b06f2h,0f1c24022h - DD 05f74040ah,0ac2dd4c3h,0fceac957h,0409aeb71h,055c4ec23h,04fbad782h,08a7b76ech,0b359ed61h,0ed6f4a60h,012744926h,04b912de3h,0e21e8d7fh,0fc705a59h,0e2575a59h,0ed2dbc0eh,072f1d4deh - DD 0eb7926b8h,03d2b24b9h,0cdbe5509h,0bff88cb3h,0e4dd640bh,0d0f399afh,02f76ed45h,03c5fe130h,03764fb3dh,06f3562f4h,03151b62dh,07b5af318h,0d79ce5f3h,0d5bd0bc7h,0ec66890fh,0fdaf6b20h - DD 06063540ch,0735c67ech,0e5f9cb8fh,050b259c2h,03f99c6abh,0b8734f9ah,0a3a7bc85h,0f8cc13d5h,0c5217659h,080c1b305h,04ec12a54h,0fe5364d4h,0681345feh,0bd87045eh,0582f897fh,07f8efeb1h - DD 0d5923359h,0e8cbf1e5h,0539b9fb0h,0db0cea9dh,049859b98h,00c5b34cfh,0a4403cc6h,05e583c56h,0d48185b7h,011fc1a2dh,06e521787h,0c93fbc7eh,005105b8bh,047e7a058h,0db8260c8h,07b4d4d58h - DD 046eb842ah,0e33930b0h,07bdae56dh,08e844a9ah,013f7fdfch,034ef3a9eh,0636ca176h,0b3768f82h,04e09e61ch,02821f4e0h,0a0c7cddch,0414dc3a1h,054945fcdh,0d5379437h,0b3555ff1h,0151b6eefh - DD 06339c083h,0b31bd613h,0dfb64701h,039ff8155h,0e29604abh,07c3388d2h,0a6b10442h,01e19084bh,0eccd47efh,017cf54c0h,04a5dfb30h,089693385h,047daf9f6h,069d023fbh,07d91d959h,09222840bh - DD 0803bac62h,0439108f5h,0379bd45fh,00b7dd91dh,0ca63c581h,0d651e827h,0509c104fh,05c5d75f6h,01f2dc308h,07d5fc738h,0d98454beh,020faa7bfh,0a517b031h,095374beeh,0642692ach,0f036b9b1h - DD 039842194h,0c5106109h,049d05295h,0b7e2353eh,0efb42ee0h,0fc8c1d5ch,008ce811ch,0e04884ebh,07419f40eh,0f1f75d81h,0a995c241h,05b0ac162h,0c4c55646h,0120921bbh,08d33cf97h,0713520c2h - DD 0e98c5100h,0b4a65a5ch,02ddd0f5ah,06cec871dh,09ba2e78bh,0251f0b7fh,0ce3a2a5fh,0224a8434h,025f5c46fh,026827f61h,048545ec0h,06a22bedch,0b1bb5cdch,025ae5fa0h,0fcb9b98fh,0d693682fh - DD 091e5d7d3h,032027fe8h,073a07678h,0f14b7d17h,0c0dfdd61h,0f88497b3h,02a8c4f48h,0f7c2eec0h,03756e621h,0aa5573f4h,01825b948h,0c013a240h,063878572h,01c03b345h,0653a4184h,0a0472beah - DD 00ac69a80h,0f4222e27h,0f51e54f6h,034096d25h,08fffa591h,000a648cbh,069b6527fh,04e87acdch,0e285ccb4h,00575e037h,050ddcf52h,0188089e4h,0870ff719h,0aa96c9a8h,01fc7e369h,074a56cd8h - DD 01726931ah,041d04ee2h,03660ecfdh,00bbbb2c8h,024818e18h,0a6ef6de5h,0e7d57887h,0e421cc51h,0bea87be6h,0f127d208h,0b1cdd682h,016a475d3h,0439b63f7h,09db1b684h,0f0f113b6h,05359b3dbh - DD 08bf06e31h,0dfccf1deh,0dd383901h,01fdf8f44h,05017e7d2h,010775cadh,058d11eefh,0dfc3a597h,0b1ecff10h,06ec9c8a0h,028400549h,0ee6ed6cch,01b4f8d73h,0b5ad7baeh,0e00aaab9h,061b4f11dh - DD 0d4eff2d7h,07b32d69bh,04288b60fh,088ae6771h,037a1e723h,0159461b4h,0570aae8ch,01f3d4789h,07f9871dah,0869118c0h,0f635e278h,035fbda78h,0e1541dach,0738f3641h,0c0dae45fh,06794b13ah - DD 009cc0917h,0065064ach,0c68540fdh,027c53729h,0ef227671h,00d2d4c8eh,0a1785a04h,0d23a9f80h,052650359h,098c59528h,074a1acadh,0fa09ad01h,00b55bf5ch,0082d5a29h,0419b8084h,0a40f1c67h - DD 0dcc18770h,03a5c752eh,08825c3a5h,04baf1f2fh,021b153edh,0ebd63f74h,0b2f64723h,0a2383e47h,02646d19ah,0e7bf620ah,003c83ffdh,056cb44ech,04f6be9f1h,0af7267c9h,0c06bb5e9h,08b2dfd7bh - DD 0a672c5c7h,0b87072f2h,00d53c5e2h,0eacb11c8h,0ff435932h,022dac29dh,04408693ch,037bdb99dh,02899c20fh,0f6e62fb6h,0447ece24h,03535d512h,0ff577ce3h,0fbdc6b88h,0190575f2h,0726693bdh - DD 0ab4b35a2h,06772b0e5h,0f5eeaacfh,01d8b6001h,0795b9580h,0728f7ce4h,041fb81dah,04a20ed2ah,04fec01e6h,09f685cd4h,0a7ff50adh,03ed7ddcch,00c2d97fdh,0460fd264h,0eb82f4f9h,03a241426h - DD 06a8ea820h,017d1df2ch,0f22cc254h,0b2b50d3bh,0b7291426h,003856cbah,004f5ee39h,087fd26aeh,002bee4bah,09cb696cch,006820fd6h,053121804h,00212e985h,0a5dfc269h,0160f9a09h,0666f7ffah - DD 0bccd9617h,0c503cd33h,0ba7730a3h,0365dede4h,05ddb0786h,0798c6355h,0fc9cd3bch,0a6c3200eh,0e5e35efdh,0060ffb2ch,05555a1c1h,099a4e25bh,0f70b3751h,011d95375h,0160e1bf6h,00a57354ah - DD 0f8e4b065h,0ecb3ae4bh,02e53022bh,007a834c4h,08692ed96h,01cd300b3h,061ee14ech,016a6f792h,06a8649edh,08f1063c6h,0869f3e14h,0fbcdfcfeh,000a7b3ech,02cfb97c1h,07130c2f1h,0cea49b3ch - DD 0e9d96488h,0462d044fh,08182a0c1h,04b53d52eh,00391e9e9h,084b6ddd3h,0b1741a09h,080ab7b48h,027d3317fh,0ec0e15d4h,01a64671eh,08dfc1ddbh,0d49c5b92h,093cc5d5fh,03674a331h,0c995d53dh - DD 0090090aeh,0302e41ech,0edb06830h,02278a0cch,0fbc99690h,01d025932h,0b80d68dah,00c32fbd2h,0f341a6c1h,0d79146dah,01bef68a0h,0ae0ba139h,08d774b3ah,0c6b8a563h,0880ba4d7h,01cf307bdh - DD 019803511h,0c033bdc7h,08888c3beh,0a9f97b3bh,085c6d05eh,03d68aebch,0193919ebh,0c3b88a9dh,0c48b0ee3h,02d300748h,007a746c1h,07506bc7ch,06e6d57f3h,0fc48437ch,0cfeaa91ah,05bd71587h - DD 0c1bc5225h,0a4ed0408h,02719226dh,0d0b946dbh,0758d2d43h,0109ecd62h,02751759bh,075c8485ah,09ce4177ah,0b0b75f49h,079c10c3dh,04fa61a1eh,0a167fcd7h,0c062d300h,0750f0fa8h,04df3874ch - DD 083dfedc9h,029ae2cf9h,08d87631ah,0f8437134h,07429c8d2h,0af571711h,0146d9272h,018d15867h,069769bb7h,083053ecfh,0c479ab82h,0c55eb856h,021b0f4b2h,05ef7791ch,03d491525h,0aa5956bah - DD 09fe20ebah,0407a96c2h,0e52a5ad3h,0f27168bbh,0bf1d9d89h,043b60ab3h,0710e727ah,0e45c51efh,0099b4221h,0dfca5276h,02557a159h,08dc6407ch,091035895h,00ead8335h,09c55dc32h,00a9db957h - DD 0df61bc76h,0e40736d3h,03f778cdbh,013a619c0h,0c56ea28fh,06dd921a4h,02fa647b4h,076a52433h,0ac5bdc5dh,023591891h,0bac7dc01h,0ff4a1a72h,062df8453h,09905e261h,0e63b265fh,03ac045dfh - DD 0ad53dba7h,08a3f341bh,0837b625ah,08ec269cch,03ae31189h,0d71a2782h,055e96120h,08fb4f9a3h,0ff9875cfh,0804af823h,05d442a9bh,023224f57h,0ecc62679h,01c4d3b9eh,0a0e7ddb1h,091da22fbh - DD 06c04a661h,0a370324dh,05e376d17h,09710d3b6h,03044e357h,0ed8c98f0h,06422701ch,0c364ebbeh,07733d61ch,0347f5d51h,0cea826c3h,0d55644b9h,055a25548h,080c6e0adh,0844220a7h,00aa7641dh - DD 031810660h,01438ec81h,0de4b4043h,09dfa6507h,0cc3e0273h,010b515d8h,028d8cfb2h,01b6066ddh,09c9efebdh,0d3b04591h,0a21c1ff4h,0425d4bdfh,0d57607d3h,05fe5af19h,054481084h,0bbf773f7h - DD 094b03ed1h,08435bd69h,0634cc546h,0d9ad1de3h,000e420cah,02cf423fch,0a03096ddh,0eed26d80h,0a4db09d2h,0d7f60be7h,0960622f7h,0f47f569dh,07296c729h,0e5925fd7h,026ca2715h,0eff2db26h - DD 0b913e759h,0a6fcd014h,08ff4de93h,053da4786h,0c32068e1h,014616d79h,0ccdf352eh,0b187d664h,01dc90b59h,0f7afb650h,07daa1b26h,08170e943h,0700c0a84h,0c8e3bdd8h,06482bdfah,06e8d345fh - DD 0c5c5ea50h,084cfbfa1h,067960681h,0d3baf14ch,00dd50942h,026398403h,04716a663h,0e4b7839ch,0e7de6dc0h,0d5f1f794h,0622aa7ceh,05cd0f4d4h,059acfeech,05295f3f1h,0953e0607h,08d933552h - DD 0776c5722h,0c7db8ec5h,02b5f290ch,0dc467e62h,04ff425a9h,0d4297e70h,00cf7bb72h,04be924c1h,0a1892131h,00d5dc5aeh,0a705c992h,08bf8a8e3h,07a305ac5h,073a0b064h,09a8c77a8h,000c9ca4eh - DD 083774bddh,05dfee80fh,085734485h,063131602h,0914a69a9h,0a1b524aeh,0d4e300d7h,0ebc2ffafh,07cfa46a5h,052c93db7h,021653b50h,071e6161fh,0a4bc580ah,03574fc57h,0e1bc1253h,0c09015ddh - DD 0d174d7aah,04b7b47b2h,0f3a15d04h,04072d8e8h,0d6fa07edh,0eeb7d47fh,0edbdafb1h,06f2b9ff9h,03760fe8ah,018c51615h,0f06c6c13h,07a96e6bfh,00ea2d071h,04d7a0410h,00be2a5ceh,0a1914e9bh - DD 0d8a3c5cfh,05726e357h,02abb2b13h,01197ecc3h,031ae88ddh,06c0d7f7fh,0fdbb3efeh,015b20d1ah,070584039h,0cd06aa26h,0a7dc9747h,02277c969h,07855d815h,0bca69587h,05188b32ah,0899ea238h - DD 0760c1c9dh,037d9228bh,09b5c18dah,0c7efbb11h,019f6dbc5h,07f0d1bc8h,007e6905bh,04875384bh,03ba8cd86h,0c7c50baah,0c2905de0h,0b0ce40fbh,07a231952h,070840673h,0cf43de26h,0a912a262h - DD 0eb5b76c1h,09c38ddcch,026fc0ab4h,0746f5285h,0d62c269fh,052a63a50h,099458621h,060049c55h,03c2f7c9eh,0e7f48f82h,0917d5cf3h,06bd99043h,08701f469h,0eb1317a8h,09a449fe0h,0bd3fe2edh - DD 012ef3d36h,0421e79cah,03e7ea5deh,09ee3c36ch,0cdff36f7h,0e48198b5h,0c6b82228h,0aff4f967h,0c47adb7eh,015e19dd0h,0032e7dfah,045699b23h,01fae026ah,040680c8bh,0550dbf4dh,05a347a48h - DD 03cef0d7dh,0e652533bh,02bbb4381h,0d94f7b18h,00e80f500h,0838752beh,09e9c9bfbh,08e6e2488h,016caca6ah,0c9751697h,038531ad9h,0866c49d8h,07151ade1h,0c917e239h,06037c407h,02d016ec1h - DD 000eac3f9h,0a407ccc9h,0e2ed4748h,0835f6280h,01cc98e0dh,0cc54c347h,0dcb572ebh,00e969937h,08f30c9cbh,01b16c8e8h,0373c4661h,0a606ae75h,035502cabh,047aa689bh,04d9bb64fh,0f89014aeh - DD 031c71f7bh,0202f6a9ch,0296ffe5ch,001f95aa3h,053cec3a3h,05fc06014h,05f498a45h,0eb991237h,05d91ba87h,0ae9a935eh,00b564a19h,0c6ac6281h,03bd44e69h,08a8fe81ch,09dd11d45h,07c8b467fh - DD 0ea5b8e69h,0f772251fh,0c5b75fbch,0aeecb3bdh,0887ff0e5h,01aca3331h,019f0a131h,0be5d49ffh,0e5c8646fh,0582c13aah,020e19980h,0dbaa12e8h,0f7abbd94h,08f40f31ah,01dfc7663h,01f13f5a8h - DD 0aceb4fc0h,05d81f1eeh,05e6f0f42h,036256002h,0751370c8h,04b67d6d7h,003e80589h,02608b698h,005268301h,0cfc0d2fch,040309212h,0a6943d39h,01fd0e1c2h,0192a90c2h,037f1dc76h,0b209f113h - DD 097bf1298h,0efcc5e06h,0219d639eh,0cbdb6730h,0b81e8c6fh,0d009c116h,01a7ce2e5h,0a3ffdde3h,0a914d3bah,0c53fbaaah,088df85eeh,0836d500fh,066ee0751h,0d98dc71bh,0714516fdh,05a3d7005h - DD 039eedbbah,021d3634dh,00455a46dh,035cd2e68h,0f9d7eb0ch,0c8cafe65h,000cefb3eh,0bda3ce9eh,02c9cf7a4h,0ddc17a60h,07bcb8773h,001572ee4h,08c7548dfh,0a92b2b01h,0a84600e3h,0732fd309h - DD 016543a40h,0e22109c7h,0fede3c6ch,09acafd36h,06824e614h,0fb206852h,0da25dca0h,02a4544a9h,091d60b06h,025985262h,028753545h,0281b7be9h,090f13b27h,0ec667b1ah,0940e2eb4h,033a83affh - DD 0d5d721d5h,080009862h,05bd3a182h,00c3357a3h,07aa2cda4h,027f3a83bh,0f6f83085h,0b58ae74eh,02e6dad6bh,02a911a81h,0f43d6c5bh,0de286051h,0f996c4d8h,04bdccc41h,00ae1e24eh,0e7312ec0h - DD 06e6485b3h,0f8d112e7h,0771c52f8h,04d3e24dbh,0684a2f6dh,048e3ee41h,021d95551h,07161957dh,0cdb12a6ch,019631283h,02e50e164h,0bf3fa882h,03166cc73h,0f6254b63h,0aee8cc38h,03aefa7aeh - DD 03b36f9fdh,079b0fe62h,0fde19fc0h,026543b23h,0958482efh,0136e64a0h,09b095825h,023f63771h,0b6a1142eh,014cfd596h,0335aac0bh,05ea6aac6h,0f3081dd5h,086a0e8bdh,0003dc12ah,05fb89d79h - DD 0f72e34d4h,0f615c33ah,0110eec35h,00bd9ea40h,0c1dea34eh,01c12bc5bh,049ae4699h,0686584c9h,08c97b942h,013ad95d3h,04e5c7562h,04609561ah,0f2737f89h,09e94a4aeh,0371c78b6h,0f57594c6h - DD 0e3779ee3h,00f0165fch,0bd495d9eh,0e00e7f9dh,020284e7ah,01fa4efa2h,047ac6219h,04564badeh,0c4708e8eh,090e6312ah,0a71e9adfh,04f5725fbh,03d684b9fh,0e95f55aeh,01e94b415h,047f7ccb1h - DD 08d946581h,07322851bh,0bdf4a012h,0f0d13133h,06584dae0h,0a3510f69h,03c9f6c6dh,003a7c171h,0e475381ah,05be97f38h,085823334h,0ca1ba422h,00be17ddah,0f83cc5c7h,00b918c0fh,0158b1494h - DD 0522e6b69h,0da3a77e5h,0bbcd6c18h,069c908c3h,0d924fd56h,01f1b9e48h,0aa4bb3f7h,037c64e36h,0ee478d7dh,05a4fdbdfh,00193f7a0h,0ba75c8bch,056cd16dfh,084bc1e84h,046fad151h,01fb08f08h - DD 0842e9f30h,08a7cabf9h,05eab83afh,0a331d4bfh,0017f2a6ah,0d272cfbah,083aba0e3h,027560abch,00e3a6b75h,094b83387h,06b9f50f5h,025c6aea2h,0b5fdf6d0h,0803d691dh,0e6333514h,003b77509h - DD 061a341c1h,036178903h,00cfd6142h,03604dc60h,08533316ch,0022295ebh,044af2922h,03dbde4ach,01c7eef69h,0898afc5dh,0d14f4fa1h,058896805h,0203c21cah,005002160h,040ef730bh,06f0d1f30h - DD 0196224f8h,08e8c44d4h,0374d079dh,075a4ab95h,07d48f123h,079085ecch,01bf65ad8h,056f04d31h,0bda602b2h,0e220bf1ch,0f9612c69h,073ee1742h,0084fd06bh,076008fc8h,0f11380d1h,04000ef9fh - DD 012cfe297h,048201b4bh,0292f74e5h,03eee129ch,0c9e874e8h,0e1fe114eh,092c5fc41h,0899b055ch,03a39c8cfh,04e477a64h,078963cc9h,082f09efeh,0d333f863h,06fd3fd8fh,0dc949c63h,085132b2ah - DD 0516eb17bh,07e06a3abh,0d2c7372bh,073bec06fh,0ba896da6h,0e4f74f55h,08e9eb40fh,0bb4afef8h,0e61d66b0h,02d75bec8h,0ef29300bh,002bda4b4h,0026baa5ah,08bbaa8deh,0a07f4440h,0ff54befdh - DD 0be7a2af3h,0bd9b8b1dh,04fb74a72h,0ec51caa9h,063879697h,0b9937a4bh,0ec2687d5h,07c9a9d20h,06ef5f014h,01773e44fh,0e90c6900h,08abcf412h,08142161eh,0387bd022h,0fcb6ff2ah,050393755h - DD 0ed6def63h,09813fd56h,07d53106ch,053cf6482h,0431f7ac1h,0991a35bdh,063e65fafh,0f1e274ddh,044cc7880h,0f63ffa3ch,07c256981h,0411a426bh,093a420e0h,0b698b9fdh,0ae53f8feh,089fdddc0h - DD 032398baah,0766e0722h,05cfca031h,0205fee42h,07a029cf2h,0a49f5341h,04023890dh,0a88c68b8h,07337aaa8h,0bc275041h,00eb384f4h,09ed364adh,029aba92fh,0e0816f85h,004e38a88h,02e9e1941h - DD 03dafd2d5h,057eef44ah,097ed98d8h,035d1fae5h,02307f9b1h,050628c09h,0d6cba5c6h,009d84aaeh,088aaa691h,067071bc7h,0afe6cb03h,02dea57a9h,03d78ac01h,0dfe11bb4h,07fd7aa51h,07286418ch - DD 077f7195ah,0fabf7709h,0adeb838fh,08ec86167h,0bb4f012dh,0ea1285a8h,09a3eab3fh,0d6883503h,0309004c2h,0ee5d24f8h,013ffe95eh,0a96e4b76h,0bd223ea4h,00cdffe12h,0b6739a53h,08f5c2ee5h - DD 0dd968198h,05cb4aaa5h,072413a6ch,0fa131c52h,09536d903h,053d46a90h,048606d8eh,0b270f0d3h,0a053a3bch,0518c7564h,01a86caefh,0088254b7h,00ab5efd0h,0b3ba8cb4h,04605945dh,05c59900eh - DD 0a1887395h,0ecace1ddh,0932a65deh,040960f36h,03aa95529h,09611ff5ch,07c1e5a36h,0c58215b0h,0f0e1a524h,0d48c9b58h,0f590dfb8h,0b406856bh,09cd95662h,0c7605e04h,0a33ecf82h,00dd036eeh - DD 0c33156b3h,0a50171ach,04a80172eh,0f09d24eah,076dc8eefh,04e1f72c6h,05e3d44eeh,0e60caadch,0979b1d8fh,0006ef8a6h,097788d26h,060908a1ch,0266feec0h,06e08f95bh,022e8c94eh,0618427c2h - DD 059145a65h,03d613339h,0fa406337h,0cd9bc368h,02d8a52a0h,082d11be3h,097a1c590h,0f6877b27h,0f5cbdb25h,0837a819bh,0de090249h,02a4fd1d8h,074990e5fh,0622a7de7h,07945511bh,0840fa5a0h - DD 06558842dh,030b974beh,017f3d0a6h,070df8c64h,07542e46dh,07c803520h,0e4ecc823h,07251fe7fh,05e9aac9ah,0e59134cbh,0f0045d71h,011bb0934h,0dbcb1d4eh,053e5d9b5h,092defc91h,08d97a905h - DD 07946d3f9h,0fe289327h,007472273h,0e132bd24h,01eb6ae86h,0eeeb510ch,0f0595067h,0777708c5h,01297029eh,018e2c8cdh,0bbf9305eh,02c61095ch,06b85d6d9h,0e466c258h,0da1ea530h,08ac06c36h - DD 0a1304668h,0a365dc39h,007f89606h,0e4a9c885h,0acc7228dh,065a4898fh,084ca8303h,03e2347ffh,0ea7d23a3h,0a5f6fb77h,0672a71cdh,02fac257dh,07e6a44d3h,06908bef8h,0891d3d7ah,08ff87566h - DD 06b0cf82eh,0e58e90b3h,02615b5e7h,06438d246h,0669c145ah,007b1f8fch,036f1e1cbh,0b0d8b2dah,0d9184c4dh,054d5dadbh,0f93d9976h,03dbb18d5h,0d1147d47h,00a3e0f56h,0a0a48609h,02afa8c8dh - DD 0bc36742ch,0275353e8h,0eea0ed90h,0898f427eh,03e477b00h,026f4947eh,0308741e3h,08ad8848ah,0d74a2a46h,06c703c38h,09ba17ba2h,05e3e05a9h,04ab9a9e4h,0c1fa6f66h,03841d6ech,0474a2d9ah - DD 0653ae326h,0871239adh,0a74cbb43h,014bcf72ah,020d4c083h,08737650eh,0110ed4afh,03df86536h,0b53ca555h,0d2d86fe7h,0abd5d538h,0688cb00dh,01ad38468h,0cf81bda3h,0f01167b6h,07ccfe3cch - DD 06c4c1fe6h,0cf4f47e0h,0298bbb79h,0557e1f1ah,030d45a14h,0f93b974fh,00baf97c4h,0174a1d2dh,0c51fbf53h,07a003b30h,0ee68b225h,0d8940991h,01c0f4173h,05b0aa7b7h,0a20a7153h,0975797c9h - DD 0e3533d77h,026e08c07h,02e341c99h,0d7222e6ah,08d2dc4edh,09d60ec3dh,07c476cf8h,0bdfe0d8fh,01d056605h,01fe59ab6h,086a8551fh,0a9ea9df6h,047fb8d8ch,08489941eh,04a7f1b10h,0feb874ebh - DD 07ee0d98fh,0fe5fea86h,0dbf61864h,0201ad34bh,037c031d4h,045d8fe47h,0795f0822h,0d5f49faeh,0c7f4a40ch,0db0fb291h,0730ddd92h,02e69d9c1h,049d76987h,0754e1054h,07662db87h,08a24911dh - DD 060a71676h,061fc1810h,0f66a8ad1h,0e852d1a8h,06417231eh,0172bbd65h,03babb11fh,00d6de7bdh,0c8e347f8h,06fde6f88h,09bd99cc3h,01c587547h,034076950h,078e54ed0h,0796e83bah,097f0f334h - DD 04924867ah,0e4dbe1ceh,060b84917h,0bd5f51b0h,03cb09a79h,037530040h,0ff1743d8h,0db3fe0f8h,0556fa9dbh,0ed7894d8h,023412fbfh,0fa262169h,0ba7b9291h,0563be0dbh,00c9fb234h,06ca8b8c0h - DD 0bd763802h,0ed406aa9h,065303da1h,0c21486a0h,0c7e62ec4h,061ae291eh,0df99333eh,0622a0492h,0bb7a8ee0h,07fd80c9dh,06c01aedbh,0dc2ed3bch,008be74ech,035c35a12h,0469f671fh,0d540cb1ah - DD 0cf84f6c7h,0d16ced4eh,02d090f43h,08561fb9ch,06f239db4h,07e693d79h,077bd0d94h,0a736f928h,02c1950eeh,007b4d929h,056dc11b3h,0da177543h,07a6a878eh,0a5dfbbaah,04decb08ah,01c70cb29h - DD 06f0f7c50h,0fba28c8bh,0854dcc6dh,0a8eba2b8h,036b78642h,05ff8e89ah,0f6873adfh,0070c1c8eh,06484d2e4h,0bbd3c371h,00d414129h,0fb78318fh,06ad93b0bh,02621a39ch,0a9e917f7h,0979d74c2h - DD 061fb0428h,0fc195647h,0bee624d4h,04d78954ah,0b8ae86fdh,0b94896e0h,0c91c8b13h,06667ac0ch,043bcf832h,09f180512h,0a0010137h,0fbadf8b7h,0b3ba8aa7h,0c69b4089h,0e687ce85h,0fac4bacdh - DD 0977eab40h,09164088dh,02760b390h,051f4c5b6h,0340dd553h,0d238238fh,0db1d31c9h,0358566c3h,05068f5ffh,03a5ad69eh,0daff6b06h,0f31435fch,0d6debff0h,0ae549a5bh,075e01331h,059e5f0b7h - DD 098559acfh,05d492fb8h,04db79b50h,096018c2eh,0609f66aah,055f4a48fh,04900a14fh,01943b3afh,015a40d39h,0c22496dfh,04c20f7c5h,0b2a44684h,03b98404ch,076a35afah,0ff5d1b77h,0bec75725h - DD 0bea06444h,0b67aa163h,0f724b6f2h,027e95bb2h,0d238c8abh,03c20e3e9h,0ddd6ae17h,01213754eh,0716e0f74h,08c431020h,0ffc095c2h,06679c82eh,0d0ac2932h,02eb3adf4h,001bb7a76h,02cc970d3h - DD 0740f0e66h,070c71f2fh,02b6b23cch,0545c616bh,0b40a8bd7h,04528cfcbh,02ab27722h,0ff839633h,0025ac99ah,0049127d9h,02b63e33bh,0d314d4a0h,028d84519h,0c8c310e7h,0b3bc84bah,00fcb8983h - DD 038634818h,02cc52261h,0b44c2e0bh,0501814f4h,054dfdba3h,0f7e181aah,0e759718ch,0cfd58ff0h,0d3b507a8h,0f90cdb14h,0c50bdad8h,057bd478eh,050e5f9aah,029c197e2h,0e40bc855h,04db6eef8h - DD 0d1fc0654h,02cc8f21ah,081269d73h,0c71cc963h,0077f49f9h,0ecfbb204h,0ca56b793h,0dde92571h,0f97ad8f7h,09abed6a3h,0924de3bdh,0e6c19d3fh,0a140a800h,08dce92f4h,01337af07h,085f44d1eh - DD 009d64c52h,05953c08bh,0f5df9749h,0a1b5e49fh,052735f7dh,0336a8fb8h,09add676bh,0b332b6dbh,0b4511aa4h,0558b88a0h,0dbd5cc55h,009788752h,0d8cd52bdh,016b43b9ch,0c2a2696bh,07f0bc5a0h - DD 0c11f61efh,0146e12d4h,03a83e79eh,09ce10754h,06cbfca15h,008ec73d9h,05b49653fh,009ff29adh,0e7da946eh,0e31b72bdh,0ee80a4f2h,0ebf9eb3bh,017598ce4h,0d1aabd08h,053f37e80h,018b5fef4h - DD 05958cd79h,0d5d5cdd3h,01d373114h,03580a1b5h,0fa935726h,0a36e4c91h,0ef20d760h,0a38c534dh,02ff5845bh,07088e40ah,0bd78177fh,0e5bb40bdh,0857f9920h,04f06a7a8h,0e968f05dh,0e3cc3e50h - DD 0e5682d26h,01d68b7feh,0aec7f87ch,05206f76fh,0041951abh,041110530h,0d4b5a71ah,058ec52c1h,00f75cf9ah,0f3488f99h,0ba82d0d5h,0f411951fh,0618895abh,027ee75beh,06d8aab14h,0eae060d4h - DD 07fb54dc2h,09ae1df73h,025963649h,01f3e391bh,0fe055081h,0242ec32ah,08491c9bdh,05bd450efh,0981eb389h,0367efc67h,03a0550d5h,0ed7e1928h,0ab3ce75ch,0362e776bh,01f24c523h,0e890e308h - DD 0feccef76h,0b961b682h,08bba6d92h,08b8e11f5h,02b2375c4h,08f2ccc4ch,0e2f86cfah,00d7f7a52h,09efe5633h,0fd94d30ah,05451f934h,02d8d246bh,0244e6a00h,02234c6e3h,0ddec8c50h,0de2b5b0dh - DD 0bf776f5bh,02ce53c5ah,060357b05h,06f724071h,071bf3f7ah,0b2593717h,0440c4a9fh,087d2501ch,087b05340h,0440552e1h,021624c32h,0b7bf7cc8h,022facddbh,04155a6ceh,0889837efh,05a4228cbh - DD 0fd4fd671h,0ef87d6d6h,0c2daa10eh,0a233687eh,003c0eb96h,075622244h,08bf19be6h,07632d184h,040735ff4h,005d0f8e9h,0c00931f1h,03a3e6e13h,0dafe3f18h,031ccde6ah,0cfe51207h,0f381366ah - DD 060167d92h,024c222a9h,07529f18ch,062f9d6f8h,00353b114h,0412397c0h,0ef808043h,0334d89dch,02a4383ceh,0d9ec63bah,05cf92ba0h,0cec8e937h,0c8be74c0h,0fb8b4288h,0105d4391h,067d6912fh - DD 01b913149h,07b996c46h,03a4e02dah,036aae2efh,0972de594h,0b68aa003h,04ec6d545h,0284ec70dh,061391d54h,0f3d2b2d0h,0fe114e92h,069c5d5d6h,0b4482dffh,0be0f00b5h,0f5bf33c5h,0e1596fa5h - DD 096a71cbah,010595b56h,0fdcadeb7h,0944938b2h,0fccd8471h,0a282da4ch,00d37bfe1h,098ec05f3h,00698304ah,0e171ce1bh,021bdf79bh,02d691444h,01b21dec1h,0d0cd3b74h,016a15f71h,0712ecd8bh - DD 000fd56e1h,08d4c00a7h,0f9527c18h,002ec9692h,04a3e42e1h,021c44937h,01392ae0ah,09176fbabh,044b7b618h,08726f1bah,0f1de491ch,0b4d7aae9h,007b582c0h,0f91df7b9h,0ef60aa3ah,07e116c30h - DD 0466265d7h,099270f81h,04df7adf0h,0b15b6fe2h,0f9738f7fh,0fe33b2d3h,0d6d70f95h,048553ab9h,0c21e94dbh,02cc72ac8h,0bdc0bbeeh,0795ac38dh,02e40478fh,00a1be449h,0052bde55h,081bd3394h - DD 056b3c4f2h,063c8dbe9h,0904177cch,0017a99cfh,04d010fc1h,0947bbddbh,0bb2c9b21h,0acf9b00bh,047173611h,02970bc8dh,0ac7d756fh,01a4cbe08h,067d541a2h,006d9f4aah,059c2cf44h,0a3e8b689h - DD 04d88f1ddh,0aad066dah,07ad35deah,0c604f165h,04478ca67h,07edc0720h,0ba02ce06h,0a10dfae0h,0af36f4e4h,0eceb1c76h,0af3f8f48h,0994b2292h,077c8a68ch,0bf9ed77bh,051744c9dh,074f544eah - DD 08113a757h,082d05bb9h,08a9885e4h,04ef2d2b4h,01aa7865fh,01e332be5h,0290d1a52h,022b76b18h,044351683h,0308a2310h,0a3f22840h,09d861896h,0841ed947h,05959ddcdh,0154b73bfh,00def0c94h - DD 04c7c15e0h,0f0105417h,03a277c32h,0539bfb02h,0f9dccf5fh,0e699268eh,00247a3bdh,09f5796a5h,04f157269h,08b839de8h,07a30196bh,0c825c1e5h,0dc8a5a91h,06ef0aabch,0498b7fe6h,0f4a8ce6ch - DD 070cbac78h,01cce35a7h,0f6b23958h,083488e9bh,0d76cb011h,00341a070h,0ae1b2658h,0da6c9d06h,0dd648c52h,0b701fb30h,052fb9fd1h,0994ca02ch,06f563086h,006933117h,017856babh,03d2b8100h - DD 05963a46eh,0e89f48c8h,0a99e61c7h,0658ab875h,04b8517b4h,06e296f87h,0fc1bc656h,036c4fcdch,0a3906defh,0de5227a1h,062418945h,09fe95f57h,0fdd96cdeh,020c91e81h,0da4480deh,05adbe47eh - DD 0396de2b6h,0a009370fh,0f0ecc7bdh,098583d4bh,0e51d0672h,0f44f6b57h,0556b1984h,003d6b078h,0b0b64912h,027dbdd93h,015687b09h,09b3a3434h,051ec20a9h,00dba6461h,0ff28187ch,0ec93db7fh - DD 066e48bddh,000ff8c24h,011ccd78eh,02514f2f9h,0e1250603h,0eba11f4fh,0243fa156h,08a22cd41h,0b283e4c6h,0a4e58df4h,08b39783fh,078c29859h,0a5259809h,05235aee2h,00e0227ddh,0c16284b5h - DD 01338830dh,0a5f57916h,0d2123fcah,06d4b8a6bh,0f9c546f8h,0236ea68ah,0fa608d36h,0c1d36873h,08d436d13h,0cd76e495h,08fb080afh,0d4d9c221h,0e8ad3fb5h,0665c1728h,0b3d572e0h,0cf1ebe4dh - DD 0584c5e20h,0a7a8746ah,0b9dc7035h,0267e4ea1h,0b9548c9bh,0593a15cfh,04bd012f3h,05e6e2135h,08c8f936eh,0df31cc6ah,0b5c241dch,08af84d04h,0345efb86h,063990a6fh,0b9b962cbh,06fef4e61h - DD 025722608h,0f6368f09h,0131cf5c6h,0131260dbh,0fab4f7ach,040eb353bh,037eee829h,085c78880h,0c3bdf24eh,04c1581ffh,0f5c3c5a8h,05bff75cbh,0a14e6f40h,035e8c83fh,00295e0cah,0b81d1c0fh - DD 0f43a730fh,0fcde7cc8h,033ab590eh,0e89b6f3ch,0ad03240bh,0c823f529h,098bea5dbh,082b79afeh,0962fe5deh,0568f2856h,060c591f3h,00c590adbh,04a28a858h,01fc74a14h,0b3203f4ch,03b662498h - DD 06c39765ah,091e3cf0dh,0ac3cca0bh,0a2db3acdh,0cb953b50h,0288f2f08h,0cf43cf1ah,02414582ch,060eee9a8h,08dec8bbch,0729aa042h,054c79f02h,06532f5d5h,0d81cd5ech,0cf82e15fh,0a672303ah - DD 0719c0563h,0376aafa8h,0bc5fc79fh,0cd8ad2dch,0cb750cd3h,0303fdb9fh,04418b08eh,014ff052fh,03e2d6520h,0f75084cfh,0144ed509h,07ebdf0f8h,0d3f25b98h,0f43bf0f2h,0a354d837h,086ad71cfh - DD 026f43572h,0b827fe92h,05d824758h,0dfd3ab5bh,0539094c1h,0315dd23ah,066623d68h,085c0e37ah,07be19ae0h,0575c7972h,0df0d36b5h,0616a3396h,026b1ff7eh,0a1ebb3c8h,0140ad453h,0635b9485h - DD 0da430c0bh,092bf3cdah,03a96dac6h,04702850eh,015ac326ah,0c91cf0a5h,0ab8c25e4h,095de4f49h,0e265c17ch,0b01bad09h,0087b3881h,024e45464h,0e1fac5cah,0d43e583ch,06ead97a6h,0e17cb318h - DD 074dcec46h,06cc39243h,054c2b73fh,033cfc02dh,0f26cd99ch,082917844h,0d1773f89h,08819dd95h,00871f427h,009572aa6h,0f6f01c34h,08e0cf365h,0bff1f5afh,07fa52988h,0e75e8e50h,04eb357eah - DD 0868af75dh,0d9d0c8c4h,045c8c7eah,0d7325cffh,0cc81ecb0h,0ab471996h,0611824edh,0ff5d55f3h,01977a0eeh,0be314541h,0722038c6h,05085c4c5h,0f94bb495h,02d5335bfh,0c8e2a082h,0894ad8a6h - DD 0ada35438h,05c3e2341h,0049b8c4eh,0f4a9fc89h,09f17cf34h,0beeb355ah,06c91fe10h,03f311e0eh,092ab9891h,0c2d20038h,03e8ce9a9h,0257bdcc1h,088c53beeh,01b2d9789h,0cdba143ah,0927ce89ah - DD 0523db280h,0b0a32ccah,050d43783h,05c889f8ah,04897d16fh,0503e04b3h,008f5f2e8h,08cdb6e78h,0179c8e74h,06ab91cf0h,048211d60h,0d8874e52h,0ea851200h,0f948d4d5h,0e6f9840ah,04076d41eh - DD 047b517eah,0c20e263ch,030685e5eh,079a448fdh,0f90631a0h,0e55f6f78h,0a79e6346h,088a790b1h,080969fe8h,062160c7dh,041491bb9h,054f92fd4h,05c957526h,0a6645c23h,0bea3ce7bh,0f44cc5aeh - DD 08b1e68b7h,0f7628327h,0303f29d3h,0c731ad7ah,057d03ecbh,0fe5a9ca9h,041bc97a7h,096c0d50ch,09b4f7f24h,0c4669fe7h,03d9967efh,0fdd781d8h,05d2c208dh,07892c7c3h,0ae545cb3h,08bf64f7ch - DD 0467be912h,0c01f862ch,0c73d30cch,0f4c85ee9h,06ab83ec7h,01fa6f4beh,04e3e3cf9h,0a07a3c1ch,00c00beb3h,087f8ef45h,0000d4c3eh,030e2c2b3h,0fe08bf5bh,01aa00b94h,09224ef52h,032c133aah - DD 032e5685dh,038df16bbh,058e6f544h,068a9e069h,0cdc5ebc6h,0495aaff7h,0378b135fh,0f894a645h,009e27ecfh,0f316350ah,058f7179dh,0eced201eh,0e97861bah,02eec273ch,0d693be2eh,047ec2caeh - DD 0f68367ceh,0fa4c97c4h,0be5a5755h,0e4f47d0bh,0b298a979h,017de815dh,0c177dc7dh,0d7eca659h,049ded0a3h,020fdbb71h,0fb34d3c5h,04cb2aad4h,060858a33h,02cf31d28h,0a24aa40fh,03b6873efh - DD 02c11bb37h,0540234b2h,0ed4c74a3h,02d0366ddh,0eec5f25dh,0f9a968dah,067b63142h,036601068h,068d7b6d4h,007cd6d2ch,00c842942h,0a8f74f09h,07768b1eeh,0e2751404h,0fe62aee4h,04b5f7e89h - DD 089070d26h,0c6a77177h,0dd1c8bc7h,0a1f28e4eh,0469e1f17h,0ea5f4f06h,0fbdb78e0h,078fc242ah,08b0588f1h,0c9c7c592h,01535921eh,0b6b7a0fdh,0bde5ae35h,0cc5bdb91h,012ff1864h,0b42c485eh - DD 0dbab98aah,0a1113e13h,0a17b1024h,0de9d469bh,0c0462d3ah,023f48b37h,07c5c078dh,03752e537h,015544eb9h,0e3a86addh,080fba279h,0f013aea7h,0f22001b5h,08b5bb76ch,0f02891abh,0e617ba14h - DD 0936219d3h,0d39182a6h,0ae51cb19h,05ce1f194h,0bf07a74ch,0c78f8598h,022cbf1bch,06d7158f2h,0e300ce18h,03b846b21h,02d11275dh,035fba630h,0a0239b9bh,05fe25c36h,0df05d940h,0d8beb35dh - DD 01f7e320dh,04db02bb0h,06da320eah,00641c364h,0821389a3h,06d95fa5dh,08fcd8e3dh,092699748h,0ceb6c143h,0316fef17h,0d933762bh,067fcb841h,0118b17f8h,0bb837e35h,09fd24821h,04b92552fh - DD 046aca793h,0ae6bc70eh,0e579311bh,01cf0b0e4h,05802f716h,08dc631beh,0bddbee4dh,0099bdc6fh,00caf8b05h,0cc352bb2h,072d63df2h,0f74d505ah,091c4f408h,0b9876d4bh,09e229b2dh,01ce18473h - DD 083abdb4ah,049507597h,0dee84b18h,0850fbcb6h,0609e67dch,06325236eh,09336c6d8h,004d831d9h,0fa12d45dh,08deaae3bh,04746e246h,0e425f8ceh,024f5f31eh,08004c175h,0ad62c3b7h,0aca16d8fh - DD 09152f934h,00dc15a6ah,0ed0e12c1h,0f1235e5dh,0da477dach,0c33c06ech,0b2ea0006h,076be8732h,00c0cd313h,0cf3f7831h,0a614260dh,03c524553h,0cab22d15h,031a756f8h,077827a20h,003ee10d1h - DD 01994ef20h,0d1e059b2h,0638ae318h,02a653b69h,02f699010h,070d5eb58h,009f5f84ah,0279739f7h,08b799336h,05da4663ch,0203c37ebh,0fdfdf14dh,0a1dbfb2dh,032d8a9dch,077d48f9bh,0ab40cff0h - DD 0d20b42d5h,0c018b383h,09f78845fh,0f9a810efh,0bdba9df0h,040af3753h,0131dfdf9h,0b90bdcfch,0f01ab782h,018720591h,06af12a88h,0c823f211h,00dc14401h,0a51b80f3h,0fb2dfbe3h,0de248f77h - DD 00cafe751h,0ef5a44e5h,0d4dcd221h,073997c9ch,0de854024h,032fd86d1h,0a09b84bbh,0d5b53adch,0dcedd8d1h,0008d7a11h,074b32c84h,0406bd1c8h,005dde8b1h,05d4472ffh,0fce2b32fh,02e25f2cdh - DD 029dfc254h,0bec0dd5eh,02b98b267h,04455fcf6h,0c72df2adh,00b4d43a5h,048a75397h,0ea70e6beh,05820f3bfh,02aad6169h,09e37f68fh,0f410d2ddh,07be5ac83h,070fb7dbah,036ec3eech,0636bb645h - DD 09754e21ch,027104ea3h,08d63c373h,0bc87a3e6h,04109db9ah,0483351d7h,060134da7h,00fa724e3h,0b0720b16h,09ff44c29h,006aceeadh,02dd0cf13h,0e26929a6h,05942758ch,0b766a92bh,096c5db92h - DD 05f18395eh,0cec7d4c0h,01f80d032h,0d3f22744h,0cb86075bh,07a68b37ah,0afef92dbh,0074764ddh,07bc7f389h,0ded1e950h,0b9756460h,0c580c850h,07da48157h,0aeeec2a4h,082c587b3h,03f0b4e7fh - DD 0a9f19c53h,0231c6de8h,06974e34eh,05717bd73h,0f1508fa9h,0d9e1d216h,0dadaa124h,09f112361h,0823b7348h,080145e31h,0ac634069h,04dd8f0d5h,02297c258h,0e3d82fc7h,09cee7431h,0276fcfeeh - DD 02bc0aea9h,08eb61b5eh,0de329431h,04f668fd5h,038e4b87eh,003a32ab1h,073d0ef0bh,0e1374517h,0853ac983h,01a46f7e6h,068e78a57h,0c3bdf42eh,02ea96dd1h,0acf20785h,0f1638460h,0a10649b9h - DD 0879fbbedh,0f2369f0bh,0da9d1869h,00ff0ae86h,056766f45h,05251d759h,02be8d0fch,04984d8c0h,0d21008f0h,07ecc95a6h,03a1a1c49h,029bd54a0h,0d26c50f3h,0ab9828c5h,051d0d251h,032c0087ch - DD 00c1cdb26h,09bac3ce6h,0557ca205h,0cd94d947h,09db1fdcdh,01b1bd598h,0a3d8b149h,00eda0108h,056152fcch,095066610h,0e7192b33h,0c2f037e6h,0c92e05a4h,0deffb41ah,0c2f6c62eh,01105f6c2h - DD 08733913ch,068e73500h,03f3adc40h,0cce86163h,038a278e9h,0f407a942h,02ab21292h,0d13c1b9dh,01c74cf5ch,093ed7ec7h,0f1a4c1b4h,08887dc48h,04b3a11f1h,03830ff30h,058937cb6h,0358c5a3ch - DD 089022829h,0027dc404h,03b798f79h,040e93977h,038be6eadh,090ad3337h,0f34c0a5dh,09c23f6bch,0fbffd8bbh,0d1711a35h,01949d3ddh,060fcfb49h,07825d93ah,009c8ef4bh,0a0a8c968h,024233cffh - DD 0e6d982afh,067ade46ch,0e7544d7ch,0ebb6bf3eh,03d8bd087h,0d6b9ba76h,04dc61280h,046fe382dh,0b5bdbd75h,0bd39a7e8h,0b8f228feh,0ab381331h,0ce1c4300h,00709a77ch,0f337ceach,06a247e56h - DD 0636288beh,08f34f21bh,0c8a7c305h,09dfdca74h,0ea919e04h,06decfd1bh,08e1991f8h,0cdf2688dh,0d0f8a67eh,0e607df44h,00b58d010h,0d985df4bh,00c24f8f4h,057f834c5h,0a0bf01aeh,0e976ef56h - DD 0a1c32373h,0536395ach,0734c0a13h,0351027aah,05e6bd5bch,0d2f1b5d6h,0223debedh,02b539e24h,00eaa1d71h,0d4994cech,0661dcf65h,02a83381dh,07b54c740h,05f1aed2fh,0d6dda5eeh,00bea3fa5h - DD 036cc6134h,09d4fb684h,0c0a443ddh,08eb9bbf3h,0383b7d2ah,0fc500e2eh,05b775257h,07aad621ch,00a8f7cc0h,069284d74h,007562d65h,0e820c2ceh,0499758eeh,0bf9531b9h,06ee0cc2dh,073e95ca5h - DD 0fbaf50a5h,0f61790abh,0684e0750h,0df55e76bh,0f176b005h,0ec516da7h,07a2dddc7h,0575553bbh,0553afa73h,037c87ca3h,04d55c251h,0315f3ffch,0af3e5d35h,0e846442ah,06495ff28h,061b91149h - DD 0fa326dc3h,023cc95d3h,018fc2ceah,01df4da1fh,0d0a37d59h,024bf9adch,0320d6e1eh,0b6710053h,0618344d1h,096f9667eh,0a06445afh,0cc7ce042h,0d68dbc3ah,0a02d8514h,0280b5a5bh,04ea109e4h - DD 0b40961bfh,05741a7ach,06aa56bfah,04ada5937h,002b765d1h,07feb9145h,0e6ad1582h,0561e97beh,0da3982f5h,0bbc4a5b6h,0b546f468h,00c2659edh,059612d20h,0b8e7e6aah,0ac19e8e0h,0d83dfe20h - DD 0b835398ch,08530c45fh,0b38a41c2h,06106a8bfh,035f5dcdbh,021e8f9a6h,0cae498edh,039707137h,0d8249f00h,070c23834h,0ab2537a0h,09f14b58fh,05f61c0c2h,0d043c365h,009a194a7h,0dc5926d6h - DD 08e77738ah,0ddec0339h,0fba46426h,0d07a63efh,0ee7f6e86h,02e58e79ch,0ff32d241h,0e59b0459h,020fa0338h,0c5ec84e5h,0eaff5aceh,097939ac8h,0b4a38313h,00310a4e3h,08f9d9885h,09115fba2h - DD 05fadf8c3h,08dd710c2h,0ce19c0e2h,066be38a2h,04cfe5022h,0d42a279ch,00e24e1b8h,0597bb530h,0c153ca7fh,03cde86b7h,0707d63bdh,0a8d30fb3h,0bd60d21eh,0ac905f92h,07b9a54abh,098e7ffb6h - DD 0e9726a30h,0d7147df8h,0afce3533h,0b5e216ffh,02ff1ec40h,0b550b799h,0a1e953fdh,06b613b87h,0792d5610h,087b88dbah,0a190fbe1h,02ee1270ah,02ef581dah,002f4e2dch,0eff82a95h,0016530e4h - DD 08fd6ee89h,0cbb93dfdh,046848fffh,016d3d986h,01da47adfh,0600eff24h,00ad47a71h,01b9754a0h,070c33b98h,08f9266dfh,0df34186eh,0aadc87aeh,04ad24132h,00d2ce8e1h,019946ebah,08a47cbfch - DD 062b5f3afh,047feeb66h,00abb3734h,0cefab561h,019f35cb1h,0449de60eh,0157f0eb9h,039f8db14h,03c61bfd6h,0ffaecc5bh,041216703h,0a5a4d41dh,0224e1cc2h,07f8fabedh,0871ad953h,00d5a8186h - DD 0d22da9a9h,0f10774f7h,0cc8a9b0dh,045b8a678h,0bdc32cffh,0d9c2e722h,0337202a5h,0bf71b5f5h,069fc4db9h,095c57f2fh,0765d01e1h,0b6dad34ch,0cb904635h,07e0bd13fh,0763a588ch,061751253h - DD 081af2c2dh,0d85c2997h,081b9d7dah,0c0f7d9c4h,008533e8dh,0838a34aeh,0311d8311h,015c4cb08h,08e121e14h,097f83285h,085000a5fh,0eea7dc1eh,05d256274h,00c6059b6h,0b95075c0h,0ec9beaceh - DD 01df97828h,0173daad7h,0a8937877h,0bf851cb5h,001646f3ch,0b083c594h,050c6d352h,03bad30cfh,0496bbceah,0feb2b202h,018a1e8bah,03cf9fd4fh,01c066029h,0d26de7ffh,04e9ed4f8h,039c81e9eh - DD 07b390d35h,0d8be0cb9h,0964aab27h,001df2bbdh,0c3ef64f8h,03e8c1a65h,0716ed1ddh,0567291d1h,05f5406d3h,095499c6ch,05ba8e23fh,071fdda39h,0d5096eceh,0cfeb320eh,0ca66dd16h,0be7ba92bh - DD 0c6fb5a7dh,04608d36bh,06d2dd0e0h,0e3eea15ah,08f97a36ah,075b0a3ebh,01c83de1eh,0f59814cch,01c33c23fh,056c9c5b0h,06faa4136h,0a96c1da4h,0de316551h,046bf2074h,01f756c8fh,03b866e7bh - DD 01495ed6bh,0727727d8h,0b682dce7h,0b2394243h,0758610f3h,08ab8454eh,0857d72a4h,0c243ce84h,0dbbf370fh,07b320d71h,078e0f7cah,0ff9afa37h,0ea7b523fh,00119d1e0h,0058c7d42h,0b997f8cbh - DD 037bbb184h,0285bcd2ah,0a45d1fa6h,051dcec49h,0e29634cbh,06ade3b64h,026b86ef1h,0080c94a7h,02283fbe3h,0ba583db1h,05a9315edh,0902bddc8h,086964bech,007c1ccb3h,0b6258301h,078f4eacfh - DD 056f90823h,04bdf3a49h,0741d777bh,0ba0f5080h,0f38bf760h,0091d71c3h,09b625b02h,09633d50fh,0b8c9de61h,003ecb743h,05de74720h,0b4751254h,074ce1cb2h,09f9defc9h,000bd32efh,0774a4f6ah - DD 073848f22h,0aca385f7h,0f3f8558eh,053dad716h,093c471f9h,0ab7b34b0h,019644bc7h,0f530e069h,0dd59d31ah,03d9fb1ffh,008daa795h,04382e0dfh,0d5cc88d7h,0165c6f4bh,04a18c900h,0eaa392d5h - DD 0648024eeh,094203c67h,08c2fabcdh,0188763f2h,0bbaec835h,0a80f87ach,0f29d8d54h,0632c96e0h,04c00a95eh,029b0a60eh,0e011e9fah,02ef17f40h,015b77223h,0f6c0e1d1h,014b04e32h,0aaec2c62h - DD 03d84e58ch,0d35688d8h,0958571dbh,02af5094ch,0760682a6h,04fff7e19h,0e39a407ch,04cb27077h,04ff0e321h,00f59c547h,01b34c8ffh,0169f34a6h,052bc1ba7h,02bff1096h,083583544h,0a25423b7h - DD 00ac8b782h,05d55d5d5h,02db3c892h,0ff6622ech,06b8bb642h,048fce741h,069d7e3dch,031d6998ch,0cadcaed0h,0dbaf8004h,0d81d053ch,0801b0142h,059630ec6h,094b189fch,0af762c8eh,0120e9934h - DD 0fdc6a404h,053a29aa4h,0a1909948h,019d8e01eh,0d7e89681h,03cfcabf1h,04e132d37h,03321a50dh,0e9a86111h,0d0496863h,006a3bc65h,08c0cde61h,0fc9f8eefh,0af866c49h,0ff7f5141h,02066350eh - DD 0e56ddfbdh,04f8a4689h,0fe32983ah,0ea1b0c07h,0873cb8cbh,02b317462h,02d93229fh,0658deddch,00f64ef58h,065efaf4dh,0730cc7a8h,0fe43287dh,03d047d70h,0aebc0c72h,0d92d26c9h,092efa539h - DD 094b56526h,006e78457h,00961002dh,0415cb80fh,076dcb10fh,089e5c565h,0ff9259feh,08bbb6982h,09abc2668h,04fe8795bh,01e678fb1h,0b5d4f534h,07b7da2b9h,06601f3beh,0a13d6805h,098da59e2h - DD 001799a52h,0190d8ea6h,0b86d2952h,0a20cec41h,07fff2a7ch,03062ffb2h,079f19d37h,0741b32e5h,04eb57d47h,0f80d8181h,016aef06bh,07a2d0ed4h,01cecb588h,009735fb0h,0c6061f5bh,01641caaah - DD 020151427h,07f99824fh,092430206h,0206828b6h,0e1112357h,0aa9097d7h,009e414ech,0acf9a2f2h,027915356h,0dbdac9dah,0001efee3h,07e0734b7h,0d2b288e2h,054fab5bbh,0f62dd09ch,04c630fc4h - DD 01ac2703bh,08537107ah,06bc857b5h,0b49258d8h,0bcdaccd1h,057df14deh,0c4ae8529h,024ab68d7h,0734e59d0h,07ed8b5d4h,0c495cc80h,05f8740c8h,0291db9b3h,084aedd5ah,04fb995beh,080b360f8h - DD 05fa067d1h,0ae915f5dh,09668960ch,04134b57fh,0a48edaach,0bd3656d6h,0fc1d7436h,0dac1e3e4h,0d81fbb26h,0674ff869h,0b26c33d4h,0449ed3ech,0d94203e8h,085138705h,0beeb6f4ah,0ccde538bh - DD 0a61a76fah,055d5c68dh,0ca1554dch,0598b441dh,0773b279ch,0d39923b9h,036bf9efch,033331d3ch,0298de399h,02d4c848eh,0a1a27f56h,0cfdb8e77h,057b8ab70h,094c855eah,06f7879bah,0dcdb9daeh - DD 0019f2a59h,07bdff8c2h,0cb4fbc74h,0b3ce5bb3h,08a9173ddh,0ea907f68h,095a75439h,06cd3d0d3h,0efed021ch,092ecc4d6h,06a77339ah,009a9f9b0h,07188c64ah,087ca6b15h,044899158h,010c29968h - DD 0ed6e82efh,05859a229h,065ebaf4eh,016f338e3h,05ead67aeh,00cd31387h,054ef0bb4h,01c73d228h,074a5c8c7h,04cb55131h,07f69ad6ah,001cd2970h,0e966f87eh,0a04d00ddh,00b7b0321h,0d96fe447h - DD 088fbd381h,0342ac06eh,05c35a493h,002cd4a84h,054f1bbcdh,0e8fa89deh,02575ed4ch,0341d6367h,0d238202bh,0ebe357fbh,0a984ead9h,0600b4d1ah,052436ea0h,0c35c9f44h,0a370751bh,096fe0a39h - DD 07f636a38h,04c4f0736h,00e76d5cbh,09f943fb7h,0a8b68b8bh,0b03510bah,09ed07a1fh,0c246780ah,06d549fc2h,03c051415h,0607781cah,0c2953f31h,0d8d95413h,0955e2c69h,07bd282e3h,0b300fadch - DD 087e9189fh,081fe7b50h,0f42dda27h,0db17375ch,0cf0a5904h,022f7d896h,0ebe348e6h,0a0e57c5ah,0f40e3c80h,0a61011d3h,08db705c5h,0b1189321h,050fedec3h,04ed9309eh,04d6d5c1dh,0dcf14a10h - DD 055691342h,0056c265bh,091049dc7h,0e8e08504h,0c9bae20ah,0131329f5h,0d9dccdb4h,096c8b3e8h,0fb4ee6b4h,08c5ff838h,041e8ccf0h,0fc5a9aebh,0fae050c6h,07417b764h,000452080h,00953c3d7h - DD 038dfe7e8h,021372682h,02bb79d4bh,0ea417e15h,076e7cf2dh,059641f1ch,0ea0bcfcch,0271e3059h,07253ecbdh,0624c7dfdh,04fca6186h,02f552e25h,04d866e9ch,0cbf84ecdh,0f68d4610h,073967709h - DD 0c27901b4h,0a14b1163h,0899b8bf3h,0fd9236e0h,0cbc6da0ah,042b091ech,05ad1d297h,0bb1dac6fh,0a91cf76eh,080e61d53h,0d31f1ee7h,04110a412h,013efcf77h,02d87c3bah,0df450d76h,01f374bb4h - DD 00d188dabh,05e78e2f2h,0f4b885efh,0e3968ed0h,07314570fh,046c0568eh,001170521h,031616338h,04f0c8afeh,018e1e7e2h,0deea78dah,04caa75ffh,07c5d8a51h,082db67f2h,06f505370h,036a44d86h - DD 00333974fh,0d72c5bdah,027a70146h,05db516aeh,0210ef921h,034705281h,00c9c38e5h,0bff17a8fh,012476da1h,078f4814eh,033c16980h,0c1e16613h,0424d4bcah,09e5b386fh,0c85740deh,04c274e87h - DD 06c2f5226h,0b6a9b88dh,0550d7ca8h,014d1b944h,01fc41709h,0580c85fch,054c6d519h,0c1da368bh,0d5113cf7h,02b0785ceh,05a34708fh,00670f633h,015cc3f88h,046e23767h,050c72c8fh,01b480cfah - DD 04147519ah,020288602h,026b372f0h,0d0981each,0a785ebc8h,0a9d4a7cah,0dbdf58e9h,0d953c50dh,0fd590f8fh,09d6361cch,044e6c917h,072e9626bh,022eb64cfh,07fd96110h,09eb288f3h,0863ebb7eh - DD 06aca8ee7h,06e6ab761h,0d7b40358h,097d10b39h,01e5feb0dh,01687d377h,08265a27ah,0c83e50e4h,0c954b313h,08f75a9feh,0310d1f61h,0cc2e8f47h,06557d0e0h,0f5ba81c5h,03eaf6207h,025f9680ch - DD 04354080bh,0f95c6609h,07bf2fe1ch,05225bfa5h,05c7d98fah,0c5c004e2h,0019aaf60h,03561bf1ch,0ba151474h,05e6f9f17h,0b04f6ecah,0dec2f934h,0269acb1eh,064e368a1h,00cdda493h,01332d9e4h - DD 0df23de05h,060d6cf69h,0009339a0h,066d17da2h,00a693923h,09fcac985h,0ed7c6a6dh,0bcf057fch,0f0b5662ch,0c3c5c8c5h,0dcba4f24h,025318dd8h,0082b69ffh,060e8cb75h,01e728c01h,07c23b3eeh - DD 0097e4403h,015e10a0ah,019854665h,0cb3d0a86h,0d67d4826h,088d8e211h,00b9d2839h,0b39af66eh,0bd475ca8h,0a5f94588h,0c077b80bh,0e06b7966h,0da27c26ch,0fedb1485h,0fe0fd5e0h,0d290d33ah - DD 0f34fb0fah,0a40bcc47h,01fb1ab09h,0b4760cc8h,0a273bfe3h,08fca0993h,0f70b213ch,013e4fe07h,0fdb05163h,03bcdb992h,00c2b19b6h,08c484b11h,0aaf2e3e2h,01acb815fh,0b89ff1b4h,0c6905935h - DD 0586e74e1h,0b2ad6f9dh,067b80484h,0488883adh,0369c3ddbh,0758aa2c7h,09f9afd31h,08ab74e69h,05e21beb1h,010fc2d28h,0318c42f9h,03484518ah,053cf40c3h,0377427dch,0391bc1d9h,09de0781ah - DD 0693807e1h,08faee858h,04e81ccc7h,0a3865327h,06f835b84h,002c30ff2h,00d3d38d4h,0b604437bh,05ca1823dh,0b3fc8a98h,003be0324h,0b82f7ec9h,0cf684a33h,0ee36d761h,09f29bf7dh,05a01df0eh - DD 01306583dh,0686202f3h,0437c622eh,005b10da0h,0076a7bc8h,0bf9aaa0fh,08f8f4e43h,025e94efbh,0fa3dc26dh,08a35c9b7h,096ff03c5h,0e0e5fb93h,0ebc394ceh,0a77e3843h,08361de60h,0cede6595h - DD 0a1993545h,0d27c22f6h,024d671bah,0ab01cc36h,0a169c28eh,063fa2877h,02eb08376h,0925ef904h,053aa0b32h,03b2fa3cfh,071c49d7ah,0b27beb5bh,0d105e27fh,0b60e1834h,04f68570dh,0d6089788h - DD 0d6fbc2ach,023094ce0h,0815ff551h,0738037a1h,06bef119ch,0da73b1bbh,0eef506bah,0dcf6c430h,0e3ef104ah,000e4fe7bh,00a065628h,0ebdd9a2ch,08792043eh,0853a81c3h,0b3b59108h,022ad6eceh - DD 039cd297dh,09fb813c0h,005bda5d9h,08ec7e16eh,00d104b96h,02834797ch,07c511510h,0cc11a2e7h,096ee6380h,096ca5a53h,0cea38742h,0054c8655h,0d54dfa7dh,0b5946852h,01f4ab207h,097c422e7h - DD 00c22b540h,0bf907509h,0b7c267d4h,02cde42aah,05ab0d693h,0ba18f9edh,06e4660d9h,03ba62aa6h,0ab9ea96ah,0b24bf97bh,0e3b60e32h,05d039642h,07c4d9bd5h,04e6a4506h,07ed4a6a4h,0666c5b9eh - DD 08edbd7cch,0fa3fdcd9h,0c6ccd753h,04660bb87h,021e6b64fh,09ae90820h,0b36bfb3fh,08a56a713h,05726d47fh,0abfce096h,00b1a9a7fh,09eed01b2h,04eb74a37h,030e9cad4h,053e9666dh,07b2524cch - DD 08f4b002fh,06a29683bh,041f4fc20h,0c2200d7ah,03a338acch,0cf3af47ah,0e7128975h,06539a4fbh,0c33c7fcfh,0cec31c14h,0c7be322bh,07eb6799bh,06646f623h,0119ef4e9h,054d7299bh,07b7a26a5h - DD 0403f46f2h,0cb37f08dh,01a0ec0c7h,094b8fc43h,0c332142fh,0bb8514e3h,0e80d2a7ah,0f3ed2c33h,0b639126ch,08d2080afh,0e3553adeh,0f7b6be60h,01c7e2b09h,03950aa9fh,06410f02bh,0847ff958h - DD 0678a31b0h,0877b7cf5h,03998b620h,0d50301aeh,0c00fb396h,0734257c5h,004e672a6h,0f9fb18a0h,0e8758851h,0ff8bd8ebh,05d99ba44h,01e64e4c6h,07dfd93b7h,04b8eaedfh,004e76b8ch,0ba2f2a98h - DD 0e8053433h,07d790cbah,03d2c9585h,0c8e725a0h,0cdd8f5edh,058c5c476h,0efa9fe1dh,0d106b952h,00eff13a9h,03c5c775bh,0e057b930h,0242442bah,0c9b70cbdh,0e9f458d4h,0a3cdb89ah,069b71448h - DD 00e2ed742h,041ee46f6h,040067493h,0573f1045h,09d54c304h,0b1e154ffh,08d3a7502h,02ad0436ah,0431a8121h,0ee4aaa2dh,0886f11edh,0cd38b3abh,0034a0eb7h,057d49ea6h,0f7e85e58h,0d2b773bdh - DD 09b5c1f14h,04a559ac4h,03e54df2bh,0c444be1ah,0eda41891h,013aad704h,05eb5c788h,0cd927bech,0e48c8a34h,0eb3c8516h,04b546669h,01b7ac812h,0594df8ech,01815f896h,079227865h,087c6a79ch - DD 09b56ddbdh,0ae02a2f0h,08a2f1cf3h,01339b5ach,0839dff0dh,0f2b569c7h,0fee9a43dh,0b0b9e864h,077bb064eh,04ff8ca41h,0fd249f63h,0145a2812h,0f86f689ah,03ab7beach,001d35f5eh,09bafec27h - DD 04265aa91h,028054c65h,0035efe42h,0a4b18304h,09639dec7h,06887b0e6h,03d52aea5h,0f4b8f6adh,0971a8a13h,0fb9293cch,04c934d07h,03f159e5dh,009acbc29h,02c50e9b1h,07154d129h,008eb65e6h - DD 030b75c3eh,04feff589h,094491c93h,00bb82fe2h,089af62bbh,0d8ac377ah,09685e49fh,0d7b51490h,004497f19h,0abca9a7bh,01a7ad13fh,01b35ed0ah,03ec86ed6h,06b601e21h,0ce0c76f1h,0da91fcb9h - DD 0d7ab27e1h,09e28507bh,063945b7bh,07c19a555h,0aafc9827h,06b43f0a1h,03aa55b91h,0443b4fbdh,06962c88fh,0962b2e65h,0ce0db0cah,0139da8d4h,01b8d6c4fh,0b93f05ddh,0180b9824h,0779cdff7h - DD 0ae57c7b7h,0bba23fddh,01b932522h,0345342f2h,0556d4aa3h,0fd9c80feh,06525bb61h,0a03907bah,0ff218933h,038b010e1h,0aa52117bh,0c066b654h,094f2e6eah,08e141920h,00d32f2b2h,066a27dcah - DD 0048b3717h,069c7f993h,0b178ae1ch,0bf5a989ah,0564f1d6bh,049fa9058h,0d31fde4eh,027ec6e15h,07276e7fch,04cce0373h,089d6bf02h,064086d79h,04ccdd979h,05a72f046h,047775631h,0909c3566h - DD 075dd7125h,01c07bc6bh,087a0428dh,0b4c6bc97h,0fdeb6b9dh,0507ece52h,0b2c95432h,0fca56512h,0d0e8bd06h,015d97181h,0c6bb46eah,0384dd317h,03952b624h,05441ea20h,04e7dc2fbh,0bcf70deeh - DD 06628e8c3h,0372b016eh,0b60a7522h,007a0d667h,00a344ee2h,0cf05751bh,0118bdeech,00ec09a48h,0d83dce46h,06e4b3d4eh,099d2fc6eh,043a6316dh,056cf044ch,0a99d8989h,0ae3e5fb7h,07c7f4454h - DD 0fbabbe92h,0b2e6b121h,0e1330076h,0281850fbh,097890015h,0093581ech,075ff77f5h,069b1ddedh,0ab105105h,07cf0b18fh,0a89ccfefh,0953ced31h,0eb914009h,03151f85fh,088ed48adh,03c9f1b87h - DD 04a7eadcbh,0c9aba1a1h,0522e71cfh,0928e7501h,03a2e4f83h,0eaede727h,01ce3bbd3h,0467e10d1h,0b955dcf0h,0f3442ac3h,0d3d5e527h,0ba96307dh,0fd77f474h,0f763a10eh,06a6e1ff0h,05d744bd0h - DD 0a777899eh,0d287282ah,0d03f3cdeh,0e20eda8fh,050b07d31h,06a7e75bbh,06f379de4h,00b7e2a94h,019f593cfh,031cb64adh,01e76ef1dh,07b1a9e4fh,0b62d609ch,0e18c9c9dh,0e779a650h,0439bad6dh - DD 0e032f144h,0219d9066h,0e8b2ec6ah,01db632b8h,0fda12f78h,0ff0d0fd4h,02a25d265h,056fb4c2dh,0255a03f1h,05f4e2ee1h,0e96af176h,061cd6af2h,0d068bc97h,0e0317ba8h,0264b988eh,0927d6babh - DD 0e90fb21eh,0a18f07e0h,0bba7fca1h,000fd2b80h,095cd67b5h,020387f27h,0d39707f7h,05b89a4e7h,0894407ceh,08f83ad3fh,06c226132h,0a0025b94h,0f906c13bh,0c79563c7h,04e7bb025h,05f548f31h - DD 0eac6d113h,02b4c6b8fh,00e813c76h,0a67e3f9ch,03fe1f4b9h,03982717ch,026d8050eh,058865819h,0f7f06f20h,099f3640ch,02a66ebc2h,0dc610216h,0767a1e08h,052f2c175h,05999871bh,005660e1ah - DD 06d3c4693h,06b0f1762h,037ed7beah,0f0e7d627h,0b75b226dh,0c51758c7h,01f91613bh,040a88628h,0bbb38ce0h,0889dbaa7h,0bddcad81h,0e0404b65h,08bc9671fh,0febccd3ah,0ee1f5375h,0fbf9a357h - DD 028f33398h,05dc169b0h,072e90f65h,0b07ec11dh,0faab1eb1h,0ae7f3b4ah,05f17538ah,0d970195eh,00181e640h,052b05cbeh,02643313dh,0f5debd62h,05df31f82h,076148154h,03a9e13c5h,023e03b33h - DD 04fde0c1fh,0ff758949h,0e5b6ec20h,0bf8a1abeh,087e1db6ch,0702278fbh,035ed658fh,0c447ad7ah,003d0ccf2h,048d4aa38h,0819a7c03h,080acb338h,06e17cecch,09bc7c89eh,003be1d82h,046736b8bh - DD 0c0432f96h,0d65d7b60h,0deb5442fh,0ddebe7a3h,07dff69a2h,079a25307h,002cf3122h,037a56d94h,0f2350d0ah,08bab8aedh,0037b0d9ah,013c3f276h,044c65caeh,0c664957ch,0c2e71a88h,088b44089h - DD 05cb02664h,0db88e5a3h,08686c72eh,05d4c0bf1h,0a682d53eh,0ea3d9b62h,00b2ad431h,09b605ef4h,0c69645d0h,071bac202h,06a1b66e7h,0a115f03ah,0158f4dc4h,0fe2c563ah,04d12a78ch,0f715b3a0h - DD 0d413213ah,08f7f0a48h,0c04becdbh,02035806dh,05d8587f5h,0ecd34a99h,09f6d3a71h,04d8c3079h,08d95a8f6h,01b2a2a67h,0f2110d0dh,0c58c9d7dh,0cf8fba3fh,0deee81d5h,00c7cdf68h,0a42be3c0h - DD 0d43b5eaah,02126f742h,0dfa59b85h,0054a0766h,0126bfd45h,09d0d5e36h,0384f8a8fh,0a1f8fbd7h,0d563fccch,0317680f5h,0f280a928h,048ca5055h,027b578cfh,0e00b81b2h,02994a514h,010aad918h - DD 0b7bdc953h,0d9e07b62h,05bc086ddh,09f0f6ff2h,0655eee77h,009d1ccffh,05bef7df1h,045475f79h,086f702cch,03faa28fah,00f021f07h,092e60905h,07f8fa8c6h,0e9e62968h,0f036ea2ch,0bd71419ah - DD 06028da9ah,0171ee1cch,0c251f573h,05352fe1ah,03fa997f4h,0f8ff236eh,0a5749d5fh,0d831b6c9h,0e350e2c2h,07c872e1dh,01e0ce403h,0c56240d9h,06974f5cbh,0f9deb077h,0961c3728h,07d50ba87h - DD 05a3a2518h,0d6f89426h,0c6303d43h,0cf817799h,0619e5696h,0510a0471h,03a5e307bh,0ab049ff6h,0feb13ec7h,0e4cdf9b0h,09d8ff90ch,0d5e97117h,09afa96afh,0f6f64d06h,09d2012a2h,000d0bf5eh - DD 0358bcdc0h,0e63f301fh,00a9d47f8h,007689e99h,04f43d43ah,01f689e2fh,090920904h,04d542a16h,09ca0a707h,0aea293d5h,08ac68065h,0d061fe45h,00090008ch,01033bf1bh,0c08a6db6h,029749558h - DD 0c1d5d034h,074b5fc59h,067e215e0h,0f712e9f6h,0860200e6h,0fd520cbdh,03ea22588h,00229acb4h,0fff0c82eh,09cd1e14ch,059c69e73h,087684b62h,096ccb989h,0da85e61ch,0a3d06493h,02d5dbb02h - DD 0e86b173ch,0f22ad33ah,0a79ff0e3h,0e8e41ea5h,0dd0d0c10h,001d2d725h,0032d28f9h,031f39088h,07829839eh,07b3f71e1h,04502ae58h,00cf691b4h,0befc6115h,0ef658dbdh,0b3ab5314h,0a5cd6ee5h - DD 05f1d2347h,0206c8d7bh,04cc2253ah,0794645bah,058389e08h,0d517d8ffh,09f847288h,04fa20deeh,0d797770ah,0eba072d8h,0bf429e26h,07360c91dh,080af8279h,07200a3b3h,082dadce3h,06a1c9150h - DD 0c35d8794h,00ee6d3a7h,00356bae5h,0042e6558h,0643322fdh,09f59698dh,050a61967h,09379ae15h,0fcc9981eh,064b9ae62h,06d2934c6h,0aed3d631h,05e4e65ebh,02454b302h,0f9950428h,0ab09f647h - DD 022248acch,0b2083a12h,03264e366h,01f6ec0efh,05afdee28h,05659b704h,0e6430bb5h,07a823a40h,0e1900a79h,024592a04h,0c9ee6576h,0cde09d4ah,04b5ea54ah,052b6463fh,0d3ca65a7h,01efe9ed3h - DD 0305406ddh,0e27a6dbeh,0dd5d1957h,08eb7dc7fh,0387d4d8fh,0f54a6876h,0c7762de4h,09c479409h,099b30778h,0be4d5b5dh,06e793682h,025380c56h,0dac740e3h,0602d37f3h,01566e4aeh,0140deabeh - DD 0afd32acfh,04481d067h,0e1f71ccfh,0d8f0fccah,0b596f2dah,0d208dd0ch,09aad93f9h,0d049d730h,042ab580eh,0c79f263dh,023f707b4h,009411bb1h,0835e0edah,08cfde1ffh,090f03402h,072707490h - DD 0c49a861eh,0eaee6126h,0e14f0d06h,0024f3b65h,0c69bfc17h,051a3f1e8h,0a7686381h,0c3c3a8e9h,0b103d4c8h,03400752ch,09218b36bh,002bc4613h,07651504ah,0c67f75ebh,0d02aebfah,0d6848b56h - DD 0c30fa92bh,0bd9802e6h,09a552784h,05a70d96dh,03f83169bh,09085c4eah,006908228h,0fa9423bbh,0fe97a5b9h,02ffebe12h,071b99118h,085da6049h,063178846h,09cbc2f7fh,09153218eh,0fd96bc70h - DD 01782269bh,0958381dbh,02597e550h,0ae34bf79h,05f385153h,0bb5c6064h,0e3088048h,06f0e96afh,077884456h,0bf6a0215h,069310ea7h,0b3b5688ch,004fad2deh,017c94295h,017896d4dh,0e020f0e5h - DD 00976505fh,0730ba0abh,0095e2ec5h,0567f6813h,06331ab71h,047062010h,041d22b9fh,072cfa977h,08a2373dah,033e55eadh,07ba45a68h,0a8d0d5f4h,003029d15h,0ba1d8f9ch,0fc55b9f3h,08f34f1cch - DD 0bbe5a1a9h,0cca4428dh,03126bd67h,08187fd5fh,048105826h,00036973ah,0b8bd61a0h,0a39b6663h,02d65a808h,06d42deefh,094636b19h,04969044fh,0dd5d564ch,0f611ee47h,0d2873077h,07b2f3a49h - DD 0300eb294h,094157d45h,0169c1494h,02b2a656eh,0d3a47aa9h,0c000dd76h,0a6243ea4h,0a2864e4fh,0db89842eh,082716c47h,061479fb7h,012dfd7d7h,0e0b2f6dch,03b9a2c56h,0d7f85d67h,046be862ah - DD 00f82b214h,003b0d8ddh,0f103cbc6h,0460c34f9h,018d79e19h,0f32e5c03h,0a84117f8h,08b8888bah,0c0722677h,08f3c37dch,01c1c0f27h,010d21be9h,0e0f7a0c6h,0d47c8468h,0adecc0e0h,09bf02213h - DD 042b48b99h,00baa7d12h,048424096h,01bcb665dh,0ebfb5cfbh,08b847cd6h,09ad4d10dh,087c2ae56h,00de36726h,0f1cbb122h,03fdfbd21h,0e7043c68h,04e79d460h,04bd0826ah,04bd1a2cbh,011f5e598h - DD 0b7fe7b6eh,097554160h,0400a3fb2h,07d16189ah,0e328ca1eh,0d73e9beah,0e793d8cch,00dd04b97h,0506db8cch,0a9c83c9bh,0cf38814ch,05cd47aaeh,0b64b45e6h,026fc430dh,0d818ea84h,0079b5499h - DD 0c1c24a3bh,0ebb01102h,01c161c1ah,0ca24e568h,036f00a4ah,0103eea69h,076176c7bh,09ad76ee8h,0538e0ff7h,097451fc2h,06604b3b0h,094f89809h,03249cfd7h,06311436eh,041224f69h,027b4a7bdh - DD 0e0ac2941h,003b5d21ah,0c2d31937h,0279b0254h,0cac992d0h,03307c052h,0efa8b1f3h,06aa7cb92h,00d37c7a5h,05a182580h,0342d5422h,013380c37h,0d5d2ef92h,092ac2d66h,0030c63c6h,0035a70c9h - DD 04ce4f152h,0c16025ddh,0f9df7c06h,01f419a71h,091e4bb14h,06d5b2214h,0839fb4ceh,0fc43c6cch,0925d6b2dh,049f06591h,062186598h,04b37d9d3h,0d01b1629h,08c54a971h,051d50e05h,0e1a9c29fh - DD 071ba1861h,05109b785h,0d0c8f93dh,048b22d5ch,08633bb93h,0e8fa84a7h,05aebbd08h,053fba6bah,0e5eea7d8h,07ff27df3h,068ca7158h,0521c8796h,0ce6f1a05h,0b9d5133bh,0fd0ebee4h,02d50cd53h - DD 0c5a3ef16h,0c82115d6h,0ba079221h,0993eff9dh,04b5da81ch,0e4da2c5eh,08033fd85h,09a89dbdbh,02b892891h,060819ebfh,05d14a4d5h,053902b21h,0d7fda421h,06ac35051h,061c83284h,0cc6ab885h - DD 0f74cff17h,014eba133h,0ecb813f2h,0240aaa03h,06f665beeh,0cfbb6540h,0a425ad73h,0084b1fe4h,0d081f6a6h,0009d5d16h,0eef82c90h,035304fe8h,0aa9eaa22h,0f20346d5h,0ac1c91e3h,00ada9f07h - DD 0968a6144h,0a6e21678h,007b31a1eh,054c1f77ch,05781fbe1h,0d6bb787eh,0e31f1c4ah,061bd2ee0h,0781105fch,0f25aa1e9h,07b2f8e80h,09cf2971fh,0cdff919bh,026d15412h,034bc896eh,001db4ebeh - DD 0b40df1cfh,07d9b3e23h,094e971b4h,059337373h,0669cf921h,0bf57bd14h,00c1a1064h,0865daedfh,083279125h,03eb70bd3h,034ecdaabh,0bc3d5b9fh,05f755cafh,091e3ed7eh,0d41e6f02h,049699f54h - DD 0d4a7a15bh,0185770e1h,0eaac87e7h,008f3587ah,0473133eah,0352018dbh,004fd30fch,0674ce719h,0088b3e0eh,07b8d9835h,05d0d47a1h,07a0356a9h,06474a3c4h,09d9e7659h,0ff66966ch,061ea48a7h - DD 00f3e4834h,030417758h,017a9afcbh,0fdbb21c2h,02f9a67b3h,0756fa17fh,0a245c1a8h,02a6b2421h,04af02291h,064be2794h,02a5804feh,0ade465c6h,0a6f08fd7h,08dffbd39h,0aa14403bh,0c4efa84ch - DD 0442b0f5ch,0a1b91b2ah,0cf997736h,0b748e317h,0cee90e16h,08d1b62bfh,00b2078c0h,0907ae271h,00c9bcdddh,0df31534bh,039adce83h,0043fb054h,0d826846ah,099031043h,0b144f393h,061a9c0d6h - DD 047718427h,0dab48046h,06e830f8bh,0df17ff9bh,0e49a1347h,0408d7ee8h,091c1d4aeh,06ac71e23h,01defd73ch,0c8cbb9fdh,0bbbbfec5h,019840657h,09e7ef8eah,039db1cb5h,064105f30h,078aa8296h - DD 0a3738c29h,0a3d9b7f0h,0bc3250a3h,00a2f235ah,0445e4cafh,055e506f6h,033475f7ah,00974f73dh,05ba2f5a8h,0d37dbba3h,06af40066h,0542c6e63h,0c5d73e2ch,026d99b53h,06c3ca33eh,006060d7dh - DD 0065fef4ah,0cdbef1c2h,0fd5b92e3h,077e60f7dh,026708350h,0d7c549f0h,034f121bfh,0201b3ad0h,00334fc14h,05fcac2a1h,0344552f6h,08a9a9e09h,097653082h,07dd8a1d3h,079d4f289h,05fc0738fh - DD 017d2d8c3h,0787d244dh,070830684h,0effc6345h,0e4f73ae5h,05ddb96ddh,0172549a5h,08efb14b1h,02245ae7ah,06eb73eeeh,0ea11f13eh,0bca4061eh,030b01f5dh,0b577421dh,0782e152ch,0aa688b24h - DD 0bd3502bah,067608e71h,0b4de75a0h,04ef41f24h,0fd6125e5h,0b08dde5eh,0a409543fh,0de484825h,065cc2295h,01f198d98h,06e0edfa2h,0428a3771h,0adf35fc7h,04f9697a2h,0f7cac3c7h,001a43c79h - DD 00fd3659ah,0b05d7059h,0bb7f2d9ah,08927f30ch,08cf984d3h,04023d1ach,002897a45h,032125ed3h,03d414205h,0fb572dadh,0e3fa82a9h,073000ef2h,0f10a5581h,04c0868e9h,06b0b3ca5h,05b61fc67h - DD 07cae440ch,0c1258d5bh,0402b7531h,021c08b41h,0de932321h,0f61a8955h,02d1408afh,03568faf8h,09ecf965bh,071b15e99h,0e917276fh,0f14ed248h,0820cf9e2h,0c6f4caa1h,018d83c7eh,0681b20b2h - DD 0c6c01120h,06cde738dh,0ae70e0dbh,071db0813h,074afe18ch,095fc0644h,0129e2be7h,034619053h,0db2a3b15h,080615ceah,0db4c7073h,00a49a19eh,08fd2d367h,00e1b84c8h,0033fb8aah,0d74bf462h - DD 0533ef217h,0889f6d65h,0c3ca2e87h,07158c7e4h,0dc2b4167h,0fb670dfbh,0844c257fh,075910a01h,0cf88577dh,0f336bf07h,0e45e2aceh,022245250h,07ca23d85h,02ed92e8dh,02b812f58h,029f8be4ch - DD 0076fe12bh,0dd9ebaa7h,0ae1537f9h,03f2400cbh,017bdfb46h,01aa93528h,067883b41h,0c0f98430h,00170911dh,05590ede1h,034d4b17fh,07562f5bbh,01826b8d2h,0e1fa1df2h,06bd80d59h,0b40b796ah - DD 03467ba92h,0d65bf197h,0f70954b0h,08c9b46dbh,00e78f15dh,097c8a0f3h,085a4c961h,0a8f3a69ah,061e4ce9bh,04242660fh,06ea6790ch,0bf06aab3h,0ec986416h,0c6706f8eh,09a9fc225h,09e56dec1h - DD 09a9898d9h,0527c46f4h,05633cdefh,0d799e77bh,07d9e4297h,024eacc16h,06b1cb734h,0abb61ceah,0f778443ch,0bee2e8a7h,029de2fe6h,03bb42bf1h,03003bb6fh,0cbed86a1h,0d781cdf6h,0d3918e6ch - DD 09a5103f1h,04bee3271h,0f50eac06h,05243efc6h,06adcc119h,0b8e122cbh,0c0b80a08h,01b7faa84h,06dfcd08ch,032c3d1bdh,00be427deh,0129dec4eh,01d263c83h,098ab679ch,0cef64effh,0afc83cb7h - DD 02fa6be76h,085eb6088h,01328cbfeh,0892585fbh,0cf618ddah,0c154d3edh,03abaf26eh,0c44f601bh,02be1fdfdh,07bf57d0bh,021137feeh,0a833bd2dh,02db591a8h,09353af36h,05562a056h,0c76f26dch - DD 03fdf5a51h,01d87e47dh,055c9cab0h,07afb5f93h,089e0586eh,091bbf58fh,00d843709h,07c72c018h,099b5c3dch,0a9a5aafbh,03844aeb0h,0a48a0f1dh,0b667e482h,07178b7ddh,06e23a59ah,0453985e9h - DD 001b25dd8h,04a54c860h,0fb897c8ah,00dd37f48h,00ea90cd9h,05f8aa610h,016d5830dh,0c8892c68h,0ef514ca5h,0eb4befc0h,0e72c9ee6h,0478eb679h,0dbc40d5fh,09bca20dah,0dde4f64ah,0f015de21h - DD 0eaf4b8a5h,0aa6a4de0h,04bc60e32h,068cfd9cah,07fd15e70h,0668a4b01h,0f27dc09dh,0d9f0694ah,0ba708bcdh,0f6c3cad5h,05bb95c2ah,05cd2ba69h,033c0a58fh,0aa28c1d3h,0abc77870h,023e274e3h - DD 0dfd20a4ah,044c3692dh,081a66653h,0091c5fd3h,009a0757dh,06c0bb691h,0667343eah,09072e8b9h,080848bech,031d40eb0h,079fd36cch,095bd480ah,065ed43f5h,001a77c61h,02e0d40bfh,0afccd127h - DD 01cc1884bh,0eccfc82dh,05d4753b4h,0c85ac201h,0658e099fh,0c7a6caach,004b27390h,0cf46369eh,0506467eah,0e2e7d049h,037cdeccch,0481b63a2h,0ed80143ah,04029abd8h,0bcb00b88h,028bfe3c7h - DD 00643d84ah,03bec1009h,0abd11041h,0885f3668h,0f83a34d6h,0db02432ch,0719ceebeh,032f7b360h,0dad1fe7ah,0f06c7837h,05441a0b0h,060a157a9h,0e2d47550h,0704970e9h,0271b9020h,0cd2bd553h - DD 033e24a0bh,0ff57f82fh,0f2565079h,09cbee23fh,0eb5f5825h,016353427h,0e948d662h,0276feec4h,0da10032bh,0d1b62bc6h,0f0e72a53h,0718351ddh,02420e7bah,093452076h,03a00118dh,096368fffh - DD 0150a49e4h,000ce2d26h,03f04706bh,00c28b636h,058b196d0h,0bad65a46h,0ec9f8b7ch,06c8455fch,02d71867eh,0e90c895fh,0edf9f38ch,05c0be31bh,0d8f6ec04h,02a37a15eh,08cd85251h,0239639e7h - DD 09c7c4c6bh,0d8975315h,0d7409af7h,0603aa3c0h,0007132fbh,0b8d53d0ch,0a6849238h,068d12af7h,0bf5d9279h,0be0607e7h,0aada74ceh,09aa50055h,0ba7e8ccbh,0e81079cbh,0a5f4ff5eh,0610c71d1h - DD 05aa07093h,09e2ee1a7h,0a75da47ch,0ca84004bh,03de75401h,0074d3951h,0bb311592h,0f938f756h,000a43421h,096197618h,007bc78c8h,039a25362h,00a171276h,0278f710ah,08d1a8f08h,0b28446eah - DD 0e3b6a661h,0184781bfh,0e6d279f7h,07751cb1dh,0c59eb662h,0f8ff95d6h,058d3dea7h,0186d90b7h,0dfb4f754h,00e4bb6c1h,02b2801dch,05c5cf56bh,01f54564dh,0c561e452h,0f0dd7f13h,0b4fb8c60h - DD 033ff98c7h,0f8849630h,0cf17769ch,09619fffah,01bfdd80ah,0f8090bf6h,0422cfe63h,014d9a149h,06f6df9eah,0b354c360h,0218f17eah,0dbcf770dh,079eb3480h,0207db7c8h,0559b6a26h,0213dbda8h - DD 029fc81b3h,0ac4c200bh,0171d87c1h,0ebc3e09fh,01481aa9eh,091799530h,092e114fah,0051b92e1h,0ecb5537fh,0df8f92e9h,0290c7483h,044b1b2cch,02adeb016h,0a711455ah,081a10c2ch,0964b6856h - DD 0cec03623h,04f159d99h,0ef3271eah,005532225h,0c5ee4849h,0b231bea3h,07094f103h,057a54f50h,09598b352h,03e2d421dh,067412ab4h,0e865a49ch,01cc3a912h,0d2998a25h,00c74d65dh,05d092808h - DD 04088567ah,073f45908h,01f214a61h,0eb6b280eh,0caf0c13dh,08c9adc34h,0f561fb80h,039d12938h,0bc6edfb4h,0b2dc3a5eh,0fe4d210eh,07485b1b1h,0e186ae72h,0062e0400h,06eeb3b88h,091e32d5ch - DD 04be59224h,06df574d7h,0716d55f3h,0ebc88ccch,0cad6ed33h,026c2e6d0h,00d3e8b10h,0c6e21e7dh,05bcc36bbh,02cc5840eh,07da74f69h,09292445eh,04e5193a8h,08be8d321h,08df06413h,03ec23629h - DD 0b134defah,0c7e9ae85h,01bb2d475h,06073b1d0h,02863c00dh,0b9ad615eh,0525f4ac4h,09e29493dh,04e9acf4fh,0c32b1deah,0a50db88dh,03e1f01c8h,004da916ch,0b05d70eah,0d865803eh,0714b0d0ah - DD 09920cb5eh,04bd493fch,092c7a3ach,05b44b1f7h,0bcec9235h,0a2a77293h,0cd378553h,05ee06e87h,0da621607h,0ceff8173h,099f5d290h,02bb03e4ch,0a6f734ach,02945106ah,0d25c4732h,0b5056604h - DD 0e079afeeh,05945920ch,06789831fh,0686e17a0h,0b74a5ae5h,05966bee8h,01e258d46h,038a673a2h,083141c95h,0bd1cc1f2h,00e96e486h,03b2ecf4fh,074e5fc78h,0cd3aa896h,02482fa7ah,0415ec10ch - DD 080503380h,015234419h,0d314b392h,0513d917ah,063caecaeh,0b0b52f4eh,02dc7780bh,007bf22adh,0e4306839h,0e761e8a1h,05dd7feaah,01b3be962h,074c778f1h,04fe728deh,05e0070f6h,0f1fa0bdah - DD 06ec3f510h,085205a31h,0d2980475h,02c7e4a14h,06f30ebfdh,0de3c19c0h,0d4b7e644h,0db1c1f38h,05dce364ah,0fe291a75h,0058f5be3h,0b7b22a3ch,037fea38ch,02cd2c302h,02e17be17h,02930967ah - DD 00c061c65h,087f009deh,0edc6ed44h,0cb014aach,03bafb1ebh,049bd1cb4h,0282d3688h,081bd8b5ch,0f01a17afh,01cdab87eh,0e710063bh,021f37ac4h,042fc8193h,05a6c5676h,056a6015ch,0f4753e70h - DD 0a15b0a44h,0020f795eh,08958a958h,08f37c8d7h,0a4b675b5h,063b7e89bh,00fc31aeah,0b4fb0c0ch,0a7ff1f2eh,0ed95e639h,0619614fbh,09880f5a3h,0947151abh,0deb6ff02h,0a868dcdbh,05bc5118ch - DD 04c20cea5h,0d8da2055h,014c4d69ah,0cac2776eh,0622d599bh,0cccb22c1h,068a9bb50h,0a4ddb653h,01b4941b4h,02c4ff151h,06efba588h,0e1ff19b4h,0c48345e0h,035034363h,01e29dfc4h,045542e3dh - DD 0349f7aedh,0f197cb91h,08fca8420h,03b2b5a00h,023aaf6d8h,07c175ee8h,035af32b6h,054dcf421h,027d6561eh,00ba14307h,0d175b1e2h,0879d5ee4h,099807db5h,0c7c43673h,09cd55bcdh,077a54455h - DD 00105c072h,0e6c2ff13h,08dda7da4h,018f7a99fh,00e2d35c1h,04c301820h,0d9cc6c82h,006a53ca0h,0f1aa1d9eh,0aa21cc1eh,04a75b1e8h,032414334h,00ebe9fdch,02a6d1328h,098a4755ah,016bd173fh - DD 02133ffd9h,0fbb9b245h,0830f1a20h,039a8b2f1h,0d5a1f52ah,0484bc97dh,0a40eddf8h,0d6aebf56h,076ccdac6h,032257acbh,01586ff27h,0af4d36ech,0f8de7dd1h,08eaa8863h,088647c16h,00045d5cfh - DD 0c005979dh,0a6f3d574h,06a40e350h,0c2072b42h,08de2ecf9h,0fca5c156h,0a515344eh,0a8c8bf5bh,0114df14ah,097aee555h,0fdc5ec6bh,0d4374a4dh,02ca85418h,0754cc28fh,0d3c41f78h,071cb9e27h - DD 003605c39h,089105079h,0a142c96ch,0f0843d9eh,016923684h,0f3744934h,0fa0a2893h,0732caa2fh,061160170h,0b2e8c270h,0437fbaa3h,0c32788cch,0a6eda3ach,039cd818eh,09e2b2e07h,0e2e94239h - DD 00260e52ah,06967d39bh,090653325h,0d42585cch,021ca7954h,00d9bd605h,081ed57b3h,04fa20877h,0e34a0bbeh,060c1eff8h,084f6ef64h,056b0040ch,0b1af8483h,028be2b24h,0f5531614h,0b2278163h - DD 05922ac1ch,08df27545h,0a52b3f63h,0a7b3ef5ch,071de57c4h,08e77b214h,0834c008bh,031682c10h,04bd55d31h,0c76824f0h,017b61c71h,0b6d1c086h,0c2a5089dh,031db0903h,0184e5d3fh,09c092172h - DD 0c00cc638h,0dd7ced5bh,061278fc2h,01a2015ebh,06a37f8d6h,02e8e5288h,0e79933adh,0c457786fh,02c51211ah,0b3fe4cceh,024c20498h,0ad9b10b2h,0d28db5e5h,090d87a4fh,03aca2fc3h,0698cd105h - DD 0e91b536dh,04f112d07h,09eba09d6h,0ceb982f2h,0197c396fh,03c157b2ch,07b66eb24h,0e23c2d41h,03f330d37h,0480c57d9h,079108debh,0b3a4c8a1h,0cb199ce5h,0702388deh,0b944a8d4h,00b019211h - DD 0840bb336h,024f2a692h,0a669fa7bh,07c353bdch,0dec9c300h,0da20d6fch,0a13a4f17h,0625fbe2fh,0dbc17328h,0a2b1b61ah,0a9515621h,0008965bfh,0c620ff46h,049690939h,08717e91ch,0182dd27dh - DD 0ea6c3997h,05ace5035h,0c2610befh,054259aaah,03c80dd39h,0ef18bb3fh,05fc3fa39h,06910b95bh,043e09aeeh,0fce2f510h,0a7675665h,0ced56c9fh,0d872db61h,010e265ach,0ae9fce69h,06982812eh - DD 0ce800998h,029be11c6h,0b90360d9h,072bb1752h,05a4ad590h,02c193197h,09fc1dbc0h,02ba2f548h,0e490ebe0h,07fe4eebbh,07fae11c0h,012a0a4cdh,0e903ba37h,07197cf81h,0de1c6dd8h,0cf7d4aa8h - DD 03fd5684ch,092af6bf4h,080360aa1h,02b26eecfh,000546a82h,0bd960f30h,0f59ad8feh,0407b3c43h,0249c82bah,086cae5feh,02463744ch,09e0faec7h,094916272h,087f551e8h,06ceb0615h,0033f9344h - DD 08be82e84h,01e5eb0d1h,07a582fefh,089967f0eh,0a6e921fah,0bcf687d5h,0d37a09bah,0dfee4cf3h,0b493c465h,094f06965h,07635c030h,0638b9a1ch,066f05e9fh,076667864h,0c04da725h,0ccaf6808h - DD 0768fccfch,0ca2eb690h,0b835b362h,0f402d37dh,0e2fdfcceh,00efac0d0h,0b638d990h,0efc9cdefh,0d1669a8bh,02af12b72h,05774ccbdh,033c536bch,0fb34870eh,030b21909h,07df25acah,0c38fa2f7h - DD 0bf81f3f5h,074c5f02bh,0af7e4581h,00525a5aeh,0433c54aeh,088d2aabah,0806a56c5h,0ed9775dbh,0c0edb37dh,0d320738ah,066cc1f51h,025fdb6eeh,010600d76h,0ac661d17h,0bdd1ed76h,0931ec1f3h - DD 019ee43f1h,065c11d62h,060829d97h,05cd57c3eh,0984be6e8h,0d26c91a3h,08b0c53bdh,0f08d9309h,0c016e4eah,094bc9e5bh,011d43d2bh,0d3916839h,073701155h,0886c5ad7h,020b00715h,0e0377626h - DD 0aa80ba59h,07f01c9ech,068538e51h,03083411ah,0e88128afh,0970370f1h,091dec14bh,0625cc3dbh,001ac3107h,0fef9666ch,0d5057ac3h,0b2a8d577h,092be5df7h,0b0f26299h,000353924h,0f579c8e5h - DD 01341ed7ah,0b8fa3d93h,0a7b59d49h,04223272ch,083b8c4a4h,03dcb1947h,0ed1302e4h,04e413c01h,0e17e44ceh,06d999127h,033b3adfbh,0ee86bf75h,025aa96cah,0f6902fe6h,0e5aae47dh,0b73540e4h - DD 01b4a158ch,032801d7bh,027e2a369h,0e571c99eh,010d9f197h,040cb76c0h,03167c0aeh,0c308c289h,0eb7958f2h,0a6ef9dd3h,0300879b1h,0a7226dfch,07edf0636h,06cd0b362h,07bc37eedh,04efbce6ch - DD 08d699021h,075f92a05h,0772566e3h,0586d4c79h,0761ad23ah,0378ca5f1h,01465a8ach,0650d86fch,0842ba251h,07a4ed457h,042234933h,06b65e3e6h,031aad657h,0af1543b7h,0cbfec369h,0a4cefe98h - DD 09f47befbh,0b587da90h,041312d13h,06562e9fbh,0eff1cefeh,0a691ea59h,005fc4cf6h,0cc30477ah,00b0ffd3dh,0a1632461h,05b355956h,0a1f16f3bh,04224ec24h,05b148d53h,0f977012ah,0dc834e7bh - DD 0b2c69dbch,07bfc5e75h,003c3da6ch,03aa77a29h,0ca910271h,0de0df03ch,07806dc55h,0cbd5ca4ah,06db476cbh,0e1ca5807h,05f37a31eh,0fde15d62h,0f41af416h,0f49af520h,07d342db5h,096c5c5b1h - DD 0eb4ceb9bh,0155c43b7h,04e77371ah,02e993010h,0675d43afh,01d2987dah,08599fd72h,0ef2bc1c0h,09342f6b2h,096894b7bh,07c8e71f0h,0201eadf2h,04a1f3efch,0f3479d9fh,0702a9704h,0e0f8a742h - DD 0b3eba40ch,0eafd44b6h,0c1c1e0d0h,0f9739f29h,0619d505eh,00091471ah,09d7c263eh,0c15f9c96h,083afbe33h,05be47285h,004f1e092h,0a3b6d6afh,0751a9d11h,0e76526b9h,09a4ae4d2h,02ec5b26dh - DD 002f6fb8dh,0eb66f4d9h,096912164h,04063c561h,080ef3000h,0eb7050c1h,0eaa5b3f0h,0288d1c33h,007806fd8h,0e87c68d6h,04bbbf50fh,0b2f7f9d5h,0ac8d6627h,025972f3ah,010e8c13bh,0f8547774h - DD 0872b4a60h,0cc50ef6ch,04613521bh,0ab2a34a4h,0983e15d1h,039c5c190h,059905512h,061dde5dfh,09f2275f3h,0e417f621h,0451d894bh,00750c8b6h,078b0bdaah,075b04ab9h,0458589bdh,03bfd9fd4h - DD 0ee9120b6h,0f1013e30h,023a4743eh,02b51af93h,048d14d9eh,0ea96ffaeh,0698a1d32h,071dc0dbeh,00180cca4h,0914962d2h,0c3568963h,01ae60677h,0437bc444h,08cf227b1h,0c9962c7ah,0c650c83bh - DD 0fe7ccfc4h,023c2c7ddh,01b929d48h,0f925c89dh,006783c33h,04460f74bh,0a590475ah,0ac2c8d49h,0b807bba0h,0fb40b407h,069ff8f3ah,09d1e362dh,0cbef64a4h,0a33e9681h,0332fb4b2h,067ece5fah - DD 0739f10e3h,06900a99bh,0ff525925h,0c3341ca9h,0a9e2d041h,0ee18a626h,029580dddh,0a5a83685h,09d7de3cdh,0f3470c81h,02062cf9ch,0edf02586h,0c010edb0h,0f43522fah,013a4b1aeh,030314135h - DD 0db22b94bh,0c792e02ah,0a1eaa45bh,0993d8ae9h,0cd1e1c63h,08aad6cd3h,0c5ce688ah,089529ca7h,0e572a253h,02ccee3aah,002a21efbh,0e02b6438h,0c9430358h,0a7091b6eh,09d7db504h,006d1b1fah - DD 0c4744733h,058846d32h,0379f9e34h,040517c71h,0130ef6cah,02f65655fh,0f1f3503fh,0526e4488h,07ee4a976h,08467bd17h,0921363d1h,01d9dc913h,0b069e041h,0d8d24c33h,02cdf7f51h,05eb5da0ah - DD 0197b994fh,01c0f3cb1h,02843eae9h,03c95a6c5h,0a6097ea5h,07766ffc9h,0d723b867h,07bea4093h,04db378f9h,0b48e1f73h,0e37b77ach,070025b00h,0af24ad46h,0943dc8e7h,016d00a85h,0b98a15ach - DD 02743b004h,03adc38bah,0334415eeh,0b1c7f4f7h,01e62d05ah,0ea43df8fh,09d76a3b6h,032618905h,0a23a0f46h,02fbd0bb5h,06a01918ch,05bc971dbh,0b4743f94h,07801d94ah,0676ae22bh,0b94df65eh - DD 0af95894ch,0aafcbfabh,0276b2241h,07b9bdc07h,05bdda48bh,0eaf98362h,0a3fcb4dfh,05977faf2h,0052c4b5bh,0bed042efh,0067591f0h,09fe87f71h,022f24ec7h,0c89c73cah,0e64a9f1bh,07d37fa9eh - DD 015562627h,02710841ah,0c243b034h,02c01a613h,02bc68609h,01d135c56h,08b03f1f6h,0c2ca1715h,03eb81d82h,0c9966c2dh,08f6df13eh,0c02abf4ah,08f72b43bh,077b34bd7h,0360c82b0h,0aff6218fh - DD 08d55b9d2h,00aa5726ch,099e9bffbh,0dc0adbe9h,0efb9e72ah,09097549ch,09dfb3111h,016755712h,0f26847f9h,0dd8bf984h,0dfb30cb7h,0bcb8e387h,05171ef9ch,0c1fd32a7h,0389b363fh,0977f3fc7h - DD 0f4babda0h,0116eaf2bh,0f7113c8eh,0feab68bdh,0b7def526h,0d1e3f064h,0e0b3fa02h,01ac30885h,040142d9dh,01c5a6e7bh,030921c0bh,0839b5603h,036a116a3h,048f301fah,0cfd9ee6dh,0380e1107h - DD 058854be1h,07945ead8h,0cbd4d49dh,04111c12eh,03a29c2efh,0ece3b1ech,08d3616f5h,06356d404h,0594d320eh,09f0d6a8fh,0f651ccd2h,00989316dh,00f8fdde4h,06c32117ah,0a26a9bbch,09abe5cc5h - DD 09723f671h,0cff560fbh,07f3d593ch,021b2a12dh,024ba0696h,0e4cb18dah,0c3543384h,0186e2220h,088312c29h,0722f64e0h,017dc7752h,094282a99h,05a85ee89h,062467bbfh,0f10076a0h,0f435c650h - DD 043b3a50bh,0c9ff1539h,01a53efbch,07132130ch,0f7b0c5b7h,031bfe063h,04ea994cch,0b0179a7dh,0c85f455bh,012d064b3h,08f6e0062h,047259328h,0b875d6d9h,0f64e590bh,0ad92bcc7h,022dd6225h - DD 0b9c3bd6dh,0b658038eh,0fbba27c8h,000cdb0d6h,01062c45dh,00c681337h,02d33407dh,0d8515b8ch,08cbb5ecfh,0cb8f699eh,0c608d7d8h,08c4347f8h,0bb3e00dbh,02c11850ah,0ecb49d19h,020a8dafdh - DD 045ee2f40h,0bd781480h,0416b60cfh,075e354afh,08d49a8c4h,0de0b58a1h,0fa359536h,0e40e94e2h,062accd76h,0bd4fa59fh,08c762837h,005cf466ah,0448c277bh,0b5abda99h,048b13740h,05a9e01bfh - DD 0326aad8dh,09d457798h,0c396f7e7h,0bdef4954h,0c253e292h,06fb274a2h,01cfe53e7h,02800bf0ah,044438fd4h,022426d31h,05e259f9ah,0ef233923h,003f66264h,04188503ch,07f9fdfabh,09e5e7f13h - DD 05fcc1abah,0565eb76ch,059b5bff8h,0ea632548h,0aab6d3fah,05587c087h,06ce39c1bh,092b639eah,0953b135ch,00706e782h,0425268efh,07308912eh,0090e7469h,0599e92c7h,09bc35e75h,083b90f52h - DD 0244975b3h,04750b3d0h,011965d72h,0f3a44358h,09c8dc751h,0179c6774h,0d23d9ff0h,0ff18cdfeh,02028e247h,0c4013833h,0f3bfbc79h,096e280e2h,0d0880a84h,0f60417bdh,02a568151h,0263c9f3dh - DD 02d2ce811h,036be15b3h,0f8291d21h,0846dc0c2h,0789fcfdbh,05cfa0ecbh,0d7535b9ah,045a0beedh,096d69af1h,0ec8e9f07h,0599ab6dch,031a7c5b8h,0f9e2e09fh,0d36d45efh,0dcee954bh,03cf49ef1h - DD 0086cff9bh,06be34cf3h,039a3360fh,088dbd491h,00dbfbd1dh,01e96b8cch,0cb7e2552h,0c1e5f7bfh,028819d98h,00547b214h,07aea9dcbh,0c770dd9ch,0041d68c8h,0aef0d4c7h,013cb9ba8h,0cc2b9818h - DD 0fe86c607h,07fc7bc76h,0502a9a95h,06b7b9337h,0d14dab63h,01948dc27h,0dae047beh,0249dd198h,0a981a202h,0e8356584h,03a893387h,03531dd18h,0c85c7209h,01be11f90h,0e2a52b5ah,093d2fe1eh - DD 0ec6d6b97h,08225bfe2h,0bd0aa5deh,09cf6d6f4h,054779f5fh,0911459cbh,086aeb1f3h,05649cddbh,03f26ce5ah,032133579h,0550f431eh,0c289a102h,073b84c6fh,0559dcfdah,0ee3ac4d7h,084973819h - DD 0f2606a82h,0b51e55e6h,090f2fb57h,0e25f7061h,0b1a4e37ch,0acef6c2ah,05dcf2706h,0864e359dh,07ce57316h,0479e6b18h,03a96b23dh,02cab2500h,08ef16df7h,0ed489862h,0ef3758b5h,02056538ch - DD 0f15d3101h,0a7df865eh,061b553d7h,080c5533ah,04ed14294h,0366e1997h,0b3c0bcd6h,06620741fh,0edc45418h,021d1d9c4h,0c1cc4a9dh,0005b859eh,0a1c462f0h,0df01f630h,0f26820c7h,015d06cf3h - DD 03484be47h,09f7f24eeh,04a0c902fh,02ff33e96h,05a0bc453h,000bdf457h,01aa238dbh,02378dfafh,0856720f2h,0272420ech,096797291h,02ad9d95bh,0768a1558h,0d1242cc6h,05cc86aa8h,02e287f8bh - DD 0990cecaah,0796873d0h,0675d4080h,0ade55f81h,021f0cd84h,02645eea3h,0b4e17d02h,07a1efa0fh,0037cc061h,0f6858420h,0d5d43e12h,0682e05f0h,027218710h,059c36994h,03f7cd2fch,085cbba4dh - DD 07a3cd22ah,0726f9729h,04a628397h,09f8cd5dch,0c23165edh,017b93ab9h,0122823d4h,0ff5f5dbfh,0654a446dh,0c1e4e4b5h,0677257bah,0d1a9496fh,0de766a56h,06387ba94h,0521ec74ah,023608bc8h - DD 06688c4d4h,016a522d7h,007373abdh,09d6b4282h,0b42efaa3h,0a62f07ach,0e3b90180h,0f73e00f7h,049421c3eh,036175fech,03dcf2678h,0c4e44f9bh,07220f09fh,076df436bh,03aa8b6cfh,0172755fbh - DD 0446139cch,0bab89d57h,05fe0208fh,00a0a6e02h,011e5d399h,0cdbb63e2h,0a8977f0bh,033ecaa12h,0f7c42664h,059598b21h,0ab65d08ah,0b3e91b32h,0f4502526h,0035822eeh,0720a82a9h,01dcf0176h - DD 03d589e02h,050f8598fh,0b1d63d2ch,0df0478ffh,01571cd07h,08b8068bdh,0d79670cdh,030c3aa4fh,0941ade7fh,025e8fd4bh,032790011h,03d1debdch,03a3f9ff0h,065b6dcbdh,0793de69ch,0282736a4h - DD 0d41d3bd3h,0ef69a0c3h,007a26bdeh,0b533b8c9h,0db2edf9fh,0e2801d97h,0e1877af0h,0dc4a8269h,03d590dbeh,06c1c5851h,0ee4e9357h,084632f6bh,079b33374h,0d36d36b7h,09bbca2e6h,0b46833e3h - DD 0f7fc0586h,037893913h,066bf4719h,0385315f7h,0b31855dch,072c56293h,0849061feh,0d1416d4eh,051047213h,0beb3ab78h,0f040c996h,0447f6e61h,0638b1d0ch,0d06d310dh,0bad1522eh,0e28a413fh - DD 082003f86h,0685a76cbh,00bcdbca3h,0610d07f7h,09ca4c455h,06ff66021h,0cea10eech,07df39b87h,0e22db218h,0b9255f96h,008a34c44h,08cc6d9ebh,0859f9276h,0cd4ffb86h,050d07335h,08fa15eb2h - DD 0cf2c24b5h,0df553845h,052f9c3bah,089f66a9fh,0e4a7ceb3h,08f22b5b9h,00e134686h,0affef809h,08eb8fac2h,03e53e1c6h,028aec98eh,093c1e4ebh,032a43bcbh,0b6b91ec5h,0b2d74a51h,02dbfa947h - DD 0ca84bad7h,0e065d190h,0ad58e65ch,0fb13919fh,0f1cb6e31h,03c41718bh,006d05c3fh,0688969f0h,021264d45h,0d4f94ce7h,07367532bh,0fdfb65e9h,00945a39dh,05b1be8b1h,02b8baf3bh,0229f789ch - DD 06f49f15dh,0d8f41f3eh,0907f0792h,0678ce828h,0fca6e867h,0c69ace82h,0d01dcc89h,0106451aeh,019fc32d2h,01bb4f7f0h,0b00c52d2h,064633dfch,0ad9ea445h,08f13549ah,0fb323705h,099a3bf50h - DD 0534d4dbch,00c9625a2h,0c2a2fea3h,045b8f1d1h,0a530fc1ah,076ec21a1h,09e5bd734h,04bac9c2ah,07b4e3587h,05996d76ah,01182d9e3h,00045cdeeh,01207f13dh,01aee24b9h,097345a41h,066452e97h - DD 09f950cd0h,016e5b054h,0d7fdd075h,09cc72fb1h,066249663h,06edd61e7h,0f043cccbh,0de4caa4dh,055c7ac17h,011b1f57ah,01a85e24dh,0779cbd44h,0e46081e7h,078030f86h,08e20f643h,0fd4a6032h - DD 00a750c0fh,0cc7a6488h,04e548e83h,039bacfe3h,00c110f05h,03d418c76h,0b1f11588h,03e4daa4ch,05ffc69ffh,02733e7b5h,092053127h,046f147bch,0d722df94h,0885b2434h,0e6fc6b7ch,06a444f65h - DD 0c3f16ea8h,07a1a465ah,0b2f1d11ch,0115a461dh,06c68a172h,04767dd95h,0d13a4698h,03392f2ebh,0e526cdc7h,0c7a99ccdh,022292b81h,08e537fdch,0a6d39198h,076d8cf69h,02446852dh,0ffc5ff43h - DD 0a90567e6h,097b14f7eh,0b6ae5cb7h,0513257b7h,09f10903dh,085454a3ch,069bc3724h,0d8d2c9adh,06b29cb44h,038da9324h,077c8cbach,0b540a21dh,001918e42h,09bbfe435h,056c3614eh,0fffa707ah - DD 0d4e353b7h,00ce4e3f1h,0ef46b0a0h,0062d8a14h,0574b73fdh,06408d5abh,0d3273ffdh,0bc41d1c9h,06be77800h,03538e1e7h,0c5655031h,071fe8b37h,06b9b331ah,01cd91621h,0bb388f73h,0ad825d0bh - DD 01cb76219h,056c2e05bh,071567e7eh,00ec0bf91h,061c4c910h,0e7076f86h,0babc04d9h,0d67b085bh,05e93a96ah,09fb90459h,0fbdc249ah,07526c1eah,0ecdd0bb7h,00d44d367h,09dc0d695h,095399917h - DD 09e240d18h,061360ee9h,0b4b94466h,0057cdcach,02fe5325ch,0e7667cd1h,021974e3bh,01fa297b5h,0db083d76h,0fa4081e7h,0f206bd15h,031993be6h,014c19f8ch,08949269bh,0a9d92357h,021468d72h - DD 0a4c506ech,02ccbc583h,0d1acfe97h,0957ed188h,012f1aea2h,08baed833h,08325362dh,0ef2a6cb4h,08e195c43h,0130dde42h,00e6050c6h,0c842025ah,008686a5dh,02da972a7h,0e508b4a8h,0b52999a1h - DD 010a5a8bdh,0d9f090b9h,0096864dah,0ca91d249h,03f67dbc1h,08e6a93beh,0f5f4764ch,0acae6fbah,0d21411a0h,01563c6e0h,0da0a4ad8h,028fa787fh,0908c8030h,0d524491ch,04c795f07h,01257ba0eh - DD 0ceca9754h,083f49167h,04b7939a0h,0426d2cf6h,0723fd0bfh,02555e355h,0c4f144e2h,0a96e6d06h,087880e61h,04768a8ddh,0e508e4d5h,015543815h,0b1b65e15h,009d7e772h,0ac302fa0h,063439dd6h - DD 0c14e35c2h,0b93f802fh,04341333ch,071735b7ch,016d4f362h,003a25104h,0bf433c8eh,03f4d069bh,0f78f5a7ch,00d83ae01h,07c4eed07h,050a8ffbeh,076e10f83h,0c74f8906h,09ddaf8e1h,07d080966h - DD 0698e04cch,0b11df8e1h,0169005c8h,0877be203h,04f3c6179h,032749e8ch,07853fc05h,02dbc9d0ah,09454d937h,0187d4f93h,0b4800e1bh,0e682ce9dh,0165e68e8h,0a9129ad8h,0be7f785bh,00fe29735h - DD 05b9e02b7h,05303f40ch,035ee04e8h,0a37c9692h,034d6632bh,05f46cc20h,096ac545bh,055ef72b2h,07b91b062h,0abec5c1fh,0bb33e821h,00a79e1c7h,03a9f4117h,0bb04b428h,0fd2a475ah,00de1f28fh - DD 03a4434b4h,031019ccfh,01a7954dch,0a3458111h,0e34972a7h,0a9dac80dh,074f6b8ddh,0b043d054h,011137b1ah,0021c319eh,0ed5cc03fh,000a754ceh,0cbea5ad4h,00aa2c794h,070c015b6h,0093e67f4h - DD 0c97e3f6bh,072cdfee9h,0b6da7461h,0c10bcab4h,0b59806b9h,03b02d2fch,0a1de6f47h,085185e89h,00eb6c4d4h,039e6931fh,0d4fa5b04h,04d4440bdh,034be7eb8h,05418786eh,09d7259bch,06380e521h - DD 0d598d710h,020ac0351h,0cb3a4da4h,0272c4166h,0ca71de1fh,0db82fe1ah,0d8f54b0fh,0746e79f2h,04b573e9bh,06e7fc736h,0fd4b5040h,075d03f46h,00b98d87bh,05c1cc36dh,01f472da1h,0513ba3f1h - DD 0abb177ddh,079d0af26h,07891d564h,0f82ab568h,072232173h,02b6768a9h,08c1f6619h,0efbb3bb0h,0a6d18358h,0b29c11dbh,0b0916d3ah,0519e2797h,09188e290h,0d4dc18f0h,098b0ca7fh,0648e86e3h - DD 0983c38b5h,0859d3145h,0637abc8bh,0b14f176ch,0caff7be6h,02793fb9dh,035a66a5ah,0ebe5a55fh,09f87dc59h,07cec1dcdh,0fbdbf560h,07c595cd3h,026eb3257h,05b543b22h,0c4c935fdh,069080646h - DD 081e9ede3h,07f2e4403h,0caf6df0ah,0243c3894h,01c073b11h,07c605bb1h,0ba6a4a62h,0cd06a541h,049d4e2e5h,029168949h,04af66880h,033649d07h,0e9a85035h,0bfc0c885h,0fc410f4bh,0b4e52113h - DD 078a6513bh,0dca3b706h,09edb1943h,092ea4a2ah,0db6e2dd8h,002642216h,09fd57894h,09b45d0b4h,0c69d11aeh,0114e70dbh,04c57595fh,01477dd19h,0ec77c272h,0bc2208b4h,0db68f59ch,095c5b4d7h - DD 042e532b7h,0b8c4fc63h,09ae35290h,0386ba422h,0d201ecbch,0fb5dda42h,0a0e38fd6h,02353dc8bh,068f7e978h,09a0b85eah,02ad6d11fh,096ec5682h,0e5f6886dh,05e279d6ch,03cb1914dh,0d3fe03cdh - DD 07ea67c77h,0fe541fa4h,0e3ea810ch,0952bd2afh,08d01d374h,0791fef56h,00f11336eh,0a3a1c621h,0c7ec6d79h,05ad0d5a9h,03225c342h,0ff7038afh,0bc69601bh,0003c6689h,045e8747dh,025059bc7h - DD 0f2086fbfh,0fa4965b2h,086916078h,0f6840ea6h,070081d6ch,0d7ac7620h,0b5328645h,0e600da31h,0529b8a80h,001916f63h,02d7d6f3eh,0e80e4858h,0d664ca7ch,029eb0fe8h,0e7b43b0ch,0f017637bh - DD 076cb2566h,09a75c806h,0b24892d9h,08f76acb1h,01f08fe45h,07ae7b9cch,06a4907d8h,019ef7329h,05f228bf0h,02db4ab71h,0817032d7h,0f3cdea39h,0dcabe3c0h,00b1f482eh,0bb86325ch,03baf76b4h - DD 010089465h,0d49065e0h,08e77c596h,03bab5d29h,0193dbd95h,07636c3a6h,0b246e499h,0def5d294h,0286b2475h,0b22c58b9h,0cd80862bh,0a0b93939h,0f0992388h,03002c83ah,0eacbe14ch,06de01f9bh - DD 0add70482h,06aac688eh,07b4a4e8ah,0708de92ah,0758a6eefh,075b6dd73h,0725b3c43h,0ea4bf352h,087912868h,010041f2ch,0ef09297ah,0b1b1be95h,0a9f3860ah,019ae23c5h,0515dcf4bh,0c4f0f839h - DD 097f6306ah,03c7ecca3h,068a3a4b0h,0744c44aeh,0b3a1d8a2h,069cd13a0h,05256b578h,07cad0a1eh,033791d9eh,0ea653fcdh,074b2e05fh,09cc2a05dh,0fd7affa2h,073b391dch,0b6b05442h,0ddb7091eh - DD 08538a5c6h,0c71e27bfh,089abff17h,0195c63ddh,01b71e3dah,0fd315285h,0fa680fa0h,09cbdfda7h,0849d7eabh,09db876cah,03c273271h,0ebe2764bh,0f208dceah,0663357e3h,0565b1b70h,08c5bd833h - DD 09837fc0dh,0ccc3b4f5h,0a79cf00fh,09b641ba8h,0dfdf3990h,07428243dh,0020786b1h,083a594c4h,0526c4502h,0b712451ah,06adb3f93h,09d39438eh,0e9ff0ccdh,0fdb261e3h,0e07af4c3h,080344e3ch - DD 02fa4f126h,075900d7ch,05c99a232h,008a3b865h,0db25e0c3h,02478b6bfh,071db2edfh,0482cc2c2h,05f321bb8h,037df7e64h,09a8005b4h,08a93821bh,0cc8c1958h,03fa2f10ch,02c269d0ah,00d332218h - DD 0e246b0e6h,020ab8119h,0d349fd17h,0b39781e4h,0b31aa100h,0d293231eh,0bb032168h,04b779c97h,0c8470500h,04b3f19e1h,00c4c869dh,045b7efe9h,0a1a6bbcch,0db84f38ah,0b2fddbc1h,03b59cb15h - DD 03fd165e8h,0ba5514dfh,0061f8811h,0499fd6a9h,0bfef9f00h,072cd1fe0h,079ad7e8ah,0120a4bb9h,05f4a5ac5h,0f2ffd095h,095a7a2f0h,0cfd174f1h,09d17baf1h,0d42301bah,077f22089h,0d2fa487ah - DD 0b1dc77e1h,09cb09efeh,021c99682h,0e9566939h,06c6067bbh,08c546901h,061c24456h,0fd378574h,081796b33h,02b6a6cbeh,058e87f8bh,062d550f6h,07f1b01b4h,01b763e1ch,01b1b5e12h,04b93cfeah - DD 01d531696h,0b9345238h,088cdde69h,057201c00h,09a86afc7h,0dde92251h,0bd35cea8h,0e3043895h,08555970dh,07608c1e1h,02535935eh,08267dfa9h,0322ea38bh,0d4c60a57h,0804ef8b5h,0e0bf7977h - DD 0c06fece4h,01a0dab28h,094e7b49dh,0d405991eh,0706dab28h,0c542b6d2h,0a91618fbh,0cb228da3h,0107d1ceah,0224e4164h,0d0f5d8f1h,0eb9fdab3h,00d6e41cdh,0c02ba386h,09b1f7146h,0676a72c5h - DD 04d6cb00bh,0ffd6dd98h,0de2e8d7ch,0cef9c5cah,0641c7936h,0a1bbf5d7h,0ee8f772eh,01b95b230h,0e8ac25b1h,0f765a92eh,03a18b7c6h,0ceb04cfch,00acc8966h,027944cefh,0434c1004h,0cbb3c957h - DD 0a43ff93ch,09c9971a1h,0a1e358a9h,05bc2db17h,0a8d9bc82h,045b4862eh,02201e052h,070ebfbfbh,092871591h,0afdf64c7h,0b42d0219h,0ea5bcae6h,02ad8f03ch,0de536c55h,0a76aa33ch,0cd6c3f4dh - DD 00bca6de3h,0beb5f623h,0b1e706fdh,0dd20dd99h,0ac9059d4h,090b3ff9dh,07ccccc4eh,02d7b2902h,0ce98840fh,08a090a59h,08410680ah,0a5d947e0h,0923379a5h,049ae346ah,0b28a3156h,07dbc84f9h - DD 054a1aff2h,0fd40d916h,03a78fb9bh,0abf318bah,03029f95eh,050152ed8h,0c58ad7fah,09fc1dd77h,013595c17h,05fa57915h,08f62b3a9h,0b9504668h,0ff3055b0h,0907b5b24h,09a84f125h,02e995e35h - DD 07e9bbcfbh,087dacf69h,0e86d96e3h,095d0c1d6h,02d95a75ch,065726e3ch,0acd27f21h,02c3c9001h,06c973f57h,01deab561h,0a5221643h,0108b7e2ch,0c4ef79d4h,05fee9859h,040d4b8c6h,0bd62b88ah - DD 0197c75d6h,0b4dd29c4h,0b7076febh,0266a6df2h,04bf2df11h,09512d0eah,06b0cc9ech,01320c24fh,001a59596h,06bb1e0e1h,0eff9aaach,08317c5bbh,0385aa6c9h,065bb405eh,08f07988fh,0613439c1h - DD 016a66e91h,0d730049fh,0fa1b0e0dh,0e97f2820h,0304c28eah,04131e003h,0526bac62h,0820ab732h,028714423h,0b2ac9ef9h,0adb10cb2h,054ecfffah,0f886a4cch,08781476eh,0db2f8d49h,04b2c87b5h - DD 00a44295dh,0e857cd20h,058c6b044h,0707d7d21h,0f596757ch,0ae8521f9h,067b2b714h,087448f03h,05ebcd58dh,013a9bc45h,09122d3c1h,079bcced9h,09e076642h,03c644247h,02df4767dh,00cf22778h - DD 071d444b6h,05e61aee4h,0c5084a1dh,0211236bfh,04fd3eaf6h,07e15bc9ah,0ab622bf5h,068df2c34h,059bf4f36h,09e674f0fh,0d7f34d73h,0f883669bh,031497b1dh,0c48ac1b8h,05106703bh,0323b925dh - DD 074082008h,022156f42h,0c8482bcbh,0effc521ah,012173479h,05c6831bfh,0c4739490h,0caa2528fh,08f1b3c4dh,084d2102ah,02d9bec0dh,0cf64dfc1h,078a546efh,0433febadh,07b73cef1h,01f621ec3h - DD 037338615h,06aecd627h,001d8edf6h,0162082abh,019e86b66h,0833a8119h,0d299b5dbh,06023a251h,0bbf04b89h,0f5bb0c3ah,0ae749a44h,06735eb69h,04713de3bh,0d0e058c5h,02c3d4ccdh,0fdf2593eh - DD 0fdd23667h,01b8f414eh,0fa2015eeh,0dd52aacah,0bd9625ffh,03e31b517h,08db5918ch,05ec9322dh,0a96f5294h,0bc73ac85h,061a0666ah,082aa5bf3h,0bf08ac42h,049755810h,0891cedfch,0d21cdfd5h - DD 067f8be10h,0918cb57bh,056ffa726h,0365d1a7ch,06532de93h,02435c504h,02674cd02h,0c0fc5e10h,09cbbb142h,06e51fcf8h,0afc50692h,01d436e5ah,03fbcae22h,0766bffffh,0fd55d3b8h,03148c2fdh - DD 0233222fah,052c7fdc9h,0e419fb6bh,089ff1092h,025254977h,03cd6db99h,01cf12ca7h,02e85a161h,0dc810bc9h,0add2547ch,09d257c22h,0ea3f458fh,027d6b19bh,0642c1fbeh,0140481a6h,0ed07e6b5h - DD 086d2e0f8h,06ada1d42h,00e8a9fd5h,0e5920122h,0708c1b49h,002c936afh,02b4bfaffh,060f30feeh,0858e6a61h,06637ad06h,03fd374d0h,0ce4c7767h,07188defbh,039d54b2dh,0f56a6b66h,0a8c9d250h - DD 0b24fe1dch,058fc0f5eh,06b73f24ch,09eaf9deeh,033650705h,0a90d588bh,0af2ec729h,0de5b62c5h,0d3c2b36eh,05c72cfaeh,0034435dah,0868c19d5h,0e17ee145h,088605f93h,077a5d5b1h,0aa60c4eeh - DD 03b60c472h,0bcf5bfd2h,0eb1d3049h,0af4ef13ch,0e13895c9h,0373f44fch,00cbc9822h,0f29b382fh,073efaef6h,01bfcb853h,0a8c96f40h,0cf56ac9ch,07a191e24h,0d7adf109h,0bf8a8dc2h,098035f44h - DD 01e750c84h,0f40a71b9h,05dc6c469h,0c57f7b0ch,06fbc19c1h,049a0e79ch,0a48ebdb8h,06b0f5889h,0a07c4e9fh,05d3fd084h,0ab27de14h,0c3830111h,033e08dcch,00e4929feh,040bb73a3h,0f4a5ad24h - DD 0490f97cah,0de86c2bfh,067a1ce18h,0288f09c6h,01844478dh,0364bb886h,0ceedb040h,07840fa42h,05a631b37h,01269fdd2h,0a47c8b7dh,094761f1eh,0481c6266h,0fc0c2e17h,03daa5fa7h,085e16ea2h - DD 092491048h,0ccd86033h,0f4d402d7h,00c2f6963h,0df6a865ch,06336f7dfh,0b5c02a87h,00a2a463ch,0bf2f12eeh,0b0e29be7h,066bad988h,0f0a22002h,09123c1d7h,027f87e03h,0328a8c98h,021669c55h - DD 092f14529h,0186b9803h,063954df3h,0d3d056cch,0175a46f6h,02f03fd58h,011558558h,063e34ebeh,05b80cfa5h,0e13fedeeh,0d401dbd1h,0e872a120h,0e8a9d667h,052657616h,0e08d6693h,0bc8da4b6h - DD 01b703e75h,0370fb9bbh,0d4338363h,06773b186h,0ecef7bffh,018dad378h,0995677dah,0aac787edh,00437164bh,04801ea8bh,073fe795eh,0f430ad20h,08ee5eb73h,0b164154dh,0108f7c0eh,00884ecd8h - DD 05f520698h,00e6ec096h,044f7b8d9h,0640631feh,0a35a68b9h,092fd34fch,04d40cf4eh,09c5a4b66h,080b6783dh,0949454bfh,03a320a10h,080e701feh,01a0a39b2h,08d1a564ah,0320587dbh,01436d53dh - DD 06556c362h,0f5096e6dh,0e2455d7eh,0bc23a3c0h,0807230f9h,03a7aee54h,022ae82fdh,09ba1cfa6h,099c5d706h,0833a057ah,0842315c9h,08be85f4bh,066a72f12h,0d083179ah,0cdcc73cdh,02fc77d5dh - DD 05616ee30h,022b88a80h,0e7ab1083h,0fb09548fh,0511270cdh,08ad6ab0dh,06924d9abh,061f6c57ah,090aecb08h,0a0f7bf72h,00df784a4h,0849f87c9h,0cfaf1d03h,027c79c15h,0c463faceh,0bbf9f675h - DD 0765ba543h,091502c65h,042ea60ddh,018ce3cach,06e43ecb3h,0e5cee6ach,068f2aeebh,063e4e910h,0c85932eeh,026234fa3h,04c90c44dh,096883e8bh,0a18a50f6h,029b9e738h,03f0420dfh,0bfc62b2ah - DD 06d3e1fa9h,0d22a7d90h,0fe05b8a3h,017115618h,0bb2b9c01h,02a0c9926h,0e07e76a2h,0c739fcc6h,0165e439ah,0540e9157h,06a9063d8h,006353a62h,061e927a3h,084d95594h,0e2e0be7fh,0013b9b26h - DD 0973497f1h,04feaec3bh,0093ebc2dh,015c0f94eh,033af0583h,06af5f227h,0c61f3340h,00c2af206h,04457397ch,0d25dbdf1h,0cabcbae0h,02e8ed017h,0c2815306h,0e3010938h,0e8c6cd68h,0baa99337h - DD 03b0ec7deh,008513182h,058df05dfh,01e1b822bh,0a5c3b683h,05c14842fh,03eba34ceh,098fe977eh,00d5e8873h,0fd2316c2h,0bd0d427dh,0e48d839ah,0623fc961h,0495b2218h,0b46fba5eh,024ee56e7h - DD 091e4de58h,09184a55bh,0dfdea288h,0a7488ca5h,0a8dcc943h,0a723862eh,0849dc0fch,092d762b2h,0091ff4a9h,03c444a12h,00cada274h,0581113fah,030d8eae2h,0b9de0a45h,0df6b41eah,05e0fcd85h - DD 0c094dbb5h,06233ea68h,0d968d410h,0b77d062eh,058b3002dh,03e719bbch,03dc49d58h,068e7dd3dh,0013a5e58h,08d825740h,03c9e3c1bh,021311747h,07c99b6abh,00cb0a2a7h,0c2f888f2h,05c48a3b3h - DD 0991724f3h,0c7913e91h,039cbd686h,05eda799ch,063d4fc1eh,0ddb595c7h,0ac4fed54h,06b63b80bh,07e5fb516h,06ea0fc69h,0d0f1c964h,0737708bah,011a92ca5h,09628745fh,09a86967ah,061f37958h - DD 0aa665072h,09af39b2ch,0efd324efh,078322fa4h,0c327bd31h,03d153394h,03129dab0h,081d5f271h,0f48027f5h,0c72e0c42h,08536e717h,0aa40cdbch,02d369d0fh,0f45a657ah,0ea7f74e6h,0b03bbfc4h - DD 00d738dedh,046a8c418h,0e0de5729h,06f1a5bb0h,08ba81675h,0f10230b9h,0112b33d4h,032c6f30ch,0d8fffb62h,07559129dh,0b459bf05h,06a281b47h,0fa3b6776h,077c1bd3ah,07829973ah,00709b380h - DD 0a3326505h,08c26b232h,0ee1d41bfh,038d69272h,0ffe32afah,00459453eh,07cb3ea87h,0ce8143adh,07e6ab666h,0932ec1fah,022286264h,06cd2d230h,06736f8edh,0459a46feh,09eca85bbh,050bf0d00h - DD 0877a21ech,00b825852h,00f537a94h,0300414a7h,021a9a6a2h,03f1cba40h,076943c00h,050824eeeh,0f83cba5dh,0a0dbfcech,093b4f3c0h,0f9538148h,048f24dd7h,061744162h,0e4fb09ddh,05322d64dh - DD 03d9325f3h,057447384h,0f371cb84h,0a9bef2d0h,0a61e36c5h,077d2188bh,0c602df72h,0bbd6a7d7h,08f61bc0bh,0ba3aa902h,06ed0b6a1h,0f49085edh,0ae6e8298h,08bc625d6h,0a2e9c01dh,0832b0b1dh - DD 0f1f0ced1h,0a337c447h,09492dd2bh,0800cc793h,0bea08efah,04b93151dh,0de0a741eh,0820cf3f8h,01c0f7d13h,0ff1982dch,084dde6cah,0ef921960h,045f96ee3h,01ad7d972h,029dea0c7h,0319c8dbeh - DD 07b82b99bh,0d3ea3871h,0470eb624h,075922d4dh,03b95d466h,08f66ec54h,0bee1e346h,066e673cch,0b5f2b89ah,06afe67c4h,0290e5cd3h,03de9c1e6h,0310a2adah,08c278bb6h,00bdb323bh,0420fa384h - DD 00eb919b0h,00ae1d63bh,0a74b9620h,0d74ee51dh,0a674290ch,0395458d0h,04620a510h,0324c930fh,0fbac27d4h,02d1f4d19h,09bedeeach,04086e8cah,09b679ab8h,00cdd211bh,07090fec4h,05970167dh - DD 0faf1fc63h,03420f2c9h,0328c8bb4h,0616d333ah,057f1fe4ah,07d65364ch,055e5c73ah,09343e877h,0e970e78ch,05795176bh,060533627h,0a36ccebfh,009cdfc1bh,0fc7c7380h,0b3fec326h,0b39a2afeh - DD 06224408ah,0b7ff1ba1h,0247cfc5eh,0cc856e92h,0c18bc493h,001f102e7h,02091c727h,04613ab74h,0c420bf2bh,0aa25e89ch,090337ec2h,000a53176h,07d025fc7h,0d2be9f43h,06e6fe3dch,03316fb85h - DD 09ac50814h,027520af5h,09a8e4223h,0fdf95e78h,056bec5a0h,0b7e7df2ah,0df159e5dh,0f7022f7dh,0cac1fe8fh,093eeeab1h,037451168h,08040188ch,0d967dce6h,07ee8aa8ah,03abc9299h,0fa0e79e7h - DD 02064cfd1h,067332cfch,0b0651934h,0339c31deh,02a3bcbeah,0719b28d5h,09d6ae5c6h,0ee74c82bh,0baf28ee6h,00927d05eh,09d719028h,082cecf2ch,0ddb30289h,00b0d353eh,0fddb2e29h,0fe4bb977h - DD 0640bfd9eh,0bb5bb990h,082f62108h,0d226e277h,002ffdd56h,04bf00985h,02ca1b1b5h,07756758ah,05285fe91h,0c32b62a3h,08c9cd140h,0edbc546ah,0af5cb008h,01e47a013h,0073ce8f2h,0bca7e720h - DD 017a91caeh,0e10b2ab8h,008e27f63h,0b89aab65h,0dba3ddf9h,07b3074a7h,0330c2972h,01c20ce09h,05fcf7e33h,06b9917b4h,0945ceb42h,0e6793743h,05c633d19h,018fc2215h,0c7485474h,0ad1adb3ch - DD 06424c49bh,0646f9679h,067c241c9h,0f888dfe8h,024f68b49h,0e12d4b93h,0a571df20h,09a6b62d8h,0179483cbh,081b4b26dh,09511fae2h,0666f9632h,0d53aa51fh,0d281b3e4h,07f3dbd16h,07f96a765h - DD 0074a30ceh,0a7f8b5bfh,0005a32e6h,0d7f52107h,050237ed4h,06f9e0907h,08096fa2bh,02f21da47h,0eec863a0h,0f3e19cb4h,09527620ah,0d18f77fdh,0407c1cf8h,09505c81ch,01b6ec284h,09998db4eh - DD 0c247d44dh,07e3389e5h,03f4f3d80h,012507141h,04a78a6c7h,0d4ba0110h,0767720beh,0312874a0h,075944370h,0ded059a6h,03b2c0bddh,0d6123d90h,051c108e3h,0a56b717bh,0070623e9h,09bb7940eh - DD 084ac066ch,0794e2d59h,0e68c69a0h,0f5954a92h,04fd99dcch,028c52458h,0b1012517h,060e639fch,07de79248h,0c2e60125h,0f12fc6d7h,0e9ef6404h,02a3b5d32h,04c4f2808h,0c768eb8ah,0865ad32eh - DD 013fb70b6h,0ac02331bh,095599b27h,0037b44c1h,060bd082ch,01a860fc4h,0c980cd01h,0a2e25745h,01da0263eh,0ee3387a8h,02d10f3d6h,0931bfb95h,0a1f24a32h,05b687270h,0ca494b86h,0f140e65dh - DD 0b2f1ac7ah,04f4ddf91h,0760fee27h,0f99eaabbh,049c228e5h,057f4008ah,01cf713bbh,0090be440h,05004f022h,0ac91fbe4h,0569e1af6h,0d838c2c2h,00f1daaa5h,0d6c7d20bh,01bbb02c0h,0aa063ac1h - DD 059558a78h,00938a422h,08435da2fh,05343c669h,0034410dch,096f67b18h,084510804h,07cc1e424h,016dfbb7dh,086a1543fh,05b5bd592h,0921fa942h,0b33dd03ch,09dcccb6eh,0b843f51eh,08581ddd9h - DD 081d73c9eh,054935fcbh,00a5e97abh,06d07e979h,0cf3a6babh,04dc7b30ah,0170bee11h,0147ab1f3h,09fafdee4h,00aaf8e3dh,0538a8b95h,0fab3dbcbh,06ef13871h,0405df4b3h,0088d5a49h,0f1f4e9cbh - DD 066b33f1dh,09bcd24d3h,05ce445c0h,03b97b820h,0ba93ff61h,0e2926549h,04dafe616h,0d9c341ceh,016efb6f3h,0fb30a76eh,0605b953ch,0df24b8cah,0c2fffb9fh,08bd52afeh,0e19d0b96h,0bbac5ff7h - DD 0459afccdh,043c01b87h,0b7432652h,06bd45143h,055b5d78eh,084734530h,01554ba7dh,081088fdbh,01e269375h,0ada0a52ch,02dc5ec10h,0f9f037c4h,094bfbc11h,0c0660607h,0c9c40d2fh,0c0a630bbh - DD 0ab64c31eh,05efc797eh,074507144h,0ffdb1dabh,01ca6790ch,0f6124287h,0e69bf1bfh,0e9609d81h,000d24fc9h,0db898595h,0e51fb417h,09c750333h,0fef7bbdeh,051830a91h,0945f585ch,00ce67dc8h - DD 04763eb50h,09a730ed4h,0c1ab0d66h,024a0e221h,0648748f3h,0643b6393h,06d3c6291h,01982daa1h,08bbc5549h,06f00a9f7h,07f36384eh,07a1783e1h,0de977f50h,0e8346323h,0b245502ah,091ab688dh - DD 06d0bdd66h,0331ab6b5h,064b71229h,00a6ef32eh,0fe7c352fh,01028150eh,0ce7b39d3h,027e04350h,0c1070c82h,02a3c8acdh,080c9feefh,0fb2034d3h,0709f3729h,02d729621h,062cb4549h,08df290bfh - DD 0fc2e4326h,002f99f33h,05eddf032h,03b30076dh,00c652fb5h,0bb21f8cfh,0ed91cf7bh,0314fb49eh,02f700750h,0a013eca5h,0712a4575h,02b9e3c23h,0af30fbb0h,0e5355557h,07c77e771h,01ada3516h - DD 07b135670h,045f6ecb2h,07cfc202eh,0e85d19dfh,058d1be9fh,00f1b50c7h,0ead2e344h,05ebf2c0ah,0abc199c9h,01531fe4eh,056bab0aeh,0c7032592h,06c1fec54h,016ab2e48h,004280188h,00f87fda8h - DD 0609e4a74h,0dc9f46fch,0ba667f91h,02a44a143h,0b4d83436h,0bc3d8b95h,0c7bd2958h,0a01e4bd0h,073483c90h,07b182932h,0a7c7b598h,0a79c6aa1h,0eaaac07eh,0bf3983c6h,096e0d4e6h,08f18181eh - DD 0051af62bh,08553d37ch,00bf94496h,0e9a998ebh,0b0d59aa1h,0e0844f9fh,0e6afb813h,0983fd558h,065d69804h,09670c0cah,06ea5ff2dh,0732b22deh,05fd8623bh,0d7640ba9h,0a6351782h,09f619163h - DD 0acee5043h,00bfc27eeh,02eb10f02h,0ae419e73h,08943fb05h,019c028d1h,0ff13aa2ah,071f01cf7h,08887a132h,07790737eh,066318410h,067513309h,07ddb795eh,09819e8a3h,0dad100b2h,0fecb8ef5h - DD 03021926ah,059f74a22h,06f9b4c1ch,0b7c28a49h,0912ad0abh,0ed1a733fh,001a5659ch,042a910afh,07bd68cabh,03842c6e0h,076d70ac8h,02b57fa38h,03c53aaebh,08a6707a8h,065b4db18h,062c1c510h - DD 0b2d09dc7h,08de2c1fbh,0266bd23bh,0c3dfed12h,0d5b27db6h,0927d039bh,0103243dah,02fb2f0f1h,080be7399h,0f855a07bh,01f9f27a8h,0ed9327ceh,0729bdef7h,0a0bd99c7h,028250d88h,02b67125eh - DD 08670ced7h,0784b26e8h,0c31bd3b4h,0e3dfe41fh,0bcc85cbch,09e353a06h,060178a9dh,0302e2909h,0a6eac16eh,0860abf11h,0aa2b3aach,076447000h,0850afdabh,046ff9d19h,0fdb2d4c1h,035bdd6a5h - DD 07e5c9ce9h,0e82594b0h,020af346eh,00f379e53h,0bc65ad4ah,0608b31e3h,0267c4826h,0710c6b12h,071954cf1h,051c966f9h,00d0aa215h,0b1cec793h,086bd23a8h,01f155989h,0f9452e86h,0ae2ff99ch - DD 0340ceaa2h,0d8dd953ch,02e2e9333h,026355275h,08586f06dh,015d4e5f9h,0f7cab546h,0d6bf94a8h,0b76a9af0h,033c59a0ah,0ba095af7h,052740ab3h,024389ca0h,0c444de8ah,0706da0cbh,0cc6f9863h - DD 06b2515cfh,0b5a741a7h,09585c749h,071c41601h,0e683de97h,078350d4fh,063d0b5f5h,031d61524h,0fbce090bh,07a0cc5e1h,0fbcb2a5bh,0aac927edh,020d84c35h,0e920de49h,022b4de26h,08c06a0b6h - DD 0afe7ddf3h,0d34dd58bh,0c1e6e55bh,055851fedh,0960696e7h,0d1395616h,05f22705fh,0940304b2h,0b0a2a860h,06f43f861h,00e7cc981h,0cf121282h,00ab64a96h,012186212h,0b789383ch,009215b9ah - DD 037387c09h,0311eb305h,0f03ee760h,0c5832fceh,032f7ea19h,030358f58h,091d53551h,0e01d3c34h,0da48ea80h,01ca5ee41h,0cf4fa4c1h,034e71e8eh,07af1e1c7h,0312abd25h,02153f4a5h,0e3afcdebh - DD 000235e9ah,09d5c84d7h,08c4c836fh,00308d3f4h,089332de5h,0c0a66b04h,089e566efh,0610dd399h,0d1ac1635h,0f8eea460h,020a2c0dfh,084cbb3fbh,0e74a48c5h,040afb488h,0d326b150h,029738198h - DD 0a6d74081h,02a17747fh,055a26214h,060ea4c05h,01f88c5feh,053514bb4h,07e83426ch,0edd64567h,096460b25h,0d5d6cbech,068dc115eh,0a12fd0ceh,0697840eah,0c5bc3ed2h,0a6331e31h,0969876a8h - DD 0472ff580h,060c36217h,04ad41393h,0f4229705h,0a03b8b92h,04bd99ef0h,0c144f4f6h,0501c7317h,018464945h,0159009b3h,074c5c6beh,06d5e594ch,0321a3660h,02d587011h,03898d022h,0d1e184b1h - DD 04c6a7e04h,05ba04752h,045550b65h,047fa1e2bh,048c0a9a5h,09419daf0h,07c243236h,066362953h,05cb12a88h,0cd0744b1h,02b646188h,0561b6f9ah,066c2c0c0h,0599415a5h,00f83f09ah,0be3f0859h - DD 0b92041b8h,09141c5beh,026477d0dh,001ae38c7h,0d12c7a94h,0ca8b71f3h,0765c70dbh,0fab5b31fh,0487443e9h,076ae7492h,0990d1349h,08595a310h,07d460a37h,0f8dbeda8h,01e45a38fh,07f7ad082h - DD 01059705ah,0ed1d4db6h,0e6b9c697h,0a3dd492ah,06eb38bd5h,04b92ee3ah,067cc0bb7h,0bab2609dh,06e70ee82h,07fc4fe89h,013e6b7e3h,0eff2c56eh,034d26fcah,09b18959eh,0889d6b45h,02517ab66h - DD 0bdefdd4fh,0f167b4e0h,0f366e401h,069958465h,0a73bbec0h,05aa368abh,07b240c21h,012148709h,018969006h,0378c3233h,0e1fe53d1h,0cb4d73ceh,0130c4361h,05f50a80eh,07ef5212bh,0d67f5951h - DD 09e70c72eh,0f145e21eh,05566d2fbh,0b2e52e29h,0032397f5h,044eaba4ah,07e31a7deh,05e56937bh,0456c61e1h,068dcf517h,0a8b0a388h,0bc2e954ah,060a8b755h,0e3552fa7h,073ad0cdeh,003442daeh - DD 0ceb26210h,037ffe747h,0787baef9h,0983545e8h,086a3de31h,08b8c8535h,0facd46dbh,0c621dbcbh,059266fbbh,082e442e9h,0339d471ch,0a3514c37h,062cdad96h,03a11b771h,0ecf9bdf0h,0f0cb3b3ch - DD 0478e2135h,03fcbdbceh,0bda35342h,07547b5cfh,08a677af6h,0a97e81f1h,028817987h,0c8c2bf83h,045580985h,0df07eaafh,0c93b45cbh,0c68d1f05h,0c77b4cach,0106aa2feh,004a7ae86h,04c1d8afch - DD 09eb45ab2h,0db41c3fdh,0d4b22e74h,05b234b5bh,0f215958ah,0da253dech,0a04edfa0h,067e0606eh,0ef751b11h,0abbbf070h,0f6f06dceh,0f352f175h,06839f6b4h,0dfc4b6afh,09959848eh,053ddf9a8h - DD 0c21520b0h,0da49c379h,0dbd5d1b6h,090864ff0h,05f49c7f7h,02f055d23h,0a796b2d8h,0e51e4e6ah,05c9dc340h,0c361a67fh,0bca7c620h,05ad53c37h,032c756d0h,0da1d6588h,08bb67e13h,0ad60d911h - DD 00eeec8c6h,0d6c47bdfh,0078a1821h,04a27fec1h,0c3099524h,0081f7415h,082cd8060h,08effdf0bh,065842df8h,0db70ec1ch,0d319a901h,08821b358h,0de42b529h,072ee56eeh,0236e4286h,05bb39592h - DD 0fd6f7140h,0d1183316h,0bd8e81f7h,0f9fadb5bh,05a02d962h,0701d5e0ch,01b601324h,0fdee4dbfh,035d7620eh,0bed17407h,0f48c0012h,004e3c2c3h,03455449ah,09ee29da7h,091a836c4h,0562cdef4h - DD 047701097h,08f682a5fh,0ff88d0c2h,0617125d8h,057bb86ddh,0948fda24h,0289f7286h,0348abb8fh,099d94bbdh,0eb10eab5h,04684d160h,0d51ba28eh,030c8f41ah,0abe0e51ch,013254f4ah,066588b45h - DD 0fad097a5h,0147ebf01h,0610e815dh,049883ea8h,08a11de56h,0e44d60bah,0827a7a6dh,0a970de6eh,05e17fc19h,02be41424h,001214057h,0d833c657h,0363e723fh,01375813bh,0e6a52e9bh,06820bb88h - DD 0d875d56ah,07e7f6970h,051fbf6bfh,0d6a0a9ach,0a3083c12h,054ba8790h,06ae7eb64h,0ebaeb23dh,0b99a907ah,0a8685c3ah,0026bf40bh,0f1e74550h,0c802cd9eh,07b73a027h,04fef4635h,09a8a927ch - DD 008191224h,0e1b6f60ch,0de4ec091h,0c4126ebbh,04ae38d84h,0e1dff4dch,04f2ef985h,0de3f57dbh,0d446a1ddh,034964337h,0859e77f6h,07bf217a0h,08e1d13f5h,08ff10527h,074eeae27h,0a304ef03h - DD 0d19dfa5ah,0fc6f5e47h,07fad982bh,0db007de3h,0613715f5h,028205ad1h,07889529eh,0251e6729h,01ae98e78h,072705184h,0271cac32h,0f818537dh,0b7f410f5h,0c8a15b7eh,081f62393h,0c474356fh - DD 0c242316bh,092dbdc5ah,0dbf4aff5h,0abe060ach,0909a8ec6h,06e8c38feh,06116cb94h,043e514e5h,007d784f9h,02078fa38h,0f4b5b357h,01161a880h,013adea3dh,05283ce79h,0cc6a910bh,00756c3e6h - DD 0aaa79697h,060bcfe01h,056391db1h,004a73b29h,0189b45a0h,0dd8dad47h,048d5b8d9h,0bfac0dd0h,07d3d2ec2h,034ab3af5h,0207bd3afh,06fa2fc2dh,066550dedh,09ff40092h,01fd5b913h,0719b3e87h - DD 06d17fbc7h,0a573a496h,073d2b24eh,00cd1a70ah,0b2676937h,034e2c5cah,0bf669f21h,0e7050b06h,01ede9046h,0fbe948b6h,097662659h,0a0530051h,0f10124c5h,058cbd4edh,0dd6c06c8h,0de2646e4h - DD 08cad38c0h,0332f8108h,06bd68ae2h,0471b7e90h,00d8e27a3h,056ac3fb2h,0136b4b0dh,0b54660dbh,0a6fd8de4h,0123a1e11h,0a37799efh,044dbffeah,0ce6ac17ch,04540b977h,0af60acefh,0495173a8h - DD 0391c2a82h,09ebb284dh,0158308e8h,0bcdd4863h,083f1edcah,0006f16ech,0695dc6c8h,0a13e2c37h,04a057a87h,02ab756f0h,0a6b48f98h,0a8765500h,068651c44h,04252faceh,0e1765e02h,0a52b540bh - DD 016a0d2bbh,04f922fc5h,01a623499h,00d5cc16ch,057c62c8bh,09241cf3ah,0fd1b667fh,02f5e6961h,0f5a01797h,05c15c70bh,060956192h,03d20b44dh,0071fdb52h,004911b37h,08d6f0f7bh,0f648f916h - DD 0e60b7cf7h,06dc1acafh,084a9d869h,025860a50h,0e7ba8ac4h,056fc6f09h,06148d29eh,0828c5bd0h,0dc55ae5fh,0ac6b435eh,0c0117411h,0a527f56ch,0fd24342ch,094d5045eh,070b67c0dh,02c4c0a35h - DD 0fac61d9ah,0027cc8b8h,0e3c6fe8ah,07d25e062h,0e5bff503h,0e08805bfh,06ff632f7h,013271e6ch,0232f76a5h,055dca6c0h,0701ef426h,08957c32dh,0a10a5178h,0ee728bcbh,0b62c5173h,05ea60411h - DD 0d0b8892bh,0fc4e964eh,09301bb74h,09ea17683h,0fcc48626h,06265c5aeh,0bb3e9102h,0e60cf82eh,0d4df5531h,057adf797h,08deeefe2h,0235b59a1h,03f306eb1h,060adcf58h,03d09492dh,0105c2753h - DD 0b5def996h,04090914bh,0233dd1e7h,01cb69c83h,09b3d5e76h,0c1e9c1d3h,0fccf6012h,01f3338edh,02f5378a8h,0b1e95d0dh,02f00cd21h,0acf4c2c7h,0eb5fe290h,06e984240h,0248088aeh,0d66c038dh - DD 0f94d70cfh,0804d264ah,07314bf7eh,0bdb802efh,04333ed02h,08fb54de2h,0285635d9h,0740461e0h,0365e9383h,04113b2c8h,03fdef652h,0ea762c83h,047b956c1h,04eec6e2eh,065620fa4h,0a3d814beh - DD 0b4d8bc50h,09ad5462bh,0a9195770h,0181c0b16h,078412a68h,0ebd4fe1ch,0c0dff48ch,0ae0341bch,07003e866h,0b6bc45cfh,08a24a41bh,0f11a6deah,0d04c24c2h,05407151ah,0da5b7b68h,062c9d27dh - DD 088cceff6h,02e964235h,08b07ed69h,08594c54fh,0c84d0d0dh,01578e73ch,0ff532868h,07b4e1055h,0b5ec995ah,0a348c0d5h,014289a54h,0bf4b9d55h,058fbd777h,09ba155a6h,01a84491dh,0186ed7a8h - DD 0614c0900h,0d4992b30h,0bd00c24bh,0da98d121h,07ec4bfa1h,07f534dc8h,037dc34bch,04a5ff674h,01d7ea1d7h,068c196b8h,080a6d208h,038cf2893h,0e3cbbd6eh,0fd56cd09h,04205a5b6h,0ec72e27eh - DD 0a44f77f7h,015ea68f5h,0b43c52bch,07aa5f9fdh,094f0e609h,086ff676fh,02e2d432bh,0a4cde963h,0eee470afh,08cafa0c0h,08a3f5ec8h,084137d0eh,0faa31231h,0ebb40411h,06f7f7ccfh,0a239c13fh - DD 0a8afd30bh,032865719h,08a826dceh,086798328h,0c4a8fbe0h,0df04e891h,0ebf56ad3h,0bb6b6e1bh,0471f1ff0h,00a695b11h,0be15baf0h,0d76c3389h,0be96c43eh,0018edb95h,090794158h,0f2beaaf4h - DD 0c3076a27h,0152db09eh,0e416545dh,05e82908eh,0356d6f2eh,0a2c41272h,031fd74e1h,0dc9c9642h,0519bf615h,066ceb88dh,005a2274eh,0e29ecd76h,0bf5e2fa0h,03a0473c4h,064284e67h,06b6eb671h - DD 0b88756ddh,0e8b97932h,0f17e3e61h,0ed4e8652h,03ee1c4a4h,0c2dd1499h,0597f8c0eh,0c0aaee17h,06c168af3h,015c4edb9h,0b39ae875h,06563c7bfh,020adb436h,0adfadb6fh,09a042ac0h,0ad55e8c9h - DD 0b76da1f5h,0975a1ed8h,0a58acb94h,010dfa466h,0ac060282h,08dd7f7e3h,0572a051eh,06813e66ah,0350cb901h,0b4ccae1eh,050cb7822h,0b653d656h,0dfab3b87h,042484710h,09b670fd0h,0cd7ee537h - DD 0523b8bf6h,00a50b12eh,08f910c1bh,08009eb5bh,04a167588h,0f535af82h,0fb2a2abdh,00f835f9ch,02afceb62h,0f59b2931h,0169d383fh,0c797df2ah,066ac02b0h,0eb3f5fb0h,0daa2d0cah,0029d4c6fh - DD 0afab4bc5h,0d4059bc1h,056783247h,0833f5c6fh,08d2d3605h,0b5346630h,0d34d8433h,083387891h,0add9419ah,0d973b30fh,0afe3fce8h,0bcca1099h,00809aac6h,008178315h,0540f0f11h,001b7f21ah - DD 0909523c8h,065c29219h,0a3a1c741h,0a62f648fh,060c9e55ah,088598d4fh,00e4f347ah,0bce9141bh,035f9b988h,09af97d84h,0320475b6h,00210da62h,09191476ch,03c076e22h,044fc7834h,07520dbd9h - DD 0c1ab1bbdh,06a6b2cfeh,0dc650938h,0ef8a65beh,0805d7bc4h,072855540h,0ed11fdfdh,0da389396h,074660876h,0a9d5bd36h,0b45dff35h,011d67c54h,0a4f5da94h,06af7d148h,0c0bbeb31h,0bb8d4c3fh - DD 0e0a1b12ah,087a7ebd1h,0770ba95fh,01e4ef88dh,0dc2ae9cbh,08c33345ch,001cc8403h,0cecf1276h,01b39b80fh,0687c012eh,035c33ba4h,0fd90d0adh,05c9661c2h,0a3ef5a67h,0e017429eh,0368fc88eh - DD 0196a2fa2h,0d30c6761h,0bd5b312eh,0931b9817h,072f54a31h,0ba01000ch,066eaa541h,0a203d2c8h,098939db3h,0f2abdee0h,03e606c02h,0e37d6c2ch,0521ff643h,0f2921574h,0d7e2fca3h,02781b3c4h - DD 07850ec06h,0664300b0h,07d3a10cfh,0ac5a38b9h,0e34ab39dh,09233188dh,05072cbb9h,0e77057e4h,0b59e78dfh,0bcf0c042h,01d97de52h,04cfc91e8h,03ee0ca4ah,04661a26ch,0fb8507bch,05620a4c1h - DD 0049f842ch,04b44d4aah,01540e82bh,0ceabc5d5h,015c6f156h,0306710fdh,063db1d72h,0be5ae52bh,0334957f1h,006f1e7e6h,031144a70h,057e388f0h,0df96447bh,0fb69bb2fh,073e38a12h,00f78ebd3h - DD 02b7ce542h,0b8222605h,07472bde1h,0e6d4ce99h,009d2f4dah,053e16ebeh,053b92b2eh,0180ff42eh,02c34a1c6h,0c59bcc02h,0422c46c2h,03803d6f9h,05c14a8a2h,018aff74fh,010a08b28h,055aebf80h - DD 07135593fh,066097d58h,02be570cdh,032e6eff7h,02a8c860dh,0584e6a10h,0a2eb4163h,0cd185890h,06d97e134h,07ceae99dh,0dd8447ceh,0d42c6b70h,0b8c50273h,059ddbb4ah,03cf34e1eh,003c612dfh - DD 004b6c5a0h,084b9ca15h,018f0e3a3h,035216f39h,0bd986c00h,03ec2d2bch,0d19228feh,08bf546d9h,04cd623c3h,0d1c655a4h,0502b8e5ah,0366ce718h,0eea0bfe7h,02cfc84b4h,0cf443e8eh,0e01d5ceeh - DD 0036520f8h,08ec045d9h,092d40e98h,0dfb3c3d1h,0cc559a04h,00bac4cceh,0240ea6b1h,035eccae5h,0f8a5a0ach,0180b32dbh,0eb699700h,0547972a5h,0ca26bca0h,0a3765801h,0a647f25ah,057e09d0eh - DD 02fdd23cch,0b956970eh,05682e971h,0b80288bch,09ae86ebch,0e6e6d91eh,08c9f1939h,00564c83fh,039560368h,0551932a2h,0049c28e2h,0e893752bh,0a6a158c3h,00b03cee5h,004964263h,0e12d656bh - DD 063e3bc1dh,04b47554eh,045044ff7h,0c719b6a2h,0e48daa07h,04f24d30ah,0c8c1edc3h,0a3f37556h,00700d360h,09a47bf76h,0822ae4e2h,0bb1a1824h,089f1fb4ch,022e275a3h,09968c5f5h,072b1aa23h - DD 0be063f64h,0a75feacah,0bce47a09h,09b392f43h,01ad07acah,0d4241509h,08d26cd0fh,04b0c591bh,092f1169ah,02d42ddfdh,04cbf2392h,063aeb1ach,00691a2afh,01de9e877h,0d98021dah,0ebe79af7h - DD 040e50acfh,0cfdf2a4eh,0af01d665h,0f0a98ad7h,01831be1fh,0efb640bfh,080e9ada0h,06fe8bd2fh,06cafbc91h,094c103a1h,08308e08ch,0170f8759h,09780ff4fh,05de2d2abh,045b201f2h,0666466bch - DD 0f5b343bch,058af2010h,0f2f142feh,00f2e400ah,0a85f4bdfh,03483bfdeh,003bfeaa9h,0f0b1d093h,0c7081603h,02ea01b95h,03dba1097h,0e943e4c9h,0b438f3a6h,047be92adh,0e5bf6636h,000bb7742h - DD 0824297b4h,0136b7083h,05584455fh,09d0e5580h,0f1c7d69eh,0ab48cedch,02a256e76h,053a9e481h,065eb2413h,00402b0e0h,08fc407a7h,0dadbbb84h,08d7f5492h,0a65cd5a4h,074bae294h,021d44293h - DD 03b5f1cc4h,066917ce6h,0ce872e62h,037ae52eah,02905f244h,0bb087b72h,01e6af74fh,012077086h,01058edeah,04b644e49h,0b638ca1dh,0827510e3h,06038591ch,08cf2b704h,0fe635063h,0ffc8b47ah - DD 01b4d5e63h,03ae220e6h,09d961b4bh,0bd864742h,09bd16bedh,0610c107eh,01127147bh,04270352ah,064cfc50eh,07d17ffe6h,01e36cb42h,050dee01ah,035dc5f9ah,0068a7622h,0df53f62ch,09a08d536h - DD 06be5f7deh,04ed71457h,0c2263c9eh,0d93006f8h,0cacacb36h,0e073694ch,03ae118abh,02ff7a5b4h,0cd871236h,03cce53f1h,0c2aa6d52h,0f156a39dh,0b198d76dh,09cc5f271h,081383d39h,0bc615b6fh - DD 0de3eee6bh,0a54538e8h,0ab910d91h,058c77538h,058d278bdh,031e5bdbch,0b963acaeh,03cde4adfh,05302169ch,0b1881fd2h,0a989ed8bh,08ca60fa0h,0ff96a0eeh,0a1999458h,0ac6c283dh,0c1141f03h - DD 06dfafed3h,07677408dh,039661588h,033a01653h,00b726fa0h,03c9c15ech,06c9b56dah,0090cfd93h,0a3c40af5h,0e34f4baeh,0d21129f1h,03469eadbh,01e207ce8h,0cc51674ah,0c83b1ef9h,01e293b24h - DD 01e6c0bb4h,017173d13h,090776d35h,019004695h,06de6f922h,0e7980e34h,0f4dd9a22h,0873554cbh,0cbf18a51h,00316c627h,03032c081h,04d93651bh,03946834dh,0207f2771h,030cdbf80h,02c08d7b4h - DD 086df2a61h,0137a4fb4h,0ecf7b4a2h,0a1ed9c07h,07bd042ffh,0b2e460e2h,05f62f5ech,0b7f5e2fah,0cc2423b7h,07aa6ec6bh,0ba63eea7h,075ce0a7fh,0f250a6e1h,067a45fb1h,0e53cdc9fh,093bc919ch - DD 0871942dfh,09271f56fh,07859ad66h,02372ff6fh,033cb1a78h,05f4c2b96h,05838aa83h,0e3e29101h,0e4e8110ch,0a7ed1611h,0330198ceh,02a2d70d5h,06720efe0h,0bdf132e8h,066a471bfh,0e61a8962h - DD 0825808bdh,0796d3a85h,03fd6e902h,051dc3cb7h,0916219d1h,0643c768ah,0a2ad7d32h,036cd7685h,0b22922a4h,0e3db9d05h,0dba29660h,06494c87eh,0bcd2ebc7h,0f0ac91dfh,045107f8dh,04deb57a0h - DD 0c3d12a73h,042271f59h,0a5c2c51dh,05f71687ch,005797bcbh,0cb1f50c6h,0d6d34eb0h,029ed0ed9h,04683c2ebh,0e5fe5b47h,097447c46h,04956eeb5h,071207167h,05b163a43h,00248c5efh,093fa2fedh - DD 031f63950h,067930af2h,014caa2c9h,0a77797c1h,027ac7e62h,0526e80eeh,058b28aech,0e1e6e626h,0b3c9fef0h,0636178b0h,06d5f90beh,0af7752e0h,0eece51cfh,094ecaf18h,0ca806e1fh,02864d0edh - DD 097c69134h,06de2e383h,0eb291293h,05a42c316h,06a60bae0h,0c7779219h,06b7599d1h,0a24de346h,0b75d4941h,049d374aah,02d501ff0h,098900586h,0eb7974cfh,09f16d40eh,0cdd8c115h,01033860bh - DD 02094cec3h,0b6c69ac8h,0403b770ch,09976fb88h,04859590dh,01dea026ch,08562d1fdh,0b6acbb46h,044569d85h,07cd6c461h,097f0891dh,0c3190a36h,048d5a17dh,0c6f53195h,0d749abc8h,07d919966h - DD 0dd1c8a20h,065104837h,02f683419h,07e5410c8h,0be94022eh,0958c3ca8h,06145dac2h,0605c3197h,001683d54h,03fc07501h,0595b1234h,01d7127c5h,09481277fh,010b8f87ch,0e65a1adbh,0677db2a8h - DD 0ddce3345h,0ec2fccaah,0012a4350h,02a6811b7h,0ac598bdch,096760ff1h,0d1bf4128h,0054d652ah,092a21005h,00a1151d4h,033110fdfh,0ad7f3971h,01960100fh,08c95928ch,07bf03362h,06c91c825h - DD 0ce309f06h,0c8c8b2a2h,0ca27204bh,0fdb27b59h,00848e32eh,0d223eaa5h,0e7bfaf1eh,0b93e4b2eh,044aa3dedh,0c5308ae6h,0c015d573h,0317a666ah,01a979707h,0c888ce23h,00d5c4958h,0f141c1e6h - DD 061906373h,0b53b7de5h,0eb999595h,0858dbadeh,0a59e5c36h,08cbb47b2h,0dcf4e842h,0660318b3h,012ba4b7ah,0bd161ccdh,0f8c8282ah,0f399daabh,0eeb2130dh,01587633ah,0da38dd7dh,0a465311ah - DD 064d3779bh,05f75eec8h,0ad64c171h,03c5d0476h,02a914428h,087410371h,090e2fc29h,08096a891h,023b3ebc2h,0d3d2ae9dh,0a580cfd6h,090bdd6dbh,0c5b01f6ch,052dbb7f3h,0e102a2dch,0e68eded4h - DD 099eb6df0h,017785b77h,07386b779h,026c3cc51h,06417a48eh,0345ed988h,007d6ef31h,0e990b4e4h,02586abbah,00f456b7eh,059c96e9ah,0239ca6a5h,0e2eb4206h,0e327459ch,0a002b90ah,03a4c3313h - DD 0f6a3f6fbh,02a114806h,085c251ddh,0ad5cad2fh,0f5a784d3h,092c1f613h,0349766d5h,0ec7bfacfh,03e23cb3bh,004b3cd33h,0c5a64b2dh,03979fe84h,07e589106h,0192e2720h,0a15b527fh,0a60c43d1h - DD 0be7cf3a6h,02dae9082h,0bc967274h,0cc86ba92h,0aea0a8a9h,0f28a2ce8h,06ee988b3h,0404ca6d9h,0005921b8h,0fd7e9c5dh,044e79bf9h,0f56297f1h,00d75ddc2h,0a163b460h,0a1f2be87h,030b23616h - DD 0bfe50e2bh,04b070d21h,0e1bfede1h,07ef8cfd0h,02aac4ae0h,0adba0011h,0b9ebd033h,02a3e7d01h,0e38d9d1ch,0995277ech,09c5d2de3h,0b500249eh,0f13ca8c9h,08912b820h,0877793afh,0c8798114h - DD 0ec3f1dech,019e6125dh,0911178dah,007b1f040h,0904a6738h,0d93ededah,00bebedcdh,055187a5ah,0eb329d41h,0f7d04722h,0f170b391h,0f449099eh,0ca99f828h,0fd317a69h,034a4976dh,050c3db2bh - DD 03757b392h,0e9ba7784h,0aa3ca05ah,0326caefdh,0f1e593d4h,078e5293bh,00d98fd13h,07842a937h,05f96b10dh,0e694bf96h,006a8cd05h,0373a9df6h,0e8f0c7fch,0997d1e51h,063fd972eh,01d019790h - DD 05499fb32h,00064d858h,077a8aeb7h,07b67bad9h,02d08eec5h,01d3eb977h,0cbabae1dh,05fc047a6h,0e54a64bbh,00577d159h,0c43497e4h,08862201bh,02ce0608dh,0ad6b4e28h,00b167aach,08b687b7dh - DD 08b2ecfa9h,06ed4d367h,0a90c3c38h,024dfe62dh,03fe5c42bh,0a1862e10h,0d5732a9fh,01ca73dcah,076bb87adh,035f038b7h,0f242b81fh,0674976abh,0b0fd90cdh,04f2bde7eh,0a7fdf092h,06efc172eh - DD 092222f1fh,03806b69bh,06cf7ae70h,05a2459cah,0a85217eeh,06789f69ch,0e3dc85ach,05f232b5eh,048e9e516h,0660e3ec5h,03197eb31h,0124b4e47h,0aafcca23h,010a0cb13h,08213224fh,07bd63ba4h - DD 0290a7f4fh,0affad7cch,00286b461h,06b409c9eh,0ffa407afh,058ab809fh,0c68ac073h,0c3122eedh,04ef24d7eh,017bf9e50h,03e2a5811h,05d929794h,002902e01h,0519bc867h,039c8a851h,076bba5dah - DD 0da94951eh,0e9f9669ch,066b8d418h,04b6af58dh,017d426a4h,0fa321074h,09dde6027h,0c78e66a9h,04a53b964h,00516c083h,0ff602330h,0fc659d38h,058c5c897h,00ab55e5ch,0838bc5dfh,0985099b2h - DD 0c52fc238h,0061d9efch,06ac1da3fh,0712b2728h,09283fe08h,0fb658149h,0b8aaa2f7h,04954ac94h,07fb2e74fh,085c0ada4h,0b89926b0h,0ee8ba98eh,023d1af5bh,0e4f9d37dh,0ba9b015eh,014ccdbf9h - DD 07bfe7178h,0b674481bh,065405868h,04e1debaeh,0c48c867dh,0061b2821h,0513b30eah,069c15b35h,036871088h,03b4a1666h,01220b1ffh,0e5e29f5dh,0233d9f4dh,04b82bb35h,018cdc675h,04e076333h - DD 0a3e6fcedh,00d53f5c7h,0f45fbdebh,0e8cbbdd5h,013339a70h,0f85c01dfh,0142ceb81h,00ff71880h,0bd70437ah,04c4e8774h,0ba0bda6ah,05fb32891h,0f18bd26eh,01cdbebd2h,003a9d522h,02f9526f1h - DD 092c4d684h,040ce3051h,07612efcdh,08b04d725h,06f9cae20h,0b9dcda36h,0f058856ch,00edc4d24h,085427900h,064f2e6bfh,0dc09dfeah,03de81295h,0379bf26ch,0d41b4487h,06df135a9h,050b62c6dh - DD 0c72dfe67h,0d4f8e3b4h,090e19fdfh,0c416b0f6h,04c13bd35h,018b9098dh,015b8cb9eh,0ac11118ah,0f0062841h,0f598a318h,089f356f4h,0bfe0602fh,030177a0ch,07ae3637eh,061136537h,034097747h - DD 0d005832ah,00db2fb5eh,091042e4fh,05f5efd3bh,0ed70f8cah,08c4ffdc6h,0b52da9cch,0e4645d0bh,0c9001d1fh,09596f58bh,04e117205h,052c8f0bch,0e398a084h,0fd4aa0d2h,0104f49deh,0815bfe3ah - DD 023885e5fh,097e5443fh,0e8433aabh,0f72f8f99h,0e4d4e604h,0bd00b154h,0e5e173ffh,0d0b35e6ah,09164722dh,057b2a048h,088761ec8h,03e3c665bh,03da83832h,06bdd1397h,073dafe3bh,03c8b1a1eh - DD 054317cach,04497ace6h,0521771b3h,0be600ab9h,0b0dfe8b8h,0b42e409eh,03942310fh,0386a67d7h,04431cc28h,025548d8dh,0985dc524h,0a7cff142h,093c4be32h,04d60f5a1h,0d071c6e1h,083ebd5c8h - DD 0b1fd2b0bh,0ba3a80a7h,05bec33e8h,09b3ad396h,079743fb3h,0b3868d61h,0fdb462fah,0cfd169fch,09ce0a6afh,0d3b499d7h,0e42d3ff8h,055dc1cf1h,0c6c3e1b2h,004fb9e6ch,06f69a474h,047e6961dh - DD 0e548b37bh,054eb3acch,084d40549h,0b38e7542h,07b341b4fh,08c3daa51h,0690bf7fah,02f6928ech,086ce6c41h,00496b323h,010adadcdh,001be1c55h,04bb5faf9h,0c04e67e7h,0e15c9985h,03cbaf678h - DD 050ca4247h,08cd12145h,0e7dd30aah,0ba1aa47ah,0e58fee24h,02f81ddf1h,0eec9b0e8h,003452936h,0243aea96h,08bdc3b81h,015c3d0e5h,09a2919afh,010948361h,09ea640ech,06e0bcccfh,05ac86d5bh - DD 0c36cf440h,0f892d918h,0c939719ch,0aed3e837h,0c0218b64h,0b07b08d2h,0ce9790ddh,06f1bcbbah,060919b8eh,04a84d6edh,08ac1f9ebh,0d8900791h,00dd5daefh,0f84941aah,067fd62c5h,0b22fe40ah - DD 0157f2db3h,097e15ba2h,08e28ca9ch,0bda2fc8fh,037b9f454h,05d050da4h,02379d72eh,03d57eb57h,0fb5ee997h,0e9b5eba2h,0e11538cah,001648ca2h,0f6327974h,032bb76f6h,0ff3f4bb7h,0338f14b8h - DD 0d7ab9a2dh,0524d226ah,07dfae958h,09c00090dh,08751d8c2h,00ba5f539h,03ab8262dh,08afcbcddh,0e99d043bh,057392729h,0aebc943ah,0ef51263bh,020862935h,09feace93h,0b06c817bh,0639efc03h - DD 066b4be7ah,01fe054b3h,084a37a1eh,03f25a9deh,078d75cd9h,0f39ef1adh,05062c1b5h,0d7b58f49h,0ff563436h,06f74f9a9h,0e8af51e7h,0f718ff29h,015e97fech,05234d313h,0292f1c0ah,0b6a8e2b1h - DD 0327720c1h,0a7f53aa8h,0ba092cc8h,0956ca322h,028746c4dh,08f03d64ah,066d0d392h,051fe1782h,03c832c80h,0d19b34dbh,06da2e3b4h,060dccc5ch,00a104ccch,0245dd62eh,0620b21fdh,0a7ab1de1h - DD 03893d123h,0b293ae0bh,0b15ee71ch,0f7b75783h,042a9468bh,05aa3c614h,0db15d744h,0d686123ch,0a7ab4116h,08c616891h,0a4e6a459h,06fcd72c8h,077e5fad7h,0ac219110h,0704fa46bh,0fb6a20e7h - DD 0341d81dch,0e839be7dh,032148379h,0cddb6889h,0f7026eadh,0da6211a1h,0f4d1cc5eh,0f3b2575fh,0a7a73ae6h,040cfc8f6h,061d5b483h,083879a5eh,041a50ebch,0c5acb1edh,03c07d8fah,059a60cc8h - DD 0b1876262h,01b73bdceh,012af4ee9h,02b0d79f0h,0d46e1d07h,08bcf3b0bh,0e45d152fh,017d6af9dh,06d736451h,073520461h,056b0bf5ah,043cbbd97h,0d5999b9dh,0b0833a5bh,0eb72e398h,0702614f0h - DD 059c3e9f8h,00aadf01ah,0ce6b3d16h,040200e77h,0deddafadh,0da22bdd3h,0310d72e1h,076dedaf4h,04bc2e88fh,049ef807ch,0146dd5a5h,06ba81291h,07d8d59e9h,0a1a4077ah,0802db349h,087b6a2e7h - DD 01b4e598eh,0d5679997h,006fe4b1dh,0f499ef1fh,0fcb267c5h,03978d3aeh,0235786d0h,0b582b557h,01715cb07h,032b3b2cah,08480241dh,04c3de6a2h,0cb571ecdh,063b5ffedh,0ed2fe9a9h,0eaf53900h - DD 0c3b81990h,0dec98d4ah,09e0cc8feh,01cb83722h,0d2b427b9h,0fe0b0491h,0e983a66ch,00f2386ach,0b3291213h,0930c4d1eh,059a62ae4h,0a2f82b2eh,0f93e89e3h,077233853h,011777c7fh,07f8063ach - DD 059ad2877h,0ff0eb567h,09865c754h,06f454642h,0236e9a84h,0e6fe701ah,006e40fc3h,0c586ef16h,024bafad9h,03f62b6e0h,064da906ah,0c8b42bd2h,0da3276a0h,0c98e1eb4h,006cbf852h,030d0e5fch - DD 0e8b4dfd4h,01b6b2ae1h,08301cbach,0d754d5c7h,0112a39ach,066097629h,093ba4ab9h,0f86b5999h,099f9d581h,026c9dea7h,0c2fafeaah,00473b1a8h,03b2505a5h,01469af55h,0d6a43323h,0227d16d7h - DD 0ad3d97f9h,03316f73ch,01f137455h,052bf3bb5h,009954e7ch,0953eafebh,0dd732411h,0a721dfedh,0141d4579h,0b4929821h,0aa3bd435h,03411321ch,017fa6015h,0afb355aah,018e42f0eh,0b4e7ef4ah - DD 059371000h,0604ac97ch,07f759c18h,0e1c48c70h,0a5db6b65h,03f62ecc5h,038a21495h,00a78b173h,0bcc8ad94h,06be1819dh,0d89c3400h,070dc04f6h,0a6b4840ah,0462557b4h,060bd21c0h,0544c6adeh - DD 0907a544bh,06a00f24eh,0313da210h,0a7520dcbh,011e4994bh,0fe939b75h,0bc275d70h,0918b6ba6h,0644be892h,0d3e5e0fch,0fdaf6c42h,0707a9816h,0f15c13feh,060145567h,0e130a54ah,04818ebaah - DD 058d2f767h,028aad3adh,0d7e7c773h,0dc5267fdh,0c3afcc98h,04919cc88h,02db8cd4bh,0aa2e6ab0h,0d0c63eaah,0d46fec04h,019ffa832h,0a1cb92c5h,0e43a631fh,0678dd178h,03dc788b3h,0fb5ae1cdh - DD 06e77de04h,068b4fb90h,0f06dbb97h,07992bcf0h,0c417c01dh,0896e6a13h,0b956be01h,08d96332ch,0413aa2b9h,0902fc93ah,0fc98c8a5h,099a4d915h,0565f1137h,052c29407h,021e4f281h,04072690fh - DD 002ff6072h,036e607cfh,08ad98cdch,0a47d2ca9h,0f5f56609h,0bf471d1eh,0f264ada0h,0bcf86623h,0aa9e5cb6h,0b70c0687h,017401c6ch,0c98124f2h,0d4a61435h,08189635fh,0a9d98ea6h,0d28fb8afh - DD 040c251f8h,0b9a67c2ah,0a2da44beh,088cd5d87h,0e09b5423h,0437deb96h,064287dc1h,0150467dbh,0cdabb839h,0e161debbh,0f1839a3eh,0a79e9742h,0652d202bh,0bb8dd3c2h,0e9f97d96h,07b3e67f7h - DD 0b1cb6ac9h,05aa5d78fh,0ca1d0d45h,0ffa13e8eh,02ba5bf95h,0369295ddh,039aff05eh,0d68bd1f8h,026d783f2h,0af0d86f9h,0fc3aafc1h,0543a59b3h,07b7da97ch,03fcf81d2h,0d25dee46h,0c990a056h - DD 0519cce2ch,03e6775b8h,0ae13d863h,0fc9af71fh,047c1605ch,0774a4a6fh,02fd205e8h,046ba4245h,0d3fd524dh,0a06feea4h,06de1acc2h,01e724641h,0334e2b42h,0f53816f1h,0922f0024h,049e5918eh - DD 065c7322dh,0439530b6h,0b3c1b3fbh,0cf12cc01h,00172f685h,0c70b0186h,01b58391dh,0b915ee22h,0a317db24h,09afdf03bh,017b8ffc4h,087dec659h,0e4d3d050h,07f46597bh,0006500e7h,080a1c1edh - DD 078bf030eh,084902a96h,050560148h,0fb5e9c9ah,063362426h,06dae0a92h,0a9e30c40h,0dcaeecf4h,0518d0c6bh,0c0d887bbh,0cb985b9dh,099181152h,0ef7bc381h,0ad186898h,09ee46201h,018168ffbh - DD 02502753ch,09a04cdaah,051407c41h,0bb279e26h,0f23564e5h,0eacb03aah,071e61016h,018336582h,0eb809877h,08684b8c4h,0ea0e672eh,0b336e18dh,034ee5867h,0efb601f0h,01341cfd1h,02733edbeh - DD 026025c3ch,0b15e809ah,09350df88h,0e6e981a6h,08502fd8eh,092376237h,00c12be9bh,04791f216h,025f02425h,0b7256789h,07a974443h,0ec863194h,0fb41cc52h,07c0ce882h,0f25c07f2h,0c266ff7eh - DD 0017025f3h,03d4da8c3h,0fb9579b4h,0efcf628ch,01f3716ech,05c4d0016h,06801116eh,09c27ebc4h,01da1767eh,05eba0ea1h,047004c57h,0fe151452h,08c2373b7h,03ace6df6h,05dbc37ach,075c3dffeh - DD 0ddc925fch,03dc32a73h,02f65ee0bh,0b679c841h,0451cbfebh,0715a3295h,0f76e9a29h,0d9889768h,0b28ad247h,0ec20ce7fh,000894d79h,0e99146c4h,09f5e3ea7h,071457d7ch,038030031h,0097b2662h - DD 0cf9f82a8h,0db7f6ae6h,0438f473ah,0319decb9h,0283856c3h,0a63ab386h,0b06a361bh,013e3172fh,07d5a006ch,02959f8dch,075fba752h,02dbc27c6h,087c22c9eh,0c1227ab2h,071a268b2h,006f61f75h - DD 004779ce2h,01b6bb971h,00aadcb1dh,0aca83812h,0aeaab2d5h,0297ae0bch,05bfb9f13h,0a5c14ee7h,0f17a62c7h,0aa00c583h,0173759f6h,039eb962ch,086c9a88fh,01eeba1d4h,0df016c5eh,00ab6c37ah - DD 0a28a0749h,0a2a147dbh,0ee519165h,0246c20d6h,0d3810715h,05068d1b1h,0748160b9h,0b1e7018ch,0f380ff62h,003f5b1fah,0f3cb2c1eh,0ef7fb1ddh,0fc91a7dah,0eab539a8h,0f3f9b561h,083ddb707h - DD 0fe7df7a4h,0c550e211h,0063f6f40h,0a7cd07f2h,02976879ch,0b0de3635h,0e55741dah,0b5f83f85h,0f3d8ac3dh,04ea9d25eh,062819f02h,06fe2066fh,0cef4a564h,04ab2b9c2h,05ffa2de3h,01e155d96h - DD 0c3a72d00h,00eb0a19bh,08513c31bh,04037665bh,004c64637h,02fb2b6bfh,008cdc639h,045c34d6eh,0f01fd796h,056f1e10fh,0fe3667b8h,04dfb8101h,09021d0c0h,0e0eda253h,08a06c6abh,07a94e9ffh - DD 0bb9aa882h,02d3bb0d9h,0ec05fd10h,0ea20e4e5h,01a1ca64eh,0ed7eeb5fh,0c6327cbdh,02fa6b43ch,03aa91121h,0b577e3cfh,03a34079bh,08c6bd5eah,060e02fc0h,0d7e5ba39h,090141bf8h,0f16dd2c3h - DD 080101b98h,0b57276d9h,0b82f0f66h,0760883fdh,04bc3eff3h,089d7de75h,05dc2ab40h,003b60643h,0e05beeach,0cd6e53dfh,0bc3325cdh,0f2f1e862h,0774f03c3h,0dd0f7921h,04552cc1bh,097ca7221h - DD 01cd19f72h,05a0d6afeh,0f183fbebh,0a20915dch,0832c403ch,09fda4b40h,0be425442h,032738eddh,0b5eccf1ah,0469a1df6h,028bbe1f0h,04b5aff42h,0570dfc93h,031359d7fh,0f0088628h,0a18be235h - DD 0b00ed3a9h,0a5b30fbah,073cdf8beh,034c61374h,0abc56797h,02c5c5f46h,0b82a8ae2h,05cecf93dh,0a968fbf0h,07d3dbe41h,01a5c7f3dh,0d23d4583h,0c087a9c7h,0f28f69a0h,0474471cah,0c2d75471h - DD 04eb732ech,036ec9f4ah,0b1ca6bedh,06c943bbdh,0f2457892h,0d64535e1h,0f7e2ac06h,08b84a8eah,02499dd5fh,0e0936cd3h,00ed04e57h,012053d7eh,0e4305d9dh,04bdd0076h,01f67f0a2h,034a527b9h - DD 09cec46eah,0e79a4af0h,0658b9bc7h,0b15347a1h,035af2f75h,06bd2796fh,04051c435h,0ac957990h,0c33a655dh,02669dda3h,088514aa3h,05d503c2eh,03753dd41h,0dfa11337h,00b754f78h,03f054673h - DD 0496125bdh,0bf185677h,03775006ch,0fb0023c8h,03a037899h,0fa0f072fh,00e4aea57h,04222b6ebh,07866d25ah,03dde5e76h,04837aa6fh,0b6eb04f8h,02cf1cdb8h,05315591ah,02d4e683ch,06dfb4f41h - DD 048ee1f3ah,07e923ea4h,005a2afd5h,09604d9f7h,040ea4948h,0be1d4a33h,0b44cbd2fh,05b45f1f4h,04acc757eh,05faf8376h,063d68ff7h,0a7cf9ab8h,0df0e404bh,08ad62f69h,012bdafdfh,0d65f33c2h - DD 0a377b14eh,0c365de15h,08e39f60ch,06bf5463bh,02ce68148h,062030d2dh,0e6f843a8h,0d95867efh,0ef5ab017h,0d39a0244h,04ab55d12h,00bd2d8c1h,041639169h,0c9503db3h,0f7660c8ah,02d4e25b0h - DD 0e224c5d7h,0760cb3b5h,068616919h,0fa3baf8ch,08d142552h,09fbca113h,07669ebf5h,01ab18bf1h,09bdf25ddh,055e6f53eh,0cb6cd154h,004cc0bf3h,095e89080h,0595bef49h,0104a9ac1h,0fe9459a8h - DD 0cce9bb32h,0ad2d89cah,0f7de8285h,0ddea65e1h,0b351bd4bh,062ed8c35h,00c0e19a7h,04150ff36h,0345f4e47h,086e3c801h,0203a266ch,03bf21f71h,0855b1f13h,07ae110d4h,007262517h,05d6aaf6ah - DD 0813d28f1h,01e0f12e1h,07ad7a523h,06000e11dh,0c744a17bh,0c7d8deefh,014c05a00h,01e990b48h,093e976d5h,068fddaeeh,046610d63h,0696241d1h,0893dda88h,0b204e7c3h,06a3a6946h,08bccfa65h - DD 0c5cd1411h,0b59425b4h,0ff3658b1h,0701b4042h,04784cf93h,0e3e56bcah,08fe68d60h,027de5f15h,0f8d53f19h,04ab9cfceh,0a40a730dh,0ddb10311h,04eee0a8ah,06fa73cd1h,05249719dh,0fd548748h - DD 0a8123ef0h,049d66316h,0e7f95438h,073c32db4h,00d9e7854h,02e2ed209h,09d9f0507h,0f98a9329h,00c6aa20ah,0c5d33cf6h,075279bb2h,09a32ba14h,0774a7307h,07e3202cbh,0e8c42dbdh,064ed4bc4h - DD 0d4caed0dh,0c20f1a06h,0171d22b3h,0b8021407h,0d13268d7h,0d426ca04h,025f4d126h,092377007h,071f21a85h,04204cbc3h,0f82369bah,018461b7ah,03fc858f9h,0c0c07d31h,0e2bab569h,05deb5a50h - DD 0d5eea89eh,0d5959d46h,008437f4bh,0fdff8424h,03cfe254fh,0f21071e4h,095468321h,072417696h,0102cae3eh,05d8288b9h,0f1965dffh,02d143e3dh,0a078d847h,000c9a376h,026028731h,06fc0da31h - DD 0e45083a2h,0a2baeadfh,05e5b4bcdh,066bc7218h,0d04b8e7fh,02c826442h,06c4b586bh,0c19f5451h,05b7eeed5h,060182c49h,07aa9dfa1h,0d9954ecdh,0c73884adh,0a403a8ech,09bb39041h,07fb17de2h - DD 0abb020e8h,0694b64c5h,019c4eec7h,03d18c184h,01c4793e5h,09c4673efh,0056092e6h,0c7b8aeb5h,0f0f8c16bh,03aa1ca43h,0d679b2f6h,0224ed5ech,055a205c9h,00d56eeafh,04b8e028bh,0bfe115bah - DD 03927f4feh,097e60849h,0759aa7c5h,0f91fbf94h,06be90a51h,0985af769h,078ccb823h,0c1277b78h,0e7a75952h,0395b656eh,0928da5f5h,000df7de0h,04ca4454fh,009c23175h,07aa2d3c1h,04ec971f4h - DD 0e75d9ccch,045c3c507h,03dc90306h,063b7be8ah,05db44bdch,037e09c66h,06841c6a2h,050d60da1h,008df1b12h,06f9b65eeh,07ff089dfh,038734879h,03fe8013dh,09c331a66h,05f42fcc8h,0017f5de9h - DD 0e8e57567h,043077866h,0f9fcdb18h,0c9f781ceh,09b12e174h,038131ddah,08a03752ah,025d84aa3h,04d0c0ce2h,045e09e09h,092bebba5h,01564008bh,0a87284c7h,0f7e8ad31h,097e7bbaah,0b7c4b46ch - DD 097acf4ech,03e22a7b3h,05ea8b640h,00426c400h,04e969285h,05e3295a6h,0a6a45670h,022aabc59h,05f5942bch,0b929714ch,0fa3182edh,09a6168bdh,0104152bah,02216a665h,0b6926368h,046908d03h - DD 05a1251fbh,0a9f5d874h,0c72725c7h,0967747a8h,031ffe89eh,0195c33e5h,0e964935eh,0609d210fh,02fe12227h,0cafd6ca8h,00426469dh,0af9b5b96h,05693183ch,02e9ee04ch,0c8146fefh,01084a333h - DD 0aed1d1f7h,096649933h,050563090h,0566eaff3h,0ad2e39cfh,0345057f0h,01f832124h,0148ff65bh,0cf94cf0dh,0042e89d4h,0520c58b3h,0319bec84h,05361aa0dh,02a267626h,08fbc87adh,0c86fa302h - DD 05c8b06d5h,0fc83d2abh,0fe4eac46h,0b1a785a2h,0846f7779h,0b99315bch,0ef9ea505h,0cf31d816h,015d7dc85h,02391fe6ah,0b4016b33h,02f132b04h,0181cb4c7h,029547fe3h,0650155a1h,0db66d8a6h - DD 0adc1696fh,06b66d7e1h,00acd72d0h,098ebe593h,0cc1b7435h,065f24550h,0b4b9a5ech,0ce231393h,0db067df9h,0234a22d4h,0caff9b00h,098dda095h,06100c9c1h,01bbc75a0h,0939cf695h,01560a9c8h - DD 099e0925fh,0cf006d3eh,06322375ah,02dd74a96h,0b56af5bah,0c58b446ah,0e0b9b4f1h,050292683h,01aeaffa3h,0e2c34cb4h,09b9587c1h,08b17203fh,0ead1350ch,06d559207h,0fb7f9604h,02b66a215h - DD 0fe51bf74h,00850325eh,05e460094h,09c4f579eh,076da2f25h,05c87b92ah,06febef33h,0889de4e0h,0646083ceh,06900ec06h,0bfe12773h,0be2a0335h,0c5344110h,0add1da35h,0b802cd20h,0757568b7h - DD 000f7e6c8h,075559779h,00facd2f0h,038e8b94fh,003fde375h,0fea1f3afh,075881dfch,05e11a1d8h,0c1e2f2efh,0b3a6b02eh,0c605a6c5h,0193d2bbbh,0339a0b2dh,0325ffeeeh,09e0c8846h,027b6a724h - DD 0f1c367cah,0e4050f1ch,0c90fbc7dh,09bc85a9bh,0e1a11032h,0a373c4a2h,0ad0393a9h,0b64232b7h,0167dad29h,0f5577eb0h,094b78ab2h,01604f301h,0e829348bh,00baa94afh,041654342h,077fbd8ddh - DD 0b964e39ah,0dab50ea5h,0d0d3c76eh,0d4c29e3ch,056d11964h,080dae67ch,0e5ffcc2fh,07307a8bfh,091708c3bh,065bbc1aah,028bf0eebh,0a151e62ch,06fa34db7h,06cb53381h,0a29403a8h,05139e05ch - DD 094a7cd2eh,06ff651b4h,00699336ch,05671ffd1h,0979a896ah,06f5fd2cch,0d8148cefh,011e893a8h,065cf7b10h,0988906a1h,0c50d8485h,081b67178h,08a35b3deh,07c0deb35h,0c1d29799h,0423ac855h - DD 0dac50b74h,0af580d87h,05869734ch,028b2b89fh,0874e28fbh,099a3b936h,025f3f73ah,0bb2c9190h,084a9d5b7h,0199f6918h,07e770374h,07ebe2325h,00738efe2h,0f442e107h,0cf9082d2h,0cf9f3f56h - DD 009618708h,0719f69e1h,0c183f9b1h,0cc9e8364h,0366a21afh,0ec203a95h,0068b141fh,06aec5d6dh,0994f04e9h,0ee2df78ah,0271245b0h,0b39ccae8h,097e43f4fh,0b875a4a9h,0db2cea98h,0507dfe11h - DD 0489b03e9h,04fbf81cbh,06ec414fah,0db86ec5bh,0f51b3ae5h,0fad444f9h,01914e3feh,0ca7d33d6h,00ae6c4d0h,0a9c32f5ch,073969568h,0a9ca1d1eh,01aa7467eh,098043c31h,0e21b5ac6h,0e832e75ch - DD 05232123dh,0314b7aeah,065ae86dbh,008307c8ch,0aa4668edh,006e7165ch,0b4d3ec39h,0b170458bh,0c19bb986h,04d2e3ec6h,0ae0304edh,0c5f34846h,06c9f9722h,0917695a0h,04cab1c0ah,06c7f7317h - DD 09d6d2e8bh,06295940eh,0549f7c97h,0d318b8c1h,097713885h,022453204h,0a8a440feh,0468d834bh,0bfba796eh,0d81fe5b2h,06d71f116h,0152364dbh,0b5b66e53h,0bb8c7c59h,02641a192h,00b12c61bh - DD 0fcf0a7fdh,031f14802h,05488b01eh,042fd0789h,09952b498h,071d78d6dh,007ac5201h,08eb572d9h,04d194a88h,0e0a2a44ch,0ba017e66h,0d2b63fd9h,0f888aefch,078efc6c8h,04a881a11h,0b76f6bdah - DD 0b46c2397h,0187f314bh,05ded2819h,0004cf566h,038764d34h,0a9ea5704h,078084709h,0bba45217h,01171121eh,006474571h,0e7c9b671h,0ad7b7eb1h,0730f7507h,0dacfbc40h,0c7ad7bd1h,0178cd8c6h - DD 0b2a67238h,0bf0be101h,0af9c14f2h,03556d367h,0a5662075h,0104b7831h,079d9e60ah,058ca59bbh,0a569a73bh,04bc45392h,05698f6c9h,0517a52e8h,0aeadd755h,085643da5h,02a581b84h,01aed0cd5h - DD 080af1372h,0b9b4ff84h,0f1ba5d1fh,0244c3113h,0f5f98d31h,02a5dacbeh,04375bc2ah,02c3323e8h,05594b1ddh,017a3ab4ah,0ceb4797eh,0a1928bfbh,0e4886a19h,0e83af245h,072b5a74ah,08979d546h - DD 019f9e967h,0a0f726bch,0e8fbbf4eh,0d9d03152h,0b7707d40h,0cfd6f51dh,063f6e6e0h,0633084d9h,055667eafh,0edcd9cdch,02e44d56fh,073b7f92bh,04e962b14h,0fb2e39b6h,0f671fcbfh,07d408f6eh - DD 0164a89bbh,0cc634ddch,03ef3bd05h,074a42bb2h,0428decbbh,01280dbb2h,0402c8596h,06103f6bbh,0355a5752h,0fa2bf581h,000946674h,0562f96a8h,06da0223bh,04e4ca16dh,028d3aa25h,0fe47819fh - DD 0f8dfcf8ah,09eea3075h,095669825h,0a284f0aah,0867d3fd8h,0b3fca250h,0269d691eh,020757b5fh,093b8a5deh,0f2c24020h,0ebc06da6h,0d3f93359h,0b2739c33h,01178293eh,0bcd686e5h,0d2a3e770h - DD 0cd941534h,0a76f49f4h,0e3c71c0eh,00d37406bh,03b97f7e3h,0172d9397h,0bd7fd0deh,0ec17e239h,06f496ba2h,0e3290551h,036ad50e7h,06a693172h,083e7eff5h,0c4e539a2h,018e1b4cfh,0752737e7h - DD 068af43eeh,0a2f7932ch,0703d00bdh,05502468eh,02fb061f5h,0e5dc978fh,028c815adh,0c9a1904ah,0470c56a4h,0d3af538dh,0193d8cedh,0159abc5fh,020108ef3h,02a37245fh,0223f7178h,0fa17081eh - DD 010c8c0f5h,027b0fb2bh,040650547h,02102c3eah,08ac3bfa7h,0594564dfh,0509dad96h,098102033h,0f1d18a13h,06989643fh,0d7fc5af0h,035eebd91h,0faeaafd8h,0078d096ah,0def3de98h,0b7a89341h - DD 0ecf2a73ah,02a206e8dh,08e551994h,0066a6397h,0b98d53a2h,03a6a088ah,02d1124aah,00ce7c67ch,0759a113ch,048cec671h,04f6f67fah,0e3b373d3h,0fd36727bh,05455d479h,0a13c0d81h,0e5a428eeh - DD 01c86682bh,0b853dbc8h,0b8d02b2ah,0b78d2727h,08ebc329ah,0aaf69bedh,0293b2148h,0db6b40b3h,0b8c4961fh,0e42ea77dh,020e5e0abh,0b1a12f7ch,079e8b05eh,0a0ec5274h,0fab60a80h,068027391h - DD 016b1bd5eh,06bfeea5fh,04de30ad3h,0f957e420h,06a353b9eh,0cbaf664eh,026d14febh,05c873312h,0b65f57cbh,04e87f98ch,05e0cdd41h,0db60a621h,0a6881440h,067c16865h,046ab52aah,01093ef1ah - DD 03f4ece64h,0c095afb5h,07604551ah,06a6bb02eh,00b26b8cdh,055d44b4eh,0f971268ah,0e5f9a999h,011a7de84h,0c08ec425h,0fda469ddh,083568095h,06c6c90a2h,0737bfba1h,0be229831h,01cb9c4a0h - DD 0bb2eec64h,093bccbbah,0da03adbeh,0a0c23b64h,0e0e86ac4h,05f7aa00ah,0fc1401e6h,0470b941eh,09df43574h,05ad8d679h,00f65d810h,04ccfb8a9h,0aa7fbd81h,01bce80e3h,09508d20ah,0273291adh - DD 042a92806h,0f5c4b46bh,0a86ab44ah,0810684ech,0ca0bc9f8h,04591640bh,05c4b6054h,0b5efcdfch,06e9edd12h,016fc8907h,0d4d792f9h,0e29d0b50h,09b03116dh,0a45fd01ch,0c81765a4h,085035235h - DD 0b4b4b67ch,01fe2a9b2h,0e8020604h,0c1d10df0h,0bc8058d8h,09d64abfch,0712a0fbbh,08943b9b2h,03b3def04h,090eed914h,04ce775ffh,085ab3aa2h,07bbc9040h,0605fd4cah,0e2c75dfbh,08b34a564h - DD 010358560h,041ffc94ah,09e5c28aah,02d8a5072h,04cc7eb15h,0e915a0fch,08f6d0f5dh,0e9efab05h,0d19e9b91h,0dbab47a9h,00276154ch,08cfed745h,02cfede0dh,0154357aeh,019f5a4efh,0520630dfh - DD 0e382360fh,025759f7ch,088bf5857h,0b6db05c9h,06c58d46ch,02917d61dh,0fd20cb7ah,014f8e491h,011c20340h,0b68a727ah,0af7ccbb6h,00386f86fh,0fee09a20h,05c8bc6cch,0bb7eea35h,07d76ff4ah - DD 0db15be7ah,0a7bdebe7h,0d89f0302h,067a08054h,0c1193364h,056bf0ea9h,062837ebeh,0c8244467h,020d841b8h,032bd8e8bh,0dbb8a54fh,0127a0548h,063b20236h,083dd4ca6h,0203491fah,087714718h - DD 0aa8a5288h,04dabcaaah,0af23a1c9h,091cc0c8ah,03f220e0ch,034c72c6ah,01232144ah,0bcc20bdfh,0a20ede1bh,06e2f42dah,074a00515h,0c441f00ch,0734b8c4bh,0bf46a5b6h,07b56c9a4h,057409503h - DD 0e4585d45h,09f735261h,06734e642h,09231faedh,0be70ee6ch,01158a176h,07c3501bfh,035f1068dh,0a2d26115h,06beef900h,0ef0afee3h,0649406f2h,0bc2420a1h,03f43a60ah,0d5aee4ach,0509002a7h - DD 03ff3571bh,0b46836a5h,0837927c1h,024f98b78h,04533c716h,06254256ah,0d07ee196h,0f27abb0bh,05c6d5bfdh,0d7cf64fch,0f0cd7a77h,06915c751h,08798f534h,0d9f59012h,0f81d8b5fh,0772b0da8h - DD 02e03fa69h,01244260ch,03be1a374h,036cf0e3ah,0ef06b960h,06e7c1633h,0671f90f6h,0a71a4c55h,033c673dbh,07a941251h,073e8c131h,0c0bea510h,0d4f6c734h,061a8a699h,0341ed001h,025e78c88h - DD 08e2f7d90h,05c18acf8h,077be32cdh,0fdbf33d7h,0d2eb5ee9h,00a085cd7h,0b3201115h,02d702cfbh,085c88ce8h,0b6e0ebdbh,01e01d617h,023a3ce3ch,0567333ach,03041618eh,0157edb6bh,09dd0fd8fh - DD 0b57872b8h,027f74702h,0657d5fe1h,02ef26b4fh,057cf3d40h,095426f0ah,065a6067ah,0847e2ad1h,009996a74h,0d474d9a0h,02a26115ch,016a56acdh,0d16f4d43h,002a615c3h,0aadb85b7h,0cc3fc965h - DD 0ce07d1b0h,0386bda73h,058ad4178h,0d82910c2h,0cd2617f4h,0124f82cfh,0ef691770h,0cc2f5e8dh,0b8c30ccch,082702550h,01a8e575ah,07b856aeah,0b1ab9459h,0bb822fefh,0ec24e38eh,0085928bch - DD 0ba8f4b4dh,05d0402ech,000b4d58bh,0c07cd4bah,029227e7ah,05d8dffd5h,031bf386fh,061d44d0ch,0135e6f4dh,0e486dc2bh,0e79410efh,0680962ebh,0f10088b5h,0a61bd343h,0e2e28686h,06aa76076h - DD 08fb98871h,080463d11h,0bbc76affh,0cb26f5c3h,0fbe03614h,0d4ab8eddh,0c0cf2deeh,0c8eb579bh,0c93bae41h,0cc004c15h,03aeca3b2h,046fbae5dh,00f1e9ab1h,0671235cfh,09ec285c1h,0adfba934h - DD 0f216c980h,088ded013h,0f79e0bc1h,0c8ac4fb8h,0fb97a237h,0a29b89c6h,09922d8e7h,0b697b780h,0ddb945b5h,03142c639h,0e094c3a9h,0447b06c7h,072266c90h,0cdcb3642h,0a9385046h,0633aad08h - DD 0b57c6477h,0a36c936bh,0e94dbcc6h,0871f8b64h,0a591a67bh,028d0fb62h,0c1d926f5h,09d40e081h,0f2d84b5ah,03111eaf6h,0a565b644h,0228993f9h,02c83188bh,00ccbf592h,03df3e197h,0f87b30abh - DD 07642bca8h,0b8658b31h,052800f17h,01a032d7fh,079bf9445h,0051dcae5h,054a2e253h,0eba6b8eeh,0d4485692h,05c8b9cadh,08986e9beh,084bda40eh,02f0db448h,0d16d16a4h,0a14d4188h,08ec80050h - DD 098fa7aaah,0b2b26107h,0f073aa4eh,041209ee4h,0f2d6b19bh,0f1570359h,0fc577cafh,0cbe6868ch,032c04dd3h,0186c4bdch,0cfeee397h,0a6c35faeh,0f086c0cfh,0b4a1b312h,0d9461fe2h,0e0a5ccc6h - DD 01536189fh,0c32278aah,0ba6df571h,01126c55fh,0b194560eh,00f71a602h,0324bd6e1h,08b2d7405h,03738be71h,08481939eh,01a4d97a9h,0b5090b1ah,0f05ba915h,0116c65a3h,0aae448aah,021863ad3h - DD 0a7aae5d3h,0d24e2679h,00de5c1c4h,07076013dh,0bb05b629h,02d50f8bah,06e66efbbh,073c1abe2h,0f2488af7h,0efd4b422h,0663ba575h,0e4105d02h,053a69457h,07eb60a8bh,0c945973bh,062210008h - DD 077a50ec6h,0fb255478h,00a37a72ch,0bf0392f7h,04be18e7ah,0a0a7a19ch,025b1e0afh,090d8ea16h,0ef953f57h,07582a293h,0bdc5465ah,090a64d05h,0e2510717h,0ca79c497h,018cb641fh,0560dbb7ch - DD 04b66abfbh,01d8e3286h,059030900h,0d26f52e5h,05584941ah,01ee3f643h,0569f5958h,06d3b3730h,04789dba5h,09ff2a62fh,072b5c9b7h,091fcb815h,06c8f9a0eh,0f446cb7dh,039b7ecb5h,048f625c1h - DD 01c6219b8h,0babae801h,028ac2f23h,0e7a562d9h,026e20588h,0e1b48732h,0775af051h,006ee1cadh,0faff79f7h,0da29ae43h,0652ee9e0h,0c141a412h,0195f4bd0h,01e127f6fh,0072f34f8h,029c6ab4fh - DD 030448112h,07b7c1477h,0e4a38656h,082b51af1h,02f315010h,02bf2028ah,06ea88cd4h,0c9a4a01fh,0257e5818h,0f63e95d8h,0b4519b16h,0dd8efa10h,00da910bfh,0ed8973e0h,05c0fe4a9h,0ed49d077h - DD 0b7caee1eh,0ac3aac5eh,0a7f4da57h,01033898dh,05c6669b9h,042145c0eh,0c1aa2aa0h,042daa688h,01a1d885ah,0629cc15ch,0f4b76817h,025572ec0h,09c8f8f28h,08312e435h,081965490h,08107f8cdh - DD 06fa6110ch,0516ff3a3h,0fb93561fh,074fb1eb1h,08457522bh,06c0c9047h,06bb8bdc6h,0cfd32104h,0cc80ad57h,02d6884a2h,086a9b637h,07c27fc35h,0adf4e8cdh,03461baedh,0617242f0h,01d56251ah - DD 0c955bef4h,00b80d209h,006adb047h,0df02cad2h,05ec74feeh,0f0d7cb91h,01111ba44h,0d2503375h,0df53cb36h,09671755eh,03368551bh,054dcb612h,0c8a025a4h,066d69aach,0e77ef445h,06be946c6h - DD 0a995e094h,0719946d1h,0e51e04d8h,065e848f6h,06a1e3113h,0e62f3300h,0501de503h,01541c7c1h,0f4acfadeh,04daac9fah,044cd0b71h,00e585897h,00a51cd77h,0544fd869h,00031016dh,060fc20edh - DD 0a4276867h,058b404ech,034f34993h,046f6c3cch,0c636e5bdh,0477ca007h,07c458b47h,08018f5e5h,0e47b668fh,0a1202270h,0ee14f203h,0cef48ccdh,062ff9b4dh,023f98baeh,0c589edddh,055acc035h - DD 064db4444h,03fe712afh,0becdd480h,019e9d634h,0a930978ah,0e08bc047h,0a1280733h,02dbf24ech,02cd706b2h,03c0ae38ch,0359017b9h,05b012a5bh,072e0f5aeh,03943c38ch,057176fa3h,0786167eah - DD 0594881dch,0e5f9897dh,0cfb820c1h,06b5efad8h,0d55018deh,0b2179093h,00bac56ceh,039ad7d32h,02cfc0e81h,0b55122e0h,0f6d89daah,0117c4661h,0cb64fa09h,0362d01e1h,03e9c4dddh,06a309b4eh - DD 0abea49b1h,0fa979fb7h,010e2c6c5h,0b4b1d27dh,023afde7ah,0bd61c2c4h,09786d358h,0eb6614f8h,07f6f7459h,04a5d816bh,009360e7bh,0e431a44fh,0c309914ch,08c27a032h,0caede3d8h,0cea5d68ah - DD 03a0a3f95h,03668f665h,07ceba27bh,089369416h,0e4728fe9h,089981fadh,08a093562h,07102c8a0h,0235d21c8h,0bb80310eh,0befb7f7bh,0505e55d1h,012958a67h,0a0a90811h,04d851fefh,0d67e106ah - DD 0431dd80eh,0b84011a9h,073306cd9h,0eb7c7ccah,0d1b3b730h,020fadd29h,0fe37b3d3h,083858b5bh,0b6251d5ch,0bf4cd193h,01352d952h,01cca1fd3h,090fbc051h,0c66157a4h,089b98636h,07990a638h - DD 087dec0e1h,0e5aa692ah,0f7b39d00h,0010ded8dh,054cfa0b5h,07b1b80c8h,0a0f8ea28h,066beb876h,03476cd0eh,050d7f531h,0b08d3949h,0a63d0e65h,053479fc6h,01a09eea9h,0f499e742h,082ae9891h - DD 05ca7d866h,0ab58b910h,03adb3b34h,0582967e2h,0cceac0bch,089ae4447h,07bf56af5h,0919c667ch,060f5dcd7h,09aec17b1h,0ddcaadbch,0ec697b9fh,0463467f5h,00b98f341h,0a967132fh,0b187f1f7h - DD 0214aeb18h,090fe7a1dh,0741432f7h,01506af3ch,0e591a0c4h,0bb5565f9h,0b44f1bc3h,010d41a77h,0a84bde96h,0a09d65e4h,0f20a6a1ch,042f060d8h,0f27f9ce7h,0652a3bfdh,03b3d739fh,0b6bdb65ch - DD 0ec7fae9fh,0eb5ddcb6h,0efb66e5ah,0995f2714h,069445d52h,0dee95d8eh,009e27620h,01b6c2d46h,08129d716h,032621c31h,00958c1aah,0b03909f1h,01af4af63h,08c468ef9h,0fba5cdf6h,0162c429fh - DD 0753b9371h,02f682343h,05f1f9cd7h,029cab45ah,0b245db96h,0571623abh,03fd79999h,0c507db09h,0af036c32h,04e2ef652h,005018e5ch,086f0cc78h,0ab8be350h,0c10a73d4h,07e826327h,06519b397h - DD 09c053df7h,0e8cb5eefh,0b300ea6fh,08de25b37h,0c849cffbh,0db03fa92h,0e84169bbh,0242e43a7h,0dd6f958eh,0e4fa51f4h,0f4445a8dh,06925a77fh,0e90d8949h,0e6e72a50h,02b1f6390h,0c66648e3h - DD 0173e460ch,0b2ab1957h,030704590h,01bbbce75h,0db1c7162h,0c0a90dbdh,015cdd65dh,0505e399eh,057797ab7h,068434dcbh,06a2ca8e8h,060ad35bah,0de3336c1h,04bfdb1e0h,0d8b39015h,0bbef99ebh - DD 01711ebech,06c3b96f3h,0ce98fdc4h,02da40f1fh,057b4411fh,0b99774d3h,015b65bb6h,087c8bdf4h,0c2eef12dh,0da3a89e3h,03c7471f3h,0de95bb9bh,0d812c594h,0600f225bh,02b75a56bh,054907c5dh - DD 08db60e35h,0a93cc5f0h,0fa833319h,0743e3cd6h,0f81683c9h,07dad5c41h,09c34107eh,070c1e7d9h,0a6be0907h,00edc4a39h,086d0b7d3h,036d47035h,0272bfa60h,08c76da03h,00f08a414h,00b4a07eah - DD 045c1dd53h,0699e4d29h,0231debb5h,0cadc5898h,0a77f00e0h,0df49fcc7h,0a73e5a0eh,093057bbfh,0027a4cd1h,02f8b7ecdh,0c614011ah,0114734b3h,067677c68h,0e7a01db7h,07e273f4fh,089d9be5eh - DD 0089808efh,0d225cb2eh,0d59e4107h,0f1f7a27dh,08211b9c9h,053afc761h,0e6819159h,00361bc67h,07f071426h,02a865d0bh,0e7072567h,06a3c1810h,00d6bcabdh,03e3bca1eh,0408591bch,0a1b02bc1h - DD 031fba239h,0e0deee59h,098bd91d1h,0f47424d3h,0071a3c1dh,00f8886f4h,0a819233bh,03f7d41e8h,0cf6eb998h,0708623c2h,0609a287fh,086bb49afh,063c90762h,0942bb249h,055a9654bh,00ef6eea5h - DD 036f5defeh,05f6d2d72h,056f99176h,0fa9922dch,0f78ce0c7h,06c8c5eceh,0be09b55eh,07b44589dh,09ea83770h,0e11b3bcah,02ab71547h,0d7fa2c7fh,02a1ddcc0h,02a3dd6fah,05a7b7707h,009acb430h - DD 0649d4e57h,04add4a2eh,01917526eh,0cd53a2b0h,020b44ac4h,0c5262330h,0baa2c31dh,04028746ah,064291d4ch,051318390h,0ee5ad909h,0bf48f151h,07b185681h,0cce57f59h,04854d442h,07c3ac1b0h - DD 0c093c171h,065587dc3h,024f42b65h,0ae7acb24h,0955996cbh,05a338adbh,06051f91bh,0c8e65675h,028b8d0b1h,066711fbah,0b6c10a90h,015d74137h,03a232a80h,070cdd7ebh,06191ed24h,0c9e2f07fh - DD 0f79588c0h,0a80d1db6h,0b55768cch,0fa52fc69h,07f54438ah,00b4df1aeh,0f9b46a4fh,00cadd1a7h,01803dd6fh,0b40ea6b3h,055eaae35h,0488e4fa5h,0382e4e16h,09f047d55h,02f6e0c98h,0c9b5b7e0h - DD 095762649h,06b1bd2d3h,0c7aea3f6h,0a9604ee7h,06dc6f896h,03646ff27h,02860bad1h,09bf0e7f5h,07cb44b92h,02d92c821h,0aea9c182h,0a2f5ce63h,09154a5fdh,0d0a2afb1h,095801da6h,0482e474ch - DD 0b611c24bh,0c19972d0h,060a8f351h,01d468e65h,07bcf6421h,0eb758069h,088fbc491h,0ec9dd0eeh,0956c2e32h,05b59d2bfh,0dcddf94eh,073dc6864h,0bcee7665h,0fd5e2321h,05e9a06c4h,0a7b4f8efh - DD 07280f855h,0fba918ddh,08baec688h,0bbaac260h,033400f42h,0a3b3f00fh,066f2e6e4h,03d2dba29h,098509375h,0b6f71a94h,0cea423cch,08f33031fh,04807e6fbh,0009b8dd0h,05cdb954ch,05163cfe5h - DD 0cf41c6e8h,003cc8f17h,0037b925ch,0f1f03c2ah,066d2427ch,0c39c19cch,07b6c18e4h,0823d24bah,0901f0b4fh,032ef9013h,0f8941c2eh,0684360f1h,02c28092eh,00ebaff52h,0256c932fh,07891e4e3h - DD 0ac445e3dh,051264319h,08ea74381h,0553432e7h,067e9c50ah,0e6eeaa69h,062e628c7h,027ced284h,07a4afa57h,03f96d375h,0e484c150h,0de0a14c3h,038bd9923h,0364a24ebh,0e5177422h,01df18da0h - DD 0d8d38a9bh,0174e8f82h,0e7de1391h,02e97c600h,0a1c175ddh,0c5709850h,032ae5035h,0969041a0h,076a2086bh,0cbfd533bh,0d7c2e8feh,0d6bba71bh,0099dfb67h,0b2d58ee6h,0064a85d9h,03a8b342dh - DD 0522f9be3h,03bc07649h,0df1f49a8h,0690c075bh,03854ec42h,080e1aee8h,017689dc7h,02a7dbf44h,03faf4078h,0c004fc0eh,0df11862ch,0b2f02e9eh,0a0a1b7b3h,0f10a5e0fh,08936ec80h,030aca623h - DD 002f40d9ah,0f83cbf05h,02c318a4dh,04681c468h,00e9c2674h,098575618h,01847092eh,0be79d046h,078bd01e0h,0af1e480ah,072a51db9h,06dd359e4h,0e3afbab6h,062ce3821h,017733199h,0c5cee5b6h - DD 06ffd9fbbh,0e08b30d4h,036c610b7h,06e5bc699h,09ce262cfh,0f343cff2h,068b914c1h,0ca2e4e35h,016de36c5h,0011d64c0h,042e2b829h,0e0b10fddh,06685aaf8h,078942981h,0230ede97h,0e7511708h - DD 03b922bf8h,0671ed8fch,04c29b133h,0e4d8c0a0h,03b6e99c4h,087eb1239h,08793bebah,0aff3974ch,02c18df9bh,003749405h,091007139h,0c5c3a293h,0e37a0b95h,06a77234fh,0b661c96bh,002c29a21h - DD 0141ecf61h,0c3aaf1d6h,03bb22f53h,09195509eh,022d51357h,029597404h,0537bed60h,01b083822h,0e07289f0h,0cd7d6e35h,06dd86effh,01f94c48ch,0eb0f9cfah,0c8bb1f82h,01b2eb97dh,09ee0b7e6h - DD 034d74e31h,05a52fe2eh,03bf79ab6h,0a352c310h,0abfeeb8fh,097ff6c5ah,0f5c97305h,0bfbe8fefh,0a7904608h,0d6081ce6h,0c4fca249h,01f812f3ah,0b9e5e200h,09b24bc9ah,038012ee8h,091022c67h - DD 030a713a1h,0e83d9c5dh,084ef0f93h,04876e3f0h,0c1fbf928h,0c9777029h,0bce7d2a4h,0ef7a6bb3h,0dfa2a659h,0b8067228h,0d877a48fh,0d5cd3398h,0025d0f3fh,0bea4fd8fh,02eae7c2bh,0d67d2e35h - DD 0cc5f4394h,0184de7d7h,04536e142h,0b5551b5ch,0d34aa60ah,02e89b212h,0f50051d5h,014a96feah,00d12bb0bh,04e21ef74h,060b9677eh,0c522f020h,02df7731dh,08b12e467h,07b326d31h,039f80382h - DD 039024a94h,0dfb8630ch,097319452h,0aacb96a8h,0eda3867ch,0d68a3961h,077c4ffcah,00c58e2b0h,04da919fah,03d545d63h,0f15e2289h,0ef79b69ah,0808bab10h,054bc3d3dh,045f82c37h,0c8ab3007h - DD 07c4a658ah,0c12738b6h,040e72182h,0b3c47639h,08798e44fh,03b77be46h,017a7f85fh,0dc047df2h,05e59d92dh,02439d4c5h,0e8e64d8dh,0cedca475h,087ca9b16h,0a724cd0dh,0a5540dfeh,035e4fd59h - DD 0e4bcf6b1h,0f8c1ff18h,0295018fah,0856d6285h,03263c949h,0433f665ch,0a1f21409h,0a6a76dd6h,0cc7b4f79h,017d32334h,006720e4ah,0a1d03122h,081d9bed5h,0adb6661dh,011db15d1h,0f0d6fb02h - DD 01fb747d2h,07fd11ad5h,03033762bh,0ab50f959h,0fbefaf5ah,02a7e711bh,03fef2bbfh,0c7393278h,00df6f9beh,0e29fa244h,071efd215h,09092757bh,04f3d6fd9h,0ee60e311h,00acfb78bh,0338542d4h - DD 038961a0fh,044a23f08h,0986987cah,01426eadeh,04a863cc6h,036e6ee2eh,0628b8b79h,048059420h,07396e1deh,030303ad8h,038c5aad1h,05c8bdc48h,05c8f5066h,03e40e11fh,08d246bbdh,0abd6e768h - DD 023330a01h,068aa40bbh,0c34eafa0h,0d23f5ee4h,05de02c21h,03bbee315h,0d1d8dd06h,018dd4397h,0122d7b44h,03ba1939ah,0a33870d6h,0e6d3b40ah,01c4fe3f8h,08e620f70h,0d3a50cbfh,0f6bba1a5h - DD 0cfc0aee0h,04a78bde5h,0c08c50bdh,0847edc46h,0ad63c9b2h,0baa2439ch,010fc2acbh,0ceb4a728h,026da033dh,0a419e40eh,003e02683h,06cc3889dh,0fdccf725h,01cd28559h,08d13d208h,00fd7e0f1h - DD 01f0df9d4h,001b9733bh,0a2b5e4f3h,08cc2c5f3h,03a304fd4h,043053bfah,00a9f1aa7h,08e87665ch,0d73dc965h,0087f29ech,03e9023dbh,015ace455h,02bce28b4h,02370e309h,0b6b1e84ah,0f9723442h - DD 0b72d9f26h,0beee662eh,0f0e47109h,0b19396deh,0e13289d0h,085b1fa73h,054e58e32h,0436cf77eh,0e990ef77h,00ec833b3h,01b11fc25h,07373e3edh,00fc332ceh,0be0eda87h,08d7ea856h,0ced04970h - DD 07e977ca0h,0f85ff785h,0dfdd5d2bh,0b66ee8dah,0905af461h,0f5e37950h,0966d487ch,0587b9090h,032ba0127h,06a198a1bh,0141615ach,0a7720e07h,0996ef2f2h,0a23f3499h,0470bcb3dh,0ef5f64b4h - DD 092b8c559h,0a526a962h,069740a0fh,00c14aac0h,0a6bdc0a5h,00d41a9e3h,09c48aef4h,097d52106h,03e7c253bh,0cf16bd30h,047fdedc1h,0cc834b1ah,0373aab2eh,07362c6e5h,0c5f590ffh,0264ed85eh - DD 066d41870h,07a46d9c0h,04787ba09h,0a50c20b1h,0e3d44635h,0185e7e51h,031e2d8dch,0b3b3e080h,0a179e9d9h,0bed1e558h,074a76781h,02daa3f79h,03a40864fh,04372baf2h,04fe75cb5h,046900c54h - DD 0f76765d0h,0b95f171eh,095c87502h,04ad726d2h,04d7c99bdh,02ec769dah,0c36cdfa8h,05e2ddd19h,0a93e6deah,0c22117fch,093771123h,0e8a2583bh,0fa08a3a2h,0be2f6089h,08f0e1112h,04809d5edh - DD 0da7a095eh,03b414aa3h,026f5aaddh,09049acf1h,06be8b84ah,078d46a4dh,0b732b9b3h,0d66b1963h,0de6e9555h,05c2ac2a0h,0b5bd8770h,0cf52d098h,00fd28921h,015a15fa6h,08b27536dh,056ccb81eh - DD 09f4ccbb8h,00f0d8ab8h,0db221729h,0ed5f44d2h,000bed10ch,043141988h,01d735b8bh,0c94348a4h,029ef8479h,079f3e9c4h,0614c693fh,04c13a4e3h,08e143a14h,032c9af56h,0e29ac5c4h,0bc517799h - DD 02774856fh,005e17992h,06c1bf55fh,06e52fb05h,0e4f19e16h,0aeda4225h,0af5ccb26h,070f4728ah,0b2947f22h,05d2118d1h,0281d6fb9h,0c827ea16h,08cf0eabdh,08412328dh,003ef9dcfh,045ee9fb2h - DD 0bb937d63h,08e700421h,0cc4b37a6h,0df8ff2d5h,05ced7b68h,0a4c0d5b2h,0c7308f59h,06537c1efh,03b37f8e8h,025ce6a26h,0deebc6ceh,0170e9a9bh,08728d72ch,0dd037952h,0850154bch,0445b0e55h - DD 083a7337bh,04b7d0e06h,0ffecf249h,01e3416d4h,066a2b71fh,024840effh,0b37cc26dh,0d0d9a50ah,06fe28ef7h,0e2198150h,023324c7fh,03cc5ef16h,0769b5263h,0220f3455h,0a10bf475h,0e2ade2f1h - DD 0458d3671h,028cd20fah,02dc4847bh,01549722ch,0591941e3h,06dd01e55h,027128ccbh,00e6fbceah,03bef0262h,0ae1a1e6bh,08f54e103h,0fa8c472ch,072c052ech,07539c0a8h,05a3490e9h,0d7b27369h - DD 071684349h,0143fe1f1h,032e19b97h,036b4722eh,090980affh,0dc059227h,09e13d674h,0175c9c88h,06e6bfdb1h,0a7de5b22h,0bedb4b46h,05ea5b7b2h,0d34a6e44h,0d5570191h,0a24ff7e6h,0fcf60d2eh - DD 0677819e1h,0614a392dh,0aa5a29e8h,07be74c7eh,063c85f3fh,0ab50feceh,046cab337h,0aca2e2a9h,0122a6fe3h,07f700388h,0882a04a8h,0db69f703h,0cf7aed57h,09a77935dh,08d91c86fh,0df16207ch - DD 063ed9998h,02fca49abh,0a77ddf96h,0a3125c44h,024344072h,005dd8a86h,0fec3fb56h,0a023dda2h,00c743032h,0421b41fch,05e438639h,04f2120c1h,0c83c1b07h,0fb7cae51h,0cac2171ah,0b2370caah - DD 06cc820fbh,02eb2d962h,0b85a44bfh,059feee5ch,05b6598f0h,094620fcah,07e314051h,06b922caeh,0106bed4eh,0ff8745adh,0dfa1e9abh,0546e71f5h,01ec29487h,0935c1e48h,04d936530h,09509216ch - DD 085c9a2dbh,0c7ca3067h,06be8606fh,0d6ae5152h,0e14c651dh,009dbcae6h,09bc32f96h,0c9536e23h,034521b03h,0a90535a9h,0878756ffh,0f39c526ch,08aedf03ch,0383172ech,0efe0c034h,020a8075eh - DD 064026422h,0f22f9c62h,024b9d076h,08dd10780h,03bef2950h,0944c742ah,088a2b00bh,055b9502eh,086a09817h,0a59e14b4h,047bb4071h,0a39dd3ach,03be0592fh,055137f66h,0c9e63f5bh,007fcafd4h - DD 0346eb226h,0963652eeh,0ec2facb7h,07dfab085h,0691add26h,0273bf2b8h,0f2b46c44h,030d74540h,0f2c2d065h,005e8e73eh,0d42eeac9h,0ff9b8a00h,097209d22h,02fcbd205h,0de14ea2ch,0eb740ffah - DD 0a8aef518h,0c71ff913h,0fff4cfa2h,07bfc74bbh,0b6b36048h,01716680ch,09ef79af1h,0121b2cceh,0a01eb3d3h,0bff3c836h,05f79077bh,050eb1c6ah,0a004bbcfh,0a48c32d6h,07d64f61dh,047a59316h - DD 093102016h,06068147fh,094d12576h,012c5f654h,0c9bc6b91h,0efb071a7h,06e23ea95h,07c2da0c5h,0d4a1dd5dh,0f4fd45b6h,09122b13ch,03e7ad9b6h,0e6f57a48h,0342ca118h,006f8288fh,01c2e94a7h - DD 05a97d231h,099e68f07h,04d838758h,07c80de97h,005872727h,0bce0f5d0h,019c4d016h,0be5d95c2h,09c2492eeh,0921d5cb1h,0404d6fb3h,042192dc1h,032f988d3h,04c84dcd1h,0a17b8e85h,0de26d61fh - DD 0137c7408h,0c466dcb6h,036a266dah,09a38d7b6h,083bebf1bh,07ef5cb06h,00fd014e3h,0e5cdcbbfh,0f65965a0h,030aa376dh,0ebb3e95eh,060fe88c2h,066ee6f20h,033fd0b61h,03f41f0a0h,08827dcdbh - DD 00c56c690h,0bf8a9d24h,0ddb7641dh,040265dadh,03a6b662bh,0522b05bfh,0b1478c9bh,0466d1dfeh,01484469bh,0aa616962h,002df8f9fh,00db60549h,03cb8bf51h,0c37bca02h,021371ce8h,05effe346h - DD 0ff112c32h,0e8f65264h,07b971fb2h,08a9c736dh,07b75080dh,0a4f19470h,08839c59bh,0fc3f2c5ah,05aeb49c2h,01d6c777eh,0da1addfeh,0f3db034dh,05535affch,0d76fee5ah,0b92251fdh,00853ac70h - DD 08b2a29d5h,037e3d594h,04de00ddbh,028f1f457h,0f42c328bh,08083c1b5h,0e493c73bh,0d8ef1d8fh,041dc61bdh,096fb6260h,027ee2f8ah,0f74e8a9dh,02c946a5dh,07c605a80h,03839ccfdh,0eed48d65h - DD 03a29467ah,09894344fh,0c51eba6dh,0de81e949h,0a5e5c2f2h,0daea066bh,008c8c7b3h,03fc8a614h,006d0de9fh,07adff88fh,03b75ce0ah,0bbc11cf5h,0fbbc87d5h,09fbb7acch,07badfde2h,0a1458e26h - DD 0e039c256h,01cb43668h,07c17fd5dh,05f26fb8bh,079aa062bh,0eee426afh,0d78fbf04h,0072002d0h,0e84fb7e3h,04c9ca237h,00c82133dh,0b401d8a1h,06d7e4181h,0aaa52592h,073dbb152h,0e9430833h - DD 0be24319ah,0f92dda31h,0e095a8e7h,003f7d28bh,098782185h,0a52fe840h,029c24dbch,0276ddafeh,01d7a64ebh,080cd5496h,07f1dbe42h,0e4360889h,08438d2d5h,02f81a877h,085169036h,07e4d52a8h - DD 01d59715dh,019e3d5b1h,0d788983eh,0c7eaa762h,0abf1f248h,0e5a730b0h,0fae3fd83h,0fbab8084h,053765b2fh,065e50d21h,0fa127f3dh,0bdd4e083h,0397b1b10h,09cf3c074h,0b1b59fd3h,059f8090ch - DD 0615faa8fh,07b15fd9dh,0968554edh,08fa1eb40h,07aa44882h,07bb4447eh,0029fff32h,02bb2d0d1h,06caa6d2fh,0075e2a64h,022e7351bh,08eb879deh,09a506c62h,0bcd5624eh,0a87e24dch,0218eaef0h - DD 044ddfa35h,037e56847h,0dab3f747h,09ccfc5c5h,01ee96cf4h,09ac1df3fh,03b480b8fh,00c0571a1h,04b3a7b3ch,02fbeb3d5h,05dcdbb99h,035c03669h,0b2415b3ah,052a0f5dch,04413ed9ah,0d57759b4h - DD 03d30a2c5h,01fe647d8h,0f78a81dch,00857f77eh,0131a4a9bh,011d5a334h,029d393f5h,0c0a94af9h,0daa6ec1ah,0bc3a5c0bh,088d2d7edh,0ba9fe493h,0bb614797h,0bb4335b4h,072f83533h,0991c4d68h - DD 0d2f01cb3h,053258c28h,0d75db0b1h,093d6eaa3h,0e87d0db4h,0419a2b0dh,0d8fe8493h,0a1e48f03h,0c508b23ah,0f747faf6h,035d53549h,0f137571ah,0fcf9b838h,09f5e58e2h,0a7fd3cf5h,0c7186ceeh - DD 0e978a1d3h,077b868ceh,07ab92d04h,0e3a68b33h,087a5b862h,051029794h,03a61d41dh,05f0606c3h,06f9326f1h,02814be27h,0c6fe3c2eh,02f521c14h,0acdf7351h,017464d7dh,0777f7e44h,010f5f9d3h - DD 0269fb37dh,0ce8e616bh,07de62de5h,0aaf73804h,04fdd4153h,0aba11175h,03770b49bh,0515759bah,0aa423a61h,08b09ebf8h,0cd41fb92h,0592245a1h,09b4c8936h,01cba8ec1h,0af36710eh,0a87e91e3h - DD 03d34a2e3h,01fd84ce4h,0b43b5d61h,0ee3759ceh,0619186c7h,0895bc78ch,0cbb9725ah,0f19c3809h,0de744b1fh,0c0be21aah,060f8056bh,0a7d222b0h,0b23efe11h,074be6157h,00cd68253h,06fab2b4fh - DD 04bf1d725h,0ad33ea5fh,04f6c950fh,09c1d8ee2h,0a377af06h,0544ee78ah,094a113e1h,054f489bbh,0992fb7e8h,08f11d634h,0a2a44347h,00169a7aah,095020e00h,01d49d4afh,0e08e120bh,095945722h - DD 0a4d32282h,0b6e33878h,048020ae7h,0e36e029dh,037a9b750h,0e05847fbh,0b29e3819h,0f876812ch,0d23a17f0h,084ad138eh,0f0b3950eh,06d7b4480h,02fd67ae0h,0dfa8aef4h,052333af6h,08d3eea24h - DD 0b15d5acch,00d052075h,0bd815bc4h,0c6d9c79fh,0dfa36cf2h,08dcafd88h,038aa9070h,0908ccbe2h,0ba35afceh,0638722c4h,0fd6abf0bh,05a3da8b0h,0c9c335c1h,02dce252ch,065aa799bh,084e7f0deh - DD 0b99a72cbh,02101a522h,087618016h,006de6e67h,0e6f3653eh,05ff8c7cdh,0c7a6754ah,00a821ab5h,07cb0b5a2h,07e3fa52bh,0c9048790h,0a7fb121ch,006ce053ah,01a725020h,004e929b0h,0b490a31fh - DD 062dd61adh,0e17be47dh,06be01371h,0781a961ch,0dae3cbbah,01063bfd3h,07f73c9bah,035647406h,02736a129h,0f50e957bh,0ed13f256h,0a6313702h,03a19fcc5h,09436ee65h,0e7a4c8b6h,0cf2bdb29h - DD 0c5f95cd8h,0b06b1244h,0f4ab95f4h,0da8c8af0h,0b9e5836dh,01bae59c2h,03acffffch,007d51e7eh,0c2ccbcdah,001e15e6ah,08528c3e0h,03bc1923fh,0a49fead4h,043324577h,02aa7a711h,061a1b884h - DD 0700230efh,0f9a86e08h,0bd19adf8h,00af585a1h,0f55ad8f2h,07645f361h,046c3614ch,06e676223h,04e774d3fh,023cb257ch,0ac102d1bh,082a38513h,07b126aa5h,09bcddd88h,0eefd3ee4h,0e716998bh - DD 0fb167583h,04239d571h,0d16c8f8ah,0dd011c78h,069a27519h,0271c2895h,0d2d64b6ah,09ce0a3b7h,0d5ec6738h,08c977289h,08840ef6bh,0a3b49f9ah,09a453419h,0808c14c9h,00cf0a2d5h,05c00295bh - DD 01d4bcc76h,0524414fbh,0459a88f1h,0b07691d2h,0f70d110fh,077f43263h,0b7abf9f3h,064ada5e0h,05b544cf5h,0afd0f94eh,0fd2713feh,0b4a13a15h,0250c74f4h,0b99b7d6eh,020324e45h,0097f2f73h - DD 0affa8208h,0994b37d8h,0dc29aafch,0c3c31b0bh,07a3a607fh,03da74651h,0fe6955d6h,0d8e1b8c1h,0c8418682h,0716e1815h,07dc91d97h,0541d487fh,0c6996982h,048a04669h,083a6502eh,0f39cab15h - DD 0e68db055h,0025801a0h,0ba3338d5h,0f3569758h,0ee2afa84h,0b0c8c0aah,0fb6562d1h,04f6985d3h,0132ed17ah,0351f1f15h,0c04365feh,0510ed0b4h,0e5b1f066h,0a3f98138h,032df03dch,0bc9d95d6h - DD 019abd09eh,0a83ccf6eh,04ff17edbh,00b4097c1h,0d64a06ceh,058a5c478h,0544a58fdh,02ddcc3fdh,09e8153b8h,0d449503dh,07774179bh,03324fd02h,0dbd9120ch,0af5d47c8h,034fa94dbh,0eb860162h - DD 0972f07f4h,05817bdd1h,0d27bbcebh,0e5579e2eh,05f11e5a6h,086847a1fh,07c3cf048h,0b39ed255h,0a2f62e55h,0e1076417h,01bcf82a2h,06b9ab38fh,07aeb29f9h,04bb7c319h,017227a46h,0f6d17da3h - DD 00f968c00h,0ab53ddbdh,0000c880bh,0a03da7ech,06a9ad24dh,07b239624h,001ec60d0h,0612c0401h,0109f5df1h,070d10493h,080af7550h,0fbda4030h,0c6b9a9b3h,030b93f95h,0007d9418h,00c74ec71h - DD 06edb951fh,094175564h,07f22c282h,05f4a9d78h,0b38d1196h,0b7870895h,0a228ce7ch,0bc593df3h,06af3641ah,0c78c5bd4h,03d9b3dcch,07802200bh,08be33304h,00dc73f32h,061ffb79ah,0847ed87dh - DD 06d671192h,0f85c974eh,0de16f60fh,01e14100ah,095c38797h,045cb0d5ah,09b022da4h,018923bbah,0bbe7e86eh,0ef2be899h,0216067bfh,04a1510eeh,084d5ce3eh,0d98c8154h,0f92a2b90h,01af777f0h - DD 04ef65724h,09fbcb400h,03c0ca6feh,03e04a4c9h,055002994h,0fb3e2cb5h,05363ecabh,01f3a93c5h,03923555bh,01fe00efeh,01e1751eah,0744bedd9h,06ab69357h,03fb2db59h,0f5e6618bh,08dbd7365h - DD 0df1ea40eh,099d53099h,057d61e64h,0b3f24a0bh,0596eb812h,0d088a198h,05762940bh,022c8361bh,0f9c0d95ch,066f01f97h,08e43cdaeh,088461172h,0b72b15c3h,011599a7fh,0420d95cch,0135a7536h - DD 05f7ae2f6h,02dcdf0f7h,0d7fa6da2h,015fc6e1dh,0d1d441b6h,081ca829ah,004a106b6h,084c10cf8h,0a73fbbd0h,0a9b26c95h,04d8f6ee8h,07f24e0cbh,01e25a043h,048b45937h,0036f3dfeh,0f8a74fcah - DD 0c9f84296h,01ed46585h,03bc278b0h,07fbaa8fbh,06c4fcbd0h,0a8e96cd4h,073b60a5fh,0940a1202h,055a4aec8h,034aae120h,0dbd742f0h,0550e9a74h,0228c68abh,0794456d7h,0a4e25ec6h,0492f8868h - DD 0b2d8f398h,0682915adh,05b84c953h,0f13b51cch,05bb917d6h,0cda90ab8h,04ea3dee1h,04b615560h,00a52c1c8h,0578b4e85h,020b75fc4h,0eab1a695h,0aa0bb3c6h,060c14f3ch,0b8216094h,0220f448ah - DD 0b0e63d34h,04fe7ee31h,0a9e54fabh,0f4600572h,0d5e7b5a4h,0c0493334h,006d54831h,08589fb92h,06583553ah,0aa70f5cch,0e25649e5h,00879094ah,010044652h,0cc904507h,002541c4fh,0ebb0696dh - DD 0b9718710h,05a171fdeh,0f374a9f5h,038f1bed8h,0ba39bdc1h,0c8c582e1h,0908cc0ceh,0fc457b0ah,0883841e2h,09a187fd4h,038725381h,08ec25b39h,096f84395h,02553ed05h,06f6c6897h,0095c7661h - DD 04bdc5610h,0917ac85ch,0179eb301h,0b2885fe4h,08b78bdcch,05fc65547h,0e59e4699h,04a9fc893h,03ce299afh,0bb7ff0cdh,0adf38b20h,0195be9b3h,0d38ddb8fh,06a929c87h,0b21a51b9h,055fcc99ch - DD 0721a4593h,02b695b4ch,0768eaac2h,0ed1e9a15h,07489f914h,0fb63d71ch,078118910h,0f98ba31ch,09b128eb4h,080291373h,0d448af4ah,07801214eh,055418dd3h,0dbd2e22bh,0d3998242h,0effb3c0dh - DD 0c7bf3827h,0dfa6077ch,047f8238fh,0f2165bcbh,08564d554h,0fe37cf68h,00a81fb98h,0e5f825c4h,0ffed4d6fh,043cc4f67h,0b50a34b0h,0bc609578h,05041faf1h,08aa8fcf9h,0651773b6h,05659f053h - DD 06044d63bh,0e87582c3h,00cdb0ca0h,0a6089409h,0bfb2bcf6h,08c993e0fh,045985cfch,0fc64a719h,083dbedbah,015c4da80h,02be67df7h,0804ae112h,0a23defdeh,0da4c9658h,05156e0d3h,012002dddh - DD 05dd21b96h,0e68eae89h,0cf44624dh,08b99f28bh,01ec8897ah,00ae00808h,06712f76eh,0dd0a9303h,04e233de4h,096237522h,02b36a8a5h,0192445b1h,0023993d9h,0abf9ff74h,02aad4a8fh,021f37bf4h - DD 0f8bd2bbdh,0340a4349h,04868195dh,01d902cd9h,0e5fdb6f1h,03d27bbf1h,0124f9f1ch,07a5ab088h,0f7a09e03h,0c466ab06h,031f2c123h,02f8a1977h,0041b6657h,0da355dc7h,08ece2a7ch,0cb840d12h - DD 07db32675h,0b600ad9fh,007a06f1bh,078fea133h,0b31f6094h,05d032269h,083ec37aah,007753ef5h,09c0bea78h,003485aedh,0bc3f4524h,041bb3989h,0697f726dh,009403761h,0df394820h,06109beb3h - DD 03b6d1145h,0804111eah,0a8582654h,0b6271ea9h,024e66562h,0619615e6h,0d7b6ad9ch,0a2554945h,099bfe35fh,0d9c4985eh,07b51cdf6h,09770ccc0h,092881832h,07c327013h,0286b26d1h,08777d45fh - DD 0d847999dh,09bbeda22h,0c3525d32h,003aa33b6h,028a959a1h,04b7b96d4h,031e5d234h,0bb3786e5h,06961f247h,0aeb5d3ceh,002f93d3fh,020aa85afh,0d7a7ae4fh,09cd1ad3dh,0781adaa8h,0bf6688f0h - DD 07469ceadh,0b1b40e86h,0309fca48h,01904c524h,04b54bbc7h,09b7312afh,0593affa2h,0be24bf8fh,0bd98764bh,0be5e0790h,0a26e299eh,0a0f45f17h,06b8fe4c7h,04af0d2c2h,08ae8a3e6h,0ef170db1h - DD 029e0ccc1h,00e8d61a0h,060ad36cah,0cd53e87eh,0c8173822h,0328c6623h,0a496be55h,07ee1767dh,0648945afh,089f13259h,025c8009ch,09e45a5fdh,01f61ab8ch,0af2febd9h,08a275385h,043f6bc86h - DD 0f2142e79h,087792348h,0c6e6238ah,017d89259h,04a839d9bh,07536d2f6h,076a1fbdch,01f428fceh,00db06dfeh,01c109601h,050a3a3cch,0bfc16bc1h,09b30f41bh,0f9cbd9ech,000138cceh,05b5da0d6h - DD 056ef96a7h,0ec1d0a48h,0982bf842h,0b47eb848h,0ec3f700dh,066deae32h,0aa1181e0h,04e43c42ch,0d1a4aa2ah,0a1d72a31h,0c004f3ceh,0440d4668h,045fe8a7ah,00d6a2d3bh,0fb128365h,0820e52e2h - DD 025e51b09h,029ac5fcfh,02023d159h,0180cd2bfh,0a1ebf90eh,0a9892171h,07c132181h,0f97c4c87h,0c03dbb7eh,09f1dc724h,0018cbbe4h,0ae043765h,00767d153h,0fb0b2a36h,0249cbaebh,0a8e2f4d6h - DD 0d95ea168h,0172a5247h,02970764ah,01758fadah,01d978169h,0ac803a51h,0de77e01bh,0299cfe2eh,0b0a98927h,0652a1e17h,020014495h,02e26e1d1h,07175b56ah,07ae0af9fh,0d64b9f95h,0c2e22a80h - DD 0d90a060ah,04d0ff9fbh,0baf38085h,0496a27dbh,0da776bcfh,032305401h,0725f209eh,0b8cdcef6h,0436a0bbah,061ba0f37h,076860049h,0263fa108h,0da3542cfh,092beb98eh,0d5849538h,0a2d4d14ah - DD 012e9a1bch,0989b9d68h,05f6e3268h,061d9075ch,099ace638h,0352c6aa9h,0920f43ffh,0de4e4a55h,0d673c017h,0e5e4144ah,06f6e05eah,0667417aeh,0dcd1bd56h,0613416aeh,086693711h,05eb36201h - DD 03a1aa914h,02d7bc504h,076dc5975h,0175a1299h,03fc8125ch,0e900e0f2h,011198875h,0569ef68ch,063a113b4h,09012db63h,098835766h,0e3bd3f56h,076412deah,0a5c94a52h,0aa735e5ch,0ad9e2a09h - DD 0508b65e9h,0405a984ch,06df1a0d1h,0bde4a1d1h,0dfba80dah,01a9433a1h,09440ad2eh,0e9192ff9h,05099fe92h,09f649696h,00b27a54ah,025ddb65ch,0c590da61h,0178279ddh,0fbde681ah,05479a999h - DD 0013fe162h,0d0e84e05h,0632d471bh,0be11dc92h,0fc0e089fh,0df0b0c45h,04c144025h,004fb15b0h,013c99927h,0a61d5fc2h,03de2eb35h,0a033e9e0h,0b8dacbb4h,0f8185d5ch,08644549dh,09a88e265h - DD 054671ff6h,0f717af62h,05fa58603h,04bd4241bh,0e67773c0h,006fba40bh,06a2847e9h,0c1d933d2h,0689e2c70h,0f4f5acf3h,046bafd31h,092aab0e7h,03473f6e5h,0798d76aah,093141934h,0cc6641dbh - DD 0d31e535eh,0cae27757h,087c2ee11h,004cc43b6h,02e029ffah,08d1f9675h,0e4cc7a2ch,0c2150672h,08d68b013h,03b03c1e0h,0edf298f3h,0a9d6816fh,0a2804464h,01bfbb529h,05db22125h,095a52faeh - DD 00e1cb64eh,055b32160h,07e7fc9feh,0004828f6h,01bb0fb93h,013394b82h,035f1a920h,0b6293a2dh,0d145d2d9h,0de35ef21h,0bb8fa603h,0be6225b3h,032cf252dh,000fc8f6bh,0117cf8c2h,0a28e52e6h - DD 04c371e6dh,09d1dc89bh,036ef0f28h,0cebe0675h,0a4292f81h,05de05d09h,0353e3083h,0a8303593h,07e37a9bbh,0a1715b0ah,02b8faec3h,08c56f61eh,033c9b102h,052507431h,0a44431f0h,00130cefch - DD 0bd865cfbh,056039fa0h,0bc5f1dd7h,04b03e578h,0babe7224h,040edf2e4h,03a1988f6h,0c752496dh,0564beb6bh,0d1572d3bh,039a1c608h,00db1d110h,016f60126h,0568d1934h,0f354af33h,005ae9668h - DD 0c92544f2h,019de6d37h,0a35837d5h,0cc084353h,01a514eceh,0cbb6869ch,02e1d1066h,0b633e728h,0936c581ch,0f15dd69fh,07439c4f9h,096e7b8ceh,02e448a5bh,05e676f48h,0fd916bbbh,0b2ca7d5bh - DD 0f5024025h,0d55a2541h,0e4c2d937h,047bc5769h,00362189fh,07d31b92ah,0ef7816f9h,083f3086eh,0b587579ah,0f9f46d94h,030e76c5fh,0ec2d22d8h,0b000ffcfh,027d57461h,0364ffc2ch,0bb7e65f9h - DD 06652a220h,07c7c9477h,0d696c981h,061618f89h,089effff3h,05021701dh,07c314163h,0f2c8ff8eh,08efb4d3eh,02da413adh,0ce176d95h,0937b5adfh,02a67d51ch,022867d34h,018eb3ac9h,0262b9b10h - DD 0c43ff28bh,04e314fe4h,06a664e7ah,076476627h,0b7a565c2h,03e90e40bh,0c1acf831h,08588993ah,08f938829h,0d7b501d6h,03edd7d4ch,0996627eeh,090cd34c7h,037d44a62h,0f3833e8dh,0a8327499h - DD 04bf50353h,02e18917dh,0556765fbh,085dd726bh,093d5ab66h,054fe65d6h,0915c25feh,03ddbacedh,012f22e85h,0a799d9a4h,06d06f6bch,0e2a24867h,043ca1637h,0f4f1ee56h,061ece30ah,0fda2828bh - DD 0a2dee7a6h,0758c1a3eh,0734b2284h,0dcde2f3ch,04eaba6adh,0aba445d2h,076cee0a7h,035aaf668h,0e5aa049ah,07e0b04a9h,091103e84h,0e74083adh,040afecc3h,0beb183ceh,0ea043f7ah,06b89de9fh - DD 0fe67ba66h,00e299d23h,093cf2f34h,091450760h,097fcf913h,0f45b5ea9h,08bd7dddah,05be00843h,0d53ff04dh,0358c3e05h,05de91ef7h,0bf7ccdc3h,0b69ec1a0h,0ad684dbfh,0801fd997h,0367e7cf2h - DD 0b0dc8595h,00ca1f3b7h,09f1d9f2eh,027de4608h,0badd82a7h,01af3bf39h,065862448h,079356a79h,0f5f9a052h,0c0602345h,0139a42f9h,01a8b0f89h,0844d40fch,0b53eee42h,04e5b6368h,093b0bfe5h - DD 0c024789ch,05434dd02h,041b57bfch,090dca9eah,0243398dfh,08aa898e2h,0894a94bbh,0f607c834h,0c2c99b76h,0bb07be97h,018c29302h,06576ba67h,0e703a88ch,03d79efcch,0b6a0d106h,0f259ced7h - DD 0c8de610bh,00f893a5dh,067e223ceh,0e8c515fbh,04ead6dc5h,07774bfa6h,0925c728fh,089d20f95h,0098583ceh,07a1e0966h,093f2a7d7h,0a2eedb94h,04c304d4ah,01b282097h,0c077282dh,00842e3dah - DD 03b9e2d7bh,0e4d972a3h,0c48218ffh,07cc60b27h,084149d91h,08fc70838h,02f461ecch,05c04346fh,0614650a9h,0ebe9fdf2h,0c1f666ach,05e35b537h,088babc83h,0645613d1h,0c5e1c93eh,088cace3ah - DD 03de92e23h,0209ca375h,05fbbb6e3h,0ccb03cc8h,0d7b1487eh,0ccb90f03h,0c710941fh,0fa9c2a38h,06724ceedh,0756c3823h,0192d0323h,03a902258h,0ea5e038eh,0b150e519h,0c7427591h,0dcba2865h - DD 078890732h,0e549237fh,053fcb4d9h,0c443bef9h,0eb3480d6h,09884d8a6h,03048b186h,08a35b6a1h,065e9a90ah,0b4e44716h,0653006c0h,045bf380dh,04fe9ae3bh,08f3f820dh,0979a3b71h,0244a35a0h - DD 074cd06ffh,0a1010e9dh,0aca3eeach,09c17c7dfh,08063aa2bh,074c86cd3h,0734614ffh,08595c4b3h,0990f62cch,0a3de00cah,0ca0c3be5h,0d9bed213h,0df8ce9f5h,07886078ah,05cd44444h,0ddb27ce3h - DD 058926dddh,0ed374a66h,0908015b8h,0138b2d49h,0de1f7ab8h,0886c6579h,0c3020b7ah,0888b9aa0h,03a96e355h,0d3ec034eh,0f30fbe9ah,0ba65b0b8h,0ff21367ah,0064c8e50h,00b04b46eh,01f508ea4h - DD 0747c866ch,098561a49h,00518a062h,0bbb1e5feh,0ecdc3608h,020ff4e8bh,020184027h,07f55cdedh,0f38c85f0h,08d73ec95h,08bc3b8c3h,05b589fdfh,00f12b66fh,0be95dd98h,00e338e01h,0f5bd1a09h - DD 05e915918h,065163ae5h,086f8a46bh,06158d6d9h,0eeebf99ch,08466b538h,0bca477efh,0ca8761f6h,09ebbc601h,0af3449c2h,0e0c3ae2fh,0ef3b0f41h,05de63752h,0aa6c577dh,064682a51h,0e9166601h - DD 0fc15aa1eh,05a3097beh,0b54b0745h,040d12548h,0519a5f12h,05bad4706h,0a439dee6h,0ed03f717h,04a02c499h,00794bb6ch,0cffe71d2h,0f725083dh,00f3adcafh,02cad7519h,043729310h,07f68ea1ch - DD 0b7ffd977h,0e747c8c7h,080761a22h,0ec104c35h,05a3ffb83h,08395ebafh,0e4b63db7h,0fb3261f4h,0d883e544h,053544960h,08cc2eeb8h,013520d70h,0d3d65f99h,008f6337bh,0781cf95bh,083997db2h - DD 00dbd2c01h,0ce6ff106h,01f9ce934h,04f8eea6bh,00e993921h,0546f7c4bh,05e753fc7h,06236a324h,0a16022e9h,065a41f84h,043d1dbb2h,00c18d878h,02d4cef9ch,073c55640h,070444c74h,0a0428108h - DD 09afdfb3ch,068e4f15eh,05bdfb6dfh,049a56143h,05f823d97h,0a9bc1bd4h,0ea111c2ah,0bceb5970h,0b269bbc4h,0366b455fh,0e9bc5d62h,07cd85e1eh,04f18b086h,0c743c41ch,095294fb9h,0a4b40990h - DD 026ee8382h,09c7c581dh,0359d638eh,0cf17dcc5h,0b728ae3dh,0ee8273abh,0f821f047h,01d112926h,050491a74h,011498477h,0fde0dfb9h,0687fa761h,07ea435abh,02c258022h,091ce7e3fh,06b8bdb94h - DD 03bf834aah,04c5b5dc9h,04f6c7e4bh,004371819h,03736bcadh,0c284e00ah,021ae8f8dh,00d881118h,0f48c8e33h,0f9cf0f82h,0a1bf40dbh,0a11fd075h,0dc2733e5h,0dceab0deh,08e986bd7h,0c560a8b5h - DD 03929d097h,048dd1fe2h,092f188f1h,03885b290h,0da6fcdach,00f2ae613h,0b662a46ch,09054303eh,00738042ah,0b6871e44h,0bdaf6449h,098e6a977h,0d1c9df1bh,0d8bc0650h,036e098f9h,0ef3d6451h - DD 0b6d72d28h,003fbae82h,0f5d84080h,077ca9db1h,0a58efc1ch,08a112cffh,0c564cb4ah,0518d761ch,0f0d1b5ceh,069b5740eh,0e9eb1785h,0717039cch,022f53382h,03fe29f90h,06bc7c95ch,08e54ba56h - DD 0f7f91d0fh,09c806d8ah,0a82a5728h,03b61b0f1h,094d76754h,04640032dh,047d834c6h,0273eb5deh,07b4e4d53h,02988abf7h,0de401777h,0b7ce66bfh,0715071b3h,09fba6b32h,0ad3a1a98h,082413c24h - DD 0e0e8ad93h,05b7fc8c4h,05fab868dh,0b5679aeeh,02b3946f3h,0b1f9d2fah,05685b50ah,0458897dch,089d0caf3h,01e98c930h,078642e92h,039564c5fh,00dbdaf18h,01b77729ah,0579e82e6h,0f9170722h - DD 0e4515fa5h,0680c0317h,0fb0c790fh,0f85cff84h,06d2e0765h,0c7a82aabh,035c82b32h,07446bca9h,06d63184fh,05de607aah,0262803a6h,07c1a46a8h,0aebe8035h,0d218313dh,0c73c51f8h,092113ffdh - DD 012e7e46ch,04b38e083h,056126bd5h,069d0a37ah,073c07e04h,0fb3f324bh,08fda7267h,0a0c22f67h,04d2c7d8fh,08f2c0051h,0cbe2cae5h,0bc45ced3h,0a8f0f277h,0e1c6cf07h,01eb99a98h,0bc392312h - DD 03cc8ac85h,075537b7eh,0dd02753bh,08d725f57h,0b737df2fh,0fd05ff64h,0f6d2531dh,055fe8712h,06ab6b01ch,057ce04a9h,07cd93724h,069a02a89h,0cf86699bh,04f82ac35h,09cb4b232h,08242d3adh - DD 0d62105e5h,0713d0f65h,02d29be61h,0bb222bfah,06cfbef09h,0f2f9a79eh,0d5d6782fh,0fc24d8d3h,0d4129967h,05db77085h,0dc3c2a43h,0db81c3cch,005d8d9a3h,09d655fc0h,054298026h,03f5d057ah - DD 088c54694h,01157f56dh,09b09573eh,0b26baba5h,022adffd1h,02cab03b0h,0dd69f383h,060a412c8h,054b25039h,0ed76e98bh,0687e714dh,0d4ee67d3h,07b00b594h,087739648h,0c9ef709bh,0ce419775h - DD 01c203a40h,040f76f85h,0eafd8f91h,030d352d6h,095578dd2h,0af196d3dh,077cc3f3dh,0ea4bb3d7h,0b98e782bh,042a5bd03h,00624920dh,0ac958c40h,0fc56fcc8h,0b838134ch,089572e5eh,086ec4ccfh - DD 09be47be0h,069c43526h,0cb28fea1h,0323b7dd8h,03a6c67e5h,0fa5538bah,01d378e46h,0ef921d70h,03c4b880eh,0f92961fch,098940a67h,03f6f914eh,0fef0ff39h,0a990eb0ah,0f0eeff9ch,0a6c2920fh - DD 051b8d9a3h,0ca804166h,00ffb0db1h,042531bc9h,0aa82e7ceh,072ce4718h,0df574741h,06e199913h,0d5d36946h,0d5f1b13dh,0f68f0194h,08255dc65h,08710d230h,0dc9df4cdh,0138c1988h,03453c20fh - DD 089a6ef01h,09af98dc0h,09857df85h,04dbcc3f0h,05c1ad924h,034805601h,0d0493046h,040448da5h,04ee343e2h,0f629926dh,090e8a301h,06343f1bdh,040815b3fh,0efc93491h,0de8f66fbh,0f882a423h - DD 0e7db9f57h,03a12d5f4h,03c384c27h,07dfba38ah,06fc660b1h,07a904bfdh,02773b21ch,0eb6c5db3h,01cdfe049h,0c350ee66h,044540f29h,09baac0ceh,0a5ec6aadh,0bc57b6abh,00a7c1baah,0167ce8c3h - DD 053fb2b56h,0b23a03a5h,04e057f78h,06ce141e7h,089e490d9h,0796525c3h,0a31a7e75h,00bc95725h,01220fd06h,01ec56791h,0408b0bd6h,0716e3a3ch,0e8ebeba9h,031cd6bf7h,0bee6b670h,0a7326ca6h - DD 0cd090c43h,03d9f851ch,0f12c3988h,0561e8f13h,0904b7be4h,050490b6ah,00410737bh,061690ce1h,00f009052h,0299e9a37h,0f026092eh,0258758f0h,0fdfcdc0fh,09fa255f3h,0c0e1bcd2h,0dbc9fb1fh - DD 024651840h,035f9dd6eh,0a5c59abch,0dca45a84h,0ecca4938h,0103d396fh,0b97b3f29h,04532da0ah,01999a6bfh,0c4135ea5h,05e6bf2eeh,03aa9505ah,03f5be093h,0f77cef06h,0a943152eh,097d1a0f8h - DD 02e1c21ddh,02cb0ebbah,02c6797c4h,0f41b29fch,0b300101fh,0c6e17321h,0d0d79a89h,04422b0e9h,092f1bfc4h,049e4901ch,0e1e10ed9h,006ab1f8fh,0db2926b8h,084d35577h,0356e8ec2h,0ca349d39h - DD 0343bf1a9h,070b63d32h,037d1a6b1h,08fd3bd28h,0316865b4h,00454879ch,0c458efa2h,0ee959ff6h,09706dc3fh,00461dcf8h,0164e4b2eh,0737db0e2h,02f8843c8h,009262680h,07745e6f6h,054498bbch - DD 0a29e24afh,0359473fah,070aa87a1h,0fcc3c454h,000573aceh,0fd2c4bf5h,028dd1965h,0b65b514eh,02193e393h,0e46ae7cfh,0f5444d97h,060e9a4e1h,000ff38edh,0e7594e96h,00a0e0f02h,043d84d2fh - DD 0ee398a21h,08b6db141h,0e3bcc5beh,0b88a56aeh,0373460eah,00a1aa52fh,0160bb19bh,020da1a56h,065bf0384h,0fb54999dh,05d5a180eh,071a14d24h,021737b04h,0bc44db7bh,001dd8e92h,0d84fcb18h - DD 0fa44b479h,080de937bh,05c98fd4fh,053505499h,028f08727h,01edb12abh,0a5f3ef53h,04c58b582h,08327f246h,0bfb236d8h,04d7df320h,0c3a3bfaah,0b96024f2h,0ecd96c59h,07f4e0433h,0fc293a53h - DD 05acf6e10h,05341352bh,0afe652c3h,0c50343fdh,018577a7fh,04af3792dh,0af16823dh,0e1a4c617h,033425d0ah,09b26d0cdh,09b7bc47fh,0306399edh,0706bb20bh,02a792f33h,098111055h,031219614h - DD 087f5d28bh,0864ec064h,0962277fdh,011392d91h,0bb6aed5fh,0b5aa7942h,047e799d9h,0080094dch,0208ba19bh,04afa588ch,08512f284h,0d3e7570fh,002f5799ah,0cbae64e6h,0514b9492h,0deebe7efh - DD 0e5c298ffh,030300f98h,03678361fh,017f561beh,098cb9a16h,0f52ff312h,05562d490h,06233c3bch,092e3a2cbh,07bfa15a1h,0e6365119h,0961bcfd1h,02c8c53b1h,03bdd29bfh,0822844bah,0739704dfh - DD 07e7b754bh,07dacfb58h,0a806c9b9h,023360791h,023504452h,0e7eb88c9h,0852c1783h,02983e996h,0958d881dh,0dd4ae529h,0262c7b3ch,0026bae03h,0960b52d1h,03a6f9193h,092696cfbh,0d0980f90h - DD 0d5f30851h,04c1f428ch,02a4f6630h,094dfed27h,0fc5d48a4h,04df53772h,0933260ceh,0dd2d5a2fh,0d44cc7a5h,0574115bdh,0bd12533ah,04ba6b20dh,0243057c9h,030e93cb8h,014de320eh,0794c486ah - DD 0f21496e4h,0e925d4ceh,0ec696331h,0f951d198h,03e8d812fh,09810e2deh,0389294abh,0d0a47259h,00e3bab66h,0513ba2b5h,0abad306fh,0462caff5h,0af04c49eh,0e2dc6d59h,0e0b84b0bh,01aeb8750h - DD 02f7d0ca2h,0c034f12fh,0e06acf2fh,06d2e8128h,021facc2fh,0801f4f83h,0f40ef607h,0a1170c03h,07805a99ch,0fe0a1d4fh,0cc26aba5h,0bde56a36h,035531f40h,05b1629d0h,09afa6108h,0ac212c2bh - DD 015697be5h,030a06bf3h,02c63c7c1h,06f0545dch,07ccdadafh,05d8cb842h,0ac7015bbh,0d52e379bh,0f462c23eh,0c4f56147h,046bc24b0h,0d44a4298h,0e2856d4fh,0bc73d23ah,00832bcdfh,061cedd8ch - DD 099f241d7h,060953556h,0001a349dh,0ee4adbd7h,0aa89e491h,00b35bf6ah,0136f7546h,07f0076f4h,09264da3dh,0d19a18bah,062a7a28bh,06eb2d2cdh,08761c971h,0cdba941fh,0a3be4a5dh,01550518bh - DD 057d0b70ch,0d0e8e2f0h,0cd133ba3h,0eea8612eh,044416aech,0814670f0h,030775061h,0424db6c3h,016213fd1h,0d96039d1h,018a3478fh,0c61e7fa5h,0cb0c5021h,0a805bdcch,00cc616ddh,0bdd6f3a8h - DD 05d97f7e2h,006009667h,0af0bf4b6h,031db0fc1h,05491627ah,023680ed4h,07d741fb1h,0b99a3c66h,036b1ff92h,0e9bb5f55h,0512b388dh,029738577h,050fcf263h,0db8a2ce7h,06c4f7b47h,0385346d4h - DD 031631f9eh,0be86c5efh,003a57a29h,0bf91da21h,07b23f821h,0c3b1f796h,0770db354h,00f7d00d2h,0d8fe79dah,08ffc6c3bh,0d525c996h,0cc5e8c40h,0cfff632ah,04640991dh,067112528h,064d97e8ch - DD 002f1cd1eh,0c232d973h,01dd212a4h,0ce87eacbh,0e69802f7h,06e4c8c73h,01fffddbdh,012ef0290h,01bcea6e2h,0941ec74eh,03cb92cbbh,0d0b54024h,07e8f9d05h,0809fb9d4h,0f2992aaeh,03bf16159h - DD 0f8a7a838h,0ad40f279h,005615660h,011aea631h,0a01f6fa1h,0bf52e6f1h,03dc2aec9h,0ef046995h,0d8080711h,0785dbec9h,09fdedf76h,0e1aec60ah,0fa21c126h,0ece797b5h,005e52732h,0c66e898fh - DD 008811fdbh,039bb69c4h,02fc7f082h,08bfe1ef8h,0174f4138h,0c8e7a393h,0d58d1f98h,0fba8ad1dh,0bfd2fd5bh,0bc21d0ceh,06ee60d61h,00b839a82h,0afd22253h,0aacf7658h,0aae396b3h,0b526bed8h - DD 038564464h,0ccc1bbc2h,08c45bc73h,09e3ff947h,058188a78h,0cde9bca3h,0d73bf8f7h,0138b8ee0h,04123c489h,05c7e234ch,0fa643297h,066e69368h,039a15fa3h,00629eeeeh,0a9e2a927h,095fab881h - DD 0eafbb1e1h,0b2497007h,0e75b7a93h,0d75c9ce6h,0efb68d78h,03558352dh,0223f6396h,0a2f26699h,0e469b17ah,0eb911ecfh,0e72d3ec2h,062545779h,082cb113fh,08ea47de7h,04e1fa98dh,0ebe4b086h - DD 08cdfedb1h,0ec2d5ed7h,0fe211a74h,0a535c077h,011d244c5h,09678109bh,0be299a76h,0f17c8bfbh,0fb11fbc4h,0b651412eh,094ab3f65h,0ea0b5482h,00cf78243h,0d8dffd95h,0ce0361d4h,02e719e57h - DD 0304ddc5bh,09007f085h,04daba2eah,0095e8c6dh,03f9d28a9h,05a33cdb4h,0e2283003h,085b95cd8h,0b9744733h,0bcd6c819h,0fc7f5783h,029c5f538h,0d59038e4h,06c49b2fah,03bbe1018h,068349cc1h - DD 021830ee5h,0cc490c1dh,0e9bfa297h,036f9c4eeh,048de1a94h,058fd7294h,04e8f2cdch,0aadb13a8h,081313dbah,0515eaaa0h,0c2152dd8h,0c76bb468h,0a653dbf8h,0357f8d75h,0b14ac143h,0e4d8c4d1h - DD 0b055cb40h,0bdb8e675h,0977b5167h,0898f8e7bh,0b82fb863h,0ecc65651h,06d88f01fh,056544814h,0263a75a9h,0b0928e95h,01a22fcdah,0cfb6836fh,03f3bd37ch,0651d14dbh,0b6ad4664h,01d3837fbh - DD 0ff4f94abh,07c5fb538h,06d7fb8f2h,07243c712h,0a85c5287h,0ef13d60ch,04bb8dd1bh,018cfb7c7h,072908219h,082f9bfe6h,09d5144abh,035c4592bh,09cf4b42fh,052734f37h,08c60ddc4h,06bac55e7h - DD 094dea0f6h,0b5cd811eh,0e18cc1a3h,0259ecae4h,015e660f8h,06a0e836eh,00e02bff2h,06c639ea6h,07e1026fdh,08721b8cbh,063261942h,09e73b50bh,077f01da3h,0b8c70974h,08268f57fh,01839e6a6h - DD 05150b805h,0571b9415h,0f92c7097h,01892389eh,04a084b95h,08d69c18eh,0be5b495ch,07014c512h,01b07523ch,04780db36h,02c1c64fah,02f6219ceh,0602c105ah,0c38b81b0h,05dc8e360h,0ab4f4f20h - DD 0cf7d62d2h,020d3c982h,023ba8150h,01f36e29dh,092763f9eh,048ae0bf0h,01d3a7007h,07a527e6bh,0581a85e3h,0b4a89097h,0dc158be5h,01f1a520fh,0167d726eh,0f98db37dh,01113e862h,08802786eh - DD 036f09ab0h,0efb2149eh,04a10bb5bh,003f163cah,006e20998h,0d0297045h,01b5a3babh,056f0af00h,070880e0dh,07af4cfech,0be3d913fh,07332a66fh,07eceb4bdh,032e6c84ah,09c228f55h,0edc4a79ah - DD 0c55c4496h,0c37c7dd0h,025bbabd2h,0a6a96357h,0add7f363h,05b7e63f2h,02e73f1dfh,09dce3782h,0b2b91f71h,0e1e5a16ah,05ba0163ch,0e4489823h,0f6e515adh,0f2759c32h,08615eecfh,0a5e2f1f8h - DD 0abded551h,074519be7h,0c8b74410h,003d358b8h,00e10d9a9h,04d00b10bh,028da52b7h,06392b0b1h,00b75c904h,06744a298h,0a8f7f96ch,0c305b0aeh,0182cf932h,0042e421dh,09e4636cah,0f6fc5d50h - DD 0d64cc78ch,0795847c9h,09b6cb27bh,06c50621bh,0df8022abh,007099bf8h,0c04eda1dh,048f862ebh,0e1603c16h,0d12732edh,05c9a9450h,019a80e0fh,0b429b4fch,0e2257f54h,045460515h,066d3b2c6h - DD 0822e37beh,06ca4f87eh,0253bda4eh,073f237b4h,041190aebh,0f747f3a2h,0804cf284h,0f06fa36fh,0fc621c12h,00a6bbb6eh,040b80ec6h,05d624b64h,07ba556f3h,04b072425h,03e2d20a8h,07fa0c354h - DD 0e3229d41h,0e921fa31h,094531bd4h,0a929c652h,0a6d38209h,084156027h,06bdb97bdh,0f3d69f73h,016833631h,08906d19ah,003d51be3h,068a34c2eh,00e511cd8h,0cb59583bh,0fdc132a8h,099ce6bfdh - DD 0ffcdb463h,03facdaaah,034a38b08h,0658bbc1ah,0f1a9078dh,012a801f8h,06ab855deh,01567bcf9h,03572359bh,0e08498e0h,08659e68bh,0cf0353e5h,07d23807ch,0bb86e9c8h,02198e8a2h,0bc08728dh - DD 0453cadd6h,08de2b7bch,0bc0bc1f8h,0203900a7h,0a6abd3afh,0bcd86e47h,08502effbh,0911cac12h,0ec965469h,02d550242h,029e0017eh,00e9f7692h,065979885h,0633f078fh,04cf751efh,0fb87d449h - DD 0fc25419ah,0e1790e4bh,04bff3cfdh,036467203h,025b6e83fh,0c8db6386h,06cad6fd2h,06cc69f23h,06bc68bb9h,00219e45ah,0297f7334h,0e43d79b6h,0465dc97ch,07d445368h,02a0b949ah,04b9eea32h - DD 06102d021h,01b96c6bah,02f4461eah,0eaafac78h,0c49f19a8h,0d4b85c41h,0cf538875h,0275c28e4h,0dd2e54e0h,035451a9dh,00605618bh,06991adb5h,07b36cd24h,05b8b4bcdh,056f37216h,0372a4f8ch - DD 0a6a5da60h,0c890bd73h,0dc4c9ff0h,06f083da0h,0f0536e57h,0f4e14d94h,0aaec8243h,0f9ee1edah,08bdcf8e7h,0571241ech,00b041e26h,0a5db8271h,0e3fff040h,09a0b9a99h,07c271202h,0caaf21ddh - DD 04f0dd2e8h,0b4e2b2e1h,00a377ac7h,0e77e7c4fh,00d7a2198h,069202c3fh,028200eb8h,0f759b7ffh,0dcfe314eh,0c87526edh,053d5cf99h,0eb84c524h,0515138b6h,0b1b52aceh,023fca3f4h,05aa7ff8ch - DD 0b9791a26h,0ff0b13c3h,0cdd58b16h,0960022dah,057aad2deh,0dbd55c92h,0f30fe619h,03baaaaa3h,00d881efdh,09a4b2346h,046325e2ah,0506416c0h,0035c18d4h,091381e76h,0f27817b0h,0b3bb68beh - DD 05116f937h,015bfb8bfh,0c1268943h,07c64a586h,08419a2c8h,071e25cc3h,08335f463h,09fd6b0c4h,0e8ee0e0eh,04bf0ba3ch,0298c21fah,06f6fba60h,0ae66bee0h,057d57b39h,022672544h,0292d5130h - DD 0bab093b3h,0f451105dh,002839986h,0012f59b9h,03474a89ch,08a915802h,02de03e97h,0048c919ch,091071cd5h,0c476a2b5h,0034970a5h,0791ed89ah,0e1b7994bh,089bd9042h,0a1057ffdh,08eaf5179h - DD 0d551ee10h,06066e2a2h,0727e09a6h,087a8f1d8h,02c01148dh,000d08babh,0424f33feh,06da8e4f1h,0cf9a4e71h,0466d17f0h,03bf5cb19h,0ff502010h,0d062ecc0h,0dccf97d8h,081d80ac4h,080c0d9afh - DD 0033f2876h,0e87771d8h,07d5cc3dbh,0b0186ec6h,03bc9bc1dh,058e8bb80h,06f6ef60eh,04d1395cch,0186244a0h,0a73c62d6h,0110a5b53h,0918e5f23h,0741b7eabh,0ed4878cah,0dbe03e51h,03038d71ah - DD 0a93c3246h,0840204b7h,0a0b9b4cdh,021ab6069h,0b1d64218h,0f5fa6e2bh,0f3d56191h,01de6ad0eh,0ff1929c7h,0570aaa88h,0640e87b5h,0c6df4c6bh,0c65f0ccch,0de8a74f2h,0e6f6cc01h,08b972fd5h - DD 00b846531h,03fff36b6h,010a5e475h,0ba7e45e6h,04145b6c5h,084a1d10eh,05e046d9dh,0f1f7f91ah,044de90d7h,00317a692h,0f199c15eh,0951a1d4ah,0c9d73debh,091f78046h,0fab8224fh,074c82828h - DD 0e7560b90h,0aa6778fch,0a7e824ceh,0b4073e61h,0d642eba8h,0ff0d693ch,05dccef38h,07ce2e57ah,01df1ad46h,089c2c789h,0098346fdh,083a06922h,0da2fc177h,02d715d72h,085b6cf1dh,07b6dd71dh - DD 073fa9cb0h,0c60a6d0ah,0328bf5a9h,0edd3992eh,0832c8c82h,0c380ddd0h,0a2a0bf50h,0d182d410h,0d9a528dbh,07d9d7438h,0caf53994h,0e8b1a0e9h,00e19987ch,0ddd6e5feh,0190b059dh,0acb8df03h - DD 08300129fh,053703a32h,068c43bfdh,01f637662h,000e54051h,0bcbd1913h,07bf5a8c5h,0812fcc62h,029fb85dah,03f969d5fh,0694759e8h,072f4e00ah,0790726b7h,0426b6e52h,03bdbb209h,0617bbc87h - DD 097aee317h,0511f8bb9h,0e81536a8h,0812a4096h,03ac09b9bh,0137dfe59h,0ba8c9a7ah,00682238fh,0aeccb4bdh,07072ead6h,0692ba633h,06a34e9aah,06fff9d33h,0c82eaec2h,01d4d2b62h,0fb753512h - DD 01d7aadabh,01a0445ffh,0d5f6a67ch,065d38260h,091cfb26fh,06e62fb08h,05c7d91d6h,0ef1e0fa5h,033db72cdh,047e7c7bah,0fa7c74b2h,0017cbc09h,0f50a503ch,03c931590h,0616baa42h,0cac54f60h - DD 0b2369f0fh,09b6cd380h,023c76151h,097d3a70dh,09862a9c6h,05f9dd6fch,012312f51h,0044c4ab2h,0834a2ddch,0035ea0fdh,0cc7b826dh,049e6b862h,062fce490h,0b03d6883h,0b37e36e9h,062f2497ah - DD 0c6458293h,004b005b6h,0e8d10af7h,036bb5276h,08ee617b8h,0acf2dc13h,0b004b3d4h,0470d2d35h,0feeb1b77h,006790832h,085657f9ch,02bb75c39h,0c0f60004h,0d70bd4edh,0219b018bh,0fe797ecch - DD 0753aebcch,09b5bec2ah,0c939eca5h,0daf9f3dch,0d095ad09h,0d6bc6833h,0daa4d2fch,098abdd51h,08d168be5h,0d9840a31h,02325a23ch,0cf7c10e0h,07e6ecfafh,0a5c02aa0h,0b5bfdf18h,02462e7e6h - DD 0a0cc3f12h,0ab2d8a8bh,0bc672a29h,068dd485dh,0596f2cd3h,072039752h,0a0cf3d8dh,05d3eea67h,0e6602671h,0810a1a81h,014026c0ch,08f144a40h,076b50f85h,0bc753a6dh,0645cd4a4h,0c4dc21e8h - DD 0521d0378h,0c5262deah,005011c6fh,0802b8e0eh,00b4c19eah,01ba19cbbh,0ebf0aaech,021db64b5h,070342f9dh,01f394ee9h,01bc44a14h,093a10aeeh,03efd0baah,0a7eed31bh,01d154e65h,06e7c824eh - DD 09966e7eeh,0ee23fa81h,005b7920dh,064ec4aa8h,02d90aad4h,02d44462dh,0df277ad5h,0f44dd195h,0bb46b6a1h,08d6471f1h,0fd885090h,01e65d313h,013a977b4h,033a800f5h,00797e1efh,0aca9d721h - DD 0fcff6a17h,09a5a85a0h,01eca7ceeh,09970a3f3h,0c9504be3h,0bb9f0d6bh,0add24ee2h,0e0c504beh,077fcc2f4h,07e09d956h,065bb5fc4h,0ef1a5227h,08b9286aah,0145d4fb1h,06649028bh,066fd0c5dh - DD 01bf4581ch,098857cebh,0aca7b166h,0e635e186h,0659722ach,0278ddd22h,01db68007h,0a0903c4ch,048f21402h,0366e4589h,0b96abda2h,031b49c14h,0e0403190h,0329c4b09h,0d29f43feh,097197ca3h - DD 0274983d8h,08073dd1eh,055717c8fh,0da1a3bdeh,00361f9d1h,0fd3d4da2h,04c7de1ceh,01332d081h,0aa6d0e10h,09b7ef7a3h,0f54f1c4ah,017db2e73h,04cd35567h,0af3dffaeh,0e56f4e71h,0aaa2f406h - DD 07ace3fc7h,08966759eh,045a8d8c6h,09594eacfh,091834e0eh,08de3bd8bh,0548c0421h,0afe4ca53h,0e6ee81c6h,0fdd7e856h,06b891a3ah,08f671bebh,0fae63829h,0f7a58f2bh,09c11ac9fh,09ab186fbh - DD 010b5be76h,08d6eb369h,0fb040bcdh,0046b7739h,0cb73de88h,0ccb4529fh,0cf26be03h,01df0fefch,0bcfcd027h,0ad7757a6h,0bb3165cah,0a8786c75h,07e99a4d9h,0e9db1e34h,0b06c504bh,099ee86dfh - DD 0c15c9f0ah,05b7c2dddh,04295989eh,0df87a734h,003d08fdah,059ece47ch,0ad5fc702h,0b074d3ddh,051a03776h,020407903h,02a608007h,02bb1f77bh,0e1153185h,025c58f4fh,0766e6447h,0e6df62f6h - DD 0ed51275ah,0efb3d1beh,02f0f483fh,05de47dc7h,097c2bedfh,07932d98eh,00219f8a1h,0d5c11927h,0a73a294eh,09d751200h,09dc20172h,05f88434ah,0a26f506ah,0d28d9fd3h,09d1dcd48h,0a890cd31h - DD 070f4d3b4h,00aebaec1h,00ffc8d00h,0fd1a1369h,057d57838h,0b9d9c240h,068bac361h,045929d26h,025b15ca6h,05a2cd060h,06e474446h,04b3c83e1h,0ee1e5134h,01aac7578h,0c91e2f41h,0a418f5d6h - DD 0213ed68bh,06936fc8ah,0510a5224h,0860ae7edh,0def09b53h,063660335h,0cd79c98dh,0641b2897h,001110f35h,029bd38e1h,0648b1937h,079c26f42h,09d9164f4h,064dae519h,00265c273h,0d85a2310h - DD 04b07e2b1h,07173dd5dh,08d9ea221h,0d144c4cbh,01105ab14h,0e8b04ea4h,0fe80d8f1h,092dda542h,0cf03dce6h,0e9982fa8h,01a22cffch,08b5ea965h,03fad88c4h,0f7f4ea7fh,06a5ba95ch,062db773eh - DD 093f24567h,0d20f02fbh,0315257cah,0fd46c69ah,08bcab987h,00ac74cc7h,05ceca2f5h,046f31c01h,0888b219eh,040aedb59h,0e1fccd02h,0e50ecc37h,0911f816ch,01bcd9dadh,08db9b00ch,0583cc1ech - DD 0a483bf11h,0f3cd2e66h,0b1b2c169h,0fa08a6f5h,04be9fa28h,0f375e245h,05b6d011fh,099a7ffech,0c4ae62dah,06a3ebddbh,0374aef5dh,06cea00aeh,09d4d05bch,0ab5fb98dh,0d560f252h,07cba1423h - DD 0208490deh,049b2cc21h,0bcfb2879h,01ca66ec3h,01b6fb16fh,07f1166b7h,065fe5db3h,0fff63e08h,08b2610beh,0b8345abeh,039de3df4h,0b732ed80h,0211c32b4h,00e24ed50h,0848ff27dh,0d10d8a69h - DD 0ed4de248h,0c1074398h,010488927h,0d7cedaceh,085673e13h,0a4aa6bf8h,06daf30afh,0b46bae91h,0fcef7ad8h,007088472h,0d4b35e97h,061151608h,0dde29986h,0bcfe8f26h,0d5a34c79h,0eb84c4c7h - DD 0164e1214h,0c1eec55ch,0a147bb03h,0891be86dh,00ba96835h,09fab4d10h,0a5c1ae9fh,0bf01e9b8h,0b186ebc0h,06b4de139h,085b91bcah,0d5c74c26h,0c2d93854h,05086a99ch,0a7a9dfbch,0eed62a7bh - DD 076b7618ah,08778ed6fh,003b66062h,0bff750a5h,0b65186dbh,04cb7be22h,0cc3a6d13h,0369dfbf0h,07191a321h,0c7dab26ch,040ed718eh,09edac3f9h,0d0cfd183h,0bc142b36h,07c991693h,0c8af82f6h - DD 097ce0b2ah,0b3d1e4d8h,0c3a55cdfh,0e6d7c87fh,068b81afeh,035846b95h,0d3c239d8h,0018d12afh,001206e15h,02b2c6208h,0a3b882c6h,0e0e42453h,0a50162d5h,0854470a3h,07017a62ah,008157478h - DD 0820357c7h,018bd3fb4h,06f1458adh,0992039aeh,025b44aa1h,09a1df3c5h,0ed3d5281h,02d780357h,0c77ad4d4h,058cf7e4dh,0f9df4fc4h,0d49a7998h,01d71205eh,04465a8b5h,0649254aah,0a0ee0ea6h - DD 0ab7bd771h,04b5eeecfh,035c262b9h,06c873073h,03c9d61e7h,0dc5bd648h,0321460d2h,0233d6d54h,0fc195bcch,0d20c5626h,004d78b63h,025445958h,017ec8ef3h,0e03fcb3dh,046b8f781h,054b690d1h - DD 021230646h,082fa2c8ah,0084f418ch,0f51aabb9h,01a30ba43h,0ff4fbec1h,0743c9df7h,06a5acf73h,0d635b4d5h,01da2b357h,0ecd5c1dah,0c3de68ddh,0d61af0ddh,0a689080bh,0d665bf99h,0dea5938ah - DD 0fe637294h,00231d71ah,0a5a81cd8h,001968aa6h,0048e63b5h,011252d50h,06ca007e9h,0c446bc52h,096d6134bh,0ef8c50a6h,09e09a05ch,09361fbf5h,0dca3291ah,0f17f85a6h,0ff251a21h,0b178d548h - DD 0a4df3915h,087f6374bh,02fd5d608h,0566ce1bfh,07de35102h,0425cba4dh,058c5d5e2h,06b745f8fh,063122edfh,088402af6h,03b989a89h,03190f9edh,0ebba3156h,04ad3d387h,0c7c469a5h,0ef385ad9h - DD 03f642c29h,0b08281deh,0910ffb88h,020be0888h,0d5292546h,0f353dd4ah,08377a262h,03f1627deh,0eefcd638h,0a5faa013h,074cc77c3h,08f3bf626h,0a348f55eh,032618f65h,09fefeb9eh,05787c0dch - DD 0d9a23e44h,0f1673aa2h,04e10690dh,088dfa993h,02bf91108h,01ced1b36h,03af48649h,09193cecah,02d738fc5h,0fb34327dh,0975fee6ch,06697b037h,0c04079a5h,02f485da0h,02feaa1ach,02cdf5735h - DD 0bd55659eh,076944420h,04376090ch,07973e32bh,0163b591ah,086bb4fe1h,0c196f0cah,010441aedh,0045ad915h,03b431f4ah,0a4afacb1h,06c11b437h,071fdbbd8h,030b0c7dbh,0eda65acdh,0b642931fh - DD 09c92b235h,04baae6e8h,06b3993a1h,0a73bbd0eh,0693dd031h,0d06d60ech,07156881ch,003cab91bh,01db3574bh,0d615862fh,064bb061ah,0485b0185h,0a0181e06h,027434988h,0c1c0c757h,02cd61ad4h - DD 02ff9f403h,03effed5ah,062239029h,08dc98d8bh,01f17b70dh,02206021eh,0bf510015h,0afbec0cah,080130dfah,09fed7164h,08a02dcf5h,0306dc2b5h,0feb10fc0h,048f06620h,05a57cf51h,078d1e1d5h - DD 0192ef710h,0adef8c5ah,03b7431f9h,088afbd4bh,064250c9eh,07e1f7407h,0b58bec07h,06e31318dh,024f89b4eh,0fd4fc4b8h,048c36a2ah,065a5dd88h,0f024baa7h,04f1eccffh,0cba94650h,022a21cf2h - DD 042a554f7h,095d29deeh,0002ec4bah,0828983a5h,08badb73dh,08112a1f7h,0a27c1839h,079ea8897h,0d065fd83h,08969a5a7h,0b262a0bch,0f49af791h,0af2b5127h,0fcdea8b6h,0564c2dbch,010e913e1h - DD 0bc21ef51h,051239d14h,04ce57292h,0e51c3cebh,047bbcc3bh,0795ff068h,0bd7e11e6h,086b46e1eh,080041ef4h,00ea6ba23h,06262342eh,0d72fe505h,031d294d4h,08abc6dfdh,01278c2c9h,0bbe017a2h - DD 0b389328ah,0b1fcfa09h,0d01771b5h,0322fbc62h,060b045bfh,004c0d063h,010e52d01h,0db652edch,003ec6627h,050ef932ch,0c1ee50e3h,0de1b3b2dh,0dc37a90dh,05ab7bdc5h,031e33a96h,0fea67213h - DD 04f2999aah,06482b5cbh,0b8cbf0ddh,038476cc6h,0173405bbh,093ebfacbh,0e52369ech,015cdafe7h,0d935b7dbh,0d42d5ba4h,01c99a4cdh,0648b6004h,0a3b5545bh,0785101bdh,09dd67fafh,04bf2c38ah - DD 04442449ch,0b1aadc63h,033ad4fb8h,0e0e9921ah,0aa686d82h,05c552313h,0465d866ch,0dee635fah,018ee6e8ah,0bc3c224ah,0ed42e02fh,0eed748a6h,0d474cd08h,0e70f930ah,0fff24adfh,0774ea6ech - DD 0f3480d4ah,003e2de1ch,0bc8acf1ah,0f0d8edc7h,068295a9ch,0f23e3303h,0c546a97dh,0fadd5f68h,096f8acb1h,0895597adh,0671bdae2h,0bddd49d5h,021dd43f4h,016fcd528h,06619141ah,0a5a45412h - DD 0c360e25ah,08ce9b6bfh,0075a1a78h,0e6425195h,0481732f4h,09dc756a8h,05432b57ah,083c0440fh,0d720281fh,0c670b3f1h,0d135e051h,02205910eh,0db052be7h,0ded14b0eh,0c568ea39h,0697b3d27h - DD 0fb3ff9edh,02e599b9ah,017f6515ch,028c2e0abh,0474da449h,01cbee4fdh,04f364452h,0071279a4h,001fbe855h,097abff66h,05fda51c4h,03ee394e8h,067597c0bh,0190385f6h,0a27ee34bh,06e9fccc6h - DD 014092ebbh,00b89de93h,0428e240ch,0f17256bdh,093d2f064h,0cf89a7f3h,0e1ed3b14h,04f57841eh,0e708d855h,04ee14405h,003f1c3d0h,0856aae72h,0bdd7eed5h,0c8e5424fh,073ab4270h,03333e4efh - DD 0dda492f8h,03bc77adeh,078297205h,0c11a3aeah,034931b4ch,05e89a3e7h,09f5694bbh,017512e2eh,0177bf8b6h,05dc349f3h,008c7ff3eh,0232ea4bah,0f511145dh,09c4f9d16h,033b379c3h,0ccf109a3h - DD 0a1f25897h,0e75e7a88h,0a1b5d4d8h,07ac6961fh,008f3ed5ch,0e3e10773h,00a892dfbh,0208a54ech,078660710h,0be826e19h,0237df2c8h,00cf70a97h,0ed704da5h,0418a7340h,008ca33fdh,0a3eeb9a9h - DD 0169bca96h,049d96233h,02da6aafbh,004d286d4h,0a0c2fa94h,0c09606ech,023ff0fb3h,08869d0d5h,0d0150d65h,0a99937e5h,0240c14c9h,0a92e2503h,0108e2d49h,0656bf945h,0a2f59e2bh,0152a733ah - DD 08434a920h,0b4323d58h,0622103c5h,0c0af8e93h,0938dbf9ah,0667518efh,083a9cdf2h,0a1843073h,05447ab80h,0350a94aah,0c75a3d61h,0e5e5a325h,068411a9eh,074ba507fh,0594f70c5h,010581fc1h - DD 080eb24a9h,060e28570h,0488e0cfdh,07bedfb4dh,0c259cdb8h,0721ebbd7h,0bc6390a9h,00b0da855h,0de314c70h,02b4d04dbh,06c32e846h,0cdbf1fbch,0b162fc9eh,033833eabh,0b0dd3ab7h,09939b48bh - DD 0cb0c9c8ch,05aaa98a7h,081c4375ch,075105f30h,05ef1c90fh,0ceee5057h,0c23a17bfh,0b31e065fh,0d4b6d45ah,05364d275h,062ec8996h,0d363f3adh,04391c65bh,0b5d21239h,0ebb41b47h,084564765h - DD 037107c78h,020d18ecch,0570c2a66h,0acff3b6bh,09bd0d845h,022f975d9h,0ba178fa0h,0ef0a0c46h,076b6028eh,01a419651h,0248612d4h,0c49ec674h,07338af55h,05b6ac4f2h,07bee5a36h,006145e62h - DD 0e75746b5h,033e95d07h,0c40c78beh,01c1e1f6dh,0222ff8e2h,0967833efh,0b49180adh,04bedcf6ah,03d7a4c8ah,06b37e9c1h,06ddfe760h,02748887ch,0aa3a5bbch,0f7055123h,07bbb8e74h,0954ff225h - DD 097c3dfb9h,0c42b8ab1h,0cf168154h,055a549b0h,0c1b50692h,0ad6748e7h,06fc5cbcbh,02775780fh,0e1c9d7c8h,04eab80b8h,03fdbcd56h,08c69dae1h,09969eaceh,047e6b4fbh,0a705cb5ah,0002f1085h - DD 06d3fea55h,04e23ca44h,0f4810568h,0b4ae9c86h,02a62f27dh,047bfb91bh,0d9bac28ch,060deb4c9h,07de6c34ch,0a892d894h,04494587dh,04ee68259h,01a3f8a5bh,0914ee14eh,028700385h,0bb113eaah - DD 02115b4c9h,081ca03b9h,08908cad1h,07c163d38h,0aa18179ah,0c912a118h,0886e3081h,0e09ed750h,026f516cah,0a676e3fah,08e732f91h,0753cacf7h,0833da8b4h,051592aeah,04cbea8aah,0c626f42fh - DD 0a7b56eafh,0ef9dc899h,034ef7316h,000c0e52ch,0fe818a86h,05b1e4e24h,0c538be47h,09d31e20dh,03ed68974h,022eb932dh,07c4e87c4h,0e44bbc08h,00dde9aefh,04121086eh,0134f4345h,08e6b9cffh - DD 0711b0eb9h,096892c1fh,0780ab954h,0b905f2c8h,0a20792dbh,0ace26309h,00684e126h,0ec8ac9b3h,0b40a2447h,0486ad8b6h,09fe3fb24h,060121fc1h,01a8e3b3fh,05626fccfh,06ad1f394h,04e568622h - DD 0196aa5a1h,0da7aae0dh,01041b5fbh,0e0df8c77h,026b318b7h,0451465d9h,07ab136e9h,0c29b6e55h,071148463h,02c2ab48bh,064454a76h,0b5738de3h,05a03abe4h,054ccf9a0h,00427d58eh,0377c0296h - DD 02bb39c1fh,073f5f0b9h,0e608d8c5h,014373f2ch,000fbb805h,0dcbfd314h,083afdcfbh,0df18fb20h,042b3523fh,081a57f42h,087f650fbh,0e958532dh,08b0a7d7ch,0aa8dc8b6h,0150166beh,01b75dfb7h - DD 02d7d1413h,090e4f7c9h,09834f597h,067e2d6b5h,0a808c3e8h,04fd4f4f9h,0d5281ec1h,0af8237e0h,084687ceeh,025ab5fdch,0a5b26c09h,0c5ded6b1h,0c8ea7650h,08e4a5aech,014cc417fh,023b73e5ch - DD 03037bf52h,02bfb4318h,078c725d7h,0b61e6db5h,0bbb3e5d7h,08efd4060h,0dbac488eh,02e014701h,0360aa449h,0ac75cf9ah,079634d08h,0b70cfd05h,0fffb15efh,0a591536dh,0d07c106ch,0b2c37582h - DD 0f50225f9h,0b4293fdch,0b0e12b03h,0c52e175ch,0d0a8bf64h,0f649c3bah,0eb8ae3c6h,0745a8fefh,058321bc3h,030d7e5a3h,00bc4df48h,0b1732be7h,0e9ea5058h,01f217993h,03e4fd745h,0f7a71cdeh - DD 0894c5bbbh,086cc533eh,069d83082h,06915c7d9h,05815c244h,0a6aa2d05h,049b22ce5h,0aeeee592h,078135486h,089e39d13h,016b76f2fh,03a275c1fh,0e036e8f5h,0db6bcc1bh,05e4709f5h,04df69b21h - DD 02d0f39aah,0a188b250h,015a85947h,0622118bbh,0fde0f4fah,02ebf520fh,04860e539h,0a40e9f29h,022b57f0fh,07b6a51ebh,07e80644ah,0849a33b9h,01cf095feh,050e5d16fh,0ec55f002h,0d754b54eh - DD 0236f4a98h,05cfbbb22h,0066800bbh,00b0c59e9h,05a9a7774h,04ac69a8fh,0d6bec948h,02b33f804h,032e6c466h,0b3729295h,04e599c73h,068956d0fh,0155c31cch,0a47a249fh,0e1ce284eh,024d80f0dh - DD 0988baf01h,0cd821dfbh,0dbb16647h,0e6331a7dh,0094cb960h,01eb8ad33h,0c91bbca5h,0593cca38h,026567456h,0384aac8dh,0c04b6490h,040fa0309h,0dab6c8f6h,097834cd6h,03f91e55fh,068a7318dh - DD 0fc4d3157h,0a00fd04eh,02bf3bdeah,0b56f8ab2h,04fa57172h,0014f5648h,0450abdb3h,0948c5860h,00ebd4f08h,0342b5df0h,00e82938eh,03e5168cdh,0b0df5dd0h,07aedc1ceh,0e5732516h,06bbbc6d9h - DD 0605daaa6h,0c7bfd486h,0bb9a6c9eh,046fd72b7h,0a124fb89h,0e4847fb1h,0a2d8ffbch,075959cbdh,0c8a588eeh,042579f65h,0b80b499dh,0368c92e6h,0999a5df1h,0ea4ef6cdh,0936fe604h,0aa73bb7fh - DD 06457d188h,0f347a70dh,08b7a388bh,086eda86bh,00ccd6013h,0b7cdff06h,0d0053fb2h,0beb1b6c7h,099240a9fh,00b022387h,0776189b2h,01bbb384fh,09066193ah,08695e71eh,006ffac7eh,02eb50097h - DD 04a7d2caah,00654a9c0h,0a5aaa290h,06f3fb3d1h,0ff476e8fh,0835db041h,0c42295e4h,0540b8b0bh,005e214f5h,0a5c73ac9h,056a0b638h,09a74075ah,0ce9e680bh,02e4b1090h,06b8d9afah,057a5b479h - DD 026bfe65ch,00dca48e7h,07290c307h,0097e391ch,06669e72eh,0683c462eh,0062559ach,0f505be1eh,0e3a3035ah,05fbe3ea1h,09cd50da8h,06431ebf6h,01f6407f2h,0fd169d5ch,060fce6b8h,08d838a95h - DD 0650006f0h,02a2bfa7fh,050c0fbb2h,0dfd7dad3h,0ccf9ad96h,092452495h,0d95635f9h,0183bf494h,04a7bd989h,002d5df43h,0a5431095h,0505385cch,0fd43f53eh,0dd98e67dh,0500c34a9h,0d61e1a6ch - DD 04a8a3d62h,05a4b46c6h,0247743d2h,08469c4d0h,088f7e433h,02bb3a13dh,001be5849h,062b23a10h,0a63d1a4ch,0e83596b4h,07d183f3eh,0454e7feah,017afb01ch,0643fce61h,01c4c3638h,04e65e5e6h - DD 0ef74c45bh,041d85ea1h,0ae328506h,02cfbfa66h,03ada7da9h,098b078f5h,0ec752fbbh,0d985fe37h,05a0148b4h,0eece68feh,02d78136dh,06f9a55c7h,0d2b729ceh,0232dccc4h,090aafbc4h,0a27e0dfdh - DD 012b4603eh,096474452h,06b706d14h,0a876c551h,069a9d412h,0df145fcfh,02d479c34h,0e2ab75b7h,01a23ff97h,012df9a76h,05d359d10h,0c6138992h,0fa835f22h,06e51c7aeh,0c0fcc4d9h,069a79cb1h - DD 0594cc7e1h,0f57f350dh,03350ab79h,03079ca63h,09aff594ah,0226fb614h,06d59a62bh,035afec02h,006ed2c6eh,09bee46f4h,07d939a57h,058da1735h,08fd1797eh,044c50402h,05ccea6cah,0d8853e7ch - DD 0a35fcd5fh,04065508dh,0495ccaebh,08965df8ch,012e1a962h,00f2da850h,0c1cf1cc4h,0ee471b94h,00a08fb75h,0cef19bc8h,081de3591h,0704958f5h,03aef4f88h,02867f8b2h,0ea9f9a5fh,08d749384h - DD 08c9049f4h,01b385537h,07b92d8b6h,05be948f3h,0b6e2bd6bh,0d96f725dh,0958c454dh,037a222bch,08809bf61h,0e7c61abbh,01346f18dh,046f07fbch,0e87c0d1ch,0fb567a7ah,07ef3d07ah,084a461c8h - DD 0d9278d98h,00a5adce6h,09dfc73e1h,024d94813h,0054321c3h,04f3528b6h,0692ea706h,02e03fddeh,047b533c0h,010e60619h,02ca3c055h,01a8bc73fh,01bb62b8fh,0ae58d4b2h,0584a24e3h,0b2045a73h - DD 0bd76e195h,03ab3d5afh,06938a810h,0478dd1adh,06ee3d5cbh,06ffab393h,022b361e4h,0dfb693dbh,051dbf1a7h,0f9694496h,008a2e762h,0cab4b4efh,0d39bba9ah,0e8c92f25h,0f1464d96h,0850e61bch - DD 0dc09508bh,0b7e830e3h,074317655h,0faf6d2cfh,0df690355h,072606cebh,0d0c3ded6h,048bb92b3h,05c7cf892h,065b75484h,0d5d5f01fh,0f6cd7ac9h,096401d69h,0c2c30a59h,0ed921878h,091268650h - DD 0b78c558fh,0380bf913h,0c8afdaa9h,043c0baebh,054f169d3h,0377f61d5h,0ae5ff20bh,0f8da07e3h,0a8a90ea8h,0b676c49dh,083a29b21h,081c1ff2bh,02ad8d276h,0383297ach,0ba89f982h,03001122fh - DD 06718e448h,0e1d794beh,07c3e6e13h,0246c1482h,05d26b5efh,056646ef8h,088069cddh,080f5091eh,0724bdd38h,0c5992e2fh,08471e8c7h,002e915b4h,00d0ff2a9h,096ff320ah,04384d1a0h,0bf886487h - DD 0c93f72d6h,0bbe1e6a6h,0cad800eah,0d5f75d12h,0e7acf117h,0fa40a09fh,07581a355h,032c8cdd5h,07023c499h,074221992h,038ec3901h,0a8afe5d7h,0a90e83f0h,05691afcbh,00b8f8each,041bcaa03h - DD 08d2668d5h,0e38b5ff9h,07ad81965h,00715281ah,003c6ce11h,01bc8fc7ch,08b650436h,0cbbee6e2h,00cdb9808h,006b00fe8h,0fe3ed315h,017d6e066h,04d0b5018h,02e9d38c6h,0844dcaefh,0ab8bfd56h - DD 0513aed8bh,042894a59h,0314bd07ah,0f77f3b6dh,08e42b582h,0bbdecb8fh,0d2390fe6h,0f10e2fa8h,062a2f201h,0efb95022h,050ee32b0h,04d59ea50h,06da789a8h,0d87f7728h,0f79492c4h,0cf98a2cfh - DD 0720943c2h,0f9577239h,03990b9d0h,0ba044cf5h,095f2884ah,05aa8e823h,00278a0afh,0834de6edh,05f25bd12h,0c8e1ee9ah,06f7ab271h,09259ceaah,077d00b76h,07e6d97a2h,0a437832ah,05c0c6eeah - DD 05606b81dh,05232c20fh,00d991ee5h,0abd7b375h,08632d951h,04d2bfe35h,098ed9364h,078f85146h,0f30c3282h,0951873f0h,0a789230bh,00da8ac80h,05398967fh,03ac7789ch,0bdda0fb5h,0a69b8f7fh - DD 06add8545h,0e5db7717h,072c49b66h,01b71cb66h,068421d77h,0d8560739h,083e3afeah,003840fe8h,01ec69977h,0b391dad5h,0307f6726h,0ae243fb9h,0e8ca160ch,0c88ac87bh,04ce355f4h,05174ccedh - DD 0e58ba37dh,098a35966h,07817335dh,0fdcc8da2h,083fbc7bfh,05b752830h,0d9c96984h,068e419d4h,002a40380h,0409a39f4h,01fe977bch,088940fafh,08f8edea6h,0c640a94bh,0ed11547dh,01e22cd17h - DD 059ffc3e2h,0e28568ceh,0c1dee4e7h,060aa1b55h,0837cb363h,0c67497c8h,0105a2bf2h,006fb438ah,0500d8e20h,030357ec4h,00670db10h,01ad9095dh,0c73b7cfdh,07f589a05h,0880d6d28h,0f544607dh - DD 0a20ef103h,017ba93b1h,06ba6577bh,0ad859130h,06fa214a0h,065c91cf6h,027990da5h,0d7d49c6ch,020bb569dh,0ecd9ec8dh,0eeffbc33h,0bd4b2502h,06bed0467h,02056ca5ah,05b63728ch,07916a1f7h - DD 053a4f566h,0d4f9497dh,097b56810h,089734664h,00494a621h,0f8e1da74h,08d011c68h,082546a93h,0c61ac162h,01f3acb19h,0abad0d3eh,052f8fa9ch,0b4b7ea43h,015356523h,0ae608125h,05a16ad61h - DD 04faed184h,0b0bcb87fh,05029f45fh,05f236b1dh,00bc6b1fch,0d42c7607h,068aefce3h,0c644324eh,05c5d8446h,08e191d59h,013ae1979h,0c0208077h,03ba59cc7h,0adcaee55h,0a2cb81bah,020ed6d6bh - DD 0b6efcffch,00952ba19h,097c0b87ch,060f12d68h,09caa30bch,04ee2c7c4h,097fbff4eh,0767238b7h,0501b5d92h,0ebc73921h,0c2a37737h,03279e3dfh,06d197543h,09fc12bc8h,00a40db4eh,0fa94dc6fh - DD 0530ccbbdh,07392b41ah,0ea823525h,087c82146h,005d98d0ch,0a52f984ch,05ef6974ch,02ae57d73h,03042a6ddh,09377f7bfh,019647a64h,0b1a007c0h,00cca9767h,0faa9079ah,0f68f72d5h,03d81a25bh - DD 0ff81578eh,0752067f8h,09045447dh,078622150h,00505aa6fh,0c0c22fcfh,06bed1c77h,01030f0a6h,01f0bd739h,031f29f15h,0e6debe85h,02d7989c7h,08e677e98h,05c070e72h,006e81fd5h,00a817bd3h - DD 0b0f2ac95h,0c110d830h,0ab20e64eh,048d0995ah,07729cd9ah,00f3e00e1h,0dd556946h,02a570c20h,04e86214dh,0912dbcfdh,0cf615498h,02d014ee2h,03530d76eh,055e2b1e6h,0fd0fd6d1h,0c5135ae4h - DD 0d4f3049fh,00066273ah,0e7087477h,0bb8e9893h,014c6e5fdh,02dba1ddbh,051f57e6ch,0dba37886h,05a72f2cfh,05aaee0a6h,07bea5642h,01208bfbfh,067872c37h,0f5c6aa3bh,043f93224h,0d726e083h - DD 0061f1658h,01854daa5h,0df0cd2b3h,0c0016df1h,0833d50deh,0c2a3f23eh,0bbbd3017h,073b681d2h,03ac343c0h,02f046dc4h,085716421h,09c847e7dh,00917eed4h,0e1e13c91h,063a1b9c6h,03fc9eebdh - DD 07fe02299h,00f816a72h,0294f3319h,06335ccc2h,04745c5beh,03820179fh,0922f066eh,0e647b782h,002cafb8ah,0c22e49deh,0fcc2eccch,0299bc2ffh,06e0e8282h,09a8feea2h,0fe893205h,0a627278bh - DD 07933e47bh,0a7e19733h,02e766402h,0f4ff6b13h,098440d9fh,0a4d8be0ah,038938808h,0658f5c2fh,0c95b3b3eh,090b75677h,03137b6ffh,0fa044269h,043c47c29h,0077b039bh,08a6445b2h,0cca95dd3h - DD 02333fc4ch,00b498ba4h,0f736a1b1h,0274f8e68h,05f1d4b2eh,06ca348fdh,0a8f10199h,024d3be78h,0ca14f530h,08535f858h,05b982e51h,0a6e7f163h,036e1bf62h,0847c8512h,003448418h,0f6a7c58eh - DD 0f9374ab6h,0583f3703h,06e564145h,0864f9195h,022526d50h,033bc3f48h,01262a496h,09f323c80h,03f046a9ah,0aa97a7aeh,0df8a039ah,070da183eh,052aa0ba6h,05b68f71ch,021459c2dh,09be0fe51h - DD 0cbc613e5h,0c1e17eb6h,0497ea61ch,033131d55h,0af7eded5h,02f69d39eh,0de6af11bh,073c2f434h,0a4a375fah,04ca52493h,0b833c5c2h,05f06787ch,03e6e71cfh,0814e091fh,08b746666h,076451f57h - DD 0694db7e0h,080f9bdefh,0b9fcddc6h,0edca8787h,003b8dce1h,051981c34h,070e10ba1h,04274dcf1h,06def6d1ah,0f72743b8h,0ebdb1866h,0d25b1670h,0050c6f58h,0c4491e8ch,087fbd7f5h,02be2b2abh - DD 0d111f8ech,03e0e5c9dh,0b7c4e760h,0bcc33f8dh,0bd392a51h,0702f9a91h,0c132e92dh,07da4a795h,00bb1151bh,01a0b0ae3h,002e32251h,054febac8h,0694e9e78h,0ea3a5082h,0e4fe40b8h,0e58ffec1h - DD 0d1e0cf9eh,0f85592fch,0c0e7b2e8h,0dea75f0dh,0c135584eh,0c04215cfh,02f57092ah,0174fc727h,0eb930beah,0e7277877h,05eb02a5ah,0504caccbh,0f5241b9bh,0f9fe08f7h,08d5ca954h,0e7fb62f4h - DD 029c4120bh,0fbb8349dh,0c0d0d915h,09f94391fh,05410ba51h,0c4074fa7h,0150a5911h,0a66adbf6h,034bfca38h,0c164543ch,0b9e1ccfch,0e0f27560h,0e820219ch,099da0f53h,0c6b4997ah,0e8234498h - DD 09d4c5423h,0cfb88b76h,0b0521c49h,09e56eb10h,0be8700a1h,0418e0b5eh,0f93cb58ah,000cbaad6h,0d92a5e67h,0e923fbdeh,01f347f11h,0ca4979ach,06bc0585bh,089162d85h,0ac3c70e3h,0dd6254afh - DD 0516e19e4h,07b23c513h,0c5c4d593h,056e2e847h,05ce71ef6h,09f727d73h,0f79a44c5h,05b6304a6h,03ab7e433h,06638a736h,0fe742f83h,01adea470h,05b7fc19fh,0e054b854h,0ba1d0698h,0f935381ah - DD 0799e9a74h,0546eab2dh,0a949f729h,096239e0eh,07090055ah,0ca274c6bh,09020c9b0h,0835142c3h,0a2e8807fh,0a405667ah,01aa3d39eh,029f2c085h,042fc72f5h,0cc555d64h,0fbeacb3ch,0e856e0e7h - DD 0918e4936h,0b5504f9dh,0b2513982h,065035ef6h,06f4d9cb9h,00553a0c2h,0bea85509h,06cb10d56h,0a242da11h,048d957b7h,0672b7268h,016a4d3ddh,08502a96bh,03d7e637ch,0730d463bh,027c7032bh - DD 0e4136a14h,0bdc02b18h,0678e32bfh,0bacf969dh,0dd9c3c03h,0c98d89a3h,023becc4fh,07b92420ah,0c64d565ch,0d4b41f78h,010f28295h,09f969d00h,0b13d051ah,0ec7f7f76h,0a92da585h,008945e1eh - DD 05846426fh,055366b7dh,0247d441dh,0e7d09e89h,0736fbf48h,0510b404dh,0e784bd7dh,07fa003d0h,017fd9596h,025f7614fh,035cb98dbh,049e0e0a1h,02e83a76ah,02c65957bh,0cddbe0f8h,05d40da8dh - DD 0050bad24h,0f2b8c405h,0c2aa4823h,08918426dh,0a38365a7h,02aeab3ddh,07c91b690h,072031717h,060a94120h,08b00d699h,0e99eaeech,0478a255dh,06f60aafdh,0bf656a5fh,05dee77b3h,0dfd7cb75h - DD 0a595939dh,037f68bb4h,028740217h,003556479h,084ad7612h,08e740e7ch,09044695fh,0d89bc843h,085a9184dh,0f7f3da5dh,09fc0b074h,0562563bbh,0f88a888eh,006d2e6aah,0161fbe7ch,0612d8643h - DD 0f64085e7h,0465edba7h,029aa8511h,0b230f304h,0cda2d188h,053388426h,04b666649h,090885735h,0652f54f6h,06f02ff9ah,05fae2bf0h,065c82294h,062f5eee3h,07816ade0h,0fcc56d70h,0dcdbdf43h - DD 054530bb2h,09fb3bba3h,0cb0869eah,0bde3ef77h,00b431163h,089bc9046h,0e4819a35h,04d03d7d2h,043b6a782h,033ae4f9eh,09c88a686h,0216db307h,000ffedd9h,091dd88e0h,012bd4840h,0b280da9fh - DD 01635e741h,032a7cb8ah,078be02a7h,0fe14008ah,01b7ae030h,03fafb334h,05add0ce9h,07fd508e7h,0d607ad51h,072c83219h,08d40964ah,00f229c0ah,01c878da2h,01be2c336h,0eab2ab86h,0e0c96742h - DD 03e538cd7h,0458f8691h,08e08ad53h,0a7001f6ch,0bf5d15ffh,052b8c6e6h,0011215ddh,0548234a4h,03d5b4045h,0ff5a9d2dh,04a904190h,0b0ffeeb6h,048607f8bh,055a3aca4h,030a0672ah,08cbd665ch - DD 042583068h,087f834e0h,0f3f6e683h,002da2aebh,005c12248h,06b763e5dh,065a8aefch,07230378fh,071e8e5cah,093bd80b5h,0b3b62524h,053ab041ch,06c9c552eh,01b860513h,0d5524e66h,0e84d402ch - DD 0f37f5937h,0a37f3573h,0d1e4fca5h,0eb0f6c7dh,0ac8ab0fch,02965a554h,0274676ach,017fbf56ch,0acf7d720h,02e2f6bd9h,010224766h,041fc8f88h,085d53befh,0517a14b3h,07d76a7d1h,0dae327a5h - DD 0c4818267h,06ad0a065h,037c1bbc1h,033aa189bh,027392a92h,064970b52h,02d1535eah,021699a1ch,0c2d7a7fdh,0cd20779ch,099c83cf2h,0e3186059h,072c0b8c7h,09b69440bh,07b9e0e4dh,0a81497d7h - DD 01f5f82dch,0515d5c89h,06361079eh,09a7f67d7h,011a35330h,0a8da81e3h,04b18be1bh,0e44990c4h,0af103e59h,0c7d5ed95h,08dac9261h,0ece8aba7h,09394b8d3h,0be82b099h,016adfe83h,06830f09ah - DD 088172d01h,0250a29b4h,0caff9e02h,08b20bd65h,0e8a6329ah,0b8a7661eh,0d3fce920h,04520304dh,02b47f7efh,0ae45da1fh,05bffc540h,0e07f5288h,03464f874h,0f7997009h,0a6fa1f38h,02244c2cdh - DD 094d7d9b1h,043c41ac1h,0c82e7f17h,05bafdd82h,05fda0fcah,0df0614c1h,0a8ae37adh,074b043a7h,09e71734ch,03ba6afa1h,09c450f2eh,015d5437eh,067e242b1h,04a5883feh,02c1953c2h,05143bdc2h - DD 0fc5e8920h,0542b8b53h,09a9cee08h,0363bf9a8h,0c3486e08h,002375f10h,08c5e70d2h,02037543bh,0625640b4h,07109bccch,08bc62c3bh,0cbc1051eh,0803f26eah,0f8455fedh,0eb372424h,06badceabh - DD 06b53f5f9h,0a2a9ce7ch,01b176d99h,064246595h,0b95c081bh,0b1298d36h,01d9a9ee6h,053505bb8h,0f2ba70b0h,03f6f9e61h,08afad453h,0d07e16c9h,0e7eb4a6ah,09f1694bbh,03cb0bc8eh,0dfebced9h - DD 053868c8bh,092d3dcdch,0386107a6h,0174311a2h,0689b4e64h,04109e07ch,02df3dcb6h,030e4587fh,00811b3b2h,0841aea31h,00cce43eah,06144d41dh,02a9a7803h,0464c4581h,03e158930h,0d03d371fh - DD 0b1f3390bh,0c676d7f2h,0a5b61272h,09f7a1b8ch,0c2e127a9h,04ebebfc9h,05dd997bfh,04602500ch,04711230fh,07f09771ch,0020f09c1h,0058eb37ch,0fee5e38bh,0ab693d4bh,04653cbc0h,09289eb1fh - DD 0d51b9cf5h,0becf46abh,09f0121afh,0d2aa9c02h,0e90dc274h,036aaf7d2h,048b95a3ch,0909e4ea0h,06f32dbdbh,0e6b70496h,08b030b3eh,0672188a0h,0cfb617e2h,0eeffe5b3h,07c82709eh,087e947deh - DD 01770f5a7h,0a44d2b39h,00e44eb82h,0e4d4d791h,03f69712ah,042e69d1eh,0ac6a820eh,0bf11c4d6h,042c4224ch,0b5e7f3e5h,0449d941ch,0d6b4e81ch,05450e878h,05d72bd16h,0ee25ac54h,06a61e28ah - DD 0e6f1cd95h,033272094h,00d18673fh,07512f30dh,05afc1464h,032f7a4cah,06bbb977bh,02f095656h,0a8226200h,0586f47cah,01ac07369h,002c868adh,0c613acbeh,04ef2b845h,00386054ch,043d7563eh - DD 0ab952578h,054da9dc7h,026e84d0bh,0b5423df2h,09b872042h,0a8b64eebh,05990f6dfh,0ac205782h,021f4c77ah,04ff696ebh,0aab273afh,01a79c3e4h,09436b3f1h,029bc922eh,0d6d9a27ah,0ff807ef8h - DD 0778f22a0h,082acea3dh,05b5e7469h,0fb10b2e8h,02818ee7dh,0c0b16980h,0c91c1a2fh,0011afff4h,0ad124418h,095a6d126h,0e72e295fh,031c081a5h,0f2f4db75h,036bb283ah,07acef462h,0d115540fh - DD 033f6746ch,0c7f3a8f8h,0fea990cah,021e46f65h,0caddb0a9h,0915fd5c5h,078614555h,0bd41f016h,0426ffb58h,0346f4434h,014dbc204h,080559436h,05a969b7fh,0f3dd20feh,0e899a39ah,09d59e956h - DD 08ad4cf4bh,0f1b0971ch,02ffb8fb8h,003448860h,065340ba4h,0f071ac3ch,0b27fd758h,0408d0596h,098c364b0h,0e7c78ea4h,0051e8ab5h,0a4aac4a5h,0485d9002h,0b9e1d560h,088844455h,09acd518ah - DD 0d06f56c0h,0e4ca688fh,0df027972h,0a48af70dh,05e9a609dh,0691f0f04h,0ee61270eh,0a9dd82cdh,0a0ef18d3h,08903ca63h,03d6ca3bdh,09fb7ee35h,0abf47d03h,0a7b4a09ch,01c67de8eh,04cdada01h - DD 09355a244h,052003749h,04f2151a9h,0e77fd2b6h,066b4efcbh,0695d6cf6h,0da2cfe25h,0c5a0cacfh,0ef811865h,0104efe5ch,09ea5cc3dh,0f52813e8h,040b58dbch,0855683dch,0175fcb11h,00338ecdeh - DD 074921592h,0f9a05637h,0b9bb9d31h,0b4f1261dh,04e9c5459h,0551429b7h,06ea71f53h,0be182e6fh,0dfc50573h,0d3a3b07ch,062be8d44h,09ba1afdah,052ab65d3h,09bcfd2cbh,0a9571802h,0df11d547h - DD 002a2404ah,0099403eeh,021088a71h,0497406f4h,05004ae71h,099479409h,0a812c362h,0bdb42078h,0d8828442h,02b72a30fh,0fcb5ed1ch,0283add27h,066a40015h,0f7c0e200h,008b295efh,03e3be641h - DD 0e038a675h,0ac127dc1h,08c5c6320h,0729deff3h,0a90d2c53h,0b7df8fd4h,0681e7cd3h,09b74b0ech,0dab407e5h,05cb5a623h,076b340c6h,0cdbd3615h,07d28392ch,0a184415ah,0e96f7830h,0c184c1d8h - DD 081d3a80fh,0c3204f19h,0c8e02432h,0fde0c841h,08149e0c1h,078203b3eh,008053a73h,05904bdbbh,0101b6805h,030fc1dd1h,049aa6d49h,043c223bch,07a174087h,09ed67141h,0d5997008h,0311469a0h - DD 05e43fc61h,0b189b684h,0e0d3ab57h,0f3282375h,0b1181da8h,04fa34b67h,099ee52b8h,0621ed0b2h,0ad990676h,09b178de1h,056d54065h,0d51de67bh,07538c201h,02a2c27c4h,038a40f5ch,033856ec8h - DD 0be6cdcdeh,02522fc15h,09f0c6f89h,01e603f33h,0103e30a6h,07994edc3h,0220c853eh,0033a00dbh,0f7bb7fd7h,0d3cfa409h,0462d18f6h,070f8781eh,0687fe295h,0bbd82980h,0595669f3h,06eef4c32h - DD 02f7e85c3h,086a9303bh,071988f9bh,05fce4621h,0c138acb5h,05b935bf6h,025661212h,030ea7d67h,0e51ab9a2h,0ef1eb5f4h,0ae067c78h,00587c98ah,077ca9ca6h,0b3ce1b3ch,054b5f057h,02a553d4dh - DD 04da29ec2h,0c7898236h,0b9c57316h,0dbdd5d13h,02cd80d47h,0c57d6e6bh,0fe9e7391h,080b460cfh,0f963c31eh,098648cabh,0cc4d32fdh,067f9f633h,0fdf7c687h,00af42a9dh,00b015ea7h,055f292a3h - DD 0cd21ab3dh,089e468b2h,0c393d392h,0e504f022h,0a5013af9h,0ab21e1d4h,0c2c28acbh,0e3283f78h,0226bf99fh,0f38b35f6h,00e291e69h,0e8354274h,0b20c162dh,061673a15h,0b04fbdbeh,0c101dc75h - DD 0255bd617h,08323b4c2h,06c2a9154h,06c969693h,062679387h,0c6e65860h,0b8c88e23h,08e01db0ch,0893a5559h,033c42873h,047a3e149h,07630f04bh,0ddcf35f8h,0b5d80805h,077dfe732h,0582ca080h - DD 00b1894a0h,02c7156e1h,0d81c68c0h,092034001h,0c8b115b5h,0ed225d00h,083b907f2h,0237f9c22h,04470e2c0h,00ea2f32fh,058be4e95h,0b725f7c1h,0b1ae5463h,00f1dcafah,01ba2fc04h,059ed5187h - DD 0d0115d4dh,0f6e0f316h,0d3691599h,05180b12fh,0527f0a41h,0157e32c9h,0a8e0ecc0h,07b0b081dh,0bf4f0dd0h,06dbaaa8ah,04d252696h,099b289c7h,0dbf864feh,079b7755eh,076cad3abh,06974e2b1h - DD 006ddd657h,035dbbee2h,02ff3a96dh,0e7cbdd11h,0076be758h,088381968h,008c91f5dh,02d737e72h,086ec3776h,05f83ab62h,0945fa7a1h,098aa649dh,072ef0933h,0f477ec37h,0098c17b1h,066f52b1eh - DD 0d803738bh,09eec58fbh,0e4e86aa4h,091aaade7h,0a5b51492h,06b1ae617h,0bbc45974h,063272121h,0862c5129h,07e0e28f0h,03321a4a0h,00a8f79a9h,05041c88fh,0e26d1664h,053233e3ah,00571b805h - DD 0c9520711h,0d1b0ccdeh,03c8b84bfh,055a9e4edh,0a1fef314h,09426bd39h,06eb93f2bh,04f5f638eh,02bf9341bh,0ba2a1ed3h,04d42d5a9h,0d63c1321h,0316dc7c5h,0d2964a89h,0ca511851h,0d1759606h - DD 0f9e6ed35h,0d8a9201fh,06736925ah,0b7b5ee45h,099581af7h,00a83fbbch,064eeb051h,03076bc40h,002dec312h,05511c98ch,0238dcb78h,0270de898h,0539c08c9h,02cf4cf9ch,038d3b06eh,0a70cb65eh - DD 0cfe57bbdh,0b12ec10eh,035a0c2b5h,082c7b656h,0161c67bdh,0ddc7d5cdh,0ae3a32cch,0e32e8985h,0d11a5529h,07aba9444h,02427fa1ah,0e964ed02h,024a1770ah,01528392dh,012c72fcdh,0a152ce2ch - DD 08ec07649h,0714553a4h,0459dd453h,018b4c290h,07b64b110h,0ea32b714h,02e6f07a2h,0b871bfa5h,09e2e3c9bh,0b67112e5h,044aa90f6h,0fbf250e5h,0bd539006h,0f77aedb8h,0d172a66fh,03b0cdf9ah - DD 0f8c51187h,0edf69feah,0741e4da7h,005bb67ech,008114345h,047df0f32h,0bb9792b1h,056facb07h,08f6229e4h,0f3e007e9h,0526fba0fh,062d103f4h,0b0339d79h,04f33bef7h,0b59bfec1h,09841357bh - DD 0c34e6705h,0fa8dbb59h,07fdaa84ch,0c3c7180bh,0a4108537h,0f95872fch,0932a3e5ah,08750cc3bh,0b7275d7dh,0b61cc69dh,02e59b2e9h,0ffa0168bh,06ecbb493h,0ca032abch,02c9082d8h,01d86dbd3h - DD 0e28ef5bah,0ae1e0b67h,0cb18e169h,02c9a4699h,01e6bbd20h,00ecd0e33h,0af5e81d2h,0571b360eh,0101c1d45h,0cd9fea58h,018880452h,06651788eh,01f8dd446h,0a9972635h,0e37281d0h,044bed022h - DD 033da525dh,0094b2b2dh,013144fd8h,0f193678eh,0f4c1061dh,0b8ab5ba4h,0dccbe0f4h,04343b5fah,063812713h,0a8702371h,0f7611d93h,047bf6d2dh,0bd21e1d7h,046729b8ch,0d629e77dh,07484d4e0h - DD 060dbac1fh,0830e6eeah,0da06a2f7h,023d8c484h,050ca535bh,0896714b0h,0ebd97a9bh,0dc8d3644h,0b12177b4h,0106ef9fah,0534d5d9ch,0f79bf464h,0a6ab360bh,02537a349h,0a00c744fh,0c7c54253h - DD 0e5911a76h,0b3c7a047h,0647f1ee7h,061ffa5c8h,08f56ab42h,015aed36fh,0a3ff9ac9h,06a0d41b0h,0cc30d357h,068f469f5h,06b72be96h,0be9adf81h,0903ad461h,01cd926feh,0caca441bh,07e89e38fh - DD 0facf69d4h,0f0f82de5h,04775344ch,0363b7e76h,0b2e36d04h,06894f312h,011d1c9a5h,03c6cb4feh,04008e1f2h,085d9c339h,0249f326ch,05e9a85eah,0678c5e06h,0dc35c60ah,09f86fba9h,0c08b944fh - DD 089f71f0fh,0de40c02ch,0ff3da3c0h,0ad8f3e31h,042125dedh,03ea5096bh,0a7379183h,013879cbfh,06b306a0bh,06f4714a5h,067646c5eh,0359c2ea6h,007726368h,0facf8943h,065ff431eh,007a58935h - DD 068754ab0h,024d661d1h,06f429a76h,0801fce1dh,0a58ce769h,0c068a85fh,05d5eca2bh,0edc35c54h,0a3f660d1h,0ea31276fh,0b8fc7167h,0a0184ebeh,01d8db0aeh,00f20f21ah,056c35e12h,0d96d095fh - DD 0f8c2a25bh,0edf402b5h,0059204b6h,01bb772b9h,019b4e34ch,050cbeae2h,03fa0845ah,093109d80h,08ef59fb5h,054f7ccf7h,088070963h,03b438fe2h,031f3ba9bh,09e28c659h,0ead9da92h,09cc31b46h - DD 0b733aa5fh,03c2f0ba9h,0f05af235h,0dece47cbh,0a2ac82a5h,0f8e3f715h,02203f18ah,0c97ba641h,009c11060h,0c3af5504h,046af512dh,056ea2c05h,0f3f28146h,0fac28dafh,0959ef494h,087fab43ah - DD 0d4c5105fh,009891641h,06d7fbd65h,01ae80f8eh,0bee6bdb0h,09d67225fh,07fc4d860h,03b433b59h,093e85638h,044e66db6h,0e3e9862fh,0f7b59252h,0665c32ech,0db785157h,0ae362f50h,0702fefd7h - DD 00fefb0c3h,03754475dh,046d7c35dh,0d48fb56bh,0363798a4h,0a070b633h,08fdb98e6h,0ae89f3d2h,06363d14ch,0970b89c8h,067abd27dh,089817521h,044d5a021h,09bf7d474h,0cac72aeeh,0b3083bafh - DD 0be949a44h,0389741deh,0546a4fa5h,0638e9388h,0a0047bdch,03fe6419ch,0aaea57cah,07047f648h,041fbab17h,054e48a90h,0576bdba2h,0da8e0b28h,0c72afddch,0e807eebch,0f42577bfh,007d3336dh - DD 0bfe20925h,062a8c244h,08fdce867h,091c19ac3h,0dd387063h,05a96a5d5h,021d324f6h,061d587d4h,0a37173eah,0e87673a2h,053778b65h,023848008h,005bab43eh,010f8441eh,04621efbeh,0fa11fe12h - DD 081685d7bh,0047b772eh,0bf34a976h,023f27d81h,0915f48efh,0c27608e2h,0a521d5c3h,03b0b43fah,063ca7284h,07613fb26h,01d4db837h,07f5729b4h,0583b526bh,087b14898h,0bbadd3d1h,000b732a6h - DD 02048e396h,08e02f426h,0383d9de4h,0436b50b6h,0471e85adh,0f78d3481h,0d005c8d6h,08b01ea6ah,097015c07h,0d3c7afeeh,04e3ba2aeh,046cdf1a9h,083d3a1d2h,07a42e501h,0b541dff4h,0d54b5268h - DD 04e23e9bch,03f24cf30h,0126e3624h,04387f816h,03b0b6d61h,026a46a03h,08b2d777ch,0af1bc845h,0527de79ch,025c401bah,04261bbb6h,00e1346d4h,0287b4bc7h,04b96c44bh,05254562fh,0658493c7h - DD 0b8a24a20h,023f949feh,0f52ca53fh,017ebfed1h,0bcfb4853h,09b691bbeh,06278a05dh,05617ff6bh,0e3c99ebdh,0241b34c5h,01784156ah,0fc64242eh,0695d67dfh,04206482fh,0ee27c011h,0b967ce0eh - DD 021c80b5dh,065db3751h,0a31ecca0h,02e7a563ch,05238a07eh,0e56ffc4eh,032ced854h,03d6c2966h,0af70b885h,0e99d7d1ah,02d686459h,0afc3bad9h,00cc8ba5bh,09c78bf46h,018955aa3h,05a439519h - DD 05fe4e314h,0f8b517a8h,0fcb8906fh,0e60234d0h,0f2061b23h,0ffe542ach,06b4cb59ch,0287e191fh,009d877d8h,021857ddch,014678941h,01c23478ch,0b6e05ea4h,0bbf0c056h,0b01594feh,082da4b53h - DD 0fadb8608h,0f7526791h,07b74cdf6h,0049e832dh,0c2b90a34h,0a43581cch,09360b10ch,073639eb8h,0e1e4a71bh,04fba331fh,08072f919h,06ffd6b93h,065679032h,06e53271ch,0f14272ceh,067206444h - DD 0b2335834h,0c0f734a3h,090ef6860h,09526205ah,004e2bb0dh,0cb8be717h,002f383fah,02418871eh,04082c157h,0d7177681h,029c20073h,0cc914ad0h,0e587e728h,0f186c1ebh,061bcd5fdh,06fdb3c22h - DD 0f2f9f8e9h,030d014a6h,04fec49d2h,0963ece23h,09605a8d9h,0862025c5h,019f8929ah,039874445h,012bf476ah,001b6ff65h,009cf7d91h,0598a64d8h,093be56cah,0d7ec7749h,0cbb33615h,010899785h - DD 002eee3adh,0b8a092fdh,030145270h,0a86b3d35h,08512b675h,0323d98c6h,062ebb40fh,04b8bc785h,0413f9cdeh,07d301f54h,02bab5664h,0a5e4fb4fh,01cbfec23h,01d2b252dh,0e177120dh,0fcd576bbh - DD 083731a34h,004427d3eh,0ed836e8eh,02bb9028eh,0b612ca7ch,0b36acff8h,0d3d9c73ah,0b88fe5efh,0edea4eb3h,0be2a6bc6h,0488eec77h,043b93133h,0b17106e1h,0f41ff566h,0654efa32h,0469e9172h - DD 041c23fa3h,0b4480f04h,0c1989a2eh,0b4712eb0h,093a29ca7h,03ccbba0fh,0d619428ch,06e205c14h,0b3641686h,090db7957h,045ac8b4eh,00432691dh,0f64e0350h,007a759ach,09c972517h,00514d89ch - DD 0a8e67fc3h,01701147fh,0ab2085beh,09e2e0b8bh,0ac284e57h,0d5651824h,074893664h,0890d4325h,0c55e68a3h,08a7c5e6eh,04339c85ah,0bf12e90bh,0f922b655h,031846b85h,00bf4d700h,09a54ce4dh - DD 0f1a14295h,0d7f4e83ah,0b285d4f9h,0916f955ch,099ffdabah,0e57bb0e0h,0eab0d152h,028a43034h,0b8a9cef8h,00a36ffa2h,0b9ec051ah,05517407eh,0ea68e672h,09c796096h,0fb3c77fbh,0853db5fbh - DD 0e864a51ah,021474ba9h,06e8a1b8bh,06c267699h,094120a28h,07c823626h,08383a5dbh,0e61e9a48h,09f84216dh,07dd75003h,0ad43cd85h,0ab020d07h,0da12c659h,09437ae48h,0e65452adh,06449c2ebh - DD 02cf9d7c1h,0cc7c4c1ch,0ee95e5abh,01320886ah,0beae170ch,0bb7b9056h,0dbc0d662h,0c8a5b250h,0c11d2303h,04ed81432h,01f03769fh,07da66912h,084539828h,03ac7a5fdh,03bccdd02h,014dada94h - DD 07ef6b0d1h,08b84c321h,07c933f22h,052a9477ah,0fd440b82h,05ef6728ah,06ce4bd5eh,05c3bd859h,0f22c2d3eh,0918b80f5h,0b7bb6cc5h,0368d5040h,02695a11ch,0b66142a1h,0eb19ea70h,060ac583ah - DD 00eab2437h,0317cbb98h,05e2654c8h,08cc08c55h,0e6d8307fh,0fe2d6520h,057428993h,0e9f147f3h,0d2fd6cf1h,05f9c7d14h,02d4fcbb0h,0a3ecd064h,08e7341f7h,0ad83fef0h,03a63115ch,0643f23a0h - DD 0e65ab743h,0d38a78abh,035edc89ch,0bf7c75b1h,0530df568h,03dd8752eh,0e308c682h,0f85c4a76h,0e68acf37h,04c9955b2h,0ab32af85h,0a544df3dh,0a25cf493h,04b8ec3f5h,01a622febh,04d8f2764h - DD 0f0dcbc49h,07bb4f7aah,070bbb45bh,07de551f9h,09f2ca2e5h,0cfd0f3e4h,01f5c76efh,0ece58709h,0167d79aeh,032920eddh,0fa7d7ec1h,0039df8a2h,0bb30af91h,0f46206c0h,022676b59h,01ff5e2f5h - DD 06ea51d66h,011f4a039h,0807d7a26h,0506c1445h,0755a9b24h,060da5705h,01f1a319eh,08fc8cc32h,09433d67dh,083642d4dh,06a7dd296h,07fa5cb8fh,09b7bde07h,0576591dbh,0419716fbh,013173d25h - DD 0d5b340ffh,0ea30599dh,0b0fe76c5h,0fc6b5297h,0ab8f5adch,01c6968c8h,0901c928dh,0f723c7f5h,09773d402h,04203c321h,01b51dd47h,0df7c6aa3h,0552be23ch,03d49e37ah,00b5a6e87h,057febee8h - DD 07bd8e739h,0c5ecbee4h,0ae63bf75h,079d44994h,038fb8923h,0168bd00fh,0d0533130h,075d48ee4h,0db5cdf33h,0554f77aah,03c696769h,03396e896h,0d3fd674eh,02fdddbf2h,099d0e3e5h,0bbb8f6eeh - DD 0cbae2f70h,051b90651h,093aaa8ebh,0efc4bc05h,0dd1df499h,08ecd8689h,022f367a5h,01aee99a8h,0ae8274c5h,095d485b9h,07d30b39ch,06c14d445h,0bcc1ef81h,0bafea90bh,0a459a2edh,07c5f317ah - DD 04ef44227h,001211075h,0dc20f496h,0a17bed6eh,0819853cdh,00cdfe424h,0f71e2ce7h,013793298h,0dbbe307bh,03c1f3078h,076ee9936h,06dd1c20eh,0423caa20h,023ee4b57h,08efb840eh,04ac3793bh - DD 0ed1f8ca0h,0934438ebh,04ebb25a2h,03e546658h,0c069896fh,0c415af0eh,09a5aa43dh,0c13eddb0h,0d49eb8f6h,07a04204fh,0d74f1670h,0d0d5bdfch,056fc0558h,03697e286h,001cebadeh,010207371h - DD 00647a82bh,05f87e690h,08f40054fh,0908e0ed4h,079853803h,0a9f633d4h,04a28b252h,08ed13c9ah,01f460f64h,03e2ef676h,036d06336h,053930b9bh,08fc4979bh,0347073ach,05ecd5597h,084380e0eh - DD 0c4fe3c39h,0e3b22c6bh,06c7bebdfh,0ba4a8153h,025693459h,0f23ab6b7h,014922b11h,053bc3770h,05afc60dbh,04645c8abh,020b9f2a3h,0aa022355h,0ce0fc507h,052a2954ch,07ce1c2e7h,08c2731bbh - DD 018a0339dh,0f39608abh,03735436ch,0ac7a658dh,0cd992b4fh,0b22c2b07h,0f40dcfd4h,04e83daech,02f39ea3eh,08a34c7beh,0b0a56d2eh,0ef0c005fh,06edd8038h,062731f6ah,04e3cb075h,05721d740h - DD 0fbeeee1bh,01ea41511h,0ef1d0c05h,0d1ef5e73h,073c07d35h,042feefd1h,08a329493h,0e530a00ah,0f15ebfb0h,05d55b7feh,0d322491ah,0549de03ch,0745b3237h,0f7b5f602h,01ab6e2b6h,03632a3a2h - DD 00ef59f78h,00d3bba89h,0c9e52b9ah,00dfc6443h,072631447h,01dc79699h,0b3be20b1h,0ef033917h,0b1383948h,00c92735dh,0c0dd7d7dh,0c1fc29a2h,0403ed068h,06485b697h,0aac93bdch,013bfaab3h - DD 00deeaf52h,0410dc6a9h,04c641c15h,0b003fb02h,05bc504c4h,01384978ch,0864a6a77h,037640487h,0222a77dah,005991bc6h,05e47eb11h,062260a57h,0f21b432ch,0c7af6613h,0ab4953e9h,022f3acc9h - DD 08e41d155h,052934922h,03ac059efh,04d024568h,04d884411h,0b0201755h,0a59a178fh,0ce8055cfh,0f6204549h,0cd77d1afh,0c7066759h,0a0a00a3eh,00272c229h,0471071efh,0d3c4b6b0h,0009bcf6bh - DD 022305177h,02a2638a8h,041645bbfh,0d51d59dfh,0c0a7a3c0h,0a81142fdh,04c7063eeh,0a17eca6dh,060d9dcech,00bb887edh,020ad2455h,0d6d28e51h,0a67102bah,0ebed6308h,08bffa408h,0042c3114h - DD 08aa68e30h,0fd099ac5h,01483513eh,07a6a3d7ch,0ba2d8f0ch,0ffcc6b75h,01e78b954h,054dacf96h,0a4a9af89h,0f645696fh,006ac98ech,03a411940h,022a67a20h,041b8b3f6h,099dec626h,02d0b1e0fh - DD 040be34e8h,027c89192h,091907f35h,0c7162b37h,0a956702bh,090188ec1h,0df93769ch,0ca132f7dh,00e2025b4h,03ece44f9h,00c62f14ch,067aaec69h,022e3cc11h,0ad741418h,07ff9a50eh,0cf9b75c3h - DD 04d348272h,002fa2b16h,09959d56dh,0bd99d61ah,018762916h,0bc4f19dbh,049c1ac80h,0cc7cce50h,0d846bd83h,04d59ebaah,0a9202849h,08775a9dch,06e1f4ca9h,007ec4ae1h,0ba893f11h,027eb5875h - DD 0662cc565h,000284d51h,00db4138dh,082353a6bh,0aa32a594h,0d9c7aaaah,0a5669c47h,0f5528b5eh,02f23c5ffh,0f3220231h,06affa3a1h,0e3e8147ah,0202ddda0h,0fb423d5ch,06b871bd4h,03d6414ach - DD 0a51a168ah,0586f82e1h,048ae5448h,0b712c671h,076233eb8h,09a2e4bd1h,078811ca9h,00188223ah,0f7c18de1h,0553c5e21h,0b27bb286h,07682e451h,00e51e929h,03ed036b3h,0ec9cb34fh,0f487211bh - DD 00c24efc8h,00d094277h,0bef737a4h,00349fd04h,0514cdd28h,06d1c9dd2h,030da9521h,029c135ffh,0f78b0b6fh,0ea6e4508h,0678c143ch,0176f5dd2h,04be21e65h,008148418h,0e7df38c4h,027f7525ch - DD 0748ab1a4h,01fb70e09h,05efe4433h,09cba50a0h,015f75af2h,07846c7a6h,05ee73ea8h,02a7c2c57h,03f0a449ah,042e566a4h,0ad90fc3dh,045474c3bh,08b61d057h,07447be3dh,03a4ec092h,03e9d1cf1h - DD 0f380a6e6h,01603e453h,09b1437c2h,00b86e431h,0ef29610ah,07a4173f2h,0f03d57f7h,08fa729a7h,06c9c217eh,03e186f6eh,091919524h,0be1d3079h,0153d4fb1h,092a62a70h,0d68c2f71h,032ed3e34h - DD 09eb1a8b7h,0d785027fh,0c5b22fe8h,0bc37eb77h,0b9d6a191h,0466b34f0h,09a05f816h,0008a89afh,07d42c10ah,019b028fbh,049b3f6b8h,07fe8c92fh,0a5a0ade3h,058907cc0h,0559d1a7ch,0b3154f51h - DD 0d9790ed6h,05066efb6h,0a6aa793bh,0a77a0cbch,0223e042eh,01a915f3ch,069c5874bh,01c5def04h,073b6c1dah,00e830078h,0fcd8557ah,055cf85d2h,00460f3b1h,00f7c7c76h,046e58063h,087052acbh - DD 0907eae66h,009212b80h,04d721c89h,03cb068e0h,0dd45ac1ch,0a87941aeh,00daa0dbbh,0de8d5c0dh,0e3502e6eh,0da421fdch,04d89a084h,0c8944201h,0f0c24bfbh,07307ba5eh,020bde0efh,0da212bebh - DD 0f82ce682h,0ea2da24bh,007f71fe4h,0058d3816h,05ffad8deh,035a02462h,0aadcefabh,0cd7b05dch,01d9f54ech,0d442f8edh,0b2d3b5cah,08be3d618h,0e06b2ce2h,0e2220ed0h,01b0da4c0h,082699a5fh - DD 071c0c3a7h,03ff106f5h,00d34180ch,08f580f5ah,022d7d375h,04ebb120eh,0e9513675h,05e5782cch,099c82a70h,02275580ch,015ea8c4ch,0e8359fbfh,07b415e70h,053b48db8h,0100c6014h,0aacf2240h - DD 0e4652f1dh,09faaccf5h,0d56157b2h,0bd6fdd2ah,06261ec50h,0a4f4fb1fh,0476bcd52h,0244e55adh,0047d320bh,0881c9305h,06181263fh,01ca983d5h,0278fb8eeh,0354e9a44h,0396e4964h,0ad2dbc0fh - DD 09268b3deh,0723f3aa2h,0e6e0609ah,00d1ca29ah,06cf44252h,0794866aah,001af87edh,00b59f3e3h,07f4a6c51h,0e234e5ffh,061dc2f7eh,0a8768fd2h,00a94d81fh,0dafc7332h,006938ce1h,0d7f84282h - DD 00546063eh,0ae0b3c0eh,05d61abc6h,07fbadcb2h,0369ac400h,0d5d7a2c9h,0ae67d10ch,0a5978d09h,04f85eaach,0290f211eh,0facac681h,0e61e2ad1h,0388384cdh,0ae125225h,0ccfde30fh,0a7fb68e9h - DD 03daed4c2h,07a59b936h,02606f789h,080a9aa40h,0f6a6d90ah,0b40c1ea5h,0514d5885h,0948364d3h,070985182h,0062ebc60h,033310895h,0a6db5b0eh,0e329c2f5h,064a12175h,090ea237eh,0c5f25bd2h - DD 02d0a4c23h,07915c524h,06bb3cc52h,0eb5d26e4h,0c09e2c92h,0369a9116h,0cf182cf8h,00c527f92h,02aede0ach,09e591938h,06cc34939h,0b2922208h,099a34361h,03c9d8962h,0c1905fe6h,03c81836dh - DD 0a001ec5ah,04bfeb57fh,0a0dc5dbah,0e993f5bbh,0724a1380h,047884109h,032fe9a04h,08a0369abh,08c927db8h,0ea068d60h,094655741h,0bf5f37cfh,004b6c7eah,047d402a2h,06af259cbh,04551c295h - DD 0ed77ee8bh,0698b71e7h,0f309d5c7h,0bddf7bd0h,034e780cah,06201c22ch,04c295ef4h,0ab04f7d8h,04313a8ceh,01c947294h,092ca4cfeh,0e532e4ach,0d0a7a97ah,089738f80h,0a580fd5bh,0ec088c88h - DD 042ce9e51h,0612b1ecch,0b25fdd2ah,08f9840fdh,001e7f839h,03cda78c0h,0ece05480h,0546b3d3ah,080d30916h,0271719a9h,0584c20c4h,045497107h,05bc78608h,0af8f9478h,0277e2a4ch,028c7d484h - DD 088a2ffe4h,0fce01767h,028e169a5h,0dc506a35h,07af9c93ah,00ea10861h,003fa0e08h,01ed24361h,0a3d694e7h,096eaaa92h,0ef50bc74h,0c0f43b4dh,064114db4h,0ce6aa58ch,07c000fd4h,08218e8eah - DD 0185f8844h,0ac815dfbh,01557abfbh,0cd7e90cbh,0afbfecdfh,023d16655h,0085cac4ah,080f3271fh,0d0e62f47h,07fc39aa7h,0460a48e5h,088d519d1h,0d28f101eh,059559ac4h,0ca9ae816h,07981d9e9h - DD 09ac38203h,05c38652ch,057657fe5h,086eaf87fh,0e21f5416h,0568fc472h,0e7e597b5h,02afff39ch,0256d4eabh,03adbbb07h,08285ab89h,022598692h,0041caefeh,035f8112ah,0a5064c8bh,095df02e3h - DD 0c7004bf3h,04d63356eh,0db83c7deh,0230a08f4h,08709a7b7h,0ca27b270h,0cb9abd2dh,00d1c4cc4h,07550fee8h,08a0bc66eh,09cf7247eh,0369cd4c7h,092b5b7e7h,075562e84h,05802af7bh,08fed0da0h - DD 0e48fb889h,06a7091c2h,07b8a9d06h,026882c13h,01b82a0e2h,0a2498663h,03518152dh,0844ed736h,0d86e27c7h,0282f476fh,004afefdch,0a04edacah,06119e34dh,08b256ebch,00787d78bh,056a413e9h - DD 05a74be50h,082ee061dh,0dea16ff5h,0e41781c4h,099bfc8a2h,0e0b0c81eh,00b547e2dh,0624f4d69h,0bdcc9ae4h,03a83545dh,0409b1e8eh,02573dbb6h,0a6c93539h,0482960c4h,05ae18798h,0f01059adh - DD 03112795fh,0715c9f97h,0984e6ee1h,0e8244437h,0ecb66bcdh,055cb4858h,0abaffbeeh,07c136735h,05dbec38eh,054661595h,0388ad153h,051c0782ch,0c6e0952fh,09ba4c53ah,01b21dfa8h,027e6782ah - DD 04ed2dbc2h,0682f903dh,07c3b2d83h,00eba59c8h,09c7e9335h,08e9dc84dh,00eb226d7h,05f9b21b0h,0af267baeh,0e33bd394h,0be2e15aeh,0aa86cc25h,06a8ec500h,04f0bf67dh,0f9630658h,05846aa44h - DD 0e2c2bf15h,0feb09740h,0a9e99704h,0627a2205h,0c2fbc565h,0ec8d73d0h,0c20c8de8h,0223eed8fh,0a8363b49h,01ee32583h,0c9c2b0a6h,01a0b6cb9h,090dbc85ch,049f7c3d2h,01ef4c1ach,0a8dfbb97h - DD 065c7c2abh,0afb34d4ch,0e2c5ea84h,01d4610e7h,0973c4ab5h,0893f6d1bh,0945ba5c4h,0a3cdd7e9h,0064417eeh,060514983h,0ad6bdf2bh,01459b23ch,05cf726c3h,023b2c341h,032d6354ah,03a829635h - DD 0ab192c18h,0294f901fh,07030164fh,0ec5fcbfeh,0e2246ba6h,0e2e2fcb7h,0221a1a0ch,01e7c88b3h,0c92d88c5h,072c7dd93h,01106fb59h,041c2148eh,0a0f60f14h,0547dd4f5h,063960f31h,0ed9b52b2h - DD 0b0a5b358h,06c8349ebh,09e7e2ed6h,0b154c5c2h,0eda462dbh,0cad5eccfh,02de66b69h,0f2d6dbe4h,08665e5b2h,0426aedf3h,07b7f5723h,0488a8513h,08bcbb386h,015cc43b3h,0d791d879h,027ad0af3h - DD 0846e364fh,0c16c236eh,0dea50ca0h,07f33527ch,00926b86dh,0c4810775h,00598e70ch,06c2a3609h,0f024e924h,0a6755e52h,09db4afcah,0e0fa07a4h,066831790h,015c3ce7dh,0a6cbb0d6h,05b4ef350h - DD 0b6205969h,02c4aafc4h,0f6c7854fh,042563f02h,01d983b48h,0016aced5h,099949755h,0feb356d8h,0d1a39bd7h,08c2a2c81h,0e6934ae9h,08f44340fh,0447904dah,0148cf91ch,00f51a926h,07340185fh - DD 07409ab46h,02f8f00fbh,080e289b2h,0057e78e6h,0a888e5d1h,003e5022ch,09dede4e2h,03c87111ah,07809460bh,05b9b0e1ch,071c9abc7h,0e751c852h,0c7cc1dc9h,08b944e28h,01d3cfa08h,04f201ffah - DD 03e6721ceh,002fc905ch,0d0b3674ch,0d52d70dah,018810da4h,05dc2e5cah,05c69dd99h,0a984b273h,084de5ca4h,063b92527h,0c852dec4h,02f1c9872h,0c2e3de09h,018b03593h,09813dc2fh,019d70b01h - DD 0a6dc1d29h,042806b2dh,0f871e144h,0d3030009h,0aaf49276h,0a1feb333h,0c70bc04bh,0b5583b9eh,095695f20h,01db0be78h,089d012b5h,0fc841811h,005f61643h,06409f272h,0d5883128h,040d34174h - DD 067419833h,0d79196f5h,0863b7b08h,06059e252h,01c56700ch,084da1817h,0b28d3ec4h,05758ee56h,0013b0ea6h,07da2771dh,054c5e9b9h,0fddf524bh,024305d80h,07df4faf8h,03a97763fh,058f5c1bfh - DD 07c696042h,0a5af37f1h,04a2538deh,0d4cba22ch,09ea42600h,0211cb995h,07b069889h,0cd105f41h,0ddb81e74h,0b1e1cf19h,05157b8cah,0472f2d89h,0ee9db885h,0086fb008h,00f26d131h,0365cd570h - DD 0a2be7053h,0284b02bbh,07ab9a6d6h,0dcbbf7c6h,020f7a530h,04425559ch,0188767c8h,0961f2dfah,070dc80c4h,0e2fd9435h,0f0784120h,0104d6b63h,053567122h,07f592bc1h,0f688ad77h,0f6bc1246h - DD 00f15dde9h,005214c05h,00d5f2b82h,0a47a76a8h,062e82b62h,0bb254d30h,03ec955eeh,011a05fe0h,09d529b36h,07eaff46eh,08f9e3df6h,055ab1301h,099317698h,0c463e371h,0ccda47adh,0fd251438h - DD 023d695eah,0ca9c3547h,016e589b5h,048ce626eh,0b187d086h,06b5b64c7h,0b2207948h,0d02e1794h,07198111dh,08b58e98fh,0dcf9c3cch,090ca6305h,0f34089b0h,05691fe72h,0fc7c80ffh,060941af1h - DD 022eb51e5h,0a09bc0a2h,0aa9cf09ah,0c0bb7244h,080159f06h,036a8077fh,0dddc560eh,08b5c989eh,0512e1f43h,019d2f316h,0ad08ff62h,002eac554h,007d20b4eh,0012ab84ch,0d6d4e4e1h,037d1e115h - DD 0ab7b19a8h,0b6443e1ah,0def8cd45h,0f08d067eh,0685e03dah,063adf3e9h,04792b916h,0cf15a10eh,0b738a425h,0f44bcce5h,09636b2fdh,0ebe131d5h,07850d605h,094068841h,0b40d749dh,009684eaah - DD 072ba075bh,08c3c669ch,0ba469015h,089f78b55h,03e9f8ba8h,05706aadeh,0b32d7ed7h,06d8bd565h,0805f08d6h,025f4e63bh,0c3bcc1b5h,07f48200dh,0b025d847h,04e801968h,087cbe0a8h,074afac04h - DD 07e63d690h,043ed2c2bh,00223cdb8h,0efb6bbf0h,02884d3feh,04fec3caeh,0d75e25a4h,0065ecce6h,069f79071h,06c2294ceh,0044b8666h,00d9a8e5fh,017b69d8fh,05009f238h,0c5dfdaf7h,03c29f8feh - DD 0ebae68c4h,09067528fh,030c5ba21h,05b385632h,01fdd1aech,0540df119h,0cfba4c78h,0cf37825bh,0beb11454h,077eff980h,060c1b066h,040a1a991h,0f889a1c7h,0e8018980h,076c24be0h,0b9c52ae9h - DD 045650ef4h,005fbbcceh,08aa29ac7h,0ae000f10h,04f04c470h,0884b7172h,019bb5c25h,07cd4fde2h,0e8840869h,06477b22ah,05fbd0686h,0a8868859h,01116dfbah,0f23cc02eh,0d87d7776h,076cd563fh - DD 0a9d82abfh,0e2a37598h,0e6c170f5h,05f188ccbh,05066b087h,081682200h,0c7155adah,0da22c212h,0fbddb479h,0151e5d3ah,06d715b99h,04b606b84h,0f997cb2eh,04a73b54bh,03ecd8b66h,09a1bfe43h - DD 02a67d48ah,01c312809h,0031fa9e2h,0cd6a671eh,00e43a34ah,0bec3312ah,055ef47d3h,01d935639h,08fea73eah,05ea02489h,0a035afb2h,08247b364h,05265b54ch,0b58300a6h,0722c7148h,03286662fh - DD 0b4ec4c20h,0b77fd76bh,00f3fe3fdh,0f0a12fa7h,041d8c7e8h,0f845bbf5h,05ec10aa8h,0e4d969cah,043e232a3h,04c0053b7h,037f8a45ah,0dc7a3fach,020d81c8fh,03c4261c5h,0b00eab00h,0fd4b3453h - DD 0d36e3062h,076d48f86h,0a143ff02h,0626c5277h,0af76f42eh,0538174deh,06407ceach,02267aa86h,072e572d5h,0fad76351h,0ba7330ebh,0ab861af7h,0418d8657h,0a0a1c8c7h,020289a52h,0988821cbh - DD 0cccc18adh,079732522h,0f1a6e027h,0aadf3f8dh,017c2354dh,0f7382c93h,0d818b689h,05ce1680ch,0d9ecbee9h,0359ebbfch,01cae62ach,04330689ch,0c51ac38ah,0b55ce5b4h,0fe238ee8h,07921dfeah - DD 0271d1ca5h,03972bef8h,0e8aabd18h,03e423bc7h,044a3e5e3h,057b09f3fh,07b444d66h,05da886aeh,0a9964375h,068206634h,0699cd0ffh,0356a2fa3h,0dba515e9h,0af0faa24h,0b321d79ah,0536e1f5ch - DD 05c04e4eah,0d3b9913ah,0d6f11513h,0d549dcfeh,079fd1d94h,0ee227bf5h,0b43f2c67h,09f35afeeh,0f1314f53h,0d2638d24h,0cabcd822h,062baf948h,04ef48db0h,05542de29h,0fc5f6bb2h,0b3eb6a04h - DD 01208e16ah,023c110aeh,0f8363e24h,01a4d15b5h,0164be00bh,030716844h,0f6f4690dh,0a8e24824h,090b170cfh,0548773a2h,042f191f4h,0a1bef331h,09247aa97h,070f418d0h,048be9147h,0ea06028eh - DD 0dbfb894eh,0e13122f3h,0ce274b18h,0be9b79f6h,0ca58aadfh,085a49de5h,011487351h,024957758h,0bb939099h,0111def61h,026d13694h,01d6a974ah,0d3fc253bh,04474b4ceh,04c5db15eh,03a1485e6h - DD 0147c15b4h,0e79667b4h,07bc61301h,0e34f553bh,017094381h,0032b80f8h,0723eaa21h,055d8bafdh,0f1c0e74eh,05a987995h,0ebba289ch,05a9b292eh,0eb4c8251h,0413cd4b2h,0d162db0ah,098b5d243h - DD 068342520h,0bb47bf66h,0baa862d1h,008d68949h,0e906abcdh,011f349c7h,0ed7bf00eh,0454ce985h,0b55b803bh,0acab5c9eh,031e3c16dh,0b03468eah,0d273bf12h,05c24213dh,071587887h,0211538ebh - DD 0731dea2dh,0198e4a2fh,074ed7b2ah,0d5856cf2h,013a664feh,086a632ebh,0bda41291h,0932cd909h,0c0c4ddc0h,0850e95d4h,0347fc2c9h,0c0f422f8h,086076bcbh,0e68cbec4h,0cd6cd286h,0f9e7c0c0h - DD 00f5f27cah,065994ddbh,0a80d59ffh,0e85461fbh,066601023h,0ff05481ah,0fc9ebbfbh,0c665427ah,07587fd52h,0b0571a69h,08d49efceh,0935289f8h,0ea420688h,061becc60h,013a786afh,0b22639d9h - DD 0361ecf90h,01a8e6220h,025506463h,0001f23e0h,00a5c2b79h,0e4ae9b5dh,0d8149db5h,0ebc9cdadh,0934aa728h,0b33164a1h,0ae9b60f3h,0750eb00eh,09b9cfbfdh,05a91615bh,0ef45f7f6h,097015cbfh - DD 0bf5151dfh,0b462c4a5h,0b07118f2h,021adcc41h,0043fa42ch,0d60c545bh,0e96be1abh,0fc21aa54h,04e51ea80h,0e84bc32fh,0259b5d8dh,03dae45f0h,0c38f1b5eh,0bb73c7ebh,0e8ae617dh,0e405a74ah - DD 09f1c56bdh,0bb1ae9c6h,049f196a4h,08c176b98h,06875092bh,0c448f311h,09f976033h,0b5afe3deh,0145813e5h,0a8dafd49h,0e2b34226h,0687fc4d9h,04c7ff57fh,0f2dfc92dh,0401f1b46h,0004e3fc1h - DD 01430c9abh,05afddab6h,02238e997h,00bdd41d3h,0418042aeh,0f0947430h,0cdddc4cbh,071f9addah,0c52dd907h,07090c016h,029e2047fh,0d9bdf44dh,01b1011a6h,0e6f1fe80h,0d9acdc78h,0b63accbch - DD 01272a95bh,0cfc7e235h,0a6276ac8h,00c667717h,0e2d7eef7h,03c0d3709h,09a685b3eh,05add2b06h,014ea5d65h,0363ad32dh,08d7dd506h,0f8e01f06h,075b4aac6h,0c9ea2213h,00d353466h,0ed2a2bf9h - DD 0e9d3a7c3h,0439d79b5h,081b7f34bh,08e0ee5a6h,01dc4ba75h,0cf3dacf5h,0eb3310c7h,01d3d1773h,07747ae83h,0a8e67112h,0197d6b40h,031f43160h,0cd961400h,00521cceeh,0f6535768h,067246f11h - DD 0ef0c3133h,0702fcc5ah,07e16693bh,0247cc45dh,0c729b749h,0fd484e49h,0b218320fh,0522cef7dh,059ab93b3h,0e56ef405h,09f181071h,0225fba11h,015330ed0h,033bd6595h,01ddb32f7h,0c4be69d5h - DD 00448087ch,0264c7668h,071432daeh,0ac30903fh,000f9bf47h,03851b266h,06cdd6d03h,0400ed311h,0f8fd2424h,0045e79feh,0fa6da98bh,0fdfd974ah,00c1e673ah,045c9f641h,05b2c5168h,076f2e733h - DD 02a601753h,01adaebb5h,0c57c2d49h,0b286514ch,01e0bfd24h,0d8769670h,004478922h,0950c547eh,0e5d32bfeh,0d1d41969h,0750d6c3eh,030bc1472h,0e0e27f3ah,08f3679feh,0a4a6ee0ch,08f64a7dch - DD 0633dfb1fh,02fe59937h,0977f2547h,0ea82c395h,0661ea646h,0cbdfdf1ah,0b9085451h,0c7ccc591h,081761e13h,082177962h,09196885ch,0da57596fh,028ffbd70h,0bc17e849h,02671d36fh,01e6e0a41h - DD 04152fcf5h,061ae872ch,09e77e754h,0441c87b0h,0a34dff09h,0d0799dd5h,088a6b171h,0766b4e44h,011f1c792h,0dc06a512h,04be35c3eh,0ea02ae93h,0e90c469eh,0e5ca4d6dh,056e4ff5ch,04df4368eh - DD 04baef62eh,07817acabh,0a85b91e8h,09f5a2202h,06ce57610h,09666ebe6h,0f73bfe03h,032ad31f3h,025bcf4d6h,0628330a4h,0515056e6h,0ea950593h,0e1332156h,059811c89h,08c11b2d7h,0c89cf1feh - DD 004e60cc0h,075b63913h,04625d375h,0ce811e8dh,02d26e562h,0030e43fch,0608d36a0h,0fbb30b4bh,048528118h,0634ff82ch,0cd285911h,07c6fe085h,099358f28h,07f2830c0h,0665e6c09h,02e60a95eh - DD 09b785dbfh,008407d3dh,0a759bce7h,0530889abh,052f61239h,0f228e0e6h,06879be3ch,02b6d1461h,051a7bbf7h,0e6902c04h,076f24a64h,030ad99f0h,098bc6da0h,066d9317ah,0cb596ac0h,0f4f877f3h - DD 04c44f119h,0b05ff62dh,0e9b77416h,04555f536h,08caed63bh,0c7c0d059h,0c358b2a9h,00cd2b7ceh,046945fa3h,03f33287bh,0d67c8791h,0f8785b20h,09637bd08h,0c54a7a61h,018be79d7h,054d4598ch - DD 0c46d7ce1h,0889e5acbh,08b085877h,09a515bb7h,00b7a5050h,0fac1a03dh,0f2926035h,07d3e738ah,02a6cb0ebh,0861cc2ceh,08f7adc79h,06f2e2955h,033016376h,061c4d451h,05ad59090h,0d9fd2c80h - DD 0b2b836a1h,0e5a83738h,07c0d6622h,0855b41a0h,07cc19af1h,0186fe317h,0fdd99acbh,06465c1ffh,06974b99eh,046e5c23fh,0a2717cbeh,075a7cf8bh,0062be658h,04d2ebc3fh,05f209c98h,0094b4447h - DD 0b940cb5ah,04af285edh,07cc82f10h,06706d792h,0030526fah,0c8c8776ch,0a0da9140h,0fa8e6f76h,0591ee4f0h,077ea9d34h,040274166h,05f46e337h,0ea671457h,01bdf98bbh,0862a1fe2h,0d7c08b46h - DD 01c08ad63h,046cc303ch,04c845e7bh,099543440h,048f36bf7h,01b8fbdb5h,08c8273a7h,05b82c392h,0928435d5h,008f712c4h,079330380h,0071cf0f1h,0a8da054ah,0c74c2d24h,043c46b5ch,0cb0e7201h - DD 0c0b7eff3h,00ad7337ah,0c5e48b3ch,08552225eh,073f13a5fh,0e6f78b0ch,082349cbeh,05e70062eh,0e7073969h,06b8d5048h,0c33cb3d2h,0392d2a29h,04ecaa20fh,0ee4f727ch,02ccde707h,0a068c99eh - DD 0b87a2913h,0fcd5651fh,03cc252f0h,0ea3e3c15h,03b6cd3e4h,0777d92dfh,0c5a732e7h,07a414143h,0a71ff493h,0a895951ah,0bbd37cf6h,0fe980c92h,0decfeeffh,045bd5e64h,0a44c43e9h,0910dc2a9h - DD 0cca9f54dh,0cb403f26h,09303f6dbh,0928bbdfbh,0a9eee67ch,03c37951eh,0f79961c3h,03bd61a52h,0395c9a79h,009a238e6h,061eb352dh,06940ca2dh,0c1875631h,07d1e5c5eh,01e1b20d1h,01e19742ch - DD 023fc2e6eh,04633d908h,008959149h,0a76e29a9h,084ed7da5h,061069d9ch,05dbcad51h,00baa11cfh,0961849dah,0d01eec64h,0af3d8c28h,093b75f1fh,01ca2ee44h,057bc4f9fh,000e00558h,05a26322dh - DD 061a023efh,01888d658h,0b9e5246eh,01d72aab4h,0e5563ec0h,0a9a26348h,0c3439a43h,0a0971963h,0adb9b5b7h,0567dd54bh,0c45a524bh,073fac1a1h,0fe38e608h,08fe97ef7h,03f384f48h,0608748d2h - DD 0c486094fh,0b0571794h,08bf3a8d6h,0869254a3h,0310b0e25h,0148a8dd1h,09aa3f7d8h,099ab9f3fh,06706c02eh,00927c68ah,069790e6ch,022b5e76ch,06c71376ch,06c325260h,009ef6657h,053a57690h - DD 0edffcf3ah,08d63f852h,03c0a6f55h,0b4d2ed04h,012519b9eh,0db3aa8deh,01e0a569ah,05d38e9c4h,0303747e2h,0871528bfh,0f5b5c18dh,0a208e77ch,0ca6bf923h,09d129c88h,0bf02839fh,0bcbf197fh - DD 027323194h,09b9bf030h,0339ca59dh,03b055a8bh,00f669520h,0b46b2312h,0497e5f24h,019789f1fh,0aaf01801h,09c499468h,08b69d59ch,072ee1190h,0acf4c079h,08bd39595h,08e0cd048h,03ee11eceh - DD 01ed66f18h,0ebde86ech,0d61fce43h,0225d906bh,0e8bed74dh,05cab07d6h,027855ab7h,016e4617fh,0b2fbc3ddh,06568aaddh,08aeddf5bh,0edb5484fh,06dcf2fadh,0878f20e8h,0615f5699h,03516497ch - DD 0fa181e69h,0ef0a3fech,030d69a98h,09ea02f81h,066eab95dh,0b2e9cf8eh,024720021h,0520f2bebh,01df84361h,0621c540ah,071fa6d5dh,012037721h,00ff5f6ffh,06e3c7b51h,0abb2bef3h,0817a069bh - DD 0b294cda6h,083572fb6h,0b9039f34h,06ce9bf75h,0095cbb21h,020e012f0h,0d063f0dah,0a0aecc1bh,0f02909e5h,057c21c3ah,048ce9cdch,0c7d59ecfh,08ae336f8h,02732b844h,03f4f85f4h,0056e3723h - DD 089e800cah,08a10b531h,0145208fdh,050fe0c17h,0b714ba37h,09e43c0d3h,034189acch,0427d200eh,0e616e2c0h,005dee24fh,0ee1854c1h,09c25f4c8h,08f342a73h,04d3222a5h,0a027c952h,00807804fh - DD 04f0d56f3h,0c222653ah,0ca28b805h,0961e4047h,04a73434bh,02c03f8b0h,0ab712a19h,04c966787h,0864fee42h,0cc196c42h,05b0ece5ch,0c1be93dah,0c131c159h,0a87d9f22h,0dce45655h,02bb6d593h - DD 0b809b7ceh,022c49ec9h,0e2c72c2ch,08a41486bh,0fea0bf36h,0813b9420h,0a66dac69h,0b3d36ee9h,0328cc987h,06fddc08ah,03a326461h,00a3bcd2ch,0d810dbbah,07103c49dh,04b78a4c4h,0f9d81a28h - DD 0e4d55941h,03de865adh,030384087h,0dedafa5eh,04ef18b9bh,06f414abbh,0faee5268h,09ee9ea42h,037a55a4ah,0260faa16h,0015f93b9h,0eb19a514h,09e9c3598h,051d7ebd2h,01932178eh,0523fc56dh - DD 0b98fe684h,0501d070ch,0124a1458h,0d60fbe9ah,092bc6b3fh,0a45761c8h,0fe6f27cbh,0f5384858h,0b59e763bh,04b0271f7h,05b5a8e5eh,03d4606a9h,005a48292h,01eda5d9bh,0e6fec446h,0da7731d0h - DD 090d45871h,0a3e33693h,006166d8dh,0e9764040h,089a90403h,0b5c33682h,072f1d637h,04bd17983h,0d5d2c53ah,0a616679eh,0fdcf3b87h,05ec4bcd8h,0b66a694eh,0ae6d7613h,0e3fc27e5h,07460fc76h - DD 095caabeeh,070469b82h,0889501e3h,0de024ca5h,0076ed265h,06bdadc06h,05a0ef8b2h,00cb1236bh,00972ebf9h,04065ddbfh,022aca432h,0f1dd3875h,0744aff76h,0a88b97cfh,0fe8e3d24h,0d1359afdh - DD 091502cf3h,052a3ba2bh,0084db75dh,02c3832a8h,0de30b1c9h,004a12dddh,0e31fd60ch,07802eabch,0a37fddabh,033707327h,0faafa973h,065d6f2abh,011e6f91ah,03525c5b8h,05f46530bh,076aeb0c9h - DD 02f93a675h,0e8815ff6h,005f48679h,0a6ec9684h,0358ae884h,06dcbb556h,0e19e3873h,00af61472h,0a5f696beh,072334372h,06f22fb70h,0c65e57eah,0946cea90h,0268da30ch,065681b2ah,0136a8a87h - DD 00f9f44d4h,0ad5e81dch,02c46585ah,0f09a6960h,0c447d1b1h,0d1649164h,0879dc8b1h,03b4b36c8h,03b6b234ch,020d4177bh,01730d9d0h,0096a2505h,0ef80531dh,00611b9b8h,064bb495dh,0ba904b3bh - DD 093a3147ah,01192d9d4h,09a565545h,09f30a5dch,06ef07212h,090b1f9cbh,00d87fc13h,029958546h,0c17db9bah,0d3323effh,0cb1644a8h,0cb18548ch,04f49ffbch,018a306d4h,04c2e8684h,028d658f1h - DD 0a99f8c71h,044ba60cdh,04bf742ffh,067b7abdbh,0914b3f99h,066310f9ch,0f412c161h,0ae430a32h,088ace52fh,01e6776d3h,052d7067dh,04bc0fa24h,08f07cd1bh,003c286aah,0a985b2c1h,04cb8f38ch - DD 08c3bff36h,083ccbe80h,05263e575h,0005a0bd2h,0259bdcd1h,0460d7ddah,0fa5cab6bh,04a1c5642h,09fe4fc88h,02b7bdbb9h,0cc97bbb5h,009418e28h,0a12321aeh,0d8274fb4h,05c87b64eh,0b137007dh - DD 0c63c4962h,080531fe1h,0981fdb25h,050541e89h,0fd4c2b6bh,0dc1291a1h,0a6df4fcah,0c0693a17h,00117f203h,0b2c4604eh,00a99b8d0h,0245f1963h,0c6212c44h,0aedc20aah,0520f52a8h,0b1ed4e56h - DD 0f8547be3h,0fe48f575h,0a9e45f98h,00a7033cdh,018c50100h,04b45d3a9h,0a61d41dah,0b2a6cd6ah,057933c6bh,060bbb4f5h,02b0d7ffch,0a7538ebdh,08cd626b6h,09ea3ab8dh,03601625ah,08273a484h - DD 00168e508h,088859845h,099a94abdh,08cbc9bb2h,0fab0a671h,0713ac792h,06c9ebffch,0a3995b19h,01239e152h,0e711668eh,0bbb8dff4h,056892558h,0dbf17963h,08bfc7dabh,0b3de1253h,05b59fe5ah - DD 034a9f7aeh,07e3320ebh,0d751efe4h,0e5e8cf72h,0d9be2f37h,07ea003bch,0b6c08ef7h,0c0f551a0h,0038f6725h,056606268h,06d92d3b6h,01dd38e35h,0c3cbd686h,007dfce7ch,0651c5da8h,04e549e04h - DD 008b19340h,04058f93bh,0cac6d89dh,0c2fae6f4h,08f159cc7h,04bad8a8ch,0cb0b601ch,00ddba4b3h,01dd95f8ch,0da4fc7b5h,0cea5c255h,01d163cd7h,0274a8c4ch,030707d06h,02802e9ceh,079d9e008h - DD 0e6ddd505h,002a29ebfh,0b50bed1ah,037064e74h,0a7327d57h,03f6bae65h,0f83920bch,03846f5f1h,060df1b9bh,087c37491h,02d1da29fh,04cfb2895h,04ed1743ch,010a478cah,03edd47c6h,0390c6030h - DD 08c0a78deh,08f3e5312h,01e85df70h,0ccd02bdah,0a61b6582h,0d6c75c03h,0fc0eebd1h,00762921ch,0d85010c0h,0d34d0823h,00044cf1fh,0d73aaacbh,0a3b5e78ah,0fb4159bbh,0e5826f3fh,02287c7f7h - DD 0580b1a01h,04aeaf742h,060423b79h,0f080415dh,0a7dea144h,0e12622cdh,059d62472h,049ea4996h,0571f3913h,0b42991efh,0f5b25a8ah,00610f214h,030b79e8fh,047adc585h,007a065a2h,0f90e3df6h - DD 043e2e034h,05d0a5debh,0444024aah,053fb5a34h,06b0c9f7fh,0a8628c68h,0ac563656h,09c69c29ch,0bace47b6h,05a231febh,09ea5a2ech,0bdce0289h,09463853eh,005da1fach,0509e78aah,096812c52h - DD 057151692h,0d3fb5771h,0d98e1c44h,0eb2721f8h,032399be1h,0c0506087h,0d979d8b8h,0da5a5511h,0c6f56780h,0737ed55dh,00dc7a7f4h,0e20d3004h,0f5941a03h,002ce7301h,0ed30f83ah,091ef5215h - DD 04092d85fh,028727fc1h,05c49e41ah,072d223c6h,0ba6a4d81h,0a7cf30a2h,0b030d87dh,07c086209h,0fc588b09h,004844c7dh,05874bbb0h,0728cd499h,0e84c0495h,0cc1281eeh,0ec31958fh,00769b5bah - DD 0f99c2471h,0665c228bh,0191eb110h,0f2d8a11bh,0d36d7024h,04594f494h,0cdcb25a1h,0482ded8bh,0dadd4885h,0c958a9d8h,0f1d2b547h,07004477eh,02a0af550h,00a45f6efh,02f8d6351h,04fc739d6h - DD 0786f08a9h,075cdaf27h,042c2737fh,08700bb26h,01c4e2670h,0855a7141h,015076fefh,0810188c1h,0abcd3297h,0c251d0c9h,0f48108ebh,0ae4c8967h,018ceed30h,0bd146de7h,0c986bcedh,0f9d4f07ah - DD 083fa1e08h,05ad98ed5h,0beabd1fbh,07780d33eh,0903b1196h,0e330513ch,0a47bc8c4h,0ba11de9eh,002c2d064h,0684334dah,0a48de23bh,07ecf360dh,00a9089d8h,057a1b474h,0ff36734ch,0f28fa439h - DD 0ea4570b3h,0f2a482cbh,0a5ebcee9h,0ee65d68bh,0b9694cd5h,0988d0036h,037885d32h,053edd0e9h,0beb9bc6dh,0e37e3307h,09f5c6768h,0e9abb907h,051f2160fh,04396ccd5h,047336da6h,02500888ch - DD 0926fce43h,0383f9ed9h,004da2930h,0809dd1c7h,08a4cb227h,030f6f596h,073a56b38h,00d700c7fh,0ab64a065h,01825ea33h,01338df80h,0aab9b735h,09b63f57fh,01516100dh,027a6a634h,02574395ah - DD 0700a1acdh,0b5560fb6h,0fd999681h,0e823fd73h,06cb4e1bah,0da915d1fh,06ebe00a3h,00d030118h,089fca8cdh,0744fb0c9h,0f9da0e0bh,0970d01dbh,07931d76fh,00ad8c564h,0f659b96ah,0b15737bfh - DD 0a8b484e7h,0dc9933e8h,07a26dec7h,0b2fdbdf9h,09f1f0136h,02349e9a4h,070fddddbh,07860368eh,0f9ad3e18h,0d93d2c1ch,0689f4e79h,06d6c5f17h,0b24ff1b6h,07a544d91h,0fe16cd8ch,03e12a5ebh - DD 0a56b872fh,0543574e9h,0fcf68ea2h,0a1ad550ch,03f560ef7h,0689e37d2h,0c9d47a8bh,08c54b9cah,0088ac342h,046d40a4ah,01576c6d0h,0ec450c7ch,01f9689e9h,0b589e31ch,0b8781718h,0dacf2602h - DD 0c8cb6b42h,0a89237c6h,0b96ef381h,01326fc93h,0b5f07825h,055d56c6dh,07449e22dh,0acba2eeah,0633c3000h,074e0887ah,0d7cbcf71h,0cb6cd172h,0c36cf1beh,0309e81deh,060ae399bh,007a18a6dh - DD 09edce57eh,0b36c2679h,0df001d41h,052b892f4h,016a1f2c6h,0d884ae5dh,0efcc370ah,09b329424h,0bd2e21dfh,03120daf2h,002470a99h,055298d2dh,0a05db32eh,00b78af6ch,0601f5636h,05c76a331h - DD 0f8a4f29ch,0aae861ffh,0d68f8d49h,070dc9240h,081b1321ch,0960e649fh,08792e4ceh,03d2c801bh,042521876h,0f479f772h,0416c79b1h,00bed93bch,0263e5bc9h,0a67fbc05h,0521db049h,001e8e630h - DD 0c6f3431eh,076f26738h,0e3267541h,0e609cb02h,0818c877ch,0b10cff2dh,0786a13cbh,01f0e75ceh,01158544dh,0f4fdca64h,06cb71ed0h,05d777e89h,0a9aa4755h,03c233737h,0e527ab40h,07b453192h - DD 039f05ffeh,0db59f688h,06d82574eh,08f4f4be0h,0ee292d1bh,0cce3450ch,061ccd086h,0aa448a12h,0f7914967h,0abce91b3h,01908a5edh,04537f09bh,0f51042e7h,0a812421eh,0ec0b3a34h,0faf5cebch - DD 04ca6b39ah,0730ffd87h,002efd342h,070fb72edh,0d75c8edbh,0eb4735f9h,0c278aa51h,0c11f2157h,0bf3bfebfh,0c459f635h,06bd9601fh,03a1ff0b4h,0c420cb73h,0c9d12823h,03c2915a3h,03e9af3e2h - DD 0b41c3440h,0e0c82c72h,0e3039a5fh,0175239e5h,0558795a3h,0e1084b8ah,0d01e5c60h,0328d0a1dh,0d3788a04h,00a495f2eh,066c11a9fh,025d8ff16h,09ed692d6h,0f5155f05h,04f425fe4h,0954fa107h - DD 0e98aaa99h,0d16aabf2h,096b0f88ah,090cd8ba0h,0c154026ah,0957f4782h,052af56d2h,054ee0734h,045b4147ah,0bcf89e54h,09a52816ch,03d102f21h,039b62e77h,06808517eh,069169ad8h,092e25421h - DD 0bb608558h,0d721d871h,0f6d4ff9bh,060e4ebaeh,041f2763eh,00ba10819h,051ee3247h,0ca2e45beh,02bfd7a5fh,066d172ech,074d0b12dh,0528a8f2fh,0dabe70dch,0e17f1e38h,09f93983ch,01d5d7316h - DD 0df423e31h,051b2184ah,0aedb1a10h,0cb417291h,0625bcab9h,02054ca93h,0a98998f0h,054396860h,0a54ae57eh,04e53f6c4h,0ee648e9dh,00ffeb590h,06afaf6bch,0fbbdaadch,0aa3bfb8ah,0f88ae796h - DD 0d2359ed9h,0209f1d44h,0f3544ce2h,0ac68dd03h,0fd51e569h,0f378da47h,02cc80097h,0e1abd860h,0343b6e3ah,023ca18d9h,0b40a1baeh,0480797e8h,0533f3e67h,0d1f0c717h,006e6cdfch,044896970h - DD 052a82e8dh,08ca21055h,078460cdch,0b2caf785h,0e9037178h,04c1b7b62h,0db514b58h,0efc09d2ch,09113be5ch,05f2df9eeh,0b3f9271ch,02fbda78fh,08f83fc54h,0e09a81afh,08afb5141h,006b13866h - DD 043e3865dh,038f6480fh,01ddf47d9h,072dd77a8h,04c205ff7h,0f2a8e971h,09d088ad8h,046d449d8h,0185d706fh,0926619eah,0c7dd7f62h,0e47e02ebh,08cbc2031h,0e7f120a7h,0998d4ac9h,0c18bef00h - DD 06bdf22dah,018f37a9ch,090dc82dfh,0efbc432fh,05d703651h,0c52cef8eh,0d99881a5h,082887ba0h,0b920ec1dh,07cec9ddah,0ec3e8d3bh,0d0d7e8c3h,04ca88747h,0445bc395h,09fd53535h,0edeaa2e0h - DD 06cc87475h,0461b1d93h,06d2383bdh,0d92a52e2h,0d7903546h,0fabccb59h,03d14b112h,06111a761h,0b3d5f612h,00ae584feh,060e828ech,05ea69b8dh,054087030h,06c078985h,0ac4821feh,0649cab04h - DD 08bdce214h,025ecedcfh,086af7361h,0b5622f72h,07038b9e2h,00e1227aah,0ac20fa77h,0d0efb273h,079df975bh,0817ff88bh,01999503eh,0856bf286h,05038ec46h,0b4d5351fh,0fc42af6eh,0740a52c5h - DD 02cbb1a3fh,02e38bb15h,017a83429h,0c3eb99feh,0dd66bb74h,0ca4fcbf1h,0cde5e8fch,0880784d6h,0b4e7a0beh,0ddc84c1ch,0bd15a72fh,08780510dh,081ec30e1h,044bcf1afh,00a61073eh,0141e50a8h - DD 047be87aeh,00d955718h,0f76a4372h,068a61417h,0c607c3d3h,0f57e7e87h,05252f332h,0043afaf8h,01552a4d2h,0cc14e121h,0bb4d4ab4h,0b6dee692h,0a03816a4h,0b6ab74c8h,06f394a29h,084001ae4h - DD 0d795fb45h,05bed8344h,0b79f55a5h,057326e7dh,04accdffch,0c9533ce0h,03993fa04h,053473cafh,0a13df4c8h,07906eb93h,097cbe46fh,0a73e51f6h,00ae4ccf8h,0d1ab3ae1h,08a5b3dbch,025614508h - DD 011a71b27h,061eff962h,06bb7fa39h,0df71412bh,02bd7f3efh,0b31ba6b8h,069180d29h,0b0b9c415h,0014cdde5h,0eec14552h,0227b4bbbh,0702c624bh,0d3e988f3h,02b15e8c2h,0a4f7fd04h,0ee3bcc6dh - DD 042ac6c85h,09d00822ah,01df9f2b7h,02db0cea6h,042de1e58h,0d7cad2abh,02d6fbb61h,0346ed526h,01a2faf09h,0b3962995h,07c25612eh,02fa8a580h,07cf56490h,030ae04dah,00eea3961h,075662908h - DD 03d080847h,03609f5c5h,05241d4f6h,0cb081d39h,077961a63h,0b4fb3810h,02abb66fch,0c20c5984h,0f902f245h,03d40aa7ch,04e536b1eh,09cb12736h,099b3134fh,05eda24dah,05cd011afh,0afbd9c69h - DD 0c7088c7dh,09a16e30ah,03207389fh,05ab65710h,0e7407a53h,01b09547fh,04fdc6eabh,02322f9d7h,07430de4dh,0c0f2f22dh,0e68ca9a9h,019382696h,0918e5868h,017f1eff1h,0586f4204h,0e3b5b635h - DD 03fbc4341h,0146ef980h,05b5eed4eh,0359f2c80h,07482e41dh,09f35744eh,0f3b224c2h,09a9ac3ech,091fc50aeh,09161a6feh,0c613fa7ch,089ccc66bh,0c732f15ah,089268b14h,0b467ed03h,07cd6f4e2h - DD 0ce56b40eh,0fbf79869h,0c02dde98h,0f93e094ch,0edee2cd7h,0efe0c3a8h,0b268fd42h,090f3ffc0h,008241aedh,081a7fd56h,000b1afe8h,095ab7ad8h,03e310d52h,040127056h,009d9fc43h,0d3ffdeb1h - DD 0d11a8594h,0c8f85c91h,031cf6db8h,02e74d258h,002b5dfd0h,0829c7ca3h,069143c86h,0e389cfbeh,0941768d8h,0d01b6405h,003bf825dh,045103995h,056cd17e2h,0cc4ee166h,0ba037e79h,0bea3c283h - DD 0d9a47520h,04e1ac06eh,0af852404h,0fbfe18aah,08087648ah,05615f8e2h,0b9d150d9h,07301e47eh,0b299b977h,079f9f9ddh,0a5b78314h,076697a7bh,07d7c90e7h,010d67468h,0937210b5h,07afffe03h - DD 028c22ceeh,05aef3e4bh,009fd55aeh,0efb0ecd8h,00d2a5d6ah,04cea7132h,001db6357h,09cfb5fa1h,0f36e1ac5h,0395e0b57h,036cafb7dh,0008fa9adh,05308c4dbh,08f6cdf70h,095ed2477h,051527a37h - DD 05bd21311h,0ba0dee30h,0909c90d7h,06ed41b22h,07c8696d3h,0c5f6b758h,03ce83a80h,00db8eaa8h,0b24b4b6fh,0d297fe37h,0522d1f0dh,0fe58afe8h,08c98dbd9h,097358736h,09454a527h,06bc226cah - DD 0ce53c2d0h,0a12b384eh,05e4606dah,0779d897dh,073ec12b0h,0a53e47b0h,05756f1adh,0462dbbbah,0cafe37b6h,069fe09f2h,0ecce2e17h,0273d1ebfh,03cf607fdh,08ac1d538h,012e10c25h,08035f7ffh - DD 07e6c5520h,0854d34c7h,0dcb9ea58h,0c27df9efh,0d686666dh,0405f2369h,00417aa85h,029d1febfh,093470afeh,09846819eh,0e2a27f9eh,03e6a9669h,0e31e6504h,024d008a2h,09cb7680ah,0dba7cecfh - DD 0338d6e43h,0ecaff541h,04541d5cch,056f7dd73h,096bc88cah,0b5d426deh,09ed3a2c3h,048d94f6bh,02ef8279ch,06354a3bbh,00b1867f2h,0d575465bh,095225151h,0ef99b0ffh,0f94500d8h,0f3e19d88h - DD 0e32dd620h,092a83268h,0627849a2h,0913ec99fh,02c378882h,0edd8fdfah,0ee6f8cfeh,0af96f33eh,0dc3fa8a5h,0c06737e5h,0b0b03a1dh,0236bb531h,089f037b0h,033e59f29h,0d9a12a53h,013f9b5a7h - DD 051efb310h,00d0df6ceh,0958df5beh,0cb5b2eb4h,036158e59h,0d6459e29h,01466e336h,082aae2b9h,0411aa636h,0fb658a39h,0d4c0a933h,07152ecc5h,049f026b7h,0f10c758ah,0cb09311fh,0f4837f97h - DD 0c753c45fh,0ddfb02c4h,0f9c840feh,018ca81b6h,0b0f8a3e6h,0846fd09ah,0e7733dbch,0b1162addh,0236e3ab6h,07070ad20h,0b2a56326h,0f88cdaf5h,0997cbc7ah,005fc8719h,04b665272h,0442cd452h - DD 0b71698f5h,07807f364h,09f7b605eh,06ba418d2h,0a03b2cbbh,0fd20b00fh,0da54386fh,0883eca37h,0f3437f24h,0ff0be43fh,0a48bb33ch,0e910b432h,0329df765h,04963a128h,0be2fe6f7h,0ac1dd556h - DD 024a0a3fch,0557610f9h,0e881c3f9h,038e17bf4h,0ed0dac99h,06ba84fafh,059eeb918h,0d4a222c3h,013f542b6h,0c79c1dbeh,0e425d457h,01fc65e0dh,01debb779h,0effb754fh,09e08af60h,0638d8fd0h - DD 0626332d5h,0994f523ah,05561bb44h,07bc38833h,03d845ea2h,0005ed4b0h,0c2a1f08ah,0d39d3ee1h,0e7676b0dh,06561fdd3h,0fb706017h,0620e35ffh,0f264f9a8h,036ce424fh,0da2681f7h,0c4c3419fh - DD 069beb6e8h,0fb6afd2fh,06d700d03h,03a50b993h,00c83a14fh,0c840b2adh,054085befh,0573207beh,009fe7e5bh,05af882e3h,03b40a7e1h,0957678a4h,0543056e2h,0172d4bddh,00df13c0ah,09c1b26b4h - DD 0f405ff06h,01c30861ch,0486e828bh,0ebac86bdh,0636933fch,0e791a971h,07aeee947h,050e7c2beh,0fa90d767h,0c3d4a095h,0e670ab7bh,0ae60eb7bh,0397b056dh,017633a64h,0105012aah,093a21f33h - DD 0abb88643h,0663c370bh,022e21599h,091df36d7h,08b761671h,0183ba835h,0728f3bf1h,0381eea1dh,039966e6ch,0b9b2f1bah,0e7295492h,07c464a28h,009b26b7fh,00fd5f70ah,0fbe009dfh,0a9aba1f9h - DD 0369b87adh,0857c1f22h,032fca556h,03c00e5d9h,090b06466h,01ad74cabh,0550faaf2h,0a7112386h,06d9bd5f5h,07435e198h,059c3463fh,02dcc7e38h,0ca7bd4b2h,0dc7df748h,09dec2f31h,013cd4c08h - DD 0e3237710h,00d3b5df8h,0cbd2f7b0h,00dadb26eh,0e4aa082bh,09f5966abh,0350e966eh,0666ec8deh,0ee524216h,01bfd1ed5h,041dab0b6h,0cd93c59bh,0d186d6bah,0658a8435h,0159d1195h,01b7d34d2h - DD 022caf46bh,05936e460h,09a96fe4fh,06a45dd8fh,0b98f474eh,0f7925434h,00053ef15h,041410412h,041de97bfh,071cf8d12h,0bd80bef4h,0b8547b61h,0c4db0037h,0b47d3970h,0fef20dffh,0f1bcd328h - DD 010caad67h,031a92e09h,05531a1e1h,01f591960h,05f4fc840h,03bb852e0h,093a72c6ch,063e297cah,049abad67h,03c2b0b2eh,0ed3db0d9h,06ec405fch,07fef1d40h,0dc14a530h,0280896fch,0ccd19846h - DD 09bb81648h,000f83176h,0653120d0h,0d69eb485h,04ccabc62h,0d17d75f4h,0b749fcb1h,034a07f82h,0bbfb5554h,02c3af787h,062e283f8h,0b06ed4d0h,0a19213a0h,05722889fh,0dcf3c7b4h,0162b085eh - DD 0e0dd3ecah,0bcaecb31h,0e52f13a5h,0c6237fbch,027bac297h,0cc2b6b03h,0b917f54ah,02ae1cac5h,07845ae4fh,0474807d4h,0ce5972e0h,0fec7dd92h,01d7915bbh,0c3bd2541h,0d94907cah,066f85dc4h - DD 0bdbcf0cah,0d981b888h,0df279e9fh,0d75f5da6h,07054e934h,0128bbf24h,081db134bh,03c6ff6e5h,0047d26e4h,0795b7cf4h,05049ec37h,0f370f7b8h,0ced945afh,0c6712d4dh,0095642bch,0df30b5ech - DD 04896246eh,09b034c62h,0ee90bbd1h,05652c016h,087fedb73h,0eb38636fh,00135a613h,05e32f847h,0cf933c83h,00703b312h,01a7f47e6h,0d05bb76eh,0949c2415h,0825e4f0ch,07250d6f8h,0569e5622h - DD 06568013eh,0bbe9eb3ah,022f243fch,08dbd203fh,0b342734ah,09dbd7694h,046afa984h,08f6d12f8h,0c9eade29h,0b98610a2h,047dd0f18h,0bab4f323h,0671c0d46h,05779737bh,0d3e0a42ah,010b6a7c6h - DD 03035b41ch,0fb19ddf3h,099c45895h,0d336343fh,054c857e5h,061fe4938h,0ae4e57d5h,0c4d506beh,0bbc33f75h,03cd8c8cbh,09262c77dh,07281f08ah,0f11a2823h,0083f4ea6h,09fba2e33h,08895041eh - DD 09c438edfh,0fcdfea49h,091edba44h,07678dcc3h,0e2ba50f0h,0f07b3b87h,043948c1bh,0c13888efh,01140af42h,0c2135ad4h,0926ed1a7h,08e5104f3h,088f6695fh,0f24430cbh,06d73c120h,00ce0637bh - DD 0fe631e8fh,0b2db01e6h,0d7bdd24bh,01c5563d7h,0369ad44fh,08daea3bah,08187a9f9h,0000c81b6h,0aae1fd9ah,05f48a951h,08d5aed8ah,0e35626c7h,00498c622h,020952763h,0773aa504h,076d17634h - DD 0eb300f7ah,036d90ddah,0edb5e801h,09dcf7dfch,074d5244ch,0645cb268h,0348e3aa2h,0a127ee79h,0575f1dbbh,0488acc53h,080e6161eh,095037e85h,0292650d0h,057e59283h,014938216h,0abe67d99h - DD 03f8e1065h,03c7f944bh,0330e8924h,0ed908cb6h,06f530136h,008ee8fd5h,0d7ffc169h,02227b7d5h,0b5cd6dd5h,04f55c893h,0a62796e8h,082225e11h,0cb18e12ch,05c6cead1h,084f5a51ah,04381ae0ch - DD 07fafa4c8h,0345913d3h,00491aac0h,03d918082h,03e69264ch,09347871fh,0b4f4f0cdh,0bea9dd3ch,03eadd3e7h,0bda5d067h,00573bcd8h,00033c1b8h,05da2486ch,025589379h,086abbee7h,0cb89ee5bh - DD 022532e5dh,08fe0a8f3h,0727dfc4ch,0b6410ff0h,0226726dbh,0619b9d58h,07a2b2dc7h,05ec25669h,04c3beb01h,0af4d2e06h,07acea556h,0852123d0h,0f783487ah,00e9470fah,05664b3ebh,075a7ea04h - DD 06798e4bah,04ad78f35h,0c7d0e091h,09214e6e5h,0b1290403h,0c420b488h,0fc295749h,064049e0ah,03ae9841fh,003ef5af1h,0b0b662a6h,0dbe4ca19h,0fa453458h,046845c5fh,010b66722h,0f8dabf19h - DD 0cce2793bh,0b650f0aah,0c5ec47c1h,071db851eh,03b234fa9h,03eb78f3eh,0fc0106ceh,0b0c60f35h,0774eadbdh,005427121h,0ce323863h,025367fafh,0cd086976h,07541b5c9h,0dc507ad1h,04ff069e2h - DD 08776e667h,074145256h,0b23c6bb5h,06e76142ch,01b3a8a87h,0dbf30712h,098450836h,060e7363eh,0b7366d80h,05741450eh,04837dbdfh,0e4ee14cah,069d4316fh,0a765eb9bh,08ef43825h,004548dcah - DD 05ae888ebh,09c9f4e4ch,056e9ac99h,0733abb51h,0ba6ac029h,0daad3c20h,02ba3e38eh,09b8dd3d3h,00bc5d11ah,0a9bb4c92h,09c5f88a3h,0f20127a7h,0161d3cb8h,04f52b06eh,06afaf0a6h,026c1ff09h - DD 07189e71fh,032670d2fh,05ecf91e7h,0c6438748h,0db757a21h,015758e57h,0290a9ce5h,0427d09f8h,038384a7ah,0846a308fh,0b0732b99h,0aac3acb4h,017845819h,09e941009h,0a7ce5e03h,095cba111h - DD 0b00009c4h,06f3d4f7fh,08ff28b5fh,0b8396c27h,01c97975dh,0b1a9ae43h,0e5d9fed5h,09d7ba8afh,034f485b6h,0338cf09fh,064122516h,0bc0ddacch,005d471feh,0a450da12h,0628dd8c9h,04c3a6250h - DD 0d1295837h,069c7d103h,03807eb2fh,0a2893e50h,0bdb41491h,0d6e1e1deh,05e138235h,0c630745bh,048661ae1h,0c892109eh,0ea2b2674h,08d17e7ebh,0c328d6b5h,000ec0f87h,0f079ff9eh,06d858645h - DD 019115eadh,06cdf243eh,04bac4fcfh,01ce1393eh,09c29f25bh,02c960ed0h,09d388a05h,059be4d8eh,0d0def72bh,00d46e06ch,0e0342748h,0b923db5dh,0936d4a3dh,0f7d3aacdh,00b0b099eh,0558519cch - DD 0827097efh,03ea8ebf8h,0d054f55dh,0259353dbh,06d2ed089h,084c89abch,08e096a7ch,05c548b69h,0994b995dh,0d587f616h,0a5845601h,04d1531f6h,0451fd9f0h,0792ab31eh,065adf6cah,0c8b57bb2h - DD 01cd5ad73h,068440fcbh,06144da4fh,0b9c860e6h,08462beb8h,02ab286aah,0ef46797fh,0cc6b8fffh,020c8a471h,0ac820da4h,077ff7fafh,069ae05a1h,0bfb5da77h,0b9163f39h,02c73ab7ah,0bd03e590h - DD 0b2940d9eh,07e862b5eh,04b9af564h,03c663d86h,0bde3033dh,0d8309031h,0d42c5bc6h,0298231b2h,0552ad093h,042090d2ch,0ff854695h,0a4799d1ch,0d31f0d00h,00a88b5d6h,0a2f26b46h,0f8b40825h - DD 0f1bd7218h,0ec29b1edh,04b24c86eh,0d491c53bh,03395ea65h,0d2fe588fh,04456ef15h,06f3764f7h,0cdc34800h,0db43116dh,0c1e33955h,0cdbcd456h,074ab286bh,0efdb5540h,0d18c5d7ch,0948c7a51h - DD 07378058eh,0eb81aa37h,004411154h,041c746a1h,0fb828ac7h,0a10c73bch,09d972b29h,06439be91h,043a2fbadh,04bf3b4b0h,082b5e840h,039e6dadfh,06397bd4ch,04f716408h,07f1eeccbh,00f7de568h - DD 0d2ffbfc1h,05865c5a1h,04ccb6451h,0f74211fah,0c0b32558h,066368a88h,09ad7812eh,05b539dc2h,02f3af6f6h,0579483d0h,099934eceh,052132078h,0dcc9e983h,050b9650fh,0aee42b8ah,0ca989ec9h - DD 0d6f62f99h,06a44c829h,04c2a7c0ch,08f06a309h,098a0cb0ah,04ea2b3a0h,0beee8364h,05c547b70h,0682afe11h,0461d40e1h,07b41c0a8h,09e0fc77ah,0e20d5d36h,079e4aefdh,032dd9f63h,02916e520h - DD 03f883fafh,0f59e52e8h,02b868d35h,0396f9639h,04ca19881h,0c902a9dfh,0db2401a6h,00fc96822h,066f1c68dh,041237587h,0fb476c0dh,010fc6de3h,0841f5d90h,0f8b6b579h,0fa24f44ah,02ba8446ch - DD 0ef4a9975h,0a237b920h,02330435fh,060bb6004h,0cfb7e7b5h,0d6f4ab5ah,083435391h,0b2ac5097h,0b0d1ea67h,0f036ee2fh,074c56230h,0ae779a6ah,0ab838ae6h,059bff8c8h,09b38e6f0h,0cd83ca99h - DD 0e33deed3h,0bb27bef5h,0001892a8h,0e6356f6fh,07adfbd3eh,0bf3be6cch,033d1ac9dh,0aecbc81ch,0e6e861dch,0e4feb909h,053f5f801h,090a247a4h,027346e57h,001c50acbh,0461acc1bh,0ce29242eh - DD 02f998a91h,004dd214ah,0d4baf27bh,0271ee9b1h,0e8c26722h,07e3027d1h,01820dce5h,021d1645ch,07501779ch,0086f242ch,0fa0e8009h,0f0061407h,060187129h,0f23ce477h,00fde9bd0h,005bbdedbh - DD 025d98473h,0682f4832h,05c658427h,0f207fe85h,04166ffa1h,0b6fdd7bah,09eed799dh,00c314056h,04107e28fh,00db8048fh,041216840h,074ed3871h,056a3c06eh,074489f8fh,012777134h,01e1c005bh - DD 0f37ec3c3h,0db332a73h,0dd59eba0h,0c65259bdh,0db4d3257h,02291709ch,0bd389390h,09a793b25h,0e43756f0h,0f39fe34bh,09afb56c9h,02f76bdceh,061208b27h,09f37867ah,0089972c3h,0ea1d4307h - DD 08bdf623ah,08c595330h,08441fb7dh,05f5accdah,032ddfd95h,0fafa9418h,00fde9be7h,06ad40c5ah,0aeca8709h,043faba89h,02c248a9dh,0c64a7cf1h,072637a76h,016620252h,022b8d1bbh,0aee1c791h - DD 021a843b2h,0f0f798fdh,08d005cb1h,056e4ed4dh,01f0d8abeh,0355f7780h,034522326h,0197b04cfh,0fd42c13fh,041f9b31fh,0b40f933dh,05ef7feb2h,05d60bad4h,027326f42h,08c92cf89h,0027ecdb2h - DD 04e3352feh,004aae4d1h,073591b90h,008414d2fh,0b7da7d60h,05ed6124eh,04d13d4ech,0b985b931h,096bf36f9h,0a592d3abh,0bbdf51dfh,0012dbed5h,0df6c177dh,0a57963c0h,087ca29cfh,0010ec869h - DD 0bf926dffh,0ba1700f6h,0f4bf6bc2h,07c9fdbd1h,064da11f5h,0dc18dc8fh,0d938ae75h,0a6074b7ah,0e84f44a4h,014270066h,0d27b954eh,099998d38h,0b4f38e9ah,0c1be8ab2h,015c01016h,08bb55bbfh - DD 00ea2ab30h,0f73472b4h,0f73d68ddh,0d365a340h,019c2e1ebh,0c01a7168h,034061719h,032f49e37h,001d8b4d6h,0b73c57f1h,026b47700h,003c8423ch,0a4d8826ah,0321d0bc8h,04bc0e638h,06004213ch - DD 0c1c06681h,0f78c64a1h,0ef018e50h,016e0a16fh,0db42b2b3h,031cbdf91h,0e0d36f58h,0f8f4ffceh,04cc5e3e0h,0cdcc71cdh,0a129e3e0h,0d55c7cfah,00fb2cbf1h,0ccdb6ba0h,0c4bce3cbh,06aba0005h - DD 0d232cfc4h,0501cdb30h,0d58a3cefh,09ddcf12eh,087e09149h,002d2cf9ch,02c976257h,0dc5d7ec7h,00b50d7ddh,06447986eh,0807f112ah,088fdbaf7h,0b00ae9f6h,058c9822ah,06d3d27e0h,06abfb950h - DD 08a429f4fh,0d0a74487h,0db516609h,00649712bh,0e769b5dfh,0b826ba57h,01fc7aaf2h,082335df2h,05c93d995h,02389f067h,068677be6h,059ac367ah,021d9951bh,0a77985ffh,085011cceh,0038956fbh - DD 0bb734e37h,0608e48cbh,02be5b26fh,0c08c0bf2h,0f9b1a0d9h,017bbdd3bh,010483319h,0eac7d898h,0bc1a6deah,0c95c4bafh,0172aafdbh,0fdd0e2bfh,08235c41ah,040373cbch,0fb6f41d5h,014303f21h - DD 00408f237h,0ba063621h,0ecd2d1edh,0cad3b09ah,052abb6a2h,04667855ah,0aa8b417bh,0ba9157dch,04f013efbh,0fe7f3507h,0aa38c4a2h,01b112c4bh,09ba64345h,0a1406a60h,06993c80bh,0e53cba33h - DD 0ded40d23h,045466063h,054908e25h,03d5f1f4dh,0403c3c31h,09ebefe62h,00672a624h,0274ea0b5h,0451d1b71h,0ff818d99h,08f79cf79h,080e82643h,073ce37f5h,0a165df13h,0fe3a21fdh,0a744ef4fh - DD 0cf551396h,073f1e7f5h,0868c676bh,0c616898eh,08c442c36h,0671c28c7h,05e0a317dh,0cfe5e558h,07051f476h,01242d818h,014f03442h,056fad2a6h,00a44d0f6h,0262068bch,0ce6edf4eh,0dfa2cd6eh - DD 0d15d1517h,00f43813ah,0377d44f5h,061214cb2h,0c639b35fh,0d399aa29h,054c51c19h,042136d71h,008417221h,09774711bh,052545a57h,00a5546b3h,01150582dh,080624c41h,0fbc555bch,09ec5c418h - DD 0771849f1h,02c87dcadh,001d7bf6fh,0b0c932c5h,089116eb2h,06aa5cd3eh,051ca7bd3h,0d378c25ah,09e6e3e31h,0c612a0dah,0b68ad5d0h,00417a54dh,022c6edb8h,000451e4ah,0b42827ceh,09fbfe019h - DD 0ba9384a2h,02fa92505h,064ad69c1h,021b8596eh,0983b35a6h,08f4fcc49h,072754672h,0de093760h,0f7bffe6dh,02f14ccc8h,05d94263dh,027566bffh,02df3ec30h,0b5b4e9c6h,03e6ea6bah,094f1d7d5h - DD 0aaca5e9bh,097b7851ah,056713b97h,0518aa521h,0150a61f6h,03357e8c7h,0ec2c2b69h,07842e7e2h,06868a548h,08dffaf65h,0e068fc81h,0d963bd82h,065917733h,064da5c8bh,07b247328h,0927090ffh - DD 0d298c241h,0214bc9a7h,056807cfdh,0e3b697bah,04564eadbh,0ef1c7802h,0b48149c5h,0dde8cdcfh,05a4d2604h,0946bf0a7h,06c1538afh,027154d7fh,0de5b1fcch,095cc9230h,066864f82h,0d88519e9h - DD 07cb1282ch,0b828dd1ah,0be46973ah,0a08d7626h,0e708d6b2h,06baf8d40h,04daeb3f3h,072571fa1h,0f22dfd98h,085b1732fh,00087108dh,087ab01a7h,05988207ah,0aaaafea8h,069f00755h,0ccc832f8h - DD 036ff3bf0h,0964d950eh,0f0b34638h,08ad20f6fh,0b5d7585fh,04d9177b3h,0ef3f019fh,0cf839760h,08288c545h,0582fc5b3h,013116bd1h,02f8e4e9bh,0332120efh,0f91e1b2fh,02a17dd23h,0cf568724h - DD 0ca8d9d1ah,0488f1185h,0d987ded2h,0adf2c77dh,060c46124h,05f3039f0h,071e095f4h,0e5d70b75h,06260e70fh,082d58650h,0f750d105h,039d75ea7h,075bac364h,08cf3d0b1h,021d01329h,0f3a7564dh - DD 02f52d2a7h,0182f04cdh,0e2df565ah,04fde149ah,0a79fb2f7h,0b80c5eech,022ddc897h,0ab491d7bh,0c6312c7fh,099d76c18h,06aa41a57h,0ca0d5f3dh,0d15363a0h,071207325h,0beb252c2h,0e82aa265h - DD 0ec3128c2h,094ab4700h,08e383f49h,06c76d862h,0c03024ebh,0dc36b150h,053daac69h,0fb439477h,08dc79623h,0fc68764ah,0b440fbb2h,05b86995dh,0ccc5ee0dh,0d66879bfh,095aa8bd3h,005228942h - DD 01e6a75c1h,0b51a40a5h,00ea7d817h,024327c76h,007774597h,006630182h,097fa7164h,0d6fdbec3h,013c90f48h,020c99dfbh,0686ef263h,0d6ac5273h,0fef64eebh,0c6a50bdch,086fdfc32h,0cd87b281h - DD 03fcd3efch,0b24aa43eh,0b8088e9ah,0dd26c034h,0bd3d46eah,0a5ef4dc9h,08a4c6a6fh,0a2f99d58h,02f1da46ch,0ddabd355h,01afacdd1h,072c3f8ceh,092d40578h,0d90c4eeeh,0ca623b94h,0d28bb41fh - DD 0745edc11h,050fc0711h,03dc87558h,09dd9ad7dh,0b49d1e64h,0ce6931fbh,0c98bd0f9h,06c77a0a2h,06baf7cb1h,062b9a629h,0ccf72d22h,0cf065f91h,079639071h,07203cce9h,0f9cb732fh,009ae4885h - DD 0ee8314f3h,05e7c3bech,0dbea298fh,01c068aedh,07c80acech,008d381f1h,0e330495bh,003b56be8h,09222882dh,0aeffb8f2h,0c4af8bf7h,095ff38f6h,01fc57d8ch,050e32d35h,017b444f0h,06635be52h - DD 0a5177900h,004d15276h,0f6858752h,04e1dbb47h,0c615796ch,05b475622h,0691867bfh,0a6fa0387h,02844c6d0h,0ed7f5d56h,003a2477dh,0c633cf9bh,02d3721d6h,0f6be5c40h,0e9fd68e6h,0af312eb7h - DD 0e7417ce1h,0242792d2h,0970ee7f5h,0ff42bc71h,05c67a41eh,01ff4dc6dh,020882a58h,077709b7bh,0be217f2ch,03554731dh,05bb72177h,02af2a8cdh,0591dd059h,058eee769h,04bba6477h,0bb2930c9h - DD 07d930cfch,0863ee047h,0396fd1f4h,04c262ad1h,0039af7e1h,0f4765bc8h,05ba104f6h,02519834bh,0d105f961h,07cd61b4ch,0d63bca54h,0a5415da5h,088a1f17ch,0778280a0h,02329512ch,0c4968949h - DD 0cecdaa7ah,0174a9126h,00b13247bh,0fc8c7e0eh,03484c1c4h,029c110d2h,0831dfc3bh,0f8eb8757h,0c0067452h,0022f0212h,07b9b926ch,03f6f69eeh,0ef42daf4h,009032da0h,083f80de4h,079f00adeh - DD 081236c97h,06210db71h,03ee0781fh,074f7685bh,0a3e41372h,04df7da7bh,0b1a1553eh,02aae38b1h,0f6dd9d1bh,01688e222h,05b8b6487h,057695448h,04b2edeaah,0478d2127h,01e85956ah,0b2818fa5h - DD 0f176f2c0h,01e6adddah,0e2572658h,001ca4604h,085342ffbh,00a404dedh,0441838d6h,08cf60f96h,0c9071c4ah,09bbc691ch,034442803h,0fd588744h,0809c0d81h,097101c85h,08c456f7fh,0a7fb754ch - DD 0d51805e1h,0c95f3c5ch,0b299dca8h,0ab4ccd39h,047eaf500h,03e03d20bh,0d7b80893h,0fa3165c1h,0e160e552h,0005e8b54h,09019d11fh,0dc4972bah,00c9a4a7ah,021a6972eh,037840fd7h,0a52c258fh - DD 0c1e99d81h,0f8559ff4h,0a3c617c0h,008e1a7d6h,0248c6ba7h,0b398fd43h,0d1283794h,06ffedd91h,0d629d208h,08a6a59d2h,03490530eh,0a9d141d5h,038505989h,042f6fc18h,0479d94eeh,009bf250dh - DD 0b3822790h,0223ad3b1h,093b8971ch,06c5926c0h,075f7fa62h,0609efc7eh,01ec2d989h,045d66a6dh,0987d2792h,04422d663h,03eb31d2bh,04a73caadh,0a32cb9e6h,0f06c2ac1h,091aeba84h,0d9445c5fh - DD 0af71013fh,06af7a1d5h,00bedc946h,0e68216e5h,0d27370a0h,0f4cba30bh,0870421cch,07981afbfh,09449f0e1h,002496a67h,00a47edaeh,086cfc4beh,0b1feca22h,03073c936h,003f8f8fbh,0f5694612h - DD 0901515eah,0d063b723h,0749cf038h,04c6c77a5h,0ab9e5059h,06361e360h,0a76a37c0h,0596cf171h,06530ae7ah,0800f53fah,00792a7a6h,00f5e631eh,0efdb81c9h,05cc29c24h,03f9c40bah,0a269e868h - DD 02cb7191eh,0ec14f9e1h,0e5b08ea6h,078ea1bd8h,046332bb9h,03c65aa9bh,0bf80ce25h,084cc22b3h,0d49d5bf1h,00098e9e9h,019087da4h,0cd4ec1c6h,0aef6e357h,03c9d07c5h,09f8f64b8h,0839a0268h - DD 0c6d8607fh,0c5e9eb62h,06aa995e4h,0759689f5h,0bbb48317h,070464669h,0e402417dh,0921474bfh,02a354c8ch,0cabe135bh,0812fa4b5h,0d51e52d2h,053311fe8h,0ec741096h,0b864514bh,04f774535h - DD 05bde48f8h,0bcadd671h,02189bc7dh,0c9703873h,0c709ee8ah,05d45299eh,0845aaff8h,0d1287ee2h,0db1dbf1fh,07d1f8874h,0990c88d6h,0ea46588bh,084368313h,060ba649ah,060d543aeh,0d5fdcbceh - DD 0810d5ab0h,090b46d43h,004d7e5cch,06739d8f9h,00d337c33h,0021c1a58h,068e67c40h,000a61162h,0379f0a1fh,095ef413bh,0e9e2ab95h,0fe126605h,02f5f199ch,067578b85h,02cb84913h,0f5c00329h - DD 037577dd8h,0f7956430h,029c5fe88h,083b82af4h,0cdbdc132h,09c1bea26h,09c04339eh,0589fa086h,0b13799dfh,0033e9538h,0d295d034h,085fa8b21h,0bd9ddccah,0df17f73fh,0ddb66334h,0f32bd122h - DD 0858b044ch,055ef88a7h,05aa9e397h,01f0d69c2h,040d85559h,055fd9cc3h,07785ddb2h,0c774df72h,0d3bd2e1ch,05dcce9f6h,0a85dfed0h,0eb30da20h,0d3ed09c4h,05ed7f5bbh,082a9c1bdh,07d42a35ch - DD 09890272dh,0cf3de995h,03e713a10h,075f3432ah,0e28227b8h,05e13479fh,0fefacdc8h,0b8561ea9h,08332aafdh,0a6a297a0h,073809b62h,09b0d8bb5h,00c63036fh,0d2fa1cfdh,0bd64bda8h,07a16eb55h - DD 078e62ddch,03f5cf5f6h,007fd752bh,02267c454h,05e437bbeh,05e361b6bh,08354e075h,095c59501h,0f2b254d9h,0ec725f85h,02cb52b4eh,0844b617dh,0cf425fb5h,0ed8554f5h,02af9f312h,0ab67703eh - DD 03cf48283h,04cc34ec1h,09c8a705eh,0b09daa25h,05b7d4f84h,0d1e9d0d0h,0db38929dh,04df6ef64h,0aa21ba46h,0e16b0763h,0a293f8fbh,0c6b1d178h,0d520aabfh,00ff5b602h,0c339397ah,094d671bdh - DD 04f5792fah,07c7d98cfh,011215261h,07c5e0d67h,0a7c5a6d4h,09b19a631h,07a45274dh,0c8511a62h,0a5a60d99h,00c16621ch,0cf5e48cbh,0f7fbab88h,0f7ddee08h,0ab1e6ca2h,0e7867f3ch,083bd08ceh - DD 02ac13e27h,0f7e48e8ah,04eb1a9f5h,04494f6dfh,0981f0a62h,0edbf84ebh,0536438f0h,049badc32h,0004f7571h,050bea541h,0df1c94eeh,0bac67d10h,0b727bc31h,0253d73a1h,030686e28h,0b3d01cf2h - DD 055fd0b8bh,051b77b1bh,0feec3173h,0a099d183h,0670e72b7h,0202b1fb7h,0a8e1635fh,0adc88b33h,0f989d905h,034e8216ah,029b58d01h,0c2e68d20h,06fe55a93h,011f81c92h,08f296f40h,015f1462ah - DD 0ea3d62f2h,01915d375h,001c8977dh,0a17765a3h,0e47b26f6h,07559710ah,0535077a5h,0e0bd29c8h,008d84858h,0615f976dh,069ced5c1h,0370dfe85h,0a734fa56h,0bbc7503ch,091ac4574h,0fbb9f1ech - DD 0060dd7efh,095d7ec53h,06e657979h,0eef2dacdh,0e2a08235h,054511af3h,01f4aea3dh,01e324aa4h,0e6e67671h,0550e7e71h,0bf52faf7h,0bccd5190h,0223cc62ah,0f880d316h,02b32eb5dh,00d402c7eh - DD 0306a5a3bh,0a40bc039h,096783a1bh,04e0a41fdh,00253cdd4h,0a1e8d39ah,0c7388638h,06480be26h,02285f382h,0ee365e1dh,0ec0b5c36h,0188d8d8fh,01f0f4d82h,034ef1a48h,0a487d29ah,01a8f43e1h - DD 077aefb3ah,08168226dh,01e72c253h,0f69a751eh,0e9594df1h,08e04359ah,0d14c0467h,0475ffd7dh,03844e95ch,0b5a2c2b1h,0dd12ef94h,085caf647h,0f1063d00h,01ecd2a9fh,023843311h,01dd2e229h - DD 073d17244h,038f0e09dh,08fc653f1h,03ede7746h,0dc20e21ch,0ae4459f5h,06a8599eah,000db2ffah,030cfd905h,011682c39h,0a5c112a6h,04934d074h,0568bfe95h,0bdf063c5h,0016c441ah,0779a440ah - DD 097d6fbdch,00c23f218h,0e0776aach,0d3a5cd87h,0d712e8dbh,0cee37f72h,026f74e8dh,0fb28c70dh,0b61301a0h,0ffe0c728h,0d3724354h,0a6282168h,0768ffedch,07ff4cb00h,003b02de9h,0c51b3088h - DD 03902dda5h,0a5a8147ch,0fe6973b4h,035d2f706h,0c257457eh,05ac2efcfh,08700611bh,0933f48d4h,04912beb2h,0c365af88h,0162edf94h,07f5a4de6h,00c32f34bh,0c646ba7ch,0b2091074h,0632c6af3h - DD 0753e43a9h,058d4f2e3h,024d4e23fh,070e1d217h,0afede6a6h,0b24bf729h,0710c8b60h,07f4a94d8h,08d4faa6ah,0aad90a96h,0b066b690h,0d9ed0b32h,078b6dbfdh,052fcd37bh,08bd2b431h,00b64615eh - DD 0cfb9fad5h,0228e2048h,0240b76bdh,0beaa386dh,090dad7bch,02d6681c8h,006d38f5eh,03e553fc3h,09d5f9750h,0f27cdb9bh,0d28c5b0eh,03e85c52ah,05247c39bh,0190795afh,0bddd6828h,0547831ebh - DD 04a82f424h,0f327a227h,07e47f89dh,036919c78h,043c7392ch,0e4783919h,02316fefeh,0f101b9aah,01c5009d2h,0bcdc9e9ch,09cd18345h,0fb55ea13h,0a3ce77c7h,0f5b5e231h,0d2f2cb3dh,0de6b4527h - DD 09bb26f5fh,010f6a333h,0044d85b6h,01e85db8eh,094197e54h,0c3697a08h,0a7cb4ea8h,065e18cc0h,0a471fe6eh,0a38c4f50h,02f13439ch,0f031747ah,0c007318bh,053c4a6bah,01deccb3dh,0a8da3ee5h - DD 0558216b1h,00555b31ch,02f79e6c2h,090c7810ch,0fe8eed3ch,09b669f4dh,0e0fac126h,070398ec8h,0f701b235h,0a96a449eh,0eb94f395h,00ceecdb3h,0d0cb7431h,0285fc368h,016a18c64h,00d37bb52h - DD 0b880d2ddh,005110d38h,065930d57h,0a60f177bh,0f36235f5h,07da34a67h,0183816b9h,047f5e17ch,0db394af4h,0c7664b57h,07036f789h,039ba215dh,02f27b472h,046d2ca0eh,0f73a84b7h,0c42647eeh - DD 064488f1dh,044bc7545h,0f4cf85d5h,0aa922708h,053e4df63h,0721a01d5h,05db46cedh,0649c0c51h,03cffcb6ch,06bf0d64eh,050f71d96h,0e3bf93feh,0bcc194a0h,075044558h,06afdc554h,016ae3372h - DD 05ca48f3fh,0bfc01adfh,0e22a9b84h,064352f06h,0c1099e4ah,0cee54da1h,0fa1b89c0h,0bbda54e8h,06f6e55fbh,0166a3df5h,020176f88h,01ca44a24h,0dfb7b5ffh,0936afd88h,08611d4a0h,0e34c2437h - DD 086142103h,07effbb75h,01f34fc4dh,06704ba1bh,010c1b122h,07c2a468fh,08c6aace9h,036b3a610h,075a0d050h,0abfcc0a7h,03ce33e32h,0066f9197h,029fe09beh,0ce905ef4h,0a8376351h,089ee25bah - DD 0fd29dc76h,02a3ede22h,036f17260h,07fd32ed9h,0284b4126h,00cadcf68h,0a7951fc8h,063422f08h,00807e199h,0562b24f4h,022ad4490h,0fe9ce5d1h,00db2b1b4h,0c2f51b10h,0e4541d0dh,0eb3613ffh - DD 02680813bh,0bd2c4a05h,0561b08d6h,0527aa55dh,0a7205558h,0a9f8a40eh,0243d0bech,0e3eea56fh,0a0ff58b3h,07b853817h,01a69e627h,0b67d3f65h,0a869b5d6h,00b76bbb9h,0546723edh,0a3afeb82h - DD 03e554892h,05f24416dh,0430e2a45h,08413b53dh,09032a2a0h,099c56aeeh,0eec367b1h,009432bf6h,0daf0ecc1h,0552850c6h,05bc92048h,049ebce55h,054811307h,0dfb66ba6h,06f298597h,01b84f797h - DD 08d1d7a0dh,079590481h,03a6fa556h,0d9fabe03h,0ba9e5d35h,0a40f9c59h,0f6247577h,0cb1771c1h,0e9a6312bh,0542a47cah,0552dd8c5h,0a34b3560h,00d794716h,0fdf94de0h,09c623094h,0d46124a9h - DD 068afe8b4h,056b7435dh,06c0d8ea1h,027f20540h,073186898h,012b77e14h,07479490fh,0dbc3dd46h,0c03b0c05h,0951a9842h,07921bc96h,08b1b3bb3h,02b202e0ah,0a573b346h,047254d56h,077e4665dh - DD 0d23e3984h,008b70dfch,0ebd14236h,0ab86e8bch,057114ba7h,0aa3e07f8h,0ab0ef4f2h,05ac71689h,00139d9afh,088fca384h,076644af0h,072733f88h,065d74f4ah,0f122f72ah,0a5626c7ah,013931577h - DD 070f8d5a4h,0d5b5d9ebh,0d7bbb228h,0375adde7h,00c1c0b32h,031e88b86h,0173edbaah,0d1f568c4h,05459df02h,01592fc83h,00fcd9a7eh,02beac0fbh,01b473b0ah,0b0a6fdb8h,00fe8fc48h,0e3224c6fh - DD 0e87edf5bh,0680bd00eh,020e77cf5h,030385f02h,04d42d1b2h,0e9ab98c0h,0d3816d77h,072d191d2h,00917d9e5h,01564dacah,01f8fed7fh,0394eab59h,07fbb3896h,0a209aa8dh,0be6ac98eh,05564f3b9h - DD 0d73654efh,0ead21d05h,013d78d74h,068d1a9c4h,06d4973a0h,061e01708h,046e6d32ah,083da3500h,068ae0118h,06a3dfca4h,0d02da069h,0a1b9a4c9h,0ebab8302h,00b2ff9c7h,0944ba436h,098af07c3h - DD 0995f0f9fh,085997326h,071b58bc6h,0467fade0h,0bd625a2bh,047e4495ah,033c3b8cdh,0fdd2d01dh,0c693f9fah,02c38ae28h,0348f7999h,048622329h,02161f583h,097bf738eh,0565e8cc9h,015ee2fa7h - DD 05777e189h,0a1a5c845h,0456f2829h,0cc10bee0h,0da762bd5h,08ad95c56h,0e9d91da8h,0152e2214h,07cb23c74h,0975b0e72h,0a90c66dfh,0fd5d7670h,0225ffc53h,0b5b5b8adh,0faded2aeh,0ab6dff73h - DD 06f4cbe9dh,0ebd56781h,06a574bd7h,00ed8b249h,081a881fah,041c246feh,0c3db9c70h,091564805h,05b862809h,0d7c12b08h,055858d7bh,01facd1f1h,0af09e92ah,07693747ch,0189a425fh,03b69dcbah - DD 0967365efh,00be28e9fh,0e801f5c9h,057300eb2h,0d583352fh,093b8ac6ah,0cd05b2b7h,0a2cf1f89h,04dcc40cch,07c0c9b74h,0ada523fbh,0fee38c45h,01099cc4dh,0b49a4dech,069f069c6h,0325c377fh - DD 0476cc9ffh,0e12458ceh,0c6d4cb63h,0580e0b6ch,09072289bh,0d561c8b7h,0a619e6dah,00377f264h,088e591a5h,026685362h,07523ca2bh,0a453a7bdh,0c1df4533h,08a9536d2h,0be972f79h,0c8e50f2fh - DD 06d3549cfh,0d433e50fh,0facd665eh,06f33696fh,0ce11fcb4h,0695bfdach,0af7c9860h,0810ee252h,07159bb2ch,065450fe1h,0758b357bh,0f7dfbebeh,0d69fea72h,02b057e74h,092731745h,0d485717ah - DD 0ee36860ch,0896c42e8h,04113c22dh,0daf04dfdh,044104213h,01adbb7b7h,01fd394eah,0e5fd5fa1h,01a4e0551h,068235d94h,018d10151h,06772cfbeh,009984523h,0276071e3h,05a56ba98h,0e4e879deh - DD 0285b9491h,0aaafafb0h,01e4c705eh,001a0be88h,02ad9caabh,0ff1d4f5dh,0c37a233fh,06e349a4ah,04a1c6a16h,0cf1c1246h,029383260h,0d99e6b66h,05f6d5471h,0ea3d4366h,0ff8cc89bh,036974d04h - DD 0cfe89d80h,0c26c49a1h,0da9c8371h,0b42c026dh,0dad066d2h,0ca6c013ah,056a4f3eeh,0fb8f7228h,0d850935bh,008b579ech,0d631e1b3h,034c1a74ch,0ac198534h,0cb5fe596h,0e1f24f25h,039ff21f6h - DD 08f929057h,027f29e14h,0c0c853dfh,07a64ae06h,058e9c5ceh,0256cd183h,0ded092a5h,09d9cce82h,06e93b7c7h,0cc6e5979h,031bb9e27h,0e1e47092h,0aa9e29a0h,0b70b3083h,03785e644h,0bf181a75h - DD 08ead09f7h,0f53f2c65h,09780d14dh,01335e1d5h,0cd1b66bch,069cc20e0h,0bbe0bfc8h,09b670a37h,028efbeedh,0ce53dc81h,08326a6e5h,00c74e77ch,0b88e9a63h,03604e0d2h,013dc2248h,0bab38fcah - DD 05c0a3f1eh,08ed6e8c8h,07c87c37fh,0bcad2492h,09ee3b78dh,0fdfb62bbh,0cbceba46h,0eba8e477h,0eeaede4bh,037d38cb0h,07976deb6h,00bc498e8h,06b6147fbh,0b2944c04h,0f71f9609h,08b123f35h - DD 0de79dc24h,0a155dcc7h,0558f69cdh,0f1168a32h,00d1850dfh,0bac21595h,0b204c848h,015c8295bh,07d8184ffh,0f661aa36h,030447bdbh,0c396228eh,0bde4a59eh,011cd5143h,06beab5e6h,0e3a26e3bh - DD 01402b9d0h,0d3b3a13fh,02c7bc863h,0573441c3h,0578c3e6eh,04b301ec4h,00adaf57eh,0c26fc9c4h,07493cea3h,096e71bfdh,01af81456h,0d05d4b3fh,06a8c608fh,0daca2a8ah,00725b276h,053ef07f6h - DD 07824fc56h,007a5fbd2h,013289077h,034675218h,0e0c48349h,05bf69fd5h,0b6aa7875h,0a613ddd3h,05450d866h,07f78c19ch,08f84a481h,046f4409ch,090fce239h,09f1d1928h,0b2ce44b9h,0016c4168h - DD 0c7435978h,0bae023f0h,020e30e19h,0b152c888h,0e3fa6fafh,09c241645h,084823e60h,0735d95c1h,003955317h,003197573h,0f03b4995h,00b4b02a9h,070274600h,0076bf559h,0aaf57508h,032c5cc53h - DD 060624129h,0e8af6d1fh,09a5e2b5eh,0b7bc5d64h,05f082d72h,03814b048h,0ce19677ah,076f267f2h,0b36eed93h,0626c630fh,03bf56803h,055230cd7h,0ce2736a0h,078837949h,0aa6c55f1h,00d792d60h - DD 0d5c7c5d2h,00318dbfdh,0072b342dh,0b38f8da7h,07b8de38ah,03569bddch,0a1c94842h,0f25b5887h,02946ad60h,0b2d5b284h,0e9d1707eh,0854f29adh,02c6a4509h,0aa5159dch,057189837h,0899f94c0h - DD 0f4a55b03h,0cf6adc51h,035e3b2d5h,0261762deh,004827b51h,04cc43012h,0c6021442h,0cd22a113h,0247c9569h,0ce2fd61ah,0d152becah,059a50973h,063a716d4h,06c835a11h,0187dedcfh,0c26455edh - DD 049ce89e7h,027f536e0h,0cc890cb5h,018908539h,0d83c2aa1h,0308909abh,01ab73bd3h,0ecd3142bh,0b3f5ab84h,06a85bf59h,0f2bea4c6h,03c320a68h,06da4541fh,0ad8dc538h,0b7c41186h,0eaf34eb0h - DD 0977c97c4h,01c780129h,0c57eb9fah,05ff9beebh,0c822c478h,0a24d0524h,0461cd415h,0fd8eec2ah,0f027458ch,0fbde194eh,01d1be115h,0b4ff5319h,04866d6f4h,063f874d9h,0b21ad0c9h,035c75015h - DD 046ac49d2h,0a6b5c9d6h,083137aa9h,042c77c0bh,068225a38h,024d000fch,02fe1e907h,00f63cfc8h,0c6441f95h,022d1b01bh,0ec8e448fh,07d38f719h,0787fb1bah,09b33fa5fh,0190158dfh,094dcfda1h - DD 05f6d4a09h,0c47cb339h,0ee52b826h,06b4f355ch,0f51b930ah,03d100f5dh,09f668f69h,0f4512fach,0206c4c74h,0546781d5h,0cb4d2e48h,0d021d4d4h,0ca085c2dh,0494a54c2h,0520850a8h,0f1dbaca4h - DD 0490a1acah,063c79326h,041526b02h,0cb64dd9ch,0a2979258h,0bb772591h,048d97846h,03f582970h,07c213ba7h,0d66b70d1h,0e8a0ced4h,0c28febb5h,0c10338c1h,06b911831h,0bf0126f3h,00d54e389h - DD 04af206eeh,07048d460h,077e97cb9h,0786c88f6h,0ac64802eh,0d4375ae1h,0d53ec11ch,0469bcfe1h,047062230h,0fc9b340dh,0c5b4a3ach,0e743bb57h,059ef45ach,0fe00b4aah,059edf188h,029a4ef23h - DD 0b483689bh,040242efeh,0513ac262h,02575d3f6h,00ca6db72h,0f30037c8h,098864be2h,0c9fcce82h,00149362dh,084a112ffh,01c4ae971h,095e57582h,0945cf86ch,01fa4b1a8h,00b024a2fh,04525a734h - DD 08f338360h,0e76c8b62h,028edf32bh,0483ff593h,0298b1aech,067e8e90ah,0736d9a21h,09caab338h,066892709h,05c09d2fdh,0b55a1d41h,02496b4dch,0e24a4394h,093f5fb1ah,06fa8f6c1h,008c75049h - DD 0c905d85fh,0caead1c2h,00733ae57h,0e9d7f790h,0f07cdd94h,024c9a65ch,0a4b55931h,07389359ch,0367e45f7h,0f58709b7h,0cb7e7adch,01f203067h,0c7b72818h,082444bffh,0baac8033h,007303b35h - DD 0d13b7ea1h,01e1ee4e4h,0e0e74180h,0e6489b24h,07e70ef70h,0a5f2c610h,0bdd10894h,0a1655412h,07af4194eh,0555ebefbh,08e89bd9ch,0533c1c3ch,089895856h,0735b9b57h,0567f5c15h,015fb3cd2h - DD 0526f09fdh,0057fed45h,08128240ah,0e8a4f10ch,0ff2bfd8dh,09332efc4h,0bd35aa31h,0214e77a0h,014faa40eh,032896d73h,001e5f186h,0767867ech,017a1813eh,0c9adf8f1h,054741795h,0cb6cda78h - DD 0349d51aah,0b7521b6dh,0e3c7b8e9h,0f56b5a9eh,032a096dfh,0c6f1e5c9h,0a3635024h,0083667c4h,018087f2fh,0365ea135h,0d136e45dh,0f1b8eaach,073aec989h,0c8a0e484h,0142c9259h,0d75a324bh - DD 001dae185h,0b7b4d001h,09b7a94bch,045434e0bh,0fbd8cb0bh,0f54339afh,0e98ef49eh,0dcc4569eh,009a51299h,07789318ah,0b2b025d8h,081b4d206h,0fae85792h,0f64aa418h,0acd7baf7h,03e50258fh - DD 02996864bh,0dce84cdbh,01f485fa4h,0a2e67089h,0534c6a5ah,0b28b2bb6h,0c94b9d39h,031a7ec6bh,0d6bc20dah,01d217766h,086761190h,04acdb5ech,073701063h,068726328h,02128c29bh,04d24ee7ch - DD 0a19fd868h,0c072ebd3h,0db8ddd3bh,0612e481ch,01a64d852h,0b4e1d754h,0c4c6c4abh,000ef95ach,0aa0a6c46h,01536d2edh,043774790h,061294086h,0343fda10h,054af25e8h,0fd25d6f2h,09ff9d98dh - DD 0468b8835h,00746af7ch,0730ecea7h,0977a31cbh,0c2cf4a81h,0a5096b80h,06458c37ah,0aa986833h,0a6bd9d34h,06af29bf3h,033c5d854h,06a62fe9bh,0b7133b5eh,050e6c304h,07d6e6848h,004b60159h - DD 05579bea4h,04cd296dfh,05ceedaf1h,010e35ac8h,0e3bcc5b1h,004c4c5fdh,089412cf9h,095f9ee8ah,082b6eb0fh,02c9459eeh,095c2aaddh,02e845765h,0d327fcfeh,0774a84aeh,00368d476h,0d8c93722h - DD 0f83e8a3bh,00dbd5748h,08d2495f3h,0a579aa96h,0ae496e9bh,0535996a0h,0b7f9bcc2h,007afbfe9h,05b7bd293h,03ac1dc6dh,07022323dh,03b592cffh,09c0a3e76h,0ba0deb98h,04b197acbh,018e78e9fh - DD 0296c36efh,0211cde10h,082c4da77h,07ee89672h,0a57836dah,0b617d270h,09cb7560bh,0f0cd9c31h,0e455fe90h,001fdcbf7h,07e7334f3h,03fb53cbbh,04e7de4ech,0781e2ea4h,00b384fd0h,08adab3adh - DD 053d64829h,0129eee2fh,0a261492bh,07a471e17h,0e4cb4a2ch,0e4f9adb9h,097ba2c2dh,03d359f6fh,00aacd697h,0346c6786h,075c2f8a8h,092b444c3h,0d85df44eh,0c79fa117h,0398ddf31h,056782372h - DD 0bbbab3b8h,060e690f2h,08b04816bh,04851f8aeh,09c92e4d2h,0c72046abh,07cf3136bh,0518c74a1h,0f9877d4ch,0ff4eb50ah,0a919cabbh,014578d90h,0ac5eb2b6h,08218f8c4h,0542016e4h,0a3ccc547h - DD 0327f8349h,0025bf48eh,0f43cb641h,0f3e97346h,0500f1085h,0dc2bafdfh,02f063055h,057167876h,0411925a6h,05bd914b9h,0a1123de5h,07c078d48h,0182b165dh,0ee6bf835h,0ba519727h,0b11b5e5bh - DD 01eea7b85h,0e33ea76ch,092d4f85eh,02352b461h,0afe115bbh,0f101d334h,0889175a3h,0fabc1294h,05233f925h,07f6bcdc0h,0e77fec55h,0e0a802dbh,08069b659h,0bdb47b75h,0f98fbd74h,01c5e12deh - DD 04b8457eeh,0869c58c6h,04f7ea9f7h,0a5360f69h,0f460b38fh,0e576c09fh,022b7fb36h,06b70d548h,03bfae315h,03fd237f1h,0cbdff369h,033797852h,025b516f9h,097df25f5h,0ba38ad2dh,046f388f2h - DD 089d8ddbbh,0656c4658h,070f38ee8h,08830b26eh,0de1212b0h,04320fd5ch,0e4a2edb2h,0c34f30cfh,056ab64b8h,0abb131a3h,0d99c5d26h,07f77f0cch,0bf981d94h,066856a37h,0738bd76eh,019e76d09h - DD 096238f39h,0e76c8ac3h,0a830b366h,0c0a482beh,00b4eb499h,0b7b8eaffh,04bfb4865h,08ecd83bch,0a2f3776fh,0971b2cb7h,0f4b88adfh,0b42176a4h,0be1fa446h,0b9617df5h,0cd031bd2h,08b32d508h - DD 053b618c0h,01c6bd47dh,06a227923h,0c424f46ch,0dd92d964h,07303ffdeh,071b5abf2h,0e9712878h,0f815561dh,08f48a632h,0d3c055d1h,085f48ff5h,07525684fh,0222a1427h,067360cc3h,0d0d841a0h - DD 00b9267c6h,04245a926h,0cf07f863h,0c78913f1h,04d0d9e24h,0aa844c8eh,03d5f9017h,0a42ad522h,0a2c989d5h,0bd371749h,0e1f5e78eh,0928292dfh,00a1ea6dah,0493b383eh,013aee529h,05136fd8dh - DD 0f2c34a99h,0860c44b1h,0bf5855ach,03b00aca4h,0faaf37beh,0abf6aaa0h,02a53ec08h,065f43682h,0a11b12e1h,01d9a5801h,0e20ed475h,078a7ab2ch,09a41e0d5h,00de1067eh,0305023eah,030473f5fh - DD 0169c7d97h,0dd3ae09dh,0cfaef9cdh,05cd5baa4h,065a44803h,05cd7440bh,047f364deh,0dc13966ah,02b8357c1h,0077b2be8h,0e9d57c2ah,00cb1b4c5h,005ff363eh,07a4ceb32h,0ca35a9efh,0f310fa4dh - DD 0f97f68c6h,0dbb7b352h,00b02cf58h,00c773b50h,03c1f96d9h,0ea2e4821h,0eee01815h,0ffb357b0h,0e0f28039h,0b9c924cdh,046a3fbe4h,00b36c95ah,05e46db6ch,01faaaea4h,01928aaffh,0cae575c3h - DD 0a70dab86h,07f671302h,071c58cfch,0fcbd12a9h,0bee0cb92h,0cbef9acfh,0f8c1b583h,0573da0b9h,00d41d550h,04752fcfeh,02155cffeh,0e7eec0e3h,0545ae248h,00fc39fcbh,08065f44eh,0522cb8d1h - DD 070cbb96ch,0263c962ah,0bcd124a9h,0e034362ah,03c2ae58dh,0f120db28h,0fef6d507h,0b9a38d49h,01ff140fdh,0b1fd2a82h,020aee7e0h,0bd162f30h,0cb251949h,04e17a5d4h,04f7e1c3dh,02aebcb83h - DD 0937b0527h,0608eb25fh,0eb7d9997h,0f42e1e47h,0b8a53a29h,0eba699c4h,0e091b536h,01f921c71h,05b26bbd5h,0cce29e7bh,03b61a680h,07a8ef5edh,0ba1f1c7eh,0e5ef8043h,018158ddah,016ea8217h - DD 0599ff0f9h,001778a2bh,08104fc6bh,068a923d7h,0da694ff3h,05bfa44dfh,0f7667f12h,04f7199dbh,0e46f2a79h,0c06d8ff6h,0e9f8131dh,008b5deadh,0abb4ce7ch,002519a59h,0b42aec3eh,0c4f710bch - DD 078bde41ah,03d77b057h,0b4186b5ah,06474bf80h,088c65741h,0048b3f67h,003c7c154h,0c64519deh,00edfcc4fh,0df073846h,048f1aa6bh,0319aa737h,0ca909f77h,08b9f8a02h,07580bfefh,090258139h - DD 0c0c22719h,0d8bfd3cah,0c9ca151eh,0c60209e4h,0d9a1a69ch,07a744ab5h,014937f8fh,06de5048bh,0e115ac04h,0171938d8h,01c6b16d2h,07df70940h,07f8e94e7h,0a6aeb663h,02a2cf094h,0c130388eh - DD 077f54e6eh,01850be84h,065d60fe5h,09f258a72h,06c9146d6h,0ff7ff0c0h,0e63a830bh,0039aaf90h,09460342fh,038f27a73h,03f795f8ah,04703148ch,09681a97eh,01bb5467bh,0ecaeb594h,000931ba5h - DD 0786f337ch,0cdb6719dh,0e704397dh,0d9c01cd2h,0555c2fefh,00f4a3f20h,07c0af223h,000452509h,084db8e76h,054a58047h,093c8aa06h,03bacf1aah,0f7919422h,011ca957ch,078cdaa40h,050641053h - DD 09f7144aeh,07a303874h,043d4acfdh,0170c963fh,058ddd3efh,05e148149h,09e72dba8h,0a7bde582h,06fa68750h,00769da8bh,0572e0249h,0fa64e532h,02619ad31h,0fcaadf9dh,0a7b349cdh,087882daah - DD 06c67a775h,09f6eb731h,0efc5d0b1h,0cb10471ah,0e1b806b2h,0b433750ch,057b1ae7eh,019c5714dh,0ed03fd3fh,0c0dc8b7bh,031bc194eh,0dd03344fh,08c6320b5h,0a66c52a7h,0d0b6fd93h,08bc82ce3h - DD 0b35f1341h,0f8e13501h,025a43e42h,0e53156ddh,04daeb85ch,0d3adf27eh,0bbeddeb5h,0b81d8379h,02e435867h,01b0b546eh,0eba5dd60h,09020eb94h,08210cb9dh,037d91161h,05c91f1cfh,04c596b31h - DD 00e0b040dh,0b228a90fh,045ff897fh,0baf02d82h,000fa6122h,02aac79e6h,08e36f557h,024828817h,0113ec356h,0b9521d31h,015eff1f8h,09e48861eh,0e0d41715h,02aa1d412h,053f131b8h,071f86203h - DD 03fd19408h,0f60da8dah,0278d9d99h,04aa716dch,0a8c51c90h,0394531f7h,0f59db51ch,0b560b0e8h,0fa34bdadh,0a28fc992h,09cd4f8bdh,0f024fa14h,023a9d0d3h,05cf530f7h,0e28c9b56h,0615ca193h - DD 06f73c51eh,06d2a483dh,0ea0dc2ddh,0a4cb2412h,01eb917ffh,050663c41h,0eade299eh,03d3a74cfh,04a7a9202h,029b3990fh,0a7b15c3dh,0a9bccf59h,0a5df9208h,066a3ccdch,043f2f929h,048027c14h - DD 040b557f0h,0d385377ch,0cd684660h,0e001c366h,0e2183a27h,01b18ed6bh,063210329h,0879738d8h,0bda94882h,0a687c74bh,0a684b299h,0d1bbcc48h,0863b3724h,0af6f1112h,02c8ce9f8h,06943d1b4h - DD 0098cafb4h,0e044a3bbh,060d48cafh,027ed2310h,03a31b84dh,0542b5675h,0fcddbed7h,0cbf3dd50h,041b1d830h,025031f16h,0cb0c1e27h,0a7ec851dh,0b5ae75dbh,0ac1c8fe0h,008c52120h,0b24c7557h - DD 01d4636c3h,057f811dch,0681a9939h,0f8436526h,09c81adb3h,01f6bc6d9h,05b7d80d4h,0840f8ac3h,0f4387f1ah,0731a9811h,0b5156880h,07c501cd3h,0dfe68867h,0a5ca4a07h,05fcea120h,0f123d8f0h - DD 0d607039eh,01fbb0e71h,0cd3a4546h,02b70e215h,053324091h,032d2f01dh,0180ab19bh,0b796ff08h,03c57c4aah,032d87a86h,0b7c49a27h,02aed9cafh,031630d98h,09fb35each,05c3e20a3h,0338e8cdfh - DD 066cde8dbh,080f16182h,02d72fd36h,04e159980h,09b6e5072h,0d7b8f13bh,03b7b5dc1h,0f5213907h,08ce4396eh,04d431f1dh,0a7ed2142h,037a1a680h,0d01aaf6bh,0bf375696h,0e63aab66h,0aa1c0c54h - DD 04ed80940h,03014368bh,07a6fceddh,067e6d056h,0ca97579fh,07c208c49h,0a23597f6h,0fe3d7a81h,07e096ae2h,05e203202h,024b39366h,0b1f3e1e7h,02fdcdffch,026da26f3h,06097be83h,079422f1dh - DD 09db3b381h,0263a2cfbh,0d4df0a4bh,09c3a2deeh,07d04e61fh,0728d06e9h,042449325h,08b1adfbch,07e053a1bh,06ec1d939h,066daf707h,0ee2be5c7h,0810ac7abh,080ba1e14h,0f530f174h,0dd2ae778h - DD 0205b9d8bh,00435d97ah,0056756d4h,06eb8f064h,0b6f8210eh,0d5e88a8bh,0ec9fd9eah,0070ef12dh,03bcc876ah,04d849505h,0a7404ce3h,012a75338h,0b8a1db5eh,0d22b49e1h,014bfa5adh,0ec1f2051h - DD 0b6828f36h,0adbaeb79h,001bd5b9eh,09d7a0258h,01e844b0ch,0eda01e0dh,0887edfc9h,04b625175h,09669b621h,014109fddh,0f6f87b98h,088a2ca56h,0170df6bch,0fe2eb788h,0ffa473f9h,00cea06f4h - DD 0c4e83d33h,043ed81b5h,05efd488bh,0d9f35879h,09deb4d0fh,0164a620fh,0ac6a7394h,0c6927bdbh,09f9e0f03h,045c28df7h,0fcd7e1a9h,02868661eh,0ffa348f1h,07cf4e8d0h,0398538e0h,06bd4c284h - DD 0289a8619h,02618a091h,06671b173h,0ef796e60h,09090c632h,0664e46e5h,01e66f8fbh,0a38062d4h,00573274eh,06c744a20h,0a9271394h,0d07b67e4h,06bdc0e20h,0391223b2h,0eb0a05a7h,0be2d93f1h - DD 03f36d141h,0f23e2e53h,04dfca442h,0e84bb3d4h,06b7c023ah,0b804a48dh,076431c3bh,01e16a8fah,0ddd472e0h,01b5452adh,00d1ee127h,07d405ee7h,0ffa27599h,050fc6f1dh,0bf391b35h,0351ac53ch - DD 04444896bh,07efa14b8h,0f94027fbh,064974d2fh,0de84487dh,0efdcd0e8h,02b48989bh,08c45b260h,0d8463487h,0a8fcbbc2h,03fbc476ch,0d1b2b3f7h,0c8f443c0h,021d005b7h,040c0139ch,0518f2e67h - DD 006d75fc1h,056036e8ch,03249a89fh,02dcf7bb7h,0e245e7ddh,081dd1d3dh,0ebd6e2a7h,0f578dc4bh,0df2ce7a0h,04c028903h,09c39afach,0aee36288h,0146404abh,0dc847c31h,0a4e97818h,06304c0d8h - DD 0a91f6791h,0ae51dca2h,09baa9efch,02abe4190h,0559c7ac1h,0d9d2e2f4h,0fc9f773ah,0e82f4b51h,04073e81ch,0a7713027h,0fbb596fch,0c0276fach,0a684f70ch,01d819fc9h,0c9f7b1e0h,029b47fddh - DD 0459b1940h,0358de103h,05b013e93h,0ec881c59h,049532ad3h,051574c93h,0b37b46deh,02db1d445h,0df239fd8h,0c6445b87h,0151d24eeh,0c718af75h,0f43c6259h,0aea1c4a4h,070be02f7h,040c0e5d7h - DD 0721b33f2h,06a4590f4h,0fedf04eah,02124f1fbh,09745efe7h,0f8e53cdeh,065f046d9h,0e7e10432h,0e4d0c7e6h,0c3fca28eh,087253b1bh,0847e339ah,03743e643h,09b595348h,04fd12fc5h,0cb6a0a0bh - DD 027d02dcch,0fb6836c3h,07a68bcc2h,05ad00982h,0005e912dh,01b24b44ch,0811fdcfeh,0cc83d20fh,0666fba0ch,036527ec1h,014754635h,069948197h,0556da9c2h,0fcdcb1a8h,081a732b2h,0a5934267h - DD 0a714181dh,0ec1214edh,06067b341h,0609ac13bh,0a545df1fh,0ff4b4c97h,034d2076bh,0a1240501h,01409ca97h,06efa0c23h,020638c43h,0254cc1a8h,0dcfb46cdh,0d4e363afh,003942a27h,062c2adc3h - DD 056e46483h,0c67b9df0h,063736356h,0a55abb20h,0c551bc52h,0ab93c098h,0b15fe64bh,0382b49f9h,04dff8d47h,09ec221adh,0437df4d6h,079caf615h,0bb456509h,05f13dc64h,0191f0714h,0e4c589d9h - DD 03fd40e09h,027b6a8abh,077313ea9h,0e455842eh,01f55988bh,08b51d1e2h,0062bbbfch,05716dd73h,04e8bf3deh,0633c11e5h,01b85be3bh,09a0e77b6h,00911cca6h,056510729h,0efa6590fh,027e76495h - DD 0070d3aabh,0e4ac8b33h,09a2cd5e5h,02643672bh,01cfc9173h,052eff79bh,090a7c13fh,0665ca49bh,0b3efb998h,05a8dda59h,0052f1341h,08a5b922dh,03cf9a530h,0ae9ebbabh,0f56da4d7h,035986e7bh - DD 0ff3513cch,03a636b5ch,03198f7ddh,0bb0cf8bah,041f16f86h,0b8d40522h,0de13a7bfh,0760575d8h,09f7aa181h,036f74e16h,0f509ed1ch,0163a3ecfh,03c40a491h,06aead61fh,0dfe8fcaah,0158c95fch - DD 013cda46fh,0a3991b6eh,0342faed0h,079482415h,0666b5970h,0f3ba5bdeh,0b26ab6ddh,01d52e6bch,08608dd3dh,0768ba1e7h,0ea076586h,04930db2ah,0e7dc1afah,0d9575714h,0f7c58817h,01fc7bf7dh - DD 0d9eee96ch,06b47accdh,0e58cec37h,00ca277fbh,0e702c42ah,0113fe413h,0c47cbe51h,0dd1764eeh,07b3ed739h,0041e7cdeh,05ce9e1c0h,050cb7459h,02925b212h,035568513h,0001b081ch,07cff95c4h - DD 08088b454h,063ee4cbdh,09a9e0c8ah,0db7f32f7h,06b2447cbh,0b377d418h,0d370219bh,0e3e982aah,0c2a2a593h,006ccc1e4h,00773f24fh,072c36865h,095859423h,0a13b4da7h,075040c8fh,08bbf1d33h - DD 0da50c991h,0726f0973h,0822d6ee2h,048afcd5bh,020fd7771h,0e5fc718bh,0fd0807a1h,0b9e8e77dh,099a7703dh,07f5e0f44h,0618e36f3h,06972930eh,023807bbeh,02b7c77b8h,0cb27ff50h,0e5b82405h - DD 0bd379062h,0ba8b8be3h,02dce4a92h,0d64b7a1dh,0b2952e37h,0040a73c5h,0d438aecah,00a9e252eh,0c39d3bcbh,0dd43956bh,0b32b2d63h,01a31ca00h,05c417a18h,0d67133b8h,02ef442c8h,0d08e4790h - DD 0255c0980h,098cb1ae9h,02b4a739fh,04bd86381h,01e4a45a1h,05a5c31e1h,09cb0db2fh,01e5d55feh,08ff5cc29h,074661b06h,00eb8a4f4h,0026b389fh,058848c24h,0536b21a4h,081dc72b0h,02e5bf8ech - DD 0ad886aach,003c187d0h,0b771b645h,05c16878ah,0c74045abh,0b07dfc6fh,07800caedh,02c6360bfh,0b9c972a3h,024295bb5h,07c9a6dbah,0c9e6f88eh,092a79aa6h,090ffbf24h,041c26ac2h,0de29d50ah - DD 0d309cbe6h,09f0af483h,0e0bced4fh,05b020d8ah,0b38023e3h,0606e986dh,01abc6933h,0ad8f2c9dh,0e7400e93h,019292e1dh,052be5e4dh,0fe3e18a9h,02e0680bfh,0e8e9771dh,0c54db063h,08c5bec98h - DD 074a55d1fh,02af9662ah,0046f66d8h,0e3fbf28fh,0d4dc4794h,0a3a72ab4h,05c7c2dd8h,009779f45h,0c3d19d8dh,0d893bdafh,057d6a6dfh,0d5a75094h,0952e6255h,08cf8fef9h,0da9a8affh,03da67cfbh - DD 02c160dcdh,04c23f62ah,08f90eaefh,034e6c5e3h,0a9a65d5ah,035865519h,08fd38a3dh,007c48aaeh,050068527h,0b7e7aedah,01c90936ah,02c09ef23h,0e879324ch,031ecfeb6h,0fb0ec938h,0a0871f6bh - DD 0d84d835dh,0b1f0fb68h,0861dc1e6h,0c90caf39h,07594f8d7h,012e5b046h,065012b92h,026897ae2h,0a4d6755dh,0bcf68a08h,00991fbdah,0403ee41ch,03bbf17e8h,0733e343eh,0679b3d65h,0d2c7980dh - DD 0d2e11305h,033056232h,0f3c07a6fh,0966be492h,0bb15509dh,06a8878ffh,00a9b59a4h,0ff221101h,0abe30129h,06c9f564ah,0336e64cfh,0c6f2c940h,08b0c8022h,00fe75262h,06ae8db87h,0be0267e9h - DD 093bc042bh,022e192f1h,0b237c458h,0f085b534h,0832c4168h,0a0d192bdh,0bdf6271dh,07a76e9e3h,0b88911b5h,052a882fah,0b4db0eb5h,0c85345e4h,081a7c3ffh,0a3be02a6h,0f0ec0469h,051889c8ch - DD 0a5e829e5h,09d031369h,01607aa41h,0cbb4c6fch,0241d84c1h,075ac59a6h,08829e0eeh,0c043f2bfh,08ea5e185h,082a38f75h,0d87cbd9fh,08bda40b9h,02d8fc601h,09e65e75eh,0a35690b3h,03d515f74h - DD 0da79e5ach,0534acf4fh,08630215fh,068b83b3ah,0d085756eh,05c748b2eh,0e5d37cb2h,0b0317258h,0c5ccc2c4h,06735841ah,03d9d5069h,07d7dc96bh,0fd1754bdh,0a147e410h,0d399ddd5h,065296e94h - DD 0bc8fa5bch,0f6b5b2d0h,0500c277bh,08a5ead67h,0dfa08a5dh,0214625e6h,0959cf047h,051fdfedch,0289fca32h,06bc9430bh,09d9bdc3fh,0e36ff0cfh,058ea0edeh,02fe187cbh,05a900b3fh,0ed66af20h - DD 05fa9f4d6h,000e0968bh,037a362e7h,02d4066ceh,0bd07e772h,0a99a9748h,006a4f1d0h,0710989c0h,0ce40cbd8h,0d5dedf35h,01743293dh,0ab55c5f0h,08aa24e2ch,0766f1144h,0605fbcb4h,094d874f8h - DD 0a518001bh,0a365f0e8h,09d04ef0fh,0ee605eb6h,0ba8d4d25h,05a3915cdh,0b5113472h,044c0e1b8h,08b6740dch,0cbb024e8h,0ee1d4f0ch,089087a53h,01fc4e372h,0a88fa05ch,0af8b3af2h,08bf395cbh - DD 0deb8568bh,01e71c9a1h,080fb3d32h,0a35daea0h,02cf8fb81h,0e8b6f266h,09490696ah,06d51afe8h,051803a19h,081beac6eh,086219080h,0e3d24b7fh,0df6f463ch,0727cfd9dh,072284ee8h,08c6865cah - DD 0b743f4efh,032c88b7dh,0e7d11dceh,03793909bh,02ff2ebe8h,0d398f922h,0e5e49796h,02c70ca44h,0cb1131b1h,0df4d9929h,025888e79h,07826f298h,0f1d8740ah,04d3a112ch,0270afa8bh,000384cb6h - DD 03ab48095h,0cb64125bh,062d05106h,03451c256h,0a4955845h,0d73d577dh,0bf9f4433h,039570c16h,0adecf263h,0d7dfaad3h,0dc76e102h,0f1c3d8d1h,054c6a836h,05e774a58h,03e92d47bh,0dad4b672h - DD 0f0d796a0h,0be7e990fh,0df0e8b02h,05fc62478h,0030c00adh,08aae8bf4h,09004ba0fh,03d2db93bh,0d85d5ddch,0e48c8a79h,06bb07f34h,0e907caa7h,0a39eaed5h,058db343ah,0adaf5724h,00ea6e007h - DD 0d23233f3h,0e00df169h,077cb637fh,03e322796h,01da0cf6ch,01f897c0eh,031d6bbddh,0a651f5d8h,01a230c76h,0dd61af19h,0cdaa5e4ah,0bd527272h,0d0abcd7eh,0ca753636h,0370bd8dch,078bdd37ch - DD 017cd93feh,0c23916c2h,0dadce6e2h,065b97a4dh,0174e42f8h,0e04ed4ebh,0bb21480ah,01491ccaah,023196332h,0145a8280h,0587b479ah,03c3862d7h,001dcd0edh,09f4a88a3h,03ea12f1fh,04da2b7efh - DD 0b126e48eh,0f8e7ae33h,0f494e237h,0404a0b32h,0c55acadbh,09beac474h,0cbec9fd9h,04ee5cf3bh,07df3c8c3h,0336b33b9h,0b76808fdh,0bd905fe3h,0aa45c16ah,08f436981h,03dd27b62h,0255c5bfah - DD 0c3dd9b4dh,071965cbfh,0fc068a87h,0ce23edbfh,0745b029bh,0b78d4725h,0cefdd9bdh,074610713h,01266bf52h,07116f75fh,018e49bb6h,002046722h,03d6f19e3h,0df43df9fh,0e685cb2fh,0ef1bc7d0h - DD 07078c432h,0cddb27c1h,0b77fedb7h,0e1961b9ch,0c2290570h,01edc2f5ch,019cbd886h,02c3fefcah,0c2af389ah,0cf880a36h,0bda71ceah,096c610fdh,032aa8463h,0f03977a9h,08586d90ah,08eb7763fh - DD 02a296e77h,03f342454h,042837a35h,0c8718683h,06a09c731h,07dc71090h,051b816dbh,054778ffbh,0af06defdh,06b33bfech,08592b70bh,0fe3c105fh,061da6114h,0f937fda4h,04c266ad7h,03c13e651h - DD 0855938e8h,0e363a829h,09de54b72h,02eeb5d9eh,020ccfab9h,0beb93b0eh,025e61a25h,03dffbb5fh,01acc093dh,07f655e43h,03964ce61h,00cb6cc3dh,0e5e9b460h,06ab283a1h,0a1c7e72dh,055d787c5h - DD 0deadbf02h,04d2efd47h,0ac459068h,011e80219h,071f311f0h,0810c7626h,04ab6ef53h,0fa17ef8dh,093e43bffh,0af47fd25h,00be40632h,05cb5ff3fh,08ee61da3h,054687106h,0b08afd0fh,07764196eh - DD 0f0290a8fh,0831ab3edh,0cb47c387h,0cae81966h,0184efb4fh,0aad7deceh,04749110eh,0dcfc53b3h,04cb632f9h,06698f23ch,0b91f8067h,0c42a1ad6h,06284180ah,0b116a81dh,0e901326fh,0ebedf5f8h - DD 097e3e044h,0f2274c9fh,011d09fc9h,042018520h,0d18e6e23h,056a65f17h,0352b683ch,02ea61e2ah,0575eaa94h,027d291bch,0b8ff522dh,09e7bc721h,0a7f04d6fh,05f7268bfh,0aba41748h,05868c73fh - DD 07be0eeadh,09f85c2dbh,0ff719135h,0511e7842h,0c5ea90d7h,05a06b1e9h,026fab631h,00c19e283h,0e9206c55h,08af8f0cfh,03553c06ah,089389cb4h,0f65f8004h,039dbed97h,0c508991dh,00621b037h - DD 096e78cc4h,01c52e635h,00c06b4a8h,05385c8b2h,0b0e87d03h,0d84ddfdbh,0934bafadh,0c49dfb66h,059f70772h,07071e170h,03a1db56bh,03a073a84h,03b8af190h,003494903h,0d32920f0h,07d882de3h - DD 0b2cf8940h,091633f0ah,06f948f51h,072b0b178h,0782653c8h,02d28dc30h,0db903a05h,088829849h,06a19d2bbh,0b8095d0ch,086f782cbh,04b9e7f0ch,02d907064h,07af73988h,08b32643ch,0d12be0feh - DD 00e165dc3h,0358ed23dh,04e2378ceh,03d47ce62h,0feb8a087h,07e2bb0b9h,0e29e10b9h,03246e8aeh,003ce2b4dh,0459f4ec7h,0bbc077cfh,0e9b4ca1bh,00e9940c1h,02613b4f2h,0047d1eb1h,0fc598bb9h - DD 045036099h,09744c62bh,0167c65d8h,0a9dee742h,0dabe1943h,00c511525h,093c6c624h,0da110554h,0651a3be2h,0ae00a52ch,0884449a6h,0cda5111dh,0ff33bed1h,0063c06f4h,00d3d76b4h,073baaf9ah - DD 07fc63668h,052fb0c9dh,00c039cdeh,06886c9ddh,055b22351h,0602bd599h,0360c7c13h,0b00cab02h,081b69442h,08cb616bch,0b55c3ceeh,041486700h,0f49ba278h,071093281h,064a50710h,0ad956d9ch - DD 0638a7e81h,09561f28bh,05980ddc3h,054155cdfh,0d26f247ah,0b2db4a96h,04787d100h,09d774e4eh,0078637d2h,01a9e6e2eh,05e0ae06ah,01c363e2dh,0e9cfa354h,07493483eh,07f74b98dh,076843cb3h - DD 0d4b66947h,0baca6591h,004460a8ch,0b452ce98h,043768f55h,06830d246h,07dff12dfh,0f4197ed8h,0400dd0f7h,06521b472h,04b1e7093h,059f5ca8fh,0080338aeh,06feff11bh,0a29ca3c6h,00ada31f6h - DD 094a2c215h,024794eb6h,005a57ab4h,0d83a43abh,02a6f89feh,0264a543ah,0dd5ec7c2h,02c2a3868h,08439d9b2h,0d3373940h,00acd1f11h,0715ea672h,0e7e6cc19h,042c1d235h,0b990585ch,081ce6e96h - DD 0d809c7bdh,004e5dfe0h,08f1050abh,0d7b2580ch,0d8a4176fh,06d91ad78h,04e2e897ch,00af556eeh,0921de0ach,0162a8b73h,07ea78400h,052ac9c22h,0efce2174h,0ee2a4eeah,06d637f79h,0be61844eh - DD 0789a283bh,00491f1bch,0880836f4h,072d3ac3dh,088e5402dh,0aa1c5ea3h,0d5cc473dh,01b192421h,09dc84cach,05c0b9998h,09c6e75b8h,0b0a8482dh,03a191ce2h,0639961d0h,06d837930h,0da3bc865h - DD 0056e6f8fh,0ca990653h,064d133a7h,084861c41h,0746abe40h,08b403276h,0ebf8e303h,0b7b4d51ah,0220a255dh,005b43211h,002419e6eh,0c997152ch,0630c2feah,076ff47b6h,0281fdadeh,050518677h - DD 0cf902b0bh,03283b8bah,037db303bh,08d4b4eb5h,0755011bch,0cc89f42dh,0dd09d19bh,0b43d74bbh,08adba350h,065746bc9h,0b51c1927h,0364eaf8ch,010ad72ech,013c76596h,0f8d40c20h,030045121h - DD 0ea7b979bh,06d2d99b7h,0e6fb3bcdh,0cd78cd74h,086cffbfeh,011e45a9eh,0637024f6h,078a61cf4h,03d502295h,0d06bc872h,0458cb288h,0f1376854h,0342f8586h,0b9db26a1h,04beee09eh,0f33effcfh - DD 0b30cfb3ah,0d7e0c4cdh,06c9db4c8h,06d09b8c1h,007c8d9dfh,040ba1a42h,01c52c66dh,06fd495f7h,0275264dah,0fb0e169fh,0e57d8362h,080c2b746h,049ad7222h,0edd987f7h,04398ec7bh,0fdc229afh - DD 052666a58h,0b0d1ed84h,0e6a9c3c2h,04bcb6e00h,026906408h,03c57411ch,013556400h,0cfc20755h,05294dba3h,0a08b1c50h,08b7dd31eh,0a30ba286h,0991eca74h,0d70ba90eh,0e762c2b9h,0094e142ch - DD 0979f3925h,0b81d783eh,0af4c89a7h,01efd130ah,0fd1bf7fah,0525c2144h,01b265a9eh,04b296904h,0b9db65b6h,0ed8e9634h,003599d8ah,035c82e32h,0403563f3h,0daa7a54fh,0022c38abh,09df088adh - DD 0bb3fd30ah,0e5cfb066h,0eff0354eh,0429169dah,03524e36ch,0809cf852h,00155be1dh,0136f4fb3h,01fbba712h,04826af01h,0506ba1a1h,06ef0f0b4h,077aea73eh,0d9928b31h,05eaa244eh,0e2bf6af2h - DD 04237b64bh,08d084f12h,0e3ecfd07h,0688ebe99h,0f6845dd8h,057b8a70ch,05da4a325h,0808fc59ch,0a3585862h,0a9032b2bh,0edf29386h,0b66825d5h,0431ec29bh,0b5a5a8dbh,03a1e8dc8h,0bb143a98h - DD 012ae381bh,035ee94ceh,086ccda90h,03a7f176ch,04606eacah,0c63a657eh,043cd04dfh,09ae5a380h,0ed251b46h,09bec8d15h,0caca5e64h,01f5d6d30h,09ff20f07h,0347b3b35h,0f7e4b286h,04d65f034h - DD 0f111661eh,09e93ba24h,0b105eb04h,0edced484h,0f424b578h,096dc9ba1h,0e83e9069h,0bf8f66b7h,0d7ed8216h,0872d4df4h,08e2cbecfh,0bf07f377h,098e73754h,04281d899h,08aab8708h,0fec85fbbh - DD 0a5ba5b0bh,09a3c0deeh,042d05299h,0e6a116ceh,0e9b02d42h,0ae9775feh,0a1545cb6h,072b05200h,031a3b4eah,0bc506f7dh,08bbd9b32h,0e5893078h,0e4b12a97h,0c8bc5f37h,04a73b671h,06b000c06h - DD 0765fa7d0h,013b5bf22h,01d6a5370h,059805bf0h,04280db98h,067a5e29dh,0776b1ce3h,04f53916fh,033ddf626h,0714ff61fh,0a085d103h,04206238eh,0e5809ee3h,01c50d4b7h,085f8eb1dh,0999f450dh - DD 0e4c79e9bh,0658a6051h,0c66a9feah,01394cb73h,0c6be7b23h,027f31ed5h,05aa6f8feh,0f4c88f36h,04aaa499eh,00fb0721fh,0e3fb2a6bh,068b3a7d5h,03a92851dh,0a788097dh,0e96f4913h,0060e7f8ah - DD 01a3a93bch,082eebe73h,0a21adc1ah,042bbf465h,0ef030efdh,0c10b6fa4h,087b097bbh,0247aa4c7h,0f60c77dah,08b8dc632h,0c223523eh,06ffbc26ah,0344579cfh,0a4f6ff11h,0980250f6h,05825653ch - DD 0bc1aa2b9h,0b2dd097eh,037a0333ah,007889393h,037a0db38h,01cf55e71h,0792c1613h,02648487fh,03fcef261h,0dad01336h,00eabf129h,06239c81dh,09d276be2h,08ee761deh,01eda6ad3h,0406a7a34h - DD 04a493b31h,04bf367bah,09bf7f026h,054f20a52h,09795914bh,0b696e062h,08bf236ach,0cddab96dh,0ed25ea13h,04ff2c70ah,081cbbbe7h,0fa1d09ebh,0468544c5h,088fc8c87h,0696b3317h,0847a670dh - DD 064bcb626h,0f133421eh,026dee0b5h,0aea638c8h,0b310346ch,0d6e7680bh,0d5d4ced3h,0e06f4097h,07512a30bh,009961452h,0e589a59ah,0f3d867fdh,052d0c180h,02e73254fh,0333c74ach,09063d8a3h - DD 0d314e7bch,0eda6c595h,0467899edh,02ee7464bh,00a1ed5d3h,01cef423ch,069cc7613h,0217e76eah,0e7cda917h,027ccce1fh,08a893f16h,012d8016bh,09fc74f6bh,0bcd6de84h,0f3144e61h,0fa5817e2h - DD 00821ee4ch,01f354164h,00bc61992h,01583eab4h,01d72879fh,07490caf6h,0f76ae7b2h,0998ad9f3h,0a41157f7h,01e181950h,0e8da3a7eh,0a9d7e1e6h,08426b95fh,0963784ebh,0542e2a10h,00ee4ed6eh - DD 0ac751e7bh,0b79d4cc5h,0fd4211bdh,093f96472h,0c8de4fc6h,08c72d3d2h,0df44f064h,07b69cbf5h,0f4bf94e1h,03da90ca2h,0f12894e2h,01a5325f8h,07917d60bh,00a437f6ch,096c9cb5dh,09be70486h - DD 0e1dc5c05h,0b4d880bfh,0eebeeb57h,0d738addah,0df0fe6a3h,06f0119d3h,066eaaf5ah,05c686e55h,0dfd0b7ech,09cb10b50h,06a497c21h,0bdd0264bh,08c546c96h,0fc093514h,079dbf42ah,058a947fah - DD 049ccd6d7h,0c0b48d4eh,088bd5580h,0ff8fb02ch,007d473b2h,0c75235e9h,0a2188af3h,04fab1ac5h,097576ec0h,0030fa3bch,00b7e7d2fh,0e8c946e8h,070305600h,040a5c9cch,0c8b013b4h,06d8260a9h - DD 070bba85ch,00368304fh,0a4a0d311h,0ad090da1h,02415eec1h,07170e870h,08461ea47h,0bfba35feh,0c1e91938h,06279019ah,01afc415fh,0a47638f3h,0bcba0e0fh,036c65cbbh,0034e2c48h,002160efbh - DD 0615cd9e4h,0e6c51073h,0f1243c06h,0498ec047h,0b17b3d8ch,03e5a8809h,00cc565f1h,05cd99e61h,07851dafeh,081e312dfh,0a79061e2h,0f156f5bah,0880c590eh,080d62b71h,00a39faa1h,0bec9746fh - DD 0c8ed1f7ah,01d98a9c1h,0a81d5ff2h,009e43bb5h,00da0794ah,0d5f00f68h,0661aa836h,0412050d9h,090747e40h,0a89f7c4eh,0b62a3686h,06dc05ebbh,0308e3353h,0df4de847h,09fb53bb9h,053868fbbh - DD 0cfdcf7ddh,02b09d2c3h,0723fcab4h,041a9fce3h,007f57ca3h,073d905f7h,0ac8e1555h,0080f9fb1h,09ba7a531h,07c088e84h,0ed9a147fh,007d35586h,0af48c336h,0602846abh,00ccf0e79h,07320fd32h - DD 0b18bd1ffh,0aa780798h,0afdd2905h,052c2e300h,0434267cdh,0f27ea3d6h,015605b5fh,08b96d16dh,04b45706bh,07bb31049h,0743d25f8h,0e7f58b8eh,087f30076h,0e9b5e45bh,05d053d5ah,0d19448d6h - DD 0d3210a04h,01ecc8cb9h,0dafb5269h,06bc7d463h,067c3489fh,03e59b10ah,065641e1bh,01769788ch,0bd6cb838h,08a53b82dh,0236d5f22h,07066d6e6h,06908536eh,003aa1c61h,066ae9809h,0c971da0dh - DD 0c49a2fach,001b3a86bh,03092e77ah,03b8420c0h,07d6fb556h,002057300h,0bff40a87h,06941b2a1h,00658ff2ah,0140b6308h,03424ab36h,087804363h,05751e299h,00253bd51h,0449c3e3ah,0c75bcd76h - DD 07f8f875dh,092eb4090h,056c26bbfh,09c9d754eh,08110bbe7h,0158cea61h,0745f91eah,062a6b802h,0c6e7394bh,0a79c41aah,0ad57ef10h,0445b6a83h,06ea6f40ch,00c5277ebh,088633365h,0319fe96bh - DD 0385f63cbh,00b0fc61fh,022bdd127h,041250c84h,009e942c2h,067d153f1h,0c021ad5dh,060920d08h,0724d81a5h,0229f5746h,05bba3299h,0b7ffb892h,0de413032h,0518c51a1h,03c2fd94ch,02a9bfe77h - DD 03191f4fdh,0cbcde239h,0d3d6ada1h,043093e16h,058769606h,0184579f3h,0d236625ch,02c94a8b3h,05c437d8eh,06922b9c0h,0d8d9f3c8h,03d4ae423h,02e7090a2h,0f72c31c1h,0d76a55bdh,04ac3f5f3h - DD 06b6af991h,0342508fch,01b5cebbdh,00d527100h,0dd440dd7h,0b84740d0h,0780162fdh,0748ef841h,0dfc6fafbh,0a8dbfe0eh,0f7300f27h,0eadfdf05h,0feba4ec9h,07d06555fh,09e25fa97h,012c56f83h - DD 0d39b8c34h,077f84203h,03125eddbh,0ed8b1be6h,0f6e39dc5h,05bbf2441h,06a5d678ah,0b00f6ee6h,057d0ea99h,0ba456ecfh,017e06c43h,0dcae0f58h,00f5b4baah,001643de4h,0d161b9beh,02c324341h - DD 0e126d468h,080177f55h,076748e09h,0ed325f1fh,0cfa9bdc2h,06116004ah,03a9fb468h,02d8607e6h,06009d660h,00e573e27h,08d10c5a1h,03a525d2eh,03b9009a0h,0d26cb45ch,0de9d7448h,0b6b0cdc0h - DD 0e1337c26h,0949c9976h,0d73d68e5h,06faadebdh,0f1b768d9h,09e158614h,09cc4f069h,022dfa557h,0be93c6d6h,0ccd6da17h,0a504f5b9h,024866c61h,08d694da1h,02121353ch,00140b8c6h,01c6ca580h - DD 0e964021eh,0c245ad8ch,0032b82b3h,0b83bffbah,047ef9898h,0faa220c6h,0982c948ah,07e8d3ac6h,0bc2d124ah,01faa2091h,005b15ff4h,0bd54c3ddh,0c87c6fb7h,0386bf3abh,0fdeb6f66h,0fb2b0563h - DD 05b45afb4h,04e77c557h,0efb8912dh,0e9ded649h,042f6e557h,07ec9bbf5h,062671f00h,02570dfffh,088e084bdh,02b3bfb78h,0f37fe5b4h,0a024b238h,095649aeeh,044e7dc04h,05e7ec1d8h,0498ca255h - DD 0aaa07e86h,03bc766eah,0f3608586h,00db6facbh,0bdc259c8h,0badd2549h,0041c649fh,095af3c6eh,002e30afbh,0b36a928ch,0008a88b8h,09b5356adh,0cf1d9e9dh,04b67a5f1h,0a5d8d8ceh,0c6542e47h - DD 07adfb6cch,073061fe8h,098678141h,0cc826fd3h,03c80515ah,000e758b1h,041485083h,06afe3247h,0b6ae8a75h,00fcb08b9h,04acf51e1h,0b8cf388dh,06961b9d6h,0344a5560h,06a97fd0ch,01a6778b8h - DD 0ecc4c7e3h,0d840fdc1h,016db68cch,0de9fe47dh,0a3e216aah,0e95f89deh,09594a8beh,084f1a6a4h,05a7b162bh,07ddc7d72h,0adc817a3h,0c5cfda19h,078b58d46h,080a5d350h,082978f19h,093365b13h - DD 026a1fc90h,02e44d225h,04d70705dh,00d6d10d2h,0d70c45f4h,0d94b6b10h,0b216c079h,00f201022h,0658fde41h,0cec966c5h,07e27601dh,0a8d2bc7dh,0ff230be7h,0bfcce3e1h,00033ffb5h,03394ff6bh - DD 08132c9afh,0d890c509h,0361e7868h,0aac4b0ebh,0e82d15aah,05194ded3h,023ae6b7dh,04550bd2eh,0ea5399d4h,03fda318eh,091638b80h,0d989bffah,0a14aa12dh,05ea124d0h,03667b944h,01fb1b899h - DD 044c44d6ah,095ec7969h,057e86137h,091df144ah,073adac44h,0915fd620h,059a83801h,08f01732dh,03aa0a633h,0ec579d25h,0c9d6d59ch,006de5e7ch,0b1ef8010h,0c132f958h,0e65c1a02h,029476f96h - DD 0d34c3565h,0336a77c0h,01b9f1e9eh,0ef1105b2h,0f9e08002h,063e6d08bh,0c613809eh,09aff2f21h,03a80e75dh,0b5754f85h,06bbda681h,0de71853eh,08197fd7ah,086f041dfh,0127817fah,08b332e08h - DD 0b9c20cdah,005d99be8h,0d5cd0c98h,089f7aad5h,05bb94183h,07ef936feh,0b05cd7f2h,092ca0753h,074a1e035h,09d65db11h,013eaea92h,002628cc8h,049e4fbf2h,0f2d9e242h,0e384f8b7h,094fdfd9bh - DD 063428c6bh,065f56054h,090b409a5h,02f7205b2h,0ff45ae11h,0f778bb78h,0c5ee53b2h,0a13045beh,003ef77feh,0e00a14ffh,0ffef8befh,0689cd59fh,01e9ade22h,03578f0edh,06268b6a8h,0e99f3ec0h - DD 0ea1b3c3eh,0a2057d91h,0b8823a4ah,02d1a7053h,02cca451eh,0abbb336ah,02218bb5dh,0cd2466e3h,0c8cb762dh,03ac1f42fh,07690211fh,07e312aaeh,045d07450h,0ebb9bd73h,046c2213fh,0207c4b82h - DD 0375913ech,099d425c1h,067908220h,094e45e96h,0cd67dbf6h,0c08f3087h,0c0887056h,0a5670fbeh,066f5b8fch,06717b64ah,0786fec28h,0d5a56aeah,0c0ff4952h,0a8c3f55fh,0457ac49bh,0a77fefaeh - DD 098379d44h,029882d7ch,0509edc8ah,0d000bdfbh,0e66fe464h,0c6f95979h,0fa61bde0h,0504a6115h,0effea31ah,056b3b871h,0f0c21a54h,02d3de26dh,0834753bfh,021dbff31h,069269d86h,0e67ecf49h - DD 0151fe690h,07a176952h,07f2adb5fh,003515804h,0d1b62a8dh,0ee794b15h,0aae454e6h,0f004ceech,0f0386fach,00897ea7ch,0d1fca751h,03b62ff12h,01b7a04ech,0154181dfh,0fb5847ech,02008e04ah - DD 041dbd772h,0d147148eh,022942654h,02b419f73h,0e9c544f7h,0669f30d3h,0c8540149h,052a2c223h,0634dfb02h,05da9ee14h,0f47869f3h,05f074ff0h,0a3933acch,074ee878dh,04fe35ed1h,0e6510651h - DD 0f1012e7ah,0b3eb9482h,0a8a566aeh,051013cc0h,047c00d3bh,0dd5e9243h,0946bb0e5h,07fde089dh,0c731b4b3h,0030754feh,099fda062h,012a136a4h,05a1a35bch,07c1064b8h,0446c84efh,0bf1f5763h - DD 0a16d4b34h,0ed29a56dh,0dca21c4fh,07fba9d09h,06d8de486h,066d7ac00h,073a2a5e1h,060061987h,09da28ff0h,08b400f86h,043c4599ch,03133f708h,0ee28cb0dh,09911c9b8h,08e0af61dh,0cd7e2874h - DD 072ed91fch,05a85f0f2h,09cd4a373h,085214f31h,01925253ch,0881fe5beh,091e8bc76h,0d8dc98e0h,0585cc3a2h,07120affeh,0735bf97ah,0724952edh,03eb34581h,05581e7dch,0e52ee57dh,05cbff4f2h - DD 087d8cc7bh,08d320a0eh,0f1d280d0h,09beaa7f3h,09beec704h,07a0b9571h,05b7f0057h,09126332eh,08ed3bd6dh,001fbc1b4h,0d945eb24h,035bb2c12h,09a8ae255h,06404694eh,08d6abfb3h,0b6092eech - DD 0cc058865h,04d76143fh,06e249922h,07b0a5af2h,06a50d353h,08aef9440h,064f0e07ah,0e11e4bcch,0a14a90fah,04472993ah,0ba0c51d4h,07706e20ch,01532672dh,0f403292fh,021829382h,052573bfah - DD 03b5bdb83h,06a7bb6a9h,0a4a72318h,008da65c0h,063eb065fh,0c58d22aah,01b15d685h,01717596ch,0b266d88bh,0112df0d0h,05941945ah,0f688ae97h,07c292cach,0487386e3h,057d6985ch,042f3b50dh - DD 06a90fc34h,06da4f998h,065ca8a8dh,0c8f257d3h,06951f762h,0c2feabcah,074c323ach,0e1bc81d0h,0251a2a12h,01bc68f67h,0be8a70dch,010d86587h,0f0f84d2eh,0d648af7fh,06a43ac92h,0f0aa9ebch - DD 027596893h,069e3be04h,045bf452bh,0b6bb02a6h,0f4c698c8h,00875c11ah,0bece3794h,06652b5c7h,04f5c0499h,07b3755fdh,0b5532b38h,06ea16558h,0a2e96ef7h,0d1c69889h,061ed8f48h,09c773c3ah - DD 09b323abch,02b653a40h,0f0e1d791h,0e26605e1h,04a87157ah,045d41064h,0cbbce616h,08f9a78b7h,0c407edddh,0cf1e44aah,0a35b964fh,081ddd1d8h,0fd083999h,0473e339eh,08e796802h,06c94bddeh - DD 08545d185h,05a304adah,0738bb8cbh,082ae44eah,0df87e10eh,0628a35e3h,0a15b9fe3h,0d3624f3dh,014be4254h,0cc44209bh,0bdbc2ea5h,07d0efcbch,004c37bbeh,01f603362h,056a5852ch,021f363f5h - DD 0a8501550h,0a1503d1ch,0d8ab10bbh,02251e0e1h,06961c51ch,0de129c96h,081910f68h,01f7246a4h,05f2591f2h,02eb744eeh,05e627157h,03c47d33fh,022f3bd68h,04d6d62c9h,0cb8df856h,06120a64bh - DD 07b5d07dfh,03a9ac6c0h,07ef39783h,0a92b9558h,0ab3a9b4fh,0e128a134h,0b1252f05h,041c18807h,080ba9b1ch,0fc7ed089h,0c532a9ddh,0ac8dc6deh,055246809h,0bf829cefh,05b4ee80fh,0101b784fh - DD 0b6f11603h,0c09945bbh,041d2801eh,057b09dbeh,0a97534a8h,0fba5202fh,0c17b9614h,07fd8ae5fh,078308435h,0a50ba666h,0d3868c4dh,09572f77ch,02dd7aab0h,00cef7bfdh,02c7c79ffh,0e7958e08h - DD 025346689h,081262e42h,0b07c7004h,0716da290h,0b7950ee3h,035f911eah,0261d21b5h,06fd72969h,008b640d3h,052389803h,0887f12a1h,05b0026eeh,0742e9311h,020e21660h,05ff77ff7h,00ef6d541h - DD 0f9c41135h,0969127f0h,068a64993h,0f21d60c9h,0e541875ch,0656e5d0ch,0a1d3c233h,0f1e0f84eh,006002d60h,09bcca359h,006191552h,0be2da60ch,061181ec3h,05da8bbaeh,065806f19h,09f04b823h - DD 0d4b79bb8h,0f1604a7dh,052c878c8h,0aee806fbh,08d47b8e8h,034144f11h,0949f9054h,072edf52bh,02127015ah,0ebfca84eh,09cb7cef3h,09051d0c0h,0296deec8h,086e8fe58h,041010d74h,033b28188h - DD 0171b445fh,001079383h,08131ad4ch,09bcf21e3h,0c93987e8h,08cdfe205h,0c92e8c8fh,0e63f4152h,030add43dh,0729462a9h,0c980f05ah,062ebb143h,03b06e968h,04f3954e5h,0242cf6b1h,0fe1d75adh - DD 0af8685c8h,05f95c6c7h,02f8f01aah,0d4c1c8ceh,02574692ah,0c44bbe32h,0d4a4a068h,0b8003478h,02eca3cdbh,07c8fc6e5h,0ec04d399h,0ea1db16bh,08f2bc5cfh,0b05bc82eh,0f44793d2h,0763d517fh - DD 008bd98d0h,04451c1b8h,06575f240h,0644b1cd4h,07375d270h,06907eb33h,0fa2286bdh,056c8bebdh,0c4632b46h,0c713d2ach,0afd60242h,017da427ah,0c95c7546h,0313065b7h,0bf17a3deh,0f8239898h - DD 04c830320h,0f3b7963fh,0903203e3h,0842c7aa0h,0e7327afbh,0af22ca0ah,0967609b6h,038e13092h,0757558f1h,073b8fb62h,0f7eca8c1h,03cc3e831h,0f6331627h,0e4174474h,0c3c40234h,0a77989cah - DD 044a081e0h,0e5fd17a1h,0b70e296ah,0d797fb7dh,0481f719ch,02b472b30h,0fe6f8c52h,00e632a98h,0c5f0c284h,089ccd116h,02d987c62h,0f51088afh,04c2de6cfh,02a2bccdah,0f679f0f9h,0810f9efeh - DD 07ffe4b3eh,0b0f394b9h,0e5fa5d21h,00b691d21h,09dfbbc75h,0b0bd7747h,0faf78b00h,0d2830fdah,052434f57h,0f78c249ch,098096dabh,04b1f7545h,08ff8c0b3h,073bf6f94h,0454e134ch,034aef03dh - DD 0b7ac7ec5h,0f8d151f4h,0e50da7d5h,0d6ceb95ah,0dc3a0eb8h,0a1b492b0h,0b3dd2863h,075157b69h,0c5413d62h,0e2c4c74eh,0bc5fc4c7h,0be329ff7h,060fa9ddah,0835a2aeah,07445cb87h,0f117f5adh - DD 0b0166f7ah,0ae8317f4h,0ceec74e6h,0fbd3e3f7h,0e0874bfdh,0fdb516ach,0c681f3a3h,03d846019h,07c1620b0h,00b12ee5ch,02b63c501h,0ba68b4ddh,06668c51eh,0ac03cd32h,04e0bcb5bh,02a6279f7h - DD 06ae85c10h,017bd69b0h,01dfdd3a6h,072946979h,02c078bech,0d9a03268h,0bfd68a52h,041c6a658h,00e023900h,0cdea1024h,0b10d144dh,0baeec121h,0058ab8dch,05a600e74h,0bb89ccddh,01333af21h - DD 03aaba1f1h,0df25eae0h,03b7144cfh,02cada16eh,071ab98bch,0657ee27dh,07a6fc96eh,099088b4ch,03549dbd4h,005d5c0a0h,0f158c3ach,042cbdf8fh,087edd685h,03fb6b3b0h,086f064d0h,022071cf6h - DD 0ff2811e5h,0d2d6721fh,0fe7fae8ch,0db81b703h,0d3f1f7bbh,03cfb74efh,016cdeb5dh,00cdbcd76h,0566a808ch,04f39642ah,0340064d6h,002b74454h,00528fa6fh,0fabbadcah,0d3fc0bb6h,0e4c3074ch - DD 0b796d219h,0b32cb8b0h,034741dd9h,0c3e95f4fh,068edf6f5h,087212125h,0a2b9cb8eh,07a03aee4h,0f53a89aah,00cd3c376h,0948a28dch,00d8af9b1h,0902ab04fh,0cf86a3f4h,07f42002dh,08aacb62ah - DD 0f62ffd52h,0106985ebh,05797bf10h,0e670b54eh,0c5e30aefh,04b405209h,04365b5e9h,012c97a20h,01fe32093h,0104646ceh,03907a8c9h,013cb4ff6h,0d46e726bh,08b9f30d1h,0aba0f499h,0e1985e21h - DD 010a230cdh,0c573dea9h,0cd30f947h,024f46a93h,0abe2010ah,0f2623fcfh,073f00e4fh,03f278cb2h,050b920ebh,0ed55c67dh,08e760571h,0f1cb9a2dh,00895b709h,07c50d109h,0190d4369h,04207cf07h - DD 0c4127fe1h,03b027e81h,03ae9c566h,0a9f8b9adh,0acbfbba5h,05ab10851h,0569556f5h,0a747d648h,02ba97bf7h,0cc172b5ch,0bcfa3324h,015e0f77dh,07686279dh,0a345b797h,0e38003d3h,05a723480h - DD 08f5fcda8h,0fd8e139fh,0bdee5bfdh,0f3e558c4h,0e33f9f77h,0d76cbaf4h,071771969h,03a4c97a4h,0f6dce6a7h,0da27e84bh,013e6c2d1h,0ff373d96h,0d759a6e9h,0f115193ch,063d2262ch,03f9b7025h - DD 0317cd062h,0d9764a31h,0199f8332h,030779d8eh,016b11b0bh,0d8074106h,078aeaed8h,07917ab9fh,028fb1d8eh,0b67a9cbeh,0136eda33h,02e313563h,0a371a86ch,0010b7069h,06744e6b7h,044d90fa2h - DD 0d6b3e243h,068190867h,059048c48h,09fe6cd9dh,095731538h,0b900b028h,032cae04fh,0a012062fh,09399d082h,08107c8bch,041df12e2h,047e8c54ah,0b6ef3f73h,014ba5117h,081362f0bh,022260beah - DD 01a18cc20h,090ea261eh,02321d636h,02192999fh,0e311b6a0h,0ef64d314h,03b54a1f5h,0d7401e4ch,06fbca2bah,019019983h,08fbffc4bh,046ad3293h,03786bf40h,0a142d3f6h,0b67039fch,0eb5cbc26h - DD 0252bd479h,09cb0ae6ch,012b5848fh,005e0f88ah,0a5c97663h,078f6d2b2h,0c162225ch,06f6e149bh,0de601a89h,0e602235ch,0f373be1fh,0d17bbe98h,0a8471827h,0caf49a5bh,018aaa116h,07e1a0a85h - DD 0270580c3h,06c833196h,0f1c98a14h,01e233839h,0ae34e0a5h,067b2f7b4h,0d8ce7289h,047ac8745h,0100dd467h,02b74779ah,04ee50d09h,0274a4337h,083608bc9h,0603dcf13h,0c89e8388h,0cd9da6c3h - DD 0355116ach,02660199fh,0b6d18eedh,0cc38bb59h,02f4bc071h,03075f31fh,0265dc57eh,09774457fh,0c6db88bbh,006a6a9c8h,04ec98e04h,06429d07fh,005ecaa8bh,08d05e57bh,07872ea7bh,020f140b1h - DD 0ca494693h,0df8c0f09h,0f252e909h,048d3a020h,057b14b12h,04c5c29afh,0bf47ad1ch,07e6fa37dh,049a0c938h,066e7b506h,06be5f41fh,0b72c0d48h,0b2359412h,06a6242b8h,08e859480h,0cd35c774h - DD 087baa627h,012536feah,0f72aa680h,058c1fec1h,0601e5dc9h,06c29b637h,0de9e01b9h,09e3c3c1ch,02bcfe0b0h,0efc8127bh,02a12f50dh,035107102h,04879b397h,06ccd6cb1h,0f8a82f21h,0f792f804h - DD 0a9b46402h,0509d4804h,0c10f0850h,0edddf85dh,04b6208aah,0928410dch,0391012dch,0f6229c46h,07727b9b6h,0c5a7c41eh,0aa444842h,0289e4e4bh,0e9a947eah,0049ba1d9h,083c8debch,044f9e47fh - DD 0611f8b8eh,0fa77a1feh,0f518f427h,0fd2e416ah,0114ebac3h,0c5fffa70h,05d89697bh,0fe57c4e9h,0b1aaf613h,0fdd053ach,0ea585a45h,031df210fh,024985034h,0318cc10eh,05f1d6130h,01a38efd1h - DD 00b1e9e21h,0bf86f237h,01dbe88aah,0b258514dh,090c1baf9h,01e38a588h,0bdb9b692h,02936a01eh,06dd5b20ch,0d576de98h,070f98ecfh,0b586bf71h,0c42d2fd7h,0cccf0f12h,0fb35bd7bh,08717e61ch - DD 035e6fc06h,08b1e5722h,00b3e13d5h,03477728fh,0aa8a7372h,0150c294dh,03bfa528ah,0c0291d43h,0cec5a196h,0c6c8bc67h,05c2e8a7ch,0deeb31e4h,0fb6e1c51h,0ba93e244h,02e28e156h,0b9f8b71bh - DD 0968a2ab9h,0ce65a287h,046bbcb1fh,0e3c5ce69h,0e7ae3f30h,0f8c835b9h,0ff72b82bh,016bbee26h,0fd42cd22h,0665e2017h,0f8b1d2a0h,01e139970h,079204932h,0125cda29h,049c3bee5h,07aee94a5h - DD 089821a66h,068c70160h,08f981669h,0f7c37678h,048cc3645h,0d90829fch,0d70addfch,0346af049h,0370bf29ch,02057b232h,042e650eeh,0f90c73ceh,0a126ab90h,0e03386eah,0975a087bh,00e266e7eh - DD 00fca65d9h,080578eb9h,016af45b8h,07e2989eah,0cac75a4eh,07438212dh,04fef36b8h,038c7ca39h,0d402676ah,08650c494h,0f72c7c48h,026ab5a66h,0ce3a464eh,04e6cb426h,02b72f841h,0f8f99896h - DD 01a335cc8h,08c318491h,06a5913e4h,0563459bah,0c7b32919h,01b920d61h,0a02425adh,0805ab8b6h,08d006086h,02ac512dah,0bcf5c0fdh,06ca4846ah,0ac2138d7h,0afea51d8h,0344cd443h,0cb647545h - DD 0bd7d9040h,00429ee8fh,0819b9c96h,0ee66a2deh,0dea7d744h,054f9ec25h,0671721bbh,02ffea642h,0114344eah,04f19dbd1h,0fd0dbc8bh,004304536h,029ec7f91h,0014b50aah,0bb06014dh,0b5fc22feh - DD 01ee682e0h,060d963a9h,0fe85c727h,0df48abc0h,02e707c2dh,00cadba13h,0a645aeffh,0de608d3ah,0edafd883h,005f1c28bh,0bd94de1fh,03c362edeh,013593e41h,08dd0629dh,0766d6eafh,00a5e736fh - DD 0f68cf9d1h,0bfa92311h,0c1797556h,0a4f9ef87h,05601c209h,010d75a1fh,009b07361h,0651c374ch,088b5ceadh,049950b58h,06fa9dbaah,00ef00058h,04e15f33ah,0f51ddc26h,02ef46140h,01f8b5ca6h - DD 0ee9523f0h,0343ac0a3h,0975ea978h,0bb75eab2h,0107387f4h,01bccf332h,09ab0062eh,0790f9259h,01e4f6a5fh,0f1a363adh,062519a50h,006e08b84h,07265f1eeh,060915187h,093ae985eh,06a80ca34h - DD 0aaba4864h,081b29768h,08d52a7d6h,0b13cabf2h,08ead03f1h,0b5c36348h,081c7c1c0h,0c932ad95h,0cae1e27bh,05452708eh,01b0df648h,09dac4269h,0dfcdb8bch,0233e3f0ch,0ec540174h,0e6ceccdfh - DD 095081181h,0bd0d845eh,0699355d5h,0cc8a7920h,0c3b375a8h,0111c0f6dh,0fd51e0dch,0fd95bc6bh,06888523ah,04a106a26h,0cb01a06dh,04d142bd6h,0adb9b397h,079bfd289h,0e9863914h,00bdbfb94h - DD 01660f6a6h,029d8a229h,0551c042dh,07f6abcd6h,00ac3ffe8h,013039debh,0ec8523fbh,0a01be628h,00ca1c328h,06ea34103h,0b903928eh,0c74114bdh,09e9144b0h,08aa4ff4eh,07f9a4b17h,07064091fh - DD 0e447f2c4h,0a3f4f521h,0604291f0h,081b8da7ah,07d5926deh,0d680bc46h,034a1202fh,084f21fd5h,04e9df3d8h,01d1e3181h,039ab8d34h,01ca4861ah,05b19aa4ah,0809ddeech,04d329366h,059f72f7eh - DD 0386d5087h,0a2f93f41h,0dd67d64fh,040bf739ch,066702158h,0b4494205h,073b1e178h,0c33c65beh,038ca6153h,0cdcd657ch,0dc791976h,097f4519ah,0cd6e1f39h,0cc7c7f29h,07e3c3932h,038de9cfbh - DD 07b793f85h,0e448eba3h,0f067e914h,0e9f8dbf9h,0f114ae87h,0c0390266h,0cd6a8e2ah,039ed75a7h,07ffba390h,0adb14848h,06af9bc09h,067f8cb8bh,09c7476dbh,0322c3848h,052a538d6h,0a320fecfh - DD 0b2aced2bh,0e0493002h,0616bd430h,0dfba1809h,0c331be70h,0531c4644h,090d2e450h,0bc04d32eh,00f9f142dh,01805a0d1h,047ee5a23h,02c44a0c5h,03989b4e3h,031875a43h,00c063481h,06b1949fdh - DD 0be0f4492h,02dfb9e08h,0e9d5e517h,03ff0da03h,0f79466a8h,003dbe9a1h,015ea9932h,00b87bcd0h,0ab1f58abh,0eb64fc83h,0817edc8ah,06d9598dah,01d3b67e5h,0699cff66h,092635853h,0645c0f29h - DD 0eabaf21ch,0253cdd82h,02241659eh,082b9602ah,02d9f7091h,02cae07ech,08b48cd9bh,0be4c720ch,06f08d6c9h,06ce5bc03h,0af10bf40h,036e8a997h,03e10ff12h,083422d21h,0bcc12494h,07b26d3ebh - DD 0c9469ad6h,0b240d2d0h,030afa05bh,0c4a11b4dh,0dd6ba286h,04b604aceh,03ee2864ch,018486600h,08d9ce5beh,05869d6bah,0ff4bfb0dh,00d8f68c5h,05700cf73h,0b69f210bh,06d37c135h,061f6653ah - DD 05aff5a48h,0ff3d432bh,072ba3a69h,00d81c4b9h,0fa1899efh,0ee879ae9h,02d6acafdh,0bac7e2a0h,01c664399h,0d6d93f6ch,05bcb135dh,04c288de1h,09dab7cbfh,083031dabh,03abbf5f0h,0fe23feb0h - DD 0cdedca85h,09f1b2466h,01a09538ch,0140bb710h,05e11115dh,0ac8ae851h,06f03f59eh,00d63ff67h,07d234afbh,0755e5551h,07e208fc1h,061c2db4eh,0f28a4b5dh,0aa9859ceh,034af030fh,0bdd6d4fch - DD 03be01cb1h,0d1c4a26dh,0243aa07ch,09ba14ffch,0b2503502h,0f95cd3a9h,07d2a93abh,0e379bc06h,0d4ca8d68h,03efc18e9h,080bb412ah,0083558ech,09645a968h,0d903b940h,09ba6054fh,0a499f0b6h - DD 0b8349abeh,0208b573ch,030b4fc1ch,03baab3e5h,0cb524990h,087e978bah,0ccdf0e80h,03524194eh,07d4bcc42h,062711725h,0b90109bah,0e90a3d9bh,01323e1e0h,03b1bdd57h,05eae1599h,0b78e9bd5h - DD 09e03d278h,00794b746h,0d70e6297h,080178605h,099c97855h,0171792f8h,0f5a86b5ch,011b393eeh,0d8884f27h,048ef6582h,0bf19ba5fh,0bd44737ah,0a42062c6h,08698de4ch,061ce9c54h,08975eb80h - DD 0d7fe71f3h,0d50e57c7h,0bc97ce38h,015342190h,04df07b63h,051bda2deh,0200eb87dh,0ba12aeaeh,0a9b4f8f6h,0abe135d2h,0fad6d99ch,004619d65h,07994937ch,04a6683a7h,06f94f09ah,07a778c8bh - DD 020a71b89h,08c508623h,01c229165h,0241a2aedh,0aaf83a99h,0352be595h,01562bac8h,09fbfee7fh,05c4017e3h,0eaf658b9h,015120b86h,01dc7f9e0h,04c034d6fh,0d84f13ddh,0eaea3038h,0283dd737h - DD 0cd85d6a2h,0197f2609h,0fae60177h,06ebbc345h,04e12fedeh,0b80f031bh,007a2186bh,0de55d0c2h,024dcdd5ah,01fb3e37fh,07ed191fbh,08d602da5h,076023e0dh,0108fb056h,0459c20c0h,070178c71h - DD 03fe54cf0h,0fad5a386h,002bbb475h,0a4a3ec4fh,0919d94d7h,01aa5ec20h,0a81e4ab3h,05d3b63b5h,05ad3d2afh,07fa733d8h,0d1ac7a37h,0fbc586ddh,040779614h,0282925deh,0e74a242ah,0fe0ffffbh - DD 0906151e5h,03f39e67fh,055e10649h,0cea27f5fh,0c17cf7b7h,0dca1d4e1h,02fe2362dh,00c326d12h,07dd35df3h,005f7ac33h,0c396dbdfh,00c3b7639h,003b7db1ch,00912f5ach,05c9ed4a9h,09dea4b70h - DD 0aae3f639h,0475e6e53h,0fc278bach,0faba0e7ch,09490375fh,016f9e221h,0a5a7ed0ah,0aebf9746h,0f41ad5d6h,045f9af3fh,0b2e99224h,003c4623ch,0b3cf56aah,082c5bb5ch,034567ed3h,064311819h - DD 08be489ach,0ec57f211h,0b9a1104bh,02821895dh,06064e007h,0610dc875h,05b20d0feh,08e526f3fh,05b645aeeh,06e71ca77h,0800e10ffh,03d1dcb9fh,0189cf6deh,036b51162h,06bb17353h,02c5a3e30h - DD 02a6c6fbfh,0c186cd3eh,04bf97906h,0a74516fah,0279d6901h,05b4b8f4bh,02b573743h,00c4e57b4h,0b6e386b6h,075fdb229h,099deac27h,0b46793fdh,0cf712629h,0eeec47eah,0cbc3b2ddh,0e965f3c4h - DD 0425c6559h,08dd1fb83h,00af06fdah,07fc00ee6h,033d956dfh,0e98c9225h,04fbdc8a2h,00f1ef335h,0b79b8ea2h,02abb5145h,0bdbff288h,040fd2945h,0d7185db7h,06a814ac4h,0c084609ah,0c4329d6fh - DD 0ed1be45dh,0c9ba7b52h,0e4cd2c74h,0891dd20dh,0824139b1h,05a4d4a7fh,0b873c710h,066c17716h,02843c4e0h,05e5bc141h,0b97eb5bfh,0d5ac4817h,0450c95c7h,0c0f8af54h,0318406c5h,0c91b3fa0h - DD 0ab9d97f8h,0360c340ah,090a2d611h,0fb57bd07h,0a6a6f7e5h,04339ae3ch,02feb8a10h,09c1fcd2ah,0c7ea7432h,0972bcca9h,0308076f6h,01b0b924ch,02a5b4ca5h,080b2814ah,061ef3b29h,02f78f55bh - DD 0c18a414fh,0f838744ah,0903d0a86h,0c611eaaeh,02a453f55h,094dabc16h,014efb279h,0e6f2e3dah,09320dc3ch,05b7a6017h,08df6b5a4h,0692e382fh,02d40fa90h,03f5e15e0h,0643dd318h,0c87883aeh - DD 053544774h,0511053e4h,03adba2bch,0834d0ecch,0bae371f5h,04215d7f7h,06c8663bch,0fcfd57bfh,0d6901b1dh,0ded2383dh,0b5587dc3h,03b49fbb4h,007625f62h,0fd44a08dh,09de9b762h,03ee4d65bh - DD 00d63d1fah,064e5137dh,002a9d89fh,0658fc052h,050436309h,048894874h,0d598da61h,0e9ae30f8h,0818baf91h,02ed710d1h,08b6a0c20h,0e27e9e06h,01c1a6b44h,01e28dcfbh,0d6ac57dch,0883acb64h - DD 0c2c6ff70h,08735728dh,0c5dc2235h,079d6122fh,019e277f9h,023f5d003h,0dded8cc7h,07ee84e25h,063cd880ah,091a8afb0h,03574af60h,03f3ea7c6h,002de7f42h,00cfcdc84h,0b31aa152h,062d0792fh - DD 08a5807ceh,08e1b4e43h,0e4109a7eh,0ad283893h,0afd59ddah,0c30cc9cbh,03d8d8093h,0f65f36c6h,0a60d32b2h,0df31469eh,03e8191c8h,0ee93df4bh,0355bdeb5h,09c1017c5h,08616aa28h,0d2623185h - DD 0dec31a21h,0b02c83f9h,06ad9d573h,0988c8b23h,0a57be365h,053e983aeh,0646f834eh,0e968734dh,05da6309bh,09137ea8fh,0c1f1ce16h,010f3a624h,0ca440921h,0782a9ea2h,05b46f1b5h,0df94739eh - DD 0cce85c9bh,09f9be006h,0a4c7c2d3h,0360e70d6h,0aefa1e60h,02cd5beeah,08c3d2b6dh,064cf63c0h,0e1cf6f90h,0fb107fa3h,0d5e044e6h,0b7e937c6h,0ce34db9fh,074e8ca78h,03e210bd0h,04f8b36c1h - DD 034a35ea8h,01df165a4h,04d4412f6h,03418e0f7h,0518836c3h,05af1f8afh,0130e1965h,042ceef4dh,0543a1957h,05560ca0bh,0886cb123h,0c33761e5h,0fe98ed30h,066624b1fh,01090997dh,0f772f4bfh - DD 04885d410h,0f4e540bbh,09ba5f8d7h,07287f810h,0de98dfb1h,022d0d865h,0bcfbb8a3h,049ff51a1h,06bc3012eh,0b6b6fa53h,0170d541dh,03d31fd72h,04b0f4966h,08018724fh,087dbde07h,079e7399fh - DD 0f4f8b16ah,056f8410eh,0c47b266ah,097241afeh,06d9c87c1h,00a406b8eh,0cd42ab1bh,0803f3e02h,004dbec69h,07f0309a8h,03bbad05fh,0a83b85f7h,0ad8e197fh,0c6097273h,05067adc1h,0c097440eh - DD 03524ff16h,0730eafb6h,0823fc6ceh,0d7f9b51eh,0443e4ac0h,027bd0d32h,04d66f217h,040c59ad9h,017c387a4h,06c33136fh,0eb86804dh,05043b8d5h,0675a73c9h,074970312h,0f16669b6h,0838fdb31h - DD 0418e7dddh,0c507b6ddh,0472f19d6h,039888d93h,00c27eb4dh,07eae26beh,0fbabb884h,017b53ed3h,02b01ae4fh,0fc27021bh,0cf488682h,088462e87h,0215e2d87h,0bee096ech,0d242e29bh,0eb2fea9ah - DD 0b821fc28h,05d985b5fh,0dc1e2ad2h,089d2e197h,09030ba62h,055b566b8h,04f41b1c6h,0e3fd41b5h,0b9a96d61h,0b738ac2eh,0369443f4h,07f8567cah,0f803a440h,08698622dh,08fe2f4dch,02b586236h - DD 056b95bceh,0bbcc00c7h,0616da680h,05ec03906h,072214252h,079162ee6h,086a892d2h,043132b63h,02f3263bfh,04bdd3ff2h,09cd0a142h,0d5b3733ch,044415ccbh,0592eaa82h,08d5474eah,0663e8924h - DD 05236344eh,08058a25eh,0bda76ee6h,082e8df9dh,011cc3d22h,0dcf6efd8h,03b4ab529h,000089cdah,0bd38a3dbh,091d3a071h,0ef72b925h,04ea97fc0h,0ea3edf75h,00c9fc15bh,0a4348ed3h,05a6297cdh - DD 0ce7c42d4h,00d38ab35h,082feab10h,09fd493efh,082111b45h,046056b6dh,073efc5c3h,0da11dae1h,05545a7fbh,0dc740278h,040d507e6h,0bdb2601ch,07066fa58h,0121dfeebh,039ae8c2ah,0214369a8h - DD 006e0956ch,0195709cbh,0010cd34bh,04c9d254fh,00471a532h,0f51e13f7h,01e73054dh,0e19d6791h,0db5c7be3h,0f702a628h,0b24dde05h,0c7141218h,0f29b2e2eh,0dc18233ch,085342dbah,03a6bd1e8h - DD 0b311898ch,03f747fa0h,0cd0eac65h,0e2a272e4h,0f914d0bch,04bba5851h,0c4a43ee3h,07a1a9660h,0a1c8cde9h,0e5a367ceh,07271abe3h,09d958ba9h,03d1615cdh,0f3ff7eb6h,0f5ae20b0h,0a2280dceh - DD 0cf640147h,056dba5c1h,05e83d118h,0ea5a2e3dh,0da24c511h,004cd6b6dh,0e854d214h,01c0f4671h,069565381h,091a6b7a9h,0decf1f5bh,0dc966240h,0fcf5d009h,01b22d21ch,09021dbd5h,02a05f641h - DD 0d4312483h,08c0ed566h,0643e216fh,05179a95dh,017044493h,0cc185fech,054991a21h,0b3063339h,00081a726h,0d801ecdbh,04fa89bbbh,00149b0c6h,04391b6b9h,0afe9065ah,0d633f3a3h,0edc92786h - DD 0ae6a8e13h,0e408c24ah,09f3897abh,085833fdeh,0d81a0715h,043800e7eh,0b44ffc5fh,0de08e346h,0cdeff2e0h,07094184ch,0165eaed1h,049f9387bh,0777c468ah,0635d6129h,0538c2dd8h,08c0dcfd1h - DD 07a6a308bh,0d6d9d9e3h,04c2767d3h,062375830h,0f38cbeb6h,0874a8bc6h,0ccb6fd9eh,0d94d3f1ah,0ba21f248h,092a9735bh,06cd1efb0h,0272ad0e5h,005b03284h,07437b69ch,06948c225h,0e7f04702h - DD 0cba2ecech,08a56c04ah,0e3a73e41h,00c181270h,003e93725h,06cb34e9dh,0496521a9h,0f77c8713h,0fa7f9f90h,094569183h,08c9707adh,0f2e7aa4ch,026c1c9a3h,0ced2c9bah,040197507h,09109fe96h - DD 0e9adfe1ch,09ae868a9h,0314e39bbh,03984403dh,0f2fe378fh,0b5875720h,0ba44a628h,033f901e0h,03652438ch,0ea1125feh,09dd1f20bh,0ae9ec4e6h,0bebf7fbdh,01e740d9eh,042dbe79ch,06dbd3ddch - DD 0edd36776h,062082aech,0e9859039h,0f612c478h,0032f7065h,0a493b201h,04ff9b211h,0ebd4d8f2h,0aac4cb32h,03f23a0aah,015ed4005h,0ea3aadb7h,0afa27e63h,0acf17ea4h,0c11fd66ch,056125c1ah - DD 03794f8dch,0266344a4h,0483c5c36h,0dcca923ah,03f9d10a0h,02d6b6bbfh,081d9bdf3h,0b320c5cah,047b50a95h,0620e28ffh,0cef03371h,0933e3b01h,099100153h,0f081bf85h,0c3a8c8d6h,0183be9a0h - DD 0d6bbe24dh,04e3ddc5ah,053843795h,0c6c74630h,065ec2d4ch,078193dd7h,0cd3c89b2h,0b8df26cch,05a483f8dh,098dbe399h,07dd3313ah,072d8a957h,0ab0bd375h,065087294h,07c259d16h,0fcd89248h - DD 07613aa81h,08a9443d7h,085fe6584h,080100800h,07fb10288h,070fc4dbch,0e86beee8h,0f58280d3h,07c978c38h,014fdd82fh,00de44d7bh,0df1204c1h,04160252fh,0a08a1c84h,0c17646a5h,0591554cah - DD 0a05bd525h,0214a37d6h,007957b3ch,048d5f09bh,0d7109bc9h,00247cdcbh,030599ce7h,040f9e4bbh,0f46ad2ech,0c325fa03h,0c3e3f9eeh,000f766cfh,0d43a4577h,0ab556668h,03ee03b93h,068d30a61h - DD 077b46a08h,07ddc81eah,0c7480699h,0cf5a6477h,06633f683h,043a8cb34h,092363c60h,01b867e6bh,01f60558eh,043921114h,02f41450eh,0cdbcdd63h,0cc630e8bh,07fc04601h,097038b43h,0ea7c66d5h - DD 004e99fd8h,07259b8a5h,04785549ah,098a8dd12h,0840552e1h,00e459a7ch,04bb0909eh,0cdfcf4d0h,053758da7h,034a86db2h,0eac997e1h,0e643bb83h,0530c5b7eh,096400bd7h,0b41c8b52h,09f97af87h - DD 0fbeee3f9h,034fc8820h,049091afdh,093e53490h,09a31f35ch,0764b9be5h,057e3d924h,071f37864h,0943aa75eh,002fb34e0h,0ab8ff6e4h,0a18c9c58h,033cf0d19h,0080f31b1h,0083518a7h,05c9682dbh - DD 0b709c3deh,0873d4ca6h,03575b8f0h,064a84262h,0020154bbh,06275da1fh,0d17cf1abh,097678caah,0951a95c3h,08779795fh,050fccc08h,0dd35b163h,033d8f031h,032709627h,0498dd85ch,03c5ab10ah - DD 041dca566h,0b6c185c3h,0d8622aa3h,07de7fedah,0901b6dfbh,099e84d92h,07c4ad288h,030a02b0eh,02fd3cf36h,0c7c81daah,0df89e59fh,0d1319547h,0cd496733h,0b2be8184h,093d3412bh,0d5f449ebh - DD 025fe531dh,07ea41b1bh,06a1d5646h,0f9797432h,02bde501ah,086067f72h,00c85e89ch,0f91481c0h,0f8b05bc6h,0ca8ee465h,002e83cdah,01844e1cfh,0b4dbe33bh,0ca82114ah,04eabfde2h,00f9f8769h - DD 038b27fe2h,04936b1c0h,0aba402dfh,063b6359bh,0656bdbabh,040c0ea2fh,06580c39ch,09c992a89h,02a60aed1h,0600e8f15h,0e0bf49dfh,0eb089ca4h,02d42d99ah,09c233d7dh,04c6bc2fah,0648d3f95h - DD 0e1add3f3h,0dcc383a8h,04f64a348h,0f42c0c6ah,00030dbdbh,02abd176fh,07d6c215eh,04de501a3h,04b9a64bch,04a107c1fh,02496cd59h,0a77f0ad3h,07688dffbh,0fb78ac62h,067937d8eh,07025a2cah - DD 0d1a8f4e7h,0fde8b2d1h,07354927ch,0f5b3da47h,0d9205735h,0e48606a3h,0e177b917h,0ac477cc6h,0a883239ah,0fb1f73d2h,0cc8b8357h,0e12572f6h,0fb1f4f86h,09d355e9ch,0d9f3ec6eh,089b795f8h - DD 0b54398dch,027be56f1h,03fedeed5h,01890efd7h,09c6d0140h,062f77f1fh,0596f0ee4h,07ef0e314h,0cc61dab3h,050ca6631h,0f4866e4fh,04a39801dh,0ae363b39h,066c8d032h,02ead66aah,022c591e5h - DD 0de02a53eh,0954ba308h,0d389f357h,02a6c060fh,0fbf40b66h,0e6cfcde8h,0c6340ce1h,08e02fc56h,073adb4bah,0e4957795h,0a7b03805h,07b86122ch,00c8e6fa6h,063f83512h,0057d7804h,083660ea0h - DD 021ba473ch,0bad79105h,0ded5389dh,0b6c50beeh,0aa7c9bc0h,0ee2caf4dh,08c4e98a7h,0d97b8de4h,0ab3bbddbh,0a9f63e70h,02597815ah,03898aabfh,0ac15b3d9h,07659af89h,0703ce784h,0edf7725bh - DD 0e085116bh,025470fabh,087285310h,004a43375h,0e2bfd52fh,04e39187eh,07d9ebc74h,036166b44h,0fd4b322ch,092ad433ch,0ba79ab51h,0726aa817h,0c1db15ebh,0f96eacd8h,00476be63h,0faf71e91h - DD 0641fad98h,0dd69a640h,029622559h,0b7995918h,0de4199dch,003c6daa5h,0ad545eb4h,092cadc97h,0256534e4h,01028238bh,08595409ah,073e80ce6h,0d05dc59bh,0690d4c66h,0981dee80h,0c95f7b8fh - DD 0d856ac25h,0f4337014h,0ac524dcah,0441bd9ddh,05f0499f5h,0640b3d85h,0d5fda182h,039cf84a9h,0b2aa95a0h,004e7b055h,00ddf1860h,029e33f0ah,0423f6b43h,0082e74b5h,00aaa2b0fh,0217edeb9h - DD 083cbea55h,058b83f35h,0bc185d70h,0c485ee4dh,01e5f6992h,0833ff03bh,0cf0c0dd5h,0b5b9b9cch,04e9e8a50h,07caaee8eh,06269dafdh,0462e907bh,0fbe791c6h,06ed5cee9h,0ed430790h,068ca3259h - DD 013b5ba88h,02b72bdf2h,035ef0ac4h,060294c8ah,019b99b08h,09c3230edh,06c2589aah,0560fff17h,0d6770374h,0552b8487h,09a56f685h,0a373202dh,045f175d9h,0d3e7f907h,0d080d810h,03c2f315fh - DD 07b9520e8h,01130e9ddh,00af037b5h,0c078f9e2h,01e9c104ch,038cd2ec7h,0c472fe92h,00f684368h,06247e7efh,0d3f1b5edh,0396dfe21h,0b32d33a9h,04a9aa2c2h,046f59cf4h,0ff0f7e41h,069cd5168h - DD 04b3234dah,03f59da0fh,0b4579ebeh,0cf0b0235h,06d2476c7h,06d1cbb25h,09dc30f08h,04f0837e6h,0906f6e98h,09a4075bbh,0c761e7d1h,0253bb434h,06e73af10h,0de2e645fh,00c5f131ch,0b89a4060h - DD 0b8cc037fh,0d12840c5h,07405bb47h,03d093a5bh,0206348b8h,06202c253h,0c55a3ca7h,0bf5d57fch,08c3bef48h,089f6c90ch,05a0a960ah,023ac7623h,0552b42abh,0dfbd3d6bh,0132061f6h,03ef22458h - DD 0c97e6516h,0d74e9bdah,0c230f49eh,088779360h,01e74ea49h,0a6ec1de3h,03fb645a2h,0581dcee5h,08f483f14h,0baef2391h,0d137d13bh,06d2dddfch,0d2743a42h,054cde50eh,0e4d97e67h,089a34fc5h - DD 012e08ce5h,013f1f5b3h,0a7f0b2cah,0a80540b8h,001982805h,0854bcf77h,0233bea04h,0b8653ffdh,002b0b4c9h,08e7b8787h,09acb170ah,02675261fh,0930c14e5h,0061a9d90h,0def0abeah,0b59b30e0h - DD 00200ec7dh,01dc19ea6h,00bce132bh,0b6f4a3f9h,0f13e27e0h,0b8d5de90h,01fade16fh,0baee5ef0h,0e4c6cf38h,06f406aaah,0d1369815h,0ab4cfe06h,0efd550c6h,00dcffe87h,075ff7d39h,09d4f59c7h - DD 051deb6adh,0b02553b1h,0b1877749h,0812399a4h,0ca6006e1h,0ce90f71fh,0b02b6e77h,0c32363a6h,0dc36c64dh,002284fbeh,0a7e1ae61h,086c81e31h,0b909d94ah,02576c7e5h,0818b2bb0h,08b6f7d02h - DD 056faa38ah,0eca3ed07h,09305bb54h,0a3790e6ch,07bc73061h,0d784eedah,06dd50614h,0bd56d369h,0229a8aa9h,0d6575949h,04595ec28h,0dcca8f47h,006ab4fe6h,0814305c1h,024f43f16h,0c8c39768h - DD 0523f2b36h,0e2a45f36h,0920d93bbh,0995c6493h,090f1632bh,0f8afdab7h,01c295954h,079ebbecdh,079592f48h,0c7bb3ddbh,05f88e998h,067216a7bh,0bc01193eh,0d91f098bh,0b1db83fch,0f7d928a5h - DD 0e991f600h,055e38417h,02981a934h,02a91113eh,006b13bdeh,0cbc9d648h,00755ff44h,0b011b6ach,0045ec613h,06f4cb518h,0c2f5930ah,0522d2d31h,0382e65deh,05acae1afh,027bc966fh,057643067h - DD 01c7193f0h,05e12705dh,03be8858eh,0f0f32f47h,096c6dfc7h,0785c3d7dh,0bf31795dh,0d75b4a20h,0342659d4h,091acf17bh,044f0378fh,0e596ea34h,0ce52129dh,04515708fh,079f2f585h,017387e1eh - DD 049dee168h,072cfd2e9h,03e2af239h,01ae05223h,01d94066ah,0009e75beh,038abf413h,06cca31c7h,09bc49908h,0b50bd61dh,0f5e2bc1eh,04a9b4a8ch,0946f83ach,0eb6cc5f7h,0ebffab28h,027da93fch - DD 04821c8c5h,0ea314c96h,0a83c15f4h,08de49dedh,07af33004h,07a64cf20h,0c9627e10h,045f1bfebh,054b9df60h,0878b0626h,0a95c0b33h,05e4fdc3ch,0c2035d8eh,0e54a37cah,080f20b8ch,09087cda9h - DD 08319ade4h,036f61c23h,0de8cfdf8h,0766f287ah,0346f3705h,048821948h,016e4f4a2h,049a7b853h,05cedadfdh,0b9b3f8a7h,08db2a815h,08f562815h,001f68f95h,0c0b7d554h,0688a208eh,012971e27h - DD 0d0ff34fch,0c9f8b696h,01222718ch,020824de2h,00c95284dh,07213cf9fh,0dc158240h,0e2ad741bh,054043ccfh,00ee3a6dfh,0d84412b3h,016ff479bh,0dfc98af0h,0f6c74ee0h,052fcd2fbh,0a78a169fh - DD 099c930e9h,0d8ae8746h,049e117a5h,01d33e858h,06624759fh,07581fcb4h,05bedc01dh,0de50644fh,0caf3155eh,0beec5d00h,0bc73e75fh,0672d66ach,0270b01dbh,086b9d8c6h,050f55b79h,0d249ef83h - DD 073978fe3h,06131d6d4h,0754b00a1h,0cc4e4542h,057dfcfe9h,04e05df05h,051ef6bf0h,094b29cddh,09bc7edf2h,0e4530cffh,0d3da65f3h,08ac236fdh,0c8eb0b48h,00faf7d5fh,0660eb039h,04d2de14ch - DD 060430e54h,0c006bba7h,0da3289abh,010a2d0d6h,0d7979c59h,09c037a5dh,0a116d944h,004d1f3d3h,08a0983cdh,09ff22473h,0c883cabbh,028e25b38h,047a58995h,0e968dba5h,0774eebdfh,02c80b505h - DD 04a953bebh,0ee763b71h,01642e7f6h,0502e223fh,061d5e722h,06fe4b641h,0dbef5316h,09d37c5b0h,0f8330bc7h,00115ed70h,075a72789h,0139850e6h,0ffceccc2h,027d7faech,04fd9f7f6h,03016a860h - DD 04cd8f64ch,0c492ec64h,0279d7b51h,058a2d790h,01fc75256h,00ced1fc5h,08f433017h,03e658aedh,005da59ebh,00b61942eh,00ddc3722h,0ba3d60a3h,0742e7f87h,07c311cd1h,0f6b01b6eh,06473ffeeh - DD 0692ac542h,08303604fh,0227b91d3h,0f079ffe1h,015aaf9bdh,019f63e63h,0f1f344fbh,0f99ee565h,0d6219199h,08a1d661fh,0d48ce41ch,08c883bc6h,03c74d904h,01065118fh,00faf8b1bh,0713889eeh - DD 081a1b3beh,0972b3f8fh,0ce2764a0h,04f3ce145h,028c4f5f7h,0e2d0f1cch,0c7f3985bh,0deee0c0dh,0d39e25c3h,07df4adc0h,0c467a080h,040619820h,061cf5a58h,0440ebc93h,0422ad600h,0527729a6h - DD 0b1b76ba6h,0ca6c0937h,04d2026dch,01a2eab85h,019d9ae0ah,0b1715e15h,0bac4a026h,0f1ad9199h,007ea7b0eh,035b3dfb8h,03ed9eb89h,0edf5496fh,02d6d08abh,08932e5ffh,025bd2731h,0f314874eh - DD 03f73f449h,0efb26a75h,08d44fc79h,01d1c94f8h,03bc0dc4dh,049f0fbc5h,03698a0d0h,0b747ea0bh,0228d291eh,05218c3feh,043c129d6h,035b804b5h,0d1acc516h,0fac859b8h,095d6e668h,06c10697dh - DD 00876fd4eh,0c38e438fh,083d2f383h,045f0c307h,0b10934cbh,0203cc2ech,02c9d46eeh,06a8f2439h,065ccde7bh,0f16b431bh,027e76a6fh,041e2cd18h,04e3484d7h,0b9c8cf8fh,08315244ah,064426efdh - DD 0fc94dea3h,01c0a8e44h,0dad6a0b0h,034c8cdbfh,004113cefh,0919c3840h,015490ffah,0fd32fba4h,0795dcfb7h,058d190f6h,083588bafh,0fef01b03h,0ca1fc1c0h,09e6d1d63h,0f0a41ac9h,053173f96h - DD 0ba16f73bh,02b1d402ah,08cf9b9fch,02fb31014h,0446ef7bfh,02d51e60eh,0b91e1745h,0c731021bh,04fee99d4h,09d3b4724h,0fac5c1eah,04bca48b6h,0bbea9af7h,070f5f514h,0974c283ah,0751f55a5h - DD 0cb452fdbh,06e30251ah,050f30650h,031ee6965h,0933548d9h,0b0b3e508h,0f4b0ef5bh,0b8949a4fh,03c88f3bdh,0208b8326h,0db1d9989h,0ab147c30h,044d4df03h,0ed6515fdh,0e72eb0c5h,017a12f75h - DD 036cf69dbh,03b59796dh,056670c18h,01219eee9h,07a070d8eh,0fe3341f7h,0a327f90ch,09b70130bh,00ae18e0eh,036a32462h,046c0a638h,02021a623h,0c62eb0d4h,0251b5817h,04c762293h,087bfbcdfh - DD 0cdd61d64h,0f78ab505h,0c8c18857h,08c7a53fch,016147515h,0a653ce6fh,0ea7d52d5h,09c923aa5h,05c18871fh,0c24709cbh,073b3cc74h,07d53bec8h,0fdd1d4c4h,059264affh,0240da582h,05555917eh - DD 0548f5a0eh,0cae8bbdah,03bbfbbe1h,01910eabah,07677afc3h,0ae579685h,073ff0b5ch,049ea61f1h,04f7c3922h,078655478h,020c68eefh,095d337cdh,0df779ab9h,068f1e1e5h,0b5cf69a8h,014b491b0h - DD 028e3fe89h,07a6cbbe0h,0c5aac0ebh,0e7e1fee4h,0697e5140h,07f47eda5h,0b454921fh,04f450137h,095cd8185h,0db625f84h,0cdb2e583h,074be0ba1h,0dd5e6de4h,0aee4fd7ch,0e8101739h,04251437dh - DD 0ac620366h,0686d72a0h,0b6d59344h,04be3fb9ch,0a1eb75b9h,06e8b44e7h,091a5c10ch,084e39da3h,0b38f0409h,037cc1490h,02c2ade82h,002951943h,01190a2d8h,09b688783h,0231182bah,025627d14h - DD 0658a6d87h,06eb550aah,0cf9c7325h,01405aaa7h,05c8748c9h,0d147142eh,053ede0e0h,07f637e4fh,014ffad2ch,0f8ca2776h,0bafb6791h,0e58fb1bdh,0bf8f93fch,017158c23h,00a4a4655h,07f15b373h - DD 0d842ca72h,039d4add2h,03ed96305h,0a71e4391h,06700be14h,05bb09cbeh,0d8befcf6h,068d69d54h,037183bcfh,0a45f5367h,03370dff7h,07152b7bbh,0bf12525bh,0cf887baah,0d6d1e3cdh,0e7ac7bddh - DD 081fdad90h,025914f78h,00d2cf6abh,0cf638f56h,0cc054de5h,0b90bc03fh,018b06350h,0932811a7h,09bbd11ffh,02f00b330h,0b4044974h,076108a6fh,0a851d266h,0801bb9e0h,0bf8990c1h,00dd099beh - DD 0abe32986h,058c5aaaah,050d59c27h,00fe9dd2ah,08d307305h,084951ff4h,086529b78h,06c23f829h,00b136a79h,050bb2218h,077a20996h,07e2174deh,0c0bb4da6h,06f00a4b9h,0efdde8dah,089a25a17h - DD 0c11ee01dh,0f728a27eh,0e5f10dfbh,0f900553ah,002ec893ch,0189a83c8h,023f66d77h,03ca5bdc1h,097eada9fh,098781537h,010256230h,059c50ab3h,0323c69b3h,0346042d9h,02c460449h,01b715a6dh - DD 06ae06e0bh,0a41dd476h,09d42e25fh,0cdd7888eh,056b25a20h,00f395f74h,08700e27eh,0eadfe0aeh,069950093h,0b09d52a9h,0327f8d40h,03525d9cbh,067df886ah,0b8235a94h,0035faec2h,077e4b0ddh - DD 0517d7061h,0115eb20ah,06c2df683h,077fe3433h,0cdc6fc67h,06870ddc7h,00b87de83h,0b1610588h,0d9c4ddbeh,0343584cah,03d754be2h,0b3164f1ch,0c1e6c894h,00731ed3ah,04f6b904ch,026327dech - DD 097b5cd32h,09d49c6deh,0b5eceecdh,040835daeh,0d9ded7feh,0c66350edh,07a678804h,08aeebb5ch,05b8ee9ech,051d42fb7h,08e3ca118h,0d7a17bddh,02ef4400eh,040d7511ah,0875a66f4h,0c48990ach - DD 02199e347h,08de07d2ah,02a39e051h,0bee75556h,0916e51dch,056918786h,04a2d89ech,0eb191313h,037d341edh,06679610dh,056d51c2bh,0434fbb41h,0d7492dbah,0e54b7ee7h,059021493h,0aa33a79ah - DD 0e4bd6d3dh,049fc5054h,05ab551d0h,009540f04h,04942d3a6h,08acc9085h,02d28323bh,0231af02fh,00992c163h,093458cach,0888e3bb4h,01fef8e71h,0be8c268ch,027578da5h,0e805ec00h,0cc8be792h - DD 0c61c3855h,029267baeh,058c1fd3bh,0ebff429dh,08c0b93b8h,022d886c0h,02ddb8953h,0ca5e00b2h,0c3fed8b7h,0cf330117h,0819c01f6h,0d49ac6fah,03c0fbd54h,06ddaa6bdh,08049a2cfh,091743068h - DD 0aff2ef81h,0d67f981eh,02818ae80h,0c3654d35h,01b2aa892h,081d05044h,03d099328h,02db067bfh,0703dcc97h,0e7c79e86h,0e133e215h,0e66f9b37h,0e39a7a5ch,0cdf119a6h,0876f1b61h,047c60de3h - DD 0d860f1b2h,06e405939h,0f5ed4d4ah,03e9a1dbch,0c9b6bcbdh,03f23619eh,0734e4497h,05ee790cfh,05bdaf9bbh,0f0a834b1h,04ca295f0h,002cedda7h,0cb8e378ch,04619aa2bh,0cc987ea4h,0e5613244h - DD 076b23a50h,00bc022cch,00a6c21ceh,04a2793adh,089cac3f5h,038328780h,0cba26d56h,029176f1bh,04f6f59ebh,006296187h,08bdc658eh,086e9bca9h,057e30402h,02ca9c4d3h,0516a09bbh,05438b216h - DD 07672765ah,00a6a063ch,00547b9bfh,037a3ce64h,098b1a633h,042c099c8h,005ee6961h,0b5ab800dh,011a5acd6h,0f1963f59h,046201063h,0baee6157h,0a596210ah,036d9a649h,01ba7138ch,0aed04363h - DD 0a4a82b76h,0cf817d1ch,0f3806be9h,05586960eh,009dc6bb5h,07ab67c89h,0114fe7ebh,052ace7a0h,0cbbc9b70h,0cd987618h,0604ca5e1h,04f06fd5ah,06dbde133h,090af14cah,0948a3264h,01afe4322h - DD 0c44b2c6ch,0a70d2ca6h,00ef87dfeh,0ab726799h,02e696377h,0310f64dch,04c8126a0h,049b42e68h,0cea0b176h,00ea444c3h,0cb269182h,053a8ddf7h,0bbba9dcbh,0f3e674ebh,0d8669d33h,00d2878a8h - DD 0d019b6a3h,004b935d5h,0406f1e46h,0bb5cf88eh,05b57c111h,0a1912d16h,019ebfd78h,09803fc21h,0c07764a9h,04f231c9eh,0b75bd055h,0d93286eeh,08ee6c9deh,083a9457dh,06087ec90h,004695915h - DD 058d6cd46h,014c6dd8ah,08e6634d2h,09cb633b5h,0f81bc328h,0c1305047h,026a177e5h,012ede0e2h,0065a6f4fh,0332cca62h,067be487bh,0c3a47ecdh,00f47ed1ch,0741eb187h,0e7598b14h,099e66e58h - DD 063d0ff12h,06f0544cah,0b610a05fh,0e5efc784h,07cad7b47h,0f72917b1h,0f2cac0c0h,03ff6ea20h,0f21db8b7h,0cc23791bh,0d7d93565h,07dac70b1h,0694bdaadh,0682cda1dh,01023516dh,0eb88bb8ch - DD 0dfdbeb1bh,0c4c634b4h,0b4ee4deah,022f5ca72h,0e6524821h,01045a368h,0052b18b2h,0ed9e8a3fh,0b961f49ah,09b7f2cb1h,07b009670h,07fee2ec1h,022507a6dh,0350d8754h,04db55f1dh,0561bd711h - DD 0320bbcafh,04c189ccch,0df1de48ch,0568434cfh,00fa8f128h,06af1b00eh,08907583ch,0f0ba9d02h,032ff9f60h,0735a4004h,0c25dcf33h,03dd8e4b6h,042c74cefh,0f2230f16h,0013fa8adh,0d8117623h - DD 0f51fe76eh,036822876h,011d62589h,08a6811cch,046225718h,0c3fc7e65h,0c82fdbcdh,0b7df2c9fh,0dd7b205bh,03b1d4e52h,047a2e414h,0b6959478h,0efa91148h,005e4d793h,0fd2e9675h,0b47ed446h - DD 004c9d9bfh,01a7098b9h,01b793048h,0661e2881h,0b01ee461h,0b1a16966h,02954746fh,0bc521308h,02477de50h,0c909a0fch,07dbd51efh,0d80bb41ch,053294905h,0a85be7ech,083958f97h,06d465b18h - DD 0fb6840fdh,016f6f330h,03401e6c8h,0faaeb214h,0ccb5b4f8h,0af83d30fh,0266dec4bh,022885739h,07bc467dfh,051b4367ch,0d842d27ah,0926562e3h,00fea14a6h,0dfcb6614h,0f2734cd9h,0eb394daeh - DD 011c0be98h,03eeae5d2h,0814e8165h,0b1e6ed11h,0e52bce1ch,0191086bch,0a75a04dah,014b74cc6h,08c060985h,063cf1186h,02dbd7f7ch,0071047deh,0ce0942cah,04e433b8bh,0d8fec61dh,0ecbac447h - DD 0ebf3232fh,08f0ed0e2h,0c52a2eddh,0fff80f9eh,075b55fdbh,0ad9ab433h,0e42e0c11h,073ca7820h,0e6251b46h,06dace0a0h,04c0d932dh,089bc6b5ch,0095da19ah,03438cd77h,08d48bdfbh,02f24a939h - DD 0766561b7h,099b47e46h,00ed0322ah,0736600e6h,0638e1865h,006a47cb1h,0cb136000h,0927c1c2dh,00cc5df69h,029542337h,009d649a9h,099b37c02h,06aefdb27h,0c5f0043ch,01be95c27h,06cdd9987h - DD 0390420d2h,069850931h,00983efa4h,0299c40ach,0af39aeadh,03a05e778h,043a45193h,084274408h,091a711a0h,06bcd0fb9h,09f52ab17h,0461592c8h,0da3c6ed6h,0b49302b4h,0330d7067h,0c51fddc7h - DD 0da50d531h,094babeb6h,0a6a7b9dah,0521b840dh,0404bdc89h,05305151eh,0d0d07449h,01bcde201h,03b76a59ah,0f427a78bh,007791a1bh,0f84841ceh,0bf91ed1ch,0ebd314beh,0bf172943h,08e61d34ch - DD 05541b892h,01d5dc451h,0fc9d9e54h,0b186ee41h,0d5bf610dh,09d9f345eh,0f6acca9fh,03e7ba65dh,0a8369486h,09dda787ah,08eb5ba53h,009f9dab7h,0d6481bc3h,05afb2033h,0afa62104h,076f4ce30h - DD 0f4f066b5h,0a8fa00cfh,0461dafc2h,089ab5143h,0a3389998h,044339ed7h,0bc214903h,02ff862f1h,0b05556e3h,02c88f985h,03467081eh,0cd96058eh,0edc637eah,07d6a4176h,036a5acdch,0e1743d09h - DD 07eb37726h,066fd72e2h,01481a037h,0f7fa264eh,045f4aa79h,09fbd3bdeh,0767c3e22h,0ed1e0147h,082e7abe2h,07621f979h,045f633f8h,019eedc72h,06137bf3ah,0e69b155eh,0414ee94eh,0a0ad13ceh - DD 01c0e651ah,093e3d524h,002ce227eh,0ab1a6e2ah,04ab27ecah,0e7af1797h,0bd444f39h,0245446deh,056c07613h,059e22a21h,0f4275498h,043deafceh,067fd0946h,010834ccbh,047406edfh,0a75841e5h - DD 07b0ac93dh,0ebd6a677h,078f5e0d7h,0a6e37b0dh,076f5492bh,02516c096h,09ac05f3ah,01e4bf888h,04df0ba2bh,0cdb42ce0h,05062341bh,0935d5cfdh,082acac20h,08a303333h,05198b00eh,0429438c4h - DD 0049d33fah,01d083bc9h,0946f67ffh,058b82ddah,067a1d6a3h,0ac3e2db8h,01798aac8h,062e6beadh,0de46c58ch,0fc85980fh,069c8d7beh,0a7f69379h,0837b35ech,023557927h,0e0790c0ch,006a933d8h - DD 0077ff55dh,0827c0e9bh,0bb26e680h,053977798h,01d9cb54fh,059530874h,04aac53efh,0cca3f449h,0a07eda0fh,011dc5c87h,0fd6400c8h,0c138bccfh,013e5da72h,0549680d3h,04540617eh,0c93eed82h - DD 04d0b75c0h,0fd3db157h,06386075bh,09716eb42h,0817b2c16h,00639605ch,0f1e4f201h,009915109h,05cca6c3bh,035c9a928h,03505c900h,0b25f7d1ah,0630480c4h,0eb9f7d20h,02a1a501ch,0c3c7b8c6h - DD 05a1f8e24h,03f99183ch,09dd255f0h,0fdb118fah,0c27f62a6h,0b9b18b90h,0396ec191h,0e8f732f7h,00be786abh,0524a2d91h,00ac5a0f5h,05d32adefh,09725f694h,09b53d4d6h,00510ba89h,0032a76c6h - DD 0ebeb1544h,0840391a3h,03ed73ac3h,044b7b88ch,0256cb8b3h,0d24bae7ah,0e394cb12h,07ceb151ah,05bc1e6a8h,0bd6b66d0h,0090f07bfh,0ec70cecbh,07d937589h,0270644edh,05f1dccfeh,0ee9e1a3dh - DD 0745b98d2h,0b0d40a84h,02556ed40h,0da429a21h,085148cb9h,0f676ecedh,0ded18936h,05a22d40ch,070e8a4ceh,03bc4b9e5h,09eae0379h,0bfd1445bh,01a0bd47eh,0f23f2c0ch,0e1845531h,0a9c0bb31h - DD 00a4c3f6bh,09ddc4d60h,02c15ef44h,0bdfaad79h,07f484acch,0ce55a236h,0055b1f15h,008653ca7h,0538873a3h,02efa8724h,0ace1c7e7h,009299e5dh,0ade332bah,007afab66h,092dd71b7h,09be1fdf6h - DD 05758b11ch,0a49b5d59h,0c8654f40h,00b852893h,052379447h,0b63ef6f4h,0105e690ch,0d4957d29h,0646559b0h,07d484363h,049788a8eh,0f4a8273ch,034ce54a9h,0ee406cb8h,0f86fda9bh,01e1c260fh - DD 0cf6a4a81h,0e150e228h,01b488772h,01fa3b6a3h,0c5a9c15bh,01e6ff110h,08ad6aa47h,0c6133b91h,09dffa978h,08ac5d55ch,05f3965f2h,0ba1d1c1dh,07732b52fh,0f969f4e0h,0a5172a07h,0fceecdb5h - DD 010f2b8f5h,0b0120a5fh,05c4c2f63h,0c83a6cdfh,0f8f9c213h,04d47a491h,0d3f1bbd5h,0d9e1cce5h,0aba7e372h,00d91bc7ch,0dfd1a2dbh,0fcdc74c8h,0374618e5h,005efa800h,015a7925eh,011216969h - DD 0f6021c5dh,0d4c89823h,0eff14423h,0880d5e84h,06dcd1396h,06523bc5ah,0113c978bh,0d1acfdfch,0bbb66840h,0b0c164e8h,072b58459h,0f7f4301eh,0a638e8ech,0c29ad4a6h,046b78699h,0f5ab8961h - DD 00e954750h,09dbd7974h,064f9d2c6h,00121de88h,0d985232eh,02e597b42h,053451777h,055b6c3c5h,0519cb9fbh,0bb53e547h,08428600dh,0f134019fh,0e081791ah,05a473176h,035fb0c08h,02f3e2263h - DD 073d273b0h,0b28c3017h,07721ef9ah,0ccd21076h,0b650dc39h,0054cc292h,06188045eh,0662246deh,06b83c0d1h,0904b52fah,097e9cd46h,0a72df267h,0899725e4h,0886b43cdh,0d849ff22h,02b651688h - DD 002f34533h,060479b79h,00c77c148h,05e354c14h,0a8537c78h,0b4bb7581h,0efe1495fh,0188043d7h,08c1d5026h,09ba12f42h,093d4aaabh,02e0c8a26h,0aa57c450h,0bdba7b8bh,09bbdafefh,0140c9ad6h - DD 025ac0f18h,02067aa42h,004d1fbf3h,0f7b1295bh,0a4b04824h,014829111h,033bd5e91h,02ce3f192h,08f2e1b72h,09c7a1d55h,0302aa243h,0fe932286h,0d4be9554h,0497ca7b4h,0e0547a6eh,0b8e821b8h - DD 067e573e0h,0fb2838beh,04084c44bh,005891db9h,096c1c2c5h,091311373h,0d958444bh,06aebfa3fh,0e56e55c1h,0ac9cdce9h,02caa46d0h,07148ced3h,0b61fe8ebh,02e10c7efh,0ff97cf4dh,09fd835dah - DD 0081e9387h,0a36da109h,08c935828h,0fb9780d7h,0e540b015h,0d5940332h,0e0f466fah,0c9d7b51bh,0d6d9f671h,0faadcd41h,0b1a2ac17h,0ba6c1e28h,0ed201e5fh,0066a7833h,0f90f462bh,019d99719h - DD 0060b5f61h,0f431f462h,07bd057c2h,0a56f46b4h,047e1bf65h,0348dca6ch,041bcf1ffh,09a38783eh,0da710718h,07a5d33a9h,02e0aeaf6h,05a779987h,02d29d187h,0ca87314dh,0c687d733h,0fa0edc3eh - DD 06a31e09bh,09df33621h,0c1350e35h,0de89e44dh,04ca0cf52h,029214871h,00b88a538h,0df379672h,02591d61bh,0c92a510ah,0585b447bh,079aa87d7h,0e5287f77h,0f67db604h,05efe7a80h,01697c8bfh - DD 0cb198ac7h,01c894849h,00f264665h,0a884a93dh,09b200678h,02da964efh,0009834e6h,03c351b87h,0e2c4b44bh,0afb2ef9fh,03326790ch,0580f6c47h,00b02264ah,0b8480521h,042a194e2h,08ba6f9e2h - DD 08fb54738h,0fc87975fh,027c3ead3h,035160788h,0b74a085ah,0834116d2h,0a62fe996h,053c99a73h,05b81c51bh,087585be0h,0be0852b7h,0925bafa8h,0a84d19a7h,076a4fafdh,0585206d4h,039a45982h - DD 05eb03c0eh,0499b6ab6h,072bc3fdeh,0f19b7954h,06e3a80d2h,0a86b5b9ch,06d42819fh,0e4377508h,0bb3ee8a3h,0c1663650h,0b132075fh,075eb14fch,07ad834f6h,0a8ccc906h,0e6e92ffdh,0ea6a2474h - DD 00f8d6758h,09d72fd95h,0408c07ddh,0cb84e101h,0a5e23221h,0b9114bfdh,0e94e742ch,0358b5fe2h,095f40e75h,01c0577ech,03d73f3d6h,0f0155451h,0bd1b9b66h,09d55cd67h,0af8d63c7h,063e86e78h - DD 0d3c095f1h,039d934abh,0e4b76d71h,004b261beh,0e73e6984h,01d2e6970h,05e5fcb11h,0879fb23bh,0dfd75490h,011506c72h,061bcf1c1h,03a97d085h,0bf5e7007h,043201d82h,0798232a7h,07f0ac52fh - DD 06eb564d4h,02715cbc4h,09e570e29h,08d6c752ch,09ef5fd5dh,0f80247c8h,0d53eb514h,0c3c66b46h,00f87de56h,09666b401h,0c6c603b5h,0ce62c06fh,07e4fc942h,0ae7b4c60h,0663a9c19h,038ac0b77h - DD 04b049136h,0cb4d20eeh,0356a4613h,08b63bf12h,070e08128h,01221aef6h,04acb6b16h,0e62d8c51h,0379e7896h,071f64a67h,0cafd7fa5h,0b25237a2h,03841ba6ah,0f077bd98h,03cd16e7eh,0c4ac0244h - DD 021fea4cah,0548ba869h,0f3dfdac1h,0d36d0817h,0f4685fafh,009d8d71fh,0c52c459ah,08eff66beh,00b57235eh,0182faee7h,00106712bh,0ee3c39b1h,0c0fcdcb0h,05107331fh,0a51054bah,0669fb9dch - DD 0319d7682h,0b25101fbh,00a982feeh,0b0293129h,00261b344h,051c1c9b9h,0bfd371fah,00e008c5bh,00278ca33h,0d866dd1ch,0e5aa53b1h,0666f76a6h,06013a2cfh,0e5cfb779h,0a3521836h,01d3a1aadh - DD 073faa485h,0cedd2531h,0c0a76878h,0c8ee6c4fh,02a11667dh,0ddbccfc9h,01c2f695ah,01a418ea9h,051f73971h,0db11bd92h,0da2ed89fh,03e4b3c82h,0e73e0319h,09a44f3f4h,0303431afh,0d1e3de0fh - DD 050f75f9ch,03c5604ffh,07e752b22h,01d8eddf3h,03c9a1118h,00ef074ddh,0ccb86d7bh,0d0ffc172h,0037d90f2h,0abd1ece3h,06055856ch,0e3f307d6h,07e4c6dafh,0422f9328h,0334879a0h,0902aac66h - DD 094cdfadeh,0b6a1e7bfh,07fc6d634h,06c97e1edh,0a2fb63f8h,0662ad24dh,0a5928405h,0f81be1b9h,0d14b4206h,086d765e4h,08fa0db65h,0becc2e0eh,0b17fc76ch,0a28838e0h,0e37cf24eh,0e49a602ah - DD 0567193ech,076b4131ah,0e5f6e70bh,0af3c305ah,0031eebddh,09587bd39h,071bbe831h,05709def8h,00eb2b669h,057059983h,0875b7029h,04d80ce1bh,00364ac16h,0838a7da8h,0be1c83abh,02f431d23h - DD 0f9294dd3h,0e56812a6h,09b4b0d77h,0b448d01fh,004e8305ch,0f3ae6061h,094d8c63eh,02bead645h,084fd8b07h,00a85434dh,0f7a9dee5h,0537b983fh,0ef55bd85h,0edcc5f18h,021c6cf8bh,02041af62h - DD 0b940c71eh,08e52874ch,0db5f4b3ah,0211935a9h,0301b1dc3h,094350492h,029958620h,033d2646dh,0ef911404h,016b0d64bh,09a3c5ef4h,09d1f25eah,04a352c78h,020f200ebh,04bd0b428h,043929f2ch - DD 0c7196e29h,0a5656667h,09391be48h,07992c2f0h,09ee0cd6eh,0aaa97cbdh,03dc8c9bfh,051b0310ch,0dd9f22cbh,0237f8acfh,0b585d584h,0bb1d81a1h,08c416388h,08d5d85f5h,042fe474fh,00d6e5a5ah - DD 038235d4eh,0e7812766h,0496e3298h,01c62bd67h,03f175bc8h,08378660ch,017afdd4dh,04d04e189h,085a8068ch,032a81601h,092b29a85h,0db58e4e1h,0c70d8a3bh,0e8a65b86h,098a0403bh,05f0e6f4eh - DD 069ed2370h,008129684h,00871ee26h,034dc30bdh,07c9c5b05h,03a5ce948h,043a90c87h,07d487b80h,0dd0e7179h,04089ba37h,0b4041811h,045f80191h,098747ba5h,01c3e1058h,06e1ae592h,098c4e13ah - DD 0e82c9f9eh,0d44636e6h,0c33a1043h,0711db87ch,0aa8aec05h,06f431263h,02744a4aah,043ff120dh,0ae77779bh,0d3bd892fh,08cdc9f82h,0f0fe0cc9h,0f1c5b1bch,0ca5f7fe6h,044929a72h,0cc63a682h - DD 009dbe19ah,0c7eaba0ch,06b5c73c2h,02f3585adh,00ae50c30h,08ab8924bh,0638b30bah,017fcd27ah,010b3d5a5h,0af414d34h,02a9accf1h,009c107d2h,0946a6242h,015dac49fh,0d707d642h,0aec3df2ah - DD 03f894ae0h,02c2492b7h,0b75f18ceh,0f59df3e5h,08f53cad0h,07cb740d2h,0c4f01294h,03eb585fbh,032c7f717h,017da0c86h,0af943f4ch,0eb8c795bh,0f67c51d2h,04ee23fb5h,068889949h,0ef187575h - DD 00389168bh,0a6b4bdb2h,0ea577d03h,0c4ecd258h,055743082h,03a63782bh,0c72f08cdh,06f678f4ch,065e58dd8h,0553511cfh,0d402c0cdh,0d53b4e3eh,0a037c14ch,037de3e29h,0c05712aah,086b6c516h - DD 0b38dff6fh,02834da3eh,0ea636be8h,0be012c52h,061dd37f8h,0292d238ch,08f8142dbh,00e54523fh,0036a05d8h,0e31eb436h,01e93c0ffh,083e3cdffh,050821ddfh,03fd2fe0fh,0ff9eb33bh,0c8e19b0dh - DD 0b569a5feh,0c8cc943fh,0d4342d75h,0ad0090d4h,0caeca000h,082090b4bh,01bd410ebh,0ca39687fh,065959d77h,0e7bb0df7h,09c964999h,039d78218h,0b2415451h,0d87f62e8h,0bed76108h,0e5efb774h - DD 0e822f0d0h,03ea011a4h,05a8704f8h,0bc647ad1h,050c6820fh,0bb315b35h,0b7e76bech,0863dec3dh,0f017bfc7h,001ff5d3ah,0976b8229h,020054439h,00bbd0d3bh,0067fca37h,07f5e3d0fh,0f63dde64h - DD 02a4c94e9h,022dbefb3h,096f8278ah,0afbff0feh,03503793dh,080aea0b1h,05f06cd29h,0b2238029h,08ec3fecah,065703e57h,0393e7053h,006c38314h,07c6734c4h,0a0b751ebh,0c59f0f1eh,0d2e8a435h - DD 05e9ca895h,0147d9052h,0972072dfh,02f4dd31eh,0e6c6755ch,0a16fda8eh,0cf196558h,0c66826ffh,00cf43895h,01f1a76a3h,083c3097bh,0a9d604e0h,066390e0eh,0e1908309h,0b3c85effh,0a50bf753h - DD 0f6a70251h,00696bddeh,03c6ab16ah,0548b801bh,0a4d08762h,037fcf704h,0dff76c4eh,0090b3defh,069cb9158h,087e8cb89h,0995ece43h,044a90744h,00ad9fbf5h,0f85395f4h,04fb0c82dh,049b0f6c5h - DD 0adf7cccfh,075d9bc15h,0dfa1e1b0h,081a3e5d6h,0249bc17eh,08c39e444h,08ea7fd43h,0f37dccb2h,0907fba12h,0da654873h,04a372904h,035daa6dah,06283a6c5h,00564cfc6h,04a9395bfh,0d09fa4f6h - DD 0aeb19a36h,0688e9ec9h,0c7bfbfb4h,0d913f1ceh,061c2faa6h,0797b9a3ch,06a0a9c12h,02f979bech,0359679ech,0b5969d0fh,0079b0460h,0ebcf523dh,010fab870h,0fd6b0008h,09373a39ch,03f2edcdah - DD 06f568431h,00d64f9a7h,002f8898ch,0f848c27ch,0260b5bd5h,0f418ade1h,06973dee8h,0c1f3e323h,026c185ddh,046e9319ch,0546f0ac4h,06d85b7d8h,0247f9d57h,0427965f2h,0b0035f48h,0b519b636h - DD 0ab87d59ch,06b6163a9h,039caaa11h,0ff9f58c3h,03177387bh,04ac39cdeh,0873e77f9h,05f6557c2h,036a83041h,067504006h,075ef196ch,09b1c96cah,0b08c7940h,0f34283deh,01128c316h,07ea09644h - DD 06aa39dffh,0b510b3b5h,09f8e4d8ch,059b43da2h,09e4c4b9fh,0a8ce31fdh,0c1303c01h,00e20be26h,0e8ee47c9h,018187182h,07db98101h,0d9687cdbh,0a1e14ff6h,07a520e4dh,08836d572h,0429808bah - DD 04944b663h,0a37ca60dh,0a3f91ae5h,0f901f7a9h,09e36e3b1h,0e4e3e76eh,029d93250h,09aa219cfh,0056a2512h,0347fe275h,0de65d95ch,0a4d643d9h,0699fc3edh,09669d396h,0cf8c6bbeh,0b598dee2h - DD 0dda9e5c6h,0682ac1e5h,0caa9fc95h,04e0d3c72h,0772bea44h,017faaadeh,0ab0009c8h,05ef8428ch,0460ff016h,0cc4ce47ah,0725281cbh,0da6d12bfh,00223aad2h,044c67848h,036256e28h,06e342afah - DD 093a37c04h,01400bb0bh,0dd10bd96h,062b1bc9bh,00dac46b7h,07251adebh,07be4ef51h,07d33b92eh,0e61fa29ah,028b2a94bh,006422233h,04b2be13fh,0330d8d37h,036d6d062h,0b28ca005h,05ef80e1eh - DD 06d16768eh,0174d4699h,0628bf217h,09fc4ff6ah,0154e490dh,077705a94h,08d2d997ah,09d96dd28h,0ce5d72c4h,077e2d9d8h,0c11c714fh,09d06c5a4h,079e4a03eh,002aa5136h,0030ff28bh,01386b3c2h - DD 0fb283f61h,0fe82e8a6h,0f3abc3fbh,07df203e5h,03a4d3622h,0eec7c351h,0df762761h,0f7d17dbfh,0522055f0h,0c3956e44h,08fa748dbh,0de3012dbh,0bf1dcc14h,0ca9fcb63h,0be4e2f3ah,0a56d9dcfh - DD 08bcec9c2h,0b86186b6h,0680b9f06h,07cf24df9h,0c0d29281h,0c46b45eah,007b10e12h,0fff42bc5h,04d289427h,012263c40h,0b4848ec4h,03d5f1899h,0d040800ch,011f97010h,0300feb20h,0b4c5f529h - DD 0de94fdcbh,0cc543f8fh,0c7c2f05eh,0e96af739h,0882692e1h,0aa5e0036h,0950d4ae9h,009c75b68h,0b5932a7ah,062f63df2h,0de0979adh,02658252eh,0b5e69631h,02a19343fh,0525b666bh,0718c7501h - DD 0ea40dc3ah,026a42d69h,0aecc018fh,0dc84ad22h,03270f04ah,025c36c7bh,050fa72edh,046ba6d47h,093e58a8eh,06c37d1c5h,0120c088ch,0a2394731h,0cb6e86dah,0c3be4263h,07126d038h,02c417d36h - DD 08b6f8efah,05b70f9c5h,037718536h,0671a2faah,0b539c92bh,0d3ced3c6h,0a31203c2h,0e56f1bd9h,09ff3c8ebh,08b096ec4h,043491ceah,02deae432h,017943794h,02465c6ebh,020586843h,05d267e66h - DD 0b07159d0h,09d3d116dh,0c1896210h,0ae07a67fh,0bb961579h,08fc84d87h,01c1f8dd6h,030009e49h,0e3132819h,08a8caf22h,0f23ab4ffh,0cffa197ch,0205dd687h,058103a44h,00ded67a2h,057b796c3h - DD 0a1779ad7h,00b9c3a6ch,0357c09c5h,0a33cfe2eh,03db4a57eh,02ea29315h,08ebeb52eh,091959695h,0e546c879h,0118db9a6h,06295c8d6h,08e996df4h,055ec806bh,0dd990484h,0165c1035h,024f291cah - DD 0440e2229h,0cca523bbh,073ef4d04h,0324673a2h,03e11ec39h,0af3adf34h,0dc5968d3h,06136d7f1h,0b053a927h,07a7b2899h,0ae067ecdh,03eaa2661h,002779cd9h,08549b9c8h,0c53385eah,0061d7940h - DD 0f06d18bdh,03e0ba883h,0b2700843h,04ba6de53h,0591a9e4dh,0b966b668h,07f4fa0edh,093f67567h,04347237bh,05a02711bh,0e794608eh,0bc041e2fh,070f73d8ch,055af10f5h,0bb7564f7h,0d2d4d4f7h - DD 0b3e93ce7h,0d7d27a89h,05d3a2c1bh,0f7b5a875h,0255b218ah,0b29e68a0h,08af76754h,0b533837eh,0579fab2eh,0d1b05a73h,0ecd74385h,0b41055a1h,0445e9115h,0b2369274h,0f520274eh,02972a7c4h - DD 0f678e68ah,06c08334eh,099b057edh,04e4160f0h,052ccb69ah,03cfe11b8h,021c8f772h,02fd1823ah,03298f055h,0df7f072fh,0fec74a6eh,08c0566f9h,05bb4d041h,0e549e019h,09208d850h,07c3930bah - DD 0aaa2902bh,0e07141fch,0e4f69ad3h,0539ad799h,0813f9ffdh,0a6453f94h,0375bc2f7h,0c58d3c48h,05dc64e96h,0b3326fadh,0b240e354h,03aafcaa9h,0aca1e7a9h,01d1b0903h,01211b8a0h,04ceb9767h - DD 0e32a858eh,0eca83e49h,0ae907badh,04c32892eh,02eb9b494h,0d5b42ab6h,01eabae1bh,07fde3ee2h,0caf54957h,013b5ab09h,0e5f5d5d5h,0bfb028beh,02003e2c0h,0928a0650h,067476843h,090793aach - DD 0c81710a0h,05e942e79h,027ccadd4h,0557e4a36h,04bcf6d0ch,072a2bc56h,026d7b80ch,009ee5f43h,0d4292f19h,06b70dbe9h,063f16b18h,056f74c26h,035fbb42ah,0c23db0f7h,06ae10040h,0b606bdf6h - DD 0044573ach,01eb15d4dh,0556b0ba4h,07dc3cf86h,0c60df6f7h,097af9a33h,0a716ce8ch,00b1ef85ch,0c96958beh,02922f884h,035690963h,07c32fa94h,0eaa00061h,02d7f667ch,03547365ch,0eaaf7c17h - DD 087032d58h,01eb4de46h,05e2c79e0h,0c54f3d83h,05d04ef23h,007818df4h,0673d41b4h,055faa9c8h,089b95355h,0ced64f6fh,0b7415c84h,04860d2eah,0050ebad3h,05fdb9bd2h,06685a5bfh,0db53e0cch - DD 09feb6593h,0b830c031h,06accff17h,0dd87f310h,09f555c10h,02303ebabh,0287e7065h,094603695h,02e83358ch,0f88311c3h,0eefb0178h,0508dd9b4h,02dba8652h,07ca23706h,00047abe5h,062aac5a3h - DD 08b1ea7b3h,09a61d2a0h,0ae8b1485h,0d495ab63h,087052f99h,038740f84h,0b2974eeah,0178ebe5bh,05b36d17fh,0030bbccah,0aaf86eeah,0b5e4cce3h,068f8e9e0h,0b51a0220h,009eb3e75h,0a4348796h - DD 0eef1a752h,0be592309h,06f2aa1edh,05d7162d7h,00f007dd2h,0aebfb5edh,0c89edd22h,0255e14b2h,00303b697h,0ba85e072h,0f05720ffh,0c5d17e25h,05128ebb6h,002b58d6eh,0d754e113h,02c80242dh - DD 0abfae1cah,0919fca5fh,01a21459bh,0937afaach,01f66a4d2h,09e0ca91ch,023ec1331h,0194cc7f3h,08aa11690h,0ad25143ah,009b59e08h,0be40ad8dh,0e750860ah,037d60d9bh,0c6bf434ch,06c53b008h - DD 01356eb80h,0b572415dh,09578ded8h,0b8bf9da3h,05e8fb38bh,022658e36h,05af8cb22h,09b70ce22h,0829a8180h,07c00018ah,0b81ed295h,084329f93h,05f3cea83h,07c343ea2h,067586536h,038f8655fh - DD 01d3ec517h,0a661a0d0h,0512321aeh,098744652h,0eca92598h,0084ca591h,01dcb3febh,0a9bb9dc9h,078b4c240h,014c54355h,0610cafdch,05ed62a3bh,01b38846bh,007512f37h,0b0e38161h,0571bb70ah - DD 02da705d2h,0b556b95bh,0b1a08f98h,03ef8ada6h,0ddecfbe5h,085302ca7h,0943105cdh,00e530573h,021a9255dh,060554d55h,0f2f3802ah,063a32fa1h,0cd477875h,035c8c5b0h,06ad42da1h,097f458eah - DD 0eb6b242dh,0832d7080h,03b71e246h,0d30bd023h,0be31139dh,07027991bh,0462e4e53h,068797e91h,06b4e185ah,0423fe20ah,042d9b707h,082f2c67eh,04cf7811bh,025c81768h,0045bb95dh,0bd53005eh - DD 09d8e68fdh,0e5f649beh,01b044320h,0db0f0533h,0e0c33398h,0f6fde9b3h,066c8cfaeh,092f4209bh,01a739d4bh,0e9d1afcch,0a28ab8deh,009aea75fh,0eac6f1d0h,014375fb5h,0708f7aa5h,06420b560h - DD 06254dc41h,09eae499ch,07a837e7eh,07e293924h,0090524a7h,074aec08ch,08d6f55f2h,0f82b9219h,01402cec5h,0493c962eh,0fa2f30e7h,09f17ca17h,0e9b879cbh,0bcd783e8h,05a6f145fh,0ea3d8c14h - DD 05e0dee6eh,0dede15e7h,0dc628aa2h,074f24872h,07861bb93h,0d3e9c4feh,06187b2e0h,056d4822ah,0c59826f9h,0b66417cfh,02408169eh,0ca260969h,0c79ef885h,0edf69d06h,0dc7d138fh,000031f8ah - DD 00ebcf726h,0103c46e6h,06231470eh,04482b831h,0487c2109h,06f6dfacah,062e666efh,02e0ace97h,01f8d1f42h,03246a9d3h,0574944d2h,01b1e83f1h,0a57f334bh,013dfa63ah,09f025d81h,00cf8daedh - DD 000ee11c1h,030d78ea8h,0b5e3dd75h,0eb053cd4h,0d58c43c5h,09b65b13eh,0bd151663h,0c3ad49bdh,0b6427990h,099fd8e41h,0707eae1eh,012cf15bdh,01aabb71eh,029ad4f1bh,007545d0eh,05143e74dh - DD 0c88bdee1h,030266336h,05876767ch,025f29306h,0c6731996h,09c078571h,0ed552951h,0c88690b2h,0852705b4h,0274f2c2dh,04e09552dh,0b0bf8d44h,0986575d1h,07628beebh,07f864651h,0407be238h - DD 0a639fc6bh,00e5e3049h,086003625h,0e75c35d9h,05dcc1646h,00cf35bd8h,06c26273ah,08bcaced2h,0b5536742h,0e22ecf1dh,01a9e068bh,0013dd897h,08a7909c5h,017f411cbh,0861dd506h,05757ac98h - DD 01e935abbh,085de1f0dh,0154de37ah,0defd10b4h,0369cebb5h,0b8d9e392h,0761324beh,054d5ef9bh,074f17e26h,04d6341bah,078c1dde4h,0c0a0e3c8h,087d918fdh,0a6d77581h,002ca3a13h,066876015h - DD 0f36658f0h,0c7313e9ch,071f8057eh,0c433ef1ch,01b6a835ah,085326246h,07c86394ch,0c8f05398h,0e983c4a1h,0ff398cdfh,003b7b931h,0bf5e8162h,0b7b9045bh,093193c46h,0a4a6e46bh,01e4ebf5dh - DD 043a24fe7h,0f9942a60h,0ffb3492bh,029c1191eh,0902fde05h,09f662449h,06713c32dh,0c792a7ach,0b737982ch,02fd88ad8h,0a21e60e3h,07e3a0319h,07383591ah,009b0de44h,08310a456h,06df141eeh - DD 0e6d6f471h,0aec1a039h,01198d12eh,014b2ba0fh,03aeee5ach,0ebc1a160h,0e0b964ceh,0401f4836h,04fd03f66h,02ee43796h,0dd8f3f12h,03fdb4e49h,029380f18h,06ef267f6h,08da64d16h,03e8e9670h - DD 0207674f1h,0bc19180ch,033ae8fdbh,0112e09a7h,06aaeb71eh,099667554h,0e101b1c7h,079432af1h,0de2ddec6h,0d5eb558fh,05357753fh,081392d1fh,03ae1158ah,0a7a76b97h,04a899991h,0416fbbffh - DD 00d4a9dcfh,09e65fdfdh,0944ddf12h,07bc29e48h,03c856866h,0bc1a92d9h,06e98dfe2h,0273c6905h,0cdfaa6b8h,069fce418h,05061c69fh,0606bd823h,06af75e27h,042d495a0h,06d873a1fh,08ed3d505h - DD 06ab25b6ah,0af552841h,02b1a4523h,0c6c0ffc7h,021c99e03h,0ab18827bh,09034691bh,0060e8648h,093c7f398h,05207f90fh,082f8d10bh,09f4a96cbh,03ad0f9e3h,0dd71cd79h,0fc3a54f5h,084f435d2h - DD 08e33787fh,04b03c55bh,0a6384673h,0ef42f975h,05051b9f0h,0ff7304f7h,0741c87c2h,018aca1dch,02d4bfe80h,056f120a7h,0053e732ch,0fd823b3dh,07537ca16h,011bccfe4h,01b5a996bh,0df6c9c74h - DD 0904fc3fah,0ee7332c7h,0c7e3636ah,014a23f45h,0f091d9aah,0c38659c3h,0b12d8540h,04a995e5dh,0f3a5598ah,020a53bech,0b1eaa995h,056534b17h,0bf04e03ch,09ed3dca4h,0d8d56268h,0716c563ah - DD 01d6178e7h,027ba77a4h,068a1ff8eh,0e4c80c40h,00a13f63dh,075011099h,0a61d46f3h,07bf33521h,010b365bbh,00aff218eh,00fd7ea75h,081021804h,0a4b3a925h,005a3fd8ah,09b3db4e6h,0b829e75fh - DD 04d53e5fbh,06bdc75a5h,0d52717e3h,004a5dc02h,0e9a42ec2h,086af502fh,02630e382h,08867e8fbh,0bec9889bh,0bf845c6eh,0cb47c98dh,054f491f2h,0790c2a12h,0a3091fbah,0c20f708bh,0d7f6fd78h - DD 0acde5e17h,0a569ac30h,06852b4d7h,0d0f996d0h,04609ae54h,0e51d4bb5h,00daed061h,03fa37d17h,034b8fb41h,062a88684h,09efb64f1h,099a2acbdh,06448e1f2h,0b75c1a5eh,042b5a069h,0fa99951ah - DD 02f3b26e7h,06d956e89h,0da875247h,0f4709860h,02482dda3h,03ad15179h,0017d82f0h,0d64110e3h,0fad414e4h,014928d2ch,02ed02b24h,02b155f58h,0cb821bf1h,0481a141bh,04f81f5dah,012e3c770h - DD 09fff8381h,0e49c5de5h,05bbec894h,011053232h,0454d88c4h,0a0d051cch,01f8e531bh,04f6db89ch,0ca563a44h,034fe3fd6h,058da8ab9h,07f5c2215h,09474f0a1h,08445016dh,0cb7d8a0ah,017d34d61h - DD 01c474019h,08e9d3910h,0d52ceefbh,0caff2629h,0c1622c2bh,0f9cf3e32h,0e9071a05h,0d4b95e3ch,01594438ch,0fbbca61fh,004aadedfh,01eb6e6a6h,068e14940h,0853027f4h,0dfabda9ch,0221d322ah - DD 0b7cb179ah,0ed8ea9f6h,0b7934dcch,0dc7b764dh,05e09180dh,0fcb13940h,0b47dc2ddh,06629a6bfh,09f5a915eh,0bfc55e4eh,06204441eh,0b1db9d37h,0930c5f53h,0f82d68cfh,0cbb605b1h,017d3a142h - DD 0308780f2h,0dd5944eah,03845f5e4h,0dc8de761h,07624d7a3h,06beaba7dh,0304df11eh,01e709afdh,002170456h,095364376h,0c8f94b64h,0bf204b3ah,05680ca68h,04e53af7ch,0e0c67574h,00526074ah - DD 0ecd92af6h,095d8cef8h,06cd1745ah,0e6b9fa7ah,0a325c3e4h,03d546d3dh,09ae93aaeh,01f57691dh,09d2e1a33h,0e891f3feh,0ac063d35h,0d430093fh,05513a327h,0eda59b12h,05536f18fh,0dc2134f3h - DD 05c210286h,0aa51fe2ch,01cab658ch,03f68aaeeh,0f9357292h,05a23a00bh,07efdabedh,09a626f39h,0199d78e3h,0fe2b3bf3h,071bbc345h,0b7a2af77h,01e59802ch,03d19827ah,0b487a51ch,0823bbc15h - DD 099d0a422h,0856139f2h,0f456c6fbh,09ac3df65h,0701f8bd6h,0addf65c6h,03758df87h,0149f321eh,0721b7ebah,0b1ecf714h,031a3312ah,0e17df098h,0d5c4d581h,0db2fd6ech,08fcea1b3h,0fd02996fh - DD 07882f14fh,0e29fa63eh,007c6cadch,0c9f6dc35h,0b882bed0h,046f22d6fh,0d118e52ch,01a45755bh,07c4608cfh,09f2c7c27h,0568012c2h,07ccbdf32h,061729b0eh,0fcb0aeddh,0f7d75dbfh,07ca2ca9eh - DD 06f640f62h,0f58fecb1h,039f51946h,0e274b92bh,06288af44h,07f4dfc04h,0eac329e5h,00a91f32ah,0d6aaba31h,043ad274bh,00f6884f9h,0719a1640h,0daf91e20h,0685d29f6h,027e49d52h,05ec1cc33h - DD 03b54a059h,038f4de96h,0efbcfdb3h,00e0015e5h,04dbb8da6h,0177d23d9h,097a617adh,098724aa2h,0fdb6558eh,030f0885bh,0c7899a96h,0f9f7a28ah,0872dc112h,0d2ae8ac8h,073c3c459h,0fa0642cah - DD 0e7dfc8d6h,015296981h,01fb5b94ah,067cd4450h,00eddfd37h,00ec71cf1h,09a8eddc7h,0c7e5eeb3h,081d95028h,002ac8e3dh,070b0e35dh,00088f172h,0e1881fe3h,0ec041fabh,0d99e7faah,062cf71b8h - DD 0e0f222c2h,05043dea7h,072e65142h,0309d42ach,09216cd30h,094fe9dddh,00f87feech,0d6539c7dh,0432ac7d7h,003c5a57ch,0327fda10h,072692cf0h,0280698deh,0ec28c85fh,07ec283b1h,02331fb46h - DD 02867e633h,0d34bfa32h,00a9cc815h,078709a82h,0875e2fa5h,0b7fe6964h,09e98bfb5h,025cc064fh,0493a65c5h,09eb0151ch,053182464h,05fb5d941h,0f04618e2h,069e6f130h,0f89c8ab6h,0a8ecec22h - DD 0b96209bdh,0cd6ac88bh,0b3e1c9e0h,065fa8cdbh,04a8d8each,0a47d22f5h,08d33f963h,083895cdfh,0b56cd3d1h,0a8adca59h,0daf38232h,010c8350bh,0a5080a9fh,02b161fb3h,03af65b3ah,0be7f5c64h - DD 097403a11h,02c754039h,0121b96afh,094626cf7h,06a983ec2h,0431de7c4h,052cc3df7h,03780dd3ah,02baf8e3bh,0e28a0e46h,051d299aeh,0abe68aadh,0647a2408h,0603eb8f9h,05c750981h,014c61ed6h - DD 0c53352e7h,088b34414h,01337d46eh,05a34889ch,0f95f2bc8h,0612c1560h,0d4807a3ah,08a3f8441h,05224da68h,0680d9e97h,0c3eb00e9h,060cd6e88h,09a6bc375h,03875a98eh,04fd554c2h,0dc80f924h - DD 06ac77407h,06c4b3415h,025420681h,0a1e5ea8fh,04607a458h,0541bfa14h,096d7fbf9h,05dbc7e7ah,031590a47h,0646a851bh,015ee6df8h,0039e85bah,0d7b43fc0h,0d19fa231h,0299a0e04h,084bc8be8h - DD 0f20df03ah,02b9d2936h,08608d472h,024054382h,09149202ah,076b6ba04h,03670e7b7h,0b21c3831h,0d6fdee10h,0ddd93059h,078488e71h,09da47ad3h,0a0fcfb25h,099cc1dfdh,064696954h,042abde10h - DD 017eab9feh,014cc15fch,0d3e70972h,0d6e863e4h,06432112ch,029a7765ch,05b0774d8h,088660001h,02c088eaeh,03729175ah,08230b8d4h,013afbcaeh,0915f4379h,044768151h,0d8d22812h,0f086431ah - DD 0c298b974h,037461955h,0f8711e04h,0905fb5f0h,0fe969d18h,0787abf3ah,06f6a494eh,0392167c2h,028c511dah,0fc7a0d2dh,0b66a262dh,0f127c7dch,0fd63fdf0h,0f9c4bb95h,03913ef46h,090016589h - DD 011aa600dh,074d2a73ch,09fb5ab52h,02f5379bdh,07fb70068h,0e49e53a4h,0404aa9a7h,068dd39e5h,02ecaa9c3h,0b9b0cf57h,0e824826bh,0ba0e103bh,04631a3c4h,060c2198bh,0fa8966a2h,0c5ff84abh - DD 0ac95aff8h,02d6ebe22h,0b5a46d09h,01c9bb6dbh,053ee4f8dh,0419062dah,0bb97efefh,07b9042d0h,0830cf6bdh,00f87f080h,06ec8a6c6h,04861d19ah,0202f01aah,0d3a0daa1h,0f25afbd5h,0b0111674h - DD 01afb20d9h,06d00d6cfh,040671bc5h,013695000h,02485ea9bh,0913ab0dch,09eef61ach,01f2bed06h,06d799e20h,0850c8217h,03271c2deh,093415f37h,06c4f5910h,05afb06e9h,0c4e9e421h,0688a52dfh - DD 0e2a9a6dbh,030495ba3h,058f9268bh,04601303dh,07eb0f04fh,0be3b0dadh,04456936dh,04ea47250h,0d33fd3e7h,08caf8798h,0eb433708h,01ccd8a89h,087fd50adh,09effe3e8h,06b29c4dfh,0be240a56h - DD 0ca0e7ebdh,0ec4ffd98h,0e748616eh,0f586783ah,0c77baa99h,0a5b00d8fh,0b4f34c9ch,00acada29h,00fe723ach,036dad67dh,039c36c1eh,01d8e53a5h,01f4bea41h,0e4dd342dh,0ebc9e4e0h,064fd5e35h - DD 057908805h,096f01f90h,05ed480ddh,0b5b9ea3dh,03efd2dd0h,0366c5dc2h,06e9dfa27h,0ed2fe305h,06e9197e2h,04575e892h,0ab502a5dh,011719c09h,0e81f213fh,0264c7bech,055f5c457h,0741b9241h - DD 049a5f4f4h,078ac7b68h,09fc45b7dh,0f91d70a2h,0b0f5f355h,039b05544h,0eef930d9h,011f06bceh,0038d05e1h,0db84d25dh,0bacc1d51h,004838ee5h,09e8ee00bh,09da3ce86h,0c36eda1fh,0c3412057h - DD 064d9c2f4h,0ae80b913h,0a010a8ffh,07468bac3h,037359d41h,0dfd20037h,015efeacch,01a0f5ab8h,0659d0ce0h,07c25ad2fh,06785cff1h,04011bcbbh,07e2192c7h,0128b9912h,013ccb0e8h,0a549d8e1h - DD 0c85438b1h,0805588d8h,0bc25cb27h,05680332dh,01a4bfdf4h,0dcd1bc96h,0706f6566h,0779ff428h,0f059987ah,08bbee998h,0cc686de7h,0f6ce8cf2h,0953cfdb2h,0f8ad3c4ah,02205da36h,0d1d426d9h - DD 0c781a241h,0b3c0f13fh,0d75362a8h,03e89360eh,0c8a91184h,0ccd05863h,0efa8a7f4h,09bd0c9b7h,08a912a4bh,097ee4d53h,0bcf518fdh,0de5e15f8h,0c467e1e0h,06a055bf8h,01587e256h,010be4b4bh - DD 0668621c9h,0d90c14f2h,0ab9c92c1h,0d5518f51h,0d6d47b3ch,08e6a0100h,066716175h,0cbe980ddh,0ddd83683h,0500d3f10h,099cac73ch,03b6cb35dh,06083d550h,053730c8bh,0df0a1987h,0cf159767h - DD 043ad73b3h,084bfcf53h,04f035a94h,01b528c20h,033eeac69h,04294edf7h,0817f3240h,0b6283e83h,00a5f25b1h,0c3fdc959h,05844ee22h,0efaf8aa5h,0dbdde4deh,0de269ba5h,0c56133bfh,0e3347160h - DD 08d9ea9f8h,0c1184219h,0f3fc1ab5h,0090de5dbh,00bf22cdah,0404c37b1h,0f5618894h,07de20ec8h,0ecdaecabh,0754c588eh,088342743h,06ca4b0edh,0f4a938ech,076f08bddh,091493ccbh,0d182de89h - DD 0c8a4186ah,0d652c53eh,0946d8e33h,0b3e878dbh,05f37663ch,0088453c0h,0b407748bh,05cd9daaah,0586d5e72h,0a1f5197fh,0c443ca59h,047500be8h,0e2652424h,078ef35b2h,06dd7767dh,009c5d26fh - DD 0a74d3f7bh,07175a79ah,0cf5ea459h,00428fd8dh,0a5d1746dh,0511cb97ch,0e71d1278h,036363939h,010350bf4h,0cf2df955h,060aae782h,0b3817439h,03e688809h,0a748c0e4h,0d7a5a006h,098021fbfh - DD 00e367a98h,09076a70ch,00f62b7c2h,0bea1bc15h,030fe0343h,02645a68ch,0699dc14fh,0acaffa78h,0457bf9c4h,0f4469964h,00d2ead83h,00db6407bh,0b2c6f3ebh,068d56cadh,0f376356ch,03b512e73h - DD 0fce10408h,0e43b0e1fh,05a5e257dh,089ddc003h,00362e5b3h,0b0ae0d12h,0b0519161h,007f983c7h,05d5231e7h,0c2e94d15h,00b4f9513h,0cff22aedh,06ad0b0b5h,0b02588ddh,011d0dcd5h,0b967d1ach - DD 0cf777b6ch,08dac6bc6h,04c6d1959h,00062bdbdh,00ef5cc85h,053da71b5h,04006f14fh,007012c7dh,0ac47800dh,04617f962h,0c102ed75h,053365f2bh,04ab8c9d3h,0b422efcbh,034af31c9h,0195cb26bh - DD 005f2c4ceh,03a926e29h,09856966ch,0bd2bdecbh,085527015h,05d16ab3ah,04486c231h,09f81609eh,0da350002h,0d8b96b2ch,0fa1b7d36h,0bd054690h,0e71d79bch,0dc90ebf5h,008964e4eh,0f241b6f9h - DD 02fe3cd4ch,07c838643h,0b4bc633ch,0e0f33acbh,03d139f1fh,0b4a9ecech,0dc4a1f49h,005ce69cdh,0f5f98aafh,0a19d1b16h,06f23e0efh,045bb71d6h,046cdfdd3h,033789fcdh,0cee040cah,09b8e2978h - DD 0ae0a6828h,09c69b246h,07078d5aah,0ba533d24h,07bb4fbdbh,07a2e42c0h,07035385ch,0cfb4879ah,03281705bh,08c3dd30bh,0404fe081h,07e361c6ch,03f604edfh,07b21649ch,0e52ffe47h,05dbf6a3fh - DD 04b54d9bfh,0c41b7c23h,03511c3d9h,01374e681h,0c1b2b758h,01863bf16h,01e9e6a96h,090e78507h,05d86f174h,0ab4bf98dh,085e96fe4h,0d74e0bd3h,0cac5d344h,08afde39fh,0bd91b847h,090946dbch - DD 0fe1a838ch,0f5b42358h,0620ac9d8h,005aae6c5h,0a1ce5a0bh,08e193bd8h,04dabfd72h,08f710571h,0182caaach,08d8fdd48h,0040745cfh,08c4aeefah,0f3b93e6dh,073c6c30ah,016f42011h,0991241f3h - DD 0e457a477h,0a0158eeah,0ee6ddc05h,0d19857dbh,018c41671h,0b3265224h,03c2c0d58h,03ffdfc7eh,026ee7cdah,03a3a5254h,0df02c3a8h,0341b0869h,0723bbfc8h,0a023bf42h,014452691h,03d15002ah - DD 085edfa30h,05ef7324ch,087d4f3dah,025976554h,0dcb50c86h,0352f5bc0h,04832a96ch,08f6927b0h,055f2f94ch,0d08ee1bah,0344b45fah,06a996f99h,0a8aa455dh,0e133cb8dh,0758dc1f7h,05d0721ech - DD 079e5fb67h,06ba7a920h,070aa725eh,0e1331febh,07df5d837h,05080ccf5h,07ff72e21h,0e4cae01dh,00412a77dh,0d9243ee6h,0df449025h,006ff7cach,023ef5a31h,0be75f7cdh,00ddef7a8h,0bc957822h - DD 0b0ce1c55h,08cf7230ch,00bbfb607h,05b534d05h,00e16363bh,0ee1ef113h,0b4999e82h,027e0aa7ah,079362c41h,0ce1dac2dh,091bb6cb0h,067920c90h,02223df24h,01e648d63h,0e32e8f28h,00f7d9eefh - DD 0fa833834h,06943f39ah,0a6328562h,022951722h,04170fc10h,081d63dd5h,0aecc2e6dh,09f5fa58fh,0e77d9a3bh,0b66c8725h,06384ebe0h,011235ceah,05845e24ah,006a8c118h,0ebd093b1h,00137b286h - DD 044ace150h,0c589e1ceh,04381e97ch,0e0f8d3d9h,062c5a4b8h,059e99b11h,0fd0ec9f9h,090d262f7h,0283e13c9h,0fbc854c9h,0aedc7085h,02d04fde7h,047dcbecbh,0057d7765h,09a76fa5fh,08dbdf591h - DD 00de1e578h,0d0150695h,0e9f72bc6h,02e1463e7h,01b39eca5h,0ffa68441h,07c037f2fh,0673c8530h,0747f91dah,0d0d6a600h,0c9cb78e9h,0b08d43e1h,027b5cef5h,00fc0c644h,0a60a2fd6h,05c1d160ah - DD 028c8e13bh,0f98cae53h,0b2eddcd1h,0375f10c4h,05cce06adh,0d4eb8b7fh,080a2e1efh,0b4669f45h,05bbd8699h,0d593f9d0h,0e7976d13h,05528a4c9h,01c7e28d3h,03923e095h,03f6bb577h,0b9293790h - DD 0c42bd6d2h,0db567d6ah,0bb1f96aeh,06df86468h,04843b28eh,00efe5b1ah,06379b240h,0961bbb05h,070a6a26bh,0b6caf5f0h,0328e6e39h,070686c0dh,0895fc8d3h,080da06cfh,0b363fdc9h,0804d8810h - DD 0207f1670h,0be22877bh,04e615291h,09b0dd188h,097a3c2bfh,0625ae8dch,0439b86e8h,008584ef7h,0dcd898ffh,0de7190a5h,02058ee3dh,026286c40h,05f87b1c1h,03db0b217h,0102a6db5h,0cc334771h - DD 02f770fb1h,0d99de954h,04cd7535eh,097c1c620h,03f09cefch,0d3b6c448h,05a63b4f8h,0d725af15h,0c01e20ech,00c95d24fh,09ae7121fh,0dfd37494h,0ec77b7ech,07d6ddb72h,00353a4aeh,0fe079d3bh - DD 02e6ac8d2h,03066e70ah,0106e5c05h,09c6b5a43h,0ede59b8ch,052d3c6f5h,0fccec9aeh,030d6a5c3h,04fc0a9efh,0edec7c22h,095c16cedh,0190ff083h,094de0fdeh,0be12ec8fh,0852d3433h,00d131ab8h - DD 085701291h,042ace07eh,0194061a8h,094793ed9h,0d7f4a485h,030e83ed6h,0f9eeff4dh,09eec7269h,00c9d8005h,090acba59h,01e79b9d1h,05feca458h,01d506a1eh,08fbe5427h,02439cfa7h,0a32b2c8eh - DD 073dd0b4eh,01671c173h,044a054c6h,037a28214h,04e8b53f1h,081760a1bh,0f9f93b9eh,0a6c04224h,0cf671e3ch,018784b34h,0cda9b994h,081bbecd2h,0b2ab3848h,038831979h,0f2e03c2dh,0ef54feb7h - DD 0fb8088fah,0cf197ca7h,04ddc96c5h,001427247h,030777176h,0a2d2550ah,04d0cf71dh,053469898h,03a2aaac6h,06ce937b8h,05af38d9bh,0e9f91dc3h,0c8bf2899h,02598ad83h,0b5536c16h,08e706ac9h - DD 0f688dc98h,040dc7495h,0124c4afch,026490cd7h,01f18775ch,0e651ec84h,0b4fdaf4ah,0393ea6c3h,07f338e0dh,01e1f3343h,06053e7b5h,039fb832bh,0619e14d5h,046e702dah,0cdeef6e0h,0859cacd1h - DD 04462007dh,063b99ce7h,04cb5f5b7h,0b8ab48a5h,0f55edde7h,09ec673d2h,08cfaefdah,0d1567f74h,00887bcech,046381b6bh,0e178f3c2h,0694497ceh,01e6266cbh,05e6525e3h,0697d6413h,05931de26h - DD 00e58d493h,087f8df7ch,058b73f12h,0b1ae5ed0h,0dea0c34dh,0c368f784h,0859a91a0h,09bd0a120h,0cc863c68h,0b00d88b7h,03d1f4d65h,03a1cc11eh,00aa85593h,0ea38e0e7h,07dc4aee8h,037f13e98h - DD 0bc947badh,010d38667h,02a36ee2eh,0738e07ceh,0c577fcach,0c93470cdh,02782470dh,0dee1b616h,02e793d12h,036a25e67h,0e0f186dah,0d6aa6caeh,080e07af7h,0474d0fd9h,0ba8a5cd4h,0f7cdc47dh - DD 0ab15247fh,028af6d9dh,0493a537fh,07c789c10h,023a334e7h,07ac9b110h,012c9c277h,00236ac09h,01d7a5144h,0a7e5bd25h,0f13ec4ech,0098b9c2ah,0d3f0abcah,03639dacah,0a23960f9h,0642da81ah - DD 04f7269b1h,07d2e5c05h,0e287c385h,0fcf30777h,0f2a46f21h,010edc84fh,04f43fa36h,035441757h,0fd703431h,0f1327899h,016dd587ah,0a438d7a6h,0e9c8352dh,065c34c57h,05cc5a24eh,0a728edabh - DD 042531689h,0aed78abch,0010963efh,00a51a0e8h,0d717d9b3h,05776fa0ah,07dd3428bh,0f356c239h,08d3a3dach,029903fffh,03d94491fh,0409597fah,0bf4a56a4h,04cd7a5ffh,08adab462h,0e5096474h - DD 05c3427b0h,0a97b5126h,0d282c9bdh,06401405ch,0222c5c45h,03629f8d7h,0e8d50aedh,0b1c02c16h,0d9635bc9h,0bea2ed75h,06e24552fh,0226790c7h,065f1d066h,03c33f2a3h,06dfccc2eh,02a43463eh - DD 0db483761h,08cc3453ah,065d5672bh,0e7cc6085h,0de3efc87h,0277ed6cbh,069234eafh,019f2f368h,05c0b800bh,09aaf4317h,08b6da6e2h,01f1e7c89h,0b94ec75eh,06cfb4715h,0453118c2h,0d590dd5fh - DD 01f17a34ch,014e49da1h,0235a1456h,05420ab39h,02f50363bh,0b7637241h,0c3fabb6eh,07b15d623h,0e274e49ch,0a0ef40b1h,096b1860ah,05cf50744h,066afe5a4h,0d6583fbfh,0f47e3e9ah,044240510h - DD 011b2d595h,099254343h,0eec8df57h,0f1367499h,03e73dd05h,03cb12c61h,07dac102ah,0d248c033h,0a77739f5h,0cf154f13h,023d2af42h,0bf4288cbh,032e4a1cfh,0aa64c9b6h,0c8a208f3h,0ee8c07a8h - DD 06fe8393fh,0e10d4999h,0e91f3a32h,00f809a3fh,0802f63c8h,061096d1ch,057750d3dh,0289e1462h,09889feeah,0ed06167eh,0e0993909h,0d5c9c0e2h,056508ac6h,046fca0d8h,04f1b8e83h,091826047h - DD 09a4a2751h,04f2c877ah,0cae6feadh,071bd0072h,006aa1941h,038df8dcch,063beeaa8h,05a074b4ch,0c1cec8edh,0d6d65934h,0aabc03bdh,0a6ecb49eh,0de8a8415h,0aade91c2h,0691136e0h,0cfb0efdfh - DD 023ab3495h,011af45eeh,00b77463dh,0a132df88h,0815d06f4h,08923c15ch,00d61a436h,0c3ceb3f5h,0e88fb1dah,0af52291dh,01da12179h,0ea057974h,0d2fef720h,0b0d7218ch,08e1d8845h,06c0899c9h - DD 0752ddad7h,098157504h,0a1a68a97h,0d60bd74fh,0f658fb99h,07047a3a9h,05f8511e4h,01f5d86d6h,04b5a6d88h,0b8a4bc42h,01abefa7dh,069eb2c33h,013c9c510h,095bf39e8h,0d48aab43h,0f571960ah - DD 0704e23c6h,07e8cfbcfh,028aaa65bh,0c71b7d22h,0245e3c83h,0a041b2bdh,0d21854ffh,069b98834h,0963bfeech,089d227a3h,0de7da7cbh,099947aaah,0ee68a9b1h,01d9ee9dbh,0698ec368h,00a08f003h - DD 078ef2487h,0e9ea4094h,002cfec26h,0c8d2d415h,0b7dcf328h,0c52f9a6eh,085b6a937h,00ed489e3h,0bef3366eh,09b94986bh,0edddddb8h,00de59c70h,0eadddbe2h,0ffdb748ch,08266ea40h,09b9784bbh - DD 01a93507ah,0142b5502h,08d3c06cfh,0b4cd1187h,091ec3f40h,0df70e76ah,04e7553c2h,0484e81adh,0272e9d6eh,0830f87b5h,0c6ff514ah,0ea1c93e5h,0c4192a8eh,067cc2adch,042f4535ah,0c77e27e2h - DD 0d2b713c5h,09cdbab36h,0cf7b0cd3h,086274ea0h,009af826bh,0784680f3h,00c72dea3h,0bfcc837ah,0d6529b73h,0a8bdfe9dh,063a88002h,0708aa228h,0c91d45b9h,06c7a9a54h,0fd004f56h,0df1a38bbh - DD 0b8bad853h,02e8c9a26h,03723eae7h,02d52cea3h,056ca2830h,0054d6d81h,09a8dc411h,0a3317d14h,0fd4ddedah,0a08662feh,0b55d792bh,0ed2a153ah,0bfc6e944h,07035c16ah,000171cf3h,0b6bc5834h - DD 083d102b6h,0e27152b3h,00646b848h,0fe695a47h,0916e6d37h,0a5bb09d8h,00d17015eh,0b4269d64h,00a1d2285h,08d8156a1h,046d26d72h,0feef6c51h,04c5434a7h,09dac57c8h,059d39e31h,00282e5beh - DD 0721c486dh,0edfff181h,0bc58824eh,0301baf10h,000570031h,08136a6aah,01cddde68h,055aaf78ch,059c63952h,026829371h,08bc25bafh,03a3bd274h,0b7e52dc3h,0ecdf8657h,0fd78e6c8h,02dd8c087h - DD 0f5531461h,020553274h,05d95499bh,08b4a1281h,01a80f9d2h,0e2c8763ah,04ddec758h,0d1dbe32bh,030c34169h,0af12210dh,078baa533h,0ba74a953h,0a438f254h,03d133c6eh,0201bef5bh,0a431531ah - DD 0f669d7ech,015295e22h,0357fb515h,0ca374f64h,0eaa3fdb3h,08a8406ffh,0df3f2da8h,0106ae448h,033c8e9a1h,08f9b0a90h,071ad5885h,0234645e2h,01c0aed14h,03d083224h,07a942d46h,0f10a7d3eh - DD 040d5c9beh,07c11deeeh,0ba84ed98h,0b2bae7ffh,0aad58dddh,093e97139h,03f6d1fa3h,03d872796h,08569ff13h,0483aca81h,09a600f72h,08b89a5fbh,0c06f2b86h,04cbc27c3h,063ad9c0bh,022130713h - DD 048ac2840h,0b5358b1eh,0ecba9477h,018311294h,0a6946b43h,0da58f990h,09ab41819h,03098baf9h,04198da52h,066c4c158h,0146bfd1bh,0ab4fc17ch,0bf36a908h,02f0a4c3ch,058cf7838h,02ae9e34bh - DD 03fa11b1fh,0f411529eh,0974af2b4h,021e43677h,0c230793bh,07c20958eh,016e840f3h,0710ea885h,0c5dc67cfh,0fc0b21fch,088405718h,008d51647h,0cfe49eb7h,0d955c21fh,056dd4a1fh,09722a5d5h - DD 0c861baa5h,0c9ef50e2h,09505ac3eh,0c0c21a5dh,08b7c063fh,0af6b9a33h,02f4779c1h,0c6370339h,0638167c3h,022df99c7h,0795db30ch,0fe6ffe76h,0a4854989h,02b822d33h,030563aa5h,0fef031ddh - DD 0d57c667fh,016b09f82h,0cc0b76f1h,0c70312ceh,0c9118aech,0bf04a9e6h,03409d133h,082fcb419h,0ab45d44dh,01a8ab385h,0617b83a3h,0fba07222h,058e81b52h,0b05f50ddh,021ce5affh,01d8db553h - DD 0e344a873h,03097b8d4h,0fe36d53eh,07d8d116dh,07875e750h,06db22f58h,043e144eah,02dc5e373h,0e799eb95h,0c05f32e6h,06899e6ech,0e9e5f4dfh,01fab23d5h,0bdc3bd68h,073af60e6h,0b72b8ab7h - DD 02cecc84ah,08db27ae0h,07bdb871ch,0600016d8h,0d7c46f58h,042a44b13h,0c3a77d39h,0b8919727h,0dafd6088h,0cfc6bbbdh,06bd20d39h,01a740146h,098c41072h,08c747abdh,0bdf68ea1h,04c91e765h - DD 008819a78h,07c95e5cah,0c9587921h,0cf48b729h,0debbcc7dh,0091c7c5fh,0f0e05149h,06f287404h,026cd44ech,0f83b5ac2h,0cfea250eh,088ae32a6h,01d06ebc5h,06ac5047ah,0d434f781h,0c7e550b4h - DD 05c727bd2h,061ab1cf2h,01cf915b0h,02e4badb1h,0f69d3920h,01b4dadech,0f14c1dfeh,0e61b1ca6h,0bd6bd51fh,090b479cch,08045ec30h,08024e401h,025ef0e62h,0cab29ca3h,049e4ebc0h,04f2e9416h - DD 00ccced58h,045eb40ech,00da44f98h,025cd4b9ch,0871812c6h,043e06458h,016cef651h,099f80d55h,0ce6dc153h,0571340c9h,0d8665521h,0138d5117h,04e07014dh,0acdb45bch,084b60b91h,02f34bb38h - DD 02ae8921eh,0f44a4fd2h,0892ba1e2h,0b039288eh,0b1c180b2h,09da50174h,01693dc87h,06b70ab66h,0e7057481h,07e9babc9h,09c80dc41h,04581ddefh,051294682h,00c890da9h,03f4736e5h,00b5629d3h - DD 0b06f5b41h,02340c79eh,04e243469h,0a42e84ceh,0045a71a9h,0f9a20135h,0d27b6fb6h,0efbfb415h,09d33cd6fh,025ebea23h,0aa6c0af8h,09caedb88h,0d9ce6f96h,053dc7e9ah,051e0b15ah,03897f9fdh - DD 08e5d788eh,0f51cb1f8h,0e1d490eeh,01aec7ba8h,0cc58cb3ch,0265991e0h,09fc3ad31h,09f306e8ch,05040a0ach,05fed006eh,0fb476f2eh,0ca9d5043h,0beea7a23h,0a19c06e8h,00edabb63h,0d2865801h - DD 06967469ah,0db92293fh,08d8a8ed8h,02894d839h,0bbc77122h,087c9e406h,02ea3a26ah,08671c6f1h,0d7de9853h,0e42df8d6h,0b1f2bcc7h,02e3ce346h,0899d50cfh,0da601dfch,0fb1b598fh,0bfc913deh - DD 0e61f7908h,081c4909fh,09bbc7b29h,0192e304fh,0c104b338h,0c3ed8738h,0783f5d61h,0edbe9e47h,02db30660h,00c06e9beh,0c0eb7d8eh,0da3e613fh,0322e096eh,0d8fa3e97h,0d336e247h,0febd91e8h - DD 0df655a49h,08f13ccc4h,05eb20210h,0a9e00dfch,0c656b6eah,084631d0fh,0d8c0d947h,093a058cdh,067bd3448h,06846904ah,0f394fd5ch,04a3d4e1ah,0db225f52h,0c102c1a5h,0fc4f5e9ah,0e3455bbah - DD 04b9ad1ceh,06b36985bh,05bb7f793h,0a9818536h,048b1a416h,06c25e1d0h,03c81bee7h,01381dd53h,07a4a7620h,0d2a30d61h,039b8944ch,0c8412926h,07a97c33ah,03c1c6fbeh,0938664e7h,0941e541dh - DD 04a34f239h,0417499e8h,0b90402d5h,015fdb83ch,0433aa832h,0b75f46bfh,063215db1h,0b61e15afh,0a127f89ah,0aabe59d4h,007e816dah,05d541e0ch,0a618b692h,0aaba0659h,017266026h,055327733h - DD 095f57552h,0af53a0fch,06cacb0c9h,032947650h,0c821be01h,0253ff58dh,0a06f1146h,0b0309531h,005c2e54dh,059bbbdf5h,026e8dd22h,0158f27adh,0397e1e53h,0cc5b7ffbh,07fc1e50dh,0ae03f65bh - DD 09c95f0f9h,0a9784ebdh,024640771h,05ed9deb2h,0035561c4h,031244af7h,07ee857deh,087332f3ah,02b9e0d88h,009e16e9eh,056a06049h,052d910f4h,0a9592f48h,0507ed477h,02365d678h,085cb917bh - DD 04c8998d1h,0f8511c93h,0730ea58fh,02186a3f1h,0b2029db0h,050189626h,002ceb75ah,09137a6d9h,0748bc82ch,02fe17f37h,080469f8ch,087c2e931h,0bf891aa2h,0850f71cdh,075ec3d8dh,00ca1b89bh - DD 05e1cd3cdh,0516c43aah,09a887c28h,089397808h,0ddea1f9fh,00059c699h,08e6868f7h,07737d6fah,060f1524bh,06d93746ah,0ba052aa7h,036985e55h,0ed923ea5h,041b1d322h,025852a11h,03429759fh - DD 0092e9f41h,0beca6ec3h,062256bbdh,03a238c66h,070ad487dh,0d82958eah,065610d93h,04ac8aaf9h,05e4ccab0h,03fa101b1h,09de14bfbh,09bf430f2h,06531899dh,0a10f5cc6h,0ea8ce17dh,0590005fbh - DD 024544cb6h,0c437912fh,0d79ac2e3h,09987b71ah,0c058a212h,013e3d9ddh,0d2de9606h,000075aach,06cac8369h,080ab508bh,0f54f6c89h,087842be7h,06bc532a4h,0a7ad663dh,078a91bc8h,067813de7h - DD 0c3427239h,05dcb61ceh,0c56934d9h,05f3c7cf0h,0e3191591h,0c079e0fbh,0b01aada7h,0e40896bdh,00492d25fh,08d466791h,0e7408276h,08aeb30c9h,09287aacch,0e9437495h,079fe03d4h,023d4708dh - DD 0d0c05199h,08cda9cf2h,0fae78454h,0502fbc22h,0f572a182h,0c0bda9dfh,06158b372h,05f9b71b8h,02b82dd07h,0e0f33a59h,09523032eh,076302735h,0c4505a32h,07fe1a721h,0f796409fh,07b6e3e82h - DD 035d0b34ah,0e3417bc0h,08327c0a7h,0440b386bh,0ac0362d1h,08fb7262dh,0e0cdf943h,02c41114ch,0ad95a0b1h,02ba5cef1h,067d54362h,0c09b37a8h,001e486c9h,026d6cdd2h,042ff9297h,020477abfh - DD 0292a9287h,0a004dcb3h,077b092c7h,0ddc15cf6h,0806c0605h,0083a8464h,03db997b0h,04a68df70h,005bf7dd0h,09c134e45h,08ccf7f8ch,0a4e63d39h,041b5f8afh,0a6e6517fh,0ad7bc1cch,0aa8b9342h - DD 01e706ad9h,0126f35b5h,0c3a9ebdfh,0b99cebb4h,0bf608d90h,0a75389afh,0c6c89858h,076113c4fh,097e2b5aah,080de8eb0h,063b91304h,07e1022cch,06ccc066ch,03bdab605h,0b2edf900h,033cbb144h - DD 07af715d2h,0c4176471h,0d0134a96h,0e2f7f594h,0a41ec956h,02c1873efh,077821304h,0e4e7b4f6h,088d5374ah,0e5c8ff97h,080823d5bh,02b915e63h,0b2ee8fe2h,0ea6bc755h,0e7112651h,06657624ch - DD 0dace5acah,0157af101h,011a6a267h,0c4fdbcf2h,0c49c8609h,0daddf340h,0e9604a65h,097e49f52h,0937e2ad5h,09be8e790h,0326e17f1h,0846e2508h,00bbbc0dch,03f38007ah,0b11e16d6h,0cf03603fh - DD 07442f1d5h,0d6f800e0h,066e0e3abh,0475607d1h,0b7c64047h,082807f16h,0a749883dh,08858e1e3h,08231ee10h,05859120bh,0638a1eceh,01b80e7ebh,0c6aa73a4h,0cb72525ah,0844423ach,0a7cdea3dh - DD 0f8ae7c38h,05ed0c007h,03d740192h,06db07a5ch,05fe36db3h,0be5e9c2ah,076e95046h,0d5b9d57ah,08eba20f2h,054ac32e7h,071b9a352h,0ef11ca8fh,0ff98a658h,0305e373eh,0823eb667h,0ffe5a100h - DD 0e51732d2h,057477b11h,02538fc0eh,0dfd6eb28h,03b39eec5h,05c43b0cch,0cb36cc57h,06af12778h,006c425aeh,070b0852dh,05c221b9bh,06df92f8ch,0ce826d9ch,06c8d4f9eh,0b49359c3h,0f59aba7bh - DD 0da64309dh,05c8ed8d5h,091b30704h,061a6de56h,02f9b5808h,0d6b52f6ah,098c958a7h,00eee4194h,0771e4caah,0cddd9aabh,078bc21beh,083965dfdh,0b3b504f5h,002affce3h,0561c8291h,030847a21h - DD 052bfda05h,0d2eb2cf1h,06197b98ch,0e0e4c4e9h,0f8a1726fh,01d35076ch,02db11e3dh,06c06085bh,04463ba14h,015c0c4d7h,00030238ch,09d292f83h,03727536dh,01311ee8bh,0beaedc1eh,0feea86efh - DD 066131e2eh,0b9d18cd3h,080fe2682h,0f31d974fh,0e4160289h,0b6e49e0fh,008e92799h,07c48ec0bh,0d1989aa7h,0818111d8h,0ebf926f9h,0b34fa0aah,0a245474ah,0db5fe2f5h,03c7ca756h,0f80a6ebbh - DD 0afa05dd8h,0a7f96054h,0fcaf119eh,026dfcf21h,00564bb59h,0e20ef2e3h,061cb02b8h,0ef4dca50h,065d30672h,0cda7838ah,0fd657e86h,08b08d534h,046d595c8h,04c5b4395h,0425cb836h,039b58725h - DD 03de9abe3h,08ea61059h,09cdc03beh,040434881h,0cfedce8ch,09b261245h,0cf5234a1h,078c318b4h,0fde24c99h,0510bcf16h,0a2c2ff5dh,02a77cb75h,027960fb4h,09c895c2bh,0b0eda42bh,0d30ce975h - DD 01a62cc26h,0fda85393h,050c0e052h,023c69b96h,0bfc633f3h,0a227df15h,01bae7d48h,02ac78848h,0187d073dh,0487878f9h,0967f807dh,06c2be919h,0336e6d8fh,0765861d8h,0ce528a43h,088b8974ch - DD 0ff57d051h,009521177h,0fb6a1961h,02ff38037h,0a3d76ad4h,0fc0aba74h,025a7ec17h,07c764803h,048879bc8h,07532d75fh,058ce6bc1h,0ea7eacc0h,08e896c16h,0c82176b4h,02c750fedh,09a30e0b2h - DD 0421d3aa4h,0c37e2c2eh,0e84fa840h,0f926407ch,01454e41ch,018abc03dh,03f7af644h,026605ecdh,0d6a5eabfh,0242341a6h,0216b668eh,01edb84f4h,004010102h,0d836edb8h,0945e1d8ch,05b337ce7h - DD 0c055dc14h,0d2075c77h,081d89cdfh,02a0ffa25h,06ffdcbafh,08ce815eah,0fb648867h,0a3428878h,0884655fbh,0277699cfh,0364d3e41h,0fa5b5bd6h,0441e1cb7h,001f680c6h,0b70a7d67h,03fd61e66h - DD 0cc78cf66h,0666ba2dch,06fdbff77h,0b3018174h,0168d4668h,08d4dd0dbh,01dab3a2ah,0259455d0h,0cde3acech,0f58564c5h,013adb276h,077141925h,08a303f65h,0527d725dh,0e6f38f7bh,055deb6c9h - DD 0b1fa70fbh,0fd5bb657h,0d8073a00h,0fa07f50fh,0bca02500h,0f72e3aa7h,09975740dh,0f68f895dh,05cae2a6ah,030112060h,002874842h,001bd7218h,07ce47bd3h,03d423891h,0789544f6h,0a66663c1h - DD 03272d838h,0864d05d7h,0fa6295c5h,0e22924f9h,06c2fda32h,08189593fh,0b184b544h,0330d7189h,0bde1f714h,079efa62ch,0e5cb1a63h,035771c94h,0641c8332h,02f4826b8h,0c8cee854h,000a894fbh - DD 036194d40h,0b4b9a39bh,077612601h,0e857a7c5h,04ecf2f58h,0f4209dd2h,05a033487h,082b9e66dh,0e4e8b9ddh,0c1e36934h,0a42377d7h,0d2372c9dh,00e3ae43bh,051dc94c7h,004474f6fh,04c57761eh - DD 01058a318h,0dcdacd0ah,078053a9ah,0369cf3f5h,031c68de2h,0c6c3de50h,03c4b6d9fh,04653a576h,0aa4e5c97h,01688dd5ah,0b7ab3c74h,05be80aa1h,0bc65c283h,070cefe7ch,006867091h,057f95f13h - DD 04415503bh,0a39114e2h,04cbb17e9h,0c08ff7c6h,0d7dec966h,01eff674dh,053376f63h,06d4690afh,0ea74237bh,0ff6fe32eh,0cd57508eh,0c436d17eh,0edcc40feh,015aa28e1h,0581bbb44h,00d769c04h - DD 034eaacdah,0c240b6deh,02ba0f1deh,0d9e116e8h,079438e55h,0cbe45ec7h,096f752d7h,091787c9dh,0f129ac2fh,0897f532bh,05a36e22ch,0d307b7c8h,0749fb8f3h,091940675h,0157fdb28h,0d14f95d0h - DD 06ae55043h,0fe51d029h,044a87de1h,08931e98fh,009e4fee2h,0e57f1cc6h,04e072d92h,00d063b67h,0ed0e4316h,070a998b9h,0306aca46h,0e74a736bh,04fda97c7h,0ecf0fbf2h,03e178d93h,0a40f65cbh - DD 016df4285h,016253604h,0d0c56ae2h,0b0c9babbh,0cfc5cfc3h,073032b19h,009752056h,0e497e5c3h,0164bda96h,012096bb4h,0a0b74da1h,01ee42419h,0403826bah,08fc36243h,0dc09e660h,00c8f0069h - DD 0c27253c9h,08667e981h,092b36a45h,005a6aefbh,09cb7bb46h,0a62c4b36h,011f7027bh,08394f375h,05f109d0fh,0747bc79ch,05b8cc60ah,0cad88a76h,058f09e68h,080c5a66bh,0f6127each,0e753d451h - DD 05b0ec6f5h,0c44b74a1h,05289b2b8h,047989fe4h,058d6fc73h,0745f8484h,0f61c70abh,0ec362a6fh,0b3a8ad41h,0070c98a7h,07b63db51h,073a20fc0h,0f44c35f4h,0ed2c2173h,09acc9dcah,08a56149dh - DD 09ac6e0f4h,098f17881h,0a413b5edh,0360fdeafh,0a300b0fdh,00625b8f4h,05b3222d3h,0f1f4d76ah,0587f76b8h,09d6f5109h,02317fdb5h,08b4ee08dh,08c68b095h,088089bb7h,05808d9b9h,095570e9ah - DD 035d33ae7h,0a395c36fh,050bb5a94h,0200ea123h,00bafe84bh,020c789bdh,00919276ah,0243ef52dh,0e23ae233h,03934c577h,0a460d1ech,0b93807afh,0f8fa76a4h,0b72a53b1h,0c3ca4491h,0d8914cb0h - DD 03fb42622h,02e128494h,0500907d5h,03b2700ach,01a95ec63h,0f370fb09h,031b6dfbdh,0f8f30be2h,069e55f15h,0f2b2f8d2h,0cc1323e9h,01fead851h,0d9e5eef6h,0fa366010h,0e316107eh,064d487b0h - DD 0d23ddc82h,04c076b86h,07e0143f0h,003fd344ch,0317af2c5h,0a95362ffh,0e18b7a4fh,00add3db7h,08260e01bh,09c673e3fh,054a1cc91h,0fbeb49e5h,092f2e433h,091351bf2h,0851141ebh,0c755e7ech - DD 029607745h,0c9a95139h,0a26f2b28h,00ca07420h,04bc6f9ddh,0cb2790e7h,0adcaffc0h,0345bbb58h,0be0f27a2h,0c65ea38ch,0641fcb56h,067c24d7ch,0a9e2c757h,02c25f0a7h,016f16c49h,093f5cdb0h - DD 0c5ee30a1h,02ca5a9d7h,0b909b729h,0d1593635h,0dadeff48h,0804ce9f3h,0b07c30c3h,0ec464751h,09e49af6ah,089d65ff3h,06f3d01bch,0f2d6238ah,00bced843h,01095561eh,0c8a13fd8h,051789e12h - DD 0763231dfh,0d633f929h,0e7cbddefh,046df9f7dh,0cb265da8h,001c889c0h,0af4336d2h,0fce1ad10h,0fc6a0a7eh,08d110df6h,06da425dch,0dd431b98h,01834aabeh,0cdc4aeabh,08439b7fch,084deb124h - DD 03c2a5998h,08796f169h,07947190dh,09b9247b4h,011597014h,055b9d9a5h,07b1566eeh,07e9dd70dh,0cbcd5e64h,094ad78f7h,09bd4c032h,00359ac17h,07cc222aeh,03b11baafh,0ba78e812h,0a6a6e284h - DD 024cea1a0h,08392053fh,033621491h,0c97bce4ah,035399ee9h,07eb1db34h,0ece81ad1h,0473f78efh,0f63d3d0dh,041d72fe0h,0afab62fch,0e620b880h,093158383h,092096bc9h,08f896f6ch,041a21357h - DD 0c7dcfcabh,01b5ee2fah,09546e007h,0650acfdeh,0b1b02e07h,0c081b749h,0f9eca03dh,0da9e41a0h,0175a54abh,0013ba727h,0ea5d8d10h,0ca0cd190h,095fd96a9h,085ea52c0h,0bc5c3940h,02c591b9fh - DD 02bad4d5fh,06fb4d4e4h,0fef0059bh,0fa4c3590h,0f5122294h,06a10218ah,0a85751d1h,09a78a81ah,0a98e84e7h,004f20579h,04997e5b5h,0fe1242c0h,0ca21e1e4h,0e77a273bh,09411939dh,0fcc8b1efh - DD 092d0487ah,0e20ea302h,0294b91feh,01442dbech,0bb6b0e8fh,01f7a4afeh,06889c318h,01700ef74h,070f1fc62h,0f5bbffc3h,069c79ccah,03b31d4b6h,0a7f6340dh,0e8bc2aabh,0a725e10ah,0b0b08ab4h - DD 0ae340050h,044f05701h,01cf0c569h,0ba4b3016h,0fbe19a51h,05aa29f83h,0b71d752eh,01b9ed428h,0eb4819f5h,01666e54eh,09e18b75bh,0616cdfedh,03ee27b0bh,0112ed5beh,044c7de4dh,0fbf28319h - DD 0e0e60d84h,0d685ec85h,01db7ee78h,068037e30h,0003c4d6eh,05b65bdcdh,093e29a6ah,033e7363ah,008d0756ch,0995b3a61h,02faf134bh,0d727f85ch,01d337823h,0fac6edf7h,00439b8b4h,099b9aa50h - DD 0e2b4e075h,0722eb104h,0437c4926h,049987295h,046a9b82dh,0b1e4c0e4h,057a006f5h,0d0cb3197h,0d7808c56h,0f3de0f7dh,051f89772h,0b5c54d8fh,0adbd31aah,0500a114ah,0295f6cabh,09afaaaa6h - DD 004cf667ah,094705e21h,09d3935d7h,0fc2a811bh,06d09267ch,0560b0280h,0f780e53bh,0f19ed119h,0067b6269h,0f0227c09h,05caef599h,0967b8533h,068efeebch,0155b9243h,0c497bae6h,0cd6d34f5h - DD 06cceb370h,01dd8d5d3h,0a78d7bf9h,02aeac579h,070b67a62h,05d65017dh,017c53f67h,070c8e44fh,086a34d09h,0d1fc0950h,0e7134907h,0e0fca256h,080fdd315h,0e24fa29ch,0d87499adh,02c4acd03h - DD 03b5a9ba6h,0baaf7517h,012e51a51h,0b9cbe1f6h,05e154897h,0d88edae3h,077b66ca0h,0e4309c3ch,0f67f3746h,0f5555805h,0a36401ffh,085fc37bah,0d9499a53h,0df86e2cah,0ecbc955bh,06270b2a3h - DD 0974ad33bh,0afae64f5h,0fe7b2df1h,004d85977h,04ab03f73h,02a3db3ffh,08702740ah,00b87878ah,05a061732h,06d263f01h,0a32a1901h,0c25430ceh,0db155018h,0f7ebab3dh,063a9b78eh,03a86f693h - DD 0da9f3804h,0349ae368h,0a164349ch,0470f07feh,08562baa5h,0d52f4cc9h,02b290df3h,0c74a9e86h,043471a24h,0d3a1aa35h,0b8194511h,0239446beh,081dcd44dh,0bec2dd00h,0c42ac82dh,0ca3d7f0fh - DD 0fdaf4520h,01f3db085h,04549daf2h,0bb6d3e80h,019ad5c42h,0f5969d8ah,0dbfd1511h,07052b13dh,0682b9060h,011890d1bh,0ac34452ch,0a71d3883h,0783805b4h,0a438055bh,04725b23eh,043241277h - DD 04901bbedh,0f20cf96eh,0f432a2bbh,06419c710h,0dfa9cd7dh,057a0fbb9h,000daa249h,0589111e4h,07b60554eh,019809a33h,0ede283a4h,0ea5f8887h,0503bfd35h,02d713802h,0585d2a53h,0151bb0afh - DD 043b30ca8h,040b08f74h,0d9934583h,0e10b5bbah,0b51110adh,0e8a546d6h,028e0b6c5h,01dd50e66h,0cff2b821h,0292e9d54h,047281760h,03882555dh,03724d6e3h,0134838f8h,022ddcda1h,0f2c679e0h - DD 06d2a5768h,040ee8815h,01c1e7e2dh,07f227bd2h,0d04ff443h,0487ba134h,0c614e54bh,076e2ff3dh,0a3177ec7h,036b88d6fh,02328fff5h,0bf731d51h,049ba158eh,0758caea2h,002938188h,05ab8ff4ch - DD 035edc56dh,033e16056h,07e940d79h,05a69d349h,003866dcbh,06c4fd001h,04893cdefh,020a38f57h,0fac3a15bh,0fbf3e790h,07a4f8e6bh,06ed7ea2eh,0bc3aca86h,0a663eb4fh,0080d53f7h,022061ea5h - DD 0f546783fh,02480dfe6h,05a0a641eh,0d38bc6dah,02ede8965h,0fb093cd1h,0acb455cfh,089654db4h,026e1adeeh,0413cbf9ah,0373294d4h,0291f3764h,0648083feh,000797257h,0208cc341h,025f504d3h - DD 0c3a0ee43h,0635a8e5eh,0679898ffh,070aaebcah,05dc63d56h,09ee9f547h,0ffb34d00h,0ce987966h,05e26310ah,0f9f86b19h,0382a8ca8h,09e435484h,0c2352fe4h,0253bcb81h,04474b571h,0a4eac8b0h - DD 0c1ad8cf8h,0c1b97512h,099e0b697h,0193b4e9eh,001e85df0h,0939d2716h,0cd44eafdh,04fb265b3h,0e51e1ae2h,0321e7dcdh,0e3d8b096h,08e3a8ca6h,052604998h,08de46cb0h,039072aa7h,091099ad8h - DD 093aa96b8h,02617f91ch,07fca2e13h,00fc8716bh,095328723h,0a7106f5eh,0262e6522h,0d1c9c40bh,042b7c094h,0b9bafe86h,01543c021h,01873439dh,05cbefd5dh,0e1baa5deh,0521e8affh,0a363fc5eh - DD 0f862eaach,0efe6320dh,022c647dch,014419c63h,04e46d428h,00e06707ch,04a178f8fh,0cb6c834fh,0d30f917ch,00f993a45h,09879afeeh,0d4c4b049h,070500063h,0b6142a1eh,0a5d9d605h,07c9b41c3h - DD 02f8ba2c7h,0bc00fc2fh,07c67aa28h,00966eb2fh,05a786972h,013f7b516h,08a2fbba0h,03bfb7557h,05a2b9620h,0131c4f23h,06faf46beh,0bff3ed27h,07e172323h,09b4473d1h,0339f6246h,0421e8878h - DD 025a41632h,00fa8587ah,0a35b6c93h,0c0814124h,059ebb8dbh,02b18a9f5h,076edb29ch,0264e3357h,0c87c51e2h,0af245ccdh,0501e6214h,016b3015bh,00a3882ceh,0bb31c560h,0fec11e04h,06961bb94h - DD 0eff7a3a0h,03b825b8dh,0b1df7326h,0bec33738h,099604a1fh,068ad747ch,09a3bd499h,0d154c934h,01cc7a906h,0ac33506fh,06c560e8fh,073bb5392h,0263e3944h,06428fcbeh,01c387434h,0c11828d5h - DD 03e4b12ffh,03cd04be1h,02d88667ch,0c3aad9f9h,0248120cfh,0c52ddcf8h,02a389532h,0985a892eh,03bb85fa0h,0fbb4b21bh,08dfc6269h,0f95375e0h,07ee2aceah,0fb4fb06ch,0309c4d1fh,06785426eh - DD 0d8ceb147h,0659b17c8h,0b70a5554h,09b649eeeh,0ac6bc634h,06b7fa0b5h,01d6e732fh,0d99fe2c7h,08d3abba2h,030e6e762h,0a797b799h,018fee6e7h,0c696464dh,05c9d360dh,027bfde12h,0e3baeb48h - DD 0f23206d5h,02bf5db47h,01d260152h,02f6d3420h,03f8ff89ah,017b87653h,0378fa458h,05157c30ch,02d4fb936h,07517c5c5h,0e6518cdch,0ef22f7ach,0bf847a64h,0deb483e6h,092e0fa89h,0f5084558h - DD 0df7304d4h,0ab9659d8h,0ff210e8eh,0b71bcf1bh,0d73fbd60h,0a9a2438bh,05d11b4deh,04595cd1fh,04835859dh,09c0d329ah,07dbb6e56h,04a0f0d2dh,0df928a4eh,0c6038e5eh,08f5ad154h,0c9429621h - DD 0f23f2d92h,091213462h,060b94078h,06cab71bdh,0176cde20h,06bdd0a63h,0ee4d54bch,054c9b20ch,09f2ac02fh,03cd2d8aah,0206eedb0h,003f8e617h,093086434h,0c7f68e16h,092dd3db9h,0831469c5h - DD 08f981354h,08521df24h,03588a259h,0587e23ech,0d7a0992ch,0cbedf281h,038961407h,006930a55h,0be5bbe21h,009320debh,02491817fh,0a7ffa5b5h,009065160h,0e6c8b4d9h,0fff6d2a9h,0ac4f3992h - DD 03ae9c1bdh,07aa7a158h,0e37ce240h,0e0af6d98h,028ab38b4h,0e54342d9h,00a1c98cah,0e8b75007h,0e02358f2h,0efce86afh,0ea921228h,031b8b856h,00a1c67fch,0052a1912h,0e3aead59h,0b4069ea4h - DD 07fa03cb3h,03232d6e2h,00fdd7d88h,0db938e5bh,02ccbfc5dh,004c1d2cdh,0af3a580fh,0d2f45c12h,07883e614h,0592620b5h,0be7c5f26h,05fd27e68h,01567e1e3h,0139e45a9h,044d8aaafh,02cc71d2dh - DD 0e36d0757h,04a9090cdh,0d9a29382h,0f722d7b1h,004b48ddfh,0fb7fb04ch,0ebe16f43h,0628ad2a7h,020226040h,0cd3fbfb5h,05104b6c4h,06c34ecb1h,0c903c188h,030c0754eh,02d23cab0h,0ec336b08h - DD 01e206ee5h,0473d62a2h,08c49a633h,0f1e27480h,0e9f6b2c3h,087ab956ch,062b606eah,061830b48h,0e78e815fh,067cd6846h,04c02082ah,0fe40139fh,0952ec365h,052bbbfcbh,06b9836abh,074c11642h - DD 0558df019h,09f51439eh,0ac712b27h,0230da4bah,055185a24h,0518919e3h,084b78f50h,04dcefcddh,0a47d4c5ah,0a7d90fb2h,0b30e009eh,055ac9abfh,074eed273h,0fd2fc359h,0dbea8fafh,0b72d824ch - DD 04513e2cah,0ce721a74h,038240b2ch,00b418612h,0d5baa450h,005199968h,02b0e8c25h,0eb1757edh,03dfac6d5h,06ebc3e28h,048a237f5h,0b2431e2eh,052f61499h,02acb5e23h,0e06c936bh,05558a2a7h - DD 0cbb13d1bh,0d213f923h,05bfb9bfeh,098799f42h,0701144a9h,01ae8ddc9h,04c5595eeh,00b8b3bb6h,03ecebb21h,00ea9ef2eh,03671f9a7h,017cb6c4bh,0726f1d1fh,047ef464fh,06943a276h,0171b9484h - DD 07ef0329ch,051a4ae2dh,091c4402ah,008509222h,0afd45bbch,064a61d35h,03035a851h,038f096feh,0a1dec027h,0c7468b74h,04fc7dcbah,0e8cf10e7h,0f4a06353h,0ea35ff40h,08b77dd66h,00b4c0dfah - DD 0de7e5c19h,0779b8552h,0c1c0256ch,0fab28609h,0abd4743dh,064f58eeeh,07b6cc93bh,04e8ef838h,04cb1bf3dh,0ee650d26h,073dedf61h,04c1f9d09h,0bfb70cedh,0aef7c9d7h,01641de1eh,01ec0507eh - DD 0cde45079h,0cd7e5cc7h,0516ac9e4h,0de173c9ah,0c170315ch,0517a8494h,091d8e8fbh,0438fd905h,0c7d9630bh,05145c506h,0f47d4d75h,06457a87bh,00d9a80e8h,0d31646bfh,0cef3aabeh,0453add2bh - DD 0a607419dh,0c9941109h,0bb6bca80h,0faa71e62h,007c431f3h,034158c13h,0992bc47ah,0594abebch,0eb78399fh,06dfea691h,03f42cba4h,048aafb35h,0077c04f0h,0edcd65afh,0e884491ah,01a29a366h - DD 01c21f2bfh,0023a40e5h,0a5057aeeh,0f99a513ch,0bcab072eh,0a3fe7e25h,040e32bcfh,08568d2e1h,0d3f69d9fh,0904594ebh,007affab1h,0181a9733h,0b6e330f4h,0e4d68d76h,0c75a7fc1h,087a6dafbh - DD 0ef7d9289h,0549db2b5h,0197f015ah,02480d4a8h,0c40493b6h,061d5590bh,06f780331h,03a55b52eh,0309eadb0h,040eb8115h,092e5c625h,0dea7de5ah,0cc6a3d5ah,064d631f0h,093e8dd61h,09d5e9d7ch - DD 0206d3ffch,0f297bef5h,07d808bd4h,023d5e033h,0d24cf5bah,04a4f6912h,009cdaa8ah,0e4d8163bh,0d3082e8eh,00e0de9efh,00192f360h,04fe1246ch,04b8eee0ah,01f900150h,0f1da391bh,05219da81h - DD 0f7ea25aah,07bf6a5c1h,0fbb07d5fh,0d165e6bfh,089e78671h,0e3539361h,02bac4219h,0a3fcac89h,0f0baa8abh,0dfab6fd4h,0e2c1c2e5h,05a4adac1h,040d85849h,06cd75e31h,019b39181h,0ce263feah - DD 007032c72h,0cb6803d3h,0790968c8h,07f40d5ceh,0dce978f0h,0a6de86bdh,0368f751ch,025547c4fh,065fb2a9eh,0b1e685fdh,01eb9179ch,0ce69336fh,012504442h,0b15d1c27h,0b911a06bh,0b7df465ch - DD 0315980cdh,0b8d804a3h,0fa3bebf7h,0693bc492h,02253c504h,03578aeeeh,0cd2474a2h,0158de498h,0cfda8368h,01331f5c7h,078d7177eh,0d2d7bbb3h,0f3c1e46eh,0df61133ah,0d30e7be8h,05836ce7dh - DD 094f834cbh,083084f19h,0429ed782h,0d35653d4h,059e58243h,0a542f16fh,00470a22dh,0c2b52f65h,018f23d96h,0e3b6221bh,03f5252b4h,0cb05abach,087d61402h,0ca00938bh,0411933e4h,02f186cddh - DD 09a29a5c5h,0e042ece5h,03b6c8402h,0b19b3c07h,019d92684h,0c97667c7h,0ebc66372h,0b5624622h,03c04fa02h,00cb96e65h,08eaa39aah,083a7176ch,0eaa1633fh,02033561dh,04533df73h,045a9d086h - DD 03dc090bch,0e0542c1dh,0aa59c167h,082c996efh,00ee7fc4dh,0e3f735e8h,07c35db79h,07b179393h,0f8c5dbfdh,0b6419e25h,01f327b04h,04d9d7a1eh,0298dfca8h,0979f6f9bh,08de9366ah,0c7c5dff1h - DD 004c82bddh,01b7a588dh,0f8319dfdh,068005534h,0d8eb9580h,0de8a55b5h,08d5bca81h,05ea886dah,0252a0b4dh,0e8530a01h,035eaa0a1h,01bffb4feh,0d8e99563h,02ad828b1h,095f9cd87h,07de96ef5h - DD 0d77d970ch,04abb2d0ch,0d33ef9cbh,003cfb933h,08b211fe9h,0b0547c01h,0a56ed1c6h,02fe64809h,0c2ac98cch,0cb7d5624h,01a393e33h,02a1372c0h,029660521h,0c8d1ec1ch,0b37ac3e9h,0f3d31b04h - DD 05ece6e7ch,0a29ae9dfh,00facfb55h,00603ac8fh,0dda233a5h,0cfe85b7ah,0bd75f0b8h,0e618919fh,099bf1603h,0f555a3d2h,0f184255ah,01f43afc9h,0319a3e02h,0dcdaf341h,003903a39h,0d3b117efh - DD 065d1d131h,0e095da13h,0c37ad03eh,086f16367h,0462cd8ddh,05f37389eh,0d67a60e6h,0c103fa04h,0f4b478f0h,057c34344h,0e117c98dh,0ce91edd8h,0231fc12eh,0001777b0h,0b207bccbh,011ae47f2h - DD 020f8a242h,0d983cf8dh,0f22e1ad8h,07aff5b1dh,07fc4feb3h,068fd11d0h,0b0f1c3e1h,05d53ae90h,0ec041803h,050fb7905h,014404888h,085e3c977h,0ac628d8fh,00e67faedh,06668532ch,02e865150h - DD 06a67a6b0h,015acaaa4h,0b25cec41h,0f4cdee25h,0e4c6701eh,049ee565ah,0fc7d63d8h,02a04ca66h,0ef0543fbh,0eb105018h,0d1b0d81dh,0f709a4f5h,02915d333h,05b906ee6h,096f1f0abh,0f4a87412h - DD 04d82f4c2h,0b6b82fa7h,06804efb3h,090725a60h,0adc3425eh,0bc82ec46h,02787843eh,0b7b80581h,0dd1fc74ch,0df46d91ch,0e783a6c4h,0dc1c62cbh,01a04cbbah,059d1b9f3h,095e40764h,0d87f6f72h - DD 0317f4a76h,002b4cfc1h,091036bceh,08d2703ebh,0a5e72a56h,098206cc6h,0cf53fb0fh,057be9ed1h,0ef0b17ach,009374571h,0d9181b38h,074b2655eh,089935d0eh,0c8f80ea8h,091529936h,0c0d9e942h - DD 01e84e0e5h,019686041h,0aea34c93h,0a5db84d3h,07073a732h,0f9d5bb19h,06bcfd7c0h,0b8d2fe56h,0f3eb82fah,045775f36h,0fdff8b58h,08cb20ccch,08374c110h,01659b65fh,0330c789ah,0b8b4a422h - DD 06fe8208bh,075e3c3eah,0286e78feh,0bd74b9e4h,0d7d93a1ah,00be2e81bh,0dd0a5aaeh,07ed06e27h,06be8b800h,0721f5a58h,0d846db28h,0428299d1h,05be88ed3h,095cb8e6bh,01c034e11h,0c3186b23h - DD 08977d99bh,0a6312c9eh,083f531e7h,0be944331h,018d3b1d4h,08232c0c2h,0e1247b73h,0617aae8bh,0282aec3bh,040153fc4h,0f7b8f823h,0c6063d2fh,03304f94ch,068f10e58h,0ee676346h,031efae74h - DD 040a9b97ch,0badb6c6dh,04f666256h,014702c63h,05184b2e3h,0deb954f1h,094b6ca40h,05184a526h,0003c32eah,0fff05337h,0205974c7h,05aa374ddh,04b0dd71ah,09a763854h,0deb947ech,0459cd27fh - DD 0459c2b92h,0a6e28161h,075ee8ef5h,02f020fa8h,030b06310h,0b132ec2dh,0bc6a4530h,0c3e15899h,0aa3f451ah,0dc5f53feh,0c2d9acach,03a3c7f23h,06b27e58bh,02ec2f892h,0d742799fh,068466ee7h - DD 01fa26613h,098324dd4h,0bdc29d63h,0a2dc6dabh,0d712d657h,0f9675faah,021fd8d15h,0813994beh,0fd4f7553h,05ccbb722h,0f3a36b20h,05135ff8bh,069559df5h,044be28afh,09d41bf30h,040b65bedh - DD 03734e520h,0d98bf2a4h,0209bdcbah,05e3abbe3h,0bc945b35h,077c76553h,0c6ef14aah,05331c093h,076b60c80h,0518ffe29h,07ace16f8h,02285593bh,0be2b9784h,0ab1f64cch,0ab2421b6h,0e8f2c0d9h - DD 0c1df065ch,0617d7174h,05f6578fah,0afeeb5abh,0263b54a8h,016ff1329h,0c990dce3h,045c55808h,0ecc8c177h,042eab6c0h,05982ecaah,0799ea9b5h,0b607ef8eh,0f65da244h,032a3fc2ch,08ab226ceh - DD 07ea973dch,0745741e5h,020888f2eh,05c00ca70h,045fd9cf1h,07cdce3cfh,05507f872h,08a741ef1h,0196b4cech,047c51c2fh,0c97ea618h,070d08e43h,015b18a2bh,0930da15ch,02f610514h,033b6c678h - DD 007ac9794h,0c662e4f8h,0ba06cb79h,01eccf050h,0e7d954e5h,01ff08623h,024cf71c3h,06ef2c5fbh,067978453h,0b2c063d2h,01d654af8h,0a0cf3796h,07ebdaa37h,07cb242eah,0b86747e0h,0206e0b10h - DD 0d5ecfefch,0481dae5fh,0c2bff8fch,007084fd8h,0ea324596h,08040a01ah,0d4de4036h,04c646980h,0d65abfc3h,09eb8ab4eh,013541ec7h,0e01cb91fh,0fd695012h,08f029adbh,03c7569ech,09ae28483h - DD 0a66d80a1h,0a5614c9eh,075f5f911h,0680a3e44h,0ceba4fc1h,00c07b14dh,0a13071c1h,0891c285bh,0799ece3ch,0cac67cebh,041e07e27h,029b910a9h,0f2e43123h,066bdb409h,07ac9ecbeh,006f8b137h - DD 038547090h,05981fafdh,085e3415dh,019ab8b9fh,0c7e31b27h,0fc28c194h,06fbcbb42h,0843be0aah,0a6db836ch,0f3b1ed43h,001a45c05h,02a1330e4h,095c1a377h,04f19f3c5h,044b5ee33h,0a85f39d0h - DD 04ae52834h,03da18e6dh,07423dcb0h,05a403b39h,0f2374aefh,0bb555e0ah,01e8ca111h,02ad599c4h,0014b3bf8h,01b3a2fb9h,0f66d5007h,073092684h,0c4340102h,0079f1426h,08fddf4deh,01827cf81h - DD 0f10ff927h,0c83605f6h,023739fc6h,0d3871451h,0cac1c2cch,06d163450h,0a2ec1ac5h,06b521296h,06e3cb4a5h,00606c4f9h,0778abff7h,0e47d3f41h,0be8e3a45h,0425a8d5eh,0a6102160h,053ea9e97h - DD 039cbb688h,0477a106eh,0f3386d32h,0532401d2h,0b1b9b421h,08e564f64h,081dad33fh,0ca9b8388h,02093913eh,0b1422b4eh,069bc8112h,0533d2f92h,0ebe7b2c7h,03fa017beh,0caf197c6h,0b2767c4ah - DD 0aedbae9fh,0c925ff87h,036880a54h,07daf0eb9h,09c4d0e71h,09284ddf5h,0316f8cf5h,01581cf93h,03ac1f452h,03eeca887h,0fb6aeffeh,0b417fce9h,0eefb8dc3h,0a5918046h,002209400h,073d318ach - DD 0728693e5h,0e800400fh,0339927edh,0e87d814bh,057ea9910h,093e94d3bh,02245fb69h,0ff8a35b6h,07f200d34h,0043853d7h,00f653ce1h,0470f1e68h,059a06379h,081ac05bdh,003930c29h,0a14052c2h - DD 026bc2797h,06b72fab5h,099f16771h,013670d16h,01e3e48d1h,000170052h,0b7adf678h,0978fe401h,0d41c5dd4h,055ecfb92h,0c7b27da5h,05ff8e247h,0013fb606h,0e7518272h,02f547a3ch,05768d7e5h - DD 060017a5fh,0bb24eaa3h,09c64ce9bh,06b18e6e4h,0103dde07h,0c225c655h,07592f7eah,0fc3672aeh,0d06283a1h,09606ad77h,0e4d59d99h,0542fc650h,02a40e7c2h,0abb57c49h,0a8db9f55h,0ac948f13h - DD 0b04465c3h,06d4c9682h,06468bd15h,0e3d062fah,05f318d7eh,0a51729ach,09eb6fc95h,01fc87df6h,00591f652h,063d146a8h,0589621aah,0a861b8f7h,0ce31348ch,059f5f15ah,0440da6dah,08f663391h - DD 0b591ffa3h,0cfa778ach,04cdfebceh,0027ca9c5h,0444ea6b3h,0be8e05a5h,0a78d8254h,08aab4e69h,0b474d6b8h,02437f04fh,0045b3855h,06597ffd4h,0ca47ecaah,0bb0aea4eh,085c7ebfch,0568aae83h - DD 0c73b2383h,00e966e64h,0d17d8762h,049eb3447h,08da05dabh,0de107821h,0016b7236h,0443d8baah,0ea7610d6h,0163b63a5h,0ce1ca979h,0e47e4185h,080baa132h,0ae648b65h,00e0d5b64h,0ebf53de2h - DD 0d3c8c1cah,08d3bfcb4h,05d04b309h,00d914ef3h,03de7d395h,055ef6415h,026b850e8h,0bde1666fh,0d449ab19h,0dbe1ca6eh,0e89a2672h,08902b322h,0dacb7a53h,0b1674b7eh,0f52523ffh,08e9faf6eh - DD 09a85788bh,06ba535dah,0bd0626d4h,0d21f03aeh,0e873dc64h,0099f8c47h,0018ec97eh,0cda8564dh,0de92c68ch,03e8d7a5ch,073323cc4h,078e035a1h,0f880ff7ch,03ef26275h,0273eedaah,0a4ee3dffh - DD 0af4e18f8h,058823507h,00672f328h,0967ec9b5h,0559d3186h,09ded19d9h,06cdce39ch,05e2ab3deh,011c226dfh,0abad6e4dh,087723014h,0f9783f43h,01a885719h,09a49a0cfh,090da9dbfh,0fc0c1a5ah - DD 0571d92ach,08bbaec49h,04692517fh,0569e85feh,0a14ea4afh,08333b014h,012e5c5adh,032f2a62fh,006d89b85h,098c2ce3ah,02ff77a08h,0b90741aah,001f795a2h,02530defch,084b3c199h,0d6e5ba0bh - DD 012e4c936h,07d8e8451h,0bd0be17bh,0ae419f7dh,022262bc9h,0a583fc8ch,091bfe2bdh,06b842ac7h,0440d6827h,033cef4e9h,0ef81fb14h,05f69f4deh,0234fbb92h,0f16cf6f6h,0d9e7e158h,076ae3fc3h - DD 0e9740b33h,04e89f6c2h,04962d6a1h,0677bc85dh,068d10d15h,06c6d8a7fh,00257b1cdh,05f9a7224h,04ad85961h,07096b916h,0e657ab4ah,05f8c47f7h,0f7461d7eh,0de57d7d0h,080ce5ee2h,07eb6094dh - DD 034190547h,00b1e1dfdh,0f05dd150h,08a394f43h,097df44e6h,00a9eb24dh,087675719h,078ca06bfh,06ffeec22h,06f0b3462h,036cdd8fbh,09d91bceah,0a105be47h,0ac83363ch,0069710e3h,081ba76c1h - DD 028c682c6h,03d1b24cbh,08612575bh,027f25228h,0e8e66e98h,0b587c779h,0405eb1feh,07b0c03e9h,015b548e7h,0fdf0d030h,038b36af7h,0a8be76e0h,04f310c40h,04cdab04ah,0f47ecaech,06287223eh - DD 08b399320h,0678e6055h,0c01e4646h,061fe3fa6h,003261a5eh,0c482866bh,05c2f244ah,0dfcf45b8h,02f684b43h,08fab9a51h,0c7220a66h,0f796c654h,0f5afa58fh,01d90707eh,04fdbe0deh,02c421d97h - DD 0af2ebc2fh,0c4f4cda3h,0cb4efe24h,0a0af843dh,09ccd10b1h,053b857c1h,0914d3e04h,0ddc9d1ebh,062771debh,07bdec8bbh,091c5aa81h,0829277aah,0832391aeh,07af18dd6h,0c71a84cah,01740f316h - DD 0eeaf8c49h,08928e99ah,06e24d728h,0ee7aa73dh,0e72b156ch,04c5007c2h,0ed408a1dh,05fcf57c5h,0b6057604h,09f719e39h,0c2868bbfh,07d343c01h,07e103e2dh,02cca254bh,0f131bea2h,0e6eb38a9h - DD 08be762b4h,0b33e624fh,0058e3413h,02a9ee4d1h,067d805fah,0968e6369h,07db8bfd7h,09848949bh,0d23a8417h,05308d7e5h,0f3e29da5h,0892f3b1dh,03dee471fh,0c95c139eh,0d757e089h,08631594dh - DD 0de918dcch,0e0c82a3ch,026fdcf4bh,02e7b5994h,032cb1b2dh,082c50249h,07657ae07h,0ea613a9dh,0f1fdc9f7h,0c2eb5f6ch,0879fe682h,0b6eae8b8h,0591cbc7fh,0253dfee0h,03e1290e6h,0000da713h - DD 01f095615h,01083e2eah,014e68c33h,00a28ad77h,03d8818beh,06bfc0252h,0f35850cdh,0b585113ah,030df8aa1h,07d935f0bh,04ab7e3ach,0addda07ch,0552f00cbh,092c34299h,02909df6ch,0c33ed1deh - DD 080e87766h,022c2195dh,09ddf4ac0h,09e99e6d8h,065e74934h,009642e4eh,0ff1ff241h,02610ffa2h,0751c8159h,04d1d47d4h,0af3a9363h,0697b4985h,087477c33h,00318ca46h,09441eff3h,0a90cb565h - DD 036f024cbh,058bb3848h,036016168h,085be1f77h,0dc7e07f1h,06c59587ch,0af1d8f02h,0191be071h,0cca5e55ch,0bf169fa5h,0f7d04each,03864ba3ch,08d7d05dbh,0915e367fh,0a6549e5dh,0b48a876dh - DD 0580e40a2h,0ef89c656h,0728068bch,0f194ed8ch,0a47990c9h,074528045h,05e1a4649h,0f53fc7d7h,078593e7dh,0bec5ae9bh,041db65d7h,02cac4ee3h,004a3d39bh,0a8c1eb24h,003f8f3efh,053b7d634h - DD 03e07113ch,02dc40d48h,07d8b63aeh,06e4a5d39h,079684c2bh,05582a94bh,0622da26ch,0932b33d4h,00dbbf08dh,0f534f651h,064c23a52h,0211d07c9h,0ee5bdc9bh,00eeece0fh,0f7015558h,0df178168h - DD 00a712229h,0d4294635h,009273f8ch,093cbe448h,08f13bc83h,000b095efh,08798978ch,0bb741972h,056dbe6e7h,09d7309a2h,05a5d39ech,0e578ec56h,0851f9a31h,03961151bh,0e5709eb4h,02da7715dh - DD 053dfabf0h,0867f3017h,0b8e39259h,0728d2078h,0815d9958h,05c75a0cdh,016603be1h,0f84867a6h,070e35b1ch,0c865b13dh,019b03e2ch,002414468h,0ac1f3121h,0e46041dah,06f028a7ch,07c9017adh - DD 00a482873h,0abc96de9h,0b77e54d4h,04265d6b1h,0a57d88e7h,068c38e79h,09ce82de3h,0d461d766h,064a7e489h,0817a9ec5h,0a0def5f2h,0cc5675cdh,0985d494eh,09a00e785h,01b03514ah,0c626833fh - DD 083cdd60eh,0abe7905ah,0a1170184h,050602fb5h,0b023642ah,0689886cdh,0a6e1fb00h,0d568d090h,00259217fh,05b1922c7h,0c43141e4h,093831cd9h,00c95f86eh,0dfca3587h,0568ae828h,0dec2057ah - DD 0f98a759ah,0c44ea599h,0f7c23c1dh,055a0a7a2h,094c4f687h,0d5ffb6e6h,012848478h,03563cce2h,0e7b1fbe1h,0812b3517h,04f7338e0h,08a7dc979h,052d048dbh,0211ecee9h,0c86ea3b8h,02eea4056h - DD 0ba772b34h,0d8cb68a7h,05f4e2541h,0e16ed341h,00fec14dbh,09b32f6a6h,0391698beh,0eee376f7h,083674c02h,0e9a7aa17h,05843022ah,065832f97h,05ba4990fh,029f3a8dah,0fb8e3216h,079a59c3ah - DD 0bd19bb16h,09cdc4d2eh,0b3262d86h,0c6c7cfd0h,0969c0b47h,0d4ce14d0h,013e56128h,01fa352b7h,0973db6d3h,0383d55b8h,0e8e5b7bfh,071836850h,0e6bb571fh,0c7714596h,02d5b2dd2h,0259df31fh - DD 0913cc16dh,0568f8925h,0e1a26f5ah,018bc5b6dh,0f5f499aeh,0dfa413beh,0c3f0ae84h,0f8835dech,065a40ab0h,0b6e60bd8h,0194b377eh,065596439h,092084a69h,0bcd85625h,04f23ede0h,05ce433b9h - DD 06ad65143h,0e8e8f04fh,0d6e14af6h,011511827h,08295c0c7h,03d390a10h,0621eba16h,071e29ee4h,063717b46h,0a588fc09h,0e06ad4a2h,002be02feh,004c22b22h,0931558c6h,012f3c849h,0bb4d4bd6h - DD 020efd662h,054a4f496h,0c5952d14h,092ba6d20h,0cc9784c2h,02db8ea1eh,04b353644h,081cc10cah,04b4d7f6ch,040b570adh,084a1dcd2h,05c9f1d96h,03147e797h,001379f81h,02bd499f5h,0e5c6097bh - DD 0328e5e20h,040dcafa6h,054815550h,0f7b5244ah,047bfc978h,0b9a4f118h,0d25825b1h,00ea0e79fh,0646c7ecfh,0a50f96ebh,0446dea9dh,0eb811493h,0dfabcf69h,02af04677h,0c713f6e8h,0be3a068fh - DD 042e06189h,0860d523dh,04e3aff13h,0bf077941h,0c1b20650h,00b616dcah,02131300dh,0e66dd6d1h,0ff99abdeh,0d4a0fd67h,0c7aac50dh,0c9903550h,07c46b2d7h,0022ecf8bh,03abf92afh,03333b1e8h - DD 06c491c14h,011cc113ch,080dd3f88h,005976688h,029d932edh,0f5b4d9e7h,0a2c38b6dh,0e982aad8h,08be0dcf0h,06f925347h,065ca53f2h,0700080aeh,0443ca77fh,0d8131156h,0ec51f984h,0e92d6942h - DD 085dfe9aeh,0d2a08af8h,04d2a86cah,0d825d9a5h,039dff020h,02c53988dh,0430cdc40h,0f38b135ah,062a7150bh,00c918ae0h,00c340e9bh,0f31fd8deh,04dbbf02eh,0afa0e7aeh,05eba6239h,05847fb2ah - DD 0dccbac8bh,06b1647dch,006f485c8h,0b642aa78h,07038ecdfh,0873f3765h,0fa49d3feh,02ce5e865h,0c98c4400h,0ea223788h,0f1fa5279h,08104a8cdh,006becfd7h,0bcf7cc7ah,0c8f974aeh,049424316h - DD 084d6365dh,0c0da65e7h,08f759fb8h,0bcb7443fh,07ae81930h,035c712b1h,04c6e08abh,080428dffh,0a4faf843h,0f19dafefh,0ffa9855fh,0ced8538dh,0be3ac7ceh,020ac409ch,0882da71eh,0358c1fb6h - DD 0fd349961h,0afa9c0e5h,08421c2fch,02b2cfa51h,0f3a28d38h,02a80db17h,05d138e7eh,0a8aba539h,06e96eb8dh,052012d1dh,0cbaf9622h,065d8dea0h,0b264f56ch,057735447h,01b6c8da2h,0beebef3fh - DD 0ce785254h,0fc346d98h,0bb64a161h,0d50e8d72h,049794addh,0c03567c7h,0752c7ef6h,015a76065h,0961f23d6h,059f3a222h,073ecc0b0h,0378e4438h,05a82fde4h,0c74be434h,0d8b9cf34h,0ae509af2h - DD 0577f44a1h,04a61ee46h,0b611deebh,0e09b748ch,0f5f7b884h,0c0481b2ch,061acfa6bh,035626678h,0bf8d21e6h,037f4c518h,0b205a76dh,022d96531h,0954073c0h,037fb85e1h,065b3a567h,0bceafe4fh - DD 0be42a582h,0efecdef7h,065046be6h,0d3fc6080h,009e8dba9h,0c9af13c8h,0641491ffh,01e6c9847h,0d30c31f7h,03b574925h,0ac2a2122h,0b7eb72bah,0ef0859e7h,0776a0dach,021900942h,006fec314h - DD 0f8c22049h,02464bc10h,0875ebf69h,09bfbcce7h,04336326bh,0d7a88e2ah,05bc2acfah,0da05261ch,0eba7efc8h,0c29f5bdch,025dbbf2eh,0471237cah,02975f127h,0a72773f2h,004d0b326h,0dc744e8eh - DD 0a56edb73h,038a7ed16h,02c007e70h,064357e37h,05080b400h,0a167d15bh,023de4be1h,007b41164h,074c89883h,0b2d91e32h,02882e7edh,03c162821h,07503e482h,0ad6b36bah,00ea34331h,048434e8eh - DD 02c7ae0b9h,079f4f24fh,01939b44ah,0c46fbf81h,056595eb1h,076fefae8h,0cd5f29c7h,0417b66abh,0c5ceec20h,05f2332b2h,0e1a1cae2h,0d69661ffh,09b0286e6h,05ede7e52h,0e276b993h,09d062529h - DD 07e50122bh,0324794b0h,04af07ca5h,0dd744f8bh,0d63fc97bh,030a12f08h,076626d9dh,039650f1ah,01fa38477h,0101b47f7h,0d4dc124fh,03d815f19h,0b26eb58ah,01569ae95h,095fb1887h,0c3cde188h - DD 0f9539a48h,054e9f37bh,07408c1a5h,0b0100e06h,0ea580cbbh,0821d9811h,086e50c56h,08af52d35h,0dbbf698bh,0dfbd9d47h,003dc1c73h,02961a1eah,0e76a5df8h,0203d38f8h,06def707ah,008a53a68h - DD 01bee45d4h,026eefb48h,03c688036h,0b3cee346h,0c42f2469h,0463c5315h,081378162h,019d84d2eh,01c4d349fh,022d7c3c5h,0163d59c5h,065965844h,0b8abceaeh,0cf198c56h,0628559d5h,06fb1fb1bh - DD 007bf8fe3h,08bbffd06h,03467734bh,046259c58h,035f7f0d3h,0d8953ceah,0d65b0ff1h,01f0bece2h,0f3c72914h,0f7d5b4b3h,03cb53389h,029e8ea95h,0836b6d46h,04a365626h,0ea174fdeh,0e849f910h - DD 0f4737f21h,07ec62fbbh,06209f5ach,0d8dba5abh,0a5f9adbeh,024b5d7a9h,0a61dc768h,0707d28f7h,0caa999eah,07711460bh,01c92e4cch,0ba7b174dh,018d4bf2dh,03c4bab66h,0eb8bd279h,0b8f0c980h - DD 0324b4737h,0024bea9ah,032a83bcah,0fba9e423h,0a232dcedh,06e635643h,02571c8bah,099619367h,054b7032bh,0e8c9f357h,02442d54ah,0f936b3bah,08290c65ah,02263f0f0h,0ee2c7fdbh,048989780h - DD 013d4f95eh,0adc5d55ah,0ad9b8500h,0737cff85h,08a73f43dh,0271c557bh,0e18bc476h,0bed617a4h,07dfd8ab2h,066245401h,03a2870aah,0ae7b89aeh,023a7e545h,01b555f53h,0be057e4ch,06791e247h - DD 0324fa34dh,0860136adh,04cbeae28h,0ea111447h,0bedd3299h,0023a4270h,0c1c35c34h,03d5c3a7fh,08d0412d2h,0b0f6db67h,0fcdc6b9ah,0d92625e2h,04e28a982h,092ae5ccch,047a3ce7eh,0ea251c36h - DD 0790691bfh,09d658932h,006b736aeh,0ed610589h,0c0d63b6eh,0712c2f04h,0c63d488fh,05cf06fd5h,0d9588e41h,097363fach,02b93257eh,01f9bf762h,0667acaceh,0a9d1ffc4h,00a061ecfh,01cf4a1aah - DD 0dc1818d0h,040e48a49h,0a3621ab0h,00643ff39h,0e39ef639h,05768640ch,004d86854h,01fc099eah,0eccd28fdh,09130b9c3h,07eec54abh,0d743cbd2h,0e5b475b6h,0052b146fh,0900a7d1fh,0058d9a82h - DD 091262b72h,065e02292h,0bb0edf03h,096f924f9h,0fe206842h,05cfa59c8h,05eafa720h,0f6037004h,018d7dd96h,05f30699eh,0cbab2495h,0381e8782h,0dd8be949h,091669b46h,026aae8efh,0b40606f5h - DD 0fc6751a4h,02812b839h,0fba800efh,016196214h,04c1a2875h,04398d5cah,0653d8349h,0720c00eeh,0d820007ch,0c2699eb0h,0a39b5825h,0880ee660h,0471f6984h,070694694h,0e3dda99ah,0f7d16ea8h - DD 0c0519a23h,028d675b2h,04f6952e3h,09ebf94feh,0a2294a8ah,0f28bb767h,0fe0af3f5h,085512b4dh,099b16a0dh,018958ba8h,0ba7548a7h,095c2430ch,0a16be615h,0b30d1b10h,085bfb74ch,0e3ebbb97h - DD 018549fdbh,0a3273cfeh,04fcdb792h,0f6e200bfh,083aba56ch,054a76e18h,089ef6aa2h,073ec66f6h,0d1b9a305h,08d17add7h,0b7ae1b9dh,0a959c5b9h,06bcc094ah,088643522h,0d7d429b9h,0cc5616c4h - DD 0e6a33f7ch,0a6dada01h,09d4e70adh,0c6217a07h,009c15b7ch,0d619a818h,00e80c854h,0ea06b329h,0a5f5e7b9h,0174811ceh,0787c65f4h,066dfc310h,03316ab54h,04ea7bd69h,01dcc0f70h,0c12c4acbh - DD 01e407dd9h,0e4308d1ah,091afa997h,0e8a3587ch,0ab77b7a5h,0ea296c12h,0673c0d52h,0b5ad49e4h,07006085ah,040f9b2b2h,087bf6ec2h,0a88ff340h,04e3066a6h,0978603b1h,0b5e486e2h,0b3f99fc2h - DD 0b2e63645h,007b53f5eh,084c84232h,0be57e547h,07214d5cfh,0d779c216h,0029a3acah,0617969cdh,08a7017a0h,0d17668cdh,0be9b7ee8h,077b4d19ah,09c161776h,058fd0e93h,0d5968a72h,0a8c4f4efh - DD 067b3de77h,0296071cch,0634f7905h,0ae3c0b8eh,08a7100c9h,067e440c2h,0eb4b9b42h,0bb8c3c1bh,0c51b3583h,06d71e8eah,09525e642h,07591f5afh,013f509f3h,0f73a2f7bh,05619ac9bh,0618487aah - DD 09d61718ah,03a72e5f7h,07592d28ch,000413bcch,0963c35cfh,07d9b11d3h,0b90a46edh,077623bcfh,0dcdd2a50h,0deef273bh,00601846eh,04a741f9bh,00ec6e929h,033b89e51h,08b7f22cdh,0cb02319fh - DD 0084bae24h,0bbe1500dh,0343d2693h,02f0ae8d7h,07cdef811h,0acffb5f2h,0263fb94fh,0aa0c030ah,0a0f442deh,06eef0d61h,027b139d3h,0f92e1817h,00ad8bc28h,01ae6deb7h,0c0514130h,0a89e38dch - DD 0d2fdca23h,081eeb865h,0cc8ef895h,05a15ee08h,001905614h,0768fa10ah,0880ee19bh,0eff5b8efh,0cb1c8a0eh,0f0c0cabbh,0b8c838f9h,02e1ee9cdh,08a4a14c0h,00587d8b8h,02ff698e5h,0f6f27896h - DD 089ee6256h,0ed38ef1ch,06b353b45h,0f44ee1feh,070e903b3h,09115c0c7h,0818f31dfh,0c78ec0a1h,0b7dccbc6h,06c003324h,0163bbc25h,0d96dd1f3h,05cedd805h,033aa82ddh,07f7eb2f1h,0123aae4fh - DD 0a26262cdh,01723fcf5h,00060ebd5h,01f7f4d5dh,0b2eaa3afh,0f19c5c01h,09790accfh,02ccb9b14h,052324aa6h,01f9c1cadh,07247df54h,063200526h,0bac96f82h,05732fe42h,001a1c384h,052fe771fh - DD 0b1001684h,0546ca13dh,0a1709f75h,0b56b4eeeh,0d5db8672h,0266545a9h,01e8f3cfbh,0ed971c90h,0e3a07b29h,04e7d8691h,0e4b696b9h,07570d9ech,07bc7e9aeh,0dc5fa067h,0c82c4844h,068b44cafh - DD 0bf44da80h,0519d34b3h,05ab32e66h,0283834f9h,06278a000h,06e608797h,0627312f6h,01e62960eh,0e6901c55h,09b87b27bh,024fdbc1fh,080e78538h,02facc27dh,0bbbc0951h,0ac143b5ah,006394239h - DD 0376c1944h,035bb4a40h,063da1511h,07cb62694h,0b7148a3bh,0afd29161h,04e2ea2eeh,0a6f9d9edh,0880dd212h,015dc2ca2h,0a61139a9h,0903c3813h,06c0f8785h,02aa7b46dh,0901c60ffh,036ce2871h - DD 0e10d9c12h,0c683b028h,0032f33d3h,07573baa2h,067a31b58h,087a9b1f6h,0f4ffae12h,0fd3ed11ah,00cb2748eh,083dcaa9ah,05d6fdf16h,08239f018h,072753941h,0ba67b49ch,0c321cb36h,02beec455h - DD 03f8b84ceh,088015606h,08d38c86fh,076417083h,0598953ddh,0054f1ca7h,04e8e7429h,0c939e110h,05a914f2fh,09b1ac2b3h,0e74b8f9ch,039e35ed3h,0781b2fb0h,0d0debdb2h,02d997ba2h,01585638fh - DD 09e2fce99h,09c4b646eh,01e80857fh,068a21081h,03643b52ah,006d54e44h,00d8eb843h,0de8d6d63h,042146a0ah,070321563h,05eaa3622h,08ba826f2h,086138787h,0227a58bdh,010281d37h,043b6c03ch - DD 0b54dde39h,06326afbbh,0db6f2d5fh,0744e5e8ah,0cff158e1h,048b2a99ah,0ef87918fh,0a93c8fa0h,0de058c5ch,02182f956h,0936f9e7ah,0216235d2h,0d2e31e67h,0ace0c0dbh,0f23ac3e7h,0c96449bfh - DD 0170693bdh,07e9a2874h,0a45e6335h,0a28e14fdh,056427344h,05757f6b3h,0acf8edf9h,0822e4556h,0e6a285cdh,02b7a6ee2h,0a9df3af0h,05866f211h,0f845b844h,040dde2ddh,0110e5e49h,0986c3726h - DD 0f7172277h,073680c2ah,00cccb244h,057b94f0fh,02d438ca7h,0bdff7267h,0cf4663fdh,0bad1ce11h,0d8f71caeh,09813ed9dh,0961fdaa6h,0f43272a6h,0bd6d1637h,0beff0119h,030361978h,0febc4f91h - DD 02f41deffh,002b37a95h,0e63b89b7h,00e44a59ah,0143ff951h,0673257dch,0d752baf4h,019c02205h,0c4b7d692h,046c23069h,0fd1502ach,02e6392c3h,01b220846h,06057b1a2h,00c1b5b63h,0e51ff946h - DD 0566c5c43h,06e85cb51h,03597f046h,0cff9c919h,04994d94ah,09354e90ch,02147927dh,0e0a39332h,00dc1eb2bh,08427fac1h,02ff319fah,088cfd8c2h,001965274h,0e2d4e684h,067aaa746h,0fa2e067dh - DD 03e5f9f11h,0b6d92a7fh,0d6cb3b8eh,09afe153ah,0ddf800bdh,04d1a6dd7h,0caf17e19h,0f6c13cc0h,0325fc3eeh,015f6c58eh,0a31dc3b2h,071095400h,0afa3d3e7h,0168e7c07h,094c7ae2dh,03f8417a1h - DD 0813b230dh,0ec234772h,017344427h,0634d0f5fh,0d77fc56ah,011548ab1h,0ce06af77h,07fab1750h,04f7c4f83h,0b62c10a7h,0220a67d9h,0a7d2edc4h,0921209a0h,01c404170h,0face59f0h,00b9815a0h - DD 0319540c3h,02842589bh,0a283d6f8h,018490f59h,0daae9fcbh,0a2731f84h,0c3683ba0h,03db6d960h,014611069h,0c85c63bbh,00788bf05h,0b19436afh,0347460d2h,0905459dfh,0e11a7db1h,073f6e094h - DD 0b6357f37h,0dc7f938eh,02bd8aa62h,0c5d00f79h,02ca979fch,0c878dcb9h,0eb023a99h,037e83ed9h,01560bf3dh,06b23e273h,01d0fae61h,01086e459h,09a9414bdh,078248316h,0f0ea9ea1h,01b956bc0h - DD 0c31b9c38h,07b85bb91h,048ef57b5h,00c5aa90bh,0af3bab6fh,0dedeb169h,02d373685h,0e610ad73h,002ba8e15h,0f13870dfh,08ca7f771h,00337edb6h,0b62c036ch,0e4acf747h,0b6b94e81h,0d921d576h - DD 02c422f7ah,0dbc86439h,0ed348898h,0fb635362h,0c45bfcd1h,083084668h,02b315e11h,0c357c9e3h,05b2e5b8ch,0b173b540h,0e102b9a4h,07e946931h,07b0fb199h,017c890ebh,0d61b662bh,0ec225a83h - DD 0ee3c76cbh,0f306a3c8h,0d32a1f6eh,03cf11623h,06863e956h,0e6d5ab64h,05c005c26h,03b8a4cbeh,09ce6bb27h,0dcd529a5h,004d4b16fh,0c4afaa52h,07923798dh,0b0624a26h,06b307fabh,085e56df6h - DD 02bf29698h,00281893ch,0d7ce7603h,091fc19a4h,0ad9a558fh,075a5dca3h,04d50bf77h,040ceb3fah,0bc9ba369h,01baf6060h,0597888c2h,0927e1037h,086a34c07h,0d936bf19h,0c34ae980h,0d4cf10c1h - DD 0859dd614h,03a3e5334h,018d0c8eeh,09c475b5bh,007cd51d5h,063080d1fh,0b88b4326h,0c9c0d0a6h,0c234296fh,01ac98691h,094887fb6h,02a0a83a4h,00cea9cf2h,056511427h,0a24802f5h,05230a6e8h - DD 072e3d5c1h,0f7a2bf0fh,04f21439eh,037717446h,09ce30334h,0fedcbf25h,07ce202f9h,0e0030a78h,01202e9cah,06f2d9ebfh,075e6e591h,0e79dde6ch,0f1dac4f8h,0f52072afh,0bb9b404dh,06c8d087eh - DD 0bce913afh,0ad0fc73dh,0458a07cbh,0909e587bh,0d4f00c8ah,01300da84h,0b54466ach,0425cd048h,090e9d8bfh,0b59cb9beh,03e431b0eh,0991616dbh,0531aecffh,0d3aa117ah,059f4dc3bh,091af92d3h - DD 0e93fda29h,09b1ec292h,0e97d91bch,076bb6c17h,0aface1e6h,07509d95fh,0be855ae3h,03653fe47h,00f680e75h,073180b28h,0eeb6c26ch,075eefd1bh,0b66d4236h,0a4cdf29fh,06b5821d8h,02d70a997h - DD 020445c36h,07a3ee207h,059877174h,071d1ac82h,0949f73e9h,00fc539f7h,0982e3081h,0d05cf3d7h,07b1c7129h,08758e20bh,0569e61f2h,0ffadcc20h,059544c2dh,0b05d3a2fh,09fff5e53h,0be16f5c1h - DD 0aad58135h,073cf65b8h,0037aa5beh,0622c2119h,0646fd6a0h,079373b3fh,00d3978cfh,00e029db5h,094fba037h,08bdfc437h,0620797a6h,0aefbd687h,0bd30d38eh,03fa5382bh,0585d7464h,07627cfbfh - DD 04e4ca463h,0b2330fefh,03566cc63h,0bcef7287h,0cf780900h,0d161d2cah,05b54827dh,0135dc539h,027bf1bc6h,0638f052eh,007dfa06ch,010a224f0h,06d3321dah,0e973586dh,026152c8fh,08b0c5738h - DD 034606074h,007ef4f2ah,0a0f7047ah,080fe7fe8h,0e1a0e306h,03d1a8152h,088da5222h,032cf43d8h,05f02ffe6h,0bf89a95fh,0806ad3eah,03d9eb9a4h,079c8e55eh,0012c17bbh,099c81dach,0fdcd1a74h - DD 0b9556098h,07043178bh,0801c3886h,04090a1dfh,09b67b912h,0759800ffh,0232620c8h,03e5c0304h,070dceecah,04b9d3c4bh,0181f648eh,0bb2d3c15h,06e33345ch,0f981d837h,00cf2297ah,0b626289bh - DD 08baebdcfh,0766ac659h,075df01e5h,01a28ae09h,0375876d8h,0b71283dah,0607b9800h,04865a96dh,0237936b2h,025dd1bcdh,060417494h,0332f4f4bh,0370a2147h,0d0923d68h,0dc842203h,0497f5dfbh - DD 032be5e0fh,09dc74cbdh,017a01375h,07475bcb7h,050d872b1h,0438477c9h,0ffe1d63dh,0cec67879h,0d8578c70h,09b006014h,078bb6b8bh,0c9ad99a8h,011fb3806h,06799008eh,0cd44cab3h,0cfe81435h - DD 02f4fb344h,0a2ee1582h,0483fa6ebh,0b8823450h,0652c7749h,0622d323dh,0beb0a15bh,0d8474a98h,05d1c00d0h,0e43c154dh,00e3e7aach,07fd581d9h,02525ddf8h,02b44c619h,0b8ae9739h,067a033ebh - DD 09ef2d2e4h,0113ffec1h,0d5a0ea7fh,01bf6767eh,003714c0ah,057fff75eh,00a23e9eeh,0a23c422eh,0540f83afh,0dd5f6b2dh,055ea46a7h,0c2c2c27eh,0672a1208h,0eb6b4246h,0ae634f7ah,0d13599f7h - DD 0d7b32c6eh,0cf914b5ch,0eaf61814h,061a5a640h,0208a1bbbh,08dc3df8bh,0b6d79aa5h,0ef627fd6h,0c4c86bc8h,044232ffch,0061539feh,0e6f9231bh,0958b9533h,01d04f25ah,049e8c885h,0180cf934h - DD 09884aaf7h,089689595h,007b348a6h,0b1959be3h,03c147c87h,096250e57h,0dd0c61f8h,0ae0efb3ah,0ca8c325eh,0ed00745eh,0ecff3f70h,03c911696h,0319ad41dh,073acbc65h,0f0b1c7efh,07b01a020h - DD 063a1483fh,0ea32b293h,07a248f96h,089eabe71h,0343157e5h,09c6231d3h,0df3c546dh,093a375e5h,06a2afe69h,0e76e9343h,0e166c88eh,0c4f89100h,04f872093h,0248efd0dh,08fe0ea61h,0ae0eb3eah - DD 09d79046eh,0af89790dh,06cee0976h,04d650f2dh,043071ecah,0a3935d9ah,0283b0bfeh,066fcd2c9h,0696605f1h,00e665eb5h,0a54cd38dh,0e77e5d07h,043d950cfh,090ee050ah,0d32e69b5h,086ddebdah - DD 0fddf7415h,06ad94a3dh,03f6e8d5ah,0f7fa1309h,0e9957f75h,0c4831d1dh,0d5817447h,07de28501h,09e2aeb6bh,06f1d7078h,0f67a53c2h,0ba2b9ff4h,0df9defc3h,036963767h,00d38022ch,0479deed3h - DD 03a8631e8h,0d2edb89bh,07a213746h,08de855deh,0b00c5f11h,0b2056cb7h,02c9b85e4h,0deaefbd0h,0d150892dh,003f39a8dh,0218b7985h,037b84686h,0b7375f1ah,036296dd8h,0b78e898eh,0472cd4b1h - DD 0e9f05de9h,015dff651h,02ce98ba9h,0d4045069h,09b38024ch,08466a7aeh,0e5a6b5efh,0b910e700h,0b3aa8f0dh,0ae1c56eah,07eee74a6h,0bab2a507h,04b4c4620h,00dca11e2h,04c47d1f4h,0fd896e2eh - DD 0308fbd93h,0eb45ae53h,002c36fdah,046cd5a2eh,0baa48385h,06a3d4e90h,09dbe9960h,0dd55e62eh,02a81ede7h,0a1406aa0h,0f9274ea7h,06860dd14h,080414f86h,0cfdcb0c2h,022f94327h,0ff410b10h - DD 049ad467bh,05a33cc38h,00a7335f1h,0efb48b6ch,0b153a360h,014fb54a4h,0b52469cch,0604aa9d2h,0754e48e9h,05e9dc486h,037471e8eh,0693cb455h,08d3b37b6h,0fb2fd7cdh,0cf09ff07h,063345e16h - DD 023a5d896h,09910ba6bh,07fe4364eh,01fe19e35h,09a33c677h,06e1da8c3h,029fd9fd0h,015b4488bh,01a1f22bfh,01f439254h,0ab8163e8h,0920a8a70h,007e5658eh,03fd1b249h,0b6ec839bh,0f2c4f79ch - DD 04aa38d1bh,01abbc3d0h,0b5d9510eh,03b0db35ch,03e60dec0h,01754ac78h,0ea099b33h,053272fd7h,007a8e107h,05fb0494fh,06a8191fah,04a89e137h,03c4ad544h,0a113b7f6h,06cb9897bh,088a2e909h - DD 0b44a3f84h,017d55de3h,017c6c690h,0acb2f344h,010232390h,032088168h,06c733bf7h,0f2e8a61fh,09c2d7652h,0a774aab6h,0ed95c5bch,0fb5307e3h,04981f110h,0a05c73c2h,0a39458c9h,01baae31ch - DD 0cbea62e7h,01def185bh,0eaf63059h,0e8ac9eaeh,09921851ch,0098a8cfdh,03abe2f5bh,0d959c3f1h,020e40ae5h,0a4f19525h,007a24aa1h,0320789e3h,07392b2bch,0259e6927h,01918668bh,058f6c667h - DD 0c55d2d8bh,0ce1db2bbh,0f4f6ca56h,041d58bb7h,08f877614h,07650b680h,0f4c349edh,0905e16bah,0f661acach,0ed415140h,0cb2270afh,03b8784f0h,08a402cbah,03bc280ach,00937921ah,0d53f7146h - DD 0e5681e83h,0c03c8ee5h,0f6ac9e4ah,062126105h,0936b1a38h,09503a53fh,0782fecbdh,03d45e2d4h,076e8ae98h,069a5c439h,0bfb4b00eh,0b53b2eebh,072386c89h,0f1674712h,04268bce4h,030ca34a2h - DD 078341730h,07f1ed86ch,0b525e248h,08ef5beb8h,0b74fbf38h,0bbc489fdh,091a0b382h,038a92a0eh,022433ccfh,07a77ba3fh,0a29f05a9h,0de8362d6h,061189afch,07f6a30eah,059ef114fh,0693b5505h - DD 0cd1797a1h,050266bc0h,0f4b7af2dh,0ea17b47eh,03df9483eh,0d6c4025ch,0a37b18c9h,08cbb9d9fh,04d8424cfh,091cbfd9ch,0ab1c3506h,0db7048f1h,0028206a3h,09eaf641fh,025bdf6ceh,0f986f3f9h - DD 0224c08dch,0262143b5h,081b50c91h,02bbb09b4h,0aca8c84fh,0c16ed709h,0b2850ca8h,0a6210d9dh,009cb54d6h,06d8df67ah,0500919a4h,091eef6e0h,00f132857h,090f61381h,0f8d5028bh,09acede47h - DD 090b771c3h,0844d1b71h,0ba6426beh,0563b71e4h,0bdb802ffh,02efa2e83h,0ab5b4a41h,03410cbabh,030da84ddh,0555b2d26h,0ee1cc29ah,0d0711ae9h,02f547792h,0cf3e8c60h,0dc678b35h,003d7d5deh - DD 0ced806b8h,0071a2fa8h,0697f1478h,0222e6134h,0abfcdbbfh,0dc16fd5dh,0121b53b8h,044912ebfh,02496c27ch,0ac943674h,01ffc26b0h,08ea3176ch,013debf2ch,0b6e224ach,0f372a832h,0524cc235h - DD 09f6f1b18h,0d706e1d8h,044cce35bh,02552f005h,0a88e31fch,08c8326c2h,0f9552047h,0b5468b2ch,03ff90f2bh,0ce683e88h,02f0a5423h,077947bdfh,0ed56e328h,0d0a1b28bh,0c20134ach,0aee35253h - DD 03567962fh,07e98367dh,08188bffbh,0379ed61fh,0faf130a1h,073bba348h,0904ed734h,06c1f75e1h,03b4a79fch,018956642h,054ef4493h,0f20bc83dh,09111eca1h,0836d425dh,0009a8dcfh,0e5b5c318h - DD 013221bc5h,03360b25dh,06b3eeaf7h,0707baad2h,0743a95a1h,0d7279ed8h,0969e809fh,07450a875h,0e5d0338fh,032b6bd53h,02b883bbch,01e77f7afh,01063ecd0h,090da12cch,0c315be47h,0e2697b58h - DD 0da85d534h,02771a5bdh,0ff980eeah,053e78c1fh,0900385e7h,0adf1cf84h,0c9387b62h,07d3b14f6h,0cb8f2bd2h,0170e74b0h,0827fa993h,02d50b486h,0f6f32babh,0cdbe8c9ah,0c3b93ab8h,055e906b0h - DD 08fe280d1h,0747f22fch,0b2e114abh,0cd8e0de5h,0e10b68b0h,05ab7dbebh,0a480d4b2h,09dc63a9ch,04be1495fh,078d4bc3bh,09359122dh,025eb3db8h,00809cbdch,03f8ac05bh,0d37c702fh,0bf4187bbh - DD 01416a6a5h,084cea069h,043ef881ch,08f860c79h,038038a5dh,041311f8ah,0fc612067h,0e78c2ec0h,05ad73581h,0494d2e81h,059604097h,0b4cc9e00h,0f3612cbah,0ff558aech,09e36c39eh,035beef7ah - DD 0dbcf41b9h,01845c7cfh,0aea997c0h,05703662ah,0e402f6d8h,08b925afeh,04dd72162h,0d0a1b1aeh,003c41c4bh,09f47b375h,00391d042h,0a023829bh,0503b8b0ah,05f5045c3h,098c010e5h,0123c2688h - DD 036ba06eeh,0324ec0cch,03dd2cc0ch,0face3115h,0f333e91fh,0b364f3beh,028e832b0h,0ef8aff73h,02d05841bh,01e9bad04h,0356a21e2h,042f0e3dfh,04add627eh,0a3270bcbh,0d322e711h,0b09a8158h - DD 00fee104ah,086e326a1h,03703f65dh,0ad7788f8h,047bc4833h,07e765430h,02b9b893ah,06cee582bh,0e8f55a7bh,09cd2a167h,0d9e4190dh,0efbee3c6h,0d40c2e9dh,033ee7185h,0a380b548h,0844cc9c5h - DD 066926e04h,0323f8ecdh,08110c1bah,00001e38fh,0fc6a7f07h,08dbcac12h,00cec0827h,0d65e1d58h,0be76ca2dh,0d2cd4141h,0e892f33ah,07895cf5ch,0367139d2h,0956d230dh,0d012c4c1h,0a91abd3eh - DD 087eb36bfh,034fa4883h,0914b8fb4h,0c5f07102h,0adb9c95fh,090f0e579h,028888195h,0fe6ea8cbh,0edfa9284h,07b9b5065h,02b8c8d65h,06c510bd2h,0cbe8aafdh,0d7b8ebefh,096b1da07h,0edb3af98h - DD 06295d426h,028ff779dh,03fa3ad7bh,00c4f6ac7h,08b8e2604h,0ec44d054h,08b0050e1h,09b32a66dh,0f0476ce2h,01f943366h,0a602c7b4h,07554d953h,0524f2809h,0be35aca6h,0fd4edbeah,0b6881229h - DD 0508efb63h,0e8cd0c8fh,06abcefc7h,09eb5b5c8h,0b441ab4fh,0f5621f5fh,0b76a2b22h,079e6c046h,0e37a1f69h,074a4792ch,003542b60h,0cbd252cbh,0b3c20bd3h,0785f65d5h,04fabc60ch,08dea6143h - DD 0de673629h,045e21446h,0703c2d21h,057f7aa1eh,098c868c7h,0a0e99b7fh,08b641676h,04e42f66dh,091077896h,0602884dch,0c2c9885bh,0a0d690cfh,03b9a5187h,0feb4da33h,0153c87eeh,05f789598h - DD 052b16dbah,02192dd47h,03524c1b1h,0deefc0e6h,0e4383693h,0465ea76eh,0361b8d98h,079401711h,0f21a15cbh,0a5f9ace9h,0efee9aebh,073d26163h,0e677016ch,0cca844b3h,057eaee06h,06c122b07h - DD 015f09690h,0b782dce7h,02dfc0fc9h,0508b9b12h,065d89fc6h,09015ab4bh,0d6d5bb0fh,05e79dab7h,06c775aa2h,064f021f0h,037c7eca1h,0df09d8cch,0ef2fa506h,09a761367h,05b81eec6h,0ed4ca476h - DD 010bbb8b5h,0262ede36h,00641ada3h,00737ce83h,0e9831ccch,04c94288ah,08065e635h,0487fc1ceh,0b8bb3659h,0b13d7ab3h,0855e4120h,0dea5df3eh,085eb0244h,0b9a18573h,0a7cfe0a3h,01a1b8ea3h - DD 067b0867ch,03b837119h,09d364520h,08d5e0d08h,0d930f0e3h,052dccc1eh,0bf20bbafh,0efbbcec7h,00263ad10h,099cffcabh,0fcd18f8ah,0d8199e6dh,0e9f10617h,064e2773fh,008704848h,00079e8e1h - DD 08a342283h,01169989fh,0a83012e6h,08097799ch,08a6a9001h,0ece966cbh,0072ac7fch,093b3afefh,02db3d5bah,0e6893a2ah,089bf4fdch,0263dc462h,0e0396673h,08852dfc9h,03af362b6h,07ac70895h - DD 05c2f342bh,0bb9cce4dh,0b52d7aaeh,0bf80907ah,02161bcd0h,097f3d3cdh,00962744dh,0b25b0834h,06c3a1ddah,0c5b18ea5h,006c92317h,0fe4ec7ebh,0ad1c4afeh,0b787b890h,00ede801ah,0dccd9a92h - DD 0db58da1fh,09ac6dddah,0b8cae6eeh,022bbc12fh,0815c4a43h,0c6f8bcedh,0f96480c7h,08105a92ch,07a859d51h,00dc3dbf3h,03041196bh,0e3ec7ce6h,00d1067c9h,0d9f64b25h,03d1f8dd8h,0f2321321h - DD 076497ee8h,08b5c619ch,0c717370eh,05d2b0ac6h,04fcf68e1h,098204cb6h,062bc6792h,00bdec211h,0a63b1011h,06973ccefh,0e0de1ac5h,0f9e3fa97h,03d0e0c8bh,05efb693eh,0d2d4fcb4h,0037248e9h - DD 01ec34f9eh,080802dc9h,033810603h,0d8772d35h,0530cb4f3h,03f06d66ch,0c475c129h,07be5ed0dh,031e82b10h,0cb9e3c19h,0c9ff6b4ch,0c63d2857h,092a1b45eh,0b92118c6h,07285bbcah,00aec4414h - DD 01e29a3efh,0fc189ae7h,04c93302eh,0cbe906f0h,0ceaae10eh,0d0107914h,0b68e19f8h,0b7a23f34h,0efd2119dh,0e9d875c2h,0fcadc9c8h,003198c6eh,04da17113h,065591bf6h,03d443038h,03cf0bbf8h - DD 02b724759h,0ae485bb7h,0b2d4c63ah,0945353e1h,0de7d6f2ch,082159d07h,04ec5b109h,0389caef3h,0db65ef14h,04a8ebb53h,0dd99de43h,02dc2cb7eh,083f2405fh,0816fa3edh,0c14208a3h,073429bb9h - DD 0b01e6e27h,0b618d590h,0e180b2dch,0047e2ccdh,004aea4a9h,0d1b299b5h,09fa403a4h,0412c9e1eh,079407552h,088d28a36h,0f332b8e3h,049c50136h,0e668de19h,03a1b6fcch,075122b97h,0178851bch - DD 0fb85fa4ch,0b1e13752h,0383c8ce9h,0d61257ceh,0d2f74daeh,0d43da670h,0bf846bbbh,0a35aa23fh,04421fc83h,05e74235dh,0c363473bh,0f6df8ee0h,03c4aa158h,034d7f52ah,09bc6d22eh,050d05aabh - DD 0a64785f4h,08c56e735h,05f29cd07h,0bc56637bh,03ee35067h,053b2bb80h,0dc919270h,050235a0fh,0f2c4aa65h,0191ab6d8h,08396023bh,0c3475831h,0f0f805bah,080400ba5h,05ec0f80fh,08881065bh - DD 0cc1b5e83h,0c370e522h,0860b8bfbh,0de2d4ad1h,067b256dfh,0ad364df0h,0e0138997h,08f12502eh,07783920ah,0503fa0dch,0c0bc866ah,0e80014adh,0d3064ba6h,03f89b744h,0cba5dba5h,003511dcdh - DD 095a7b1a2h,0197dd46dh,03c6341fbh,09c4e7ad6h,0484c2eceh,0426eca29h,0de7f4f8ah,09211e489h,0c78ef1f4h,014997f6eh,006574586h,02b2c0910h,01c3eede8h,017286a6eh,00f60e018h,025f92e47h - DD 031890a36h,0805c5646h,057feea5bh,0703ef600h,0af3c3030h,0389f747ch,054dd3739h,0e0e5daebh,0c9c9f155h,0fe24a4c3h,0b5393962h,07e4bf176h,0af20bf29h,037183de2h,0f95a8c3bh,04a1bd7b5h - DD 046191d3dh,0a83b9699h,07b87f257h,0281fc8ddh,054107588h,0b18e2c13h,09b2bafe8h,06372def7h,00d8972cah,0daf4bb48h,056167a3fh,03f2dd4b7h,084310cf4h,01eace32dh,0e42700aah,0e3bcefafh - DD 0d785e73dh,05fe5691eh,02ea60467h,0a5db5ab6h,0dfc6514ah,002e23d41h,0e03c3665h,035e8048eh,01adaa0f8h,03f8b118fh,084ce1a5ah,028ec3b45h,02c6646b8h,0e8cacc6eh,0dbd0e40fh,01343d185h - DD 0caaa358ch,0e5d7f844h,09924182ah,01a1db7e4h,09c875d9ah,0d64cd42dh,0042eeec8h,0b37b515fh,07b165fbeh,04d4dd409h,0e206eff3h,0fc322ed9h,059b7e17eh,07dee4102h,08236ca00h,055a481c0h - DD 0c23fc975h,08c885312h,005d6297bh,015715806h,0f78edd39h,0a078868eh,003c45e52h,0956b31e0h,0ff7b33a6h,0470275d5h,00c7e673fh,0c8d5dc3ah,07e2f2598h,0419227b4h,04c14a975h,08b37b634h - DD 08b11888ch,0d0667ed6h,0803e25dch,05e0e8c3eh,0b987a24ah,034e5d0dch,0ae920323h,09f40ac3bh,034e0f63ah,05463de95h,06b6328f9h,0a128bf92h,0da64f1b7h,0491ccd7ch,0c47bde35h,07ef1ec27h - DD 0a36a2737h,0a857240fh,063621bc1h,035dc1366h,0d4fb6897h,07a3a6453h,0c929319dh,080f1a439h,0f8cb0ba0h,0fc18274bh,08078c5ebh,0b0b53766h,01e01d0efh,0fb0d4924h,0372ab09ch,050d7c67dh - DD 03aeac968h,0b4e370afh,0c4b63266h,0e4f7fee9h,0e3ac5664h,0b4acd4c2h,0ceb38cbfh,0f8910bd2h,0c9c0726eh,01c3ae50ch,0d97b40bfh,015309569h,0fd5a5a1bh,070884b7fh,0ef8314cdh,03890896ah - DD 0a5618c93h,058e1515ch,077d942d1h,0e665432bh,0b6f767a8h,0b32181bfh,03a604110h,0753794e8h,0e8c0dbcch,009afeb7ch,0598673a3h,031e02613h,07d46db00h,05d98e557h,09d985b28h,0fc21fb8ch - DD 0b0843e0bh,0c9040116h,069b04531h,053b1b3a8h,085d7d830h,0dd1649f0h,0cb7427e8h,0bb3bcc87h,0c93dce83h,077261100h,0a1922a2ah,07e79da61h,0f3149ce8h,0587a2b02h,0de92ec83h,0147e1384h - DD 0af077f30h,0484c83d3h,00658b53ah,0ea78f844h,0027aec53h,0912076c2h,093c8177dh,0f34714e3h,0c2376c84h,037ef5d15h,03d1aa783h,08315b659h,0ef852a90h,03a75c484h,016086bd4h,00ba0c58ah - DD 0529a6d48h,029688d7ah,0c2f19203h,09c7f250dh,0682e2df9h,0123042fbh,0ad8121bch,02b7587e7h,0e0182a65h,030fc0233h,0e3e1128ah,0b82ecf87h,093fb098fh,071682861h,085e9e6a7h,0043e21aeh - DD 066c834eah,0ab5b49d6h,047414287h,03be43e18h,0219a2a47h,0f40fb859h,0cc58df3ch,00e6559e9h,00c6615b4h,0fe1dfe8eh,056459d70h,014abc8fdh,005de0386h,07be0fa8eh,0e9035c7ch,08e63ef68h - DD 053b31e91h,0116401b4h,04436b4d8h,00cba7ad4h,0107afd66h,09151f9a0h,01f0ee4c4h,0afaca8d0h,09ee9761ch,075fe5c1dh,0f0c0588fh,03497a16bh,00304804ch,03ee2bebdh,0c2c990b9h,0a8fb9a60h - DD 039251114h,0d14d32feh,0cac73366h,036bf25bch,0dba7495ch,0c9562c66h,046ad348bh,0324d301bh,0d670407eh,09f46620ch,0e3733a01h,00ea8d4f1h,0b0c324e0h,0d396d532h,003c317cdh,05b211a0eh - DD 05ffe7b37h,0090d7d20h,01747d2dah,03b7f3efbh,0b54fc519h,0a2cb525fh,0f66a971eh,06e220932h,0b486d440h,0ddc160dfh,03fe13465h,07fcfec46h,076e4c151h,083da7e4eh,0d8d302b5h,0d6fa48a1h - DD 05872cd88h,0c6304f26h,0278b90a1h,0806c1d3ch,0caf0bc1ch,03553e725h,0bb9d8d5ch,0ff59e603h,07a0b85ddh,0a4550f32h,093ecc217h,0dec5720ah,069d62213h,00b88b741h,05b365955h,07212f245h - DD 0b5cae787h,020764111h,01dfd3124h,013cb7f58h,01175aefbh,02dca77dah,0ffaae775h,0eb75466bh,0db6cff32h,074d76f3bh,061fcda9ah,07440f37ah,0b525028bh,01bb3ac92h,0a1975f29h,020fbf8f7h - DD 0df83097fh,0982692e1h,0554b0800h,028738f6ch,0a2ce2f2fh,0dc703717h,040814194h,07913b93ch,01fe89636h,004924593h,0f78834a6h,07b98443fh,05114a5a1h,011c6ab01h,0ffba5f4ch,060deb383h - DD 001a982e6h,04caa54c6h,03491cd26h,01dd35e11h,07cbd6b05h,0973c315fh,052494724h,0cab00775h,06565e15ah,004659b1fh,08c8fb026h,0bf30f529h,0a8a0de37h,0fc21641bh,0fa5e5114h,0e9c7a366h - DD 052f03ad8h,0db849ca5h,0024e35c0h,0c7e8dbe9h,0cfc3c789h,0a1a2bbach,09c26f262h,0bf733e7dh,0b8444823h,0882ffbf5h,06bf8483bh,0b7224e88h,065bef640h,053023b8bh,0d4d5f8cdh,0aabfec91h - DD 0079ea1bdh,0a40e1510h,0d05d5d26h,01ad9addch,013e68d4fh,0db3f2eabh,0640f803fh,01cff1ae2h,0d4cee117h,0e0e7b749h,04036d909h,08e9f275bh,08f4d4c38h,0ce34e31dh,0d75130fch,022b37f69h - DD 0b4014604h,083e0f1fdh,089415078h,0a8ce9919h,041792efeh,082375b75h,097d4515bh,04f59bf5ch,0923a277dh,0ac4f324fh,0650f3406h,0d9bc9b7dh,08a39bc51h,0c6fa87d1h,05ccc108fh,082588530h - DD 082e4c634h,05ced3c9fh,03a4464f8h,08efb8314h,07a1dca25h,0e706381bh,05a2a412bh,06cd15a3ch,0bfcd8fb5h,09347a8fdh,06e54cd22h,031db2eefh,0f8d8932fh,0c4aeb11eh,0344411afh,011e7c1edh - DD 0dc9a151eh,02653050ch,03bb0a859h,09edbfc08h,0fd5691e7h,0926c81c7h,06f39019ah,09c1b2342h,07f8474b9h,064a81c8bh,001761819h,090657c07h,055e0375ah,0390b3331h,0b6ebc47dh,0c676c626h - DD 0b7d6dee8h,051623247h,079659313h,00948d927h,0e9ab35edh,099700161h,08ddde408h,006cc32b4h,0061ef338h,06f2fd664h,0c202e9edh,01606fa02h,0929ba99bh,055388bc1h,01e81df69h,0c4428c5eh - DD 0f91b0b2ah,0ce2028aeh,0f03dfd3fh,0ce870a23h,00affe8edh,066ec2c87h,0284d0c00h,0b205fb46h,044cefa48h,0bf5dffe7h,0a19876d7h,0b6fc37a8h,008b72863h,0becfa84ch,02576374fh,0d7205ff5h - DD 08887de41h,080330d32h,0869ea534h,05de0df0ch,03c56ea17h,013f42753h,0452b1a78h,0eb1f6069h,0e30ea15ch,050474396h,0c1494125h,0575816a1h,0fe6bb38fh,0be1ce55bh,096ae30f7h,0b901a948h - DD 0d8fc3548h,0e5af0f08h,0d73bfd08h,05010b5d0h,053fe655ah,0993d2880h,01c1309fdh,099f2630bh,0b4e3b76fh,0d8677bafh,0b840784bh,014e51ddch,0bf0092ceh,0326c750ch,0f528320fh,0c83d306bh - DD 077d4715ch,0c4456715h,06b703235h,0d30019f9h,0d669e986h,0207ccb2eh,0f6dbfc28h,057c824afh,0d8f92a23h,0f0eb532fh,09bb98fd2h,04a557fd4h,0c1e6199ah,0a57acea7h,08b94b1edh,00c663820h - DD 0f83a9266h,09b42be8fh,00101bd45h,0c7741c97h,007bd9cebh,095770c11h,08b2e0744h,01f50250ah,01477b654h,0f762eec8h,015efe59ah,0c65b900eh,09546a897h,088c96148h,0c30b4d7ch,07e8025b3h - DD 012045cf9h,0ae4065efh,09ccce8bdh,06fcb2cafh,0f2cf6525h,01fa0ba4eh,0cb72c312h,0f683125dh,0e312410eh,0a01da4eah,06cd8e830h,067e28677h,098fb3f07h,0abd95752h,0eef649a5h,005f11e11h - DD 09d3472c2h,0ba47faefh,0c77d1345h,03adff697h,0dd15afeeh,04761fa04h,0b9e69462h,064f1f61ah,09bfb9093h,0fa691fabh,0a1133dfeh,03df8ae8fh,058cc710dh,0cd5f8967h,016c7fe79h,0fbb88d50h - DD 0e88c50d1h,08e011b4ch,0a8771c4fh,07532e807h,0e2278ee4h,064c78a48h,03845072ah,00b283e83h,049e69274h,098a6f291h,01868b21ch,0b96e9668h,0b1a8908eh,038f0adc2h,01feb829dh,090afcff7h - DD 0210b0856h,09915a383h,0def04889h,0a5a80602h,07c64d509h,0800e9af9h,0b8996f6fh,081382d0bh,081927e27h,0490eba53h,04af50182h,046c63b32h,0d3ad62ceh,0784c5fd9h,0f8ae8736h,0e4fa1870h - DD 0d7466b25h,04ec9d0bch,0db235c65h,084ddbe1ah,0163c1688h,05e2645eeh,000eba747h,0570bd00eh,0128bfa0fh,0fa51b629h,06c1d3b68h,092fce1bdh,0b66778b1h,03e7361dch,05561d2bbh,09c7d249dh - DD 00bbc6229h,0a40b28bfh,0dfd91497h,01c83c05eh,0f083df05h,05f9f5154h,0eee66c9dh,0bac38b3ch,0ec0dfcfdh,0f71db7e3h,08b0a8416h,0f2ecda8eh,07812aa66h,052fddd86h,04e6f4272h,02896ef10h - DD 00fe9a745h,0ff27186ah,049ca70dbh,008249fcdh,0441cac49h,07425a2e6h,0ece5ff57h,0f4a0885ah,07d7ead58h,06e2cb731h,01898d104h,0f96cf7d6h,04f2c9a89h,0afe67c9dh,01c7bf5bch,089895a50h - DD 0573cecfah,0dc7cb8e5h,0d15f03e6h,066497eaeh,03f084420h,06bc0de69h,0acd532b0h,0323b9b36h,00115a3c1h,0cfed390ah,02d65ca0eh,09414c40bh,02f530c78h,0641406bdh,0833438f2h,029369a44h - DD 0903fa271h,0996884f5h,0b9da921eh,0e6da0fd2h,05db01e54h,0a6f2f269h,06876214eh,01ee3e9bdh,0e27a9497h,0a26e181ch,08e215e04h,036d254e4h,0252cabcah,042f32a6ch,080b57614h,099481487h - DD 040d9cae1h,04c4dfe69h,011a10f09h,005869580h,03491b64bh,0ca287b57h,03fd4a53bh,077862d5dh,050349126h,0bf94856eh,071c5268fh,02be30bd1h,0cbb650a6h,010393f19h,0778cf9fdh,0639531feh - DD 0b2935359h,002556a11h,0af8c126eh,0da38aa96h,00960167fh,047dbe6c2h,0501901cdh,037bbabb6h,02c947778h,0b6e979e0h,07a1a1dc6h,0d69a5175h,09d9faf0ch,0c3ed5095h,01d5fa5f0h,04dd9c096h - DD 064f16ea8h,0a0c4304dh,07e718623h,08b1cac16h,07c67f03eh,00b576546h,0cbd88c01h,0559cf5adh,00e2af19ah,0074877bbh,0a1228c92h,01f717ec1h,0326e8920h,070bcb800h,04f312804h,0ec6e2c5ch - DD 03fca4752h,0426aea7dh,02211f62ah,0f12c0949h,07be7b6b5h,024beecd8h,036d7a27dh,0b77eaf4ch,0fda78fd3h,0154c2781h,0264eeabeh,0848a83b0h,04ffe2bc4h,081287ef0h,0b6b6fc2ah,07b6d88c6h - DD 0ce417d99h,0805fb947h,08b916cc4h,04b93dcc3h,021273323h,072e65bb3h,06ea9886eh,0bcc1baddh,04bc5ee85h,00e223011h,0c18ee1e4h,0a561be74h,0a6bcf1f1h,0762fd2d4h,095231489h,050e6a5a4h - DD 0a00b500bh,0ca96001fh,05d7dcdf5h,05c098cfch,08c446a85h,0a64e2d2eh,0971f3c62h,0bae9bcf1h,08435a2c5h,04ec22683h,04bad4643h,08ceaed6ch,0ccccf4e3h,0e9f8fb47h,01ce3b21eh,0bd4f3fa4h - DD 0a3db3292h,0d79fb110h,0b536c66ah,0e28a37dah,08e49e6a9h,0279ce87bh,0fdcec8e3h,070ccfe8dh,03ba464b2h,02193e4e0h,0aca9a398h,00f39d60eh,0f82c12abh,07d7932afh,091e7e0f7h,0d8ff50edh - DD 0fa28a7e0h,0ea961058h,00bf5ec74h,0c726cf25h,0db229666h,0e74d55c8h,0a57f5799h,00bd9abbfh,04dfc47b3h,07479ef07h,00c52f91dh,0d9c65fc3h,036a8bde2h,08e0283feh,07d4b7280h,0a32a8b5eh - DD 012e83233h,06a677c61h,0dcc9bf28h,00fbb3512h,00d780f61h,0562e8ea5h,01dc4e89ch,00db8b22bh,089be0144h,00a6fd1fbh,0ca57113bh,08c77d246h,0ff09c91ch,04639075dh,05060824ch,05b47b17fh - DD 016287b52h,058aea2b0h,0d0cd8eb0h,0a1343520h,0c5d58573h,06148b4d0h,0291c68aeh,0dd2b6170h,01da3b3b7h,0a61b3929h,008c4ac10h,05f946d79h,07217d583h,04105d4a5h,025e6de5eh,05061da3dh - DD 0ec1b4991h,03113940dh,036f485aeh,0f12195e1h,0731a2ee0h,0a7507fb2h,06e9e196eh,095057a8eh,02e130136h,0a3c2c911h,033c60d15h,097dfbb36h,0b300ee2bh,0caf3c581h,0f4bac8b8h,077f25d90h - DD 06d840cd6h,0db1c4f98h,0e634288ch,0471d62c0h,0cec8a161h,08ec2f85eh,0fa6f4ae2h,041f37cbch,04b709985h,06793a20fh,0efa8985bh,07a7bd33bh,0938e6446h,02c6a3fbdh,02a8d47c1h,019042619h - DD 0cc36975fh,016848667h,09d5f1dfbh,002acf168h,0613baa94h,062d41ad4h,09f684670h,0b56fbb92h,0e9e40569h,0ce610d0dh,035489fefh,07b99c65fh,03df18b97h,00c88ad1bh,05d0e9edbh,081b7d9beh - DD 0c716cc0ah,0d85218c0h,085691c49h,0f4b5ff90h,0ce356ac6h,0a4fd666bh,04b327a7ah,017c72895h,0da6be7deh,0f93d5085h,03301d34eh,0ff71530eh,0d8f448e8h,04cd96442h,02ed18ffah,09283d331h - DD 02a849870h,04d33dd99h,041576335h,0a716964bh,0179be0e5h,0ff5e3a9bh,083b13632h,05b9d6b1bh,0a52f313bh,03b8bd7d4h,0637a4660h,0c9dd95a0h,00b3e218fh,030035962h,0c7b28a3ch,0ce1481a3h - DD 043228d83h,0ab41b43ah,04ad63f99h,024ae1c30h,046a51229h,08e525f1ah,0cd26d2b4h,014af860fh,03f714aa1h,0d6baef61h,0eb78795eh,0f51865adh,0e6a9d694h,0d3e21fceh,08a37b527h,082ceb1ddh - -.text$ ENDS -.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' +PUBLIC ecp_nistz256_precomputed + +ALIGN 256 +ecp_nistz256_precomputed:: + DD 018a9143ch,079e730d4h,05fedb601h,075ba95fch,077622510h,079fb732bh,0a53755c6h,018905f76h,0ce95560ah,0ddf25357h,0ba19e45ch,08b4ab8e4h,0dd21f325h,0d2e88688h,025885d85h,08571ff18h + DD 010ddd64dh,0850046d4h,0a433827dh,0aa6ae3c1h,08d1490d9h,073220503h,03dcf3a3bh,0f6bb32e4h,061bee1a5h,02f3648d3h,0eb236ff8h,0152cd7cbh,092042dbeh,019a8fb0eh,00a5b8a3bh,078c57751h + DD 04eebc127h,0ffac3f90h,0087d81fbh,0b027f84ah,087cbbc98h,066ad77ddh,0b6ff747eh,026936a3fh,0c983a7ebh,0b04c5c1fh,00861fe1ah,0583e47adh,01a2ee98eh,078820831h,0e587cc07h,0d5f06a29h + DD 046918dcch,074b0b50dh,0c623c173h,04650a6edh,0e8100af2h,00cdaacach,041b0176bh,0577362f5h,0e4cbaba6h,02d96f24ch,0fad6f447h,017628471h,0e5ddd22eh,06b6c36deh,04c5ab863h,084b14c39h + DD 0c45c61f5h,0be1b8aaeh,094b9537dh,090ec649ah,0d076c20ch,0941cb5aah,0890523c8h,0c9079605h,0e7ba4f10h,0eb309b4ah,0e5eb882bh,073c568efh,07e7a1f68h,03540a987h,02dd1e916h,073a076bbh + DD 03e77664ah,040394737h,0346cee3eh,055ae744fh,05b17a3adh,0d50a961ah,054213673h,013074b59h,0d377e44bh,093d36220h,0adff14b5h,0299c2b53h,0ef639f11h,0f424d44ch,04a07f75fh,0a4c9916dh + DD 0a0173b4fh,00746354eh,0d23c00f7h,02bd20213h,00c23bb08h,0f43eaab5h,0c3123e03h,013ba5119h,03f5b9d4dh,02847d030h,05da67bddh,06742f2f2h,077c94195h,0ef933bdch,06e240867h,0eaedd915h + DD 09499a78fh,027f14cd1h,06f9b3455h,0462ab5c5h,0f02cfc6bh,08f90f02ah,0b265230dh,0b763891eh,0532d4977h,0f59da3a9h,0cf9eba15h,021e3327dh,0be60bbf0h,0123c7b84h,07706df76h,056ec12f2h + DD 0264e20e8h,075c96e8fh,059a7a841h,0abe6bfedh,044c8eb00h,02cc09c04h,0f0c4e16bh,0e05b3080h,0a45f3314h,01eb7777ah,0ce5d45e3h,056af7bedh,088b12f1ah,02b6e019ah,0fd835f9bh,0086659cdh + DD 09dc21ec8h,02c18dbd1h,00fcf8139h,098f9868ah,048250b49h,0737d2cd6h,024b3428fh,0cc61c947h,080dd9e76h,00c2b4078h,0383fbe08h,0c43a8991h,0779be5d2h,05f7d2d65h,0eb3b4ab5h,078719a54h + DD 06245e404h,0ea7d260ah,06e7fdfe0h,09de40795h,08dac1ab5h,01ff3a415h,0649c9073h,03e7090f1h,02b944e88h,01a768561h,0e57f61c8h,0250f939eh,01ead643dh,00c0daa89h,0e125b88eh,068930023h + DD 0d2697768h,004b71aa7h,0ca345a33h,0abdedef5h,0ee37385eh,02409d29dh,0cb83e156h,04ee1df77h,01cbb5b43h,00cac12d9h,0ca895637h,0170ed2f6h,08ade6d66h,028228cfah,053238acah,07ff57c95h + DD 04b2ed709h,0ccc42563h,0856fd30dh,00e356769h,0559e9811h,0bcbcd43fh,05395b759h,0738477ach,0c00ee17fh,035752b90h,0742ed2e3h,068748390h,0bd1f5bc1h,07cd06422h,0c9e7b797h,0fbc08769h + DD 0b0cf664ah,0a242a35bh,07f9707e3h,0126e48f7h,0c6832660h,01717bf54h,0fd12c72eh,0faae7332h,0995d586bh,027b52db7h,0832237c2h,0be29569eh,02a65e7dbh,0e8e4193eh,02eaa1bbbh,0152706dch + DD 0bc60055bh,072bcd8b7h,056e27e4bh,003cc23eeh,0e4819370h,0ee337424h,00ad3da09h,0e2aa0e43h,06383c45dh,040b8524fh,042a41b25h,0d7663554h,0778a4797h,064efa6deh,07079adf4h,02042170ah + DD 00bc6fb80h,0808b0b65h,03ffe2e6bh,05882e075h,02c83f549h,0d5ef2f7ch,09103b723h,054d63c80h,052a23f9bh,0f2f11bd6h,04b0b6587h,03670c319h,0b1580e9eh,055c4623bh,001efe220h,064edf7b2h + DD 0d53c5c9dh,097091dcbh,0ac0a177bh,0f17624b6h,02cfe2dffh,0b0f13975h,06c7a574eh,0c1a35c0ah,093e79987h,0227d3146h,0e89cb80eh,00575bf30h,00d1883bbh,02f4e247fh,03274c3d0h,0ebd51226h + DD 056ada97ah,05f3e51c8h,08f8b403eh,04afc964dh,0412e2979h,0a6f247abh,06f80ebdah,0675abd1bh,05e485a1dh,066a2bd72h,08f4f0b3ch,04b2a5cafh,01b847bbah,02626927fh,00502394dh,06c6fc7d9h + DD 0a5659ae8h,0fea912bah,025e1a16eh,068363abah,0752c41ach,0b8842277h,02897c3fch,0fe545c28h,0dc4c696bh,02d36e9e7h,0fba977c5h,05806244ah,0e39508c1h,085665e9bh,06d12597bh,0f720ee25h + DD 0d2337a31h,08a979129h,00f862bdch,05916868fh,05dd283bah,0048099d9h,0fe5bfb4eh,0e2d1eeb6h,07884005dh,082ef1c41h,0ffffcbaeh,0a2d4ec17h,08aa95e66h,09161c53fh,0c5fee0d0h,05ee104e1h + DD 0c135b208h,0562e4cech,04783f47dh,074e1b265h,05a3f3b30h,06d2a506ch,0c16762fch,0ecead9f4h,0e286e5b9h,0f29dd4b2h,083bb3c61h,01b0fadc0h,07fac29a4h,07a75023eh,0c9477fa3h,0c086d5f1h + DD 02f6f3076h,00fc61135h,0e3912a9ah,0c99ffa23h,0d2f8ba3dh,06a0b0685h,0e93358a4h,0fdc777e8h,035415f04h,094a787bbh,04d23fea4h,0640c2d6ah,0153a35b5h,09de917dah,05d5cd074h,0793e8d07h + DD 02de45068h,0f4f87653h,09e2e1f6eh,037c7a7e8h,0a3584069h,0d0825fa2h,01727bf42h,0af2cea7ch,09e4785a9h,00360a4fbh,027299f4ah,0e5fda49ch,071ac2f71h,048068e13h,09077666fh,083d0687bh + DD 015d02819h,06d3883b2h,040dd9a35h,06d0d7550h,01d2b469fh,061d7cbf9h,02efc3115h,0f97b232fh,0b24bcbc7h,0a551d750h,088a1e356h,011ea4949h,093cb7501h,07669f031h,0ca737b8ah,0595dc55eh + DD 0d837879fh,0a4a319ach,0ed6b67b0h,06fc1b49eh,032f1f3afh,0e3959933h,065432a2eh,0966742ebh,0b4966228h,04b8dc9feh,043f43950h,096cc6312h,0c9b731eeh,012068859h,056f79968h,07b948dc3h + DD 0ed1f8008h,061e4ad32h,0d8b17538h,0e6c9267ah,0857ff6fbh,01ac7c5ebh,055f2fb10h,0994baaa8h,01d248018h,084cf14e1h,0628ac508h,05a39898bh,05fa944f5h,014fde97bh,0d12e5ac7h,0ed178030h + DD 097e2feb4h,0042c2af4h,0aebf7313h,0d36a42d7h,0084ffdd7h,049d2c9ebh,02ef7c76ah,09f8aa54bh,009895e70h,09200b7bah,0ddb7fb58h,03bd0c66fh,078eb4cbbh,02d97d108h,0d84bde31h,02d431068h + DD 0172ccd1fh,04b523eb7h,030a6a892h,07323cb28h,0cfe153ebh,097082ec0h,0f2aadb97h,0e97f6b6ah,0d1a83da1h,01d3d393eh,0804b2a68h,0a6a7f9c7h,02d0cb71eh,04a688b48h,040585278h,0a9b4cc5fh + DD 0cb66e132h,05e5db46ah,00d925880h,0f1be963ah,00317b9e2h,0944a7027h,048603d48h,0e266f959h,05c208899h,098db6673h,0a2fb18a3h,090472447h,0777c619fh,08a966939h,02a3be21bh,03798142ah + DD 03298b343h,0b4241cb1h,0b44f65a1h,0a3a14e49h,03ac77acdh,0c5f4d6cdh,052b6fc3ch,0d0288cb5h,01c040abch,0d5cc8c2fh,006bf9b4ah,0b675511eh,09b3aa441h,0d667da37h,051601f72h,0460d45ceh + DD 06755ff89h,0e2f73c69h,0473017e6h,0dd3cf7e7h,03cf7600dh,08ef5689dh,0b1fc87b4h,0948dc4f8h,04ea53299h,0d9e9fe81h,098eb6028h,02d921ca2h,00c9803fch,0faecedfdh,04d7b4745h,0f38ae891h + DD 0c5e3a3d8h,0d8c5fccfh,04079dfbfh,0befd904ch,0fead0197h,0bc6d6a58h,0695532a4h,039227077h,0dbef42f5h,009e23e6dh,0480a9908h,07e449b64h,0ad9a2e40h,07b969c1ah,09591c2a4h,06231d792h + DD 00f664534h,087151456h,04b68f103h,085ceae7ch,065578ab9h,0ac09c4aeh,0f044b10ch,033ec6868h,03a8ec1f1h,06ac4832bh,05847d5efh,05509d128h,0763f1574h,0f909604fh,0c32f63c4h,0b16c4303h + DD 07ca23cd3h,0b6ab2014h,0a391849dh,0caa7a5c6h,075678d94h,05b0673a3h,0dd303e64h,0c982ddd4h,05db6f971h,0fd7b000bh,06f876f92h,0bba2cb1fh,03c569426h,0c77332a3h,0570d74f8h,0a159100ch + DD 0dec67ef5h,0fd16847fh,0233e76b7h,0742ee464h,0efc2b4c8h,00b8e4134h,042a3e521h,0ca640b86h,08ceb6aa9h,0653a0190h,0547852d5h,0313c300ch,06b237af7h,024e4ab12h,08bb47af8h,02ba90162h + DD 0a8219bb7h,03d5e58d6h,01b06c57fh,0c691d0bdh,0d257576eh,00ae4cb10h,0d54a3dc3h,03569656ch,094cda03ah,0e5ebaebdh,0162bfe13h,0934e82d3h,0e251a0c6h,0450ac0bah,0dd6da526h,0480b9e11h + DD 08cce08b5h,000467bc5h,07f178d55h,0b636458ch,0a677d806h,0c5748baeh,0dfa394ebh,02763a387h,07d3cebb6h,0a12b448ah,06f20d850h,0e7adda3eh,01558462ch,0f63ebce5h,0620088a8h,058b36143h + DD 04d63c0eeh,08a2cc3cah,00fe948ceh,051233117h,0222ef33bh,07463fd85h,07c603d6ch,0adf0c7dch,0fe7765e5h,00ec32d3bh,0bf380409h,0ccaab359h,08e59319ch,0bdaa84d6h,09c80c34dh,0d9a4c280h + DD 0a059c142h,0a9d89488h,0ff0b9346h,06f5ae714h,016fb3664h,0068f237dh,0363186ach,05853e4c4h,063c52f98h,0e2d87d23h,081828876h,02ec4a766h,0e14e7b1ch,047b864fah,069192408h,00c0bc0e5h + DD 0b82e9f3eh,0e4d7681dh,0df25e13ch,083200f0bh,066f27280h,08909984ch,075f73227h,0462d7b00h,0f2651798h,0d90ba188h,036ab1c34h,074c6e18ch,05ef54359h,0ab256ea3h,0d1aa702fh,003466612h + DD 02ed22e91h,0624d6049h,06f072822h,06fdfe0b5h,039ce2271h,0eeca1115h,0db01614fh,098100a4fh,0a35c628fh,0b6b0daa2h,0c87e9a47h,0b6f94d2eh,01d57d9ceh,0c6773259h,003884a7bh,0f70bfeech + DD 0ed2bad01h,05fb35ccfh,01da6a5c7h,0a155cbe3h,030a92f8fh,0c2e2594ch,05bfafe43h,0649c89ceh,0e9ff257ah,0d158667dh,0f32c50aeh,09b359611h,0906014cfh,04b00b20bh,089bc7d3dh,0f3a8cfe3h + DD 0248a7d06h,04ff23ffdh,0878873fah,080c5bfb4h,005745981h,0b7d9ad90h,03db01994h,0179c85dbh,061a6966ch,0ba41b062h,0eadce5a8h,04d82d052h,0a5e6a318h,09e91cd3bh,095b2dda0h,047795f4fh + DD 0d55a897ch,0ecfd7c1fh,0b29110fbh,0009194abh,0e381d3b0h,05f0e2046h,0a98dd291h,05f3425f6h,0730d50dah,0bfa06687h,04b083b7fh,00423446ch,0d69d3417h,0397a247dh,0387ba42ah,0eb629f90h + DD 0d5cd79bfh,01ee426cch,0946c6e18h,00032940bh,057477f58h,01b1e8ae0h,06d823278h,0e94f7d34h,0782ba21ah,0c747cb96h,0f72b33a5h,0c5254469h,0c7f80c81h,0772ef6deh,02cd9e6b5h,0d73acbfeh + DD 049ee90d9h,04075b5b1h,0a06e9ebah,0785c339ah,0abf825e0h,0a1030d5bh,0a42931dch,0cec684c3h,0c1586e63h,042ab62c9h,05ab43f2bh,045431d66h,055f7835dh,057c8b2c0h,0c1b7f865h,0033da338h + DD 0caa76097h,0283c7513h,036c83906h,00a624fa9h,0715af2c7h,06b20afech,0eba78bfdh,04b969974h,0d921d60eh,0220755cch,07baeca13h,09b944e10h,05ded93d4h,004819d51h,06dddfd27h,09bbff86eh + DD 077adc612h,06b344130h,0bbd803a0h,0a7496529h,06d8805bdh,01a1baaa7h,0470343adh,0c8403902h,0175adff1h,039f59f66h,0b7d8c5b7h,00b26d7fbh,0529d75e3h,0a875f5ceh,041325cc2h,085efc7e9h + DD 01ff6acd3h,021950b42h,053dc6909h,0ffe70484h,028766127h,0ff4cd0b2h,04fb7db2bh,0abdbe608h,05e1109e8h,0837c9228h,0f4645b5ah,026147d27h,0f7818ed8h,04d78f592h,0f247fa36h,0d394077eh + DD 0488c171ah,00fb9c2d0h,013685278h,0a78bfbaah,0d5b1fa6ah,0edfbe268h,02b7eaba7h,00dceb8dbh,09ae2b710h,0bf9e8089h,0a4449c96h,0efde7ae6h,0cc143a46h,043b7716bh,0c3628c13h,0d7d34194h + DD 03b3f64c9h,0508cec1ch,01e5edf3fh,0e20bc0bah,02f4318d4h,0da1deb85h,05c3fa443h,0d20ebe0dh,073241ea3h,0370b4ea7h,05e1a5f65h,061f1511ch,082681c62h,099a5e23dh,0a2f54c2dh,0d731e383h + DD 083445904h,02692f36eh,0af45f9c0h,02e0ec469h,0c67528b7h,0905a3201h,0d0e5e542h,088f77f34h,05864687ch,0f67a8d29h,022df3562h,023b92eaeh,09bbec39eh,05c27014bh,09c0f0f8dh,07ef2f226h + DD 0546c4d8dh,097359638h,092f24679h,05f9c3fc4h,0a8c8acd9h,0912e8bedh,0306634b0h,0ec3a318dh,0c31cb264h,080167f41h,0522113f2h,03db82f6fh,0dcafe197h,0b155bcd2h,043465283h,0fba1da59h + DD 0b212cf53h,0a0425b8eh,0f8557c5fh,04f2e512eh,025c4d56ch,0c1286ff9h,0ee26c851h,0bb8a0feah,0e7d6107eh,0c28f70d2h,0e76265aah,07ee0c444h,01d1936b1h,03df277a4h,0ea9595ebh,01a556e3fh + DD 0e7305683h,0258bbbf9h,007ef5be6h,031eea5bfh,046c814c1h,00deb0e4ah,0a7b730ddh,05cee8449h,0a0182bdeh,0eab495c5h,09e27a6b4h,0ee759f87h,080e518cah,0c2cf6a68h,0f14cf3f4h,025e8013fh + DD 07e8d7a14h,08fc44140h,09556f36ah,0bb1ff3cah,014600044h,06a844385h,07451ae63h,0ba3f0c4ah,01f9af32ah,0dfcac25bh,0b1f2214bh,001e0db86h,0a4b596ach,04e9a5bc2h,0026c2c08h,083927681h + DD 07acaca28h,03ec832e7h,0c7385b29h,01bfeea57h,0fd1eaf38h,0068212e3h,06acf8ccch,0c1329830h,02aac9e59h,0b909f2dbh,0b661782ah,05748060dh,0c79b7a01h,0c5ab2632h,000017626h,0da44c6c6h + DD 0a7ea82f0h,0f26c00e8h,0e4299aafh,099cac80dh,07ed78be1h,0d66fe3b6h,0648d02cdh,0305f725fh,0623fb21bh,033ed1bc4h,07a6319adh,0fa70533eh,0be5ffb3eh,017ab562dh,056674741h,006374994h + DD 05c46aa8eh,069d44ed6h,0a8d063d1h,02100d5d3h,0a2d17c36h,0cb9727eah,08add53b7h,04c2bab1bh,015426704h,0a084e90ch,0a837ebeah,0778afcd3h,07ce477f8h,06651f701h,046fb7a8bh,0a0624998h + DD 0ed8a6e19h,0dc1e6828h,04189d9c7h,033fc2336h,0671c39bch,0026f8fe2h,0bc6f9915h,0d40c4ccdh,0f80e75cah,0afa135bbh,022adff2ch,012c651a0h,04f51ad96h,0c40a04bdh,0bbe4e832h,004820109h + DD 07f4c04cch,03667eb1ah,0a9404f84h,059556621h,07eceb50ah,071cdf653h,09b8335fah,0994a44a6h,0dbeb9b69h,0d7faf819h,0eed4350dh,0473c5680h,0da44bba2h,0b6658466h,0872bdbf3h,00d1bc780h + DD 0a1962f91h,0e535f175h,0ed58f5a7h,06ed7e061h,02089a233h,0177aa4c0h,0e539b413h,00dbcb03ah,0bb32e38eh,0e3dc424eh,06806701eh,06472e5efh,0814be9eeh,0dd47ff98h,035ace009h,06b60cfffh + DD 09ff91fe5h,0b8d3d931h,0f0518eedh,0039c4800h,09182cb26h,095c37632h,082fc568dh,00763a434h,0383e76bah,0707c04d5h,0824e8197h,0ac98b930h,091230de0h,092bf7c8fh,040959b70h,090876a01h + DD 005968b80h,0db6d96f3h,0089f73b9h,0380a0913h,0c2c61e01h,07da70b83h,0569b38c7h,095fb8394h,080edfe2fh,09a3c6512h,08faeaf82h,08f726bb9h,078424bf8h,08010a4a0h,00e844970h,029672044h + DD 07a2ad62ah,063c5cb81h,0ac62ff54h,07ef2b6b9h,0b3ad9db5h,03749bba4h,046d5a617h,0ad311f2ch,0c2ff3b6dh,0b77a8087h,0367834ffh,0b46feaf3h,075d6b138h,0f8aa266dh,0ec008188h,0fa38d320h + DD 0696946fch,0486d8ffah,0b9cba56dh,050fbc6d8h,090f35a15h,07e3d423eh,0c0dd962ch,07c3da195h,03cfd5d8bh,0e673fdb0h,0889dfca5h,00704b7c2h,0f52305aah,0f6ce581fh,0914d5e53h,0399d49ebh + DD 06ec293cdh,0380a496dh,08e7051f5h,0733dbda7h,0b849140ah,0037e388dh,05946dbf6h,0ee4b32b0h,0cae368d1h,0b1c4fda9h,0fdb0b2f3h,05001a7b0h,02e3ac46eh,06df59374h,039b3e656h,04af675f2h + DD 039949296h,044e38110h,0361db1b5h,05b63827bh,0206eaff5h,03e5323edh,0c21f4290h,0942370d2h,0e0d985a1h,0f2caaf2eh,07239846dh,0192cc64bh,0ae6312f8h,07c0b8f47h,096620108h,07dc61f91h + DD 0c2da7de9h,0b830fb5bh,00ff8d3beh,0d0e643dfh,0188a9641h,031ee77bah,0bcf6d502h,04e8aa3aah,09a49110fh,0f9fb6532h,02dd6b220h,0d18317f6h,052c3ea5ah,07e3ced41h,07d579c4ah,00d296a14h + DD 0ed4c3717h,035d6a53eh,03d0ed2a3h,09f8240cfh,0e5543aa5h,08c0d4d05h,0dd33b4b4h,045d5bbfbh,0137fd28eh,0fa04cc73h,0c73b3ffdh,0862ac6efh,031f51ef2h,0403ff9f5h,0bc73f5a2h,034d5e0fch + DD 008913f4fh,0f2526820h,0eac93d95h,0ea20ed61h,06ca6b26ch,051ed38b4h,0ea4327b0h,08662dcbch,0725d2aaah,06daf295ch,08e52dcdah,0bad2752fh,00b17dacch,02210e721h,0d51e8232h,0a37f7912h + DD 044cc3addh,04f7081e1h,087be82cfh,0d5ffa1d6h,00edd6472h,089890b6ch,03ed17863h,0ada26e1ah,063483caah,0276f2715h,02f6077fdh,0e6924cd9h,00a466e3ch,005a7fe98h,0b1902d1fh,0f1c794b0h + DD 082a8042ch,0e5213688h,0cd278298h,0d931cfafh,0f597a740h,0069a0ae0h,0eb59107ch,00adbb3f3h,05eaa8eb8h,0983e951eh,011b48e78h,0e663a8b5h,08a03f2c5h,01631cc0dh,011e271e2h,07577c11eh + DD 008369a90h,033b2385ch,0190eb4f8h,02990c59bh,0c68eac80h,0819a6145h,02ec4a014h,07a786d62h,020ac3a8dh,033faadbeh,05aba2d30h,031a21781h,0dba4f565h,0209d2742h,055aa0fbbh,0db2ce9e3h + DD 0168984dfh,08cef334bh,033879638h,0e81dce17h,0263720f0h,0f6e6949ch,0f593cbech,05c56feafh,0fde58c84h,08bff5601h,02eccb314h,074e24117h,04c9a8a78h,0bcf01b61h,0544c9868h,0a233e35eh + DD 08bd7aff1h,0b3156bf3h,01d81b146h,01b5ee4cbh,0d628a915h,07ba1ac41h,0fd89699eh,08f3a8f9ch,0a0748be7h,07329b9c9h,0a92e621fh,01d391c95h,04d10a837h,0e51e6b21h,04947b435h,0d255f53ah + DD 0f1788ee3h,007669e04h,0a86938a2h,0c14f27afh,0e93a01c0h,08b47a334h,0d9366808h,0ff627438h,0ca2a5965h,07a0985d8h,0d6e9b9b3h,03d9a5542h,04cf972e8h,0c23eb80bh,04fdf72fdh,05c1c33bbh + DD 074a86108h,00c4a58d4h,0ee4c5d90h,0f8048a8fh,0e86d4c80h,0e3c7c924h,0056a1e60h,028c889deh,0b214a040h,057e2662eh,037e10347h,0e8c48e98h,080ac748ah,087742862h,0186b06f2h,0f1c24022h + DD 05f74040ah,0ac2dd4c3h,0fceac957h,0409aeb71h,055c4ec23h,04fbad782h,08a7b76ech,0b359ed61h,0ed6f4a60h,012744926h,04b912de3h,0e21e8d7fh,0fc705a59h,0e2575a59h,0ed2dbc0eh,072f1d4deh + DD 0eb7926b8h,03d2b24b9h,0cdbe5509h,0bff88cb3h,0e4dd640bh,0d0f399afh,02f76ed45h,03c5fe130h,03764fb3dh,06f3562f4h,03151b62dh,07b5af318h,0d79ce5f3h,0d5bd0bc7h,0ec66890fh,0fdaf6b20h + DD 06063540ch,0735c67ech,0e5f9cb8fh,050b259c2h,03f99c6abh,0b8734f9ah,0a3a7bc85h,0f8cc13d5h,0c5217659h,080c1b305h,04ec12a54h,0fe5364d4h,0681345feh,0bd87045eh,0582f897fh,07f8efeb1h + DD 0d5923359h,0e8cbf1e5h,0539b9fb0h,0db0cea9dh,049859b98h,00c5b34cfh,0a4403cc6h,05e583c56h,0d48185b7h,011fc1a2dh,06e521787h,0c93fbc7eh,005105b8bh,047e7a058h,0db8260c8h,07b4d4d58h + DD 046eb842ah,0e33930b0h,07bdae56dh,08e844a9ah,013f7fdfch,034ef3a9eh,0636ca176h,0b3768f82h,04e09e61ch,02821f4e0h,0a0c7cddch,0414dc3a1h,054945fcdh,0d5379437h,0b3555ff1h,0151b6eefh + DD 06339c083h,0b31bd613h,0dfb64701h,039ff8155h,0e29604abh,07c3388d2h,0a6b10442h,01e19084bh,0eccd47efh,017cf54c0h,04a5dfb30h,089693385h,047daf9f6h,069d023fbh,07d91d959h,09222840bh + DD 0803bac62h,0439108f5h,0379bd45fh,00b7dd91dh,0ca63c581h,0d651e827h,0509c104fh,05c5d75f6h,01f2dc308h,07d5fc738h,0d98454beh,020faa7bfh,0a517b031h,095374beeh,0642692ach,0f036b9b1h + DD 039842194h,0c5106109h,049d05295h,0b7e2353eh,0efb42ee0h,0fc8c1d5ch,008ce811ch,0e04884ebh,07419f40eh,0f1f75d81h,0a995c241h,05b0ac162h,0c4c55646h,0120921bbh,08d33cf97h,0713520c2h + DD 0e98c5100h,0b4a65a5ch,02ddd0f5ah,06cec871dh,09ba2e78bh,0251f0b7fh,0ce3a2a5fh,0224a8434h,025f5c46fh,026827f61h,048545ec0h,06a22bedch,0b1bb5cdch,025ae5fa0h,0fcb9b98fh,0d693682fh + DD 091e5d7d3h,032027fe8h,073a07678h,0f14b7d17h,0c0dfdd61h,0f88497b3h,02a8c4f48h,0f7c2eec0h,03756e621h,0aa5573f4h,01825b948h,0c013a240h,063878572h,01c03b345h,0653a4184h,0a0472beah + DD 00ac69a80h,0f4222e27h,0f51e54f6h,034096d25h,08fffa591h,000a648cbh,069b6527fh,04e87acdch,0e285ccb4h,00575e037h,050ddcf52h,0188089e4h,0870ff719h,0aa96c9a8h,01fc7e369h,074a56cd8h + DD 01726931ah,041d04ee2h,03660ecfdh,00bbbb2c8h,024818e18h,0a6ef6de5h,0e7d57887h,0e421cc51h,0bea87be6h,0f127d208h,0b1cdd682h,016a475d3h,0439b63f7h,09db1b684h,0f0f113b6h,05359b3dbh + DD 08bf06e31h,0dfccf1deh,0dd383901h,01fdf8f44h,05017e7d2h,010775cadh,058d11eefh,0dfc3a597h,0b1ecff10h,06ec9c8a0h,028400549h,0ee6ed6cch,01b4f8d73h,0b5ad7baeh,0e00aaab9h,061b4f11dh + DD 0d4eff2d7h,07b32d69bh,04288b60fh,088ae6771h,037a1e723h,0159461b4h,0570aae8ch,01f3d4789h,07f9871dah,0869118c0h,0f635e278h,035fbda78h,0e1541dach,0738f3641h,0c0dae45fh,06794b13ah + DD 009cc0917h,0065064ach,0c68540fdh,027c53729h,0ef227671h,00d2d4c8eh,0a1785a04h,0d23a9f80h,052650359h,098c59528h,074a1acadh,0fa09ad01h,00b55bf5ch,0082d5a29h,0419b8084h,0a40f1c67h + DD 0dcc18770h,03a5c752eh,08825c3a5h,04baf1f2fh,021b153edh,0ebd63f74h,0b2f64723h,0a2383e47h,02646d19ah,0e7bf620ah,003c83ffdh,056cb44ech,04f6be9f1h,0af7267c9h,0c06bb5e9h,08b2dfd7bh + DD 0a672c5c7h,0b87072f2h,00d53c5e2h,0eacb11c8h,0ff435932h,022dac29dh,04408693ch,037bdb99dh,02899c20fh,0f6e62fb6h,0447ece24h,03535d512h,0ff577ce3h,0fbdc6b88h,0190575f2h,0726693bdh + DD 0ab4b35a2h,06772b0e5h,0f5eeaacfh,01d8b6001h,0795b9580h,0728f7ce4h,041fb81dah,04a20ed2ah,04fec01e6h,09f685cd4h,0a7ff50adh,03ed7ddcch,00c2d97fdh,0460fd264h,0eb82f4f9h,03a241426h + DD 06a8ea820h,017d1df2ch,0f22cc254h,0b2b50d3bh,0b7291426h,003856cbah,004f5ee39h,087fd26aeh,002bee4bah,09cb696cch,006820fd6h,053121804h,00212e985h,0a5dfc269h,0160f9a09h,0666f7ffah + DD 0bccd9617h,0c503cd33h,0ba7730a3h,0365dede4h,05ddb0786h,0798c6355h,0fc9cd3bch,0a6c3200eh,0e5e35efdh,0060ffb2ch,05555a1c1h,099a4e25bh,0f70b3751h,011d95375h,0160e1bf6h,00a57354ah + DD 0f8e4b065h,0ecb3ae4bh,02e53022bh,007a834c4h,08692ed96h,01cd300b3h,061ee14ech,016a6f792h,06a8649edh,08f1063c6h,0869f3e14h,0fbcdfcfeh,000a7b3ech,02cfb97c1h,07130c2f1h,0cea49b3ch + DD 0e9d96488h,0462d044fh,08182a0c1h,04b53d52eh,00391e9e9h,084b6ddd3h,0b1741a09h,080ab7b48h,027d3317fh,0ec0e15d4h,01a64671eh,08dfc1ddbh,0d49c5b92h,093cc5d5fh,03674a331h,0c995d53dh + DD 0090090aeh,0302e41ech,0edb06830h,02278a0cch,0fbc99690h,01d025932h,0b80d68dah,00c32fbd2h,0f341a6c1h,0d79146dah,01bef68a0h,0ae0ba139h,08d774b3ah,0c6b8a563h,0880ba4d7h,01cf307bdh + DD 019803511h,0c033bdc7h,08888c3beh,0a9f97b3bh,085c6d05eh,03d68aebch,0193919ebh,0c3b88a9dh,0c48b0ee3h,02d300748h,007a746c1h,07506bc7ch,06e6d57f3h,0fc48437ch,0cfeaa91ah,05bd71587h + DD 0c1bc5225h,0a4ed0408h,02719226dh,0d0b946dbh,0758d2d43h,0109ecd62h,02751759bh,075c8485ah,09ce4177ah,0b0b75f49h,079c10c3dh,04fa61a1eh,0a167fcd7h,0c062d300h,0750f0fa8h,04df3874ch + DD 083dfedc9h,029ae2cf9h,08d87631ah,0f8437134h,07429c8d2h,0af571711h,0146d9272h,018d15867h,069769bb7h,083053ecfh,0c479ab82h,0c55eb856h,021b0f4b2h,05ef7791ch,03d491525h,0aa5956bah + DD 09fe20ebah,0407a96c2h,0e52a5ad3h,0f27168bbh,0bf1d9d89h,043b60ab3h,0710e727ah,0e45c51efh,0099b4221h,0dfca5276h,02557a159h,08dc6407ch,091035895h,00ead8335h,09c55dc32h,00a9db957h + DD 0df61bc76h,0e40736d3h,03f778cdbh,013a619c0h,0c56ea28fh,06dd921a4h,02fa647b4h,076a52433h,0ac5bdc5dh,023591891h,0bac7dc01h,0ff4a1a72h,062df8453h,09905e261h,0e63b265fh,03ac045dfh + DD 0ad53dba7h,08a3f341bh,0837b625ah,08ec269cch,03ae31189h,0d71a2782h,055e96120h,08fb4f9a3h,0ff9875cfh,0804af823h,05d442a9bh,023224f57h,0ecc62679h,01c4d3b9eh,0a0e7ddb1h,091da22fbh + DD 06c04a661h,0a370324dh,05e376d17h,09710d3b6h,03044e357h,0ed8c98f0h,06422701ch,0c364ebbeh,07733d61ch,0347f5d51h,0cea826c3h,0d55644b9h,055a25548h,080c6e0adh,0844220a7h,00aa7641dh + DD 031810660h,01438ec81h,0de4b4043h,09dfa6507h,0cc3e0273h,010b515d8h,028d8cfb2h,01b6066ddh,09c9efebdh,0d3b04591h,0a21c1ff4h,0425d4bdfh,0d57607d3h,05fe5af19h,054481084h,0bbf773f7h + DD 094b03ed1h,08435bd69h,0634cc546h,0d9ad1de3h,000e420cah,02cf423fch,0a03096ddh,0eed26d80h,0a4db09d2h,0d7f60be7h,0960622f7h,0f47f569dh,07296c729h,0e5925fd7h,026ca2715h,0eff2db26h + DD 0b913e759h,0a6fcd014h,08ff4de93h,053da4786h,0c32068e1h,014616d79h,0ccdf352eh,0b187d664h,01dc90b59h,0f7afb650h,07daa1b26h,08170e943h,0700c0a84h,0c8e3bdd8h,06482bdfah,06e8d345fh + DD 0c5c5ea50h,084cfbfa1h,067960681h,0d3baf14ch,00dd50942h,026398403h,04716a663h,0e4b7839ch,0e7de6dc0h,0d5f1f794h,0622aa7ceh,05cd0f4d4h,059acfeech,05295f3f1h,0953e0607h,08d933552h + DD 0776c5722h,0c7db8ec5h,02b5f290ch,0dc467e62h,04ff425a9h,0d4297e70h,00cf7bb72h,04be924c1h,0a1892131h,00d5dc5aeh,0a705c992h,08bf8a8e3h,07a305ac5h,073a0b064h,09a8c77a8h,000c9ca4eh + DD 083774bddh,05dfee80fh,085734485h,063131602h,0914a69a9h,0a1b524aeh,0d4e300d7h,0ebc2ffafh,07cfa46a5h,052c93db7h,021653b50h,071e6161fh,0a4bc580ah,03574fc57h,0e1bc1253h,0c09015ddh + DD 0d174d7aah,04b7b47b2h,0f3a15d04h,04072d8e8h,0d6fa07edh,0eeb7d47fh,0edbdafb1h,06f2b9ff9h,03760fe8ah,018c51615h,0f06c6c13h,07a96e6bfh,00ea2d071h,04d7a0410h,00be2a5ceh,0a1914e9bh + DD 0d8a3c5cfh,05726e357h,02abb2b13h,01197ecc3h,031ae88ddh,06c0d7f7fh,0fdbb3efeh,015b20d1ah,070584039h,0cd06aa26h,0a7dc9747h,02277c969h,07855d815h,0bca69587h,05188b32ah,0899ea238h + DD 0760c1c9dh,037d9228bh,09b5c18dah,0c7efbb11h,019f6dbc5h,07f0d1bc8h,007e6905bh,04875384bh,03ba8cd86h,0c7c50baah,0c2905de0h,0b0ce40fbh,07a231952h,070840673h,0cf43de26h,0a912a262h + DD 0eb5b76c1h,09c38ddcch,026fc0ab4h,0746f5285h,0d62c269fh,052a63a50h,099458621h,060049c55h,03c2f7c9eh,0e7f48f82h,0917d5cf3h,06bd99043h,08701f469h,0eb1317a8h,09a449fe0h,0bd3fe2edh + DD 012ef3d36h,0421e79cah,03e7ea5deh,09ee3c36ch,0cdff36f7h,0e48198b5h,0c6b82228h,0aff4f967h,0c47adb7eh,015e19dd0h,0032e7dfah,045699b23h,01fae026ah,040680c8bh,0550dbf4dh,05a347a48h + DD 03cef0d7dh,0e652533bh,02bbb4381h,0d94f7b18h,00e80f500h,0838752beh,09e9c9bfbh,08e6e2488h,016caca6ah,0c9751697h,038531ad9h,0866c49d8h,07151ade1h,0c917e239h,06037c407h,02d016ec1h + DD 000eac3f9h,0a407ccc9h,0e2ed4748h,0835f6280h,01cc98e0dh,0cc54c347h,0dcb572ebh,00e969937h,08f30c9cbh,01b16c8e8h,0373c4661h,0a606ae75h,035502cabh,047aa689bh,04d9bb64fh,0f89014aeh + DD 031c71f7bh,0202f6a9ch,0296ffe5ch,001f95aa3h,053cec3a3h,05fc06014h,05f498a45h,0eb991237h,05d91ba87h,0ae9a935eh,00b564a19h,0c6ac6281h,03bd44e69h,08a8fe81ch,09dd11d45h,07c8b467fh + DD 0ea5b8e69h,0f772251fh,0c5b75fbch,0aeecb3bdh,0887ff0e5h,01aca3331h,019f0a131h,0be5d49ffh,0e5c8646fh,0582c13aah,020e19980h,0dbaa12e8h,0f7abbd94h,08f40f31ah,01dfc7663h,01f13f5a8h + DD 0aceb4fc0h,05d81f1eeh,05e6f0f42h,036256002h,0751370c8h,04b67d6d7h,003e80589h,02608b698h,005268301h,0cfc0d2fch,040309212h,0a6943d39h,01fd0e1c2h,0192a90c2h,037f1dc76h,0b209f113h + DD 097bf1298h,0efcc5e06h,0219d639eh,0cbdb6730h,0b81e8c6fh,0d009c116h,01a7ce2e5h,0a3ffdde3h,0a914d3bah,0c53fbaaah,088df85eeh,0836d500fh,066ee0751h,0d98dc71bh,0714516fdh,05a3d7005h + DD 039eedbbah,021d3634dh,00455a46dh,035cd2e68h,0f9d7eb0ch,0c8cafe65h,000cefb3eh,0bda3ce9eh,02c9cf7a4h,0ddc17a60h,07bcb8773h,001572ee4h,08c7548dfh,0a92b2b01h,0a84600e3h,0732fd309h + DD 016543a40h,0e22109c7h,0fede3c6ch,09acafd36h,06824e614h,0fb206852h,0da25dca0h,02a4544a9h,091d60b06h,025985262h,028753545h,0281b7be9h,090f13b27h,0ec667b1ah,0940e2eb4h,033a83affh + DD 0d5d721d5h,080009862h,05bd3a182h,00c3357a3h,07aa2cda4h,027f3a83bh,0f6f83085h,0b58ae74eh,02e6dad6bh,02a911a81h,0f43d6c5bh,0de286051h,0f996c4d8h,04bdccc41h,00ae1e24eh,0e7312ec0h + DD 06e6485b3h,0f8d112e7h,0771c52f8h,04d3e24dbh,0684a2f6dh,048e3ee41h,021d95551h,07161957dh,0cdb12a6ch,019631283h,02e50e164h,0bf3fa882h,03166cc73h,0f6254b63h,0aee8cc38h,03aefa7aeh + DD 03b36f9fdh,079b0fe62h,0fde19fc0h,026543b23h,0958482efh,0136e64a0h,09b095825h,023f63771h,0b6a1142eh,014cfd596h,0335aac0bh,05ea6aac6h,0f3081dd5h,086a0e8bdh,0003dc12ah,05fb89d79h + DD 0f72e34d4h,0f615c33ah,0110eec35h,00bd9ea40h,0c1dea34eh,01c12bc5bh,049ae4699h,0686584c9h,08c97b942h,013ad95d3h,04e5c7562h,04609561ah,0f2737f89h,09e94a4aeh,0371c78b6h,0f57594c6h + DD 0e3779ee3h,00f0165fch,0bd495d9eh,0e00e7f9dh,020284e7ah,01fa4efa2h,047ac6219h,04564badeh,0c4708e8eh,090e6312ah,0a71e9adfh,04f5725fbh,03d684b9fh,0e95f55aeh,01e94b415h,047f7ccb1h + DD 08d946581h,07322851bh,0bdf4a012h,0f0d13133h,06584dae0h,0a3510f69h,03c9f6c6dh,003a7c171h,0e475381ah,05be97f38h,085823334h,0ca1ba422h,00be17ddah,0f83cc5c7h,00b918c0fh,0158b1494h + DD 0522e6b69h,0da3a77e5h,0bbcd6c18h,069c908c3h,0d924fd56h,01f1b9e48h,0aa4bb3f7h,037c64e36h,0ee478d7dh,05a4fdbdfh,00193f7a0h,0ba75c8bch,056cd16dfh,084bc1e84h,046fad151h,01fb08f08h + DD 0842e9f30h,08a7cabf9h,05eab83afh,0a331d4bfh,0017f2a6ah,0d272cfbah,083aba0e3h,027560abch,00e3a6b75h,094b83387h,06b9f50f5h,025c6aea2h,0b5fdf6d0h,0803d691dh,0e6333514h,003b77509h + DD 061a341c1h,036178903h,00cfd6142h,03604dc60h,08533316ch,0022295ebh,044af2922h,03dbde4ach,01c7eef69h,0898afc5dh,0d14f4fa1h,058896805h,0203c21cah,005002160h,040ef730bh,06f0d1f30h + DD 0196224f8h,08e8c44d4h,0374d079dh,075a4ab95h,07d48f123h,079085ecch,01bf65ad8h,056f04d31h,0bda602b2h,0e220bf1ch,0f9612c69h,073ee1742h,0084fd06bh,076008fc8h,0f11380d1h,04000ef9fh + DD 012cfe297h,048201b4bh,0292f74e5h,03eee129ch,0c9e874e8h,0e1fe114eh,092c5fc41h,0899b055ch,03a39c8cfh,04e477a64h,078963cc9h,082f09efeh,0d333f863h,06fd3fd8fh,0dc949c63h,085132b2ah + DD 0516eb17bh,07e06a3abh,0d2c7372bh,073bec06fh,0ba896da6h,0e4f74f55h,08e9eb40fh,0bb4afef8h,0e61d66b0h,02d75bec8h,0ef29300bh,002bda4b4h,0026baa5ah,08bbaa8deh,0a07f4440h,0ff54befdh + DD 0be7a2af3h,0bd9b8b1dh,04fb74a72h,0ec51caa9h,063879697h,0b9937a4bh,0ec2687d5h,07c9a9d20h,06ef5f014h,01773e44fh,0e90c6900h,08abcf412h,08142161eh,0387bd022h,0fcb6ff2ah,050393755h + DD 0ed6def63h,09813fd56h,07d53106ch,053cf6482h,0431f7ac1h,0991a35bdh,063e65fafh,0f1e274ddh,044cc7880h,0f63ffa3ch,07c256981h,0411a426bh,093a420e0h,0b698b9fdh,0ae53f8feh,089fdddc0h + DD 032398baah,0766e0722h,05cfca031h,0205fee42h,07a029cf2h,0a49f5341h,04023890dh,0a88c68b8h,07337aaa8h,0bc275041h,00eb384f4h,09ed364adh,029aba92fh,0e0816f85h,004e38a88h,02e9e1941h + DD 03dafd2d5h,057eef44ah,097ed98d8h,035d1fae5h,02307f9b1h,050628c09h,0d6cba5c6h,009d84aaeh,088aaa691h,067071bc7h,0afe6cb03h,02dea57a9h,03d78ac01h,0dfe11bb4h,07fd7aa51h,07286418ch + DD 077f7195ah,0fabf7709h,0adeb838fh,08ec86167h,0bb4f012dh,0ea1285a8h,09a3eab3fh,0d6883503h,0309004c2h,0ee5d24f8h,013ffe95eh,0a96e4b76h,0bd223ea4h,00cdffe12h,0b6739a53h,08f5c2ee5h + DD 0dd968198h,05cb4aaa5h,072413a6ch,0fa131c52h,09536d903h,053d46a90h,048606d8eh,0b270f0d3h,0a053a3bch,0518c7564h,01a86caefh,0088254b7h,00ab5efd0h,0b3ba8cb4h,04605945dh,05c59900eh + DD 0a1887395h,0ecace1ddh,0932a65deh,040960f36h,03aa95529h,09611ff5ch,07c1e5a36h,0c58215b0h,0f0e1a524h,0d48c9b58h,0f590dfb8h,0b406856bh,09cd95662h,0c7605e04h,0a33ecf82h,00dd036eeh + DD 0c33156b3h,0a50171ach,04a80172eh,0f09d24eah,076dc8eefh,04e1f72c6h,05e3d44eeh,0e60caadch,0979b1d8fh,0006ef8a6h,097788d26h,060908a1ch,0266feec0h,06e08f95bh,022e8c94eh,0618427c2h + DD 059145a65h,03d613339h,0fa406337h,0cd9bc368h,02d8a52a0h,082d11be3h,097a1c590h,0f6877b27h,0f5cbdb25h,0837a819bh,0de090249h,02a4fd1d8h,074990e5fh,0622a7de7h,07945511bh,0840fa5a0h + DD 06558842dh,030b974beh,017f3d0a6h,070df8c64h,07542e46dh,07c803520h,0e4ecc823h,07251fe7fh,05e9aac9ah,0e59134cbh,0f0045d71h,011bb0934h,0dbcb1d4eh,053e5d9b5h,092defc91h,08d97a905h + DD 07946d3f9h,0fe289327h,007472273h,0e132bd24h,01eb6ae86h,0eeeb510ch,0f0595067h,0777708c5h,01297029eh,018e2c8cdh,0bbf9305eh,02c61095ch,06b85d6d9h,0e466c258h,0da1ea530h,08ac06c36h + DD 0a1304668h,0a365dc39h,007f89606h,0e4a9c885h,0acc7228dh,065a4898fh,084ca8303h,03e2347ffh,0ea7d23a3h,0a5f6fb77h,0672a71cdh,02fac257dh,07e6a44d3h,06908bef8h,0891d3d7ah,08ff87566h + DD 06b0cf82eh,0e58e90b3h,02615b5e7h,06438d246h,0669c145ah,007b1f8fch,036f1e1cbh,0b0d8b2dah,0d9184c4dh,054d5dadbh,0f93d9976h,03dbb18d5h,0d1147d47h,00a3e0f56h,0a0a48609h,02afa8c8dh + DD 0bc36742ch,0275353e8h,0eea0ed90h,0898f427eh,03e477b00h,026f4947eh,0308741e3h,08ad8848ah,0d74a2a46h,06c703c38h,09ba17ba2h,05e3e05a9h,04ab9a9e4h,0c1fa6f66h,03841d6ech,0474a2d9ah + DD 0653ae326h,0871239adh,0a74cbb43h,014bcf72ah,020d4c083h,08737650eh,0110ed4afh,03df86536h,0b53ca555h,0d2d86fe7h,0abd5d538h,0688cb00dh,01ad38468h,0cf81bda3h,0f01167b6h,07ccfe3cch + DD 06c4c1fe6h,0cf4f47e0h,0298bbb79h,0557e1f1ah,030d45a14h,0f93b974fh,00baf97c4h,0174a1d2dh,0c51fbf53h,07a003b30h,0ee68b225h,0d8940991h,01c0f4173h,05b0aa7b7h,0a20a7153h,0975797c9h + DD 0e3533d77h,026e08c07h,02e341c99h,0d7222e6ah,08d2dc4edh,09d60ec3dh,07c476cf8h,0bdfe0d8fh,01d056605h,01fe59ab6h,086a8551fh,0a9ea9df6h,047fb8d8ch,08489941eh,04a7f1b10h,0feb874ebh + DD 07ee0d98fh,0fe5fea86h,0dbf61864h,0201ad34bh,037c031d4h,045d8fe47h,0795f0822h,0d5f49faeh,0c7f4a40ch,0db0fb291h,0730ddd92h,02e69d9c1h,049d76987h,0754e1054h,07662db87h,08a24911dh + DD 060a71676h,061fc1810h,0f66a8ad1h,0e852d1a8h,06417231eh,0172bbd65h,03babb11fh,00d6de7bdh,0c8e347f8h,06fde6f88h,09bd99cc3h,01c587547h,034076950h,078e54ed0h,0796e83bah,097f0f334h + DD 04924867ah,0e4dbe1ceh,060b84917h,0bd5f51b0h,03cb09a79h,037530040h,0ff1743d8h,0db3fe0f8h,0556fa9dbh,0ed7894d8h,023412fbfh,0fa262169h,0ba7b9291h,0563be0dbh,00c9fb234h,06ca8b8c0h + DD 0bd763802h,0ed406aa9h,065303da1h,0c21486a0h,0c7e62ec4h,061ae291eh,0df99333eh,0622a0492h,0bb7a8ee0h,07fd80c9dh,06c01aedbh,0dc2ed3bch,008be74ech,035c35a12h,0469f671fh,0d540cb1ah + DD 0cf84f6c7h,0d16ced4eh,02d090f43h,08561fb9ch,06f239db4h,07e693d79h,077bd0d94h,0a736f928h,02c1950eeh,007b4d929h,056dc11b3h,0da177543h,07a6a878eh,0a5dfbbaah,04decb08ah,01c70cb29h + DD 06f0f7c50h,0fba28c8bh,0854dcc6dh,0a8eba2b8h,036b78642h,05ff8e89ah,0f6873adfh,0070c1c8eh,06484d2e4h,0bbd3c371h,00d414129h,0fb78318fh,06ad93b0bh,02621a39ch,0a9e917f7h,0979d74c2h + DD 061fb0428h,0fc195647h,0bee624d4h,04d78954ah,0b8ae86fdh,0b94896e0h,0c91c8b13h,06667ac0ch,043bcf832h,09f180512h,0a0010137h,0fbadf8b7h,0b3ba8aa7h,0c69b4089h,0e687ce85h,0fac4bacdh + DD 0977eab40h,09164088dh,02760b390h,051f4c5b6h,0340dd553h,0d238238fh,0db1d31c9h,0358566c3h,05068f5ffh,03a5ad69eh,0daff6b06h,0f31435fch,0d6debff0h,0ae549a5bh,075e01331h,059e5f0b7h + DD 098559acfh,05d492fb8h,04db79b50h,096018c2eh,0609f66aah,055f4a48fh,04900a14fh,01943b3afh,015a40d39h,0c22496dfh,04c20f7c5h,0b2a44684h,03b98404ch,076a35afah,0ff5d1b77h,0bec75725h + DD 0bea06444h,0b67aa163h,0f724b6f2h,027e95bb2h,0d238c8abh,03c20e3e9h,0ddd6ae17h,01213754eh,0716e0f74h,08c431020h,0ffc095c2h,06679c82eh,0d0ac2932h,02eb3adf4h,001bb7a76h,02cc970d3h + DD 0740f0e66h,070c71f2fh,02b6b23cch,0545c616bh,0b40a8bd7h,04528cfcbh,02ab27722h,0ff839633h,0025ac99ah,0049127d9h,02b63e33bh,0d314d4a0h,028d84519h,0c8c310e7h,0b3bc84bah,00fcb8983h + DD 038634818h,02cc52261h,0b44c2e0bh,0501814f4h,054dfdba3h,0f7e181aah,0e759718ch,0cfd58ff0h,0d3b507a8h,0f90cdb14h,0c50bdad8h,057bd478eh,050e5f9aah,029c197e2h,0e40bc855h,04db6eef8h + DD 0d1fc0654h,02cc8f21ah,081269d73h,0c71cc963h,0077f49f9h,0ecfbb204h,0ca56b793h,0dde92571h,0f97ad8f7h,09abed6a3h,0924de3bdh,0e6c19d3fh,0a140a800h,08dce92f4h,01337af07h,085f44d1eh + DD 009d64c52h,05953c08bh,0f5df9749h,0a1b5e49fh,052735f7dh,0336a8fb8h,09add676bh,0b332b6dbh,0b4511aa4h,0558b88a0h,0dbd5cc55h,009788752h,0d8cd52bdh,016b43b9ch,0c2a2696bh,07f0bc5a0h + DD 0c11f61efh,0146e12d4h,03a83e79eh,09ce10754h,06cbfca15h,008ec73d9h,05b49653fh,009ff29adh,0e7da946eh,0e31b72bdh,0ee80a4f2h,0ebf9eb3bh,017598ce4h,0d1aabd08h,053f37e80h,018b5fef4h + DD 05958cd79h,0d5d5cdd3h,01d373114h,03580a1b5h,0fa935726h,0a36e4c91h,0ef20d760h,0a38c534dh,02ff5845bh,07088e40ah,0bd78177fh,0e5bb40bdh,0857f9920h,04f06a7a8h,0e968f05dh,0e3cc3e50h + DD 0e5682d26h,01d68b7feh,0aec7f87ch,05206f76fh,0041951abh,041110530h,0d4b5a71ah,058ec52c1h,00f75cf9ah,0f3488f99h,0ba82d0d5h,0f411951fh,0618895abh,027ee75beh,06d8aab14h,0eae060d4h + DD 07fb54dc2h,09ae1df73h,025963649h,01f3e391bh,0fe055081h,0242ec32ah,08491c9bdh,05bd450efh,0981eb389h,0367efc67h,03a0550d5h,0ed7e1928h,0ab3ce75ch,0362e776bh,01f24c523h,0e890e308h + DD 0feccef76h,0b961b682h,08bba6d92h,08b8e11f5h,02b2375c4h,08f2ccc4ch,0e2f86cfah,00d7f7a52h,09efe5633h,0fd94d30ah,05451f934h,02d8d246bh,0244e6a00h,02234c6e3h,0ddec8c50h,0de2b5b0dh + DD 0bf776f5bh,02ce53c5ah,060357b05h,06f724071h,071bf3f7ah,0b2593717h,0440c4a9fh,087d2501ch,087b05340h,0440552e1h,021624c32h,0b7bf7cc8h,022facddbh,04155a6ceh,0889837efh,05a4228cbh + DD 0fd4fd671h,0ef87d6d6h,0c2daa10eh,0a233687eh,003c0eb96h,075622244h,08bf19be6h,07632d184h,040735ff4h,005d0f8e9h,0c00931f1h,03a3e6e13h,0dafe3f18h,031ccde6ah,0cfe51207h,0f381366ah + DD 060167d92h,024c222a9h,07529f18ch,062f9d6f8h,00353b114h,0412397c0h,0ef808043h,0334d89dch,02a4383ceh,0d9ec63bah,05cf92ba0h,0cec8e937h,0c8be74c0h,0fb8b4288h,0105d4391h,067d6912fh + DD 01b913149h,07b996c46h,03a4e02dah,036aae2efh,0972de594h,0b68aa003h,04ec6d545h,0284ec70dh,061391d54h,0f3d2b2d0h,0fe114e92h,069c5d5d6h,0b4482dffh,0be0f00b5h,0f5bf33c5h,0e1596fa5h + DD 096a71cbah,010595b56h,0fdcadeb7h,0944938b2h,0fccd8471h,0a282da4ch,00d37bfe1h,098ec05f3h,00698304ah,0e171ce1bh,021bdf79bh,02d691444h,01b21dec1h,0d0cd3b74h,016a15f71h,0712ecd8bh + DD 000fd56e1h,08d4c00a7h,0f9527c18h,002ec9692h,04a3e42e1h,021c44937h,01392ae0ah,09176fbabh,044b7b618h,08726f1bah,0f1de491ch,0b4d7aae9h,007b582c0h,0f91df7b9h,0ef60aa3ah,07e116c30h + DD 0466265d7h,099270f81h,04df7adf0h,0b15b6fe2h,0f9738f7fh,0fe33b2d3h,0d6d70f95h,048553ab9h,0c21e94dbh,02cc72ac8h,0bdc0bbeeh,0795ac38dh,02e40478fh,00a1be449h,0052bde55h,081bd3394h + DD 056b3c4f2h,063c8dbe9h,0904177cch,0017a99cfh,04d010fc1h,0947bbddbh,0bb2c9b21h,0acf9b00bh,047173611h,02970bc8dh,0ac7d756fh,01a4cbe08h,067d541a2h,006d9f4aah,059c2cf44h,0a3e8b689h + DD 04d88f1ddh,0aad066dah,07ad35deah,0c604f165h,04478ca67h,07edc0720h,0ba02ce06h,0a10dfae0h,0af36f4e4h,0eceb1c76h,0af3f8f48h,0994b2292h,077c8a68ch,0bf9ed77bh,051744c9dh,074f544eah + DD 08113a757h,082d05bb9h,08a9885e4h,04ef2d2b4h,01aa7865fh,01e332be5h,0290d1a52h,022b76b18h,044351683h,0308a2310h,0a3f22840h,09d861896h,0841ed947h,05959ddcdh,0154b73bfh,00def0c94h + DD 04c7c15e0h,0f0105417h,03a277c32h,0539bfb02h,0f9dccf5fh,0e699268eh,00247a3bdh,09f5796a5h,04f157269h,08b839de8h,07a30196bh,0c825c1e5h,0dc8a5a91h,06ef0aabch,0498b7fe6h,0f4a8ce6ch + DD 070cbac78h,01cce35a7h,0f6b23958h,083488e9bh,0d76cb011h,00341a070h,0ae1b2658h,0da6c9d06h,0dd648c52h,0b701fb30h,052fb9fd1h,0994ca02ch,06f563086h,006933117h,017856babh,03d2b8100h + DD 05963a46eh,0e89f48c8h,0a99e61c7h,0658ab875h,04b8517b4h,06e296f87h,0fc1bc656h,036c4fcdch,0a3906defh,0de5227a1h,062418945h,09fe95f57h,0fdd96cdeh,020c91e81h,0da4480deh,05adbe47eh + DD 0396de2b6h,0a009370fh,0f0ecc7bdh,098583d4bh,0e51d0672h,0f44f6b57h,0556b1984h,003d6b078h,0b0b64912h,027dbdd93h,015687b09h,09b3a3434h,051ec20a9h,00dba6461h,0ff28187ch,0ec93db7fh + DD 066e48bddh,000ff8c24h,011ccd78eh,02514f2f9h,0e1250603h,0eba11f4fh,0243fa156h,08a22cd41h,0b283e4c6h,0a4e58df4h,08b39783fh,078c29859h,0a5259809h,05235aee2h,00e0227ddh,0c16284b5h + DD 01338830dh,0a5f57916h,0d2123fcah,06d4b8a6bh,0f9c546f8h,0236ea68ah,0fa608d36h,0c1d36873h,08d436d13h,0cd76e495h,08fb080afh,0d4d9c221h,0e8ad3fb5h,0665c1728h,0b3d572e0h,0cf1ebe4dh + DD 0584c5e20h,0a7a8746ah,0b9dc7035h,0267e4ea1h,0b9548c9bh,0593a15cfh,04bd012f3h,05e6e2135h,08c8f936eh,0df31cc6ah,0b5c241dch,08af84d04h,0345efb86h,063990a6fh,0b9b962cbh,06fef4e61h + DD 025722608h,0f6368f09h,0131cf5c6h,0131260dbh,0fab4f7ach,040eb353bh,037eee829h,085c78880h,0c3bdf24eh,04c1581ffh,0f5c3c5a8h,05bff75cbh,0a14e6f40h,035e8c83fh,00295e0cah,0b81d1c0fh + DD 0f43a730fh,0fcde7cc8h,033ab590eh,0e89b6f3ch,0ad03240bh,0c823f529h,098bea5dbh,082b79afeh,0962fe5deh,0568f2856h,060c591f3h,00c590adbh,04a28a858h,01fc74a14h,0b3203f4ch,03b662498h + DD 06c39765ah,091e3cf0dh,0ac3cca0bh,0a2db3acdh,0cb953b50h,0288f2f08h,0cf43cf1ah,02414582ch,060eee9a8h,08dec8bbch,0729aa042h,054c79f02h,06532f5d5h,0d81cd5ech,0cf82e15fh,0a672303ah + DD 0719c0563h,0376aafa8h,0bc5fc79fh,0cd8ad2dch,0cb750cd3h,0303fdb9fh,04418b08eh,014ff052fh,03e2d6520h,0f75084cfh,0144ed509h,07ebdf0f8h,0d3f25b98h,0f43bf0f2h,0a354d837h,086ad71cfh + DD 026f43572h,0b827fe92h,05d824758h,0dfd3ab5bh,0539094c1h,0315dd23ah,066623d68h,085c0e37ah,07be19ae0h,0575c7972h,0df0d36b5h,0616a3396h,026b1ff7eh,0a1ebb3c8h,0140ad453h,0635b9485h + DD 0da430c0bh,092bf3cdah,03a96dac6h,04702850eh,015ac326ah,0c91cf0a5h,0ab8c25e4h,095de4f49h,0e265c17ch,0b01bad09h,0087b3881h,024e45464h,0e1fac5cah,0d43e583ch,06ead97a6h,0e17cb318h + DD 074dcec46h,06cc39243h,054c2b73fh,033cfc02dh,0f26cd99ch,082917844h,0d1773f89h,08819dd95h,00871f427h,009572aa6h,0f6f01c34h,08e0cf365h,0bff1f5afh,07fa52988h,0e75e8e50h,04eb357eah + DD 0868af75dh,0d9d0c8c4h,045c8c7eah,0d7325cffh,0cc81ecb0h,0ab471996h,0611824edh,0ff5d55f3h,01977a0eeh,0be314541h,0722038c6h,05085c4c5h,0f94bb495h,02d5335bfh,0c8e2a082h,0894ad8a6h + DD 0ada35438h,05c3e2341h,0049b8c4eh,0f4a9fc89h,09f17cf34h,0beeb355ah,06c91fe10h,03f311e0eh,092ab9891h,0c2d20038h,03e8ce9a9h,0257bdcc1h,088c53beeh,01b2d9789h,0cdba143ah,0927ce89ah + DD 0523db280h,0b0a32ccah,050d43783h,05c889f8ah,04897d16fh,0503e04b3h,008f5f2e8h,08cdb6e78h,0179c8e74h,06ab91cf0h,048211d60h,0d8874e52h,0ea851200h,0f948d4d5h,0e6f9840ah,04076d41eh + DD 047b517eah,0c20e263ch,030685e5eh,079a448fdh,0f90631a0h,0e55f6f78h,0a79e6346h,088a790b1h,080969fe8h,062160c7dh,041491bb9h,054f92fd4h,05c957526h,0a6645c23h,0bea3ce7bh,0f44cc5aeh + DD 08b1e68b7h,0f7628327h,0303f29d3h,0c731ad7ah,057d03ecbh,0fe5a9ca9h,041bc97a7h,096c0d50ch,09b4f7f24h,0c4669fe7h,03d9967efh,0fdd781d8h,05d2c208dh,07892c7c3h,0ae545cb3h,08bf64f7ch + DD 0467be912h,0c01f862ch,0c73d30cch,0f4c85ee9h,06ab83ec7h,01fa6f4beh,04e3e3cf9h,0a07a3c1ch,00c00beb3h,087f8ef45h,0000d4c3eh,030e2c2b3h,0fe08bf5bh,01aa00b94h,09224ef52h,032c133aah + DD 032e5685dh,038df16bbh,058e6f544h,068a9e069h,0cdc5ebc6h,0495aaff7h,0378b135fh,0f894a645h,009e27ecfh,0f316350ah,058f7179dh,0eced201eh,0e97861bah,02eec273ch,0d693be2eh,047ec2caeh + DD 0f68367ceh,0fa4c97c4h,0be5a5755h,0e4f47d0bh,0b298a979h,017de815dh,0c177dc7dh,0d7eca659h,049ded0a3h,020fdbb71h,0fb34d3c5h,04cb2aad4h,060858a33h,02cf31d28h,0a24aa40fh,03b6873efh + DD 02c11bb37h,0540234b2h,0ed4c74a3h,02d0366ddh,0eec5f25dh,0f9a968dah,067b63142h,036601068h,068d7b6d4h,007cd6d2ch,00c842942h,0a8f74f09h,07768b1eeh,0e2751404h,0fe62aee4h,04b5f7e89h + DD 089070d26h,0c6a77177h,0dd1c8bc7h,0a1f28e4eh,0469e1f17h,0ea5f4f06h,0fbdb78e0h,078fc242ah,08b0588f1h,0c9c7c592h,01535921eh,0b6b7a0fdh,0bde5ae35h,0cc5bdb91h,012ff1864h,0b42c485eh + DD 0dbab98aah,0a1113e13h,0a17b1024h,0de9d469bh,0c0462d3ah,023f48b37h,07c5c078dh,03752e537h,015544eb9h,0e3a86addh,080fba279h,0f013aea7h,0f22001b5h,08b5bb76ch,0f02891abh,0e617ba14h + DD 0936219d3h,0d39182a6h,0ae51cb19h,05ce1f194h,0bf07a74ch,0c78f8598h,022cbf1bch,06d7158f2h,0e300ce18h,03b846b21h,02d11275dh,035fba630h,0a0239b9bh,05fe25c36h,0df05d940h,0d8beb35dh + DD 01f7e320dh,04db02bb0h,06da320eah,00641c364h,0821389a3h,06d95fa5dh,08fcd8e3dh,092699748h,0ceb6c143h,0316fef17h,0d933762bh,067fcb841h,0118b17f8h,0bb837e35h,09fd24821h,04b92552fh + DD 046aca793h,0ae6bc70eh,0e579311bh,01cf0b0e4h,05802f716h,08dc631beh,0bddbee4dh,0099bdc6fh,00caf8b05h,0cc352bb2h,072d63df2h,0f74d505ah,091c4f408h,0b9876d4bh,09e229b2dh,01ce18473h + DD 083abdb4ah,049507597h,0dee84b18h,0850fbcb6h,0609e67dch,06325236eh,09336c6d8h,004d831d9h,0fa12d45dh,08deaae3bh,04746e246h,0e425f8ceh,024f5f31eh,08004c175h,0ad62c3b7h,0aca16d8fh + DD 09152f934h,00dc15a6ah,0ed0e12c1h,0f1235e5dh,0da477dach,0c33c06ech,0b2ea0006h,076be8732h,00c0cd313h,0cf3f7831h,0a614260dh,03c524553h,0cab22d15h,031a756f8h,077827a20h,003ee10d1h + DD 01994ef20h,0d1e059b2h,0638ae318h,02a653b69h,02f699010h,070d5eb58h,009f5f84ah,0279739f7h,08b799336h,05da4663ch,0203c37ebh,0fdfdf14dh,0a1dbfb2dh,032d8a9dch,077d48f9bh,0ab40cff0h + DD 0d20b42d5h,0c018b383h,09f78845fh,0f9a810efh,0bdba9df0h,040af3753h,0131dfdf9h,0b90bdcfch,0f01ab782h,018720591h,06af12a88h,0c823f211h,00dc14401h,0a51b80f3h,0fb2dfbe3h,0de248f77h + DD 00cafe751h,0ef5a44e5h,0d4dcd221h,073997c9ch,0de854024h,032fd86d1h,0a09b84bbh,0d5b53adch,0dcedd8d1h,0008d7a11h,074b32c84h,0406bd1c8h,005dde8b1h,05d4472ffh,0fce2b32fh,02e25f2cdh + DD 029dfc254h,0bec0dd5eh,02b98b267h,04455fcf6h,0c72df2adh,00b4d43a5h,048a75397h,0ea70e6beh,05820f3bfh,02aad6169h,09e37f68fh,0f410d2ddh,07be5ac83h,070fb7dbah,036ec3eech,0636bb645h + DD 09754e21ch,027104ea3h,08d63c373h,0bc87a3e6h,04109db9ah,0483351d7h,060134da7h,00fa724e3h,0b0720b16h,09ff44c29h,006aceeadh,02dd0cf13h,0e26929a6h,05942758ch,0b766a92bh,096c5db92h + DD 05f18395eh,0cec7d4c0h,01f80d032h,0d3f22744h,0cb86075bh,07a68b37ah,0afef92dbh,0074764ddh,07bc7f389h,0ded1e950h,0b9756460h,0c580c850h,07da48157h,0aeeec2a4h,082c587b3h,03f0b4e7fh + DD 0a9f19c53h,0231c6de8h,06974e34eh,05717bd73h,0f1508fa9h,0d9e1d216h,0dadaa124h,09f112361h,0823b7348h,080145e31h,0ac634069h,04dd8f0d5h,02297c258h,0e3d82fc7h,09cee7431h,0276fcfeeh + DD 02bc0aea9h,08eb61b5eh,0de329431h,04f668fd5h,038e4b87eh,003a32ab1h,073d0ef0bh,0e1374517h,0853ac983h,01a46f7e6h,068e78a57h,0c3bdf42eh,02ea96dd1h,0acf20785h,0f1638460h,0a10649b9h + DD 0879fbbedh,0f2369f0bh,0da9d1869h,00ff0ae86h,056766f45h,05251d759h,02be8d0fch,04984d8c0h,0d21008f0h,07ecc95a6h,03a1a1c49h,029bd54a0h,0d26c50f3h,0ab9828c5h,051d0d251h,032c0087ch + DD 00c1cdb26h,09bac3ce6h,0557ca205h,0cd94d947h,09db1fdcdh,01b1bd598h,0a3d8b149h,00eda0108h,056152fcch,095066610h,0e7192b33h,0c2f037e6h,0c92e05a4h,0deffb41ah,0c2f6c62eh,01105f6c2h + DD 08733913ch,068e73500h,03f3adc40h,0cce86163h,038a278e9h,0f407a942h,02ab21292h,0d13c1b9dh,01c74cf5ch,093ed7ec7h,0f1a4c1b4h,08887dc48h,04b3a11f1h,03830ff30h,058937cb6h,0358c5a3ch + DD 089022829h,0027dc404h,03b798f79h,040e93977h,038be6eadh,090ad3337h,0f34c0a5dh,09c23f6bch,0fbffd8bbh,0d1711a35h,01949d3ddh,060fcfb49h,07825d93ah,009c8ef4bh,0a0a8c968h,024233cffh + DD 0e6d982afh,067ade46ch,0e7544d7ch,0ebb6bf3eh,03d8bd087h,0d6b9ba76h,04dc61280h,046fe382dh,0b5bdbd75h,0bd39a7e8h,0b8f228feh,0ab381331h,0ce1c4300h,00709a77ch,0f337ceach,06a247e56h + DD 0636288beh,08f34f21bh,0c8a7c305h,09dfdca74h,0ea919e04h,06decfd1bh,08e1991f8h,0cdf2688dh,0d0f8a67eh,0e607df44h,00b58d010h,0d985df4bh,00c24f8f4h,057f834c5h,0a0bf01aeh,0e976ef56h + DD 0a1c32373h,0536395ach,0734c0a13h,0351027aah,05e6bd5bch,0d2f1b5d6h,0223debedh,02b539e24h,00eaa1d71h,0d4994cech,0661dcf65h,02a83381dh,07b54c740h,05f1aed2fh,0d6dda5eeh,00bea3fa5h + DD 036cc6134h,09d4fb684h,0c0a443ddh,08eb9bbf3h,0383b7d2ah,0fc500e2eh,05b775257h,07aad621ch,00a8f7cc0h,069284d74h,007562d65h,0e820c2ceh,0499758eeh,0bf9531b9h,06ee0cc2dh,073e95ca5h + DD 0fbaf50a5h,0f61790abh,0684e0750h,0df55e76bh,0f176b005h,0ec516da7h,07a2dddc7h,0575553bbh,0553afa73h,037c87ca3h,04d55c251h,0315f3ffch,0af3e5d35h,0e846442ah,06495ff28h,061b91149h + DD 0fa326dc3h,023cc95d3h,018fc2ceah,01df4da1fh,0d0a37d59h,024bf9adch,0320d6e1eh,0b6710053h,0618344d1h,096f9667eh,0a06445afh,0cc7ce042h,0d68dbc3ah,0a02d8514h,0280b5a5bh,04ea109e4h + DD 0b40961bfh,05741a7ach,06aa56bfah,04ada5937h,002b765d1h,07feb9145h,0e6ad1582h,0561e97beh,0da3982f5h,0bbc4a5b6h,0b546f468h,00c2659edh,059612d20h,0b8e7e6aah,0ac19e8e0h,0d83dfe20h + DD 0b835398ch,08530c45fh,0b38a41c2h,06106a8bfh,035f5dcdbh,021e8f9a6h,0cae498edh,039707137h,0d8249f00h,070c23834h,0ab2537a0h,09f14b58fh,05f61c0c2h,0d043c365h,009a194a7h,0dc5926d6h + DD 08e77738ah,0ddec0339h,0fba46426h,0d07a63efh,0ee7f6e86h,02e58e79ch,0ff32d241h,0e59b0459h,020fa0338h,0c5ec84e5h,0eaff5aceh,097939ac8h,0b4a38313h,00310a4e3h,08f9d9885h,09115fba2h + DD 05fadf8c3h,08dd710c2h,0ce19c0e2h,066be38a2h,04cfe5022h,0d42a279ch,00e24e1b8h,0597bb530h,0c153ca7fh,03cde86b7h,0707d63bdh,0a8d30fb3h,0bd60d21eh,0ac905f92h,07b9a54abh,098e7ffb6h + DD 0e9726a30h,0d7147df8h,0afce3533h,0b5e216ffh,02ff1ec40h,0b550b799h,0a1e953fdh,06b613b87h,0792d5610h,087b88dbah,0a190fbe1h,02ee1270ah,02ef581dah,002f4e2dch,0eff82a95h,0016530e4h + DD 08fd6ee89h,0cbb93dfdh,046848fffh,016d3d986h,01da47adfh,0600eff24h,00ad47a71h,01b9754a0h,070c33b98h,08f9266dfh,0df34186eh,0aadc87aeh,04ad24132h,00d2ce8e1h,019946ebah,08a47cbfch + DD 062b5f3afh,047feeb66h,00abb3734h,0cefab561h,019f35cb1h,0449de60eh,0157f0eb9h,039f8db14h,03c61bfd6h,0ffaecc5bh,041216703h,0a5a4d41dh,0224e1cc2h,07f8fabedh,0871ad953h,00d5a8186h + DD 0d22da9a9h,0f10774f7h,0cc8a9b0dh,045b8a678h,0bdc32cffh,0d9c2e722h,0337202a5h,0bf71b5f5h,069fc4db9h,095c57f2fh,0765d01e1h,0b6dad34ch,0cb904635h,07e0bd13fh,0763a588ch,061751253h + DD 081af2c2dh,0d85c2997h,081b9d7dah,0c0f7d9c4h,008533e8dh,0838a34aeh,0311d8311h,015c4cb08h,08e121e14h,097f83285h,085000a5fh,0eea7dc1eh,05d256274h,00c6059b6h,0b95075c0h,0ec9beaceh + DD 01df97828h,0173daad7h,0a8937877h,0bf851cb5h,001646f3ch,0b083c594h,050c6d352h,03bad30cfh,0496bbceah,0feb2b202h,018a1e8bah,03cf9fd4fh,01c066029h,0d26de7ffh,04e9ed4f8h,039c81e9eh + DD 07b390d35h,0d8be0cb9h,0964aab27h,001df2bbdh,0c3ef64f8h,03e8c1a65h,0716ed1ddh,0567291d1h,05f5406d3h,095499c6ch,05ba8e23fh,071fdda39h,0d5096eceh,0cfeb320eh,0ca66dd16h,0be7ba92bh + DD 0c6fb5a7dh,04608d36bh,06d2dd0e0h,0e3eea15ah,08f97a36ah,075b0a3ebh,01c83de1eh,0f59814cch,01c33c23fh,056c9c5b0h,06faa4136h,0a96c1da4h,0de316551h,046bf2074h,01f756c8fh,03b866e7bh + DD 01495ed6bh,0727727d8h,0b682dce7h,0b2394243h,0758610f3h,08ab8454eh,0857d72a4h,0c243ce84h,0dbbf370fh,07b320d71h,078e0f7cah,0ff9afa37h,0ea7b523fh,00119d1e0h,0058c7d42h,0b997f8cbh + DD 037bbb184h,0285bcd2ah,0a45d1fa6h,051dcec49h,0e29634cbh,06ade3b64h,026b86ef1h,0080c94a7h,02283fbe3h,0ba583db1h,05a9315edh,0902bddc8h,086964bech,007c1ccb3h,0b6258301h,078f4eacfh + DD 056f90823h,04bdf3a49h,0741d777bh,0ba0f5080h,0f38bf760h,0091d71c3h,09b625b02h,09633d50fh,0b8c9de61h,003ecb743h,05de74720h,0b4751254h,074ce1cb2h,09f9defc9h,000bd32efh,0774a4f6ah + DD 073848f22h,0aca385f7h,0f3f8558eh,053dad716h,093c471f9h,0ab7b34b0h,019644bc7h,0f530e069h,0dd59d31ah,03d9fb1ffh,008daa795h,04382e0dfh,0d5cc88d7h,0165c6f4bh,04a18c900h,0eaa392d5h + DD 0648024eeh,094203c67h,08c2fabcdh,0188763f2h,0bbaec835h,0a80f87ach,0f29d8d54h,0632c96e0h,04c00a95eh,029b0a60eh,0e011e9fah,02ef17f40h,015b77223h,0f6c0e1d1h,014b04e32h,0aaec2c62h + DD 03d84e58ch,0d35688d8h,0958571dbh,02af5094ch,0760682a6h,04fff7e19h,0e39a407ch,04cb27077h,04ff0e321h,00f59c547h,01b34c8ffh,0169f34a6h,052bc1ba7h,02bff1096h,083583544h,0a25423b7h + DD 00ac8b782h,05d55d5d5h,02db3c892h,0ff6622ech,06b8bb642h,048fce741h,069d7e3dch,031d6998ch,0cadcaed0h,0dbaf8004h,0d81d053ch,0801b0142h,059630ec6h,094b189fch,0af762c8eh,0120e9934h + DD 0fdc6a404h,053a29aa4h,0a1909948h,019d8e01eh,0d7e89681h,03cfcabf1h,04e132d37h,03321a50dh,0e9a86111h,0d0496863h,006a3bc65h,08c0cde61h,0fc9f8eefh,0af866c49h,0ff7f5141h,02066350eh + DD 0e56ddfbdh,04f8a4689h,0fe32983ah,0ea1b0c07h,0873cb8cbh,02b317462h,02d93229fh,0658deddch,00f64ef58h,065efaf4dh,0730cc7a8h,0fe43287dh,03d047d70h,0aebc0c72h,0d92d26c9h,092efa539h + DD 094b56526h,006e78457h,00961002dh,0415cb80fh,076dcb10fh,089e5c565h,0ff9259feh,08bbb6982h,09abc2668h,04fe8795bh,01e678fb1h,0b5d4f534h,07b7da2b9h,06601f3beh,0a13d6805h,098da59e2h + DD 001799a52h,0190d8ea6h,0b86d2952h,0a20cec41h,07fff2a7ch,03062ffb2h,079f19d37h,0741b32e5h,04eb57d47h,0f80d8181h,016aef06bh,07a2d0ed4h,01cecb588h,009735fb0h,0c6061f5bh,01641caaah + DD 020151427h,07f99824fh,092430206h,0206828b6h,0e1112357h,0aa9097d7h,009e414ech,0acf9a2f2h,027915356h,0dbdac9dah,0001efee3h,07e0734b7h,0d2b288e2h,054fab5bbh,0f62dd09ch,04c630fc4h + DD 01ac2703bh,08537107ah,06bc857b5h,0b49258d8h,0bcdaccd1h,057df14deh,0c4ae8529h,024ab68d7h,0734e59d0h,07ed8b5d4h,0c495cc80h,05f8740c8h,0291db9b3h,084aedd5ah,04fb995beh,080b360f8h + DD 05fa067d1h,0ae915f5dh,09668960ch,04134b57fh,0a48edaach,0bd3656d6h,0fc1d7436h,0dac1e3e4h,0d81fbb26h,0674ff869h,0b26c33d4h,0449ed3ech,0d94203e8h,085138705h,0beeb6f4ah,0ccde538bh + DD 0a61a76fah,055d5c68dh,0ca1554dch,0598b441dh,0773b279ch,0d39923b9h,036bf9efch,033331d3ch,0298de399h,02d4c848eh,0a1a27f56h,0cfdb8e77h,057b8ab70h,094c855eah,06f7879bah,0dcdb9daeh + DD 0019f2a59h,07bdff8c2h,0cb4fbc74h,0b3ce5bb3h,08a9173ddh,0ea907f68h,095a75439h,06cd3d0d3h,0efed021ch,092ecc4d6h,06a77339ah,009a9f9b0h,07188c64ah,087ca6b15h,044899158h,010c29968h + DD 0ed6e82efh,05859a229h,065ebaf4eh,016f338e3h,05ead67aeh,00cd31387h,054ef0bb4h,01c73d228h,074a5c8c7h,04cb55131h,07f69ad6ah,001cd2970h,0e966f87eh,0a04d00ddh,00b7b0321h,0d96fe447h + DD 088fbd381h,0342ac06eh,05c35a493h,002cd4a84h,054f1bbcdh,0e8fa89deh,02575ed4ch,0341d6367h,0d238202bh,0ebe357fbh,0a984ead9h,0600b4d1ah,052436ea0h,0c35c9f44h,0a370751bh,096fe0a39h + DD 07f636a38h,04c4f0736h,00e76d5cbh,09f943fb7h,0a8b68b8bh,0b03510bah,09ed07a1fh,0c246780ah,06d549fc2h,03c051415h,0607781cah,0c2953f31h,0d8d95413h,0955e2c69h,07bd282e3h,0b300fadch + DD 087e9189fh,081fe7b50h,0f42dda27h,0db17375ch,0cf0a5904h,022f7d896h,0ebe348e6h,0a0e57c5ah,0f40e3c80h,0a61011d3h,08db705c5h,0b1189321h,050fedec3h,04ed9309eh,04d6d5c1dh,0dcf14a10h + DD 055691342h,0056c265bh,091049dc7h,0e8e08504h,0c9bae20ah,0131329f5h,0d9dccdb4h,096c8b3e8h,0fb4ee6b4h,08c5ff838h,041e8ccf0h,0fc5a9aebh,0fae050c6h,07417b764h,000452080h,00953c3d7h + DD 038dfe7e8h,021372682h,02bb79d4bh,0ea417e15h,076e7cf2dh,059641f1ch,0ea0bcfcch,0271e3059h,07253ecbdh,0624c7dfdh,04fca6186h,02f552e25h,04d866e9ch,0cbf84ecdh,0f68d4610h,073967709h + DD 0c27901b4h,0a14b1163h,0899b8bf3h,0fd9236e0h,0cbc6da0ah,042b091ech,05ad1d297h,0bb1dac6fh,0a91cf76eh,080e61d53h,0d31f1ee7h,04110a412h,013efcf77h,02d87c3bah,0df450d76h,01f374bb4h + DD 00d188dabh,05e78e2f2h,0f4b885efh,0e3968ed0h,07314570fh,046c0568eh,001170521h,031616338h,04f0c8afeh,018e1e7e2h,0deea78dah,04caa75ffh,07c5d8a51h,082db67f2h,06f505370h,036a44d86h + DD 00333974fh,0d72c5bdah,027a70146h,05db516aeh,0210ef921h,034705281h,00c9c38e5h,0bff17a8fh,012476da1h,078f4814eh,033c16980h,0c1e16613h,0424d4bcah,09e5b386fh,0c85740deh,04c274e87h + DD 06c2f5226h,0b6a9b88dh,0550d7ca8h,014d1b944h,01fc41709h,0580c85fch,054c6d519h,0c1da368bh,0d5113cf7h,02b0785ceh,05a34708fh,00670f633h,015cc3f88h,046e23767h,050c72c8fh,01b480cfah + DD 04147519ah,020288602h,026b372f0h,0d0981each,0a785ebc8h,0a9d4a7cah,0dbdf58e9h,0d953c50dh,0fd590f8fh,09d6361cch,044e6c917h,072e9626bh,022eb64cfh,07fd96110h,09eb288f3h,0863ebb7eh + DD 06aca8ee7h,06e6ab761h,0d7b40358h,097d10b39h,01e5feb0dh,01687d377h,08265a27ah,0c83e50e4h,0c954b313h,08f75a9feh,0310d1f61h,0cc2e8f47h,06557d0e0h,0f5ba81c5h,03eaf6207h,025f9680ch + DD 04354080bh,0f95c6609h,07bf2fe1ch,05225bfa5h,05c7d98fah,0c5c004e2h,0019aaf60h,03561bf1ch,0ba151474h,05e6f9f17h,0b04f6ecah,0dec2f934h,0269acb1eh,064e368a1h,00cdda493h,01332d9e4h + DD 0df23de05h,060d6cf69h,0009339a0h,066d17da2h,00a693923h,09fcac985h,0ed7c6a6dh,0bcf057fch,0f0b5662ch,0c3c5c8c5h,0dcba4f24h,025318dd8h,0082b69ffh,060e8cb75h,01e728c01h,07c23b3eeh + DD 0097e4403h,015e10a0ah,019854665h,0cb3d0a86h,0d67d4826h,088d8e211h,00b9d2839h,0b39af66eh,0bd475ca8h,0a5f94588h,0c077b80bh,0e06b7966h,0da27c26ch,0fedb1485h,0fe0fd5e0h,0d290d33ah + DD 0f34fb0fah,0a40bcc47h,01fb1ab09h,0b4760cc8h,0a273bfe3h,08fca0993h,0f70b213ch,013e4fe07h,0fdb05163h,03bcdb992h,00c2b19b6h,08c484b11h,0aaf2e3e2h,01acb815fh,0b89ff1b4h,0c6905935h + DD 0586e74e1h,0b2ad6f9dh,067b80484h,0488883adh,0369c3ddbh,0758aa2c7h,09f9afd31h,08ab74e69h,05e21beb1h,010fc2d28h,0318c42f9h,03484518ah,053cf40c3h,0377427dch,0391bc1d9h,09de0781ah + DD 0693807e1h,08faee858h,04e81ccc7h,0a3865327h,06f835b84h,002c30ff2h,00d3d38d4h,0b604437bh,05ca1823dh,0b3fc8a98h,003be0324h,0b82f7ec9h,0cf684a33h,0ee36d761h,09f29bf7dh,05a01df0eh + DD 01306583dh,0686202f3h,0437c622eh,005b10da0h,0076a7bc8h,0bf9aaa0fh,08f8f4e43h,025e94efbh,0fa3dc26dh,08a35c9b7h,096ff03c5h,0e0e5fb93h,0ebc394ceh,0a77e3843h,08361de60h,0cede6595h + DD 0a1993545h,0d27c22f6h,024d671bah,0ab01cc36h,0a169c28eh,063fa2877h,02eb08376h,0925ef904h,053aa0b32h,03b2fa3cfh,071c49d7ah,0b27beb5bh,0d105e27fh,0b60e1834h,04f68570dh,0d6089788h + DD 0d6fbc2ach,023094ce0h,0815ff551h,0738037a1h,06bef119ch,0da73b1bbh,0eef506bah,0dcf6c430h,0e3ef104ah,000e4fe7bh,00a065628h,0ebdd9a2ch,08792043eh,0853a81c3h,0b3b59108h,022ad6eceh + DD 039cd297dh,09fb813c0h,005bda5d9h,08ec7e16eh,00d104b96h,02834797ch,07c511510h,0cc11a2e7h,096ee6380h,096ca5a53h,0cea38742h,0054c8655h,0d54dfa7dh,0b5946852h,01f4ab207h,097c422e7h + DD 00c22b540h,0bf907509h,0b7c267d4h,02cde42aah,05ab0d693h,0ba18f9edh,06e4660d9h,03ba62aa6h,0ab9ea96ah,0b24bf97bh,0e3b60e32h,05d039642h,07c4d9bd5h,04e6a4506h,07ed4a6a4h,0666c5b9eh + DD 08edbd7cch,0fa3fdcd9h,0c6ccd753h,04660bb87h,021e6b64fh,09ae90820h,0b36bfb3fh,08a56a713h,05726d47fh,0abfce096h,00b1a9a7fh,09eed01b2h,04eb74a37h,030e9cad4h,053e9666dh,07b2524cch + DD 08f4b002fh,06a29683bh,041f4fc20h,0c2200d7ah,03a338acch,0cf3af47ah,0e7128975h,06539a4fbh,0c33c7fcfh,0cec31c14h,0c7be322bh,07eb6799bh,06646f623h,0119ef4e9h,054d7299bh,07b7a26a5h + DD 0403f46f2h,0cb37f08dh,01a0ec0c7h,094b8fc43h,0c332142fh,0bb8514e3h,0e80d2a7ah,0f3ed2c33h,0b639126ch,08d2080afh,0e3553adeh,0f7b6be60h,01c7e2b09h,03950aa9fh,06410f02bh,0847ff958h + DD 0678a31b0h,0877b7cf5h,03998b620h,0d50301aeh,0c00fb396h,0734257c5h,004e672a6h,0f9fb18a0h,0e8758851h,0ff8bd8ebh,05d99ba44h,01e64e4c6h,07dfd93b7h,04b8eaedfh,004e76b8ch,0ba2f2a98h + DD 0e8053433h,07d790cbah,03d2c9585h,0c8e725a0h,0cdd8f5edh,058c5c476h,0efa9fe1dh,0d106b952h,00eff13a9h,03c5c775bh,0e057b930h,0242442bah,0c9b70cbdh,0e9f458d4h,0a3cdb89ah,069b71448h + DD 00e2ed742h,041ee46f6h,040067493h,0573f1045h,09d54c304h,0b1e154ffh,08d3a7502h,02ad0436ah,0431a8121h,0ee4aaa2dh,0886f11edh,0cd38b3abh,0034a0eb7h,057d49ea6h,0f7e85e58h,0d2b773bdh + DD 09b5c1f14h,04a559ac4h,03e54df2bh,0c444be1ah,0eda41891h,013aad704h,05eb5c788h,0cd927bech,0e48c8a34h,0eb3c8516h,04b546669h,01b7ac812h,0594df8ech,01815f896h,079227865h,087c6a79ch + DD 09b56ddbdh,0ae02a2f0h,08a2f1cf3h,01339b5ach,0839dff0dh,0f2b569c7h,0fee9a43dh,0b0b9e864h,077bb064eh,04ff8ca41h,0fd249f63h,0145a2812h,0f86f689ah,03ab7beach,001d35f5eh,09bafec27h + DD 04265aa91h,028054c65h,0035efe42h,0a4b18304h,09639dec7h,06887b0e6h,03d52aea5h,0f4b8f6adh,0971a8a13h,0fb9293cch,04c934d07h,03f159e5dh,009acbc29h,02c50e9b1h,07154d129h,008eb65e6h + DD 030b75c3eh,04feff589h,094491c93h,00bb82fe2h,089af62bbh,0d8ac377ah,09685e49fh,0d7b51490h,004497f19h,0abca9a7bh,01a7ad13fh,01b35ed0ah,03ec86ed6h,06b601e21h,0ce0c76f1h,0da91fcb9h + DD 0d7ab27e1h,09e28507bh,063945b7bh,07c19a555h,0aafc9827h,06b43f0a1h,03aa55b91h,0443b4fbdh,06962c88fh,0962b2e65h,0ce0db0cah,0139da8d4h,01b8d6c4fh,0b93f05ddh,0180b9824h,0779cdff7h + DD 0ae57c7b7h,0bba23fddh,01b932522h,0345342f2h,0556d4aa3h,0fd9c80feh,06525bb61h,0a03907bah,0ff218933h,038b010e1h,0aa52117bh,0c066b654h,094f2e6eah,08e141920h,00d32f2b2h,066a27dcah + DD 0048b3717h,069c7f993h,0b178ae1ch,0bf5a989ah,0564f1d6bh,049fa9058h,0d31fde4eh,027ec6e15h,07276e7fch,04cce0373h,089d6bf02h,064086d79h,04ccdd979h,05a72f046h,047775631h,0909c3566h + DD 075dd7125h,01c07bc6bh,087a0428dh,0b4c6bc97h,0fdeb6b9dh,0507ece52h,0b2c95432h,0fca56512h,0d0e8bd06h,015d97181h,0c6bb46eah,0384dd317h,03952b624h,05441ea20h,04e7dc2fbh,0bcf70deeh + DD 06628e8c3h,0372b016eh,0b60a7522h,007a0d667h,00a344ee2h,0cf05751bh,0118bdeech,00ec09a48h,0d83dce46h,06e4b3d4eh,099d2fc6eh,043a6316dh,056cf044ch,0a99d8989h,0ae3e5fb7h,07c7f4454h + DD 0fbabbe92h,0b2e6b121h,0e1330076h,0281850fbh,097890015h,0093581ech,075ff77f5h,069b1ddedh,0ab105105h,07cf0b18fh,0a89ccfefh,0953ced31h,0eb914009h,03151f85fh,088ed48adh,03c9f1b87h + DD 04a7eadcbh,0c9aba1a1h,0522e71cfh,0928e7501h,03a2e4f83h,0eaede727h,01ce3bbd3h,0467e10d1h,0b955dcf0h,0f3442ac3h,0d3d5e527h,0ba96307dh,0fd77f474h,0f763a10eh,06a6e1ff0h,05d744bd0h + DD 0a777899eh,0d287282ah,0d03f3cdeh,0e20eda8fh,050b07d31h,06a7e75bbh,06f379de4h,00b7e2a94h,019f593cfh,031cb64adh,01e76ef1dh,07b1a9e4fh,0b62d609ch,0e18c9c9dh,0e779a650h,0439bad6dh + DD 0e032f144h,0219d9066h,0e8b2ec6ah,01db632b8h,0fda12f78h,0ff0d0fd4h,02a25d265h,056fb4c2dh,0255a03f1h,05f4e2ee1h,0e96af176h,061cd6af2h,0d068bc97h,0e0317ba8h,0264b988eh,0927d6babh + DD 0e90fb21eh,0a18f07e0h,0bba7fca1h,000fd2b80h,095cd67b5h,020387f27h,0d39707f7h,05b89a4e7h,0894407ceh,08f83ad3fh,06c226132h,0a0025b94h,0f906c13bh,0c79563c7h,04e7bb025h,05f548f31h + DD 0eac6d113h,02b4c6b8fh,00e813c76h,0a67e3f9ch,03fe1f4b9h,03982717ch,026d8050eh,058865819h,0f7f06f20h,099f3640ch,02a66ebc2h,0dc610216h,0767a1e08h,052f2c175h,05999871bh,005660e1ah + DD 06d3c4693h,06b0f1762h,037ed7beah,0f0e7d627h,0b75b226dh,0c51758c7h,01f91613bh,040a88628h,0bbb38ce0h,0889dbaa7h,0bddcad81h,0e0404b65h,08bc9671fh,0febccd3ah,0ee1f5375h,0fbf9a357h + DD 028f33398h,05dc169b0h,072e90f65h,0b07ec11dh,0faab1eb1h,0ae7f3b4ah,05f17538ah,0d970195eh,00181e640h,052b05cbeh,02643313dh,0f5debd62h,05df31f82h,076148154h,03a9e13c5h,023e03b33h + DD 04fde0c1fh,0ff758949h,0e5b6ec20h,0bf8a1abeh,087e1db6ch,0702278fbh,035ed658fh,0c447ad7ah,003d0ccf2h,048d4aa38h,0819a7c03h,080acb338h,06e17cecch,09bc7c89eh,003be1d82h,046736b8bh + DD 0c0432f96h,0d65d7b60h,0deb5442fh,0ddebe7a3h,07dff69a2h,079a25307h,002cf3122h,037a56d94h,0f2350d0ah,08bab8aedh,0037b0d9ah,013c3f276h,044c65caeh,0c664957ch,0c2e71a88h,088b44089h + DD 05cb02664h,0db88e5a3h,08686c72eh,05d4c0bf1h,0a682d53eh,0ea3d9b62h,00b2ad431h,09b605ef4h,0c69645d0h,071bac202h,06a1b66e7h,0a115f03ah,0158f4dc4h,0fe2c563ah,04d12a78ch,0f715b3a0h + DD 0d413213ah,08f7f0a48h,0c04becdbh,02035806dh,05d8587f5h,0ecd34a99h,09f6d3a71h,04d8c3079h,08d95a8f6h,01b2a2a67h,0f2110d0dh,0c58c9d7dh,0cf8fba3fh,0deee81d5h,00c7cdf68h,0a42be3c0h + DD 0d43b5eaah,02126f742h,0dfa59b85h,0054a0766h,0126bfd45h,09d0d5e36h,0384f8a8fh,0a1f8fbd7h,0d563fccch,0317680f5h,0f280a928h,048ca5055h,027b578cfh,0e00b81b2h,02994a514h,010aad918h + DD 0b7bdc953h,0d9e07b62h,05bc086ddh,09f0f6ff2h,0655eee77h,009d1ccffh,05bef7df1h,045475f79h,086f702cch,03faa28fah,00f021f07h,092e60905h,07f8fa8c6h,0e9e62968h,0f036ea2ch,0bd71419ah + DD 06028da9ah,0171ee1cch,0c251f573h,05352fe1ah,03fa997f4h,0f8ff236eh,0a5749d5fh,0d831b6c9h,0e350e2c2h,07c872e1dh,01e0ce403h,0c56240d9h,06974f5cbh,0f9deb077h,0961c3728h,07d50ba87h + DD 05a3a2518h,0d6f89426h,0c6303d43h,0cf817799h,0619e5696h,0510a0471h,03a5e307bh,0ab049ff6h,0feb13ec7h,0e4cdf9b0h,09d8ff90ch,0d5e97117h,09afa96afh,0f6f64d06h,09d2012a2h,000d0bf5eh + DD 0358bcdc0h,0e63f301fh,00a9d47f8h,007689e99h,04f43d43ah,01f689e2fh,090920904h,04d542a16h,09ca0a707h,0aea293d5h,08ac68065h,0d061fe45h,00090008ch,01033bf1bh,0c08a6db6h,029749558h + DD 0c1d5d034h,074b5fc59h,067e215e0h,0f712e9f6h,0860200e6h,0fd520cbdh,03ea22588h,00229acb4h,0fff0c82eh,09cd1e14ch,059c69e73h,087684b62h,096ccb989h,0da85e61ch,0a3d06493h,02d5dbb02h + DD 0e86b173ch,0f22ad33ah,0a79ff0e3h,0e8e41ea5h,0dd0d0c10h,001d2d725h,0032d28f9h,031f39088h,07829839eh,07b3f71e1h,04502ae58h,00cf691b4h,0befc6115h,0ef658dbdh,0b3ab5314h,0a5cd6ee5h + DD 05f1d2347h,0206c8d7bh,04cc2253ah,0794645bah,058389e08h,0d517d8ffh,09f847288h,04fa20deeh,0d797770ah,0eba072d8h,0bf429e26h,07360c91dh,080af8279h,07200a3b3h,082dadce3h,06a1c9150h + DD 0c35d8794h,00ee6d3a7h,00356bae5h,0042e6558h,0643322fdh,09f59698dh,050a61967h,09379ae15h,0fcc9981eh,064b9ae62h,06d2934c6h,0aed3d631h,05e4e65ebh,02454b302h,0f9950428h,0ab09f647h + DD 022248acch,0b2083a12h,03264e366h,01f6ec0efh,05afdee28h,05659b704h,0e6430bb5h,07a823a40h,0e1900a79h,024592a04h,0c9ee6576h,0cde09d4ah,04b5ea54ah,052b6463fh,0d3ca65a7h,01efe9ed3h + DD 0305406ddh,0e27a6dbeh,0dd5d1957h,08eb7dc7fh,0387d4d8fh,0f54a6876h,0c7762de4h,09c479409h,099b30778h,0be4d5b5dh,06e793682h,025380c56h,0dac740e3h,0602d37f3h,01566e4aeh,0140deabeh + DD 0afd32acfh,04481d067h,0e1f71ccfh,0d8f0fccah,0b596f2dah,0d208dd0ch,09aad93f9h,0d049d730h,042ab580eh,0c79f263dh,023f707b4h,009411bb1h,0835e0edah,08cfde1ffh,090f03402h,072707490h + DD 0c49a861eh,0eaee6126h,0e14f0d06h,0024f3b65h,0c69bfc17h,051a3f1e8h,0a7686381h,0c3c3a8e9h,0b103d4c8h,03400752ch,09218b36bh,002bc4613h,07651504ah,0c67f75ebh,0d02aebfah,0d6848b56h + DD 0c30fa92bh,0bd9802e6h,09a552784h,05a70d96dh,03f83169bh,09085c4eah,006908228h,0fa9423bbh,0fe97a5b9h,02ffebe12h,071b99118h,085da6049h,063178846h,09cbc2f7fh,09153218eh,0fd96bc70h + DD 01782269bh,0958381dbh,02597e550h,0ae34bf79h,05f385153h,0bb5c6064h,0e3088048h,06f0e96afh,077884456h,0bf6a0215h,069310ea7h,0b3b5688ch,004fad2deh,017c94295h,017896d4dh,0e020f0e5h + DD 00976505fh,0730ba0abh,0095e2ec5h,0567f6813h,06331ab71h,047062010h,041d22b9fh,072cfa977h,08a2373dah,033e55eadh,07ba45a68h,0a8d0d5f4h,003029d15h,0ba1d8f9ch,0fc55b9f3h,08f34f1cch + DD 0bbe5a1a9h,0cca4428dh,03126bd67h,08187fd5fh,048105826h,00036973ah,0b8bd61a0h,0a39b6663h,02d65a808h,06d42deefh,094636b19h,04969044fh,0dd5d564ch,0f611ee47h,0d2873077h,07b2f3a49h + DD 0300eb294h,094157d45h,0169c1494h,02b2a656eh,0d3a47aa9h,0c000dd76h,0a6243ea4h,0a2864e4fh,0db89842eh,082716c47h,061479fb7h,012dfd7d7h,0e0b2f6dch,03b9a2c56h,0d7f85d67h,046be862ah + DD 00f82b214h,003b0d8ddh,0f103cbc6h,0460c34f9h,018d79e19h,0f32e5c03h,0a84117f8h,08b8888bah,0c0722677h,08f3c37dch,01c1c0f27h,010d21be9h,0e0f7a0c6h,0d47c8468h,0adecc0e0h,09bf02213h + DD 042b48b99h,00baa7d12h,048424096h,01bcb665dh,0ebfb5cfbh,08b847cd6h,09ad4d10dh,087c2ae56h,00de36726h,0f1cbb122h,03fdfbd21h,0e7043c68h,04e79d460h,04bd0826ah,04bd1a2cbh,011f5e598h + DD 0b7fe7b6eh,097554160h,0400a3fb2h,07d16189ah,0e328ca1eh,0d73e9beah,0e793d8cch,00dd04b97h,0506db8cch,0a9c83c9bh,0cf38814ch,05cd47aaeh,0b64b45e6h,026fc430dh,0d818ea84h,0079b5499h + DD 0c1c24a3bh,0ebb01102h,01c161c1ah,0ca24e568h,036f00a4ah,0103eea69h,076176c7bh,09ad76ee8h,0538e0ff7h,097451fc2h,06604b3b0h,094f89809h,03249cfd7h,06311436eh,041224f69h,027b4a7bdh + DD 0e0ac2941h,003b5d21ah,0c2d31937h,0279b0254h,0cac992d0h,03307c052h,0efa8b1f3h,06aa7cb92h,00d37c7a5h,05a182580h,0342d5422h,013380c37h,0d5d2ef92h,092ac2d66h,0030c63c6h,0035a70c9h + DD 04ce4f152h,0c16025ddh,0f9df7c06h,01f419a71h,091e4bb14h,06d5b2214h,0839fb4ceh,0fc43c6cch,0925d6b2dh,049f06591h,062186598h,04b37d9d3h,0d01b1629h,08c54a971h,051d50e05h,0e1a9c29fh + DD 071ba1861h,05109b785h,0d0c8f93dh,048b22d5ch,08633bb93h,0e8fa84a7h,05aebbd08h,053fba6bah,0e5eea7d8h,07ff27df3h,068ca7158h,0521c8796h,0ce6f1a05h,0b9d5133bh,0fd0ebee4h,02d50cd53h + DD 0c5a3ef16h,0c82115d6h,0ba079221h,0993eff9dh,04b5da81ch,0e4da2c5eh,08033fd85h,09a89dbdbh,02b892891h,060819ebfh,05d14a4d5h,053902b21h,0d7fda421h,06ac35051h,061c83284h,0cc6ab885h + DD 0f74cff17h,014eba133h,0ecb813f2h,0240aaa03h,06f665beeh,0cfbb6540h,0a425ad73h,0084b1fe4h,0d081f6a6h,0009d5d16h,0eef82c90h,035304fe8h,0aa9eaa22h,0f20346d5h,0ac1c91e3h,00ada9f07h + DD 0968a6144h,0a6e21678h,007b31a1eh,054c1f77ch,05781fbe1h,0d6bb787eh,0e31f1c4ah,061bd2ee0h,0781105fch,0f25aa1e9h,07b2f8e80h,09cf2971fh,0cdff919bh,026d15412h,034bc896eh,001db4ebeh + DD 0b40df1cfh,07d9b3e23h,094e971b4h,059337373h,0669cf921h,0bf57bd14h,00c1a1064h,0865daedfh,083279125h,03eb70bd3h,034ecdaabh,0bc3d5b9fh,05f755cafh,091e3ed7eh,0d41e6f02h,049699f54h + DD 0d4a7a15bh,0185770e1h,0eaac87e7h,008f3587ah,0473133eah,0352018dbh,004fd30fch,0674ce719h,0088b3e0eh,07b8d9835h,05d0d47a1h,07a0356a9h,06474a3c4h,09d9e7659h,0ff66966ch,061ea48a7h + DD 00f3e4834h,030417758h,017a9afcbh,0fdbb21c2h,02f9a67b3h,0756fa17fh,0a245c1a8h,02a6b2421h,04af02291h,064be2794h,02a5804feh,0ade465c6h,0a6f08fd7h,08dffbd39h,0aa14403bh,0c4efa84ch + DD 0442b0f5ch,0a1b91b2ah,0cf997736h,0b748e317h,0cee90e16h,08d1b62bfh,00b2078c0h,0907ae271h,00c9bcdddh,0df31534bh,039adce83h,0043fb054h,0d826846ah,099031043h,0b144f393h,061a9c0d6h + DD 047718427h,0dab48046h,06e830f8bh,0df17ff9bh,0e49a1347h,0408d7ee8h,091c1d4aeh,06ac71e23h,01defd73ch,0c8cbb9fdh,0bbbbfec5h,019840657h,09e7ef8eah,039db1cb5h,064105f30h,078aa8296h + DD 0a3738c29h,0a3d9b7f0h,0bc3250a3h,00a2f235ah,0445e4cafh,055e506f6h,033475f7ah,00974f73dh,05ba2f5a8h,0d37dbba3h,06af40066h,0542c6e63h,0c5d73e2ch,026d99b53h,06c3ca33eh,006060d7dh + DD 0065fef4ah,0cdbef1c2h,0fd5b92e3h,077e60f7dh,026708350h,0d7c549f0h,034f121bfh,0201b3ad0h,00334fc14h,05fcac2a1h,0344552f6h,08a9a9e09h,097653082h,07dd8a1d3h,079d4f289h,05fc0738fh + DD 017d2d8c3h,0787d244dh,070830684h,0effc6345h,0e4f73ae5h,05ddb96ddh,0172549a5h,08efb14b1h,02245ae7ah,06eb73eeeh,0ea11f13eh,0bca4061eh,030b01f5dh,0b577421dh,0782e152ch,0aa688b24h + DD 0bd3502bah,067608e71h,0b4de75a0h,04ef41f24h,0fd6125e5h,0b08dde5eh,0a409543fh,0de484825h,065cc2295h,01f198d98h,06e0edfa2h,0428a3771h,0adf35fc7h,04f9697a2h,0f7cac3c7h,001a43c79h + DD 00fd3659ah,0b05d7059h,0bb7f2d9ah,08927f30ch,08cf984d3h,04023d1ach,002897a45h,032125ed3h,03d414205h,0fb572dadh,0e3fa82a9h,073000ef2h,0f10a5581h,04c0868e9h,06b0b3ca5h,05b61fc67h + DD 07cae440ch,0c1258d5bh,0402b7531h,021c08b41h,0de932321h,0f61a8955h,02d1408afh,03568faf8h,09ecf965bh,071b15e99h,0e917276fh,0f14ed248h,0820cf9e2h,0c6f4caa1h,018d83c7eh,0681b20b2h + DD 0c6c01120h,06cde738dh,0ae70e0dbh,071db0813h,074afe18ch,095fc0644h,0129e2be7h,034619053h,0db2a3b15h,080615ceah,0db4c7073h,00a49a19eh,08fd2d367h,00e1b84c8h,0033fb8aah,0d74bf462h + DD 0533ef217h,0889f6d65h,0c3ca2e87h,07158c7e4h,0dc2b4167h,0fb670dfbh,0844c257fh,075910a01h,0cf88577dh,0f336bf07h,0e45e2aceh,022245250h,07ca23d85h,02ed92e8dh,02b812f58h,029f8be4ch + DD 0076fe12bh,0dd9ebaa7h,0ae1537f9h,03f2400cbh,017bdfb46h,01aa93528h,067883b41h,0c0f98430h,00170911dh,05590ede1h,034d4b17fh,07562f5bbh,01826b8d2h,0e1fa1df2h,06bd80d59h,0b40b796ah + DD 03467ba92h,0d65bf197h,0f70954b0h,08c9b46dbh,00e78f15dh,097c8a0f3h,085a4c961h,0a8f3a69ah,061e4ce9bh,04242660fh,06ea6790ch,0bf06aab3h,0ec986416h,0c6706f8eh,09a9fc225h,09e56dec1h + DD 09a9898d9h,0527c46f4h,05633cdefh,0d799e77bh,07d9e4297h,024eacc16h,06b1cb734h,0abb61ceah,0f778443ch,0bee2e8a7h,029de2fe6h,03bb42bf1h,03003bb6fh,0cbed86a1h,0d781cdf6h,0d3918e6ch + DD 09a5103f1h,04bee3271h,0f50eac06h,05243efc6h,06adcc119h,0b8e122cbh,0c0b80a08h,01b7faa84h,06dfcd08ch,032c3d1bdh,00be427deh,0129dec4eh,01d263c83h,098ab679ch,0cef64effh,0afc83cb7h + DD 02fa6be76h,085eb6088h,01328cbfeh,0892585fbh,0cf618ddah,0c154d3edh,03abaf26eh,0c44f601bh,02be1fdfdh,07bf57d0bh,021137feeh,0a833bd2dh,02db591a8h,09353af36h,05562a056h,0c76f26dch + DD 03fdf5a51h,01d87e47dh,055c9cab0h,07afb5f93h,089e0586eh,091bbf58fh,00d843709h,07c72c018h,099b5c3dch,0a9a5aafbh,03844aeb0h,0a48a0f1dh,0b667e482h,07178b7ddh,06e23a59ah,0453985e9h + DD 001b25dd8h,04a54c860h,0fb897c8ah,00dd37f48h,00ea90cd9h,05f8aa610h,016d5830dh,0c8892c68h,0ef514ca5h,0eb4befc0h,0e72c9ee6h,0478eb679h,0dbc40d5fh,09bca20dah,0dde4f64ah,0f015de21h + DD 0eaf4b8a5h,0aa6a4de0h,04bc60e32h,068cfd9cah,07fd15e70h,0668a4b01h,0f27dc09dh,0d9f0694ah,0ba708bcdh,0f6c3cad5h,05bb95c2ah,05cd2ba69h,033c0a58fh,0aa28c1d3h,0abc77870h,023e274e3h + DD 0dfd20a4ah,044c3692dh,081a66653h,0091c5fd3h,009a0757dh,06c0bb691h,0667343eah,09072e8b9h,080848bech,031d40eb0h,079fd36cch,095bd480ah,065ed43f5h,001a77c61h,02e0d40bfh,0afccd127h + DD 01cc1884bh,0eccfc82dh,05d4753b4h,0c85ac201h,0658e099fh,0c7a6caach,004b27390h,0cf46369eh,0506467eah,0e2e7d049h,037cdeccch,0481b63a2h,0ed80143ah,04029abd8h,0bcb00b88h,028bfe3c7h + DD 00643d84ah,03bec1009h,0abd11041h,0885f3668h,0f83a34d6h,0db02432ch,0719ceebeh,032f7b360h,0dad1fe7ah,0f06c7837h,05441a0b0h,060a157a9h,0e2d47550h,0704970e9h,0271b9020h,0cd2bd553h + DD 033e24a0bh,0ff57f82fh,0f2565079h,09cbee23fh,0eb5f5825h,016353427h,0e948d662h,0276feec4h,0da10032bh,0d1b62bc6h,0f0e72a53h,0718351ddh,02420e7bah,093452076h,03a00118dh,096368fffh + DD 0150a49e4h,000ce2d26h,03f04706bh,00c28b636h,058b196d0h,0bad65a46h,0ec9f8b7ch,06c8455fch,02d71867eh,0e90c895fh,0edf9f38ch,05c0be31bh,0d8f6ec04h,02a37a15eh,08cd85251h,0239639e7h + DD 09c7c4c6bh,0d8975315h,0d7409af7h,0603aa3c0h,0007132fbh,0b8d53d0ch,0a6849238h,068d12af7h,0bf5d9279h,0be0607e7h,0aada74ceh,09aa50055h,0ba7e8ccbh,0e81079cbh,0a5f4ff5eh,0610c71d1h + DD 05aa07093h,09e2ee1a7h,0a75da47ch,0ca84004bh,03de75401h,0074d3951h,0bb311592h,0f938f756h,000a43421h,096197618h,007bc78c8h,039a25362h,00a171276h,0278f710ah,08d1a8f08h,0b28446eah + DD 0e3b6a661h,0184781bfh,0e6d279f7h,07751cb1dh,0c59eb662h,0f8ff95d6h,058d3dea7h,0186d90b7h,0dfb4f754h,00e4bb6c1h,02b2801dch,05c5cf56bh,01f54564dh,0c561e452h,0f0dd7f13h,0b4fb8c60h + DD 033ff98c7h,0f8849630h,0cf17769ch,09619fffah,01bfdd80ah,0f8090bf6h,0422cfe63h,014d9a149h,06f6df9eah,0b354c360h,0218f17eah,0dbcf770dh,079eb3480h,0207db7c8h,0559b6a26h,0213dbda8h + DD 029fc81b3h,0ac4c200bh,0171d87c1h,0ebc3e09fh,01481aa9eh,091799530h,092e114fah,0051b92e1h,0ecb5537fh,0df8f92e9h,0290c7483h,044b1b2cch,02adeb016h,0a711455ah,081a10c2ch,0964b6856h + DD 0cec03623h,04f159d99h,0ef3271eah,005532225h,0c5ee4849h,0b231bea3h,07094f103h,057a54f50h,09598b352h,03e2d421dh,067412ab4h,0e865a49ch,01cc3a912h,0d2998a25h,00c74d65dh,05d092808h + DD 04088567ah,073f45908h,01f214a61h,0eb6b280eh,0caf0c13dh,08c9adc34h,0f561fb80h,039d12938h,0bc6edfb4h,0b2dc3a5eh,0fe4d210eh,07485b1b1h,0e186ae72h,0062e0400h,06eeb3b88h,091e32d5ch + DD 04be59224h,06df574d7h,0716d55f3h,0ebc88ccch,0cad6ed33h,026c2e6d0h,00d3e8b10h,0c6e21e7dh,05bcc36bbh,02cc5840eh,07da74f69h,09292445eh,04e5193a8h,08be8d321h,08df06413h,03ec23629h + DD 0b134defah,0c7e9ae85h,01bb2d475h,06073b1d0h,02863c00dh,0b9ad615eh,0525f4ac4h,09e29493dh,04e9acf4fh,0c32b1deah,0a50db88dh,03e1f01c8h,004da916ch,0b05d70eah,0d865803eh,0714b0d0ah + DD 09920cb5eh,04bd493fch,092c7a3ach,05b44b1f7h,0bcec9235h,0a2a77293h,0cd378553h,05ee06e87h,0da621607h,0ceff8173h,099f5d290h,02bb03e4ch,0a6f734ach,02945106ah,0d25c4732h,0b5056604h + DD 0e079afeeh,05945920ch,06789831fh,0686e17a0h,0b74a5ae5h,05966bee8h,01e258d46h,038a673a2h,083141c95h,0bd1cc1f2h,00e96e486h,03b2ecf4fh,074e5fc78h,0cd3aa896h,02482fa7ah,0415ec10ch + DD 080503380h,015234419h,0d314b392h,0513d917ah,063caecaeh,0b0b52f4eh,02dc7780bh,007bf22adh,0e4306839h,0e761e8a1h,05dd7feaah,01b3be962h,074c778f1h,04fe728deh,05e0070f6h,0f1fa0bdah + DD 06ec3f510h,085205a31h,0d2980475h,02c7e4a14h,06f30ebfdh,0de3c19c0h,0d4b7e644h,0db1c1f38h,05dce364ah,0fe291a75h,0058f5be3h,0b7b22a3ch,037fea38ch,02cd2c302h,02e17be17h,02930967ah + DD 00c061c65h,087f009deh,0edc6ed44h,0cb014aach,03bafb1ebh,049bd1cb4h,0282d3688h,081bd8b5ch,0f01a17afh,01cdab87eh,0e710063bh,021f37ac4h,042fc8193h,05a6c5676h,056a6015ch,0f4753e70h + DD 0a15b0a44h,0020f795eh,08958a958h,08f37c8d7h,0a4b675b5h,063b7e89bh,00fc31aeah,0b4fb0c0ch,0a7ff1f2eh,0ed95e639h,0619614fbh,09880f5a3h,0947151abh,0deb6ff02h,0a868dcdbh,05bc5118ch + DD 04c20cea5h,0d8da2055h,014c4d69ah,0cac2776eh,0622d599bh,0cccb22c1h,068a9bb50h,0a4ddb653h,01b4941b4h,02c4ff151h,06efba588h,0e1ff19b4h,0c48345e0h,035034363h,01e29dfc4h,045542e3dh + DD 0349f7aedh,0f197cb91h,08fca8420h,03b2b5a00h,023aaf6d8h,07c175ee8h,035af32b6h,054dcf421h,027d6561eh,00ba14307h,0d175b1e2h,0879d5ee4h,099807db5h,0c7c43673h,09cd55bcdh,077a54455h + DD 00105c072h,0e6c2ff13h,08dda7da4h,018f7a99fh,00e2d35c1h,04c301820h,0d9cc6c82h,006a53ca0h,0f1aa1d9eh,0aa21cc1eh,04a75b1e8h,032414334h,00ebe9fdch,02a6d1328h,098a4755ah,016bd173fh + DD 02133ffd9h,0fbb9b245h,0830f1a20h,039a8b2f1h,0d5a1f52ah,0484bc97dh,0a40eddf8h,0d6aebf56h,076ccdac6h,032257acbh,01586ff27h,0af4d36ech,0f8de7dd1h,08eaa8863h,088647c16h,00045d5cfh + DD 0c005979dh,0a6f3d574h,06a40e350h,0c2072b42h,08de2ecf9h,0fca5c156h,0a515344eh,0a8c8bf5bh,0114df14ah,097aee555h,0fdc5ec6bh,0d4374a4dh,02ca85418h,0754cc28fh,0d3c41f78h,071cb9e27h + DD 003605c39h,089105079h,0a142c96ch,0f0843d9eh,016923684h,0f3744934h,0fa0a2893h,0732caa2fh,061160170h,0b2e8c270h,0437fbaa3h,0c32788cch,0a6eda3ach,039cd818eh,09e2b2e07h,0e2e94239h + DD 00260e52ah,06967d39bh,090653325h,0d42585cch,021ca7954h,00d9bd605h,081ed57b3h,04fa20877h,0e34a0bbeh,060c1eff8h,084f6ef64h,056b0040ch,0b1af8483h,028be2b24h,0f5531614h,0b2278163h + DD 05922ac1ch,08df27545h,0a52b3f63h,0a7b3ef5ch,071de57c4h,08e77b214h,0834c008bh,031682c10h,04bd55d31h,0c76824f0h,017b61c71h,0b6d1c086h,0c2a5089dh,031db0903h,0184e5d3fh,09c092172h + DD 0c00cc638h,0dd7ced5bh,061278fc2h,01a2015ebh,06a37f8d6h,02e8e5288h,0e79933adh,0c457786fh,02c51211ah,0b3fe4cceh,024c20498h,0ad9b10b2h,0d28db5e5h,090d87a4fh,03aca2fc3h,0698cd105h + DD 0e91b536dh,04f112d07h,09eba09d6h,0ceb982f2h,0197c396fh,03c157b2ch,07b66eb24h,0e23c2d41h,03f330d37h,0480c57d9h,079108debh,0b3a4c8a1h,0cb199ce5h,0702388deh,0b944a8d4h,00b019211h + DD 0840bb336h,024f2a692h,0a669fa7bh,07c353bdch,0dec9c300h,0da20d6fch,0a13a4f17h,0625fbe2fh,0dbc17328h,0a2b1b61ah,0a9515621h,0008965bfh,0c620ff46h,049690939h,08717e91ch,0182dd27dh + DD 0ea6c3997h,05ace5035h,0c2610befh,054259aaah,03c80dd39h,0ef18bb3fh,05fc3fa39h,06910b95bh,043e09aeeh,0fce2f510h,0a7675665h,0ced56c9fh,0d872db61h,010e265ach,0ae9fce69h,06982812eh + DD 0ce800998h,029be11c6h,0b90360d9h,072bb1752h,05a4ad590h,02c193197h,09fc1dbc0h,02ba2f548h,0e490ebe0h,07fe4eebbh,07fae11c0h,012a0a4cdh,0e903ba37h,07197cf81h,0de1c6dd8h,0cf7d4aa8h + DD 03fd5684ch,092af6bf4h,080360aa1h,02b26eecfh,000546a82h,0bd960f30h,0f59ad8feh,0407b3c43h,0249c82bah,086cae5feh,02463744ch,09e0faec7h,094916272h,087f551e8h,06ceb0615h,0033f9344h + DD 08be82e84h,01e5eb0d1h,07a582fefh,089967f0eh,0a6e921fah,0bcf687d5h,0d37a09bah,0dfee4cf3h,0b493c465h,094f06965h,07635c030h,0638b9a1ch,066f05e9fh,076667864h,0c04da725h,0ccaf6808h + DD 0768fccfch,0ca2eb690h,0b835b362h,0f402d37dh,0e2fdfcceh,00efac0d0h,0b638d990h,0efc9cdefh,0d1669a8bh,02af12b72h,05774ccbdh,033c536bch,0fb34870eh,030b21909h,07df25acah,0c38fa2f7h + DD 0bf81f3f5h,074c5f02bh,0af7e4581h,00525a5aeh,0433c54aeh,088d2aabah,0806a56c5h,0ed9775dbh,0c0edb37dh,0d320738ah,066cc1f51h,025fdb6eeh,010600d76h,0ac661d17h,0bdd1ed76h,0931ec1f3h + DD 019ee43f1h,065c11d62h,060829d97h,05cd57c3eh,0984be6e8h,0d26c91a3h,08b0c53bdh,0f08d9309h,0c016e4eah,094bc9e5bh,011d43d2bh,0d3916839h,073701155h,0886c5ad7h,020b00715h,0e0377626h + DD 0aa80ba59h,07f01c9ech,068538e51h,03083411ah,0e88128afh,0970370f1h,091dec14bh,0625cc3dbh,001ac3107h,0fef9666ch,0d5057ac3h,0b2a8d577h,092be5df7h,0b0f26299h,000353924h,0f579c8e5h + DD 01341ed7ah,0b8fa3d93h,0a7b59d49h,04223272ch,083b8c4a4h,03dcb1947h,0ed1302e4h,04e413c01h,0e17e44ceh,06d999127h,033b3adfbh,0ee86bf75h,025aa96cah,0f6902fe6h,0e5aae47dh,0b73540e4h + DD 01b4a158ch,032801d7bh,027e2a369h,0e571c99eh,010d9f197h,040cb76c0h,03167c0aeh,0c308c289h,0eb7958f2h,0a6ef9dd3h,0300879b1h,0a7226dfch,07edf0636h,06cd0b362h,07bc37eedh,04efbce6ch + DD 08d699021h,075f92a05h,0772566e3h,0586d4c79h,0761ad23ah,0378ca5f1h,01465a8ach,0650d86fch,0842ba251h,07a4ed457h,042234933h,06b65e3e6h,031aad657h,0af1543b7h,0cbfec369h,0a4cefe98h + DD 09f47befbh,0b587da90h,041312d13h,06562e9fbh,0eff1cefeh,0a691ea59h,005fc4cf6h,0cc30477ah,00b0ffd3dh,0a1632461h,05b355956h,0a1f16f3bh,04224ec24h,05b148d53h,0f977012ah,0dc834e7bh + DD 0b2c69dbch,07bfc5e75h,003c3da6ch,03aa77a29h,0ca910271h,0de0df03ch,07806dc55h,0cbd5ca4ah,06db476cbh,0e1ca5807h,05f37a31eh,0fde15d62h,0f41af416h,0f49af520h,07d342db5h,096c5c5b1h + DD 0eb4ceb9bh,0155c43b7h,04e77371ah,02e993010h,0675d43afh,01d2987dah,08599fd72h,0ef2bc1c0h,09342f6b2h,096894b7bh,07c8e71f0h,0201eadf2h,04a1f3efch,0f3479d9fh,0702a9704h,0e0f8a742h + DD 0b3eba40ch,0eafd44b6h,0c1c1e0d0h,0f9739f29h,0619d505eh,00091471ah,09d7c263eh,0c15f9c96h,083afbe33h,05be47285h,004f1e092h,0a3b6d6afh,0751a9d11h,0e76526b9h,09a4ae4d2h,02ec5b26dh + DD 002f6fb8dh,0eb66f4d9h,096912164h,04063c561h,080ef3000h,0eb7050c1h,0eaa5b3f0h,0288d1c33h,007806fd8h,0e87c68d6h,04bbbf50fh,0b2f7f9d5h,0ac8d6627h,025972f3ah,010e8c13bh,0f8547774h + DD 0872b4a60h,0cc50ef6ch,04613521bh,0ab2a34a4h,0983e15d1h,039c5c190h,059905512h,061dde5dfh,09f2275f3h,0e417f621h,0451d894bh,00750c8b6h,078b0bdaah,075b04ab9h,0458589bdh,03bfd9fd4h + DD 0ee9120b6h,0f1013e30h,023a4743eh,02b51af93h,048d14d9eh,0ea96ffaeh,0698a1d32h,071dc0dbeh,00180cca4h,0914962d2h,0c3568963h,01ae60677h,0437bc444h,08cf227b1h,0c9962c7ah,0c650c83bh + DD 0fe7ccfc4h,023c2c7ddh,01b929d48h,0f925c89dh,006783c33h,04460f74bh,0a590475ah,0ac2c8d49h,0b807bba0h,0fb40b407h,069ff8f3ah,09d1e362dh,0cbef64a4h,0a33e9681h,0332fb4b2h,067ece5fah + DD 0739f10e3h,06900a99bh,0ff525925h,0c3341ca9h,0a9e2d041h,0ee18a626h,029580dddh,0a5a83685h,09d7de3cdh,0f3470c81h,02062cf9ch,0edf02586h,0c010edb0h,0f43522fah,013a4b1aeh,030314135h + DD 0db22b94bh,0c792e02ah,0a1eaa45bh,0993d8ae9h,0cd1e1c63h,08aad6cd3h,0c5ce688ah,089529ca7h,0e572a253h,02ccee3aah,002a21efbh,0e02b6438h,0c9430358h,0a7091b6eh,09d7db504h,006d1b1fah + DD 0c4744733h,058846d32h,0379f9e34h,040517c71h,0130ef6cah,02f65655fh,0f1f3503fh,0526e4488h,07ee4a976h,08467bd17h,0921363d1h,01d9dc913h,0b069e041h,0d8d24c33h,02cdf7f51h,05eb5da0ah + DD 0197b994fh,01c0f3cb1h,02843eae9h,03c95a6c5h,0a6097ea5h,07766ffc9h,0d723b867h,07bea4093h,04db378f9h,0b48e1f73h,0e37b77ach,070025b00h,0af24ad46h,0943dc8e7h,016d00a85h,0b98a15ach + DD 02743b004h,03adc38bah,0334415eeh,0b1c7f4f7h,01e62d05ah,0ea43df8fh,09d76a3b6h,032618905h,0a23a0f46h,02fbd0bb5h,06a01918ch,05bc971dbh,0b4743f94h,07801d94ah,0676ae22bh,0b94df65eh + DD 0af95894ch,0aafcbfabh,0276b2241h,07b9bdc07h,05bdda48bh,0eaf98362h,0a3fcb4dfh,05977faf2h,0052c4b5bh,0bed042efh,0067591f0h,09fe87f71h,022f24ec7h,0c89c73cah,0e64a9f1bh,07d37fa9eh + DD 015562627h,02710841ah,0c243b034h,02c01a613h,02bc68609h,01d135c56h,08b03f1f6h,0c2ca1715h,03eb81d82h,0c9966c2dh,08f6df13eh,0c02abf4ah,08f72b43bh,077b34bd7h,0360c82b0h,0aff6218fh + DD 08d55b9d2h,00aa5726ch,099e9bffbh,0dc0adbe9h,0efb9e72ah,09097549ch,09dfb3111h,016755712h,0f26847f9h,0dd8bf984h,0dfb30cb7h,0bcb8e387h,05171ef9ch,0c1fd32a7h,0389b363fh,0977f3fc7h + DD 0f4babda0h,0116eaf2bh,0f7113c8eh,0feab68bdh,0b7def526h,0d1e3f064h,0e0b3fa02h,01ac30885h,040142d9dh,01c5a6e7bh,030921c0bh,0839b5603h,036a116a3h,048f301fah,0cfd9ee6dh,0380e1107h + DD 058854be1h,07945ead8h,0cbd4d49dh,04111c12eh,03a29c2efh,0ece3b1ech,08d3616f5h,06356d404h,0594d320eh,09f0d6a8fh,0f651ccd2h,00989316dh,00f8fdde4h,06c32117ah,0a26a9bbch,09abe5cc5h + DD 09723f671h,0cff560fbh,07f3d593ch,021b2a12dh,024ba0696h,0e4cb18dah,0c3543384h,0186e2220h,088312c29h,0722f64e0h,017dc7752h,094282a99h,05a85ee89h,062467bbfh,0f10076a0h,0f435c650h + DD 043b3a50bh,0c9ff1539h,01a53efbch,07132130ch,0f7b0c5b7h,031bfe063h,04ea994cch,0b0179a7dh,0c85f455bh,012d064b3h,08f6e0062h,047259328h,0b875d6d9h,0f64e590bh,0ad92bcc7h,022dd6225h + DD 0b9c3bd6dh,0b658038eh,0fbba27c8h,000cdb0d6h,01062c45dh,00c681337h,02d33407dh,0d8515b8ch,08cbb5ecfh,0cb8f699eh,0c608d7d8h,08c4347f8h,0bb3e00dbh,02c11850ah,0ecb49d19h,020a8dafdh + DD 045ee2f40h,0bd781480h,0416b60cfh,075e354afh,08d49a8c4h,0de0b58a1h,0fa359536h,0e40e94e2h,062accd76h,0bd4fa59fh,08c762837h,005cf466ah,0448c277bh,0b5abda99h,048b13740h,05a9e01bfh + DD 0326aad8dh,09d457798h,0c396f7e7h,0bdef4954h,0c253e292h,06fb274a2h,01cfe53e7h,02800bf0ah,044438fd4h,022426d31h,05e259f9ah,0ef233923h,003f66264h,04188503ch,07f9fdfabh,09e5e7f13h + DD 05fcc1abah,0565eb76ch,059b5bff8h,0ea632548h,0aab6d3fah,05587c087h,06ce39c1bh,092b639eah,0953b135ch,00706e782h,0425268efh,07308912eh,0090e7469h,0599e92c7h,09bc35e75h,083b90f52h + DD 0244975b3h,04750b3d0h,011965d72h,0f3a44358h,09c8dc751h,0179c6774h,0d23d9ff0h,0ff18cdfeh,02028e247h,0c4013833h,0f3bfbc79h,096e280e2h,0d0880a84h,0f60417bdh,02a568151h,0263c9f3dh + DD 02d2ce811h,036be15b3h,0f8291d21h,0846dc0c2h,0789fcfdbh,05cfa0ecbh,0d7535b9ah,045a0beedh,096d69af1h,0ec8e9f07h,0599ab6dch,031a7c5b8h,0f9e2e09fh,0d36d45efh,0dcee954bh,03cf49ef1h + DD 0086cff9bh,06be34cf3h,039a3360fh,088dbd491h,00dbfbd1dh,01e96b8cch,0cb7e2552h,0c1e5f7bfh,028819d98h,00547b214h,07aea9dcbh,0c770dd9ch,0041d68c8h,0aef0d4c7h,013cb9ba8h,0cc2b9818h + DD 0fe86c607h,07fc7bc76h,0502a9a95h,06b7b9337h,0d14dab63h,01948dc27h,0dae047beh,0249dd198h,0a981a202h,0e8356584h,03a893387h,03531dd18h,0c85c7209h,01be11f90h,0e2a52b5ah,093d2fe1eh + DD 0ec6d6b97h,08225bfe2h,0bd0aa5deh,09cf6d6f4h,054779f5fh,0911459cbh,086aeb1f3h,05649cddbh,03f26ce5ah,032133579h,0550f431eh,0c289a102h,073b84c6fh,0559dcfdah,0ee3ac4d7h,084973819h + DD 0f2606a82h,0b51e55e6h,090f2fb57h,0e25f7061h,0b1a4e37ch,0acef6c2ah,05dcf2706h,0864e359dh,07ce57316h,0479e6b18h,03a96b23dh,02cab2500h,08ef16df7h,0ed489862h,0ef3758b5h,02056538ch + DD 0f15d3101h,0a7df865eh,061b553d7h,080c5533ah,04ed14294h,0366e1997h,0b3c0bcd6h,06620741fh,0edc45418h,021d1d9c4h,0c1cc4a9dh,0005b859eh,0a1c462f0h,0df01f630h,0f26820c7h,015d06cf3h + DD 03484be47h,09f7f24eeh,04a0c902fh,02ff33e96h,05a0bc453h,000bdf457h,01aa238dbh,02378dfafh,0856720f2h,0272420ech,096797291h,02ad9d95bh,0768a1558h,0d1242cc6h,05cc86aa8h,02e287f8bh + DD 0990cecaah,0796873d0h,0675d4080h,0ade55f81h,021f0cd84h,02645eea3h,0b4e17d02h,07a1efa0fh,0037cc061h,0f6858420h,0d5d43e12h,0682e05f0h,027218710h,059c36994h,03f7cd2fch,085cbba4dh + DD 07a3cd22ah,0726f9729h,04a628397h,09f8cd5dch,0c23165edh,017b93ab9h,0122823d4h,0ff5f5dbfh,0654a446dh,0c1e4e4b5h,0677257bah,0d1a9496fh,0de766a56h,06387ba94h,0521ec74ah,023608bc8h + DD 06688c4d4h,016a522d7h,007373abdh,09d6b4282h,0b42efaa3h,0a62f07ach,0e3b90180h,0f73e00f7h,049421c3eh,036175fech,03dcf2678h,0c4e44f9bh,07220f09fh,076df436bh,03aa8b6cfh,0172755fbh + DD 0446139cch,0bab89d57h,05fe0208fh,00a0a6e02h,011e5d399h,0cdbb63e2h,0a8977f0bh,033ecaa12h,0f7c42664h,059598b21h,0ab65d08ah,0b3e91b32h,0f4502526h,0035822eeh,0720a82a9h,01dcf0176h + DD 03d589e02h,050f8598fh,0b1d63d2ch,0df0478ffh,01571cd07h,08b8068bdh,0d79670cdh,030c3aa4fh,0941ade7fh,025e8fd4bh,032790011h,03d1debdch,03a3f9ff0h,065b6dcbdh,0793de69ch,0282736a4h + DD 0d41d3bd3h,0ef69a0c3h,007a26bdeh,0b533b8c9h,0db2edf9fh,0e2801d97h,0e1877af0h,0dc4a8269h,03d590dbeh,06c1c5851h,0ee4e9357h,084632f6bh,079b33374h,0d36d36b7h,09bbca2e6h,0b46833e3h + DD 0f7fc0586h,037893913h,066bf4719h,0385315f7h,0b31855dch,072c56293h,0849061feh,0d1416d4eh,051047213h,0beb3ab78h,0f040c996h,0447f6e61h,0638b1d0ch,0d06d310dh,0bad1522eh,0e28a413fh + DD 082003f86h,0685a76cbh,00bcdbca3h,0610d07f7h,09ca4c455h,06ff66021h,0cea10eech,07df39b87h,0e22db218h,0b9255f96h,008a34c44h,08cc6d9ebh,0859f9276h,0cd4ffb86h,050d07335h,08fa15eb2h + DD 0cf2c24b5h,0df553845h,052f9c3bah,089f66a9fh,0e4a7ceb3h,08f22b5b9h,00e134686h,0affef809h,08eb8fac2h,03e53e1c6h,028aec98eh,093c1e4ebh,032a43bcbh,0b6b91ec5h,0b2d74a51h,02dbfa947h + DD 0ca84bad7h,0e065d190h,0ad58e65ch,0fb13919fh,0f1cb6e31h,03c41718bh,006d05c3fh,0688969f0h,021264d45h,0d4f94ce7h,07367532bh,0fdfb65e9h,00945a39dh,05b1be8b1h,02b8baf3bh,0229f789ch + DD 06f49f15dh,0d8f41f3eh,0907f0792h,0678ce828h,0fca6e867h,0c69ace82h,0d01dcc89h,0106451aeh,019fc32d2h,01bb4f7f0h,0b00c52d2h,064633dfch,0ad9ea445h,08f13549ah,0fb323705h,099a3bf50h + DD 0534d4dbch,00c9625a2h,0c2a2fea3h,045b8f1d1h,0a530fc1ah,076ec21a1h,09e5bd734h,04bac9c2ah,07b4e3587h,05996d76ah,01182d9e3h,00045cdeeh,01207f13dh,01aee24b9h,097345a41h,066452e97h + DD 09f950cd0h,016e5b054h,0d7fdd075h,09cc72fb1h,066249663h,06edd61e7h,0f043cccbh,0de4caa4dh,055c7ac17h,011b1f57ah,01a85e24dh,0779cbd44h,0e46081e7h,078030f86h,08e20f643h,0fd4a6032h + DD 00a750c0fh,0cc7a6488h,04e548e83h,039bacfe3h,00c110f05h,03d418c76h,0b1f11588h,03e4daa4ch,05ffc69ffh,02733e7b5h,092053127h,046f147bch,0d722df94h,0885b2434h,0e6fc6b7ch,06a444f65h + DD 0c3f16ea8h,07a1a465ah,0b2f1d11ch,0115a461dh,06c68a172h,04767dd95h,0d13a4698h,03392f2ebh,0e526cdc7h,0c7a99ccdh,022292b81h,08e537fdch,0a6d39198h,076d8cf69h,02446852dh,0ffc5ff43h + DD 0a90567e6h,097b14f7eh,0b6ae5cb7h,0513257b7h,09f10903dh,085454a3ch,069bc3724h,0d8d2c9adh,06b29cb44h,038da9324h,077c8cbach,0b540a21dh,001918e42h,09bbfe435h,056c3614eh,0fffa707ah + DD 0d4e353b7h,00ce4e3f1h,0ef46b0a0h,0062d8a14h,0574b73fdh,06408d5abh,0d3273ffdh,0bc41d1c9h,06be77800h,03538e1e7h,0c5655031h,071fe8b37h,06b9b331ah,01cd91621h,0bb388f73h,0ad825d0bh + DD 01cb76219h,056c2e05bh,071567e7eh,00ec0bf91h,061c4c910h,0e7076f86h,0babc04d9h,0d67b085bh,05e93a96ah,09fb90459h,0fbdc249ah,07526c1eah,0ecdd0bb7h,00d44d367h,09dc0d695h,095399917h + DD 09e240d18h,061360ee9h,0b4b94466h,0057cdcach,02fe5325ch,0e7667cd1h,021974e3bh,01fa297b5h,0db083d76h,0fa4081e7h,0f206bd15h,031993be6h,014c19f8ch,08949269bh,0a9d92357h,021468d72h + DD 0a4c506ech,02ccbc583h,0d1acfe97h,0957ed188h,012f1aea2h,08baed833h,08325362dh,0ef2a6cb4h,08e195c43h,0130dde42h,00e6050c6h,0c842025ah,008686a5dh,02da972a7h,0e508b4a8h,0b52999a1h + DD 010a5a8bdh,0d9f090b9h,0096864dah,0ca91d249h,03f67dbc1h,08e6a93beh,0f5f4764ch,0acae6fbah,0d21411a0h,01563c6e0h,0da0a4ad8h,028fa787fh,0908c8030h,0d524491ch,04c795f07h,01257ba0eh + DD 0ceca9754h,083f49167h,04b7939a0h,0426d2cf6h,0723fd0bfh,02555e355h,0c4f144e2h,0a96e6d06h,087880e61h,04768a8ddh,0e508e4d5h,015543815h,0b1b65e15h,009d7e772h,0ac302fa0h,063439dd6h + DD 0c14e35c2h,0b93f802fh,04341333ch,071735b7ch,016d4f362h,003a25104h,0bf433c8eh,03f4d069bh,0f78f5a7ch,00d83ae01h,07c4eed07h,050a8ffbeh,076e10f83h,0c74f8906h,09ddaf8e1h,07d080966h + DD 0698e04cch,0b11df8e1h,0169005c8h,0877be203h,04f3c6179h,032749e8ch,07853fc05h,02dbc9d0ah,09454d937h,0187d4f93h,0b4800e1bh,0e682ce9dh,0165e68e8h,0a9129ad8h,0be7f785bh,00fe29735h + DD 05b9e02b7h,05303f40ch,035ee04e8h,0a37c9692h,034d6632bh,05f46cc20h,096ac545bh,055ef72b2h,07b91b062h,0abec5c1fh,0bb33e821h,00a79e1c7h,03a9f4117h,0bb04b428h,0fd2a475ah,00de1f28fh + DD 03a4434b4h,031019ccfh,01a7954dch,0a3458111h,0e34972a7h,0a9dac80dh,074f6b8ddh,0b043d054h,011137b1ah,0021c319eh,0ed5cc03fh,000a754ceh,0cbea5ad4h,00aa2c794h,070c015b6h,0093e67f4h + DD 0c97e3f6bh,072cdfee9h,0b6da7461h,0c10bcab4h,0b59806b9h,03b02d2fch,0a1de6f47h,085185e89h,00eb6c4d4h,039e6931fh,0d4fa5b04h,04d4440bdh,034be7eb8h,05418786eh,09d7259bch,06380e521h + DD 0d598d710h,020ac0351h,0cb3a4da4h,0272c4166h,0ca71de1fh,0db82fe1ah,0d8f54b0fh,0746e79f2h,04b573e9bh,06e7fc736h,0fd4b5040h,075d03f46h,00b98d87bh,05c1cc36dh,01f472da1h,0513ba3f1h + DD 0abb177ddh,079d0af26h,07891d564h,0f82ab568h,072232173h,02b6768a9h,08c1f6619h,0efbb3bb0h,0a6d18358h,0b29c11dbh,0b0916d3ah,0519e2797h,09188e290h,0d4dc18f0h,098b0ca7fh,0648e86e3h + DD 0983c38b5h,0859d3145h,0637abc8bh,0b14f176ch,0caff7be6h,02793fb9dh,035a66a5ah,0ebe5a55fh,09f87dc59h,07cec1dcdh,0fbdbf560h,07c595cd3h,026eb3257h,05b543b22h,0c4c935fdh,069080646h + DD 081e9ede3h,07f2e4403h,0caf6df0ah,0243c3894h,01c073b11h,07c605bb1h,0ba6a4a62h,0cd06a541h,049d4e2e5h,029168949h,04af66880h,033649d07h,0e9a85035h,0bfc0c885h,0fc410f4bh,0b4e52113h + DD 078a6513bh,0dca3b706h,09edb1943h,092ea4a2ah,0db6e2dd8h,002642216h,09fd57894h,09b45d0b4h,0c69d11aeh,0114e70dbh,04c57595fh,01477dd19h,0ec77c272h,0bc2208b4h,0db68f59ch,095c5b4d7h + DD 042e532b7h,0b8c4fc63h,09ae35290h,0386ba422h,0d201ecbch,0fb5dda42h,0a0e38fd6h,02353dc8bh,068f7e978h,09a0b85eah,02ad6d11fh,096ec5682h,0e5f6886dh,05e279d6ch,03cb1914dh,0d3fe03cdh + DD 07ea67c77h,0fe541fa4h,0e3ea810ch,0952bd2afh,08d01d374h,0791fef56h,00f11336eh,0a3a1c621h,0c7ec6d79h,05ad0d5a9h,03225c342h,0ff7038afh,0bc69601bh,0003c6689h,045e8747dh,025059bc7h + DD 0f2086fbfh,0fa4965b2h,086916078h,0f6840ea6h,070081d6ch,0d7ac7620h,0b5328645h,0e600da31h,0529b8a80h,001916f63h,02d7d6f3eh,0e80e4858h,0d664ca7ch,029eb0fe8h,0e7b43b0ch,0f017637bh + DD 076cb2566h,09a75c806h,0b24892d9h,08f76acb1h,01f08fe45h,07ae7b9cch,06a4907d8h,019ef7329h,05f228bf0h,02db4ab71h,0817032d7h,0f3cdea39h,0dcabe3c0h,00b1f482eh,0bb86325ch,03baf76b4h + DD 010089465h,0d49065e0h,08e77c596h,03bab5d29h,0193dbd95h,07636c3a6h,0b246e499h,0def5d294h,0286b2475h,0b22c58b9h,0cd80862bh,0a0b93939h,0f0992388h,03002c83ah,0eacbe14ch,06de01f9bh + DD 0add70482h,06aac688eh,07b4a4e8ah,0708de92ah,0758a6eefh,075b6dd73h,0725b3c43h,0ea4bf352h,087912868h,010041f2ch,0ef09297ah,0b1b1be95h,0a9f3860ah,019ae23c5h,0515dcf4bh,0c4f0f839h + DD 097f6306ah,03c7ecca3h,068a3a4b0h,0744c44aeh,0b3a1d8a2h,069cd13a0h,05256b578h,07cad0a1eh,033791d9eh,0ea653fcdh,074b2e05fh,09cc2a05dh,0fd7affa2h,073b391dch,0b6b05442h,0ddb7091eh + DD 08538a5c6h,0c71e27bfh,089abff17h,0195c63ddh,01b71e3dah,0fd315285h,0fa680fa0h,09cbdfda7h,0849d7eabh,09db876cah,03c273271h,0ebe2764bh,0f208dceah,0663357e3h,0565b1b70h,08c5bd833h + DD 09837fc0dh,0ccc3b4f5h,0a79cf00fh,09b641ba8h,0dfdf3990h,07428243dh,0020786b1h,083a594c4h,0526c4502h,0b712451ah,06adb3f93h,09d39438eh,0e9ff0ccdh,0fdb261e3h,0e07af4c3h,080344e3ch + DD 02fa4f126h,075900d7ch,05c99a232h,008a3b865h,0db25e0c3h,02478b6bfh,071db2edfh,0482cc2c2h,05f321bb8h,037df7e64h,09a8005b4h,08a93821bh,0cc8c1958h,03fa2f10ch,02c269d0ah,00d332218h + DD 0e246b0e6h,020ab8119h,0d349fd17h,0b39781e4h,0b31aa100h,0d293231eh,0bb032168h,04b779c97h,0c8470500h,04b3f19e1h,00c4c869dh,045b7efe9h,0a1a6bbcch,0db84f38ah,0b2fddbc1h,03b59cb15h + DD 03fd165e8h,0ba5514dfh,0061f8811h,0499fd6a9h,0bfef9f00h,072cd1fe0h,079ad7e8ah,0120a4bb9h,05f4a5ac5h,0f2ffd095h,095a7a2f0h,0cfd174f1h,09d17baf1h,0d42301bah,077f22089h,0d2fa487ah + DD 0b1dc77e1h,09cb09efeh,021c99682h,0e9566939h,06c6067bbh,08c546901h,061c24456h,0fd378574h,081796b33h,02b6a6cbeh,058e87f8bh,062d550f6h,07f1b01b4h,01b763e1ch,01b1b5e12h,04b93cfeah + DD 01d531696h,0b9345238h,088cdde69h,057201c00h,09a86afc7h,0dde92251h,0bd35cea8h,0e3043895h,08555970dh,07608c1e1h,02535935eh,08267dfa9h,0322ea38bh,0d4c60a57h,0804ef8b5h,0e0bf7977h + DD 0c06fece4h,01a0dab28h,094e7b49dh,0d405991eh,0706dab28h,0c542b6d2h,0a91618fbh,0cb228da3h,0107d1ceah,0224e4164h,0d0f5d8f1h,0eb9fdab3h,00d6e41cdh,0c02ba386h,09b1f7146h,0676a72c5h + DD 04d6cb00bh,0ffd6dd98h,0de2e8d7ch,0cef9c5cah,0641c7936h,0a1bbf5d7h,0ee8f772eh,01b95b230h,0e8ac25b1h,0f765a92eh,03a18b7c6h,0ceb04cfch,00acc8966h,027944cefh,0434c1004h,0cbb3c957h + DD 0a43ff93ch,09c9971a1h,0a1e358a9h,05bc2db17h,0a8d9bc82h,045b4862eh,02201e052h,070ebfbfbh,092871591h,0afdf64c7h,0b42d0219h,0ea5bcae6h,02ad8f03ch,0de536c55h,0a76aa33ch,0cd6c3f4dh + DD 00bca6de3h,0beb5f623h,0b1e706fdh,0dd20dd99h,0ac9059d4h,090b3ff9dh,07ccccc4eh,02d7b2902h,0ce98840fh,08a090a59h,08410680ah,0a5d947e0h,0923379a5h,049ae346ah,0b28a3156h,07dbc84f9h + DD 054a1aff2h,0fd40d916h,03a78fb9bh,0abf318bah,03029f95eh,050152ed8h,0c58ad7fah,09fc1dd77h,013595c17h,05fa57915h,08f62b3a9h,0b9504668h,0ff3055b0h,0907b5b24h,09a84f125h,02e995e35h + DD 07e9bbcfbh,087dacf69h,0e86d96e3h,095d0c1d6h,02d95a75ch,065726e3ch,0acd27f21h,02c3c9001h,06c973f57h,01deab561h,0a5221643h,0108b7e2ch,0c4ef79d4h,05fee9859h,040d4b8c6h,0bd62b88ah + DD 0197c75d6h,0b4dd29c4h,0b7076febh,0266a6df2h,04bf2df11h,09512d0eah,06b0cc9ech,01320c24fh,001a59596h,06bb1e0e1h,0eff9aaach,08317c5bbh,0385aa6c9h,065bb405eh,08f07988fh,0613439c1h + DD 016a66e91h,0d730049fh,0fa1b0e0dh,0e97f2820h,0304c28eah,04131e003h,0526bac62h,0820ab732h,028714423h,0b2ac9ef9h,0adb10cb2h,054ecfffah,0f886a4cch,08781476eh,0db2f8d49h,04b2c87b5h + DD 00a44295dh,0e857cd20h,058c6b044h,0707d7d21h,0f596757ch,0ae8521f9h,067b2b714h,087448f03h,05ebcd58dh,013a9bc45h,09122d3c1h,079bcced9h,09e076642h,03c644247h,02df4767dh,00cf22778h + DD 071d444b6h,05e61aee4h,0c5084a1dh,0211236bfh,04fd3eaf6h,07e15bc9ah,0ab622bf5h,068df2c34h,059bf4f36h,09e674f0fh,0d7f34d73h,0f883669bh,031497b1dh,0c48ac1b8h,05106703bh,0323b925dh + DD 074082008h,022156f42h,0c8482bcbh,0effc521ah,012173479h,05c6831bfh,0c4739490h,0caa2528fh,08f1b3c4dh,084d2102ah,02d9bec0dh,0cf64dfc1h,078a546efh,0433febadh,07b73cef1h,01f621ec3h + DD 037338615h,06aecd627h,001d8edf6h,0162082abh,019e86b66h,0833a8119h,0d299b5dbh,06023a251h,0bbf04b89h,0f5bb0c3ah,0ae749a44h,06735eb69h,04713de3bh,0d0e058c5h,02c3d4ccdh,0fdf2593eh + DD 0fdd23667h,01b8f414eh,0fa2015eeh,0dd52aacah,0bd9625ffh,03e31b517h,08db5918ch,05ec9322dh,0a96f5294h,0bc73ac85h,061a0666ah,082aa5bf3h,0bf08ac42h,049755810h,0891cedfch,0d21cdfd5h + DD 067f8be10h,0918cb57bh,056ffa726h,0365d1a7ch,06532de93h,02435c504h,02674cd02h,0c0fc5e10h,09cbbb142h,06e51fcf8h,0afc50692h,01d436e5ah,03fbcae22h,0766bffffh,0fd55d3b8h,03148c2fdh + DD 0233222fah,052c7fdc9h,0e419fb6bh,089ff1092h,025254977h,03cd6db99h,01cf12ca7h,02e85a161h,0dc810bc9h,0add2547ch,09d257c22h,0ea3f458fh,027d6b19bh,0642c1fbeh,0140481a6h,0ed07e6b5h + DD 086d2e0f8h,06ada1d42h,00e8a9fd5h,0e5920122h,0708c1b49h,002c936afh,02b4bfaffh,060f30feeh,0858e6a61h,06637ad06h,03fd374d0h,0ce4c7767h,07188defbh,039d54b2dh,0f56a6b66h,0a8c9d250h + DD 0b24fe1dch,058fc0f5eh,06b73f24ch,09eaf9deeh,033650705h,0a90d588bh,0af2ec729h,0de5b62c5h,0d3c2b36eh,05c72cfaeh,0034435dah,0868c19d5h,0e17ee145h,088605f93h,077a5d5b1h,0aa60c4eeh + DD 03b60c472h,0bcf5bfd2h,0eb1d3049h,0af4ef13ch,0e13895c9h,0373f44fch,00cbc9822h,0f29b382fh,073efaef6h,01bfcb853h,0a8c96f40h,0cf56ac9ch,07a191e24h,0d7adf109h,0bf8a8dc2h,098035f44h + DD 01e750c84h,0f40a71b9h,05dc6c469h,0c57f7b0ch,06fbc19c1h,049a0e79ch,0a48ebdb8h,06b0f5889h,0a07c4e9fh,05d3fd084h,0ab27de14h,0c3830111h,033e08dcch,00e4929feh,040bb73a3h,0f4a5ad24h + DD 0490f97cah,0de86c2bfh,067a1ce18h,0288f09c6h,01844478dh,0364bb886h,0ceedb040h,07840fa42h,05a631b37h,01269fdd2h,0a47c8b7dh,094761f1eh,0481c6266h,0fc0c2e17h,03daa5fa7h,085e16ea2h + DD 092491048h,0ccd86033h,0f4d402d7h,00c2f6963h,0df6a865ch,06336f7dfh,0b5c02a87h,00a2a463ch,0bf2f12eeh,0b0e29be7h,066bad988h,0f0a22002h,09123c1d7h,027f87e03h,0328a8c98h,021669c55h + DD 092f14529h,0186b9803h,063954df3h,0d3d056cch,0175a46f6h,02f03fd58h,011558558h,063e34ebeh,05b80cfa5h,0e13fedeeh,0d401dbd1h,0e872a120h,0e8a9d667h,052657616h,0e08d6693h,0bc8da4b6h + DD 01b703e75h,0370fb9bbh,0d4338363h,06773b186h,0ecef7bffh,018dad378h,0995677dah,0aac787edh,00437164bh,04801ea8bh,073fe795eh,0f430ad20h,08ee5eb73h,0b164154dh,0108f7c0eh,00884ecd8h + DD 05f520698h,00e6ec096h,044f7b8d9h,0640631feh,0a35a68b9h,092fd34fch,04d40cf4eh,09c5a4b66h,080b6783dh,0949454bfh,03a320a10h,080e701feh,01a0a39b2h,08d1a564ah,0320587dbh,01436d53dh + DD 06556c362h,0f5096e6dh,0e2455d7eh,0bc23a3c0h,0807230f9h,03a7aee54h,022ae82fdh,09ba1cfa6h,099c5d706h,0833a057ah,0842315c9h,08be85f4bh,066a72f12h,0d083179ah,0cdcc73cdh,02fc77d5dh + DD 05616ee30h,022b88a80h,0e7ab1083h,0fb09548fh,0511270cdh,08ad6ab0dh,06924d9abh,061f6c57ah,090aecb08h,0a0f7bf72h,00df784a4h,0849f87c9h,0cfaf1d03h,027c79c15h,0c463faceh,0bbf9f675h + DD 0765ba543h,091502c65h,042ea60ddh,018ce3cach,06e43ecb3h,0e5cee6ach,068f2aeebh,063e4e910h,0c85932eeh,026234fa3h,04c90c44dh,096883e8bh,0a18a50f6h,029b9e738h,03f0420dfh,0bfc62b2ah + DD 06d3e1fa9h,0d22a7d90h,0fe05b8a3h,017115618h,0bb2b9c01h,02a0c9926h,0e07e76a2h,0c739fcc6h,0165e439ah,0540e9157h,06a9063d8h,006353a62h,061e927a3h,084d95594h,0e2e0be7fh,0013b9b26h + DD 0973497f1h,04feaec3bh,0093ebc2dh,015c0f94eh,033af0583h,06af5f227h,0c61f3340h,00c2af206h,04457397ch,0d25dbdf1h,0cabcbae0h,02e8ed017h,0c2815306h,0e3010938h,0e8c6cd68h,0baa99337h + DD 03b0ec7deh,008513182h,058df05dfh,01e1b822bh,0a5c3b683h,05c14842fh,03eba34ceh,098fe977eh,00d5e8873h,0fd2316c2h,0bd0d427dh,0e48d839ah,0623fc961h,0495b2218h,0b46fba5eh,024ee56e7h + DD 091e4de58h,09184a55bh,0dfdea288h,0a7488ca5h,0a8dcc943h,0a723862eh,0849dc0fch,092d762b2h,0091ff4a9h,03c444a12h,00cada274h,0581113fah,030d8eae2h,0b9de0a45h,0df6b41eah,05e0fcd85h + DD 0c094dbb5h,06233ea68h,0d968d410h,0b77d062eh,058b3002dh,03e719bbch,03dc49d58h,068e7dd3dh,0013a5e58h,08d825740h,03c9e3c1bh,021311747h,07c99b6abh,00cb0a2a7h,0c2f888f2h,05c48a3b3h + DD 0991724f3h,0c7913e91h,039cbd686h,05eda799ch,063d4fc1eh,0ddb595c7h,0ac4fed54h,06b63b80bh,07e5fb516h,06ea0fc69h,0d0f1c964h,0737708bah,011a92ca5h,09628745fh,09a86967ah,061f37958h + DD 0aa665072h,09af39b2ch,0efd324efh,078322fa4h,0c327bd31h,03d153394h,03129dab0h,081d5f271h,0f48027f5h,0c72e0c42h,08536e717h,0aa40cdbch,02d369d0fh,0f45a657ah,0ea7f74e6h,0b03bbfc4h + DD 00d738dedh,046a8c418h,0e0de5729h,06f1a5bb0h,08ba81675h,0f10230b9h,0112b33d4h,032c6f30ch,0d8fffb62h,07559129dh,0b459bf05h,06a281b47h,0fa3b6776h,077c1bd3ah,07829973ah,00709b380h + DD 0a3326505h,08c26b232h,0ee1d41bfh,038d69272h,0ffe32afah,00459453eh,07cb3ea87h,0ce8143adh,07e6ab666h,0932ec1fah,022286264h,06cd2d230h,06736f8edh,0459a46feh,09eca85bbh,050bf0d00h + DD 0877a21ech,00b825852h,00f537a94h,0300414a7h,021a9a6a2h,03f1cba40h,076943c00h,050824eeeh,0f83cba5dh,0a0dbfcech,093b4f3c0h,0f9538148h,048f24dd7h,061744162h,0e4fb09ddh,05322d64dh + DD 03d9325f3h,057447384h,0f371cb84h,0a9bef2d0h,0a61e36c5h,077d2188bh,0c602df72h,0bbd6a7d7h,08f61bc0bh,0ba3aa902h,06ed0b6a1h,0f49085edh,0ae6e8298h,08bc625d6h,0a2e9c01dh,0832b0b1dh + DD 0f1f0ced1h,0a337c447h,09492dd2bh,0800cc793h,0bea08efah,04b93151dh,0de0a741eh,0820cf3f8h,01c0f7d13h,0ff1982dch,084dde6cah,0ef921960h,045f96ee3h,01ad7d972h,029dea0c7h,0319c8dbeh + DD 07b82b99bh,0d3ea3871h,0470eb624h,075922d4dh,03b95d466h,08f66ec54h,0bee1e346h,066e673cch,0b5f2b89ah,06afe67c4h,0290e5cd3h,03de9c1e6h,0310a2adah,08c278bb6h,00bdb323bh,0420fa384h + DD 00eb919b0h,00ae1d63bh,0a74b9620h,0d74ee51dh,0a674290ch,0395458d0h,04620a510h,0324c930fh,0fbac27d4h,02d1f4d19h,09bedeeach,04086e8cah,09b679ab8h,00cdd211bh,07090fec4h,05970167dh + DD 0faf1fc63h,03420f2c9h,0328c8bb4h,0616d333ah,057f1fe4ah,07d65364ch,055e5c73ah,09343e877h,0e970e78ch,05795176bh,060533627h,0a36ccebfh,009cdfc1bh,0fc7c7380h,0b3fec326h,0b39a2afeh + DD 06224408ah,0b7ff1ba1h,0247cfc5eh,0cc856e92h,0c18bc493h,001f102e7h,02091c727h,04613ab74h,0c420bf2bh,0aa25e89ch,090337ec2h,000a53176h,07d025fc7h,0d2be9f43h,06e6fe3dch,03316fb85h + DD 09ac50814h,027520af5h,09a8e4223h,0fdf95e78h,056bec5a0h,0b7e7df2ah,0df159e5dh,0f7022f7dh,0cac1fe8fh,093eeeab1h,037451168h,08040188ch,0d967dce6h,07ee8aa8ah,03abc9299h,0fa0e79e7h + DD 02064cfd1h,067332cfch,0b0651934h,0339c31deh,02a3bcbeah,0719b28d5h,09d6ae5c6h,0ee74c82bh,0baf28ee6h,00927d05eh,09d719028h,082cecf2ch,0ddb30289h,00b0d353eh,0fddb2e29h,0fe4bb977h + DD 0640bfd9eh,0bb5bb990h,082f62108h,0d226e277h,002ffdd56h,04bf00985h,02ca1b1b5h,07756758ah,05285fe91h,0c32b62a3h,08c9cd140h,0edbc546ah,0af5cb008h,01e47a013h,0073ce8f2h,0bca7e720h + DD 017a91caeh,0e10b2ab8h,008e27f63h,0b89aab65h,0dba3ddf9h,07b3074a7h,0330c2972h,01c20ce09h,05fcf7e33h,06b9917b4h,0945ceb42h,0e6793743h,05c633d19h,018fc2215h,0c7485474h,0ad1adb3ch + DD 06424c49bh,0646f9679h,067c241c9h,0f888dfe8h,024f68b49h,0e12d4b93h,0a571df20h,09a6b62d8h,0179483cbh,081b4b26dh,09511fae2h,0666f9632h,0d53aa51fh,0d281b3e4h,07f3dbd16h,07f96a765h + DD 0074a30ceh,0a7f8b5bfh,0005a32e6h,0d7f52107h,050237ed4h,06f9e0907h,08096fa2bh,02f21da47h,0eec863a0h,0f3e19cb4h,09527620ah,0d18f77fdh,0407c1cf8h,09505c81ch,01b6ec284h,09998db4eh + DD 0c247d44dh,07e3389e5h,03f4f3d80h,012507141h,04a78a6c7h,0d4ba0110h,0767720beh,0312874a0h,075944370h,0ded059a6h,03b2c0bddh,0d6123d90h,051c108e3h,0a56b717bh,0070623e9h,09bb7940eh + DD 084ac066ch,0794e2d59h,0e68c69a0h,0f5954a92h,04fd99dcch,028c52458h,0b1012517h,060e639fch,07de79248h,0c2e60125h,0f12fc6d7h,0e9ef6404h,02a3b5d32h,04c4f2808h,0c768eb8ah,0865ad32eh + DD 013fb70b6h,0ac02331bh,095599b27h,0037b44c1h,060bd082ch,01a860fc4h,0c980cd01h,0a2e25745h,01da0263eh,0ee3387a8h,02d10f3d6h,0931bfb95h,0a1f24a32h,05b687270h,0ca494b86h,0f140e65dh + DD 0b2f1ac7ah,04f4ddf91h,0760fee27h,0f99eaabbh,049c228e5h,057f4008ah,01cf713bbh,0090be440h,05004f022h,0ac91fbe4h,0569e1af6h,0d838c2c2h,00f1daaa5h,0d6c7d20bh,01bbb02c0h,0aa063ac1h + DD 059558a78h,00938a422h,08435da2fh,05343c669h,0034410dch,096f67b18h,084510804h,07cc1e424h,016dfbb7dh,086a1543fh,05b5bd592h,0921fa942h,0b33dd03ch,09dcccb6eh,0b843f51eh,08581ddd9h + DD 081d73c9eh,054935fcbh,00a5e97abh,06d07e979h,0cf3a6babh,04dc7b30ah,0170bee11h,0147ab1f3h,09fafdee4h,00aaf8e3dh,0538a8b95h,0fab3dbcbh,06ef13871h,0405df4b3h,0088d5a49h,0f1f4e9cbh + DD 066b33f1dh,09bcd24d3h,05ce445c0h,03b97b820h,0ba93ff61h,0e2926549h,04dafe616h,0d9c341ceh,016efb6f3h,0fb30a76eh,0605b953ch,0df24b8cah,0c2fffb9fh,08bd52afeh,0e19d0b96h,0bbac5ff7h + DD 0459afccdh,043c01b87h,0b7432652h,06bd45143h,055b5d78eh,084734530h,01554ba7dh,081088fdbh,01e269375h,0ada0a52ch,02dc5ec10h,0f9f037c4h,094bfbc11h,0c0660607h,0c9c40d2fh,0c0a630bbh + DD 0ab64c31eh,05efc797eh,074507144h,0ffdb1dabh,01ca6790ch,0f6124287h,0e69bf1bfh,0e9609d81h,000d24fc9h,0db898595h,0e51fb417h,09c750333h,0fef7bbdeh,051830a91h,0945f585ch,00ce67dc8h + DD 04763eb50h,09a730ed4h,0c1ab0d66h,024a0e221h,0648748f3h,0643b6393h,06d3c6291h,01982daa1h,08bbc5549h,06f00a9f7h,07f36384eh,07a1783e1h,0de977f50h,0e8346323h,0b245502ah,091ab688dh + DD 06d0bdd66h,0331ab6b5h,064b71229h,00a6ef32eh,0fe7c352fh,01028150eh,0ce7b39d3h,027e04350h,0c1070c82h,02a3c8acdh,080c9feefh,0fb2034d3h,0709f3729h,02d729621h,062cb4549h,08df290bfh + DD 0fc2e4326h,002f99f33h,05eddf032h,03b30076dh,00c652fb5h,0bb21f8cfh,0ed91cf7bh,0314fb49eh,02f700750h,0a013eca5h,0712a4575h,02b9e3c23h,0af30fbb0h,0e5355557h,07c77e771h,01ada3516h + DD 07b135670h,045f6ecb2h,07cfc202eh,0e85d19dfh,058d1be9fh,00f1b50c7h,0ead2e344h,05ebf2c0ah,0abc199c9h,01531fe4eh,056bab0aeh,0c7032592h,06c1fec54h,016ab2e48h,004280188h,00f87fda8h + DD 0609e4a74h,0dc9f46fch,0ba667f91h,02a44a143h,0b4d83436h,0bc3d8b95h,0c7bd2958h,0a01e4bd0h,073483c90h,07b182932h,0a7c7b598h,0a79c6aa1h,0eaaac07eh,0bf3983c6h,096e0d4e6h,08f18181eh + DD 0051af62bh,08553d37ch,00bf94496h,0e9a998ebh,0b0d59aa1h,0e0844f9fh,0e6afb813h,0983fd558h,065d69804h,09670c0cah,06ea5ff2dh,0732b22deh,05fd8623bh,0d7640ba9h,0a6351782h,09f619163h + DD 0acee5043h,00bfc27eeh,02eb10f02h,0ae419e73h,08943fb05h,019c028d1h,0ff13aa2ah,071f01cf7h,08887a132h,07790737eh,066318410h,067513309h,07ddb795eh,09819e8a3h,0dad100b2h,0fecb8ef5h + DD 03021926ah,059f74a22h,06f9b4c1ch,0b7c28a49h,0912ad0abh,0ed1a733fh,001a5659ch,042a910afh,07bd68cabh,03842c6e0h,076d70ac8h,02b57fa38h,03c53aaebh,08a6707a8h,065b4db18h,062c1c510h + DD 0b2d09dc7h,08de2c1fbh,0266bd23bh,0c3dfed12h,0d5b27db6h,0927d039bh,0103243dah,02fb2f0f1h,080be7399h,0f855a07bh,01f9f27a8h,0ed9327ceh,0729bdef7h,0a0bd99c7h,028250d88h,02b67125eh + DD 08670ced7h,0784b26e8h,0c31bd3b4h,0e3dfe41fh,0bcc85cbch,09e353a06h,060178a9dh,0302e2909h,0a6eac16eh,0860abf11h,0aa2b3aach,076447000h,0850afdabh,046ff9d19h,0fdb2d4c1h,035bdd6a5h + DD 07e5c9ce9h,0e82594b0h,020af346eh,00f379e53h,0bc65ad4ah,0608b31e3h,0267c4826h,0710c6b12h,071954cf1h,051c966f9h,00d0aa215h,0b1cec793h,086bd23a8h,01f155989h,0f9452e86h,0ae2ff99ch + DD 0340ceaa2h,0d8dd953ch,02e2e9333h,026355275h,08586f06dh,015d4e5f9h,0f7cab546h,0d6bf94a8h,0b76a9af0h,033c59a0ah,0ba095af7h,052740ab3h,024389ca0h,0c444de8ah,0706da0cbh,0cc6f9863h + DD 06b2515cfh,0b5a741a7h,09585c749h,071c41601h,0e683de97h,078350d4fh,063d0b5f5h,031d61524h,0fbce090bh,07a0cc5e1h,0fbcb2a5bh,0aac927edh,020d84c35h,0e920de49h,022b4de26h,08c06a0b6h + DD 0afe7ddf3h,0d34dd58bh,0c1e6e55bh,055851fedh,0960696e7h,0d1395616h,05f22705fh,0940304b2h,0b0a2a860h,06f43f861h,00e7cc981h,0cf121282h,00ab64a96h,012186212h,0b789383ch,009215b9ah + DD 037387c09h,0311eb305h,0f03ee760h,0c5832fceh,032f7ea19h,030358f58h,091d53551h,0e01d3c34h,0da48ea80h,01ca5ee41h,0cf4fa4c1h,034e71e8eh,07af1e1c7h,0312abd25h,02153f4a5h,0e3afcdebh + DD 000235e9ah,09d5c84d7h,08c4c836fh,00308d3f4h,089332de5h,0c0a66b04h,089e566efh,0610dd399h,0d1ac1635h,0f8eea460h,020a2c0dfh,084cbb3fbh,0e74a48c5h,040afb488h,0d326b150h,029738198h + DD 0a6d74081h,02a17747fh,055a26214h,060ea4c05h,01f88c5feh,053514bb4h,07e83426ch,0edd64567h,096460b25h,0d5d6cbech,068dc115eh,0a12fd0ceh,0697840eah,0c5bc3ed2h,0a6331e31h,0969876a8h + DD 0472ff580h,060c36217h,04ad41393h,0f4229705h,0a03b8b92h,04bd99ef0h,0c144f4f6h,0501c7317h,018464945h,0159009b3h,074c5c6beh,06d5e594ch,0321a3660h,02d587011h,03898d022h,0d1e184b1h + DD 04c6a7e04h,05ba04752h,045550b65h,047fa1e2bh,048c0a9a5h,09419daf0h,07c243236h,066362953h,05cb12a88h,0cd0744b1h,02b646188h,0561b6f9ah,066c2c0c0h,0599415a5h,00f83f09ah,0be3f0859h + DD 0b92041b8h,09141c5beh,026477d0dh,001ae38c7h,0d12c7a94h,0ca8b71f3h,0765c70dbh,0fab5b31fh,0487443e9h,076ae7492h,0990d1349h,08595a310h,07d460a37h,0f8dbeda8h,01e45a38fh,07f7ad082h + DD 01059705ah,0ed1d4db6h,0e6b9c697h,0a3dd492ah,06eb38bd5h,04b92ee3ah,067cc0bb7h,0bab2609dh,06e70ee82h,07fc4fe89h,013e6b7e3h,0eff2c56eh,034d26fcah,09b18959eh,0889d6b45h,02517ab66h + DD 0bdefdd4fh,0f167b4e0h,0f366e401h,069958465h,0a73bbec0h,05aa368abh,07b240c21h,012148709h,018969006h,0378c3233h,0e1fe53d1h,0cb4d73ceh,0130c4361h,05f50a80eh,07ef5212bh,0d67f5951h + DD 09e70c72eh,0f145e21eh,05566d2fbh,0b2e52e29h,0032397f5h,044eaba4ah,07e31a7deh,05e56937bh,0456c61e1h,068dcf517h,0a8b0a388h,0bc2e954ah,060a8b755h,0e3552fa7h,073ad0cdeh,003442daeh + DD 0ceb26210h,037ffe747h,0787baef9h,0983545e8h,086a3de31h,08b8c8535h,0facd46dbh,0c621dbcbh,059266fbbh,082e442e9h,0339d471ch,0a3514c37h,062cdad96h,03a11b771h,0ecf9bdf0h,0f0cb3b3ch + DD 0478e2135h,03fcbdbceh,0bda35342h,07547b5cfh,08a677af6h,0a97e81f1h,028817987h,0c8c2bf83h,045580985h,0df07eaafh,0c93b45cbh,0c68d1f05h,0c77b4cach,0106aa2feh,004a7ae86h,04c1d8afch + DD 09eb45ab2h,0db41c3fdh,0d4b22e74h,05b234b5bh,0f215958ah,0da253dech,0a04edfa0h,067e0606eh,0ef751b11h,0abbbf070h,0f6f06dceh,0f352f175h,06839f6b4h,0dfc4b6afh,09959848eh,053ddf9a8h + DD 0c21520b0h,0da49c379h,0dbd5d1b6h,090864ff0h,05f49c7f7h,02f055d23h,0a796b2d8h,0e51e4e6ah,05c9dc340h,0c361a67fh,0bca7c620h,05ad53c37h,032c756d0h,0da1d6588h,08bb67e13h,0ad60d911h + DD 00eeec8c6h,0d6c47bdfh,0078a1821h,04a27fec1h,0c3099524h,0081f7415h,082cd8060h,08effdf0bh,065842df8h,0db70ec1ch,0d319a901h,08821b358h,0de42b529h,072ee56eeh,0236e4286h,05bb39592h + DD 0fd6f7140h,0d1183316h,0bd8e81f7h,0f9fadb5bh,05a02d962h,0701d5e0ch,01b601324h,0fdee4dbfh,035d7620eh,0bed17407h,0f48c0012h,004e3c2c3h,03455449ah,09ee29da7h,091a836c4h,0562cdef4h + DD 047701097h,08f682a5fh,0ff88d0c2h,0617125d8h,057bb86ddh,0948fda24h,0289f7286h,0348abb8fh,099d94bbdh,0eb10eab5h,04684d160h,0d51ba28eh,030c8f41ah,0abe0e51ch,013254f4ah,066588b45h + DD 0fad097a5h,0147ebf01h,0610e815dh,049883ea8h,08a11de56h,0e44d60bah,0827a7a6dh,0a970de6eh,05e17fc19h,02be41424h,001214057h,0d833c657h,0363e723fh,01375813bh,0e6a52e9bh,06820bb88h + DD 0d875d56ah,07e7f6970h,051fbf6bfh,0d6a0a9ach,0a3083c12h,054ba8790h,06ae7eb64h,0ebaeb23dh,0b99a907ah,0a8685c3ah,0026bf40bh,0f1e74550h,0c802cd9eh,07b73a027h,04fef4635h,09a8a927ch + DD 008191224h,0e1b6f60ch,0de4ec091h,0c4126ebbh,04ae38d84h,0e1dff4dch,04f2ef985h,0de3f57dbh,0d446a1ddh,034964337h,0859e77f6h,07bf217a0h,08e1d13f5h,08ff10527h,074eeae27h,0a304ef03h + DD 0d19dfa5ah,0fc6f5e47h,07fad982bh,0db007de3h,0613715f5h,028205ad1h,07889529eh,0251e6729h,01ae98e78h,072705184h,0271cac32h,0f818537dh,0b7f410f5h,0c8a15b7eh,081f62393h,0c474356fh + DD 0c242316bh,092dbdc5ah,0dbf4aff5h,0abe060ach,0909a8ec6h,06e8c38feh,06116cb94h,043e514e5h,007d784f9h,02078fa38h,0f4b5b357h,01161a880h,013adea3dh,05283ce79h,0cc6a910bh,00756c3e6h + DD 0aaa79697h,060bcfe01h,056391db1h,004a73b29h,0189b45a0h,0dd8dad47h,048d5b8d9h,0bfac0dd0h,07d3d2ec2h,034ab3af5h,0207bd3afh,06fa2fc2dh,066550dedh,09ff40092h,01fd5b913h,0719b3e87h + DD 06d17fbc7h,0a573a496h,073d2b24eh,00cd1a70ah,0b2676937h,034e2c5cah,0bf669f21h,0e7050b06h,01ede9046h,0fbe948b6h,097662659h,0a0530051h,0f10124c5h,058cbd4edh,0dd6c06c8h,0de2646e4h + DD 08cad38c0h,0332f8108h,06bd68ae2h,0471b7e90h,00d8e27a3h,056ac3fb2h,0136b4b0dh,0b54660dbh,0a6fd8de4h,0123a1e11h,0a37799efh,044dbffeah,0ce6ac17ch,04540b977h,0af60acefh,0495173a8h + DD 0391c2a82h,09ebb284dh,0158308e8h,0bcdd4863h,083f1edcah,0006f16ech,0695dc6c8h,0a13e2c37h,04a057a87h,02ab756f0h,0a6b48f98h,0a8765500h,068651c44h,04252faceh,0e1765e02h,0a52b540bh + DD 016a0d2bbh,04f922fc5h,01a623499h,00d5cc16ch,057c62c8bh,09241cf3ah,0fd1b667fh,02f5e6961h,0f5a01797h,05c15c70bh,060956192h,03d20b44dh,0071fdb52h,004911b37h,08d6f0f7bh,0f648f916h + DD 0e60b7cf7h,06dc1acafh,084a9d869h,025860a50h,0e7ba8ac4h,056fc6f09h,06148d29eh,0828c5bd0h,0dc55ae5fh,0ac6b435eh,0c0117411h,0a527f56ch,0fd24342ch,094d5045eh,070b67c0dh,02c4c0a35h + DD 0fac61d9ah,0027cc8b8h,0e3c6fe8ah,07d25e062h,0e5bff503h,0e08805bfh,06ff632f7h,013271e6ch,0232f76a5h,055dca6c0h,0701ef426h,08957c32dh,0a10a5178h,0ee728bcbh,0b62c5173h,05ea60411h + DD 0d0b8892bh,0fc4e964eh,09301bb74h,09ea17683h,0fcc48626h,06265c5aeh,0bb3e9102h,0e60cf82eh,0d4df5531h,057adf797h,08deeefe2h,0235b59a1h,03f306eb1h,060adcf58h,03d09492dh,0105c2753h + DD 0b5def996h,04090914bh,0233dd1e7h,01cb69c83h,09b3d5e76h,0c1e9c1d3h,0fccf6012h,01f3338edh,02f5378a8h,0b1e95d0dh,02f00cd21h,0acf4c2c7h,0eb5fe290h,06e984240h,0248088aeh,0d66c038dh + DD 0f94d70cfh,0804d264ah,07314bf7eh,0bdb802efh,04333ed02h,08fb54de2h,0285635d9h,0740461e0h,0365e9383h,04113b2c8h,03fdef652h,0ea762c83h,047b956c1h,04eec6e2eh,065620fa4h,0a3d814beh + DD 0b4d8bc50h,09ad5462bh,0a9195770h,0181c0b16h,078412a68h,0ebd4fe1ch,0c0dff48ch,0ae0341bch,07003e866h,0b6bc45cfh,08a24a41bh,0f11a6deah,0d04c24c2h,05407151ah,0da5b7b68h,062c9d27dh + DD 088cceff6h,02e964235h,08b07ed69h,08594c54fh,0c84d0d0dh,01578e73ch,0ff532868h,07b4e1055h,0b5ec995ah,0a348c0d5h,014289a54h,0bf4b9d55h,058fbd777h,09ba155a6h,01a84491dh,0186ed7a8h + DD 0614c0900h,0d4992b30h,0bd00c24bh,0da98d121h,07ec4bfa1h,07f534dc8h,037dc34bch,04a5ff674h,01d7ea1d7h,068c196b8h,080a6d208h,038cf2893h,0e3cbbd6eh,0fd56cd09h,04205a5b6h,0ec72e27eh + DD 0a44f77f7h,015ea68f5h,0b43c52bch,07aa5f9fdh,094f0e609h,086ff676fh,02e2d432bh,0a4cde963h,0eee470afh,08cafa0c0h,08a3f5ec8h,084137d0eh,0faa31231h,0ebb40411h,06f7f7ccfh,0a239c13fh + DD 0a8afd30bh,032865719h,08a826dceh,086798328h,0c4a8fbe0h,0df04e891h,0ebf56ad3h,0bb6b6e1bh,0471f1ff0h,00a695b11h,0be15baf0h,0d76c3389h,0be96c43eh,0018edb95h,090794158h,0f2beaaf4h + DD 0c3076a27h,0152db09eh,0e416545dh,05e82908eh,0356d6f2eh,0a2c41272h,031fd74e1h,0dc9c9642h,0519bf615h,066ceb88dh,005a2274eh,0e29ecd76h,0bf5e2fa0h,03a0473c4h,064284e67h,06b6eb671h + DD 0b88756ddh,0e8b97932h,0f17e3e61h,0ed4e8652h,03ee1c4a4h,0c2dd1499h,0597f8c0eh,0c0aaee17h,06c168af3h,015c4edb9h,0b39ae875h,06563c7bfh,020adb436h,0adfadb6fh,09a042ac0h,0ad55e8c9h + DD 0b76da1f5h,0975a1ed8h,0a58acb94h,010dfa466h,0ac060282h,08dd7f7e3h,0572a051eh,06813e66ah,0350cb901h,0b4ccae1eh,050cb7822h,0b653d656h,0dfab3b87h,042484710h,09b670fd0h,0cd7ee537h + DD 0523b8bf6h,00a50b12eh,08f910c1bh,08009eb5bh,04a167588h,0f535af82h,0fb2a2abdh,00f835f9ch,02afceb62h,0f59b2931h,0169d383fh,0c797df2ah,066ac02b0h,0eb3f5fb0h,0daa2d0cah,0029d4c6fh + DD 0afab4bc5h,0d4059bc1h,056783247h,0833f5c6fh,08d2d3605h,0b5346630h,0d34d8433h,083387891h,0add9419ah,0d973b30fh,0afe3fce8h,0bcca1099h,00809aac6h,008178315h,0540f0f11h,001b7f21ah + DD 0909523c8h,065c29219h,0a3a1c741h,0a62f648fh,060c9e55ah,088598d4fh,00e4f347ah,0bce9141bh,035f9b988h,09af97d84h,0320475b6h,00210da62h,09191476ch,03c076e22h,044fc7834h,07520dbd9h + DD 0c1ab1bbdh,06a6b2cfeh,0dc650938h,0ef8a65beh,0805d7bc4h,072855540h,0ed11fdfdh,0da389396h,074660876h,0a9d5bd36h,0b45dff35h,011d67c54h,0a4f5da94h,06af7d148h,0c0bbeb31h,0bb8d4c3fh + DD 0e0a1b12ah,087a7ebd1h,0770ba95fh,01e4ef88dh,0dc2ae9cbh,08c33345ch,001cc8403h,0cecf1276h,01b39b80fh,0687c012eh,035c33ba4h,0fd90d0adh,05c9661c2h,0a3ef5a67h,0e017429eh,0368fc88eh + DD 0196a2fa2h,0d30c6761h,0bd5b312eh,0931b9817h,072f54a31h,0ba01000ch,066eaa541h,0a203d2c8h,098939db3h,0f2abdee0h,03e606c02h,0e37d6c2ch,0521ff643h,0f2921574h,0d7e2fca3h,02781b3c4h + DD 07850ec06h,0664300b0h,07d3a10cfh,0ac5a38b9h,0e34ab39dh,09233188dh,05072cbb9h,0e77057e4h,0b59e78dfh,0bcf0c042h,01d97de52h,04cfc91e8h,03ee0ca4ah,04661a26ch,0fb8507bch,05620a4c1h + DD 0049f842ch,04b44d4aah,01540e82bh,0ceabc5d5h,015c6f156h,0306710fdh,063db1d72h,0be5ae52bh,0334957f1h,006f1e7e6h,031144a70h,057e388f0h,0df96447bh,0fb69bb2fh,073e38a12h,00f78ebd3h + DD 02b7ce542h,0b8222605h,07472bde1h,0e6d4ce99h,009d2f4dah,053e16ebeh,053b92b2eh,0180ff42eh,02c34a1c6h,0c59bcc02h,0422c46c2h,03803d6f9h,05c14a8a2h,018aff74fh,010a08b28h,055aebf80h + DD 07135593fh,066097d58h,02be570cdh,032e6eff7h,02a8c860dh,0584e6a10h,0a2eb4163h,0cd185890h,06d97e134h,07ceae99dh,0dd8447ceh,0d42c6b70h,0b8c50273h,059ddbb4ah,03cf34e1eh,003c612dfh + DD 004b6c5a0h,084b9ca15h,018f0e3a3h,035216f39h,0bd986c00h,03ec2d2bch,0d19228feh,08bf546d9h,04cd623c3h,0d1c655a4h,0502b8e5ah,0366ce718h,0eea0bfe7h,02cfc84b4h,0cf443e8eh,0e01d5ceeh + DD 0036520f8h,08ec045d9h,092d40e98h,0dfb3c3d1h,0cc559a04h,00bac4cceh,0240ea6b1h,035eccae5h,0f8a5a0ach,0180b32dbh,0eb699700h,0547972a5h,0ca26bca0h,0a3765801h,0a647f25ah,057e09d0eh + DD 02fdd23cch,0b956970eh,05682e971h,0b80288bch,09ae86ebch,0e6e6d91eh,08c9f1939h,00564c83fh,039560368h,0551932a2h,0049c28e2h,0e893752bh,0a6a158c3h,00b03cee5h,004964263h,0e12d656bh + DD 063e3bc1dh,04b47554eh,045044ff7h,0c719b6a2h,0e48daa07h,04f24d30ah,0c8c1edc3h,0a3f37556h,00700d360h,09a47bf76h,0822ae4e2h,0bb1a1824h,089f1fb4ch,022e275a3h,09968c5f5h,072b1aa23h + DD 0be063f64h,0a75feacah,0bce47a09h,09b392f43h,01ad07acah,0d4241509h,08d26cd0fh,04b0c591bh,092f1169ah,02d42ddfdh,04cbf2392h,063aeb1ach,00691a2afh,01de9e877h,0d98021dah,0ebe79af7h + DD 040e50acfh,0cfdf2a4eh,0af01d665h,0f0a98ad7h,01831be1fh,0efb640bfh,080e9ada0h,06fe8bd2fh,06cafbc91h,094c103a1h,08308e08ch,0170f8759h,09780ff4fh,05de2d2abh,045b201f2h,0666466bch + DD 0f5b343bch,058af2010h,0f2f142feh,00f2e400ah,0a85f4bdfh,03483bfdeh,003bfeaa9h,0f0b1d093h,0c7081603h,02ea01b95h,03dba1097h,0e943e4c9h,0b438f3a6h,047be92adh,0e5bf6636h,000bb7742h + DD 0824297b4h,0136b7083h,05584455fh,09d0e5580h,0f1c7d69eh,0ab48cedch,02a256e76h,053a9e481h,065eb2413h,00402b0e0h,08fc407a7h,0dadbbb84h,08d7f5492h,0a65cd5a4h,074bae294h,021d44293h + DD 03b5f1cc4h,066917ce6h,0ce872e62h,037ae52eah,02905f244h,0bb087b72h,01e6af74fh,012077086h,01058edeah,04b644e49h,0b638ca1dh,0827510e3h,06038591ch,08cf2b704h,0fe635063h,0ffc8b47ah + DD 01b4d5e63h,03ae220e6h,09d961b4bh,0bd864742h,09bd16bedh,0610c107eh,01127147bh,04270352ah,064cfc50eh,07d17ffe6h,01e36cb42h,050dee01ah,035dc5f9ah,0068a7622h,0df53f62ch,09a08d536h + DD 06be5f7deh,04ed71457h,0c2263c9eh,0d93006f8h,0cacacb36h,0e073694ch,03ae118abh,02ff7a5b4h,0cd871236h,03cce53f1h,0c2aa6d52h,0f156a39dh,0b198d76dh,09cc5f271h,081383d39h,0bc615b6fh + DD 0de3eee6bh,0a54538e8h,0ab910d91h,058c77538h,058d278bdh,031e5bdbch,0b963acaeh,03cde4adfh,05302169ch,0b1881fd2h,0a989ed8bh,08ca60fa0h,0ff96a0eeh,0a1999458h,0ac6c283dh,0c1141f03h + DD 06dfafed3h,07677408dh,039661588h,033a01653h,00b726fa0h,03c9c15ech,06c9b56dah,0090cfd93h,0a3c40af5h,0e34f4baeh,0d21129f1h,03469eadbh,01e207ce8h,0cc51674ah,0c83b1ef9h,01e293b24h + DD 01e6c0bb4h,017173d13h,090776d35h,019004695h,06de6f922h,0e7980e34h,0f4dd9a22h,0873554cbh,0cbf18a51h,00316c627h,03032c081h,04d93651bh,03946834dh,0207f2771h,030cdbf80h,02c08d7b4h + DD 086df2a61h,0137a4fb4h,0ecf7b4a2h,0a1ed9c07h,07bd042ffh,0b2e460e2h,05f62f5ech,0b7f5e2fah,0cc2423b7h,07aa6ec6bh,0ba63eea7h,075ce0a7fh,0f250a6e1h,067a45fb1h,0e53cdc9fh,093bc919ch + DD 0871942dfh,09271f56fh,07859ad66h,02372ff6fh,033cb1a78h,05f4c2b96h,05838aa83h,0e3e29101h,0e4e8110ch,0a7ed1611h,0330198ceh,02a2d70d5h,06720efe0h,0bdf132e8h,066a471bfh,0e61a8962h + DD 0825808bdh,0796d3a85h,03fd6e902h,051dc3cb7h,0916219d1h,0643c768ah,0a2ad7d32h,036cd7685h,0b22922a4h,0e3db9d05h,0dba29660h,06494c87eh,0bcd2ebc7h,0f0ac91dfh,045107f8dh,04deb57a0h + DD 0c3d12a73h,042271f59h,0a5c2c51dh,05f71687ch,005797bcbh,0cb1f50c6h,0d6d34eb0h,029ed0ed9h,04683c2ebh,0e5fe5b47h,097447c46h,04956eeb5h,071207167h,05b163a43h,00248c5efh,093fa2fedh + DD 031f63950h,067930af2h,014caa2c9h,0a77797c1h,027ac7e62h,0526e80eeh,058b28aech,0e1e6e626h,0b3c9fef0h,0636178b0h,06d5f90beh,0af7752e0h,0eece51cfh,094ecaf18h,0ca806e1fh,02864d0edh + DD 097c69134h,06de2e383h,0eb291293h,05a42c316h,06a60bae0h,0c7779219h,06b7599d1h,0a24de346h,0b75d4941h,049d374aah,02d501ff0h,098900586h,0eb7974cfh,09f16d40eh,0cdd8c115h,01033860bh + DD 02094cec3h,0b6c69ac8h,0403b770ch,09976fb88h,04859590dh,01dea026ch,08562d1fdh,0b6acbb46h,044569d85h,07cd6c461h,097f0891dh,0c3190a36h,048d5a17dh,0c6f53195h,0d749abc8h,07d919966h + DD 0dd1c8a20h,065104837h,02f683419h,07e5410c8h,0be94022eh,0958c3ca8h,06145dac2h,0605c3197h,001683d54h,03fc07501h,0595b1234h,01d7127c5h,09481277fh,010b8f87ch,0e65a1adbh,0677db2a8h + DD 0ddce3345h,0ec2fccaah,0012a4350h,02a6811b7h,0ac598bdch,096760ff1h,0d1bf4128h,0054d652ah,092a21005h,00a1151d4h,033110fdfh,0ad7f3971h,01960100fh,08c95928ch,07bf03362h,06c91c825h + DD 0ce309f06h,0c8c8b2a2h,0ca27204bh,0fdb27b59h,00848e32eh,0d223eaa5h,0e7bfaf1eh,0b93e4b2eh,044aa3dedh,0c5308ae6h,0c015d573h,0317a666ah,01a979707h,0c888ce23h,00d5c4958h,0f141c1e6h + DD 061906373h,0b53b7de5h,0eb999595h,0858dbadeh,0a59e5c36h,08cbb47b2h,0dcf4e842h,0660318b3h,012ba4b7ah,0bd161ccdh,0f8c8282ah,0f399daabh,0eeb2130dh,01587633ah,0da38dd7dh,0a465311ah + DD 064d3779bh,05f75eec8h,0ad64c171h,03c5d0476h,02a914428h,087410371h,090e2fc29h,08096a891h,023b3ebc2h,0d3d2ae9dh,0a580cfd6h,090bdd6dbh,0c5b01f6ch,052dbb7f3h,0e102a2dch,0e68eded4h + DD 099eb6df0h,017785b77h,07386b779h,026c3cc51h,06417a48eh,0345ed988h,007d6ef31h,0e990b4e4h,02586abbah,00f456b7eh,059c96e9ah,0239ca6a5h,0e2eb4206h,0e327459ch,0a002b90ah,03a4c3313h + DD 0f6a3f6fbh,02a114806h,085c251ddh,0ad5cad2fh,0f5a784d3h,092c1f613h,0349766d5h,0ec7bfacfh,03e23cb3bh,004b3cd33h,0c5a64b2dh,03979fe84h,07e589106h,0192e2720h,0a15b527fh,0a60c43d1h + DD 0be7cf3a6h,02dae9082h,0bc967274h,0cc86ba92h,0aea0a8a9h,0f28a2ce8h,06ee988b3h,0404ca6d9h,0005921b8h,0fd7e9c5dh,044e79bf9h,0f56297f1h,00d75ddc2h,0a163b460h,0a1f2be87h,030b23616h + DD 0bfe50e2bh,04b070d21h,0e1bfede1h,07ef8cfd0h,02aac4ae0h,0adba0011h,0b9ebd033h,02a3e7d01h,0e38d9d1ch,0995277ech,09c5d2de3h,0b500249eh,0f13ca8c9h,08912b820h,0877793afh,0c8798114h + DD 0ec3f1dech,019e6125dh,0911178dah,007b1f040h,0904a6738h,0d93ededah,00bebedcdh,055187a5ah,0eb329d41h,0f7d04722h,0f170b391h,0f449099eh,0ca99f828h,0fd317a69h,034a4976dh,050c3db2bh + DD 03757b392h,0e9ba7784h,0aa3ca05ah,0326caefdh,0f1e593d4h,078e5293bh,00d98fd13h,07842a937h,05f96b10dh,0e694bf96h,006a8cd05h,0373a9df6h,0e8f0c7fch,0997d1e51h,063fd972eh,01d019790h + DD 05499fb32h,00064d858h,077a8aeb7h,07b67bad9h,02d08eec5h,01d3eb977h,0cbabae1dh,05fc047a6h,0e54a64bbh,00577d159h,0c43497e4h,08862201bh,02ce0608dh,0ad6b4e28h,00b167aach,08b687b7dh + DD 08b2ecfa9h,06ed4d367h,0a90c3c38h,024dfe62dh,03fe5c42bh,0a1862e10h,0d5732a9fh,01ca73dcah,076bb87adh,035f038b7h,0f242b81fh,0674976abh,0b0fd90cdh,04f2bde7eh,0a7fdf092h,06efc172eh + DD 092222f1fh,03806b69bh,06cf7ae70h,05a2459cah,0a85217eeh,06789f69ch,0e3dc85ach,05f232b5eh,048e9e516h,0660e3ec5h,03197eb31h,0124b4e47h,0aafcca23h,010a0cb13h,08213224fh,07bd63ba4h + DD 0290a7f4fh,0affad7cch,00286b461h,06b409c9eh,0ffa407afh,058ab809fh,0c68ac073h,0c3122eedh,04ef24d7eh,017bf9e50h,03e2a5811h,05d929794h,002902e01h,0519bc867h,039c8a851h,076bba5dah + DD 0da94951eh,0e9f9669ch,066b8d418h,04b6af58dh,017d426a4h,0fa321074h,09dde6027h,0c78e66a9h,04a53b964h,00516c083h,0ff602330h,0fc659d38h,058c5c897h,00ab55e5ch,0838bc5dfh,0985099b2h + DD 0c52fc238h,0061d9efch,06ac1da3fh,0712b2728h,09283fe08h,0fb658149h,0b8aaa2f7h,04954ac94h,07fb2e74fh,085c0ada4h,0b89926b0h,0ee8ba98eh,023d1af5bh,0e4f9d37dh,0ba9b015eh,014ccdbf9h + DD 07bfe7178h,0b674481bh,065405868h,04e1debaeh,0c48c867dh,0061b2821h,0513b30eah,069c15b35h,036871088h,03b4a1666h,01220b1ffh,0e5e29f5dh,0233d9f4dh,04b82bb35h,018cdc675h,04e076333h + DD 0a3e6fcedh,00d53f5c7h,0f45fbdebh,0e8cbbdd5h,013339a70h,0f85c01dfh,0142ceb81h,00ff71880h,0bd70437ah,04c4e8774h,0ba0bda6ah,05fb32891h,0f18bd26eh,01cdbebd2h,003a9d522h,02f9526f1h + DD 092c4d684h,040ce3051h,07612efcdh,08b04d725h,06f9cae20h,0b9dcda36h,0f058856ch,00edc4d24h,085427900h,064f2e6bfh,0dc09dfeah,03de81295h,0379bf26ch,0d41b4487h,06df135a9h,050b62c6dh + DD 0c72dfe67h,0d4f8e3b4h,090e19fdfh,0c416b0f6h,04c13bd35h,018b9098dh,015b8cb9eh,0ac11118ah,0f0062841h,0f598a318h,089f356f4h,0bfe0602fh,030177a0ch,07ae3637eh,061136537h,034097747h + DD 0d005832ah,00db2fb5eh,091042e4fh,05f5efd3bh,0ed70f8cah,08c4ffdc6h,0b52da9cch,0e4645d0bh,0c9001d1fh,09596f58bh,04e117205h,052c8f0bch,0e398a084h,0fd4aa0d2h,0104f49deh,0815bfe3ah + DD 023885e5fh,097e5443fh,0e8433aabh,0f72f8f99h,0e4d4e604h,0bd00b154h,0e5e173ffh,0d0b35e6ah,09164722dh,057b2a048h,088761ec8h,03e3c665bh,03da83832h,06bdd1397h,073dafe3bh,03c8b1a1eh + DD 054317cach,04497ace6h,0521771b3h,0be600ab9h,0b0dfe8b8h,0b42e409eh,03942310fh,0386a67d7h,04431cc28h,025548d8dh,0985dc524h,0a7cff142h,093c4be32h,04d60f5a1h,0d071c6e1h,083ebd5c8h + DD 0b1fd2b0bh,0ba3a80a7h,05bec33e8h,09b3ad396h,079743fb3h,0b3868d61h,0fdb462fah,0cfd169fch,09ce0a6afh,0d3b499d7h,0e42d3ff8h,055dc1cf1h,0c6c3e1b2h,004fb9e6ch,06f69a474h,047e6961dh + DD 0e548b37bh,054eb3acch,084d40549h,0b38e7542h,07b341b4fh,08c3daa51h,0690bf7fah,02f6928ech,086ce6c41h,00496b323h,010adadcdh,001be1c55h,04bb5faf9h,0c04e67e7h,0e15c9985h,03cbaf678h + DD 050ca4247h,08cd12145h,0e7dd30aah,0ba1aa47ah,0e58fee24h,02f81ddf1h,0eec9b0e8h,003452936h,0243aea96h,08bdc3b81h,015c3d0e5h,09a2919afh,010948361h,09ea640ech,06e0bcccfh,05ac86d5bh + DD 0c36cf440h,0f892d918h,0c939719ch,0aed3e837h,0c0218b64h,0b07b08d2h,0ce9790ddh,06f1bcbbah,060919b8eh,04a84d6edh,08ac1f9ebh,0d8900791h,00dd5daefh,0f84941aah,067fd62c5h,0b22fe40ah + DD 0157f2db3h,097e15ba2h,08e28ca9ch,0bda2fc8fh,037b9f454h,05d050da4h,02379d72eh,03d57eb57h,0fb5ee997h,0e9b5eba2h,0e11538cah,001648ca2h,0f6327974h,032bb76f6h,0ff3f4bb7h,0338f14b8h + DD 0d7ab9a2dh,0524d226ah,07dfae958h,09c00090dh,08751d8c2h,00ba5f539h,03ab8262dh,08afcbcddh,0e99d043bh,057392729h,0aebc943ah,0ef51263bh,020862935h,09feace93h,0b06c817bh,0639efc03h + DD 066b4be7ah,01fe054b3h,084a37a1eh,03f25a9deh,078d75cd9h,0f39ef1adh,05062c1b5h,0d7b58f49h,0ff563436h,06f74f9a9h,0e8af51e7h,0f718ff29h,015e97fech,05234d313h,0292f1c0ah,0b6a8e2b1h + DD 0327720c1h,0a7f53aa8h,0ba092cc8h,0956ca322h,028746c4dh,08f03d64ah,066d0d392h,051fe1782h,03c832c80h,0d19b34dbh,06da2e3b4h,060dccc5ch,00a104ccch,0245dd62eh,0620b21fdh,0a7ab1de1h + DD 03893d123h,0b293ae0bh,0b15ee71ch,0f7b75783h,042a9468bh,05aa3c614h,0db15d744h,0d686123ch,0a7ab4116h,08c616891h,0a4e6a459h,06fcd72c8h,077e5fad7h,0ac219110h,0704fa46bh,0fb6a20e7h + DD 0341d81dch,0e839be7dh,032148379h,0cddb6889h,0f7026eadh,0da6211a1h,0f4d1cc5eh,0f3b2575fh,0a7a73ae6h,040cfc8f6h,061d5b483h,083879a5eh,041a50ebch,0c5acb1edh,03c07d8fah,059a60cc8h + DD 0b1876262h,01b73bdceh,012af4ee9h,02b0d79f0h,0d46e1d07h,08bcf3b0bh,0e45d152fh,017d6af9dh,06d736451h,073520461h,056b0bf5ah,043cbbd97h,0d5999b9dh,0b0833a5bh,0eb72e398h,0702614f0h + DD 059c3e9f8h,00aadf01ah,0ce6b3d16h,040200e77h,0deddafadh,0da22bdd3h,0310d72e1h,076dedaf4h,04bc2e88fh,049ef807ch,0146dd5a5h,06ba81291h,07d8d59e9h,0a1a4077ah,0802db349h,087b6a2e7h + DD 01b4e598eh,0d5679997h,006fe4b1dh,0f499ef1fh,0fcb267c5h,03978d3aeh,0235786d0h,0b582b557h,01715cb07h,032b3b2cah,08480241dh,04c3de6a2h,0cb571ecdh,063b5ffedh,0ed2fe9a9h,0eaf53900h + DD 0c3b81990h,0dec98d4ah,09e0cc8feh,01cb83722h,0d2b427b9h,0fe0b0491h,0e983a66ch,00f2386ach,0b3291213h,0930c4d1eh,059a62ae4h,0a2f82b2eh,0f93e89e3h,077233853h,011777c7fh,07f8063ach + DD 059ad2877h,0ff0eb567h,09865c754h,06f454642h,0236e9a84h,0e6fe701ah,006e40fc3h,0c586ef16h,024bafad9h,03f62b6e0h,064da906ah,0c8b42bd2h,0da3276a0h,0c98e1eb4h,006cbf852h,030d0e5fch + DD 0e8b4dfd4h,01b6b2ae1h,08301cbach,0d754d5c7h,0112a39ach,066097629h,093ba4ab9h,0f86b5999h,099f9d581h,026c9dea7h,0c2fafeaah,00473b1a8h,03b2505a5h,01469af55h,0d6a43323h,0227d16d7h + DD 0ad3d97f9h,03316f73ch,01f137455h,052bf3bb5h,009954e7ch,0953eafebh,0dd732411h,0a721dfedh,0141d4579h,0b4929821h,0aa3bd435h,03411321ch,017fa6015h,0afb355aah,018e42f0eh,0b4e7ef4ah + DD 059371000h,0604ac97ch,07f759c18h,0e1c48c70h,0a5db6b65h,03f62ecc5h,038a21495h,00a78b173h,0bcc8ad94h,06be1819dh,0d89c3400h,070dc04f6h,0a6b4840ah,0462557b4h,060bd21c0h,0544c6adeh + DD 0907a544bh,06a00f24eh,0313da210h,0a7520dcbh,011e4994bh,0fe939b75h,0bc275d70h,0918b6ba6h,0644be892h,0d3e5e0fch,0fdaf6c42h,0707a9816h,0f15c13feh,060145567h,0e130a54ah,04818ebaah + DD 058d2f767h,028aad3adh,0d7e7c773h,0dc5267fdh,0c3afcc98h,04919cc88h,02db8cd4bh,0aa2e6ab0h,0d0c63eaah,0d46fec04h,019ffa832h,0a1cb92c5h,0e43a631fh,0678dd178h,03dc788b3h,0fb5ae1cdh + DD 06e77de04h,068b4fb90h,0f06dbb97h,07992bcf0h,0c417c01dh,0896e6a13h,0b956be01h,08d96332ch,0413aa2b9h,0902fc93ah,0fc98c8a5h,099a4d915h,0565f1137h,052c29407h,021e4f281h,04072690fh + DD 002ff6072h,036e607cfh,08ad98cdch,0a47d2ca9h,0f5f56609h,0bf471d1eh,0f264ada0h,0bcf86623h,0aa9e5cb6h,0b70c0687h,017401c6ch,0c98124f2h,0d4a61435h,08189635fh,0a9d98ea6h,0d28fb8afh + DD 040c251f8h,0b9a67c2ah,0a2da44beh,088cd5d87h,0e09b5423h,0437deb96h,064287dc1h,0150467dbh,0cdabb839h,0e161debbh,0f1839a3eh,0a79e9742h,0652d202bh,0bb8dd3c2h,0e9f97d96h,07b3e67f7h + DD 0b1cb6ac9h,05aa5d78fh,0ca1d0d45h,0ffa13e8eh,02ba5bf95h,0369295ddh,039aff05eh,0d68bd1f8h,026d783f2h,0af0d86f9h,0fc3aafc1h,0543a59b3h,07b7da97ch,03fcf81d2h,0d25dee46h,0c990a056h + DD 0519cce2ch,03e6775b8h,0ae13d863h,0fc9af71fh,047c1605ch,0774a4a6fh,02fd205e8h,046ba4245h,0d3fd524dh,0a06feea4h,06de1acc2h,01e724641h,0334e2b42h,0f53816f1h,0922f0024h,049e5918eh + DD 065c7322dh,0439530b6h,0b3c1b3fbh,0cf12cc01h,00172f685h,0c70b0186h,01b58391dh,0b915ee22h,0a317db24h,09afdf03bh,017b8ffc4h,087dec659h,0e4d3d050h,07f46597bh,0006500e7h,080a1c1edh + DD 078bf030eh,084902a96h,050560148h,0fb5e9c9ah,063362426h,06dae0a92h,0a9e30c40h,0dcaeecf4h,0518d0c6bh,0c0d887bbh,0cb985b9dh,099181152h,0ef7bc381h,0ad186898h,09ee46201h,018168ffbh + DD 02502753ch,09a04cdaah,051407c41h,0bb279e26h,0f23564e5h,0eacb03aah,071e61016h,018336582h,0eb809877h,08684b8c4h,0ea0e672eh,0b336e18dh,034ee5867h,0efb601f0h,01341cfd1h,02733edbeh + DD 026025c3ch,0b15e809ah,09350df88h,0e6e981a6h,08502fd8eh,092376237h,00c12be9bh,04791f216h,025f02425h,0b7256789h,07a974443h,0ec863194h,0fb41cc52h,07c0ce882h,0f25c07f2h,0c266ff7eh + DD 0017025f3h,03d4da8c3h,0fb9579b4h,0efcf628ch,01f3716ech,05c4d0016h,06801116eh,09c27ebc4h,01da1767eh,05eba0ea1h,047004c57h,0fe151452h,08c2373b7h,03ace6df6h,05dbc37ach,075c3dffeh + DD 0ddc925fch,03dc32a73h,02f65ee0bh,0b679c841h,0451cbfebh,0715a3295h,0f76e9a29h,0d9889768h,0b28ad247h,0ec20ce7fh,000894d79h,0e99146c4h,09f5e3ea7h,071457d7ch,038030031h,0097b2662h + DD 0cf9f82a8h,0db7f6ae6h,0438f473ah,0319decb9h,0283856c3h,0a63ab386h,0b06a361bh,013e3172fh,07d5a006ch,02959f8dch,075fba752h,02dbc27c6h,087c22c9eh,0c1227ab2h,071a268b2h,006f61f75h + DD 004779ce2h,01b6bb971h,00aadcb1dh,0aca83812h,0aeaab2d5h,0297ae0bch,05bfb9f13h,0a5c14ee7h,0f17a62c7h,0aa00c583h,0173759f6h,039eb962ch,086c9a88fh,01eeba1d4h,0df016c5eh,00ab6c37ah + DD 0a28a0749h,0a2a147dbh,0ee519165h,0246c20d6h,0d3810715h,05068d1b1h,0748160b9h,0b1e7018ch,0f380ff62h,003f5b1fah,0f3cb2c1eh,0ef7fb1ddh,0fc91a7dah,0eab539a8h,0f3f9b561h,083ddb707h + DD 0fe7df7a4h,0c550e211h,0063f6f40h,0a7cd07f2h,02976879ch,0b0de3635h,0e55741dah,0b5f83f85h,0f3d8ac3dh,04ea9d25eh,062819f02h,06fe2066fh,0cef4a564h,04ab2b9c2h,05ffa2de3h,01e155d96h + DD 0c3a72d00h,00eb0a19bh,08513c31bh,04037665bh,004c64637h,02fb2b6bfh,008cdc639h,045c34d6eh,0f01fd796h,056f1e10fh,0fe3667b8h,04dfb8101h,09021d0c0h,0e0eda253h,08a06c6abh,07a94e9ffh + DD 0bb9aa882h,02d3bb0d9h,0ec05fd10h,0ea20e4e5h,01a1ca64eh,0ed7eeb5fh,0c6327cbdh,02fa6b43ch,03aa91121h,0b577e3cfh,03a34079bh,08c6bd5eah,060e02fc0h,0d7e5ba39h,090141bf8h,0f16dd2c3h + DD 080101b98h,0b57276d9h,0b82f0f66h,0760883fdh,04bc3eff3h,089d7de75h,05dc2ab40h,003b60643h,0e05beeach,0cd6e53dfh,0bc3325cdh,0f2f1e862h,0774f03c3h,0dd0f7921h,04552cc1bh,097ca7221h + DD 01cd19f72h,05a0d6afeh,0f183fbebh,0a20915dch,0832c403ch,09fda4b40h,0be425442h,032738eddh,0b5eccf1ah,0469a1df6h,028bbe1f0h,04b5aff42h,0570dfc93h,031359d7fh,0f0088628h,0a18be235h + DD 0b00ed3a9h,0a5b30fbah,073cdf8beh,034c61374h,0abc56797h,02c5c5f46h,0b82a8ae2h,05cecf93dh,0a968fbf0h,07d3dbe41h,01a5c7f3dh,0d23d4583h,0c087a9c7h,0f28f69a0h,0474471cah,0c2d75471h + DD 04eb732ech,036ec9f4ah,0b1ca6bedh,06c943bbdh,0f2457892h,0d64535e1h,0f7e2ac06h,08b84a8eah,02499dd5fh,0e0936cd3h,00ed04e57h,012053d7eh,0e4305d9dh,04bdd0076h,01f67f0a2h,034a527b9h + DD 09cec46eah,0e79a4af0h,0658b9bc7h,0b15347a1h,035af2f75h,06bd2796fh,04051c435h,0ac957990h,0c33a655dh,02669dda3h,088514aa3h,05d503c2eh,03753dd41h,0dfa11337h,00b754f78h,03f054673h + DD 0496125bdh,0bf185677h,03775006ch,0fb0023c8h,03a037899h,0fa0f072fh,00e4aea57h,04222b6ebh,07866d25ah,03dde5e76h,04837aa6fh,0b6eb04f8h,02cf1cdb8h,05315591ah,02d4e683ch,06dfb4f41h + DD 048ee1f3ah,07e923ea4h,005a2afd5h,09604d9f7h,040ea4948h,0be1d4a33h,0b44cbd2fh,05b45f1f4h,04acc757eh,05faf8376h,063d68ff7h,0a7cf9ab8h,0df0e404bh,08ad62f69h,012bdafdfh,0d65f33c2h + DD 0a377b14eh,0c365de15h,08e39f60ch,06bf5463bh,02ce68148h,062030d2dh,0e6f843a8h,0d95867efh,0ef5ab017h,0d39a0244h,04ab55d12h,00bd2d8c1h,041639169h,0c9503db3h,0f7660c8ah,02d4e25b0h + DD 0e224c5d7h,0760cb3b5h,068616919h,0fa3baf8ch,08d142552h,09fbca113h,07669ebf5h,01ab18bf1h,09bdf25ddh,055e6f53eh,0cb6cd154h,004cc0bf3h,095e89080h,0595bef49h,0104a9ac1h,0fe9459a8h + DD 0cce9bb32h,0ad2d89cah,0f7de8285h,0ddea65e1h,0b351bd4bh,062ed8c35h,00c0e19a7h,04150ff36h,0345f4e47h,086e3c801h,0203a266ch,03bf21f71h,0855b1f13h,07ae110d4h,007262517h,05d6aaf6ah + DD 0813d28f1h,01e0f12e1h,07ad7a523h,06000e11dh,0c744a17bh,0c7d8deefh,014c05a00h,01e990b48h,093e976d5h,068fddaeeh,046610d63h,0696241d1h,0893dda88h,0b204e7c3h,06a3a6946h,08bccfa65h + DD 0c5cd1411h,0b59425b4h,0ff3658b1h,0701b4042h,04784cf93h,0e3e56bcah,08fe68d60h,027de5f15h,0f8d53f19h,04ab9cfceh,0a40a730dh,0ddb10311h,04eee0a8ah,06fa73cd1h,05249719dh,0fd548748h + DD 0a8123ef0h,049d66316h,0e7f95438h,073c32db4h,00d9e7854h,02e2ed209h,09d9f0507h,0f98a9329h,00c6aa20ah,0c5d33cf6h,075279bb2h,09a32ba14h,0774a7307h,07e3202cbh,0e8c42dbdh,064ed4bc4h + DD 0d4caed0dh,0c20f1a06h,0171d22b3h,0b8021407h,0d13268d7h,0d426ca04h,025f4d126h,092377007h,071f21a85h,04204cbc3h,0f82369bah,018461b7ah,03fc858f9h,0c0c07d31h,0e2bab569h,05deb5a50h + DD 0d5eea89eh,0d5959d46h,008437f4bh,0fdff8424h,03cfe254fh,0f21071e4h,095468321h,072417696h,0102cae3eh,05d8288b9h,0f1965dffh,02d143e3dh,0a078d847h,000c9a376h,026028731h,06fc0da31h + DD 0e45083a2h,0a2baeadfh,05e5b4bcdh,066bc7218h,0d04b8e7fh,02c826442h,06c4b586bh,0c19f5451h,05b7eeed5h,060182c49h,07aa9dfa1h,0d9954ecdh,0c73884adh,0a403a8ech,09bb39041h,07fb17de2h + DD 0abb020e8h,0694b64c5h,019c4eec7h,03d18c184h,01c4793e5h,09c4673efh,0056092e6h,0c7b8aeb5h,0f0f8c16bh,03aa1ca43h,0d679b2f6h,0224ed5ech,055a205c9h,00d56eeafh,04b8e028bh,0bfe115bah + DD 03927f4feh,097e60849h,0759aa7c5h,0f91fbf94h,06be90a51h,0985af769h,078ccb823h,0c1277b78h,0e7a75952h,0395b656eh,0928da5f5h,000df7de0h,04ca4454fh,009c23175h,07aa2d3c1h,04ec971f4h + DD 0e75d9ccch,045c3c507h,03dc90306h,063b7be8ah,05db44bdch,037e09c66h,06841c6a2h,050d60da1h,008df1b12h,06f9b65eeh,07ff089dfh,038734879h,03fe8013dh,09c331a66h,05f42fcc8h,0017f5de9h + DD 0e8e57567h,043077866h,0f9fcdb18h,0c9f781ceh,09b12e174h,038131ddah,08a03752ah,025d84aa3h,04d0c0ce2h,045e09e09h,092bebba5h,01564008bh,0a87284c7h,0f7e8ad31h,097e7bbaah,0b7c4b46ch + DD 097acf4ech,03e22a7b3h,05ea8b640h,00426c400h,04e969285h,05e3295a6h,0a6a45670h,022aabc59h,05f5942bch,0b929714ch,0fa3182edh,09a6168bdh,0104152bah,02216a665h,0b6926368h,046908d03h + DD 05a1251fbh,0a9f5d874h,0c72725c7h,0967747a8h,031ffe89eh,0195c33e5h,0e964935eh,0609d210fh,02fe12227h,0cafd6ca8h,00426469dh,0af9b5b96h,05693183ch,02e9ee04ch,0c8146fefh,01084a333h + DD 0aed1d1f7h,096649933h,050563090h,0566eaff3h,0ad2e39cfh,0345057f0h,01f832124h,0148ff65bh,0cf94cf0dh,0042e89d4h,0520c58b3h,0319bec84h,05361aa0dh,02a267626h,08fbc87adh,0c86fa302h + DD 05c8b06d5h,0fc83d2abh,0fe4eac46h,0b1a785a2h,0846f7779h,0b99315bch,0ef9ea505h,0cf31d816h,015d7dc85h,02391fe6ah,0b4016b33h,02f132b04h,0181cb4c7h,029547fe3h,0650155a1h,0db66d8a6h + DD 0adc1696fh,06b66d7e1h,00acd72d0h,098ebe593h,0cc1b7435h,065f24550h,0b4b9a5ech,0ce231393h,0db067df9h,0234a22d4h,0caff9b00h,098dda095h,06100c9c1h,01bbc75a0h,0939cf695h,01560a9c8h + DD 099e0925fh,0cf006d3eh,06322375ah,02dd74a96h,0b56af5bah,0c58b446ah,0e0b9b4f1h,050292683h,01aeaffa3h,0e2c34cb4h,09b9587c1h,08b17203fh,0ead1350ch,06d559207h,0fb7f9604h,02b66a215h + DD 0fe51bf74h,00850325eh,05e460094h,09c4f579eh,076da2f25h,05c87b92ah,06febef33h,0889de4e0h,0646083ceh,06900ec06h,0bfe12773h,0be2a0335h,0c5344110h,0add1da35h,0b802cd20h,0757568b7h + DD 000f7e6c8h,075559779h,00facd2f0h,038e8b94fh,003fde375h,0fea1f3afh,075881dfch,05e11a1d8h,0c1e2f2efh,0b3a6b02eh,0c605a6c5h,0193d2bbbh,0339a0b2dh,0325ffeeeh,09e0c8846h,027b6a724h + DD 0f1c367cah,0e4050f1ch,0c90fbc7dh,09bc85a9bh,0e1a11032h,0a373c4a2h,0ad0393a9h,0b64232b7h,0167dad29h,0f5577eb0h,094b78ab2h,01604f301h,0e829348bh,00baa94afh,041654342h,077fbd8ddh + DD 0b964e39ah,0dab50ea5h,0d0d3c76eh,0d4c29e3ch,056d11964h,080dae67ch,0e5ffcc2fh,07307a8bfh,091708c3bh,065bbc1aah,028bf0eebh,0a151e62ch,06fa34db7h,06cb53381h,0a29403a8h,05139e05ch + DD 094a7cd2eh,06ff651b4h,00699336ch,05671ffd1h,0979a896ah,06f5fd2cch,0d8148cefh,011e893a8h,065cf7b10h,0988906a1h,0c50d8485h,081b67178h,08a35b3deh,07c0deb35h,0c1d29799h,0423ac855h + DD 0dac50b74h,0af580d87h,05869734ch,028b2b89fh,0874e28fbh,099a3b936h,025f3f73ah,0bb2c9190h,084a9d5b7h,0199f6918h,07e770374h,07ebe2325h,00738efe2h,0f442e107h,0cf9082d2h,0cf9f3f56h + DD 009618708h,0719f69e1h,0c183f9b1h,0cc9e8364h,0366a21afh,0ec203a95h,0068b141fh,06aec5d6dh,0994f04e9h,0ee2df78ah,0271245b0h,0b39ccae8h,097e43f4fh,0b875a4a9h,0db2cea98h,0507dfe11h + DD 0489b03e9h,04fbf81cbh,06ec414fah,0db86ec5bh,0f51b3ae5h,0fad444f9h,01914e3feh,0ca7d33d6h,00ae6c4d0h,0a9c32f5ch,073969568h,0a9ca1d1eh,01aa7467eh,098043c31h,0e21b5ac6h,0e832e75ch + DD 05232123dh,0314b7aeah,065ae86dbh,008307c8ch,0aa4668edh,006e7165ch,0b4d3ec39h,0b170458bh,0c19bb986h,04d2e3ec6h,0ae0304edh,0c5f34846h,06c9f9722h,0917695a0h,04cab1c0ah,06c7f7317h + DD 09d6d2e8bh,06295940eh,0549f7c97h,0d318b8c1h,097713885h,022453204h,0a8a440feh,0468d834bh,0bfba796eh,0d81fe5b2h,06d71f116h,0152364dbh,0b5b66e53h,0bb8c7c59h,02641a192h,00b12c61bh + DD 0fcf0a7fdh,031f14802h,05488b01eh,042fd0789h,09952b498h,071d78d6dh,007ac5201h,08eb572d9h,04d194a88h,0e0a2a44ch,0ba017e66h,0d2b63fd9h,0f888aefch,078efc6c8h,04a881a11h,0b76f6bdah + DD 0b46c2397h,0187f314bh,05ded2819h,0004cf566h,038764d34h,0a9ea5704h,078084709h,0bba45217h,01171121eh,006474571h,0e7c9b671h,0ad7b7eb1h,0730f7507h,0dacfbc40h,0c7ad7bd1h,0178cd8c6h + DD 0b2a67238h,0bf0be101h,0af9c14f2h,03556d367h,0a5662075h,0104b7831h,079d9e60ah,058ca59bbh,0a569a73bh,04bc45392h,05698f6c9h,0517a52e8h,0aeadd755h,085643da5h,02a581b84h,01aed0cd5h + DD 080af1372h,0b9b4ff84h,0f1ba5d1fh,0244c3113h,0f5f98d31h,02a5dacbeh,04375bc2ah,02c3323e8h,05594b1ddh,017a3ab4ah,0ceb4797eh,0a1928bfbh,0e4886a19h,0e83af245h,072b5a74ah,08979d546h + DD 019f9e967h,0a0f726bch,0e8fbbf4eh,0d9d03152h,0b7707d40h,0cfd6f51dh,063f6e6e0h,0633084d9h,055667eafh,0edcd9cdch,02e44d56fh,073b7f92bh,04e962b14h,0fb2e39b6h,0f671fcbfh,07d408f6eh + DD 0164a89bbh,0cc634ddch,03ef3bd05h,074a42bb2h,0428decbbh,01280dbb2h,0402c8596h,06103f6bbh,0355a5752h,0fa2bf581h,000946674h,0562f96a8h,06da0223bh,04e4ca16dh,028d3aa25h,0fe47819fh + DD 0f8dfcf8ah,09eea3075h,095669825h,0a284f0aah,0867d3fd8h,0b3fca250h,0269d691eh,020757b5fh,093b8a5deh,0f2c24020h,0ebc06da6h,0d3f93359h,0b2739c33h,01178293eh,0bcd686e5h,0d2a3e770h + DD 0cd941534h,0a76f49f4h,0e3c71c0eh,00d37406bh,03b97f7e3h,0172d9397h,0bd7fd0deh,0ec17e239h,06f496ba2h,0e3290551h,036ad50e7h,06a693172h,083e7eff5h,0c4e539a2h,018e1b4cfh,0752737e7h + DD 068af43eeh,0a2f7932ch,0703d00bdh,05502468eh,02fb061f5h,0e5dc978fh,028c815adh,0c9a1904ah,0470c56a4h,0d3af538dh,0193d8cedh,0159abc5fh,020108ef3h,02a37245fh,0223f7178h,0fa17081eh + DD 010c8c0f5h,027b0fb2bh,040650547h,02102c3eah,08ac3bfa7h,0594564dfh,0509dad96h,098102033h,0f1d18a13h,06989643fh,0d7fc5af0h,035eebd91h,0faeaafd8h,0078d096ah,0def3de98h,0b7a89341h + DD 0ecf2a73ah,02a206e8dh,08e551994h,0066a6397h,0b98d53a2h,03a6a088ah,02d1124aah,00ce7c67ch,0759a113ch,048cec671h,04f6f67fah,0e3b373d3h,0fd36727bh,05455d479h,0a13c0d81h,0e5a428eeh + DD 01c86682bh,0b853dbc8h,0b8d02b2ah,0b78d2727h,08ebc329ah,0aaf69bedh,0293b2148h,0db6b40b3h,0b8c4961fh,0e42ea77dh,020e5e0abh,0b1a12f7ch,079e8b05eh,0a0ec5274h,0fab60a80h,068027391h + DD 016b1bd5eh,06bfeea5fh,04de30ad3h,0f957e420h,06a353b9eh,0cbaf664eh,026d14febh,05c873312h,0b65f57cbh,04e87f98ch,05e0cdd41h,0db60a621h,0a6881440h,067c16865h,046ab52aah,01093ef1ah + DD 03f4ece64h,0c095afb5h,07604551ah,06a6bb02eh,00b26b8cdh,055d44b4eh,0f971268ah,0e5f9a999h,011a7de84h,0c08ec425h,0fda469ddh,083568095h,06c6c90a2h,0737bfba1h,0be229831h,01cb9c4a0h + DD 0bb2eec64h,093bccbbah,0da03adbeh,0a0c23b64h,0e0e86ac4h,05f7aa00ah,0fc1401e6h,0470b941eh,09df43574h,05ad8d679h,00f65d810h,04ccfb8a9h,0aa7fbd81h,01bce80e3h,09508d20ah,0273291adh + DD 042a92806h,0f5c4b46bh,0a86ab44ah,0810684ech,0ca0bc9f8h,04591640bh,05c4b6054h,0b5efcdfch,06e9edd12h,016fc8907h,0d4d792f9h,0e29d0b50h,09b03116dh,0a45fd01ch,0c81765a4h,085035235h + DD 0b4b4b67ch,01fe2a9b2h,0e8020604h,0c1d10df0h,0bc8058d8h,09d64abfch,0712a0fbbh,08943b9b2h,03b3def04h,090eed914h,04ce775ffh,085ab3aa2h,07bbc9040h,0605fd4cah,0e2c75dfbh,08b34a564h + DD 010358560h,041ffc94ah,09e5c28aah,02d8a5072h,04cc7eb15h,0e915a0fch,08f6d0f5dh,0e9efab05h,0d19e9b91h,0dbab47a9h,00276154ch,08cfed745h,02cfede0dh,0154357aeh,019f5a4efh,0520630dfh + DD 0e382360fh,025759f7ch,088bf5857h,0b6db05c9h,06c58d46ch,02917d61dh,0fd20cb7ah,014f8e491h,011c20340h,0b68a727ah,0af7ccbb6h,00386f86fh,0fee09a20h,05c8bc6cch,0bb7eea35h,07d76ff4ah + DD 0db15be7ah,0a7bdebe7h,0d89f0302h,067a08054h,0c1193364h,056bf0ea9h,062837ebeh,0c8244467h,020d841b8h,032bd8e8bh,0dbb8a54fh,0127a0548h,063b20236h,083dd4ca6h,0203491fah,087714718h + DD 0aa8a5288h,04dabcaaah,0af23a1c9h,091cc0c8ah,03f220e0ch,034c72c6ah,01232144ah,0bcc20bdfh,0a20ede1bh,06e2f42dah,074a00515h,0c441f00ch,0734b8c4bh,0bf46a5b6h,07b56c9a4h,057409503h + DD 0e4585d45h,09f735261h,06734e642h,09231faedh,0be70ee6ch,01158a176h,07c3501bfh,035f1068dh,0a2d26115h,06beef900h,0ef0afee3h,0649406f2h,0bc2420a1h,03f43a60ah,0d5aee4ach,0509002a7h + DD 03ff3571bh,0b46836a5h,0837927c1h,024f98b78h,04533c716h,06254256ah,0d07ee196h,0f27abb0bh,05c6d5bfdh,0d7cf64fch,0f0cd7a77h,06915c751h,08798f534h,0d9f59012h,0f81d8b5fh,0772b0da8h + DD 02e03fa69h,01244260ch,03be1a374h,036cf0e3ah,0ef06b960h,06e7c1633h,0671f90f6h,0a71a4c55h,033c673dbh,07a941251h,073e8c131h,0c0bea510h,0d4f6c734h,061a8a699h,0341ed001h,025e78c88h + DD 08e2f7d90h,05c18acf8h,077be32cdh,0fdbf33d7h,0d2eb5ee9h,00a085cd7h,0b3201115h,02d702cfbh,085c88ce8h,0b6e0ebdbh,01e01d617h,023a3ce3ch,0567333ach,03041618eh,0157edb6bh,09dd0fd8fh + DD 0b57872b8h,027f74702h,0657d5fe1h,02ef26b4fh,057cf3d40h,095426f0ah,065a6067ah,0847e2ad1h,009996a74h,0d474d9a0h,02a26115ch,016a56acdh,0d16f4d43h,002a615c3h,0aadb85b7h,0cc3fc965h + DD 0ce07d1b0h,0386bda73h,058ad4178h,0d82910c2h,0cd2617f4h,0124f82cfh,0ef691770h,0cc2f5e8dh,0b8c30ccch,082702550h,01a8e575ah,07b856aeah,0b1ab9459h,0bb822fefh,0ec24e38eh,0085928bch + DD 0ba8f4b4dh,05d0402ech,000b4d58bh,0c07cd4bah,029227e7ah,05d8dffd5h,031bf386fh,061d44d0ch,0135e6f4dh,0e486dc2bh,0e79410efh,0680962ebh,0f10088b5h,0a61bd343h,0e2e28686h,06aa76076h + DD 08fb98871h,080463d11h,0bbc76affh,0cb26f5c3h,0fbe03614h,0d4ab8eddh,0c0cf2deeh,0c8eb579bh,0c93bae41h,0cc004c15h,03aeca3b2h,046fbae5dh,00f1e9ab1h,0671235cfh,09ec285c1h,0adfba934h + DD 0f216c980h,088ded013h,0f79e0bc1h,0c8ac4fb8h,0fb97a237h,0a29b89c6h,09922d8e7h,0b697b780h,0ddb945b5h,03142c639h,0e094c3a9h,0447b06c7h,072266c90h,0cdcb3642h,0a9385046h,0633aad08h + DD 0b57c6477h,0a36c936bh,0e94dbcc6h,0871f8b64h,0a591a67bh,028d0fb62h,0c1d926f5h,09d40e081h,0f2d84b5ah,03111eaf6h,0a565b644h,0228993f9h,02c83188bh,00ccbf592h,03df3e197h,0f87b30abh + DD 07642bca8h,0b8658b31h,052800f17h,01a032d7fh,079bf9445h,0051dcae5h,054a2e253h,0eba6b8eeh,0d4485692h,05c8b9cadh,08986e9beh,084bda40eh,02f0db448h,0d16d16a4h,0a14d4188h,08ec80050h + DD 098fa7aaah,0b2b26107h,0f073aa4eh,041209ee4h,0f2d6b19bh,0f1570359h,0fc577cafh,0cbe6868ch,032c04dd3h,0186c4bdch,0cfeee397h,0a6c35faeh,0f086c0cfh,0b4a1b312h,0d9461fe2h,0e0a5ccc6h + DD 01536189fh,0c32278aah,0ba6df571h,01126c55fh,0b194560eh,00f71a602h,0324bd6e1h,08b2d7405h,03738be71h,08481939eh,01a4d97a9h,0b5090b1ah,0f05ba915h,0116c65a3h,0aae448aah,021863ad3h + DD 0a7aae5d3h,0d24e2679h,00de5c1c4h,07076013dh,0bb05b629h,02d50f8bah,06e66efbbh,073c1abe2h,0f2488af7h,0efd4b422h,0663ba575h,0e4105d02h,053a69457h,07eb60a8bh,0c945973bh,062210008h + DD 077a50ec6h,0fb255478h,00a37a72ch,0bf0392f7h,04be18e7ah,0a0a7a19ch,025b1e0afh,090d8ea16h,0ef953f57h,07582a293h,0bdc5465ah,090a64d05h,0e2510717h,0ca79c497h,018cb641fh,0560dbb7ch + DD 04b66abfbh,01d8e3286h,059030900h,0d26f52e5h,05584941ah,01ee3f643h,0569f5958h,06d3b3730h,04789dba5h,09ff2a62fh,072b5c9b7h,091fcb815h,06c8f9a0eh,0f446cb7dh,039b7ecb5h,048f625c1h + DD 01c6219b8h,0babae801h,028ac2f23h,0e7a562d9h,026e20588h,0e1b48732h,0775af051h,006ee1cadh,0faff79f7h,0da29ae43h,0652ee9e0h,0c141a412h,0195f4bd0h,01e127f6fh,0072f34f8h,029c6ab4fh + DD 030448112h,07b7c1477h,0e4a38656h,082b51af1h,02f315010h,02bf2028ah,06ea88cd4h,0c9a4a01fh,0257e5818h,0f63e95d8h,0b4519b16h,0dd8efa10h,00da910bfh,0ed8973e0h,05c0fe4a9h,0ed49d077h + DD 0b7caee1eh,0ac3aac5eh,0a7f4da57h,01033898dh,05c6669b9h,042145c0eh,0c1aa2aa0h,042daa688h,01a1d885ah,0629cc15ch,0f4b76817h,025572ec0h,09c8f8f28h,08312e435h,081965490h,08107f8cdh + DD 06fa6110ch,0516ff3a3h,0fb93561fh,074fb1eb1h,08457522bh,06c0c9047h,06bb8bdc6h,0cfd32104h,0cc80ad57h,02d6884a2h,086a9b637h,07c27fc35h,0adf4e8cdh,03461baedh,0617242f0h,01d56251ah + DD 0c955bef4h,00b80d209h,006adb047h,0df02cad2h,05ec74feeh,0f0d7cb91h,01111ba44h,0d2503375h,0df53cb36h,09671755eh,03368551bh,054dcb612h,0c8a025a4h,066d69aach,0e77ef445h,06be946c6h + DD 0a995e094h,0719946d1h,0e51e04d8h,065e848f6h,06a1e3113h,0e62f3300h,0501de503h,01541c7c1h,0f4acfadeh,04daac9fah,044cd0b71h,00e585897h,00a51cd77h,0544fd869h,00031016dh,060fc20edh + DD 0a4276867h,058b404ech,034f34993h,046f6c3cch,0c636e5bdh,0477ca007h,07c458b47h,08018f5e5h,0e47b668fh,0a1202270h,0ee14f203h,0cef48ccdh,062ff9b4dh,023f98baeh,0c589edddh,055acc035h + DD 064db4444h,03fe712afh,0becdd480h,019e9d634h,0a930978ah,0e08bc047h,0a1280733h,02dbf24ech,02cd706b2h,03c0ae38ch,0359017b9h,05b012a5bh,072e0f5aeh,03943c38ch,057176fa3h,0786167eah + DD 0594881dch,0e5f9897dh,0cfb820c1h,06b5efad8h,0d55018deh,0b2179093h,00bac56ceh,039ad7d32h,02cfc0e81h,0b55122e0h,0f6d89daah,0117c4661h,0cb64fa09h,0362d01e1h,03e9c4dddh,06a309b4eh + DD 0abea49b1h,0fa979fb7h,010e2c6c5h,0b4b1d27dh,023afde7ah,0bd61c2c4h,09786d358h,0eb6614f8h,07f6f7459h,04a5d816bh,009360e7bh,0e431a44fh,0c309914ch,08c27a032h,0caede3d8h,0cea5d68ah + DD 03a0a3f95h,03668f665h,07ceba27bh,089369416h,0e4728fe9h,089981fadh,08a093562h,07102c8a0h,0235d21c8h,0bb80310eh,0befb7f7bh,0505e55d1h,012958a67h,0a0a90811h,04d851fefh,0d67e106ah + DD 0431dd80eh,0b84011a9h,073306cd9h,0eb7c7ccah,0d1b3b730h,020fadd29h,0fe37b3d3h,083858b5bh,0b6251d5ch,0bf4cd193h,01352d952h,01cca1fd3h,090fbc051h,0c66157a4h,089b98636h,07990a638h + DD 087dec0e1h,0e5aa692ah,0f7b39d00h,0010ded8dh,054cfa0b5h,07b1b80c8h,0a0f8ea28h,066beb876h,03476cd0eh,050d7f531h,0b08d3949h,0a63d0e65h,053479fc6h,01a09eea9h,0f499e742h,082ae9891h + DD 05ca7d866h,0ab58b910h,03adb3b34h,0582967e2h,0cceac0bch,089ae4447h,07bf56af5h,0919c667ch,060f5dcd7h,09aec17b1h,0ddcaadbch,0ec697b9fh,0463467f5h,00b98f341h,0a967132fh,0b187f1f7h + DD 0214aeb18h,090fe7a1dh,0741432f7h,01506af3ch,0e591a0c4h,0bb5565f9h,0b44f1bc3h,010d41a77h,0a84bde96h,0a09d65e4h,0f20a6a1ch,042f060d8h,0f27f9ce7h,0652a3bfdh,03b3d739fh,0b6bdb65ch + DD 0ec7fae9fh,0eb5ddcb6h,0efb66e5ah,0995f2714h,069445d52h,0dee95d8eh,009e27620h,01b6c2d46h,08129d716h,032621c31h,00958c1aah,0b03909f1h,01af4af63h,08c468ef9h,0fba5cdf6h,0162c429fh + DD 0753b9371h,02f682343h,05f1f9cd7h,029cab45ah,0b245db96h,0571623abh,03fd79999h,0c507db09h,0af036c32h,04e2ef652h,005018e5ch,086f0cc78h,0ab8be350h,0c10a73d4h,07e826327h,06519b397h + DD 09c053df7h,0e8cb5eefh,0b300ea6fh,08de25b37h,0c849cffbh,0db03fa92h,0e84169bbh,0242e43a7h,0dd6f958eh,0e4fa51f4h,0f4445a8dh,06925a77fh,0e90d8949h,0e6e72a50h,02b1f6390h,0c66648e3h + DD 0173e460ch,0b2ab1957h,030704590h,01bbbce75h,0db1c7162h,0c0a90dbdh,015cdd65dh,0505e399eh,057797ab7h,068434dcbh,06a2ca8e8h,060ad35bah,0de3336c1h,04bfdb1e0h,0d8b39015h,0bbef99ebh + DD 01711ebech,06c3b96f3h,0ce98fdc4h,02da40f1fh,057b4411fh,0b99774d3h,015b65bb6h,087c8bdf4h,0c2eef12dh,0da3a89e3h,03c7471f3h,0de95bb9bh,0d812c594h,0600f225bh,02b75a56bh,054907c5dh + DD 08db60e35h,0a93cc5f0h,0fa833319h,0743e3cd6h,0f81683c9h,07dad5c41h,09c34107eh,070c1e7d9h,0a6be0907h,00edc4a39h,086d0b7d3h,036d47035h,0272bfa60h,08c76da03h,00f08a414h,00b4a07eah + DD 045c1dd53h,0699e4d29h,0231debb5h,0cadc5898h,0a77f00e0h,0df49fcc7h,0a73e5a0eh,093057bbfh,0027a4cd1h,02f8b7ecdh,0c614011ah,0114734b3h,067677c68h,0e7a01db7h,07e273f4fh,089d9be5eh + DD 0089808efh,0d225cb2eh,0d59e4107h,0f1f7a27dh,08211b9c9h,053afc761h,0e6819159h,00361bc67h,07f071426h,02a865d0bh,0e7072567h,06a3c1810h,00d6bcabdh,03e3bca1eh,0408591bch,0a1b02bc1h + DD 031fba239h,0e0deee59h,098bd91d1h,0f47424d3h,0071a3c1dh,00f8886f4h,0a819233bh,03f7d41e8h,0cf6eb998h,0708623c2h,0609a287fh,086bb49afh,063c90762h,0942bb249h,055a9654bh,00ef6eea5h + DD 036f5defeh,05f6d2d72h,056f99176h,0fa9922dch,0f78ce0c7h,06c8c5eceh,0be09b55eh,07b44589dh,09ea83770h,0e11b3bcah,02ab71547h,0d7fa2c7fh,02a1ddcc0h,02a3dd6fah,05a7b7707h,009acb430h + DD 0649d4e57h,04add4a2eh,01917526eh,0cd53a2b0h,020b44ac4h,0c5262330h,0baa2c31dh,04028746ah,064291d4ch,051318390h,0ee5ad909h,0bf48f151h,07b185681h,0cce57f59h,04854d442h,07c3ac1b0h + DD 0c093c171h,065587dc3h,024f42b65h,0ae7acb24h,0955996cbh,05a338adbh,06051f91bh,0c8e65675h,028b8d0b1h,066711fbah,0b6c10a90h,015d74137h,03a232a80h,070cdd7ebh,06191ed24h,0c9e2f07fh + DD 0f79588c0h,0a80d1db6h,0b55768cch,0fa52fc69h,07f54438ah,00b4df1aeh,0f9b46a4fh,00cadd1a7h,01803dd6fh,0b40ea6b3h,055eaae35h,0488e4fa5h,0382e4e16h,09f047d55h,02f6e0c98h,0c9b5b7e0h + DD 095762649h,06b1bd2d3h,0c7aea3f6h,0a9604ee7h,06dc6f896h,03646ff27h,02860bad1h,09bf0e7f5h,07cb44b92h,02d92c821h,0aea9c182h,0a2f5ce63h,09154a5fdh,0d0a2afb1h,095801da6h,0482e474ch + DD 0b611c24bh,0c19972d0h,060a8f351h,01d468e65h,07bcf6421h,0eb758069h,088fbc491h,0ec9dd0eeh,0956c2e32h,05b59d2bfh,0dcddf94eh,073dc6864h,0bcee7665h,0fd5e2321h,05e9a06c4h,0a7b4f8efh + DD 07280f855h,0fba918ddh,08baec688h,0bbaac260h,033400f42h,0a3b3f00fh,066f2e6e4h,03d2dba29h,098509375h,0b6f71a94h,0cea423cch,08f33031fh,04807e6fbh,0009b8dd0h,05cdb954ch,05163cfe5h + DD 0cf41c6e8h,003cc8f17h,0037b925ch,0f1f03c2ah,066d2427ch,0c39c19cch,07b6c18e4h,0823d24bah,0901f0b4fh,032ef9013h,0f8941c2eh,0684360f1h,02c28092eh,00ebaff52h,0256c932fh,07891e4e3h + DD 0ac445e3dh,051264319h,08ea74381h,0553432e7h,067e9c50ah,0e6eeaa69h,062e628c7h,027ced284h,07a4afa57h,03f96d375h,0e484c150h,0de0a14c3h,038bd9923h,0364a24ebh,0e5177422h,01df18da0h + DD 0d8d38a9bh,0174e8f82h,0e7de1391h,02e97c600h,0a1c175ddh,0c5709850h,032ae5035h,0969041a0h,076a2086bh,0cbfd533bh,0d7c2e8feh,0d6bba71bh,0099dfb67h,0b2d58ee6h,0064a85d9h,03a8b342dh + DD 0522f9be3h,03bc07649h,0df1f49a8h,0690c075bh,03854ec42h,080e1aee8h,017689dc7h,02a7dbf44h,03faf4078h,0c004fc0eh,0df11862ch,0b2f02e9eh,0a0a1b7b3h,0f10a5e0fh,08936ec80h,030aca623h + DD 002f40d9ah,0f83cbf05h,02c318a4dh,04681c468h,00e9c2674h,098575618h,01847092eh,0be79d046h,078bd01e0h,0af1e480ah,072a51db9h,06dd359e4h,0e3afbab6h,062ce3821h,017733199h,0c5cee5b6h + DD 06ffd9fbbh,0e08b30d4h,036c610b7h,06e5bc699h,09ce262cfh,0f343cff2h,068b914c1h,0ca2e4e35h,016de36c5h,0011d64c0h,042e2b829h,0e0b10fddh,06685aaf8h,078942981h,0230ede97h,0e7511708h + DD 03b922bf8h,0671ed8fch,04c29b133h,0e4d8c0a0h,03b6e99c4h,087eb1239h,08793bebah,0aff3974ch,02c18df9bh,003749405h,091007139h,0c5c3a293h,0e37a0b95h,06a77234fh,0b661c96bh,002c29a21h + DD 0141ecf61h,0c3aaf1d6h,03bb22f53h,09195509eh,022d51357h,029597404h,0537bed60h,01b083822h,0e07289f0h,0cd7d6e35h,06dd86effh,01f94c48ch,0eb0f9cfah,0c8bb1f82h,01b2eb97dh,09ee0b7e6h + DD 034d74e31h,05a52fe2eh,03bf79ab6h,0a352c310h,0abfeeb8fh,097ff6c5ah,0f5c97305h,0bfbe8fefh,0a7904608h,0d6081ce6h,0c4fca249h,01f812f3ah,0b9e5e200h,09b24bc9ah,038012ee8h,091022c67h + DD 030a713a1h,0e83d9c5dh,084ef0f93h,04876e3f0h,0c1fbf928h,0c9777029h,0bce7d2a4h,0ef7a6bb3h,0dfa2a659h,0b8067228h,0d877a48fh,0d5cd3398h,0025d0f3fh,0bea4fd8fh,02eae7c2bh,0d67d2e35h + DD 0cc5f4394h,0184de7d7h,04536e142h,0b5551b5ch,0d34aa60ah,02e89b212h,0f50051d5h,014a96feah,00d12bb0bh,04e21ef74h,060b9677eh,0c522f020h,02df7731dh,08b12e467h,07b326d31h,039f80382h + DD 039024a94h,0dfb8630ch,097319452h,0aacb96a8h,0eda3867ch,0d68a3961h,077c4ffcah,00c58e2b0h,04da919fah,03d545d63h,0f15e2289h,0ef79b69ah,0808bab10h,054bc3d3dh,045f82c37h,0c8ab3007h + DD 07c4a658ah,0c12738b6h,040e72182h,0b3c47639h,08798e44fh,03b77be46h,017a7f85fh,0dc047df2h,05e59d92dh,02439d4c5h,0e8e64d8dh,0cedca475h,087ca9b16h,0a724cd0dh,0a5540dfeh,035e4fd59h + DD 0e4bcf6b1h,0f8c1ff18h,0295018fah,0856d6285h,03263c949h,0433f665ch,0a1f21409h,0a6a76dd6h,0cc7b4f79h,017d32334h,006720e4ah,0a1d03122h,081d9bed5h,0adb6661dh,011db15d1h,0f0d6fb02h + DD 01fb747d2h,07fd11ad5h,03033762bh,0ab50f959h,0fbefaf5ah,02a7e711bh,03fef2bbfh,0c7393278h,00df6f9beh,0e29fa244h,071efd215h,09092757bh,04f3d6fd9h,0ee60e311h,00acfb78bh,0338542d4h + DD 038961a0fh,044a23f08h,0986987cah,01426eadeh,04a863cc6h,036e6ee2eh,0628b8b79h,048059420h,07396e1deh,030303ad8h,038c5aad1h,05c8bdc48h,05c8f5066h,03e40e11fh,08d246bbdh,0abd6e768h + DD 023330a01h,068aa40bbh,0c34eafa0h,0d23f5ee4h,05de02c21h,03bbee315h,0d1d8dd06h,018dd4397h,0122d7b44h,03ba1939ah,0a33870d6h,0e6d3b40ah,01c4fe3f8h,08e620f70h,0d3a50cbfh,0f6bba1a5h + DD 0cfc0aee0h,04a78bde5h,0c08c50bdh,0847edc46h,0ad63c9b2h,0baa2439ch,010fc2acbh,0ceb4a728h,026da033dh,0a419e40eh,003e02683h,06cc3889dh,0fdccf725h,01cd28559h,08d13d208h,00fd7e0f1h + DD 01f0df9d4h,001b9733bh,0a2b5e4f3h,08cc2c5f3h,03a304fd4h,043053bfah,00a9f1aa7h,08e87665ch,0d73dc965h,0087f29ech,03e9023dbh,015ace455h,02bce28b4h,02370e309h,0b6b1e84ah,0f9723442h + DD 0b72d9f26h,0beee662eh,0f0e47109h,0b19396deh,0e13289d0h,085b1fa73h,054e58e32h,0436cf77eh,0e990ef77h,00ec833b3h,01b11fc25h,07373e3edh,00fc332ceh,0be0eda87h,08d7ea856h,0ced04970h + DD 07e977ca0h,0f85ff785h,0dfdd5d2bh,0b66ee8dah,0905af461h,0f5e37950h,0966d487ch,0587b9090h,032ba0127h,06a198a1bh,0141615ach,0a7720e07h,0996ef2f2h,0a23f3499h,0470bcb3dh,0ef5f64b4h + DD 092b8c559h,0a526a962h,069740a0fh,00c14aac0h,0a6bdc0a5h,00d41a9e3h,09c48aef4h,097d52106h,03e7c253bh,0cf16bd30h,047fdedc1h,0cc834b1ah,0373aab2eh,07362c6e5h,0c5f590ffh,0264ed85eh + DD 066d41870h,07a46d9c0h,04787ba09h,0a50c20b1h,0e3d44635h,0185e7e51h,031e2d8dch,0b3b3e080h,0a179e9d9h,0bed1e558h,074a76781h,02daa3f79h,03a40864fh,04372baf2h,04fe75cb5h,046900c54h + DD 0f76765d0h,0b95f171eh,095c87502h,04ad726d2h,04d7c99bdh,02ec769dah,0c36cdfa8h,05e2ddd19h,0a93e6deah,0c22117fch,093771123h,0e8a2583bh,0fa08a3a2h,0be2f6089h,08f0e1112h,04809d5edh + DD 0da7a095eh,03b414aa3h,026f5aaddh,09049acf1h,06be8b84ah,078d46a4dh,0b732b9b3h,0d66b1963h,0de6e9555h,05c2ac2a0h,0b5bd8770h,0cf52d098h,00fd28921h,015a15fa6h,08b27536dh,056ccb81eh + DD 09f4ccbb8h,00f0d8ab8h,0db221729h,0ed5f44d2h,000bed10ch,043141988h,01d735b8bh,0c94348a4h,029ef8479h,079f3e9c4h,0614c693fh,04c13a4e3h,08e143a14h,032c9af56h,0e29ac5c4h,0bc517799h + DD 02774856fh,005e17992h,06c1bf55fh,06e52fb05h,0e4f19e16h,0aeda4225h,0af5ccb26h,070f4728ah,0b2947f22h,05d2118d1h,0281d6fb9h,0c827ea16h,08cf0eabdh,08412328dh,003ef9dcfh,045ee9fb2h + DD 0bb937d63h,08e700421h,0cc4b37a6h,0df8ff2d5h,05ced7b68h,0a4c0d5b2h,0c7308f59h,06537c1efh,03b37f8e8h,025ce6a26h,0deebc6ceh,0170e9a9bh,08728d72ch,0dd037952h,0850154bch,0445b0e55h + DD 083a7337bh,04b7d0e06h,0ffecf249h,01e3416d4h,066a2b71fh,024840effh,0b37cc26dh,0d0d9a50ah,06fe28ef7h,0e2198150h,023324c7fh,03cc5ef16h,0769b5263h,0220f3455h,0a10bf475h,0e2ade2f1h + DD 0458d3671h,028cd20fah,02dc4847bh,01549722ch,0591941e3h,06dd01e55h,027128ccbh,00e6fbceah,03bef0262h,0ae1a1e6bh,08f54e103h,0fa8c472ch,072c052ech,07539c0a8h,05a3490e9h,0d7b27369h + DD 071684349h,0143fe1f1h,032e19b97h,036b4722eh,090980affh,0dc059227h,09e13d674h,0175c9c88h,06e6bfdb1h,0a7de5b22h,0bedb4b46h,05ea5b7b2h,0d34a6e44h,0d5570191h,0a24ff7e6h,0fcf60d2eh + DD 0677819e1h,0614a392dh,0aa5a29e8h,07be74c7eh,063c85f3fh,0ab50feceh,046cab337h,0aca2e2a9h,0122a6fe3h,07f700388h,0882a04a8h,0db69f703h,0cf7aed57h,09a77935dh,08d91c86fh,0df16207ch + DD 063ed9998h,02fca49abh,0a77ddf96h,0a3125c44h,024344072h,005dd8a86h,0fec3fb56h,0a023dda2h,00c743032h,0421b41fch,05e438639h,04f2120c1h,0c83c1b07h,0fb7cae51h,0cac2171ah,0b2370caah + DD 06cc820fbh,02eb2d962h,0b85a44bfh,059feee5ch,05b6598f0h,094620fcah,07e314051h,06b922caeh,0106bed4eh,0ff8745adh,0dfa1e9abh,0546e71f5h,01ec29487h,0935c1e48h,04d936530h,09509216ch + DD 085c9a2dbh,0c7ca3067h,06be8606fh,0d6ae5152h,0e14c651dh,009dbcae6h,09bc32f96h,0c9536e23h,034521b03h,0a90535a9h,0878756ffh,0f39c526ch,08aedf03ch,0383172ech,0efe0c034h,020a8075eh + DD 064026422h,0f22f9c62h,024b9d076h,08dd10780h,03bef2950h,0944c742ah,088a2b00bh,055b9502eh,086a09817h,0a59e14b4h,047bb4071h,0a39dd3ach,03be0592fh,055137f66h,0c9e63f5bh,007fcafd4h + DD 0346eb226h,0963652eeh,0ec2facb7h,07dfab085h,0691add26h,0273bf2b8h,0f2b46c44h,030d74540h,0f2c2d065h,005e8e73eh,0d42eeac9h,0ff9b8a00h,097209d22h,02fcbd205h,0de14ea2ch,0eb740ffah + DD 0a8aef518h,0c71ff913h,0fff4cfa2h,07bfc74bbh,0b6b36048h,01716680ch,09ef79af1h,0121b2cceh,0a01eb3d3h,0bff3c836h,05f79077bh,050eb1c6ah,0a004bbcfh,0a48c32d6h,07d64f61dh,047a59316h + DD 093102016h,06068147fh,094d12576h,012c5f654h,0c9bc6b91h,0efb071a7h,06e23ea95h,07c2da0c5h,0d4a1dd5dh,0f4fd45b6h,09122b13ch,03e7ad9b6h,0e6f57a48h,0342ca118h,006f8288fh,01c2e94a7h + DD 05a97d231h,099e68f07h,04d838758h,07c80de97h,005872727h,0bce0f5d0h,019c4d016h,0be5d95c2h,09c2492eeh,0921d5cb1h,0404d6fb3h,042192dc1h,032f988d3h,04c84dcd1h,0a17b8e85h,0de26d61fh + DD 0137c7408h,0c466dcb6h,036a266dah,09a38d7b6h,083bebf1bh,07ef5cb06h,00fd014e3h,0e5cdcbbfh,0f65965a0h,030aa376dh,0ebb3e95eh,060fe88c2h,066ee6f20h,033fd0b61h,03f41f0a0h,08827dcdbh + DD 00c56c690h,0bf8a9d24h,0ddb7641dh,040265dadh,03a6b662bh,0522b05bfh,0b1478c9bh,0466d1dfeh,01484469bh,0aa616962h,002df8f9fh,00db60549h,03cb8bf51h,0c37bca02h,021371ce8h,05effe346h + DD 0ff112c32h,0e8f65264h,07b971fb2h,08a9c736dh,07b75080dh,0a4f19470h,08839c59bh,0fc3f2c5ah,05aeb49c2h,01d6c777eh,0da1addfeh,0f3db034dh,05535affch,0d76fee5ah,0b92251fdh,00853ac70h + DD 08b2a29d5h,037e3d594h,04de00ddbh,028f1f457h,0f42c328bh,08083c1b5h,0e493c73bh,0d8ef1d8fh,041dc61bdh,096fb6260h,027ee2f8ah,0f74e8a9dh,02c946a5dh,07c605a80h,03839ccfdh,0eed48d65h + DD 03a29467ah,09894344fh,0c51eba6dh,0de81e949h,0a5e5c2f2h,0daea066bh,008c8c7b3h,03fc8a614h,006d0de9fh,07adff88fh,03b75ce0ah,0bbc11cf5h,0fbbc87d5h,09fbb7acch,07badfde2h,0a1458e26h + DD 0e039c256h,01cb43668h,07c17fd5dh,05f26fb8bh,079aa062bh,0eee426afh,0d78fbf04h,0072002d0h,0e84fb7e3h,04c9ca237h,00c82133dh,0b401d8a1h,06d7e4181h,0aaa52592h,073dbb152h,0e9430833h + DD 0be24319ah,0f92dda31h,0e095a8e7h,003f7d28bh,098782185h,0a52fe840h,029c24dbch,0276ddafeh,01d7a64ebh,080cd5496h,07f1dbe42h,0e4360889h,08438d2d5h,02f81a877h,085169036h,07e4d52a8h + DD 01d59715dh,019e3d5b1h,0d788983eh,0c7eaa762h,0abf1f248h,0e5a730b0h,0fae3fd83h,0fbab8084h,053765b2fh,065e50d21h,0fa127f3dh,0bdd4e083h,0397b1b10h,09cf3c074h,0b1b59fd3h,059f8090ch + DD 0615faa8fh,07b15fd9dh,0968554edh,08fa1eb40h,07aa44882h,07bb4447eh,0029fff32h,02bb2d0d1h,06caa6d2fh,0075e2a64h,022e7351bh,08eb879deh,09a506c62h,0bcd5624eh,0a87e24dch,0218eaef0h + DD 044ddfa35h,037e56847h,0dab3f747h,09ccfc5c5h,01ee96cf4h,09ac1df3fh,03b480b8fh,00c0571a1h,04b3a7b3ch,02fbeb3d5h,05dcdbb99h,035c03669h,0b2415b3ah,052a0f5dch,04413ed9ah,0d57759b4h + DD 03d30a2c5h,01fe647d8h,0f78a81dch,00857f77eh,0131a4a9bh,011d5a334h,029d393f5h,0c0a94af9h,0daa6ec1ah,0bc3a5c0bh,088d2d7edh,0ba9fe493h,0bb614797h,0bb4335b4h,072f83533h,0991c4d68h + DD 0d2f01cb3h,053258c28h,0d75db0b1h,093d6eaa3h,0e87d0db4h,0419a2b0dh,0d8fe8493h,0a1e48f03h,0c508b23ah,0f747faf6h,035d53549h,0f137571ah,0fcf9b838h,09f5e58e2h,0a7fd3cf5h,0c7186ceeh + DD 0e978a1d3h,077b868ceh,07ab92d04h,0e3a68b33h,087a5b862h,051029794h,03a61d41dh,05f0606c3h,06f9326f1h,02814be27h,0c6fe3c2eh,02f521c14h,0acdf7351h,017464d7dh,0777f7e44h,010f5f9d3h + DD 0269fb37dh,0ce8e616bh,07de62de5h,0aaf73804h,04fdd4153h,0aba11175h,03770b49bh,0515759bah,0aa423a61h,08b09ebf8h,0cd41fb92h,0592245a1h,09b4c8936h,01cba8ec1h,0af36710eh,0a87e91e3h + DD 03d34a2e3h,01fd84ce4h,0b43b5d61h,0ee3759ceh,0619186c7h,0895bc78ch,0cbb9725ah,0f19c3809h,0de744b1fh,0c0be21aah,060f8056bh,0a7d222b0h,0b23efe11h,074be6157h,00cd68253h,06fab2b4fh + DD 04bf1d725h,0ad33ea5fh,04f6c950fh,09c1d8ee2h,0a377af06h,0544ee78ah,094a113e1h,054f489bbh,0992fb7e8h,08f11d634h,0a2a44347h,00169a7aah,095020e00h,01d49d4afh,0e08e120bh,095945722h + DD 0a4d32282h,0b6e33878h,048020ae7h,0e36e029dh,037a9b750h,0e05847fbh,0b29e3819h,0f876812ch,0d23a17f0h,084ad138eh,0f0b3950eh,06d7b4480h,02fd67ae0h,0dfa8aef4h,052333af6h,08d3eea24h + DD 0b15d5acch,00d052075h,0bd815bc4h,0c6d9c79fh,0dfa36cf2h,08dcafd88h,038aa9070h,0908ccbe2h,0ba35afceh,0638722c4h,0fd6abf0bh,05a3da8b0h,0c9c335c1h,02dce252ch,065aa799bh,084e7f0deh + DD 0b99a72cbh,02101a522h,087618016h,006de6e67h,0e6f3653eh,05ff8c7cdh,0c7a6754ah,00a821ab5h,07cb0b5a2h,07e3fa52bh,0c9048790h,0a7fb121ch,006ce053ah,01a725020h,004e929b0h,0b490a31fh + DD 062dd61adh,0e17be47dh,06be01371h,0781a961ch,0dae3cbbah,01063bfd3h,07f73c9bah,035647406h,02736a129h,0f50e957bh,0ed13f256h,0a6313702h,03a19fcc5h,09436ee65h,0e7a4c8b6h,0cf2bdb29h + DD 0c5f95cd8h,0b06b1244h,0f4ab95f4h,0da8c8af0h,0b9e5836dh,01bae59c2h,03acffffch,007d51e7eh,0c2ccbcdah,001e15e6ah,08528c3e0h,03bc1923fh,0a49fead4h,043324577h,02aa7a711h,061a1b884h + DD 0700230efh,0f9a86e08h,0bd19adf8h,00af585a1h,0f55ad8f2h,07645f361h,046c3614ch,06e676223h,04e774d3fh,023cb257ch,0ac102d1bh,082a38513h,07b126aa5h,09bcddd88h,0eefd3ee4h,0e716998bh + DD 0fb167583h,04239d571h,0d16c8f8ah,0dd011c78h,069a27519h,0271c2895h,0d2d64b6ah,09ce0a3b7h,0d5ec6738h,08c977289h,08840ef6bh,0a3b49f9ah,09a453419h,0808c14c9h,00cf0a2d5h,05c00295bh + DD 01d4bcc76h,0524414fbh,0459a88f1h,0b07691d2h,0f70d110fh,077f43263h,0b7abf9f3h,064ada5e0h,05b544cf5h,0afd0f94eh,0fd2713feh,0b4a13a15h,0250c74f4h,0b99b7d6eh,020324e45h,0097f2f73h + DD 0affa8208h,0994b37d8h,0dc29aafch,0c3c31b0bh,07a3a607fh,03da74651h,0fe6955d6h,0d8e1b8c1h,0c8418682h,0716e1815h,07dc91d97h,0541d487fh,0c6996982h,048a04669h,083a6502eh,0f39cab15h + DD 0e68db055h,0025801a0h,0ba3338d5h,0f3569758h,0ee2afa84h,0b0c8c0aah,0fb6562d1h,04f6985d3h,0132ed17ah,0351f1f15h,0c04365feh,0510ed0b4h,0e5b1f066h,0a3f98138h,032df03dch,0bc9d95d6h + DD 019abd09eh,0a83ccf6eh,04ff17edbh,00b4097c1h,0d64a06ceh,058a5c478h,0544a58fdh,02ddcc3fdh,09e8153b8h,0d449503dh,07774179bh,03324fd02h,0dbd9120ch,0af5d47c8h,034fa94dbh,0eb860162h + DD 0972f07f4h,05817bdd1h,0d27bbcebh,0e5579e2eh,05f11e5a6h,086847a1fh,07c3cf048h,0b39ed255h,0a2f62e55h,0e1076417h,01bcf82a2h,06b9ab38fh,07aeb29f9h,04bb7c319h,017227a46h,0f6d17da3h + DD 00f968c00h,0ab53ddbdh,0000c880bh,0a03da7ech,06a9ad24dh,07b239624h,001ec60d0h,0612c0401h,0109f5df1h,070d10493h,080af7550h,0fbda4030h,0c6b9a9b3h,030b93f95h,0007d9418h,00c74ec71h + DD 06edb951fh,094175564h,07f22c282h,05f4a9d78h,0b38d1196h,0b7870895h,0a228ce7ch,0bc593df3h,06af3641ah,0c78c5bd4h,03d9b3dcch,07802200bh,08be33304h,00dc73f32h,061ffb79ah,0847ed87dh + DD 06d671192h,0f85c974eh,0de16f60fh,01e14100ah,095c38797h,045cb0d5ah,09b022da4h,018923bbah,0bbe7e86eh,0ef2be899h,0216067bfh,04a1510eeh,084d5ce3eh,0d98c8154h,0f92a2b90h,01af777f0h + DD 04ef65724h,09fbcb400h,03c0ca6feh,03e04a4c9h,055002994h,0fb3e2cb5h,05363ecabh,01f3a93c5h,03923555bh,01fe00efeh,01e1751eah,0744bedd9h,06ab69357h,03fb2db59h,0f5e6618bh,08dbd7365h + DD 0df1ea40eh,099d53099h,057d61e64h,0b3f24a0bh,0596eb812h,0d088a198h,05762940bh,022c8361bh,0f9c0d95ch,066f01f97h,08e43cdaeh,088461172h,0b72b15c3h,011599a7fh,0420d95cch,0135a7536h + DD 05f7ae2f6h,02dcdf0f7h,0d7fa6da2h,015fc6e1dh,0d1d441b6h,081ca829ah,004a106b6h,084c10cf8h,0a73fbbd0h,0a9b26c95h,04d8f6ee8h,07f24e0cbh,01e25a043h,048b45937h,0036f3dfeh,0f8a74fcah + DD 0c9f84296h,01ed46585h,03bc278b0h,07fbaa8fbh,06c4fcbd0h,0a8e96cd4h,073b60a5fh,0940a1202h,055a4aec8h,034aae120h,0dbd742f0h,0550e9a74h,0228c68abh,0794456d7h,0a4e25ec6h,0492f8868h + DD 0b2d8f398h,0682915adh,05b84c953h,0f13b51cch,05bb917d6h,0cda90ab8h,04ea3dee1h,04b615560h,00a52c1c8h,0578b4e85h,020b75fc4h,0eab1a695h,0aa0bb3c6h,060c14f3ch,0b8216094h,0220f448ah + DD 0b0e63d34h,04fe7ee31h,0a9e54fabh,0f4600572h,0d5e7b5a4h,0c0493334h,006d54831h,08589fb92h,06583553ah,0aa70f5cch,0e25649e5h,00879094ah,010044652h,0cc904507h,002541c4fh,0ebb0696dh + DD 0b9718710h,05a171fdeh,0f374a9f5h,038f1bed8h,0ba39bdc1h,0c8c582e1h,0908cc0ceh,0fc457b0ah,0883841e2h,09a187fd4h,038725381h,08ec25b39h,096f84395h,02553ed05h,06f6c6897h,0095c7661h + DD 04bdc5610h,0917ac85ch,0179eb301h,0b2885fe4h,08b78bdcch,05fc65547h,0e59e4699h,04a9fc893h,03ce299afh,0bb7ff0cdh,0adf38b20h,0195be9b3h,0d38ddb8fh,06a929c87h,0b21a51b9h,055fcc99ch + DD 0721a4593h,02b695b4ch,0768eaac2h,0ed1e9a15h,07489f914h,0fb63d71ch,078118910h,0f98ba31ch,09b128eb4h,080291373h,0d448af4ah,07801214eh,055418dd3h,0dbd2e22bh,0d3998242h,0effb3c0dh + DD 0c7bf3827h,0dfa6077ch,047f8238fh,0f2165bcbh,08564d554h,0fe37cf68h,00a81fb98h,0e5f825c4h,0ffed4d6fh,043cc4f67h,0b50a34b0h,0bc609578h,05041faf1h,08aa8fcf9h,0651773b6h,05659f053h + DD 06044d63bh,0e87582c3h,00cdb0ca0h,0a6089409h,0bfb2bcf6h,08c993e0fh,045985cfch,0fc64a719h,083dbedbah,015c4da80h,02be67df7h,0804ae112h,0a23defdeh,0da4c9658h,05156e0d3h,012002dddh + DD 05dd21b96h,0e68eae89h,0cf44624dh,08b99f28bh,01ec8897ah,00ae00808h,06712f76eh,0dd0a9303h,04e233de4h,096237522h,02b36a8a5h,0192445b1h,0023993d9h,0abf9ff74h,02aad4a8fh,021f37bf4h + DD 0f8bd2bbdh,0340a4349h,04868195dh,01d902cd9h,0e5fdb6f1h,03d27bbf1h,0124f9f1ch,07a5ab088h,0f7a09e03h,0c466ab06h,031f2c123h,02f8a1977h,0041b6657h,0da355dc7h,08ece2a7ch,0cb840d12h + DD 07db32675h,0b600ad9fh,007a06f1bh,078fea133h,0b31f6094h,05d032269h,083ec37aah,007753ef5h,09c0bea78h,003485aedh,0bc3f4524h,041bb3989h,0697f726dh,009403761h,0df394820h,06109beb3h + DD 03b6d1145h,0804111eah,0a8582654h,0b6271ea9h,024e66562h,0619615e6h,0d7b6ad9ch,0a2554945h,099bfe35fh,0d9c4985eh,07b51cdf6h,09770ccc0h,092881832h,07c327013h,0286b26d1h,08777d45fh + DD 0d847999dh,09bbeda22h,0c3525d32h,003aa33b6h,028a959a1h,04b7b96d4h,031e5d234h,0bb3786e5h,06961f247h,0aeb5d3ceh,002f93d3fh,020aa85afh,0d7a7ae4fh,09cd1ad3dh,0781adaa8h,0bf6688f0h + DD 07469ceadh,0b1b40e86h,0309fca48h,01904c524h,04b54bbc7h,09b7312afh,0593affa2h,0be24bf8fh,0bd98764bh,0be5e0790h,0a26e299eh,0a0f45f17h,06b8fe4c7h,04af0d2c2h,08ae8a3e6h,0ef170db1h + DD 029e0ccc1h,00e8d61a0h,060ad36cah,0cd53e87eh,0c8173822h,0328c6623h,0a496be55h,07ee1767dh,0648945afh,089f13259h,025c8009ch,09e45a5fdh,01f61ab8ch,0af2febd9h,08a275385h,043f6bc86h + DD 0f2142e79h,087792348h,0c6e6238ah,017d89259h,04a839d9bh,07536d2f6h,076a1fbdch,01f428fceh,00db06dfeh,01c109601h,050a3a3cch,0bfc16bc1h,09b30f41bh,0f9cbd9ech,000138cceh,05b5da0d6h + DD 056ef96a7h,0ec1d0a48h,0982bf842h,0b47eb848h,0ec3f700dh,066deae32h,0aa1181e0h,04e43c42ch,0d1a4aa2ah,0a1d72a31h,0c004f3ceh,0440d4668h,045fe8a7ah,00d6a2d3bh,0fb128365h,0820e52e2h + DD 025e51b09h,029ac5fcfh,02023d159h,0180cd2bfh,0a1ebf90eh,0a9892171h,07c132181h,0f97c4c87h,0c03dbb7eh,09f1dc724h,0018cbbe4h,0ae043765h,00767d153h,0fb0b2a36h,0249cbaebh,0a8e2f4d6h + DD 0d95ea168h,0172a5247h,02970764ah,01758fadah,01d978169h,0ac803a51h,0de77e01bh,0299cfe2eh,0b0a98927h,0652a1e17h,020014495h,02e26e1d1h,07175b56ah,07ae0af9fh,0d64b9f95h,0c2e22a80h + DD 0d90a060ah,04d0ff9fbh,0baf38085h,0496a27dbh,0da776bcfh,032305401h,0725f209eh,0b8cdcef6h,0436a0bbah,061ba0f37h,076860049h,0263fa108h,0da3542cfh,092beb98eh,0d5849538h,0a2d4d14ah + DD 012e9a1bch,0989b9d68h,05f6e3268h,061d9075ch,099ace638h,0352c6aa9h,0920f43ffh,0de4e4a55h,0d673c017h,0e5e4144ah,06f6e05eah,0667417aeh,0dcd1bd56h,0613416aeh,086693711h,05eb36201h + DD 03a1aa914h,02d7bc504h,076dc5975h,0175a1299h,03fc8125ch,0e900e0f2h,011198875h,0569ef68ch,063a113b4h,09012db63h,098835766h,0e3bd3f56h,076412deah,0a5c94a52h,0aa735e5ch,0ad9e2a09h + DD 0508b65e9h,0405a984ch,06df1a0d1h,0bde4a1d1h,0dfba80dah,01a9433a1h,09440ad2eh,0e9192ff9h,05099fe92h,09f649696h,00b27a54ah,025ddb65ch,0c590da61h,0178279ddh,0fbde681ah,05479a999h + DD 0013fe162h,0d0e84e05h,0632d471bh,0be11dc92h,0fc0e089fh,0df0b0c45h,04c144025h,004fb15b0h,013c99927h,0a61d5fc2h,03de2eb35h,0a033e9e0h,0b8dacbb4h,0f8185d5ch,08644549dh,09a88e265h + DD 054671ff6h,0f717af62h,05fa58603h,04bd4241bh,0e67773c0h,006fba40bh,06a2847e9h,0c1d933d2h,0689e2c70h,0f4f5acf3h,046bafd31h,092aab0e7h,03473f6e5h,0798d76aah,093141934h,0cc6641dbh + DD 0d31e535eh,0cae27757h,087c2ee11h,004cc43b6h,02e029ffah,08d1f9675h,0e4cc7a2ch,0c2150672h,08d68b013h,03b03c1e0h,0edf298f3h,0a9d6816fh,0a2804464h,01bfbb529h,05db22125h,095a52faeh + DD 00e1cb64eh,055b32160h,07e7fc9feh,0004828f6h,01bb0fb93h,013394b82h,035f1a920h,0b6293a2dh,0d145d2d9h,0de35ef21h,0bb8fa603h,0be6225b3h,032cf252dh,000fc8f6bh,0117cf8c2h,0a28e52e6h + DD 04c371e6dh,09d1dc89bh,036ef0f28h,0cebe0675h,0a4292f81h,05de05d09h,0353e3083h,0a8303593h,07e37a9bbh,0a1715b0ah,02b8faec3h,08c56f61eh,033c9b102h,052507431h,0a44431f0h,00130cefch + DD 0bd865cfbh,056039fa0h,0bc5f1dd7h,04b03e578h,0babe7224h,040edf2e4h,03a1988f6h,0c752496dh,0564beb6bh,0d1572d3bh,039a1c608h,00db1d110h,016f60126h,0568d1934h,0f354af33h,005ae9668h + DD 0c92544f2h,019de6d37h,0a35837d5h,0cc084353h,01a514eceh,0cbb6869ch,02e1d1066h,0b633e728h,0936c581ch,0f15dd69fh,07439c4f9h,096e7b8ceh,02e448a5bh,05e676f48h,0fd916bbbh,0b2ca7d5bh + DD 0f5024025h,0d55a2541h,0e4c2d937h,047bc5769h,00362189fh,07d31b92ah,0ef7816f9h,083f3086eh,0b587579ah,0f9f46d94h,030e76c5fh,0ec2d22d8h,0b000ffcfh,027d57461h,0364ffc2ch,0bb7e65f9h + DD 06652a220h,07c7c9477h,0d696c981h,061618f89h,089effff3h,05021701dh,07c314163h,0f2c8ff8eh,08efb4d3eh,02da413adh,0ce176d95h,0937b5adfh,02a67d51ch,022867d34h,018eb3ac9h,0262b9b10h + DD 0c43ff28bh,04e314fe4h,06a664e7ah,076476627h,0b7a565c2h,03e90e40bh,0c1acf831h,08588993ah,08f938829h,0d7b501d6h,03edd7d4ch,0996627eeh,090cd34c7h,037d44a62h,0f3833e8dh,0a8327499h + DD 04bf50353h,02e18917dh,0556765fbh,085dd726bh,093d5ab66h,054fe65d6h,0915c25feh,03ddbacedh,012f22e85h,0a799d9a4h,06d06f6bch,0e2a24867h,043ca1637h,0f4f1ee56h,061ece30ah,0fda2828bh + DD 0a2dee7a6h,0758c1a3eh,0734b2284h,0dcde2f3ch,04eaba6adh,0aba445d2h,076cee0a7h,035aaf668h,0e5aa049ah,07e0b04a9h,091103e84h,0e74083adh,040afecc3h,0beb183ceh,0ea043f7ah,06b89de9fh + DD 0fe67ba66h,00e299d23h,093cf2f34h,091450760h,097fcf913h,0f45b5ea9h,08bd7dddah,05be00843h,0d53ff04dh,0358c3e05h,05de91ef7h,0bf7ccdc3h,0b69ec1a0h,0ad684dbfh,0801fd997h,0367e7cf2h + DD 0b0dc8595h,00ca1f3b7h,09f1d9f2eh,027de4608h,0badd82a7h,01af3bf39h,065862448h,079356a79h,0f5f9a052h,0c0602345h,0139a42f9h,01a8b0f89h,0844d40fch,0b53eee42h,04e5b6368h,093b0bfe5h + DD 0c024789ch,05434dd02h,041b57bfch,090dca9eah,0243398dfh,08aa898e2h,0894a94bbh,0f607c834h,0c2c99b76h,0bb07be97h,018c29302h,06576ba67h,0e703a88ch,03d79efcch,0b6a0d106h,0f259ced7h + DD 0c8de610bh,00f893a5dh,067e223ceh,0e8c515fbh,04ead6dc5h,07774bfa6h,0925c728fh,089d20f95h,0098583ceh,07a1e0966h,093f2a7d7h,0a2eedb94h,04c304d4ah,01b282097h,0c077282dh,00842e3dah + DD 03b9e2d7bh,0e4d972a3h,0c48218ffh,07cc60b27h,084149d91h,08fc70838h,02f461ecch,05c04346fh,0614650a9h,0ebe9fdf2h,0c1f666ach,05e35b537h,088babc83h,0645613d1h,0c5e1c93eh,088cace3ah + DD 03de92e23h,0209ca375h,05fbbb6e3h,0ccb03cc8h,0d7b1487eh,0ccb90f03h,0c710941fh,0fa9c2a38h,06724ceedh,0756c3823h,0192d0323h,03a902258h,0ea5e038eh,0b150e519h,0c7427591h,0dcba2865h + DD 078890732h,0e549237fh,053fcb4d9h,0c443bef9h,0eb3480d6h,09884d8a6h,03048b186h,08a35b6a1h,065e9a90ah,0b4e44716h,0653006c0h,045bf380dh,04fe9ae3bh,08f3f820dh,0979a3b71h,0244a35a0h + DD 074cd06ffh,0a1010e9dh,0aca3eeach,09c17c7dfh,08063aa2bh,074c86cd3h,0734614ffh,08595c4b3h,0990f62cch,0a3de00cah,0ca0c3be5h,0d9bed213h,0df8ce9f5h,07886078ah,05cd44444h,0ddb27ce3h + DD 058926dddh,0ed374a66h,0908015b8h,0138b2d49h,0de1f7ab8h,0886c6579h,0c3020b7ah,0888b9aa0h,03a96e355h,0d3ec034eh,0f30fbe9ah,0ba65b0b8h,0ff21367ah,0064c8e50h,00b04b46eh,01f508ea4h + DD 0747c866ch,098561a49h,00518a062h,0bbb1e5feh,0ecdc3608h,020ff4e8bh,020184027h,07f55cdedh,0f38c85f0h,08d73ec95h,08bc3b8c3h,05b589fdfh,00f12b66fh,0be95dd98h,00e338e01h,0f5bd1a09h + DD 05e915918h,065163ae5h,086f8a46bh,06158d6d9h,0eeebf99ch,08466b538h,0bca477efh,0ca8761f6h,09ebbc601h,0af3449c2h,0e0c3ae2fh,0ef3b0f41h,05de63752h,0aa6c577dh,064682a51h,0e9166601h + DD 0fc15aa1eh,05a3097beh,0b54b0745h,040d12548h,0519a5f12h,05bad4706h,0a439dee6h,0ed03f717h,04a02c499h,00794bb6ch,0cffe71d2h,0f725083dh,00f3adcafh,02cad7519h,043729310h,07f68ea1ch + DD 0b7ffd977h,0e747c8c7h,080761a22h,0ec104c35h,05a3ffb83h,08395ebafh,0e4b63db7h,0fb3261f4h,0d883e544h,053544960h,08cc2eeb8h,013520d70h,0d3d65f99h,008f6337bh,0781cf95bh,083997db2h + DD 00dbd2c01h,0ce6ff106h,01f9ce934h,04f8eea6bh,00e993921h,0546f7c4bh,05e753fc7h,06236a324h,0a16022e9h,065a41f84h,043d1dbb2h,00c18d878h,02d4cef9ch,073c55640h,070444c74h,0a0428108h + DD 09afdfb3ch,068e4f15eh,05bdfb6dfh,049a56143h,05f823d97h,0a9bc1bd4h,0ea111c2ah,0bceb5970h,0b269bbc4h,0366b455fh,0e9bc5d62h,07cd85e1eh,04f18b086h,0c743c41ch,095294fb9h,0a4b40990h + DD 026ee8382h,09c7c581dh,0359d638eh,0cf17dcc5h,0b728ae3dh,0ee8273abh,0f821f047h,01d112926h,050491a74h,011498477h,0fde0dfb9h,0687fa761h,07ea435abh,02c258022h,091ce7e3fh,06b8bdb94h + DD 03bf834aah,04c5b5dc9h,04f6c7e4bh,004371819h,03736bcadh,0c284e00ah,021ae8f8dh,00d881118h,0f48c8e33h,0f9cf0f82h,0a1bf40dbh,0a11fd075h,0dc2733e5h,0dceab0deh,08e986bd7h,0c560a8b5h + DD 03929d097h,048dd1fe2h,092f188f1h,03885b290h,0da6fcdach,00f2ae613h,0b662a46ch,09054303eh,00738042ah,0b6871e44h,0bdaf6449h,098e6a977h,0d1c9df1bh,0d8bc0650h,036e098f9h,0ef3d6451h + DD 0b6d72d28h,003fbae82h,0f5d84080h,077ca9db1h,0a58efc1ch,08a112cffh,0c564cb4ah,0518d761ch,0f0d1b5ceh,069b5740eh,0e9eb1785h,0717039cch,022f53382h,03fe29f90h,06bc7c95ch,08e54ba56h + DD 0f7f91d0fh,09c806d8ah,0a82a5728h,03b61b0f1h,094d76754h,04640032dh,047d834c6h,0273eb5deh,07b4e4d53h,02988abf7h,0de401777h,0b7ce66bfh,0715071b3h,09fba6b32h,0ad3a1a98h,082413c24h + DD 0e0e8ad93h,05b7fc8c4h,05fab868dh,0b5679aeeh,02b3946f3h,0b1f9d2fah,05685b50ah,0458897dch,089d0caf3h,01e98c930h,078642e92h,039564c5fh,00dbdaf18h,01b77729ah,0579e82e6h,0f9170722h + DD 0e4515fa5h,0680c0317h,0fb0c790fh,0f85cff84h,06d2e0765h,0c7a82aabh,035c82b32h,07446bca9h,06d63184fh,05de607aah,0262803a6h,07c1a46a8h,0aebe8035h,0d218313dh,0c73c51f8h,092113ffdh + DD 012e7e46ch,04b38e083h,056126bd5h,069d0a37ah,073c07e04h,0fb3f324bh,08fda7267h,0a0c22f67h,04d2c7d8fh,08f2c0051h,0cbe2cae5h,0bc45ced3h,0a8f0f277h,0e1c6cf07h,01eb99a98h,0bc392312h + DD 03cc8ac85h,075537b7eh,0dd02753bh,08d725f57h,0b737df2fh,0fd05ff64h,0f6d2531dh,055fe8712h,06ab6b01ch,057ce04a9h,07cd93724h,069a02a89h,0cf86699bh,04f82ac35h,09cb4b232h,08242d3adh + DD 0d62105e5h,0713d0f65h,02d29be61h,0bb222bfah,06cfbef09h,0f2f9a79eh,0d5d6782fh,0fc24d8d3h,0d4129967h,05db77085h,0dc3c2a43h,0db81c3cch,005d8d9a3h,09d655fc0h,054298026h,03f5d057ah + DD 088c54694h,01157f56dh,09b09573eh,0b26baba5h,022adffd1h,02cab03b0h,0dd69f383h,060a412c8h,054b25039h,0ed76e98bh,0687e714dh,0d4ee67d3h,07b00b594h,087739648h,0c9ef709bh,0ce419775h + DD 01c203a40h,040f76f85h,0eafd8f91h,030d352d6h,095578dd2h,0af196d3dh,077cc3f3dh,0ea4bb3d7h,0b98e782bh,042a5bd03h,00624920dh,0ac958c40h,0fc56fcc8h,0b838134ch,089572e5eh,086ec4ccfh + DD 09be47be0h,069c43526h,0cb28fea1h,0323b7dd8h,03a6c67e5h,0fa5538bah,01d378e46h,0ef921d70h,03c4b880eh,0f92961fch,098940a67h,03f6f914eh,0fef0ff39h,0a990eb0ah,0f0eeff9ch,0a6c2920fh + DD 051b8d9a3h,0ca804166h,00ffb0db1h,042531bc9h,0aa82e7ceh,072ce4718h,0df574741h,06e199913h,0d5d36946h,0d5f1b13dh,0f68f0194h,08255dc65h,08710d230h,0dc9df4cdh,0138c1988h,03453c20fh + DD 089a6ef01h,09af98dc0h,09857df85h,04dbcc3f0h,05c1ad924h,034805601h,0d0493046h,040448da5h,04ee343e2h,0f629926dh,090e8a301h,06343f1bdh,040815b3fh,0efc93491h,0de8f66fbh,0f882a423h + DD 0e7db9f57h,03a12d5f4h,03c384c27h,07dfba38ah,06fc660b1h,07a904bfdh,02773b21ch,0eb6c5db3h,01cdfe049h,0c350ee66h,044540f29h,09baac0ceh,0a5ec6aadh,0bc57b6abh,00a7c1baah,0167ce8c3h + DD 053fb2b56h,0b23a03a5h,04e057f78h,06ce141e7h,089e490d9h,0796525c3h,0a31a7e75h,00bc95725h,01220fd06h,01ec56791h,0408b0bd6h,0716e3a3ch,0e8ebeba9h,031cd6bf7h,0bee6b670h,0a7326ca6h + DD 0cd090c43h,03d9f851ch,0f12c3988h,0561e8f13h,0904b7be4h,050490b6ah,00410737bh,061690ce1h,00f009052h,0299e9a37h,0f026092eh,0258758f0h,0fdfcdc0fh,09fa255f3h,0c0e1bcd2h,0dbc9fb1fh + DD 024651840h,035f9dd6eh,0a5c59abch,0dca45a84h,0ecca4938h,0103d396fh,0b97b3f29h,04532da0ah,01999a6bfh,0c4135ea5h,05e6bf2eeh,03aa9505ah,03f5be093h,0f77cef06h,0a943152eh,097d1a0f8h + DD 02e1c21ddh,02cb0ebbah,02c6797c4h,0f41b29fch,0b300101fh,0c6e17321h,0d0d79a89h,04422b0e9h,092f1bfc4h,049e4901ch,0e1e10ed9h,006ab1f8fh,0db2926b8h,084d35577h,0356e8ec2h,0ca349d39h + DD 0343bf1a9h,070b63d32h,037d1a6b1h,08fd3bd28h,0316865b4h,00454879ch,0c458efa2h,0ee959ff6h,09706dc3fh,00461dcf8h,0164e4b2eh,0737db0e2h,02f8843c8h,009262680h,07745e6f6h,054498bbch + DD 0a29e24afh,0359473fah,070aa87a1h,0fcc3c454h,000573aceh,0fd2c4bf5h,028dd1965h,0b65b514eh,02193e393h,0e46ae7cfh,0f5444d97h,060e9a4e1h,000ff38edh,0e7594e96h,00a0e0f02h,043d84d2fh + DD 0ee398a21h,08b6db141h,0e3bcc5beh,0b88a56aeh,0373460eah,00a1aa52fh,0160bb19bh,020da1a56h,065bf0384h,0fb54999dh,05d5a180eh,071a14d24h,021737b04h,0bc44db7bh,001dd8e92h,0d84fcb18h + DD 0fa44b479h,080de937bh,05c98fd4fh,053505499h,028f08727h,01edb12abh,0a5f3ef53h,04c58b582h,08327f246h,0bfb236d8h,04d7df320h,0c3a3bfaah,0b96024f2h,0ecd96c59h,07f4e0433h,0fc293a53h + DD 05acf6e10h,05341352bh,0afe652c3h,0c50343fdh,018577a7fh,04af3792dh,0af16823dh,0e1a4c617h,033425d0ah,09b26d0cdh,09b7bc47fh,0306399edh,0706bb20bh,02a792f33h,098111055h,031219614h + DD 087f5d28bh,0864ec064h,0962277fdh,011392d91h,0bb6aed5fh,0b5aa7942h,047e799d9h,0080094dch,0208ba19bh,04afa588ch,08512f284h,0d3e7570fh,002f5799ah,0cbae64e6h,0514b9492h,0deebe7efh + DD 0e5c298ffh,030300f98h,03678361fh,017f561beh,098cb9a16h,0f52ff312h,05562d490h,06233c3bch,092e3a2cbh,07bfa15a1h,0e6365119h,0961bcfd1h,02c8c53b1h,03bdd29bfh,0822844bah,0739704dfh + DD 07e7b754bh,07dacfb58h,0a806c9b9h,023360791h,023504452h,0e7eb88c9h,0852c1783h,02983e996h,0958d881dh,0dd4ae529h,0262c7b3ch,0026bae03h,0960b52d1h,03a6f9193h,092696cfbh,0d0980f90h + DD 0d5f30851h,04c1f428ch,02a4f6630h,094dfed27h,0fc5d48a4h,04df53772h,0933260ceh,0dd2d5a2fh,0d44cc7a5h,0574115bdh,0bd12533ah,04ba6b20dh,0243057c9h,030e93cb8h,014de320eh,0794c486ah + DD 0f21496e4h,0e925d4ceh,0ec696331h,0f951d198h,03e8d812fh,09810e2deh,0389294abh,0d0a47259h,00e3bab66h,0513ba2b5h,0abad306fh,0462caff5h,0af04c49eh,0e2dc6d59h,0e0b84b0bh,01aeb8750h + DD 02f7d0ca2h,0c034f12fh,0e06acf2fh,06d2e8128h,021facc2fh,0801f4f83h,0f40ef607h,0a1170c03h,07805a99ch,0fe0a1d4fh,0cc26aba5h,0bde56a36h,035531f40h,05b1629d0h,09afa6108h,0ac212c2bh + DD 015697be5h,030a06bf3h,02c63c7c1h,06f0545dch,07ccdadafh,05d8cb842h,0ac7015bbh,0d52e379bh,0f462c23eh,0c4f56147h,046bc24b0h,0d44a4298h,0e2856d4fh,0bc73d23ah,00832bcdfh,061cedd8ch + DD 099f241d7h,060953556h,0001a349dh,0ee4adbd7h,0aa89e491h,00b35bf6ah,0136f7546h,07f0076f4h,09264da3dh,0d19a18bah,062a7a28bh,06eb2d2cdh,08761c971h,0cdba941fh,0a3be4a5dh,01550518bh + DD 057d0b70ch,0d0e8e2f0h,0cd133ba3h,0eea8612eh,044416aech,0814670f0h,030775061h,0424db6c3h,016213fd1h,0d96039d1h,018a3478fh,0c61e7fa5h,0cb0c5021h,0a805bdcch,00cc616ddh,0bdd6f3a8h + DD 05d97f7e2h,006009667h,0af0bf4b6h,031db0fc1h,05491627ah,023680ed4h,07d741fb1h,0b99a3c66h,036b1ff92h,0e9bb5f55h,0512b388dh,029738577h,050fcf263h,0db8a2ce7h,06c4f7b47h,0385346d4h + DD 031631f9eh,0be86c5efh,003a57a29h,0bf91da21h,07b23f821h,0c3b1f796h,0770db354h,00f7d00d2h,0d8fe79dah,08ffc6c3bh,0d525c996h,0cc5e8c40h,0cfff632ah,04640991dh,067112528h,064d97e8ch + DD 002f1cd1eh,0c232d973h,01dd212a4h,0ce87eacbh,0e69802f7h,06e4c8c73h,01fffddbdh,012ef0290h,01bcea6e2h,0941ec74eh,03cb92cbbh,0d0b54024h,07e8f9d05h,0809fb9d4h,0f2992aaeh,03bf16159h + DD 0f8a7a838h,0ad40f279h,005615660h,011aea631h,0a01f6fa1h,0bf52e6f1h,03dc2aec9h,0ef046995h,0d8080711h,0785dbec9h,09fdedf76h,0e1aec60ah,0fa21c126h,0ece797b5h,005e52732h,0c66e898fh + DD 008811fdbh,039bb69c4h,02fc7f082h,08bfe1ef8h,0174f4138h,0c8e7a393h,0d58d1f98h,0fba8ad1dh,0bfd2fd5bh,0bc21d0ceh,06ee60d61h,00b839a82h,0afd22253h,0aacf7658h,0aae396b3h,0b526bed8h + DD 038564464h,0ccc1bbc2h,08c45bc73h,09e3ff947h,058188a78h,0cde9bca3h,0d73bf8f7h,0138b8ee0h,04123c489h,05c7e234ch,0fa643297h,066e69368h,039a15fa3h,00629eeeeh,0a9e2a927h,095fab881h + DD 0eafbb1e1h,0b2497007h,0e75b7a93h,0d75c9ce6h,0efb68d78h,03558352dh,0223f6396h,0a2f26699h,0e469b17ah,0eb911ecfh,0e72d3ec2h,062545779h,082cb113fh,08ea47de7h,04e1fa98dh,0ebe4b086h + DD 08cdfedb1h,0ec2d5ed7h,0fe211a74h,0a535c077h,011d244c5h,09678109bh,0be299a76h,0f17c8bfbh,0fb11fbc4h,0b651412eh,094ab3f65h,0ea0b5482h,00cf78243h,0d8dffd95h,0ce0361d4h,02e719e57h + DD 0304ddc5bh,09007f085h,04daba2eah,0095e8c6dh,03f9d28a9h,05a33cdb4h,0e2283003h,085b95cd8h,0b9744733h,0bcd6c819h,0fc7f5783h,029c5f538h,0d59038e4h,06c49b2fah,03bbe1018h,068349cc1h + DD 021830ee5h,0cc490c1dh,0e9bfa297h,036f9c4eeh,048de1a94h,058fd7294h,04e8f2cdch,0aadb13a8h,081313dbah,0515eaaa0h,0c2152dd8h,0c76bb468h,0a653dbf8h,0357f8d75h,0b14ac143h,0e4d8c4d1h + DD 0b055cb40h,0bdb8e675h,0977b5167h,0898f8e7bh,0b82fb863h,0ecc65651h,06d88f01fh,056544814h,0263a75a9h,0b0928e95h,01a22fcdah,0cfb6836fh,03f3bd37ch,0651d14dbh,0b6ad4664h,01d3837fbh + DD 0ff4f94abh,07c5fb538h,06d7fb8f2h,07243c712h,0a85c5287h,0ef13d60ch,04bb8dd1bh,018cfb7c7h,072908219h,082f9bfe6h,09d5144abh,035c4592bh,09cf4b42fh,052734f37h,08c60ddc4h,06bac55e7h + DD 094dea0f6h,0b5cd811eh,0e18cc1a3h,0259ecae4h,015e660f8h,06a0e836eh,00e02bff2h,06c639ea6h,07e1026fdh,08721b8cbh,063261942h,09e73b50bh,077f01da3h,0b8c70974h,08268f57fh,01839e6a6h + DD 05150b805h,0571b9415h,0f92c7097h,01892389eh,04a084b95h,08d69c18eh,0be5b495ch,07014c512h,01b07523ch,04780db36h,02c1c64fah,02f6219ceh,0602c105ah,0c38b81b0h,05dc8e360h,0ab4f4f20h + DD 0cf7d62d2h,020d3c982h,023ba8150h,01f36e29dh,092763f9eh,048ae0bf0h,01d3a7007h,07a527e6bh,0581a85e3h,0b4a89097h,0dc158be5h,01f1a520fh,0167d726eh,0f98db37dh,01113e862h,08802786eh + DD 036f09ab0h,0efb2149eh,04a10bb5bh,003f163cah,006e20998h,0d0297045h,01b5a3babh,056f0af00h,070880e0dh,07af4cfech,0be3d913fh,07332a66fh,07eceb4bdh,032e6c84ah,09c228f55h,0edc4a79ah + DD 0c55c4496h,0c37c7dd0h,025bbabd2h,0a6a96357h,0add7f363h,05b7e63f2h,02e73f1dfh,09dce3782h,0b2b91f71h,0e1e5a16ah,05ba0163ch,0e4489823h,0f6e515adh,0f2759c32h,08615eecfh,0a5e2f1f8h + DD 0abded551h,074519be7h,0c8b74410h,003d358b8h,00e10d9a9h,04d00b10bh,028da52b7h,06392b0b1h,00b75c904h,06744a298h,0a8f7f96ch,0c305b0aeh,0182cf932h,0042e421dh,09e4636cah,0f6fc5d50h + DD 0d64cc78ch,0795847c9h,09b6cb27bh,06c50621bh,0df8022abh,007099bf8h,0c04eda1dh,048f862ebh,0e1603c16h,0d12732edh,05c9a9450h,019a80e0fh,0b429b4fch,0e2257f54h,045460515h,066d3b2c6h + DD 0822e37beh,06ca4f87eh,0253bda4eh,073f237b4h,041190aebh,0f747f3a2h,0804cf284h,0f06fa36fh,0fc621c12h,00a6bbb6eh,040b80ec6h,05d624b64h,07ba556f3h,04b072425h,03e2d20a8h,07fa0c354h + DD 0e3229d41h,0e921fa31h,094531bd4h,0a929c652h,0a6d38209h,084156027h,06bdb97bdh,0f3d69f73h,016833631h,08906d19ah,003d51be3h,068a34c2eh,00e511cd8h,0cb59583bh,0fdc132a8h,099ce6bfdh + DD 0ffcdb463h,03facdaaah,034a38b08h,0658bbc1ah,0f1a9078dh,012a801f8h,06ab855deh,01567bcf9h,03572359bh,0e08498e0h,08659e68bh,0cf0353e5h,07d23807ch,0bb86e9c8h,02198e8a2h,0bc08728dh + DD 0453cadd6h,08de2b7bch,0bc0bc1f8h,0203900a7h,0a6abd3afh,0bcd86e47h,08502effbh,0911cac12h,0ec965469h,02d550242h,029e0017eh,00e9f7692h,065979885h,0633f078fh,04cf751efh,0fb87d449h + DD 0fc25419ah,0e1790e4bh,04bff3cfdh,036467203h,025b6e83fh,0c8db6386h,06cad6fd2h,06cc69f23h,06bc68bb9h,00219e45ah,0297f7334h,0e43d79b6h,0465dc97ch,07d445368h,02a0b949ah,04b9eea32h + DD 06102d021h,01b96c6bah,02f4461eah,0eaafac78h,0c49f19a8h,0d4b85c41h,0cf538875h,0275c28e4h,0dd2e54e0h,035451a9dh,00605618bh,06991adb5h,07b36cd24h,05b8b4bcdh,056f37216h,0372a4f8ch + DD 0a6a5da60h,0c890bd73h,0dc4c9ff0h,06f083da0h,0f0536e57h,0f4e14d94h,0aaec8243h,0f9ee1edah,08bdcf8e7h,0571241ech,00b041e26h,0a5db8271h,0e3fff040h,09a0b9a99h,07c271202h,0caaf21ddh + DD 04f0dd2e8h,0b4e2b2e1h,00a377ac7h,0e77e7c4fh,00d7a2198h,069202c3fh,028200eb8h,0f759b7ffh,0dcfe314eh,0c87526edh,053d5cf99h,0eb84c524h,0515138b6h,0b1b52aceh,023fca3f4h,05aa7ff8ch + DD 0b9791a26h,0ff0b13c3h,0cdd58b16h,0960022dah,057aad2deh,0dbd55c92h,0f30fe619h,03baaaaa3h,00d881efdh,09a4b2346h,046325e2ah,0506416c0h,0035c18d4h,091381e76h,0f27817b0h,0b3bb68beh + DD 05116f937h,015bfb8bfh,0c1268943h,07c64a586h,08419a2c8h,071e25cc3h,08335f463h,09fd6b0c4h,0e8ee0e0eh,04bf0ba3ch,0298c21fah,06f6fba60h,0ae66bee0h,057d57b39h,022672544h,0292d5130h + DD 0bab093b3h,0f451105dh,002839986h,0012f59b9h,03474a89ch,08a915802h,02de03e97h,0048c919ch,091071cd5h,0c476a2b5h,0034970a5h,0791ed89ah,0e1b7994bh,089bd9042h,0a1057ffdh,08eaf5179h + DD 0d551ee10h,06066e2a2h,0727e09a6h,087a8f1d8h,02c01148dh,000d08babh,0424f33feh,06da8e4f1h,0cf9a4e71h,0466d17f0h,03bf5cb19h,0ff502010h,0d062ecc0h,0dccf97d8h,081d80ac4h,080c0d9afh + DD 0033f2876h,0e87771d8h,07d5cc3dbh,0b0186ec6h,03bc9bc1dh,058e8bb80h,06f6ef60eh,04d1395cch,0186244a0h,0a73c62d6h,0110a5b53h,0918e5f23h,0741b7eabh,0ed4878cah,0dbe03e51h,03038d71ah + DD 0a93c3246h,0840204b7h,0a0b9b4cdh,021ab6069h,0b1d64218h,0f5fa6e2bh,0f3d56191h,01de6ad0eh,0ff1929c7h,0570aaa88h,0640e87b5h,0c6df4c6bh,0c65f0ccch,0de8a74f2h,0e6f6cc01h,08b972fd5h + DD 00b846531h,03fff36b6h,010a5e475h,0ba7e45e6h,04145b6c5h,084a1d10eh,05e046d9dh,0f1f7f91ah,044de90d7h,00317a692h,0f199c15eh,0951a1d4ah,0c9d73debh,091f78046h,0fab8224fh,074c82828h + DD 0e7560b90h,0aa6778fch,0a7e824ceh,0b4073e61h,0d642eba8h,0ff0d693ch,05dccef38h,07ce2e57ah,01df1ad46h,089c2c789h,0098346fdh,083a06922h,0da2fc177h,02d715d72h,085b6cf1dh,07b6dd71dh + DD 073fa9cb0h,0c60a6d0ah,0328bf5a9h,0edd3992eh,0832c8c82h,0c380ddd0h,0a2a0bf50h,0d182d410h,0d9a528dbh,07d9d7438h,0caf53994h,0e8b1a0e9h,00e19987ch,0ddd6e5feh,0190b059dh,0acb8df03h + DD 08300129fh,053703a32h,068c43bfdh,01f637662h,000e54051h,0bcbd1913h,07bf5a8c5h,0812fcc62h,029fb85dah,03f969d5fh,0694759e8h,072f4e00ah,0790726b7h,0426b6e52h,03bdbb209h,0617bbc87h + DD 097aee317h,0511f8bb9h,0e81536a8h,0812a4096h,03ac09b9bh,0137dfe59h,0ba8c9a7ah,00682238fh,0aeccb4bdh,07072ead6h,0692ba633h,06a34e9aah,06fff9d33h,0c82eaec2h,01d4d2b62h,0fb753512h + DD 01d7aadabh,01a0445ffh,0d5f6a67ch,065d38260h,091cfb26fh,06e62fb08h,05c7d91d6h,0ef1e0fa5h,033db72cdh,047e7c7bah,0fa7c74b2h,0017cbc09h,0f50a503ch,03c931590h,0616baa42h,0cac54f60h + DD 0b2369f0fh,09b6cd380h,023c76151h,097d3a70dh,09862a9c6h,05f9dd6fch,012312f51h,0044c4ab2h,0834a2ddch,0035ea0fdh,0cc7b826dh,049e6b862h,062fce490h,0b03d6883h,0b37e36e9h,062f2497ah + DD 0c6458293h,004b005b6h,0e8d10af7h,036bb5276h,08ee617b8h,0acf2dc13h,0b004b3d4h,0470d2d35h,0feeb1b77h,006790832h,085657f9ch,02bb75c39h,0c0f60004h,0d70bd4edh,0219b018bh,0fe797ecch + DD 0753aebcch,09b5bec2ah,0c939eca5h,0daf9f3dch,0d095ad09h,0d6bc6833h,0daa4d2fch,098abdd51h,08d168be5h,0d9840a31h,02325a23ch,0cf7c10e0h,07e6ecfafh,0a5c02aa0h,0b5bfdf18h,02462e7e6h + DD 0a0cc3f12h,0ab2d8a8bh,0bc672a29h,068dd485dh,0596f2cd3h,072039752h,0a0cf3d8dh,05d3eea67h,0e6602671h,0810a1a81h,014026c0ch,08f144a40h,076b50f85h,0bc753a6dh,0645cd4a4h,0c4dc21e8h + DD 0521d0378h,0c5262deah,005011c6fh,0802b8e0eh,00b4c19eah,01ba19cbbh,0ebf0aaech,021db64b5h,070342f9dh,01f394ee9h,01bc44a14h,093a10aeeh,03efd0baah,0a7eed31bh,01d154e65h,06e7c824eh + DD 09966e7eeh,0ee23fa81h,005b7920dh,064ec4aa8h,02d90aad4h,02d44462dh,0df277ad5h,0f44dd195h,0bb46b6a1h,08d6471f1h,0fd885090h,01e65d313h,013a977b4h,033a800f5h,00797e1efh,0aca9d721h + DD 0fcff6a17h,09a5a85a0h,01eca7ceeh,09970a3f3h,0c9504be3h,0bb9f0d6bh,0add24ee2h,0e0c504beh,077fcc2f4h,07e09d956h,065bb5fc4h,0ef1a5227h,08b9286aah,0145d4fb1h,06649028bh,066fd0c5dh + DD 01bf4581ch,098857cebh,0aca7b166h,0e635e186h,0659722ach,0278ddd22h,01db68007h,0a0903c4ch,048f21402h,0366e4589h,0b96abda2h,031b49c14h,0e0403190h,0329c4b09h,0d29f43feh,097197ca3h + DD 0274983d8h,08073dd1eh,055717c8fh,0da1a3bdeh,00361f9d1h,0fd3d4da2h,04c7de1ceh,01332d081h,0aa6d0e10h,09b7ef7a3h,0f54f1c4ah,017db2e73h,04cd35567h,0af3dffaeh,0e56f4e71h,0aaa2f406h + DD 07ace3fc7h,08966759eh,045a8d8c6h,09594eacfh,091834e0eh,08de3bd8bh,0548c0421h,0afe4ca53h,0e6ee81c6h,0fdd7e856h,06b891a3ah,08f671bebh,0fae63829h,0f7a58f2bh,09c11ac9fh,09ab186fbh + DD 010b5be76h,08d6eb369h,0fb040bcdh,0046b7739h,0cb73de88h,0ccb4529fh,0cf26be03h,01df0fefch,0bcfcd027h,0ad7757a6h,0bb3165cah,0a8786c75h,07e99a4d9h,0e9db1e34h,0b06c504bh,099ee86dfh + DD 0c15c9f0ah,05b7c2dddh,04295989eh,0df87a734h,003d08fdah,059ece47ch,0ad5fc702h,0b074d3ddh,051a03776h,020407903h,02a608007h,02bb1f77bh,0e1153185h,025c58f4fh,0766e6447h,0e6df62f6h + DD 0ed51275ah,0efb3d1beh,02f0f483fh,05de47dc7h,097c2bedfh,07932d98eh,00219f8a1h,0d5c11927h,0a73a294eh,09d751200h,09dc20172h,05f88434ah,0a26f506ah,0d28d9fd3h,09d1dcd48h,0a890cd31h + DD 070f4d3b4h,00aebaec1h,00ffc8d00h,0fd1a1369h,057d57838h,0b9d9c240h,068bac361h,045929d26h,025b15ca6h,05a2cd060h,06e474446h,04b3c83e1h,0ee1e5134h,01aac7578h,0c91e2f41h,0a418f5d6h + DD 0213ed68bh,06936fc8ah,0510a5224h,0860ae7edh,0def09b53h,063660335h,0cd79c98dh,0641b2897h,001110f35h,029bd38e1h,0648b1937h,079c26f42h,09d9164f4h,064dae519h,00265c273h,0d85a2310h + DD 04b07e2b1h,07173dd5dh,08d9ea221h,0d144c4cbh,01105ab14h,0e8b04ea4h,0fe80d8f1h,092dda542h,0cf03dce6h,0e9982fa8h,01a22cffch,08b5ea965h,03fad88c4h,0f7f4ea7fh,06a5ba95ch,062db773eh + DD 093f24567h,0d20f02fbh,0315257cah,0fd46c69ah,08bcab987h,00ac74cc7h,05ceca2f5h,046f31c01h,0888b219eh,040aedb59h,0e1fccd02h,0e50ecc37h,0911f816ch,01bcd9dadh,08db9b00ch,0583cc1ech + DD 0a483bf11h,0f3cd2e66h,0b1b2c169h,0fa08a6f5h,04be9fa28h,0f375e245h,05b6d011fh,099a7ffech,0c4ae62dah,06a3ebddbh,0374aef5dh,06cea00aeh,09d4d05bch,0ab5fb98dh,0d560f252h,07cba1423h + DD 0208490deh,049b2cc21h,0bcfb2879h,01ca66ec3h,01b6fb16fh,07f1166b7h,065fe5db3h,0fff63e08h,08b2610beh,0b8345abeh,039de3df4h,0b732ed80h,0211c32b4h,00e24ed50h,0848ff27dh,0d10d8a69h + DD 0ed4de248h,0c1074398h,010488927h,0d7cedaceh,085673e13h,0a4aa6bf8h,06daf30afh,0b46bae91h,0fcef7ad8h,007088472h,0d4b35e97h,061151608h,0dde29986h,0bcfe8f26h,0d5a34c79h,0eb84c4c7h + DD 0164e1214h,0c1eec55ch,0a147bb03h,0891be86dh,00ba96835h,09fab4d10h,0a5c1ae9fh,0bf01e9b8h,0b186ebc0h,06b4de139h,085b91bcah,0d5c74c26h,0c2d93854h,05086a99ch,0a7a9dfbch,0eed62a7bh + DD 076b7618ah,08778ed6fh,003b66062h,0bff750a5h,0b65186dbh,04cb7be22h,0cc3a6d13h,0369dfbf0h,07191a321h,0c7dab26ch,040ed718eh,09edac3f9h,0d0cfd183h,0bc142b36h,07c991693h,0c8af82f6h + DD 097ce0b2ah,0b3d1e4d8h,0c3a55cdfh,0e6d7c87fh,068b81afeh,035846b95h,0d3c239d8h,0018d12afh,001206e15h,02b2c6208h,0a3b882c6h,0e0e42453h,0a50162d5h,0854470a3h,07017a62ah,008157478h + DD 0820357c7h,018bd3fb4h,06f1458adh,0992039aeh,025b44aa1h,09a1df3c5h,0ed3d5281h,02d780357h,0c77ad4d4h,058cf7e4dh,0f9df4fc4h,0d49a7998h,01d71205eh,04465a8b5h,0649254aah,0a0ee0ea6h + DD 0ab7bd771h,04b5eeecfh,035c262b9h,06c873073h,03c9d61e7h,0dc5bd648h,0321460d2h,0233d6d54h,0fc195bcch,0d20c5626h,004d78b63h,025445958h,017ec8ef3h,0e03fcb3dh,046b8f781h,054b690d1h + DD 021230646h,082fa2c8ah,0084f418ch,0f51aabb9h,01a30ba43h,0ff4fbec1h,0743c9df7h,06a5acf73h,0d635b4d5h,01da2b357h,0ecd5c1dah,0c3de68ddh,0d61af0ddh,0a689080bh,0d665bf99h,0dea5938ah + DD 0fe637294h,00231d71ah,0a5a81cd8h,001968aa6h,0048e63b5h,011252d50h,06ca007e9h,0c446bc52h,096d6134bh,0ef8c50a6h,09e09a05ch,09361fbf5h,0dca3291ah,0f17f85a6h,0ff251a21h,0b178d548h + DD 0a4df3915h,087f6374bh,02fd5d608h,0566ce1bfh,07de35102h,0425cba4dh,058c5d5e2h,06b745f8fh,063122edfh,088402af6h,03b989a89h,03190f9edh,0ebba3156h,04ad3d387h,0c7c469a5h,0ef385ad9h + DD 03f642c29h,0b08281deh,0910ffb88h,020be0888h,0d5292546h,0f353dd4ah,08377a262h,03f1627deh,0eefcd638h,0a5faa013h,074cc77c3h,08f3bf626h,0a348f55eh,032618f65h,09fefeb9eh,05787c0dch + DD 0d9a23e44h,0f1673aa2h,04e10690dh,088dfa993h,02bf91108h,01ced1b36h,03af48649h,09193cecah,02d738fc5h,0fb34327dh,0975fee6ch,06697b037h,0c04079a5h,02f485da0h,02feaa1ach,02cdf5735h + DD 0bd55659eh,076944420h,04376090ch,07973e32bh,0163b591ah,086bb4fe1h,0c196f0cah,010441aedh,0045ad915h,03b431f4ah,0a4afacb1h,06c11b437h,071fdbbd8h,030b0c7dbh,0eda65acdh,0b642931fh + DD 09c92b235h,04baae6e8h,06b3993a1h,0a73bbd0eh,0693dd031h,0d06d60ech,07156881ch,003cab91bh,01db3574bh,0d615862fh,064bb061ah,0485b0185h,0a0181e06h,027434988h,0c1c0c757h,02cd61ad4h + DD 02ff9f403h,03effed5ah,062239029h,08dc98d8bh,01f17b70dh,02206021eh,0bf510015h,0afbec0cah,080130dfah,09fed7164h,08a02dcf5h,0306dc2b5h,0feb10fc0h,048f06620h,05a57cf51h,078d1e1d5h + DD 0192ef710h,0adef8c5ah,03b7431f9h,088afbd4bh,064250c9eh,07e1f7407h,0b58bec07h,06e31318dh,024f89b4eh,0fd4fc4b8h,048c36a2ah,065a5dd88h,0f024baa7h,04f1eccffh,0cba94650h,022a21cf2h + DD 042a554f7h,095d29deeh,0002ec4bah,0828983a5h,08badb73dh,08112a1f7h,0a27c1839h,079ea8897h,0d065fd83h,08969a5a7h,0b262a0bch,0f49af791h,0af2b5127h,0fcdea8b6h,0564c2dbch,010e913e1h + DD 0bc21ef51h,051239d14h,04ce57292h,0e51c3cebh,047bbcc3bh,0795ff068h,0bd7e11e6h,086b46e1eh,080041ef4h,00ea6ba23h,06262342eh,0d72fe505h,031d294d4h,08abc6dfdh,01278c2c9h,0bbe017a2h + DD 0b389328ah,0b1fcfa09h,0d01771b5h,0322fbc62h,060b045bfh,004c0d063h,010e52d01h,0db652edch,003ec6627h,050ef932ch,0c1ee50e3h,0de1b3b2dh,0dc37a90dh,05ab7bdc5h,031e33a96h,0fea67213h + DD 04f2999aah,06482b5cbh,0b8cbf0ddh,038476cc6h,0173405bbh,093ebfacbh,0e52369ech,015cdafe7h,0d935b7dbh,0d42d5ba4h,01c99a4cdh,0648b6004h,0a3b5545bh,0785101bdh,09dd67fafh,04bf2c38ah + DD 04442449ch,0b1aadc63h,033ad4fb8h,0e0e9921ah,0aa686d82h,05c552313h,0465d866ch,0dee635fah,018ee6e8ah,0bc3c224ah,0ed42e02fh,0eed748a6h,0d474cd08h,0e70f930ah,0fff24adfh,0774ea6ech + DD 0f3480d4ah,003e2de1ch,0bc8acf1ah,0f0d8edc7h,068295a9ch,0f23e3303h,0c546a97dh,0fadd5f68h,096f8acb1h,0895597adh,0671bdae2h,0bddd49d5h,021dd43f4h,016fcd528h,06619141ah,0a5a45412h + DD 0c360e25ah,08ce9b6bfh,0075a1a78h,0e6425195h,0481732f4h,09dc756a8h,05432b57ah,083c0440fh,0d720281fh,0c670b3f1h,0d135e051h,02205910eh,0db052be7h,0ded14b0eh,0c568ea39h,0697b3d27h + DD 0fb3ff9edh,02e599b9ah,017f6515ch,028c2e0abh,0474da449h,01cbee4fdh,04f364452h,0071279a4h,001fbe855h,097abff66h,05fda51c4h,03ee394e8h,067597c0bh,0190385f6h,0a27ee34bh,06e9fccc6h + DD 014092ebbh,00b89de93h,0428e240ch,0f17256bdh,093d2f064h,0cf89a7f3h,0e1ed3b14h,04f57841eh,0e708d855h,04ee14405h,003f1c3d0h,0856aae72h,0bdd7eed5h,0c8e5424fh,073ab4270h,03333e4efh + DD 0dda492f8h,03bc77adeh,078297205h,0c11a3aeah,034931b4ch,05e89a3e7h,09f5694bbh,017512e2eh,0177bf8b6h,05dc349f3h,008c7ff3eh,0232ea4bah,0f511145dh,09c4f9d16h,033b379c3h,0ccf109a3h + DD 0a1f25897h,0e75e7a88h,0a1b5d4d8h,07ac6961fh,008f3ed5ch,0e3e10773h,00a892dfbh,0208a54ech,078660710h,0be826e19h,0237df2c8h,00cf70a97h,0ed704da5h,0418a7340h,008ca33fdh,0a3eeb9a9h + DD 0169bca96h,049d96233h,02da6aafbh,004d286d4h,0a0c2fa94h,0c09606ech,023ff0fb3h,08869d0d5h,0d0150d65h,0a99937e5h,0240c14c9h,0a92e2503h,0108e2d49h,0656bf945h,0a2f59e2bh,0152a733ah + DD 08434a920h,0b4323d58h,0622103c5h,0c0af8e93h,0938dbf9ah,0667518efh,083a9cdf2h,0a1843073h,05447ab80h,0350a94aah,0c75a3d61h,0e5e5a325h,068411a9eh,074ba507fh,0594f70c5h,010581fc1h + DD 080eb24a9h,060e28570h,0488e0cfdh,07bedfb4dh,0c259cdb8h,0721ebbd7h,0bc6390a9h,00b0da855h,0de314c70h,02b4d04dbh,06c32e846h,0cdbf1fbch,0b162fc9eh,033833eabh,0b0dd3ab7h,09939b48bh + DD 0cb0c9c8ch,05aaa98a7h,081c4375ch,075105f30h,05ef1c90fh,0ceee5057h,0c23a17bfh,0b31e065fh,0d4b6d45ah,05364d275h,062ec8996h,0d363f3adh,04391c65bh,0b5d21239h,0ebb41b47h,084564765h + DD 037107c78h,020d18ecch,0570c2a66h,0acff3b6bh,09bd0d845h,022f975d9h,0ba178fa0h,0ef0a0c46h,076b6028eh,01a419651h,0248612d4h,0c49ec674h,07338af55h,05b6ac4f2h,07bee5a36h,006145e62h + DD 0e75746b5h,033e95d07h,0c40c78beh,01c1e1f6dh,0222ff8e2h,0967833efh,0b49180adh,04bedcf6ah,03d7a4c8ah,06b37e9c1h,06ddfe760h,02748887ch,0aa3a5bbch,0f7055123h,07bbb8e74h,0954ff225h + DD 097c3dfb9h,0c42b8ab1h,0cf168154h,055a549b0h,0c1b50692h,0ad6748e7h,06fc5cbcbh,02775780fh,0e1c9d7c8h,04eab80b8h,03fdbcd56h,08c69dae1h,09969eaceh,047e6b4fbh,0a705cb5ah,0002f1085h + DD 06d3fea55h,04e23ca44h,0f4810568h,0b4ae9c86h,02a62f27dh,047bfb91bh,0d9bac28ch,060deb4c9h,07de6c34ch,0a892d894h,04494587dh,04ee68259h,01a3f8a5bh,0914ee14eh,028700385h,0bb113eaah + DD 02115b4c9h,081ca03b9h,08908cad1h,07c163d38h,0aa18179ah,0c912a118h,0886e3081h,0e09ed750h,026f516cah,0a676e3fah,08e732f91h,0753cacf7h,0833da8b4h,051592aeah,04cbea8aah,0c626f42fh + DD 0a7b56eafh,0ef9dc899h,034ef7316h,000c0e52ch,0fe818a86h,05b1e4e24h,0c538be47h,09d31e20dh,03ed68974h,022eb932dh,07c4e87c4h,0e44bbc08h,00dde9aefh,04121086eh,0134f4345h,08e6b9cffh + DD 0711b0eb9h,096892c1fh,0780ab954h,0b905f2c8h,0a20792dbh,0ace26309h,00684e126h,0ec8ac9b3h,0b40a2447h,0486ad8b6h,09fe3fb24h,060121fc1h,01a8e3b3fh,05626fccfh,06ad1f394h,04e568622h + DD 0196aa5a1h,0da7aae0dh,01041b5fbh,0e0df8c77h,026b318b7h,0451465d9h,07ab136e9h,0c29b6e55h,071148463h,02c2ab48bh,064454a76h,0b5738de3h,05a03abe4h,054ccf9a0h,00427d58eh,0377c0296h + DD 02bb39c1fh,073f5f0b9h,0e608d8c5h,014373f2ch,000fbb805h,0dcbfd314h,083afdcfbh,0df18fb20h,042b3523fh,081a57f42h,087f650fbh,0e958532dh,08b0a7d7ch,0aa8dc8b6h,0150166beh,01b75dfb7h + DD 02d7d1413h,090e4f7c9h,09834f597h,067e2d6b5h,0a808c3e8h,04fd4f4f9h,0d5281ec1h,0af8237e0h,084687ceeh,025ab5fdch,0a5b26c09h,0c5ded6b1h,0c8ea7650h,08e4a5aech,014cc417fh,023b73e5ch + DD 03037bf52h,02bfb4318h,078c725d7h,0b61e6db5h,0bbb3e5d7h,08efd4060h,0dbac488eh,02e014701h,0360aa449h,0ac75cf9ah,079634d08h,0b70cfd05h,0fffb15efh,0a591536dh,0d07c106ch,0b2c37582h + DD 0f50225f9h,0b4293fdch,0b0e12b03h,0c52e175ch,0d0a8bf64h,0f649c3bah,0eb8ae3c6h,0745a8fefh,058321bc3h,030d7e5a3h,00bc4df48h,0b1732be7h,0e9ea5058h,01f217993h,03e4fd745h,0f7a71cdeh + DD 0894c5bbbh,086cc533eh,069d83082h,06915c7d9h,05815c244h,0a6aa2d05h,049b22ce5h,0aeeee592h,078135486h,089e39d13h,016b76f2fh,03a275c1fh,0e036e8f5h,0db6bcc1bh,05e4709f5h,04df69b21h + DD 02d0f39aah,0a188b250h,015a85947h,0622118bbh,0fde0f4fah,02ebf520fh,04860e539h,0a40e9f29h,022b57f0fh,07b6a51ebh,07e80644ah,0849a33b9h,01cf095feh,050e5d16fh,0ec55f002h,0d754b54eh + DD 0236f4a98h,05cfbbb22h,0066800bbh,00b0c59e9h,05a9a7774h,04ac69a8fh,0d6bec948h,02b33f804h,032e6c466h,0b3729295h,04e599c73h,068956d0fh,0155c31cch,0a47a249fh,0e1ce284eh,024d80f0dh + DD 0988baf01h,0cd821dfbh,0dbb16647h,0e6331a7dh,0094cb960h,01eb8ad33h,0c91bbca5h,0593cca38h,026567456h,0384aac8dh,0c04b6490h,040fa0309h,0dab6c8f6h,097834cd6h,03f91e55fh,068a7318dh + DD 0fc4d3157h,0a00fd04eh,02bf3bdeah,0b56f8ab2h,04fa57172h,0014f5648h,0450abdb3h,0948c5860h,00ebd4f08h,0342b5df0h,00e82938eh,03e5168cdh,0b0df5dd0h,07aedc1ceh,0e5732516h,06bbbc6d9h + DD 0605daaa6h,0c7bfd486h,0bb9a6c9eh,046fd72b7h,0a124fb89h,0e4847fb1h,0a2d8ffbch,075959cbdh,0c8a588eeh,042579f65h,0b80b499dh,0368c92e6h,0999a5df1h,0ea4ef6cdh,0936fe604h,0aa73bb7fh + DD 06457d188h,0f347a70dh,08b7a388bh,086eda86bh,00ccd6013h,0b7cdff06h,0d0053fb2h,0beb1b6c7h,099240a9fh,00b022387h,0776189b2h,01bbb384fh,09066193ah,08695e71eh,006ffac7eh,02eb50097h + DD 04a7d2caah,00654a9c0h,0a5aaa290h,06f3fb3d1h,0ff476e8fh,0835db041h,0c42295e4h,0540b8b0bh,005e214f5h,0a5c73ac9h,056a0b638h,09a74075ah,0ce9e680bh,02e4b1090h,06b8d9afah,057a5b479h + DD 026bfe65ch,00dca48e7h,07290c307h,0097e391ch,06669e72eh,0683c462eh,0062559ach,0f505be1eh,0e3a3035ah,05fbe3ea1h,09cd50da8h,06431ebf6h,01f6407f2h,0fd169d5ch,060fce6b8h,08d838a95h + DD 0650006f0h,02a2bfa7fh,050c0fbb2h,0dfd7dad3h,0ccf9ad96h,092452495h,0d95635f9h,0183bf494h,04a7bd989h,002d5df43h,0a5431095h,0505385cch,0fd43f53eh,0dd98e67dh,0500c34a9h,0d61e1a6ch + DD 04a8a3d62h,05a4b46c6h,0247743d2h,08469c4d0h,088f7e433h,02bb3a13dh,001be5849h,062b23a10h,0a63d1a4ch,0e83596b4h,07d183f3eh,0454e7feah,017afb01ch,0643fce61h,01c4c3638h,04e65e5e6h + DD 0ef74c45bh,041d85ea1h,0ae328506h,02cfbfa66h,03ada7da9h,098b078f5h,0ec752fbbh,0d985fe37h,05a0148b4h,0eece68feh,02d78136dh,06f9a55c7h,0d2b729ceh,0232dccc4h,090aafbc4h,0a27e0dfdh + DD 012b4603eh,096474452h,06b706d14h,0a876c551h,069a9d412h,0df145fcfh,02d479c34h,0e2ab75b7h,01a23ff97h,012df9a76h,05d359d10h,0c6138992h,0fa835f22h,06e51c7aeh,0c0fcc4d9h,069a79cb1h + DD 0594cc7e1h,0f57f350dh,03350ab79h,03079ca63h,09aff594ah,0226fb614h,06d59a62bh,035afec02h,006ed2c6eh,09bee46f4h,07d939a57h,058da1735h,08fd1797eh,044c50402h,05ccea6cah,0d8853e7ch + DD 0a35fcd5fh,04065508dh,0495ccaebh,08965df8ch,012e1a962h,00f2da850h,0c1cf1cc4h,0ee471b94h,00a08fb75h,0cef19bc8h,081de3591h,0704958f5h,03aef4f88h,02867f8b2h,0ea9f9a5fh,08d749384h + DD 08c9049f4h,01b385537h,07b92d8b6h,05be948f3h,0b6e2bd6bh,0d96f725dh,0958c454dh,037a222bch,08809bf61h,0e7c61abbh,01346f18dh,046f07fbch,0e87c0d1ch,0fb567a7ah,07ef3d07ah,084a461c8h + DD 0d9278d98h,00a5adce6h,09dfc73e1h,024d94813h,0054321c3h,04f3528b6h,0692ea706h,02e03fddeh,047b533c0h,010e60619h,02ca3c055h,01a8bc73fh,01bb62b8fh,0ae58d4b2h,0584a24e3h,0b2045a73h + DD 0bd76e195h,03ab3d5afh,06938a810h,0478dd1adh,06ee3d5cbh,06ffab393h,022b361e4h,0dfb693dbh,051dbf1a7h,0f9694496h,008a2e762h,0cab4b4efh,0d39bba9ah,0e8c92f25h,0f1464d96h,0850e61bch + DD 0dc09508bh,0b7e830e3h,074317655h,0faf6d2cfh,0df690355h,072606cebh,0d0c3ded6h,048bb92b3h,05c7cf892h,065b75484h,0d5d5f01fh,0f6cd7ac9h,096401d69h,0c2c30a59h,0ed921878h,091268650h + DD 0b78c558fh,0380bf913h,0c8afdaa9h,043c0baebh,054f169d3h,0377f61d5h,0ae5ff20bh,0f8da07e3h,0a8a90ea8h,0b676c49dh,083a29b21h,081c1ff2bh,02ad8d276h,0383297ach,0ba89f982h,03001122fh + DD 06718e448h,0e1d794beh,07c3e6e13h,0246c1482h,05d26b5efh,056646ef8h,088069cddh,080f5091eh,0724bdd38h,0c5992e2fh,08471e8c7h,002e915b4h,00d0ff2a9h,096ff320ah,04384d1a0h,0bf886487h + DD 0c93f72d6h,0bbe1e6a6h,0cad800eah,0d5f75d12h,0e7acf117h,0fa40a09fh,07581a355h,032c8cdd5h,07023c499h,074221992h,038ec3901h,0a8afe5d7h,0a90e83f0h,05691afcbh,00b8f8each,041bcaa03h + DD 08d2668d5h,0e38b5ff9h,07ad81965h,00715281ah,003c6ce11h,01bc8fc7ch,08b650436h,0cbbee6e2h,00cdb9808h,006b00fe8h,0fe3ed315h,017d6e066h,04d0b5018h,02e9d38c6h,0844dcaefh,0ab8bfd56h + DD 0513aed8bh,042894a59h,0314bd07ah,0f77f3b6dh,08e42b582h,0bbdecb8fh,0d2390fe6h,0f10e2fa8h,062a2f201h,0efb95022h,050ee32b0h,04d59ea50h,06da789a8h,0d87f7728h,0f79492c4h,0cf98a2cfh + DD 0720943c2h,0f9577239h,03990b9d0h,0ba044cf5h,095f2884ah,05aa8e823h,00278a0afh,0834de6edh,05f25bd12h,0c8e1ee9ah,06f7ab271h,09259ceaah,077d00b76h,07e6d97a2h,0a437832ah,05c0c6eeah + DD 05606b81dh,05232c20fh,00d991ee5h,0abd7b375h,08632d951h,04d2bfe35h,098ed9364h,078f85146h,0f30c3282h,0951873f0h,0a789230bh,00da8ac80h,05398967fh,03ac7789ch,0bdda0fb5h,0a69b8f7fh + DD 06add8545h,0e5db7717h,072c49b66h,01b71cb66h,068421d77h,0d8560739h,083e3afeah,003840fe8h,01ec69977h,0b391dad5h,0307f6726h,0ae243fb9h,0e8ca160ch,0c88ac87bh,04ce355f4h,05174ccedh + DD 0e58ba37dh,098a35966h,07817335dh,0fdcc8da2h,083fbc7bfh,05b752830h,0d9c96984h,068e419d4h,002a40380h,0409a39f4h,01fe977bch,088940fafh,08f8edea6h,0c640a94bh,0ed11547dh,01e22cd17h + DD 059ffc3e2h,0e28568ceh,0c1dee4e7h,060aa1b55h,0837cb363h,0c67497c8h,0105a2bf2h,006fb438ah,0500d8e20h,030357ec4h,00670db10h,01ad9095dh,0c73b7cfdh,07f589a05h,0880d6d28h,0f544607dh + DD 0a20ef103h,017ba93b1h,06ba6577bh,0ad859130h,06fa214a0h,065c91cf6h,027990da5h,0d7d49c6ch,020bb569dh,0ecd9ec8dh,0eeffbc33h,0bd4b2502h,06bed0467h,02056ca5ah,05b63728ch,07916a1f7h + DD 053a4f566h,0d4f9497dh,097b56810h,089734664h,00494a621h,0f8e1da74h,08d011c68h,082546a93h,0c61ac162h,01f3acb19h,0abad0d3eh,052f8fa9ch,0b4b7ea43h,015356523h,0ae608125h,05a16ad61h + DD 04faed184h,0b0bcb87fh,05029f45fh,05f236b1dh,00bc6b1fch,0d42c7607h,068aefce3h,0c644324eh,05c5d8446h,08e191d59h,013ae1979h,0c0208077h,03ba59cc7h,0adcaee55h,0a2cb81bah,020ed6d6bh + DD 0b6efcffch,00952ba19h,097c0b87ch,060f12d68h,09caa30bch,04ee2c7c4h,097fbff4eh,0767238b7h,0501b5d92h,0ebc73921h,0c2a37737h,03279e3dfh,06d197543h,09fc12bc8h,00a40db4eh,0fa94dc6fh + DD 0530ccbbdh,07392b41ah,0ea823525h,087c82146h,005d98d0ch,0a52f984ch,05ef6974ch,02ae57d73h,03042a6ddh,09377f7bfh,019647a64h,0b1a007c0h,00cca9767h,0faa9079ah,0f68f72d5h,03d81a25bh + DD 0ff81578eh,0752067f8h,09045447dh,078622150h,00505aa6fh,0c0c22fcfh,06bed1c77h,01030f0a6h,01f0bd739h,031f29f15h,0e6debe85h,02d7989c7h,08e677e98h,05c070e72h,006e81fd5h,00a817bd3h + DD 0b0f2ac95h,0c110d830h,0ab20e64eh,048d0995ah,07729cd9ah,00f3e00e1h,0dd556946h,02a570c20h,04e86214dh,0912dbcfdh,0cf615498h,02d014ee2h,03530d76eh,055e2b1e6h,0fd0fd6d1h,0c5135ae4h + DD 0d4f3049fh,00066273ah,0e7087477h,0bb8e9893h,014c6e5fdh,02dba1ddbh,051f57e6ch,0dba37886h,05a72f2cfh,05aaee0a6h,07bea5642h,01208bfbfh,067872c37h,0f5c6aa3bh,043f93224h,0d726e083h + DD 0061f1658h,01854daa5h,0df0cd2b3h,0c0016df1h,0833d50deh,0c2a3f23eh,0bbbd3017h,073b681d2h,03ac343c0h,02f046dc4h,085716421h,09c847e7dh,00917eed4h,0e1e13c91h,063a1b9c6h,03fc9eebdh + DD 07fe02299h,00f816a72h,0294f3319h,06335ccc2h,04745c5beh,03820179fh,0922f066eh,0e647b782h,002cafb8ah,0c22e49deh,0fcc2eccch,0299bc2ffh,06e0e8282h,09a8feea2h,0fe893205h,0a627278bh + DD 07933e47bh,0a7e19733h,02e766402h,0f4ff6b13h,098440d9fh,0a4d8be0ah,038938808h,0658f5c2fh,0c95b3b3eh,090b75677h,03137b6ffh,0fa044269h,043c47c29h,0077b039bh,08a6445b2h,0cca95dd3h + DD 02333fc4ch,00b498ba4h,0f736a1b1h,0274f8e68h,05f1d4b2eh,06ca348fdh,0a8f10199h,024d3be78h,0ca14f530h,08535f858h,05b982e51h,0a6e7f163h,036e1bf62h,0847c8512h,003448418h,0f6a7c58eh + DD 0f9374ab6h,0583f3703h,06e564145h,0864f9195h,022526d50h,033bc3f48h,01262a496h,09f323c80h,03f046a9ah,0aa97a7aeh,0df8a039ah,070da183eh,052aa0ba6h,05b68f71ch,021459c2dh,09be0fe51h + DD 0cbc613e5h,0c1e17eb6h,0497ea61ch,033131d55h,0af7eded5h,02f69d39eh,0de6af11bh,073c2f434h,0a4a375fah,04ca52493h,0b833c5c2h,05f06787ch,03e6e71cfh,0814e091fh,08b746666h,076451f57h + DD 0694db7e0h,080f9bdefh,0b9fcddc6h,0edca8787h,003b8dce1h,051981c34h,070e10ba1h,04274dcf1h,06def6d1ah,0f72743b8h,0ebdb1866h,0d25b1670h,0050c6f58h,0c4491e8ch,087fbd7f5h,02be2b2abh + DD 0d111f8ech,03e0e5c9dh,0b7c4e760h,0bcc33f8dh,0bd392a51h,0702f9a91h,0c132e92dh,07da4a795h,00bb1151bh,01a0b0ae3h,002e32251h,054febac8h,0694e9e78h,0ea3a5082h,0e4fe40b8h,0e58ffec1h + DD 0d1e0cf9eh,0f85592fch,0c0e7b2e8h,0dea75f0dh,0c135584eh,0c04215cfh,02f57092ah,0174fc727h,0eb930beah,0e7277877h,05eb02a5ah,0504caccbh,0f5241b9bh,0f9fe08f7h,08d5ca954h,0e7fb62f4h + DD 029c4120bh,0fbb8349dh,0c0d0d915h,09f94391fh,05410ba51h,0c4074fa7h,0150a5911h,0a66adbf6h,034bfca38h,0c164543ch,0b9e1ccfch,0e0f27560h,0e820219ch,099da0f53h,0c6b4997ah,0e8234498h + DD 09d4c5423h,0cfb88b76h,0b0521c49h,09e56eb10h,0be8700a1h,0418e0b5eh,0f93cb58ah,000cbaad6h,0d92a5e67h,0e923fbdeh,01f347f11h,0ca4979ach,06bc0585bh,089162d85h,0ac3c70e3h,0dd6254afh + DD 0516e19e4h,07b23c513h,0c5c4d593h,056e2e847h,05ce71ef6h,09f727d73h,0f79a44c5h,05b6304a6h,03ab7e433h,06638a736h,0fe742f83h,01adea470h,05b7fc19fh,0e054b854h,0ba1d0698h,0f935381ah + DD 0799e9a74h,0546eab2dh,0a949f729h,096239e0eh,07090055ah,0ca274c6bh,09020c9b0h,0835142c3h,0a2e8807fh,0a405667ah,01aa3d39eh,029f2c085h,042fc72f5h,0cc555d64h,0fbeacb3ch,0e856e0e7h + DD 0918e4936h,0b5504f9dh,0b2513982h,065035ef6h,06f4d9cb9h,00553a0c2h,0bea85509h,06cb10d56h,0a242da11h,048d957b7h,0672b7268h,016a4d3ddh,08502a96bh,03d7e637ch,0730d463bh,027c7032bh + DD 0e4136a14h,0bdc02b18h,0678e32bfh,0bacf969dh,0dd9c3c03h,0c98d89a3h,023becc4fh,07b92420ah,0c64d565ch,0d4b41f78h,010f28295h,09f969d00h,0b13d051ah,0ec7f7f76h,0a92da585h,008945e1eh + DD 05846426fh,055366b7dh,0247d441dh,0e7d09e89h,0736fbf48h,0510b404dh,0e784bd7dh,07fa003d0h,017fd9596h,025f7614fh,035cb98dbh,049e0e0a1h,02e83a76ah,02c65957bh,0cddbe0f8h,05d40da8dh + DD 0050bad24h,0f2b8c405h,0c2aa4823h,08918426dh,0a38365a7h,02aeab3ddh,07c91b690h,072031717h,060a94120h,08b00d699h,0e99eaeech,0478a255dh,06f60aafdh,0bf656a5fh,05dee77b3h,0dfd7cb75h + DD 0a595939dh,037f68bb4h,028740217h,003556479h,084ad7612h,08e740e7ch,09044695fh,0d89bc843h,085a9184dh,0f7f3da5dh,09fc0b074h,0562563bbh,0f88a888eh,006d2e6aah,0161fbe7ch,0612d8643h + DD 0f64085e7h,0465edba7h,029aa8511h,0b230f304h,0cda2d188h,053388426h,04b666649h,090885735h,0652f54f6h,06f02ff9ah,05fae2bf0h,065c82294h,062f5eee3h,07816ade0h,0fcc56d70h,0dcdbdf43h + DD 054530bb2h,09fb3bba3h,0cb0869eah,0bde3ef77h,00b431163h,089bc9046h,0e4819a35h,04d03d7d2h,043b6a782h,033ae4f9eh,09c88a686h,0216db307h,000ffedd9h,091dd88e0h,012bd4840h,0b280da9fh + DD 01635e741h,032a7cb8ah,078be02a7h,0fe14008ah,01b7ae030h,03fafb334h,05add0ce9h,07fd508e7h,0d607ad51h,072c83219h,08d40964ah,00f229c0ah,01c878da2h,01be2c336h,0eab2ab86h,0e0c96742h + DD 03e538cd7h,0458f8691h,08e08ad53h,0a7001f6ch,0bf5d15ffh,052b8c6e6h,0011215ddh,0548234a4h,03d5b4045h,0ff5a9d2dh,04a904190h,0b0ffeeb6h,048607f8bh,055a3aca4h,030a0672ah,08cbd665ch + DD 042583068h,087f834e0h,0f3f6e683h,002da2aebh,005c12248h,06b763e5dh,065a8aefch,07230378fh,071e8e5cah,093bd80b5h,0b3b62524h,053ab041ch,06c9c552eh,01b860513h,0d5524e66h,0e84d402ch + DD 0f37f5937h,0a37f3573h,0d1e4fca5h,0eb0f6c7dh,0ac8ab0fch,02965a554h,0274676ach,017fbf56ch,0acf7d720h,02e2f6bd9h,010224766h,041fc8f88h,085d53befh,0517a14b3h,07d76a7d1h,0dae327a5h + DD 0c4818267h,06ad0a065h,037c1bbc1h,033aa189bh,027392a92h,064970b52h,02d1535eah,021699a1ch,0c2d7a7fdh,0cd20779ch,099c83cf2h,0e3186059h,072c0b8c7h,09b69440bh,07b9e0e4dh,0a81497d7h + DD 01f5f82dch,0515d5c89h,06361079eh,09a7f67d7h,011a35330h,0a8da81e3h,04b18be1bh,0e44990c4h,0af103e59h,0c7d5ed95h,08dac9261h,0ece8aba7h,09394b8d3h,0be82b099h,016adfe83h,06830f09ah + DD 088172d01h,0250a29b4h,0caff9e02h,08b20bd65h,0e8a6329ah,0b8a7661eh,0d3fce920h,04520304dh,02b47f7efh,0ae45da1fh,05bffc540h,0e07f5288h,03464f874h,0f7997009h,0a6fa1f38h,02244c2cdh + DD 094d7d9b1h,043c41ac1h,0c82e7f17h,05bafdd82h,05fda0fcah,0df0614c1h,0a8ae37adh,074b043a7h,09e71734ch,03ba6afa1h,09c450f2eh,015d5437eh,067e242b1h,04a5883feh,02c1953c2h,05143bdc2h + DD 0fc5e8920h,0542b8b53h,09a9cee08h,0363bf9a8h,0c3486e08h,002375f10h,08c5e70d2h,02037543bh,0625640b4h,07109bccch,08bc62c3bh,0cbc1051eh,0803f26eah,0f8455fedh,0eb372424h,06badceabh + DD 06b53f5f9h,0a2a9ce7ch,01b176d99h,064246595h,0b95c081bh,0b1298d36h,01d9a9ee6h,053505bb8h,0f2ba70b0h,03f6f9e61h,08afad453h,0d07e16c9h,0e7eb4a6ah,09f1694bbh,03cb0bc8eh,0dfebced9h + DD 053868c8bh,092d3dcdch,0386107a6h,0174311a2h,0689b4e64h,04109e07ch,02df3dcb6h,030e4587fh,00811b3b2h,0841aea31h,00cce43eah,06144d41dh,02a9a7803h,0464c4581h,03e158930h,0d03d371fh + DD 0b1f3390bh,0c676d7f2h,0a5b61272h,09f7a1b8ch,0c2e127a9h,04ebebfc9h,05dd997bfh,04602500ch,04711230fh,07f09771ch,0020f09c1h,0058eb37ch,0fee5e38bh,0ab693d4bh,04653cbc0h,09289eb1fh + DD 0d51b9cf5h,0becf46abh,09f0121afh,0d2aa9c02h,0e90dc274h,036aaf7d2h,048b95a3ch,0909e4ea0h,06f32dbdbh,0e6b70496h,08b030b3eh,0672188a0h,0cfb617e2h,0eeffe5b3h,07c82709eh,087e947deh + DD 01770f5a7h,0a44d2b39h,00e44eb82h,0e4d4d791h,03f69712ah,042e69d1eh,0ac6a820eh,0bf11c4d6h,042c4224ch,0b5e7f3e5h,0449d941ch,0d6b4e81ch,05450e878h,05d72bd16h,0ee25ac54h,06a61e28ah + DD 0e6f1cd95h,033272094h,00d18673fh,07512f30dh,05afc1464h,032f7a4cah,06bbb977bh,02f095656h,0a8226200h,0586f47cah,01ac07369h,002c868adh,0c613acbeh,04ef2b845h,00386054ch,043d7563eh + DD 0ab952578h,054da9dc7h,026e84d0bh,0b5423df2h,09b872042h,0a8b64eebh,05990f6dfh,0ac205782h,021f4c77ah,04ff696ebh,0aab273afh,01a79c3e4h,09436b3f1h,029bc922eh,0d6d9a27ah,0ff807ef8h + DD 0778f22a0h,082acea3dh,05b5e7469h,0fb10b2e8h,02818ee7dh,0c0b16980h,0c91c1a2fh,0011afff4h,0ad124418h,095a6d126h,0e72e295fh,031c081a5h,0f2f4db75h,036bb283ah,07acef462h,0d115540fh + DD 033f6746ch,0c7f3a8f8h,0fea990cah,021e46f65h,0caddb0a9h,0915fd5c5h,078614555h,0bd41f016h,0426ffb58h,0346f4434h,014dbc204h,080559436h,05a969b7fh,0f3dd20feh,0e899a39ah,09d59e956h + DD 08ad4cf4bh,0f1b0971ch,02ffb8fb8h,003448860h,065340ba4h,0f071ac3ch,0b27fd758h,0408d0596h,098c364b0h,0e7c78ea4h,0051e8ab5h,0a4aac4a5h,0485d9002h,0b9e1d560h,088844455h,09acd518ah + DD 0d06f56c0h,0e4ca688fh,0df027972h,0a48af70dh,05e9a609dh,0691f0f04h,0ee61270eh,0a9dd82cdh,0a0ef18d3h,08903ca63h,03d6ca3bdh,09fb7ee35h,0abf47d03h,0a7b4a09ch,01c67de8eh,04cdada01h + DD 09355a244h,052003749h,04f2151a9h,0e77fd2b6h,066b4efcbh,0695d6cf6h,0da2cfe25h,0c5a0cacfh,0ef811865h,0104efe5ch,09ea5cc3dh,0f52813e8h,040b58dbch,0855683dch,0175fcb11h,00338ecdeh + DD 074921592h,0f9a05637h,0b9bb9d31h,0b4f1261dh,04e9c5459h,0551429b7h,06ea71f53h,0be182e6fh,0dfc50573h,0d3a3b07ch,062be8d44h,09ba1afdah,052ab65d3h,09bcfd2cbh,0a9571802h,0df11d547h + DD 002a2404ah,0099403eeh,021088a71h,0497406f4h,05004ae71h,099479409h,0a812c362h,0bdb42078h,0d8828442h,02b72a30fh,0fcb5ed1ch,0283add27h,066a40015h,0f7c0e200h,008b295efh,03e3be641h + DD 0e038a675h,0ac127dc1h,08c5c6320h,0729deff3h,0a90d2c53h,0b7df8fd4h,0681e7cd3h,09b74b0ech,0dab407e5h,05cb5a623h,076b340c6h,0cdbd3615h,07d28392ch,0a184415ah,0e96f7830h,0c184c1d8h + DD 081d3a80fh,0c3204f19h,0c8e02432h,0fde0c841h,08149e0c1h,078203b3eh,008053a73h,05904bdbbh,0101b6805h,030fc1dd1h,049aa6d49h,043c223bch,07a174087h,09ed67141h,0d5997008h,0311469a0h + DD 05e43fc61h,0b189b684h,0e0d3ab57h,0f3282375h,0b1181da8h,04fa34b67h,099ee52b8h,0621ed0b2h,0ad990676h,09b178de1h,056d54065h,0d51de67bh,07538c201h,02a2c27c4h,038a40f5ch,033856ec8h + DD 0be6cdcdeh,02522fc15h,09f0c6f89h,01e603f33h,0103e30a6h,07994edc3h,0220c853eh,0033a00dbh,0f7bb7fd7h,0d3cfa409h,0462d18f6h,070f8781eh,0687fe295h,0bbd82980h,0595669f3h,06eef4c32h + DD 02f7e85c3h,086a9303bh,071988f9bh,05fce4621h,0c138acb5h,05b935bf6h,025661212h,030ea7d67h,0e51ab9a2h,0ef1eb5f4h,0ae067c78h,00587c98ah,077ca9ca6h,0b3ce1b3ch,054b5f057h,02a553d4dh + DD 04da29ec2h,0c7898236h,0b9c57316h,0dbdd5d13h,02cd80d47h,0c57d6e6bh,0fe9e7391h,080b460cfh,0f963c31eh,098648cabh,0cc4d32fdh,067f9f633h,0fdf7c687h,00af42a9dh,00b015ea7h,055f292a3h + DD 0cd21ab3dh,089e468b2h,0c393d392h,0e504f022h,0a5013af9h,0ab21e1d4h,0c2c28acbh,0e3283f78h,0226bf99fh,0f38b35f6h,00e291e69h,0e8354274h,0b20c162dh,061673a15h,0b04fbdbeh,0c101dc75h + DD 0255bd617h,08323b4c2h,06c2a9154h,06c969693h,062679387h,0c6e65860h,0b8c88e23h,08e01db0ch,0893a5559h,033c42873h,047a3e149h,07630f04bh,0ddcf35f8h,0b5d80805h,077dfe732h,0582ca080h + DD 00b1894a0h,02c7156e1h,0d81c68c0h,092034001h,0c8b115b5h,0ed225d00h,083b907f2h,0237f9c22h,04470e2c0h,00ea2f32fh,058be4e95h,0b725f7c1h,0b1ae5463h,00f1dcafah,01ba2fc04h,059ed5187h + DD 0d0115d4dh,0f6e0f316h,0d3691599h,05180b12fh,0527f0a41h,0157e32c9h,0a8e0ecc0h,07b0b081dh,0bf4f0dd0h,06dbaaa8ah,04d252696h,099b289c7h,0dbf864feh,079b7755eh,076cad3abh,06974e2b1h + DD 006ddd657h,035dbbee2h,02ff3a96dh,0e7cbdd11h,0076be758h,088381968h,008c91f5dh,02d737e72h,086ec3776h,05f83ab62h,0945fa7a1h,098aa649dh,072ef0933h,0f477ec37h,0098c17b1h,066f52b1eh + DD 0d803738bh,09eec58fbh,0e4e86aa4h,091aaade7h,0a5b51492h,06b1ae617h,0bbc45974h,063272121h,0862c5129h,07e0e28f0h,03321a4a0h,00a8f79a9h,05041c88fh,0e26d1664h,053233e3ah,00571b805h + DD 0c9520711h,0d1b0ccdeh,03c8b84bfh,055a9e4edh,0a1fef314h,09426bd39h,06eb93f2bh,04f5f638eh,02bf9341bh,0ba2a1ed3h,04d42d5a9h,0d63c1321h,0316dc7c5h,0d2964a89h,0ca511851h,0d1759606h + DD 0f9e6ed35h,0d8a9201fh,06736925ah,0b7b5ee45h,099581af7h,00a83fbbch,064eeb051h,03076bc40h,002dec312h,05511c98ch,0238dcb78h,0270de898h,0539c08c9h,02cf4cf9ch,038d3b06eh,0a70cb65eh + DD 0cfe57bbdh,0b12ec10eh,035a0c2b5h,082c7b656h,0161c67bdh,0ddc7d5cdh,0ae3a32cch,0e32e8985h,0d11a5529h,07aba9444h,02427fa1ah,0e964ed02h,024a1770ah,01528392dh,012c72fcdh,0a152ce2ch + DD 08ec07649h,0714553a4h,0459dd453h,018b4c290h,07b64b110h,0ea32b714h,02e6f07a2h,0b871bfa5h,09e2e3c9bh,0b67112e5h,044aa90f6h,0fbf250e5h,0bd539006h,0f77aedb8h,0d172a66fh,03b0cdf9ah + DD 0f8c51187h,0edf69feah,0741e4da7h,005bb67ech,008114345h,047df0f32h,0bb9792b1h,056facb07h,08f6229e4h,0f3e007e9h,0526fba0fh,062d103f4h,0b0339d79h,04f33bef7h,0b59bfec1h,09841357bh + DD 0c34e6705h,0fa8dbb59h,07fdaa84ch,0c3c7180bh,0a4108537h,0f95872fch,0932a3e5ah,08750cc3bh,0b7275d7dh,0b61cc69dh,02e59b2e9h,0ffa0168bh,06ecbb493h,0ca032abch,02c9082d8h,01d86dbd3h + DD 0e28ef5bah,0ae1e0b67h,0cb18e169h,02c9a4699h,01e6bbd20h,00ecd0e33h,0af5e81d2h,0571b360eh,0101c1d45h,0cd9fea58h,018880452h,06651788eh,01f8dd446h,0a9972635h,0e37281d0h,044bed022h + DD 033da525dh,0094b2b2dh,013144fd8h,0f193678eh,0f4c1061dh,0b8ab5ba4h,0dccbe0f4h,04343b5fah,063812713h,0a8702371h,0f7611d93h,047bf6d2dh,0bd21e1d7h,046729b8ch,0d629e77dh,07484d4e0h + DD 060dbac1fh,0830e6eeah,0da06a2f7h,023d8c484h,050ca535bh,0896714b0h,0ebd97a9bh,0dc8d3644h,0b12177b4h,0106ef9fah,0534d5d9ch,0f79bf464h,0a6ab360bh,02537a349h,0a00c744fh,0c7c54253h + DD 0e5911a76h,0b3c7a047h,0647f1ee7h,061ffa5c8h,08f56ab42h,015aed36fh,0a3ff9ac9h,06a0d41b0h,0cc30d357h,068f469f5h,06b72be96h,0be9adf81h,0903ad461h,01cd926feh,0caca441bh,07e89e38fh + DD 0facf69d4h,0f0f82de5h,04775344ch,0363b7e76h,0b2e36d04h,06894f312h,011d1c9a5h,03c6cb4feh,04008e1f2h,085d9c339h,0249f326ch,05e9a85eah,0678c5e06h,0dc35c60ah,09f86fba9h,0c08b944fh + DD 089f71f0fh,0de40c02ch,0ff3da3c0h,0ad8f3e31h,042125dedh,03ea5096bh,0a7379183h,013879cbfh,06b306a0bh,06f4714a5h,067646c5eh,0359c2ea6h,007726368h,0facf8943h,065ff431eh,007a58935h + DD 068754ab0h,024d661d1h,06f429a76h,0801fce1dh,0a58ce769h,0c068a85fh,05d5eca2bh,0edc35c54h,0a3f660d1h,0ea31276fh,0b8fc7167h,0a0184ebeh,01d8db0aeh,00f20f21ah,056c35e12h,0d96d095fh + DD 0f8c2a25bh,0edf402b5h,0059204b6h,01bb772b9h,019b4e34ch,050cbeae2h,03fa0845ah,093109d80h,08ef59fb5h,054f7ccf7h,088070963h,03b438fe2h,031f3ba9bh,09e28c659h,0ead9da92h,09cc31b46h + DD 0b733aa5fh,03c2f0ba9h,0f05af235h,0dece47cbh,0a2ac82a5h,0f8e3f715h,02203f18ah,0c97ba641h,009c11060h,0c3af5504h,046af512dh,056ea2c05h,0f3f28146h,0fac28dafh,0959ef494h,087fab43ah + DD 0d4c5105fh,009891641h,06d7fbd65h,01ae80f8eh,0bee6bdb0h,09d67225fh,07fc4d860h,03b433b59h,093e85638h,044e66db6h,0e3e9862fh,0f7b59252h,0665c32ech,0db785157h,0ae362f50h,0702fefd7h + DD 00fefb0c3h,03754475dh,046d7c35dh,0d48fb56bh,0363798a4h,0a070b633h,08fdb98e6h,0ae89f3d2h,06363d14ch,0970b89c8h,067abd27dh,089817521h,044d5a021h,09bf7d474h,0cac72aeeh,0b3083bafh + DD 0be949a44h,0389741deh,0546a4fa5h,0638e9388h,0a0047bdch,03fe6419ch,0aaea57cah,07047f648h,041fbab17h,054e48a90h,0576bdba2h,0da8e0b28h,0c72afddch,0e807eebch,0f42577bfh,007d3336dh + DD 0bfe20925h,062a8c244h,08fdce867h,091c19ac3h,0dd387063h,05a96a5d5h,021d324f6h,061d587d4h,0a37173eah,0e87673a2h,053778b65h,023848008h,005bab43eh,010f8441eh,04621efbeh,0fa11fe12h + DD 081685d7bh,0047b772eh,0bf34a976h,023f27d81h,0915f48efh,0c27608e2h,0a521d5c3h,03b0b43fah,063ca7284h,07613fb26h,01d4db837h,07f5729b4h,0583b526bh,087b14898h,0bbadd3d1h,000b732a6h + DD 02048e396h,08e02f426h,0383d9de4h,0436b50b6h,0471e85adh,0f78d3481h,0d005c8d6h,08b01ea6ah,097015c07h,0d3c7afeeh,04e3ba2aeh,046cdf1a9h,083d3a1d2h,07a42e501h,0b541dff4h,0d54b5268h + DD 04e23e9bch,03f24cf30h,0126e3624h,04387f816h,03b0b6d61h,026a46a03h,08b2d777ch,0af1bc845h,0527de79ch,025c401bah,04261bbb6h,00e1346d4h,0287b4bc7h,04b96c44bh,05254562fh,0658493c7h + DD 0b8a24a20h,023f949feh,0f52ca53fh,017ebfed1h,0bcfb4853h,09b691bbeh,06278a05dh,05617ff6bh,0e3c99ebdh,0241b34c5h,01784156ah,0fc64242eh,0695d67dfh,04206482fh,0ee27c011h,0b967ce0eh + DD 021c80b5dh,065db3751h,0a31ecca0h,02e7a563ch,05238a07eh,0e56ffc4eh,032ced854h,03d6c2966h,0af70b885h,0e99d7d1ah,02d686459h,0afc3bad9h,00cc8ba5bh,09c78bf46h,018955aa3h,05a439519h + DD 05fe4e314h,0f8b517a8h,0fcb8906fh,0e60234d0h,0f2061b23h,0ffe542ach,06b4cb59ch,0287e191fh,009d877d8h,021857ddch,014678941h,01c23478ch,0b6e05ea4h,0bbf0c056h,0b01594feh,082da4b53h + DD 0fadb8608h,0f7526791h,07b74cdf6h,0049e832dh,0c2b90a34h,0a43581cch,09360b10ch,073639eb8h,0e1e4a71bh,04fba331fh,08072f919h,06ffd6b93h,065679032h,06e53271ch,0f14272ceh,067206444h + DD 0b2335834h,0c0f734a3h,090ef6860h,09526205ah,004e2bb0dh,0cb8be717h,002f383fah,02418871eh,04082c157h,0d7177681h,029c20073h,0cc914ad0h,0e587e728h,0f186c1ebh,061bcd5fdh,06fdb3c22h + DD 0f2f9f8e9h,030d014a6h,04fec49d2h,0963ece23h,09605a8d9h,0862025c5h,019f8929ah,039874445h,012bf476ah,001b6ff65h,009cf7d91h,0598a64d8h,093be56cah,0d7ec7749h,0cbb33615h,010899785h + DD 002eee3adh,0b8a092fdh,030145270h,0a86b3d35h,08512b675h,0323d98c6h,062ebb40fh,04b8bc785h,0413f9cdeh,07d301f54h,02bab5664h,0a5e4fb4fh,01cbfec23h,01d2b252dh,0e177120dh,0fcd576bbh + DD 083731a34h,004427d3eh,0ed836e8eh,02bb9028eh,0b612ca7ch,0b36acff8h,0d3d9c73ah,0b88fe5efh,0edea4eb3h,0be2a6bc6h,0488eec77h,043b93133h,0b17106e1h,0f41ff566h,0654efa32h,0469e9172h + DD 041c23fa3h,0b4480f04h,0c1989a2eh,0b4712eb0h,093a29ca7h,03ccbba0fh,0d619428ch,06e205c14h,0b3641686h,090db7957h,045ac8b4eh,00432691dh,0f64e0350h,007a759ach,09c972517h,00514d89ch + DD 0a8e67fc3h,01701147fh,0ab2085beh,09e2e0b8bh,0ac284e57h,0d5651824h,074893664h,0890d4325h,0c55e68a3h,08a7c5e6eh,04339c85ah,0bf12e90bh,0f922b655h,031846b85h,00bf4d700h,09a54ce4dh + DD 0f1a14295h,0d7f4e83ah,0b285d4f9h,0916f955ch,099ffdabah,0e57bb0e0h,0eab0d152h,028a43034h,0b8a9cef8h,00a36ffa2h,0b9ec051ah,05517407eh,0ea68e672h,09c796096h,0fb3c77fbh,0853db5fbh + DD 0e864a51ah,021474ba9h,06e8a1b8bh,06c267699h,094120a28h,07c823626h,08383a5dbh,0e61e9a48h,09f84216dh,07dd75003h,0ad43cd85h,0ab020d07h,0da12c659h,09437ae48h,0e65452adh,06449c2ebh + DD 02cf9d7c1h,0cc7c4c1ch,0ee95e5abh,01320886ah,0beae170ch,0bb7b9056h,0dbc0d662h,0c8a5b250h,0c11d2303h,04ed81432h,01f03769fh,07da66912h,084539828h,03ac7a5fdh,03bccdd02h,014dada94h + DD 07ef6b0d1h,08b84c321h,07c933f22h,052a9477ah,0fd440b82h,05ef6728ah,06ce4bd5eh,05c3bd859h,0f22c2d3eh,0918b80f5h,0b7bb6cc5h,0368d5040h,02695a11ch,0b66142a1h,0eb19ea70h,060ac583ah + DD 00eab2437h,0317cbb98h,05e2654c8h,08cc08c55h,0e6d8307fh,0fe2d6520h,057428993h,0e9f147f3h,0d2fd6cf1h,05f9c7d14h,02d4fcbb0h,0a3ecd064h,08e7341f7h,0ad83fef0h,03a63115ch,0643f23a0h + DD 0e65ab743h,0d38a78abh,035edc89ch,0bf7c75b1h,0530df568h,03dd8752eh,0e308c682h,0f85c4a76h,0e68acf37h,04c9955b2h,0ab32af85h,0a544df3dh,0a25cf493h,04b8ec3f5h,01a622febh,04d8f2764h + DD 0f0dcbc49h,07bb4f7aah,070bbb45bh,07de551f9h,09f2ca2e5h,0cfd0f3e4h,01f5c76efh,0ece58709h,0167d79aeh,032920eddh,0fa7d7ec1h,0039df8a2h,0bb30af91h,0f46206c0h,022676b59h,01ff5e2f5h + DD 06ea51d66h,011f4a039h,0807d7a26h,0506c1445h,0755a9b24h,060da5705h,01f1a319eh,08fc8cc32h,09433d67dh,083642d4dh,06a7dd296h,07fa5cb8fh,09b7bde07h,0576591dbh,0419716fbh,013173d25h + DD 0d5b340ffh,0ea30599dh,0b0fe76c5h,0fc6b5297h,0ab8f5adch,01c6968c8h,0901c928dh,0f723c7f5h,09773d402h,04203c321h,01b51dd47h,0df7c6aa3h,0552be23ch,03d49e37ah,00b5a6e87h,057febee8h + DD 07bd8e739h,0c5ecbee4h,0ae63bf75h,079d44994h,038fb8923h,0168bd00fh,0d0533130h,075d48ee4h,0db5cdf33h,0554f77aah,03c696769h,03396e896h,0d3fd674eh,02fdddbf2h,099d0e3e5h,0bbb8f6eeh + DD 0cbae2f70h,051b90651h,093aaa8ebh,0efc4bc05h,0dd1df499h,08ecd8689h,022f367a5h,01aee99a8h,0ae8274c5h,095d485b9h,07d30b39ch,06c14d445h,0bcc1ef81h,0bafea90bh,0a459a2edh,07c5f317ah + DD 04ef44227h,001211075h,0dc20f496h,0a17bed6eh,0819853cdh,00cdfe424h,0f71e2ce7h,013793298h,0dbbe307bh,03c1f3078h,076ee9936h,06dd1c20eh,0423caa20h,023ee4b57h,08efb840eh,04ac3793bh + DD 0ed1f8ca0h,0934438ebh,04ebb25a2h,03e546658h,0c069896fh,0c415af0eh,09a5aa43dh,0c13eddb0h,0d49eb8f6h,07a04204fh,0d74f1670h,0d0d5bdfch,056fc0558h,03697e286h,001cebadeh,010207371h + DD 00647a82bh,05f87e690h,08f40054fh,0908e0ed4h,079853803h,0a9f633d4h,04a28b252h,08ed13c9ah,01f460f64h,03e2ef676h,036d06336h,053930b9bh,08fc4979bh,0347073ach,05ecd5597h,084380e0eh + DD 0c4fe3c39h,0e3b22c6bh,06c7bebdfh,0ba4a8153h,025693459h,0f23ab6b7h,014922b11h,053bc3770h,05afc60dbh,04645c8abh,020b9f2a3h,0aa022355h,0ce0fc507h,052a2954ch,07ce1c2e7h,08c2731bbh + DD 018a0339dh,0f39608abh,03735436ch,0ac7a658dh,0cd992b4fh,0b22c2b07h,0f40dcfd4h,04e83daech,02f39ea3eh,08a34c7beh,0b0a56d2eh,0ef0c005fh,06edd8038h,062731f6ah,04e3cb075h,05721d740h + DD 0fbeeee1bh,01ea41511h,0ef1d0c05h,0d1ef5e73h,073c07d35h,042feefd1h,08a329493h,0e530a00ah,0f15ebfb0h,05d55b7feh,0d322491ah,0549de03ch,0745b3237h,0f7b5f602h,01ab6e2b6h,03632a3a2h + DD 00ef59f78h,00d3bba89h,0c9e52b9ah,00dfc6443h,072631447h,01dc79699h,0b3be20b1h,0ef033917h,0b1383948h,00c92735dh,0c0dd7d7dh,0c1fc29a2h,0403ed068h,06485b697h,0aac93bdch,013bfaab3h + DD 00deeaf52h,0410dc6a9h,04c641c15h,0b003fb02h,05bc504c4h,01384978ch,0864a6a77h,037640487h,0222a77dah,005991bc6h,05e47eb11h,062260a57h,0f21b432ch,0c7af6613h,0ab4953e9h,022f3acc9h + DD 08e41d155h,052934922h,03ac059efh,04d024568h,04d884411h,0b0201755h,0a59a178fh,0ce8055cfh,0f6204549h,0cd77d1afh,0c7066759h,0a0a00a3eh,00272c229h,0471071efh,0d3c4b6b0h,0009bcf6bh + DD 022305177h,02a2638a8h,041645bbfh,0d51d59dfh,0c0a7a3c0h,0a81142fdh,04c7063eeh,0a17eca6dh,060d9dcech,00bb887edh,020ad2455h,0d6d28e51h,0a67102bah,0ebed6308h,08bffa408h,0042c3114h + DD 08aa68e30h,0fd099ac5h,01483513eh,07a6a3d7ch,0ba2d8f0ch,0ffcc6b75h,01e78b954h,054dacf96h,0a4a9af89h,0f645696fh,006ac98ech,03a411940h,022a67a20h,041b8b3f6h,099dec626h,02d0b1e0fh + DD 040be34e8h,027c89192h,091907f35h,0c7162b37h,0a956702bh,090188ec1h,0df93769ch,0ca132f7dh,00e2025b4h,03ece44f9h,00c62f14ch,067aaec69h,022e3cc11h,0ad741418h,07ff9a50eh,0cf9b75c3h + DD 04d348272h,002fa2b16h,09959d56dh,0bd99d61ah,018762916h,0bc4f19dbh,049c1ac80h,0cc7cce50h,0d846bd83h,04d59ebaah,0a9202849h,08775a9dch,06e1f4ca9h,007ec4ae1h,0ba893f11h,027eb5875h + DD 0662cc565h,000284d51h,00db4138dh,082353a6bh,0aa32a594h,0d9c7aaaah,0a5669c47h,0f5528b5eh,02f23c5ffh,0f3220231h,06affa3a1h,0e3e8147ah,0202ddda0h,0fb423d5ch,06b871bd4h,03d6414ach + DD 0a51a168ah,0586f82e1h,048ae5448h,0b712c671h,076233eb8h,09a2e4bd1h,078811ca9h,00188223ah,0f7c18de1h,0553c5e21h,0b27bb286h,07682e451h,00e51e929h,03ed036b3h,0ec9cb34fh,0f487211bh + DD 00c24efc8h,00d094277h,0bef737a4h,00349fd04h,0514cdd28h,06d1c9dd2h,030da9521h,029c135ffh,0f78b0b6fh,0ea6e4508h,0678c143ch,0176f5dd2h,04be21e65h,008148418h,0e7df38c4h,027f7525ch + DD 0748ab1a4h,01fb70e09h,05efe4433h,09cba50a0h,015f75af2h,07846c7a6h,05ee73ea8h,02a7c2c57h,03f0a449ah,042e566a4h,0ad90fc3dh,045474c3bh,08b61d057h,07447be3dh,03a4ec092h,03e9d1cf1h + DD 0f380a6e6h,01603e453h,09b1437c2h,00b86e431h,0ef29610ah,07a4173f2h,0f03d57f7h,08fa729a7h,06c9c217eh,03e186f6eh,091919524h,0be1d3079h,0153d4fb1h,092a62a70h,0d68c2f71h,032ed3e34h + DD 09eb1a8b7h,0d785027fh,0c5b22fe8h,0bc37eb77h,0b9d6a191h,0466b34f0h,09a05f816h,0008a89afh,07d42c10ah,019b028fbh,049b3f6b8h,07fe8c92fh,0a5a0ade3h,058907cc0h,0559d1a7ch,0b3154f51h + DD 0d9790ed6h,05066efb6h,0a6aa793bh,0a77a0cbch,0223e042eh,01a915f3ch,069c5874bh,01c5def04h,073b6c1dah,00e830078h,0fcd8557ah,055cf85d2h,00460f3b1h,00f7c7c76h,046e58063h,087052acbh + DD 0907eae66h,009212b80h,04d721c89h,03cb068e0h,0dd45ac1ch,0a87941aeh,00daa0dbbh,0de8d5c0dh,0e3502e6eh,0da421fdch,04d89a084h,0c8944201h,0f0c24bfbh,07307ba5eh,020bde0efh,0da212bebh + DD 0f82ce682h,0ea2da24bh,007f71fe4h,0058d3816h,05ffad8deh,035a02462h,0aadcefabh,0cd7b05dch,01d9f54ech,0d442f8edh,0b2d3b5cah,08be3d618h,0e06b2ce2h,0e2220ed0h,01b0da4c0h,082699a5fh + DD 071c0c3a7h,03ff106f5h,00d34180ch,08f580f5ah,022d7d375h,04ebb120eh,0e9513675h,05e5782cch,099c82a70h,02275580ch,015ea8c4ch,0e8359fbfh,07b415e70h,053b48db8h,0100c6014h,0aacf2240h + DD 0e4652f1dh,09faaccf5h,0d56157b2h,0bd6fdd2ah,06261ec50h,0a4f4fb1fh,0476bcd52h,0244e55adh,0047d320bh,0881c9305h,06181263fh,01ca983d5h,0278fb8eeh,0354e9a44h,0396e4964h,0ad2dbc0fh + DD 09268b3deh,0723f3aa2h,0e6e0609ah,00d1ca29ah,06cf44252h,0794866aah,001af87edh,00b59f3e3h,07f4a6c51h,0e234e5ffh,061dc2f7eh,0a8768fd2h,00a94d81fh,0dafc7332h,006938ce1h,0d7f84282h + DD 00546063eh,0ae0b3c0eh,05d61abc6h,07fbadcb2h,0369ac400h,0d5d7a2c9h,0ae67d10ch,0a5978d09h,04f85eaach,0290f211eh,0facac681h,0e61e2ad1h,0388384cdh,0ae125225h,0ccfde30fh,0a7fb68e9h + DD 03daed4c2h,07a59b936h,02606f789h,080a9aa40h,0f6a6d90ah,0b40c1ea5h,0514d5885h,0948364d3h,070985182h,0062ebc60h,033310895h,0a6db5b0eh,0e329c2f5h,064a12175h,090ea237eh,0c5f25bd2h + DD 02d0a4c23h,07915c524h,06bb3cc52h,0eb5d26e4h,0c09e2c92h,0369a9116h,0cf182cf8h,00c527f92h,02aede0ach,09e591938h,06cc34939h,0b2922208h,099a34361h,03c9d8962h,0c1905fe6h,03c81836dh + DD 0a001ec5ah,04bfeb57fh,0a0dc5dbah,0e993f5bbh,0724a1380h,047884109h,032fe9a04h,08a0369abh,08c927db8h,0ea068d60h,094655741h,0bf5f37cfh,004b6c7eah,047d402a2h,06af259cbh,04551c295h + DD 0ed77ee8bh,0698b71e7h,0f309d5c7h,0bddf7bd0h,034e780cah,06201c22ch,04c295ef4h,0ab04f7d8h,04313a8ceh,01c947294h,092ca4cfeh,0e532e4ach,0d0a7a97ah,089738f80h,0a580fd5bh,0ec088c88h + DD 042ce9e51h,0612b1ecch,0b25fdd2ah,08f9840fdh,001e7f839h,03cda78c0h,0ece05480h,0546b3d3ah,080d30916h,0271719a9h,0584c20c4h,045497107h,05bc78608h,0af8f9478h,0277e2a4ch,028c7d484h + DD 088a2ffe4h,0fce01767h,028e169a5h,0dc506a35h,07af9c93ah,00ea10861h,003fa0e08h,01ed24361h,0a3d694e7h,096eaaa92h,0ef50bc74h,0c0f43b4dh,064114db4h,0ce6aa58ch,07c000fd4h,08218e8eah + DD 0185f8844h,0ac815dfbh,01557abfbh,0cd7e90cbh,0afbfecdfh,023d16655h,0085cac4ah,080f3271fh,0d0e62f47h,07fc39aa7h,0460a48e5h,088d519d1h,0d28f101eh,059559ac4h,0ca9ae816h,07981d9e9h + DD 09ac38203h,05c38652ch,057657fe5h,086eaf87fh,0e21f5416h,0568fc472h,0e7e597b5h,02afff39ch,0256d4eabh,03adbbb07h,08285ab89h,022598692h,0041caefeh,035f8112ah,0a5064c8bh,095df02e3h + DD 0c7004bf3h,04d63356eh,0db83c7deh,0230a08f4h,08709a7b7h,0ca27b270h,0cb9abd2dh,00d1c4cc4h,07550fee8h,08a0bc66eh,09cf7247eh,0369cd4c7h,092b5b7e7h,075562e84h,05802af7bh,08fed0da0h + DD 0e48fb889h,06a7091c2h,07b8a9d06h,026882c13h,01b82a0e2h,0a2498663h,03518152dh,0844ed736h,0d86e27c7h,0282f476fh,004afefdch,0a04edacah,06119e34dh,08b256ebch,00787d78bh,056a413e9h + DD 05a74be50h,082ee061dh,0dea16ff5h,0e41781c4h,099bfc8a2h,0e0b0c81eh,00b547e2dh,0624f4d69h,0bdcc9ae4h,03a83545dh,0409b1e8eh,02573dbb6h,0a6c93539h,0482960c4h,05ae18798h,0f01059adh + DD 03112795fh,0715c9f97h,0984e6ee1h,0e8244437h,0ecb66bcdh,055cb4858h,0abaffbeeh,07c136735h,05dbec38eh,054661595h,0388ad153h,051c0782ch,0c6e0952fh,09ba4c53ah,01b21dfa8h,027e6782ah + DD 04ed2dbc2h,0682f903dh,07c3b2d83h,00eba59c8h,09c7e9335h,08e9dc84dh,00eb226d7h,05f9b21b0h,0af267baeh,0e33bd394h,0be2e15aeh,0aa86cc25h,06a8ec500h,04f0bf67dh,0f9630658h,05846aa44h + DD 0e2c2bf15h,0feb09740h,0a9e99704h,0627a2205h,0c2fbc565h,0ec8d73d0h,0c20c8de8h,0223eed8fh,0a8363b49h,01ee32583h,0c9c2b0a6h,01a0b6cb9h,090dbc85ch,049f7c3d2h,01ef4c1ach,0a8dfbb97h + DD 065c7c2abh,0afb34d4ch,0e2c5ea84h,01d4610e7h,0973c4ab5h,0893f6d1bh,0945ba5c4h,0a3cdd7e9h,0064417eeh,060514983h,0ad6bdf2bh,01459b23ch,05cf726c3h,023b2c341h,032d6354ah,03a829635h + DD 0ab192c18h,0294f901fh,07030164fh,0ec5fcbfeh,0e2246ba6h,0e2e2fcb7h,0221a1a0ch,01e7c88b3h,0c92d88c5h,072c7dd93h,01106fb59h,041c2148eh,0a0f60f14h,0547dd4f5h,063960f31h,0ed9b52b2h + DD 0b0a5b358h,06c8349ebh,09e7e2ed6h,0b154c5c2h,0eda462dbh,0cad5eccfh,02de66b69h,0f2d6dbe4h,08665e5b2h,0426aedf3h,07b7f5723h,0488a8513h,08bcbb386h,015cc43b3h,0d791d879h,027ad0af3h + DD 0846e364fh,0c16c236eh,0dea50ca0h,07f33527ch,00926b86dh,0c4810775h,00598e70ch,06c2a3609h,0f024e924h,0a6755e52h,09db4afcah,0e0fa07a4h,066831790h,015c3ce7dh,0a6cbb0d6h,05b4ef350h + DD 0b6205969h,02c4aafc4h,0f6c7854fh,042563f02h,01d983b48h,0016aced5h,099949755h,0feb356d8h,0d1a39bd7h,08c2a2c81h,0e6934ae9h,08f44340fh,0447904dah,0148cf91ch,00f51a926h,07340185fh + DD 07409ab46h,02f8f00fbh,080e289b2h,0057e78e6h,0a888e5d1h,003e5022ch,09dede4e2h,03c87111ah,07809460bh,05b9b0e1ch,071c9abc7h,0e751c852h,0c7cc1dc9h,08b944e28h,01d3cfa08h,04f201ffah + DD 03e6721ceh,002fc905ch,0d0b3674ch,0d52d70dah,018810da4h,05dc2e5cah,05c69dd99h,0a984b273h,084de5ca4h,063b92527h,0c852dec4h,02f1c9872h,0c2e3de09h,018b03593h,09813dc2fh,019d70b01h + DD 0a6dc1d29h,042806b2dh,0f871e144h,0d3030009h,0aaf49276h,0a1feb333h,0c70bc04bh,0b5583b9eh,095695f20h,01db0be78h,089d012b5h,0fc841811h,005f61643h,06409f272h,0d5883128h,040d34174h + DD 067419833h,0d79196f5h,0863b7b08h,06059e252h,01c56700ch,084da1817h,0b28d3ec4h,05758ee56h,0013b0ea6h,07da2771dh,054c5e9b9h,0fddf524bh,024305d80h,07df4faf8h,03a97763fh,058f5c1bfh + DD 07c696042h,0a5af37f1h,04a2538deh,0d4cba22ch,09ea42600h,0211cb995h,07b069889h,0cd105f41h,0ddb81e74h,0b1e1cf19h,05157b8cah,0472f2d89h,0ee9db885h,0086fb008h,00f26d131h,0365cd570h + DD 0a2be7053h,0284b02bbh,07ab9a6d6h,0dcbbf7c6h,020f7a530h,04425559ch,0188767c8h,0961f2dfah,070dc80c4h,0e2fd9435h,0f0784120h,0104d6b63h,053567122h,07f592bc1h,0f688ad77h,0f6bc1246h + DD 00f15dde9h,005214c05h,00d5f2b82h,0a47a76a8h,062e82b62h,0bb254d30h,03ec955eeh,011a05fe0h,09d529b36h,07eaff46eh,08f9e3df6h,055ab1301h,099317698h,0c463e371h,0ccda47adh,0fd251438h + DD 023d695eah,0ca9c3547h,016e589b5h,048ce626eh,0b187d086h,06b5b64c7h,0b2207948h,0d02e1794h,07198111dh,08b58e98fh,0dcf9c3cch,090ca6305h,0f34089b0h,05691fe72h,0fc7c80ffh,060941af1h + DD 022eb51e5h,0a09bc0a2h,0aa9cf09ah,0c0bb7244h,080159f06h,036a8077fh,0dddc560eh,08b5c989eh,0512e1f43h,019d2f316h,0ad08ff62h,002eac554h,007d20b4eh,0012ab84ch,0d6d4e4e1h,037d1e115h + DD 0ab7b19a8h,0b6443e1ah,0def8cd45h,0f08d067eh,0685e03dah,063adf3e9h,04792b916h,0cf15a10eh,0b738a425h,0f44bcce5h,09636b2fdh,0ebe131d5h,07850d605h,094068841h,0b40d749dh,009684eaah + DD 072ba075bh,08c3c669ch,0ba469015h,089f78b55h,03e9f8ba8h,05706aadeh,0b32d7ed7h,06d8bd565h,0805f08d6h,025f4e63bh,0c3bcc1b5h,07f48200dh,0b025d847h,04e801968h,087cbe0a8h,074afac04h + DD 07e63d690h,043ed2c2bh,00223cdb8h,0efb6bbf0h,02884d3feh,04fec3caeh,0d75e25a4h,0065ecce6h,069f79071h,06c2294ceh,0044b8666h,00d9a8e5fh,017b69d8fh,05009f238h,0c5dfdaf7h,03c29f8feh + DD 0ebae68c4h,09067528fh,030c5ba21h,05b385632h,01fdd1aech,0540df119h,0cfba4c78h,0cf37825bh,0beb11454h,077eff980h,060c1b066h,040a1a991h,0f889a1c7h,0e8018980h,076c24be0h,0b9c52ae9h + DD 045650ef4h,005fbbcceh,08aa29ac7h,0ae000f10h,04f04c470h,0884b7172h,019bb5c25h,07cd4fde2h,0e8840869h,06477b22ah,05fbd0686h,0a8868859h,01116dfbah,0f23cc02eh,0d87d7776h,076cd563fh + DD 0a9d82abfh,0e2a37598h,0e6c170f5h,05f188ccbh,05066b087h,081682200h,0c7155adah,0da22c212h,0fbddb479h,0151e5d3ah,06d715b99h,04b606b84h,0f997cb2eh,04a73b54bh,03ecd8b66h,09a1bfe43h + DD 02a67d48ah,01c312809h,0031fa9e2h,0cd6a671eh,00e43a34ah,0bec3312ah,055ef47d3h,01d935639h,08fea73eah,05ea02489h,0a035afb2h,08247b364h,05265b54ch,0b58300a6h,0722c7148h,03286662fh + DD 0b4ec4c20h,0b77fd76bh,00f3fe3fdh,0f0a12fa7h,041d8c7e8h,0f845bbf5h,05ec10aa8h,0e4d969cah,043e232a3h,04c0053b7h,037f8a45ah,0dc7a3fach,020d81c8fh,03c4261c5h,0b00eab00h,0fd4b3453h + DD 0d36e3062h,076d48f86h,0a143ff02h,0626c5277h,0af76f42eh,0538174deh,06407ceach,02267aa86h,072e572d5h,0fad76351h,0ba7330ebh,0ab861af7h,0418d8657h,0a0a1c8c7h,020289a52h,0988821cbh + DD 0cccc18adh,079732522h,0f1a6e027h,0aadf3f8dh,017c2354dh,0f7382c93h,0d818b689h,05ce1680ch,0d9ecbee9h,0359ebbfch,01cae62ach,04330689ch,0c51ac38ah,0b55ce5b4h,0fe238ee8h,07921dfeah + DD 0271d1ca5h,03972bef8h,0e8aabd18h,03e423bc7h,044a3e5e3h,057b09f3fh,07b444d66h,05da886aeh,0a9964375h,068206634h,0699cd0ffh,0356a2fa3h,0dba515e9h,0af0faa24h,0b321d79ah,0536e1f5ch + DD 05c04e4eah,0d3b9913ah,0d6f11513h,0d549dcfeh,079fd1d94h,0ee227bf5h,0b43f2c67h,09f35afeeh,0f1314f53h,0d2638d24h,0cabcd822h,062baf948h,04ef48db0h,05542de29h,0fc5f6bb2h,0b3eb6a04h + DD 01208e16ah,023c110aeh,0f8363e24h,01a4d15b5h,0164be00bh,030716844h,0f6f4690dh,0a8e24824h,090b170cfh,0548773a2h,042f191f4h,0a1bef331h,09247aa97h,070f418d0h,048be9147h,0ea06028eh + DD 0dbfb894eh,0e13122f3h,0ce274b18h,0be9b79f6h,0ca58aadfh,085a49de5h,011487351h,024957758h,0bb939099h,0111def61h,026d13694h,01d6a974ah,0d3fc253bh,04474b4ceh,04c5db15eh,03a1485e6h + DD 0147c15b4h,0e79667b4h,07bc61301h,0e34f553bh,017094381h,0032b80f8h,0723eaa21h,055d8bafdh,0f1c0e74eh,05a987995h,0ebba289ch,05a9b292eh,0eb4c8251h,0413cd4b2h,0d162db0ah,098b5d243h + DD 068342520h,0bb47bf66h,0baa862d1h,008d68949h,0e906abcdh,011f349c7h,0ed7bf00eh,0454ce985h,0b55b803bh,0acab5c9eh,031e3c16dh,0b03468eah,0d273bf12h,05c24213dh,071587887h,0211538ebh + DD 0731dea2dh,0198e4a2fh,074ed7b2ah,0d5856cf2h,013a664feh,086a632ebh,0bda41291h,0932cd909h,0c0c4ddc0h,0850e95d4h,0347fc2c9h,0c0f422f8h,086076bcbh,0e68cbec4h,0cd6cd286h,0f9e7c0c0h + DD 00f5f27cah,065994ddbh,0a80d59ffh,0e85461fbh,066601023h,0ff05481ah,0fc9ebbfbh,0c665427ah,07587fd52h,0b0571a69h,08d49efceh,0935289f8h,0ea420688h,061becc60h,013a786afh,0b22639d9h + DD 0361ecf90h,01a8e6220h,025506463h,0001f23e0h,00a5c2b79h,0e4ae9b5dh,0d8149db5h,0ebc9cdadh,0934aa728h,0b33164a1h,0ae9b60f3h,0750eb00eh,09b9cfbfdh,05a91615bh,0ef45f7f6h,097015cbfh + DD 0bf5151dfh,0b462c4a5h,0b07118f2h,021adcc41h,0043fa42ch,0d60c545bh,0e96be1abh,0fc21aa54h,04e51ea80h,0e84bc32fh,0259b5d8dh,03dae45f0h,0c38f1b5eh,0bb73c7ebh,0e8ae617dh,0e405a74ah + DD 09f1c56bdh,0bb1ae9c6h,049f196a4h,08c176b98h,06875092bh,0c448f311h,09f976033h,0b5afe3deh,0145813e5h,0a8dafd49h,0e2b34226h,0687fc4d9h,04c7ff57fh,0f2dfc92dh,0401f1b46h,0004e3fc1h + DD 01430c9abh,05afddab6h,02238e997h,00bdd41d3h,0418042aeh,0f0947430h,0cdddc4cbh,071f9addah,0c52dd907h,07090c016h,029e2047fh,0d9bdf44dh,01b1011a6h,0e6f1fe80h,0d9acdc78h,0b63accbch + DD 01272a95bh,0cfc7e235h,0a6276ac8h,00c667717h,0e2d7eef7h,03c0d3709h,09a685b3eh,05add2b06h,014ea5d65h,0363ad32dh,08d7dd506h,0f8e01f06h,075b4aac6h,0c9ea2213h,00d353466h,0ed2a2bf9h + DD 0e9d3a7c3h,0439d79b5h,081b7f34bh,08e0ee5a6h,01dc4ba75h,0cf3dacf5h,0eb3310c7h,01d3d1773h,07747ae83h,0a8e67112h,0197d6b40h,031f43160h,0cd961400h,00521cceeh,0f6535768h,067246f11h + DD 0ef0c3133h,0702fcc5ah,07e16693bh,0247cc45dh,0c729b749h,0fd484e49h,0b218320fh,0522cef7dh,059ab93b3h,0e56ef405h,09f181071h,0225fba11h,015330ed0h,033bd6595h,01ddb32f7h,0c4be69d5h + DD 00448087ch,0264c7668h,071432daeh,0ac30903fh,000f9bf47h,03851b266h,06cdd6d03h,0400ed311h,0f8fd2424h,0045e79feh,0fa6da98bh,0fdfd974ah,00c1e673ah,045c9f641h,05b2c5168h,076f2e733h + DD 02a601753h,01adaebb5h,0c57c2d49h,0b286514ch,01e0bfd24h,0d8769670h,004478922h,0950c547eh,0e5d32bfeh,0d1d41969h,0750d6c3eh,030bc1472h,0e0e27f3ah,08f3679feh,0a4a6ee0ch,08f64a7dch + DD 0633dfb1fh,02fe59937h,0977f2547h,0ea82c395h,0661ea646h,0cbdfdf1ah,0b9085451h,0c7ccc591h,081761e13h,082177962h,09196885ch,0da57596fh,028ffbd70h,0bc17e849h,02671d36fh,01e6e0a41h + DD 04152fcf5h,061ae872ch,09e77e754h,0441c87b0h,0a34dff09h,0d0799dd5h,088a6b171h,0766b4e44h,011f1c792h,0dc06a512h,04be35c3eh,0ea02ae93h,0e90c469eh,0e5ca4d6dh,056e4ff5ch,04df4368eh + DD 04baef62eh,07817acabh,0a85b91e8h,09f5a2202h,06ce57610h,09666ebe6h,0f73bfe03h,032ad31f3h,025bcf4d6h,0628330a4h,0515056e6h,0ea950593h,0e1332156h,059811c89h,08c11b2d7h,0c89cf1feh + DD 004e60cc0h,075b63913h,04625d375h,0ce811e8dh,02d26e562h,0030e43fch,0608d36a0h,0fbb30b4bh,048528118h,0634ff82ch,0cd285911h,07c6fe085h,099358f28h,07f2830c0h,0665e6c09h,02e60a95eh + DD 09b785dbfh,008407d3dh,0a759bce7h,0530889abh,052f61239h,0f228e0e6h,06879be3ch,02b6d1461h,051a7bbf7h,0e6902c04h,076f24a64h,030ad99f0h,098bc6da0h,066d9317ah,0cb596ac0h,0f4f877f3h + DD 04c44f119h,0b05ff62dh,0e9b77416h,04555f536h,08caed63bh,0c7c0d059h,0c358b2a9h,00cd2b7ceh,046945fa3h,03f33287bh,0d67c8791h,0f8785b20h,09637bd08h,0c54a7a61h,018be79d7h,054d4598ch + DD 0c46d7ce1h,0889e5acbh,08b085877h,09a515bb7h,00b7a5050h,0fac1a03dh,0f2926035h,07d3e738ah,02a6cb0ebh,0861cc2ceh,08f7adc79h,06f2e2955h,033016376h,061c4d451h,05ad59090h,0d9fd2c80h + DD 0b2b836a1h,0e5a83738h,07c0d6622h,0855b41a0h,07cc19af1h,0186fe317h,0fdd99acbh,06465c1ffh,06974b99eh,046e5c23fh,0a2717cbeh,075a7cf8bh,0062be658h,04d2ebc3fh,05f209c98h,0094b4447h + DD 0b940cb5ah,04af285edh,07cc82f10h,06706d792h,0030526fah,0c8c8776ch,0a0da9140h,0fa8e6f76h,0591ee4f0h,077ea9d34h,040274166h,05f46e337h,0ea671457h,01bdf98bbh,0862a1fe2h,0d7c08b46h + DD 01c08ad63h,046cc303ch,04c845e7bh,099543440h,048f36bf7h,01b8fbdb5h,08c8273a7h,05b82c392h,0928435d5h,008f712c4h,079330380h,0071cf0f1h,0a8da054ah,0c74c2d24h,043c46b5ch,0cb0e7201h + DD 0c0b7eff3h,00ad7337ah,0c5e48b3ch,08552225eh,073f13a5fh,0e6f78b0ch,082349cbeh,05e70062eh,0e7073969h,06b8d5048h,0c33cb3d2h,0392d2a29h,04ecaa20fh,0ee4f727ch,02ccde707h,0a068c99eh + DD 0b87a2913h,0fcd5651fh,03cc252f0h,0ea3e3c15h,03b6cd3e4h,0777d92dfh,0c5a732e7h,07a414143h,0a71ff493h,0a895951ah,0bbd37cf6h,0fe980c92h,0decfeeffh,045bd5e64h,0a44c43e9h,0910dc2a9h + DD 0cca9f54dh,0cb403f26h,09303f6dbh,0928bbdfbh,0a9eee67ch,03c37951eh,0f79961c3h,03bd61a52h,0395c9a79h,009a238e6h,061eb352dh,06940ca2dh,0c1875631h,07d1e5c5eh,01e1b20d1h,01e19742ch + DD 023fc2e6eh,04633d908h,008959149h,0a76e29a9h,084ed7da5h,061069d9ch,05dbcad51h,00baa11cfh,0961849dah,0d01eec64h,0af3d8c28h,093b75f1fh,01ca2ee44h,057bc4f9fh,000e00558h,05a26322dh + DD 061a023efh,01888d658h,0b9e5246eh,01d72aab4h,0e5563ec0h,0a9a26348h,0c3439a43h,0a0971963h,0adb9b5b7h,0567dd54bh,0c45a524bh,073fac1a1h,0fe38e608h,08fe97ef7h,03f384f48h,0608748d2h + DD 0c486094fh,0b0571794h,08bf3a8d6h,0869254a3h,0310b0e25h,0148a8dd1h,09aa3f7d8h,099ab9f3fh,06706c02eh,00927c68ah,069790e6ch,022b5e76ch,06c71376ch,06c325260h,009ef6657h,053a57690h + DD 0edffcf3ah,08d63f852h,03c0a6f55h,0b4d2ed04h,012519b9eh,0db3aa8deh,01e0a569ah,05d38e9c4h,0303747e2h,0871528bfh,0f5b5c18dh,0a208e77ch,0ca6bf923h,09d129c88h,0bf02839fh,0bcbf197fh + DD 027323194h,09b9bf030h,0339ca59dh,03b055a8bh,00f669520h,0b46b2312h,0497e5f24h,019789f1fh,0aaf01801h,09c499468h,08b69d59ch,072ee1190h,0acf4c079h,08bd39595h,08e0cd048h,03ee11eceh + DD 01ed66f18h,0ebde86ech,0d61fce43h,0225d906bh,0e8bed74dh,05cab07d6h,027855ab7h,016e4617fh,0b2fbc3ddh,06568aaddh,08aeddf5bh,0edb5484fh,06dcf2fadh,0878f20e8h,0615f5699h,03516497ch + DD 0fa181e69h,0ef0a3fech,030d69a98h,09ea02f81h,066eab95dh,0b2e9cf8eh,024720021h,0520f2bebh,01df84361h,0621c540ah,071fa6d5dh,012037721h,00ff5f6ffh,06e3c7b51h,0abb2bef3h,0817a069bh + DD 0b294cda6h,083572fb6h,0b9039f34h,06ce9bf75h,0095cbb21h,020e012f0h,0d063f0dah,0a0aecc1bh,0f02909e5h,057c21c3ah,048ce9cdch,0c7d59ecfh,08ae336f8h,02732b844h,03f4f85f4h,0056e3723h + DD 089e800cah,08a10b531h,0145208fdh,050fe0c17h,0b714ba37h,09e43c0d3h,034189acch,0427d200eh,0e616e2c0h,005dee24fh,0ee1854c1h,09c25f4c8h,08f342a73h,04d3222a5h,0a027c952h,00807804fh + DD 04f0d56f3h,0c222653ah,0ca28b805h,0961e4047h,04a73434bh,02c03f8b0h,0ab712a19h,04c966787h,0864fee42h,0cc196c42h,05b0ece5ch,0c1be93dah,0c131c159h,0a87d9f22h,0dce45655h,02bb6d593h + DD 0b809b7ceh,022c49ec9h,0e2c72c2ch,08a41486bh,0fea0bf36h,0813b9420h,0a66dac69h,0b3d36ee9h,0328cc987h,06fddc08ah,03a326461h,00a3bcd2ch,0d810dbbah,07103c49dh,04b78a4c4h,0f9d81a28h + DD 0e4d55941h,03de865adh,030384087h,0dedafa5eh,04ef18b9bh,06f414abbh,0faee5268h,09ee9ea42h,037a55a4ah,0260faa16h,0015f93b9h,0eb19a514h,09e9c3598h,051d7ebd2h,01932178eh,0523fc56dh + DD 0b98fe684h,0501d070ch,0124a1458h,0d60fbe9ah,092bc6b3fh,0a45761c8h,0fe6f27cbh,0f5384858h,0b59e763bh,04b0271f7h,05b5a8e5eh,03d4606a9h,005a48292h,01eda5d9bh,0e6fec446h,0da7731d0h + DD 090d45871h,0a3e33693h,006166d8dh,0e9764040h,089a90403h,0b5c33682h,072f1d637h,04bd17983h,0d5d2c53ah,0a616679eh,0fdcf3b87h,05ec4bcd8h,0b66a694eh,0ae6d7613h,0e3fc27e5h,07460fc76h + DD 095caabeeh,070469b82h,0889501e3h,0de024ca5h,0076ed265h,06bdadc06h,05a0ef8b2h,00cb1236bh,00972ebf9h,04065ddbfh,022aca432h,0f1dd3875h,0744aff76h,0a88b97cfh,0fe8e3d24h,0d1359afdh + DD 091502cf3h,052a3ba2bh,0084db75dh,02c3832a8h,0de30b1c9h,004a12dddh,0e31fd60ch,07802eabch,0a37fddabh,033707327h,0faafa973h,065d6f2abh,011e6f91ah,03525c5b8h,05f46530bh,076aeb0c9h + DD 02f93a675h,0e8815ff6h,005f48679h,0a6ec9684h,0358ae884h,06dcbb556h,0e19e3873h,00af61472h,0a5f696beh,072334372h,06f22fb70h,0c65e57eah,0946cea90h,0268da30ch,065681b2ah,0136a8a87h + DD 00f9f44d4h,0ad5e81dch,02c46585ah,0f09a6960h,0c447d1b1h,0d1649164h,0879dc8b1h,03b4b36c8h,03b6b234ch,020d4177bh,01730d9d0h,0096a2505h,0ef80531dh,00611b9b8h,064bb495dh,0ba904b3bh + DD 093a3147ah,01192d9d4h,09a565545h,09f30a5dch,06ef07212h,090b1f9cbh,00d87fc13h,029958546h,0c17db9bah,0d3323effh,0cb1644a8h,0cb18548ch,04f49ffbch,018a306d4h,04c2e8684h,028d658f1h + DD 0a99f8c71h,044ba60cdh,04bf742ffh,067b7abdbh,0914b3f99h,066310f9ch,0f412c161h,0ae430a32h,088ace52fh,01e6776d3h,052d7067dh,04bc0fa24h,08f07cd1bh,003c286aah,0a985b2c1h,04cb8f38ch + DD 08c3bff36h,083ccbe80h,05263e575h,0005a0bd2h,0259bdcd1h,0460d7ddah,0fa5cab6bh,04a1c5642h,09fe4fc88h,02b7bdbb9h,0cc97bbb5h,009418e28h,0a12321aeh,0d8274fb4h,05c87b64eh,0b137007dh + DD 0c63c4962h,080531fe1h,0981fdb25h,050541e89h,0fd4c2b6bh,0dc1291a1h,0a6df4fcah,0c0693a17h,00117f203h,0b2c4604eh,00a99b8d0h,0245f1963h,0c6212c44h,0aedc20aah,0520f52a8h,0b1ed4e56h + DD 0f8547be3h,0fe48f575h,0a9e45f98h,00a7033cdh,018c50100h,04b45d3a9h,0a61d41dah,0b2a6cd6ah,057933c6bh,060bbb4f5h,02b0d7ffch,0a7538ebdh,08cd626b6h,09ea3ab8dh,03601625ah,08273a484h + DD 00168e508h,088859845h,099a94abdh,08cbc9bb2h,0fab0a671h,0713ac792h,06c9ebffch,0a3995b19h,01239e152h,0e711668eh,0bbb8dff4h,056892558h,0dbf17963h,08bfc7dabh,0b3de1253h,05b59fe5ah + DD 034a9f7aeh,07e3320ebh,0d751efe4h,0e5e8cf72h,0d9be2f37h,07ea003bch,0b6c08ef7h,0c0f551a0h,0038f6725h,056606268h,06d92d3b6h,01dd38e35h,0c3cbd686h,007dfce7ch,0651c5da8h,04e549e04h + DD 008b19340h,04058f93bh,0cac6d89dh,0c2fae6f4h,08f159cc7h,04bad8a8ch,0cb0b601ch,00ddba4b3h,01dd95f8ch,0da4fc7b5h,0cea5c255h,01d163cd7h,0274a8c4ch,030707d06h,02802e9ceh,079d9e008h + DD 0e6ddd505h,002a29ebfh,0b50bed1ah,037064e74h,0a7327d57h,03f6bae65h,0f83920bch,03846f5f1h,060df1b9bh,087c37491h,02d1da29fh,04cfb2895h,04ed1743ch,010a478cah,03edd47c6h,0390c6030h + DD 08c0a78deh,08f3e5312h,01e85df70h,0ccd02bdah,0a61b6582h,0d6c75c03h,0fc0eebd1h,00762921ch,0d85010c0h,0d34d0823h,00044cf1fh,0d73aaacbh,0a3b5e78ah,0fb4159bbh,0e5826f3fh,02287c7f7h + DD 0580b1a01h,04aeaf742h,060423b79h,0f080415dh,0a7dea144h,0e12622cdh,059d62472h,049ea4996h,0571f3913h,0b42991efh,0f5b25a8ah,00610f214h,030b79e8fh,047adc585h,007a065a2h,0f90e3df6h + DD 043e2e034h,05d0a5debh,0444024aah,053fb5a34h,06b0c9f7fh,0a8628c68h,0ac563656h,09c69c29ch,0bace47b6h,05a231febh,09ea5a2ech,0bdce0289h,09463853eh,005da1fach,0509e78aah,096812c52h + DD 057151692h,0d3fb5771h,0d98e1c44h,0eb2721f8h,032399be1h,0c0506087h,0d979d8b8h,0da5a5511h,0c6f56780h,0737ed55dh,00dc7a7f4h,0e20d3004h,0f5941a03h,002ce7301h,0ed30f83ah,091ef5215h + DD 04092d85fh,028727fc1h,05c49e41ah,072d223c6h,0ba6a4d81h,0a7cf30a2h,0b030d87dh,07c086209h,0fc588b09h,004844c7dh,05874bbb0h,0728cd499h,0e84c0495h,0cc1281eeh,0ec31958fh,00769b5bah + DD 0f99c2471h,0665c228bh,0191eb110h,0f2d8a11bh,0d36d7024h,04594f494h,0cdcb25a1h,0482ded8bh,0dadd4885h,0c958a9d8h,0f1d2b547h,07004477eh,02a0af550h,00a45f6efh,02f8d6351h,04fc739d6h + DD 0786f08a9h,075cdaf27h,042c2737fh,08700bb26h,01c4e2670h,0855a7141h,015076fefh,0810188c1h,0abcd3297h,0c251d0c9h,0f48108ebh,0ae4c8967h,018ceed30h,0bd146de7h,0c986bcedh,0f9d4f07ah + DD 083fa1e08h,05ad98ed5h,0beabd1fbh,07780d33eh,0903b1196h,0e330513ch,0a47bc8c4h,0ba11de9eh,002c2d064h,0684334dah,0a48de23bh,07ecf360dh,00a9089d8h,057a1b474h,0ff36734ch,0f28fa439h + DD 0ea4570b3h,0f2a482cbh,0a5ebcee9h,0ee65d68bh,0b9694cd5h,0988d0036h,037885d32h,053edd0e9h,0beb9bc6dh,0e37e3307h,09f5c6768h,0e9abb907h,051f2160fh,04396ccd5h,047336da6h,02500888ch + DD 0926fce43h,0383f9ed9h,004da2930h,0809dd1c7h,08a4cb227h,030f6f596h,073a56b38h,00d700c7fh,0ab64a065h,01825ea33h,01338df80h,0aab9b735h,09b63f57fh,01516100dh,027a6a634h,02574395ah + DD 0700a1acdh,0b5560fb6h,0fd999681h,0e823fd73h,06cb4e1bah,0da915d1fh,06ebe00a3h,00d030118h,089fca8cdh,0744fb0c9h,0f9da0e0bh,0970d01dbh,07931d76fh,00ad8c564h,0f659b96ah,0b15737bfh + DD 0a8b484e7h,0dc9933e8h,07a26dec7h,0b2fdbdf9h,09f1f0136h,02349e9a4h,070fddddbh,07860368eh,0f9ad3e18h,0d93d2c1ch,0689f4e79h,06d6c5f17h,0b24ff1b6h,07a544d91h,0fe16cd8ch,03e12a5ebh + DD 0a56b872fh,0543574e9h,0fcf68ea2h,0a1ad550ch,03f560ef7h,0689e37d2h,0c9d47a8bh,08c54b9cah,0088ac342h,046d40a4ah,01576c6d0h,0ec450c7ch,01f9689e9h,0b589e31ch,0b8781718h,0dacf2602h + DD 0c8cb6b42h,0a89237c6h,0b96ef381h,01326fc93h,0b5f07825h,055d56c6dh,07449e22dh,0acba2eeah,0633c3000h,074e0887ah,0d7cbcf71h,0cb6cd172h,0c36cf1beh,0309e81deh,060ae399bh,007a18a6dh + DD 09edce57eh,0b36c2679h,0df001d41h,052b892f4h,016a1f2c6h,0d884ae5dh,0efcc370ah,09b329424h,0bd2e21dfh,03120daf2h,002470a99h,055298d2dh,0a05db32eh,00b78af6ch,0601f5636h,05c76a331h + DD 0f8a4f29ch,0aae861ffh,0d68f8d49h,070dc9240h,081b1321ch,0960e649fh,08792e4ceh,03d2c801bh,042521876h,0f479f772h,0416c79b1h,00bed93bch,0263e5bc9h,0a67fbc05h,0521db049h,001e8e630h + DD 0c6f3431eh,076f26738h,0e3267541h,0e609cb02h,0818c877ch,0b10cff2dh,0786a13cbh,01f0e75ceh,01158544dh,0f4fdca64h,06cb71ed0h,05d777e89h,0a9aa4755h,03c233737h,0e527ab40h,07b453192h + DD 039f05ffeh,0db59f688h,06d82574eh,08f4f4be0h,0ee292d1bh,0cce3450ch,061ccd086h,0aa448a12h,0f7914967h,0abce91b3h,01908a5edh,04537f09bh,0f51042e7h,0a812421eh,0ec0b3a34h,0faf5cebch + DD 04ca6b39ah,0730ffd87h,002efd342h,070fb72edh,0d75c8edbh,0eb4735f9h,0c278aa51h,0c11f2157h,0bf3bfebfh,0c459f635h,06bd9601fh,03a1ff0b4h,0c420cb73h,0c9d12823h,03c2915a3h,03e9af3e2h + DD 0b41c3440h,0e0c82c72h,0e3039a5fh,0175239e5h,0558795a3h,0e1084b8ah,0d01e5c60h,0328d0a1dh,0d3788a04h,00a495f2eh,066c11a9fh,025d8ff16h,09ed692d6h,0f5155f05h,04f425fe4h,0954fa107h + DD 0e98aaa99h,0d16aabf2h,096b0f88ah,090cd8ba0h,0c154026ah,0957f4782h,052af56d2h,054ee0734h,045b4147ah,0bcf89e54h,09a52816ch,03d102f21h,039b62e77h,06808517eh,069169ad8h,092e25421h + DD 0bb608558h,0d721d871h,0f6d4ff9bh,060e4ebaeh,041f2763eh,00ba10819h,051ee3247h,0ca2e45beh,02bfd7a5fh,066d172ech,074d0b12dh,0528a8f2fh,0dabe70dch,0e17f1e38h,09f93983ch,01d5d7316h + DD 0df423e31h,051b2184ah,0aedb1a10h,0cb417291h,0625bcab9h,02054ca93h,0a98998f0h,054396860h,0a54ae57eh,04e53f6c4h,0ee648e9dh,00ffeb590h,06afaf6bch,0fbbdaadch,0aa3bfb8ah,0f88ae796h + DD 0d2359ed9h,0209f1d44h,0f3544ce2h,0ac68dd03h,0fd51e569h,0f378da47h,02cc80097h,0e1abd860h,0343b6e3ah,023ca18d9h,0b40a1baeh,0480797e8h,0533f3e67h,0d1f0c717h,006e6cdfch,044896970h + DD 052a82e8dh,08ca21055h,078460cdch,0b2caf785h,0e9037178h,04c1b7b62h,0db514b58h,0efc09d2ch,09113be5ch,05f2df9eeh,0b3f9271ch,02fbda78fh,08f83fc54h,0e09a81afh,08afb5141h,006b13866h + DD 043e3865dh,038f6480fh,01ddf47d9h,072dd77a8h,04c205ff7h,0f2a8e971h,09d088ad8h,046d449d8h,0185d706fh,0926619eah,0c7dd7f62h,0e47e02ebh,08cbc2031h,0e7f120a7h,0998d4ac9h,0c18bef00h + DD 06bdf22dah,018f37a9ch,090dc82dfh,0efbc432fh,05d703651h,0c52cef8eh,0d99881a5h,082887ba0h,0b920ec1dh,07cec9ddah,0ec3e8d3bh,0d0d7e8c3h,04ca88747h,0445bc395h,09fd53535h,0edeaa2e0h + DD 06cc87475h,0461b1d93h,06d2383bdh,0d92a52e2h,0d7903546h,0fabccb59h,03d14b112h,06111a761h,0b3d5f612h,00ae584feh,060e828ech,05ea69b8dh,054087030h,06c078985h,0ac4821feh,0649cab04h + DD 08bdce214h,025ecedcfh,086af7361h,0b5622f72h,07038b9e2h,00e1227aah,0ac20fa77h,0d0efb273h,079df975bh,0817ff88bh,01999503eh,0856bf286h,05038ec46h,0b4d5351fh,0fc42af6eh,0740a52c5h + DD 02cbb1a3fh,02e38bb15h,017a83429h,0c3eb99feh,0dd66bb74h,0ca4fcbf1h,0cde5e8fch,0880784d6h,0b4e7a0beh,0ddc84c1ch,0bd15a72fh,08780510dh,081ec30e1h,044bcf1afh,00a61073eh,0141e50a8h + DD 047be87aeh,00d955718h,0f76a4372h,068a61417h,0c607c3d3h,0f57e7e87h,05252f332h,0043afaf8h,01552a4d2h,0cc14e121h,0bb4d4ab4h,0b6dee692h,0a03816a4h,0b6ab74c8h,06f394a29h,084001ae4h + DD 0d795fb45h,05bed8344h,0b79f55a5h,057326e7dh,04accdffch,0c9533ce0h,03993fa04h,053473cafh,0a13df4c8h,07906eb93h,097cbe46fh,0a73e51f6h,00ae4ccf8h,0d1ab3ae1h,08a5b3dbch,025614508h + DD 011a71b27h,061eff962h,06bb7fa39h,0df71412bh,02bd7f3efh,0b31ba6b8h,069180d29h,0b0b9c415h,0014cdde5h,0eec14552h,0227b4bbbh,0702c624bh,0d3e988f3h,02b15e8c2h,0a4f7fd04h,0ee3bcc6dh + DD 042ac6c85h,09d00822ah,01df9f2b7h,02db0cea6h,042de1e58h,0d7cad2abh,02d6fbb61h,0346ed526h,01a2faf09h,0b3962995h,07c25612eh,02fa8a580h,07cf56490h,030ae04dah,00eea3961h,075662908h + DD 03d080847h,03609f5c5h,05241d4f6h,0cb081d39h,077961a63h,0b4fb3810h,02abb66fch,0c20c5984h,0f902f245h,03d40aa7ch,04e536b1eh,09cb12736h,099b3134fh,05eda24dah,05cd011afh,0afbd9c69h + DD 0c7088c7dh,09a16e30ah,03207389fh,05ab65710h,0e7407a53h,01b09547fh,04fdc6eabh,02322f9d7h,07430de4dh,0c0f2f22dh,0e68ca9a9h,019382696h,0918e5868h,017f1eff1h,0586f4204h,0e3b5b635h + DD 03fbc4341h,0146ef980h,05b5eed4eh,0359f2c80h,07482e41dh,09f35744eh,0f3b224c2h,09a9ac3ech,091fc50aeh,09161a6feh,0c613fa7ch,089ccc66bh,0c732f15ah,089268b14h,0b467ed03h,07cd6f4e2h + DD 0ce56b40eh,0fbf79869h,0c02dde98h,0f93e094ch,0edee2cd7h,0efe0c3a8h,0b268fd42h,090f3ffc0h,008241aedh,081a7fd56h,000b1afe8h,095ab7ad8h,03e310d52h,040127056h,009d9fc43h,0d3ffdeb1h + DD 0d11a8594h,0c8f85c91h,031cf6db8h,02e74d258h,002b5dfd0h,0829c7ca3h,069143c86h,0e389cfbeh,0941768d8h,0d01b6405h,003bf825dh,045103995h,056cd17e2h,0cc4ee166h,0ba037e79h,0bea3c283h + DD 0d9a47520h,04e1ac06eh,0af852404h,0fbfe18aah,08087648ah,05615f8e2h,0b9d150d9h,07301e47eh,0b299b977h,079f9f9ddh,0a5b78314h,076697a7bh,07d7c90e7h,010d67468h,0937210b5h,07afffe03h + DD 028c22ceeh,05aef3e4bh,009fd55aeh,0efb0ecd8h,00d2a5d6ah,04cea7132h,001db6357h,09cfb5fa1h,0f36e1ac5h,0395e0b57h,036cafb7dh,0008fa9adh,05308c4dbh,08f6cdf70h,095ed2477h,051527a37h + DD 05bd21311h,0ba0dee30h,0909c90d7h,06ed41b22h,07c8696d3h,0c5f6b758h,03ce83a80h,00db8eaa8h,0b24b4b6fh,0d297fe37h,0522d1f0dh,0fe58afe8h,08c98dbd9h,097358736h,09454a527h,06bc226cah + DD 0ce53c2d0h,0a12b384eh,05e4606dah,0779d897dh,073ec12b0h,0a53e47b0h,05756f1adh,0462dbbbah,0cafe37b6h,069fe09f2h,0ecce2e17h,0273d1ebfh,03cf607fdh,08ac1d538h,012e10c25h,08035f7ffh + DD 07e6c5520h,0854d34c7h,0dcb9ea58h,0c27df9efh,0d686666dh,0405f2369h,00417aa85h,029d1febfh,093470afeh,09846819eh,0e2a27f9eh,03e6a9669h,0e31e6504h,024d008a2h,09cb7680ah,0dba7cecfh + DD 0338d6e43h,0ecaff541h,04541d5cch,056f7dd73h,096bc88cah,0b5d426deh,09ed3a2c3h,048d94f6bh,02ef8279ch,06354a3bbh,00b1867f2h,0d575465bh,095225151h,0ef99b0ffh,0f94500d8h,0f3e19d88h + DD 0e32dd620h,092a83268h,0627849a2h,0913ec99fh,02c378882h,0edd8fdfah,0ee6f8cfeh,0af96f33eh,0dc3fa8a5h,0c06737e5h,0b0b03a1dh,0236bb531h,089f037b0h,033e59f29h,0d9a12a53h,013f9b5a7h + DD 051efb310h,00d0df6ceh,0958df5beh,0cb5b2eb4h,036158e59h,0d6459e29h,01466e336h,082aae2b9h,0411aa636h,0fb658a39h,0d4c0a933h,07152ecc5h,049f026b7h,0f10c758ah,0cb09311fh,0f4837f97h + DD 0c753c45fh,0ddfb02c4h,0f9c840feh,018ca81b6h,0b0f8a3e6h,0846fd09ah,0e7733dbch,0b1162addh,0236e3ab6h,07070ad20h,0b2a56326h,0f88cdaf5h,0997cbc7ah,005fc8719h,04b665272h,0442cd452h + DD 0b71698f5h,07807f364h,09f7b605eh,06ba418d2h,0a03b2cbbh,0fd20b00fh,0da54386fh,0883eca37h,0f3437f24h,0ff0be43fh,0a48bb33ch,0e910b432h,0329df765h,04963a128h,0be2fe6f7h,0ac1dd556h + DD 024a0a3fch,0557610f9h,0e881c3f9h,038e17bf4h,0ed0dac99h,06ba84fafh,059eeb918h,0d4a222c3h,013f542b6h,0c79c1dbeh,0e425d457h,01fc65e0dh,01debb779h,0effb754fh,09e08af60h,0638d8fd0h + DD 0626332d5h,0994f523ah,05561bb44h,07bc38833h,03d845ea2h,0005ed4b0h,0c2a1f08ah,0d39d3ee1h,0e7676b0dh,06561fdd3h,0fb706017h,0620e35ffh,0f264f9a8h,036ce424fh,0da2681f7h,0c4c3419fh + DD 069beb6e8h,0fb6afd2fh,06d700d03h,03a50b993h,00c83a14fh,0c840b2adh,054085befh,0573207beh,009fe7e5bh,05af882e3h,03b40a7e1h,0957678a4h,0543056e2h,0172d4bddh,00df13c0ah,09c1b26b4h + DD 0f405ff06h,01c30861ch,0486e828bh,0ebac86bdh,0636933fch,0e791a971h,07aeee947h,050e7c2beh,0fa90d767h,0c3d4a095h,0e670ab7bh,0ae60eb7bh,0397b056dh,017633a64h,0105012aah,093a21f33h + DD 0abb88643h,0663c370bh,022e21599h,091df36d7h,08b761671h,0183ba835h,0728f3bf1h,0381eea1dh,039966e6ch,0b9b2f1bah,0e7295492h,07c464a28h,009b26b7fh,00fd5f70ah,0fbe009dfh,0a9aba1f9h + DD 0369b87adh,0857c1f22h,032fca556h,03c00e5d9h,090b06466h,01ad74cabh,0550faaf2h,0a7112386h,06d9bd5f5h,07435e198h,059c3463fh,02dcc7e38h,0ca7bd4b2h,0dc7df748h,09dec2f31h,013cd4c08h + DD 0e3237710h,00d3b5df8h,0cbd2f7b0h,00dadb26eh,0e4aa082bh,09f5966abh,0350e966eh,0666ec8deh,0ee524216h,01bfd1ed5h,041dab0b6h,0cd93c59bh,0d186d6bah,0658a8435h,0159d1195h,01b7d34d2h + DD 022caf46bh,05936e460h,09a96fe4fh,06a45dd8fh,0b98f474eh,0f7925434h,00053ef15h,041410412h,041de97bfh,071cf8d12h,0bd80bef4h,0b8547b61h,0c4db0037h,0b47d3970h,0fef20dffh,0f1bcd328h + DD 010caad67h,031a92e09h,05531a1e1h,01f591960h,05f4fc840h,03bb852e0h,093a72c6ch,063e297cah,049abad67h,03c2b0b2eh,0ed3db0d9h,06ec405fch,07fef1d40h,0dc14a530h,0280896fch,0ccd19846h + DD 09bb81648h,000f83176h,0653120d0h,0d69eb485h,04ccabc62h,0d17d75f4h,0b749fcb1h,034a07f82h,0bbfb5554h,02c3af787h,062e283f8h,0b06ed4d0h,0a19213a0h,05722889fh,0dcf3c7b4h,0162b085eh + DD 0e0dd3ecah,0bcaecb31h,0e52f13a5h,0c6237fbch,027bac297h,0cc2b6b03h,0b917f54ah,02ae1cac5h,07845ae4fh,0474807d4h,0ce5972e0h,0fec7dd92h,01d7915bbh,0c3bd2541h,0d94907cah,066f85dc4h + DD 0bdbcf0cah,0d981b888h,0df279e9fh,0d75f5da6h,07054e934h,0128bbf24h,081db134bh,03c6ff6e5h,0047d26e4h,0795b7cf4h,05049ec37h,0f370f7b8h,0ced945afh,0c6712d4dh,0095642bch,0df30b5ech + DD 04896246eh,09b034c62h,0ee90bbd1h,05652c016h,087fedb73h,0eb38636fh,00135a613h,05e32f847h,0cf933c83h,00703b312h,01a7f47e6h,0d05bb76eh,0949c2415h,0825e4f0ch,07250d6f8h,0569e5622h + DD 06568013eh,0bbe9eb3ah,022f243fch,08dbd203fh,0b342734ah,09dbd7694h,046afa984h,08f6d12f8h,0c9eade29h,0b98610a2h,047dd0f18h,0bab4f323h,0671c0d46h,05779737bh,0d3e0a42ah,010b6a7c6h + DD 03035b41ch,0fb19ddf3h,099c45895h,0d336343fh,054c857e5h,061fe4938h,0ae4e57d5h,0c4d506beh,0bbc33f75h,03cd8c8cbh,09262c77dh,07281f08ah,0f11a2823h,0083f4ea6h,09fba2e33h,08895041eh + DD 09c438edfh,0fcdfea49h,091edba44h,07678dcc3h,0e2ba50f0h,0f07b3b87h,043948c1bh,0c13888efh,01140af42h,0c2135ad4h,0926ed1a7h,08e5104f3h,088f6695fh,0f24430cbh,06d73c120h,00ce0637bh + DD 0fe631e8fh,0b2db01e6h,0d7bdd24bh,01c5563d7h,0369ad44fh,08daea3bah,08187a9f9h,0000c81b6h,0aae1fd9ah,05f48a951h,08d5aed8ah,0e35626c7h,00498c622h,020952763h,0773aa504h,076d17634h + DD 0eb300f7ah,036d90ddah,0edb5e801h,09dcf7dfch,074d5244ch,0645cb268h,0348e3aa2h,0a127ee79h,0575f1dbbh,0488acc53h,080e6161eh,095037e85h,0292650d0h,057e59283h,014938216h,0abe67d99h + DD 03f8e1065h,03c7f944bh,0330e8924h,0ed908cb6h,06f530136h,008ee8fd5h,0d7ffc169h,02227b7d5h,0b5cd6dd5h,04f55c893h,0a62796e8h,082225e11h,0cb18e12ch,05c6cead1h,084f5a51ah,04381ae0ch + DD 07fafa4c8h,0345913d3h,00491aac0h,03d918082h,03e69264ch,09347871fh,0b4f4f0cdh,0bea9dd3ch,03eadd3e7h,0bda5d067h,00573bcd8h,00033c1b8h,05da2486ch,025589379h,086abbee7h,0cb89ee5bh + DD 022532e5dh,08fe0a8f3h,0727dfc4ch,0b6410ff0h,0226726dbh,0619b9d58h,07a2b2dc7h,05ec25669h,04c3beb01h,0af4d2e06h,07acea556h,0852123d0h,0f783487ah,00e9470fah,05664b3ebh,075a7ea04h + DD 06798e4bah,04ad78f35h,0c7d0e091h,09214e6e5h,0b1290403h,0c420b488h,0fc295749h,064049e0ah,03ae9841fh,003ef5af1h,0b0b662a6h,0dbe4ca19h,0fa453458h,046845c5fh,010b66722h,0f8dabf19h + DD 0cce2793bh,0b650f0aah,0c5ec47c1h,071db851eh,03b234fa9h,03eb78f3eh,0fc0106ceh,0b0c60f35h,0774eadbdh,005427121h,0ce323863h,025367fafh,0cd086976h,07541b5c9h,0dc507ad1h,04ff069e2h + DD 08776e667h,074145256h,0b23c6bb5h,06e76142ch,01b3a8a87h,0dbf30712h,098450836h,060e7363eh,0b7366d80h,05741450eh,04837dbdfh,0e4ee14cah,069d4316fh,0a765eb9bh,08ef43825h,004548dcah + DD 05ae888ebh,09c9f4e4ch,056e9ac99h,0733abb51h,0ba6ac029h,0daad3c20h,02ba3e38eh,09b8dd3d3h,00bc5d11ah,0a9bb4c92h,09c5f88a3h,0f20127a7h,0161d3cb8h,04f52b06eh,06afaf0a6h,026c1ff09h + DD 07189e71fh,032670d2fh,05ecf91e7h,0c6438748h,0db757a21h,015758e57h,0290a9ce5h,0427d09f8h,038384a7ah,0846a308fh,0b0732b99h,0aac3acb4h,017845819h,09e941009h,0a7ce5e03h,095cba111h + DD 0b00009c4h,06f3d4f7fh,08ff28b5fh,0b8396c27h,01c97975dh,0b1a9ae43h,0e5d9fed5h,09d7ba8afh,034f485b6h,0338cf09fh,064122516h,0bc0ddacch,005d471feh,0a450da12h,0628dd8c9h,04c3a6250h + DD 0d1295837h,069c7d103h,03807eb2fh,0a2893e50h,0bdb41491h,0d6e1e1deh,05e138235h,0c630745bh,048661ae1h,0c892109eh,0ea2b2674h,08d17e7ebh,0c328d6b5h,000ec0f87h,0f079ff9eh,06d858645h + DD 019115eadh,06cdf243eh,04bac4fcfh,01ce1393eh,09c29f25bh,02c960ed0h,09d388a05h,059be4d8eh,0d0def72bh,00d46e06ch,0e0342748h,0b923db5dh,0936d4a3dh,0f7d3aacdh,00b0b099eh,0558519cch + DD 0827097efh,03ea8ebf8h,0d054f55dh,0259353dbh,06d2ed089h,084c89abch,08e096a7ch,05c548b69h,0994b995dh,0d587f616h,0a5845601h,04d1531f6h,0451fd9f0h,0792ab31eh,065adf6cah,0c8b57bb2h + DD 01cd5ad73h,068440fcbh,06144da4fh,0b9c860e6h,08462beb8h,02ab286aah,0ef46797fh,0cc6b8fffh,020c8a471h,0ac820da4h,077ff7fafh,069ae05a1h,0bfb5da77h,0b9163f39h,02c73ab7ah,0bd03e590h + DD 0b2940d9eh,07e862b5eh,04b9af564h,03c663d86h,0bde3033dh,0d8309031h,0d42c5bc6h,0298231b2h,0552ad093h,042090d2ch,0ff854695h,0a4799d1ch,0d31f0d00h,00a88b5d6h,0a2f26b46h,0f8b40825h + DD 0f1bd7218h,0ec29b1edh,04b24c86eh,0d491c53bh,03395ea65h,0d2fe588fh,04456ef15h,06f3764f7h,0cdc34800h,0db43116dh,0c1e33955h,0cdbcd456h,074ab286bh,0efdb5540h,0d18c5d7ch,0948c7a51h + DD 07378058eh,0eb81aa37h,004411154h,041c746a1h,0fb828ac7h,0a10c73bch,09d972b29h,06439be91h,043a2fbadh,04bf3b4b0h,082b5e840h,039e6dadfh,06397bd4ch,04f716408h,07f1eeccbh,00f7de568h + DD 0d2ffbfc1h,05865c5a1h,04ccb6451h,0f74211fah,0c0b32558h,066368a88h,09ad7812eh,05b539dc2h,02f3af6f6h,0579483d0h,099934eceh,052132078h,0dcc9e983h,050b9650fh,0aee42b8ah,0ca989ec9h + DD 0d6f62f99h,06a44c829h,04c2a7c0ch,08f06a309h,098a0cb0ah,04ea2b3a0h,0beee8364h,05c547b70h,0682afe11h,0461d40e1h,07b41c0a8h,09e0fc77ah,0e20d5d36h,079e4aefdh,032dd9f63h,02916e520h + DD 03f883fafh,0f59e52e8h,02b868d35h,0396f9639h,04ca19881h,0c902a9dfh,0db2401a6h,00fc96822h,066f1c68dh,041237587h,0fb476c0dh,010fc6de3h,0841f5d90h,0f8b6b579h,0fa24f44ah,02ba8446ch + DD 0ef4a9975h,0a237b920h,02330435fh,060bb6004h,0cfb7e7b5h,0d6f4ab5ah,083435391h,0b2ac5097h,0b0d1ea67h,0f036ee2fh,074c56230h,0ae779a6ah,0ab838ae6h,059bff8c8h,09b38e6f0h,0cd83ca99h + DD 0e33deed3h,0bb27bef5h,0001892a8h,0e6356f6fh,07adfbd3eh,0bf3be6cch,033d1ac9dh,0aecbc81ch,0e6e861dch,0e4feb909h,053f5f801h,090a247a4h,027346e57h,001c50acbh,0461acc1bh,0ce29242eh + DD 02f998a91h,004dd214ah,0d4baf27bh,0271ee9b1h,0e8c26722h,07e3027d1h,01820dce5h,021d1645ch,07501779ch,0086f242ch,0fa0e8009h,0f0061407h,060187129h,0f23ce477h,00fde9bd0h,005bbdedbh + DD 025d98473h,0682f4832h,05c658427h,0f207fe85h,04166ffa1h,0b6fdd7bah,09eed799dh,00c314056h,04107e28fh,00db8048fh,041216840h,074ed3871h,056a3c06eh,074489f8fh,012777134h,01e1c005bh + DD 0f37ec3c3h,0db332a73h,0dd59eba0h,0c65259bdh,0db4d3257h,02291709ch,0bd389390h,09a793b25h,0e43756f0h,0f39fe34bh,09afb56c9h,02f76bdceh,061208b27h,09f37867ah,0089972c3h,0ea1d4307h + DD 08bdf623ah,08c595330h,08441fb7dh,05f5accdah,032ddfd95h,0fafa9418h,00fde9be7h,06ad40c5ah,0aeca8709h,043faba89h,02c248a9dh,0c64a7cf1h,072637a76h,016620252h,022b8d1bbh,0aee1c791h + DD 021a843b2h,0f0f798fdh,08d005cb1h,056e4ed4dh,01f0d8abeh,0355f7780h,034522326h,0197b04cfh,0fd42c13fh,041f9b31fh,0b40f933dh,05ef7feb2h,05d60bad4h,027326f42h,08c92cf89h,0027ecdb2h + DD 04e3352feh,004aae4d1h,073591b90h,008414d2fh,0b7da7d60h,05ed6124eh,04d13d4ech,0b985b931h,096bf36f9h,0a592d3abh,0bbdf51dfh,0012dbed5h,0df6c177dh,0a57963c0h,087ca29cfh,0010ec869h + DD 0bf926dffh,0ba1700f6h,0f4bf6bc2h,07c9fdbd1h,064da11f5h,0dc18dc8fh,0d938ae75h,0a6074b7ah,0e84f44a4h,014270066h,0d27b954eh,099998d38h,0b4f38e9ah,0c1be8ab2h,015c01016h,08bb55bbfh + DD 00ea2ab30h,0f73472b4h,0f73d68ddh,0d365a340h,019c2e1ebh,0c01a7168h,034061719h,032f49e37h,001d8b4d6h,0b73c57f1h,026b47700h,003c8423ch,0a4d8826ah,0321d0bc8h,04bc0e638h,06004213ch + DD 0c1c06681h,0f78c64a1h,0ef018e50h,016e0a16fh,0db42b2b3h,031cbdf91h,0e0d36f58h,0f8f4ffceh,04cc5e3e0h,0cdcc71cdh,0a129e3e0h,0d55c7cfah,00fb2cbf1h,0ccdb6ba0h,0c4bce3cbh,06aba0005h + DD 0d232cfc4h,0501cdb30h,0d58a3cefh,09ddcf12eh,087e09149h,002d2cf9ch,02c976257h,0dc5d7ec7h,00b50d7ddh,06447986eh,0807f112ah,088fdbaf7h,0b00ae9f6h,058c9822ah,06d3d27e0h,06abfb950h + DD 08a429f4fh,0d0a74487h,0db516609h,00649712bh,0e769b5dfh,0b826ba57h,01fc7aaf2h,082335df2h,05c93d995h,02389f067h,068677be6h,059ac367ah,021d9951bh,0a77985ffh,085011cceh,0038956fbh + DD 0bb734e37h,0608e48cbh,02be5b26fh,0c08c0bf2h,0f9b1a0d9h,017bbdd3bh,010483319h,0eac7d898h,0bc1a6deah,0c95c4bafh,0172aafdbh,0fdd0e2bfh,08235c41ah,040373cbch,0fb6f41d5h,014303f21h + DD 00408f237h,0ba063621h,0ecd2d1edh,0cad3b09ah,052abb6a2h,04667855ah,0aa8b417bh,0ba9157dch,04f013efbh,0fe7f3507h,0aa38c4a2h,01b112c4bh,09ba64345h,0a1406a60h,06993c80bh,0e53cba33h + DD 0ded40d23h,045466063h,054908e25h,03d5f1f4dh,0403c3c31h,09ebefe62h,00672a624h,0274ea0b5h,0451d1b71h,0ff818d99h,08f79cf79h,080e82643h,073ce37f5h,0a165df13h,0fe3a21fdh,0a744ef4fh + DD 0cf551396h,073f1e7f5h,0868c676bh,0c616898eh,08c442c36h,0671c28c7h,05e0a317dh,0cfe5e558h,07051f476h,01242d818h,014f03442h,056fad2a6h,00a44d0f6h,0262068bch,0ce6edf4eh,0dfa2cd6eh + DD 0d15d1517h,00f43813ah,0377d44f5h,061214cb2h,0c639b35fh,0d399aa29h,054c51c19h,042136d71h,008417221h,09774711bh,052545a57h,00a5546b3h,01150582dh,080624c41h,0fbc555bch,09ec5c418h + DD 0771849f1h,02c87dcadh,001d7bf6fh,0b0c932c5h,089116eb2h,06aa5cd3eh,051ca7bd3h,0d378c25ah,09e6e3e31h,0c612a0dah,0b68ad5d0h,00417a54dh,022c6edb8h,000451e4ah,0b42827ceh,09fbfe019h + DD 0ba9384a2h,02fa92505h,064ad69c1h,021b8596eh,0983b35a6h,08f4fcc49h,072754672h,0de093760h,0f7bffe6dh,02f14ccc8h,05d94263dh,027566bffh,02df3ec30h,0b5b4e9c6h,03e6ea6bah,094f1d7d5h + DD 0aaca5e9bh,097b7851ah,056713b97h,0518aa521h,0150a61f6h,03357e8c7h,0ec2c2b69h,07842e7e2h,06868a548h,08dffaf65h,0e068fc81h,0d963bd82h,065917733h,064da5c8bh,07b247328h,0927090ffh + DD 0d298c241h,0214bc9a7h,056807cfdh,0e3b697bah,04564eadbh,0ef1c7802h,0b48149c5h,0dde8cdcfh,05a4d2604h,0946bf0a7h,06c1538afh,027154d7fh,0de5b1fcch,095cc9230h,066864f82h,0d88519e9h + DD 07cb1282ch,0b828dd1ah,0be46973ah,0a08d7626h,0e708d6b2h,06baf8d40h,04daeb3f3h,072571fa1h,0f22dfd98h,085b1732fh,00087108dh,087ab01a7h,05988207ah,0aaaafea8h,069f00755h,0ccc832f8h + DD 036ff3bf0h,0964d950eh,0f0b34638h,08ad20f6fh,0b5d7585fh,04d9177b3h,0ef3f019fh,0cf839760h,08288c545h,0582fc5b3h,013116bd1h,02f8e4e9bh,0332120efh,0f91e1b2fh,02a17dd23h,0cf568724h + DD 0ca8d9d1ah,0488f1185h,0d987ded2h,0adf2c77dh,060c46124h,05f3039f0h,071e095f4h,0e5d70b75h,06260e70fh,082d58650h,0f750d105h,039d75ea7h,075bac364h,08cf3d0b1h,021d01329h,0f3a7564dh + DD 02f52d2a7h,0182f04cdh,0e2df565ah,04fde149ah,0a79fb2f7h,0b80c5eech,022ddc897h,0ab491d7bh,0c6312c7fh,099d76c18h,06aa41a57h,0ca0d5f3dh,0d15363a0h,071207325h,0beb252c2h,0e82aa265h + DD 0ec3128c2h,094ab4700h,08e383f49h,06c76d862h,0c03024ebh,0dc36b150h,053daac69h,0fb439477h,08dc79623h,0fc68764ah,0b440fbb2h,05b86995dh,0ccc5ee0dh,0d66879bfh,095aa8bd3h,005228942h + DD 01e6a75c1h,0b51a40a5h,00ea7d817h,024327c76h,007774597h,006630182h,097fa7164h,0d6fdbec3h,013c90f48h,020c99dfbh,0686ef263h,0d6ac5273h,0fef64eebh,0c6a50bdch,086fdfc32h,0cd87b281h + DD 03fcd3efch,0b24aa43eh,0b8088e9ah,0dd26c034h,0bd3d46eah,0a5ef4dc9h,08a4c6a6fh,0a2f99d58h,02f1da46ch,0ddabd355h,01afacdd1h,072c3f8ceh,092d40578h,0d90c4eeeh,0ca623b94h,0d28bb41fh + DD 0745edc11h,050fc0711h,03dc87558h,09dd9ad7dh,0b49d1e64h,0ce6931fbh,0c98bd0f9h,06c77a0a2h,06baf7cb1h,062b9a629h,0ccf72d22h,0cf065f91h,079639071h,07203cce9h,0f9cb732fh,009ae4885h + DD 0ee8314f3h,05e7c3bech,0dbea298fh,01c068aedh,07c80acech,008d381f1h,0e330495bh,003b56be8h,09222882dh,0aeffb8f2h,0c4af8bf7h,095ff38f6h,01fc57d8ch,050e32d35h,017b444f0h,06635be52h + DD 0a5177900h,004d15276h,0f6858752h,04e1dbb47h,0c615796ch,05b475622h,0691867bfh,0a6fa0387h,02844c6d0h,0ed7f5d56h,003a2477dh,0c633cf9bh,02d3721d6h,0f6be5c40h,0e9fd68e6h,0af312eb7h + DD 0e7417ce1h,0242792d2h,0970ee7f5h,0ff42bc71h,05c67a41eh,01ff4dc6dh,020882a58h,077709b7bh,0be217f2ch,03554731dh,05bb72177h,02af2a8cdh,0591dd059h,058eee769h,04bba6477h,0bb2930c9h + DD 07d930cfch,0863ee047h,0396fd1f4h,04c262ad1h,0039af7e1h,0f4765bc8h,05ba104f6h,02519834bh,0d105f961h,07cd61b4ch,0d63bca54h,0a5415da5h,088a1f17ch,0778280a0h,02329512ch,0c4968949h + DD 0cecdaa7ah,0174a9126h,00b13247bh,0fc8c7e0eh,03484c1c4h,029c110d2h,0831dfc3bh,0f8eb8757h,0c0067452h,0022f0212h,07b9b926ch,03f6f69eeh,0ef42daf4h,009032da0h,083f80de4h,079f00adeh + DD 081236c97h,06210db71h,03ee0781fh,074f7685bh,0a3e41372h,04df7da7bh,0b1a1553eh,02aae38b1h,0f6dd9d1bh,01688e222h,05b8b6487h,057695448h,04b2edeaah,0478d2127h,01e85956ah,0b2818fa5h + DD 0f176f2c0h,01e6adddah,0e2572658h,001ca4604h,085342ffbh,00a404dedh,0441838d6h,08cf60f96h,0c9071c4ah,09bbc691ch,034442803h,0fd588744h,0809c0d81h,097101c85h,08c456f7fh,0a7fb754ch + DD 0d51805e1h,0c95f3c5ch,0b299dca8h,0ab4ccd39h,047eaf500h,03e03d20bh,0d7b80893h,0fa3165c1h,0e160e552h,0005e8b54h,09019d11fh,0dc4972bah,00c9a4a7ah,021a6972eh,037840fd7h,0a52c258fh + DD 0c1e99d81h,0f8559ff4h,0a3c617c0h,008e1a7d6h,0248c6ba7h,0b398fd43h,0d1283794h,06ffedd91h,0d629d208h,08a6a59d2h,03490530eh,0a9d141d5h,038505989h,042f6fc18h,0479d94eeh,009bf250dh + DD 0b3822790h,0223ad3b1h,093b8971ch,06c5926c0h,075f7fa62h,0609efc7eh,01ec2d989h,045d66a6dh,0987d2792h,04422d663h,03eb31d2bh,04a73caadh,0a32cb9e6h,0f06c2ac1h,091aeba84h,0d9445c5fh + DD 0af71013fh,06af7a1d5h,00bedc946h,0e68216e5h,0d27370a0h,0f4cba30bh,0870421cch,07981afbfh,09449f0e1h,002496a67h,00a47edaeh,086cfc4beh,0b1feca22h,03073c936h,003f8f8fbh,0f5694612h + DD 0901515eah,0d063b723h,0749cf038h,04c6c77a5h,0ab9e5059h,06361e360h,0a76a37c0h,0596cf171h,06530ae7ah,0800f53fah,00792a7a6h,00f5e631eh,0efdb81c9h,05cc29c24h,03f9c40bah,0a269e868h + DD 02cb7191eh,0ec14f9e1h,0e5b08ea6h,078ea1bd8h,046332bb9h,03c65aa9bh,0bf80ce25h,084cc22b3h,0d49d5bf1h,00098e9e9h,019087da4h,0cd4ec1c6h,0aef6e357h,03c9d07c5h,09f8f64b8h,0839a0268h + DD 0c6d8607fh,0c5e9eb62h,06aa995e4h,0759689f5h,0bbb48317h,070464669h,0e402417dh,0921474bfh,02a354c8ch,0cabe135bh,0812fa4b5h,0d51e52d2h,053311fe8h,0ec741096h,0b864514bh,04f774535h + DD 05bde48f8h,0bcadd671h,02189bc7dh,0c9703873h,0c709ee8ah,05d45299eh,0845aaff8h,0d1287ee2h,0db1dbf1fh,07d1f8874h,0990c88d6h,0ea46588bh,084368313h,060ba649ah,060d543aeh,0d5fdcbceh + DD 0810d5ab0h,090b46d43h,004d7e5cch,06739d8f9h,00d337c33h,0021c1a58h,068e67c40h,000a61162h,0379f0a1fh,095ef413bh,0e9e2ab95h,0fe126605h,02f5f199ch,067578b85h,02cb84913h,0f5c00329h + DD 037577dd8h,0f7956430h,029c5fe88h,083b82af4h,0cdbdc132h,09c1bea26h,09c04339eh,0589fa086h,0b13799dfh,0033e9538h,0d295d034h,085fa8b21h,0bd9ddccah,0df17f73fh,0ddb66334h,0f32bd122h + DD 0858b044ch,055ef88a7h,05aa9e397h,01f0d69c2h,040d85559h,055fd9cc3h,07785ddb2h,0c774df72h,0d3bd2e1ch,05dcce9f6h,0a85dfed0h,0eb30da20h,0d3ed09c4h,05ed7f5bbh,082a9c1bdh,07d42a35ch + DD 09890272dh,0cf3de995h,03e713a10h,075f3432ah,0e28227b8h,05e13479fh,0fefacdc8h,0b8561ea9h,08332aafdh,0a6a297a0h,073809b62h,09b0d8bb5h,00c63036fh,0d2fa1cfdh,0bd64bda8h,07a16eb55h + DD 078e62ddch,03f5cf5f6h,007fd752bh,02267c454h,05e437bbeh,05e361b6bh,08354e075h,095c59501h,0f2b254d9h,0ec725f85h,02cb52b4eh,0844b617dh,0cf425fb5h,0ed8554f5h,02af9f312h,0ab67703eh + DD 03cf48283h,04cc34ec1h,09c8a705eh,0b09daa25h,05b7d4f84h,0d1e9d0d0h,0db38929dh,04df6ef64h,0aa21ba46h,0e16b0763h,0a293f8fbh,0c6b1d178h,0d520aabfh,00ff5b602h,0c339397ah,094d671bdh + DD 04f5792fah,07c7d98cfh,011215261h,07c5e0d67h,0a7c5a6d4h,09b19a631h,07a45274dh,0c8511a62h,0a5a60d99h,00c16621ch,0cf5e48cbh,0f7fbab88h,0f7ddee08h,0ab1e6ca2h,0e7867f3ch,083bd08ceh + DD 02ac13e27h,0f7e48e8ah,04eb1a9f5h,04494f6dfh,0981f0a62h,0edbf84ebh,0536438f0h,049badc32h,0004f7571h,050bea541h,0df1c94eeh,0bac67d10h,0b727bc31h,0253d73a1h,030686e28h,0b3d01cf2h + DD 055fd0b8bh,051b77b1bh,0feec3173h,0a099d183h,0670e72b7h,0202b1fb7h,0a8e1635fh,0adc88b33h,0f989d905h,034e8216ah,029b58d01h,0c2e68d20h,06fe55a93h,011f81c92h,08f296f40h,015f1462ah + DD 0ea3d62f2h,01915d375h,001c8977dh,0a17765a3h,0e47b26f6h,07559710ah,0535077a5h,0e0bd29c8h,008d84858h,0615f976dh,069ced5c1h,0370dfe85h,0a734fa56h,0bbc7503ch,091ac4574h,0fbb9f1ech + DD 0060dd7efh,095d7ec53h,06e657979h,0eef2dacdh,0e2a08235h,054511af3h,01f4aea3dh,01e324aa4h,0e6e67671h,0550e7e71h,0bf52faf7h,0bccd5190h,0223cc62ah,0f880d316h,02b32eb5dh,00d402c7eh + DD 0306a5a3bh,0a40bc039h,096783a1bh,04e0a41fdh,00253cdd4h,0a1e8d39ah,0c7388638h,06480be26h,02285f382h,0ee365e1dh,0ec0b5c36h,0188d8d8fh,01f0f4d82h,034ef1a48h,0a487d29ah,01a8f43e1h + DD 077aefb3ah,08168226dh,01e72c253h,0f69a751eh,0e9594df1h,08e04359ah,0d14c0467h,0475ffd7dh,03844e95ch,0b5a2c2b1h,0dd12ef94h,085caf647h,0f1063d00h,01ecd2a9fh,023843311h,01dd2e229h + DD 073d17244h,038f0e09dh,08fc653f1h,03ede7746h,0dc20e21ch,0ae4459f5h,06a8599eah,000db2ffah,030cfd905h,011682c39h,0a5c112a6h,04934d074h,0568bfe95h,0bdf063c5h,0016c441ah,0779a440ah + DD 097d6fbdch,00c23f218h,0e0776aach,0d3a5cd87h,0d712e8dbh,0cee37f72h,026f74e8dh,0fb28c70dh,0b61301a0h,0ffe0c728h,0d3724354h,0a6282168h,0768ffedch,07ff4cb00h,003b02de9h,0c51b3088h + DD 03902dda5h,0a5a8147ch,0fe6973b4h,035d2f706h,0c257457eh,05ac2efcfh,08700611bh,0933f48d4h,04912beb2h,0c365af88h,0162edf94h,07f5a4de6h,00c32f34bh,0c646ba7ch,0b2091074h,0632c6af3h + DD 0753e43a9h,058d4f2e3h,024d4e23fh,070e1d217h,0afede6a6h,0b24bf729h,0710c8b60h,07f4a94d8h,08d4faa6ah,0aad90a96h,0b066b690h,0d9ed0b32h,078b6dbfdh,052fcd37bh,08bd2b431h,00b64615eh + DD 0cfb9fad5h,0228e2048h,0240b76bdh,0beaa386dh,090dad7bch,02d6681c8h,006d38f5eh,03e553fc3h,09d5f9750h,0f27cdb9bh,0d28c5b0eh,03e85c52ah,05247c39bh,0190795afh,0bddd6828h,0547831ebh + DD 04a82f424h,0f327a227h,07e47f89dh,036919c78h,043c7392ch,0e4783919h,02316fefeh,0f101b9aah,01c5009d2h,0bcdc9e9ch,09cd18345h,0fb55ea13h,0a3ce77c7h,0f5b5e231h,0d2f2cb3dh,0de6b4527h + DD 09bb26f5fh,010f6a333h,0044d85b6h,01e85db8eh,094197e54h,0c3697a08h,0a7cb4ea8h,065e18cc0h,0a471fe6eh,0a38c4f50h,02f13439ch,0f031747ah,0c007318bh,053c4a6bah,01deccb3dh,0a8da3ee5h + DD 0558216b1h,00555b31ch,02f79e6c2h,090c7810ch,0fe8eed3ch,09b669f4dh,0e0fac126h,070398ec8h,0f701b235h,0a96a449eh,0eb94f395h,00ceecdb3h,0d0cb7431h,0285fc368h,016a18c64h,00d37bb52h + DD 0b880d2ddh,005110d38h,065930d57h,0a60f177bh,0f36235f5h,07da34a67h,0183816b9h,047f5e17ch,0db394af4h,0c7664b57h,07036f789h,039ba215dh,02f27b472h,046d2ca0eh,0f73a84b7h,0c42647eeh + DD 064488f1dh,044bc7545h,0f4cf85d5h,0aa922708h,053e4df63h,0721a01d5h,05db46cedh,0649c0c51h,03cffcb6ch,06bf0d64eh,050f71d96h,0e3bf93feh,0bcc194a0h,075044558h,06afdc554h,016ae3372h + DD 05ca48f3fh,0bfc01adfh,0e22a9b84h,064352f06h,0c1099e4ah,0cee54da1h,0fa1b89c0h,0bbda54e8h,06f6e55fbh,0166a3df5h,020176f88h,01ca44a24h,0dfb7b5ffh,0936afd88h,08611d4a0h,0e34c2437h + DD 086142103h,07effbb75h,01f34fc4dh,06704ba1bh,010c1b122h,07c2a468fh,08c6aace9h,036b3a610h,075a0d050h,0abfcc0a7h,03ce33e32h,0066f9197h,029fe09beh,0ce905ef4h,0a8376351h,089ee25bah + DD 0fd29dc76h,02a3ede22h,036f17260h,07fd32ed9h,0284b4126h,00cadcf68h,0a7951fc8h,063422f08h,00807e199h,0562b24f4h,022ad4490h,0fe9ce5d1h,00db2b1b4h,0c2f51b10h,0e4541d0dh,0eb3613ffh + DD 02680813bh,0bd2c4a05h,0561b08d6h,0527aa55dh,0a7205558h,0a9f8a40eh,0243d0bech,0e3eea56fh,0a0ff58b3h,07b853817h,01a69e627h,0b67d3f65h,0a869b5d6h,00b76bbb9h,0546723edh,0a3afeb82h + DD 03e554892h,05f24416dh,0430e2a45h,08413b53dh,09032a2a0h,099c56aeeh,0eec367b1h,009432bf6h,0daf0ecc1h,0552850c6h,05bc92048h,049ebce55h,054811307h,0dfb66ba6h,06f298597h,01b84f797h + DD 08d1d7a0dh,079590481h,03a6fa556h,0d9fabe03h,0ba9e5d35h,0a40f9c59h,0f6247577h,0cb1771c1h,0e9a6312bh,0542a47cah,0552dd8c5h,0a34b3560h,00d794716h,0fdf94de0h,09c623094h,0d46124a9h + DD 068afe8b4h,056b7435dh,06c0d8ea1h,027f20540h,073186898h,012b77e14h,07479490fh,0dbc3dd46h,0c03b0c05h,0951a9842h,07921bc96h,08b1b3bb3h,02b202e0ah,0a573b346h,047254d56h,077e4665dh + DD 0d23e3984h,008b70dfch,0ebd14236h,0ab86e8bch,057114ba7h,0aa3e07f8h,0ab0ef4f2h,05ac71689h,00139d9afh,088fca384h,076644af0h,072733f88h,065d74f4ah,0f122f72ah,0a5626c7ah,013931577h + DD 070f8d5a4h,0d5b5d9ebh,0d7bbb228h,0375adde7h,00c1c0b32h,031e88b86h,0173edbaah,0d1f568c4h,05459df02h,01592fc83h,00fcd9a7eh,02beac0fbh,01b473b0ah,0b0a6fdb8h,00fe8fc48h,0e3224c6fh + DD 0e87edf5bh,0680bd00eh,020e77cf5h,030385f02h,04d42d1b2h,0e9ab98c0h,0d3816d77h,072d191d2h,00917d9e5h,01564dacah,01f8fed7fh,0394eab59h,07fbb3896h,0a209aa8dh,0be6ac98eh,05564f3b9h + DD 0d73654efh,0ead21d05h,013d78d74h,068d1a9c4h,06d4973a0h,061e01708h,046e6d32ah,083da3500h,068ae0118h,06a3dfca4h,0d02da069h,0a1b9a4c9h,0ebab8302h,00b2ff9c7h,0944ba436h,098af07c3h + DD 0995f0f9fh,085997326h,071b58bc6h,0467fade0h,0bd625a2bh,047e4495ah,033c3b8cdh,0fdd2d01dh,0c693f9fah,02c38ae28h,0348f7999h,048622329h,02161f583h,097bf738eh,0565e8cc9h,015ee2fa7h + DD 05777e189h,0a1a5c845h,0456f2829h,0cc10bee0h,0da762bd5h,08ad95c56h,0e9d91da8h,0152e2214h,07cb23c74h,0975b0e72h,0a90c66dfh,0fd5d7670h,0225ffc53h,0b5b5b8adh,0faded2aeh,0ab6dff73h + DD 06f4cbe9dh,0ebd56781h,06a574bd7h,00ed8b249h,081a881fah,041c246feh,0c3db9c70h,091564805h,05b862809h,0d7c12b08h,055858d7bh,01facd1f1h,0af09e92ah,07693747ch,0189a425fh,03b69dcbah + DD 0967365efh,00be28e9fh,0e801f5c9h,057300eb2h,0d583352fh,093b8ac6ah,0cd05b2b7h,0a2cf1f89h,04dcc40cch,07c0c9b74h,0ada523fbh,0fee38c45h,01099cc4dh,0b49a4dech,069f069c6h,0325c377fh + DD 0476cc9ffh,0e12458ceh,0c6d4cb63h,0580e0b6ch,09072289bh,0d561c8b7h,0a619e6dah,00377f264h,088e591a5h,026685362h,07523ca2bh,0a453a7bdh,0c1df4533h,08a9536d2h,0be972f79h,0c8e50f2fh + DD 06d3549cfh,0d433e50fh,0facd665eh,06f33696fh,0ce11fcb4h,0695bfdach,0af7c9860h,0810ee252h,07159bb2ch,065450fe1h,0758b357bh,0f7dfbebeh,0d69fea72h,02b057e74h,092731745h,0d485717ah + DD 0ee36860ch,0896c42e8h,04113c22dh,0daf04dfdh,044104213h,01adbb7b7h,01fd394eah,0e5fd5fa1h,01a4e0551h,068235d94h,018d10151h,06772cfbeh,009984523h,0276071e3h,05a56ba98h,0e4e879deh + DD 0285b9491h,0aaafafb0h,01e4c705eh,001a0be88h,02ad9caabh,0ff1d4f5dh,0c37a233fh,06e349a4ah,04a1c6a16h,0cf1c1246h,029383260h,0d99e6b66h,05f6d5471h,0ea3d4366h,0ff8cc89bh,036974d04h + DD 0cfe89d80h,0c26c49a1h,0da9c8371h,0b42c026dh,0dad066d2h,0ca6c013ah,056a4f3eeh,0fb8f7228h,0d850935bh,008b579ech,0d631e1b3h,034c1a74ch,0ac198534h,0cb5fe596h,0e1f24f25h,039ff21f6h + DD 08f929057h,027f29e14h,0c0c853dfh,07a64ae06h,058e9c5ceh,0256cd183h,0ded092a5h,09d9cce82h,06e93b7c7h,0cc6e5979h,031bb9e27h,0e1e47092h,0aa9e29a0h,0b70b3083h,03785e644h,0bf181a75h + DD 08ead09f7h,0f53f2c65h,09780d14dh,01335e1d5h,0cd1b66bch,069cc20e0h,0bbe0bfc8h,09b670a37h,028efbeedh,0ce53dc81h,08326a6e5h,00c74e77ch,0b88e9a63h,03604e0d2h,013dc2248h,0bab38fcah + DD 05c0a3f1eh,08ed6e8c8h,07c87c37fh,0bcad2492h,09ee3b78dh,0fdfb62bbh,0cbceba46h,0eba8e477h,0eeaede4bh,037d38cb0h,07976deb6h,00bc498e8h,06b6147fbh,0b2944c04h,0f71f9609h,08b123f35h + DD 0de79dc24h,0a155dcc7h,0558f69cdh,0f1168a32h,00d1850dfh,0bac21595h,0b204c848h,015c8295bh,07d8184ffh,0f661aa36h,030447bdbh,0c396228eh,0bde4a59eh,011cd5143h,06beab5e6h,0e3a26e3bh + DD 01402b9d0h,0d3b3a13fh,02c7bc863h,0573441c3h,0578c3e6eh,04b301ec4h,00adaf57eh,0c26fc9c4h,07493cea3h,096e71bfdh,01af81456h,0d05d4b3fh,06a8c608fh,0daca2a8ah,00725b276h,053ef07f6h + DD 07824fc56h,007a5fbd2h,013289077h,034675218h,0e0c48349h,05bf69fd5h,0b6aa7875h,0a613ddd3h,05450d866h,07f78c19ch,08f84a481h,046f4409ch,090fce239h,09f1d1928h,0b2ce44b9h,0016c4168h + DD 0c7435978h,0bae023f0h,020e30e19h,0b152c888h,0e3fa6fafh,09c241645h,084823e60h,0735d95c1h,003955317h,003197573h,0f03b4995h,00b4b02a9h,070274600h,0076bf559h,0aaf57508h,032c5cc53h + DD 060624129h,0e8af6d1fh,09a5e2b5eh,0b7bc5d64h,05f082d72h,03814b048h,0ce19677ah,076f267f2h,0b36eed93h,0626c630fh,03bf56803h,055230cd7h,0ce2736a0h,078837949h,0aa6c55f1h,00d792d60h + DD 0d5c7c5d2h,00318dbfdh,0072b342dh,0b38f8da7h,07b8de38ah,03569bddch,0a1c94842h,0f25b5887h,02946ad60h,0b2d5b284h,0e9d1707eh,0854f29adh,02c6a4509h,0aa5159dch,057189837h,0899f94c0h + DD 0f4a55b03h,0cf6adc51h,035e3b2d5h,0261762deh,004827b51h,04cc43012h,0c6021442h,0cd22a113h,0247c9569h,0ce2fd61ah,0d152becah,059a50973h,063a716d4h,06c835a11h,0187dedcfh,0c26455edh + DD 049ce89e7h,027f536e0h,0cc890cb5h,018908539h,0d83c2aa1h,0308909abh,01ab73bd3h,0ecd3142bh,0b3f5ab84h,06a85bf59h,0f2bea4c6h,03c320a68h,06da4541fh,0ad8dc538h,0b7c41186h,0eaf34eb0h + DD 0977c97c4h,01c780129h,0c57eb9fah,05ff9beebh,0c822c478h,0a24d0524h,0461cd415h,0fd8eec2ah,0f027458ch,0fbde194eh,01d1be115h,0b4ff5319h,04866d6f4h,063f874d9h,0b21ad0c9h,035c75015h + DD 046ac49d2h,0a6b5c9d6h,083137aa9h,042c77c0bh,068225a38h,024d000fch,02fe1e907h,00f63cfc8h,0c6441f95h,022d1b01bh,0ec8e448fh,07d38f719h,0787fb1bah,09b33fa5fh,0190158dfh,094dcfda1h + DD 05f6d4a09h,0c47cb339h,0ee52b826h,06b4f355ch,0f51b930ah,03d100f5dh,09f668f69h,0f4512fach,0206c4c74h,0546781d5h,0cb4d2e48h,0d021d4d4h,0ca085c2dh,0494a54c2h,0520850a8h,0f1dbaca4h + DD 0490a1acah,063c79326h,041526b02h,0cb64dd9ch,0a2979258h,0bb772591h,048d97846h,03f582970h,07c213ba7h,0d66b70d1h,0e8a0ced4h,0c28febb5h,0c10338c1h,06b911831h,0bf0126f3h,00d54e389h + DD 04af206eeh,07048d460h,077e97cb9h,0786c88f6h,0ac64802eh,0d4375ae1h,0d53ec11ch,0469bcfe1h,047062230h,0fc9b340dh,0c5b4a3ach,0e743bb57h,059ef45ach,0fe00b4aah,059edf188h,029a4ef23h + DD 0b483689bh,040242efeh,0513ac262h,02575d3f6h,00ca6db72h,0f30037c8h,098864be2h,0c9fcce82h,00149362dh,084a112ffh,01c4ae971h,095e57582h,0945cf86ch,01fa4b1a8h,00b024a2fh,04525a734h + DD 08f338360h,0e76c8b62h,028edf32bh,0483ff593h,0298b1aech,067e8e90ah,0736d9a21h,09caab338h,066892709h,05c09d2fdh,0b55a1d41h,02496b4dch,0e24a4394h,093f5fb1ah,06fa8f6c1h,008c75049h + DD 0c905d85fh,0caead1c2h,00733ae57h,0e9d7f790h,0f07cdd94h,024c9a65ch,0a4b55931h,07389359ch,0367e45f7h,0f58709b7h,0cb7e7adch,01f203067h,0c7b72818h,082444bffh,0baac8033h,007303b35h + DD 0d13b7ea1h,01e1ee4e4h,0e0e74180h,0e6489b24h,07e70ef70h,0a5f2c610h,0bdd10894h,0a1655412h,07af4194eh,0555ebefbh,08e89bd9ch,0533c1c3ch,089895856h,0735b9b57h,0567f5c15h,015fb3cd2h + DD 0526f09fdh,0057fed45h,08128240ah,0e8a4f10ch,0ff2bfd8dh,09332efc4h,0bd35aa31h,0214e77a0h,014faa40eh,032896d73h,001e5f186h,0767867ech,017a1813eh,0c9adf8f1h,054741795h,0cb6cda78h + DD 0349d51aah,0b7521b6dh,0e3c7b8e9h,0f56b5a9eh,032a096dfh,0c6f1e5c9h,0a3635024h,0083667c4h,018087f2fh,0365ea135h,0d136e45dh,0f1b8eaach,073aec989h,0c8a0e484h,0142c9259h,0d75a324bh + DD 001dae185h,0b7b4d001h,09b7a94bch,045434e0bh,0fbd8cb0bh,0f54339afh,0e98ef49eh,0dcc4569eh,009a51299h,07789318ah,0b2b025d8h,081b4d206h,0fae85792h,0f64aa418h,0acd7baf7h,03e50258fh + DD 02996864bh,0dce84cdbh,01f485fa4h,0a2e67089h,0534c6a5ah,0b28b2bb6h,0c94b9d39h,031a7ec6bh,0d6bc20dah,01d217766h,086761190h,04acdb5ech,073701063h,068726328h,02128c29bh,04d24ee7ch + DD 0a19fd868h,0c072ebd3h,0db8ddd3bh,0612e481ch,01a64d852h,0b4e1d754h,0c4c6c4abh,000ef95ach,0aa0a6c46h,01536d2edh,043774790h,061294086h,0343fda10h,054af25e8h,0fd25d6f2h,09ff9d98dh + DD 0468b8835h,00746af7ch,0730ecea7h,0977a31cbh,0c2cf4a81h,0a5096b80h,06458c37ah,0aa986833h,0a6bd9d34h,06af29bf3h,033c5d854h,06a62fe9bh,0b7133b5eh,050e6c304h,07d6e6848h,004b60159h + DD 05579bea4h,04cd296dfh,05ceedaf1h,010e35ac8h,0e3bcc5b1h,004c4c5fdh,089412cf9h,095f9ee8ah,082b6eb0fh,02c9459eeh,095c2aaddh,02e845765h,0d327fcfeh,0774a84aeh,00368d476h,0d8c93722h + DD 0f83e8a3bh,00dbd5748h,08d2495f3h,0a579aa96h,0ae496e9bh,0535996a0h,0b7f9bcc2h,007afbfe9h,05b7bd293h,03ac1dc6dh,07022323dh,03b592cffh,09c0a3e76h,0ba0deb98h,04b197acbh,018e78e9fh + DD 0296c36efh,0211cde10h,082c4da77h,07ee89672h,0a57836dah,0b617d270h,09cb7560bh,0f0cd9c31h,0e455fe90h,001fdcbf7h,07e7334f3h,03fb53cbbh,04e7de4ech,0781e2ea4h,00b384fd0h,08adab3adh + DD 053d64829h,0129eee2fh,0a261492bh,07a471e17h,0e4cb4a2ch,0e4f9adb9h,097ba2c2dh,03d359f6fh,00aacd697h,0346c6786h,075c2f8a8h,092b444c3h,0d85df44eh,0c79fa117h,0398ddf31h,056782372h + DD 0bbbab3b8h,060e690f2h,08b04816bh,04851f8aeh,09c92e4d2h,0c72046abh,07cf3136bh,0518c74a1h,0f9877d4ch,0ff4eb50ah,0a919cabbh,014578d90h,0ac5eb2b6h,08218f8c4h,0542016e4h,0a3ccc547h + DD 0327f8349h,0025bf48eh,0f43cb641h,0f3e97346h,0500f1085h,0dc2bafdfh,02f063055h,057167876h,0411925a6h,05bd914b9h,0a1123de5h,07c078d48h,0182b165dh,0ee6bf835h,0ba519727h,0b11b5e5bh + DD 01eea7b85h,0e33ea76ch,092d4f85eh,02352b461h,0afe115bbh,0f101d334h,0889175a3h,0fabc1294h,05233f925h,07f6bcdc0h,0e77fec55h,0e0a802dbh,08069b659h,0bdb47b75h,0f98fbd74h,01c5e12deh + DD 04b8457eeh,0869c58c6h,04f7ea9f7h,0a5360f69h,0f460b38fh,0e576c09fh,022b7fb36h,06b70d548h,03bfae315h,03fd237f1h,0cbdff369h,033797852h,025b516f9h,097df25f5h,0ba38ad2dh,046f388f2h + DD 089d8ddbbh,0656c4658h,070f38ee8h,08830b26eh,0de1212b0h,04320fd5ch,0e4a2edb2h,0c34f30cfh,056ab64b8h,0abb131a3h,0d99c5d26h,07f77f0cch,0bf981d94h,066856a37h,0738bd76eh,019e76d09h + DD 096238f39h,0e76c8ac3h,0a830b366h,0c0a482beh,00b4eb499h,0b7b8eaffh,04bfb4865h,08ecd83bch,0a2f3776fh,0971b2cb7h,0f4b88adfh,0b42176a4h,0be1fa446h,0b9617df5h,0cd031bd2h,08b32d508h + DD 053b618c0h,01c6bd47dh,06a227923h,0c424f46ch,0dd92d964h,07303ffdeh,071b5abf2h,0e9712878h,0f815561dh,08f48a632h,0d3c055d1h,085f48ff5h,07525684fh,0222a1427h,067360cc3h,0d0d841a0h + DD 00b9267c6h,04245a926h,0cf07f863h,0c78913f1h,04d0d9e24h,0aa844c8eh,03d5f9017h,0a42ad522h,0a2c989d5h,0bd371749h,0e1f5e78eh,0928292dfh,00a1ea6dah,0493b383eh,013aee529h,05136fd8dh + DD 0f2c34a99h,0860c44b1h,0bf5855ach,03b00aca4h,0faaf37beh,0abf6aaa0h,02a53ec08h,065f43682h,0a11b12e1h,01d9a5801h,0e20ed475h,078a7ab2ch,09a41e0d5h,00de1067eh,0305023eah,030473f5fh + DD 0169c7d97h,0dd3ae09dh,0cfaef9cdh,05cd5baa4h,065a44803h,05cd7440bh,047f364deh,0dc13966ah,02b8357c1h,0077b2be8h,0e9d57c2ah,00cb1b4c5h,005ff363eh,07a4ceb32h,0ca35a9efh,0f310fa4dh + DD 0f97f68c6h,0dbb7b352h,00b02cf58h,00c773b50h,03c1f96d9h,0ea2e4821h,0eee01815h,0ffb357b0h,0e0f28039h,0b9c924cdh,046a3fbe4h,00b36c95ah,05e46db6ch,01faaaea4h,01928aaffh,0cae575c3h + DD 0a70dab86h,07f671302h,071c58cfch,0fcbd12a9h,0bee0cb92h,0cbef9acfh,0f8c1b583h,0573da0b9h,00d41d550h,04752fcfeh,02155cffeh,0e7eec0e3h,0545ae248h,00fc39fcbh,08065f44eh,0522cb8d1h + DD 070cbb96ch,0263c962ah,0bcd124a9h,0e034362ah,03c2ae58dh,0f120db28h,0fef6d507h,0b9a38d49h,01ff140fdh,0b1fd2a82h,020aee7e0h,0bd162f30h,0cb251949h,04e17a5d4h,04f7e1c3dh,02aebcb83h + DD 0937b0527h,0608eb25fh,0eb7d9997h,0f42e1e47h,0b8a53a29h,0eba699c4h,0e091b536h,01f921c71h,05b26bbd5h,0cce29e7bh,03b61a680h,07a8ef5edh,0ba1f1c7eh,0e5ef8043h,018158ddah,016ea8217h + DD 0599ff0f9h,001778a2bh,08104fc6bh,068a923d7h,0da694ff3h,05bfa44dfh,0f7667f12h,04f7199dbh,0e46f2a79h,0c06d8ff6h,0e9f8131dh,008b5deadh,0abb4ce7ch,002519a59h,0b42aec3eh,0c4f710bch + DD 078bde41ah,03d77b057h,0b4186b5ah,06474bf80h,088c65741h,0048b3f67h,003c7c154h,0c64519deh,00edfcc4fh,0df073846h,048f1aa6bh,0319aa737h,0ca909f77h,08b9f8a02h,07580bfefh,090258139h + DD 0c0c22719h,0d8bfd3cah,0c9ca151eh,0c60209e4h,0d9a1a69ch,07a744ab5h,014937f8fh,06de5048bh,0e115ac04h,0171938d8h,01c6b16d2h,07df70940h,07f8e94e7h,0a6aeb663h,02a2cf094h,0c130388eh + DD 077f54e6eh,01850be84h,065d60fe5h,09f258a72h,06c9146d6h,0ff7ff0c0h,0e63a830bh,0039aaf90h,09460342fh,038f27a73h,03f795f8ah,04703148ch,09681a97eh,01bb5467bh,0ecaeb594h,000931ba5h + DD 0786f337ch,0cdb6719dh,0e704397dh,0d9c01cd2h,0555c2fefh,00f4a3f20h,07c0af223h,000452509h,084db8e76h,054a58047h,093c8aa06h,03bacf1aah,0f7919422h,011ca957ch,078cdaa40h,050641053h + DD 09f7144aeh,07a303874h,043d4acfdh,0170c963fh,058ddd3efh,05e148149h,09e72dba8h,0a7bde582h,06fa68750h,00769da8bh,0572e0249h,0fa64e532h,02619ad31h,0fcaadf9dh,0a7b349cdh,087882daah + DD 06c67a775h,09f6eb731h,0efc5d0b1h,0cb10471ah,0e1b806b2h,0b433750ch,057b1ae7eh,019c5714dh,0ed03fd3fh,0c0dc8b7bh,031bc194eh,0dd03344fh,08c6320b5h,0a66c52a7h,0d0b6fd93h,08bc82ce3h + DD 0b35f1341h,0f8e13501h,025a43e42h,0e53156ddh,04daeb85ch,0d3adf27eh,0bbeddeb5h,0b81d8379h,02e435867h,01b0b546eh,0eba5dd60h,09020eb94h,08210cb9dh,037d91161h,05c91f1cfh,04c596b31h + DD 00e0b040dh,0b228a90fh,045ff897fh,0baf02d82h,000fa6122h,02aac79e6h,08e36f557h,024828817h,0113ec356h,0b9521d31h,015eff1f8h,09e48861eh,0e0d41715h,02aa1d412h,053f131b8h,071f86203h + DD 03fd19408h,0f60da8dah,0278d9d99h,04aa716dch,0a8c51c90h,0394531f7h,0f59db51ch,0b560b0e8h,0fa34bdadh,0a28fc992h,09cd4f8bdh,0f024fa14h,023a9d0d3h,05cf530f7h,0e28c9b56h,0615ca193h + DD 06f73c51eh,06d2a483dh,0ea0dc2ddh,0a4cb2412h,01eb917ffh,050663c41h,0eade299eh,03d3a74cfh,04a7a9202h,029b3990fh,0a7b15c3dh,0a9bccf59h,0a5df9208h,066a3ccdch,043f2f929h,048027c14h + DD 040b557f0h,0d385377ch,0cd684660h,0e001c366h,0e2183a27h,01b18ed6bh,063210329h,0879738d8h,0bda94882h,0a687c74bh,0a684b299h,0d1bbcc48h,0863b3724h,0af6f1112h,02c8ce9f8h,06943d1b4h + DD 0098cafb4h,0e044a3bbh,060d48cafh,027ed2310h,03a31b84dh,0542b5675h,0fcddbed7h,0cbf3dd50h,041b1d830h,025031f16h,0cb0c1e27h,0a7ec851dh,0b5ae75dbh,0ac1c8fe0h,008c52120h,0b24c7557h + DD 01d4636c3h,057f811dch,0681a9939h,0f8436526h,09c81adb3h,01f6bc6d9h,05b7d80d4h,0840f8ac3h,0f4387f1ah,0731a9811h,0b5156880h,07c501cd3h,0dfe68867h,0a5ca4a07h,05fcea120h,0f123d8f0h + DD 0d607039eh,01fbb0e71h,0cd3a4546h,02b70e215h,053324091h,032d2f01dh,0180ab19bh,0b796ff08h,03c57c4aah,032d87a86h,0b7c49a27h,02aed9cafh,031630d98h,09fb35each,05c3e20a3h,0338e8cdfh + DD 066cde8dbh,080f16182h,02d72fd36h,04e159980h,09b6e5072h,0d7b8f13bh,03b7b5dc1h,0f5213907h,08ce4396eh,04d431f1dh,0a7ed2142h,037a1a680h,0d01aaf6bh,0bf375696h,0e63aab66h,0aa1c0c54h + DD 04ed80940h,03014368bh,07a6fceddh,067e6d056h,0ca97579fh,07c208c49h,0a23597f6h,0fe3d7a81h,07e096ae2h,05e203202h,024b39366h,0b1f3e1e7h,02fdcdffch,026da26f3h,06097be83h,079422f1dh + DD 09db3b381h,0263a2cfbh,0d4df0a4bh,09c3a2deeh,07d04e61fh,0728d06e9h,042449325h,08b1adfbch,07e053a1bh,06ec1d939h,066daf707h,0ee2be5c7h,0810ac7abh,080ba1e14h,0f530f174h,0dd2ae778h + DD 0205b9d8bh,00435d97ah,0056756d4h,06eb8f064h,0b6f8210eh,0d5e88a8bh,0ec9fd9eah,0070ef12dh,03bcc876ah,04d849505h,0a7404ce3h,012a75338h,0b8a1db5eh,0d22b49e1h,014bfa5adh,0ec1f2051h + DD 0b6828f36h,0adbaeb79h,001bd5b9eh,09d7a0258h,01e844b0ch,0eda01e0dh,0887edfc9h,04b625175h,09669b621h,014109fddh,0f6f87b98h,088a2ca56h,0170df6bch,0fe2eb788h,0ffa473f9h,00cea06f4h + DD 0c4e83d33h,043ed81b5h,05efd488bh,0d9f35879h,09deb4d0fh,0164a620fh,0ac6a7394h,0c6927bdbh,09f9e0f03h,045c28df7h,0fcd7e1a9h,02868661eh,0ffa348f1h,07cf4e8d0h,0398538e0h,06bd4c284h + DD 0289a8619h,02618a091h,06671b173h,0ef796e60h,09090c632h,0664e46e5h,01e66f8fbh,0a38062d4h,00573274eh,06c744a20h,0a9271394h,0d07b67e4h,06bdc0e20h,0391223b2h,0eb0a05a7h,0be2d93f1h + DD 03f36d141h,0f23e2e53h,04dfca442h,0e84bb3d4h,06b7c023ah,0b804a48dh,076431c3bh,01e16a8fah,0ddd472e0h,01b5452adh,00d1ee127h,07d405ee7h,0ffa27599h,050fc6f1dh,0bf391b35h,0351ac53ch + DD 04444896bh,07efa14b8h,0f94027fbh,064974d2fh,0de84487dh,0efdcd0e8h,02b48989bh,08c45b260h,0d8463487h,0a8fcbbc2h,03fbc476ch,0d1b2b3f7h,0c8f443c0h,021d005b7h,040c0139ch,0518f2e67h + DD 006d75fc1h,056036e8ch,03249a89fh,02dcf7bb7h,0e245e7ddh,081dd1d3dh,0ebd6e2a7h,0f578dc4bh,0df2ce7a0h,04c028903h,09c39afach,0aee36288h,0146404abh,0dc847c31h,0a4e97818h,06304c0d8h + DD 0a91f6791h,0ae51dca2h,09baa9efch,02abe4190h,0559c7ac1h,0d9d2e2f4h,0fc9f773ah,0e82f4b51h,04073e81ch,0a7713027h,0fbb596fch,0c0276fach,0a684f70ch,01d819fc9h,0c9f7b1e0h,029b47fddh + DD 0459b1940h,0358de103h,05b013e93h,0ec881c59h,049532ad3h,051574c93h,0b37b46deh,02db1d445h,0df239fd8h,0c6445b87h,0151d24eeh,0c718af75h,0f43c6259h,0aea1c4a4h,070be02f7h,040c0e5d7h + DD 0721b33f2h,06a4590f4h,0fedf04eah,02124f1fbh,09745efe7h,0f8e53cdeh,065f046d9h,0e7e10432h,0e4d0c7e6h,0c3fca28eh,087253b1bh,0847e339ah,03743e643h,09b595348h,04fd12fc5h,0cb6a0a0bh + DD 027d02dcch,0fb6836c3h,07a68bcc2h,05ad00982h,0005e912dh,01b24b44ch,0811fdcfeh,0cc83d20fh,0666fba0ch,036527ec1h,014754635h,069948197h,0556da9c2h,0fcdcb1a8h,081a732b2h,0a5934267h + DD 0a714181dh,0ec1214edh,06067b341h,0609ac13bh,0a545df1fh,0ff4b4c97h,034d2076bh,0a1240501h,01409ca97h,06efa0c23h,020638c43h,0254cc1a8h,0dcfb46cdh,0d4e363afh,003942a27h,062c2adc3h + DD 056e46483h,0c67b9df0h,063736356h,0a55abb20h,0c551bc52h,0ab93c098h,0b15fe64bh,0382b49f9h,04dff8d47h,09ec221adh,0437df4d6h,079caf615h,0bb456509h,05f13dc64h,0191f0714h,0e4c589d9h + DD 03fd40e09h,027b6a8abh,077313ea9h,0e455842eh,01f55988bh,08b51d1e2h,0062bbbfch,05716dd73h,04e8bf3deh,0633c11e5h,01b85be3bh,09a0e77b6h,00911cca6h,056510729h,0efa6590fh,027e76495h + DD 0070d3aabh,0e4ac8b33h,09a2cd5e5h,02643672bh,01cfc9173h,052eff79bh,090a7c13fh,0665ca49bh,0b3efb998h,05a8dda59h,0052f1341h,08a5b922dh,03cf9a530h,0ae9ebbabh,0f56da4d7h,035986e7bh + DD 0ff3513cch,03a636b5ch,03198f7ddh,0bb0cf8bah,041f16f86h,0b8d40522h,0de13a7bfh,0760575d8h,09f7aa181h,036f74e16h,0f509ed1ch,0163a3ecfh,03c40a491h,06aead61fh,0dfe8fcaah,0158c95fch + DD 013cda46fh,0a3991b6eh,0342faed0h,079482415h,0666b5970h,0f3ba5bdeh,0b26ab6ddh,01d52e6bch,08608dd3dh,0768ba1e7h,0ea076586h,04930db2ah,0e7dc1afah,0d9575714h,0f7c58817h,01fc7bf7dh + DD 0d9eee96ch,06b47accdh,0e58cec37h,00ca277fbh,0e702c42ah,0113fe413h,0c47cbe51h,0dd1764eeh,07b3ed739h,0041e7cdeh,05ce9e1c0h,050cb7459h,02925b212h,035568513h,0001b081ch,07cff95c4h + DD 08088b454h,063ee4cbdh,09a9e0c8ah,0db7f32f7h,06b2447cbh,0b377d418h,0d370219bh,0e3e982aah,0c2a2a593h,006ccc1e4h,00773f24fh,072c36865h,095859423h,0a13b4da7h,075040c8fh,08bbf1d33h + DD 0da50c991h,0726f0973h,0822d6ee2h,048afcd5bh,020fd7771h,0e5fc718bh,0fd0807a1h,0b9e8e77dh,099a7703dh,07f5e0f44h,0618e36f3h,06972930eh,023807bbeh,02b7c77b8h,0cb27ff50h,0e5b82405h + DD 0bd379062h,0ba8b8be3h,02dce4a92h,0d64b7a1dh,0b2952e37h,0040a73c5h,0d438aecah,00a9e252eh,0c39d3bcbh,0dd43956bh,0b32b2d63h,01a31ca00h,05c417a18h,0d67133b8h,02ef442c8h,0d08e4790h + DD 0255c0980h,098cb1ae9h,02b4a739fh,04bd86381h,01e4a45a1h,05a5c31e1h,09cb0db2fh,01e5d55feh,08ff5cc29h,074661b06h,00eb8a4f4h,0026b389fh,058848c24h,0536b21a4h,081dc72b0h,02e5bf8ech + DD 0ad886aach,003c187d0h,0b771b645h,05c16878ah,0c74045abh,0b07dfc6fh,07800caedh,02c6360bfh,0b9c972a3h,024295bb5h,07c9a6dbah,0c9e6f88eh,092a79aa6h,090ffbf24h,041c26ac2h,0de29d50ah + DD 0d309cbe6h,09f0af483h,0e0bced4fh,05b020d8ah,0b38023e3h,0606e986dh,01abc6933h,0ad8f2c9dh,0e7400e93h,019292e1dh,052be5e4dh,0fe3e18a9h,02e0680bfh,0e8e9771dh,0c54db063h,08c5bec98h + DD 074a55d1fh,02af9662ah,0046f66d8h,0e3fbf28fh,0d4dc4794h,0a3a72ab4h,05c7c2dd8h,009779f45h,0c3d19d8dh,0d893bdafh,057d6a6dfh,0d5a75094h,0952e6255h,08cf8fef9h,0da9a8affh,03da67cfbh + DD 02c160dcdh,04c23f62ah,08f90eaefh,034e6c5e3h,0a9a65d5ah,035865519h,08fd38a3dh,007c48aaeh,050068527h,0b7e7aedah,01c90936ah,02c09ef23h,0e879324ch,031ecfeb6h,0fb0ec938h,0a0871f6bh + DD 0d84d835dh,0b1f0fb68h,0861dc1e6h,0c90caf39h,07594f8d7h,012e5b046h,065012b92h,026897ae2h,0a4d6755dh,0bcf68a08h,00991fbdah,0403ee41ch,03bbf17e8h,0733e343eh,0679b3d65h,0d2c7980dh + DD 0d2e11305h,033056232h,0f3c07a6fh,0966be492h,0bb15509dh,06a8878ffh,00a9b59a4h,0ff221101h,0abe30129h,06c9f564ah,0336e64cfh,0c6f2c940h,08b0c8022h,00fe75262h,06ae8db87h,0be0267e9h + DD 093bc042bh,022e192f1h,0b237c458h,0f085b534h,0832c4168h,0a0d192bdh,0bdf6271dh,07a76e9e3h,0b88911b5h,052a882fah,0b4db0eb5h,0c85345e4h,081a7c3ffh,0a3be02a6h,0f0ec0469h,051889c8ch + DD 0a5e829e5h,09d031369h,01607aa41h,0cbb4c6fch,0241d84c1h,075ac59a6h,08829e0eeh,0c043f2bfh,08ea5e185h,082a38f75h,0d87cbd9fh,08bda40b9h,02d8fc601h,09e65e75eh,0a35690b3h,03d515f74h + DD 0da79e5ach,0534acf4fh,08630215fh,068b83b3ah,0d085756eh,05c748b2eh,0e5d37cb2h,0b0317258h,0c5ccc2c4h,06735841ah,03d9d5069h,07d7dc96bh,0fd1754bdh,0a147e410h,0d399ddd5h,065296e94h + DD 0bc8fa5bch,0f6b5b2d0h,0500c277bh,08a5ead67h,0dfa08a5dh,0214625e6h,0959cf047h,051fdfedch,0289fca32h,06bc9430bh,09d9bdc3fh,0e36ff0cfh,058ea0edeh,02fe187cbh,05a900b3fh,0ed66af20h + DD 05fa9f4d6h,000e0968bh,037a362e7h,02d4066ceh,0bd07e772h,0a99a9748h,006a4f1d0h,0710989c0h,0ce40cbd8h,0d5dedf35h,01743293dh,0ab55c5f0h,08aa24e2ch,0766f1144h,0605fbcb4h,094d874f8h + DD 0a518001bh,0a365f0e8h,09d04ef0fh,0ee605eb6h,0ba8d4d25h,05a3915cdh,0b5113472h,044c0e1b8h,08b6740dch,0cbb024e8h,0ee1d4f0ch,089087a53h,01fc4e372h,0a88fa05ch,0af8b3af2h,08bf395cbh + DD 0deb8568bh,01e71c9a1h,080fb3d32h,0a35daea0h,02cf8fb81h,0e8b6f266h,09490696ah,06d51afe8h,051803a19h,081beac6eh,086219080h,0e3d24b7fh,0df6f463ch,0727cfd9dh,072284ee8h,08c6865cah + DD 0b743f4efh,032c88b7dh,0e7d11dceh,03793909bh,02ff2ebe8h,0d398f922h,0e5e49796h,02c70ca44h,0cb1131b1h,0df4d9929h,025888e79h,07826f298h,0f1d8740ah,04d3a112ch,0270afa8bh,000384cb6h + DD 03ab48095h,0cb64125bh,062d05106h,03451c256h,0a4955845h,0d73d577dh,0bf9f4433h,039570c16h,0adecf263h,0d7dfaad3h,0dc76e102h,0f1c3d8d1h,054c6a836h,05e774a58h,03e92d47bh,0dad4b672h + DD 0f0d796a0h,0be7e990fh,0df0e8b02h,05fc62478h,0030c00adh,08aae8bf4h,09004ba0fh,03d2db93bh,0d85d5ddch,0e48c8a79h,06bb07f34h,0e907caa7h,0a39eaed5h,058db343ah,0adaf5724h,00ea6e007h + DD 0d23233f3h,0e00df169h,077cb637fh,03e322796h,01da0cf6ch,01f897c0eh,031d6bbddh,0a651f5d8h,01a230c76h,0dd61af19h,0cdaa5e4ah,0bd527272h,0d0abcd7eh,0ca753636h,0370bd8dch,078bdd37ch + DD 017cd93feh,0c23916c2h,0dadce6e2h,065b97a4dh,0174e42f8h,0e04ed4ebh,0bb21480ah,01491ccaah,023196332h,0145a8280h,0587b479ah,03c3862d7h,001dcd0edh,09f4a88a3h,03ea12f1fh,04da2b7efh + DD 0b126e48eh,0f8e7ae33h,0f494e237h,0404a0b32h,0c55acadbh,09beac474h,0cbec9fd9h,04ee5cf3bh,07df3c8c3h,0336b33b9h,0b76808fdh,0bd905fe3h,0aa45c16ah,08f436981h,03dd27b62h,0255c5bfah + DD 0c3dd9b4dh,071965cbfh,0fc068a87h,0ce23edbfh,0745b029bh,0b78d4725h,0cefdd9bdh,074610713h,01266bf52h,07116f75fh,018e49bb6h,002046722h,03d6f19e3h,0df43df9fh,0e685cb2fh,0ef1bc7d0h + DD 07078c432h,0cddb27c1h,0b77fedb7h,0e1961b9ch,0c2290570h,01edc2f5ch,019cbd886h,02c3fefcah,0c2af389ah,0cf880a36h,0bda71ceah,096c610fdh,032aa8463h,0f03977a9h,08586d90ah,08eb7763fh + DD 02a296e77h,03f342454h,042837a35h,0c8718683h,06a09c731h,07dc71090h,051b816dbh,054778ffbh,0af06defdh,06b33bfech,08592b70bh,0fe3c105fh,061da6114h,0f937fda4h,04c266ad7h,03c13e651h + DD 0855938e8h,0e363a829h,09de54b72h,02eeb5d9eh,020ccfab9h,0beb93b0eh,025e61a25h,03dffbb5fh,01acc093dh,07f655e43h,03964ce61h,00cb6cc3dh,0e5e9b460h,06ab283a1h,0a1c7e72dh,055d787c5h + DD 0deadbf02h,04d2efd47h,0ac459068h,011e80219h,071f311f0h,0810c7626h,04ab6ef53h,0fa17ef8dh,093e43bffh,0af47fd25h,00be40632h,05cb5ff3fh,08ee61da3h,054687106h,0b08afd0fh,07764196eh + DD 0f0290a8fh,0831ab3edh,0cb47c387h,0cae81966h,0184efb4fh,0aad7deceh,04749110eh,0dcfc53b3h,04cb632f9h,06698f23ch,0b91f8067h,0c42a1ad6h,06284180ah,0b116a81dh,0e901326fh,0ebedf5f8h + DD 097e3e044h,0f2274c9fh,011d09fc9h,042018520h,0d18e6e23h,056a65f17h,0352b683ch,02ea61e2ah,0575eaa94h,027d291bch,0b8ff522dh,09e7bc721h,0a7f04d6fh,05f7268bfh,0aba41748h,05868c73fh + DD 07be0eeadh,09f85c2dbh,0ff719135h,0511e7842h,0c5ea90d7h,05a06b1e9h,026fab631h,00c19e283h,0e9206c55h,08af8f0cfh,03553c06ah,089389cb4h,0f65f8004h,039dbed97h,0c508991dh,00621b037h + DD 096e78cc4h,01c52e635h,00c06b4a8h,05385c8b2h,0b0e87d03h,0d84ddfdbh,0934bafadh,0c49dfb66h,059f70772h,07071e170h,03a1db56bh,03a073a84h,03b8af190h,003494903h,0d32920f0h,07d882de3h + DD 0b2cf8940h,091633f0ah,06f948f51h,072b0b178h,0782653c8h,02d28dc30h,0db903a05h,088829849h,06a19d2bbh,0b8095d0ch,086f782cbh,04b9e7f0ch,02d907064h,07af73988h,08b32643ch,0d12be0feh + DD 00e165dc3h,0358ed23dh,04e2378ceh,03d47ce62h,0feb8a087h,07e2bb0b9h,0e29e10b9h,03246e8aeh,003ce2b4dh,0459f4ec7h,0bbc077cfh,0e9b4ca1bh,00e9940c1h,02613b4f2h,0047d1eb1h,0fc598bb9h + DD 045036099h,09744c62bh,0167c65d8h,0a9dee742h,0dabe1943h,00c511525h,093c6c624h,0da110554h,0651a3be2h,0ae00a52ch,0884449a6h,0cda5111dh,0ff33bed1h,0063c06f4h,00d3d76b4h,073baaf9ah + DD 07fc63668h,052fb0c9dh,00c039cdeh,06886c9ddh,055b22351h,0602bd599h,0360c7c13h,0b00cab02h,081b69442h,08cb616bch,0b55c3ceeh,041486700h,0f49ba278h,071093281h,064a50710h,0ad956d9ch + DD 0638a7e81h,09561f28bh,05980ddc3h,054155cdfh,0d26f247ah,0b2db4a96h,04787d100h,09d774e4eh,0078637d2h,01a9e6e2eh,05e0ae06ah,01c363e2dh,0e9cfa354h,07493483eh,07f74b98dh,076843cb3h + DD 0d4b66947h,0baca6591h,004460a8ch,0b452ce98h,043768f55h,06830d246h,07dff12dfh,0f4197ed8h,0400dd0f7h,06521b472h,04b1e7093h,059f5ca8fh,0080338aeh,06feff11bh,0a29ca3c6h,00ada31f6h + DD 094a2c215h,024794eb6h,005a57ab4h,0d83a43abh,02a6f89feh,0264a543ah,0dd5ec7c2h,02c2a3868h,08439d9b2h,0d3373940h,00acd1f11h,0715ea672h,0e7e6cc19h,042c1d235h,0b990585ch,081ce6e96h + DD 0d809c7bdh,004e5dfe0h,08f1050abh,0d7b2580ch,0d8a4176fh,06d91ad78h,04e2e897ch,00af556eeh,0921de0ach,0162a8b73h,07ea78400h,052ac9c22h,0efce2174h,0ee2a4eeah,06d637f79h,0be61844eh + DD 0789a283bh,00491f1bch,0880836f4h,072d3ac3dh,088e5402dh,0aa1c5ea3h,0d5cc473dh,01b192421h,09dc84cach,05c0b9998h,09c6e75b8h,0b0a8482dh,03a191ce2h,0639961d0h,06d837930h,0da3bc865h + DD 0056e6f8fh,0ca990653h,064d133a7h,084861c41h,0746abe40h,08b403276h,0ebf8e303h,0b7b4d51ah,0220a255dh,005b43211h,002419e6eh,0c997152ch,0630c2feah,076ff47b6h,0281fdadeh,050518677h + DD 0cf902b0bh,03283b8bah,037db303bh,08d4b4eb5h,0755011bch,0cc89f42dh,0dd09d19bh,0b43d74bbh,08adba350h,065746bc9h,0b51c1927h,0364eaf8ch,010ad72ech,013c76596h,0f8d40c20h,030045121h + DD 0ea7b979bh,06d2d99b7h,0e6fb3bcdh,0cd78cd74h,086cffbfeh,011e45a9eh,0637024f6h,078a61cf4h,03d502295h,0d06bc872h,0458cb288h,0f1376854h,0342f8586h,0b9db26a1h,04beee09eh,0f33effcfh + DD 0b30cfb3ah,0d7e0c4cdh,06c9db4c8h,06d09b8c1h,007c8d9dfh,040ba1a42h,01c52c66dh,06fd495f7h,0275264dah,0fb0e169fh,0e57d8362h,080c2b746h,049ad7222h,0edd987f7h,04398ec7bh,0fdc229afh + DD 052666a58h,0b0d1ed84h,0e6a9c3c2h,04bcb6e00h,026906408h,03c57411ch,013556400h,0cfc20755h,05294dba3h,0a08b1c50h,08b7dd31eh,0a30ba286h,0991eca74h,0d70ba90eh,0e762c2b9h,0094e142ch + DD 0979f3925h,0b81d783eh,0af4c89a7h,01efd130ah,0fd1bf7fah,0525c2144h,01b265a9eh,04b296904h,0b9db65b6h,0ed8e9634h,003599d8ah,035c82e32h,0403563f3h,0daa7a54fh,0022c38abh,09df088adh + DD 0bb3fd30ah,0e5cfb066h,0eff0354eh,0429169dah,03524e36ch,0809cf852h,00155be1dh,0136f4fb3h,01fbba712h,04826af01h,0506ba1a1h,06ef0f0b4h,077aea73eh,0d9928b31h,05eaa244eh,0e2bf6af2h + DD 04237b64bh,08d084f12h,0e3ecfd07h,0688ebe99h,0f6845dd8h,057b8a70ch,05da4a325h,0808fc59ch,0a3585862h,0a9032b2bh,0edf29386h,0b66825d5h,0431ec29bh,0b5a5a8dbh,03a1e8dc8h,0bb143a98h + DD 012ae381bh,035ee94ceh,086ccda90h,03a7f176ch,04606eacah,0c63a657eh,043cd04dfh,09ae5a380h,0ed251b46h,09bec8d15h,0caca5e64h,01f5d6d30h,09ff20f07h,0347b3b35h,0f7e4b286h,04d65f034h + DD 0f111661eh,09e93ba24h,0b105eb04h,0edced484h,0f424b578h,096dc9ba1h,0e83e9069h,0bf8f66b7h,0d7ed8216h,0872d4df4h,08e2cbecfh,0bf07f377h,098e73754h,04281d899h,08aab8708h,0fec85fbbh + DD 0a5ba5b0bh,09a3c0deeh,042d05299h,0e6a116ceh,0e9b02d42h,0ae9775feh,0a1545cb6h,072b05200h,031a3b4eah,0bc506f7dh,08bbd9b32h,0e5893078h,0e4b12a97h,0c8bc5f37h,04a73b671h,06b000c06h + DD 0765fa7d0h,013b5bf22h,01d6a5370h,059805bf0h,04280db98h,067a5e29dh,0776b1ce3h,04f53916fh,033ddf626h,0714ff61fh,0a085d103h,04206238eh,0e5809ee3h,01c50d4b7h,085f8eb1dh,0999f450dh + DD 0e4c79e9bh,0658a6051h,0c66a9feah,01394cb73h,0c6be7b23h,027f31ed5h,05aa6f8feh,0f4c88f36h,04aaa499eh,00fb0721fh,0e3fb2a6bh,068b3a7d5h,03a92851dh,0a788097dh,0e96f4913h,0060e7f8ah + DD 01a3a93bch,082eebe73h,0a21adc1ah,042bbf465h,0ef030efdh,0c10b6fa4h,087b097bbh,0247aa4c7h,0f60c77dah,08b8dc632h,0c223523eh,06ffbc26ah,0344579cfh,0a4f6ff11h,0980250f6h,05825653ch + DD 0bc1aa2b9h,0b2dd097eh,037a0333ah,007889393h,037a0db38h,01cf55e71h,0792c1613h,02648487fh,03fcef261h,0dad01336h,00eabf129h,06239c81dh,09d276be2h,08ee761deh,01eda6ad3h,0406a7a34h + DD 04a493b31h,04bf367bah,09bf7f026h,054f20a52h,09795914bh,0b696e062h,08bf236ach,0cddab96dh,0ed25ea13h,04ff2c70ah,081cbbbe7h,0fa1d09ebh,0468544c5h,088fc8c87h,0696b3317h,0847a670dh + DD 064bcb626h,0f133421eh,026dee0b5h,0aea638c8h,0b310346ch,0d6e7680bh,0d5d4ced3h,0e06f4097h,07512a30bh,009961452h,0e589a59ah,0f3d867fdh,052d0c180h,02e73254fh,0333c74ach,09063d8a3h + DD 0d314e7bch,0eda6c595h,0467899edh,02ee7464bh,00a1ed5d3h,01cef423ch,069cc7613h,0217e76eah,0e7cda917h,027ccce1fh,08a893f16h,012d8016bh,09fc74f6bh,0bcd6de84h,0f3144e61h,0fa5817e2h + DD 00821ee4ch,01f354164h,00bc61992h,01583eab4h,01d72879fh,07490caf6h,0f76ae7b2h,0998ad9f3h,0a41157f7h,01e181950h,0e8da3a7eh,0a9d7e1e6h,08426b95fh,0963784ebh,0542e2a10h,00ee4ed6eh + DD 0ac751e7bh,0b79d4cc5h,0fd4211bdh,093f96472h,0c8de4fc6h,08c72d3d2h,0df44f064h,07b69cbf5h,0f4bf94e1h,03da90ca2h,0f12894e2h,01a5325f8h,07917d60bh,00a437f6ch,096c9cb5dh,09be70486h + DD 0e1dc5c05h,0b4d880bfh,0eebeeb57h,0d738addah,0df0fe6a3h,06f0119d3h,066eaaf5ah,05c686e55h,0dfd0b7ech,09cb10b50h,06a497c21h,0bdd0264bh,08c546c96h,0fc093514h,079dbf42ah,058a947fah + DD 049ccd6d7h,0c0b48d4eh,088bd5580h,0ff8fb02ch,007d473b2h,0c75235e9h,0a2188af3h,04fab1ac5h,097576ec0h,0030fa3bch,00b7e7d2fh,0e8c946e8h,070305600h,040a5c9cch,0c8b013b4h,06d8260a9h + DD 070bba85ch,00368304fh,0a4a0d311h,0ad090da1h,02415eec1h,07170e870h,08461ea47h,0bfba35feh,0c1e91938h,06279019ah,01afc415fh,0a47638f3h,0bcba0e0fh,036c65cbbh,0034e2c48h,002160efbh + DD 0615cd9e4h,0e6c51073h,0f1243c06h,0498ec047h,0b17b3d8ch,03e5a8809h,00cc565f1h,05cd99e61h,07851dafeh,081e312dfh,0a79061e2h,0f156f5bah,0880c590eh,080d62b71h,00a39faa1h,0bec9746fh + DD 0c8ed1f7ah,01d98a9c1h,0a81d5ff2h,009e43bb5h,00da0794ah,0d5f00f68h,0661aa836h,0412050d9h,090747e40h,0a89f7c4eh,0b62a3686h,06dc05ebbh,0308e3353h,0df4de847h,09fb53bb9h,053868fbbh + DD 0cfdcf7ddh,02b09d2c3h,0723fcab4h,041a9fce3h,007f57ca3h,073d905f7h,0ac8e1555h,0080f9fb1h,09ba7a531h,07c088e84h,0ed9a147fh,007d35586h,0af48c336h,0602846abh,00ccf0e79h,07320fd32h + DD 0b18bd1ffh,0aa780798h,0afdd2905h,052c2e300h,0434267cdh,0f27ea3d6h,015605b5fh,08b96d16dh,04b45706bh,07bb31049h,0743d25f8h,0e7f58b8eh,087f30076h,0e9b5e45bh,05d053d5ah,0d19448d6h + DD 0d3210a04h,01ecc8cb9h,0dafb5269h,06bc7d463h,067c3489fh,03e59b10ah,065641e1bh,01769788ch,0bd6cb838h,08a53b82dh,0236d5f22h,07066d6e6h,06908536eh,003aa1c61h,066ae9809h,0c971da0dh + DD 0c49a2fach,001b3a86bh,03092e77ah,03b8420c0h,07d6fb556h,002057300h,0bff40a87h,06941b2a1h,00658ff2ah,0140b6308h,03424ab36h,087804363h,05751e299h,00253bd51h,0449c3e3ah,0c75bcd76h + DD 07f8f875dh,092eb4090h,056c26bbfh,09c9d754eh,08110bbe7h,0158cea61h,0745f91eah,062a6b802h,0c6e7394bh,0a79c41aah,0ad57ef10h,0445b6a83h,06ea6f40ch,00c5277ebh,088633365h,0319fe96bh + DD 0385f63cbh,00b0fc61fh,022bdd127h,041250c84h,009e942c2h,067d153f1h,0c021ad5dh,060920d08h,0724d81a5h,0229f5746h,05bba3299h,0b7ffb892h,0de413032h,0518c51a1h,03c2fd94ch,02a9bfe77h + DD 03191f4fdh,0cbcde239h,0d3d6ada1h,043093e16h,058769606h,0184579f3h,0d236625ch,02c94a8b3h,05c437d8eh,06922b9c0h,0d8d9f3c8h,03d4ae423h,02e7090a2h,0f72c31c1h,0d76a55bdh,04ac3f5f3h + DD 06b6af991h,0342508fch,01b5cebbdh,00d527100h,0dd440dd7h,0b84740d0h,0780162fdh,0748ef841h,0dfc6fafbh,0a8dbfe0eh,0f7300f27h,0eadfdf05h,0feba4ec9h,07d06555fh,09e25fa97h,012c56f83h + DD 0d39b8c34h,077f84203h,03125eddbh,0ed8b1be6h,0f6e39dc5h,05bbf2441h,06a5d678ah,0b00f6ee6h,057d0ea99h,0ba456ecfh,017e06c43h,0dcae0f58h,00f5b4baah,001643de4h,0d161b9beh,02c324341h + DD 0e126d468h,080177f55h,076748e09h,0ed325f1fh,0cfa9bdc2h,06116004ah,03a9fb468h,02d8607e6h,06009d660h,00e573e27h,08d10c5a1h,03a525d2eh,03b9009a0h,0d26cb45ch,0de9d7448h,0b6b0cdc0h + DD 0e1337c26h,0949c9976h,0d73d68e5h,06faadebdh,0f1b768d9h,09e158614h,09cc4f069h,022dfa557h,0be93c6d6h,0ccd6da17h,0a504f5b9h,024866c61h,08d694da1h,02121353ch,00140b8c6h,01c6ca580h + DD 0e964021eh,0c245ad8ch,0032b82b3h,0b83bffbah,047ef9898h,0faa220c6h,0982c948ah,07e8d3ac6h,0bc2d124ah,01faa2091h,005b15ff4h,0bd54c3ddh,0c87c6fb7h,0386bf3abh,0fdeb6f66h,0fb2b0563h + DD 05b45afb4h,04e77c557h,0efb8912dh,0e9ded649h,042f6e557h,07ec9bbf5h,062671f00h,02570dfffh,088e084bdh,02b3bfb78h,0f37fe5b4h,0a024b238h,095649aeeh,044e7dc04h,05e7ec1d8h,0498ca255h + DD 0aaa07e86h,03bc766eah,0f3608586h,00db6facbh,0bdc259c8h,0badd2549h,0041c649fh,095af3c6eh,002e30afbh,0b36a928ch,0008a88b8h,09b5356adh,0cf1d9e9dh,04b67a5f1h,0a5d8d8ceh,0c6542e47h + DD 07adfb6cch,073061fe8h,098678141h,0cc826fd3h,03c80515ah,000e758b1h,041485083h,06afe3247h,0b6ae8a75h,00fcb08b9h,04acf51e1h,0b8cf388dh,06961b9d6h,0344a5560h,06a97fd0ch,01a6778b8h + DD 0ecc4c7e3h,0d840fdc1h,016db68cch,0de9fe47dh,0a3e216aah,0e95f89deh,09594a8beh,084f1a6a4h,05a7b162bh,07ddc7d72h,0adc817a3h,0c5cfda19h,078b58d46h,080a5d350h,082978f19h,093365b13h + DD 026a1fc90h,02e44d225h,04d70705dh,00d6d10d2h,0d70c45f4h,0d94b6b10h,0b216c079h,00f201022h,0658fde41h,0cec966c5h,07e27601dh,0a8d2bc7dh,0ff230be7h,0bfcce3e1h,00033ffb5h,03394ff6bh + DD 08132c9afh,0d890c509h,0361e7868h,0aac4b0ebh,0e82d15aah,05194ded3h,023ae6b7dh,04550bd2eh,0ea5399d4h,03fda318eh,091638b80h,0d989bffah,0a14aa12dh,05ea124d0h,03667b944h,01fb1b899h + DD 044c44d6ah,095ec7969h,057e86137h,091df144ah,073adac44h,0915fd620h,059a83801h,08f01732dh,03aa0a633h,0ec579d25h,0c9d6d59ch,006de5e7ch,0b1ef8010h,0c132f958h,0e65c1a02h,029476f96h + DD 0d34c3565h,0336a77c0h,01b9f1e9eh,0ef1105b2h,0f9e08002h,063e6d08bh,0c613809eh,09aff2f21h,03a80e75dh,0b5754f85h,06bbda681h,0de71853eh,08197fd7ah,086f041dfh,0127817fah,08b332e08h + DD 0b9c20cdah,005d99be8h,0d5cd0c98h,089f7aad5h,05bb94183h,07ef936feh,0b05cd7f2h,092ca0753h,074a1e035h,09d65db11h,013eaea92h,002628cc8h,049e4fbf2h,0f2d9e242h,0e384f8b7h,094fdfd9bh + DD 063428c6bh,065f56054h,090b409a5h,02f7205b2h,0ff45ae11h,0f778bb78h,0c5ee53b2h,0a13045beh,003ef77feh,0e00a14ffh,0ffef8befh,0689cd59fh,01e9ade22h,03578f0edh,06268b6a8h,0e99f3ec0h + DD 0ea1b3c3eh,0a2057d91h,0b8823a4ah,02d1a7053h,02cca451eh,0abbb336ah,02218bb5dh,0cd2466e3h,0c8cb762dh,03ac1f42fh,07690211fh,07e312aaeh,045d07450h,0ebb9bd73h,046c2213fh,0207c4b82h + DD 0375913ech,099d425c1h,067908220h,094e45e96h,0cd67dbf6h,0c08f3087h,0c0887056h,0a5670fbeh,066f5b8fch,06717b64ah,0786fec28h,0d5a56aeah,0c0ff4952h,0a8c3f55fh,0457ac49bh,0a77fefaeh + DD 098379d44h,029882d7ch,0509edc8ah,0d000bdfbh,0e66fe464h,0c6f95979h,0fa61bde0h,0504a6115h,0effea31ah,056b3b871h,0f0c21a54h,02d3de26dh,0834753bfh,021dbff31h,069269d86h,0e67ecf49h + DD 0151fe690h,07a176952h,07f2adb5fh,003515804h,0d1b62a8dh,0ee794b15h,0aae454e6h,0f004ceech,0f0386fach,00897ea7ch,0d1fca751h,03b62ff12h,01b7a04ech,0154181dfh,0fb5847ech,02008e04ah + DD 041dbd772h,0d147148eh,022942654h,02b419f73h,0e9c544f7h,0669f30d3h,0c8540149h,052a2c223h,0634dfb02h,05da9ee14h,0f47869f3h,05f074ff0h,0a3933acch,074ee878dh,04fe35ed1h,0e6510651h + DD 0f1012e7ah,0b3eb9482h,0a8a566aeh,051013cc0h,047c00d3bh,0dd5e9243h,0946bb0e5h,07fde089dh,0c731b4b3h,0030754feh,099fda062h,012a136a4h,05a1a35bch,07c1064b8h,0446c84efh,0bf1f5763h + DD 0a16d4b34h,0ed29a56dh,0dca21c4fh,07fba9d09h,06d8de486h,066d7ac00h,073a2a5e1h,060061987h,09da28ff0h,08b400f86h,043c4599ch,03133f708h,0ee28cb0dh,09911c9b8h,08e0af61dh,0cd7e2874h + DD 072ed91fch,05a85f0f2h,09cd4a373h,085214f31h,01925253ch,0881fe5beh,091e8bc76h,0d8dc98e0h,0585cc3a2h,07120affeh,0735bf97ah,0724952edh,03eb34581h,05581e7dch,0e52ee57dh,05cbff4f2h + DD 087d8cc7bh,08d320a0eh,0f1d280d0h,09beaa7f3h,09beec704h,07a0b9571h,05b7f0057h,09126332eh,08ed3bd6dh,001fbc1b4h,0d945eb24h,035bb2c12h,09a8ae255h,06404694eh,08d6abfb3h,0b6092eech + DD 0cc058865h,04d76143fh,06e249922h,07b0a5af2h,06a50d353h,08aef9440h,064f0e07ah,0e11e4bcch,0a14a90fah,04472993ah,0ba0c51d4h,07706e20ch,01532672dh,0f403292fh,021829382h,052573bfah + DD 03b5bdb83h,06a7bb6a9h,0a4a72318h,008da65c0h,063eb065fh,0c58d22aah,01b15d685h,01717596ch,0b266d88bh,0112df0d0h,05941945ah,0f688ae97h,07c292cach,0487386e3h,057d6985ch,042f3b50dh + DD 06a90fc34h,06da4f998h,065ca8a8dh,0c8f257d3h,06951f762h,0c2feabcah,074c323ach,0e1bc81d0h,0251a2a12h,01bc68f67h,0be8a70dch,010d86587h,0f0f84d2eh,0d648af7fh,06a43ac92h,0f0aa9ebch + DD 027596893h,069e3be04h,045bf452bh,0b6bb02a6h,0f4c698c8h,00875c11ah,0bece3794h,06652b5c7h,04f5c0499h,07b3755fdh,0b5532b38h,06ea16558h,0a2e96ef7h,0d1c69889h,061ed8f48h,09c773c3ah + DD 09b323abch,02b653a40h,0f0e1d791h,0e26605e1h,04a87157ah,045d41064h,0cbbce616h,08f9a78b7h,0c407edddh,0cf1e44aah,0a35b964fh,081ddd1d8h,0fd083999h,0473e339eh,08e796802h,06c94bddeh + DD 08545d185h,05a304adah,0738bb8cbh,082ae44eah,0df87e10eh,0628a35e3h,0a15b9fe3h,0d3624f3dh,014be4254h,0cc44209bh,0bdbc2ea5h,07d0efcbch,004c37bbeh,01f603362h,056a5852ch,021f363f5h + DD 0a8501550h,0a1503d1ch,0d8ab10bbh,02251e0e1h,06961c51ch,0de129c96h,081910f68h,01f7246a4h,05f2591f2h,02eb744eeh,05e627157h,03c47d33fh,022f3bd68h,04d6d62c9h,0cb8df856h,06120a64bh + DD 07b5d07dfh,03a9ac6c0h,07ef39783h,0a92b9558h,0ab3a9b4fh,0e128a134h,0b1252f05h,041c18807h,080ba9b1ch,0fc7ed089h,0c532a9ddh,0ac8dc6deh,055246809h,0bf829cefh,05b4ee80fh,0101b784fh + DD 0b6f11603h,0c09945bbh,041d2801eh,057b09dbeh,0a97534a8h,0fba5202fh,0c17b9614h,07fd8ae5fh,078308435h,0a50ba666h,0d3868c4dh,09572f77ch,02dd7aab0h,00cef7bfdh,02c7c79ffh,0e7958e08h + DD 025346689h,081262e42h,0b07c7004h,0716da290h,0b7950ee3h,035f911eah,0261d21b5h,06fd72969h,008b640d3h,052389803h,0887f12a1h,05b0026eeh,0742e9311h,020e21660h,05ff77ff7h,00ef6d541h + DD 0f9c41135h,0969127f0h,068a64993h,0f21d60c9h,0e541875ch,0656e5d0ch,0a1d3c233h,0f1e0f84eh,006002d60h,09bcca359h,006191552h,0be2da60ch,061181ec3h,05da8bbaeh,065806f19h,09f04b823h + DD 0d4b79bb8h,0f1604a7dh,052c878c8h,0aee806fbh,08d47b8e8h,034144f11h,0949f9054h,072edf52bh,02127015ah,0ebfca84eh,09cb7cef3h,09051d0c0h,0296deec8h,086e8fe58h,041010d74h,033b28188h + DD 0171b445fh,001079383h,08131ad4ch,09bcf21e3h,0c93987e8h,08cdfe205h,0c92e8c8fh,0e63f4152h,030add43dh,0729462a9h,0c980f05ah,062ebb143h,03b06e968h,04f3954e5h,0242cf6b1h,0fe1d75adh + DD 0af8685c8h,05f95c6c7h,02f8f01aah,0d4c1c8ceh,02574692ah,0c44bbe32h,0d4a4a068h,0b8003478h,02eca3cdbh,07c8fc6e5h,0ec04d399h,0ea1db16bh,08f2bc5cfh,0b05bc82eh,0f44793d2h,0763d517fh + DD 008bd98d0h,04451c1b8h,06575f240h,0644b1cd4h,07375d270h,06907eb33h,0fa2286bdh,056c8bebdh,0c4632b46h,0c713d2ach,0afd60242h,017da427ah,0c95c7546h,0313065b7h,0bf17a3deh,0f8239898h + DD 04c830320h,0f3b7963fh,0903203e3h,0842c7aa0h,0e7327afbh,0af22ca0ah,0967609b6h,038e13092h,0757558f1h,073b8fb62h,0f7eca8c1h,03cc3e831h,0f6331627h,0e4174474h,0c3c40234h,0a77989cah + DD 044a081e0h,0e5fd17a1h,0b70e296ah,0d797fb7dh,0481f719ch,02b472b30h,0fe6f8c52h,00e632a98h,0c5f0c284h,089ccd116h,02d987c62h,0f51088afh,04c2de6cfh,02a2bccdah,0f679f0f9h,0810f9efeh + DD 07ffe4b3eh,0b0f394b9h,0e5fa5d21h,00b691d21h,09dfbbc75h,0b0bd7747h,0faf78b00h,0d2830fdah,052434f57h,0f78c249ch,098096dabh,04b1f7545h,08ff8c0b3h,073bf6f94h,0454e134ch,034aef03dh + DD 0b7ac7ec5h,0f8d151f4h,0e50da7d5h,0d6ceb95ah,0dc3a0eb8h,0a1b492b0h,0b3dd2863h,075157b69h,0c5413d62h,0e2c4c74eh,0bc5fc4c7h,0be329ff7h,060fa9ddah,0835a2aeah,07445cb87h,0f117f5adh + DD 0b0166f7ah,0ae8317f4h,0ceec74e6h,0fbd3e3f7h,0e0874bfdh,0fdb516ach,0c681f3a3h,03d846019h,07c1620b0h,00b12ee5ch,02b63c501h,0ba68b4ddh,06668c51eh,0ac03cd32h,04e0bcb5bh,02a6279f7h + DD 06ae85c10h,017bd69b0h,01dfdd3a6h,072946979h,02c078bech,0d9a03268h,0bfd68a52h,041c6a658h,00e023900h,0cdea1024h,0b10d144dh,0baeec121h,0058ab8dch,05a600e74h,0bb89ccddh,01333af21h + DD 03aaba1f1h,0df25eae0h,03b7144cfh,02cada16eh,071ab98bch,0657ee27dh,07a6fc96eh,099088b4ch,03549dbd4h,005d5c0a0h,0f158c3ach,042cbdf8fh,087edd685h,03fb6b3b0h,086f064d0h,022071cf6h + DD 0ff2811e5h,0d2d6721fh,0fe7fae8ch,0db81b703h,0d3f1f7bbh,03cfb74efh,016cdeb5dh,00cdbcd76h,0566a808ch,04f39642ah,0340064d6h,002b74454h,00528fa6fh,0fabbadcah,0d3fc0bb6h,0e4c3074ch + DD 0b796d219h,0b32cb8b0h,034741dd9h,0c3e95f4fh,068edf6f5h,087212125h,0a2b9cb8eh,07a03aee4h,0f53a89aah,00cd3c376h,0948a28dch,00d8af9b1h,0902ab04fh,0cf86a3f4h,07f42002dh,08aacb62ah + DD 0f62ffd52h,0106985ebh,05797bf10h,0e670b54eh,0c5e30aefh,04b405209h,04365b5e9h,012c97a20h,01fe32093h,0104646ceh,03907a8c9h,013cb4ff6h,0d46e726bh,08b9f30d1h,0aba0f499h,0e1985e21h + DD 010a230cdh,0c573dea9h,0cd30f947h,024f46a93h,0abe2010ah,0f2623fcfh,073f00e4fh,03f278cb2h,050b920ebh,0ed55c67dh,08e760571h,0f1cb9a2dh,00895b709h,07c50d109h,0190d4369h,04207cf07h + DD 0c4127fe1h,03b027e81h,03ae9c566h,0a9f8b9adh,0acbfbba5h,05ab10851h,0569556f5h,0a747d648h,02ba97bf7h,0cc172b5ch,0bcfa3324h,015e0f77dh,07686279dh,0a345b797h,0e38003d3h,05a723480h + DD 08f5fcda8h,0fd8e139fh,0bdee5bfdh,0f3e558c4h,0e33f9f77h,0d76cbaf4h,071771969h,03a4c97a4h,0f6dce6a7h,0da27e84bh,013e6c2d1h,0ff373d96h,0d759a6e9h,0f115193ch,063d2262ch,03f9b7025h + DD 0317cd062h,0d9764a31h,0199f8332h,030779d8eh,016b11b0bh,0d8074106h,078aeaed8h,07917ab9fh,028fb1d8eh,0b67a9cbeh,0136eda33h,02e313563h,0a371a86ch,0010b7069h,06744e6b7h,044d90fa2h + DD 0d6b3e243h,068190867h,059048c48h,09fe6cd9dh,095731538h,0b900b028h,032cae04fh,0a012062fh,09399d082h,08107c8bch,041df12e2h,047e8c54ah,0b6ef3f73h,014ba5117h,081362f0bh,022260beah + DD 01a18cc20h,090ea261eh,02321d636h,02192999fh,0e311b6a0h,0ef64d314h,03b54a1f5h,0d7401e4ch,06fbca2bah,019019983h,08fbffc4bh,046ad3293h,03786bf40h,0a142d3f6h,0b67039fch,0eb5cbc26h + DD 0252bd479h,09cb0ae6ch,012b5848fh,005e0f88ah,0a5c97663h,078f6d2b2h,0c162225ch,06f6e149bh,0de601a89h,0e602235ch,0f373be1fh,0d17bbe98h,0a8471827h,0caf49a5bh,018aaa116h,07e1a0a85h + DD 0270580c3h,06c833196h,0f1c98a14h,01e233839h,0ae34e0a5h,067b2f7b4h,0d8ce7289h,047ac8745h,0100dd467h,02b74779ah,04ee50d09h,0274a4337h,083608bc9h,0603dcf13h,0c89e8388h,0cd9da6c3h + DD 0355116ach,02660199fh,0b6d18eedh,0cc38bb59h,02f4bc071h,03075f31fh,0265dc57eh,09774457fh,0c6db88bbh,006a6a9c8h,04ec98e04h,06429d07fh,005ecaa8bh,08d05e57bh,07872ea7bh,020f140b1h + DD 0ca494693h,0df8c0f09h,0f252e909h,048d3a020h,057b14b12h,04c5c29afh,0bf47ad1ch,07e6fa37dh,049a0c938h,066e7b506h,06be5f41fh,0b72c0d48h,0b2359412h,06a6242b8h,08e859480h,0cd35c774h + DD 087baa627h,012536feah,0f72aa680h,058c1fec1h,0601e5dc9h,06c29b637h,0de9e01b9h,09e3c3c1ch,02bcfe0b0h,0efc8127bh,02a12f50dh,035107102h,04879b397h,06ccd6cb1h,0f8a82f21h,0f792f804h + DD 0a9b46402h,0509d4804h,0c10f0850h,0edddf85dh,04b6208aah,0928410dch,0391012dch,0f6229c46h,07727b9b6h,0c5a7c41eh,0aa444842h,0289e4e4bh,0e9a947eah,0049ba1d9h,083c8debch,044f9e47fh + DD 0611f8b8eh,0fa77a1feh,0f518f427h,0fd2e416ah,0114ebac3h,0c5fffa70h,05d89697bh,0fe57c4e9h,0b1aaf613h,0fdd053ach,0ea585a45h,031df210fh,024985034h,0318cc10eh,05f1d6130h,01a38efd1h + DD 00b1e9e21h,0bf86f237h,01dbe88aah,0b258514dh,090c1baf9h,01e38a588h,0bdb9b692h,02936a01eh,06dd5b20ch,0d576de98h,070f98ecfh,0b586bf71h,0c42d2fd7h,0cccf0f12h,0fb35bd7bh,08717e61ch + DD 035e6fc06h,08b1e5722h,00b3e13d5h,03477728fh,0aa8a7372h,0150c294dh,03bfa528ah,0c0291d43h,0cec5a196h,0c6c8bc67h,05c2e8a7ch,0deeb31e4h,0fb6e1c51h,0ba93e244h,02e28e156h,0b9f8b71bh + DD 0968a2ab9h,0ce65a287h,046bbcb1fh,0e3c5ce69h,0e7ae3f30h,0f8c835b9h,0ff72b82bh,016bbee26h,0fd42cd22h,0665e2017h,0f8b1d2a0h,01e139970h,079204932h,0125cda29h,049c3bee5h,07aee94a5h + DD 089821a66h,068c70160h,08f981669h,0f7c37678h,048cc3645h,0d90829fch,0d70addfch,0346af049h,0370bf29ch,02057b232h,042e650eeh,0f90c73ceh,0a126ab90h,0e03386eah,0975a087bh,00e266e7eh + DD 00fca65d9h,080578eb9h,016af45b8h,07e2989eah,0cac75a4eh,07438212dh,04fef36b8h,038c7ca39h,0d402676ah,08650c494h,0f72c7c48h,026ab5a66h,0ce3a464eh,04e6cb426h,02b72f841h,0f8f99896h + DD 01a335cc8h,08c318491h,06a5913e4h,0563459bah,0c7b32919h,01b920d61h,0a02425adh,0805ab8b6h,08d006086h,02ac512dah,0bcf5c0fdh,06ca4846ah,0ac2138d7h,0afea51d8h,0344cd443h,0cb647545h + DD 0bd7d9040h,00429ee8fh,0819b9c96h,0ee66a2deh,0dea7d744h,054f9ec25h,0671721bbh,02ffea642h,0114344eah,04f19dbd1h,0fd0dbc8bh,004304536h,029ec7f91h,0014b50aah,0bb06014dh,0b5fc22feh + DD 01ee682e0h,060d963a9h,0fe85c727h,0df48abc0h,02e707c2dh,00cadba13h,0a645aeffh,0de608d3ah,0edafd883h,005f1c28bh,0bd94de1fh,03c362edeh,013593e41h,08dd0629dh,0766d6eafh,00a5e736fh + DD 0f68cf9d1h,0bfa92311h,0c1797556h,0a4f9ef87h,05601c209h,010d75a1fh,009b07361h,0651c374ch,088b5ceadh,049950b58h,06fa9dbaah,00ef00058h,04e15f33ah,0f51ddc26h,02ef46140h,01f8b5ca6h + DD 0ee9523f0h,0343ac0a3h,0975ea978h,0bb75eab2h,0107387f4h,01bccf332h,09ab0062eh,0790f9259h,01e4f6a5fh,0f1a363adh,062519a50h,006e08b84h,07265f1eeh,060915187h,093ae985eh,06a80ca34h + DD 0aaba4864h,081b29768h,08d52a7d6h,0b13cabf2h,08ead03f1h,0b5c36348h,081c7c1c0h,0c932ad95h,0cae1e27bh,05452708eh,01b0df648h,09dac4269h,0dfcdb8bch,0233e3f0ch,0ec540174h,0e6ceccdfh + DD 095081181h,0bd0d845eh,0699355d5h,0cc8a7920h,0c3b375a8h,0111c0f6dh,0fd51e0dch,0fd95bc6bh,06888523ah,04a106a26h,0cb01a06dh,04d142bd6h,0adb9b397h,079bfd289h,0e9863914h,00bdbfb94h + DD 01660f6a6h,029d8a229h,0551c042dh,07f6abcd6h,00ac3ffe8h,013039debh,0ec8523fbh,0a01be628h,00ca1c328h,06ea34103h,0b903928eh,0c74114bdh,09e9144b0h,08aa4ff4eh,07f9a4b17h,07064091fh + DD 0e447f2c4h,0a3f4f521h,0604291f0h,081b8da7ah,07d5926deh,0d680bc46h,034a1202fh,084f21fd5h,04e9df3d8h,01d1e3181h,039ab8d34h,01ca4861ah,05b19aa4ah,0809ddeech,04d329366h,059f72f7eh + DD 0386d5087h,0a2f93f41h,0dd67d64fh,040bf739ch,066702158h,0b4494205h,073b1e178h,0c33c65beh,038ca6153h,0cdcd657ch,0dc791976h,097f4519ah,0cd6e1f39h,0cc7c7f29h,07e3c3932h,038de9cfbh + DD 07b793f85h,0e448eba3h,0f067e914h,0e9f8dbf9h,0f114ae87h,0c0390266h,0cd6a8e2ah,039ed75a7h,07ffba390h,0adb14848h,06af9bc09h,067f8cb8bh,09c7476dbh,0322c3848h,052a538d6h,0a320fecfh + DD 0b2aced2bh,0e0493002h,0616bd430h,0dfba1809h,0c331be70h,0531c4644h,090d2e450h,0bc04d32eh,00f9f142dh,01805a0d1h,047ee5a23h,02c44a0c5h,03989b4e3h,031875a43h,00c063481h,06b1949fdh + DD 0be0f4492h,02dfb9e08h,0e9d5e517h,03ff0da03h,0f79466a8h,003dbe9a1h,015ea9932h,00b87bcd0h,0ab1f58abh,0eb64fc83h,0817edc8ah,06d9598dah,01d3b67e5h,0699cff66h,092635853h,0645c0f29h + DD 0eabaf21ch,0253cdd82h,02241659eh,082b9602ah,02d9f7091h,02cae07ech,08b48cd9bh,0be4c720ch,06f08d6c9h,06ce5bc03h,0af10bf40h,036e8a997h,03e10ff12h,083422d21h,0bcc12494h,07b26d3ebh + DD 0c9469ad6h,0b240d2d0h,030afa05bh,0c4a11b4dh,0dd6ba286h,04b604aceh,03ee2864ch,018486600h,08d9ce5beh,05869d6bah,0ff4bfb0dh,00d8f68c5h,05700cf73h,0b69f210bh,06d37c135h,061f6653ah + DD 05aff5a48h,0ff3d432bh,072ba3a69h,00d81c4b9h,0fa1899efh,0ee879ae9h,02d6acafdh,0bac7e2a0h,01c664399h,0d6d93f6ch,05bcb135dh,04c288de1h,09dab7cbfh,083031dabh,03abbf5f0h,0fe23feb0h + DD 0cdedca85h,09f1b2466h,01a09538ch,0140bb710h,05e11115dh,0ac8ae851h,06f03f59eh,00d63ff67h,07d234afbh,0755e5551h,07e208fc1h,061c2db4eh,0f28a4b5dh,0aa9859ceh,034af030fh,0bdd6d4fch + DD 03be01cb1h,0d1c4a26dh,0243aa07ch,09ba14ffch,0b2503502h,0f95cd3a9h,07d2a93abh,0e379bc06h,0d4ca8d68h,03efc18e9h,080bb412ah,0083558ech,09645a968h,0d903b940h,09ba6054fh,0a499f0b6h + DD 0b8349abeh,0208b573ch,030b4fc1ch,03baab3e5h,0cb524990h,087e978bah,0ccdf0e80h,03524194eh,07d4bcc42h,062711725h,0b90109bah,0e90a3d9bh,01323e1e0h,03b1bdd57h,05eae1599h,0b78e9bd5h + DD 09e03d278h,00794b746h,0d70e6297h,080178605h,099c97855h,0171792f8h,0f5a86b5ch,011b393eeh,0d8884f27h,048ef6582h,0bf19ba5fh,0bd44737ah,0a42062c6h,08698de4ch,061ce9c54h,08975eb80h + DD 0d7fe71f3h,0d50e57c7h,0bc97ce38h,015342190h,04df07b63h,051bda2deh,0200eb87dh,0ba12aeaeh,0a9b4f8f6h,0abe135d2h,0fad6d99ch,004619d65h,07994937ch,04a6683a7h,06f94f09ah,07a778c8bh + DD 020a71b89h,08c508623h,01c229165h,0241a2aedh,0aaf83a99h,0352be595h,01562bac8h,09fbfee7fh,05c4017e3h,0eaf658b9h,015120b86h,01dc7f9e0h,04c034d6fh,0d84f13ddh,0eaea3038h,0283dd737h + DD 0cd85d6a2h,0197f2609h,0fae60177h,06ebbc345h,04e12fedeh,0b80f031bh,007a2186bh,0de55d0c2h,024dcdd5ah,01fb3e37fh,07ed191fbh,08d602da5h,076023e0dh,0108fb056h,0459c20c0h,070178c71h + DD 03fe54cf0h,0fad5a386h,002bbb475h,0a4a3ec4fh,0919d94d7h,01aa5ec20h,0a81e4ab3h,05d3b63b5h,05ad3d2afh,07fa733d8h,0d1ac7a37h,0fbc586ddh,040779614h,0282925deh,0e74a242ah,0fe0ffffbh + DD 0906151e5h,03f39e67fh,055e10649h,0cea27f5fh,0c17cf7b7h,0dca1d4e1h,02fe2362dh,00c326d12h,07dd35df3h,005f7ac33h,0c396dbdfh,00c3b7639h,003b7db1ch,00912f5ach,05c9ed4a9h,09dea4b70h + DD 0aae3f639h,0475e6e53h,0fc278bach,0faba0e7ch,09490375fh,016f9e221h,0a5a7ed0ah,0aebf9746h,0f41ad5d6h,045f9af3fh,0b2e99224h,003c4623ch,0b3cf56aah,082c5bb5ch,034567ed3h,064311819h + DD 08be489ach,0ec57f211h,0b9a1104bh,02821895dh,06064e007h,0610dc875h,05b20d0feh,08e526f3fh,05b645aeeh,06e71ca77h,0800e10ffh,03d1dcb9fh,0189cf6deh,036b51162h,06bb17353h,02c5a3e30h + DD 02a6c6fbfh,0c186cd3eh,04bf97906h,0a74516fah,0279d6901h,05b4b8f4bh,02b573743h,00c4e57b4h,0b6e386b6h,075fdb229h,099deac27h,0b46793fdh,0cf712629h,0eeec47eah,0cbc3b2ddh,0e965f3c4h + DD 0425c6559h,08dd1fb83h,00af06fdah,07fc00ee6h,033d956dfh,0e98c9225h,04fbdc8a2h,00f1ef335h,0b79b8ea2h,02abb5145h,0bdbff288h,040fd2945h,0d7185db7h,06a814ac4h,0c084609ah,0c4329d6fh + DD 0ed1be45dh,0c9ba7b52h,0e4cd2c74h,0891dd20dh,0824139b1h,05a4d4a7fh,0b873c710h,066c17716h,02843c4e0h,05e5bc141h,0b97eb5bfh,0d5ac4817h,0450c95c7h,0c0f8af54h,0318406c5h,0c91b3fa0h + DD 0ab9d97f8h,0360c340ah,090a2d611h,0fb57bd07h,0a6a6f7e5h,04339ae3ch,02feb8a10h,09c1fcd2ah,0c7ea7432h,0972bcca9h,0308076f6h,01b0b924ch,02a5b4ca5h,080b2814ah,061ef3b29h,02f78f55bh + DD 0c18a414fh,0f838744ah,0903d0a86h,0c611eaaeh,02a453f55h,094dabc16h,014efb279h,0e6f2e3dah,09320dc3ch,05b7a6017h,08df6b5a4h,0692e382fh,02d40fa90h,03f5e15e0h,0643dd318h,0c87883aeh + DD 053544774h,0511053e4h,03adba2bch,0834d0ecch,0bae371f5h,04215d7f7h,06c8663bch,0fcfd57bfh,0d6901b1dh,0ded2383dh,0b5587dc3h,03b49fbb4h,007625f62h,0fd44a08dh,09de9b762h,03ee4d65bh + DD 00d63d1fah,064e5137dh,002a9d89fh,0658fc052h,050436309h,048894874h,0d598da61h,0e9ae30f8h,0818baf91h,02ed710d1h,08b6a0c20h,0e27e9e06h,01c1a6b44h,01e28dcfbh,0d6ac57dch,0883acb64h + DD 0c2c6ff70h,08735728dh,0c5dc2235h,079d6122fh,019e277f9h,023f5d003h,0dded8cc7h,07ee84e25h,063cd880ah,091a8afb0h,03574af60h,03f3ea7c6h,002de7f42h,00cfcdc84h,0b31aa152h,062d0792fh + DD 08a5807ceh,08e1b4e43h,0e4109a7eh,0ad283893h,0afd59ddah,0c30cc9cbh,03d8d8093h,0f65f36c6h,0a60d32b2h,0df31469eh,03e8191c8h,0ee93df4bh,0355bdeb5h,09c1017c5h,08616aa28h,0d2623185h + DD 0dec31a21h,0b02c83f9h,06ad9d573h,0988c8b23h,0a57be365h,053e983aeh,0646f834eh,0e968734dh,05da6309bh,09137ea8fh,0c1f1ce16h,010f3a624h,0ca440921h,0782a9ea2h,05b46f1b5h,0df94739eh + DD 0cce85c9bh,09f9be006h,0a4c7c2d3h,0360e70d6h,0aefa1e60h,02cd5beeah,08c3d2b6dh,064cf63c0h,0e1cf6f90h,0fb107fa3h,0d5e044e6h,0b7e937c6h,0ce34db9fh,074e8ca78h,03e210bd0h,04f8b36c1h + DD 034a35ea8h,01df165a4h,04d4412f6h,03418e0f7h,0518836c3h,05af1f8afh,0130e1965h,042ceef4dh,0543a1957h,05560ca0bh,0886cb123h,0c33761e5h,0fe98ed30h,066624b1fh,01090997dh,0f772f4bfh + DD 04885d410h,0f4e540bbh,09ba5f8d7h,07287f810h,0de98dfb1h,022d0d865h,0bcfbb8a3h,049ff51a1h,06bc3012eh,0b6b6fa53h,0170d541dh,03d31fd72h,04b0f4966h,08018724fh,087dbde07h,079e7399fh + DD 0f4f8b16ah,056f8410eh,0c47b266ah,097241afeh,06d9c87c1h,00a406b8eh,0cd42ab1bh,0803f3e02h,004dbec69h,07f0309a8h,03bbad05fh,0a83b85f7h,0ad8e197fh,0c6097273h,05067adc1h,0c097440eh + DD 03524ff16h,0730eafb6h,0823fc6ceh,0d7f9b51eh,0443e4ac0h,027bd0d32h,04d66f217h,040c59ad9h,017c387a4h,06c33136fh,0eb86804dh,05043b8d5h,0675a73c9h,074970312h,0f16669b6h,0838fdb31h + DD 0418e7dddh,0c507b6ddh,0472f19d6h,039888d93h,00c27eb4dh,07eae26beh,0fbabb884h,017b53ed3h,02b01ae4fh,0fc27021bh,0cf488682h,088462e87h,0215e2d87h,0bee096ech,0d242e29bh,0eb2fea9ah + DD 0b821fc28h,05d985b5fh,0dc1e2ad2h,089d2e197h,09030ba62h,055b566b8h,04f41b1c6h,0e3fd41b5h,0b9a96d61h,0b738ac2eh,0369443f4h,07f8567cah,0f803a440h,08698622dh,08fe2f4dch,02b586236h + DD 056b95bceh,0bbcc00c7h,0616da680h,05ec03906h,072214252h,079162ee6h,086a892d2h,043132b63h,02f3263bfh,04bdd3ff2h,09cd0a142h,0d5b3733ch,044415ccbh,0592eaa82h,08d5474eah,0663e8924h + DD 05236344eh,08058a25eh,0bda76ee6h,082e8df9dh,011cc3d22h,0dcf6efd8h,03b4ab529h,000089cdah,0bd38a3dbh,091d3a071h,0ef72b925h,04ea97fc0h,0ea3edf75h,00c9fc15bh,0a4348ed3h,05a6297cdh + DD 0ce7c42d4h,00d38ab35h,082feab10h,09fd493efh,082111b45h,046056b6dh,073efc5c3h,0da11dae1h,05545a7fbh,0dc740278h,040d507e6h,0bdb2601ch,07066fa58h,0121dfeebh,039ae8c2ah,0214369a8h + DD 006e0956ch,0195709cbh,0010cd34bh,04c9d254fh,00471a532h,0f51e13f7h,01e73054dh,0e19d6791h,0db5c7be3h,0f702a628h,0b24dde05h,0c7141218h,0f29b2e2eh,0dc18233ch,085342dbah,03a6bd1e8h + DD 0b311898ch,03f747fa0h,0cd0eac65h,0e2a272e4h,0f914d0bch,04bba5851h,0c4a43ee3h,07a1a9660h,0a1c8cde9h,0e5a367ceh,07271abe3h,09d958ba9h,03d1615cdh,0f3ff7eb6h,0f5ae20b0h,0a2280dceh + DD 0cf640147h,056dba5c1h,05e83d118h,0ea5a2e3dh,0da24c511h,004cd6b6dh,0e854d214h,01c0f4671h,069565381h,091a6b7a9h,0decf1f5bh,0dc966240h,0fcf5d009h,01b22d21ch,09021dbd5h,02a05f641h + DD 0d4312483h,08c0ed566h,0643e216fh,05179a95dh,017044493h,0cc185fech,054991a21h,0b3063339h,00081a726h,0d801ecdbh,04fa89bbbh,00149b0c6h,04391b6b9h,0afe9065ah,0d633f3a3h,0edc92786h + DD 0ae6a8e13h,0e408c24ah,09f3897abh,085833fdeh,0d81a0715h,043800e7eh,0b44ffc5fh,0de08e346h,0cdeff2e0h,07094184ch,0165eaed1h,049f9387bh,0777c468ah,0635d6129h,0538c2dd8h,08c0dcfd1h + DD 07a6a308bh,0d6d9d9e3h,04c2767d3h,062375830h,0f38cbeb6h,0874a8bc6h,0ccb6fd9eh,0d94d3f1ah,0ba21f248h,092a9735bh,06cd1efb0h,0272ad0e5h,005b03284h,07437b69ch,06948c225h,0e7f04702h + DD 0cba2ecech,08a56c04ah,0e3a73e41h,00c181270h,003e93725h,06cb34e9dh,0496521a9h,0f77c8713h,0fa7f9f90h,094569183h,08c9707adh,0f2e7aa4ch,026c1c9a3h,0ced2c9bah,040197507h,09109fe96h + DD 0e9adfe1ch,09ae868a9h,0314e39bbh,03984403dh,0f2fe378fh,0b5875720h,0ba44a628h,033f901e0h,03652438ch,0ea1125feh,09dd1f20bh,0ae9ec4e6h,0bebf7fbdh,01e740d9eh,042dbe79ch,06dbd3ddch + DD 0edd36776h,062082aech,0e9859039h,0f612c478h,0032f7065h,0a493b201h,04ff9b211h,0ebd4d8f2h,0aac4cb32h,03f23a0aah,015ed4005h,0ea3aadb7h,0afa27e63h,0acf17ea4h,0c11fd66ch,056125c1ah + DD 03794f8dch,0266344a4h,0483c5c36h,0dcca923ah,03f9d10a0h,02d6b6bbfh,081d9bdf3h,0b320c5cah,047b50a95h,0620e28ffh,0cef03371h,0933e3b01h,099100153h,0f081bf85h,0c3a8c8d6h,0183be9a0h + DD 0d6bbe24dh,04e3ddc5ah,053843795h,0c6c74630h,065ec2d4ch,078193dd7h,0cd3c89b2h,0b8df26cch,05a483f8dh,098dbe399h,07dd3313ah,072d8a957h,0ab0bd375h,065087294h,07c259d16h,0fcd89248h + DD 07613aa81h,08a9443d7h,085fe6584h,080100800h,07fb10288h,070fc4dbch,0e86beee8h,0f58280d3h,07c978c38h,014fdd82fh,00de44d7bh,0df1204c1h,04160252fh,0a08a1c84h,0c17646a5h,0591554cah + DD 0a05bd525h,0214a37d6h,007957b3ch,048d5f09bh,0d7109bc9h,00247cdcbh,030599ce7h,040f9e4bbh,0f46ad2ech,0c325fa03h,0c3e3f9eeh,000f766cfh,0d43a4577h,0ab556668h,03ee03b93h,068d30a61h + DD 077b46a08h,07ddc81eah,0c7480699h,0cf5a6477h,06633f683h,043a8cb34h,092363c60h,01b867e6bh,01f60558eh,043921114h,02f41450eh,0cdbcdd63h,0cc630e8bh,07fc04601h,097038b43h,0ea7c66d5h + DD 004e99fd8h,07259b8a5h,04785549ah,098a8dd12h,0840552e1h,00e459a7ch,04bb0909eh,0cdfcf4d0h,053758da7h,034a86db2h,0eac997e1h,0e643bb83h,0530c5b7eh,096400bd7h,0b41c8b52h,09f97af87h + DD 0fbeee3f9h,034fc8820h,049091afdh,093e53490h,09a31f35ch,0764b9be5h,057e3d924h,071f37864h,0943aa75eh,002fb34e0h,0ab8ff6e4h,0a18c9c58h,033cf0d19h,0080f31b1h,0083518a7h,05c9682dbh + DD 0b709c3deh,0873d4ca6h,03575b8f0h,064a84262h,0020154bbh,06275da1fh,0d17cf1abh,097678caah,0951a95c3h,08779795fh,050fccc08h,0dd35b163h,033d8f031h,032709627h,0498dd85ch,03c5ab10ah + DD 041dca566h,0b6c185c3h,0d8622aa3h,07de7fedah,0901b6dfbh,099e84d92h,07c4ad288h,030a02b0eh,02fd3cf36h,0c7c81daah,0df89e59fh,0d1319547h,0cd496733h,0b2be8184h,093d3412bh,0d5f449ebh + DD 025fe531dh,07ea41b1bh,06a1d5646h,0f9797432h,02bde501ah,086067f72h,00c85e89ch,0f91481c0h,0f8b05bc6h,0ca8ee465h,002e83cdah,01844e1cfh,0b4dbe33bh,0ca82114ah,04eabfde2h,00f9f8769h + DD 038b27fe2h,04936b1c0h,0aba402dfh,063b6359bh,0656bdbabh,040c0ea2fh,06580c39ch,09c992a89h,02a60aed1h,0600e8f15h,0e0bf49dfh,0eb089ca4h,02d42d99ah,09c233d7dh,04c6bc2fah,0648d3f95h + DD 0e1add3f3h,0dcc383a8h,04f64a348h,0f42c0c6ah,00030dbdbh,02abd176fh,07d6c215eh,04de501a3h,04b9a64bch,04a107c1fh,02496cd59h,0a77f0ad3h,07688dffbh,0fb78ac62h,067937d8eh,07025a2cah + DD 0d1a8f4e7h,0fde8b2d1h,07354927ch,0f5b3da47h,0d9205735h,0e48606a3h,0e177b917h,0ac477cc6h,0a883239ah,0fb1f73d2h,0cc8b8357h,0e12572f6h,0fb1f4f86h,09d355e9ch,0d9f3ec6eh,089b795f8h + DD 0b54398dch,027be56f1h,03fedeed5h,01890efd7h,09c6d0140h,062f77f1fh,0596f0ee4h,07ef0e314h,0cc61dab3h,050ca6631h,0f4866e4fh,04a39801dh,0ae363b39h,066c8d032h,02ead66aah,022c591e5h + DD 0de02a53eh,0954ba308h,0d389f357h,02a6c060fh,0fbf40b66h,0e6cfcde8h,0c6340ce1h,08e02fc56h,073adb4bah,0e4957795h,0a7b03805h,07b86122ch,00c8e6fa6h,063f83512h,0057d7804h,083660ea0h + DD 021ba473ch,0bad79105h,0ded5389dh,0b6c50beeh,0aa7c9bc0h,0ee2caf4dh,08c4e98a7h,0d97b8de4h,0ab3bbddbh,0a9f63e70h,02597815ah,03898aabfh,0ac15b3d9h,07659af89h,0703ce784h,0edf7725bh + DD 0e085116bh,025470fabh,087285310h,004a43375h,0e2bfd52fh,04e39187eh,07d9ebc74h,036166b44h,0fd4b322ch,092ad433ch,0ba79ab51h,0726aa817h,0c1db15ebh,0f96eacd8h,00476be63h,0faf71e91h + DD 0641fad98h,0dd69a640h,029622559h,0b7995918h,0de4199dch,003c6daa5h,0ad545eb4h,092cadc97h,0256534e4h,01028238bh,08595409ah,073e80ce6h,0d05dc59bh,0690d4c66h,0981dee80h,0c95f7b8fh + DD 0d856ac25h,0f4337014h,0ac524dcah,0441bd9ddh,05f0499f5h,0640b3d85h,0d5fda182h,039cf84a9h,0b2aa95a0h,004e7b055h,00ddf1860h,029e33f0ah,0423f6b43h,0082e74b5h,00aaa2b0fh,0217edeb9h + DD 083cbea55h,058b83f35h,0bc185d70h,0c485ee4dh,01e5f6992h,0833ff03bh,0cf0c0dd5h,0b5b9b9cch,04e9e8a50h,07caaee8eh,06269dafdh,0462e907bh,0fbe791c6h,06ed5cee9h,0ed430790h,068ca3259h + DD 013b5ba88h,02b72bdf2h,035ef0ac4h,060294c8ah,019b99b08h,09c3230edh,06c2589aah,0560fff17h,0d6770374h,0552b8487h,09a56f685h,0a373202dh,045f175d9h,0d3e7f907h,0d080d810h,03c2f315fh + DD 07b9520e8h,01130e9ddh,00af037b5h,0c078f9e2h,01e9c104ch,038cd2ec7h,0c472fe92h,00f684368h,06247e7efh,0d3f1b5edh,0396dfe21h,0b32d33a9h,04a9aa2c2h,046f59cf4h,0ff0f7e41h,069cd5168h + DD 04b3234dah,03f59da0fh,0b4579ebeh,0cf0b0235h,06d2476c7h,06d1cbb25h,09dc30f08h,04f0837e6h,0906f6e98h,09a4075bbh,0c761e7d1h,0253bb434h,06e73af10h,0de2e645fh,00c5f131ch,0b89a4060h + DD 0b8cc037fh,0d12840c5h,07405bb47h,03d093a5bh,0206348b8h,06202c253h,0c55a3ca7h,0bf5d57fch,08c3bef48h,089f6c90ch,05a0a960ah,023ac7623h,0552b42abh,0dfbd3d6bh,0132061f6h,03ef22458h + DD 0c97e6516h,0d74e9bdah,0c230f49eh,088779360h,01e74ea49h,0a6ec1de3h,03fb645a2h,0581dcee5h,08f483f14h,0baef2391h,0d137d13bh,06d2dddfch,0d2743a42h,054cde50eh,0e4d97e67h,089a34fc5h + DD 012e08ce5h,013f1f5b3h,0a7f0b2cah,0a80540b8h,001982805h,0854bcf77h,0233bea04h,0b8653ffdh,002b0b4c9h,08e7b8787h,09acb170ah,02675261fh,0930c14e5h,0061a9d90h,0def0abeah,0b59b30e0h + DD 00200ec7dh,01dc19ea6h,00bce132bh,0b6f4a3f9h,0f13e27e0h,0b8d5de90h,01fade16fh,0baee5ef0h,0e4c6cf38h,06f406aaah,0d1369815h,0ab4cfe06h,0efd550c6h,00dcffe87h,075ff7d39h,09d4f59c7h + DD 051deb6adh,0b02553b1h,0b1877749h,0812399a4h,0ca6006e1h,0ce90f71fh,0b02b6e77h,0c32363a6h,0dc36c64dh,002284fbeh,0a7e1ae61h,086c81e31h,0b909d94ah,02576c7e5h,0818b2bb0h,08b6f7d02h + DD 056faa38ah,0eca3ed07h,09305bb54h,0a3790e6ch,07bc73061h,0d784eedah,06dd50614h,0bd56d369h,0229a8aa9h,0d6575949h,04595ec28h,0dcca8f47h,006ab4fe6h,0814305c1h,024f43f16h,0c8c39768h + DD 0523f2b36h,0e2a45f36h,0920d93bbh,0995c6493h,090f1632bh,0f8afdab7h,01c295954h,079ebbecdh,079592f48h,0c7bb3ddbh,05f88e998h,067216a7bh,0bc01193eh,0d91f098bh,0b1db83fch,0f7d928a5h + DD 0e991f600h,055e38417h,02981a934h,02a91113eh,006b13bdeh,0cbc9d648h,00755ff44h,0b011b6ach,0045ec613h,06f4cb518h,0c2f5930ah,0522d2d31h,0382e65deh,05acae1afh,027bc966fh,057643067h + DD 01c7193f0h,05e12705dh,03be8858eh,0f0f32f47h,096c6dfc7h,0785c3d7dh,0bf31795dh,0d75b4a20h,0342659d4h,091acf17bh,044f0378fh,0e596ea34h,0ce52129dh,04515708fh,079f2f585h,017387e1eh + DD 049dee168h,072cfd2e9h,03e2af239h,01ae05223h,01d94066ah,0009e75beh,038abf413h,06cca31c7h,09bc49908h,0b50bd61dh,0f5e2bc1eh,04a9b4a8ch,0946f83ach,0eb6cc5f7h,0ebffab28h,027da93fch + DD 04821c8c5h,0ea314c96h,0a83c15f4h,08de49dedh,07af33004h,07a64cf20h,0c9627e10h,045f1bfebh,054b9df60h,0878b0626h,0a95c0b33h,05e4fdc3ch,0c2035d8eh,0e54a37cah,080f20b8ch,09087cda9h + DD 08319ade4h,036f61c23h,0de8cfdf8h,0766f287ah,0346f3705h,048821948h,016e4f4a2h,049a7b853h,05cedadfdh,0b9b3f8a7h,08db2a815h,08f562815h,001f68f95h,0c0b7d554h,0688a208eh,012971e27h + DD 0d0ff34fch,0c9f8b696h,01222718ch,020824de2h,00c95284dh,07213cf9fh,0dc158240h,0e2ad741bh,054043ccfh,00ee3a6dfh,0d84412b3h,016ff479bh,0dfc98af0h,0f6c74ee0h,052fcd2fbh,0a78a169fh + DD 099c930e9h,0d8ae8746h,049e117a5h,01d33e858h,06624759fh,07581fcb4h,05bedc01dh,0de50644fh,0caf3155eh,0beec5d00h,0bc73e75fh,0672d66ach,0270b01dbh,086b9d8c6h,050f55b79h,0d249ef83h + DD 073978fe3h,06131d6d4h,0754b00a1h,0cc4e4542h,057dfcfe9h,04e05df05h,051ef6bf0h,094b29cddh,09bc7edf2h,0e4530cffh,0d3da65f3h,08ac236fdh,0c8eb0b48h,00faf7d5fh,0660eb039h,04d2de14ch + DD 060430e54h,0c006bba7h,0da3289abh,010a2d0d6h,0d7979c59h,09c037a5dh,0a116d944h,004d1f3d3h,08a0983cdh,09ff22473h,0c883cabbh,028e25b38h,047a58995h,0e968dba5h,0774eebdfh,02c80b505h + DD 04a953bebh,0ee763b71h,01642e7f6h,0502e223fh,061d5e722h,06fe4b641h,0dbef5316h,09d37c5b0h,0f8330bc7h,00115ed70h,075a72789h,0139850e6h,0ffceccc2h,027d7faech,04fd9f7f6h,03016a860h + DD 04cd8f64ch,0c492ec64h,0279d7b51h,058a2d790h,01fc75256h,00ced1fc5h,08f433017h,03e658aedh,005da59ebh,00b61942eh,00ddc3722h,0ba3d60a3h,0742e7f87h,07c311cd1h,0f6b01b6eh,06473ffeeh + DD 0692ac542h,08303604fh,0227b91d3h,0f079ffe1h,015aaf9bdh,019f63e63h,0f1f344fbh,0f99ee565h,0d6219199h,08a1d661fh,0d48ce41ch,08c883bc6h,03c74d904h,01065118fh,00faf8b1bh,0713889eeh + DD 081a1b3beh,0972b3f8fh,0ce2764a0h,04f3ce145h,028c4f5f7h,0e2d0f1cch,0c7f3985bh,0deee0c0dh,0d39e25c3h,07df4adc0h,0c467a080h,040619820h,061cf5a58h,0440ebc93h,0422ad600h,0527729a6h + DD 0b1b76ba6h,0ca6c0937h,04d2026dch,01a2eab85h,019d9ae0ah,0b1715e15h,0bac4a026h,0f1ad9199h,007ea7b0eh,035b3dfb8h,03ed9eb89h,0edf5496fh,02d6d08abh,08932e5ffh,025bd2731h,0f314874eh + DD 03f73f449h,0efb26a75h,08d44fc79h,01d1c94f8h,03bc0dc4dh,049f0fbc5h,03698a0d0h,0b747ea0bh,0228d291eh,05218c3feh,043c129d6h,035b804b5h,0d1acc516h,0fac859b8h,095d6e668h,06c10697dh + DD 00876fd4eh,0c38e438fh,083d2f383h,045f0c307h,0b10934cbh,0203cc2ech,02c9d46eeh,06a8f2439h,065ccde7bh,0f16b431bh,027e76a6fh,041e2cd18h,04e3484d7h,0b9c8cf8fh,08315244ah,064426efdh + DD 0fc94dea3h,01c0a8e44h,0dad6a0b0h,034c8cdbfh,004113cefh,0919c3840h,015490ffah,0fd32fba4h,0795dcfb7h,058d190f6h,083588bafh,0fef01b03h,0ca1fc1c0h,09e6d1d63h,0f0a41ac9h,053173f96h + DD 0ba16f73bh,02b1d402ah,08cf9b9fch,02fb31014h,0446ef7bfh,02d51e60eh,0b91e1745h,0c731021bh,04fee99d4h,09d3b4724h,0fac5c1eah,04bca48b6h,0bbea9af7h,070f5f514h,0974c283ah,0751f55a5h + DD 0cb452fdbh,06e30251ah,050f30650h,031ee6965h,0933548d9h,0b0b3e508h,0f4b0ef5bh,0b8949a4fh,03c88f3bdh,0208b8326h,0db1d9989h,0ab147c30h,044d4df03h,0ed6515fdh,0e72eb0c5h,017a12f75h + DD 036cf69dbh,03b59796dh,056670c18h,01219eee9h,07a070d8eh,0fe3341f7h,0a327f90ch,09b70130bh,00ae18e0eh,036a32462h,046c0a638h,02021a623h,0c62eb0d4h,0251b5817h,04c762293h,087bfbcdfh + DD 0cdd61d64h,0f78ab505h,0c8c18857h,08c7a53fch,016147515h,0a653ce6fh,0ea7d52d5h,09c923aa5h,05c18871fh,0c24709cbh,073b3cc74h,07d53bec8h,0fdd1d4c4h,059264affh,0240da582h,05555917eh + DD 0548f5a0eh,0cae8bbdah,03bbfbbe1h,01910eabah,07677afc3h,0ae579685h,073ff0b5ch,049ea61f1h,04f7c3922h,078655478h,020c68eefh,095d337cdh,0df779ab9h,068f1e1e5h,0b5cf69a8h,014b491b0h + DD 028e3fe89h,07a6cbbe0h,0c5aac0ebh,0e7e1fee4h,0697e5140h,07f47eda5h,0b454921fh,04f450137h,095cd8185h,0db625f84h,0cdb2e583h,074be0ba1h,0dd5e6de4h,0aee4fd7ch,0e8101739h,04251437dh + DD 0ac620366h,0686d72a0h,0b6d59344h,04be3fb9ch,0a1eb75b9h,06e8b44e7h,091a5c10ch,084e39da3h,0b38f0409h,037cc1490h,02c2ade82h,002951943h,01190a2d8h,09b688783h,0231182bah,025627d14h + DD 0658a6d87h,06eb550aah,0cf9c7325h,01405aaa7h,05c8748c9h,0d147142eh,053ede0e0h,07f637e4fh,014ffad2ch,0f8ca2776h,0bafb6791h,0e58fb1bdh,0bf8f93fch,017158c23h,00a4a4655h,07f15b373h + DD 0d842ca72h,039d4add2h,03ed96305h,0a71e4391h,06700be14h,05bb09cbeh,0d8befcf6h,068d69d54h,037183bcfh,0a45f5367h,03370dff7h,07152b7bbh,0bf12525bh,0cf887baah,0d6d1e3cdh,0e7ac7bddh + DD 081fdad90h,025914f78h,00d2cf6abh,0cf638f56h,0cc054de5h,0b90bc03fh,018b06350h,0932811a7h,09bbd11ffh,02f00b330h,0b4044974h,076108a6fh,0a851d266h,0801bb9e0h,0bf8990c1h,00dd099beh + DD 0abe32986h,058c5aaaah,050d59c27h,00fe9dd2ah,08d307305h,084951ff4h,086529b78h,06c23f829h,00b136a79h,050bb2218h,077a20996h,07e2174deh,0c0bb4da6h,06f00a4b9h,0efdde8dah,089a25a17h + DD 0c11ee01dh,0f728a27eh,0e5f10dfbh,0f900553ah,002ec893ch,0189a83c8h,023f66d77h,03ca5bdc1h,097eada9fh,098781537h,010256230h,059c50ab3h,0323c69b3h,0346042d9h,02c460449h,01b715a6dh + DD 06ae06e0bh,0a41dd476h,09d42e25fh,0cdd7888eh,056b25a20h,00f395f74h,08700e27eh,0eadfe0aeh,069950093h,0b09d52a9h,0327f8d40h,03525d9cbh,067df886ah,0b8235a94h,0035faec2h,077e4b0ddh + DD 0517d7061h,0115eb20ah,06c2df683h,077fe3433h,0cdc6fc67h,06870ddc7h,00b87de83h,0b1610588h,0d9c4ddbeh,0343584cah,03d754be2h,0b3164f1ch,0c1e6c894h,00731ed3ah,04f6b904ch,026327dech + DD 097b5cd32h,09d49c6deh,0b5eceecdh,040835daeh,0d9ded7feh,0c66350edh,07a678804h,08aeebb5ch,05b8ee9ech,051d42fb7h,08e3ca118h,0d7a17bddh,02ef4400eh,040d7511ah,0875a66f4h,0c48990ach + DD 02199e347h,08de07d2ah,02a39e051h,0bee75556h,0916e51dch,056918786h,04a2d89ech,0eb191313h,037d341edh,06679610dh,056d51c2bh,0434fbb41h,0d7492dbah,0e54b7ee7h,059021493h,0aa33a79ah + DD 0e4bd6d3dh,049fc5054h,05ab551d0h,009540f04h,04942d3a6h,08acc9085h,02d28323bh,0231af02fh,00992c163h,093458cach,0888e3bb4h,01fef8e71h,0be8c268ch,027578da5h,0e805ec00h,0cc8be792h + DD 0c61c3855h,029267baeh,058c1fd3bh,0ebff429dh,08c0b93b8h,022d886c0h,02ddb8953h,0ca5e00b2h,0c3fed8b7h,0cf330117h,0819c01f6h,0d49ac6fah,03c0fbd54h,06ddaa6bdh,08049a2cfh,091743068h + DD 0aff2ef81h,0d67f981eh,02818ae80h,0c3654d35h,01b2aa892h,081d05044h,03d099328h,02db067bfh,0703dcc97h,0e7c79e86h,0e133e215h,0e66f9b37h,0e39a7a5ch,0cdf119a6h,0876f1b61h,047c60de3h + DD 0d860f1b2h,06e405939h,0f5ed4d4ah,03e9a1dbch,0c9b6bcbdh,03f23619eh,0734e4497h,05ee790cfh,05bdaf9bbh,0f0a834b1h,04ca295f0h,002cedda7h,0cb8e378ch,04619aa2bh,0cc987ea4h,0e5613244h + DD 076b23a50h,00bc022cch,00a6c21ceh,04a2793adh,089cac3f5h,038328780h,0cba26d56h,029176f1bh,04f6f59ebh,006296187h,08bdc658eh,086e9bca9h,057e30402h,02ca9c4d3h,0516a09bbh,05438b216h + DD 07672765ah,00a6a063ch,00547b9bfh,037a3ce64h,098b1a633h,042c099c8h,005ee6961h,0b5ab800dh,011a5acd6h,0f1963f59h,046201063h,0baee6157h,0a596210ah,036d9a649h,01ba7138ch,0aed04363h + DD 0a4a82b76h,0cf817d1ch,0f3806be9h,05586960eh,009dc6bb5h,07ab67c89h,0114fe7ebh,052ace7a0h,0cbbc9b70h,0cd987618h,0604ca5e1h,04f06fd5ah,06dbde133h,090af14cah,0948a3264h,01afe4322h + DD 0c44b2c6ch,0a70d2ca6h,00ef87dfeh,0ab726799h,02e696377h,0310f64dch,04c8126a0h,049b42e68h,0cea0b176h,00ea444c3h,0cb269182h,053a8ddf7h,0bbba9dcbh,0f3e674ebh,0d8669d33h,00d2878a8h + DD 0d019b6a3h,004b935d5h,0406f1e46h,0bb5cf88eh,05b57c111h,0a1912d16h,019ebfd78h,09803fc21h,0c07764a9h,04f231c9eh,0b75bd055h,0d93286eeh,08ee6c9deh,083a9457dh,06087ec90h,004695915h + DD 058d6cd46h,014c6dd8ah,08e6634d2h,09cb633b5h,0f81bc328h,0c1305047h,026a177e5h,012ede0e2h,0065a6f4fh,0332cca62h,067be487bh,0c3a47ecdh,00f47ed1ch,0741eb187h,0e7598b14h,099e66e58h + DD 063d0ff12h,06f0544cah,0b610a05fh,0e5efc784h,07cad7b47h,0f72917b1h,0f2cac0c0h,03ff6ea20h,0f21db8b7h,0cc23791bh,0d7d93565h,07dac70b1h,0694bdaadh,0682cda1dh,01023516dh,0eb88bb8ch + DD 0dfdbeb1bh,0c4c634b4h,0b4ee4deah,022f5ca72h,0e6524821h,01045a368h,0052b18b2h,0ed9e8a3fh,0b961f49ah,09b7f2cb1h,07b009670h,07fee2ec1h,022507a6dh,0350d8754h,04db55f1dh,0561bd711h + DD 0320bbcafh,04c189ccch,0df1de48ch,0568434cfh,00fa8f128h,06af1b00eh,08907583ch,0f0ba9d02h,032ff9f60h,0735a4004h,0c25dcf33h,03dd8e4b6h,042c74cefh,0f2230f16h,0013fa8adh,0d8117623h + DD 0f51fe76eh,036822876h,011d62589h,08a6811cch,046225718h,0c3fc7e65h,0c82fdbcdh,0b7df2c9fh,0dd7b205bh,03b1d4e52h,047a2e414h,0b6959478h,0efa91148h,005e4d793h,0fd2e9675h,0b47ed446h + DD 004c9d9bfh,01a7098b9h,01b793048h,0661e2881h,0b01ee461h,0b1a16966h,02954746fh,0bc521308h,02477de50h,0c909a0fch,07dbd51efh,0d80bb41ch,053294905h,0a85be7ech,083958f97h,06d465b18h + DD 0fb6840fdh,016f6f330h,03401e6c8h,0faaeb214h,0ccb5b4f8h,0af83d30fh,0266dec4bh,022885739h,07bc467dfh,051b4367ch,0d842d27ah,0926562e3h,00fea14a6h,0dfcb6614h,0f2734cd9h,0eb394daeh + DD 011c0be98h,03eeae5d2h,0814e8165h,0b1e6ed11h,0e52bce1ch,0191086bch,0a75a04dah,014b74cc6h,08c060985h,063cf1186h,02dbd7f7ch,0071047deh,0ce0942cah,04e433b8bh,0d8fec61dh,0ecbac447h + DD 0ebf3232fh,08f0ed0e2h,0c52a2eddh,0fff80f9eh,075b55fdbh,0ad9ab433h,0e42e0c11h,073ca7820h,0e6251b46h,06dace0a0h,04c0d932dh,089bc6b5ch,0095da19ah,03438cd77h,08d48bdfbh,02f24a939h + DD 0766561b7h,099b47e46h,00ed0322ah,0736600e6h,0638e1865h,006a47cb1h,0cb136000h,0927c1c2dh,00cc5df69h,029542337h,009d649a9h,099b37c02h,06aefdb27h,0c5f0043ch,01be95c27h,06cdd9987h + DD 0390420d2h,069850931h,00983efa4h,0299c40ach,0af39aeadh,03a05e778h,043a45193h,084274408h,091a711a0h,06bcd0fb9h,09f52ab17h,0461592c8h,0da3c6ed6h,0b49302b4h,0330d7067h,0c51fddc7h + DD 0da50d531h,094babeb6h,0a6a7b9dah,0521b840dh,0404bdc89h,05305151eh,0d0d07449h,01bcde201h,03b76a59ah,0f427a78bh,007791a1bh,0f84841ceh,0bf91ed1ch,0ebd314beh,0bf172943h,08e61d34ch + DD 05541b892h,01d5dc451h,0fc9d9e54h,0b186ee41h,0d5bf610dh,09d9f345eh,0f6acca9fh,03e7ba65dh,0a8369486h,09dda787ah,08eb5ba53h,009f9dab7h,0d6481bc3h,05afb2033h,0afa62104h,076f4ce30h + DD 0f4f066b5h,0a8fa00cfh,0461dafc2h,089ab5143h,0a3389998h,044339ed7h,0bc214903h,02ff862f1h,0b05556e3h,02c88f985h,03467081eh,0cd96058eh,0edc637eah,07d6a4176h,036a5acdch,0e1743d09h + DD 07eb37726h,066fd72e2h,01481a037h,0f7fa264eh,045f4aa79h,09fbd3bdeh,0767c3e22h,0ed1e0147h,082e7abe2h,07621f979h,045f633f8h,019eedc72h,06137bf3ah,0e69b155eh,0414ee94eh,0a0ad13ceh + DD 01c0e651ah,093e3d524h,002ce227eh,0ab1a6e2ah,04ab27ecah,0e7af1797h,0bd444f39h,0245446deh,056c07613h,059e22a21h,0f4275498h,043deafceh,067fd0946h,010834ccbh,047406edfh,0a75841e5h + DD 07b0ac93dh,0ebd6a677h,078f5e0d7h,0a6e37b0dh,076f5492bh,02516c096h,09ac05f3ah,01e4bf888h,04df0ba2bh,0cdb42ce0h,05062341bh,0935d5cfdh,082acac20h,08a303333h,05198b00eh,0429438c4h + DD 0049d33fah,01d083bc9h,0946f67ffh,058b82ddah,067a1d6a3h,0ac3e2db8h,01798aac8h,062e6beadh,0de46c58ch,0fc85980fh,069c8d7beh,0a7f69379h,0837b35ech,023557927h,0e0790c0ch,006a933d8h + DD 0077ff55dh,0827c0e9bh,0bb26e680h,053977798h,01d9cb54fh,059530874h,04aac53efh,0cca3f449h,0a07eda0fh,011dc5c87h,0fd6400c8h,0c138bccfh,013e5da72h,0549680d3h,04540617eh,0c93eed82h + DD 04d0b75c0h,0fd3db157h,06386075bh,09716eb42h,0817b2c16h,00639605ch,0f1e4f201h,009915109h,05cca6c3bh,035c9a928h,03505c900h,0b25f7d1ah,0630480c4h,0eb9f7d20h,02a1a501ch,0c3c7b8c6h + DD 05a1f8e24h,03f99183ch,09dd255f0h,0fdb118fah,0c27f62a6h,0b9b18b90h,0396ec191h,0e8f732f7h,00be786abh,0524a2d91h,00ac5a0f5h,05d32adefh,09725f694h,09b53d4d6h,00510ba89h,0032a76c6h + DD 0ebeb1544h,0840391a3h,03ed73ac3h,044b7b88ch,0256cb8b3h,0d24bae7ah,0e394cb12h,07ceb151ah,05bc1e6a8h,0bd6b66d0h,0090f07bfh,0ec70cecbh,07d937589h,0270644edh,05f1dccfeh,0ee9e1a3dh + DD 0745b98d2h,0b0d40a84h,02556ed40h,0da429a21h,085148cb9h,0f676ecedh,0ded18936h,05a22d40ch,070e8a4ceh,03bc4b9e5h,09eae0379h,0bfd1445bh,01a0bd47eh,0f23f2c0ch,0e1845531h,0a9c0bb31h + DD 00a4c3f6bh,09ddc4d60h,02c15ef44h,0bdfaad79h,07f484acch,0ce55a236h,0055b1f15h,008653ca7h,0538873a3h,02efa8724h,0ace1c7e7h,009299e5dh,0ade332bah,007afab66h,092dd71b7h,09be1fdf6h + DD 05758b11ch,0a49b5d59h,0c8654f40h,00b852893h,052379447h,0b63ef6f4h,0105e690ch,0d4957d29h,0646559b0h,07d484363h,049788a8eh,0f4a8273ch,034ce54a9h,0ee406cb8h,0f86fda9bh,01e1c260fh + DD 0cf6a4a81h,0e150e228h,01b488772h,01fa3b6a3h,0c5a9c15bh,01e6ff110h,08ad6aa47h,0c6133b91h,09dffa978h,08ac5d55ch,05f3965f2h,0ba1d1c1dh,07732b52fh,0f969f4e0h,0a5172a07h,0fceecdb5h + DD 010f2b8f5h,0b0120a5fh,05c4c2f63h,0c83a6cdfh,0f8f9c213h,04d47a491h,0d3f1bbd5h,0d9e1cce5h,0aba7e372h,00d91bc7ch,0dfd1a2dbh,0fcdc74c8h,0374618e5h,005efa800h,015a7925eh,011216969h + DD 0f6021c5dh,0d4c89823h,0eff14423h,0880d5e84h,06dcd1396h,06523bc5ah,0113c978bh,0d1acfdfch,0bbb66840h,0b0c164e8h,072b58459h,0f7f4301eh,0a638e8ech,0c29ad4a6h,046b78699h,0f5ab8961h + DD 00e954750h,09dbd7974h,064f9d2c6h,00121de88h,0d985232eh,02e597b42h,053451777h,055b6c3c5h,0519cb9fbh,0bb53e547h,08428600dh,0f134019fh,0e081791ah,05a473176h,035fb0c08h,02f3e2263h + DD 073d273b0h,0b28c3017h,07721ef9ah,0ccd21076h,0b650dc39h,0054cc292h,06188045eh,0662246deh,06b83c0d1h,0904b52fah,097e9cd46h,0a72df267h,0899725e4h,0886b43cdh,0d849ff22h,02b651688h + DD 002f34533h,060479b79h,00c77c148h,05e354c14h,0a8537c78h,0b4bb7581h,0efe1495fh,0188043d7h,08c1d5026h,09ba12f42h,093d4aaabh,02e0c8a26h,0aa57c450h,0bdba7b8bh,09bbdafefh,0140c9ad6h + DD 025ac0f18h,02067aa42h,004d1fbf3h,0f7b1295bh,0a4b04824h,014829111h,033bd5e91h,02ce3f192h,08f2e1b72h,09c7a1d55h,0302aa243h,0fe932286h,0d4be9554h,0497ca7b4h,0e0547a6eh,0b8e821b8h + DD 067e573e0h,0fb2838beh,04084c44bh,005891db9h,096c1c2c5h,091311373h,0d958444bh,06aebfa3fh,0e56e55c1h,0ac9cdce9h,02caa46d0h,07148ced3h,0b61fe8ebh,02e10c7efh,0ff97cf4dh,09fd835dah + DD 0081e9387h,0a36da109h,08c935828h,0fb9780d7h,0e540b015h,0d5940332h,0e0f466fah,0c9d7b51bh,0d6d9f671h,0faadcd41h,0b1a2ac17h,0ba6c1e28h,0ed201e5fh,0066a7833h,0f90f462bh,019d99719h + DD 0060b5f61h,0f431f462h,07bd057c2h,0a56f46b4h,047e1bf65h,0348dca6ch,041bcf1ffh,09a38783eh,0da710718h,07a5d33a9h,02e0aeaf6h,05a779987h,02d29d187h,0ca87314dh,0c687d733h,0fa0edc3eh + DD 06a31e09bh,09df33621h,0c1350e35h,0de89e44dh,04ca0cf52h,029214871h,00b88a538h,0df379672h,02591d61bh,0c92a510ah,0585b447bh,079aa87d7h,0e5287f77h,0f67db604h,05efe7a80h,01697c8bfh + DD 0cb198ac7h,01c894849h,00f264665h,0a884a93dh,09b200678h,02da964efh,0009834e6h,03c351b87h,0e2c4b44bh,0afb2ef9fh,03326790ch,0580f6c47h,00b02264ah,0b8480521h,042a194e2h,08ba6f9e2h + DD 08fb54738h,0fc87975fh,027c3ead3h,035160788h,0b74a085ah,0834116d2h,0a62fe996h,053c99a73h,05b81c51bh,087585be0h,0be0852b7h,0925bafa8h,0a84d19a7h,076a4fafdh,0585206d4h,039a45982h + DD 05eb03c0eh,0499b6ab6h,072bc3fdeh,0f19b7954h,06e3a80d2h,0a86b5b9ch,06d42819fh,0e4377508h,0bb3ee8a3h,0c1663650h,0b132075fh,075eb14fch,07ad834f6h,0a8ccc906h,0e6e92ffdh,0ea6a2474h + DD 00f8d6758h,09d72fd95h,0408c07ddh,0cb84e101h,0a5e23221h,0b9114bfdh,0e94e742ch,0358b5fe2h,095f40e75h,01c0577ech,03d73f3d6h,0f0155451h,0bd1b9b66h,09d55cd67h,0af8d63c7h,063e86e78h + DD 0d3c095f1h,039d934abh,0e4b76d71h,004b261beh,0e73e6984h,01d2e6970h,05e5fcb11h,0879fb23bh,0dfd75490h,011506c72h,061bcf1c1h,03a97d085h,0bf5e7007h,043201d82h,0798232a7h,07f0ac52fh + DD 06eb564d4h,02715cbc4h,09e570e29h,08d6c752ch,09ef5fd5dh,0f80247c8h,0d53eb514h,0c3c66b46h,00f87de56h,09666b401h,0c6c603b5h,0ce62c06fh,07e4fc942h,0ae7b4c60h,0663a9c19h,038ac0b77h + DD 04b049136h,0cb4d20eeh,0356a4613h,08b63bf12h,070e08128h,01221aef6h,04acb6b16h,0e62d8c51h,0379e7896h,071f64a67h,0cafd7fa5h,0b25237a2h,03841ba6ah,0f077bd98h,03cd16e7eh,0c4ac0244h + DD 021fea4cah,0548ba869h,0f3dfdac1h,0d36d0817h,0f4685fafh,009d8d71fh,0c52c459ah,08eff66beh,00b57235eh,0182faee7h,00106712bh,0ee3c39b1h,0c0fcdcb0h,05107331fh,0a51054bah,0669fb9dch + DD 0319d7682h,0b25101fbh,00a982feeh,0b0293129h,00261b344h,051c1c9b9h,0bfd371fah,00e008c5bh,00278ca33h,0d866dd1ch,0e5aa53b1h,0666f76a6h,06013a2cfh,0e5cfb779h,0a3521836h,01d3a1aadh + DD 073faa485h,0cedd2531h,0c0a76878h,0c8ee6c4fh,02a11667dh,0ddbccfc9h,01c2f695ah,01a418ea9h,051f73971h,0db11bd92h,0da2ed89fh,03e4b3c82h,0e73e0319h,09a44f3f4h,0303431afh,0d1e3de0fh + DD 050f75f9ch,03c5604ffh,07e752b22h,01d8eddf3h,03c9a1118h,00ef074ddh,0ccb86d7bh,0d0ffc172h,0037d90f2h,0abd1ece3h,06055856ch,0e3f307d6h,07e4c6dafh,0422f9328h,0334879a0h,0902aac66h + DD 094cdfadeh,0b6a1e7bfh,07fc6d634h,06c97e1edh,0a2fb63f8h,0662ad24dh,0a5928405h,0f81be1b9h,0d14b4206h,086d765e4h,08fa0db65h,0becc2e0eh,0b17fc76ch,0a28838e0h,0e37cf24eh,0e49a602ah + DD 0567193ech,076b4131ah,0e5f6e70bh,0af3c305ah,0031eebddh,09587bd39h,071bbe831h,05709def8h,00eb2b669h,057059983h,0875b7029h,04d80ce1bh,00364ac16h,0838a7da8h,0be1c83abh,02f431d23h + DD 0f9294dd3h,0e56812a6h,09b4b0d77h,0b448d01fh,004e8305ch,0f3ae6061h,094d8c63eh,02bead645h,084fd8b07h,00a85434dh,0f7a9dee5h,0537b983fh,0ef55bd85h,0edcc5f18h,021c6cf8bh,02041af62h + DD 0b940c71eh,08e52874ch,0db5f4b3ah,0211935a9h,0301b1dc3h,094350492h,029958620h,033d2646dh,0ef911404h,016b0d64bh,09a3c5ef4h,09d1f25eah,04a352c78h,020f200ebh,04bd0b428h,043929f2ch + DD 0c7196e29h,0a5656667h,09391be48h,07992c2f0h,09ee0cd6eh,0aaa97cbdh,03dc8c9bfh,051b0310ch,0dd9f22cbh,0237f8acfh,0b585d584h,0bb1d81a1h,08c416388h,08d5d85f5h,042fe474fh,00d6e5a5ah + DD 038235d4eh,0e7812766h,0496e3298h,01c62bd67h,03f175bc8h,08378660ch,017afdd4dh,04d04e189h,085a8068ch,032a81601h,092b29a85h,0db58e4e1h,0c70d8a3bh,0e8a65b86h,098a0403bh,05f0e6f4eh + DD 069ed2370h,008129684h,00871ee26h,034dc30bdh,07c9c5b05h,03a5ce948h,043a90c87h,07d487b80h,0dd0e7179h,04089ba37h,0b4041811h,045f80191h,098747ba5h,01c3e1058h,06e1ae592h,098c4e13ah + DD 0e82c9f9eh,0d44636e6h,0c33a1043h,0711db87ch,0aa8aec05h,06f431263h,02744a4aah,043ff120dh,0ae77779bh,0d3bd892fh,08cdc9f82h,0f0fe0cc9h,0f1c5b1bch,0ca5f7fe6h,044929a72h,0cc63a682h + DD 009dbe19ah,0c7eaba0ch,06b5c73c2h,02f3585adh,00ae50c30h,08ab8924bh,0638b30bah,017fcd27ah,010b3d5a5h,0af414d34h,02a9accf1h,009c107d2h,0946a6242h,015dac49fh,0d707d642h,0aec3df2ah + DD 03f894ae0h,02c2492b7h,0b75f18ceh,0f59df3e5h,08f53cad0h,07cb740d2h,0c4f01294h,03eb585fbh,032c7f717h,017da0c86h,0af943f4ch,0eb8c795bh,0f67c51d2h,04ee23fb5h,068889949h,0ef187575h + DD 00389168bh,0a6b4bdb2h,0ea577d03h,0c4ecd258h,055743082h,03a63782bh,0c72f08cdh,06f678f4ch,065e58dd8h,0553511cfh,0d402c0cdh,0d53b4e3eh,0a037c14ch,037de3e29h,0c05712aah,086b6c516h + DD 0b38dff6fh,02834da3eh,0ea636be8h,0be012c52h,061dd37f8h,0292d238ch,08f8142dbh,00e54523fh,0036a05d8h,0e31eb436h,01e93c0ffh,083e3cdffh,050821ddfh,03fd2fe0fh,0ff9eb33bh,0c8e19b0dh + DD 0b569a5feh,0c8cc943fh,0d4342d75h,0ad0090d4h,0caeca000h,082090b4bh,01bd410ebh,0ca39687fh,065959d77h,0e7bb0df7h,09c964999h,039d78218h,0b2415451h,0d87f62e8h,0bed76108h,0e5efb774h + DD 0e822f0d0h,03ea011a4h,05a8704f8h,0bc647ad1h,050c6820fh,0bb315b35h,0b7e76bech,0863dec3dh,0f017bfc7h,001ff5d3ah,0976b8229h,020054439h,00bbd0d3bh,0067fca37h,07f5e3d0fh,0f63dde64h + DD 02a4c94e9h,022dbefb3h,096f8278ah,0afbff0feh,03503793dh,080aea0b1h,05f06cd29h,0b2238029h,08ec3fecah,065703e57h,0393e7053h,006c38314h,07c6734c4h,0a0b751ebh,0c59f0f1eh,0d2e8a435h + DD 05e9ca895h,0147d9052h,0972072dfh,02f4dd31eh,0e6c6755ch,0a16fda8eh,0cf196558h,0c66826ffh,00cf43895h,01f1a76a3h,083c3097bh,0a9d604e0h,066390e0eh,0e1908309h,0b3c85effh,0a50bf753h + DD 0f6a70251h,00696bddeh,03c6ab16ah,0548b801bh,0a4d08762h,037fcf704h,0dff76c4eh,0090b3defh,069cb9158h,087e8cb89h,0995ece43h,044a90744h,00ad9fbf5h,0f85395f4h,04fb0c82dh,049b0f6c5h + DD 0adf7cccfh,075d9bc15h,0dfa1e1b0h,081a3e5d6h,0249bc17eh,08c39e444h,08ea7fd43h,0f37dccb2h,0907fba12h,0da654873h,04a372904h,035daa6dah,06283a6c5h,00564cfc6h,04a9395bfh,0d09fa4f6h + DD 0aeb19a36h,0688e9ec9h,0c7bfbfb4h,0d913f1ceh,061c2faa6h,0797b9a3ch,06a0a9c12h,02f979bech,0359679ech,0b5969d0fh,0079b0460h,0ebcf523dh,010fab870h,0fd6b0008h,09373a39ch,03f2edcdah + DD 06f568431h,00d64f9a7h,002f8898ch,0f848c27ch,0260b5bd5h,0f418ade1h,06973dee8h,0c1f3e323h,026c185ddh,046e9319ch,0546f0ac4h,06d85b7d8h,0247f9d57h,0427965f2h,0b0035f48h,0b519b636h + DD 0ab87d59ch,06b6163a9h,039caaa11h,0ff9f58c3h,03177387bh,04ac39cdeh,0873e77f9h,05f6557c2h,036a83041h,067504006h,075ef196ch,09b1c96cah,0b08c7940h,0f34283deh,01128c316h,07ea09644h + DD 06aa39dffh,0b510b3b5h,09f8e4d8ch,059b43da2h,09e4c4b9fh,0a8ce31fdh,0c1303c01h,00e20be26h,0e8ee47c9h,018187182h,07db98101h,0d9687cdbh,0a1e14ff6h,07a520e4dh,08836d572h,0429808bah + DD 04944b663h,0a37ca60dh,0a3f91ae5h,0f901f7a9h,09e36e3b1h,0e4e3e76eh,029d93250h,09aa219cfh,0056a2512h,0347fe275h,0de65d95ch,0a4d643d9h,0699fc3edh,09669d396h,0cf8c6bbeh,0b598dee2h + DD 0dda9e5c6h,0682ac1e5h,0caa9fc95h,04e0d3c72h,0772bea44h,017faaadeh,0ab0009c8h,05ef8428ch,0460ff016h,0cc4ce47ah,0725281cbh,0da6d12bfh,00223aad2h,044c67848h,036256e28h,06e342afah + DD 093a37c04h,01400bb0bh,0dd10bd96h,062b1bc9bh,00dac46b7h,07251adebh,07be4ef51h,07d33b92eh,0e61fa29ah,028b2a94bh,006422233h,04b2be13fh,0330d8d37h,036d6d062h,0b28ca005h,05ef80e1eh + DD 06d16768eh,0174d4699h,0628bf217h,09fc4ff6ah,0154e490dh,077705a94h,08d2d997ah,09d96dd28h,0ce5d72c4h,077e2d9d8h,0c11c714fh,09d06c5a4h,079e4a03eh,002aa5136h,0030ff28bh,01386b3c2h + DD 0fb283f61h,0fe82e8a6h,0f3abc3fbh,07df203e5h,03a4d3622h,0eec7c351h,0df762761h,0f7d17dbfh,0522055f0h,0c3956e44h,08fa748dbh,0de3012dbh,0bf1dcc14h,0ca9fcb63h,0be4e2f3ah,0a56d9dcfh + DD 08bcec9c2h,0b86186b6h,0680b9f06h,07cf24df9h,0c0d29281h,0c46b45eah,007b10e12h,0fff42bc5h,04d289427h,012263c40h,0b4848ec4h,03d5f1899h,0d040800ch,011f97010h,0300feb20h,0b4c5f529h + DD 0de94fdcbh,0cc543f8fh,0c7c2f05eh,0e96af739h,0882692e1h,0aa5e0036h,0950d4ae9h,009c75b68h,0b5932a7ah,062f63df2h,0de0979adh,02658252eh,0b5e69631h,02a19343fh,0525b666bh,0718c7501h + DD 0ea40dc3ah,026a42d69h,0aecc018fh,0dc84ad22h,03270f04ah,025c36c7bh,050fa72edh,046ba6d47h,093e58a8eh,06c37d1c5h,0120c088ch,0a2394731h,0cb6e86dah,0c3be4263h,07126d038h,02c417d36h + DD 08b6f8efah,05b70f9c5h,037718536h,0671a2faah,0b539c92bh,0d3ced3c6h,0a31203c2h,0e56f1bd9h,09ff3c8ebh,08b096ec4h,043491ceah,02deae432h,017943794h,02465c6ebh,020586843h,05d267e66h + DD 0b07159d0h,09d3d116dh,0c1896210h,0ae07a67fh,0bb961579h,08fc84d87h,01c1f8dd6h,030009e49h,0e3132819h,08a8caf22h,0f23ab4ffh,0cffa197ch,0205dd687h,058103a44h,00ded67a2h,057b796c3h + DD 0a1779ad7h,00b9c3a6ch,0357c09c5h,0a33cfe2eh,03db4a57eh,02ea29315h,08ebeb52eh,091959695h,0e546c879h,0118db9a6h,06295c8d6h,08e996df4h,055ec806bh,0dd990484h,0165c1035h,024f291cah + DD 0440e2229h,0cca523bbh,073ef4d04h,0324673a2h,03e11ec39h,0af3adf34h,0dc5968d3h,06136d7f1h,0b053a927h,07a7b2899h,0ae067ecdh,03eaa2661h,002779cd9h,08549b9c8h,0c53385eah,0061d7940h + DD 0f06d18bdh,03e0ba883h,0b2700843h,04ba6de53h,0591a9e4dh,0b966b668h,07f4fa0edh,093f67567h,04347237bh,05a02711bh,0e794608eh,0bc041e2fh,070f73d8ch,055af10f5h,0bb7564f7h,0d2d4d4f7h + DD 0b3e93ce7h,0d7d27a89h,05d3a2c1bh,0f7b5a875h,0255b218ah,0b29e68a0h,08af76754h,0b533837eh,0579fab2eh,0d1b05a73h,0ecd74385h,0b41055a1h,0445e9115h,0b2369274h,0f520274eh,02972a7c4h + DD 0f678e68ah,06c08334eh,099b057edh,04e4160f0h,052ccb69ah,03cfe11b8h,021c8f772h,02fd1823ah,03298f055h,0df7f072fh,0fec74a6eh,08c0566f9h,05bb4d041h,0e549e019h,09208d850h,07c3930bah + DD 0aaa2902bh,0e07141fch,0e4f69ad3h,0539ad799h,0813f9ffdh,0a6453f94h,0375bc2f7h,0c58d3c48h,05dc64e96h,0b3326fadh,0b240e354h,03aafcaa9h,0aca1e7a9h,01d1b0903h,01211b8a0h,04ceb9767h + DD 0e32a858eh,0eca83e49h,0ae907badh,04c32892eh,02eb9b494h,0d5b42ab6h,01eabae1bh,07fde3ee2h,0caf54957h,013b5ab09h,0e5f5d5d5h,0bfb028beh,02003e2c0h,0928a0650h,067476843h,090793aach + DD 0c81710a0h,05e942e79h,027ccadd4h,0557e4a36h,04bcf6d0ch,072a2bc56h,026d7b80ch,009ee5f43h,0d4292f19h,06b70dbe9h,063f16b18h,056f74c26h,035fbb42ah,0c23db0f7h,06ae10040h,0b606bdf6h + DD 0044573ach,01eb15d4dh,0556b0ba4h,07dc3cf86h,0c60df6f7h,097af9a33h,0a716ce8ch,00b1ef85ch,0c96958beh,02922f884h,035690963h,07c32fa94h,0eaa00061h,02d7f667ch,03547365ch,0eaaf7c17h + DD 087032d58h,01eb4de46h,05e2c79e0h,0c54f3d83h,05d04ef23h,007818df4h,0673d41b4h,055faa9c8h,089b95355h,0ced64f6fh,0b7415c84h,04860d2eah,0050ebad3h,05fdb9bd2h,06685a5bfh,0db53e0cch + DD 09feb6593h,0b830c031h,06accff17h,0dd87f310h,09f555c10h,02303ebabh,0287e7065h,094603695h,02e83358ch,0f88311c3h,0eefb0178h,0508dd9b4h,02dba8652h,07ca23706h,00047abe5h,062aac5a3h + DD 08b1ea7b3h,09a61d2a0h,0ae8b1485h,0d495ab63h,087052f99h,038740f84h,0b2974eeah,0178ebe5bh,05b36d17fh,0030bbccah,0aaf86eeah,0b5e4cce3h,068f8e9e0h,0b51a0220h,009eb3e75h,0a4348796h + DD 0eef1a752h,0be592309h,06f2aa1edh,05d7162d7h,00f007dd2h,0aebfb5edh,0c89edd22h,0255e14b2h,00303b697h,0ba85e072h,0f05720ffh,0c5d17e25h,05128ebb6h,002b58d6eh,0d754e113h,02c80242dh + DD 0abfae1cah,0919fca5fh,01a21459bh,0937afaach,01f66a4d2h,09e0ca91ch,023ec1331h,0194cc7f3h,08aa11690h,0ad25143ah,009b59e08h,0be40ad8dh,0e750860ah,037d60d9bh,0c6bf434ch,06c53b008h + DD 01356eb80h,0b572415dh,09578ded8h,0b8bf9da3h,05e8fb38bh,022658e36h,05af8cb22h,09b70ce22h,0829a8180h,07c00018ah,0b81ed295h,084329f93h,05f3cea83h,07c343ea2h,067586536h,038f8655fh + DD 01d3ec517h,0a661a0d0h,0512321aeh,098744652h,0eca92598h,0084ca591h,01dcb3febh,0a9bb9dc9h,078b4c240h,014c54355h,0610cafdch,05ed62a3bh,01b38846bh,007512f37h,0b0e38161h,0571bb70ah + DD 02da705d2h,0b556b95bh,0b1a08f98h,03ef8ada6h,0ddecfbe5h,085302ca7h,0943105cdh,00e530573h,021a9255dh,060554d55h,0f2f3802ah,063a32fa1h,0cd477875h,035c8c5b0h,06ad42da1h,097f458eah + DD 0eb6b242dh,0832d7080h,03b71e246h,0d30bd023h,0be31139dh,07027991bh,0462e4e53h,068797e91h,06b4e185ah,0423fe20ah,042d9b707h,082f2c67eh,04cf7811bh,025c81768h,0045bb95dh,0bd53005eh + DD 09d8e68fdh,0e5f649beh,01b044320h,0db0f0533h,0e0c33398h,0f6fde9b3h,066c8cfaeh,092f4209bh,01a739d4bh,0e9d1afcch,0a28ab8deh,009aea75fh,0eac6f1d0h,014375fb5h,0708f7aa5h,06420b560h + DD 06254dc41h,09eae499ch,07a837e7eh,07e293924h,0090524a7h,074aec08ch,08d6f55f2h,0f82b9219h,01402cec5h,0493c962eh,0fa2f30e7h,09f17ca17h,0e9b879cbh,0bcd783e8h,05a6f145fh,0ea3d8c14h + DD 05e0dee6eh,0dede15e7h,0dc628aa2h,074f24872h,07861bb93h,0d3e9c4feh,06187b2e0h,056d4822ah,0c59826f9h,0b66417cfh,02408169eh,0ca260969h,0c79ef885h,0edf69d06h,0dc7d138fh,000031f8ah + DD 00ebcf726h,0103c46e6h,06231470eh,04482b831h,0487c2109h,06f6dfacah,062e666efh,02e0ace97h,01f8d1f42h,03246a9d3h,0574944d2h,01b1e83f1h,0a57f334bh,013dfa63ah,09f025d81h,00cf8daedh + DD 000ee11c1h,030d78ea8h,0b5e3dd75h,0eb053cd4h,0d58c43c5h,09b65b13eh,0bd151663h,0c3ad49bdh,0b6427990h,099fd8e41h,0707eae1eh,012cf15bdh,01aabb71eh,029ad4f1bh,007545d0eh,05143e74dh + DD 0c88bdee1h,030266336h,05876767ch,025f29306h,0c6731996h,09c078571h,0ed552951h,0c88690b2h,0852705b4h,0274f2c2dh,04e09552dh,0b0bf8d44h,0986575d1h,07628beebh,07f864651h,0407be238h + DD 0a639fc6bh,00e5e3049h,086003625h,0e75c35d9h,05dcc1646h,00cf35bd8h,06c26273ah,08bcaced2h,0b5536742h,0e22ecf1dh,01a9e068bh,0013dd897h,08a7909c5h,017f411cbh,0861dd506h,05757ac98h + DD 01e935abbh,085de1f0dh,0154de37ah,0defd10b4h,0369cebb5h,0b8d9e392h,0761324beh,054d5ef9bh,074f17e26h,04d6341bah,078c1dde4h,0c0a0e3c8h,087d918fdh,0a6d77581h,002ca3a13h,066876015h + DD 0f36658f0h,0c7313e9ch,071f8057eh,0c433ef1ch,01b6a835ah,085326246h,07c86394ch,0c8f05398h,0e983c4a1h,0ff398cdfh,003b7b931h,0bf5e8162h,0b7b9045bh,093193c46h,0a4a6e46bh,01e4ebf5dh + DD 043a24fe7h,0f9942a60h,0ffb3492bh,029c1191eh,0902fde05h,09f662449h,06713c32dh,0c792a7ach,0b737982ch,02fd88ad8h,0a21e60e3h,07e3a0319h,07383591ah,009b0de44h,08310a456h,06df141eeh + DD 0e6d6f471h,0aec1a039h,01198d12eh,014b2ba0fh,03aeee5ach,0ebc1a160h,0e0b964ceh,0401f4836h,04fd03f66h,02ee43796h,0dd8f3f12h,03fdb4e49h,029380f18h,06ef267f6h,08da64d16h,03e8e9670h + DD 0207674f1h,0bc19180ch,033ae8fdbh,0112e09a7h,06aaeb71eh,099667554h,0e101b1c7h,079432af1h,0de2ddec6h,0d5eb558fh,05357753fh,081392d1fh,03ae1158ah,0a7a76b97h,04a899991h,0416fbbffh + DD 00d4a9dcfh,09e65fdfdh,0944ddf12h,07bc29e48h,03c856866h,0bc1a92d9h,06e98dfe2h,0273c6905h,0cdfaa6b8h,069fce418h,05061c69fh,0606bd823h,06af75e27h,042d495a0h,06d873a1fh,08ed3d505h + DD 06ab25b6ah,0af552841h,02b1a4523h,0c6c0ffc7h,021c99e03h,0ab18827bh,09034691bh,0060e8648h,093c7f398h,05207f90fh,082f8d10bh,09f4a96cbh,03ad0f9e3h,0dd71cd79h,0fc3a54f5h,084f435d2h + DD 08e33787fh,04b03c55bh,0a6384673h,0ef42f975h,05051b9f0h,0ff7304f7h,0741c87c2h,018aca1dch,02d4bfe80h,056f120a7h,0053e732ch,0fd823b3dh,07537ca16h,011bccfe4h,01b5a996bh,0df6c9c74h + DD 0904fc3fah,0ee7332c7h,0c7e3636ah,014a23f45h,0f091d9aah,0c38659c3h,0b12d8540h,04a995e5dh,0f3a5598ah,020a53bech,0b1eaa995h,056534b17h,0bf04e03ch,09ed3dca4h,0d8d56268h,0716c563ah + DD 01d6178e7h,027ba77a4h,068a1ff8eh,0e4c80c40h,00a13f63dh,075011099h,0a61d46f3h,07bf33521h,010b365bbh,00aff218eh,00fd7ea75h,081021804h,0a4b3a925h,005a3fd8ah,09b3db4e6h,0b829e75fh + DD 04d53e5fbh,06bdc75a5h,0d52717e3h,004a5dc02h,0e9a42ec2h,086af502fh,02630e382h,08867e8fbh,0bec9889bh,0bf845c6eh,0cb47c98dh,054f491f2h,0790c2a12h,0a3091fbah,0c20f708bh,0d7f6fd78h + DD 0acde5e17h,0a569ac30h,06852b4d7h,0d0f996d0h,04609ae54h,0e51d4bb5h,00daed061h,03fa37d17h,034b8fb41h,062a88684h,09efb64f1h,099a2acbdh,06448e1f2h,0b75c1a5eh,042b5a069h,0fa99951ah + DD 02f3b26e7h,06d956e89h,0da875247h,0f4709860h,02482dda3h,03ad15179h,0017d82f0h,0d64110e3h,0fad414e4h,014928d2ch,02ed02b24h,02b155f58h,0cb821bf1h,0481a141bh,04f81f5dah,012e3c770h + DD 09fff8381h,0e49c5de5h,05bbec894h,011053232h,0454d88c4h,0a0d051cch,01f8e531bh,04f6db89ch,0ca563a44h,034fe3fd6h,058da8ab9h,07f5c2215h,09474f0a1h,08445016dh,0cb7d8a0ah,017d34d61h + DD 01c474019h,08e9d3910h,0d52ceefbh,0caff2629h,0c1622c2bh,0f9cf3e32h,0e9071a05h,0d4b95e3ch,01594438ch,0fbbca61fh,004aadedfh,01eb6e6a6h,068e14940h,0853027f4h,0dfabda9ch,0221d322ah + DD 0b7cb179ah,0ed8ea9f6h,0b7934dcch,0dc7b764dh,05e09180dh,0fcb13940h,0b47dc2ddh,06629a6bfh,09f5a915eh,0bfc55e4eh,06204441eh,0b1db9d37h,0930c5f53h,0f82d68cfh,0cbb605b1h,017d3a142h + DD 0308780f2h,0dd5944eah,03845f5e4h,0dc8de761h,07624d7a3h,06beaba7dh,0304df11eh,01e709afdh,002170456h,095364376h,0c8f94b64h,0bf204b3ah,05680ca68h,04e53af7ch,0e0c67574h,00526074ah + DD 0ecd92af6h,095d8cef8h,06cd1745ah,0e6b9fa7ah,0a325c3e4h,03d546d3dh,09ae93aaeh,01f57691dh,09d2e1a33h,0e891f3feh,0ac063d35h,0d430093fh,05513a327h,0eda59b12h,05536f18fh,0dc2134f3h + DD 05c210286h,0aa51fe2ch,01cab658ch,03f68aaeeh,0f9357292h,05a23a00bh,07efdabedh,09a626f39h,0199d78e3h,0fe2b3bf3h,071bbc345h,0b7a2af77h,01e59802ch,03d19827ah,0b487a51ch,0823bbc15h + DD 099d0a422h,0856139f2h,0f456c6fbh,09ac3df65h,0701f8bd6h,0addf65c6h,03758df87h,0149f321eh,0721b7ebah,0b1ecf714h,031a3312ah,0e17df098h,0d5c4d581h,0db2fd6ech,08fcea1b3h,0fd02996fh + DD 07882f14fh,0e29fa63eh,007c6cadch,0c9f6dc35h,0b882bed0h,046f22d6fh,0d118e52ch,01a45755bh,07c4608cfh,09f2c7c27h,0568012c2h,07ccbdf32h,061729b0eh,0fcb0aeddh,0f7d75dbfh,07ca2ca9eh + DD 06f640f62h,0f58fecb1h,039f51946h,0e274b92bh,06288af44h,07f4dfc04h,0eac329e5h,00a91f32ah,0d6aaba31h,043ad274bh,00f6884f9h,0719a1640h,0daf91e20h,0685d29f6h,027e49d52h,05ec1cc33h + DD 03b54a059h,038f4de96h,0efbcfdb3h,00e0015e5h,04dbb8da6h,0177d23d9h,097a617adh,098724aa2h,0fdb6558eh,030f0885bh,0c7899a96h,0f9f7a28ah,0872dc112h,0d2ae8ac8h,073c3c459h,0fa0642cah + DD 0e7dfc8d6h,015296981h,01fb5b94ah,067cd4450h,00eddfd37h,00ec71cf1h,09a8eddc7h,0c7e5eeb3h,081d95028h,002ac8e3dh,070b0e35dh,00088f172h,0e1881fe3h,0ec041fabh,0d99e7faah,062cf71b8h + DD 0e0f222c2h,05043dea7h,072e65142h,0309d42ach,09216cd30h,094fe9dddh,00f87feech,0d6539c7dh,0432ac7d7h,003c5a57ch,0327fda10h,072692cf0h,0280698deh,0ec28c85fh,07ec283b1h,02331fb46h + DD 02867e633h,0d34bfa32h,00a9cc815h,078709a82h,0875e2fa5h,0b7fe6964h,09e98bfb5h,025cc064fh,0493a65c5h,09eb0151ch,053182464h,05fb5d941h,0f04618e2h,069e6f130h,0f89c8ab6h,0a8ecec22h + DD 0b96209bdh,0cd6ac88bh,0b3e1c9e0h,065fa8cdbh,04a8d8each,0a47d22f5h,08d33f963h,083895cdfh,0b56cd3d1h,0a8adca59h,0daf38232h,010c8350bh,0a5080a9fh,02b161fb3h,03af65b3ah,0be7f5c64h + DD 097403a11h,02c754039h,0121b96afh,094626cf7h,06a983ec2h,0431de7c4h,052cc3df7h,03780dd3ah,02baf8e3bh,0e28a0e46h,051d299aeh,0abe68aadh,0647a2408h,0603eb8f9h,05c750981h,014c61ed6h + DD 0c53352e7h,088b34414h,01337d46eh,05a34889ch,0f95f2bc8h,0612c1560h,0d4807a3ah,08a3f8441h,05224da68h,0680d9e97h,0c3eb00e9h,060cd6e88h,09a6bc375h,03875a98eh,04fd554c2h,0dc80f924h + DD 06ac77407h,06c4b3415h,025420681h,0a1e5ea8fh,04607a458h,0541bfa14h,096d7fbf9h,05dbc7e7ah,031590a47h,0646a851bh,015ee6df8h,0039e85bah,0d7b43fc0h,0d19fa231h,0299a0e04h,084bc8be8h + DD 0f20df03ah,02b9d2936h,08608d472h,024054382h,09149202ah,076b6ba04h,03670e7b7h,0b21c3831h,0d6fdee10h,0ddd93059h,078488e71h,09da47ad3h,0a0fcfb25h,099cc1dfdh,064696954h,042abde10h + DD 017eab9feh,014cc15fch,0d3e70972h,0d6e863e4h,06432112ch,029a7765ch,05b0774d8h,088660001h,02c088eaeh,03729175ah,08230b8d4h,013afbcaeh,0915f4379h,044768151h,0d8d22812h,0f086431ah + DD 0c298b974h,037461955h,0f8711e04h,0905fb5f0h,0fe969d18h,0787abf3ah,06f6a494eh,0392167c2h,028c511dah,0fc7a0d2dh,0b66a262dh,0f127c7dch,0fd63fdf0h,0f9c4bb95h,03913ef46h,090016589h + DD 011aa600dh,074d2a73ch,09fb5ab52h,02f5379bdh,07fb70068h,0e49e53a4h,0404aa9a7h,068dd39e5h,02ecaa9c3h,0b9b0cf57h,0e824826bh,0ba0e103bh,04631a3c4h,060c2198bh,0fa8966a2h,0c5ff84abh + DD 0ac95aff8h,02d6ebe22h,0b5a46d09h,01c9bb6dbh,053ee4f8dh,0419062dah,0bb97efefh,07b9042d0h,0830cf6bdh,00f87f080h,06ec8a6c6h,04861d19ah,0202f01aah,0d3a0daa1h,0f25afbd5h,0b0111674h + DD 01afb20d9h,06d00d6cfh,040671bc5h,013695000h,02485ea9bh,0913ab0dch,09eef61ach,01f2bed06h,06d799e20h,0850c8217h,03271c2deh,093415f37h,06c4f5910h,05afb06e9h,0c4e9e421h,0688a52dfh + DD 0e2a9a6dbh,030495ba3h,058f9268bh,04601303dh,07eb0f04fh,0be3b0dadh,04456936dh,04ea47250h,0d33fd3e7h,08caf8798h,0eb433708h,01ccd8a89h,087fd50adh,09effe3e8h,06b29c4dfh,0be240a56h + DD 0ca0e7ebdh,0ec4ffd98h,0e748616eh,0f586783ah,0c77baa99h,0a5b00d8fh,0b4f34c9ch,00acada29h,00fe723ach,036dad67dh,039c36c1eh,01d8e53a5h,01f4bea41h,0e4dd342dh,0ebc9e4e0h,064fd5e35h + DD 057908805h,096f01f90h,05ed480ddh,0b5b9ea3dh,03efd2dd0h,0366c5dc2h,06e9dfa27h,0ed2fe305h,06e9197e2h,04575e892h,0ab502a5dh,011719c09h,0e81f213fh,0264c7bech,055f5c457h,0741b9241h + DD 049a5f4f4h,078ac7b68h,09fc45b7dh,0f91d70a2h,0b0f5f355h,039b05544h,0eef930d9h,011f06bceh,0038d05e1h,0db84d25dh,0bacc1d51h,004838ee5h,09e8ee00bh,09da3ce86h,0c36eda1fh,0c3412057h + DD 064d9c2f4h,0ae80b913h,0a010a8ffh,07468bac3h,037359d41h,0dfd20037h,015efeacch,01a0f5ab8h,0659d0ce0h,07c25ad2fh,06785cff1h,04011bcbbh,07e2192c7h,0128b9912h,013ccb0e8h,0a549d8e1h + DD 0c85438b1h,0805588d8h,0bc25cb27h,05680332dh,01a4bfdf4h,0dcd1bc96h,0706f6566h,0779ff428h,0f059987ah,08bbee998h,0cc686de7h,0f6ce8cf2h,0953cfdb2h,0f8ad3c4ah,02205da36h,0d1d426d9h + DD 0c781a241h,0b3c0f13fh,0d75362a8h,03e89360eh,0c8a91184h,0ccd05863h,0efa8a7f4h,09bd0c9b7h,08a912a4bh,097ee4d53h,0bcf518fdh,0de5e15f8h,0c467e1e0h,06a055bf8h,01587e256h,010be4b4bh + DD 0668621c9h,0d90c14f2h,0ab9c92c1h,0d5518f51h,0d6d47b3ch,08e6a0100h,066716175h,0cbe980ddh,0ddd83683h,0500d3f10h,099cac73ch,03b6cb35dh,06083d550h,053730c8bh,0df0a1987h,0cf159767h + DD 043ad73b3h,084bfcf53h,04f035a94h,01b528c20h,033eeac69h,04294edf7h,0817f3240h,0b6283e83h,00a5f25b1h,0c3fdc959h,05844ee22h,0efaf8aa5h,0dbdde4deh,0de269ba5h,0c56133bfh,0e3347160h + DD 08d9ea9f8h,0c1184219h,0f3fc1ab5h,0090de5dbh,00bf22cdah,0404c37b1h,0f5618894h,07de20ec8h,0ecdaecabh,0754c588eh,088342743h,06ca4b0edh,0f4a938ech,076f08bddh,091493ccbh,0d182de89h + DD 0c8a4186ah,0d652c53eh,0946d8e33h,0b3e878dbh,05f37663ch,0088453c0h,0b407748bh,05cd9daaah,0586d5e72h,0a1f5197fh,0c443ca59h,047500be8h,0e2652424h,078ef35b2h,06dd7767dh,009c5d26fh + DD 0a74d3f7bh,07175a79ah,0cf5ea459h,00428fd8dh,0a5d1746dh,0511cb97ch,0e71d1278h,036363939h,010350bf4h,0cf2df955h,060aae782h,0b3817439h,03e688809h,0a748c0e4h,0d7a5a006h,098021fbfh + DD 00e367a98h,09076a70ch,00f62b7c2h,0bea1bc15h,030fe0343h,02645a68ch,0699dc14fh,0acaffa78h,0457bf9c4h,0f4469964h,00d2ead83h,00db6407bh,0b2c6f3ebh,068d56cadh,0f376356ch,03b512e73h + DD 0fce10408h,0e43b0e1fh,05a5e257dh,089ddc003h,00362e5b3h,0b0ae0d12h,0b0519161h,007f983c7h,05d5231e7h,0c2e94d15h,00b4f9513h,0cff22aedh,06ad0b0b5h,0b02588ddh,011d0dcd5h,0b967d1ach + DD 0cf777b6ch,08dac6bc6h,04c6d1959h,00062bdbdh,00ef5cc85h,053da71b5h,04006f14fh,007012c7dh,0ac47800dh,04617f962h,0c102ed75h,053365f2bh,04ab8c9d3h,0b422efcbh,034af31c9h,0195cb26bh + DD 005f2c4ceh,03a926e29h,09856966ch,0bd2bdecbh,085527015h,05d16ab3ah,04486c231h,09f81609eh,0da350002h,0d8b96b2ch,0fa1b7d36h,0bd054690h,0e71d79bch,0dc90ebf5h,008964e4eh,0f241b6f9h + DD 02fe3cd4ch,07c838643h,0b4bc633ch,0e0f33acbh,03d139f1fh,0b4a9ecech,0dc4a1f49h,005ce69cdh,0f5f98aafh,0a19d1b16h,06f23e0efh,045bb71d6h,046cdfdd3h,033789fcdh,0cee040cah,09b8e2978h + DD 0ae0a6828h,09c69b246h,07078d5aah,0ba533d24h,07bb4fbdbh,07a2e42c0h,07035385ch,0cfb4879ah,03281705bh,08c3dd30bh,0404fe081h,07e361c6ch,03f604edfh,07b21649ch,0e52ffe47h,05dbf6a3fh + DD 04b54d9bfh,0c41b7c23h,03511c3d9h,01374e681h,0c1b2b758h,01863bf16h,01e9e6a96h,090e78507h,05d86f174h,0ab4bf98dh,085e96fe4h,0d74e0bd3h,0cac5d344h,08afde39fh,0bd91b847h,090946dbch + DD 0fe1a838ch,0f5b42358h,0620ac9d8h,005aae6c5h,0a1ce5a0bh,08e193bd8h,04dabfd72h,08f710571h,0182caaach,08d8fdd48h,0040745cfh,08c4aeefah,0f3b93e6dh,073c6c30ah,016f42011h,0991241f3h + DD 0e457a477h,0a0158eeah,0ee6ddc05h,0d19857dbh,018c41671h,0b3265224h,03c2c0d58h,03ffdfc7eh,026ee7cdah,03a3a5254h,0df02c3a8h,0341b0869h,0723bbfc8h,0a023bf42h,014452691h,03d15002ah + DD 085edfa30h,05ef7324ch,087d4f3dah,025976554h,0dcb50c86h,0352f5bc0h,04832a96ch,08f6927b0h,055f2f94ch,0d08ee1bah,0344b45fah,06a996f99h,0a8aa455dh,0e133cb8dh,0758dc1f7h,05d0721ech + DD 079e5fb67h,06ba7a920h,070aa725eh,0e1331febh,07df5d837h,05080ccf5h,07ff72e21h,0e4cae01dh,00412a77dh,0d9243ee6h,0df449025h,006ff7cach,023ef5a31h,0be75f7cdh,00ddef7a8h,0bc957822h + DD 0b0ce1c55h,08cf7230ch,00bbfb607h,05b534d05h,00e16363bh,0ee1ef113h,0b4999e82h,027e0aa7ah,079362c41h,0ce1dac2dh,091bb6cb0h,067920c90h,02223df24h,01e648d63h,0e32e8f28h,00f7d9eefh + DD 0fa833834h,06943f39ah,0a6328562h,022951722h,04170fc10h,081d63dd5h,0aecc2e6dh,09f5fa58fh,0e77d9a3bh,0b66c8725h,06384ebe0h,011235ceah,05845e24ah,006a8c118h,0ebd093b1h,00137b286h + DD 044ace150h,0c589e1ceh,04381e97ch,0e0f8d3d9h,062c5a4b8h,059e99b11h,0fd0ec9f9h,090d262f7h,0283e13c9h,0fbc854c9h,0aedc7085h,02d04fde7h,047dcbecbh,0057d7765h,09a76fa5fh,08dbdf591h + DD 00de1e578h,0d0150695h,0e9f72bc6h,02e1463e7h,01b39eca5h,0ffa68441h,07c037f2fh,0673c8530h,0747f91dah,0d0d6a600h,0c9cb78e9h,0b08d43e1h,027b5cef5h,00fc0c644h,0a60a2fd6h,05c1d160ah + DD 028c8e13bh,0f98cae53h,0b2eddcd1h,0375f10c4h,05cce06adh,0d4eb8b7fh,080a2e1efh,0b4669f45h,05bbd8699h,0d593f9d0h,0e7976d13h,05528a4c9h,01c7e28d3h,03923e095h,03f6bb577h,0b9293790h + DD 0c42bd6d2h,0db567d6ah,0bb1f96aeh,06df86468h,04843b28eh,00efe5b1ah,06379b240h,0961bbb05h,070a6a26bh,0b6caf5f0h,0328e6e39h,070686c0dh,0895fc8d3h,080da06cfh,0b363fdc9h,0804d8810h + DD 0207f1670h,0be22877bh,04e615291h,09b0dd188h,097a3c2bfh,0625ae8dch,0439b86e8h,008584ef7h,0dcd898ffh,0de7190a5h,02058ee3dh,026286c40h,05f87b1c1h,03db0b217h,0102a6db5h,0cc334771h + DD 02f770fb1h,0d99de954h,04cd7535eh,097c1c620h,03f09cefch,0d3b6c448h,05a63b4f8h,0d725af15h,0c01e20ech,00c95d24fh,09ae7121fh,0dfd37494h,0ec77b7ech,07d6ddb72h,00353a4aeh,0fe079d3bh + DD 02e6ac8d2h,03066e70ah,0106e5c05h,09c6b5a43h,0ede59b8ch,052d3c6f5h,0fccec9aeh,030d6a5c3h,04fc0a9efh,0edec7c22h,095c16cedh,0190ff083h,094de0fdeh,0be12ec8fh,0852d3433h,00d131ab8h + DD 085701291h,042ace07eh,0194061a8h,094793ed9h,0d7f4a485h,030e83ed6h,0f9eeff4dh,09eec7269h,00c9d8005h,090acba59h,01e79b9d1h,05feca458h,01d506a1eh,08fbe5427h,02439cfa7h,0a32b2c8eh + DD 073dd0b4eh,01671c173h,044a054c6h,037a28214h,04e8b53f1h,081760a1bh,0f9f93b9eh,0a6c04224h,0cf671e3ch,018784b34h,0cda9b994h,081bbecd2h,0b2ab3848h,038831979h,0f2e03c2dh,0ef54feb7h + DD 0fb8088fah,0cf197ca7h,04ddc96c5h,001427247h,030777176h,0a2d2550ah,04d0cf71dh,053469898h,03a2aaac6h,06ce937b8h,05af38d9bh,0e9f91dc3h,0c8bf2899h,02598ad83h,0b5536c16h,08e706ac9h + DD 0f688dc98h,040dc7495h,0124c4afch,026490cd7h,01f18775ch,0e651ec84h,0b4fdaf4ah,0393ea6c3h,07f338e0dh,01e1f3343h,06053e7b5h,039fb832bh,0619e14d5h,046e702dah,0cdeef6e0h,0859cacd1h + DD 04462007dh,063b99ce7h,04cb5f5b7h,0b8ab48a5h,0f55edde7h,09ec673d2h,08cfaefdah,0d1567f74h,00887bcech,046381b6bh,0e178f3c2h,0694497ceh,01e6266cbh,05e6525e3h,0697d6413h,05931de26h + DD 00e58d493h,087f8df7ch,058b73f12h,0b1ae5ed0h,0dea0c34dh,0c368f784h,0859a91a0h,09bd0a120h,0cc863c68h,0b00d88b7h,03d1f4d65h,03a1cc11eh,00aa85593h,0ea38e0e7h,07dc4aee8h,037f13e98h + DD 0bc947badh,010d38667h,02a36ee2eh,0738e07ceh,0c577fcach,0c93470cdh,02782470dh,0dee1b616h,02e793d12h,036a25e67h,0e0f186dah,0d6aa6caeh,080e07af7h,0474d0fd9h,0ba8a5cd4h,0f7cdc47dh + DD 0ab15247fh,028af6d9dh,0493a537fh,07c789c10h,023a334e7h,07ac9b110h,012c9c277h,00236ac09h,01d7a5144h,0a7e5bd25h,0f13ec4ech,0098b9c2ah,0d3f0abcah,03639dacah,0a23960f9h,0642da81ah + DD 04f7269b1h,07d2e5c05h,0e287c385h,0fcf30777h,0f2a46f21h,010edc84fh,04f43fa36h,035441757h,0fd703431h,0f1327899h,016dd587ah,0a438d7a6h,0e9c8352dh,065c34c57h,05cc5a24eh,0a728edabh + DD 042531689h,0aed78abch,0010963efh,00a51a0e8h,0d717d9b3h,05776fa0ah,07dd3428bh,0f356c239h,08d3a3dach,029903fffh,03d94491fh,0409597fah,0bf4a56a4h,04cd7a5ffh,08adab462h,0e5096474h + DD 05c3427b0h,0a97b5126h,0d282c9bdh,06401405ch,0222c5c45h,03629f8d7h,0e8d50aedh,0b1c02c16h,0d9635bc9h,0bea2ed75h,06e24552fh,0226790c7h,065f1d066h,03c33f2a3h,06dfccc2eh,02a43463eh + DD 0db483761h,08cc3453ah,065d5672bh,0e7cc6085h,0de3efc87h,0277ed6cbh,069234eafh,019f2f368h,05c0b800bh,09aaf4317h,08b6da6e2h,01f1e7c89h,0b94ec75eh,06cfb4715h,0453118c2h,0d590dd5fh + DD 01f17a34ch,014e49da1h,0235a1456h,05420ab39h,02f50363bh,0b7637241h,0c3fabb6eh,07b15d623h,0e274e49ch,0a0ef40b1h,096b1860ah,05cf50744h,066afe5a4h,0d6583fbfh,0f47e3e9ah,044240510h + DD 011b2d595h,099254343h,0eec8df57h,0f1367499h,03e73dd05h,03cb12c61h,07dac102ah,0d248c033h,0a77739f5h,0cf154f13h,023d2af42h,0bf4288cbh,032e4a1cfh,0aa64c9b6h,0c8a208f3h,0ee8c07a8h + DD 06fe8393fh,0e10d4999h,0e91f3a32h,00f809a3fh,0802f63c8h,061096d1ch,057750d3dh,0289e1462h,09889feeah,0ed06167eh,0e0993909h,0d5c9c0e2h,056508ac6h,046fca0d8h,04f1b8e83h,091826047h + DD 09a4a2751h,04f2c877ah,0cae6feadh,071bd0072h,006aa1941h,038df8dcch,063beeaa8h,05a074b4ch,0c1cec8edh,0d6d65934h,0aabc03bdh,0a6ecb49eh,0de8a8415h,0aade91c2h,0691136e0h,0cfb0efdfh + DD 023ab3495h,011af45eeh,00b77463dh,0a132df88h,0815d06f4h,08923c15ch,00d61a436h,0c3ceb3f5h,0e88fb1dah,0af52291dh,01da12179h,0ea057974h,0d2fef720h,0b0d7218ch,08e1d8845h,06c0899c9h + DD 0752ddad7h,098157504h,0a1a68a97h,0d60bd74fh,0f658fb99h,07047a3a9h,05f8511e4h,01f5d86d6h,04b5a6d88h,0b8a4bc42h,01abefa7dh,069eb2c33h,013c9c510h,095bf39e8h,0d48aab43h,0f571960ah + DD 0704e23c6h,07e8cfbcfh,028aaa65bh,0c71b7d22h,0245e3c83h,0a041b2bdh,0d21854ffh,069b98834h,0963bfeech,089d227a3h,0de7da7cbh,099947aaah,0ee68a9b1h,01d9ee9dbh,0698ec368h,00a08f003h + DD 078ef2487h,0e9ea4094h,002cfec26h,0c8d2d415h,0b7dcf328h,0c52f9a6eh,085b6a937h,00ed489e3h,0bef3366eh,09b94986bh,0edddddb8h,00de59c70h,0eadddbe2h,0ffdb748ch,08266ea40h,09b9784bbh + DD 01a93507ah,0142b5502h,08d3c06cfh,0b4cd1187h,091ec3f40h,0df70e76ah,04e7553c2h,0484e81adh,0272e9d6eh,0830f87b5h,0c6ff514ah,0ea1c93e5h,0c4192a8eh,067cc2adch,042f4535ah,0c77e27e2h + DD 0d2b713c5h,09cdbab36h,0cf7b0cd3h,086274ea0h,009af826bh,0784680f3h,00c72dea3h,0bfcc837ah,0d6529b73h,0a8bdfe9dh,063a88002h,0708aa228h,0c91d45b9h,06c7a9a54h,0fd004f56h,0df1a38bbh + DD 0b8bad853h,02e8c9a26h,03723eae7h,02d52cea3h,056ca2830h,0054d6d81h,09a8dc411h,0a3317d14h,0fd4ddedah,0a08662feh,0b55d792bh,0ed2a153ah,0bfc6e944h,07035c16ah,000171cf3h,0b6bc5834h + DD 083d102b6h,0e27152b3h,00646b848h,0fe695a47h,0916e6d37h,0a5bb09d8h,00d17015eh,0b4269d64h,00a1d2285h,08d8156a1h,046d26d72h,0feef6c51h,04c5434a7h,09dac57c8h,059d39e31h,00282e5beh + DD 0721c486dh,0edfff181h,0bc58824eh,0301baf10h,000570031h,08136a6aah,01cddde68h,055aaf78ch,059c63952h,026829371h,08bc25bafh,03a3bd274h,0b7e52dc3h,0ecdf8657h,0fd78e6c8h,02dd8c087h + DD 0f5531461h,020553274h,05d95499bh,08b4a1281h,01a80f9d2h,0e2c8763ah,04ddec758h,0d1dbe32bh,030c34169h,0af12210dh,078baa533h,0ba74a953h,0a438f254h,03d133c6eh,0201bef5bh,0a431531ah + DD 0f669d7ech,015295e22h,0357fb515h,0ca374f64h,0eaa3fdb3h,08a8406ffh,0df3f2da8h,0106ae448h,033c8e9a1h,08f9b0a90h,071ad5885h,0234645e2h,01c0aed14h,03d083224h,07a942d46h,0f10a7d3eh + DD 040d5c9beh,07c11deeeh,0ba84ed98h,0b2bae7ffh,0aad58dddh,093e97139h,03f6d1fa3h,03d872796h,08569ff13h,0483aca81h,09a600f72h,08b89a5fbh,0c06f2b86h,04cbc27c3h,063ad9c0bh,022130713h + DD 048ac2840h,0b5358b1eh,0ecba9477h,018311294h,0a6946b43h,0da58f990h,09ab41819h,03098baf9h,04198da52h,066c4c158h,0146bfd1bh,0ab4fc17ch,0bf36a908h,02f0a4c3ch,058cf7838h,02ae9e34bh + DD 03fa11b1fh,0f411529eh,0974af2b4h,021e43677h,0c230793bh,07c20958eh,016e840f3h,0710ea885h,0c5dc67cfh,0fc0b21fch,088405718h,008d51647h,0cfe49eb7h,0d955c21fh,056dd4a1fh,09722a5d5h + DD 0c861baa5h,0c9ef50e2h,09505ac3eh,0c0c21a5dh,08b7c063fh,0af6b9a33h,02f4779c1h,0c6370339h,0638167c3h,022df99c7h,0795db30ch,0fe6ffe76h,0a4854989h,02b822d33h,030563aa5h,0fef031ddh + DD 0d57c667fh,016b09f82h,0cc0b76f1h,0c70312ceh,0c9118aech,0bf04a9e6h,03409d133h,082fcb419h,0ab45d44dh,01a8ab385h,0617b83a3h,0fba07222h,058e81b52h,0b05f50ddh,021ce5affh,01d8db553h + DD 0e344a873h,03097b8d4h,0fe36d53eh,07d8d116dh,07875e750h,06db22f58h,043e144eah,02dc5e373h,0e799eb95h,0c05f32e6h,06899e6ech,0e9e5f4dfh,01fab23d5h,0bdc3bd68h,073af60e6h,0b72b8ab7h + DD 02cecc84ah,08db27ae0h,07bdb871ch,0600016d8h,0d7c46f58h,042a44b13h,0c3a77d39h,0b8919727h,0dafd6088h,0cfc6bbbdh,06bd20d39h,01a740146h,098c41072h,08c747abdh,0bdf68ea1h,04c91e765h + DD 008819a78h,07c95e5cah,0c9587921h,0cf48b729h,0debbcc7dh,0091c7c5fh,0f0e05149h,06f287404h,026cd44ech,0f83b5ac2h,0cfea250eh,088ae32a6h,01d06ebc5h,06ac5047ah,0d434f781h,0c7e550b4h + DD 05c727bd2h,061ab1cf2h,01cf915b0h,02e4badb1h,0f69d3920h,01b4dadech,0f14c1dfeh,0e61b1ca6h,0bd6bd51fh,090b479cch,08045ec30h,08024e401h,025ef0e62h,0cab29ca3h,049e4ebc0h,04f2e9416h + DD 00ccced58h,045eb40ech,00da44f98h,025cd4b9ch,0871812c6h,043e06458h,016cef651h,099f80d55h,0ce6dc153h,0571340c9h,0d8665521h,0138d5117h,04e07014dh,0acdb45bch,084b60b91h,02f34bb38h + DD 02ae8921eh,0f44a4fd2h,0892ba1e2h,0b039288eh,0b1c180b2h,09da50174h,01693dc87h,06b70ab66h,0e7057481h,07e9babc9h,09c80dc41h,04581ddefh,051294682h,00c890da9h,03f4736e5h,00b5629d3h + DD 0b06f5b41h,02340c79eh,04e243469h,0a42e84ceh,0045a71a9h,0f9a20135h,0d27b6fb6h,0efbfb415h,09d33cd6fh,025ebea23h,0aa6c0af8h,09caedb88h,0d9ce6f96h,053dc7e9ah,051e0b15ah,03897f9fdh + DD 08e5d788eh,0f51cb1f8h,0e1d490eeh,01aec7ba8h,0cc58cb3ch,0265991e0h,09fc3ad31h,09f306e8ch,05040a0ach,05fed006eh,0fb476f2eh,0ca9d5043h,0beea7a23h,0a19c06e8h,00edabb63h,0d2865801h + DD 06967469ah,0db92293fh,08d8a8ed8h,02894d839h,0bbc77122h,087c9e406h,02ea3a26ah,08671c6f1h,0d7de9853h,0e42df8d6h,0b1f2bcc7h,02e3ce346h,0899d50cfh,0da601dfch,0fb1b598fh,0bfc913deh + DD 0e61f7908h,081c4909fh,09bbc7b29h,0192e304fh,0c104b338h,0c3ed8738h,0783f5d61h,0edbe9e47h,02db30660h,00c06e9beh,0c0eb7d8eh,0da3e613fh,0322e096eh,0d8fa3e97h,0d336e247h,0febd91e8h + DD 0df655a49h,08f13ccc4h,05eb20210h,0a9e00dfch,0c656b6eah,084631d0fh,0d8c0d947h,093a058cdh,067bd3448h,06846904ah,0f394fd5ch,04a3d4e1ah,0db225f52h,0c102c1a5h,0fc4f5e9ah,0e3455bbah + DD 04b9ad1ceh,06b36985bh,05bb7f793h,0a9818536h,048b1a416h,06c25e1d0h,03c81bee7h,01381dd53h,07a4a7620h,0d2a30d61h,039b8944ch,0c8412926h,07a97c33ah,03c1c6fbeh,0938664e7h,0941e541dh + DD 04a34f239h,0417499e8h,0b90402d5h,015fdb83ch,0433aa832h,0b75f46bfh,063215db1h,0b61e15afh,0a127f89ah,0aabe59d4h,007e816dah,05d541e0ch,0a618b692h,0aaba0659h,017266026h,055327733h + DD 095f57552h,0af53a0fch,06cacb0c9h,032947650h,0c821be01h,0253ff58dh,0a06f1146h,0b0309531h,005c2e54dh,059bbbdf5h,026e8dd22h,0158f27adh,0397e1e53h,0cc5b7ffbh,07fc1e50dh,0ae03f65bh + DD 09c95f0f9h,0a9784ebdh,024640771h,05ed9deb2h,0035561c4h,031244af7h,07ee857deh,087332f3ah,02b9e0d88h,009e16e9eh,056a06049h,052d910f4h,0a9592f48h,0507ed477h,02365d678h,085cb917bh + DD 04c8998d1h,0f8511c93h,0730ea58fh,02186a3f1h,0b2029db0h,050189626h,002ceb75ah,09137a6d9h,0748bc82ch,02fe17f37h,080469f8ch,087c2e931h,0bf891aa2h,0850f71cdh,075ec3d8dh,00ca1b89bh + DD 05e1cd3cdh,0516c43aah,09a887c28h,089397808h,0ddea1f9fh,00059c699h,08e6868f7h,07737d6fah,060f1524bh,06d93746ah,0ba052aa7h,036985e55h,0ed923ea5h,041b1d322h,025852a11h,03429759fh + DD 0092e9f41h,0beca6ec3h,062256bbdh,03a238c66h,070ad487dh,0d82958eah,065610d93h,04ac8aaf9h,05e4ccab0h,03fa101b1h,09de14bfbh,09bf430f2h,06531899dh,0a10f5cc6h,0ea8ce17dh,0590005fbh + DD 024544cb6h,0c437912fh,0d79ac2e3h,09987b71ah,0c058a212h,013e3d9ddh,0d2de9606h,000075aach,06cac8369h,080ab508bh,0f54f6c89h,087842be7h,06bc532a4h,0a7ad663dh,078a91bc8h,067813de7h + DD 0c3427239h,05dcb61ceh,0c56934d9h,05f3c7cf0h,0e3191591h,0c079e0fbh,0b01aada7h,0e40896bdh,00492d25fh,08d466791h,0e7408276h,08aeb30c9h,09287aacch,0e9437495h,079fe03d4h,023d4708dh + DD 0d0c05199h,08cda9cf2h,0fae78454h,0502fbc22h,0f572a182h,0c0bda9dfh,06158b372h,05f9b71b8h,02b82dd07h,0e0f33a59h,09523032eh,076302735h,0c4505a32h,07fe1a721h,0f796409fh,07b6e3e82h + DD 035d0b34ah,0e3417bc0h,08327c0a7h,0440b386bh,0ac0362d1h,08fb7262dh,0e0cdf943h,02c41114ch,0ad95a0b1h,02ba5cef1h,067d54362h,0c09b37a8h,001e486c9h,026d6cdd2h,042ff9297h,020477abfh + DD 0292a9287h,0a004dcb3h,077b092c7h,0ddc15cf6h,0806c0605h,0083a8464h,03db997b0h,04a68df70h,005bf7dd0h,09c134e45h,08ccf7f8ch,0a4e63d39h,041b5f8afh,0a6e6517fh,0ad7bc1cch,0aa8b9342h + DD 01e706ad9h,0126f35b5h,0c3a9ebdfh,0b99cebb4h,0bf608d90h,0a75389afh,0c6c89858h,076113c4fh,097e2b5aah,080de8eb0h,063b91304h,07e1022cch,06ccc066ch,03bdab605h,0b2edf900h,033cbb144h + DD 07af715d2h,0c4176471h,0d0134a96h,0e2f7f594h,0a41ec956h,02c1873efh,077821304h,0e4e7b4f6h,088d5374ah,0e5c8ff97h,080823d5bh,02b915e63h,0b2ee8fe2h,0ea6bc755h,0e7112651h,06657624ch + DD 0dace5acah,0157af101h,011a6a267h,0c4fdbcf2h,0c49c8609h,0daddf340h,0e9604a65h,097e49f52h,0937e2ad5h,09be8e790h,0326e17f1h,0846e2508h,00bbbc0dch,03f38007ah,0b11e16d6h,0cf03603fh + DD 07442f1d5h,0d6f800e0h,066e0e3abh,0475607d1h,0b7c64047h,082807f16h,0a749883dh,08858e1e3h,08231ee10h,05859120bh,0638a1eceh,01b80e7ebh,0c6aa73a4h,0cb72525ah,0844423ach,0a7cdea3dh + DD 0f8ae7c38h,05ed0c007h,03d740192h,06db07a5ch,05fe36db3h,0be5e9c2ah,076e95046h,0d5b9d57ah,08eba20f2h,054ac32e7h,071b9a352h,0ef11ca8fh,0ff98a658h,0305e373eh,0823eb667h,0ffe5a100h + DD 0e51732d2h,057477b11h,02538fc0eh,0dfd6eb28h,03b39eec5h,05c43b0cch,0cb36cc57h,06af12778h,006c425aeh,070b0852dh,05c221b9bh,06df92f8ch,0ce826d9ch,06c8d4f9eh,0b49359c3h,0f59aba7bh + DD 0da64309dh,05c8ed8d5h,091b30704h,061a6de56h,02f9b5808h,0d6b52f6ah,098c958a7h,00eee4194h,0771e4caah,0cddd9aabh,078bc21beh,083965dfdh,0b3b504f5h,002affce3h,0561c8291h,030847a21h + DD 052bfda05h,0d2eb2cf1h,06197b98ch,0e0e4c4e9h,0f8a1726fh,01d35076ch,02db11e3dh,06c06085bh,04463ba14h,015c0c4d7h,00030238ch,09d292f83h,03727536dh,01311ee8bh,0beaedc1eh,0feea86efh + DD 066131e2eh,0b9d18cd3h,080fe2682h,0f31d974fh,0e4160289h,0b6e49e0fh,008e92799h,07c48ec0bh,0d1989aa7h,0818111d8h,0ebf926f9h,0b34fa0aah,0a245474ah,0db5fe2f5h,03c7ca756h,0f80a6ebbh + DD 0afa05dd8h,0a7f96054h,0fcaf119eh,026dfcf21h,00564bb59h,0e20ef2e3h,061cb02b8h,0ef4dca50h,065d30672h,0cda7838ah,0fd657e86h,08b08d534h,046d595c8h,04c5b4395h,0425cb836h,039b58725h + DD 03de9abe3h,08ea61059h,09cdc03beh,040434881h,0cfedce8ch,09b261245h,0cf5234a1h,078c318b4h,0fde24c99h,0510bcf16h,0a2c2ff5dh,02a77cb75h,027960fb4h,09c895c2bh,0b0eda42bh,0d30ce975h + DD 01a62cc26h,0fda85393h,050c0e052h,023c69b96h,0bfc633f3h,0a227df15h,01bae7d48h,02ac78848h,0187d073dh,0487878f9h,0967f807dh,06c2be919h,0336e6d8fh,0765861d8h,0ce528a43h,088b8974ch + DD 0ff57d051h,009521177h,0fb6a1961h,02ff38037h,0a3d76ad4h,0fc0aba74h,025a7ec17h,07c764803h,048879bc8h,07532d75fh,058ce6bc1h,0ea7eacc0h,08e896c16h,0c82176b4h,02c750fedh,09a30e0b2h + DD 0421d3aa4h,0c37e2c2eh,0e84fa840h,0f926407ch,01454e41ch,018abc03dh,03f7af644h,026605ecdh,0d6a5eabfh,0242341a6h,0216b668eh,01edb84f4h,004010102h,0d836edb8h,0945e1d8ch,05b337ce7h + DD 0c055dc14h,0d2075c77h,081d89cdfh,02a0ffa25h,06ffdcbafh,08ce815eah,0fb648867h,0a3428878h,0884655fbh,0277699cfh,0364d3e41h,0fa5b5bd6h,0441e1cb7h,001f680c6h,0b70a7d67h,03fd61e66h + DD 0cc78cf66h,0666ba2dch,06fdbff77h,0b3018174h,0168d4668h,08d4dd0dbh,01dab3a2ah,0259455d0h,0cde3acech,0f58564c5h,013adb276h,077141925h,08a303f65h,0527d725dh,0e6f38f7bh,055deb6c9h + DD 0b1fa70fbh,0fd5bb657h,0d8073a00h,0fa07f50fh,0bca02500h,0f72e3aa7h,09975740dh,0f68f895dh,05cae2a6ah,030112060h,002874842h,001bd7218h,07ce47bd3h,03d423891h,0789544f6h,0a66663c1h + DD 03272d838h,0864d05d7h,0fa6295c5h,0e22924f9h,06c2fda32h,08189593fh,0b184b544h,0330d7189h,0bde1f714h,079efa62ch,0e5cb1a63h,035771c94h,0641c8332h,02f4826b8h,0c8cee854h,000a894fbh + DD 036194d40h,0b4b9a39bh,077612601h,0e857a7c5h,04ecf2f58h,0f4209dd2h,05a033487h,082b9e66dh,0e4e8b9ddh,0c1e36934h,0a42377d7h,0d2372c9dh,00e3ae43bh,051dc94c7h,004474f6fh,04c57761eh + DD 01058a318h,0dcdacd0ah,078053a9ah,0369cf3f5h,031c68de2h,0c6c3de50h,03c4b6d9fh,04653a576h,0aa4e5c97h,01688dd5ah,0b7ab3c74h,05be80aa1h,0bc65c283h,070cefe7ch,006867091h,057f95f13h + DD 04415503bh,0a39114e2h,04cbb17e9h,0c08ff7c6h,0d7dec966h,01eff674dh,053376f63h,06d4690afh,0ea74237bh,0ff6fe32eh,0cd57508eh,0c436d17eh,0edcc40feh,015aa28e1h,0581bbb44h,00d769c04h + DD 034eaacdah,0c240b6deh,02ba0f1deh,0d9e116e8h,079438e55h,0cbe45ec7h,096f752d7h,091787c9dh,0f129ac2fh,0897f532bh,05a36e22ch,0d307b7c8h,0749fb8f3h,091940675h,0157fdb28h,0d14f95d0h + DD 06ae55043h,0fe51d029h,044a87de1h,08931e98fh,009e4fee2h,0e57f1cc6h,04e072d92h,00d063b67h,0ed0e4316h,070a998b9h,0306aca46h,0e74a736bh,04fda97c7h,0ecf0fbf2h,03e178d93h,0a40f65cbh + DD 016df4285h,016253604h,0d0c56ae2h,0b0c9babbh,0cfc5cfc3h,073032b19h,009752056h,0e497e5c3h,0164bda96h,012096bb4h,0a0b74da1h,01ee42419h,0403826bah,08fc36243h,0dc09e660h,00c8f0069h + DD 0c27253c9h,08667e981h,092b36a45h,005a6aefbh,09cb7bb46h,0a62c4b36h,011f7027bh,08394f375h,05f109d0fh,0747bc79ch,05b8cc60ah,0cad88a76h,058f09e68h,080c5a66bh,0f6127each,0e753d451h + DD 05b0ec6f5h,0c44b74a1h,05289b2b8h,047989fe4h,058d6fc73h,0745f8484h,0f61c70abh,0ec362a6fh,0b3a8ad41h,0070c98a7h,07b63db51h,073a20fc0h,0f44c35f4h,0ed2c2173h,09acc9dcah,08a56149dh + DD 09ac6e0f4h,098f17881h,0a413b5edh,0360fdeafh,0a300b0fdh,00625b8f4h,05b3222d3h,0f1f4d76ah,0587f76b8h,09d6f5109h,02317fdb5h,08b4ee08dh,08c68b095h,088089bb7h,05808d9b9h,095570e9ah + DD 035d33ae7h,0a395c36fh,050bb5a94h,0200ea123h,00bafe84bh,020c789bdh,00919276ah,0243ef52dh,0e23ae233h,03934c577h,0a460d1ech,0b93807afh,0f8fa76a4h,0b72a53b1h,0c3ca4491h,0d8914cb0h + DD 03fb42622h,02e128494h,0500907d5h,03b2700ach,01a95ec63h,0f370fb09h,031b6dfbdh,0f8f30be2h,069e55f15h,0f2b2f8d2h,0cc1323e9h,01fead851h,0d9e5eef6h,0fa366010h,0e316107eh,064d487b0h + DD 0d23ddc82h,04c076b86h,07e0143f0h,003fd344ch,0317af2c5h,0a95362ffh,0e18b7a4fh,00add3db7h,08260e01bh,09c673e3fh,054a1cc91h,0fbeb49e5h,092f2e433h,091351bf2h,0851141ebh,0c755e7ech + DD 029607745h,0c9a95139h,0a26f2b28h,00ca07420h,04bc6f9ddh,0cb2790e7h,0adcaffc0h,0345bbb58h,0be0f27a2h,0c65ea38ch,0641fcb56h,067c24d7ch,0a9e2c757h,02c25f0a7h,016f16c49h,093f5cdb0h + DD 0c5ee30a1h,02ca5a9d7h,0b909b729h,0d1593635h,0dadeff48h,0804ce9f3h,0b07c30c3h,0ec464751h,09e49af6ah,089d65ff3h,06f3d01bch,0f2d6238ah,00bced843h,01095561eh,0c8a13fd8h,051789e12h + DD 0763231dfh,0d633f929h,0e7cbddefh,046df9f7dh,0cb265da8h,001c889c0h,0af4336d2h,0fce1ad10h,0fc6a0a7eh,08d110df6h,06da425dch,0dd431b98h,01834aabeh,0cdc4aeabh,08439b7fch,084deb124h + DD 03c2a5998h,08796f169h,07947190dh,09b9247b4h,011597014h,055b9d9a5h,07b1566eeh,07e9dd70dh,0cbcd5e64h,094ad78f7h,09bd4c032h,00359ac17h,07cc222aeh,03b11baafh,0ba78e812h,0a6a6e284h + DD 024cea1a0h,08392053fh,033621491h,0c97bce4ah,035399ee9h,07eb1db34h,0ece81ad1h,0473f78efh,0f63d3d0dh,041d72fe0h,0afab62fch,0e620b880h,093158383h,092096bc9h,08f896f6ch,041a21357h + DD 0c7dcfcabh,01b5ee2fah,09546e007h,0650acfdeh,0b1b02e07h,0c081b749h,0f9eca03dh,0da9e41a0h,0175a54abh,0013ba727h,0ea5d8d10h,0ca0cd190h,095fd96a9h,085ea52c0h,0bc5c3940h,02c591b9fh + DD 02bad4d5fh,06fb4d4e4h,0fef0059bh,0fa4c3590h,0f5122294h,06a10218ah,0a85751d1h,09a78a81ah,0a98e84e7h,004f20579h,04997e5b5h,0fe1242c0h,0ca21e1e4h,0e77a273bh,09411939dh,0fcc8b1efh + DD 092d0487ah,0e20ea302h,0294b91feh,01442dbech,0bb6b0e8fh,01f7a4afeh,06889c318h,01700ef74h,070f1fc62h,0f5bbffc3h,069c79ccah,03b31d4b6h,0a7f6340dh,0e8bc2aabh,0a725e10ah,0b0b08ab4h + DD 0ae340050h,044f05701h,01cf0c569h,0ba4b3016h,0fbe19a51h,05aa29f83h,0b71d752eh,01b9ed428h,0eb4819f5h,01666e54eh,09e18b75bh,0616cdfedh,03ee27b0bh,0112ed5beh,044c7de4dh,0fbf28319h + DD 0e0e60d84h,0d685ec85h,01db7ee78h,068037e30h,0003c4d6eh,05b65bdcdh,093e29a6ah,033e7363ah,008d0756ch,0995b3a61h,02faf134bh,0d727f85ch,01d337823h,0fac6edf7h,00439b8b4h,099b9aa50h + DD 0e2b4e075h,0722eb104h,0437c4926h,049987295h,046a9b82dh,0b1e4c0e4h,057a006f5h,0d0cb3197h,0d7808c56h,0f3de0f7dh,051f89772h,0b5c54d8fh,0adbd31aah,0500a114ah,0295f6cabh,09afaaaa6h + DD 004cf667ah,094705e21h,09d3935d7h,0fc2a811bh,06d09267ch,0560b0280h,0f780e53bh,0f19ed119h,0067b6269h,0f0227c09h,05caef599h,0967b8533h,068efeebch,0155b9243h,0c497bae6h,0cd6d34f5h + DD 06cceb370h,01dd8d5d3h,0a78d7bf9h,02aeac579h,070b67a62h,05d65017dh,017c53f67h,070c8e44fh,086a34d09h,0d1fc0950h,0e7134907h,0e0fca256h,080fdd315h,0e24fa29ch,0d87499adh,02c4acd03h + DD 03b5a9ba6h,0baaf7517h,012e51a51h,0b9cbe1f6h,05e154897h,0d88edae3h,077b66ca0h,0e4309c3ch,0f67f3746h,0f5555805h,0a36401ffh,085fc37bah,0d9499a53h,0df86e2cah,0ecbc955bh,06270b2a3h + DD 0974ad33bh,0afae64f5h,0fe7b2df1h,004d85977h,04ab03f73h,02a3db3ffh,08702740ah,00b87878ah,05a061732h,06d263f01h,0a32a1901h,0c25430ceh,0db155018h,0f7ebab3dh,063a9b78eh,03a86f693h + DD 0da9f3804h,0349ae368h,0a164349ch,0470f07feh,08562baa5h,0d52f4cc9h,02b290df3h,0c74a9e86h,043471a24h,0d3a1aa35h,0b8194511h,0239446beh,081dcd44dh,0bec2dd00h,0c42ac82dh,0ca3d7f0fh + DD 0fdaf4520h,01f3db085h,04549daf2h,0bb6d3e80h,019ad5c42h,0f5969d8ah,0dbfd1511h,07052b13dh,0682b9060h,011890d1bh,0ac34452ch,0a71d3883h,0783805b4h,0a438055bh,04725b23eh,043241277h + DD 04901bbedh,0f20cf96eh,0f432a2bbh,06419c710h,0dfa9cd7dh,057a0fbb9h,000daa249h,0589111e4h,07b60554eh,019809a33h,0ede283a4h,0ea5f8887h,0503bfd35h,02d713802h,0585d2a53h,0151bb0afh + DD 043b30ca8h,040b08f74h,0d9934583h,0e10b5bbah,0b51110adh,0e8a546d6h,028e0b6c5h,01dd50e66h,0cff2b821h,0292e9d54h,047281760h,03882555dh,03724d6e3h,0134838f8h,022ddcda1h,0f2c679e0h + DD 06d2a5768h,040ee8815h,01c1e7e2dh,07f227bd2h,0d04ff443h,0487ba134h,0c614e54bh,076e2ff3dh,0a3177ec7h,036b88d6fh,02328fff5h,0bf731d51h,049ba158eh,0758caea2h,002938188h,05ab8ff4ch + DD 035edc56dh,033e16056h,07e940d79h,05a69d349h,003866dcbh,06c4fd001h,04893cdefh,020a38f57h,0fac3a15bh,0fbf3e790h,07a4f8e6bh,06ed7ea2eh,0bc3aca86h,0a663eb4fh,0080d53f7h,022061ea5h + DD 0f546783fh,02480dfe6h,05a0a641eh,0d38bc6dah,02ede8965h,0fb093cd1h,0acb455cfh,089654db4h,026e1adeeh,0413cbf9ah,0373294d4h,0291f3764h,0648083feh,000797257h,0208cc341h,025f504d3h + DD 0c3a0ee43h,0635a8e5eh,0679898ffh,070aaebcah,05dc63d56h,09ee9f547h,0ffb34d00h,0ce987966h,05e26310ah,0f9f86b19h,0382a8ca8h,09e435484h,0c2352fe4h,0253bcb81h,04474b571h,0a4eac8b0h + DD 0c1ad8cf8h,0c1b97512h,099e0b697h,0193b4e9eh,001e85df0h,0939d2716h,0cd44eafdh,04fb265b3h,0e51e1ae2h,0321e7dcdh,0e3d8b096h,08e3a8ca6h,052604998h,08de46cb0h,039072aa7h,091099ad8h + DD 093aa96b8h,02617f91ch,07fca2e13h,00fc8716bh,095328723h,0a7106f5eh,0262e6522h,0d1c9c40bh,042b7c094h,0b9bafe86h,01543c021h,01873439dh,05cbefd5dh,0e1baa5deh,0521e8affh,0a363fc5eh + DD 0f862eaach,0efe6320dh,022c647dch,014419c63h,04e46d428h,00e06707ch,04a178f8fh,0cb6c834fh,0d30f917ch,00f993a45h,09879afeeh,0d4c4b049h,070500063h,0b6142a1eh,0a5d9d605h,07c9b41c3h + DD 02f8ba2c7h,0bc00fc2fh,07c67aa28h,00966eb2fh,05a786972h,013f7b516h,08a2fbba0h,03bfb7557h,05a2b9620h,0131c4f23h,06faf46beh,0bff3ed27h,07e172323h,09b4473d1h,0339f6246h,0421e8878h + DD 025a41632h,00fa8587ah,0a35b6c93h,0c0814124h,059ebb8dbh,02b18a9f5h,076edb29ch,0264e3357h,0c87c51e2h,0af245ccdh,0501e6214h,016b3015bh,00a3882ceh,0bb31c560h,0fec11e04h,06961bb94h + DD 0eff7a3a0h,03b825b8dh,0b1df7326h,0bec33738h,099604a1fh,068ad747ch,09a3bd499h,0d154c934h,01cc7a906h,0ac33506fh,06c560e8fh,073bb5392h,0263e3944h,06428fcbeh,01c387434h,0c11828d5h + DD 03e4b12ffh,03cd04be1h,02d88667ch,0c3aad9f9h,0248120cfh,0c52ddcf8h,02a389532h,0985a892eh,03bb85fa0h,0fbb4b21bh,08dfc6269h,0f95375e0h,07ee2aceah,0fb4fb06ch,0309c4d1fh,06785426eh + DD 0d8ceb147h,0659b17c8h,0b70a5554h,09b649eeeh,0ac6bc634h,06b7fa0b5h,01d6e732fh,0d99fe2c7h,08d3abba2h,030e6e762h,0a797b799h,018fee6e7h,0c696464dh,05c9d360dh,027bfde12h,0e3baeb48h + DD 0f23206d5h,02bf5db47h,01d260152h,02f6d3420h,03f8ff89ah,017b87653h,0378fa458h,05157c30ch,02d4fb936h,07517c5c5h,0e6518cdch,0ef22f7ach,0bf847a64h,0deb483e6h,092e0fa89h,0f5084558h + DD 0df7304d4h,0ab9659d8h,0ff210e8eh,0b71bcf1bh,0d73fbd60h,0a9a2438bh,05d11b4deh,04595cd1fh,04835859dh,09c0d329ah,07dbb6e56h,04a0f0d2dh,0df928a4eh,0c6038e5eh,08f5ad154h,0c9429621h + DD 0f23f2d92h,091213462h,060b94078h,06cab71bdh,0176cde20h,06bdd0a63h,0ee4d54bch,054c9b20ch,09f2ac02fh,03cd2d8aah,0206eedb0h,003f8e617h,093086434h,0c7f68e16h,092dd3db9h,0831469c5h + DD 08f981354h,08521df24h,03588a259h,0587e23ech,0d7a0992ch,0cbedf281h,038961407h,006930a55h,0be5bbe21h,009320debh,02491817fh,0a7ffa5b5h,009065160h,0e6c8b4d9h,0fff6d2a9h,0ac4f3992h + DD 03ae9c1bdh,07aa7a158h,0e37ce240h,0e0af6d98h,028ab38b4h,0e54342d9h,00a1c98cah,0e8b75007h,0e02358f2h,0efce86afh,0ea921228h,031b8b856h,00a1c67fch,0052a1912h,0e3aead59h,0b4069ea4h + DD 07fa03cb3h,03232d6e2h,00fdd7d88h,0db938e5bh,02ccbfc5dh,004c1d2cdh,0af3a580fh,0d2f45c12h,07883e614h,0592620b5h,0be7c5f26h,05fd27e68h,01567e1e3h,0139e45a9h,044d8aaafh,02cc71d2dh + DD 0e36d0757h,04a9090cdh,0d9a29382h,0f722d7b1h,004b48ddfh,0fb7fb04ch,0ebe16f43h,0628ad2a7h,020226040h,0cd3fbfb5h,05104b6c4h,06c34ecb1h,0c903c188h,030c0754eh,02d23cab0h,0ec336b08h + DD 01e206ee5h,0473d62a2h,08c49a633h,0f1e27480h,0e9f6b2c3h,087ab956ch,062b606eah,061830b48h,0e78e815fh,067cd6846h,04c02082ah,0fe40139fh,0952ec365h,052bbbfcbh,06b9836abh,074c11642h + DD 0558df019h,09f51439eh,0ac712b27h,0230da4bah,055185a24h,0518919e3h,084b78f50h,04dcefcddh,0a47d4c5ah,0a7d90fb2h,0b30e009eh,055ac9abfh,074eed273h,0fd2fc359h,0dbea8fafh,0b72d824ch + DD 04513e2cah,0ce721a74h,038240b2ch,00b418612h,0d5baa450h,005199968h,02b0e8c25h,0eb1757edh,03dfac6d5h,06ebc3e28h,048a237f5h,0b2431e2eh,052f61499h,02acb5e23h,0e06c936bh,05558a2a7h + DD 0cbb13d1bh,0d213f923h,05bfb9bfeh,098799f42h,0701144a9h,01ae8ddc9h,04c5595eeh,00b8b3bb6h,03ecebb21h,00ea9ef2eh,03671f9a7h,017cb6c4bh,0726f1d1fh,047ef464fh,06943a276h,0171b9484h + DD 07ef0329ch,051a4ae2dh,091c4402ah,008509222h,0afd45bbch,064a61d35h,03035a851h,038f096feh,0a1dec027h,0c7468b74h,04fc7dcbah,0e8cf10e7h,0f4a06353h,0ea35ff40h,08b77dd66h,00b4c0dfah + DD 0de7e5c19h,0779b8552h,0c1c0256ch,0fab28609h,0abd4743dh,064f58eeeh,07b6cc93bh,04e8ef838h,04cb1bf3dh,0ee650d26h,073dedf61h,04c1f9d09h,0bfb70cedh,0aef7c9d7h,01641de1eh,01ec0507eh + DD 0cde45079h,0cd7e5cc7h,0516ac9e4h,0de173c9ah,0c170315ch,0517a8494h,091d8e8fbh,0438fd905h,0c7d9630bh,05145c506h,0f47d4d75h,06457a87bh,00d9a80e8h,0d31646bfh,0cef3aabeh,0453add2bh + DD 0a607419dh,0c9941109h,0bb6bca80h,0faa71e62h,007c431f3h,034158c13h,0992bc47ah,0594abebch,0eb78399fh,06dfea691h,03f42cba4h,048aafb35h,0077c04f0h,0edcd65afh,0e884491ah,01a29a366h + DD 01c21f2bfh,0023a40e5h,0a5057aeeh,0f99a513ch,0bcab072eh,0a3fe7e25h,040e32bcfh,08568d2e1h,0d3f69d9fh,0904594ebh,007affab1h,0181a9733h,0b6e330f4h,0e4d68d76h,0c75a7fc1h,087a6dafbh + DD 0ef7d9289h,0549db2b5h,0197f015ah,02480d4a8h,0c40493b6h,061d5590bh,06f780331h,03a55b52eh,0309eadb0h,040eb8115h,092e5c625h,0dea7de5ah,0cc6a3d5ah,064d631f0h,093e8dd61h,09d5e9d7ch + DD 0206d3ffch,0f297bef5h,07d808bd4h,023d5e033h,0d24cf5bah,04a4f6912h,009cdaa8ah,0e4d8163bh,0d3082e8eh,00e0de9efh,00192f360h,04fe1246ch,04b8eee0ah,01f900150h,0f1da391bh,05219da81h + DD 0f7ea25aah,07bf6a5c1h,0fbb07d5fh,0d165e6bfh,089e78671h,0e3539361h,02bac4219h,0a3fcac89h,0f0baa8abh,0dfab6fd4h,0e2c1c2e5h,05a4adac1h,040d85849h,06cd75e31h,019b39181h,0ce263feah + DD 007032c72h,0cb6803d3h,0790968c8h,07f40d5ceh,0dce978f0h,0a6de86bdh,0368f751ch,025547c4fh,065fb2a9eh,0b1e685fdh,01eb9179ch,0ce69336fh,012504442h,0b15d1c27h,0b911a06bh,0b7df465ch + DD 0315980cdh,0b8d804a3h,0fa3bebf7h,0693bc492h,02253c504h,03578aeeeh,0cd2474a2h,0158de498h,0cfda8368h,01331f5c7h,078d7177eh,0d2d7bbb3h,0f3c1e46eh,0df61133ah,0d30e7be8h,05836ce7dh + DD 094f834cbh,083084f19h,0429ed782h,0d35653d4h,059e58243h,0a542f16fh,00470a22dh,0c2b52f65h,018f23d96h,0e3b6221bh,03f5252b4h,0cb05abach,087d61402h,0ca00938bh,0411933e4h,02f186cddh + DD 09a29a5c5h,0e042ece5h,03b6c8402h,0b19b3c07h,019d92684h,0c97667c7h,0ebc66372h,0b5624622h,03c04fa02h,00cb96e65h,08eaa39aah,083a7176ch,0eaa1633fh,02033561dh,04533df73h,045a9d086h + DD 03dc090bch,0e0542c1dh,0aa59c167h,082c996efh,00ee7fc4dh,0e3f735e8h,07c35db79h,07b179393h,0f8c5dbfdh,0b6419e25h,01f327b04h,04d9d7a1eh,0298dfca8h,0979f6f9bh,08de9366ah,0c7c5dff1h + DD 004c82bddh,01b7a588dh,0f8319dfdh,068005534h,0d8eb9580h,0de8a55b5h,08d5bca81h,05ea886dah,0252a0b4dh,0e8530a01h,035eaa0a1h,01bffb4feh,0d8e99563h,02ad828b1h,095f9cd87h,07de96ef5h + DD 0d77d970ch,04abb2d0ch,0d33ef9cbh,003cfb933h,08b211fe9h,0b0547c01h,0a56ed1c6h,02fe64809h,0c2ac98cch,0cb7d5624h,01a393e33h,02a1372c0h,029660521h,0c8d1ec1ch,0b37ac3e9h,0f3d31b04h + DD 05ece6e7ch,0a29ae9dfh,00facfb55h,00603ac8fh,0dda233a5h,0cfe85b7ah,0bd75f0b8h,0e618919fh,099bf1603h,0f555a3d2h,0f184255ah,01f43afc9h,0319a3e02h,0dcdaf341h,003903a39h,0d3b117efh + DD 065d1d131h,0e095da13h,0c37ad03eh,086f16367h,0462cd8ddh,05f37389eh,0d67a60e6h,0c103fa04h,0f4b478f0h,057c34344h,0e117c98dh,0ce91edd8h,0231fc12eh,0001777b0h,0b207bccbh,011ae47f2h + DD 020f8a242h,0d983cf8dh,0f22e1ad8h,07aff5b1dh,07fc4feb3h,068fd11d0h,0b0f1c3e1h,05d53ae90h,0ec041803h,050fb7905h,014404888h,085e3c977h,0ac628d8fh,00e67faedh,06668532ch,02e865150h + DD 06a67a6b0h,015acaaa4h,0b25cec41h,0f4cdee25h,0e4c6701eh,049ee565ah,0fc7d63d8h,02a04ca66h,0ef0543fbh,0eb105018h,0d1b0d81dh,0f709a4f5h,02915d333h,05b906ee6h,096f1f0abh,0f4a87412h + DD 04d82f4c2h,0b6b82fa7h,06804efb3h,090725a60h,0adc3425eh,0bc82ec46h,02787843eh,0b7b80581h,0dd1fc74ch,0df46d91ch,0e783a6c4h,0dc1c62cbh,01a04cbbah,059d1b9f3h,095e40764h,0d87f6f72h + DD 0317f4a76h,002b4cfc1h,091036bceh,08d2703ebh,0a5e72a56h,098206cc6h,0cf53fb0fh,057be9ed1h,0ef0b17ach,009374571h,0d9181b38h,074b2655eh,089935d0eh,0c8f80ea8h,091529936h,0c0d9e942h + DD 01e84e0e5h,019686041h,0aea34c93h,0a5db84d3h,07073a732h,0f9d5bb19h,06bcfd7c0h,0b8d2fe56h,0f3eb82fah,045775f36h,0fdff8b58h,08cb20ccch,08374c110h,01659b65fh,0330c789ah,0b8b4a422h + DD 06fe8208bh,075e3c3eah,0286e78feh,0bd74b9e4h,0d7d93a1ah,00be2e81bh,0dd0a5aaeh,07ed06e27h,06be8b800h,0721f5a58h,0d846db28h,0428299d1h,05be88ed3h,095cb8e6bh,01c034e11h,0c3186b23h + DD 08977d99bh,0a6312c9eh,083f531e7h,0be944331h,018d3b1d4h,08232c0c2h,0e1247b73h,0617aae8bh,0282aec3bh,040153fc4h,0f7b8f823h,0c6063d2fh,03304f94ch,068f10e58h,0ee676346h,031efae74h + DD 040a9b97ch,0badb6c6dh,04f666256h,014702c63h,05184b2e3h,0deb954f1h,094b6ca40h,05184a526h,0003c32eah,0fff05337h,0205974c7h,05aa374ddh,04b0dd71ah,09a763854h,0deb947ech,0459cd27fh + DD 0459c2b92h,0a6e28161h,075ee8ef5h,02f020fa8h,030b06310h,0b132ec2dh,0bc6a4530h,0c3e15899h,0aa3f451ah,0dc5f53feh,0c2d9acach,03a3c7f23h,06b27e58bh,02ec2f892h,0d742799fh,068466ee7h + DD 01fa26613h,098324dd4h,0bdc29d63h,0a2dc6dabh,0d712d657h,0f9675faah,021fd8d15h,0813994beh,0fd4f7553h,05ccbb722h,0f3a36b20h,05135ff8bh,069559df5h,044be28afh,09d41bf30h,040b65bedh + DD 03734e520h,0d98bf2a4h,0209bdcbah,05e3abbe3h,0bc945b35h,077c76553h,0c6ef14aah,05331c093h,076b60c80h,0518ffe29h,07ace16f8h,02285593bh,0be2b9784h,0ab1f64cch,0ab2421b6h,0e8f2c0d9h + DD 0c1df065ch,0617d7174h,05f6578fah,0afeeb5abh,0263b54a8h,016ff1329h,0c990dce3h,045c55808h,0ecc8c177h,042eab6c0h,05982ecaah,0799ea9b5h,0b607ef8eh,0f65da244h,032a3fc2ch,08ab226ceh + DD 07ea973dch,0745741e5h,020888f2eh,05c00ca70h,045fd9cf1h,07cdce3cfh,05507f872h,08a741ef1h,0196b4cech,047c51c2fh,0c97ea618h,070d08e43h,015b18a2bh,0930da15ch,02f610514h,033b6c678h + DD 007ac9794h,0c662e4f8h,0ba06cb79h,01eccf050h,0e7d954e5h,01ff08623h,024cf71c3h,06ef2c5fbh,067978453h,0b2c063d2h,01d654af8h,0a0cf3796h,07ebdaa37h,07cb242eah,0b86747e0h,0206e0b10h + DD 0d5ecfefch,0481dae5fh,0c2bff8fch,007084fd8h,0ea324596h,08040a01ah,0d4de4036h,04c646980h,0d65abfc3h,09eb8ab4eh,013541ec7h,0e01cb91fh,0fd695012h,08f029adbh,03c7569ech,09ae28483h + DD 0a66d80a1h,0a5614c9eh,075f5f911h,0680a3e44h,0ceba4fc1h,00c07b14dh,0a13071c1h,0891c285bh,0799ece3ch,0cac67cebh,041e07e27h,029b910a9h,0f2e43123h,066bdb409h,07ac9ecbeh,006f8b137h + DD 038547090h,05981fafdh,085e3415dh,019ab8b9fh,0c7e31b27h,0fc28c194h,06fbcbb42h,0843be0aah,0a6db836ch,0f3b1ed43h,001a45c05h,02a1330e4h,095c1a377h,04f19f3c5h,044b5ee33h,0a85f39d0h + DD 04ae52834h,03da18e6dh,07423dcb0h,05a403b39h,0f2374aefh,0bb555e0ah,01e8ca111h,02ad599c4h,0014b3bf8h,01b3a2fb9h,0f66d5007h,073092684h,0c4340102h,0079f1426h,08fddf4deh,01827cf81h + DD 0f10ff927h,0c83605f6h,023739fc6h,0d3871451h,0cac1c2cch,06d163450h,0a2ec1ac5h,06b521296h,06e3cb4a5h,00606c4f9h,0778abff7h,0e47d3f41h,0be8e3a45h,0425a8d5eh,0a6102160h,053ea9e97h + DD 039cbb688h,0477a106eh,0f3386d32h,0532401d2h,0b1b9b421h,08e564f64h,081dad33fh,0ca9b8388h,02093913eh,0b1422b4eh,069bc8112h,0533d2f92h,0ebe7b2c7h,03fa017beh,0caf197c6h,0b2767c4ah + DD 0aedbae9fh,0c925ff87h,036880a54h,07daf0eb9h,09c4d0e71h,09284ddf5h,0316f8cf5h,01581cf93h,03ac1f452h,03eeca887h,0fb6aeffeh,0b417fce9h,0eefb8dc3h,0a5918046h,002209400h,073d318ach + DD 0728693e5h,0e800400fh,0339927edh,0e87d814bh,057ea9910h,093e94d3bh,02245fb69h,0ff8a35b6h,07f200d34h,0043853d7h,00f653ce1h,0470f1e68h,059a06379h,081ac05bdh,003930c29h,0a14052c2h + DD 026bc2797h,06b72fab5h,099f16771h,013670d16h,01e3e48d1h,000170052h,0b7adf678h,0978fe401h,0d41c5dd4h,055ecfb92h,0c7b27da5h,05ff8e247h,0013fb606h,0e7518272h,02f547a3ch,05768d7e5h + DD 060017a5fh,0bb24eaa3h,09c64ce9bh,06b18e6e4h,0103dde07h,0c225c655h,07592f7eah,0fc3672aeh,0d06283a1h,09606ad77h,0e4d59d99h,0542fc650h,02a40e7c2h,0abb57c49h,0a8db9f55h,0ac948f13h + DD 0b04465c3h,06d4c9682h,06468bd15h,0e3d062fah,05f318d7eh,0a51729ach,09eb6fc95h,01fc87df6h,00591f652h,063d146a8h,0589621aah,0a861b8f7h,0ce31348ch,059f5f15ah,0440da6dah,08f663391h + DD 0b591ffa3h,0cfa778ach,04cdfebceh,0027ca9c5h,0444ea6b3h,0be8e05a5h,0a78d8254h,08aab4e69h,0b474d6b8h,02437f04fh,0045b3855h,06597ffd4h,0ca47ecaah,0bb0aea4eh,085c7ebfch,0568aae83h + DD 0c73b2383h,00e966e64h,0d17d8762h,049eb3447h,08da05dabh,0de107821h,0016b7236h,0443d8baah,0ea7610d6h,0163b63a5h,0ce1ca979h,0e47e4185h,080baa132h,0ae648b65h,00e0d5b64h,0ebf53de2h + DD 0d3c8c1cah,08d3bfcb4h,05d04b309h,00d914ef3h,03de7d395h,055ef6415h,026b850e8h,0bde1666fh,0d449ab19h,0dbe1ca6eh,0e89a2672h,08902b322h,0dacb7a53h,0b1674b7eh,0f52523ffh,08e9faf6eh + DD 09a85788bh,06ba535dah,0bd0626d4h,0d21f03aeh,0e873dc64h,0099f8c47h,0018ec97eh,0cda8564dh,0de92c68ch,03e8d7a5ch,073323cc4h,078e035a1h,0f880ff7ch,03ef26275h,0273eedaah,0a4ee3dffh + DD 0af4e18f8h,058823507h,00672f328h,0967ec9b5h,0559d3186h,09ded19d9h,06cdce39ch,05e2ab3deh,011c226dfh,0abad6e4dh,087723014h,0f9783f43h,01a885719h,09a49a0cfh,090da9dbfh,0fc0c1a5ah + DD 0571d92ach,08bbaec49h,04692517fh,0569e85feh,0a14ea4afh,08333b014h,012e5c5adh,032f2a62fh,006d89b85h,098c2ce3ah,02ff77a08h,0b90741aah,001f795a2h,02530defch,084b3c199h,0d6e5ba0bh + DD 012e4c936h,07d8e8451h,0bd0be17bh,0ae419f7dh,022262bc9h,0a583fc8ch,091bfe2bdh,06b842ac7h,0440d6827h,033cef4e9h,0ef81fb14h,05f69f4deh,0234fbb92h,0f16cf6f6h,0d9e7e158h,076ae3fc3h + DD 0e9740b33h,04e89f6c2h,04962d6a1h,0677bc85dh,068d10d15h,06c6d8a7fh,00257b1cdh,05f9a7224h,04ad85961h,07096b916h,0e657ab4ah,05f8c47f7h,0f7461d7eh,0de57d7d0h,080ce5ee2h,07eb6094dh + DD 034190547h,00b1e1dfdh,0f05dd150h,08a394f43h,097df44e6h,00a9eb24dh,087675719h,078ca06bfh,06ffeec22h,06f0b3462h,036cdd8fbh,09d91bceah,0a105be47h,0ac83363ch,0069710e3h,081ba76c1h + DD 028c682c6h,03d1b24cbh,08612575bh,027f25228h,0e8e66e98h,0b587c779h,0405eb1feh,07b0c03e9h,015b548e7h,0fdf0d030h,038b36af7h,0a8be76e0h,04f310c40h,04cdab04ah,0f47ecaech,06287223eh + DD 08b399320h,0678e6055h,0c01e4646h,061fe3fa6h,003261a5eh,0c482866bh,05c2f244ah,0dfcf45b8h,02f684b43h,08fab9a51h,0c7220a66h,0f796c654h,0f5afa58fh,01d90707eh,04fdbe0deh,02c421d97h + DD 0af2ebc2fh,0c4f4cda3h,0cb4efe24h,0a0af843dh,09ccd10b1h,053b857c1h,0914d3e04h,0ddc9d1ebh,062771debh,07bdec8bbh,091c5aa81h,0829277aah,0832391aeh,07af18dd6h,0c71a84cah,01740f316h + DD 0eeaf8c49h,08928e99ah,06e24d728h,0ee7aa73dh,0e72b156ch,04c5007c2h,0ed408a1dh,05fcf57c5h,0b6057604h,09f719e39h,0c2868bbfh,07d343c01h,07e103e2dh,02cca254bh,0f131bea2h,0e6eb38a9h + DD 08be762b4h,0b33e624fh,0058e3413h,02a9ee4d1h,067d805fah,0968e6369h,07db8bfd7h,09848949bh,0d23a8417h,05308d7e5h,0f3e29da5h,0892f3b1dh,03dee471fh,0c95c139eh,0d757e089h,08631594dh + DD 0de918dcch,0e0c82a3ch,026fdcf4bh,02e7b5994h,032cb1b2dh,082c50249h,07657ae07h,0ea613a9dh,0f1fdc9f7h,0c2eb5f6ch,0879fe682h,0b6eae8b8h,0591cbc7fh,0253dfee0h,03e1290e6h,0000da713h + DD 01f095615h,01083e2eah,014e68c33h,00a28ad77h,03d8818beh,06bfc0252h,0f35850cdh,0b585113ah,030df8aa1h,07d935f0bh,04ab7e3ach,0addda07ch,0552f00cbh,092c34299h,02909df6ch,0c33ed1deh + DD 080e87766h,022c2195dh,09ddf4ac0h,09e99e6d8h,065e74934h,009642e4eh,0ff1ff241h,02610ffa2h,0751c8159h,04d1d47d4h,0af3a9363h,0697b4985h,087477c33h,00318ca46h,09441eff3h,0a90cb565h + DD 036f024cbh,058bb3848h,036016168h,085be1f77h,0dc7e07f1h,06c59587ch,0af1d8f02h,0191be071h,0cca5e55ch,0bf169fa5h,0f7d04each,03864ba3ch,08d7d05dbh,0915e367fh,0a6549e5dh,0b48a876dh + DD 0580e40a2h,0ef89c656h,0728068bch,0f194ed8ch,0a47990c9h,074528045h,05e1a4649h,0f53fc7d7h,078593e7dh,0bec5ae9bh,041db65d7h,02cac4ee3h,004a3d39bh,0a8c1eb24h,003f8f3efh,053b7d634h + DD 03e07113ch,02dc40d48h,07d8b63aeh,06e4a5d39h,079684c2bh,05582a94bh,0622da26ch,0932b33d4h,00dbbf08dh,0f534f651h,064c23a52h,0211d07c9h,0ee5bdc9bh,00eeece0fh,0f7015558h,0df178168h + DD 00a712229h,0d4294635h,009273f8ch,093cbe448h,08f13bc83h,000b095efh,08798978ch,0bb741972h,056dbe6e7h,09d7309a2h,05a5d39ech,0e578ec56h,0851f9a31h,03961151bh,0e5709eb4h,02da7715dh + DD 053dfabf0h,0867f3017h,0b8e39259h,0728d2078h,0815d9958h,05c75a0cdh,016603be1h,0f84867a6h,070e35b1ch,0c865b13dh,019b03e2ch,002414468h,0ac1f3121h,0e46041dah,06f028a7ch,07c9017adh + DD 00a482873h,0abc96de9h,0b77e54d4h,04265d6b1h,0a57d88e7h,068c38e79h,09ce82de3h,0d461d766h,064a7e489h,0817a9ec5h,0a0def5f2h,0cc5675cdh,0985d494eh,09a00e785h,01b03514ah,0c626833fh + DD 083cdd60eh,0abe7905ah,0a1170184h,050602fb5h,0b023642ah,0689886cdh,0a6e1fb00h,0d568d090h,00259217fh,05b1922c7h,0c43141e4h,093831cd9h,00c95f86eh,0dfca3587h,0568ae828h,0dec2057ah + DD 0f98a759ah,0c44ea599h,0f7c23c1dh,055a0a7a2h,094c4f687h,0d5ffb6e6h,012848478h,03563cce2h,0e7b1fbe1h,0812b3517h,04f7338e0h,08a7dc979h,052d048dbh,0211ecee9h,0c86ea3b8h,02eea4056h + DD 0ba772b34h,0d8cb68a7h,05f4e2541h,0e16ed341h,00fec14dbh,09b32f6a6h,0391698beh,0eee376f7h,083674c02h,0e9a7aa17h,05843022ah,065832f97h,05ba4990fh,029f3a8dah,0fb8e3216h,079a59c3ah + DD 0bd19bb16h,09cdc4d2eh,0b3262d86h,0c6c7cfd0h,0969c0b47h,0d4ce14d0h,013e56128h,01fa352b7h,0973db6d3h,0383d55b8h,0e8e5b7bfh,071836850h,0e6bb571fh,0c7714596h,02d5b2dd2h,0259df31fh + DD 0913cc16dh,0568f8925h,0e1a26f5ah,018bc5b6dh,0f5f499aeh,0dfa413beh,0c3f0ae84h,0f8835dech,065a40ab0h,0b6e60bd8h,0194b377eh,065596439h,092084a69h,0bcd85625h,04f23ede0h,05ce433b9h + DD 06ad65143h,0e8e8f04fh,0d6e14af6h,011511827h,08295c0c7h,03d390a10h,0621eba16h,071e29ee4h,063717b46h,0a588fc09h,0e06ad4a2h,002be02feh,004c22b22h,0931558c6h,012f3c849h,0bb4d4bd6h + DD 020efd662h,054a4f496h,0c5952d14h,092ba6d20h,0cc9784c2h,02db8ea1eh,04b353644h,081cc10cah,04b4d7f6ch,040b570adh,084a1dcd2h,05c9f1d96h,03147e797h,001379f81h,02bd499f5h,0e5c6097bh + DD 0328e5e20h,040dcafa6h,054815550h,0f7b5244ah,047bfc978h,0b9a4f118h,0d25825b1h,00ea0e79fh,0646c7ecfh,0a50f96ebh,0446dea9dh,0eb811493h,0dfabcf69h,02af04677h,0c713f6e8h,0be3a068fh + DD 042e06189h,0860d523dh,04e3aff13h,0bf077941h,0c1b20650h,00b616dcah,02131300dh,0e66dd6d1h,0ff99abdeh,0d4a0fd67h,0c7aac50dh,0c9903550h,07c46b2d7h,0022ecf8bh,03abf92afh,03333b1e8h + DD 06c491c14h,011cc113ch,080dd3f88h,005976688h,029d932edh,0f5b4d9e7h,0a2c38b6dh,0e982aad8h,08be0dcf0h,06f925347h,065ca53f2h,0700080aeh,0443ca77fh,0d8131156h,0ec51f984h,0e92d6942h + DD 085dfe9aeh,0d2a08af8h,04d2a86cah,0d825d9a5h,039dff020h,02c53988dh,0430cdc40h,0f38b135ah,062a7150bh,00c918ae0h,00c340e9bh,0f31fd8deh,04dbbf02eh,0afa0e7aeh,05eba6239h,05847fb2ah + DD 0dccbac8bh,06b1647dch,006f485c8h,0b642aa78h,07038ecdfh,0873f3765h,0fa49d3feh,02ce5e865h,0c98c4400h,0ea223788h,0f1fa5279h,08104a8cdh,006becfd7h,0bcf7cc7ah,0c8f974aeh,049424316h + DD 084d6365dh,0c0da65e7h,08f759fb8h,0bcb7443fh,07ae81930h,035c712b1h,04c6e08abh,080428dffh,0a4faf843h,0f19dafefh,0ffa9855fh,0ced8538dh,0be3ac7ceh,020ac409ch,0882da71eh,0358c1fb6h + DD 0fd349961h,0afa9c0e5h,08421c2fch,02b2cfa51h,0f3a28d38h,02a80db17h,05d138e7eh,0a8aba539h,06e96eb8dh,052012d1dh,0cbaf9622h,065d8dea0h,0b264f56ch,057735447h,01b6c8da2h,0beebef3fh + DD 0ce785254h,0fc346d98h,0bb64a161h,0d50e8d72h,049794addh,0c03567c7h,0752c7ef6h,015a76065h,0961f23d6h,059f3a222h,073ecc0b0h,0378e4438h,05a82fde4h,0c74be434h,0d8b9cf34h,0ae509af2h + DD 0577f44a1h,04a61ee46h,0b611deebh,0e09b748ch,0f5f7b884h,0c0481b2ch,061acfa6bh,035626678h,0bf8d21e6h,037f4c518h,0b205a76dh,022d96531h,0954073c0h,037fb85e1h,065b3a567h,0bceafe4fh + DD 0be42a582h,0efecdef7h,065046be6h,0d3fc6080h,009e8dba9h,0c9af13c8h,0641491ffh,01e6c9847h,0d30c31f7h,03b574925h,0ac2a2122h,0b7eb72bah,0ef0859e7h,0776a0dach,021900942h,006fec314h + DD 0f8c22049h,02464bc10h,0875ebf69h,09bfbcce7h,04336326bh,0d7a88e2ah,05bc2acfah,0da05261ch,0eba7efc8h,0c29f5bdch,025dbbf2eh,0471237cah,02975f127h,0a72773f2h,004d0b326h,0dc744e8eh + DD 0a56edb73h,038a7ed16h,02c007e70h,064357e37h,05080b400h,0a167d15bh,023de4be1h,007b41164h,074c89883h,0b2d91e32h,02882e7edh,03c162821h,07503e482h,0ad6b36bah,00ea34331h,048434e8eh + DD 02c7ae0b9h,079f4f24fh,01939b44ah,0c46fbf81h,056595eb1h,076fefae8h,0cd5f29c7h,0417b66abh,0c5ceec20h,05f2332b2h,0e1a1cae2h,0d69661ffh,09b0286e6h,05ede7e52h,0e276b993h,09d062529h + DD 07e50122bh,0324794b0h,04af07ca5h,0dd744f8bh,0d63fc97bh,030a12f08h,076626d9dh,039650f1ah,01fa38477h,0101b47f7h,0d4dc124fh,03d815f19h,0b26eb58ah,01569ae95h,095fb1887h,0c3cde188h + DD 0f9539a48h,054e9f37bh,07408c1a5h,0b0100e06h,0ea580cbbh,0821d9811h,086e50c56h,08af52d35h,0dbbf698bh,0dfbd9d47h,003dc1c73h,02961a1eah,0e76a5df8h,0203d38f8h,06def707ah,008a53a68h + DD 01bee45d4h,026eefb48h,03c688036h,0b3cee346h,0c42f2469h,0463c5315h,081378162h,019d84d2eh,01c4d349fh,022d7c3c5h,0163d59c5h,065965844h,0b8abceaeh,0cf198c56h,0628559d5h,06fb1fb1bh + DD 007bf8fe3h,08bbffd06h,03467734bh,046259c58h,035f7f0d3h,0d8953ceah,0d65b0ff1h,01f0bece2h,0f3c72914h,0f7d5b4b3h,03cb53389h,029e8ea95h,0836b6d46h,04a365626h,0ea174fdeh,0e849f910h + DD 0f4737f21h,07ec62fbbh,06209f5ach,0d8dba5abh,0a5f9adbeh,024b5d7a9h,0a61dc768h,0707d28f7h,0caa999eah,07711460bh,01c92e4cch,0ba7b174dh,018d4bf2dh,03c4bab66h,0eb8bd279h,0b8f0c980h + DD 0324b4737h,0024bea9ah,032a83bcah,0fba9e423h,0a232dcedh,06e635643h,02571c8bah,099619367h,054b7032bh,0e8c9f357h,02442d54ah,0f936b3bah,08290c65ah,02263f0f0h,0ee2c7fdbh,048989780h + DD 013d4f95eh,0adc5d55ah,0ad9b8500h,0737cff85h,08a73f43dh,0271c557bh,0e18bc476h,0bed617a4h,07dfd8ab2h,066245401h,03a2870aah,0ae7b89aeh,023a7e545h,01b555f53h,0be057e4ch,06791e247h + DD 0324fa34dh,0860136adh,04cbeae28h,0ea111447h,0bedd3299h,0023a4270h,0c1c35c34h,03d5c3a7fh,08d0412d2h,0b0f6db67h,0fcdc6b9ah,0d92625e2h,04e28a982h,092ae5ccch,047a3ce7eh,0ea251c36h + DD 0790691bfh,09d658932h,006b736aeh,0ed610589h,0c0d63b6eh,0712c2f04h,0c63d488fh,05cf06fd5h,0d9588e41h,097363fach,02b93257eh,01f9bf762h,0667acaceh,0a9d1ffc4h,00a061ecfh,01cf4a1aah + DD 0dc1818d0h,040e48a49h,0a3621ab0h,00643ff39h,0e39ef639h,05768640ch,004d86854h,01fc099eah,0eccd28fdh,09130b9c3h,07eec54abh,0d743cbd2h,0e5b475b6h,0052b146fh,0900a7d1fh,0058d9a82h + DD 091262b72h,065e02292h,0bb0edf03h,096f924f9h,0fe206842h,05cfa59c8h,05eafa720h,0f6037004h,018d7dd96h,05f30699eh,0cbab2495h,0381e8782h,0dd8be949h,091669b46h,026aae8efh,0b40606f5h + DD 0fc6751a4h,02812b839h,0fba800efh,016196214h,04c1a2875h,04398d5cah,0653d8349h,0720c00eeh,0d820007ch,0c2699eb0h,0a39b5825h,0880ee660h,0471f6984h,070694694h,0e3dda99ah,0f7d16ea8h + DD 0c0519a23h,028d675b2h,04f6952e3h,09ebf94feh,0a2294a8ah,0f28bb767h,0fe0af3f5h,085512b4dh,099b16a0dh,018958ba8h,0ba7548a7h,095c2430ch,0a16be615h,0b30d1b10h,085bfb74ch,0e3ebbb97h + DD 018549fdbh,0a3273cfeh,04fcdb792h,0f6e200bfh,083aba56ch,054a76e18h,089ef6aa2h,073ec66f6h,0d1b9a305h,08d17add7h,0b7ae1b9dh,0a959c5b9h,06bcc094ah,088643522h,0d7d429b9h,0cc5616c4h + DD 0e6a33f7ch,0a6dada01h,09d4e70adh,0c6217a07h,009c15b7ch,0d619a818h,00e80c854h,0ea06b329h,0a5f5e7b9h,0174811ceh,0787c65f4h,066dfc310h,03316ab54h,04ea7bd69h,01dcc0f70h,0c12c4acbh + DD 01e407dd9h,0e4308d1ah,091afa997h,0e8a3587ch,0ab77b7a5h,0ea296c12h,0673c0d52h,0b5ad49e4h,07006085ah,040f9b2b2h,087bf6ec2h,0a88ff340h,04e3066a6h,0978603b1h,0b5e486e2h,0b3f99fc2h + DD 0b2e63645h,007b53f5eh,084c84232h,0be57e547h,07214d5cfh,0d779c216h,0029a3acah,0617969cdh,08a7017a0h,0d17668cdh,0be9b7ee8h,077b4d19ah,09c161776h,058fd0e93h,0d5968a72h,0a8c4f4efh + DD 067b3de77h,0296071cch,0634f7905h,0ae3c0b8eh,08a7100c9h,067e440c2h,0eb4b9b42h,0bb8c3c1bh,0c51b3583h,06d71e8eah,09525e642h,07591f5afh,013f509f3h,0f73a2f7bh,05619ac9bh,0618487aah + DD 09d61718ah,03a72e5f7h,07592d28ch,000413bcch,0963c35cfh,07d9b11d3h,0b90a46edh,077623bcfh,0dcdd2a50h,0deef273bh,00601846eh,04a741f9bh,00ec6e929h,033b89e51h,08b7f22cdh,0cb02319fh + DD 0084bae24h,0bbe1500dh,0343d2693h,02f0ae8d7h,07cdef811h,0acffb5f2h,0263fb94fh,0aa0c030ah,0a0f442deh,06eef0d61h,027b139d3h,0f92e1817h,00ad8bc28h,01ae6deb7h,0c0514130h,0a89e38dch + DD 0d2fdca23h,081eeb865h,0cc8ef895h,05a15ee08h,001905614h,0768fa10ah,0880ee19bh,0eff5b8efh,0cb1c8a0eh,0f0c0cabbh,0b8c838f9h,02e1ee9cdh,08a4a14c0h,00587d8b8h,02ff698e5h,0f6f27896h + DD 089ee6256h,0ed38ef1ch,06b353b45h,0f44ee1feh,070e903b3h,09115c0c7h,0818f31dfh,0c78ec0a1h,0b7dccbc6h,06c003324h,0163bbc25h,0d96dd1f3h,05cedd805h,033aa82ddh,07f7eb2f1h,0123aae4fh + DD 0a26262cdh,01723fcf5h,00060ebd5h,01f7f4d5dh,0b2eaa3afh,0f19c5c01h,09790accfh,02ccb9b14h,052324aa6h,01f9c1cadh,07247df54h,063200526h,0bac96f82h,05732fe42h,001a1c384h,052fe771fh + DD 0b1001684h,0546ca13dh,0a1709f75h,0b56b4eeeh,0d5db8672h,0266545a9h,01e8f3cfbh,0ed971c90h,0e3a07b29h,04e7d8691h,0e4b696b9h,07570d9ech,07bc7e9aeh,0dc5fa067h,0c82c4844h,068b44cafh + DD 0bf44da80h,0519d34b3h,05ab32e66h,0283834f9h,06278a000h,06e608797h,0627312f6h,01e62960eh,0e6901c55h,09b87b27bh,024fdbc1fh,080e78538h,02facc27dh,0bbbc0951h,0ac143b5ah,006394239h + DD 0376c1944h,035bb4a40h,063da1511h,07cb62694h,0b7148a3bh,0afd29161h,04e2ea2eeh,0a6f9d9edh,0880dd212h,015dc2ca2h,0a61139a9h,0903c3813h,06c0f8785h,02aa7b46dh,0901c60ffh,036ce2871h + DD 0e10d9c12h,0c683b028h,0032f33d3h,07573baa2h,067a31b58h,087a9b1f6h,0f4ffae12h,0fd3ed11ah,00cb2748eh,083dcaa9ah,05d6fdf16h,08239f018h,072753941h,0ba67b49ch,0c321cb36h,02beec455h + DD 03f8b84ceh,088015606h,08d38c86fh,076417083h,0598953ddh,0054f1ca7h,04e8e7429h,0c939e110h,05a914f2fh,09b1ac2b3h,0e74b8f9ch,039e35ed3h,0781b2fb0h,0d0debdb2h,02d997ba2h,01585638fh + DD 09e2fce99h,09c4b646eh,01e80857fh,068a21081h,03643b52ah,006d54e44h,00d8eb843h,0de8d6d63h,042146a0ah,070321563h,05eaa3622h,08ba826f2h,086138787h,0227a58bdh,010281d37h,043b6c03ch + DD 0b54dde39h,06326afbbh,0db6f2d5fh,0744e5e8ah,0cff158e1h,048b2a99ah,0ef87918fh,0a93c8fa0h,0de058c5ch,02182f956h,0936f9e7ah,0216235d2h,0d2e31e67h,0ace0c0dbh,0f23ac3e7h,0c96449bfh + DD 0170693bdh,07e9a2874h,0a45e6335h,0a28e14fdh,056427344h,05757f6b3h,0acf8edf9h,0822e4556h,0e6a285cdh,02b7a6ee2h,0a9df3af0h,05866f211h,0f845b844h,040dde2ddh,0110e5e49h,0986c3726h + DD 0f7172277h,073680c2ah,00cccb244h,057b94f0fh,02d438ca7h,0bdff7267h,0cf4663fdh,0bad1ce11h,0d8f71caeh,09813ed9dh,0961fdaa6h,0f43272a6h,0bd6d1637h,0beff0119h,030361978h,0febc4f91h + DD 02f41deffh,002b37a95h,0e63b89b7h,00e44a59ah,0143ff951h,0673257dch,0d752baf4h,019c02205h,0c4b7d692h,046c23069h,0fd1502ach,02e6392c3h,01b220846h,06057b1a2h,00c1b5b63h,0e51ff946h + DD 0566c5c43h,06e85cb51h,03597f046h,0cff9c919h,04994d94ah,09354e90ch,02147927dh,0e0a39332h,00dc1eb2bh,08427fac1h,02ff319fah,088cfd8c2h,001965274h,0e2d4e684h,067aaa746h,0fa2e067dh + DD 03e5f9f11h,0b6d92a7fh,0d6cb3b8eh,09afe153ah,0ddf800bdh,04d1a6dd7h,0caf17e19h,0f6c13cc0h,0325fc3eeh,015f6c58eh,0a31dc3b2h,071095400h,0afa3d3e7h,0168e7c07h,094c7ae2dh,03f8417a1h + DD 0813b230dh,0ec234772h,017344427h,0634d0f5fh,0d77fc56ah,011548ab1h,0ce06af77h,07fab1750h,04f7c4f83h,0b62c10a7h,0220a67d9h,0a7d2edc4h,0921209a0h,01c404170h,0face59f0h,00b9815a0h + DD 0319540c3h,02842589bh,0a283d6f8h,018490f59h,0daae9fcbh,0a2731f84h,0c3683ba0h,03db6d960h,014611069h,0c85c63bbh,00788bf05h,0b19436afh,0347460d2h,0905459dfh,0e11a7db1h,073f6e094h + DD 0b6357f37h,0dc7f938eh,02bd8aa62h,0c5d00f79h,02ca979fch,0c878dcb9h,0eb023a99h,037e83ed9h,01560bf3dh,06b23e273h,01d0fae61h,01086e459h,09a9414bdh,078248316h,0f0ea9ea1h,01b956bc0h + DD 0c31b9c38h,07b85bb91h,048ef57b5h,00c5aa90bh,0af3bab6fh,0dedeb169h,02d373685h,0e610ad73h,002ba8e15h,0f13870dfh,08ca7f771h,00337edb6h,0b62c036ch,0e4acf747h,0b6b94e81h,0d921d576h + DD 02c422f7ah,0dbc86439h,0ed348898h,0fb635362h,0c45bfcd1h,083084668h,02b315e11h,0c357c9e3h,05b2e5b8ch,0b173b540h,0e102b9a4h,07e946931h,07b0fb199h,017c890ebh,0d61b662bh,0ec225a83h + DD 0ee3c76cbh,0f306a3c8h,0d32a1f6eh,03cf11623h,06863e956h,0e6d5ab64h,05c005c26h,03b8a4cbeh,09ce6bb27h,0dcd529a5h,004d4b16fh,0c4afaa52h,07923798dh,0b0624a26h,06b307fabh,085e56df6h + DD 02bf29698h,00281893ch,0d7ce7603h,091fc19a4h,0ad9a558fh,075a5dca3h,04d50bf77h,040ceb3fah,0bc9ba369h,01baf6060h,0597888c2h,0927e1037h,086a34c07h,0d936bf19h,0c34ae980h,0d4cf10c1h + DD 0859dd614h,03a3e5334h,018d0c8eeh,09c475b5bh,007cd51d5h,063080d1fh,0b88b4326h,0c9c0d0a6h,0c234296fh,01ac98691h,094887fb6h,02a0a83a4h,00cea9cf2h,056511427h,0a24802f5h,05230a6e8h + DD 072e3d5c1h,0f7a2bf0fh,04f21439eh,037717446h,09ce30334h,0fedcbf25h,07ce202f9h,0e0030a78h,01202e9cah,06f2d9ebfh,075e6e591h,0e79dde6ch,0f1dac4f8h,0f52072afh,0bb9b404dh,06c8d087eh + DD 0bce913afh,0ad0fc73dh,0458a07cbh,0909e587bh,0d4f00c8ah,01300da84h,0b54466ach,0425cd048h,090e9d8bfh,0b59cb9beh,03e431b0eh,0991616dbh,0531aecffh,0d3aa117ah,059f4dc3bh,091af92d3h + DD 0e93fda29h,09b1ec292h,0e97d91bch,076bb6c17h,0aface1e6h,07509d95fh,0be855ae3h,03653fe47h,00f680e75h,073180b28h,0eeb6c26ch,075eefd1bh,0b66d4236h,0a4cdf29fh,06b5821d8h,02d70a997h + DD 020445c36h,07a3ee207h,059877174h,071d1ac82h,0949f73e9h,00fc539f7h,0982e3081h,0d05cf3d7h,07b1c7129h,08758e20bh,0569e61f2h,0ffadcc20h,059544c2dh,0b05d3a2fh,09fff5e53h,0be16f5c1h + DD 0aad58135h,073cf65b8h,0037aa5beh,0622c2119h,0646fd6a0h,079373b3fh,00d3978cfh,00e029db5h,094fba037h,08bdfc437h,0620797a6h,0aefbd687h,0bd30d38eh,03fa5382bh,0585d7464h,07627cfbfh + DD 04e4ca463h,0b2330fefh,03566cc63h,0bcef7287h,0cf780900h,0d161d2cah,05b54827dh,0135dc539h,027bf1bc6h,0638f052eh,007dfa06ch,010a224f0h,06d3321dah,0e973586dh,026152c8fh,08b0c5738h + DD 034606074h,007ef4f2ah,0a0f7047ah,080fe7fe8h,0e1a0e306h,03d1a8152h,088da5222h,032cf43d8h,05f02ffe6h,0bf89a95fh,0806ad3eah,03d9eb9a4h,079c8e55eh,0012c17bbh,099c81dach,0fdcd1a74h + DD 0b9556098h,07043178bh,0801c3886h,04090a1dfh,09b67b912h,0759800ffh,0232620c8h,03e5c0304h,070dceecah,04b9d3c4bh,0181f648eh,0bb2d3c15h,06e33345ch,0f981d837h,00cf2297ah,0b626289bh + DD 08baebdcfh,0766ac659h,075df01e5h,01a28ae09h,0375876d8h,0b71283dah,0607b9800h,04865a96dh,0237936b2h,025dd1bcdh,060417494h,0332f4f4bh,0370a2147h,0d0923d68h,0dc842203h,0497f5dfbh + DD 032be5e0fh,09dc74cbdh,017a01375h,07475bcb7h,050d872b1h,0438477c9h,0ffe1d63dh,0cec67879h,0d8578c70h,09b006014h,078bb6b8bh,0c9ad99a8h,011fb3806h,06799008eh,0cd44cab3h,0cfe81435h + DD 02f4fb344h,0a2ee1582h,0483fa6ebh,0b8823450h,0652c7749h,0622d323dh,0beb0a15bh,0d8474a98h,05d1c00d0h,0e43c154dh,00e3e7aach,07fd581d9h,02525ddf8h,02b44c619h,0b8ae9739h,067a033ebh + DD 09ef2d2e4h,0113ffec1h,0d5a0ea7fh,01bf6767eh,003714c0ah,057fff75eh,00a23e9eeh,0a23c422eh,0540f83afh,0dd5f6b2dh,055ea46a7h,0c2c2c27eh,0672a1208h,0eb6b4246h,0ae634f7ah,0d13599f7h + DD 0d7b32c6eh,0cf914b5ch,0eaf61814h,061a5a640h,0208a1bbbh,08dc3df8bh,0b6d79aa5h,0ef627fd6h,0c4c86bc8h,044232ffch,0061539feh,0e6f9231bh,0958b9533h,01d04f25ah,049e8c885h,0180cf934h + DD 09884aaf7h,089689595h,007b348a6h,0b1959be3h,03c147c87h,096250e57h,0dd0c61f8h,0ae0efb3ah,0ca8c325eh,0ed00745eh,0ecff3f70h,03c911696h,0319ad41dh,073acbc65h,0f0b1c7efh,07b01a020h + DD 063a1483fh,0ea32b293h,07a248f96h,089eabe71h,0343157e5h,09c6231d3h,0df3c546dh,093a375e5h,06a2afe69h,0e76e9343h,0e166c88eh,0c4f89100h,04f872093h,0248efd0dh,08fe0ea61h,0ae0eb3eah + DD 09d79046eh,0af89790dh,06cee0976h,04d650f2dh,043071ecah,0a3935d9ah,0283b0bfeh,066fcd2c9h,0696605f1h,00e665eb5h,0a54cd38dh,0e77e5d07h,043d950cfh,090ee050ah,0d32e69b5h,086ddebdah + DD 0fddf7415h,06ad94a3dh,03f6e8d5ah,0f7fa1309h,0e9957f75h,0c4831d1dh,0d5817447h,07de28501h,09e2aeb6bh,06f1d7078h,0f67a53c2h,0ba2b9ff4h,0df9defc3h,036963767h,00d38022ch,0479deed3h + DD 03a8631e8h,0d2edb89bh,07a213746h,08de855deh,0b00c5f11h,0b2056cb7h,02c9b85e4h,0deaefbd0h,0d150892dh,003f39a8dh,0218b7985h,037b84686h,0b7375f1ah,036296dd8h,0b78e898eh,0472cd4b1h + DD 0e9f05de9h,015dff651h,02ce98ba9h,0d4045069h,09b38024ch,08466a7aeh,0e5a6b5efh,0b910e700h,0b3aa8f0dh,0ae1c56eah,07eee74a6h,0bab2a507h,04b4c4620h,00dca11e2h,04c47d1f4h,0fd896e2eh + DD 0308fbd93h,0eb45ae53h,002c36fdah,046cd5a2eh,0baa48385h,06a3d4e90h,09dbe9960h,0dd55e62eh,02a81ede7h,0a1406aa0h,0f9274ea7h,06860dd14h,080414f86h,0cfdcb0c2h,022f94327h,0ff410b10h + DD 049ad467bh,05a33cc38h,00a7335f1h,0efb48b6ch,0b153a360h,014fb54a4h,0b52469cch,0604aa9d2h,0754e48e9h,05e9dc486h,037471e8eh,0693cb455h,08d3b37b6h,0fb2fd7cdh,0cf09ff07h,063345e16h + DD 023a5d896h,09910ba6bh,07fe4364eh,01fe19e35h,09a33c677h,06e1da8c3h,029fd9fd0h,015b4488bh,01a1f22bfh,01f439254h,0ab8163e8h,0920a8a70h,007e5658eh,03fd1b249h,0b6ec839bh,0f2c4f79ch + DD 04aa38d1bh,01abbc3d0h,0b5d9510eh,03b0db35ch,03e60dec0h,01754ac78h,0ea099b33h,053272fd7h,007a8e107h,05fb0494fh,06a8191fah,04a89e137h,03c4ad544h,0a113b7f6h,06cb9897bh,088a2e909h + DD 0b44a3f84h,017d55de3h,017c6c690h,0acb2f344h,010232390h,032088168h,06c733bf7h,0f2e8a61fh,09c2d7652h,0a774aab6h,0ed95c5bch,0fb5307e3h,04981f110h,0a05c73c2h,0a39458c9h,01baae31ch + DD 0cbea62e7h,01def185bh,0eaf63059h,0e8ac9eaeh,09921851ch,0098a8cfdh,03abe2f5bh,0d959c3f1h,020e40ae5h,0a4f19525h,007a24aa1h,0320789e3h,07392b2bch,0259e6927h,01918668bh,058f6c667h + DD 0c55d2d8bh,0ce1db2bbh,0f4f6ca56h,041d58bb7h,08f877614h,07650b680h,0f4c349edh,0905e16bah,0f661acach,0ed415140h,0cb2270afh,03b8784f0h,08a402cbah,03bc280ach,00937921ah,0d53f7146h + DD 0e5681e83h,0c03c8ee5h,0f6ac9e4ah,062126105h,0936b1a38h,09503a53fh,0782fecbdh,03d45e2d4h,076e8ae98h,069a5c439h,0bfb4b00eh,0b53b2eebh,072386c89h,0f1674712h,04268bce4h,030ca34a2h + DD 078341730h,07f1ed86ch,0b525e248h,08ef5beb8h,0b74fbf38h,0bbc489fdh,091a0b382h,038a92a0eh,022433ccfh,07a77ba3fh,0a29f05a9h,0de8362d6h,061189afch,07f6a30eah,059ef114fh,0693b5505h + DD 0cd1797a1h,050266bc0h,0f4b7af2dh,0ea17b47eh,03df9483eh,0d6c4025ch,0a37b18c9h,08cbb9d9fh,04d8424cfh,091cbfd9ch,0ab1c3506h,0db7048f1h,0028206a3h,09eaf641fh,025bdf6ceh,0f986f3f9h + DD 0224c08dch,0262143b5h,081b50c91h,02bbb09b4h,0aca8c84fh,0c16ed709h,0b2850ca8h,0a6210d9dh,009cb54d6h,06d8df67ah,0500919a4h,091eef6e0h,00f132857h,090f61381h,0f8d5028bh,09acede47h + DD 090b771c3h,0844d1b71h,0ba6426beh,0563b71e4h,0bdb802ffh,02efa2e83h,0ab5b4a41h,03410cbabh,030da84ddh,0555b2d26h,0ee1cc29ah,0d0711ae9h,02f547792h,0cf3e8c60h,0dc678b35h,003d7d5deh + DD 0ced806b8h,0071a2fa8h,0697f1478h,0222e6134h,0abfcdbbfh,0dc16fd5dh,0121b53b8h,044912ebfh,02496c27ch,0ac943674h,01ffc26b0h,08ea3176ch,013debf2ch,0b6e224ach,0f372a832h,0524cc235h + DD 09f6f1b18h,0d706e1d8h,044cce35bh,02552f005h,0a88e31fch,08c8326c2h,0f9552047h,0b5468b2ch,03ff90f2bh,0ce683e88h,02f0a5423h,077947bdfh,0ed56e328h,0d0a1b28bh,0c20134ach,0aee35253h + DD 03567962fh,07e98367dh,08188bffbh,0379ed61fh,0faf130a1h,073bba348h,0904ed734h,06c1f75e1h,03b4a79fch,018956642h,054ef4493h,0f20bc83dh,09111eca1h,0836d425dh,0009a8dcfh,0e5b5c318h + DD 013221bc5h,03360b25dh,06b3eeaf7h,0707baad2h,0743a95a1h,0d7279ed8h,0969e809fh,07450a875h,0e5d0338fh,032b6bd53h,02b883bbch,01e77f7afh,01063ecd0h,090da12cch,0c315be47h,0e2697b58h + DD 0da85d534h,02771a5bdh,0ff980eeah,053e78c1fh,0900385e7h,0adf1cf84h,0c9387b62h,07d3b14f6h,0cb8f2bd2h,0170e74b0h,0827fa993h,02d50b486h,0f6f32babh,0cdbe8c9ah,0c3b93ab8h,055e906b0h + DD 08fe280d1h,0747f22fch,0b2e114abh,0cd8e0de5h,0e10b68b0h,05ab7dbebh,0a480d4b2h,09dc63a9ch,04be1495fh,078d4bc3bh,09359122dh,025eb3db8h,00809cbdch,03f8ac05bh,0d37c702fh,0bf4187bbh + DD 01416a6a5h,084cea069h,043ef881ch,08f860c79h,038038a5dh,041311f8ah,0fc612067h,0e78c2ec0h,05ad73581h,0494d2e81h,059604097h,0b4cc9e00h,0f3612cbah,0ff558aech,09e36c39eh,035beef7ah + DD 0dbcf41b9h,01845c7cfh,0aea997c0h,05703662ah,0e402f6d8h,08b925afeh,04dd72162h,0d0a1b1aeh,003c41c4bh,09f47b375h,00391d042h,0a023829bh,0503b8b0ah,05f5045c3h,098c010e5h,0123c2688h + DD 036ba06eeh,0324ec0cch,03dd2cc0ch,0face3115h,0f333e91fh,0b364f3beh,028e832b0h,0ef8aff73h,02d05841bh,01e9bad04h,0356a21e2h,042f0e3dfh,04add627eh,0a3270bcbh,0d322e711h,0b09a8158h + DD 00fee104ah,086e326a1h,03703f65dh,0ad7788f8h,047bc4833h,07e765430h,02b9b893ah,06cee582bh,0e8f55a7bh,09cd2a167h,0d9e4190dh,0efbee3c6h,0d40c2e9dh,033ee7185h,0a380b548h,0844cc9c5h + DD 066926e04h,0323f8ecdh,08110c1bah,00001e38fh,0fc6a7f07h,08dbcac12h,00cec0827h,0d65e1d58h,0be76ca2dh,0d2cd4141h,0e892f33ah,07895cf5ch,0367139d2h,0956d230dh,0d012c4c1h,0a91abd3eh + DD 087eb36bfh,034fa4883h,0914b8fb4h,0c5f07102h,0adb9c95fh,090f0e579h,028888195h,0fe6ea8cbh,0edfa9284h,07b9b5065h,02b8c8d65h,06c510bd2h,0cbe8aafdh,0d7b8ebefh,096b1da07h,0edb3af98h + DD 06295d426h,028ff779dh,03fa3ad7bh,00c4f6ac7h,08b8e2604h,0ec44d054h,08b0050e1h,09b32a66dh,0f0476ce2h,01f943366h,0a602c7b4h,07554d953h,0524f2809h,0be35aca6h,0fd4edbeah,0b6881229h + DD 0508efb63h,0e8cd0c8fh,06abcefc7h,09eb5b5c8h,0b441ab4fh,0f5621f5fh,0b76a2b22h,079e6c046h,0e37a1f69h,074a4792ch,003542b60h,0cbd252cbh,0b3c20bd3h,0785f65d5h,04fabc60ch,08dea6143h + DD 0de673629h,045e21446h,0703c2d21h,057f7aa1eh,098c868c7h,0a0e99b7fh,08b641676h,04e42f66dh,091077896h,0602884dch,0c2c9885bh,0a0d690cfh,03b9a5187h,0feb4da33h,0153c87eeh,05f789598h + DD 052b16dbah,02192dd47h,03524c1b1h,0deefc0e6h,0e4383693h,0465ea76eh,0361b8d98h,079401711h,0f21a15cbh,0a5f9ace9h,0efee9aebh,073d26163h,0e677016ch,0cca844b3h,057eaee06h,06c122b07h + DD 015f09690h,0b782dce7h,02dfc0fc9h,0508b9b12h,065d89fc6h,09015ab4bh,0d6d5bb0fh,05e79dab7h,06c775aa2h,064f021f0h,037c7eca1h,0df09d8cch,0ef2fa506h,09a761367h,05b81eec6h,0ed4ca476h + DD 010bbb8b5h,0262ede36h,00641ada3h,00737ce83h,0e9831ccch,04c94288ah,08065e635h,0487fc1ceh,0b8bb3659h,0b13d7ab3h,0855e4120h,0dea5df3eh,085eb0244h,0b9a18573h,0a7cfe0a3h,01a1b8ea3h + DD 067b0867ch,03b837119h,09d364520h,08d5e0d08h,0d930f0e3h,052dccc1eh,0bf20bbafh,0efbbcec7h,00263ad10h,099cffcabh,0fcd18f8ah,0d8199e6dh,0e9f10617h,064e2773fh,008704848h,00079e8e1h + DD 08a342283h,01169989fh,0a83012e6h,08097799ch,08a6a9001h,0ece966cbh,0072ac7fch,093b3afefh,02db3d5bah,0e6893a2ah,089bf4fdch,0263dc462h,0e0396673h,08852dfc9h,03af362b6h,07ac70895h + DD 05c2f342bh,0bb9cce4dh,0b52d7aaeh,0bf80907ah,02161bcd0h,097f3d3cdh,00962744dh,0b25b0834h,06c3a1ddah,0c5b18ea5h,006c92317h,0fe4ec7ebh,0ad1c4afeh,0b787b890h,00ede801ah,0dccd9a92h + DD 0db58da1fh,09ac6dddah,0b8cae6eeh,022bbc12fh,0815c4a43h,0c6f8bcedh,0f96480c7h,08105a92ch,07a859d51h,00dc3dbf3h,03041196bh,0e3ec7ce6h,00d1067c9h,0d9f64b25h,03d1f8dd8h,0f2321321h + DD 076497ee8h,08b5c619ch,0c717370eh,05d2b0ac6h,04fcf68e1h,098204cb6h,062bc6792h,00bdec211h,0a63b1011h,06973ccefh,0e0de1ac5h,0f9e3fa97h,03d0e0c8bh,05efb693eh,0d2d4fcb4h,0037248e9h + DD 01ec34f9eh,080802dc9h,033810603h,0d8772d35h,0530cb4f3h,03f06d66ch,0c475c129h,07be5ed0dh,031e82b10h,0cb9e3c19h,0c9ff6b4ch,0c63d2857h,092a1b45eh,0b92118c6h,07285bbcah,00aec4414h + DD 01e29a3efh,0fc189ae7h,04c93302eh,0cbe906f0h,0ceaae10eh,0d0107914h,0b68e19f8h,0b7a23f34h,0efd2119dh,0e9d875c2h,0fcadc9c8h,003198c6eh,04da17113h,065591bf6h,03d443038h,03cf0bbf8h + DD 02b724759h,0ae485bb7h,0b2d4c63ah,0945353e1h,0de7d6f2ch,082159d07h,04ec5b109h,0389caef3h,0db65ef14h,04a8ebb53h,0dd99de43h,02dc2cb7eh,083f2405fh,0816fa3edh,0c14208a3h,073429bb9h + DD 0b01e6e27h,0b618d590h,0e180b2dch,0047e2ccdh,004aea4a9h,0d1b299b5h,09fa403a4h,0412c9e1eh,079407552h,088d28a36h,0f332b8e3h,049c50136h,0e668de19h,03a1b6fcch,075122b97h,0178851bch + DD 0fb85fa4ch,0b1e13752h,0383c8ce9h,0d61257ceh,0d2f74daeh,0d43da670h,0bf846bbbh,0a35aa23fh,04421fc83h,05e74235dh,0c363473bh,0f6df8ee0h,03c4aa158h,034d7f52ah,09bc6d22eh,050d05aabh + DD 0a64785f4h,08c56e735h,05f29cd07h,0bc56637bh,03ee35067h,053b2bb80h,0dc919270h,050235a0fh,0f2c4aa65h,0191ab6d8h,08396023bh,0c3475831h,0f0f805bah,080400ba5h,05ec0f80fh,08881065bh + DD 0cc1b5e83h,0c370e522h,0860b8bfbh,0de2d4ad1h,067b256dfh,0ad364df0h,0e0138997h,08f12502eh,07783920ah,0503fa0dch,0c0bc866ah,0e80014adh,0d3064ba6h,03f89b744h,0cba5dba5h,003511dcdh + DD 095a7b1a2h,0197dd46dh,03c6341fbh,09c4e7ad6h,0484c2eceh,0426eca29h,0de7f4f8ah,09211e489h,0c78ef1f4h,014997f6eh,006574586h,02b2c0910h,01c3eede8h,017286a6eh,00f60e018h,025f92e47h + DD 031890a36h,0805c5646h,057feea5bh,0703ef600h,0af3c3030h,0389f747ch,054dd3739h,0e0e5daebh,0c9c9f155h,0fe24a4c3h,0b5393962h,07e4bf176h,0af20bf29h,037183de2h,0f95a8c3bh,04a1bd7b5h + DD 046191d3dh,0a83b9699h,07b87f257h,0281fc8ddh,054107588h,0b18e2c13h,09b2bafe8h,06372def7h,00d8972cah,0daf4bb48h,056167a3fh,03f2dd4b7h,084310cf4h,01eace32dh,0e42700aah,0e3bcefafh + DD 0d785e73dh,05fe5691eh,02ea60467h,0a5db5ab6h,0dfc6514ah,002e23d41h,0e03c3665h,035e8048eh,01adaa0f8h,03f8b118fh,084ce1a5ah,028ec3b45h,02c6646b8h,0e8cacc6eh,0dbd0e40fh,01343d185h + DD 0caaa358ch,0e5d7f844h,09924182ah,01a1db7e4h,09c875d9ah,0d64cd42dh,0042eeec8h,0b37b515fh,07b165fbeh,04d4dd409h,0e206eff3h,0fc322ed9h,059b7e17eh,07dee4102h,08236ca00h,055a481c0h + DD 0c23fc975h,08c885312h,005d6297bh,015715806h,0f78edd39h,0a078868eh,003c45e52h,0956b31e0h,0ff7b33a6h,0470275d5h,00c7e673fh,0c8d5dc3ah,07e2f2598h,0419227b4h,04c14a975h,08b37b634h + DD 08b11888ch,0d0667ed6h,0803e25dch,05e0e8c3eh,0b987a24ah,034e5d0dch,0ae920323h,09f40ac3bh,034e0f63ah,05463de95h,06b6328f9h,0a128bf92h,0da64f1b7h,0491ccd7ch,0c47bde35h,07ef1ec27h + DD 0a36a2737h,0a857240fh,063621bc1h,035dc1366h,0d4fb6897h,07a3a6453h,0c929319dh,080f1a439h,0f8cb0ba0h,0fc18274bh,08078c5ebh,0b0b53766h,01e01d0efh,0fb0d4924h,0372ab09ch,050d7c67dh + DD 03aeac968h,0b4e370afh,0c4b63266h,0e4f7fee9h,0e3ac5664h,0b4acd4c2h,0ceb38cbfh,0f8910bd2h,0c9c0726eh,01c3ae50ch,0d97b40bfh,015309569h,0fd5a5a1bh,070884b7fh,0ef8314cdh,03890896ah + DD 0a5618c93h,058e1515ch,077d942d1h,0e665432bh,0b6f767a8h,0b32181bfh,03a604110h,0753794e8h,0e8c0dbcch,009afeb7ch,0598673a3h,031e02613h,07d46db00h,05d98e557h,09d985b28h,0fc21fb8ch + DD 0b0843e0bh,0c9040116h,069b04531h,053b1b3a8h,085d7d830h,0dd1649f0h,0cb7427e8h,0bb3bcc87h,0c93dce83h,077261100h,0a1922a2ah,07e79da61h,0f3149ce8h,0587a2b02h,0de92ec83h,0147e1384h + DD 0af077f30h,0484c83d3h,00658b53ah,0ea78f844h,0027aec53h,0912076c2h,093c8177dh,0f34714e3h,0c2376c84h,037ef5d15h,03d1aa783h,08315b659h,0ef852a90h,03a75c484h,016086bd4h,00ba0c58ah + DD 0529a6d48h,029688d7ah,0c2f19203h,09c7f250dh,0682e2df9h,0123042fbh,0ad8121bch,02b7587e7h,0e0182a65h,030fc0233h,0e3e1128ah,0b82ecf87h,093fb098fh,071682861h,085e9e6a7h,0043e21aeh + DD 066c834eah,0ab5b49d6h,047414287h,03be43e18h,0219a2a47h,0f40fb859h,0cc58df3ch,00e6559e9h,00c6615b4h,0fe1dfe8eh,056459d70h,014abc8fdh,005de0386h,07be0fa8eh,0e9035c7ch,08e63ef68h + DD 053b31e91h,0116401b4h,04436b4d8h,00cba7ad4h,0107afd66h,09151f9a0h,01f0ee4c4h,0afaca8d0h,09ee9761ch,075fe5c1dh,0f0c0588fh,03497a16bh,00304804ch,03ee2bebdh,0c2c990b9h,0a8fb9a60h + DD 039251114h,0d14d32feh,0cac73366h,036bf25bch,0dba7495ch,0c9562c66h,046ad348bh,0324d301bh,0d670407eh,09f46620ch,0e3733a01h,00ea8d4f1h,0b0c324e0h,0d396d532h,003c317cdh,05b211a0eh + DD 05ffe7b37h,0090d7d20h,01747d2dah,03b7f3efbh,0b54fc519h,0a2cb525fh,0f66a971eh,06e220932h,0b486d440h,0ddc160dfh,03fe13465h,07fcfec46h,076e4c151h,083da7e4eh,0d8d302b5h,0d6fa48a1h + DD 05872cd88h,0c6304f26h,0278b90a1h,0806c1d3ch,0caf0bc1ch,03553e725h,0bb9d8d5ch,0ff59e603h,07a0b85ddh,0a4550f32h,093ecc217h,0dec5720ah,069d62213h,00b88b741h,05b365955h,07212f245h + DD 0b5cae787h,020764111h,01dfd3124h,013cb7f58h,01175aefbh,02dca77dah,0ffaae775h,0eb75466bh,0db6cff32h,074d76f3bh,061fcda9ah,07440f37ah,0b525028bh,01bb3ac92h,0a1975f29h,020fbf8f7h + DD 0df83097fh,0982692e1h,0554b0800h,028738f6ch,0a2ce2f2fh,0dc703717h,040814194h,07913b93ch,01fe89636h,004924593h,0f78834a6h,07b98443fh,05114a5a1h,011c6ab01h,0ffba5f4ch,060deb383h + DD 001a982e6h,04caa54c6h,03491cd26h,01dd35e11h,07cbd6b05h,0973c315fh,052494724h,0cab00775h,06565e15ah,004659b1fh,08c8fb026h,0bf30f529h,0a8a0de37h,0fc21641bh,0fa5e5114h,0e9c7a366h + DD 052f03ad8h,0db849ca5h,0024e35c0h,0c7e8dbe9h,0cfc3c789h,0a1a2bbach,09c26f262h,0bf733e7dh,0b8444823h,0882ffbf5h,06bf8483bh,0b7224e88h,065bef640h,053023b8bh,0d4d5f8cdh,0aabfec91h + DD 0079ea1bdh,0a40e1510h,0d05d5d26h,01ad9addch,013e68d4fh,0db3f2eabh,0640f803fh,01cff1ae2h,0d4cee117h,0e0e7b749h,04036d909h,08e9f275bh,08f4d4c38h,0ce34e31dh,0d75130fch,022b37f69h + DD 0b4014604h,083e0f1fdh,089415078h,0a8ce9919h,041792efeh,082375b75h,097d4515bh,04f59bf5ch,0923a277dh,0ac4f324fh,0650f3406h,0d9bc9b7dh,08a39bc51h,0c6fa87d1h,05ccc108fh,082588530h + DD 082e4c634h,05ced3c9fh,03a4464f8h,08efb8314h,07a1dca25h,0e706381bh,05a2a412bh,06cd15a3ch,0bfcd8fb5h,09347a8fdh,06e54cd22h,031db2eefh,0f8d8932fh,0c4aeb11eh,0344411afh,011e7c1edh + DD 0dc9a151eh,02653050ch,03bb0a859h,09edbfc08h,0fd5691e7h,0926c81c7h,06f39019ah,09c1b2342h,07f8474b9h,064a81c8bh,001761819h,090657c07h,055e0375ah,0390b3331h,0b6ebc47dh,0c676c626h + DD 0b7d6dee8h,051623247h,079659313h,00948d927h,0e9ab35edh,099700161h,08ddde408h,006cc32b4h,0061ef338h,06f2fd664h,0c202e9edh,01606fa02h,0929ba99bh,055388bc1h,01e81df69h,0c4428c5eh + DD 0f91b0b2ah,0ce2028aeh,0f03dfd3fh,0ce870a23h,00affe8edh,066ec2c87h,0284d0c00h,0b205fb46h,044cefa48h,0bf5dffe7h,0a19876d7h,0b6fc37a8h,008b72863h,0becfa84ch,02576374fh,0d7205ff5h + DD 08887de41h,080330d32h,0869ea534h,05de0df0ch,03c56ea17h,013f42753h,0452b1a78h,0eb1f6069h,0e30ea15ch,050474396h,0c1494125h,0575816a1h,0fe6bb38fh,0be1ce55bh,096ae30f7h,0b901a948h + DD 0d8fc3548h,0e5af0f08h,0d73bfd08h,05010b5d0h,053fe655ah,0993d2880h,01c1309fdh,099f2630bh,0b4e3b76fh,0d8677bafh,0b840784bh,014e51ddch,0bf0092ceh,0326c750ch,0f528320fh,0c83d306bh + DD 077d4715ch,0c4456715h,06b703235h,0d30019f9h,0d669e986h,0207ccb2eh,0f6dbfc28h,057c824afh,0d8f92a23h,0f0eb532fh,09bb98fd2h,04a557fd4h,0c1e6199ah,0a57acea7h,08b94b1edh,00c663820h + DD 0f83a9266h,09b42be8fh,00101bd45h,0c7741c97h,007bd9cebh,095770c11h,08b2e0744h,01f50250ah,01477b654h,0f762eec8h,015efe59ah,0c65b900eh,09546a897h,088c96148h,0c30b4d7ch,07e8025b3h + DD 012045cf9h,0ae4065efh,09ccce8bdh,06fcb2cafh,0f2cf6525h,01fa0ba4eh,0cb72c312h,0f683125dh,0e312410eh,0a01da4eah,06cd8e830h,067e28677h,098fb3f07h,0abd95752h,0eef649a5h,005f11e11h + DD 09d3472c2h,0ba47faefh,0c77d1345h,03adff697h,0dd15afeeh,04761fa04h,0b9e69462h,064f1f61ah,09bfb9093h,0fa691fabh,0a1133dfeh,03df8ae8fh,058cc710dh,0cd5f8967h,016c7fe79h,0fbb88d50h + DD 0e88c50d1h,08e011b4ch,0a8771c4fh,07532e807h,0e2278ee4h,064c78a48h,03845072ah,00b283e83h,049e69274h,098a6f291h,01868b21ch,0b96e9668h,0b1a8908eh,038f0adc2h,01feb829dh,090afcff7h + DD 0210b0856h,09915a383h,0def04889h,0a5a80602h,07c64d509h,0800e9af9h,0b8996f6fh,081382d0bh,081927e27h,0490eba53h,04af50182h,046c63b32h,0d3ad62ceh,0784c5fd9h,0f8ae8736h,0e4fa1870h + DD 0d7466b25h,04ec9d0bch,0db235c65h,084ddbe1ah,0163c1688h,05e2645eeh,000eba747h,0570bd00eh,0128bfa0fh,0fa51b629h,06c1d3b68h,092fce1bdh,0b66778b1h,03e7361dch,05561d2bbh,09c7d249dh + DD 00bbc6229h,0a40b28bfh,0dfd91497h,01c83c05eh,0f083df05h,05f9f5154h,0eee66c9dh,0bac38b3ch,0ec0dfcfdh,0f71db7e3h,08b0a8416h,0f2ecda8eh,07812aa66h,052fddd86h,04e6f4272h,02896ef10h + DD 00fe9a745h,0ff27186ah,049ca70dbh,008249fcdh,0441cac49h,07425a2e6h,0ece5ff57h,0f4a0885ah,07d7ead58h,06e2cb731h,01898d104h,0f96cf7d6h,04f2c9a89h,0afe67c9dh,01c7bf5bch,089895a50h + DD 0573cecfah,0dc7cb8e5h,0d15f03e6h,066497eaeh,03f084420h,06bc0de69h,0acd532b0h,0323b9b36h,00115a3c1h,0cfed390ah,02d65ca0eh,09414c40bh,02f530c78h,0641406bdh,0833438f2h,029369a44h + DD 0903fa271h,0996884f5h,0b9da921eh,0e6da0fd2h,05db01e54h,0a6f2f269h,06876214eh,01ee3e9bdh,0e27a9497h,0a26e181ch,08e215e04h,036d254e4h,0252cabcah,042f32a6ch,080b57614h,099481487h + DD 040d9cae1h,04c4dfe69h,011a10f09h,005869580h,03491b64bh,0ca287b57h,03fd4a53bh,077862d5dh,050349126h,0bf94856eh,071c5268fh,02be30bd1h,0cbb650a6h,010393f19h,0778cf9fdh,0639531feh + DD 0b2935359h,002556a11h,0af8c126eh,0da38aa96h,00960167fh,047dbe6c2h,0501901cdh,037bbabb6h,02c947778h,0b6e979e0h,07a1a1dc6h,0d69a5175h,09d9faf0ch,0c3ed5095h,01d5fa5f0h,04dd9c096h + DD 064f16ea8h,0a0c4304dh,07e718623h,08b1cac16h,07c67f03eh,00b576546h,0cbd88c01h,0559cf5adh,00e2af19ah,0074877bbh,0a1228c92h,01f717ec1h,0326e8920h,070bcb800h,04f312804h,0ec6e2c5ch + DD 03fca4752h,0426aea7dh,02211f62ah,0f12c0949h,07be7b6b5h,024beecd8h,036d7a27dh,0b77eaf4ch,0fda78fd3h,0154c2781h,0264eeabeh,0848a83b0h,04ffe2bc4h,081287ef0h,0b6b6fc2ah,07b6d88c6h + DD 0ce417d99h,0805fb947h,08b916cc4h,04b93dcc3h,021273323h,072e65bb3h,06ea9886eh,0bcc1baddh,04bc5ee85h,00e223011h,0c18ee1e4h,0a561be74h,0a6bcf1f1h,0762fd2d4h,095231489h,050e6a5a4h + DD 0a00b500bh,0ca96001fh,05d7dcdf5h,05c098cfch,08c446a85h,0a64e2d2eh,0971f3c62h,0bae9bcf1h,08435a2c5h,04ec22683h,04bad4643h,08ceaed6ch,0ccccf4e3h,0e9f8fb47h,01ce3b21eh,0bd4f3fa4h + DD 0a3db3292h,0d79fb110h,0b536c66ah,0e28a37dah,08e49e6a9h,0279ce87bh,0fdcec8e3h,070ccfe8dh,03ba464b2h,02193e4e0h,0aca9a398h,00f39d60eh,0f82c12abh,07d7932afh,091e7e0f7h,0d8ff50edh + DD 0fa28a7e0h,0ea961058h,00bf5ec74h,0c726cf25h,0db229666h,0e74d55c8h,0a57f5799h,00bd9abbfh,04dfc47b3h,07479ef07h,00c52f91dh,0d9c65fc3h,036a8bde2h,08e0283feh,07d4b7280h,0a32a8b5eh + DD 012e83233h,06a677c61h,0dcc9bf28h,00fbb3512h,00d780f61h,0562e8ea5h,01dc4e89ch,00db8b22bh,089be0144h,00a6fd1fbh,0ca57113bh,08c77d246h,0ff09c91ch,04639075dh,05060824ch,05b47b17fh + DD 016287b52h,058aea2b0h,0d0cd8eb0h,0a1343520h,0c5d58573h,06148b4d0h,0291c68aeh,0dd2b6170h,01da3b3b7h,0a61b3929h,008c4ac10h,05f946d79h,07217d583h,04105d4a5h,025e6de5eh,05061da3dh + DD 0ec1b4991h,03113940dh,036f485aeh,0f12195e1h,0731a2ee0h,0a7507fb2h,06e9e196eh,095057a8eh,02e130136h,0a3c2c911h,033c60d15h,097dfbb36h,0b300ee2bh,0caf3c581h,0f4bac8b8h,077f25d90h + DD 06d840cd6h,0db1c4f98h,0e634288ch,0471d62c0h,0cec8a161h,08ec2f85eh,0fa6f4ae2h,041f37cbch,04b709985h,06793a20fh,0efa8985bh,07a7bd33bh,0938e6446h,02c6a3fbdh,02a8d47c1h,019042619h + DD 0cc36975fh,016848667h,09d5f1dfbh,002acf168h,0613baa94h,062d41ad4h,09f684670h,0b56fbb92h,0e9e40569h,0ce610d0dh,035489fefh,07b99c65fh,03df18b97h,00c88ad1bh,05d0e9edbh,081b7d9beh + DD 0c716cc0ah,0d85218c0h,085691c49h,0f4b5ff90h,0ce356ac6h,0a4fd666bh,04b327a7ah,017c72895h,0da6be7deh,0f93d5085h,03301d34eh,0ff71530eh,0d8f448e8h,04cd96442h,02ed18ffah,09283d331h + DD 02a849870h,04d33dd99h,041576335h,0a716964bh,0179be0e5h,0ff5e3a9bh,083b13632h,05b9d6b1bh,0a52f313bh,03b8bd7d4h,0637a4660h,0c9dd95a0h,00b3e218fh,030035962h,0c7b28a3ch,0ce1481a3h + DD 043228d83h,0ab41b43ah,04ad63f99h,024ae1c30h,046a51229h,08e525f1ah,0cd26d2b4h,014af860fh,03f714aa1h,0d6baef61h,0eb78795eh,0f51865adh,0e6a9d694h,0d3e21fceh,08a37b527h,082ceb1ddh + +.text$ ENDS +.text$ SEGMENT ALIGN(256) 'CODE' +EXTERN OPENSSL_ia32cap_P:NEAR ALIGN 64 -$L$poly:: - DQ 0ffffffffffffffffh,000000000ffffffffh,00000000000000000h,0ffffffff00000001h +$L$poly:: + DQ 0ffffffffffffffffh,000000000ffffffffh,00000000000000000h,0ffffffff00000001h -$L$RR:: - DQ 00000000000000003h,0fffffffbffffffffh,0fffffffffffffffeh,000000004fffffffdh +$L$RR:: + DQ 00000000000000003h,0fffffffbffffffffh,0fffffffffffffffeh,000000004fffffffdh -$L$One:: +$L$One:: DD 1,1,1,1,1,1,1,1 -$L$Two:: +$L$Two:: DD 2,2,2,2,2,2,2,2 -$L$Three:: +$L$Three:: DD 3,3,3,3,3,3,3,3 -$L$ONE_mont:: - DQ 00000000000000001h,0ffffffff00000000h,0ffffffffffffffffh,000000000fffffffeh +$L$ONE_mont:: + DQ 00000000000000001h,0ffffffff00000000h,0ffffffffffffffffh,000000000fffffffeh -$L$ord:: - DQ 0f3b9cac2fc632551h,0bce6faada7179e84h,0ffffffffffffffffh,0ffffffff00000000h -$L$ordK:: - DQ 0ccd1c8aaee00bc4fh +$L$ord:: + DQ 0f3b9cac2fc632551h,0bce6faada7179e84h,0ffffffffffffffffh,0ffffffff00000000h +$L$ordK:: + DQ 0ccd1c8aaee00bc4fh -PUBLIC ecp_nistz256_mul_by_2 +PUBLIC ecp_nistz256_mul_by_2 ALIGN 64 -ecp_nistz256_mul_by_2 PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_mul_by_2 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_mul_by_2:: +$L$SEH_begin_ecp_nistz256_mul_by_2:: mov rdi,rcx mov rsi,rdx @@ -2418,63 +2418,63 @@ $L$SEH_begin_ecp_nistz256_mul_by_2:: push r13 -$L$mul_by_2_body:: +$L$mul_by_2_body:: - mov r8,QWORD PTR[rsi] + mov r8,QWORD PTR[rsi] xor r13,r13 - mov r9,QWORD PTR[8+rsi] + mov r9,QWORD PTR[8+rsi] add r8,r8 - mov r10,QWORD PTR[16+rsi] + mov r10,QWORD PTR[16+rsi] adc r9,r9 - mov r11,QWORD PTR[24+rsi] - lea rsi,QWORD PTR[$L$poly] + mov r11,QWORD PTR[24+rsi] + lea rsi,QWORD PTR[$L$poly] mov rax,r8 adc r10,r10 adc r11,r11 mov rdx,r9 adc r13,0 - sub r8,QWORD PTR[rsi] + sub r8,QWORD PTR[rsi] mov rcx,r10 - sbb r9,QWORD PTR[8+rsi] - sbb r10,QWORD PTR[16+rsi] + sbb r9,QWORD PTR[8+rsi] + sbb r10,QWORD PTR[16+rsi] mov r12,r11 - sbb r11,QWORD PTR[24+rsi] + sbb r11,QWORD PTR[24+rsi] sbb r13,0 cmovc r8,rax cmovc r9,rdx - mov QWORD PTR[rdi],r8 + mov QWORD PTR[rdi],r8 cmovc r10,rcx - mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[8+rdi],r9 cmovc r11,r12 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 - mov r13,QWORD PTR[rsp] + mov r13,QWORD PTR[rsp] - mov r12,QWORD PTR[8+rsp] + mov r12,QWORD PTR[8+rsp] - lea rsp,QWORD PTR[16+rsp] + lea rsp,QWORD PTR[16+rsp] -$L$mul_by_2_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$mul_by_2_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_mul_by_2:: -ecp_nistz256_mul_by_2 ENDP +$L$SEH_end_ecp_nistz256_mul_by_2:: +ecp_nistz256_mul_by_2 ENDP -PUBLIC ecp_nistz256_div_by_2 +PUBLIC ecp_nistz256_div_by_2 ALIGN 32 -ecp_nistz256_div_by_2 PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_div_by_2 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_div_by_2:: +$L$SEH_begin_ecp_nistz256_div_by_2:: mov rdi,rcx mov rsi,rdx @@ -2484,23 +2484,23 @@ $L$SEH_begin_ecp_nistz256_div_by_2:: push r13 -$L$div_by_2_body:: +$L$div_by_2_body:: - mov r8,QWORD PTR[rsi] - mov r9,QWORD PTR[8+rsi] - mov r10,QWORD PTR[16+rsi] + mov r8,QWORD PTR[rsi] + mov r9,QWORD PTR[8+rsi] + mov r10,QWORD PTR[16+rsi] mov rax,r8 - mov r11,QWORD PTR[24+rsi] - lea rsi,QWORD PTR[$L$poly] + mov r11,QWORD PTR[24+rsi] + lea rsi,QWORD PTR[$L$poly] mov rdx,r9 xor r13,r13 - add r8,QWORD PTR[rsi] + add r8,QWORD PTR[rsi] mov rcx,r10 - adc r9,QWORD PTR[8+rsi] - adc r10,QWORD PTR[16+rsi] + adc r9,QWORD PTR[8+rsi] + adc r10,QWORD PTR[16+rsi] mov r12,r11 - adc r11,QWORD PTR[24+rsi] + adc r11,QWORD PTR[24+rsi] adc r13,0 xor rsi,rsi test rax,1 @@ -2527,35 +2527,35 @@ $L$div_by_2_body:: or r10,rcx or r11,r13 - mov QWORD PTR[rdi],r8 - mov QWORD PTR[8+rdi],r9 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[rdi],r8 + mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 - mov r13,QWORD PTR[rsp] + mov r13,QWORD PTR[rsp] - mov r12,QWORD PTR[8+rsp] + mov r12,QWORD PTR[8+rsp] - lea rsp,QWORD PTR[16+rsp] + lea rsp,QWORD PTR[16+rsp] -$L$div_by_2_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$div_by_2_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_div_by_2:: -ecp_nistz256_div_by_2 ENDP +$L$SEH_end_ecp_nistz256_div_by_2:: +ecp_nistz256_div_by_2 ENDP -PUBLIC ecp_nistz256_mul_by_3 +PUBLIC ecp_nistz256_mul_by_3 ALIGN 32 -ecp_nistz256_mul_by_3 PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_mul_by_3 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_mul_by_3:: +$L$SEH_begin_ecp_nistz256_mul_by_3:: mov rdi,rcx mov rsi,rdx @@ -2565,15 +2565,15 @@ $L$SEH_begin_ecp_nistz256_mul_by_3:: push r13 -$L$mul_by_3_body:: +$L$mul_by_3_body:: - mov r8,QWORD PTR[rsi] + mov r8,QWORD PTR[rsi] xor r13,r13 - mov r9,QWORD PTR[8+rsi] + mov r9,QWORD PTR[8+rsi] add r8,r8 - mov r10,QWORD PTR[16+rsi] + mov r10,QWORD PTR[16+rsi] adc r9,r9 - mov r11,QWORD PTR[24+rsi] + mov r11,QWORD PTR[24+rsi] mov rax,r8 adc r10,r10 adc r11,r11 @@ -2582,10 +2582,10 @@ $L$mul_by_3_body:: sub r8,-1 mov rcx,r10 - sbb r9,QWORD PTR[(($L$poly+8))] + sbb r9,QWORD PTR[(($L$poly+8))] sbb r10,0 mov r12,r11 - sbb r11,QWORD PTR[(($L$poly+24))] + sbb r11,QWORD PTR[(($L$poly+24))] sbb r13,0 cmovc r8,rax @@ -2594,55 +2594,55 @@ $L$mul_by_3_body:: cmovc r11,r12 xor r13,r13 - add r8,QWORD PTR[rsi] - adc r9,QWORD PTR[8+rsi] + add r8,QWORD PTR[rsi] + adc r9,QWORD PTR[8+rsi] mov rax,r8 - adc r10,QWORD PTR[16+rsi] - adc r11,QWORD PTR[24+rsi] + adc r10,QWORD PTR[16+rsi] + adc r11,QWORD PTR[24+rsi] mov rdx,r9 adc r13,0 sub r8,-1 mov rcx,r10 - sbb r9,QWORD PTR[(($L$poly+8))] + sbb r9,QWORD PTR[(($L$poly+8))] sbb r10,0 mov r12,r11 - sbb r11,QWORD PTR[(($L$poly+24))] + sbb r11,QWORD PTR[(($L$poly+24))] sbb r13,0 cmovc r8,rax cmovc r9,rdx - mov QWORD PTR[rdi],r8 + mov QWORD PTR[rdi],r8 cmovc r10,rcx - mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[8+rdi],r9 cmovc r11,r12 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 - mov r13,QWORD PTR[rsp] + mov r13,QWORD PTR[rsp] - mov r12,QWORD PTR[8+rsp] + mov r12,QWORD PTR[8+rsp] - lea rsp,QWORD PTR[16+rsp] + lea rsp,QWORD PTR[16+rsp] -$L$mul_by_3_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$mul_by_3_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_mul_by_3:: -ecp_nistz256_mul_by_3 ENDP +$L$SEH_end_ecp_nistz256_mul_by_3:: +ecp_nistz256_mul_by_3 ENDP -PUBLIC ecp_nistz256_add +PUBLIC ecp_nistz256_add ALIGN 32 -ecp_nistz256_add PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_add PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_add:: +$L$SEH_begin_ecp_nistz256_add:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -2653,64 +2653,64 @@ $L$SEH_begin_ecp_nistz256_add:: push r13 -$L$add_body:: +$L$add_body:: - mov r8,QWORD PTR[rsi] + mov r8,QWORD PTR[rsi] xor r13,r13 - mov r9,QWORD PTR[8+rsi] - mov r10,QWORD PTR[16+rsi] - mov r11,QWORD PTR[24+rsi] - lea rsi,QWORD PTR[$L$poly] + mov r9,QWORD PTR[8+rsi] + mov r10,QWORD PTR[16+rsi] + mov r11,QWORD PTR[24+rsi] + lea rsi,QWORD PTR[$L$poly] - add r8,QWORD PTR[rdx] - adc r9,QWORD PTR[8+rdx] + add r8,QWORD PTR[rdx] + adc r9,QWORD PTR[8+rdx] mov rax,r8 - adc r10,QWORD PTR[16+rdx] - adc r11,QWORD PTR[24+rdx] + adc r10,QWORD PTR[16+rdx] + adc r11,QWORD PTR[24+rdx] mov rdx,r9 adc r13,0 - sub r8,QWORD PTR[rsi] + sub r8,QWORD PTR[rsi] mov rcx,r10 - sbb r9,QWORD PTR[8+rsi] - sbb r10,QWORD PTR[16+rsi] + sbb r9,QWORD PTR[8+rsi] + sbb r10,QWORD PTR[16+rsi] mov r12,r11 - sbb r11,QWORD PTR[24+rsi] + sbb r11,QWORD PTR[24+rsi] sbb r13,0 cmovc r8,rax cmovc r9,rdx - mov QWORD PTR[rdi],r8 + mov QWORD PTR[rdi],r8 cmovc r10,rcx - mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[8+rdi],r9 cmovc r11,r12 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 - mov r13,QWORD PTR[rsp] + mov r13,QWORD PTR[rsp] - mov r12,QWORD PTR[8+rsp] + mov r12,QWORD PTR[8+rsp] - lea rsp,QWORD PTR[16+rsp] + lea rsp,QWORD PTR[16+rsp] -$L$add_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$add_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_add:: -ecp_nistz256_add ENDP +$L$SEH_end_ecp_nistz256_add:: +ecp_nistz256_add ENDP -PUBLIC ecp_nistz256_sub +PUBLIC ecp_nistz256_sub ALIGN 32 -ecp_nistz256_sub PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_sub PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_sub:: +$L$SEH_begin_ecp_nistz256_sub:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -2721,64 +2721,64 @@ $L$SEH_begin_ecp_nistz256_sub:: push r13 -$L$sub_body:: +$L$sub_body:: - mov r8,QWORD PTR[rsi] + mov r8,QWORD PTR[rsi] xor r13,r13 - mov r9,QWORD PTR[8+rsi] - mov r10,QWORD PTR[16+rsi] - mov r11,QWORD PTR[24+rsi] - lea rsi,QWORD PTR[$L$poly] + mov r9,QWORD PTR[8+rsi] + mov r10,QWORD PTR[16+rsi] + mov r11,QWORD PTR[24+rsi] + lea rsi,QWORD PTR[$L$poly] - sub r8,QWORD PTR[rdx] - sbb r9,QWORD PTR[8+rdx] + sub r8,QWORD PTR[rdx] + sbb r9,QWORD PTR[8+rdx] mov rax,r8 - sbb r10,QWORD PTR[16+rdx] - sbb r11,QWORD PTR[24+rdx] + sbb r10,QWORD PTR[16+rdx] + sbb r11,QWORD PTR[24+rdx] mov rdx,r9 sbb r13,0 - add r8,QWORD PTR[rsi] + add r8,QWORD PTR[rsi] mov rcx,r10 - adc r9,QWORD PTR[8+rsi] - adc r10,QWORD PTR[16+rsi] + adc r9,QWORD PTR[8+rsi] + adc r10,QWORD PTR[16+rsi] mov r12,r11 - adc r11,QWORD PTR[24+rsi] + adc r11,QWORD PTR[24+rsi] test r13,r13 cmovz r8,rax cmovz r9,rdx - mov QWORD PTR[rdi],r8 + mov QWORD PTR[rdi],r8 cmovz r10,rcx - mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[8+rdi],r9 cmovz r11,r12 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 - mov r13,QWORD PTR[rsp] + mov r13,QWORD PTR[rsp] - mov r12,QWORD PTR[8+rsp] + mov r12,QWORD PTR[8+rsp] - lea rsp,QWORD PTR[16+rsp] + lea rsp,QWORD PTR[16+rsp] -$L$sub_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$sub_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_sub:: -ecp_nistz256_sub ENDP +$L$SEH_end_ecp_nistz256_sub:: +ecp_nistz256_sub ENDP -PUBLIC ecp_nistz256_neg +PUBLIC ecp_nistz256_neg ALIGN 32 -ecp_nistz256_neg PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_neg PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_neg:: +$L$SEH_begin_ecp_nistz256_neg:: mov rdi,rcx mov rsi,rdx @@ -2788,7 +2788,7 @@ $L$SEH_begin_ecp_nistz256_neg:: push r13 -$L$neg_body:: +$L$neg_body:: xor r8,r8 xor r9,r9 @@ -2796,69 +2796,69 @@ $L$neg_body:: xor r11,r11 xor r13,r13 - sub r8,QWORD PTR[rsi] - sbb r9,QWORD PTR[8+rsi] - sbb r10,QWORD PTR[16+rsi] + sub r8,QWORD PTR[rsi] + sbb r9,QWORD PTR[8+rsi] + sbb r10,QWORD PTR[16+rsi] mov rax,r8 - sbb r11,QWORD PTR[24+rsi] - lea rsi,QWORD PTR[$L$poly] + sbb r11,QWORD PTR[24+rsi] + lea rsi,QWORD PTR[$L$poly] mov rdx,r9 sbb r13,0 - add r8,QWORD PTR[rsi] + add r8,QWORD PTR[rsi] mov rcx,r10 - adc r9,QWORD PTR[8+rsi] - adc r10,QWORD PTR[16+rsi] + adc r9,QWORD PTR[8+rsi] + adc r10,QWORD PTR[16+rsi] mov r12,r11 - adc r11,QWORD PTR[24+rsi] + adc r11,QWORD PTR[24+rsi] test r13,r13 cmovz r8,rax cmovz r9,rdx - mov QWORD PTR[rdi],r8 + mov QWORD PTR[rdi],r8 cmovz r10,rcx - mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[8+rdi],r9 cmovz r11,r12 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 - mov r13,QWORD PTR[rsp] + mov r13,QWORD PTR[rsp] - mov r12,QWORD PTR[8+rsp] + mov r12,QWORD PTR[8+rsp] - lea rsp,QWORD PTR[16+rsp] + lea rsp,QWORD PTR[16+rsp] -$L$neg_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$neg_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_neg:: -ecp_nistz256_neg ENDP +$L$SEH_end_ecp_nistz256_neg:: +ecp_nistz256_neg ENDP -PUBLIC ecp_nistz256_ord_mul_mont +PUBLIC ecp_nistz256_ord_mul_mont ALIGN 32 -ecp_nistz256_ord_mul_mont PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_ord_mul_mont PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_ord_mul_mont:: +$L$SEH_begin_ecp_nistz256_ord_mul_mont:: mov rdi,rcx mov rsi,rdx mov rdx,r8 - mov ecx,080100h - and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] - cmp ecx,080100h - je $L$ecp_nistz256_ord_mul_montx + mov ecx,080100h + and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] + cmp ecx,080100h + je $L$ecp_nistz256_ord_mul_montx push rbp push rbx @@ -2871,27 +2871,27 @@ $L$SEH_begin_ecp_nistz256_ord_mul_mont:: push r15 -$L$ord_mul_body:: +$L$ord_mul_body:: - mov rax,QWORD PTR[rdx] + mov rax,QWORD PTR[rdx] mov rbx,rdx - lea r14,QWORD PTR[$L$ord] - mov r15,QWORD PTR[$L$ordK] + lea r14,QWORD PTR[$L$ord] + mov r15,QWORD PTR[$L$ordK] mov rcx,rax - mul QWORD PTR[rsi] + mul QWORD PTR[rsi] mov r8,rax mov rax,rcx mov r9,rdx - mul QWORD PTR[8+rsi] + mul QWORD PTR[8+rsi] add r9,rax mov rax,rcx adc rdx,0 mov r10,rdx - mul QWORD PTR[16+rsi] + mul QWORD PTR[16+rsi] add r10,rax mov rax,rcx adc rdx,0 @@ -2900,14 +2900,14 @@ $L$ord_mul_body:: imul r8,r15 mov r11,rdx - mul QWORD PTR[24+rsi] + mul QWORD PTR[24+rsi] add r11,rax mov rax,r8 adc rdx,0 mov r12,rdx - mul QWORD PTR[r14] + mul QWORD PTR[r14] mov rbp,r8 add r13,rax mov rax,r8 @@ -2917,7 +2917,7 @@ $L$ord_mul_body:: sub r10,r8 sbb r8,0 - mul QWORD PTR[8+r14] + mul QWORD PTR[8+r14] add r9,rcx adc rdx,0 add r9,rax @@ -2929,7 +2929,7 @@ $L$ord_mul_body:: shl rax,32 shr rdx,32 sub r11,rax - mov rax,QWORD PTR[8+rbx] + mov rax,QWORD PTR[8+rbx] sbb rbp,rdx add r11,r8 @@ -2938,13 +2938,13 @@ $L$ord_mul_body:: mov rcx,rax - mul QWORD PTR[rsi] + mul QWORD PTR[rsi] add r9,rax mov rax,rcx adc rdx,0 mov rbp,rdx - mul QWORD PTR[8+rsi] + mul QWORD PTR[8+rsi] add r10,rbp adc rdx,0 add r10,rax @@ -2952,7 +2952,7 @@ $L$ord_mul_body:: adc rdx,0 mov rbp,rdx - mul QWORD PTR[16+rsi] + mul QWORD PTR[16+rsi] add r11,rbp adc rdx,0 add r11,rax @@ -2963,7 +2963,7 @@ $L$ord_mul_body:: imul r9,r15 mov rbp,rdx - mul QWORD PTR[24+rsi] + mul QWORD PTR[24+rsi] add r12,rbp adc rdx,0 xor r8,r8 @@ -2973,7 +2973,7 @@ $L$ord_mul_body:: adc r8,0 - mul QWORD PTR[r14] + mul QWORD PTR[r14] mov rbp,r9 add rcx,rax mov rax,r9 @@ -2982,7 +2982,7 @@ $L$ord_mul_body:: sub r11,r9 sbb r9,0 - mul QWORD PTR[8+r14] + mul QWORD PTR[8+r14] add r10,rcx adc rdx,0 add r10,rax @@ -2994,7 +2994,7 @@ $L$ord_mul_body:: shl rax,32 shr rdx,32 sub r12,rax - mov rax,QWORD PTR[16+rbx] + mov rax,QWORD PTR[16+rbx] sbb rbp,rdx add r12,r9 @@ -3003,13 +3003,13 @@ $L$ord_mul_body:: mov rcx,rax - mul QWORD PTR[rsi] + mul QWORD PTR[rsi] add r10,rax mov rax,rcx adc rdx,0 mov rbp,rdx - mul QWORD PTR[8+rsi] + mul QWORD PTR[8+rsi] add r11,rbp adc rdx,0 add r11,rax @@ -3017,7 +3017,7 @@ $L$ord_mul_body:: adc rdx,0 mov rbp,rdx - mul QWORD PTR[16+rsi] + mul QWORD PTR[16+rsi] add r12,rbp adc rdx,0 add r12,rax @@ -3028,7 +3028,7 @@ $L$ord_mul_body:: imul r10,r15 mov rbp,rdx - mul QWORD PTR[24+rsi] + mul QWORD PTR[24+rsi] add r13,rbp adc rdx,0 xor r9,r9 @@ -3038,7 +3038,7 @@ $L$ord_mul_body:: adc r9,0 - mul QWORD PTR[r14] + mul QWORD PTR[r14] mov rbp,r10 add rcx,rax mov rax,r10 @@ -3047,7 +3047,7 @@ $L$ord_mul_body:: sub r12,r10 sbb r10,0 - mul QWORD PTR[8+r14] + mul QWORD PTR[8+r14] add r11,rcx adc rdx,0 add r11,rax @@ -3059,7 +3059,7 @@ $L$ord_mul_body:: shl rax,32 shr rdx,32 sub r13,rax - mov rax,QWORD PTR[24+rbx] + mov rax,QWORD PTR[24+rbx] sbb rbp,rdx add r13,r10 @@ -3068,13 +3068,13 @@ $L$ord_mul_body:: mov rcx,rax - mul QWORD PTR[rsi] + mul QWORD PTR[rsi] add r11,rax mov rax,rcx adc rdx,0 mov rbp,rdx - mul QWORD PTR[8+rsi] + mul QWORD PTR[8+rsi] add r12,rbp adc rdx,0 add r12,rax @@ -3082,7 +3082,7 @@ $L$ord_mul_body:: adc rdx,0 mov rbp,rdx - mul QWORD PTR[16+rsi] + mul QWORD PTR[16+rsi] add r13,rbp adc rdx,0 add r13,rax @@ -3093,7 +3093,7 @@ $L$ord_mul_body:: imul r11,r15 mov rbp,rdx - mul QWORD PTR[24+rsi] + mul QWORD PTR[24+rsi] add r8,rbp adc rdx,0 xor r10,r10 @@ -3103,7 +3103,7 @@ $L$ord_mul_body:: adc r10,0 - mul QWORD PTR[r14] + mul QWORD PTR[r14] mov rbp,r11 add rcx,rax mov rax,r11 @@ -3112,7 +3112,7 @@ $L$ord_mul_body:: sub r13,r11 sbb r11,0 - mul QWORD PTR[8+r14] + mul QWORD PTR[8+r14] add r12,rcx adc rdx,0 add r12,rax @@ -3132,13 +3132,13 @@ $L$ord_mul_body:: mov rsi,r12 - sub r12,QWORD PTR[r14] + sub r12,QWORD PTR[r14] mov r11,r13 - sbb r13,QWORD PTR[8+r14] + sbb r13,QWORD PTR[8+r14] mov rcx,r8 - sbb r8,QWORD PTR[16+r14] + sbb r8,QWORD PTR[16+r14] mov rbp,r9 - sbb r9,QWORD PTR[24+r14] + sbb r9,QWORD PTR[24+r14] sbb r10,0 cmovc r12,rsi @@ -3146,32 +3146,32 @@ $L$ord_mul_body:: cmovc r8,rcx cmovc r9,rbp - mov QWORD PTR[rdi],r12 - mov QWORD PTR[8+rdi],r13 - mov QWORD PTR[16+rdi],r8 - mov QWORD PTR[24+rdi],r9 + mov QWORD PTR[rdi],r12 + mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[16+rdi],r8 + mov QWORD PTR[24+rdi],r9 - mov r15,QWORD PTR[rsp] + mov r15,QWORD PTR[rsp] - mov r14,QWORD PTR[8+rsp] + mov r14,QWORD PTR[8+rsp] - mov r13,QWORD PTR[16+rsp] + mov r13,QWORD PTR[16+rsp] - mov r12,QWORD PTR[24+rsp] + mov r12,QWORD PTR[24+rsp] - mov rbx,QWORD PTR[32+rsp] + mov rbx,QWORD PTR[32+rsp] - mov rbp,QWORD PTR[40+rsp] + mov rbp,QWORD PTR[40+rsp] - lea rsp,QWORD PTR[48+rsp] + lea rsp,QWORD PTR[48+rsp] -$L$ord_mul_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$ord_mul_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_ord_mul_mont:: -ecp_nistz256_ord_mul_mont ENDP +$L$SEH_end_ecp_nistz256_ord_mul_mont:: +ecp_nistz256_ord_mul_mont ENDP @@ -3179,24 +3179,24 @@ ecp_nistz256_ord_mul_mont ENDP -PUBLIC ecp_nistz256_ord_sqr_mont +PUBLIC ecp_nistz256_ord_sqr_mont ALIGN 32 -ecp_nistz256_ord_sqr_mont PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_ord_sqr_mont PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_ord_sqr_mont:: +$L$SEH_begin_ecp_nistz256_ord_sqr_mont:: mov rdi,rcx mov rsi,rdx mov rdx,r8 - mov ecx,080100h - and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] - cmp ecx,080100h - je $L$ecp_nistz256_ord_sqr_montx + mov ecx,080100h + and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] + cmp ecx,080100h + je $L$ecp_nistz256_ord_sqr_montx push rbp push rbx @@ -3209,18 +3209,18 @@ $L$SEH_begin_ecp_nistz256_ord_sqr_mont:: push r15 -$L$ord_sqr_body:: +$L$ord_sqr_body:: - mov r8,QWORD PTR[rsi] - mov rax,QWORD PTR[8+rsi] - mov r14,QWORD PTR[16+rsi] - mov r15,QWORD PTR[24+rsi] - lea rsi,QWORD PTR[$L$ord] + mov r8,QWORD PTR[rsi] + mov rax,QWORD PTR[8+rsi] + mov r14,QWORD PTR[16+rsi] + mov r15,QWORD PTR[24+rsi] + lea rsi,QWORD PTR[$L$ord] mov rbx,rdx - jmp $L$oop_ord_sqr + jmp $L$oop_ord_sqr ALIGN 32 -$L$oop_ord_sqr:: +$L$oop_ord_sqr:: mov rbp,rax mul r8 @@ -3296,19 +3296,19 @@ DB 102,72,15,126,216 mov rbp,rdx mov rcx,r8 - imul r8,QWORD PTR[32+rsi] + imul r8,QWORD PTR[32+rsi] mul rax add r13,rbp adc r14,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] adc r15,rdx mul r8 mov rbp,r8 add rcx,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] adc rcx,rdx sub r10,r8 @@ -3324,12 +3324,12 @@ DB 102,72,15,126,216 adc rbp,0 mov rcx,r9 - imul r9,QWORD PTR[32+rsi] + imul r9,QWORD PTR[32+rsi] shl rax,32 shr rdx,32 sub r11,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] sbb r8,rdx add r11,rbp @@ -3339,7 +3339,7 @@ DB 102,72,15,126,216 mul r9 mov rbp,r9 add rcx,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] adc rcx,rdx sub r11,r9 @@ -3355,12 +3355,12 @@ DB 102,72,15,126,216 adc rbp,0 mov rcx,r10 - imul r10,QWORD PTR[32+rsi] + imul r10,QWORD PTR[32+rsi] shl rax,32 shr rdx,32 sub r8,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] sbb r9,rdx add r8,rbp @@ -3370,7 +3370,7 @@ DB 102,72,15,126,216 mul r10 mov rbp,r10 add rcx,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] adc rcx,rdx sub r8,r10 @@ -3386,12 +3386,12 @@ DB 102,72,15,126,216 adc rbp,0 mov rcx,r11 - imul r11,QWORD PTR[32+rsi] + imul r11,QWORD PTR[32+rsi] shl rax,32 shr rdx,32 sub r9,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] sbb r10,rdx add r9,rbp @@ -3401,7 +3401,7 @@ DB 102,72,15,126,216 mul r11 mov rbp,r11 add rcx,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] adc rcx,rdx sub r9,r11 @@ -3435,12 +3435,12 @@ DB 102,72,15,126,216 adc rdx,0 - sub r8,QWORD PTR[rsi] + sub r8,QWORD PTR[rsi] mov r14,r10 - sbb r9,QWORD PTR[8+rsi] - sbb r10,QWORD PTR[16+rsi] + sbb r9,QWORD PTR[8+rsi] + sbb r10,QWORD PTR[16+rsi] mov r15,r11 - sbb r11,QWORD PTR[24+rsi] + sbb r11,QWORD PTR[24+rsi] sbb rdx,0 cmovc r8,r12 @@ -3449,52 +3449,52 @@ DB 102,72,15,126,216 cmovnc r15,r11 dec rbx - jnz $L$oop_ord_sqr + jnz $L$oop_ord_sqr - mov QWORD PTR[rdi],r8 - mov QWORD PTR[8+rdi],rax + mov QWORD PTR[rdi],r8 + mov QWORD PTR[8+rdi],rax pxor xmm1,xmm1 - mov QWORD PTR[16+rdi],r14 + mov QWORD PTR[16+rdi],r14 pxor xmm2,xmm2 - mov QWORD PTR[24+rdi],r15 + mov QWORD PTR[24+rdi],r15 pxor xmm3,xmm3 - mov r15,QWORD PTR[rsp] + mov r15,QWORD PTR[rsp] - mov r14,QWORD PTR[8+rsp] + mov r14,QWORD PTR[8+rsp] - mov r13,QWORD PTR[16+rsp] + mov r13,QWORD PTR[16+rsp] - mov r12,QWORD PTR[24+rsp] + mov r12,QWORD PTR[24+rsp] - mov rbx,QWORD PTR[32+rsp] + mov rbx,QWORD PTR[32+rsp] - mov rbp,QWORD PTR[40+rsp] + mov rbp,QWORD PTR[40+rsp] - lea rsp,QWORD PTR[48+rsp] + lea rsp,QWORD PTR[48+rsp] -$L$ord_sqr_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$ord_sqr_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_ord_sqr_mont:: -ecp_nistz256_ord_sqr_mont ENDP +$L$SEH_end_ecp_nistz256_ord_sqr_mont:: +ecp_nistz256_ord_sqr_mont ENDP ALIGN 32 -ecp_nistz256_ord_mul_montx PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_ord_mul_montx PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_ord_mul_montx:: +$L$SEH_begin_ecp_nistz256_ord_mul_montx:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -$L$ecp_nistz256_ord_mul_montx:: +$L$ecp_nistz256_ord_mul_montx:: push rbp push rbx @@ -3507,17 +3507,17 @@ $L$ecp_nistz256_ord_mul_montx:: push r15 -$L$ord_mulx_body:: +$L$ord_mulx_body:: mov rbx,rdx - mov rdx,QWORD PTR[rdx] - mov r9,QWORD PTR[rsi] - mov r10,QWORD PTR[8+rsi] - mov r11,QWORD PTR[16+rsi] - mov r12,QWORD PTR[24+rsi] - lea rsi,QWORD PTR[((-128))+rsi] - lea r14,QWORD PTR[(($L$ord-128))] - mov r15,QWORD PTR[$L$ordK] + mov rdx,QWORD PTR[rdx] + mov r9,QWORD PTR[rsi] + mov r10,QWORD PTR[8+rsi] + mov r11,QWORD PTR[16+rsi] + mov r12,QWORD PTR[24+rsi] + lea rsi,QWORD PTR[((-128))+rsi] + lea r14,QWORD PTR[(($L$ord-128))] + mov r15,QWORD PTR[$L$ordK] mulx r9,r8,r9 @@ -3533,20 +3533,20 @@ $L$ord_mulx_body:: xor r13,r13 - mulx rbp,rcx,QWORD PTR[((0+128))+r14] + mulx rbp,rcx,QWORD PTR[((0+128))+r14] adcx r8,rcx adox r9,rbp - mulx rbp,rcx,QWORD PTR[((8+128))+r14] + mulx rbp,rcx,QWORD PTR[((8+128))+r14] adcx r9,rcx adox r10,rbp - mulx rbp,rcx,QWORD PTR[((16+128))+r14] + mulx rbp,rcx,QWORD PTR[((16+128))+r14] adcx r10,rcx adox r11,rbp - mulx rbp,rcx,QWORD PTR[((24+128))+r14] - mov rdx,QWORD PTR[8+rbx] + mulx rbp,rcx,QWORD PTR[((24+128))+r14] + mov rdx,QWORD PTR[8+rbx] adcx r11,rcx adox r12,rbp adcx r12,r8 @@ -3554,19 +3554,19 @@ $L$ord_mulx_body:: adc r13,0 - mulx rbp,rcx,QWORD PTR[((0+128))+rsi] + mulx rbp,rcx,QWORD PTR[((0+128))+rsi] adcx r9,rcx adox r10,rbp - mulx rbp,rcx,QWORD PTR[((8+128))+rsi] + mulx rbp,rcx,QWORD PTR[((8+128))+rsi] adcx r10,rcx adox r11,rbp - mulx rbp,rcx,QWORD PTR[((16+128))+rsi] + mulx rbp,rcx,QWORD PTR[((16+128))+rsi] adcx r11,rcx adox r12,rbp - mulx rbp,rcx,QWORD PTR[((24+128))+rsi] + mulx rbp,rcx,QWORD PTR[((24+128))+rsi] mov rdx,r9 mulx rax,rdx,r15 adcx r12,rcx @@ -3577,20 +3577,20 @@ $L$ord_mulx_body:: adc r8,0 - mulx rbp,rcx,QWORD PTR[((0+128))+r14] + mulx rbp,rcx,QWORD PTR[((0+128))+r14] adcx r9,rcx adox r10,rbp - mulx rbp,rcx,QWORD PTR[((8+128))+r14] + mulx rbp,rcx,QWORD PTR[((8+128))+r14] adcx r10,rcx adox r11,rbp - mulx rbp,rcx,QWORD PTR[((16+128))+r14] + mulx rbp,rcx,QWORD PTR[((16+128))+r14] adcx r11,rcx adox r12,rbp - mulx rbp,rcx,QWORD PTR[((24+128))+r14] - mov rdx,QWORD PTR[16+rbx] + mulx rbp,rcx,QWORD PTR[((24+128))+r14] + mov rdx,QWORD PTR[16+rbx] adcx r12,rcx adox r13,rbp adcx r13,r9 @@ -3598,19 +3598,19 @@ $L$ord_mulx_body:: adc r8,0 - mulx rbp,rcx,QWORD PTR[((0+128))+rsi] + mulx rbp,rcx,QWORD PTR[((0+128))+rsi] adcx r10,rcx adox r11,rbp - mulx rbp,rcx,QWORD PTR[((8+128))+rsi] + mulx rbp,rcx,QWORD PTR[((8+128))+rsi] adcx r11,rcx adox r12,rbp - mulx rbp,rcx,QWORD PTR[((16+128))+rsi] + mulx rbp,rcx,QWORD PTR[((16+128))+rsi] adcx r12,rcx adox r13,rbp - mulx rbp,rcx,QWORD PTR[((24+128))+rsi] + mulx rbp,rcx,QWORD PTR[((24+128))+rsi] mov rdx,r10 mulx rax,rdx,r15 adcx r13,rcx @@ -3621,20 +3621,20 @@ $L$ord_mulx_body:: adc r9,0 - mulx rbp,rcx,QWORD PTR[((0+128))+r14] + mulx rbp,rcx,QWORD PTR[((0+128))+r14] adcx r10,rcx adox r11,rbp - mulx rbp,rcx,QWORD PTR[((8+128))+r14] + mulx rbp,rcx,QWORD PTR[((8+128))+r14] adcx r11,rcx adox r12,rbp - mulx rbp,rcx,QWORD PTR[((16+128))+r14] + mulx rbp,rcx,QWORD PTR[((16+128))+r14] adcx r12,rcx adox r13,rbp - mulx rbp,rcx,QWORD PTR[((24+128))+r14] - mov rdx,QWORD PTR[24+rbx] + mulx rbp,rcx,QWORD PTR[((24+128))+r14] + mov rdx,QWORD PTR[24+rbx] adcx r13,rcx adox r8,rbp adcx r8,r10 @@ -3642,19 +3642,19 @@ $L$ord_mulx_body:: adc r9,0 - mulx rbp,rcx,QWORD PTR[((0+128))+rsi] + mulx rbp,rcx,QWORD PTR[((0+128))+rsi] adcx r11,rcx adox r12,rbp - mulx rbp,rcx,QWORD PTR[((8+128))+rsi] + mulx rbp,rcx,QWORD PTR[((8+128))+rsi] adcx r12,rcx adox r13,rbp - mulx rbp,rcx,QWORD PTR[((16+128))+rsi] + mulx rbp,rcx,QWORD PTR[((16+128))+rsi] adcx r13,rcx adox r8,rbp - mulx rbp,rcx,QWORD PTR[((24+128))+rsi] + mulx rbp,rcx,QWORD PTR[((24+128))+rsi] mov rdx,r11 mulx rax,rdx,r15 adcx r8,rcx @@ -3665,20 +3665,20 @@ $L$ord_mulx_body:: adc r10,0 - mulx rbp,rcx,QWORD PTR[((0+128))+r14] + mulx rbp,rcx,QWORD PTR[((0+128))+r14] adcx r11,rcx adox r12,rbp - mulx rbp,rcx,QWORD PTR[((8+128))+r14] + mulx rbp,rcx,QWORD PTR[((8+128))+r14] adcx r12,rcx adox r13,rbp - mulx rbp,rcx,QWORD PTR[((16+128))+r14] + mulx rbp,rcx,QWORD PTR[((16+128))+r14] adcx r13,rcx adox r8,rbp - mulx rbp,rcx,QWORD PTR[((24+128))+r14] - lea r14,QWORD PTR[128+r14] + mulx rbp,rcx,QWORD PTR[((24+128))+r14] + lea r14,QWORD PTR[128+r14] mov rbx,r12 adcx r8,rcx adox r9,rbp @@ -3690,11 +3690,11 @@ $L$ord_mulx_body:: mov rcx,r8 - sub r12,QWORD PTR[r14] - sbb r13,QWORD PTR[8+r14] - sbb r8,QWORD PTR[16+r14] + sub r12,QWORD PTR[r14] + sbb r13,QWORD PTR[8+r14] + sbb r8,QWORD PTR[16+r14] mov rbp,r9 - sbb r9,QWORD PTR[24+r14] + sbb r9,QWORD PTR[24+r14] sbb r10,0 cmovc r12,rbx @@ -3702,47 +3702,47 @@ $L$ord_mulx_body:: cmovc r8,rcx cmovc r9,rbp - mov QWORD PTR[rdi],r12 - mov QWORD PTR[8+rdi],r13 - mov QWORD PTR[16+rdi],r8 - mov QWORD PTR[24+rdi],r9 + mov QWORD PTR[rdi],r12 + mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[16+rdi],r8 + mov QWORD PTR[24+rdi],r9 - mov r15,QWORD PTR[rsp] + mov r15,QWORD PTR[rsp] - mov r14,QWORD PTR[8+rsp] + mov r14,QWORD PTR[8+rsp] - mov r13,QWORD PTR[16+rsp] + mov r13,QWORD PTR[16+rsp] - mov r12,QWORD PTR[24+rsp] + mov r12,QWORD PTR[24+rsp] - mov rbx,QWORD PTR[32+rsp] + mov rbx,QWORD PTR[32+rsp] - mov rbp,QWORD PTR[40+rsp] + mov rbp,QWORD PTR[40+rsp] - lea rsp,QWORD PTR[48+rsp] + lea rsp,QWORD PTR[48+rsp] -$L$ord_mulx_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$ord_mulx_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_ord_mul_montx:: -ecp_nistz256_ord_mul_montx ENDP +$L$SEH_end_ecp_nistz256_ord_mul_montx:: +ecp_nistz256_ord_mul_montx ENDP ALIGN 32 -ecp_nistz256_ord_sqr_montx PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_ord_sqr_montx PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_ord_sqr_montx:: +$L$SEH_begin_ecp_nistz256_ord_sqr_montx:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -$L$ecp_nistz256_ord_sqr_montx:: +$L$ecp_nistz256_ord_sqr_montx:: push rbp push rbx @@ -3755,18 +3755,18 @@ $L$ecp_nistz256_ord_sqr_montx:: push r15 -$L$ord_sqrx_body:: +$L$ord_sqrx_body:: mov rbx,rdx - mov rdx,QWORD PTR[rsi] - mov r14,QWORD PTR[8+rsi] - mov r15,QWORD PTR[16+rsi] - mov r8,QWORD PTR[24+rsi] - lea rsi,QWORD PTR[$L$ord] - jmp $L$oop_ord_sqrx + mov rdx,QWORD PTR[rsi] + mov r14,QWORD PTR[8+rsi] + mov r15,QWORD PTR[16+rsi] + mov r8,QWORD PTR[24+rsi] + lea rsi,QWORD PTR[$L$ord] + jmp $L$oop_ord_sqrx ALIGN 32 -$L$oop_ord_sqrx:: +$L$oop_ord_sqrx:: mulx r10,r9,r14 mulx r11,rcx,r15 mov rax,rdx @@ -3810,7 +3810,7 @@ DB 102,72,15,126,210 adox r10,rcx adcx r14,r14 mulx rbp,rcx,rdx -DB 067h +DB 067h DB 102,72,15,126,218 adox r11,rax adcx r15,r15 @@ -3822,73 +3822,73 @@ DB 102,72,15,126,218 mov rdx,r8 - mulx rcx,rdx,QWORD PTR[32+rsi] + mulx rcx,rdx,QWORD PTR[32+rsi] xor rax,rax - mulx rbp,rcx,QWORD PTR[rsi] + mulx rbp,rcx,QWORD PTR[rsi] adcx r8,rcx adox r9,rbp - mulx rbp,rcx,QWORD PTR[8+rsi] + mulx rbp,rcx,QWORD PTR[8+rsi] adcx r9,rcx adox r10,rbp - mulx rbp,rcx,QWORD PTR[16+rsi] + mulx rbp,rcx,QWORD PTR[16+rsi] adcx r10,rcx adox r11,rbp - mulx rbp,rcx,QWORD PTR[24+rsi] + mulx rbp,rcx,QWORD PTR[24+rsi] adcx r11,rcx adox r8,rbp adcx r8,rax mov rdx,r9 - mulx rcx,rdx,QWORD PTR[32+rsi] + mulx rcx,rdx,QWORD PTR[32+rsi] - mulx rbp,rcx,QWORD PTR[rsi] + mulx rbp,rcx,QWORD PTR[rsi] adox r9,rcx adcx r10,rbp - mulx rbp,rcx,QWORD PTR[8+rsi] + mulx rbp,rcx,QWORD PTR[8+rsi] adox r10,rcx adcx r11,rbp - mulx rbp,rcx,QWORD PTR[16+rsi] + mulx rbp,rcx,QWORD PTR[16+rsi] adox r11,rcx adcx r8,rbp - mulx rbp,rcx,QWORD PTR[24+rsi] + mulx rbp,rcx,QWORD PTR[24+rsi] adox r8,rcx adcx r9,rbp adox r9,rax mov rdx,r10 - mulx rcx,rdx,QWORD PTR[32+rsi] + mulx rcx,rdx,QWORD PTR[32+rsi] - mulx rbp,rcx,QWORD PTR[rsi] + mulx rbp,rcx,QWORD PTR[rsi] adcx r10,rcx adox r11,rbp - mulx rbp,rcx,QWORD PTR[8+rsi] + mulx rbp,rcx,QWORD PTR[8+rsi] adcx r11,rcx adox r8,rbp - mulx rbp,rcx,QWORD PTR[16+rsi] + mulx rbp,rcx,QWORD PTR[16+rsi] adcx r8,rcx adox r9,rbp - mulx rbp,rcx,QWORD PTR[24+rsi] + mulx rbp,rcx,QWORD PTR[24+rsi] adcx r9,rcx adox r10,rbp adcx r10,rax mov rdx,r11 - mulx rcx,rdx,QWORD PTR[32+rsi] + mulx rcx,rdx,QWORD PTR[32+rsi] - mulx rbp,rcx,QWORD PTR[rsi] + mulx rbp,rcx,QWORD PTR[rsi] adox r11,rcx adcx r8,rbp - mulx rbp,rcx,QWORD PTR[8+rsi] + mulx rbp,rcx,QWORD PTR[8+rsi] adox r8,rcx adcx r9,rbp - mulx rbp,rcx,QWORD PTR[16+rsi] + mulx rbp,rcx,QWORD PTR[16+rsi] adox r9,rcx adcx r10,rbp - mulx rbp,rcx,QWORD PTR[24+rsi] + mulx rbp,rcx,QWORD PTR[24+rsi] adox r10,rcx adcx r11,rbp adox r11,rax @@ -3903,12 +3903,12 @@ DB 102,72,15,126,218 adc rax,0 - sub r12,QWORD PTR[rsi] + sub r12,QWORD PTR[rsi] mov r15,r10 - sbb r9,QWORD PTR[8+rsi] - sbb r10,QWORD PTR[16+rsi] + sbb r9,QWORD PTR[8+rsi] + sbb r10,QWORD PTR[16+rsi] mov r8,r11 - sbb r11,QWORD PTR[24+rsi] + sbb r11,QWORD PTR[24+rsi] sbb rax,0 cmovnc rdx,r12 @@ -3917,85 +3917,85 @@ DB 102,72,15,126,218 cmovnc r8,r11 dec rbx - jnz $L$oop_ord_sqrx + jnz $L$oop_ord_sqrx - mov QWORD PTR[rdi],rdx - mov QWORD PTR[8+rdi],r14 + mov QWORD PTR[rdi],rdx + mov QWORD PTR[8+rdi],r14 pxor xmm1,xmm1 - mov QWORD PTR[16+rdi],r15 + mov QWORD PTR[16+rdi],r15 pxor xmm2,xmm2 - mov QWORD PTR[24+rdi],r8 + mov QWORD PTR[24+rdi],r8 pxor xmm3,xmm3 - mov r15,QWORD PTR[rsp] + mov r15,QWORD PTR[rsp] - mov r14,QWORD PTR[8+rsp] + mov r14,QWORD PTR[8+rsp] - mov r13,QWORD PTR[16+rsp] + mov r13,QWORD PTR[16+rsp] - mov r12,QWORD PTR[24+rsp] + mov r12,QWORD PTR[24+rsp] - mov rbx,QWORD PTR[32+rsp] + mov rbx,QWORD PTR[32+rsp] - mov rbp,QWORD PTR[40+rsp] + mov rbp,QWORD PTR[40+rsp] - lea rsp,QWORD PTR[48+rsp] + lea rsp,QWORD PTR[48+rsp] -$L$ord_sqrx_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$ord_sqrx_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_ord_sqr_montx:: -ecp_nistz256_ord_sqr_montx ENDP +$L$SEH_end_ecp_nistz256_ord_sqr_montx:: +ecp_nistz256_ord_sqr_montx ENDP -PUBLIC ecp_nistz256_to_mont +PUBLIC ecp_nistz256_to_mont ALIGN 32 -ecp_nistz256_to_mont PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_to_mont PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_to_mont:: +$L$SEH_begin_ecp_nistz256_to_mont:: mov rdi,rcx mov rsi,rdx - mov ecx,080100h - and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] - lea rdx,QWORD PTR[$L$RR] - jmp $L$mul_mont + mov ecx,080100h + and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] + lea rdx,QWORD PTR[$L$RR] + jmp $L$mul_mont -$L$SEH_end_ecp_nistz256_to_mont:: -ecp_nistz256_to_mont ENDP +$L$SEH_end_ecp_nistz256_to_mont:: +ecp_nistz256_to_mont ENDP - -PUBLIC ecp_nistz256_mul_mont - + +PUBLIC ecp_nistz256_mul_mont + ALIGN 32 -ecp_nistz256_mul_mont PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_mul_mont PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_mul_mont:: +$L$SEH_begin_ecp_nistz256_mul_mont:: mov rdi,rcx mov rsi,rdx mov rdx,r8 - mov ecx,080100h - and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] -$L$mul_mont:: + mov ecx,080100h + and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] +$L$mul_mont:: push rbp push rbx @@ -4008,68 +4008,68 @@ $L$mul_mont:: push r15 -$L$mul_body:: - cmp ecx,080100h - je $L$mul_montx +$L$mul_body:: + cmp ecx,080100h + je $L$mul_montx mov rbx,rdx - mov rax,QWORD PTR[rdx] - mov r9,QWORD PTR[rsi] - mov r10,QWORD PTR[8+rsi] - mov r11,QWORD PTR[16+rsi] - mov r12,QWORD PTR[24+rsi] + mov rax,QWORD PTR[rdx] + mov r9,QWORD PTR[rsi] + mov r10,QWORD PTR[8+rsi] + mov r11,QWORD PTR[16+rsi] + mov r12,QWORD PTR[24+rsi] call __ecp_nistz256_mul_montq - jmp $L$mul_mont_done + jmp $L$mul_mont_done ALIGN 32 -$L$mul_montx:: +$L$mul_montx:: mov rbx,rdx - mov rdx,QWORD PTR[rdx] - mov r9,QWORD PTR[rsi] - mov r10,QWORD PTR[8+rsi] - mov r11,QWORD PTR[16+rsi] - mov r12,QWORD PTR[24+rsi] - lea rsi,QWORD PTR[((-128))+rsi] + mov rdx,QWORD PTR[rdx] + mov r9,QWORD PTR[rsi] + mov r10,QWORD PTR[8+rsi] + mov r11,QWORD PTR[16+rsi] + mov r12,QWORD PTR[24+rsi] + lea rsi,QWORD PTR[((-128))+rsi] call __ecp_nistz256_mul_montx -$L$mul_mont_done:: - mov r15,QWORD PTR[rsp] +$L$mul_mont_done:: + mov r15,QWORD PTR[rsp] - mov r14,QWORD PTR[8+rsp] + mov r14,QWORD PTR[8+rsp] - mov r13,QWORD PTR[16+rsp] + mov r13,QWORD PTR[16+rsp] - mov r12,QWORD PTR[24+rsp] + mov r12,QWORD PTR[24+rsp] - mov rbx,QWORD PTR[32+rsp] + mov rbx,QWORD PTR[32+rsp] - mov rbp,QWORD PTR[40+rsp] + mov rbp,QWORD PTR[40+rsp] - lea rsp,QWORD PTR[48+rsp] + lea rsp,QWORD PTR[48+rsp] -$L$mul_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$mul_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_mul_mont:: -ecp_nistz256_mul_mont ENDP +$L$SEH_end_ecp_nistz256_mul_mont:: +ecp_nistz256_mul_mont ENDP ALIGN 32 -__ecp_nistz256_mul_montq PROC PRIVATE +__ecp_nistz256_mul_montq PROC PRIVATE mov rbp,rax mul r9 - mov r14,QWORD PTR[(($L$poly+8))] + mov r14,QWORD PTR[(($L$poly+8))] mov r8,rax mov rax,rbp mov r9,rdx mul r10 - mov r15,QWORD PTR[(($L$poly+24))] + mov r15,QWORD PTR[(($L$poly+24))] add r9,rax mov rax,rbp adc rdx,0 @@ -4104,7 +4104,7 @@ __ecp_nistz256_mul_montq PROC PRIVATE add r9,r8 adc r10,rbp adc r11,rax - mov rax,QWORD PTR[8+rbx] + mov rax,QWORD PTR[8+rbx] adc r12,rdx adc r13,0 xor r8,r8 @@ -4112,13 +4112,13 @@ __ecp_nistz256_mul_montq PROC PRIVATE mov rbp,rax - mul QWORD PTR[rsi] + mul QWORD PTR[rsi] add r9,rax mov rax,rbp adc rdx,0 mov rcx,rdx - mul QWORD PTR[8+rsi] + mul QWORD PTR[8+rsi] add r10,rcx adc rdx,0 add r10,rax @@ -4126,7 +4126,7 @@ __ecp_nistz256_mul_montq PROC PRIVATE adc rdx,0 mov rcx,rdx - mul QWORD PTR[16+rsi] + mul QWORD PTR[16+rsi] add r11,rcx adc rdx,0 add r11,rax @@ -4134,7 +4134,7 @@ __ecp_nistz256_mul_montq PROC PRIVATE adc rdx,0 mov rcx,rdx - mul QWORD PTR[24+rsi] + mul QWORD PTR[24+rsi] add r12,rcx adc rdx,0 add r12,rax @@ -4151,7 +4151,7 @@ __ecp_nistz256_mul_montq PROC PRIVATE add r10,r9 adc r11,rbp adc r12,rax - mov rax,QWORD PTR[16+rbx] + mov rax,QWORD PTR[16+rbx] adc r13,rdx adc r8,0 xor r9,r9 @@ -4159,13 +4159,13 @@ __ecp_nistz256_mul_montq PROC PRIVATE mov rbp,rax - mul QWORD PTR[rsi] + mul QWORD PTR[rsi] add r10,rax mov rax,rbp adc rdx,0 mov rcx,rdx - mul QWORD PTR[8+rsi] + mul QWORD PTR[8+rsi] add r11,rcx adc rdx,0 add r11,rax @@ -4173,7 +4173,7 @@ __ecp_nistz256_mul_montq PROC PRIVATE adc rdx,0 mov rcx,rdx - mul QWORD PTR[16+rsi] + mul QWORD PTR[16+rsi] add r12,rcx adc rdx,0 add r12,rax @@ -4181,7 +4181,7 @@ __ecp_nistz256_mul_montq PROC PRIVATE adc rdx,0 mov rcx,rdx - mul QWORD PTR[24+rsi] + mul QWORD PTR[24+rsi] add r13,rcx adc rdx,0 add r13,rax @@ -4198,7 +4198,7 @@ __ecp_nistz256_mul_montq PROC PRIVATE add r11,r10 adc r12,rbp adc r13,rax - mov rax,QWORD PTR[24+rbx] + mov rax,QWORD PTR[24+rbx] adc r8,rdx adc r9,0 xor r10,r10 @@ -4206,13 +4206,13 @@ __ecp_nistz256_mul_montq PROC PRIVATE mov rbp,rax - mul QWORD PTR[rsi] + mul QWORD PTR[rsi] add r11,rax mov rax,rbp adc rdx,0 mov rcx,rdx - mul QWORD PTR[8+rsi] + mul QWORD PTR[8+rsi] add r12,rcx adc rdx,0 add r12,rax @@ -4220,7 +4220,7 @@ __ecp_nistz256_mul_montq PROC PRIVATE adc rdx,0 mov rcx,rdx - mul QWORD PTR[16+rsi] + mul QWORD PTR[16+rsi] add r13,rcx adc rdx,0 add r13,rax @@ -4228,7 +4228,7 @@ __ecp_nistz256_mul_montq PROC PRIVATE adc rdx,0 mov rcx,rdx - mul QWORD PTR[24+rsi] + mul QWORD PTR[24+rsi] add r8,rcx adc rdx,0 add r8,rax @@ -4262,16 +4262,16 @@ __ecp_nistz256_mul_montq PROC PRIVATE cmovc r12,rcx cmovc r13,rbp - mov QWORD PTR[rdi],r12 + mov QWORD PTR[rdi],r12 cmovc r8,rbx - mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[8+rdi],r13 cmovc r9,rdx - mov QWORD PTR[16+rdi],r8 - mov QWORD PTR[24+rdi],r9 + mov QWORD PTR[16+rdi],r8 + mov QWORD PTR[24+rdi],r9 DB 0F3h,0C3h ;repret -__ecp_nistz256_mul_montq ENDP +__ecp_nistz256_mul_montq ENDP @@ -4280,21 +4280,21 @@ __ecp_nistz256_mul_montq ENDP -PUBLIC ecp_nistz256_sqr_mont +PUBLIC ecp_nistz256_sqr_mont ALIGN 32 -ecp_nistz256_sqr_mont PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_sqr_mont PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_sqr_mont:: +$L$SEH_begin_ecp_nistz256_sqr_mont:: mov rdi,rcx mov rsi,rdx - mov ecx,080100h - and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] + mov ecx,080100h + and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] push rbp push rbx @@ -4307,52 +4307,52 @@ $L$SEH_begin_ecp_nistz256_sqr_mont:: push r15 -$L$sqr_body:: - cmp ecx,080100h - je $L$sqr_montx - mov rax,QWORD PTR[rsi] - mov r14,QWORD PTR[8+rsi] - mov r15,QWORD PTR[16+rsi] - mov r8,QWORD PTR[24+rsi] +$L$sqr_body:: + cmp ecx,080100h + je $L$sqr_montx + mov rax,QWORD PTR[rsi] + mov r14,QWORD PTR[8+rsi] + mov r15,QWORD PTR[16+rsi] + mov r8,QWORD PTR[24+rsi] call __ecp_nistz256_sqr_montq - jmp $L$sqr_mont_done + jmp $L$sqr_mont_done ALIGN 32 -$L$sqr_montx:: - mov rdx,QWORD PTR[rsi] - mov r14,QWORD PTR[8+rsi] - mov r15,QWORD PTR[16+rsi] - mov r8,QWORD PTR[24+rsi] - lea rsi,QWORD PTR[((-128))+rsi] +$L$sqr_montx:: + mov rdx,QWORD PTR[rsi] + mov r14,QWORD PTR[8+rsi] + mov r15,QWORD PTR[16+rsi] + mov r8,QWORD PTR[24+rsi] + lea rsi,QWORD PTR[((-128))+rsi] call __ecp_nistz256_sqr_montx -$L$sqr_mont_done:: - mov r15,QWORD PTR[rsp] +$L$sqr_mont_done:: + mov r15,QWORD PTR[rsp] - mov r14,QWORD PTR[8+rsp] + mov r14,QWORD PTR[8+rsp] - mov r13,QWORD PTR[16+rsp] + mov r13,QWORD PTR[16+rsp] - mov r12,QWORD PTR[24+rsp] + mov r12,QWORD PTR[24+rsp] - mov rbx,QWORD PTR[32+rsp] + mov rbx,QWORD PTR[32+rsp] - mov rbp,QWORD PTR[40+rsp] + mov rbp,QWORD PTR[40+rsp] - lea rsp,QWORD PTR[48+rsp] + lea rsp,QWORD PTR[48+rsp] -$L$sqr_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$sqr_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_sqr_mont:: -ecp_nistz256_sqr_mont ENDP +$L$SEH_end_ecp_nistz256_sqr_mont:: +ecp_nistz256_sqr_mont ENDP ALIGN 32 -__ecp_nistz256_sqr_montq PROC PRIVATE +__ecp_nistz256_sqr_montq PROC PRIVATE mov r13,rax mul r14 @@ -4391,7 +4391,7 @@ __ecp_nistz256_sqr_montq PROC PRIVATE mul r15 xor r15,r15 add r13,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] mov r14,rdx adc r14,0 @@ -4405,20 +4405,20 @@ __ecp_nistz256_sqr_montq PROC PRIVATE mul rax mov r8,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] mov rcx,rdx mul rax add r9,rcx adc r10,rax - mov rax,QWORD PTR[16+rsi] + mov rax,QWORD PTR[16+rsi] adc rdx,0 mov rcx,rdx mul rax add r11,rcx adc r12,rax - mov rax,QWORD PTR[24+rsi] + mov rax,QWORD PTR[24+rsi] adc rdx,0 mov rcx,rdx @@ -4428,8 +4428,8 @@ __ecp_nistz256_sqr_montq PROC PRIVATE mov rax,r8 adc r15,rdx - mov rsi,QWORD PTR[(($L$poly+8))] - mov rbp,QWORD PTR[(($L$poly+24))] + mov rsi,QWORD PTR[(($L$poly+8))] + mov rbp,QWORD PTR[(($L$poly+24))] @@ -4503,19 +4503,19 @@ __ecp_nistz256_sqr_montq PROC PRIVATE cmovc r12,r8 cmovc r13,r9 - mov QWORD PTR[rdi],r12 + mov QWORD PTR[rdi],r12 cmovc r14,r10 - mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[8+rdi],r13 cmovc r15,rcx - mov QWORD PTR[16+rdi],r14 - mov QWORD PTR[24+rdi],r15 + mov QWORD PTR[16+rdi],r14 + mov QWORD PTR[24+rdi],r15 DB 0F3h,0C3h ;repret -__ecp_nistz256_sqr_montq ENDP +__ecp_nistz256_sqr_montq ENDP ALIGN 32 -__ecp_nistz256_mul_montx PROC PRIVATE +__ecp_nistz256_mul_montx PROC PRIVATE @@ -4524,7 +4524,7 @@ __ecp_nistz256_mul_montx PROC PRIVATE mov r14,32 xor r13,r13 mulx r11,rbp,r11 - mov r15,QWORD PTR[(($L$poly+24))] + mov r15,QWORD PTR[(($L$poly+24))] adc r9,rcx mulx r12,rcx,r12 mov rdx,r8 @@ -4540,7 +4540,7 @@ __ecp_nistz256_mul_montx PROC PRIVATE adc r10,rcx mulx rbp,rcx,r15 - mov rdx,QWORD PTR[8+rbx] + mov rdx,QWORD PTR[8+rbx] adc r11,rcx adc r12,rbp adc r13,0 @@ -4548,19 +4548,19 @@ __ecp_nistz256_mul_montx PROC PRIVATE - mulx rbp,rcx,QWORD PTR[((0+128))+rsi] + mulx rbp,rcx,QWORD PTR[((0+128))+rsi] adcx r9,rcx adox r10,rbp - mulx rbp,rcx,QWORD PTR[((8+128))+rsi] + mulx rbp,rcx,QWORD PTR[((8+128))+rsi] adcx r10,rcx adox r11,rbp - mulx rbp,rcx,QWORD PTR[((16+128))+rsi] + mulx rbp,rcx,QWORD PTR[((16+128))+rsi] adcx r11,rcx adox r12,rbp - mulx rbp,rcx,QWORD PTR[((24+128))+rsi] + mulx rbp,rcx,QWORD PTR[((24+128))+rsi] mov rdx,r9 adcx r12,rcx shlx rcx,r9,r14 @@ -4577,7 +4577,7 @@ __ecp_nistz256_mul_montx PROC PRIVATE adc r11,rbp mulx rbp,rcx,r15 - mov rdx,QWORD PTR[16+rbx] + mov rdx,QWORD PTR[16+rbx] adc r12,rcx adc r13,rbp adc r8,0 @@ -4585,19 +4585,19 @@ __ecp_nistz256_mul_montx PROC PRIVATE - mulx rbp,rcx,QWORD PTR[((0+128))+rsi] + mulx rbp,rcx,QWORD PTR[((0+128))+rsi] adcx r10,rcx adox r11,rbp - mulx rbp,rcx,QWORD PTR[((8+128))+rsi] + mulx rbp,rcx,QWORD PTR[((8+128))+rsi] adcx r11,rcx adox r12,rbp - mulx rbp,rcx,QWORD PTR[((16+128))+rsi] + mulx rbp,rcx,QWORD PTR[((16+128))+rsi] adcx r12,rcx adox r13,rbp - mulx rbp,rcx,QWORD PTR[((24+128))+rsi] + mulx rbp,rcx,QWORD PTR[((24+128))+rsi] mov rdx,r10 adcx r13,rcx shlx rcx,r10,r14 @@ -4614,7 +4614,7 @@ __ecp_nistz256_mul_montx PROC PRIVATE adc r12,rbp mulx rbp,rcx,r15 - mov rdx,QWORD PTR[24+rbx] + mov rdx,QWORD PTR[24+rbx] adc r13,rcx adc r8,rbp adc r9,0 @@ -4622,19 +4622,19 @@ __ecp_nistz256_mul_montx PROC PRIVATE - mulx rbp,rcx,QWORD PTR[((0+128))+rsi] + mulx rbp,rcx,QWORD PTR[((0+128))+rsi] adcx r11,rcx adox r12,rbp - mulx rbp,rcx,QWORD PTR[((8+128))+rsi] + mulx rbp,rcx,QWORD PTR[((8+128))+rsi] adcx r12,rcx adox r13,rbp - mulx rbp,rcx,QWORD PTR[((16+128))+rsi] + mulx rbp,rcx,QWORD PTR[((16+128))+rsi] adcx r13,rcx adox r8,rbp - mulx rbp,rcx,QWORD PTR[((24+128))+rsi] + mulx rbp,rcx,QWORD PTR[((24+128))+rsi] mov rdx,r11 adcx r8,rcx shlx rcx,r11,r14 @@ -4652,7 +4652,7 @@ __ecp_nistz256_mul_montx PROC PRIVATE mulx rbp,rcx,r15 mov rbx,r12 - mov r14,QWORD PTR[(($L$poly+8))] + mov r14,QWORD PTR[(($L$poly+8))] adc r8,rcx mov rdx,r13 adc r9,rbp @@ -4671,20 +4671,20 @@ __ecp_nistz256_mul_montx PROC PRIVATE cmovc r12,rbx cmovc r13,rdx - mov QWORD PTR[rdi],r12 + mov QWORD PTR[rdi],r12 cmovc r8,rcx - mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[8+rdi],r13 cmovc r9,rbp - mov QWORD PTR[16+rdi],r8 - mov QWORD PTR[24+rdi],r9 + mov QWORD PTR[16+rdi],r8 + mov QWORD PTR[24+rdi],r9 DB 0F3h,0C3h ;repret -__ecp_nistz256_mul_montx ENDP +__ecp_nistz256_mul_montx ENDP ALIGN 32 -__ecp_nistz256_sqr_montx PROC PRIVATE +__ecp_nistz256_sqr_montx PROC PRIVATE mulx r10,r9,r14 mulx r11,rcx,r15 @@ -4709,7 +4709,7 @@ __ecp_nistz256_sqr_montx PROC PRIVATE mulx r14,rcx,r8 - mov rdx,QWORD PTR[((0+128))+rsi] + mov rdx,QWORD PTR[((0+128))+rsi] xor r15,r15 adcx r9,r9 adox r13,rcx @@ -4717,26 +4717,26 @@ __ecp_nistz256_sqr_montx PROC PRIVATE adox r14,r15 mulx rbp,r8,rdx - mov rdx,QWORD PTR[((8+128))+rsi] + mov rdx,QWORD PTR[((8+128))+rsi] adcx r11,r11 adox r9,rbp adcx r12,r12 mulx rax,rcx,rdx - mov rdx,QWORD PTR[((16+128))+rsi] + mov rdx,QWORD PTR[((16+128))+rsi] adcx r13,r13 adox r10,rcx adcx r14,r14 -DB 067h +DB 067h mulx rbp,rcx,rdx - mov rdx,QWORD PTR[((24+128))+rsi] + mov rdx,QWORD PTR[((24+128))+rsi] adox r11,rax adcx r15,r15 adox r12,rcx mov rsi,32 adox r13,rbp -DB 067h,067h +DB 067h,067h mulx rax,rcx,rdx - mov rdx,QWORD PTR[(($L$poly+24))] + mov rdx,QWORD PTR[(($L$poly+24))] adox r14,rcx shlx rcx,r8,rsi adox r15,rax @@ -4783,7 +4783,7 @@ DB 067h,067h xor rdx,rdx add r12,r8 - mov rsi,QWORD PTR[(($L$poly+8))] + mov rsi,QWORD PTR[(($L$poly+8))] adc r13,r9 mov r8,r12 adc r14,r10 @@ -4801,30 +4801,30 @@ DB 067h,067h cmovc r12,r8 cmovc r13,r9 - mov QWORD PTR[rdi],r12 + mov QWORD PTR[rdi],r12 cmovc r14,r10 - mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[8+rdi],r13 cmovc r15,r11 - mov QWORD PTR[16+rdi],r14 - mov QWORD PTR[24+rdi],r15 + mov QWORD PTR[16+rdi],r14 + mov QWORD PTR[24+rdi],r15 DB 0F3h,0C3h ;repret -__ecp_nistz256_sqr_montx ENDP +__ecp_nistz256_sqr_montx ENDP -PUBLIC ecp_nistz256_from_mont +PUBLIC ecp_nistz256_from_mont ALIGN 32 -ecp_nistz256_from_mont PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_from_mont PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_from_mont:: +$L$SEH_begin_ecp_nistz256_from_mont:: mov rdi,rcx mov rsi,rdx @@ -4834,15 +4834,15 @@ $L$SEH_begin_ecp_nistz256_from_mont:: push r13 -$L$from_body:: +$L$from_body:: - mov rax,QWORD PTR[rsi] - mov r13,QWORD PTR[(($L$poly+24))] - mov r9,QWORD PTR[8+rsi] - mov r10,QWORD PTR[16+rsi] - mov r11,QWORD PTR[24+rsi] + mov rax,QWORD PTR[rsi] + mov r13,QWORD PTR[(($L$poly+24))] + mov r9,QWORD PTR[8+rsi] + mov r10,QWORD PTR[16+rsi] + mov r11,QWORD PTR[24+rsi] mov r8,rax - mov r12,QWORD PTR[(($L$poly+8))] + mov r12,QWORD PTR[(($L$poly+8))] @@ -4908,76 +4908,76 @@ $L$from_body:: cmovnz r8,rcx cmovnz r9,rsi - mov QWORD PTR[rdi],r8 + mov QWORD PTR[rdi],r8 cmovnz r10,rax - mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[8+rdi],r9 cmovz r11,rdx - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 - mov r13,QWORD PTR[rsp] + mov r13,QWORD PTR[rsp] - mov r12,QWORD PTR[8+rsp] + mov r12,QWORD PTR[8+rsp] - lea rsp,QWORD PTR[16+rsp] + lea rsp,QWORD PTR[16+rsp] -$L$from_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$from_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_from_mont:: -ecp_nistz256_from_mont ENDP +$L$SEH_end_ecp_nistz256_from_mont:: +ecp_nistz256_from_mont ENDP -PUBLIC ecp_nistz256_scatter_w5 +PUBLIC ecp_nistz256_scatter_w5 ALIGN 32 -ecp_nistz256_scatter_w5 PROC PUBLIC - - lea r8d,DWORD PTR[((-3))+r8*2+r8] - movdqa xmm0,XMMWORD PTR[rdx] +ecp_nistz256_scatter_w5 PROC PUBLIC + + lea r8d,DWORD PTR[((-3))+r8*2+r8] + movdqa xmm0,XMMWORD PTR[rdx] shl r8d,5 - movdqa xmm1,XMMWORD PTR[16+rdx] - movdqa xmm2,XMMWORD PTR[32+rdx] - movdqa xmm3,XMMWORD PTR[48+rdx] - movdqa xmm4,XMMWORD PTR[64+rdx] - movdqa xmm5,XMMWORD PTR[80+rdx] - movdqa XMMWORD PTR[r8*1+rcx],xmm0 - movdqa XMMWORD PTR[16+r8*1+rcx],xmm1 - movdqa XMMWORD PTR[32+r8*1+rcx],xmm2 - movdqa XMMWORD PTR[48+r8*1+rcx],xmm3 - movdqa XMMWORD PTR[64+r8*1+rcx],xmm4 - movdqa XMMWORD PTR[80+r8*1+rcx],xmm5 + movdqa xmm1,XMMWORD PTR[16+rdx] + movdqa xmm2,XMMWORD PTR[32+rdx] + movdqa xmm3,XMMWORD PTR[48+rdx] + movdqa xmm4,XMMWORD PTR[64+rdx] + movdqa xmm5,XMMWORD PTR[80+rdx] + movdqa XMMWORD PTR[r8*1+rcx],xmm0 + movdqa XMMWORD PTR[16+r8*1+rcx],xmm1 + movdqa XMMWORD PTR[32+r8*1+rcx],xmm2 + movdqa XMMWORD PTR[48+r8*1+rcx],xmm3 + movdqa XMMWORD PTR[64+r8*1+rcx],xmm4 + movdqa XMMWORD PTR[80+r8*1+rcx],xmm5 DB 0F3h,0C3h ;repret -ecp_nistz256_scatter_w5 ENDP +ecp_nistz256_scatter_w5 ENDP -PUBLIC ecp_nistz256_gather_w5 +PUBLIC ecp_nistz256_gather_w5 ALIGN 32 -ecp_nistz256_gather_w5 PROC PUBLIC +ecp_nistz256_gather_w5 PROC PUBLIC - mov eax,DWORD PTR[((OPENSSL_ia32cap_P+8))] + mov eax,DWORD PTR[((OPENSSL_ia32cap_P+8))] test eax,32 - jnz $L$avx2_gather_w5 - lea rax,QWORD PTR[((-136))+rsp] -$L$SEH_begin_ecp_nistz256_gather_w5:: -DB 048h,08dh,060h,0e0h -DB 00fh,029h,070h,0e0h -DB 00fh,029h,078h,0f0h -DB 044h,00fh,029h,000h -DB 044h,00fh,029h,048h,010h -DB 044h,00fh,029h,050h,020h -DB 044h,00fh,029h,058h,030h -DB 044h,00fh,029h,060h,040h -DB 044h,00fh,029h,068h,050h -DB 044h,00fh,029h,070h,060h -DB 044h,00fh,029h,078h,070h - movdqa xmm0,XMMWORD PTR[$L$One] + jnz $L$avx2_gather_w5 + lea rax,QWORD PTR[((-136))+rsp] +$L$SEH_begin_ecp_nistz256_gather_w5:: +DB 048h,08dh,060h,0e0h +DB 00fh,029h,070h,0e0h +DB 00fh,029h,078h,0f0h +DB 044h,00fh,029h,000h +DB 044h,00fh,029h,048h,010h +DB 044h,00fh,029h,050h,020h +DB 044h,00fh,029h,058h,030h +DB 044h,00fh,029h,060h,040h +DB 044h,00fh,029h,068h,050h +DB 044h,00fh,029h,070h,060h +DB 044h,00fh,029h,078h,070h + movdqa xmm0,XMMWORD PTR[$L$One] movd xmm1,r8d pxor xmm2,xmm2 @@ -4991,19 +4991,19 @@ DB 044h,00fh,029h,078h,070h pshufd xmm1,xmm1,0 mov rax,16 -$L$select_loop_sse_w5:: +$L$select_loop_sse_w5:: movdqa xmm15,xmm8 paddd xmm8,xmm0 pcmpeqd xmm15,xmm1 - movdqa xmm9,XMMWORD PTR[rdx] - movdqa xmm10,XMMWORD PTR[16+rdx] - movdqa xmm11,XMMWORD PTR[32+rdx] - movdqa xmm12,XMMWORD PTR[48+rdx] - movdqa xmm13,XMMWORD PTR[64+rdx] - movdqa xmm14,XMMWORD PTR[80+rdx] - lea rdx,QWORD PTR[96+rdx] + movdqa xmm9,XMMWORD PTR[rdx] + movdqa xmm10,XMMWORD PTR[16+rdx] + movdqa xmm11,XMMWORD PTR[32+rdx] + movdqa xmm12,XMMWORD PTR[48+rdx] + movdqa xmm13,XMMWORD PTR[64+rdx] + movdqa xmm14,XMMWORD PTR[80+rdx] + lea rdx,QWORD PTR[96+rdx] pand xmm9,xmm15 pand xmm10,xmm15 @@ -5019,75 +5019,75 @@ $L$select_loop_sse_w5:: por xmm7,xmm14 dec rax - jnz $L$select_loop_sse_w5 - - movdqu XMMWORD PTR[rcx],xmm2 - movdqu XMMWORD PTR[16+rcx],xmm3 - movdqu XMMWORD PTR[32+rcx],xmm4 - movdqu XMMWORD PTR[48+rcx],xmm5 - movdqu XMMWORD PTR[64+rcx],xmm6 - movdqu XMMWORD PTR[80+rcx],xmm7 - movaps xmm6,XMMWORD PTR[rsp] - movaps xmm7,XMMWORD PTR[16+rsp] - movaps xmm8,XMMWORD PTR[32+rsp] - movaps xmm9,XMMWORD PTR[48+rsp] - movaps xmm10,XMMWORD PTR[64+rsp] - movaps xmm11,XMMWORD PTR[80+rsp] - movaps xmm12,XMMWORD PTR[96+rsp] - movaps xmm13,XMMWORD PTR[112+rsp] - movaps xmm14,XMMWORD PTR[128+rsp] - movaps xmm15,XMMWORD PTR[144+rsp] - lea rsp,QWORD PTR[168+rsp] + jnz $L$select_loop_sse_w5 + + movdqu XMMWORD PTR[rcx],xmm2 + movdqu XMMWORD PTR[16+rcx],xmm3 + movdqu XMMWORD PTR[32+rcx],xmm4 + movdqu XMMWORD PTR[48+rcx],xmm5 + movdqu XMMWORD PTR[64+rcx],xmm6 + movdqu XMMWORD PTR[80+rcx],xmm7 + movaps xmm6,XMMWORD PTR[rsp] + movaps xmm7,XMMWORD PTR[16+rsp] + movaps xmm8,XMMWORD PTR[32+rsp] + movaps xmm9,XMMWORD PTR[48+rsp] + movaps xmm10,XMMWORD PTR[64+rsp] + movaps xmm11,XMMWORD PTR[80+rsp] + movaps xmm12,XMMWORD PTR[96+rsp] + movaps xmm13,XMMWORD PTR[112+rsp] + movaps xmm14,XMMWORD PTR[128+rsp] + movaps xmm15,XMMWORD PTR[144+rsp] + lea rsp,QWORD PTR[168+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_gather_w5:: -ecp_nistz256_gather_w5 ENDP +$L$SEH_end_ecp_nistz256_gather_w5:: +ecp_nistz256_gather_w5 ENDP -PUBLIC ecp_nistz256_scatter_w7 +PUBLIC ecp_nistz256_scatter_w7 -ALIGN 32 -ecp_nistz256_scatter_w7 PROC PUBLIC +ALIGN 32 +ecp_nistz256_scatter_w7 PROC PUBLIC - movdqu xmm0,XMMWORD PTR[rdx] + movdqu xmm0,XMMWORD PTR[rdx] shl r8d,6 - movdqu xmm1,XMMWORD PTR[16+rdx] - movdqu xmm2,XMMWORD PTR[32+rdx] - movdqu xmm3,XMMWORD PTR[48+rdx] - movdqa XMMWORD PTR[r8*1+rcx],xmm0 - movdqa XMMWORD PTR[16+r8*1+rcx],xmm1 - movdqa XMMWORD PTR[32+r8*1+rcx],xmm2 - movdqa XMMWORD PTR[48+r8*1+rcx],xmm3 + movdqu xmm1,XMMWORD PTR[16+rdx] + movdqu xmm2,XMMWORD PTR[32+rdx] + movdqu xmm3,XMMWORD PTR[48+rdx] + movdqa XMMWORD PTR[r8*1+rcx],xmm0 + movdqa XMMWORD PTR[16+r8*1+rcx],xmm1 + movdqa XMMWORD PTR[32+r8*1+rcx],xmm2 + movdqa XMMWORD PTR[48+r8*1+rcx],xmm3 DB 0F3h,0C3h ;repret -ecp_nistz256_scatter_w7 ENDP +ecp_nistz256_scatter_w7 ENDP -PUBLIC ecp_nistz256_gather_w7 +PUBLIC ecp_nistz256_gather_w7 ALIGN 32 -ecp_nistz256_gather_w7 PROC PUBLIC +ecp_nistz256_gather_w7 PROC PUBLIC - mov eax,DWORD PTR[((OPENSSL_ia32cap_P+8))] + mov eax,DWORD PTR[((OPENSSL_ia32cap_P+8))] test eax,32 - jnz $L$avx2_gather_w7 - lea rax,QWORD PTR[((-136))+rsp] -$L$SEH_begin_ecp_nistz256_gather_w7:: -DB 048h,08dh,060h,0e0h -DB 00fh,029h,070h,0e0h -DB 00fh,029h,078h,0f0h -DB 044h,00fh,029h,000h -DB 044h,00fh,029h,048h,010h -DB 044h,00fh,029h,050h,020h -DB 044h,00fh,029h,058h,030h -DB 044h,00fh,029h,060h,040h -DB 044h,00fh,029h,068h,050h -DB 044h,00fh,029h,070h,060h -DB 044h,00fh,029h,078h,070h - movdqa xmm8,XMMWORD PTR[$L$One] + jnz $L$avx2_gather_w7 + lea rax,QWORD PTR[((-136))+rsp] +$L$SEH_begin_ecp_nistz256_gather_w7:: +DB 048h,08dh,060h,0e0h +DB 00fh,029h,070h,0e0h +DB 00fh,029h,078h,0f0h +DB 044h,00fh,029h,000h +DB 044h,00fh,029h,048h,010h +DB 044h,00fh,029h,050h,020h +DB 044h,00fh,029h,058h,030h +DB 044h,00fh,029h,060h,040h +DB 044h,00fh,029h,068h,050h +DB 044h,00fh,029h,070h,060h +DB 044h,00fh,029h,078h,070h + movdqa xmm8,XMMWORD PTR[$L$One] movd xmm1,r8d pxor xmm2,xmm2 @@ -5099,15 +5099,15 @@ DB 044h,00fh,029h,078h,070h pshufd xmm1,xmm1,0 mov rax,64 -$L$select_loop_sse_w7:: +$L$select_loop_sse_w7:: movdqa xmm15,xmm8 paddd xmm8,xmm0 - movdqa xmm9,XMMWORD PTR[rdx] - movdqa xmm10,XMMWORD PTR[16+rdx] + movdqa xmm9,XMMWORD PTR[rdx] + movdqa xmm10,XMMWORD PTR[16+rdx] pcmpeqd xmm15,xmm1 - movdqa xmm11,XMMWORD PTR[32+rdx] - movdqa xmm12,XMMWORD PTR[48+rdx] - lea rdx,QWORD PTR[64+rdx] + movdqa xmm11,XMMWORD PTR[32+rdx] + movdqa xmm12,XMMWORD PTR[48+rdx] + lea rdx,QWORD PTR[64+rdx] pand xmm9,xmm15 pand xmm10,xmm15 @@ -5120,78 +5120,78 @@ $L$select_loop_sse_w7:: por xmm5,xmm12 dec rax - jnz $L$select_loop_sse_w7 - - movdqu XMMWORD PTR[rcx],xmm2 - movdqu XMMWORD PTR[16+rcx],xmm3 - movdqu XMMWORD PTR[32+rcx],xmm4 - movdqu XMMWORD PTR[48+rcx],xmm5 - movaps xmm6,XMMWORD PTR[rsp] - movaps xmm7,XMMWORD PTR[16+rsp] - movaps xmm8,XMMWORD PTR[32+rsp] - movaps xmm9,XMMWORD PTR[48+rsp] - movaps xmm10,XMMWORD PTR[64+rsp] - movaps xmm11,XMMWORD PTR[80+rsp] - movaps xmm12,XMMWORD PTR[96+rsp] - movaps xmm13,XMMWORD PTR[112+rsp] - movaps xmm14,XMMWORD PTR[128+rsp] - movaps xmm15,XMMWORD PTR[144+rsp] - lea rsp,QWORD PTR[168+rsp] + jnz $L$select_loop_sse_w7 + + movdqu XMMWORD PTR[rcx],xmm2 + movdqu XMMWORD PTR[16+rcx],xmm3 + movdqu XMMWORD PTR[32+rcx],xmm4 + movdqu XMMWORD PTR[48+rcx],xmm5 + movaps xmm6,XMMWORD PTR[rsp] + movaps xmm7,XMMWORD PTR[16+rsp] + movaps xmm8,XMMWORD PTR[32+rsp] + movaps xmm9,XMMWORD PTR[48+rsp] + movaps xmm10,XMMWORD PTR[64+rsp] + movaps xmm11,XMMWORD PTR[80+rsp] + movaps xmm12,XMMWORD PTR[96+rsp] + movaps xmm13,XMMWORD PTR[112+rsp] + movaps xmm14,XMMWORD PTR[128+rsp] + movaps xmm15,XMMWORD PTR[144+rsp] + lea rsp,QWORD PTR[168+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_gather_w7:: -ecp_nistz256_gather_w7 ENDP +$L$SEH_end_ecp_nistz256_gather_w7:: +ecp_nistz256_gather_w7 ENDP ALIGN 32 -ecp_nistz256_avx2_gather_w5 PROC PRIVATE +ecp_nistz256_avx2_gather_w5 PROC PRIVATE -$L$avx2_gather_w5:: +$L$avx2_gather_w5:: vzeroupper - lea rax,QWORD PTR[((-136))+rsp] + lea rax,QWORD PTR[((-136))+rsp] mov r11,rsp -$L$SEH_begin_ecp_nistz256_avx2_gather_w5:: -DB 048h,08dh,060h,0e0h -DB 0c5h,0f8h,029h,070h,0e0h -DB 0c5h,0f8h,029h,078h,0f0h -DB 0c5h,078h,029h,040h,000h -DB 0c5h,078h,029h,048h,010h -DB 0c5h,078h,029h,050h,020h -DB 0c5h,078h,029h,058h,030h -DB 0c5h,078h,029h,060h,040h -DB 0c5h,078h,029h,068h,050h -DB 0c5h,078h,029h,070h,060h -DB 0c5h,078h,029h,078h,070h - vmovdqa ymm0,YMMWORD PTR[$L$Two] +$L$SEH_begin_ecp_nistz256_avx2_gather_w5:: +DB 048h,08dh,060h,0e0h +DB 0c5h,0f8h,029h,070h,0e0h +DB 0c5h,0f8h,029h,078h,0f0h +DB 0c5h,078h,029h,040h,000h +DB 0c5h,078h,029h,048h,010h +DB 0c5h,078h,029h,050h,020h +DB 0c5h,078h,029h,058h,030h +DB 0c5h,078h,029h,060h,040h +DB 0c5h,078h,029h,068h,050h +DB 0c5h,078h,029h,070h,060h +DB 0c5h,078h,029h,078h,070h + vmovdqa ymm0,YMMWORD PTR[$L$Two] vpxor ymm2,ymm2,ymm2 vpxor ymm3,ymm3,ymm3 vpxor ymm4,ymm4,ymm4 - vmovdqa ymm5,YMMWORD PTR[$L$One] - vmovdqa ymm10,YMMWORD PTR[$L$Two] + vmovdqa ymm5,YMMWORD PTR[$L$One] + vmovdqa ymm10,YMMWORD PTR[$L$Two] vmovd xmm1,r8d vpermd ymm1,ymm2,ymm1 mov rax,8 -$L$select_loop_avx2_w5:: +$L$select_loop_avx2_w5:: - vmovdqa ymm6,YMMWORD PTR[rdx] - vmovdqa ymm7,YMMWORD PTR[32+rdx] - vmovdqa ymm8,YMMWORD PTR[64+rdx] + vmovdqa ymm6,YMMWORD PTR[rdx] + vmovdqa ymm7,YMMWORD PTR[32+rdx] + vmovdqa ymm8,YMMWORD PTR[64+rdx] - vmovdqa ymm11,YMMWORD PTR[96+rdx] - vmovdqa ymm12,YMMWORD PTR[128+rdx] - vmovdqa ymm13,YMMWORD PTR[160+rdx] + vmovdqa ymm11,YMMWORD PTR[96+rdx] + vmovdqa ymm12,YMMWORD PTR[128+rdx] + vmovdqa ymm13,YMMWORD PTR[160+rdx] vpcmpeqd ymm9,ymm5,ymm1 vpcmpeqd ymm14,ymm10,ymm1 vpaddd ymm5,ymm5,ymm0 vpaddd ymm10,ymm10,ymm0 - lea rdx,QWORD PTR[192+rdx] + lea rdx,QWORD PTR[192+rdx] vpand ymm6,ymm6,ymm9 vpand ymm7,ymm7,ymm9 @@ -5208,75 +5208,75 @@ $L$select_loop_avx2_w5:: vpxor ymm4,ymm4,ymm13 dec rax - jnz $L$select_loop_avx2_w5 + jnz $L$select_loop_avx2_w5 - vmovdqu YMMWORD PTR[rcx],ymm2 - vmovdqu YMMWORD PTR[32+rcx],ymm3 - vmovdqu YMMWORD PTR[64+rcx],ymm4 + vmovdqu YMMWORD PTR[rcx],ymm2 + vmovdqu YMMWORD PTR[32+rcx],ymm3 + vmovdqu YMMWORD PTR[64+rcx],ymm4 vzeroupper - movaps xmm6,XMMWORD PTR[rsp] - movaps xmm7,XMMWORD PTR[16+rsp] - movaps xmm8,XMMWORD PTR[32+rsp] - movaps xmm9,XMMWORD PTR[48+rsp] - movaps xmm10,XMMWORD PTR[64+rsp] - movaps xmm11,XMMWORD PTR[80+rsp] - movaps xmm12,XMMWORD PTR[96+rsp] - movaps xmm13,XMMWORD PTR[112+rsp] - movaps xmm14,XMMWORD PTR[128+rsp] - movaps xmm15,XMMWORD PTR[144+rsp] - lea rsp,QWORD PTR[r11] + movaps xmm6,XMMWORD PTR[rsp] + movaps xmm7,XMMWORD PTR[16+rsp] + movaps xmm8,XMMWORD PTR[32+rsp] + movaps xmm9,XMMWORD PTR[48+rsp] + movaps xmm10,XMMWORD PTR[64+rsp] + movaps xmm11,XMMWORD PTR[80+rsp] + movaps xmm12,XMMWORD PTR[96+rsp] + movaps xmm13,XMMWORD PTR[112+rsp] + movaps xmm14,XMMWORD PTR[128+rsp] + movaps xmm15,XMMWORD PTR[144+rsp] + lea rsp,QWORD PTR[r11] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_avx2_gather_w5:: -ecp_nistz256_avx2_gather_w5 ENDP +$L$SEH_end_ecp_nistz256_avx2_gather_w5:: +ecp_nistz256_avx2_gather_w5 ENDP -PUBLIC ecp_nistz256_avx2_gather_w7 +PUBLIC ecp_nistz256_avx2_gather_w7 ALIGN 32 -ecp_nistz256_avx2_gather_w7 PROC PUBLIC +ecp_nistz256_avx2_gather_w7 PROC PUBLIC -$L$avx2_gather_w7:: +$L$avx2_gather_w7:: vzeroupper mov r11,rsp - lea rax,QWORD PTR[((-136))+rsp] -$L$SEH_begin_ecp_nistz256_avx2_gather_w7:: -DB 048h,08dh,060h,0e0h -DB 0c5h,0f8h,029h,070h,0e0h -DB 0c5h,0f8h,029h,078h,0f0h -DB 0c5h,078h,029h,040h,000h -DB 0c5h,078h,029h,048h,010h -DB 0c5h,078h,029h,050h,020h -DB 0c5h,078h,029h,058h,030h -DB 0c5h,078h,029h,060h,040h -DB 0c5h,078h,029h,068h,050h -DB 0c5h,078h,029h,070h,060h -DB 0c5h,078h,029h,078h,070h - vmovdqa ymm0,YMMWORD PTR[$L$Three] + lea rax,QWORD PTR[((-136))+rsp] +$L$SEH_begin_ecp_nistz256_avx2_gather_w7:: +DB 048h,08dh,060h,0e0h +DB 0c5h,0f8h,029h,070h,0e0h +DB 0c5h,0f8h,029h,078h,0f0h +DB 0c5h,078h,029h,040h,000h +DB 0c5h,078h,029h,048h,010h +DB 0c5h,078h,029h,050h,020h +DB 0c5h,078h,029h,058h,030h +DB 0c5h,078h,029h,060h,040h +DB 0c5h,078h,029h,068h,050h +DB 0c5h,078h,029h,070h,060h +DB 0c5h,078h,029h,078h,070h + vmovdqa ymm0,YMMWORD PTR[$L$Three] vpxor ymm2,ymm2,ymm2 vpxor ymm3,ymm3,ymm3 - vmovdqa ymm4,YMMWORD PTR[$L$One] - vmovdqa ymm8,YMMWORD PTR[$L$Two] - vmovdqa ymm12,YMMWORD PTR[$L$Three] + vmovdqa ymm4,YMMWORD PTR[$L$One] + vmovdqa ymm8,YMMWORD PTR[$L$Two] + vmovdqa ymm12,YMMWORD PTR[$L$Three] vmovd xmm1,r8d vpermd ymm1,ymm2,ymm1 mov rax,21 -$L$select_loop_avx2_w7:: +$L$select_loop_avx2_w7:: - vmovdqa ymm5,YMMWORD PTR[rdx] - vmovdqa ymm6,YMMWORD PTR[32+rdx] + vmovdqa ymm5,YMMWORD PTR[rdx] + vmovdqa ymm6,YMMWORD PTR[32+rdx] - vmovdqa ymm9,YMMWORD PTR[64+rdx] - vmovdqa ymm10,YMMWORD PTR[96+rdx] + vmovdqa ymm9,YMMWORD PTR[64+rdx] + vmovdqa ymm10,YMMWORD PTR[96+rdx] - vmovdqa ymm13,YMMWORD PTR[128+rdx] - vmovdqa ymm14,YMMWORD PTR[160+rdx] + vmovdqa ymm13,YMMWORD PTR[128+rdx] + vmovdqa ymm14,YMMWORD PTR[160+rdx] vpcmpeqd ymm7,ymm4,ymm1 vpcmpeqd ymm11,ymm8,ymm1 @@ -5285,7 +5285,7 @@ $L$select_loop_avx2_w7:: vpaddd ymm4,ymm4,ymm0 vpaddd ymm8,ymm8,ymm0 vpaddd ymm12,ymm12,ymm0 - lea rdx,QWORD PTR[192+rdx] + lea rdx,QWORD PTR[192+rdx] vpand ymm5,ymm5,ymm7 vpand ymm6,ymm6,ymm7 @@ -5302,11 +5302,11 @@ $L$select_loop_avx2_w7:: vpxor ymm3,ymm3,ymm14 dec rax - jnz $L$select_loop_avx2_w7 + jnz $L$select_loop_avx2_w7 - vmovdqa ymm5,YMMWORD PTR[rdx] - vmovdqa ymm6,YMMWORD PTR[32+rdx] + vmovdqa ymm5,YMMWORD PTR[rdx] + vmovdqa ymm6,YMMWORD PTR[32+rdx] vpcmpeqd ymm7,ymm4,ymm1 @@ -5316,34 +5316,34 @@ $L$select_loop_avx2_w7:: vpxor ymm2,ymm2,ymm5 vpxor ymm3,ymm3,ymm6 - vmovdqu YMMWORD PTR[rcx],ymm2 - vmovdqu YMMWORD PTR[32+rcx],ymm3 + vmovdqu YMMWORD PTR[rcx],ymm2 + vmovdqu YMMWORD PTR[32+rcx],ymm3 vzeroupper - movaps xmm6,XMMWORD PTR[rsp] - movaps xmm7,XMMWORD PTR[16+rsp] - movaps xmm8,XMMWORD PTR[32+rsp] - movaps xmm9,XMMWORD PTR[48+rsp] - movaps xmm10,XMMWORD PTR[64+rsp] - movaps xmm11,XMMWORD PTR[80+rsp] - movaps xmm12,XMMWORD PTR[96+rsp] - movaps xmm13,XMMWORD PTR[112+rsp] - movaps xmm14,XMMWORD PTR[128+rsp] - movaps xmm15,XMMWORD PTR[144+rsp] - lea rsp,QWORD PTR[r11] + movaps xmm6,XMMWORD PTR[rsp] + movaps xmm7,XMMWORD PTR[16+rsp] + movaps xmm8,XMMWORD PTR[32+rsp] + movaps xmm9,XMMWORD PTR[48+rsp] + movaps xmm10,XMMWORD PTR[64+rsp] + movaps xmm11,XMMWORD PTR[80+rsp] + movaps xmm12,XMMWORD PTR[96+rsp] + movaps xmm13,XMMWORD PTR[112+rsp] + movaps xmm14,XMMWORD PTR[128+rsp] + movaps xmm15,XMMWORD PTR[144+rsp] + lea rsp,QWORD PTR[r11] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_avx2_gather_w7:: -ecp_nistz256_avx2_gather_w7 ENDP +$L$SEH_end_ecp_nistz256_avx2_gather_w7:: +ecp_nistz256_avx2_gather_w7 ENDP ALIGN 32 -__ecp_nistz256_add_toq PROC PRIVATE +__ecp_nistz256_add_toq PROC PRIVATE xor r11,r11 - add r12,QWORD PTR[rbx] - adc r13,QWORD PTR[8+rbx] + add r12,QWORD PTR[rbx] + adc r13,QWORD PTR[8+rbx] mov rax,r12 - adc r8,QWORD PTR[16+rbx] - adc r9,QWORD PTR[24+rbx] + adc r8,QWORD PTR[16+rbx] + adc r9,QWORD PTR[24+rbx] mov rbp,r13 adc r11,0 @@ -5357,26 +5357,26 @@ __ecp_nistz256_add_toq PROC PRIVATE cmovc r12,rax cmovc r13,rbp - mov QWORD PTR[rdi],r12 + mov QWORD PTR[rdi],r12 cmovc r8,rcx - mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[8+rdi],r13 cmovc r9,r10 - mov QWORD PTR[16+rdi],r8 - mov QWORD PTR[24+rdi],r9 + mov QWORD PTR[16+rdi],r8 + mov QWORD PTR[24+rdi],r9 DB 0F3h,0C3h ;repret -__ecp_nistz256_add_toq ENDP +__ecp_nistz256_add_toq ENDP ALIGN 32 -__ecp_nistz256_sub_fromq PROC PRIVATE +__ecp_nistz256_sub_fromq PROC PRIVATE - sub r12,QWORD PTR[rbx] - sbb r13,QWORD PTR[8+rbx] + sub r12,QWORD PTR[rbx] + sbb r13,QWORD PTR[8+rbx] mov rax,r12 - sbb r8,QWORD PTR[16+rbx] - sbb r9,QWORD PTR[24+rbx] + sbb r8,QWORD PTR[16+rbx] + sbb r9,QWORD PTR[24+rbx] mov rbp,r13 sbb r11,r11 @@ -5390,20 +5390,20 @@ __ecp_nistz256_sub_fromq PROC PRIVATE cmovz r12,rax cmovz r13,rbp - mov QWORD PTR[rdi],r12 + mov QWORD PTR[rdi],r12 cmovz r8,rcx - mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[8+rdi],r13 cmovz r9,r10 - mov QWORD PTR[16+rdi],r8 - mov QWORD PTR[24+rdi],r9 + mov QWORD PTR[16+rdi],r8 + mov QWORD PTR[24+rdi],r9 DB 0F3h,0C3h ;repret -__ecp_nistz256_sub_fromq ENDP +__ecp_nistz256_sub_fromq ENDP ALIGN 32 -__ecp_nistz256_subq PROC PRIVATE +__ecp_nistz256_subq PROC PRIVATE sub rax,r12 sbb rbp,r13 @@ -5428,11 +5428,11 @@ __ecp_nistz256_subq PROC PRIVATE DB 0F3h,0C3h ;repret -__ecp_nistz256_subq ENDP +__ecp_nistz256_subq ENDP ALIGN 32 -__ecp_nistz256_mul_by_2q PROC PRIVATE +__ecp_nistz256_mul_by_2q PROC PRIVATE xor r11,r11 add r12,r12 @@ -5453,33 +5453,33 @@ __ecp_nistz256_mul_by_2q PROC PRIVATE cmovc r12,rax cmovc r13,rbp - mov QWORD PTR[rdi],r12 + mov QWORD PTR[rdi],r12 cmovc r8,rcx - mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[8+rdi],r13 cmovc r9,r10 - mov QWORD PTR[16+rdi],r8 - mov QWORD PTR[24+rdi],r9 + mov QWORD PTR[16+rdi],r8 + mov QWORD PTR[24+rdi],r9 DB 0F3h,0C3h ;repret -__ecp_nistz256_mul_by_2q ENDP -PUBLIC ecp_nistz256_point_double +__ecp_nistz256_mul_by_2q ENDP +PUBLIC ecp_nistz256_point_double ALIGN 32 -ecp_nistz256_point_double PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_point_double PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_point_double:: +$L$SEH_begin_ecp_nistz256_point_double:: mov rdi,rcx mov rsi,rdx - mov ecx,080100h - and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] - cmp ecx,080100h - je $L$point_doublex + mov ecx,080100h + and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] + cmp ecx,080100h + je $L$point_doublex push rbp push rbx @@ -5494,77 +5494,77 @@ $L$SEH_begin_ecp_nistz256_point_double:: sub rsp,32*5+8 -$L$point_doubleq_body:: +$L$point_doubleq_body:: -$L$point_double_shortcutq:: - movdqu xmm0,XMMWORD PTR[rsi] +$L$point_double_shortcutq:: + movdqu xmm0,XMMWORD PTR[rsi] mov rbx,rsi - movdqu xmm1,XMMWORD PTR[16+rsi] - mov r12,QWORD PTR[((32+0))+rsi] - mov r13,QWORD PTR[((32+8))+rsi] - mov r8,QWORD PTR[((32+16))+rsi] - mov r9,QWORD PTR[((32+24))+rsi] - mov r14,QWORD PTR[(($L$poly+8))] - mov r15,QWORD PTR[(($L$poly+24))] - movdqa XMMWORD PTR[96+rsp],xmm0 - movdqa XMMWORD PTR[(96+16)+rsp],xmm1 - lea r10,QWORD PTR[32+rdi] - lea r11,QWORD PTR[64+rdi] + movdqu xmm1,XMMWORD PTR[16+rsi] + mov r12,QWORD PTR[((32+0))+rsi] + mov r13,QWORD PTR[((32+8))+rsi] + mov r8,QWORD PTR[((32+16))+rsi] + mov r9,QWORD PTR[((32+24))+rsi] + mov r14,QWORD PTR[(($L$poly+8))] + mov r15,QWORD PTR[(($L$poly+24))] + movdqa XMMWORD PTR[96+rsp],xmm0 + movdqa XMMWORD PTR[(96+16)+rsp],xmm1 + lea r10,QWORD PTR[32+rdi] + lea r11,QWORD PTR[64+rdi] DB 102,72,15,110,199 DB 102,73,15,110,202 DB 102,73,15,110,211 - lea rdi,QWORD PTR[rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_mul_by_2q - mov rax,QWORD PTR[((64+0))+rsi] - mov r14,QWORD PTR[((64+8))+rsi] - mov r15,QWORD PTR[((64+16))+rsi] - mov r8,QWORD PTR[((64+24))+rsi] - lea rsi,QWORD PTR[((64-0))+rsi] - lea rdi,QWORD PTR[64+rsp] + mov rax,QWORD PTR[((64+0))+rsi] + mov r14,QWORD PTR[((64+8))+rsi] + mov r15,QWORD PTR[((64+16))+rsi] + mov r8,QWORD PTR[((64+24))+rsi] + lea rsi,QWORD PTR[((64-0))+rsi] + lea rdi,QWORD PTR[64+rsp] call __ecp_nistz256_sqr_montq - mov rax,QWORD PTR[((0+0))+rsp] - mov r14,QWORD PTR[((8+0))+rsp] - lea rsi,QWORD PTR[((0+0))+rsp] - mov r15,QWORD PTR[((16+0))+rsp] - mov r8,QWORD PTR[((24+0))+rsp] - lea rdi,QWORD PTR[rsp] + mov rax,QWORD PTR[((0+0))+rsp] + mov r14,QWORD PTR[((8+0))+rsp] + lea rsi,QWORD PTR[((0+0))+rsp] + mov r15,QWORD PTR[((16+0))+rsp] + mov r8,QWORD PTR[((24+0))+rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_sqr_montq - mov rax,QWORD PTR[32+rbx] - mov r9,QWORD PTR[((64+0))+rbx] - mov r10,QWORD PTR[((64+8))+rbx] - mov r11,QWORD PTR[((64+16))+rbx] - mov r12,QWORD PTR[((64+24))+rbx] - lea rsi,QWORD PTR[((64-0))+rbx] - lea rbx,QWORD PTR[32+rbx] + mov rax,QWORD PTR[32+rbx] + mov r9,QWORD PTR[((64+0))+rbx] + mov r10,QWORD PTR[((64+8))+rbx] + mov r11,QWORD PTR[((64+16))+rbx] + mov r12,QWORD PTR[((64+24))+rbx] + lea rsi,QWORD PTR[((64-0))+rbx] + lea rbx,QWORD PTR[32+rbx] DB 102,72,15,126,215 call __ecp_nistz256_mul_montq call __ecp_nistz256_mul_by_2q - mov r12,QWORD PTR[((96+0))+rsp] - mov r13,QWORD PTR[((96+8))+rsp] - lea rbx,QWORD PTR[64+rsp] - mov r8,QWORD PTR[((96+16))+rsp] - mov r9,QWORD PTR[((96+24))+rsp] - lea rdi,QWORD PTR[32+rsp] + mov r12,QWORD PTR[((96+0))+rsp] + mov r13,QWORD PTR[((96+8))+rsp] + lea rbx,QWORD PTR[64+rsp] + mov r8,QWORD PTR[((96+16))+rsp] + mov r9,QWORD PTR[((96+24))+rsp] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_add_toq - mov r12,QWORD PTR[((96+0))+rsp] - mov r13,QWORD PTR[((96+8))+rsp] - lea rbx,QWORD PTR[64+rsp] - mov r8,QWORD PTR[((96+16))+rsp] - mov r9,QWORD PTR[((96+24))+rsp] - lea rdi,QWORD PTR[64+rsp] + mov r12,QWORD PTR[((96+0))+rsp] + mov r13,QWORD PTR[((96+8))+rsp] + lea rbx,QWORD PTR[64+rsp] + mov r8,QWORD PTR[((96+16))+rsp] + mov r9,QWORD PTR[((96+24))+rsp] + lea rdi,QWORD PTR[64+rsp] call __ecp_nistz256_sub_fromq - mov rax,QWORD PTR[((0+0))+rsp] - mov r14,QWORD PTR[((8+0))+rsp] - lea rsi,QWORD PTR[((0+0))+rsp] - mov r15,QWORD PTR[((16+0))+rsp] - mov r8,QWORD PTR[((24+0))+rsp] + mov rax,QWORD PTR[((0+0))+rsp] + mov r14,QWORD PTR[((8+0))+rsp] + lea rsi,QWORD PTR[((0+0))+rsp] + mov r15,QWORD PTR[((16+0))+rsp] + mov r8,QWORD PTR[((24+0))+rsp] DB 102,72,15,126,207 call __ecp_nistz256_sqr_montq xor r9,r9 @@ -5597,127 +5597,127 @@ DB 102,72,15,126,207 shr r14,1 or r13,r10 shl rcx,63 - mov QWORD PTR[rdi],r12 + mov QWORD PTR[rdi],r12 shr r15,1 - mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[8+rdi],r13 shl r9,63 or r14,rcx or r15,r9 - mov QWORD PTR[16+rdi],r14 - mov QWORD PTR[24+rdi],r15 - mov rax,QWORD PTR[64+rsp] - lea rbx,QWORD PTR[64+rsp] - mov r9,QWORD PTR[((0+32))+rsp] - mov r10,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((0+32))+rsp] - mov r11,QWORD PTR[((16+32))+rsp] - mov r12,QWORD PTR[((24+32))+rsp] - lea rdi,QWORD PTR[32+rsp] + mov QWORD PTR[16+rdi],r14 + mov QWORD PTR[24+rdi],r15 + mov rax,QWORD PTR[64+rsp] + lea rbx,QWORD PTR[64+rsp] + mov r9,QWORD PTR[((0+32))+rsp] + mov r10,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((0+32))+rsp] + mov r11,QWORD PTR[((16+32))+rsp] + mov r12,QWORD PTR[((24+32))+rsp] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_mul_montq - lea rdi,QWORD PTR[128+rsp] + lea rdi,QWORD PTR[128+rsp] call __ecp_nistz256_mul_by_2q - lea rbx,QWORD PTR[32+rsp] - lea rdi,QWORD PTR[32+rsp] + lea rbx,QWORD PTR[32+rsp] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_add_toq - mov rax,QWORD PTR[96+rsp] - lea rbx,QWORD PTR[96+rsp] - mov r9,QWORD PTR[((0+0))+rsp] - mov r10,QWORD PTR[((8+0))+rsp] - lea rsi,QWORD PTR[((0+0))+rsp] - mov r11,QWORD PTR[((16+0))+rsp] - mov r12,QWORD PTR[((24+0))+rsp] - lea rdi,QWORD PTR[rsp] + mov rax,QWORD PTR[96+rsp] + lea rbx,QWORD PTR[96+rsp] + mov r9,QWORD PTR[((0+0))+rsp] + mov r10,QWORD PTR[((8+0))+rsp] + lea rsi,QWORD PTR[((0+0))+rsp] + mov r11,QWORD PTR[((16+0))+rsp] + mov r12,QWORD PTR[((24+0))+rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_mul_montq - lea rdi,QWORD PTR[128+rsp] + lea rdi,QWORD PTR[128+rsp] call __ecp_nistz256_mul_by_2q - mov rax,QWORD PTR[((0+32))+rsp] - mov r14,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((0+32))+rsp] - mov r15,QWORD PTR[((16+32))+rsp] - mov r8,QWORD PTR[((24+32))+rsp] + mov rax,QWORD PTR[((0+32))+rsp] + mov r14,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((0+32))+rsp] + mov r15,QWORD PTR[((16+32))+rsp] + mov r8,QWORD PTR[((24+32))+rsp] DB 102,72,15,126,199 call __ecp_nistz256_sqr_montq - lea rbx,QWORD PTR[128+rsp] + lea rbx,QWORD PTR[128+rsp] mov r8,r14 mov r9,r15 mov r14,rsi mov r15,rbp call __ecp_nistz256_sub_fromq - mov rax,QWORD PTR[((0+0))+rsp] - mov rbp,QWORD PTR[((0+8))+rsp] - mov rcx,QWORD PTR[((0+16))+rsp] - mov r10,QWORD PTR[((0+24))+rsp] - lea rdi,QWORD PTR[rsp] + mov rax,QWORD PTR[((0+0))+rsp] + mov rbp,QWORD PTR[((0+8))+rsp] + mov rcx,QWORD PTR[((0+16))+rsp] + mov r10,QWORD PTR[((0+24))+rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_subq - mov rax,QWORD PTR[32+rsp] - lea rbx,QWORD PTR[32+rsp] + mov rax,QWORD PTR[32+rsp] + lea rbx,QWORD PTR[32+rsp] mov r14,r12 xor ecx,ecx - mov QWORD PTR[((0+0))+rsp],r12 + mov QWORD PTR[((0+0))+rsp],r12 mov r10,r13 - mov QWORD PTR[((0+8))+rsp],r13 + mov QWORD PTR[((0+8))+rsp],r13 cmovz r11,r8 - mov QWORD PTR[((0+16))+rsp],r8 - lea rsi,QWORD PTR[((0-0))+rsp] + mov QWORD PTR[((0+16))+rsp],r8 + lea rsi,QWORD PTR[((0-0))+rsp] cmovz r12,r9 - mov QWORD PTR[((0+24))+rsp],r9 + mov QWORD PTR[((0+24))+rsp],r9 mov r9,r14 - lea rdi,QWORD PTR[rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_mul_montq DB 102,72,15,126,203 DB 102,72,15,126,207 call __ecp_nistz256_sub_fromq - lea rsi,QWORD PTR[((160+56))+rsp] + lea rsi,QWORD PTR[((160+56))+rsp] - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbx,QWORD PTR[((-16))+rsi] + mov rbx,QWORD PTR[((-16))+rsi] - mov rbp,QWORD PTR[((-8))+rsi] + mov rbp,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$point_doubleq_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$point_doubleq_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_point_double:: -ecp_nistz256_point_double ENDP -PUBLIC ecp_nistz256_point_add +$L$SEH_end_ecp_nistz256_point_double:: +ecp_nistz256_point_double ENDP +PUBLIC ecp_nistz256_point_add ALIGN 32 -ecp_nistz256_point_add PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_point_add PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_point_add:: +$L$SEH_begin_ecp_nistz256_point_add:: mov rdi,rcx mov rsi,rdx mov rdx,r8 - mov ecx,080100h - and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] - cmp ecx,080100h - je $L$point_addx + mov ecx,080100h + and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] + cmp ecx,080100h + je $L$point_addx push rbp push rbx @@ -5732,115 +5732,115 @@ $L$SEH_begin_ecp_nistz256_point_add:: sub rsp,32*18+8 -$L$point_addq_body:: +$L$point_addq_body:: - movdqu xmm0,XMMWORD PTR[rsi] - movdqu xmm1,XMMWORD PTR[16+rsi] - movdqu xmm2,XMMWORD PTR[32+rsi] - movdqu xmm3,XMMWORD PTR[48+rsi] - movdqu xmm4,XMMWORD PTR[64+rsi] - movdqu xmm5,XMMWORD PTR[80+rsi] + movdqu xmm0,XMMWORD PTR[rsi] + movdqu xmm1,XMMWORD PTR[16+rsi] + movdqu xmm2,XMMWORD PTR[32+rsi] + movdqu xmm3,XMMWORD PTR[48+rsi] + movdqu xmm4,XMMWORD PTR[64+rsi] + movdqu xmm5,XMMWORD PTR[80+rsi] mov rbx,rsi mov rsi,rdx - movdqa XMMWORD PTR[384+rsp],xmm0 - movdqa XMMWORD PTR[(384+16)+rsp],xmm1 - movdqa XMMWORD PTR[416+rsp],xmm2 - movdqa XMMWORD PTR[(416+16)+rsp],xmm3 - movdqa XMMWORD PTR[448+rsp],xmm4 - movdqa XMMWORD PTR[(448+16)+rsp],xmm5 + movdqa XMMWORD PTR[384+rsp],xmm0 + movdqa XMMWORD PTR[(384+16)+rsp],xmm1 + movdqa XMMWORD PTR[416+rsp],xmm2 + movdqa XMMWORD PTR[(416+16)+rsp],xmm3 + movdqa XMMWORD PTR[448+rsp],xmm4 + movdqa XMMWORD PTR[(448+16)+rsp],xmm5 por xmm5,xmm4 - movdqu xmm0,XMMWORD PTR[rsi] - pshufd xmm3,xmm5,0b1h - movdqu xmm1,XMMWORD PTR[16+rsi] - movdqu xmm2,XMMWORD PTR[32+rsi] + movdqu xmm0,XMMWORD PTR[rsi] + pshufd xmm3,xmm5,0b1h + movdqu xmm1,XMMWORD PTR[16+rsi] + movdqu xmm2,XMMWORD PTR[32+rsi] por xmm5,xmm3 - movdqu xmm3,XMMWORD PTR[48+rsi] - mov rax,QWORD PTR[((64+0))+rsi] - mov r14,QWORD PTR[((64+8))+rsi] - mov r15,QWORD PTR[((64+16))+rsi] - mov r8,QWORD PTR[((64+24))+rsi] - movdqa XMMWORD PTR[480+rsp],xmm0 - pshufd xmm4,xmm5,01eh - movdqa XMMWORD PTR[(480+16)+rsp],xmm1 - movdqu xmm0,XMMWORD PTR[64+rsi] - movdqu xmm1,XMMWORD PTR[80+rsi] - movdqa XMMWORD PTR[512+rsp],xmm2 - movdqa XMMWORD PTR[(512+16)+rsp],xmm3 + movdqu xmm3,XMMWORD PTR[48+rsi] + mov rax,QWORD PTR[((64+0))+rsi] + mov r14,QWORD PTR[((64+8))+rsi] + mov r15,QWORD PTR[((64+16))+rsi] + mov r8,QWORD PTR[((64+24))+rsi] + movdqa XMMWORD PTR[480+rsp],xmm0 + pshufd xmm4,xmm5,01eh + movdqa XMMWORD PTR[(480+16)+rsp],xmm1 + movdqu xmm0,XMMWORD PTR[64+rsi] + movdqu xmm1,XMMWORD PTR[80+rsi] + movdqa XMMWORD PTR[512+rsp],xmm2 + movdqa XMMWORD PTR[(512+16)+rsp],xmm3 por xmm5,xmm4 pxor xmm4,xmm4 por xmm1,xmm0 DB 102,72,15,110,199 - lea rsi,QWORD PTR[((64-0))+rsi] - mov QWORD PTR[((544+0))+rsp],rax - mov QWORD PTR[((544+8))+rsp],r14 - mov QWORD PTR[((544+16))+rsp],r15 - mov QWORD PTR[((544+24))+rsp],r8 - lea rdi,QWORD PTR[96+rsp] + lea rsi,QWORD PTR[((64-0))+rsi] + mov QWORD PTR[((544+0))+rsp],rax + mov QWORD PTR[((544+8))+rsp],r14 + mov QWORD PTR[((544+16))+rsp],r15 + mov QWORD PTR[((544+24))+rsp],r8 + lea rdi,QWORD PTR[96+rsp] call __ecp_nistz256_sqr_montq pcmpeqd xmm5,xmm4 - pshufd xmm4,xmm1,0b1h + pshufd xmm4,xmm1,0b1h por xmm4,xmm1 pshufd xmm5,xmm5,0 - pshufd xmm3,xmm4,01eh + pshufd xmm3,xmm4,01eh por xmm4,xmm3 pxor xmm3,xmm3 pcmpeqd xmm4,xmm3 pshufd xmm4,xmm4,0 - mov rax,QWORD PTR[((64+0))+rbx] - mov r14,QWORD PTR[((64+8))+rbx] - mov r15,QWORD PTR[((64+16))+rbx] - mov r8,QWORD PTR[((64+24))+rbx] + mov rax,QWORD PTR[((64+0))+rbx] + mov r14,QWORD PTR[((64+8))+rbx] + mov r15,QWORD PTR[((64+16))+rbx] + mov r8,QWORD PTR[((64+24))+rbx] DB 102,72,15,110,203 - lea rsi,QWORD PTR[((64-0))+rbx] - lea rdi,QWORD PTR[32+rsp] + lea rsi,QWORD PTR[((64-0))+rbx] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_sqr_montq - mov rax,QWORD PTR[544+rsp] - lea rbx,QWORD PTR[544+rsp] - mov r9,QWORD PTR[((0+96))+rsp] - mov r10,QWORD PTR[((8+96))+rsp] - lea rsi,QWORD PTR[((0+96))+rsp] - mov r11,QWORD PTR[((16+96))+rsp] - mov r12,QWORD PTR[((24+96))+rsp] - lea rdi,QWORD PTR[224+rsp] + mov rax,QWORD PTR[544+rsp] + lea rbx,QWORD PTR[544+rsp] + mov r9,QWORD PTR[((0+96))+rsp] + mov r10,QWORD PTR[((8+96))+rsp] + lea rsi,QWORD PTR[((0+96))+rsp] + mov r11,QWORD PTR[((16+96))+rsp] + mov r12,QWORD PTR[((24+96))+rsp] + lea rdi,QWORD PTR[224+rsp] call __ecp_nistz256_mul_montq - mov rax,QWORD PTR[448+rsp] - lea rbx,QWORD PTR[448+rsp] - mov r9,QWORD PTR[((0+32))+rsp] - mov r10,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((0+32))+rsp] - mov r11,QWORD PTR[((16+32))+rsp] - mov r12,QWORD PTR[((24+32))+rsp] - lea rdi,QWORD PTR[256+rsp] + mov rax,QWORD PTR[448+rsp] + lea rbx,QWORD PTR[448+rsp] + mov r9,QWORD PTR[((0+32))+rsp] + mov r10,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((0+32))+rsp] + mov r11,QWORD PTR[((16+32))+rsp] + mov r12,QWORD PTR[((24+32))+rsp] + lea rdi,QWORD PTR[256+rsp] call __ecp_nistz256_mul_montq - mov rax,QWORD PTR[416+rsp] - lea rbx,QWORD PTR[416+rsp] - mov r9,QWORD PTR[((0+224))+rsp] - mov r10,QWORD PTR[((8+224))+rsp] - lea rsi,QWORD PTR[((0+224))+rsp] - mov r11,QWORD PTR[((16+224))+rsp] - mov r12,QWORD PTR[((24+224))+rsp] - lea rdi,QWORD PTR[224+rsp] + mov rax,QWORD PTR[416+rsp] + lea rbx,QWORD PTR[416+rsp] + mov r9,QWORD PTR[((0+224))+rsp] + mov r10,QWORD PTR[((8+224))+rsp] + lea rsi,QWORD PTR[((0+224))+rsp] + mov r11,QWORD PTR[((16+224))+rsp] + mov r12,QWORD PTR[((24+224))+rsp] + lea rdi,QWORD PTR[224+rsp] call __ecp_nistz256_mul_montq - mov rax,QWORD PTR[512+rsp] - lea rbx,QWORD PTR[512+rsp] - mov r9,QWORD PTR[((0+256))+rsp] - mov r10,QWORD PTR[((8+256))+rsp] - lea rsi,QWORD PTR[((0+256))+rsp] - mov r11,QWORD PTR[((16+256))+rsp] - mov r12,QWORD PTR[((24+256))+rsp] - lea rdi,QWORD PTR[256+rsp] + mov rax,QWORD PTR[512+rsp] + lea rbx,QWORD PTR[512+rsp] + mov r9,QWORD PTR[((0+256))+rsp] + mov r10,QWORD PTR[((8+256))+rsp] + lea rsi,QWORD PTR[((0+256))+rsp] + mov r11,QWORD PTR[((16+256))+rsp] + mov r12,QWORD PTR[((24+256))+rsp] + lea rdi,QWORD PTR[256+rsp] call __ecp_nistz256_mul_montq - lea rbx,QWORD PTR[224+rsp] - lea rdi,QWORD PTR[64+rsp] + lea rbx,QWORD PTR[224+rsp] + lea rdi,QWORD PTR[64+rsp] call __ecp_nistz256_sub_fromq or r12,r13 @@ -5850,28 +5850,28 @@ DB 102,72,15,110,203 por xmm2,xmm5 DB 102,73,15,110,220 - mov rax,QWORD PTR[384+rsp] - lea rbx,QWORD PTR[384+rsp] - mov r9,QWORD PTR[((0+96))+rsp] - mov r10,QWORD PTR[((8+96))+rsp] - lea rsi,QWORD PTR[((0+96))+rsp] - mov r11,QWORD PTR[((16+96))+rsp] - mov r12,QWORD PTR[((24+96))+rsp] - lea rdi,QWORD PTR[160+rsp] + mov rax,QWORD PTR[384+rsp] + lea rbx,QWORD PTR[384+rsp] + mov r9,QWORD PTR[((0+96))+rsp] + mov r10,QWORD PTR[((8+96))+rsp] + lea rsi,QWORD PTR[((0+96))+rsp] + mov r11,QWORD PTR[((16+96))+rsp] + mov r12,QWORD PTR[((24+96))+rsp] + lea rdi,QWORD PTR[160+rsp] call __ecp_nistz256_mul_montq - mov rax,QWORD PTR[480+rsp] - lea rbx,QWORD PTR[480+rsp] - mov r9,QWORD PTR[((0+32))+rsp] - mov r10,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((0+32))+rsp] - mov r11,QWORD PTR[((16+32))+rsp] - mov r12,QWORD PTR[((24+32))+rsp] - lea rdi,QWORD PTR[192+rsp] + mov rax,QWORD PTR[480+rsp] + lea rbx,QWORD PTR[480+rsp] + mov r9,QWORD PTR[((0+32))+rsp] + mov r10,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((0+32))+rsp] + mov r11,QWORD PTR[((16+32))+rsp] + mov r12,QWORD PTR[((24+32))+rsp] + lea rdi,QWORD PTR[192+rsp] call __ecp_nistz256_mul_montq - lea rbx,QWORD PTR[160+rsp] - lea rdi,QWORD PTR[rsp] + lea rbx,QWORD PTR[160+rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_sub_fromq or r12,r13 @@ -5881,77 +5881,77 @@ DB 102,73,15,110,220 DB 102,73,15,126,208 DB 102,73,15,126,217 - or r12,r8 - or r12,r9 + or r12,r8 + or r12,r9 + - -DB 03eh - jnz $L$add_proceedq - -$L$add_doubleq:: +DB 03eh + jnz $L$add_proceedq + +$L$add_doubleq:: DB 102,72,15,126,206 DB 102,72,15,126,199 add rsp,416 - jmp $L$point_double_shortcutq + jmp $L$point_double_shortcutq ALIGN 32 -$L$add_proceedq:: - mov rax,QWORD PTR[((0+64))+rsp] - mov r14,QWORD PTR[((8+64))+rsp] - lea rsi,QWORD PTR[((0+64))+rsp] - mov r15,QWORD PTR[((16+64))+rsp] - mov r8,QWORD PTR[((24+64))+rsp] - lea rdi,QWORD PTR[96+rsp] +$L$add_proceedq:: + mov rax,QWORD PTR[((0+64))+rsp] + mov r14,QWORD PTR[((8+64))+rsp] + lea rsi,QWORD PTR[((0+64))+rsp] + mov r15,QWORD PTR[((16+64))+rsp] + mov r8,QWORD PTR[((24+64))+rsp] + lea rdi,QWORD PTR[96+rsp] call __ecp_nistz256_sqr_montq - mov rax,QWORD PTR[448+rsp] - lea rbx,QWORD PTR[448+rsp] - mov r9,QWORD PTR[((0+0))+rsp] - mov r10,QWORD PTR[((8+0))+rsp] - lea rsi,QWORD PTR[((0+0))+rsp] - mov r11,QWORD PTR[((16+0))+rsp] - mov r12,QWORD PTR[((24+0))+rsp] - lea rdi,QWORD PTR[352+rsp] + mov rax,QWORD PTR[448+rsp] + lea rbx,QWORD PTR[448+rsp] + mov r9,QWORD PTR[((0+0))+rsp] + mov r10,QWORD PTR[((8+0))+rsp] + lea rsi,QWORD PTR[((0+0))+rsp] + mov r11,QWORD PTR[((16+0))+rsp] + mov r12,QWORD PTR[((24+0))+rsp] + lea rdi,QWORD PTR[352+rsp] call __ecp_nistz256_mul_montq - mov rax,QWORD PTR[((0+0))+rsp] - mov r14,QWORD PTR[((8+0))+rsp] - lea rsi,QWORD PTR[((0+0))+rsp] - mov r15,QWORD PTR[((16+0))+rsp] - mov r8,QWORD PTR[((24+0))+rsp] - lea rdi,QWORD PTR[32+rsp] + mov rax,QWORD PTR[((0+0))+rsp] + mov r14,QWORD PTR[((8+0))+rsp] + lea rsi,QWORD PTR[((0+0))+rsp] + mov r15,QWORD PTR[((16+0))+rsp] + mov r8,QWORD PTR[((24+0))+rsp] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_sqr_montq - mov rax,QWORD PTR[544+rsp] - lea rbx,QWORD PTR[544+rsp] - mov r9,QWORD PTR[((0+352))+rsp] - mov r10,QWORD PTR[((8+352))+rsp] - lea rsi,QWORD PTR[((0+352))+rsp] - mov r11,QWORD PTR[((16+352))+rsp] - mov r12,QWORD PTR[((24+352))+rsp] - lea rdi,QWORD PTR[352+rsp] + mov rax,QWORD PTR[544+rsp] + lea rbx,QWORD PTR[544+rsp] + mov r9,QWORD PTR[((0+352))+rsp] + mov r10,QWORD PTR[((8+352))+rsp] + lea rsi,QWORD PTR[((0+352))+rsp] + mov r11,QWORD PTR[((16+352))+rsp] + mov r12,QWORD PTR[((24+352))+rsp] + lea rdi,QWORD PTR[352+rsp] call __ecp_nistz256_mul_montq - mov rax,QWORD PTR[rsp] - lea rbx,QWORD PTR[rsp] - mov r9,QWORD PTR[((0+32))+rsp] - mov r10,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((0+32))+rsp] - mov r11,QWORD PTR[((16+32))+rsp] - mov r12,QWORD PTR[((24+32))+rsp] - lea rdi,QWORD PTR[128+rsp] + mov rax,QWORD PTR[rsp] + lea rbx,QWORD PTR[rsp] + mov r9,QWORD PTR[((0+32))+rsp] + mov r10,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((0+32))+rsp] + mov r11,QWORD PTR[((16+32))+rsp] + mov r12,QWORD PTR[((24+32))+rsp] + lea rdi,QWORD PTR[128+rsp] call __ecp_nistz256_mul_montq - mov rax,QWORD PTR[160+rsp] - lea rbx,QWORD PTR[160+rsp] - mov r9,QWORD PTR[((0+32))+rsp] - mov r10,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((0+32))+rsp] - mov r11,QWORD PTR[((16+32))+rsp] - mov r12,QWORD PTR[((24+32))+rsp] - lea rdi,QWORD PTR[192+rsp] + mov rax,QWORD PTR[160+rsp] + lea rbx,QWORD PTR[160+rsp] + mov r9,QWORD PTR[((0+32))+rsp] + mov r10,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((0+32))+rsp] + mov r11,QWORD PTR[((16+32))+rsp] + mov r12,QWORD PTR[((24+32))+rsp] + lea rdi,QWORD PTR[192+rsp] call __ecp_nistz256_mul_montq @@ -5959,7 +5959,7 @@ $L$add_proceedq:: xor r11,r11 add r12,r12 - lea rsi,QWORD PTR[96+rsp] + lea rsi,QWORD PTR[96+rsp] adc r13,r13 mov rax,r12 adc r8,r8 @@ -5976,66 +5976,66 @@ $L$add_proceedq:: sbb r11,0 cmovc r12,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] cmovc r13,rbp - mov rbp,QWORD PTR[8+rsi] + mov rbp,QWORD PTR[8+rsi] cmovc r8,rcx - mov rcx,QWORD PTR[16+rsi] + mov rcx,QWORD PTR[16+rsi] cmovc r9,r10 - mov r10,QWORD PTR[24+rsi] + mov r10,QWORD PTR[24+rsi] call __ecp_nistz256_subq - lea rbx,QWORD PTR[128+rsp] - lea rdi,QWORD PTR[288+rsp] + lea rbx,QWORD PTR[128+rsp] + lea rdi,QWORD PTR[288+rsp] call __ecp_nistz256_sub_fromq - mov rax,QWORD PTR[((192+0))+rsp] - mov rbp,QWORD PTR[((192+8))+rsp] - mov rcx,QWORD PTR[((192+16))+rsp] - mov r10,QWORD PTR[((192+24))+rsp] - lea rdi,QWORD PTR[320+rsp] + mov rax,QWORD PTR[((192+0))+rsp] + mov rbp,QWORD PTR[((192+8))+rsp] + mov rcx,QWORD PTR[((192+16))+rsp] + mov r10,QWORD PTR[((192+24))+rsp] + lea rdi,QWORD PTR[320+rsp] call __ecp_nistz256_subq - mov QWORD PTR[rdi],r12 - mov QWORD PTR[8+rdi],r13 - mov QWORD PTR[16+rdi],r8 - mov QWORD PTR[24+rdi],r9 - mov rax,QWORD PTR[128+rsp] - lea rbx,QWORD PTR[128+rsp] - mov r9,QWORD PTR[((0+224))+rsp] - mov r10,QWORD PTR[((8+224))+rsp] - lea rsi,QWORD PTR[((0+224))+rsp] - mov r11,QWORD PTR[((16+224))+rsp] - mov r12,QWORD PTR[((24+224))+rsp] - lea rdi,QWORD PTR[256+rsp] + mov QWORD PTR[rdi],r12 + mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[16+rdi],r8 + mov QWORD PTR[24+rdi],r9 + mov rax,QWORD PTR[128+rsp] + lea rbx,QWORD PTR[128+rsp] + mov r9,QWORD PTR[((0+224))+rsp] + mov r10,QWORD PTR[((8+224))+rsp] + lea rsi,QWORD PTR[((0+224))+rsp] + mov r11,QWORD PTR[((16+224))+rsp] + mov r12,QWORD PTR[((24+224))+rsp] + lea rdi,QWORD PTR[256+rsp] call __ecp_nistz256_mul_montq - mov rax,QWORD PTR[320+rsp] - lea rbx,QWORD PTR[320+rsp] - mov r9,QWORD PTR[((0+64))+rsp] - mov r10,QWORD PTR[((8+64))+rsp] - lea rsi,QWORD PTR[((0+64))+rsp] - mov r11,QWORD PTR[((16+64))+rsp] - mov r12,QWORD PTR[((24+64))+rsp] - lea rdi,QWORD PTR[320+rsp] + mov rax,QWORD PTR[320+rsp] + lea rbx,QWORD PTR[320+rsp] + mov r9,QWORD PTR[((0+64))+rsp] + mov r10,QWORD PTR[((8+64))+rsp] + lea rsi,QWORD PTR[((0+64))+rsp] + mov r11,QWORD PTR[((16+64))+rsp] + mov r12,QWORD PTR[((24+64))+rsp] + lea rdi,QWORD PTR[320+rsp] call __ecp_nistz256_mul_montq - lea rbx,QWORD PTR[256+rsp] - lea rdi,QWORD PTR[320+rsp] + lea rbx,QWORD PTR[256+rsp] + lea rdi,QWORD PTR[320+rsp] call __ecp_nistz256_sub_fromq DB 102,72,15,126,199 movdqa xmm0,xmm5 movdqa xmm1,xmm5 - pandn xmm0,XMMWORD PTR[352+rsp] + pandn xmm0,XMMWORD PTR[352+rsp] movdqa xmm2,xmm5 - pandn xmm1,XMMWORD PTR[((352+16))+rsp] + pandn xmm1,XMMWORD PTR[((352+16))+rsp] movdqa xmm3,xmm5 - pand xmm2,XMMWORD PTR[544+rsp] - pand xmm3,XMMWORD PTR[((544+16))+rsp] + pand xmm2,XMMWORD PTR[544+rsp] + pand xmm3,XMMWORD PTR[((544+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 @@ -6045,21 +6045,21 @@ DB 102,72,15,126,199 movdqa xmm2,xmm4 pandn xmm1,xmm3 movdqa xmm3,xmm4 - pand xmm2,XMMWORD PTR[448+rsp] - pand xmm3,XMMWORD PTR[((448+16))+rsp] + pand xmm2,XMMWORD PTR[448+rsp] + pand xmm3,XMMWORD PTR[((448+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 - movdqu XMMWORD PTR[64+rdi],xmm2 - movdqu XMMWORD PTR[80+rdi],xmm3 + movdqu XMMWORD PTR[64+rdi],xmm2 + movdqu XMMWORD PTR[80+rdi],xmm3 movdqa xmm0,xmm5 movdqa xmm1,xmm5 - pandn xmm0,XMMWORD PTR[288+rsp] + pandn xmm0,XMMWORD PTR[288+rsp] movdqa xmm2,xmm5 - pandn xmm1,XMMWORD PTR[((288+16))+rsp] + pandn xmm1,XMMWORD PTR[((288+16))+rsp] movdqa xmm3,xmm5 - pand xmm2,XMMWORD PTR[480+rsp] - pand xmm3,XMMWORD PTR[((480+16))+rsp] + pand xmm2,XMMWORD PTR[480+rsp] + pand xmm3,XMMWORD PTR[((480+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 @@ -6069,21 +6069,21 @@ DB 102,72,15,126,199 movdqa xmm2,xmm4 pandn xmm1,xmm3 movdqa xmm3,xmm4 - pand xmm2,XMMWORD PTR[384+rsp] - pand xmm3,XMMWORD PTR[((384+16))+rsp] + pand xmm2,XMMWORD PTR[384+rsp] + pand xmm3,XMMWORD PTR[((384+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 - movdqu XMMWORD PTR[rdi],xmm2 - movdqu XMMWORD PTR[16+rdi],xmm3 + movdqu XMMWORD PTR[rdi],xmm2 + movdqu XMMWORD PTR[16+rdi],xmm3 movdqa xmm0,xmm5 movdqa xmm1,xmm5 - pandn xmm0,XMMWORD PTR[320+rsp] + pandn xmm0,XMMWORD PTR[320+rsp] movdqa xmm2,xmm5 - pandn xmm1,XMMWORD PTR[((320+16))+rsp] + pandn xmm1,XMMWORD PTR[((320+16))+rsp] movdqa xmm3,xmm5 - pand xmm2,XMMWORD PTR[512+rsp] - pand xmm3,XMMWORD PTR[((512+16))+rsp] + pand xmm2,XMMWORD PTR[512+rsp] + pand xmm3,XMMWORD PTR[((512+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 @@ -6093,55 +6093,55 @@ DB 102,72,15,126,199 movdqa xmm2,xmm4 pandn xmm1,xmm3 movdqa xmm3,xmm4 - pand xmm2,XMMWORD PTR[416+rsp] - pand xmm3,XMMWORD PTR[((416+16))+rsp] + pand xmm2,XMMWORD PTR[416+rsp] + pand xmm3,XMMWORD PTR[((416+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 - movdqu XMMWORD PTR[32+rdi],xmm2 - movdqu XMMWORD PTR[48+rdi],xmm3 + movdqu XMMWORD PTR[32+rdi],xmm2 + movdqu XMMWORD PTR[48+rdi],xmm3 -$L$add_doneq:: - lea rsi,QWORD PTR[((576+56))+rsp] +$L$add_doneq:: + lea rsi,QWORD PTR[((576+56))+rsp] - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbx,QWORD PTR[((-16))+rsi] + mov rbx,QWORD PTR[((-16))+rsi] - mov rbp,QWORD PTR[((-8))+rsi] + mov rbp,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$point_addq_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$point_addq_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_point_add:: -ecp_nistz256_point_add ENDP -PUBLIC ecp_nistz256_point_add_affine +$L$SEH_end_ecp_nistz256_point_add:: +ecp_nistz256_point_add ENDP +PUBLIC ecp_nistz256_point_add_affine ALIGN 32 -ecp_nistz256_point_add_affine PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_point_add_affine PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_point_add_affine:: +$L$SEH_begin_ecp_nistz256_point_add_affine:: mov rdi,rcx mov rsi,rdx mov rdx,r8 - mov ecx,080100h - and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] - cmp ecx,080100h - je $L$point_add_affinex + mov ecx,080100h + and ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] + cmp ecx,080100h + je $L$point_add_affinex push rbp push rbx @@ -6156,57 +6156,57 @@ $L$SEH_begin_ecp_nistz256_point_add_affine:: sub rsp,32*15+8 -$L$add_affineq_body:: +$L$add_affineq_body:: - movdqu xmm0,XMMWORD PTR[rsi] + movdqu xmm0,XMMWORD PTR[rsi] mov rbx,rdx - movdqu xmm1,XMMWORD PTR[16+rsi] - movdqu xmm2,XMMWORD PTR[32+rsi] - movdqu xmm3,XMMWORD PTR[48+rsi] - movdqu xmm4,XMMWORD PTR[64+rsi] - movdqu xmm5,XMMWORD PTR[80+rsi] - mov rax,QWORD PTR[((64+0))+rsi] - mov r14,QWORD PTR[((64+8))+rsi] - mov r15,QWORD PTR[((64+16))+rsi] - mov r8,QWORD PTR[((64+24))+rsi] - movdqa XMMWORD PTR[320+rsp],xmm0 - movdqa XMMWORD PTR[(320+16)+rsp],xmm1 - movdqa XMMWORD PTR[352+rsp],xmm2 - movdqa XMMWORD PTR[(352+16)+rsp],xmm3 - movdqa XMMWORD PTR[384+rsp],xmm4 - movdqa XMMWORD PTR[(384+16)+rsp],xmm5 + movdqu xmm1,XMMWORD PTR[16+rsi] + movdqu xmm2,XMMWORD PTR[32+rsi] + movdqu xmm3,XMMWORD PTR[48+rsi] + movdqu xmm4,XMMWORD PTR[64+rsi] + movdqu xmm5,XMMWORD PTR[80+rsi] + mov rax,QWORD PTR[((64+0))+rsi] + mov r14,QWORD PTR[((64+8))+rsi] + mov r15,QWORD PTR[((64+16))+rsi] + mov r8,QWORD PTR[((64+24))+rsi] + movdqa XMMWORD PTR[320+rsp],xmm0 + movdqa XMMWORD PTR[(320+16)+rsp],xmm1 + movdqa XMMWORD PTR[352+rsp],xmm2 + movdqa XMMWORD PTR[(352+16)+rsp],xmm3 + movdqa XMMWORD PTR[384+rsp],xmm4 + movdqa XMMWORD PTR[(384+16)+rsp],xmm5 por xmm5,xmm4 - movdqu xmm0,XMMWORD PTR[rbx] - pshufd xmm3,xmm5,0b1h - movdqu xmm1,XMMWORD PTR[16+rbx] - movdqu xmm2,XMMWORD PTR[32+rbx] + movdqu xmm0,XMMWORD PTR[rbx] + pshufd xmm3,xmm5,0b1h + movdqu xmm1,XMMWORD PTR[16+rbx] + movdqu xmm2,XMMWORD PTR[32+rbx] por xmm5,xmm3 - movdqu xmm3,XMMWORD PTR[48+rbx] - movdqa XMMWORD PTR[416+rsp],xmm0 - pshufd xmm4,xmm5,01eh - movdqa XMMWORD PTR[(416+16)+rsp],xmm1 + movdqu xmm3,XMMWORD PTR[48+rbx] + movdqa XMMWORD PTR[416+rsp],xmm0 + pshufd xmm4,xmm5,01eh + movdqa XMMWORD PTR[(416+16)+rsp],xmm1 por xmm1,xmm0 DB 102,72,15,110,199 - movdqa XMMWORD PTR[448+rsp],xmm2 - movdqa XMMWORD PTR[(448+16)+rsp],xmm3 + movdqa XMMWORD PTR[448+rsp],xmm2 + movdqa XMMWORD PTR[(448+16)+rsp],xmm3 por xmm3,xmm2 por xmm5,xmm4 pxor xmm4,xmm4 por xmm3,xmm1 - lea rsi,QWORD PTR[((64-0))+rsi] - lea rdi,QWORD PTR[32+rsp] + lea rsi,QWORD PTR[((64-0))+rsi] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_sqr_montq pcmpeqd xmm5,xmm4 - pshufd xmm4,xmm3,0b1h - mov rax,QWORD PTR[rbx] + pshufd xmm4,xmm3,0b1h + mov rax,QWORD PTR[rbx] mov r9,r12 por xmm4,xmm3 pshufd xmm5,xmm5,0 - pshufd xmm3,xmm4,01eh + pshufd xmm3,xmm4,01eh mov r10,r13 por xmm4,xmm3 pxor xmm3,xmm3 @@ -6214,83 +6214,83 @@ DB 102,72,15,110,199 pcmpeqd xmm4,xmm3 pshufd xmm4,xmm4,0 - lea rsi,QWORD PTR[((32-0))+rsp] + lea rsi,QWORD PTR[((32-0))+rsp] mov r12,r15 - lea rdi,QWORD PTR[rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_mul_montq - lea rbx,QWORD PTR[320+rsp] - lea rdi,QWORD PTR[64+rsp] + lea rbx,QWORD PTR[320+rsp] + lea rdi,QWORD PTR[64+rsp] call __ecp_nistz256_sub_fromq - mov rax,QWORD PTR[384+rsp] - lea rbx,QWORD PTR[384+rsp] - mov r9,QWORD PTR[((0+32))+rsp] - mov r10,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((0+32))+rsp] - mov r11,QWORD PTR[((16+32))+rsp] - mov r12,QWORD PTR[((24+32))+rsp] - lea rdi,QWORD PTR[32+rsp] + mov rax,QWORD PTR[384+rsp] + lea rbx,QWORD PTR[384+rsp] + mov r9,QWORD PTR[((0+32))+rsp] + mov r10,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((0+32))+rsp] + mov r11,QWORD PTR[((16+32))+rsp] + mov r12,QWORD PTR[((24+32))+rsp] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_mul_montq - mov rax,QWORD PTR[384+rsp] - lea rbx,QWORD PTR[384+rsp] - mov r9,QWORD PTR[((0+64))+rsp] - mov r10,QWORD PTR[((8+64))+rsp] - lea rsi,QWORD PTR[((0+64))+rsp] - mov r11,QWORD PTR[((16+64))+rsp] - mov r12,QWORD PTR[((24+64))+rsp] - lea rdi,QWORD PTR[288+rsp] + mov rax,QWORD PTR[384+rsp] + lea rbx,QWORD PTR[384+rsp] + mov r9,QWORD PTR[((0+64))+rsp] + mov r10,QWORD PTR[((8+64))+rsp] + lea rsi,QWORD PTR[((0+64))+rsp] + mov r11,QWORD PTR[((16+64))+rsp] + mov r12,QWORD PTR[((24+64))+rsp] + lea rdi,QWORD PTR[288+rsp] call __ecp_nistz256_mul_montq - mov rax,QWORD PTR[448+rsp] - lea rbx,QWORD PTR[448+rsp] - mov r9,QWORD PTR[((0+32))+rsp] - mov r10,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((0+32))+rsp] - mov r11,QWORD PTR[((16+32))+rsp] - mov r12,QWORD PTR[((24+32))+rsp] - lea rdi,QWORD PTR[32+rsp] + mov rax,QWORD PTR[448+rsp] + lea rbx,QWORD PTR[448+rsp] + mov r9,QWORD PTR[((0+32))+rsp] + mov r10,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((0+32))+rsp] + mov r11,QWORD PTR[((16+32))+rsp] + mov r12,QWORD PTR[((24+32))+rsp] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_mul_montq - lea rbx,QWORD PTR[352+rsp] - lea rdi,QWORD PTR[96+rsp] + lea rbx,QWORD PTR[352+rsp] + lea rdi,QWORD PTR[96+rsp] call __ecp_nistz256_sub_fromq - mov rax,QWORD PTR[((0+64))+rsp] - mov r14,QWORD PTR[((8+64))+rsp] - lea rsi,QWORD PTR[((0+64))+rsp] - mov r15,QWORD PTR[((16+64))+rsp] - mov r8,QWORD PTR[((24+64))+rsp] - lea rdi,QWORD PTR[128+rsp] + mov rax,QWORD PTR[((0+64))+rsp] + mov r14,QWORD PTR[((8+64))+rsp] + lea rsi,QWORD PTR[((0+64))+rsp] + mov r15,QWORD PTR[((16+64))+rsp] + mov r8,QWORD PTR[((24+64))+rsp] + lea rdi,QWORD PTR[128+rsp] call __ecp_nistz256_sqr_montq - mov rax,QWORD PTR[((0+96))+rsp] - mov r14,QWORD PTR[((8+96))+rsp] - lea rsi,QWORD PTR[((0+96))+rsp] - mov r15,QWORD PTR[((16+96))+rsp] - mov r8,QWORD PTR[((24+96))+rsp] - lea rdi,QWORD PTR[192+rsp] + mov rax,QWORD PTR[((0+96))+rsp] + mov r14,QWORD PTR[((8+96))+rsp] + lea rsi,QWORD PTR[((0+96))+rsp] + mov r15,QWORD PTR[((16+96))+rsp] + mov r8,QWORD PTR[((24+96))+rsp] + lea rdi,QWORD PTR[192+rsp] call __ecp_nistz256_sqr_montq - mov rax,QWORD PTR[128+rsp] - lea rbx,QWORD PTR[128+rsp] - mov r9,QWORD PTR[((0+64))+rsp] - mov r10,QWORD PTR[((8+64))+rsp] - lea rsi,QWORD PTR[((0+64))+rsp] - mov r11,QWORD PTR[((16+64))+rsp] - mov r12,QWORD PTR[((24+64))+rsp] - lea rdi,QWORD PTR[160+rsp] + mov rax,QWORD PTR[128+rsp] + lea rbx,QWORD PTR[128+rsp] + mov r9,QWORD PTR[((0+64))+rsp] + mov r10,QWORD PTR[((8+64))+rsp] + lea rsi,QWORD PTR[((0+64))+rsp] + mov r11,QWORD PTR[((16+64))+rsp] + mov r12,QWORD PTR[((24+64))+rsp] + lea rdi,QWORD PTR[160+rsp] call __ecp_nistz256_mul_montq - mov rax,QWORD PTR[320+rsp] - lea rbx,QWORD PTR[320+rsp] - mov r9,QWORD PTR[((0+128))+rsp] - mov r10,QWORD PTR[((8+128))+rsp] - lea rsi,QWORD PTR[((0+128))+rsp] - mov r11,QWORD PTR[((16+128))+rsp] - mov r12,QWORD PTR[((24+128))+rsp] - lea rdi,QWORD PTR[rsp] + mov rax,QWORD PTR[320+rsp] + lea rbx,QWORD PTR[320+rsp] + mov r9,QWORD PTR[((0+128))+rsp] + mov r10,QWORD PTR[((8+128))+rsp] + lea rsi,QWORD PTR[((0+128))+rsp] + mov r11,QWORD PTR[((16+128))+rsp] + mov r12,QWORD PTR[((24+128))+rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_mul_montq @@ -6298,7 +6298,7 @@ DB 102,72,15,110,199 xor r11,r11 add r12,r12 - lea rsi,QWORD PTR[192+rsp] + lea rsi,QWORD PTR[192+rsp] adc r13,r13 mov rax,r12 adc r8,r8 @@ -6315,66 +6315,66 @@ DB 102,72,15,110,199 sbb r11,0 cmovc r12,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] cmovc r13,rbp - mov rbp,QWORD PTR[8+rsi] + mov rbp,QWORD PTR[8+rsi] cmovc r8,rcx - mov rcx,QWORD PTR[16+rsi] + mov rcx,QWORD PTR[16+rsi] cmovc r9,r10 - mov r10,QWORD PTR[24+rsi] + mov r10,QWORD PTR[24+rsi] call __ecp_nistz256_subq - lea rbx,QWORD PTR[160+rsp] - lea rdi,QWORD PTR[224+rsp] + lea rbx,QWORD PTR[160+rsp] + lea rdi,QWORD PTR[224+rsp] call __ecp_nistz256_sub_fromq - mov rax,QWORD PTR[((0+0))+rsp] - mov rbp,QWORD PTR[((0+8))+rsp] - mov rcx,QWORD PTR[((0+16))+rsp] - mov r10,QWORD PTR[((0+24))+rsp] - lea rdi,QWORD PTR[64+rsp] + mov rax,QWORD PTR[((0+0))+rsp] + mov rbp,QWORD PTR[((0+8))+rsp] + mov rcx,QWORD PTR[((0+16))+rsp] + mov r10,QWORD PTR[((0+24))+rsp] + lea rdi,QWORD PTR[64+rsp] call __ecp_nistz256_subq - mov QWORD PTR[rdi],r12 - mov QWORD PTR[8+rdi],r13 - mov QWORD PTR[16+rdi],r8 - mov QWORD PTR[24+rdi],r9 - mov rax,QWORD PTR[352+rsp] - lea rbx,QWORD PTR[352+rsp] - mov r9,QWORD PTR[((0+160))+rsp] - mov r10,QWORD PTR[((8+160))+rsp] - lea rsi,QWORD PTR[((0+160))+rsp] - mov r11,QWORD PTR[((16+160))+rsp] - mov r12,QWORD PTR[((24+160))+rsp] - lea rdi,QWORD PTR[32+rsp] + mov QWORD PTR[rdi],r12 + mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[16+rdi],r8 + mov QWORD PTR[24+rdi],r9 + mov rax,QWORD PTR[352+rsp] + lea rbx,QWORD PTR[352+rsp] + mov r9,QWORD PTR[((0+160))+rsp] + mov r10,QWORD PTR[((8+160))+rsp] + lea rsi,QWORD PTR[((0+160))+rsp] + mov r11,QWORD PTR[((16+160))+rsp] + mov r12,QWORD PTR[((24+160))+rsp] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_mul_montq - mov rax,QWORD PTR[96+rsp] - lea rbx,QWORD PTR[96+rsp] - mov r9,QWORD PTR[((0+64))+rsp] - mov r10,QWORD PTR[((8+64))+rsp] - lea rsi,QWORD PTR[((0+64))+rsp] - mov r11,QWORD PTR[((16+64))+rsp] - mov r12,QWORD PTR[((24+64))+rsp] - lea rdi,QWORD PTR[64+rsp] + mov rax,QWORD PTR[96+rsp] + lea rbx,QWORD PTR[96+rsp] + mov r9,QWORD PTR[((0+64))+rsp] + mov r10,QWORD PTR[((8+64))+rsp] + lea rsi,QWORD PTR[((0+64))+rsp] + mov r11,QWORD PTR[((16+64))+rsp] + mov r12,QWORD PTR[((24+64))+rsp] + lea rdi,QWORD PTR[64+rsp] call __ecp_nistz256_mul_montq - lea rbx,QWORD PTR[32+rsp] - lea rdi,QWORD PTR[256+rsp] + lea rbx,QWORD PTR[32+rsp] + lea rdi,QWORD PTR[256+rsp] call __ecp_nistz256_sub_fromq DB 102,72,15,126,199 movdqa xmm0,xmm5 movdqa xmm1,xmm5 - pandn xmm0,XMMWORD PTR[288+rsp] + pandn xmm0,XMMWORD PTR[288+rsp] movdqa xmm2,xmm5 - pandn xmm1,XMMWORD PTR[((288+16))+rsp] + pandn xmm1,XMMWORD PTR[((288+16))+rsp] movdqa xmm3,xmm5 - pand xmm2,XMMWORD PTR[$L$ONE_mont] - pand xmm3,XMMWORD PTR[(($L$ONE_mont+16))] + pand xmm2,XMMWORD PTR[$L$ONE_mont] + pand xmm3,XMMWORD PTR[(($L$ONE_mont+16))] por xmm2,xmm0 por xmm3,xmm1 @@ -6384,21 +6384,21 @@ DB 102,72,15,126,199 movdqa xmm2,xmm4 pandn xmm1,xmm3 movdqa xmm3,xmm4 - pand xmm2,XMMWORD PTR[384+rsp] - pand xmm3,XMMWORD PTR[((384+16))+rsp] + pand xmm2,XMMWORD PTR[384+rsp] + pand xmm3,XMMWORD PTR[((384+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 - movdqu XMMWORD PTR[64+rdi],xmm2 - movdqu XMMWORD PTR[80+rdi],xmm3 + movdqu XMMWORD PTR[64+rdi],xmm2 + movdqu XMMWORD PTR[80+rdi],xmm3 movdqa xmm0,xmm5 movdqa xmm1,xmm5 - pandn xmm0,XMMWORD PTR[224+rsp] + pandn xmm0,XMMWORD PTR[224+rsp] movdqa xmm2,xmm5 - pandn xmm1,XMMWORD PTR[((224+16))+rsp] + pandn xmm1,XMMWORD PTR[((224+16))+rsp] movdqa xmm3,xmm5 - pand xmm2,XMMWORD PTR[416+rsp] - pand xmm3,XMMWORD PTR[((416+16))+rsp] + pand xmm2,XMMWORD PTR[416+rsp] + pand xmm3,XMMWORD PTR[((416+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 @@ -6408,21 +6408,21 @@ DB 102,72,15,126,199 movdqa xmm2,xmm4 pandn xmm1,xmm3 movdqa xmm3,xmm4 - pand xmm2,XMMWORD PTR[320+rsp] - pand xmm3,XMMWORD PTR[((320+16))+rsp] + pand xmm2,XMMWORD PTR[320+rsp] + pand xmm3,XMMWORD PTR[((320+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 - movdqu XMMWORD PTR[rdi],xmm2 - movdqu XMMWORD PTR[16+rdi],xmm3 + movdqu XMMWORD PTR[rdi],xmm2 + movdqu XMMWORD PTR[16+rdi],xmm3 movdqa xmm0,xmm5 movdqa xmm1,xmm5 - pandn xmm0,XMMWORD PTR[256+rsp] + pandn xmm0,XMMWORD PTR[256+rsp] movdqa xmm2,xmm5 - pandn xmm1,XMMWORD PTR[((256+16))+rsp] + pandn xmm1,XMMWORD PTR[((256+16))+rsp] movdqa xmm3,xmm5 - pand xmm2,XMMWORD PTR[448+rsp] - pand xmm3,XMMWORD PTR[((448+16))+rsp] + pand xmm2,XMMWORD PTR[448+rsp] + pand xmm3,XMMWORD PTR[((448+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 @@ -6432,46 +6432,46 @@ DB 102,72,15,126,199 movdqa xmm2,xmm4 pandn xmm1,xmm3 movdqa xmm3,xmm4 - pand xmm2,XMMWORD PTR[352+rsp] - pand xmm3,XMMWORD PTR[((352+16))+rsp] + pand xmm2,XMMWORD PTR[352+rsp] + pand xmm3,XMMWORD PTR[((352+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 - movdqu XMMWORD PTR[32+rdi],xmm2 - movdqu XMMWORD PTR[48+rdi],xmm3 + movdqu XMMWORD PTR[32+rdi],xmm2 + movdqu XMMWORD PTR[48+rdi],xmm3 - lea rsi,QWORD PTR[((480+56))+rsp] + lea rsi,QWORD PTR[((480+56))+rsp] - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbx,QWORD PTR[((-16))+rsi] + mov rbx,QWORD PTR[((-16))+rsi] - mov rbp,QWORD PTR[((-8))+rsi] + mov rbp,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$add_affineq_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$add_affineq_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_point_add_affine:: -ecp_nistz256_point_add_affine ENDP +$L$SEH_end_ecp_nistz256_point_add_affine:: +ecp_nistz256_point_add_affine ENDP ALIGN 32 -__ecp_nistz256_add_tox PROC PRIVATE +__ecp_nistz256_add_tox PROC PRIVATE xor r11,r11 - adc r12,QWORD PTR[rbx] - adc r13,QWORD PTR[8+rbx] + adc r12,QWORD PTR[rbx] + adc r13,QWORD PTR[8+rbx] mov rax,r12 - adc r8,QWORD PTR[16+rbx] - adc r9,QWORD PTR[24+rbx] + adc r8,QWORD PTR[16+rbx] + adc r9,QWORD PTR[24+rbx] mov rbp,r13 adc r11,0 @@ -6486,27 +6486,27 @@ __ecp_nistz256_add_tox PROC PRIVATE cmovc r12,rax cmovc r13,rbp - mov QWORD PTR[rdi],r12 + mov QWORD PTR[rdi],r12 cmovc r8,rcx - mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[8+rdi],r13 cmovc r9,r10 - mov QWORD PTR[16+rdi],r8 - mov QWORD PTR[24+rdi],r9 + mov QWORD PTR[16+rdi],r8 + mov QWORD PTR[24+rdi],r9 DB 0F3h,0C3h ;repret -__ecp_nistz256_add_tox ENDP +__ecp_nistz256_add_tox ENDP ALIGN 32 -__ecp_nistz256_sub_fromx PROC PRIVATE +__ecp_nistz256_sub_fromx PROC PRIVATE xor r11,r11 - sbb r12,QWORD PTR[rbx] - sbb r13,QWORD PTR[8+rbx] + sbb r12,QWORD PTR[rbx] + sbb r13,QWORD PTR[8+rbx] mov rax,r12 - sbb r8,QWORD PTR[16+rbx] - sbb r9,QWORD PTR[24+rbx] + sbb r8,QWORD PTR[16+rbx] + sbb r9,QWORD PTR[24+rbx] mov rbp,r13 sbb r11,0 @@ -6521,20 +6521,20 @@ __ecp_nistz256_sub_fromx PROC PRIVATE bt r11,0 cmovnc r12,rax cmovnc r13,rbp - mov QWORD PTR[rdi],r12 + mov QWORD PTR[rdi],r12 cmovnc r8,rcx - mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[8+rdi],r13 cmovnc r9,r10 - mov QWORD PTR[16+rdi],r8 - mov QWORD PTR[24+rdi],r9 + mov QWORD PTR[16+rdi],r8 + mov QWORD PTR[24+rdi],r9 DB 0F3h,0C3h ;repret -__ecp_nistz256_sub_fromx ENDP +__ecp_nistz256_sub_fromx ENDP ALIGN 32 -__ecp_nistz256_subx PROC PRIVATE +__ecp_nistz256_subx PROC PRIVATE xor r11,r11 sbb rax,r12 @@ -6561,11 +6561,11 @@ __ecp_nistz256_subx PROC PRIVATE DB 0F3h,0C3h ;repret -__ecp_nistz256_subx ENDP +__ecp_nistz256_subx ENDP ALIGN 32 -__ecp_nistz256_mul_by_2x PROC PRIVATE +__ecp_nistz256_mul_by_2x PROC PRIVATE xor r11,r11 adc r12,r12 @@ -6587,29 +6587,29 @@ __ecp_nistz256_mul_by_2x PROC PRIVATE cmovc r12,rax cmovc r13,rbp - mov QWORD PTR[rdi],r12 + mov QWORD PTR[rdi],r12 cmovc r8,rcx - mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[8+rdi],r13 cmovc r9,r10 - mov QWORD PTR[16+rdi],r8 - mov QWORD PTR[24+rdi],r9 + mov QWORD PTR[16+rdi],r8 + mov QWORD PTR[24+rdi],r9 DB 0F3h,0C3h ;repret -__ecp_nistz256_mul_by_2x ENDP +__ecp_nistz256_mul_by_2x ENDP ALIGN 32 -ecp_nistz256_point_doublex PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_point_doublex PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_point_doublex:: +$L$SEH_begin_ecp_nistz256_point_doublex:: mov rdi,rcx mov rsi,rdx -$L$point_doublex:: +$L$point_doublex:: push rbp push rbx @@ -6624,77 +6624,77 @@ $L$point_doublex:: sub rsp,32*5+8 -$L$point_doublex_body:: +$L$point_doublex_body:: -$L$point_double_shortcutx:: - movdqu xmm0,XMMWORD PTR[rsi] +$L$point_double_shortcutx:: + movdqu xmm0,XMMWORD PTR[rsi] mov rbx,rsi - movdqu xmm1,XMMWORD PTR[16+rsi] - mov r12,QWORD PTR[((32+0))+rsi] - mov r13,QWORD PTR[((32+8))+rsi] - mov r8,QWORD PTR[((32+16))+rsi] - mov r9,QWORD PTR[((32+24))+rsi] - mov r14,QWORD PTR[(($L$poly+8))] - mov r15,QWORD PTR[(($L$poly+24))] - movdqa XMMWORD PTR[96+rsp],xmm0 - movdqa XMMWORD PTR[(96+16)+rsp],xmm1 - lea r10,QWORD PTR[32+rdi] - lea r11,QWORD PTR[64+rdi] + movdqu xmm1,XMMWORD PTR[16+rsi] + mov r12,QWORD PTR[((32+0))+rsi] + mov r13,QWORD PTR[((32+8))+rsi] + mov r8,QWORD PTR[((32+16))+rsi] + mov r9,QWORD PTR[((32+24))+rsi] + mov r14,QWORD PTR[(($L$poly+8))] + mov r15,QWORD PTR[(($L$poly+24))] + movdqa XMMWORD PTR[96+rsp],xmm0 + movdqa XMMWORD PTR[(96+16)+rsp],xmm1 + lea r10,QWORD PTR[32+rdi] + lea r11,QWORD PTR[64+rdi] DB 102,72,15,110,199 DB 102,73,15,110,202 DB 102,73,15,110,211 - lea rdi,QWORD PTR[rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_mul_by_2x - mov rdx,QWORD PTR[((64+0))+rsi] - mov r14,QWORD PTR[((64+8))+rsi] - mov r15,QWORD PTR[((64+16))+rsi] - mov r8,QWORD PTR[((64+24))+rsi] - lea rsi,QWORD PTR[((64-128))+rsi] - lea rdi,QWORD PTR[64+rsp] + mov rdx,QWORD PTR[((64+0))+rsi] + mov r14,QWORD PTR[((64+8))+rsi] + mov r15,QWORD PTR[((64+16))+rsi] + mov r8,QWORD PTR[((64+24))+rsi] + lea rsi,QWORD PTR[((64-128))+rsi] + lea rdi,QWORD PTR[64+rsp] call __ecp_nistz256_sqr_montx - mov rdx,QWORD PTR[((0+0))+rsp] - mov r14,QWORD PTR[((8+0))+rsp] - lea rsi,QWORD PTR[((-128+0))+rsp] - mov r15,QWORD PTR[((16+0))+rsp] - mov r8,QWORD PTR[((24+0))+rsp] - lea rdi,QWORD PTR[rsp] + mov rdx,QWORD PTR[((0+0))+rsp] + mov r14,QWORD PTR[((8+0))+rsp] + lea rsi,QWORD PTR[((-128+0))+rsp] + mov r15,QWORD PTR[((16+0))+rsp] + mov r8,QWORD PTR[((24+0))+rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_sqr_montx - mov rdx,QWORD PTR[32+rbx] - mov r9,QWORD PTR[((64+0))+rbx] - mov r10,QWORD PTR[((64+8))+rbx] - mov r11,QWORD PTR[((64+16))+rbx] - mov r12,QWORD PTR[((64+24))+rbx] - lea rsi,QWORD PTR[((64-128))+rbx] - lea rbx,QWORD PTR[32+rbx] + mov rdx,QWORD PTR[32+rbx] + mov r9,QWORD PTR[((64+0))+rbx] + mov r10,QWORD PTR[((64+8))+rbx] + mov r11,QWORD PTR[((64+16))+rbx] + mov r12,QWORD PTR[((64+24))+rbx] + lea rsi,QWORD PTR[((64-128))+rbx] + lea rbx,QWORD PTR[32+rbx] DB 102,72,15,126,215 call __ecp_nistz256_mul_montx call __ecp_nistz256_mul_by_2x - mov r12,QWORD PTR[((96+0))+rsp] - mov r13,QWORD PTR[((96+8))+rsp] - lea rbx,QWORD PTR[64+rsp] - mov r8,QWORD PTR[((96+16))+rsp] - mov r9,QWORD PTR[((96+24))+rsp] - lea rdi,QWORD PTR[32+rsp] + mov r12,QWORD PTR[((96+0))+rsp] + mov r13,QWORD PTR[((96+8))+rsp] + lea rbx,QWORD PTR[64+rsp] + mov r8,QWORD PTR[((96+16))+rsp] + mov r9,QWORD PTR[((96+24))+rsp] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_add_tox - mov r12,QWORD PTR[((96+0))+rsp] - mov r13,QWORD PTR[((96+8))+rsp] - lea rbx,QWORD PTR[64+rsp] - mov r8,QWORD PTR[((96+16))+rsp] - mov r9,QWORD PTR[((96+24))+rsp] - lea rdi,QWORD PTR[64+rsp] + mov r12,QWORD PTR[((96+0))+rsp] + mov r13,QWORD PTR[((96+8))+rsp] + lea rbx,QWORD PTR[64+rsp] + mov r8,QWORD PTR[((96+16))+rsp] + mov r9,QWORD PTR[((96+24))+rsp] + lea rdi,QWORD PTR[64+rsp] call __ecp_nistz256_sub_fromx - mov rdx,QWORD PTR[((0+0))+rsp] - mov r14,QWORD PTR[((8+0))+rsp] - lea rsi,QWORD PTR[((-128+0))+rsp] - mov r15,QWORD PTR[((16+0))+rsp] - mov r8,QWORD PTR[((24+0))+rsp] + mov rdx,QWORD PTR[((0+0))+rsp] + mov r14,QWORD PTR[((8+0))+rsp] + lea rsi,QWORD PTR[((-128+0))+rsp] + mov r15,QWORD PTR[((16+0))+rsp] + mov r8,QWORD PTR[((24+0))+rsp] DB 102,72,15,126,207 call __ecp_nistz256_sqr_montx xor r9,r9 @@ -6727,123 +6727,123 @@ DB 102,72,15,126,207 shr r14,1 or r13,r10 shl rcx,63 - mov QWORD PTR[rdi],r12 + mov QWORD PTR[rdi],r12 shr r15,1 - mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[8+rdi],r13 shl r9,63 or r14,rcx or r15,r9 - mov QWORD PTR[16+rdi],r14 - mov QWORD PTR[24+rdi],r15 - mov rdx,QWORD PTR[64+rsp] - lea rbx,QWORD PTR[64+rsp] - mov r9,QWORD PTR[((0+32))+rsp] - mov r10,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((-128+32))+rsp] - mov r11,QWORD PTR[((16+32))+rsp] - mov r12,QWORD PTR[((24+32))+rsp] - lea rdi,QWORD PTR[32+rsp] + mov QWORD PTR[16+rdi],r14 + mov QWORD PTR[24+rdi],r15 + mov rdx,QWORD PTR[64+rsp] + lea rbx,QWORD PTR[64+rsp] + mov r9,QWORD PTR[((0+32))+rsp] + mov r10,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((-128+32))+rsp] + mov r11,QWORD PTR[((16+32))+rsp] + mov r12,QWORD PTR[((24+32))+rsp] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_mul_montx - lea rdi,QWORD PTR[128+rsp] + lea rdi,QWORD PTR[128+rsp] call __ecp_nistz256_mul_by_2x - lea rbx,QWORD PTR[32+rsp] - lea rdi,QWORD PTR[32+rsp] + lea rbx,QWORD PTR[32+rsp] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_add_tox - mov rdx,QWORD PTR[96+rsp] - lea rbx,QWORD PTR[96+rsp] - mov r9,QWORD PTR[((0+0))+rsp] - mov r10,QWORD PTR[((8+0))+rsp] - lea rsi,QWORD PTR[((-128+0))+rsp] - mov r11,QWORD PTR[((16+0))+rsp] - mov r12,QWORD PTR[((24+0))+rsp] - lea rdi,QWORD PTR[rsp] + mov rdx,QWORD PTR[96+rsp] + lea rbx,QWORD PTR[96+rsp] + mov r9,QWORD PTR[((0+0))+rsp] + mov r10,QWORD PTR[((8+0))+rsp] + lea rsi,QWORD PTR[((-128+0))+rsp] + mov r11,QWORD PTR[((16+0))+rsp] + mov r12,QWORD PTR[((24+0))+rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_mul_montx - lea rdi,QWORD PTR[128+rsp] + lea rdi,QWORD PTR[128+rsp] call __ecp_nistz256_mul_by_2x - mov rdx,QWORD PTR[((0+32))+rsp] - mov r14,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((-128+32))+rsp] - mov r15,QWORD PTR[((16+32))+rsp] - mov r8,QWORD PTR[((24+32))+rsp] + mov rdx,QWORD PTR[((0+32))+rsp] + mov r14,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((-128+32))+rsp] + mov r15,QWORD PTR[((16+32))+rsp] + mov r8,QWORD PTR[((24+32))+rsp] DB 102,72,15,126,199 call __ecp_nistz256_sqr_montx - lea rbx,QWORD PTR[128+rsp] + lea rbx,QWORD PTR[128+rsp] mov r8,r14 mov r9,r15 mov r14,rsi mov r15,rbp call __ecp_nistz256_sub_fromx - mov rax,QWORD PTR[((0+0))+rsp] - mov rbp,QWORD PTR[((0+8))+rsp] - mov rcx,QWORD PTR[((0+16))+rsp] - mov r10,QWORD PTR[((0+24))+rsp] - lea rdi,QWORD PTR[rsp] + mov rax,QWORD PTR[((0+0))+rsp] + mov rbp,QWORD PTR[((0+8))+rsp] + mov rcx,QWORD PTR[((0+16))+rsp] + mov r10,QWORD PTR[((0+24))+rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_subx - mov rdx,QWORD PTR[32+rsp] - lea rbx,QWORD PTR[32+rsp] + mov rdx,QWORD PTR[32+rsp] + lea rbx,QWORD PTR[32+rsp] mov r14,r12 xor ecx,ecx - mov QWORD PTR[((0+0))+rsp],r12 + mov QWORD PTR[((0+0))+rsp],r12 mov r10,r13 - mov QWORD PTR[((0+8))+rsp],r13 + mov QWORD PTR[((0+8))+rsp],r13 cmovz r11,r8 - mov QWORD PTR[((0+16))+rsp],r8 - lea rsi,QWORD PTR[((0-128))+rsp] + mov QWORD PTR[((0+16))+rsp],r8 + lea rsi,QWORD PTR[((0-128))+rsp] cmovz r12,r9 - mov QWORD PTR[((0+24))+rsp],r9 + mov QWORD PTR[((0+24))+rsp],r9 mov r9,r14 - lea rdi,QWORD PTR[rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_mul_montx DB 102,72,15,126,203 DB 102,72,15,126,207 call __ecp_nistz256_sub_fromx - lea rsi,QWORD PTR[((160+56))+rsp] + lea rsi,QWORD PTR[((160+56))+rsp] - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbx,QWORD PTR[((-16))+rsi] + mov rbx,QWORD PTR[((-16))+rsi] - mov rbp,QWORD PTR[((-8))+rsi] + mov rbp,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$point_doublex_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$point_doublex_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_point_doublex:: -ecp_nistz256_point_doublex ENDP +$L$SEH_end_ecp_nistz256_point_doublex:: +ecp_nistz256_point_doublex ENDP ALIGN 32 -ecp_nistz256_point_addx PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_point_addx PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_point_addx:: +$L$SEH_begin_ecp_nistz256_point_addx:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -$L$point_addx:: +$L$point_addx:: push rbp push rbx @@ -6858,115 +6858,115 @@ $L$point_addx:: sub rsp,32*18+8 -$L$point_addx_body:: +$L$point_addx_body:: - movdqu xmm0,XMMWORD PTR[rsi] - movdqu xmm1,XMMWORD PTR[16+rsi] - movdqu xmm2,XMMWORD PTR[32+rsi] - movdqu xmm3,XMMWORD PTR[48+rsi] - movdqu xmm4,XMMWORD PTR[64+rsi] - movdqu xmm5,XMMWORD PTR[80+rsi] + movdqu xmm0,XMMWORD PTR[rsi] + movdqu xmm1,XMMWORD PTR[16+rsi] + movdqu xmm2,XMMWORD PTR[32+rsi] + movdqu xmm3,XMMWORD PTR[48+rsi] + movdqu xmm4,XMMWORD PTR[64+rsi] + movdqu xmm5,XMMWORD PTR[80+rsi] mov rbx,rsi mov rsi,rdx - movdqa XMMWORD PTR[384+rsp],xmm0 - movdqa XMMWORD PTR[(384+16)+rsp],xmm1 - movdqa XMMWORD PTR[416+rsp],xmm2 - movdqa XMMWORD PTR[(416+16)+rsp],xmm3 - movdqa XMMWORD PTR[448+rsp],xmm4 - movdqa XMMWORD PTR[(448+16)+rsp],xmm5 + movdqa XMMWORD PTR[384+rsp],xmm0 + movdqa XMMWORD PTR[(384+16)+rsp],xmm1 + movdqa XMMWORD PTR[416+rsp],xmm2 + movdqa XMMWORD PTR[(416+16)+rsp],xmm3 + movdqa XMMWORD PTR[448+rsp],xmm4 + movdqa XMMWORD PTR[(448+16)+rsp],xmm5 por xmm5,xmm4 - movdqu xmm0,XMMWORD PTR[rsi] - pshufd xmm3,xmm5,0b1h - movdqu xmm1,XMMWORD PTR[16+rsi] - movdqu xmm2,XMMWORD PTR[32+rsi] + movdqu xmm0,XMMWORD PTR[rsi] + pshufd xmm3,xmm5,0b1h + movdqu xmm1,XMMWORD PTR[16+rsi] + movdqu xmm2,XMMWORD PTR[32+rsi] por xmm5,xmm3 - movdqu xmm3,XMMWORD PTR[48+rsi] - mov rdx,QWORD PTR[((64+0))+rsi] - mov r14,QWORD PTR[((64+8))+rsi] - mov r15,QWORD PTR[((64+16))+rsi] - mov r8,QWORD PTR[((64+24))+rsi] - movdqa XMMWORD PTR[480+rsp],xmm0 - pshufd xmm4,xmm5,01eh - movdqa XMMWORD PTR[(480+16)+rsp],xmm1 - movdqu xmm0,XMMWORD PTR[64+rsi] - movdqu xmm1,XMMWORD PTR[80+rsi] - movdqa XMMWORD PTR[512+rsp],xmm2 - movdqa XMMWORD PTR[(512+16)+rsp],xmm3 + movdqu xmm3,XMMWORD PTR[48+rsi] + mov rdx,QWORD PTR[((64+0))+rsi] + mov r14,QWORD PTR[((64+8))+rsi] + mov r15,QWORD PTR[((64+16))+rsi] + mov r8,QWORD PTR[((64+24))+rsi] + movdqa XMMWORD PTR[480+rsp],xmm0 + pshufd xmm4,xmm5,01eh + movdqa XMMWORD PTR[(480+16)+rsp],xmm1 + movdqu xmm0,XMMWORD PTR[64+rsi] + movdqu xmm1,XMMWORD PTR[80+rsi] + movdqa XMMWORD PTR[512+rsp],xmm2 + movdqa XMMWORD PTR[(512+16)+rsp],xmm3 por xmm5,xmm4 pxor xmm4,xmm4 por xmm1,xmm0 DB 102,72,15,110,199 - lea rsi,QWORD PTR[((64-128))+rsi] - mov QWORD PTR[((544+0))+rsp],rdx - mov QWORD PTR[((544+8))+rsp],r14 - mov QWORD PTR[((544+16))+rsp],r15 - mov QWORD PTR[((544+24))+rsp],r8 - lea rdi,QWORD PTR[96+rsp] + lea rsi,QWORD PTR[((64-128))+rsi] + mov QWORD PTR[((544+0))+rsp],rdx + mov QWORD PTR[((544+8))+rsp],r14 + mov QWORD PTR[((544+16))+rsp],r15 + mov QWORD PTR[((544+24))+rsp],r8 + lea rdi,QWORD PTR[96+rsp] call __ecp_nistz256_sqr_montx pcmpeqd xmm5,xmm4 - pshufd xmm4,xmm1,0b1h + pshufd xmm4,xmm1,0b1h por xmm4,xmm1 pshufd xmm5,xmm5,0 - pshufd xmm3,xmm4,01eh + pshufd xmm3,xmm4,01eh por xmm4,xmm3 pxor xmm3,xmm3 pcmpeqd xmm4,xmm3 pshufd xmm4,xmm4,0 - mov rdx,QWORD PTR[((64+0))+rbx] - mov r14,QWORD PTR[((64+8))+rbx] - mov r15,QWORD PTR[((64+16))+rbx] - mov r8,QWORD PTR[((64+24))+rbx] + mov rdx,QWORD PTR[((64+0))+rbx] + mov r14,QWORD PTR[((64+8))+rbx] + mov r15,QWORD PTR[((64+16))+rbx] + mov r8,QWORD PTR[((64+24))+rbx] DB 102,72,15,110,203 - lea rsi,QWORD PTR[((64-128))+rbx] - lea rdi,QWORD PTR[32+rsp] + lea rsi,QWORD PTR[((64-128))+rbx] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_sqr_montx - mov rdx,QWORD PTR[544+rsp] - lea rbx,QWORD PTR[544+rsp] - mov r9,QWORD PTR[((0+96))+rsp] - mov r10,QWORD PTR[((8+96))+rsp] - lea rsi,QWORD PTR[((-128+96))+rsp] - mov r11,QWORD PTR[((16+96))+rsp] - mov r12,QWORD PTR[((24+96))+rsp] - lea rdi,QWORD PTR[224+rsp] + mov rdx,QWORD PTR[544+rsp] + lea rbx,QWORD PTR[544+rsp] + mov r9,QWORD PTR[((0+96))+rsp] + mov r10,QWORD PTR[((8+96))+rsp] + lea rsi,QWORD PTR[((-128+96))+rsp] + mov r11,QWORD PTR[((16+96))+rsp] + mov r12,QWORD PTR[((24+96))+rsp] + lea rdi,QWORD PTR[224+rsp] call __ecp_nistz256_mul_montx - mov rdx,QWORD PTR[448+rsp] - lea rbx,QWORD PTR[448+rsp] - mov r9,QWORD PTR[((0+32))+rsp] - mov r10,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((-128+32))+rsp] - mov r11,QWORD PTR[((16+32))+rsp] - mov r12,QWORD PTR[((24+32))+rsp] - lea rdi,QWORD PTR[256+rsp] + mov rdx,QWORD PTR[448+rsp] + lea rbx,QWORD PTR[448+rsp] + mov r9,QWORD PTR[((0+32))+rsp] + mov r10,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((-128+32))+rsp] + mov r11,QWORD PTR[((16+32))+rsp] + mov r12,QWORD PTR[((24+32))+rsp] + lea rdi,QWORD PTR[256+rsp] call __ecp_nistz256_mul_montx - mov rdx,QWORD PTR[416+rsp] - lea rbx,QWORD PTR[416+rsp] - mov r9,QWORD PTR[((0+224))+rsp] - mov r10,QWORD PTR[((8+224))+rsp] - lea rsi,QWORD PTR[((-128+224))+rsp] - mov r11,QWORD PTR[((16+224))+rsp] - mov r12,QWORD PTR[((24+224))+rsp] - lea rdi,QWORD PTR[224+rsp] + mov rdx,QWORD PTR[416+rsp] + lea rbx,QWORD PTR[416+rsp] + mov r9,QWORD PTR[((0+224))+rsp] + mov r10,QWORD PTR[((8+224))+rsp] + lea rsi,QWORD PTR[((-128+224))+rsp] + mov r11,QWORD PTR[((16+224))+rsp] + mov r12,QWORD PTR[((24+224))+rsp] + lea rdi,QWORD PTR[224+rsp] call __ecp_nistz256_mul_montx - mov rdx,QWORD PTR[512+rsp] - lea rbx,QWORD PTR[512+rsp] - mov r9,QWORD PTR[((0+256))+rsp] - mov r10,QWORD PTR[((8+256))+rsp] - lea rsi,QWORD PTR[((-128+256))+rsp] - mov r11,QWORD PTR[((16+256))+rsp] - mov r12,QWORD PTR[((24+256))+rsp] - lea rdi,QWORD PTR[256+rsp] + mov rdx,QWORD PTR[512+rsp] + lea rbx,QWORD PTR[512+rsp] + mov r9,QWORD PTR[((0+256))+rsp] + mov r10,QWORD PTR[((8+256))+rsp] + lea rsi,QWORD PTR[((-128+256))+rsp] + mov r11,QWORD PTR[((16+256))+rsp] + mov r12,QWORD PTR[((24+256))+rsp] + lea rdi,QWORD PTR[256+rsp] call __ecp_nistz256_mul_montx - lea rbx,QWORD PTR[224+rsp] - lea rdi,QWORD PTR[64+rsp] + lea rbx,QWORD PTR[224+rsp] + lea rdi,QWORD PTR[64+rsp] call __ecp_nistz256_sub_fromx or r12,r13 @@ -6976,28 +6976,28 @@ DB 102,72,15,110,203 por xmm2,xmm5 DB 102,73,15,110,220 - mov rdx,QWORD PTR[384+rsp] - lea rbx,QWORD PTR[384+rsp] - mov r9,QWORD PTR[((0+96))+rsp] - mov r10,QWORD PTR[((8+96))+rsp] - lea rsi,QWORD PTR[((-128+96))+rsp] - mov r11,QWORD PTR[((16+96))+rsp] - mov r12,QWORD PTR[((24+96))+rsp] - lea rdi,QWORD PTR[160+rsp] + mov rdx,QWORD PTR[384+rsp] + lea rbx,QWORD PTR[384+rsp] + mov r9,QWORD PTR[((0+96))+rsp] + mov r10,QWORD PTR[((8+96))+rsp] + lea rsi,QWORD PTR[((-128+96))+rsp] + mov r11,QWORD PTR[((16+96))+rsp] + mov r12,QWORD PTR[((24+96))+rsp] + lea rdi,QWORD PTR[160+rsp] call __ecp_nistz256_mul_montx - mov rdx,QWORD PTR[480+rsp] - lea rbx,QWORD PTR[480+rsp] - mov r9,QWORD PTR[((0+32))+rsp] - mov r10,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((-128+32))+rsp] - mov r11,QWORD PTR[((16+32))+rsp] - mov r12,QWORD PTR[((24+32))+rsp] - lea rdi,QWORD PTR[192+rsp] + mov rdx,QWORD PTR[480+rsp] + lea rbx,QWORD PTR[480+rsp] + mov r9,QWORD PTR[((0+32))+rsp] + mov r10,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((-128+32))+rsp] + mov r11,QWORD PTR[((16+32))+rsp] + mov r12,QWORD PTR[((24+32))+rsp] + lea rdi,QWORD PTR[192+rsp] call __ecp_nistz256_mul_montx - lea rbx,QWORD PTR[160+rsp] - lea rdi,QWORD PTR[rsp] + lea rbx,QWORD PTR[160+rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_sub_fromx or r12,r13 @@ -7007,77 +7007,77 @@ DB 102,73,15,110,220 DB 102,73,15,126,208 DB 102,73,15,126,217 - or r12,r8 - or r12,r9 + or r12,r8 + or r12,r9 + + +DB 03eh + jnz $L$add_proceedx - -DB 03eh - jnz $L$add_proceedx - -$L$add_doublex:: +$L$add_doublex:: DB 102,72,15,126,206 DB 102,72,15,126,199 add rsp,416 - jmp $L$point_double_shortcutx + jmp $L$point_double_shortcutx ALIGN 32 -$L$add_proceedx:: - mov rdx,QWORD PTR[((0+64))+rsp] - mov r14,QWORD PTR[((8+64))+rsp] - lea rsi,QWORD PTR[((-128+64))+rsp] - mov r15,QWORD PTR[((16+64))+rsp] - mov r8,QWORD PTR[((24+64))+rsp] - lea rdi,QWORD PTR[96+rsp] +$L$add_proceedx:: + mov rdx,QWORD PTR[((0+64))+rsp] + mov r14,QWORD PTR[((8+64))+rsp] + lea rsi,QWORD PTR[((-128+64))+rsp] + mov r15,QWORD PTR[((16+64))+rsp] + mov r8,QWORD PTR[((24+64))+rsp] + lea rdi,QWORD PTR[96+rsp] call __ecp_nistz256_sqr_montx - mov rdx,QWORD PTR[448+rsp] - lea rbx,QWORD PTR[448+rsp] - mov r9,QWORD PTR[((0+0))+rsp] - mov r10,QWORD PTR[((8+0))+rsp] - lea rsi,QWORD PTR[((-128+0))+rsp] - mov r11,QWORD PTR[((16+0))+rsp] - mov r12,QWORD PTR[((24+0))+rsp] - lea rdi,QWORD PTR[352+rsp] + mov rdx,QWORD PTR[448+rsp] + lea rbx,QWORD PTR[448+rsp] + mov r9,QWORD PTR[((0+0))+rsp] + mov r10,QWORD PTR[((8+0))+rsp] + lea rsi,QWORD PTR[((-128+0))+rsp] + mov r11,QWORD PTR[((16+0))+rsp] + mov r12,QWORD PTR[((24+0))+rsp] + lea rdi,QWORD PTR[352+rsp] call __ecp_nistz256_mul_montx - mov rdx,QWORD PTR[((0+0))+rsp] - mov r14,QWORD PTR[((8+0))+rsp] - lea rsi,QWORD PTR[((-128+0))+rsp] - mov r15,QWORD PTR[((16+0))+rsp] - mov r8,QWORD PTR[((24+0))+rsp] - lea rdi,QWORD PTR[32+rsp] + mov rdx,QWORD PTR[((0+0))+rsp] + mov r14,QWORD PTR[((8+0))+rsp] + lea rsi,QWORD PTR[((-128+0))+rsp] + mov r15,QWORD PTR[((16+0))+rsp] + mov r8,QWORD PTR[((24+0))+rsp] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_sqr_montx - mov rdx,QWORD PTR[544+rsp] - lea rbx,QWORD PTR[544+rsp] - mov r9,QWORD PTR[((0+352))+rsp] - mov r10,QWORD PTR[((8+352))+rsp] - lea rsi,QWORD PTR[((-128+352))+rsp] - mov r11,QWORD PTR[((16+352))+rsp] - mov r12,QWORD PTR[((24+352))+rsp] - lea rdi,QWORD PTR[352+rsp] + mov rdx,QWORD PTR[544+rsp] + lea rbx,QWORD PTR[544+rsp] + mov r9,QWORD PTR[((0+352))+rsp] + mov r10,QWORD PTR[((8+352))+rsp] + lea rsi,QWORD PTR[((-128+352))+rsp] + mov r11,QWORD PTR[((16+352))+rsp] + mov r12,QWORD PTR[((24+352))+rsp] + lea rdi,QWORD PTR[352+rsp] call __ecp_nistz256_mul_montx - mov rdx,QWORD PTR[rsp] - lea rbx,QWORD PTR[rsp] - mov r9,QWORD PTR[((0+32))+rsp] - mov r10,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((-128+32))+rsp] - mov r11,QWORD PTR[((16+32))+rsp] - mov r12,QWORD PTR[((24+32))+rsp] - lea rdi,QWORD PTR[128+rsp] + mov rdx,QWORD PTR[rsp] + lea rbx,QWORD PTR[rsp] + mov r9,QWORD PTR[((0+32))+rsp] + mov r10,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((-128+32))+rsp] + mov r11,QWORD PTR[((16+32))+rsp] + mov r12,QWORD PTR[((24+32))+rsp] + lea rdi,QWORD PTR[128+rsp] call __ecp_nistz256_mul_montx - mov rdx,QWORD PTR[160+rsp] - lea rbx,QWORD PTR[160+rsp] - mov r9,QWORD PTR[((0+32))+rsp] - mov r10,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((-128+32))+rsp] - mov r11,QWORD PTR[((16+32))+rsp] - mov r12,QWORD PTR[((24+32))+rsp] - lea rdi,QWORD PTR[192+rsp] + mov rdx,QWORD PTR[160+rsp] + lea rbx,QWORD PTR[160+rsp] + mov r9,QWORD PTR[((0+32))+rsp] + mov r10,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((-128+32))+rsp] + mov r11,QWORD PTR[((16+32))+rsp] + mov r12,QWORD PTR[((24+32))+rsp] + lea rdi,QWORD PTR[192+rsp] call __ecp_nistz256_mul_montx @@ -7085,7 +7085,7 @@ $L$add_proceedx:: xor r11,r11 add r12,r12 - lea rsi,QWORD PTR[96+rsp] + lea rsi,QWORD PTR[96+rsp] adc r13,r13 mov rax,r12 adc r8,r8 @@ -7102,66 +7102,66 @@ $L$add_proceedx:: sbb r11,0 cmovc r12,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] cmovc r13,rbp - mov rbp,QWORD PTR[8+rsi] + mov rbp,QWORD PTR[8+rsi] cmovc r8,rcx - mov rcx,QWORD PTR[16+rsi] + mov rcx,QWORD PTR[16+rsi] cmovc r9,r10 - mov r10,QWORD PTR[24+rsi] + mov r10,QWORD PTR[24+rsi] call __ecp_nistz256_subx - lea rbx,QWORD PTR[128+rsp] - lea rdi,QWORD PTR[288+rsp] + lea rbx,QWORD PTR[128+rsp] + lea rdi,QWORD PTR[288+rsp] call __ecp_nistz256_sub_fromx - mov rax,QWORD PTR[((192+0))+rsp] - mov rbp,QWORD PTR[((192+8))+rsp] - mov rcx,QWORD PTR[((192+16))+rsp] - mov r10,QWORD PTR[((192+24))+rsp] - lea rdi,QWORD PTR[320+rsp] + mov rax,QWORD PTR[((192+0))+rsp] + mov rbp,QWORD PTR[((192+8))+rsp] + mov rcx,QWORD PTR[((192+16))+rsp] + mov r10,QWORD PTR[((192+24))+rsp] + lea rdi,QWORD PTR[320+rsp] call __ecp_nistz256_subx - mov QWORD PTR[rdi],r12 - mov QWORD PTR[8+rdi],r13 - mov QWORD PTR[16+rdi],r8 - mov QWORD PTR[24+rdi],r9 - mov rdx,QWORD PTR[128+rsp] - lea rbx,QWORD PTR[128+rsp] - mov r9,QWORD PTR[((0+224))+rsp] - mov r10,QWORD PTR[((8+224))+rsp] - lea rsi,QWORD PTR[((-128+224))+rsp] - mov r11,QWORD PTR[((16+224))+rsp] - mov r12,QWORD PTR[((24+224))+rsp] - lea rdi,QWORD PTR[256+rsp] + mov QWORD PTR[rdi],r12 + mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[16+rdi],r8 + mov QWORD PTR[24+rdi],r9 + mov rdx,QWORD PTR[128+rsp] + lea rbx,QWORD PTR[128+rsp] + mov r9,QWORD PTR[((0+224))+rsp] + mov r10,QWORD PTR[((8+224))+rsp] + lea rsi,QWORD PTR[((-128+224))+rsp] + mov r11,QWORD PTR[((16+224))+rsp] + mov r12,QWORD PTR[((24+224))+rsp] + lea rdi,QWORD PTR[256+rsp] call __ecp_nistz256_mul_montx - mov rdx,QWORD PTR[320+rsp] - lea rbx,QWORD PTR[320+rsp] - mov r9,QWORD PTR[((0+64))+rsp] - mov r10,QWORD PTR[((8+64))+rsp] - lea rsi,QWORD PTR[((-128+64))+rsp] - mov r11,QWORD PTR[((16+64))+rsp] - mov r12,QWORD PTR[((24+64))+rsp] - lea rdi,QWORD PTR[320+rsp] + mov rdx,QWORD PTR[320+rsp] + lea rbx,QWORD PTR[320+rsp] + mov r9,QWORD PTR[((0+64))+rsp] + mov r10,QWORD PTR[((8+64))+rsp] + lea rsi,QWORD PTR[((-128+64))+rsp] + mov r11,QWORD PTR[((16+64))+rsp] + mov r12,QWORD PTR[((24+64))+rsp] + lea rdi,QWORD PTR[320+rsp] call __ecp_nistz256_mul_montx - lea rbx,QWORD PTR[256+rsp] - lea rdi,QWORD PTR[320+rsp] + lea rbx,QWORD PTR[256+rsp] + lea rdi,QWORD PTR[320+rsp] call __ecp_nistz256_sub_fromx DB 102,72,15,126,199 movdqa xmm0,xmm5 movdqa xmm1,xmm5 - pandn xmm0,XMMWORD PTR[352+rsp] + pandn xmm0,XMMWORD PTR[352+rsp] movdqa xmm2,xmm5 - pandn xmm1,XMMWORD PTR[((352+16))+rsp] + pandn xmm1,XMMWORD PTR[((352+16))+rsp] movdqa xmm3,xmm5 - pand xmm2,XMMWORD PTR[544+rsp] - pand xmm3,XMMWORD PTR[((544+16))+rsp] + pand xmm2,XMMWORD PTR[544+rsp] + pand xmm3,XMMWORD PTR[((544+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 @@ -7171,21 +7171,21 @@ DB 102,72,15,126,199 movdqa xmm2,xmm4 pandn xmm1,xmm3 movdqa xmm3,xmm4 - pand xmm2,XMMWORD PTR[448+rsp] - pand xmm3,XMMWORD PTR[((448+16))+rsp] + pand xmm2,XMMWORD PTR[448+rsp] + pand xmm3,XMMWORD PTR[((448+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 - movdqu XMMWORD PTR[64+rdi],xmm2 - movdqu XMMWORD PTR[80+rdi],xmm3 + movdqu XMMWORD PTR[64+rdi],xmm2 + movdqu XMMWORD PTR[80+rdi],xmm3 movdqa xmm0,xmm5 movdqa xmm1,xmm5 - pandn xmm0,XMMWORD PTR[288+rsp] + pandn xmm0,XMMWORD PTR[288+rsp] movdqa xmm2,xmm5 - pandn xmm1,XMMWORD PTR[((288+16))+rsp] + pandn xmm1,XMMWORD PTR[((288+16))+rsp] movdqa xmm3,xmm5 - pand xmm2,XMMWORD PTR[480+rsp] - pand xmm3,XMMWORD PTR[((480+16))+rsp] + pand xmm2,XMMWORD PTR[480+rsp] + pand xmm3,XMMWORD PTR[((480+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 @@ -7195,21 +7195,21 @@ DB 102,72,15,126,199 movdqa xmm2,xmm4 pandn xmm1,xmm3 movdqa xmm3,xmm4 - pand xmm2,XMMWORD PTR[384+rsp] - pand xmm3,XMMWORD PTR[((384+16))+rsp] + pand xmm2,XMMWORD PTR[384+rsp] + pand xmm3,XMMWORD PTR[((384+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 - movdqu XMMWORD PTR[rdi],xmm2 - movdqu XMMWORD PTR[16+rdi],xmm3 + movdqu XMMWORD PTR[rdi],xmm2 + movdqu XMMWORD PTR[16+rdi],xmm3 movdqa xmm0,xmm5 movdqa xmm1,xmm5 - pandn xmm0,XMMWORD PTR[320+rsp] + pandn xmm0,XMMWORD PTR[320+rsp] movdqa xmm2,xmm5 - pandn xmm1,XMMWORD PTR[((320+16))+rsp] + pandn xmm1,XMMWORD PTR[((320+16))+rsp] movdqa xmm3,xmm5 - pand xmm2,XMMWORD PTR[512+rsp] - pand xmm3,XMMWORD PTR[((512+16))+rsp] + pand xmm2,XMMWORD PTR[512+rsp] + pand xmm3,XMMWORD PTR[((512+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 @@ -7219,51 +7219,51 @@ DB 102,72,15,126,199 movdqa xmm2,xmm4 pandn xmm1,xmm3 movdqa xmm3,xmm4 - pand xmm2,XMMWORD PTR[416+rsp] - pand xmm3,XMMWORD PTR[((416+16))+rsp] + pand xmm2,XMMWORD PTR[416+rsp] + pand xmm3,XMMWORD PTR[((416+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 - movdqu XMMWORD PTR[32+rdi],xmm2 - movdqu XMMWORD PTR[48+rdi],xmm3 + movdqu XMMWORD PTR[32+rdi],xmm2 + movdqu XMMWORD PTR[48+rdi],xmm3 -$L$add_donex:: - lea rsi,QWORD PTR[((576+56))+rsp] +$L$add_donex:: + lea rsi,QWORD PTR[((576+56))+rsp] - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbx,QWORD PTR[((-16))+rsi] + mov rbx,QWORD PTR[((-16))+rsi] - mov rbp,QWORD PTR[((-8))+rsi] + mov rbp,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$point_addx_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$point_addx_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_point_addx:: -ecp_nistz256_point_addx ENDP +$L$SEH_end_ecp_nistz256_point_addx:: +ecp_nistz256_point_addx ENDP ALIGN 32 -ecp_nistz256_point_add_affinex PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +ecp_nistz256_point_add_affinex PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_ecp_nistz256_point_add_affinex:: +$L$SEH_begin_ecp_nistz256_point_add_affinex:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -$L$point_add_affinex:: +$L$point_add_affinex:: push rbp push rbx @@ -7278,57 +7278,57 @@ $L$point_add_affinex:: sub rsp,32*15+8 -$L$add_affinex_body:: +$L$add_affinex_body:: - movdqu xmm0,XMMWORD PTR[rsi] + movdqu xmm0,XMMWORD PTR[rsi] mov rbx,rdx - movdqu xmm1,XMMWORD PTR[16+rsi] - movdqu xmm2,XMMWORD PTR[32+rsi] - movdqu xmm3,XMMWORD PTR[48+rsi] - movdqu xmm4,XMMWORD PTR[64+rsi] - movdqu xmm5,XMMWORD PTR[80+rsi] - mov rdx,QWORD PTR[((64+0))+rsi] - mov r14,QWORD PTR[((64+8))+rsi] - mov r15,QWORD PTR[((64+16))+rsi] - mov r8,QWORD PTR[((64+24))+rsi] - movdqa XMMWORD PTR[320+rsp],xmm0 - movdqa XMMWORD PTR[(320+16)+rsp],xmm1 - movdqa XMMWORD PTR[352+rsp],xmm2 - movdqa XMMWORD PTR[(352+16)+rsp],xmm3 - movdqa XMMWORD PTR[384+rsp],xmm4 - movdqa XMMWORD PTR[(384+16)+rsp],xmm5 + movdqu xmm1,XMMWORD PTR[16+rsi] + movdqu xmm2,XMMWORD PTR[32+rsi] + movdqu xmm3,XMMWORD PTR[48+rsi] + movdqu xmm4,XMMWORD PTR[64+rsi] + movdqu xmm5,XMMWORD PTR[80+rsi] + mov rdx,QWORD PTR[((64+0))+rsi] + mov r14,QWORD PTR[((64+8))+rsi] + mov r15,QWORD PTR[((64+16))+rsi] + mov r8,QWORD PTR[((64+24))+rsi] + movdqa XMMWORD PTR[320+rsp],xmm0 + movdqa XMMWORD PTR[(320+16)+rsp],xmm1 + movdqa XMMWORD PTR[352+rsp],xmm2 + movdqa XMMWORD PTR[(352+16)+rsp],xmm3 + movdqa XMMWORD PTR[384+rsp],xmm4 + movdqa XMMWORD PTR[(384+16)+rsp],xmm5 por xmm5,xmm4 - movdqu xmm0,XMMWORD PTR[rbx] - pshufd xmm3,xmm5,0b1h - movdqu xmm1,XMMWORD PTR[16+rbx] - movdqu xmm2,XMMWORD PTR[32+rbx] + movdqu xmm0,XMMWORD PTR[rbx] + pshufd xmm3,xmm5,0b1h + movdqu xmm1,XMMWORD PTR[16+rbx] + movdqu xmm2,XMMWORD PTR[32+rbx] por xmm5,xmm3 - movdqu xmm3,XMMWORD PTR[48+rbx] - movdqa XMMWORD PTR[416+rsp],xmm0 - pshufd xmm4,xmm5,01eh - movdqa XMMWORD PTR[(416+16)+rsp],xmm1 + movdqu xmm3,XMMWORD PTR[48+rbx] + movdqa XMMWORD PTR[416+rsp],xmm0 + pshufd xmm4,xmm5,01eh + movdqa XMMWORD PTR[(416+16)+rsp],xmm1 por xmm1,xmm0 DB 102,72,15,110,199 - movdqa XMMWORD PTR[448+rsp],xmm2 - movdqa XMMWORD PTR[(448+16)+rsp],xmm3 + movdqa XMMWORD PTR[448+rsp],xmm2 + movdqa XMMWORD PTR[(448+16)+rsp],xmm3 por xmm3,xmm2 por xmm5,xmm4 pxor xmm4,xmm4 por xmm3,xmm1 - lea rsi,QWORD PTR[((64-128))+rsi] - lea rdi,QWORD PTR[32+rsp] + lea rsi,QWORD PTR[((64-128))+rsi] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_sqr_montx pcmpeqd xmm5,xmm4 - pshufd xmm4,xmm3,0b1h - mov rdx,QWORD PTR[rbx] + pshufd xmm4,xmm3,0b1h + mov rdx,QWORD PTR[rbx] mov r9,r12 por xmm4,xmm3 pshufd xmm5,xmm5,0 - pshufd xmm3,xmm4,01eh + pshufd xmm3,xmm4,01eh mov r10,r13 por xmm4,xmm3 pxor xmm3,xmm3 @@ -7336,83 +7336,83 @@ DB 102,72,15,110,199 pcmpeqd xmm4,xmm3 pshufd xmm4,xmm4,0 - lea rsi,QWORD PTR[((32-128))+rsp] + lea rsi,QWORD PTR[((32-128))+rsp] mov r12,r15 - lea rdi,QWORD PTR[rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_mul_montx - lea rbx,QWORD PTR[320+rsp] - lea rdi,QWORD PTR[64+rsp] + lea rbx,QWORD PTR[320+rsp] + lea rdi,QWORD PTR[64+rsp] call __ecp_nistz256_sub_fromx - mov rdx,QWORD PTR[384+rsp] - lea rbx,QWORD PTR[384+rsp] - mov r9,QWORD PTR[((0+32))+rsp] - mov r10,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((-128+32))+rsp] - mov r11,QWORD PTR[((16+32))+rsp] - mov r12,QWORD PTR[((24+32))+rsp] - lea rdi,QWORD PTR[32+rsp] + mov rdx,QWORD PTR[384+rsp] + lea rbx,QWORD PTR[384+rsp] + mov r9,QWORD PTR[((0+32))+rsp] + mov r10,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((-128+32))+rsp] + mov r11,QWORD PTR[((16+32))+rsp] + mov r12,QWORD PTR[((24+32))+rsp] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_mul_montx - mov rdx,QWORD PTR[384+rsp] - lea rbx,QWORD PTR[384+rsp] - mov r9,QWORD PTR[((0+64))+rsp] - mov r10,QWORD PTR[((8+64))+rsp] - lea rsi,QWORD PTR[((-128+64))+rsp] - mov r11,QWORD PTR[((16+64))+rsp] - mov r12,QWORD PTR[((24+64))+rsp] - lea rdi,QWORD PTR[288+rsp] + mov rdx,QWORD PTR[384+rsp] + lea rbx,QWORD PTR[384+rsp] + mov r9,QWORD PTR[((0+64))+rsp] + mov r10,QWORD PTR[((8+64))+rsp] + lea rsi,QWORD PTR[((-128+64))+rsp] + mov r11,QWORD PTR[((16+64))+rsp] + mov r12,QWORD PTR[((24+64))+rsp] + lea rdi,QWORD PTR[288+rsp] call __ecp_nistz256_mul_montx - mov rdx,QWORD PTR[448+rsp] - lea rbx,QWORD PTR[448+rsp] - mov r9,QWORD PTR[((0+32))+rsp] - mov r10,QWORD PTR[((8+32))+rsp] - lea rsi,QWORD PTR[((-128+32))+rsp] - mov r11,QWORD PTR[((16+32))+rsp] - mov r12,QWORD PTR[((24+32))+rsp] - lea rdi,QWORD PTR[32+rsp] + mov rdx,QWORD PTR[448+rsp] + lea rbx,QWORD PTR[448+rsp] + mov r9,QWORD PTR[((0+32))+rsp] + mov r10,QWORD PTR[((8+32))+rsp] + lea rsi,QWORD PTR[((-128+32))+rsp] + mov r11,QWORD PTR[((16+32))+rsp] + mov r12,QWORD PTR[((24+32))+rsp] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_mul_montx - lea rbx,QWORD PTR[352+rsp] - lea rdi,QWORD PTR[96+rsp] + lea rbx,QWORD PTR[352+rsp] + lea rdi,QWORD PTR[96+rsp] call __ecp_nistz256_sub_fromx - mov rdx,QWORD PTR[((0+64))+rsp] - mov r14,QWORD PTR[((8+64))+rsp] - lea rsi,QWORD PTR[((-128+64))+rsp] - mov r15,QWORD PTR[((16+64))+rsp] - mov r8,QWORD PTR[((24+64))+rsp] - lea rdi,QWORD PTR[128+rsp] + mov rdx,QWORD PTR[((0+64))+rsp] + mov r14,QWORD PTR[((8+64))+rsp] + lea rsi,QWORD PTR[((-128+64))+rsp] + mov r15,QWORD PTR[((16+64))+rsp] + mov r8,QWORD PTR[((24+64))+rsp] + lea rdi,QWORD PTR[128+rsp] call __ecp_nistz256_sqr_montx - mov rdx,QWORD PTR[((0+96))+rsp] - mov r14,QWORD PTR[((8+96))+rsp] - lea rsi,QWORD PTR[((-128+96))+rsp] - mov r15,QWORD PTR[((16+96))+rsp] - mov r8,QWORD PTR[((24+96))+rsp] - lea rdi,QWORD PTR[192+rsp] + mov rdx,QWORD PTR[((0+96))+rsp] + mov r14,QWORD PTR[((8+96))+rsp] + lea rsi,QWORD PTR[((-128+96))+rsp] + mov r15,QWORD PTR[((16+96))+rsp] + mov r8,QWORD PTR[((24+96))+rsp] + lea rdi,QWORD PTR[192+rsp] call __ecp_nistz256_sqr_montx - mov rdx,QWORD PTR[128+rsp] - lea rbx,QWORD PTR[128+rsp] - mov r9,QWORD PTR[((0+64))+rsp] - mov r10,QWORD PTR[((8+64))+rsp] - lea rsi,QWORD PTR[((-128+64))+rsp] - mov r11,QWORD PTR[((16+64))+rsp] - mov r12,QWORD PTR[((24+64))+rsp] - lea rdi,QWORD PTR[160+rsp] + mov rdx,QWORD PTR[128+rsp] + lea rbx,QWORD PTR[128+rsp] + mov r9,QWORD PTR[((0+64))+rsp] + mov r10,QWORD PTR[((8+64))+rsp] + lea rsi,QWORD PTR[((-128+64))+rsp] + mov r11,QWORD PTR[((16+64))+rsp] + mov r12,QWORD PTR[((24+64))+rsp] + lea rdi,QWORD PTR[160+rsp] call __ecp_nistz256_mul_montx - mov rdx,QWORD PTR[320+rsp] - lea rbx,QWORD PTR[320+rsp] - mov r9,QWORD PTR[((0+128))+rsp] - mov r10,QWORD PTR[((8+128))+rsp] - lea rsi,QWORD PTR[((-128+128))+rsp] - mov r11,QWORD PTR[((16+128))+rsp] - mov r12,QWORD PTR[((24+128))+rsp] - lea rdi,QWORD PTR[rsp] + mov rdx,QWORD PTR[320+rsp] + lea rbx,QWORD PTR[320+rsp] + mov r9,QWORD PTR[((0+128))+rsp] + mov r10,QWORD PTR[((8+128))+rsp] + lea rsi,QWORD PTR[((-128+128))+rsp] + mov r11,QWORD PTR[((16+128))+rsp] + mov r12,QWORD PTR[((24+128))+rsp] + lea rdi,QWORD PTR[rsp] call __ecp_nistz256_mul_montx @@ -7420,7 +7420,7 @@ DB 102,72,15,110,199 xor r11,r11 add r12,r12 - lea rsi,QWORD PTR[192+rsp] + lea rsi,QWORD PTR[192+rsp] adc r13,r13 mov rax,r12 adc r8,r8 @@ -7437,66 +7437,66 @@ DB 102,72,15,110,199 sbb r11,0 cmovc r12,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] cmovc r13,rbp - mov rbp,QWORD PTR[8+rsi] + mov rbp,QWORD PTR[8+rsi] cmovc r8,rcx - mov rcx,QWORD PTR[16+rsi] + mov rcx,QWORD PTR[16+rsi] cmovc r9,r10 - mov r10,QWORD PTR[24+rsi] + mov r10,QWORD PTR[24+rsi] call __ecp_nistz256_subx - lea rbx,QWORD PTR[160+rsp] - lea rdi,QWORD PTR[224+rsp] + lea rbx,QWORD PTR[160+rsp] + lea rdi,QWORD PTR[224+rsp] call __ecp_nistz256_sub_fromx - mov rax,QWORD PTR[((0+0))+rsp] - mov rbp,QWORD PTR[((0+8))+rsp] - mov rcx,QWORD PTR[((0+16))+rsp] - mov r10,QWORD PTR[((0+24))+rsp] - lea rdi,QWORD PTR[64+rsp] + mov rax,QWORD PTR[((0+0))+rsp] + mov rbp,QWORD PTR[((0+8))+rsp] + mov rcx,QWORD PTR[((0+16))+rsp] + mov r10,QWORD PTR[((0+24))+rsp] + lea rdi,QWORD PTR[64+rsp] call __ecp_nistz256_subx - mov QWORD PTR[rdi],r12 - mov QWORD PTR[8+rdi],r13 - mov QWORD PTR[16+rdi],r8 - mov QWORD PTR[24+rdi],r9 - mov rdx,QWORD PTR[352+rsp] - lea rbx,QWORD PTR[352+rsp] - mov r9,QWORD PTR[((0+160))+rsp] - mov r10,QWORD PTR[((8+160))+rsp] - lea rsi,QWORD PTR[((-128+160))+rsp] - mov r11,QWORD PTR[((16+160))+rsp] - mov r12,QWORD PTR[((24+160))+rsp] - lea rdi,QWORD PTR[32+rsp] + mov QWORD PTR[rdi],r12 + mov QWORD PTR[8+rdi],r13 + mov QWORD PTR[16+rdi],r8 + mov QWORD PTR[24+rdi],r9 + mov rdx,QWORD PTR[352+rsp] + lea rbx,QWORD PTR[352+rsp] + mov r9,QWORD PTR[((0+160))+rsp] + mov r10,QWORD PTR[((8+160))+rsp] + lea rsi,QWORD PTR[((-128+160))+rsp] + mov r11,QWORD PTR[((16+160))+rsp] + mov r12,QWORD PTR[((24+160))+rsp] + lea rdi,QWORD PTR[32+rsp] call __ecp_nistz256_mul_montx - mov rdx,QWORD PTR[96+rsp] - lea rbx,QWORD PTR[96+rsp] - mov r9,QWORD PTR[((0+64))+rsp] - mov r10,QWORD PTR[((8+64))+rsp] - lea rsi,QWORD PTR[((-128+64))+rsp] - mov r11,QWORD PTR[((16+64))+rsp] - mov r12,QWORD PTR[((24+64))+rsp] - lea rdi,QWORD PTR[64+rsp] + mov rdx,QWORD PTR[96+rsp] + lea rbx,QWORD PTR[96+rsp] + mov r9,QWORD PTR[((0+64))+rsp] + mov r10,QWORD PTR[((8+64))+rsp] + lea rsi,QWORD PTR[((-128+64))+rsp] + mov r11,QWORD PTR[((16+64))+rsp] + mov r12,QWORD PTR[((24+64))+rsp] + lea rdi,QWORD PTR[64+rsp] call __ecp_nistz256_mul_montx - lea rbx,QWORD PTR[32+rsp] - lea rdi,QWORD PTR[256+rsp] + lea rbx,QWORD PTR[32+rsp] + lea rdi,QWORD PTR[256+rsp] call __ecp_nistz256_sub_fromx DB 102,72,15,126,199 movdqa xmm0,xmm5 movdqa xmm1,xmm5 - pandn xmm0,XMMWORD PTR[288+rsp] + pandn xmm0,XMMWORD PTR[288+rsp] movdqa xmm2,xmm5 - pandn xmm1,XMMWORD PTR[((288+16))+rsp] + pandn xmm1,XMMWORD PTR[((288+16))+rsp] movdqa xmm3,xmm5 - pand xmm2,XMMWORD PTR[$L$ONE_mont] - pand xmm3,XMMWORD PTR[(($L$ONE_mont+16))] + pand xmm2,XMMWORD PTR[$L$ONE_mont] + pand xmm3,XMMWORD PTR[(($L$ONE_mont+16))] por xmm2,xmm0 por xmm3,xmm1 @@ -7506,21 +7506,21 @@ DB 102,72,15,126,199 movdqa xmm2,xmm4 pandn xmm1,xmm3 movdqa xmm3,xmm4 - pand xmm2,XMMWORD PTR[384+rsp] - pand xmm3,XMMWORD PTR[((384+16))+rsp] + pand xmm2,XMMWORD PTR[384+rsp] + pand xmm3,XMMWORD PTR[((384+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 - movdqu XMMWORD PTR[64+rdi],xmm2 - movdqu XMMWORD PTR[80+rdi],xmm3 + movdqu XMMWORD PTR[64+rdi],xmm2 + movdqu XMMWORD PTR[80+rdi],xmm3 movdqa xmm0,xmm5 movdqa xmm1,xmm5 - pandn xmm0,XMMWORD PTR[224+rsp] + pandn xmm0,XMMWORD PTR[224+rsp] movdqa xmm2,xmm5 - pandn xmm1,XMMWORD PTR[((224+16))+rsp] + pandn xmm1,XMMWORD PTR[((224+16))+rsp] movdqa xmm3,xmm5 - pand xmm2,XMMWORD PTR[416+rsp] - pand xmm3,XMMWORD PTR[((416+16))+rsp] + pand xmm2,XMMWORD PTR[416+rsp] + pand xmm3,XMMWORD PTR[((416+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 @@ -7530,21 +7530,21 @@ DB 102,72,15,126,199 movdqa xmm2,xmm4 pandn xmm1,xmm3 movdqa xmm3,xmm4 - pand xmm2,XMMWORD PTR[320+rsp] - pand xmm3,XMMWORD PTR[((320+16))+rsp] + pand xmm2,XMMWORD PTR[320+rsp] + pand xmm3,XMMWORD PTR[((320+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 - movdqu XMMWORD PTR[rdi],xmm2 - movdqu XMMWORD PTR[16+rdi],xmm3 + movdqu XMMWORD PTR[rdi],xmm2 + movdqu XMMWORD PTR[16+rdi],xmm3 movdqa xmm0,xmm5 movdqa xmm1,xmm5 - pandn xmm0,XMMWORD PTR[256+rsp] + pandn xmm0,XMMWORD PTR[256+rsp] movdqa xmm2,xmm5 - pandn xmm1,XMMWORD PTR[((256+16))+rsp] + pandn xmm1,XMMWORD PTR[((256+16))+rsp] movdqa xmm3,xmm5 - pand xmm2,XMMWORD PTR[448+rsp] - pand xmm3,XMMWORD PTR[((448+16))+rsp] + pand xmm2,XMMWORD PTR[448+rsp] + pand xmm3,XMMWORD PTR[((448+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 @@ -7554,41 +7554,41 @@ DB 102,72,15,126,199 movdqa xmm2,xmm4 pandn xmm1,xmm3 movdqa xmm3,xmm4 - pand xmm2,XMMWORD PTR[352+rsp] - pand xmm3,XMMWORD PTR[((352+16))+rsp] + pand xmm2,XMMWORD PTR[352+rsp] + pand xmm3,XMMWORD PTR[((352+16))+rsp] por xmm2,xmm0 por xmm3,xmm1 - movdqu XMMWORD PTR[32+rdi],xmm2 - movdqu XMMWORD PTR[48+rdi],xmm3 + movdqu XMMWORD PTR[32+rdi],xmm2 + movdqu XMMWORD PTR[48+rdi],xmm3 - lea rsi,QWORD PTR[((480+56))+rsp] + lea rsi,QWORD PTR[((480+56))+rsp] - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbx,QWORD PTR[((-16))+rsi] + mov rbx,QWORD PTR[((-16))+rsi] - mov rbp,QWORD PTR[((-8))+rsi] + mov rbp,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$add_affinex_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$add_affinex_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_point_add_affinex:: -ecp_nistz256_point_add_affinex ENDP -EXTERN __imp_RtlVirtualUnwind:NEAR +$L$SEH_end_ecp_nistz256_point_add_affinex:: +ecp_nistz256_point_add_affinex ENDP +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -short_handler PROC PRIVATE +short_handler PROC PRIVATE push rsi push rdi push rbx @@ -7600,37 +7600,37 @@ short_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail + jae $L$common_seh_tail - lea rax,QWORD PTR[16+rax] + lea rax,QWORD PTR[16+rax] - mov r12,QWORD PTR[((-8))+rax] - mov r13,QWORD PTR[((-16))+rax] - mov QWORD PTR[216+r8],r12 - mov QWORD PTR[224+r8],r13 + mov r12,QWORD PTR[((-8))+rax] + mov r13,QWORD PTR[((-16))+rax] + mov QWORD PTR[216+r8],r12 + mov QWORD PTR[224+r8],r13 - jmp $L$common_seh_tail -short_handler ENDP + jmp $L$common_seh_tail +short_handler ENDP ALIGN 16 -full_handler PROC PRIVATE +full_handler PROC PRIVATE push rsi push rdi push rbx @@ -7642,65 +7642,65 @@ full_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail - - mov r10d,DWORD PTR[8+r11] - lea rax,QWORD PTR[r10*1+rax] - - mov rbp,QWORD PTR[((-8))+rax] - mov rbx,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 - -$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 - - mov rdi,QWORD PTR[40+r9] + jae $L$common_seh_tail + + mov r10d,DWORD PTR[8+r11] + lea rax,QWORD PTR[r10*1+rax] + + mov rbp,QWORD PTR[((-8))+rax] + mov rbx,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 + +$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 + + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -7714,228 +7714,228 @@ $L$common_seh_tail:: pop rdi pop rsi DB 0F3h,0C3h ;repret -full_handler ENDP +full_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_ecp_nistz256_mul_by_2 - DD imagerel $L$SEH_end_ecp_nistz256_mul_by_2 - DD imagerel $L$SEH_info_ecp_nistz256_mul_by_2 - - DD imagerel $L$SEH_begin_ecp_nistz256_div_by_2 - DD imagerel $L$SEH_end_ecp_nistz256_div_by_2 - DD imagerel $L$SEH_info_ecp_nistz256_div_by_2 - - DD imagerel $L$SEH_begin_ecp_nistz256_mul_by_3 - DD imagerel $L$SEH_end_ecp_nistz256_mul_by_3 - DD imagerel $L$SEH_info_ecp_nistz256_mul_by_3 - - DD imagerel $L$SEH_begin_ecp_nistz256_add - DD imagerel $L$SEH_end_ecp_nistz256_add - DD imagerel $L$SEH_info_ecp_nistz256_add - - DD imagerel $L$SEH_begin_ecp_nistz256_sub - DD imagerel $L$SEH_end_ecp_nistz256_sub - DD imagerel $L$SEH_info_ecp_nistz256_sub - - DD imagerel $L$SEH_begin_ecp_nistz256_neg - DD imagerel $L$SEH_end_ecp_nistz256_neg - DD imagerel $L$SEH_info_ecp_nistz256_neg - - DD imagerel $L$SEH_begin_ecp_nistz256_ord_mul_mont - DD imagerel $L$SEH_end_ecp_nistz256_ord_mul_mont - DD imagerel $L$SEH_info_ecp_nistz256_ord_mul_mont - - DD imagerel $L$SEH_begin_ecp_nistz256_ord_sqr_mont - DD imagerel $L$SEH_end_ecp_nistz256_ord_sqr_mont - DD imagerel $L$SEH_info_ecp_nistz256_ord_sqr_mont - DD imagerel $L$SEH_begin_ecp_nistz256_ord_mul_montx - DD imagerel $L$SEH_end_ecp_nistz256_ord_mul_montx - DD imagerel $L$SEH_info_ecp_nistz256_ord_mul_montx - - DD imagerel $L$SEH_begin_ecp_nistz256_ord_sqr_montx - DD imagerel $L$SEH_end_ecp_nistz256_ord_sqr_montx - DD imagerel $L$SEH_info_ecp_nistz256_ord_sqr_montx - DD imagerel $L$SEH_begin_ecp_nistz256_to_mont - DD imagerel $L$SEH_end_ecp_nistz256_to_mont - DD imagerel $L$SEH_info_ecp_nistz256_to_mont - - DD imagerel $L$SEH_begin_ecp_nistz256_mul_mont - DD imagerel $L$SEH_end_ecp_nistz256_mul_mont - DD imagerel $L$SEH_info_ecp_nistz256_mul_mont - - DD imagerel $L$SEH_begin_ecp_nistz256_sqr_mont - DD imagerel $L$SEH_end_ecp_nistz256_sqr_mont - DD imagerel $L$SEH_info_ecp_nistz256_sqr_mont - - DD imagerel $L$SEH_begin_ecp_nistz256_from_mont - DD imagerel $L$SEH_end_ecp_nistz256_from_mont - DD imagerel $L$SEH_info_ecp_nistz256_from_mont - - DD imagerel $L$SEH_begin_ecp_nistz256_gather_w5 - DD imagerel $L$SEH_end_ecp_nistz256_gather_w5 - DD imagerel $L$SEH_info_ecp_nistz256_gather_wX - - DD imagerel $L$SEH_begin_ecp_nistz256_gather_w7 - DD imagerel $L$SEH_end_ecp_nistz256_gather_w7 - DD imagerel $L$SEH_info_ecp_nistz256_gather_wX - DD imagerel $L$SEH_begin_ecp_nistz256_avx2_gather_w5 - DD imagerel $L$SEH_end_ecp_nistz256_avx2_gather_w5 - DD imagerel $L$SEH_info_ecp_nistz256_avx2_gather_wX - - DD imagerel $L$SEH_begin_ecp_nistz256_avx2_gather_w7 - DD imagerel $L$SEH_end_ecp_nistz256_avx2_gather_w7 - DD imagerel $L$SEH_info_ecp_nistz256_avx2_gather_wX - DD imagerel $L$SEH_begin_ecp_nistz256_point_double - DD imagerel $L$SEH_end_ecp_nistz256_point_double - DD imagerel $L$SEH_info_ecp_nistz256_point_double - - DD imagerel $L$SEH_begin_ecp_nistz256_point_add - DD imagerel $L$SEH_end_ecp_nistz256_point_add - DD imagerel $L$SEH_info_ecp_nistz256_point_add - - DD imagerel $L$SEH_begin_ecp_nistz256_point_add_affine - DD imagerel $L$SEH_end_ecp_nistz256_point_add_affine - DD imagerel $L$SEH_info_ecp_nistz256_point_add_affine - DD imagerel $L$SEH_begin_ecp_nistz256_point_doublex - DD imagerel $L$SEH_end_ecp_nistz256_point_doublex - DD imagerel $L$SEH_info_ecp_nistz256_point_doublex - - DD imagerel $L$SEH_begin_ecp_nistz256_point_addx - DD imagerel $L$SEH_end_ecp_nistz256_point_addx - DD imagerel $L$SEH_info_ecp_nistz256_point_addx - - DD imagerel $L$SEH_begin_ecp_nistz256_point_add_affinex - DD imagerel $L$SEH_end_ecp_nistz256_point_add_affinex - DD imagerel $L$SEH_info_ecp_nistz256_point_add_affinex - -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + DD imagerel $L$SEH_begin_ecp_nistz256_mul_by_2 + DD imagerel $L$SEH_end_ecp_nistz256_mul_by_2 + DD imagerel $L$SEH_info_ecp_nistz256_mul_by_2 + + DD imagerel $L$SEH_begin_ecp_nistz256_div_by_2 + DD imagerel $L$SEH_end_ecp_nistz256_div_by_2 + DD imagerel $L$SEH_info_ecp_nistz256_div_by_2 + + DD imagerel $L$SEH_begin_ecp_nistz256_mul_by_3 + DD imagerel $L$SEH_end_ecp_nistz256_mul_by_3 + DD imagerel $L$SEH_info_ecp_nistz256_mul_by_3 + + DD imagerel $L$SEH_begin_ecp_nistz256_add + DD imagerel $L$SEH_end_ecp_nistz256_add + DD imagerel $L$SEH_info_ecp_nistz256_add + + DD imagerel $L$SEH_begin_ecp_nistz256_sub + DD imagerel $L$SEH_end_ecp_nistz256_sub + DD imagerel $L$SEH_info_ecp_nistz256_sub + + DD imagerel $L$SEH_begin_ecp_nistz256_neg + DD imagerel $L$SEH_end_ecp_nistz256_neg + DD imagerel $L$SEH_info_ecp_nistz256_neg + + DD imagerel $L$SEH_begin_ecp_nistz256_ord_mul_mont + DD imagerel $L$SEH_end_ecp_nistz256_ord_mul_mont + DD imagerel $L$SEH_info_ecp_nistz256_ord_mul_mont + + DD imagerel $L$SEH_begin_ecp_nistz256_ord_sqr_mont + DD imagerel $L$SEH_end_ecp_nistz256_ord_sqr_mont + DD imagerel $L$SEH_info_ecp_nistz256_ord_sqr_mont + DD imagerel $L$SEH_begin_ecp_nistz256_ord_mul_montx + DD imagerel $L$SEH_end_ecp_nistz256_ord_mul_montx + DD imagerel $L$SEH_info_ecp_nistz256_ord_mul_montx + + DD imagerel $L$SEH_begin_ecp_nistz256_ord_sqr_montx + DD imagerel $L$SEH_end_ecp_nistz256_ord_sqr_montx + DD imagerel $L$SEH_info_ecp_nistz256_ord_sqr_montx + DD imagerel $L$SEH_begin_ecp_nistz256_to_mont + DD imagerel $L$SEH_end_ecp_nistz256_to_mont + DD imagerel $L$SEH_info_ecp_nistz256_to_mont + + DD imagerel $L$SEH_begin_ecp_nistz256_mul_mont + DD imagerel $L$SEH_end_ecp_nistz256_mul_mont + DD imagerel $L$SEH_info_ecp_nistz256_mul_mont + + DD imagerel $L$SEH_begin_ecp_nistz256_sqr_mont + DD imagerel $L$SEH_end_ecp_nistz256_sqr_mont + DD imagerel $L$SEH_info_ecp_nistz256_sqr_mont + + DD imagerel $L$SEH_begin_ecp_nistz256_from_mont + DD imagerel $L$SEH_end_ecp_nistz256_from_mont + DD imagerel $L$SEH_info_ecp_nistz256_from_mont + + DD imagerel $L$SEH_begin_ecp_nistz256_gather_w5 + DD imagerel $L$SEH_end_ecp_nistz256_gather_w5 + DD imagerel $L$SEH_info_ecp_nistz256_gather_wX + + DD imagerel $L$SEH_begin_ecp_nistz256_gather_w7 + DD imagerel $L$SEH_end_ecp_nistz256_gather_w7 + DD imagerel $L$SEH_info_ecp_nistz256_gather_wX + DD imagerel $L$SEH_begin_ecp_nistz256_avx2_gather_w5 + DD imagerel $L$SEH_end_ecp_nistz256_avx2_gather_w5 + DD imagerel $L$SEH_info_ecp_nistz256_avx2_gather_wX + + DD imagerel $L$SEH_begin_ecp_nistz256_avx2_gather_w7 + DD imagerel $L$SEH_end_ecp_nistz256_avx2_gather_w7 + DD imagerel $L$SEH_info_ecp_nistz256_avx2_gather_wX + DD imagerel $L$SEH_begin_ecp_nistz256_point_double + DD imagerel $L$SEH_end_ecp_nistz256_point_double + DD imagerel $L$SEH_info_ecp_nistz256_point_double + + DD imagerel $L$SEH_begin_ecp_nistz256_point_add + DD imagerel $L$SEH_end_ecp_nistz256_point_add + DD imagerel $L$SEH_info_ecp_nistz256_point_add + + DD imagerel $L$SEH_begin_ecp_nistz256_point_add_affine + DD imagerel $L$SEH_end_ecp_nistz256_point_add_affine + DD imagerel $L$SEH_info_ecp_nistz256_point_add_affine + DD imagerel $L$SEH_begin_ecp_nistz256_point_doublex + DD imagerel $L$SEH_end_ecp_nistz256_point_doublex + DD imagerel $L$SEH_info_ecp_nistz256_point_doublex + + DD imagerel $L$SEH_begin_ecp_nistz256_point_addx + DD imagerel $L$SEH_end_ecp_nistz256_point_addx + DD imagerel $L$SEH_info_ecp_nistz256_point_addx + + DD imagerel $L$SEH_begin_ecp_nistz256_point_add_affinex + DD imagerel $L$SEH_end_ecp_nistz256_point_add_affinex + DD imagerel $L$SEH_info_ecp_nistz256_point_add_affinex + +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_ecp_nistz256_mul_by_2:: +$L$SEH_info_ecp_nistz256_mul_by_2:: DB 9,0,0,0 - DD imagerel short_handler - DD imagerel $L$mul_by_2_body,imagerel $L$mul_by_2_epilogue -$L$SEH_info_ecp_nistz256_div_by_2:: + DD imagerel short_handler + DD imagerel $L$mul_by_2_body,imagerel $L$mul_by_2_epilogue +$L$SEH_info_ecp_nistz256_div_by_2:: DB 9,0,0,0 - DD imagerel short_handler - DD imagerel $L$div_by_2_body,imagerel $L$div_by_2_epilogue -$L$SEH_info_ecp_nistz256_mul_by_3:: + DD imagerel short_handler + DD imagerel $L$div_by_2_body,imagerel $L$div_by_2_epilogue +$L$SEH_info_ecp_nistz256_mul_by_3:: DB 9,0,0,0 - DD imagerel short_handler - DD imagerel $L$mul_by_3_body,imagerel $L$mul_by_3_epilogue -$L$SEH_info_ecp_nistz256_add:: + DD imagerel short_handler + DD imagerel $L$mul_by_3_body,imagerel $L$mul_by_3_epilogue +$L$SEH_info_ecp_nistz256_add:: DB 9,0,0,0 - DD imagerel short_handler - DD imagerel $L$add_body,imagerel $L$add_epilogue -$L$SEH_info_ecp_nistz256_sub:: + DD imagerel short_handler + DD imagerel $L$add_body,imagerel $L$add_epilogue +$L$SEH_info_ecp_nistz256_sub:: DB 9,0,0,0 - DD imagerel short_handler - DD imagerel $L$sub_body,imagerel $L$sub_epilogue -$L$SEH_info_ecp_nistz256_neg:: + DD imagerel short_handler + DD imagerel $L$sub_body,imagerel $L$sub_epilogue +$L$SEH_info_ecp_nistz256_neg:: DB 9,0,0,0 - DD imagerel short_handler - DD imagerel $L$neg_body,imagerel $L$neg_epilogue -$L$SEH_info_ecp_nistz256_ord_mul_mont:: + DD imagerel short_handler + DD imagerel $L$neg_body,imagerel $L$neg_epilogue +$L$SEH_info_ecp_nistz256_ord_mul_mont:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$ord_mul_body,imagerel $L$ord_mul_epilogue + DD imagerel full_handler + DD imagerel $L$ord_mul_body,imagerel $L$ord_mul_epilogue DD 48,0 -$L$SEH_info_ecp_nistz256_ord_sqr_mont:: +$L$SEH_info_ecp_nistz256_ord_sqr_mont:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$ord_sqr_body,imagerel $L$ord_sqr_epilogue + DD imagerel full_handler + DD imagerel $L$ord_sqr_body,imagerel $L$ord_sqr_epilogue DD 48,0 -$L$SEH_info_ecp_nistz256_ord_mul_montx:: +$L$SEH_info_ecp_nistz256_ord_mul_montx:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$ord_mulx_body,imagerel $L$ord_mulx_epilogue + DD imagerel full_handler + DD imagerel $L$ord_mulx_body,imagerel $L$ord_mulx_epilogue DD 48,0 -$L$SEH_info_ecp_nistz256_ord_sqr_montx:: +$L$SEH_info_ecp_nistz256_ord_sqr_montx:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$ord_sqrx_body,imagerel $L$ord_sqrx_epilogue + DD imagerel full_handler + DD imagerel $L$ord_sqrx_body,imagerel $L$ord_sqrx_epilogue DD 48,0 -$L$SEH_info_ecp_nistz256_to_mont:: +$L$SEH_info_ecp_nistz256_to_mont:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$mul_body,imagerel $L$mul_epilogue + DD imagerel full_handler + DD imagerel $L$mul_body,imagerel $L$mul_epilogue DD 48,0 -$L$SEH_info_ecp_nistz256_mul_mont:: +$L$SEH_info_ecp_nistz256_mul_mont:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$mul_body,imagerel $L$mul_epilogue + DD imagerel full_handler + DD imagerel $L$mul_body,imagerel $L$mul_epilogue DD 48,0 -$L$SEH_info_ecp_nistz256_sqr_mont:: +$L$SEH_info_ecp_nistz256_sqr_mont:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$sqr_body,imagerel $L$sqr_epilogue + DD imagerel full_handler + DD imagerel $L$sqr_body,imagerel $L$sqr_epilogue DD 48,0 -$L$SEH_info_ecp_nistz256_from_mont:: +$L$SEH_info_ecp_nistz256_from_mont:: DB 9,0,0,0 - DD imagerel short_handler - DD imagerel $L$from_body,imagerel $L$from_epilogue -$L$SEH_info_ecp_nistz256_gather_wX:: -DB 001h,033h,016h,000h -DB 033h,0f8h,009h,000h -DB 02eh,0e8h,008h,000h -DB 029h,0d8h,007h,000h -DB 024h,0c8h,006h,000h -DB 01fh,0b8h,005h,000h -DB 01ah,0a8h,004h,000h -DB 015h,098h,003h,000h -DB 010h,088h,002h,000h -DB 00ch,078h,001h,000h -DB 008h,068h,000h,000h -DB 004h,001h,015h,000h + DD imagerel short_handler + DD imagerel $L$from_body,imagerel $L$from_epilogue +$L$SEH_info_ecp_nistz256_gather_wX:: +DB 001h,033h,016h,000h +DB 033h,0f8h,009h,000h +DB 02eh,0e8h,008h,000h +DB 029h,0d8h,007h,000h +DB 024h,0c8h,006h,000h +DB 01fh,0b8h,005h,000h +DB 01ah,0a8h,004h,000h +DB 015h,098h,003h,000h +DB 010h,088h,002h,000h +DB 00ch,078h,001h,000h +DB 008h,068h,000h,000h +DB 004h,001h,015h,000h ALIGN 8 -$L$SEH_info_ecp_nistz256_avx2_gather_wX:: -DB 001h,036h,017h,00bh -DB 036h,0f8h,009h,000h -DB 031h,0e8h,008h,000h -DB 02ch,0d8h,007h,000h -DB 027h,0c8h,006h,000h -DB 022h,0b8h,005h,000h -DB 01dh,0a8h,004h,000h -DB 018h,098h,003h,000h -DB 013h,088h,002h,000h -DB 00eh,078h,001h,000h -DB 009h,068h,000h,000h -DB 004h,001h,015h,000h -DB 000h,0b3h,000h,000h +$L$SEH_info_ecp_nistz256_avx2_gather_wX:: +DB 001h,036h,017h,00bh +DB 036h,0f8h,009h,000h +DB 031h,0e8h,008h,000h +DB 02ch,0d8h,007h,000h +DB 027h,0c8h,006h,000h +DB 022h,0b8h,005h,000h +DB 01dh,0a8h,004h,000h +DB 018h,098h,003h,000h +DB 013h,088h,002h,000h +DB 00eh,078h,001h,000h +DB 009h,068h,000h,000h +DB 004h,001h,015h,000h +DB 000h,0b3h,000h,000h ALIGN 8 -$L$SEH_info_ecp_nistz256_point_double:: +$L$SEH_info_ecp_nistz256_point_double:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$point_doubleq_body,imagerel $L$point_doubleq_epilogue + DD imagerel full_handler + DD imagerel $L$point_doubleq_body,imagerel $L$point_doubleq_epilogue DD 32*5+56,0 -$L$SEH_info_ecp_nistz256_point_add:: +$L$SEH_info_ecp_nistz256_point_add:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$point_addq_body,imagerel $L$point_addq_epilogue + DD imagerel full_handler + DD imagerel $L$point_addq_body,imagerel $L$point_addq_epilogue DD 32*18+56,0 -$L$SEH_info_ecp_nistz256_point_add_affine:: +$L$SEH_info_ecp_nistz256_point_add_affine:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$add_affineq_body,imagerel $L$add_affineq_epilogue + DD imagerel full_handler + DD imagerel $L$add_affineq_body,imagerel $L$add_affineq_epilogue DD 32*15+56,0 ALIGN 8 -$L$SEH_info_ecp_nistz256_point_doublex:: +$L$SEH_info_ecp_nistz256_point_doublex:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$point_doublex_body,imagerel $L$point_doublex_epilogue + DD imagerel full_handler + DD imagerel $L$point_doublex_body,imagerel $L$point_doublex_epilogue DD 32*5+56,0 -$L$SEH_info_ecp_nistz256_point_addx:: +$L$SEH_info_ecp_nistz256_point_addx:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$point_addx_body,imagerel $L$point_addx_epilogue + DD imagerel full_handler + DD imagerel $L$point_addx_body,imagerel $L$point_addx_epilogue DD 32*18+56,0 -$L$SEH_info_ecp_nistz256_point_add_affinex:: +$L$SEH_info_ecp_nistz256_point_add_affinex:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$add_affinex_body,imagerel $L$add_affinex_epilogue + DD imagerel full_handler + DD imagerel $L$add_affinex_body,imagerel $L$add_affinex_epilogue DD 32*15+56,0 - -.xdata ENDS -END + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/ec/x25519-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/ec/x25519-x86_64.masm index 4406b2634c..37662eccbb 100644 --- a/contrib/libs/openssl/asm/windows/crypto/ec/x25519-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/ec/x25519-x86_64.masm @@ -1,14 +1,14 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -PUBLIC x25519_fe51_mul +PUBLIC x25519_fe51_mul ALIGN 32 -x25519_fe51_mul PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +x25519_fe51_mul PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_x25519_fe51_mul:: +$L$SEH_begin_x25519_fe51_mul:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -27,149 +27,149 @@ $L$SEH_begin_x25519_fe51_mul:: push r15 - lea rsp,QWORD PTR[((-40))+rsp] + lea rsp,QWORD PTR[((-40))+rsp] -$L$fe51_mul_body:: +$L$fe51_mul_body:: - mov rax,QWORD PTR[rsi] - mov r11,QWORD PTR[rdx] - mov r12,QWORD PTR[8+rdx] - mov r13,QWORD PTR[16+rdx] - mov rbp,QWORD PTR[24+rdx] - mov r14,QWORD PTR[32+rdx] + mov rax,QWORD PTR[rsi] + mov r11,QWORD PTR[rdx] + mov r12,QWORD PTR[8+rdx] + mov r13,QWORD PTR[16+rdx] + mov rbp,QWORD PTR[24+rdx] + mov r14,QWORD PTR[32+rdx] - mov QWORD PTR[32+rsp],rdi + mov QWORD PTR[32+rsp],rdi mov rdi,rax mul r11 - mov QWORD PTR[rsp],r11 + mov QWORD PTR[rsp],r11 mov rbx,rax mov rax,rdi mov rcx,rdx mul r12 - mov QWORD PTR[8+rsp],r12 + mov QWORD PTR[8+rsp],r12 mov r8,rax mov rax,rdi - lea r15,QWORD PTR[r14*8+r14] + lea r15,QWORD PTR[r14*8+r14] mov r9,rdx mul r13 - mov QWORD PTR[16+rsp],r13 + mov QWORD PTR[16+rsp],r13 mov r10,rax mov rax,rdi - lea rdi,QWORD PTR[r15*2+r14] + lea rdi,QWORD PTR[r15*2+r14] mov r11,rdx mul rbp mov r12,rax - mov rax,QWORD PTR[rsi] + mov rax,QWORD PTR[rsi] mov r13,rdx mul r14 mov r14,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] mov r15,rdx mul rdi add rbx,rax - mov rax,QWORD PTR[16+rsi] + mov rax,QWORD PTR[16+rsi] adc rcx,rdx mul rdi add r8,rax - mov rax,QWORD PTR[24+rsi] + mov rax,QWORD PTR[24+rsi] adc r9,rdx mul rdi add r10,rax - mov rax,QWORD PTR[32+rsi] + mov rax,QWORD PTR[32+rsi] adc r11,rdx mul rdi imul rdi,rbp,19 add r12,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] adc r13,rdx mul rbp - mov rbp,QWORD PTR[16+rsp] + mov rbp,QWORD PTR[16+rsp] add r14,rax - mov rax,QWORD PTR[16+rsi] + mov rax,QWORD PTR[16+rsi] adc r15,rdx mul rdi add rbx,rax - mov rax,QWORD PTR[24+rsi] + mov rax,QWORD PTR[24+rsi] adc rcx,rdx mul rdi add r8,rax - mov rax,QWORD PTR[32+rsi] + mov rax,QWORD PTR[32+rsi] adc r9,rdx mul rdi imul rdi,rbp,19 add r10,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] adc r11,rdx mul rbp add r12,rax - mov rax,QWORD PTR[16+rsi] + mov rax,QWORD PTR[16+rsi] adc r13,rdx mul rbp - mov rbp,QWORD PTR[8+rsp] + mov rbp,QWORD PTR[8+rsp] add r14,rax - mov rax,QWORD PTR[24+rsi] + mov rax,QWORD PTR[24+rsi] adc r15,rdx mul rdi add rbx,rax - mov rax,QWORD PTR[32+rsi] + mov rax,QWORD PTR[32+rsi] adc rcx,rdx mul rdi add r8,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] adc r9,rdx mul rbp imul rdi,rbp,19 add r10,rax - mov rax,QWORD PTR[16+rsi] + mov rax,QWORD PTR[16+rsi] adc r11,rdx mul rbp add r12,rax - mov rax,QWORD PTR[24+rsi] + mov rax,QWORD PTR[24+rsi] adc r13,rdx mul rbp - mov rbp,QWORD PTR[rsp] + mov rbp,QWORD PTR[rsp] add r14,rax - mov rax,QWORD PTR[32+rsi] + mov rax,QWORD PTR[32+rsi] adc r15,rdx mul rdi add rbx,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] adc rcx,rdx mul rbp add r8,rax - mov rax,QWORD PTR[16+rsi] + mov rax,QWORD PTR[16+rsi] adc r9,rdx mul rbp add r10,rax - mov rax,QWORD PTR[24+rsi] + mov rax,QWORD PTR[24+rsi] adc r11,rdx mul rbp add r12,rax - mov rax,QWORD PTR[32+rsi] + mov rax,QWORD PTR[32+rsi] adc r13,rdx mul rbp add r14,rax adc r15,rdx - mov rdi,QWORD PTR[32+rsp] - jmp $L$reduce51 -$L$fe51_mul_epilogue:: + mov rdi,QWORD PTR[32+rsp] + jmp $L$reduce51 +$L$fe51_mul_epilogue:: -$L$SEH_end_x25519_fe51_mul:: -x25519_fe51_mul ENDP +$L$SEH_end_x25519_fe51_mul:: +x25519_fe51_mul ENDP -PUBLIC x25519_fe51_sqr +PUBLIC x25519_fe51_sqr ALIGN 32 -x25519_fe51_sqr PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +x25519_fe51_sqr PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_x25519_fe51_sqr:: +$L$SEH_begin_x25519_fe51_sqr:: mov rdi,rcx mov rsi,rdx @@ -187,28 +187,28 @@ $L$SEH_begin_x25519_fe51_sqr:: push r15 - lea rsp,QWORD PTR[((-40))+rsp] + lea rsp,QWORD PTR[((-40))+rsp] -$L$fe51_sqr_body:: +$L$fe51_sqr_body:: - mov rax,QWORD PTR[rsi] - mov r15,QWORD PTR[16+rsi] - mov rbp,QWORD PTR[32+rsi] + mov rax,QWORD PTR[rsi] + mov r15,QWORD PTR[16+rsi] + mov rbp,QWORD PTR[32+rsi] - mov QWORD PTR[32+rsp],rdi - lea r14,QWORD PTR[rax*1+rax] + mov QWORD PTR[32+rsp],rdi + lea r14,QWORD PTR[rax*1+rax] mul rax mov rbx,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] mov rcx,rdx mul r14 mov r8,rax mov rax,r15 - mov QWORD PTR[rsp],r15 + mov QWORD PTR[rsp],r15 mov r9,rdx mul r14 mov r10,rax - mov rax,QWORD PTR[24+rsi] + mov rax,QWORD PTR[24+rsi] mov r11,rdx imul rdi,rbp,19 mul r14 @@ -222,14 +222,14 @@ $L$fe51_sqr_body:: mul rdi add r12,rax - mov rax,QWORD PTR[8+rsi] + mov rax,QWORD PTR[8+rsi] adc r13,rdx - mov rsi,QWORD PTR[24+rsi] - lea rbp,QWORD PTR[rax*1+rax] + mov rsi,QWORD PTR[24+rsi] + lea rbp,QWORD PTR[rax*1+rax] mul rax add r10,rax - mov rax,QWORD PTR[rsp] + mov rax,QWORD PTR[rsp] adc r11,rdx mul rbp add r12,rax @@ -242,7 +242,7 @@ $L$fe51_sqr_body:: imul rbp,rsi,19 mul rdi add rbx,rax - lea rax,QWORD PTR[rsi*1+rsi] + lea rax,QWORD PTR[rsi*1+rsi] adc rcx,rdx mul rdi @@ -251,10 +251,10 @@ $L$fe51_sqr_body:: adc r11,rdx mul rbp add r8,rax - mov rax,QWORD PTR[rsp] + mov rax,QWORD PTR[rsp] adc r9,rdx - lea rsi,QWORD PTR[rax*1+rax] + lea rsi,QWORD PTR[rax*1+rax] mul rax add r14,rax mov rax,rbp @@ -267,12 +267,12 @@ $L$fe51_sqr_body:: add r8,rax adc r9,rdx - mov rdi,QWORD PTR[32+rsp] - jmp $L$reduce51 + mov rdi,QWORD PTR[32+rsp] + jmp $L$reduce51 ALIGN 32 -$L$reduce51:: - mov rbp,07ffffffffffffh +$L$reduce51:: + mov rbp,07ffffffffffffh mov rdx,r10 shr r10,51 @@ -311,8 +311,8 @@ $L$reduce51:: and r10,rbp or r15,r14 - lea r14,QWORD PTR[r15*8+r15] - lea r15,QWORD PTR[r14*2+r15] + lea r14,QWORD PTR[r15*8+r15] + lea r15,QWORD PTR[r14*2+r15] add rax,r15 mov r8,rdx @@ -325,42 +325,42 @@ $L$reduce51:: shr r9,51 add rcx,r9 - mov QWORD PTR[rdi],rax - mov QWORD PTR[8+rdi],rcx - mov QWORD PTR[16+rdi],rdx - mov QWORD PTR[24+rdi],rbx - mov QWORD PTR[32+rdi],r10 + mov QWORD PTR[rdi],rax + mov QWORD PTR[8+rdi],rcx + mov QWORD PTR[16+rdi],rdx + mov QWORD PTR[24+rdi],rbx + mov QWORD PTR[32+rdi],r10 - mov r15,QWORD PTR[40+rsp] + mov r15,QWORD PTR[40+rsp] - mov r14,QWORD PTR[48+rsp] + mov r14,QWORD PTR[48+rsp] - mov r13,QWORD PTR[56+rsp] + mov r13,QWORD PTR[56+rsp] - mov r12,QWORD PTR[64+rsp] + mov r12,QWORD PTR[64+rsp] - mov rbx,QWORD PTR[72+rsp] + mov rbx,QWORD PTR[72+rsp] - mov rbp,QWORD PTR[80+rsp] + mov rbp,QWORD PTR[80+rsp] - lea rsp,QWORD PTR[88+rsp] + lea rsp,QWORD PTR[88+rsp] -$L$fe51_sqr_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$fe51_sqr_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_x25519_fe51_sqr:: -x25519_fe51_sqr ENDP +$L$SEH_end_x25519_fe51_sqr:: +x25519_fe51_sqr ENDP -PUBLIC x25519_fe51_mul121666 +PUBLIC x25519_fe51_mul121666 ALIGN 32 -x25519_fe51_mul121666 PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +x25519_fe51_mul121666 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_x25519_fe51_mul121666:: +$L$SEH_begin_x25519_fe51_mul121666:: mov rdi,rcx mov rsi,rdx @@ -378,59 +378,59 @@ $L$SEH_begin_x25519_fe51_mul121666:: push r15 - lea rsp,QWORD PTR[((-40))+rsp] + lea rsp,QWORD PTR[((-40))+rsp] -$L$fe51_mul121666_body:: +$L$fe51_mul121666_body:: mov eax,121666 - mul QWORD PTR[rsi] + mul QWORD PTR[rsi] mov rbx,rax mov eax,121666 mov rcx,rdx - mul QWORD PTR[8+rsi] + mul QWORD PTR[8+rsi] mov r8,rax mov eax,121666 mov r9,rdx - mul QWORD PTR[16+rsi] + mul QWORD PTR[16+rsi] mov r10,rax mov eax,121666 mov r11,rdx - mul QWORD PTR[24+rsi] + mul QWORD PTR[24+rsi] mov r12,rax mov eax,121666 mov r13,rdx - mul QWORD PTR[32+rsi] + mul QWORD PTR[32+rsi] mov r14,rax mov r15,rdx - jmp $L$reduce51 -$L$fe51_mul121666_epilogue:: + jmp $L$reduce51 +$L$fe51_mul121666_epilogue:: -$L$SEH_end_x25519_fe51_mul121666:: -x25519_fe51_mul121666 ENDP -EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC x25519_fe64_eligible +$L$SEH_end_x25519_fe51_mul121666:: +x25519_fe51_mul121666 ENDP +EXTERN OPENSSL_ia32cap_P:NEAR +PUBLIC x25519_fe64_eligible ALIGN 32 -x25519_fe64_eligible PROC PUBLIC - - mov ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] +x25519_fe64_eligible PROC PUBLIC + + mov ecx,DWORD PTR[((OPENSSL_ia32cap_P+8))] xor eax,eax - and ecx,080100h - cmp ecx,080100h + and ecx,080100h + cmp ecx,080100h cmove eax,ecx DB 0F3h,0C3h ;repret -x25519_fe64_eligible ENDP +x25519_fe64_eligible ENDP -PUBLIC x25519_fe64_mul +PUBLIC x25519_fe64_mul ALIGN 32 -x25519_fe64_mul PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +x25519_fe64_mul PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_x25519_fe64_mul:: +$L$SEH_begin_x25519_fe64_mul:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -451,16 +451,16 @@ $L$SEH_begin_x25519_fe64_mul:: push rdi - lea rsp,QWORD PTR[((-16))+rsp] + lea rsp,QWORD PTR[((-16))+rsp] -$L$fe64_mul_body:: +$L$fe64_mul_body:: mov rax,rdx - mov rbp,QWORD PTR[rdx] - mov rdx,QWORD PTR[rsi] - mov rcx,QWORD PTR[8+rax] - mov r14,QWORD PTR[16+rax] - mov r15,QWORD PTR[24+rax] + mov rbp,QWORD PTR[rdx] + mov rdx,QWORD PTR[rsi] + mov rcx,QWORD PTR[8+rax] + mov r14,QWORD PTR[16+rax] + mov r15,QWORD PTR[24+rax] mulx rax,r8,rbp xor edi,edi @@ -469,9 +469,9 @@ $L$fe64_mul_body:: mulx rax,r10,r14 adcx r10,rbx mulx r12,r11,r15 - mov rdx,QWORD PTR[8+rsi] + mov rdx,QWORD PTR[8+rsi] adcx r11,rax - mov QWORD PTR[rsp],r14 + mov QWORD PTR[rsp],r14 adcx r12,rdi mulx rbx,rax,rbp @@ -484,7 +484,7 @@ $L$fe64_mul_body:: adox r11,rax adcx r12,rbx mulx r13,rax,r15 - mov rdx,QWORD PTR[16+rsi] + mov rdx,QWORD PTR[16+rsi] adox r12,rax adcx r13,rdi adox r13,rdi @@ -499,7 +499,7 @@ $L$fe64_mul_body:: adcx r12,rax adox r13,rbx mulx r14,rax,r15 - mov rdx,QWORD PTR[24+rsi] + mov rdx,QWORD PTR[24+rsi] adcx r13,rax adox r14,rdi adcx r14,rdi @@ -510,7 +510,7 @@ $L$fe64_mul_body:: mulx rbx,rax,rcx adox r12,rax adcx r13,rbx - mulx rbx,rax,QWORD PTR[rsp] + mulx rbx,rax,QWORD PTR[rsp] adox r13,rax adcx r14,rbx mulx r15,rax,r15 @@ -519,20 +519,20 @@ $L$fe64_mul_body:: adcx r15,rdi adox r15,rdi - jmp $L$reduce64 -$L$fe64_mul_epilogue:: + jmp $L$reduce64 +$L$fe64_mul_epilogue:: -$L$SEH_end_x25519_fe64_mul:: -x25519_fe64_mul ENDP +$L$SEH_end_x25519_fe64_mul:: +x25519_fe64_mul ENDP -PUBLIC x25519_fe64_sqr +PUBLIC x25519_fe64_sqr ALIGN 32 -x25519_fe64_sqr PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +x25519_fe64_sqr PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_x25519_fe64_sqr:: +$L$SEH_begin_x25519_fe64_sqr:: mov rdi,rcx mov rsi,rdx @@ -552,14 +552,14 @@ $L$SEH_begin_x25519_fe64_sqr:: push rdi - lea rsp,QWORD PTR[((-16))+rsp] + lea rsp,QWORD PTR[((-16))+rsp] -$L$fe64_sqr_body:: +$L$fe64_sqr_body:: - mov rdx,QWORD PTR[rsi] - mov rcx,QWORD PTR[8+rsi] - mov rbp,QWORD PTR[16+rsi] - mov rsi,QWORD PTR[24+rsi] + mov rdx,QWORD PTR[rsi] + mov rcx,QWORD PTR[8+rsi] + mov rbp,QWORD PTR[16+rsi] + mov rsi,QWORD PTR[24+rsi] mulx r15,r8,rdx @@ -608,10 +608,10 @@ $L$fe64_sqr_body:: adox r14,rax adcx r15,rdi adox r15,rdi - jmp $L$reduce64 + jmp $L$reduce64 ALIGN 32 -$L$reduce64:: +$L$reduce64:: mulx rbx,rax,r12 adcx r8,rax adox r9,rbx @@ -626,7 +626,7 @@ $L$reduce64:: adox r12,rdi adcx r12,rdi - mov rdi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[16+rsp] imul r12,rdx add r8,r12 @@ -638,54 +638,54 @@ $L$reduce64:: and rax,38 add r8,rax - mov QWORD PTR[8+rdi],r9 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 - mov QWORD PTR[rdi],r8 + mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[rdi],r8 - mov r15,QWORD PTR[24+rsp] + mov r15,QWORD PTR[24+rsp] - mov r14,QWORD PTR[32+rsp] + mov r14,QWORD PTR[32+rsp] - mov r13,QWORD PTR[40+rsp] + mov r13,QWORD PTR[40+rsp] - mov r12,QWORD PTR[48+rsp] + mov r12,QWORD PTR[48+rsp] - mov rbx,QWORD PTR[56+rsp] + mov rbx,QWORD PTR[56+rsp] - mov rbp,QWORD PTR[64+rsp] + mov rbp,QWORD PTR[64+rsp] - lea rsp,QWORD PTR[72+rsp] + lea rsp,QWORD PTR[72+rsp] -$L$fe64_sqr_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$fe64_sqr_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_x25519_fe64_sqr:: -x25519_fe64_sqr ENDP +$L$SEH_end_x25519_fe64_sqr:: +x25519_fe64_sqr ENDP -PUBLIC x25519_fe64_mul121666 +PUBLIC x25519_fe64_mul121666 ALIGN 32 -x25519_fe64_mul121666 PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +x25519_fe64_mul121666 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_x25519_fe64_mul121666:: +$L$SEH_begin_x25519_fe64_mul121666:: mov rdi,rcx mov rsi,rdx -$L$fe64_mul121666_body:: - +$L$fe64_mul121666_body:: + mov edx,121666 - mulx rcx,r8,QWORD PTR[rsi] - mulx rax,r9,QWORD PTR[8+rsi] + mulx rcx,r8,QWORD PTR[rsi] + mulx rax,r9,QWORD PTR[8+rsi] add r9,rcx - mulx rcx,r10,QWORD PTR[16+rsi] + mulx rcx,r10,QWORD PTR[16+rsi] adc r10,rax - mulx rax,r11,QWORD PTR[24+rsi] + mulx rax,r11,QWORD PTR[24+rsi] adc r11,rcx adc rax,0 @@ -700,138 +700,138 @@ $L$fe64_mul121666_body:: and rax,38 add r8,rax - mov QWORD PTR[8+rdi],r9 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 - mov QWORD PTR[rdi],r8 - -$L$fe64_mul121666_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[rdi],r8 + +$L$fe64_mul121666_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_x25519_fe64_mul121666:: -x25519_fe64_mul121666 ENDP +$L$SEH_end_x25519_fe64_mul121666:: +x25519_fe64_mul121666 ENDP + +PUBLIC x25519_fe64_add -PUBLIC x25519_fe64_add - ALIGN 32 -x25519_fe64_add PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +x25519_fe64_add PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_x25519_fe64_add:: +$L$SEH_begin_x25519_fe64_add:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -$L$fe64_add_body:: +$L$fe64_add_body:: - mov r8,QWORD PTR[rsi] - mov r9,QWORD PTR[8+rsi] - mov r10,QWORD PTR[16+rsi] - mov r11,QWORD PTR[24+rsi] + mov r8,QWORD PTR[rsi] + mov r9,QWORD PTR[8+rsi] + mov r10,QWORD PTR[16+rsi] + mov r11,QWORD PTR[24+rsi] + + add r8,QWORD PTR[rdx] + adc r9,QWORD PTR[8+rdx] + adc r10,QWORD PTR[16+rdx] + adc r11,QWORD PTR[24+rdx] - add r8,QWORD PTR[rdx] - adc r9,QWORD PTR[8+rdx] - adc r10,QWORD PTR[16+rdx] - adc r11,QWORD PTR[24+rdx] - sbb rax,rax and rax,38 add r8,rax adc r9,0 adc r10,0 - mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[8+rdi],r9 adc r11,0 - mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[16+rdi],r10 sbb rax,rax - mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[24+rdi],r11 and rax,38 add r8,rax - mov QWORD PTR[rdi],r8 + mov QWORD PTR[rdi],r8 -$L$fe64_add_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$fe64_add_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_x25519_fe64_add:: -x25519_fe64_add ENDP +$L$SEH_end_x25519_fe64_add:: +x25519_fe64_add ENDP + +PUBLIC x25519_fe64_sub -PUBLIC x25519_fe64_sub - ALIGN 32 -x25519_fe64_sub PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +x25519_fe64_sub PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_x25519_fe64_sub:: +$L$SEH_begin_x25519_fe64_sub:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -$L$fe64_sub_body:: +$L$fe64_sub_body:: - mov r8,QWORD PTR[rsi] - mov r9,QWORD PTR[8+rsi] - mov r10,QWORD PTR[16+rsi] - mov r11,QWORD PTR[24+rsi] + mov r8,QWORD PTR[rsi] + mov r9,QWORD PTR[8+rsi] + mov r10,QWORD PTR[16+rsi] + mov r11,QWORD PTR[24+rsi] + + sub r8,QWORD PTR[rdx] + sbb r9,QWORD PTR[8+rdx] + sbb r10,QWORD PTR[16+rdx] + sbb r11,QWORD PTR[24+rdx] - sub r8,QWORD PTR[rdx] - sbb r9,QWORD PTR[8+rdx] - sbb r10,QWORD PTR[16+rdx] - sbb r11,QWORD PTR[24+rdx] - sbb rax,rax and rax,38 sub r8,rax sbb r9,0 sbb r10,0 - mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[8+rdi],r9 sbb r11,0 - mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[16+rdi],r10 sbb rax,rax - mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[24+rdi],r11 and rax,38 sub r8,rax - mov QWORD PTR[rdi],r8 + mov QWORD PTR[rdi],r8 -$L$fe64_sub_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$fe64_sub_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_x25519_fe64_sub:: -x25519_fe64_sub ENDP +$L$SEH_end_x25519_fe64_sub:: +x25519_fe64_sub ENDP + +PUBLIC x25519_fe64_tobytes -PUBLIC x25519_fe64_tobytes - ALIGN 32 -x25519_fe64_tobytes PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +x25519_fe64_tobytes PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_x25519_fe64_tobytes:: +$L$SEH_begin_x25519_fe64_tobytes:: mov rdi,rcx mov rsi,rdx -$L$fe64_to_body:: +$L$fe64_to_body:: + + mov r8,QWORD PTR[rsi] + mov r9,QWORD PTR[8+rsi] + mov r10,QWORD PTR[16+rsi] + mov r11,QWORD PTR[24+rsi] - mov r8,QWORD PTR[rsi] - mov r9,QWORD PTR[8+rsi] - mov r10,QWORD PTR[16+rsi] - mov r11,QWORD PTR[24+rsi] - - lea rax,QWORD PTR[r11*1+r11] + lea rax,QWORD PTR[r11*1+r11] sar r11,63 shr rax,1 and r11,19 @@ -842,7 +842,7 @@ $L$fe64_to_body:: adc r10,0 adc rax,0 - lea r11,QWORD PTR[rax*1+rax] + lea r11,QWORD PTR[rax*1+rax] sar rax,63 shr r11,1 not rax @@ -853,27 +853,27 @@ $L$fe64_to_body:: sbb r10,0 sbb r11,0 - mov QWORD PTR[rdi],r8 - mov QWORD PTR[8+rdi],r9 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[rdi],r8 + mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 -$L$fe64_to_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$fe64_to_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret - -$L$SEH_end_x25519_fe64_tobytes:: -x25519_fe64_tobytes ENDP + +$L$SEH_end_x25519_fe64_tobytes:: +x25519_fe64_tobytes ENDP DB 88,50,53,53,49,57,32,112,114,105,109,105,116,105,118,101 DB 115,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82 DB 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112 DB 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -EXTERN __imp_RtlVirtualUnwind:NEAR +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -short_handler PROC PRIVATE +short_handler PROC PRIVATE push rsi push rdi push rbx @@ -885,24 +885,24 @@ short_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[152+r8] - jmp $L$common_seh_tail -short_handler ENDP + mov rax,QWORD PTR[152+r8] + jmp $L$common_seh_tail +short_handler ENDP ALIGN 16 -full_handler PROC PRIVATE +full_handler PROC PRIVATE push rsi push rdi push rbx @@ -914,65 +914,65 @@ full_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail - - mov r10d,DWORD PTR[8+r11] - lea rax,QWORD PTR[r10*1+rax] - - mov rbp,QWORD PTR[((-8))+rax] - mov rbx,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 - -$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 - - mov rdi,QWORD PTR[40+r9] + jae $L$common_seh_tail + + mov r10d,DWORD PTR[8+r11] + lea rax,QWORD PTR[r10*1+rax] + + mov rbp,QWORD PTR[((-8))+rax] + mov rbx,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 + +$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 + + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -986,89 +986,89 @@ $L$common_seh_tail:: pop rdi pop rsi DB 0F3h,0C3h ;repret -full_handler ENDP +full_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_x25519_fe51_mul - DD imagerel $L$SEH_end_x25519_fe51_mul - DD imagerel $L$SEH_info_x25519_fe51_mul - - DD imagerel $L$SEH_begin_x25519_fe51_sqr - DD imagerel $L$SEH_end_x25519_fe51_sqr - DD imagerel $L$SEH_info_x25519_fe51_sqr - - DD imagerel $L$SEH_begin_x25519_fe51_mul121666 - DD imagerel $L$SEH_end_x25519_fe51_mul121666 - DD imagerel $L$SEH_info_x25519_fe51_mul121666 - DD imagerel $L$SEH_begin_x25519_fe64_mul - DD imagerel $L$SEH_end_x25519_fe64_mul - DD imagerel $L$SEH_info_x25519_fe64_mul - - DD imagerel $L$SEH_begin_x25519_fe64_sqr - DD imagerel $L$SEH_end_x25519_fe64_sqr - DD imagerel $L$SEH_info_x25519_fe64_sqr - - DD imagerel $L$SEH_begin_x25519_fe64_mul121666 - DD imagerel $L$SEH_end_x25519_fe64_mul121666 - DD imagerel $L$SEH_info_x25519_fe64_mul121666 - - DD imagerel $L$SEH_begin_x25519_fe64_add - DD imagerel $L$SEH_end_x25519_fe64_add - DD imagerel $L$SEH_info_x25519_fe64_add - - DD imagerel $L$SEH_begin_x25519_fe64_sub - DD imagerel $L$SEH_end_x25519_fe64_sub - DD imagerel $L$SEH_info_x25519_fe64_sub - - DD imagerel $L$SEH_begin_x25519_fe64_tobytes - DD imagerel $L$SEH_end_x25519_fe64_tobytes - DD imagerel $L$SEH_info_x25519_fe64_tobytes -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + DD imagerel $L$SEH_begin_x25519_fe51_mul + DD imagerel $L$SEH_end_x25519_fe51_mul + DD imagerel $L$SEH_info_x25519_fe51_mul + + DD imagerel $L$SEH_begin_x25519_fe51_sqr + DD imagerel $L$SEH_end_x25519_fe51_sqr + DD imagerel $L$SEH_info_x25519_fe51_sqr + + DD imagerel $L$SEH_begin_x25519_fe51_mul121666 + DD imagerel $L$SEH_end_x25519_fe51_mul121666 + DD imagerel $L$SEH_info_x25519_fe51_mul121666 + DD imagerel $L$SEH_begin_x25519_fe64_mul + DD imagerel $L$SEH_end_x25519_fe64_mul + DD imagerel $L$SEH_info_x25519_fe64_mul + + DD imagerel $L$SEH_begin_x25519_fe64_sqr + DD imagerel $L$SEH_end_x25519_fe64_sqr + DD imagerel $L$SEH_info_x25519_fe64_sqr + + DD imagerel $L$SEH_begin_x25519_fe64_mul121666 + DD imagerel $L$SEH_end_x25519_fe64_mul121666 + DD imagerel $L$SEH_info_x25519_fe64_mul121666 + + DD imagerel $L$SEH_begin_x25519_fe64_add + DD imagerel $L$SEH_end_x25519_fe64_add + DD imagerel $L$SEH_info_x25519_fe64_add + + DD imagerel $L$SEH_begin_x25519_fe64_sub + DD imagerel $L$SEH_end_x25519_fe64_sub + DD imagerel $L$SEH_info_x25519_fe64_sub + + DD imagerel $L$SEH_begin_x25519_fe64_tobytes + DD imagerel $L$SEH_end_x25519_fe64_tobytes + DD imagerel $L$SEH_info_x25519_fe64_tobytes +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_x25519_fe51_mul:: +$L$SEH_info_x25519_fe51_mul:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$fe51_mul_body,imagerel $L$fe51_mul_epilogue + DD imagerel full_handler + DD imagerel $L$fe51_mul_body,imagerel $L$fe51_mul_epilogue DD 88,0 -$L$SEH_info_x25519_fe51_sqr:: +$L$SEH_info_x25519_fe51_sqr:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$fe51_sqr_body,imagerel $L$fe51_sqr_epilogue + DD imagerel full_handler + DD imagerel $L$fe51_sqr_body,imagerel $L$fe51_sqr_epilogue DD 88,0 -$L$SEH_info_x25519_fe51_mul121666:: +$L$SEH_info_x25519_fe51_mul121666:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$fe51_mul121666_body,imagerel $L$fe51_mul121666_epilogue + DD imagerel full_handler + DD imagerel $L$fe51_mul121666_body,imagerel $L$fe51_mul121666_epilogue DD 88,0 -$L$SEH_info_x25519_fe64_mul:: +$L$SEH_info_x25519_fe64_mul:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$fe64_mul_body,imagerel $L$fe64_mul_epilogue + DD imagerel full_handler + DD imagerel $L$fe64_mul_body,imagerel $L$fe64_mul_epilogue DD 72,0 -$L$SEH_info_x25519_fe64_sqr:: +$L$SEH_info_x25519_fe64_sqr:: DB 9,0,0,0 - DD imagerel full_handler - DD imagerel $L$fe64_sqr_body,imagerel $L$fe64_sqr_epilogue + DD imagerel full_handler + DD imagerel $L$fe64_sqr_body,imagerel $L$fe64_sqr_epilogue DD 72,0 -$L$SEH_info_x25519_fe64_mul121666:: +$L$SEH_info_x25519_fe64_mul121666:: DB 9,0,0,0 - DD imagerel short_handler - DD imagerel $L$fe64_mul121666_body,imagerel $L$fe64_mul121666_epilogue -$L$SEH_info_x25519_fe64_add:: + DD imagerel short_handler + DD imagerel $L$fe64_mul121666_body,imagerel $L$fe64_mul121666_epilogue +$L$SEH_info_x25519_fe64_add:: DB 9,0,0,0 - DD imagerel short_handler - DD imagerel $L$fe64_add_body,imagerel $L$fe64_add_epilogue -$L$SEH_info_x25519_fe64_sub:: + DD imagerel short_handler + DD imagerel $L$fe64_add_body,imagerel $L$fe64_add_epilogue +$L$SEH_info_x25519_fe64_sub:: DB 9,0,0,0 - DD imagerel short_handler - DD imagerel $L$fe64_sub_body,imagerel $L$fe64_sub_epilogue -$L$SEH_info_x25519_fe64_tobytes:: + DD imagerel short_handler + DD imagerel $L$fe64_sub_body,imagerel $L$fe64_sub_epilogue +$L$SEH_info_x25519_fe64_tobytes:: DB 9,0,0,0 - DD imagerel short_handler - DD imagerel $L$fe64_to_body,imagerel $L$fe64_to_epilogue - -.xdata ENDS -END + DD imagerel short_handler + DD imagerel $L$fe64_to_body,imagerel $L$fe64_to_epilogue + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/md5/md5-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/md5/md5-x86_64.masm index 7dc85380f2..6598da08d1 100644 --- a/contrib/libs/openssl/asm/windows/crypto/md5/md5-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/md5/md5-x86_64.masm @@ -1,14 +1,14 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' ALIGN 16 -PUBLIC md5_block_asm_data_order +PUBLIC md5_block_asm_data_order -md5_block_asm_data_order PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +md5_block_asm_data_order PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_md5_block_asm_data_order:: +$L$SEH_begin_md5_block_asm_data_order:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -25,18 +25,18 @@ $L$SEH_begin_md5_block_asm_data_order:: push r15 -$L$prologue:: +$L$prologue:: mov rbp,rdi shl rdx,6 - lea rdi,QWORD PTR[rdx*1+rsi] - mov eax,DWORD PTR[rbp] - mov ebx,DWORD PTR[4+rbp] - mov ecx,DWORD PTR[8+rbp] - mov edx,DWORD PTR[12+rbp] + lea rdi,QWORD PTR[rdx*1+rsi] + mov eax,DWORD PTR[rbp] + mov ebx,DWORD PTR[4+rbp] + mov ecx,DWORD PTR[8+rbp] + mov edx,DWORD PTR[12+rbp] @@ -45,155 +45,155 @@ $L$prologue:: cmp rsi,rdi - je $L$end + je $L$end -$L$loop:: +$L$loop:: mov r8d,eax mov r9d,ebx mov r14d,ecx mov r15d,edx - mov r10d,DWORD PTR[rsi] + mov r10d,DWORD PTR[rsi] mov r11d,edx xor r11d,ecx - lea eax,DWORD PTR[((-680876936))+r10*1+rax] + lea eax,DWORD PTR[((-680876936))+r10*1+rax] and r11d,ebx - mov r10d,DWORD PTR[4+rsi] + mov r10d,DWORD PTR[4+rsi] xor r11d,edx add eax,r11d rol eax,7 mov r11d,ecx add eax,ebx xor r11d,ebx - lea edx,DWORD PTR[((-389564586))+r10*1+rdx] + lea edx,DWORD PTR[((-389564586))+r10*1+rdx] and r11d,eax - mov r10d,DWORD PTR[8+rsi] + mov r10d,DWORD PTR[8+rsi] xor r11d,ecx add edx,r11d rol edx,12 mov r11d,ebx add edx,eax xor r11d,eax - lea ecx,DWORD PTR[606105819+r10*1+rcx] + lea ecx,DWORD PTR[606105819+r10*1+rcx] and r11d,edx - mov r10d,DWORD PTR[12+rsi] + mov r10d,DWORD PTR[12+rsi] xor r11d,ebx add ecx,r11d rol ecx,17 mov r11d,eax add ecx,edx xor r11d,edx - lea ebx,DWORD PTR[((-1044525330))+r10*1+rbx] + lea ebx,DWORD PTR[((-1044525330))+r10*1+rbx] and r11d,ecx - mov r10d,DWORD PTR[16+rsi] + mov r10d,DWORD PTR[16+rsi] xor r11d,eax add ebx,r11d rol ebx,22 mov r11d,edx add ebx,ecx xor r11d,ecx - lea eax,DWORD PTR[((-176418897))+r10*1+rax] + lea eax,DWORD PTR[((-176418897))+r10*1+rax] and r11d,ebx - mov r10d,DWORD PTR[20+rsi] + mov r10d,DWORD PTR[20+rsi] xor r11d,edx add eax,r11d rol eax,7 mov r11d,ecx add eax,ebx xor r11d,ebx - lea edx,DWORD PTR[1200080426+r10*1+rdx] + lea edx,DWORD PTR[1200080426+r10*1+rdx] and r11d,eax - mov r10d,DWORD PTR[24+rsi] + mov r10d,DWORD PTR[24+rsi] xor r11d,ecx add edx,r11d rol edx,12 mov r11d,ebx add edx,eax xor r11d,eax - lea ecx,DWORD PTR[((-1473231341))+r10*1+rcx] + lea ecx,DWORD PTR[((-1473231341))+r10*1+rcx] and r11d,edx - mov r10d,DWORD PTR[28+rsi] + mov r10d,DWORD PTR[28+rsi] xor r11d,ebx add ecx,r11d rol ecx,17 mov r11d,eax add ecx,edx xor r11d,edx - lea ebx,DWORD PTR[((-45705983))+r10*1+rbx] + lea ebx,DWORD PTR[((-45705983))+r10*1+rbx] and r11d,ecx - mov r10d,DWORD PTR[32+rsi] + mov r10d,DWORD PTR[32+rsi] xor r11d,eax add ebx,r11d rol ebx,22 mov r11d,edx add ebx,ecx xor r11d,ecx - lea eax,DWORD PTR[1770035416+r10*1+rax] + lea eax,DWORD PTR[1770035416+r10*1+rax] and r11d,ebx - mov r10d,DWORD PTR[36+rsi] + mov r10d,DWORD PTR[36+rsi] xor r11d,edx add eax,r11d rol eax,7 mov r11d,ecx add eax,ebx xor r11d,ebx - lea edx,DWORD PTR[((-1958414417))+r10*1+rdx] + lea edx,DWORD PTR[((-1958414417))+r10*1+rdx] and r11d,eax - mov r10d,DWORD PTR[40+rsi] + mov r10d,DWORD PTR[40+rsi] xor r11d,ecx add edx,r11d rol edx,12 mov r11d,ebx add edx,eax xor r11d,eax - lea ecx,DWORD PTR[((-42063))+r10*1+rcx] + lea ecx,DWORD PTR[((-42063))+r10*1+rcx] and r11d,edx - mov r10d,DWORD PTR[44+rsi] + mov r10d,DWORD PTR[44+rsi] xor r11d,ebx add ecx,r11d rol ecx,17 mov r11d,eax add ecx,edx xor r11d,edx - lea ebx,DWORD PTR[((-1990404162))+r10*1+rbx] + lea ebx,DWORD PTR[((-1990404162))+r10*1+rbx] and r11d,ecx - mov r10d,DWORD PTR[48+rsi] + mov r10d,DWORD PTR[48+rsi] xor r11d,eax add ebx,r11d rol ebx,22 mov r11d,edx add ebx,ecx xor r11d,ecx - lea eax,DWORD PTR[1804603682+r10*1+rax] + lea eax,DWORD PTR[1804603682+r10*1+rax] and r11d,ebx - mov r10d,DWORD PTR[52+rsi] + mov r10d,DWORD PTR[52+rsi] xor r11d,edx add eax,r11d rol eax,7 mov r11d,ecx add eax,ebx xor r11d,ebx - lea edx,DWORD PTR[((-40341101))+r10*1+rdx] + lea edx,DWORD PTR[((-40341101))+r10*1+rdx] and r11d,eax - mov r10d,DWORD PTR[56+rsi] + mov r10d,DWORD PTR[56+rsi] xor r11d,ecx add edx,r11d rol edx,12 mov r11d,ebx add edx,eax xor r11d,eax - lea ecx,DWORD PTR[((-1502002290))+r10*1+rcx] + lea ecx,DWORD PTR[((-1502002290))+r10*1+rcx] and r11d,edx - mov r10d,DWORD PTR[60+rsi] + mov r10d,DWORD PTR[60+rsi] xor r11d,ebx add ecx,r11d rol ecx,17 mov r11d,eax add ecx,edx xor r11d,edx - lea ebx,DWORD PTR[1236535329+r10*1+rbx] + lea ebx,DWORD PTR[1236535329+r10*1+rbx] and r11d,ecx - mov r10d,DWORD PTR[4+rsi] + mov r10d,DWORD PTR[4+rsi] xor r11d,eax add ebx,r11d rol ebx,22 @@ -203,9 +203,9 @@ $L$loop:: mov r12d,edx not r11d and r12d,ebx - lea eax,DWORD PTR[((-165796510))+r10*1+rax] + lea eax,DWORD PTR[((-165796510))+r10*1+rax] and r11d,ecx - mov r10d,DWORD PTR[24+rsi] + mov r10d,DWORD PTR[24+rsi] or r12d,r11d mov r11d,ecx add eax,r12d @@ -214,9 +214,9 @@ $L$loop:: add eax,ebx not r11d and r12d,eax - lea edx,DWORD PTR[((-1069501632))+r10*1+rdx] + lea edx,DWORD PTR[((-1069501632))+r10*1+rdx] and r11d,ebx - mov r10d,DWORD PTR[44+rsi] + mov r10d,DWORD PTR[44+rsi] or r12d,r11d mov r11d,ebx add edx,r12d @@ -225,9 +225,9 @@ $L$loop:: add edx,eax not r11d and r12d,edx - lea ecx,DWORD PTR[643717713+r10*1+rcx] + lea ecx,DWORD PTR[643717713+r10*1+rcx] and r11d,eax - mov r10d,DWORD PTR[rsi] + mov r10d,DWORD PTR[rsi] or r12d,r11d mov r11d,eax add ecx,r12d @@ -236,9 +236,9 @@ $L$loop:: add ecx,edx not r11d and r12d,ecx - lea ebx,DWORD PTR[((-373897302))+r10*1+rbx] + lea ebx,DWORD PTR[((-373897302))+r10*1+rbx] and r11d,edx - mov r10d,DWORD PTR[20+rsi] + mov r10d,DWORD PTR[20+rsi] or r12d,r11d mov r11d,edx add ebx,r12d @@ -247,9 +247,9 @@ $L$loop:: add ebx,ecx not r11d and r12d,ebx - lea eax,DWORD PTR[((-701558691))+r10*1+rax] + lea eax,DWORD PTR[((-701558691))+r10*1+rax] and r11d,ecx - mov r10d,DWORD PTR[40+rsi] + mov r10d,DWORD PTR[40+rsi] or r12d,r11d mov r11d,ecx add eax,r12d @@ -258,9 +258,9 @@ $L$loop:: add eax,ebx not r11d and r12d,eax - lea edx,DWORD PTR[38016083+r10*1+rdx] + lea edx,DWORD PTR[38016083+r10*1+rdx] and r11d,ebx - mov r10d,DWORD PTR[60+rsi] + mov r10d,DWORD PTR[60+rsi] or r12d,r11d mov r11d,ebx add edx,r12d @@ -269,9 +269,9 @@ $L$loop:: add edx,eax not r11d and r12d,edx - lea ecx,DWORD PTR[((-660478335))+r10*1+rcx] + lea ecx,DWORD PTR[((-660478335))+r10*1+rcx] and r11d,eax - mov r10d,DWORD PTR[16+rsi] + mov r10d,DWORD PTR[16+rsi] or r12d,r11d mov r11d,eax add ecx,r12d @@ -280,9 +280,9 @@ $L$loop:: add ecx,edx not r11d and r12d,ecx - lea ebx,DWORD PTR[((-405537848))+r10*1+rbx] + lea ebx,DWORD PTR[((-405537848))+r10*1+rbx] and r11d,edx - mov r10d,DWORD PTR[36+rsi] + mov r10d,DWORD PTR[36+rsi] or r12d,r11d mov r11d,edx add ebx,r12d @@ -291,9 +291,9 @@ $L$loop:: add ebx,ecx not r11d and r12d,ebx - lea eax,DWORD PTR[568446438+r10*1+rax] + lea eax,DWORD PTR[568446438+r10*1+rax] and r11d,ecx - mov r10d,DWORD PTR[56+rsi] + mov r10d,DWORD PTR[56+rsi] or r12d,r11d mov r11d,ecx add eax,r12d @@ -302,9 +302,9 @@ $L$loop:: add eax,ebx not r11d and r12d,eax - lea edx,DWORD PTR[((-1019803690))+r10*1+rdx] + lea edx,DWORD PTR[((-1019803690))+r10*1+rdx] and r11d,ebx - mov r10d,DWORD PTR[12+rsi] + mov r10d,DWORD PTR[12+rsi] or r12d,r11d mov r11d,ebx add edx,r12d @@ -313,9 +313,9 @@ $L$loop:: add edx,eax not r11d and r12d,edx - lea ecx,DWORD PTR[((-187363961))+r10*1+rcx] + lea ecx,DWORD PTR[((-187363961))+r10*1+rcx] and r11d,eax - mov r10d,DWORD PTR[32+rsi] + mov r10d,DWORD PTR[32+rsi] or r12d,r11d mov r11d,eax add ecx,r12d @@ -324,9 +324,9 @@ $L$loop:: add ecx,edx not r11d and r12d,ecx - lea ebx,DWORD PTR[1163531501+r10*1+rbx] + lea ebx,DWORD PTR[1163531501+r10*1+rbx] and r11d,edx - mov r10d,DWORD PTR[52+rsi] + mov r10d,DWORD PTR[52+rsi] or r12d,r11d mov r11d,edx add ebx,r12d @@ -335,9 +335,9 @@ $L$loop:: add ebx,ecx not r11d and r12d,ebx - lea eax,DWORD PTR[((-1444681467))+r10*1+rax] + lea eax,DWORD PTR[((-1444681467))+r10*1+rax] and r11d,ecx - mov r10d,DWORD PTR[8+rsi] + mov r10d,DWORD PTR[8+rsi] or r12d,r11d mov r11d,ecx add eax,r12d @@ -346,9 +346,9 @@ $L$loop:: add eax,ebx not r11d and r12d,eax - lea edx,DWORD PTR[((-51403784))+r10*1+rdx] + lea edx,DWORD PTR[((-51403784))+r10*1+rdx] and r11d,ebx - mov r10d,DWORD PTR[28+rsi] + mov r10d,DWORD PTR[28+rsi] or r12d,r11d mov r11d,ebx add edx,r12d @@ -357,9 +357,9 @@ $L$loop:: add edx,eax not r11d and r12d,edx - lea ecx,DWORD PTR[1735328473+r10*1+rcx] + lea ecx,DWORD PTR[1735328473+r10*1+rcx] and r11d,eax - mov r10d,DWORD PTR[48+rsi] + mov r10d,DWORD PTR[48+rsi] or r12d,r11d mov r11d,eax add ecx,r12d @@ -368,9 +368,9 @@ $L$loop:: add ecx,edx not r11d and r12d,ecx - lea ebx,DWORD PTR[((-1926607734))+r10*1+rbx] + lea ebx,DWORD PTR[((-1926607734))+r10*1+rbx] and r11d,edx - mov r10d,DWORD PTR[20+rsi] + mov r10d,DWORD PTR[20+rsi] or r12d,r11d mov r11d,edx add ebx,r12d @@ -378,277 +378,277 @@ $L$loop:: rol ebx,20 add ebx,ecx mov r11d,ecx - lea eax,DWORD PTR[((-378558))+r10*1+rax] + lea eax,DWORD PTR[((-378558))+r10*1+rax] xor r11d,edx - mov r10d,DWORD PTR[32+rsi] + mov r10d,DWORD PTR[32+rsi] xor r11d,ebx add eax,r11d mov r11d,ebx rol eax,4 add eax,ebx - lea edx,DWORD PTR[((-2022574463))+r10*1+rdx] + lea edx,DWORD PTR[((-2022574463))+r10*1+rdx] xor r11d,ecx - mov r10d,DWORD PTR[44+rsi] + mov r10d,DWORD PTR[44+rsi] xor r11d,eax add edx,r11d rol edx,11 mov r11d,eax add edx,eax - lea ecx,DWORD PTR[1839030562+r10*1+rcx] + lea ecx,DWORD PTR[1839030562+r10*1+rcx] xor r11d,ebx - mov r10d,DWORD PTR[56+rsi] + mov r10d,DWORD PTR[56+rsi] xor r11d,edx add ecx,r11d mov r11d,edx rol ecx,16 add ecx,edx - lea ebx,DWORD PTR[((-35309556))+r10*1+rbx] + lea ebx,DWORD PTR[((-35309556))+r10*1+rbx] xor r11d,eax - mov r10d,DWORD PTR[4+rsi] + mov r10d,DWORD PTR[4+rsi] xor r11d,ecx add ebx,r11d rol ebx,23 mov r11d,ecx add ebx,ecx - lea eax,DWORD PTR[((-1530992060))+r10*1+rax] + lea eax,DWORD PTR[((-1530992060))+r10*1+rax] xor r11d,edx - mov r10d,DWORD PTR[16+rsi] + mov r10d,DWORD PTR[16+rsi] xor r11d,ebx add eax,r11d mov r11d,ebx rol eax,4 add eax,ebx - lea edx,DWORD PTR[1272893353+r10*1+rdx] + lea edx,DWORD PTR[1272893353+r10*1+rdx] xor r11d,ecx - mov r10d,DWORD PTR[28+rsi] + mov r10d,DWORD PTR[28+rsi] xor r11d,eax add edx,r11d rol edx,11 mov r11d,eax add edx,eax - lea ecx,DWORD PTR[((-155497632))+r10*1+rcx] + lea ecx,DWORD PTR[((-155497632))+r10*1+rcx] xor r11d,ebx - mov r10d,DWORD PTR[40+rsi] + mov r10d,DWORD PTR[40+rsi] xor r11d,edx add ecx,r11d mov r11d,edx rol ecx,16 add ecx,edx - lea ebx,DWORD PTR[((-1094730640))+r10*1+rbx] + lea ebx,DWORD PTR[((-1094730640))+r10*1+rbx] xor r11d,eax - mov r10d,DWORD PTR[52+rsi] + mov r10d,DWORD PTR[52+rsi] xor r11d,ecx add ebx,r11d rol ebx,23 mov r11d,ecx add ebx,ecx - lea eax,DWORD PTR[681279174+r10*1+rax] + lea eax,DWORD PTR[681279174+r10*1+rax] xor r11d,edx - mov r10d,DWORD PTR[rsi] + mov r10d,DWORD PTR[rsi] xor r11d,ebx add eax,r11d mov r11d,ebx rol eax,4 add eax,ebx - lea edx,DWORD PTR[((-358537222))+r10*1+rdx] + lea edx,DWORD PTR[((-358537222))+r10*1+rdx] xor r11d,ecx - mov r10d,DWORD PTR[12+rsi] + mov r10d,DWORD PTR[12+rsi] xor r11d,eax add edx,r11d rol edx,11 mov r11d,eax add edx,eax - lea ecx,DWORD PTR[((-722521979))+r10*1+rcx] + lea ecx,DWORD PTR[((-722521979))+r10*1+rcx] xor r11d,ebx - mov r10d,DWORD PTR[24+rsi] + mov r10d,DWORD PTR[24+rsi] xor r11d,edx add ecx,r11d mov r11d,edx rol ecx,16 add ecx,edx - lea ebx,DWORD PTR[76029189+r10*1+rbx] + lea ebx,DWORD PTR[76029189+r10*1+rbx] xor r11d,eax - mov r10d,DWORD PTR[36+rsi] + mov r10d,DWORD PTR[36+rsi] xor r11d,ecx add ebx,r11d rol ebx,23 mov r11d,ecx add ebx,ecx - lea eax,DWORD PTR[((-640364487))+r10*1+rax] + lea eax,DWORD PTR[((-640364487))+r10*1+rax] xor r11d,edx - mov r10d,DWORD PTR[48+rsi] + mov r10d,DWORD PTR[48+rsi] xor r11d,ebx add eax,r11d mov r11d,ebx rol eax,4 add eax,ebx - lea edx,DWORD PTR[((-421815835))+r10*1+rdx] + lea edx,DWORD PTR[((-421815835))+r10*1+rdx] xor r11d,ecx - mov r10d,DWORD PTR[60+rsi] + mov r10d,DWORD PTR[60+rsi] xor r11d,eax add edx,r11d rol edx,11 mov r11d,eax add edx,eax - lea ecx,DWORD PTR[530742520+r10*1+rcx] + lea ecx,DWORD PTR[530742520+r10*1+rcx] xor r11d,ebx - mov r10d,DWORD PTR[8+rsi] + mov r10d,DWORD PTR[8+rsi] xor r11d,edx add ecx,r11d mov r11d,edx rol ecx,16 add ecx,edx - lea ebx,DWORD PTR[((-995338651))+r10*1+rbx] + lea ebx,DWORD PTR[((-995338651))+r10*1+rbx] xor r11d,eax - mov r10d,DWORD PTR[rsi] + mov r10d,DWORD PTR[rsi] xor r11d,ecx add ebx,r11d rol ebx,23 mov r11d,ecx add ebx,ecx - mov r11d,0ffffffffh + mov r11d,0ffffffffh xor r11d,edx - lea eax,DWORD PTR[((-198630844))+r10*1+rax] + lea eax,DWORD PTR[((-198630844))+r10*1+rax] or r11d,ebx - mov r10d,DWORD PTR[28+rsi] + mov r10d,DWORD PTR[28+rsi] xor r11d,ecx add eax,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol eax,6 xor r11d,ecx add eax,ebx - lea edx,DWORD PTR[1126891415+r10*1+rdx] + lea edx,DWORD PTR[1126891415+r10*1+rdx] or r11d,eax - mov r10d,DWORD PTR[56+rsi] + mov r10d,DWORD PTR[56+rsi] xor r11d,ebx add edx,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol edx,10 xor r11d,ebx add edx,eax - lea ecx,DWORD PTR[((-1416354905))+r10*1+rcx] + lea ecx,DWORD PTR[((-1416354905))+r10*1+rcx] or r11d,edx - mov r10d,DWORD PTR[20+rsi] + mov r10d,DWORD PTR[20+rsi] xor r11d,eax add ecx,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol ecx,15 xor r11d,eax add ecx,edx - lea ebx,DWORD PTR[((-57434055))+r10*1+rbx] + lea ebx,DWORD PTR[((-57434055))+r10*1+rbx] or r11d,ecx - mov r10d,DWORD PTR[48+rsi] + mov r10d,DWORD PTR[48+rsi] xor r11d,edx add ebx,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol ebx,21 xor r11d,edx add ebx,ecx - lea eax,DWORD PTR[1700485571+r10*1+rax] + lea eax,DWORD PTR[1700485571+r10*1+rax] or r11d,ebx - mov r10d,DWORD PTR[12+rsi] + mov r10d,DWORD PTR[12+rsi] xor r11d,ecx add eax,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol eax,6 xor r11d,ecx add eax,ebx - lea edx,DWORD PTR[((-1894986606))+r10*1+rdx] + lea edx,DWORD PTR[((-1894986606))+r10*1+rdx] or r11d,eax - mov r10d,DWORD PTR[40+rsi] + mov r10d,DWORD PTR[40+rsi] xor r11d,ebx add edx,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol edx,10 xor r11d,ebx add edx,eax - lea ecx,DWORD PTR[((-1051523))+r10*1+rcx] + lea ecx,DWORD PTR[((-1051523))+r10*1+rcx] or r11d,edx - mov r10d,DWORD PTR[4+rsi] + mov r10d,DWORD PTR[4+rsi] xor r11d,eax add ecx,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol ecx,15 xor r11d,eax add ecx,edx - lea ebx,DWORD PTR[((-2054922799))+r10*1+rbx] + lea ebx,DWORD PTR[((-2054922799))+r10*1+rbx] or r11d,ecx - mov r10d,DWORD PTR[32+rsi] + mov r10d,DWORD PTR[32+rsi] xor r11d,edx add ebx,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol ebx,21 xor r11d,edx add ebx,ecx - lea eax,DWORD PTR[1873313359+r10*1+rax] + lea eax,DWORD PTR[1873313359+r10*1+rax] or r11d,ebx - mov r10d,DWORD PTR[60+rsi] + mov r10d,DWORD PTR[60+rsi] xor r11d,ecx add eax,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol eax,6 xor r11d,ecx add eax,ebx - lea edx,DWORD PTR[((-30611744))+r10*1+rdx] + lea edx,DWORD PTR[((-30611744))+r10*1+rdx] or r11d,eax - mov r10d,DWORD PTR[24+rsi] + mov r10d,DWORD PTR[24+rsi] xor r11d,ebx add edx,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol edx,10 xor r11d,ebx add edx,eax - lea ecx,DWORD PTR[((-1560198380))+r10*1+rcx] + lea ecx,DWORD PTR[((-1560198380))+r10*1+rcx] or r11d,edx - mov r10d,DWORD PTR[52+rsi] + mov r10d,DWORD PTR[52+rsi] xor r11d,eax add ecx,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol ecx,15 xor r11d,eax add ecx,edx - lea ebx,DWORD PTR[1309151649+r10*1+rbx] + lea ebx,DWORD PTR[1309151649+r10*1+rbx] or r11d,ecx - mov r10d,DWORD PTR[16+rsi] + mov r10d,DWORD PTR[16+rsi] xor r11d,edx add ebx,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol ebx,21 xor r11d,edx add ebx,ecx - lea eax,DWORD PTR[((-145523070))+r10*1+rax] + lea eax,DWORD PTR[((-145523070))+r10*1+rax] or r11d,ebx - mov r10d,DWORD PTR[44+rsi] + mov r10d,DWORD PTR[44+rsi] xor r11d,ecx add eax,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol eax,6 xor r11d,ecx add eax,ebx - lea edx,DWORD PTR[((-1120210379))+r10*1+rdx] + lea edx,DWORD PTR[((-1120210379))+r10*1+rdx] or r11d,eax - mov r10d,DWORD PTR[8+rsi] + mov r10d,DWORD PTR[8+rsi] xor r11d,ebx add edx,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol edx,10 xor r11d,ebx add edx,eax - lea ecx,DWORD PTR[718787259+r10*1+rcx] + lea ecx,DWORD PTR[718787259+r10*1+rcx] or r11d,edx - mov r10d,DWORD PTR[36+rsi] + mov r10d,DWORD PTR[36+rsi] xor r11d,eax add ecx,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol ecx,15 xor r11d,eax add ecx,edx - lea ebx,DWORD PTR[((-343485551))+r10*1+rbx] + lea ebx,DWORD PTR[((-343485551))+r10*1+rbx] or r11d,ecx - mov r10d,DWORD PTR[rsi] + mov r10d,DWORD PTR[rsi] xor r11d,edx add ebx,r11d - mov r11d,0ffffffffh + mov r11d,0ffffffffh rol ebx,21 xor r11d,edx add ebx,ecx @@ -661,38 +661,38 @@ $L$loop:: add rsi,64 cmp rsi,rdi - jb $L$loop + jb $L$loop -$L$end:: - mov DWORD PTR[rbp],eax - mov DWORD PTR[4+rbp],ebx - mov DWORD PTR[8+rbp],ecx - mov DWORD PTR[12+rbp],edx +$L$end:: + mov DWORD PTR[rbp],eax + mov DWORD PTR[4+rbp],ebx + mov DWORD PTR[8+rbp],ecx + mov DWORD PTR[12+rbp],edx - mov r15,QWORD PTR[rsp] + mov r15,QWORD PTR[rsp] - mov r14,QWORD PTR[8+rsp] + mov r14,QWORD PTR[8+rsp] - mov r12,QWORD PTR[16+rsp] + mov r12,QWORD PTR[16+rsp] - mov rbx,QWORD PTR[24+rsp] + mov rbx,QWORD PTR[24+rsp] - mov rbp,QWORD PTR[32+rsp] + mov rbp,QWORD PTR[32+rsp] add rsp,40 -$L$epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_md5_block_asm_data_order:: -md5_block_asm_data_order ENDP -EXTERN __imp_RtlVirtualUnwind:NEAR +$L$SEH_end_md5_block_asm_data_order:: +md5_block_asm_data_order ENDP +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -704,57 +704,57 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - lea r10,QWORD PTR[$L$prologue] + lea r10,QWORD PTR[$L$prologue] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - lea r10,QWORD PTR[$L$epilogue] + lea r10,QWORD PTR[$L$epilogue] cmp rbx,r10 - jae $L$in_prologue - - lea rax,QWORD PTR[40+rax] - - mov rbp,QWORD PTR[((-8))+rax] - mov rbx,QWORD PTR[((-16))+rax] - mov r12,QWORD PTR[((-24))+rax] - mov r14,QWORD PTR[((-32))+rax] - mov r15,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[232+r8],r14 - mov QWORD PTR[240+r8],r15 - -$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 - - mov rdi,QWORD PTR[40+r9] + jae $L$in_prologue + + lea rax,QWORD PTR[40+rax] + + mov rbp,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-16))+rax] + mov r12,QWORD PTR[((-24))+rax] + mov r14,QWORD PTR[((-32))+rax] + mov r15,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[232+r8],r14 + mov QWORD PTR[240+r8],r15 + +$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 + + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -768,21 +768,21 @@ $L$in_prologue:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP +se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_md5_block_asm_data_order - DD imagerel $L$SEH_end_md5_block_asm_data_order - DD imagerel $L$SEH_info_md5_block_asm_data_order + DD imagerel $L$SEH_begin_md5_block_asm_data_order + DD imagerel $L$SEH_end_md5_block_asm_data_order + DD imagerel $L$SEH_info_md5_block_asm_data_order -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_md5_block_asm_data_order:: +$L$SEH_info_md5_block_asm_data_order:: DB 9,0,0,0 - DD imagerel se_handler - -.xdata ENDS -END + DD imagerel se_handler + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/modes/aesni-gcm-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/modes/aesni-gcm-x86_64.masm index 3cea350146..a41e86c8fb 100644 --- a/contrib/libs/openssl/asm/windows/crypto/modes/aesni-gcm-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/modes/aesni-gcm-x86_64.masm @@ -1,199 +1,199 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -ALIGN 32 -_aesni_ctr32_ghash_6x PROC PRIVATE +ALIGN 32 +_aesni_ctr32_ghash_6x PROC PRIVATE - vmovdqu xmm2,XMMWORD PTR[32+r11] + vmovdqu xmm2,XMMWORD PTR[32+r11] sub rdx,6 vpxor xmm4,xmm4,xmm4 - vmovdqu xmm15,XMMWORD PTR[((0-128))+rcx] + vmovdqu xmm15,XMMWORD PTR[((0-128))+rcx] vpaddb xmm10,xmm1,xmm2 vpaddb xmm11,xmm10,xmm2 vpaddb xmm12,xmm11,xmm2 vpaddb xmm13,xmm12,xmm2 vpaddb xmm14,xmm13,xmm2 vpxor xmm9,xmm1,xmm15 - vmovdqu XMMWORD PTR[(16+8)+rsp],xmm4 - jmp $L$oop6x + vmovdqu XMMWORD PTR[(16+8)+rsp],xmm4 + jmp $L$oop6x ALIGN 32 -$L$oop6x:: +$L$oop6x:: add ebx,100663296 - jc $L$handle_ctr32 - vmovdqu xmm3,XMMWORD PTR[((0-32))+r9] + jc $L$handle_ctr32 + vmovdqu xmm3,XMMWORD PTR[((0-32))+r9] vpaddb xmm1,xmm14,xmm2 vpxor xmm10,xmm10,xmm15 vpxor xmm11,xmm11,xmm15 -$L$resume_ctr32:: - vmovdqu XMMWORD PTR[r8],xmm1 - vpclmulqdq xmm5,xmm7,xmm3,010h +$L$resume_ctr32:: + vmovdqu XMMWORD PTR[r8],xmm1 + vpclmulqdq xmm5,xmm7,xmm3,010h vpxor xmm12,xmm12,xmm15 - vmovups xmm2,XMMWORD PTR[((16-128))+rcx] - vpclmulqdq xmm6,xmm7,xmm3,001h + vmovups xmm2,XMMWORD PTR[((16-128))+rcx] + vpclmulqdq xmm6,xmm7,xmm3,001h xor r12,r12 cmp r15,r14 vaesenc xmm9,xmm9,xmm2 - vmovdqu xmm0,XMMWORD PTR[((48+8))+rsp] + vmovdqu xmm0,XMMWORD PTR[((48+8))+rsp] vpxor xmm13,xmm13,xmm15 - vpclmulqdq xmm1,xmm7,xmm3,000h + vpclmulqdq xmm1,xmm7,xmm3,000h vaesenc xmm10,xmm10,xmm2 vpxor xmm14,xmm14,xmm15 setnc r12b - vpclmulqdq xmm7,xmm7,xmm3,011h + vpclmulqdq xmm7,xmm7,xmm3,011h vaesenc xmm11,xmm11,xmm2 - vmovdqu xmm3,XMMWORD PTR[((16-32))+r9] + vmovdqu xmm3,XMMWORD PTR[((16-32))+r9] neg r12 vaesenc xmm12,xmm12,xmm2 vpxor xmm6,xmm6,xmm5 - vpclmulqdq xmm5,xmm0,xmm3,000h + vpclmulqdq xmm5,xmm0,xmm3,000h vpxor xmm8,xmm8,xmm4 vaesenc xmm13,xmm13,xmm2 vpxor xmm4,xmm1,xmm5 - and r12,060h - vmovups xmm15,XMMWORD PTR[((32-128))+rcx] - vpclmulqdq xmm1,xmm0,xmm3,010h + and r12,060h + vmovups xmm15,XMMWORD PTR[((32-128))+rcx] + vpclmulqdq xmm1,xmm0,xmm3,010h vaesenc xmm14,xmm14,xmm2 - vpclmulqdq xmm2,xmm0,xmm3,001h - lea r14,QWORD PTR[r12*1+r14] + vpclmulqdq xmm2,xmm0,xmm3,001h + lea r14,QWORD PTR[r12*1+r14] vaesenc xmm9,xmm9,xmm15 - vpxor xmm8,xmm8,XMMWORD PTR[((16+8))+rsp] - vpclmulqdq xmm3,xmm0,xmm3,011h - vmovdqu xmm0,XMMWORD PTR[((64+8))+rsp] + vpxor xmm8,xmm8,XMMWORD PTR[((16+8))+rsp] + vpclmulqdq xmm3,xmm0,xmm3,011h + vmovdqu xmm0,XMMWORD PTR[((64+8))+rsp] vaesenc xmm10,xmm10,xmm15 - movbe r13,QWORD PTR[88+r14] + movbe r13,QWORD PTR[88+r14] vaesenc xmm11,xmm11,xmm15 - movbe r12,QWORD PTR[80+r14] + movbe r12,QWORD PTR[80+r14] vaesenc xmm12,xmm12,xmm15 - mov QWORD PTR[((32+8))+rsp],r13 + mov QWORD PTR[((32+8))+rsp],r13 vaesenc xmm13,xmm13,xmm15 - mov QWORD PTR[((40+8))+rsp],r12 - vmovdqu xmm5,XMMWORD PTR[((48-32))+r9] + mov QWORD PTR[((40+8))+rsp],r12 + vmovdqu xmm5,XMMWORD PTR[((48-32))+r9] vaesenc xmm14,xmm14,xmm15 - vmovups xmm15,XMMWORD PTR[((48-128))+rcx] + vmovups xmm15,XMMWORD PTR[((48-128))+rcx] vpxor xmm6,xmm6,xmm1 - vpclmulqdq xmm1,xmm0,xmm5,000h + vpclmulqdq xmm1,xmm0,xmm5,000h vaesenc xmm9,xmm9,xmm15 vpxor xmm6,xmm6,xmm2 - vpclmulqdq xmm2,xmm0,xmm5,010h + vpclmulqdq xmm2,xmm0,xmm5,010h vaesenc xmm10,xmm10,xmm15 vpxor xmm7,xmm7,xmm3 - vpclmulqdq xmm3,xmm0,xmm5,001h + vpclmulqdq xmm3,xmm0,xmm5,001h vaesenc xmm11,xmm11,xmm15 - vpclmulqdq xmm5,xmm0,xmm5,011h - vmovdqu xmm0,XMMWORD PTR[((80+8))+rsp] + vpclmulqdq xmm5,xmm0,xmm5,011h + vmovdqu xmm0,XMMWORD PTR[((80+8))+rsp] vaesenc xmm12,xmm12,xmm15 vaesenc xmm13,xmm13,xmm15 vpxor xmm4,xmm4,xmm1 - vmovdqu xmm1,XMMWORD PTR[((64-32))+r9] + vmovdqu xmm1,XMMWORD PTR[((64-32))+r9] vaesenc xmm14,xmm14,xmm15 - vmovups xmm15,XMMWORD PTR[((64-128))+rcx] + vmovups xmm15,XMMWORD PTR[((64-128))+rcx] vpxor xmm6,xmm6,xmm2 - vpclmulqdq xmm2,xmm0,xmm1,000h + vpclmulqdq xmm2,xmm0,xmm1,000h vaesenc xmm9,xmm9,xmm15 vpxor xmm6,xmm6,xmm3 - vpclmulqdq xmm3,xmm0,xmm1,010h + vpclmulqdq xmm3,xmm0,xmm1,010h vaesenc xmm10,xmm10,xmm15 - movbe r13,QWORD PTR[72+r14] + movbe r13,QWORD PTR[72+r14] vpxor xmm7,xmm7,xmm5 - vpclmulqdq xmm5,xmm0,xmm1,001h + vpclmulqdq xmm5,xmm0,xmm1,001h vaesenc xmm11,xmm11,xmm15 - movbe r12,QWORD PTR[64+r14] - vpclmulqdq xmm1,xmm0,xmm1,011h - vmovdqu xmm0,XMMWORD PTR[((96+8))+rsp] + movbe r12,QWORD PTR[64+r14] + vpclmulqdq xmm1,xmm0,xmm1,011h + vmovdqu xmm0,XMMWORD PTR[((96+8))+rsp] vaesenc xmm12,xmm12,xmm15 - mov QWORD PTR[((48+8))+rsp],r13 + mov QWORD PTR[((48+8))+rsp],r13 vaesenc xmm13,xmm13,xmm15 - mov QWORD PTR[((56+8))+rsp],r12 + mov QWORD PTR[((56+8))+rsp],r12 vpxor xmm4,xmm4,xmm2 - vmovdqu xmm2,XMMWORD PTR[((96-32))+r9] + vmovdqu xmm2,XMMWORD PTR[((96-32))+r9] vaesenc xmm14,xmm14,xmm15 - vmovups xmm15,XMMWORD PTR[((80-128))+rcx] + vmovups xmm15,XMMWORD PTR[((80-128))+rcx] vpxor xmm6,xmm6,xmm3 - vpclmulqdq xmm3,xmm0,xmm2,000h + vpclmulqdq xmm3,xmm0,xmm2,000h vaesenc xmm9,xmm9,xmm15 vpxor xmm6,xmm6,xmm5 - vpclmulqdq xmm5,xmm0,xmm2,010h + vpclmulqdq xmm5,xmm0,xmm2,010h vaesenc xmm10,xmm10,xmm15 - movbe r13,QWORD PTR[56+r14] + movbe r13,QWORD PTR[56+r14] vpxor xmm7,xmm7,xmm1 - vpclmulqdq xmm1,xmm0,xmm2,001h - vpxor xmm8,xmm8,XMMWORD PTR[((112+8))+rsp] + vpclmulqdq xmm1,xmm0,xmm2,001h + vpxor xmm8,xmm8,XMMWORD PTR[((112+8))+rsp] vaesenc xmm11,xmm11,xmm15 - movbe r12,QWORD PTR[48+r14] - vpclmulqdq xmm2,xmm0,xmm2,011h + movbe r12,QWORD PTR[48+r14] + vpclmulqdq xmm2,xmm0,xmm2,011h vaesenc xmm12,xmm12,xmm15 - mov QWORD PTR[((64+8))+rsp],r13 + mov QWORD PTR[((64+8))+rsp],r13 vaesenc xmm13,xmm13,xmm15 - mov QWORD PTR[((72+8))+rsp],r12 + mov QWORD PTR[((72+8))+rsp],r12 vpxor xmm4,xmm4,xmm3 - vmovdqu xmm3,XMMWORD PTR[((112-32))+r9] + vmovdqu xmm3,XMMWORD PTR[((112-32))+r9] vaesenc xmm14,xmm14,xmm15 - vmovups xmm15,XMMWORD PTR[((96-128))+rcx] + vmovups xmm15,XMMWORD PTR[((96-128))+rcx] vpxor xmm6,xmm6,xmm5 - vpclmulqdq xmm5,xmm8,xmm3,010h + vpclmulqdq xmm5,xmm8,xmm3,010h vaesenc xmm9,xmm9,xmm15 vpxor xmm6,xmm6,xmm1 - vpclmulqdq xmm1,xmm8,xmm3,001h + vpclmulqdq xmm1,xmm8,xmm3,001h vaesenc xmm10,xmm10,xmm15 - movbe r13,QWORD PTR[40+r14] + movbe r13,QWORD PTR[40+r14] vpxor xmm7,xmm7,xmm2 - vpclmulqdq xmm2,xmm8,xmm3,000h + vpclmulqdq xmm2,xmm8,xmm3,000h vaesenc xmm11,xmm11,xmm15 - movbe r12,QWORD PTR[32+r14] - vpclmulqdq xmm8,xmm8,xmm3,011h + movbe r12,QWORD PTR[32+r14] + vpclmulqdq xmm8,xmm8,xmm3,011h vaesenc xmm12,xmm12,xmm15 - mov QWORD PTR[((80+8))+rsp],r13 + mov QWORD PTR[((80+8))+rsp],r13 vaesenc xmm13,xmm13,xmm15 - mov QWORD PTR[((88+8))+rsp],r12 + mov QWORD PTR[((88+8))+rsp],r12 vpxor xmm6,xmm6,xmm5 vaesenc xmm14,xmm14,xmm15 vpxor xmm6,xmm6,xmm1 - vmovups xmm15,XMMWORD PTR[((112-128))+rcx] + vmovups xmm15,XMMWORD PTR[((112-128))+rcx] vpslldq xmm5,xmm6,8 vpxor xmm4,xmm4,xmm2 - vmovdqu xmm3,XMMWORD PTR[16+r11] + vmovdqu xmm3,XMMWORD PTR[16+r11] vaesenc xmm9,xmm9,xmm15 vpxor xmm7,xmm7,xmm8 vaesenc xmm10,xmm10,xmm15 vpxor xmm4,xmm4,xmm5 - movbe r13,QWORD PTR[24+r14] + movbe r13,QWORD PTR[24+r14] vaesenc xmm11,xmm11,xmm15 - movbe r12,QWORD PTR[16+r14] + movbe r12,QWORD PTR[16+r14] vpalignr xmm0,xmm4,xmm4,8 - vpclmulqdq xmm4,xmm4,xmm3,010h - mov QWORD PTR[((96+8))+rsp],r13 + vpclmulqdq xmm4,xmm4,xmm3,010h + mov QWORD PTR[((96+8))+rsp],r13 vaesenc xmm12,xmm12,xmm15 - mov QWORD PTR[((104+8))+rsp],r12 + mov QWORD PTR[((104+8))+rsp],r12 vaesenc xmm13,xmm13,xmm15 - vmovups xmm1,XMMWORD PTR[((128-128))+rcx] + vmovups xmm1,XMMWORD PTR[((128-128))+rcx] vaesenc xmm14,xmm14,xmm15 vaesenc xmm9,xmm9,xmm1 - vmovups xmm15,XMMWORD PTR[((144-128))+rcx] + vmovups xmm15,XMMWORD PTR[((144-128))+rcx] vaesenc xmm10,xmm10,xmm1 vpsrldq xmm6,xmm6,8 vaesenc xmm11,xmm11,xmm1 vpxor xmm7,xmm7,xmm6 vaesenc xmm12,xmm12,xmm1 vpxor xmm4,xmm4,xmm0 - movbe r13,QWORD PTR[8+r14] + movbe r13,QWORD PTR[8+r14] vaesenc xmm13,xmm13,xmm1 - movbe r12,QWORD PTR[r14] + movbe r12,QWORD PTR[r14] vaesenc xmm14,xmm14,xmm1 - vmovups xmm1,XMMWORD PTR[((160-128))+rcx] + vmovups xmm1,XMMWORD PTR[((160-128))+rcx] cmp ebp,11 - jb $L$enc_tail + jb $L$enc_tail vaesenc xmm9,xmm9,xmm15 vaesenc xmm10,xmm10,xmm15 @@ -207,10 +207,10 @@ $L$resume_ctr32:: vaesenc xmm11,xmm11,xmm1 vaesenc xmm12,xmm12,xmm1 vaesenc xmm13,xmm13,xmm1 - vmovups xmm15,XMMWORD PTR[((176-128))+rcx] + vmovups xmm15,XMMWORD PTR[((176-128))+rcx] vaesenc xmm14,xmm14,xmm1 - vmovups xmm1,XMMWORD PTR[((192-128))+rcx] - je $L$enc_tail + vmovups xmm1,XMMWORD PTR[((192-128))+rcx] + je $L$enc_tail vaesenc xmm9,xmm9,xmm15 vaesenc xmm10,xmm10,xmm15 @@ -224,19 +224,19 @@ $L$resume_ctr32:: vaesenc xmm11,xmm11,xmm1 vaesenc xmm12,xmm12,xmm1 vaesenc xmm13,xmm13,xmm1 - vmovups xmm15,XMMWORD PTR[((208-128))+rcx] + vmovups xmm15,XMMWORD PTR[((208-128))+rcx] vaesenc xmm14,xmm14,xmm1 - vmovups xmm1,XMMWORD PTR[((224-128))+rcx] - jmp $L$enc_tail + vmovups xmm1,XMMWORD PTR[((224-128))+rcx] + jmp $L$enc_tail ALIGN 32 -$L$handle_ctr32:: - vmovdqu xmm0,XMMWORD PTR[r11] +$L$handle_ctr32:: + vmovdqu xmm0,XMMWORD PTR[r11] vpshufb xmm6,xmm1,xmm0 - vmovdqu xmm5,XMMWORD PTR[48+r11] - vpaddd xmm10,xmm6,XMMWORD PTR[64+r11] + vmovdqu xmm5,XMMWORD PTR[48+r11] + vpaddd xmm10,xmm6,XMMWORD PTR[64+r11] vpaddd xmm11,xmm6,xmm5 - vmovdqu xmm3,XMMWORD PTR[((0-32))+r9] + vmovdqu xmm3,XMMWORD PTR[((0-32))+r9] vpaddd xmm12,xmm10,xmm5 vpshufb xmm10,xmm10,xmm0 vpaddd xmm13,xmm11,xmm5 @@ -249,38 +249,38 @@ $L$handle_ctr32:: vpshufb xmm13,xmm13,xmm0 vpshufb xmm14,xmm14,xmm0 vpshufb xmm1,xmm1,xmm0 - jmp $L$resume_ctr32 + jmp $L$resume_ctr32 ALIGN 32 -$L$enc_tail:: +$L$enc_tail:: vaesenc xmm9,xmm9,xmm15 - vmovdqu XMMWORD PTR[(16+8)+rsp],xmm7 + vmovdqu XMMWORD PTR[(16+8)+rsp],xmm7 vpalignr xmm8,xmm4,xmm4,8 vaesenc xmm10,xmm10,xmm15 - vpclmulqdq xmm4,xmm4,xmm3,010h - vpxor xmm2,xmm1,XMMWORD PTR[rdi] + vpclmulqdq xmm4,xmm4,xmm3,010h + vpxor xmm2,xmm1,XMMWORD PTR[rdi] vaesenc xmm11,xmm11,xmm15 - vpxor xmm0,xmm1,XMMWORD PTR[16+rdi] + vpxor xmm0,xmm1,XMMWORD PTR[16+rdi] vaesenc xmm12,xmm12,xmm15 - vpxor xmm5,xmm1,XMMWORD PTR[32+rdi] + vpxor xmm5,xmm1,XMMWORD PTR[32+rdi] vaesenc xmm13,xmm13,xmm15 - vpxor xmm6,xmm1,XMMWORD PTR[48+rdi] + vpxor xmm6,xmm1,XMMWORD PTR[48+rdi] vaesenc xmm14,xmm14,xmm15 - vpxor xmm7,xmm1,XMMWORD PTR[64+rdi] - vpxor xmm3,xmm1,XMMWORD PTR[80+rdi] - vmovdqu xmm1,XMMWORD PTR[r8] + vpxor xmm7,xmm1,XMMWORD PTR[64+rdi] + vpxor xmm3,xmm1,XMMWORD PTR[80+rdi] + vmovdqu xmm1,XMMWORD PTR[r8] vaesenclast xmm9,xmm9,xmm2 - vmovdqu xmm2,XMMWORD PTR[32+r11] + vmovdqu xmm2,XMMWORD PTR[32+r11] vaesenclast xmm10,xmm10,xmm0 vpaddb xmm0,xmm1,xmm2 - mov QWORD PTR[((112+8))+rsp],r13 - lea rdi,QWORD PTR[96+rdi] + mov QWORD PTR[((112+8))+rsp],r13 + lea rdi,QWORD PTR[96+rdi] vaesenclast xmm11,xmm11,xmm5 vpaddb xmm5,xmm0,xmm2 - mov QWORD PTR[((120+8))+rsp],r12 - lea rsi,QWORD PTR[96+rsi] - vmovdqu xmm15,XMMWORD PTR[((0-128))+rcx] + mov QWORD PTR[((120+8))+rsp],r12 + lea rsi,QWORD PTR[96+rsi] + vmovdqu xmm15,XMMWORD PTR[((0-128))+rcx] vaesenclast xmm12,xmm12,xmm6 vpaddb xmm6,xmm5,xmm2 vaesenclast xmm13,xmm13,xmm7 @@ -288,54 +288,54 @@ $L$enc_tail:: vaesenclast xmm14,xmm14,xmm3 vpaddb xmm3,xmm7,xmm2 - add r10,060h - sub rdx,06h - jc $L$6x_done + add r10,060h + sub rdx,06h + jc $L$6x_done - vmovups XMMWORD PTR[(-96)+rsi],xmm9 + vmovups XMMWORD PTR[(-96)+rsi],xmm9 vpxor xmm9,xmm1,xmm15 - vmovups XMMWORD PTR[(-80)+rsi],xmm10 + vmovups XMMWORD PTR[(-80)+rsi],xmm10 vmovdqa xmm10,xmm0 - vmovups XMMWORD PTR[(-64)+rsi],xmm11 + vmovups XMMWORD PTR[(-64)+rsi],xmm11 vmovdqa xmm11,xmm5 - vmovups XMMWORD PTR[(-48)+rsi],xmm12 + vmovups XMMWORD PTR[(-48)+rsi],xmm12 vmovdqa xmm12,xmm6 - vmovups XMMWORD PTR[(-32)+rsi],xmm13 + vmovups XMMWORD PTR[(-32)+rsi],xmm13 vmovdqa xmm13,xmm7 - vmovups XMMWORD PTR[(-16)+rsi],xmm14 + vmovups XMMWORD PTR[(-16)+rsi],xmm14 vmovdqa xmm14,xmm3 - vmovdqu xmm7,XMMWORD PTR[((32+8))+rsp] - jmp $L$oop6x + vmovdqu xmm7,XMMWORD PTR[((32+8))+rsp] + jmp $L$oop6x -$L$6x_done:: - vpxor xmm8,xmm8,XMMWORD PTR[((16+8))+rsp] +$L$6x_done:: + vpxor xmm8,xmm8,XMMWORD PTR[((16+8))+rsp] vpxor xmm8,xmm8,xmm4 DB 0F3h,0C3h ;repret -_aesni_ctr32_ghash_6x ENDP -PUBLIC aesni_gcm_decrypt +_aesni_ctr32_ghash_6x ENDP +PUBLIC aesni_gcm_decrypt ALIGN 32 -aesni_gcm_decrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_gcm_decrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_gcm_decrypt:: +$L$SEH_begin_aesni_gcm_decrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] xor r10,r10 - cmp rdx,060h - jb $L$gcm_dec_abort + cmp rdx,060h + jb $L$gcm_dec_abort - lea rax,QWORD PTR[rsp] + lea rax,QWORD PTR[rsp] push rbx @@ -349,122 +349,122 @@ $L$SEH_begin_aesni_gcm_decrypt:: push r15 - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[(-216)+rax],xmm6 - movaps XMMWORD PTR[(-200)+rax],xmm7 - movaps XMMWORD PTR[(-184)+rax],xmm8 - movaps XMMWORD PTR[(-168)+rax],xmm9 - movaps XMMWORD PTR[(-152)+rax],xmm10 - movaps XMMWORD PTR[(-136)+rax],xmm11 - movaps XMMWORD PTR[(-120)+rax],xmm12 - movaps XMMWORD PTR[(-104)+rax],xmm13 - movaps XMMWORD PTR[(-88)+rax],xmm14 - movaps XMMWORD PTR[(-72)+rax],xmm15 -$L$gcm_dec_body:: + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[(-216)+rax],xmm6 + movaps XMMWORD PTR[(-200)+rax],xmm7 + movaps XMMWORD PTR[(-184)+rax],xmm8 + movaps XMMWORD PTR[(-168)+rax],xmm9 + movaps XMMWORD PTR[(-152)+rax],xmm10 + movaps XMMWORD PTR[(-136)+rax],xmm11 + movaps XMMWORD PTR[(-120)+rax],xmm12 + movaps XMMWORD PTR[(-104)+rax],xmm13 + movaps XMMWORD PTR[(-88)+rax],xmm14 + movaps XMMWORD PTR[(-72)+rax],xmm15 +$L$gcm_dec_body:: vzeroupper - vmovdqu xmm1,XMMWORD PTR[r8] + vmovdqu xmm1,XMMWORD PTR[r8] add rsp,-128 - mov ebx,DWORD PTR[12+r8] - lea r11,QWORD PTR[$L$bswap_mask] - lea r14,QWORD PTR[((-128))+rcx] - mov r15,0f80h - vmovdqu xmm8,XMMWORD PTR[r9] + mov ebx,DWORD PTR[12+r8] + lea r11,QWORD PTR[$L$bswap_mask] + lea r14,QWORD PTR[((-128))+rcx] + mov r15,0f80h + vmovdqu xmm8,XMMWORD PTR[r9] and rsp,-128 - vmovdqu xmm0,XMMWORD PTR[r11] - lea rcx,QWORD PTR[128+rcx] - lea r9,QWORD PTR[((32+32))+r9] - mov ebp,DWORD PTR[((240-128))+rcx] + vmovdqu xmm0,XMMWORD PTR[r11] + lea rcx,QWORD PTR[128+rcx] + lea r9,QWORD PTR[((32+32))+r9] + mov ebp,DWORD PTR[((240-128))+rcx] vpshufb xmm8,xmm8,xmm0 and r14,r15 and r15,rsp sub r15,r14 - jc $L$dec_no_key_aliasing + jc $L$dec_no_key_aliasing cmp r15,768 - jnc $L$dec_no_key_aliasing + jnc $L$dec_no_key_aliasing sub rsp,r15 -$L$dec_no_key_aliasing:: +$L$dec_no_key_aliasing:: - vmovdqu xmm7,XMMWORD PTR[80+rdi] - lea r14,QWORD PTR[rdi] - vmovdqu xmm4,XMMWORD PTR[64+rdi] - lea r15,QWORD PTR[((-192))+rdx*1+rdi] - vmovdqu xmm5,XMMWORD PTR[48+rdi] + vmovdqu xmm7,XMMWORD PTR[80+rdi] + lea r14,QWORD PTR[rdi] + vmovdqu xmm4,XMMWORD PTR[64+rdi] + lea r15,QWORD PTR[((-192))+rdx*1+rdi] + vmovdqu xmm5,XMMWORD PTR[48+rdi] shr rdx,4 xor r10,r10 - vmovdqu xmm6,XMMWORD PTR[32+rdi] + vmovdqu xmm6,XMMWORD PTR[32+rdi] vpshufb xmm7,xmm7,xmm0 - vmovdqu xmm2,XMMWORD PTR[16+rdi] + vmovdqu xmm2,XMMWORD PTR[16+rdi] vpshufb xmm4,xmm4,xmm0 - vmovdqu xmm3,XMMWORD PTR[rdi] + vmovdqu xmm3,XMMWORD PTR[rdi] vpshufb xmm5,xmm5,xmm0 - vmovdqu XMMWORD PTR[48+rsp],xmm4 + vmovdqu XMMWORD PTR[48+rsp],xmm4 vpshufb xmm6,xmm6,xmm0 - vmovdqu XMMWORD PTR[64+rsp],xmm5 + vmovdqu XMMWORD PTR[64+rsp],xmm5 vpshufb xmm2,xmm2,xmm0 - vmovdqu XMMWORD PTR[80+rsp],xmm6 + vmovdqu XMMWORD PTR[80+rsp],xmm6 vpshufb xmm3,xmm3,xmm0 - vmovdqu XMMWORD PTR[96+rsp],xmm2 - vmovdqu XMMWORD PTR[112+rsp],xmm3 + vmovdqu XMMWORD PTR[96+rsp],xmm2 + vmovdqu XMMWORD PTR[112+rsp],xmm3 call _aesni_ctr32_ghash_6x - vmovups XMMWORD PTR[(-96)+rsi],xmm9 - vmovups XMMWORD PTR[(-80)+rsi],xmm10 - vmovups XMMWORD PTR[(-64)+rsi],xmm11 - vmovups XMMWORD PTR[(-48)+rsi],xmm12 - vmovups XMMWORD PTR[(-32)+rsi],xmm13 - vmovups XMMWORD PTR[(-16)+rsi],xmm14 + vmovups XMMWORD PTR[(-96)+rsi],xmm9 + vmovups XMMWORD PTR[(-80)+rsi],xmm10 + vmovups XMMWORD PTR[(-64)+rsi],xmm11 + vmovups XMMWORD PTR[(-48)+rsi],xmm12 + vmovups XMMWORD PTR[(-32)+rsi],xmm13 + vmovups XMMWORD PTR[(-16)+rsi],xmm14 - vpshufb xmm8,xmm8,XMMWORD PTR[r11] - vmovdqu XMMWORD PTR[(-64)+r9],xmm8 + vpshufb xmm8,xmm8,XMMWORD PTR[r11] + vmovdqu XMMWORD PTR[(-64)+r9],xmm8 vzeroupper - movaps xmm6,XMMWORD PTR[((-216))+rax] - movaps xmm7,XMMWORD PTR[((-200))+rax] - movaps xmm8,XMMWORD PTR[((-184))+rax] - movaps xmm9,XMMWORD PTR[((-168))+rax] - movaps xmm10,XMMWORD PTR[((-152))+rax] - movaps xmm11,XMMWORD PTR[((-136))+rax] - movaps xmm12,XMMWORD PTR[((-120))+rax] - movaps xmm13,XMMWORD PTR[((-104))+rax] - movaps xmm14,XMMWORD PTR[((-88))+rax] - movaps xmm15,XMMWORD PTR[((-72))+rax] - mov r15,QWORD PTR[((-48))+rax] + movaps xmm6,XMMWORD PTR[((-216))+rax] + movaps xmm7,XMMWORD PTR[((-200))+rax] + movaps xmm8,XMMWORD PTR[((-184))+rax] + movaps xmm9,XMMWORD PTR[((-168))+rax] + movaps xmm10,XMMWORD PTR[((-152))+rax] + movaps xmm11,XMMWORD PTR[((-136))+rax] + movaps xmm12,XMMWORD PTR[((-120))+rax] + movaps xmm13,XMMWORD PTR[((-104))+rax] + movaps xmm14,XMMWORD PTR[((-88))+rax] + movaps xmm15,XMMWORD PTR[((-72))+rax] + mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] + mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] + mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] + mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$gcm_dec_abort:: +$L$gcm_dec_abort:: mov rax,r10 - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_gcm_decrypt:: -aesni_gcm_decrypt ENDP +$L$SEH_end_aesni_gcm_decrypt:: +aesni_gcm_decrypt ENDP ALIGN 32 -_aesni_ctr32_6x PROC PRIVATE - - vmovdqu xmm4,XMMWORD PTR[((0-128))+rcx] - vmovdqu xmm2,XMMWORD PTR[32+r11] - lea r13,QWORD PTR[((-1))+rbp] - vmovups xmm15,XMMWORD PTR[((16-128))+rcx] - lea r12,QWORD PTR[((32-128))+rcx] +_aesni_ctr32_6x PROC PRIVATE + + vmovdqu xmm4,XMMWORD PTR[((0-128))+rcx] + vmovdqu xmm2,XMMWORD PTR[32+r11] + lea r13,QWORD PTR[((-1))+rbp] + vmovups xmm15,XMMWORD PTR[((16-128))+rcx] + lea r12,QWORD PTR[((32-128))+rcx] vpxor xmm9,xmm1,xmm4 add ebx,100663296 - jc $L$handle_ctr32_2 + jc $L$handle_ctr32_2 vpaddb xmm10,xmm1,xmm2 vpaddb xmm11,xmm10,xmm2 vpxor xmm10,xmm10,xmm4 @@ -476,35 +476,35 @@ _aesni_ctr32_6x PROC PRIVATE vpxor xmm13,xmm13,xmm4 vpaddb xmm1,xmm14,xmm2 vpxor xmm14,xmm14,xmm4 - jmp $L$oop_ctr32 + jmp $L$oop_ctr32 ALIGN 16 -$L$oop_ctr32:: +$L$oop_ctr32:: vaesenc xmm9,xmm9,xmm15 vaesenc xmm10,xmm10,xmm15 vaesenc xmm11,xmm11,xmm15 vaesenc xmm12,xmm12,xmm15 vaesenc xmm13,xmm13,xmm15 vaesenc xmm14,xmm14,xmm15 - vmovups xmm15,XMMWORD PTR[r12] - lea r12,QWORD PTR[16+r12] + vmovups xmm15,XMMWORD PTR[r12] + lea r12,QWORD PTR[16+r12] dec r13d - jnz $L$oop_ctr32 + jnz $L$oop_ctr32 - vmovdqu xmm3,XMMWORD PTR[r12] + vmovdqu xmm3,XMMWORD PTR[r12] vaesenc xmm9,xmm9,xmm15 - vpxor xmm4,xmm3,XMMWORD PTR[rdi] + vpxor xmm4,xmm3,XMMWORD PTR[rdi] vaesenc xmm10,xmm10,xmm15 - vpxor xmm5,xmm3,XMMWORD PTR[16+rdi] + vpxor xmm5,xmm3,XMMWORD PTR[16+rdi] vaesenc xmm11,xmm11,xmm15 - vpxor xmm6,xmm3,XMMWORD PTR[32+rdi] + vpxor xmm6,xmm3,XMMWORD PTR[32+rdi] vaesenc xmm12,xmm12,xmm15 - vpxor xmm8,xmm3,XMMWORD PTR[48+rdi] + vpxor xmm8,xmm3,XMMWORD PTR[48+rdi] vaesenc xmm13,xmm13,xmm15 - vpxor xmm2,xmm3,XMMWORD PTR[64+rdi] + vpxor xmm2,xmm3,XMMWORD PTR[64+rdi] vaesenc xmm14,xmm14,xmm15 - vpxor xmm3,xmm3,XMMWORD PTR[80+rdi] - lea rdi,QWORD PTR[96+rdi] + vpxor xmm3,xmm3,XMMWORD PTR[80+rdi] + lea rdi,QWORD PTR[96+rdi] vaesenclast xmm9,xmm9,xmm4 vaesenclast xmm10,xmm10,xmm5 @@ -512,20 +512,20 @@ $L$oop_ctr32:: vaesenclast xmm12,xmm12,xmm8 vaesenclast xmm13,xmm13,xmm2 vaesenclast xmm14,xmm14,xmm3 - vmovups XMMWORD PTR[rsi],xmm9 - vmovups XMMWORD PTR[16+rsi],xmm10 - vmovups XMMWORD PTR[32+rsi],xmm11 - vmovups XMMWORD PTR[48+rsi],xmm12 - vmovups XMMWORD PTR[64+rsi],xmm13 - vmovups XMMWORD PTR[80+rsi],xmm14 - lea rsi,QWORD PTR[96+rsi] + vmovups XMMWORD PTR[rsi],xmm9 + vmovups XMMWORD PTR[16+rsi],xmm10 + vmovups XMMWORD PTR[32+rsi],xmm11 + vmovups XMMWORD PTR[48+rsi],xmm12 + vmovups XMMWORD PTR[64+rsi],xmm13 + vmovups XMMWORD PTR[80+rsi],xmm14 + lea rsi,QWORD PTR[96+rsi] DB 0F3h,0C3h ;repret ALIGN 32 -$L$handle_ctr32_2:: +$L$handle_ctr32_2:: vpshufb xmm6,xmm1,xmm0 - vmovdqu xmm5,XMMWORD PTR[48+r11] - vpaddd xmm10,xmm6,XMMWORD PTR[64+r11] + vmovdqu xmm5,XMMWORD PTR[48+r11] + vpaddd xmm10,xmm6,XMMWORD PTR[64+r11] vpaddd xmm11,xmm6,xmm5 vpaddd xmm12,xmm10,xmm5 vpshufb xmm10,xmm10,xmm0 @@ -542,32 +542,32 @@ $L$handle_ctr32_2:: vpxor xmm13,xmm13,xmm4 vpshufb xmm1,xmm1,xmm0 vpxor xmm14,xmm14,xmm4 - jmp $L$oop_ctr32 + jmp $L$oop_ctr32 -_aesni_ctr32_6x ENDP +_aesni_ctr32_6x ENDP -PUBLIC aesni_gcm_encrypt +PUBLIC aesni_gcm_encrypt ALIGN 32 -aesni_gcm_encrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +aesni_gcm_encrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_aesni_gcm_encrypt:: +$L$SEH_begin_aesni_gcm_encrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] xor r10,r10 - cmp rdx,060h*3 - jb $L$gcm_enc_abort + cmp rdx,060h*3 + jb $L$gcm_enc_abort - lea rax,QWORD PTR[rsp] + lea rax,QWORD PTR[rsp] push rbx @@ -581,294 +581,294 @@ $L$SEH_begin_aesni_gcm_encrypt:: push r15 - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[(-216)+rax],xmm6 - movaps XMMWORD PTR[(-200)+rax],xmm7 - movaps XMMWORD PTR[(-184)+rax],xmm8 - movaps XMMWORD PTR[(-168)+rax],xmm9 - movaps XMMWORD PTR[(-152)+rax],xmm10 - movaps XMMWORD PTR[(-136)+rax],xmm11 - movaps XMMWORD PTR[(-120)+rax],xmm12 - movaps XMMWORD PTR[(-104)+rax],xmm13 - movaps XMMWORD PTR[(-88)+rax],xmm14 - movaps XMMWORD PTR[(-72)+rax],xmm15 -$L$gcm_enc_body:: + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[(-216)+rax],xmm6 + movaps XMMWORD PTR[(-200)+rax],xmm7 + movaps XMMWORD PTR[(-184)+rax],xmm8 + movaps XMMWORD PTR[(-168)+rax],xmm9 + movaps XMMWORD PTR[(-152)+rax],xmm10 + movaps XMMWORD PTR[(-136)+rax],xmm11 + movaps XMMWORD PTR[(-120)+rax],xmm12 + movaps XMMWORD PTR[(-104)+rax],xmm13 + movaps XMMWORD PTR[(-88)+rax],xmm14 + movaps XMMWORD PTR[(-72)+rax],xmm15 +$L$gcm_enc_body:: vzeroupper - vmovdqu xmm1,XMMWORD PTR[r8] + vmovdqu xmm1,XMMWORD PTR[r8] add rsp,-128 - mov ebx,DWORD PTR[12+r8] - lea r11,QWORD PTR[$L$bswap_mask] - lea r14,QWORD PTR[((-128))+rcx] - mov r15,0f80h - lea rcx,QWORD PTR[128+rcx] - vmovdqu xmm0,XMMWORD PTR[r11] + mov ebx,DWORD PTR[12+r8] + lea r11,QWORD PTR[$L$bswap_mask] + lea r14,QWORD PTR[((-128))+rcx] + mov r15,0f80h + lea rcx,QWORD PTR[128+rcx] + vmovdqu xmm0,XMMWORD PTR[r11] and rsp,-128 - mov ebp,DWORD PTR[((240-128))+rcx] + mov ebp,DWORD PTR[((240-128))+rcx] and r14,r15 and r15,rsp sub r15,r14 - jc $L$enc_no_key_aliasing + jc $L$enc_no_key_aliasing cmp r15,768 - jnc $L$enc_no_key_aliasing + jnc $L$enc_no_key_aliasing sub rsp,r15 -$L$enc_no_key_aliasing:: +$L$enc_no_key_aliasing:: - lea r14,QWORD PTR[rsi] - lea r15,QWORD PTR[((-192))+rdx*1+rsi] + lea r14,QWORD PTR[rsi] + lea r15,QWORD PTR[((-192))+rdx*1+rsi] shr rdx,4 call _aesni_ctr32_6x vpshufb xmm8,xmm9,xmm0 vpshufb xmm2,xmm10,xmm0 - vmovdqu XMMWORD PTR[112+rsp],xmm8 + vmovdqu XMMWORD PTR[112+rsp],xmm8 vpshufb xmm4,xmm11,xmm0 - vmovdqu XMMWORD PTR[96+rsp],xmm2 + vmovdqu XMMWORD PTR[96+rsp],xmm2 vpshufb xmm5,xmm12,xmm0 - vmovdqu XMMWORD PTR[80+rsp],xmm4 + vmovdqu XMMWORD PTR[80+rsp],xmm4 vpshufb xmm6,xmm13,xmm0 - vmovdqu XMMWORD PTR[64+rsp],xmm5 + vmovdqu XMMWORD PTR[64+rsp],xmm5 vpshufb xmm7,xmm14,xmm0 - vmovdqu XMMWORD PTR[48+rsp],xmm6 + vmovdqu XMMWORD PTR[48+rsp],xmm6 call _aesni_ctr32_6x - vmovdqu xmm8,XMMWORD PTR[r9] - lea r9,QWORD PTR[((32+32))+r9] + vmovdqu xmm8,XMMWORD PTR[r9] + lea r9,QWORD PTR[((32+32))+r9] sub rdx,12 - mov r10,060h*2 + mov r10,060h*2 vpshufb xmm8,xmm8,xmm0 call _aesni_ctr32_ghash_6x - vmovdqu xmm7,XMMWORD PTR[32+rsp] - vmovdqu xmm0,XMMWORD PTR[r11] - vmovdqu xmm3,XMMWORD PTR[((0-32))+r9] + vmovdqu xmm7,XMMWORD PTR[32+rsp] + vmovdqu xmm0,XMMWORD PTR[r11] + vmovdqu xmm3,XMMWORD PTR[((0-32))+r9] vpunpckhqdq xmm1,xmm7,xmm7 - vmovdqu xmm15,XMMWORD PTR[((32-32))+r9] - vmovups XMMWORD PTR[(-96)+rsi],xmm9 + vmovdqu xmm15,XMMWORD PTR[((32-32))+r9] + vmovups XMMWORD PTR[(-96)+rsi],xmm9 vpshufb xmm9,xmm9,xmm0 vpxor xmm1,xmm1,xmm7 - vmovups XMMWORD PTR[(-80)+rsi],xmm10 + vmovups XMMWORD PTR[(-80)+rsi],xmm10 vpshufb xmm10,xmm10,xmm0 - vmovups XMMWORD PTR[(-64)+rsi],xmm11 + vmovups XMMWORD PTR[(-64)+rsi],xmm11 vpshufb xmm11,xmm11,xmm0 - vmovups XMMWORD PTR[(-48)+rsi],xmm12 + vmovups XMMWORD PTR[(-48)+rsi],xmm12 vpshufb xmm12,xmm12,xmm0 - vmovups XMMWORD PTR[(-32)+rsi],xmm13 + vmovups XMMWORD PTR[(-32)+rsi],xmm13 vpshufb xmm13,xmm13,xmm0 - vmovups XMMWORD PTR[(-16)+rsi],xmm14 + vmovups XMMWORD PTR[(-16)+rsi],xmm14 vpshufb xmm14,xmm14,xmm0 - vmovdqu XMMWORD PTR[16+rsp],xmm9 - vmovdqu xmm6,XMMWORD PTR[48+rsp] - vmovdqu xmm0,XMMWORD PTR[((16-32))+r9] + vmovdqu XMMWORD PTR[16+rsp],xmm9 + vmovdqu xmm6,XMMWORD PTR[48+rsp] + vmovdqu xmm0,XMMWORD PTR[((16-32))+r9] vpunpckhqdq xmm2,xmm6,xmm6 - vpclmulqdq xmm5,xmm7,xmm3,000h + vpclmulqdq xmm5,xmm7,xmm3,000h vpxor xmm2,xmm2,xmm6 - vpclmulqdq xmm7,xmm7,xmm3,011h - vpclmulqdq xmm1,xmm1,xmm15,000h + vpclmulqdq xmm7,xmm7,xmm3,011h + vpclmulqdq xmm1,xmm1,xmm15,000h - vmovdqu xmm9,XMMWORD PTR[64+rsp] - vpclmulqdq xmm4,xmm6,xmm0,000h - vmovdqu xmm3,XMMWORD PTR[((48-32))+r9] + vmovdqu xmm9,XMMWORD PTR[64+rsp] + vpclmulqdq xmm4,xmm6,xmm0,000h + vmovdqu xmm3,XMMWORD PTR[((48-32))+r9] vpxor xmm4,xmm4,xmm5 vpunpckhqdq xmm5,xmm9,xmm9 - vpclmulqdq xmm6,xmm6,xmm0,011h + vpclmulqdq xmm6,xmm6,xmm0,011h vpxor xmm5,xmm5,xmm9 vpxor xmm6,xmm6,xmm7 - vpclmulqdq xmm2,xmm2,xmm15,010h - vmovdqu xmm15,XMMWORD PTR[((80-32))+r9] + vpclmulqdq xmm2,xmm2,xmm15,010h + vmovdqu xmm15,XMMWORD PTR[((80-32))+r9] vpxor xmm2,xmm2,xmm1 - vmovdqu xmm1,XMMWORD PTR[80+rsp] - vpclmulqdq xmm7,xmm9,xmm3,000h - vmovdqu xmm0,XMMWORD PTR[((64-32))+r9] + vmovdqu xmm1,XMMWORD PTR[80+rsp] + vpclmulqdq xmm7,xmm9,xmm3,000h + vmovdqu xmm0,XMMWORD PTR[((64-32))+r9] vpxor xmm7,xmm7,xmm4 vpunpckhqdq xmm4,xmm1,xmm1 - vpclmulqdq xmm9,xmm9,xmm3,011h + vpclmulqdq xmm9,xmm9,xmm3,011h vpxor xmm4,xmm4,xmm1 vpxor xmm9,xmm9,xmm6 - vpclmulqdq xmm5,xmm5,xmm15,000h + vpclmulqdq xmm5,xmm5,xmm15,000h vpxor xmm5,xmm5,xmm2 - vmovdqu xmm2,XMMWORD PTR[96+rsp] - vpclmulqdq xmm6,xmm1,xmm0,000h - vmovdqu xmm3,XMMWORD PTR[((96-32))+r9] + vmovdqu xmm2,XMMWORD PTR[96+rsp] + vpclmulqdq xmm6,xmm1,xmm0,000h + vmovdqu xmm3,XMMWORD PTR[((96-32))+r9] vpxor xmm6,xmm6,xmm7 vpunpckhqdq xmm7,xmm2,xmm2 - vpclmulqdq xmm1,xmm1,xmm0,011h + vpclmulqdq xmm1,xmm1,xmm0,011h vpxor xmm7,xmm7,xmm2 vpxor xmm1,xmm1,xmm9 - vpclmulqdq xmm4,xmm4,xmm15,010h - vmovdqu xmm15,XMMWORD PTR[((128-32))+r9] + vpclmulqdq xmm4,xmm4,xmm15,010h + vmovdqu xmm15,XMMWORD PTR[((128-32))+r9] vpxor xmm4,xmm4,xmm5 - vpxor xmm8,xmm8,XMMWORD PTR[112+rsp] - vpclmulqdq xmm5,xmm2,xmm3,000h - vmovdqu xmm0,XMMWORD PTR[((112-32))+r9] + vpxor xmm8,xmm8,XMMWORD PTR[112+rsp] + vpclmulqdq xmm5,xmm2,xmm3,000h + vmovdqu xmm0,XMMWORD PTR[((112-32))+r9] vpunpckhqdq xmm9,xmm8,xmm8 vpxor xmm5,xmm5,xmm6 - vpclmulqdq xmm2,xmm2,xmm3,011h + vpclmulqdq xmm2,xmm2,xmm3,011h vpxor xmm9,xmm9,xmm8 vpxor xmm2,xmm2,xmm1 - vpclmulqdq xmm7,xmm7,xmm15,000h + vpclmulqdq xmm7,xmm7,xmm15,000h vpxor xmm4,xmm7,xmm4 - vpclmulqdq xmm6,xmm8,xmm0,000h - vmovdqu xmm3,XMMWORD PTR[((0-32))+r9] + vpclmulqdq xmm6,xmm8,xmm0,000h + vmovdqu xmm3,XMMWORD PTR[((0-32))+r9] vpunpckhqdq xmm1,xmm14,xmm14 - vpclmulqdq xmm8,xmm8,xmm0,011h + vpclmulqdq xmm8,xmm8,xmm0,011h vpxor xmm1,xmm1,xmm14 vpxor xmm5,xmm6,xmm5 - vpclmulqdq xmm9,xmm9,xmm15,010h - vmovdqu xmm15,XMMWORD PTR[((32-32))+r9] + vpclmulqdq xmm9,xmm9,xmm15,010h + vmovdqu xmm15,XMMWORD PTR[((32-32))+r9] vpxor xmm7,xmm8,xmm2 vpxor xmm6,xmm9,xmm4 - vmovdqu xmm0,XMMWORD PTR[((16-32))+r9] + vmovdqu xmm0,XMMWORD PTR[((16-32))+r9] vpxor xmm9,xmm7,xmm5 - vpclmulqdq xmm4,xmm14,xmm3,000h + vpclmulqdq xmm4,xmm14,xmm3,000h vpxor xmm6,xmm6,xmm9 vpunpckhqdq xmm2,xmm13,xmm13 - vpclmulqdq xmm14,xmm14,xmm3,011h + vpclmulqdq xmm14,xmm14,xmm3,011h vpxor xmm2,xmm2,xmm13 vpslldq xmm9,xmm6,8 - vpclmulqdq xmm1,xmm1,xmm15,000h + vpclmulqdq xmm1,xmm1,xmm15,000h vpxor xmm8,xmm5,xmm9 vpsrldq xmm6,xmm6,8 vpxor xmm7,xmm7,xmm6 - vpclmulqdq xmm5,xmm13,xmm0,000h - vmovdqu xmm3,XMMWORD PTR[((48-32))+r9] + vpclmulqdq xmm5,xmm13,xmm0,000h + vmovdqu xmm3,XMMWORD PTR[((48-32))+r9] vpxor xmm5,xmm5,xmm4 vpunpckhqdq xmm9,xmm12,xmm12 - vpclmulqdq xmm13,xmm13,xmm0,011h + vpclmulqdq xmm13,xmm13,xmm0,011h vpxor xmm9,xmm9,xmm12 vpxor xmm13,xmm13,xmm14 vpalignr xmm14,xmm8,xmm8,8 - vpclmulqdq xmm2,xmm2,xmm15,010h - vmovdqu xmm15,XMMWORD PTR[((80-32))+r9] + vpclmulqdq xmm2,xmm2,xmm15,010h + vmovdqu xmm15,XMMWORD PTR[((80-32))+r9] vpxor xmm2,xmm2,xmm1 - vpclmulqdq xmm4,xmm12,xmm3,000h - vmovdqu xmm0,XMMWORD PTR[((64-32))+r9] + vpclmulqdq xmm4,xmm12,xmm3,000h + vmovdqu xmm0,XMMWORD PTR[((64-32))+r9] vpxor xmm4,xmm4,xmm5 vpunpckhqdq xmm1,xmm11,xmm11 - vpclmulqdq xmm12,xmm12,xmm3,011h + vpclmulqdq xmm12,xmm12,xmm3,011h vpxor xmm1,xmm1,xmm11 vpxor xmm12,xmm12,xmm13 - vxorps xmm7,xmm7,XMMWORD PTR[16+rsp] - vpclmulqdq xmm9,xmm9,xmm15,000h + vxorps xmm7,xmm7,XMMWORD PTR[16+rsp] + vpclmulqdq xmm9,xmm9,xmm15,000h vpxor xmm9,xmm9,xmm2 - vpclmulqdq xmm8,xmm8,XMMWORD PTR[16+r11],010h + vpclmulqdq xmm8,xmm8,XMMWORD PTR[16+r11],010h vxorps xmm8,xmm8,xmm14 - vpclmulqdq xmm5,xmm11,xmm0,000h - vmovdqu xmm3,XMMWORD PTR[((96-32))+r9] + vpclmulqdq xmm5,xmm11,xmm0,000h + vmovdqu xmm3,XMMWORD PTR[((96-32))+r9] vpxor xmm5,xmm5,xmm4 vpunpckhqdq xmm2,xmm10,xmm10 - vpclmulqdq xmm11,xmm11,xmm0,011h + vpclmulqdq xmm11,xmm11,xmm0,011h vpxor xmm2,xmm2,xmm10 vpalignr xmm14,xmm8,xmm8,8 vpxor xmm11,xmm11,xmm12 - vpclmulqdq xmm1,xmm1,xmm15,010h - vmovdqu xmm15,XMMWORD PTR[((128-32))+r9] + vpclmulqdq xmm1,xmm1,xmm15,010h + vmovdqu xmm15,XMMWORD PTR[((128-32))+r9] vpxor xmm1,xmm1,xmm9 vxorps xmm14,xmm14,xmm7 - vpclmulqdq xmm8,xmm8,XMMWORD PTR[16+r11],010h + vpclmulqdq xmm8,xmm8,XMMWORD PTR[16+r11],010h vxorps xmm8,xmm8,xmm14 - vpclmulqdq xmm4,xmm10,xmm3,000h - vmovdqu xmm0,XMMWORD PTR[((112-32))+r9] + vpclmulqdq xmm4,xmm10,xmm3,000h + vmovdqu xmm0,XMMWORD PTR[((112-32))+r9] vpxor xmm4,xmm4,xmm5 vpunpckhqdq xmm9,xmm8,xmm8 - vpclmulqdq xmm10,xmm10,xmm3,011h + vpclmulqdq xmm10,xmm10,xmm3,011h vpxor xmm9,xmm9,xmm8 vpxor xmm10,xmm10,xmm11 - vpclmulqdq xmm2,xmm2,xmm15,000h + vpclmulqdq xmm2,xmm2,xmm15,000h vpxor xmm2,xmm2,xmm1 - vpclmulqdq xmm5,xmm8,xmm0,000h - vpclmulqdq xmm7,xmm8,xmm0,011h + vpclmulqdq xmm5,xmm8,xmm0,000h + vpclmulqdq xmm7,xmm8,xmm0,011h vpxor xmm5,xmm5,xmm4 - vpclmulqdq xmm6,xmm9,xmm15,010h + vpclmulqdq xmm6,xmm9,xmm15,010h vpxor xmm7,xmm7,xmm10 vpxor xmm6,xmm6,xmm2 vpxor xmm4,xmm7,xmm5 vpxor xmm6,xmm6,xmm4 vpslldq xmm1,xmm6,8 - vmovdqu xmm3,XMMWORD PTR[16+r11] + vmovdqu xmm3,XMMWORD PTR[16+r11] vpsrldq xmm6,xmm6,8 vpxor xmm8,xmm5,xmm1 vpxor xmm7,xmm7,xmm6 vpalignr xmm2,xmm8,xmm8,8 - vpclmulqdq xmm8,xmm8,xmm3,010h + vpclmulqdq xmm8,xmm8,xmm3,010h vpxor xmm8,xmm8,xmm2 vpalignr xmm2,xmm8,xmm8,8 - vpclmulqdq xmm8,xmm8,xmm3,010h + vpclmulqdq xmm8,xmm8,xmm3,010h vpxor xmm2,xmm2,xmm7 vpxor xmm8,xmm8,xmm2 - vpshufb xmm8,xmm8,XMMWORD PTR[r11] - vmovdqu XMMWORD PTR[(-64)+r9],xmm8 + vpshufb xmm8,xmm8,XMMWORD PTR[r11] + vmovdqu XMMWORD PTR[(-64)+r9],xmm8 vzeroupper - movaps xmm6,XMMWORD PTR[((-216))+rax] - movaps xmm7,XMMWORD PTR[((-200))+rax] - movaps xmm8,XMMWORD PTR[((-184))+rax] - movaps xmm9,XMMWORD PTR[((-168))+rax] - movaps xmm10,XMMWORD PTR[((-152))+rax] - movaps xmm11,XMMWORD PTR[((-136))+rax] - movaps xmm12,XMMWORD PTR[((-120))+rax] - movaps xmm13,XMMWORD PTR[((-104))+rax] - movaps xmm14,XMMWORD PTR[((-88))+rax] - movaps xmm15,XMMWORD PTR[((-72))+rax] - mov r15,QWORD PTR[((-48))+rax] + movaps xmm6,XMMWORD PTR[((-216))+rax] + movaps xmm7,XMMWORD PTR[((-200))+rax] + movaps xmm8,XMMWORD PTR[((-184))+rax] + movaps xmm9,XMMWORD PTR[((-168))+rax] + movaps xmm10,XMMWORD PTR[((-152))+rax] + movaps xmm11,XMMWORD PTR[((-136))+rax] + movaps xmm12,XMMWORD PTR[((-120))+rax] + movaps xmm13,XMMWORD PTR[((-104))+rax] + movaps xmm14,XMMWORD PTR[((-88))+rax] + movaps xmm15,XMMWORD PTR[((-72))+rax] + mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] + mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] + mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] + mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$gcm_enc_abort:: +$L$gcm_enc_abort:: mov rax,r10 - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_gcm_encrypt:: -aesni_gcm_encrypt ENDP +$L$SEH_end_aesni_gcm_encrypt:: +aesni_gcm_encrypt ENDP ALIGN 64 -$L$bswap_mask:: +$L$bswap_mask:: DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 -$L$poly:: -DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0c2h -$L$one_msb:: +$L$poly:: +DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0c2h +$L$one_msb:: DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -$L$two_lsb:: +$L$two_lsb:: DB 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -$L$one_lsb:: +$L$one_lsb:: DB 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DB 65,69,83,45,78,73,32,71,67,77,32,109,111,100,117,108 DB 101,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82 DB 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112 DB 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 ALIGN 64 -EXTERN __imp_RtlVirtualUnwind:NEAR +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -gcm_se_handler PROC PRIVATE +gcm_se_handler PROC PRIVATE push rsi push rdi push rbx @@ -880,69 +880,69 @@ gcm_se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail - - mov rax,QWORD PTR[120+r8] - - mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] - mov QWORD PTR[240+r8],r15 - mov QWORD PTR[232+r8],r14 - mov QWORD PTR[224+r8],r13 - mov QWORD PTR[216+r8],r12 - mov QWORD PTR[160+r8],rbp - mov QWORD PTR[144+r8],rbx - - lea rsi,QWORD PTR[((-216))+rax] - lea rdi,QWORD PTR[512+r8] + jae $L$common_seh_tail + + mov rax,QWORD PTR[120+r8] + + mov r15,QWORD PTR[((-48))+rax] + mov r14,QWORD PTR[((-40))+rax] + mov r13,QWORD PTR[((-32))+rax] + mov r12,QWORD PTR[((-24))+rax] + mov rbp,QWORD PTR[((-16))+rax] + mov rbx,QWORD PTR[((-8))+rax] + mov QWORD PTR[240+r8],r15 + mov QWORD PTR[232+r8],r14 + mov QWORD PTR[224+r8],r13 + mov QWORD PTR[216+r8],r12 + mov QWORD PTR[160+r8],rbp + mov QWORD PTR[144+r8],rbx + + lea rsi,QWORD PTR[((-216))+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch + DD 0a548f3fch -$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 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 - mov rdi,QWORD PTR[40+r9] + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -956,29 +956,29 @@ $L$common_seh_tail:: pop rdi pop rsi DB 0F3h,0C3h ;repret -gcm_se_handler ENDP +gcm_se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_aesni_gcm_decrypt - DD imagerel $L$SEH_end_aesni_gcm_decrypt - DD imagerel $L$SEH_gcm_dec_info - - DD imagerel $L$SEH_begin_aesni_gcm_encrypt - DD imagerel $L$SEH_end_aesni_gcm_encrypt - DD imagerel $L$SEH_gcm_enc_info -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + DD imagerel $L$SEH_begin_aesni_gcm_decrypt + DD imagerel $L$SEH_end_aesni_gcm_decrypt + DD imagerel $L$SEH_gcm_dec_info + + DD imagerel $L$SEH_begin_aesni_gcm_encrypt + DD imagerel $L$SEH_end_aesni_gcm_encrypt + DD imagerel $L$SEH_gcm_enc_info +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_gcm_dec_info:: +$L$SEH_gcm_dec_info:: DB 9,0,0,0 - DD imagerel gcm_se_handler - DD imagerel $L$gcm_dec_body,imagerel $L$gcm_dec_abort -$L$SEH_gcm_enc_info:: + DD imagerel gcm_se_handler + DD imagerel $L$gcm_dec_body,imagerel $L$gcm_dec_abort +$L$SEH_gcm_enc_info:: DB 9,0,0,0 - DD imagerel gcm_se_handler - DD imagerel $L$gcm_enc_body,imagerel $L$gcm_enc_abort - -.xdata ENDS -END + DD imagerel gcm_se_handler + DD imagerel $L$gcm_enc_body,imagerel $L$gcm_enc_abort + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/modes/ghash-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/modes/ghash-x86_64.masm index 525b72d3a0..4dc3a29fa1 100644 --- a/contrib/libs/openssl/asm/windows/crypto/modes/ghash-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/modes/ghash-x86_64.masm @@ -1,15 +1,15 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' +EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC gcm_gmult_4bit +PUBLIC gcm_gmult_4bit ALIGN 16 -gcm_gmult_4bit PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +gcm_gmult_4bit PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_gcm_gmult_4bit:: +$L$SEH_begin_gcm_gmult_4bit:: mov rdi,rcx mov rsi,rdx @@ -29,103 +29,103 @@ $L$SEH_begin_gcm_gmult_4bit:: sub rsp,280 -$L$gmult_prologue:: +$L$gmult_prologue:: - movzx r8,BYTE PTR[15+rdi] - lea r11,QWORD PTR[$L$rem_4bit] + movzx r8,BYTE PTR[15+rdi] + lea r11,QWORD PTR[$L$rem_4bit] xor rax,rax xor rbx,rbx mov al,r8b mov bl,r8b shl al,4 mov rcx,14 - mov r8,QWORD PTR[8+rax*1+rsi] - mov r9,QWORD PTR[rax*1+rsi] - and bl,0f0h + mov r8,QWORD PTR[8+rax*1+rsi] + mov r9,QWORD PTR[rax*1+rsi] + and bl,0f0h mov rdx,r8 - jmp $L$oop1 + jmp $L$oop1 ALIGN 16 -$L$oop1:: +$L$oop1:: shr r8,4 - and rdx,0fh + and rdx,0fh mov r10,r9 - mov al,BYTE PTR[rcx*1+rdi] + mov al,BYTE PTR[rcx*1+rdi] shr r9,4 - xor r8,QWORD PTR[8+rbx*1+rsi] + xor r8,QWORD PTR[8+rbx*1+rsi] shl r10,60 - xor r9,QWORD PTR[rbx*1+rsi] + xor r9,QWORD PTR[rbx*1+rsi] mov bl,al - xor r9,QWORD PTR[rdx*8+r11] + xor r9,QWORD PTR[rdx*8+r11] mov rdx,r8 shl al,4 xor r8,r10 dec rcx - js $L$break1 + js $L$break1 shr r8,4 - and rdx,0fh + and rdx,0fh mov r10,r9 shr r9,4 - xor r8,QWORD PTR[8+rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] shl r10,60 - xor r9,QWORD PTR[rax*1+rsi] - and bl,0f0h - xor r9,QWORD PTR[rdx*8+r11] + xor r9,QWORD PTR[rax*1+rsi] + and bl,0f0h + xor r9,QWORD PTR[rdx*8+r11] mov rdx,r8 xor r8,r10 - jmp $L$oop1 + jmp $L$oop1 ALIGN 16 -$L$break1:: +$L$break1:: shr r8,4 - and rdx,0fh + and rdx,0fh mov r10,r9 shr r9,4 - xor r8,QWORD PTR[8+rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] shl r10,60 - xor r9,QWORD PTR[rax*1+rsi] - and bl,0f0h - xor r9,QWORD PTR[rdx*8+r11] + xor r9,QWORD PTR[rax*1+rsi] + and bl,0f0h + xor r9,QWORD PTR[rdx*8+r11] mov rdx,r8 xor r8,r10 shr r8,4 - and rdx,0fh + and rdx,0fh mov r10,r9 shr r9,4 - xor r8,QWORD PTR[8+rbx*1+rsi] + xor r8,QWORD PTR[8+rbx*1+rsi] shl r10,60 - xor r9,QWORD PTR[rbx*1+rsi] + xor r9,QWORD PTR[rbx*1+rsi] xor r8,r10 - xor r9,QWORD PTR[rdx*8+r11] + xor r9,QWORD PTR[rdx*8+r11] bswap r8 bswap r9 - mov QWORD PTR[8+rdi],r8 - mov QWORD PTR[rdi],r9 + mov QWORD PTR[8+rdi],r8 + mov QWORD PTR[rdi],r9 - lea rsi,QWORD PTR[((280+48))+rsp] + lea rsi,QWORD PTR[((280+48))+rsp] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$gmult_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$gmult_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_gcm_gmult_4bit:: -gcm_gmult_4bit ENDP -PUBLIC gcm_ghash_4bit +$L$SEH_end_gcm_gmult_4bit:: +gcm_gmult_4bit ENDP +PUBLIC gcm_ghash_4bit ALIGN 16 -gcm_ghash_4bit PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +gcm_ghash_4bit PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_gcm_ghash_4bit:: +$L$SEH_begin_gcm_ghash_4bit:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -147,218 +147,218 @@ $L$SEH_begin_gcm_ghash_4bit:: sub rsp,280 -$L$ghash_prologue:: +$L$ghash_prologue:: mov r14,rdx mov r15,rcx sub rsi,-128 - lea rbp,QWORD PTR[((16+128))+rsp] + lea rbp,QWORD PTR[((16+128))+rsp] xor edx,edx - mov r8,QWORD PTR[((0+0-128))+rsi] - mov rax,QWORD PTR[((0+8-128))+rsi] + mov r8,QWORD PTR[((0+0-128))+rsi] + mov rax,QWORD PTR[((0+8-128))+rsi] mov dl,al shr rax,4 mov r10,r8 shr r8,4 - mov r9,QWORD PTR[((16+0-128))+rsi] + mov r9,QWORD PTR[((16+0-128))+rsi] shl dl,4 - mov rbx,QWORD PTR[((16+8-128))+rsi] + mov rbx,QWORD PTR[((16+8-128))+rsi] shl r10,60 - mov BYTE PTR[rsp],dl + mov BYTE PTR[rsp],dl or rax,r10 mov dl,bl shr rbx,4 mov r10,r9 shr r9,4 - mov QWORD PTR[rbp],r8 - mov r8,QWORD PTR[((32+0-128))+rsi] + mov QWORD PTR[rbp],r8 + mov r8,QWORD PTR[((32+0-128))+rsi] shl dl,4 - mov QWORD PTR[((0-128))+rbp],rax - mov rax,QWORD PTR[((32+8-128))+rsi] + mov QWORD PTR[((0-128))+rbp],rax + mov rax,QWORD PTR[((32+8-128))+rsi] shl r10,60 - mov BYTE PTR[1+rsp],dl + mov BYTE PTR[1+rsp],dl or rbx,r10 mov dl,al shr rax,4 mov r10,r8 shr r8,4 - mov QWORD PTR[8+rbp],r9 - mov r9,QWORD PTR[((48+0-128))+rsi] + mov QWORD PTR[8+rbp],r9 + mov r9,QWORD PTR[((48+0-128))+rsi] shl dl,4 - mov QWORD PTR[((8-128))+rbp],rbx - mov rbx,QWORD PTR[((48+8-128))+rsi] + mov QWORD PTR[((8-128))+rbp],rbx + mov rbx,QWORD PTR[((48+8-128))+rsi] shl r10,60 - mov BYTE PTR[2+rsp],dl + mov BYTE PTR[2+rsp],dl or rax,r10 mov dl,bl shr rbx,4 mov r10,r9 shr r9,4 - mov QWORD PTR[16+rbp],r8 - mov r8,QWORD PTR[((64+0-128))+rsi] + mov QWORD PTR[16+rbp],r8 + mov r8,QWORD PTR[((64+0-128))+rsi] shl dl,4 - mov QWORD PTR[((16-128))+rbp],rax - mov rax,QWORD PTR[((64+8-128))+rsi] + mov QWORD PTR[((16-128))+rbp],rax + mov rax,QWORD PTR[((64+8-128))+rsi] shl r10,60 - mov BYTE PTR[3+rsp],dl + mov BYTE PTR[3+rsp],dl or rbx,r10 mov dl,al shr rax,4 mov r10,r8 shr r8,4 - mov QWORD PTR[24+rbp],r9 - mov r9,QWORD PTR[((80+0-128))+rsi] + mov QWORD PTR[24+rbp],r9 + mov r9,QWORD PTR[((80+0-128))+rsi] shl dl,4 - mov QWORD PTR[((24-128))+rbp],rbx - mov rbx,QWORD PTR[((80+8-128))+rsi] + mov QWORD PTR[((24-128))+rbp],rbx + mov rbx,QWORD PTR[((80+8-128))+rsi] shl r10,60 - mov BYTE PTR[4+rsp],dl + mov BYTE PTR[4+rsp],dl or rax,r10 mov dl,bl shr rbx,4 mov r10,r9 shr r9,4 - mov QWORD PTR[32+rbp],r8 - mov r8,QWORD PTR[((96+0-128))+rsi] + mov QWORD PTR[32+rbp],r8 + mov r8,QWORD PTR[((96+0-128))+rsi] shl dl,4 - mov QWORD PTR[((32-128))+rbp],rax - mov rax,QWORD PTR[((96+8-128))+rsi] + mov QWORD PTR[((32-128))+rbp],rax + mov rax,QWORD PTR[((96+8-128))+rsi] shl r10,60 - mov BYTE PTR[5+rsp],dl + mov BYTE PTR[5+rsp],dl or rbx,r10 mov dl,al shr rax,4 mov r10,r8 shr r8,4 - mov QWORD PTR[40+rbp],r9 - mov r9,QWORD PTR[((112+0-128))+rsi] + mov QWORD PTR[40+rbp],r9 + mov r9,QWORD PTR[((112+0-128))+rsi] shl dl,4 - mov QWORD PTR[((40-128))+rbp],rbx - mov rbx,QWORD PTR[((112+8-128))+rsi] + mov QWORD PTR[((40-128))+rbp],rbx + mov rbx,QWORD PTR[((112+8-128))+rsi] shl r10,60 - mov BYTE PTR[6+rsp],dl + mov BYTE PTR[6+rsp],dl or rax,r10 mov dl,bl shr rbx,4 mov r10,r9 shr r9,4 - mov QWORD PTR[48+rbp],r8 - mov r8,QWORD PTR[((128+0-128))+rsi] + mov QWORD PTR[48+rbp],r8 + mov r8,QWORD PTR[((128+0-128))+rsi] shl dl,4 - mov QWORD PTR[((48-128))+rbp],rax - mov rax,QWORD PTR[((128+8-128))+rsi] + mov QWORD PTR[((48-128))+rbp],rax + mov rax,QWORD PTR[((128+8-128))+rsi] shl r10,60 - mov BYTE PTR[7+rsp],dl + mov BYTE PTR[7+rsp],dl or rbx,r10 mov dl,al shr rax,4 mov r10,r8 shr r8,4 - mov QWORD PTR[56+rbp],r9 - mov r9,QWORD PTR[((144+0-128))+rsi] + mov QWORD PTR[56+rbp],r9 + mov r9,QWORD PTR[((144+0-128))+rsi] shl dl,4 - mov QWORD PTR[((56-128))+rbp],rbx - mov rbx,QWORD PTR[((144+8-128))+rsi] + mov QWORD PTR[((56-128))+rbp],rbx + mov rbx,QWORD PTR[((144+8-128))+rsi] shl r10,60 - mov BYTE PTR[8+rsp],dl + mov BYTE PTR[8+rsp],dl or rax,r10 mov dl,bl shr rbx,4 mov r10,r9 shr r9,4 - mov QWORD PTR[64+rbp],r8 - mov r8,QWORD PTR[((160+0-128))+rsi] + mov QWORD PTR[64+rbp],r8 + mov r8,QWORD PTR[((160+0-128))+rsi] shl dl,4 - mov QWORD PTR[((64-128))+rbp],rax - mov rax,QWORD PTR[((160+8-128))+rsi] + mov QWORD PTR[((64-128))+rbp],rax + mov rax,QWORD PTR[((160+8-128))+rsi] shl r10,60 - mov BYTE PTR[9+rsp],dl + mov BYTE PTR[9+rsp],dl or rbx,r10 mov dl,al shr rax,4 mov r10,r8 shr r8,4 - mov QWORD PTR[72+rbp],r9 - mov r9,QWORD PTR[((176+0-128))+rsi] + mov QWORD PTR[72+rbp],r9 + mov r9,QWORD PTR[((176+0-128))+rsi] shl dl,4 - mov QWORD PTR[((72-128))+rbp],rbx - mov rbx,QWORD PTR[((176+8-128))+rsi] + mov QWORD PTR[((72-128))+rbp],rbx + mov rbx,QWORD PTR[((176+8-128))+rsi] shl r10,60 - mov BYTE PTR[10+rsp],dl + mov BYTE PTR[10+rsp],dl or rax,r10 mov dl,bl shr rbx,4 mov r10,r9 shr r9,4 - mov QWORD PTR[80+rbp],r8 - mov r8,QWORD PTR[((192+0-128))+rsi] + mov QWORD PTR[80+rbp],r8 + mov r8,QWORD PTR[((192+0-128))+rsi] shl dl,4 - mov QWORD PTR[((80-128))+rbp],rax - mov rax,QWORD PTR[((192+8-128))+rsi] + mov QWORD PTR[((80-128))+rbp],rax + mov rax,QWORD PTR[((192+8-128))+rsi] shl r10,60 - mov BYTE PTR[11+rsp],dl + mov BYTE PTR[11+rsp],dl or rbx,r10 mov dl,al shr rax,4 mov r10,r8 shr r8,4 - mov QWORD PTR[88+rbp],r9 - mov r9,QWORD PTR[((208+0-128))+rsi] + mov QWORD PTR[88+rbp],r9 + mov r9,QWORD PTR[((208+0-128))+rsi] shl dl,4 - mov QWORD PTR[((88-128))+rbp],rbx - mov rbx,QWORD PTR[((208+8-128))+rsi] + mov QWORD PTR[((88-128))+rbp],rbx + mov rbx,QWORD PTR[((208+8-128))+rsi] shl r10,60 - mov BYTE PTR[12+rsp],dl + mov BYTE PTR[12+rsp],dl or rax,r10 mov dl,bl shr rbx,4 mov r10,r9 shr r9,4 - mov QWORD PTR[96+rbp],r8 - mov r8,QWORD PTR[((224+0-128))+rsi] + mov QWORD PTR[96+rbp],r8 + mov r8,QWORD PTR[((224+0-128))+rsi] shl dl,4 - mov QWORD PTR[((96-128))+rbp],rax - mov rax,QWORD PTR[((224+8-128))+rsi] + mov QWORD PTR[((96-128))+rbp],rax + mov rax,QWORD PTR[((224+8-128))+rsi] shl r10,60 - mov BYTE PTR[13+rsp],dl + mov BYTE PTR[13+rsp],dl or rbx,r10 mov dl,al shr rax,4 mov r10,r8 shr r8,4 - mov QWORD PTR[104+rbp],r9 - mov r9,QWORD PTR[((240+0-128))+rsi] + mov QWORD PTR[104+rbp],r9 + mov r9,QWORD PTR[((240+0-128))+rsi] shl dl,4 - mov QWORD PTR[((104-128))+rbp],rbx - mov rbx,QWORD PTR[((240+8-128))+rsi] + mov QWORD PTR[((104-128))+rbp],rbx + mov rbx,QWORD PTR[((240+8-128))+rsi] shl r10,60 - mov BYTE PTR[14+rsp],dl + mov BYTE PTR[14+rsp],dl or rax,r10 mov dl,bl shr rbx,4 mov r10,r9 shr r9,4 - mov QWORD PTR[112+rbp],r8 + mov QWORD PTR[112+rbp],r8 shl dl,4 - mov QWORD PTR[((112-128))+rbp],rax + mov QWORD PTR[((112-128))+rbp],rax shl r10,60 - mov BYTE PTR[15+rsp],dl + mov BYTE PTR[15+rsp],dl or rbx,r10 - mov QWORD PTR[120+rbp],r9 - mov QWORD PTR[((120-128))+rbp],rbx + mov QWORD PTR[120+rbp],r9 + mov QWORD PTR[((120-128))+rbp],rbx add rsi,-128 - mov r8,QWORD PTR[8+rdi] - mov r9,QWORD PTR[rdi] + mov r8,QWORD PTR[8+rdi] + mov r9,QWORD PTR[rdi] add r15,r14 - lea r11,QWORD PTR[$L$rem_8bit] - jmp $L$outer_loop + lea r11,QWORD PTR[$L$rem_8bit] + jmp $L$outer_loop ALIGN 16 -$L$outer_loop:: - xor r9,QWORD PTR[r14] - mov rdx,QWORD PTR[8+r14] - lea r14,QWORD PTR[16+r14] +$L$outer_loop:: + xor r9,QWORD PTR[r14] + mov rdx,QWORD PTR[8+r14] + lea r14,QWORD PTR[16+r14] xor rdx,r8 - mov QWORD PTR[rdi],r9 - mov QWORD PTR[8+rdi],rdx + mov QWORD PTR[rdi],r9 + mov QWORD PTR[8+rdi],rdx shr rdx,32 xor rax,rax rol edx,8 @@ -367,30 +367,30 @@ $L$outer_loop:: shl al,4 shr ebx,4 rol edx,8 - mov r8,QWORD PTR[8+rax*1+rsi] - mov r9,QWORD PTR[rax*1+rsi] + mov r8,QWORD PTR[8+rax*1+rsi] + mov r9,QWORD PTR[rax*1+rsi] mov al,dl movzx ecx,dl shl al,4 - movzx r12,BYTE PTR[rbx*1+rsp] + movzx r12,BYTE PTR[rbx*1+rsp] shr ecx,4 xor r12,r8 mov r10,r9 shr r8,8 movzx r12,r12b shr r9,8 - xor r8,QWORD PTR[((-128))+rbx*8+rbp] + xor r8,QWORD PTR[((-128))+rbx*8+rbp] shl r10,56 - xor r9,QWORD PTR[rbx*8+rbp] + xor r9,QWORD PTR[rbx*8+rbp] rol edx,8 - xor r8,QWORD PTR[8+rax*1+rsi] - xor r9,QWORD PTR[rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] + xor r9,QWORD PTR[rax*1+rsi] mov al,dl xor r8,r10 - movzx r12,WORD PTR[r12*2+r11] + movzx r12,WORD PTR[r12*2+r11] movzx ebx,dl shl al,4 - movzx r13,BYTE PTR[rcx*1+rsp] + movzx r13,BYTE PTR[rcx*1+rsp] shr ebx,4 shl r12,48 xor r13,r8 @@ -399,18 +399,18 @@ $L$outer_loop:: shr r8,8 movzx r13,r13b shr r9,8 - xor r8,QWORD PTR[((-128))+rcx*8+rbp] + xor r8,QWORD PTR[((-128))+rcx*8+rbp] shl r10,56 - xor r9,QWORD PTR[rcx*8+rbp] + xor r9,QWORD PTR[rcx*8+rbp] rol edx,8 - xor r8,QWORD PTR[8+rax*1+rsi] - xor r9,QWORD PTR[rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] + xor r9,QWORD PTR[rax*1+rsi] mov al,dl xor r8,r10 - movzx r13,WORD PTR[r13*2+r11] + movzx r13,WORD PTR[r13*2+r11] movzx ecx,dl shl al,4 - movzx r12,BYTE PTR[rbx*1+rsp] + movzx r12,BYTE PTR[rbx*1+rsp] shr ecx,4 shl r13,48 xor r12,r8 @@ -418,20 +418,20 @@ $L$outer_loop:: xor r9,r13 shr r8,8 movzx r12,r12b - mov edx,DWORD PTR[8+rdi] + mov edx,DWORD PTR[8+rdi] shr r9,8 - xor r8,QWORD PTR[((-128))+rbx*8+rbp] + xor r8,QWORD PTR[((-128))+rbx*8+rbp] shl r10,56 - xor r9,QWORD PTR[rbx*8+rbp] + xor r9,QWORD PTR[rbx*8+rbp] rol edx,8 - xor r8,QWORD PTR[8+rax*1+rsi] - xor r9,QWORD PTR[rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] + xor r9,QWORD PTR[rax*1+rsi] mov al,dl xor r8,r10 - movzx r12,WORD PTR[r12*2+r11] + movzx r12,WORD PTR[r12*2+r11] movzx ebx,dl shl al,4 - movzx r13,BYTE PTR[rcx*1+rsp] + movzx r13,BYTE PTR[rcx*1+rsp] shr ebx,4 shl r12,48 xor r13,r8 @@ -440,18 +440,18 @@ $L$outer_loop:: shr r8,8 movzx r13,r13b shr r9,8 - xor r8,QWORD PTR[((-128))+rcx*8+rbp] + xor r8,QWORD PTR[((-128))+rcx*8+rbp] shl r10,56 - xor r9,QWORD PTR[rcx*8+rbp] + xor r9,QWORD PTR[rcx*8+rbp] rol edx,8 - xor r8,QWORD PTR[8+rax*1+rsi] - xor r9,QWORD PTR[rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] + xor r9,QWORD PTR[rax*1+rsi] mov al,dl xor r8,r10 - movzx r13,WORD PTR[r13*2+r11] + movzx r13,WORD PTR[r13*2+r11] movzx ecx,dl shl al,4 - movzx r12,BYTE PTR[rbx*1+rsp] + movzx r12,BYTE PTR[rbx*1+rsp] shr ecx,4 shl r13,48 xor r12,r8 @@ -460,18 +460,18 @@ $L$outer_loop:: shr r8,8 movzx r12,r12b shr r9,8 - xor r8,QWORD PTR[((-128))+rbx*8+rbp] + xor r8,QWORD PTR[((-128))+rbx*8+rbp] shl r10,56 - xor r9,QWORD PTR[rbx*8+rbp] + xor r9,QWORD PTR[rbx*8+rbp] rol edx,8 - xor r8,QWORD PTR[8+rax*1+rsi] - xor r9,QWORD PTR[rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] + xor r9,QWORD PTR[rax*1+rsi] mov al,dl xor r8,r10 - movzx r12,WORD PTR[r12*2+r11] + movzx r12,WORD PTR[r12*2+r11] movzx ebx,dl shl al,4 - movzx r13,BYTE PTR[rcx*1+rsp] + movzx r13,BYTE PTR[rcx*1+rsp] shr ebx,4 shl r12,48 xor r13,r8 @@ -480,18 +480,18 @@ $L$outer_loop:: shr r8,8 movzx r13,r13b shr r9,8 - xor r8,QWORD PTR[((-128))+rcx*8+rbp] + xor r8,QWORD PTR[((-128))+rcx*8+rbp] shl r10,56 - xor r9,QWORD PTR[rcx*8+rbp] + xor r9,QWORD PTR[rcx*8+rbp] rol edx,8 - xor r8,QWORD PTR[8+rax*1+rsi] - xor r9,QWORD PTR[rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] + xor r9,QWORD PTR[rax*1+rsi] mov al,dl xor r8,r10 - movzx r13,WORD PTR[r13*2+r11] + movzx r13,WORD PTR[r13*2+r11] movzx ecx,dl shl al,4 - movzx r12,BYTE PTR[rbx*1+rsp] + movzx r12,BYTE PTR[rbx*1+rsp] shr ecx,4 shl r13,48 xor r12,r8 @@ -499,20 +499,20 @@ $L$outer_loop:: xor r9,r13 shr r8,8 movzx r12,r12b - mov edx,DWORD PTR[4+rdi] + mov edx,DWORD PTR[4+rdi] shr r9,8 - xor r8,QWORD PTR[((-128))+rbx*8+rbp] + xor r8,QWORD PTR[((-128))+rbx*8+rbp] shl r10,56 - xor r9,QWORD PTR[rbx*8+rbp] + xor r9,QWORD PTR[rbx*8+rbp] rol edx,8 - xor r8,QWORD PTR[8+rax*1+rsi] - xor r9,QWORD PTR[rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] + xor r9,QWORD PTR[rax*1+rsi] mov al,dl xor r8,r10 - movzx r12,WORD PTR[r12*2+r11] + movzx r12,WORD PTR[r12*2+r11] movzx ebx,dl shl al,4 - movzx r13,BYTE PTR[rcx*1+rsp] + movzx r13,BYTE PTR[rcx*1+rsp] shr ebx,4 shl r12,48 xor r13,r8 @@ -521,18 +521,18 @@ $L$outer_loop:: shr r8,8 movzx r13,r13b shr r9,8 - xor r8,QWORD PTR[((-128))+rcx*8+rbp] + xor r8,QWORD PTR[((-128))+rcx*8+rbp] shl r10,56 - xor r9,QWORD PTR[rcx*8+rbp] + xor r9,QWORD PTR[rcx*8+rbp] rol edx,8 - xor r8,QWORD PTR[8+rax*1+rsi] - xor r9,QWORD PTR[rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] + xor r9,QWORD PTR[rax*1+rsi] mov al,dl xor r8,r10 - movzx r13,WORD PTR[r13*2+r11] + movzx r13,WORD PTR[r13*2+r11] movzx ecx,dl shl al,4 - movzx r12,BYTE PTR[rbx*1+rsp] + movzx r12,BYTE PTR[rbx*1+rsp] shr ecx,4 shl r13,48 xor r12,r8 @@ -541,18 +541,18 @@ $L$outer_loop:: shr r8,8 movzx r12,r12b shr r9,8 - xor r8,QWORD PTR[((-128))+rbx*8+rbp] + xor r8,QWORD PTR[((-128))+rbx*8+rbp] shl r10,56 - xor r9,QWORD PTR[rbx*8+rbp] + xor r9,QWORD PTR[rbx*8+rbp] rol edx,8 - xor r8,QWORD PTR[8+rax*1+rsi] - xor r9,QWORD PTR[rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] + xor r9,QWORD PTR[rax*1+rsi] mov al,dl xor r8,r10 - movzx r12,WORD PTR[r12*2+r11] + movzx r12,WORD PTR[r12*2+r11] movzx ebx,dl shl al,4 - movzx r13,BYTE PTR[rcx*1+rsp] + movzx r13,BYTE PTR[rcx*1+rsp] shr ebx,4 shl r12,48 xor r13,r8 @@ -561,18 +561,18 @@ $L$outer_loop:: shr r8,8 movzx r13,r13b shr r9,8 - xor r8,QWORD PTR[((-128))+rcx*8+rbp] + xor r8,QWORD PTR[((-128))+rcx*8+rbp] shl r10,56 - xor r9,QWORD PTR[rcx*8+rbp] + xor r9,QWORD PTR[rcx*8+rbp] rol edx,8 - xor r8,QWORD PTR[8+rax*1+rsi] - xor r9,QWORD PTR[rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] + xor r9,QWORD PTR[rax*1+rsi] mov al,dl xor r8,r10 - movzx r13,WORD PTR[r13*2+r11] + movzx r13,WORD PTR[r13*2+r11] movzx ecx,dl shl al,4 - movzx r12,BYTE PTR[rbx*1+rsp] + movzx r12,BYTE PTR[rbx*1+rsp] shr ecx,4 shl r13,48 xor r12,r8 @@ -580,20 +580,20 @@ $L$outer_loop:: xor r9,r13 shr r8,8 movzx r12,r12b - mov edx,DWORD PTR[rdi] + mov edx,DWORD PTR[rdi] shr r9,8 - xor r8,QWORD PTR[((-128))+rbx*8+rbp] + xor r8,QWORD PTR[((-128))+rbx*8+rbp] shl r10,56 - xor r9,QWORD PTR[rbx*8+rbp] + xor r9,QWORD PTR[rbx*8+rbp] rol edx,8 - xor r8,QWORD PTR[8+rax*1+rsi] - xor r9,QWORD PTR[rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] + xor r9,QWORD PTR[rax*1+rsi] mov al,dl xor r8,r10 - movzx r12,WORD PTR[r12*2+r11] + movzx r12,WORD PTR[r12*2+r11] movzx ebx,dl shl al,4 - movzx r13,BYTE PTR[rcx*1+rsp] + movzx r13,BYTE PTR[rcx*1+rsp] shr ebx,4 shl r12,48 xor r13,r8 @@ -602,18 +602,18 @@ $L$outer_loop:: shr r8,8 movzx r13,r13b shr r9,8 - xor r8,QWORD PTR[((-128))+rcx*8+rbp] + xor r8,QWORD PTR[((-128))+rcx*8+rbp] shl r10,56 - xor r9,QWORD PTR[rcx*8+rbp] + xor r9,QWORD PTR[rcx*8+rbp] rol edx,8 - xor r8,QWORD PTR[8+rax*1+rsi] - xor r9,QWORD PTR[rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] + xor r9,QWORD PTR[rax*1+rsi] mov al,dl xor r8,r10 - movzx r13,WORD PTR[r13*2+r11] + movzx r13,WORD PTR[r13*2+r11] movzx ecx,dl shl al,4 - movzx r12,BYTE PTR[rbx*1+rsp] + movzx r12,BYTE PTR[rbx*1+rsp] shr ecx,4 shl r13,48 xor r12,r8 @@ -622,18 +622,18 @@ $L$outer_loop:: shr r8,8 movzx r12,r12b shr r9,8 - xor r8,QWORD PTR[((-128))+rbx*8+rbp] + xor r8,QWORD PTR[((-128))+rbx*8+rbp] shl r10,56 - xor r9,QWORD PTR[rbx*8+rbp] + xor r9,QWORD PTR[rbx*8+rbp] rol edx,8 - xor r8,QWORD PTR[8+rax*1+rsi] - xor r9,QWORD PTR[rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] + xor r9,QWORD PTR[rax*1+rsi] mov al,dl xor r8,r10 - movzx r12,WORD PTR[r12*2+r11] + movzx r12,WORD PTR[r12*2+r11] movzx ebx,dl shl al,4 - movzx r13,BYTE PTR[rcx*1+rsp] + movzx r13,BYTE PTR[rcx*1+rsp] shr ebx,4 shl r12,48 xor r13,r8 @@ -642,18 +642,18 @@ $L$outer_loop:: shr r8,8 movzx r13,r13b shr r9,8 - xor r8,QWORD PTR[((-128))+rcx*8+rbp] + xor r8,QWORD PTR[((-128))+rcx*8+rbp] shl r10,56 - xor r9,QWORD PTR[rcx*8+rbp] + xor r9,QWORD PTR[rcx*8+rbp] rol edx,8 - xor r8,QWORD PTR[8+rax*1+rsi] - xor r9,QWORD PTR[rax*1+rsi] + xor r8,QWORD PTR[8+rax*1+rsi] + xor r9,QWORD PTR[rax*1+rsi] mov al,dl xor r8,r10 - movzx r13,WORD PTR[r13*2+r11] + movzx r13,WORD PTR[r13*2+r11] movzx ecx,dl shl al,4 - movzx r12,BYTE PTR[rbx*1+rsp] + movzx r12,BYTE PTR[rbx*1+rsp] and ecx,240 shl r13,48 xor r12,r8 @@ -661,14 +661,14 @@ $L$outer_loop:: xor r9,r13 shr r8,8 movzx r12,r12b - mov edx,DWORD PTR[((-4))+rdi] + mov edx,DWORD PTR[((-4))+rdi] shr r9,8 - xor r8,QWORD PTR[((-128))+rbx*8+rbp] + xor r8,QWORD PTR[((-128))+rbx*8+rbp] shl r10,56 - xor r9,QWORD PTR[rbx*8+rbp] - movzx r12,WORD PTR[r12*2+r11] - xor r8,QWORD PTR[8+rax*1+rsi] - xor r9,QWORD PTR[rax*1+rsi] + xor r9,QWORD PTR[rbx*8+rbp] + movzx r12,WORD PTR[r12*2+r11] + xor r8,QWORD PTR[8+rax*1+rsi] + xor r9,QWORD PTR[rax*1+rsi] shl r12,48 xor r8,r10 xor r9,r12 @@ -677,54 +677,54 @@ $L$outer_loop:: mov r10,r9 shl r13b,4 shr r9,4 - xor r8,QWORD PTR[8+rcx*1+rsi] - movzx r13,WORD PTR[r13*2+r11] + xor r8,QWORD PTR[8+rcx*1+rsi] + movzx r13,WORD PTR[r13*2+r11] shl r10,60 - xor r9,QWORD PTR[rcx*1+rsi] + xor r9,QWORD PTR[rcx*1+rsi] xor r8,r10 shl r13,48 bswap r8 xor r9,r13 bswap r9 cmp r14,r15 - jb $L$outer_loop - mov QWORD PTR[8+rdi],r8 - mov QWORD PTR[rdi],r9 + jb $L$outer_loop + mov QWORD PTR[8+rdi],r8 + mov QWORD PTR[rdi],r9 - lea rsi,QWORD PTR[((280+48))+rsp] + lea rsi,QWORD PTR[((280+48))+rsp] - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$ghash_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$ghash_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_gcm_ghash_4bit:: -gcm_ghash_4bit ENDP -PUBLIC gcm_init_clmul +$L$SEH_end_gcm_ghash_4bit:: +gcm_ghash_4bit ENDP +PUBLIC gcm_init_clmul ALIGN 16 -gcm_init_clmul PROC PUBLIC +gcm_init_clmul PROC PUBLIC -$L$_init_clmul:: -$L$SEH_begin_gcm_init_clmul:: +$L$_init_clmul:: +$L$SEH_begin_gcm_init_clmul:: -DB 048h,083h,0ech,018h -DB 00fh,029h,034h,024h - movdqu xmm2,XMMWORD PTR[rdx] +DB 048h,083h,0ech,018h +DB 00fh,029h,034h,024h + movdqu xmm2,XMMWORD PTR[rdx] pshufd xmm2,xmm2,78 @@ -738,7 +738,7 @@ DB 00fh,029h,034h,024h por xmm2,xmm3 - pand xmm5,XMMWORD PTR[$L$0x1c2_polynomial] + pand xmm5,XMMWORD PTR[$L$0x1c2_polynomial] pxor xmm2,xmm5 @@ -785,11 +785,11 @@ DB 102,15,58,68,222,0 pshufd xmm3,xmm2,78 pshufd xmm4,xmm0,78 pxor xmm3,xmm2 - movdqu XMMWORD PTR[rcx],xmm2 + movdqu XMMWORD PTR[rcx],xmm2 pxor xmm4,xmm0 - movdqu XMMWORD PTR[16+rcx],xmm0 + movdqu XMMWORD PTR[16+rcx],xmm0 DB 102,15,58,15,227,8 - movdqu XMMWORD PTR[32+rcx],xmm4 + movdqu XMMWORD PTR[32+rcx],xmm4 movdqa xmm1,xmm0 pshufd xmm3,xmm0,78 pxor xmm3,xmm0 @@ -868,27 +868,27 @@ DB 102,15,58,68,222,0 pshufd xmm3,xmm5,78 pshufd xmm4,xmm0,78 pxor xmm3,xmm5 - movdqu XMMWORD PTR[48+rcx],xmm5 + movdqu XMMWORD PTR[48+rcx],xmm5 pxor xmm4,xmm0 - movdqu XMMWORD PTR[64+rcx],xmm0 + movdqu XMMWORD PTR[64+rcx],xmm0 DB 102,15,58,15,227,8 - movdqu XMMWORD PTR[80+rcx],xmm4 - movaps xmm6,XMMWORD PTR[rsp] - lea rsp,QWORD PTR[24+rsp] -$L$SEH_end_gcm_init_clmul:: + movdqu XMMWORD PTR[80+rcx],xmm4 + movaps xmm6,XMMWORD PTR[rsp] + lea rsp,QWORD PTR[24+rsp] +$L$SEH_end_gcm_init_clmul:: DB 0F3h,0C3h ;repret -gcm_init_clmul ENDP -PUBLIC gcm_gmult_clmul +gcm_init_clmul ENDP +PUBLIC gcm_gmult_clmul ALIGN 16 -gcm_gmult_clmul PROC PUBLIC +gcm_gmult_clmul PROC PUBLIC -$L$_gmult_clmul:: - movdqu xmm0,XMMWORD PTR[rcx] - movdqa xmm5,XMMWORD PTR[$L$bswap_mask] - movdqu xmm2,XMMWORD PTR[rdx] - movdqu xmm4,XMMWORD PTR[32+rdx] +$L$_gmult_clmul:: + movdqu xmm0,XMMWORD PTR[rcx] + movdqa xmm5,XMMWORD PTR[$L$bswap_mask] + movdqu xmm2,XMMWORD PTR[rdx] + movdqu xmm4,XMMWORD PTR[32+rdx] DB 102,15,56,0,197 movdqa xmm1,xmm0 pshufd xmm3,xmm0,78 @@ -928,59 +928,59 @@ DB 102,15,58,68,220,0 psrlq xmm0,1 pxor xmm0,xmm1 DB 102,15,56,0,197 - movdqu XMMWORD PTR[rcx],xmm0 + movdqu XMMWORD PTR[rcx],xmm0 DB 0F3h,0C3h ;repret -gcm_gmult_clmul ENDP -PUBLIC gcm_ghash_clmul +gcm_gmult_clmul ENDP +PUBLIC gcm_ghash_clmul ALIGN 32 -gcm_ghash_clmul PROC PUBLIC - -$L$_ghash_clmul:: - lea rax,QWORD PTR[((-136))+rsp] -$L$SEH_begin_gcm_ghash_clmul:: - -DB 048h,08dh,060h,0e0h -DB 00fh,029h,070h,0e0h -DB 00fh,029h,078h,0f0h -DB 044h,00fh,029h,000h -DB 044h,00fh,029h,048h,010h -DB 044h,00fh,029h,050h,020h -DB 044h,00fh,029h,058h,030h -DB 044h,00fh,029h,060h,040h -DB 044h,00fh,029h,068h,050h -DB 044h,00fh,029h,070h,060h -DB 044h,00fh,029h,078h,070h - movdqa xmm10,XMMWORD PTR[$L$bswap_mask] - - movdqu xmm0,XMMWORD PTR[rcx] - movdqu xmm2,XMMWORD PTR[rdx] - movdqu xmm7,XMMWORD PTR[32+rdx] +gcm_ghash_clmul PROC PUBLIC + +$L$_ghash_clmul:: + lea rax,QWORD PTR[((-136))+rsp] +$L$SEH_begin_gcm_ghash_clmul:: + +DB 048h,08dh,060h,0e0h +DB 00fh,029h,070h,0e0h +DB 00fh,029h,078h,0f0h +DB 044h,00fh,029h,000h +DB 044h,00fh,029h,048h,010h +DB 044h,00fh,029h,050h,020h +DB 044h,00fh,029h,058h,030h +DB 044h,00fh,029h,060h,040h +DB 044h,00fh,029h,068h,050h +DB 044h,00fh,029h,070h,060h +DB 044h,00fh,029h,078h,070h + movdqa xmm10,XMMWORD PTR[$L$bswap_mask] + + movdqu xmm0,XMMWORD PTR[rcx] + movdqu xmm2,XMMWORD PTR[rdx] + movdqu xmm7,XMMWORD PTR[32+rdx] DB 102,65,15,56,0,194 - sub r9,010h - jz $L$odd_tail + sub r9,010h + jz $L$odd_tail - movdqu xmm6,XMMWORD PTR[16+rdx] - mov eax,DWORD PTR[((OPENSSL_ia32cap_P+4))] - cmp r9,030h - jb $L$skip4x + movdqu xmm6,XMMWORD PTR[16+rdx] + mov eax,DWORD PTR[((OPENSSL_ia32cap_P+4))] + cmp r9,030h + jb $L$skip4x and eax,71303168 cmp eax,4194304 - je $L$skip4x + je $L$skip4x - sub r9,030h - mov rax,0A040608020C0E000h - movdqu xmm14,XMMWORD PTR[48+rdx] - movdqu xmm15,XMMWORD PTR[64+rdx] + sub r9,030h + mov rax,0A040608020C0E000h + movdqu xmm14,XMMWORD PTR[48+rdx] + movdqu xmm15,XMMWORD PTR[64+rdx] - movdqu xmm3,XMMWORD PTR[48+r8] - movdqu xmm11,XMMWORD PTR[32+r8] + movdqu xmm3,XMMWORD PTR[48+r8] + movdqu xmm11,XMMWORD PTR[32+r8] DB 102,65,15,56,0,218 DB 102,69,15,56,0,218 movdqa xmm5,xmm3 @@ -998,11 +998,11 @@ DB 102,68,15,58,68,238,17 DB 102,68,15,58,68,231,16 xorps xmm3,xmm11 xorps xmm5,xmm13 - movups xmm7,XMMWORD PTR[80+rdx] + movups xmm7,XMMWORD PTR[80+rdx] xorps xmm4,xmm12 - movdqu xmm11,XMMWORD PTR[16+r8] - movdqu xmm8,XMMWORD PTR[r8] + movdqu xmm11,XMMWORD PTR[16+r8] + movdqu xmm8,XMMWORD PTR[r8] DB 102,69,15,56,0,218 DB 102,69,15,56,0,194 movdqa xmm13,xmm11 @@ -1018,27 +1018,27 @@ DB 102,68,15,58,68,231,0 xorps xmm3,xmm11 xorps xmm5,xmm13 - lea r8,QWORD PTR[64+r8] - sub r9,040h - jc $L$tail4x + lea r8,QWORD PTR[64+r8] + sub r9,040h + jc $L$tail4x - jmp $L$mod4_loop + jmp $L$mod4_loop ALIGN 32 -$L$mod4_loop:: +$L$mod4_loop:: DB 102,65,15,58,68,199,0 xorps xmm4,xmm12 - movdqu xmm11,XMMWORD PTR[48+r8] + movdqu xmm11,XMMWORD PTR[48+r8] DB 102,69,15,56,0,218 DB 102,65,15,58,68,207,17 xorps xmm0,xmm3 - movdqu xmm3,XMMWORD PTR[32+r8] + movdqu xmm3,XMMWORD PTR[32+r8] movdqa xmm13,xmm11 DB 102,68,15,58,68,199,16 pshufd xmm12,xmm11,78 xorps xmm1,xmm5 pxor xmm12,xmm11 DB 102,65,15,56,0,218 - movups xmm7,XMMWORD PTR[32+rdx] + movups xmm7,XMMWORD PTR[32+rdx] xorps xmm8,xmm4 DB 102,68,15,58,68,218,0 pshufd xmm4,xmm3,78 @@ -1052,7 +1052,7 @@ DB 102,68,15,58,68,234,17 pslldq xmm8,8 psrldq xmm9,8 pxor xmm0,xmm8 - movdqa xmm8,XMMWORD PTR[$L$7_mask] + movdqa xmm8,XMMWORD PTR[$L$7_mask] pxor xmm1,xmm9 DB 102,76,15,110,200 @@ -1067,17 +1067,17 @@ DB 102,15,58,68,222,0 psrldq xmm8,8 pxor xmm0,xmm9 pxor xmm1,xmm8 - movdqu xmm8,XMMWORD PTR[r8] + movdqu xmm8,XMMWORD PTR[r8] movdqa xmm9,xmm0 psrlq xmm0,1 DB 102,15,58,68,238,17 xorps xmm3,xmm11 - movdqu xmm11,XMMWORD PTR[16+r8] + movdqu xmm11,XMMWORD PTR[16+r8] DB 102,69,15,56,0,218 DB 102,15,58,68,231,16 xorps xmm5,xmm13 - movups xmm7,XMMWORD PTR[80+rdx] + movups xmm7,XMMWORD PTR[80+rdx] DB 102,69,15,56,0,194 pxor xmm1,xmm9 pxor xmm9,xmm0 @@ -1101,11 +1101,11 @@ DB 102,69,15,58,68,238,17 DB 102,68,15,58,68,231,0 xorps xmm5,xmm13 - lea r8,QWORD PTR[64+r8] - sub r9,040h - jnc $L$mod4_loop + lea r8,QWORD PTR[64+r8] + sub r9,040h + jnc $L$mod4_loop -$L$tail4x:: +$L$tail4x:: DB 102,65,15,58,68,199,0 DB 102,65,15,58,68,207,17 DB 102,68,15,58,68,199,16 @@ -1146,19 +1146,19 @@ DB 102,68,15,58,68,199,16 pxor xmm0,xmm4 psrlq xmm0,1 pxor xmm0,xmm1 - add r9,040h - jz $L$done - movdqu xmm7,XMMWORD PTR[32+rdx] - sub r9,010h - jz $L$odd_tail -$L$skip4x:: + add r9,040h + jz $L$done + movdqu xmm7,XMMWORD PTR[32+rdx] + sub r9,010h + jz $L$odd_tail +$L$skip4x:: - movdqu xmm8,XMMWORD PTR[r8] - movdqu xmm3,XMMWORD PTR[16+r8] + movdqu xmm8,XMMWORD PTR[r8] + movdqu xmm3,XMMWORD PTR[16+r8] DB 102,69,15,56,0,194 DB 102,65,15,56,0,218 pxor xmm0,xmm8 @@ -1170,15 +1170,15 @@ DB 102,15,58,68,218,0 DB 102,15,58,68,234,17 DB 102,15,58,68,231,0 - lea r8,QWORD PTR[32+r8] + lea r8,QWORD PTR[32+r8] nop - sub r9,020h - jbe $L$even_tail + sub r9,020h + jbe $L$even_tail nop - jmp $L$mod_loop + jmp $L$mod_loop ALIGN 32 -$L$mod_loop:: +$L$mod_loop:: movdqa xmm1,xmm0 movdqa xmm8,xmm4 pshufd xmm4,xmm0,78 @@ -1190,10 +1190,10 @@ DB 102,15,58,68,231,16 pxor xmm0,xmm3 pxor xmm1,xmm5 - movdqu xmm9,XMMWORD PTR[r8] + movdqu xmm9,XMMWORD PTR[r8] pxor xmm8,xmm0 DB 102,69,15,56,0,202 - movdqu xmm3,XMMWORD PTR[16+r8] + movdqu xmm3,XMMWORD PTR[16+r8] pxor xmm8,xmm1 pxor xmm1,xmm9 @@ -1230,15 +1230,15 @@ DB 102,15,58,68,234,17 pxor xmm9,xmm0 psrlq xmm0,5 pxor xmm0,xmm9 - lea r8,QWORD PTR[32+r8] + lea r8,QWORD PTR[32+r8] psrlq xmm0,1 DB 102,15,58,68,231,0 pxor xmm0,xmm1 - sub r9,020h - ja $L$mod_loop + sub r9,020h + ja $L$mod_loop -$L$even_tail:: +$L$even_tail:: movdqa xmm1,xmm0 movdqa xmm8,xmm4 pshufd xmm4,xmm0,78 @@ -1282,10 +1282,10 @@ DB 102,15,58,68,231,16 psrlq xmm0,1 pxor xmm0,xmm1 test r9,r9 - jnz $L$done + jnz $L$done -$L$odd_tail:: - movdqu xmm8,XMMWORD PTR[r8] +$L$odd_tail:: + movdqu xmm8,XMMWORD PTR[r8] DB 102,69,15,56,0,194 pxor xmm0,xmm8 movdqa xmm1,xmm0 @@ -1325,36 +1325,36 @@ DB 102,15,58,68,223,0 pxor xmm0,xmm4 psrlq xmm0,1 pxor xmm0,xmm1 -$L$done:: +$L$done:: DB 102,65,15,56,0,194 - movdqu XMMWORD PTR[rcx],xmm0 - movaps xmm6,XMMWORD PTR[rsp] - movaps xmm7,XMMWORD PTR[16+rsp] - movaps xmm8,XMMWORD PTR[32+rsp] - movaps xmm9,XMMWORD PTR[48+rsp] - movaps xmm10,XMMWORD PTR[64+rsp] - movaps xmm11,XMMWORD PTR[80+rsp] - movaps xmm12,XMMWORD PTR[96+rsp] - movaps xmm13,XMMWORD PTR[112+rsp] - movaps xmm14,XMMWORD PTR[128+rsp] - movaps xmm15,XMMWORD PTR[144+rsp] - lea rsp,QWORD PTR[168+rsp] -$L$SEH_end_gcm_ghash_clmul:: + movdqu XMMWORD PTR[rcx],xmm0 + movaps xmm6,XMMWORD PTR[rsp] + movaps xmm7,XMMWORD PTR[16+rsp] + movaps xmm8,XMMWORD PTR[32+rsp] + movaps xmm9,XMMWORD PTR[48+rsp] + movaps xmm10,XMMWORD PTR[64+rsp] + movaps xmm11,XMMWORD PTR[80+rsp] + movaps xmm12,XMMWORD PTR[96+rsp] + movaps xmm13,XMMWORD PTR[112+rsp] + movaps xmm14,XMMWORD PTR[128+rsp] + movaps xmm15,XMMWORD PTR[144+rsp] + lea rsp,QWORD PTR[168+rsp] +$L$SEH_end_gcm_ghash_clmul:: DB 0F3h,0C3h ;repret -gcm_ghash_clmul ENDP -PUBLIC gcm_init_avx +gcm_ghash_clmul ENDP +PUBLIC gcm_init_avx ALIGN 32 -gcm_init_avx PROC PUBLIC +gcm_init_avx PROC PUBLIC -$L$SEH_begin_gcm_init_avx:: +$L$SEH_begin_gcm_init_avx:: -DB 048h,083h,0ech,018h -DB 00fh,029h,034h,024h +DB 048h,083h,0ech,018h +DB 00fh,029h,034h,024h vzeroupper - vmovdqu xmm2,XMMWORD PTR[rdx] + vmovdqu xmm2,XMMWORD PTR[rdx] vpshufd xmm2,xmm2,78 @@ -1367,23 +1367,23 @@ DB 00fh,029h,034h,024h vpor xmm2,xmm2,xmm3 - vpand xmm5,xmm5,XMMWORD PTR[$L$0x1c2_polynomial] + vpand xmm5,xmm5,XMMWORD PTR[$L$0x1c2_polynomial] vpxor xmm2,xmm2,xmm5 vpunpckhqdq xmm6,xmm2,xmm2 vmovdqa xmm0,xmm2 vpxor xmm6,xmm6,xmm2 mov r10,4 - jmp $L$init_start_avx + jmp $L$init_start_avx ALIGN 32 -$L$init_loop_avx:: +$L$init_loop_avx:: vpalignr xmm5,xmm4,xmm3,8 - vmovdqu XMMWORD PTR[(-16)+rcx],xmm5 + vmovdqu XMMWORD PTR[(-16)+rcx],xmm5 vpunpckhqdq xmm3,xmm0,xmm0 vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm1,xmm0,xmm2,011h - vpclmulqdq xmm0,xmm0,xmm2,000h - vpclmulqdq xmm3,xmm3,xmm6,000h + vpclmulqdq xmm1,xmm0,xmm2,011h + vpclmulqdq xmm0,xmm0,xmm2,000h + vpclmulqdq xmm3,xmm3,xmm6,000h vpxor xmm4,xmm1,xmm0 vpxor xmm3,xmm3,xmm4 @@ -1408,13 +1408,13 @@ $L$init_loop_avx:: vpxor xmm0,xmm0,xmm4 vpsrlq xmm0,xmm0,1 vpxor xmm0,xmm0,xmm1 -$L$init_start_avx:: +$L$init_start_avx:: vmovdqa xmm5,xmm0 vpunpckhqdq xmm3,xmm0,xmm0 vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm1,xmm0,xmm2,011h - vpclmulqdq xmm0,xmm0,xmm2,000h - vpclmulqdq xmm3,xmm3,xmm6,000h + vpclmulqdq xmm1,xmm0,xmm2,011h + vpclmulqdq xmm0,xmm0,xmm2,000h + vpclmulqdq xmm3,xmm3,xmm6,000h vpxor xmm4,xmm1,xmm0 vpxor xmm3,xmm3,xmm4 @@ -1442,393 +1442,393 @@ $L$init_start_avx:: vpshufd xmm3,xmm5,78 vpshufd xmm4,xmm0,78 vpxor xmm3,xmm3,xmm5 - vmovdqu XMMWORD PTR[rcx],xmm5 + vmovdqu XMMWORD PTR[rcx],xmm5 vpxor xmm4,xmm4,xmm0 - vmovdqu XMMWORD PTR[16+rcx],xmm0 - lea rcx,QWORD PTR[48+rcx] + vmovdqu XMMWORD PTR[16+rcx],xmm0 + lea rcx,QWORD PTR[48+rcx] sub r10,1 - jnz $L$init_loop_avx + jnz $L$init_loop_avx vpalignr xmm5,xmm3,xmm4,8 - vmovdqu XMMWORD PTR[(-16)+rcx],xmm5 + vmovdqu XMMWORD PTR[(-16)+rcx],xmm5 vzeroupper - movaps xmm6,XMMWORD PTR[rsp] - lea rsp,QWORD PTR[24+rsp] -$L$SEH_end_gcm_init_avx:: + movaps xmm6,XMMWORD PTR[rsp] + lea rsp,QWORD PTR[24+rsp] +$L$SEH_end_gcm_init_avx:: DB 0F3h,0C3h ;repret -gcm_init_avx ENDP -PUBLIC gcm_gmult_avx +gcm_init_avx ENDP +PUBLIC gcm_gmult_avx ALIGN 32 -gcm_gmult_avx PROC PUBLIC +gcm_gmult_avx PROC PUBLIC - jmp $L$_gmult_clmul + jmp $L$_gmult_clmul -gcm_gmult_avx ENDP -PUBLIC gcm_ghash_avx +gcm_gmult_avx ENDP +PUBLIC gcm_ghash_avx ALIGN 32 -gcm_ghash_avx PROC PUBLIC - - lea rax,QWORD PTR[((-136))+rsp] -$L$SEH_begin_gcm_ghash_avx:: - -DB 048h,08dh,060h,0e0h -DB 00fh,029h,070h,0e0h -DB 00fh,029h,078h,0f0h -DB 044h,00fh,029h,000h -DB 044h,00fh,029h,048h,010h -DB 044h,00fh,029h,050h,020h -DB 044h,00fh,029h,058h,030h -DB 044h,00fh,029h,060h,040h -DB 044h,00fh,029h,068h,050h -DB 044h,00fh,029h,070h,060h -DB 044h,00fh,029h,078h,070h +gcm_ghash_avx PROC PUBLIC + + lea rax,QWORD PTR[((-136))+rsp] +$L$SEH_begin_gcm_ghash_avx:: + +DB 048h,08dh,060h,0e0h +DB 00fh,029h,070h,0e0h +DB 00fh,029h,078h,0f0h +DB 044h,00fh,029h,000h +DB 044h,00fh,029h,048h,010h +DB 044h,00fh,029h,050h,020h +DB 044h,00fh,029h,058h,030h +DB 044h,00fh,029h,060h,040h +DB 044h,00fh,029h,068h,050h +DB 044h,00fh,029h,070h,060h +DB 044h,00fh,029h,078h,070h vzeroupper - vmovdqu xmm10,XMMWORD PTR[rcx] - lea r10,QWORD PTR[$L$0x1c2_polynomial] - lea rdx,QWORD PTR[64+rdx] - vmovdqu xmm13,XMMWORD PTR[$L$bswap_mask] + vmovdqu xmm10,XMMWORD PTR[rcx] + lea r10,QWORD PTR[$L$0x1c2_polynomial] + lea rdx,QWORD PTR[64+rdx] + vmovdqu xmm13,XMMWORD PTR[$L$bswap_mask] vpshufb xmm10,xmm10,xmm13 - cmp r9,080h - jb $L$short_avx - sub r9,080h + cmp r9,080h + jb $L$short_avx + sub r9,080h - vmovdqu xmm14,XMMWORD PTR[112+r8] - vmovdqu xmm6,XMMWORD PTR[((0-64))+rdx] + vmovdqu xmm14,XMMWORD PTR[112+r8] + vmovdqu xmm6,XMMWORD PTR[((0-64))+rdx] vpshufb xmm14,xmm14,xmm13 - vmovdqu xmm7,XMMWORD PTR[((32-64))+rdx] + vmovdqu xmm7,XMMWORD PTR[((32-64))+rdx] vpunpckhqdq xmm9,xmm14,xmm14 - vmovdqu xmm15,XMMWORD PTR[96+r8] - vpclmulqdq xmm0,xmm14,xmm6,000h + vmovdqu xmm15,XMMWORD PTR[96+r8] + vpclmulqdq xmm0,xmm14,xmm6,000h vpxor xmm9,xmm9,xmm14 vpshufb xmm15,xmm15,xmm13 - vpclmulqdq xmm1,xmm14,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((16-64))+rdx] + vpclmulqdq xmm1,xmm14,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((16-64))+rdx] vpunpckhqdq xmm8,xmm15,xmm15 - vmovdqu xmm14,XMMWORD PTR[80+r8] - vpclmulqdq xmm2,xmm9,xmm7,000h + vmovdqu xmm14,XMMWORD PTR[80+r8] + vpclmulqdq xmm2,xmm9,xmm7,000h vpxor xmm8,xmm8,xmm15 vpshufb xmm14,xmm14,xmm13 - vpclmulqdq xmm3,xmm15,xmm6,000h + vpclmulqdq xmm3,xmm15,xmm6,000h vpunpckhqdq xmm9,xmm14,xmm14 - vpclmulqdq xmm4,xmm15,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((48-64))+rdx] + vpclmulqdq xmm4,xmm15,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((48-64))+rdx] vpxor xmm9,xmm9,xmm14 - vmovdqu xmm15,XMMWORD PTR[64+r8] - vpclmulqdq xmm5,xmm8,xmm7,010h - vmovdqu xmm7,XMMWORD PTR[((80-64))+rdx] + vmovdqu xmm15,XMMWORD PTR[64+r8] + vpclmulqdq xmm5,xmm8,xmm7,010h + vmovdqu xmm7,XMMWORD PTR[((80-64))+rdx] vpshufb xmm15,xmm15,xmm13 vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm14,xmm6,000h + vpclmulqdq xmm0,xmm14,xmm6,000h vpxor xmm4,xmm4,xmm1 vpunpckhqdq xmm8,xmm15,xmm15 - vpclmulqdq xmm1,xmm14,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((64-64))+rdx] + vpclmulqdq xmm1,xmm14,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((64-64))+rdx] vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm9,xmm7,000h + vpclmulqdq xmm2,xmm9,xmm7,000h vpxor xmm8,xmm8,xmm15 - vmovdqu xmm14,XMMWORD PTR[48+r8] + vmovdqu xmm14,XMMWORD PTR[48+r8] vpxor xmm0,xmm0,xmm3 - vpclmulqdq xmm3,xmm15,xmm6,000h + vpclmulqdq xmm3,xmm15,xmm6,000h vpxor xmm1,xmm1,xmm4 vpshufb xmm14,xmm14,xmm13 - vpclmulqdq xmm4,xmm15,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((96-64))+rdx] + vpclmulqdq xmm4,xmm15,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((96-64))+rdx] vpxor xmm2,xmm2,xmm5 vpunpckhqdq xmm9,xmm14,xmm14 - vpclmulqdq xmm5,xmm8,xmm7,010h - vmovdqu xmm7,XMMWORD PTR[((128-64))+rdx] + vpclmulqdq xmm5,xmm8,xmm7,010h + vmovdqu xmm7,XMMWORD PTR[((128-64))+rdx] vpxor xmm9,xmm9,xmm14 - vmovdqu xmm15,XMMWORD PTR[32+r8] + vmovdqu xmm15,XMMWORD PTR[32+r8] vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm14,xmm6,000h + vpclmulqdq xmm0,xmm14,xmm6,000h vpxor xmm4,xmm4,xmm1 vpshufb xmm15,xmm15,xmm13 - vpclmulqdq xmm1,xmm14,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((112-64))+rdx] + vpclmulqdq xmm1,xmm14,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((112-64))+rdx] vpxor xmm5,xmm5,xmm2 vpunpckhqdq xmm8,xmm15,xmm15 - vpclmulqdq xmm2,xmm9,xmm7,000h + vpclmulqdq xmm2,xmm9,xmm7,000h vpxor xmm8,xmm8,xmm15 - vmovdqu xmm14,XMMWORD PTR[16+r8] + vmovdqu xmm14,XMMWORD PTR[16+r8] vpxor xmm0,xmm0,xmm3 - vpclmulqdq xmm3,xmm15,xmm6,000h + vpclmulqdq xmm3,xmm15,xmm6,000h vpxor xmm1,xmm1,xmm4 vpshufb xmm14,xmm14,xmm13 - vpclmulqdq xmm4,xmm15,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((144-64))+rdx] + vpclmulqdq xmm4,xmm15,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((144-64))+rdx] vpxor xmm2,xmm2,xmm5 vpunpckhqdq xmm9,xmm14,xmm14 - vpclmulqdq xmm5,xmm8,xmm7,010h - vmovdqu xmm7,XMMWORD PTR[((176-64))+rdx] + vpclmulqdq xmm5,xmm8,xmm7,010h + vmovdqu xmm7,XMMWORD PTR[((176-64))+rdx] vpxor xmm9,xmm9,xmm14 - vmovdqu xmm15,XMMWORD PTR[r8] + vmovdqu xmm15,XMMWORD PTR[r8] vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm14,xmm6,000h + vpclmulqdq xmm0,xmm14,xmm6,000h vpxor xmm4,xmm4,xmm1 vpshufb xmm15,xmm15,xmm13 - vpclmulqdq xmm1,xmm14,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((160-64))+rdx] + vpclmulqdq xmm1,xmm14,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((160-64))+rdx] vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm9,xmm7,010h + vpclmulqdq xmm2,xmm9,xmm7,010h - lea r8,QWORD PTR[128+r8] - cmp r9,080h - jb $L$tail_avx + lea r8,QWORD PTR[128+r8] + cmp r9,080h + jb $L$tail_avx vpxor xmm15,xmm15,xmm10 - sub r9,080h - jmp $L$oop8x_avx + sub r9,080h + jmp $L$oop8x_avx ALIGN 32 -$L$oop8x_avx:: +$L$oop8x_avx:: vpunpckhqdq xmm8,xmm15,xmm15 - vmovdqu xmm14,XMMWORD PTR[112+r8] + vmovdqu xmm14,XMMWORD PTR[112+r8] vpxor xmm3,xmm3,xmm0 vpxor xmm8,xmm8,xmm15 - vpclmulqdq xmm10,xmm15,xmm6,000h + vpclmulqdq xmm10,xmm15,xmm6,000h vpshufb xmm14,xmm14,xmm13 vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm11,xmm15,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((0-64))+rdx] + vpclmulqdq xmm11,xmm15,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((0-64))+rdx] vpunpckhqdq xmm9,xmm14,xmm14 vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm12,xmm8,xmm7,000h - vmovdqu xmm7,XMMWORD PTR[((32-64))+rdx] + vpclmulqdq xmm12,xmm8,xmm7,000h + vmovdqu xmm7,XMMWORD PTR[((32-64))+rdx] vpxor xmm9,xmm9,xmm14 - vmovdqu xmm15,XMMWORD PTR[96+r8] - vpclmulqdq xmm0,xmm14,xmm6,000h + vmovdqu xmm15,XMMWORD PTR[96+r8] + vpclmulqdq xmm0,xmm14,xmm6,000h vpxor xmm10,xmm10,xmm3 vpshufb xmm15,xmm15,xmm13 - vpclmulqdq xmm1,xmm14,xmm6,011h + vpclmulqdq xmm1,xmm14,xmm6,011h vxorps xmm11,xmm11,xmm4 - vmovdqu xmm6,XMMWORD PTR[((16-64))+rdx] + vmovdqu xmm6,XMMWORD PTR[((16-64))+rdx] vpunpckhqdq xmm8,xmm15,xmm15 - vpclmulqdq xmm2,xmm9,xmm7,000h + vpclmulqdq xmm2,xmm9,xmm7,000h vpxor xmm12,xmm12,xmm5 vxorps xmm8,xmm8,xmm15 - vmovdqu xmm14,XMMWORD PTR[80+r8] + vmovdqu xmm14,XMMWORD PTR[80+r8] vpxor xmm12,xmm12,xmm10 - vpclmulqdq xmm3,xmm15,xmm6,000h + vpclmulqdq xmm3,xmm15,xmm6,000h vpxor xmm12,xmm12,xmm11 vpslldq xmm9,xmm12,8 vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm4,xmm15,xmm6,011h + vpclmulqdq xmm4,xmm15,xmm6,011h vpsrldq xmm12,xmm12,8 vpxor xmm10,xmm10,xmm9 - vmovdqu xmm6,XMMWORD PTR[((48-64))+rdx] + vmovdqu xmm6,XMMWORD PTR[((48-64))+rdx] vpshufb xmm14,xmm14,xmm13 vxorps xmm11,xmm11,xmm12 vpxor xmm4,xmm4,xmm1 vpunpckhqdq xmm9,xmm14,xmm14 - vpclmulqdq xmm5,xmm8,xmm7,010h - vmovdqu xmm7,XMMWORD PTR[((80-64))+rdx] + vpclmulqdq xmm5,xmm8,xmm7,010h + vmovdqu xmm7,XMMWORD PTR[((80-64))+rdx] vpxor xmm9,xmm9,xmm14 vpxor xmm5,xmm5,xmm2 - vmovdqu xmm15,XMMWORD PTR[64+r8] + vmovdqu xmm15,XMMWORD PTR[64+r8] vpalignr xmm12,xmm10,xmm10,8 - vpclmulqdq xmm0,xmm14,xmm6,000h + vpclmulqdq xmm0,xmm14,xmm6,000h vpshufb xmm15,xmm15,xmm13 vpxor xmm0,xmm0,xmm3 - vpclmulqdq xmm1,xmm14,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((64-64))+rdx] + vpclmulqdq xmm1,xmm14,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((64-64))+rdx] vpunpckhqdq xmm8,xmm15,xmm15 vpxor xmm1,xmm1,xmm4 - vpclmulqdq xmm2,xmm9,xmm7,000h + vpclmulqdq xmm2,xmm9,xmm7,000h vxorps xmm8,xmm8,xmm15 vpxor xmm2,xmm2,xmm5 - vmovdqu xmm14,XMMWORD PTR[48+r8] - vpclmulqdq xmm10,xmm10,XMMWORD PTR[r10],010h - vpclmulqdq xmm3,xmm15,xmm6,000h + vmovdqu xmm14,XMMWORD PTR[48+r8] + vpclmulqdq xmm10,xmm10,XMMWORD PTR[r10],010h + vpclmulqdq xmm3,xmm15,xmm6,000h vpshufb xmm14,xmm14,xmm13 vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm4,xmm15,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((96-64))+rdx] + vpclmulqdq xmm4,xmm15,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((96-64))+rdx] vpunpckhqdq xmm9,xmm14,xmm14 vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm5,xmm8,xmm7,010h - vmovdqu xmm7,XMMWORD PTR[((128-64))+rdx] + vpclmulqdq xmm5,xmm8,xmm7,010h + vmovdqu xmm7,XMMWORD PTR[((128-64))+rdx] vpxor xmm9,xmm9,xmm14 vpxor xmm5,xmm5,xmm2 - vmovdqu xmm15,XMMWORD PTR[32+r8] - vpclmulqdq xmm0,xmm14,xmm6,000h + vmovdqu xmm15,XMMWORD PTR[32+r8] + vpclmulqdq xmm0,xmm14,xmm6,000h vpshufb xmm15,xmm15,xmm13 vpxor xmm0,xmm0,xmm3 - vpclmulqdq xmm1,xmm14,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((112-64))+rdx] + vpclmulqdq xmm1,xmm14,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((112-64))+rdx] vpunpckhqdq xmm8,xmm15,xmm15 vpxor xmm1,xmm1,xmm4 - vpclmulqdq xmm2,xmm9,xmm7,000h + vpclmulqdq xmm2,xmm9,xmm7,000h vpxor xmm8,xmm8,xmm15 vpxor xmm2,xmm2,xmm5 vxorps xmm10,xmm10,xmm12 - vmovdqu xmm14,XMMWORD PTR[16+r8] + vmovdqu xmm14,XMMWORD PTR[16+r8] vpalignr xmm12,xmm10,xmm10,8 - vpclmulqdq xmm3,xmm15,xmm6,000h + vpclmulqdq xmm3,xmm15,xmm6,000h vpshufb xmm14,xmm14,xmm13 vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm4,xmm15,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((144-64))+rdx] - vpclmulqdq xmm10,xmm10,XMMWORD PTR[r10],010h + vpclmulqdq xmm4,xmm15,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((144-64))+rdx] + vpclmulqdq xmm10,xmm10,XMMWORD PTR[r10],010h vxorps xmm12,xmm12,xmm11 vpunpckhqdq xmm9,xmm14,xmm14 vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm5,xmm8,xmm7,010h - vmovdqu xmm7,XMMWORD PTR[((176-64))+rdx] + vpclmulqdq xmm5,xmm8,xmm7,010h + vmovdqu xmm7,XMMWORD PTR[((176-64))+rdx] vpxor xmm9,xmm9,xmm14 vpxor xmm5,xmm5,xmm2 - vmovdqu xmm15,XMMWORD PTR[r8] - vpclmulqdq xmm0,xmm14,xmm6,000h + vmovdqu xmm15,XMMWORD PTR[r8] + vpclmulqdq xmm0,xmm14,xmm6,000h vpshufb xmm15,xmm15,xmm13 - vpclmulqdq xmm1,xmm14,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((160-64))+rdx] + vpclmulqdq xmm1,xmm14,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((160-64))+rdx] vpxor xmm15,xmm15,xmm12 - vpclmulqdq xmm2,xmm9,xmm7,010h + vpclmulqdq xmm2,xmm9,xmm7,010h vpxor xmm15,xmm15,xmm10 - lea r8,QWORD PTR[128+r8] - sub r9,080h - jnc $L$oop8x_avx + lea r8,QWORD PTR[128+r8] + sub r9,080h + jnc $L$oop8x_avx - add r9,080h - jmp $L$tail_no_xor_avx + add r9,080h + jmp $L$tail_no_xor_avx ALIGN 32 -$L$short_avx:: - vmovdqu xmm14,XMMWORD PTR[((-16))+r9*1+r8] - lea r8,QWORD PTR[r9*1+r8] - vmovdqu xmm6,XMMWORD PTR[((0-64))+rdx] - vmovdqu xmm7,XMMWORD PTR[((32-64))+rdx] +$L$short_avx:: + vmovdqu xmm14,XMMWORD PTR[((-16))+r9*1+r8] + lea r8,QWORD PTR[r9*1+r8] + vmovdqu xmm6,XMMWORD PTR[((0-64))+rdx] + vmovdqu xmm7,XMMWORD PTR[((32-64))+rdx] vpshufb xmm15,xmm14,xmm13 vmovdqa xmm3,xmm0 vmovdqa xmm4,xmm1 vmovdqa xmm5,xmm2 - sub r9,010h - jz $L$tail_avx + sub r9,010h + jz $L$tail_avx vpunpckhqdq xmm8,xmm15,xmm15 vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm15,xmm6,000h + vpclmulqdq xmm0,xmm15,xmm6,000h vpxor xmm8,xmm8,xmm15 - vmovdqu xmm14,XMMWORD PTR[((-32))+r8] + vmovdqu xmm14,XMMWORD PTR[((-32))+r8] vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm1,xmm15,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((16-64))+rdx] + vpclmulqdq xmm1,xmm15,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((16-64))+rdx] vpshufb xmm15,xmm14,xmm13 vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm8,xmm7,000h + vpclmulqdq xmm2,xmm8,xmm7,000h vpsrldq xmm7,xmm7,8 - sub r9,010h - jz $L$tail_avx + sub r9,010h + jz $L$tail_avx vpunpckhqdq xmm8,xmm15,xmm15 vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm15,xmm6,000h + vpclmulqdq xmm0,xmm15,xmm6,000h vpxor xmm8,xmm8,xmm15 - vmovdqu xmm14,XMMWORD PTR[((-48))+r8] + vmovdqu xmm14,XMMWORD PTR[((-48))+r8] vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm1,xmm15,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((48-64))+rdx] + vpclmulqdq xmm1,xmm15,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((48-64))+rdx] vpshufb xmm15,xmm14,xmm13 vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm8,xmm7,000h - vmovdqu xmm7,XMMWORD PTR[((80-64))+rdx] - sub r9,010h - jz $L$tail_avx + vpclmulqdq xmm2,xmm8,xmm7,000h + vmovdqu xmm7,XMMWORD PTR[((80-64))+rdx] + sub r9,010h + jz $L$tail_avx vpunpckhqdq xmm8,xmm15,xmm15 vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm15,xmm6,000h + vpclmulqdq xmm0,xmm15,xmm6,000h vpxor xmm8,xmm8,xmm15 - vmovdqu xmm14,XMMWORD PTR[((-64))+r8] + vmovdqu xmm14,XMMWORD PTR[((-64))+r8] vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm1,xmm15,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((64-64))+rdx] + vpclmulqdq xmm1,xmm15,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((64-64))+rdx] vpshufb xmm15,xmm14,xmm13 vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm8,xmm7,000h + vpclmulqdq xmm2,xmm8,xmm7,000h vpsrldq xmm7,xmm7,8 - sub r9,010h - jz $L$tail_avx + sub r9,010h + jz $L$tail_avx vpunpckhqdq xmm8,xmm15,xmm15 vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm15,xmm6,000h + vpclmulqdq xmm0,xmm15,xmm6,000h vpxor xmm8,xmm8,xmm15 - vmovdqu xmm14,XMMWORD PTR[((-80))+r8] + vmovdqu xmm14,XMMWORD PTR[((-80))+r8] vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm1,xmm15,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((96-64))+rdx] + vpclmulqdq xmm1,xmm15,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((96-64))+rdx] vpshufb xmm15,xmm14,xmm13 vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm8,xmm7,000h - vmovdqu xmm7,XMMWORD PTR[((128-64))+rdx] - sub r9,010h - jz $L$tail_avx + vpclmulqdq xmm2,xmm8,xmm7,000h + vmovdqu xmm7,XMMWORD PTR[((128-64))+rdx] + sub r9,010h + jz $L$tail_avx vpunpckhqdq xmm8,xmm15,xmm15 vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm15,xmm6,000h + vpclmulqdq xmm0,xmm15,xmm6,000h vpxor xmm8,xmm8,xmm15 - vmovdqu xmm14,XMMWORD PTR[((-96))+r8] + vmovdqu xmm14,XMMWORD PTR[((-96))+r8] vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm1,xmm15,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((112-64))+rdx] + vpclmulqdq xmm1,xmm15,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((112-64))+rdx] vpshufb xmm15,xmm14,xmm13 vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm8,xmm7,000h + vpclmulqdq xmm2,xmm8,xmm7,000h vpsrldq xmm7,xmm7,8 - sub r9,010h - jz $L$tail_avx + sub r9,010h + jz $L$tail_avx vpunpckhqdq xmm8,xmm15,xmm15 vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm15,xmm6,000h + vpclmulqdq xmm0,xmm15,xmm6,000h vpxor xmm8,xmm8,xmm15 - vmovdqu xmm14,XMMWORD PTR[((-112))+r8] + vmovdqu xmm14,XMMWORD PTR[((-112))+r8] vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm1,xmm15,xmm6,011h - vmovdqu xmm6,XMMWORD PTR[((144-64))+rdx] + vpclmulqdq xmm1,xmm15,xmm6,011h + vmovdqu xmm6,XMMWORD PTR[((144-64))+rdx] vpshufb xmm15,xmm14,xmm13 vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm8,xmm7,000h - vmovq xmm7,QWORD PTR[((184-64))+rdx] - sub r9,010h - jmp $L$tail_avx + vpclmulqdq xmm2,xmm8,xmm7,000h + vmovq xmm7,QWORD PTR[((184-64))+rdx] + sub r9,010h + jmp $L$tail_avx ALIGN 32 -$L$tail_avx:: +$L$tail_avx:: vpxor xmm15,xmm15,xmm10 -$L$tail_no_xor_avx:: +$L$tail_no_xor_avx:: vpunpckhqdq xmm8,xmm15,xmm15 vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm15,xmm6,000h + vpclmulqdq xmm0,xmm15,xmm6,000h vpxor xmm8,xmm8,xmm15 vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm1,xmm15,xmm6,011h + vpclmulqdq xmm1,xmm15,xmm6,011h vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm8,xmm7,000h + vpclmulqdq xmm2,xmm8,xmm7,000h - vmovdqu xmm12,XMMWORD PTR[r10] + vmovdqu xmm12,XMMWORD PTR[r10] vpxor xmm10,xmm3,xmm0 vpxor xmm11,xmm4,xmm1 @@ -1841,96 +1841,96 @@ $L$tail_no_xor_avx:: vpxor xmm10,xmm10,xmm9 vpxor xmm11,xmm11,xmm5 - vpclmulqdq xmm9,xmm10,xmm12,010h + vpclmulqdq xmm9,xmm10,xmm12,010h vpalignr xmm10,xmm10,xmm10,8 vpxor xmm10,xmm10,xmm9 - vpclmulqdq xmm9,xmm10,xmm12,010h + vpclmulqdq xmm9,xmm10,xmm12,010h vpalignr xmm10,xmm10,xmm10,8 vpxor xmm10,xmm10,xmm11 vpxor xmm10,xmm10,xmm9 cmp r9,0 - jne $L$short_avx + jne $L$short_avx vpshufb xmm10,xmm10,xmm13 - vmovdqu XMMWORD PTR[rcx],xmm10 + vmovdqu XMMWORD PTR[rcx],xmm10 vzeroupper - movaps xmm6,XMMWORD PTR[rsp] - movaps xmm7,XMMWORD PTR[16+rsp] - movaps xmm8,XMMWORD PTR[32+rsp] - movaps xmm9,XMMWORD PTR[48+rsp] - movaps xmm10,XMMWORD PTR[64+rsp] - movaps xmm11,XMMWORD PTR[80+rsp] - movaps xmm12,XMMWORD PTR[96+rsp] - movaps xmm13,XMMWORD PTR[112+rsp] - movaps xmm14,XMMWORD PTR[128+rsp] - movaps xmm15,XMMWORD PTR[144+rsp] - lea rsp,QWORD PTR[168+rsp] -$L$SEH_end_gcm_ghash_avx:: + movaps xmm6,XMMWORD PTR[rsp] + movaps xmm7,XMMWORD PTR[16+rsp] + movaps xmm8,XMMWORD PTR[32+rsp] + movaps xmm9,XMMWORD PTR[48+rsp] + movaps xmm10,XMMWORD PTR[64+rsp] + movaps xmm11,XMMWORD PTR[80+rsp] + movaps xmm12,XMMWORD PTR[96+rsp] + movaps xmm13,XMMWORD PTR[112+rsp] + movaps xmm14,XMMWORD PTR[128+rsp] + movaps xmm15,XMMWORD PTR[144+rsp] + lea rsp,QWORD PTR[168+rsp] +$L$SEH_end_gcm_ghash_avx:: DB 0F3h,0C3h ;repret -gcm_ghash_avx ENDP +gcm_ghash_avx ENDP ALIGN 64 -$L$bswap_mask:: +$L$bswap_mask:: DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 -$L$0x1c2_polynomial:: -DB 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0c2h -$L$7_mask:: +$L$0x1c2_polynomial:: +DB 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0c2h +$L$7_mask:: DD 7,0,7,0 -$L$7_mask_poly:: +$L$7_mask_poly:: DD 7,0,450,0 ALIGN 64 -$L$rem_4bit:: +$L$rem_4bit:: DD 0,0,0,471859200,0,943718400,0,610271232 DD 0,1887436800,0,1822425088,0,1220542464,0,1423966208 DD 0,3774873600,0,4246732800,0,3644850176,0,3311403008 DD 0,2441084928,0,2376073216,0,2847932416,0,3051356160 -$L$rem_8bit:: - DW 00000h,001C2h,00384h,00246h,00708h,006CAh,0048Ch,0054Eh - DW 00E10h,00FD2h,00D94h,00C56h,00918h,008DAh,00A9Ch,00B5Eh - DW 01C20h,01DE2h,01FA4h,01E66h,01B28h,01AEAh,018ACh,0196Eh - DW 01230h,013F2h,011B4h,01076h,01538h,014FAh,016BCh,0177Eh - DW 03840h,03982h,03BC4h,03A06h,03F48h,03E8Ah,03CCCh,03D0Eh - DW 03650h,03792h,035D4h,03416h,03158h,0309Ah,032DCh,0331Eh - DW 02460h,025A2h,027E4h,02626h,02368h,022AAh,020ECh,0212Eh - DW 02A70h,02BB2h,029F4h,02836h,02D78h,02CBAh,02EFCh,02F3Eh - DW 07080h,07142h,07304h,072C6h,07788h,0764Ah,0740Ch,075CEh - DW 07E90h,07F52h,07D14h,07CD6h,07998h,0785Ah,07A1Ch,07BDEh - DW 06CA0h,06D62h,06F24h,06EE6h,06BA8h,06A6Ah,0682Ch,069EEh - DW 062B0h,06372h,06134h,060F6h,065B8h,0647Ah,0663Ch,067FEh - DW 048C0h,04902h,04B44h,04A86h,04FC8h,04E0Ah,04C4Ch,04D8Eh - DW 046D0h,04712h,04554h,04496h,041D8h,0401Ah,0425Ch,0439Eh - DW 054E0h,05522h,05764h,056A6h,053E8h,0522Ah,0506Ch,051AEh - DW 05AF0h,05B32h,05974h,058B6h,05DF8h,05C3Ah,05E7Ch,05FBEh - DW 0E100h,0E0C2h,0E284h,0E346h,0E608h,0E7CAh,0E58Ch,0E44Eh - DW 0EF10h,0EED2h,0EC94h,0ED56h,0E818h,0E9DAh,0EB9Ch,0EA5Eh - DW 0FD20h,0FCE2h,0FEA4h,0FF66h,0FA28h,0FBEAh,0F9ACh,0F86Eh - DW 0F330h,0F2F2h,0F0B4h,0F176h,0F438h,0F5FAh,0F7BCh,0F67Eh - DW 0D940h,0D882h,0DAC4h,0DB06h,0DE48h,0DF8Ah,0DDCCh,0DC0Eh - DW 0D750h,0D692h,0D4D4h,0D516h,0D058h,0D19Ah,0D3DCh,0D21Eh - DW 0C560h,0C4A2h,0C6E4h,0C726h,0C268h,0C3AAh,0C1ECh,0C02Eh - DW 0CB70h,0CAB2h,0C8F4h,0C936h,0CC78h,0CDBAh,0CFFCh,0CE3Eh - DW 09180h,09042h,09204h,093C6h,09688h,0974Ah,0950Ch,094CEh - DW 09F90h,09E52h,09C14h,09DD6h,09898h,0995Ah,09B1Ch,09ADEh - DW 08DA0h,08C62h,08E24h,08FE6h,08AA8h,08B6Ah,0892Ch,088EEh - DW 083B0h,08272h,08034h,081F6h,084B8h,0857Ah,0873Ch,086FEh - DW 0A9C0h,0A802h,0AA44h,0AB86h,0AEC8h,0AF0Ah,0AD4Ch,0AC8Eh - DW 0A7D0h,0A612h,0A454h,0A596h,0A0D8h,0A11Ah,0A35Ch,0A29Eh - DW 0B5E0h,0B422h,0B664h,0B7A6h,0B2E8h,0B32Ah,0B16Ch,0B0AEh - DW 0BBF0h,0BA32h,0B874h,0B9B6h,0BCF8h,0BD3Ah,0BF7Ch,0BEBEh +$L$rem_8bit:: + DW 00000h,001C2h,00384h,00246h,00708h,006CAh,0048Ch,0054Eh + DW 00E10h,00FD2h,00D94h,00C56h,00918h,008DAh,00A9Ch,00B5Eh + DW 01C20h,01DE2h,01FA4h,01E66h,01B28h,01AEAh,018ACh,0196Eh + DW 01230h,013F2h,011B4h,01076h,01538h,014FAh,016BCh,0177Eh + DW 03840h,03982h,03BC4h,03A06h,03F48h,03E8Ah,03CCCh,03D0Eh + DW 03650h,03792h,035D4h,03416h,03158h,0309Ah,032DCh,0331Eh + DW 02460h,025A2h,027E4h,02626h,02368h,022AAh,020ECh,0212Eh + DW 02A70h,02BB2h,029F4h,02836h,02D78h,02CBAh,02EFCh,02F3Eh + DW 07080h,07142h,07304h,072C6h,07788h,0764Ah,0740Ch,075CEh + DW 07E90h,07F52h,07D14h,07CD6h,07998h,0785Ah,07A1Ch,07BDEh + DW 06CA0h,06D62h,06F24h,06EE6h,06BA8h,06A6Ah,0682Ch,069EEh + DW 062B0h,06372h,06134h,060F6h,065B8h,0647Ah,0663Ch,067FEh + DW 048C0h,04902h,04B44h,04A86h,04FC8h,04E0Ah,04C4Ch,04D8Eh + DW 046D0h,04712h,04554h,04496h,041D8h,0401Ah,0425Ch,0439Eh + DW 054E0h,05522h,05764h,056A6h,053E8h,0522Ah,0506Ch,051AEh + DW 05AF0h,05B32h,05974h,058B6h,05DF8h,05C3Ah,05E7Ch,05FBEh + DW 0E100h,0E0C2h,0E284h,0E346h,0E608h,0E7CAh,0E58Ch,0E44Eh + DW 0EF10h,0EED2h,0EC94h,0ED56h,0E818h,0E9DAh,0EB9Ch,0EA5Eh + DW 0FD20h,0FCE2h,0FEA4h,0FF66h,0FA28h,0FBEAh,0F9ACh,0F86Eh + DW 0F330h,0F2F2h,0F0B4h,0F176h,0F438h,0F5FAh,0F7BCh,0F67Eh + DW 0D940h,0D882h,0DAC4h,0DB06h,0DE48h,0DF8Ah,0DDCCh,0DC0Eh + DW 0D750h,0D692h,0D4D4h,0D516h,0D058h,0D19Ah,0D3DCh,0D21Eh + DW 0C560h,0C4A2h,0C6E4h,0C726h,0C268h,0C3AAh,0C1ECh,0C02Eh + DW 0CB70h,0CAB2h,0C8F4h,0C936h,0CC78h,0CDBAh,0CFFCh,0CE3Eh + DW 09180h,09042h,09204h,093C6h,09688h,0974Ah,0950Ch,094CEh + DW 09F90h,09E52h,09C14h,09DD6h,09898h,0995Ah,09B1Ch,09ADEh + DW 08DA0h,08C62h,08E24h,08FE6h,08AA8h,08B6Ah,0892Ch,088EEh + DW 083B0h,08272h,08034h,081F6h,084B8h,0857Ah,0873Ch,086FEh + DW 0A9C0h,0A802h,0AA44h,0AB86h,0AEC8h,0AF0Ah,0AD4Ch,0AC8Eh + DW 0A7D0h,0A612h,0A454h,0A596h,0A0D8h,0A11Ah,0A35Ch,0A29Eh + DW 0B5E0h,0B422h,0B664h,0B7A6h,0B2E8h,0B32Ah,0B16Ch,0B0AEh + DW 0BBF0h,0BA32h,0B874h,0B9B6h,0BCF8h,0BD3Ah,0BF7Ch,0BEBEh DB 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52 DB 44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32 DB 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111 DB 114,103,62,0 ALIGN 64 -EXTERN __imp_RtlVirtualUnwind:NEAR +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -1942,64 +1942,64 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$in_prologue - - lea rax,QWORD PTR[((48+280))+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 - -$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 - - mov rdi,QWORD PTR[40+r9] + jae $L$in_prologue + + lea rax,QWORD PTR[((48+280))+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 + +$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 + + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -2013,61 +2013,61 @@ $L$in_prologue:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP +se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_gcm_gmult_4bit - DD imagerel $L$SEH_end_gcm_gmult_4bit - DD imagerel $L$SEH_info_gcm_gmult_4bit - - DD imagerel $L$SEH_begin_gcm_ghash_4bit - DD imagerel $L$SEH_end_gcm_ghash_4bit - DD imagerel $L$SEH_info_gcm_ghash_4bit - - DD imagerel $L$SEH_begin_gcm_init_clmul - DD imagerel $L$SEH_end_gcm_init_clmul - DD imagerel $L$SEH_info_gcm_init_clmul - - DD imagerel $L$SEH_begin_gcm_ghash_clmul - DD imagerel $L$SEH_end_gcm_ghash_clmul - DD imagerel $L$SEH_info_gcm_ghash_clmul - DD imagerel $L$SEH_begin_gcm_init_avx - DD imagerel $L$SEH_end_gcm_init_avx - DD imagerel $L$SEH_info_gcm_init_clmul - - DD imagerel $L$SEH_begin_gcm_ghash_avx - DD imagerel $L$SEH_end_gcm_ghash_avx - DD imagerel $L$SEH_info_gcm_ghash_clmul -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + DD imagerel $L$SEH_begin_gcm_gmult_4bit + DD imagerel $L$SEH_end_gcm_gmult_4bit + DD imagerel $L$SEH_info_gcm_gmult_4bit + + DD imagerel $L$SEH_begin_gcm_ghash_4bit + DD imagerel $L$SEH_end_gcm_ghash_4bit + DD imagerel $L$SEH_info_gcm_ghash_4bit + + DD imagerel $L$SEH_begin_gcm_init_clmul + DD imagerel $L$SEH_end_gcm_init_clmul + DD imagerel $L$SEH_info_gcm_init_clmul + + DD imagerel $L$SEH_begin_gcm_ghash_clmul + DD imagerel $L$SEH_end_gcm_ghash_clmul + DD imagerel $L$SEH_info_gcm_ghash_clmul + DD imagerel $L$SEH_begin_gcm_init_avx + DD imagerel $L$SEH_end_gcm_init_avx + DD imagerel $L$SEH_info_gcm_init_clmul + + DD imagerel $L$SEH_begin_gcm_ghash_avx + DD imagerel $L$SEH_end_gcm_ghash_avx + DD imagerel $L$SEH_info_gcm_ghash_clmul +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_gcm_gmult_4bit:: +$L$SEH_info_gcm_gmult_4bit:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$gmult_prologue,imagerel $L$gmult_epilogue -$L$SEH_info_gcm_ghash_4bit:: + DD imagerel se_handler + DD imagerel $L$gmult_prologue,imagerel $L$gmult_epilogue +$L$SEH_info_gcm_ghash_4bit:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$ghash_prologue,imagerel $L$ghash_epilogue -$L$SEH_info_gcm_init_clmul:: -DB 001h,008h,003h,000h -DB 008h,068h,000h,000h -DB 004h,022h,000h,000h -$L$SEH_info_gcm_ghash_clmul:: -DB 001h,033h,016h,000h -DB 033h,0f8h,009h,000h -DB 02eh,0e8h,008h,000h -DB 029h,0d8h,007h,000h -DB 024h,0c8h,006h,000h -DB 01fh,0b8h,005h,000h -DB 01ah,0a8h,004h,000h -DB 015h,098h,003h,000h -DB 010h,088h,002h,000h -DB 00ch,078h,001h,000h -DB 008h,068h,000h,000h -DB 004h,001h,015h,000h - -.xdata ENDS -END + DD imagerel se_handler + DD imagerel $L$ghash_prologue,imagerel $L$ghash_epilogue +$L$SEH_info_gcm_init_clmul:: +DB 001h,008h,003h,000h +DB 008h,068h,000h,000h +DB 004h,022h,000h,000h +$L$SEH_info_gcm_ghash_clmul:: +DB 001h,033h,016h,000h +DB 033h,0f8h,009h,000h +DB 02eh,0e8h,008h,000h +DB 029h,0d8h,007h,000h +DB 024h,0c8h,006h,000h +DB 01fh,0b8h,005h,000h +DB 01ah,0a8h,004h,000h +DB 015h,098h,003h,000h +DB 010h,088h,002h,000h +DB 00ch,078h,001h,000h +DB 008h,068h,000h,000h +DB 004h,001h,015h,000h + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/poly1305/poly1305-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/poly1305/poly1305-x86_64.masm index 7c4f5d08e3..ab5eab896f 100644 --- a/contrib/libs/openssl/asm/windows/crypto/poly1305/poly1305-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/poly1305/poly1305-x86_64.masm @@ -1,71 +1,71 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR +EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC poly1305_init +PUBLIC poly1305_init -PUBLIC poly1305_blocks +PUBLIC poly1305_blocks -PUBLIC poly1305_emit +PUBLIC poly1305_emit ALIGN 32 -poly1305_init PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +poly1305_init PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_poly1305_init:: +$L$SEH_begin_poly1305_init:: mov rdi,rcx mov rsi,rdx mov rdx,r8 - + xor rax,rax - mov QWORD PTR[rdi],rax - mov QWORD PTR[8+rdi],rax - mov QWORD PTR[16+rdi],rax + mov QWORD PTR[rdi],rax + mov QWORD PTR[8+rdi],rax + mov QWORD PTR[16+rdi],rax cmp rsi,0 - je $L$no_key + je $L$no_key - lea r10,QWORD PTR[poly1305_blocks] - lea r11,QWORD PTR[poly1305_emit] - mov r9,QWORD PTR[((OPENSSL_ia32cap_P+4))] - lea rax,QWORD PTR[poly1305_blocks_avx] - lea rcx,QWORD PTR[poly1305_emit_avx] + lea r10,QWORD PTR[poly1305_blocks] + lea r11,QWORD PTR[poly1305_emit] + mov r9,QWORD PTR[((OPENSSL_ia32cap_P+4))] + lea rax,QWORD PTR[poly1305_blocks_avx] + lea rcx,QWORD PTR[poly1305_emit_avx] bt r9,28 cmovc r10,rax cmovc r11,rcx - lea rax,QWORD PTR[poly1305_blocks_avx2] + lea rax,QWORD PTR[poly1305_blocks_avx2] bt r9,37 cmovc r10,rax - mov rax,00ffffffc0fffffffh - mov rcx,00ffffffc0ffffffch - and rax,QWORD PTR[rsi] - and rcx,QWORD PTR[8+rsi] - mov QWORD PTR[24+rdi],rax - mov QWORD PTR[32+rdi],rcx - mov QWORD PTR[rdx],r10 - mov QWORD PTR[8+rdx],r11 + mov rax,00ffffffc0fffffffh + mov rcx,00ffffffc0ffffffch + and rax,QWORD PTR[rsi] + and rcx,QWORD PTR[8+rsi] + mov QWORD PTR[24+rdi],rax + mov QWORD PTR[32+rdi],rcx + mov QWORD PTR[rdx],r10 + mov QWORD PTR[8+rdx],r11 mov eax,1 -$L$no_key:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$no_key:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_poly1305_init:: -poly1305_init ENDP +$L$SEH_end_poly1305_init:: +poly1305_init ENDP + - ALIGN 32 -poly1305_blocks PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +poly1305_blocks PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_poly1305_blocks:: +$L$SEH_begin_poly1305_blocks:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -73,9 +73,9 @@ $L$SEH_begin_poly1305_blocks:: -$L$blocks:: +$L$blocks:: shr rdx,4 - jz $L$no_data + jz $L$no_data push rbx @@ -89,28 +89,28 @@ $L$blocks:: push r15 -$L$blocks_body:: +$L$blocks_body:: mov r15,rdx - mov r11,QWORD PTR[24+rdi] - mov r13,QWORD PTR[32+rdi] + mov r11,QWORD PTR[24+rdi] + mov r13,QWORD PTR[32+rdi] - mov r14,QWORD PTR[rdi] - mov rbx,QWORD PTR[8+rdi] - mov rbp,QWORD PTR[16+rdi] + mov r14,QWORD PTR[rdi] + mov rbx,QWORD PTR[8+rdi] + mov rbp,QWORD PTR[16+rdi] mov r12,r13 shr r13,2 mov rax,r12 add r13,r12 - jmp $L$oop + jmp $L$oop ALIGN 32 -$L$oop:: - add r14,QWORD PTR[rsi] - adc rbx,QWORD PTR[8+rsi] - lea rsi,QWORD PTR[16+rsi] +$L$oop:: + add r14,QWORD PTR[rsi] + adc rbx,QWORD PTR[8+rsi] + lea rsi,QWORD PTR[16+rsi] adc rbp,rcx mul r14 mov r9,rax @@ -152,53 +152,53 @@ $L$oop:: adc rbp,0 mov rax,r12 dec r15 - jnz $L$oop + jnz $L$oop - mov QWORD PTR[rdi],r14 - mov QWORD PTR[8+rdi],rbx - mov QWORD PTR[16+rdi],rbp + mov QWORD PTR[rdi],r14 + mov QWORD PTR[8+rdi],rbx + mov QWORD PTR[16+rdi],rbp - mov r15,QWORD PTR[rsp] + mov r15,QWORD PTR[rsp] - mov r14,QWORD PTR[8+rsp] + mov r14,QWORD PTR[8+rsp] - mov r13,QWORD PTR[16+rsp] + mov r13,QWORD PTR[16+rsp] - mov r12,QWORD PTR[24+rsp] + mov r12,QWORD PTR[24+rsp] - mov rbp,QWORD PTR[32+rsp] + mov rbp,QWORD PTR[32+rsp] - mov rbx,QWORD PTR[40+rsp] + mov rbx,QWORD PTR[40+rsp] - lea rsp,QWORD PTR[48+rsp] + lea rsp,QWORD PTR[48+rsp] -$L$no_data:: -$L$blocks_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$no_data:: +$L$blocks_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_poly1305_blocks:: -poly1305_blocks ENDP +$L$SEH_end_poly1305_blocks:: +poly1305_blocks ENDP ALIGN 32 -poly1305_emit PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +poly1305_emit PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_poly1305_emit:: +$L$SEH_begin_poly1305_emit:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -$L$emit:: - mov r8,QWORD PTR[rdi] - mov r9,QWORD PTR[8+rdi] - mov r10,QWORD PTR[16+rdi] - +$L$emit:: + mov r8,QWORD PTR[rdi] + mov r9,QWORD PTR[8+rdi] + mov r10,QWORD PTR[16+rdi] + mov rax,r8 add r8,5 mov rcx,r9 @@ -208,21 +208,21 @@ $L$emit:: cmovnz rax,r8 cmovnz rcx,r9 - add rax,QWORD PTR[rdx] - adc rcx,QWORD PTR[8+rdx] - mov QWORD PTR[rsi],rax - mov QWORD PTR[8+rsi],rcx + add rax,QWORD PTR[rdx] + adc rcx,QWORD PTR[8+rdx] + mov QWORD PTR[rsi],rax + mov QWORD PTR[8+rsi],rcx - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_poly1305_emit:: -poly1305_emit ENDP - +$L$SEH_end_poly1305_emit:: +poly1305_emit ENDP + ALIGN 32 -__poly1305_block PROC PRIVATE - +__poly1305_block PROC PRIVATE + mul r14 mov r9,rax mov rax,r11 @@ -263,43 +263,43 @@ __poly1305_block PROC PRIVATE adc rbp,0 DB 0F3h,0C3h ;repret -__poly1305_block ENDP +__poly1305_block ENDP ALIGN 32 -__poly1305_init_avx PROC PRIVATE - +__poly1305_init_avx PROC PRIVATE + mov r14,r11 mov rbx,r12 xor rbp,rbp - lea rdi,QWORD PTR[((48+64))+rdi] + lea rdi,QWORD PTR[((48+64))+rdi] mov rax,r12 call __poly1305_block - mov eax,03ffffffh - mov edx,03ffffffh + mov eax,03ffffffh + mov edx,03ffffffh mov r8,r14 and eax,r14d mov r9,r11 and edx,r11d - mov DWORD PTR[((-64))+rdi],eax + mov DWORD PTR[((-64))+rdi],eax shr r8,26 - mov DWORD PTR[((-60))+rdi],edx + mov DWORD PTR[((-60))+rdi],edx shr r9,26 - mov eax,03ffffffh - mov edx,03ffffffh + mov eax,03ffffffh + mov edx,03ffffffh and eax,r8d and edx,r9d - mov DWORD PTR[((-48))+rdi],eax - lea eax,DWORD PTR[rax*4+rax] - mov DWORD PTR[((-44))+rdi],edx - lea edx,DWORD PTR[rdx*4+rdx] - mov DWORD PTR[((-32))+rdi],eax + mov DWORD PTR[((-48))+rdi],eax + lea eax,DWORD PTR[rax*4+rax] + mov DWORD PTR[((-44))+rdi],edx + lea edx,DWORD PTR[rdx*4+rdx] + mov DWORD PTR[((-32))+rdi],eax shr r8,26 - mov DWORD PTR[((-28))+rdi],edx + mov DWORD PTR[((-28))+rdi],edx shr r9,26 mov rax,rbx @@ -308,134 +308,134 @@ __poly1305_init_avx PROC PRIVATE shl rdx,12 or rax,r8 or rdx,r9 - and eax,03ffffffh - and edx,03ffffffh - mov DWORD PTR[((-16))+rdi],eax - lea eax,DWORD PTR[rax*4+rax] - mov DWORD PTR[((-12))+rdi],edx - lea edx,DWORD PTR[rdx*4+rdx] - mov DWORD PTR[rdi],eax + and eax,03ffffffh + and edx,03ffffffh + mov DWORD PTR[((-16))+rdi],eax + lea eax,DWORD PTR[rax*4+rax] + mov DWORD PTR[((-12))+rdi],edx + lea edx,DWORD PTR[rdx*4+rdx] + mov DWORD PTR[rdi],eax mov r8,rbx - mov DWORD PTR[4+rdi],edx + mov DWORD PTR[4+rdi],edx mov r9,r12 - mov eax,03ffffffh - mov edx,03ffffffh + mov eax,03ffffffh + mov edx,03ffffffh shr r8,14 shr r9,14 and eax,r8d and edx,r9d - mov DWORD PTR[16+rdi],eax - lea eax,DWORD PTR[rax*4+rax] - mov DWORD PTR[20+rdi],edx - lea edx,DWORD PTR[rdx*4+rdx] - mov DWORD PTR[32+rdi],eax + mov DWORD PTR[16+rdi],eax + lea eax,DWORD PTR[rax*4+rax] + mov DWORD PTR[20+rdi],edx + lea edx,DWORD PTR[rdx*4+rdx] + mov DWORD PTR[32+rdi],eax shr r8,26 - mov DWORD PTR[36+rdi],edx + mov DWORD PTR[36+rdi],edx shr r9,26 mov rax,rbp shl rax,24 or r8,rax - mov DWORD PTR[48+rdi],r8d - lea r8,QWORD PTR[r8*4+r8] - mov DWORD PTR[52+rdi],r9d - lea r9,QWORD PTR[r9*4+r9] - mov DWORD PTR[64+rdi],r8d - mov DWORD PTR[68+rdi],r9d + mov DWORD PTR[48+rdi],r8d + lea r8,QWORD PTR[r8*4+r8] + mov DWORD PTR[52+rdi],r9d + lea r9,QWORD PTR[r9*4+r9] + mov DWORD PTR[64+rdi],r8d + mov DWORD PTR[68+rdi],r9d mov rax,r12 call __poly1305_block - mov eax,03ffffffh + mov eax,03ffffffh mov r8,r14 and eax,r14d shr r8,26 - mov DWORD PTR[((-52))+rdi],eax + mov DWORD PTR[((-52))+rdi],eax - mov edx,03ffffffh + mov edx,03ffffffh and edx,r8d - mov DWORD PTR[((-36))+rdi],edx - lea edx,DWORD PTR[rdx*4+rdx] + mov DWORD PTR[((-36))+rdi],edx + lea edx,DWORD PTR[rdx*4+rdx] shr r8,26 - mov DWORD PTR[((-20))+rdi],edx + mov DWORD PTR[((-20))+rdi],edx mov rax,rbx shl rax,12 or rax,r8 - and eax,03ffffffh - mov DWORD PTR[((-4))+rdi],eax - lea eax,DWORD PTR[rax*4+rax] + and eax,03ffffffh + mov DWORD PTR[((-4))+rdi],eax + lea eax,DWORD PTR[rax*4+rax] mov r8,rbx - mov DWORD PTR[12+rdi],eax + mov DWORD PTR[12+rdi],eax - mov edx,03ffffffh + mov edx,03ffffffh shr r8,14 and edx,r8d - mov DWORD PTR[28+rdi],edx - lea edx,DWORD PTR[rdx*4+rdx] + mov DWORD PTR[28+rdi],edx + lea edx,DWORD PTR[rdx*4+rdx] shr r8,26 - mov DWORD PTR[44+rdi],edx + mov DWORD PTR[44+rdi],edx mov rax,rbp shl rax,24 or r8,rax - mov DWORD PTR[60+rdi],r8d - lea r8,QWORD PTR[r8*4+r8] - mov DWORD PTR[76+rdi],r8d + mov DWORD PTR[60+rdi],r8d + lea r8,QWORD PTR[r8*4+r8] + mov DWORD PTR[76+rdi],r8d mov rax,r12 call __poly1305_block - mov eax,03ffffffh + mov eax,03ffffffh mov r8,r14 and eax,r14d shr r8,26 - mov DWORD PTR[((-56))+rdi],eax + mov DWORD PTR[((-56))+rdi],eax - mov edx,03ffffffh + mov edx,03ffffffh and edx,r8d - mov DWORD PTR[((-40))+rdi],edx - lea edx,DWORD PTR[rdx*4+rdx] + mov DWORD PTR[((-40))+rdi],edx + lea edx,DWORD PTR[rdx*4+rdx] shr r8,26 - mov DWORD PTR[((-24))+rdi],edx + mov DWORD PTR[((-24))+rdi],edx mov rax,rbx shl rax,12 or rax,r8 - and eax,03ffffffh - mov DWORD PTR[((-8))+rdi],eax - lea eax,DWORD PTR[rax*4+rax] + and eax,03ffffffh + mov DWORD PTR[((-8))+rdi],eax + lea eax,DWORD PTR[rax*4+rax] mov r8,rbx - mov DWORD PTR[8+rdi],eax + mov DWORD PTR[8+rdi],eax - mov edx,03ffffffh + mov edx,03ffffffh shr r8,14 and edx,r8d - mov DWORD PTR[24+rdi],edx - lea edx,DWORD PTR[rdx*4+rdx] + mov DWORD PTR[24+rdi],edx + lea edx,DWORD PTR[rdx*4+rdx] shr r8,26 - mov DWORD PTR[40+rdi],edx + mov DWORD PTR[40+rdi],edx mov rax,rbp shl rax,24 or r8,rax - mov DWORD PTR[56+rdi],r8d - lea r8,QWORD PTR[r8*4+r8] - mov DWORD PTR[72+rdi],r8d + mov DWORD PTR[56+rdi],r8d + lea r8,QWORD PTR[r8*4+r8] + mov DWORD PTR[72+rdi],r8d - lea rdi,QWORD PTR[((-48-64))+rdi] + lea rdi,QWORD PTR[((-48-64))+rdi] DB 0F3h,0C3h ;repret -__poly1305_init_avx ENDP +__poly1305_init_avx ENDP ALIGN 32 -poly1305_blocks_avx PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +poly1305_blocks_avx PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_poly1305_blocks_avx:: +$L$SEH_begin_poly1305_blocks_avx:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -443,23 +443,23 @@ $L$SEH_begin_poly1305_blocks_avx:: - mov r8d,DWORD PTR[20+rdi] + mov r8d,DWORD PTR[20+rdi] cmp rdx,128 - jae $L$blocks_avx + jae $L$blocks_avx test r8d,r8d - jz $L$blocks + jz $L$blocks -$L$blocks_avx:: +$L$blocks_avx:: and rdx,-16 - jz $L$no_data_avx + jz $L$no_data_avx vzeroupper test r8d,r8d - jz $L$base2_64_avx + jz $L$base2_64_avx test rdx,31 - jz $L$even_avx + jz $L$even_avx push rbx @@ -473,16 +473,16 @@ $L$blocks_avx:: push r15 -$L$blocks_avx_body:: +$L$blocks_avx_body:: mov r15,rdx - mov r8,QWORD PTR[rdi] - mov r9,QWORD PTR[8+rdi] - mov ebp,DWORD PTR[16+rdi] + mov r8,QWORD PTR[rdi] + mov r9,QWORD PTR[8+rdi] + mov ebp,DWORD PTR[16+rdi] - mov r11,QWORD PTR[24+rdi] - mov r13,QWORD PTR[32+rdi] + mov r11,QWORD PTR[24+rdi] + mov r13,QWORD PTR[32+rdi] mov r14d,r8d @@ -520,15 +520,15 @@ $L$blocks_avx_body:: shr r13,2 add r13,r12 - add r14,QWORD PTR[rsi] - adc rbx,QWORD PTR[8+rsi] - lea rsi,QWORD PTR[16+rsi] + add r14,QWORD PTR[rsi] + adc rbx,QWORD PTR[8+rsi] + lea rsi,QWORD PTR[16+rsi] adc rbp,rcx call __poly1305_block test rcx,rcx - jz $L$store_base2_64_avx + jz $L$store_base2_64_avx mov rax,r14 @@ -537,66 +537,66 @@ $L$blocks_avx_body:: mov r11,rbx mov r12,rbx shr rdx,26 - and rax,03ffffffh + and rax,03ffffffh shl r11,12 - and rdx,03ffffffh + and rdx,03ffffffh shr rbx,14 or r14,r11 shl rbp,24 - and r14,03ffffffh + and r14,03ffffffh shr r12,40 - and rbx,03ffffffh + and rbx,03ffffffh or rbp,r12 sub r15,16 - jz $L$store_base2_26_avx + jz $L$store_base2_26_avx vmovd xmm0,eax vmovd xmm1,edx vmovd xmm2,r14d vmovd xmm3,ebx vmovd xmm4,ebp - jmp $L$proceed_avx + jmp $L$proceed_avx ALIGN 32 -$L$store_base2_64_avx:: - mov QWORD PTR[rdi],r14 - mov QWORD PTR[8+rdi],rbx - mov QWORD PTR[16+rdi],rbp - jmp $L$done_avx +$L$store_base2_64_avx:: + mov QWORD PTR[rdi],r14 + mov QWORD PTR[8+rdi],rbx + mov QWORD PTR[16+rdi],rbp + jmp $L$done_avx ALIGN 16 -$L$store_base2_26_avx:: - mov DWORD PTR[rdi],eax - mov DWORD PTR[4+rdi],edx - mov DWORD PTR[8+rdi],r14d - mov DWORD PTR[12+rdi],ebx - mov DWORD PTR[16+rdi],ebp +$L$store_base2_26_avx:: + mov DWORD PTR[rdi],eax + mov DWORD PTR[4+rdi],edx + mov DWORD PTR[8+rdi],r14d + mov DWORD PTR[12+rdi],ebx + mov DWORD PTR[16+rdi],ebp ALIGN 16 -$L$done_avx:: - mov r15,QWORD PTR[rsp] +$L$done_avx:: + mov r15,QWORD PTR[rsp] - mov r14,QWORD PTR[8+rsp] + mov r14,QWORD PTR[8+rsp] - mov r13,QWORD PTR[16+rsp] + mov r13,QWORD PTR[16+rsp] - mov r12,QWORD PTR[24+rsp] + mov r12,QWORD PTR[24+rsp] - mov rbp,QWORD PTR[32+rsp] + mov rbp,QWORD PTR[32+rsp] - mov rbx,QWORD PTR[40+rsp] + mov rbx,QWORD PTR[40+rsp] - lea rsp,QWORD PTR[48+rsp] + lea rsp,QWORD PTR[48+rsp] -$L$no_data_avx:: -$L$blocks_avx_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$no_data_avx:: +$L$blocks_avx_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret ALIGN 32 -$L$base2_64_avx:: +$L$base2_64_avx:: push rbx @@ -610,16 +610,16 @@ $L$base2_64_avx:: push r15 -$L$base2_64_avx_body:: +$L$base2_64_avx_body:: mov r15,rdx - mov r11,QWORD PTR[24+rdi] - mov r13,QWORD PTR[32+rdi] + mov r11,QWORD PTR[24+rdi] + mov r13,QWORD PTR[32+rdi] - mov r14,QWORD PTR[rdi] - mov rbx,QWORD PTR[8+rdi] - mov ebp,DWORD PTR[16+rdi] + mov r14,QWORD PTR[rdi] + mov rbx,QWORD PTR[8+rdi] + mov ebp,DWORD PTR[16+rdi] mov r12,r13 mov rax,r13 @@ -627,17 +627,17 @@ $L$base2_64_avx_body:: add r13,r12 test rdx,31 - jz $L$init_avx + jz $L$init_avx - add r14,QWORD PTR[rsi] - adc rbx,QWORD PTR[8+rsi] - lea rsi,QWORD PTR[16+rsi] + add r14,QWORD PTR[rsi] + adc rbx,QWORD PTR[8+rsi] + lea rsi,QWORD PTR[16+rsi] adc rbp,rcx sub r15,16 call __poly1305_block -$L$init_avx:: +$L$init_avx:: mov rax,r14 mov rdx,r14 @@ -645,15 +645,15 @@ $L$init_avx:: mov r8,rbx mov r9,rbx shr rdx,26 - and rax,03ffffffh + and rax,03ffffffh shl r8,12 - and rdx,03ffffffh + and rdx,03ffffffh shr rbx,14 or r14,r8 shl rbp,24 - and r14,03ffffffh + and r14,03ffffffh shr r9,40 - and rbx,03ffffffh + and rbx,03ffffffh or rbp,r9 vmovd xmm0,eax @@ -661,68 +661,68 @@ $L$init_avx:: vmovd xmm2,r14d vmovd xmm3,ebx vmovd xmm4,ebp - mov DWORD PTR[20+rdi],1 + mov DWORD PTR[20+rdi],1 call __poly1305_init_avx -$L$proceed_avx:: +$L$proceed_avx:: mov rdx,r15 - mov r15,QWORD PTR[rsp] + mov r15,QWORD PTR[rsp] - mov r14,QWORD PTR[8+rsp] + mov r14,QWORD PTR[8+rsp] - mov r13,QWORD PTR[16+rsp] + mov r13,QWORD PTR[16+rsp] - mov r12,QWORD PTR[24+rsp] + mov r12,QWORD PTR[24+rsp] - mov rbp,QWORD PTR[32+rsp] + mov rbp,QWORD PTR[32+rsp] - mov rbx,QWORD PTR[40+rsp] + mov rbx,QWORD PTR[40+rsp] - lea rax,QWORD PTR[48+rsp] - lea rsp,QWORD PTR[48+rsp] + lea rax,QWORD PTR[48+rsp] + lea rsp,QWORD PTR[48+rsp] -$L$base2_64_avx_epilogue:: - jmp $L$do_avx +$L$base2_64_avx_epilogue:: + jmp $L$do_avx ALIGN 32 -$L$even_avx:: - - vmovd xmm0,DWORD PTR[rdi] - vmovd xmm1,DWORD PTR[4+rdi] - vmovd xmm2,DWORD PTR[8+rdi] - vmovd xmm3,DWORD PTR[12+rdi] - vmovd xmm4,DWORD PTR[16+rdi] - -$L$do_avx:: - lea r11,QWORD PTR[((-248))+rsp] - sub rsp,0218h - vmovdqa XMMWORD PTR[80+r11],xmm6 - vmovdqa XMMWORD PTR[96+r11],xmm7 - vmovdqa XMMWORD PTR[112+r11],xmm8 - vmovdqa XMMWORD PTR[128+r11],xmm9 - vmovdqa XMMWORD PTR[144+r11],xmm10 - vmovdqa XMMWORD PTR[160+r11],xmm11 - vmovdqa XMMWORD PTR[176+r11],xmm12 - vmovdqa XMMWORD PTR[192+r11],xmm13 - vmovdqa XMMWORD PTR[208+r11],xmm14 - vmovdqa XMMWORD PTR[224+r11],xmm15 -$L$do_avx_body:: +$L$even_avx:: + + vmovd xmm0,DWORD PTR[rdi] + vmovd xmm1,DWORD PTR[4+rdi] + vmovd xmm2,DWORD PTR[8+rdi] + vmovd xmm3,DWORD PTR[12+rdi] + vmovd xmm4,DWORD PTR[16+rdi] + +$L$do_avx:: + lea r11,QWORD PTR[((-248))+rsp] + sub rsp,0218h + vmovdqa XMMWORD PTR[80+r11],xmm6 + vmovdqa XMMWORD PTR[96+r11],xmm7 + vmovdqa XMMWORD PTR[112+r11],xmm8 + vmovdqa XMMWORD PTR[128+r11],xmm9 + vmovdqa XMMWORD PTR[144+r11],xmm10 + vmovdqa XMMWORD PTR[160+r11],xmm11 + vmovdqa XMMWORD PTR[176+r11],xmm12 + vmovdqa XMMWORD PTR[192+r11],xmm13 + vmovdqa XMMWORD PTR[208+r11],xmm14 + vmovdqa XMMWORD PTR[224+r11],xmm15 +$L$do_avx_body:: sub rdx,64 - lea rax,QWORD PTR[((-32))+rsi] + lea rax,QWORD PTR[((-32))+rsi] cmovc rsi,rax - vmovdqu xmm14,XMMWORD PTR[48+rdi] - lea rdi,QWORD PTR[112+rdi] - lea rcx,QWORD PTR[$L$const] + vmovdqu xmm14,XMMWORD PTR[48+rdi] + lea rdi,QWORD PTR[112+rdi] + lea rcx,QWORD PTR[$L$const] - vmovdqu xmm5,XMMWORD PTR[32+rsi] - vmovdqu xmm6,XMMWORD PTR[48+rsi] - vmovdqa xmm15,XMMWORD PTR[64+rcx] + vmovdqu xmm5,XMMWORD PTR[32+rsi] + vmovdqu xmm6,XMMWORD PTR[48+rsi] + vmovdqa xmm15,XMMWORD PTR[64+rcx] vpsrldq xmm7,xmm5,6 vpsrldq xmm8,xmm6,6 @@ -738,61 +738,61 @@ $L$do_avx_body:: vpsrlq xmm8,xmm8,30 vpand xmm7,xmm7,xmm15 vpand xmm8,xmm8,xmm15 - vpor xmm9,xmm9,XMMWORD PTR[32+rcx] - - jbe $L$skip_loop_avx - - - vmovdqu xmm11,XMMWORD PTR[((-48))+rdi] - vmovdqu xmm12,XMMWORD PTR[((-32))+rdi] - vpshufd xmm13,xmm14,0EEh - vpshufd xmm10,xmm14,044h - vmovdqa XMMWORD PTR[(-144)+r11],xmm13 - vmovdqa XMMWORD PTR[rsp],xmm10 - vpshufd xmm14,xmm11,0EEh - vmovdqu xmm10,XMMWORD PTR[((-16))+rdi] - vpshufd xmm11,xmm11,044h - vmovdqa XMMWORD PTR[(-128)+r11],xmm14 - vmovdqa XMMWORD PTR[16+rsp],xmm11 - vpshufd xmm13,xmm12,0EEh - vmovdqu xmm11,XMMWORD PTR[rdi] - vpshufd xmm12,xmm12,044h - vmovdqa XMMWORD PTR[(-112)+r11],xmm13 - vmovdqa XMMWORD PTR[32+rsp],xmm12 - vpshufd xmm14,xmm10,0EEh - vmovdqu xmm12,XMMWORD PTR[16+rdi] - vpshufd xmm10,xmm10,044h - vmovdqa XMMWORD PTR[(-96)+r11],xmm14 - vmovdqa XMMWORD PTR[48+rsp],xmm10 - vpshufd xmm13,xmm11,0EEh - vmovdqu xmm10,XMMWORD PTR[32+rdi] - vpshufd xmm11,xmm11,044h - vmovdqa XMMWORD PTR[(-80)+r11],xmm13 - vmovdqa XMMWORD PTR[64+rsp],xmm11 - vpshufd xmm14,xmm12,0EEh - vmovdqu xmm11,XMMWORD PTR[48+rdi] - vpshufd xmm12,xmm12,044h - vmovdqa XMMWORD PTR[(-64)+r11],xmm14 - vmovdqa XMMWORD PTR[80+rsp],xmm12 - vpshufd xmm13,xmm10,0EEh - vmovdqu xmm12,XMMWORD PTR[64+rdi] - vpshufd xmm10,xmm10,044h - vmovdqa XMMWORD PTR[(-48)+r11],xmm13 - vmovdqa XMMWORD PTR[96+rsp],xmm10 - vpshufd xmm14,xmm11,0EEh - vpshufd xmm11,xmm11,044h - vmovdqa XMMWORD PTR[(-32)+r11],xmm14 - vmovdqa XMMWORD PTR[112+rsp],xmm11 - vpshufd xmm13,xmm12,0EEh - vmovdqa xmm14,XMMWORD PTR[rsp] - vpshufd xmm12,xmm12,044h - vmovdqa XMMWORD PTR[(-16)+r11],xmm13 - vmovdqa XMMWORD PTR[128+rsp],xmm12 - - jmp $L$oop_avx + vpor xmm9,xmm9,XMMWORD PTR[32+rcx] + + jbe $L$skip_loop_avx + + + vmovdqu xmm11,XMMWORD PTR[((-48))+rdi] + vmovdqu xmm12,XMMWORD PTR[((-32))+rdi] + vpshufd xmm13,xmm14,0EEh + vpshufd xmm10,xmm14,044h + vmovdqa XMMWORD PTR[(-144)+r11],xmm13 + vmovdqa XMMWORD PTR[rsp],xmm10 + vpshufd xmm14,xmm11,0EEh + vmovdqu xmm10,XMMWORD PTR[((-16))+rdi] + vpshufd xmm11,xmm11,044h + vmovdqa XMMWORD PTR[(-128)+r11],xmm14 + vmovdqa XMMWORD PTR[16+rsp],xmm11 + vpshufd xmm13,xmm12,0EEh + vmovdqu xmm11,XMMWORD PTR[rdi] + vpshufd xmm12,xmm12,044h + vmovdqa XMMWORD PTR[(-112)+r11],xmm13 + vmovdqa XMMWORD PTR[32+rsp],xmm12 + vpshufd xmm14,xmm10,0EEh + vmovdqu xmm12,XMMWORD PTR[16+rdi] + vpshufd xmm10,xmm10,044h + vmovdqa XMMWORD PTR[(-96)+r11],xmm14 + vmovdqa XMMWORD PTR[48+rsp],xmm10 + vpshufd xmm13,xmm11,0EEh + vmovdqu xmm10,XMMWORD PTR[32+rdi] + vpshufd xmm11,xmm11,044h + vmovdqa XMMWORD PTR[(-80)+r11],xmm13 + vmovdqa XMMWORD PTR[64+rsp],xmm11 + vpshufd xmm14,xmm12,0EEh + vmovdqu xmm11,XMMWORD PTR[48+rdi] + vpshufd xmm12,xmm12,044h + vmovdqa XMMWORD PTR[(-64)+r11],xmm14 + vmovdqa XMMWORD PTR[80+rsp],xmm12 + vpshufd xmm13,xmm10,0EEh + vmovdqu xmm12,XMMWORD PTR[64+rdi] + vpshufd xmm10,xmm10,044h + vmovdqa XMMWORD PTR[(-48)+r11],xmm13 + vmovdqa XMMWORD PTR[96+rsp],xmm10 + vpshufd xmm14,xmm11,0EEh + vpshufd xmm11,xmm11,044h + vmovdqa XMMWORD PTR[(-32)+r11],xmm14 + vmovdqa XMMWORD PTR[112+rsp],xmm11 + vpshufd xmm13,xmm12,0EEh + vmovdqa xmm14,XMMWORD PTR[rsp] + vpshufd xmm12,xmm12,044h + vmovdqa XMMWORD PTR[(-16)+r11],xmm13 + vmovdqa XMMWORD PTR[128+rsp],xmm12 + + jmp $L$oop_avx ALIGN 32 -$L$oop_avx:: +$L$oop_avx:: @@ -815,43 +815,43 @@ $L$oop_avx:: vpmuludq xmm10,xmm14,xmm5 vpmuludq xmm11,xmm14,xmm6 - vmovdqa XMMWORD PTR[32+r11],xmm2 + vmovdqa XMMWORD PTR[32+r11],xmm2 vpmuludq xmm12,xmm14,xmm7 - vmovdqa xmm2,XMMWORD PTR[16+rsp] + vmovdqa xmm2,XMMWORD PTR[16+rsp] vpmuludq xmm13,xmm14,xmm8 vpmuludq xmm14,xmm14,xmm9 - vmovdqa XMMWORD PTR[r11],xmm0 - vpmuludq xmm0,xmm9,XMMWORD PTR[32+rsp] - vmovdqa XMMWORD PTR[16+r11],xmm1 + vmovdqa XMMWORD PTR[r11],xmm0 + vpmuludq xmm0,xmm9,XMMWORD PTR[32+rsp] + vmovdqa XMMWORD PTR[16+r11],xmm1 vpmuludq xmm1,xmm2,xmm8 vpaddq xmm10,xmm10,xmm0 vpaddq xmm14,xmm14,xmm1 - vmovdqa XMMWORD PTR[48+r11],xmm3 + vmovdqa XMMWORD PTR[48+r11],xmm3 vpmuludq xmm0,xmm2,xmm7 vpmuludq xmm1,xmm2,xmm6 vpaddq xmm13,xmm13,xmm0 - vmovdqa xmm3,XMMWORD PTR[48+rsp] + vmovdqa xmm3,XMMWORD PTR[48+rsp] vpaddq xmm12,xmm12,xmm1 - vmovdqa XMMWORD PTR[64+r11],xmm4 + vmovdqa XMMWORD PTR[64+r11],xmm4 vpmuludq xmm2,xmm2,xmm5 vpmuludq xmm0,xmm3,xmm7 vpaddq xmm11,xmm11,xmm2 - vmovdqa xmm4,XMMWORD PTR[64+rsp] + vmovdqa xmm4,XMMWORD PTR[64+rsp] vpaddq xmm14,xmm14,xmm0 vpmuludq xmm1,xmm3,xmm6 vpmuludq xmm3,xmm3,xmm5 vpaddq xmm13,xmm13,xmm1 - vmovdqa xmm2,XMMWORD PTR[80+rsp] + vmovdqa xmm2,XMMWORD PTR[80+rsp] vpaddq xmm12,xmm12,xmm3 vpmuludq xmm0,xmm4,xmm9 vpmuludq xmm4,xmm4,xmm8 vpaddq xmm11,xmm11,xmm0 - vmovdqa xmm3,XMMWORD PTR[96+rsp] + vmovdqa xmm3,XMMWORD PTR[96+rsp] vpaddq xmm10,xmm10,xmm4 - vmovdqa xmm4,XMMWORD PTR[128+rsp] + vmovdqa xmm4,XMMWORD PTR[128+rsp] vpmuludq xmm1,xmm2,xmm6 vpmuludq xmm2,xmm2,xmm5 vpaddq xmm14,xmm14,xmm1 @@ -859,13 +859,13 @@ $L$oop_avx:: vpmuludq xmm0,xmm3,xmm9 vpmuludq xmm1,xmm3,xmm8 vpaddq xmm12,xmm12,xmm0 - vmovdqu xmm0,XMMWORD PTR[rsi] + vmovdqu xmm0,XMMWORD PTR[rsi] vpaddq xmm11,xmm11,xmm1 vpmuludq xmm3,xmm3,xmm7 vpmuludq xmm7,xmm4,xmm7 vpaddq xmm10,xmm10,xmm3 - vmovdqu xmm1,XMMWORD PTR[16+rsi] + vmovdqu xmm1,XMMWORD PTR[16+rsi] vpaddq xmm11,xmm11,xmm7 vpmuludq xmm8,xmm4,xmm8 vpmuludq xmm9,xmm4,xmm9 @@ -873,11 +873,11 @@ $L$oop_avx:: vpaddq xmm12,xmm12,xmm8 vpaddq xmm13,xmm13,xmm9 vpsrldq xmm3,xmm1,6 - vpmuludq xmm9,xmm5,XMMWORD PTR[112+rsp] + vpmuludq xmm9,xmm5,XMMWORD PTR[112+rsp] vpmuludq xmm5,xmm4,xmm6 vpunpckhqdq xmm4,xmm0,xmm1 vpaddq xmm14,xmm14,xmm9 - vmovdqa xmm9,XMMWORD PTR[((-144))+r11] + vmovdqa xmm9,XMMWORD PTR[((-144))+r11] vpaddq xmm10,xmm10,xmm5 vpunpcklqdq xmm0,xmm0,xmm1 @@ -889,20 +889,20 @@ $L$oop_avx:: vpand xmm0,xmm0,xmm15 vpsrlq xmm2,xmm3,4 vpand xmm1,xmm1,xmm15 - vpand xmm4,xmm4,XMMWORD PTR[rcx] + vpand xmm4,xmm4,XMMWORD PTR[rcx] vpsrlq xmm3,xmm3,30 vpand xmm2,xmm2,xmm15 vpand xmm3,xmm3,xmm15 - vpor xmm4,xmm4,XMMWORD PTR[32+rcx] + vpor xmm4,xmm4,XMMWORD PTR[32+rcx] - vpaddq xmm0,xmm0,XMMWORD PTR[r11] - vpaddq xmm1,xmm1,XMMWORD PTR[16+r11] - vpaddq xmm2,xmm2,XMMWORD PTR[32+r11] - vpaddq xmm3,xmm3,XMMWORD PTR[48+r11] - vpaddq xmm4,xmm4,XMMWORD PTR[64+r11] + vpaddq xmm0,xmm0,XMMWORD PTR[r11] + vpaddq xmm1,xmm1,XMMWORD PTR[16+r11] + vpaddq xmm2,xmm2,XMMWORD PTR[32+r11] + vpaddq xmm3,xmm3,XMMWORD PTR[48+r11] + vpaddq xmm4,xmm4,XMMWORD PTR[64+r11] - lea rax,QWORD PTR[32+rsi] - lea rsi,QWORD PTR[64+rsi] + lea rax,QWORD PTR[32+rsi] + lea rsi,QWORD PTR[64+rsi] sub rdx,64 cmovc rsi,rax @@ -919,52 +919,52 @@ $L$oop_avx:: vpmuludq xmm6,xmm9,xmm1 vpaddq xmm10,xmm10,xmm5 vpaddq xmm11,xmm11,xmm6 - vmovdqa xmm7,XMMWORD PTR[((-128))+r11] + vmovdqa xmm7,XMMWORD PTR[((-128))+r11] vpmuludq xmm5,xmm9,xmm2 vpmuludq xmm6,xmm9,xmm3 vpaddq xmm12,xmm12,xmm5 vpaddq xmm13,xmm13,xmm6 vpmuludq xmm9,xmm9,xmm4 - vpmuludq xmm5,xmm4,XMMWORD PTR[((-112))+r11] + vpmuludq xmm5,xmm4,XMMWORD PTR[((-112))+r11] vpaddq xmm14,xmm14,xmm9 vpaddq xmm10,xmm10,xmm5 vpmuludq xmm6,xmm7,xmm2 vpmuludq xmm5,xmm7,xmm3 vpaddq xmm13,xmm13,xmm6 - vmovdqa xmm8,XMMWORD PTR[((-96))+r11] + vmovdqa xmm8,XMMWORD PTR[((-96))+r11] vpaddq xmm14,xmm14,xmm5 vpmuludq xmm6,xmm7,xmm1 vpmuludq xmm7,xmm7,xmm0 vpaddq xmm12,xmm12,xmm6 vpaddq xmm11,xmm11,xmm7 - vmovdqa xmm9,XMMWORD PTR[((-80))+r11] + vmovdqa xmm9,XMMWORD PTR[((-80))+r11] vpmuludq xmm5,xmm8,xmm2 vpmuludq xmm6,xmm8,xmm1 vpaddq xmm14,xmm14,xmm5 vpaddq xmm13,xmm13,xmm6 - vmovdqa xmm7,XMMWORD PTR[((-64))+r11] + vmovdqa xmm7,XMMWORD PTR[((-64))+r11] vpmuludq xmm8,xmm8,xmm0 vpmuludq xmm5,xmm9,xmm4 vpaddq xmm12,xmm12,xmm8 vpaddq xmm11,xmm11,xmm5 - vmovdqa xmm8,XMMWORD PTR[((-48))+r11] + vmovdqa xmm8,XMMWORD PTR[((-48))+r11] vpmuludq xmm9,xmm9,xmm3 vpmuludq xmm6,xmm7,xmm1 vpaddq xmm10,xmm10,xmm9 - vmovdqa xmm9,XMMWORD PTR[((-16))+r11] + vmovdqa xmm9,XMMWORD PTR[((-16))+r11] vpaddq xmm14,xmm14,xmm6 vpmuludq xmm7,xmm7,xmm0 vpmuludq xmm5,xmm8,xmm4 vpaddq xmm13,xmm13,xmm7 vpaddq xmm12,xmm12,xmm5 - vmovdqu xmm5,XMMWORD PTR[32+rsi] + vmovdqu xmm5,XMMWORD PTR[32+rsi] vpmuludq xmm7,xmm8,xmm3 vpmuludq xmm8,xmm8,xmm2 vpaddq xmm11,xmm11,xmm7 - vmovdqu xmm6,XMMWORD PTR[48+rsi] + vmovdqu xmm6,XMMWORD PTR[48+rsi] vpaddq xmm10,xmm10,xmm8 vpmuludq xmm2,xmm9,xmm2 @@ -975,7 +975,7 @@ $L$oop_avx:: vpsrldq xmm8,xmm6,6 vpaddq xmm2,xmm12,xmm3 vpaddq xmm3,xmm13,xmm4 - vpmuludq xmm4,xmm0,XMMWORD PTR[((-32))+r11] + vpmuludq xmm4,xmm0,XMMWORD PTR[((-32))+r11] vpmuludq xmm0,xmm9,xmm1 vpunpckhqdq xmm9,xmm5,xmm6 vpaddq xmm4,xmm14,xmm4 @@ -987,15 +987,15 @@ $L$oop_avx:: vpsrldq xmm9,xmm9,5 vpsrlq xmm6,xmm5,26 - vmovdqa xmm14,XMMWORD PTR[rsp] + vmovdqa xmm14,XMMWORD PTR[rsp] vpand xmm5,xmm5,xmm15 vpsrlq xmm7,xmm8,4 vpand xmm6,xmm6,xmm15 - vpand xmm9,xmm9,XMMWORD PTR[rcx] + vpand xmm9,xmm9,XMMWORD PTR[rcx] vpsrlq xmm8,xmm8,30 vpand xmm7,xmm7,xmm15 vpand xmm8,xmm8,xmm15 - vpor xmm9,xmm9,XMMWORD PTR[32+rcx] + vpor xmm9,xmm9,XMMWORD PTR[32+rcx] @@ -1032,15 +1032,15 @@ $L$oop_avx:: vpand xmm3,xmm3,xmm15 vpaddq xmm4,xmm4,xmm13 - ja $L$oop_avx + ja $L$oop_avx -$L$skip_loop_avx:: +$L$skip_loop_avx:: - vpshufd xmm14,xmm14,010h + vpshufd xmm14,xmm14,010h add rdx,32 - jnz $L$ong_tail_avx + jnz $L$ong_tail_avx vpaddq xmm7,xmm7,xmm2 vpaddq xmm5,xmm5,xmm0 @@ -1048,12 +1048,12 @@ $L$skip_loop_avx:: vpaddq xmm8,xmm8,xmm3 vpaddq xmm9,xmm9,xmm4 -$L$ong_tail_avx:: - vmovdqa XMMWORD PTR[32+r11],xmm2 - vmovdqa XMMWORD PTR[r11],xmm0 - vmovdqa XMMWORD PTR[16+r11],xmm1 - vmovdqa XMMWORD PTR[48+r11],xmm3 - vmovdqa XMMWORD PTR[64+r11],xmm4 +$L$ong_tail_avx:: + vmovdqa XMMWORD PTR[32+r11],xmm2 + vmovdqa XMMWORD PTR[r11],xmm0 + vmovdqa XMMWORD PTR[16+r11],xmm1 + vmovdqa XMMWORD PTR[48+r11],xmm3 + vmovdqa XMMWORD PTR[64+r11],xmm4 @@ -1063,17 +1063,17 @@ $L$ong_tail_avx:: vpmuludq xmm12,xmm14,xmm7 vpmuludq xmm10,xmm14,xmm5 - vpshufd xmm2,XMMWORD PTR[((-48))+rdi],010h + vpshufd xmm2,XMMWORD PTR[((-48))+rdi],010h vpmuludq xmm11,xmm14,xmm6 vpmuludq xmm13,xmm14,xmm8 vpmuludq xmm14,xmm14,xmm9 vpmuludq xmm0,xmm2,xmm8 vpaddq xmm14,xmm14,xmm0 - vpshufd xmm3,XMMWORD PTR[((-32))+rdi],010h + vpshufd xmm3,XMMWORD PTR[((-32))+rdi],010h vpmuludq xmm1,xmm2,xmm7 vpaddq xmm13,xmm13,xmm1 - vpshufd xmm4,XMMWORD PTR[((-16))+rdi],010h + vpshufd xmm4,XMMWORD PTR[((-16))+rdi],010h vpmuludq xmm0,xmm2,xmm6 vpaddq xmm12,xmm12,xmm0 vpmuludq xmm2,xmm2,xmm5 @@ -1081,17 +1081,17 @@ $L$ong_tail_avx:: vpmuludq xmm3,xmm3,xmm9 vpaddq xmm10,xmm10,xmm3 - vpshufd xmm2,XMMWORD PTR[rdi],010h + vpshufd xmm2,XMMWORD PTR[rdi],010h vpmuludq xmm1,xmm4,xmm7 vpaddq xmm14,xmm14,xmm1 vpmuludq xmm0,xmm4,xmm6 vpaddq xmm13,xmm13,xmm0 - vpshufd xmm3,XMMWORD PTR[16+rdi],010h + vpshufd xmm3,XMMWORD PTR[16+rdi],010h vpmuludq xmm4,xmm4,xmm5 vpaddq xmm12,xmm12,xmm4 vpmuludq xmm1,xmm2,xmm9 vpaddq xmm11,xmm11,xmm1 - vpshufd xmm4,XMMWORD PTR[32+rdi],010h + vpshufd xmm4,XMMWORD PTR[32+rdi],010h vpmuludq xmm2,xmm2,xmm8 vpaddq xmm10,xmm10,xmm2 @@ -1099,10 +1099,10 @@ $L$ong_tail_avx:: vpaddq xmm14,xmm14,xmm0 vpmuludq xmm3,xmm3,xmm5 vpaddq xmm13,xmm13,xmm3 - vpshufd xmm2,XMMWORD PTR[48+rdi],010h + vpshufd xmm2,XMMWORD PTR[48+rdi],010h vpmuludq xmm1,xmm4,xmm9 vpaddq xmm12,xmm12,xmm1 - vpshufd xmm3,XMMWORD PTR[64+rdi],010h + vpshufd xmm3,XMMWORD PTR[64+rdi],010h vpmuludq xmm0,xmm4,xmm8 vpaddq xmm11,xmm11,xmm0 vpmuludq xmm4,xmm4,xmm7 @@ -1119,10 +1119,10 @@ $L$ong_tail_avx:: vpmuludq xmm3,xmm3,xmm6 vpaddq xmm10,xmm10,xmm3 - jz $L$short_tail_avx + jz $L$short_tail_avx - vmovdqu xmm0,XMMWORD PTR[rsi] - vmovdqu xmm1,XMMWORD PTR[16+rsi] + vmovdqu xmm0,XMMWORD PTR[rsi] + vmovdqu xmm1,XMMWORD PTR[16+rsi] vpsrldq xmm2,xmm0,6 vpsrldq xmm3,xmm1,6 @@ -1138,14 +1138,14 @@ $L$ong_tail_avx:: vpsrlq xmm3,xmm3,30 vpand xmm2,xmm2,xmm15 vpand xmm3,xmm3,xmm15 - vpor xmm4,xmm4,XMMWORD PTR[32+rcx] + vpor xmm4,xmm4,XMMWORD PTR[32+rcx] - vpshufd xmm9,XMMWORD PTR[((-64))+rdi],032h - vpaddq xmm0,xmm0,XMMWORD PTR[r11] - vpaddq xmm1,xmm1,XMMWORD PTR[16+r11] - vpaddq xmm2,xmm2,XMMWORD PTR[32+r11] - vpaddq xmm3,xmm3,XMMWORD PTR[48+r11] - vpaddq xmm4,xmm4,XMMWORD PTR[64+r11] + vpshufd xmm9,XMMWORD PTR[((-64))+rdi],032h + vpaddq xmm0,xmm0,XMMWORD PTR[r11] + vpaddq xmm1,xmm1,XMMWORD PTR[16+r11] + vpaddq xmm2,xmm2,XMMWORD PTR[32+r11] + vpaddq xmm3,xmm3,XMMWORD PTR[48+r11] + vpaddq xmm4,xmm4,XMMWORD PTR[64+r11] @@ -1156,7 +1156,7 @@ $L$ong_tail_avx:: vpaddq xmm11,xmm11,xmm6 vpmuludq xmm5,xmm9,xmm2 vpaddq xmm12,xmm12,xmm5 - vpshufd xmm7,XMMWORD PTR[((-48))+rdi],032h + vpshufd xmm7,XMMWORD PTR[((-48))+rdi],032h vpmuludq xmm6,xmm9,xmm3 vpaddq xmm13,xmm13,xmm6 vpmuludq xmm9,xmm9,xmm4 @@ -1164,10 +1164,10 @@ $L$ong_tail_avx:: vpmuludq xmm5,xmm7,xmm3 vpaddq xmm14,xmm14,xmm5 - vpshufd xmm8,XMMWORD PTR[((-32))+rdi],032h + vpshufd xmm8,XMMWORD PTR[((-32))+rdi],032h vpmuludq xmm6,xmm7,xmm2 vpaddq xmm13,xmm13,xmm6 - vpshufd xmm9,XMMWORD PTR[((-16))+rdi],032h + vpshufd xmm9,XMMWORD PTR[((-16))+rdi],032h vpmuludq xmm5,xmm7,xmm1 vpaddq xmm12,xmm12,xmm5 vpmuludq xmm7,xmm7,xmm0 @@ -1175,17 +1175,17 @@ $L$ong_tail_avx:: vpmuludq xmm8,xmm8,xmm4 vpaddq xmm10,xmm10,xmm8 - vpshufd xmm7,XMMWORD PTR[rdi],032h + vpshufd xmm7,XMMWORD PTR[rdi],032h vpmuludq xmm6,xmm9,xmm2 vpaddq xmm14,xmm14,xmm6 vpmuludq xmm5,xmm9,xmm1 vpaddq xmm13,xmm13,xmm5 - vpshufd xmm8,XMMWORD PTR[16+rdi],032h + vpshufd xmm8,XMMWORD PTR[16+rdi],032h vpmuludq xmm9,xmm9,xmm0 vpaddq xmm12,xmm12,xmm9 vpmuludq xmm6,xmm7,xmm4 vpaddq xmm11,xmm11,xmm6 - vpshufd xmm9,XMMWORD PTR[32+rdi],032h + vpshufd xmm9,XMMWORD PTR[32+rdi],032h vpmuludq xmm7,xmm7,xmm3 vpaddq xmm10,xmm10,xmm7 @@ -1193,10 +1193,10 @@ $L$ong_tail_avx:: vpaddq xmm14,xmm14,xmm5 vpmuludq xmm8,xmm8,xmm0 vpaddq xmm13,xmm13,xmm8 - vpshufd xmm7,XMMWORD PTR[48+rdi],032h + vpshufd xmm7,XMMWORD PTR[48+rdi],032h vpmuludq xmm6,xmm9,xmm4 vpaddq xmm12,xmm12,xmm6 - vpshufd xmm8,XMMWORD PTR[64+rdi],032h + vpshufd xmm8,XMMWORD PTR[64+rdi],032h vpmuludq xmm5,xmm9,xmm3 vpaddq xmm11,xmm11,xmm5 vpmuludq xmm9,xmm9,xmm2 @@ -1213,7 +1213,7 @@ $L$ong_tail_avx:: vpmuludq xmm8,xmm8,xmm1 vpaddq xmm10,xmm10,xmm8 -$L$short_tail_avx:: +$L$short_tail_avx:: @@ -1262,53 +1262,53 @@ $L$short_tail_avx:: vpand xmm13,xmm13,xmm15 vpaddq xmm14,xmm14,xmm3 - vmovd DWORD PTR[(-112)+rdi],xmm10 - vmovd DWORD PTR[(-108)+rdi],xmm11 - vmovd DWORD PTR[(-104)+rdi],xmm12 - vmovd DWORD PTR[(-100)+rdi],xmm13 - vmovd DWORD PTR[(-96)+rdi],xmm14 - vmovdqa xmm6,XMMWORD PTR[80+r11] - vmovdqa xmm7,XMMWORD PTR[96+r11] - vmovdqa xmm8,XMMWORD PTR[112+r11] - vmovdqa xmm9,XMMWORD PTR[128+r11] - vmovdqa xmm10,XMMWORD PTR[144+r11] - vmovdqa xmm11,XMMWORD PTR[160+r11] - vmovdqa xmm12,XMMWORD PTR[176+r11] - vmovdqa xmm13,XMMWORD PTR[192+r11] - vmovdqa xmm14,XMMWORD PTR[208+r11] - vmovdqa xmm15,XMMWORD PTR[224+r11] - lea rsp,QWORD PTR[248+r11] -$L$do_avx_epilogue:: + vmovd DWORD PTR[(-112)+rdi],xmm10 + vmovd DWORD PTR[(-108)+rdi],xmm11 + vmovd DWORD PTR[(-104)+rdi],xmm12 + vmovd DWORD PTR[(-100)+rdi],xmm13 + vmovd DWORD PTR[(-96)+rdi],xmm14 + vmovdqa xmm6,XMMWORD PTR[80+r11] + vmovdqa xmm7,XMMWORD PTR[96+r11] + vmovdqa xmm8,XMMWORD PTR[112+r11] + vmovdqa xmm9,XMMWORD PTR[128+r11] + vmovdqa xmm10,XMMWORD PTR[144+r11] + vmovdqa xmm11,XMMWORD PTR[160+r11] + vmovdqa xmm12,XMMWORD PTR[176+r11] + vmovdqa xmm13,XMMWORD PTR[192+r11] + vmovdqa xmm14,XMMWORD PTR[208+r11] + vmovdqa xmm15,XMMWORD PTR[224+r11] + lea rsp,QWORD PTR[248+r11] +$L$do_avx_epilogue:: vzeroupper - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_poly1305_blocks_avx:: -poly1305_blocks_avx ENDP +$L$SEH_end_poly1305_blocks_avx:: +poly1305_blocks_avx ENDP ALIGN 32 -poly1305_emit_avx PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +poly1305_emit_avx PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_poly1305_emit_avx:: +$L$SEH_begin_poly1305_emit_avx:: mov rdi,rcx mov rsi,rdx mov rdx,r8 - cmp DWORD PTR[20+rdi],0 - je $L$emit + cmp DWORD PTR[20+rdi],0 + je $L$emit + + mov eax,DWORD PTR[rdi] + mov ecx,DWORD PTR[4+rdi] + mov r8d,DWORD PTR[8+rdi] + mov r11d,DWORD PTR[12+rdi] + mov r10d,DWORD PTR[16+rdi] - mov eax,DWORD PTR[rdi] - mov ecx,DWORD PTR[4+rdi] - mov r8d,DWORD PTR[8+rdi] - mov r11d,DWORD PTR[12+rdi] - mov r10d,DWORD PTR[16+rdi] - shl rcx,26 mov r9,r8 shl r8,52 @@ -1344,24 +1344,24 @@ $L$SEH_begin_poly1305_emit_avx:: cmovnz rax,r8 cmovnz rcx,r9 - add rax,QWORD PTR[rdx] - adc rcx,QWORD PTR[8+rdx] - mov QWORD PTR[rsi],rax - mov QWORD PTR[8+rsi],rcx + add rax,QWORD PTR[rdx] + adc rcx,QWORD PTR[8+rdx] + mov QWORD PTR[rsi],rax + mov QWORD PTR[8+rsi],rcx - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_poly1305_emit_avx:: -poly1305_emit_avx ENDP - +$L$SEH_end_poly1305_emit_avx:: +poly1305_emit_avx ENDP + ALIGN 32 -poly1305_blocks_avx2 PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +poly1305_blocks_avx2 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_poly1305_blocks_avx2:: +$L$SEH_begin_poly1305_blocks_avx2:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -1369,23 +1369,23 @@ $L$SEH_begin_poly1305_blocks_avx2:: - mov r8d,DWORD PTR[20+rdi] + mov r8d,DWORD PTR[20+rdi] cmp rdx,128 - jae $L$blocks_avx2 + jae $L$blocks_avx2 test r8d,r8d - jz $L$blocks + jz $L$blocks -$L$blocks_avx2:: +$L$blocks_avx2:: and rdx,-16 - jz $L$no_data_avx2 + jz $L$no_data_avx2 vzeroupper test r8d,r8d - jz $L$base2_64_avx2 + jz $L$base2_64_avx2 test rdx,63 - jz $L$even_avx2 + jz $L$even_avx2 push rbx @@ -1399,16 +1399,16 @@ $L$blocks_avx2:: push r15 -$L$blocks_avx2_body:: +$L$blocks_avx2_body:: mov r15,rdx - mov r8,QWORD PTR[rdi] - mov r9,QWORD PTR[8+rdi] - mov ebp,DWORD PTR[16+rdi] + mov r8,QWORD PTR[rdi] + mov r9,QWORD PTR[8+rdi] + mov ebp,DWORD PTR[16+rdi] - mov r11,QWORD PTR[24+rdi] - mov r13,QWORD PTR[32+rdi] + mov r11,QWORD PTR[24+rdi] + mov r13,QWORD PTR[32+rdi] mov r14d,r8d @@ -1446,10 +1446,10 @@ $L$blocks_avx2_body:: shr r13,2 add r13,r12 -$L$base2_26_pre_avx2:: - add r14,QWORD PTR[rsi] - adc rbx,QWORD PTR[8+rsi] - lea rsi,QWORD PTR[16+rsi] +$L$base2_26_pre_avx2:: + add r14,QWORD PTR[rsi] + adc rbx,QWORD PTR[8+rsi] + lea rsi,QWORD PTR[16+rsi] adc rbp,rcx sub r15,16 @@ -1457,10 +1457,10 @@ $L$base2_26_pre_avx2:: mov rax,r12 test r15,63 - jnz $L$base2_26_pre_avx2 + jnz $L$base2_26_pre_avx2 test rcx,rcx - jz $L$store_base2_64_avx2 + jz $L$store_base2_64_avx2 mov rax,r14 @@ -1469,66 +1469,66 @@ $L$base2_26_pre_avx2:: mov r11,rbx mov r12,rbx shr rdx,26 - and rax,03ffffffh + and rax,03ffffffh shl r11,12 - and rdx,03ffffffh + and rdx,03ffffffh shr rbx,14 or r14,r11 shl rbp,24 - and r14,03ffffffh + and r14,03ffffffh shr r12,40 - and rbx,03ffffffh + and rbx,03ffffffh or rbp,r12 test r15,r15 - jz $L$store_base2_26_avx2 + jz $L$store_base2_26_avx2 vmovd xmm0,eax vmovd xmm1,edx vmovd xmm2,r14d vmovd xmm3,ebx vmovd xmm4,ebp - jmp $L$proceed_avx2 + jmp $L$proceed_avx2 ALIGN 32 -$L$store_base2_64_avx2:: - mov QWORD PTR[rdi],r14 - mov QWORD PTR[8+rdi],rbx - mov QWORD PTR[16+rdi],rbp - jmp $L$done_avx2 +$L$store_base2_64_avx2:: + mov QWORD PTR[rdi],r14 + mov QWORD PTR[8+rdi],rbx + mov QWORD PTR[16+rdi],rbp + jmp $L$done_avx2 ALIGN 16 -$L$store_base2_26_avx2:: - mov DWORD PTR[rdi],eax - mov DWORD PTR[4+rdi],edx - mov DWORD PTR[8+rdi],r14d - mov DWORD PTR[12+rdi],ebx - mov DWORD PTR[16+rdi],ebp +$L$store_base2_26_avx2:: + mov DWORD PTR[rdi],eax + mov DWORD PTR[4+rdi],edx + mov DWORD PTR[8+rdi],r14d + mov DWORD PTR[12+rdi],ebx + mov DWORD PTR[16+rdi],ebp ALIGN 16 -$L$done_avx2:: - mov r15,QWORD PTR[rsp] +$L$done_avx2:: + mov r15,QWORD PTR[rsp] - mov r14,QWORD PTR[8+rsp] + mov r14,QWORD PTR[8+rsp] - mov r13,QWORD PTR[16+rsp] + mov r13,QWORD PTR[16+rsp] - mov r12,QWORD PTR[24+rsp] + mov r12,QWORD PTR[24+rsp] - mov rbp,QWORD PTR[32+rsp] + mov rbp,QWORD PTR[32+rsp] - mov rbx,QWORD PTR[40+rsp] + mov rbx,QWORD PTR[40+rsp] - lea rsp,QWORD PTR[48+rsp] + lea rsp,QWORD PTR[48+rsp] -$L$no_data_avx2:: -$L$blocks_avx2_epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$no_data_avx2:: +$L$blocks_avx2_epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret ALIGN 32 -$L$base2_64_avx2:: +$L$base2_64_avx2:: push rbx @@ -1542,16 +1542,16 @@ $L$base2_64_avx2:: push r15 -$L$base2_64_avx2_body:: +$L$base2_64_avx2_body:: mov r15,rdx - mov r11,QWORD PTR[24+rdi] - mov r13,QWORD PTR[32+rdi] + mov r11,QWORD PTR[24+rdi] + mov r13,QWORD PTR[32+rdi] - mov r14,QWORD PTR[rdi] - mov rbx,QWORD PTR[8+rdi] - mov ebp,DWORD PTR[16+rdi] + mov r14,QWORD PTR[rdi] + mov rbx,QWORD PTR[8+rdi] + mov ebp,DWORD PTR[16+rdi] mov r12,r13 mov rax,r13 @@ -1559,12 +1559,12 @@ $L$base2_64_avx2_body:: add r13,r12 test rdx,63 - jz $L$init_avx2 + jz $L$init_avx2 -$L$base2_64_pre_avx2:: - add r14,QWORD PTR[rsi] - adc rbx,QWORD PTR[8+rsi] - lea rsi,QWORD PTR[16+rsi] +$L$base2_64_pre_avx2:: + add r14,QWORD PTR[rsi] + adc rbx,QWORD PTR[8+rsi] + lea rsi,QWORD PTR[16+rsi] adc rbp,rcx sub r15,16 @@ -1572,9 +1572,9 @@ $L$base2_64_pre_avx2:: mov rax,r12 test r15,63 - jnz $L$base2_64_pre_avx2 + jnz $L$base2_64_pre_avx2 -$L$init_avx2:: +$L$init_avx2:: mov rax,r14 mov rdx,r14 @@ -1582,15 +1582,15 @@ $L$init_avx2:: mov r8,rbx mov r9,rbx shr rdx,26 - and rax,03ffffffh + and rax,03ffffffh shl r8,12 - and rdx,03ffffffh + and rdx,03ffffffh shr rbx,14 or r14,r8 shl rbp,24 - and r14,03ffffffh + and r14,03ffffffh shr r9,40 - and rbx,03ffffffh + and rbx,03ffffffh or rbp,r9 vmovd xmm0,eax @@ -1598,101 +1598,101 @@ $L$init_avx2:: vmovd xmm2,r14d vmovd xmm3,ebx vmovd xmm4,ebp - mov DWORD PTR[20+rdi],1 + mov DWORD PTR[20+rdi],1 call __poly1305_init_avx -$L$proceed_avx2:: +$L$proceed_avx2:: mov rdx,r15 - mov r10d,DWORD PTR[((OPENSSL_ia32cap_P+8))] + mov r10d,DWORD PTR[((OPENSSL_ia32cap_P+8))] mov r11d,3221291008 - mov r15,QWORD PTR[rsp] + mov r15,QWORD PTR[rsp] - mov r14,QWORD PTR[8+rsp] + mov r14,QWORD PTR[8+rsp] - mov r13,QWORD PTR[16+rsp] + mov r13,QWORD PTR[16+rsp] - mov r12,QWORD PTR[24+rsp] + mov r12,QWORD PTR[24+rsp] - mov rbp,QWORD PTR[32+rsp] + mov rbp,QWORD PTR[32+rsp] - mov rbx,QWORD PTR[40+rsp] + mov rbx,QWORD PTR[40+rsp] - lea rax,QWORD PTR[48+rsp] - lea rsp,QWORD PTR[48+rsp] + lea rax,QWORD PTR[48+rsp] + lea rsp,QWORD PTR[48+rsp] -$L$base2_64_avx2_epilogue:: - jmp $L$do_avx2 +$L$base2_64_avx2_epilogue:: + jmp $L$do_avx2 ALIGN 32 -$L$even_avx2:: - - mov r10d,DWORD PTR[((OPENSSL_ia32cap_P+8))] - vmovd xmm0,DWORD PTR[rdi] - vmovd xmm1,DWORD PTR[4+rdi] - vmovd xmm2,DWORD PTR[8+rdi] - vmovd xmm3,DWORD PTR[12+rdi] - vmovd xmm4,DWORD PTR[16+rdi] - -$L$do_avx2:: - lea r11,QWORD PTR[((-248))+rsp] - sub rsp,01c8h - vmovdqa XMMWORD PTR[80+r11],xmm6 - vmovdqa XMMWORD PTR[96+r11],xmm7 - vmovdqa XMMWORD PTR[112+r11],xmm8 - vmovdqa XMMWORD PTR[128+r11],xmm9 - vmovdqa XMMWORD PTR[144+r11],xmm10 - vmovdqa XMMWORD PTR[160+r11],xmm11 - vmovdqa XMMWORD PTR[176+r11],xmm12 - vmovdqa XMMWORD PTR[192+r11],xmm13 - vmovdqa XMMWORD PTR[208+r11],xmm14 - vmovdqa XMMWORD PTR[224+r11],xmm15 -$L$do_avx2_body:: - lea rcx,QWORD PTR[$L$const] - lea rdi,QWORD PTR[((48+64))+rdi] - vmovdqa ymm7,YMMWORD PTR[96+rcx] - - - vmovdqu xmm9,XMMWORD PTR[((-64))+rdi] +$L$even_avx2:: + + mov r10d,DWORD PTR[((OPENSSL_ia32cap_P+8))] + vmovd xmm0,DWORD PTR[rdi] + vmovd xmm1,DWORD PTR[4+rdi] + vmovd xmm2,DWORD PTR[8+rdi] + vmovd xmm3,DWORD PTR[12+rdi] + vmovd xmm4,DWORD PTR[16+rdi] + +$L$do_avx2:: + lea r11,QWORD PTR[((-248))+rsp] + sub rsp,01c8h + vmovdqa XMMWORD PTR[80+r11],xmm6 + vmovdqa XMMWORD PTR[96+r11],xmm7 + vmovdqa XMMWORD PTR[112+r11],xmm8 + vmovdqa XMMWORD PTR[128+r11],xmm9 + vmovdqa XMMWORD PTR[144+r11],xmm10 + vmovdqa XMMWORD PTR[160+r11],xmm11 + vmovdqa XMMWORD PTR[176+r11],xmm12 + vmovdqa XMMWORD PTR[192+r11],xmm13 + vmovdqa XMMWORD PTR[208+r11],xmm14 + vmovdqa XMMWORD PTR[224+r11],xmm15 +$L$do_avx2_body:: + lea rcx,QWORD PTR[$L$const] + lea rdi,QWORD PTR[((48+64))+rdi] + vmovdqa ymm7,YMMWORD PTR[96+rcx] + + + vmovdqu xmm9,XMMWORD PTR[((-64))+rdi] and rsp,-512 - vmovdqu xmm10,XMMWORD PTR[((-48))+rdi] - vmovdqu xmm6,XMMWORD PTR[((-32))+rdi] - vmovdqu xmm11,XMMWORD PTR[((-16))+rdi] - vmovdqu xmm12,XMMWORD PTR[rdi] - vmovdqu xmm13,XMMWORD PTR[16+rdi] - lea rax,QWORD PTR[144+rsp] - vmovdqu xmm14,XMMWORD PTR[32+rdi] + vmovdqu xmm10,XMMWORD PTR[((-48))+rdi] + vmovdqu xmm6,XMMWORD PTR[((-32))+rdi] + vmovdqu xmm11,XMMWORD PTR[((-16))+rdi] + vmovdqu xmm12,XMMWORD PTR[rdi] + vmovdqu xmm13,XMMWORD PTR[16+rdi] + lea rax,QWORD PTR[144+rsp] + vmovdqu xmm14,XMMWORD PTR[32+rdi] vpermd ymm9,ymm7,ymm9 - vmovdqu xmm15,XMMWORD PTR[48+rdi] + vmovdqu xmm15,XMMWORD PTR[48+rdi] vpermd ymm10,ymm7,ymm10 - vmovdqu xmm5,XMMWORD PTR[64+rdi] + vmovdqu xmm5,XMMWORD PTR[64+rdi] vpermd ymm6,ymm7,ymm6 - vmovdqa YMMWORD PTR[rsp],ymm9 + vmovdqa YMMWORD PTR[rsp],ymm9 vpermd ymm11,ymm7,ymm11 - vmovdqa YMMWORD PTR[(32-144)+rax],ymm10 + vmovdqa YMMWORD PTR[(32-144)+rax],ymm10 vpermd ymm12,ymm7,ymm12 - vmovdqa YMMWORD PTR[(64-144)+rax],ymm6 + vmovdqa YMMWORD PTR[(64-144)+rax],ymm6 vpermd ymm13,ymm7,ymm13 - vmovdqa YMMWORD PTR[(96-144)+rax],ymm11 + vmovdqa YMMWORD PTR[(96-144)+rax],ymm11 vpermd ymm14,ymm7,ymm14 - vmovdqa YMMWORD PTR[(128-144)+rax],ymm12 + vmovdqa YMMWORD PTR[(128-144)+rax],ymm12 vpermd ymm15,ymm7,ymm15 - vmovdqa YMMWORD PTR[(160-144)+rax],ymm13 + vmovdqa YMMWORD PTR[(160-144)+rax],ymm13 vpermd ymm5,ymm7,ymm5 - vmovdqa YMMWORD PTR[(192-144)+rax],ymm14 - vmovdqa YMMWORD PTR[(224-144)+rax],ymm15 - vmovdqa YMMWORD PTR[(256-144)+rax],ymm5 - vmovdqa ymm5,YMMWORD PTR[64+rcx] + vmovdqa YMMWORD PTR[(192-144)+rax],ymm14 + vmovdqa YMMWORD PTR[(224-144)+rax],ymm15 + vmovdqa YMMWORD PTR[(256-144)+rax],ymm5 + vmovdqa ymm5,YMMWORD PTR[64+rcx] - vmovdqu xmm7,XMMWORD PTR[rsi] - vmovdqu xmm8,XMMWORD PTR[16+rsi] - vinserti128 ymm7,ymm7,XMMWORD PTR[32+rsi],1 - vinserti128 ymm8,ymm8,XMMWORD PTR[48+rsi],1 - lea rsi,QWORD PTR[64+rsi] + vmovdqu xmm7,XMMWORD PTR[rsi] + vmovdqu xmm8,XMMWORD PTR[16+rsi] + vinserti128 ymm7,ymm7,XMMWORD PTR[32+rsi],1 + vinserti128 ymm8,ymm8,XMMWORD PTR[48+rsi],1 + lea rsi,QWORD PTR[64+rsi] vpsrldq ymm9,ymm7,6 vpsrldq ymm10,ymm8,6 @@ -1708,15 +1708,15 @@ $L$do_avx2_body:: vpand ymm7,ymm7,ymm5 vpand ymm8,ymm8,ymm5 vpand ymm10,ymm10,ymm5 - vpor ymm6,ymm6,YMMWORD PTR[32+rcx] + vpor ymm6,ymm6,YMMWORD PTR[32+rcx] vpaddq ymm2,ymm9,ymm2 sub rdx,64 - jz $L$tail_avx2 - jmp $L$oop_avx2 + jz $L$tail_avx2 + jmp $L$oop_avx2 ALIGN 32 -$L$oop_avx2:: +$L$oop_avx2:: @@ -1726,14 +1726,14 @@ $L$oop_avx2:: vpaddq ymm0,ymm7,ymm0 - vmovdqa ymm7,YMMWORD PTR[rsp] + vmovdqa ymm7,YMMWORD PTR[rsp] vpaddq ymm1,ymm8,ymm1 - vmovdqa ymm8,YMMWORD PTR[32+rsp] + vmovdqa ymm8,YMMWORD PTR[32+rsp] vpaddq ymm3,ymm10,ymm3 - vmovdqa ymm9,YMMWORD PTR[96+rsp] + vmovdqa ymm9,YMMWORD PTR[96+rsp] vpaddq ymm4,ymm6,ymm4 - vmovdqa ymm10,YMMWORD PTR[48+rax] - vmovdqa ymm5,YMMWORD PTR[112+rax] + vmovdqa ymm10,YMMWORD PTR[48+rax] + vmovdqa ymm5,YMMWORD PTR[112+rax] @@ -1761,10 +1761,10 @@ $L$oop_avx2:: vpaddq ymm12,ymm12,ymm6 vpaddq ymm13,ymm13,ymm2 vpmuludq ymm6,ymm8,ymm3 - vpmuludq ymm2,ymm4,YMMWORD PTR[64+rsp] + vpmuludq ymm2,ymm4,YMMWORD PTR[64+rsp] vpaddq ymm15,ymm15,ymm6 vpaddq ymm11,ymm11,ymm2 - vmovdqa ymm8,YMMWORD PTR[((-16))+rax] + vmovdqa ymm8,YMMWORD PTR[((-16))+rax] vpmuludq ymm6,ymm7,ymm0 vpmuludq ymm2,ymm7,ymm1 @@ -1772,23 +1772,23 @@ $L$oop_avx2:: vpaddq ymm12,ymm12,ymm2 vpmuludq ymm6,ymm7,ymm3 vpmuludq ymm2,ymm7,ymm4 - vmovdqu xmm7,XMMWORD PTR[rsi] + vmovdqu xmm7,XMMWORD PTR[rsi] vpaddq ymm14,ymm14,ymm6 vpaddq ymm15,ymm15,ymm2 - vinserti128 ymm7,ymm7,XMMWORD PTR[32+rsi],1 + vinserti128 ymm7,ymm7,XMMWORD PTR[32+rsi],1 vpmuludq ymm6,ymm8,ymm3 vpmuludq ymm2,ymm8,ymm4 - vmovdqu xmm8,XMMWORD PTR[16+rsi] + vmovdqu xmm8,XMMWORD PTR[16+rsi] vpaddq ymm11,ymm11,ymm6 vpaddq ymm12,ymm12,ymm2 - vmovdqa ymm2,YMMWORD PTR[16+rax] + vmovdqa ymm2,YMMWORD PTR[16+rax] vpmuludq ymm6,ymm9,ymm1 vpmuludq ymm9,ymm9,ymm0 vpaddq ymm14,ymm14,ymm6 vpaddq ymm13,ymm13,ymm9 - vinserti128 ymm8,ymm8,XMMWORD PTR[48+rsi],1 - lea rsi,QWORD PTR[64+rsi] + vinserti128 ymm8,ymm8,XMMWORD PTR[48+rsi],1 + lea rsi,QWORD PTR[64+rsi] vpmuludq ymm6,ymm2,ymm1 vpmuludq ymm2,ymm2,ymm0 @@ -1808,9 +1808,9 @@ $L$oop_avx2:: vpaddq ymm2,ymm13,ymm3 vpaddq ymm3,ymm14,ymm4 vpunpcklqdq ymm10,ymm9,ymm10 - vpmuludq ymm4,ymm0,YMMWORD PTR[80+rax] + vpmuludq ymm4,ymm0,YMMWORD PTR[80+rax] vpmuludq ymm0,ymm5,ymm1 - vmovdqa ymm5,YMMWORD PTR[64+rcx] + vmovdqa ymm5,YMMWORD PTR[64+rcx] vpaddq ymm4,ymm15,ymm4 vpaddq ymm0,ymm11,ymm0 @@ -1861,13 +1861,13 @@ $L$oop_avx2:: vpand ymm7,ymm7,ymm5 vpand ymm8,ymm8,ymm5 vpand ymm10,ymm10,ymm5 - vpor ymm6,ymm6,YMMWORD PTR[32+rcx] + vpor ymm6,ymm6,YMMWORD PTR[32+rcx] sub rdx,64 - jnz $L$oop_avx2 + jnz $L$oop_avx2 -DB 066h,090h -$L$tail_avx2:: +DB 066h,090h +$L$tail_avx2:: @@ -1876,14 +1876,14 @@ $L$tail_avx2:: vpaddq ymm0,ymm7,ymm0 - vmovdqu ymm7,YMMWORD PTR[4+rsp] + vmovdqu ymm7,YMMWORD PTR[4+rsp] vpaddq ymm1,ymm8,ymm1 - vmovdqu ymm8,YMMWORD PTR[36+rsp] + vmovdqu ymm8,YMMWORD PTR[36+rsp] vpaddq ymm3,ymm10,ymm3 - vmovdqu ymm9,YMMWORD PTR[100+rsp] + vmovdqu ymm9,YMMWORD PTR[100+rsp] vpaddq ymm4,ymm6,ymm4 - vmovdqu ymm10,YMMWORD PTR[52+rax] - vmovdqu ymm5,YMMWORD PTR[116+rax] + vmovdqu ymm10,YMMWORD PTR[52+rax] + vmovdqu ymm5,YMMWORD PTR[116+rax] vpmuludq ymm13,ymm7,ymm2 vpmuludq ymm14,ymm8,ymm2 @@ -1896,14 +1896,14 @@ $L$tail_avx2:: vpaddq ymm12,ymm12,ymm6 vpaddq ymm13,ymm13,ymm2 vpmuludq ymm6,ymm8,ymm3 - vpmuludq ymm2,ymm4,YMMWORD PTR[68+rsp] + vpmuludq ymm2,ymm4,YMMWORD PTR[68+rsp] vpaddq ymm15,ymm15,ymm6 vpaddq ymm11,ymm11,ymm2 vpmuludq ymm6,ymm7,ymm0 vpmuludq ymm2,ymm7,ymm1 vpaddq ymm11,ymm11,ymm6 - vmovdqu ymm8,YMMWORD PTR[((-12))+rax] + vmovdqu ymm8,YMMWORD PTR[((-12))+rax] vpaddq ymm12,ymm12,ymm2 vpmuludq ymm6,ymm7,ymm3 vpmuludq ymm2,ymm7,ymm4 @@ -1914,7 +1914,7 @@ $L$tail_avx2:: vpmuludq ymm2,ymm8,ymm4 vpaddq ymm11,ymm11,ymm6 vpaddq ymm12,ymm12,ymm2 - vmovdqu ymm2,YMMWORD PTR[20+rax] + vmovdqu ymm2,YMMWORD PTR[20+rax] vpmuludq ymm6,ymm9,ymm1 vpmuludq ymm9,ymm9,ymm0 vpaddq ymm14,ymm14,ymm6 @@ -1933,9 +1933,9 @@ $L$tail_avx2:: vpmuludq ymm4,ymm5,ymm4 vpaddq ymm2,ymm13,ymm3 vpaddq ymm3,ymm14,ymm4 - vpmuludq ymm4,ymm0,YMMWORD PTR[84+rax] + vpmuludq ymm4,ymm0,YMMWORD PTR[84+rax] vpmuludq ymm0,ymm5,ymm1 - vmovdqa ymm5,YMMWORD PTR[64+rcx] + vmovdqa ymm5,YMMWORD PTR[64+rcx] vpaddq ymm4,ymm15,ymm4 vpaddq ymm0,ymm11,ymm0 @@ -1953,11 +1953,11 @@ $L$tail_avx2:: vpaddq ymm4,ymm4,ymm6 vpaddq ymm0,ymm0,ymm7 - vpermq ymm10,ymm3,02h - vpermq ymm6,ymm4,02h - vpermq ymm7,ymm0,02h - vpermq ymm8,ymm12,02h - vpermq ymm9,ymm2,02h + vpermq ymm10,ymm3,02h + vpermq ymm6,ymm4,02h + vpermq ymm7,ymm0,02h + vpermq ymm8,ymm12,02h + vpermq ymm9,ymm2,02h vpaddq ymm3,ymm3,ymm10 vpaddq ymm4,ymm4,ymm6 vpaddq ymm0,ymm0,ymm7 @@ -1998,171 +1998,171 @@ $L$tail_avx2:: vpand ymm3,ymm3,ymm5 vpaddq ymm4,ymm4,ymm14 - vmovd DWORD PTR[(-112)+rdi],xmm0 - vmovd DWORD PTR[(-108)+rdi],xmm1 - vmovd DWORD PTR[(-104)+rdi],xmm2 - vmovd DWORD PTR[(-100)+rdi],xmm3 - vmovd DWORD PTR[(-96)+rdi],xmm4 - vmovdqa xmm6,XMMWORD PTR[80+r11] - vmovdqa xmm7,XMMWORD PTR[96+r11] - vmovdqa xmm8,XMMWORD PTR[112+r11] - vmovdqa xmm9,XMMWORD PTR[128+r11] - vmovdqa xmm10,XMMWORD PTR[144+r11] - vmovdqa xmm11,XMMWORD PTR[160+r11] - vmovdqa xmm12,XMMWORD PTR[176+r11] - vmovdqa xmm13,XMMWORD PTR[192+r11] - vmovdqa xmm14,XMMWORD PTR[208+r11] - vmovdqa xmm15,XMMWORD PTR[224+r11] - lea rsp,QWORD PTR[248+r11] -$L$do_avx2_epilogue:: + vmovd DWORD PTR[(-112)+rdi],xmm0 + vmovd DWORD PTR[(-108)+rdi],xmm1 + vmovd DWORD PTR[(-104)+rdi],xmm2 + vmovd DWORD PTR[(-100)+rdi],xmm3 + vmovd DWORD PTR[(-96)+rdi],xmm4 + vmovdqa xmm6,XMMWORD PTR[80+r11] + vmovdqa xmm7,XMMWORD PTR[96+r11] + vmovdqa xmm8,XMMWORD PTR[112+r11] + vmovdqa xmm9,XMMWORD PTR[128+r11] + vmovdqa xmm10,XMMWORD PTR[144+r11] + vmovdqa xmm11,XMMWORD PTR[160+r11] + vmovdqa xmm12,XMMWORD PTR[176+r11] + vmovdqa xmm13,XMMWORD PTR[192+r11] + vmovdqa xmm14,XMMWORD PTR[208+r11] + vmovdqa xmm15,XMMWORD PTR[224+r11] + lea rsp,QWORD PTR[248+r11] +$L$do_avx2_epilogue:: vzeroupper - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_poly1305_blocks_avx2:: -poly1305_blocks_avx2 ENDP +$L$SEH_end_poly1305_blocks_avx2:: +poly1305_blocks_avx2 ENDP ALIGN 64 -$L$const:: -$L$mask24:: - DD 00ffffffh,0,00ffffffh,0,00ffffffh,0,00ffffffh,0 -$L$129:: +$L$const:: +$L$mask24:: + DD 00ffffffh,0,00ffffffh,0,00ffffffh,0,00ffffffh,0 +$L$129:: DD 16777216,0,16777216,0,16777216,0,16777216,0 -$L$mask26:: - DD 03ffffffh,0,03ffffffh,0,03ffffffh,0,03ffffffh,0 -$L$permd_avx2:: +$L$mask26:: + DD 03ffffffh,0,03ffffffh,0,03ffffffh,0,03ffffffh,0 +$L$permd_avx2:: DD 2,2,2,3,2,0,2,1 -$L$permd_avx512:: +$L$permd_avx512:: DD 0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7 -$L$2_44_inp_permd:: +$L$2_44_inp_permd:: DD 0,1,1,2,2,3,7,7 -$L$2_44_inp_shift:: +$L$2_44_inp_shift:: DQ 0,12,24,64 -$L$2_44_mask:: - DQ 0fffffffffffh,0fffffffffffh,03ffffffffffh,0ffffffffffffffffh -$L$2_44_shift_rgt:: +$L$2_44_mask:: + DQ 0fffffffffffh,0fffffffffffh,03ffffffffffh,0ffffffffffffffffh +$L$2_44_shift_rgt:: DQ 44,44,42,64 -$L$2_44_shift_lft:: +$L$2_44_shift_lft:: DQ 8,8,10,64 ALIGN 64 -$L$x_mask44:: - DQ 0fffffffffffh,0fffffffffffh,0fffffffffffh,0fffffffffffh - DQ 0fffffffffffh,0fffffffffffh,0fffffffffffh,0fffffffffffh -$L$x_mask42:: - DQ 03ffffffffffh,03ffffffffffh,03ffffffffffh,03ffffffffffh - DQ 03ffffffffffh,03ffffffffffh,03ffffffffffh,03ffffffffffh +$L$x_mask44:: + DQ 0fffffffffffh,0fffffffffffh,0fffffffffffh,0fffffffffffh + DQ 0fffffffffffh,0fffffffffffh,0fffffffffffh,0fffffffffffh +$L$x_mask42:: + DQ 03ffffffffffh,03ffffffffffh,03ffffffffffh,03ffffffffffh + DQ 03ffffffffffh,03ffffffffffh,03ffffffffffh,03ffffffffffh DB 80,111,108,121,49,51,48,53,32,102,111,114,32,120,56,54 DB 95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32 DB 98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115 DB 108,46,111,114,103,62,0 ALIGN 16 -PUBLIC xor128_encrypt_n_pad +PUBLIC xor128_encrypt_n_pad ALIGN 16 -xor128_encrypt_n_pad PROC PUBLIC - +xor128_encrypt_n_pad PROC PUBLIC + sub rdx,r8 sub rcx,r8 mov r10,r9 shr r9,4 - jz $L$tail_enc + jz $L$tail_enc nop -$L$oop_enc_xmm:: - movdqu xmm0,XMMWORD PTR[r8*1+rdx] - pxor xmm0,XMMWORD PTR[r8] - movdqu XMMWORD PTR[r8*1+rcx],xmm0 - movdqa XMMWORD PTR[r8],xmm0 - lea r8,QWORD PTR[16+r8] +$L$oop_enc_xmm:: + movdqu xmm0,XMMWORD PTR[r8*1+rdx] + pxor xmm0,XMMWORD PTR[r8] + movdqu XMMWORD PTR[r8*1+rcx],xmm0 + movdqa XMMWORD PTR[r8],xmm0 + lea r8,QWORD PTR[16+r8] dec r9 - jnz $L$oop_enc_xmm + jnz $L$oop_enc_xmm and r10,15 - jz $L$done_enc + jz $L$done_enc -$L$tail_enc:: +$L$tail_enc:: mov r9,16 sub r9,r10 xor eax,eax -$L$oop_enc_byte:: - mov al,BYTE PTR[r8*1+rdx] - xor al,BYTE PTR[r8] - mov BYTE PTR[r8*1+rcx],al - mov BYTE PTR[r8],al - lea r8,QWORD PTR[1+r8] +$L$oop_enc_byte:: + mov al,BYTE PTR[r8*1+rdx] + xor al,BYTE PTR[r8] + mov BYTE PTR[r8*1+rcx],al + mov BYTE PTR[r8],al + lea r8,QWORD PTR[1+r8] dec r10 - jnz $L$oop_enc_byte + jnz $L$oop_enc_byte xor eax,eax -$L$oop_enc_pad:: - mov BYTE PTR[r8],al - lea r8,QWORD PTR[1+r8] +$L$oop_enc_pad:: + mov BYTE PTR[r8],al + lea r8,QWORD PTR[1+r8] dec r9 - jnz $L$oop_enc_pad + jnz $L$oop_enc_pad -$L$done_enc:: +$L$done_enc:: mov rax,r8 DB 0F3h,0C3h ;repret -xor128_encrypt_n_pad ENDP +xor128_encrypt_n_pad ENDP -PUBLIC xor128_decrypt_n_pad +PUBLIC xor128_decrypt_n_pad ALIGN 16 -xor128_decrypt_n_pad PROC PUBLIC - +xor128_decrypt_n_pad PROC PUBLIC + sub rdx,r8 sub rcx,r8 mov r10,r9 shr r9,4 - jz $L$tail_dec + jz $L$tail_dec nop -$L$oop_dec_xmm:: - movdqu xmm0,XMMWORD PTR[r8*1+rdx] - movdqa xmm1,XMMWORD PTR[r8] +$L$oop_dec_xmm:: + movdqu xmm0,XMMWORD PTR[r8*1+rdx] + movdqa xmm1,XMMWORD PTR[r8] pxor xmm1,xmm0 - movdqu XMMWORD PTR[r8*1+rcx],xmm1 - movdqa XMMWORD PTR[r8],xmm0 - lea r8,QWORD PTR[16+r8] + movdqu XMMWORD PTR[r8*1+rcx],xmm1 + movdqa XMMWORD PTR[r8],xmm0 + lea r8,QWORD PTR[16+r8] dec r9 - jnz $L$oop_dec_xmm + jnz $L$oop_dec_xmm pxor xmm1,xmm1 and r10,15 - jz $L$done_dec + jz $L$done_dec -$L$tail_dec:: +$L$tail_dec:: mov r9,16 sub r9,r10 xor eax,eax xor r11,r11 -$L$oop_dec_byte:: - mov r11b,BYTE PTR[r8*1+rdx] - mov al,BYTE PTR[r8] +$L$oop_dec_byte:: + mov r11b,BYTE PTR[r8*1+rdx] + mov al,BYTE PTR[r8] xor al,r11b - mov BYTE PTR[r8*1+rcx],al - mov BYTE PTR[r8],r11b - lea r8,QWORD PTR[1+r8] + mov BYTE PTR[r8*1+rcx],al + mov BYTE PTR[r8],r11b + lea r8,QWORD PTR[1+r8] dec r10 - jnz $L$oop_dec_byte + jnz $L$oop_dec_byte xor eax,eax -$L$oop_dec_pad:: - mov BYTE PTR[r8],al - lea r8,QWORD PTR[1+r8] +$L$oop_dec_pad:: + mov BYTE PTR[r8],al + lea r8,QWORD PTR[1+r8] dec r9 - jnz $L$oop_dec_pad + jnz $L$oop_dec_pad -$L$done_dec:: +$L$done_dec:: mov rax,r8 DB 0F3h,0C3h ;repret -xor128_decrypt_n_pad ENDP -EXTERN __imp_RtlVirtualUnwind:NEAR +xor128_decrypt_n_pad ENDP +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -2174,45 +2174,45 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail + jae $L$common_seh_tail - lea rax,QWORD PTR[48+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 + 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 - jmp $L$common_seh_tail -se_handler ENDP + jmp $L$common_seh_tail +se_handler ENDP ALIGN 16 -avx_handler PROC PRIVATE +avx_handler PROC PRIVATE push rsi push rdi push rbx @@ -2224,57 +2224,57 @@ avx_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail + jae $L$common_seh_tail - mov rax,QWORD PTR[208+r8] + mov rax,QWORD PTR[208+r8] - lea rsi,QWORD PTR[80+rax] - lea rax,QWORD PTR[248+rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[80+rax] + lea rax,QWORD PTR[248+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch + DD 0a548f3fch -$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 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 - mov rdi,QWORD PTR[40+r9] + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -2288,98 +2288,98 @@ $L$common_seh_tail:: pop rdi pop rsi DB 0F3h,0C3h ;repret -avx_handler ENDP +avx_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_poly1305_init - DD imagerel $L$SEH_end_poly1305_init - DD imagerel $L$SEH_info_poly1305_init - - DD imagerel $L$SEH_begin_poly1305_blocks - DD imagerel $L$SEH_end_poly1305_blocks - DD imagerel $L$SEH_info_poly1305_blocks - - DD imagerel $L$SEH_begin_poly1305_emit - DD imagerel $L$SEH_end_poly1305_emit - DD imagerel $L$SEH_info_poly1305_emit - DD imagerel $L$SEH_begin_poly1305_blocks_avx - DD imagerel $L$base2_64_avx - DD imagerel $L$SEH_info_poly1305_blocks_avx_1 - - DD imagerel $L$base2_64_avx - DD imagerel $L$even_avx - DD imagerel $L$SEH_info_poly1305_blocks_avx_2 - - DD imagerel $L$even_avx - DD imagerel $L$SEH_end_poly1305_blocks_avx - DD imagerel $L$SEH_info_poly1305_blocks_avx_3 - - DD imagerel $L$SEH_begin_poly1305_emit_avx - DD imagerel $L$SEH_end_poly1305_emit_avx - DD imagerel $L$SEH_info_poly1305_emit_avx - DD imagerel $L$SEH_begin_poly1305_blocks_avx2 - DD imagerel $L$base2_64_avx2 - DD imagerel $L$SEH_info_poly1305_blocks_avx2_1 - - DD imagerel $L$base2_64_avx2 - DD imagerel $L$even_avx2 - DD imagerel $L$SEH_info_poly1305_blocks_avx2_2 - - DD imagerel $L$even_avx2 - DD imagerel $L$SEH_end_poly1305_blocks_avx2 - DD imagerel $L$SEH_info_poly1305_blocks_avx2_3 -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + DD imagerel $L$SEH_begin_poly1305_init + DD imagerel $L$SEH_end_poly1305_init + DD imagerel $L$SEH_info_poly1305_init + + DD imagerel $L$SEH_begin_poly1305_blocks + DD imagerel $L$SEH_end_poly1305_blocks + DD imagerel $L$SEH_info_poly1305_blocks + + DD imagerel $L$SEH_begin_poly1305_emit + DD imagerel $L$SEH_end_poly1305_emit + DD imagerel $L$SEH_info_poly1305_emit + DD imagerel $L$SEH_begin_poly1305_blocks_avx + DD imagerel $L$base2_64_avx + DD imagerel $L$SEH_info_poly1305_blocks_avx_1 + + DD imagerel $L$base2_64_avx + DD imagerel $L$even_avx + DD imagerel $L$SEH_info_poly1305_blocks_avx_2 + + DD imagerel $L$even_avx + DD imagerel $L$SEH_end_poly1305_blocks_avx + DD imagerel $L$SEH_info_poly1305_blocks_avx_3 + + DD imagerel $L$SEH_begin_poly1305_emit_avx + DD imagerel $L$SEH_end_poly1305_emit_avx + DD imagerel $L$SEH_info_poly1305_emit_avx + DD imagerel $L$SEH_begin_poly1305_blocks_avx2 + DD imagerel $L$base2_64_avx2 + DD imagerel $L$SEH_info_poly1305_blocks_avx2_1 + + DD imagerel $L$base2_64_avx2 + DD imagerel $L$even_avx2 + DD imagerel $L$SEH_info_poly1305_blocks_avx2_2 + + DD imagerel $L$even_avx2 + DD imagerel $L$SEH_end_poly1305_blocks_avx2 + DD imagerel $L$SEH_info_poly1305_blocks_avx2_3 +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_poly1305_init:: +$L$SEH_info_poly1305_init:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$SEH_begin_poly1305_init,imagerel $L$SEH_begin_poly1305_init + DD imagerel se_handler + DD imagerel $L$SEH_begin_poly1305_init,imagerel $L$SEH_begin_poly1305_init -$L$SEH_info_poly1305_blocks:: +$L$SEH_info_poly1305_blocks:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$blocks_body,imagerel $L$blocks_epilogue + DD imagerel se_handler + DD imagerel $L$blocks_body,imagerel $L$blocks_epilogue -$L$SEH_info_poly1305_emit:: +$L$SEH_info_poly1305_emit:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$SEH_begin_poly1305_emit,imagerel $L$SEH_begin_poly1305_emit -$L$SEH_info_poly1305_blocks_avx_1:: + DD imagerel se_handler + DD imagerel $L$SEH_begin_poly1305_emit,imagerel $L$SEH_begin_poly1305_emit +$L$SEH_info_poly1305_blocks_avx_1:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$blocks_avx_body,imagerel $L$blocks_avx_epilogue + DD imagerel se_handler + DD imagerel $L$blocks_avx_body,imagerel $L$blocks_avx_epilogue -$L$SEH_info_poly1305_blocks_avx_2:: +$L$SEH_info_poly1305_blocks_avx_2:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$base2_64_avx_body,imagerel $L$base2_64_avx_epilogue + DD imagerel se_handler + DD imagerel $L$base2_64_avx_body,imagerel $L$base2_64_avx_epilogue -$L$SEH_info_poly1305_blocks_avx_3:: +$L$SEH_info_poly1305_blocks_avx_3:: DB 9,0,0,0 - DD imagerel avx_handler - DD imagerel $L$do_avx_body,imagerel $L$do_avx_epilogue + DD imagerel avx_handler + DD imagerel $L$do_avx_body,imagerel $L$do_avx_epilogue -$L$SEH_info_poly1305_emit_avx:: +$L$SEH_info_poly1305_emit_avx:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$SEH_begin_poly1305_emit_avx,imagerel $L$SEH_begin_poly1305_emit_avx -$L$SEH_info_poly1305_blocks_avx2_1:: + DD imagerel se_handler + DD imagerel $L$SEH_begin_poly1305_emit_avx,imagerel $L$SEH_begin_poly1305_emit_avx +$L$SEH_info_poly1305_blocks_avx2_1:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$blocks_avx2_body,imagerel $L$blocks_avx2_epilogue + DD imagerel se_handler + DD imagerel $L$blocks_avx2_body,imagerel $L$blocks_avx2_epilogue -$L$SEH_info_poly1305_blocks_avx2_2:: +$L$SEH_info_poly1305_blocks_avx2_2:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$base2_64_avx2_body,imagerel $L$base2_64_avx2_epilogue + DD imagerel se_handler + DD imagerel $L$base2_64_avx2_body,imagerel $L$base2_64_avx2_epilogue -$L$SEH_info_poly1305_blocks_avx2_3:: +$L$SEH_info_poly1305_blocks_avx2_3:: DB 9,0,0,0 - DD imagerel avx_handler - DD imagerel $L$do_avx2_body,imagerel $L$do_avx2_epilogue - -.xdata ENDS -END + DD imagerel avx_handler + DD imagerel $L$do_avx2_body,imagerel $L$do_avx2_epilogue + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/rc4/rc4-md5-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/rc4/rc4-md5-x86_64.masm index a735d7e6e5..7e8c869ce0 100644 --- a/contrib/libs/openssl/asm/windows/crypto/rc4/rc4-md5-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/rc4/rc4-md5-x86_64.masm @@ -1,25 +1,25 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' ALIGN 16 -PUBLIC rc4_md5_enc +PUBLIC rc4_md5_enc -rc4_md5_enc PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +rc4_md5_enc PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_rc4_md5_enc:: +$L$SEH_begin_rc4_md5_enc:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - mov r8,QWORD PTR[40+rsp] - mov r9,QWORD PTR[48+rsp] + mov r8,QWORD PTR[40+rsp] + mov r9,QWORD PTR[48+rsp] cmp r9,0 - je $L$abort + je $L$abort push rbx push rbp @@ -34,7 +34,7 @@ $L$SEH_begin_rc4_md5_enc:: sub rsp,40 -$L$body:: +$L$body:: mov r11,rcx mov r12,r9 mov r13,rsi @@ -43,1194 +43,1194 @@ $L$body:: xor rbp,rbp xor rcx,rcx - lea rdi,QWORD PTR[8+rdi] - mov bpl,BYTE PTR[((-8))+rdi] - mov cl,BYTE PTR[((-4))+rdi] + lea rdi,QWORD PTR[8+rdi] + mov bpl,BYTE PTR[((-8))+rdi] + mov cl,BYTE PTR[((-4))+rdi] inc bpl sub r14,r13 - mov eax,DWORD PTR[rbp*4+rdi] + mov eax,DWORD PTR[rbp*4+rdi] add cl,al - lea rsi,QWORD PTR[rbp*4+rdi] + lea rsi,QWORD PTR[rbp*4+rdi] shl r12,6 add r12,r15 - mov QWORD PTR[16+rsp],r12 + mov QWORD PTR[16+rsp],r12 - mov QWORD PTR[24+rsp],r11 - mov r8d,DWORD PTR[r11] - mov r9d,DWORD PTR[4+r11] - mov r10d,DWORD PTR[8+r11] - mov r11d,DWORD PTR[12+r11] - jmp $L$oop + mov QWORD PTR[24+rsp],r11 + mov r8d,DWORD PTR[r11] + mov r9d,DWORD PTR[4+r11] + mov r10d,DWORD PTR[8+r11] + mov r11d,DWORD PTR[12+r11] + jmp $L$oop ALIGN 16 -$L$oop:: - mov DWORD PTR[rsp],r8d - mov DWORD PTR[4+rsp],r9d - mov DWORD PTR[8+rsp],r10d +$L$oop:: + mov DWORD PTR[rsp],r8d + mov DWORD PTR[4+rsp],r9d + mov DWORD PTR[8+rsp],r10d mov r12d,r11d - mov DWORD PTR[12+rsp],r11d + mov DWORD PTR[12+rsp],r11d pxor xmm0,xmm0 - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r9d - add r8d,DWORD PTR[r15] + add r8d,DWORD PTR[r15] add al,dl - mov ebx,DWORD PTR[4+rsi] + mov ebx,DWORD PTR[4+rsi] add r8d,3614090360 xor r12d,r11d movzx eax,al - mov DWORD PTR[rsi],edx + mov DWORD PTR[rsi],edx add r8d,r12d add cl,bl rol r8d,7 mov r12d,r10d - movd xmm0,DWORD PTR[rax*4+rdi] + movd xmm0,DWORD PTR[rax*4+rdi] add r8d,r9d pxor xmm1,xmm1 - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r8d - add r11d,DWORD PTR[4+r15] + add r11d,DWORD PTR[4+r15] add bl,dl - mov eax,DWORD PTR[8+rsi] + mov eax,DWORD PTR[8+rsi] add r11d,3905402710 xor r12d,r10d movzx ebx,bl - mov DWORD PTR[4+rsi],edx + mov DWORD PTR[4+rsi],edx add r11d,r12d add cl,al rol r11d,12 mov r12d,r9d - movd xmm1,DWORD PTR[rbx*4+rdi] + movd xmm1,DWORD PTR[rbx*4+rdi] add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r11d - add r10d,DWORD PTR[8+r15] + add r10d,DWORD PTR[8+r15] add al,dl - mov ebx,DWORD PTR[12+rsi] + mov ebx,DWORD PTR[12+rsi] add r10d,606105819 xor r12d,r9d movzx eax,al - mov DWORD PTR[8+rsi],edx + mov DWORD PTR[8+rsi],edx add r10d,r12d add cl,bl rol r10d,17 mov r12d,r8d - pinsrw xmm0,WORD PTR[rax*4+rdi],1 + pinsrw xmm0,WORD PTR[rax*4+rdi],1 add r10d,r11d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r10d - add r9d,DWORD PTR[12+r15] + add r9d,DWORD PTR[12+r15] add bl,dl - mov eax,DWORD PTR[16+rsi] + mov eax,DWORD PTR[16+rsi] add r9d,3250441966 xor r12d,r8d movzx ebx,bl - mov DWORD PTR[12+rsi],edx + mov DWORD PTR[12+rsi],edx add r9d,r12d add cl,al rol r9d,22 mov r12d,r11d - pinsrw xmm1,WORD PTR[rbx*4+rdi],1 + pinsrw xmm1,WORD PTR[rbx*4+rdi],1 add r9d,r10d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r9d - add r8d,DWORD PTR[16+r15] + add r8d,DWORD PTR[16+r15] add al,dl - mov ebx,DWORD PTR[20+rsi] + mov ebx,DWORD PTR[20+rsi] add r8d,4118548399 xor r12d,r11d movzx eax,al - mov DWORD PTR[16+rsi],edx + mov DWORD PTR[16+rsi],edx add r8d,r12d add cl,bl rol r8d,7 mov r12d,r10d - pinsrw xmm0,WORD PTR[rax*4+rdi],2 + pinsrw xmm0,WORD PTR[rax*4+rdi],2 add r8d,r9d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r8d - add r11d,DWORD PTR[20+r15] + add r11d,DWORD PTR[20+r15] add bl,dl - mov eax,DWORD PTR[24+rsi] + mov eax,DWORD PTR[24+rsi] add r11d,1200080426 xor r12d,r10d movzx ebx,bl - mov DWORD PTR[20+rsi],edx + mov DWORD PTR[20+rsi],edx add r11d,r12d add cl,al rol r11d,12 mov r12d,r9d - pinsrw xmm1,WORD PTR[rbx*4+rdi],2 + pinsrw xmm1,WORD PTR[rbx*4+rdi],2 add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r11d - add r10d,DWORD PTR[24+r15] + add r10d,DWORD PTR[24+r15] add al,dl - mov ebx,DWORD PTR[28+rsi] + mov ebx,DWORD PTR[28+rsi] add r10d,2821735955 xor r12d,r9d movzx eax,al - mov DWORD PTR[24+rsi],edx + mov DWORD PTR[24+rsi],edx add r10d,r12d add cl,bl rol r10d,17 mov r12d,r8d - pinsrw xmm0,WORD PTR[rax*4+rdi],3 + pinsrw xmm0,WORD PTR[rax*4+rdi],3 add r10d,r11d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r10d - add r9d,DWORD PTR[28+r15] + add r9d,DWORD PTR[28+r15] add bl,dl - mov eax,DWORD PTR[32+rsi] + mov eax,DWORD PTR[32+rsi] add r9d,4249261313 xor r12d,r8d movzx ebx,bl - mov DWORD PTR[28+rsi],edx + mov DWORD PTR[28+rsi],edx add r9d,r12d add cl,al rol r9d,22 mov r12d,r11d - pinsrw xmm1,WORD PTR[rbx*4+rdi],3 + pinsrw xmm1,WORD PTR[rbx*4+rdi],3 add r9d,r10d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r9d - add r8d,DWORD PTR[32+r15] + add r8d,DWORD PTR[32+r15] add al,dl - mov ebx,DWORD PTR[36+rsi] + mov ebx,DWORD PTR[36+rsi] add r8d,1770035416 xor r12d,r11d movzx eax,al - mov DWORD PTR[32+rsi],edx + mov DWORD PTR[32+rsi],edx add r8d,r12d add cl,bl rol r8d,7 mov r12d,r10d - pinsrw xmm0,WORD PTR[rax*4+rdi],4 + pinsrw xmm0,WORD PTR[rax*4+rdi],4 add r8d,r9d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r8d - add r11d,DWORD PTR[36+r15] + add r11d,DWORD PTR[36+r15] add bl,dl - mov eax,DWORD PTR[40+rsi] + mov eax,DWORD PTR[40+rsi] add r11d,2336552879 xor r12d,r10d movzx ebx,bl - mov DWORD PTR[36+rsi],edx + mov DWORD PTR[36+rsi],edx add r11d,r12d add cl,al rol r11d,12 mov r12d,r9d - pinsrw xmm1,WORD PTR[rbx*4+rdi],4 + pinsrw xmm1,WORD PTR[rbx*4+rdi],4 add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r11d - add r10d,DWORD PTR[40+r15] + add r10d,DWORD PTR[40+r15] add al,dl - mov ebx,DWORD PTR[44+rsi] + mov ebx,DWORD PTR[44+rsi] add r10d,4294925233 xor r12d,r9d movzx eax,al - mov DWORD PTR[40+rsi],edx + mov DWORD PTR[40+rsi],edx add r10d,r12d add cl,bl rol r10d,17 mov r12d,r8d - pinsrw xmm0,WORD PTR[rax*4+rdi],5 + pinsrw xmm0,WORD PTR[rax*4+rdi],5 add r10d,r11d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r10d - add r9d,DWORD PTR[44+r15] + add r9d,DWORD PTR[44+r15] add bl,dl - mov eax,DWORD PTR[48+rsi] + mov eax,DWORD PTR[48+rsi] add r9d,2304563134 xor r12d,r8d movzx ebx,bl - mov DWORD PTR[44+rsi],edx + mov DWORD PTR[44+rsi],edx add r9d,r12d add cl,al rol r9d,22 mov r12d,r11d - pinsrw xmm1,WORD PTR[rbx*4+rdi],5 + pinsrw xmm1,WORD PTR[rbx*4+rdi],5 add r9d,r10d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r9d - add r8d,DWORD PTR[48+r15] + add r8d,DWORD PTR[48+r15] add al,dl - mov ebx,DWORD PTR[52+rsi] + mov ebx,DWORD PTR[52+rsi] add r8d,1804603682 xor r12d,r11d movzx eax,al - mov DWORD PTR[48+rsi],edx + mov DWORD PTR[48+rsi],edx add r8d,r12d add cl,bl rol r8d,7 mov r12d,r10d - pinsrw xmm0,WORD PTR[rax*4+rdi],6 + pinsrw xmm0,WORD PTR[rax*4+rdi],6 add r8d,r9d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r8d - add r11d,DWORD PTR[52+r15] + add r11d,DWORD PTR[52+r15] add bl,dl - mov eax,DWORD PTR[56+rsi] + mov eax,DWORD PTR[56+rsi] add r11d,4254626195 xor r12d,r10d movzx ebx,bl - mov DWORD PTR[52+rsi],edx + mov DWORD PTR[52+rsi],edx add r11d,r12d add cl,al rol r11d,12 mov r12d,r9d - pinsrw xmm1,WORD PTR[rbx*4+rdi],6 + pinsrw xmm1,WORD PTR[rbx*4+rdi],6 add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r11d - add r10d,DWORD PTR[56+r15] + add r10d,DWORD PTR[56+r15] add al,dl - mov ebx,DWORD PTR[60+rsi] + mov ebx,DWORD PTR[60+rsi] add r10d,2792965006 xor r12d,r9d movzx eax,al - mov DWORD PTR[56+rsi],edx + mov DWORD PTR[56+rsi],edx add r10d,r12d add cl,bl rol r10d,17 mov r12d,r8d - pinsrw xmm0,WORD PTR[rax*4+rdi],7 + pinsrw xmm0,WORD PTR[rax*4+rdi],7 add r10d,r11d - movdqu xmm2,XMMWORD PTR[r13] - mov edx,DWORD PTR[rcx*4+rdi] + movdqu xmm2,XMMWORD PTR[r13] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r10d - add r9d,DWORD PTR[60+r15] + add r9d,DWORD PTR[60+r15] add bl,dl - mov eax,DWORD PTR[64+rsi] + mov eax,DWORD PTR[64+rsi] add r9d,1236535329 xor r12d,r8d movzx ebx,bl - mov DWORD PTR[60+rsi],edx + mov DWORD PTR[60+rsi],edx add r9d,r12d add cl,al rol r9d,22 mov r12d,r10d - pinsrw xmm1,WORD PTR[rbx*4+rdi],7 + pinsrw xmm1,WORD PTR[rbx*4+rdi],7 add r9d,r10d psllq xmm1,8 pxor xmm2,xmm0 pxor xmm2,xmm1 pxor xmm0,xmm0 - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r11d - add r8d,DWORD PTR[4+r15] + add r8d,DWORD PTR[4+r15] add al,dl - mov ebx,DWORD PTR[68+rsi] + mov ebx,DWORD PTR[68+rsi] add r8d,4129170786 xor r12d,r10d movzx eax,al - mov DWORD PTR[64+rsi],edx + mov DWORD PTR[64+rsi],edx add r8d,r12d add cl,bl rol r8d,5 mov r12d,r9d - movd xmm0,DWORD PTR[rax*4+rdi] + movd xmm0,DWORD PTR[rax*4+rdi] add r8d,r9d pxor xmm1,xmm1 - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r10d - add r11d,DWORD PTR[24+r15] + add r11d,DWORD PTR[24+r15] add bl,dl - mov eax,DWORD PTR[72+rsi] + mov eax,DWORD PTR[72+rsi] add r11d,3225465664 xor r12d,r9d movzx ebx,bl - mov DWORD PTR[68+rsi],edx + mov DWORD PTR[68+rsi],edx add r11d,r12d add cl,al rol r11d,9 mov r12d,r8d - movd xmm1,DWORD PTR[rbx*4+rdi] + movd xmm1,DWORD PTR[rbx*4+rdi] add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r9d - add r10d,DWORD PTR[44+r15] + add r10d,DWORD PTR[44+r15] add al,dl - mov ebx,DWORD PTR[76+rsi] + mov ebx,DWORD PTR[76+rsi] add r10d,643717713 xor r12d,r8d movzx eax,al - mov DWORD PTR[72+rsi],edx + mov DWORD PTR[72+rsi],edx add r10d,r12d add cl,bl rol r10d,14 mov r12d,r11d - pinsrw xmm0,WORD PTR[rax*4+rdi],1 + pinsrw xmm0,WORD PTR[rax*4+rdi],1 add r10d,r11d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r8d - add r9d,DWORD PTR[r15] + add r9d,DWORD PTR[r15] add bl,dl - mov eax,DWORD PTR[80+rsi] + mov eax,DWORD PTR[80+rsi] add r9d,3921069994 xor r12d,r11d movzx ebx,bl - mov DWORD PTR[76+rsi],edx + mov DWORD PTR[76+rsi],edx add r9d,r12d add cl,al rol r9d,20 mov r12d,r10d - pinsrw xmm1,WORD PTR[rbx*4+rdi],1 + pinsrw xmm1,WORD PTR[rbx*4+rdi],1 add r9d,r10d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r11d - add r8d,DWORD PTR[20+r15] + add r8d,DWORD PTR[20+r15] add al,dl - mov ebx,DWORD PTR[84+rsi] + mov ebx,DWORD PTR[84+rsi] add r8d,3593408605 xor r12d,r10d movzx eax,al - mov DWORD PTR[80+rsi],edx + mov DWORD PTR[80+rsi],edx add r8d,r12d add cl,bl rol r8d,5 mov r12d,r9d - pinsrw xmm0,WORD PTR[rax*4+rdi],2 + pinsrw xmm0,WORD PTR[rax*4+rdi],2 add r8d,r9d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r10d - add r11d,DWORD PTR[40+r15] + add r11d,DWORD PTR[40+r15] add bl,dl - mov eax,DWORD PTR[88+rsi] + mov eax,DWORD PTR[88+rsi] add r11d,38016083 xor r12d,r9d movzx ebx,bl - mov DWORD PTR[84+rsi],edx + mov DWORD PTR[84+rsi],edx add r11d,r12d add cl,al rol r11d,9 mov r12d,r8d - pinsrw xmm1,WORD PTR[rbx*4+rdi],2 + pinsrw xmm1,WORD PTR[rbx*4+rdi],2 add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r9d - add r10d,DWORD PTR[60+r15] + add r10d,DWORD PTR[60+r15] add al,dl - mov ebx,DWORD PTR[92+rsi] + mov ebx,DWORD PTR[92+rsi] add r10d,3634488961 xor r12d,r8d movzx eax,al - mov DWORD PTR[88+rsi],edx + mov DWORD PTR[88+rsi],edx add r10d,r12d add cl,bl rol r10d,14 mov r12d,r11d - pinsrw xmm0,WORD PTR[rax*4+rdi],3 + pinsrw xmm0,WORD PTR[rax*4+rdi],3 add r10d,r11d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r8d - add r9d,DWORD PTR[16+r15] + add r9d,DWORD PTR[16+r15] add bl,dl - mov eax,DWORD PTR[96+rsi] + mov eax,DWORD PTR[96+rsi] add r9d,3889429448 xor r12d,r11d movzx ebx,bl - mov DWORD PTR[92+rsi],edx + mov DWORD PTR[92+rsi],edx add r9d,r12d add cl,al rol r9d,20 mov r12d,r10d - pinsrw xmm1,WORD PTR[rbx*4+rdi],3 + pinsrw xmm1,WORD PTR[rbx*4+rdi],3 add r9d,r10d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r11d - add r8d,DWORD PTR[36+r15] + add r8d,DWORD PTR[36+r15] add al,dl - mov ebx,DWORD PTR[100+rsi] + mov ebx,DWORD PTR[100+rsi] add r8d,568446438 xor r12d,r10d movzx eax,al - mov DWORD PTR[96+rsi],edx + mov DWORD PTR[96+rsi],edx add r8d,r12d add cl,bl rol r8d,5 mov r12d,r9d - pinsrw xmm0,WORD PTR[rax*4+rdi],4 + pinsrw xmm0,WORD PTR[rax*4+rdi],4 add r8d,r9d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r10d - add r11d,DWORD PTR[56+r15] + add r11d,DWORD PTR[56+r15] add bl,dl - mov eax,DWORD PTR[104+rsi] + mov eax,DWORD PTR[104+rsi] add r11d,3275163606 xor r12d,r9d movzx ebx,bl - mov DWORD PTR[100+rsi],edx + mov DWORD PTR[100+rsi],edx add r11d,r12d add cl,al rol r11d,9 mov r12d,r8d - pinsrw xmm1,WORD PTR[rbx*4+rdi],4 + pinsrw xmm1,WORD PTR[rbx*4+rdi],4 add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r9d - add r10d,DWORD PTR[12+r15] + add r10d,DWORD PTR[12+r15] add al,dl - mov ebx,DWORD PTR[108+rsi] + mov ebx,DWORD PTR[108+rsi] add r10d,4107603335 xor r12d,r8d movzx eax,al - mov DWORD PTR[104+rsi],edx + mov DWORD PTR[104+rsi],edx add r10d,r12d add cl,bl rol r10d,14 mov r12d,r11d - pinsrw xmm0,WORD PTR[rax*4+rdi],5 + pinsrw xmm0,WORD PTR[rax*4+rdi],5 add r10d,r11d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r8d - add r9d,DWORD PTR[32+r15] + add r9d,DWORD PTR[32+r15] add bl,dl - mov eax,DWORD PTR[112+rsi] + mov eax,DWORD PTR[112+rsi] add r9d,1163531501 xor r12d,r11d movzx ebx,bl - mov DWORD PTR[108+rsi],edx + mov DWORD PTR[108+rsi],edx add r9d,r12d add cl,al rol r9d,20 mov r12d,r10d - pinsrw xmm1,WORD PTR[rbx*4+rdi],5 + pinsrw xmm1,WORD PTR[rbx*4+rdi],5 add r9d,r10d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r11d - add r8d,DWORD PTR[52+r15] + add r8d,DWORD PTR[52+r15] add al,dl - mov ebx,DWORD PTR[116+rsi] + mov ebx,DWORD PTR[116+rsi] add r8d,2850285829 xor r12d,r10d movzx eax,al - mov DWORD PTR[112+rsi],edx + mov DWORD PTR[112+rsi],edx add r8d,r12d add cl,bl rol r8d,5 mov r12d,r9d - pinsrw xmm0,WORD PTR[rax*4+rdi],6 + pinsrw xmm0,WORD PTR[rax*4+rdi],6 add r8d,r9d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r10d - add r11d,DWORD PTR[8+r15] + add r11d,DWORD PTR[8+r15] add bl,dl - mov eax,DWORD PTR[120+rsi] + mov eax,DWORD PTR[120+rsi] add r11d,4243563512 xor r12d,r9d movzx ebx,bl - mov DWORD PTR[116+rsi],edx + mov DWORD PTR[116+rsi],edx add r11d,r12d add cl,al rol r11d,9 mov r12d,r8d - pinsrw xmm1,WORD PTR[rbx*4+rdi],6 + pinsrw xmm1,WORD PTR[rbx*4+rdi],6 add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax and r12d,r9d - add r10d,DWORD PTR[28+r15] + add r10d,DWORD PTR[28+r15] add al,dl - mov ebx,DWORD PTR[124+rsi] + mov ebx,DWORD PTR[124+rsi] add r10d,1735328473 xor r12d,r8d movzx eax,al - mov DWORD PTR[120+rsi],edx + mov DWORD PTR[120+rsi],edx add r10d,r12d add cl,bl rol r10d,14 mov r12d,r11d - pinsrw xmm0,WORD PTR[rax*4+rdi],7 + pinsrw xmm0,WORD PTR[rax*4+rdi],7 add r10d,r11d - movdqu xmm3,XMMWORD PTR[16+r13] + movdqu xmm3,XMMWORD PTR[16+r13] add bpl,32 - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx and r12d,r8d - add r9d,DWORD PTR[48+r15] + add r9d,DWORD PTR[48+r15] add bl,dl - mov eax,DWORD PTR[rbp*4+rdi] + mov eax,DWORD PTR[rbp*4+rdi] add r9d,2368359562 xor r12d,r11d movzx ebx,bl - mov DWORD PTR[124+rsi],edx + mov DWORD PTR[124+rsi],edx add r9d,r12d add cl,al rol r9d,20 mov r12d,r11d - pinsrw xmm1,WORD PTR[rbx*4+rdi],7 + pinsrw xmm1,WORD PTR[rbx*4+rdi],7 add r9d,r10d mov rsi,rcx xor rcx,rcx mov cl,sil - lea rsi,QWORD PTR[rbp*4+rdi] + lea rsi,QWORD PTR[rbp*4+rdi] psllq xmm1,8 pxor xmm3,xmm0 pxor xmm3,xmm1 pxor xmm0,xmm0 - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax xor r12d,r9d - add r8d,DWORD PTR[20+r15] + add r8d,DWORD PTR[20+r15] add al,dl - mov ebx,DWORD PTR[4+rsi] + mov ebx,DWORD PTR[4+rsi] add r8d,4294588738 movzx eax,al add r8d,r12d - mov DWORD PTR[rsi],edx + mov DWORD PTR[rsi],edx add cl,bl rol r8d,4 mov r12d,r10d - movd xmm0,DWORD PTR[rax*4+rdi] + movd xmm0,DWORD PTR[rax*4+rdi] add r8d,r9d pxor xmm1,xmm1 - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx xor r12d,r8d - add r11d,DWORD PTR[32+r15] + add r11d,DWORD PTR[32+r15] add bl,dl - mov eax,DWORD PTR[8+rsi] + mov eax,DWORD PTR[8+rsi] add r11d,2272392833 movzx ebx,bl add r11d,r12d - mov DWORD PTR[4+rsi],edx + mov DWORD PTR[4+rsi],edx add cl,al rol r11d,11 mov r12d,r9d - movd xmm1,DWORD PTR[rbx*4+rdi] + movd xmm1,DWORD PTR[rbx*4+rdi] add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax xor r12d,r11d - add r10d,DWORD PTR[44+r15] + add r10d,DWORD PTR[44+r15] add al,dl - mov ebx,DWORD PTR[12+rsi] + mov ebx,DWORD PTR[12+rsi] add r10d,1839030562 movzx eax,al add r10d,r12d - mov DWORD PTR[8+rsi],edx + mov DWORD PTR[8+rsi],edx add cl,bl rol r10d,16 mov r12d,r8d - pinsrw xmm0,WORD PTR[rax*4+rdi],1 + pinsrw xmm0,WORD PTR[rax*4+rdi],1 add r10d,r11d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx xor r12d,r10d - add r9d,DWORD PTR[56+r15] + add r9d,DWORD PTR[56+r15] add bl,dl - mov eax,DWORD PTR[16+rsi] + mov eax,DWORD PTR[16+rsi] add r9d,4259657740 movzx ebx,bl add r9d,r12d - mov DWORD PTR[12+rsi],edx + mov DWORD PTR[12+rsi],edx add cl,al rol r9d,23 mov r12d,r11d - pinsrw xmm1,WORD PTR[rbx*4+rdi],1 + pinsrw xmm1,WORD PTR[rbx*4+rdi],1 add r9d,r10d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax xor r12d,r9d - add r8d,DWORD PTR[4+r15] + add r8d,DWORD PTR[4+r15] add al,dl - mov ebx,DWORD PTR[20+rsi] + mov ebx,DWORD PTR[20+rsi] add r8d,2763975236 movzx eax,al add r8d,r12d - mov DWORD PTR[16+rsi],edx + mov DWORD PTR[16+rsi],edx add cl,bl rol r8d,4 mov r12d,r10d - pinsrw xmm0,WORD PTR[rax*4+rdi],2 + pinsrw xmm0,WORD PTR[rax*4+rdi],2 add r8d,r9d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx xor r12d,r8d - add r11d,DWORD PTR[16+r15] + add r11d,DWORD PTR[16+r15] add bl,dl - mov eax,DWORD PTR[24+rsi] + mov eax,DWORD PTR[24+rsi] add r11d,1272893353 movzx ebx,bl add r11d,r12d - mov DWORD PTR[20+rsi],edx + mov DWORD PTR[20+rsi],edx add cl,al rol r11d,11 mov r12d,r9d - pinsrw xmm1,WORD PTR[rbx*4+rdi],2 + pinsrw xmm1,WORD PTR[rbx*4+rdi],2 add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax xor r12d,r11d - add r10d,DWORD PTR[28+r15] + add r10d,DWORD PTR[28+r15] add al,dl - mov ebx,DWORD PTR[28+rsi] + mov ebx,DWORD PTR[28+rsi] add r10d,4139469664 movzx eax,al add r10d,r12d - mov DWORD PTR[24+rsi],edx + mov DWORD PTR[24+rsi],edx add cl,bl rol r10d,16 mov r12d,r8d - pinsrw xmm0,WORD PTR[rax*4+rdi],3 + pinsrw xmm0,WORD PTR[rax*4+rdi],3 add r10d,r11d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx xor r12d,r10d - add r9d,DWORD PTR[40+r15] + add r9d,DWORD PTR[40+r15] add bl,dl - mov eax,DWORD PTR[32+rsi] + mov eax,DWORD PTR[32+rsi] add r9d,3200236656 movzx ebx,bl add r9d,r12d - mov DWORD PTR[28+rsi],edx + mov DWORD PTR[28+rsi],edx add cl,al rol r9d,23 mov r12d,r11d - pinsrw xmm1,WORD PTR[rbx*4+rdi],3 + pinsrw xmm1,WORD PTR[rbx*4+rdi],3 add r9d,r10d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax xor r12d,r9d - add r8d,DWORD PTR[52+r15] + add r8d,DWORD PTR[52+r15] add al,dl - mov ebx,DWORD PTR[36+rsi] + mov ebx,DWORD PTR[36+rsi] add r8d,681279174 movzx eax,al add r8d,r12d - mov DWORD PTR[32+rsi],edx + mov DWORD PTR[32+rsi],edx add cl,bl rol r8d,4 mov r12d,r10d - pinsrw xmm0,WORD PTR[rax*4+rdi],4 + pinsrw xmm0,WORD PTR[rax*4+rdi],4 add r8d,r9d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx xor r12d,r8d - add r11d,DWORD PTR[r15] + add r11d,DWORD PTR[r15] add bl,dl - mov eax,DWORD PTR[40+rsi] + mov eax,DWORD PTR[40+rsi] add r11d,3936430074 movzx ebx,bl add r11d,r12d - mov DWORD PTR[36+rsi],edx + mov DWORD PTR[36+rsi],edx add cl,al rol r11d,11 mov r12d,r9d - pinsrw xmm1,WORD PTR[rbx*4+rdi],4 + pinsrw xmm1,WORD PTR[rbx*4+rdi],4 add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax xor r12d,r11d - add r10d,DWORD PTR[12+r15] + add r10d,DWORD PTR[12+r15] add al,dl - mov ebx,DWORD PTR[44+rsi] + mov ebx,DWORD PTR[44+rsi] add r10d,3572445317 movzx eax,al add r10d,r12d - mov DWORD PTR[40+rsi],edx + mov DWORD PTR[40+rsi],edx add cl,bl rol r10d,16 mov r12d,r8d - pinsrw xmm0,WORD PTR[rax*4+rdi],5 + pinsrw xmm0,WORD PTR[rax*4+rdi],5 add r10d,r11d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx xor r12d,r10d - add r9d,DWORD PTR[24+r15] + add r9d,DWORD PTR[24+r15] add bl,dl - mov eax,DWORD PTR[48+rsi] + mov eax,DWORD PTR[48+rsi] add r9d,76029189 movzx ebx,bl add r9d,r12d - mov DWORD PTR[44+rsi],edx + mov DWORD PTR[44+rsi],edx add cl,al rol r9d,23 mov r12d,r11d - pinsrw xmm1,WORD PTR[rbx*4+rdi],5 + pinsrw xmm1,WORD PTR[rbx*4+rdi],5 add r9d,r10d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax xor r12d,r9d - add r8d,DWORD PTR[36+r15] + add r8d,DWORD PTR[36+r15] add al,dl - mov ebx,DWORD PTR[52+rsi] + mov ebx,DWORD PTR[52+rsi] add r8d,3654602809 movzx eax,al add r8d,r12d - mov DWORD PTR[48+rsi],edx + mov DWORD PTR[48+rsi],edx add cl,bl rol r8d,4 mov r12d,r10d - pinsrw xmm0,WORD PTR[rax*4+rdi],6 + pinsrw xmm0,WORD PTR[rax*4+rdi],6 add r8d,r9d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx xor r12d,r8d - add r11d,DWORD PTR[48+r15] + add r11d,DWORD PTR[48+r15] add bl,dl - mov eax,DWORD PTR[56+rsi] + mov eax,DWORD PTR[56+rsi] add r11d,3873151461 movzx ebx,bl add r11d,r12d - mov DWORD PTR[52+rsi],edx + mov DWORD PTR[52+rsi],edx add cl,al rol r11d,11 mov r12d,r9d - pinsrw xmm1,WORD PTR[rbx*4+rdi],6 + pinsrw xmm1,WORD PTR[rbx*4+rdi],6 add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax xor r12d,r11d - add r10d,DWORD PTR[60+r15] + add r10d,DWORD PTR[60+r15] add al,dl - mov ebx,DWORD PTR[60+rsi] + mov ebx,DWORD PTR[60+rsi] add r10d,530742520 movzx eax,al add r10d,r12d - mov DWORD PTR[56+rsi],edx + mov DWORD PTR[56+rsi],edx add cl,bl rol r10d,16 mov r12d,r8d - pinsrw xmm0,WORD PTR[rax*4+rdi],7 + pinsrw xmm0,WORD PTR[rax*4+rdi],7 add r10d,r11d - movdqu xmm4,XMMWORD PTR[32+r13] - mov edx,DWORD PTR[rcx*4+rdi] + movdqu xmm4,XMMWORD PTR[32+r13] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx xor r12d,r10d - add r9d,DWORD PTR[8+r15] + add r9d,DWORD PTR[8+r15] add bl,dl - mov eax,DWORD PTR[64+rsi] + mov eax,DWORD PTR[64+rsi] add r9d,3299628645 movzx ebx,bl add r9d,r12d - mov DWORD PTR[60+rsi],edx + mov DWORD PTR[60+rsi],edx add cl,al rol r9d,23 mov r12d,-1 - pinsrw xmm1,WORD PTR[rbx*4+rdi],7 + pinsrw xmm1,WORD PTR[rbx*4+rdi],7 add r9d,r10d psllq xmm1,8 pxor xmm4,xmm0 pxor xmm4,xmm1 pxor xmm0,xmm0 - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax or r12d,r9d - add r8d,DWORD PTR[r15] + add r8d,DWORD PTR[r15] add al,dl - mov ebx,DWORD PTR[68+rsi] + mov ebx,DWORD PTR[68+rsi] add r8d,4096336452 movzx eax,al xor r12d,r10d - mov DWORD PTR[64+rsi],edx + mov DWORD PTR[64+rsi],edx add r8d,r12d add cl,bl rol r8d,6 mov r12d,-1 - movd xmm0,DWORD PTR[rax*4+rdi] + movd xmm0,DWORD PTR[rax*4+rdi] add r8d,r9d pxor xmm1,xmm1 - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx or r12d,r8d - add r11d,DWORD PTR[28+r15] + add r11d,DWORD PTR[28+r15] add bl,dl - mov eax,DWORD PTR[72+rsi] + mov eax,DWORD PTR[72+rsi] add r11d,1126891415 movzx ebx,bl xor r12d,r9d - mov DWORD PTR[68+rsi],edx + mov DWORD PTR[68+rsi],edx add r11d,r12d add cl,al rol r11d,10 mov r12d,-1 - movd xmm1,DWORD PTR[rbx*4+rdi] + movd xmm1,DWORD PTR[rbx*4+rdi] add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax or r12d,r11d - add r10d,DWORD PTR[56+r15] + add r10d,DWORD PTR[56+r15] add al,dl - mov ebx,DWORD PTR[76+rsi] + mov ebx,DWORD PTR[76+rsi] add r10d,2878612391 movzx eax,al xor r12d,r8d - mov DWORD PTR[72+rsi],edx + mov DWORD PTR[72+rsi],edx add r10d,r12d add cl,bl rol r10d,15 mov r12d,-1 - pinsrw xmm0,WORD PTR[rax*4+rdi],1 + pinsrw xmm0,WORD PTR[rax*4+rdi],1 add r10d,r11d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx or r12d,r10d - add r9d,DWORD PTR[20+r15] + add r9d,DWORD PTR[20+r15] add bl,dl - mov eax,DWORD PTR[80+rsi] + mov eax,DWORD PTR[80+rsi] add r9d,4237533241 movzx ebx,bl xor r12d,r11d - mov DWORD PTR[76+rsi],edx + mov DWORD PTR[76+rsi],edx add r9d,r12d add cl,al rol r9d,21 mov r12d,-1 - pinsrw xmm1,WORD PTR[rbx*4+rdi],1 + pinsrw xmm1,WORD PTR[rbx*4+rdi],1 add r9d,r10d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax or r12d,r9d - add r8d,DWORD PTR[48+r15] + add r8d,DWORD PTR[48+r15] add al,dl - mov ebx,DWORD PTR[84+rsi] + mov ebx,DWORD PTR[84+rsi] add r8d,1700485571 movzx eax,al xor r12d,r10d - mov DWORD PTR[80+rsi],edx + mov DWORD PTR[80+rsi],edx add r8d,r12d add cl,bl rol r8d,6 mov r12d,-1 - pinsrw xmm0,WORD PTR[rax*4+rdi],2 + pinsrw xmm0,WORD PTR[rax*4+rdi],2 add r8d,r9d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx or r12d,r8d - add r11d,DWORD PTR[12+r15] + add r11d,DWORD PTR[12+r15] add bl,dl - mov eax,DWORD PTR[88+rsi] + mov eax,DWORD PTR[88+rsi] add r11d,2399980690 movzx ebx,bl xor r12d,r9d - mov DWORD PTR[84+rsi],edx + mov DWORD PTR[84+rsi],edx add r11d,r12d add cl,al rol r11d,10 mov r12d,-1 - pinsrw xmm1,WORD PTR[rbx*4+rdi],2 + pinsrw xmm1,WORD PTR[rbx*4+rdi],2 add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax or r12d,r11d - add r10d,DWORD PTR[40+r15] + add r10d,DWORD PTR[40+r15] add al,dl - mov ebx,DWORD PTR[92+rsi] + mov ebx,DWORD PTR[92+rsi] add r10d,4293915773 movzx eax,al xor r12d,r8d - mov DWORD PTR[88+rsi],edx + mov DWORD PTR[88+rsi],edx add r10d,r12d add cl,bl rol r10d,15 mov r12d,-1 - pinsrw xmm0,WORD PTR[rax*4+rdi],3 + pinsrw xmm0,WORD PTR[rax*4+rdi],3 add r10d,r11d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx or r12d,r10d - add r9d,DWORD PTR[4+r15] + add r9d,DWORD PTR[4+r15] add bl,dl - mov eax,DWORD PTR[96+rsi] + mov eax,DWORD PTR[96+rsi] add r9d,2240044497 movzx ebx,bl xor r12d,r11d - mov DWORD PTR[92+rsi],edx + mov DWORD PTR[92+rsi],edx add r9d,r12d add cl,al rol r9d,21 mov r12d,-1 - pinsrw xmm1,WORD PTR[rbx*4+rdi],3 + pinsrw xmm1,WORD PTR[rbx*4+rdi],3 add r9d,r10d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax or r12d,r9d - add r8d,DWORD PTR[32+r15] + add r8d,DWORD PTR[32+r15] add al,dl - mov ebx,DWORD PTR[100+rsi] + mov ebx,DWORD PTR[100+rsi] add r8d,1873313359 movzx eax,al xor r12d,r10d - mov DWORD PTR[96+rsi],edx + mov DWORD PTR[96+rsi],edx add r8d,r12d add cl,bl rol r8d,6 mov r12d,-1 - pinsrw xmm0,WORD PTR[rax*4+rdi],4 + pinsrw xmm0,WORD PTR[rax*4+rdi],4 add r8d,r9d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx or r12d,r8d - add r11d,DWORD PTR[60+r15] + add r11d,DWORD PTR[60+r15] add bl,dl - mov eax,DWORD PTR[104+rsi] + mov eax,DWORD PTR[104+rsi] add r11d,4264355552 movzx ebx,bl xor r12d,r9d - mov DWORD PTR[100+rsi],edx + mov DWORD PTR[100+rsi],edx add r11d,r12d add cl,al rol r11d,10 mov r12d,-1 - pinsrw xmm1,WORD PTR[rbx*4+rdi],4 + pinsrw xmm1,WORD PTR[rbx*4+rdi],4 add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax or r12d,r11d - add r10d,DWORD PTR[24+r15] + add r10d,DWORD PTR[24+r15] add al,dl - mov ebx,DWORD PTR[108+rsi] + mov ebx,DWORD PTR[108+rsi] add r10d,2734768916 movzx eax,al xor r12d,r8d - mov DWORD PTR[104+rsi],edx + mov DWORD PTR[104+rsi],edx add r10d,r12d add cl,bl rol r10d,15 mov r12d,-1 - pinsrw xmm0,WORD PTR[rax*4+rdi],5 + pinsrw xmm0,WORD PTR[rax*4+rdi],5 add r10d,r11d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx or r12d,r10d - add r9d,DWORD PTR[52+r15] + add r9d,DWORD PTR[52+r15] add bl,dl - mov eax,DWORD PTR[112+rsi] + mov eax,DWORD PTR[112+rsi] add r9d,1309151649 movzx ebx,bl xor r12d,r11d - mov DWORD PTR[108+rsi],edx + mov DWORD PTR[108+rsi],edx add r9d,r12d add cl,al rol r9d,21 mov r12d,-1 - pinsrw xmm1,WORD PTR[rbx*4+rdi],5 + pinsrw xmm1,WORD PTR[rbx*4+rdi],5 add r9d,r10d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r11d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax or r12d,r9d - add r8d,DWORD PTR[16+r15] + add r8d,DWORD PTR[16+r15] add al,dl - mov ebx,DWORD PTR[116+rsi] + mov ebx,DWORD PTR[116+rsi] add r8d,4149444226 movzx eax,al xor r12d,r10d - mov DWORD PTR[112+rsi],edx + mov DWORD PTR[112+rsi],edx add r8d,r12d add cl,bl rol r8d,6 mov r12d,-1 - pinsrw xmm0,WORD PTR[rax*4+rdi],6 + pinsrw xmm0,WORD PTR[rax*4+rdi],6 add r8d,r9d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r10d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx or r12d,r8d - add r11d,DWORD PTR[44+r15] + add r11d,DWORD PTR[44+r15] add bl,dl - mov eax,DWORD PTR[120+rsi] + mov eax,DWORD PTR[120+rsi] add r11d,3174756917 movzx ebx,bl xor r12d,r9d - mov DWORD PTR[116+rsi],edx + mov DWORD PTR[116+rsi],edx add r11d,r12d add cl,al rol r11d,10 mov r12d,-1 - pinsrw xmm1,WORD PTR[rbx*4+rdi],6 + pinsrw xmm1,WORD PTR[rbx*4+rdi],6 add r11d,r8d - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r9d - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax or r12d,r11d - add r10d,DWORD PTR[8+r15] + add r10d,DWORD PTR[8+r15] add al,dl - mov ebx,DWORD PTR[124+rsi] + mov ebx,DWORD PTR[124+rsi] add r10d,718787259 movzx eax,al xor r12d,r8d - mov DWORD PTR[120+rsi],edx + mov DWORD PTR[120+rsi],edx add r10d,r12d add cl,bl rol r10d,15 mov r12d,-1 - pinsrw xmm0,WORD PTR[rax*4+rdi],7 + pinsrw xmm0,WORD PTR[rax*4+rdi],7 add r10d,r11d - movdqu xmm5,XMMWORD PTR[48+r13] + movdqu xmm5,XMMWORD PTR[48+r13] add bpl,32 - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] xor r12d,r8d - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx or r12d,r10d - add r9d,DWORD PTR[36+r15] + add r9d,DWORD PTR[36+r15] add bl,dl - mov eax,DWORD PTR[rbp*4+rdi] + mov eax,DWORD PTR[rbp*4+rdi] add r9d,3951481745 movzx ebx,bl xor r12d,r11d - mov DWORD PTR[124+rsi],edx + mov DWORD PTR[124+rsi],edx add r9d,r12d add cl,al rol r9d,21 mov r12d,-1 - pinsrw xmm1,WORD PTR[rbx*4+rdi],7 + pinsrw xmm1,WORD PTR[rbx*4+rdi],7 add r9d,r10d mov rsi,rbp @@ -1239,60 +1239,60 @@ $L$oop:: mov rsi,rcx xor rcx,rcx mov cl,sil - lea rsi,QWORD PTR[rbp*4+rdi] + lea rsi,QWORD PTR[rbp*4+rdi] psllq xmm1,8 pxor xmm5,xmm0 pxor xmm5,xmm1 - add r8d,DWORD PTR[rsp] - add r9d,DWORD PTR[4+rsp] - add r10d,DWORD PTR[8+rsp] - add r11d,DWORD PTR[12+rsp] - - movdqu XMMWORD PTR[r13*1+r14],xmm2 - movdqu XMMWORD PTR[16+r13*1+r14],xmm3 - movdqu XMMWORD PTR[32+r13*1+r14],xmm4 - movdqu XMMWORD PTR[48+r13*1+r14],xmm5 - lea r15,QWORD PTR[64+r15] - lea r13,QWORD PTR[64+r13] - cmp r15,QWORD PTR[16+rsp] - jb $L$oop - - mov r12,QWORD PTR[24+rsp] + add r8d,DWORD PTR[rsp] + add r9d,DWORD PTR[4+rsp] + add r10d,DWORD PTR[8+rsp] + add r11d,DWORD PTR[12+rsp] + + movdqu XMMWORD PTR[r13*1+r14],xmm2 + movdqu XMMWORD PTR[16+r13*1+r14],xmm3 + movdqu XMMWORD PTR[32+r13*1+r14],xmm4 + movdqu XMMWORD PTR[48+r13*1+r14],xmm5 + lea r15,QWORD PTR[64+r15] + lea r13,QWORD PTR[64+r13] + cmp r15,QWORD PTR[16+rsp] + jb $L$oop + + mov r12,QWORD PTR[24+rsp] sub cl,al - mov DWORD PTR[r12],r8d - mov DWORD PTR[4+r12],r9d - mov DWORD PTR[8+r12],r10d - mov DWORD PTR[12+r12],r11d + mov DWORD PTR[r12],r8d + mov DWORD PTR[4+r12],r9d + mov DWORD PTR[8+r12],r10d + mov DWORD PTR[12+r12],r11d sub bpl,1 - mov DWORD PTR[((-8))+rdi],ebp - mov DWORD PTR[((-4))+rdi],ecx + mov DWORD PTR[((-8))+rdi],ebp + mov DWORD PTR[((-4))+rdi],ecx - mov r15,QWORD PTR[40+rsp] + mov r15,QWORD PTR[40+rsp] - mov r14,QWORD PTR[48+rsp] + mov r14,QWORD PTR[48+rsp] - mov r13,QWORD PTR[56+rsp] + mov r13,QWORD PTR[56+rsp] - mov r12,QWORD PTR[64+rsp] + mov r12,QWORD PTR[64+rsp] - mov rbp,QWORD PTR[72+rsp] + mov rbp,QWORD PTR[72+rsp] - mov rbx,QWORD PTR[80+rsp] + mov rbx,QWORD PTR[80+rsp] - lea rsp,QWORD PTR[88+rsp] + lea rsp,QWORD PTR[88+rsp] -$L$epilogue:: -$L$abort:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue:: +$L$abort:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_rc4_md5_enc:: -rc4_md5_enc ENDP -EXTERN __imp_RtlVirtualUnwind:NEAR +$L$SEH_end_rc4_md5_enc:: +rc4_md5_enc ENDP +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -1304,59 +1304,59 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - lea r10,QWORD PTR[$L$body] + lea r10,QWORD PTR[$L$body] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - lea r10,QWORD PTR[$L$epilogue] + lea r10,QWORD PTR[$L$epilogue] cmp rbx,r10 - jae $L$in_prologue - - mov r15,QWORD PTR[40+rax] - mov r14,QWORD PTR[48+rax] - mov r13,QWORD PTR[56+rax] - mov r12,QWORD PTR[64+rax] - mov rbp,QWORD PTR[72+rax] - mov rbx,QWORD PTR[80+rax] - lea rax,QWORD PTR[88+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 - -$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 - - mov rdi,QWORD PTR[40+r9] + jae $L$in_prologue + + mov r15,QWORD PTR[40+rax] + mov r14,QWORD PTR[48+rax] + mov r13,QWORD PTR[56+rax] + mov r12,QWORD PTR[64+rax] + mov rbp,QWORD PTR[72+rax] + mov rbx,QWORD PTR[80+rax] + lea rax,QWORD PTR[88+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 + +$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 + + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -1370,21 +1370,21 @@ $L$in_prologue:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP +se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_rc4_md5_enc - DD imagerel $L$SEH_end_rc4_md5_enc - DD imagerel $L$SEH_info_rc4_md5_enc + DD imagerel $L$SEH_begin_rc4_md5_enc + DD imagerel $L$SEH_end_rc4_md5_enc + DD imagerel $L$SEH_info_rc4_md5_enc -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_rc4_md5_enc:: +$L$SEH_info_rc4_md5_enc:: DB 9,0,0,0 - DD imagerel se_handler - -.xdata ENDS -END + DD imagerel se_handler + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/rc4/rc4-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/rc4/rc4-x86_64.masm index b380fda44c..1fb9f3677b 100644 --- a/contrib/libs/openssl/asm/windows/crypto/rc4/rc4-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/rc4/rc4-x86_64.masm @@ -1,564 +1,564 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' +EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC RC4 +PUBLIC RC4 ALIGN 16 -RC4 PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +RC4 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_RC4:: +$L$SEH_begin_RC4:: mov rdi,rcx mov rsi,rdx mov rdx,r8 mov rcx,r9 - - + + or rsi,rsi - jne $L$entry - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + jne $L$entry + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$entry:: +$L$entry:: push rbx push r12 push r13 -$L$prologue:: +$L$prologue:: mov r11,rsi mov r12,rdx mov r13,rcx xor r10,r10 xor rcx,rcx - lea rdi,QWORD PTR[8+rdi] - mov r10b,BYTE PTR[((-8))+rdi] - mov cl,BYTE PTR[((-4))+rdi] - cmp DWORD PTR[256+rdi],-1 - je $L$RC4_CHAR - mov r8d,DWORD PTR[OPENSSL_ia32cap_P] + lea rdi,QWORD PTR[8+rdi] + mov r10b,BYTE PTR[((-8))+rdi] + mov cl,BYTE PTR[((-4))+rdi] + cmp DWORD PTR[256+rdi],-1 + je $L$RC4_CHAR + mov r8d,DWORD PTR[OPENSSL_ia32cap_P] xor rbx,rbx inc r10b sub rbx,r10 sub r13,r12 - mov eax,DWORD PTR[r10*4+rdi] + mov eax,DWORD PTR[r10*4+rdi] test r11,-16 - jz $L$loop1 + jz $L$loop1 bt r8d,30 - jc $L$intel + jc $L$intel and rbx,7 - lea rsi,QWORD PTR[1+r10] - jz $L$oop8 + lea rsi,QWORD PTR[1+r10] + jz $L$oop8 sub r11,rbx -$L$oop8_warmup:: +$L$oop8_warmup:: add cl,al - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],eax - mov DWORD PTR[r10*4+rdi],edx + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[r10*4+rdi],edx add al,dl inc r10b - mov edx,DWORD PTR[rax*4+rdi] - mov eax,DWORD PTR[r10*4+rdi] - xor dl,BYTE PTR[r12] - mov BYTE PTR[r13*1+r12],dl - lea r12,QWORD PTR[1+r12] + mov edx,DWORD PTR[rax*4+rdi] + mov eax,DWORD PTR[r10*4+rdi] + xor dl,BYTE PTR[r12] + mov BYTE PTR[r13*1+r12],dl + lea r12,QWORD PTR[1+r12] dec rbx - jnz $L$oop8_warmup + jnz $L$oop8_warmup - lea rsi,QWORD PTR[1+r10] - jmp $L$oop8 + lea rsi,QWORD PTR[1+r10] + jmp $L$oop8 ALIGN 16 -$L$oop8:: +$L$oop8:: add cl,al - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],eax - mov ebx,DWORD PTR[rsi*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],eax + mov ebx,DWORD PTR[rsi*4+rdi] ror r8,8 - mov DWORD PTR[r10*4+rdi],edx + mov DWORD PTR[r10*4+rdi],edx add dl,al - mov r8b,BYTE PTR[rdx*4+rdi] + mov r8b,BYTE PTR[rdx*4+rdi] add cl,bl - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],ebx - mov eax,DWORD PTR[4+rsi*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],ebx + mov eax,DWORD PTR[4+rsi*4+rdi] ror r8,8 - mov DWORD PTR[4+r10*4+rdi],edx + mov DWORD PTR[4+r10*4+rdi],edx add dl,bl - mov r8b,BYTE PTR[rdx*4+rdi] + mov r8b,BYTE PTR[rdx*4+rdi] add cl,al - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],eax - mov ebx,DWORD PTR[8+rsi*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],eax + mov ebx,DWORD PTR[8+rsi*4+rdi] ror r8,8 - mov DWORD PTR[8+r10*4+rdi],edx + mov DWORD PTR[8+r10*4+rdi],edx add dl,al - mov r8b,BYTE PTR[rdx*4+rdi] + mov r8b,BYTE PTR[rdx*4+rdi] add cl,bl - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],ebx - mov eax,DWORD PTR[12+rsi*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],ebx + mov eax,DWORD PTR[12+rsi*4+rdi] ror r8,8 - mov DWORD PTR[12+r10*4+rdi],edx + mov DWORD PTR[12+r10*4+rdi],edx add dl,bl - mov r8b,BYTE PTR[rdx*4+rdi] + mov r8b,BYTE PTR[rdx*4+rdi] add cl,al - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],eax - mov ebx,DWORD PTR[16+rsi*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],eax + mov ebx,DWORD PTR[16+rsi*4+rdi] ror r8,8 - mov DWORD PTR[16+r10*4+rdi],edx + mov DWORD PTR[16+r10*4+rdi],edx add dl,al - mov r8b,BYTE PTR[rdx*4+rdi] + mov r8b,BYTE PTR[rdx*4+rdi] add cl,bl - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],ebx - mov eax,DWORD PTR[20+rsi*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],ebx + mov eax,DWORD PTR[20+rsi*4+rdi] ror r8,8 - mov DWORD PTR[20+r10*4+rdi],edx + mov DWORD PTR[20+r10*4+rdi],edx add dl,bl - mov r8b,BYTE PTR[rdx*4+rdi] + mov r8b,BYTE PTR[rdx*4+rdi] add cl,al - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],eax - mov ebx,DWORD PTR[24+rsi*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],eax + mov ebx,DWORD PTR[24+rsi*4+rdi] ror r8,8 - mov DWORD PTR[24+r10*4+rdi],edx + mov DWORD PTR[24+r10*4+rdi],edx add dl,al - mov r8b,BYTE PTR[rdx*4+rdi] + mov r8b,BYTE PTR[rdx*4+rdi] add sil,8 add cl,bl - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],ebx - mov eax,DWORD PTR[((-4))+rsi*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],ebx + mov eax,DWORD PTR[((-4))+rsi*4+rdi] ror r8,8 - mov DWORD PTR[28+r10*4+rdi],edx + mov DWORD PTR[28+r10*4+rdi],edx add dl,bl - mov r8b,BYTE PTR[rdx*4+rdi] + mov r8b,BYTE PTR[rdx*4+rdi] add r10b,8 ror r8,8 sub r11,8 - xor r8,QWORD PTR[r12] - mov QWORD PTR[r13*1+r12],r8 - lea r12,QWORD PTR[8+r12] + xor r8,QWORD PTR[r12] + mov QWORD PTR[r13*1+r12],r8 + lea r12,QWORD PTR[8+r12] test r11,-8 - jnz $L$oop8 + jnz $L$oop8 cmp r11,0 - jne $L$loop1 - jmp $L$exit + jne $L$loop1 + jmp $L$exit ALIGN 16 -$L$intel:: +$L$intel:: test r11,-32 - jz $L$loop1 + jz $L$loop1 and rbx,15 - jz $L$oop16_is_hot + jz $L$oop16_is_hot sub r11,rbx -$L$oop16_warmup:: +$L$oop16_warmup:: add cl,al - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],eax - mov DWORD PTR[r10*4+rdi],edx + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[r10*4+rdi],edx add al,dl inc r10b - mov edx,DWORD PTR[rax*4+rdi] - mov eax,DWORD PTR[r10*4+rdi] - xor dl,BYTE PTR[r12] - mov BYTE PTR[r13*1+r12],dl - lea r12,QWORD PTR[1+r12] + mov edx,DWORD PTR[rax*4+rdi] + mov eax,DWORD PTR[r10*4+rdi] + xor dl,BYTE PTR[r12] + mov BYTE PTR[r13*1+r12],dl + lea r12,QWORD PTR[1+r12] dec rbx - jnz $L$oop16_warmup + jnz $L$oop16_warmup mov rbx,rcx xor rcx,rcx mov cl,bl -$L$oop16_is_hot:: - lea rsi,QWORD PTR[r10*4+rdi] +$L$oop16_is_hot:: + lea rsi,QWORD PTR[r10*4+rdi] add cl,al - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] pxor xmm0,xmm0 - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax add al,dl - mov ebx,DWORD PTR[4+rsi] + mov ebx,DWORD PTR[4+rsi] movzx eax,al - mov DWORD PTR[rsi],edx + mov DWORD PTR[rsi],edx add cl,bl - pinsrw xmm0,WORD PTR[rax*4+rdi],0 - jmp $L$oop16_enter + pinsrw xmm0,WORD PTR[rax*4+rdi],0 + jmp $L$oop16_enter ALIGN 16 -$L$oop16:: +$L$oop16:: add cl,al - mov edx,DWORD PTR[rcx*4+rdi] + mov edx,DWORD PTR[rcx*4+rdi] pxor xmm2,xmm0 psllq xmm1,8 pxor xmm0,xmm0 - mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[rcx*4+rdi],eax add al,dl - mov ebx,DWORD PTR[4+rsi] + mov ebx,DWORD PTR[4+rsi] movzx eax,al - mov DWORD PTR[rsi],edx + mov DWORD PTR[rsi],edx pxor xmm2,xmm1 add cl,bl - pinsrw xmm0,WORD PTR[rax*4+rdi],0 - movdqu XMMWORD PTR[r13*1+r12],xmm2 - lea r12,QWORD PTR[16+r12] -$L$oop16_enter:: - mov edx,DWORD PTR[rcx*4+rdi] + pinsrw xmm0,WORD PTR[rax*4+rdi],0 + movdqu XMMWORD PTR[r13*1+r12],xmm2 + lea r12,QWORD PTR[16+r12] +$L$oop16_enter:: + mov edx,DWORD PTR[rcx*4+rdi] pxor xmm1,xmm1 - mov DWORD PTR[rcx*4+rdi],ebx + mov DWORD PTR[rcx*4+rdi],ebx add bl,dl - mov eax,DWORD PTR[8+rsi] + mov eax,DWORD PTR[8+rsi] movzx ebx,bl - mov DWORD PTR[4+rsi],edx + mov DWORD PTR[4+rsi],edx add cl,al - pinsrw xmm1,WORD PTR[rbx*4+rdi],0 - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],eax + pinsrw xmm1,WORD PTR[rbx*4+rdi],0 + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],eax add al,dl - mov ebx,DWORD PTR[12+rsi] + mov ebx,DWORD PTR[12+rsi] movzx eax,al - mov DWORD PTR[8+rsi],edx + mov DWORD PTR[8+rsi],edx add cl,bl - pinsrw xmm0,WORD PTR[rax*4+rdi],1 - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],ebx + pinsrw xmm0,WORD PTR[rax*4+rdi],1 + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],ebx add bl,dl - mov eax,DWORD PTR[16+rsi] + mov eax,DWORD PTR[16+rsi] movzx ebx,bl - mov DWORD PTR[12+rsi],edx + mov DWORD PTR[12+rsi],edx add cl,al - pinsrw xmm1,WORD PTR[rbx*4+rdi],1 - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],eax + pinsrw xmm1,WORD PTR[rbx*4+rdi],1 + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],eax add al,dl - mov ebx,DWORD PTR[20+rsi] + mov ebx,DWORD PTR[20+rsi] movzx eax,al - mov DWORD PTR[16+rsi],edx + mov DWORD PTR[16+rsi],edx add cl,bl - pinsrw xmm0,WORD PTR[rax*4+rdi],2 - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],ebx + pinsrw xmm0,WORD PTR[rax*4+rdi],2 + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],ebx add bl,dl - mov eax,DWORD PTR[24+rsi] + mov eax,DWORD PTR[24+rsi] movzx ebx,bl - mov DWORD PTR[20+rsi],edx + mov DWORD PTR[20+rsi],edx add cl,al - pinsrw xmm1,WORD PTR[rbx*4+rdi],2 - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],eax + pinsrw xmm1,WORD PTR[rbx*4+rdi],2 + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],eax add al,dl - mov ebx,DWORD PTR[28+rsi] + mov ebx,DWORD PTR[28+rsi] movzx eax,al - mov DWORD PTR[24+rsi],edx + mov DWORD PTR[24+rsi],edx add cl,bl - pinsrw xmm0,WORD PTR[rax*4+rdi],3 - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],ebx + pinsrw xmm0,WORD PTR[rax*4+rdi],3 + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],ebx add bl,dl - mov eax,DWORD PTR[32+rsi] + mov eax,DWORD PTR[32+rsi] movzx ebx,bl - mov DWORD PTR[28+rsi],edx + mov DWORD PTR[28+rsi],edx add cl,al - pinsrw xmm1,WORD PTR[rbx*4+rdi],3 - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],eax + pinsrw xmm1,WORD PTR[rbx*4+rdi],3 + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],eax add al,dl - mov ebx,DWORD PTR[36+rsi] + mov ebx,DWORD PTR[36+rsi] movzx eax,al - mov DWORD PTR[32+rsi],edx + mov DWORD PTR[32+rsi],edx add cl,bl - pinsrw xmm0,WORD PTR[rax*4+rdi],4 - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],ebx + pinsrw xmm0,WORD PTR[rax*4+rdi],4 + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],ebx add bl,dl - mov eax,DWORD PTR[40+rsi] + mov eax,DWORD PTR[40+rsi] movzx ebx,bl - mov DWORD PTR[36+rsi],edx + mov DWORD PTR[36+rsi],edx add cl,al - pinsrw xmm1,WORD PTR[rbx*4+rdi],4 - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],eax + pinsrw xmm1,WORD PTR[rbx*4+rdi],4 + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],eax add al,dl - mov ebx,DWORD PTR[44+rsi] + mov ebx,DWORD PTR[44+rsi] movzx eax,al - mov DWORD PTR[40+rsi],edx + mov DWORD PTR[40+rsi],edx add cl,bl - pinsrw xmm0,WORD PTR[rax*4+rdi],5 - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],ebx + pinsrw xmm0,WORD PTR[rax*4+rdi],5 + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],ebx add bl,dl - mov eax,DWORD PTR[48+rsi] + mov eax,DWORD PTR[48+rsi] movzx ebx,bl - mov DWORD PTR[44+rsi],edx + mov DWORD PTR[44+rsi],edx add cl,al - pinsrw xmm1,WORD PTR[rbx*4+rdi],5 - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],eax + pinsrw xmm1,WORD PTR[rbx*4+rdi],5 + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],eax add al,dl - mov ebx,DWORD PTR[52+rsi] + mov ebx,DWORD PTR[52+rsi] movzx eax,al - mov DWORD PTR[48+rsi],edx + mov DWORD PTR[48+rsi],edx add cl,bl - pinsrw xmm0,WORD PTR[rax*4+rdi],6 - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],ebx + pinsrw xmm0,WORD PTR[rax*4+rdi],6 + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],ebx add bl,dl - mov eax,DWORD PTR[56+rsi] + mov eax,DWORD PTR[56+rsi] movzx ebx,bl - mov DWORD PTR[52+rsi],edx + mov DWORD PTR[52+rsi],edx add cl,al - pinsrw xmm1,WORD PTR[rbx*4+rdi],6 - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],eax + pinsrw xmm1,WORD PTR[rbx*4+rdi],6 + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],eax add al,dl - mov ebx,DWORD PTR[60+rsi] + mov ebx,DWORD PTR[60+rsi] movzx eax,al - mov DWORD PTR[56+rsi],edx + mov DWORD PTR[56+rsi],edx add cl,bl - pinsrw xmm0,WORD PTR[rax*4+rdi],7 + pinsrw xmm0,WORD PTR[rax*4+rdi],7 add r10b,16 - movdqu xmm2,XMMWORD PTR[r12] - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],ebx + movdqu xmm2,XMMWORD PTR[r12] + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],ebx add bl,dl movzx ebx,bl - mov DWORD PTR[60+rsi],edx - lea rsi,QWORD PTR[r10*4+rdi] - pinsrw xmm1,WORD PTR[rbx*4+rdi],7 - mov eax,DWORD PTR[rsi] + mov DWORD PTR[60+rsi],edx + lea rsi,QWORD PTR[r10*4+rdi] + pinsrw xmm1,WORD PTR[rbx*4+rdi],7 + mov eax,DWORD PTR[rsi] mov rbx,rcx xor rcx,rcx sub r11,16 mov cl,bl test r11,-16 - jnz $L$oop16 + jnz $L$oop16 psllq xmm1,8 pxor xmm2,xmm0 pxor xmm2,xmm1 - movdqu XMMWORD PTR[r13*1+r12],xmm2 - lea r12,QWORD PTR[16+r12] + movdqu XMMWORD PTR[r13*1+r12],xmm2 + lea r12,QWORD PTR[16+r12] cmp r11,0 - jne $L$loop1 - jmp $L$exit + jne $L$loop1 + jmp $L$exit ALIGN 16 -$L$loop1:: +$L$loop1:: add cl,al - mov edx,DWORD PTR[rcx*4+rdi] - mov DWORD PTR[rcx*4+rdi],eax - mov DWORD PTR[r10*4+rdi],edx + mov edx,DWORD PTR[rcx*4+rdi] + mov DWORD PTR[rcx*4+rdi],eax + mov DWORD PTR[r10*4+rdi],edx add al,dl inc r10b - mov edx,DWORD PTR[rax*4+rdi] - mov eax,DWORD PTR[r10*4+rdi] - xor dl,BYTE PTR[r12] - mov BYTE PTR[r13*1+r12],dl - lea r12,QWORD PTR[1+r12] + mov edx,DWORD PTR[rax*4+rdi] + mov eax,DWORD PTR[r10*4+rdi] + xor dl,BYTE PTR[r12] + mov BYTE PTR[r13*1+r12],dl + lea r12,QWORD PTR[1+r12] dec r11 - jnz $L$loop1 - jmp $L$exit + jnz $L$loop1 + jmp $L$exit ALIGN 16 -$L$RC4_CHAR:: +$L$RC4_CHAR:: add r10b,1 - movzx eax,BYTE PTR[r10*1+rdi] + movzx eax,BYTE PTR[r10*1+rdi] test r11,-8 - jz $L$cloop1 - jmp $L$cloop8 + jz $L$cloop1 + jmp $L$cloop8 ALIGN 16 -$L$cloop8:: - mov r8d,DWORD PTR[r12] - mov r9d,DWORD PTR[4+r12] +$L$cloop8:: + mov r8d,DWORD PTR[r12] + mov r9d,DWORD PTR[4+r12] add cl,al - lea rsi,QWORD PTR[1+r10] - movzx edx,BYTE PTR[rcx*1+rdi] + lea rsi,QWORD PTR[1+r10] + movzx edx,BYTE PTR[rcx*1+rdi] movzx esi,sil - movzx ebx,BYTE PTR[rsi*1+rdi] - mov BYTE PTR[rcx*1+rdi],al + movzx ebx,BYTE PTR[rsi*1+rdi] + mov BYTE PTR[rcx*1+rdi],al cmp rcx,rsi - mov BYTE PTR[r10*1+rdi],dl - jne $L$cmov0 + mov BYTE PTR[r10*1+rdi],dl + jne $L$cmov0 mov rbx,rax -$L$cmov0:: +$L$cmov0:: add dl,al - xor r8b,BYTE PTR[rdx*1+rdi] + xor r8b,BYTE PTR[rdx*1+rdi] ror r8d,8 add cl,bl - lea r10,QWORD PTR[1+rsi] - movzx edx,BYTE PTR[rcx*1+rdi] + lea r10,QWORD PTR[1+rsi] + movzx edx,BYTE PTR[rcx*1+rdi] movzx r10d,r10b - movzx eax,BYTE PTR[r10*1+rdi] - mov BYTE PTR[rcx*1+rdi],bl + movzx eax,BYTE PTR[r10*1+rdi] + mov BYTE PTR[rcx*1+rdi],bl cmp rcx,r10 - mov BYTE PTR[rsi*1+rdi],dl - jne $L$cmov1 + mov BYTE PTR[rsi*1+rdi],dl + jne $L$cmov1 mov rax,rbx -$L$cmov1:: +$L$cmov1:: add dl,bl - xor r8b,BYTE PTR[rdx*1+rdi] + xor r8b,BYTE PTR[rdx*1+rdi] ror r8d,8 add cl,al - lea rsi,QWORD PTR[1+r10] - movzx edx,BYTE PTR[rcx*1+rdi] + lea rsi,QWORD PTR[1+r10] + movzx edx,BYTE PTR[rcx*1+rdi] movzx esi,sil - movzx ebx,BYTE PTR[rsi*1+rdi] - mov BYTE PTR[rcx*1+rdi],al + movzx ebx,BYTE PTR[rsi*1+rdi] + mov BYTE PTR[rcx*1+rdi],al cmp rcx,rsi - mov BYTE PTR[r10*1+rdi],dl - jne $L$cmov2 + mov BYTE PTR[r10*1+rdi],dl + jne $L$cmov2 mov rbx,rax -$L$cmov2:: +$L$cmov2:: add dl,al - xor r8b,BYTE PTR[rdx*1+rdi] + xor r8b,BYTE PTR[rdx*1+rdi] ror r8d,8 add cl,bl - lea r10,QWORD PTR[1+rsi] - movzx edx,BYTE PTR[rcx*1+rdi] + lea r10,QWORD PTR[1+rsi] + movzx edx,BYTE PTR[rcx*1+rdi] movzx r10d,r10b - movzx eax,BYTE PTR[r10*1+rdi] - mov BYTE PTR[rcx*1+rdi],bl + movzx eax,BYTE PTR[r10*1+rdi] + mov BYTE PTR[rcx*1+rdi],bl cmp rcx,r10 - mov BYTE PTR[rsi*1+rdi],dl - jne $L$cmov3 + mov BYTE PTR[rsi*1+rdi],dl + jne $L$cmov3 mov rax,rbx -$L$cmov3:: +$L$cmov3:: add dl,bl - xor r8b,BYTE PTR[rdx*1+rdi] + xor r8b,BYTE PTR[rdx*1+rdi] ror r8d,8 add cl,al - lea rsi,QWORD PTR[1+r10] - movzx edx,BYTE PTR[rcx*1+rdi] + lea rsi,QWORD PTR[1+r10] + movzx edx,BYTE PTR[rcx*1+rdi] movzx esi,sil - movzx ebx,BYTE PTR[rsi*1+rdi] - mov BYTE PTR[rcx*1+rdi],al + movzx ebx,BYTE PTR[rsi*1+rdi] + mov BYTE PTR[rcx*1+rdi],al cmp rcx,rsi - mov BYTE PTR[r10*1+rdi],dl - jne $L$cmov4 + mov BYTE PTR[r10*1+rdi],dl + jne $L$cmov4 mov rbx,rax -$L$cmov4:: +$L$cmov4:: add dl,al - xor r9b,BYTE PTR[rdx*1+rdi] + xor r9b,BYTE PTR[rdx*1+rdi] ror r9d,8 add cl,bl - lea r10,QWORD PTR[1+rsi] - movzx edx,BYTE PTR[rcx*1+rdi] + lea r10,QWORD PTR[1+rsi] + movzx edx,BYTE PTR[rcx*1+rdi] movzx r10d,r10b - movzx eax,BYTE PTR[r10*1+rdi] - mov BYTE PTR[rcx*1+rdi],bl + movzx eax,BYTE PTR[r10*1+rdi] + mov BYTE PTR[rcx*1+rdi],bl cmp rcx,r10 - mov BYTE PTR[rsi*1+rdi],dl - jne $L$cmov5 + mov BYTE PTR[rsi*1+rdi],dl + jne $L$cmov5 mov rax,rbx -$L$cmov5:: +$L$cmov5:: add dl,bl - xor r9b,BYTE PTR[rdx*1+rdi] + xor r9b,BYTE PTR[rdx*1+rdi] ror r9d,8 add cl,al - lea rsi,QWORD PTR[1+r10] - movzx edx,BYTE PTR[rcx*1+rdi] + lea rsi,QWORD PTR[1+r10] + movzx edx,BYTE PTR[rcx*1+rdi] movzx esi,sil - movzx ebx,BYTE PTR[rsi*1+rdi] - mov BYTE PTR[rcx*1+rdi],al + movzx ebx,BYTE PTR[rsi*1+rdi] + mov BYTE PTR[rcx*1+rdi],al cmp rcx,rsi - mov BYTE PTR[r10*1+rdi],dl - jne $L$cmov6 + mov BYTE PTR[r10*1+rdi],dl + jne $L$cmov6 mov rbx,rax -$L$cmov6:: +$L$cmov6:: add dl,al - xor r9b,BYTE PTR[rdx*1+rdi] + xor r9b,BYTE PTR[rdx*1+rdi] ror r9d,8 add cl,bl - lea r10,QWORD PTR[1+rsi] - movzx edx,BYTE PTR[rcx*1+rdi] + lea r10,QWORD PTR[1+rsi] + movzx edx,BYTE PTR[rcx*1+rdi] movzx r10d,r10b - movzx eax,BYTE PTR[r10*1+rdi] - mov BYTE PTR[rcx*1+rdi],bl + movzx eax,BYTE PTR[r10*1+rdi] + mov BYTE PTR[rcx*1+rdi],bl cmp rcx,r10 - mov BYTE PTR[rsi*1+rdi],dl - jne $L$cmov7 + mov BYTE PTR[rsi*1+rdi],dl + jne $L$cmov7 mov rax,rbx -$L$cmov7:: +$L$cmov7:: add dl,bl - xor r9b,BYTE PTR[rdx*1+rdi] + xor r9b,BYTE PTR[rdx*1+rdi] ror r9d,8 - lea r11,QWORD PTR[((-8))+r11] - mov DWORD PTR[r13],r8d - lea r12,QWORD PTR[8+r12] - mov DWORD PTR[4+r13],r9d - lea r13,QWORD PTR[8+r13] + lea r11,QWORD PTR[((-8))+r11] + mov DWORD PTR[r13],r8d + lea r12,QWORD PTR[8+r12] + mov DWORD PTR[4+r13],r9d + lea r13,QWORD PTR[8+r13] test r11,-8 - jnz $L$cloop8 + jnz $L$cloop8 cmp r11,0 - jne $L$cloop1 - jmp $L$exit + jne $L$cloop1 + jmp $L$exit ALIGN 16 -$L$cloop1:: +$L$cloop1:: add cl,al movzx ecx,cl - movzx edx,BYTE PTR[rcx*1+rdi] - mov BYTE PTR[rcx*1+rdi],al - mov BYTE PTR[r10*1+rdi],dl + movzx edx,BYTE PTR[rcx*1+rdi] + mov BYTE PTR[rcx*1+rdi],al + mov BYTE PTR[r10*1+rdi],dl add dl,al add r10b,1 movzx edx,dl movzx r10d,r10b - movzx edx,BYTE PTR[rdx*1+rdi] - movzx eax,BYTE PTR[r10*1+rdi] - xor dl,BYTE PTR[r12] - lea r12,QWORD PTR[1+r12] - mov BYTE PTR[r13],dl - lea r13,QWORD PTR[1+r13] + movzx edx,BYTE PTR[rdx*1+rdi] + movzx eax,BYTE PTR[r10*1+rdi] + xor dl,BYTE PTR[r12] + lea r12,QWORD PTR[1+r12] + mov BYTE PTR[r13],dl + lea r13,QWORD PTR[1+r13] sub r11,1 - jnz $L$cloop1 - jmp $L$exit + jnz $L$cloop1 + jmp $L$exit ALIGN 16 -$L$exit:: +$L$exit:: sub r10b,1 - mov DWORD PTR[((-8))+rdi],r10d - mov DWORD PTR[((-4))+rdi],ecx + mov DWORD PTR[((-8))+rdi],r10d + mov DWORD PTR[((-4))+rdi],ecx - mov r13,QWORD PTR[rsp] + mov r13,QWORD PTR[rsp] - mov r12,QWORD PTR[8+rsp] + mov r12,QWORD PTR[8+rsp] - mov rbx,QWORD PTR[16+rsp] + mov rbx,QWORD PTR[16+rsp] add rsp,24 -$L$epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_RC4:: -RC4 ENDP -PUBLIC RC4_set_key +$L$SEH_end_RC4:: +RC4 ENDP +PUBLIC RC4_set_key ALIGN 16 -RC4_set_key PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +RC4_set_key PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_RC4_set_key:: +$L$SEH_begin_RC4_set_key:: mov rdi,rcx mov rsi,rdx mov rdx,r8 - - lea rdi,QWORD PTR[8+rdi] - lea rdx,QWORD PTR[rsi*1+rdx] + + lea rdi,QWORD PTR[8+rdi] + lea rdx,QWORD PTR[rsi*1+rdx] neg rsi mov rcx,rsi xor eax,eax @@ -566,89 +566,89 @@ $L$SEH_begin_RC4_set_key:: xor r10,r10 xor r11,r11 - mov r8d,DWORD PTR[OPENSSL_ia32cap_P] + mov r8d,DWORD PTR[OPENSSL_ia32cap_P] bt r8d,20 - jc $L$c1stloop - jmp $L$w1stloop + jc $L$c1stloop + jmp $L$w1stloop ALIGN 16 -$L$w1stloop:: - mov DWORD PTR[rax*4+rdi],eax +$L$w1stloop:: + mov DWORD PTR[rax*4+rdi],eax add al,1 - jnc $L$w1stloop + jnc $L$w1stloop xor r9,r9 xor r8,r8 ALIGN 16 -$L$w2ndloop:: - mov r10d,DWORD PTR[r9*4+rdi] - add r8b,BYTE PTR[rsi*1+rdx] +$L$w2ndloop:: + mov r10d,DWORD PTR[r9*4+rdi] + add r8b,BYTE PTR[rsi*1+rdx] add r8b,r10b add rsi,1 - mov r11d,DWORD PTR[r8*4+rdi] + mov r11d,DWORD PTR[r8*4+rdi] cmovz rsi,rcx - mov DWORD PTR[r8*4+rdi],r10d - mov DWORD PTR[r9*4+rdi],r11d + mov DWORD PTR[r8*4+rdi],r10d + mov DWORD PTR[r9*4+rdi],r11d add r9b,1 - jnc $L$w2ndloop - jmp $L$exit_key + jnc $L$w2ndloop + jmp $L$exit_key ALIGN 16 -$L$c1stloop:: - mov BYTE PTR[rax*1+rdi],al +$L$c1stloop:: + mov BYTE PTR[rax*1+rdi],al add al,1 - jnc $L$c1stloop + jnc $L$c1stloop xor r9,r9 xor r8,r8 ALIGN 16 -$L$c2ndloop:: - mov r10b,BYTE PTR[r9*1+rdi] - add r8b,BYTE PTR[rsi*1+rdx] +$L$c2ndloop:: + mov r10b,BYTE PTR[r9*1+rdi] + add r8b,BYTE PTR[rsi*1+rdx] add r8b,r10b add rsi,1 - mov r11b,BYTE PTR[r8*1+rdi] - jnz $L$cnowrap + mov r11b,BYTE PTR[r8*1+rdi] + jnz $L$cnowrap mov rsi,rcx -$L$cnowrap:: - mov BYTE PTR[r8*1+rdi],r10b - mov BYTE PTR[r9*1+rdi],r11b +$L$cnowrap:: + mov BYTE PTR[r8*1+rdi],r10b + mov BYTE PTR[r9*1+rdi],r11b add r9b,1 - jnc $L$c2ndloop - mov DWORD PTR[256+rdi],-1 + jnc $L$c2ndloop + mov DWORD PTR[256+rdi],-1 ALIGN 16 -$L$exit_key:: +$L$exit_key:: xor eax,eax - mov DWORD PTR[((-8))+rdi],eax - mov DWORD PTR[((-4))+rdi],eax - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov DWORD PTR[((-8))+rdi],eax + mov DWORD PTR[((-4))+rdi],eax + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_RC4_set_key:: -RC4_set_key ENDP +$L$SEH_end_RC4_set_key:: +RC4_set_key ENDP + +PUBLIC RC4_options -PUBLIC RC4_options - ALIGN 16 -RC4_options PROC PUBLIC - - lea rax,QWORD PTR[$L$opts] - mov edx,DWORD PTR[OPENSSL_ia32cap_P] +RC4_options PROC PUBLIC + + lea rax,QWORD PTR[$L$opts] + mov edx,DWORD PTR[OPENSSL_ia32cap_P] bt edx,20 - jc $L$8xchar + jc $L$8xchar bt edx,30 - jnc $L$done + jnc $L$done add rax,25 DB 0F3h,0C3h ;repret -$L$8xchar:: +$L$8xchar:: add rax,12 -$L$done:: +$L$done:: DB 0F3h,0C3h ;repret - + ALIGN 64 -$L$opts:: +$L$opts:: DB 114,99,52,40,56,120,44,105,110,116,41,0 DB 114,99,52,40,56,120,44,99,104,97,114,41,0 DB 114,99,52,40,49,54,120,44,105,110,116,41,0 @@ -657,11 +657,11 @@ DB 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 DB 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 DB 62,0 ALIGN 64 -RC4_options ENDP -EXTERN __imp_RtlVirtualUnwind:NEAR +RC4_options ENDP +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -stream_se_handler PROC PRIVATE +stream_se_handler PROC PRIVATE push rsi push rdi push rbx @@ -673,41 +673,41 @@ stream_se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - lea r10,QWORD PTR[$L$prologue] + lea r10,QWORD PTR[$L$prologue] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - lea r10,QWORD PTR[$L$epilogue] + lea r10,QWORD PTR[$L$epilogue] cmp rbx,r10 - jae $L$in_prologue + jae $L$in_prologue - lea rax,QWORD PTR[24+rax] + lea rax,QWORD PTR[24+rax] - mov rbx,QWORD PTR[((-8))+rax] - mov r12,QWORD PTR[((-16))+rax] - mov r13,QWORD PTR[((-24))+rax] - mov QWORD PTR[144+r8],rbx - mov QWORD PTR[216+r8],r12 - mov QWORD PTR[224+r8],r13 + mov rbx,QWORD PTR[((-8))+rax] + mov r12,QWORD PTR[((-16))+rax] + mov r13,QWORD PTR[((-24))+rax] + mov QWORD PTR[144+r8],rbx + mov QWORD PTR[216+r8],r12 + mov QWORD PTR[224+r8],r13 -$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 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 - jmp $L$common_seh_exit -stream_se_handler ENDP + jmp $L$common_seh_exit +stream_se_handler ENDP ALIGN 16 -key_se_handler PROC PRIVATE +key_se_handler PROC PRIVATE push rsi push rdi push rbx @@ -719,32 +719,32 @@ key_se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[152+r8] - mov rdi,QWORD PTR[8+rax] - mov rsi,QWORD PTR[16+rax] - mov QWORD PTR[168+r8],rsi - mov QWORD PTR[176+r8],rdi + mov rax,QWORD PTR[152+r8] + mov rdi,QWORD PTR[8+rax] + mov rsi,QWORD PTR[16+rax] + mov QWORD PTR[168+r8],rsi + mov QWORD PTR[176+r8],rdi -$L$common_seh_exit:: +$L$common_seh_exit:: - mov rdi,QWORD PTR[40+r9] + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -758,28 +758,28 @@ $L$common_seh_exit:: pop rdi pop rsi DB 0F3h,0C3h ;repret -key_se_handler ENDP +key_se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_RC4 - DD imagerel $L$SEH_end_RC4 - DD imagerel $L$SEH_info_RC4 + DD imagerel $L$SEH_begin_RC4 + DD imagerel $L$SEH_end_RC4 + DD imagerel $L$SEH_info_RC4 - DD imagerel $L$SEH_begin_RC4_set_key - DD imagerel $L$SEH_end_RC4_set_key - DD imagerel $L$SEH_info_RC4_set_key + DD imagerel $L$SEH_begin_RC4_set_key + DD imagerel $L$SEH_end_RC4_set_key + DD imagerel $L$SEH_info_RC4_set_key -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_RC4:: +$L$SEH_info_RC4:: DB 9,0,0,0 - DD imagerel stream_se_handler -$L$SEH_info_RC4_set_key:: + DD imagerel stream_se_handler +$L$SEH_info_RC4_set_key:: DB 9,0,0,0 - DD imagerel key_se_handler - -.xdata ENDS -END + DD imagerel key_se_handler + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/sha/keccak1600-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/sha/keccak1600-x86_64.masm index 96d2b99007..aefa92c720 100644 --- a/contrib/libs/openssl/asm/windows/crypto/sha/keccak1600-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/sha/keccak1600-x86_64.masm @@ -1,44 +1,44 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' ALIGN 32 -__KeccakF1600 PROC PRIVATE - - mov rax,QWORD PTR[60+rdi] - mov rbx,QWORD PTR[68+rdi] - mov rcx,QWORD PTR[76+rdi] - mov rdx,QWORD PTR[84+rdi] - mov rbp,QWORD PTR[92+rdi] - jmp $L$oop - +__KeccakF1600 PROC PRIVATE + + mov rax,QWORD PTR[60+rdi] + mov rbx,QWORD PTR[68+rdi] + mov rcx,QWORD PTR[76+rdi] + mov rdx,QWORD PTR[84+rdi] + mov rbp,QWORD PTR[92+rdi] + jmp $L$oop + ALIGN 32 -$L$oop:: - mov r8,QWORD PTR[((-100))+rdi] - mov r9,QWORD PTR[((-52))+rdi] - mov r10,QWORD PTR[((-4))+rdi] - mov r11,QWORD PTR[44+rdi] - - xor rcx,QWORD PTR[((-84))+rdi] - xor rdx,QWORD PTR[((-76))+rdi] +$L$oop:: + mov r8,QWORD PTR[((-100))+rdi] + mov r9,QWORD PTR[((-52))+rdi] + mov r10,QWORD PTR[((-4))+rdi] + mov r11,QWORD PTR[44+rdi] + + xor rcx,QWORD PTR[((-84))+rdi] + xor rdx,QWORD PTR[((-76))+rdi] xor rax,r8 - xor rbx,QWORD PTR[((-92))+rdi] - xor rcx,QWORD PTR[((-44))+rdi] - xor rax,QWORD PTR[((-60))+rdi] + xor rbx,QWORD PTR[((-92))+rdi] + xor rcx,QWORD PTR[((-44))+rdi] + xor rax,QWORD PTR[((-60))+rdi] mov r12,rbp - xor rbp,QWORD PTR[((-68))+rdi] + xor rbp,QWORD PTR[((-68))+rdi] xor rcx,r10 - xor rax,QWORD PTR[((-20))+rdi] - xor rdx,QWORD PTR[((-36))+rdi] + xor rax,QWORD PTR[((-20))+rdi] + xor rdx,QWORD PTR[((-36))+rdi] xor rbx,r9 - xor rbp,QWORD PTR[((-28))+rdi] + xor rbp,QWORD PTR[((-28))+rdi] - xor rcx,QWORD PTR[36+rdi] - xor rax,QWORD PTR[20+rdi] - xor rdx,QWORD PTR[4+rdi] - xor rbx,QWORD PTR[((-12))+rdi] - xor rbp,QWORD PTR[12+rdi] + xor rcx,QWORD PTR[36+rdi] + xor rax,QWORD PTR[20+rdi] + xor rdx,QWORD PTR[4+rdi] + xor rbx,QWORD PTR[((-12))+rdi] + xor rbp,QWORD PTR[12+rdi] mov r13,rcx rol rcx,1 @@ -47,11 +47,11 @@ $L$oop:: rol rax,1 xor rax,rdx - xor rbx,QWORD PTR[28+rdi] + xor rbx,QWORD PTR[28+rdi] rol rdx,1 xor rdx,rbx - xor rbp,QWORD PTR[52+rdi] + xor rbp,QWORD PTR[52+rdi] rol rbx,1 xor rbx,rbp @@ -71,32 +71,32 @@ $L$oop:: xor r9,r8 rol r12,14 - xor r9,QWORD PTR[r15] - lea r15,QWORD PTR[8+r15] + xor r9,QWORD PTR[r15] + lea r15,QWORD PTR[8+r15] mov r14,r12 and r12,r11 - mov QWORD PTR[((-100))+rsi],r9 + mov QWORD PTR[((-100))+rsi],r9 xor r12,r10 not r10 - mov QWORD PTR[((-84))+rsi],r12 + mov QWORD PTR[((-84))+rsi],r12 or r10,r11 - mov r12,QWORD PTR[76+rdi] + mov r12,QWORD PTR[76+rdi] xor r10,r13 - mov QWORD PTR[((-92))+rsi],r10 + mov QWORD PTR[((-92))+rsi],r10 and r13,r8 - mov r9,QWORD PTR[((-28))+rdi] + mov r9,QWORD PTR[((-28))+rdi] xor r13,r14 - mov r10,QWORD PTR[((-20))+rdi] - mov QWORD PTR[((-68))+rsi],r13 + mov r10,QWORD PTR[((-20))+rdi] + mov QWORD PTR[((-68))+rsi],r13 or r14,r8 - mov r8,QWORD PTR[((-76))+rdi] + mov r8,QWORD PTR[((-76))+rdi] xor r14,r11 - mov r11,QWORD PTR[28+rdi] - mov QWORD PTR[((-76))+rsi],r14 + mov r11,QWORD PTR[28+rdi] + mov QWORD PTR[((-76))+rsi],r14 xor r8,rbp @@ -113,30 +113,30 @@ $L$oop:: rol r10,3 xor r8,r11 - mov QWORD PTR[((-36))+rsi],r8 + mov QWORD PTR[((-36))+rsi],r8 mov r14,r9 and r9,r13 - mov r8,QWORD PTR[((-92))+rdi] + mov r8,QWORD PTR[((-92))+rdi] xor r9,r12 not r12 - mov QWORD PTR[((-28))+rsi],r9 + mov QWORD PTR[((-28))+rsi],r9 or r12,r11 - mov r9,QWORD PTR[((-44))+rdi] + mov r9,QWORD PTR[((-44))+rdi] xor r12,r10 - mov QWORD PTR[((-44))+rsi],r12 + mov QWORD PTR[((-44))+rsi],r12 and r11,r10 - mov r12,QWORD PTR[60+rdi] + mov r12,QWORD PTR[60+rdi] xor r11,r14 - mov QWORD PTR[((-52))+rsi],r11 + mov QWORD PTR[((-52))+rsi],r11 or r14,r10 - mov r10,QWORD PTR[4+rdi] + mov r10,QWORD PTR[4+rdi] xor r14,r13 - mov r11,QWORD PTR[52+rdi] - mov QWORD PTR[((-60))+rsi],r14 + mov r11,QWORD PTR[52+rdi] + mov QWORD PTR[((-60))+rsi],r14 xor r10,rbp @@ -154,31 +154,31 @@ $L$oop:: not r11 xor r10,r9 - mov QWORD PTR[((-12))+rsi],r10 + mov QWORD PTR[((-12))+rsi],r10 mov r14,r12 and r12,r11 - mov r10,QWORD PTR[((-12))+rdi] + mov r10,QWORD PTR[((-12))+rdi] xor r12,r13 - mov QWORD PTR[((-4))+rsi],r12 + mov QWORD PTR[((-4))+rsi],r12 or r13,r9 - mov r12,QWORD PTR[84+rdi] + mov r12,QWORD PTR[84+rdi] xor r13,r8 - mov QWORD PTR[((-20))+rsi],r13 + mov QWORD PTR[((-20))+rsi],r13 and r9,r8 xor r9,r14 - mov QWORD PTR[12+rsi],r9 + mov QWORD PTR[12+rsi],r9 or r14,r8 - mov r9,QWORD PTR[((-60))+rdi] + mov r9,QWORD PTR[((-60))+rdi] xor r14,r11 - mov r11,QWORD PTR[36+rdi] - mov QWORD PTR[4+rsi],r14 + mov r11,QWORD PTR[36+rdi] + mov QWORD PTR[4+rsi],r14 - mov r8,QWORD PTR[((-68))+rdi] + mov r8,QWORD PTR[((-68))+rdi] xor r10,rcx xor r11,rdx @@ -195,34 +195,34 @@ $L$oop:: not r11 xor r10,r9 - mov QWORD PTR[28+rsi],r10 + mov QWORD PTR[28+rsi],r10 mov r14,r12 or r12,r11 xor r12,r13 - mov QWORD PTR[36+rsi],r12 + mov QWORD PTR[36+rsi],r12 and r13,r9 xor r13,r8 - mov QWORD PTR[20+rsi],r13 + mov QWORD PTR[20+rsi],r13 or r9,r8 xor r9,r14 - mov QWORD PTR[52+rsi],r9 + mov QWORD PTR[52+rsi],r9 and r8,r14 xor r8,r11 - mov QWORD PTR[44+rsi],r8 + mov QWORD PTR[44+rsi],r8 - xor rdx,QWORD PTR[((-84))+rdi] - xor rbp,QWORD PTR[((-36))+rdi] + xor rdx,QWORD PTR[((-84))+rdi] + xor rbp,QWORD PTR[((-36))+rdi] rol rdx,62 - xor rcx,QWORD PTR[68+rdi] + xor rcx,QWORD PTR[68+rdi] rol rbp,55 - xor rax,QWORD PTR[12+rdi] + xor rax,QWORD PTR[12+rdi] rol rcx,2 - xor rbx,QWORD PTR[20+rdi] + xor rbx,QWORD PTR[20+rdi] xchg rdi,rsi rol rax,39 rol rbx,41 @@ -230,39 +230,39 @@ $L$oop:: and rdx,rbp not rbp xor rdx,rcx - mov QWORD PTR[92+rdi],rdx + mov QWORD PTR[92+rdi],rdx mov r14,rax and rax,rbp xor rax,r13 - mov QWORD PTR[60+rdi],rax + mov QWORD PTR[60+rdi],rax or r13,rcx xor r13,rbx - mov QWORD PTR[84+rdi],r13 + mov QWORD PTR[84+rdi],r13 and rcx,rbx xor rcx,r14 - mov QWORD PTR[76+rdi],rcx + mov QWORD PTR[76+rdi],rcx or rbx,r14 xor rbx,rbp - mov QWORD PTR[68+rdi],rbx + mov QWORD PTR[68+rdi],rbx mov rbp,rdx mov rdx,r13 test r15,255 - jnz $L$oop + jnz $L$oop - lea r15,QWORD PTR[((-192))+r15] + lea r15,QWORD PTR[((-192))+r15] DB 0F3h,0C3h ;repret -__KeccakF1600 ENDP +__KeccakF1600 ENDP ALIGN 32 -KeccakF1600 PROC PRIVATE +KeccakF1600 PROC PRIVATE push rbx @@ -277,29 +277,29 @@ KeccakF1600 PROC PRIVATE push r15 - lea rdi,QWORD PTR[100+rdi] + lea rdi,QWORD PTR[100+rdi] sub rsp,200 - not QWORD PTR[((-92))+rdi] - not QWORD PTR[((-84))+rdi] - not QWORD PTR[((-36))+rdi] - not QWORD PTR[((-4))+rdi] - not QWORD PTR[36+rdi] - not QWORD PTR[60+rdi] + not QWORD PTR[((-92))+rdi] + not QWORD PTR[((-84))+rdi] + not QWORD PTR[((-36))+rdi] + not QWORD PTR[((-4))+rdi] + not QWORD PTR[36+rdi] + not QWORD PTR[60+rdi] - lea r15,QWORD PTR[iotas] - lea rsi,QWORD PTR[100+rsp] + lea r15,QWORD PTR[iotas] + lea rsi,QWORD PTR[100+rsp] call __KeccakF1600 - not QWORD PTR[((-92))+rdi] - not QWORD PTR[((-84))+rdi] - not QWORD PTR[((-36))+rdi] - not QWORD PTR[((-4))+rdi] - not QWORD PTR[36+rdi] - not QWORD PTR[60+rdi] - lea rdi,QWORD PTR[((-100))+rdi] + not QWORD PTR[((-92))+rdi] + not QWORD PTR[((-84))+rdi] + not QWORD PTR[((-36))+rdi] + not QWORD PTR[((-4))+rdi] + not QWORD PTR[36+rdi] + not QWORD PTR[60+rdi] + lea rdi,QWORD PTR[((-100))+rdi] add rsp,200 @@ -318,15 +318,15 @@ KeccakF1600 PROC PRIVATE DB 0F3h,0C3h ;repret -KeccakF1600 ENDP -PUBLIC SHA3_absorb +KeccakF1600 ENDP +PUBLIC SHA3_absorb ALIGN 32 -SHA3_absorb PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +SHA3_absorb PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_SHA3_absorb:: +$L$SEH_begin_SHA3_absorb:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -347,58 +347,58 @@ $L$SEH_begin_SHA3_absorb:: push r15 - lea rdi,QWORD PTR[100+rdi] + lea rdi,QWORD PTR[100+rdi] sub rsp,232 mov r9,rsi - lea rsi,QWORD PTR[100+rsp] + lea rsi,QWORD PTR[100+rsp] - not QWORD PTR[((-92))+rdi] - not QWORD PTR[((-84))+rdi] - not QWORD PTR[((-36))+rdi] - not QWORD PTR[((-4))+rdi] - not QWORD PTR[36+rdi] - not QWORD PTR[60+rdi] - lea r15,QWORD PTR[iotas] + not QWORD PTR[((-92))+rdi] + not QWORD PTR[((-84))+rdi] + not QWORD PTR[((-36))+rdi] + not QWORD PTR[((-4))+rdi] + not QWORD PTR[36+rdi] + not QWORD PTR[60+rdi] + lea r15,QWORD PTR[iotas] - mov QWORD PTR[((216-100))+rsi],rcx + mov QWORD PTR[((216-100))+rsi],rcx -$L$oop_absorb:: +$L$oop_absorb:: cmp rdx,rcx - jc $L$done_absorb + jc $L$done_absorb shr rcx,3 - lea r8,QWORD PTR[((-100))+rdi] + lea r8,QWORD PTR[((-100))+rdi] -$L$block_absorb:: - mov rax,QWORD PTR[r9] - lea r9,QWORD PTR[8+r9] - xor rax,QWORD PTR[r8] - lea r8,QWORD PTR[8+r8] +$L$block_absorb:: + mov rax,QWORD PTR[r9] + lea r9,QWORD PTR[8+r9] + xor rax,QWORD PTR[r8] + lea r8,QWORD PTR[8+r8] sub rdx,8 - mov QWORD PTR[((-8))+r8],rax + mov QWORD PTR[((-8))+r8],rax sub rcx,1 - jnz $L$block_absorb + jnz $L$block_absorb - mov QWORD PTR[((200-100))+rsi],r9 - mov QWORD PTR[((208-100))+rsi],rdx + mov QWORD PTR[((200-100))+rsi],r9 + mov QWORD PTR[((208-100))+rsi],rdx call __KeccakF1600 - mov r9,QWORD PTR[((200-100))+rsi] - mov rdx,QWORD PTR[((208-100))+rsi] - mov rcx,QWORD PTR[((216-100))+rsi] - jmp $L$oop_absorb + mov r9,QWORD PTR[((200-100))+rsi] + mov rdx,QWORD PTR[((208-100))+rsi] + mov rcx,QWORD PTR[((216-100))+rsi] + jmp $L$oop_absorb ALIGN 32 -$L$done_absorb:: +$L$done_absorb:: mov rax,rdx - not QWORD PTR[((-92))+rdi] - not QWORD PTR[((-84))+rdi] - not QWORD PTR[((-36))+rdi] - not QWORD PTR[((-4))+rdi] - not QWORD PTR[36+rdi] - not QWORD PTR[60+rdi] + not QWORD PTR[((-92))+rdi] + not QWORD PTR[((-84))+rdi] + not QWORD PTR[((-36))+rdi] + not QWORD PTR[((-4))+rdi] + not QWORD PTR[36+rdi] + not QWORD PTR[60+rdi] add rsp,232 @@ -415,20 +415,20 @@ $L$done_absorb:: pop rbx - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_SHA3_absorb:: -SHA3_absorb ENDP -PUBLIC SHA3_squeeze +$L$SEH_end_SHA3_absorb:: +SHA3_absorb ENDP +PUBLIC SHA3_squeeze ALIGN 32 -SHA3_squeeze PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +SHA3_squeeze PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_SHA3_squeeze:: +$L$SEH_begin_SHA3_squeeze:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -448,81 +448,81 @@ $L$SEH_begin_SHA3_squeeze:: mov r12,rsi mov r13,rdx mov r14,rcx - jmp $L$oop_squeeze + jmp $L$oop_squeeze ALIGN 32 -$L$oop_squeeze:: +$L$oop_squeeze:: cmp r13,8 - jb $L$tail_squeeze + jb $L$tail_squeeze - mov rax,QWORD PTR[r8] - lea r8,QWORD PTR[8+r8] - mov QWORD PTR[r12],rax - lea r12,QWORD PTR[8+r12] + mov rax,QWORD PTR[r8] + lea r8,QWORD PTR[8+r8] + mov QWORD PTR[r12],rax + lea r12,QWORD PTR[8+r12] sub r13,8 - jz $L$done_squeeze + jz $L$done_squeeze sub rcx,1 - jnz $L$oop_squeeze + jnz $L$oop_squeeze call KeccakF1600 mov r8,rdi mov rcx,r14 - jmp $L$oop_squeeze + jmp $L$oop_squeeze -$L$tail_squeeze:: +$L$tail_squeeze:: mov rsi,r8 mov rdi,r12 mov rcx,r13 -DB 0f3h,0a4h +DB 0f3h,0a4h -$L$done_squeeze:: +$L$done_squeeze:: pop r14 pop r13 pop r12 - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_SHA3_squeeze:: -SHA3_squeeze ENDP +$L$SEH_end_SHA3_squeeze:: +SHA3_squeeze ENDP ALIGN 256 DQ 0,0,0,0,0,0,0,0 -iotas:: - DQ 00000000000000001h - DQ 00000000000008082h - DQ 0800000000000808ah - DQ 08000000080008000h - DQ 0000000000000808bh - DQ 00000000080000001h - DQ 08000000080008081h - DQ 08000000000008009h - DQ 0000000000000008ah - DQ 00000000000000088h - DQ 00000000080008009h - DQ 0000000008000000ah - DQ 0000000008000808bh - DQ 0800000000000008bh - DQ 08000000000008089h - DQ 08000000000008003h - DQ 08000000000008002h - DQ 08000000000000080h - DQ 0000000000000800ah - DQ 0800000008000000ah - DQ 08000000080008081h - DQ 08000000000008080h - DQ 00000000080000001h - DQ 08000000080008008h +iotas:: + DQ 00000000000000001h + DQ 00000000000008082h + DQ 0800000000000808ah + DQ 08000000080008000h + DQ 0000000000000808bh + DQ 00000000080000001h + DQ 08000000080008081h + DQ 08000000000008009h + DQ 0000000000000008ah + DQ 00000000000000088h + DQ 00000000080008009h + DQ 0000000008000000ah + DQ 0000000008000808bh + DQ 0800000000000008bh + DQ 08000000000008089h + DQ 08000000000008003h + DQ 08000000000008002h + DQ 08000000000000080h + DQ 0000000000000800ah + DQ 0800000008000000ah + DQ 08000000080008081h + DQ 08000000000008080h + DQ 00000000080000001h + DQ 08000000080008008h DB 75,101,99,99,97,107,45,49,54,48,48,32,97,98,115,111 DB 114,98,32,97,110,100,32,115,113,117,101,101,122,101,32,102 DB 111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84 DB 79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64 DB 111,112,101,110,115,115,108,46,111,114,103,62,0 - -.text$ ENDS -END + +.text$ ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/sha/sha1-mb-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/sha/sha1-mb-x86_64.masm index b462390462..ea50f6c7d2 100644 --- a/contrib/libs/openssl/asm/windows/crypto/sha/sha1-mb-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/sha/sha1-mb-x86_64.masm @@ -1,114 +1,114 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR +EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC sha1_multi_block +PUBLIC sha1_multi_block ALIGN 32 -sha1_multi_block PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha1_multi_block PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha1_multi_block:: +$L$SEH_begin_sha1_multi_block:: mov rdi,rcx mov rsi,rdx mov rdx,r8 - mov rcx,QWORD PTR[((OPENSSL_ia32cap_P+4))] + mov rcx,QWORD PTR[((OPENSSL_ia32cap_P+4))] bt rcx,61 - jc _shaext_shortcut + jc _shaext_shortcut test ecx,268435456 - jnz _avx_shortcut + jnz _avx_shortcut mov rax,rsp push rbx push rbp - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 - movaps XMMWORD PTR[(-120)+rax],xmm10 - movaps XMMWORD PTR[(-104)+rax],xmm11 - movaps XMMWORD PTR[(-88)+rax],xmm12 - movaps XMMWORD PTR[(-72)+rax],xmm13 - movaps XMMWORD PTR[(-56)+rax],xmm14 - movaps XMMWORD PTR[(-40)+rax],xmm15 + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 + movaps XMMWORD PTR[(-120)+rax],xmm10 + movaps XMMWORD PTR[(-104)+rax],xmm11 + movaps XMMWORD PTR[(-88)+rax],xmm12 + movaps XMMWORD PTR[(-72)+rax],xmm13 + movaps XMMWORD PTR[(-56)+rax],xmm14 + movaps XMMWORD PTR[(-40)+rax],xmm15 sub rsp,288 and rsp,-256 - mov QWORD PTR[272+rsp],rax + mov QWORD PTR[272+rsp],rax -$L$body:: - lea rbp,QWORD PTR[K_XX_XX] - lea rbx,QWORD PTR[256+rsp] +$L$body:: + lea rbp,QWORD PTR[K_XX_XX] + lea rbx,QWORD PTR[256+rsp] -$L$oop_grande:: - mov DWORD PTR[280+rsp],edx +$L$oop_grande:: + mov DWORD PTR[280+rsp],edx xor edx,edx - mov r8,QWORD PTR[rsi] - mov ecx,DWORD PTR[8+rsi] + mov r8,QWORD PTR[rsi] + mov ecx,DWORD PTR[8+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[rbx],ecx + mov DWORD PTR[rbx],ecx cmovle r8,rbp - mov r9,QWORD PTR[16+rsi] - mov ecx,DWORD PTR[24+rsi] + mov r9,QWORD PTR[16+rsi] + mov ecx,DWORD PTR[24+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[4+rbx],ecx + mov DWORD PTR[4+rbx],ecx cmovle r9,rbp - mov r10,QWORD PTR[32+rsi] - mov ecx,DWORD PTR[40+rsi] + mov r10,QWORD PTR[32+rsi] + mov ecx,DWORD PTR[40+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[8+rbx],ecx + mov DWORD PTR[8+rbx],ecx cmovle r10,rbp - mov r11,QWORD PTR[48+rsi] - mov ecx,DWORD PTR[56+rsi] + mov r11,QWORD PTR[48+rsi] + mov ecx,DWORD PTR[56+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[12+rbx],ecx + mov DWORD PTR[12+rbx],ecx cmovle r11,rbp test edx,edx - jz $L$done - - movdqu xmm10,XMMWORD PTR[rdi] - lea rax,QWORD PTR[128+rsp] - movdqu xmm11,XMMWORD PTR[32+rdi] - movdqu xmm12,XMMWORD PTR[64+rdi] - movdqu xmm13,XMMWORD PTR[96+rdi] - movdqu xmm14,XMMWORD PTR[128+rdi] - movdqa xmm5,XMMWORD PTR[96+rbp] - movdqa xmm15,XMMWORD PTR[((-32))+rbp] - jmp $L$oop + jz $L$done + + movdqu xmm10,XMMWORD PTR[rdi] + lea rax,QWORD PTR[128+rsp] + movdqu xmm11,XMMWORD PTR[32+rdi] + movdqu xmm12,XMMWORD PTR[64+rdi] + movdqu xmm13,XMMWORD PTR[96+rdi] + movdqu xmm14,XMMWORD PTR[128+rdi] + movdqa xmm5,XMMWORD PTR[96+rbp] + movdqa xmm15,XMMWORD PTR[((-32))+rbp] + jmp $L$oop ALIGN 32 -$L$oop:: - movd xmm0,DWORD PTR[r8] - lea r8,QWORD PTR[64+r8] - movd xmm2,DWORD PTR[r9] - lea r9,QWORD PTR[64+r9] - movd xmm3,DWORD PTR[r10] - lea r10,QWORD PTR[64+r10] - movd xmm4,DWORD PTR[r11] - lea r11,QWORD PTR[64+r11] +$L$oop:: + movd xmm0,DWORD PTR[r8] + lea r8,QWORD PTR[64+r8] + movd xmm2,DWORD PTR[r9] + lea r9,QWORD PTR[64+r9] + movd xmm3,DWORD PTR[r10] + lea r10,QWORD PTR[64+r10] + movd xmm4,DWORD PTR[r11] + lea r11,QWORD PTR[64+r11] punpckldq xmm0,xmm3 - movd xmm1,DWORD PTR[((-60))+r8] + movd xmm1,DWORD PTR[((-60))+r8] punpckldq xmm2,xmm4 - movd xmm9,DWORD PTR[((-60))+r9] + movd xmm9,DWORD PTR[((-60))+r9] punpckldq xmm0,xmm2 - movd xmm8,DWORD PTR[((-60))+r10] + movd xmm8,DWORD PTR[((-60))+r10] DB 102,15,56,0,197 - movd xmm7,DWORD PTR[((-60))+r11] + movd xmm7,DWORD PTR[((-60))+r11] punpckldq xmm1,xmm8 movdqa xmm8,xmm10 paddd xmm14,xmm15 @@ -121,24 +121,24 @@ DB 102,15,56,0,197 punpckldq xmm1,xmm9 movdqa xmm9,xmm10 - movdqa XMMWORD PTR[(0-128)+rax],xmm0 + movdqa XMMWORD PTR[(0-128)+rax],xmm0 paddd xmm14,xmm0 - movd xmm2,DWORD PTR[((-56))+r8] + movd xmm2,DWORD PTR[((-56))+r8] psrld xmm9,27 pxor xmm6,xmm7 movdqa xmm7,xmm11 por xmm8,xmm9 - movd xmm9,DWORD PTR[((-56))+r9] + movd xmm9,DWORD PTR[((-56))+r9] pslld xmm7,30 paddd xmm14,xmm6 psrld xmm11,2 paddd xmm14,xmm8 DB 102,15,56,0,205 - movd xmm8,DWORD PTR[((-56))+r10] + movd xmm8,DWORD PTR[((-56))+r10] por xmm11,xmm7 - movd xmm7,DWORD PTR[((-56))+r11] + movd xmm7,DWORD PTR[((-56))+r11] punpckldq xmm2,xmm8 movdqa xmm8,xmm14 paddd xmm13,xmm15 @@ -151,24 +151,24 @@ DB 102,15,56,0,205 punpckldq xmm2,xmm9 movdqa xmm9,xmm14 - movdqa XMMWORD PTR[(16-128)+rax],xmm1 + movdqa XMMWORD PTR[(16-128)+rax],xmm1 paddd xmm13,xmm1 - movd xmm3,DWORD PTR[((-52))+r8] + movd xmm3,DWORD PTR[((-52))+r8] psrld xmm9,27 pxor xmm6,xmm7 movdqa xmm7,xmm10 por xmm8,xmm9 - movd xmm9,DWORD PTR[((-52))+r9] + movd xmm9,DWORD PTR[((-52))+r9] pslld xmm7,30 paddd xmm13,xmm6 psrld xmm10,2 paddd xmm13,xmm8 DB 102,15,56,0,213 - movd xmm8,DWORD PTR[((-52))+r10] + movd xmm8,DWORD PTR[((-52))+r10] por xmm10,xmm7 - movd xmm7,DWORD PTR[((-52))+r11] + movd xmm7,DWORD PTR[((-52))+r11] punpckldq xmm3,xmm8 movdqa xmm8,xmm13 paddd xmm12,xmm15 @@ -181,24 +181,24 @@ DB 102,15,56,0,213 punpckldq xmm3,xmm9 movdqa xmm9,xmm13 - movdqa XMMWORD PTR[(32-128)+rax],xmm2 + movdqa XMMWORD PTR[(32-128)+rax],xmm2 paddd xmm12,xmm2 - movd xmm4,DWORD PTR[((-48))+r8] + movd xmm4,DWORD PTR[((-48))+r8] psrld xmm9,27 pxor xmm6,xmm7 movdqa xmm7,xmm14 por xmm8,xmm9 - movd xmm9,DWORD PTR[((-48))+r9] + movd xmm9,DWORD PTR[((-48))+r9] pslld xmm7,30 paddd xmm12,xmm6 psrld xmm14,2 paddd xmm12,xmm8 DB 102,15,56,0,221 - movd xmm8,DWORD PTR[((-48))+r10] + movd xmm8,DWORD PTR[((-48))+r10] por xmm14,xmm7 - movd xmm7,DWORD PTR[((-48))+r11] + movd xmm7,DWORD PTR[((-48))+r11] punpckldq xmm4,xmm8 movdqa xmm8,xmm12 paddd xmm11,xmm15 @@ -211,24 +211,24 @@ DB 102,15,56,0,221 punpckldq xmm4,xmm9 movdqa xmm9,xmm12 - movdqa XMMWORD PTR[(48-128)+rax],xmm3 + movdqa XMMWORD PTR[(48-128)+rax],xmm3 paddd xmm11,xmm3 - movd xmm0,DWORD PTR[((-44))+r8] + movd xmm0,DWORD PTR[((-44))+r8] psrld xmm9,27 pxor xmm6,xmm7 movdqa xmm7,xmm13 por xmm8,xmm9 - movd xmm9,DWORD PTR[((-44))+r9] + movd xmm9,DWORD PTR[((-44))+r9] pslld xmm7,30 paddd xmm11,xmm6 psrld xmm13,2 paddd xmm11,xmm8 DB 102,15,56,0,229 - movd xmm8,DWORD PTR[((-44))+r10] + movd xmm8,DWORD PTR[((-44))+r10] por xmm13,xmm7 - movd xmm7,DWORD PTR[((-44))+r11] + movd xmm7,DWORD PTR[((-44))+r11] punpckldq xmm0,xmm8 movdqa xmm8,xmm11 paddd xmm10,xmm15 @@ -241,24 +241,24 @@ DB 102,15,56,0,229 punpckldq xmm0,xmm9 movdqa xmm9,xmm11 - movdqa XMMWORD PTR[(64-128)+rax],xmm4 + movdqa XMMWORD PTR[(64-128)+rax],xmm4 paddd xmm10,xmm4 - movd xmm1,DWORD PTR[((-40))+r8] + movd xmm1,DWORD PTR[((-40))+r8] psrld xmm9,27 pxor xmm6,xmm7 movdqa xmm7,xmm12 por xmm8,xmm9 - movd xmm9,DWORD PTR[((-40))+r9] + movd xmm9,DWORD PTR[((-40))+r9] pslld xmm7,30 paddd xmm10,xmm6 psrld xmm12,2 paddd xmm10,xmm8 DB 102,15,56,0,197 - movd xmm8,DWORD PTR[((-40))+r10] + movd xmm8,DWORD PTR[((-40))+r10] por xmm12,xmm7 - movd xmm7,DWORD PTR[((-40))+r11] + movd xmm7,DWORD PTR[((-40))+r11] punpckldq xmm1,xmm8 movdqa xmm8,xmm10 paddd xmm14,xmm15 @@ -271,24 +271,24 @@ DB 102,15,56,0,197 punpckldq xmm1,xmm9 movdqa xmm9,xmm10 - movdqa XMMWORD PTR[(80-128)+rax],xmm0 + movdqa XMMWORD PTR[(80-128)+rax],xmm0 paddd xmm14,xmm0 - movd xmm2,DWORD PTR[((-36))+r8] + movd xmm2,DWORD PTR[((-36))+r8] psrld xmm9,27 pxor xmm6,xmm7 movdqa xmm7,xmm11 por xmm8,xmm9 - movd xmm9,DWORD PTR[((-36))+r9] + movd xmm9,DWORD PTR[((-36))+r9] pslld xmm7,30 paddd xmm14,xmm6 psrld xmm11,2 paddd xmm14,xmm8 DB 102,15,56,0,205 - movd xmm8,DWORD PTR[((-36))+r10] + movd xmm8,DWORD PTR[((-36))+r10] por xmm11,xmm7 - movd xmm7,DWORD PTR[((-36))+r11] + movd xmm7,DWORD PTR[((-36))+r11] punpckldq xmm2,xmm8 movdqa xmm8,xmm14 paddd xmm13,xmm15 @@ -301,24 +301,24 @@ DB 102,15,56,0,205 punpckldq xmm2,xmm9 movdqa xmm9,xmm14 - movdqa XMMWORD PTR[(96-128)+rax],xmm1 + movdqa XMMWORD PTR[(96-128)+rax],xmm1 paddd xmm13,xmm1 - movd xmm3,DWORD PTR[((-32))+r8] + movd xmm3,DWORD PTR[((-32))+r8] psrld xmm9,27 pxor xmm6,xmm7 movdqa xmm7,xmm10 por xmm8,xmm9 - movd xmm9,DWORD PTR[((-32))+r9] + movd xmm9,DWORD PTR[((-32))+r9] pslld xmm7,30 paddd xmm13,xmm6 psrld xmm10,2 paddd xmm13,xmm8 DB 102,15,56,0,213 - movd xmm8,DWORD PTR[((-32))+r10] + movd xmm8,DWORD PTR[((-32))+r10] por xmm10,xmm7 - movd xmm7,DWORD PTR[((-32))+r11] + movd xmm7,DWORD PTR[((-32))+r11] punpckldq xmm3,xmm8 movdqa xmm8,xmm13 paddd xmm12,xmm15 @@ -331,24 +331,24 @@ DB 102,15,56,0,213 punpckldq xmm3,xmm9 movdqa xmm9,xmm13 - movdqa XMMWORD PTR[(112-128)+rax],xmm2 + movdqa XMMWORD PTR[(112-128)+rax],xmm2 paddd xmm12,xmm2 - movd xmm4,DWORD PTR[((-28))+r8] + movd xmm4,DWORD PTR[((-28))+r8] psrld xmm9,27 pxor xmm6,xmm7 movdqa xmm7,xmm14 por xmm8,xmm9 - movd xmm9,DWORD PTR[((-28))+r9] + movd xmm9,DWORD PTR[((-28))+r9] pslld xmm7,30 paddd xmm12,xmm6 psrld xmm14,2 paddd xmm12,xmm8 DB 102,15,56,0,221 - movd xmm8,DWORD PTR[((-28))+r10] + movd xmm8,DWORD PTR[((-28))+r10] por xmm14,xmm7 - movd xmm7,DWORD PTR[((-28))+r11] + movd xmm7,DWORD PTR[((-28))+r11] punpckldq xmm4,xmm8 movdqa xmm8,xmm12 paddd xmm11,xmm15 @@ -361,24 +361,24 @@ DB 102,15,56,0,221 punpckldq xmm4,xmm9 movdqa xmm9,xmm12 - movdqa XMMWORD PTR[(128-128)+rax],xmm3 + movdqa XMMWORD PTR[(128-128)+rax],xmm3 paddd xmm11,xmm3 - movd xmm0,DWORD PTR[((-24))+r8] + movd xmm0,DWORD PTR[((-24))+r8] psrld xmm9,27 pxor xmm6,xmm7 movdqa xmm7,xmm13 por xmm8,xmm9 - movd xmm9,DWORD PTR[((-24))+r9] + movd xmm9,DWORD PTR[((-24))+r9] pslld xmm7,30 paddd xmm11,xmm6 psrld xmm13,2 paddd xmm11,xmm8 DB 102,15,56,0,229 - movd xmm8,DWORD PTR[((-24))+r10] + movd xmm8,DWORD PTR[((-24))+r10] por xmm13,xmm7 - movd xmm7,DWORD PTR[((-24))+r11] + movd xmm7,DWORD PTR[((-24))+r11] punpckldq xmm0,xmm8 movdqa xmm8,xmm11 paddd xmm10,xmm15 @@ -391,24 +391,24 @@ DB 102,15,56,0,229 punpckldq xmm0,xmm9 movdqa xmm9,xmm11 - movdqa XMMWORD PTR[(144-128)+rax],xmm4 + movdqa XMMWORD PTR[(144-128)+rax],xmm4 paddd xmm10,xmm4 - movd xmm1,DWORD PTR[((-20))+r8] + movd xmm1,DWORD PTR[((-20))+r8] psrld xmm9,27 pxor xmm6,xmm7 movdqa xmm7,xmm12 por xmm8,xmm9 - movd xmm9,DWORD PTR[((-20))+r9] + movd xmm9,DWORD PTR[((-20))+r9] pslld xmm7,30 paddd xmm10,xmm6 psrld xmm12,2 paddd xmm10,xmm8 DB 102,15,56,0,197 - movd xmm8,DWORD PTR[((-20))+r10] + movd xmm8,DWORD PTR[((-20))+r10] por xmm12,xmm7 - movd xmm7,DWORD PTR[((-20))+r11] + movd xmm7,DWORD PTR[((-20))+r11] punpckldq xmm1,xmm8 movdqa xmm8,xmm10 paddd xmm14,xmm15 @@ -421,24 +421,24 @@ DB 102,15,56,0,197 punpckldq xmm1,xmm9 movdqa xmm9,xmm10 - movdqa XMMWORD PTR[(160-128)+rax],xmm0 + movdqa XMMWORD PTR[(160-128)+rax],xmm0 paddd xmm14,xmm0 - movd xmm2,DWORD PTR[((-16))+r8] + movd xmm2,DWORD PTR[((-16))+r8] psrld xmm9,27 pxor xmm6,xmm7 movdqa xmm7,xmm11 por xmm8,xmm9 - movd xmm9,DWORD PTR[((-16))+r9] + movd xmm9,DWORD PTR[((-16))+r9] pslld xmm7,30 paddd xmm14,xmm6 psrld xmm11,2 paddd xmm14,xmm8 DB 102,15,56,0,205 - movd xmm8,DWORD PTR[((-16))+r10] + movd xmm8,DWORD PTR[((-16))+r10] por xmm11,xmm7 - movd xmm7,DWORD PTR[((-16))+r11] + movd xmm7,DWORD PTR[((-16))+r11] punpckldq xmm2,xmm8 movdqa xmm8,xmm14 paddd xmm13,xmm15 @@ -451,24 +451,24 @@ DB 102,15,56,0,205 punpckldq xmm2,xmm9 movdqa xmm9,xmm14 - movdqa XMMWORD PTR[(176-128)+rax],xmm1 + movdqa XMMWORD PTR[(176-128)+rax],xmm1 paddd xmm13,xmm1 - movd xmm3,DWORD PTR[((-12))+r8] + movd xmm3,DWORD PTR[((-12))+r8] psrld xmm9,27 pxor xmm6,xmm7 movdqa xmm7,xmm10 por xmm8,xmm9 - movd xmm9,DWORD PTR[((-12))+r9] + movd xmm9,DWORD PTR[((-12))+r9] pslld xmm7,30 paddd xmm13,xmm6 psrld xmm10,2 paddd xmm13,xmm8 DB 102,15,56,0,213 - movd xmm8,DWORD PTR[((-12))+r10] + movd xmm8,DWORD PTR[((-12))+r10] por xmm10,xmm7 - movd xmm7,DWORD PTR[((-12))+r11] + movd xmm7,DWORD PTR[((-12))+r11] punpckldq xmm3,xmm8 movdqa xmm8,xmm13 paddd xmm12,xmm15 @@ -481,24 +481,24 @@ DB 102,15,56,0,213 punpckldq xmm3,xmm9 movdqa xmm9,xmm13 - movdqa XMMWORD PTR[(192-128)+rax],xmm2 + movdqa XMMWORD PTR[(192-128)+rax],xmm2 paddd xmm12,xmm2 - movd xmm4,DWORD PTR[((-8))+r8] + movd xmm4,DWORD PTR[((-8))+r8] psrld xmm9,27 pxor xmm6,xmm7 movdqa xmm7,xmm14 por xmm8,xmm9 - movd xmm9,DWORD PTR[((-8))+r9] + movd xmm9,DWORD PTR[((-8))+r9] pslld xmm7,30 paddd xmm12,xmm6 psrld xmm14,2 paddd xmm12,xmm8 DB 102,15,56,0,221 - movd xmm8,DWORD PTR[((-8))+r10] + movd xmm8,DWORD PTR[((-8))+r10] por xmm14,xmm7 - movd xmm7,DWORD PTR[((-8))+r11] + movd xmm7,DWORD PTR[((-8))+r11] punpckldq xmm4,xmm8 movdqa xmm8,xmm12 paddd xmm11,xmm15 @@ -511,25 +511,25 @@ DB 102,15,56,0,221 punpckldq xmm4,xmm9 movdqa xmm9,xmm12 - movdqa XMMWORD PTR[(208-128)+rax],xmm3 + movdqa XMMWORD PTR[(208-128)+rax],xmm3 paddd xmm11,xmm3 - movd xmm0,DWORD PTR[((-4))+r8] + movd xmm0,DWORD PTR[((-4))+r8] psrld xmm9,27 pxor xmm6,xmm7 movdqa xmm7,xmm13 por xmm8,xmm9 - movd xmm9,DWORD PTR[((-4))+r9] + movd xmm9,DWORD PTR[((-4))+r9] pslld xmm7,30 paddd xmm11,xmm6 psrld xmm13,2 paddd xmm11,xmm8 DB 102,15,56,0,229 - movd xmm8,DWORD PTR[((-4))+r10] + movd xmm8,DWORD PTR[((-4))+r10] por xmm13,xmm7 - movdqa xmm1,XMMWORD PTR[((0-128))+rax] - movd xmm7,DWORD PTR[((-4))+r11] + movdqa xmm1,XMMWORD PTR[((0-128))+rax] + movd xmm7,DWORD PTR[((-4))+r11] punpckldq xmm0,xmm8 movdqa xmm8,xmm11 paddd xmm10,xmm15 @@ -543,7 +543,7 @@ DB 102,15,56,0,229 punpckldq xmm0,xmm9 movdqa xmm9,xmm11 - movdqa XMMWORD PTR[(224-128)+rax],xmm4 + movdqa XMMWORD PTR[(224-128)+rax],xmm4 paddd xmm10,xmm4 psrld xmm9,27 pxor xmm6,xmm7 @@ -560,12 +560,12 @@ DB 102,15,56,0,229 DB 102,15,56,0,197 prefetcht0 [63+r11] por xmm12,xmm7 - movdqa xmm2,XMMWORD PTR[((16-128))+rax] + movdqa xmm2,XMMWORD PTR[((16-128))+rax] pxor xmm1,xmm3 - movdqa xmm3,XMMWORD PTR[((32-128))+rax] + movdqa xmm3,XMMWORD PTR[((32-128))+rax] movdqa xmm8,xmm10 - pxor xmm1,XMMWORD PTR[((128-128))+rax] + pxor xmm1,XMMWORD PTR[((128-128))+rax] paddd xmm14,xmm15 movdqa xmm7,xmm11 pslld xmm8,5 @@ -578,7 +578,7 @@ DB 102,15,56,0,197 psrld xmm5,31 paddd xmm1,xmm1 - movdqa XMMWORD PTR[(240-128)+rax],xmm0 + movdqa XMMWORD PTR[(240-128)+rax],xmm0 paddd xmm14,xmm0 psrld xmm9,27 pxor xmm6,xmm7 @@ -593,10 +593,10 @@ DB 102,15,56,0,197 por xmm1,xmm5 por xmm11,xmm7 pxor xmm2,xmm4 - movdqa xmm4,XMMWORD PTR[((48-128))+rax] + movdqa xmm4,XMMWORD PTR[((48-128))+rax] movdqa xmm8,xmm14 - pxor xmm2,XMMWORD PTR[((144-128))+rax] + pxor xmm2,XMMWORD PTR[((144-128))+rax] paddd xmm13,xmm15 movdqa xmm7,xmm10 pslld xmm8,5 @@ -609,7 +609,7 @@ DB 102,15,56,0,197 psrld xmm5,31 paddd xmm2,xmm2 - movdqa XMMWORD PTR[(0-128)+rax],xmm1 + movdqa XMMWORD PTR[(0-128)+rax],xmm1 paddd xmm13,xmm1 psrld xmm9,27 pxor xmm6,xmm7 @@ -624,10 +624,10 @@ DB 102,15,56,0,197 por xmm2,xmm5 por xmm10,xmm7 pxor xmm3,xmm0 - movdqa xmm0,XMMWORD PTR[((64-128))+rax] + movdqa xmm0,XMMWORD PTR[((64-128))+rax] movdqa xmm8,xmm13 - pxor xmm3,XMMWORD PTR[((160-128))+rax] + pxor xmm3,XMMWORD PTR[((160-128))+rax] paddd xmm12,xmm15 movdqa xmm7,xmm14 pslld xmm8,5 @@ -640,7 +640,7 @@ DB 102,15,56,0,197 psrld xmm5,31 paddd xmm3,xmm3 - movdqa XMMWORD PTR[(16-128)+rax],xmm2 + movdqa XMMWORD PTR[(16-128)+rax],xmm2 paddd xmm12,xmm2 psrld xmm9,27 pxor xmm6,xmm7 @@ -655,10 +655,10 @@ DB 102,15,56,0,197 por xmm3,xmm5 por xmm14,xmm7 pxor xmm4,xmm1 - movdqa xmm1,XMMWORD PTR[((80-128))+rax] + movdqa xmm1,XMMWORD PTR[((80-128))+rax] movdqa xmm8,xmm12 - pxor xmm4,XMMWORD PTR[((176-128))+rax] + pxor xmm4,XMMWORD PTR[((176-128))+rax] paddd xmm11,xmm15 movdqa xmm7,xmm13 pslld xmm8,5 @@ -671,7 +671,7 @@ DB 102,15,56,0,197 psrld xmm5,31 paddd xmm4,xmm4 - movdqa XMMWORD PTR[(32-128)+rax],xmm3 + movdqa XMMWORD PTR[(32-128)+rax],xmm3 paddd xmm11,xmm3 psrld xmm9,27 pxor xmm6,xmm7 @@ -686,10 +686,10 @@ DB 102,15,56,0,197 por xmm4,xmm5 por xmm13,xmm7 pxor xmm0,xmm2 - movdqa xmm2,XMMWORD PTR[((96-128))+rax] + movdqa xmm2,XMMWORD PTR[((96-128))+rax] movdqa xmm8,xmm11 - pxor xmm0,XMMWORD PTR[((192-128))+rax] + pxor xmm0,XMMWORD PTR[((192-128))+rax] paddd xmm10,xmm15 movdqa xmm7,xmm12 pslld xmm8,5 @@ -702,7 +702,7 @@ DB 102,15,56,0,197 psrld xmm5,31 paddd xmm0,xmm0 - movdqa XMMWORD PTR[(48-128)+rax],xmm4 + movdqa XMMWORD PTR[(48-128)+rax],xmm4 paddd xmm10,xmm4 psrld xmm9,27 pxor xmm6,xmm7 @@ -716,19 +716,19 @@ DB 102,15,56,0,197 paddd xmm10,xmm8 por xmm0,xmm5 por xmm12,xmm7 - movdqa xmm15,XMMWORD PTR[rbp] + movdqa xmm15,XMMWORD PTR[rbp] pxor xmm1,xmm3 - movdqa xmm3,XMMWORD PTR[((112-128))+rax] + movdqa xmm3,XMMWORD PTR[((112-128))+rax] movdqa xmm8,xmm10 movdqa xmm6,xmm13 - pxor xmm1,XMMWORD PTR[((208-128))+rax] + pxor xmm1,XMMWORD PTR[((208-128))+rax] paddd xmm14,xmm15 pslld xmm8,5 pxor xmm6,xmm11 movdqa xmm9,xmm10 - movdqa XMMWORD PTR[(64-128)+rax],xmm0 + movdqa XMMWORD PTR[(64-128)+rax],xmm0 paddd xmm14,xmm0 pxor xmm1,xmm3 psrld xmm9,27 @@ -747,17 +747,17 @@ DB 102,15,56,0,197 por xmm1,xmm5 por xmm11,xmm7 pxor xmm2,xmm4 - movdqa xmm4,XMMWORD PTR[((128-128))+rax] + movdqa xmm4,XMMWORD PTR[((128-128))+rax] movdqa xmm8,xmm14 movdqa xmm6,xmm12 - pxor xmm2,XMMWORD PTR[((224-128))+rax] + pxor xmm2,XMMWORD PTR[((224-128))+rax] paddd xmm13,xmm15 pslld xmm8,5 pxor xmm6,xmm10 movdqa xmm9,xmm14 - movdqa XMMWORD PTR[(80-128)+rax],xmm1 + movdqa XMMWORD PTR[(80-128)+rax],xmm1 paddd xmm13,xmm1 pxor xmm2,xmm4 psrld xmm9,27 @@ -776,17 +776,17 @@ DB 102,15,56,0,197 por xmm2,xmm5 por xmm10,xmm7 pxor xmm3,xmm0 - movdqa xmm0,XMMWORD PTR[((144-128))+rax] + movdqa xmm0,XMMWORD PTR[((144-128))+rax] movdqa xmm8,xmm13 movdqa xmm6,xmm11 - pxor xmm3,XMMWORD PTR[((240-128))+rax] + pxor xmm3,XMMWORD PTR[((240-128))+rax] paddd xmm12,xmm15 pslld xmm8,5 pxor xmm6,xmm14 movdqa xmm9,xmm13 - movdqa XMMWORD PTR[(96-128)+rax],xmm2 + movdqa XMMWORD PTR[(96-128)+rax],xmm2 paddd xmm12,xmm2 pxor xmm3,xmm0 psrld xmm9,27 @@ -805,17 +805,17 @@ DB 102,15,56,0,197 por xmm3,xmm5 por xmm14,xmm7 pxor xmm4,xmm1 - movdqa xmm1,XMMWORD PTR[((160-128))+rax] + movdqa xmm1,XMMWORD PTR[((160-128))+rax] movdqa xmm8,xmm12 movdqa xmm6,xmm10 - pxor xmm4,XMMWORD PTR[((0-128))+rax] + pxor xmm4,XMMWORD PTR[((0-128))+rax] paddd xmm11,xmm15 pslld xmm8,5 pxor xmm6,xmm13 movdqa xmm9,xmm12 - movdqa XMMWORD PTR[(112-128)+rax],xmm3 + movdqa XMMWORD PTR[(112-128)+rax],xmm3 paddd xmm11,xmm3 pxor xmm4,xmm1 psrld xmm9,27 @@ -834,17 +834,17 @@ DB 102,15,56,0,197 por xmm4,xmm5 por xmm13,xmm7 pxor xmm0,xmm2 - movdqa xmm2,XMMWORD PTR[((176-128))+rax] + movdqa xmm2,XMMWORD PTR[((176-128))+rax] movdqa xmm8,xmm11 movdqa xmm6,xmm14 - pxor xmm0,XMMWORD PTR[((16-128))+rax] + pxor xmm0,XMMWORD PTR[((16-128))+rax] paddd xmm10,xmm15 pslld xmm8,5 pxor xmm6,xmm12 movdqa xmm9,xmm11 - movdqa XMMWORD PTR[(128-128)+rax],xmm4 + movdqa XMMWORD PTR[(128-128)+rax],xmm4 paddd xmm10,xmm4 pxor xmm0,xmm2 psrld xmm9,27 @@ -863,17 +863,17 @@ DB 102,15,56,0,197 por xmm0,xmm5 por xmm12,xmm7 pxor xmm1,xmm3 - movdqa xmm3,XMMWORD PTR[((192-128))+rax] + movdqa xmm3,XMMWORD PTR[((192-128))+rax] movdqa xmm8,xmm10 movdqa xmm6,xmm13 - pxor xmm1,XMMWORD PTR[((32-128))+rax] + pxor xmm1,XMMWORD PTR[((32-128))+rax] paddd xmm14,xmm15 pslld xmm8,5 pxor xmm6,xmm11 movdqa xmm9,xmm10 - movdqa XMMWORD PTR[(144-128)+rax],xmm0 + movdqa XMMWORD PTR[(144-128)+rax],xmm0 paddd xmm14,xmm0 pxor xmm1,xmm3 psrld xmm9,27 @@ -892,17 +892,17 @@ DB 102,15,56,0,197 por xmm1,xmm5 por xmm11,xmm7 pxor xmm2,xmm4 - movdqa xmm4,XMMWORD PTR[((208-128))+rax] + movdqa xmm4,XMMWORD PTR[((208-128))+rax] movdqa xmm8,xmm14 movdqa xmm6,xmm12 - pxor xmm2,XMMWORD PTR[((48-128))+rax] + pxor xmm2,XMMWORD PTR[((48-128))+rax] paddd xmm13,xmm15 pslld xmm8,5 pxor xmm6,xmm10 movdqa xmm9,xmm14 - movdqa XMMWORD PTR[(160-128)+rax],xmm1 + movdqa XMMWORD PTR[(160-128)+rax],xmm1 paddd xmm13,xmm1 pxor xmm2,xmm4 psrld xmm9,27 @@ -921,17 +921,17 @@ DB 102,15,56,0,197 por xmm2,xmm5 por xmm10,xmm7 pxor xmm3,xmm0 - movdqa xmm0,XMMWORD PTR[((224-128))+rax] + movdqa xmm0,XMMWORD PTR[((224-128))+rax] movdqa xmm8,xmm13 movdqa xmm6,xmm11 - pxor xmm3,XMMWORD PTR[((64-128))+rax] + pxor xmm3,XMMWORD PTR[((64-128))+rax] paddd xmm12,xmm15 pslld xmm8,5 pxor xmm6,xmm14 movdqa xmm9,xmm13 - movdqa XMMWORD PTR[(176-128)+rax],xmm2 + movdqa XMMWORD PTR[(176-128)+rax],xmm2 paddd xmm12,xmm2 pxor xmm3,xmm0 psrld xmm9,27 @@ -950,17 +950,17 @@ DB 102,15,56,0,197 por xmm3,xmm5 por xmm14,xmm7 pxor xmm4,xmm1 - movdqa xmm1,XMMWORD PTR[((240-128))+rax] + movdqa xmm1,XMMWORD PTR[((240-128))+rax] movdqa xmm8,xmm12 movdqa xmm6,xmm10 - pxor xmm4,XMMWORD PTR[((80-128))+rax] + pxor xmm4,XMMWORD PTR[((80-128))+rax] paddd xmm11,xmm15 pslld xmm8,5 pxor xmm6,xmm13 movdqa xmm9,xmm12 - movdqa XMMWORD PTR[(192-128)+rax],xmm3 + movdqa XMMWORD PTR[(192-128)+rax],xmm3 paddd xmm11,xmm3 pxor xmm4,xmm1 psrld xmm9,27 @@ -979,17 +979,17 @@ DB 102,15,56,0,197 por xmm4,xmm5 por xmm13,xmm7 pxor xmm0,xmm2 - movdqa xmm2,XMMWORD PTR[((0-128))+rax] + movdqa xmm2,XMMWORD PTR[((0-128))+rax] movdqa xmm8,xmm11 movdqa xmm6,xmm14 - pxor xmm0,XMMWORD PTR[((96-128))+rax] + pxor xmm0,XMMWORD PTR[((96-128))+rax] paddd xmm10,xmm15 pslld xmm8,5 pxor xmm6,xmm12 movdqa xmm9,xmm11 - movdqa XMMWORD PTR[(208-128)+rax],xmm4 + movdqa XMMWORD PTR[(208-128)+rax],xmm4 paddd xmm10,xmm4 pxor xmm0,xmm2 psrld xmm9,27 @@ -1008,17 +1008,17 @@ DB 102,15,56,0,197 por xmm0,xmm5 por xmm12,xmm7 pxor xmm1,xmm3 - movdqa xmm3,XMMWORD PTR[((16-128))+rax] + movdqa xmm3,XMMWORD PTR[((16-128))+rax] movdqa xmm8,xmm10 movdqa xmm6,xmm13 - pxor xmm1,XMMWORD PTR[((112-128))+rax] + pxor xmm1,XMMWORD PTR[((112-128))+rax] paddd xmm14,xmm15 pslld xmm8,5 pxor xmm6,xmm11 movdqa xmm9,xmm10 - movdqa XMMWORD PTR[(224-128)+rax],xmm0 + movdqa XMMWORD PTR[(224-128)+rax],xmm0 paddd xmm14,xmm0 pxor xmm1,xmm3 psrld xmm9,27 @@ -1037,17 +1037,17 @@ DB 102,15,56,0,197 por xmm1,xmm5 por xmm11,xmm7 pxor xmm2,xmm4 - movdqa xmm4,XMMWORD PTR[((32-128))+rax] + movdqa xmm4,XMMWORD PTR[((32-128))+rax] movdqa xmm8,xmm14 movdqa xmm6,xmm12 - pxor xmm2,XMMWORD PTR[((128-128))+rax] + pxor xmm2,XMMWORD PTR[((128-128))+rax] paddd xmm13,xmm15 pslld xmm8,5 pxor xmm6,xmm10 movdqa xmm9,xmm14 - movdqa XMMWORD PTR[(240-128)+rax],xmm1 + movdqa XMMWORD PTR[(240-128)+rax],xmm1 paddd xmm13,xmm1 pxor xmm2,xmm4 psrld xmm9,27 @@ -1066,17 +1066,17 @@ DB 102,15,56,0,197 por xmm2,xmm5 por xmm10,xmm7 pxor xmm3,xmm0 - movdqa xmm0,XMMWORD PTR[((48-128))+rax] + movdqa xmm0,XMMWORD PTR[((48-128))+rax] movdqa xmm8,xmm13 movdqa xmm6,xmm11 - pxor xmm3,XMMWORD PTR[((144-128))+rax] + pxor xmm3,XMMWORD PTR[((144-128))+rax] paddd xmm12,xmm15 pslld xmm8,5 pxor xmm6,xmm14 movdqa xmm9,xmm13 - movdqa XMMWORD PTR[(0-128)+rax],xmm2 + movdqa XMMWORD PTR[(0-128)+rax],xmm2 paddd xmm12,xmm2 pxor xmm3,xmm0 psrld xmm9,27 @@ -1095,17 +1095,17 @@ DB 102,15,56,0,197 por xmm3,xmm5 por xmm14,xmm7 pxor xmm4,xmm1 - movdqa xmm1,XMMWORD PTR[((64-128))+rax] + movdqa xmm1,XMMWORD PTR[((64-128))+rax] movdqa xmm8,xmm12 movdqa xmm6,xmm10 - pxor xmm4,XMMWORD PTR[((160-128))+rax] + pxor xmm4,XMMWORD PTR[((160-128))+rax] paddd xmm11,xmm15 pslld xmm8,5 pxor xmm6,xmm13 movdqa xmm9,xmm12 - movdqa XMMWORD PTR[(16-128)+rax],xmm3 + movdqa XMMWORD PTR[(16-128)+rax],xmm3 paddd xmm11,xmm3 pxor xmm4,xmm1 psrld xmm9,27 @@ -1124,17 +1124,17 @@ DB 102,15,56,0,197 por xmm4,xmm5 por xmm13,xmm7 pxor xmm0,xmm2 - movdqa xmm2,XMMWORD PTR[((80-128))+rax] + movdqa xmm2,XMMWORD PTR[((80-128))+rax] movdqa xmm8,xmm11 movdqa xmm6,xmm14 - pxor xmm0,XMMWORD PTR[((176-128))+rax] + pxor xmm0,XMMWORD PTR[((176-128))+rax] paddd xmm10,xmm15 pslld xmm8,5 pxor xmm6,xmm12 movdqa xmm9,xmm11 - movdqa XMMWORD PTR[(32-128)+rax],xmm4 + movdqa XMMWORD PTR[(32-128)+rax],xmm4 paddd xmm10,xmm4 pxor xmm0,xmm2 psrld xmm9,27 @@ -1153,17 +1153,17 @@ DB 102,15,56,0,197 por xmm0,xmm5 por xmm12,xmm7 pxor xmm1,xmm3 - movdqa xmm3,XMMWORD PTR[((96-128))+rax] + movdqa xmm3,XMMWORD PTR[((96-128))+rax] movdqa xmm8,xmm10 movdqa xmm6,xmm13 - pxor xmm1,XMMWORD PTR[((192-128))+rax] + pxor xmm1,XMMWORD PTR[((192-128))+rax] paddd xmm14,xmm15 pslld xmm8,5 pxor xmm6,xmm11 movdqa xmm9,xmm10 - movdqa XMMWORD PTR[(48-128)+rax],xmm0 + movdqa XMMWORD PTR[(48-128)+rax],xmm0 paddd xmm14,xmm0 pxor xmm1,xmm3 psrld xmm9,27 @@ -1182,17 +1182,17 @@ DB 102,15,56,0,197 por xmm1,xmm5 por xmm11,xmm7 pxor xmm2,xmm4 - movdqa xmm4,XMMWORD PTR[((112-128))+rax] + movdqa xmm4,XMMWORD PTR[((112-128))+rax] movdqa xmm8,xmm14 movdqa xmm6,xmm12 - pxor xmm2,XMMWORD PTR[((208-128))+rax] + pxor xmm2,XMMWORD PTR[((208-128))+rax] paddd xmm13,xmm15 pslld xmm8,5 pxor xmm6,xmm10 movdqa xmm9,xmm14 - movdqa XMMWORD PTR[(64-128)+rax],xmm1 + movdqa XMMWORD PTR[(64-128)+rax],xmm1 paddd xmm13,xmm1 pxor xmm2,xmm4 psrld xmm9,27 @@ -1211,17 +1211,17 @@ DB 102,15,56,0,197 por xmm2,xmm5 por xmm10,xmm7 pxor xmm3,xmm0 - movdqa xmm0,XMMWORD PTR[((128-128))+rax] + movdqa xmm0,XMMWORD PTR[((128-128))+rax] movdqa xmm8,xmm13 movdqa xmm6,xmm11 - pxor xmm3,XMMWORD PTR[((224-128))+rax] + pxor xmm3,XMMWORD PTR[((224-128))+rax] paddd xmm12,xmm15 pslld xmm8,5 pxor xmm6,xmm14 movdqa xmm9,xmm13 - movdqa XMMWORD PTR[(80-128)+rax],xmm2 + movdqa XMMWORD PTR[(80-128)+rax],xmm2 paddd xmm12,xmm2 pxor xmm3,xmm0 psrld xmm9,27 @@ -1240,17 +1240,17 @@ DB 102,15,56,0,197 por xmm3,xmm5 por xmm14,xmm7 pxor xmm4,xmm1 - movdqa xmm1,XMMWORD PTR[((144-128))+rax] + movdqa xmm1,XMMWORD PTR[((144-128))+rax] movdqa xmm8,xmm12 movdqa xmm6,xmm10 - pxor xmm4,XMMWORD PTR[((240-128))+rax] + pxor xmm4,XMMWORD PTR[((240-128))+rax] paddd xmm11,xmm15 pslld xmm8,5 pxor xmm6,xmm13 movdqa xmm9,xmm12 - movdqa XMMWORD PTR[(96-128)+rax],xmm3 + movdqa XMMWORD PTR[(96-128)+rax],xmm3 paddd xmm11,xmm3 pxor xmm4,xmm1 psrld xmm9,27 @@ -1269,17 +1269,17 @@ DB 102,15,56,0,197 por xmm4,xmm5 por xmm13,xmm7 pxor xmm0,xmm2 - movdqa xmm2,XMMWORD PTR[((160-128))+rax] + movdqa xmm2,XMMWORD PTR[((160-128))+rax] movdqa xmm8,xmm11 movdqa xmm6,xmm14 - pxor xmm0,XMMWORD PTR[((0-128))+rax] + pxor xmm0,XMMWORD PTR[((0-128))+rax] paddd xmm10,xmm15 pslld xmm8,5 pxor xmm6,xmm12 movdqa xmm9,xmm11 - movdqa XMMWORD PTR[(112-128)+rax],xmm4 + movdqa XMMWORD PTR[(112-128)+rax],xmm4 paddd xmm10,xmm4 pxor xmm0,xmm2 psrld xmm9,27 @@ -1297,13 +1297,13 @@ DB 102,15,56,0,197 paddd xmm10,xmm8 por xmm0,xmm5 por xmm12,xmm7 - movdqa xmm15,XMMWORD PTR[32+rbp] + movdqa xmm15,XMMWORD PTR[32+rbp] pxor xmm1,xmm3 - movdqa xmm3,XMMWORD PTR[((176-128))+rax] + movdqa xmm3,XMMWORD PTR[((176-128))+rax] movdqa xmm8,xmm10 movdqa xmm7,xmm13 - pxor xmm1,XMMWORD PTR[((16-128))+rax] + pxor xmm1,XMMWORD PTR[((16-128))+rax] pxor xmm1,xmm3 paddd xmm14,xmm15 pslld xmm8,5 @@ -1316,7 +1316,7 @@ DB 102,15,56,0,197 paddd xmm14,xmm7 pxor xmm6,xmm12 - movdqa XMMWORD PTR[(128-128)+rax],xmm0 + movdqa XMMWORD PTR[(128-128)+rax],xmm0 paddd xmm14,xmm0 por xmm8,xmm9 psrld xmm5,31 @@ -1332,11 +1332,11 @@ DB 102,15,56,0,197 por xmm1,xmm5 por xmm11,xmm7 pxor xmm2,xmm4 - movdqa xmm4,XMMWORD PTR[((192-128))+rax] + movdqa xmm4,XMMWORD PTR[((192-128))+rax] movdqa xmm8,xmm14 movdqa xmm7,xmm12 - pxor xmm2,XMMWORD PTR[((32-128))+rax] + pxor xmm2,XMMWORD PTR[((32-128))+rax] pxor xmm2,xmm4 paddd xmm13,xmm15 pslld xmm8,5 @@ -1349,7 +1349,7 @@ DB 102,15,56,0,197 paddd xmm13,xmm7 pxor xmm6,xmm11 - movdqa XMMWORD PTR[(144-128)+rax],xmm1 + movdqa XMMWORD PTR[(144-128)+rax],xmm1 paddd xmm13,xmm1 por xmm8,xmm9 psrld xmm5,31 @@ -1365,11 +1365,11 @@ DB 102,15,56,0,197 por xmm2,xmm5 por xmm10,xmm7 pxor xmm3,xmm0 - movdqa xmm0,XMMWORD PTR[((208-128))+rax] + movdqa xmm0,XMMWORD PTR[((208-128))+rax] movdqa xmm8,xmm13 movdqa xmm7,xmm11 - pxor xmm3,XMMWORD PTR[((48-128))+rax] + pxor xmm3,XMMWORD PTR[((48-128))+rax] pxor xmm3,xmm0 paddd xmm12,xmm15 pslld xmm8,5 @@ -1382,7 +1382,7 @@ DB 102,15,56,0,197 paddd xmm12,xmm7 pxor xmm6,xmm10 - movdqa XMMWORD PTR[(160-128)+rax],xmm2 + movdqa XMMWORD PTR[(160-128)+rax],xmm2 paddd xmm12,xmm2 por xmm8,xmm9 psrld xmm5,31 @@ -1398,11 +1398,11 @@ DB 102,15,56,0,197 por xmm3,xmm5 por xmm14,xmm7 pxor xmm4,xmm1 - movdqa xmm1,XMMWORD PTR[((224-128))+rax] + movdqa xmm1,XMMWORD PTR[((224-128))+rax] movdqa xmm8,xmm12 movdqa xmm7,xmm10 - pxor xmm4,XMMWORD PTR[((64-128))+rax] + pxor xmm4,XMMWORD PTR[((64-128))+rax] pxor xmm4,xmm1 paddd xmm11,xmm15 pslld xmm8,5 @@ -1415,7 +1415,7 @@ DB 102,15,56,0,197 paddd xmm11,xmm7 pxor xmm6,xmm14 - movdqa XMMWORD PTR[(176-128)+rax],xmm3 + movdqa XMMWORD PTR[(176-128)+rax],xmm3 paddd xmm11,xmm3 por xmm8,xmm9 psrld xmm5,31 @@ -1431,11 +1431,11 @@ DB 102,15,56,0,197 por xmm4,xmm5 por xmm13,xmm7 pxor xmm0,xmm2 - movdqa xmm2,XMMWORD PTR[((240-128))+rax] + movdqa xmm2,XMMWORD PTR[((240-128))+rax] movdqa xmm8,xmm11 movdqa xmm7,xmm14 - pxor xmm0,XMMWORD PTR[((80-128))+rax] + pxor xmm0,XMMWORD PTR[((80-128))+rax] pxor xmm0,xmm2 paddd xmm10,xmm15 pslld xmm8,5 @@ -1448,7 +1448,7 @@ DB 102,15,56,0,197 paddd xmm10,xmm7 pxor xmm6,xmm13 - movdqa XMMWORD PTR[(192-128)+rax],xmm4 + movdqa XMMWORD PTR[(192-128)+rax],xmm4 paddd xmm10,xmm4 por xmm8,xmm9 psrld xmm5,31 @@ -1464,11 +1464,11 @@ DB 102,15,56,0,197 por xmm0,xmm5 por xmm12,xmm7 pxor xmm1,xmm3 - movdqa xmm3,XMMWORD PTR[((0-128))+rax] + movdqa xmm3,XMMWORD PTR[((0-128))+rax] movdqa xmm8,xmm10 movdqa xmm7,xmm13 - pxor xmm1,XMMWORD PTR[((96-128))+rax] + pxor xmm1,XMMWORD PTR[((96-128))+rax] pxor xmm1,xmm3 paddd xmm14,xmm15 pslld xmm8,5 @@ -1481,7 +1481,7 @@ DB 102,15,56,0,197 paddd xmm14,xmm7 pxor xmm6,xmm12 - movdqa XMMWORD PTR[(208-128)+rax],xmm0 + movdqa XMMWORD PTR[(208-128)+rax],xmm0 paddd xmm14,xmm0 por xmm8,xmm9 psrld xmm5,31 @@ -1497,11 +1497,11 @@ DB 102,15,56,0,197 por xmm1,xmm5 por xmm11,xmm7 pxor xmm2,xmm4 - movdqa xmm4,XMMWORD PTR[((16-128))+rax] + movdqa xmm4,XMMWORD PTR[((16-128))+rax] movdqa xmm8,xmm14 movdqa xmm7,xmm12 - pxor xmm2,XMMWORD PTR[((112-128))+rax] + pxor xmm2,XMMWORD PTR[((112-128))+rax] pxor xmm2,xmm4 paddd xmm13,xmm15 pslld xmm8,5 @@ -1514,7 +1514,7 @@ DB 102,15,56,0,197 paddd xmm13,xmm7 pxor xmm6,xmm11 - movdqa XMMWORD PTR[(224-128)+rax],xmm1 + movdqa XMMWORD PTR[(224-128)+rax],xmm1 paddd xmm13,xmm1 por xmm8,xmm9 psrld xmm5,31 @@ -1530,11 +1530,11 @@ DB 102,15,56,0,197 por xmm2,xmm5 por xmm10,xmm7 pxor xmm3,xmm0 - movdqa xmm0,XMMWORD PTR[((32-128))+rax] + movdqa xmm0,XMMWORD PTR[((32-128))+rax] movdqa xmm8,xmm13 movdqa xmm7,xmm11 - pxor xmm3,XMMWORD PTR[((128-128))+rax] + pxor xmm3,XMMWORD PTR[((128-128))+rax] pxor xmm3,xmm0 paddd xmm12,xmm15 pslld xmm8,5 @@ -1547,7 +1547,7 @@ DB 102,15,56,0,197 paddd xmm12,xmm7 pxor xmm6,xmm10 - movdqa XMMWORD PTR[(240-128)+rax],xmm2 + movdqa XMMWORD PTR[(240-128)+rax],xmm2 paddd xmm12,xmm2 por xmm8,xmm9 psrld xmm5,31 @@ -1563,11 +1563,11 @@ DB 102,15,56,0,197 por xmm3,xmm5 por xmm14,xmm7 pxor xmm4,xmm1 - movdqa xmm1,XMMWORD PTR[((48-128))+rax] + movdqa xmm1,XMMWORD PTR[((48-128))+rax] movdqa xmm8,xmm12 movdqa xmm7,xmm10 - pxor xmm4,XMMWORD PTR[((144-128))+rax] + pxor xmm4,XMMWORD PTR[((144-128))+rax] pxor xmm4,xmm1 paddd xmm11,xmm15 pslld xmm8,5 @@ -1580,7 +1580,7 @@ DB 102,15,56,0,197 paddd xmm11,xmm7 pxor xmm6,xmm14 - movdqa XMMWORD PTR[(0-128)+rax],xmm3 + movdqa XMMWORD PTR[(0-128)+rax],xmm3 paddd xmm11,xmm3 por xmm8,xmm9 psrld xmm5,31 @@ -1596,11 +1596,11 @@ DB 102,15,56,0,197 por xmm4,xmm5 por xmm13,xmm7 pxor xmm0,xmm2 - movdqa xmm2,XMMWORD PTR[((64-128))+rax] + movdqa xmm2,XMMWORD PTR[((64-128))+rax] movdqa xmm8,xmm11 movdqa xmm7,xmm14 - pxor xmm0,XMMWORD PTR[((160-128))+rax] + pxor xmm0,XMMWORD PTR[((160-128))+rax] pxor xmm0,xmm2 paddd xmm10,xmm15 pslld xmm8,5 @@ -1613,7 +1613,7 @@ DB 102,15,56,0,197 paddd xmm10,xmm7 pxor xmm6,xmm13 - movdqa XMMWORD PTR[(16-128)+rax],xmm4 + movdqa XMMWORD PTR[(16-128)+rax],xmm4 paddd xmm10,xmm4 por xmm8,xmm9 psrld xmm5,31 @@ -1629,11 +1629,11 @@ DB 102,15,56,0,197 por xmm0,xmm5 por xmm12,xmm7 pxor xmm1,xmm3 - movdqa xmm3,XMMWORD PTR[((80-128))+rax] + movdqa xmm3,XMMWORD PTR[((80-128))+rax] movdqa xmm8,xmm10 movdqa xmm7,xmm13 - pxor xmm1,XMMWORD PTR[((176-128))+rax] + pxor xmm1,XMMWORD PTR[((176-128))+rax] pxor xmm1,xmm3 paddd xmm14,xmm15 pslld xmm8,5 @@ -1646,7 +1646,7 @@ DB 102,15,56,0,197 paddd xmm14,xmm7 pxor xmm6,xmm12 - movdqa XMMWORD PTR[(32-128)+rax],xmm0 + movdqa XMMWORD PTR[(32-128)+rax],xmm0 paddd xmm14,xmm0 por xmm8,xmm9 psrld xmm5,31 @@ -1662,11 +1662,11 @@ DB 102,15,56,0,197 por xmm1,xmm5 por xmm11,xmm7 pxor xmm2,xmm4 - movdqa xmm4,XMMWORD PTR[((96-128))+rax] + movdqa xmm4,XMMWORD PTR[((96-128))+rax] movdqa xmm8,xmm14 movdqa xmm7,xmm12 - pxor xmm2,XMMWORD PTR[((192-128))+rax] + pxor xmm2,XMMWORD PTR[((192-128))+rax] pxor xmm2,xmm4 paddd xmm13,xmm15 pslld xmm8,5 @@ -1679,7 +1679,7 @@ DB 102,15,56,0,197 paddd xmm13,xmm7 pxor xmm6,xmm11 - movdqa XMMWORD PTR[(48-128)+rax],xmm1 + movdqa XMMWORD PTR[(48-128)+rax],xmm1 paddd xmm13,xmm1 por xmm8,xmm9 psrld xmm5,31 @@ -1695,11 +1695,11 @@ DB 102,15,56,0,197 por xmm2,xmm5 por xmm10,xmm7 pxor xmm3,xmm0 - movdqa xmm0,XMMWORD PTR[((112-128))+rax] + movdqa xmm0,XMMWORD PTR[((112-128))+rax] movdqa xmm8,xmm13 movdqa xmm7,xmm11 - pxor xmm3,XMMWORD PTR[((208-128))+rax] + pxor xmm3,XMMWORD PTR[((208-128))+rax] pxor xmm3,xmm0 paddd xmm12,xmm15 pslld xmm8,5 @@ -1712,7 +1712,7 @@ DB 102,15,56,0,197 paddd xmm12,xmm7 pxor xmm6,xmm10 - movdqa XMMWORD PTR[(64-128)+rax],xmm2 + movdqa XMMWORD PTR[(64-128)+rax],xmm2 paddd xmm12,xmm2 por xmm8,xmm9 psrld xmm5,31 @@ -1728,11 +1728,11 @@ DB 102,15,56,0,197 por xmm3,xmm5 por xmm14,xmm7 pxor xmm4,xmm1 - movdqa xmm1,XMMWORD PTR[((128-128))+rax] + movdqa xmm1,XMMWORD PTR[((128-128))+rax] movdqa xmm8,xmm12 movdqa xmm7,xmm10 - pxor xmm4,XMMWORD PTR[((224-128))+rax] + pxor xmm4,XMMWORD PTR[((224-128))+rax] pxor xmm4,xmm1 paddd xmm11,xmm15 pslld xmm8,5 @@ -1745,7 +1745,7 @@ DB 102,15,56,0,197 paddd xmm11,xmm7 pxor xmm6,xmm14 - movdqa XMMWORD PTR[(80-128)+rax],xmm3 + movdqa XMMWORD PTR[(80-128)+rax],xmm3 paddd xmm11,xmm3 por xmm8,xmm9 psrld xmm5,31 @@ -1761,11 +1761,11 @@ DB 102,15,56,0,197 por xmm4,xmm5 por xmm13,xmm7 pxor xmm0,xmm2 - movdqa xmm2,XMMWORD PTR[((144-128))+rax] + movdqa xmm2,XMMWORD PTR[((144-128))+rax] movdqa xmm8,xmm11 movdqa xmm7,xmm14 - pxor xmm0,XMMWORD PTR[((240-128))+rax] + pxor xmm0,XMMWORD PTR[((240-128))+rax] pxor xmm0,xmm2 paddd xmm10,xmm15 pslld xmm8,5 @@ -1778,7 +1778,7 @@ DB 102,15,56,0,197 paddd xmm10,xmm7 pxor xmm6,xmm13 - movdqa XMMWORD PTR[(96-128)+rax],xmm4 + movdqa XMMWORD PTR[(96-128)+rax],xmm4 paddd xmm10,xmm4 por xmm8,xmm9 psrld xmm5,31 @@ -1794,11 +1794,11 @@ DB 102,15,56,0,197 por xmm0,xmm5 por xmm12,xmm7 pxor xmm1,xmm3 - movdqa xmm3,XMMWORD PTR[((160-128))+rax] + movdqa xmm3,XMMWORD PTR[((160-128))+rax] movdqa xmm8,xmm10 movdqa xmm7,xmm13 - pxor xmm1,XMMWORD PTR[((0-128))+rax] + pxor xmm1,XMMWORD PTR[((0-128))+rax] pxor xmm1,xmm3 paddd xmm14,xmm15 pslld xmm8,5 @@ -1811,7 +1811,7 @@ DB 102,15,56,0,197 paddd xmm14,xmm7 pxor xmm6,xmm12 - movdqa XMMWORD PTR[(112-128)+rax],xmm0 + movdqa XMMWORD PTR[(112-128)+rax],xmm0 paddd xmm14,xmm0 por xmm8,xmm9 psrld xmm5,31 @@ -1827,11 +1827,11 @@ DB 102,15,56,0,197 por xmm1,xmm5 por xmm11,xmm7 pxor xmm2,xmm4 - movdqa xmm4,XMMWORD PTR[((176-128))+rax] + movdqa xmm4,XMMWORD PTR[((176-128))+rax] movdqa xmm8,xmm14 movdqa xmm7,xmm12 - pxor xmm2,XMMWORD PTR[((16-128))+rax] + pxor xmm2,XMMWORD PTR[((16-128))+rax] pxor xmm2,xmm4 paddd xmm13,xmm15 pslld xmm8,5 @@ -1844,7 +1844,7 @@ DB 102,15,56,0,197 paddd xmm13,xmm7 pxor xmm6,xmm11 - movdqa XMMWORD PTR[(128-128)+rax],xmm1 + movdqa XMMWORD PTR[(128-128)+rax],xmm1 paddd xmm13,xmm1 por xmm8,xmm9 psrld xmm5,31 @@ -1860,11 +1860,11 @@ DB 102,15,56,0,197 por xmm2,xmm5 por xmm10,xmm7 pxor xmm3,xmm0 - movdqa xmm0,XMMWORD PTR[((192-128))+rax] + movdqa xmm0,XMMWORD PTR[((192-128))+rax] movdqa xmm8,xmm13 movdqa xmm7,xmm11 - pxor xmm3,XMMWORD PTR[((32-128))+rax] + pxor xmm3,XMMWORD PTR[((32-128))+rax] pxor xmm3,xmm0 paddd xmm12,xmm15 pslld xmm8,5 @@ -1877,7 +1877,7 @@ DB 102,15,56,0,197 paddd xmm12,xmm7 pxor xmm6,xmm10 - movdqa XMMWORD PTR[(144-128)+rax],xmm2 + movdqa XMMWORD PTR[(144-128)+rax],xmm2 paddd xmm12,xmm2 por xmm8,xmm9 psrld xmm5,31 @@ -1893,11 +1893,11 @@ DB 102,15,56,0,197 por xmm3,xmm5 por xmm14,xmm7 pxor xmm4,xmm1 - movdqa xmm1,XMMWORD PTR[((208-128))+rax] + movdqa xmm1,XMMWORD PTR[((208-128))+rax] movdqa xmm8,xmm12 movdqa xmm7,xmm10 - pxor xmm4,XMMWORD PTR[((48-128))+rax] + pxor xmm4,XMMWORD PTR[((48-128))+rax] pxor xmm4,xmm1 paddd xmm11,xmm15 pslld xmm8,5 @@ -1910,7 +1910,7 @@ DB 102,15,56,0,197 paddd xmm11,xmm7 pxor xmm6,xmm14 - movdqa XMMWORD PTR[(160-128)+rax],xmm3 + movdqa XMMWORD PTR[(160-128)+rax],xmm3 paddd xmm11,xmm3 por xmm8,xmm9 psrld xmm5,31 @@ -1926,11 +1926,11 @@ DB 102,15,56,0,197 por xmm4,xmm5 por xmm13,xmm7 pxor xmm0,xmm2 - movdqa xmm2,XMMWORD PTR[((224-128))+rax] + movdqa xmm2,XMMWORD PTR[((224-128))+rax] movdqa xmm8,xmm11 movdqa xmm7,xmm14 - pxor xmm0,XMMWORD PTR[((64-128))+rax] + pxor xmm0,XMMWORD PTR[((64-128))+rax] pxor xmm0,xmm2 paddd xmm10,xmm15 pslld xmm8,5 @@ -1943,7 +1943,7 @@ DB 102,15,56,0,197 paddd xmm10,xmm7 pxor xmm6,xmm13 - movdqa XMMWORD PTR[(176-128)+rax],xmm4 + movdqa XMMWORD PTR[(176-128)+rax],xmm4 paddd xmm10,xmm4 por xmm8,xmm9 psrld xmm5,31 @@ -1958,19 +1958,19 @@ DB 102,15,56,0,197 paddd xmm10,xmm8 por xmm0,xmm5 por xmm12,xmm7 - movdqa xmm15,XMMWORD PTR[64+rbp] + movdqa xmm15,XMMWORD PTR[64+rbp] pxor xmm1,xmm3 - movdqa xmm3,XMMWORD PTR[((240-128))+rax] + movdqa xmm3,XMMWORD PTR[((240-128))+rax] movdqa xmm8,xmm10 movdqa xmm6,xmm13 - pxor xmm1,XMMWORD PTR[((80-128))+rax] + pxor xmm1,XMMWORD PTR[((80-128))+rax] paddd xmm14,xmm15 pslld xmm8,5 pxor xmm6,xmm11 movdqa xmm9,xmm10 - movdqa XMMWORD PTR[(192-128)+rax],xmm0 + movdqa XMMWORD PTR[(192-128)+rax],xmm0 paddd xmm14,xmm0 pxor xmm1,xmm3 psrld xmm9,27 @@ -1989,17 +1989,17 @@ DB 102,15,56,0,197 por xmm1,xmm5 por xmm11,xmm7 pxor xmm2,xmm4 - movdqa xmm4,XMMWORD PTR[((0-128))+rax] + movdqa xmm4,XMMWORD PTR[((0-128))+rax] movdqa xmm8,xmm14 movdqa xmm6,xmm12 - pxor xmm2,XMMWORD PTR[((96-128))+rax] + pxor xmm2,XMMWORD PTR[((96-128))+rax] paddd xmm13,xmm15 pslld xmm8,5 pxor xmm6,xmm10 movdqa xmm9,xmm14 - movdqa XMMWORD PTR[(208-128)+rax],xmm1 + movdqa XMMWORD PTR[(208-128)+rax],xmm1 paddd xmm13,xmm1 pxor xmm2,xmm4 psrld xmm9,27 @@ -2018,17 +2018,17 @@ DB 102,15,56,0,197 por xmm2,xmm5 por xmm10,xmm7 pxor xmm3,xmm0 - movdqa xmm0,XMMWORD PTR[((16-128))+rax] + movdqa xmm0,XMMWORD PTR[((16-128))+rax] movdqa xmm8,xmm13 movdqa xmm6,xmm11 - pxor xmm3,XMMWORD PTR[((112-128))+rax] + pxor xmm3,XMMWORD PTR[((112-128))+rax] paddd xmm12,xmm15 pslld xmm8,5 pxor xmm6,xmm14 movdqa xmm9,xmm13 - movdqa XMMWORD PTR[(224-128)+rax],xmm2 + movdqa XMMWORD PTR[(224-128)+rax],xmm2 paddd xmm12,xmm2 pxor xmm3,xmm0 psrld xmm9,27 @@ -2047,17 +2047,17 @@ DB 102,15,56,0,197 por xmm3,xmm5 por xmm14,xmm7 pxor xmm4,xmm1 - movdqa xmm1,XMMWORD PTR[((32-128))+rax] + movdqa xmm1,XMMWORD PTR[((32-128))+rax] movdqa xmm8,xmm12 movdqa xmm6,xmm10 - pxor xmm4,XMMWORD PTR[((128-128))+rax] + pxor xmm4,XMMWORD PTR[((128-128))+rax] paddd xmm11,xmm15 pslld xmm8,5 pxor xmm6,xmm13 movdqa xmm9,xmm12 - movdqa XMMWORD PTR[(240-128)+rax],xmm3 + movdqa XMMWORD PTR[(240-128)+rax],xmm3 paddd xmm11,xmm3 pxor xmm4,xmm1 psrld xmm9,27 @@ -2076,17 +2076,17 @@ DB 102,15,56,0,197 por xmm4,xmm5 por xmm13,xmm7 pxor xmm0,xmm2 - movdqa xmm2,XMMWORD PTR[((48-128))+rax] + movdqa xmm2,XMMWORD PTR[((48-128))+rax] movdqa xmm8,xmm11 movdqa xmm6,xmm14 - pxor xmm0,XMMWORD PTR[((144-128))+rax] + pxor xmm0,XMMWORD PTR[((144-128))+rax] paddd xmm10,xmm15 pslld xmm8,5 pxor xmm6,xmm12 movdqa xmm9,xmm11 - movdqa XMMWORD PTR[(0-128)+rax],xmm4 + movdqa XMMWORD PTR[(0-128)+rax],xmm4 paddd xmm10,xmm4 pxor xmm0,xmm2 psrld xmm9,27 @@ -2105,17 +2105,17 @@ DB 102,15,56,0,197 por xmm0,xmm5 por xmm12,xmm7 pxor xmm1,xmm3 - movdqa xmm3,XMMWORD PTR[((64-128))+rax] + movdqa xmm3,XMMWORD PTR[((64-128))+rax] movdqa xmm8,xmm10 movdqa xmm6,xmm13 - pxor xmm1,XMMWORD PTR[((160-128))+rax] + pxor xmm1,XMMWORD PTR[((160-128))+rax] paddd xmm14,xmm15 pslld xmm8,5 pxor xmm6,xmm11 movdqa xmm9,xmm10 - movdqa XMMWORD PTR[(16-128)+rax],xmm0 + movdqa XMMWORD PTR[(16-128)+rax],xmm0 paddd xmm14,xmm0 pxor xmm1,xmm3 psrld xmm9,27 @@ -2134,17 +2134,17 @@ DB 102,15,56,0,197 por xmm1,xmm5 por xmm11,xmm7 pxor xmm2,xmm4 - movdqa xmm4,XMMWORD PTR[((80-128))+rax] + movdqa xmm4,XMMWORD PTR[((80-128))+rax] movdqa xmm8,xmm14 movdqa xmm6,xmm12 - pxor xmm2,XMMWORD PTR[((176-128))+rax] + pxor xmm2,XMMWORD PTR[((176-128))+rax] paddd xmm13,xmm15 pslld xmm8,5 pxor xmm6,xmm10 movdqa xmm9,xmm14 - movdqa XMMWORD PTR[(32-128)+rax],xmm1 + movdqa XMMWORD PTR[(32-128)+rax],xmm1 paddd xmm13,xmm1 pxor xmm2,xmm4 psrld xmm9,27 @@ -2163,17 +2163,17 @@ DB 102,15,56,0,197 por xmm2,xmm5 por xmm10,xmm7 pxor xmm3,xmm0 - movdqa xmm0,XMMWORD PTR[((96-128))+rax] + movdqa xmm0,XMMWORD PTR[((96-128))+rax] movdqa xmm8,xmm13 movdqa xmm6,xmm11 - pxor xmm3,XMMWORD PTR[((192-128))+rax] + pxor xmm3,XMMWORD PTR[((192-128))+rax] paddd xmm12,xmm15 pslld xmm8,5 pxor xmm6,xmm14 movdqa xmm9,xmm13 - movdqa XMMWORD PTR[(48-128)+rax],xmm2 + movdqa XMMWORD PTR[(48-128)+rax],xmm2 paddd xmm12,xmm2 pxor xmm3,xmm0 psrld xmm9,27 @@ -2192,17 +2192,17 @@ DB 102,15,56,0,197 por xmm3,xmm5 por xmm14,xmm7 pxor xmm4,xmm1 - movdqa xmm1,XMMWORD PTR[((112-128))+rax] + movdqa xmm1,XMMWORD PTR[((112-128))+rax] movdqa xmm8,xmm12 movdqa xmm6,xmm10 - pxor xmm4,XMMWORD PTR[((208-128))+rax] + pxor xmm4,XMMWORD PTR[((208-128))+rax] paddd xmm11,xmm15 pslld xmm8,5 pxor xmm6,xmm13 movdqa xmm9,xmm12 - movdqa XMMWORD PTR[(64-128)+rax],xmm3 + movdqa XMMWORD PTR[(64-128)+rax],xmm3 paddd xmm11,xmm3 pxor xmm4,xmm1 psrld xmm9,27 @@ -2221,17 +2221,17 @@ DB 102,15,56,0,197 por xmm4,xmm5 por xmm13,xmm7 pxor xmm0,xmm2 - movdqa xmm2,XMMWORD PTR[((128-128))+rax] + movdqa xmm2,XMMWORD PTR[((128-128))+rax] movdqa xmm8,xmm11 movdqa xmm6,xmm14 - pxor xmm0,XMMWORD PTR[((224-128))+rax] + pxor xmm0,XMMWORD PTR[((224-128))+rax] paddd xmm10,xmm15 pslld xmm8,5 pxor xmm6,xmm12 movdqa xmm9,xmm11 - movdqa XMMWORD PTR[(80-128)+rax],xmm4 + movdqa XMMWORD PTR[(80-128)+rax],xmm4 paddd xmm10,xmm4 pxor xmm0,xmm2 psrld xmm9,27 @@ -2250,17 +2250,17 @@ DB 102,15,56,0,197 por xmm0,xmm5 por xmm12,xmm7 pxor xmm1,xmm3 - movdqa xmm3,XMMWORD PTR[((144-128))+rax] + movdqa xmm3,XMMWORD PTR[((144-128))+rax] movdqa xmm8,xmm10 movdqa xmm6,xmm13 - pxor xmm1,XMMWORD PTR[((240-128))+rax] + pxor xmm1,XMMWORD PTR[((240-128))+rax] paddd xmm14,xmm15 pslld xmm8,5 pxor xmm6,xmm11 movdqa xmm9,xmm10 - movdqa XMMWORD PTR[(96-128)+rax],xmm0 + movdqa XMMWORD PTR[(96-128)+rax],xmm0 paddd xmm14,xmm0 pxor xmm1,xmm3 psrld xmm9,27 @@ -2279,17 +2279,17 @@ DB 102,15,56,0,197 por xmm1,xmm5 por xmm11,xmm7 pxor xmm2,xmm4 - movdqa xmm4,XMMWORD PTR[((160-128))+rax] + movdqa xmm4,XMMWORD PTR[((160-128))+rax] movdqa xmm8,xmm14 movdqa xmm6,xmm12 - pxor xmm2,XMMWORD PTR[((0-128))+rax] + pxor xmm2,XMMWORD PTR[((0-128))+rax] paddd xmm13,xmm15 pslld xmm8,5 pxor xmm6,xmm10 movdqa xmm9,xmm14 - movdqa XMMWORD PTR[(112-128)+rax],xmm1 + movdqa XMMWORD PTR[(112-128)+rax],xmm1 paddd xmm13,xmm1 pxor xmm2,xmm4 psrld xmm9,27 @@ -2308,11 +2308,11 @@ DB 102,15,56,0,197 por xmm2,xmm5 por xmm10,xmm7 pxor xmm3,xmm0 - movdqa xmm0,XMMWORD PTR[((176-128))+rax] + movdqa xmm0,XMMWORD PTR[((176-128))+rax] movdqa xmm8,xmm13 movdqa xmm6,xmm11 - pxor xmm3,XMMWORD PTR[((16-128))+rax] + pxor xmm3,XMMWORD PTR[((16-128))+rax] paddd xmm12,xmm15 pslld xmm8,5 pxor xmm6,xmm14 @@ -2336,11 +2336,11 @@ DB 102,15,56,0,197 por xmm3,xmm5 por xmm14,xmm7 pxor xmm4,xmm1 - movdqa xmm1,XMMWORD PTR[((192-128))+rax] + movdqa xmm1,XMMWORD PTR[((192-128))+rax] movdqa xmm8,xmm12 movdqa xmm6,xmm10 - pxor xmm4,XMMWORD PTR[((32-128))+rax] + pxor xmm4,XMMWORD PTR[((32-128))+rax] paddd xmm11,xmm15 pslld xmm8,5 pxor xmm6,xmm13 @@ -2364,11 +2364,11 @@ DB 102,15,56,0,197 por xmm4,xmm5 por xmm13,xmm7 pxor xmm0,xmm2 - movdqa xmm2,XMMWORD PTR[((208-128))+rax] + movdqa xmm2,XMMWORD PTR[((208-128))+rax] movdqa xmm8,xmm11 movdqa xmm6,xmm14 - pxor xmm0,XMMWORD PTR[((48-128))+rax] + pxor xmm0,XMMWORD PTR[((48-128))+rax] paddd xmm10,xmm15 pslld xmm8,5 pxor xmm6,xmm12 @@ -2392,11 +2392,11 @@ DB 102,15,56,0,197 por xmm0,xmm5 por xmm12,xmm7 pxor xmm1,xmm3 - movdqa xmm3,XMMWORD PTR[((224-128))+rax] + movdqa xmm3,XMMWORD PTR[((224-128))+rax] movdqa xmm8,xmm10 movdqa xmm6,xmm13 - pxor xmm1,XMMWORD PTR[((64-128))+rax] + pxor xmm1,XMMWORD PTR[((64-128))+rax] paddd xmm14,xmm15 pslld xmm8,5 pxor xmm6,xmm11 @@ -2420,11 +2420,11 @@ DB 102,15,56,0,197 por xmm1,xmm5 por xmm11,xmm7 pxor xmm2,xmm4 - movdqa xmm4,XMMWORD PTR[((240-128))+rax] + movdqa xmm4,XMMWORD PTR[((240-128))+rax] movdqa xmm8,xmm14 movdqa xmm6,xmm12 - pxor xmm2,XMMWORD PTR[((80-128))+rax] + pxor xmm2,XMMWORD PTR[((80-128))+rax] paddd xmm13,xmm15 pslld xmm8,5 pxor xmm6,xmm10 @@ -2448,11 +2448,11 @@ DB 102,15,56,0,197 por xmm2,xmm5 por xmm10,xmm7 pxor xmm3,xmm0 - movdqa xmm0,XMMWORD PTR[((0-128))+rax] + movdqa xmm0,XMMWORD PTR[((0-128))+rax] movdqa xmm8,xmm13 movdqa xmm6,xmm11 - pxor xmm3,XMMWORD PTR[((96-128))+rax] + pxor xmm3,XMMWORD PTR[((96-128))+rax] paddd xmm12,xmm15 pslld xmm8,5 pxor xmm6,xmm14 @@ -2476,11 +2476,11 @@ DB 102,15,56,0,197 por xmm3,xmm5 por xmm14,xmm7 pxor xmm4,xmm1 - movdqa xmm1,XMMWORD PTR[((16-128))+rax] + movdqa xmm1,XMMWORD PTR[((16-128))+rax] movdqa xmm8,xmm12 movdqa xmm6,xmm10 - pxor xmm4,XMMWORD PTR[((112-128))+rax] + pxor xmm4,XMMWORD PTR[((112-128))+rax] paddd xmm11,xmm15 pslld xmm8,5 pxor xmm6,xmm13 @@ -2522,145 +2522,145 @@ DB 102,15,56,0,197 psrld xmm12,2 paddd xmm10,xmm8 por xmm12,xmm7 - movdqa xmm0,XMMWORD PTR[rbx] + movdqa xmm0,XMMWORD PTR[rbx] mov ecx,1 - cmp ecx,DWORD PTR[rbx] + cmp ecx,DWORD PTR[rbx] pxor xmm8,xmm8 cmovge r8,rbp - cmp ecx,DWORD PTR[4+rbx] + cmp ecx,DWORD PTR[4+rbx] movdqa xmm1,xmm0 cmovge r9,rbp - cmp ecx,DWORD PTR[8+rbx] + cmp ecx,DWORD PTR[8+rbx] pcmpgtd xmm1,xmm8 cmovge r10,rbp - cmp ecx,DWORD PTR[12+rbx] + cmp ecx,DWORD PTR[12+rbx] paddd xmm0,xmm1 cmovge r11,rbp - movdqu xmm6,XMMWORD PTR[rdi] + movdqu xmm6,XMMWORD PTR[rdi] pand xmm10,xmm1 - movdqu xmm7,XMMWORD PTR[32+rdi] + movdqu xmm7,XMMWORD PTR[32+rdi] pand xmm11,xmm1 paddd xmm10,xmm6 - movdqu xmm8,XMMWORD PTR[64+rdi] + movdqu xmm8,XMMWORD PTR[64+rdi] pand xmm12,xmm1 paddd xmm11,xmm7 - movdqu xmm9,XMMWORD PTR[96+rdi] + movdqu xmm9,XMMWORD PTR[96+rdi] pand xmm13,xmm1 paddd xmm12,xmm8 - movdqu xmm5,XMMWORD PTR[128+rdi] + movdqu xmm5,XMMWORD PTR[128+rdi] pand xmm14,xmm1 - movdqu XMMWORD PTR[rdi],xmm10 + movdqu XMMWORD PTR[rdi],xmm10 paddd xmm13,xmm9 - movdqu XMMWORD PTR[32+rdi],xmm11 + movdqu XMMWORD PTR[32+rdi],xmm11 paddd xmm14,xmm5 - movdqu XMMWORD PTR[64+rdi],xmm12 - movdqu XMMWORD PTR[96+rdi],xmm13 - movdqu XMMWORD PTR[128+rdi],xmm14 + movdqu XMMWORD PTR[64+rdi],xmm12 + movdqu XMMWORD PTR[96+rdi],xmm13 + movdqu XMMWORD PTR[128+rdi],xmm14 - movdqa XMMWORD PTR[rbx],xmm0 - movdqa xmm5,XMMWORD PTR[96+rbp] - movdqa xmm15,XMMWORD PTR[((-32))+rbp] + movdqa XMMWORD PTR[rbx],xmm0 + movdqa xmm5,XMMWORD PTR[96+rbp] + movdqa xmm15,XMMWORD PTR[((-32))+rbp] dec edx - jnz $L$oop + jnz $L$oop - mov edx,DWORD PTR[280+rsp] - lea rdi,QWORD PTR[16+rdi] - lea rsi,QWORD PTR[64+rsi] + mov edx,DWORD PTR[280+rsp] + lea rdi,QWORD PTR[16+rdi] + lea rsi,QWORD PTR[64+rsi] dec edx - jnz $L$oop_grande - -$L$done:: - mov rax,QWORD PTR[272+rsp] - - movaps xmm6,XMMWORD PTR[((-184))+rax] - movaps xmm7,XMMWORD PTR[((-168))+rax] - movaps xmm8,XMMWORD PTR[((-152))+rax] - movaps xmm9,XMMWORD PTR[((-136))+rax] - movaps xmm10,XMMWORD PTR[((-120))+rax] - movaps xmm11,XMMWORD PTR[((-104))+rax] - movaps xmm12,XMMWORD PTR[((-88))+rax] - movaps xmm13,XMMWORD PTR[((-72))+rax] - movaps xmm14,XMMWORD PTR[((-56))+rax] - movaps xmm15,XMMWORD PTR[((-40))+rax] - mov rbp,QWORD PTR[((-16))+rax] - - mov rbx,QWORD PTR[((-8))+rax] - - lea rsp,QWORD PTR[rax] - -$L$epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + jnz $L$oop_grande + +$L$done:: + mov rax,QWORD PTR[272+rsp] + + movaps xmm6,XMMWORD PTR[((-184))+rax] + movaps xmm7,XMMWORD PTR[((-168))+rax] + movaps xmm8,XMMWORD PTR[((-152))+rax] + movaps xmm9,XMMWORD PTR[((-136))+rax] + movaps xmm10,XMMWORD PTR[((-120))+rax] + movaps xmm11,XMMWORD PTR[((-104))+rax] + movaps xmm12,XMMWORD PTR[((-88))+rax] + movaps xmm13,XMMWORD PTR[((-72))+rax] + movaps xmm14,XMMWORD PTR[((-56))+rax] + movaps xmm15,XMMWORD PTR[((-40))+rax] + mov rbp,QWORD PTR[((-16))+rax] + + mov rbx,QWORD PTR[((-8))+rax] + + lea rsp,QWORD PTR[rax] + +$L$epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_multi_block:: -sha1_multi_block ENDP +$L$SEH_end_sha1_multi_block:: +sha1_multi_block ENDP ALIGN 32 -sha1_multi_block_shaext PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha1_multi_block_shaext PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha1_multi_block_shaext:: +$L$SEH_begin_sha1_multi_block_shaext:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -_shaext_shortcut:: +_shaext_shortcut:: mov rax,rsp push rbx push rbp - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 - movaps XMMWORD PTR[(-120)+rax],xmm10 - movaps XMMWORD PTR[(-104)+rax],xmm11 - movaps XMMWORD PTR[(-88)+rax],xmm12 - movaps XMMWORD PTR[(-72)+rax],xmm13 - movaps XMMWORD PTR[(-56)+rax],xmm14 - movaps XMMWORD PTR[(-40)+rax],xmm15 + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 + movaps XMMWORD PTR[(-120)+rax],xmm10 + movaps XMMWORD PTR[(-104)+rax],xmm11 + movaps XMMWORD PTR[(-88)+rax],xmm12 + movaps XMMWORD PTR[(-72)+rax],xmm13 + movaps XMMWORD PTR[(-56)+rax],xmm14 + movaps XMMWORD PTR[(-40)+rax],xmm15 sub rsp,288 shl edx,1 and rsp,-256 - lea rdi,QWORD PTR[64+rdi] - mov QWORD PTR[272+rsp],rax -$L$body_shaext:: - lea rbx,QWORD PTR[256+rsp] - movdqa xmm3,XMMWORD PTR[((K_XX_XX+128))] - -$L$oop_grande_shaext:: - mov DWORD PTR[280+rsp],edx + lea rdi,QWORD PTR[64+rdi] + mov QWORD PTR[272+rsp],rax +$L$body_shaext:: + lea rbx,QWORD PTR[256+rsp] + movdqa xmm3,XMMWORD PTR[((K_XX_XX+128))] + +$L$oop_grande_shaext:: + mov DWORD PTR[280+rsp],edx xor edx,edx - mov r8,QWORD PTR[rsi] - mov ecx,DWORD PTR[8+rsi] + mov r8,QWORD PTR[rsi] + mov ecx,DWORD PTR[8+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[rbx],ecx + mov DWORD PTR[rbx],ecx cmovle r8,rsp - mov r9,QWORD PTR[16+rsi] - mov ecx,DWORD PTR[24+rsi] + mov r9,QWORD PTR[16+rsi] + mov ecx,DWORD PTR[24+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[4+rbx],ecx + mov DWORD PTR[4+rbx],ecx cmovle r9,rsp test edx,edx - jz $L$done_shaext + jz $L$done_shaext - movq xmm0,QWORD PTR[((0-64))+rdi] - movq xmm4,QWORD PTR[((32-64))+rdi] - movq xmm5,QWORD PTR[((64-64))+rdi] - movq xmm6,QWORD PTR[((96-64))+rdi] - movq xmm7,QWORD PTR[((128-64))+rdi] + movq xmm0,QWORD PTR[((0-64))+rdi] + movq xmm4,QWORD PTR[((32-64))+rdi] + movq xmm5,QWORD PTR[((64-64))+rdi] + movq xmm6,QWORD PTR[((96-64))+rdi] + movq xmm7,QWORD PTR[((128-64))+rdi] punpckldq xmm0,xmm4 punpckldq xmm5,xmm6 @@ -2673,32 +2673,32 @@ $L$oop_grande_shaext:: pshufd xmm9,xmm7,127 pshufd xmm0,xmm0,27 pshufd xmm8,xmm8,27 - jmp $L$oop_shaext + jmp $L$oop_shaext ALIGN 32 -$L$oop_shaext:: - movdqu xmm4,XMMWORD PTR[r8] - movdqu xmm11,XMMWORD PTR[r9] - movdqu xmm5,XMMWORD PTR[16+r8] - movdqu xmm12,XMMWORD PTR[16+r9] - movdqu xmm6,XMMWORD PTR[32+r8] +$L$oop_shaext:: + movdqu xmm4,XMMWORD PTR[r8] + movdqu xmm11,XMMWORD PTR[r9] + movdqu xmm5,XMMWORD PTR[16+r8] + movdqu xmm12,XMMWORD PTR[16+r9] + movdqu xmm6,XMMWORD PTR[32+r8] DB 102,15,56,0,227 - movdqu xmm13,XMMWORD PTR[32+r9] + movdqu xmm13,XMMWORD PTR[32+r9] DB 102,68,15,56,0,219 - movdqu xmm7,XMMWORD PTR[48+r8] - lea r8,QWORD PTR[64+r8] + movdqu xmm7,XMMWORD PTR[48+r8] + lea r8,QWORD PTR[64+r8] DB 102,15,56,0,235 - movdqu xmm14,XMMWORD PTR[48+r9] - lea r9,QWORD PTR[64+r9] + movdqu xmm14,XMMWORD PTR[48+r9] + lea r9,QWORD PTR[64+r9] DB 102,68,15,56,0,227 - movdqa XMMWORD PTR[80+rsp],xmm1 + movdqa XMMWORD PTR[80+rsp],xmm1 paddd xmm1,xmm4 - movdqa XMMWORD PTR[112+rsp],xmm9 + movdqa XMMWORD PTR[112+rsp],xmm9 paddd xmm9,xmm11 - movdqa XMMWORD PTR[64+rsp],xmm0 + movdqa XMMWORD PTR[64+rsp],xmm0 movdqa xmm2,xmm0 - movdqa XMMWORD PTR[96+rsp],xmm8 + movdqa XMMWORD PTR[96+rsp],xmm8 movdqa xmm10,xmm8 DB 15,58,204,193,0 DB 15,56,200,213 @@ -2904,7 +2904,7 @@ DB 69,15,56,202,236 mov ecx,1 pxor xmm4,xmm4 - cmp ecx,DWORD PTR[rbx] + cmp ecx,DWORD PTR[rbx] cmovge r8,rsp movdqa xmm1,xmm0 @@ -2916,9 +2916,9 @@ DB 69,15,56,200,205 DB 15,56,202,254 DB 69,15,56,202,245 - cmp ecx,DWORD PTR[4+rbx] + cmp ecx,DWORD PTR[4+rbx] cmovge r9,rsp - movq xmm6,QWORD PTR[rbx] + movq xmm6,QWORD PTR[rbx] movdqa xmm2,xmm0 movdqa xmm10,xmm8 @@ -2927,8 +2927,8 @@ DB 15,56,200,215 DB 69,15,58,204,193,3 DB 69,15,56,200,214 - pshufd xmm11,xmm6,000h - pshufd xmm12,xmm6,055h + pshufd xmm11,xmm6,000h + pshufd xmm12,xmm6,055h movdqa xmm7,xmm6 pcmpgtd xmm11,xmm4 pcmpgtd xmm12,xmm4 @@ -2947,16 +2947,16 @@ DB 68,15,56,200,204 pand xmm9,xmm12 paddd xmm6,xmm7 - paddd xmm0,XMMWORD PTR[64+rsp] - paddd xmm1,XMMWORD PTR[80+rsp] - paddd xmm8,XMMWORD PTR[96+rsp] - paddd xmm9,XMMWORD PTR[112+rsp] + paddd xmm0,XMMWORD PTR[64+rsp] + paddd xmm1,XMMWORD PTR[80+rsp] + paddd xmm8,XMMWORD PTR[96+rsp] + paddd xmm9,XMMWORD PTR[112+rsp] - movq QWORD PTR[rbx],xmm6 + movq QWORD PTR[rbx],xmm6 dec edx - jnz $L$oop_shaext + jnz $L$oop_shaext - mov edx,DWORD PTR[280+rsp] + mov edx,DWORD PTR[280+rsp] pshufd xmm0,xmm0,27 pshufd xmm8,xmm8,27 @@ -2965,483 +2965,483 @@ DB 68,15,56,200,204 punpckldq xmm0,xmm8 punpckhdq xmm6,xmm8 punpckhdq xmm1,xmm9 - movq QWORD PTR[(0-64)+rdi],xmm0 + movq QWORD PTR[(0-64)+rdi],xmm0 psrldq xmm0,8 - movq QWORD PTR[(64-64)+rdi],xmm6 + movq QWORD PTR[(64-64)+rdi],xmm6 psrldq xmm6,8 - movq QWORD PTR[(32-64)+rdi],xmm0 + movq QWORD PTR[(32-64)+rdi],xmm0 psrldq xmm1,8 - movq QWORD PTR[(96-64)+rdi],xmm6 - movq QWORD PTR[(128-64)+rdi],xmm1 + movq QWORD PTR[(96-64)+rdi],xmm6 + movq QWORD PTR[(128-64)+rdi],xmm1 - lea rdi,QWORD PTR[8+rdi] - lea rsi,QWORD PTR[32+rsi] + lea rdi,QWORD PTR[8+rdi] + lea rsi,QWORD PTR[32+rsi] dec edx - jnz $L$oop_grande_shaext + jnz $L$oop_grande_shaext -$L$done_shaext:: +$L$done_shaext:: - movaps xmm6,XMMWORD PTR[((-184))+rax] - movaps xmm7,XMMWORD PTR[((-168))+rax] - movaps xmm8,XMMWORD PTR[((-152))+rax] - movaps xmm9,XMMWORD PTR[((-136))+rax] - movaps xmm10,XMMWORD PTR[((-120))+rax] - movaps xmm11,XMMWORD PTR[((-104))+rax] - movaps xmm12,XMMWORD PTR[((-88))+rax] - movaps xmm13,XMMWORD PTR[((-72))+rax] - movaps xmm14,XMMWORD PTR[((-56))+rax] - movaps xmm15,XMMWORD PTR[((-40))+rax] - mov rbp,QWORD PTR[((-16))+rax] + movaps xmm6,XMMWORD PTR[((-184))+rax] + movaps xmm7,XMMWORD PTR[((-168))+rax] + movaps xmm8,XMMWORD PTR[((-152))+rax] + movaps xmm9,XMMWORD PTR[((-136))+rax] + movaps xmm10,XMMWORD PTR[((-120))+rax] + movaps xmm11,XMMWORD PTR[((-104))+rax] + movaps xmm12,XMMWORD PTR[((-88))+rax] + movaps xmm13,XMMWORD PTR[((-72))+rax] + movaps xmm14,XMMWORD PTR[((-56))+rax] + movaps xmm15,XMMWORD PTR[((-40))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$epilogue_shaext:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_shaext:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_multi_block_shaext:: -sha1_multi_block_shaext ENDP +$L$SEH_end_sha1_multi_block_shaext:: +sha1_multi_block_shaext ENDP ALIGN 32 -sha1_multi_block_avx PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha1_multi_block_avx PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha1_multi_block_avx:: +$L$SEH_begin_sha1_multi_block_avx:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -_avx_shortcut:: +_avx_shortcut:: shr rcx,32 cmp edx,2 - jb $L$avx + jb $L$avx test ecx,32 - jnz _avx2_shortcut - jmp $L$avx + jnz _avx2_shortcut + jmp $L$avx ALIGN 32 -$L$avx:: +$L$avx:: mov rax,rsp push rbx push rbp - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 - movaps XMMWORD PTR[(-120)+rax],xmm10 - movaps XMMWORD PTR[(-104)+rax],xmm11 - movaps XMMWORD PTR[(-88)+rax],xmm12 - movaps XMMWORD PTR[(-72)+rax],xmm13 - movaps XMMWORD PTR[(-56)+rax],xmm14 - movaps XMMWORD PTR[(-40)+rax],xmm15 + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 + movaps XMMWORD PTR[(-120)+rax],xmm10 + movaps XMMWORD PTR[(-104)+rax],xmm11 + movaps XMMWORD PTR[(-88)+rax],xmm12 + movaps XMMWORD PTR[(-72)+rax],xmm13 + movaps XMMWORD PTR[(-56)+rax],xmm14 + movaps XMMWORD PTR[(-40)+rax],xmm15 sub rsp,288 and rsp,-256 - mov QWORD PTR[272+rsp],rax + mov QWORD PTR[272+rsp],rax -$L$body_avx:: - lea rbp,QWORD PTR[K_XX_XX] - lea rbx,QWORD PTR[256+rsp] +$L$body_avx:: + lea rbp,QWORD PTR[K_XX_XX] + lea rbx,QWORD PTR[256+rsp] vzeroupper -$L$oop_grande_avx:: - mov DWORD PTR[280+rsp],edx +$L$oop_grande_avx:: + mov DWORD PTR[280+rsp],edx xor edx,edx - mov r8,QWORD PTR[rsi] - mov ecx,DWORD PTR[8+rsi] + mov r8,QWORD PTR[rsi] + mov ecx,DWORD PTR[8+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[rbx],ecx + mov DWORD PTR[rbx],ecx cmovle r8,rbp - mov r9,QWORD PTR[16+rsi] - mov ecx,DWORD PTR[24+rsi] + mov r9,QWORD PTR[16+rsi] + mov ecx,DWORD PTR[24+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[4+rbx],ecx + mov DWORD PTR[4+rbx],ecx cmovle r9,rbp - mov r10,QWORD PTR[32+rsi] - mov ecx,DWORD PTR[40+rsi] + mov r10,QWORD PTR[32+rsi] + mov ecx,DWORD PTR[40+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[8+rbx],ecx + mov DWORD PTR[8+rbx],ecx cmovle r10,rbp - mov r11,QWORD PTR[48+rsi] - mov ecx,DWORD PTR[56+rsi] + mov r11,QWORD PTR[48+rsi] + mov ecx,DWORD PTR[56+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[12+rbx],ecx + mov DWORD PTR[12+rbx],ecx cmovle r11,rbp test edx,edx - jz $L$done_avx + jz $L$done_avx - vmovdqu xmm10,XMMWORD PTR[rdi] - lea rax,QWORD PTR[128+rsp] - vmovdqu xmm11,XMMWORD PTR[32+rdi] - vmovdqu xmm12,XMMWORD PTR[64+rdi] - vmovdqu xmm13,XMMWORD PTR[96+rdi] - vmovdqu xmm14,XMMWORD PTR[128+rdi] - vmovdqu xmm5,XMMWORD PTR[96+rbp] - jmp $L$oop_avx + vmovdqu xmm10,XMMWORD PTR[rdi] + lea rax,QWORD PTR[128+rsp] + vmovdqu xmm11,XMMWORD PTR[32+rdi] + vmovdqu xmm12,XMMWORD PTR[64+rdi] + vmovdqu xmm13,XMMWORD PTR[96+rdi] + vmovdqu xmm14,XMMWORD PTR[128+rdi] + vmovdqu xmm5,XMMWORD PTR[96+rbp] + jmp $L$oop_avx ALIGN 32 -$L$oop_avx:: - vmovdqa xmm15,XMMWORD PTR[((-32))+rbp] - vmovd xmm0,DWORD PTR[r8] - lea r8,QWORD PTR[64+r8] - vmovd xmm2,DWORD PTR[r9] - lea r9,QWORD PTR[64+r9] - vpinsrd xmm0,xmm0,DWORD PTR[r10],1 - lea r10,QWORD PTR[64+r10] - vpinsrd xmm2,xmm2,DWORD PTR[r11],1 - lea r11,QWORD PTR[64+r11] - vmovd xmm1,DWORD PTR[((-60))+r8] +$L$oop_avx:: + vmovdqa xmm15,XMMWORD PTR[((-32))+rbp] + vmovd xmm0,DWORD PTR[r8] + lea r8,QWORD PTR[64+r8] + vmovd xmm2,DWORD PTR[r9] + lea r9,QWORD PTR[64+r9] + vpinsrd xmm0,xmm0,DWORD PTR[r10],1 + lea r10,QWORD PTR[64+r10] + vpinsrd xmm2,xmm2,DWORD PTR[r11],1 + lea r11,QWORD PTR[64+r11] + vmovd xmm1,DWORD PTR[((-60))+r8] vpunpckldq xmm0,xmm0,xmm2 - vmovd xmm9,DWORD PTR[((-60))+r9] + vmovd xmm9,DWORD PTR[((-60))+r9] vpshufb xmm0,xmm0,xmm5 - vpinsrd xmm1,xmm1,DWORD PTR[((-60))+r10],1 - vpinsrd xmm9,xmm9,DWORD PTR[((-60))+r11],1 + vpinsrd xmm1,xmm1,DWORD PTR[((-60))+r10],1 + vpinsrd xmm9,xmm9,DWORD PTR[((-60))+r11],1 vpaddd xmm14,xmm14,xmm15 vpslld xmm8,xmm10,5 vpandn xmm7,xmm11,xmm13 vpand xmm6,xmm11,xmm12 - vmovdqa XMMWORD PTR[(0-128)+rax],xmm0 + vmovdqa XMMWORD PTR[(0-128)+rax],xmm0 vpaddd xmm14,xmm14,xmm0 vpunpckldq xmm1,xmm1,xmm9 vpsrld xmm9,xmm10,27 vpxor xmm6,xmm6,xmm7 - vmovd xmm2,DWORD PTR[((-56))+r8] + vmovd xmm2,DWORD PTR[((-56))+r8] vpslld xmm7,xmm11,30 vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD PTR[((-56))+r9] + vmovd xmm9,DWORD PTR[((-56))+r9] vpaddd xmm14,xmm14,xmm6 vpsrld xmm11,xmm11,2 vpaddd xmm14,xmm14,xmm8 vpshufb xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 - vpinsrd xmm2,xmm2,DWORD PTR[((-56))+r10],1 - vpinsrd xmm9,xmm9,DWORD PTR[((-56))+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[((-56))+r10],1 + vpinsrd xmm9,xmm9,DWORD PTR[((-56))+r11],1 vpaddd xmm13,xmm13,xmm15 vpslld xmm8,xmm14,5 vpandn xmm7,xmm10,xmm12 vpand xmm6,xmm10,xmm11 - vmovdqa XMMWORD PTR[(16-128)+rax],xmm1 + vmovdqa XMMWORD PTR[(16-128)+rax],xmm1 vpaddd xmm13,xmm13,xmm1 vpunpckldq xmm2,xmm2,xmm9 vpsrld xmm9,xmm14,27 vpxor xmm6,xmm6,xmm7 - vmovd xmm3,DWORD PTR[((-52))+r8] + vmovd xmm3,DWORD PTR[((-52))+r8] vpslld xmm7,xmm10,30 vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD PTR[((-52))+r9] + vmovd xmm9,DWORD PTR[((-52))+r9] vpaddd xmm13,xmm13,xmm6 vpsrld xmm10,xmm10,2 vpaddd xmm13,xmm13,xmm8 vpshufb xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 - vpinsrd xmm3,xmm3,DWORD PTR[((-52))+r10],1 - vpinsrd xmm9,xmm9,DWORD PTR[((-52))+r11],1 + vpinsrd xmm3,xmm3,DWORD PTR[((-52))+r10],1 + vpinsrd xmm9,xmm9,DWORD PTR[((-52))+r11],1 vpaddd xmm12,xmm12,xmm15 vpslld xmm8,xmm13,5 vpandn xmm7,xmm14,xmm11 vpand xmm6,xmm14,xmm10 - vmovdqa XMMWORD PTR[(32-128)+rax],xmm2 + vmovdqa XMMWORD PTR[(32-128)+rax],xmm2 vpaddd xmm12,xmm12,xmm2 vpunpckldq xmm3,xmm3,xmm9 vpsrld xmm9,xmm13,27 vpxor xmm6,xmm6,xmm7 - vmovd xmm4,DWORD PTR[((-48))+r8] + vmovd xmm4,DWORD PTR[((-48))+r8] vpslld xmm7,xmm14,30 vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD PTR[((-48))+r9] + vmovd xmm9,DWORD PTR[((-48))+r9] vpaddd xmm12,xmm12,xmm6 vpsrld xmm14,xmm14,2 vpaddd xmm12,xmm12,xmm8 vpshufb xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 - vpinsrd xmm4,xmm4,DWORD PTR[((-48))+r10],1 - vpinsrd xmm9,xmm9,DWORD PTR[((-48))+r11],1 + vpinsrd xmm4,xmm4,DWORD PTR[((-48))+r10],1 + vpinsrd xmm9,xmm9,DWORD PTR[((-48))+r11],1 vpaddd xmm11,xmm11,xmm15 vpslld xmm8,xmm12,5 vpandn xmm7,xmm13,xmm10 vpand xmm6,xmm13,xmm14 - vmovdqa XMMWORD PTR[(48-128)+rax],xmm3 + vmovdqa XMMWORD PTR[(48-128)+rax],xmm3 vpaddd xmm11,xmm11,xmm3 vpunpckldq xmm4,xmm4,xmm9 vpsrld xmm9,xmm12,27 vpxor xmm6,xmm6,xmm7 - vmovd xmm0,DWORD PTR[((-44))+r8] + vmovd xmm0,DWORD PTR[((-44))+r8] vpslld xmm7,xmm13,30 vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD PTR[((-44))+r9] + vmovd xmm9,DWORD PTR[((-44))+r9] vpaddd xmm11,xmm11,xmm6 vpsrld xmm13,xmm13,2 vpaddd xmm11,xmm11,xmm8 vpshufb xmm4,xmm4,xmm5 vpor xmm13,xmm13,xmm7 - vpinsrd xmm0,xmm0,DWORD PTR[((-44))+r10],1 - vpinsrd xmm9,xmm9,DWORD PTR[((-44))+r11],1 + vpinsrd xmm0,xmm0,DWORD PTR[((-44))+r10],1 + vpinsrd xmm9,xmm9,DWORD PTR[((-44))+r11],1 vpaddd xmm10,xmm10,xmm15 vpslld xmm8,xmm11,5 vpandn xmm7,xmm12,xmm14 vpand xmm6,xmm12,xmm13 - vmovdqa XMMWORD PTR[(64-128)+rax],xmm4 + vmovdqa XMMWORD PTR[(64-128)+rax],xmm4 vpaddd xmm10,xmm10,xmm4 vpunpckldq xmm0,xmm0,xmm9 vpsrld xmm9,xmm11,27 vpxor xmm6,xmm6,xmm7 - vmovd xmm1,DWORD PTR[((-40))+r8] + vmovd xmm1,DWORD PTR[((-40))+r8] vpslld xmm7,xmm12,30 vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD PTR[((-40))+r9] + vmovd xmm9,DWORD PTR[((-40))+r9] vpaddd xmm10,xmm10,xmm6 vpsrld xmm12,xmm12,2 vpaddd xmm10,xmm10,xmm8 vpshufb xmm0,xmm0,xmm5 vpor xmm12,xmm12,xmm7 - vpinsrd xmm1,xmm1,DWORD PTR[((-40))+r10],1 - vpinsrd xmm9,xmm9,DWORD PTR[((-40))+r11],1 + vpinsrd xmm1,xmm1,DWORD PTR[((-40))+r10],1 + vpinsrd xmm9,xmm9,DWORD PTR[((-40))+r11],1 vpaddd xmm14,xmm14,xmm15 vpslld xmm8,xmm10,5 vpandn xmm7,xmm11,xmm13 vpand xmm6,xmm11,xmm12 - vmovdqa XMMWORD PTR[(80-128)+rax],xmm0 + vmovdqa XMMWORD PTR[(80-128)+rax],xmm0 vpaddd xmm14,xmm14,xmm0 vpunpckldq xmm1,xmm1,xmm9 vpsrld xmm9,xmm10,27 vpxor xmm6,xmm6,xmm7 - vmovd xmm2,DWORD PTR[((-36))+r8] + vmovd xmm2,DWORD PTR[((-36))+r8] vpslld xmm7,xmm11,30 vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD PTR[((-36))+r9] + vmovd xmm9,DWORD PTR[((-36))+r9] vpaddd xmm14,xmm14,xmm6 vpsrld xmm11,xmm11,2 vpaddd xmm14,xmm14,xmm8 vpshufb xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 - vpinsrd xmm2,xmm2,DWORD PTR[((-36))+r10],1 - vpinsrd xmm9,xmm9,DWORD PTR[((-36))+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[((-36))+r10],1 + vpinsrd xmm9,xmm9,DWORD PTR[((-36))+r11],1 vpaddd xmm13,xmm13,xmm15 vpslld xmm8,xmm14,5 vpandn xmm7,xmm10,xmm12 vpand xmm6,xmm10,xmm11 - vmovdqa XMMWORD PTR[(96-128)+rax],xmm1 + vmovdqa XMMWORD PTR[(96-128)+rax],xmm1 vpaddd xmm13,xmm13,xmm1 vpunpckldq xmm2,xmm2,xmm9 vpsrld xmm9,xmm14,27 vpxor xmm6,xmm6,xmm7 - vmovd xmm3,DWORD PTR[((-32))+r8] + vmovd xmm3,DWORD PTR[((-32))+r8] vpslld xmm7,xmm10,30 vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD PTR[((-32))+r9] + vmovd xmm9,DWORD PTR[((-32))+r9] vpaddd xmm13,xmm13,xmm6 vpsrld xmm10,xmm10,2 vpaddd xmm13,xmm13,xmm8 vpshufb xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 - vpinsrd xmm3,xmm3,DWORD PTR[((-32))+r10],1 - vpinsrd xmm9,xmm9,DWORD PTR[((-32))+r11],1 + vpinsrd xmm3,xmm3,DWORD PTR[((-32))+r10],1 + vpinsrd xmm9,xmm9,DWORD PTR[((-32))+r11],1 vpaddd xmm12,xmm12,xmm15 vpslld xmm8,xmm13,5 vpandn xmm7,xmm14,xmm11 vpand xmm6,xmm14,xmm10 - vmovdqa XMMWORD PTR[(112-128)+rax],xmm2 + vmovdqa XMMWORD PTR[(112-128)+rax],xmm2 vpaddd xmm12,xmm12,xmm2 vpunpckldq xmm3,xmm3,xmm9 vpsrld xmm9,xmm13,27 vpxor xmm6,xmm6,xmm7 - vmovd xmm4,DWORD PTR[((-28))+r8] + vmovd xmm4,DWORD PTR[((-28))+r8] vpslld xmm7,xmm14,30 vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD PTR[((-28))+r9] + vmovd xmm9,DWORD PTR[((-28))+r9] vpaddd xmm12,xmm12,xmm6 vpsrld xmm14,xmm14,2 vpaddd xmm12,xmm12,xmm8 vpshufb xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 - vpinsrd xmm4,xmm4,DWORD PTR[((-28))+r10],1 - vpinsrd xmm9,xmm9,DWORD PTR[((-28))+r11],1 + vpinsrd xmm4,xmm4,DWORD PTR[((-28))+r10],1 + vpinsrd xmm9,xmm9,DWORD PTR[((-28))+r11],1 vpaddd xmm11,xmm11,xmm15 vpslld xmm8,xmm12,5 vpandn xmm7,xmm13,xmm10 vpand xmm6,xmm13,xmm14 - vmovdqa XMMWORD PTR[(128-128)+rax],xmm3 + vmovdqa XMMWORD PTR[(128-128)+rax],xmm3 vpaddd xmm11,xmm11,xmm3 vpunpckldq xmm4,xmm4,xmm9 vpsrld xmm9,xmm12,27 vpxor xmm6,xmm6,xmm7 - vmovd xmm0,DWORD PTR[((-24))+r8] + vmovd xmm0,DWORD PTR[((-24))+r8] vpslld xmm7,xmm13,30 vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD PTR[((-24))+r9] + vmovd xmm9,DWORD PTR[((-24))+r9] vpaddd xmm11,xmm11,xmm6 vpsrld xmm13,xmm13,2 vpaddd xmm11,xmm11,xmm8 vpshufb xmm4,xmm4,xmm5 vpor xmm13,xmm13,xmm7 - vpinsrd xmm0,xmm0,DWORD PTR[((-24))+r10],1 - vpinsrd xmm9,xmm9,DWORD PTR[((-24))+r11],1 + vpinsrd xmm0,xmm0,DWORD PTR[((-24))+r10],1 + vpinsrd xmm9,xmm9,DWORD PTR[((-24))+r11],1 vpaddd xmm10,xmm10,xmm15 vpslld xmm8,xmm11,5 vpandn xmm7,xmm12,xmm14 vpand xmm6,xmm12,xmm13 - vmovdqa XMMWORD PTR[(144-128)+rax],xmm4 + vmovdqa XMMWORD PTR[(144-128)+rax],xmm4 vpaddd xmm10,xmm10,xmm4 vpunpckldq xmm0,xmm0,xmm9 vpsrld xmm9,xmm11,27 vpxor xmm6,xmm6,xmm7 - vmovd xmm1,DWORD PTR[((-20))+r8] + vmovd xmm1,DWORD PTR[((-20))+r8] vpslld xmm7,xmm12,30 vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD PTR[((-20))+r9] + vmovd xmm9,DWORD PTR[((-20))+r9] vpaddd xmm10,xmm10,xmm6 vpsrld xmm12,xmm12,2 vpaddd xmm10,xmm10,xmm8 vpshufb xmm0,xmm0,xmm5 vpor xmm12,xmm12,xmm7 - vpinsrd xmm1,xmm1,DWORD PTR[((-20))+r10],1 - vpinsrd xmm9,xmm9,DWORD PTR[((-20))+r11],1 + vpinsrd xmm1,xmm1,DWORD PTR[((-20))+r10],1 + vpinsrd xmm9,xmm9,DWORD PTR[((-20))+r11],1 vpaddd xmm14,xmm14,xmm15 vpslld xmm8,xmm10,5 vpandn xmm7,xmm11,xmm13 vpand xmm6,xmm11,xmm12 - vmovdqa XMMWORD PTR[(160-128)+rax],xmm0 + vmovdqa XMMWORD PTR[(160-128)+rax],xmm0 vpaddd xmm14,xmm14,xmm0 vpunpckldq xmm1,xmm1,xmm9 vpsrld xmm9,xmm10,27 vpxor xmm6,xmm6,xmm7 - vmovd xmm2,DWORD PTR[((-16))+r8] + vmovd xmm2,DWORD PTR[((-16))+r8] vpslld xmm7,xmm11,30 vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD PTR[((-16))+r9] + vmovd xmm9,DWORD PTR[((-16))+r9] vpaddd xmm14,xmm14,xmm6 vpsrld xmm11,xmm11,2 vpaddd xmm14,xmm14,xmm8 vpshufb xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 - vpinsrd xmm2,xmm2,DWORD PTR[((-16))+r10],1 - vpinsrd xmm9,xmm9,DWORD PTR[((-16))+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[((-16))+r10],1 + vpinsrd xmm9,xmm9,DWORD PTR[((-16))+r11],1 vpaddd xmm13,xmm13,xmm15 vpslld xmm8,xmm14,5 vpandn xmm7,xmm10,xmm12 vpand xmm6,xmm10,xmm11 - vmovdqa XMMWORD PTR[(176-128)+rax],xmm1 + vmovdqa XMMWORD PTR[(176-128)+rax],xmm1 vpaddd xmm13,xmm13,xmm1 vpunpckldq xmm2,xmm2,xmm9 vpsrld xmm9,xmm14,27 vpxor xmm6,xmm6,xmm7 - vmovd xmm3,DWORD PTR[((-12))+r8] + vmovd xmm3,DWORD PTR[((-12))+r8] vpslld xmm7,xmm10,30 vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD PTR[((-12))+r9] + vmovd xmm9,DWORD PTR[((-12))+r9] vpaddd xmm13,xmm13,xmm6 vpsrld xmm10,xmm10,2 vpaddd xmm13,xmm13,xmm8 vpshufb xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 - vpinsrd xmm3,xmm3,DWORD PTR[((-12))+r10],1 - vpinsrd xmm9,xmm9,DWORD PTR[((-12))+r11],1 + vpinsrd xmm3,xmm3,DWORD PTR[((-12))+r10],1 + vpinsrd xmm9,xmm9,DWORD PTR[((-12))+r11],1 vpaddd xmm12,xmm12,xmm15 vpslld xmm8,xmm13,5 vpandn xmm7,xmm14,xmm11 vpand xmm6,xmm14,xmm10 - vmovdqa XMMWORD PTR[(192-128)+rax],xmm2 + vmovdqa XMMWORD PTR[(192-128)+rax],xmm2 vpaddd xmm12,xmm12,xmm2 vpunpckldq xmm3,xmm3,xmm9 vpsrld xmm9,xmm13,27 vpxor xmm6,xmm6,xmm7 - vmovd xmm4,DWORD PTR[((-8))+r8] + vmovd xmm4,DWORD PTR[((-8))+r8] vpslld xmm7,xmm14,30 vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD PTR[((-8))+r9] + vmovd xmm9,DWORD PTR[((-8))+r9] vpaddd xmm12,xmm12,xmm6 vpsrld xmm14,xmm14,2 vpaddd xmm12,xmm12,xmm8 vpshufb xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 - vpinsrd xmm4,xmm4,DWORD PTR[((-8))+r10],1 - vpinsrd xmm9,xmm9,DWORD PTR[((-8))+r11],1 + vpinsrd xmm4,xmm4,DWORD PTR[((-8))+r10],1 + vpinsrd xmm9,xmm9,DWORD PTR[((-8))+r11],1 vpaddd xmm11,xmm11,xmm15 vpslld xmm8,xmm12,5 vpandn xmm7,xmm13,xmm10 vpand xmm6,xmm13,xmm14 - vmovdqa XMMWORD PTR[(208-128)+rax],xmm3 + vmovdqa XMMWORD PTR[(208-128)+rax],xmm3 vpaddd xmm11,xmm11,xmm3 vpunpckldq xmm4,xmm4,xmm9 vpsrld xmm9,xmm12,27 vpxor xmm6,xmm6,xmm7 - vmovd xmm0,DWORD PTR[((-4))+r8] + vmovd xmm0,DWORD PTR[((-4))+r8] vpslld xmm7,xmm13,30 vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD PTR[((-4))+r9] + vmovd xmm9,DWORD PTR[((-4))+r9] vpaddd xmm11,xmm11,xmm6 vpsrld xmm13,xmm13,2 vpaddd xmm11,xmm11,xmm8 vpshufb xmm4,xmm4,xmm5 vpor xmm13,xmm13,xmm7 - vmovdqa xmm1,XMMWORD PTR[((0-128))+rax] - vpinsrd xmm0,xmm0,DWORD PTR[((-4))+r10],1 - vpinsrd xmm9,xmm9,DWORD PTR[((-4))+r11],1 + vmovdqa xmm1,XMMWORD PTR[((0-128))+rax] + vpinsrd xmm0,xmm0,DWORD PTR[((-4))+r10],1 + vpinsrd xmm9,xmm9,DWORD PTR[((-4))+r11],1 vpaddd xmm10,xmm10,xmm15 prefetcht0 [63+r8] vpslld xmm8,xmm11,5 vpandn xmm7,xmm12,xmm14 vpand xmm6,xmm12,xmm13 - vmovdqa XMMWORD PTR[(224-128)+rax],xmm4 + vmovdqa XMMWORD PTR[(224-128)+rax],xmm4 vpaddd xmm10,xmm10,xmm4 vpunpckldq xmm0,xmm0,xmm9 vpsrld xmm9,xmm11,27 @@ -3458,9 +3458,9 @@ $L$oop_avx:: prefetcht0 [63+r11] vpshufb xmm0,xmm0,xmm5 vpor xmm12,xmm12,xmm7 - vmovdqa xmm2,XMMWORD PTR[((16-128))+rax] + vmovdqa xmm2,XMMWORD PTR[((16-128))+rax] vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD PTR[((32-128))+rax] + vmovdqa xmm3,XMMWORD PTR[((32-128))+rax] vpaddd xmm14,xmm14,xmm15 vpslld xmm8,xmm10,5 @@ -3468,9 +3468,9 @@ $L$oop_avx:: vpand xmm6,xmm11,xmm12 - vmovdqa XMMWORD PTR[(240-128)+rax],xmm0 + vmovdqa XMMWORD PTR[(240-128)+rax],xmm0 vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD PTR[((128-128))+rax] + vpxor xmm1,xmm1,XMMWORD PTR[((128-128))+rax] vpsrld xmm9,xmm10,27 vpxor xmm6,xmm6,xmm7 vpxor xmm1,xmm1,xmm3 @@ -3489,7 +3489,7 @@ $L$oop_avx:: vpor xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD PTR[((48-128))+rax] + vmovdqa xmm4,XMMWORD PTR[((48-128))+rax] vpaddd xmm13,xmm13,xmm15 vpslld xmm8,xmm14,5 @@ -3497,9 +3497,9 @@ $L$oop_avx:: vpand xmm6,xmm10,xmm11 - vmovdqa XMMWORD PTR[(0-128)+rax],xmm1 + vmovdqa XMMWORD PTR[(0-128)+rax],xmm1 vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD PTR[((144-128))+rax] + vpxor xmm2,xmm2,XMMWORD PTR[((144-128))+rax] vpsrld xmm9,xmm14,27 vpxor xmm6,xmm6,xmm7 vpxor xmm2,xmm2,xmm4 @@ -3518,7 +3518,7 @@ $L$oop_avx:: vpor xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD PTR[((64-128))+rax] + vmovdqa xmm0,XMMWORD PTR[((64-128))+rax] vpaddd xmm12,xmm12,xmm15 vpslld xmm8,xmm13,5 @@ -3526,9 +3526,9 @@ $L$oop_avx:: vpand xmm6,xmm14,xmm10 - vmovdqa XMMWORD PTR[(16-128)+rax],xmm2 + vmovdqa XMMWORD PTR[(16-128)+rax],xmm2 vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD PTR[((160-128))+rax] + vpxor xmm3,xmm3,XMMWORD PTR[((160-128))+rax] vpsrld xmm9,xmm13,27 vpxor xmm6,xmm6,xmm7 vpxor xmm3,xmm3,xmm0 @@ -3547,7 +3547,7 @@ $L$oop_avx:: vpor xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD PTR[((80-128))+rax] + vmovdqa xmm1,XMMWORD PTR[((80-128))+rax] vpaddd xmm11,xmm11,xmm15 vpslld xmm8,xmm12,5 @@ -3555,9 +3555,9 @@ $L$oop_avx:: vpand xmm6,xmm13,xmm14 - vmovdqa XMMWORD PTR[(32-128)+rax],xmm3 + vmovdqa XMMWORD PTR[(32-128)+rax],xmm3 vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD PTR[((176-128))+rax] + vpxor xmm4,xmm4,XMMWORD PTR[((176-128))+rax] vpsrld xmm9,xmm12,27 vpxor xmm6,xmm6,xmm7 vpxor xmm4,xmm4,xmm1 @@ -3576,7 +3576,7 @@ $L$oop_avx:: vpor xmm4,xmm4,xmm5 vpor xmm13,xmm13,xmm7 vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD PTR[((96-128))+rax] + vmovdqa xmm2,XMMWORD PTR[((96-128))+rax] vpaddd xmm10,xmm10,xmm15 vpslld xmm8,xmm11,5 @@ -3584,9 +3584,9 @@ $L$oop_avx:: vpand xmm6,xmm12,xmm13 - vmovdqa XMMWORD PTR[(48-128)+rax],xmm4 + vmovdqa XMMWORD PTR[(48-128)+rax],xmm4 vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD PTR[((192-128))+rax] + vpxor xmm0,xmm0,XMMWORD PTR[((192-128))+rax] vpsrld xmm9,xmm11,27 vpxor xmm6,xmm6,xmm7 vpxor xmm0,xmm0,xmm2 @@ -3604,16 +3604,16 @@ $L$oop_avx:: vpaddd xmm10,xmm10,xmm8 vpor xmm0,xmm0,xmm5 vpor xmm12,xmm12,xmm7 - vmovdqa xmm15,XMMWORD PTR[rbp] + vmovdqa xmm15,XMMWORD PTR[rbp] vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD PTR[((112-128))+rax] + vmovdqa xmm3,XMMWORD PTR[((112-128))+rax] vpslld xmm8,xmm10,5 vpaddd xmm14,xmm14,xmm15 vpxor xmm6,xmm13,xmm11 - vmovdqa XMMWORD PTR[(64-128)+rax],xmm0 + vmovdqa XMMWORD PTR[(64-128)+rax],xmm0 vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD PTR[((208-128))+rax] + vpxor xmm1,xmm1,XMMWORD PTR[((208-128))+rax] vpsrld xmm9,xmm10,27 vpxor xmm6,xmm6,xmm12 vpxor xmm1,xmm1,xmm3 @@ -3629,14 +3629,14 @@ $L$oop_avx:: vpor xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD PTR[((128-128))+rax] + vmovdqa xmm4,XMMWORD PTR[((128-128))+rax] vpslld xmm8,xmm14,5 vpaddd xmm13,xmm13,xmm15 vpxor xmm6,xmm12,xmm10 - vmovdqa XMMWORD PTR[(80-128)+rax],xmm1 + vmovdqa XMMWORD PTR[(80-128)+rax],xmm1 vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD PTR[((224-128))+rax] + vpxor xmm2,xmm2,XMMWORD PTR[((224-128))+rax] vpsrld xmm9,xmm14,27 vpxor xmm6,xmm6,xmm11 vpxor xmm2,xmm2,xmm4 @@ -3652,14 +3652,14 @@ $L$oop_avx:: vpor xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD PTR[((144-128))+rax] + vmovdqa xmm0,XMMWORD PTR[((144-128))+rax] vpslld xmm8,xmm13,5 vpaddd xmm12,xmm12,xmm15 vpxor xmm6,xmm11,xmm14 - vmovdqa XMMWORD PTR[(96-128)+rax],xmm2 + vmovdqa XMMWORD PTR[(96-128)+rax],xmm2 vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD PTR[((240-128))+rax] + vpxor xmm3,xmm3,XMMWORD PTR[((240-128))+rax] vpsrld xmm9,xmm13,27 vpxor xmm6,xmm6,xmm10 vpxor xmm3,xmm3,xmm0 @@ -3675,14 +3675,14 @@ $L$oop_avx:: vpor xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD PTR[((160-128))+rax] + vmovdqa xmm1,XMMWORD PTR[((160-128))+rax] vpslld xmm8,xmm12,5 vpaddd xmm11,xmm11,xmm15 vpxor xmm6,xmm10,xmm13 - vmovdqa XMMWORD PTR[(112-128)+rax],xmm3 + vmovdqa XMMWORD PTR[(112-128)+rax],xmm3 vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD PTR[((0-128))+rax] + vpxor xmm4,xmm4,XMMWORD PTR[((0-128))+rax] vpsrld xmm9,xmm12,27 vpxor xmm6,xmm6,xmm14 vpxor xmm4,xmm4,xmm1 @@ -3698,14 +3698,14 @@ $L$oop_avx:: vpor xmm4,xmm4,xmm5 vpor xmm13,xmm13,xmm7 vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD PTR[((176-128))+rax] + vmovdqa xmm2,XMMWORD PTR[((176-128))+rax] vpslld xmm8,xmm11,5 vpaddd xmm10,xmm10,xmm15 vpxor xmm6,xmm14,xmm12 - vmovdqa XMMWORD PTR[(128-128)+rax],xmm4 + vmovdqa XMMWORD PTR[(128-128)+rax],xmm4 vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD PTR[((16-128))+rax] + vpxor xmm0,xmm0,XMMWORD PTR[((16-128))+rax] vpsrld xmm9,xmm11,27 vpxor xmm6,xmm6,xmm13 vpxor xmm0,xmm0,xmm2 @@ -3721,14 +3721,14 @@ $L$oop_avx:: vpor xmm0,xmm0,xmm5 vpor xmm12,xmm12,xmm7 vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD PTR[((192-128))+rax] + vmovdqa xmm3,XMMWORD PTR[((192-128))+rax] vpslld xmm8,xmm10,5 vpaddd xmm14,xmm14,xmm15 vpxor xmm6,xmm13,xmm11 - vmovdqa XMMWORD PTR[(144-128)+rax],xmm0 + vmovdqa XMMWORD PTR[(144-128)+rax],xmm0 vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD PTR[((32-128))+rax] + vpxor xmm1,xmm1,XMMWORD PTR[((32-128))+rax] vpsrld xmm9,xmm10,27 vpxor xmm6,xmm6,xmm12 vpxor xmm1,xmm1,xmm3 @@ -3744,14 +3744,14 @@ $L$oop_avx:: vpor xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD PTR[((208-128))+rax] + vmovdqa xmm4,XMMWORD PTR[((208-128))+rax] vpslld xmm8,xmm14,5 vpaddd xmm13,xmm13,xmm15 vpxor xmm6,xmm12,xmm10 - vmovdqa XMMWORD PTR[(160-128)+rax],xmm1 + vmovdqa XMMWORD PTR[(160-128)+rax],xmm1 vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD PTR[((48-128))+rax] + vpxor xmm2,xmm2,XMMWORD PTR[((48-128))+rax] vpsrld xmm9,xmm14,27 vpxor xmm6,xmm6,xmm11 vpxor xmm2,xmm2,xmm4 @@ -3767,14 +3767,14 @@ $L$oop_avx:: vpor xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD PTR[((224-128))+rax] + vmovdqa xmm0,XMMWORD PTR[((224-128))+rax] vpslld xmm8,xmm13,5 vpaddd xmm12,xmm12,xmm15 vpxor xmm6,xmm11,xmm14 - vmovdqa XMMWORD PTR[(176-128)+rax],xmm2 + vmovdqa XMMWORD PTR[(176-128)+rax],xmm2 vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD PTR[((64-128))+rax] + vpxor xmm3,xmm3,XMMWORD PTR[((64-128))+rax] vpsrld xmm9,xmm13,27 vpxor xmm6,xmm6,xmm10 vpxor xmm3,xmm3,xmm0 @@ -3790,14 +3790,14 @@ $L$oop_avx:: vpor xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD PTR[((240-128))+rax] + vmovdqa xmm1,XMMWORD PTR[((240-128))+rax] vpslld xmm8,xmm12,5 vpaddd xmm11,xmm11,xmm15 vpxor xmm6,xmm10,xmm13 - vmovdqa XMMWORD PTR[(192-128)+rax],xmm3 + vmovdqa XMMWORD PTR[(192-128)+rax],xmm3 vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD PTR[((80-128))+rax] + vpxor xmm4,xmm4,XMMWORD PTR[((80-128))+rax] vpsrld xmm9,xmm12,27 vpxor xmm6,xmm6,xmm14 vpxor xmm4,xmm4,xmm1 @@ -3813,14 +3813,14 @@ $L$oop_avx:: vpor xmm4,xmm4,xmm5 vpor xmm13,xmm13,xmm7 vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD PTR[((0-128))+rax] + vmovdqa xmm2,XMMWORD PTR[((0-128))+rax] vpslld xmm8,xmm11,5 vpaddd xmm10,xmm10,xmm15 vpxor xmm6,xmm14,xmm12 - vmovdqa XMMWORD PTR[(208-128)+rax],xmm4 + vmovdqa XMMWORD PTR[(208-128)+rax],xmm4 vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD PTR[((96-128))+rax] + vpxor xmm0,xmm0,XMMWORD PTR[((96-128))+rax] vpsrld xmm9,xmm11,27 vpxor xmm6,xmm6,xmm13 vpxor xmm0,xmm0,xmm2 @@ -3836,14 +3836,14 @@ $L$oop_avx:: vpor xmm0,xmm0,xmm5 vpor xmm12,xmm12,xmm7 vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD PTR[((16-128))+rax] + vmovdqa xmm3,XMMWORD PTR[((16-128))+rax] vpslld xmm8,xmm10,5 vpaddd xmm14,xmm14,xmm15 vpxor xmm6,xmm13,xmm11 - vmovdqa XMMWORD PTR[(224-128)+rax],xmm0 + vmovdqa XMMWORD PTR[(224-128)+rax],xmm0 vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD PTR[((112-128))+rax] + vpxor xmm1,xmm1,XMMWORD PTR[((112-128))+rax] vpsrld xmm9,xmm10,27 vpxor xmm6,xmm6,xmm12 vpxor xmm1,xmm1,xmm3 @@ -3859,14 +3859,14 @@ $L$oop_avx:: vpor xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD PTR[((32-128))+rax] + vmovdqa xmm4,XMMWORD PTR[((32-128))+rax] vpslld xmm8,xmm14,5 vpaddd xmm13,xmm13,xmm15 vpxor xmm6,xmm12,xmm10 - vmovdqa XMMWORD PTR[(240-128)+rax],xmm1 + vmovdqa XMMWORD PTR[(240-128)+rax],xmm1 vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD PTR[((128-128))+rax] + vpxor xmm2,xmm2,XMMWORD PTR[((128-128))+rax] vpsrld xmm9,xmm14,27 vpxor xmm6,xmm6,xmm11 vpxor xmm2,xmm2,xmm4 @@ -3882,14 +3882,14 @@ $L$oop_avx:: vpor xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD PTR[((48-128))+rax] + vmovdqa xmm0,XMMWORD PTR[((48-128))+rax] vpslld xmm8,xmm13,5 vpaddd xmm12,xmm12,xmm15 vpxor xmm6,xmm11,xmm14 - vmovdqa XMMWORD PTR[(0-128)+rax],xmm2 + vmovdqa XMMWORD PTR[(0-128)+rax],xmm2 vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD PTR[((144-128))+rax] + vpxor xmm3,xmm3,XMMWORD PTR[((144-128))+rax] vpsrld xmm9,xmm13,27 vpxor xmm6,xmm6,xmm10 vpxor xmm3,xmm3,xmm0 @@ -3905,14 +3905,14 @@ $L$oop_avx:: vpor xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD PTR[((64-128))+rax] + vmovdqa xmm1,XMMWORD PTR[((64-128))+rax] vpslld xmm8,xmm12,5 vpaddd xmm11,xmm11,xmm15 vpxor xmm6,xmm10,xmm13 - vmovdqa XMMWORD PTR[(16-128)+rax],xmm3 + vmovdqa XMMWORD PTR[(16-128)+rax],xmm3 vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD PTR[((160-128))+rax] + vpxor xmm4,xmm4,XMMWORD PTR[((160-128))+rax] vpsrld xmm9,xmm12,27 vpxor xmm6,xmm6,xmm14 vpxor xmm4,xmm4,xmm1 @@ -3928,14 +3928,14 @@ $L$oop_avx:: vpor xmm4,xmm4,xmm5 vpor xmm13,xmm13,xmm7 vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD PTR[((80-128))+rax] + vmovdqa xmm2,XMMWORD PTR[((80-128))+rax] vpslld xmm8,xmm11,5 vpaddd xmm10,xmm10,xmm15 vpxor xmm6,xmm14,xmm12 - vmovdqa XMMWORD PTR[(32-128)+rax],xmm4 + vmovdqa XMMWORD PTR[(32-128)+rax],xmm4 vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD PTR[((176-128))+rax] + vpxor xmm0,xmm0,XMMWORD PTR[((176-128))+rax] vpsrld xmm9,xmm11,27 vpxor xmm6,xmm6,xmm13 vpxor xmm0,xmm0,xmm2 @@ -3951,14 +3951,14 @@ $L$oop_avx:: vpor xmm0,xmm0,xmm5 vpor xmm12,xmm12,xmm7 vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD PTR[((96-128))+rax] + vmovdqa xmm3,XMMWORD PTR[((96-128))+rax] vpslld xmm8,xmm10,5 vpaddd xmm14,xmm14,xmm15 vpxor xmm6,xmm13,xmm11 - vmovdqa XMMWORD PTR[(48-128)+rax],xmm0 + vmovdqa XMMWORD PTR[(48-128)+rax],xmm0 vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD PTR[((192-128))+rax] + vpxor xmm1,xmm1,XMMWORD PTR[((192-128))+rax] vpsrld xmm9,xmm10,27 vpxor xmm6,xmm6,xmm12 vpxor xmm1,xmm1,xmm3 @@ -3974,14 +3974,14 @@ $L$oop_avx:: vpor xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD PTR[((112-128))+rax] + vmovdqa xmm4,XMMWORD PTR[((112-128))+rax] vpslld xmm8,xmm14,5 vpaddd xmm13,xmm13,xmm15 vpxor xmm6,xmm12,xmm10 - vmovdqa XMMWORD PTR[(64-128)+rax],xmm1 + vmovdqa XMMWORD PTR[(64-128)+rax],xmm1 vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD PTR[((208-128))+rax] + vpxor xmm2,xmm2,XMMWORD PTR[((208-128))+rax] vpsrld xmm9,xmm14,27 vpxor xmm6,xmm6,xmm11 vpxor xmm2,xmm2,xmm4 @@ -3997,14 +3997,14 @@ $L$oop_avx:: vpor xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD PTR[((128-128))+rax] + vmovdqa xmm0,XMMWORD PTR[((128-128))+rax] vpslld xmm8,xmm13,5 vpaddd xmm12,xmm12,xmm15 vpxor xmm6,xmm11,xmm14 - vmovdqa XMMWORD PTR[(80-128)+rax],xmm2 + vmovdqa XMMWORD PTR[(80-128)+rax],xmm2 vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD PTR[((224-128))+rax] + vpxor xmm3,xmm3,XMMWORD PTR[((224-128))+rax] vpsrld xmm9,xmm13,27 vpxor xmm6,xmm6,xmm10 vpxor xmm3,xmm3,xmm0 @@ -4020,14 +4020,14 @@ $L$oop_avx:: vpor xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD PTR[((144-128))+rax] + vmovdqa xmm1,XMMWORD PTR[((144-128))+rax] vpslld xmm8,xmm12,5 vpaddd xmm11,xmm11,xmm15 vpxor xmm6,xmm10,xmm13 - vmovdqa XMMWORD PTR[(96-128)+rax],xmm3 + vmovdqa XMMWORD PTR[(96-128)+rax],xmm3 vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD PTR[((240-128))+rax] + vpxor xmm4,xmm4,XMMWORD PTR[((240-128))+rax] vpsrld xmm9,xmm12,27 vpxor xmm6,xmm6,xmm14 vpxor xmm4,xmm4,xmm1 @@ -4043,14 +4043,14 @@ $L$oop_avx:: vpor xmm4,xmm4,xmm5 vpor xmm13,xmm13,xmm7 vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD PTR[((160-128))+rax] + vmovdqa xmm2,XMMWORD PTR[((160-128))+rax] vpslld xmm8,xmm11,5 vpaddd xmm10,xmm10,xmm15 vpxor xmm6,xmm14,xmm12 - vmovdqa XMMWORD PTR[(112-128)+rax],xmm4 + vmovdqa XMMWORD PTR[(112-128)+rax],xmm4 vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD PTR[((0-128))+rax] + vpxor xmm0,xmm0,XMMWORD PTR[((0-128))+rax] vpsrld xmm9,xmm11,27 vpxor xmm6,xmm6,xmm13 vpxor xmm0,xmm0,xmm2 @@ -4065,21 +4065,21 @@ $L$oop_avx:: vpaddd xmm10,xmm10,xmm8 vpor xmm0,xmm0,xmm5 vpor xmm12,xmm12,xmm7 - vmovdqa xmm15,XMMWORD PTR[32+rbp] + vmovdqa xmm15,XMMWORD PTR[32+rbp] vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD PTR[((176-128))+rax] + vmovdqa xmm3,XMMWORD PTR[((176-128))+rax] vpaddd xmm14,xmm14,xmm15 vpslld xmm8,xmm10,5 vpand xmm7,xmm13,xmm12 - vpxor xmm1,xmm1,XMMWORD PTR[((16-128))+rax] + vpxor xmm1,xmm1,XMMWORD PTR[((16-128))+rax] vpaddd xmm14,xmm14,xmm7 vpsrld xmm9,xmm10,27 vpxor xmm6,xmm13,xmm12 vpxor xmm1,xmm1,xmm3 - vmovdqu XMMWORD PTR[(128-128)+rax],xmm0 + vmovdqu XMMWORD PTR[(128-128)+rax],xmm0 vpaddd xmm14,xmm14,xmm0 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm1,31 @@ -4094,19 +4094,19 @@ $L$oop_avx:: vpor xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD PTR[((192-128))+rax] + vmovdqa xmm4,XMMWORD PTR[((192-128))+rax] vpaddd xmm13,xmm13,xmm15 vpslld xmm8,xmm14,5 vpand xmm7,xmm12,xmm11 - vpxor xmm2,xmm2,XMMWORD PTR[((32-128))+rax] + vpxor xmm2,xmm2,XMMWORD PTR[((32-128))+rax] vpaddd xmm13,xmm13,xmm7 vpsrld xmm9,xmm14,27 vpxor xmm6,xmm12,xmm11 vpxor xmm2,xmm2,xmm4 - vmovdqu XMMWORD PTR[(144-128)+rax],xmm1 + vmovdqu XMMWORD PTR[(144-128)+rax],xmm1 vpaddd xmm13,xmm13,xmm1 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm2,31 @@ -4121,19 +4121,19 @@ $L$oop_avx:: vpor xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD PTR[((208-128))+rax] + vmovdqa xmm0,XMMWORD PTR[((208-128))+rax] vpaddd xmm12,xmm12,xmm15 vpslld xmm8,xmm13,5 vpand xmm7,xmm11,xmm10 - vpxor xmm3,xmm3,XMMWORD PTR[((48-128))+rax] + vpxor xmm3,xmm3,XMMWORD PTR[((48-128))+rax] vpaddd xmm12,xmm12,xmm7 vpsrld xmm9,xmm13,27 vpxor xmm6,xmm11,xmm10 vpxor xmm3,xmm3,xmm0 - vmovdqu XMMWORD PTR[(160-128)+rax],xmm2 + vmovdqu XMMWORD PTR[(160-128)+rax],xmm2 vpaddd xmm12,xmm12,xmm2 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm3,31 @@ -4148,19 +4148,19 @@ $L$oop_avx:: vpor xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD PTR[((224-128))+rax] + vmovdqa xmm1,XMMWORD PTR[((224-128))+rax] vpaddd xmm11,xmm11,xmm15 vpslld xmm8,xmm12,5 vpand xmm7,xmm10,xmm14 - vpxor xmm4,xmm4,XMMWORD PTR[((64-128))+rax] + vpxor xmm4,xmm4,XMMWORD PTR[((64-128))+rax] vpaddd xmm11,xmm11,xmm7 vpsrld xmm9,xmm12,27 vpxor xmm6,xmm10,xmm14 vpxor xmm4,xmm4,xmm1 - vmovdqu XMMWORD PTR[(176-128)+rax],xmm3 + vmovdqu XMMWORD PTR[(176-128)+rax],xmm3 vpaddd xmm11,xmm11,xmm3 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm4,31 @@ -4175,19 +4175,19 @@ $L$oop_avx:: vpor xmm4,xmm4,xmm5 vpor xmm13,xmm13,xmm7 vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD PTR[((240-128))+rax] + vmovdqa xmm2,XMMWORD PTR[((240-128))+rax] vpaddd xmm10,xmm10,xmm15 vpslld xmm8,xmm11,5 vpand xmm7,xmm14,xmm13 - vpxor xmm0,xmm0,XMMWORD PTR[((80-128))+rax] + vpxor xmm0,xmm0,XMMWORD PTR[((80-128))+rax] vpaddd xmm10,xmm10,xmm7 vpsrld xmm9,xmm11,27 vpxor xmm6,xmm14,xmm13 vpxor xmm0,xmm0,xmm2 - vmovdqu XMMWORD PTR[(192-128)+rax],xmm4 + vmovdqu XMMWORD PTR[(192-128)+rax],xmm4 vpaddd xmm10,xmm10,xmm4 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm0,31 @@ -4202,19 +4202,19 @@ $L$oop_avx:: vpor xmm0,xmm0,xmm5 vpor xmm12,xmm12,xmm7 vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD PTR[((0-128))+rax] + vmovdqa xmm3,XMMWORD PTR[((0-128))+rax] vpaddd xmm14,xmm14,xmm15 vpslld xmm8,xmm10,5 vpand xmm7,xmm13,xmm12 - vpxor xmm1,xmm1,XMMWORD PTR[((96-128))+rax] + vpxor xmm1,xmm1,XMMWORD PTR[((96-128))+rax] vpaddd xmm14,xmm14,xmm7 vpsrld xmm9,xmm10,27 vpxor xmm6,xmm13,xmm12 vpxor xmm1,xmm1,xmm3 - vmovdqu XMMWORD PTR[(208-128)+rax],xmm0 + vmovdqu XMMWORD PTR[(208-128)+rax],xmm0 vpaddd xmm14,xmm14,xmm0 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm1,31 @@ -4229,19 +4229,19 @@ $L$oop_avx:: vpor xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD PTR[((16-128))+rax] + vmovdqa xmm4,XMMWORD PTR[((16-128))+rax] vpaddd xmm13,xmm13,xmm15 vpslld xmm8,xmm14,5 vpand xmm7,xmm12,xmm11 - vpxor xmm2,xmm2,XMMWORD PTR[((112-128))+rax] + vpxor xmm2,xmm2,XMMWORD PTR[((112-128))+rax] vpaddd xmm13,xmm13,xmm7 vpsrld xmm9,xmm14,27 vpxor xmm6,xmm12,xmm11 vpxor xmm2,xmm2,xmm4 - vmovdqu XMMWORD PTR[(224-128)+rax],xmm1 + vmovdqu XMMWORD PTR[(224-128)+rax],xmm1 vpaddd xmm13,xmm13,xmm1 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm2,31 @@ -4256,19 +4256,19 @@ $L$oop_avx:: vpor xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD PTR[((32-128))+rax] + vmovdqa xmm0,XMMWORD PTR[((32-128))+rax] vpaddd xmm12,xmm12,xmm15 vpslld xmm8,xmm13,5 vpand xmm7,xmm11,xmm10 - vpxor xmm3,xmm3,XMMWORD PTR[((128-128))+rax] + vpxor xmm3,xmm3,XMMWORD PTR[((128-128))+rax] vpaddd xmm12,xmm12,xmm7 vpsrld xmm9,xmm13,27 vpxor xmm6,xmm11,xmm10 vpxor xmm3,xmm3,xmm0 - vmovdqu XMMWORD PTR[(240-128)+rax],xmm2 + vmovdqu XMMWORD PTR[(240-128)+rax],xmm2 vpaddd xmm12,xmm12,xmm2 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm3,31 @@ -4283,19 +4283,19 @@ $L$oop_avx:: vpor xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD PTR[((48-128))+rax] + vmovdqa xmm1,XMMWORD PTR[((48-128))+rax] vpaddd xmm11,xmm11,xmm15 vpslld xmm8,xmm12,5 vpand xmm7,xmm10,xmm14 - vpxor xmm4,xmm4,XMMWORD PTR[((144-128))+rax] + vpxor xmm4,xmm4,XMMWORD PTR[((144-128))+rax] vpaddd xmm11,xmm11,xmm7 vpsrld xmm9,xmm12,27 vpxor xmm6,xmm10,xmm14 vpxor xmm4,xmm4,xmm1 - vmovdqu XMMWORD PTR[(0-128)+rax],xmm3 + vmovdqu XMMWORD PTR[(0-128)+rax],xmm3 vpaddd xmm11,xmm11,xmm3 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm4,31 @@ -4310,19 +4310,19 @@ $L$oop_avx:: vpor xmm4,xmm4,xmm5 vpor xmm13,xmm13,xmm7 vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD PTR[((64-128))+rax] + vmovdqa xmm2,XMMWORD PTR[((64-128))+rax] vpaddd xmm10,xmm10,xmm15 vpslld xmm8,xmm11,5 vpand xmm7,xmm14,xmm13 - vpxor xmm0,xmm0,XMMWORD PTR[((160-128))+rax] + vpxor xmm0,xmm0,XMMWORD PTR[((160-128))+rax] vpaddd xmm10,xmm10,xmm7 vpsrld xmm9,xmm11,27 vpxor xmm6,xmm14,xmm13 vpxor xmm0,xmm0,xmm2 - vmovdqu XMMWORD PTR[(16-128)+rax],xmm4 + vmovdqu XMMWORD PTR[(16-128)+rax],xmm4 vpaddd xmm10,xmm10,xmm4 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm0,31 @@ -4337,19 +4337,19 @@ $L$oop_avx:: vpor xmm0,xmm0,xmm5 vpor xmm12,xmm12,xmm7 vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD PTR[((80-128))+rax] + vmovdqa xmm3,XMMWORD PTR[((80-128))+rax] vpaddd xmm14,xmm14,xmm15 vpslld xmm8,xmm10,5 vpand xmm7,xmm13,xmm12 - vpxor xmm1,xmm1,XMMWORD PTR[((176-128))+rax] + vpxor xmm1,xmm1,XMMWORD PTR[((176-128))+rax] vpaddd xmm14,xmm14,xmm7 vpsrld xmm9,xmm10,27 vpxor xmm6,xmm13,xmm12 vpxor xmm1,xmm1,xmm3 - vmovdqu XMMWORD PTR[(32-128)+rax],xmm0 + vmovdqu XMMWORD PTR[(32-128)+rax],xmm0 vpaddd xmm14,xmm14,xmm0 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm1,31 @@ -4364,19 +4364,19 @@ $L$oop_avx:: vpor xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD PTR[((96-128))+rax] + vmovdqa xmm4,XMMWORD PTR[((96-128))+rax] vpaddd xmm13,xmm13,xmm15 vpslld xmm8,xmm14,5 vpand xmm7,xmm12,xmm11 - vpxor xmm2,xmm2,XMMWORD PTR[((192-128))+rax] + vpxor xmm2,xmm2,XMMWORD PTR[((192-128))+rax] vpaddd xmm13,xmm13,xmm7 vpsrld xmm9,xmm14,27 vpxor xmm6,xmm12,xmm11 vpxor xmm2,xmm2,xmm4 - vmovdqu XMMWORD PTR[(48-128)+rax],xmm1 + vmovdqu XMMWORD PTR[(48-128)+rax],xmm1 vpaddd xmm13,xmm13,xmm1 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm2,31 @@ -4391,19 +4391,19 @@ $L$oop_avx:: vpor xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD PTR[((112-128))+rax] + vmovdqa xmm0,XMMWORD PTR[((112-128))+rax] vpaddd xmm12,xmm12,xmm15 vpslld xmm8,xmm13,5 vpand xmm7,xmm11,xmm10 - vpxor xmm3,xmm3,XMMWORD PTR[((208-128))+rax] + vpxor xmm3,xmm3,XMMWORD PTR[((208-128))+rax] vpaddd xmm12,xmm12,xmm7 vpsrld xmm9,xmm13,27 vpxor xmm6,xmm11,xmm10 vpxor xmm3,xmm3,xmm0 - vmovdqu XMMWORD PTR[(64-128)+rax],xmm2 + vmovdqu XMMWORD PTR[(64-128)+rax],xmm2 vpaddd xmm12,xmm12,xmm2 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm3,31 @@ -4418,19 +4418,19 @@ $L$oop_avx:: vpor xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD PTR[((128-128))+rax] + vmovdqa xmm1,XMMWORD PTR[((128-128))+rax] vpaddd xmm11,xmm11,xmm15 vpslld xmm8,xmm12,5 vpand xmm7,xmm10,xmm14 - vpxor xmm4,xmm4,XMMWORD PTR[((224-128))+rax] + vpxor xmm4,xmm4,XMMWORD PTR[((224-128))+rax] vpaddd xmm11,xmm11,xmm7 vpsrld xmm9,xmm12,27 vpxor xmm6,xmm10,xmm14 vpxor xmm4,xmm4,xmm1 - vmovdqu XMMWORD PTR[(80-128)+rax],xmm3 + vmovdqu XMMWORD PTR[(80-128)+rax],xmm3 vpaddd xmm11,xmm11,xmm3 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm4,31 @@ -4445,19 +4445,19 @@ $L$oop_avx:: vpor xmm4,xmm4,xmm5 vpor xmm13,xmm13,xmm7 vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD PTR[((144-128))+rax] + vmovdqa xmm2,XMMWORD PTR[((144-128))+rax] vpaddd xmm10,xmm10,xmm15 vpslld xmm8,xmm11,5 vpand xmm7,xmm14,xmm13 - vpxor xmm0,xmm0,XMMWORD PTR[((240-128))+rax] + vpxor xmm0,xmm0,XMMWORD PTR[((240-128))+rax] vpaddd xmm10,xmm10,xmm7 vpsrld xmm9,xmm11,27 vpxor xmm6,xmm14,xmm13 vpxor xmm0,xmm0,xmm2 - vmovdqu XMMWORD PTR[(96-128)+rax],xmm4 + vmovdqu XMMWORD PTR[(96-128)+rax],xmm4 vpaddd xmm10,xmm10,xmm4 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm0,31 @@ -4472,19 +4472,19 @@ $L$oop_avx:: vpor xmm0,xmm0,xmm5 vpor xmm12,xmm12,xmm7 vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD PTR[((160-128))+rax] + vmovdqa xmm3,XMMWORD PTR[((160-128))+rax] vpaddd xmm14,xmm14,xmm15 vpslld xmm8,xmm10,5 vpand xmm7,xmm13,xmm12 - vpxor xmm1,xmm1,XMMWORD PTR[((0-128))+rax] + vpxor xmm1,xmm1,XMMWORD PTR[((0-128))+rax] vpaddd xmm14,xmm14,xmm7 vpsrld xmm9,xmm10,27 vpxor xmm6,xmm13,xmm12 vpxor xmm1,xmm1,xmm3 - vmovdqu XMMWORD PTR[(112-128)+rax],xmm0 + vmovdqu XMMWORD PTR[(112-128)+rax],xmm0 vpaddd xmm14,xmm14,xmm0 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm1,31 @@ -4499,19 +4499,19 @@ $L$oop_avx:: vpor xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD PTR[((176-128))+rax] + vmovdqa xmm4,XMMWORD PTR[((176-128))+rax] vpaddd xmm13,xmm13,xmm15 vpslld xmm8,xmm14,5 vpand xmm7,xmm12,xmm11 - vpxor xmm2,xmm2,XMMWORD PTR[((16-128))+rax] + vpxor xmm2,xmm2,XMMWORD PTR[((16-128))+rax] vpaddd xmm13,xmm13,xmm7 vpsrld xmm9,xmm14,27 vpxor xmm6,xmm12,xmm11 vpxor xmm2,xmm2,xmm4 - vmovdqu XMMWORD PTR[(128-128)+rax],xmm1 + vmovdqu XMMWORD PTR[(128-128)+rax],xmm1 vpaddd xmm13,xmm13,xmm1 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm2,31 @@ -4526,19 +4526,19 @@ $L$oop_avx:: vpor xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD PTR[((192-128))+rax] + vmovdqa xmm0,XMMWORD PTR[((192-128))+rax] vpaddd xmm12,xmm12,xmm15 vpslld xmm8,xmm13,5 vpand xmm7,xmm11,xmm10 - vpxor xmm3,xmm3,XMMWORD PTR[((32-128))+rax] + vpxor xmm3,xmm3,XMMWORD PTR[((32-128))+rax] vpaddd xmm12,xmm12,xmm7 vpsrld xmm9,xmm13,27 vpxor xmm6,xmm11,xmm10 vpxor xmm3,xmm3,xmm0 - vmovdqu XMMWORD PTR[(144-128)+rax],xmm2 + vmovdqu XMMWORD PTR[(144-128)+rax],xmm2 vpaddd xmm12,xmm12,xmm2 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm3,31 @@ -4553,19 +4553,19 @@ $L$oop_avx:: vpor xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD PTR[((208-128))+rax] + vmovdqa xmm1,XMMWORD PTR[((208-128))+rax] vpaddd xmm11,xmm11,xmm15 vpslld xmm8,xmm12,5 vpand xmm7,xmm10,xmm14 - vpxor xmm4,xmm4,XMMWORD PTR[((48-128))+rax] + vpxor xmm4,xmm4,XMMWORD PTR[((48-128))+rax] vpaddd xmm11,xmm11,xmm7 vpsrld xmm9,xmm12,27 vpxor xmm6,xmm10,xmm14 vpxor xmm4,xmm4,xmm1 - vmovdqu XMMWORD PTR[(160-128)+rax],xmm3 + vmovdqu XMMWORD PTR[(160-128)+rax],xmm3 vpaddd xmm11,xmm11,xmm3 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm4,31 @@ -4580,19 +4580,19 @@ $L$oop_avx:: vpor xmm4,xmm4,xmm5 vpor xmm13,xmm13,xmm7 vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD PTR[((224-128))+rax] + vmovdqa xmm2,XMMWORD PTR[((224-128))+rax] vpaddd xmm10,xmm10,xmm15 vpslld xmm8,xmm11,5 vpand xmm7,xmm14,xmm13 - vpxor xmm0,xmm0,XMMWORD PTR[((64-128))+rax] + vpxor xmm0,xmm0,XMMWORD PTR[((64-128))+rax] vpaddd xmm10,xmm10,xmm7 vpsrld xmm9,xmm11,27 vpxor xmm6,xmm14,xmm13 vpxor xmm0,xmm0,xmm2 - vmovdqu XMMWORD PTR[(176-128)+rax],xmm4 + vmovdqu XMMWORD PTR[(176-128)+rax],xmm4 vpaddd xmm10,xmm10,xmm4 vpor xmm8,xmm8,xmm9 vpsrld xmm5,xmm0,31 @@ -4606,16 +4606,16 @@ $L$oop_avx:: vpaddd xmm10,xmm10,xmm8 vpor xmm0,xmm0,xmm5 vpor xmm12,xmm12,xmm7 - vmovdqa xmm15,XMMWORD PTR[64+rbp] + vmovdqa xmm15,XMMWORD PTR[64+rbp] vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD PTR[((240-128))+rax] + vmovdqa xmm3,XMMWORD PTR[((240-128))+rax] vpslld xmm8,xmm10,5 vpaddd xmm14,xmm14,xmm15 vpxor xmm6,xmm13,xmm11 - vmovdqa XMMWORD PTR[(192-128)+rax],xmm0 + vmovdqa XMMWORD PTR[(192-128)+rax],xmm0 vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD PTR[((80-128))+rax] + vpxor xmm1,xmm1,XMMWORD PTR[((80-128))+rax] vpsrld xmm9,xmm10,27 vpxor xmm6,xmm6,xmm12 vpxor xmm1,xmm1,xmm3 @@ -4631,14 +4631,14 @@ $L$oop_avx:: vpor xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD PTR[((0-128))+rax] + vmovdqa xmm4,XMMWORD PTR[((0-128))+rax] vpslld xmm8,xmm14,5 vpaddd xmm13,xmm13,xmm15 vpxor xmm6,xmm12,xmm10 - vmovdqa XMMWORD PTR[(208-128)+rax],xmm1 + vmovdqa XMMWORD PTR[(208-128)+rax],xmm1 vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD PTR[((96-128))+rax] + vpxor xmm2,xmm2,XMMWORD PTR[((96-128))+rax] vpsrld xmm9,xmm14,27 vpxor xmm6,xmm6,xmm11 vpxor xmm2,xmm2,xmm4 @@ -4654,14 +4654,14 @@ $L$oop_avx:: vpor xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD PTR[((16-128))+rax] + vmovdqa xmm0,XMMWORD PTR[((16-128))+rax] vpslld xmm8,xmm13,5 vpaddd xmm12,xmm12,xmm15 vpxor xmm6,xmm11,xmm14 - vmovdqa XMMWORD PTR[(224-128)+rax],xmm2 + vmovdqa XMMWORD PTR[(224-128)+rax],xmm2 vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD PTR[((112-128))+rax] + vpxor xmm3,xmm3,XMMWORD PTR[((112-128))+rax] vpsrld xmm9,xmm13,27 vpxor xmm6,xmm6,xmm10 vpxor xmm3,xmm3,xmm0 @@ -4677,14 +4677,14 @@ $L$oop_avx:: vpor xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD PTR[((32-128))+rax] + vmovdqa xmm1,XMMWORD PTR[((32-128))+rax] vpslld xmm8,xmm12,5 vpaddd xmm11,xmm11,xmm15 vpxor xmm6,xmm10,xmm13 - vmovdqa XMMWORD PTR[(240-128)+rax],xmm3 + vmovdqa XMMWORD PTR[(240-128)+rax],xmm3 vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD PTR[((128-128))+rax] + vpxor xmm4,xmm4,XMMWORD PTR[((128-128))+rax] vpsrld xmm9,xmm12,27 vpxor xmm6,xmm6,xmm14 vpxor xmm4,xmm4,xmm1 @@ -4700,14 +4700,14 @@ $L$oop_avx:: vpor xmm4,xmm4,xmm5 vpor xmm13,xmm13,xmm7 vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD PTR[((48-128))+rax] + vmovdqa xmm2,XMMWORD PTR[((48-128))+rax] vpslld xmm8,xmm11,5 vpaddd xmm10,xmm10,xmm15 vpxor xmm6,xmm14,xmm12 - vmovdqa XMMWORD PTR[(0-128)+rax],xmm4 + vmovdqa XMMWORD PTR[(0-128)+rax],xmm4 vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD PTR[((144-128))+rax] + vpxor xmm0,xmm0,XMMWORD PTR[((144-128))+rax] vpsrld xmm9,xmm11,27 vpxor xmm6,xmm6,xmm13 vpxor xmm0,xmm0,xmm2 @@ -4723,14 +4723,14 @@ $L$oop_avx:: vpor xmm0,xmm0,xmm5 vpor xmm12,xmm12,xmm7 vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD PTR[((64-128))+rax] + vmovdqa xmm3,XMMWORD PTR[((64-128))+rax] vpslld xmm8,xmm10,5 vpaddd xmm14,xmm14,xmm15 vpxor xmm6,xmm13,xmm11 - vmovdqa XMMWORD PTR[(16-128)+rax],xmm0 + vmovdqa XMMWORD PTR[(16-128)+rax],xmm0 vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD PTR[((160-128))+rax] + vpxor xmm1,xmm1,XMMWORD PTR[((160-128))+rax] vpsrld xmm9,xmm10,27 vpxor xmm6,xmm6,xmm12 vpxor xmm1,xmm1,xmm3 @@ -4746,14 +4746,14 @@ $L$oop_avx:: vpor xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD PTR[((80-128))+rax] + vmovdqa xmm4,XMMWORD PTR[((80-128))+rax] vpslld xmm8,xmm14,5 vpaddd xmm13,xmm13,xmm15 vpxor xmm6,xmm12,xmm10 - vmovdqa XMMWORD PTR[(32-128)+rax],xmm1 + vmovdqa XMMWORD PTR[(32-128)+rax],xmm1 vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD PTR[((176-128))+rax] + vpxor xmm2,xmm2,XMMWORD PTR[((176-128))+rax] vpsrld xmm9,xmm14,27 vpxor xmm6,xmm6,xmm11 vpxor xmm2,xmm2,xmm4 @@ -4769,14 +4769,14 @@ $L$oop_avx:: vpor xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD PTR[((96-128))+rax] + vmovdqa xmm0,XMMWORD PTR[((96-128))+rax] vpslld xmm8,xmm13,5 vpaddd xmm12,xmm12,xmm15 vpxor xmm6,xmm11,xmm14 - vmovdqa XMMWORD PTR[(48-128)+rax],xmm2 + vmovdqa XMMWORD PTR[(48-128)+rax],xmm2 vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD PTR[((192-128))+rax] + vpxor xmm3,xmm3,XMMWORD PTR[((192-128))+rax] vpsrld xmm9,xmm13,27 vpxor xmm6,xmm6,xmm10 vpxor xmm3,xmm3,xmm0 @@ -4792,14 +4792,14 @@ $L$oop_avx:: vpor xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD PTR[((112-128))+rax] + vmovdqa xmm1,XMMWORD PTR[((112-128))+rax] vpslld xmm8,xmm12,5 vpaddd xmm11,xmm11,xmm15 vpxor xmm6,xmm10,xmm13 - vmovdqa XMMWORD PTR[(64-128)+rax],xmm3 + vmovdqa XMMWORD PTR[(64-128)+rax],xmm3 vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD PTR[((208-128))+rax] + vpxor xmm4,xmm4,XMMWORD PTR[((208-128))+rax] vpsrld xmm9,xmm12,27 vpxor xmm6,xmm6,xmm14 vpxor xmm4,xmm4,xmm1 @@ -4815,14 +4815,14 @@ $L$oop_avx:: vpor xmm4,xmm4,xmm5 vpor xmm13,xmm13,xmm7 vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD PTR[((128-128))+rax] + vmovdqa xmm2,XMMWORD PTR[((128-128))+rax] vpslld xmm8,xmm11,5 vpaddd xmm10,xmm10,xmm15 vpxor xmm6,xmm14,xmm12 - vmovdqa XMMWORD PTR[(80-128)+rax],xmm4 + vmovdqa XMMWORD PTR[(80-128)+rax],xmm4 vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD PTR[((224-128))+rax] + vpxor xmm0,xmm0,XMMWORD PTR[((224-128))+rax] vpsrld xmm9,xmm11,27 vpxor xmm6,xmm6,xmm13 vpxor xmm0,xmm0,xmm2 @@ -4838,14 +4838,14 @@ $L$oop_avx:: vpor xmm0,xmm0,xmm5 vpor xmm12,xmm12,xmm7 vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD PTR[((144-128))+rax] + vmovdqa xmm3,XMMWORD PTR[((144-128))+rax] vpslld xmm8,xmm10,5 vpaddd xmm14,xmm14,xmm15 vpxor xmm6,xmm13,xmm11 - vmovdqa XMMWORD PTR[(96-128)+rax],xmm0 + vmovdqa XMMWORD PTR[(96-128)+rax],xmm0 vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD PTR[((240-128))+rax] + vpxor xmm1,xmm1,XMMWORD PTR[((240-128))+rax] vpsrld xmm9,xmm10,27 vpxor xmm6,xmm6,xmm12 vpxor xmm1,xmm1,xmm3 @@ -4861,14 +4861,14 @@ $L$oop_avx:: vpor xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD PTR[((160-128))+rax] + vmovdqa xmm4,XMMWORD PTR[((160-128))+rax] vpslld xmm8,xmm14,5 vpaddd xmm13,xmm13,xmm15 vpxor xmm6,xmm12,xmm10 - vmovdqa XMMWORD PTR[(112-128)+rax],xmm1 + vmovdqa XMMWORD PTR[(112-128)+rax],xmm1 vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD PTR[((0-128))+rax] + vpxor xmm2,xmm2,XMMWORD PTR[((0-128))+rax] vpsrld xmm9,xmm14,27 vpxor xmm6,xmm6,xmm11 vpxor xmm2,xmm2,xmm4 @@ -4884,13 +4884,13 @@ $L$oop_avx:: vpor xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD PTR[((176-128))+rax] + vmovdqa xmm0,XMMWORD PTR[((176-128))+rax] vpslld xmm8,xmm13,5 vpaddd xmm12,xmm12,xmm15 vpxor xmm6,xmm11,xmm14 vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD PTR[((16-128))+rax] + vpxor xmm3,xmm3,XMMWORD PTR[((16-128))+rax] vpsrld xmm9,xmm13,27 vpxor xmm6,xmm6,xmm10 vpxor xmm3,xmm3,xmm0 @@ -4906,13 +4906,13 @@ $L$oop_avx:: vpor xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD PTR[((192-128))+rax] + vmovdqa xmm1,XMMWORD PTR[((192-128))+rax] vpslld xmm8,xmm12,5 vpaddd xmm11,xmm11,xmm15 vpxor xmm6,xmm10,xmm13 vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD PTR[((32-128))+rax] + vpxor xmm4,xmm4,XMMWORD PTR[((32-128))+rax] vpsrld xmm9,xmm12,27 vpxor xmm6,xmm6,xmm14 vpxor xmm4,xmm4,xmm1 @@ -4928,13 +4928,13 @@ $L$oop_avx:: vpor xmm4,xmm4,xmm5 vpor xmm13,xmm13,xmm7 vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD PTR[((208-128))+rax] + vmovdqa xmm2,XMMWORD PTR[((208-128))+rax] vpslld xmm8,xmm11,5 vpaddd xmm10,xmm10,xmm15 vpxor xmm6,xmm14,xmm12 vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD PTR[((48-128))+rax] + vpxor xmm0,xmm0,XMMWORD PTR[((48-128))+rax] vpsrld xmm9,xmm11,27 vpxor xmm6,xmm6,xmm13 vpxor xmm0,xmm0,xmm2 @@ -4950,13 +4950,13 @@ $L$oop_avx:: vpor xmm0,xmm0,xmm5 vpor xmm12,xmm12,xmm7 vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD PTR[((224-128))+rax] + vmovdqa xmm3,XMMWORD PTR[((224-128))+rax] vpslld xmm8,xmm10,5 vpaddd xmm14,xmm14,xmm15 vpxor xmm6,xmm13,xmm11 vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD PTR[((64-128))+rax] + vpxor xmm1,xmm1,XMMWORD PTR[((64-128))+rax] vpsrld xmm9,xmm10,27 vpxor xmm6,xmm6,xmm12 vpxor xmm1,xmm1,xmm3 @@ -4972,13 +4972,13 @@ $L$oop_avx:: vpor xmm1,xmm1,xmm5 vpor xmm11,xmm11,xmm7 vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD PTR[((240-128))+rax] + vmovdqa xmm4,XMMWORD PTR[((240-128))+rax] vpslld xmm8,xmm14,5 vpaddd xmm13,xmm13,xmm15 vpxor xmm6,xmm12,xmm10 vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD PTR[((80-128))+rax] + vpxor xmm2,xmm2,XMMWORD PTR[((80-128))+rax] vpsrld xmm9,xmm14,27 vpxor xmm6,xmm6,xmm11 vpxor xmm2,xmm2,xmm4 @@ -4994,13 +4994,13 @@ $L$oop_avx:: vpor xmm2,xmm2,xmm5 vpor xmm10,xmm10,xmm7 vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD PTR[((0-128))+rax] + vmovdqa xmm0,XMMWORD PTR[((0-128))+rax] vpslld xmm8,xmm13,5 vpaddd xmm12,xmm12,xmm15 vpxor xmm6,xmm11,xmm14 vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD PTR[((96-128))+rax] + vpxor xmm3,xmm3,XMMWORD PTR[((96-128))+rax] vpsrld xmm9,xmm13,27 vpxor xmm6,xmm6,xmm10 vpxor xmm3,xmm3,xmm0 @@ -5016,13 +5016,13 @@ $L$oop_avx:: vpor xmm3,xmm3,xmm5 vpor xmm14,xmm14,xmm7 vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD PTR[((16-128))+rax] + vmovdqa xmm1,XMMWORD PTR[((16-128))+rax] vpslld xmm8,xmm12,5 vpaddd xmm11,xmm11,xmm15 vpxor xmm6,xmm10,xmm13 vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD PTR[((112-128))+rax] + vpxor xmm4,xmm4,XMMWORD PTR[((112-128))+rax] vpsrld xmm9,xmm12,27 vpxor xmm6,xmm6,xmm14 vpxor xmm4,xmm4,xmm1 @@ -5053,15 +5053,15 @@ $L$oop_avx:: vpaddd xmm10,xmm10,xmm8 vpor xmm12,xmm12,xmm7 mov ecx,1 - cmp ecx,DWORD PTR[rbx] + cmp ecx,DWORD PTR[rbx] cmovge r8,rbp - cmp ecx,DWORD PTR[4+rbx] + cmp ecx,DWORD PTR[4+rbx] cmovge r9,rbp - cmp ecx,DWORD PTR[8+rbx] + cmp ecx,DWORD PTR[8+rbx] cmovge r10,rbp - cmp ecx,DWORD PTR[12+rbx] + cmp ecx,DWORD PTR[12+rbx] cmovge r11,rbp - vmovdqu xmm6,XMMWORD PTR[rbx] + vmovdqu xmm6,XMMWORD PTR[rbx] vpxor xmm8,xmm8,xmm8 vmovdqa xmm7,xmm6 vpcmpgtd xmm7,xmm7,xmm8 @@ -5069,72 +5069,72 @@ $L$oop_avx:: vpand xmm10,xmm10,xmm7 vpand xmm11,xmm11,xmm7 - vpaddd xmm10,xmm10,XMMWORD PTR[rdi] + vpaddd xmm10,xmm10,XMMWORD PTR[rdi] vpand xmm12,xmm12,xmm7 - vpaddd xmm11,xmm11,XMMWORD PTR[32+rdi] + vpaddd xmm11,xmm11,XMMWORD PTR[32+rdi] vpand xmm13,xmm13,xmm7 - vpaddd xmm12,xmm12,XMMWORD PTR[64+rdi] + vpaddd xmm12,xmm12,XMMWORD PTR[64+rdi] vpand xmm14,xmm14,xmm7 - vpaddd xmm13,xmm13,XMMWORD PTR[96+rdi] - vpaddd xmm14,xmm14,XMMWORD PTR[128+rdi] - vmovdqu XMMWORD PTR[rdi],xmm10 - vmovdqu XMMWORD PTR[32+rdi],xmm11 - vmovdqu XMMWORD PTR[64+rdi],xmm12 - vmovdqu XMMWORD PTR[96+rdi],xmm13 - vmovdqu XMMWORD PTR[128+rdi],xmm14 - - vmovdqu XMMWORD PTR[rbx],xmm6 - vmovdqu xmm5,XMMWORD PTR[96+rbp] + vpaddd xmm13,xmm13,XMMWORD PTR[96+rdi] + vpaddd xmm14,xmm14,XMMWORD PTR[128+rdi] + vmovdqu XMMWORD PTR[rdi],xmm10 + vmovdqu XMMWORD PTR[32+rdi],xmm11 + vmovdqu XMMWORD PTR[64+rdi],xmm12 + vmovdqu XMMWORD PTR[96+rdi],xmm13 + vmovdqu XMMWORD PTR[128+rdi],xmm14 + + vmovdqu XMMWORD PTR[rbx],xmm6 + vmovdqu xmm5,XMMWORD PTR[96+rbp] dec edx - jnz $L$oop_avx + jnz $L$oop_avx - mov edx,DWORD PTR[280+rsp] - lea rdi,QWORD PTR[16+rdi] - lea rsi,QWORD PTR[64+rsi] + mov edx,DWORD PTR[280+rsp] + lea rdi,QWORD PTR[16+rdi] + lea rsi,QWORD PTR[64+rsi] dec edx - jnz $L$oop_grande_avx + jnz $L$oop_grande_avx -$L$done_avx:: - mov rax,QWORD PTR[272+rsp] +$L$done_avx:: + mov rax,QWORD PTR[272+rsp] vzeroupper - movaps xmm6,XMMWORD PTR[((-184))+rax] - movaps xmm7,XMMWORD PTR[((-168))+rax] - movaps xmm8,XMMWORD PTR[((-152))+rax] - movaps xmm9,XMMWORD PTR[((-136))+rax] - movaps xmm10,XMMWORD PTR[((-120))+rax] - movaps xmm11,XMMWORD PTR[((-104))+rax] - movaps xmm12,XMMWORD PTR[((-88))+rax] - movaps xmm13,XMMWORD PTR[((-72))+rax] - movaps xmm14,XMMWORD PTR[((-56))+rax] - movaps xmm15,XMMWORD PTR[((-40))+rax] - mov rbp,QWORD PTR[((-16))+rax] - - mov rbx,QWORD PTR[((-8))+rax] - - lea rsp,QWORD PTR[rax] - -$L$epilogue_avx:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movaps xmm6,XMMWORD PTR[((-184))+rax] + movaps xmm7,XMMWORD PTR[((-168))+rax] + movaps xmm8,XMMWORD PTR[((-152))+rax] + movaps xmm9,XMMWORD PTR[((-136))+rax] + movaps xmm10,XMMWORD PTR[((-120))+rax] + movaps xmm11,XMMWORD PTR[((-104))+rax] + movaps xmm12,XMMWORD PTR[((-88))+rax] + movaps xmm13,XMMWORD PTR[((-72))+rax] + movaps xmm14,XMMWORD PTR[((-56))+rax] + movaps xmm15,XMMWORD PTR[((-40))+rax] + mov rbp,QWORD PTR[((-16))+rax] + + mov rbx,QWORD PTR[((-8))+rax] + + lea rsp,QWORD PTR[rax] + +$L$epilogue_avx:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_multi_block_avx:: -sha1_multi_block_avx ENDP +$L$SEH_end_sha1_multi_block_avx:: +sha1_multi_block_avx ENDP ALIGN 32 -sha1_multi_block_avx2 PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha1_multi_block_avx2 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha1_multi_block_avx2:: +$L$SEH_begin_sha1_multi_block_avx2:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -_avx2_shortcut:: +_avx2_shortcut:: mov rax,rsp push rbx @@ -5149,535 +5149,535 @@ _avx2_shortcut:: push r15 - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 - movaps XMMWORD PTR[64+rsp],xmm10 - movaps XMMWORD PTR[80+rsp],xmm11 - movaps XMMWORD PTR[(-120)+rax],xmm12 - movaps XMMWORD PTR[(-104)+rax],xmm13 - movaps XMMWORD PTR[(-88)+rax],xmm14 - movaps XMMWORD PTR[(-72)+rax],xmm15 + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 + movaps XMMWORD PTR[64+rsp],xmm10 + movaps XMMWORD PTR[80+rsp],xmm11 + movaps XMMWORD PTR[(-120)+rax],xmm12 + movaps XMMWORD PTR[(-104)+rax],xmm13 + movaps XMMWORD PTR[(-88)+rax],xmm14 + movaps XMMWORD PTR[(-72)+rax],xmm15 sub rsp,576 and rsp,-256 - mov QWORD PTR[544+rsp],rax + mov QWORD PTR[544+rsp],rax -$L$body_avx2:: - lea rbp,QWORD PTR[K_XX_XX] +$L$body_avx2:: + lea rbp,QWORD PTR[K_XX_XX] shr edx,1 vzeroupper -$L$oop_grande_avx2:: - mov DWORD PTR[552+rsp],edx +$L$oop_grande_avx2:: + mov DWORD PTR[552+rsp],edx xor edx,edx - lea rbx,QWORD PTR[512+rsp] - mov r12,QWORD PTR[rsi] - mov ecx,DWORD PTR[8+rsi] + lea rbx,QWORD PTR[512+rsp] + mov r12,QWORD PTR[rsi] + mov ecx,DWORD PTR[8+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[rbx],ecx + mov DWORD PTR[rbx],ecx cmovle r12,rbp - mov r13,QWORD PTR[16+rsi] - mov ecx,DWORD PTR[24+rsi] + mov r13,QWORD PTR[16+rsi] + mov ecx,DWORD PTR[24+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[4+rbx],ecx + mov DWORD PTR[4+rbx],ecx cmovle r13,rbp - mov r14,QWORD PTR[32+rsi] - mov ecx,DWORD PTR[40+rsi] + mov r14,QWORD PTR[32+rsi] + mov ecx,DWORD PTR[40+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[8+rbx],ecx + mov DWORD PTR[8+rbx],ecx cmovle r14,rbp - mov r15,QWORD PTR[48+rsi] - mov ecx,DWORD PTR[56+rsi] + mov r15,QWORD PTR[48+rsi] + mov ecx,DWORD PTR[56+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[12+rbx],ecx + mov DWORD PTR[12+rbx],ecx cmovle r15,rbp - mov r8,QWORD PTR[64+rsi] - mov ecx,DWORD PTR[72+rsi] + mov r8,QWORD PTR[64+rsi] + mov ecx,DWORD PTR[72+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[16+rbx],ecx + mov DWORD PTR[16+rbx],ecx cmovle r8,rbp - mov r9,QWORD PTR[80+rsi] - mov ecx,DWORD PTR[88+rsi] + mov r9,QWORD PTR[80+rsi] + mov ecx,DWORD PTR[88+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[20+rbx],ecx + mov DWORD PTR[20+rbx],ecx cmovle r9,rbp - mov r10,QWORD PTR[96+rsi] - mov ecx,DWORD PTR[104+rsi] + mov r10,QWORD PTR[96+rsi] + mov ecx,DWORD PTR[104+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[24+rbx],ecx + mov DWORD PTR[24+rbx],ecx cmovle r10,rbp - mov r11,QWORD PTR[112+rsi] - mov ecx,DWORD PTR[120+rsi] + mov r11,QWORD PTR[112+rsi] + mov ecx,DWORD PTR[120+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[28+rbx],ecx + mov DWORD PTR[28+rbx],ecx cmovle r11,rbp - vmovdqu ymm0,YMMWORD PTR[rdi] - lea rax,QWORD PTR[128+rsp] - vmovdqu ymm1,YMMWORD PTR[32+rdi] - lea rbx,QWORD PTR[((256+128))+rsp] - vmovdqu ymm2,YMMWORD PTR[64+rdi] - vmovdqu ymm3,YMMWORD PTR[96+rdi] - vmovdqu ymm4,YMMWORD PTR[128+rdi] - vmovdqu ymm9,YMMWORD PTR[96+rbp] - jmp $L$oop_avx2 + vmovdqu ymm0,YMMWORD PTR[rdi] + lea rax,QWORD PTR[128+rsp] + vmovdqu ymm1,YMMWORD PTR[32+rdi] + lea rbx,QWORD PTR[((256+128))+rsp] + vmovdqu ymm2,YMMWORD PTR[64+rdi] + vmovdqu ymm3,YMMWORD PTR[96+rdi] + vmovdqu ymm4,YMMWORD PTR[128+rdi] + vmovdqu ymm9,YMMWORD PTR[96+rbp] + jmp $L$oop_avx2 ALIGN 32 -$L$oop_avx2:: - vmovdqa ymm15,YMMWORD PTR[((-32))+rbp] - vmovd xmm10,DWORD PTR[r12] - lea r12,QWORD PTR[64+r12] - vmovd xmm12,DWORD PTR[r8] - lea r8,QWORD PTR[64+r8] - vmovd xmm7,DWORD PTR[r13] - lea r13,QWORD PTR[64+r13] - vmovd xmm6,DWORD PTR[r9] - lea r9,QWORD PTR[64+r9] - vpinsrd xmm10,xmm10,DWORD PTR[r14],1 - lea r14,QWORD PTR[64+r14] - vpinsrd xmm12,xmm12,DWORD PTR[r10],1 - lea r10,QWORD PTR[64+r10] - vpinsrd xmm7,xmm7,DWORD PTR[r15],1 - lea r15,QWORD PTR[64+r15] +$L$oop_avx2:: + vmovdqa ymm15,YMMWORD PTR[((-32))+rbp] + vmovd xmm10,DWORD PTR[r12] + lea r12,QWORD PTR[64+r12] + vmovd xmm12,DWORD PTR[r8] + lea r8,QWORD PTR[64+r8] + vmovd xmm7,DWORD PTR[r13] + lea r13,QWORD PTR[64+r13] + vmovd xmm6,DWORD PTR[r9] + lea r9,QWORD PTR[64+r9] + vpinsrd xmm10,xmm10,DWORD PTR[r14],1 + lea r14,QWORD PTR[64+r14] + vpinsrd xmm12,xmm12,DWORD PTR[r10],1 + lea r10,QWORD PTR[64+r10] + vpinsrd xmm7,xmm7,DWORD PTR[r15],1 + lea r15,QWORD PTR[64+r15] vpunpckldq ymm10,ymm10,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[r11],1 - lea r11,QWORD PTR[64+r11] + vpinsrd xmm6,xmm6,DWORD PTR[r11],1 + lea r11,QWORD PTR[64+r11] vpunpckldq ymm12,ymm12,ymm6 - vmovd xmm11,DWORD PTR[((-60))+r12] + vmovd xmm11,DWORD PTR[((-60))+r12] vinserti128 ymm10,ymm10,xmm12,1 - vmovd xmm8,DWORD PTR[((-60))+r8] + vmovd xmm8,DWORD PTR[((-60))+r8] vpshufb ymm10,ymm10,ymm9 - vmovd xmm7,DWORD PTR[((-60))+r13] - vmovd xmm6,DWORD PTR[((-60))+r9] - vpinsrd xmm11,xmm11,DWORD PTR[((-60))+r14],1 - vpinsrd xmm8,xmm8,DWORD PTR[((-60))+r10],1 - vpinsrd xmm7,xmm7,DWORD PTR[((-60))+r15],1 + vmovd xmm7,DWORD PTR[((-60))+r13] + vmovd xmm6,DWORD PTR[((-60))+r9] + vpinsrd xmm11,xmm11,DWORD PTR[((-60))+r14],1 + vpinsrd xmm8,xmm8,DWORD PTR[((-60))+r10],1 + vpinsrd xmm7,xmm7,DWORD PTR[((-60))+r15],1 vpunpckldq ymm11,ymm11,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[((-60))+r11],1 + vpinsrd xmm6,xmm6,DWORD PTR[((-60))+r11],1 vpunpckldq ymm8,ymm8,ymm6 vpaddd ymm4,ymm4,ymm15 vpslld ymm7,ymm0,5 vpandn ymm6,ymm1,ymm3 vpand ymm5,ymm1,ymm2 - vmovdqa YMMWORD PTR[(0-128)+rax],ymm10 + vmovdqa YMMWORD PTR[(0-128)+rax],ymm10 vpaddd ymm4,ymm4,ymm10 vinserti128 ymm11,ymm11,xmm8,1 vpsrld ymm8,ymm0,27 vpxor ymm5,ymm5,ymm6 - vmovd xmm12,DWORD PTR[((-56))+r12] + vmovd xmm12,DWORD PTR[((-56))+r12] vpslld ymm6,ymm1,30 vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD PTR[((-56))+r8] + vmovd xmm8,DWORD PTR[((-56))+r8] vpaddd ymm4,ymm4,ymm5 vpsrld ymm1,ymm1,2 vpaddd ymm4,ymm4,ymm7 vpshufb ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 - vmovd xmm7,DWORD PTR[((-56))+r13] - vmovd xmm6,DWORD PTR[((-56))+r9] - vpinsrd xmm12,xmm12,DWORD PTR[((-56))+r14],1 - vpinsrd xmm8,xmm8,DWORD PTR[((-56))+r10],1 - vpinsrd xmm7,xmm7,DWORD PTR[((-56))+r15],1 + vmovd xmm7,DWORD PTR[((-56))+r13] + vmovd xmm6,DWORD PTR[((-56))+r9] + vpinsrd xmm12,xmm12,DWORD PTR[((-56))+r14],1 + vpinsrd xmm8,xmm8,DWORD PTR[((-56))+r10],1 + vpinsrd xmm7,xmm7,DWORD PTR[((-56))+r15],1 vpunpckldq ymm12,ymm12,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[((-56))+r11],1 + vpinsrd xmm6,xmm6,DWORD PTR[((-56))+r11],1 vpunpckldq ymm8,ymm8,ymm6 vpaddd ymm3,ymm3,ymm15 vpslld ymm7,ymm4,5 vpandn ymm6,ymm0,ymm2 vpand ymm5,ymm0,ymm1 - vmovdqa YMMWORD PTR[(32-128)+rax],ymm11 + vmovdqa YMMWORD PTR[(32-128)+rax],ymm11 vpaddd ymm3,ymm3,ymm11 vinserti128 ymm12,ymm12,xmm8,1 vpsrld ymm8,ymm4,27 vpxor ymm5,ymm5,ymm6 - vmovd xmm13,DWORD PTR[((-52))+r12] + vmovd xmm13,DWORD PTR[((-52))+r12] vpslld ymm6,ymm0,30 vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD PTR[((-52))+r8] + vmovd xmm8,DWORD PTR[((-52))+r8] vpaddd ymm3,ymm3,ymm5 vpsrld ymm0,ymm0,2 vpaddd ymm3,ymm3,ymm7 vpshufb ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 - vmovd xmm7,DWORD PTR[((-52))+r13] - vmovd xmm6,DWORD PTR[((-52))+r9] - vpinsrd xmm13,xmm13,DWORD PTR[((-52))+r14],1 - vpinsrd xmm8,xmm8,DWORD PTR[((-52))+r10],1 - vpinsrd xmm7,xmm7,DWORD PTR[((-52))+r15],1 + vmovd xmm7,DWORD PTR[((-52))+r13] + vmovd xmm6,DWORD PTR[((-52))+r9] + vpinsrd xmm13,xmm13,DWORD PTR[((-52))+r14],1 + vpinsrd xmm8,xmm8,DWORD PTR[((-52))+r10],1 + vpinsrd xmm7,xmm7,DWORD PTR[((-52))+r15],1 vpunpckldq ymm13,ymm13,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[((-52))+r11],1 + vpinsrd xmm6,xmm6,DWORD PTR[((-52))+r11],1 vpunpckldq ymm8,ymm8,ymm6 vpaddd ymm2,ymm2,ymm15 vpslld ymm7,ymm3,5 vpandn ymm6,ymm4,ymm1 vpand ymm5,ymm4,ymm0 - vmovdqa YMMWORD PTR[(64-128)+rax],ymm12 + vmovdqa YMMWORD PTR[(64-128)+rax],ymm12 vpaddd ymm2,ymm2,ymm12 vinserti128 ymm13,ymm13,xmm8,1 vpsrld ymm8,ymm3,27 vpxor ymm5,ymm5,ymm6 - vmovd xmm14,DWORD PTR[((-48))+r12] + vmovd xmm14,DWORD PTR[((-48))+r12] vpslld ymm6,ymm4,30 vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD PTR[((-48))+r8] + vmovd xmm8,DWORD PTR[((-48))+r8] vpaddd ymm2,ymm2,ymm5 vpsrld ymm4,ymm4,2 vpaddd ymm2,ymm2,ymm7 vpshufb ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 - vmovd xmm7,DWORD PTR[((-48))+r13] - vmovd xmm6,DWORD PTR[((-48))+r9] - vpinsrd xmm14,xmm14,DWORD PTR[((-48))+r14],1 - vpinsrd xmm8,xmm8,DWORD PTR[((-48))+r10],1 - vpinsrd xmm7,xmm7,DWORD PTR[((-48))+r15],1 + vmovd xmm7,DWORD PTR[((-48))+r13] + vmovd xmm6,DWORD PTR[((-48))+r9] + vpinsrd xmm14,xmm14,DWORD PTR[((-48))+r14],1 + vpinsrd xmm8,xmm8,DWORD PTR[((-48))+r10],1 + vpinsrd xmm7,xmm7,DWORD PTR[((-48))+r15],1 vpunpckldq ymm14,ymm14,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[((-48))+r11],1 + vpinsrd xmm6,xmm6,DWORD PTR[((-48))+r11],1 vpunpckldq ymm8,ymm8,ymm6 vpaddd ymm1,ymm1,ymm15 vpslld ymm7,ymm2,5 vpandn ymm6,ymm3,ymm0 vpand ymm5,ymm3,ymm4 - vmovdqa YMMWORD PTR[(96-128)+rax],ymm13 + vmovdqa YMMWORD PTR[(96-128)+rax],ymm13 vpaddd ymm1,ymm1,ymm13 vinserti128 ymm14,ymm14,xmm8,1 vpsrld ymm8,ymm2,27 vpxor ymm5,ymm5,ymm6 - vmovd xmm10,DWORD PTR[((-44))+r12] + vmovd xmm10,DWORD PTR[((-44))+r12] vpslld ymm6,ymm3,30 vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD PTR[((-44))+r8] + vmovd xmm8,DWORD PTR[((-44))+r8] vpaddd ymm1,ymm1,ymm5 vpsrld ymm3,ymm3,2 vpaddd ymm1,ymm1,ymm7 vpshufb ymm14,ymm14,ymm9 vpor ymm3,ymm3,ymm6 - vmovd xmm7,DWORD PTR[((-44))+r13] - vmovd xmm6,DWORD PTR[((-44))+r9] - vpinsrd xmm10,xmm10,DWORD PTR[((-44))+r14],1 - vpinsrd xmm8,xmm8,DWORD PTR[((-44))+r10],1 - vpinsrd xmm7,xmm7,DWORD PTR[((-44))+r15],1 + vmovd xmm7,DWORD PTR[((-44))+r13] + vmovd xmm6,DWORD PTR[((-44))+r9] + vpinsrd xmm10,xmm10,DWORD PTR[((-44))+r14],1 + vpinsrd xmm8,xmm8,DWORD PTR[((-44))+r10],1 + vpinsrd xmm7,xmm7,DWORD PTR[((-44))+r15],1 vpunpckldq ymm10,ymm10,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[((-44))+r11],1 + vpinsrd xmm6,xmm6,DWORD PTR[((-44))+r11],1 vpunpckldq ymm8,ymm8,ymm6 vpaddd ymm0,ymm0,ymm15 vpslld ymm7,ymm1,5 vpandn ymm6,ymm2,ymm4 vpand ymm5,ymm2,ymm3 - vmovdqa YMMWORD PTR[(128-128)+rax],ymm14 + vmovdqa YMMWORD PTR[(128-128)+rax],ymm14 vpaddd ymm0,ymm0,ymm14 vinserti128 ymm10,ymm10,xmm8,1 vpsrld ymm8,ymm1,27 vpxor ymm5,ymm5,ymm6 - vmovd xmm11,DWORD PTR[((-40))+r12] + vmovd xmm11,DWORD PTR[((-40))+r12] vpslld ymm6,ymm2,30 vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD PTR[((-40))+r8] + vmovd xmm8,DWORD PTR[((-40))+r8] vpaddd ymm0,ymm0,ymm5 vpsrld ymm2,ymm2,2 vpaddd ymm0,ymm0,ymm7 vpshufb ymm10,ymm10,ymm9 vpor ymm2,ymm2,ymm6 - vmovd xmm7,DWORD PTR[((-40))+r13] - vmovd xmm6,DWORD PTR[((-40))+r9] - vpinsrd xmm11,xmm11,DWORD PTR[((-40))+r14],1 - vpinsrd xmm8,xmm8,DWORD PTR[((-40))+r10],1 - vpinsrd xmm7,xmm7,DWORD PTR[((-40))+r15],1 + vmovd xmm7,DWORD PTR[((-40))+r13] + vmovd xmm6,DWORD PTR[((-40))+r9] + vpinsrd xmm11,xmm11,DWORD PTR[((-40))+r14],1 + vpinsrd xmm8,xmm8,DWORD PTR[((-40))+r10],1 + vpinsrd xmm7,xmm7,DWORD PTR[((-40))+r15],1 vpunpckldq ymm11,ymm11,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[((-40))+r11],1 + vpinsrd xmm6,xmm6,DWORD PTR[((-40))+r11],1 vpunpckldq ymm8,ymm8,ymm6 vpaddd ymm4,ymm4,ymm15 vpslld ymm7,ymm0,5 vpandn ymm6,ymm1,ymm3 vpand ymm5,ymm1,ymm2 - vmovdqa YMMWORD PTR[(160-128)+rax],ymm10 + vmovdqa YMMWORD PTR[(160-128)+rax],ymm10 vpaddd ymm4,ymm4,ymm10 vinserti128 ymm11,ymm11,xmm8,1 vpsrld ymm8,ymm0,27 vpxor ymm5,ymm5,ymm6 - vmovd xmm12,DWORD PTR[((-36))+r12] + vmovd xmm12,DWORD PTR[((-36))+r12] vpslld ymm6,ymm1,30 vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD PTR[((-36))+r8] + vmovd xmm8,DWORD PTR[((-36))+r8] vpaddd ymm4,ymm4,ymm5 vpsrld ymm1,ymm1,2 vpaddd ymm4,ymm4,ymm7 vpshufb ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 - vmovd xmm7,DWORD PTR[((-36))+r13] - vmovd xmm6,DWORD PTR[((-36))+r9] - vpinsrd xmm12,xmm12,DWORD PTR[((-36))+r14],1 - vpinsrd xmm8,xmm8,DWORD PTR[((-36))+r10],1 - vpinsrd xmm7,xmm7,DWORD PTR[((-36))+r15],1 + vmovd xmm7,DWORD PTR[((-36))+r13] + vmovd xmm6,DWORD PTR[((-36))+r9] + vpinsrd xmm12,xmm12,DWORD PTR[((-36))+r14],1 + vpinsrd xmm8,xmm8,DWORD PTR[((-36))+r10],1 + vpinsrd xmm7,xmm7,DWORD PTR[((-36))+r15],1 vpunpckldq ymm12,ymm12,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[((-36))+r11],1 + vpinsrd xmm6,xmm6,DWORD PTR[((-36))+r11],1 vpunpckldq ymm8,ymm8,ymm6 vpaddd ymm3,ymm3,ymm15 vpslld ymm7,ymm4,5 vpandn ymm6,ymm0,ymm2 vpand ymm5,ymm0,ymm1 - vmovdqa YMMWORD PTR[(192-128)+rax],ymm11 + vmovdqa YMMWORD PTR[(192-128)+rax],ymm11 vpaddd ymm3,ymm3,ymm11 vinserti128 ymm12,ymm12,xmm8,1 vpsrld ymm8,ymm4,27 vpxor ymm5,ymm5,ymm6 - vmovd xmm13,DWORD PTR[((-32))+r12] + vmovd xmm13,DWORD PTR[((-32))+r12] vpslld ymm6,ymm0,30 vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD PTR[((-32))+r8] + vmovd xmm8,DWORD PTR[((-32))+r8] vpaddd ymm3,ymm3,ymm5 vpsrld ymm0,ymm0,2 vpaddd ymm3,ymm3,ymm7 vpshufb ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 - vmovd xmm7,DWORD PTR[((-32))+r13] - vmovd xmm6,DWORD PTR[((-32))+r9] - vpinsrd xmm13,xmm13,DWORD PTR[((-32))+r14],1 - vpinsrd xmm8,xmm8,DWORD PTR[((-32))+r10],1 - vpinsrd xmm7,xmm7,DWORD PTR[((-32))+r15],1 + vmovd xmm7,DWORD PTR[((-32))+r13] + vmovd xmm6,DWORD PTR[((-32))+r9] + vpinsrd xmm13,xmm13,DWORD PTR[((-32))+r14],1 + vpinsrd xmm8,xmm8,DWORD PTR[((-32))+r10],1 + vpinsrd xmm7,xmm7,DWORD PTR[((-32))+r15],1 vpunpckldq ymm13,ymm13,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[((-32))+r11],1 + vpinsrd xmm6,xmm6,DWORD PTR[((-32))+r11],1 vpunpckldq ymm8,ymm8,ymm6 vpaddd ymm2,ymm2,ymm15 vpslld ymm7,ymm3,5 vpandn ymm6,ymm4,ymm1 vpand ymm5,ymm4,ymm0 - vmovdqa YMMWORD PTR[(224-128)+rax],ymm12 + vmovdqa YMMWORD PTR[(224-128)+rax],ymm12 vpaddd ymm2,ymm2,ymm12 vinserti128 ymm13,ymm13,xmm8,1 vpsrld ymm8,ymm3,27 vpxor ymm5,ymm5,ymm6 - vmovd xmm14,DWORD PTR[((-28))+r12] + vmovd xmm14,DWORD PTR[((-28))+r12] vpslld ymm6,ymm4,30 vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD PTR[((-28))+r8] + vmovd xmm8,DWORD PTR[((-28))+r8] vpaddd ymm2,ymm2,ymm5 vpsrld ymm4,ymm4,2 vpaddd ymm2,ymm2,ymm7 vpshufb ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 - vmovd xmm7,DWORD PTR[((-28))+r13] - vmovd xmm6,DWORD PTR[((-28))+r9] - vpinsrd xmm14,xmm14,DWORD PTR[((-28))+r14],1 - vpinsrd xmm8,xmm8,DWORD PTR[((-28))+r10],1 - vpinsrd xmm7,xmm7,DWORD PTR[((-28))+r15],1 + vmovd xmm7,DWORD PTR[((-28))+r13] + vmovd xmm6,DWORD PTR[((-28))+r9] + vpinsrd xmm14,xmm14,DWORD PTR[((-28))+r14],1 + vpinsrd xmm8,xmm8,DWORD PTR[((-28))+r10],1 + vpinsrd xmm7,xmm7,DWORD PTR[((-28))+r15],1 vpunpckldq ymm14,ymm14,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[((-28))+r11],1 + vpinsrd xmm6,xmm6,DWORD PTR[((-28))+r11],1 vpunpckldq ymm8,ymm8,ymm6 vpaddd ymm1,ymm1,ymm15 vpslld ymm7,ymm2,5 vpandn ymm6,ymm3,ymm0 vpand ymm5,ymm3,ymm4 - vmovdqa YMMWORD PTR[(256-256-128)+rbx],ymm13 + vmovdqa YMMWORD PTR[(256-256-128)+rbx],ymm13 vpaddd ymm1,ymm1,ymm13 vinserti128 ymm14,ymm14,xmm8,1 vpsrld ymm8,ymm2,27 vpxor ymm5,ymm5,ymm6 - vmovd xmm10,DWORD PTR[((-24))+r12] + vmovd xmm10,DWORD PTR[((-24))+r12] vpslld ymm6,ymm3,30 vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD PTR[((-24))+r8] + vmovd xmm8,DWORD PTR[((-24))+r8] vpaddd ymm1,ymm1,ymm5 vpsrld ymm3,ymm3,2 vpaddd ymm1,ymm1,ymm7 vpshufb ymm14,ymm14,ymm9 vpor ymm3,ymm3,ymm6 - vmovd xmm7,DWORD PTR[((-24))+r13] - vmovd xmm6,DWORD PTR[((-24))+r9] - vpinsrd xmm10,xmm10,DWORD PTR[((-24))+r14],1 - vpinsrd xmm8,xmm8,DWORD PTR[((-24))+r10],1 - vpinsrd xmm7,xmm7,DWORD PTR[((-24))+r15],1 + vmovd xmm7,DWORD PTR[((-24))+r13] + vmovd xmm6,DWORD PTR[((-24))+r9] + vpinsrd xmm10,xmm10,DWORD PTR[((-24))+r14],1 + vpinsrd xmm8,xmm8,DWORD PTR[((-24))+r10],1 + vpinsrd xmm7,xmm7,DWORD PTR[((-24))+r15],1 vpunpckldq ymm10,ymm10,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[((-24))+r11],1 + vpinsrd xmm6,xmm6,DWORD PTR[((-24))+r11],1 vpunpckldq ymm8,ymm8,ymm6 vpaddd ymm0,ymm0,ymm15 vpslld ymm7,ymm1,5 vpandn ymm6,ymm2,ymm4 vpand ymm5,ymm2,ymm3 - vmovdqa YMMWORD PTR[(288-256-128)+rbx],ymm14 + vmovdqa YMMWORD PTR[(288-256-128)+rbx],ymm14 vpaddd ymm0,ymm0,ymm14 vinserti128 ymm10,ymm10,xmm8,1 vpsrld ymm8,ymm1,27 vpxor ymm5,ymm5,ymm6 - vmovd xmm11,DWORD PTR[((-20))+r12] + vmovd xmm11,DWORD PTR[((-20))+r12] vpslld ymm6,ymm2,30 vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD PTR[((-20))+r8] + vmovd xmm8,DWORD PTR[((-20))+r8] vpaddd ymm0,ymm0,ymm5 vpsrld ymm2,ymm2,2 vpaddd ymm0,ymm0,ymm7 vpshufb ymm10,ymm10,ymm9 vpor ymm2,ymm2,ymm6 - vmovd xmm7,DWORD PTR[((-20))+r13] - vmovd xmm6,DWORD PTR[((-20))+r9] - vpinsrd xmm11,xmm11,DWORD PTR[((-20))+r14],1 - vpinsrd xmm8,xmm8,DWORD PTR[((-20))+r10],1 - vpinsrd xmm7,xmm7,DWORD PTR[((-20))+r15],1 + vmovd xmm7,DWORD PTR[((-20))+r13] + vmovd xmm6,DWORD PTR[((-20))+r9] + vpinsrd xmm11,xmm11,DWORD PTR[((-20))+r14],1 + vpinsrd xmm8,xmm8,DWORD PTR[((-20))+r10],1 + vpinsrd xmm7,xmm7,DWORD PTR[((-20))+r15],1 vpunpckldq ymm11,ymm11,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[((-20))+r11],1 + vpinsrd xmm6,xmm6,DWORD PTR[((-20))+r11],1 vpunpckldq ymm8,ymm8,ymm6 vpaddd ymm4,ymm4,ymm15 vpslld ymm7,ymm0,5 vpandn ymm6,ymm1,ymm3 vpand ymm5,ymm1,ymm2 - vmovdqa YMMWORD PTR[(320-256-128)+rbx],ymm10 + vmovdqa YMMWORD PTR[(320-256-128)+rbx],ymm10 vpaddd ymm4,ymm4,ymm10 vinserti128 ymm11,ymm11,xmm8,1 vpsrld ymm8,ymm0,27 vpxor ymm5,ymm5,ymm6 - vmovd xmm12,DWORD PTR[((-16))+r12] + vmovd xmm12,DWORD PTR[((-16))+r12] vpslld ymm6,ymm1,30 vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD PTR[((-16))+r8] + vmovd xmm8,DWORD PTR[((-16))+r8] vpaddd ymm4,ymm4,ymm5 vpsrld ymm1,ymm1,2 vpaddd ymm4,ymm4,ymm7 vpshufb ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 - vmovd xmm7,DWORD PTR[((-16))+r13] - vmovd xmm6,DWORD PTR[((-16))+r9] - vpinsrd xmm12,xmm12,DWORD PTR[((-16))+r14],1 - vpinsrd xmm8,xmm8,DWORD PTR[((-16))+r10],1 - vpinsrd xmm7,xmm7,DWORD PTR[((-16))+r15],1 + vmovd xmm7,DWORD PTR[((-16))+r13] + vmovd xmm6,DWORD PTR[((-16))+r9] + vpinsrd xmm12,xmm12,DWORD PTR[((-16))+r14],1 + vpinsrd xmm8,xmm8,DWORD PTR[((-16))+r10],1 + vpinsrd xmm7,xmm7,DWORD PTR[((-16))+r15],1 vpunpckldq ymm12,ymm12,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[((-16))+r11],1 + vpinsrd xmm6,xmm6,DWORD PTR[((-16))+r11],1 vpunpckldq ymm8,ymm8,ymm6 vpaddd ymm3,ymm3,ymm15 vpslld ymm7,ymm4,5 vpandn ymm6,ymm0,ymm2 vpand ymm5,ymm0,ymm1 - vmovdqa YMMWORD PTR[(352-256-128)+rbx],ymm11 + vmovdqa YMMWORD PTR[(352-256-128)+rbx],ymm11 vpaddd ymm3,ymm3,ymm11 vinserti128 ymm12,ymm12,xmm8,1 vpsrld ymm8,ymm4,27 vpxor ymm5,ymm5,ymm6 - vmovd xmm13,DWORD PTR[((-12))+r12] + vmovd xmm13,DWORD PTR[((-12))+r12] vpslld ymm6,ymm0,30 vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD PTR[((-12))+r8] + vmovd xmm8,DWORD PTR[((-12))+r8] vpaddd ymm3,ymm3,ymm5 vpsrld ymm0,ymm0,2 vpaddd ymm3,ymm3,ymm7 vpshufb ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 - vmovd xmm7,DWORD PTR[((-12))+r13] - vmovd xmm6,DWORD PTR[((-12))+r9] - vpinsrd xmm13,xmm13,DWORD PTR[((-12))+r14],1 - vpinsrd xmm8,xmm8,DWORD PTR[((-12))+r10],1 - vpinsrd xmm7,xmm7,DWORD PTR[((-12))+r15],1 + vmovd xmm7,DWORD PTR[((-12))+r13] + vmovd xmm6,DWORD PTR[((-12))+r9] + vpinsrd xmm13,xmm13,DWORD PTR[((-12))+r14],1 + vpinsrd xmm8,xmm8,DWORD PTR[((-12))+r10],1 + vpinsrd xmm7,xmm7,DWORD PTR[((-12))+r15],1 vpunpckldq ymm13,ymm13,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[((-12))+r11],1 + vpinsrd xmm6,xmm6,DWORD PTR[((-12))+r11],1 vpunpckldq ymm8,ymm8,ymm6 vpaddd ymm2,ymm2,ymm15 vpslld ymm7,ymm3,5 vpandn ymm6,ymm4,ymm1 vpand ymm5,ymm4,ymm0 - vmovdqa YMMWORD PTR[(384-256-128)+rbx],ymm12 + vmovdqa YMMWORD PTR[(384-256-128)+rbx],ymm12 vpaddd ymm2,ymm2,ymm12 vinserti128 ymm13,ymm13,xmm8,1 vpsrld ymm8,ymm3,27 vpxor ymm5,ymm5,ymm6 - vmovd xmm14,DWORD PTR[((-8))+r12] + vmovd xmm14,DWORD PTR[((-8))+r12] vpslld ymm6,ymm4,30 vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD PTR[((-8))+r8] + vmovd xmm8,DWORD PTR[((-8))+r8] vpaddd ymm2,ymm2,ymm5 vpsrld ymm4,ymm4,2 vpaddd ymm2,ymm2,ymm7 vpshufb ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 - vmovd xmm7,DWORD PTR[((-8))+r13] - vmovd xmm6,DWORD PTR[((-8))+r9] - vpinsrd xmm14,xmm14,DWORD PTR[((-8))+r14],1 - vpinsrd xmm8,xmm8,DWORD PTR[((-8))+r10],1 - vpinsrd xmm7,xmm7,DWORD PTR[((-8))+r15],1 + vmovd xmm7,DWORD PTR[((-8))+r13] + vmovd xmm6,DWORD PTR[((-8))+r9] + vpinsrd xmm14,xmm14,DWORD PTR[((-8))+r14],1 + vpinsrd xmm8,xmm8,DWORD PTR[((-8))+r10],1 + vpinsrd xmm7,xmm7,DWORD PTR[((-8))+r15],1 vpunpckldq ymm14,ymm14,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[((-8))+r11],1 + vpinsrd xmm6,xmm6,DWORD PTR[((-8))+r11],1 vpunpckldq ymm8,ymm8,ymm6 vpaddd ymm1,ymm1,ymm15 vpslld ymm7,ymm2,5 vpandn ymm6,ymm3,ymm0 vpand ymm5,ymm3,ymm4 - vmovdqa YMMWORD PTR[(416-256-128)+rbx],ymm13 + vmovdqa YMMWORD PTR[(416-256-128)+rbx],ymm13 vpaddd ymm1,ymm1,ymm13 vinserti128 ymm14,ymm14,xmm8,1 vpsrld ymm8,ymm2,27 vpxor ymm5,ymm5,ymm6 - vmovd xmm10,DWORD PTR[((-4))+r12] + vmovd xmm10,DWORD PTR[((-4))+r12] vpslld ymm6,ymm3,30 vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD PTR[((-4))+r8] + vmovd xmm8,DWORD PTR[((-4))+r8] vpaddd ymm1,ymm1,ymm5 vpsrld ymm3,ymm3,2 vpaddd ymm1,ymm1,ymm7 vpshufb ymm14,ymm14,ymm9 vpor ymm3,ymm3,ymm6 - vmovdqa ymm11,YMMWORD PTR[((0-128))+rax] - vmovd xmm7,DWORD PTR[((-4))+r13] - vmovd xmm6,DWORD PTR[((-4))+r9] - vpinsrd xmm10,xmm10,DWORD PTR[((-4))+r14],1 - vpinsrd xmm8,xmm8,DWORD PTR[((-4))+r10],1 - vpinsrd xmm7,xmm7,DWORD PTR[((-4))+r15],1 + vmovdqa ymm11,YMMWORD PTR[((0-128))+rax] + vmovd xmm7,DWORD PTR[((-4))+r13] + vmovd xmm6,DWORD PTR[((-4))+r9] + vpinsrd xmm10,xmm10,DWORD PTR[((-4))+r14],1 + vpinsrd xmm8,xmm8,DWORD PTR[((-4))+r10],1 + vpinsrd xmm7,xmm7,DWORD PTR[((-4))+r15],1 vpunpckldq ymm10,ymm10,ymm7 - vpinsrd xmm6,xmm6,DWORD PTR[((-4))+r11],1 + vpinsrd xmm6,xmm6,DWORD PTR[((-4))+r11],1 vpunpckldq ymm8,ymm8,ymm6 vpaddd ymm0,ymm0,ymm15 prefetcht0 [63+r12] @@ -5685,7 +5685,7 @@ $L$oop_avx2:: vpandn ymm6,ymm2,ymm4 vpand ymm5,ymm2,ymm3 - vmovdqa YMMWORD PTR[(448-256-128)+rbx],ymm14 + vmovdqa YMMWORD PTR[(448-256-128)+rbx],ymm14 vpaddd ymm0,ymm0,ymm14 vinserti128 ymm10,ymm10,xmm8,1 vpsrld ymm8,ymm1,27 @@ -5702,9 +5702,9 @@ $L$oop_avx2:: prefetcht0 [63+r15] vpshufb ymm10,ymm10,ymm9 vpor ymm2,ymm2,ymm6 - vmovdqa ymm12,YMMWORD PTR[((32-128))+rax] + vmovdqa ymm12,YMMWORD PTR[((32-128))+rax] vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD PTR[((64-128))+rax] + vmovdqa ymm13,YMMWORD PTR[((64-128))+rax] vpaddd ymm4,ymm4,ymm15 vpslld ymm7,ymm0,5 @@ -5712,9 +5712,9 @@ $L$oop_avx2:: prefetcht0 [63+r8] vpand ymm5,ymm1,ymm2 - vmovdqa YMMWORD PTR[(480-256-128)+rbx],ymm10 + vmovdqa YMMWORD PTR[(480-256-128)+rbx],ymm10 vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD PTR[((256-256-128))+rbx] + vpxor ymm11,ymm11,YMMWORD PTR[((256-256-128))+rbx] vpsrld ymm8,ymm0,27 vpxor ymm5,ymm5,ymm6 vpxor ymm11,ymm11,ymm13 @@ -5733,7 +5733,7 @@ $L$oop_avx2:: vpor ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD PTR[((96-128))+rax] + vmovdqa ymm14,YMMWORD PTR[((96-128))+rax] vpaddd ymm3,ymm3,ymm15 vpslld ymm7,ymm4,5 @@ -5741,9 +5741,9 @@ $L$oop_avx2:: vpand ymm5,ymm0,ymm1 - vmovdqa YMMWORD PTR[(0-128)+rax],ymm11 + vmovdqa YMMWORD PTR[(0-128)+rax],ymm11 vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD PTR[((288-256-128))+rbx] + vpxor ymm12,ymm12,YMMWORD PTR[((288-256-128))+rbx] vpsrld ymm8,ymm4,27 vpxor ymm5,ymm5,ymm6 vpxor ymm12,ymm12,ymm14 @@ -5762,7 +5762,7 @@ $L$oop_avx2:: vpor ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD PTR[((128-128))+rax] + vmovdqa ymm10,YMMWORD PTR[((128-128))+rax] vpaddd ymm2,ymm2,ymm15 vpslld ymm7,ymm3,5 @@ -5770,9 +5770,9 @@ $L$oop_avx2:: vpand ymm5,ymm4,ymm0 - vmovdqa YMMWORD PTR[(32-128)+rax],ymm12 + vmovdqa YMMWORD PTR[(32-128)+rax],ymm12 vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD PTR[((320-256-128))+rbx] + vpxor ymm13,ymm13,YMMWORD PTR[((320-256-128))+rbx] vpsrld ymm8,ymm3,27 vpxor ymm5,ymm5,ymm6 vpxor ymm13,ymm13,ymm10 @@ -5791,7 +5791,7 @@ $L$oop_avx2:: vpor ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD PTR[((160-128))+rax] + vmovdqa ymm11,YMMWORD PTR[((160-128))+rax] vpaddd ymm1,ymm1,ymm15 vpslld ymm7,ymm2,5 @@ -5799,9 +5799,9 @@ $L$oop_avx2:: vpand ymm5,ymm3,ymm4 - vmovdqa YMMWORD PTR[(64-128)+rax],ymm13 + vmovdqa YMMWORD PTR[(64-128)+rax],ymm13 vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD PTR[((352-256-128))+rbx] + vpxor ymm14,ymm14,YMMWORD PTR[((352-256-128))+rbx] vpsrld ymm8,ymm2,27 vpxor ymm5,ymm5,ymm6 vpxor ymm14,ymm14,ymm11 @@ -5820,7 +5820,7 @@ $L$oop_avx2:: vpor ymm14,ymm14,ymm9 vpor ymm3,ymm3,ymm6 vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD PTR[((192-128))+rax] + vmovdqa ymm12,YMMWORD PTR[((192-128))+rax] vpaddd ymm0,ymm0,ymm15 vpslld ymm7,ymm1,5 @@ -5828,9 +5828,9 @@ $L$oop_avx2:: vpand ymm5,ymm2,ymm3 - vmovdqa YMMWORD PTR[(96-128)+rax],ymm14 + vmovdqa YMMWORD PTR[(96-128)+rax],ymm14 vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD PTR[((384-256-128))+rbx] + vpxor ymm10,ymm10,YMMWORD PTR[((384-256-128))+rbx] vpsrld ymm8,ymm1,27 vpxor ymm5,ymm5,ymm6 vpxor ymm10,ymm10,ymm12 @@ -5848,16 +5848,16 @@ $L$oop_avx2:: vpaddd ymm0,ymm0,ymm7 vpor ymm10,ymm10,ymm9 vpor ymm2,ymm2,ymm6 - vmovdqa ymm15,YMMWORD PTR[rbp] + vmovdqa ymm15,YMMWORD PTR[rbp] vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD PTR[((224-128))+rax] + vmovdqa ymm13,YMMWORD PTR[((224-128))+rax] vpslld ymm7,ymm0,5 vpaddd ymm4,ymm4,ymm15 vpxor ymm5,ymm3,ymm1 - vmovdqa YMMWORD PTR[(128-128)+rax],ymm10 + vmovdqa YMMWORD PTR[(128-128)+rax],ymm10 vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD PTR[((416-256-128))+rbx] + vpxor ymm11,ymm11,YMMWORD PTR[((416-256-128))+rbx] vpsrld ymm8,ymm0,27 vpxor ymm5,ymm5,ymm2 vpxor ymm11,ymm11,ymm13 @@ -5873,14 +5873,14 @@ $L$oop_avx2:: vpor ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD PTR[((256-256-128))+rbx] + vmovdqa ymm14,YMMWORD PTR[((256-256-128))+rbx] vpslld ymm7,ymm4,5 vpaddd ymm3,ymm3,ymm15 vpxor ymm5,ymm2,ymm0 - vmovdqa YMMWORD PTR[(160-128)+rax],ymm11 + vmovdqa YMMWORD PTR[(160-128)+rax],ymm11 vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD PTR[((448-256-128))+rbx] + vpxor ymm12,ymm12,YMMWORD PTR[((448-256-128))+rbx] vpsrld ymm8,ymm4,27 vpxor ymm5,ymm5,ymm1 vpxor ymm12,ymm12,ymm14 @@ -5896,14 +5896,14 @@ $L$oop_avx2:: vpor ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD PTR[((288-256-128))+rbx] + vmovdqa ymm10,YMMWORD PTR[((288-256-128))+rbx] vpslld ymm7,ymm3,5 vpaddd ymm2,ymm2,ymm15 vpxor ymm5,ymm1,ymm4 - vmovdqa YMMWORD PTR[(192-128)+rax],ymm12 + vmovdqa YMMWORD PTR[(192-128)+rax],ymm12 vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD PTR[((480-256-128))+rbx] + vpxor ymm13,ymm13,YMMWORD PTR[((480-256-128))+rbx] vpsrld ymm8,ymm3,27 vpxor ymm5,ymm5,ymm0 vpxor ymm13,ymm13,ymm10 @@ -5919,14 +5919,14 @@ $L$oop_avx2:: vpor ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD PTR[((320-256-128))+rbx] + vmovdqa ymm11,YMMWORD PTR[((320-256-128))+rbx] vpslld ymm7,ymm2,5 vpaddd ymm1,ymm1,ymm15 vpxor ymm5,ymm0,ymm3 - vmovdqa YMMWORD PTR[(224-128)+rax],ymm13 + vmovdqa YMMWORD PTR[(224-128)+rax],ymm13 vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD PTR[((0-128))+rax] + vpxor ymm14,ymm14,YMMWORD PTR[((0-128))+rax] vpsrld ymm8,ymm2,27 vpxor ymm5,ymm5,ymm4 vpxor ymm14,ymm14,ymm11 @@ -5942,14 +5942,14 @@ $L$oop_avx2:: vpor ymm14,ymm14,ymm9 vpor ymm3,ymm3,ymm6 vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD PTR[((352-256-128))+rbx] + vmovdqa ymm12,YMMWORD PTR[((352-256-128))+rbx] vpslld ymm7,ymm1,5 vpaddd ymm0,ymm0,ymm15 vpxor ymm5,ymm4,ymm2 - vmovdqa YMMWORD PTR[(256-256-128)+rbx],ymm14 + vmovdqa YMMWORD PTR[(256-256-128)+rbx],ymm14 vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD PTR[((32-128))+rax] + vpxor ymm10,ymm10,YMMWORD PTR[((32-128))+rax] vpsrld ymm8,ymm1,27 vpxor ymm5,ymm5,ymm3 vpxor ymm10,ymm10,ymm12 @@ -5965,14 +5965,14 @@ $L$oop_avx2:: vpor ymm10,ymm10,ymm9 vpor ymm2,ymm2,ymm6 vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD PTR[((384-256-128))+rbx] + vmovdqa ymm13,YMMWORD PTR[((384-256-128))+rbx] vpslld ymm7,ymm0,5 vpaddd ymm4,ymm4,ymm15 vpxor ymm5,ymm3,ymm1 - vmovdqa YMMWORD PTR[(288-256-128)+rbx],ymm10 + vmovdqa YMMWORD PTR[(288-256-128)+rbx],ymm10 vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD PTR[((64-128))+rax] + vpxor ymm11,ymm11,YMMWORD PTR[((64-128))+rax] vpsrld ymm8,ymm0,27 vpxor ymm5,ymm5,ymm2 vpxor ymm11,ymm11,ymm13 @@ -5988,14 +5988,14 @@ $L$oop_avx2:: vpor ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD PTR[((416-256-128))+rbx] + vmovdqa ymm14,YMMWORD PTR[((416-256-128))+rbx] vpslld ymm7,ymm4,5 vpaddd ymm3,ymm3,ymm15 vpxor ymm5,ymm2,ymm0 - vmovdqa YMMWORD PTR[(320-256-128)+rbx],ymm11 + vmovdqa YMMWORD PTR[(320-256-128)+rbx],ymm11 vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD PTR[((96-128))+rax] + vpxor ymm12,ymm12,YMMWORD PTR[((96-128))+rax] vpsrld ymm8,ymm4,27 vpxor ymm5,ymm5,ymm1 vpxor ymm12,ymm12,ymm14 @@ -6011,14 +6011,14 @@ $L$oop_avx2:: vpor ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD PTR[((448-256-128))+rbx] + vmovdqa ymm10,YMMWORD PTR[((448-256-128))+rbx] vpslld ymm7,ymm3,5 vpaddd ymm2,ymm2,ymm15 vpxor ymm5,ymm1,ymm4 - vmovdqa YMMWORD PTR[(352-256-128)+rbx],ymm12 + vmovdqa YMMWORD PTR[(352-256-128)+rbx],ymm12 vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD PTR[((128-128))+rax] + vpxor ymm13,ymm13,YMMWORD PTR[((128-128))+rax] vpsrld ymm8,ymm3,27 vpxor ymm5,ymm5,ymm0 vpxor ymm13,ymm13,ymm10 @@ -6034,14 +6034,14 @@ $L$oop_avx2:: vpor ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD PTR[((480-256-128))+rbx] + vmovdqa ymm11,YMMWORD PTR[((480-256-128))+rbx] vpslld ymm7,ymm2,5 vpaddd ymm1,ymm1,ymm15 vpxor ymm5,ymm0,ymm3 - vmovdqa YMMWORD PTR[(384-256-128)+rbx],ymm13 + vmovdqa YMMWORD PTR[(384-256-128)+rbx],ymm13 vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD PTR[((160-128))+rax] + vpxor ymm14,ymm14,YMMWORD PTR[((160-128))+rax] vpsrld ymm8,ymm2,27 vpxor ymm5,ymm5,ymm4 vpxor ymm14,ymm14,ymm11 @@ -6057,14 +6057,14 @@ $L$oop_avx2:: vpor ymm14,ymm14,ymm9 vpor ymm3,ymm3,ymm6 vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD PTR[((0-128))+rax] + vmovdqa ymm12,YMMWORD PTR[((0-128))+rax] vpslld ymm7,ymm1,5 vpaddd ymm0,ymm0,ymm15 vpxor ymm5,ymm4,ymm2 - vmovdqa YMMWORD PTR[(416-256-128)+rbx],ymm14 + vmovdqa YMMWORD PTR[(416-256-128)+rbx],ymm14 vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD PTR[((192-128))+rax] + vpxor ymm10,ymm10,YMMWORD PTR[((192-128))+rax] vpsrld ymm8,ymm1,27 vpxor ymm5,ymm5,ymm3 vpxor ymm10,ymm10,ymm12 @@ -6080,14 +6080,14 @@ $L$oop_avx2:: vpor ymm10,ymm10,ymm9 vpor ymm2,ymm2,ymm6 vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD PTR[((32-128))+rax] + vmovdqa ymm13,YMMWORD PTR[((32-128))+rax] vpslld ymm7,ymm0,5 vpaddd ymm4,ymm4,ymm15 vpxor ymm5,ymm3,ymm1 - vmovdqa YMMWORD PTR[(448-256-128)+rbx],ymm10 + vmovdqa YMMWORD PTR[(448-256-128)+rbx],ymm10 vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD PTR[((224-128))+rax] + vpxor ymm11,ymm11,YMMWORD PTR[((224-128))+rax] vpsrld ymm8,ymm0,27 vpxor ymm5,ymm5,ymm2 vpxor ymm11,ymm11,ymm13 @@ -6103,14 +6103,14 @@ $L$oop_avx2:: vpor ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD PTR[((64-128))+rax] + vmovdqa ymm14,YMMWORD PTR[((64-128))+rax] vpslld ymm7,ymm4,5 vpaddd ymm3,ymm3,ymm15 vpxor ymm5,ymm2,ymm0 - vmovdqa YMMWORD PTR[(480-256-128)+rbx],ymm11 + vmovdqa YMMWORD PTR[(480-256-128)+rbx],ymm11 vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD PTR[((256-256-128))+rbx] + vpxor ymm12,ymm12,YMMWORD PTR[((256-256-128))+rbx] vpsrld ymm8,ymm4,27 vpxor ymm5,ymm5,ymm1 vpxor ymm12,ymm12,ymm14 @@ -6126,14 +6126,14 @@ $L$oop_avx2:: vpor ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD PTR[((96-128))+rax] + vmovdqa ymm10,YMMWORD PTR[((96-128))+rax] vpslld ymm7,ymm3,5 vpaddd ymm2,ymm2,ymm15 vpxor ymm5,ymm1,ymm4 - vmovdqa YMMWORD PTR[(0-128)+rax],ymm12 + vmovdqa YMMWORD PTR[(0-128)+rax],ymm12 vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD PTR[((288-256-128))+rbx] + vpxor ymm13,ymm13,YMMWORD PTR[((288-256-128))+rbx] vpsrld ymm8,ymm3,27 vpxor ymm5,ymm5,ymm0 vpxor ymm13,ymm13,ymm10 @@ -6149,14 +6149,14 @@ $L$oop_avx2:: vpor ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD PTR[((128-128))+rax] + vmovdqa ymm11,YMMWORD PTR[((128-128))+rax] vpslld ymm7,ymm2,5 vpaddd ymm1,ymm1,ymm15 vpxor ymm5,ymm0,ymm3 - vmovdqa YMMWORD PTR[(32-128)+rax],ymm13 + vmovdqa YMMWORD PTR[(32-128)+rax],ymm13 vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD PTR[((320-256-128))+rbx] + vpxor ymm14,ymm14,YMMWORD PTR[((320-256-128))+rbx] vpsrld ymm8,ymm2,27 vpxor ymm5,ymm5,ymm4 vpxor ymm14,ymm14,ymm11 @@ -6172,14 +6172,14 @@ $L$oop_avx2:: vpor ymm14,ymm14,ymm9 vpor ymm3,ymm3,ymm6 vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD PTR[((160-128))+rax] + vmovdqa ymm12,YMMWORD PTR[((160-128))+rax] vpslld ymm7,ymm1,5 vpaddd ymm0,ymm0,ymm15 vpxor ymm5,ymm4,ymm2 - vmovdqa YMMWORD PTR[(64-128)+rax],ymm14 + vmovdqa YMMWORD PTR[(64-128)+rax],ymm14 vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD PTR[((352-256-128))+rbx] + vpxor ymm10,ymm10,YMMWORD PTR[((352-256-128))+rbx] vpsrld ymm8,ymm1,27 vpxor ymm5,ymm5,ymm3 vpxor ymm10,ymm10,ymm12 @@ -6195,14 +6195,14 @@ $L$oop_avx2:: vpor ymm10,ymm10,ymm9 vpor ymm2,ymm2,ymm6 vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD PTR[((192-128))+rax] + vmovdqa ymm13,YMMWORD PTR[((192-128))+rax] vpslld ymm7,ymm0,5 vpaddd ymm4,ymm4,ymm15 vpxor ymm5,ymm3,ymm1 - vmovdqa YMMWORD PTR[(96-128)+rax],ymm10 + vmovdqa YMMWORD PTR[(96-128)+rax],ymm10 vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD PTR[((384-256-128))+rbx] + vpxor ymm11,ymm11,YMMWORD PTR[((384-256-128))+rbx] vpsrld ymm8,ymm0,27 vpxor ymm5,ymm5,ymm2 vpxor ymm11,ymm11,ymm13 @@ -6218,14 +6218,14 @@ $L$oop_avx2:: vpor ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD PTR[((224-128))+rax] + vmovdqa ymm14,YMMWORD PTR[((224-128))+rax] vpslld ymm7,ymm4,5 vpaddd ymm3,ymm3,ymm15 vpxor ymm5,ymm2,ymm0 - vmovdqa YMMWORD PTR[(128-128)+rax],ymm11 + vmovdqa YMMWORD PTR[(128-128)+rax],ymm11 vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD PTR[((416-256-128))+rbx] + vpxor ymm12,ymm12,YMMWORD PTR[((416-256-128))+rbx] vpsrld ymm8,ymm4,27 vpxor ymm5,ymm5,ymm1 vpxor ymm12,ymm12,ymm14 @@ -6241,14 +6241,14 @@ $L$oop_avx2:: vpor ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD PTR[((256-256-128))+rbx] + vmovdqa ymm10,YMMWORD PTR[((256-256-128))+rbx] vpslld ymm7,ymm3,5 vpaddd ymm2,ymm2,ymm15 vpxor ymm5,ymm1,ymm4 - vmovdqa YMMWORD PTR[(160-128)+rax],ymm12 + vmovdqa YMMWORD PTR[(160-128)+rax],ymm12 vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD PTR[((448-256-128))+rbx] + vpxor ymm13,ymm13,YMMWORD PTR[((448-256-128))+rbx] vpsrld ymm8,ymm3,27 vpxor ymm5,ymm5,ymm0 vpxor ymm13,ymm13,ymm10 @@ -6264,14 +6264,14 @@ $L$oop_avx2:: vpor ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD PTR[((288-256-128))+rbx] + vmovdqa ymm11,YMMWORD PTR[((288-256-128))+rbx] vpslld ymm7,ymm2,5 vpaddd ymm1,ymm1,ymm15 vpxor ymm5,ymm0,ymm3 - vmovdqa YMMWORD PTR[(192-128)+rax],ymm13 + vmovdqa YMMWORD PTR[(192-128)+rax],ymm13 vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD PTR[((480-256-128))+rbx] + vpxor ymm14,ymm14,YMMWORD PTR[((480-256-128))+rbx] vpsrld ymm8,ymm2,27 vpxor ymm5,ymm5,ymm4 vpxor ymm14,ymm14,ymm11 @@ -6287,14 +6287,14 @@ $L$oop_avx2:: vpor ymm14,ymm14,ymm9 vpor ymm3,ymm3,ymm6 vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD PTR[((320-256-128))+rbx] + vmovdqa ymm12,YMMWORD PTR[((320-256-128))+rbx] vpslld ymm7,ymm1,5 vpaddd ymm0,ymm0,ymm15 vpxor ymm5,ymm4,ymm2 - vmovdqa YMMWORD PTR[(224-128)+rax],ymm14 + vmovdqa YMMWORD PTR[(224-128)+rax],ymm14 vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD PTR[((0-128))+rax] + vpxor ymm10,ymm10,YMMWORD PTR[((0-128))+rax] vpsrld ymm8,ymm1,27 vpxor ymm5,ymm5,ymm3 vpxor ymm10,ymm10,ymm12 @@ -6309,21 +6309,21 @@ $L$oop_avx2:: vpaddd ymm0,ymm0,ymm7 vpor ymm10,ymm10,ymm9 vpor ymm2,ymm2,ymm6 - vmovdqa ymm15,YMMWORD PTR[32+rbp] + vmovdqa ymm15,YMMWORD PTR[32+rbp] vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD PTR[((352-256-128))+rbx] + vmovdqa ymm13,YMMWORD PTR[((352-256-128))+rbx] vpaddd ymm4,ymm4,ymm15 vpslld ymm7,ymm0,5 vpand ymm6,ymm3,ymm2 - vpxor ymm11,ymm11,YMMWORD PTR[((32-128))+rax] + vpxor ymm11,ymm11,YMMWORD PTR[((32-128))+rax] vpaddd ymm4,ymm4,ymm6 vpsrld ymm8,ymm0,27 vpxor ymm5,ymm3,ymm2 vpxor ymm11,ymm11,ymm13 - vmovdqu YMMWORD PTR[(256-256-128)+rbx],ymm10 + vmovdqu YMMWORD PTR[(256-256-128)+rbx],ymm10 vpaddd ymm4,ymm4,ymm10 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm11,31 @@ -6338,19 +6338,19 @@ $L$oop_avx2:: vpor ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD PTR[((384-256-128))+rbx] + vmovdqa ymm14,YMMWORD PTR[((384-256-128))+rbx] vpaddd ymm3,ymm3,ymm15 vpslld ymm7,ymm4,5 vpand ymm6,ymm2,ymm1 - vpxor ymm12,ymm12,YMMWORD PTR[((64-128))+rax] + vpxor ymm12,ymm12,YMMWORD PTR[((64-128))+rax] vpaddd ymm3,ymm3,ymm6 vpsrld ymm8,ymm4,27 vpxor ymm5,ymm2,ymm1 vpxor ymm12,ymm12,ymm14 - vmovdqu YMMWORD PTR[(288-256-128)+rbx],ymm11 + vmovdqu YMMWORD PTR[(288-256-128)+rbx],ymm11 vpaddd ymm3,ymm3,ymm11 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm12,31 @@ -6365,19 +6365,19 @@ $L$oop_avx2:: vpor ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD PTR[((416-256-128))+rbx] + vmovdqa ymm10,YMMWORD PTR[((416-256-128))+rbx] vpaddd ymm2,ymm2,ymm15 vpslld ymm7,ymm3,5 vpand ymm6,ymm1,ymm0 - vpxor ymm13,ymm13,YMMWORD PTR[((96-128))+rax] + vpxor ymm13,ymm13,YMMWORD PTR[((96-128))+rax] vpaddd ymm2,ymm2,ymm6 vpsrld ymm8,ymm3,27 vpxor ymm5,ymm1,ymm0 vpxor ymm13,ymm13,ymm10 - vmovdqu YMMWORD PTR[(320-256-128)+rbx],ymm12 + vmovdqu YMMWORD PTR[(320-256-128)+rbx],ymm12 vpaddd ymm2,ymm2,ymm12 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm13,31 @@ -6392,19 +6392,19 @@ $L$oop_avx2:: vpor ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD PTR[((448-256-128))+rbx] + vmovdqa ymm11,YMMWORD PTR[((448-256-128))+rbx] vpaddd ymm1,ymm1,ymm15 vpslld ymm7,ymm2,5 vpand ymm6,ymm0,ymm4 - vpxor ymm14,ymm14,YMMWORD PTR[((128-128))+rax] + vpxor ymm14,ymm14,YMMWORD PTR[((128-128))+rax] vpaddd ymm1,ymm1,ymm6 vpsrld ymm8,ymm2,27 vpxor ymm5,ymm0,ymm4 vpxor ymm14,ymm14,ymm11 - vmovdqu YMMWORD PTR[(352-256-128)+rbx],ymm13 + vmovdqu YMMWORD PTR[(352-256-128)+rbx],ymm13 vpaddd ymm1,ymm1,ymm13 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm14,31 @@ -6419,19 +6419,19 @@ $L$oop_avx2:: vpor ymm14,ymm14,ymm9 vpor ymm3,ymm3,ymm6 vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD PTR[((480-256-128))+rbx] + vmovdqa ymm12,YMMWORD PTR[((480-256-128))+rbx] vpaddd ymm0,ymm0,ymm15 vpslld ymm7,ymm1,5 vpand ymm6,ymm4,ymm3 - vpxor ymm10,ymm10,YMMWORD PTR[((160-128))+rax] + vpxor ymm10,ymm10,YMMWORD PTR[((160-128))+rax] vpaddd ymm0,ymm0,ymm6 vpsrld ymm8,ymm1,27 vpxor ymm5,ymm4,ymm3 vpxor ymm10,ymm10,ymm12 - vmovdqu YMMWORD PTR[(384-256-128)+rbx],ymm14 + vmovdqu YMMWORD PTR[(384-256-128)+rbx],ymm14 vpaddd ymm0,ymm0,ymm14 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm10,31 @@ -6446,19 +6446,19 @@ $L$oop_avx2:: vpor ymm10,ymm10,ymm9 vpor ymm2,ymm2,ymm6 vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD PTR[((0-128))+rax] + vmovdqa ymm13,YMMWORD PTR[((0-128))+rax] vpaddd ymm4,ymm4,ymm15 vpslld ymm7,ymm0,5 vpand ymm6,ymm3,ymm2 - vpxor ymm11,ymm11,YMMWORD PTR[((192-128))+rax] + vpxor ymm11,ymm11,YMMWORD PTR[((192-128))+rax] vpaddd ymm4,ymm4,ymm6 vpsrld ymm8,ymm0,27 vpxor ymm5,ymm3,ymm2 vpxor ymm11,ymm11,ymm13 - vmovdqu YMMWORD PTR[(416-256-128)+rbx],ymm10 + vmovdqu YMMWORD PTR[(416-256-128)+rbx],ymm10 vpaddd ymm4,ymm4,ymm10 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm11,31 @@ -6473,19 +6473,19 @@ $L$oop_avx2:: vpor ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD PTR[((32-128))+rax] + vmovdqa ymm14,YMMWORD PTR[((32-128))+rax] vpaddd ymm3,ymm3,ymm15 vpslld ymm7,ymm4,5 vpand ymm6,ymm2,ymm1 - vpxor ymm12,ymm12,YMMWORD PTR[((224-128))+rax] + vpxor ymm12,ymm12,YMMWORD PTR[((224-128))+rax] vpaddd ymm3,ymm3,ymm6 vpsrld ymm8,ymm4,27 vpxor ymm5,ymm2,ymm1 vpxor ymm12,ymm12,ymm14 - vmovdqu YMMWORD PTR[(448-256-128)+rbx],ymm11 + vmovdqu YMMWORD PTR[(448-256-128)+rbx],ymm11 vpaddd ymm3,ymm3,ymm11 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm12,31 @@ -6500,19 +6500,19 @@ $L$oop_avx2:: vpor ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD PTR[((64-128))+rax] + vmovdqa ymm10,YMMWORD PTR[((64-128))+rax] vpaddd ymm2,ymm2,ymm15 vpslld ymm7,ymm3,5 vpand ymm6,ymm1,ymm0 - vpxor ymm13,ymm13,YMMWORD PTR[((256-256-128))+rbx] + vpxor ymm13,ymm13,YMMWORD PTR[((256-256-128))+rbx] vpaddd ymm2,ymm2,ymm6 vpsrld ymm8,ymm3,27 vpxor ymm5,ymm1,ymm0 vpxor ymm13,ymm13,ymm10 - vmovdqu YMMWORD PTR[(480-256-128)+rbx],ymm12 + vmovdqu YMMWORD PTR[(480-256-128)+rbx],ymm12 vpaddd ymm2,ymm2,ymm12 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm13,31 @@ -6527,19 +6527,19 @@ $L$oop_avx2:: vpor ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD PTR[((96-128))+rax] + vmovdqa ymm11,YMMWORD PTR[((96-128))+rax] vpaddd ymm1,ymm1,ymm15 vpslld ymm7,ymm2,5 vpand ymm6,ymm0,ymm4 - vpxor ymm14,ymm14,YMMWORD PTR[((288-256-128))+rbx] + vpxor ymm14,ymm14,YMMWORD PTR[((288-256-128))+rbx] vpaddd ymm1,ymm1,ymm6 vpsrld ymm8,ymm2,27 vpxor ymm5,ymm0,ymm4 vpxor ymm14,ymm14,ymm11 - vmovdqu YMMWORD PTR[(0-128)+rax],ymm13 + vmovdqu YMMWORD PTR[(0-128)+rax],ymm13 vpaddd ymm1,ymm1,ymm13 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm14,31 @@ -6554,19 +6554,19 @@ $L$oop_avx2:: vpor ymm14,ymm14,ymm9 vpor ymm3,ymm3,ymm6 vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD PTR[((128-128))+rax] + vmovdqa ymm12,YMMWORD PTR[((128-128))+rax] vpaddd ymm0,ymm0,ymm15 vpslld ymm7,ymm1,5 vpand ymm6,ymm4,ymm3 - vpxor ymm10,ymm10,YMMWORD PTR[((320-256-128))+rbx] + vpxor ymm10,ymm10,YMMWORD PTR[((320-256-128))+rbx] vpaddd ymm0,ymm0,ymm6 vpsrld ymm8,ymm1,27 vpxor ymm5,ymm4,ymm3 vpxor ymm10,ymm10,ymm12 - vmovdqu YMMWORD PTR[(32-128)+rax],ymm14 + vmovdqu YMMWORD PTR[(32-128)+rax],ymm14 vpaddd ymm0,ymm0,ymm14 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm10,31 @@ -6581,19 +6581,19 @@ $L$oop_avx2:: vpor ymm10,ymm10,ymm9 vpor ymm2,ymm2,ymm6 vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD PTR[((160-128))+rax] + vmovdqa ymm13,YMMWORD PTR[((160-128))+rax] vpaddd ymm4,ymm4,ymm15 vpslld ymm7,ymm0,5 vpand ymm6,ymm3,ymm2 - vpxor ymm11,ymm11,YMMWORD PTR[((352-256-128))+rbx] + vpxor ymm11,ymm11,YMMWORD PTR[((352-256-128))+rbx] vpaddd ymm4,ymm4,ymm6 vpsrld ymm8,ymm0,27 vpxor ymm5,ymm3,ymm2 vpxor ymm11,ymm11,ymm13 - vmovdqu YMMWORD PTR[(64-128)+rax],ymm10 + vmovdqu YMMWORD PTR[(64-128)+rax],ymm10 vpaddd ymm4,ymm4,ymm10 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm11,31 @@ -6608,19 +6608,19 @@ $L$oop_avx2:: vpor ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD PTR[((192-128))+rax] + vmovdqa ymm14,YMMWORD PTR[((192-128))+rax] vpaddd ymm3,ymm3,ymm15 vpslld ymm7,ymm4,5 vpand ymm6,ymm2,ymm1 - vpxor ymm12,ymm12,YMMWORD PTR[((384-256-128))+rbx] + vpxor ymm12,ymm12,YMMWORD PTR[((384-256-128))+rbx] vpaddd ymm3,ymm3,ymm6 vpsrld ymm8,ymm4,27 vpxor ymm5,ymm2,ymm1 vpxor ymm12,ymm12,ymm14 - vmovdqu YMMWORD PTR[(96-128)+rax],ymm11 + vmovdqu YMMWORD PTR[(96-128)+rax],ymm11 vpaddd ymm3,ymm3,ymm11 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm12,31 @@ -6635,19 +6635,19 @@ $L$oop_avx2:: vpor ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD PTR[((224-128))+rax] + vmovdqa ymm10,YMMWORD PTR[((224-128))+rax] vpaddd ymm2,ymm2,ymm15 vpslld ymm7,ymm3,5 vpand ymm6,ymm1,ymm0 - vpxor ymm13,ymm13,YMMWORD PTR[((416-256-128))+rbx] + vpxor ymm13,ymm13,YMMWORD PTR[((416-256-128))+rbx] vpaddd ymm2,ymm2,ymm6 vpsrld ymm8,ymm3,27 vpxor ymm5,ymm1,ymm0 vpxor ymm13,ymm13,ymm10 - vmovdqu YMMWORD PTR[(128-128)+rax],ymm12 + vmovdqu YMMWORD PTR[(128-128)+rax],ymm12 vpaddd ymm2,ymm2,ymm12 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm13,31 @@ -6662,19 +6662,19 @@ $L$oop_avx2:: vpor ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD PTR[((256-256-128))+rbx] + vmovdqa ymm11,YMMWORD PTR[((256-256-128))+rbx] vpaddd ymm1,ymm1,ymm15 vpslld ymm7,ymm2,5 vpand ymm6,ymm0,ymm4 - vpxor ymm14,ymm14,YMMWORD PTR[((448-256-128))+rbx] + vpxor ymm14,ymm14,YMMWORD PTR[((448-256-128))+rbx] vpaddd ymm1,ymm1,ymm6 vpsrld ymm8,ymm2,27 vpxor ymm5,ymm0,ymm4 vpxor ymm14,ymm14,ymm11 - vmovdqu YMMWORD PTR[(160-128)+rax],ymm13 + vmovdqu YMMWORD PTR[(160-128)+rax],ymm13 vpaddd ymm1,ymm1,ymm13 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm14,31 @@ -6689,19 +6689,19 @@ $L$oop_avx2:: vpor ymm14,ymm14,ymm9 vpor ymm3,ymm3,ymm6 vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD PTR[((288-256-128))+rbx] + vmovdqa ymm12,YMMWORD PTR[((288-256-128))+rbx] vpaddd ymm0,ymm0,ymm15 vpslld ymm7,ymm1,5 vpand ymm6,ymm4,ymm3 - vpxor ymm10,ymm10,YMMWORD PTR[((480-256-128))+rbx] + vpxor ymm10,ymm10,YMMWORD PTR[((480-256-128))+rbx] vpaddd ymm0,ymm0,ymm6 vpsrld ymm8,ymm1,27 vpxor ymm5,ymm4,ymm3 vpxor ymm10,ymm10,ymm12 - vmovdqu YMMWORD PTR[(192-128)+rax],ymm14 + vmovdqu YMMWORD PTR[(192-128)+rax],ymm14 vpaddd ymm0,ymm0,ymm14 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm10,31 @@ -6716,19 +6716,19 @@ $L$oop_avx2:: vpor ymm10,ymm10,ymm9 vpor ymm2,ymm2,ymm6 vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD PTR[((320-256-128))+rbx] + vmovdqa ymm13,YMMWORD PTR[((320-256-128))+rbx] vpaddd ymm4,ymm4,ymm15 vpslld ymm7,ymm0,5 vpand ymm6,ymm3,ymm2 - vpxor ymm11,ymm11,YMMWORD PTR[((0-128))+rax] + vpxor ymm11,ymm11,YMMWORD PTR[((0-128))+rax] vpaddd ymm4,ymm4,ymm6 vpsrld ymm8,ymm0,27 vpxor ymm5,ymm3,ymm2 vpxor ymm11,ymm11,ymm13 - vmovdqu YMMWORD PTR[(224-128)+rax],ymm10 + vmovdqu YMMWORD PTR[(224-128)+rax],ymm10 vpaddd ymm4,ymm4,ymm10 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm11,31 @@ -6743,19 +6743,19 @@ $L$oop_avx2:: vpor ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD PTR[((352-256-128))+rbx] + vmovdqa ymm14,YMMWORD PTR[((352-256-128))+rbx] vpaddd ymm3,ymm3,ymm15 vpslld ymm7,ymm4,5 vpand ymm6,ymm2,ymm1 - vpxor ymm12,ymm12,YMMWORD PTR[((32-128))+rax] + vpxor ymm12,ymm12,YMMWORD PTR[((32-128))+rax] vpaddd ymm3,ymm3,ymm6 vpsrld ymm8,ymm4,27 vpxor ymm5,ymm2,ymm1 vpxor ymm12,ymm12,ymm14 - vmovdqu YMMWORD PTR[(256-256-128)+rbx],ymm11 + vmovdqu YMMWORD PTR[(256-256-128)+rbx],ymm11 vpaddd ymm3,ymm3,ymm11 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm12,31 @@ -6770,19 +6770,19 @@ $L$oop_avx2:: vpor ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD PTR[((384-256-128))+rbx] + vmovdqa ymm10,YMMWORD PTR[((384-256-128))+rbx] vpaddd ymm2,ymm2,ymm15 vpslld ymm7,ymm3,5 vpand ymm6,ymm1,ymm0 - vpxor ymm13,ymm13,YMMWORD PTR[((64-128))+rax] + vpxor ymm13,ymm13,YMMWORD PTR[((64-128))+rax] vpaddd ymm2,ymm2,ymm6 vpsrld ymm8,ymm3,27 vpxor ymm5,ymm1,ymm0 vpxor ymm13,ymm13,ymm10 - vmovdqu YMMWORD PTR[(288-256-128)+rbx],ymm12 + vmovdqu YMMWORD PTR[(288-256-128)+rbx],ymm12 vpaddd ymm2,ymm2,ymm12 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm13,31 @@ -6797,19 +6797,19 @@ $L$oop_avx2:: vpor ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD PTR[((416-256-128))+rbx] + vmovdqa ymm11,YMMWORD PTR[((416-256-128))+rbx] vpaddd ymm1,ymm1,ymm15 vpslld ymm7,ymm2,5 vpand ymm6,ymm0,ymm4 - vpxor ymm14,ymm14,YMMWORD PTR[((96-128))+rax] + vpxor ymm14,ymm14,YMMWORD PTR[((96-128))+rax] vpaddd ymm1,ymm1,ymm6 vpsrld ymm8,ymm2,27 vpxor ymm5,ymm0,ymm4 vpxor ymm14,ymm14,ymm11 - vmovdqu YMMWORD PTR[(320-256-128)+rbx],ymm13 + vmovdqu YMMWORD PTR[(320-256-128)+rbx],ymm13 vpaddd ymm1,ymm1,ymm13 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm14,31 @@ -6824,19 +6824,19 @@ $L$oop_avx2:: vpor ymm14,ymm14,ymm9 vpor ymm3,ymm3,ymm6 vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD PTR[((448-256-128))+rbx] + vmovdqa ymm12,YMMWORD PTR[((448-256-128))+rbx] vpaddd ymm0,ymm0,ymm15 vpslld ymm7,ymm1,5 vpand ymm6,ymm4,ymm3 - vpxor ymm10,ymm10,YMMWORD PTR[((128-128))+rax] + vpxor ymm10,ymm10,YMMWORD PTR[((128-128))+rax] vpaddd ymm0,ymm0,ymm6 vpsrld ymm8,ymm1,27 vpxor ymm5,ymm4,ymm3 vpxor ymm10,ymm10,ymm12 - vmovdqu YMMWORD PTR[(352-256-128)+rbx],ymm14 + vmovdqu YMMWORD PTR[(352-256-128)+rbx],ymm14 vpaddd ymm0,ymm0,ymm14 vpor ymm7,ymm7,ymm8 vpsrld ymm9,ymm10,31 @@ -6850,16 +6850,16 @@ $L$oop_avx2:: vpaddd ymm0,ymm0,ymm7 vpor ymm10,ymm10,ymm9 vpor ymm2,ymm2,ymm6 - vmovdqa ymm15,YMMWORD PTR[64+rbp] + vmovdqa ymm15,YMMWORD PTR[64+rbp] vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD PTR[((480-256-128))+rbx] + vmovdqa ymm13,YMMWORD PTR[((480-256-128))+rbx] vpslld ymm7,ymm0,5 vpaddd ymm4,ymm4,ymm15 vpxor ymm5,ymm3,ymm1 - vmovdqa YMMWORD PTR[(384-256-128)+rbx],ymm10 + vmovdqa YMMWORD PTR[(384-256-128)+rbx],ymm10 vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD PTR[((160-128))+rax] + vpxor ymm11,ymm11,YMMWORD PTR[((160-128))+rax] vpsrld ymm8,ymm0,27 vpxor ymm5,ymm5,ymm2 vpxor ymm11,ymm11,ymm13 @@ -6875,14 +6875,14 @@ $L$oop_avx2:: vpor ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD PTR[((0-128))+rax] + vmovdqa ymm14,YMMWORD PTR[((0-128))+rax] vpslld ymm7,ymm4,5 vpaddd ymm3,ymm3,ymm15 vpxor ymm5,ymm2,ymm0 - vmovdqa YMMWORD PTR[(416-256-128)+rbx],ymm11 + vmovdqa YMMWORD PTR[(416-256-128)+rbx],ymm11 vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD PTR[((192-128))+rax] + vpxor ymm12,ymm12,YMMWORD PTR[((192-128))+rax] vpsrld ymm8,ymm4,27 vpxor ymm5,ymm5,ymm1 vpxor ymm12,ymm12,ymm14 @@ -6898,14 +6898,14 @@ $L$oop_avx2:: vpor ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD PTR[((32-128))+rax] + vmovdqa ymm10,YMMWORD PTR[((32-128))+rax] vpslld ymm7,ymm3,5 vpaddd ymm2,ymm2,ymm15 vpxor ymm5,ymm1,ymm4 - vmovdqa YMMWORD PTR[(448-256-128)+rbx],ymm12 + vmovdqa YMMWORD PTR[(448-256-128)+rbx],ymm12 vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD PTR[((224-128))+rax] + vpxor ymm13,ymm13,YMMWORD PTR[((224-128))+rax] vpsrld ymm8,ymm3,27 vpxor ymm5,ymm5,ymm0 vpxor ymm13,ymm13,ymm10 @@ -6921,14 +6921,14 @@ $L$oop_avx2:: vpor ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD PTR[((64-128))+rax] + vmovdqa ymm11,YMMWORD PTR[((64-128))+rax] vpslld ymm7,ymm2,5 vpaddd ymm1,ymm1,ymm15 vpxor ymm5,ymm0,ymm3 - vmovdqa YMMWORD PTR[(480-256-128)+rbx],ymm13 + vmovdqa YMMWORD PTR[(480-256-128)+rbx],ymm13 vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD PTR[((256-256-128))+rbx] + vpxor ymm14,ymm14,YMMWORD PTR[((256-256-128))+rbx] vpsrld ymm8,ymm2,27 vpxor ymm5,ymm5,ymm4 vpxor ymm14,ymm14,ymm11 @@ -6944,14 +6944,14 @@ $L$oop_avx2:: vpor ymm14,ymm14,ymm9 vpor ymm3,ymm3,ymm6 vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD PTR[((96-128))+rax] + vmovdqa ymm12,YMMWORD PTR[((96-128))+rax] vpslld ymm7,ymm1,5 vpaddd ymm0,ymm0,ymm15 vpxor ymm5,ymm4,ymm2 - vmovdqa YMMWORD PTR[(0-128)+rax],ymm14 + vmovdqa YMMWORD PTR[(0-128)+rax],ymm14 vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD PTR[((288-256-128))+rbx] + vpxor ymm10,ymm10,YMMWORD PTR[((288-256-128))+rbx] vpsrld ymm8,ymm1,27 vpxor ymm5,ymm5,ymm3 vpxor ymm10,ymm10,ymm12 @@ -6967,14 +6967,14 @@ $L$oop_avx2:: vpor ymm10,ymm10,ymm9 vpor ymm2,ymm2,ymm6 vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD PTR[((128-128))+rax] + vmovdqa ymm13,YMMWORD PTR[((128-128))+rax] vpslld ymm7,ymm0,5 vpaddd ymm4,ymm4,ymm15 vpxor ymm5,ymm3,ymm1 - vmovdqa YMMWORD PTR[(32-128)+rax],ymm10 + vmovdqa YMMWORD PTR[(32-128)+rax],ymm10 vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD PTR[((320-256-128))+rbx] + vpxor ymm11,ymm11,YMMWORD PTR[((320-256-128))+rbx] vpsrld ymm8,ymm0,27 vpxor ymm5,ymm5,ymm2 vpxor ymm11,ymm11,ymm13 @@ -6990,14 +6990,14 @@ $L$oop_avx2:: vpor ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD PTR[((160-128))+rax] + vmovdqa ymm14,YMMWORD PTR[((160-128))+rax] vpslld ymm7,ymm4,5 vpaddd ymm3,ymm3,ymm15 vpxor ymm5,ymm2,ymm0 - vmovdqa YMMWORD PTR[(64-128)+rax],ymm11 + vmovdqa YMMWORD PTR[(64-128)+rax],ymm11 vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD PTR[((352-256-128))+rbx] + vpxor ymm12,ymm12,YMMWORD PTR[((352-256-128))+rbx] vpsrld ymm8,ymm4,27 vpxor ymm5,ymm5,ymm1 vpxor ymm12,ymm12,ymm14 @@ -7013,14 +7013,14 @@ $L$oop_avx2:: vpor ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD PTR[((192-128))+rax] + vmovdqa ymm10,YMMWORD PTR[((192-128))+rax] vpslld ymm7,ymm3,5 vpaddd ymm2,ymm2,ymm15 vpxor ymm5,ymm1,ymm4 - vmovdqa YMMWORD PTR[(96-128)+rax],ymm12 + vmovdqa YMMWORD PTR[(96-128)+rax],ymm12 vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD PTR[((384-256-128))+rbx] + vpxor ymm13,ymm13,YMMWORD PTR[((384-256-128))+rbx] vpsrld ymm8,ymm3,27 vpxor ymm5,ymm5,ymm0 vpxor ymm13,ymm13,ymm10 @@ -7036,14 +7036,14 @@ $L$oop_avx2:: vpor ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD PTR[((224-128))+rax] + vmovdqa ymm11,YMMWORD PTR[((224-128))+rax] vpslld ymm7,ymm2,5 vpaddd ymm1,ymm1,ymm15 vpxor ymm5,ymm0,ymm3 - vmovdqa YMMWORD PTR[(128-128)+rax],ymm13 + vmovdqa YMMWORD PTR[(128-128)+rax],ymm13 vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD PTR[((416-256-128))+rbx] + vpxor ymm14,ymm14,YMMWORD PTR[((416-256-128))+rbx] vpsrld ymm8,ymm2,27 vpxor ymm5,ymm5,ymm4 vpxor ymm14,ymm14,ymm11 @@ -7059,14 +7059,14 @@ $L$oop_avx2:: vpor ymm14,ymm14,ymm9 vpor ymm3,ymm3,ymm6 vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD PTR[((256-256-128))+rbx] + vmovdqa ymm12,YMMWORD PTR[((256-256-128))+rbx] vpslld ymm7,ymm1,5 vpaddd ymm0,ymm0,ymm15 vpxor ymm5,ymm4,ymm2 - vmovdqa YMMWORD PTR[(160-128)+rax],ymm14 + vmovdqa YMMWORD PTR[(160-128)+rax],ymm14 vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD PTR[((448-256-128))+rbx] + vpxor ymm10,ymm10,YMMWORD PTR[((448-256-128))+rbx] vpsrld ymm8,ymm1,27 vpxor ymm5,ymm5,ymm3 vpxor ymm10,ymm10,ymm12 @@ -7082,14 +7082,14 @@ $L$oop_avx2:: vpor ymm10,ymm10,ymm9 vpor ymm2,ymm2,ymm6 vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD PTR[((288-256-128))+rbx] + vmovdqa ymm13,YMMWORD PTR[((288-256-128))+rbx] vpslld ymm7,ymm0,5 vpaddd ymm4,ymm4,ymm15 vpxor ymm5,ymm3,ymm1 - vmovdqa YMMWORD PTR[(192-128)+rax],ymm10 + vmovdqa YMMWORD PTR[(192-128)+rax],ymm10 vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD PTR[((480-256-128))+rbx] + vpxor ymm11,ymm11,YMMWORD PTR[((480-256-128))+rbx] vpsrld ymm8,ymm0,27 vpxor ymm5,ymm5,ymm2 vpxor ymm11,ymm11,ymm13 @@ -7105,14 +7105,14 @@ $L$oop_avx2:: vpor ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD PTR[((320-256-128))+rbx] + vmovdqa ymm14,YMMWORD PTR[((320-256-128))+rbx] vpslld ymm7,ymm4,5 vpaddd ymm3,ymm3,ymm15 vpxor ymm5,ymm2,ymm0 - vmovdqa YMMWORD PTR[(224-128)+rax],ymm11 + vmovdqa YMMWORD PTR[(224-128)+rax],ymm11 vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD PTR[((0-128))+rax] + vpxor ymm12,ymm12,YMMWORD PTR[((0-128))+rax] vpsrld ymm8,ymm4,27 vpxor ymm5,ymm5,ymm1 vpxor ymm12,ymm12,ymm14 @@ -7128,13 +7128,13 @@ $L$oop_avx2:: vpor ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD PTR[((352-256-128))+rbx] + vmovdqa ymm10,YMMWORD PTR[((352-256-128))+rbx] vpslld ymm7,ymm3,5 vpaddd ymm2,ymm2,ymm15 vpxor ymm5,ymm1,ymm4 vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD PTR[((32-128))+rax] + vpxor ymm13,ymm13,YMMWORD PTR[((32-128))+rax] vpsrld ymm8,ymm3,27 vpxor ymm5,ymm5,ymm0 vpxor ymm13,ymm13,ymm10 @@ -7150,13 +7150,13 @@ $L$oop_avx2:: vpor ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD PTR[((384-256-128))+rbx] + vmovdqa ymm11,YMMWORD PTR[((384-256-128))+rbx] vpslld ymm7,ymm2,5 vpaddd ymm1,ymm1,ymm15 vpxor ymm5,ymm0,ymm3 vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD PTR[((64-128))+rax] + vpxor ymm14,ymm14,YMMWORD PTR[((64-128))+rax] vpsrld ymm8,ymm2,27 vpxor ymm5,ymm5,ymm4 vpxor ymm14,ymm14,ymm11 @@ -7172,13 +7172,13 @@ $L$oop_avx2:: vpor ymm14,ymm14,ymm9 vpor ymm3,ymm3,ymm6 vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD PTR[((416-256-128))+rbx] + vmovdqa ymm12,YMMWORD PTR[((416-256-128))+rbx] vpslld ymm7,ymm1,5 vpaddd ymm0,ymm0,ymm15 vpxor ymm5,ymm4,ymm2 vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD PTR[((96-128))+rax] + vpxor ymm10,ymm10,YMMWORD PTR[((96-128))+rax] vpsrld ymm8,ymm1,27 vpxor ymm5,ymm5,ymm3 vpxor ymm10,ymm10,ymm12 @@ -7194,13 +7194,13 @@ $L$oop_avx2:: vpor ymm10,ymm10,ymm9 vpor ymm2,ymm2,ymm6 vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD PTR[((448-256-128))+rbx] + vmovdqa ymm13,YMMWORD PTR[((448-256-128))+rbx] vpslld ymm7,ymm0,5 vpaddd ymm4,ymm4,ymm15 vpxor ymm5,ymm3,ymm1 vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD PTR[((128-128))+rax] + vpxor ymm11,ymm11,YMMWORD PTR[((128-128))+rax] vpsrld ymm8,ymm0,27 vpxor ymm5,ymm5,ymm2 vpxor ymm11,ymm11,ymm13 @@ -7216,13 +7216,13 @@ $L$oop_avx2:: vpor ymm11,ymm11,ymm9 vpor ymm1,ymm1,ymm6 vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD PTR[((480-256-128))+rbx] + vmovdqa ymm14,YMMWORD PTR[((480-256-128))+rbx] vpslld ymm7,ymm4,5 vpaddd ymm3,ymm3,ymm15 vpxor ymm5,ymm2,ymm0 vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD PTR[((160-128))+rax] + vpxor ymm12,ymm12,YMMWORD PTR[((160-128))+rax] vpsrld ymm8,ymm4,27 vpxor ymm5,ymm5,ymm1 vpxor ymm12,ymm12,ymm14 @@ -7238,13 +7238,13 @@ $L$oop_avx2:: vpor ymm12,ymm12,ymm9 vpor ymm0,ymm0,ymm6 vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD PTR[((0-128))+rax] + vmovdqa ymm10,YMMWORD PTR[((0-128))+rax] vpslld ymm7,ymm3,5 vpaddd ymm2,ymm2,ymm15 vpxor ymm5,ymm1,ymm4 vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD PTR[((192-128))+rax] + vpxor ymm13,ymm13,YMMWORD PTR[((192-128))+rax] vpsrld ymm8,ymm3,27 vpxor ymm5,ymm5,ymm0 vpxor ymm13,ymm13,ymm10 @@ -7260,13 +7260,13 @@ $L$oop_avx2:: vpor ymm13,ymm13,ymm9 vpor ymm4,ymm4,ymm6 vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD PTR[((32-128))+rax] + vmovdqa ymm11,YMMWORD PTR[((32-128))+rax] vpslld ymm7,ymm2,5 vpaddd ymm1,ymm1,ymm15 vpxor ymm5,ymm0,ymm3 vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD PTR[((224-128))+rax] + vpxor ymm14,ymm14,YMMWORD PTR[((224-128))+rax] vpsrld ymm8,ymm2,27 vpxor ymm5,ymm5,ymm4 vpxor ymm14,ymm14,ymm11 @@ -7297,24 +7297,24 @@ $L$oop_avx2:: vpaddd ymm0,ymm0,ymm7 vpor ymm2,ymm2,ymm6 mov ecx,1 - lea rbx,QWORD PTR[512+rsp] - cmp ecx,DWORD PTR[rbx] + lea rbx,QWORD PTR[512+rsp] + cmp ecx,DWORD PTR[rbx] cmovge r12,rbp - cmp ecx,DWORD PTR[4+rbx] + cmp ecx,DWORD PTR[4+rbx] cmovge r13,rbp - cmp ecx,DWORD PTR[8+rbx] + cmp ecx,DWORD PTR[8+rbx] cmovge r14,rbp - cmp ecx,DWORD PTR[12+rbx] + cmp ecx,DWORD PTR[12+rbx] cmovge r15,rbp - cmp ecx,DWORD PTR[16+rbx] + cmp ecx,DWORD PTR[16+rbx] cmovge r8,rbp - cmp ecx,DWORD PTR[20+rbx] + cmp ecx,DWORD PTR[20+rbx] cmovge r9,rbp - cmp ecx,DWORD PTR[24+rbx] + cmp ecx,DWORD PTR[24+rbx] cmovge r10,rbp - cmp ecx,DWORD PTR[28+rbx] + cmp ecx,DWORD PTR[28+rbx] cmovge r11,rbp - vmovdqu ymm5,YMMWORD PTR[rbx] + vmovdqu ymm5,YMMWORD PTR[rbx] vpxor ymm7,ymm7,ymm7 vmovdqa ymm6,ymm5 vpcmpgtd ymm6,ymm6,ymm7 @@ -7322,25 +7322,25 @@ $L$oop_avx2:: vpand ymm0,ymm0,ymm6 vpand ymm1,ymm1,ymm6 - vpaddd ymm0,ymm0,YMMWORD PTR[rdi] + vpaddd ymm0,ymm0,YMMWORD PTR[rdi] vpand ymm2,ymm2,ymm6 - vpaddd ymm1,ymm1,YMMWORD PTR[32+rdi] + vpaddd ymm1,ymm1,YMMWORD PTR[32+rdi] vpand ymm3,ymm3,ymm6 - vpaddd ymm2,ymm2,YMMWORD PTR[64+rdi] + vpaddd ymm2,ymm2,YMMWORD PTR[64+rdi] vpand ymm4,ymm4,ymm6 - vpaddd ymm3,ymm3,YMMWORD PTR[96+rdi] - vpaddd ymm4,ymm4,YMMWORD PTR[128+rdi] - vmovdqu YMMWORD PTR[rdi],ymm0 - vmovdqu YMMWORD PTR[32+rdi],ymm1 - vmovdqu YMMWORD PTR[64+rdi],ymm2 - vmovdqu YMMWORD PTR[96+rdi],ymm3 - vmovdqu YMMWORD PTR[128+rdi],ymm4 - - vmovdqu YMMWORD PTR[rbx],ymm5 - lea rbx,QWORD PTR[((256+128))+rsp] - vmovdqu ymm9,YMMWORD PTR[96+rbp] + vpaddd ymm3,ymm3,YMMWORD PTR[96+rdi] + vpaddd ymm4,ymm4,YMMWORD PTR[128+rdi] + vmovdqu YMMWORD PTR[rdi],ymm0 + vmovdqu YMMWORD PTR[32+rdi],ymm1 + vmovdqu YMMWORD PTR[64+rdi],ymm2 + vmovdqu YMMWORD PTR[96+rdi],ymm3 + vmovdqu YMMWORD PTR[128+rdi],ymm4 + + vmovdqu YMMWORD PTR[rbx],ymm5 + lea rbx,QWORD PTR[((256+128))+rsp] + vmovdqu ymm9,YMMWORD PTR[96+rbp] dec edx - jnz $L$oop_avx2 + jnz $L$oop_avx2 @@ -7348,64 +7348,64 @@ $L$oop_avx2:: -$L$done_avx2:: - mov rax,QWORD PTR[544+rsp] +$L$done_avx2:: + mov rax,QWORD PTR[544+rsp] vzeroupper - movaps xmm6,XMMWORD PTR[((-216))+rax] - movaps xmm7,XMMWORD PTR[((-200))+rax] - movaps xmm8,XMMWORD PTR[((-184))+rax] - movaps xmm9,XMMWORD PTR[((-168))+rax] - movaps xmm10,XMMWORD PTR[((-152))+rax] - movaps xmm11,XMMWORD PTR[((-136))+rax] - movaps xmm12,XMMWORD PTR[((-120))+rax] - movaps xmm13,XMMWORD PTR[((-104))+rax] - movaps xmm14,XMMWORD PTR[((-88))+rax] - movaps xmm15,XMMWORD PTR[((-72))+rax] - mov r15,QWORD PTR[((-48))+rax] + movaps xmm6,XMMWORD PTR[((-216))+rax] + movaps xmm7,XMMWORD PTR[((-200))+rax] + movaps xmm8,XMMWORD PTR[((-184))+rax] + movaps xmm9,XMMWORD PTR[((-168))+rax] + movaps xmm10,XMMWORD PTR[((-152))+rax] + movaps xmm11,XMMWORD PTR[((-136))+rax] + movaps xmm12,XMMWORD PTR[((-120))+rax] + movaps xmm13,XMMWORD PTR[((-104))+rax] + movaps xmm14,XMMWORD PTR[((-88))+rax] + movaps xmm15,XMMWORD PTR[((-72))+rax] + mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] + mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] + mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] + mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$epilogue_avx2:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_avx2:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_multi_block_avx2:: -sha1_multi_block_avx2 ENDP +$L$SEH_end_sha1_multi_block_avx2:: +sha1_multi_block_avx2 ENDP ALIGN 256 - DD 05a827999h,05a827999h,05a827999h,05a827999h - DD 05a827999h,05a827999h,05a827999h,05a827999h -K_XX_XX:: - 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 + DD 05a827999h,05a827999h,05a827999h,05a827999h + DD 05a827999h,05a827999h,05a827999h,05a827999h +K_XX_XX:: + 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 DB 83,72,65,49,32,109,117,108,116,105,45,98,108,111,99,107 DB 32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120 DB 56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77 DB 83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110 DB 115,115,108,46,111,114,103,62,0 -EXTERN __imp_RtlVirtualUnwind:NEAR +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -7417,61 +7417,61 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$in_prologue + jae $L$in_prologue - mov rax,QWORD PTR[272+rax] + mov rax,QWORD PTR[272+rax] - mov rbx,QWORD PTR[((-8))+rax] - mov rbp,QWORD PTR[((-16))+rax] - mov QWORD PTR[144+r8],rbx - mov QWORD PTR[160+r8],rbp + mov rbx,QWORD PTR[((-8))+rax] + mov rbp,QWORD PTR[((-16))+rax] + mov QWORD PTR[144+r8],rbx + mov QWORD PTR[160+r8],rbp - lea rsi,QWORD PTR[((-24-160))+rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[((-24-160))+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch + DD 0a548f3fch -$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 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 - mov rdi,QWORD PTR[40+r9] + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -7485,10 +7485,10 @@ $L$in_prologue:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP +se_handler ENDP ALIGN 16 -avx2_handler PROC PRIVATE +avx2_handler PROC PRIVATE push rsi push rdi push rbx @@ -7500,80 +7500,80 @@ avx2_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$in_prologue - - mov rax,QWORD PTR[544+r8] - - 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 rsi,QWORD PTR[((-56-160))+rax] - lea rdi,QWORD PTR[512+r8] + jae $L$in_prologue + + mov rax,QWORD PTR[544+r8] + + 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 rsi,QWORD PTR[((-56-160))+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch + DD 0a548f3fch - jmp $L$in_prologue -avx2_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) + jmp $L$in_prologue +avx2_handler ENDP +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_sha1_multi_block - DD imagerel $L$SEH_end_sha1_multi_block - DD imagerel $L$SEH_info_sha1_multi_block - DD imagerel $L$SEH_begin_sha1_multi_block_shaext - DD imagerel $L$SEH_end_sha1_multi_block_shaext - DD imagerel $L$SEH_info_sha1_multi_block_shaext - DD imagerel $L$SEH_begin_sha1_multi_block_avx - DD imagerel $L$SEH_end_sha1_multi_block_avx - DD imagerel $L$SEH_info_sha1_multi_block_avx - DD imagerel $L$SEH_begin_sha1_multi_block_avx2 - DD imagerel $L$SEH_end_sha1_multi_block_avx2 - DD imagerel $L$SEH_info_sha1_multi_block_avx2 -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + DD imagerel $L$SEH_begin_sha1_multi_block + DD imagerel $L$SEH_end_sha1_multi_block + DD imagerel $L$SEH_info_sha1_multi_block + DD imagerel $L$SEH_begin_sha1_multi_block_shaext + DD imagerel $L$SEH_end_sha1_multi_block_shaext + DD imagerel $L$SEH_info_sha1_multi_block_shaext + DD imagerel $L$SEH_begin_sha1_multi_block_avx + DD imagerel $L$SEH_end_sha1_multi_block_avx + DD imagerel $L$SEH_info_sha1_multi_block_avx + DD imagerel $L$SEH_begin_sha1_multi_block_avx2 + DD imagerel $L$SEH_end_sha1_multi_block_avx2 + DD imagerel $L$SEH_info_sha1_multi_block_avx2 +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_sha1_multi_block:: +$L$SEH_info_sha1_multi_block:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$body,imagerel $L$epilogue -$L$SEH_info_sha1_multi_block_shaext:: + DD imagerel se_handler + DD imagerel $L$body,imagerel $L$epilogue +$L$SEH_info_sha1_multi_block_shaext:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$body_shaext,imagerel $L$epilogue_shaext -$L$SEH_info_sha1_multi_block_avx:: + DD imagerel se_handler + DD imagerel $L$body_shaext,imagerel $L$epilogue_shaext +$L$SEH_info_sha1_multi_block_avx:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$body_avx,imagerel $L$epilogue_avx -$L$SEH_info_sha1_multi_block_avx2:: + DD imagerel se_handler + DD imagerel $L$body_avx,imagerel $L$epilogue_avx +$L$SEH_info_sha1_multi_block_avx2:: DB 9,0,0,0 - DD imagerel avx2_handler - DD imagerel $L$body_avx2,imagerel $L$epilogue_avx2 - -.xdata ENDS -END + DD imagerel avx2_handler + DD imagerel $L$body_avx2,imagerel $L$epilogue_avx2 + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/sha/sha1-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/sha/sha1-x86_64.masm index 7a1c78c76c..3c38eb6e2e 100644 --- a/contrib/libs/openssl/asm/windows/crypto/sha/sha1-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/sha/sha1-x86_64.masm @@ -1,40 +1,40 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' +EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC sha1_block_data_order +PUBLIC 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 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[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 PTR[((OPENSSL_ia32cap_P+0))] + mov r8d,DWORD PTR[((OPENSSL_ia32cap_P+4))] + mov r10d,DWORD PTR[((OPENSSL_ia32cap_P+8))] test r8d,512 - jz $L$ialu + jz $L$ialu test r10d,536870912 - jnz _shaext_shortcut + jnz _shaext_shortcut and r10d,296 cmp r10d,296 - je _avx2_shortcut + je _avx2_shortcut and r8d,268435456 and r9d,1073741824 or r8d,r9d cmp r8d,1342177280 - je _avx_shortcut - jmp _ssse3_shortcut + je _avx_shortcut + jmp _ssse3_shortcut ALIGN 16 -$L$ialu:: +$L$ialu:: mov rax,rsp push rbx @@ -52,580 +52,580 @@ $L$ialu:: mov r9,rsi and rsp,-64 mov r10,rdx - mov QWORD PTR[64+rsp],rax + mov QWORD PTR[64+rsp],rax -$L$prologue:: +$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 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 ALIGN 16 -$L$loop:: - mov edx,DWORD PTR[r9] +$L$loop:: + mov edx,DWORD PTR[r9] bswap edx - mov ebp,DWORD PTR[4+r9] + mov ebp,DWORD PTR[4+r9] mov eax,r12d - mov DWORD PTR[rsp],edx + mov DWORD PTR[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,DWORD PTR[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 PTR[8+r9] mov eax,r11d - mov DWORD PTR[4+rsp],ebp + mov DWORD PTR[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,DWORD PTR[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 PTR[12+r9] mov eax,edi - mov DWORD PTR[8+rsp],r14d + mov DWORD PTR[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,DWORD PTR[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 PTR[16+r9] mov eax,esi - mov DWORD PTR[12+rsp],edx + mov DWORD PTR[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,DWORD PTR[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 PTR[20+r9] mov eax,r13d - mov DWORD PTR[16+rsp],ebp + mov DWORD PTR[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,DWORD PTR[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 PTR[24+r9] mov eax,r12d - mov DWORD PTR[20+rsp],r14d + mov DWORD PTR[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,DWORD PTR[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 PTR[28+r9] mov eax,r11d - mov DWORD PTR[24+rsp],edx + mov DWORD PTR[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,DWORD PTR[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 PTR[32+r9] mov eax,edi - mov DWORD PTR[28+rsp],ebp + mov DWORD PTR[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,DWORD PTR[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 PTR[36+r9] mov eax,esi - mov DWORD PTR[32+rsp],r14d + mov DWORD PTR[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,DWORD PTR[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 PTR[40+r9] mov eax,r13d - mov DWORD PTR[36+rsp],edx + mov DWORD PTR[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,DWORD PTR[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 PTR[44+r9] mov eax,r12d - mov DWORD PTR[40+rsp],ebp + mov DWORD PTR[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,DWORD PTR[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 PTR[48+r9] mov eax,r11d - mov DWORD PTR[44+rsp],r14d + mov DWORD PTR[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,DWORD PTR[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 PTR[52+r9] mov eax,edi - mov DWORD PTR[48+rsp],edx + mov DWORD PTR[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,DWORD PTR[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 PTR[56+r9] mov eax,esi - mov DWORD PTR[52+rsp],ebp + mov DWORD PTR[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,DWORD PTR[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 PTR[60+r9] mov eax,r13d - mov DWORD PTR[56+rsp],r14d + mov DWORD PTR[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,DWORD PTR[1518500249+rsi*1+r14] add esi,ecx xor eax,r13d rol r11d,30 add esi,eax - xor ebp,DWORD PTR[rsp] + xor ebp,DWORD PTR[rsp] mov eax,r12d - mov DWORD PTR[60+rsp],edx + mov DWORD PTR[60+rsp],edx mov ecx,esi - xor ebp,DWORD PTR[8+rsp] + xor ebp,DWORD PTR[8+rsp] xor eax,r11d rol ecx,5 - xor ebp,DWORD PTR[32+rsp] + xor ebp,DWORD PTR[32+rsp] and eax,edi - lea r13d,DWORD PTR[1518500249+r13*1+rdx] + lea r13d,DWORD PTR[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 PTR[4+rsp] mov eax,r11d - mov DWORD PTR[rsp],ebp + mov DWORD PTR[rsp],ebp mov ecx,r13d - xor r14d,DWORD PTR[12+rsp] + xor r14d,DWORD PTR[12+rsp] xor eax,edi rol ecx,5 - xor r14d,DWORD PTR[36+rsp] + xor r14d,DWORD PTR[36+rsp] and eax,esi - lea r12d,DWORD PTR[1518500249+r12*1+rbp] + lea r12d,DWORD PTR[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 PTR[8+rsp] mov eax,edi - mov DWORD PTR[4+rsp],r14d + mov DWORD PTR[4+rsp],r14d mov ecx,r12d - xor edx,DWORD PTR[16+rsp] + xor edx,DWORD PTR[16+rsp] xor eax,esi rol ecx,5 - xor edx,DWORD PTR[40+rsp] + xor edx,DWORD PTR[40+rsp] and eax,r13d - lea r11d,DWORD PTR[1518500249+r11*1+r14] + lea r11d,DWORD PTR[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 PTR[12+rsp] mov eax,esi - mov DWORD PTR[8+rsp],edx + mov DWORD PTR[8+rsp],edx mov ecx,r11d - xor ebp,DWORD PTR[20+rsp] + xor ebp,DWORD PTR[20+rsp] xor eax,r13d rol ecx,5 - xor ebp,DWORD PTR[44+rsp] + xor ebp,DWORD PTR[44+rsp] and eax,r12d - lea edi,DWORD PTR[1518500249+rdi*1+rdx] + lea edi,DWORD PTR[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 PTR[16+rsp] mov eax,r13d - mov DWORD PTR[12+rsp],ebp + mov DWORD PTR[12+rsp],ebp mov ecx,edi - xor r14d,DWORD PTR[24+rsp] + xor r14d,DWORD PTR[24+rsp] xor eax,r12d rol ecx,5 - xor r14d,DWORD PTR[48+rsp] + xor r14d,DWORD PTR[48+rsp] and eax,r11d - lea esi,DWORD PTR[1518500249+rsi*1+rbp] + lea esi,DWORD PTR[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 PTR[20+rsp] mov eax,edi - mov DWORD PTR[16+rsp],r14d + mov DWORD PTR[16+rsp],r14d mov ecx,esi - xor edx,DWORD PTR[28+rsp] + xor edx,DWORD PTR[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 PTR[52+rsp] + lea r13d,DWORD PTR[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 PTR[24+rsp] mov eax,esi - mov DWORD PTR[20+rsp],edx + mov DWORD PTR[20+rsp],edx mov ecx,r13d - xor ebp,DWORD PTR[32+rsp] + xor ebp,DWORD PTR[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 PTR[56+rsp] + lea r12d,DWORD PTR[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 PTR[28+rsp] mov eax,r13d - mov DWORD PTR[24+rsp],ebp + mov DWORD PTR[24+rsp],ebp mov ecx,r12d - xor r14d,DWORD PTR[36+rsp] + xor r14d,DWORD PTR[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 PTR[60+rsp] + lea r11d,DWORD PTR[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 PTR[32+rsp] mov eax,r12d - mov DWORD PTR[28+rsp],r14d + mov DWORD PTR[28+rsp],r14d mov ecx,r11d - xor edx,DWORD PTR[40+rsp] + xor edx,DWORD PTR[40+rsp] xor eax,esi rol ecx,5 - xor edx,DWORD PTR[rsp] - lea edi,DWORD PTR[1859775393+rdi*1+r14] + xor edx,DWORD PTR[rsp] + lea edi,DWORD PTR[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 PTR[36+rsp] mov eax,r11d - mov DWORD PTR[32+rsp],edx + mov DWORD PTR[32+rsp],edx mov ecx,edi - xor ebp,DWORD PTR[44+rsp] + xor ebp,DWORD PTR[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 PTR[4+rsp] + lea esi,DWORD PTR[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 PTR[40+rsp] mov eax,edi - mov DWORD PTR[36+rsp],ebp + mov DWORD PTR[36+rsp],ebp mov ecx,esi - xor r14d,DWORD PTR[48+rsp] + xor r14d,DWORD PTR[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 PTR[8+rsp] + lea r13d,DWORD PTR[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 PTR[44+rsp] mov eax,esi - mov DWORD PTR[40+rsp],r14d + mov DWORD PTR[40+rsp],r14d mov ecx,r13d - xor edx,DWORD PTR[52+rsp] + xor edx,DWORD PTR[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 PTR[12+rsp] + lea r12d,DWORD PTR[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 PTR[48+rsp] mov eax,r13d - mov DWORD PTR[44+rsp],edx + mov DWORD PTR[44+rsp],edx mov ecx,r12d - xor ebp,DWORD PTR[56+rsp] + xor ebp,DWORD PTR[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 PTR[16+rsp] + lea r11d,DWORD PTR[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 PTR[52+rsp] mov eax,r12d - mov DWORD PTR[48+rsp],ebp + mov DWORD PTR[48+rsp],ebp mov ecx,r11d - xor r14d,DWORD PTR[60+rsp] + xor r14d,DWORD PTR[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 PTR[20+rsp] + lea edi,DWORD PTR[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 PTR[56+rsp] mov eax,r11d - mov DWORD PTR[52+rsp],r14d + mov DWORD PTR[52+rsp],r14d mov ecx,edi - xor edx,DWORD PTR[rsp] + xor edx,DWORD PTR[rsp] xor eax,r13d rol ecx,5 - xor edx,DWORD PTR[24+rsp] - lea esi,DWORD PTR[1859775393+rsi*1+r14] + xor edx,DWORD PTR[24+rsp] + lea esi,DWORD PTR[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 PTR[60+rsp] mov eax,edi - mov DWORD PTR[56+rsp],edx + mov DWORD PTR[56+rsp],edx mov ecx,esi - xor ebp,DWORD PTR[4+rsp] + xor ebp,DWORD PTR[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 PTR[28+rsp] + lea r13d,DWORD PTR[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 PTR[rsp] mov eax,esi - mov DWORD PTR[60+rsp],ebp + mov DWORD PTR[60+rsp],ebp mov ecx,r13d - xor r14d,DWORD PTR[8+rsp] + xor r14d,DWORD PTR[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 PTR[32+rsp] + lea r12d,DWORD PTR[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 PTR[4+rsp] mov eax,r13d - mov DWORD PTR[rsp],r14d + mov DWORD PTR[rsp],r14d mov ecx,r12d - xor edx,DWORD PTR[12+rsp] + xor edx,DWORD PTR[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 PTR[36+rsp] + lea r11d,DWORD PTR[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 PTR[8+rsp] mov eax,r12d - mov DWORD PTR[4+rsp],edx + mov DWORD PTR[4+rsp],edx mov ecx,r11d - xor ebp,DWORD PTR[16+rsp] + xor ebp,DWORD PTR[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 PTR[40+rsp] + lea edi,DWORD PTR[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 PTR[12+rsp] mov eax,r11d - mov DWORD PTR[8+rsp],ebp + mov DWORD PTR[8+rsp],ebp mov ecx,edi - xor r14d,DWORD PTR[20+rsp] + xor r14d,DWORD PTR[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 PTR[44+rsp] + lea esi,DWORD PTR[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 PTR[16+rsp] mov eax,edi - mov DWORD PTR[12+rsp],r14d + mov DWORD PTR[12+rsp],r14d mov ecx,esi - xor edx,DWORD PTR[24+rsp] + xor edx,DWORD PTR[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 PTR[48+rsp] + lea r13d,DWORD PTR[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 PTR[20+rsp] mov eax,esi - mov DWORD PTR[16+rsp],edx + mov DWORD PTR[16+rsp],edx mov ecx,r13d - xor ebp,DWORD PTR[28+rsp] + xor ebp,DWORD PTR[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 PTR[52+rsp] + lea r12d,DWORD PTR[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 PTR[24+rsp] mov eax,r13d - mov DWORD PTR[20+rsp],ebp + mov DWORD PTR[20+rsp],ebp mov ecx,r12d - xor r14d,DWORD PTR[32+rsp] + xor r14d,DWORD PTR[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 PTR[56+rsp] + lea r11d,DWORD PTR[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 PTR[28+rsp] mov eax,r12d - mov DWORD PTR[24+rsp],r14d + mov DWORD PTR[24+rsp],r14d mov ecx,r11d - xor edx,DWORD PTR[36+rsp] + xor edx,DWORD PTR[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 PTR[60+rsp] + lea edi,DWORD PTR[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 PTR[32+rsp] mov eax,r11d - mov DWORD PTR[28+rsp],edx + mov DWORD PTR[28+rsp],edx mov ecx,edi - xor ebp,DWORD PTR[40+rsp] + xor ebp,DWORD PTR[40+rsp] xor eax,r13d rol ecx,5 - xor ebp,DWORD PTR[rsp] - lea esi,DWORD PTR[1859775393+rsi*1+rdx] + xor ebp,DWORD PTR[rsp] + lea esi,DWORD PTR[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 PTR[36+rsp] mov eax,r12d - mov DWORD PTR[32+rsp],ebp + mov DWORD PTR[32+rsp],ebp mov ebx,r12d - xor r14d,DWORD PTR[44+rsp] + xor r14d,DWORD PTR[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 PTR[4+rsp] + lea r13d,DWORD PTR[((-1894007588))+r13*1+rbp] xor ebx,r11d rol ecx,5 add r13d,eax @@ -634,15 +634,15 @@ $L$loop:: add r13d,ecx rol edi,30 add r13d,ebx - xor edx,DWORD PTR[40+rsp] + xor edx,DWORD PTR[40+rsp] mov eax,r11d - mov DWORD PTR[36+rsp],r14d + mov DWORD PTR[36+rsp],r14d mov ebx,r11d - xor edx,DWORD PTR[48+rsp] + xor edx,DWORD PTR[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 PTR[8+rsp] + lea r12d,DWORD PTR[((-1894007588))+r12*1+r14] xor ebx,edi rol ecx,5 add r12d,eax @@ -651,15 +651,15 @@ $L$loop:: add r12d,ecx rol esi,30 add r12d,ebx - xor ebp,DWORD PTR[44+rsp] + xor ebp,DWORD PTR[44+rsp] mov eax,edi - mov DWORD PTR[40+rsp],edx + mov DWORD PTR[40+rsp],edx mov ebx,edi - xor ebp,DWORD PTR[52+rsp] + xor ebp,DWORD PTR[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 PTR[12+rsp] + lea r11d,DWORD PTR[((-1894007588))+r11*1+rdx] xor ebx,esi rol ecx,5 add r11d,eax @@ -668,15 +668,15 @@ $L$loop:: add r11d,ecx rol r13d,30 add r11d,ebx - xor r14d,DWORD PTR[48+rsp] + xor r14d,DWORD PTR[48+rsp] mov eax,esi - mov DWORD PTR[44+rsp],ebp + mov DWORD PTR[44+rsp],ebp mov ebx,esi - xor r14d,DWORD PTR[56+rsp] + xor r14d,DWORD PTR[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 PTR[16+rsp] + lea edi,DWORD PTR[((-1894007588))+rdi*1+rbp] xor ebx,r13d rol ecx,5 add edi,eax @@ -685,15 +685,15 @@ $L$loop:: add edi,ecx rol r12d,30 add edi,ebx - xor edx,DWORD PTR[52+rsp] + xor edx,DWORD PTR[52+rsp] mov eax,r13d - mov DWORD PTR[48+rsp],r14d + mov DWORD PTR[48+rsp],r14d mov ebx,r13d - xor edx,DWORD PTR[60+rsp] + xor edx,DWORD PTR[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 PTR[20+rsp] + lea esi,DWORD PTR[((-1894007588))+rsi*1+r14] xor ebx,r12d rol ecx,5 add esi,eax @@ -702,15 +702,15 @@ $L$loop:: add esi,ecx rol r11d,30 add esi,ebx - xor ebp,DWORD PTR[56+rsp] + xor ebp,DWORD PTR[56+rsp] mov eax,r12d - mov DWORD PTR[52+rsp],edx + mov DWORD PTR[52+rsp],edx mov ebx,r12d - xor ebp,DWORD PTR[rsp] + xor ebp,DWORD PTR[rsp] and eax,r11d mov ecx,esi - xor ebp,DWORD PTR[24+rsp] - lea r13d,DWORD PTR[((-1894007588))+r13*1+rdx] + xor ebp,DWORD PTR[24+rsp] + lea r13d,DWORD PTR[((-1894007588))+r13*1+rdx] xor ebx,r11d rol ecx,5 add r13d,eax @@ -719,15 +719,15 @@ $L$loop:: add r13d,ecx rol edi,30 add r13d,ebx - xor r14d,DWORD PTR[60+rsp] + xor r14d,DWORD PTR[60+rsp] mov eax,r11d - mov DWORD PTR[56+rsp],ebp + mov DWORD PTR[56+rsp],ebp mov ebx,r11d - xor r14d,DWORD PTR[4+rsp] + xor r14d,DWORD PTR[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 PTR[28+rsp] + lea r12d,DWORD PTR[((-1894007588))+r12*1+rbp] xor ebx,edi rol ecx,5 add r12d,eax @@ -736,15 +736,15 @@ $L$loop:: add r12d,ecx rol esi,30 add r12d,ebx - xor edx,DWORD PTR[rsp] + xor edx,DWORD PTR[rsp] mov eax,edi - mov DWORD PTR[60+rsp],r14d + mov DWORD PTR[60+rsp],r14d mov ebx,edi - xor edx,DWORD PTR[8+rsp] + xor edx,DWORD PTR[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 PTR[32+rsp] + lea r11d,DWORD PTR[((-1894007588))+r11*1+r14] xor ebx,esi rol ecx,5 add r11d,eax @@ -753,15 +753,15 @@ $L$loop:: add r11d,ecx rol r13d,30 add r11d,ebx - xor ebp,DWORD PTR[4+rsp] + xor ebp,DWORD PTR[4+rsp] mov eax,esi - mov DWORD PTR[rsp],edx + mov DWORD PTR[rsp],edx mov ebx,esi - xor ebp,DWORD PTR[12+rsp] + xor ebp,DWORD PTR[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 PTR[36+rsp] + lea edi,DWORD PTR[((-1894007588))+rdi*1+rdx] xor ebx,r13d rol ecx,5 add edi,eax @@ -770,15 +770,15 @@ $L$loop:: add edi,ecx rol r12d,30 add edi,ebx - xor r14d,DWORD PTR[8+rsp] + xor r14d,DWORD PTR[8+rsp] mov eax,r13d - mov DWORD PTR[4+rsp],ebp + mov DWORD PTR[4+rsp],ebp mov ebx,r13d - xor r14d,DWORD PTR[16+rsp] + xor r14d,DWORD PTR[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 PTR[40+rsp] + lea esi,DWORD PTR[((-1894007588))+rsi*1+rbp] xor ebx,r12d rol ecx,5 add esi,eax @@ -787,15 +787,15 @@ $L$loop:: add esi,ecx rol r11d,30 add esi,ebx - xor edx,DWORD PTR[12+rsp] + xor edx,DWORD PTR[12+rsp] mov eax,r12d - mov DWORD PTR[8+rsp],r14d + mov DWORD PTR[8+rsp],r14d mov ebx,r12d - xor edx,DWORD PTR[20+rsp] + xor edx,DWORD PTR[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 PTR[44+rsp] + lea r13d,DWORD PTR[((-1894007588))+r13*1+r14] xor ebx,r11d rol ecx,5 add r13d,eax @@ -804,15 +804,15 @@ $L$loop:: add r13d,ecx rol edi,30 add r13d,ebx - xor ebp,DWORD PTR[16+rsp] + xor ebp,DWORD PTR[16+rsp] mov eax,r11d - mov DWORD PTR[12+rsp],edx + mov DWORD PTR[12+rsp],edx mov ebx,r11d - xor ebp,DWORD PTR[24+rsp] + xor ebp,DWORD PTR[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 PTR[48+rsp] + lea r12d,DWORD PTR[((-1894007588))+r12*1+rdx] xor ebx,edi rol ecx,5 add r12d,eax @@ -821,15 +821,15 @@ $L$loop:: add r12d,ecx rol esi,30 add r12d,ebx - xor r14d,DWORD PTR[20+rsp] + xor r14d,DWORD PTR[20+rsp] mov eax,edi - mov DWORD PTR[16+rsp],ebp + mov DWORD PTR[16+rsp],ebp mov ebx,edi - xor r14d,DWORD PTR[28+rsp] + xor r14d,DWORD PTR[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 PTR[52+rsp] + lea r11d,DWORD PTR[((-1894007588))+r11*1+rbp] xor ebx,esi rol ecx,5 add r11d,eax @@ -838,15 +838,15 @@ $L$loop:: add r11d,ecx rol r13d,30 add r11d,ebx - xor edx,DWORD PTR[24+rsp] + xor edx,DWORD PTR[24+rsp] mov eax,esi - mov DWORD PTR[20+rsp],r14d + mov DWORD PTR[20+rsp],r14d mov ebx,esi - xor edx,DWORD PTR[32+rsp] + xor edx,DWORD PTR[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 PTR[56+rsp] + lea edi,DWORD PTR[((-1894007588))+rdi*1+r14] xor ebx,r13d rol ecx,5 add edi,eax @@ -855,15 +855,15 @@ $L$loop:: add edi,ecx rol r12d,30 add edi,ebx - xor ebp,DWORD PTR[28+rsp] + xor ebp,DWORD PTR[28+rsp] mov eax,r13d - mov DWORD PTR[24+rsp],edx + mov DWORD PTR[24+rsp],edx mov ebx,r13d - xor ebp,DWORD PTR[36+rsp] + xor ebp,DWORD PTR[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 PTR[60+rsp] + lea esi,DWORD PTR[((-1894007588))+rsi*1+rdx] xor ebx,r12d rol ecx,5 add esi,eax @@ -872,15 +872,15 @@ $L$loop:: add esi,ecx rol r11d,30 add esi,ebx - xor r14d,DWORD PTR[32+rsp] + xor r14d,DWORD PTR[32+rsp] mov eax,r12d - mov DWORD PTR[28+rsp],ebp + mov DWORD PTR[28+rsp],ebp mov ebx,r12d - xor r14d,DWORD PTR[40+rsp] + xor r14d,DWORD PTR[40+rsp] and eax,r11d mov ecx,esi - xor r14d,DWORD PTR[rsp] - lea r13d,DWORD PTR[((-1894007588))+r13*1+rbp] + xor r14d,DWORD PTR[rsp] + lea r13d,DWORD PTR[((-1894007588))+r13*1+rbp] xor ebx,r11d rol ecx,5 add r13d,eax @@ -889,15 +889,15 @@ $L$loop:: add r13d,ecx rol edi,30 add r13d,ebx - xor edx,DWORD PTR[36+rsp] + xor edx,DWORD PTR[36+rsp] mov eax,r11d - mov DWORD PTR[32+rsp],r14d + mov DWORD PTR[32+rsp],r14d mov ebx,r11d - xor edx,DWORD PTR[44+rsp] + xor edx,DWORD PTR[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 PTR[4+rsp] + lea r12d,DWORD PTR[((-1894007588))+r12*1+r14] xor ebx,edi rol ecx,5 add r12d,eax @@ -906,15 +906,15 @@ $L$loop:: add r12d,ecx rol esi,30 add r12d,ebx - xor ebp,DWORD PTR[40+rsp] + xor ebp,DWORD PTR[40+rsp] mov eax,edi - mov DWORD PTR[36+rsp],edx + mov DWORD PTR[36+rsp],edx mov ebx,edi - xor ebp,DWORD PTR[48+rsp] + xor ebp,DWORD PTR[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 PTR[8+rsp] + lea r11d,DWORD PTR[((-1894007588))+r11*1+rdx] xor ebx,esi rol ecx,5 add r11d,eax @@ -923,15 +923,15 @@ $L$loop:: add r11d,ecx rol r13d,30 add r11d,ebx - xor r14d,DWORD PTR[44+rsp] + xor r14d,DWORD PTR[44+rsp] mov eax,esi - mov DWORD PTR[40+rsp],ebp + mov DWORD PTR[40+rsp],ebp mov ebx,esi - xor r14d,DWORD PTR[52+rsp] + xor r14d,DWORD PTR[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 PTR[12+rsp] + lea edi,DWORD PTR[((-1894007588))+rdi*1+rbp] xor ebx,r13d rol ecx,5 add edi,eax @@ -940,15 +940,15 @@ $L$loop:: add edi,ecx rol r12d,30 add edi,ebx - xor edx,DWORD PTR[48+rsp] + xor edx,DWORD PTR[48+rsp] mov eax,r13d - mov DWORD PTR[44+rsp],r14d + mov DWORD PTR[44+rsp],r14d mov ebx,r13d - xor edx,DWORD PTR[56+rsp] + xor edx,DWORD PTR[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 PTR[16+rsp] + lea esi,DWORD PTR[((-1894007588))+rsi*1+r14] xor ebx,r12d rol ecx,5 add esi,eax @@ -957,267 +957,267 @@ $L$loop:: add esi,ecx rol r11d,30 add esi,ebx - xor ebp,DWORD PTR[52+rsp] + xor ebp,DWORD PTR[52+rsp] mov eax,edi - mov DWORD PTR[48+rsp],edx + mov DWORD PTR[48+rsp],edx mov ecx,esi - xor ebp,DWORD PTR[60+rsp] + xor ebp,DWORD PTR[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 PTR[20+rsp] + lea r13d,DWORD PTR[((-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 PTR[56+rsp] mov eax,esi - mov DWORD PTR[52+rsp],ebp + mov DWORD PTR[52+rsp],ebp mov ecx,r13d - xor r14d,DWORD PTR[rsp] + xor r14d,DWORD PTR[rsp] xor eax,r11d rol ecx,5 - xor r14d,DWORD PTR[24+rsp] - lea r12d,DWORD PTR[((-899497514))+r12*1+rbp] + xor r14d,DWORD PTR[24+rsp] + lea r12d,DWORD PTR[((-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 PTR[60+rsp] mov eax,r13d - mov DWORD PTR[56+rsp],r14d + mov DWORD PTR[56+rsp],r14d mov ecx,r12d - xor edx,DWORD PTR[4+rsp] + xor edx,DWORD PTR[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 PTR[28+rsp] + lea r11d,DWORD PTR[((-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 PTR[rsp] mov eax,r12d - mov DWORD PTR[60+rsp],edx + mov DWORD PTR[60+rsp],edx mov ecx,r11d - xor ebp,DWORD PTR[8+rsp] + xor ebp,DWORD PTR[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 PTR[32+rsp] + lea edi,DWORD PTR[((-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 PTR[4+rsp] mov eax,r11d - mov DWORD PTR[rsp],ebp + mov DWORD PTR[rsp],ebp mov ecx,edi - xor r14d,DWORD PTR[12+rsp] + xor r14d,DWORD PTR[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 PTR[36+rsp] + lea esi,DWORD PTR[((-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 PTR[8+rsp] mov eax,edi - mov DWORD PTR[4+rsp],r14d + mov DWORD PTR[4+rsp],r14d mov ecx,esi - xor edx,DWORD PTR[16+rsp] + xor edx,DWORD PTR[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 PTR[40+rsp] + lea r13d,DWORD PTR[((-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 PTR[12+rsp] mov eax,esi - mov DWORD PTR[8+rsp],edx + mov DWORD PTR[8+rsp],edx mov ecx,r13d - xor ebp,DWORD PTR[20+rsp] + xor ebp,DWORD PTR[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 PTR[44+rsp] + lea r12d,DWORD PTR[((-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 PTR[16+rsp] mov eax,r13d - mov DWORD PTR[12+rsp],ebp + mov DWORD PTR[12+rsp],ebp mov ecx,r12d - xor r14d,DWORD PTR[24+rsp] + xor r14d,DWORD PTR[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 PTR[48+rsp] + lea r11d,DWORD PTR[((-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 PTR[20+rsp] mov eax,r12d - mov DWORD PTR[16+rsp],r14d + mov DWORD PTR[16+rsp],r14d mov ecx,r11d - xor edx,DWORD PTR[28+rsp] + xor edx,DWORD PTR[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 PTR[52+rsp] + lea edi,DWORD PTR[((-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 PTR[24+rsp] mov eax,r11d - mov DWORD PTR[20+rsp],edx + mov DWORD PTR[20+rsp],edx mov ecx,edi - xor ebp,DWORD PTR[32+rsp] + xor ebp,DWORD PTR[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 PTR[56+rsp] + lea esi,DWORD PTR[((-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 PTR[28+rsp] mov eax,edi - mov DWORD PTR[24+rsp],ebp + mov DWORD PTR[24+rsp],ebp mov ecx,esi - xor r14d,DWORD PTR[36+rsp] + xor r14d,DWORD PTR[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 PTR[60+rsp] + lea r13d,DWORD PTR[((-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 PTR[32+rsp] mov eax,esi - mov DWORD PTR[28+rsp],r14d + mov DWORD PTR[28+rsp],r14d mov ecx,r13d - xor edx,DWORD PTR[40+rsp] + xor edx,DWORD PTR[40+rsp] xor eax,r11d rol ecx,5 - xor edx,DWORD PTR[rsp] - lea r12d,DWORD PTR[((-899497514))+r12*1+r14] + xor edx,DWORD PTR[rsp] + lea r12d,DWORD PTR[((-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 PTR[36+rsp] mov eax,r13d mov ecx,r12d - xor ebp,DWORD PTR[44+rsp] + xor ebp,DWORD PTR[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 PTR[4+rsp] + lea r11d,DWORD PTR[((-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 PTR[40+rsp] mov eax,r12d mov ecx,r11d - xor r14d,DWORD PTR[48+rsp] + xor r14d,DWORD PTR[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 PTR[8+rsp] + lea edi,DWORD PTR[((-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 PTR[44+rsp] mov eax,r11d mov ecx,edi - xor edx,DWORD PTR[52+rsp] + xor edx,DWORD PTR[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 PTR[12+rsp] + lea esi,DWORD PTR[((-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 PTR[48+rsp] mov eax,edi mov ecx,esi - xor ebp,DWORD PTR[56+rsp] + xor ebp,DWORD PTR[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 PTR[16+rsp] + lea r13d,DWORD PTR[((-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 PTR[52+rsp] mov eax,esi mov ecx,r13d - xor r14d,DWORD PTR[60+rsp] + xor r14d,DWORD PTR[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 PTR[20+rsp] + lea r12d,DWORD PTR[((-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 PTR[56+rsp] mov eax,r13d mov ecx,r12d - xor edx,DWORD PTR[rsp] + xor edx,DWORD PTR[rsp] xor eax,edi rol ecx,5 - xor edx,DWORD PTR[24+rsp] - lea r11d,DWORD PTR[((-899497514))+r11*1+r14] + xor edx,DWORD PTR[24+rsp] + lea r11d,DWORD PTR[((-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 PTR[60+rsp] mov eax,r12d mov ecx,r11d - xor ebp,DWORD PTR[4+rsp] + xor ebp,DWORD PTR[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 PTR[28+rsp] + lea edi,DWORD PTR[((-899497514))+rdi*1+rdx] xor eax,r13d add edi,ecx rol r12d,30 @@ -1226,89 +1226,89 @@ $L$loop:: mov eax,r11d mov ecx,edi xor eax,r13d - lea esi,DWORD PTR[((-899497514))+rsi*1+rbp] + lea esi,DWORD PTR[((-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 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 sub r10,1 - lea r9,QWORD PTR[64+r9] - jnz $L$loop + lea r9,QWORD PTR[64+r9] + jnz $L$loop - mov rsi,QWORD PTR[64+rsp] + mov rsi,QWORD PTR[64+rsp] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[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:: +sha1_block_data_order ENDP ALIGN 32 -sha1_block_data_order_shaext PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha1_block_data_order_shaext PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha1_block_data_order_shaext:: +$L$SEH_begin_sha1_block_data_order_shaext:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -_shaext_shortcut:: +_shaext_shortcut:: - lea rsp,QWORD PTR[((-72))+rsp] - movaps XMMWORD PTR[(-8-64)+rax],xmm6 - movaps XMMWORD PTR[(-8-48)+rax],xmm7 - movaps XMMWORD PTR[(-8-32)+rax],xmm8 - movaps XMMWORD PTR[(-8-16)+rax],xmm9 -$L$prologue_shaext:: - movdqu xmm0,XMMWORD PTR[rdi] - movd xmm1,DWORD PTR[16+rdi] - movdqa xmm3,XMMWORD PTR[((K_XX_XX+160))] + lea rsp,QWORD PTR[((-72))+rsp] + movaps XMMWORD PTR[(-8-64)+rax],xmm6 + movaps XMMWORD PTR[(-8-48)+rax],xmm7 + movaps XMMWORD PTR[(-8-32)+rax],xmm8 + movaps XMMWORD PTR[(-8-16)+rax],xmm9 +$L$prologue_shaext:: + movdqu xmm0,XMMWORD PTR[rdi] + movd xmm1,DWORD PTR[16+rdi] + movdqa xmm3,XMMWORD PTR[((K_XX_XX+160))] - movdqu xmm4,XMMWORD PTR[rsi] + movdqu xmm4,XMMWORD PTR[rsi] pshufd xmm0,xmm0,27 - movdqu xmm5,XMMWORD PTR[16+rsi] + movdqu xmm5,XMMWORD PTR[16+rsi] pshufd xmm1,xmm1,27 - movdqu xmm6,XMMWORD PTR[32+rsi] + movdqu xmm6,XMMWORD PTR[32+rsi] DB 102,15,56,0,227 - movdqu xmm7,XMMWORD PTR[48+rsi] + movdqu xmm7,XMMWORD PTR[48+rsi] DB 102,15,56,0,235 DB 102,15,56,0,243 movdqa xmm9,xmm1 DB 102,15,56,0,251 - jmp $L$oop_shaext + jmp $L$oop_shaext ALIGN 16 -$L$oop_shaext:: +$L$oop_shaext:: dec rdx - lea r8,QWORD PTR[64+rsi] + lea r8,QWORD PTR[64+rsi] paddd xmm1,xmm4 cmovne rsi,r8 movdqa xmm8,xmm0 @@ -1416,23 +1416,23 @@ DB 15,58,204,194,3 DB 15,56,200,204 pxor xmm7,xmm5 DB 15,56,202,254 - movdqu xmm4,XMMWORD PTR[rsi] + movdqu xmm4,XMMWORD PTR[rsi] movdqa xmm2,xmm0 DB 15,58,204,193,3 DB 15,56,200,213 - movdqu xmm5,XMMWORD PTR[16+rsi] + movdqu xmm5,XMMWORD PTR[16+rsi] DB 102,15,56,0,227 movdqa xmm1,xmm0 DB 15,58,204,194,3 DB 15,56,200,206 - movdqu xmm6,XMMWORD PTR[32+rsi] + movdqu xmm6,XMMWORD PTR[32+rsi] DB 102,15,56,0,235 movdqa xmm2,xmm0 DB 15,58,204,193,3 DB 15,56,200,215 - movdqu xmm7,XMMWORD PTR[48+rsi] + movdqu xmm7,XMMWORD PTR[48+rsi] DB 102,15,56,0,243 movdqa xmm1,xmm0 @@ -1443,37 +1443,37 @@ DB 102,15,56,0,251 paddd xmm0,xmm8 movdqa xmm9,xmm1 - jnz $L$oop_shaext + jnz $L$oop_shaext pshufd xmm0,xmm0,27 pshufd xmm1,xmm1,27 - movdqu XMMWORD PTR[rdi],xmm0 - movd DWORD PTR[16+rdi],xmm1 - movaps xmm6,XMMWORD PTR[((-8-64))+rax] - movaps xmm7,XMMWORD PTR[((-8-48))+rax] - movaps xmm8,XMMWORD PTR[((-8-32))+rax] - movaps xmm9,XMMWORD PTR[((-8-16))+rax] + movdqu XMMWORD PTR[rdi],xmm0 + movd DWORD PTR[16+rdi],xmm1 + movaps xmm6,XMMWORD PTR[((-8-64))+rax] + movaps xmm7,XMMWORD PTR[((-8-48))+rax] + movaps xmm8,XMMWORD PTR[((-8-32))+rax] + movaps xmm9,XMMWORD PTR[((-8-16))+rax] mov rsp,rax -$L$epilogue_shaext:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_shaext:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_block_data_order_shaext:: -sha1_block_data_order_shaext ENDP - +$L$SEH_end_sha1_block_data_order_shaext:: +sha1_block_data_order_shaext ENDP + 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 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[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 r11,rsp @@ -1487,14 +1487,14 @@ _ssse3_shortcut:: push r14 - lea rsp,QWORD PTR[((-160))+rsp] - movaps XMMWORD PTR[(-40-96)+r11],xmm6 - movaps XMMWORD PTR[(-40-80)+r11],xmm7 - movaps XMMWORD PTR[(-40-64)+r11],xmm8 - movaps XMMWORD PTR[(-40-48)+r11],xmm9 - movaps XMMWORD PTR[(-40-32)+r11],xmm10 - movaps XMMWORD PTR[(-40-16)+r11],xmm11 -$L$prologue_ssse3:: + lea rsp,QWORD PTR[((-160))+rsp] + movaps XMMWORD PTR[(-40-96)+r11],xmm6 + movaps XMMWORD PTR[(-40-80)+r11],xmm7 + movaps XMMWORD PTR[(-40-64)+r11],xmm8 + movaps XMMWORD PTR[(-40-48)+r11],xmm9 + movaps XMMWORD PTR[(-40-32)+r11],xmm10 + movaps XMMWORD PTR[(-40-16)+r11],xmm11 +$L$prologue_ssse3:: and rsp,-64 mov r8,rdi mov r9,rsi @@ -1502,24 +1502,24 @@ $L$prologue_ssse3:: shl r10,6 add r10,r9 - lea r14,QWORD PTR[((K_XX_XX+64))] + lea r14,QWORD PTR[((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 PTR[r8] + mov ebx,DWORD PTR[4+r8] + mov ecx,DWORD PTR[8+r8] + mov edx,DWORD PTR[12+r8] mov esi,ebx - mov ebp,DWORD PTR[16+r8] + mov ebp,DWORD PTR[16+r8] mov edi,ecx xor edi,edx and esi,edi - movdqa xmm6,XMMWORD PTR[64+r14] - movdqa xmm9,XMMWORD PTR[((-64))+r14] - 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 PTR[64+r14] + movdqa xmm9,XMMWORD PTR[((-64))+r14] + movdqu xmm0,XMMWORD PTR[r9] + movdqu xmm1,XMMWORD PTR[16+r9] + movdqu xmm2,XMMWORD PTR[32+r9] + movdqu xmm3,XMMWORD PTR[48+r9] DB 102,15,56,0,198 DB 102,15,56,0,206 DB 102,15,56,0,214 @@ -1528,22 +1528,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 PTR[rsp],xmm0 psubd xmm0,xmm9 - movdqa XMMWORD PTR[16+rsp],xmm1 + movdqa XMMWORD PTR[16+rsp],xmm1 psubd xmm1,xmm9 - movdqa XMMWORD PTR[32+rsp],xmm2 + movdqa XMMWORD PTR[32+rsp],xmm2 psubd xmm2,xmm9 - jmp $L$oop_ssse3 + jmp $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 PTR[rsp] punpcklqdq xmm4,xmm1 xor ebx,ecx rol eax,5 @@ -1557,11 +1557,11 @@ $L$oop_ssse3:: pxor xmm8,xmm2 xor edi,ecx mov esi,ebp - add edx,DWORD PTR[4+rsp] + add edx,DWORD PTR[4+rsp] pxor xmm4,xmm8 xor eax,ebx rol ebp,5 - movdqa XMMWORD PTR[48+rsp],xmm9 + movdqa XMMWORD PTR[48+rsp],xmm9 add edx,edi and esi,eax movdqa xmm10,xmm4 @@ -1573,7 +1573,7 @@ $L$oop_ssse3:: pslldq xmm10,12 paddd xmm4,xmm4 mov edi,edx - add ecx,DWORD PTR[8+rsp] + add ecx,DWORD PTR[8+rsp] psrld xmm8,31 xor ebp,eax rol edx,5 @@ -1587,11 +1587,11 @@ $L$oop_ssse3:: por xmm4,xmm8 xor edi,eax mov esi,ecx - add ebx,DWORD PTR[12+rsp] + add ebx,DWORD PTR[12+rsp] pslld xmm9,2 pxor xmm4,xmm10 xor edx,ebp - movdqa xmm10,XMMWORD PTR[((-64))+r14] + movdqa xmm10,XMMWORD PTR[((-64))+r14] rol ecx,5 add ebx,edi and esi,edx @@ -1604,7 +1604,7 @@ $L$oop_ssse3:: movdqa xmm9,xmm4 paddd xmm10,xmm4 mov edi,ebx - add eax,DWORD PTR[16+rsp] + add eax,DWORD PTR[16+rsp] punpcklqdq xmm5,xmm2 xor ecx,edx rol ebx,5 @@ -1618,11 +1618,11 @@ $L$oop_ssse3:: pxor xmm9,xmm3 xor edi,edx mov esi,eax - add ebp,DWORD PTR[20+rsp] + add ebp,DWORD PTR[20+rsp] pxor xmm5,xmm9 xor ebx,ecx rol eax,5 - movdqa XMMWORD PTR[rsp],xmm10 + movdqa XMMWORD PTR[rsp],xmm10 add ebp,edi and esi,ebx movdqa xmm8,xmm5 @@ -1634,7 +1634,7 @@ $L$oop_ssse3:: pslldq xmm8,12 paddd xmm5,xmm5 mov edi,ebp - add edx,DWORD PTR[24+rsp] + add edx,DWORD PTR[24+rsp] psrld xmm9,31 xor eax,ebx rol ebp,5 @@ -1648,11 +1648,11 @@ $L$oop_ssse3:: por xmm5,xmm9 xor edi,ebx mov esi,edx - add ecx,DWORD PTR[28+rsp] + add ecx,DWORD PTR[28+rsp] pslld xmm10,2 pxor xmm5,xmm8 xor ebp,eax - movdqa xmm8,XMMWORD PTR[((-32))+r14] + movdqa xmm8,XMMWORD PTR[((-32))+r14] rol edx,5 add ecx,edi and esi,ebp @@ -1665,7 +1665,7 @@ $L$oop_ssse3:: movdqa xmm10,xmm5 paddd xmm8,xmm5 mov edi,ecx - add ebx,DWORD PTR[32+rsp] + add ebx,DWORD PTR[32+rsp] punpcklqdq xmm6,xmm3 xor edx,ebp rol ecx,5 @@ -1679,11 +1679,11 @@ $L$oop_ssse3:: pxor xmm10,xmm4 xor edi,ebp mov esi,ebx - add eax,DWORD PTR[36+rsp] + add eax,DWORD PTR[36+rsp] pxor xmm6,xmm10 xor ecx,edx rol ebx,5 - movdqa XMMWORD PTR[16+rsp],xmm8 + movdqa XMMWORD PTR[16+rsp],xmm8 add eax,edi and esi,ecx movdqa xmm9,xmm6 @@ -1695,7 +1695,7 @@ $L$oop_ssse3:: pslldq xmm9,12 paddd xmm6,xmm6 mov edi,eax - add ebp,DWORD PTR[40+rsp] + add ebp,DWORD PTR[40+rsp] psrld xmm10,31 xor ebx,ecx rol eax,5 @@ -1709,11 +1709,11 @@ $L$oop_ssse3:: por xmm6,xmm10 xor edi,ecx mov esi,ebp - add edx,DWORD PTR[44+rsp] + add edx,DWORD PTR[44+rsp] pslld xmm8,2 pxor xmm6,xmm9 xor eax,ebx - movdqa xmm9,XMMWORD PTR[((-32))+r14] + movdqa xmm9,XMMWORD PTR[((-32))+r14] rol ebp,5 add edx,edi and esi,eax @@ -1726,7 +1726,7 @@ $L$oop_ssse3:: movdqa xmm8,xmm6 paddd xmm9,xmm6 mov edi,edx - add ecx,DWORD PTR[48+rsp] + add ecx,DWORD PTR[48+rsp] punpcklqdq xmm7,xmm4 xor ebp,eax rol edx,5 @@ -1740,11 +1740,11 @@ $L$oop_ssse3:: pxor xmm8,xmm5 xor edi,eax mov esi,ecx - add ebx,DWORD PTR[52+rsp] + add ebx,DWORD PTR[52+rsp] pxor xmm7,xmm8 xor edx,ebp rol ecx,5 - movdqa XMMWORD PTR[32+rsp],xmm9 + movdqa XMMWORD PTR[32+rsp],xmm9 add ebx,edi and esi,edx movdqa xmm10,xmm7 @@ -1756,7 +1756,7 @@ $L$oop_ssse3:: pslldq xmm10,12 paddd xmm7,xmm7 mov edi,ebx - add eax,DWORD PTR[56+rsp] + add eax,DWORD PTR[56+rsp] psrld xmm8,31 xor ecx,edx rol ebx,5 @@ -1770,11 +1770,11 @@ $L$oop_ssse3:: por xmm7,xmm8 xor edi,edx mov esi,eax - add ebp,DWORD PTR[60+rsp] + add ebp,DWORD PTR[60+rsp] pslld xmm9,2 pxor xmm7,xmm10 xor ebx,ecx - movdqa xmm10,XMMWORD PTR[((-32))+r14] + movdqa xmm10,XMMWORD PTR[((-32))+r14] rol eax,5 add ebp,edi and esi,ebx @@ -1786,7 +1786,7 @@ $L$oop_ssse3:: pxor xmm0,xmm4 xor esi,ecx mov edi,ebp - add edx,DWORD PTR[rsp] + add edx,DWORD PTR[rsp] punpcklqdq xmm9,xmm7 xor eax,ebx rol ebp,5 @@ -1801,11 +1801,11 @@ $L$oop_ssse3:: ror ebp,7 xor edi,ebx mov esi,edx - add ecx,DWORD PTR[4+rsp] + add ecx,DWORD PTR[4+rsp] movdqa xmm9,xmm0 xor ebp,eax rol edx,5 - movdqa XMMWORD PTR[48+rsp],xmm10 + movdqa XMMWORD PTR[48+rsp],xmm10 add ecx,edi and esi,ebp xor ebp,eax @@ -1815,7 +1815,7 @@ $L$oop_ssse3:: psrld xmm9,30 xor esi,eax mov edi,ecx - add ebx,DWORD PTR[8+rsp] + add ebx,DWORD PTR[8+rsp] por xmm0,xmm9 xor edx,ebp rol ecx,5 @@ -1824,7 +1824,7 @@ $L$oop_ssse3:: and edi,edx xor edx,ebp add ebx,ecx - add eax,DWORD PTR[12+rsp] + add eax,DWORD PTR[12+rsp] xor edi,ebp mov esi,ebx rol ebx,5 @@ -1833,7 +1833,7 @@ $L$oop_ssse3:: ror ecx,7 add eax,ebx pxor xmm1,xmm5 - add ebp,DWORD PTR[16+rsp] + add ebp,DWORD PTR[16+rsp] xor esi,ecx punpcklqdq xmm10,xmm0 mov edi,eax @@ -1846,17 +1846,17 @@ $L$oop_ssse3:: paddd xmm8,xmm0 add ebp,eax pxor xmm1,xmm10 - add edx,DWORD PTR[20+rsp] + add edx,DWORD PTR[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 PTR[rsp],xmm8 ror eax,7 add edx,ebp - add ecx,DWORD PTR[24+rsp] + add ecx,DWORD PTR[24+rsp] pslld xmm1,2 xor esi,eax mov edi,edx @@ -1867,7 +1867,7 @@ $L$oop_ssse3:: ror ebp,7 por xmm1,xmm10 add ecx,edx - add ebx,DWORD PTR[28+rsp] + add ebx,DWORD PTR[28+rsp] pshufd xmm8,xmm0,238 xor edi,ebp mov esi,ecx @@ -1877,7 +1877,7 @@ $L$oop_ssse3:: ror edx,7 add ebx,ecx pxor xmm2,xmm6 - add eax,DWORD PTR[32+rsp] + add eax,DWORD PTR[32+rsp] xor esi,edx punpcklqdq xmm8,xmm1 mov edi,ebx @@ -1885,22 +1885,22 @@ $L$oop_ssse3:: pxor xmm2,xmm3 add eax,esi xor edi,edx - movdqa xmm10,XMMWORD PTR[r14] + movdqa xmm10,XMMWORD PTR[r14] ror ecx,7 paddd xmm9,xmm1 add eax,ebx pxor xmm2,xmm8 - add ebp,DWORD PTR[36+rsp] + add ebp,DWORD PTR[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 PTR[16+rsp],xmm9 ror ebx,7 add ebp,eax - add edx,DWORD PTR[40+rsp] + add edx,DWORD PTR[40+rsp] pslld xmm2,2 xor esi,ebx mov edi,ebp @@ -1911,7 +1911,7 @@ $L$oop_ssse3:: ror eax,7 por xmm2,xmm8 add edx,ebp - add ecx,DWORD PTR[44+rsp] + add ecx,DWORD PTR[44+rsp] pshufd xmm9,xmm1,238 xor edi,eax mov esi,edx @@ -1921,7 +1921,7 @@ $L$oop_ssse3:: ror ebp,7 add ecx,edx pxor xmm3,xmm7 - add ebx,DWORD PTR[48+rsp] + add ebx,DWORD PTR[48+rsp] xor esi,ebp punpcklqdq xmm9,xmm2 mov edi,ecx @@ -1934,17 +1934,17 @@ $L$oop_ssse3:: paddd xmm10,xmm2 add ebx,ecx pxor xmm3,xmm9 - add eax,DWORD PTR[52+rsp] + add eax,DWORD PTR[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 PTR[32+rsp],xmm10 ror ecx,7 add eax,ebx - add ebp,DWORD PTR[56+rsp] + add ebp,DWORD PTR[56+rsp] pslld xmm3,2 xor esi,ecx mov edi,eax @@ -1955,7 +1955,7 @@ $L$oop_ssse3:: ror ebx,7 por xmm3,xmm9 add ebp,eax - add edx,DWORD PTR[60+rsp] + add edx,DWORD PTR[60+rsp] pshufd xmm10,xmm2,238 xor edi,ebx mov esi,ebp @@ -1965,7 +1965,7 @@ $L$oop_ssse3:: ror eax,7 add edx,ebp pxor xmm4,xmm0 - add ecx,DWORD PTR[rsp] + add ecx,DWORD PTR[rsp] xor esi,eax punpcklqdq xmm10,xmm3 mov edi,edx @@ -1978,17 +1978,17 @@ $L$oop_ssse3:: paddd xmm8,xmm3 add ecx,edx pxor xmm4,xmm10 - add ebx,DWORD PTR[4+rsp] + add ebx,DWORD PTR[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 PTR[48+rsp],xmm8 ror edx,7 add ebx,ecx - add eax,DWORD PTR[8+rsp] + add eax,DWORD PTR[8+rsp] pslld xmm4,2 xor esi,edx mov edi,ebx @@ -1999,7 +1999,7 @@ $L$oop_ssse3:: ror ecx,7 por xmm4,xmm10 add eax,ebx - add ebp,DWORD PTR[12+rsp] + add ebp,DWORD PTR[12+rsp] pshufd xmm8,xmm3,238 xor edi,ecx mov esi,eax @@ -2009,7 +2009,7 @@ $L$oop_ssse3:: ror ebx,7 add ebp,eax pxor xmm5,xmm1 - add edx,DWORD PTR[16+rsp] + add edx,DWORD PTR[16+rsp] xor esi,ebx punpcklqdq xmm8,xmm4 mov edi,ebp @@ -2022,17 +2022,17 @@ $L$oop_ssse3:: paddd xmm9,xmm4 add edx,ebp pxor xmm5,xmm8 - add ecx,DWORD PTR[20+rsp] + add ecx,DWORD PTR[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 PTR[rsp],xmm9 ror ebp,7 add ecx,edx - add ebx,DWORD PTR[24+rsp] + add ebx,DWORD PTR[24+rsp] pslld xmm5,2 xor esi,ebp mov edi,ecx @@ -2043,7 +2043,7 @@ $L$oop_ssse3:: ror edx,7 por xmm5,xmm8 add ebx,ecx - add eax,DWORD PTR[28+rsp] + add eax,DWORD PTR[28+rsp] pshufd xmm9,xmm4,238 ror ecx,7 mov esi,ebx @@ -2054,7 +2054,7 @@ $L$oop_ssse3:: xor ecx,edx add eax,ebx pxor xmm6,xmm2 - add ebp,DWORD PTR[32+rsp] + add ebp,DWORD PTR[32+rsp] and esi,ecx xor ecx,edx ror ebx,7 @@ -2070,14 +2070,14 @@ $L$oop_ssse3:: xor ebx,ecx pxor xmm6,xmm9 add ebp,eax - add edx,DWORD PTR[36+rsp] + add edx,DWORD PTR[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 PTR[16+rsp],xmm10 rol ebp,5 add edx,edi xor esi,eax @@ -2085,7 +2085,7 @@ $L$oop_ssse3:: xor eax,ebx add edx,ebp psrld xmm9,30 - add ecx,DWORD PTR[40+rsp] + add ecx,DWORD PTR[40+rsp] and esi,eax xor eax,ebx por xmm6,xmm9 @@ -2098,7 +2098,7 @@ $L$oop_ssse3:: xor edi,ebp xor ebp,eax add ecx,edx - add ebx,DWORD PTR[44+rsp] + add ebx,DWORD PTR[44+rsp] and edi,ebp xor ebp,eax ror edx,7 @@ -2110,7 +2110,7 @@ $L$oop_ssse3:: xor edx,ebp add ebx,ecx pxor xmm7,xmm3 - add eax,DWORD PTR[48+rsp] + add eax,DWORD PTR[48+rsp] and esi,edx xor edx,ebp ror ecx,7 @@ -2120,20 +2120,20 @@ $L$oop_ssse3:: pxor xmm7,xmm0 rol ebx,5 add eax,esi - movdqa xmm9,XMMWORD PTR[32+r14] + movdqa xmm9,XMMWORD PTR[32+r14] xor edi,ecx paddd xmm8,xmm6 xor ecx,edx pxor xmm7,xmm10 add eax,ebx - add ebp,DWORD PTR[52+rsp] + add ebp,DWORD PTR[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 PTR[32+rsp],xmm8 rol eax,5 add ebp,edi xor esi,ebx @@ -2141,7 +2141,7 @@ $L$oop_ssse3:: xor ebx,ecx add ebp,eax psrld xmm10,30 - add edx,DWORD PTR[56+rsp] + add edx,DWORD PTR[56+rsp] and esi,ebx xor ebx,ecx por xmm7,xmm10 @@ -2154,7 +2154,7 @@ $L$oop_ssse3:: xor edi,eax xor eax,ebx add edx,ebp - add ecx,DWORD PTR[60+rsp] + add ecx,DWORD PTR[60+rsp] and edi,eax xor eax,ebx ror ebp,7 @@ -2166,7 +2166,7 @@ $L$oop_ssse3:: xor ebp,eax add ecx,edx pxor xmm0,xmm4 - add ebx,DWORD PTR[rsp] + add ebx,DWORD PTR[rsp] and esi,ebp xor ebp,eax ror edx,7 @@ -2182,14 +2182,14 @@ $L$oop_ssse3:: xor edx,ebp pxor xmm0,xmm8 add ebx,ecx - add eax,DWORD PTR[4+rsp] + add eax,DWORD PTR[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 PTR[48+rsp],xmm9 rol ebx,5 add eax,edi xor esi,ecx @@ -2197,7 +2197,7 @@ $L$oop_ssse3:: xor ecx,edx add eax,ebx psrld xmm8,30 - add ebp,DWORD PTR[8+rsp] + add ebp,DWORD PTR[8+rsp] and esi,ecx xor ecx,edx por xmm0,xmm8 @@ -2210,7 +2210,7 @@ $L$oop_ssse3:: xor edi,ebx xor ebx,ecx add ebp,eax - add edx,DWORD PTR[12+rsp] + add edx,DWORD PTR[12+rsp] and edi,ebx xor ebx,ecx ror eax,7 @@ -2222,7 +2222,7 @@ $L$oop_ssse3:: xor eax,ebx add edx,ebp pxor xmm1,xmm5 - add ecx,DWORD PTR[16+rsp] + add ecx,DWORD PTR[16+rsp] and esi,eax xor eax,ebx ror ebp,7 @@ -2238,14 +2238,14 @@ $L$oop_ssse3:: xor ebp,eax pxor xmm1,xmm9 add ecx,edx - add ebx,DWORD PTR[20+rsp] + add ebx,DWORD PTR[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 PTR[rsp],xmm10 rol ecx,5 add ebx,edi xor esi,edx @@ -2253,7 +2253,7 @@ $L$oop_ssse3:: xor edx,ebp add ebx,ecx psrld xmm9,30 - add eax,DWORD PTR[24+rsp] + add eax,DWORD PTR[24+rsp] and esi,edx xor edx,ebp por xmm1,xmm9 @@ -2266,7 +2266,7 @@ $L$oop_ssse3:: xor edi,ecx xor ecx,edx add eax,ebx - add ebp,DWORD PTR[28+rsp] + add ebp,DWORD PTR[28+rsp] and edi,ecx xor ecx,edx ror ebx,7 @@ -2278,7 +2278,7 @@ $L$oop_ssse3:: xor ebx,ecx add ebp,eax pxor xmm2,xmm6 - add edx,DWORD PTR[32+rsp] + add edx,DWORD PTR[32+rsp] and esi,ebx xor ebx,ecx ror eax,7 @@ -2294,14 +2294,14 @@ $L$oop_ssse3:: xor eax,ebx pxor xmm2,xmm10 add edx,ebp - add ecx,DWORD PTR[36+rsp] + add ecx,DWORD PTR[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 PTR[16+rsp],xmm8 rol edx,5 add ecx,edi xor esi,ebp @@ -2309,7 +2309,7 @@ $L$oop_ssse3:: xor ebp,eax add ecx,edx psrld xmm10,30 - add ebx,DWORD PTR[40+rsp] + add ebx,DWORD PTR[40+rsp] and esi,ebp xor ebp,eax por xmm2,xmm10 @@ -2322,7 +2322,7 @@ $L$oop_ssse3:: xor edi,edx xor edx,ebp add ebx,ecx - add eax,DWORD PTR[44+rsp] + add eax,DWORD PTR[44+rsp] and edi,edx xor edx,ebp ror ecx,7 @@ -2333,7 +2333,7 @@ $L$oop_ssse3:: xor esi,edx add eax,ebx pxor xmm3,xmm7 - add ebp,DWORD PTR[48+rsp] + add ebp,DWORD PTR[48+rsp] xor esi,ecx punpcklqdq xmm8,xmm2 mov edi,eax @@ -2346,17 +2346,17 @@ $L$oop_ssse3:: paddd xmm9,xmm2 add ebp,eax pxor xmm3,xmm8 - add edx,DWORD PTR[52+rsp] + add edx,DWORD PTR[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 PTR[32+rsp],xmm9 ror eax,7 add edx,ebp - add ecx,DWORD PTR[56+rsp] + add ecx,DWORD PTR[56+rsp] pslld xmm3,2 xor esi,eax mov edi,edx @@ -2367,7 +2367,7 @@ $L$oop_ssse3:: ror ebp,7 por xmm3,xmm8 add ecx,edx - add ebx,DWORD PTR[60+rsp] + add ebx,DWORD PTR[60+rsp] xor edi,ebp mov esi,ecx rol ecx,5 @@ -2375,17 +2375,17 @@ $L$oop_ssse3:: xor esi,ebp ror edx,7 add ebx,ecx - add eax,DWORD PTR[rsp] + add eax,DWORD PTR[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 PTR[48+rsp],xmm10 ror ecx,7 add eax,ebx - add ebp,DWORD PTR[4+rsp] + add ebp,DWORD PTR[4+rsp] xor edi,ecx mov esi,eax rol eax,5 @@ -2393,7 +2393,7 @@ $L$oop_ssse3:: xor esi,ecx ror ebx,7 add ebp,eax - add edx,DWORD PTR[8+rsp] + add edx,DWORD PTR[8+rsp] xor esi,ebx mov edi,ebp rol ebp,5 @@ -2401,7 +2401,7 @@ $L$oop_ssse3:: xor edi,ebx ror eax,7 add edx,ebp - add ecx,DWORD PTR[12+rsp] + add ecx,DWORD PTR[12+rsp] xor edi,eax mov esi,edx rol edx,5 @@ -2410,16 +2410,16 @@ $L$oop_ssse3:: ror ebp,7 add ecx,edx cmp r9,r10 - je $L$done_ssse3 - movdqa xmm6,XMMWORD PTR[64+r14] - movdqa xmm9,XMMWORD PTR[((-64))+r14] - movdqu xmm0,XMMWORD PTR[r9] - movdqu xmm1,XMMWORD PTR[16+r9] - movdqu xmm2,XMMWORD PTR[32+r9] - movdqu xmm3,XMMWORD PTR[48+r9] + je $L$done_ssse3 + movdqa xmm6,XMMWORD PTR[64+r14] + movdqa xmm9,XMMWORD PTR[((-64))+r14] + movdqu xmm0,XMMWORD PTR[r9] + movdqu xmm1,XMMWORD PTR[16+r9] + movdqu xmm2,XMMWORD PTR[32+r9] + movdqu xmm3,XMMWORD PTR[48+r9] DB 102,15,56,0,198 add r9,64 - add ebx,DWORD PTR[16+rsp] + add ebx,DWORD PTR[16+rsp] xor esi,ebp mov edi,ecx DB 102,15,56,0,206 @@ -2429,17 +2429,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 PTR[20+rsp] xor edi,edx mov esi,ebx - movdqa XMMWORD PTR[rsp],xmm0 + movdqa XMMWORD PTR[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 PTR[24+rsp] xor esi,ecx mov edi,eax rol eax,5 @@ -2447,7 +2447,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 PTR[28+rsp] xor edi,ebx mov esi,ebp rol ebp,5 @@ -2455,7 +2455,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 PTR[32+rsp] xor esi,eax mov edi,edx DB 102,15,56,0,214 @@ -2465,17 +2465,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 PTR[36+rsp] xor edi,ebp mov esi,ecx - movdqa XMMWORD PTR[16+rsp],xmm1 + movdqa XMMWORD PTR[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 PTR[40+rsp] xor esi,edx mov edi,ebx rol ebx,5 @@ -2483,7 +2483,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 PTR[44+rsp] xor edi,ecx mov esi,eax rol eax,5 @@ -2491,7 +2491,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 PTR[48+rsp] xor esi,ebx mov edi,ebp DB 102,15,56,0,222 @@ -2501,17 +2501,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 PTR[52+rsp] xor edi,eax mov esi,edx - movdqa XMMWORD PTR[32+rsp],xmm2 + movdqa XMMWORD PTR[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 PTR[56+rsp] xor esi,ebp mov edi,ecx rol ecx,5 @@ -2519,32 +2519,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 PTR[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 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 mov ebx,esi - mov DWORD PTR[8+r8],ecx + mov DWORD PTR[8+r8],ecx mov edi,ecx - mov DWORD PTR[12+r8],edx + mov DWORD PTR[12+r8],edx xor edi,edx - mov DWORD PTR[16+r8],ebp + mov DWORD PTR[16+r8],ebp and esi,edi - jmp $L$oop_ssse3 + jmp $L$oop_ssse3 ALIGN 16 -$L$done_ssse3:: - add ebx,DWORD PTR[16+rsp] +$L$done_ssse3:: + add ebx,DWORD PTR[16+rsp] xor esi,ebp mov edi,ecx rol ecx,5 @@ -2552,7 +2552,7 @@ $L$done_ssse3:: xor edi,ebp ror edx,7 add ebx,ecx - add eax,DWORD PTR[20+rsp] + add eax,DWORD PTR[20+rsp] xor edi,edx mov esi,ebx rol ebx,5 @@ -2560,7 +2560,7 @@ $L$done_ssse3:: xor esi,edx ror ecx,7 add eax,ebx - add ebp,DWORD PTR[24+rsp] + add ebp,DWORD PTR[24+rsp] xor esi,ecx mov edi,eax rol eax,5 @@ -2568,7 +2568,7 @@ $L$done_ssse3:: xor edi,ecx ror ebx,7 add ebp,eax - add edx,DWORD PTR[28+rsp] + add edx,DWORD PTR[28+rsp] xor edi,ebx mov esi,ebp rol ebp,5 @@ -2576,7 +2576,7 @@ $L$done_ssse3:: xor esi,ebx ror eax,7 add edx,ebp - add ecx,DWORD PTR[32+rsp] + add ecx,DWORD PTR[32+rsp] xor esi,eax mov edi,edx rol edx,5 @@ -2584,7 +2584,7 @@ $L$done_ssse3:: xor edi,eax ror ebp,7 add ecx,edx - add ebx,DWORD PTR[36+rsp] + add ebx,DWORD PTR[36+rsp] xor edi,ebp mov esi,ecx rol ecx,5 @@ -2592,7 +2592,7 @@ $L$done_ssse3:: xor esi,ebp ror edx,7 add ebx,ecx - add eax,DWORD PTR[40+rsp] + add eax,DWORD PTR[40+rsp] xor esi,edx mov edi,ebx rol ebx,5 @@ -2600,7 +2600,7 @@ $L$done_ssse3:: xor edi,edx ror ecx,7 add eax,ebx - add ebp,DWORD PTR[44+rsp] + add ebp,DWORD PTR[44+rsp] xor edi,ecx mov esi,eax rol eax,5 @@ -2608,7 +2608,7 @@ $L$done_ssse3:: xor esi,ecx ror ebx,7 add ebp,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD PTR[48+rsp] xor esi,ebx mov edi,ebp rol ebp,5 @@ -2616,7 +2616,7 @@ $L$done_ssse3:: xor edi,ebx ror eax,7 add edx,ebp - add ecx,DWORD PTR[52+rsp] + add ecx,DWORD PTR[52+rsp] xor edi,eax mov esi,edx rol edx,5 @@ -2624,7 +2624,7 @@ $L$done_ssse3:: xor esi,eax ror ebp,7 add ecx,edx - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD PTR[56+rsp] xor esi,ebp mov edi,ecx rol ecx,5 @@ -2632,61 +2632,61 @@ $L$done_ssse3:: xor edi,ebp ror edx,7 add ebx,ecx - add eax,DWORD PTR[60+rsp] + add eax,DWORD PTR[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))+r11] - movaps xmm7,XMMWORD PTR[((-40-80))+r11] - movaps xmm8,XMMWORD PTR[((-40-64))+r11] - movaps xmm9,XMMWORD PTR[((-40-48))+r11] - movaps xmm10,XMMWORD PTR[((-40-32))+r11] - movaps xmm11,XMMWORD PTR[((-40-16))+r11] - mov r14,QWORD PTR[((-40))+r11] - - mov r13,QWORD PTR[((-32))+r11] - - mov r12,QWORD PTR[((-24))+r11] - - mov rbp,QWORD PTR[((-16))+r11] - - mov rbx,QWORD PTR[((-8))+r11] - - lea rsp,QWORD PTR[r11] - -$L$epilogue_ssse3:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + 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))+r11] + movaps xmm7,XMMWORD PTR[((-40-80))+r11] + movaps xmm8,XMMWORD PTR[((-40-64))+r11] + movaps xmm9,XMMWORD PTR[((-40-48))+r11] + movaps xmm10,XMMWORD PTR[((-40-32))+r11] + movaps xmm11,XMMWORD PTR[((-40-16))+r11] + mov r14,QWORD PTR[((-40))+r11] + + mov r13,QWORD PTR[((-32))+r11] + + mov r12,QWORD PTR[((-24))+r11] + + mov rbp,QWORD PTR[((-16))+r11] + + mov rbx,QWORD PTR[((-8))+r11] + + lea rsp,QWORD PTR[r11] + +$L$epilogue_ssse3:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[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:: +sha1_block_data_order_ssse3 ENDP ALIGN 16 -sha1_block_data_order_avx PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha1_block_data_order_avx PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha1_block_data_order_avx:: +$L$SEH_begin_sha1_block_data_order_avx:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -_avx_shortcut:: +_avx_shortcut:: mov r11,rsp @@ -2700,15 +2700,15 @@ _avx_shortcut:: push r14 - lea rsp,QWORD PTR[((-160))+rsp] + lea rsp,QWORD PTR[((-160))+rsp] vzeroupper - vmovaps XMMWORD PTR[(-40-96)+r11],xmm6 - vmovaps XMMWORD PTR[(-40-80)+r11],xmm7 - vmovaps XMMWORD PTR[(-40-64)+r11],xmm8 - vmovaps XMMWORD PTR[(-40-48)+r11],xmm9 - vmovaps XMMWORD PTR[(-40-32)+r11],xmm10 - vmovaps XMMWORD PTR[(-40-16)+r11],xmm11 -$L$prologue_avx:: + vmovaps XMMWORD PTR[(-40-96)+r11],xmm6 + vmovaps XMMWORD PTR[(-40-80)+r11],xmm7 + vmovaps XMMWORD PTR[(-40-64)+r11],xmm8 + vmovaps XMMWORD PTR[(-40-48)+r11],xmm9 + vmovaps XMMWORD PTR[(-40-32)+r11],xmm10 + vmovaps XMMWORD PTR[(-40-16)+r11],xmm11 +$L$prologue_avx:: and rsp,-64 mov r8,rdi mov r9,rsi @@ -2716,24 +2716,24 @@ $L$prologue_avx:: shl r10,6 add r10,r9 - lea r14,QWORD PTR[((K_XX_XX+64))] + lea r14,QWORD PTR[((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 PTR[r8] + mov ebx,DWORD PTR[4+r8] + mov ecx,DWORD PTR[8+r8] + mov edx,DWORD PTR[12+r8] mov esi,ebx - mov ebp,DWORD PTR[16+r8] + mov ebp,DWORD PTR[16+r8] mov edi,ecx xor edi,edx and esi,edi - vmovdqa xmm6,XMMWORD PTR[64+r14] - vmovdqa xmm11,XMMWORD PTR[((-64))+r14] - vmovdqu xmm0,XMMWORD PTR[r9] - vmovdqu xmm1,XMMWORD PTR[16+r9] - vmovdqu xmm2,XMMWORD PTR[32+r9] - vmovdqu xmm3,XMMWORD PTR[48+r9] + vmovdqa xmm6,XMMWORD PTR[64+r14] + vmovdqa xmm11,XMMWORD PTR[((-64))+r14] + vmovdqu xmm0,XMMWORD PTR[r9] + vmovdqu xmm1,XMMWORD PTR[16+r9] + vmovdqu xmm2,XMMWORD PTR[32+r9] + vmovdqu xmm3,XMMWORD PTR[48+r9] vpshufb xmm0,xmm0,xmm6 add r9,64 vpshufb xmm1,xmm1,xmm6 @@ -2742,17 +2742,17 @@ $L$prologue_avx:: vpaddd xmm4,xmm0,xmm11 vpaddd xmm5,xmm1,xmm11 vpaddd xmm6,xmm2,xmm11 - vmovdqa XMMWORD PTR[rsp],xmm4 - vmovdqa XMMWORD PTR[16+rsp],xmm5 - vmovdqa XMMWORD PTR[32+rsp],xmm6 - jmp $L$oop_avx + vmovdqa XMMWORD PTR[rsp],xmm4 + vmovdqa XMMWORD PTR[16+rsp],xmm5 + vmovdqa XMMWORD PTR[32+rsp],xmm6 + jmp $L$oop_avx ALIGN 16 -$L$oop_avx:: +$L$oop_avx:: shrd ebx,ebx,2 xor esi,edx vpalignr xmm4,xmm1,xmm0,8 mov edi,eax - add ebp,DWORD PTR[rsp] + add ebp,DWORD PTR[rsp] vpaddd xmm9,xmm11,xmm3 xor ebx,ecx shld eax,eax,5 @@ -2766,11 +2766,11 @@ $L$oop_avx:: shrd eax,eax,7 xor edi,ecx mov esi,ebp - add edx,DWORD PTR[4+rsp] + add edx,DWORD PTR[4+rsp] vpxor xmm4,xmm4,xmm8 xor eax,ebx shld ebp,ebp,5 - vmovdqa XMMWORD PTR[48+rsp],xmm9 + vmovdqa XMMWORD PTR[48+rsp],xmm9 add edx,edi and esi,eax vpsrld xmm8,xmm4,31 @@ -2781,7 +2781,7 @@ $L$oop_avx:: vpslldq xmm10,xmm4,12 vpaddd xmm4,xmm4,xmm4 mov edi,edx - add ecx,DWORD PTR[8+rsp] + add ecx,DWORD PTR[8+rsp] xor ebp,eax shld edx,edx,5 vpsrld xmm9,xmm10,30 @@ -2795,7 +2795,7 @@ $L$oop_avx:: shrd edx,edx,7 xor edi,eax mov esi,ecx - add ebx,DWORD PTR[12+rsp] + add ebx,DWORD PTR[12+rsp] vpxor xmm4,xmm4,xmm10 xor edx,ebp shld ecx,ecx,5 @@ -2807,7 +2807,7 @@ $L$oop_avx:: xor esi,ebp vpalignr xmm5,xmm2,xmm1,8 mov edi,ebx - add eax,DWORD PTR[16+rsp] + add eax,DWORD PTR[16+rsp] vpaddd xmm9,xmm11,xmm4 xor ecx,edx shld ebx,ebx,5 @@ -2821,11 +2821,11 @@ $L$oop_avx:: shrd ebx,ebx,7 xor edi,edx mov esi,eax - add ebp,DWORD PTR[20+rsp] + add ebp,DWORD PTR[20+rsp] vpxor xmm5,xmm5,xmm8 xor ebx,ecx shld eax,eax,5 - vmovdqa XMMWORD PTR[rsp],xmm9 + vmovdqa XMMWORD PTR[rsp],xmm9 add ebp,edi and esi,ebx vpsrld xmm8,xmm5,31 @@ -2836,7 +2836,7 @@ $L$oop_avx:: vpslldq xmm10,xmm5,12 vpaddd xmm5,xmm5,xmm5 mov edi,ebp - add edx,DWORD PTR[24+rsp] + add edx,DWORD PTR[24+rsp] xor eax,ebx shld ebp,ebp,5 vpsrld xmm9,xmm10,30 @@ -2850,11 +2850,11 @@ $L$oop_avx:: shrd ebp,ebp,7 xor edi,ebx mov esi,edx - add ecx,DWORD PTR[28+rsp] + add ecx,DWORD PTR[28+rsp] vpxor xmm5,xmm5,xmm10 xor ebp,eax shld edx,edx,5 - vmovdqa xmm11,XMMWORD PTR[((-32))+r14] + vmovdqa xmm11,XMMWORD PTR[((-32))+r14] add ecx,edi and esi,ebp xor ebp,eax @@ -2863,7 +2863,7 @@ $L$oop_avx:: xor esi,eax vpalignr xmm6,xmm3,xmm2,8 mov edi,ecx - add ebx,DWORD PTR[32+rsp] + add ebx,DWORD PTR[32+rsp] vpaddd xmm9,xmm11,xmm5 xor edx,ebp shld ecx,ecx,5 @@ -2877,11 +2877,11 @@ $L$oop_avx:: shrd ecx,ecx,7 xor edi,ebp mov esi,ebx - add eax,DWORD PTR[36+rsp] + add eax,DWORD PTR[36+rsp] vpxor xmm6,xmm6,xmm8 xor ecx,edx shld ebx,ebx,5 - vmovdqa XMMWORD PTR[16+rsp],xmm9 + vmovdqa XMMWORD PTR[16+rsp],xmm9 add eax,edi and esi,ecx vpsrld xmm8,xmm6,31 @@ -2892,7 +2892,7 @@ $L$oop_avx:: vpslldq xmm10,xmm6,12 vpaddd xmm6,xmm6,xmm6 mov edi,eax - add ebp,DWORD PTR[40+rsp] + add ebp,DWORD PTR[40+rsp] xor ebx,ecx shld eax,eax,5 vpsrld xmm9,xmm10,30 @@ -2906,7 +2906,7 @@ $L$oop_avx:: shrd eax,eax,7 xor edi,ecx mov esi,ebp - add edx,DWORD PTR[44+rsp] + add edx,DWORD PTR[44+rsp] vpxor xmm6,xmm6,xmm10 xor eax,ebx shld ebp,ebp,5 @@ -2918,7 +2918,7 @@ $L$oop_avx:: xor esi,ebx vpalignr xmm7,xmm4,xmm3,8 mov edi,edx - add ecx,DWORD PTR[48+rsp] + add ecx,DWORD PTR[48+rsp] vpaddd xmm9,xmm11,xmm6 xor ebp,eax shld edx,edx,5 @@ -2932,11 +2932,11 @@ $L$oop_avx:: shrd edx,edx,7 xor edi,eax mov esi,ecx - add ebx,DWORD PTR[52+rsp] + add ebx,DWORD PTR[52+rsp] vpxor xmm7,xmm7,xmm8 xor edx,ebp shld ecx,ecx,5 - vmovdqa XMMWORD PTR[32+rsp],xmm9 + vmovdqa XMMWORD PTR[32+rsp],xmm9 add ebx,edi and esi,edx vpsrld xmm8,xmm7,31 @@ -2947,7 +2947,7 @@ $L$oop_avx:: vpslldq xmm10,xmm7,12 vpaddd xmm7,xmm7,xmm7 mov edi,ebx - add eax,DWORD PTR[56+rsp] + add eax,DWORD PTR[56+rsp] xor ecx,edx shld ebx,ebx,5 vpsrld xmm9,xmm10,30 @@ -2961,7 +2961,7 @@ $L$oop_avx:: shrd ebx,ebx,7 xor edi,edx mov esi,eax - add ebp,DWORD PTR[60+rsp] + add ebp,DWORD PTR[60+rsp] vpxor xmm7,xmm7,xmm10 xor ebx,ecx shld eax,eax,5 @@ -2974,7 +2974,7 @@ $L$oop_avx:: shrd eax,eax,7 xor esi,ecx mov edi,ebp - add edx,DWORD PTR[rsp] + add edx,DWORD PTR[rsp] vpxor xmm0,xmm0,xmm1 xor eax,ebx shld ebp,ebp,5 @@ -2987,9 +2987,9 @@ $L$oop_avx:: shrd ebp,ebp,7 xor edi,ebx vpsrld xmm8,xmm0,30 - vmovdqa XMMWORD PTR[48+rsp],xmm9 + vmovdqa XMMWORD PTR[48+rsp],xmm9 mov esi,edx - add ecx,DWORD PTR[4+rsp] + add ecx,DWORD PTR[4+rsp] xor ebp,eax shld edx,edx,5 vpslld xmm0,xmm0,2 @@ -3000,7 +3000,7 @@ $L$oop_avx:: shrd edx,edx,7 xor esi,eax mov edi,ecx - add ebx,DWORD PTR[8+rsp] + add ebx,DWORD PTR[8+rsp] vpor xmm0,xmm0,xmm8 xor edx,ebp shld ecx,ecx,5 @@ -3008,7 +3008,7 @@ $L$oop_avx:: and edi,edx xor edx,ebp add ebx,ecx - add eax,DWORD PTR[12+rsp] + add eax,DWORD PTR[12+rsp] xor edi,ebp mov esi,ebx shld ebx,ebx,5 @@ -3018,7 +3018,7 @@ $L$oop_avx:: add eax,ebx vpalignr xmm8,xmm0,xmm7,8 vpxor xmm1,xmm1,xmm5 - add ebp,DWORD PTR[16+rsp] + add ebp,DWORD PTR[16+rsp] xor esi,ecx mov edi,eax shld eax,eax,5 @@ -3029,18 +3029,18 @@ $L$oop_avx:: shrd ebx,ebx,7 add ebp,eax vpxor xmm1,xmm1,xmm8 - add edx,DWORD PTR[20+rsp] + add edx,DWORD PTR[20+rsp] xor edi,ebx mov esi,ebp shld ebp,ebp,5 vpsrld xmm8,xmm1,30 - vmovdqa XMMWORD PTR[rsp],xmm9 + vmovdqa XMMWORD PTR[rsp],xmm9 add edx,edi xor esi,ebx shrd eax,eax,7 add edx,ebp vpslld xmm1,xmm1,2 - add ecx,DWORD PTR[24+rsp] + add ecx,DWORD PTR[24+rsp] xor esi,eax mov edi,edx shld edx,edx,5 @@ -3049,7 +3049,7 @@ $L$oop_avx:: shrd ebp,ebp,7 add ecx,edx vpor xmm1,xmm1,xmm8 - add ebx,DWORD PTR[28+rsp] + add ebx,DWORD PTR[28+rsp] xor edi,ebp mov esi,ecx shld ecx,ecx,5 @@ -3059,7 +3059,7 @@ $L$oop_avx:: add ebx,ecx vpalignr xmm8,xmm1,xmm0,8 vpxor xmm2,xmm2,xmm6 - add eax,DWORD PTR[32+rsp] + add eax,DWORD PTR[32+rsp] xor esi,edx mov edi,ebx shld ebx,ebx,5 @@ -3067,22 +3067,22 @@ $L$oop_avx:: add eax,esi xor edi,edx vpaddd xmm9,xmm11,xmm1 - vmovdqa xmm11,XMMWORD PTR[r14] + vmovdqa xmm11,XMMWORD PTR[r14] shrd ecx,ecx,7 add eax,ebx vpxor xmm2,xmm2,xmm8 - add ebp,DWORD PTR[36+rsp] + add ebp,DWORD PTR[36+rsp] xor edi,ecx mov esi,eax shld eax,eax,5 vpsrld xmm8,xmm2,30 - vmovdqa XMMWORD PTR[16+rsp],xmm9 + vmovdqa XMMWORD PTR[16+rsp],xmm9 add ebp,edi xor esi,ecx shrd ebx,ebx,7 add ebp,eax vpslld xmm2,xmm2,2 - add edx,DWORD PTR[40+rsp] + add edx,DWORD PTR[40+rsp] xor esi,ebx mov edi,ebp shld ebp,ebp,5 @@ -3091,7 +3091,7 @@ $L$oop_avx:: shrd eax,eax,7 add edx,ebp vpor xmm2,xmm2,xmm8 - add ecx,DWORD PTR[44+rsp] + add ecx,DWORD PTR[44+rsp] xor edi,eax mov esi,edx shld edx,edx,5 @@ -3101,7 +3101,7 @@ $L$oop_avx:: add ecx,edx vpalignr xmm8,xmm2,xmm1,8 vpxor xmm3,xmm3,xmm7 - add ebx,DWORD PTR[48+rsp] + add ebx,DWORD PTR[48+rsp] xor esi,ebp mov edi,ecx shld ecx,ecx,5 @@ -3112,18 +3112,18 @@ $L$oop_avx:: shrd edx,edx,7 add ebx,ecx vpxor xmm3,xmm3,xmm8 - add eax,DWORD PTR[52+rsp] + add eax,DWORD PTR[52+rsp] xor edi,edx mov esi,ebx shld ebx,ebx,5 vpsrld xmm8,xmm3,30 - vmovdqa XMMWORD PTR[32+rsp],xmm9 + vmovdqa XMMWORD PTR[32+rsp],xmm9 add eax,edi xor esi,edx shrd ecx,ecx,7 add eax,ebx vpslld xmm3,xmm3,2 - add ebp,DWORD PTR[56+rsp] + add ebp,DWORD PTR[56+rsp] xor esi,ecx mov edi,eax shld eax,eax,5 @@ -3132,7 +3132,7 @@ $L$oop_avx:: shrd ebx,ebx,7 add ebp,eax vpor xmm3,xmm3,xmm8 - add edx,DWORD PTR[60+rsp] + add edx,DWORD PTR[60+rsp] xor edi,ebx mov esi,ebp shld ebp,ebp,5 @@ -3142,7 +3142,7 @@ $L$oop_avx:: add edx,ebp vpalignr xmm8,xmm3,xmm2,8 vpxor xmm4,xmm4,xmm0 - add ecx,DWORD PTR[rsp] + add ecx,DWORD PTR[rsp] xor esi,eax mov edi,edx shld edx,edx,5 @@ -3153,18 +3153,18 @@ $L$oop_avx:: shrd ebp,ebp,7 add ecx,edx vpxor xmm4,xmm4,xmm8 - add ebx,DWORD PTR[4+rsp] + add ebx,DWORD PTR[4+rsp] xor edi,ebp mov esi,ecx shld ecx,ecx,5 vpsrld xmm8,xmm4,30 - vmovdqa XMMWORD PTR[48+rsp],xmm9 + vmovdqa XMMWORD PTR[48+rsp],xmm9 add ebx,edi xor esi,ebp shrd edx,edx,7 add ebx,ecx vpslld xmm4,xmm4,2 - add eax,DWORD PTR[8+rsp] + add eax,DWORD PTR[8+rsp] xor esi,edx mov edi,ebx shld ebx,ebx,5 @@ -3173,7 +3173,7 @@ $L$oop_avx:: shrd ecx,ecx,7 add eax,ebx vpor xmm4,xmm4,xmm8 - add ebp,DWORD PTR[12+rsp] + add ebp,DWORD PTR[12+rsp] xor edi,ecx mov esi,eax shld eax,eax,5 @@ -3183,7 +3183,7 @@ $L$oop_avx:: add ebp,eax vpalignr xmm8,xmm4,xmm3,8 vpxor xmm5,xmm5,xmm1 - add edx,DWORD PTR[16+rsp] + add edx,DWORD PTR[16+rsp] xor esi,ebx mov edi,ebp shld ebp,ebp,5 @@ -3194,18 +3194,18 @@ $L$oop_avx:: shrd eax,eax,7 add edx,ebp vpxor xmm5,xmm5,xmm8 - add ecx,DWORD PTR[20+rsp] + add ecx,DWORD PTR[20+rsp] xor edi,eax mov esi,edx shld edx,edx,5 vpsrld xmm8,xmm5,30 - vmovdqa XMMWORD PTR[rsp],xmm9 + vmovdqa XMMWORD PTR[rsp],xmm9 add ecx,edi xor esi,eax shrd ebp,ebp,7 add ecx,edx vpslld xmm5,xmm5,2 - add ebx,DWORD PTR[24+rsp] + add ebx,DWORD PTR[24+rsp] xor esi,ebp mov edi,ecx shld ecx,ecx,5 @@ -3214,7 +3214,7 @@ $L$oop_avx:: shrd edx,edx,7 add ebx,ecx vpor xmm5,xmm5,xmm8 - add eax,DWORD PTR[28+rsp] + add eax,DWORD PTR[28+rsp] shrd ecx,ecx,7 mov esi,ebx xor edi,edx @@ -3225,7 +3225,7 @@ $L$oop_avx:: add eax,ebx vpalignr xmm8,xmm5,xmm4,8 vpxor xmm6,xmm6,xmm2 - add ebp,DWORD PTR[32+rsp] + add ebp,DWORD PTR[32+rsp] and esi,ecx xor ecx,edx shrd ebx,ebx,7 @@ -3239,9 +3239,9 @@ $L$oop_avx:: xor edi,ebx xor ebx,ecx add ebp,eax - add edx,DWORD PTR[36+rsp] + add edx,DWORD PTR[36+rsp] vpsrld xmm8,xmm6,30 - vmovdqa XMMWORD PTR[16+rsp],xmm9 + vmovdqa XMMWORD PTR[16+rsp],xmm9 and edi,ebx xor ebx,ecx shrd eax,eax,7 @@ -3253,7 +3253,7 @@ $L$oop_avx:: xor esi,eax xor eax,ebx add edx,ebp - add ecx,DWORD PTR[40+rsp] + add ecx,DWORD PTR[40+rsp] and esi,eax vpor xmm6,xmm6,xmm8 xor eax,ebx @@ -3265,7 +3265,7 @@ $L$oop_avx:: xor edi,ebp xor ebp,eax add ecx,edx - add ebx,DWORD PTR[44+rsp] + add ebx,DWORD PTR[44+rsp] and edi,ebp xor ebp,eax shrd edx,edx,7 @@ -3278,7 +3278,7 @@ $L$oop_avx:: add ebx,ecx vpalignr xmm8,xmm6,xmm5,8 vpxor xmm7,xmm7,xmm3 - add eax,DWORD PTR[48+rsp] + add eax,DWORD PTR[48+rsp] and esi,edx xor edx,ebp shrd ecx,ecx,7 @@ -3286,16 +3286,16 @@ $L$oop_avx:: mov edi,ebx xor esi,edx vpaddd xmm9,xmm11,xmm6 - vmovdqa xmm11,XMMWORD PTR[32+r14] + vmovdqa xmm11,XMMWORD PTR[32+r14] shld ebx,ebx,5 add eax,esi vpxor xmm7,xmm7,xmm8 xor edi,ecx xor ecx,edx add eax,ebx - add ebp,DWORD PTR[52+rsp] + add ebp,DWORD PTR[52+rsp] vpsrld xmm8,xmm7,30 - vmovdqa XMMWORD PTR[32+rsp],xmm9 + vmovdqa XMMWORD PTR[32+rsp],xmm9 and edi,ecx xor ecx,edx shrd ebx,ebx,7 @@ -3307,7 +3307,7 @@ $L$oop_avx:: xor esi,ebx xor ebx,ecx add ebp,eax - add edx,DWORD PTR[56+rsp] + add edx,DWORD PTR[56+rsp] and esi,ebx vpor xmm7,xmm7,xmm8 xor ebx,ecx @@ -3319,7 +3319,7 @@ $L$oop_avx:: xor edi,eax xor eax,ebx add edx,ebp - add ecx,DWORD PTR[60+rsp] + add ecx,DWORD PTR[60+rsp] and edi,eax xor eax,ebx shrd ebp,ebp,7 @@ -3332,7 +3332,7 @@ $L$oop_avx:: add ecx,edx vpalignr xmm8,xmm7,xmm6,8 vpxor xmm0,xmm0,xmm4 - add ebx,DWORD PTR[rsp] + add ebx,DWORD PTR[rsp] and esi,ebp xor ebp,eax shrd edx,edx,7 @@ -3346,9 +3346,9 @@ $L$oop_avx:: xor edi,edx xor edx,ebp add ebx,ecx - add eax,DWORD PTR[4+rsp] + add eax,DWORD PTR[4+rsp] vpsrld xmm8,xmm0,30 - vmovdqa XMMWORD PTR[48+rsp],xmm9 + vmovdqa XMMWORD PTR[48+rsp],xmm9 and edi,edx xor edx,ebp shrd ecx,ecx,7 @@ -3360,7 +3360,7 @@ $L$oop_avx:: xor esi,ecx xor ecx,edx add eax,ebx - add ebp,DWORD PTR[8+rsp] + add ebp,DWORD PTR[8+rsp] and esi,ecx vpor xmm0,xmm0,xmm8 xor ecx,edx @@ -3372,7 +3372,7 @@ $L$oop_avx:: xor edi,ebx xor ebx,ecx add ebp,eax - add edx,DWORD PTR[12+rsp] + add edx,DWORD PTR[12+rsp] and edi,ebx xor ebx,ecx shrd eax,eax,7 @@ -3385,7 +3385,7 @@ $L$oop_avx:: add edx,ebp vpalignr xmm8,xmm0,xmm7,8 vpxor xmm1,xmm1,xmm5 - add ecx,DWORD PTR[16+rsp] + add ecx,DWORD PTR[16+rsp] and esi,eax xor eax,ebx shrd ebp,ebp,7 @@ -3399,9 +3399,9 @@ $L$oop_avx:: xor edi,ebp xor ebp,eax add ecx,edx - add ebx,DWORD PTR[20+rsp] + add ebx,DWORD PTR[20+rsp] vpsrld xmm8,xmm1,30 - vmovdqa XMMWORD PTR[rsp],xmm9 + vmovdqa XMMWORD PTR[rsp],xmm9 and edi,ebp xor ebp,eax shrd edx,edx,7 @@ -3413,7 +3413,7 @@ $L$oop_avx:: xor esi,edx xor edx,ebp add ebx,ecx - add eax,DWORD PTR[24+rsp] + add eax,DWORD PTR[24+rsp] and esi,edx vpor xmm1,xmm1,xmm8 xor edx,ebp @@ -3425,7 +3425,7 @@ $L$oop_avx:: xor edi,ecx xor ecx,edx add eax,ebx - add ebp,DWORD PTR[28+rsp] + add ebp,DWORD PTR[28+rsp] and edi,ecx xor ecx,edx shrd ebx,ebx,7 @@ -3438,7 +3438,7 @@ $L$oop_avx:: add ebp,eax vpalignr xmm8,xmm1,xmm0,8 vpxor xmm2,xmm2,xmm6 - add edx,DWORD PTR[32+rsp] + add edx,DWORD PTR[32+rsp] and esi,ebx xor ebx,ecx shrd eax,eax,7 @@ -3452,9 +3452,9 @@ $L$oop_avx:: xor edi,eax xor eax,ebx add edx,ebp - add ecx,DWORD PTR[36+rsp] + add ecx,DWORD PTR[36+rsp] vpsrld xmm8,xmm2,30 - vmovdqa XMMWORD PTR[16+rsp],xmm9 + vmovdqa XMMWORD PTR[16+rsp],xmm9 and edi,eax xor eax,ebx shrd ebp,ebp,7 @@ -3466,7 +3466,7 @@ $L$oop_avx:: xor esi,ebp xor ebp,eax add ecx,edx - add ebx,DWORD PTR[40+rsp] + add ebx,DWORD PTR[40+rsp] and esi,ebp vpor xmm2,xmm2,xmm8 xor ebp,eax @@ -3478,7 +3478,7 @@ $L$oop_avx:: xor edi,edx xor edx,ebp add ebx,ecx - add eax,DWORD PTR[44+rsp] + add eax,DWORD PTR[44+rsp] and edi,edx xor edx,ebp shrd ecx,ecx,7 @@ -3490,7 +3490,7 @@ $L$oop_avx:: add eax,ebx vpalignr xmm8,xmm2,xmm1,8 vpxor xmm3,xmm3,xmm7 - add ebp,DWORD PTR[48+rsp] + add ebp,DWORD PTR[48+rsp] xor esi,ecx mov edi,eax shld eax,eax,5 @@ -3501,18 +3501,18 @@ $L$oop_avx:: shrd ebx,ebx,7 add ebp,eax vpxor xmm3,xmm3,xmm8 - add edx,DWORD PTR[52+rsp] + add edx,DWORD PTR[52+rsp] xor edi,ebx mov esi,ebp shld ebp,ebp,5 vpsrld xmm8,xmm3,30 - vmovdqa XMMWORD PTR[32+rsp],xmm9 + vmovdqa XMMWORD PTR[32+rsp],xmm9 add edx,edi xor esi,ebx shrd eax,eax,7 add edx,ebp vpslld xmm3,xmm3,2 - add ecx,DWORD PTR[56+rsp] + add ecx,DWORD PTR[56+rsp] xor esi,eax mov edi,edx shld edx,edx,5 @@ -3521,7 +3521,7 @@ $L$oop_avx:: shrd ebp,ebp,7 add ecx,edx vpor xmm3,xmm3,xmm8 - add ebx,DWORD PTR[60+rsp] + add ebx,DWORD PTR[60+rsp] xor edi,ebp mov esi,ecx shld ecx,ecx,5 @@ -3529,17 +3529,17 @@ $L$oop_avx:: xor esi,ebp shrd edx,edx,7 add ebx,ecx - add eax,DWORD PTR[rsp] + add eax,DWORD PTR[rsp] vpaddd xmm9,xmm11,xmm3 xor esi,edx mov edi,ebx shld ebx,ebx,5 add eax,esi - vmovdqa XMMWORD PTR[48+rsp],xmm9 + vmovdqa XMMWORD PTR[48+rsp],xmm9 xor edi,edx shrd ecx,ecx,7 add eax,ebx - add ebp,DWORD PTR[4+rsp] + add ebp,DWORD PTR[4+rsp] xor edi,ecx mov esi,eax shld eax,eax,5 @@ -3547,7 +3547,7 @@ $L$oop_avx:: xor esi,ecx shrd ebx,ebx,7 add ebp,eax - add edx,DWORD PTR[8+rsp] + add edx,DWORD PTR[8+rsp] xor esi,ebx mov edi,ebp shld ebp,ebp,5 @@ -3555,7 +3555,7 @@ $L$oop_avx:: xor edi,ebx shrd eax,eax,7 add edx,ebp - add ecx,DWORD PTR[12+rsp] + add ecx,DWORD PTR[12+rsp] xor edi,eax mov esi,edx shld edx,edx,5 @@ -3564,16 +3564,16 @@ $L$oop_avx:: shrd ebp,ebp,7 add ecx,edx cmp r9,r10 - je $L$done_avx - vmovdqa xmm6,XMMWORD PTR[64+r14] - vmovdqa xmm11,XMMWORD PTR[((-64))+r14] - vmovdqu xmm0,XMMWORD PTR[r9] - vmovdqu xmm1,XMMWORD PTR[16+r9] - vmovdqu xmm2,XMMWORD PTR[32+r9] - vmovdqu xmm3,XMMWORD PTR[48+r9] + je $L$done_avx + vmovdqa xmm6,XMMWORD PTR[64+r14] + vmovdqa xmm11,XMMWORD PTR[((-64))+r14] + vmovdqu xmm0,XMMWORD PTR[r9] + vmovdqu xmm1,XMMWORD PTR[16+r9] + vmovdqu xmm2,XMMWORD PTR[32+r9] + vmovdqu xmm3,XMMWORD PTR[48+r9] vpshufb xmm0,xmm0,xmm6 add r9,64 - add ebx,DWORD PTR[16+rsp] + add ebx,DWORD PTR[16+rsp] xor esi,ebp vpshufb xmm1,xmm1,xmm6 mov edi,ecx @@ -3583,8 +3583,8 @@ $L$oop_avx:: xor edi,ebp shrd edx,edx,7 add ebx,ecx - vmovdqa XMMWORD PTR[rsp],xmm4 - add eax,DWORD PTR[20+rsp] + vmovdqa XMMWORD PTR[rsp],xmm4 + add eax,DWORD PTR[20+rsp] xor edi,edx mov esi,ebx shld ebx,ebx,5 @@ -3592,7 +3592,7 @@ $L$oop_avx:: xor esi,edx shrd ecx,ecx,7 add eax,ebx - add ebp,DWORD PTR[24+rsp] + add ebp,DWORD PTR[24+rsp] xor esi,ecx mov edi,eax shld eax,eax,5 @@ -3600,7 +3600,7 @@ $L$oop_avx:: xor edi,ecx shrd ebx,ebx,7 add ebp,eax - add edx,DWORD PTR[28+rsp] + add edx,DWORD PTR[28+rsp] xor edi,ebx mov esi,ebp shld ebp,ebp,5 @@ -3608,7 +3608,7 @@ $L$oop_avx:: xor esi,ebx shrd eax,eax,7 add edx,ebp - add ecx,DWORD PTR[32+rsp] + add ecx,DWORD PTR[32+rsp] xor esi,eax vpshufb xmm2,xmm2,xmm6 mov edi,edx @@ -3618,8 +3618,8 @@ $L$oop_avx:: xor edi,eax shrd ebp,ebp,7 add ecx,edx - vmovdqa XMMWORD PTR[16+rsp],xmm5 - add ebx,DWORD PTR[36+rsp] + vmovdqa XMMWORD PTR[16+rsp],xmm5 + add ebx,DWORD PTR[36+rsp] xor edi,ebp mov esi,ecx shld ecx,ecx,5 @@ -3627,7 +3627,7 @@ $L$oop_avx:: xor esi,ebp shrd edx,edx,7 add ebx,ecx - add eax,DWORD PTR[40+rsp] + add eax,DWORD PTR[40+rsp] xor esi,edx mov edi,ebx shld ebx,ebx,5 @@ -3635,7 +3635,7 @@ $L$oop_avx:: xor edi,edx shrd ecx,ecx,7 add eax,ebx - add ebp,DWORD PTR[44+rsp] + add ebp,DWORD PTR[44+rsp] xor edi,ecx mov esi,eax shld eax,eax,5 @@ -3643,7 +3643,7 @@ $L$oop_avx:: xor esi,ecx shrd ebx,ebx,7 add ebp,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD PTR[48+rsp] xor esi,ebx vpshufb xmm3,xmm3,xmm6 mov edi,ebp @@ -3653,8 +3653,8 @@ $L$oop_avx:: xor edi,ebx shrd eax,eax,7 add edx,ebp - vmovdqa XMMWORD PTR[32+rsp],xmm6 - add ecx,DWORD PTR[52+rsp] + vmovdqa XMMWORD PTR[32+rsp],xmm6 + add ecx,DWORD PTR[52+rsp] xor edi,eax mov esi,edx shld edx,edx,5 @@ -3662,7 +3662,7 @@ $L$oop_avx:: xor esi,eax shrd ebp,ebp,7 add ecx,edx - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD PTR[56+rsp] xor esi,ebp mov edi,ecx shld ecx,ecx,5 @@ -3670,32 +3670,32 @@ $L$oop_avx:: xor edi,ebp shrd edx,edx,7 add ebx,ecx - add eax,DWORD PTR[60+rsp] + add eax,DWORD PTR[60+rsp] xor edi,edx mov esi,ebx shld ebx,ebx,5 add eax,edi shrd ecx,ecx,7 add eax,ebx - add eax,DWORD 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 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 mov ebx,esi - mov DWORD PTR[8+r8],ecx + mov DWORD PTR[8+r8],ecx mov edi,ecx - mov DWORD PTR[12+r8],edx + mov DWORD PTR[12+r8],edx xor edi,edx - mov DWORD PTR[16+r8],ebp + mov DWORD PTR[16+r8],ebp and esi,edi - jmp $L$oop_avx + jmp $L$oop_avx ALIGN 16 -$L$done_avx:: - add ebx,DWORD PTR[16+rsp] +$L$done_avx:: + add ebx,DWORD PTR[16+rsp] xor esi,ebp mov edi,ecx shld ecx,ecx,5 @@ -3703,7 +3703,7 @@ $L$done_avx:: xor edi,ebp shrd edx,edx,7 add ebx,ecx - add eax,DWORD PTR[20+rsp] + add eax,DWORD PTR[20+rsp] xor edi,edx mov esi,ebx shld ebx,ebx,5 @@ -3711,7 +3711,7 @@ $L$done_avx:: xor esi,edx shrd ecx,ecx,7 add eax,ebx - add ebp,DWORD PTR[24+rsp] + add ebp,DWORD PTR[24+rsp] xor esi,ecx mov edi,eax shld eax,eax,5 @@ -3719,7 +3719,7 @@ $L$done_avx:: xor edi,ecx shrd ebx,ebx,7 add ebp,eax - add edx,DWORD PTR[28+rsp] + add edx,DWORD PTR[28+rsp] xor edi,ebx mov esi,ebp shld ebp,ebp,5 @@ -3727,7 +3727,7 @@ $L$done_avx:: xor esi,ebx shrd eax,eax,7 add edx,ebp - add ecx,DWORD PTR[32+rsp] + add ecx,DWORD PTR[32+rsp] xor esi,eax mov edi,edx shld edx,edx,5 @@ -3735,7 +3735,7 @@ $L$done_avx:: xor edi,eax shrd ebp,ebp,7 add ecx,edx - add ebx,DWORD PTR[36+rsp] + add ebx,DWORD PTR[36+rsp] xor edi,ebp mov esi,ecx shld ecx,ecx,5 @@ -3743,7 +3743,7 @@ $L$done_avx:: xor esi,ebp shrd edx,edx,7 add ebx,ecx - add eax,DWORD PTR[40+rsp] + add eax,DWORD PTR[40+rsp] xor esi,edx mov edi,ebx shld ebx,ebx,5 @@ -3751,7 +3751,7 @@ $L$done_avx:: xor edi,edx shrd ecx,ecx,7 add eax,ebx - add ebp,DWORD PTR[44+rsp] + add ebp,DWORD PTR[44+rsp] xor edi,ecx mov esi,eax shld eax,eax,5 @@ -3759,7 +3759,7 @@ $L$done_avx:: xor esi,ecx shrd ebx,ebx,7 add ebp,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD PTR[48+rsp] xor esi,ebx mov edi,ebp shld ebp,ebp,5 @@ -3767,7 +3767,7 @@ $L$done_avx:: xor edi,ebx shrd eax,eax,7 add edx,ebp - add ecx,DWORD PTR[52+rsp] + add ecx,DWORD PTR[52+rsp] xor edi,eax mov esi,edx shld edx,edx,5 @@ -3775,7 +3775,7 @@ $L$done_avx:: xor esi,eax shrd ebp,ebp,7 add ecx,edx - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD PTR[56+rsp] xor esi,ebp mov edi,ecx shld ecx,ecx,5 @@ -3783,7 +3783,7 @@ $L$done_avx:: xor edi,ebp shrd edx,edx,7 add ebx,ecx - add eax,DWORD PTR[60+rsp] + add eax,DWORD PTR[60+rsp] xor edi,edx mov esi,ebx shld ebx,ebx,5 @@ -3792,54 +3792,54 @@ $L$done_avx:: add eax,ebx vzeroupper - 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))+r11] - movaps xmm7,XMMWORD PTR[((-40-80))+r11] - movaps xmm8,XMMWORD PTR[((-40-64))+r11] - movaps xmm9,XMMWORD PTR[((-40-48))+r11] - movaps xmm10,XMMWORD PTR[((-40-32))+r11] - movaps xmm11,XMMWORD PTR[((-40-16))+r11] - mov r14,QWORD PTR[((-40))+r11] - - mov r13,QWORD PTR[((-32))+r11] - - mov r12,QWORD PTR[((-24))+r11] - - mov rbp,QWORD PTR[((-16))+r11] - - mov rbx,QWORD PTR[((-8))+r11] - - lea rsp,QWORD PTR[r11] - -$L$epilogue_avx:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + 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))+r11] + movaps xmm7,XMMWORD PTR[((-40-80))+r11] + movaps xmm8,XMMWORD PTR[((-40-64))+r11] + movaps xmm9,XMMWORD PTR[((-40-48))+r11] + movaps xmm10,XMMWORD PTR[((-40-32))+r11] + movaps xmm11,XMMWORD PTR[((-40-16))+r11] + mov r14,QWORD PTR[((-40))+r11] + + mov r13,QWORD PTR[((-32))+r11] + + mov r12,QWORD PTR[((-24))+r11] + + mov rbp,QWORD PTR[((-16))+r11] + + mov rbx,QWORD PTR[((-8))+r11] + + lea rsp,QWORD PTR[r11] + +$L$epilogue_avx:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_block_data_order_avx:: -sha1_block_data_order_avx ENDP +$L$SEH_end_sha1_block_data_order_avx:: +sha1_block_data_order_avx ENDP ALIGN 16 -sha1_block_data_order_avx2 PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha1_block_data_order_avx2 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha1_block_data_order_avx2:: +$L$SEH_begin_sha1_block_data_order_avx2:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -_avx2_shortcut:: +_avx2_shortcut:: mov r11,rsp @@ -3854,57 +3854,57 @@ _avx2_shortcut:: push r14 vzeroupper - lea rsp,QWORD PTR[((-96))+rsp] - vmovaps XMMWORD PTR[(-40-96)+r11],xmm6 - vmovaps XMMWORD PTR[(-40-80)+r11],xmm7 - vmovaps XMMWORD PTR[(-40-64)+r11],xmm8 - vmovaps XMMWORD PTR[(-40-48)+r11],xmm9 - vmovaps XMMWORD PTR[(-40-32)+r11],xmm10 - vmovaps XMMWORD PTR[(-40-16)+r11],xmm11 -$L$prologue_avx2:: + lea rsp,QWORD PTR[((-96))+rsp] + vmovaps XMMWORD PTR[(-40-96)+r11],xmm6 + vmovaps XMMWORD PTR[(-40-80)+r11],xmm7 + vmovaps XMMWORD PTR[(-40-64)+r11],xmm8 + vmovaps XMMWORD PTR[(-40-48)+r11],xmm9 + vmovaps XMMWORD PTR[(-40-32)+r11],xmm10 + vmovaps XMMWORD PTR[(-40-16)+r11],xmm11 +$L$prologue_avx2:: mov r8,rdi mov r9,rsi mov r10,rdx - lea rsp,QWORD PTR[((-640))+rsp] + lea rsp,QWORD PTR[((-640))+rsp] shl r10,6 - lea r13,QWORD PTR[64+r9] + lea r13,QWORD PTR[64+r9] and rsp,-128 add r10,r9 - lea r14,QWORD PTR[((K_XX_XX+64))] + lea r14,QWORD PTR[((K_XX_XX+64))] - mov eax,DWORD PTR[r8] + mov eax,DWORD PTR[r8] cmp r13,r10 cmovae r13,r9 - mov ebp,DWORD PTR[4+r8] - mov ecx,DWORD PTR[8+r8] - mov edx,DWORD PTR[12+r8] - mov esi,DWORD PTR[16+r8] - vmovdqu ymm6,YMMWORD PTR[64+r14] - - vmovdqu xmm0,XMMWORD PTR[r9] - vmovdqu xmm1,XMMWORD PTR[16+r9] - vmovdqu xmm2,XMMWORD PTR[32+r9] - vmovdqu xmm3,XMMWORD PTR[48+r9] - lea r9,QWORD PTR[64+r9] - vinserti128 ymm0,ymm0,XMMWORD PTR[r13],1 - vinserti128 ymm1,ymm1,XMMWORD PTR[16+r13],1 + mov ebp,DWORD PTR[4+r8] + mov ecx,DWORD PTR[8+r8] + mov edx,DWORD PTR[12+r8] + mov esi,DWORD PTR[16+r8] + vmovdqu ymm6,YMMWORD PTR[64+r14] + + vmovdqu xmm0,XMMWORD PTR[r9] + vmovdqu xmm1,XMMWORD PTR[16+r9] + vmovdqu xmm2,XMMWORD PTR[32+r9] + vmovdqu xmm3,XMMWORD PTR[48+r9] + lea r9,QWORD PTR[64+r9] + vinserti128 ymm0,ymm0,XMMWORD PTR[r13],1 + vinserti128 ymm1,ymm1,XMMWORD PTR[16+r13],1 vpshufb ymm0,ymm0,ymm6 - vinserti128 ymm2,ymm2,XMMWORD PTR[32+r13],1 + vinserti128 ymm2,ymm2,XMMWORD PTR[32+r13],1 vpshufb ymm1,ymm1,ymm6 - vinserti128 ymm3,ymm3,XMMWORD PTR[48+r13],1 + vinserti128 ymm3,ymm3,XMMWORD PTR[48+r13],1 vpshufb ymm2,ymm2,ymm6 - vmovdqu ymm11,YMMWORD PTR[((-64))+r14] + vmovdqu ymm11,YMMWORD PTR[((-64))+r14] vpshufb ymm3,ymm3,ymm6 vpaddd ymm4,ymm0,ymm11 vpaddd ymm5,ymm1,ymm11 - vmovdqu YMMWORD PTR[rsp],ymm4 + vmovdqu YMMWORD PTR[rsp],ymm4 vpaddd ymm6,ymm2,ymm11 - vmovdqu YMMWORD PTR[32+rsp],ymm5 + vmovdqu YMMWORD PTR[32+rsp],ymm5 vpaddd ymm7,ymm3,ymm11 - vmovdqu YMMWORD PTR[64+rsp],ymm6 - vmovdqu YMMWORD PTR[96+rsp],ymm7 + vmovdqu YMMWORD PTR[64+rsp],ymm6 + vmovdqu YMMWORD PTR[96+rsp],ymm7 vpalignr ymm4,ymm1,ymm0,8 vpsrldq ymm8,ymm3,4 vpxor ymm4,ymm4,ymm0 @@ -3919,14 +3919,14 @@ $L$prologue_avx2:: vpxor ymm4,ymm4,ymm9 vpxor ymm4,ymm4,ymm10 vpaddd ymm9,ymm4,ymm11 - vmovdqu YMMWORD PTR[128+rsp],ymm9 + vmovdqu YMMWORD PTR[128+rsp],ymm9 vpalignr ymm5,ymm2,ymm1,8 vpsrldq ymm8,ymm4,4 vpxor ymm5,ymm5,ymm1 vpxor ymm8,ymm8,ymm3 vpxor ymm5,ymm5,ymm8 vpsrld ymm8,ymm5,31 - vmovdqu ymm11,YMMWORD PTR[((-32))+r14] + vmovdqu ymm11,YMMWORD PTR[((-32))+r14] vpslldq ymm10,ymm5,12 vpaddd ymm5,ymm5,ymm5 vpsrld ymm9,ymm10,30 @@ -3935,7 +3935,7 @@ $L$prologue_avx2:: vpxor ymm5,ymm5,ymm9 vpxor ymm5,ymm5,ymm10 vpaddd ymm9,ymm5,ymm11 - vmovdqu YMMWORD PTR[160+rsp],ymm9 + vmovdqu YMMWORD PTR[160+rsp],ymm9 vpalignr ymm6,ymm3,ymm2,8 vpsrldq ymm8,ymm5,4 vpxor ymm6,ymm6,ymm2 @@ -3950,7 +3950,7 @@ $L$prologue_avx2:: vpxor ymm6,ymm6,ymm9 vpxor ymm6,ymm6,ymm10 vpaddd ymm9,ymm6,ymm11 - vmovdqu YMMWORD PTR[192+rsp],ymm9 + vmovdqu YMMWORD PTR[192+rsp],ymm9 vpalignr ymm7,ymm4,ymm3,8 vpsrldq ymm8,ymm6,4 vpxor ymm7,ymm7,ymm3 @@ -3965,21 +3965,21 @@ $L$prologue_avx2:: vpxor ymm7,ymm7,ymm9 vpxor ymm7,ymm7,ymm10 vpaddd ymm9,ymm7,ymm11 - vmovdqu YMMWORD PTR[224+rsp],ymm9 - lea r13,QWORD PTR[128+rsp] - jmp $L$oop_avx2 + vmovdqu YMMWORD PTR[224+rsp],ymm9 + lea r13,QWORD PTR[128+rsp] + jmp $L$oop_avx2 ALIGN 32 -$L$oop_avx2:: +$L$oop_avx2:: rorx ebx,ebp,2 andn edi,ebp,edx and ebp,ecx xor ebp,edi - jmp $L$align32_1 + jmp $L$align32_1 ALIGN 32 -$L$align32_1:: +$L$align32_1:: vpalignr ymm8,ymm7,ymm6,8 vpxor ymm0,ymm0,ymm4 - add esi,DWORD PTR[((-128))+r13] + add esi,DWORD PTR[((-128))+r13] andn edi,eax,ecx vpxor ymm0,ymm0,ymm1 add esi,ebp @@ -3991,7 +3991,7 @@ $L$align32_1:: xor eax,edi vpsrld ymm8,ymm0,30 vpslld ymm0,ymm0,2 - add edx,DWORD PTR[((-124))+r13] + add edx,DWORD PTR[((-124))+r13] andn edi,esi,ebx add edx,eax rorx r12d,esi,27 @@ -4000,17 +4000,17 @@ $L$align32_1:: vpor ymm0,ymm0,ymm8 add edx,r12d xor esi,edi - add ecx,DWORD PTR[((-120))+r13] + add ecx,DWORD PTR[((-120))+r13] andn edi,edx,ebp vpaddd ymm9,ymm0,ymm11 add ecx,esi rorx r12d,edx,27 rorx esi,edx,2 and edx,eax - vmovdqu YMMWORD PTR[256+rsp],ymm9 + vmovdqu YMMWORD PTR[256+rsp],ymm9 add ecx,r12d xor edx,edi - add ebx,DWORD PTR[((-116))+r13] + add ebx,DWORD PTR[((-116))+r13] andn edi,ecx,eax add ebx,edx rorx r12d,ecx,27 @@ -4018,7 +4018,7 @@ $L$align32_1:: and ecx,esi add ebx,r12d xor ecx,edi - add ebp,DWORD PTR[((-96))+r13] + add ebp,DWORD PTR[((-96))+r13] andn edi,ebx,esi add ebp,ecx rorx r12d,ebx,27 @@ -4028,7 +4028,7 @@ $L$align32_1:: xor ebx,edi vpalignr ymm8,ymm0,ymm7,8 vpxor ymm1,ymm1,ymm5 - add eax,DWORD PTR[((-92))+r13] + add eax,DWORD PTR[((-92))+r13] andn edi,ebp,edx vpxor ymm1,ymm1,ymm2 add eax,ebx @@ -4040,7 +4040,7 @@ $L$align32_1:: xor ebp,edi vpsrld ymm8,ymm1,30 vpslld ymm1,ymm1,2 - add esi,DWORD PTR[((-88))+r13] + add esi,DWORD PTR[((-88))+r13] andn edi,eax,ecx add esi,ebp rorx r12d,eax,27 @@ -4049,17 +4049,17 @@ $L$align32_1:: vpor ymm1,ymm1,ymm8 add esi,r12d xor eax,edi - add edx,DWORD PTR[((-84))+r13] + add edx,DWORD PTR[((-84))+r13] andn edi,esi,ebx vpaddd ymm9,ymm1,ymm11 add edx,eax rorx r12d,esi,27 rorx eax,esi,2 and esi,ebp - vmovdqu YMMWORD PTR[288+rsp],ymm9 + vmovdqu YMMWORD PTR[288+rsp],ymm9 add edx,r12d xor esi,edi - add ecx,DWORD PTR[((-64))+r13] + add ecx,DWORD PTR[((-64))+r13] andn edi,edx,ebp add ecx,esi rorx r12d,edx,27 @@ -4067,7 +4067,7 @@ $L$align32_1:: and edx,eax add ecx,r12d xor edx,edi - add ebx,DWORD PTR[((-60))+r13] + add ebx,DWORD PTR[((-60))+r13] andn edi,ecx,eax add ebx,edx rorx r12d,ecx,27 @@ -4077,10 +4077,10 @@ $L$align32_1:: xor ecx,edi vpalignr ymm8,ymm1,ymm0,8 vpxor ymm2,ymm2,ymm6 - add ebp,DWORD PTR[((-56))+r13] + add ebp,DWORD PTR[((-56))+r13] andn edi,ebx,esi vpxor ymm2,ymm2,ymm3 - vmovdqu ymm11,YMMWORD PTR[r14] + vmovdqu ymm11,YMMWORD PTR[r14] add ebp,ecx rorx r12d,ebx,27 rorx ecx,ebx,2 @@ -4090,7 +4090,7 @@ $L$align32_1:: xor ebx,edi vpsrld ymm8,ymm2,30 vpslld ymm2,ymm2,2 - add eax,DWORD PTR[((-52))+r13] + add eax,DWORD PTR[((-52))+r13] andn edi,ebp,edx add eax,ebx rorx r12d,ebp,27 @@ -4099,17 +4099,17 @@ $L$align32_1:: vpor ymm2,ymm2,ymm8 add eax,r12d xor ebp,edi - add esi,DWORD PTR[((-32))+r13] + add esi,DWORD PTR[((-32))+r13] andn edi,eax,ecx vpaddd ymm9,ymm2,ymm11 add esi,ebp rorx r12d,eax,27 rorx ebp,eax,2 and eax,ebx - vmovdqu YMMWORD PTR[320+rsp],ymm9 + vmovdqu YMMWORD PTR[320+rsp],ymm9 add esi,r12d xor eax,edi - add edx,DWORD PTR[((-28))+r13] + add edx,DWORD PTR[((-28))+r13] andn edi,esi,ebx add edx,eax rorx r12d,esi,27 @@ -4117,7 +4117,7 @@ $L$align32_1:: and esi,ebp add edx,r12d xor esi,edi - add ecx,DWORD PTR[((-24))+r13] + add ecx,DWORD PTR[((-24))+r13] andn edi,edx,ebp add ecx,esi rorx r12d,edx,27 @@ -4127,7 +4127,7 @@ $L$align32_1:: xor edx,edi vpalignr ymm8,ymm2,ymm1,8 vpxor ymm3,ymm3,ymm7 - add ebx,DWORD PTR[((-20))+r13] + add ebx,DWORD PTR[((-20))+r13] andn edi,ecx,eax vpxor ymm3,ymm3,ymm4 add ebx,edx @@ -4139,7 +4139,7 @@ $L$align32_1:: xor ecx,edi vpsrld ymm8,ymm3,30 vpslld ymm3,ymm3,2 - add ebp,DWORD PTR[r13] + add ebp,DWORD PTR[r13] andn edi,ebx,esi add ebp,ecx rorx r12d,ebx,27 @@ -4148,17 +4148,17 @@ $L$align32_1:: vpor ymm3,ymm3,ymm8 add ebp,r12d xor ebx,edi - add eax,DWORD PTR[4+r13] + add eax,DWORD PTR[4+r13] andn edi,ebp,edx vpaddd ymm9,ymm3,ymm11 add eax,ebx rorx r12d,ebp,27 rorx ebx,ebp,2 and ebp,ecx - vmovdqu YMMWORD PTR[352+rsp],ymm9 + vmovdqu YMMWORD PTR[352+rsp],ymm9 add eax,r12d xor ebp,edi - add esi,DWORD PTR[8+r13] + add esi,DWORD PTR[8+r13] andn edi,eax,ecx add esi,ebp rorx r12d,eax,27 @@ -4166,8 +4166,8 @@ $L$align32_1:: and eax,ebx add esi,r12d xor eax,edi - add edx,DWORD PTR[12+r13] - lea edx,DWORD PTR[rax*1+rdx] + add edx,DWORD PTR[12+r13] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 xor esi,ebp @@ -4175,8 +4175,8 @@ $L$align32_1:: xor esi,ebx vpalignr ymm8,ymm3,ymm2,8 vpxor ymm4,ymm4,ymm0 - add ecx,DWORD PTR[32+r13] - lea ecx,DWORD PTR[rsi*1+rcx] + add ecx,DWORD PTR[32+r13] + lea ecx,DWORD PTR[rsi*1+rcx] vpxor ymm4,ymm4,ymm5 rorx r12d,edx,27 rorx esi,edx,2 @@ -4184,34 +4184,34 @@ $L$align32_1:: vpxor ymm4,ymm4,ymm8 add ecx,r12d xor edx,ebp - add ebx,DWORD PTR[36+r13] + add ebx,DWORD PTR[36+r13] vpsrld ymm8,ymm4,30 vpslld ymm4,ymm4,2 - lea ebx,DWORD PTR[rdx*1+rbx] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi add ebx,r12d xor ecx,eax vpor ymm4,ymm4,ymm8 - add ebp,DWORD PTR[40+r13] - lea ebp,DWORD PTR[rbp*1+rcx] + add ebp,DWORD PTR[40+r13] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 vpaddd ymm9,ymm4,ymm11 xor ebx,edx add ebp,r12d xor ebx,esi - add eax,DWORD PTR[44+r13] - vmovdqu YMMWORD PTR[384+rsp],ymm9 - lea eax,DWORD PTR[rbx*1+rax] + add eax,DWORD PTR[44+r13] + vmovdqu YMMWORD PTR[384+rsp],ymm9 + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx add eax,r12d xor ebp,edx - add esi,DWORD PTR[64+r13] - lea esi,DWORD PTR[rbp*1+rsi] + add esi,DWORD PTR[64+r13] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx @@ -4219,8 +4219,8 @@ $L$align32_1:: xor eax,ecx vpalignr ymm8,ymm4,ymm3,8 vpxor ymm5,ymm5,ymm1 - add edx,DWORD PTR[68+r13] - lea edx,DWORD PTR[rax*1+rdx] + add edx,DWORD PTR[68+r13] + lea edx,DWORD PTR[rax*1+rdx] vpxor ymm5,ymm5,ymm6 rorx r12d,esi,27 rorx eax,esi,2 @@ -4228,34 +4228,34 @@ $L$align32_1:: vpxor ymm5,ymm5,ymm8 add edx,r12d xor esi,ebx - add ecx,DWORD PTR[72+r13] + add ecx,DWORD PTR[72+r13] vpsrld ymm8,ymm5,30 vpslld ymm5,ymm5,2 - lea ecx,DWORD PTR[rsi*1+rcx] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 xor edx,eax add ecx,r12d xor edx,ebp vpor ymm5,ymm5,ymm8 - add ebx,DWORD PTR[76+r13] - lea ebx,DWORD PTR[rdx*1+rbx] + add ebx,DWORD PTR[76+r13] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 vpaddd ymm9,ymm5,ymm11 xor ecx,esi add ebx,r12d xor ecx,eax - add ebp,DWORD PTR[96+r13] - vmovdqu YMMWORD PTR[416+rsp],ymm9 - lea ebp,DWORD PTR[rbp*1+rcx] + add ebp,DWORD PTR[96+r13] + vmovdqu YMMWORD PTR[416+rsp],ymm9 + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx add ebp,r12d xor ebx,esi - add eax,DWORD PTR[100+r13] - lea eax,DWORD PTR[rbx*1+rax] + add eax,DWORD PTR[100+r13] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx @@ -4263,8 +4263,8 @@ $L$align32_1:: xor ebp,edx vpalignr ymm8,ymm5,ymm4,8 vpxor ymm6,ymm6,ymm2 - add esi,DWORD PTR[104+r13] - lea esi,DWORD PTR[rbp*1+rsi] + add esi,DWORD PTR[104+r13] + lea esi,DWORD PTR[rbp*1+rsi] vpxor ymm6,ymm6,ymm7 rorx r12d,eax,27 rorx ebp,eax,2 @@ -4272,35 +4272,35 @@ $L$align32_1:: vpxor ymm6,ymm6,ymm8 add esi,r12d xor eax,ecx - add edx,DWORD PTR[108+r13] - lea r13,QWORD PTR[256+r13] + add edx,DWORD PTR[108+r13] + lea r13,QWORD PTR[256+r13] vpsrld ymm8,ymm6,30 vpslld ymm6,ymm6,2 - lea edx,DWORD PTR[rax*1+rdx] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 xor esi,ebp add edx,r12d xor esi,ebx vpor ymm6,ymm6,ymm8 - add ecx,DWORD PTR[((-128))+r13] - lea ecx,DWORD PTR[rsi*1+rcx] + add ecx,DWORD PTR[((-128))+r13] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 vpaddd ymm9,ymm6,ymm11 xor edx,eax add ecx,r12d xor edx,ebp - add ebx,DWORD PTR[((-124))+r13] - vmovdqu YMMWORD PTR[448+rsp],ymm9 - lea ebx,DWORD PTR[rdx*1+rbx] + add ebx,DWORD PTR[((-124))+r13] + vmovdqu YMMWORD PTR[448+rsp],ymm9 + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi add ebx,r12d xor ecx,eax - add ebp,DWORD PTR[((-120))+r13] - lea ebp,DWORD PTR[rbp*1+rcx] + add ebp,DWORD PTR[((-120))+r13] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx @@ -4308,62 +4308,62 @@ $L$align32_1:: xor ebx,esi vpalignr ymm8,ymm6,ymm5,8 vpxor ymm7,ymm7,ymm3 - add eax,DWORD PTR[((-116))+r13] - lea eax,DWORD PTR[rbx*1+rax] + add eax,DWORD PTR[((-116))+r13] + lea eax,DWORD PTR[rbx*1+rax] vpxor ymm7,ymm7,ymm0 - vmovdqu ymm11,YMMWORD PTR[32+r14] + vmovdqu ymm11,YMMWORD PTR[32+r14] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx vpxor ymm7,ymm7,ymm8 add eax,r12d xor ebp,edx - add esi,DWORD PTR[((-96))+r13] + add esi,DWORD PTR[((-96))+r13] vpsrld ymm8,ymm7,30 vpslld ymm7,ymm7,2 - lea esi,DWORD PTR[rbp*1+rsi] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx add esi,r12d xor eax,ecx vpor ymm7,ymm7,ymm8 - add edx,DWORD PTR[((-92))+r13] - lea edx,DWORD PTR[rax*1+rdx] + add edx,DWORD PTR[((-92))+r13] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 vpaddd ymm9,ymm7,ymm11 xor esi,ebp add edx,r12d xor esi,ebx - add ecx,DWORD PTR[((-88))+r13] - vmovdqu YMMWORD PTR[480+rsp],ymm9 - lea ecx,DWORD PTR[rsi*1+rcx] + add ecx,DWORD PTR[((-88))+r13] + vmovdqu YMMWORD PTR[480+rsp],ymm9 + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 xor edx,eax add ecx,r12d xor edx,ebp - add ebx,DWORD PTR[((-84))+r13] + add ebx,DWORD PTR[((-84))+r13] mov edi,esi xor edi,eax - lea ebx,DWORD PTR[rdx*1+rbx] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi add ebx,r12d and ecx,edi - jmp $L$align32_2 + jmp $L$align32_2 ALIGN 32 -$L$align32_2:: +$L$align32_2:: vpalignr ymm8,ymm7,ymm6,8 vpxor ymm0,ymm0,ymm4 - add ebp,DWORD PTR[((-64))+r13] + add ebp,DWORD PTR[((-64))+r13] xor ecx,esi vpxor ymm0,ymm0,ymm1 mov edi,edx xor edi,esi - lea ebp,DWORD PTR[rbp*1+rcx] + lea ebp,DWORD PTR[rbp*1+rcx] vpxor ymm0,ymm0,ymm8 rorx r12d,ebx,27 rorx ecx,ebx,2 @@ -4372,44 +4372,44 @@ $L$align32_2:: vpslld ymm0,ymm0,2 add ebp,r12d and ebx,edi - add eax,DWORD PTR[((-60))+r13] + add eax,DWORD PTR[((-60))+r13] xor ebx,edx mov edi,ecx xor edi,edx vpor ymm0,ymm0,ymm8 - lea eax,DWORD PTR[rbx*1+rax] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx vpaddd ymm9,ymm0,ymm11 add eax,r12d and ebp,edi - add esi,DWORD PTR[((-56))+r13] + add esi,DWORD PTR[((-56))+r13] xor ebp,ecx - vmovdqu YMMWORD PTR[512+rsp],ymm9 + vmovdqu YMMWORD PTR[512+rsp],ymm9 mov edi,ebx xor edi,ecx - lea esi,DWORD PTR[rbp*1+rsi] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx add esi,r12d and eax,edi - add edx,DWORD PTR[((-52))+r13] + add edx,DWORD PTR[((-52))+r13] xor eax,ebx mov edi,ebp xor edi,ebx - lea edx,DWORD PTR[rax*1+rdx] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 xor esi,ebp add edx,r12d and esi,edi - add ecx,DWORD PTR[((-32))+r13] + add ecx,DWORD PTR[((-32))+r13] xor esi,ebp mov edi,eax xor edi,ebp - lea ecx,DWORD PTR[rsi*1+rcx] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 xor edx,eax @@ -4417,12 +4417,12 @@ $L$align32_2:: and edx,edi vpalignr ymm8,ymm0,ymm7,8 vpxor ymm1,ymm1,ymm5 - add ebx,DWORD PTR[((-28))+r13] + add ebx,DWORD PTR[((-28))+r13] xor edx,eax vpxor ymm1,ymm1,ymm2 mov edi,esi xor edi,eax - lea ebx,DWORD PTR[rdx*1+rbx] + lea ebx,DWORD PTR[rdx*1+rbx] vpxor ymm1,ymm1,ymm8 rorx r12d,ecx,27 rorx edx,ecx,2 @@ -4431,44 +4431,44 @@ $L$align32_2:: vpslld ymm1,ymm1,2 add ebx,r12d and ecx,edi - add ebp,DWORD PTR[((-24))+r13] + add ebp,DWORD PTR[((-24))+r13] xor ecx,esi mov edi,edx xor edi,esi vpor ymm1,ymm1,ymm8 - lea ebp,DWORD PTR[rbp*1+rcx] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx vpaddd ymm9,ymm1,ymm11 add ebp,r12d and ebx,edi - add eax,DWORD PTR[((-20))+r13] + add eax,DWORD PTR[((-20))+r13] xor ebx,edx - vmovdqu YMMWORD PTR[544+rsp],ymm9 + vmovdqu YMMWORD PTR[544+rsp],ymm9 mov edi,ecx xor edi,edx - lea eax,DWORD PTR[rbx*1+rax] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx add eax,r12d and ebp,edi - add esi,DWORD PTR[r13] + add esi,DWORD PTR[r13] xor ebp,ecx mov edi,ebx xor edi,ecx - lea esi,DWORD PTR[rbp*1+rsi] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx add esi,r12d and eax,edi - add edx,DWORD PTR[4+r13] + add edx,DWORD PTR[4+r13] xor eax,ebx mov edi,ebp xor edi,ebx - lea edx,DWORD PTR[rax*1+rdx] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 xor esi,ebp @@ -4476,12 +4476,12 @@ $L$align32_2:: and esi,edi vpalignr ymm8,ymm1,ymm0,8 vpxor ymm2,ymm2,ymm6 - add ecx,DWORD PTR[8+r13] + add ecx,DWORD PTR[8+r13] xor esi,ebp vpxor ymm2,ymm2,ymm3 mov edi,eax xor edi,ebp - lea ecx,DWORD PTR[rsi*1+rcx] + lea ecx,DWORD PTR[rsi*1+rcx] vpxor ymm2,ymm2,ymm8 rorx r12d,edx,27 rorx esi,edx,2 @@ -4490,44 +4490,44 @@ $L$align32_2:: vpslld ymm2,ymm2,2 add ecx,r12d and edx,edi - add ebx,DWORD PTR[12+r13] + add ebx,DWORD PTR[12+r13] xor edx,eax mov edi,esi xor edi,eax vpor ymm2,ymm2,ymm8 - lea ebx,DWORD PTR[rdx*1+rbx] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi vpaddd ymm9,ymm2,ymm11 add ebx,r12d and ecx,edi - add ebp,DWORD PTR[32+r13] + add ebp,DWORD PTR[32+r13] xor ecx,esi - vmovdqu YMMWORD PTR[576+rsp],ymm9 + vmovdqu YMMWORD PTR[576+rsp],ymm9 mov edi,edx xor edi,esi - lea ebp,DWORD PTR[rbp*1+rcx] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx add ebp,r12d and ebx,edi - add eax,DWORD PTR[36+r13] + add eax,DWORD PTR[36+r13] xor ebx,edx mov edi,ecx xor edi,edx - lea eax,DWORD PTR[rbx*1+rax] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx add eax,r12d and ebp,edi - add esi,DWORD PTR[40+r13] + add esi,DWORD PTR[40+r13] xor ebp,ecx mov edi,ebx xor edi,ecx - lea esi,DWORD PTR[rbp*1+rsi] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx @@ -4535,12 +4535,12 @@ $L$align32_2:: and eax,edi vpalignr ymm8,ymm2,ymm1,8 vpxor ymm3,ymm3,ymm7 - add edx,DWORD PTR[44+r13] + add edx,DWORD PTR[44+r13] xor eax,ebx vpxor ymm3,ymm3,ymm4 mov edi,ebp xor edi,ebx - lea edx,DWORD PTR[rax*1+rdx] + lea edx,DWORD PTR[rax*1+rdx] vpxor ymm3,ymm3,ymm8 rorx r12d,esi,27 rorx eax,esi,2 @@ -4549,236 +4549,236 @@ $L$align32_2:: vpslld ymm3,ymm3,2 add edx,r12d and esi,edi - add ecx,DWORD PTR[64+r13] + add ecx,DWORD PTR[64+r13] xor esi,ebp mov edi,eax xor edi,ebp vpor ymm3,ymm3,ymm8 - lea ecx,DWORD PTR[rsi*1+rcx] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 xor edx,eax vpaddd ymm9,ymm3,ymm11 add ecx,r12d and edx,edi - add ebx,DWORD PTR[68+r13] + add ebx,DWORD PTR[68+r13] xor edx,eax - vmovdqu YMMWORD PTR[608+rsp],ymm9 + vmovdqu YMMWORD PTR[608+rsp],ymm9 mov edi,esi xor edi,eax - lea ebx,DWORD PTR[rdx*1+rbx] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi add ebx,r12d and ecx,edi - add ebp,DWORD PTR[72+r13] + add ebp,DWORD PTR[72+r13] xor ecx,esi mov edi,edx xor edi,esi - lea ebp,DWORD PTR[rbp*1+rcx] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx add ebp,r12d and ebx,edi - add eax,DWORD PTR[76+r13] + add eax,DWORD PTR[76+r13] xor ebx,edx - lea eax,DWORD PTR[rbx*1+rax] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx add eax,r12d xor ebp,edx - add esi,DWORD PTR[96+r13] - lea esi,DWORD PTR[rbp*1+rsi] + add esi,DWORD PTR[96+r13] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx add esi,r12d xor eax,ecx - add edx,DWORD PTR[100+r13] - lea edx,DWORD PTR[rax*1+rdx] + add edx,DWORD PTR[100+r13] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 xor esi,ebp add edx,r12d xor esi,ebx - add ecx,DWORD PTR[104+r13] - lea ecx,DWORD PTR[rsi*1+rcx] + add ecx,DWORD PTR[104+r13] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 xor edx,eax add ecx,r12d xor edx,ebp - add ebx,DWORD PTR[108+r13] - lea r13,QWORD PTR[256+r13] - lea ebx,DWORD PTR[rdx*1+rbx] + add ebx,DWORD PTR[108+r13] + lea r13,QWORD PTR[256+r13] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi add ebx,r12d xor ecx,eax - add ebp,DWORD PTR[((-128))+r13] - lea ebp,DWORD PTR[rbp*1+rcx] + add ebp,DWORD PTR[((-128))+r13] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx add ebp,r12d xor ebx,esi - add eax,DWORD PTR[((-124))+r13] - lea eax,DWORD PTR[rbx*1+rax] + add eax,DWORD PTR[((-124))+r13] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx add eax,r12d xor ebp,edx - add esi,DWORD PTR[((-120))+r13] - lea esi,DWORD PTR[rbp*1+rsi] + add esi,DWORD PTR[((-120))+r13] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx add esi,r12d xor eax,ecx - add edx,DWORD PTR[((-116))+r13] - lea edx,DWORD PTR[rax*1+rdx] + add edx,DWORD PTR[((-116))+r13] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 xor esi,ebp add edx,r12d xor esi,ebx - add ecx,DWORD PTR[((-96))+r13] - lea ecx,DWORD PTR[rsi*1+rcx] + add ecx,DWORD PTR[((-96))+r13] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 xor edx,eax add ecx,r12d xor edx,ebp - add ebx,DWORD PTR[((-92))+r13] - lea ebx,DWORD PTR[rdx*1+rbx] + add ebx,DWORD PTR[((-92))+r13] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi add ebx,r12d xor ecx,eax - add ebp,DWORD PTR[((-88))+r13] - lea ebp,DWORD PTR[rbp*1+rcx] + add ebp,DWORD PTR[((-88))+r13] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx add ebp,r12d xor ebx,esi - add eax,DWORD PTR[((-84))+r13] - lea eax,DWORD PTR[rbx*1+rax] + add eax,DWORD PTR[((-84))+r13] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx add eax,r12d xor ebp,edx - add esi,DWORD PTR[((-64))+r13] - lea esi,DWORD PTR[rbp*1+rsi] + add esi,DWORD PTR[((-64))+r13] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx add esi,r12d xor eax,ecx - add edx,DWORD PTR[((-60))+r13] - lea edx,DWORD PTR[rax*1+rdx] + add edx,DWORD PTR[((-60))+r13] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 xor esi,ebp add edx,r12d xor esi,ebx - add ecx,DWORD PTR[((-56))+r13] - lea ecx,DWORD PTR[rsi*1+rcx] + add ecx,DWORD PTR[((-56))+r13] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 xor edx,eax add ecx,r12d xor edx,ebp - add ebx,DWORD PTR[((-52))+r13] - lea ebx,DWORD PTR[rdx*1+rbx] + add ebx,DWORD PTR[((-52))+r13] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi add ebx,r12d xor ecx,eax - add ebp,DWORD PTR[((-32))+r13] - lea ebp,DWORD PTR[rbp*1+rcx] + add ebp,DWORD PTR[((-32))+r13] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx add ebp,r12d xor ebx,esi - add eax,DWORD PTR[((-28))+r13] - lea eax,DWORD PTR[rbx*1+rax] + add eax,DWORD PTR[((-28))+r13] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx add eax,r12d xor ebp,edx - add esi,DWORD PTR[((-24))+r13] - lea esi,DWORD PTR[rbp*1+rsi] + add esi,DWORD PTR[((-24))+r13] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx add esi,r12d xor eax,ecx - add edx,DWORD PTR[((-20))+r13] - lea edx,DWORD PTR[rax*1+rdx] + add edx,DWORD PTR[((-20))+r13] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 add edx,r12d - lea r13,QWORD PTR[128+r9] - lea rdi,QWORD PTR[128+r9] + lea r13,QWORD PTR[128+r9] + lea rdi,QWORD PTR[128+r9] cmp r13,r10 cmovae r13,r9 - add edx,DWORD PTR[r8] - add esi,DWORD PTR[4+r8] - add ebp,DWORD PTR[8+r8] - mov DWORD PTR[r8],edx - add ebx,DWORD PTR[12+r8] - mov DWORD PTR[4+r8],esi + add edx,DWORD PTR[r8] + add esi,DWORD PTR[4+r8] + add ebp,DWORD PTR[8+r8] + mov DWORD PTR[r8],edx + add ebx,DWORD PTR[12+r8] + mov DWORD PTR[4+r8],esi mov eax,edx - add ecx,DWORD PTR[16+r8] + add ecx,DWORD PTR[16+r8] mov r12d,ebp - mov DWORD PTR[8+r8],ebp + mov DWORD PTR[8+r8],ebp mov edx,ebx - mov DWORD PTR[12+r8],ebx + mov DWORD PTR[12+r8],ebx mov ebp,esi - mov DWORD PTR[16+r8],ecx + mov DWORD PTR[16+r8],ecx mov esi,ecx mov ecx,r12d cmp r9,r10 - je $L$done_avx2 - vmovdqu ymm6,YMMWORD PTR[64+r14] + je $L$done_avx2 + vmovdqu ymm6,YMMWORD PTR[64+r14] cmp rdi,r10 - ja $L$ast_avx2 - - vmovdqu xmm0,XMMWORD PTR[((-64))+rdi] - vmovdqu xmm1,XMMWORD PTR[((-48))+rdi] - vmovdqu xmm2,XMMWORD PTR[((-32))+rdi] - vmovdqu xmm3,XMMWORD PTR[((-16))+rdi] - vinserti128 ymm0,ymm0,XMMWORD PTR[r13],1 - vinserti128 ymm1,ymm1,XMMWORD PTR[16+r13],1 - vinserti128 ymm2,ymm2,XMMWORD PTR[32+r13],1 - vinserti128 ymm3,ymm3,XMMWORD PTR[48+r13],1 - jmp $L$ast_avx2 + ja $L$ast_avx2 + + vmovdqu xmm0,XMMWORD PTR[((-64))+rdi] + vmovdqu xmm1,XMMWORD PTR[((-48))+rdi] + vmovdqu xmm2,XMMWORD PTR[((-32))+rdi] + vmovdqu xmm3,XMMWORD PTR[((-16))+rdi] + vinserti128 ymm0,ymm0,XMMWORD PTR[r13],1 + vinserti128 ymm1,ymm1,XMMWORD PTR[16+r13],1 + vinserti128 ymm2,ymm2,XMMWORD PTR[32+r13],1 + vinserti128 ymm3,ymm3,XMMWORD PTR[48+r13],1 + jmp $L$ast_avx2 ALIGN 32 -$L$ast_avx2:: - lea r13,QWORD PTR[((128+16))+rsp] +$L$ast_avx2:: + lea r13,QWORD PTR[((128+16))+rsp] rorx ebx,ebp,2 andn edi,ebp,edx and ebp,ecx xor ebp,edi sub r9,-128 - add esi,DWORD PTR[((-128))+r13] + add esi,DWORD PTR[((-128))+r13] andn edi,eax,ecx add esi,ebp rorx r12d,eax,27 @@ -4786,7 +4786,7 @@ $L$ast_avx2:: and eax,ebx add esi,r12d xor eax,edi - add edx,DWORD PTR[((-124))+r13] + add edx,DWORD PTR[((-124))+r13] andn edi,esi,ebx add edx,eax rorx r12d,esi,27 @@ -4794,7 +4794,7 @@ $L$ast_avx2:: and esi,ebp add edx,r12d xor esi,edi - add ecx,DWORD PTR[((-120))+r13] + add ecx,DWORD PTR[((-120))+r13] andn edi,edx,ebp add ecx,esi rorx r12d,edx,27 @@ -4802,7 +4802,7 @@ $L$ast_avx2:: and edx,eax add ecx,r12d xor edx,edi - add ebx,DWORD PTR[((-116))+r13] + add ebx,DWORD PTR[((-116))+r13] andn edi,ecx,eax add ebx,edx rorx r12d,ecx,27 @@ -4810,7 +4810,7 @@ $L$ast_avx2:: and ecx,esi add ebx,r12d xor ecx,edi - add ebp,DWORD PTR[((-96))+r13] + add ebp,DWORD PTR[((-96))+r13] andn edi,ebx,esi add ebp,ecx rorx r12d,ebx,27 @@ -4818,7 +4818,7 @@ $L$ast_avx2:: and ebx,edx add ebp,r12d xor ebx,edi - add eax,DWORD PTR[((-92))+r13] + add eax,DWORD PTR[((-92))+r13] andn edi,ebp,edx add eax,ebx rorx r12d,ebp,27 @@ -4826,7 +4826,7 @@ $L$ast_avx2:: and ebp,ecx add eax,r12d xor ebp,edi - add esi,DWORD PTR[((-88))+r13] + add esi,DWORD PTR[((-88))+r13] andn edi,eax,ecx add esi,ebp rorx r12d,eax,27 @@ -4834,7 +4834,7 @@ $L$ast_avx2:: and eax,ebx add esi,r12d xor eax,edi - add edx,DWORD PTR[((-84))+r13] + add edx,DWORD PTR[((-84))+r13] andn edi,esi,ebx add edx,eax rorx r12d,esi,27 @@ -4842,7 +4842,7 @@ $L$ast_avx2:: and esi,ebp add edx,r12d xor esi,edi - add ecx,DWORD PTR[((-64))+r13] + add ecx,DWORD PTR[((-64))+r13] andn edi,edx,ebp add ecx,esi rorx r12d,edx,27 @@ -4850,7 +4850,7 @@ $L$ast_avx2:: and edx,eax add ecx,r12d xor edx,edi - add ebx,DWORD PTR[((-60))+r13] + add ebx,DWORD PTR[((-60))+r13] andn edi,ecx,eax add ebx,edx rorx r12d,ecx,27 @@ -4858,7 +4858,7 @@ $L$ast_avx2:: and ecx,esi add ebx,r12d xor ecx,edi - add ebp,DWORD PTR[((-56))+r13] + add ebp,DWORD PTR[((-56))+r13] andn edi,ebx,esi add ebp,ecx rorx r12d,ebx,27 @@ -4866,7 +4866,7 @@ $L$ast_avx2:: and ebx,edx add ebp,r12d xor ebx,edi - add eax,DWORD PTR[((-52))+r13] + add eax,DWORD PTR[((-52))+r13] andn edi,ebp,edx add eax,ebx rorx r12d,ebp,27 @@ -4874,7 +4874,7 @@ $L$ast_avx2:: and ebp,ecx add eax,r12d xor ebp,edi - add esi,DWORD PTR[((-32))+r13] + add esi,DWORD PTR[((-32))+r13] andn edi,eax,ecx add esi,ebp rorx r12d,eax,27 @@ -4882,7 +4882,7 @@ $L$ast_avx2:: and eax,ebx add esi,r12d xor eax,edi - add edx,DWORD PTR[((-28))+r13] + add edx,DWORD PTR[((-28))+r13] andn edi,esi,ebx add edx,eax rorx r12d,esi,27 @@ -4890,7 +4890,7 @@ $L$ast_avx2:: and esi,ebp add edx,r12d xor esi,edi - add ecx,DWORD PTR[((-24))+r13] + add ecx,DWORD PTR[((-24))+r13] andn edi,edx,ebp add ecx,esi rorx r12d,edx,27 @@ -4898,7 +4898,7 @@ $L$ast_avx2:: and edx,eax add ecx,r12d xor edx,edi - add ebx,DWORD PTR[((-20))+r13] + add ebx,DWORD PTR[((-20))+r13] andn edi,ecx,eax add ebx,edx rorx r12d,ecx,27 @@ -4906,7 +4906,7 @@ $L$ast_avx2:: and ecx,esi add ebx,r12d xor ecx,edi - add ebp,DWORD PTR[r13] + add ebp,DWORD PTR[r13] andn edi,ebx,esi add ebp,ecx rorx r12d,ebx,27 @@ -4914,7 +4914,7 @@ $L$ast_avx2:: and ebx,edx add ebp,r12d xor ebx,edi - add eax,DWORD PTR[4+r13] + add eax,DWORD PTR[4+r13] andn edi,ebp,edx add eax,ebx rorx r12d,ebp,27 @@ -4922,7 +4922,7 @@ $L$ast_avx2:: and ebp,ecx add eax,r12d xor ebp,edi - add esi,DWORD PTR[8+r13] + add esi,DWORD PTR[8+r13] andn edi,eax,ecx add esi,ebp rorx r12d,eax,27 @@ -4930,80 +4930,80 @@ $L$ast_avx2:: and eax,ebx add esi,r12d xor eax,edi - add edx,DWORD PTR[12+r13] - lea edx,DWORD PTR[rax*1+rdx] + add edx,DWORD PTR[12+r13] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 xor esi,ebp add edx,r12d xor esi,ebx - add ecx,DWORD PTR[32+r13] - lea ecx,DWORD PTR[rsi*1+rcx] + add ecx,DWORD PTR[32+r13] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 xor edx,eax add ecx,r12d xor edx,ebp - add ebx,DWORD PTR[36+r13] - lea ebx,DWORD PTR[rdx*1+rbx] + add ebx,DWORD PTR[36+r13] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi add ebx,r12d xor ecx,eax - add ebp,DWORD PTR[40+r13] - lea ebp,DWORD PTR[rbp*1+rcx] + add ebp,DWORD PTR[40+r13] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx add ebp,r12d xor ebx,esi - add eax,DWORD PTR[44+r13] - lea eax,DWORD PTR[rbx*1+rax] + add eax,DWORD PTR[44+r13] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx add eax,r12d xor ebp,edx - add esi,DWORD PTR[64+r13] - lea esi,DWORD PTR[rbp*1+rsi] + add esi,DWORD PTR[64+r13] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx add esi,r12d xor eax,ecx - vmovdqu ymm11,YMMWORD PTR[((-64))+r14] + vmovdqu ymm11,YMMWORD PTR[((-64))+r14] vpshufb ymm0,ymm0,ymm6 - add edx,DWORD PTR[68+r13] - lea edx,DWORD PTR[rax*1+rdx] + add edx,DWORD PTR[68+r13] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 xor esi,ebp add edx,r12d xor esi,ebx - add ecx,DWORD PTR[72+r13] - lea ecx,DWORD PTR[rsi*1+rcx] + add ecx,DWORD PTR[72+r13] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 xor edx,eax add ecx,r12d xor edx,ebp - add ebx,DWORD PTR[76+r13] - lea ebx,DWORD PTR[rdx*1+rbx] + add ebx,DWORD PTR[76+r13] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi add ebx,r12d xor ecx,eax - add ebp,DWORD PTR[96+r13] - lea ebp,DWORD PTR[rbp*1+rcx] + add ebp,DWORD PTR[96+r13] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx add ebp,r12d xor ebx,esi - add eax,DWORD PTR[100+r13] - lea eax,DWORD PTR[rbx*1+rax] + add eax,DWORD PTR[100+r13] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx @@ -5011,248 +5011,248 @@ $L$ast_avx2:: xor ebp,edx vpshufb ymm1,ymm1,ymm6 vpaddd ymm8,ymm0,ymm11 - add esi,DWORD PTR[104+r13] - lea esi,DWORD PTR[rbp*1+rsi] + add esi,DWORD PTR[104+r13] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx add esi,r12d xor eax,ecx - add edx,DWORD PTR[108+r13] - lea r13,QWORD PTR[256+r13] - lea edx,DWORD PTR[rax*1+rdx] + add edx,DWORD PTR[108+r13] + lea r13,QWORD PTR[256+r13] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 xor esi,ebp add edx,r12d xor esi,ebx - add ecx,DWORD PTR[((-128))+r13] - lea ecx,DWORD PTR[rsi*1+rcx] + add ecx,DWORD PTR[((-128))+r13] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 xor edx,eax add ecx,r12d xor edx,ebp - add ebx,DWORD PTR[((-124))+r13] - lea ebx,DWORD PTR[rdx*1+rbx] + add ebx,DWORD PTR[((-124))+r13] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi add ebx,r12d xor ecx,eax - add ebp,DWORD PTR[((-120))+r13] - lea ebp,DWORD PTR[rbp*1+rcx] + add ebp,DWORD PTR[((-120))+r13] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx add ebp,r12d xor ebx,esi - vmovdqu YMMWORD PTR[rsp],ymm8 + vmovdqu YMMWORD PTR[rsp],ymm8 vpshufb ymm2,ymm2,ymm6 vpaddd ymm9,ymm1,ymm11 - add eax,DWORD PTR[((-116))+r13] - lea eax,DWORD PTR[rbx*1+rax] + add eax,DWORD PTR[((-116))+r13] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx add eax,r12d xor ebp,edx - add esi,DWORD PTR[((-96))+r13] - lea esi,DWORD PTR[rbp*1+rsi] + add esi,DWORD PTR[((-96))+r13] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx add esi,r12d xor eax,ecx - add edx,DWORD PTR[((-92))+r13] - lea edx,DWORD PTR[rax*1+rdx] + add edx,DWORD PTR[((-92))+r13] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 xor esi,ebp add edx,r12d xor esi,ebx - add ecx,DWORD PTR[((-88))+r13] - lea ecx,DWORD PTR[rsi*1+rcx] + add ecx,DWORD PTR[((-88))+r13] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 xor edx,eax add ecx,r12d xor edx,ebp - add ebx,DWORD PTR[((-84))+r13] + add ebx,DWORD PTR[((-84))+r13] mov edi,esi xor edi,eax - lea ebx,DWORD PTR[rdx*1+rbx] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi add ebx,r12d and ecx,edi - vmovdqu YMMWORD PTR[32+rsp],ymm9 + vmovdqu YMMWORD PTR[32+rsp],ymm9 vpshufb ymm3,ymm3,ymm6 vpaddd ymm6,ymm2,ymm11 - add ebp,DWORD PTR[((-64))+r13] + add ebp,DWORD PTR[((-64))+r13] xor ecx,esi mov edi,edx xor edi,esi - lea ebp,DWORD PTR[rbp*1+rcx] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx add ebp,r12d and ebx,edi - add eax,DWORD PTR[((-60))+r13] + add eax,DWORD PTR[((-60))+r13] xor ebx,edx mov edi,ecx xor edi,edx - lea eax,DWORD PTR[rbx*1+rax] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx add eax,r12d and ebp,edi - add esi,DWORD PTR[((-56))+r13] + add esi,DWORD PTR[((-56))+r13] xor ebp,ecx mov edi,ebx xor edi,ecx - lea esi,DWORD PTR[rbp*1+rsi] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx add esi,r12d and eax,edi - add edx,DWORD PTR[((-52))+r13] + add edx,DWORD PTR[((-52))+r13] xor eax,ebx mov edi,ebp xor edi,ebx - lea edx,DWORD PTR[rax*1+rdx] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 xor esi,ebp add edx,r12d and esi,edi - add ecx,DWORD PTR[((-32))+r13] + add ecx,DWORD PTR[((-32))+r13] xor esi,ebp mov edi,eax xor edi,ebp - lea ecx,DWORD PTR[rsi*1+rcx] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 xor edx,eax add ecx,r12d and edx,edi - jmp $L$align32_3 + jmp $L$align32_3 ALIGN 32 -$L$align32_3:: - vmovdqu YMMWORD PTR[64+rsp],ymm6 +$L$align32_3:: + vmovdqu YMMWORD PTR[64+rsp],ymm6 vpaddd ymm7,ymm3,ymm11 - add ebx,DWORD PTR[((-28))+r13] + add ebx,DWORD PTR[((-28))+r13] xor edx,eax mov edi,esi xor edi,eax - lea ebx,DWORD PTR[rdx*1+rbx] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi add ebx,r12d and ecx,edi - add ebp,DWORD PTR[((-24))+r13] + add ebp,DWORD PTR[((-24))+r13] xor ecx,esi mov edi,edx xor edi,esi - lea ebp,DWORD PTR[rbp*1+rcx] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx add ebp,r12d and ebx,edi - add eax,DWORD PTR[((-20))+r13] + add eax,DWORD PTR[((-20))+r13] xor ebx,edx mov edi,ecx xor edi,edx - lea eax,DWORD PTR[rbx*1+rax] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx add eax,r12d and ebp,edi - add esi,DWORD PTR[r13] + add esi,DWORD PTR[r13] xor ebp,ecx mov edi,ebx xor edi,ecx - lea esi,DWORD PTR[rbp*1+rsi] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx add esi,r12d and eax,edi - add edx,DWORD PTR[4+r13] + add edx,DWORD PTR[4+r13] xor eax,ebx mov edi,ebp xor edi,ebx - lea edx,DWORD PTR[rax*1+rdx] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 xor esi,ebp add edx,r12d and esi,edi - vmovdqu YMMWORD PTR[96+rsp],ymm7 - add ecx,DWORD PTR[8+r13] + vmovdqu YMMWORD PTR[96+rsp],ymm7 + add ecx,DWORD PTR[8+r13] xor esi,ebp mov edi,eax xor edi,ebp - lea ecx,DWORD PTR[rsi*1+rcx] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 xor edx,eax add ecx,r12d and edx,edi - add ebx,DWORD PTR[12+r13] + add ebx,DWORD PTR[12+r13] xor edx,eax mov edi,esi xor edi,eax - lea ebx,DWORD PTR[rdx*1+rbx] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi add ebx,r12d and ecx,edi - add ebp,DWORD PTR[32+r13] + add ebp,DWORD PTR[32+r13] xor ecx,esi mov edi,edx xor edi,esi - lea ebp,DWORD PTR[rbp*1+rcx] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx add ebp,r12d and ebx,edi - add eax,DWORD PTR[36+r13] + add eax,DWORD PTR[36+r13] xor ebx,edx mov edi,ecx xor edi,edx - lea eax,DWORD PTR[rbx*1+rax] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx add eax,r12d and ebp,edi - add esi,DWORD PTR[40+r13] + add esi,DWORD PTR[40+r13] xor ebp,ecx mov edi,ebx xor edi,ecx - lea esi,DWORD PTR[rbp*1+rsi] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx add esi,r12d and eax,edi vpalignr ymm4,ymm1,ymm0,8 - add edx,DWORD PTR[44+r13] + add edx,DWORD PTR[44+r13] xor eax,ebx mov edi,ebp xor edi,ebx vpsrldq ymm8,ymm3,4 - lea edx,DWORD PTR[rax*1+rdx] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 vpxor ymm4,ymm4,ymm0 @@ -5261,12 +5261,12 @@ $L$align32_3:: add edx,r12d vpxor ymm4,ymm4,ymm8 and esi,edi - add ecx,DWORD PTR[64+r13] + add ecx,DWORD PTR[64+r13] xor esi,ebp mov edi,eax vpsrld ymm8,ymm4,31 xor edi,ebp - lea ecx,DWORD PTR[rsi*1+rcx] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 vpslldq ymm10,ymm4,12 vpaddd ymm4,ymm4,ymm4 @@ -5278,40 +5278,40 @@ $L$align32_3:: and edx,edi vpslld ymm10,ymm10,2 vpxor ymm4,ymm4,ymm9 - add ebx,DWORD PTR[68+r13] + add ebx,DWORD PTR[68+r13] xor edx,eax vpxor ymm4,ymm4,ymm10 mov edi,esi xor edi,eax - lea ebx,DWORD PTR[rdx*1+rbx] + lea ebx,DWORD PTR[rdx*1+rbx] vpaddd ymm9,ymm4,ymm11 rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi - vmovdqu YMMWORD PTR[128+rsp],ymm9 + vmovdqu YMMWORD PTR[128+rsp],ymm9 add ebx,r12d and ecx,edi - add ebp,DWORD PTR[72+r13] + add ebp,DWORD PTR[72+r13] xor ecx,esi mov edi,edx xor edi,esi - lea ebp,DWORD PTR[rbp*1+rcx] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx add ebp,r12d and ebx,edi - add eax,DWORD PTR[76+r13] + add eax,DWORD PTR[76+r13] xor ebx,edx - lea eax,DWORD PTR[rbx*1+rax] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx add eax,r12d xor ebp,edx vpalignr ymm5,ymm2,ymm1,8 - add esi,DWORD PTR[96+r13] - lea esi,DWORD PTR[rbp*1+rsi] + add esi,DWORD PTR[96+r13] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 vpsrldq ymm8,ymm4,4 @@ -5320,18 +5320,18 @@ $L$align32_3:: xor eax,ecx vpxor ymm5,ymm5,ymm1 vpxor ymm8,ymm8,ymm3 - add edx,DWORD PTR[100+r13] - lea edx,DWORD PTR[rax*1+rdx] + add edx,DWORD PTR[100+r13] + lea edx,DWORD PTR[rax*1+rdx] vpxor ymm5,ymm5,ymm8 rorx r12d,esi,27 rorx eax,esi,2 xor esi,ebp add edx,r12d vpsrld ymm8,ymm5,31 - vmovdqu ymm11,YMMWORD PTR[((-32))+r14] + vmovdqu ymm11,YMMWORD PTR[((-32))+r14] xor esi,ebx - add ecx,DWORD PTR[104+r13] - lea ecx,DWORD PTR[rsi*1+rcx] + add ecx,DWORD PTR[104+r13] + lea ecx,DWORD PTR[rsi*1+rcx] vpslldq ymm10,ymm5,12 vpaddd ymm5,ymm5,ymm5 rorx r12d,edx,27 @@ -5343,27 +5343,27 @@ $L$align32_3:: vpslld ymm10,ymm10,2 vpxor ymm5,ymm5,ymm9 xor edx,ebp - add ebx,DWORD PTR[108+r13] - lea r13,QWORD PTR[256+r13] + add ebx,DWORD PTR[108+r13] + lea r13,QWORD PTR[256+r13] vpxor ymm5,ymm5,ymm10 - lea ebx,DWORD PTR[rdx*1+rbx] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 vpaddd ymm9,ymm5,ymm11 xor ecx,esi add ebx,r12d xor ecx,eax - vmovdqu YMMWORD PTR[160+rsp],ymm9 - add ebp,DWORD PTR[((-128))+r13] - lea ebp,DWORD PTR[rbp*1+rcx] + vmovdqu YMMWORD PTR[160+rsp],ymm9 + add ebp,DWORD PTR[((-128))+r13] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx add ebp,r12d xor ebx,esi vpalignr ymm6,ymm3,ymm2,8 - add eax,DWORD PTR[((-124))+r13] - lea eax,DWORD PTR[rbx*1+rax] + add eax,DWORD PTR[((-124))+r13] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 vpsrldq ymm8,ymm5,4 @@ -5372,8 +5372,8 @@ $L$align32_3:: xor ebp,edx vpxor ymm6,ymm6,ymm2 vpxor ymm8,ymm8,ymm4 - add esi,DWORD PTR[((-120))+r13] - lea esi,DWORD PTR[rbp*1+rsi] + add esi,DWORD PTR[((-120))+r13] + lea esi,DWORD PTR[rbp*1+rsi] vpxor ymm6,ymm6,ymm8 rorx r12d,eax,27 rorx ebp,eax,2 @@ -5381,8 +5381,8 @@ $L$align32_3:: add esi,r12d vpsrld ymm8,ymm6,31 xor eax,ecx - add edx,DWORD PTR[((-116))+r13] - lea edx,DWORD PTR[rax*1+rdx] + add edx,DWORD PTR[((-116))+r13] + lea edx,DWORD PTR[rax*1+rdx] vpslldq ymm10,ymm6,12 vpaddd ymm6,ymm6,ymm6 rorx r12d,esi,27 @@ -5394,26 +5394,26 @@ $L$align32_3:: vpslld ymm10,ymm10,2 vpxor ymm6,ymm6,ymm9 xor esi,ebx - add ecx,DWORD PTR[((-96))+r13] + add ecx,DWORD PTR[((-96))+r13] vpxor ymm6,ymm6,ymm10 - lea ecx,DWORD PTR[rsi*1+rcx] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 vpaddd ymm9,ymm6,ymm11 xor edx,eax add ecx,r12d xor edx,ebp - vmovdqu YMMWORD PTR[192+rsp],ymm9 - add ebx,DWORD PTR[((-92))+r13] - lea ebx,DWORD PTR[rdx*1+rbx] + vmovdqu YMMWORD PTR[192+rsp],ymm9 + add ebx,DWORD PTR[((-92))+r13] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi add ebx,r12d xor ecx,eax vpalignr ymm7,ymm4,ymm3,8 - add ebp,DWORD PTR[((-88))+r13] - lea ebp,DWORD PTR[rbp*1+rcx] + add ebp,DWORD PTR[((-88))+r13] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 vpsrldq ymm8,ymm6,4 @@ -5422,8 +5422,8 @@ $L$align32_3:: xor ebx,esi vpxor ymm7,ymm7,ymm3 vpxor ymm8,ymm8,ymm5 - add eax,DWORD PTR[((-84))+r13] - lea eax,DWORD PTR[rbx*1+rax] + add eax,DWORD PTR[((-84))+r13] + lea eax,DWORD PTR[rbx*1+rax] vpxor ymm7,ymm7,ymm8 rorx r12d,ebp,27 rorx ebx,ebp,2 @@ -5431,8 +5431,8 @@ $L$align32_3:: add eax,r12d vpsrld ymm8,ymm7,31 xor ebp,edx - add esi,DWORD PTR[((-64))+r13] - lea esi,DWORD PTR[rbp*1+rsi] + add esi,DWORD PTR[((-64))+r13] + lea esi,DWORD PTR[rbp*1+rsi] vpslldq ymm10,ymm7,12 vpaddd ymm7,ymm7,ymm7 rorx r12d,eax,27 @@ -5444,131 +5444,131 @@ $L$align32_3:: vpslld ymm10,ymm10,2 vpxor ymm7,ymm7,ymm9 xor eax,ecx - add edx,DWORD PTR[((-60))+r13] + add edx,DWORD PTR[((-60))+r13] vpxor ymm7,ymm7,ymm10 - lea edx,DWORD PTR[rax*1+rdx] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 rorx eax,esi,2 vpaddd ymm9,ymm7,ymm11 xor esi,ebp add edx,r12d xor esi,ebx - vmovdqu YMMWORD PTR[224+rsp],ymm9 - add ecx,DWORD PTR[((-56))+r13] - lea ecx,DWORD PTR[rsi*1+rcx] + vmovdqu YMMWORD PTR[224+rsp],ymm9 + add ecx,DWORD PTR[((-56))+r13] + lea ecx,DWORD PTR[rsi*1+rcx] rorx r12d,edx,27 rorx esi,edx,2 xor edx,eax add ecx,r12d xor edx,ebp - add ebx,DWORD PTR[((-52))+r13] - lea ebx,DWORD PTR[rdx*1+rbx] + add ebx,DWORD PTR[((-52))+r13] + lea ebx,DWORD PTR[rdx*1+rbx] rorx r12d,ecx,27 rorx edx,ecx,2 xor ecx,esi add ebx,r12d xor ecx,eax - add ebp,DWORD PTR[((-32))+r13] - lea ebp,DWORD PTR[rbp*1+rcx] + add ebp,DWORD PTR[((-32))+r13] + lea ebp,DWORD PTR[rbp*1+rcx] rorx r12d,ebx,27 rorx ecx,ebx,2 xor ebx,edx add ebp,r12d xor ebx,esi - add eax,DWORD PTR[((-28))+r13] - lea eax,DWORD PTR[rbx*1+rax] + add eax,DWORD PTR[((-28))+r13] + lea eax,DWORD PTR[rbx*1+rax] rorx r12d,ebp,27 rorx ebx,ebp,2 xor ebp,ecx add eax,r12d xor ebp,edx - add esi,DWORD PTR[((-24))+r13] - lea esi,DWORD PTR[rbp*1+rsi] + add esi,DWORD PTR[((-24))+r13] + lea esi,DWORD PTR[rbp*1+rsi] rorx r12d,eax,27 rorx ebp,eax,2 xor eax,ebx add esi,r12d xor eax,ecx - add edx,DWORD PTR[((-20))+r13] - lea edx,DWORD PTR[rax*1+rdx] + add edx,DWORD PTR[((-20))+r13] + lea edx,DWORD PTR[rax*1+rdx] rorx r12d,esi,27 add edx,r12d - lea r13,QWORD PTR[128+rsp] + lea r13,QWORD PTR[128+rsp] - add edx,DWORD PTR[r8] - add esi,DWORD PTR[4+r8] - add ebp,DWORD PTR[8+r8] - mov DWORD PTR[r8],edx - add ebx,DWORD PTR[12+r8] - mov DWORD PTR[4+r8],esi + add edx,DWORD PTR[r8] + add esi,DWORD PTR[4+r8] + add ebp,DWORD PTR[8+r8] + mov DWORD PTR[r8],edx + add ebx,DWORD PTR[12+r8] + mov DWORD PTR[4+r8],esi mov eax,edx - add ecx,DWORD PTR[16+r8] + add ecx,DWORD PTR[16+r8] mov r12d,ebp - mov DWORD PTR[8+r8],ebp + mov DWORD PTR[8+r8],ebp mov edx,ebx - mov DWORD PTR[12+r8],ebx + mov DWORD PTR[12+r8],ebx mov ebp,esi - mov DWORD PTR[16+r8],ecx + mov DWORD PTR[16+r8],ecx mov esi,ecx mov ecx,r12d cmp r9,r10 - jbe $L$oop_avx2 + jbe $L$oop_avx2 -$L$done_avx2:: +$L$done_avx2:: vzeroupper - movaps xmm6,XMMWORD PTR[((-40-96))+r11] - movaps xmm7,XMMWORD PTR[((-40-80))+r11] - movaps xmm8,XMMWORD PTR[((-40-64))+r11] - movaps xmm9,XMMWORD PTR[((-40-48))+r11] - movaps xmm10,XMMWORD PTR[((-40-32))+r11] - movaps xmm11,XMMWORD PTR[((-40-16))+r11] - mov r14,QWORD PTR[((-40))+r11] + movaps xmm6,XMMWORD PTR[((-40-96))+r11] + movaps xmm7,XMMWORD PTR[((-40-80))+r11] + movaps xmm8,XMMWORD PTR[((-40-64))+r11] + movaps xmm9,XMMWORD PTR[((-40-48))+r11] + movaps xmm10,XMMWORD PTR[((-40-32))+r11] + movaps xmm11,XMMWORD PTR[((-40-16))+r11] + mov r14,QWORD PTR[((-40))+r11] - mov r13,QWORD PTR[((-32))+r11] + mov r13,QWORD PTR[((-32))+r11] - mov r12,QWORD PTR[((-24))+r11] + mov r12,QWORD PTR[((-24))+r11] - mov rbp,QWORD PTR[((-16))+r11] + mov rbp,QWORD PTR[((-16))+r11] - mov rbx,QWORD PTR[((-8))+r11] + mov rbx,QWORD PTR[((-8))+r11] - lea rsp,QWORD PTR[r11] + lea rsp,QWORD PTR[r11] -$L$epilogue_avx2:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_avx2:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_block_data_order_avx2:: -sha1_block_data_order_avx2 ENDP +$L$SEH_end_sha1_block_data_order_avx2:: +sha1_block_data_order_avx2 ENDP 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 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 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:NEAR ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -5580,37 +5580,37 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - lea r10,QWORD PTR[$L$prologue] + lea r10,QWORD PTR[$L$prologue] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - lea r10,QWORD PTR[$L$epilogue] + lea r10,QWORD PTR[$L$epilogue] cmp rbx,r10 - jae $L$common_seh_tail + jae $L$common_seh_tail - mov rax,QWORD PTR[64+rax] + mov rax,QWORD PTR[64+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 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 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 $L$common_seh_tail -se_handler ENDP + jmp $L$common_seh_tail +se_handler ENDP ALIGN 16 -shaext_handler PROC PRIVATE +shaext_handler PROC PRIVATE push rsi push rdi push rbx @@ -5622,27 +5622,27 @@ shaext_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - lea r10,QWORD PTR[$L$prologue_shaext] + lea r10,QWORD PTR[$L$prologue_shaext] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - lea r10,QWORD PTR[$L$epilogue_shaext] + lea r10,QWORD PTR[$L$epilogue_shaext] cmp rbx,r10 - jae $L$common_seh_tail + jae $L$common_seh_tail - lea rsi,QWORD PTR[((-8-64))+rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[((-8-64))+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,8 - DD 0a548f3fch + DD 0a548f3fch - jmp $L$common_seh_tail -shaext_handler ENDP + jmp $L$common_seh_tail +shaext_handler ENDP ALIGN 16 -ssse3_handler PROC PRIVATE +ssse3_handler PROC PRIVATE push rsi push rdi push rbx @@ -5654,65 +5654,65 @@ ssse3_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb $L$common_seh_tail - mov rax,QWORD PTR[208+r8] + mov rax,QWORD PTR[208+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail + jae $L$common_seh_tail - lea rsi,QWORD PTR[((-40-96))+rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[((-40-96))+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,12 - DD 0a548f3fch - - 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 - -$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 - - mov rdi,QWORD PTR[40+r9] + DD 0a548f3fch + + 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 + +$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 + + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -5726,47 +5726,47 @@ $L$common_seh_tail:: pop rdi pop rsi DB 0F3h,0C3h ;repret -ssse3_handler ENDP +ssse3_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY 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_shaext - DD imagerel $L$SEH_end_sha1_block_data_order_shaext - DD imagerel $L$SEH_info_sha1_block_data_order_shaext - 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 - DD imagerel $L$SEH_begin_sha1_block_data_order_avx - DD imagerel $L$SEH_end_sha1_block_data_order_avx - DD imagerel $L$SEH_info_sha1_block_data_order_avx - DD imagerel $L$SEH_begin_sha1_block_data_order_avx2 - DD imagerel $L$SEH_end_sha1_block_data_order_avx2 - DD imagerel $L$SEH_info_sha1_block_data_order_avx2 -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + 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_shaext + DD imagerel $L$SEH_end_sha1_block_data_order_shaext + DD imagerel $L$SEH_info_sha1_block_data_order_shaext + 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 + DD imagerel $L$SEH_begin_sha1_block_data_order_avx + DD imagerel $L$SEH_end_sha1_block_data_order_avx + DD imagerel $L$SEH_info_sha1_block_data_order_avx + DD imagerel $L$SEH_begin_sha1_block_data_order_avx2 + DD imagerel $L$SEH_end_sha1_block_data_order_avx2 + DD imagerel $L$SEH_info_sha1_block_data_order_avx2 +.pdata ENDS +.xdata SEGMENT READONLY 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_shaext:: + DD imagerel se_handler +$L$SEH_info_sha1_block_data_order_shaext:: DB 9,0,0,0 - DD imagerel shaext_handler -$L$SEH_info_sha1_block_data_order_ssse3:: + DD imagerel shaext_handler +$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 -$L$SEH_info_sha1_block_data_order_avx:: + DD imagerel ssse3_handler + DD imagerel $L$prologue_ssse3,imagerel $L$epilogue_ssse3 +$L$SEH_info_sha1_block_data_order_avx:: DB 9,0,0,0 - DD imagerel ssse3_handler - DD imagerel $L$prologue_avx,imagerel $L$epilogue_avx -$L$SEH_info_sha1_block_data_order_avx2:: + DD imagerel ssse3_handler + DD imagerel $L$prologue_avx,imagerel $L$epilogue_avx +$L$SEH_info_sha1_block_data_order_avx2:: DB 9,0,0,0 - DD imagerel ssse3_handler - DD imagerel $L$prologue_avx2,imagerel $L$epilogue_avx2 - -.xdata ENDS -END + DD imagerel ssse3_handler + DD imagerel $L$prologue_avx2,imagerel $L$epilogue_avx2 + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/sha/sha256-mb-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/sha/sha256-mb-x86_64.masm index 56a6ef2dde..1b2421d10a 100644 --- a/contrib/libs/openssl/asm/windows/crypto/sha/sha256-mb-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/sha/sha256-mb-x86_64.masm @@ -1,107 +1,107 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR +EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC sha256_multi_block +PUBLIC sha256_multi_block ALIGN 32 -sha256_multi_block PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha256_multi_block PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha256_multi_block:: +$L$SEH_begin_sha256_multi_block:: mov rdi,rcx mov rsi,rdx mov rdx,r8 - mov rcx,QWORD PTR[((OPENSSL_ia32cap_P+4))] + mov rcx,QWORD PTR[((OPENSSL_ia32cap_P+4))] bt rcx,61 - jc _shaext_shortcut + jc _shaext_shortcut test ecx,268435456 - jnz _avx_shortcut + jnz _avx_shortcut mov rax,rsp push rbx push rbp - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 - movaps XMMWORD PTR[(-120)+rax],xmm10 - movaps XMMWORD PTR[(-104)+rax],xmm11 - movaps XMMWORD PTR[(-88)+rax],xmm12 - movaps XMMWORD PTR[(-72)+rax],xmm13 - movaps XMMWORD PTR[(-56)+rax],xmm14 - movaps XMMWORD PTR[(-40)+rax],xmm15 + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 + movaps XMMWORD PTR[(-120)+rax],xmm10 + movaps XMMWORD PTR[(-104)+rax],xmm11 + movaps XMMWORD PTR[(-88)+rax],xmm12 + movaps XMMWORD PTR[(-72)+rax],xmm13 + movaps XMMWORD PTR[(-56)+rax],xmm14 + movaps XMMWORD PTR[(-40)+rax],xmm15 sub rsp,288 and rsp,-256 - mov QWORD PTR[272+rsp],rax + mov QWORD PTR[272+rsp],rax -$L$body:: - lea rbp,QWORD PTR[((K256+128))] - lea rbx,QWORD PTR[256+rsp] - lea rdi,QWORD PTR[128+rdi] +$L$body:: + lea rbp,QWORD PTR[((K256+128))] + lea rbx,QWORD PTR[256+rsp] + lea rdi,QWORD PTR[128+rdi] -$L$oop_grande:: - mov DWORD PTR[280+rsp],edx +$L$oop_grande:: + mov DWORD PTR[280+rsp],edx xor edx,edx - mov r8,QWORD PTR[rsi] - mov ecx,DWORD PTR[8+rsi] + mov r8,QWORD PTR[rsi] + mov ecx,DWORD PTR[8+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[rbx],ecx + mov DWORD PTR[rbx],ecx cmovle r8,rbp - mov r9,QWORD PTR[16+rsi] - mov ecx,DWORD PTR[24+rsi] + mov r9,QWORD PTR[16+rsi] + mov ecx,DWORD PTR[24+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[4+rbx],ecx + mov DWORD PTR[4+rbx],ecx cmovle r9,rbp - mov r10,QWORD PTR[32+rsi] - mov ecx,DWORD PTR[40+rsi] + mov r10,QWORD PTR[32+rsi] + mov ecx,DWORD PTR[40+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[8+rbx],ecx + mov DWORD PTR[8+rbx],ecx cmovle r10,rbp - mov r11,QWORD PTR[48+rsi] - mov ecx,DWORD PTR[56+rsi] + mov r11,QWORD PTR[48+rsi] + mov ecx,DWORD PTR[56+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[12+rbx],ecx + mov DWORD PTR[12+rbx],ecx cmovle r11,rbp test edx,edx - jz $L$done - - movdqu xmm8,XMMWORD PTR[((0-128))+rdi] - lea rax,QWORD PTR[128+rsp] - movdqu xmm9,XMMWORD PTR[((32-128))+rdi] - movdqu xmm10,XMMWORD PTR[((64-128))+rdi] - movdqu xmm11,XMMWORD PTR[((96-128))+rdi] - movdqu xmm12,XMMWORD PTR[((128-128))+rdi] - movdqu xmm13,XMMWORD PTR[((160-128))+rdi] - movdqu xmm14,XMMWORD PTR[((192-128))+rdi] - movdqu xmm15,XMMWORD PTR[((224-128))+rdi] - movdqu xmm6,XMMWORD PTR[$L$pbswap] - jmp $L$oop + jz $L$done + + movdqu xmm8,XMMWORD PTR[((0-128))+rdi] + lea rax,QWORD PTR[128+rsp] + movdqu xmm9,XMMWORD PTR[((32-128))+rdi] + movdqu xmm10,XMMWORD PTR[((64-128))+rdi] + movdqu xmm11,XMMWORD PTR[((96-128))+rdi] + movdqu xmm12,XMMWORD PTR[((128-128))+rdi] + movdqu xmm13,XMMWORD PTR[((160-128))+rdi] + movdqu xmm14,XMMWORD PTR[((192-128))+rdi] + movdqu xmm15,XMMWORD PTR[((224-128))+rdi] + movdqu xmm6,XMMWORD PTR[$L$pbswap] + jmp $L$oop ALIGN 32 -$L$oop:: +$L$oop:: movdqa xmm4,xmm10 pxor xmm4,xmm9 - movd xmm5,DWORD PTR[r8] - movd xmm0,DWORD PTR[r9] - movd xmm1,DWORD PTR[r10] - movd xmm2,DWORD PTR[r11] + movd xmm5,DWORD PTR[r8] + movd xmm0,DWORD PTR[r9] + movd xmm1,DWORD PTR[r10] + movd xmm2,DWORD PTR[r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -112,13 +112,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm12 pslld xmm2,7 - movdqa XMMWORD PTR[(0-128)+rax],xmm5 + movdqa XMMWORD PTR[(0-128)+rax],xmm5 paddd xmm5,xmm15 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[((-128))+rbp] + paddd xmm5,XMMWORD PTR[((-128))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -163,10 +163,10 @@ DB 102,15,56,0,238 paddd xmm15,xmm5 paddd xmm15,xmm7 - movd xmm5,DWORD PTR[4+r8] - movd xmm0,DWORD PTR[4+r9] - movd xmm1,DWORD PTR[4+r10] - movd xmm2,DWORD PTR[4+r11] + movd xmm5,DWORD PTR[4+r8] + movd xmm0,DWORD PTR[4+r9] + movd xmm1,DWORD PTR[4+r10] + movd xmm2,DWORD PTR[4+r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -177,13 +177,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm11 pslld xmm2,7 - movdqa XMMWORD PTR[(16-128)+rax],xmm5 + movdqa XMMWORD PTR[(16-128)+rax],xmm5 paddd xmm5,xmm14 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[((-96))+rbp] + paddd xmm5,XMMWORD PTR[((-96))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -228,10 +228,10 @@ DB 102,15,56,0,238 paddd xmm14,xmm5 paddd xmm14,xmm7 - movd xmm5,DWORD PTR[8+r8] - movd xmm0,DWORD PTR[8+r9] - movd xmm1,DWORD PTR[8+r10] - movd xmm2,DWORD PTR[8+r11] + movd xmm5,DWORD PTR[8+r8] + movd xmm0,DWORD PTR[8+r9] + movd xmm1,DWORD PTR[8+r10] + movd xmm2,DWORD PTR[8+r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -242,13 +242,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm10 pslld xmm2,7 - movdqa XMMWORD PTR[(32-128)+rax],xmm5 + movdqa XMMWORD PTR[(32-128)+rax],xmm5 paddd xmm5,xmm13 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[((-64))+rbp] + paddd xmm5,XMMWORD PTR[((-64))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -293,10 +293,10 @@ DB 102,15,56,0,238 paddd xmm13,xmm5 paddd xmm13,xmm7 - movd xmm5,DWORD PTR[12+r8] - movd xmm0,DWORD PTR[12+r9] - movd xmm1,DWORD PTR[12+r10] - movd xmm2,DWORD PTR[12+r11] + movd xmm5,DWORD PTR[12+r8] + movd xmm0,DWORD PTR[12+r9] + movd xmm1,DWORD PTR[12+r10] + movd xmm2,DWORD PTR[12+r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -307,13 +307,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm9 pslld xmm2,7 - movdqa XMMWORD PTR[(48-128)+rax],xmm5 + movdqa XMMWORD PTR[(48-128)+rax],xmm5 paddd xmm5,xmm12 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[((-32))+rbp] + paddd xmm5,XMMWORD PTR[((-32))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -358,10 +358,10 @@ DB 102,15,56,0,238 paddd xmm12,xmm5 paddd xmm12,xmm7 - movd xmm5,DWORD PTR[16+r8] - movd xmm0,DWORD PTR[16+r9] - movd xmm1,DWORD PTR[16+r10] - movd xmm2,DWORD PTR[16+r11] + movd xmm5,DWORD PTR[16+r8] + movd xmm0,DWORD PTR[16+r9] + movd xmm1,DWORD PTR[16+r10] + movd xmm2,DWORD PTR[16+r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -372,13 +372,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm8 pslld xmm2,7 - movdqa XMMWORD PTR[(64-128)+rax],xmm5 + movdqa XMMWORD PTR[(64-128)+rax],xmm5 paddd xmm5,xmm11 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[rbp] + paddd xmm5,XMMWORD PTR[rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -423,10 +423,10 @@ DB 102,15,56,0,238 paddd xmm11,xmm5 paddd xmm11,xmm7 - movd xmm5,DWORD PTR[20+r8] - movd xmm0,DWORD PTR[20+r9] - movd xmm1,DWORD PTR[20+r10] - movd xmm2,DWORD PTR[20+r11] + movd xmm5,DWORD PTR[20+r8] + movd xmm0,DWORD PTR[20+r9] + movd xmm1,DWORD PTR[20+r10] + movd xmm2,DWORD PTR[20+r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -437,13 +437,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm15 pslld xmm2,7 - movdqa XMMWORD PTR[(80-128)+rax],xmm5 + movdqa XMMWORD PTR[(80-128)+rax],xmm5 paddd xmm5,xmm10 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[32+rbp] + paddd xmm5,XMMWORD PTR[32+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -488,10 +488,10 @@ DB 102,15,56,0,238 paddd xmm10,xmm5 paddd xmm10,xmm7 - movd xmm5,DWORD PTR[24+r8] - movd xmm0,DWORD PTR[24+r9] - movd xmm1,DWORD PTR[24+r10] - movd xmm2,DWORD PTR[24+r11] + movd xmm5,DWORD PTR[24+r8] + movd xmm0,DWORD PTR[24+r9] + movd xmm1,DWORD PTR[24+r10] + movd xmm2,DWORD PTR[24+r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -502,13 +502,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm14 pslld xmm2,7 - movdqa XMMWORD PTR[(96-128)+rax],xmm5 + movdqa XMMWORD PTR[(96-128)+rax],xmm5 paddd xmm5,xmm9 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[64+rbp] + paddd xmm5,XMMWORD PTR[64+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -553,10 +553,10 @@ DB 102,15,56,0,238 paddd xmm9,xmm5 paddd xmm9,xmm7 - movd xmm5,DWORD PTR[28+r8] - movd xmm0,DWORD PTR[28+r9] - movd xmm1,DWORD PTR[28+r10] - movd xmm2,DWORD PTR[28+r11] + movd xmm5,DWORD PTR[28+r8] + movd xmm0,DWORD PTR[28+r9] + movd xmm1,DWORD PTR[28+r10] + movd xmm2,DWORD PTR[28+r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -567,13 +567,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm13 pslld xmm2,7 - movdqa XMMWORD PTR[(112-128)+rax],xmm5 + movdqa XMMWORD PTR[(112-128)+rax],xmm5 paddd xmm5,xmm8 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[96+rbp] + paddd xmm5,XMMWORD PTR[96+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -618,11 +618,11 @@ DB 102,15,56,0,238 paddd xmm8,xmm5 paddd xmm8,xmm7 - lea rbp,QWORD PTR[256+rbp] - movd xmm5,DWORD PTR[32+r8] - movd xmm0,DWORD PTR[32+r9] - movd xmm1,DWORD PTR[32+r10] - movd xmm2,DWORD PTR[32+r11] + lea rbp,QWORD PTR[256+rbp] + movd xmm5,DWORD PTR[32+r8] + movd xmm0,DWORD PTR[32+r9] + movd xmm1,DWORD PTR[32+r10] + movd xmm2,DWORD PTR[32+r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -633,13 +633,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm12 pslld xmm2,7 - movdqa XMMWORD PTR[(128-128)+rax],xmm5 + movdqa XMMWORD PTR[(128-128)+rax],xmm5 paddd xmm5,xmm15 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[((-128))+rbp] + paddd xmm5,XMMWORD PTR[((-128))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -684,10 +684,10 @@ DB 102,15,56,0,238 paddd xmm15,xmm5 paddd xmm15,xmm7 - movd xmm5,DWORD PTR[36+r8] - movd xmm0,DWORD PTR[36+r9] - movd xmm1,DWORD PTR[36+r10] - movd xmm2,DWORD PTR[36+r11] + movd xmm5,DWORD PTR[36+r8] + movd xmm0,DWORD PTR[36+r9] + movd xmm1,DWORD PTR[36+r10] + movd xmm2,DWORD PTR[36+r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -698,13 +698,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm11 pslld xmm2,7 - movdqa XMMWORD PTR[(144-128)+rax],xmm5 + movdqa XMMWORD PTR[(144-128)+rax],xmm5 paddd xmm5,xmm14 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[((-96))+rbp] + paddd xmm5,XMMWORD PTR[((-96))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -749,10 +749,10 @@ DB 102,15,56,0,238 paddd xmm14,xmm5 paddd xmm14,xmm7 - movd xmm5,DWORD PTR[40+r8] - movd xmm0,DWORD PTR[40+r9] - movd xmm1,DWORD PTR[40+r10] - movd xmm2,DWORD PTR[40+r11] + movd xmm5,DWORD PTR[40+r8] + movd xmm0,DWORD PTR[40+r9] + movd xmm1,DWORD PTR[40+r10] + movd xmm2,DWORD PTR[40+r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -763,13 +763,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm10 pslld xmm2,7 - movdqa XMMWORD PTR[(160-128)+rax],xmm5 + movdqa XMMWORD PTR[(160-128)+rax],xmm5 paddd xmm5,xmm13 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[((-64))+rbp] + paddd xmm5,XMMWORD PTR[((-64))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -814,10 +814,10 @@ DB 102,15,56,0,238 paddd xmm13,xmm5 paddd xmm13,xmm7 - movd xmm5,DWORD PTR[44+r8] - movd xmm0,DWORD PTR[44+r9] - movd xmm1,DWORD PTR[44+r10] - movd xmm2,DWORD PTR[44+r11] + movd xmm5,DWORD PTR[44+r8] + movd xmm0,DWORD PTR[44+r9] + movd xmm1,DWORD PTR[44+r10] + movd xmm2,DWORD PTR[44+r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -828,13 +828,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm9 pslld xmm2,7 - movdqa XMMWORD PTR[(176-128)+rax],xmm5 + movdqa XMMWORD PTR[(176-128)+rax],xmm5 paddd xmm5,xmm12 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[((-32))+rbp] + paddd xmm5,XMMWORD PTR[((-32))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -879,10 +879,10 @@ DB 102,15,56,0,238 paddd xmm12,xmm5 paddd xmm12,xmm7 - movd xmm5,DWORD PTR[48+r8] - movd xmm0,DWORD PTR[48+r9] - movd xmm1,DWORD PTR[48+r10] - movd xmm2,DWORD PTR[48+r11] + movd xmm5,DWORD PTR[48+r8] + movd xmm0,DWORD PTR[48+r9] + movd xmm1,DWORD PTR[48+r10] + movd xmm2,DWORD PTR[48+r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -893,13 +893,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm8 pslld xmm2,7 - movdqa XMMWORD PTR[(192-128)+rax],xmm5 + movdqa XMMWORD PTR[(192-128)+rax],xmm5 paddd xmm5,xmm11 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[rbp] + paddd xmm5,XMMWORD PTR[rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -944,10 +944,10 @@ DB 102,15,56,0,238 paddd xmm11,xmm5 paddd xmm11,xmm7 - movd xmm5,DWORD PTR[52+r8] - movd xmm0,DWORD PTR[52+r9] - movd xmm1,DWORD PTR[52+r10] - movd xmm2,DWORD PTR[52+r11] + movd xmm5,DWORD PTR[52+r8] + movd xmm0,DWORD PTR[52+r9] + movd xmm1,DWORD PTR[52+r10] + movd xmm2,DWORD PTR[52+r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -958,13 +958,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm15 pslld xmm2,7 - movdqa XMMWORD PTR[(208-128)+rax],xmm5 + movdqa XMMWORD PTR[(208-128)+rax],xmm5 paddd xmm5,xmm10 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[32+rbp] + paddd xmm5,XMMWORD PTR[32+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -1009,10 +1009,10 @@ DB 102,15,56,0,238 paddd xmm10,xmm5 paddd xmm10,xmm7 - movd xmm5,DWORD PTR[56+r8] - movd xmm0,DWORD PTR[56+r9] - movd xmm1,DWORD PTR[56+r10] - movd xmm2,DWORD PTR[56+r11] + movd xmm5,DWORD PTR[56+r8] + movd xmm0,DWORD PTR[56+r9] + movd xmm1,DWORD PTR[56+r10] + movd xmm2,DWORD PTR[56+r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -1023,13 +1023,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm14 pslld xmm2,7 - movdqa XMMWORD PTR[(224-128)+rax],xmm5 + movdqa XMMWORD PTR[(224-128)+rax],xmm5 paddd xmm5,xmm9 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[64+rbp] + paddd xmm5,XMMWORD PTR[64+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -1074,14 +1074,14 @@ DB 102,15,56,0,238 paddd xmm9,xmm5 paddd xmm9,xmm7 - movd xmm5,DWORD PTR[60+r8] - lea r8,QWORD PTR[64+r8] - movd xmm0,DWORD PTR[60+r9] - lea r9,QWORD PTR[64+r9] - movd xmm1,DWORD PTR[60+r10] - lea r10,QWORD PTR[64+r10] - movd xmm2,DWORD PTR[60+r11] - lea r11,QWORD PTR[64+r11] + movd xmm5,DWORD PTR[60+r8] + lea r8,QWORD PTR[64+r8] + movd xmm0,DWORD PTR[60+r9] + lea r9,QWORD PTR[64+r9] + movd xmm1,DWORD PTR[60+r10] + lea r10,QWORD PTR[64+r10] + movd xmm2,DWORD PTR[60+r11] + lea r11,QWORD PTR[64+r11] punpckldq xmm5,xmm1 punpckldq xmm0,xmm2 punpckldq xmm5,xmm0 @@ -1092,13 +1092,13 @@ DB 102,15,56,0,238 psrld xmm7,6 movdqa xmm1,xmm13 pslld xmm2,7 - movdqa XMMWORD PTR[(240-128)+rax],xmm5 + movdqa XMMWORD PTR[(240-128)+rax],xmm5 paddd xmm5,xmm8 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[96+rbp] + paddd xmm5,XMMWORD PTR[96+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -1143,14 +1143,14 @@ DB 102,15,56,0,238 paddd xmm8,xmm5 paddd xmm8,xmm7 - lea rbp,QWORD PTR[256+rbp] - movdqu xmm5,XMMWORD PTR[((0-128))+rax] + lea rbp,QWORD PTR[256+rbp] + movdqu xmm5,XMMWORD PTR[((0-128))+rax] mov ecx,3 - jmp $L$oop_16_xx + jmp $L$oop_16_xx ALIGN 32 -$L$oop_16_xx:: - movdqa xmm6,XMMWORD PTR[((16-128))+rax] - paddd xmm5,XMMWORD PTR[((144-128))+rax] +$L$oop_16_xx:: + movdqa xmm6,XMMWORD PTR[((16-128))+rax] + paddd xmm5,XMMWORD PTR[((144-128))+rax] movdqa xmm7,xmm6 movdqa xmm1,xmm6 @@ -1158,7 +1158,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm6 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((224-128))+rax] + movdqa xmm0,XMMWORD PTR[((224-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -1187,13 +1187,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm12 pslld xmm2,7 - movdqa XMMWORD PTR[(0-128)+rax],xmm5 + movdqa XMMWORD PTR[(0-128)+rax],xmm5 paddd xmm5,xmm15 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[((-128))+rbp] + paddd xmm5,XMMWORD PTR[((-128))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -1238,8 +1238,8 @@ $L$oop_16_xx:: paddd xmm15,xmm5 paddd xmm15,xmm7 - movdqa xmm5,XMMWORD PTR[((32-128))+rax] - paddd xmm6,XMMWORD PTR[((160-128))+rax] + movdqa xmm5,XMMWORD PTR[((32-128))+rax] + paddd xmm6,XMMWORD PTR[((160-128))+rax] movdqa xmm7,xmm5 movdqa xmm1,xmm5 @@ -1247,7 +1247,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm5 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((240-128))+rax] + movdqa xmm0,XMMWORD PTR[((240-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -1276,13 +1276,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm11 pslld xmm2,7 - movdqa XMMWORD PTR[(16-128)+rax],xmm6 + movdqa XMMWORD PTR[(16-128)+rax],xmm6 paddd xmm6,xmm14 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm6,XMMWORD PTR[((-96))+rbp] + paddd xmm6,XMMWORD PTR[((-96))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -1327,8 +1327,8 @@ $L$oop_16_xx:: paddd xmm14,xmm6 paddd xmm14,xmm7 - movdqa xmm6,XMMWORD PTR[((48-128))+rax] - paddd xmm5,XMMWORD PTR[((176-128))+rax] + movdqa xmm6,XMMWORD PTR[((48-128))+rax] + paddd xmm5,XMMWORD PTR[((176-128))+rax] movdqa xmm7,xmm6 movdqa xmm1,xmm6 @@ -1336,7 +1336,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm6 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((0-128))+rax] + movdqa xmm0,XMMWORD PTR[((0-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -1365,13 +1365,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm10 pslld xmm2,7 - movdqa XMMWORD PTR[(32-128)+rax],xmm5 + movdqa XMMWORD PTR[(32-128)+rax],xmm5 paddd xmm5,xmm13 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[((-64))+rbp] + paddd xmm5,XMMWORD PTR[((-64))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -1416,8 +1416,8 @@ $L$oop_16_xx:: paddd xmm13,xmm5 paddd xmm13,xmm7 - movdqa xmm5,XMMWORD PTR[((64-128))+rax] - paddd xmm6,XMMWORD PTR[((192-128))+rax] + movdqa xmm5,XMMWORD PTR[((64-128))+rax] + paddd xmm6,XMMWORD PTR[((192-128))+rax] movdqa xmm7,xmm5 movdqa xmm1,xmm5 @@ -1425,7 +1425,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm5 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((16-128))+rax] + movdqa xmm0,XMMWORD PTR[((16-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -1454,13 +1454,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm9 pslld xmm2,7 - movdqa XMMWORD PTR[(48-128)+rax],xmm6 + movdqa XMMWORD PTR[(48-128)+rax],xmm6 paddd xmm6,xmm12 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm6,XMMWORD PTR[((-32))+rbp] + paddd xmm6,XMMWORD PTR[((-32))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -1505,8 +1505,8 @@ $L$oop_16_xx:: paddd xmm12,xmm6 paddd xmm12,xmm7 - movdqa xmm6,XMMWORD PTR[((80-128))+rax] - paddd xmm5,XMMWORD PTR[((208-128))+rax] + movdqa xmm6,XMMWORD PTR[((80-128))+rax] + paddd xmm5,XMMWORD PTR[((208-128))+rax] movdqa xmm7,xmm6 movdqa xmm1,xmm6 @@ -1514,7 +1514,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm6 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((32-128))+rax] + movdqa xmm0,XMMWORD PTR[((32-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -1543,13 +1543,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm8 pslld xmm2,7 - movdqa XMMWORD PTR[(64-128)+rax],xmm5 + movdqa XMMWORD PTR[(64-128)+rax],xmm5 paddd xmm5,xmm11 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[rbp] + paddd xmm5,XMMWORD PTR[rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -1594,8 +1594,8 @@ $L$oop_16_xx:: paddd xmm11,xmm5 paddd xmm11,xmm7 - movdqa xmm5,XMMWORD PTR[((96-128))+rax] - paddd xmm6,XMMWORD PTR[((224-128))+rax] + movdqa xmm5,XMMWORD PTR[((96-128))+rax] + paddd xmm6,XMMWORD PTR[((224-128))+rax] movdqa xmm7,xmm5 movdqa xmm1,xmm5 @@ -1603,7 +1603,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm5 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((48-128))+rax] + movdqa xmm0,XMMWORD PTR[((48-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -1632,13 +1632,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm15 pslld xmm2,7 - movdqa XMMWORD PTR[(80-128)+rax],xmm6 + movdqa XMMWORD PTR[(80-128)+rax],xmm6 paddd xmm6,xmm10 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm6,XMMWORD PTR[32+rbp] + paddd xmm6,XMMWORD PTR[32+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -1683,8 +1683,8 @@ $L$oop_16_xx:: paddd xmm10,xmm6 paddd xmm10,xmm7 - movdqa xmm6,XMMWORD PTR[((112-128))+rax] - paddd xmm5,XMMWORD PTR[((240-128))+rax] + movdqa xmm6,XMMWORD PTR[((112-128))+rax] + paddd xmm5,XMMWORD PTR[((240-128))+rax] movdqa xmm7,xmm6 movdqa xmm1,xmm6 @@ -1692,7 +1692,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm6 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((64-128))+rax] + movdqa xmm0,XMMWORD PTR[((64-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -1721,13 +1721,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm14 pslld xmm2,7 - movdqa XMMWORD PTR[(96-128)+rax],xmm5 + movdqa XMMWORD PTR[(96-128)+rax],xmm5 paddd xmm5,xmm9 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[64+rbp] + paddd xmm5,XMMWORD PTR[64+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -1772,8 +1772,8 @@ $L$oop_16_xx:: paddd xmm9,xmm5 paddd xmm9,xmm7 - movdqa xmm5,XMMWORD PTR[((128-128))+rax] - paddd xmm6,XMMWORD PTR[((0-128))+rax] + movdqa xmm5,XMMWORD PTR[((128-128))+rax] + paddd xmm6,XMMWORD PTR[((0-128))+rax] movdqa xmm7,xmm5 movdqa xmm1,xmm5 @@ -1781,7 +1781,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm5 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((80-128))+rax] + movdqa xmm0,XMMWORD PTR[((80-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -1810,13 +1810,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm13 pslld xmm2,7 - movdqa XMMWORD PTR[(112-128)+rax],xmm6 + movdqa XMMWORD PTR[(112-128)+rax],xmm6 paddd xmm6,xmm8 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm6,XMMWORD PTR[96+rbp] + paddd xmm6,XMMWORD PTR[96+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -1861,9 +1861,9 @@ $L$oop_16_xx:: paddd xmm8,xmm6 paddd xmm8,xmm7 - lea rbp,QWORD PTR[256+rbp] - movdqa xmm6,XMMWORD PTR[((144-128))+rax] - paddd xmm5,XMMWORD PTR[((16-128))+rax] + lea rbp,QWORD PTR[256+rbp] + movdqa xmm6,XMMWORD PTR[((144-128))+rax] + paddd xmm5,XMMWORD PTR[((16-128))+rax] movdqa xmm7,xmm6 movdqa xmm1,xmm6 @@ -1871,7 +1871,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm6 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((96-128))+rax] + movdqa xmm0,XMMWORD PTR[((96-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -1900,13 +1900,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm12 pslld xmm2,7 - movdqa XMMWORD PTR[(128-128)+rax],xmm5 + movdqa XMMWORD PTR[(128-128)+rax],xmm5 paddd xmm5,xmm15 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[((-128))+rbp] + paddd xmm5,XMMWORD PTR[((-128))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -1951,8 +1951,8 @@ $L$oop_16_xx:: paddd xmm15,xmm5 paddd xmm15,xmm7 - movdqa xmm5,XMMWORD PTR[((160-128))+rax] - paddd xmm6,XMMWORD PTR[((32-128))+rax] + movdqa xmm5,XMMWORD PTR[((160-128))+rax] + paddd xmm6,XMMWORD PTR[((32-128))+rax] movdqa xmm7,xmm5 movdqa xmm1,xmm5 @@ -1960,7 +1960,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm5 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((112-128))+rax] + movdqa xmm0,XMMWORD PTR[((112-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -1989,13 +1989,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm11 pslld xmm2,7 - movdqa XMMWORD PTR[(144-128)+rax],xmm6 + movdqa XMMWORD PTR[(144-128)+rax],xmm6 paddd xmm6,xmm14 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm6,XMMWORD PTR[((-96))+rbp] + paddd xmm6,XMMWORD PTR[((-96))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -2040,8 +2040,8 @@ $L$oop_16_xx:: paddd xmm14,xmm6 paddd xmm14,xmm7 - movdqa xmm6,XMMWORD PTR[((176-128))+rax] - paddd xmm5,XMMWORD PTR[((48-128))+rax] + movdqa xmm6,XMMWORD PTR[((176-128))+rax] + paddd xmm5,XMMWORD PTR[((48-128))+rax] movdqa xmm7,xmm6 movdqa xmm1,xmm6 @@ -2049,7 +2049,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm6 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((128-128))+rax] + movdqa xmm0,XMMWORD PTR[((128-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -2078,13 +2078,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm10 pslld xmm2,7 - movdqa XMMWORD PTR[(160-128)+rax],xmm5 + movdqa XMMWORD PTR[(160-128)+rax],xmm5 paddd xmm5,xmm13 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[((-64))+rbp] + paddd xmm5,XMMWORD PTR[((-64))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -2129,8 +2129,8 @@ $L$oop_16_xx:: paddd xmm13,xmm5 paddd xmm13,xmm7 - movdqa xmm5,XMMWORD PTR[((192-128))+rax] - paddd xmm6,XMMWORD PTR[((64-128))+rax] + movdqa xmm5,XMMWORD PTR[((192-128))+rax] + paddd xmm6,XMMWORD PTR[((64-128))+rax] movdqa xmm7,xmm5 movdqa xmm1,xmm5 @@ -2138,7 +2138,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm5 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((144-128))+rax] + movdqa xmm0,XMMWORD PTR[((144-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -2167,13 +2167,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm9 pslld xmm2,7 - movdqa XMMWORD PTR[(176-128)+rax],xmm6 + movdqa XMMWORD PTR[(176-128)+rax],xmm6 paddd xmm6,xmm12 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm6,XMMWORD PTR[((-32))+rbp] + paddd xmm6,XMMWORD PTR[((-32))+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -2218,8 +2218,8 @@ $L$oop_16_xx:: paddd xmm12,xmm6 paddd xmm12,xmm7 - movdqa xmm6,XMMWORD PTR[((208-128))+rax] - paddd xmm5,XMMWORD PTR[((80-128))+rax] + movdqa xmm6,XMMWORD PTR[((208-128))+rax] + paddd xmm5,XMMWORD PTR[((80-128))+rax] movdqa xmm7,xmm6 movdqa xmm1,xmm6 @@ -2227,7 +2227,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm6 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((160-128))+rax] + movdqa xmm0,XMMWORD PTR[((160-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -2256,13 +2256,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm8 pslld xmm2,7 - movdqa XMMWORD PTR[(192-128)+rax],xmm5 + movdqa XMMWORD PTR[(192-128)+rax],xmm5 paddd xmm5,xmm11 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[rbp] + paddd xmm5,XMMWORD PTR[rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -2307,8 +2307,8 @@ $L$oop_16_xx:: paddd xmm11,xmm5 paddd xmm11,xmm7 - movdqa xmm5,XMMWORD PTR[((224-128))+rax] - paddd xmm6,XMMWORD PTR[((96-128))+rax] + movdqa xmm5,XMMWORD PTR[((224-128))+rax] + paddd xmm6,XMMWORD PTR[((96-128))+rax] movdqa xmm7,xmm5 movdqa xmm1,xmm5 @@ -2316,7 +2316,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm5 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((176-128))+rax] + movdqa xmm0,XMMWORD PTR[((176-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -2345,13 +2345,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm15 pslld xmm2,7 - movdqa XMMWORD PTR[(208-128)+rax],xmm6 + movdqa XMMWORD PTR[(208-128)+rax],xmm6 paddd xmm6,xmm10 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm6,XMMWORD PTR[32+rbp] + paddd xmm6,XMMWORD PTR[32+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -2396,8 +2396,8 @@ $L$oop_16_xx:: paddd xmm10,xmm6 paddd xmm10,xmm7 - movdqa xmm6,XMMWORD PTR[((240-128))+rax] - paddd xmm5,XMMWORD PTR[((112-128))+rax] + movdqa xmm6,XMMWORD PTR[((240-128))+rax] + paddd xmm5,XMMWORD PTR[((112-128))+rax] movdqa xmm7,xmm6 movdqa xmm1,xmm6 @@ -2405,7 +2405,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm6 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((192-128))+rax] + movdqa xmm0,XMMWORD PTR[((192-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -2434,13 +2434,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm14 pslld xmm2,7 - movdqa XMMWORD PTR[(224-128)+rax],xmm5 + movdqa XMMWORD PTR[(224-128)+rax],xmm5 paddd xmm5,xmm9 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm5,XMMWORD PTR[64+rbp] + paddd xmm5,XMMWORD PTR[64+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -2485,8 +2485,8 @@ $L$oop_16_xx:: paddd xmm9,xmm5 paddd xmm9,xmm7 - movdqa xmm5,XMMWORD PTR[((0-128))+rax] - paddd xmm6,XMMWORD PTR[((128-128))+rax] + movdqa xmm5,XMMWORD PTR[((0-128))+rax] + paddd xmm6,XMMWORD PTR[((128-128))+rax] movdqa xmm7,xmm5 movdqa xmm1,xmm5 @@ -2494,7 +2494,7 @@ $L$oop_16_xx:: movdqa xmm2,xmm5 psrld xmm1,7 - movdqa xmm0,XMMWORD PTR[((208-128))+rax] + movdqa xmm0,XMMWORD PTR[((208-128))+rax] pslld xmm2,14 pxor xmm7,xmm1 psrld xmm1,18-7 @@ -2523,13 +2523,13 @@ $L$oop_16_xx:: psrld xmm7,6 movdqa xmm1,xmm13 pslld xmm2,7 - movdqa XMMWORD PTR[(240-128)+rax],xmm6 + movdqa XMMWORD PTR[(240-128)+rax],xmm6 paddd xmm6,xmm8 psrld xmm1,11 pxor xmm7,xmm2 pslld xmm2,21-7 - paddd xmm6,XMMWORD PTR[96+rbp] + paddd xmm6,XMMWORD PTR[96+rbp] pxor xmm7,xmm1 psrld xmm1,25-11 @@ -2574,171 +2574,171 @@ $L$oop_16_xx:: paddd xmm8,xmm6 paddd xmm8,xmm7 - lea rbp,QWORD PTR[256+rbp] + lea rbp,QWORD PTR[256+rbp] dec ecx - jnz $L$oop_16_xx + jnz $L$oop_16_xx mov ecx,1 - lea rbp,QWORD PTR[((K256+128))] + lea rbp,QWORD PTR[((K256+128))] - movdqa xmm7,XMMWORD PTR[rbx] - cmp ecx,DWORD PTR[rbx] + movdqa xmm7,XMMWORD PTR[rbx] + cmp ecx,DWORD PTR[rbx] pxor xmm0,xmm0 cmovge r8,rbp - cmp ecx,DWORD PTR[4+rbx] + cmp ecx,DWORD PTR[4+rbx] movdqa xmm6,xmm7 cmovge r9,rbp - cmp ecx,DWORD PTR[8+rbx] + cmp ecx,DWORD PTR[8+rbx] pcmpgtd xmm6,xmm0 cmovge r10,rbp - cmp ecx,DWORD PTR[12+rbx] + cmp ecx,DWORD PTR[12+rbx] paddd xmm7,xmm6 cmovge r11,rbp - movdqu xmm0,XMMWORD PTR[((0-128))+rdi] + movdqu xmm0,XMMWORD PTR[((0-128))+rdi] pand xmm8,xmm6 - movdqu xmm1,XMMWORD PTR[((32-128))+rdi] + movdqu xmm1,XMMWORD PTR[((32-128))+rdi] pand xmm9,xmm6 - movdqu xmm2,XMMWORD PTR[((64-128))+rdi] + movdqu xmm2,XMMWORD PTR[((64-128))+rdi] pand xmm10,xmm6 - movdqu xmm5,XMMWORD PTR[((96-128))+rdi] + movdqu xmm5,XMMWORD PTR[((96-128))+rdi] pand xmm11,xmm6 paddd xmm8,xmm0 - movdqu xmm0,XMMWORD PTR[((128-128))+rdi] + movdqu xmm0,XMMWORD PTR[((128-128))+rdi] pand xmm12,xmm6 paddd xmm9,xmm1 - movdqu xmm1,XMMWORD PTR[((160-128))+rdi] + movdqu xmm1,XMMWORD PTR[((160-128))+rdi] pand xmm13,xmm6 paddd xmm10,xmm2 - movdqu xmm2,XMMWORD PTR[((192-128))+rdi] + movdqu xmm2,XMMWORD PTR[((192-128))+rdi] pand xmm14,xmm6 paddd xmm11,xmm5 - movdqu xmm5,XMMWORD PTR[((224-128))+rdi] + movdqu xmm5,XMMWORD PTR[((224-128))+rdi] pand xmm15,xmm6 paddd xmm12,xmm0 paddd xmm13,xmm1 - movdqu XMMWORD PTR[(0-128)+rdi],xmm8 + movdqu XMMWORD PTR[(0-128)+rdi],xmm8 paddd xmm14,xmm2 - movdqu XMMWORD PTR[(32-128)+rdi],xmm9 + movdqu XMMWORD PTR[(32-128)+rdi],xmm9 paddd xmm15,xmm5 - movdqu XMMWORD PTR[(64-128)+rdi],xmm10 - movdqu XMMWORD PTR[(96-128)+rdi],xmm11 - movdqu XMMWORD PTR[(128-128)+rdi],xmm12 - movdqu XMMWORD PTR[(160-128)+rdi],xmm13 - movdqu XMMWORD PTR[(192-128)+rdi],xmm14 - movdqu XMMWORD PTR[(224-128)+rdi],xmm15 - - movdqa XMMWORD PTR[rbx],xmm7 - movdqa xmm6,XMMWORD PTR[$L$pbswap] + movdqu XMMWORD PTR[(64-128)+rdi],xmm10 + movdqu XMMWORD PTR[(96-128)+rdi],xmm11 + movdqu XMMWORD PTR[(128-128)+rdi],xmm12 + movdqu XMMWORD PTR[(160-128)+rdi],xmm13 + movdqu XMMWORD PTR[(192-128)+rdi],xmm14 + movdqu XMMWORD PTR[(224-128)+rdi],xmm15 + + movdqa XMMWORD PTR[rbx],xmm7 + movdqa xmm6,XMMWORD PTR[$L$pbswap] dec edx - jnz $L$oop + jnz $L$oop - mov edx,DWORD PTR[280+rsp] - lea rdi,QWORD PTR[16+rdi] - lea rsi,QWORD PTR[64+rsi] + mov edx,DWORD PTR[280+rsp] + lea rdi,QWORD PTR[16+rdi] + lea rsi,QWORD PTR[64+rsi] dec edx - jnz $L$oop_grande - -$L$done:: - mov rax,QWORD PTR[272+rsp] - - movaps xmm6,XMMWORD PTR[((-184))+rax] - movaps xmm7,XMMWORD PTR[((-168))+rax] - movaps xmm8,XMMWORD PTR[((-152))+rax] - movaps xmm9,XMMWORD PTR[((-136))+rax] - movaps xmm10,XMMWORD PTR[((-120))+rax] - movaps xmm11,XMMWORD PTR[((-104))+rax] - movaps xmm12,XMMWORD PTR[((-88))+rax] - movaps xmm13,XMMWORD PTR[((-72))+rax] - movaps xmm14,XMMWORD PTR[((-56))+rax] - movaps xmm15,XMMWORD PTR[((-40))+rax] - mov rbp,QWORD PTR[((-16))+rax] - - mov rbx,QWORD PTR[((-8))+rax] - - lea rsp,QWORD PTR[rax] - -$L$epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + jnz $L$oop_grande + +$L$done:: + mov rax,QWORD PTR[272+rsp] + + movaps xmm6,XMMWORD PTR[((-184))+rax] + movaps xmm7,XMMWORD PTR[((-168))+rax] + movaps xmm8,XMMWORD PTR[((-152))+rax] + movaps xmm9,XMMWORD PTR[((-136))+rax] + movaps xmm10,XMMWORD PTR[((-120))+rax] + movaps xmm11,XMMWORD PTR[((-104))+rax] + movaps xmm12,XMMWORD PTR[((-88))+rax] + movaps xmm13,XMMWORD PTR[((-72))+rax] + movaps xmm14,XMMWORD PTR[((-56))+rax] + movaps xmm15,XMMWORD PTR[((-40))+rax] + mov rbp,QWORD PTR[((-16))+rax] + + mov rbx,QWORD PTR[((-8))+rax] + + lea rsp,QWORD PTR[rax] + +$L$epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_multi_block:: -sha256_multi_block ENDP +$L$SEH_end_sha256_multi_block:: +sha256_multi_block ENDP ALIGN 32 -sha256_multi_block_shaext PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha256_multi_block_shaext PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha256_multi_block_shaext:: +$L$SEH_begin_sha256_multi_block_shaext:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -_shaext_shortcut:: +_shaext_shortcut:: mov rax,rsp push rbx push rbp - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 - movaps XMMWORD PTR[(-120)+rax],xmm10 - movaps XMMWORD PTR[(-104)+rax],xmm11 - movaps XMMWORD PTR[(-88)+rax],xmm12 - movaps XMMWORD PTR[(-72)+rax],xmm13 - movaps XMMWORD PTR[(-56)+rax],xmm14 - movaps XMMWORD PTR[(-40)+rax],xmm15 + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 + movaps XMMWORD PTR[(-120)+rax],xmm10 + movaps XMMWORD PTR[(-104)+rax],xmm11 + movaps XMMWORD PTR[(-88)+rax],xmm12 + movaps XMMWORD PTR[(-72)+rax],xmm13 + movaps XMMWORD PTR[(-56)+rax],xmm14 + movaps XMMWORD PTR[(-40)+rax],xmm15 sub rsp,288 shl edx,1 and rsp,-256 - lea rdi,QWORD PTR[128+rdi] - mov QWORD PTR[272+rsp],rax -$L$body_shaext:: - lea rbx,QWORD PTR[256+rsp] - lea rbp,QWORD PTR[((K256_shaext+128))] - -$L$oop_grande_shaext:: - mov DWORD PTR[280+rsp],edx + lea rdi,QWORD PTR[128+rdi] + mov QWORD PTR[272+rsp],rax +$L$body_shaext:: + lea rbx,QWORD PTR[256+rsp] + lea rbp,QWORD PTR[((K256_shaext+128))] + +$L$oop_grande_shaext:: + mov DWORD PTR[280+rsp],edx xor edx,edx - mov r8,QWORD PTR[rsi] - mov ecx,DWORD PTR[8+rsi] + mov r8,QWORD PTR[rsi] + mov ecx,DWORD PTR[8+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[rbx],ecx + mov DWORD PTR[rbx],ecx cmovle r8,rsp - mov r9,QWORD PTR[16+rsi] - mov ecx,DWORD PTR[24+rsi] + mov r9,QWORD PTR[16+rsi] + mov ecx,DWORD PTR[24+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[4+rbx],ecx + mov DWORD PTR[4+rbx],ecx cmovle r9,rsp test edx,edx - jz $L$done_shaext + jz $L$done_shaext - movq xmm12,QWORD PTR[((0-128))+rdi] - movq xmm4,QWORD PTR[((32-128))+rdi] - movq xmm13,QWORD PTR[((64-128))+rdi] - movq xmm5,QWORD PTR[((96-128))+rdi] - movq xmm8,QWORD PTR[((128-128))+rdi] - movq xmm9,QWORD PTR[((160-128))+rdi] - movq xmm10,QWORD PTR[((192-128))+rdi] - movq xmm11,QWORD PTR[((224-128))+rdi] + movq xmm12,QWORD PTR[((0-128))+rdi] + movq xmm4,QWORD PTR[((32-128))+rdi] + movq xmm13,QWORD PTR[((64-128))+rdi] + movq xmm5,QWORD PTR[((96-128))+rdi] + movq xmm8,QWORD PTR[((128-128))+rdi] + movq xmm9,QWORD PTR[((160-128))+rdi] + movq xmm10,QWORD PTR[((192-128))+rdi] + movq xmm11,QWORD PTR[((224-128))+rdi] punpckldq xmm12,xmm4 punpckldq xmm13,xmm5 punpckldq xmm8,xmm9 punpckldq xmm10,xmm11 - movdqa xmm3,XMMWORD PTR[((K256_shaext-16))] + movdqa xmm3,XMMWORD PTR[((K256_shaext-16))] movdqa xmm14,xmm12 movdqa xmm15,xmm13 @@ -2751,51 +2751,51 @@ $L$oop_grande_shaext:: pshufd xmm13,xmm13,27 pshufd xmm14,xmm14,27 pshufd xmm15,xmm15,27 - jmp $L$oop_shaext + jmp $L$oop_shaext ALIGN 32 -$L$oop_shaext:: - movdqu xmm4,XMMWORD PTR[r8] - movdqu xmm8,XMMWORD PTR[r9] - movdqu xmm5,XMMWORD PTR[16+r8] - movdqu xmm9,XMMWORD PTR[16+r9] - movdqu xmm6,XMMWORD PTR[32+r8] +$L$oop_shaext:: + movdqu xmm4,XMMWORD PTR[r8] + movdqu xmm8,XMMWORD PTR[r9] + movdqu xmm5,XMMWORD PTR[16+r8] + movdqu xmm9,XMMWORD PTR[16+r9] + movdqu xmm6,XMMWORD PTR[32+r8] DB 102,15,56,0,227 - movdqu xmm10,XMMWORD PTR[32+r9] + movdqu xmm10,XMMWORD PTR[32+r9] DB 102,68,15,56,0,195 - movdqu xmm7,XMMWORD PTR[48+r8] - lea r8,QWORD PTR[64+r8] - movdqu xmm11,XMMWORD PTR[48+r9] - lea r9,QWORD PTR[64+r9] + movdqu xmm7,XMMWORD PTR[48+r8] + lea r8,QWORD PTR[64+r8] + movdqu xmm11,XMMWORD PTR[48+r9] + lea r9,QWORD PTR[64+r9] - movdqa xmm0,XMMWORD PTR[((0-128))+rbp] + movdqa xmm0,XMMWORD PTR[((0-128))+rbp] DB 102,15,56,0,235 paddd xmm0,xmm4 pxor xmm4,xmm12 movdqa xmm1,xmm0 - movdqa xmm2,XMMWORD PTR[((0-128))+rbp] + movdqa xmm2,XMMWORD PTR[((0-128))+rbp] DB 102,68,15,56,0,203 paddd xmm2,xmm8 - movdqa XMMWORD PTR[80+rsp],xmm13 + movdqa XMMWORD PTR[80+rsp],xmm13 DB 69,15,56,203,236 pxor xmm8,xmm14 movdqa xmm0,xmm2 - movdqa XMMWORD PTR[112+rsp],xmm15 + movdqa XMMWORD PTR[112+rsp],xmm15 DB 69,15,56,203,254 - pshufd xmm0,xmm1,00eh + pshufd xmm0,xmm1,00eh pxor xmm4,xmm12 - movdqa XMMWORD PTR[64+rsp],xmm12 + movdqa XMMWORD PTR[64+rsp],xmm12 DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh + pshufd xmm0,xmm2,00eh pxor xmm8,xmm14 - movdqa XMMWORD PTR[96+rsp],xmm14 - movdqa xmm1,XMMWORD PTR[((16-128))+rbp] + movdqa XMMWORD PTR[96+rsp],xmm14 + movdqa xmm1,XMMWORD PTR[((16-128))+rbp] paddd xmm1,xmm5 DB 102,15,56,0,243 DB 69,15,56,203,247 movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD PTR[((16-128))+rbp] + movdqa xmm2,XMMWORD PTR[((16-128))+rbp] paddd xmm2,xmm9 DB 69,15,56,203,236 movdqa xmm0,xmm2 @@ -2804,38 +2804,38 @@ DB 102,15,56,0,251 DB 102,68,15,56,0,211 prefetcht0 [127+r9] DB 69,15,56,203,254 - pshufd xmm0,xmm1,00eh + pshufd xmm0,xmm1,00eh DB 102,68,15,56,0,219 DB 15,56,204,229 DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh - movdqa xmm1,XMMWORD PTR[((32-128))+rbp] + pshufd xmm0,xmm2,00eh + movdqa xmm1,XMMWORD PTR[((32-128))+rbp] paddd xmm1,xmm6 DB 69,15,56,203,247 movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD PTR[((32-128))+rbp] + movdqa xmm2,XMMWORD PTR[((32-128))+rbp] paddd xmm2,xmm10 DB 69,15,56,203,236 DB 69,15,56,204,193 movdqa xmm0,xmm2 movdqa xmm3,xmm7 DB 69,15,56,203,254 - pshufd xmm0,xmm1,00eh + pshufd xmm0,xmm1,00eh DB 102,15,58,15,222,4 paddd xmm4,xmm3 movdqa xmm3,xmm11 DB 102,65,15,58,15,218,4 DB 15,56,204,238 DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh - movdqa xmm1,XMMWORD PTR[((48-128))+rbp] + pshufd xmm0,xmm2,00eh + movdqa xmm1,XMMWORD PTR[((48-128))+rbp] paddd xmm1,xmm7 DB 69,15,56,203,247 DB 69,15,56,204,202 movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD PTR[((48-128))+rbp] + movdqa xmm2,XMMWORD PTR[((48-128))+rbp] paddd xmm8,xmm3 paddd xmm2,xmm11 DB 15,56,205,231 @@ -2845,19 +2845,19 @@ DB 69,15,56,203,236 DB 102,15,58,15,223,4 DB 69,15,56,203,254 DB 69,15,56,205,195 - pshufd xmm0,xmm1,00eh + pshufd xmm0,xmm1,00eh paddd xmm5,xmm3 movdqa xmm3,xmm8 DB 102,65,15,58,15,219,4 DB 15,56,204,247 DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh - movdqa xmm1,XMMWORD PTR[((64-128))+rbp] + pshufd xmm0,xmm2,00eh + movdqa xmm1,XMMWORD PTR[((64-128))+rbp] paddd xmm1,xmm4 DB 69,15,56,203,247 DB 69,15,56,204,211 movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD PTR[((64-128))+rbp] + movdqa xmm2,XMMWORD PTR[((64-128))+rbp] paddd xmm9,xmm3 paddd xmm2,xmm8 DB 15,56,205,236 @@ -2867,19 +2867,19 @@ DB 69,15,56,203,236 DB 102,15,58,15,220,4 DB 69,15,56,203,254 DB 69,15,56,205,200 - pshufd xmm0,xmm1,00eh + pshufd xmm0,xmm1,00eh paddd xmm6,xmm3 movdqa xmm3,xmm9 DB 102,65,15,58,15,216,4 DB 15,56,204,252 DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh - movdqa xmm1,XMMWORD PTR[((80-128))+rbp] + pshufd xmm0,xmm2,00eh + movdqa xmm1,XMMWORD PTR[((80-128))+rbp] paddd xmm1,xmm5 DB 69,15,56,203,247 DB 69,15,56,204,216 movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD PTR[((80-128))+rbp] + movdqa xmm2,XMMWORD PTR[((80-128))+rbp] paddd xmm10,xmm3 paddd xmm2,xmm9 DB 15,56,205,245 @@ -2889,19 +2889,19 @@ DB 69,15,56,203,236 DB 102,15,58,15,221,4 DB 69,15,56,203,254 DB 69,15,56,205,209 - pshufd xmm0,xmm1,00eh + pshufd xmm0,xmm1,00eh paddd xmm7,xmm3 movdqa xmm3,xmm10 DB 102,65,15,58,15,217,4 DB 15,56,204,229 DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh - movdqa xmm1,XMMWORD PTR[((96-128))+rbp] + pshufd xmm0,xmm2,00eh + movdqa xmm1,XMMWORD PTR[((96-128))+rbp] paddd xmm1,xmm6 DB 69,15,56,203,247 DB 69,15,56,204,193 movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD PTR[((96-128))+rbp] + movdqa xmm2,XMMWORD PTR[((96-128))+rbp] paddd xmm11,xmm3 paddd xmm2,xmm10 DB 15,56,205,254 @@ -2911,19 +2911,19 @@ DB 69,15,56,203,236 DB 102,15,58,15,222,4 DB 69,15,56,203,254 DB 69,15,56,205,218 - pshufd xmm0,xmm1,00eh + pshufd xmm0,xmm1,00eh paddd xmm4,xmm3 movdqa xmm3,xmm11 DB 102,65,15,58,15,218,4 DB 15,56,204,238 DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh - movdqa xmm1,XMMWORD PTR[((112-128))+rbp] + pshufd xmm0,xmm2,00eh + movdqa xmm1,XMMWORD PTR[((112-128))+rbp] paddd xmm1,xmm7 DB 69,15,56,203,247 DB 69,15,56,204,202 movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD PTR[((112-128))+rbp] + movdqa xmm2,XMMWORD PTR[((112-128))+rbp] paddd xmm8,xmm3 paddd xmm2,xmm11 DB 15,56,205,231 @@ -2933,19 +2933,19 @@ DB 69,15,56,203,236 DB 102,15,58,15,223,4 DB 69,15,56,203,254 DB 69,15,56,205,195 - pshufd xmm0,xmm1,00eh + pshufd xmm0,xmm1,00eh paddd xmm5,xmm3 movdqa xmm3,xmm8 DB 102,65,15,58,15,219,4 DB 15,56,204,247 DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh - movdqa xmm1,XMMWORD PTR[((128-128))+rbp] + pshufd xmm0,xmm2,00eh + movdqa xmm1,XMMWORD PTR[((128-128))+rbp] paddd xmm1,xmm4 DB 69,15,56,203,247 DB 69,15,56,204,211 movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD PTR[((128-128))+rbp] + movdqa xmm2,XMMWORD PTR[((128-128))+rbp] paddd xmm9,xmm3 paddd xmm2,xmm8 DB 15,56,205,236 @@ -2955,19 +2955,19 @@ DB 69,15,56,203,236 DB 102,15,58,15,220,4 DB 69,15,56,203,254 DB 69,15,56,205,200 - pshufd xmm0,xmm1,00eh + pshufd xmm0,xmm1,00eh paddd xmm6,xmm3 movdqa xmm3,xmm9 DB 102,65,15,58,15,216,4 DB 15,56,204,252 DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh - movdqa xmm1,XMMWORD PTR[((144-128))+rbp] + pshufd xmm0,xmm2,00eh + movdqa xmm1,XMMWORD PTR[((144-128))+rbp] paddd xmm1,xmm5 DB 69,15,56,203,247 DB 69,15,56,204,216 movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD PTR[((144-128))+rbp] + movdqa xmm2,XMMWORD PTR[((144-128))+rbp] paddd xmm10,xmm3 paddd xmm2,xmm9 DB 15,56,205,245 @@ -2977,19 +2977,19 @@ DB 69,15,56,203,236 DB 102,15,58,15,221,4 DB 69,15,56,203,254 DB 69,15,56,205,209 - pshufd xmm0,xmm1,00eh + pshufd xmm0,xmm1,00eh paddd xmm7,xmm3 movdqa xmm3,xmm10 DB 102,65,15,58,15,217,4 DB 15,56,204,229 DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh - movdqa xmm1,XMMWORD PTR[((160-128))+rbp] + pshufd xmm0,xmm2,00eh + movdqa xmm1,XMMWORD PTR[((160-128))+rbp] paddd xmm1,xmm6 DB 69,15,56,203,247 DB 69,15,56,204,193 movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD PTR[((160-128))+rbp] + movdqa xmm2,XMMWORD PTR[((160-128))+rbp] paddd xmm11,xmm3 paddd xmm2,xmm10 DB 15,56,205,254 @@ -2999,19 +2999,19 @@ DB 69,15,56,203,236 DB 102,15,58,15,222,4 DB 69,15,56,203,254 DB 69,15,56,205,218 - pshufd xmm0,xmm1,00eh + pshufd xmm0,xmm1,00eh paddd xmm4,xmm3 movdqa xmm3,xmm11 DB 102,65,15,58,15,218,4 DB 15,56,204,238 DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh - movdqa xmm1,XMMWORD PTR[((176-128))+rbp] + pshufd xmm0,xmm2,00eh + movdqa xmm1,XMMWORD PTR[((176-128))+rbp] paddd xmm1,xmm7 DB 69,15,56,203,247 DB 69,15,56,204,202 movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD PTR[((176-128))+rbp] + movdqa xmm2,XMMWORD PTR[((176-128))+rbp] paddd xmm8,xmm3 paddd xmm2,xmm11 DB 15,56,205,231 @@ -3021,19 +3021,19 @@ DB 69,15,56,203,236 DB 102,15,58,15,223,4 DB 69,15,56,203,254 DB 69,15,56,205,195 - pshufd xmm0,xmm1,00eh + pshufd xmm0,xmm1,00eh paddd xmm5,xmm3 movdqa xmm3,xmm8 DB 102,65,15,58,15,219,4 DB 15,56,204,247 DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh - movdqa xmm1,XMMWORD PTR[((192-128))+rbp] + pshufd xmm0,xmm2,00eh + movdqa xmm1,XMMWORD PTR[((192-128))+rbp] paddd xmm1,xmm4 DB 69,15,56,203,247 DB 69,15,56,204,211 movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD PTR[((192-128))+rbp] + movdqa xmm2,XMMWORD PTR[((192-128))+rbp] paddd xmm9,xmm3 paddd xmm2,xmm8 DB 15,56,205,236 @@ -3043,19 +3043,19 @@ DB 69,15,56,203,236 DB 102,15,58,15,220,4 DB 69,15,56,203,254 DB 69,15,56,205,200 - pshufd xmm0,xmm1,00eh + pshufd xmm0,xmm1,00eh paddd xmm6,xmm3 movdqa xmm3,xmm9 DB 102,65,15,58,15,216,4 DB 15,56,204,252 DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh - movdqa xmm1,XMMWORD PTR[((208-128))+rbp] + pshufd xmm0,xmm2,00eh + movdqa xmm1,XMMWORD PTR[((208-128))+rbp] paddd xmm1,xmm5 DB 69,15,56,203,247 DB 69,15,56,204,216 movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD PTR[((208-128))+rbp] + movdqa xmm2,XMMWORD PTR[((208-128))+rbp] paddd xmm10,xmm3 paddd xmm2,xmm9 DB 15,56,205,245 @@ -3065,19 +3065,19 @@ DB 69,15,56,203,236 DB 102,15,58,15,221,4 DB 69,15,56,203,254 DB 69,15,56,205,209 - pshufd xmm0,xmm1,00eh + pshufd xmm0,xmm1,00eh paddd xmm7,xmm3 movdqa xmm3,xmm10 DB 102,65,15,58,15,217,4 nop DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh - movdqa xmm1,XMMWORD PTR[((224-128))+rbp] + pshufd xmm0,xmm2,00eh + movdqa xmm1,XMMWORD PTR[((224-128))+rbp] paddd xmm1,xmm6 DB 69,15,56,203,247 movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD PTR[((224-128))+rbp] + movdqa xmm2,XMMWORD PTR[((224-128))+rbp] paddd xmm11,xmm3 paddd xmm2,xmm10 DB 15,56,205,254 @@ -3088,35 +3088,35 @@ DB 69,15,56,203,236 pxor xmm6,xmm6 DB 69,15,56,203,254 DB 69,15,56,205,218 - pshufd xmm0,xmm1,00eh - movdqa xmm1,XMMWORD PTR[((240-128))+rbp] + pshufd xmm0,xmm1,00eh + movdqa xmm1,XMMWORD PTR[((240-128))+rbp] paddd xmm1,xmm7 - movq xmm7,QWORD PTR[rbx] + movq xmm7,QWORD PTR[rbx] nop DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh - movdqa xmm2,XMMWORD PTR[((240-128))+rbp] + pshufd xmm0,xmm2,00eh + movdqa xmm2,XMMWORD PTR[((240-128))+rbp] paddd xmm2,xmm11 DB 69,15,56,203,247 movdqa xmm0,xmm1 - cmp ecx,DWORD PTR[rbx] + cmp ecx,DWORD PTR[rbx] cmovge r8,rsp - cmp ecx,DWORD PTR[4+rbx] + cmp ecx,DWORD PTR[4+rbx] cmovge r9,rsp - pshufd xmm9,xmm7,000h + pshufd xmm9,xmm7,000h DB 69,15,56,203,236 movdqa xmm0,xmm2 - pshufd xmm10,xmm7,055h + pshufd xmm10,xmm7,055h movdqa xmm11,xmm7 DB 69,15,56,203,254 - pshufd xmm0,xmm1,00eh + pshufd xmm0,xmm1,00eh pcmpgtd xmm9,xmm6 pcmpgtd xmm10,xmm6 DB 69,15,56,203,229 - pshufd xmm0,xmm2,00eh + pshufd xmm0,xmm2,00eh pcmpgtd xmm11,xmm6 - movdqa xmm3,XMMWORD PTR[((K256_shaext-16))] + movdqa xmm3,XMMWORD PTR[((K256_shaext-16))] DB 69,15,56,203,247 pand xmm13,xmm9 @@ -3125,16 +3125,16 @@ DB 69,15,56,203,247 pand xmm14,xmm10 paddd xmm11,xmm7 - paddd xmm13,XMMWORD PTR[80+rsp] - paddd xmm15,XMMWORD PTR[112+rsp] - paddd xmm12,XMMWORD PTR[64+rsp] - paddd xmm14,XMMWORD PTR[96+rsp] + paddd xmm13,XMMWORD PTR[80+rsp] + paddd xmm15,XMMWORD PTR[112+rsp] + paddd xmm12,XMMWORD PTR[64+rsp] + paddd xmm14,XMMWORD PTR[96+rsp] - movq QWORD PTR[rbx],xmm11 + movq QWORD PTR[rbx],xmm11 dec edx - jnz $L$oop_shaext + jnz $L$oop_shaext - mov edx,DWORD PTR[280+rsp] + mov edx,DWORD PTR[280+rsp] pshufd xmm12,xmm12,27 pshufd xmm13,xmm13,27 @@ -3148,162 +3148,162 @@ DB 69,15,56,203,247 punpckldq xmm13,xmm15 punpckhdq xmm6,xmm15 - movq QWORD PTR[(0-128)+rdi],xmm12 + movq QWORD PTR[(0-128)+rdi],xmm12 psrldq xmm12,8 - movq QWORD PTR[(128-128)+rdi],xmm5 + movq QWORD PTR[(128-128)+rdi],xmm5 psrldq xmm5,8 - movq QWORD PTR[(32-128)+rdi],xmm12 - movq QWORD PTR[(160-128)+rdi],xmm5 + movq QWORD PTR[(32-128)+rdi],xmm12 + movq QWORD PTR[(160-128)+rdi],xmm5 - movq QWORD PTR[(64-128)+rdi],xmm13 + movq QWORD PTR[(64-128)+rdi],xmm13 psrldq xmm13,8 - movq QWORD PTR[(192-128)+rdi],xmm6 + movq QWORD PTR[(192-128)+rdi],xmm6 psrldq xmm6,8 - movq QWORD PTR[(96-128)+rdi],xmm13 - movq QWORD PTR[(224-128)+rdi],xmm6 + movq QWORD PTR[(96-128)+rdi],xmm13 + movq QWORD PTR[(224-128)+rdi],xmm6 - lea rdi,QWORD PTR[8+rdi] - lea rsi,QWORD PTR[32+rsi] + lea rdi,QWORD PTR[8+rdi] + lea rsi,QWORD PTR[32+rsi] dec edx - jnz $L$oop_grande_shaext + jnz $L$oop_grande_shaext -$L$done_shaext:: +$L$done_shaext:: - movaps xmm6,XMMWORD PTR[((-184))+rax] - movaps xmm7,XMMWORD PTR[((-168))+rax] - movaps xmm8,XMMWORD PTR[((-152))+rax] - movaps xmm9,XMMWORD PTR[((-136))+rax] - movaps xmm10,XMMWORD PTR[((-120))+rax] - movaps xmm11,XMMWORD PTR[((-104))+rax] - movaps xmm12,XMMWORD PTR[((-88))+rax] - movaps xmm13,XMMWORD PTR[((-72))+rax] - movaps xmm14,XMMWORD PTR[((-56))+rax] - movaps xmm15,XMMWORD PTR[((-40))+rax] - mov rbp,QWORD PTR[((-16))+rax] + movaps xmm6,XMMWORD PTR[((-184))+rax] + movaps xmm7,XMMWORD PTR[((-168))+rax] + movaps xmm8,XMMWORD PTR[((-152))+rax] + movaps xmm9,XMMWORD PTR[((-136))+rax] + movaps xmm10,XMMWORD PTR[((-120))+rax] + movaps xmm11,XMMWORD PTR[((-104))+rax] + movaps xmm12,XMMWORD PTR[((-88))+rax] + movaps xmm13,XMMWORD PTR[((-72))+rax] + movaps xmm14,XMMWORD PTR[((-56))+rax] + movaps xmm15,XMMWORD PTR[((-40))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$epilogue_shaext:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_shaext:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_multi_block_shaext:: -sha256_multi_block_shaext ENDP +$L$SEH_end_sha256_multi_block_shaext:: +sha256_multi_block_shaext ENDP ALIGN 32 -sha256_multi_block_avx PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha256_multi_block_avx PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha256_multi_block_avx:: +$L$SEH_begin_sha256_multi_block_avx:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -_avx_shortcut:: +_avx_shortcut:: shr rcx,32 cmp edx,2 - jb $L$avx + jb $L$avx test ecx,32 - jnz _avx2_shortcut - jmp $L$avx + jnz _avx2_shortcut + jmp $L$avx ALIGN 32 -$L$avx:: +$L$avx:: mov rax,rsp push rbx push rbp - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 - movaps XMMWORD PTR[(-120)+rax],xmm10 - movaps XMMWORD PTR[(-104)+rax],xmm11 - movaps XMMWORD PTR[(-88)+rax],xmm12 - movaps XMMWORD PTR[(-72)+rax],xmm13 - movaps XMMWORD PTR[(-56)+rax],xmm14 - movaps XMMWORD PTR[(-40)+rax],xmm15 + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 + movaps XMMWORD PTR[(-120)+rax],xmm10 + movaps XMMWORD PTR[(-104)+rax],xmm11 + movaps XMMWORD PTR[(-88)+rax],xmm12 + movaps XMMWORD PTR[(-72)+rax],xmm13 + movaps XMMWORD PTR[(-56)+rax],xmm14 + movaps XMMWORD PTR[(-40)+rax],xmm15 sub rsp,288 and rsp,-256 - mov QWORD PTR[272+rsp],rax + mov QWORD PTR[272+rsp],rax -$L$body_avx:: - lea rbp,QWORD PTR[((K256+128))] - lea rbx,QWORD PTR[256+rsp] - lea rdi,QWORD PTR[128+rdi] +$L$body_avx:: + lea rbp,QWORD PTR[((K256+128))] + lea rbx,QWORD PTR[256+rsp] + lea rdi,QWORD PTR[128+rdi] -$L$oop_grande_avx:: - mov DWORD PTR[280+rsp],edx +$L$oop_grande_avx:: + mov DWORD PTR[280+rsp],edx xor edx,edx - mov r8,QWORD PTR[rsi] - mov ecx,DWORD PTR[8+rsi] + mov r8,QWORD PTR[rsi] + mov ecx,DWORD PTR[8+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[rbx],ecx + mov DWORD PTR[rbx],ecx cmovle r8,rbp - mov r9,QWORD PTR[16+rsi] - mov ecx,DWORD PTR[24+rsi] + mov r9,QWORD PTR[16+rsi] + mov ecx,DWORD PTR[24+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[4+rbx],ecx + mov DWORD PTR[4+rbx],ecx cmovle r9,rbp - mov r10,QWORD PTR[32+rsi] - mov ecx,DWORD PTR[40+rsi] + mov r10,QWORD PTR[32+rsi] + mov ecx,DWORD PTR[40+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[8+rbx],ecx + mov DWORD PTR[8+rbx],ecx cmovle r10,rbp - mov r11,QWORD PTR[48+rsi] - mov ecx,DWORD PTR[56+rsi] + mov r11,QWORD PTR[48+rsi] + mov ecx,DWORD PTR[56+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[12+rbx],ecx + mov DWORD PTR[12+rbx],ecx cmovle r11,rbp test edx,edx - jz $L$done_avx - - vmovdqu xmm8,XMMWORD PTR[((0-128))+rdi] - lea rax,QWORD PTR[128+rsp] - vmovdqu xmm9,XMMWORD PTR[((32-128))+rdi] - vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] - vmovdqu xmm11,XMMWORD PTR[((96-128))+rdi] - vmovdqu xmm12,XMMWORD PTR[((128-128))+rdi] - vmovdqu xmm13,XMMWORD PTR[((160-128))+rdi] - vmovdqu xmm14,XMMWORD PTR[((192-128))+rdi] - vmovdqu xmm15,XMMWORD PTR[((224-128))+rdi] - vmovdqu xmm6,XMMWORD PTR[$L$pbswap] - jmp $L$oop_avx + jz $L$done_avx + + vmovdqu xmm8,XMMWORD PTR[((0-128))+rdi] + lea rax,QWORD PTR[128+rsp] + vmovdqu xmm9,XMMWORD PTR[((32-128))+rdi] + vmovdqu xmm10,XMMWORD PTR[((64-128))+rdi] + vmovdqu xmm11,XMMWORD PTR[((96-128))+rdi] + vmovdqu xmm12,XMMWORD PTR[((128-128))+rdi] + vmovdqu xmm13,XMMWORD PTR[((160-128))+rdi] + vmovdqu xmm14,XMMWORD PTR[((192-128))+rdi] + vmovdqu xmm15,XMMWORD PTR[((224-128))+rdi] + vmovdqu xmm6,XMMWORD PTR[$L$pbswap] + jmp $L$oop_avx ALIGN 32 -$L$oop_avx:: +$L$oop_avx:: vpxor xmm4,xmm10,xmm9 - vmovd xmm5,DWORD PTR[r8] - vmovd xmm0,DWORD PTR[r9] - vpinsrd xmm5,xmm5,DWORD PTR[r10],1 - vpinsrd xmm0,xmm0,DWORD PTR[r11],1 + vmovd xmm5,DWORD PTR[r8] + vmovd xmm0,DWORD PTR[r9] + vpinsrd xmm5,xmm5,DWORD PTR[r10],1 + vpinsrd xmm0,xmm0,DWORD PTR[r11],1 vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm12,6 vpslld xmm2,xmm12,26 - vmovdqu XMMWORD PTR[(0-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(0-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm15 vpsrld xmm1,xmm12,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm12,21 - vpaddd xmm5,xmm5,XMMWORD PTR[((-128))+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[((-128))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm12,25 @@ -3345,21 +3345,21 @@ $L$oop_avx:: vpaddd xmm15,xmm15,xmm5 vpaddd xmm15,xmm15,xmm7 - vmovd xmm5,DWORD PTR[4+r8] - vmovd xmm0,DWORD PTR[4+r9] - vpinsrd xmm5,xmm5,DWORD PTR[4+r10],1 - vpinsrd xmm0,xmm0,DWORD PTR[4+r11],1 + vmovd xmm5,DWORD PTR[4+r8] + vmovd xmm0,DWORD PTR[4+r9] + vpinsrd xmm5,xmm5,DWORD PTR[4+r10],1 + vpinsrd xmm0,xmm0,DWORD PTR[4+r11],1 vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm11,6 vpslld xmm2,xmm11,26 - vmovdqu XMMWORD PTR[(16-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(16-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm14 vpsrld xmm1,xmm11,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm11,21 - vpaddd xmm5,xmm5,XMMWORD PTR[((-96))+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[((-96))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm11,25 @@ -3401,21 +3401,21 @@ $L$oop_avx:: vpaddd xmm14,xmm14,xmm5 vpaddd xmm14,xmm14,xmm7 - vmovd xmm5,DWORD PTR[8+r8] - vmovd xmm0,DWORD PTR[8+r9] - vpinsrd xmm5,xmm5,DWORD PTR[8+r10],1 - vpinsrd xmm0,xmm0,DWORD PTR[8+r11],1 + vmovd xmm5,DWORD PTR[8+r8] + vmovd xmm0,DWORD PTR[8+r9] + vpinsrd xmm5,xmm5,DWORD PTR[8+r10],1 + vpinsrd xmm0,xmm0,DWORD PTR[8+r11],1 vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm10,6 vpslld xmm2,xmm10,26 - vmovdqu XMMWORD PTR[(32-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(32-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm13 vpsrld xmm1,xmm10,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm10,21 - vpaddd xmm5,xmm5,XMMWORD PTR[((-64))+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[((-64))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm10,25 @@ -3457,21 +3457,21 @@ $L$oop_avx:: vpaddd xmm13,xmm13,xmm5 vpaddd xmm13,xmm13,xmm7 - vmovd xmm5,DWORD PTR[12+r8] - vmovd xmm0,DWORD PTR[12+r9] - vpinsrd xmm5,xmm5,DWORD PTR[12+r10],1 - vpinsrd xmm0,xmm0,DWORD PTR[12+r11],1 + vmovd xmm5,DWORD PTR[12+r8] + vmovd xmm0,DWORD PTR[12+r9] + vpinsrd xmm5,xmm5,DWORD PTR[12+r10],1 + vpinsrd xmm0,xmm0,DWORD PTR[12+r11],1 vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm9,6 vpslld xmm2,xmm9,26 - vmovdqu XMMWORD PTR[(48-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(48-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm12 vpsrld xmm1,xmm9,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm9,21 - vpaddd xmm5,xmm5,XMMWORD PTR[((-32))+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[((-32))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm9,25 @@ -3513,21 +3513,21 @@ $L$oop_avx:: vpaddd xmm12,xmm12,xmm5 vpaddd xmm12,xmm12,xmm7 - vmovd xmm5,DWORD PTR[16+r8] - vmovd xmm0,DWORD PTR[16+r9] - vpinsrd xmm5,xmm5,DWORD PTR[16+r10],1 - vpinsrd xmm0,xmm0,DWORD PTR[16+r11],1 + vmovd xmm5,DWORD PTR[16+r8] + vmovd xmm0,DWORD PTR[16+r9] + vpinsrd xmm5,xmm5,DWORD PTR[16+r10],1 + vpinsrd xmm0,xmm0,DWORD PTR[16+r11],1 vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm8,6 vpslld xmm2,xmm8,26 - vmovdqu XMMWORD PTR[(64-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(64-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm11 vpsrld xmm1,xmm8,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm8,21 - vpaddd xmm5,xmm5,XMMWORD PTR[rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm8,25 @@ -3569,21 +3569,21 @@ $L$oop_avx:: vpaddd xmm11,xmm11,xmm5 vpaddd xmm11,xmm11,xmm7 - vmovd xmm5,DWORD PTR[20+r8] - vmovd xmm0,DWORD PTR[20+r9] - vpinsrd xmm5,xmm5,DWORD PTR[20+r10],1 - vpinsrd xmm0,xmm0,DWORD PTR[20+r11],1 + vmovd xmm5,DWORD PTR[20+r8] + vmovd xmm0,DWORD PTR[20+r9] + vpinsrd xmm5,xmm5,DWORD PTR[20+r10],1 + vpinsrd xmm0,xmm0,DWORD PTR[20+r11],1 vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm15,6 vpslld xmm2,xmm15,26 - vmovdqu XMMWORD PTR[(80-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(80-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm10 vpsrld xmm1,xmm15,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm15,21 - vpaddd xmm5,xmm5,XMMWORD PTR[32+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[32+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm15,25 @@ -3625,21 +3625,21 @@ $L$oop_avx:: vpaddd xmm10,xmm10,xmm5 vpaddd xmm10,xmm10,xmm7 - vmovd xmm5,DWORD PTR[24+r8] - vmovd xmm0,DWORD PTR[24+r9] - vpinsrd xmm5,xmm5,DWORD PTR[24+r10],1 - vpinsrd xmm0,xmm0,DWORD PTR[24+r11],1 + vmovd xmm5,DWORD PTR[24+r8] + vmovd xmm0,DWORD PTR[24+r9] + vpinsrd xmm5,xmm5,DWORD PTR[24+r10],1 + vpinsrd xmm0,xmm0,DWORD PTR[24+r11],1 vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm14,6 vpslld xmm2,xmm14,26 - vmovdqu XMMWORD PTR[(96-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(96-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm9 vpsrld xmm1,xmm14,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm14,21 - vpaddd xmm5,xmm5,XMMWORD PTR[64+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[64+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm14,25 @@ -3681,21 +3681,21 @@ $L$oop_avx:: vpaddd xmm9,xmm9,xmm5 vpaddd xmm9,xmm9,xmm7 - vmovd xmm5,DWORD PTR[28+r8] - vmovd xmm0,DWORD PTR[28+r9] - vpinsrd xmm5,xmm5,DWORD PTR[28+r10],1 - vpinsrd xmm0,xmm0,DWORD PTR[28+r11],1 + vmovd xmm5,DWORD PTR[28+r8] + vmovd xmm0,DWORD PTR[28+r9] + vpinsrd xmm5,xmm5,DWORD PTR[28+r10],1 + vpinsrd xmm0,xmm0,DWORD PTR[28+r11],1 vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm13,6 vpslld xmm2,xmm13,26 - vmovdqu XMMWORD PTR[(112-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(112-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm8 vpsrld xmm1,xmm13,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm13,21 - vpaddd xmm5,xmm5,XMMWORD PTR[96+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[96+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm13,25 @@ -3738,21 +3738,21 @@ $L$oop_avx:: vpaddd xmm8,xmm8,xmm5 vpaddd xmm8,xmm8,xmm7 add rbp,256 - vmovd xmm5,DWORD PTR[32+r8] - vmovd xmm0,DWORD PTR[32+r9] - vpinsrd xmm5,xmm5,DWORD PTR[32+r10],1 - vpinsrd xmm0,xmm0,DWORD PTR[32+r11],1 + vmovd xmm5,DWORD PTR[32+r8] + vmovd xmm0,DWORD PTR[32+r9] + vpinsrd xmm5,xmm5,DWORD PTR[32+r10],1 + vpinsrd xmm0,xmm0,DWORD PTR[32+r11],1 vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm12,6 vpslld xmm2,xmm12,26 - vmovdqu XMMWORD PTR[(128-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(128-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm15 vpsrld xmm1,xmm12,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm12,21 - vpaddd xmm5,xmm5,XMMWORD PTR[((-128))+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[((-128))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm12,25 @@ -3794,21 +3794,21 @@ $L$oop_avx:: vpaddd xmm15,xmm15,xmm5 vpaddd xmm15,xmm15,xmm7 - vmovd xmm5,DWORD PTR[36+r8] - vmovd xmm0,DWORD PTR[36+r9] - vpinsrd xmm5,xmm5,DWORD PTR[36+r10],1 - vpinsrd xmm0,xmm0,DWORD PTR[36+r11],1 + vmovd xmm5,DWORD PTR[36+r8] + vmovd xmm0,DWORD PTR[36+r9] + vpinsrd xmm5,xmm5,DWORD PTR[36+r10],1 + vpinsrd xmm0,xmm0,DWORD PTR[36+r11],1 vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm11,6 vpslld xmm2,xmm11,26 - vmovdqu XMMWORD PTR[(144-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(144-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm14 vpsrld xmm1,xmm11,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm11,21 - vpaddd xmm5,xmm5,XMMWORD PTR[((-96))+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[((-96))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm11,25 @@ -3850,21 +3850,21 @@ $L$oop_avx:: vpaddd xmm14,xmm14,xmm5 vpaddd xmm14,xmm14,xmm7 - vmovd xmm5,DWORD PTR[40+r8] - vmovd xmm0,DWORD PTR[40+r9] - vpinsrd xmm5,xmm5,DWORD PTR[40+r10],1 - vpinsrd xmm0,xmm0,DWORD PTR[40+r11],1 + vmovd xmm5,DWORD PTR[40+r8] + vmovd xmm0,DWORD PTR[40+r9] + vpinsrd xmm5,xmm5,DWORD PTR[40+r10],1 + vpinsrd xmm0,xmm0,DWORD PTR[40+r11],1 vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm10,6 vpslld xmm2,xmm10,26 - vmovdqu XMMWORD PTR[(160-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(160-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm13 vpsrld xmm1,xmm10,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm10,21 - vpaddd xmm5,xmm5,XMMWORD PTR[((-64))+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[((-64))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm10,25 @@ -3906,21 +3906,21 @@ $L$oop_avx:: vpaddd xmm13,xmm13,xmm5 vpaddd xmm13,xmm13,xmm7 - vmovd xmm5,DWORD PTR[44+r8] - vmovd xmm0,DWORD PTR[44+r9] - vpinsrd xmm5,xmm5,DWORD PTR[44+r10],1 - vpinsrd xmm0,xmm0,DWORD PTR[44+r11],1 + vmovd xmm5,DWORD PTR[44+r8] + vmovd xmm0,DWORD PTR[44+r9] + vpinsrd xmm5,xmm5,DWORD PTR[44+r10],1 + vpinsrd xmm0,xmm0,DWORD PTR[44+r11],1 vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm9,6 vpslld xmm2,xmm9,26 - vmovdqu XMMWORD PTR[(176-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(176-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm12 vpsrld xmm1,xmm9,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm9,21 - vpaddd xmm5,xmm5,XMMWORD PTR[((-32))+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[((-32))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm9,25 @@ -3962,21 +3962,21 @@ $L$oop_avx:: vpaddd xmm12,xmm12,xmm5 vpaddd xmm12,xmm12,xmm7 - vmovd xmm5,DWORD PTR[48+r8] - vmovd xmm0,DWORD PTR[48+r9] - vpinsrd xmm5,xmm5,DWORD PTR[48+r10],1 - vpinsrd xmm0,xmm0,DWORD PTR[48+r11],1 + vmovd xmm5,DWORD PTR[48+r8] + vmovd xmm0,DWORD PTR[48+r9] + vpinsrd xmm5,xmm5,DWORD PTR[48+r10],1 + vpinsrd xmm0,xmm0,DWORD PTR[48+r11],1 vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm8,6 vpslld xmm2,xmm8,26 - vmovdqu XMMWORD PTR[(192-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(192-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm11 vpsrld xmm1,xmm8,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm8,21 - vpaddd xmm5,xmm5,XMMWORD PTR[rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm8,25 @@ -4018,21 +4018,21 @@ $L$oop_avx:: vpaddd xmm11,xmm11,xmm5 vpaddd xmm11,xmm11,xmm7 - vmovd xmm5,DWORD PTR[52+r8] - vmovd xmm0,DWORD PTR[52+r9] - vpinsrd xmm5,xmm5,DWORD PTR[52+r10],1 - vpinsrd xmm0,xmm0,DWORD PTR[52+r11],1 + vmovd xmm5,DWORD PTR[52+r8] + vmovd xmm0,DWORD PTR[52+r9] + vpinsrd xmm5,xmm5,DWORD PTR[52+r10],1 + vpinsrd xmm0,xmm0,DWORD PTR[52+r11],1 vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm15,6 vpslld xmm2,xmm15,26 - vmovdqu XMMWORD PTR[(208-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(208-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm10 vpsrld xmm1,xmm15,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm15,21 - vpaddd xmm5,xmm5,XMMWORD PTR[32+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[32+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm15,25 @@ -4074,21 +4074,21 @@ $L$oop_avx:: vpaddd xmm10,xmm10,xmm5 vpaddd xmm10,xmm10,xmm7 - vmovd xmm5,DWORD PTR[56+r8] - vmovd xmm0,DWORD PTR[56+r9] - vpinsrd xmm5,xmm5,DWORD PTR[56+r10],1 - vpinsrd xmm0,xmm0,DWORD PTR[56+r11],1 + vmovd xmm5,DWORD PTR[56+r8] + vmovd xmm0,DWORD PTR[56+r9] + vpinsrd xmm5,xmm5,DWORD PTR[56+r10],1 + vpinsrd xmm0,xmm0,DWORD PTR[56+r11],1 vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm14,6 vpslld xmm2,xmm14,26 - vmovdqu XMMWORD PTR[(224-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(224-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm9 vpsrld xmm1,xmm14,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm14,21 - vpaddd xmm5,xmm5,XMMWORD PTR[64+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[64+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm14,25 @@ -4130,25 +4130,25 @@ $L$oop_avx:: vpaddd xmm9,xmm9,xmm5 vpaddd xmm9,xmm9,xmm7 - vmovd xmm5,DWORD PTR[60+r8] - lea r8,QWORD PTR[64+r8] - vmovd xmm0,DWORD PTR[60+r9] - lea r9,QWORD PTR[64+r9] - vpinsrd xmm5,xmm5,DWORD PTR[60+r10],1 - lea r10,QWORD PTR[64+r10] - vpinsrd xmm0,xmm0,DWORD PTR[60+r11],1 - lea r11,QWORD PTR[64+r11] + vmovd xmm5,DWORD PTR[60+r8] + lea r8,QWORD PTR[64+r8] + vmovd xmm0,DWORD PTR[60+r9] + lea r9,QWORD PTR[64+r9] + vpinsrd xmm5,xmm5,DWORD PTR[60+r10],1 + lea r10,QWORD PTR[64+r10] + vpinsrd xmm0,xmm0,DWORD PTR[60+r11],1 + lea r11,QWORD PTR[64+r11] vpunpckldq xmm5,xmm5,xmm0 vpshufb xmm5,xmm5,xmm6 vpsrld xmm7,xmm13,6 vpslld xmm2,xmm13,26 - vmovdqu XMMWORD PTR[(240-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(240-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm8 vpsrld xmm1,xmm13,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm13,21 - vpaddd xmm5,xmm5,XMMWORD PTR[96+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[96+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm13,25 @@ -4191,13 +4191,13 @@ $L$oop_avx:: vpaddd xmm8,xmm8,xmm5 vpaddd xmm8,xmm8,xmm7 add rbp,256 - vmovdqu xmm5,XMMWORD PTR[((0-128))+rax] + vmovdqu xmm5,XMMWORD PTR[((0-128))+rax] mov ecx,3 - jmp $L$oop_16_xx_avx + jmp $L$oop_16_xx_avx ALIGN 32 -$L$oop_16_xx_avx:: - vmovdqu xmm6,XMMWORD PTR[((16-128))+rax] - vpaddd xmm5,xmm5,XMMWORD PTR[((144-128))+rax] +$L$oop_16_xx_avx:: + vmovdqu xmm6,XMMWORD PTR[((16-128))+rax] + vpaddd xmm5,xmm5,XMMWORD PTR[((144-128))+rax] vpsrld xmm7,xmm6,3 vpsrld xmm1,xmm6,7 @@ -4206,7 +4206,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm6,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD PTR[((224-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((224-128))+rax] vpsrld xmm3,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -4223,13 +4223,13 @@ $L$oop_16_xx_avx:: vpaddd xmm5,xmm5,xmm7 vpsrld xmm7,xmm12,6 vpslld xmm2,xmm12,26 - vmovdqu XMMWORD PTR[(0-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(0-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm15 vpsrld xmm1,xmm12,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm12,21 - vpaddd xmm5,xmm5,XMMWORD PTR[((-128))+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[((-128))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm12,25 @@ -4271,8 +4271,8 @@ $L$oop_16_xx_avx:: vpaddd xmm15,xmm15,xmm5 vpaddd xmm15,xmm15,xmm7 - vmovdqu xmm5,XMMWORD PTR[((32-128))+rax] - vpaddd xmm6,xmm6,XMMWORD PTR[((160-128))+rax] + vmovdqu xmm5,XMMWORD PTR[((32-128))+rax] + vpaddd xmm6,xmm6,XMMWORD PTR[((160-128))+rax] vpsrld xmm7,xmm5,3 vpsrld xmm1,xmm5,7 @@ -4281,7 +4281,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm5,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD PTR[((240-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((240-128))+rax] vpsrld xmm4,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -4298,13 +4298,13 @@ $L$oop_16_xx_avx:: vpaddd xmm6,xmm6,xmm7 vpsrld xmm7,xmm11,6 vpslld xmm2,xmm11,26 - vmovdqu XMMWORD PTR[(16-128)+rax],xmm6 + vmovdqu XMMWORD PTR[(16-128)+rax],xmm6 vpaddd xmm6,xmm6,xmm14 vpsrld xmm1,xmm11,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm11,21 - vpaddd xmm6,xmm6,XMMWORD PTR[((-96))+rbp] + vpaddd xmm6,xmm6,XMMWORD PTR[((-96))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm11,25 @@ -4346,8 +4346,8 @@ $L$oop_16_xx_avx:: vpaddd xmm14,xmm14,xmm6 vpaddd xmm14,xmm14,xmm7 - vmovdqu xmm6,XMMWORD PTR[((48-128))+rax] - vpaddd xmm5,xmm5,XMMWORD PTR[((176-128))+rax] + vmovdqu xmm6,XMMWORD PTR[((48-128))+rax] + vpaddd xmm5,xmm5,XMMWORD PTR[((176-128))+rax] vpsrld xmm7,xmm6,3 vpsrld xmm1,xmm6,7 @@ -4356,7 +4356,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm6,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD PTR[((0-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((0-128))+rax] vpsrld xmm3,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -4373,13 +4373,13 @@ $L$oop_16_xx_avx:: vpaddd xmm5,xmm5,xmm7 vpsrld xmm7,xmm10,6 vpslld xmm2,xmm10,26 - vmovdqu XMMWORD PTR[(32-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(32-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm13 vpsrld xmm1,xmm10,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm10,21 - vpaddd xmm5,xmm5,XMMWORD PTR[((-64))+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[((-64))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm10,25 @@ -4421,8 +4421,8 @@ $L$oop_16_xx_avx:: vpaddd xmm13,xmm13,xmm5 vpaddd xmm13,xmm13,xmm7 - vmovdqu xmm5,XMMWORD PTR[((64-128))+rax] - vpaddd xmm6,xmm6,XMMWORD PTR[((192-128))+rax] + vmovdqu xmm5,XMMWORD PTR[((64-128))+rax] + vpaddd xmm6,xmm6,XMMWORD PTR[((192-128))+rax] vpsrld xmm7,xmm5,3 vpsrld xmm1,xmm5,7 @@ -4431,7 +4431,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm5,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD PTR[((16-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((16-128))+rax] vpsrld xmm4,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -4448,13 +4448,13 @@ $L$oop_16_xx_avx:: vpaddd xmm6,xmm6,xmm7 vpsrld xmm7,xmm9,6 vpslld xmm2,xmm9,26 - vmovdqu XMMWORD PTR[(48-128)+rax],xmm6 + vmovdqu XMMWORD PTR[(48-128)+rax],xmm6 vpaddd xmm6,xmm6,xmm12 vpsrld xmm1,xmm9,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm9,21 - vpaddd xmm6,xmm6,XMMWORD PTR[((-32))+rbp] + vpaddd xmm6,xmm6,XMMWORD PTR[((-32))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm9,25 @@ -4496,8 +4496,8 @@ $L$oop_16_xx_avx:: vpaddd xmm12,xmm12,xmm6 vpaddd xmm12,xmm12,xmm7 - vmovdqu xmm6,XMMWORD PTR[((80-128))+rax] - vpaddd xmm5,xmm5,XMMWORD PTR[((208-128))+rax] + vmovdqu xmm6,XMMWORD PTR[((80-128))+rax] + vpaddd xmm5,xmm5,XMMWORD PTR[((208-128))+rax] vpsrld xmm7,xmm6,3 vpsrld xmm1,xmm6,7 @@ -4506,7 +4506,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm6,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD PTR[((32-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((32-128))+rax] vpsrld xmm3,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -4523,13 +4523,13 @@ $L$oop_16_xx_avx:: vpaddd xmm5,xmm5,xmm7 vpsrld xmm7,xmm8,6 vpslld xmm2,xmm8,26 - vmovdqu XMMWORD PTR[(64-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(64-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm11 vpsrld xmm1,xmm8,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm8,21 - vpaddd xmm5,xmm5,XMMWORD PTR[rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm8,25 @@ -4571,8 +4571,8 @@ $L$oop_16_xx_avx:: vpaddd xmm11,xmm11,xmm5 vpaddd xmm11,xmm11,xmm7 - vmovdqu xmm5,XMMWORD PTR[((96-128))+rax] - vpaddd xmm6,xmm6,XMMWORD PTR[((224-128))+rax] + vmovdqu xmm5,XMMWORD PTR[((96-128))+rax] + vpaddd xmm6,xmm6,XMMWORD PTR[((224-128))+rax] vpsrld xmm7,xmm5,3 vpsrld xmm1,xmm5,7 @@ -4581,7 +4581,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm5,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD PTR[((48-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((48-128))+rax] vpsrld xmm4,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -4598,13 +4598,13 @@ $L$oop_16_xx_avx:: vpaddd xmm6,xmm6,xmm7 vpsrld xmm7,xmm15,6 vpslld xmm2,xmm15,26 - vmovdqu XMMWORD PTR[(80-128)+rax],xmm6 + vmovdqu XMMWORD PTR[(80-128)+rax],xmm6 vpaddd xmm6,xmm6,xmm10 vpsrld xmm1,xmm15,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm15,21 - vpaddd xmm6,xmm6,XMMWORD PTR[32+rbp] + vpaddd xmm6,xmm6,XMMWORD PTR[32+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm15,25 @@ -4646,8 +4646,8 @@ $L$oop_16_xx_avx:: vpaddd xmm10,xmm10,xmm6 vpaddd xmm10,xmm10,xmm7 - vmovdqu xmm6,XMMWORD PTR[((112-128))+rax] - vpaddd xmm5,xmm5,XMMWORD PTR[((240-128))+rax] + vmovdqu xmm6,XMMWORD PTR[((112-128))+rax] + vpaddd xmm5,xmm5,XMMWORD PTR[((240-128))+rax] vpsrld xmm7,xmm6,3 vpsrld xmm1,xmm6,7 @@ -4656,7 +4656,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm6,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD PTR[((64-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((64-128))+rax] vpsrld xmm3,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -4673,13 +4673,13 @@ $L$oop_16_xx_avx:: vpaddd xmm5,xmm5,xmm7 vpsrld xmm7,xmm14,6 vpslld xmm2,xmm14,26 - vmovdqu XMMWORD PTR[(96-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(96-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm9 vpsrld xmm1,xmm14,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm14,21 - vpaddd xmm5,xmm5,XMMWORD PTR[64+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[64+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm14,25 @@ -4721,8 +4721,8 @@ $L$oop_16_xx_avx:: vpaddd xmm9,xmm9,xmm5 vpaddd xmm9,xmm9,xmm7 - vmovdqu xmm5,XMMWORD PTR[((128-128))+rax] - vpaddd xmm6,xmm6,XMMWORD PTR[((0-128))+rax] + vmovdqu xmm5,XMMWORD PTR[((128-128))+rax] + vpaddd xmm6,xmm6,XMMWORD PTR[((0-128))+rax] vpsrld xmm7,xmm5,3 vpsrld xmm1,xmm5,7 @@ -4731,7 +4731,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm5,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD PTR[((80-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((80-128))+rax] vpsrld xmm4,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -4748,13 +4748,13 @@ $L$oop_16_xx_avx:: vpaddd xmm6,xmm6,xmm7 vpsrld xmm7,xmm13,6 vpslld xmm2,xmm13,26 - vmovdqu XMMWORD PTR[(112-128)+rax],xmm6 + vmovdqu XMMWORD PTR[(112-128)+rax],xmm6 vpaddd xmm6,xmm6,xmm8 vpsrld xmm1,xmm13,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm13,21 - vpaddd xmm6,xmm6,XMMWORD PTR[96+rbp] + vpaddd xmm6,xmm6,XMMWORD PTR[96+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm13,25 @@ -4797,8 +4797,8 @@ $L$oop_16_xx_avx:: vpaddd xmm8,xmm8,xmm6 vpaddd xmm8,xmm8,xmm7 add rbp,256 - vmovdqu xmm6,XMMWORD PTR[((144-128))+rax] - vpaddd xmm5,xmm5,XMMWORD PTR[((16-128))+rax] + vmovdqu xmm6,XMMWORD PTR[((144-128))+rax] + vpaddd xmm5,xmm5,XMMWORD PTR[((16-128))+rax] vpsrld xmm7,xmm6,3 vpsrld xmm1,xmm6,7 @@ -4807,7 +4807,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm6,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD PTR[((96-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((96-128))+rax] vpsrld xmm3,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -4824,13 +4824,13 @@ $L$oop_16_xx_avx:: vpaddd xmm5,xmm5,xmm7 vpsrld xmm7,xmm12,6 vpslld xmm2,xmm12,26 - vmovdqu XMMWORD PTR[(128-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(128-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm15 vpsrld xmm1,xmm12,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm12,21 - vpaddd xmm5,xmm5,XMMWORD PTR[((-128))+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[((-128))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm12,25 @@ -4872,8 +4872,8 @@ $L$oop_16_xx_avx:: vpaddd xmm15,xmm15,xmm5 vpaddd xmm15,xmm15,xmm7 - vmovdqu xmm5,XMMWORD PTR[((160-128))+rax] - vpaddd xmm6,xmm6,XMMWORD PTR[((32-128))+rax] + vmovdqu xmm5,XMMWORD PTR[((160-128))+rax] + vpaddd xmm6,xmm6,XMMWORD PTR[((32-128))+rax] vpsrld xmm7,xmm5,3 vpsrld xmm1,xmm5,7 @@ -4882,7 +4882,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm5,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD PTR[((112-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((112-128))+rax] vpsrld xmm4,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -4899,13 +4899,13 @@ $L$oop_16_xx_avx:: vpaddd xmm6,xmm6,xmm7 vpsrld xmm7,xmm11,6 vpslld xmm2,xmm11,26 - vmovdqu XMMWORD PTR[(144-128)+rax],xmm6 + vmovdqu XMMWORD PTR[(144-128)+rax],xmm6 vpaddd xmm6,xmm6,xmm14 vpsrld xmm1,xmm11,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm11,21 - vpaddd xmm6,xmm6,XMMWORD PTR[((-96))+rbp] + vpaddd xmm6,xmm6,XMMWORD PTR[((-96))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm11,25 @@ -4947,8 +4947,8 @@ $L$oop_16_xx_avx:: vpaddd xmm14,xmm14,xmm6 vpaddd xmm14,xmm14,xmm7 - vmovdqu xmm6,XMMWORD PTR[((176-128))+rax] - vpaddd xmm5,xmm5,XMMWORD PTR[((48-128))+rax] + vmovdqu xmm6,XMMWORD PTR[((176-128))+rax] + vpaddd xmm5,xmm5,XMMWORD PTR[((48-128))+rax] vpsrld xmm7,xmm6,3 vpsrld xmm1,xmm6,7 @@ -4957,7 +4957,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm6,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD PTR[((128-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((128-128))+rax] vpsrld xmm3,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -4974,13 +4974,13 @@ $L$oop_16_xx_avx:: vpaddd xmm5,xmm5,xmm7 vpsrld xmm7,xmm10,6 vpslld xmm2,xmm10,26 - vmovdqu XMMWORD PTR[(160-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(160-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm13 vpsrld xmm1,xmm10,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm10,21 - vpaddd xmm5,xmm5,XMMWORD PTR[((-64))+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[((-64))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm10,25 @@ -5022,8 +5022,8 @@ $L$oop_16_xx_avx:: vpaddd xmm13,xmm13,xmm5 vpaddd xmm13,xmm13,xmm7 - vmovdqu xmm5,XMMWORD PTR[((192-128))+rax] - vpaddd xmm6,xmm6,XMMWORD PTR[((64-128))+rax] + vmovdqu xmm5,XMMWORD PTR[((192-128))+rax] + vpaddd xmm6,xmm6,XMMWORD PTR[((64-128))+rax] vpsrld xmm7,xmm5,3 vpsrld xmm1,xmm5,7 @@ -5032,7 +5032,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm5,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD PTR[((144-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((144-128))+rax] vpsrld xmm4,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -5049,13 +5049,13 @@ $L$oop_16_xx_avx:: vpaddd xmm6,xmm6,xmm7 vpsrld xmm7,xmm9,6 vpslld xmm2,xmm9,26 - vmovdqu XMMWORD PTR[(176-128)+rax],xmm6 + vmovdqu XMMWORD PTR[(176-128)+rax],xmm6 vpaddd xmm6,xmm6,xmm12 vpsrld xmm1,xmm9,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm9,21 - vpaddd xmm6,xmm6,XMMWORD PTR[((-32))+rbp] + vpaddd xmm6,xmm6,XMMWORD PTR[((-32))+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm9,25 @@ -5097,8 +5097,8 @@ $L$oop_16_xx_avx:: vpaddd xmm12,xmm12,xmm6 vpaddd xmm12,xmm12,xmm7 - vmovdqu xmm6,XMMWORD PTR[((208-128))+rax] - vpaddd xmm5,xmm5,XMMWORD PTR[((80-128))+rax] + vmovdqu xmm6,XMMWORD PTR[((208-128))+rax] + vpaddd xmm5,xmm5,XMMWORD PTR[((80-128))+rax] vpsrld xmm7,xmm6,3 vpsrld xmm1,xmm6,7 @@ -5107,7 +5107,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm6,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD PTR[((160-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((160-128))+rax] vpsrld xmm3,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -5124,13 +5124,13 @@ $L$oop_16_xx_avx:: vpaddd xmm5,xmm5,xmm7 vpsrld xmm7,xmm8,6 vpslld xmm2,xmm8,26 - vmovdqu XMMWORD PTR[(192-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(192-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm11 vpsrld xmm1,xmm8,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm8,21 - vpaddd xmm5,xmm5,XMMWORD PTR[rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm8,25 @@ -5172,8 +5172,8 @@ $L$oop_16_xx_avx:: vpaddd xmm11,xmm11,xmm5 vpaddd xmm11,xmm11,xmm7 - vmovdqu xmm5,XMMWORD PTR[((224-128))+rax] - vpaddd xmm6,xmm6,XMMWORD PTR[((96-128))+rax] + vmovdqu xmm5,XMMWORD PTR[((224-128))+rax] + vpaddd xmm6,xmm6,XMMWORD PTR[((96-128))+rax] vpsrld xmm7,xmm5,3 vpsrld xmm1,xmm5,7 @@ -5182,7 +5182,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm5,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD PTR[((176-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((176-128))+rax] vpsrld xmm4,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -5199,13 +5199,13 @@ $L$oop_16_xx_avx:: vpaddd xmm6,xmm6,xmm7 vpsrld xmm7,xmm15,6 vpslld xmm2,xmm15,26 - vmovdqu XMMWORD PTR[(208-128)+rax],xmm6 + vmovdqu XMMWORD PTR[(208-128)+rax],xmm6 vpaddd xmm6,xmm6,xmm10 vpsrld xmm1,xmm15,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm15,21 - vpaddd xmm6,xmm6,XMMWORD PTR[32+rbp] + vpaddd xmm6,xmm6,XMMWORD PTR[32+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm15,25 @@ -5247,8 +5247,8 @@ $L$oop_16_xx_avx:: vpaddd xmm10,xmm10,xmm6 vpaddd xmm10,xmm10,xmm7 - vmovdqu xmm6,XMMWORD PTR[((240-128))+rax] - vpaddd xmm5,xmm5,XMMWORD PTR[((112-128))+rax] + vmovdqu xmm6,XMMWORD PTR[((240-128))+rax] + vpaddd xmm5,xmm5,XMMWORD PTR[((112-128))+rax] vpsrld xmm7,xmm6,3 vpsrld xmm1,xmm6,7 @@ -5257,7 +5257,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm6,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD PTR[((192-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((192-128))+rax] vpsrld xmm3,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -5274,13 +5274,13 @@ $L$oop_16_xx_avx:: vpaddd xmm5,xmm5,xmm7 vpsrld xmm7,xmm14,6 vpslld xmm2,xmm14,26 - vmovdqu XMMWORD PTR[(224-128)+rax],xmm5 + vmovdqu XMMWORD PTR[(224-128)+rax],xmm5 vpaddd xmm5,xmm5,xmm9 vpsrld xmm1,xmm14,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm14,21 - vpaddd xmm5,xmm5,XMMWORD PTR[64+rbp] + vpaddd xmm5,xmm5,XMMWORD PTR[64+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm14,25 @@ -5322,8 +5322,8 @@ $L$oop_16_xx_avx:: vpaddd xmm9,xmm9,xmm5 vpaddd xmm9,xmm9,xmm7 - vmovdqu xmm5,XMMWORD PTR[((0-128))+rax] - vpaddd xmm6,xmm6,XMMWORD PTR[((128-128))+rax] + vmovdqu xmm5,XMMWORD PTR[((0-128))+rax] + vpaddd xmm6,xmm6,XMMWORD PTR[((128-128))+rax] vpsrld xmm7,xmm5,3 vpsrld xmm1,xmm5,7 @@ -5332,7 +5332,7 @@ $L$oop_16_xx_avx:: vpsrld xmm1,xmm5,18 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD PTR[((208-128))+rax] + vmovdqu xmm0,XMMWORD PTR[((208-128))+rax] vpsrld xmm4,xmm0,10 vpxor xmm7,xmm7,xmm1 @@ -5349,13 +5349,13 @@ $L$oop_16_xx_avx:: vpaddd xmm6,xmm6,xmm7 vpsrld xmm7,xmm13,6 vpslld xmm2,xmm13,26 - vmovdqu XMMWORD PTR[(240-128)+rax],xmm6 + vmovdqu XMMWORD PTR[(240-128)+rax],xmm6 vpaddd xmm6,xmm6,xmm8 vpsrld xmm1,xmm13,11 vpxor xmm7,xmm7,xmm2 vpslld xmm2,xmm13,21 - vpaddd xmm6,xmm6,XMMWORD PTR[96+rbp] + vpaddd xmm6,xmm6,XMMWORD PTR[96+rbp] vpxor xmm7,xmm7,xmm1 vpsrld xmm1,xmm13,25 @@ -5399,109 +5399,109 @@ $L$oop_16_xx_avx:: vpaddd xmm8,xmm8,xmm7 add rbp,256 dec ecx - jnz $L$oop_16_xx_avx + jnz $L$oop_16_xx_avx mov ecx,1 - lea rbp,QWORD PTR[((K256+128))] - cmp ecx,DWORD PTR[rbx] + lea rbp,QWORD PTR[((K256+128))] + cmp ecx,DWORD PTR[rbx] cmovge r8,rbp - cmp ecx,DWORD PTR[4+rbx] + cmp ecx,DWORD PTR[4+rbx] cmovge r9,rbp - cmp ecx,DWORD PTR[8+rbx] + cmp ecx,DWORD PTR[8+rbx] cmovge r10,rbp - cmp ecx,DWORD PTR[12+rbx] + cmp ecx,DWORD PTR[12+rbx] cmovge r11,rbp - vmovdqa xmm7,XMMWORD PTR[rbx] + vmovdqa xmm7,XMMWORD PTR[rbx] vpxor xmm0,xmm0,xmm0 vmovdqa xmm6,xmm7 vpcmpgtd xmm6,xmm6,xmm0 vpaddd xmm7,xmm7,xmm6 - vmovdqu xmm0,XMMWORD PTR[((0-128))+rdi] + vmovdqu xmm0,XMMWORD PTR[((0-128))+rdi] vpand xmm8,xmm8,xmm6 - vmovdqu xmm1,XMMWORD PTR[((32-128))+rdi] + vmovdqu xmm1,XMMWORD PTR[((32-128))+rdi] vpand xmm9,xmm9,xmm6 - vmovdqu xmm2,XMMWORD PTR[((64-128))+rdi] + vmovdqu xmm2,XMMWORD PTR[((64-128))+rdi] vpand xmm10,xmm10,xmm6 - vmovdqu xmm5,XMMWORD PTR[((96-128))+rdi] + vmovdqu xmm5,XMMWORD PTR[((96-128))+rdi] vpand xmm11,xmm11,xmm6 vpaddd xmm8,xmm8,xmm0 - vmovdqu xmm0,XMMWORD PTR[((128-128))+rdi] + vmovdqu xmm0,XMMWORD PTR[((128-128))+rdi] vpand xmm12,xmm12,xmm6 vpaddd xmm9,xmm9,xmm1 - vmovdqu xmm1,XMMWORD PTR[((160-128))+rdi] + vmovdqu xmm1,XMMWORD PTR[((160-128))+rdi] vpand xmm13,xmm13,xmm6 vpaddd xmm10,xmm10,xmm2 - vmovdqu xmm2,XMMWORD PTR[((192-128))+rdi] + vmovdqu xmm2,XMMWORD PTR[((192-128))+rdi] vpand xmm14,xmm14,xmm6 vpaddd xmm11,xmm11,xmm5 - vmovdqu xmm5,XMMWORD PTR[((224-128))+rdi] + vmovdqu xmm5,XMMWORD PTR[((224-128))+rdi] vpand xmm15,xmm15,xmm6 vpaddd xmm12,xmm12,xmm0 vpaddd xmm13,xmm13,xmm1 - vmovdqu XMMWORD PTR[(0-128)+rdi],xmm8 + vmovdqu XMMWORD PTR[(0-128)+rdi],xmm8 vpaddd xmm14,xmm14,xmm2 - vmovdqu XMMWORD PTR[(32-128)+rdi],xmm9 + vmovdqu XMMWORD PTR[(32-128)+rdi],xmm9 vpaddd xmm15,xmm15,xmm5 - vmovdqu XMMWORD PTR[(64-128)+rdi],xmm10 - vmovdqu XMMWORD PTR[(96-128)+rdi],xmm11 - vmovdqu XMMWORD PTR[(128-128)+rdi],xmm12 - vmovdqu XMMWORD PTR[(160-128)+rdi],xmm13 - vmovdqu XMMWORD PTR[(192-128)+rdi],xmm14 - vmovdqu XMMWORD PTR[(224-128)+rdi],xmm15 - - vmovdqu XMMWORD PTR[rbx],xmm7 - vmovdqu xmm6,XMMWORD PTR[$L$pbswap] + vmovdqu XMMWORD PTR[(64-128)+rdi],xmm10 + vmovdqu XMMWORD PTR[(96-128)+rdi],xmm11 + vmovdqu XMMWORD PTR[(128-128)+rdi],xmm12 + vmovdqu XMMWORD PTR[(160-128)+rdi],xmm13 + vmovdqu XMMWORD PTR[(192-128)+rdi],xmm14 + vmovdqu XMMWORD PTR[(224-128)+rdi],xmm15 + + vmovdqu XMMWORD PTR[rbx],xmm7 + vmovdqu xmm6,XMMWORD PTR[$L$pbswap] dec edx - jnz $L$oop_avx + jnz $L$oop_avx - mov edx,DWORD PTR[280+rsp] - lea rdi,QWORD PTR[16+rdi] - lea rsi,QWORD PTR[64+rsi] + mov edx,DWORD PTR[280+rsp] + lea rdi,QWORD PTR[16+rdi] + lea rsi,QWORD PTR[64+rsi] dec edx - jnz $L$oop_grande_avx + jnz $L$oop_grande_avx -$L$done_avx:: - mov rax,QWORD PTR[272+rsp] +$L$done_avx:: + mov rax,QWORD PTR[272+rsp] vzeroupper - movaps xmm6,XMMWORD PTR[((-184))+rax] - movaps xmm7,XMMWORD PTR[((-168))+rax] - movaps xmm8,XMMWORD PTR[((-152))+rax] - movaps xmm9,XMMWORD PTR[((-136))+rax] - movaps xmm10,XMMWORD PTR[((-120))+rax] - movaps xmm11,XMMWORD PTR[((-104))+rax] - movaps xmm12,XMMWORD PTR[((-88))+rax] - movaps xmm13,XMMWORD PTR[((-72))+rax] - movaps xmm14,XMMWORD PTR[((-56))+rax] - movaps xmm15,XMMWORD PTR[((-40))+rax] - mov rbp,QWORD PTR[((-16))+rax] - - mov rbx,QWORD PTR[((-8))+rax] - - lea rsp,QWORD PTR[rax] - -$L$epilogue_avx:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movaps xmm6,XMMWORD PTR[((-184))+rax] + movaps xmm7,XMMWORD PTR[((-168))+rax] + movaps xmm8,XMMWORD PTR[((-152))+rax] + movaps xmm9,XMMWORD PTR[((-136))+rax] + movaps xmm10,XMMWORD PTR[((-120))+rax] + movaps xmm11,XMMWORD PTR[((-104))+rax] + movaps xmm12,XMMWORD PTR[((-88))+rax] + movaps xmm13,XMMWORD PTR[((-72))+rax] + movaps xmm14,XMMWORD PTR[((-56))+rax] + movaps xmm15,XMMWORD PTR[((-40))+rax] + mov rbp,QWORD PTR[((-16))+rax] + + mov rbx,QWORD PTR[((-8))+rax] + + lea rsp,QWORD PTR[rax] + +$L$epilogue_avx:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_multi_block_avx:: -sha256_multi_block_avx ENDP +$L$SEH_end_sha256_multi_block_avx:: +sha256_multi_block_avx ENDP ALIGN 32 -sha256_multi_block_avx2 PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha256_multi_block_avx2 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha256_multi_block_avx2:: +$L$SEH_begin_sha256_multi_block_avx2:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -_avx2_shortcut:: +_avx2_shortcut:: mov rax,rsp push rbx @@ -5516,122 +5516,122 @@ _avx2_shortcut:: push r15 - lea rsp,QWORD PTR[((-168))+rsp] - movaps XMMWORD PTR[rsp],xmm6 - movaps XMMWORD PTR[16+rsp],xmm7 - movaps XMMWORD PTR[32+rsp],xmm8 - movaps XMMWORD PTR[48+rsp],xmm9 - movaps XMMWORD PTR[64+rsp],xmm10 - movaps XMMWORD PTR[80+rsp],xmm11 - movaps XMMWORD PTR[(-120)+rax],xmm12 - movaps XMMWORD PTR[(-104)+rax],xmm13 - movaps XMMWORD PTR[(-88)+rax],xmm14 - movaps XMMWORD PTR[(-72)+rax],xmm15 + lea rsp,QWORD PTR[((-168))+rsp] + movaps XMMWORD PTR[rsp],xmm6 + movaps XMMWORD PTR[16+rsp],xmm7 + movaps XMMWORD PTR[32+rsp],xmm8 + movaps XMMWORD PTR[48+rsp],xmm9 + movaps XMMWORD PTR[64+rsp],xmm10 + movaps XMMWORD PTR[80+rsp],xmm11 + movaps XMMWORD PTR[(-120)+rax],xmm12 + movaps XMMWORD PTR[(-104)+rax],xmm13 + movaps XMMWORD PTR[(-88)+rax],xmm14 + movaps XMMWORD PTR[(-72)+rax],xmm15 sub rsp,576 and rsp,-256 - mov QWORD PTR[544+rsp],rax + mov QWORD PTR[544+rsp],rax -$L$body_avx2:: - lea rbp,QWORD PTR[((K256+128))] - lea rdi,QWORD PTR[128+rdi] +$L$body_avx2:: + lea rbp,QWORD PTR[((K256+128))] + lea rdi,QWORD PTR[128+rdi] -$L$oop_grande_avx2:: - mov DWORD PTR[552+rsp],edx +$L$oop_grande_avx2:: + mov DWORD PTR[552+rsp],edx xor edx,edx - lea rbx,QWORD PTR[512+rsp] - mov r12,QWORD PTR[rsi] - mov ecx,DWORD PTR[8+rsi] + lea rbx,QWORD PTR[512+rsp] + mov r12,QWORD PTR[rsi] + mov ecx,DWORD PTR[8+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[rbx],ecx + mov DWORD PTR[rbx],ecx cmovle r12,rbp - mov r13,QWORD PTR[16+rsi] - mov ecx,DWORD PTR[24+rsi] + mov r13,QWORD PTR[16+rsi] + mov ecx,DWORD PTR[24+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[4+rbx],ecx + mov DWORD PTR[4+rbx],ecx cmovle r13,rbp - mov r14,QWORD PTR[32+rsi] - mov ecx,DWORD PTR[40+rsi] + mov r14,QWORD PTR[32+rsi] + mov ecx,DWORD PTR[40+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[8+rbx],ecx + mov DWORD PTR[8+rbx],ecx cmovle r14,rbp - mov r15,QWORD PTR[48+rsi] - mov ecx,DWORD PTR[56+rsi] + mov r15,QWORD PTR[48+rsi] + mov ecx,DWORD PTR[56+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[12+rbx],ecx + mov DWORD PTR[12+rbx],ecx cmovle r15,rbp - mov r8,QWORD PTR[64+rsi] - mov ecx,DWORD PTR[72+rsi] + mov r8,QWORD PTR[64+rsi] + mov ecx,DWORD PTR[72+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[16+rbx],ecx + mov DWORD PTR[16+rbx],ecx cmovle r8,rbp - mov r9,QWORD PTR[80+rsi] - mov ecx,DWORD PTR[88+rsi] + mov r9,QWORD PTR[80+rsi] + mov ecx,DWORD PTR[88+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[20+rbx],ecx + mov DWORD PTR[20+rbx],ecx cmovle r9,rbp - mov r10,QWORD PTR[96+rsi] - mov ecx,DWORD PTR[104+rsi] + mov r10,QWORD PTR[96+rsi] + mov ecx,DWORD PTR[104+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[24+rbx],ecx + mov DWORD PTR[24+rbx],ecx cmovle r10,rbp - mov r11,QWORD PTR[112+rsi] - mov ecx,DWORD PTR[120+rsi] + mov r11,QWORD PTR[112+rsi] + mov ecx,DWORD PTR[120+rsi] cmp ecx,edx cmovg edx,ecx test ecx,ecx - mov DWORD PTR[28+rbx],ecx + mov DWORD PTR[28+rbx],ecx cmovle r11,rbp - vmovdqu ymm8,YMMWORD PTR[((0-128))+rdi] - lea rax,QWORD PTR[128+rsp] - vmovdqu ymm9,YMMWORD PTR[((32-128))+rdi] - lea rbx,QWORD PTR[((256+128))+rsp] - vmovdqu ymm10,YMMWORD PTR[((64-128))+rdi] - vmovdqu ymm11,YMMWORD PTR[((96-128))+rdi] - vmovdqu ymm12,YMMWORD PTR[((128-128))+rdi] - vmovdqu ymm13,YMMWORD PTR[((160-128))+rdi] - vmovdqu ymm14,YMMWORD PTR[((192-128))+rdi] - vmovdqu ymm15,YMMWORD PTR[((224-128))+rdi] - vmovdqu ymm6,YMMWORD PTR[$L$pbswap] - jmp $L$oop_avx2 + vmovdqu ymm8,YMMWORD PTR[((0-128))+rdi] + lea rax,QWORD PTR[128+rsp] + vmovdqu ymm9,YMMWORD PTR[((32-128))+rdi] + lea rbx,QWORD PTR[((256+128))+rsp] + vmovdqu ymm10,YMMWORD PTR[((64-128))+rdi] + vmovdqu ymm11,YMMWORD PTR[((96-128))+rdi] + vmovdqu ymm12,YMMWORD PTR[((128-128))+rdi] + vmovdqu ymm13,YMMWORD PTR[((160-128))+rdi] + vmovdqu ymm14,YMMWORD PTR[((192-128))+rdi] + vmovdqu ymm15,YMMWORD PTR[((224-128))+rdi] + vmovdqu ymm6,YMMWORD PTR[$L$pbswap] + jmp $L$oop_avx2 ALIGN 32 -$L$oop_avx2:: +$L$oop_avx2:: vpxor ymm4,ymm10,ymm9 - vmovd xmm5,DWORD PTR[r12] - vmovd xmm0,DWORD PTR[r8] - vmovd xmm1,DWORD PTR[r13] - vmovd xmm2,DWORD PTR[r9] - vpinsrd xmm5,xmm5,DWORD PTR[r14],1 - vpinsrd xmm0,xmm0,DWORD PTR[r10],1 - vpinsrd xmm1,xmm1,DWORD PTR[r15],1 + vmovd xmm5,DWORD PTR[r12] + vmovd xmm0,DWORD PTR[r8] + vmovd xmm1,DWORD PTR[r13] + vmovd xmm2,DWORD PTR[r9] + vpinsrd xmm5,xmm5,DWORD PTR[r14],1 + vpinsrd xmm0,xmm0,DWORD PTR[r10],1 + vpinsrd xmm1,xmm1,DWORD PTR[r15],1 vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[r11],1 vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm12,6 vpslld ymm2,ymm12,26 - vmovdqu YMMWORD PTR[(0-128)+rax],ymm5 + vmovdqu YMMWORD PTR[(0-128)+rax],ymm5 vpaddd ymm5,ymm5,ymm15 vpsrld ymm1,ymm12,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm12,21 - vpaddd ymm5,ymm5,YMMWORD PTR[((-128))+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[((-128))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm12,25 @@ -5673,27 +5673,27 @@ $L$oop_avx2:: vpaddd ymm15,ymm15,ymm5 vpaddd ymm15,ymm15,ymm7 - vmovd xmm5,DWORD PTR[4+r12] - vmovd xmm0,DWORD PTR[4+r8] - vmovd xmm1,DWORD PTR[4+r13] - vmovd xmm2,DWORD PTR[4+r9] - vpinsrd xmm5,xmm5,DWORD PTR[4+r14],1 - vpinsrd xmm0,xmm0,DWORD PTR[4+r10],1 - vpinsrd xmm1,xmm1,DWORD PTR[4+r15],1 + vmovd xmm5,DWORD PTR[4+r12] + vmovd xmm0,DWORD PTR[4+r8] + vmovd xmm1,DWORD PTR[4+r13] + vmovd xmm2,DWORD PTR[4+r9] + vpinsrd xmm5,xmm5,DWORD PTR[4+r14],1 + vpinsrd xmm0,xmm0,DWORD PTR[4+r10],1 + vpinsrd xmm1,xmm1,DWORD PTR[4+r15],1 vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[4+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[4+r11],1 vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm11,6 vpslld ymm2,ymm11,26 - vmovdqu YMMWORD PTR[(32-128)+rax],ymm5 + vmovdqu YMMWORD PTR[(32-128)+rax],ymm5 vpaddd ymm5,ymm5,ymm14 vpsrld ymm1,ymm11,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm11,21 - vpaddd ymm5,ymm5,YMMWORD PTR[((-96))+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[((-96))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm11,25 @@ -5735,27 +5735,27 @@ $L$oop_avx2:: vpaddd ymm14,ymm14,ymm5 vpaddd ymm14,ymm14,ymm7 - vmovd xmm5,DWORD PTR[8+r12] - vmovd xmm0,DWORD PTR[8+r8] - vmovd xmm1,DWORD PTR[8+r13] - vmovd xmm2,DWORD PTR[8+r9] - vpinsrd xmm5,xmm5,DWORD PTR[8+r14],1 - vpinsrd xmm0,xmm0,DWORD PTR[8+r10],1 - vpinsrd xmm1,xmm1,DWORD PTR[8+r15],1 + vmovd xmm5,DWORD PTR[8+r12] + vmovd xmm0,DWORD PTR[8+r8] + vmovd xmm1,DWORD PTR[8+r13] + vmovd xmm2,DWORD PTR[8+r9] + vpinsrd xmm5,xmm5,DWORD PTR[8+r14],1 + vpinsrd xmm0,xmm0,DWORD PTR[8+r10],1 + vpinsrd xmm1,xmm1,DWORD PTR[8+r15],1 vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[8+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[8+r11],1 vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm10,6 vpslld ymm2,ymm10,26 - vmovdqu YMMWORD PTR[(64-128)+rax],ymm5 + vmovdqu YMMWORD PTR[(64-128)+rax],ymm5 vpaddd ymm5,ymm5,ymm13 vpsrld ymm1,ymm10,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm10,21 - vpaddd ymm5,ymm5,YMMWORD PTR[((-64))+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[((-64))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm10,25 @@ -5797,27 +5797,27 @@ $L$oop_avx2:: vpaddd ymm13,ymm13,ymm5 vpaddd ymm13,ymm13,ymm7 - vmovd xmm5,DWORD PTR[12+r12] - vmovd xmm0,DWORD PTR[12+r8] - vmovd xmm1,DWORD PTR[12+r13] - vmovd xmm2,DWORD PTR[12+r9] - vpinsrd xmm5,xmm5,DWORD PTR[12+r14],1 - vpinsrd xmm0,xmm0,DWORD PTR[12+r10],1 - vpinsrd xmm1,xmm1,DWORD PTR[12+r15],1 + vmovd xmm5,DWORD PTR[12+r12] + vmovd xmm0,DWORD PTR[12+r8] + vmovd xmm1,DWORD PTR[12+r13] + vmovd xmm2,DWORD PTR[12+r9] + vpinsrd xmm5,xmm5,DWORD PTR[12+r14],1 + vpinsrd xmm0,xmm0,DWORD PTR[12+r10],1 + vpinsrd xmm1,xmm1,DWORD PTR[12+r15],1 vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[12+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[12+r11],1 vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm9,6 vpslld ymm2,ymm9,26 - vmovdqu YMMWORD PTR[(96-128)+rax],ymm5 + vmovdqu YMMWORD PTR[(96-128)+rax],ymm5 vpaddd ymm5,ymm5,ymm12 vpsrld ymm1,ymm9,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm9,21 - vpaddd ymm5,ymm5,YMMWORD PTR[((-32))+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[((-32))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm9,25 @@ -5859,27 +5859,27 @@ $L$oop_avx2:: vpaddd ymm12,ymm12,ymm5 vpaddd ymm12,ymm12,ymm7 - vmovd xmm5,DWORD PTR[16+r12] - vmovd xmm0,DWORD PTR[16+r8] - vmovd xmm1,DWORD PTR[16+r13] - vmovd xmm2,DWORD PTR[16+r9] - vpinsrd xmm5,xmm5,DWORD PTR[16+r14],1 - vpinsrd xmm0,xmm0,DWORD PTR[16+r10],1 - vpinsrd xmm1,xmm1,DWORD PTR[16+r15],1 + vmovd xmm5,DWORD PTR[16+r12] + vmovd xmm0,DWORD PTR[16+r8] + vmovd xmm1,DWORD PTR[16+r13] + vmovd xmm2,DWORD PTR[16+r9] + vpinsrd xmm5,xmm5,DWORD PTR[16+r14],1 + vpinsrd xmm0,xmm0,DWORD PTR[16+r10],1 + vpinsrd xmm1,xmm1,DWORD PTR[16+r15],1 vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[16+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[16+r11],1 vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm8,6 vpslld ymm2,ymm8,26 - vmovdqu YMMWORD PTR[(128-128)+rax],ymm5 + vmovdqu YMMWORD PTR[(128-128)+rax],ymm5 vpaddd ymm5,ymm5,ymm11 vpsrld ymm1,ymm8,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm8,21 - vpaddd ymm5,ymm5,YMMWORD PTR[rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm8,25 @@ -5921,27 +5921,27 @@ $L$oop_avx2:: vpaddd ymm11,ymm11,ymm5 vpaddd ymm11,ymm11,ymm7 - vmovd xmm5,DWORD PTR[20+r12] - vmovd xmm0,DWORD PTR[20+r8] - vmovd xmm1,DWORD PTR[20+r13] - vmovd xmm2,DWORD PTR[20+r9] - vpinsrd xmm5,xmm5,DWORD PTR[20+r14],1 - vpinsrd xmm0,xmm0,DWORD PTR[20+r10],1 - vpinsrd xmm1,xmm1,DWORD PTR[20+r15],1 + vmovd xmm5,DWORD PTR[20+r12] + vmovd xmm0,DWORD PTR[20+r8] + vmovd xmm1,DWORD PTR[20+r13] + vmovd xmm2,DWORD PTR[20+r9] + vpinsrd xmm5,xmm5,DWORD PTR[20+r14],1 + vpinsrd xmm0,xmm0,DWORD PTR[20+r10],1 + vpinsrd xmm1,xmm1,DWORD PTR[20+r15],1 vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[20+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[20+r11],1 vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm15,6 vpslld ymm2,ymm15,26 - vmovdqu YMMWORD PTR[(160-128)+rax],ymm5 + vmovdqu YMMWORD PTR[(160-128)+rax],ymm5 vpaddd ymm5,ymm5,ymm10 vpsrld ymm1,ymm15,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm15,21 - vpaddd ymm5,ymm5,YMMWORD PTR[32+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[32+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm15,25 @@ -5983,27 +5983,27 @@ $L$oop_avx2:: vpaddd ymm10,ymm10,ymm5 vpaddd ymm10,ymm10,ymm7 - vmovd xmm5,DWORD PTR[24+r12] - vmovd xmm0,DWORD PTR[24+r8] - vmovd xmm1,DWORD PTR[24+r13] - vmovd xmm2,DWORD PTR[24+r9] - vpinsrd xmm5,xmm5,DWORD PTR[24+r14],1 - vpinsrd xmm0,xmm0,DWORD PTR[24+r10],1 - vpinsrd xmm1,xmm1,DWORD PTR[24+r15],1 + vmovd xmm5,DWORD PTR[24+r12] + vmovd xmm0,DWORD PTR[24+r8] + vmovd xmm1,DWORD PTR[24+r13] + vmovd xmm2,DWORD PTR[24+r9] + vpinsrd xmm5,xmm5,DWORD PTR[24+r14],1 + vpinsrd xmm0,xmm0,DWORD PTR[24+r10],1 + vpinsrd xmm1,xmm1,DWORD PTR[24+r15],1 vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[24+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[24+r11],1 vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm14,6 vpslld ymm2,ymm14,26 - vmovdqu YMMWORD PTR[(192-128)+rax],ymm5 + vmovdqu YMMWORD PTR[(192-128)+rax],ymm5 vpaddd ymm5,ymm5,ymm9 vpsrld ymm1,ymm14,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm14,21 - vpaddd ymm5,ymm5,YMMWORD PTR[64+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[64+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm14,25 @@ -6045,27 +6045,27 @@ $L$oop_avx2:: vpaddd ymm9,ymm9,ymm5 vpaddd ymm9,ymm9,ymm7 - vmovd xmm5,DWORD PTR[28+r12] - vmovd xmm0,DWORD PTR[28+r8] - vmovd xmm1,DWORD PTR[28+r13] - vmovd xmm2,DWORD PTR[28+r9] - vpinsrd xmm5,xmm5,DWORD PTR[28+r14],1 - vpinsrd xmm0,xmm0,DWORD PTR[28+r10],1 - vpinsrd xmm1,xmm1,DWORD PTR[28+r15],1 + vmovd xmm5,DWORD PTR[28+r12] + vmovd xmm0,DWORD PTR[28+r8] + vmovd xmm1,DWORD PTR[28+r13] + vmovd xmm2,DWORD PTR[28+r9] + vpinsrd xmm5,xmm5,DWORD PTR[28+r14],1 + vpinsrd xmm0,xmm0,DWORD PTR[28+r10],1 + vpinsrd xmm1,xmm1,DWORD PTR[28+r15],1 vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[28+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[28+r11],1 vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm13,6 vpslld ymm2,ymm13,26 - vmovdqu YMMWORD PTR[(224-128)+rax],ymm5 + vmovdqu YMMWORD PTR[(224-128)+rax],ymm5 vpaddd ymm5,ymm5,ymm8 vpsrld ymm1,ymm13,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm13,21 - vpaddd ymm5,ymm5,YMMWORD PTR[96+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[96+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm13,25 @@ -6108,27 +6108,27 @@ $L$oop_avx2:: vpaddd ymm8,ymm8,ymm5 vpaddd ymm8,ymm8,ymm7 add rbp,256 - vmovd xmm5,DWORD PTR[32+r12] - vmovd xmm0,DWORD PTR[32+r8] - vmovd xmm1,DWORD PTR[32+r13] - vmovd xmm2,DWORD PTR[32+r9] - vpinsrd xmm5,xmm5,DWORD PTR[32+r14],1 - vpinsrd xmm0,xmm0,DWORD PTR[32+r10],1 - vpinsrd xmm1,xmm1,DWORD PTR[32+r15],1 + vmovd xmm5,DWORD PTR[32+r12] + vmovd xmm0,DWORD PTR[32+r8] + vmovd xmm1,DWORD PTR[32+r13] + vmovd xmm2,DWORD PTR[32+r9] + vpinsrd xmm5,xmm5,DWORD PTR[32+r14],1 + vpinsrd xmm0,xmm0,DWORD PTR[32+r10],1 + vpinsrd xmm1,xmm1,DWORD PTR[32+r15],1 vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[32+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[32+r11],1 vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm12,6 vpslld ymm2,ymm12,26 - vmovdqu YMMWORD PTR[(256-256-128)+rbx],ymm5 + vmovdqu YMMWORD PTR[(256-256-128)+rbx],ymm5 vpaddd ymm5,ymm5,ymm15 vpsrld ymm1,ymm12,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm12,21 - vpaddd ymm5,ymm5,YMMWORD PTR[((-128))+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[((-128))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm12,25 @@ -6170,27 +6170,27 @@ $L$oop_avx2:: vpaddd ymm15,ymm15,ymm5 vpaddd ymm15,ymm15,ymm7 - vmovd xmm5,DWORD PTR[36+r12] - vmovd xmm0,DWORD PTR[36+r8] - vmovd xmm1,DWORD PTR[36+r13] - vmovd xmm2,DWORD PTR[36+r9] - vpinsrd xmm5,xmm5,DWORD PTR[36+r14],1 - vpinsrd xmm0,xmm0,DWORD PTR[36+r10],1 - vpinsrd xmm1,xmm1,DWORD PTR[36+r15],1 + vmovd xmm5,DWORD PTR[36+r12] + vmovd xmm0,DWORD PTR[36+r8] + vmovd xmm1,DWORD PTR[36+r13] + vmovd xmm2,DWORD PTR[36+r9] + vpinsrd xmm5,xmm5,DWORD PTR[36+r14],1 + vpinsrd xmm0,xmm0,DWORD PTR[36+r10],1 + vpinsrd xmm1,xmm1,DWORD PTR[36+r15],1 vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[36+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[36+r11],1 vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm11,6 vpslld ymm2,ymm11,26 - vmovdqu YMMWORD PTR[(288-256-128)+rbx],ymm5 + vmovdqu YMMWORD PTR[(288-256-128)+rbx],ymm5 vpaddd ymm5,ymm5,ymm14 vpsrld ymm1,ymm11,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm11,21 - vpaddd ymm5,ymm5,YMMWORD PTR[((-96))+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[((-96))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm11,25 @@ -6232,27 +6232,27 @@ $L$oop_avx2:: vpaddd ymm14,ymm14,ymm5 vpaddd ymm14,ymm14,ymm7 - vmovd xmm5,DWORD PTR[40+r12] - vmovd xmm0,DWORD PTR[40+r8] - vmovd xmm1,DWORD PTR[40+r13] - vmovd xmm2,DWORD PTR[40+r9] - vpinsrd xmm5,xmm5,DWORD PTR[40+r14],1 - vpinsrd xmm0,xmm0,DWORD PTR[40+r10],1 - vpinsrd xmm1,xmm1,DWORD PTR[40+r15],1 + vmovd xmm5,DWORD PTR[40+r12] + vmovd xmm0,DWORD PTR[40+r8] + vmovd xmm1,DWORD PTR[40+r13] + vmovd xmm2,DWORD PTR[40+r9] + vpinsrd xmm5,xmm5,DWORD PTR[40+r14],1 + vpinsrd xmm0,xmm0,DWORD PTR[40+r10],1 + vpinsrd xmm1,xmm1,DWORD PTR[40+r15],1 vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[40+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[40+r11],1 vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm10,6 vpslld ymm2,ymm10,26 - vmovdqu YMMWORD PTR[(320-256-128)+rbx],ymm5 + vmovdqu YMMWORD PTR[(320-256-128)+rbx],ymm5 vpaddd ymm5,ymm5,ymm13 vpsrld ymm1,ymm10,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm10,21 - vpaddd ymm5,ymm5,YMMWORD PTR[((-64))+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[((-64))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm10,25 @@ -6294,27 +6294,27 @@ $L$oop_avx2:: vpaddd ymm13,ymm13,ymm5 vpaddd ymm13,ymm13,ymm7 - vmovd xmm5,DWORD PTR[44+r12] - vmovd xmm0,DWORD PTR[44+r8] - vmovd xmm1,DWORD PTR[44+r13] - vmovd xmm2,DWORD PTR[44+r9] - vpinsrd xmm5,xmm5,DWORD PTR[44+r14],1 - vpinsrd xmm0,xmm0,DWORD PTR[44+r10],1 - vpinsrd xmm1,xmm1,DWORD PTR[44+r15],1 + vmovd xmm5,DWORD PTR[44+r12] + vmovd xmm0,DWORD PTR[44+r8] + vmovd xmm1,DWORD PTR[44+r13] + vmovd xmm2,DWORD PTR[44+r9] + vpinsrd xmm5,xmm5,DWORD PTR[44+r14],1 + vpinsrd xmm0,xmm0,DWORD PTR[44+r10],1 + vpinsrd xmm1,xmm1,DWORD PTR[44+r15],1 vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[44+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[44+r11],1 vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm9,6 vpslld ymm2,ymm9,26 - vmovdqu YMMWORD PTR[(352-256-128)+rbx],ymm5 + vmovdqu YMMWORD PTR[(352-256-128)+rbx],ymm5 vpaddd ymm5,ymm5,ymm12 vpsrld ymm1,ymm9,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm9,21 - vpaddd ymm5,ymm5,YMMWORD PTR[((-32))+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[((-32))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm9,25 @@ -6356,27 +6356,27 @@ $L$oop_avx2:: vpaddd ymm12,ymm12,ymm5 vpaddd ymm12,ymm12,ymm7 - vmovd xmm5,DWORD PTR[48+r12] - vmovd xmm0,DWORD PTR[48+r8] - vmovd xmm1,DWORD PTR[48+r13] - vmovd xmm2,DWORD PTR[48+r9] - vpinsrd xmm5,xmm5,DWORD PTR[48+r14],1 - vpinsrd xmm0,xmm0,DWORD PTR[48+r10],1 - vpinsrd xmm1,xmm1,DWORD PTR[48+r15],1 + vmovd xmm5,DWORD PTR[48+r12] + vmovd xmm0,DWORD PTR[48+r8] + vmovd xmm1,DWORD PTR[48+r13] + vmovd xmm2,DWORD PTR[48+r9] + vpinsrd xmm5,xmm5,DWORD PTR[48+r14],1 + vpinsrd xmm0,xmm0,DWORD PTR[48+r10],1 + vpinsrd xmm1,xmm1,DWORD PTR[48+r15],1 vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[48+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[48+r11],1 vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm8,6 vpslld ymm2,ymm8,26 - vmovdqu YMMWORD PTR[(384-256-128)+rbx],ymm5 + vmovdqu YMMWORD PTR[(384-256-128)+rbx],ymm5 vpaddd ymm5,ymm5,ymm11 vpsrld ymm1,ymm8,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm8,21 - vpaddd ymm5,ymm5,YMMWORD PTR[rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm8,25 @@ -6418,27 +6418,27 @@ $L$oop_avx2:: vpaddd ymm11,ymm11,ymm5 vpaddd ymm11,ymm11,ymm7 - vmovd xmm5,DWORD PTR[52+r12] - vmovd xmm0,DWORD PTR[52+r8] - vmovd xmm1,DWORD PTR[52+r13] - vmovd xmm2,DWORD PTR[52+r9] - vpinsrd xmm5,xmm5,DWORD PTR[52+r14],1 - vpinsrd xmm0,xmm0,DWORD PTR[52+r10],1 - vpinsrd xmm1,xmm1,DWORD PTR[52+r15],1 + vmovd xmm5,DWORD PTR[52+r12] + vmovd xmm0,DWORD PTR[52+r8] + vmovd xmm1,DWORD PTR[52+r13] + vmovd xmm2,DWORD PTR[52+r9] + vpinsrd xmm5,xmm5,DWORD PTR[52+r14],1 + vpinsrd xmm0,xmm0,DWORD PTR[52+r10],1 + vpinsrd xmm1,xmm1,DWORD PTR[52+r15],1 vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[52+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[52+r11],1 vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm15,6 vpslld ymm2,ymm15,26 - vmovdqu YMMWORD PTR[(416-256-128)+rbx],ymm5 + vmovdqu YMMWORD PTR[(416-256-128)+rbx],ymm5 vpaddd ymm5,ymm5,ymm10 vpsrld ymm1,ymm15,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm15,21 - vpaddd ymm5,ymm5,YMMWORD PTR[32+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[32+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm15,25 @@ -6480,27 +6480,27 @@ $L$oop_avx2:: vpaddd ymm10,ymm10,ymm5 vpaddd ymm10,ymm10,ymm7 - vmovd xmm5,DWORD PTR[56+r12] - vmovd xmm0,DWORD PTR[56+r8] - vmovd xmm1,DWORD PTR[56+r13] - vmovd xmm2,DWORD PTR[56+r9] - vpinsrd xmm5,xmm5,DWORD PTR[56+r14],1 - vpinsrd xmm0,xmm0,DWORD PTR[56+r10],1 - vpinsrd xmm1,xmm1,DWORD PTR[56+r15],1 + vmovd xmm5,DWORD PTR[56+r12] + vmovd xmm0,DWORD PTR[56+r8] + vmovd xmm1,DWORD PTR[56+r13] + vmovd xmm2,DWORD PTR[56+r9] + vpinsrd xmm5,xmm5,DWORD PTR[56+r14],1 + vpinsrd xmm0,xmm0,DWORD PTR[56+r10],1 + vpinsrd xmm1,xmm1,DWORD PTR[56+r15],1 vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[56+r11],1 + vpinsrd xmm2,xmm2,DWORD PTR[56+r11],1 vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm14,6 vpslld ymm2,ymm14,26 - vmovdqu YMMWORD PTR[(448-256-128)+rbx],ymm5 + vmovdqu YMMWORD PTR[(448-256-128)+rbx],ymm5 vpaddd ymm5,ymm5,ymm9 vpsrld ymm1,ymm14,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm14,21 - vpaddd ymm5,ymm5,YMMWORD PTR[64+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[64+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm14,25 @@ -6542,35 +6542,35 @@ $L$oop_avx2:: vpaddd ymm9,ymm9,ymm5 vpaddd ymm9,ymm9,ymm7 - vmovd xmm5,DWORD PTR[60+r12] - lea r12,QWORD PTR[64+r12] - vmovd xmm0,DWORD PTR[60+r8] - lea r8,QWORD PTR[64+r8] - vmovd xmm1,DWORD PTR[60+r13] - lea r13,QWORD PTR[64+r13] - vmovd xmm2,DWORD PTR[60+r9] - lea r9,QWORD PTR[64+r9] - vpinsrd xmm5,xmm5,DWORD PTR[60+r14],1 - lea r14,QWORD PTR[64+r14] - vpinsrd xmm0,xmm0,DWORD PTR[60+r10],1 - lea r10,QWORD PTR[64+r10] - vpinsrd xmm1,xmm1,DWORD PTR[60+r15],1 - lea r15,QWORD PTR[64+r15] + vmovd xmm5,DWORD PTR[60+r12] + lea r12,QWORD PTR[64+r12] + vmovd xmm0,DWORD PTR[60+r8] + lea r8,QWORD PTR[64+r8] + vmovd xmm1,DWORD PTR[60+r13] + lea r13,QWORD PTR[64+r13] + vmovd xmm2,DWORD PTR[60+r9] + lea r9,QWORD PTR[64+r9] + vpinsrd xmm5,xmm5,DWORD PTR[60+r14],1 + lea r14,QWORD PTR[64+r14] + vpinsrd xmm0,xmm0,DWORD PTR[60+r10],1 + lea r10,QWORD PTR[64+r10] + vpinsrd xmm1,xmm1,DWORD PTR[60+r15],1 + lea r15,QWORD PTR[64+r15] vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD PTR[60+r11],1 - lea r11,QWORD PTR[64+r11] + vpinsrd xmm2,xmm2,DWORD PTR[60+r11],1 + lea r11,QWORD PTR[64+r11] vpunpckldq ymm0,ymm0,ymm2 vinserti128 ymm5,ymm5,xmm0,1 vpshufb ymm5,ymm5,ymm6 vpsrld ymm7,ymm13,6 vpslld ymm2,ymm13,26 - vmovdqu YMMWORD PTR[(480-256-128)+rbx],ymm5 + vmovdqu YMMWORD PTR[(480-256-128)+rbx],ymm5 vpaddd ymm5,ymm5,ymm8 vpsrld ymm1,ymm13,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm13,21 - vpaddd ymm5,ymm5,YMMWORD PTR[96+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[96+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm13,25 @@ -6613,13 +6613,13 @@ $L$oop_avx2:: vpaddd ymm8,ymm8,ymm5 vpaddd ymm8,ymm8,ymm7 add rbp,256 - vmovdqu ymm5,YMMWORD PTR[((0-128))+rax] + vmovdqu ymm5,YMMWORD PTR[((0-128))+rax] mov ecx,3 - jmp $L$oop_16_xx_avx2 + jmp $L$oop_16_xx_avx2 ALIGN 32 -$L$oop_16_xx_avx2:: - vmovdqu ymm6,YMMWORD PTR[((32-128))+rax] - vpaddd ymm5,ymm5,YMMWORD PTR[((288-256-128))+rbx] +$L$oop_16_xx_avx2:: + vmovdqu ymm6,YMMWORD PTR[((32-128))+rax] + vpaddd ymm5,ymm5,YMMWORD PTR[((288-256-128))+rbx] vpsrld ymm7,ymm6,3 vpsrld ymm1,ymm6,7 @@ -6628,7 +6628,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm6,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD PTR[((448-256-128))+rbx] + vmovdqu ymm0,YMMWORD PTR[((448-256-128))+rbx] vpsrld ymm3,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -6645,13 +6645,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm5,ymm5,ymm7 vpsrld ymm7,ymm12,6 vpslld ymm2,ymm12,26 - vmovdqu YMMWORD PTR[(0-128)+rax],ymm5 + vmovdqu YMMWORD PTR[(0-128)+rax],ymm5 vpaddd ymm5,ymm5,ymm15 vpsrld ymm1,ymm12,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm12,21 - vpaddd ymm5,ymm5,YMMWORD PTR[((-128))+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[((-128))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm12,25 @@ -6693,8 +6693,8 @@ $L$oop_16_xx_avx2:: vpaddd ymm15,ymm15,ymm5 vpaddd ymm15,ymm15,ymm7 - vmovdqu ymm5,YMMWORD PTR[((64-128))+rax] - vpaddd ymm6,ymm6,YMMWORD PTR[((320-256-128))+rbx] + vmovdqu ymm5,YMMWORD PTR[((64-128))+rax] + vpaddd ymm6,ymm6,YMMWORD PTR[((320-256-128))+rbx] vpsrld ymm7,ymm5,3 vpsrld ymm1,ymm5,7 @@ -6703,7 +6703,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm5,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD PTR[((480-256-128))+rbx] + vmovdqu ymm0,YMMWORD PTR[((480-256-128))+rbx] vpsrld ymm4,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -6720,13 +6720,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm6,ymm6,ymm7 vpsrld ymm7,ymm11,6 vpslld ymm2,ymm11,26 - vmovdqu YMMWORD PTR[(32-128)+rax],ymm6 + vmovdqu YMMWORD PTR[(32-128)+rax],ymm6 vpaddd ymm6,ymm6,ymm14 vpsrld ymm1,ymm11,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm11,21 - vpaddd ymm6,ymm6,YMMWORD PTR[((-96))+rbp] + vpaddd ymm6,ymm6,YMMWORD PTR[((-96))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm11,25 @@ -6768,8 +6768,8 @@ $L$oop_16_xx_avx2:: vpaddd ymm14,ymm14,ymm6 vpaddd ymm14,ymm14,ymm7 - vmovdqu ymm6,YMMWORD PTR[((96-128))+rax] - vpaddd ymm5,ymm5,YMMWORD PTR[((352-256-128))+rbx] + vmovdqu ymm6,YMMWORD PTR[((96-128))+rax] + vpaddd ymm5,ymm5,YMMWORD PTR[((352-256-128))+rbx] vpsrld ymm7,ymm6,3 vpsrld ymm1,ymm6,7 @@ -6778,7 +6778,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm6,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD PTR[((0-128))+rax] + vmovdqu ymm0,YMMWORD PTR[((0-128))+rax] vpsrld ymm3,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -6795,13 +6795,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm5,ymm5,ymm7 vpsrld ymm7,ymm10,6 vpslld ymm2,ymm10,26 - vmovdqu YMMWORD PTR[(64-128)+rax],ymm5 + vmovdqu YMMWORD PTR[(64-128)+rax],ymm5 vpaddd ymm5,ymm5,ymm13 vpsrld ymm1,ymm10,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm10,21 - vpaddd ymm5,ymm5,YMMWORD PTR[((-64))+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[((-64))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm10,25 @@ -6843,8 +6843,8 @@ $L$oop_16_xx_avx2:: vpaddd ymm13,ymm13,ymm5 vpaddd ymm13,ymm13,ymm7 - vmovdqu ymm5,YMMWORD PTR[((128-128))+rax] - vpaddd ymm6,ymm6,YMMWORD PTR[((384-256-128))+rbx] + vmovdqu ymm5,YMMWORD PTR[((128-128))+rax] + vpaddd ymm6,ymm6,YMMWORD PTR[((384-256-128))+rbx] vpsrld ymm7,ymm5,3 vpsrld ymm1,ymm5,7 @@ -6853,7 +6853,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm5,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD PTR[((32-128))+rax] + vmovdqu ymm0,YMMWORD PTR[((32-128))+rax] vpsrld ymm4,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -6870,13 +6870,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm6,ymm6,ymm7 vpsrld ymm7,ymm9,6 vpslld ymm2,ymm9,26 - vmovdqu YMMWORD PTR[(96-128)+rax],ymm6 + vmovdqu YMMWORD PTR[(96-128)+rax],ymm6 vpaddd ymm6,ymm6,ymm12 vpsrld ymm1,ymm9,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm9,21 - vpaddd ymm6,ymm6,YMMWORD PTR[((-32))+rbp] + vpaddd ymm6,ymm6,YMMWORD PTR[((-32))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm9,25 @@ -6918,8 +6918,8 @@ $L$oop_16_xx_avx2:: vpaddd ymm12,ymm12,ymm6 vpaddd ymm12,ymm12,ymm7 - vmovdqu ymm6,YMMWORD PTR[((160-128))+rax] - vpaddd ymm5,ymm5,YMMWORD PTR[((416-256-128))+rbx] + vmovdqu ymm6,YMMWORD PTR[((160-128))+rax] + vpaddd ymm5,ymm5,YMMWORD PTR[((416-256-128))+rbx] vpsrld ymm7,ymm6,3 vpsrld ymm1,ymm6,7 @@ -6928,7 +6928,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm6,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD PTR[((64-128))+rax] + vmovdqu ymm0,YMMWORD PTR[((64-128))+rax] vpsrld ymm3,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -6945,13 +6945,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm5,ymm5,ymm7 vpsrld ymm7,ymm8,6 vpslld ymm2,ymm8,26 - vmovdqu YMMWORD PTR[(128-128)+rax],ymm5 + vmovdqu YMMWORD PTR[(128-128)+rax],ymm5 vpaddd ymm5,ymm5,ymm11 vpsrld ymm1,ymm8,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm8,21 - vpaddd ymm5,ymm5,YMMWORD PTR[rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm8,25 @@ -6993,8 +6993,8 @@ $L$oop_16_xx_avx2:: vpaddd ymm11,ymm11,ymm5 vpaddd ymm11,ymm11,ymm7 - vmovdqu ymm5,YMMWORD PTR[((192-128))+rax] - vpaddd ymm6,ymm6,YMMWORD PTR[((448-256-128))+rbx] + vmovdqu ymm5,YMMWORD PTR[((192-128))+rax] + vpaddd ymm6,ymm6,YMMWORD PTR[((448-256-128))+rbx] vpsrld ymm7,ymm5,3 vpsrld ymm1,ymm5,7 @@ -7003,7 +7003,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm5,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD PTR[((96-128))+rax] + vmovdqu ymm0,YMMWORD PTR[((96-128))+rax] vpsrld ymm4,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -7020,13 +7020,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm6,ymm6,ymm7 vpsrld ymm7,ymm15,6 vpslld ymm2,ymm15,26 - vmovdqu YMMWORD PTR[(160-128)+rax],ymm6 + vmovdqu YMMWORD PTR[(160-128)+rax],ymm6 vpaddd ymm6,ymm6,ymm10 vpsrld ymm1,ymm15,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm15,21 - vpaddd ymm6,ymm6,YMMWORD PTR[32+rbp] + vpaddd ymm6,ymm6,YMMWORD PTR[32+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm15,25 @@ -7068,8 +7068,8 @@ $L$oop_16_xx_avx2:: vpaddd ymm10,ymm10,ymm6 vpaddd ymm10,ymm10,ymm7 - vmovdqu ymm6,YMMWORD PTR[((224-128))+rax] - vpaddd ymm5,ymm5,YMMWORD PTR[((480-256-128))+rbx] + vmovdqu ymm6,YMMWORD PTR[((224-128))+rax] + vpaddd ymm5,ymm5,YMMWORD PTR[((480-256-128))+rbx] vpsrld ymm7,ymm6,3 vpsrld ymm1,ymm6,7 @@ -7078,7 +7078,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm6,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD PTR[((128-128))+rax] + vmovdqu ymm0,YMMWORD PTR[((128-128))+rax] vpsrld ymm3,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -7095,13 +7095,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm5,ymm5,ymm7 vpsrld ymm7,ymm14,6 vpslld ymm2,ymm14,26 - vmovdqu YMMWORD PTR[(192-128)+rax],ymm5 + vmovdqu YMMWORD PTR[(192-128)+rax],ymm5 vpaddd ymm5,ymm5,ymm9 vpsrld ymm1,ymm14,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm14,21 - vpaddd ymm5,ymm5,YMMWORD PTR[64+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[64+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm14,25 @@ -7143,8 +7143,8 @@ $L$oop_16_xx_avx2:: vpaddd ymm9,ymm9,ymm5 vpaddd ymm9,ymm9,ymm7 - vmovdqu ymm5,YMMWORD PTR[((256-256-128))+rbx] - vpaddd ymm6,ymm6,YMMWORD PTR[((0-128))+rax] + vmovdqu ymm5,YMMWORD PTR[((256-256-128))+rbx] + vpaddd ymm6,ymm6,YMMWORD PTR[((0-128))+rax] vpsrld ymm7,ymm5,3 vpsrld ymm1,ymm5,7 @@ -7153,7 +7153,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm5,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD PTR[((160-128))+rax] + vmovdqu ymm0,YMMWORD PTR[((160-128))+rax] vpsrld ymm4,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -7170,13 +7170,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm6,ymm6,ymm7 vpsrld ymm7,ymm13,6 vpslld ymm2,ymm13,26 - vmovdqu YMMWORD PTR[(224-128)+rax],ymm6 + vmovdqu YMMWORD PTR[(224-128)+rax],ymm6 vpaddd ymm6,ymm6,ymm8 vpsrld ymm1,ymm13,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm13,21 - vpaddd ymm6,ymm6,YMMWORD PTR[96+rbp] + vpaddd ymm6,ymm6,YMMWORD PTR[96+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm13,25 @@ -7219,8 +7219,8 @@ $L$oop_16_xx_avx2:: vpaddd ymm8,ymm8,ymm6 vpaddd ymm8,ymm8,ymm7 add rbp,256 - vmovdqu ymm6,YMMWORD PTR[((288-256-128))+rbx] - vpaddd ymm5,ymm5,YMMWORD PTR[((32-128))+rax] + vmovdqu ymm6,YMMWORD PTR[((288-256-128))+rbx] + vpaddd ymm5,ymm5,YMMWORD PTR[((32-128))+rax] vpsrld ymm7,ymm6,3 vpsrld ymm1,ymm6,7 @@ -7229,7 +7229,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm6,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD PTR[((192-128))+rax] + vmovdqu ymm0,YMMWORD PTR[((192-128))+rax] vpsrld ymm3,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -7246,13 +7246,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm5,ymm5,ymm7 vpsrld ymm7,ymm12,6 vpslld ymm2,ymm12,26 - vmovdqu YMMWORD PTR[(256-256-128)+rbx],ymm5 + vmovdqu YMMWORD PTR[(256-256-128)+rbx],ymm5 vpaddd ymm5,ymm5,ymm15 vpsrld ymm1,ymm12,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm12,21 - vpaddd ymm5,ymm5,YMMWORD PTR[((-128))+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[((-128))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm12,25 @@ -7294,8 +7294,8 @@ $L$oop_16_xx_avx2:: vpaddd ymm15,ymm15,ymm5 vpaddd ymm15,ymm15,ymm7 - vmovdqu ymm5,YMMWORD PTR[((320-256-128))+rbx] - vpaddd ymm6,ymm6,YMMWORD PTR[((64-128))+rax] + vmovdqu ymm5,YMMWORD PTR[((320-256-128))+rbx] + vpaddd ymm6,ymm6,YMMWORD PTR[((64-128))+rax] vpsrld ymm7,ymm5,3 vpsrld ymm1,ymm5,7 @@ -7304,7 +7304,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm5,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD PTR[((224-128))+rax] + vmovdqu ymm0,YMMWORD PTR[((224-128))+rax] vpsrld ymm4,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -7321,13 +7321,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm6,ymm6,ymm7 vpsrld ymm7,ymm11,6 vpslld ymm2,ymm11,26 - vmovdqu YMMWORD PTR[(288-256-128)+rbx],ymm6 + vmovdqu YMMWORD PTR[(288-256-128)+rbx],ymm6 vpaddd ymm6,ymm6,ymm14 vpsrld ymm1,ymm11,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm11,21 - vpaddd ymm6,ymm6,YMMWORD PTR[((-96))+rbp] + vpaddd ymm6,ymm6,YMMWORD PTR[((-96))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm11,25 @@ -7369,8 +7369,8 @@ $L$oop_16_xx_avx2:: vpaddd ymm14,ymm14,ymm6 vpaddd ymm14,ymm14,ymm7 - vmovdqu ymm6,YMMWORD PTR[((352-256-128))+rbx] - vpaddd ymm5,ymm5,YMMWORD PTR[((96-128))+rax] + vmovdqu ymm6,YMMWORD PTR[((352-256-128))+rbx] + vpaddd ymm5,ymm5,YMMWORD PTR[((96-128))+rax] vpsrld ymm7,ymm6,3 vpsrld ymm1,ymm6,7 @@ -7379,7 +7379,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm6,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD PTR[((256-256-128))+rbx] + vmovdqu ymm0,YMMWORD PTR[((256-256-128))+rbx] vpsrld ymm3,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -7396,13 +7396,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm5,ymm5,ymm7 vpsrld ymm7,ymm10,6 vpslld ymm2,ymm10,26 - vmovdqu YMMWORD PTR[(320-256-128)+rbx],ymm5 + vmovdqu YMMWORD PTR[(320-256-128)+rbx],ymm5 vpaddd ymm5,ymm5,ymm13 vpsrld ymm1,ymm10,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm10,21 - vpaddd ymm5,ymm5,YMMWORD PTR[((-64))+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[((-64))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm10,25 @@ -7444,8 +7444,8 @@ $L$oop_16_xx_avx2:: vpaddd ymm13,ymm13,ymm5 vpaddd ymm13,ymm13,ymm7 - vmovdqu ymm5,YMMWORD PTR[((384-256-128))+rbx] - vpaddd ymm6,ymm6,YMMWORD PTR[((128-128))+rax] + vmovdqu ymm5,YMMWORD PTR[((384-256-128))+rbx] + vpaddd ymm6,ymm6,YMMWORD PTR[((128-128))+rax] vpsrld ymm7,ymm5,3 vpsrld ymm1,ymm5,7 @@ -7454,7 +7454,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm5,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD PTR[((288-256-128))+rbx] + vmovdqu ymm0,YMMWORD PTR[((288-256-128))+rbx] vpsrld ymm4,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -7471,13 +7471,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm6,ymm6,ymm7 vpsrld ymm7,ymm9,6 vpslld ymm2,ymm9,26 - vmovdqu YMMWORD PTR[(352-256-128)+rbx],ymm6 + vmovdqu YMMWORD PTR[(352-256-128)+rbx],ymm6 vpaddd ymm6,ymm6,ymm12 vpsrld ymm1,ymm9,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm9,21 - vpaddd ymm6,ymm6,YMMWORD PTR[((-32))+rbp] + vpaddd ymm6,ymm6,YMMWORD PTR[((-32))+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm9,25 @@ -7519,8 +7519,8 @@ $L$oop_16_xx_avx2:: vpaddd ymm12,ymm12,ymm6 vpaddd ymm12,ymm12,ymm7 - vmovdqu ymm6,YMMWORD PTR[((416-256-128))+rbx] - vpaddd ymm5,ymm5,YMMWORD PTR[((160-128))+rax] + vmovdqu ymm6,YMMWORD PTR[((416-256-128))+rbx] + vpaddd ymm5,ymm5,YMMWORD PTR[((160-128))+rax] vpsrld ymm7,ymm6,3 vpsrld ymm1,ymm6,7 @@ -7529,7 +7529,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm6,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD PTR[((320-256-128))+rbx] + vmovdqu ymm0,YMMWORD PTR[((320-256-128))+rbx] vpsrld ymm3,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -7546,13 +7546,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm5,ymm5,ymm7 vpsrld ymm7,ymm8,6 vpslld ymm2,ymm8,26 - vmovdqu YMMWORD PTR[(384-256-128)+rbx],ymm5 + vmovdqu YMMWORD PTR[(384-256-128)+rbx],ymm5 vpaddd ymm5,ymm5,ymm11 vpsrld ymm1,ymm8,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm8,21 - vpaddd ymm5,ymm5,YMMWORD PTR[rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm8,25 @@ -7594,8 +7594,8 @@ $L$oop_16_xx_avx2:: vpaddd ymm11,ymm11,ymm5 vpaddd ymm11,ymm11,ymm7 - vmovdqu ymm5,YMMWORD PTR[((448-256-128))+rbx] - vpaddd ymm6,ymm6,YMMWORD PTR[((192-128))+rax] + vmovdqu ymm5,YMMWORD PTR[((448-256-128))+rbx] + vpaddd ymm6,ymm6,YMMWORD PTR[((192-128))+rax] vpsrld ymm7,ymm5,3 vpsrld ymm1,ymm5,7 @@ -7604,7 +7604,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm5,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD PTR[((352-256-128))+rbx] + vmovdqu ymm0,YMMWORD PTR[((352-256-128))+rbx] vpsrld ymm4,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -7621,13 +7621,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm6,ymm6,ymm7 vpsrld ymm7,ymm15,6 vpslld ymm2,ymm15,26 - vmovdqu YMMWORD PTR[(416-256-128)+rbx],ymm6 + vmovdqu YMMWORD PTR[(416-256-128)+rbx],ymm6 vpaddd ymm6,ymm6,ymm10 vpsrld ymm1,ymm15,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm15,21 - vpaddd ymm6,ymm6,YMMWORD PTR[32+rbp] + vpaddd ymm6,ymm6,YMMWORD PTR[32+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm15,25 @@ -7669,8 +7669,8 @@ $L$oop_16_xx_avx2:: vpaddd ymm10,ymm10,ymm6 vpaddd ymm10,ymm10,ymm7 - vmovdqu ymm6,YMMWORD PTR[((480-256-128))+rbx] - vpaddd ymm5,ymm5,YMMWORD PTR[((224-128))+rax] + vmovdqu ymm6,YMMWORD PTR[((480-256-128))+rbx] + vpaddd ymm5,ymm5,YMMWORD PTR[((224-128))+rax] vpsrld ymm7,ymm6,3 vpsrld ymm1,ymm6,7 @@ -7679,7 +7679,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm6,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD PTR[((384-256-128))+rbx] + vmovdqu ymm0,YMMWORD PTR[((384-256-128))+rbx] vpsrld ymm3,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -7696,13 +7696,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm5,ymm5,ymm7 vpsrld ymm7,ymm14,6 vpslld ymm2,ymm14,26 - vmovdqu YMMWORD PTR[(448-256-128)+rbx],ymm5 + vmovdqu YMMWORD PTR[(448-256-128)+rbx],ymm5 vpaddd ymm5,ymm5,ymm9 vpsrld ymm1,ymm14,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm14,21 - vpaddd ymm5,ymm5,YMMWORD PTR[64+rbp] + vpaddd ymm5,ymm5,YMMWORD PTR[64+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm14,25 @@ -7744,8 +7744,8 @@ $L$oop_16_xx_avx2:: vpaddd ymm9,ymm9,ymm5 vpaddd ymm9,ymm9,ymm7 - vmovdqu ymm5,YMMWORD PTR[((0-128))+rax] - vpaddd ymm6,ymm6,YMMWORD PTR[((256-256-128))+rbx] + vmovdqu ymm5,YMMWORD PTR[((0-128))+rax] + vpaddd ymm6,ymm6,YMMWORD PTR[((256-256-128))+rbx] vpsrld ymm7,ymm5,3 vpsrld ymm1,ymm5,7 @@ -7754,7 +7754,7 @@ $L$oop_16_xx_avx2:: vpsrld ymm1,ymm5,18 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD PTR[((416-256-128))+rbx] + vmovdqu ymm0,YMMWORD PTR[((416-256-128))+rbx] vpsrld ymm4,ymm0,10 vpxor ymm7,ymm7,ymm1 @@ -7771,13 +7771,13 @@ $L$oop_16_xx_avx2:: vpaddd ymm6,ymm6,ymm7 vpsrld ymm7,ymm13,6 vpslld ymm2,ymm13,26 - vmovdqu YMMWORD PTR[(480-256-128)+rbx],ymm6 + vmovdqu YMMWORD PTR[(480-256-128)+rbx],ymm6 vpaddd ymm6,ymm6,ymm8 vpsrld ymm1,ymm13,11 vpxor ymm7,ymm7,ymm2 vpslld ymm2,ymm13,21 - vpaddd ymm6,ymm6,YMMWORD PTR[96+rbp] + vpaddd ymm6,ymm6,YMMWORD PTR[96+rbp] vpxor ymm7,ymm7,ymm1 vpsrld ymm1,ymm13,25 @@ -7821,71 +7821,71 @@ $L$oop_16_xx_avx2:: vpaddd ymm8,ymm8,ymm7 add rbp,256 dec ecx - jnz $L$oop_16_xx_avx2 + jnz $L$oop_16_xx_avx2 mov ecx,1 - lea rbx,QWORD PTR[512+rsp] - lea rbp,QWORD PTR[((K256+128))] - cmp ecx,DWORD PTR[rbx] + lea rbx,QWORD PTR[512+rsp] + lea rbp,QWORD PTR[((K256+128))] + cmp ecx,DWORD PTR[rbx] cmovge r12,rbp - cmp ecx,DWORD PTR[4+rbx] + cmp ecx,DWORD PTR[4+rbx] cmovge r13,rbp - cmp ecx,DWORD PTR[8+rbx] + cmp ecx,DWORD PTR[8+rbx] cmovge r14,rbp - cmp ecx,DWORD PTR[12+rbx] + cmp ecx,DWORD PTR[12+rbx] cmovge r15,rbp - cmp ecx,DWORD PTR[16+rbx] + cmp ecx,DWORD PTR[16+rbx] cmovge r8,rbp - cmp ecx,DWORD PTR[20+rbx] + cmp ecx,DWORD PTR[20+rbx] cmovge r9,rbp - cmp ecx,DWORD PTR[24+rbx] + cmp ecx,DWORD PTR[24+rbx] cmovge r10,rbp - cmp ecx,DWORD PTR[28+rbx] + cmp ecx,DWORD PTR[28+rbx] cmovge r11,rbp - vmovdqa ymm7,YMMWORD PTR[rbx] + vmovdqa ymm7,YMMWORD PTR[rbx] vpxor ymm0,ymm0,ymm0 vmovdqa ymm6,ymm7 vpcmpgtd ymm6,ymm6,ymm0 vpaddd ymm7,ymm7,ymm6 - vmovdqu ymm0,YMMWORD PTR[((0-128))+rdi] + vmovdqu ymm0,YMMWORD PTR[((0-128))+rdi] vpand ymm8,ymm8,ymm6 - vmovdqu ymm1,YMMWORD PTR[((32-128))+rdi] + vmovdqu ymm1,YMMWORD PTR[((32-128))+rdi] vpand ymm9,ymm9,ymm6 - vmovdqu ymm2,YMMWORD PTR[((64-128))+rdi] + vmovdqu ymm2,YMMWORD PTR[((64-128))+rdi] vpand ymm10,ymm10,ymm6 - vmovdqu ymm5,YMMWORD PTR[((96-128))+rdi] + vmovdqu ymm5,YMMWORD PTR[((96-128))+rdi] vpand ymm11,ymm11,ymm6 vpaddd ymm8,ymm8,ymm0 - vmovdqu ymm0,YMMWORD PTR[((128-128))+rdi] + vmovdqu ymm0,YMMWORD PTR[((128-128))+rdi] vpand ymm12,ymm12,ymm6 vpaddd ymm9,ymm9,ymm1 - vmovdqu ymm1,YMMWORD PTR[((160-128))+rdi] + vmovdqu ymm1,YMMWORD PTR[((160-128))+rdi] vpand ymm13,ymm13,ymm6 vpaddd ymm10,ymm10,ymm2 - vmovdqu ymm2,YMMWORD PTR[((192-128))+rdi] + vmovdqu ymm2,YMMWORD PTR[((192-128))+rdi] vpand ymm14,ymm14,ymm6 vpaddd ymm11,ymm11,ymm5 - vmovdqu ymm5,YMMWORD PTR[((224-128))+rdi] + vmovdqu ymm5,YMMWORD PTR[((224-128))+rdi] vpand ymm15,ymm15,ymm6 vpaddd ymm12,ymm12,ymm0 vpaddd ymm13,ymm13,ymm1 - vmovdqu YMMWORD PTR[(0-128)+rdi],ymm8 + vmovdqu YMMWORD PTR[(0-128)+rdi],ymm8 vpaddd ymm14,ymm14,ymm2 - vmovdqu YMMWORD PTR[(32-128)+rdi],ymm9 + vmovdqu YMMWORD PTR[(32-128)+rdi],ymm9 vpaddd ymm15,ymm15,ymm5 - vmovdqu YMMWORD PTR[(64-128)+rdi],ymm10 - vmovdqu YMMWORD PTR[(96-128)+rdi],ymm11 - vmovdqu YMMWORD PTR[(128-128)+rdi],ymm12 - vmovdqu YMMWORD PTR[(160-128)+rdi],ymm13 - vmovdqu YMMWORD PTR[(192-128)+rdi],ymm14 - vmovdqu YMMWORD PTR[(224-128)+rdi],ymm15 - - vmovdqu YMMWORD PTR[rbx],ymm7 - lea rbx,QWORD PTR[((256+128))+rsp] - vmovdqu ymm6,YMMWORD PTR[$L$pbswap] + vmovdqu YMMWORD PTR[(64-128)+rdi],ymm10 + vmovdqu YMMWORD PTR[(96-128)+rdi],ymm11 + vmovdqu YMMWORD PTR[(128-128)+rdi],ymm12 + vmovdqu YMMWORD PTR[(160-128)+rdi],ymm13 + vmovdqu YMMWORD PTR[(192-128)+rdi],ymm14 + vmovdqu YMMWORD PTR[(224-128)+rdi],ymm15 + + vmovdqu YMMWORD PTR[rbx],ymm7 + lea rbx,QWORD PTR[((256+128))+rsp] + vmovdqu ymm6,YMMWORD PTR[$L$pbswap] dec edx - jnz $L$oop_avx2 + jnz $L$oop_avx2 @@ -7893,43 +7893,43 @@ $L$oop_16_xx_avx2:: -$L$done_avx2:: - mov rax,QWORD PTR[544+rsp] +$L$done_avx2:: + mov rax,QWORD PTR[544+rsp] vzeroupper - movaps xmm6,XMMWORD PTR[((-216))+rax] - movaps xmm7,XMMWORD PTR[((-200))+rax] - movaps xmm8,XMMWORD PTR[((-184))+rax] - movaps xmm9,XMMWORD PTR[((-168))+rax] - movaps xmm10,XMMWORD PTR[((-152))+rax] - movaps xmm11,XMMWORD PTR[((-136))+rax] - movaps xmm12,XMMWORD PTR[((-120))+rax] - movaps xmm13,XMMWORD PTR[((-104))+rax] - movaps xmm14,XMMWORD PTR[((-88))+rax] - movaps xmm15,XMMWORD PTR[((-72))+rax] - mov r15,QWORD PTR[((-48))+rax] + movaps xmm6,XMMWORD PTR[((-216))+rax] + movaps xmm7,XMMWORD PTR[((-200))+rax] + movaps xmm8,XMMWORD PTR[((-184))+rax] + movaps xmm9,XMMWORD PTR[((-168))+rax] + movaps xmm10,XMMWORD PTR[((-152))+rax] + movaps xmm11,XMMWORD PTR[((-136))+rax] + movaps xmm12,XMMWORD PTR[((-120))+rax] + movaps xmm13,XMMWORD PTR[((-104))+rax] + movaps xmm14,XMMWORD PTR[((-88))+rax] + movaps xmm15,XMMWORD PTR[((-72))+rax] + mov r15,QWORD PTR[((-48))+rax] - mov r14,QWORD PTR[((-40))+rax] + mov r14,QWORD PTR[((-40))+rax] - mov r13,QWORD PTR[((-32))+rax] + mov r13,QWORD PTR[((-32))+rax] - mov r12,QWORD PTR[((-24))+rax] + mov r12,QWORD PTR[((-24))+rax] - mov rbp,QWORD PTR[((-16))+rax] + mov rbp,QWORD PTR[((-16))+rax] - mov rbx,QWORD PTR[((-8))+rax] + mov rbx,QWORD PTR[((-8))+rax] - lea rsp,QWORD PTR[rax] + lea rsp,QWORD PTR[rax] -$L$epilogue_avx2:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_avx2:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_multi_block_avx2:: -sha256_multi_block_avx2 ENDP +$L$SEH_end_sha256_multi_block_avx2:: +sha256_multi_block_avx2 ENDP ALIGN 256 -K256:: +K256:: DD 1116352408,1116352408,1116352408,1116352408 DD 1116352408,1116352408,1116352408,1116352408 DD 1899447441,1899447441,1899447441,1899447441 @@ -8058,35 +8058,35 @@ K256:: DD 3204031479,3204031479,3204031479,3204031479 DD 3329325298,3329325298,3329325298,3329325298 DD 3329325298,3329325298,3329325298,3329325298 -$L$pbswap:: - DD 000010203h,004050607h,008090a0bh,00c0d0e0fh - DD 000010203h,004050607h,008090a0bh,00c0d0e0fh -K256_shaext:: - DD 0428a2f98h,071374491h,0b5c0fbcfh,0e9b5dba5h - DD 03956c25bh,059f111f1h,0923f82a4h,0ab1c5ed5h - DD 0d807aa98h,012835b01h,0243185beh,0550c7dc3h - DD 072be5d74h,080deb1feh,09bdc06a7h,0c19bf174h - DD 0e49b69c1h,0efbe4786h,00fc19dc6h,0240ca1cch - DD 02de92c6fh,04a7484aah,05cb0a9dch,076f988dah - DD 0983e5152h,0a831c66dh,0b00327c8h,0bf597fc7h - DD 0c6e00bf3h,0d5a79147h,006ca6351h,014292967h - DD 027b70a85h,02e1b2138h,04d2c6dfch,053380d13h - DD 0650a7354h,0766a0abbh,081c2c92eh,092722c85h - DD 0a2bfe8a1h,0a81a664bh,0c24b8b70h,0c76c51a3h - DD 0d192e819h,0d6990624h,0f40e3585h,0106aa070h - DD 019a4c116h,01e376c08h,02748774ch,034b0bcb5h - DD 0391c0cb3h,04ed8aa4ah,05b9cca4fh,0682e6ff3h - DD 0748f82eeh,078a5636fh,084c87814h,08cc70208h - DD 090befffah,0a4506cebh,0bef9a3f7h,0c67178f2h +$L$pbswap:: + DD 000010203h,004050607h,008090a0bh,00c0d0e0fh + DD 000010203h,004050607h,008090a0bh,00c0d0e0fh +K256_shaext:: + DD 0428a2f98h,071374491h,0b5c0fbcfh,0e9b5dba5h + DD 03956c25bh,059f111f1h,0923f82a4h,0ab1c5ed5h + DD 0d807aa98h,012835b01h,0243185beh,0550c7dc3h + DD 072be5d74h,080deb1feh,09bdc06a7h,0c19bf174h + DD 0e49b69c1h,0efbe4786h,00fc19dc6h,0240ca1cch + DD 02de92c6fh,04a7484aah,05cb0a9dch,076f988dah + DD 0983e5152h,0a831c66dh,0b00327c8h,0bf597fc7h + DD 0c6e00bf3h,0d5a79147h,006ca6351h,014292967h + DD 027b70a85h,02e1b2138h,04d2c6dfch,053380d13h + DD 0650a7354h,0766a0abbh,081c2c92eh,092722c85h + DD 0a2bfe8a1h,0a81a664bh,0c24b8b70h,0c76c51a3h + DD 0d192e819h,0d6990624h,0f40e3585h,0106aa070h + DD 019a4c116h,01e376c08h,02748774ch,034b0bcb5h + DD 0391c0cb3h,04ed8aa4ah,05b9cca4fh,0682e6ff3h + DD 0748f82eeh,078a5636fh,084c87814h,08cc70208h + DD 090befffah,0a4506cebh,0bef9a3f7h,0c67178f2h DB 83,72,65,50,53,54,32,109,117,108,116,105,45,98,108,111 DB 99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114 DB 32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71 DB 65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112 DB 101,110,115,115,108,46,111,114,103,62,0 -EXTERN __imp_RtlVirtualUnwind:NEAR +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -8098,61 +8098,61 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$in_prologue + jae $L$in_prologue - mov rax,QWORD PTR[272+rax] + mov rax,QWORD PTR[272+rax] - mov rbx,QWORD PTR[((-8))+rax] - mov rbp,QWORD PTR[((-16))+rax] - mov QWORD PTR[144+r8],rbx - mov QWORD PTR[160+r8],rbp + mov rbx,QWORD PTR[((-8))+rax] + mov rbp,QWORD PTR[((-16))+rax] + mov QWORD PTR[144+r8],rbx + mov QWORD PTR[160+r8],rbp - lea rsi,QWORD PTR[((-24-160))+rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[((-24-160))+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch + DD 0a548f3fch -$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 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 - mov rdi,QWORD PTR[40+r9] + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -8166,10 +8166,10 @@ $L$in_prologue:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP +se_handler ENDP ALIGN 16 -avx2_handler PROC PRIVATE +avx2_handler PROC PRIVATE push rsi push rdi push rbx @@ -8181,80 +8181,80 @@ avx2_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$in_prologue - - mov rax,QWORD PTR[544+r8] - - 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 rsi,QWORD PTR[((-56-160))+rax] - lea rdi,QWORD PTR[512+r8] + jae $L$in_prologue + + mov rax,QWORD PTR[544+r8] + + 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 rsi,QWORD PTR[((-56-160))+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,20 - DD 0a548f3fch + DD 0a548f3fch - jmp $L$in_prologue -avx2_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) + jmp $L$in_prologue +avx2_handler ENDP +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_sha256_multi_block - DD imagerel $L$SEH_end_sha256_multi_block - DD imagerel $L$SEH_info_sha256_multi_block - DD imagerel $L$SEH_begin_sha256_multi_block_shaext - DD imagerel $L$SEH_end_sha256_multi_block_shaext - DD imagerel $L$SEH_info_sha256_multi_block_shaext - DD imagerel $L$SEH_begin_sha256_multi_block_avx - DD imagerel $L$SEH_end_sha256_multi_block_avx - DD imagerel $L$SEH_info_sha256_multi_block_avx - DD imagerel $L$SEH_begin_sha256_multi_block_avx2 - DD imagerel $L$SEH_end_sha256_multi_block_avx2 - DD imagerel $L$SEH_info_sha256_multi_block_avx2 -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + DD imagerel $L$SEH_begin_sha256_multi_block + DD imagerel $L$SEH_end_sha256_multi_block + DD imagerel $L$SEH_info_sha256_multi_block + DD imagerel $L$SEH_begin_sha256_multi_block_shaext + DD imagerel $L$SEH_end_sha256_multi_block_shaext + DD imagerel $L$SEH_info_sha256_multi_block_shaext + DD imagerel $L$SEH_begin_sha256_multi_block_avx + DD imagerel $L$SEH_end_sha256_multi_block_avx + DD imagerel $L$SEH_info_sha256_multi_block_avx + DD imagerel $L$SEH_begin_sha256_multi_block_avx2 + DD imagerel $L$SEH_end_sha256_multi_block_avx2 + DD imagerel $L$SEH_info_sha256_multi_block_avx2 +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_sha256_multi_block:: +$L$SEH_info_sha256_multi_block:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$body,imagerel $L$epilogue -$L$SEH_info_sha256_multi_block_shaext:: + DD imagerel se_handler + DD imagerel $L$body,imagerel $L$epilogue +$L$SEH_info_sha256_multi_block_shaext:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$body_shaext,imagerel $L$epilogue_shaext -$L$SEH_info_sha256_multi_block_avx:: + DD imagerel se_handler + DD imagerel $L$body_shaext,imagerel $L$epilogue_shaext +$L$SEH_info_sha256_multi_block_avx:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$body_avx,imagerel $L$epilogue_avx -$L$SEH_info_sha256_multi_block_avx2:: + DD imagerel se_handler + DD imagerel $L$body_avx,imagerel $L$epilogue_avx +$L$SEH_info_sha256_multi_block_avx2:: DB 9,0,0,0 - DD imagerel avx2_handler - DD imagerel $L$body_avx2,imagerel $L$epilogue_avx2 - -.xdata ENDS -END + DD imagerel avx2_handler + DD imagerel $L$body_avx2,imagerel $L$epilogue_avx2 + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/sha/sha256-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/sha/sha256-x86_64.masm index 1512e10603..09b3eac722 100644 --- a/contrib/libs/openssl/asm/windows/crypto/sha/sha256-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/sha/sha256-x86_64.masm @@ -1,37 +1,37 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC sha256_block_data_order +EXTERN OPENSSL_ia32cap_P:NEAR +PUBLIC 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 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[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,QWORD PTR[OPENSSL_ia32cap_P] + mov r9d,DWORD PTR[r11] + mov r10d,DWORD PTR[4+r11] + mov r11d,DWORD PTR[8+r11] test r11d,536870912 - jnz _shaext_shortcut + jnz _shaext_shortcut and r11d,296 cmp r11d,296 - je $L$avx2_shortcut + je $L$avx2_shortcut and r9d,1073741824 and r10d,268435968 or r10d,r9d cmp r10d,1342177792 - je $L$avx_shortcut + je $L$avx_shortcut test r10d,512 - jnz $L$ssse3_shortcut + jnz $L$ssse3_shortcut mov rax,rsp push rbx @@ -48,31 +48,31 @@ $L$SEH_begin_sha256_block_data_order:: shl rdx,4 sub rsp,16*4+4*8 - lea rdx,QWORD PTR[rdx*4+rsi] + lea rdx,QWORD PTR[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[88+rsp],rax - -$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 PTR[((64+0))+rsp],rdi + mov QWORD PTR[((64+8))+rsp],rsi + mov QWORD PTR[((64+16))+rsp],rdx + mov QWORD PTR[88+rsp],rax + +$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 ALIGN 16 -$L$loop:: +$L$loop:: mov edi,ebx - lea rbp,QWORD PTR[K256] + lea rbp,QWORD PTR[K256] xor edi,ecx - mov r12d,DWORD PTR[rsi] + mov r12d,DWORD PTR[rsi] mov r13d,r8d mov r14d,eax bswap r12d @@ -83,7 +83,7 @@ $L$loop:: ror r14d,9 xor r15d,r10d - mov DWORD PTR[rsp],r12d + mov DWORD PTR[rsp],r12d xor r14d,eax and r15d,r8d @@ -96,7 +96,7 @@ $L$loop:: add r12d,r15d mov r15d,eax - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,eax xor r15d,ebx @@ -111,9 +111,9 @@ $L$loop:: add edx,r12d add r11d,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,QWORD PTR[4+rbp] add r11d,r14d - mov r12d,DWORD PTR[4+rsi] + mov r12d,DWORD PTR[4+rsi] mov r13d,edx mov r14d,r11d bswap r12d @@ -124,7 +124,7 @@ $L$loop:: ror r14d,9 xor edi,r9d - mov DWORD PTR[4+rsp],r12d + mov DWORD PTR[4+rsp],r12d xor r14d,r11d and edi,edx @@ -137,7 +137,7 @@ $L$loop:: add r12d,edi mov edi,r11d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r11d xor edi,eax @@ -152,9 +152,9 @@ $L$loop:: add ecx,r12d add r10d,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,QWORD PTR[4+rbp] add r10d,r14d - mov r12d,DWORD PTR[8+rsi] + mov r12d,DWORD PTR[8+rsi] mov r13d,ecx mov r14d,r10d bswap r12d @@ -165,7 +165,7 @@ $L$loop:: ror r14d,9 xor r15d,r8d - mov DWORD PTR[8+rsp],r12d + mov DWORD PTR[8+rsp],r12d xor r14d,r10d and r15d,ecx @@ -178,7 +178,7 @@ $L$loop:: add r12d,r15d mov r15d,r10d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r10d xor r15d,r11d @@ -193,9 +193,9 @@ $L$loop:: add ebx,r12d add r9d,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,QWORD PTR[4+rbp] add r9d,r14d - mov r12d,DWORD PTR[12+rsi] + mov r12d,DWORD PTR[12+rsi] mov r13d,ebx mov r14d,r9d bswap r12d @@ -206,7 +206,7 @@ $L$loop:: ror r14d,9 xor edi,edx - mov DWORD PTR[12+rsp],r12d + mov DWORD PTR[12+rsp],r12d xor r14d,r9d and edi,ebx @@ -219,7 +219,7 @@ $L$loop:: add r12d,edi mov edi,r9d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r9d xor edi,r10d @@ -234,9 +234,9 @@ $L$loop:: add eax,r12d add r8d,r12d - lea rbp,QWORD PTR[20+rbp] + lea rbp,QWORD PTR[20+rbp] add r8d,r14d - mov r12d,DWORD PTR[16+rsi] + mov r12d,DWORD PTR[16+rsi] mov r13d,eax mov r14d,r8d bswap r12d @@ -247,7 +247,7 @@ $L$loop:: ror r14d,9 xor r15d,ecx - mov DWORD PTR[16+rsp],r12d + mov DWORD PTR[16+rsp],r12d xor r14d,r8d and r15d,eax @@ -260,7 +260,7 @@ $L$loop:: add r12d,r15d mov r15d,r8d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r8d xor r15d,r9d @@ -275,9 +275,9 @@ $L$loop:: add r11d,r12d add edx,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,QWORD PTR[4+rbp] add edx,r14d - mov r12d,DWORD PTR[20+rsi] + mov r12d,DWORD PTR[20+rsi] mov r13d,r11d mov r14d,edx bswap r12d @@ -288,7 +288,7 @@ $L$loop:: ror r14d,9 xor edi,ebx - mov DWORD PTR[20+rsp],r12d + mov DWORD PTR[20+rsp],r12d xor r14d,edx and edi,r11d @@ -301,7 +301,7 @@ $L$loop:: add r12d,edi mov edi,edx - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,edx xor edi,r8d @@ -316,9 +316,9 @@ $L$loop:: add r10d,r12d add ecx,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,QWORD PTR[4+rbp] add ecx,r14d - mov r12d,DWORD PTR[24+rsi] + mov r12d,DWORD PTR[24+rsi] mov r13d,r10d mov r14d,ecx bswap r12d @@ -329,7 +329,7 @@ $L$loop:: ror r14d,9 xor r15d,eax - mov DWORD PTR[24+rsp],r12d + mov DWORD PTR[24+rsp],r12d xor r14d,ecx and r15d,r10d @@ -342,7 +342,7 @@ $L$loop:: add r12d,r15d mov r15d,ecx - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,ecx xor r15d,edx @@ -357,9 +357,9 @@ $L$loop:: add r9d,r12d add ebx,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,QWORD PTR[4+rbp] add ebx,r14d - mov r12d,DWORD PTR[28+rsi] + mov r12d,DWORD PTR[28+rsi] mov r13d,r9d mov r14d,ebx bswap r12d @@ -370,7 +370,7 @@ $L$loop:: ror r14d,9 xor edi,r11d - mov DWORD PTR[28+rsp],r12d + mov DWORD PTR[28+rsp],r12d xor r14d,ebx and edi,r9d @@ -383,7 +383,7 @@ $L$loop:: add r12d,edi mov edi,ebx - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,ebx xor edi,ecx @@ -398,9 +398,9 @@ $L$loop:: add r8d,r12d add eax,r12d - lea rbp,QWORD PTR[20+rbp] + lea rbp,QWORD PTR[20+rbp] add eax,r14d - mov r12d,DWORD PTR[32+rsi] + mov r12d,DWORD PTR[32+rsi] mov r13d,r8d mov r14d,eax bswap r12d @@ -411,7 +411,7 @@ $L$loop:: ror r14d,9 xor r15d,r10d - mov DWORD PTR[32+rsp],r12d + mov DWORD PTR[32+rsp],r12d xor r14d,eax and r15d,r8d @@ -424,7 +424,7 @@ $L$loop:: add r12d,r15d mov r15d,eax - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,eax xor r15d,ebx @@ -439,9 +439,9 @@ $L$loop:: add edx,r12d add r11d,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,QWORD PTR[4+rbp] add r11d,r14d - mov r12d,DWORD PTR[36+rsi] + mov r12d,DWORD PTR[36+rsi] mov r13d,edx mov r14d,r11d bswap r12d @@ -452,7 +452,7 @@ $L$loop:: ror r14d,9 xor edi,r9d - mov DWORD PTR[36+rsp],r12d + mov DWORD PTR[36+rsp],r12d xor r14d,r11d and edi,edx @@ -465,7 +465,7 @@ $L$loop:: add r12d,edi mov edi,r11d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r11d xor edi,eax @@ -480,9 +480,9 @@ $L$loop:: add ecx,r12d add r10d,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,QWORD PTR[4+rbp] add r10d,r14d - mov r12d,DWORD PTR[40+rsi] + mov r12d,DWORD PTR[40+rsi] mov r13d,ecx mov r14d,r10d bswap r12d @@ -493,7 +493,7 @@ $L$loop:: ror r14d,9 xor r15d,r8d - mov DWORD PTR[40+rsp],r12d + mov DWORD PTR[40+rsp],r12d xor r14d,r10d and r15d,ecx @@ -506,7 +506,7 @@ $L$loop:: add r12d,r15d mov r15d,r10d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r10d xor r15d,r11d @@ -521,9 +521,9 @@ $L$loop:: add ebx,r12d add r9d,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,QWORD PTR[4+rbp] add r9d,r14d - mov r12d,DWORD PTR[44+rsi] + mov r12d,DWORD PTR[44+rsi] mov r13d,ebx mov r14d,r9d bswap r12d @@ -534,7 +534,7 @@ $L$loop:: ror r14d,9 xor edi,edx - mov DWORD PTR[44+rsp],r12d + mov DWORD PTR[44+rsp],r12d xor r14d,r9d and edi,ebx @@ -547,7 +547,7 @@ $L$loop:: add r12d,edi mov edi,r9d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r9d xor edi,r10d @@ -562,9 +562,9 @@ $L$loop:: add eax,r12d add r8d,r12d - lea rbp,QWORD PTR[20+rbp] + lea rbp,QWORD PTR[20+rbp] add r8d,r14d - mov r12d,DWORD PTR[48+rsi] + mov r12d,DWORD PTR[48+rsi] mov r13d,eax mov r14d,r8d bswap r12d @@ -575,7 +575,7 @@ $L$loop:: ror r14d,9 xor r15d,ecx - mov DWORD PTR[48+rsp],r12d + mov DWORD PTR[48+rsp],r12d xor r14d,r8d and r15d,eax @@ -588,7 +588,7 @@ $L$loop:: add r12d,r15d mov r15d,r8d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r8d xor r15d,r9d @@ -603,9 +603,9 @@ $L$loop:: add r11d,r12d add edx,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,QWORD PTR[4+rbp] add edx,r14d - mov r12d,DWORD PTR[52+rsi] + mov r12d,DWORD PTR[52+rsi] mov r13d,r11d mov r14d,edx bswap r12d @@ -616,7 +616,7 @@ $L$loop:: ror r14d,9 xor edi,ebx - mov DWORD PTR[52+rsp],r12d + mov DWORD PTR[52+rsp],r12d xor r14d,edx and edi,r11d @@ -629,7 +629,7 @@ $L$loop:: add r12d,edi mov edi,edx - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,edx xor edi,r8d @@ -644,9 +644,9 @@ $L$loop:: add r10d,r12d add ecx,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,QWORD PTR[4+rbp] add ecx,r14d - mov r12d,DWORD PTR[56+rsi] + mov r12d,DWORD PTR[56+rsi] mov r13d,r10d mov r14d,ecx bswap r12d @@ -657,7 +657,7 @@ $L$loop:: ror r14d,9 xor r15d,eax - mov DWORD PTR[56+rsp],r12d + mov DWORD PTR[56+rsp],r12d xor r14d,ecx and r15d,r10d @@ -670,7 +670,7 @@ $L$loop:: add r12d,r15d mov r15d,ecx - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,ecx xor r15d,edx @@ -685,9 +685,9 @@ $L$loop:: add r9d,r12d add ebx,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,QWORD PTR[4+rbp] add ebx,r14d - mov r12d,DWORD PTR[60+rsi] + mov r12d,DWORD PTR[60+rsi] mov r13d,r9d mov r14d,ebx bswap r12d @@ -698,7 +698,7 @@ $L$loop:: ror r14d,9 xor edi,r11d - mov DWORD PTR[60+rsp],r12d + mov DWORD PTR[60+rsp],r12d xor r14d,ebx and edi,r9d @@ -711,7 +711,7 @@ $L$loop:: add r12d,edi mov edi,ebx - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,ebx xor edi,ecx @@ -726,12 +726,12 @@ $L$loop:: add r8d,r12d add eax,r12d - lea rbp,QWORD PTR[20+rbp] - jmp $L$rounds_16_xx + lea rbp,QWORD PTR[20+rbp] + jmp $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 PTR[4+rsp] + mov r15d,DWORD PTR[56+rsp] mov r12d,r13d ror r13d,11 @@ -748,9 +748,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[36+rsp] + add r12d,DWORD PTR[36+rsp] - add r12d,DWORD PTR[rsp] + add r12d,DWORD PTR[rsp] mov r13d,r8d add r12d,r15d mov r14d,eax @@ -761,7 +761,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,r10d - mov DWORD PTR[rsp],r12d + mov DWORD PTR[rsp],r12d xor r14d,eax and r15d,r8d @@ -774,7 +774,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,eax - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,eax xor r15d,ebx @@ -789,9 +789,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,QWORD PTR[4+rbp] + mov r13d,DWORD PTR[8+rsp] + mov edi,DWORD PTR[60+rsp] mov r12d,r13d ror r13d,11 @@ -808,9 +808,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[40+rsp] + add r12d,DWORD PTR[40+rsp] - add r12d,DWORD PTR[4+rsp] + add r12d,DWORD PTR[4+rsp] mov r13d,edx add r12d,edi mov r14d,r11d @@ -821,7 +821,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,r9d - mov DWORD PTR[4+rsp],r12d + mov DWORD PTR[4+rsp],r12d xor r14d,r11d and edi,edx @@ -834,7 +834,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,r11d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r11d xor edi,eax @@ -849,9 +849,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,QWORD PTR[4+rbp] + mov r13d,DWORD PTR[12+rsp] + mov r15d,DWORD PTR[rsp] mov r12d,r13d ror r13d,11 @@ -868,9 +868,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[44+rsp] + add r12d,DWORD PTR[44+rsp] - add r12d,DWORD PTR[8+rsp] + add r12d,DWORD PTR[8+rsp] mov r13d,ecx add r12d,r15d mov r14d,r10d @@ -881,7 +881,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,r8d - mov DWORD PTR[8+rsp],r12d + mov DWORD PTR[8+rsp],r12d xor r14d,r10d and r15d,ecx @@ -894,7 +894,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,r10d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r10d xor r15d,r11d @@ -909,9 +909,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,QWORD PTR[4+rbp] + mov r13d,DWORD PTR[16+rsp] + mov edi,DWORD PTR[4+rsp] mov r12d,r13d ror r13d,11 @@ -928,9 +928,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[48+rsp] + add r12d,DWORD PTR[48+rsp] - add r12d,DWORD PTR[12+rsp] + add r12d,DWORD PTR[12+rsp] mov r13d,ebx add r12d,edi mov r14d,r9d @@ -941,7 +941,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,edx - mov DWORD PTR[12+rsp],r12d + mov DWORD PTR[12+rsp],r12d xor r14d,r9d and edi,ebx @@ -954,7 +954,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,r9d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r9d xor edi,r10d @@ -969,9 +969,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,QWORD PTR[20+rbp] + mov r13d,DWORD PTR[20+rsp] + mov r15d,DWORD PTR[8+rsp] mov r12d,r13d ror r13d,11 @@ -988,9 +988,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[52+rsp] + add r12d,DWORD PTR[52+rsp] - add r12d,DWORD PTR[16+rsp] + add r12d,DWORD PTR[16+rsp] mov r13d,eax add r12d,r15d mov r14d,r8d @@ -1001,7 +1001,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,ecx - mov DWORD PTR[16+rsp],r12d + mov DWORD PTR[16+rsp],r12d xor r14d,r8d and r15d,eax @@ -1014,7 +1014,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,r8d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r8d xor r15d,r9d @@ -1029,9 +1029,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,QWORD PTR[4+rbp] + mov r13d,DWORD PTR[24+rsp] + mov edi,DWORD PTR[12+rsp] mov r12d,r13d ror r13d,11 @@ -1048,9 +1048,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[56+rsp] + add r12d,DWORD PTR[56+rsp] - add r12d,DWORD PTR[20+rsp] + add r12d,DWORD PTR[20+rsp] mov r13d,r11d add r12d,edi mov r14d,edx @@ -1061,7 +1061,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,ebx - mov DWORD PTR[20+rsp],r12d + mov DWORD PTR[20+rsp],r12d xor r14d,edx and edi,r11d @@ -1074,7 +1074,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,edx - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,edx xor edi,r8d @@ -1089,9 +1089,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,QWORD PTR[4+rbp] + mov r13d,DWORD PTR[28+rsp] + mov r15d,DWORD PTR[16+rsp] mov r12d,r13d ror r13d,11 @@ -1108,9 +1108,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[60+rsp] + add r12d,DWORD PTR[60+rsp] - add r12d,DWORD PTR[24+rsp] + add r12d,DWORD PTR[24+rsp] mov r13d,r10d add r12d,r15d mov r14d,ecx @@ -1121,7 +1121,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,eax - mov DWORD PTR[24+rsp],r12d + mov DWORD PTR[24+rsp],r12d xor r14d,ecx and r15d,r10d @@ -1134,7 +1134,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,ecx - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,ecx xor r15d,edx @@ -1149,9 +1149,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,QWORD PTR[4+rbp] + mov r13d,DWORD PTR[32+rsp] + mov edi,DWORD PTR[20+rsp] mov r12d,r13d ror r13d,11 @@ -1168,9 +1168,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[rsp] + add r12d,DWORD PTR[rsp] - add r12d,DWORD PTR[28+rsp] + add r12d,DWORD PTR[28+rsp] mov r13d,r9d add r12d,edi mov r14d,ebx @@ -1181,7 +1181,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,r11d - mov DWORD PTR[28+rsp],r12d + mov DWORD PTR[28+rsp],r12d xor r14d,ebx and edi,r9d @@ -1194,7 +1194,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,ebx - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,ebx xor edi,ecx @@ -1209,9 +1209,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,QWORD PTR[20+rbp] + mov r13d,DWORD PTR[36+rsp] + mov r15d,DWORD PTR[24+rsp] mov r12d,r13d ror r13d,11 @@ -1228,9 +1228,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[4+rsp] + add r12d,DWORD PTR[4+rsp] - add r12d,DWORD PTR[32+rsp] + add r12d,DWORD PTR[32+rsp] mov r13d,r8d add r12d,r15d mov r14d,eax @@ -1241,7 +1241,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,r10d - mov DWORD PTR[32+rsp],r12d + mov DWORD PTR[32+rsp],r12d xor r14d,eax and r15d,r8d @@ -1254,7 +1254,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,eax - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,eax xor r15d,ebx @@ -1269,9 +1269,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,QWORD PTR[4+rbp] + mov r13d,DWORD PTR[40+rsp] + mov edi,DWORD PTR[28+rsp] mov r12d,r13d ror r13d,11 @@ -1288,9 +1288,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[8+rsp] + add r12d,DWORD PTR[8+rsp] - add r12d,DWORD PTR[36+rsp] + add r12d,DWORD PTR[36+rsp] mov r13d,edx add r12d,edi mov r14d,r11d @@ -1301,7 +1301,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,r9d - mov DWORD PTR[36+rsp],r12d + mov DWORD PTR[36+rsp],r12d xor r14d,r11d and edi,edx @@ -1314,7 +1314,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,r11d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r11d xor edi,eax @@ -1329,9 +1329,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,QWORD PTR[4+rbp] + mov r13d,DWORD PTR[44+rsp] + mov r15d,DWORD PTR[32+rsp] mov r12d,r13d ror r13d,11 @@ -1348,9 +1348,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[12+rsp] + add r12d,DWORD PTR[12+rsp] - add r12d,DWORD PTR[40+rsp] + add r12d,DWORD PTR[40+rsp] mov r13d,ecx add r12d,r15d mov r14d,r10d @@ -1361,7 +1361,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,r8d - mov DWORD PTR[40+rsp],r12d + mov DWORD PTR[40+rsp],r12d xor r14d,r10d and r15d,ecx @@ -1374,7 +1374,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,r10d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r10d xor r15d,r11d @@ -1389,9 +1389,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,QWORD PTR[4+rbp] + mov r13d,DWORD PTR[48+rsp] + mov edi,DWORD PTR[36+rsp] mov r12d,r13d ror r13d,11 @@ -1408,9 +1408,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[16+rsp] + add r12d,DWORD PTR[16+rsp] - add r12d,DWORD PTR[44+rsp] + add r12d,DWORD PTR[44+rsp] mov r13d,ebx add r12d,edi mov r14d,r9d @@ -1421,7 +1421,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,edx - mov DWORD PTR[44+rsp],r12d + mov DWORD PTR[44+rsp],r12d xor r14d,r9d and edi,ebx @@ -1434,7 +1434,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,r9d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r9d xor edi,r10d @@ -1449,9 +1449,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,QWORD PTR[20+rbp] + mov r13d,DWORD PTR[52+rsp] + mov r15d,DWORD PTR[40+rsp] mov r12d,r13d ror r13d,11 @@ -1468,9 +1468,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[20+rsp] + add r12d,DWORD PTR[20+rsp] - add r12d,DWORD PTR[48+rsp] + add r12d,DWORD PTR[48+rsp] mov r13d,eax add r12d,r15d mov r14d,r8d @@ -1481,7 +1481,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,ecx - mov DWORD PTR[48+rsp],r12d + mov DWORD PTR[48+rsp],r12d xor r14d,r8d and r15d,eax @@ -1494,7 +1494,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,r8d - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,r8d xor r15d,r9d @@ -1509,9 +1509,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,QWORD PTR[4+rbp] + mov r13d,DWORD PTR[56+rsp] + mov edi,DWORD PTR[44+rsp] mov r12d,r13d ror r13d,11 @@ -1528,9 +1528,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[24+rsp] + add r12d,DWORD PTR[24+rsp] - add r12d,DWORD PTR[52+rsp] + add r12d,DWORD PTR[52+rsp] mov r13d,r11d add r12d,edi mov r14d,edx @@ -1541,7 +1541,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,ebx - mov DWORD PTR[52+rsp],r12d + mov DWORD PTR[52+rsp],r12d xor r14d,edx and edi,r11d @@ -1554,7 +1554,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,edx - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,edx xor edi,r8d @@ -1569,9 +1569,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,QWORD PTR[4+rbp] + mov r13d,DWORD PTR[60+rsp] + mov r15d,DWORD PTR[48+rsp] mov r12d,r13d ror r13d,11 @@ -1588,9 +1588,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[28+rsp] + add r12d,DWORD PTR[28+rsp] - add r12d,DWORD PTR[56+rsp] + add r12d,DWORD PTR[56+rsp] mov r13d,r10d add r12d,r15d mov r14d,ecx @@ -1601,7 +1601,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,eax - mov DWORD PTR[56+rsp],r12d + mov DWORD PTR[56+rsp],r12d xor r14d,ecx and r15d,r10d @@ -1614,7 +1614,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,ecx - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,ecx xor r15d,edx @@ -1629,9 +1629,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,QWORD PTR[4+rbp] + mov r13d,DWORD PTR[rsp] + mov edi,DWORD PTR[52+rsp] mov r12d,r13d ror r13d,11 @@ -1648,9 +1648,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[32+rsp] + add r12d,DWORD PTR[32+rsp] - add r12d,DWORD PTR[60+rsp] + add r12d,DWORD PTR[60+rsp] mov r13d,r9d add r12d,edi mov r14d,ebx @@ -1661,7 +1661,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,r11d - mov DWORD PTR[60+rsp],r12d + mov DWORD PTR[60+rsp],r12d xor r14d,ebx and edi,r9d @@ -1674,7 +1674,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,ebx - add r12d,DWORD PTR[rbp] + add r12d,DWORD PTR[rbp] xor r14d,ebx xor edi,ecx @@ -1689,100 +1689,100 @@ $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,QWORD PTR[20+rbp] + cmp BYTE PTR[3+rbp],0 + jnz $L$rounds_16_xx - mov rdi,QWORD PTR[((64+0))+rsp] + mov rdi,QWORD PTR[((64+0))+rsp] add eax,r14d - lea rsi,QWORD PTR[64+rsi] + 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] + 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] + 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 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[88+rsp] + mov rsi,QWORD PTR[88+rsp] - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[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:: +sha256_block_data_order ENDP 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 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 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 @@ -1790,70 +1790,70 @@ DB 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 DB 111,114,103,62,0 ALIGN 64 -sha256_block_data_order_shaext PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha256_block_data_order_shaext PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha256_block_data_order_shaext:: +$L$SEH_begin_sha256_block_data_order_shaext:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -_shaext_shortcut:: - - lea rsp,QWORD PTR[((-88))+rsp] - movaps XMMWORD PTR[(-8-80)+rax],xmm6 - movaps XMMWORD PTR[(-8-64)+rax],xmm7 - movaps XMMWORD PTR[(-8-48)+rax],xmm8 - movaps XMMWORD PTR[(-8-32)+rax],xmm9 - movaps XMMWORD PTR[(-8-16)+rax],xmm10 -$L$prologue_shaext:: - lea rcx,QWORD PTR[((K256+128))] - movdqu xmm1,XMMWORD PTR[rdi] - movdqu xmm2,XMMWORD PTR[16+rdi] - movdqa xmm7,XMMWORD PTR[((512-128))+rcx] - - pshufd xmm0,xmm1,01bh - pshufd xmm1,xmm1,0b1h - pshufd xmm2,xmm2,01bh +_shaext_shortcut:: + + lea rsp,QWORD PTR[((-88))+rsp] + movaps XMMWORD PTR[(-8-80)+rax],xmm6 + movaps XMMWORD PTR[(-8-64)+rax],xmm7 + movaps XMMWORD PTR[(-8-48)+rax],xmm8 + movaps XMMWORD PTR[(-8-32)+rax],xmm9 + movaps XMMWORD PTR[(-8-16)+rax],xmm10 +$L$prologue_shaext:: + lea rcx,QWORD PTR[((K256+128))] + movdqu xmm1,XMMWORD PTR[rdi] + movdqu xmm2,XMMWORD PTR[16+rdi] + movdqa xmm7,XMMWORD PTR[((512-128))+rcx] + + pshufd xmm0,xmm1,01bh + pshufd xmm1,xmm1,0b1h + pshufd xmm2,xmm2,01bh movdqa xmm8,xmm7 DB 102,15,58,15,202,8 punpcklqdq xmm2,xmm0 - jmp $L$oop_shaext + jmp $L$oop_shaext ALIGN 16 -$L$oop_shaext:: - movdqu xmm3,XMMWORD PTR[rsi] - movdqu xmm4,XMMWORD PTR[16+rsi] - movdqu xmm5,XMMWORD PTR[32+rsi] +$L$oop_shaext:: + movdqu xmm3,XMMWORD PTR[rsi] + movdqu xmm4,XMMWORD PTR[16+rsi] + movdqu xmm5,XMMWORD PTR[32+rsi] DB 102,15,56,0,223 - movdqu xmm6,XMMWORD PTR[48+rsi] + movdqu xmm6,XMMWORD PTR[48+rsi] - movdqa xmm0,XMMWORD PTR[((0-128))+rcx] + movdqa xmm0,XMMWORD PTR[((0-128))+rcx] paddd xmm0,xmm3 DB 102,15,56,0,231 movdqa xmm10,xmm2 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh nop movdqa xmm9,xmm1 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((32-128))+rcx] + movdqa xmm0,XMMWORD PTR[((32-128))+rcx] paddd xmm0,xmm4 DB 102,15,56,0,239 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh - lea rsi,QWORD PTR[64+rsi] + pshufd xmm0,xmm0,00eh + lea rsi,QWORD PTR[64+rsi] DB 15,56,204,220 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((64-128))+rcx] + movdqa xmm0,XMMWORD PTR[((64-128))+rcx] paddd xmm0,xmm5 DB 102,15,56,0,247 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm7,xmm6 DB 102,15,58,15,253,4 nop @@ -1861,182 +1861,182 @@ DB 102,15,58,15,253,4 DB 15,56,204,229 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((96-128))+rcx] + movdqa xmm0,XMMWORD PTR[((96-128))+rcx] paddd xmm0,xmm6 DB 15,56,205,222 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm7,xmm3 DB 102,15,58,15,254,4 nop paddd xmm4,xmm7 DB 15,56,204,238 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((128-128))+rcx] + movdqa xmm0,XMMWORD PTR[((128-128))+rcx] paddd xmm0,xmm3 DB 15,56,205,227 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm7,xmm4 DB 102,15,58,15,251,4 nop paddd xmm5,xmm7 DB 15,56,204,243 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((160-128))+rcx] + movdqa xmm0,XMMWORD PTR[((160-128))+rcx] paddd xmm0,xmm4 DB 15,56,205,236 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm7,xmm5 DB 102,15,58,15,252,4 nop paddd xmm6,xmm7 DB 15,56,204,220 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((192-128))+rcx] + movdqa xmm0,XMMWORD PTR[((192-128))+rcx] paddd xmm0,xmm5 DB 15,56,205,245 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm7,xmm6 DB 102,15,58,15,253,4 nop paddd xmm3,xmm7 DB 15,56,204,229 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((224-128))+rcx] + movdqa xmm0,XMMWORD PTR[((224-128))+rcx] paddd xmm0,xmm6 DB 15,56,205,222 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm7,xmm3 DB 102,15,58,15,254,4 nop paddd xmm4,xmm7 DB 15,56,204,238 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((256-128))+rcx] + movdqa xmm0,XMMWORD PTR[((256-128))+rcx] paddd xmm0,xmm3 DB 15,56,205,227 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm7,xmm4 DB 102,15,58,15,251,4 nop paddd xmm5,xmm7 DB 15,56,204,243 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((288-128))+rcx] + movdqa xmm0,XMMWORD PTR[((288-128))+rcx] paddd xmm0,xmm4 DB 15,56,205,236 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm7,xmm5 DB 102,15,58,15,252,4 nop paddd xmm6,xmm7 DB 15,56,204,220 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((320-128))+rcx] + movdqa xmm0,XMMWORD PTR[((320-128))+rcx] paddd xmm0,xmm5 DB 15,56,205,245 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm7,xmm6 DB 102,15,58,15,253,4 nop paddd xmm3,xmm7 DB 15,56,204,229 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((352-128))+rcx] + movdqa xmm0,XMMWORD PTR[((352-128))+rcx] paddd xmm0,xmm6 DB 15,56,205,222 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm7,xmm3 DB 102,15,58,15,254,4 nop paddd xmm4,xmm7 DB 15,56,204,238 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((384-128))+rcx] + movdqa xmm0,XMMWORD PTR[((384-128))+rcx] paddd xmm0,xmm3 DB 15,56,205,227 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm7,xmm4 DB 102,15,58,15,251,4 nop paddd xmm5,xmm7 DB 15,56,204,243 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((416-128))+rcx] + movdqa xmm0,XMMWORD PTR[((416-128))+rcx] paddd xmm0,xmm4 DB 15,56,205,236 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh movdqa xmm7,xmm5 DB 102,15,58,15,252,4 DB 15,56,203,202 paddd xmm6,xmm7 - movdqa xmm0,XMMWORD PTR[((448-128))+rcx] + movdqa xmm0,XMMWORD PTR[((448-128))+rcx] paddd xmm0,xmm5 DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh DB 15,56,205,245 movdqa xmm7,xmm8 DB 15,56,203,202 - movdqa xmm0,XMMWORD PTR[((480-128))+rcx] + movdqa xmm0,XMMWORD PTR[((480-128))+rcx] paddd xmm0,xmm6 nop DB 15,56,203,209 - pshufd xmm0,xmm0,00eh + pshufd xmm0,xmm0,00eh dec rdx nop DB 15,56,203,202 paddd xmm2,xmm10 paddd xmm1,xmm9 - jnz $L$oop_shaext + jnz $L$oop_shaext - pshufd xmm2,xmm2,0b1h - pshufd xmm7,xmm1,01bh - pshufd xmm1,xmm1,0b1h + pshufd xmm2,xmm2,0b1h + pshufd xmm7,xmm1,01bh + pshufd xmm1,xmm1,0b1h punpckhqdq xmm1,xmm2 DB 102,15,58,15,215,8 - movdqu XMMWORD PTR[rdi],xmm1 - movdqu XMMWORD PTR[16+rdi],xmm2 - movaps xmm6,XMMWORD PTR[((-8-80))+rax] - movaps xmm7,XMMWORD PTR[((-8-64))+rax] - movaps xmm8,XMMWORD PTR[((-8-48))+rax] - movaps xmm9,XMMWORD PTR[((-8-32))+rax] - movaps xmm10,XMMWORD PTR[((-8-16))+rax] + movdqu XMMWORD PTR[rdi],xmm1 + movdqu XMMWORD PTR[16+rdi],xmm2 + movaps xmm6,XMMWORD PTR[((-8-80))+rax] + movaps xmm7,XMMWORD PTR[((-8-64))+rax] + movaps xmm8,XMMWORD PTR[((-8-48))+rax] + movaps xmm9,XMMWORD PTR[((-8-32))+rax] + movaps xmm10,XMMWORD PTR[((-8-16))+rax] mov rsp,rax -$L$epilogue_shaext:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_shaext:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_block_data_order_shaext:: -sha256_block_data_order_shaext ENDP - +$L$SEH_end_sha256_block_data_order_shaext:: +sha256_block_data_order_shaext ENDP + 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 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[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:: mov rax,rsp push rbx @@ -2053,62 +2053,62 @@ $L$ssse3_shortcut:: shl rdx,4 sub rsp,160 - lea rdx,QWORD PTR[rdx*4+rsi] + lea rdx,QWORD PTR[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[88+rsp],rax - - 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 PTR[((64+0))+rsp],rdi + mov QWORD PTR[((64+8))+rsp],rsi + mov QWORD PTR[((64+16))+rsp],rdx + mov QWORD PTR[88+rsp],rax + + 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 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 PTR[((K256+512))] + movdqu xmm0,XMMWORD PTR[rsi] + movdqu xmm1,XMMWORD PTR[16+rsi] + movdqu xmm2,XMMWORD PTR[32+rsi] DB 102,15,56,0,199 - movdqu xmm3,XMMWORD PTR[48+rsi] - lea rbp,QWORD PTR[K256] + movdqu xmm3,XMMWORD PTR[48+rsi] + lea rbp,QWORD PTR[K256] DB 102,15,56,0,207 - movdqa xmm4,XMMWORD PTR[rbp] - movdqa xmm5,XMMWORD PTR[32+rbp] + movdqa xmm4,XMMWORD PTR[rbp] + movdqa xmm5,XMMWORD PTR[32+rbp] DB 102,15,56,0,215 paddd xmm4,xmm0 - movdqa xmm6,XMMWORD PTR[64+rbp] + movdqa xmm6,XMMWORD PTR[64+rbp] DB 102,15,56,0,223 - movdqa xmm7,XMMWORD PTR[96+rbp] + movdqa xmm7,XMMWORD PTR[96+rbp] paddd xmm5,xmm1 paddd xmm6,xmm2 paddd xmm7,xmm3 - movdqa XMMWORD PTR[rsp],xmm4 + movdqa XMMWORD PTR[rsp],xmm4 mov r14d,eax - movdqa XMMWORD PTR[16+rsp],xmm5 + movdqa XMMWORD PTR[16+rsp],xmm5 mov edi,ebx - movdqa XMMWORD PTR[32+rsp],xmm6 + movdqa XMMWORD PTR[32+rsp],xmm6 xor edi,ecx - movdqa XMMWORD PTR[48+rsp],xmm7 + movdqa XMMWORD PTR[48+rsp],xmm7 mov r13d,r8d - jmp $L$ssse3_00_47 + jmp $L$ssse3_00_47 ALIGN 16 -$L$ssse3_00_47:: +$L$ssse3_00_47:: sub rbp,-128 ror r13d,14 movdqa xmm4,xmm1 @@ -2124,7 +2124,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 PTR[rsp] mov r15d,eax xor r12d,r10d ror r14d,11 @@ -2161,7 +2161,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 PTR[4+rsp] mov edi,r11d pxor xmm4,xmm6 xor r12d,r9d @@ -2197,7 +2197,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 PTR[8+rsp] mov r15d,r10d psrldq xmm7,8 xor r12d,r8d @@ -2231,7 +2231,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 PTR[12+rsp] pxor xmm7,xmm6 mov edi,r9d xor r12d,edx @@ -2239,7 +2239,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 PTR[rbp] ror r13d,6 and r15d,edi pslldq xmm7,8 @@ -2253,7 +2253,7 @@ DB 102,15,58,15,250,4 paddd xmm6,xmm0 mov r13d,eax add r14d,r8d - movdqa XMMWORD PTR[rsp],xmm6 + movdqa XMMWORD PTR[rsp],xmm6 ror r13d,14 movdqa xmm4,xmm2 mov r8d,r14d @@ -2268,7 +2268,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 PTR[16+rsp] mov r15d,r8d xor r12d,ecx ror r14d,11 @@ -2305,7 +2305,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 PTR[20+rsp] mov edi,edx pxor xmm4,xmm6 xor r12d,ebx @@ -2341,7 +2341,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 PTR[24+rsp] mov r15d,ecx psrldq xmm7,8 xor r12d,eax @@ -2375,7 +2375,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 PTR[28+rsp] pxor xmm7,xmm6 mov edi,ebx xor r12d,r11d @@ -2383,7 +2383,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 PTR[32+rbp] ror r13d,6 and r15d,edi pslldq xmm7,8 @@ -2397,7 +2397,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 PTR[16+rsp],xmm6 ror r13d,14 movdqa xmm4,xmm3 mov eax,r14d @@ -2412,7 +2412,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 PTR[32+rsp] mov r15d,eax xor r12d,r10d ror r14d,11 @@ -2449,7 +2449,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 PTR[36+rsp] mov edi,r11d pxor xmm4,xmm6 xor r12d,r9d @@ -2485,7 +2485,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 PTR[40+rsp] mov r15d,r10d psrldq xmm7,8 xor r12d,r8d @@ -2519,7 +2519,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 PTR[44+rsp] pxor xmm7,xmm6 mov edi,r9d xor r12d,edx @@ -2527,7 +2527,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 PTR[64+rbp] ror r13d,6 and r15d,edi pslldq xmm7,8 @@ -2541,7 +2541,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 PTR[32+rsp],xmm6 ror r13d,14 movdqa xmm4,xmm0 mov r8d,r14d @@ -2556,7 +2556,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 PTR[48+rsp] mov r15d,r8d xor r12d,ecx ror r14d,11 @@ -2593,7 +2593,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 PTR[52+rsp] mov edi,edx pxor xmm4,xmm6 xor r12d,ebx @@ -2629,7 +2629,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 PTR[56+rsp] mov r15d,ecx psrldq xmm7,8 xor r12d,eax @@ -2663,7 +2663,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 PTR[60+rsp] pxor xmm7,xmm6 mov edi,ebx xor r12d,r11d @@ -2671,7 +2671,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 PTR[96+rbp] ror r13d,6 and r15d,edi pslldq xmm7,8 @@ -2685,9 +2685,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 PTR[48+rsp],xmm6 + cmp BYTE PTR[131+rbp],0 + jne $L$ssse3_00_47 ror r13d,14 mov eax,r14d mov r12d,r9d @@ -2698,7 +2698,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 PTR[rsp] mov r15d,eax xor r12d,r10d ror r14d,11 @@ -2724,7 +2724,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 PTR[4+rsp] mov edi,r11d xor r12d,r9d ror r14d,11 @@ -2750,7 +2750,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 PTR[8+rsp] mov r15d,r10d xor r12d,r8d ror r14d,11 @@ -2776,7 +2776,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 PTR[12+rsp] mov edi,r9d xor r12d,edx ror r14d,11 @@ -2802,7 +2802,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 PTR[16+rsp] mov r15d,r8d xor r12d,ecx ror r14d,11 @@ -2828,7 +2828,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 PTR[20+rsp] mov edi,edx xor r12d,ebx ror r14d,11 @@ -2854,7 +2854,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 PTR[24+rsp] mov r15d,ecx xor r12d,eax ror r14d,11 @@ -2880,7 +2880,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 PTR[28+rsp] mov edi,ebx xor r12d,r11d ror r14d,11 @@ -2906,7 +2906,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 PTR[32+rsp] mov r15d,eax xor r12d,r10d ror r14d,11 @@ -2932,7 +2932,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 PTR[36+rsp] mov edi,r11d xor r12d,r9d ror r14d,11 @@ -2958,7 +2958,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 PTR[40+rsp] mov r15d,r10d xor r12d,r8d ror r14d,11 @@ -2984,7 +2984,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 PTR[44+rsp] mov edi,r9d xor r12d,edx ror r14d,11 @@ -3010,7 +3010,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 PTR[48+rsp] mov r15d,r8d xor r12d,ecx ror r14d,11 @@ -3036,7 +3036,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 PTR[52+rsp] mov edi,edx xor r12d,ebx ror r14d,11 @@ -3062,7 +3062,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 PTR[56+rsp] mov r15d,ecx xor r12d,eax ror r14d,11 @@ -3088,7 +3088,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 PTR[60+rsp] mov edi,ebx xor r12d,r11d ror r14d,11 @@ -3104,72 +3104,72 @@ 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 PTR[((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] + 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] + 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 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[88+rsp] + mov rsi,QWORD PTR[88+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[((-48))+rsi] + 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[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$epilogue_ssse3:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_ssse3:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_block_data_order_ssse3:: -sha256_block_data_order_ssse3 ENDP +$L$SEH_end_sha256_block_data_order_ssse3:: +sha256_block_data_order_ssse3 ENDP ALIGN 64 -sha256_block_data_order_avx PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha256_block_data_order_avx PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha256_block_data_order_avx:: +$L$SEH_begin_sha256_block_data_order_avx:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -$L$avx_shortcut:: +$L$avx_shortcut:: mov rax,rsp push rbx @@ -3186,59 +3186,59 @@ $L$avx_shortcut:: shl rdx,4 sub rsp,160 - lea rdx,QWORD PTR[rdx*4+rsi] + lea rdx,QWORD PTR[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[88+rsp],rax + mov QWORD PTR[((64+0))+rsp],rdi + mov QWORD PTR[((64+8))+rsp],rsi + mov QWORD PTR[((64+16))+rsp],rdx + mov QWORD PTR[88+rsp],rax - 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_avx:: + 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_avx:: vzeroupper - 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] - vmovdqa xmm8,XMMWORD PTR[((K256+512+32))] - vmovdqa xmm9,XMMWORD PTR[((K256+512+64))] - jmp $L$loop_avx + 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] + vmovdqa xmm8,XMMWORD PTR[((K256+512+32))] + vmovdqa xmm9,XMMWORD PTR[((K256+512+64))] + jmp $L$loop_avx ALIGN 16 -$L$loop_avx:: - vmovdqa xmm7,XMMWORD PTR[((K256+512))] - vmovdqu xmm0,XMMWORD PTR[rsi] - vmovdqu xmm1,XMMWORD PTR[16+rsi] - vmovdqu xmm2,XMMWORD PTR[32+rsi] - vmovdqu xmm3,XMMWORD PTR[48+rsi] +$L$loop_avx:: + vmovdqa xmm7,XMMWORD PTR[((K256+512))] + vmovdqu xmm0,XMMWORD PTR[rsi] + vmovdqu xmm1,XMMWORD PTR[16+rsi] + vmovdqu xmm2,XMMWORD PTR[32+rsi] + vmovdqu xmm3,XMMWORD PTR[48+rsi] vpshufb xmm0,xmm0,xmm7 - lea rbp,QWORD PTR[K256] + lea rbp,QWORD PTR[K256] vpshufb xmm1,xmm1,xmm7 vpshufb xmm2,xmm2,xmm7 - vpaddd xmm4,xmm0,XMMWORD PTR[rbp] + vpaddd xmm4,xmm0,XMMWORD PTR[rbp] vpshufb xmm3,xmm3,xmm7 - vpaddd xmm5,xmm1,XMMWORD PTR[32+rbp] - vpaddd xmm6,xmm2,XMMWORD PTR[64+rbp] - vpaddd xmm7,xmm3,XMMWORD PTR[96+rbp] - vmovdqa XMMWORD PTR[rsp],xmm4 + vpaddd xmm5,xmm1,XMMWORD PTR[32+rbp] + vpaddd xmm6,xmm2,XMMWORD PTR[64+rbp] + vpaddd xmm7,xmm3,XMMWORD PTR[96+rbp] + vmovdqa XMMWORD PTR[rsp],xmm4 mov r14d,eax - vmovdqa XMMWORD PTR[16+rsp],xmm5 + vmovdqa XMMWORD PTR[16+rsp],xmm5 mov edi,ebx - vmovdqa XMMWORD PTR[32+rsp],xmm6 + vmovdqa XMMWORD PTR[32+rsp],xmm6 xor edi,ecx - vmovdqa XMMWORD PTR[48+rsp],xmm7 + vmovdqa XMMWORD PTR[48+rsp],xmm7 mov r13d,r8d - jmp $L$avx_00_47 + jmp $L$avx_00_47 ALIGN 16 -$L$avx_00_47:: +$L$avx_00_47:: sub rbp,-128 vpalignr xmm4,xmm1,xmm0,4 shrd r13d,r13d,14 @@ -3254,7 +3254,7 @@ $L$avx_00_47:: and r12d,r8d vpaddd xmm0,xmm0,xmm7 xor r13d,r8d - add r11d,DWORD PTR[rsp] + add r11d,DWORD PTR[rsp] mov r15d,eax vpsrld xmm7,xmm4,3 xor r12d,r10d @@ -3289,7 +3289,7 @@ $L$avx_00_47:: and r12d,edx xor r13d,edx vpsrld xmm6,xmm7,10 - add r10d,DWORD PTR[4+rsp] + add r10d,DWORD PTR[4+rsp] mov edi,r11d xor r12d,r9d vpxor xmm4,xmm4,xmm5 @@ -3323,7 +3323,7 @@ $L$avx_00_47:: vpaddd xmm0,xmm0,xmm6 and r12d,ecx xor r13d,ecx - add r9d,DWORD PTR[8+rsp] + add r9d,DWORD PTR[8+rsp] vpshufd xmm7,xmm0,80 mov r15d,r10d xor r12d,r8d @@ -3356,9 +3356,9 @@ $L$avx_00_47:: shrd r13d,r13d,5 xor r14d,r9d and r12d,ebx - vpaddd xmm6,xmm0,XMMWORD PTR[rbp] + vpaddd xmm6,xmm0,XMMWORD PTR[rbp] xor r13d,ebx - add r8d,DWORD PTR[12+rsp] + add r8d,DWORD PTR[12+rsp] mov edi,r9d xor r12d,edx shrd r14d,r14d,11 @@ -3374,7 +3374,7 @@ $L$avx_00_47:: add r8d,r15d mov r13d,eax add r14d,r8d - vmovdqa XMMWORD PTR[rsp],xmm6 + vmovdqa XMMWORD PTR[rsp],xmm6 vpalignr xmm4,xmm2,xmm1,4 shrd r13d,r13d,14 mov r8d,r14d @@ -3389,7 +3389,7 @@ $L$avx_00_47:: and r12d,eax vpaddd xmm1,xmm1,xmm7 xor r13d,eax - add edx,DWORD PTR[16+rsp] + add edx,DWORD PTR[16+rsp] mov r15d,r8d vpsrld xmm7,xmm4,3 xor r12d,ecx @@ -3424,7 +3424,7 @@ $L$avx_00_47:: and r12d,r11d xor r13d,r11d vpsrld xmm6,xmm7,10 - add ecx,DWORD PTR[20+rsp] + add ecx,DWORD PTR[20+rsp] mov edi,edx xor r12d,ebx vpxor xmm4,xmm4,xmm5 @@ -3458,7 +3458,7 @@ $L$avx_00_47:: vpaddd xmm1,xmm1,xmm6 and r12d,r10d xor r13d,r10d - add ebx,DWORD PTR[24+rsp] + add ebx,DWORD PTR[24+rsp] vpshufd xmm7,xmm1,80 mov r15d,ecx xor r12d,eax @@ -3491,9 +3491,9 @@ $L$avx_00_47:: shrd r13d,r13d,5 xor r14d,ebx and r12d,r9d - vpaddd xmm6,xmm1,XMMWORD PTR[32+rbp] + vpaddd xmm6,xmm1,XMMWORD PTR[32+rbp] xor r13d,r9d - add eax,DWORD PTR[28+rsp] + add eax,DWORD PTR[28+rsp] mov edi,ebx xor r12d,r11d shrd r14d,r14d,11 @@ -3509,7 +3509,7 @@ $L$avx_00_47:: add eax,r15d mov r13d,r8d add r14d,eax - vmovdqa XMMWORD PTR[16+rsp],xmm6 + vmovdqa XMMWORD PTR[16+rsp],xmm6 vpalignr xmm4,xmm3,xmm2,4 shrd r13d,r13d,14 mov eax,r14d @@ -3524,7 +3524,7 @@ $L$avx_00_47:: and r12d,r8d vpaddd xmm2,xmm2,xmm7 xor r13d,r8d - add r11d,DWORD PTR[32+rsp] + add r11d,DWORD PTR[32+rsp] mov r15d,eax vpsrld xmm7,xmm4,3 xor r12d,r10d @@ -3559,7 +3559,7 @@ $L$avx_00_47:: and r12d,edx xor r13d,edx vpsrld xmm6,xmm7,10 - add r10d,DWORD PTR[36+rsp] + add r10d,DWORD PTR[36+rsp] mov edi,r11d xor r12d,r9d vpxor xmm4,xmm4,xmm5 @@ -3593,7 +3593,7 @@ $L$avx_00_47:: vpaddd xmm2,xmm2,xmm6 and r12d,ecx xor r13d,ecx - add r9d,DWORD PTR[40+rsp] + add r9d,DWORD PTR[40+rsp] vpshufd xmm7,xmm2,80 mov r15d,r10d xor r12d,r8d @@ -3626,9 +3626,9 @@ $L$avx_00_47:: shrd r13d,r13d,5 xor r14d,r9d and r12d,ebx - vpaddd xmm6,xmm2,XMMWORD PTR[64+rbp] + vpaddd xmm6,xmm2,XMMWORD PTR[64+rbp] xor r13d,ebx - add r8d,DWORD PTR[44+rsp] + add r8d,DWORD PTR[44+rsp] mov edi,r9d xor r12d,edx shrd r14d,r14d,11 @@ -3644,7 +3644,7 @@ $L$avx_00_47:: add r8d,r15d mov r13d,eax add r14d,r8d - vmovdqa XMMWORD PTR[32+rsp],xmm6 + vmovdqa XMMWORD PTR[32+rsp],xmm6 vpalignr xmm4,xmm0,xmm3,4 shrd r13d,r13d,14 mov r8d,r14d @@ -3659,7 +3659,7 @@ $L$avx_00_47:: and r12d,eax vpaddd xmm3,xmm3,xmm7 xor r13d,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD PTR[48+rsp] mov r15d,r8d vpsrld xmm7,xmm4,3 xor r12d,ecx @@ -3694,7 +3694,7 @@ $L$avx_00_47:: and r12d,r11d xor r13d,r11d vpsrld xmm6,xmm7,10 - add ecx,DWORD PTR[52+rsp] + add ecx,DWORD PTR[52+rsp] mov edi,edx xor r12d,ebx vpxor xmm4,xmm4,xmm5 @@ -3728,7 +3728,7 @@ $L$avx_00_47:: vpaddd xmm3,xmm3,xmm6 and r12d,r10d xor r13d,r10d - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD PTR[56+rsp] vpshufd xmm7,xmm3,80 mov r15d,ecx xor r12d,eax @@ -3761,9 +3761,9 @@ $L$avx_00_47:: shrd r13d,r13d,5 xor r14d,ebx and r12d,r9d - vpaddd xmm6,xmm3,XMMWORD PTR[96+rbp] + vpaddd xmm6,xmm3,XMMWORD PTR[96+rbp] xor r13d,r9d - add eax,DWORD PTR[60+rsp] + add eax,DWORD PTR[60+rsp] mov edi,ebx xor r12d,r11d shrd r14d,r14d,11 @@ -3779,9 +3779,9 @@ $L$avx_00_47:: add eax,r15d mov r13d,r8d add r14d,eax - vmovdqa XMMWORD PTR[48+rsp],xmm6 - cmp BYTE PTR[131+rbp],0 - jne $L$avx_00_47 + vmovdqa XMMWORD PTR[48+rsp],xmm6 + cmp BYTE PTR[131+rbp],0 + jne $L$avx_00_47 shrd r13d,r13d,14 mov eax,r14d mov r12d,r9d @@ -3792,7 +3792,7 @@ $L$avx_00_47:: xor r14d,eax and r12d,r8d xor r13d,r8d - add r11d,DWORD PTR[rsp] + add r11d,DWORD PTR[rsp] mov r15d,eax xor r12d,r10d shrd r14d,r14d,11 @@ -3818,7 +3818,7 @@ $L$avx_00_47:: xor r14d,r11d and r12d,edx xor r13d,edx - add r10d,DWORD PTR[4+rsp] + add r10d,DWORD PTR[4+rsp] mov edi,r11d xor r12d,r9d shrd r14d,r14d,11 @@ -3844,7 +3844,7 @@ $L$avx_00_47:: xor r14d,r10d and r12d,ecx xor r13d,ecx - add r9d,DWORD PTR[8+rsp] + add r9d,DWORD PTR[8+rsp] mov r15d,r10d xor r12d,r8d shrd r14d,r14d,11 @@ -3870,7 +3870,7 @@ $L$avx_00_47:: xor r14d,r9d and r12d,ebx xor r13d,ebx - add r8d,DWORD PTR[12+rsp] + add r8d,DWORD PTR[12+rsp] mov edi,r9d xor r12d,edx shrd r14d,r14d,11 @@ -3896,7 +3896,7 @@ $L$avx_00_47:: xor r14d,r8d and r12d,eax xor r13d,eax - add edx,DWORD PTR[16+rsp] + add edx,DWORD PTR[16+rsp] mov r15d,r8d xor r12d,ecx shrd r14d,r14d,11 @@ -3922,7 +3922,7 @@ $L$avx_00_47:: xor r14d,edx and r12d,r11d xor r13d,r11d - add ecx,DWORD PTR[20+rsp] + add ecx,DWORD PTR[20+rsp] mov edi,edx xor r12d,ebx shrd r14d,r14d,11 @@ -3948,7 +3948,7 @@ $L$avx_00_47:: xor r14d,ecx and r12d,r10d xor r13d,r10d - add ebx,DWORD PTR[24+rsp] + add ebx,DWORD PTR[24+rsp] mov r15d,ecx xor r12d,eax shrd r14d,r14d,11 @@ -3974,7 +3974,7 @@ $L$avx_00_47:: xor r14d,ebx and r12d,r9d xor r13d,r9d - add eax,DWORD PTR[28+rsp] + add eax,DWORD PTR[28+rsp] mov edi,ebx xor r12d,r11d shrd r14d,r14d,11 @@ -4000,7 +4000,7 @@ $L$avx_00_47:: xor r14d,eax and r12d,r8d xor r13d,r8d - add r11d,DWORD PTR[32+rsp] + add r11d,DWORD PTR[32+rsp] mov r15d,eax xor r12d,r10d shrd r14d,r14d,11 @@ -4026,7 +4026,7 @@ $L$avx_00_47:: xor r14d,r11d and r12d,edx xor r13d,edx - add r10d,DWORD PTR[36+rsp] + add r10d,DWORD PTR[36+rsp] mov edi,r11d xor r12d,r9d shrd r14d,r14d,11 @@ -4052,7 +4052,7 @@ $L$avx_00_47:: xor r14d,r10d and r12d,ecx xor r13d,ecx - add r9d,DWORD PTR[40+rsp] + add r9d,DWORD PTR[40+rsp] mov r15d,r10d xor r12d,r8d shrd r14d,r14d,11 @@ -4078,7 +4078,7 @@ $L$avx_00_47:: xor r14d,r9d and r12d,ebx xor r13d,ebx - add r8d,DWORD PTR[44+rsp] + add r8d,DWORD PTR[44+rsp] mov edi,r9d xor r12d,edx shrd r14d,r14d,11 @@ -4104,7 +4104,7 @@ $L$avx_00_47:: xor r14d,r8d and r12d,eax xor r13d,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD PTR[48+rsp] mov r15d,r8d xor r12d,ecx shrd r14d,r14d,11 @@ -4130,7 +4130,7 @@ $L$avx_00_47:: xor r14d,edx and r12d,r11d xor r13d,r11d - add ecx,DWORD PTR[52+rsp] + add ecx,DWORD PTR[52+rsp] mov edi,edx xor r12d,ebx shrd r14d,r14d,11 @@ -4156,7 +4156,7 @@ $L$avx_00_47:: xor r14d,ecx and r12d,r10d xor r13d,r10d - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD PTR[56+rsp] mov r15d,ecx xor r12d,eax shrd r14d,r14d,11 @@ -4182,7 +4182,7 @@ $L$avx_00_47:: xor r14d,ebx and r12d,r9d xor r13d,r9d - add eax,DWORD PTR[60+rsp] + add eax,DWORD PTR[60+rsp] mov edi,ebx xor r12d,r11d shrd r14d,r14d,11 @@ -4198,73 +4198,73 @@ $L$avx_00_47:: add eax,r15d mov r13d,r8d add r14d,eax - mov rdi,QWORD PTR[((64+0))+rsp] + mov rdi,QWORD PTR[((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_avx - - mov rsi,QWORD PTR[88+rsp] + 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_avx + + mov rsi,QWORD PTR[88+rsp] vzeroupper - 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[((-48))+rsi] + 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[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$epilogue_avx:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_avx:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_block_data_order_avx:: -sha256_block_data_order_avx ENDP +$L$SEH_end_sha256_block_data_order_avx:: +sha256_block_data_order_avx ENDP ALIGN 64 -sha256_block_data_order_avx2 PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha256_block_data_order_avx2 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha256_block_data_order_avx2:: +$L$SEH_begin_sha256_block_data_order_avx2:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -$L$avx2_shortcut:: +$L$avx2_shortcut:: mov rax,rsp push rbx @@ -4282,1265 +4282,1265 @@ $L$avx2_shortcut:: sub rsp,608 shl rdx,4 and rsp,-256*4 - lea rdx,QWORD PTR[rdx*4+rsi] + lea rdx,QWORD PTR[rdx*4+rsi] add rsp,448 - mov QWORD PTR[((64+0))+rsp],rdi - mov QWORD PTR[((64+8))+rsp],rsi - mov QWORD PTR[((64+16))+rsp],rdx - mov QWORD PTR[88+rsp],rax + mov QWORD PTR[((64+0))+rsp],rdi + mov QWORD PTR[((64+8))+rsp],rsi + mov QWORD PTR[((64+16))+rsp],rdx + mov QWORD PTR[88+rsp],rax - 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_avx2:: + 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_avx2:: vzeroupper sub rsi,-16*4 - mov eax,DWORD PTR[rdi] + mov eax,DWORD PTR[rdi] mov r12,rsi - mov ebx,DWORD PTR[4+rdi] + mov ebx,DWORD PTR[4+rdi] cmp rsi,rdx - mov ecx,DWORD PTR[8+rdi] + mov ecx,DWORD PTR[8+rdi] cmove r12,rsp - 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] - vmovdqa ymm8,YMMWORD PTR[((K256+512+32))] - vmovdqa ymm9,YMMWORD PTR[((K256+512+64))] - jmp $L$oop_avx2 + 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] + vmovdqa ymm8,YMMWORD PTR[((K256+512+32))] + vmovdqa ymm9,YMMWORD PTR[((K256+512+64))] + jmp $L$oop_avx2 ALIGN 16 -$L$oop_avx2:: - vmovdqa ymm7,YMMWORD PTR[((K256+512))] - vmovdqu xmm0,XMMWORD PTR[((-64+0))+rsi] - vmovdqu xmm1,XMMWORD PTR[((-64+16))+rsi] - vmovdqu xmm2,XMMWORD PTR[((-64+32))+rsi] - vmovdqu xmm3,XMMWORD PTR[((-64+48))+rsi] - - vinserti128 ymm0,ymm0,XMMWORD PTR[r12],1 - vinserti128 ymm1,ymm1,XMMWORD PTR[16+r12],1 +$L$oop_avx2:: + vmovdqa ymm7,YMMWORD PTR[((K256+512))] + vmovdqu xmm0,XMMWORD PTR[((-64+0))+rsi] + vmovdqu xmm1,XMMWORD PTR[((-64+16))+rsi] + vmovdqu xmm2,XMMWORD PTR[((-64+32))+rsi] + vmovdqu xmm3,XMMWORD PTR[((-64+48))+rsi] + + vinserti128 ymm0,ymm0,XMMWORD PTR[r12],1 + vinserti128 ymm1,ymm1,XMMWORD PTR[16+r12],1 vpshufb ymm0,ymm0,ymm7 - vinserti128 ymm2,ymm2,XMMWORD PTR[32+r12],1 + vinserti128 ymm2,ymm2,XMMWORD PTR[32+r12],1 vpshufb ymm1,ymm1,ymm7 - vinserti128 ymm3,ymm3,XMMWORD PTR[48+r12],1 + vinserti128 ymm3,ymm3,XMMWORD PTR[48+r12],1 - lea rbp,QWORD PTR[K256] + lea rbp,QWORD PTR[K256] vpshufb ymm2,ymm2,ymm7 - vpaddd ymm4,ymm0,YMMWORD PTR[rbp] + vpaddd ymm4,ymm0,YMMWORD PTR[rbp] vpshufb ymm3,ymm3,ymm7 - vpaddd ymm5,ymm1,YMMWORD PTR[32+rbp] - vpaddd ymm6,ymm2,YMMWORD PTR[64+rbp] - vpaddd ymm7,ymm3,YMMWORD PTR[96+rbp] - vmovdqa YMMWORD PTR[rsp],ymm4 + vpaddd ymm5,ymm1,YMMWORD PTR[32+rbp] + vpaddd ymm6,ymm2,YMMWORD PTR[64+rbp] + vpaddd ymm7,ymm3,YMMWORD PTR[96+rbp] + vmovdqa YMMWORD PTR[rsp],ymm4 xor r14d,r14d - vmovdqa YMMWORD PTR[32+rsp],ymm5 - lea rsp,QWORD PTR[((-64))+rsp] + vmovdqa YMMWORD PTR[32+rsp],ymm5 + lea rsp,QWORD PTR[((-64))+rsp] mov edi,ebx - vmovdqa YMMWORD PTR[rsp],ymm6 + vmovdqa YMMWORD PTR[rsp],ymm6 xor edi,ecx - vmovdqa YMMWORD PTR[32+rsp],ymm7 + vmovdqa YMMWORD PTR[32+rsp],ymm7 mov r12d,r9d sub rbp,-16*2*4 - jmp $L$avx2_00_47 + jmp $L$avx2_00_47 ALIGN 16 -$L$avx2_00_47:: - lea rsp,QWORD PTR[((-64))+rsp] +$L$avx2_00_47:: + lea rsp,QWORD PTR[((-64))+rsp] vpalignr ymm4,ymm1,ymm0,4 - add r11d,DWORD PTR[((0+128))+rsp] + add r11d,DWORD PTR[((0+128))+rsp] and r12d,r8d rorx r13d,r8d,25 vpalignr ymm7,ymm3,ymm2,4 rorx r15d,r8d,11 - lea eax,DWORD PTR[r14*1+rax] - lea r11d,DWORD PTR[r12*1+r11] + lea eax,DWORD PTR[r14*1+rax] + lea r11d,DWORD PTR[r12*1+r11] vpsrld ymm6,ymm4,7 andn r12d,r8d,r10d xor r13d,r15d rorx r14d,r8d,6 vpaddd ymm0,ymm0,ymm7 - lea r11d,DWORD PTR[r12*1+r11] + lea r11d,DWORD PTR[r12*1+r11] xor r13d,r14d mov r15d,eax vpsrld ymm7,ymm4,3 rorx r12d,eax,22 - lea r11d,DWORD PTR[r13*1+r11] + lea r11d,DWORD PTR[r13*1+r11] xor r15d,ebx vpslld ymm5,ymm4,14 rorx r14d,eax,13 rorx r13d,eax,2 - lea edx,DWORD PTR[r11*1+rdx] + lea edx,DWORD PTR[r11*1+rdx] vpxor ymm4,ymm7,ymm6 and edi,r15d xor r14d,r12d xor edi,ebx vpshufd ymm7,ymm3,250 xor r14d,r13d - lea r11d,DWORD PTR[rdi*1+r11] + lea r11d,DWORD PTR[rdi*1+r11] mov r12d,r8d vpsrld ymm6,ymm6,11 - add r10d,DWORD PTR[((4+128))+rsp] + add r10d,DWORD PTR[((4+128))+rsp] and r12d,edx rorx r13d,edx,25 vpxor ymm4,ymm4,ymm5 rorx edi,edx,11 - lea r11d,DWORD PTR[r14*1+r11] - lea r10d,DWORD PTR[r12*1+r10] + lea r11d,DWORD PTR[r14*1+r11] + lea r10d,DWORD PTR[r12*1+r10] vpslld ymm5,ymm5,11 andn r12d,edx,r9d xor r13d,edi rorx r14d,edx,6 vpxor ymm4,ymm4,ymm6 - lea r10d,DWORD PTR[r12*1+r10] + lea r10d,DWORD PTR[r12*1+r10] xor r13d,r14d mov edi,r11d vpsrld ymm6,ymm7,10 rorx r12d,r11d,22 - lea r10d,DWORD PTR[r13*1+r10] + lea r10d,DWORD PTR[r13*1+r10] xor edi,eax vpxor ymm4,ymm4,ymm5 rorx r14d,r11d,13 rorx r13d,r11d,2 - lea ecx,DWORD PTR[r10*1+rcx] + lea ecx,DWORD PTR[r10*1+rcx] vpsrlq ymm7,ymm7,17 and r15d,edi xor r14d,r12d xor r15d,eax vpaddd ymm0,ymm0,ymm4 xor r14d,r13d - lea r10d,DWORD PTR[r15*1+r10] + lea r10d,DWORD PTR[r15*1+r10] mov r12d,edx vpxor ymm6,ymm6,ymm7 - add r9d,DWORD PTR[((8+128))+rsp] + add r9d,DWORD PTR[((8+128))+rsp] and r12d,ecx rorx r13d,ecx,25 vpsrlq ymm7,ymm7,2 rorx r15d,ecx,11 - lea r10d,DWORD PTR[r14*1+r10] - lea r9d,DWORD PTR[r12*1+r9] + lea r10d,DWORD PTR[r14*1+r10] + lea r9d,DWORD PTR[r12*1+r9] vpxor ymm6,ymm6,ymm7 andn r12d,ecx,r8d xor r13d,r15d rorx r14d,ecx,6 vpshufb ymm6,ymm6,ymm8 - lea r9d,DWORD PTR[r12*1+r9] + lea r9d,DWORD PTR[r12*1+r9] xor r13d,r14d mov r15d,r10d vpaddd ymm0,ymm0,ymm6 rorx r12d,r10d,22 - lea r9d,DWORD PTR[r13*1+r9] + lea r9d,DWORD PTR[r13*1+r9] xor r15d,r11d vpshufd ymm7,ymm0,80 rorx r14d,r10d,13 rorx r13d,r10d,2 - lea ebx,DWORD PTR[r9*1+rbx] + lea ebx,DWORD PTR[r9*1+rbx] vpsrld ymm6,ymm7,10 and edi,r15d xor r14d,r12d xor edi,r11d vpsrlq ymm7,ymm7,17 xor r14d,r13d - lea r9d,DWORD PTR[rdi*1+r9] + lea r9d,DWORD PTR[rdi*1+r9] mov r12d,ecx vpxor ymm6,ymm6,ymm7 - add r8d,DWORD PTR[((12+128))+rsp] + add r8d,DWORD PTR[((12+128))+rsp] and r12d,ebx rorx r13d,ebx,25 vpsrlq ymm7,ymm7,2 rorx edi,ebx,11 - lea r9d,DWORD PTR[r14*1+r9] - lea r8d,DWORD PTR[r12*1+r8] + lea r9d,DWORD PTR[r14*1+r9] + lea r8d,DWORD PTR[r12*1+r8] vpxor ymm6,ymm6,ymm7 andn r12d,ebx,edx xor r13d,edi rorx r14d,ebx,6 vpshufb ymm6,ymm6,ymm9 - lea r8d,DWORD PTR[r12*1+r8] + lea r8d,DWORD PTR[r12*1+r8] xor r13d,r14d mov edi,r9d vpaddd ymm0,ymm0,ymm6 rorx r12d,r9d,22 - lea r8d,DWORD PTR[r13*1+r8] + lea r8d,DWORD PTR[r13*1+r8] xor edi,r10d - vpaddd ymm6,ymm0,YMMWORD PTR[rbp] + vpaddd ymm6,ymm0,YMMWORD PTR[rbp] rorx r14d,r9d,13 rorx r13d,r9d,2 - lea eax,DWORD PTR[r8*1+rax] + lea eax,DWORD PTR[r8*1+rax] and r15d,edi xor r14d,r12d xor r15d,r10d xor r14d,r13d - lea r8d,DWORD PTR[r15*1+r8] + lea r8d,DWORD PTR[r15*1+r8] mov r12d,ebx - vmovdqa YMMWORD PTR[rsp],ymm6 + vmovdqa YMMWORD PTR[rsp],ymm6 vpalignr ymm4,ymm2,ymm1,4 - add edx,DWORD PTR[((32+128))+rsp] + add edx,DWORD PTR[((32+128))+rsp] and r12d,eax rorx r13d,eax,25 vpalignr ymm7,ymm0,ymm3,4 rorx r15d,eax,11 - lea r8d,DWORD PTR[r14*1+r8] - lea edx,DWORD PTR[r12*1+rdx] + lea r8d,DWORD PTR[r14*1+r8] + lea edx,DWORD PTR[r12*1+rdx] vpsrld ymm6,ymm4,7 andn r12d,eax,ecx xor r13d,r15d rorx r14d,eax,6 vpaddd ymm1,ymm1,ymm7 - lea edx,DWORD PTR[r12*1+rdx] + lea edx,DWORD PTR[r12*1+rdx] xor r13d,r14d mov r15d,r8d vpsrld ymm7,ymm4,3 rorx r12d,r8d,22 - lea edx,DWORD PTR[r13*1+rdx] + lea edx,DWORD PTR[r13*1+rdx] xor r15d,r9d vpslld ymm5,ymm4,14 rorx r14d,r8d,13 rorx r13d,r8d,2 - lea r11d,DWORD PTR[rdx*1+r11] + lea r11d,DWORD PTR[rdx*1+r11] vpxor ymm4,ymm7,ymm6 and edi,r15d xor r14d,r12d xor edi,r9d vpshufd ymm7,ymm0,250 xor r14d,r13d - lea edx,DWORD PTR[rdi*1+rdx] + lea edx,DWORD PTR[rdi*1+rdx] mov r12d,eax vpsrld ymm6,ymm6,11 - add ecx,DWORD PTR[((36+128))+rsp] + add ecx,DWORD PTR[((36+128))+rsp] and r12d,r11d rorx r13d,r11d,25 vpxor ymm4,ymm4,ymm5 rorx edi,r11d,11 - lea edx,DWORD PTR[r14*1+rdx] - lea ecx,DWORD PTR[r12*1+rcx] + lea edx,DWORD PTR[r14*1+rdx] + lea ecx,DWORD PTR[r12*1+rcx] vpslld ymm5,ymm5,11 andn r12d,r11d,ebx xor r13d,edi rorx r14d,r11d,6 vpxor ymm4,ymm4,ymm6 - lea ecx,DWORD PTR[r12*1+rcx] + lea ecx,DWORD PTR[r12*1+rcx] xor r13d,r14d mov edi,edx vpsrld ymm6,ymm7,10 rorx r12d,edx,22 - lea ecx,DWORD PTR[r13*1+rcx] + lea ecx,DWORD PTR[r13*1+rcx] xor edi,r8d vpxor ymm4,ymm4,ymm5 rorx r14d,edx,13 rorx r13d,edx,2 - lea r10d,DWORD PTR[rcx*1+r10] + lea r10d,DWORD PTR[rcx*1+r10] vpsrlq ymm7,ymm7,17 and r15d,edi xor r14d,r12d xor r15d,r8d vpaddd ymm1,ymm1,ymm4 xor r14d,r13d - lea ecx,DWORD PTR[r15*1+rcx] + lea ecx,DWORD PTR[r15*1+rcx] mov r12d,r11d vpxor ymm6,ymm6,ymm7 - add ebx,DWORD PTR[((40+128))+rsp] + add ebx,DWORD PTR[((40+128))+rsp] and r12d,r10d rorx r13d,r10d,25 vpsrlq ymm7,ymm7,2 rorx r15d,r10d,11 - lea ecx,DWORD PTR[r14*1+rcx] - lea ebx,DWORD PTR[r12*1+rbx] + lea ecx,DWORD PTR[r14*1+rcx] + lea ebx,DWORD PTR[r12*1+rbx] vpxor ymm6,ymm6,ymm7 andn r12d,r10d,eax xor r13d,r15d rorx r14d,r10d,6 vpshufb ymm6,ymm6,ymm8 - lea ebx,DWORD PTR[r12*1+rbx] + lea ebx,DWORD PTR[r12*1+rbx] xor r13d,r14d mov r15d,ecx vpaddd ymm1,ymm1,ymm6 rorx r12d,ecx,22 - lea ebx,DWORD PTR[r13*1+rbx] + lea ebx,DWORD PTR[r13*1+rbx] xor r15d,edx vpshufd ymm7,ymm1,80 rorx r14d,ecx,13 rorx r13d,ecx,2 - lea r9d,DWORD PTR[rbx*1+r9] + lea r9d,DWORD PTR[rbx*1+r9] vpsrld ymm6,ymm7,10 and edi,r15d xor r14d,r12d xor edi,edx vpsrlq ymm7,ymm7,17 xor r14d,r13d - lea ebx,DWORD PTR[rdi*1+rbx] + lea ebx,DWORD PTR[rdi*1+rbx] mov r12d,r10d vpxor ymm6,ymm6,ymm7 - add eax,DWORD PTR[((44+128))+rsp] + add eax,DWORD PTR[((44+128))+rsp] and r12d,r9d rorx r13d,r9d,25 vpsrlq ymm7,ymm7,2 rorx edi,r9d,11 - lea ebx,DWORD PTR[r14*1+rbx] - lea eax,DWORD PTR[r12*1+rax] + lea ebx,DWORD PTR[r14*1+rbx] + lea eax,DWORD PTR[r12*1+rax] vpxor ymm6,ymm6,ymm7 andn r12d,r9d,r11d xor r13d,edi rorx r14d,r9d,6 vpshufb ymm6,ymm6,ymm9 - lea eax,DWORD PTR[r12*1+rax] + lea eax,DWORD PTR[r12*1+rax] xor r13d,r14d mov edi,ebx vpaddd ymm1,ymm1,ymm6 rorx r12d,ebx,22 - lea eax,DWORD PTR[r13*1+rax] + lea eax,DWORD PTR[r13*1+rax] xor edi,ecx - vpaddd ymm6,ymm1,YMMWORD PTR[32+rbp] + vpaddd ymm6,ymm1,YMMWORD PTR[32+rbp] rorx r14d,ebx,13 rorx r13d,ebx,2 - lea r8d,DWORD PTR[rax*1+r8] + lea r8d,DWORD PTR[rax*1+r8] and r15d,edi xor r14d,r12d xor r15d,ecx xor r14d,r13d - lea eax,DWORD PTR[r15*1+rax] + lea eax,DWORD PTR[r15*1+rax] mov r12d,r9d - vmovdqa YMMWORD PTR[32+rsp],ymm6 - lea rsp,QWORD PTR[((-64))+rsp] + vmovdqa YMMWORD PTR[32+rsp],ymm6 + lea rsp,QWORD PTR[((-64))+rsp] vpalignr ymm4,ymm3,ymm2,4 - add r11d,DWORD PTR[((0+128))+rsp] + add r11d,DWORD PTR[((0+128))+rsp] and r12d,r8d rorx r13d,r8d,25 vpalignr ymm7,ymm1,ymm0,4 rorx r15d,r8d,11 - lea eax,DWORD PTR[r14*1+rax] - lea r11d,DWORD PTR[r12*1+r11] + lea eax,DWORD PTR[r14*1+rax] + lea r11d,DWORD PTR[r12*1+r11] vpsrld ymm6,ymm4,7 andn r12d,r8d,r10d xor r13d,r15d rorx r14d,r8d,6 vpaddd ymm2,ymm2,ymm7 - lea r11d,DWORD PTR[r12*1+r11] + lea r11d,DWORD PTR[r12*1+r11] xor r13d,r14d mov r15d,eax vpsrld ymm7,ymm4,3 rorx r12d,eax,22 - lea r11d,DWORD PTR[r13*1+r11] + lea r11d,DWORD PTR[r13*1+r11] xor r15d,ebx vpslld ymm5,ymm4,14 rorx r14d,eax,13 rorx r13d,eax,2 - lea edx,DWORD PTR[r11*1+rdx] + lea edx,DWORD PTR[r11*1+rdx] vpxor ymm4,ymm7,ymm6 and edi,r15d xor r14d,r12d xor edi,ebx vpshufd ymm7,ymm1,250 xor r14d,r13d - lea r11d,DWORD PTR[rdi*1+r11] + lea r11d,DWORD PTR[rdi*1+r11] mov r12d,r8d vpsrld ymm6,ymm6,11 - add r10d,DWORD PTR[((4+128))+rsp] + add r10d,DWORD PTR[((4+128))+rsp] and r12d,edx rorx r13d,edx,25 vpxor ymm4,ymm4,ymm5 rorx edi,edx,11 - lea r11d,DWORD PTR[r14*1+r11] - lea r10d,DWORD PTR[r12*1+r10] + lea r11d,DWORD PTR[r14*1+r11] + lea r10d,DWORD PTR[r12*1+r10] vpslld ymm5,ymm5,11 andn r12d,edx,r9d xor r13d,edi rorx r14d,edx,6 vpxor ymm4,ymm4,ymm6 - lea r10d,DWORD PTR[r12*1+r10] + lea r10d,DWORD PTR[r12*1+r10] xor r13d,r14d mov edi,r11d vpsrld ymm6,ymm7,10 rorx r12d,r11d,22 - lea r10d,DWORD PTR[r13*1+r10] + lea r10d,DWORD PTR[r13*1+r10] xor edi,eax vpxor ymm4,ymm4,ymm5 rorx r14d,r11d,13 rorx r13d,r11d,2 - lea ecx,DWORD PTR[r10*1+rcx] + lea ecx,DWORD PTR[r10*1+rcx] vpsrlq ymm7,ymm7,17 and r15d,edi xor r14d,r12d xor r15d,eax vpaddd ymm2,ymm2,ymm4 xor r14d,r13d - lea r10d,DWORD PTR[r15*1+r10] + lea r10d,DWORD PTR[r15*1+r10] mov r12d,edx vpxor ymm6,ymm6,ymm7 - add r9d,DWORD PTR[((8+128))+rsp] + add r9d,DWORD PTR[((8+128))+rsp] and r12d,ecx rorx r13d,ecx,25 vpsrlq ymm7,ymm7,2 rorx r15d,ecx,11 - lea r10d,DWORD PTR[r14*1+r10] - lea r9d,DWORD PTR[r12*1+r9] + lea r10d,DWORD PTR[r14*1+r10] + lea r9d,DWORD PTR[r12*1+r9] vpxor ymm6,ymm6,ymm7 andn r12d,ecx,r8d xor r13d,r15d rorx r14d,ecx,6 vpshufb ymm6,ymm6,ymm8 - lea r9d,DWORD PTR[r12*1+r9] + lea r9d,DWORD PTR[r12*1+r9] xor r13d,r14d mov r15d,r10d vpaddd ymm2,ymm2,ymm6 rorx r12d,r10d,22 - lea r9d,DWORD PTR[r13*1+r9] + lea r9d,DWORD PTR[r13*1+r9] xor r15d,r11d vpshufd ymm7,ymm2,80 rorx r14d,r10d,13 rorx r13d,r10d,2 - lea ebx,DWORD PTR[r9*1+rbx] + lea ebx,DWORD PTR[r9*1+rbx] vpsrld ymm6,ymm7,10 and edi,r15d xor r14d,r12d xor edi,r11d vpsrlq ymm7,ymm7,17 xor r14d,r13d - lea r9d,DWORD PTR[rdi*1+r9] + lea r9d,DWORD PTR[rdi*1+r9] mov r12d,ecx vpxor ymm6,ymm6,ymm7 - add r8d,DWORD PTR[((12+128))+rsp] + add r8d,DWORD PTR[((12+128))+rsp] and r12d,ebx rorx r13d,ebx,25 vpsrlq ymm7,ymm7,2 rorx edi,ebx,11 - lea r9d,DWORD PTR[r14*1+r9] - lea r8d,DWORD PTR[r12*1+r8] + lea r9d,DWORD PTR[r14*1+r9] + lea r8d,DWORD PTR[r12*1+r8] vpxor ymm6,ymm6,ymm7 andn r12d,ebx,edx xor r13d,edi rorx r14d,ebx,6 vpshufb ymm6,ymm6,ymm9 - lea r8d,DWORD PTR[r12*1+r8] + lea r8d,DWORD PTR[r12*1+r8] xor r13d,r14d mov edi,r9d vpaddd ymm2,ymm2,ymm6 rorx r12d,r9d,22 - lea r8d,DWORD PTR[r13*1+r8] + lea r8d,DWORD PTR[r13*1+r8] xor edi,r10d - vpaddd ymm6,ymm2,YMMWORD PTR[64+rbp] + vpaddd ymm6,ymm2,YMMWORD PTR[64+rbp] rorx r14d,r9d,13 rorx r13d,r9d,2 - lea eax,DWORD PTR[r8*1+rax] + lea eax,DWORD PTR[r8*1+rax] and r15d,edi xor r14d,r12d xor r15d,r10d xor r14d,r13d - lea r8d,DWORD PTR[r15*1+r8] + lea r8d,DWORD PTR[r15*1+r8] mov r12d,ebx - vmovdqa YMMWORD PTR[rsp],ymm6 + vmovdqa YMMWORD PTR[rsp],ymm6 vpalignr ymm4,ymm0,ymm3,4 - add edx,DWORD PTR[((32+128))+rsp] + add edx,DWORD PTR[((32+128))+rsp] and r12d,eax rorx r13d,eax,25 vpalignr ymm7,ymm2,ymm1,4 rorx r15d,eax,11 - lea r8d,DWORD PTR[r14*1+r8] - lea edx,DWORD PTR[r12*1+rdx] + lea r8d,DWORD PTR[r14*1+r8] + lea edx,DWORD PTR[r12*1+rdx] vpsrld ymm6,ymm4,7 andn r12d,eax,ecx xor r13d,r15d rorx r14d,eax,6 vpaddd ymm3,ymm3,ymm7 - lea edx,DWORD PTR[r12*1+rdx] + lea edx,DWORD PTR[r12*1+rdx] xor r13d,r14d mov r15d,r8d vpsrld ymm7,ymm4,3 rorx r12d,r8d,22 - lea edx,DWORD PTR[r13*1+rdx] + lea edx,DWORD PTR[r13*1+rdx] xor r15d,r9d vpslld ymm5,ymm4,14 rorx r14d,r8d,13 rorx r13d,r8d,2 - lea r11d,DWORD PTR[rdx*1+r11] + lea r11d,DWORD PTR[rdx*1+r11] vpxor ymm4,ymm7,ymm6 and edi,r15d xor r14d,r12d xor edi,r9d vpshufd ymm7,ymm2,250 xor r14d,r13d - lea edx,DWORD PTR[rdi*1+rdx] + lea edx,DWORD PTR[rdi*1+rdx] mov r12d,eax vpsrld ymm6,ymm6,11 - add ecx,DWORD PTR[((36+128))+rsp] + add ecx,DWORD PTR[((36+128))+rsp] and r12d,r11d rorx r13d,r11d,25 vpxor ymm4,ymm4,ymm5 rorx edi,r11d,11 - lea edx,DWORD PTR[r14*1+rdx] - lea ecx,DWORD PTR[r12*1+rcx] + lea edx,DWORD PTR[r14*1+rdx] + lea ecx,DWORD PTR[r12*1+rcx] vpslld ymm5,ymm5,11 andn r12d,r11d,ebx xor r13d,edi rorx r14d,r11d,6 vpxor ymm4,ymm4,ymm6 - lea ecx,DWORD PTR[r12*1+rcx] + lea ecx,DWORD PTR[r12*1+rcx] xor r13d,r14d mov edi,edx vpsrld ymm6,ymm7,10 rorx r12d,edx,22 - lea ecx,DWORD PTR[r13*1+rcx] + lea ecx,DWORD PTR[r13*1+rcx] xor edi,r8d vpxor ymm4,ymm4,ymm5 rorx r14d,edx,13 rorx r13d,edx,2 - lea r10d,DWORD PTR[rcx*1+r10] + lea r10d,DWORD PTR[rcx*1+r10] vpsrlq ymm7,ymm7,17 and r15d,edi xor r14d,r12d xor r15d,r8d vpaddd ymm3,ymm3,ymm4 xor r14d,r13d - lea ecx,DWORD PTR[r15*1+rcx] + lea ecx,DWORD PTR[r15*1+rcx] mov r12d,r11d vpxor ymm6,ymm6,ymm7 - add ebx,DWORD PTR[((40+128))+rsp] + add ebx,DWORD PTR[((40+128))+rsp] and r12d,r10d rorx r13d,r10d,25 vpsrlq ymm7,ymm7,2 rorx r15d,r10d,11 - lea ecx,DWORD PTR[r14*1+rcx] - lea ebx,DWORD PTR[r12*1+rbx] + lea ecx,DWORD PTR[r14*1+rcx] + lea ebx,DWORD PTR[r12*1+rbx] vpxor ymm6,ymm6,ymm7 andn r12d,r10d,eax xor r13d,r15d rorx r14d,r10d,6 vpshufb ymm6,ymm6,ymm8 - lea ebx,DWORD PTR[r12*1+rbx] + lea ebx,DWORD PTR[r12*1+rbx] xor r13d,r14d mov r15d,ecx vpaddd ymm3,ymm3,ymm6 rorx r12d,ecx,22 - lea ebx,DWORD PTR[r13*1+rbx] + lea ebx,DWORD PTR[r13*1+rbx] xor r15d,edx vpshufd ymm7,ymm3,80 rorx r14d,ecx,13 rorx r13d,ecx,2 - lea r9d,DWORD PTR[rbx*1+r9] + lea r9d,DWORD PTR[rbx*1+r9] vpsrld ymm6,ymm7,10 and edi,r15d xor r14d,r12d xor edi,edx vpsrlq ymm7,ymm7,17 xor r14d,r13d - lea ebx,DWORD PTR[rdi*1+rbx] + lea ebx,DWORD PTR[rdi*1+rbx] mov r12d,r10d vpxor ymm6,ymm6,ymm7 - add eax,DWORD PTR[((44+128))+rsp] + add eax,DWORD PTR[((44+128))+rsp] and r12d,r9d rorx r13d,r9d,25 vpsrlq ymm7,ymm7,2 rorx edi,r9d,11 - lea ebx,DWORD PTR[r14*1+rbx] - lea eax,DWORD PTR[r12*1+rax] + lea ebx,DWORD PTR[r14*1+rbx] + lea eax,DWORD PTR[r12*1+rax] vpxor ymm6,ymm6,ymm7 andn r12d,r9d,r11d xor r13d,edi rorx r14d,r9d,6 vpshufb ymm6,ymm6,ymm9 - lea eax,DWORD PTR[r12*1+rax] + lea eax,DWORD PTR[r12*1+rax] xor r13d,r14d mov edi,ebx vpaddd ymm3,ymm3,ymm6 rorx r12d,ebx,22 - lea eax,DWORD PTR[r13*1+rax] + lea eax,DWORD PTR[r13*1+rax] xor edi,ecx - vpaddd ymm6,ymm3,YMMWORD PTR[96+rbp] + vpaddd ymm6,ymm3,YMMWORD PTR[96+rbp] rorx r14d,ebx,13 rorx r13d,ebx,2 - lea r8d,DWORD PTR[rax*1+r8] + lea r8d,DWORD PTR[rax*1+r8] and r15d,edi xor r14d,r12d xor r15d,ecx xor r14d,r13d - lea eax,DWORD PTR[r15*1+rax] + lea eax,DWORD PTR[r15*1+rax] mov r12d,r9d - vmovdqa YMMWORD PTR[32+rsp],ymm6 - lea rbp,QWORD PTR[128+rbp] - cmp BYTE PTR[3+rbp],0 - jne $L$avx2_00_47 - add r11d,DWORD PTR[((0+64))+rsp] + vmovdqa YMMWORD PTR[32+rsp],ymm6 + lea rbp,QWORD PTR[128+rbp] + cmp BYTE PTR[3+rbp],0 + jne $L$avx2_00_47 + add r11d,DWORD PTR[((0+64))+rsp] and r12d,r8d rorx r13d,r8d,25 rorx r15d,r8d,11 - lea eax,DWORD PTR[r14*1+rax] - lea r11d,DWORD PTR[r12*1+r11] + lea eax,DWORD PTR[r14*1+rax] + lea r11d,DWORD PTR[r12*1+r11] andn r12d,r8d,r10d xor r13d,r15d rorx r14d,r8d,6 - lea r11d,DWORD PTR[r12*1+r11] + lea r11d,DWORD PTR[r12*1+r11] xor r13d,r14d mov r15d,eax rorx r12d,eax,22 - lea r11d,DWORD PTR[r13*1+r11] + lea r11d,DWORD PTR[r13*1+r11] xor r15d,ebx rorx r14d,eax,13 rorx r13d,eax,2 - lea edx,DWORD PTR[r11*1+rdx] + lea edx,DWORD PTR[r11*1+rdx] and edi,r15d xor r14d,r12d xor edi,ebx xor r14d,r13d - lea r11d,DWORD PTR[rdi*1+r11] + lea r11d,DWORD PTR[rdi*1+r11] mov r12d,r8d - add r10d,DWORD PTR[((4+64))+rsp] + add r10d,DWORD PTR[((4+64))+rsp] and r12d,edx rorx r13d,edx,25 rorx edi,edx,11 - lea r11d,DWORD PTR[r14*1+r11] - lea r10d,DWORD PTR[r12*1+r10] + lea r11d,DWORD PTR[r14*1+r11] + lea r10d,DWORD PTR[r12*1+r10] andn r12d,edx,r9d xor r13d,edi rorx r14d,edx,6 - lea r10d,DWORD PTR[r12*1+r10] + lea r10d,DWORD PTR[r12*1+r10] xor r13d,r14d mov edi,r11d rorx r12d,r11d,22 - lea r10d,DWORD PTR[r13*1+r10] + lea r10d,DWORD PTR[r13*1+r10] xor edi,eax rorx r14d,r11d,13 rorx r13d,r11d,2 - lea ecx,DWORD PTR[r10*1+rcx] + lea ecx,DWORD PTR[r10*1+rcx] and r15d,edi xor r14d,r12d xor r15d,eax xor r14d,r13d - lea r10d,DWORD PTR[r15*1+r10] + lea r10d,DWORD PTR[r15*1+r10] mov r12d,edx - add r9d,DWORD PTR[((8+64))+rsp] + add r9d,DWORD PTR[((8+64))+rsp] and r12d,ecx rorx r13d,ecx,25 rorx r15d,ecx,11 - lea r10d,DWORD PTR[r14*1+r10] - lea r9d,DWORD PTR[r12*1+r9] + lea r10d,DWORD PTR[r14*1+r10] + lea r9d,DWORD PTR[r12*1+r9] andn r12d,ecx,r8d xor r13d,r15d rorx r14d,ecx,6 - lea r9d,DWORD PTR[r12*1+r9] + lea r9d,DWORD PTR[r12*1+r9] xor r13d,r14d mov r15d,r10d rorx r12d,r10d,22 - lea r9d,DWORD PTR[r13*1+r9] + lea r9d,DWORD PTR[r13*1+r9] xor r15d,r11d rorx r14d,r10d,13 rorx r13d,r10d,2 - lea ebx,DWORD PTR[r9*1+rbx] + lea ebx,DWORD PTR[r9*1+rbx] and edi,r15d xor r14d,r12d xor edi,r11d xor r14d,r13d - lea r9d,DWORD PTR[rdi*1+r9] + lea r9d,DWORD PTR[rdi*1+r9] mov r12d,ecx - add r8d,DWORD PTR[((12+64))+rsp] + add r8d,DWORD PTR[((12+64))+rsp] and r12d,ebx rorx r13d,ebx,25 rorx edi,ebx,11 - lea r9d,DWORD PTR[r14*1+r9] - lea r8d,DWORD PTR[r12*1+r8] + lea r9d,DWORD PTR[r14*1+r9] + lea r8d,DWORD PTR[r12*1+r8] andn r12d,ebx,edx xor r13d,edi rorx r14d,ebx,6 - lea r8d,DWORD PTR[r12*1+r8] + lea r8d,DWORD PTR[r12*1+r8] xor r13d,r14d mov edi,r9d rorx r12d,r9d,22 - lea r8d,DWORD PTR[r13*1+r8] + lea r8d,DWORD PTR[r13*1+r8] xor edi,r10d rorx r14d,r9d,13 rorx r13d,r9d,2 - lea eax,DWORD PTR[r8*1+rax] + lea eax,DWORD PTR[r8*1+rax] and r15d,edi xor r14d,r12d xor r15d,r10d xor r14d,r13d - lea r8d,DWORD PTR[r15*1+r8] + lea r8d,DWORD PTR[r15*1+r8] mov r12d,ebx - add edx,DWORD PTR[((32+64))+rsp] + add edx,DWORD PTR[((32+64))+rsp] and r12d,eax rorx r13d,eax,25 rorx r15d,eax,11 - lea r8d,DWORD PTR[r14*1+r8] - lea edx,DWORD PTR[r12*1+rdx] + lea r8d,DWORD PTR[r14*1+r8] + lea edx,DWORD PTR[r12*1+rdx] andn r12d,eax,ecx xor r13d,r15d rorx r14d,eax,6 - lea edx,DWORD PTR[r12*1+rdx] + lea edx,DWORD PTR[r12*1+rdx] xor r13d,r14d mov r15d,r8d rorx r12d,r8d,22 - lea edx,DWORD PTR[r13*1+rdx] + lea edx,DWORD PTR[r13*1+rdx] xor r15d,r9d rorx r14d,r8d,13 rorx r13d,r8d,2 - lea r11d,DWORD PTR[rdx*1+r11] + lea r11d,DWORD PTR[rdx*1+r11] and edi,r15d xor r14d,r12d xor edi,r9d xor r14d,r13d - lea edx,DWORD PTR[rdi*1+rdx] + lea edx,DWORD PTR[rdi*1+rdx] mov r12d,eax - add ecx,DWORD PTR[((36+64))+rsp] + add ecx,DWORD PTR[((36+64))+rsp] and r12d,r11d rorx r13d,r11d,25 rorx edi,r11d,11 - lea edx,DWORD PTR[r14*1+rdx] - lea ecx,DWORD PTR[r12*1+rcx] + lea edx,DWORD PTR[r14*1+rdx] + lea ecx,DWORD PTR[r12*1+rcx] andn r12d,r11d,ebx xor r13d,edi rorx r14d,r11d,6 - lea ecx,DWORD PTR[r12*1+rcx] + lea ecx,DWORD PTR[r12*1+rcx] xor r13d,r14d mov edi,edx rorx r12d,edx,22 - lea ecx,DWORD PTR[r13*1+rcx] + lea ecx,DWORD PTR[r13*1+rcx] xor edi,r8d rorx r14d,edx,13 rorx r13d,edx,2 - lea r10d,DWORD PTR[rcx*1+r10] + lea r10d,DWORD PTR[rcx*1+r10] and r15d,edi xor r14d,r12d xor r15d,r8d xor r14d,r13d - lea ecx,DWORD PTR[r15*1+rcx] + lea ecx,DWORD PTR[r15*1+rcx] mov r12d,r11d - add ebx,DWORD PTR[((40+64))+rsp] + add ebx,DWORD PTR[((40+64))+rsp] and r12d,r10d rorx r13d,r10d,25 rorx r15d,r10d,11 - lea ecx,DWORD PTR[r14*1+rcx] - lea ebx,DWORD PTR[r12*1+rbx] + lea ecx,DWORD PTR[r14*1+rcx] + lea ebx,DWORD PTR[r12*1+rbx] andn r12d,r10d,eax xor r13d,r15d rorx r14d,r10d,6 - lea ebx,DWORD PTR[r12*1+rbx] + lea ebx,DWORD PTR[r12*1+rbx] xor r13d,r14d mov r15d,ecx rorx r12d,ecx,22 - lea ebx,DWORD PTR[r13*1+rbx] + lea ebx,DWORD PTR[r13*1+rbx] xor r15d,edx rorx r14d,ecx,13 rorx r13d,ecx,2 - lea r9d,DWORD PTR[rbx*1+r9] + lea r9d,DWORD PTR[rbx*1+r9] and edi,r15d xor r14d,r12d xor edi,edx xor r14d,r13d - lea ebx,DWORD PTR[rdi*1+rbx] + lea ebx,DWORD PTR[rdi*1+rbx] mov r12d,r10d - add eax,DWORD PTR[((44+64))+rsp] + add eax,DWORD PTR[((44+64))+rsp] and r12d,r9d rorx r13d,r9d,25 rorx edi,r9d,11 - lea ebx,DWORD PTR[r14*1+rbx] - lea eax,DWORD PTR[r12*1+rax] + lea ebx,DWORD PTR[r14*1+rbx] + lea eax,DWORD PTR[r12*1+rax] andn r12d,r9d,r11d xor r13d,edi rorx r14d,r9d,6 - lea eax,DWORD PTR[r12*1+rax] + lea eax,DWORD PTR[r12*1+rax] xor r13d,r14d mov edi,ebx rorx r12d,ebx,22 - lea eax,DWORD PTR[r13*1+rax] + lea eax,DWORD PTR[r13*1+rax] xor edi,ecx rorx r14d,ebx,13 rorx r13d,ebx,2 - lea r8d,DWORD PTR[rax*1+r8] + lea r8d,DWORD PTR[rax*1+r8] and r15d,edi xor r14d,r12d xor r15d,ecx xor r14d,r13d - lea eax,DWORD PTR[r15*1+rax] + lea eax,DWORD PTR[r15*1+rax] mov r12d,r9d - add r11d,DWORD PTR[rsp] + add r11d,DWORD PTR[rsp] and r12d,r8d rorx r13d,r8d,25 rorx r15d,r8d,11 - lea eax,DWORD PTR[r14*1+rax] - lea r11d,DWORD PTR[r12*1+r11] + lea eax,DWORD PTR[r14*1+rax] + lea r11d,DWORD PTR[r12*1+r11] andn r12d,r8d,r10d xor r13d,r15d rorx r14d,r8d,6 - lea r11d,DWORD PTR[r12*1+r11] + lea r11d,DWORD PTR[r12*1+r11] xor r13d,r14d mov r15d,eax rorx r12d,eax,22 - lea r11d,DWORD PTR[r13*1+r11] + lea r11d,DWORD PTR[r13*1+r11] xor r15d,ebx rorx r14d,eax,13 rorx r13d,eax,2 - lea edx,DWORD PTR[r11*1+rdx] + lea edx,DWORD PTR[r11*1+rdx] and edi,r15d xor r14d,r12d xor edi,ebx xor r14d,r13d - lea r11d,DWORD PTR[rdi*1+r11] + lea r11d,DWORD PTR[rdi*1+r11] mov r12d,r8d - add r10d,DWORD PTR[4+rsp] + add r10d,DWORD PTR[4+rsp] and r12d,edx rorx r13d,edx,25 rorx edi,edx,11 - lea r11d,DWORD PTR[r14*1+r11] - lea r10d,DWORD PTR[r12*1+r10] + lea r11d,DWORD PTR[r14*1+r11] + lea r10d,DWORD PTR[r12*1+r10] andn r12d,edx,r9d xor r13d,edi rorx r14d,edx,6 - lea r10d,DWORD PTR[r12*1+r10] + lea r10d,DWORD PTR[r12*1+r10] xor r13d,r14d mov edi,r11d rorx r12d,r11d,22 - lea r10d,DWORD PTR[r13*1+r10] + lea r10d,DWORD PTR[r13*1+r10] xor edi,eax rorx r14d,r11d,13 rorx r13d,r11d,2 - lea ecx,DWORD PTR[r10*1+rcx] + lea ecx,DWORD PTR[r10*1+rcx] and r15d,edi xor r14d,r12d xor r15d,eax xor r14d,r13d - lea r10d,DWORD PTR[r15*1+r10] + lea r10d,DWORD PTR[r15*1+r10] mov r12d,edx - add r9d,DWORD PTR[8+rsp] + add r9d,DWORD PTR[8+rsp] and r12d,ecx rorx r13d,ecx,25 rorx r15d,ecx,11 - lea r10d,DWORD PTR[r14*1+r10] - lea r9d,DWORD PTR[r12*1+r9] + lea r10d,DWORD PTR[r14*1+r10] + lea r9d,DWORD PTR[r12*1+r9] andn r12d,ecx,r8d xor r13d,r15d rorx r14d,ecx,6 - lea r9d,DWORD PTR[r12*1+r9] + lea r9d,DWORD PTR[r12*1+r9] xor r13d,r14d mov r15d,r10d rorx r12d,r10d,22 - lea r9d,DWORD PTR[r13*1+r9] + lea r9d,DWORD PTR[r13*1+r9] xor r15d,r11d rorx r14d,r10d,13 rorx r13d,r10d,2 - lea ebx,DWORD PTR[r9*1+rbx] + lea ebx,DWORD PTR[r9*1+rbx] and edi,r15d xor r14d,r12d xor edi,r11d xor r14d,r13d - lea r9d,DWORD PTR[rdi*1+r9] + lea r9d,DWORD PTR[rdi*1+r9] mov r12d,ecx - add r8d,DWORD PTR[12+rsp] + add r8d,DWORD PTR[12+rsp] and r12d,ebx rorx r13d,ebx,25 rorx edi,ebx,11 - lea r9d,DWORD PTR[r14*1+r9] - lea r8d,DWORD PTR[r12*1+r8] + lea r9d,DWORD PTR[r14*1+r9] + lea r8d,DWORD PTR[r12*1+r8] andn r12d,ebx,edx xor r13d,edi rorx r14d,ebx,6 - lea r8d,DWORD PTR[r12*1+r8] + lea r8d,DWORD PTR[r12*1+r8] xor r13d,r14d mov edi,r9d rorx r12d,r9d,22 - lea r8d,DWORD PTR[r13*1+r8] + lea r8d,DWORD PTR[r13*1+r8] xor edi,r10d rorx r14d,r9d,13 rorx r13d,r9d,2 - lea eax,DWORD PTR[r8*1+rax] + lea eax,DWORD PTR[r8*1+rax] and r15d,edi xor r14d,r12d xor r15d,r10d xor r14d,r13d - lea r8d,DWORD PTR[r15*1+r8] + lea r8d,DWORD PTR[r15*1+r8] mov r12d,ebx - add edx,DWORD PTR[32+rsp] + add edx,DWORD PTR[32+rsp] and r12d,eax rorx r13d,eax,25 rorx r15d,eax,11 - lea r8d,DWORD PTR[r14*1+r8] - lea edx,DWORD PTR[r12*1+rdx] + lea r8d,DWORD PTR[r14*1+r8] + lea edx,DWORD PTR[r12*1+rdx] andn r12d,eax,ecx xor r13d,r15d rorx r14d,eax,6 - lea edx,DWORD PTR[r12*1+rdx] + lea edx,DWORD PTR[r12*1+rdx] xor r13d,r14d mov r15d,r8d rorx r12d,r8d,22 - lea edx,DWORD PTR[r13*1+rdx] + lea edx,DWORD PTR[r13*1+rdx] xor r15d,r9d rorx r14d,r8d,13 rorx r13d,r8d,2 - lea r11d,DWORD PTR[rdx*1+r11] + lea r11d,DWORD PTR[rdx*1+r11] and edi,r15d xor r14d,r12d xor edi,r9d xor r14d,r13d - lea edx,DWORD PTR[rdi*1+rdx] + lea edx,DWORD PTR[rdi*1+rdx] mov r12d,eax - add ecx,DWORD PTR[36+rsp] + add ecx,DWORD PTR[36+rsp] and r12d,r11d rorx r13d,r11d,25 rorx edi,r11d,11 - lea edx,DWORD PTR[r14*1+rdx] - lea ecx,DWORD PTR[r12*1+rcx] + lea edx,DWORD PTR[r14*1+rdx] + lea ecx,DWORD PTR[r12*1+rcx] andn r12d,r11d,ebx xor r13d,edi rorx r14d,r11d,6 - lea ecx,DWORD PTR[r12*1+rcx] + lea ecx,DWORD PTR[r12*1+rcx] xor r13d,r14d mov edi,edx rorx r12d,edx,22 - lea ecx,DWORD PTR[r13*1+rcx] + lea ecx,DWORD PTR[r13*1+rcx] xor edi,r8d rorx r14d,edx,13 rorx r13d,edx,2 - lea r10d,DWORD PTR[rcx*1+r10] + lea r10d,DWORD PTR[rcx*1+r10] and r15d,edi xor r14d,r12d xor r15d,r8d xor r14d,r13d - lea ecx,DWORD PTR[r15*1+rcx] + lea ecx,DWORD PTR[r15*1+rcx] mov r12d,r11d - add ebx,DWORD PTR[40+rsp] + add ebx,DWORD PTR[40+rsp] and r12d,r10d rorx r13d,r10d,25 rorx r15d,r10d,11 - lea ecx,DWORD PTR[r14*1+rcx] - lea ebx,DWORD PTR[r12*1+rbx] + lea ecx,DWORD PTR[r14*1+rcx] + lea ebx,DWORD PTR[r12*1+rbx] andn r12d,r10d,eax xor r13d,r15d rorx r14d,r10d,6 - lea ebx,DWORD PTR[r12*1+rbx] + lea ebx,DWORD PTR[r12*1+rbx] xor r13d,r14d mov r15d,ecx rorx r12d,ecx,22 - lea ebx,DWORD PTR[r13*1+rbx] + lea ebx,DWORD PTR[r13*1+rbx] xor r15d,edx rorx r14d,ecx,13 rorx r13d,ecx,2 - lea r9d,DWORD PTR[rbx*1+r9] + lea r9d,DWORD PTR[rbx*1+r9] and edi,r15d xor r14d,r12d xor edi,edx xor r14d,r13d - lea ebx,DWORD PTR[rdi*1+rbx] + lea ebx,DWORD PTR[rdi*1+rbx] mov r12d,r10d - add eax,DWORD PTR[44+rsp] + add eax,DWORD PTR[44+rsp] and r12d,r9d rorx r13d,r9d,25 rorx edi,r9d,11 - lea ebx,DWORD PTR[r14*1+rbx] - lea eax,DWORD PTR[r12*1+rax] + lea ebx,DWORD PTR[r14*1+rbx] + lea eax,DWORD PTR[r12*1+rax] andn r12d,r9d,r11d xor r13d,edi rorx r14d,r9d,6 - lea eax,DWORD PTR[r12*1+rax] + lea eax,DWORD PTR[r12*1+rax] xor r13d,r14d mov edi,ebx rorx r12d,ebx,22 - lea eax,DWORD PTR[r13*1+rax] + lea eax,DWORD PTR[r13*1+rax] xor edi,ecx rorx r14d,ebx,13 rorx r13d,ebx,2 - lea r8d,DWORD PTR[rax*1+r8] + lea r8d,DWORD PTR[rax*1+r8] and r15d,edi xor r14d,r12d xor r15d,ecx xor r14d,r13d - lea eax,DWORD PTR[r15*1+rax] + lea eax,DWORD PTR[r15*1+rax] mov r12d,r9d - mov rdi,QWORD PTR[512+rsp] + mov rdi,QWORD PTR[512+rsp] add eax,r14d - lea rbp,QWORD PTR[448+rsp] - - 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] - - 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 - - cmp rsi,QWORD PTR[80+rbp] - je $L$done_avx2 + lea rbp,QWORD PTR[448+rsp] + + 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] + + 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 + + cmp rsi,QWORD PTR[80+rbp] + je $L$done_avx2 xor r14d,r14d mov edi,ebx xor edi,ecx mov r12d,r9d - jmp $L$ower_avx2 + jmp $L$ower_avx2 ALIGN 16 -$L$ower_avx2:: - add r11d,DWORD PTR[((0+16))+rbp] +$L$ower_avx2:: + add r11d,DWORD PTR[((0+16))+rbp] and r12d,r8d rorx r13d,r8d,25 rorx r15d,r8d,11 - lea eax,DWORD PTR[r14*1+rax] - lea r11d,DWORD PTR[r12*1+r11] + lea eax,DWORD PTR[r14*1+rax] + lea r11d,DWORD PTR[r12*1+r11] andn r12d,r8d,r10d xor r13d,r15d rorx r14d,r8d,6 - lea r11d,DWORD PTR[r12*1+r11] + lea r11d,DWORD PTR[r12*1+r11] xor r13d,r14d mov r15d,eax rorx r12d,eax,22 - lea r11d,DWORD PTR[r13*1+r11] + lea r11d,DWORD PTR[r13*1+r11] xor r15d,ebx rorx r14d,eax,13 rorx r13d,eax,2 - lea edx,DWORD PTR[r11*1+rdx] + lea edx,DWORD PTR[r11*1+rdx] and edi,r15d xor r14d,r12d xor edi,ebx xor r14d,r13d - lea r11d,DWORD PTR[rdi*1+r11] + lea r11d,DWORD PTR[rdi*1+r11] mov r12d,r8d - add r10d,DWORD PTR[((4+16))+rbp] + add r10d,DWORD PTR[((4+16))+rbp] and r12d,edx rorx r13d,edx,25 rorx edi,edx,11 - lea r11d,DWORD PTR[r14*1+r11] - lea r10d,DWORD PTR[r12*1+r10] + lea r11d,DWORD PTR[r14*1+r11] + lea r10d,DWORD PTR[r12*1+r10] andn r12d,edx,r9d xor r13d,edi rorx r14d,edx,6 - lea r10d,DWORD PTR[r12*1+r10] + lea r10d,DWORD PTR[r12*1+r10] xor r13d,r14d mov edi,r11d rorx r12d,r11d,22 - lea r10d,DWORD PTR[r13*1+r10] + lea r10d,DWORD PTR[r13*1+r10] xor edi,eax rorx r14d,r11d,13 rorx r13d,r11d,2 - lea ecx,DWORD PTR[r10*1+rcx] + lea ecx,DWORD PTR[r10*1+rcx] and r15d,edi xor r14d,r12d xor r15d,eax xor r14d,r13d - lea r10d,DWORD PTR[r15*1+r10] + lea r10d,DWORD PTR[r15*1+r10] mov r12d,edx - add r9d,DWORD PTR[((8+16))+rbp] + add r9d,DWORD PTR[((8+16))+rbp] and r12d,ecx rorx r13d,ecx,25 rorx r15d,ecx,11 - lea r10d,DWORD PTR[r14*1+r10] - lea r9d,DWORD PTR[r12*1+r9] + lea r10d,DWORD PTR[r14*1+r10] + lea r9d,DWORD PTR[r12*1+r9] andn r12d,ecx,r8d xor r13d,r15d rorx r14d,ecx,6 - lea r9d,DWORD PTR[r12*1+r9] + lea r9d,DWORD PTR[r12*1+r9] xor r13d,r14d mov r15d,r10d rorx r12d,r10d,22 - lea r9d,DWORD PTR[r13*1+r9] + lea r9d,DWORD PTR[r13*1+r9] xor r15d,r11d rorx r14d,r10d,13 rorx r13d,r10d,2 - lea ebx,DWORD PTR[r9*1+rbx] + lea ebx,DWORD PTR[r9*1+rbx] and edi,r15d xor r14d,r12d xor edi,r11d xor r14d,r13d - lea r9d,DWORD PTR[rdi*1+r9] + lea r9d,DWORD PTR[rdi*1+r9] mov r12d,ecx - add r8d,DWORD PTR[((12+16))+rbp] + add r8d,DWORD PTR[((12+16))+rbp] and r12d,ebx rorx r13d,ebx,25 rorx edi,ebx,11 - lea r9d,DWORD PTR[r14*1+r9] - lea r8d,DWORD PTR[r12*1+r8] + lea r9d,DWORD PTR[r14*1+r9] + lea r8d,DWORD PTR[r12*1+r8] andn r12d,ebx,edx xor r13d,edi rorx r14d,ebx,6 - lea r8d,DWORD PTR[r12*1+r8] + lea r8d,DWORD PTR[r12*1+r8] xor r13d,r14d mov edi,r9d rorx r12d,r9d,22 - lea r8d,DWORD PTR[r13*1+r8] + lea r8d,DWORD PTR[r13*1+r8] xor edi,r10d rorx r14d,r9d,13 rorx r13d,r9d,2 - lea eax,DWORD PTR[r8*1+rax] + lea eax,DWORD PTR[r8*1+rax] and r15d,edi xor r14d,r12d xor r15d,r10d xor r14d,r13d - lea r8d,DWORD PTR[r15*1+r8] + lea r8d,DWORD PTR[r15*1+r8] mov r12d,ebx - add edx,DWORD PTR[((32+16))+rbp] + add edx,DWORD PTR[((32+16))+rbp] and r12d,eax rorx r13d,eax,25 rorx r15d,eax,11 - lea r8d,DWORD PTR[r14*1+r8] - lea edx,DWORD PTR[r12*1+rdx] + lea r8d,DWORD PTR[r14*1+r8] + lea edx,DWORD PTR[r12*1+rdx] andn r12d,eax,ecx xor r13d,r15d rorx r14d,eax,6 - lea edx,DWORD PTR[r12*1+rdx] + lea edx,DWORD PTR[r12*1+rdx] xor r13d,r14d mov r15d,r8d rorx r12d,r8d,22 - lea edx,DWORD PTR[r13*1+rdx] + lea edx,DWORD PTR[r13*1+rdx] xor r15d,r9d rorx r14d,r8d,13 rorx r13d,r8d,2 - lea r11d,DWORD PTR[rdx*1+r11] + lea r11d,DWORD PTR[rdx*1+r11] and edi,r15d xor r14d,r12d xor edi,r9d xor r14d,r13d - lea edx,DWORD PTR[rdi*1+rdx] + lea edx,DWORD PTR[rdi*1+rdx] mov r12d,eax - add ecx,DWORD PTR[((36+16))+rbp] + add ecx,DWORD PTR[((36+16))+rbp] and r12d,r11d rorx r13d,r11d,25 rorx edi,r11d,11 - lea edx,DWORD PTR[r14*1+rdx] - lea ecx,DWORD PTR[r12*1+rcx] + lea edx,DWORD PTR[r14*1+rdx] + lea ecx,DWORD PTR[r12*1+rcx] andn r12d,r11d,ebx xor r13d,edi rorx r14d,r11d,6 - lea ecx,DWORD PTR[r12*1+rcx] + lea ecx,DWORD PTR[r12*1+rcx] xor r13d,r14d mov edi,edx rorx r12d,edx,22 - lea ecx,DWORD PTR[r13*1+rcx] + lea ecx,DWORD PTR[r13*1+rcx] xor edi,r8d rorx r14d,edx,13 rorx r13d,edx,2 - lea r10d,DWORD PTR[rcx*1+r10] + lea r10d,DWORD PTR[rcx*1+r10] and r15d,edi xor r14d,r12d xor r15d,r8d xor r14d,r13d - lea ecx,DWORD PTR[r15*1+rcx] + lea ecx,DWORD PTR[r15*1+rcx] mov r12d,r11d - add ebx,DWORD PTR[((40+16))+rbp] + add ebx,DWORD PTR[((40+16))+rbp] and r12d,r10d rorx r13d,r10d,25 rorx r15d,r10d,11 - lea ecx,DWORD PTR[r14*1+rcx] - lea ebx,DWORD PTR[r12*1+rbx] + lea ecx,DWORD PTR[r14*1+rcx] + lea ebx,DWORD PTR[r12*1+rbx] andn r12d,r10d,eax xor r13d,r15d rorx r14d,r10d,6 - lea ebx,DWORD PTR[r12*1+rbx] + lea ebx,DWORD PTR[r12*1+rbx] xor r13d,r14d mov r15d,ecx rorx r12d,ecx,22 - lea ebx,DWORD PTR[r13*1+rbx] + lea ebx,DWORD PTR[r13*1+rbx] xor r15d,edx rorx r14d,ecx,13 rorx r13d,ecx,2 - lea r9d,DWORD PTR[rbx*1+r9] + lea r9d,DWORD PTR[rbx*1+r9] and edi,r15d xor r14d,r12d xor edi,edx xor r14d,r13d - lea ebx,DWORD PTR[rdi*1+rbx] + lea ebx,DWORD PTR[rdi*1+rbx] mov r12d,r10d - add eax,DWORD PTR[((44+16))+rbp] + add eax,DWORD PTR[((44+16))+rbp] and r12d,r9d rorx r13d,r9d,25 rorx edi,r9d,11 - lea ebx,DWORD PTR[r14*1+rbx] - lea eax,DWORD PTR[r12*1+rax] + lea ebx,DWORD PTR[r14*1+rbx] + lea eax,DWORD PTR[r12*1+rax] andn r12d,r9d,r11d xor r13d,edi rorx r14d,r9d,6 - lea eax,DWORD PTR[r12*1+rax] + lea eax,DWORD PTR[r12*1+rax] xor r13d,r14d mov edi,ebx rorx r12d,ebx,22 - lea eax,DWORD PTR[r13*1+rax] + lea eax,DWORD PTR[r13*1+rax] xor edi,ecx rorx r14d,ebx,13 rorx r13d,ebx,2 - lea r8d,DWORD PTR[rax*1+r8] + lea r8d,DWORD PTR[rax*1+r8] and r15d,edi xor r14d,r12d xor r15d,ecx xor r14d,r13d - lea eax,DWORD PTR[r15*1+rax] + lea eax,DWORD PTR[r15*1+rax] mov r12d,r9d - lea rbp,QWORD PTR[((-64))+rbp] + lea rbp,QWORD PTR[((-64))+rbp] cmp rbp,rsp - jae $L$ower_avx2 + jae $L$ower_avx2 - mov rdi,QWORD PTR[512+rsp] + mov rdi,QWORD PTR[512+rsp] add eax,r14d - lea rsp,QWORD PTR[448+rsp] - - - - 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] - lea rsi,QWORD PTR[128+rsi] - add r10d,DWORD PTR[24+rdi] + lea rsp,QWORD PTR[448+rsp] + + + + 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] + lea rsi,QWORD PTR[128+rsi] + add r10d,DWORD PTR[24+rdi] mov r12,rsi - add r11d,DWORD PTR[28+rdi] - cmp rsi,QWORD PTR[((64+16))+rsp] + add r11d,DWORD PTR[28+rdi] + cmp rsi,QWORD PTR[((64+16))+rsp] - mov DWORD PTR[rdi],eax + mov DWORD PTR[rdi],eax cmove r12,rsp - 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 - - jbe $L$oop_avx2 - lea rbp,QWORD PTR[rsp] - - - - -$L$done_avx2:: - mov rsi,QWORD PTR[88+rbp] - + 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 + + jbe $L$oop_avx2 + lea rbp,QWORD PTR[rsp] + + + + +$L$done_avx2:: + mov rsi,QWORD PTR[88+rbp] + vzeroupper - movaps xmm6,XMMWORD PTR[((64+32))+rbp] - movaps xmm7,XMMWORD PTR[((64+48))+rbp] - movaps xmm8,XMMWORD PTR[((64+64))+rbp] - movaps xmm9,XMMWORD PTR[((64+80))+rbp] - mov r15,QWORD PTR[((-48))+rsi] + movaps xmm6,XMMWORD PTR[((64+32))+rbp] + movaps xmm7,XMMWORD PTR[((64+48))+rbp] + movaps xmm8,XMMWORD PTR[((64+64))+rbp] + movaps xmm9,XMMWORD PTR[((64+80))+rbp] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$epilogue_avx2:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_avx2:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_block_data_order_avx2:: -sha256_block_data_order_avx2 ENDP -EXTERN __imp_RtlVirtualUnwind:NEAR +$L$SEH_end_sha256_block_data_order_avx2:: +sha256_block_data_order_avx2 ENDP +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -5552,80 +5552,80 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$in_prologue - lea r10,QWORD PTR[$L$avx2_shortcut] + jae $L$in_prologue + lea r10,QWORD PTR[$L$avx2_shortcut] cmp rbx,r10 - jb $L$not_in_avx2 + jb $L$not_in_avx2 and rax,-256*4 add rax,448 -$L$not_in_avx2:: +$L$not_in_avx2:: mov rsi,rax - mov rax,QWORD PTR[((64+24))+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 PTR[((64+24))+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] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - lea rsi,QWORD PTR[((64+32))+rsi] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[((64+32))+rsi] + lea rdi,QWORD PTR[512+r8] mov ecx,8 - DD 0a548f3fch + DD 0a548f3fch -$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 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 - mov rdi,QWORD PTR[40+r9] + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -5639,10 +5639,10 @@ $L$in_prologue:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP +se_handler ENDP ALIGN 16 -shaext_handler PROC PRIVATE +shaext_handler PROC PRIVATE push rsi push rdi push rbx @@ -5654,64 +5654,64 @@ shaext_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - lea r10,QWORD PTR[$L$prologue_shaext] + lea r10,QWORD PTR[$L$prologue_shaext] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - lea r10,QWORD PTR[$L$epilogue_shaext] + lea r10,QWORD PTR[$L$epilogue_shaext] cmp rbx,r10 - jae $L$in_prologue + jae $L$in_prologue - lea rsi,QWORD PTR[((-8-80))+rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[((-8-80))+rax] + lea rdi,QWORD PTR[512+r8] mov ecx,10 - DD 0a548f3fch + DD 0a548f3fch - jmp $L$in_prologue -shaext_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) + jmp $L$in_prologue +shaext_handler ENDP +.text$ ENDS +.pdata SEGMENT READONLY 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_shaext - DD imagerel $L$SEH_end_sha256_block_data_order_shaext - DD imagerel $L$SEH_info_sha256_block_data_order_shaext - 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 - DD imagerel $L$SEH_begin_sha256_block_data_order_avx - DD imagerel $L$SEH_end_sha256_block_data_order_avx - DD imagerel $L$SEH_info_sha256_block_data_order_avx - DD imagerel $L$SEH_begin_sha256_block_data_order_avx2 - DD imagerel $L$SEH_end_sha256_block_data_order_avx2 - DD imagerel $L$SEH_info_sha256_block_data_order_avx2 -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + 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_shaext + DD imagerel $L$SEH_end_sha256_block_data_order_shaext + DD imagerel $L$SEH_info_sha256_block_data_order_shaext + 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 + DD imagerel $L$SEH_begin_sha256_block_data_order_avx + DD imagerel $L$SEH_end_sha256_block_data_order_avx + DD imagerel $L$SEH_info_sha256_block_data_order_avx + DD imagerel $L$SEH_begin_sha256_block_data_order_avx2 + DD imagerel $L$SEH_end_sha256_block_data_order_avx2 + DD imagerel $L$SEH_info_sha256_block_data_order_avx2 +.pdata ENDS +.xdata SEGMENT READONLY 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_shaext:: + DD imagerel se_handler + DD imagerel $L$prologue,imagerel $L$epilogue +$L$SEH_info_sha256_block_data_order_shaext:: DB 9,0,0,0 - DD imagerel shaext_handler -$L$SEH_info_sha256_block_data_order_ssse3:: + DD imagerel shaext_handler +$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 -$L$SEH_info_sha256_block_data_order_avx:: + DD imagerel se_handler + DD imagerel $L$prologue_ssse3,imagerel $L$epilogue_ssse3 +$L$SEH_info_sha256_block_data_order_avx:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$prologue_avx,imagerel $L$epilogue_avx -$L$SEH_info_sha256_block_data_order_avx2:: + DD imagerel se_handler + DD imagerel $L$prologue_avx,imagerel $L$epilogue_avx +$L$SEH_info_sha256_block_data_order_avx2:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$prologue_avx2,imagerel $L$epilogue_avx2 - -.xdata ENDS -END + DD imagerel se_handler + DD imagerel $L$prologue_avx2,imagerel $L$epilogue_avx2 + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/sha/sha512-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/sha/sha512-x86_64.masm index 2e9bab73ce..975495c4e3 100644 --- a/contrib/libs/openssl/asm/windows/crypto/sha/sha512-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/sha/sha512-x86_64.masm @@ -1,35 +1,35 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC sha512_block_data_order +EXTERN OPENSSL_ia32cap_P:NEAR +PUBLIC 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 PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[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 - 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,QWORD PTR[OPENSSL_ia32cap_P] + mov r9d,DWORD PTR[r11] + mov r10d,DWORD PTR[4+r11] + mov r11d,DWORD PTR[8+r11] test r10d,2048 - jnz $L$xop_shortcut + jnz $L$xop_shortcut and r11d,296 cmp r11d,296 - je $L$avx2_shortcut + je $L$avx2_shortcut and r9d,1073741824 and r10d,268435968 or r10d,r9d cmp r10d,1342177792 - je $L$avx_shortcut + je $L$avx_shortcut mov rax,rsp push rbx @@ -46,31 +46,31 @@ $L$SEH_begin_sha512_block_data_order:: shl rdx,4 sub rsp,16*8+4*8 - lea rdx,QWORD PTR[rdx*8+rsi] + lea rdx,QWORD PTR[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[152+rsp],rax - -$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 PTR[((128+0))+rsp],rdi + mov QWORD PTR[((128+8))+rsp],rsi + mov QWORD PTR[((128+16))+rsp],rdx + mov QWORD PTR[152+rsp],rax + +$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 ALIGN 16 -$L$loop:: +$L$loop:: mov rdi,rbx - lea rbp,QWORD PTR[K512] + lea rbp,QWORD PTR[K512] xor rdi,rcx - mov r12,QWORD PTR[rsi] + mov r12,QWORD PTR[rsi] mov r13,r8 mov r14,rax bswap r12 @@ -81,7 +81,7 @@ $L$loop:: ror r14,5 xor r15,r10 - mov QWORD PTR[rsp],r12 + mov QWORD PTR[rsp],r12 xor r14,rax and r15,r8 @@ -94,7 +94,7 @@ $L$loop:: add r12,r15 mov r15,rax - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rax xor r15,rbx @@ -109,9 +109,9 @@ $L$loop:: add rdx,r12 add r11,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,QWORD PTR[8+rbp] add r11,r14 - mov r12,QWORD PTR[8+rsi] + mov r12,QWORD PTR[8+rsi] mov r13,rdx mov r14,r11 bswap r12 @@ -122,7 +122,7 @@ $L$loop:: ror r14,5 xor rdi,r9 - mov QWORD PTR[8+rsp],r12 + mov QWORD PTR[8+rsp],r12 xor r14,r11 and rdi,rdx @@ -135,7 +135,7 @@ $L$loop:: add r12,rdi mov rdi,r11 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r11 xor rdi,rax @@ -150,9 +150,9 @@ $L$loop:: add rcx,r12 add r10,r12 - lea rbp,QWORD PTR[24+rbp] + lea rbp,QWORD PTR[24+rbp] add r10,r14 - mov r12,QWORD PTR[16+rsi] + mov r12,QWORD PTR[16+rsi] mov r13,rcx mov r14,r10 bswap r12 @@ -163,7 +163,7 @@ $L$loop:: ror r14,5 xor r15,r8 - mov QWORD PTR[16+rsp],r12 + mov QWORD PTR[16+rsp],r12 xor r14,r10 and r15,rcx @@ -176,7 +176,7 @@ $L$loop:: add r12,r15 mov r15,r10 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r10 xor r15,r11 @@ -191,9 +191,9 @@ $L$loop:: add rbx,r12 add r9,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,QWORD PTR[8+rbp] add r9,r14 - mov r12,QWORD PTR[24+rsi] + mov r12,QWORD PTR[24+rsi] mov r13,rbx mov r14,r9 bswap r12 @@ -204,7 +204,7 @@ $L$loop:: ror r14,5 xor rdi,rdx - mov QWORD PTR[24+rsp],r12 + mov QWORD PTR[24+rsp],r12 xor r14,r9 and rdi,rbx @@ -217,7 +217,7 @@ $L$loop:: add r12,rdi mov rdi,r9 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r9 xor rdi,r10 @@ -232,9 +232,9 @@ $L$loop:: add rax,r12 add r8,r12 - lea rbp,QWORD PTR[24+rbp] + lea rbp,QWORD PTR[24+rbp] add r8,r14 - mov r12,QWORD PTR[32+rsi] + mov r12,QWORD PTR[32+rsi] mov r13,rax mov r14,r8 bswap r12 @@ -245,7 +245,7 @@ $L$loop:: ror r14,5 xor r15,rcx - mov QWORD PTR[32+rsp],r12 + mov QWORD PTR[32+rsp],r12 xor r14,r8 and r15,rax @@ -258,7 +258,7 @@ $L$loop:: add r12,r15 mov r15,r8 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r8 xor r15,r9 @@ -273,9 +273,9 @@ $L$loop:: add r11,r12 add rdx,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,QWORD PTR[8+rbp] add rdx,r14 - mov r12,QWORD PTR[40+rsi] + mov r12,QWORD PTR[40+rsi] mov r13,r11 mov r14,rdx bswap r12 @@ -286,7 +286,7 @@ $L$loop:: ror r14,5 xor rdi,rbx - mov QWORD PTR[40+rsp],r12 + mov QWORD PTR[40+rsp],r12 xor r14,rdx and rdi,r11 @@ -299,7 +299,7 @@ $L$loop:: add r12,rdi mov rdi,rdx - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rdx xor rdi,r8 @@ -314,9 +314,9 @@ $L$loop:: add r10,r12 add rcx,r12 - lea rbp,QWORD PTR[24+rbp] + lea rbp,QWORD PTR[24+rbp] add rcx,r14 - mov r12,QWORD PTR[48+rsi] + mov r12,QWORD PTR[48+rsi] mov r13,r10 mov r14,rcx bswap r12 @@ -327,7 +327,7 @@ $L$loop:: ror r14,5 xor r15,rax - mov QWORD PTR[48+rsp],r12 + mov QWORD PTR[48+rsp],r12 xor r14,rcx and r15,r10 @@ -340,7 +340,7 @@ $L$loop:: add r12,r15 mov r15,rcx - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rcx xor r15,rdx @@ -355,9 +355,9 @@ $L$loop:: add r9,r12 add rbx,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,QWORD PTR[8+rbp] add rbx,r14 - mov r12,QWORD PTR[56+rsi] + mov r12,QWORD PTR[56+rsi] mov r13,r9 mov r14,rbx bswap r12 @@ -368,7 +368,7 @@ $L$loop:: ror r14,5 xor rdi,r11 - mov QWORD PTR[56+rsp],r12 + mov QWORD PTR[56+rsp],r12 xor r14,rbx and rdi,r9 @@ -381,7 +381,7 @@ $L$loop:: add r12,rdi mov rdi,rbx - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rbx xor rdi,rcx @@ -396,9 +396,9 @@ $L$loop:: add r8,r12 add rax,r12 - lea rbp,QWORD PTR[24+rbp] + lea rbp,QWORD PTR[24+rbp] add rax,r14 - mov r12,QWORD PTR[64+rsi] + mov r12,QWORD PTR[64+rsi] mov r13,r8 mov r14,rax bswap r12 @@ -409,7 +409,7 @@ $L$loop:: ror r14,5 xor r15,r10 - mov QWORD PTR[64+rsp],r12 + mov QWORD PTR[64+rsp],r12 xor r14,rax and r15,r8 @@ -422,7 +422,7 @@ $L$loop:: add r12,r15 mov r15,rax - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rax xor r15,rbx @@ -437,9 +437,9 @@ $L$loop:: add rdx,r12 add r11,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,QWORD PTR[8+rbp] add r11,r14 - mov r12,QWORD PTR[72+rsi] + mov r12,QWORD PTR[72+rsi] mov r13,rdx mov r14,r11 bswap r12 @@ -450,7 +450,7 @@ $L$loop:: ror r14,5 xor rdi,r9 - mov QWORD PTR[72+rsp],r12 + mov QWORD PTR[72+rsp],r12 xor r14,r11 and rdi,rdx @@ -463,7 +463,7 @@ $L$loop:: add r12,rdi mov rdi,r11 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r11 xor rdi,rax @@ -478,9 +478,9 @@ $L$loop:: add rcx,r12 add r10,r12 - lea rbp,QWORD PTR[24+rbp] + lea rbp,QWORD PTR[24+rbp] add r10,r14 - mov r12,QWORD PTR[80+rsi] + mov r12,QWORD PTR[80+rsi] mov r13,rcx mov r14,r10 bswap r12 @@ -491,7 +491,7 @@ $L$loop:: ror r14,5 xor r15,r8 - mov QWORD PTR[80+rsp],r12 + mov QWORD PTR[80+rsp],r12 xor r14,r10 and r15,rcx @@ -504,7 +504,7 @@ $L$loop:: add r12,r15 mov r15,r10 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r10 xor r15,r11 @@ -519,9 +519,9 @@ $L$loop:: add rbx,r12 add r9,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,QWORD PTR[8+rbp] add r9,r14 - mov r12,QWORD PTR[88+rsi] + mov r12,QWORD PTR[88+rsi] mov r13,rbx mov r14,r9 bswap r12 @@ -532,7 +532,7 @@ $L$loop:: ror r14,5 xor rdi,rdx - mov QWORD PTR[88+rsp],r12 + mov QWORD PTR[88+rsp],r12 xor r14,r9 and rdi,rbx @@ -545,7 +545,7 @@ $L$loop:: add r12,rdi mov rdi,r9 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r9 xor rdi,r10 @@ -560,9 +560,9 @@ $L$loop:: add rax,r12 add r8,r12 - lea rbp,QWORD PTR[24+rbp] + lea rbp,QWORD PTR[24+rbp] add r8,r14 - mov r12,QWORD PTR[96+rsi] + mov r12,QWORD PTR[96+rsi] mov r13,rax mov r14,r8 bswap r12 @@ -573,7 +573,7 @@ $L$loop:: ror r14,5 xor r15,rcx - mov QWORD PTR[96+rsp],r12 + mov QWORD PTR[96+rsp],r12 xor r14,r8 and r15,rax @@ -586,7 +586,7 @@ $L$loop:: add r12,r15 mov r15,r8 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r8 xor r15,r9 @@ -601,9 +601,9 @@ $L$loop:: add r11,r12 add rdx,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,QWORD PTR[8+rbp] add rdx,r14 - mov r12,QWORD PTR[104+rsi] + mov r12,QWORD PTR[104+rsi] mov r13,r11 mov r14,rdx bswap r12 @@ -614,7 +614,7 @@ $L$loop:: ror r14,5 xor rdi,rbx - mov QWORD PTR[104+rsp],r12 + mov QWORD PTR[104+rsp],r12 xor r14,rdx and rdi,r11 @@ -627,7 +627,7 @@ $L$loop:: add r12,rdi mov rdi,rdx - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rdx xor rdi,r8 @@ -642,9 +642,9 @@ $L$loop:: add r10,r12 add rcx,r12 - lea rbp,QWORD PTR[24+rbp] + lea rbp,QWORD PTR[24+rbp] add rcx,r14 - mov r12,QWORD PTR[112+rsi] + mov r12,QWORD PTR[112+rsi] mov r13,r10 mov r14,rcx bswap r12 @@ -655,7 +655,7 @@ $L$loop:: ror r14,5 xor r15,rax - mov QWORD PTR[112+rsp],r12 + mov QWORD PTR[112+rsp],r12 xor r14,rcx and r15,r10 @@ -668,7 +668,7 @@ $L$loop:: add r12,r15 mov r15,rcx - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rcx xor r15,rdx @@ -683,9 +683,9 @@ $L$loop:: add r9,r12 add rbx,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,QWORD PTR[8+rbp] add rbx,r14 - mov r12,QWORD PTR[120+rsi] + mov r12,QWORD PTR[120+rsi] mov r13,r9 mov r14,rbx bswap r12 @@ -696,7 +696,7 @@ $L$loop:: ror r14,5 xor rdi,r11 - mov QWORD PTR[120+rsp],r12 + mov QWORD PTR[120+rsp],r12 xor r14,rbx and rdi,r9 @@ -709,7 +709,7 @@ $L$loop:: add r12,rdi mov rdi,rbx - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rbx xor rdi,rcx @@ -724,12 +724,12 @@ $L$loop:: add r8,r12 add rax,r12 - lea rbp,QWORD PTR[24+rbp] - jmp $L$rounds_16_xx + lea rbp,QWORD PTR[24+rbp] + jmp $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 PTR[8+rsp] + mov r15,QWORD PTR[112+rsp] mov r12,r13 ror r13,7 @@ -746,9 +746,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[72+rsp] + add r12,QWORD PTR[72+rsp] - add r12,QWORD PTR[rsp] + add r12,QWORD PTR[rsp] mov r13,r8 add r12,r15 mov r14,rax @@ -759,7 +759,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,r10 - mov QWORD PTR[rsp],r12 + mov QWORD PTR[rsp],r12 xor r14,rax and r15,r8 @@ -772,7 +772,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,rax - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rax xor r15,rbx @@ -787,9 +787,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,QWORD PTR[8+rbp] + mov r13,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[120+rsp] mov r12,r13 ror r13,7 @@ -806,9 +806,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[80+rsp] + add r12,QWORD PTR[80+rsp] - add r12,QWORD PTR[8+rsp] + add r12,QWORD PTR[8+rsp] mov r13,rdx add r12,rdi mov r14,r11 @@ -819,7 +819,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,r9 - mov QWORD PTR[8+rsp],r12 + mov QWORD PTR[8+rsp],r12 xor r14,r11 and rdi,rdx @@ -832,7 +832,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,r11 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r11 xor rdi,rax @@ -847,9 +847,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,QWORD PTR[24+rbp] + mov r13,QWORD PTR[24+rsp] + mov r15,QWORD PTR[rsp] mov r12,r13 ror r13,7 @@ -866,9 +866,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[88+rsp] + add r12,QWORD PTR[88+rsp] - add r12,QWORD PTR[16+rsp] + add r12,QWORD PTR[16+rsp] mov r13,rcx add r12,r15 mov r14,r10 @@ -879,7 +879,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,r8 - mov QWORD PTR[16+rsp],r12 + mov QWORD PTR[16+rsp],r12 xor r14,r10 and r15,rcx @@ -892,7 +892,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,r10 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r10 xor r15,r11 @@ -907,9 +907,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,QWORD PTR[8+rbp] + mov r13,QWORD PTR[32+rsp] + mov rdi,QWORD PTR[8+rsp] mov r12,r13 ror r13,7 @@ -926,9 +926,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[96+rsp] + add r12,QWORD PTR[96+rsp] - add r12,QWORD PTR[24+rsp] + add r12,QWORD PTR[24+rsp] mov r13,rbx add r12,rdi mov r14,r9 @@ -939,7 +939,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,rdx - mov QWORD PTR[24+rsp],r12 + mov QWORD PTR[24+rsp],r12 xor r14,r9 and rdi,rbx @@ -952,7 +952,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,r9 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r9 xor rdi,r10 @@ -967,9 +967,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,QWORD PTR[24+rbp] + mov r13,QWORD PTR[40+rsp] + mov r15,QWORD PTR[16+rsp] mov r12,r13 ror r13,7 @@ -986,9 +986,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[104+rsp] + add r12,QWORD PTR[104+rsp] - add r12,QWORD PTR[32+rsp] + add r12,QWORD PTR[32+rsp] mov r13,rax add r12,r15 mov r14,r8 @@ -999,7 +999,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,rcx - mov QWORD PTR[32+rsp],r12 + mov QWORD PTR[32+rsp],r12 xor r14,r8 and r15,rax @@ -1012,7 +1012,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,r8 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r8 xor r15,r9 @@ -1027,9 +1027,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,QWORD PTR[8+rbp] + mov r13,QWORD PTR[48+rsp] + mov rdi,QWORD PTR[24+rsp] mov r12,r13 ror r13,7 @@ -1046,9 +1046,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[112+rsp] + add r12,QWORD PTR[112+rsp] - add r12,QWORD PTR[40+rsp] + add r12,QWORD PTR[40+rsp] mov r13,r11 add r12,rdi mov r14,rdx @@ -1059,7 +1059,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,rbx - mov QWORD PTR[40+rsp],r12 + mov QWORD PTR[40+rsp],r12 xor r14,rdx and rdi,r11 @@ -1072,7 +1072,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,rdx - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rdx xor rdi,r8 @@ -1087,9 +1087,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,QWORD PTR[24+rbp] + mov r13,QWORD PTR[56+rsp] + mov r15,QWORD PTR[32+rsp] mov r12,r13 ror r13,7 @@ -1106,9 +1106,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[120+rsp] + add r12,QWORD PTR[120+rsp] - add r12,QWORD PTR[48+rsp] + add r12,QWORD PTR[48+rsp] mov r13,r10 add r12,r15 mov r14,rcx @@ -1119,7 +1119,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,rax - mov QWORD PTR[48+rsp],r12 + mov QWORD PTR[48+rsp],r12 xor r14,rcx and r15,r10 @@ -1132,7 +1132,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,rcx - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rcx xor r15,rdx @@ -1147,9 +1147,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,QWORD PTR[8+rbp] + mov r13,QWORD PTR[64+rsp] + mov rdi,QWORD PTR[40+rsp] mov r12,r13 ror r13,7 @@ -1166,9 +1166,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[rsp] + add r12,QWORD PTR[rsp] - add r12,QWORD PTR[56+rsp] + add r12,QWORD PTR[56+rsp] mov r13,r9 add r12,rdi mov r14,rbx @@ -1179,7 +1179,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,r11 - mov QWORD PTR[56+rsp],r12 + mov QWORD PTR[56+rsp],r12 xor r14,rbx and rdi,r9 @@ -1192,7 +1192,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,rbx - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rbx xor rdi,rcx @@ -1207,9 +1207,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,QWORD PTR[24+rbp] + mov r13,QWORD PTR[72+rsp] + mov r15,QWORD PTR[48+rsp] mov r12,r13 ror r13,7 @@ -1226,9 +1226,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[8+rsp] + add r12,QWORD PTR[8+rsp] - add r12,QWORD PTR[64+rsp] + add r12,QWORD PTR[64+rsp] mov r13,r8 add r12,r15 mov r14,rax @@ -1239,7 +1239,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,r10 - mov QWORD PTR[64+rsp],r12 + mov QWORD PTR[64+rsp],r12 xor r14,rax and r15,r8 @@ -1252,7 +1252,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,rax - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rax xor r15,rbx @@ -1267,9 +1267,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,QWORD PTR[8+rbp] + mov r13,QWORD PTR[80+rsp] + mov rdi,QWORD PTR[56+rsp] mov r12,r13 ror r13,7 @@ -1286,9 +1286,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[16+rsp] + add r12,QWORD PTR[16+rsp] - add r12,QWORD PTR[72+rsp] + add r12,QWORD PTR[72+rsp] mov r13,rdx add r12,rdi mov r14,r11 @@ -1299,7 +1299,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,r9 - mov QWORD PTR[72+rsp],r12 + mov QWORD PTR[72+rsp],r12 xor r14,r11 and rdi,rdx @@ -1312,7 +1312,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,r11 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r11 xor rdi,rax @@ -1327,9 +1327,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,QWORD PTR[24+rbp] + mov r13,QWORD PTR[88+rsp] + mov r15,QWORD PTR[64+rsp] mov r12,r13 ror r13,7 @@ -1346,9 +1346,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[24+rsp] + add r12,QWORD PTR[24+rsp] - add r12,QWORD PTR[80+rsp] + add r12,QWORD PTR[80+rsp] mov r13,rcx add r12,r15 mov r14,r10 @@ -1359,7 +1359,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,r8 - mov QWORD PTR[80+rsp],r12 + mov QWORD PTR[80+rsp],r12 xor r14,r10 and r15,rcx @@ -1372,7 +1372,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,r10 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r10 xor r15,r11 @@ -1387,9 +1387,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,QWORD PTR[8+rbp] + mov r13,QWORD PTR[96+rsp] + mov rdi,QWORD PTR[72+rsp] mov r12,r13 ror r13,7 @@ -1406,9 +1406,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[32+rsp] + add r12,QWORD PTR[32+rsp] - add r12,QWORD PTR[88+rsp] + add r12,QWORD PTR[88+rsp] mov r13,rbx add r12,rdi mov r14,r9 @@ -1419,7 +1419,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,rdx - mov QWORD PTR[88+rsp],r12 + mov QWORD PTR[88+rsp],r12 xor r14,r9 and rdi,rbx @@ -1432,7 +1432,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,r9 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r9 xor rdi,r10 @@ -1447,9 +1447,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,QWORD PTR[24+rbp] + mov r13,QWORD PTR[104+rsp] + mov r15,QWORD PTR[80+rsp] mov r12,r13 ror r13,7 @@ -1466,9 +1466,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[40+rsp] + add r12,QWORD PTR[40+rsp] - add r12,QWORD PTR[96+rsp] + add r12,QWORD PTR[96+rsp] mov r13,rax add r12,r15 mov r14,r8 @@ -1479,7 +1479,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,rcx - mov QWORD PTR[96+rsp],r12 + mov QWORD PTR[96+rsp],r12 xor r14,r8 and r15,rax @@ -1492,7 +1492,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,r8 - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,r8 xor r15,r9 @@ -1507,9 +1507,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,QWORD PTR[8+rbp] + mov r13,QWORD PTR[112+rsp] + mov rdi,QWORD PTR[88+rsp] mov r12,r13 ror r13,7 @@ -1526,9 +1526,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[48+rsp] + add r12,QWORD PTR[48+rsp] - add r12,QWORD PTR[104+rsp] + add r12,QWORD PTR[104+rsp] mov r13,r11 add r12,rdi mov r14,rdx @@ -1539,7 +1539,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,rbx - mov QWORD PTR[104+rsp],r12 + mov QWORD PTR[104+rsp],r12 xor r14,rdx and rdi,r11 @@ -1552,7 +1552,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,rdx - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rdx xor rdi,r8 @@ -1567,9 +1567,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,QWORD PTR[24+rbp] + mov r13,QWORD PTR[120+rsp] + mov r15,QWORD PTR[96+rsp] mov r12,r13 ror r13,7 @@ -1586,9 +1586,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[56+rsp] + add r12,QWORD PTR[56+rsp] - add r12,QWORD PTR[112+rsp] + add r12,QWORD PTR[112+rsp] mov r13,r10 add r12,r15 mov r14,rcx @@ -1599,7 +1599,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,rax - mov QWORD PTR[112+rsp],r12 + mov QWORD PTR[112+rsp],r12 xor r14,rcx and r15,r10 @@ -1612,7 +1612,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,rcx - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rcx xor r15,rdx @@ -1627,9 +1627,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,QWORD PTR[8+rbp] + mov r13,QWORD PTR[rsp] + mov rdi,QWORD PTR[104+rsp] mov r12,r13 ror r13,7 @@ -1646,9 +1646,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[64+rsp] + add r12,QWORD PTR[64+rsp] - add r12,QWORD PTR[120+rsp] + add r12,QWORD PTR[120+rsp] mov r13,r9 add r12,rdi mov r14,rbx @@ -1659,7 +1659,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,r11 - mov QWORD PTR[120+rsp],r12 + mov QWORD PTR[120+rsp],r12 xor r14,rbx and rdi,r9 @@ -1672,7 +1672,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,rbx - add r12,QWORD PTR[rbp] + add r12,QWORD PTR[rbp] xor r14,rbx xor rdi,rcx @@ -1687,144 +1687,144 @@ $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,QWORD PTR[24+rbp] + cmp BYTE PTR[7+rbp],0 + jnz $L$rounds_16_xx - mov rdi,QWORD PTR[((128+0))+rsp] + mov rdi,QWORD PTR[((128+0))+rsp] add rax,r14 - lea rsi,QWORD PTR[128+rsi] + 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] + 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] + 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 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[152+rsp] + mov rsi,QWORD PTR[152+rsp] - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[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:: +sha512_block_data_order ENDP 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 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 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 @@ -1832,18 +1832,18 @@ DB 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 DB 111,114,103,62,0 ALIGN 64 -sha512_block_data_order_xop PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha512_block_data_order_xop PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha512_block_data_order_xop:: +$L$SEH_begin_sha512_block_data_order_xop:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -$L$xop_shortcut:: +$L$xop_shortcut:: mov rax,rsp push rbx @@ -1860,75 +1860,75 @@ $L$xop_shortcut:: shl rdx,4 sub rsp,256 - lea rdx,QWORD PTR[rdx*8+rsi] + lea rdx,QWORD PTR[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[152+rsp],rax - - movaps XMMWORD PTR[(128+32)+rsp],xmm6 - movaps XMMWORD PTR[(128+48)+rsp],xmm7 - movaps XMMWORD PTR[(128+64)+rsp],xmm8 - movaps XMMWORD PTR[(128+80)+rsp],xmm9 - movaps XMMWORD PTR[(128+96)+rsp],xmm10 - movaps XMMWORD PTR[(128+112)+rsp],xmm11 -$L$prologue_xop:: + mov QWORD PTR[((128+0))+rsp],rdi + mov QWORD PTR[((128+8))+rsp],rsi + mov QWORD PTR[((128+16))+rsp],rdx + mov QWORD PTR[152+rsp],rax + + movaps XMMWORD PTR[(128+32)+rsp],xmm6 + movaps XMMWORD PTR[(128+48)+rsp],xmm7 + movaps XMMWORD PTR[(128+64)+rsp],xmm8 + movaps XMMWORD PTR[(128+80)+rsp],xmm9 + movaps XMMWORD PTR[(128+96)+rsp],xmm10 + movaps XMMWORD PTR[(128+112)+rsp],xmm11 +$L$prologue_xop:: vzeroupper - 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_xop + 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_xop ALIGN 16 -$L$loop_xop:: - vmovdqa xmm11,XMMWORD PTR[((K512+1280))] - vmovdqu xmm0,XMMWORD PTR[rsi] - lea rbp,QWORD PTR[((K512+128))] - vmovdqu xmm1,XMMWORD PTR[16+rsi] - vmovdqu xmm2,XMMWORD PTR[32+rsi] +$L$loop_xop:: + vmovdqa xmm11,XMMWORD PTR[((K512+1280))] + vmovdqu xmm0,XMMWORD PTR[rsi] + lea rbp,QWORD PTR[((K512+128))] + vmovdqu xmm1,XMMWORD PTR[16+rsi] + vmovdqu xmm2,XMMWORD PTR[32+rsi] vpshufb xmm0,xmm0,xmm11 - vmovdqu xmm3,XMMWORD PTR[48+rsi] + vmovdqu xmm3,XMMWORD PTR[48+rsi] vpshufb xmm1,xmm1,xmm11 - vmovdqu xmm4,XMMWORD PTR[64+rsi] + vmovdqu xmm4,XMMWORD PTR[64+rsi] vpshufb xmm2,xmm2,xmm11 - vmovdqu xmm5,XMMWORD PTR[80+rsi] + vmovdqu xmm5,XMMWORD PTR[80+rsi] vpshufb xmm3,xmm3,xmm11 - vmovdqu xmm6,XMMWORD PTR[96+rsi] + vmovdqu xmm6,XMMWORD PTR[96+rsi] vpshufb xmm4,xmm4,xmm11 - vmovdqu xmm7,XMMWORD PTR[112+rsi] + vmovdqu xmm7,XMMWORD PTR[112+rsi] vpshufb xmm5,xmm5,xmm11 - vpaddq xmm8,xmm0,XMMWORD PTR[((-128))+rbp] + vpaddq xmm8,xmm0,XMMWORD PTR[((-128))+rbp] vpshufb xmm6,xmm6,xmm11 - vpaddq xmm9,xmm1,XMMWORD PTR[((-96))+rbp] + vpaddq xmm9,xmm1,XMMWORD PTR[((-96))+rbp] vpshufb xmm7,xmm7,xmm11 - vpaddq xmm10,xmm2,XMMWORD PTR[((-64))+rbp] - vpaddq xmm11,xmm3,XMMWORD PTR[((-32))+rbp] - vmovdqa XMMWORD PTR[rsp],xmm8 - vpaddq xmm8,xmm4,XMMWORD PTR[rbp] - vmovdqa XMMWORD PTR[16+rsp],xmm9 - vpaddq xmm9,xmm5,XMMWORD PTR[32+rbp] - vmovdqa XMMWORD PTR[32+rsp],xmm10 - vpaddq xmm10,xmm6,XMMWORD PTR[64+rbp] - vmovdqa XMMWORD PTR[48+rsp],xmm11 - vpaddq xmm11,xmm7,XMMWORD PTR[96+rbp] - vmovdqa XMMWORD PTR[64+rsp],xmm8 + vpaddq xmm10,xmm2,XMMWORD PTR[((-64))+rbp] + vpaddq xmm11,xmm3,XMMWORD PTR[((-32))+rbp] + vmovdqa XMMWORD PTR[rsp],xmm8 + vpaddq xmm8,xmm4,XMMWORD PTR[rbp] + vmovdqa XMMWORD PTR[16+rsp],xmm9 + vpaddq xmm9,xmm5,XMMWORD PTR[32+rbp] + vmovdqa XMMWORD PTR[32+rsp],xmm10 + vpaddq xmm10,xmm6,XMMWORD PTR[64+rbp] + vmovdqa XMMWORD PTR[48+rsp],xmm11 + vpaddq xmm11,xmm7,XMMWORD PTR[96+rbp] + vmovdqa XMMWORD PTR[64+rsp],xmm8 mov r14,rax - vmovdqa XMMWORD PTR[80+rsp],xmm9 + vmovdqa XMMWORD PTR[80+rsp],xmm9 mov rdi,rbx - vmovdqa XMMWORD PTR[96+rsp],xmm10 + vmovdqa XMMWORD PTR[96+rsp],xmm10 xor rdi,rcx - vmovdqa XMMWORD PTR[112+rsp],xmm11 + vmovdqa XMMWORD PTR[112+rsp],xmm11 mov r13,r8 - jmp $L$xop_00_47 + jmp $L$xop_00_47 ALIGN 16 -$L$xop_00_47:: +$L$xop_00_47:: add rbp,256 vpalignr xmm8,xmm1,xmm0,8 ror r13,23 @@ -1945,7 +1945,7 @@ DB 143,72,120,195,200,56 vpaddq xmm0,xmm0,xmm11 and r12,r8 xor r13,r8 - add r11,QWORD PTR[rsp] + add r11,QWORD PTR[rsp] mov r15,rax DB 143,72,120,195,209,7 xor r12,r10 @@ -1981,11 +1981,11 @@ DB 143,72,120,195,203,42 and r12,rdx xor r13,rdx vpaddq xmm0,xmm0,xmm11 - add r10,QWORD PTR[8+rsp] + add r10,QWORD PTR[8+rsp] mov rdi,r11 xor r12,r9 ror r14,6 - vpaddq xmm10,xmm0,XMMWORD PTR[((-128))+rbp] + vpaddq xmm10,xmm0,XMMWORD PTR[((-128))+rbp] xor rdi,rax add r10,r12 ror r13,14 @@ -1998,7 +1998,7 @@ DB 143,72,120,195,203,42 add r10,r15 mov r13,rcx add r14,r10 - vmovdqa XMMWORD PTR[rsp],xmm10 + vmovdqa XMMWORD PTR[rsp],xmm10 vpalignr xmm8,xmm2,xmm1,8 ror r13,23 mov r10,r14 @@ -2014,7 +2014,7 @@ DB 143,72,120,195,200,56 vpaddq xmm1,xmm1,xmm11 and r12,rcx xor r13,rcx - add r9,QWORD PTR[16+rsp] + add r9,QWORD PTR[16+rsp] mov r15,r10 DB 143,72,120,195,209,7 xor r12,r8 @@ -2050,11 +2050,11 @@ DB 143,72,120,195,203,42 and r12,rbx xor r13,rbx vpaddq xmm1,xmm1,xmm11 - add r8,QWORD PTR[24+rsp] + add r8,QWORD PTR[24+rsp] mov rdi,r9 xor r12,rdx ror r14,6 - vpaddq xmm10,xmm1,XMMWORD PTR[((-96))+rbp] + vpaddq xmm10,xmm1,XMMWORD PTR[((-96))+rbp] xor rdi,r10 add r8,r12 ror r13,14 @@ -2067,7 +2067,7 @@ DB 143,72,120,195,203,42 add r8,r15 mov r13,rax add r14,r8 - vmovdqa XMMWORD PTR[16+rsp],xmm10 + vmovdqa XMMWORD PTR[16+rsp],xmm10 vpalignr xmm8,xmm3,xmm2,8 ror r13,23 mov r8,r14 @@ -2083,7 +2083,7 @@ DB 143,72,120,195,200,56 vpaddq xmm2,xmm2,xmm11 and r12,rax xor r13,rax - add rdx,QWORD PTR[32+rsp] + add rdx,QWORD PTR[32+rsp] mov r15,r8 DB 143,72,120,195,209,7 xor r12,rcx @@ -2119,11 +2119,11 @@ DB 143,72,120,195,203,42 and r12,r11 xor r13,r11 vpaddq xmm2,xmm2,xmm11 - add rcx,QWORD PTR[40+rsp] + add rcx,QWORD PTR[40+rsp] mov rdi,rdx xor r12,rbx ror r14,6 - vpaddq xmm10,xmm2,XMMWORD PTR[((-64))+rbp] + vpaddq xmm10,xmm2,XMMWORD PTR[((-64))+rbp] xor rdi,r8 add rcx,r12 ror r13,14 @@ -2136,7 +2136,7 @@ DB 143,72,120,195,203,42 add rcx,r15 mov r13,r10 add r14,rcx - vmovdqa XMMWORD PTR[32+rsp],xmm10 + vmovdqa XMMWORD PTR[32+rsp],xmm10 vpalignr xmm8,xmm4,xmm3,8 ror r13,23 mov rcx,r14 @@ -2152,7 +2152,7 @@ DB 143,72,120,195,200,56 vpaddq xmm3,xmm3,xmm11 and r12,r10 xor r13,r10 - add rbx,QWORD PTR[48+rsp] + add rbx,QWORD PTR[48+rsp] mov r15,rcx DB 143,72,120,195,209,7 xor r12,rax @@ -2188,11 +2188,11 @@ DB 143,72,120,195,203,42 and r12,r9 xor r13,r9 vpaddq xmm3,xmm3,xmm11 - add rax,QWORD PTR[56+rsp] + add rax,QWORD PTR[56+rsp] mov rdi,rbx xor r12,r11 ror r14,6 - vpaddq xmm10,xmm3,XMMWORD PTR[((-32))+rbp] + vpaddq xmm10,xmm3,XMMWORD PTR[((-32))+rbp] xor rdi,rcx add rax,r12 ror r13,14 @@ -2205,7 +2205,7 @@ DB 143,72,120,195,203,42 add rax,r15 mov r13,r8 add r14,rax - vmovdqa XMMWORD PTR[48+rsp],xmm10 + vmovdqa XMMWORD PTR[48+rsp],xmm10 vpalignr xmm8,xmm5,xmm4,8 ror r13,23 mov rax,r14 @@ -2221,7 +2221,7 @@ DB 143,72,120,195,200,56 vpaddq xmm4,xmm4,xmm11 and r12,r8 xor r13,r8 - add r11,QWORD PTR[64+rsp] + add r11,QWORD PTR[64+rsp] mov r15,rax DB 143,72,120,195,209,7 xor r12,r10 @@ -2257,11 +2257,11 @@ DB 143,72,120,195,203,42 and r12,rdx xor r13,rdx vpaddq xmm4,xmm4,xmm11 - add r10,QWORD PTR[72+rsp] + add r10,QWORD PTR[72+rsp] mov rdi,r11 xor r12,r9 ror r14,6 - vpaddq xmm10,xmm4,XMMWORD PTR[rbp] + vpaddq xmm10,xmm4,XMMWORD PTR[rbp] xor rdi,rax add r10,r12 ror r13,14 @@ -2274,7 +2274,7 @@ DB 143,72,120,195,203,42 add r10,r15 mov r13,rcx add r14,r10 - vmovdqa XMMWORD PTR[64+rsp],xmm10 + vmovdqa XMMWORD PTR[64+rsp],xmm10 vpalignr xmm8,xmm6,xmm5,8 ror r13,23 mov r10,r14 @@ -2290,7 +2290,7 @@ DB 143,72,120,195,200,56 vpaddq xmm5,xmm5,xmm11 and r12,rcx xor r13,rcx - add r9,QWORD PTR[80+rsp] + add r9,QWORD PTR[80+rsp] mov r15,r10 DB 143,72,120,195,209,7 xor r12,r8 @@ -2326,11 +2326,11 @@ DB 143,72,120,195,203,42 and r12,rbx xor r13,rbx vpaddq xmm5,xmm5,xmm11 - add r8,QWORD PTR[88+rsp] + add r8,QWORD PTR[88+rsp] mov rdi,r9 xor r12,rdx ror r14,6 - vpaddq xmm10,xmm5,XMMWORD PTR[32+rbp] + vpaddq xmm10,xmm5,XMMWORD PTR[32+rbp] xor rdi,r10 add r8,r12 ror r13,14 @@ -2343,7 +2343,7 @@ DB 143,72,120,195,203,42 add r8,r15 mov r13,rax add r14,r8 - vmovdqa XMMWORD PTR[80+rsp],xmm10 + vmovdqa XMMWORD PTR[80+rsp],xmm10 vpalignr xmm8,xmm7,xmm6,8 ror r13,23 mov r8,r14 @@ -2359,7 +2359,7 @@ DB 143,72,120,195,200,56 vpaddq xmm6,xmm6,xmm11 and r12,rax xor r13,rax - add rdx,QWORD PTR[96+rsp] + add rdx,QWORD PTR[96+rsp] mov r15,r8 DB 143,72,120,195,209,7 xor r12,rcx @@ -2395,11 +2395,11 @@ DB 143,72,120,195,203,42 and r12,r11 xor r13,r11 vpaddq xmm6,xmm6,xmm11 - add rcx,QWORD PTR[104+rsp] + add rcx,QWORD PTR[104+rsp] mov rdi,rdx xor r12,rbx ror r14,6 - vpaddq xmm10,xmm6,XMMWORD PTR[64+rbp] + vpaddq xmm10,xmm6,XMMWORD PTR[64+rbp] xor rdi,r8 add rcx,r12 ror r13,14 @@ -2412,7 +2412,7 @@ DB 143,72,120,195,203,42 add rcx,r15 mov r13,r10 add r14,rcx - vmovdqa XMMWORD PTR[96+rsp],xmm10 + vmovdqa XMMWORD PTR[96+rsp],xmm10 vpalignr xmm8,xmm0,xmm7,8 ror r13,23 mov rcx,r14 @@ -2428,7 +2428,7 @@ DB 143,72,120,195,200,56 vpaddq xmm7,xmm7,xmm11 and r12,r10 xor r13,r10 - add rbx,QWORD PTR[112+rsp] + add rbx,QWORD PTR[112+rsp] mov r15,rcx DB 143,72,120,195,209,7 xor r12,rax @@ -2464,11 +2464,11 @@ DB 143,72,120,195,203,42 and r12,r9 xor r13,r9 vpaddq xmm7,xmm7,xmm11 - add rax,QWORD PTR[120+rsp] + add rax,QWORD PTR[120+rsp] mov rdi,rbx xor r12,r11 ror r14,6 - vpaddq xmm10,xmm7,XMMWORD PTR[96+rbp] + vpaddq xmm10,xmm7,XMMWORD PTR[96+rbp] xor rdi,rcx add rax,r12 ror r13,14 @@ -2481,9 +2481,9 @@ DB 143,72,120,195,203,42 add rax,r15 mov r13,r8 add r14,rax - vmovdqa XMMWORD PTR[112+rsp],xmm10 - cmp BYTE PTR[135+rbp],0 - jne $L$xop_00_47 + vmovdqa XMMWORD PTR[112+rsp],xmm10 + cmp BYTE PTR[135+rbp],0 + jne $L$xop_00_47 ror r13,23 mov rax,r14 mov r12,r9 @@ -2494,7 +2494,7 @@ DB 143,72,120,195,203,42 xor r14,rax and r12,r8 xor r13,r8 - add r11,QWORD PTR[rsp] + add r11,QWORD PTR[rsp] mov r15,rax xor r12,r10 ror r14,6 @@ -2520,7 +2520,7 @@ DB 143,72,120,195,203,42 xor r14,r11 and r12,rdx xor r13,rdx - add r10,QWORD PTR[8+rsp] + add r10,QWORD PTR[8+rsp] mov rdi,r11 xor r12,r9 ror r14,6 @@ -2546,7 +2546,7 @@ DB 143,72,120,195,203,42 xor r14,r10 and r12,rcx xor r13,rcx - add r9,QWORD PTR[16+rsp] + add r9,QWORD PTR[16+rsp] mov r15,r10 xor r12,r8 ror r14,6 @@ -2572,7 +2572,7 @@ DB 143,72,120,195,203,42 xor r14,r9 and r12,rbx xor r13,rbx - add r8,QWORD PTR[24+rsp] + add r8,QWORD PTR[24+rsp] mov rdi,r9 xor r12,rdx ror r14,6 @@ -2598,7 +2598,7 @@ DB 143,72,120,195,203,42 xor r14,r8 and r12,rax xor r13,rax - add rdx,QWORD PTR[32+rsp] + add rdx,QWORD PTR[32+rsp] mov r15,r8 xor r12,rcx ror r14,6 @@ -2624,7 +2624,7 @@ DB 143,72,120,195,203,42 xor r14,rdx and r12,r11 xor r13,r11 - add rcx,QWORD PTR[40+rsp] + add rcx,QWORD PTR[40+rsp] mov rdi,rdx xor r12,rbx ror r14,6 @@ -2650,7 +2650,7 @@ DB 143,72,120,195,203,42 xor r14,rcx and r12,r10 xor r13,r10 - add rbx,QWORD PTR[48+rsp] + add rbx,QWORD PTR[48+rsp] mov r15,rcx xor r12,rax ror r14,6 @@ -2676,7 +2676,7 @@ DB 143,72,120,195,203,42 xor r14,rbx and r12,r9 xor r13,r9 - add rax,QWORD PTR[56+rsp] + add rax,QWORD PTR[56+rsp] mov rdi,rbx xor r12,r11 ror r14,6 @@ -2702,7 +2702,7 @@ DB 143,72,120,195,203,42 xor r14,rax and r12,r8 xor r13,r8 - add r11,QWORD PTR[64+rsp] + add r11,QWORD PTR[64+rsp] mov r15,rax xor r12,r10 ror r14,6 @@ -2728,7 +2728,7 @@ DB 143,72,120,195,203,42 xor r14,r11 and r12,rdx xor r13,rdx - add r10,QWORD PTR[72+rsp] + add r10,QWORD PTR[72+rsp] mov rdi,r11 xor r12,r9 ror r14,6 @@ -2754,7 +2754,7 @@ DB 143,72,120,195,203,42 xor r14,r10 and r12,rcx xor r13,rcx - add r9,QWORD PTR[80+rsp] + add r9,QWORD PTR[80+rsp] mov r15,r10 xor r12,r8 ror r14,6 @@ -2780,7 +2780,7 @@ DB 143,72,120,195,203,42 xor r14,r9 and r12,rbx xor r13,rbx - add r8,QWORD PTR[88+rsp] + add r8,QWORD PTR[88+rsp] mov rdi,r9 xor r12,rdx ror r14,6 @@ -2806,7 +2806,7 @@ DB 143,72,120,195,203,42 xor r14,r8 and r12,rax xor r13,rax - add rdx,QWORD PTR[96+rsp] + add rdx,QWORD PTR[96+rsp] mov r15,r8 xor r12,rcx ror r14,6 @@ -2832,7 +2832,7 @@ DB 143,72,120,195,203,42 xor r14,rdx and r12,r11 xor r13,r11 - add rcx,QWORD PTR[104+rsp] + add rcx,QWORD PTR[104+rsp] mov rdi,rdx xor r12,rbx ror r14,6 @@ -2858,7 +2858,7 @@ DB 143,72,120,195,203,42 xor r14,rcx and r12,r10 xor r13,r10 - add rbx,QWORD PTR[112+rsp] + add rbx,QWORD PTR[112+rsp] mov r15,rcx xor r12,rax ror r14,6 @@ -2884,7 +2884,7 @@ DB 143,72,120,195,203,42 xor r14,rbx and r12,r9 xor r13,r9 - add rax,QWORD PTR[120+rsp] + add rax,QWORD PTR[120+rsp] mov rdi,rbx xor r12,r11 ror r14,6 @@ -2900,75 +2900,75 @@ DB 143,72,120,195,203,42 add rax,r15 mov r13,r8 add r14,rax - mov rdi,QWORD PTR[((128+0))+rsp] + mov rdi,QWORD PTR[((128+0))+rsp] mov rax,r14 - add rax,QWORD PTR[rdi] - lea rsi,QWORD PTR[128+rsi] - 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_xop - - mov rsi,QWORD PTR[152+rsp] + add rax,QWORD PTR[rdi] + lea rsi,QWORD PTR[128+rsi] + 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_xop + + mov rsi,QWORD PTR[152+rsp] vzeroupper - movaps xmm6,XMMWORD PTR[((128+32))+rsp] - movaps xmm7,XMMWORD PTR[((128+48))+rsp] - movaps xmm8,XMMWORD PTR[((128+64))+rsp] - movaps xmm9,XMMWORD PTR[((128+80))+rsp] - movaps xmm10,XMMWORD PTR[((128+96))+rsp] - movaps xmm11,XMMWORD PTR[((128+112))+rsp] - mov r15,QWORD PTR[((-48))+rsi] + movaps xmm6,XMMWORD PTR[((128+32))+rsp] + movaps xmm7,XMMWORD PTR[((128+48))+rsp] + movaps xmm8,XMMWORD PTR[((128+64))+rsp] + movaps xmm9,XMMWORD PTR[((128+80))+rsp] + movaps xmm10,XMMWORD PTR[((128+96))+rsp] + movaps xmm11,XMMWORD PTR[((128+112))+rsp] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$epilogue_xop:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_xop:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha512_block_data_order_xop:: -sha512_block_data_order_xop ENDP +$L$SEH_end_sha512_block_data_order_xop:: +sha512_block_data_order_xop ENDP ALIGN 64 -sha512_block_data_order_avx PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha512_block_data_order_avx PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha512_block_data_order_avx:: +$L$SEH_begin_sha512_block_data_order_avx:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -$L$avx_shortcut:: +$L$avx_shortcut:: mov rax,rsp push rbx @@ -2985,75 +2985,75 @@ $L$avx_shortcut:: shl rdx,4 sub rsp,256 - lea rdx,QWORD PTR[rdx*8+rsi] + lea rdx,QWORD PTR[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[152+rsp],rax - - movaps XMMWORD PTR[(128+32)+rsp],xmm6 - movaps XMMWORD PTR[(128+48)+rsp],xmm7 - movaps XMMWORD PTR[(128+64)+rsp],xmm8 - movaps XMMWORD PTR[(128+80)+rsp],xmm9 - movaps XMMWORD PTR[(128+96)+rsp],xmm10 - movaps XMMWORD PTR[(128+112)+rsp],xmm11 -$L$prologue_avx:: + mov QWORD PTR[((128+0))+rsp],rdi + mov QWORD PTR[((128+8))+rsp],rsi + mov QWORD PTR[((128+16))+rsp],rdx + mov QWORD PTR[152+rsp],rax + + movaps XMMWORD PTR[(128+32)+rsp],xmm6 + movaps XMMWORD PTR[(128+48)+rsp],xmm7 + movaps XMMWORD PTR[(128+64)+rsp],xmm8 + movaps XMMWORD PTR[(128+80)+rsp],xmm9 + movaps XMMWORD PTR[(128+96)+rsp],xmm10 + movaps XMMWORD PTR[(128+112)+rsp],xmm11 +$L$prologue_avx:: vzeroupper - 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_avx + 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_avx ALIGN 16 -$L$loop_avx:: - vmovdqa xmm11,XMMWORD PTR[((K512+1280))] - vmovdqu xmm0,XMMWORD PTR[rsi] - lea rbp,QWORD PTR[((K512+128))] - vmovdqu xmm1,XMMWORD PTR[16+rsi] - vmovdqu xmm2,XMMWORD PTR[32+rsi] +$L$loop_avx:: + vmovdqa xmm11,XMMWORD PTR[((K512+1280))] + vmovdqu xmm0,XMMWORD PTR[rsi] + lea rbp,QWORD PTR[((K512+128))] + vmovdqu xmm1,XMMWORD PTR[16+rsi] + vmovdqu xmm2,XMMWORD PTR[32+rsi] vpshufb xmm0,xmm0,xmm11 - vmovdqu xmm3,XMMWORD PTR[48+rsi] + vmovdqu xmm3,XMMWORD PTR[48+rsi] vpshufb xmm1,xmm1,xmm11 - vmovdqu xmm4,XMMWORD PTR[64+rsi] + vmovdqu xmm4,XMMWORD PTR[64+rsi] vpshufb xmm2,xmm2,xmm11 - vmovdqu xmm5,XMMWORD PTR[80+rsi] + vmovdqu xmm5,XMMWORD PTR[80+rsi] vpshufb xmm3,xmm3,xmm11 - vmovdqu xmm6,XMMWORD PTR[96+rsi] + vmovdqu xmm6,XMMWORD PTR[96+rsi] vpshufb xmm4,xmm4,xmm11 - vmovdqu xmm7,XMMWORD PTR[112+rsi] + vmovdqu xmm7,XMMWORD PTR[112+rsi] vpshufb xmm5,xmm5,xmm11 - vpaddq xmm8,xmm0,XMMWORD PTR[((-128))+rbp] + vpaddq xmm8,xmm0,XMMWORD PTR[((-128))+rbp] vpshufb xmm6,xmm6,xmm11 - vpaddq xmm9,xmm1,XMMWORD PTR[((-96))+rbp] + vpaddq xmm9,xmm1,XMMWORD PTR[((-96))+rbp] vpshufb xmm7,xmm7,xmm11 - vpaddq xmm10,xmm2,XMMWORD PTR[((-64))+rbp] - vpaddq xmm11,xmm3,XMMWORD PTR[((-32))+rbp] - vmovdqa XMMWORD PTR[rsp],xmm8 - vpaddq xmm8,xmm4,XMMWORD PTR[rbp] - vmovdqa XMMWORD PTR[16+rsp],xmm9 - vpaddq xmm9,xmm5,XMMWORD PTR[32+rbp] - vmovdqa XMMWORD PTR[32+rsp],xmm10 - vpaddq xmm10,xmm6,XMMWORD PTR[64+rbp] - vmovdqa XMMWORD PTR[48+rsp],xmm11 - vpaddq xmm11,xmm7,XMMWORD PTR[96+rbp] - vmovdqa XMMWORD PTR[64+rsp],xmm8 + vpaddq xmm10,xmm2,XMMWORD PTR[((-64))+rbp] + vpaddq xmm11,xmm3,XMMWORD PTR[((-32))+rbp] + vmovdqa XMMWORD PTR[rsp],xmm8 + vpaddq xmm8,xmm4,XMMWORD PTR[rbp] + vmovdqa XMMWORD PTR[16+rsp],xmm9 + vpaddq xmm9,xmm5,XMMWORD PTR[32+rbp] + vmovdqa XMMWORD PTR[32+rsp],xmm10 + vpaddq xmm10,xmm6,XMMWORD PTR[64+rbp] + vmovdqa XMMWORD PTR[48+rsp],xmm11 + vpaddq xmm11,xmm7,XMMWORD PTR[96+rbp] + vmovdqa XMMWORD PTR[64+rsp],xmm8 mov r14,rax - vmovdqa XMMWORD PTR[80+rsp],xmm9 + vmovdqa XMMWORD PTR[80+rsp],xmm9 mov rdi,rbx - vmovdqa XMMWORD PTR[96+rsp],xmm10 + vmovdqa XMMWORD PTR[96+rsp],xmm10 xor rdi,rcx - vmovdqa XMMWORD PTR[112+rsp],xmm11 + vmovdqa XMMWORD PTR[112+rsp],xmm11 mov r13,r8 - jmp $L$avx_00_47 + jmp $L$avx_00_47 ALIGN 16 -$L$avx_00_47:: +$L$avx_00_47:: add rbp,256 vpalignr xmm8,xmm1,xmm0,8 shrd r13,r13,23 @@ -3071,7 +3071,7 @@ $L$avx_00_47:: and r12,r8 xor r13,r8 vpsllq xmm9,xmm8,56 - add r11,QWORD PTR[rsp] + add r11,QWORD PTR[rsp] mov r15,rax vpxor xmm8,xmm11,xmm10 xor r12,r10 @@ -3110,7 +3110,7 @@ $L$avx_00_47:: and r12,rdx xor r13,rdx vpxor xmm11,xmm11,xmm9 - add r10,QWORD PTR[8+rsp] + add r10,QWORD PTR[8+rsp] mov rdi,r11 vpsrlq xmm9,xmm9,42 xor r12,r9 @@ -3124,14 +3124,14 @@ $L$avx_00_47:: vpaddq xmm0,xmm0,xmm11 xor r14,r11 add r10,r13 - vpaddq xmm10,xmm0,XMMWORD PTR[((-128))+rbp] + vpaddq xmm10,xmm0,XMMWORD PTR[((-128))+rbp] xor r15,rax shrd r14,r14,28 add rcx,r10 add r10,r15 mov r13,rcx add r14,r10 - vmovdqa XMMWORD PTR[rsp],xmm10 + vmovdqa XMMWORD PTR[rsp],xmm10 vpalignr xmm8,xmm2,xmm1,8 shrd r13,r13,23 mov r10,r14 @@ -3148,7 +3148,7 @@ $L$avx_00_47:: and r12,rcx xor r13,rcx vpsllq xmm9,xmm8,56 - add r9,QWORD PTR[16+rsp] + add r9,QWORD PTR[16+rsp] mov r15,r10 vpxor xmm8,xmm11,xmm10 xor r12,r8 @@ -3187,7 +3187,7 @@ $L$avx_00_47:: and r12,rbx xor r13,rbx vpxor xmm11,xmm11,xmm9 - add r8,QWORD PTR[24+rsp] + add r8,QWORD PTR[24+rsp] mov rdi,r9 vpsrlq xmm9,xmm9,42 xor r12,rdx @@ -3201,14 +3201,14 @@ $L$avx_00_47:: vpaddq xmm1,xmm1,xmm11 xor r14,r9 add r8,r13 - vpaddq xmm10,xmm1,XMMWORD PTR[((-96))+rbp] + vpaddq xmm10,xmm1,XMMWORD PTR[((-96))+rbp] xor r15,r10 shrd r14,r14,28 add rax,r8 add r8,r15 mov r13,rax add r14,r8 - vmovdqa XMMWORD PTR[16+rsp],xmm10 + vmovdqa XMMWORD PTR[16+rsp],xmm10 vpalignr xmm8,xmm3,xmm2,8 shrd r13,r13,23 mov r8,r14 @@ -3225,7 +3225,7 @@ $L$avx_00_47:: and r12,rax xor r13,rax vpsllq xmm9,xmm8,56 - add rdx,QWORD PTR[32+rsp] + add rdx,QWORD PTR[32+rsp] mov r15,r8 vpxor xmm8,xmm11,xmm10 xor r12,rcx @@ -3264,7 +3264,7 @@ $L$avx_00_47:: and r12,r11 xor r13,r11 vpxor xmm11,xmm11,xmm9 - add rcx,QWORD PTR[40+rsp] + add rcx,QWORD PTR[40+rsp] mov rdi,rdx vpsrlq xmm9,xmm9,42 xor r12,rbx @@ -3278,14 +3278,14 @@ $L$avx_00_47:: vpaddq xmm2,xmm2,xmm11 xor r14,rdx add rcx,r13 - vpaddq xmm10,xmm2,XMMWORD PTR[((-64))+rbp] + vpaddq xmm10,xmm2,XMMWORD PTR[((-64))+rbp] xor r15,r8 shrd r14,r14,28 add r10,rcx add rcx,r15 mov r13,r10 add r14,rcx - vmovdqa XMMWORD PTR[32+rsp],xmm10 + vmovdqa XMMWORD PTR[32+rsp],xmm10 vpalignr xmm8,xmm4,xmm3,8 shrd r13,r13,23 mov rcx,r14 @@ -3302,7 +3302,7 @@ $L$avx_00_47:: and r12,r10 xor r13,r10 vpsllq xmm9,xmm8,56 - add rbx,QWORD PTR[48+rsp] + add rbx,QWORD PTR[48+rsp] mov r15,rcx vpxor xmm8,xmm11,xmm10 xor r12,rax @@ -3341,7 +3341,7 @@ $L$avx_00_47:: and r12,r9 xor r13,r9 vpxor xmm11,xmm11,xmm9 - add rax,QWORD PTR[56+rsp] + add rax,QWORD PTR[56+rsp] mov rdi,rbx vpsrlq xmm9,xmm9,42 xor r12,r11 @@ -3355,14 +3355,14 @@ $L$avx_00_47:: vpaddq xmm3,xmm3,xmm11 xor r14,rbx add rax,r13 - vpaddq xmm10,xmm3,XMMWORD PTR[((-32))+rbp] + vpaddq xmm10,xmm3,XMMWORD PTR[((-32))+rbp] xor r15,rcx shrd r14,r14,28 add r8,rax add rax,r15 mov r13,r8 add r14,rax - vmovdqa XMMWORD PTR[48+rsp],xmm10 + vmovdqa XMMWORD PTR[48+rsp],xmm10 vpalignr xmm8,xmm5,xmm4,8 shrd r13,r13,23 mov rax,r14 @@ -3379,7 +3379,7 @@ $L$avx_00_47:: and r12,r8 xor r13,r8 vpsllq xmm9,xmm8,56 - add r11,QWORD PTR[64+rsp] + add r11,QWORD PTR[64+rsp] mov r15,rax vpxor xmm8,xmm11,xmm10 xor r12,r10 @@ -3418,7 +3418,7 @@ $L$avx_00_47:: and r12,rdx xor r13,rdx vpxor xmm11,xmm11,xmm9 - add r10,QWORD PTR[72+rsp] + add r10,QWORD PTR[72+rsp] mov rdi,r11 vpsrlq xmm9,xmm9,42 xor r12,r9 @@ -3432,14 +3432,14 @@ $L$avx_00_47:: vpaddq xmm4,xmm4,xmm11 xor r14,r11 add r10,r13 - vpaddq xmm10,xmm4,XMMWORD PTR[rbp] + vpaddq xmm10,xmm4,XMMWORD PTR[rbp] xor r15,rax shrd r14,r14,28 add rcx,r10 add r10,r15 mov r13,rcx add r14,r10 - vmovdqa XMMWORD PTR[64+rsp],xmm10 + vmovdqa XMMWORD PTR[64+rsp],xmm10 vpalignr xmm8,xmm6,xmm5,8 shrd r13,r13,23 mov r10,r14 @@ -3456,7 +3456,7 @@ $L$avx_00_47:: and r12,rcx xor r13,rcx vpsllq xmm9,xmm8,56 - add r9,QWORD PTR[80+rsp] + add r9,QWORD PTR[80+rsp] mov r15,r10 vpxor xmm8,xmm11,xmm10 xor r12,r8 @@ -3495,7 +3495,7 @@ $L$avx_00_47:: and r12,rbx xor r13,rbx vpxor xmm11,xmm11,xmm9 - add r8,QWORD PTR[88+rsp] + add r8,QWORD PTR[88+rsp] mov rdi,r9 vpsrlq xmm9,xmm9,42 xor r12,rdx @@ -3509,14 +3509,14 @@ $L$avx_00_47:: vpaddq xmm5,xmm5,xmm11 xor r14,r9 add r8,r13 - vpaddq xmm10,xmm5,XMMWORD PTR[32+rbp] + vpaddq xmm10,xmm5,XMMWORD PTR[32+rbp] xor r15,r10 shrd r14,r14,28 add rax,r8 add r8,r15 mov r13,rax add r14,r8 - vmovdqa XMMWORD PTR[80+rsp],xmm10 + vmovdqa XMMWORD PTR[80+rsp],xmm10 vpalignr xmm8,xmm7,xmm6,8 shrd r13,r13,23 mov r8,r14 @@ -3533,7 +3533,7 @@ $L$avx_00_47:: and r12,rax xor r13,rax vpsllq xmm9,xmm8,56 - add rdx,QWORD PTR[96+rsp] + add rdx,QWORD PTR[96+rsp] mov r15,r8 vpxor xmm8,xmm11,xmm10 xor r12,rcx @@ -3572,7 +3572,7 @@ $L$avx_00_47:: and r12,r11 xor r13,r11 vpxor xmm11,xmm11,xmm9 - add rcx,QWORD PTR[104+rsp] + add rcx,QWORD PTR[104+rsp] mov rdi,rdx vpsrlq xmm9,xmm9,42 xor r12,rbx @@ -3586,14 +3586,14 @@ $L$avx_00_47:: vpaddq xmm6,xmm6,xmm11 xor r14,rdx add rcx,r13 - vpaddq xmm10,xmm6,XMMWORD PTR[64+rbp] + vpaddq xmm10,xmm6,XMMWORD PTR[64+rbp] xor r15,r8 shrd r14,r14,28 add r10,rcx add rcx,r15 mov r13,r10 add r14,rcx - vmovdqa XMMWORD PTR[96+rsp],xmm10 + vmovdqa XMMWORD PTR[96+rsp],xmm10 vpalignr xmm8,xmm0,xmm7,8 shrd r13,r13,23 mov rcx,r14 @@ -3610,7 +3610,7 @@ $L$avx_00_47:: and r12,r10 xor r13,r10 vpsllq xmm9,xmm8,56 - add rbx,QWORD PTR[112+rsp] + add rbx,QWORD PTR[112+rsp] mov r15,rcx vpxor xmm8,xmm11,xmm10 xor r12,rax @@ -3649,7 +3649,7 @@ $L$avx_00_47:: and r12,r9 xor r13,r9 vpxor xmm11,xmm11,xmm9 - add rax,QWORD PTR[120+rsp] + add rax,QWORD PTR[120+rsp] mov rdi,rbx vpsrlq xmm9,xmm9,42 xor r12,r11 @@ -3663,16 +3663,16 @@ $L$avx_00_47:: vpaddq xmm7,xmm7,xmm11 xor r14,rbx add rax,r13 - vpaddq xmm10,xmm7,XMMWORD PTR[96+rbp] + vpaddq xmm10,xmm7,XMMWORD PTR[96+rbp] xor r15,rcx shrd r14,r14,28 add r8,rax add rax,r15 mov r13,r8 add r14,rax - vmovdqa XMMWORD PTR[112+rsp],xmm10 - cmp BYTE PTR[135+rbp],0 - jne $L$avx_00_47 + vmovdqa XMMWORD PTR[112+rsp],xmm10 + cmp BYTE PTR[135+rbp],0 + jne $L$avx_00_47 shrd r13,r13,23 mov rax,r14 mov r12,r9 @@ -3683,7 +3683,7 @@ $L$avx_00_47:: xor r14,rax and r12,r8 xor r13,r8 - add r11,QWORD PTR[rsp] + add r11,QWORD PTR[rsp] mov r15,rax xor r12,r10 shrd r14,r14,6 @@ -3709,7 +3709,7 @@ $L$avx_00_47:: xor r14,r11 and r12,rdx xor r13,rdx - add r10,QWORD PTR[8+rsp] + add r10,QWORD PTR[8+rsp] mov rdi,r11 xor r12,r9 shrd r14,r14,6 @@ -3735,7 +3735,7 @@ $L$avx_00_47:: xor r14,r10 and r12,rcx xor r13,rcx - add r9,QWORD PTR[16+rsp] + add r9,QWORD PTR[16+rsp] mov r15,r10 xor r12,r8 shrd r14,r14,6 @@ -3761,7 +3761,7 @@ $L$avx_00_47:: xor r14,r9 and r12,rbx xor r13,rbx - add r8,QWORD PTR[24+rsp] + add r8,QWORD PTR[24+rsp] mov rdi,r9 xor r12,rdx shrd r14,r14,6 @@ -3787,7 +3787,7 @@ $L$avx_00_47:: xor r14,r8 and r12,rax xor r13,rax - add rdx,QWORD PTR[32+rsp] + add rdx,QWORD PTR[32+rsp] mov r15,r8 xor r12,rcx shrd r14,r14,6 @@ -3813,7 +3813,7 @@ $L$avx_00_47:: xor r14,rdx and r12,r11 xor r13,r11 - add rcx,QWORD PTR[40+rsp] + add rcx,QWORD PTR[40+rsp] mov rdi,rdx xor r12,rbx shrd r14,r14,6 @@ -3839,7 +3839,7 @@ $L$avx_00_47:: xor r14,rcx and r12,r10 xor r13,r10 - add rbx,QWORD PTR[48+rsp] + add rbx,QWORD PTR[48+rsp] mov r15,rcx xor r12,rax shrd r14,r14,6 @@ -3865,7 +3865,7 @@ $L$avx_00_47:: xor r14,rbx and r12,r9 xor r13,r9 - add rax,QWORD PTR[56+rsp] + add rax,QWORD PTR[56+rsp] mov rdi,rbx xor r12,r11 shrd r14,r14,6 @@ -3891,7 +3891,7 @@ $L$avx_00_47:: xor r14,rax and r12,r8 xor r13,r8 - add r11,QWORD PTR[64+rsp] + add r11,QWORD PTR[64+rsp] mov r15,rax xor r12,r10 shrd r14,r14,6 @@ -3917,7 +3917,7 @@ $L$avx_00_47:: xor r14,r11 and r12,rdx xor r13,rdx - add r10,QWORD PTR[72+rsp] + add r10,QWORD PTR[72+rsp] mov rdi,r11 xor r12,r9 shrd r14,r14,6 @@ -3943,7 +3943,7 @@ $L$avx_00_47:: xor r14,r10 and r12,rcx xor r13,rcx - add r9,QWORD PTR[80+rsp] + add r9,QWORD PTR[80+rsp] mov r15,r10 xor r12,r8 shrd r14,r14,6 @@ -3969,7 +3969,7 @@ $L$avx_00_47:: xor r14,r9 and r12,rbx xor r13,rbx - add r8,QWORD PTR[88+rsp] + add r8,QWORD PTR[88+rsp] mov rdi,r9 xor r12,rdx shrd r14,r14,6 @@ -3995,7 +3995,7 @@ $L$avx_00_47:: xor r14,r8 and r12,rax xor r13,rax - add rdx,QWORD PTR[96+rsp] + add rdx,QWORD PTR[96+rsp] mov r15,r8 xor r12,rcx shrd r14,r14,6 @@ -4021,7 +4021,7 @@ $L$avx_00_47:: xor r14,rdx and r12,r11 xor r13,r11 - add rcx,QWORD PTR[104+rsp] + add rcx,QWORD PTR[104+rsp] mov rdi,rdx xor r12,rbx shrd r14,r14,6 @@ -4047,7 +4047,7 @@ $L$avx_00_47:: xor r14,rcx and r12,r10 xor r13,r10 - add rbx,QWORD PTR[112+rsp] + add rbx,QWORD PTR[112+rsp] mov r15,rcx xor r12,rax shrd r14,r14,6 @@ -4073,7 +4073,7 @@ $L$avx_00_47:: xor r14,rbx and r12,r9 xor r13,r9 - add rax,QWORD PTR[120+rsp] + add rax,QWORD PTR[120+rsp] mov rdi,rbx xor r12,r11 shrd r14,r14,6 @@ -4089,75 +4089,75 @@ $L$avx_00_47:: add rax,r15 mov r13,r8 add r14,rax - mov rdi,QWORD PTR[((128+0))+rsp] + mov rdi,QWORD PTR[((128+0))+rsp] mov rax,r14 - add rax,QWORD PTR[rdi] - lea rsi,QWORD PTR[128+rsi] - 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_avx - - mov rsi,QWORD PTR[152+rsp] + add rax,QWORD PTR[rdi] + lea rsi,QWORD PTR[128+rsi] + 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_avx + + mov rsi,QWORD PTR[152+rsp] vzeroupper - movaps xmm6,XMMWORD PTR[((128+32))+rsp] - movaps xmm7,XMMWORD PTR[((128+48))+rsp] - movaps xmm8,XMMWORD PTR[((128+64))+rsp] - movaps xmm9,XMMWORD PTR[((128+80))+rsp] - movaps xmm10,XMMWORD PTR[((128+96))+rsp] - movaps xmm11,XMMWORD PTR[((128+112))+rsp] - mov r15,QWORD PTR[((-48))+rsi] + movaps xmm6,XMMWORD PTR[((128+32))+rsp] + movaps xmm7,XMMWORD PTR[((128+48))+rsp] + movaps xmm8,XMMWORD PTR[((128+64))+rsp] + movaps xmm9,XMMWORD PTR[((128+80))+rsp] + movaps xmm10,XMMWORD PTR[((128+96))+rsp] + movaps xmm11,XMMWORD PTR[((128+112))+rsp] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$epilogue_avx:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_avx:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha512_block_data_order_avx:: -sha512_block_data_order_avx ENDP +$L$SEH_end_sha512_block_data_order_avx:: +sha512_block_data_order_avx ENDP ALIGN 64 -sha512_block_data_order_avx2 PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +sha512_block_data_order_avx2 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_sha512_block_data_order_avx2:: +$L$SEH_begin_sha512_block_data_order_avx2:: mov rdi,rcx mov rsi,rdx mov rdx,r8 -$L$avx2_shortcut:: +$L$avx2_shortcut:: mov rax,rsp push rbx @@ -4175,119 +4175,119 @@ $L$avx2_shortcut:: sub rsp,1408 shl rdx,4 and rsp,-256*8 - lea rdx,QWORD PTR[rdx*8+rsi] + lea rdx,QWORD PTR[rdx*8+rsi] add rsp,1152 - mov QWORD PTR[((128+0))+rsp],rdi - mov QWORD PTR[((128+8))+rsp],rsi - mov QWORD PTR[((128+16))+rsp],rdx - mov QWORD PTR[152+rsp],rax - - movaps XMMWORD PTR[(128+32)+rsp],xmm6 - movaps XMMWORD PTR[(128+48)+rsp],xmm7 - movaps XMMWORD PTR[(128+64)+rsp],xmm8 - movaps XMMWORD PTR[(128+80)+rsp],xmm9 - movaps XMMWORD PTR[(128+96)+rsp],xmm10 - movaps XMMWORD PTR[(128+112)+rsp],xmm11 -$L$prologue_avx2:: + mov QWORD PTR[((128+0))+rsp],rdi + mov QWORD PTR[((128+8))+rsp],rsi + mov QWORD PTR[((128+16))+rsp],rdx + mov QWORD PTR[152+rsp],rax + + movaps XMMWORD PTR[(128+32)+rsp],xmm6 + movaps XMMWORD PTR[(128+48)+rsp],xmm7 + movaps XMMWORD PTR[(128+64)+rsp],xmm8 + movaps XMMWORD PTR[(128+80)+rsp],xmm9 + movaps XMMWORD PTR[(128+96)+rsp],xmm10 + movaps XMMWORD PTR[(128+112)+rsp],xmm11 +$L$prologue_avx2:: vzeroupper sub rsi,-16*8 - mov rax,QWORD PTR[rdi] + mov rax,QWORD PTR[rdi] mov r12,rsi - mov rbx,QWORD PTR[8+rdi] + mov rbx,QWORD PTR[8+rdi] cmp rsi,rdx - mov rcx,QWORD PTR[16+rdi] + mov rcx,QWORD PTR[16+rdi] cmove r12,rsp - 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$oop_avx2 + 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$oop_avx2 ALIGN 16 -$L$oop_avx2:: - vmovdqu xmm0,XMMWORD PTR[((-128))+rsi] - vmovdqu xmm1,XMMWORD PTR[((-128+16))+rsi] - vmovdqu xmm2,XMMWORD PTR[((-128+32))+rsi] - lea rbp,QWORD PTR[((K512+128))] - vmovdqu xmm3,XMMWORD PTR[((-128+48))+rsi] - vmovdqu xmm4,XMMWORD PTR[((-128+64))+rsi] - vmovdqu xmm5,XMMWORD PTR[((-128+80))+rsi] - vmovdqu xmm6,XMMWORD PTR[((-128+96))+rsi] - vmovdqu xmm7,XMMWORD PTR[((-128+112))+rsi] - - vmovdqa ymm10,YMMWORD PTR[1152+rbp] - vinserti128 ymm0,ymm0,XMMWORD PTR[r12],1 - vinserti128 ymm1,ymm1,XMMWORD PTR[16+r12],1 +$L$oop_avx2:: + vmovdqu xmm0,XMMWORD PTR[((-128))+rsi] + vmovdqu xmm1,XMMWORD PTR[((-128+16))+rsi] + vmovdqu xmm2,XMMWORD PTR[((-128+32))+rsi] + lea rbp,QWORD PTR[((K512+128))] + vmovdqu xmm3,XMMWORD PTR[((-128+48))+rsi] + vmovdqu xmm4,XMMWORD PTR[((-128+64))+rsi] + vmovdqu xmm5,XMMWORD PTR[((-128+80))+rsi] + vmovdqu xmm6,XMMWORD PTR[((-128+96))+rsi] + vmovdqu xmm7,XMMWORD PTR[((-128+112))+rsi] + + vmovdqa ymm10,YMMWORD PTR[1152+rbp] + vinserti128 ymm0,ymm0,XMMWORD PTR[r12],1 + vinserti128 ymm1,ymm1,XMMWORD PTR[16+r12],1 vpshufb ymm0,ymm0,ymm10 - vinserti128 ymm2,ymm2,XMMWORD PTR[32+r12],1 + vinserti128 ymm2,ymm2,XMMWORD PTR[32+r12],1 vpshufb ymm1,ymm1,ymm10 - vinserti128 ymm3,ymm3,XMMWORD PTR[48+r12],1 + vinserti128 ymm3,ymm3,XMMWORD PTR[48+r12],1 vpshufb ymm2,ymm2,ymm10 - vinserti128 ymm4,ymm4,XMMWORD PTR[64+r12],1 + vinserti128 ymm4,ymm4,XMMWORD PTR[64+r12],1 vpshufb ymm3,ymm3,ymm10 - vinserti128 ymm5,ymm5,XMMWORD PTR[80+r12],1 + vinserti128 ymm5,ymm5,XMMWORD PTR[80+r12],1 vpshufb ymm4,ymm4,ymm10 - vinserti128 ymm6,ymm6,XMMWORD PTR[96+r12],1 + vinserti128 ymm6,ymm6,XMMWORD PTR[96+r12],1 vpshufb ymm5,ymm5,ymm10 - vinserti128 ymm7,ymm7,XMMWORD PTR[112+r12],1 + vinserti128 ymm7,ymm7,XMMWORD PTR[112+r12],1 - vpaddq ymm8,ymm0,YMMWORD PTR[((-128))+rbp] + vpaddq ymm8,ymm0,YMMWORD PTR[((-128))+rbp] vpshufb ymm6,ymm6,ymm10 - vpaddq ymm9,ymm1,YMMWORD PTR[((-96))+rbp] + vpaddq ymm9,ymm1,YMMWORD PTR[((-96))+rbp] vpshufb ymm7,ymm7,ymm10 - vpaddq ymm10,ymm2,YMMWORD PTR[((-64))+rbp] - vpaddq ymm11,ymm3,YMMWORD PTR[((-32))+rbp] - vmovdqa YMMWORD PTR[rsp],ymm8 - vpaddq ymm8,ymm4,YMMWORD PTR[rbp] - vmovdqa YMMWORD PTR[32+rsp],ymm9 - vpaddq ymm9,ymm5,YMMWORD PTR[32+rbp] - vmovdqa YMMWORD PTR[64+rsp],ymm10 - vpaddq ymm10,ymm6,YMMWORD PTR[64+rbp] - vmovdqa YMMWORD PTR[96+rsp],ymm11 - lea rsp,QWORD PTR[((-128))+rsp] - vpaddq ymm11,ymm7,YMMWORD PTR[96+rbp] - vmovdqa YMMWORD PTR[rsp],ymm8 + vpaddq ymm10,ymm2,YMMWORD PTR[((-64))+rbp] + vpaddq ymm11,ymm3,YMMWORD PTR[((-32))+rbp] + vmovdqa YMMWORD PTR[rsp],ymm8 + vpaddq ymm8,ymm4,YMMWORD PTR[rbp] + vmovdqa YMMWORD PTR[32+rsp],ymm9 + vpaddq ymm9,ymm5,YMMWORD PTR[32+rbp] + vmovdqa YMMWORD PTR[64+rsp],ymm10 + vpaddq ymm10,ymm6,YMMWORD PTR[64+rbp] + vmovdqa YMMWORD PTR[96+rsp],ymm11 + lea rsp,QWORD PTR[((-128))+rsp] + vpaddq ymm11,ymm7,YMMWORD PTR[96+rbp] + vmovdqa YMMWORD PTR[rsp],ymm8 xor r14,r14 - vmovdqa YMMWORD PTR[32+rsp],ymm9 + vmovdqa YMMWORD PTR[32+rsp],ymm9 mov rdi,rbx - vmovdqa YMMWORD PTR[64+rsp],ymm10 + vmovdqa YMMWORD PTR[64+rsp],ymm10 xor rdi,rcx - vmovdqa YMMWORD PTR[96+rsp],ymm11 + vmovdqa YMMWORD PTR[96+rsp],ymm11 mov r12,r9 add rbp,16*2*8 - jmp $L$avx2_00_47 + jmp $L$avx2_00_47 ALIGN 16 -$L$avx2_00_47:: - lea rsp,QWORD PTR[((-128))+rsp] +$L$avx2_00_47:: + lea rsp,QWORD PTR[((-128))+rsp] vpalignr ymm8,ymm1,ymm0,8 - add r11,QWORD PTR[((0+256))+rsp] + add r11,QWORD PTR[((0+256))+rsp] and r12,r8 rorx r13,r8,41 vpalignr ymm11,ymm5,ymm4,8 rorx r15,r8,18 - lea rax,QWORD PTR[r14*1+rax] - lea r11,QWORD PTR[r12*1+r11] + lea rax,QWORD PTR[r14*1+rax] + lea r11,QWORD PTR[r12*1+r11] vpsrlq ymm10,ymm8,1 andn r12,r8,r10 xor r13,r15 rorx r14,r8,14 vpaddq ymm0,ymm0,ymm11 vpsrlq ymm11,ymm8,7 - lea r11,QWORD PTR[r12*1+r11] + lea r11,QWORD PTR[r12*1+r11] xor r13,r14 mov r15,rax vpsllq ymm9,ymm8,56 vpxor ymm8,ymm11,ymm10 rorx r12,rax,39 - lea r11,QWORD PTR[r13*1+r11] + lea r11,QWORD PTR[r13*1+r11] xor r15,rbx vpsrlq ymm10,ymm10,7 vpxor ymm8,ymm8,ymm9 rorx r14,rax,34 rorx r13,rax,28 - lea rdx,QWORD PTR[r11*1+rdx] + lea rdx,QWORD PTR[r11*1+rdx] vpsllq ymm9,ymm9,7 vpxor ymm8,ymm8,ymm10 and rdi,r15 @@ -4296,18 +4296,18 @@ $L$avx2_00_47:: vpsrlq ymm11,ymm7,6 vpxor ymm8,ymm8,ymm9 xor r14,r13 - lea r11,QWORD PTR[rdi*1+r11] + lea r11,QWORD PTR[rdi*1+r11] mov r12,r8 vpsllq ymm10,ymm7,3 vpaddq ymm0,ymm0,ymm8 - add r10,QWORD PTR[((8+256))+rsp] + add r10,QWORD PTR[((8+256))+rsp] and r12,rdx rorx r13,rdx,41 vpsrlq ymm9,ymm7,19 vpxor ymm11,ymm11,ymm10 rorx rdi,rdx,18 - lea r11,QWORD PTR[r14*1+r11] - lea r10,QWORD PTR[r12*1+r10] + lea r11,QWORD PTR[r14*1+r11] + lea r10,QWORD PTR[r12*1+r10] vpsllq ymm10,ymm10,42 vpxor ymm11,ymm11,ymm9 andn r12,rdx,r9 @@ -4315,52 +4315,52 @@ $L$avx2_00_47:: rorx r14,rdx,14 vpsrlq ymm9,ymm9,42 vpxor ymm11,ymm11,ymm10 - lea r10,QWORD PTR[r12*1+r10] + lea r10,QWORD PTR[r12*1+r10] xor r13,r14 mov rdi,r11 vpxor ymm11,ymm11,ymm9 rorx r12,r11,39 - lea r10,QWORD PTR[r13*1+r10] + lea r10,QWORD PTR[r13*1+r10] xor rdi,rax vpaddq ymm0,ymm0,ymm11 rorx r14,r11,34 rorx r13,r11,28 - lea rcx,QWORD PTR[r10*1+rcx] - vpaddq ymm10,ymm0,YMMWORD PTR[((-128))+rbp] + lea rcx,QWORD PTR[r10*1+rcx] + vpaddq ymm10,ymm0,YMMWORD PTR[((-128))+rbp] and r15,rdi xor r14,r12 xor r15,rax xor r14,r13 - lea r10,QWORD PTR[r15*1+r10] + lea r10,QWORD PTR[r15*1+r10] mov r12,rdx - vmovdqa YMMWORD PTR[rsp],ymm10 + vmovdqa YMMWORD PTR[rsp],ymm10 vpalignr ymm8,ymm2,ymm1,8 - add r9,QWORD PTR[((32+256))+rsp] + add r9,QWORD PTR[((32+256))+rsp] and r12,rcx rorx r13,rcx,41 vpalignr ymm11,ymm6,ymm5,8 rorx r15,rcx,18 - lea r10,QWORD PTR[r14*1+r10] - lea r9,QWORD PTR[r12*1+r9] + lea r10,QWORD PTR[r14*1+r10] + lea r9,QWORD PTR[r12*1+r9] vpsrlq ymm10,ymm8,1 andn r12,rcx,r8 xor r13,r15 rorx r14,rcx,14 vpaddq ymm1,ymm1,ymm11 vpsrlq ymm11,ymm8,7 - lea r9,QWORD PTR[r12*1+r9] + lea r9,QWORD PTR[r12*1+r9] xor r13,r14 mov r15,r10 vpsllq ymm9,ymm8,56 vpxor ymm8,ymm11,ymm10 rorx r12,r10,39 - lea r9,QWORD PTR[r13*1+r9] + lea r9,QWORD PTR[r13*1+r9] xor r15,r11 vpsrlq ymm10,ymm10,7 vpxor ymm8,ymm8,ymm9 rorx r14,r10,34 rorx r13,r10,28 - lea rbx,QWORD PTR[r9*1+rbx] + lea rbx,QWORD PTR[r9*1+rbx] vpsllq ymm9,ymm9,7 vpxor ymm8,ymm8,ymm10 and rdi,r15 @@ -4369,18 +4369,18 @@ $L$avx2_00_47:: vpsrlq ymm11,ymm0,6 vpxor ymm8,ymm8,ymm9 xor r14,r13 - lea r9,QWORD PTR[rdi*1+r9] + lea r9,QWORD PTR[rdi*1+r9] mov r12,rcx vpsllq ymm10,ymm0,3 vpaddq ymm1,ymm1,ymm8 - add r8,QWORD PTR[((40+256))+rsp] + add r8,QWORD PTR[((40+256))+rsp] and r12,rbx rorx r13,rbx,41 vpsrlq ymm9,ymm0,19 vpxor ymm11,ymm11,ymm10 rorx rdi,rbx,18 - lea r9,QWORD PTR[r14*1+r9] - lea r8,QWORD PTR[r12*1+r8] + lea r9,QWORD PTR[r14*1+r9] + lea r8,QWORD PTR[r12*1+r8] vpsllq ymm10,ymm10,42 vpxor ymm11,ymm11,ymm9 andn r12,rbx,rdx @@ -4388,52 +4388,52 @@ $L$avx2_00_47:: rorx r14,rbx,14 vpsrlq ymm9,ymm9,42 vpxor ymm11,ymm11,ymm10 - lea r8,QWORD PTR[r12*1+r8] + lea r8,QWORD PTR[r12*1+r8] xor r13,r14 mov rdi,r9 vpxor ymm11,ymm11,ymm9 rorx r12,r9,39 - lea r8,QWORD PTR[r13*1+r8] + lea r8,QWORD PTR[r13*1+r8] xor rdi,r10 vpaddq ymm1,ymm1,ymm11 rorx r14,r9,34 rorx r13,r9,28 - lea rax,QWORD PTR[r8*1+rax] - vpaddq ymm10,ymm1,YMMWORD PTR[((-96))+rbp] + lea rax,QWORD PTR[r8*1+rax] + vpaddq ymm10,ymm1,YMMWORD PTR[((-96))+rbp] and r15,rdi xor r14,r12 xor r15,r10 xor r14,r13 - lea r8,QWORD PTR[r15*1+r8] + lea r8,QWORD PTR[r15*1+r8] mov r12,rbx - vmovdqa YMMWORD PTR[32+rsp],ymm10 + vmovdqa YMMWORD PTR[32+rsp],ymm10 vpalignr ymm8,ymm3,ymm2,8 - add rdx,QWORD PTR[((64+256))+rsp] + add rdx,QWORD PTR[((64+256))+rsp] and r12,rax rorx r13,rax,41 vpalignr ymm11,ymm7,ymm6,8 rorx r15,rax,18 - lea r8,QWORD PTR[r14*1+r8] - lea rdx,QWORD PTR[r12*1+rdx] + lea r8,QWORD PTR[r14*1+r8] + lea rdx,QWORD PTR[r12*1+rdx] vpsrlq ymm10,ymm8,1 andn r12,rax,rcx xor r13,r15 rorx r14,rax,14 vpaddq ymm2,ymm2,ymm11 vpsrlq ymm11,ymm8,7 - lea rdx,QWORD PTR[r12*1+rdx] + lea rdx,QWORD PTR[r12*1+rdx] xor r13,r14 mov r15,r8 vpsllq ymm9,ymm8,56 vpxor ymm8,ymm11,ymm10 rorx r12,r8,39 - lea rdx,QWORD PTR[r13*1+rdx] + lea rdx,QWORD PTR[r13*1+rdx] xor r15,r9 vpsrlq ymm10,ymm10,7 vpxor ymm8,ymm8,ymm9 rorx r14,r8,34 rorx r13,r8,28 - lea r11,QWORD PTR[rdx*1+r11] + lea r11,QWORD PTR[rdx*1+r11] vpsllq ymm9,ymm9,7 vpxor ymm8,ymm8,ymm10 and rdi,r15 @@ -4442,18 +4442,18 @@ $L$avx2_00_47:: vpsrlq ymm11,ymm1,6 vpxor ymm8,ymm8,ymm9 xor r14,r13 - lea rdx,QWORD PTR[rdi*1+rdx] + lea rdx,QWORD PTR[rdi*1+rdx] mov r12,rax vpsllq ymm10,ymm1,3 vpaddq ymm2,ymm2,ymm8 - add rcx,QWORD PTR[((72+256))+rsp] + add rcx,QWORD PTR[((72+256))+rsp] and r12,r11 rorx r13,r11,41 vpsrlq ymm9,ymm1,19 vpxor ymm11,ymm11,ymm10 rorx rdi,r11,18 - lea rdx,QWORD PTR[r14*1+rdx] - lea rcx,QWORD PTR[r12*1+rcx] + lea rdx,QWORD PTR[r14*1+rdx] + lea rcx,QWORD PTR[r12*1+rcx] vpsllq ymm10,ymm10,42 vpxor ymm11,ymm11,ymm9 andn r12,r11,rbx @@ -4461,52 +4461,52 @@ $L$avx2_00_47:: rorx r14,r11,14 vpsrlq ymm9,ymm9,42 vpxor ymm11,ymm11,ymm10 - lea rcx,QWORD PTR[r12*1+rcx] + lea rcx,QWORD PTR[r12*1+rcx] xor r13,r14 mov rdi,rdx vpxor ymm11,ymm11,ymm9 rorx r12,rdx,39 - lea rcx,QWORD PTR[r13*1+rcx] + lea rcx,QWORD PTR[r13*1+rcx] xor rdi,r8 vpaddq ymm2,ymm2,ymm11 rorx r14,rdx,34 rorx r13,rdx,28 - lea r10,QWORD PTR[rcx*1+r10] - vpaddq ymm10,ymm2,YMMWORD PTR[((-64))+rbp] + lea r10,QWORD PTR[rcx*1+r10] + vpaddq ymm10,ymm2,YMMWORD PTR[((-64))+rbp] and r15,rdi xor r14,r12 xor r15,r8 xor r14,r13 - lea rcx,QWORD PTR[r15*1+rcx] + lea rcx,QWORD PTR[r15*1+rcx] mov r12,r11 - vmovdqa YMMWORD PTR[64+rsp],ymm10 + vmovdqa YMMWORD PTR[64+rsp],ymm10 vpalignr ymm8,ymm4,ymm3,8 - add rbx,QWORD PTR[((96+256))+rsp] + add rbx,QWORD PTR[((96+256))+rsp] and r12,r10 rorx r13,r10,41 vpalignr ymm11,ymm0,ymm7,8 rorx r15,r10,18 - lea rcx,QWORD PTR[r14*1+rcx] - lea rbx,QWORD PTR[r12*1+rbx] + lea rcx,QWORD PTR[r14*1+rcx] + lea rbx,QWORD PTR[r12*1+rbx] vpsrlq ymm10,ymm8,1 andn r12,r10,rax xor r13,r15 rorx r14,r10,14 vpaddq ymm3,ymm3,ymm11 vpsrlq ymm11,ymm8,7 - lea rbx,QWORD PTR[r12*1+rbx] + lea rbx,QWORD PTR[r12*1+rbx] xor r13,r14 mov r15,rcx vpsllq ymm9,ymm8,56 vpxor ymm8,ymm11,ymm10 rorx r12,rcx,39 - lea rbx,QWORD PTR[r13*1+rbx] + lea rbx,QWORD PTR[r13*1+rbx] xor r15,rdx vpsrlq ymm10,ymm10,7 vpxor ymm8,ymm8,ymm9 rorx r14,rcx,34 rorx r13,rcx,28 - lea r9,QWORD PTR[rbx*1+r9] + lea r9,QWORD PTR[rbx*1+r9] vpsllq ymm9,ymm9,7 vpxor ymm8,ymm8,ymm10 and rdi,r15 @@ -4515,18 +4515,18 @@ $L$avx2_00_47:: vpsrlq ymm11,ymm2,6 vpxor ymm8,ymm8,ymm9 xor r14,r13 - lea rbx,QWORD PTR[rdi*1+rbx] + lea rbx,QWORD PTR[rdi*1+rbx] mov r12,r10 vpsllq ymm10,ymm2,3 vpaddq ymm3,ymm3,ymm8 - add rax,QWORD PTR[((104+256))+rsp] + add rax,QWORD PTR[((104+256))+rsp] and r12,r9 rorx r13,r9,41 vpsrlq ymm9,ymm2,19 vpxor ymm11,ymm11,ymm10 rorx rdi,r9,18 - lea rbx,QWORD PTR[r14*1+rbx] - lea rax,QWORD PTR[r12*1+rax] + lea rbx,QWORD PTR[r14*1+rbx] + lea rax,QWORD PTR[r12*1+rax] vpsllq ymm10,ymm10,42 vpxor ymm11,ymm11,ymm9 andn r12,r9,r11 @@ -4534,53 +4534,53 @@ $L$avx2_00_47:: rorx r14,r9,14 vpsrlq ymm9,ymm9,42 vpxor ymm11,ymm11,ymm10 - lea rax,QWORD PTR[r12*1+rax] + lea rax,QWORD PTR[r12*1+rax] xor r13,r14 mov rdi,rbx vpxor ymm11,ymm11,ymm9 rorx r12,rbx,39 - lea rax,QWORD PTR[r13*1+rax] + lea rax,QWORD PTR[r13*1+rax] xor rdi,rcx vpaddq ymm3,ymm3,ymm11 rorx r14,rbx,34 rorx r13,rbx,28 - lea r8,QWORD PTR[rax*1+r8] - vpaddq ymm10,ymm3,YMMWORD PTR[((-32))+rbp] + lea r8,QWORD PTR[rax*1+r8] + vpaddq ymm10,ymm3,YMMWORD PTR[((-32))+rbp] and r15,rdi xor r14,r12 xor r15,rcx xor r14,r13 - lea rax,QWORD PTR[r15*1+rax] + lea rax,QWORD PTR[r15*1+rax] mov r12,r9 - vmovdqa YMMWORD PTR[96+rsp],ymm10 - lea rsp,QWORD PTR[((-128))+rsp] + vmovdqa YMMWORD PTR[96+rsp],ymm10 + lea rsp,QWORD PTR[((-128))+rsp] vpalignr ymm8,ymm5,ymm4,8 - add r11,QWORD PTR[((0+256))+rsp] + add r11,QWORD PTR[((0+256))+rsp] and r12,r8 rorx r13,r8,41 vpalignr ymm11,ymm1,ymm0,8 rorx r15,r8,18 - lea rax,QWORD PTR[r14*1+rax] - lea r11,QWORD PTR[r12*1+r11] + lea rax,QWORD PTR[r14*1+rax] + lea r11,QWORD PTR[r12*1+r11] vpsrlq ymm10,ymm8,1 andn r12,r8,r10 xor r13,r15 rorx r14,r8,14 vpaddq ymm4,ymm4,ymm11 vpsrlq ymm11,ymm8,7 - lea r11,QWORD PTR[r12*1+r11] + lea r11,QWORD PTR[r12*1+r11] xor r13,r14 mov r15,rax vpsllq ymm9,ymm8,56 vpxor ymm8,ymm11,ymm10 rorx r12,rax,39 - lea r11,QWORD PTR[r13*1+r11] + lea r11,QWORD PTR[r13*1+r11] xor r15,rbx vpsrlq ymm10,ymm10,7 vpxor ymm8,ymm8,ymm9 rorx r14,rax,34 rorx r13,rax,28 - lea rdx,QWORD PTR[r11*1+rdx] + lea rdx,QWORD PTR[r11*1+rdx] vpsllq ymm9,ymm9,7 vpxor ymm8,ymm8,ymm10 and rdi,r15 @@ -4589,18 +4589,18 @@ $L$avx2_00_47:: vpsrlq ymm11,ymm3,6 vpxor ymm8,ymm8,ymm9 xor r14,r13 - lea r11,QWORD PTR[rdi*1+r11] + lea r11,QWORD PTR[rdi*1+r11] mov r12,r8 vpsllq ymm10,ymm3,3 vpaddq ymm4,ymm4,ymm8 - add r10,QWORD PTR[((8+256))+rsp] + add r10,QWORD PTR[((8+256))+rsp] and r12,rdx rorx r13,rdx,41 vpsrlq ymm9,ymm3,19 vpxor ymm11,ymm11,ymm10 rorx rdi,rdx,18 - lea r11,QWORD PTR[r14*1+r11] - lea r10,QWORD PTR[r12*1+r10] + lea r11,QWORD PTR[r14*1+r11] + lea r10,QWORD PTR[r12*1+r10] vpsllq ymm10,ymm10,42 vpxor ymm11,ymm11,ymm9 andn r12,rdx,r9 @@ -4608,52 +4608,52 @@ $L$avx2_00_47:: rorx r14,rdx,14 vpsrlq ymm9,ymm9,42 vpxor ymm11,ymm11,ymm10 - lea r10,QWORD PTR[r12*1+r10] + lea r10,QWORD PTR[r12*1+r10] xor r13,r14 mov rdi,r11 vpxor ymm11,ymm11,ymm9 rorx r12,r11,39 - lea r10,QWORD PTR[r13*1+r10] + lea r10,QWORD PTR[r13*1+r10] xor rdi,rax vpaddq ymm4,ymm4,ymm11 rorx r14,r11,34 rorx r13,r11,28 - lea rcx,QWORD PTR[r10*1+rcx] - vpaddq ymm10,ymm4,YMMWORD PTR[rbp] + lea rcx,QWORD PTR[r10*1+rcx] + vpaddq ymm10,ymm4,YMMWORD PTR[rbp] and r15,rdi xor r14,r12 xor r15,rax xor r14,r13 - lea r10,QWORD PTR[r15*1+r10] + lea r10,QWORD PTR[r15*1+r10] mov r12,rdx - vmovdqa YMMWORD PTR[rsp],ymm10 + vmovdqa YMMWORD PTR[rsp],ymm10 vpalignr ymm8,ymm6,ymm5,8 - add r9,QWORD PTR[((32+256))+rsp] + add r9,QWORD PTR[((32+256))+rsp] and r12,rcx rorx r13,rcx,41 vpalignr ymm11,ymm2,ymm1,8 rorx r15,rcx,18 - lea r10,QWORD PTR[r14*1+r10] - lea r9,QWORD PTR[r12*1+r9] + lea r10,QWORD PTR[r14*1+r10] + lea r9,QWORD PTR[r12*1+r9] vpsrlq ymm10,ymm8,1 andn r12,rcx,r8 xor r13,r15 rorx r14,rcx,14 vpaddq ymm5,ymm5,ymm11 vpsrlq ymm11,ymm8,7 - lea r9,QWORD PTR[r12*1+r9] + lea r9,QWORD PTR[r12*1+r9] xor r13,r14 mov r15,r10 vpsllq ymm9,ymm8,56 vpxor ymm8,ymm11,ymm10 rorx r12,r10,39 - lea r9,QWORD PTR[r13*1+r9] + lea r9,QWORD PTR[r13*1+r9] xor r15,r11 vpsrlq ymm10,ymm10,7 vpxor ymm8,ymm8,ymm9 rorx r14,r10,34 rorx r13,r10,28 - lea rbx,QWORD PTR[r9*1+rbx] + lea rbx,QWORD PTR[r9*1+rbx] vpsllq ymm9,ymm9,7 vpxor ymm8,ymm8,ymm10 and rdi,r15 @@ -4662,18 +4662,18 @@ $L$avx2_00_47:: vpsrlq ymm11,ymm4,6 vpxor ymm8,ymm8,ymm9 xor r14,r13 - lea r9,QWORD PTR[rdi*1+r9] + lea r9,QWORD PTR[rdi*1+r9] mov r12,rcx vpsllq ymm10,ymm4,3 vpaddq ymm5,ymm5,ymm8 - add r8,QWORD PTR[((40+256))+rsp] + add r8,QWORD PTR[((40+256))+rsp] and r12,rbx rorx r13,rbx,41 vpsrlq ymm9,ymm4,19 vpxor ymm11,ymm11,ymm10 rorx rdi,rbx,18 - lea r9,QWORD PTR[r14*1+r9] - lea r8,QWORD PTR[r12*1+r8] + lea r9,QWORD PTR[r14*1+r9] + lea r8,QWORD PTR[r12*1+r8] vpsllq ymm10,ymm10,42 vpxor ymm11,ymm11,ymm9 andn r12,rbx,rdx @@ -4681,52 +4681,52 @@ $L$avx2_00_47:: rorx r14,rbx,14 vpsrlq ymm9,ymm9,42 vpxor ymm11,ymm11,ymm10 - lea r8,QWORD PTR[r12*1+r8] + lea r8,QWORD PTR[r12*1+r8] xor r13,r14 mov rdi,r9 vpxor ymm11,ymm11,ymm9 rorx r12,r9,39 - lea r8,QWORD PTR[r13*1+r8] + lea r8,QWORD PTR[r13*1+r8] xor rdi,r10 vpaddq ymm5,ymm5,ymm11 rorx r14,r9,34 rorx r13,r9,28 - lea rax,QWORD PTR[r8*1+rax] - vpaddq ymm10,ymm5,YMMWORD PTR[32+rbp] + lea rax,QWORD PTR[r8*1+rax] + vpaddq ymm10,ymm5,YMMWORD PTR[32+rbp] and r15,rdi xor r14,r12 xor r15,r10 xor r14,r13 - lea r8,QWORD PTR[r15*1+r8] + lea r8,QWORD PTR[r15*1+r8] mov r12,rbx - vmovdqa YMMWORD PTR[32+rsp],ymm10 + vmovdqa YMMWORD PTR[32+rsp],ymm10 vpalignr ymm8,ymm7,ymm6,8 - add rdx,QWORD PTR[((64+256))+rsp] + add rdx,QWORD PTR[((64+256))+rsp] and r12,rax rorx r13,rax,41 vpalignr ymm11,ymm3,ymm2,8 rorx r15,rax,18 - lea r8,QWORD PTR[r14*1+r8] - lea rdx,QWORD PTR[r12*1+rdx] + lea r8,QWORD PTR[r14*1+r8] + lea rdx,QWORD PTR[r12*1+rdx] vpsrlq ymm10,ymm8,1 andn r12,rax,rcx xor r13,r15 rorx r14,rax,14 vpaddq ymm6,ymm6,ymm11 vpsrlq ymm11,ymm8,7 - lea rdx,QWORD PTR[r12*1+rdx] + lea rdx,QWORD PTR[r12*1+rdx] xor r13,r14 mov r15,r8 vpsllq ymm9,ymm8,56 vpxor ymm8,ymm11,ymm10 rorx r12,r8,39 - lea rdx,QWORD PTR[r13*1+rdx] + lea rdx,QWORD PTR[r13*1+rdx] xor r15,r9 vpsrlq ymm10,ymm10,7 vpxor ymm8,ymm8,ymm9 rorx r14,r8,34 rorx r13,r8,28 - lea r11,QWORD PTR[rdx*1+r11] + lea r11,QWORD PTR[rdx*1+r11] vpsllq ymm9,ymm9,7 vpxor ymm8,ymm8,ymm10 and rdi,r15 @@ -4735,18 +4735,18 @@ $L$avx2_00_47:: vpsrlq ymm11,ymm5,6 vpxor ymm8,ymm8,ymm9 xor r14,r13 - lea rdx,QWORD PTR[rdi*1+rdx] + lea rdx,QWORD PTR[rdi*1+rdx] mov r12,rax vpsllq ymm10,ymm5,3 vpaddq ymm6,ymm6,ymm8 - add rcx,QWORD PTR[((72+256))+rsp] + add rcx,QWORD PTR[((72+256))+rsp] and r12,r11 rorx r13,r11,41 vpsrlq ymm9,ymm5,19 vpxor ymm11,ymm11,ymm10 rorx rdi,r11,18 - lea rdx,QWORD PTR[r14*1+rdx] - lea rcx,QWORD PTR[r12*1+rcx] + lea rdx,QWORD PTR[r14*1+rdx] + lea rcx,QWORD PTR[r12*1+rcx] vpsllq ymm10,ymm10,42 vpxor ymm11,ymm11,ymm9 andn r12,r11,rbx @@ -4754,52 +4754,52 @@ $L$avx2_00_47:: rorx r14,r11,14 vpsrlq ymm9,ymm9,42 vpxor ymm11,ymm11,ymm10 - lea rcx,QWORD PTR[r12*1+rcx] + lea rcx,QWORD PTR[r12*1+rcx] xor r13,r14 mov rdi,rdx vpxor ymm11,ymm11,ymm9 rorx r12,rdx,39 - lea rcx,QWORD PTR[r13*1+rcx] + lea rcx,QWORD PTR[r13*1+rcx] xor rdi,r8 vpaddq ymm6,ymm6,ymm11 rorx r14,rdx,34 rorx r13,rdx,28 - lea r10,QWORD PTR[rcx*1+r10] - vpaddq ymm10,ymm6,YMMWORD PTR[64+rbp] + lea r10,QWORD PTR[rcx*1+r10] + vpaddq ymm10,ymm6,YMMWORD PTR[64+rbp] and r15,rdi xor r14,r12 xor r15,r8 xor r14,r13 - lea rcx,QWORD PTR[r15*1+rcx] + lea rcx,QWORD PTR[r15*1+rcx] mov r12,r11 - vmovdqa YMMWORD PTR[64+rsp],ymm10 + vmovdqa YMMWORD PTR[64+rsp],ymm10 vpalignr ymm8,ymm0,ymm7,8 - add rbx,QWORD PTR[((96+256))+rsp] + add rbx,QWORD PTR[((96+256))+rsp] and r12,r10 rorx r13,r10,41 vpalignr ymm11,ymm4,ymm3,8 rorx r15,r10,18 - lea rcx,QWORD PTR[r14*1+rcx] - lea rbx,QWORD PTR[r12*1+rbx] + lea rcx,QWORD PTR[r14*1+rcx] + lea rbx,QWORD PTR[r12*1+rbx] vpsrlq ymm10,ymm8,1 andn r12,r10,rax xor r13,r15 rorx r14,r10,14 vpaddq ymm7,ymm7,ymm11 vpsrlq ymm11,ymm8,7 - lea rbx,QWORD PTR[r12*1+rbx] + lea rbx,QWORD PTR[r12*1+rbx] xor r13,r14 mov r15,rcx vpsllq ymm9,ymm8,56 vpxor ymm8,ymm11,ymm10 rorx r12,rcx,39 - lea rbx,QWORD PTR[r13*1+rbx] + lea rbx,QWORD PTR[r13*1+rbx] xor r15,rdx vpsrlq ymm10,ymm10,7 vpxor ymm8,ymm8,ymm9 rorx r14,rcx,34 rorx r13,rcx,28 - lea r9,QWORD PTR[rbx*1+r9] + lea r9,QWORD PTR[rbx*1+r9] vpsllq ymm9,ymm9,7 vpxor ymm8,ymm8,ymm10 and rdi,r15 @@ -4808,18 +4808,18 @@ $L$avx2_00_47:: vpsrlq ymm11,ymm6,6 vpxor ymm8,ymm8,ymm9 xor r14,r13 - lea rbx,QWORD PTR[rdi*1+rbx] + lea rbx,QWORD PTR[rdi*1+rbx] mov r12,r10 vpsllq ymm10,ymm6,3 vpaddq ymm7,ymm7,ymm8 - add rax,QWORD PTR[((104+256))+rsp] + add rax,QWORD PTR[((104+256))+rsp] and r12,r9 rorx r13,r9,41 vpsrlq ymm9,ymm6,19 vpxor ymm11,ymm11,ymm10 rorx rdi,r9,18 - lea rbx,QWORD PTR[r14*1+rbx] - lea rax,QWORD PTR[r12*1+rax] + lea rbx,QWORD PTR[r14*1+rbx] + lea rax,QWORD PTR[r12*1+rax] vpsllq ymm10,ymm10,42 vpxor ymm11,ymm11,ymm9 andn r12,r9,r11 @@ -4827,711 +4827,711 @@ $L$avx2_00_47:: rorx r14,r9,14 vpsrlq ymm9,ymm9,42 vpxor ymm11,ymm11,ymm10 - lea rax,QWORD PTR[r12*1+rax] + lea rax,QWORD PTR[r12*1+rax] xor r13,r14 mov rdi,rbx vpxor ymm11,ymm11,ymm9 rorx r12,rbx,39 - lea rax,QWORD PTR[r13*1+rax] + lea rax,QWORD PTR[r13*1+rax] xor rdi,rcx vpaddq ymm7,ymm7,ymm11 rorx r14,rbx,34 rorx r13,rbx,28 - lea r8,QWORD PTR[rax*1+r8] - vpaddq ymm10,ymm7,YMMWORD PTR[96+rbp] + lea r8,QWORD PTR[rax*1+r8] + vpaddq ymm10,ymm7,YMMWORD PTR[96+rbp] and r15,rdi xor r14,r12 xor r15,rcx xor r14,r13 - lea rax,QWORD PTR[r15*1+rax] + lea rax,QWORD PTR[r15*1+rax] mov r12,r9 - vmovdqa YMMWORD PTR[96+rsp],ymm10 - lea rbp,QWORD PTR[256+rbp] - cmp BYTE PTR[((-121))+rbp],0 - jne $L$avx2_00_47 - add r11,QWORD PTR[((0+128))+rsp] + vmovdqa YMMWORD PTR[96+rsp],ymm10 + lea rbp,QWORD PTR[256+rbp] + cmp BYTE PTR[((-121))+rbp],0 + jne $L$avx2_00_47 + add r11,QWORD PTR[((0+128))+rsp] and r12,r8 rorx r13,r8,41 rorx r15,r8,18 - lea rax,QWORD PTR[r14*1+rax] - lea r11,QWORD PTR[r12*1+r11] + lea rax,QWORD PTR[r14*1+rax] + lea r11,QWORD PTR[r12*1+r11] andn r12,r8,r10 xor r13,r15 rorx r14,r8,14 - lea r11,QWORD PTR[r12*1+r11] + lea r11,QWORD PTR[r12*1+r11] xor r13,r14 mov r15,rax rorx r12,rax,39 - lea r11,QWORD PTR[r13*1+r11] + lea r11,QWORD PTR[r13*1+r11] xor r15,rbx rorx r14,rax,34 rorx r13,rax,28 - lea rdx,QWORD PTR[r11*1+rdx] + lea rdx,QWORD PTR[r11*1+rdx] and rdi,r15 xor r14,r12 xor rdi,rbx xor r14,r13 - lea r11,QWORD PTR[rdi*1+r11] + lea r11,QWORD PTR[rdi*1+r11] mov r12,r8 - add r10,QWORD PTR[((8+128))+rsp] + add r10,QWORD PTR[((8+128))+rsp] and r12,rdx rorx r13,rdx,41 rorx rdi,rdx,18 - lea r11,QWORD PTR[r14*1+r11] - lea r10,QWORD PTR[r12*1+r10] + lea r11,QWORD PTR[r14*1+r11] + lea r10,QWORD PTR[r12*1+r10] andn r12,rdx,r9 xor r13,rdi rorx r14,rdx,14 - lea r10,QWORD PTR[r12*1+r10] + lea r10,QWORD PTR[r12*1+r10] xor r13,r14 mov rdi,r11 rorx r12,r11,39 - lea r10,QWORD PTR[r13*1+r10] + lea r10,QWORD PTR[r13*1+r10] xor rdi,rax rorx r14,r11,34 rorx r13,r11,28 - lea rcx,QWORD PTR[r10*1+rcx] + lea rcx,QWORD PTR[r10*1+rcx] and r15,rdi xor r14,r12 xor r15,rax xor r14,r13 - lea r10,QWORD PTR[r15*1+r10] + lea r10,QWORD PTR[r15*1+r10] mov r12,rdx - add r9,QWORD PTR[((32+128))+rsp] + add r9,QWORD PTR[((32+128))+rsp] and r12,rcx rorx r13,rcx,41 rorx r15,rcx,18 - lea r10,QWORD PTR[r14*1+r10] - lea r9,QWORD PTR[r12*1+r9] + lea r10,QWORD PTR[r14*1+r10] + lea r9,QWORD PTR[r12*1+r9] andn r12,rcx,r8 xor r13,r15 rorx r14,rcx,14 - lea r9,QWORD PTR[r12*1+r9] + lea r9,QWORD PTR[r12*1+r9] xor r13,r14 mov r15,r10 rorx r12,r10,39 - lea r9,QWORD PTR[r13*1+r9] + lea r9,QWORD PTR[r13*1+r9] xor r15,r11 rorx r14,r10,34 rorx r13,r10,28 - lea rbx,QWORD PTR[r9*1+rbx] + lea rbx,QWORD PTR[r9*1+rbx] and rdi,r15 xor r14,r12 xor rdi,r11 xor r14,r13 - lea r9,QWORD PTR[rdi*1+r9] + lea r9,QWORD PTR[rdi*1+r9] mov r12,rcx - add r8,QWORD PTR[((40+128))+rsp] + add r8,QWORD PTR[((40+128))+rsp] and r12,rbx rorx r13,rbx,41 rorx rdi,rbx,18 - lea r9,QWORD PTR[r14*1+r9] - lea r8,QWORD PTR[r12*1+r8] + lea r9,QWORD PTR[r14*1+r9] + lea r8,QWORD PTR[r12*1+r8] andn r12,rbx,rdx xor r13,rdi rorx r14,rbx,14 - lea r8,QWORD PTR[r12*1+r8] + lea r8,QWORD PTR[r12*1+r8] xor r13,r14 mov rdi,r9 rorx r12,r9,39 - lea r8,QWORD PTR[r13*1+r8] + lea r8,QWORD PTR[r13*1+r8] xor rdi,r10 rorx r14,r9,34 rorx r13,r9,28 - lea rax,QWORD PTR[r8*1+rax] + lea rax,QWORD PTR[r8*1+rax] and r15,rdi xor r14,r12 xor r15,r10 xor r14,r13 - lea r8,QWORD PTR[r15*1+r8] + lea r8,QWORD PTR[r15*1+r8] mov r12,rbx - add rdx,QWORD PTR[((64+128))+rsp] + add rdx,QWORD PTR[((64+128))+rsp] and r12,rax rorx r13,rax,41 rorx r15,rax,18 - lea r8,QWORD PTR[r14*1+r8] - lea rdx,QWORD PTR[r12*1+rdx] + lea r8,QWORD PTR[r14*1+r8] + lea rdx,QWORD PTR[r12*1+rdx] andn r12,rax,rcx xor r13,r15 rorx r14,rax,14 - lea rdx,QWORD PTR[r12*1+rdx] + lea rdx,QWORD PTR[r12*1+rdx] xor r13,r14 mov r15,r8 rorx r12,r8,39 - lea rdx,QWORD PTR[r13*1+rdx] + lea rdx,QWORD PTR[r13*1+rdx] xor r15,r9 rorx r14,r8,34 rorx r13,r8,28 - lea r11,QWORD PTR[rdx*1+r11] + lea r11,QWORD PTR[rdx*1+r11] and rdi,r15 xor r14,r12 xor rdi,r9 xor r14,r13 - lea rdx,QWORD PTR[rdi*1+rdx] + lea rdx,QWORD PTR[rdi*1+rdx] mov r12,rax - add rcx,QWORD PTR[((72+128))+rsp] + add rcx,QWORD PTR[((72+128))+rsp] and r12,r11 rorx r13,r11,41 rorx rdi,r11,18 - lea rdx,QWORD PTR[r14*1+rdx] - lea rcx,QWORD PTR[r12*1+rcx] + lea rdx,QWORD PTR[r14*1+rdx] + lea rcx,QWORD PTR[r12*1+rcx] andn r12,r11,rbx xor r13,rdi rorx r14,r11,14 - lea rcx,QWORD PTR[r12*1+rcx] + lea rcx,QWORD PTR[r12*1+rcx] xor r13,r14 mov rdi,rdx rorx r12,rdx,39 - lea rcx,QWORD PTR[r13*1+rcx] + lea rcx,QWORD PTR[r13*1+rcx] xor rdi,r8 rorx r14,rdx,34 rorx r13,rdx,28 - lea r10,QWORD PTR[rcx*1+r10] + lea r10,QWORD PTR[rcx*1+r10] and r15,rdi xor r14,r12 xor r15,r8 xor r14,r13 - lea rcx,QWORD PTR[r15*1+rcx] + lea rcx,QWORD PTR[r15*1+rcx] mov r12,r11 - add rbx,QWORD PTR[((96+128))+rsp] + add rbx,QWORD PTR[((96+128))+rsp] and r12,r10 rorx r13,r10,41 rorx r15,r10,18 - lea rcx,QWORD PTR[r14*1+rcx] - lea rbx,QWORD PTR[r12*1+rbx] + lea rcx,QWORD PTR[r14*1+rcx] + lea rbx,QWORD PTR[r12*1+rbx] andn r12,r10,rax xor r13,r15 rorx r14,r10,14 - lea rbx,QWORD PTR[r12*1+rbx] + lea rbx,QWORD PTR[r12*1+rbx] xor r13,r14 mov r15,rcx rorx r12,rcx,39 - lea rbx,QWORD PTR[r13*1+rbx] + lea rbx,QWORD PTR[r13*1+rbx] xor r15,rdx rorx r14,rcx,34 rorx r13,rcx,28 - lea r9,QWORD PTR[rbx*1+r9] + lea r9,QWORD PTR[rbx*1+r9] and rdi,r15 xor r14,r12 xor rdi,rdx xor r14,r13 - lea rbx,QWORD PTR[rdi*1+rbx] + lea rbx,QWORD PTR[rdi*1+rbx] mov r12,r10 - add rax,QWORD PTR[((104+128))+rsp] + add rax,QWORD PTR[((104+128))+rsp] and r12,r9 rorx r13,r9,41 rorx rdi,r9,18 - lea rbx,QWORD PTR[r14*1+rbx] - lea rax,QWORD PTR[r12*1+rax] + lea rbx,QWORD PTR[r14*1+rbx] + lea rax,QWORD PTR[r12*1+rax] andn r12,r9,r11 xor r13,rdi rorx r14,r9,14 - lea rax,QWORD PTR[r12*1+rax] + lea rax,QWORD PTR[r12*1+rax] xor r13,r14 mov rdi,rbx rorx r12,rbx,39 - lea rax,QWORD PTR[r13*1+rax] + lea rax,QWORD PTR[r13*1+rax] xor rdi,rcx rorx r14,rbx,34 rorx r13,rbx,28 - lea r8,QWORD PTR[rax*1+r8] + lea r8,QWORD PTR[rax*1+r8] and r15,rdi xor r14,r12 xor r15,rcx xor r14,r13 - lea rax,QWORD PTR[r15*1+rax] + lea rax,QWORD PTR[r15*1+rax] mov r12,r9 - add r11,QWORD PTR[rsp] + add r11,QWORD PTR[rsp] and r12,r8 rorx r13,r8,41 rorx r15,r8,18 - lea rax,QWORD PTR[r14*1+rax] - lea r11,QWORD PTR[r12*1+r11] + lea rax,QWORD PTR[r14*1+rax] + lea r11,QWORD PTR[r12*1+r11] andn r12,r8,r10 xor r13,r15 rorx r14,r8,14 - lea r11,QWORD PTR[r12*1+r11] + lea r11,QWORD PTR[r12*1+r11] xor r13,r14 mov r15,rax rorx r12,rax,39 - lea r11,QWORD PTR[r13*1+r11] + lea r11,QWORD PTR[r13*1+r11] xor r15,rbx rorx r14,rax,34 rorx r13,rax,28 - lea rdx,QWORD PTR[r11*1+rdx] + lea rdx,QWORD PTR[r11*1+rdx] and rdi,r15 xor r14,r12 xor rdi,rbx xor r14,r13 - lea r11,QWORD PTR[rdi*1+r11] + lea r11,QWORD PTR[rdi*1+r11] mov r12,r8 - add r10,QWORD PTR[8+rsp] + add r10,QWORD PTR[8+rsp] and r12,rdx rorx r13,rdx,41 rorx rdi,rdx,18 - lea r11,QWORD PTR[r14*1+r11] - lea r10,QWORD PTR[r12*1+r10] + lea r11,QWORD PTR[r14*1+r11] + lea r10,QWORD PTR[r12*1+r10] andn r12,rdx,r9 xor r13,rdi rorx r14,rdx,14 - lea r10,QWORD PTR[r12*1+r10] + lea r10,QWORD PTR[r12*1+r10] xor r13,r14 mov rdi,r11 rorx r12,r11,39 - lea r10,QWORD PTR[r13*1+r10] + lea r10,QWORD PTR[r13*1+r10] xor rdi,rax rorx r14,r11,34 rorx r13,r11,28 - lea rcx,QWORD PTR[r10*1+rcx] + lea rcx,QWORD PTR[r10*1+rcx] and r15,rdi xor r14,r12 xor r15,rax xor r14,r13 - lea r10,QWORD PTR[r15*1+r10] + lea r10,QWORD PTR[r15*1+r10] mov r12,rdx - add r9,QWORD PTR[32+rsp] + add r9,QWORD PTR[32+rsp] and r12,rcx rorx r13,rcx,41 rorx r15,rcx,18 - lea r10,QWORD PTR[r14*1+r10] - lea r9,QWORD PTR[r12*1+r9] + lea r10,QWORD PTR[r14*1+r10] + lea r9,QWORD PTR[r12*1+r9] andn r12,rcx,r8 xor r13,r15 rorx r14,rcx,14 - lea r9,QWORD PTR[r12*1+r9] + lea r9,QWORD PTR[r12*1+r9] xor r13,r14 mov r15,r10 rorx r12,r10,39 - lea r9,QWORD PTR[r13*1+r9] + lea r9,QWORD PTR[r13*1+r9] xor r15,r11 rorx r14,r10,34 rorx r13,r10,28 - lea rbx,QWORD PTR[r9*1+rbx] + lea rbx,QWORD PTR[r9*1+rbx] and rdi,r15 xor r14,r12 xor rdi,r11 xor r14,r13 - lea r9,QWORD PTR[rdi*1+r9] + lea r9,QWORD PTR[rdi*1+r9] mov r12,rcx - add r8,QWORD PTR[40+rsp] + add r8,QWORD PTR[40+rsp] and r12,rbx rorx r13,rbx,41 rorx rdi,rbx,18 - lea r9,QWORD PTR[r14*1+r9] - lea r8,QWORD PTR[r12*1+r8] + lea r9,QWORD PTR[r14*1+r9] + lea r8,QWORD PTR[r12*1+r8] andn r12,rbx,rdx xor r13,rdi rorx r14,rbx,14 - lea r8,QWORD PTR[r12*1+r8] + lea r8,QWORD PTR[r12*1+r8] xor r13,r14 mov rdi,r9 rorx r12,r9,39 - lea r8,QWORD PTR[r13*1+r8] + lea r8,QWORD PTR[r13*1+r8] xor rdi,r10 rorx r14,r9,34 rorx r13,r9,28 - lea rax,QWORD PTR[r8*1+rax] + lea rax,QWORD PTR[r8*1+rax] and r15,rdi xor r14,r12 xor r15,r10 xor r14,r13 - lea r8,QWORD PTR[r15*1+r8] + lea r8,QWORD PTR[r15*1+r8] mov r12,rbx - add rdx,QWORD PTR[64+rsp] + add rdx,QWORD PTR[64+rsp] and r12,rax rorx r13,rax,41 rorx r15,rax,18 - lea r8,QWORD PTR[r14*1+r8] - lea rdx,QWORD PTR[r12*1+rdx] + lea r8,QWORD PTR[r14*1+r8] + lea rdx,QWORD PTR[r12*1+rdx] andn r12,rax,rcx xor r13,r15 rorx r14,rax,14 - lea rdx,QWORD PTR[r12*1+rdx] + lea rdx,QWORD PTR[r12*1+rdx] xor r13,r14 mov r15,r8 rorx r12,r8,39 - lea rdx,QWORD PTR[r13*1+rdx] + lea rdx,QWORD PTR[r13*1+rdx] xor r15,r9 rorx r14,r8,34 rorx r13,r8,28 - lea r11,QWORD PTR[rdx*1+r11] + lea r11,QWORD PTR[rdx*1+r11] and rdi,r15 xor r14,r12 xor rdi,r9 xor r14,r13 - lea rdx,QWORD PTR[rdi*1+rdx] + lea rdx,QWORD PTR[rdi*1+rdx] mov r12,rax - add rcx,QWORD PTR[72+rsp] + add rcx,QWORD PTR[72+rsp] and r12,r11 rorx r13,r11,41 rorx rdi,r11,18 - lea rdx,QWORD PTR[r14*1+rdx] - lea rcx,QWORD PTR[r12*1+rcx] + lea rdx,QWORD PTR[r14*1+rdx] + lea rcx,QWORD PTR[r12*1+rcx] andn r12,r11,rbx xor r13,rdi rorx r14,r11,14 - lea rcx,QWORD PTR[r12*1+rcx] + lea rcx,QWORD PTR[r12*1+rcx] xor r13,r14 mov rdi,rdx rorx r12,rdx,39 - lea rcx,QWORD PTR[r13*1+rcx] + lea rcx,QWORD PTR[r13*1+rcx] xor rdi,r8 rorx r14,rdx,34 rorx r13,rdx,28 - lea r10,QWORD PTR[rcx*1+r10] + lea r10,QWORD PTR[rcx*1+r10] and r15,rdi xor r14,r12 xor r15,r8 xor r14,r13 - lea rcx,QWORD PTR[r15*1+rcx] + lea rcx,QWORD PTR[r15*1+rcx] mov r12,r11 - add rbx,QWORD PTR[96+rsp] + add rbx,QWORD PTR[96+rsp] and r12,r10 rorx r13,r10,41 rorx r15,r10,18 - lea rcx,QWORD PTR[r14*1+rcx] - lea rbx,QWORD PTR[r12*1+rbx] + lea rcx,QWORD PTR[r14*1+rcx] + lea rbx,QWORD PTR[r12*1+rbx] andn r12,r10,rax xor r13,r15 rorx r14,r10,14 - lea rbx,QWORD PTR[r12*1+rbx] + lea rbx,QWORD PTR[r12*1+rbx] xor r13,r14 mov r15,rcx rorx r12,rcx,39 - lea rbx,QWORD PTR[r13*1+rbx] + lea rbx,QWORD PTR[r13*1+rbx] xor r15,rdx rorx r14,rcx,34 rorx r13,rcx,28 - lea r9,QWORD PTR[rbx*1+r9] + lea r9,QWORD PTR[rbx*1+r9] and rdi,r15 xor r14,r12 xor rdi,rdx xor r14,r13 - lea rbx,QWORD PTR[rdi*1+rbx] + lea rbx,QWORD PTR[rdi*1+rbx] mov r12,r10 - add rax,QWORD PTR[104+rsp] + add rax,QWORD PTR[104+rsp] and r12,r9 rorx r13,r9,41 rorx rdi,r9,18 - lea rbx,QWORD PTR[r14*1+rbx] - lea rax,QWORD PTR[r12*1+rax] + lea rbx,QWORD PTR[r14*1+rbx] + lea rax,QWORD PTR[r12*1+rax] andn r12,r9,r11 xor r13,rdi rorx r14,r9,14 - lea rax,QWORD PTR[r12*1+rax] + lea rax,QWORD PTR[r12*1+rax] xor r13,r14 mov rdi,rbx rorx r12,rbx,39 - lea rax,QWORD PTR[r13*1+rax] + lea rax,QWORD PTR[r13*1+rax] xor rdi,rcx rorx r14,rbx,34 rorx r13,rbx,28 - lea r8,QWORD PTR[rax*1+r8] + lea r8,QWORD PTR[rax*1+r8] and r15,rdi xor r14,r12 xor r15,rcx xor r14,r13 - lea rax,QWORD PTR[r15*1+rax] + lea rax,QWORD PTR[r15*1+rax] mov r12,r9 - mov rdi,QWORD PTR[1280+rsp] + mov rdi,QWORD PTR[1280+rsp] add rax,r14 - lea rbp,QWORD PTR[1152+rsp] - - 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] - - 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 - - cmp rsi,QWORD PTR[144+rbp] - je $L$done_avx2 + lea rbp,QWORD PTR[1152+rsp] + + 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] + + 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 + + cmp rsi,QWORD PTR[144+rbp] + je $L$done_avx2 xor r14,r14 mov rdi,rbx xor rdi,rcx mov r12,r9 - jmp $L$ower_avx2 + jmp $L$ower_avx2 ALIGN 16 -$L$ower_avx2:: - add r11,QWORD PTR[((0+16))+rbp] +$L$ower_avx2:: + add r11,QWORD PTR[((0+16))+rbp] and r12,r8 rorx r13,r8,41 rorx r15,r8,18 - lea rax,QWORD PTR[r14*1+rax] - lea r11,QWORD PTR[r12*1+r11] + lea rax,QWORD PTR[r14*1+rax] + lea r11,QWORD PTR[r12*1+r11] andn r12,r8,r10 xor r13,r15 rorx r14,r8,14 - lea r11,QWORD PTR[r12*1+r11] + lea r11,QWORD PTR[r12*1+r11] xor r13,r14 mov r15,rax rorx r12,rax,39 - lea r11,QWORD PTR[r13*1+r11] + lea r11,QWORD PTR[r13*1+r11] xor r15,rbx rorx r14,rax,34 rorx r13,rax,28 - lea rdx,QWORD PTR[r11*1+rdx] + lea rdx,QWORD PTR[r11*1+rdx] and rdi,r15 xor r14,r12 xor rdi,rbx xor r14,r13 - lea r11,QWORD PTR[rdi*1+r11] + lea r11,QWORD PTR[rdi*1+r11] mov r12,r8 - add r10,QWORD PTR[((8+16))+rbp] + add r10,QWORD PTR[((8+16))+rbp] and r12,rdx rorx r13,rdx,41 rorx rdi,rdx,18 - lea r11,QWORD PTR[r14*1+r11] - lea r10,QWORD PTR[r12*1+r10] + lea r11,QWORD PTR[r14*1+r11] + lea r10,QWORD PTR[r12*1+r10] andn r12,rdx,r9 xor r13,rdi rorx r14,rdx,14 - lea r10,QWORD PTR[r12*1+r10] + lea r10,QWORD PTR[r12*1+r10] xor r13,r14 mov rdi,r11 rorx r12,r11,39 - lea r10,QWORD PTR[r13*1+r10] + lea r10,QWORD PTR[r13*1+r10] xor rdi,rax rorx r14,r11,34 rorx r13,r11,28 - lea rcx,QWORD PTR[r10*1+rcx] + lea rcx,QWORD PTR[r10*1+rcx] and r15,rdi xor r14,r12 xor r15,rax xor r14,r13 - lea r10,QWORD PTR[r15*1+r10] + lea r10,QWORD PTR[r15*1+r10] mov r12,rdx - add r9,QWORD PTR[((32+16))+rbp] + add r9,QWORD PTR[((32+16))+rbp] and r12,rcx rorx r13,rcx,41 rorx r15,rcx,18 - lea r10,QWORD PTR[r14*1+r10] - lea r9,QWORD PTR[r12*1+r9] + lea r10,QWORD PTR[r14*1+r10] + lea r9,QWORD PTR[r12*1+r9] andn r12,rcx,r8 xor r13,r15 rorx r14,rcx,14 - lea r9,QWORD PTR[r12*1+r9] + lea r9,QWORD PTR[r12*1+r9] xor r13,r14 mov r15,r10 rorx r12,r10,39 - lea r9,QWORD PTR[r13*1+r9] + lea r9,QWORD PTR[r13*1+r9] xor r15,r11 rorx r14,r10,34 rorx r13,r10,28 - lea rbx,QWORD PTR[r9*1+rbx] + lea rbx,QWORD PTR[r9*1+rbx] and rdi,r15 xor r14,r12 xor rdi,r11 xor r14,r13 - lea r9,QWORD PTR[rdi*1+r9] + lea r9,QWORD PTR[rdi*1+r9] mov r12,rcx - add r8,QWORD PTR[((40+16))+rbp] + add r8,QWORD PTR[((40+16))+rbp] and r12,rbx rorx r13,rbx,41 rorx rdi,rbx,18 - lea r9,QWORD PTR[r14*1+r9] - lea r8,QWORD PTR[r12*1+r8] + lea r9,QWORD PTR[r14*1+r9] + lea r8,QWORD PTR[r12*1+r8] andn r12,rbx,rdx xor r13,rdi rorx r14,rbx,14 - lea r8,QWORD PTR[r12*1+r8] + lea r8,QWORD PTR[r12*1+r8] xor r13,r14 mov rdi,r9 rorx r12,r9,39 - lea r8,QWORD PTR[r13*1+r8] + lea r8,QWORD PTR[r13*1+r8] xor rdi,r10 rorx r14,r9,34 rorx r13,r9,28 - lea rax,QWORD PTR[r8*1+rax] + lea rax,QWORD PTR[r8*1+rax] and r15,rdi xor r14,r12 xor r15,r10 xor r14,r13 - lea r8,QWORD PTR[r15*1+r8] + lea r8,QWORD PTR[r15*1+r8] mov r12,rbx - add rdx,QWORD PTR[((64+16))+rbp] + add rdx,QWORD PTR[((64+16))+rbp] and r12,rax rorx r13,rax,41 rorx r15,rax,18 - lea r8,QWORD PTR[r14*1+r8] - lea rdx,QWORD PTR[r12*1+rdx] + lea r8,QWORD PTR[r14*1+r8] + lea rdx,QWORD PTR[r12*1+rdx] andn r12,rax,rcx xor r13,r15 rorx r14,rax,14 - lea rdx,QWORD PTR[r12*1+rdx] + lea rdx,QWORD PTR[r12*1+rdx] xor r13,r14 mov r15,r8 rorx r12,r8,39 - lea rdx,QWORD PTR[r13*1+rdx] + lea rdx,QWORD PTR[r13*1+rdx] xor r15,r9 rorx r14,r8,34 rorx r13,r8,28 - lea r11,QWORD PTR[rdx*1+r11] + lea r11,QWORD PTR[rdx*1+r11] and rdi,r15 xor r14,r12 xor rdi,r9 xor r14,r13 - lea rdx,QWORD PTR[rdi*1+rdx] + lea rdx,QWORD PTR[rdi*1+rdx] mov r12,rax - add rcx,QWORD PTR[((72+16))+rbp] + add rcx,QWORD PTR[((72+16))+rbp] and r12,r11 rorx r13,r11,41 rorx rdi,r11,18 - lea rdx,QWORD PTR[r14*1+rdx] - lea rcx,QWORD PTR[r12*1+rcx] + lea rdx,QWORD PTR[r14*1+rdx] + lea rcx,QWORD PTR[r12*1+rcx] andn r12,r11,rbx xor r13,rdi rorx r14,r11,14 - lea rcx,QWORD PTR[r12*1+rcx] + lea rcx,QWORD PTR[r12*1+rcx] xor r13,r14 mov rdi,rdx rorx r12,rdx,39 - lea rcx,QWORD PTR[r13*1+rcx] + lea rcx,QWORD PTR[r13*1+rcx] xor rdi,r8 rorx r14,rdx,34 rorx r13,rdx,28 - lea r10,QWORD PTR[rcx*1+r10] + lea r10,QWORD PTR[rcx*1+r10] and r15,rdi xor r14,r12 xor r15,r8 xor r14,r13 - lea rcx,QWORD PTR[r15*1+rcx] + lea rcx,QWORD PTR[r15*1+rcx] mov r12,r11 - add rbx,QWORD PTR[((96+16))+rbp] + add rbx,QWORD PTR[((96+16))+rbp] and r12,r10 rorx r13,r10,41 rorx r15,r10,18 - lea rcx,QWORD PTR[r14*1+rcx] - lea rbx,QWORD PTR[r12*1+rbx] + lea rcx,QWORD PTR[r14*1+rcx] + lea rbx,QWORD PTR[r12*1+rbx] andn r12,r10,rax xor r13,r15 rorx r14,r10,14 - lea rbx,QWORD PTR[r12*1+rbx] + lea rbx,QWORD PTR[r12*1+rbx] xor r13,r14 mov r15,rcx rorx r12,rcx,39 - lea rbx,QWORD PTR[r13*1+rbx] + lea rbx,QWORD PTR[r13*1+rbx] xor r15,rdx rorx r14,rcx,34 rorx r13,rcx,28 - lea r9,QWORD PTR[rbx*1+r9] + lea r9,QWORD PTR[rbx*1+r9] and rdi,r15 xor r14,r12 xor rdi,rdx xor r14,r13 - lea rbx,QWORD PTR[rdi*1+rbx] + lea rbx,QWORD PTR[rdi*1+rbx] mov r12,r10 - add rax,QWORD PTR[((104+16))+rbp] + add rax,QWORD PTR[((104+16))+rbp] and r12,r9 rorx r13,r9,41 rorx rdi,r9,18 - lea rbx,QWORD PTR[r14*1+rbx] - lea rax,QWORD PTR[r12*1+rax] + lea rbx,QWORD PTR[r14*1+rbx] + lea rax,QWORD PTR[r12*1+rax] andn r12,r9,r11 xor r13,rdi rorx r14,r9,14 - lea rax,QWORD PTR[r12*1+rax] + lea rax,QWORD PTR[r12*1+rax] xor r13,r14 mov rdi,rbx rorx r12,rbx,39 - lea rax,QWORD PTR[r13*1+rax] + lea rax,QWORD PTR[r13*1+rax] xor rdi,rcx rorx r14,rbx,34 rorx r13,rbx,28 - lea r8,QWORD PTR[rax*1+r8] + lea r8,QWORD PTR[rax*1+r8] and r15,rdi xor r14,r12 xor r15,rcx xor r14,r13 - lea rax,QWORD PTR[r15*1+rax] + lea rax,QWORD PTR[r15*1+rax] mov r12,r9 - lea rbp,QWORD PTR[((-128))+rbp] + lea rbp,QWORD PTR[((-128))+rbp] cmp rbp,rsp - jae $L$ower_avx2 + jae $L$ower_avx2 - mov rdi,QWORD PTR[1280+rsp] + mov rdi,QWORD PTR[1280+rsp] add rax,r14 - lea rsp,QWORD PTR[1152+rsp] - - - - 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] - lea rsi,QWORD PTR[256+rsi] - add r10,QWORD PTR[48+rdi] + lea rsp,QWORD PTR[1152+rsp] + + + + 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] + lea rsi,QWORD PTR[256+rsi] + add r10,QWORD PTR[48+rdi] mov r12,rsi - add r11,QWORD PTR[56+rdi] - cmp rsi,QWORD PTR[((128+16))+rsp] + add r11,QWORD PTR[56+rdi] + cmp rsi,QWORD PTR[((128+16))+rsp] - mov QWORD PTR[rdi],rax + mov QWORD PTR[rdi],rax cmove r12,rsp - 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 - - jbe $L$oop_avx2 - lea rbp,QWORD PTR[rsp] - - - - -$L$done_avx2:: - mov rsi,QWORD PTR[152+rbp] - + 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 + + jbe $L$oop_avx2 + lea rbp,QWORD PTR[rsp] + + + + +$L$done_avx2:: + mov rsi,QWORD PTR[152+rbp] + vzeroupper - movaps xmm6,XMMWORD PTR[((128+32))+rbp] - movaps xmm7,XMMWORD PTR[((128+48))+rbp] - movaps xmm8,XMMWORD PTR[((128+64))+rbp] - movaps xmm9,XMMWORD PTR[((128+80))+rbp] - movaps xmm10,XMMWORD PTR[((128+96))+rbp] - movaps xmm11,XMMWORD PTR[((128+112))+rbp] - mov r15,QWORD PTR[((-48))+rsi] + movaps xmm6,XMMWORD PTR[((128+32))+rbp] + movaps xmm7,XMMWORD PTR[((128+48))+rbp] + movaps xmm8,XMMWORD PTR[((128+64))+rbp] + movaps xmm9,XMMWORD PTR[((128+80))+rbp] + movaps xmm10,XMMWORD PTR[((128+96))+rbp] + movaps xmm11,XMMWORD PTR[((128+112))+rbp] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$epilogue_avx2:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue_avx2:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha512_block_data_order_avx2:: -sha512_block_data_order_avx2 ENDP -EXTERN __imp_RtlVirtualUnwind:NEAR +$L$SEH_end_sha512_block_data_order_avx2:: +sha512_block_data_order_avx2 ENDP +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -5543,80 +5543,80 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] cmp rbx,r10 - jae $L$in_prologue - lea r10,QWORD PTR[$L$avx2_shortcut] + jae $L$in_prologue + lea r10,QWORD PTR[$L$avx2_shortcut] cmp rbx,r10 - jb $L$not_in_avx2 + jb $L$not_in_avx2 and rax,-256*8 add rax,1152 -$L$not_in_avx2:: +$L$not_in_avx2:: mov rsi,rax - mov rax,QWORD PTR[((128+24))+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 PTR[((128+24))+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] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - lea rsi,QWORD PTR[((128+32))+rsi] - lea rdi,QWORD PTR[512+r8] + lea rsi,QWORD PTR[((128+32))+rsi] + lea rdi,QWORD PTR[512+r8] mov ecx,12 - DD 0a548f3fch + DD 0a548f3fch -$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 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 - mov rdi,QWORD PTR[40+r9] + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -5630,41 +5630,41 @@ $L$in_prologue:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +se_handler ENDP +.text$ ENDS +.pdata SEGMENT READONLY 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 - DD imagerel $L$SEH_begin_sha512_block_data_order_xop - DD imagerel $L$SEH_end_sha512_block_data_order_xop - DD imagerel $L$SEH_info_sha512_block_data_order_xop - DD imagerel $L$SEH_begin_sha512_block_data_order_avx - DD imagerel $L$SEH_end_sha512_block_data_order_avx - DD imagerel $L$SEH_info_sha512_block_data_order_avx - DD imagerel $L$SEH_begin_sha512_block_data_order_avx2 - DD imagerel $L$SEH_end_sha512_block_data_order_avx2 - DD imagerel $L$SEH_info_sha512_block_data_order_avx2 -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + 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 + DD imagerel $L$SEH_begin_sha512_block_data_order_xop + DD imagerel $L$SEH_end_sha512_block_data_order_xop + DD imagerel $L$SEH_info_sha512_block_data_order_xop + DD imagerel $L$SEH_begin_sha512_block_data_order_avx + DD imagerel $L$SEH_end_sha512_block_data_order_avx + DD imagerel $L$SEH_info_sha512_block_data_order_avx + DD imagerel $L$SEH_begin_sha512_block_data_order_avx2 + DD imagerel $L$SEH_end_sha512_block_data_order_avx2 + DD imagerel $L$SEH_info_sha512_block_data_order_avx2 +.pdata ENDS +.xdata SEGMENT READONLY 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 -$L$SEH_info_sha512_block_data_order_xop:: + DD imagerel se_handler + DD imagerel $L$prologue,imagerel $L$epilogue +$L$SEH_info_sha512_block_data_order_xop:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$prologue_xop,imagerel $L$epilogue_xop -$L$SEH_info_sha512_block_data_order_avx:: + DD imagerel se_handler + DD imagerel $L$prologue_xop,imagerel $L$epilogue_xop +$L$SEH_info_sha512_block_data_order_avx:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$prologue_avx,imagerel $L$epilogue_avx -$L$SEH_info_sha512_block_data_order_avx2:: + DD imagerel se_handler + DD imagerel $L$prologue_avx,imagerel $L$epilogue_avx +$L$SEH_info_sha512_block_data_order_avx2:: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$prologue_avx2,imagerel $L$epilogue_avx2 - -.xdata ENDS -END + DD imagerel se_handler + DD imagerel $L$prologue_avx2,imagerel $L$epilogue_avx2 + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/uplink-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/uplink-x86_64.masm index ab5f3d023d..31d6ad785b 100644 --- a/contrib/libs/openssl/asm/windows/crypto/uplink-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/uplink-x86_64.masm @@ -1,504 +1,504 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_Uplink:NEAR -PUBLIC OPENSSL_UplinkTable - -ALIGN 16 -_lazy1 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,1 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[8+rax] -_lazy1_end:: -_lazy1 ENDP - -ALIGN 16 -_lazy2 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,2 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[16+rax] -_lazy2_end:: -_lazy2 ENDP - -ALIGN 16 -_lazy3 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,3 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[24+rax] -_lazy3_end:: -_lazy3 ENDP - -ALIGN 16 -_lazy4 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,4 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[32+rax] -_lazy4_end:: -_lazy4 ENDP - -ALIGN 16 -_lazy5 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,5 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[40+rax] -_lazy5_end:: -_lazy5 ENDP - -ALIGN 16 -_lazy6 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,6 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[48+rax] -_lazy6_end:: -_lazy6 ENDP - -ALIGN 16 -_lazy7 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,7 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[56+rax] -_lazy7_end:: -_lazy7 ENDP - -ALIGN 16 -_lazy8 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,8 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[64+rax] -_lazy8_end:: -_lazy8 ENDP - -ALIGN 16 -_lazy9 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,9 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[72+rax] -_lazy9_end:: -_lazy9 ENDP - -ALIGN 16 -_lazy10 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,10 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[80+rax] -_lazy10_end:: -_lazy10 ENDP - -ALIGN 16 -_lazy11 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,11 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[88+rax] -_lazy11_end:: -_lazy11 ENDP - -ALIGN 16 -_lazy12 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,12 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[96+rax] -_lazy12_end:: -_lazy12 ENDP - -ALIGN 16 -_lazy13 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,13 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[104+rax] -_lazy13_end:: -_lazy13 ENDP - -ALIGN 16 -_lazy14 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,14 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[112+rax] -_lazy14_end:: -_lazy14 ENDP - -ALIGN 16 -_lazy15 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,15 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[120+rax] -_lazy15_end:: -_lazy15 ENDP - -ALIGN 16 -_lazy16 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,16 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[128+rax] -_lazy16_end:: -_lazy16 ENDP - -ALIGN 16 -_lazy17 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,17 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[136+rax] -_lazy17_end:: -_lazy17 ENDP - -ALIGN 16 -_lazy18 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,18 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[144+rax] -_lazy18_end:: -_lazy18 ENDP - -ALIGN 16 -_lazy19 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,19 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[152+rax] -_lazy19_end:: -_lazy19 ENDP - -ALIGN 16 -_lazy20 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,20 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[160+rax] -_lazy20_end:: -_lazy20 ENDP - -ALIGN 16 -_lazy21 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,21 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[168+rax] -_lazy21_end:: -_lazy21 ENDP - -ALIGN 16 -_lazy22 PROC PRIVATE -DB 048h,083h,0ECh,028h - mov QWORD PTR[48+rsp],rcx - mov QWORD PTR[56+rsp],rdx - mov QWORD PTR[64+rsp],r8 - mov QWORD PTR[72+rsp],r9 - lea rcx,QWORD PTR[OPENSSL_UplinkTable] - mov rdx,22 - call OPENSSL_Uplink - mov rcx,QWORD PTR[48+rsp] - mov rdx,QWORD PTR[56+rsp] - mov r8,QWORD PTR[64+rsp] - mov r9,QWORD PTR[72+rsp] - lea rax,QWORD PTR[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD PTR[176+rax] -_lazy22_end:: -_lazy22 ENDP -.text$ ENDS -_DATA SEGMENT -OPENSSL_UplinkTable:: - DQ 22 - DQ _lazy1 - DQ _lazy2 - DQ _lazy3 - DQ _lazy4 - DQ _lazy5 - DQ _lazy6 - DQ _lazy7 - DQ _lazy8 - DQ _lazy9 - DQ _lazy10 - DQ _lazy11 - DQ _lazy12 - DQ _lazy13 - DQ _lazy14 - DQ _lazy15 - DQ _lazy16 - DQ _lazy17 - DQ _lazy18 - DQ _lazy19 - DQ _lazy20 - DQ _lazy21 - DQ _lazy22 -_DATA ENDS -.pdata SEGMENT READONLY ALIGN(4) -ALIGN 4 - DD imagerel _lazy1,imagerel _lazy1_end,imagerel _lazy_unwind_info - DD imagerel _lazy2,imagerel _lazy2_end,imagerel _lazy_unwind_info - DD imagerel _lazy3,imagerel _lazy3_end,imagerel _lazy_unwind_info - DD imagerel _lazy4,imagerel _lazy4_end,imagerel _lazy_unwind_info - DD imagerel _lazy5,imagerel _lazy5_end,imagerel _lazy_unwind_info - DD imagerel _lazy6,imagerel _lazy6_end,imagerel _lazy_unwind_info - DD imagerel _lazy7,imagerel _lazy7_end,imagerel _lazy_unwind_info - DD imagerel _lazy8,imagerel _lazy8_end,imagerel _lazy_unwind_info - DD imagerel _lazy9,imagerel _lazy9_end,imagerel _lazy_unwind_info - DD imagerel _lazy10,imagerel _lazy10_end,imagerel _lazy_unwind_info - DD imagerel _lazy11,imagerel _lazy11_end,imagerel _lazy_unwind_info - DD imagerel _lazy12,imagerel _lazy12_end,imagerel _lazy_unwind_info - DD imagerel _lazy13,imagerel _lazy13_end,imagerel _lazy_unwind_info - DD imagerel _lazy14,imagerel _lazy14_end,imagerel _lazy_unwind_info - DD imagerel _lazy15,imagerel _lazy15_end,imagerel _lazy_unwind_info - DD imagerel _lazy16,imagerel _lazy16_end,imagerel _lazy_unwind_info - DD imagerel _lazy17,imagerel _lazy17_end,imagerel _lazy_unwind_info - DD imagerel _lazy18,imagerel _lazy18_end,imagerel _lazy_unwind_info - DD imagerel _lazy19,imagerel _lazy19_end,imagerel _lazy_unwind_info - DD imagerel _lazy20,imagerel _lazy20_end,imagerel _lazy_unwind_info - DD imagerel _lazy21,imagerel _lazy21_end,imagerel _lazy_unwind_info - DD imagerel _lazy22,imagerel _lazy22_end,imagerel _lazy_unwind_info -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) -ALIGN 8 -_lazy_unwind_info:: -DB 001h,004h,001h,000h -DB 004h,042h,000h,000h - -.xdata ENDS -END +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' +EXTERN OPENSSL_Uplink:NEAR +PUBLIC OPENSSL_UplinkTable + +ALIGN 16 +_lazy1 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,1 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[8+rax] +_lazy1_end:: +_lazy1 ENDP + +ALIGN 16 +_lazy2 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,2 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[16+rax] +_lazy2_end:: +_lazy2 ENDP + +ALIGN 16 +_lazy3 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,3 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[24+rax] +_lazy3_end:: +_lazy3 ENDP + +ALIGN 16 +_lazy4 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,4 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[32+rax] +_lazy4_end:: +_lazy4 ENDP + +ALIGN 16 +_lazy5 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,5 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[40+rax] +_lazy5_end:: +_lazy5 ENDP + +ALIGN 16 +_lazy6 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,6 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[48+rax] +_lazy6_end:: +_lazy6 ENDP + +ALIGN 16 +_lazy7 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,7 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[56+rax] +_lazy7_end:: +_lazy7 ENDP + +ALIGN 16 +_lazy8 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,8 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[64+rax] +_lazy8_end:: +_lazy8 ENDP + +ALIGN 16 +_lazy9 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,9 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[72+rax] +_lazy9_end:: +_lazy9 ENDP + +ALIGN 16 +_lazy10 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,10 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[80+rax] +_lazy10_end:: +_lazy10 ENDP + +ALIGN 16 +_lazy11 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,11 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[88+rax] +_lazy11_end:: +_lazy11 ENDP + +ALIGN 16 +_lazy12 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,12 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[96+rax] +_lazy12_end:: +_lazy12 ENDP + +ALIGN 16 +_lazy13 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,13 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[104+rax] +_lazy13_end:: +_lazy13 ENDP + +ALIGN 16 +_lazy14 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,14 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[112+rax] +_lazy14_end:: +_lazy14 ENDP + +ALIGN 16 +_lazy15 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,15 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[120+rax] +_lazy15_end:: +_lazy15 ENDP + +ALIGN 16 +_lazy16 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,16 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[128+rax] +_lazy16_end:: +_lazy16 ENDP + +ALIGN 16 +_lazy17 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,17 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[136+rax] +_lazy17_end:: +_lazy17 ENDP + +ALIGN 16 +_lazy18 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,18 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[144+rax] +_lazy18_end:: +_lazy18 ENDP + +ALIGN 16 +_lazy19 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,19 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[152+rax] +_lazy19_end:: +_lazy19 ENDP + +ALIGN 16 +_lazy20 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,20 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[160+rax] +_lazy20_end:: +_lazy20 ENDP + +ALIGN 16 +_lazy21 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,21 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[168+rax] +_lazy21_end:: +_lazy21 ENDP + +ALIGN 16 +_lazy22 PROC PRIVATE +DB 048h,083h,0ECh,028h + mov QWORD PTR[48+rsp],rcx + mov QWORD PTR[56+rsp],rdx + mov QWORD PTR[64+rsp],r8 + mov QWORD PTR[72+rsp],r9 + lea rcx,QWORD PTR[OPENSSL_UplinkTable] + mov rdx,22 + call OPENSSL_Uplink + mov rcx,QWORD PTR[48+rsp] + mov rdx,QWORD PTR[56+rsp] + mov r8,QWORD PTR[64+rsp] + mov r9,QWORD PTR[72+rsp] + lea rax,QWORD PTR[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD PTR[176+rax] +_lazy22_end:: +_lazy22 ENDP +.text$ ENDS +_DATA SEGMENT +OPENSSL_UplinkTable:: + DQ 22 + DQ _lazy1 + DQ _lazy2 + DQ _lazy3 + DQ _lazy4 + DQ _lazy5 + DQ _lazy6 + DQ _lazy7 + DQ _lazy8 + DQ _lazy9 + DQ _lazy10 + DQ _lazy11 + DQ _lazy12 + DQ _lazy13 + DQ _lazy14 + DQ _lazy15 + DQ _lazy16 + DQ _lazy17 + DQ _lazy18 + DQ _lazy19 + DQ _lazy20 + DQ _lazy21 + DQ _lazy22 +_DATA ENDS +.pdata SEGMENT READONLY ALIGN(4) +ALIGN 4 + DD imagerel _lazy1,imagerel _lazy1_end,imagerel _lazy_unwind_info + DD imagerel _lazy2,imagerel _lazy2_end,imagerel _lazy_unwind_info + DD imagerel _lazy3,imagerel _lazy3_end,imagerel _lazy_unwind_info + DD imagerel _lazy4,imagerel _lazy4_end,imagerel _lazy_unwind_info + DD imagerel _lazy5,imagerel _lazy5_end,imagerel _lazy_unwind_info + DD imagerel _lazy6,imagerel _lazy6_end,imagerel _lazy_unwind_info + DD imagerel _lazy7,imagerel _lazy7_end,imagerel _lazy_unwind_info + DD imagerel _lazy8,imagerel _lazy8_end,imagerel _lazy_unwind_info + DD imagerel _lazy9,imagerel _lazy9_end,imagerel _lazy_unwind_info + DD imagerel _lazy10,imagerel _lazy10_end,imagerel _lazy_unwind_info + DD imagerel _lazy11,imagerel _lazy11_end,imagerel _lazy_unwind_info + DD imagerel _lazy12,imagerel _lazy12_end,imagerel _lazy_unwind_info + DD imagerel _lazy13,imagerel _lazy13_end,imagerel _lazy_unwind_info + DD imagerel _lazy14,imagerel _lazy14_end,imagerel _lazy_unwind_info + DD imagerel _lazy15,imagerel _lazy15_end,imagerel _lazy_unwind_info + DD imagerel _lazy16,imagerel _lazy16_end,imagerel _lazy_unwind_info + DD imagerel _lazy17,imagerel _lazy17_end,imagerel _lazy_unwind_info + DD imagerel _lazy18,imagerel _lazy18_end,imagerel _lazy_unwind_info + DD imagerel _lazy19,imagerel _lazy19_end,imagerel _lazy_unwind_info + DD imagerel _lazy20,imagerel _lazy20_end,imagerel _lazy_unwind_info + DD imagerel _lazy21,imagerel _lazy21_end,imagerel _lazy_unwind_info + DD imagerel _lazy22,imagerel _lazy22_end,imagerel _lazy_unwind_info +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) +ALIGN 8 +_lazy_unwind_info:: +DB 001h,004h,001h,000h +DB 004h,042h,000h,000h + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/whrlpool/wp-x86_64.masm b/contrib/libs/openssl/asm/windows/crypto/whrlpool/wp-x86_64.masm index 2aa0f438ca..f0102e87fe 100644 --- a/contrib/libs/openssl/asm/windows/crypto/whrlpool/wp-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/crypto/whrlpool/wp-x86_64.masm @@ -1,14 +1,14 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' -PUBLIC whirlpool_block +PUBLIC whirlpool_block ALIGN 16 -whirlpool_block PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +whirlpool_block PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_whirlpool_block:: +$L$SEH_begin_whirlpool_block:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -33,597 +33,597 @@ $L$SEH_begin_whirlpool_block:: sub rsp,128+40 and rsp,-64 - lea r10,QWORD PTR[128+rsp] - mov QWORD PTR[r10],rdi - mov QWORD PTR[8+r10],rsi - mov QWORD PTR[16+r10],rdx - mov QWORD PTR[32+r10],rax + lea r10,QWORD PTR[128+rsp] + mov QWORD PTR[r10],rdi + mov QWORD PTR[8+r10],rsi + mov QWORD PTR[16+r10],rdx + mov QWORD PTR[32+r10],rax -$L$prologue:: +$L$prologue:: mov rbx,r10 - lea rbp,QWORD PTR[$L$table] + lea rbp,QWORD PTR[$L$table] xor rcx,rcx xor rdx,rdx - mov r8,QWORD PTR[rdi] - mov r9,QWORD PTR[8+rdi] - mov r10,QWORD PTR[16+rdi] - mov r11,QWORD PTR[24+rdi] - mov r12,QWORD PTR[32+rdi] - mov r13,QWORD PTR[40+rdi] - mov r14,QWORD PTR[48+rdi] - mov r15,QWORD PTR[56+rdi] -$L$outerloop:: - mov QWORD PTR[rsp],r8 - mov QWORD PTR[8+rsp],r9 - mov QWORD PTR[16+rsp],r10 - mov QWORD PTR[24+rsp],r11 - mov QWORD PTR[32+rsp],r12 - mov QWORD PTR[40+rsp],r13 - mov QWORD PTR[48+rsp],r14 - mov QWORD PTR[56+rsp],r15 - xor r8,QWORD PTR[rsi] - xor r9,QWORD PTR[8+rsi] - xor r10,QWORD PTR[16+rsi] - xor r11,QWORD PTR[24+rsi] - xor r12,QWORD PTR[32+rsi] - xor r13,QWORD PTR[40+rsi] - xor r14,QWORD PTR[48+rsi] - xor r15,QWORD PTR[56+rsi] - mov QWORD PTR[((64+0))+rsp],r8 - mov QWORD PTR[((64+8))+rsp],r9 - mov QWORD PTR[((64+16))+rsp],r10 - mov QWORD PTR[((64+24))+rsp],r11 - mov QWORD PTR[((64+32))+rsp],r12 - mov QWORD PTR[((64+40))+rsp],r13 - mov QWORD PTR[((64+48))+rsp],r14 - mov QWORD PTR[((64+56))+rsp],r15 + mov r8,QWORD PTR[rdi] + mov r9,QWORD PTR[8+rdi] + mov r10,QWORD PTR[16+rdi] + mov r11,QWORD PTR[24+rdi] + mov r12,QWORD PTR[32+rdi] + mov r13,QWORD PTR[40+rdi] + mov r14,QWORD PTR[48+rdi] + mov r15,QWORD PTR[56+rdi] +$L$outerloop:: + mov QWORD PTR[rsp],r8 + mov QWORD PTR[8+rsp],r9 + mov QWORD PTR[16+rsp],r10 + mov QWORD PTR[24+rsp],r11 + mov QWORD PTR[32+rsp],r12 + mov QWORD PTR[40+rsp],r13 + mov QWORD PTR[48+rsp],r14 + mov QWORD PTR[56+rsp],r15 + xor r8,QWORD PTR[rsi] + xor r9,QWORD PTR[8+rsi] + xor r10,QWORD PTR[16+rsi] + xor r11,QWORD PTR[24+rsi] + xor r12,QWORD PTR[32+rsi] + xor r13,QWORD PTR[40+rsi] + xor r14,QWORD PTR[48+rsi] + xor r15,QWORD PTR[56+rsi] + mov QWORD PTR[((64+0))+rsp],r8 + mov QWORD PTR[((64+8))+rsp],r9 + mov QWORD PTR[((64+16))+rsp],r10 + mov QWORD PTR[((64+24))+rsp],r11 + mov QWORD PTR[((64+32))+rsp],r12 + mov QWORD PTR[((64+40))+rsp],r13 + mov QWORD PTR[((64+48))+rsp],r14 + mov QWORD PTR[((64+56))+rsp],r15 xor rsi,rsi - mov QWORD PTR[24+rbx],rsi - jmp $L$round + mov QWORD PTR[24+rbx],rsi + jmp $L$round ALIGN 16 -$L$round:: - mov r8,QWORD PTR[4096+rsi*8+rbp] - mov eax,DWORD PTR[rsp] - mov ebx,DWORD PTR[4+rsp] +$L$round:: + mov r8,QWORD PTR[4096+rsi*8+rbp] + mov eax,DWORD PTR[rsp] + mov ebx,DWORD PTR[4+rsp] movzx ecx,al movzx edx,ah shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r8,QWORD PTR[rsi*8+rbp] - mov r9,QWORD PTR[7+rdi*8+rbp] - mov eax,DWORD PTR[((0+8))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r8,QWORD PTR[rsi*8+rbp] + mov r9,QWORD PTR[7+rdi*8+rbp] + mov eax,DWORD PTR[((0+8))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - mov r10,QWORD PTR[6+rsi*8+rbp] - mov r11,QWORD PTR[5+rdi*8+rbp] + mov r10,QWORD PTR[6+rsi*8+rbp] + mov r11,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - mov r12,QWORD PTR[4+rsi*8+rbp] - mov r13,QWORD PTR[3+rdi*8+rbp] - mov ebx,DWORD PTR[((0+8+4))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + mov r12,QWORD PTR[4+rsi*8+rbp] + mov r13,QWORD PTR[3+rdi*8+rbp] + mov ebx,DWORD PTR[((0+8+4))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - mov r14,QWORD PTR[2+rsi*8+rbp] - mov r15,QWORD PTR[1+rdi*8+rbp] + mov r14,QWORD PTR[2+rsi*8+rbp] + mov r15,QWORD PTR[1+rdi*8+rbp] shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r9,QWORD PTR[rsi*8+rbp] - xor r10,QWORD PTR[7+rdi*8+rbp] - mov eax,DWORD PTR[((8+8))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r9,QWORD PTR[rsi*8+rbp] + xor r10,QWORD PTR[7+rdi*8+rbp] + mov eax,DWORD PTR[((8+8))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r11,QWORD PTR[6+rsi*8+rbp] - xor r12,QWORD PTR[5+rdi*8+rbp] + xor r11,QWORD PTR[6+rsi*8+rbp] + xor r12,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r13,QWORD PTR[4+rsi*8+rbp] - xor r14,QWORD PTR[3+rdi*8+rbp] - mov ebx,DWORD PTR[((8+8+4))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r13,QWORD PTR[4+rsi*8+rbp] + xor r14,QWORD PTR[3+rdi*8+rbp] + mov ebx,DWORD PTR[((8+8+4))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r15,QWORD PTR[2+rsi*8+rbp] - xor r8,QWORD PTR[1+rdi*8+rbp] + xor r15,QWORD PTR[2+rsi*8+rbp] + xor r8,QWORD PTR[1+rdi*8+rbp] shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r10,QWORD PTR[rsi*8+rbp] - xor r11,QWORD PTR[7+rdi*8+rbp] - mov eax,DWORD PTR[((16+8))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r10,QWORD PTR[rsi*8+rbp] + xor r11,QWORD PTR[7+rdi*8+rbp] + mov eax,DWORD PTR[((16+8))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r12,QWORD PTR[6+rsi*8+rbp] - xor r13,QWORD PTR[5+rdi*8+rbp] + xor r12,QWORD PTR[6+rsi*8+rbp] + xor r13,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r14,QWORD PTR[4+rsi*8+rbp] - xor r15,QWORD PTR[3+rdi*8+rbp] - mov ebx,DWORD PTR[((16+8+4))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r14,QWORD PTR[4+rsi*8+rbp] + xor r15,QWORD PTR[3+rdi*8+rbp] + mov ebx,DWORD PTR[((16+8+4))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r8,QWORD PTR[2+rsi*8+rbp] - xor r9,QWORD PTR[1+rdi*8+rbp] + xor r8,QWORD PTR[2+rsi*8+rbp] + xor r9,QWORD PTR[1+rdi*8+rbp] shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r11,QWORD PTR[rsi*8+rbp] - xor r12,QWORD PTR[7+rdi*8+rbp] - mov eax,DWORD PTR[((24+8))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r11,QWORD PTR[rsi*8+rbp] + xor r12,QWORD PTR[7+rdi*8+rbp] + mov eax,DWORD PTR[((24+8))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r13,QWORD PTR[6+rsi*8+rbp] - xor r14,QWORD PTR[5+rdi*8+rbp] + xor r13,QWORD PTR[6+rsi*8+rbp] + xor r14,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r15,QWORD PTR[4+rsi*8+rbp] - xor r8,QWORD PTR[3+rdi*8+rbp] - mov ebx,DWORD PTR[((24+8+4))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r15,QWORD PTR[4+rsi*8+rbp] + xor r8,QWORD PTR[3+rdi*8+rbp] + mov ebx,DWORD PTR[((24+8+4))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r9,QWORD PTR[2+rsi*8+rbp] - xor r10,QWORD PTR[1+rdi*8+rbp] + xor r9,QWORD PTR[2+rsi*8+rbp] + xor r10,QWORD PTR[1+rdi*8+rbp] shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r12,QWORD PTR[rsi*8+rbp] - xor r13,QWORD PTR[7+rdi*8+rbp] - mov eax,DWORD PTR[((32+8))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r12,QWORD PTR[rsi*8+rbp] + xor r13,QWORD PTR[7+rdi*8+rbp] + mov eax,DWORD PTR[((32+8))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r14,QWORD PTR[6+rsi*8+rbp] - xor r15,QWORD PTR[5+rdi*8+rbp] + xor r14,QWORD PTR[6+rsi*8+rbp] + xor r15,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r8,QWORD PTR[4+rsi*8+rbp] - xor r9,QWORD PTR[3+rdi*8+rbp] - mov ebx,DWORD PTR[((32+8+4))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r8,QWORD PTR[4+rsi*8+rbp] + xor r9,QWORD PTR[3+rdi*8+rbp] + mov ebx,DWORD PTR[((32+8+4))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r10,QWORD PTR[2+rsi*8+rbp] - xor r11,QWORD PTR[1+rdi*8+rbp] + xor r10,QWORD PTR[2+rsi*8+rbp] + xor r11,QWORD PTR[1+rdi*8+rbp] shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r13,QWORD PTR[rsi*8+rbp] - xor r14,QWORD PTR[7+rdi*8+rbp] - mov eax,DWORD PTR[((40+8))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r13,QWORD PTR[rsi*8+rbp] + xor r14,QWORD PTR[7+rdi*8+rbp] + mov eax,DWORD PTR[((40+8))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r15,QWORD PTR[6+rsi*8+rbp] - xor r8,QWORD PTR[5+rdi*8+rbp] + xor r15,QWORD PTR[6+rsi*8+rbp] + xor r8,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r9,QWORD PTR[4+rsi*8+rbp] - xor r10,QWORD PTR[3+rdi*8+rbp] - mov ebx,DWORD PTR[((40+8+4))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r9,QWORD PTR[4+rsi*8+rbp] + xor r10,QWORD PTR[3+rdi*8+rbp] + mov ebx,DWORD PTR[((40+8+4))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r11,QWORD PTR[2+rsi*8+rbp] - xor r12,QWORD PTR[1+rdi*8+rbp] + xor r11,QWORD PTR[2+rsi*8+rbp] + xor r12,QWORD PTR[1+rdi*8+rbp] shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r14,QWORD PTR[rsi*8+rbp] - xor r15,QWORD PTR[7+rdi*8+rbp] - mov eax,DWORD PTR[((48+8))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r14,QWORD PTR[rsi*8+rbp] + xor r15,QWORD PTR[7+rdi*8+rbp] + mov eax,DWORD PTR[((48+8))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r8,QWORD PTR[6+rsi*8+rbp] - xor r9,QWORD PTR[5+rdi*8+rbp] + xor r8,QWORD PTR[6+rsi*8+rbp] + xor r9,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r10,QWORD PTR[4+rsi*8+rbp] - xor r11,QWORD PTR[3+rdi*8+rbp] - mov ebx,DWORD PTR[((48+8+4))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r10,QWORD PTR[4+rsi*8+rbp] + xor r11,QWORD PTR[3+rdi*8+rbp] + mov ebx,DWORD PTR[((48+8+4))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r12,QWORD PTR[2+rsi*8+rbp] - xor r13,QWORD PTR[1+rdi*8+rbp] + xor r12,QWORD PTR[2+rsi*8+rbp] + xor r13,QWORD PTR[1+rdi*8+rbp] shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r15,QWORD PTR[rsi*8+rbp] - xor r8,QWORD PTR[7+rdi*8+rbp] - mov eax,DWORD PTR[((56+8))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r15,QWORD PTR[rsi*8+rbp] + xor r8,QWORD PTR[7+rdi*8+rbp] + mov eax,DWORD PTR[((56+8))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r9,QWORD PTR[6+rsi*8+rbp] - xor r10,QWORD PTR[5+rdi*8+rbp] + xor r9,QWORD PTR[6+rsi*8+rbp] + xor r10,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] - movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] - movzx edx,bh - xor r11,QWORD PTR[4+rsi*8+rbp] - xor r12,QWORD PTR[3+rdi*8+rbp] - mov ebx,DWORD PTR[((56+8+4))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] - movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] - movzx edx,ah - xor r13,QWORD PTR[2+rsi*8+rbp] - xor r14,QWORD PTR[1+rdi*8+rbp] - mov QWORD PTR[rsp],r8 - mov QWORD PTR[8+rsp],r9 - mov QWORD PTR[16+rsp],r10 - mov QWORD PTR[24+rsp],r11 - mov QWORD PTR[32+rsp],r12 - mov QWORD PTR[40+rsp],r13 - mov QWORD PTR[48+rsp],r14 - mov QWORD PTR[56+rsp],r15 + lea rsi,QWORD PTR[rcx*1+rcx] + movzx ecx,bl + lea rdi,QWORD PTR[rdx*1+rdx] + movzx edx,bh + xor r11,QWORD PTR[4+rsi*8+rbp] + xor r12,QWORD PTR[3+rdi*8+rbp] + mov ebx,DWORD PTR[((56+8+4))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] + movzx ecx,al + lea rdi,QWORD PTR[rdx*1+rdx] + movzx edx,ah + xor r13,QWORD PTR[2+rsi*8+rbp] + xor r14,QWORD PTR[1+rdi*8+rbp] + mov QWORD PTR[rsp],r8 + mov QWORD PTR[8+rsp],r9 + mov QWORD PTR[16+rsp],r10 + mov QWORD PTR[24+rsp],r11 + mov QWORD PTR[32+rsp],r12 + mov QWORD PTR[40+rsp],r13 + mov QWORD PTR[48+rsp],r14 + mov QWORD PTR[56+rsp],r15 shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r8,QWORD PTR[rsi*8+rbp] - xor r9,QWORD PTR[7+rdi*8+rbp] - mov eax,DWORD PTR[((64+0+8))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r8,QWORD PTR[rsi*8+rbp] + xor r9,QWORD PTR[7+rdi*8+rbp] + mov eax,DWORD PTR[((64+0+8))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r10,QWORD PTR[6+rsi*8+rbp] - xor r11,QWORD PTR[5+rdi*8+rbp] + xor r10,QWORD PTR[6+rsi*8+rbp] + xor r11,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r12,QWORD PTR[4+rsi*8+rbp] - xor r13,QWORD PTR[3+rdi*8+rbp] - mov ebx,DWORD PTR[((64+0+8+4))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r12,QWORD PTR[4+rsi*8+rbp] + xor r13,QWORD PTR[3+rdi*8+rbp] + mov ebx,DWORD PTR[((64+0+8+4))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r14,QWORD PTR[2+rsi*8+rbp] - xor r15,QWORD PTR[1+rdi*8+rbp] + xor r14,QWORD PTR[2+rsi*8+rbp] + xor r15,QWORD PTR[1+rdi*8+rbp] shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r9,QWORD PTR[rsi*8+rbp] - xor r10,QWORD PTR[7+rdi*8+rbp] - mov eax,DWORD PTR[((64+8+8))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r9,QWORD PTR[rsi*8+rbp] + xor r10,QWORD PTR[7+rdi*8+rbp] + mov eax,DWORD PTR[((64+8+8))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r11,QWORD PTR[6+rsi*8+rbp] - xor r12,QWORD PTR[5+rdi*8+rbp] + xor r11,QWORD PTR[6+rsi*8+rbp] + xor r12,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r13,QWORD PTR[4+rsi*8+rbp] - xor r14,QWORD PTR[3+rdi*8+rbp] - mov ebx,DWORD PTR[((64+8+8+4))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r13,QWORD PTR[4+rsi*8+rbp] + xor r14,QWORD PTR[3+rdi*8+rbp] + mov ebx,DWORD PTR[((64+8+8+4))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r15,QWORD PTR[2+rsi*8+rbp] - xor r8,QWORD PTR[1+rdi*8+rbp] + xor r15,QWORD PTR[2+rsi*8+rbp] + xor r8,QWORD PTR[1+rdi*8+rbp] shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r10,QWORD PTR[rsi*8+rbp] - xor r11,QWORD PTR[7+rdi*8+rbp] - mov eax,DWORD PTR[((64+16+8))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r10,QWORD PTR[rsi*8+rbp] + xor r11,QWORD PTR[7+rdi*8+rbp] + mov eax,DWORD PTR[((64+16+8))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r12,QWORD PTR[6+rsi*8+rbp] - xor r13,QWORD PTR[5+rdi*8+rbp] + xor r12,QWORD PTR[6+rsi*8+rbp] + xor r13,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r14,QWORD PTR[4+rsi*8+rbp] - xor r15,QWORD PTR[3+rdi*8+rbp] - mov ebx,DWORD PTR[((64+16+8+4))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r14,QWORD PTR[4+rsi*8+rbp] + xor r15,QWORD PTR[3+rdi*8+rbp] + mov ebx,DWORD PTR[((64+16+8+4))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r8,QWORD PTR[2+rsi*8+rbp] - xor r9,QWORD PTR[1+rdi*8+rbp] + xor r8,QWORD PTR[2+rsi*8+rbp] + xor r9,QWORD PTR[1+rdi*8+rbp] shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r11,QWORD PTR[rsi*8+rbp] - xor r12,QWORD PTR[7+rdi*8+rbp] - mov eax,DWORD PTR[((64+24+8))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r11,QWORD PTR[rsi*8+rbp] + xor r12,QWORD PTR[7+rdi*8+rbp] + mov eax,DWORD PTR[((64+24+8))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r13,QWORD PTR[6+rsi*8+rbp] - xor r14,QWORD PTR[5+rdi*8+rbp] + xor r13,QWORD PTR[6+rsi*8+rbp] + xor r14,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r15,QWORD PTR[4+rsi*8+rbp] - xor r8,QWORD PTR[3+rdi*8+rbp] - mov ebx,DWORD PTR[((64+24+8+4))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r15,QWORD PTR[4+rsi*8+rbp] + xor r8,QWORD PTR[3+rdi*8+rbp] + mov ebx,DWORD PTR[((64+24+8+4))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r9,QWORD PTR[2+rsi*8+rbp] - xor r10,QWORD PTR[1+rdi*8+rbp] + xor r9,QWORD PTR[2+rsi*8+rbp] + xor r10,QWORD PTR[1+rdi*8+rbp] shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r12,QWORD PTR[rsi*8+rbp] - xor r13,QWORD PTR[7+rdi*8+rbp] - mov eax,DWORD PTR[((64+32+8))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r12,QWORD PTR[rsi*8+rbp] + xor r13,QWORD PTR[7+rdi*8+rbp] + mov eax,DWORD PTR[((64+32+8))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r14,QWORD PTR[6+rsi*8+rbp] - xor r15,QWORD PTR[5+rdi*8+rbp] + xor r14,QWORD PTR[6+rsi*8+rbp] + xor r15,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r8,QWORD PTR[4+rsi*8+rbp] - xor r9,QWORD PTR[3+rdi*8+rbp] - mov ebx,DWORD PTR[((64+32+8+4))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r8,QWORD PTR[4+rsi*8+rbp] + xor r9,QWORD PTR[3+rdi*8+rbp] + mov ebx,DWORD PTR[((64+32+8+4))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r10,QWORD PTR[2+rsi*8+rbp] - xor r11,QWORD PTR[1+rdi*8+rbp] + xor r10,QWORD PTR[2+rsi*8+rbp] + xor r11,QWORD PTR[1+rdi*8+rbp] shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r13,QWORD PTR[rsi*8+rbp] - xor r14,QWORD PTR[7+rdi*8+rbp] - mov eax,DWORD PTR[((64+40+8))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r13,QWORD PTR[rsi*8+rbp] + xor r14,QWORD PTR[7+rdi*8+rbp] + mov eax,DWORD PTR[((64+40+8))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r15,QWORD PTR[6+rsi*8+rbp] - xor r8,QWORD PTR[5+rdi*8+rbp] + xor r15,QWORD PTR[6+rsi*8+rbp] + xor r8,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r9,QWORD PTR[4+rsi*8+rbp] - xor r10,QWORD PTR[3+rdi*8+rbp] - mov ebx,DWORD PTR[((64+40+8+4))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r9,QWORD PTR[4+rsi*8+rbp] + xor r10,QWORD PTR[3+rdi*8+rbp] + mov ebx,DWORD PTR[((64+40+8+4))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r11,QWORD PTR[2+rsi*8+rbp] - xor r12,QWORD PTR[1+rdi*8+rbp] + xor r11,QWORD PTR[2+rsi*8+rbp] + xor r12,QWORD PTR[1+rdi*8+rbp] shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r14,QWORD PTR[rsi*8+rbp] - xor r15,QWORD PTR[7+rdi*8+rbp] - mov eax,DWORD PTR[((64+48+8))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r14,QWORD PTR[rsi*8+rbp] + xor r15,QWORD PTR[7+rdi*8+rbp] + mov eax,DWORD PTR[((64+48+8))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r8,QWORD PTR[6+rsi*8+rbp] - xor r9,QWORD PTR[5+rdi*8+rbp] + xor r8,QWORD PTR[6+rsi*8+rbp] + xor r9,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r10,QWORD PTR[4+rsi*8+rbp] - xor r11,QWORD PTR[3+rdi*8+rbp] - mov ebx,DWORD PTR[((64+48+8+4))+rsp] - lea rsi,QWORD PTR[rcx*1+rcx] + xor r10,QWORD PTR[4+rsi*8+rbp] + xor r11,QWORD PTR[3+rdi*8+rbp] + mov ebx,DWORD PTR[((64+48+8+4))+rsp] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r12,QWORD PTR[2+rsi*8+rbp] - xor r13,QWORD PTR[1+rdi*8+rbp] + xor r12,QWORD PTR[2+rsi*8+rbp] + xor r13,QWORD PTR[1+rdi*8+rbp] shr eax,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r15,QWORD PTR[rsi*8+rbp] - xor r8,QWORD PTR[7+rdi*8+rbp] + xor r15,QWORD PTR[rsi*8+rbp] + xor r8,QWORD PTR[7+rdi*8+rbp] - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r9,QWORD PTR[6+rsi*8+rbp] - xor r10,QWORD PTR[5+rdi*8+rbp] + xor r9,QWORD PTR[6+rsi*8+rbp] + xor r10,QWORD PTR[5+rdi*8+rbp] shr ebx,16 - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,bl - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,bh - xor r11,QWORD PTR[4+rsi*8+rbp] - xor r12,QWORD PTR[3+rdi*8+rbp] + xor r11,QWORD PTR[4+rsi*8+rbp] + xor r12,QWORD PTR[3+rdi*8+rbp] - lea rsi,QWORD PTR[rcx*1+rcx] + lea rsi,QWORD PTR[rcx*1+rcx] movzx ecx,al - lea rdi,QWORD PTR[rdx*1+rdx] + lea rdi,QWORD PTR[rdx*1+rdx] movzx edx,ah - xor r13,QWORD PTR[2+rsi*8+rbp] - xor r14,QWORD PTR[1+rdi*8+rbp] - lea rbx,QWORD PTR[128+rsp] - mov rsi,QWORD PTR[24+rbx] + xor r13,QWORD PTR[2+rsi*8+rbp] + xor r14,QWORD PTR[1+rdi*8+rbp] + lea rbx,QWORD PTR[128+rsp] + mov rsi,QWORD PTR[24+rbx] add rsi,1 cmp rsi,10 - je $L$roundsdone - - mov QWORD PTR[24+rbx],rsi - mov QWORD PTR[((64+0))+rsp],r8 - mov QWORD PTR[((64+8))+rsp],r9 - mov QWORD PTR[((64+16))+rsp],r10 - mov QWORD PTR[((64+24))+rsp],r11 - mov QWORD PTR[((64+32))+rsp],r12 - mov QWORD PTR[((64+40))+rsp],r13 - mov QWORD PTR[((64+48))+rsp],r14 - mov QWORD PTR[((64+56))+rsp],r15 - jmp $L$round + je $L$roundsdone + + mov QWORD PTR[24+rbx],rsi + mov QWORD PTR[((64+0))+rsp],r8 + mov QWORD PTR[((64+8))+rsp],r9 + mov QWORD PTR[((64+16))+rsp],r10 + mov QWORD PTR[((64+24))+rsp],r11 + mov QWORD PTR[((64+32))+rsp],r12 + mov QWORD PTR[((64+40))+rsp],r13 + mov QWORD PTR[((64+48))+rsp],r14 + mov QWORD PTR[((64+56))+rsp],r15 + jmp $L$round ALIGN 16 -$L$roundsdone:: - mov rdi,QWORD PTR[rbx] - mov rsi,QWORD PTR[8+rbx] - mov rax,QWORD PTR[16+rbx] - xor r8,QWORD PTR[rsi] - xor r9,QWORD PTR[8+rsi] - xor r10,QWORD PTR[16+rsi] - xor r11,QWORD PTR[24+rsi] - xor r12,QWORD PTR[32+rsi] - xor r13,QWORD PTR[40+rsi] - xor r14,QWORD PTR[48+rsi] - xor r15,QWORD PTR[56+rsi] - xor r8,QWORD PTR[rdi] - xor r9,QWORD PTR[8+rdi] - xor r10,QWORD PTR[16+rdi] - xor r11,QWORD PTR[24+rdi] - xor r12,QWORD PTR[32+rdi] - xor r13,QWORD PTR[40+rdi] - xor r14,QWORD PTR[48+rdi] - xor r15,QWORD PTR[56+rdi] - mov QWORD PTR[rdi],r8 - mov QWORD PTR[8+rdi],r9 - mov QWORD PTR[16+rdi],r10 - mov QWORD PTR[24+rdi],r11 - mov QWORD PTR[32+rdi],r12 - mov QWORD PTR[40+rdi],r13 - mov QWORD PTR[48+rdi],r14 - mov QWORD PTR[56+rdi],r15 - lea rsi,QWORD PTR[64+rsi] +$L$roundsdone:: + mov rdi,QWORD PTR[rbx] + mov rsi,QWORD PTR[8+rbx] + mov rax,QWORD PTR[16+rbx] + xor r8,QWORD PTR[rsi] + xor r9,QWORD PTR[8+rsi] + xor r10,QWORD PTR[16+rsi] + xor r11,QWORD PTR[24+rsi] + xor r12,QWORD PTR[32+rsi] + xor r13,QWORD PTR[40+rsi] + xor r14,QWORD PTR[48+rsi] + xor r15,QWORD PTR[56+rsi] + xor r8,QWORD PTR[rdi] + xor r9,QWORD PTR[8+rdi] + xor r10,QWORD PTR[16+rdi] + xor r11,QWORD PTR[24+rdi] + xor r12,QWORD PTR[32+rdi] + xor r13,QWORD PTR[40+rdi] + xor r14,QWORD PTR[48+rdi] + xor r15,QWORD PTR[56+rdi] + mov QWORD PTR[rdi],r8 + mov QWORD PTR[8+rdi],r9 + mov QWORD PTR[16+rdi],r10 + mov QWORD PTR[24+rdi],r11 + mov QWORD PTR[32+rdi],r12 + mov QWORD PTR[40+rdi],r13 + mov QWORD PTR[48+rdi],r14 + mov QWORD PTR[56+rdi],r15 + lea rsi,QWORD PTR[64+rsi] sub rax,1 - jz $L$alldone - mov QWORD PTR[8+rbx],rsi - mov QWORD PTR[16+rbx],rax - jmp $L$outerloop -$L$alldone:: - mov rsi,QWORD PTR[32+rbx] + jz $L$alldone + mov QWORD PTR[8+rbx],rsi + mov QWORD PTR[16+rbx],rax + jmp $L$outerloop +$L$alldone:: + mov rsi,QWORD PTR[32+rbx] - mov r15,QWORD PTR[((-48))+rsi] + mov r15,QWORD PTR[((-48))+rsi] - mov r14,QWORD PTR[((-40))+rsi] + mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] + mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] + mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] + mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] + mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] + lea rsp,QWORD PTR[rsi] -$L$epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +$L$epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_whirlpool_block:: -whirlpool_block ENDP +$L$SEH_end_whirlpool_block:: +whirlpool_block ENDP ALIGN 64 -$L$table:: +$L$table:: DB 24,24,96,24,192,120,48,216,24,24,96,24,192,120,48,216 DB 35,35,140,35,5,175,70,38,35,35,140,35,5,175,70,38 DB 198,198,63,198,126,249,145,184,198,198,63,198,126,249,145,184 @@ -890,10 +890,10 @@ DB 189,93,16,244,203,62,5,103 DB 228,39,65,139,167,125,149,216 DB 251,238,124,102,221,23,71,158 DB 202,45,191,7,173,90,131,51 -EXTERN __imp_RtlVirtualUnwind:NEAR +EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 -se_handler PROC PRIVATE +se_handler PROC PRIVATE push rsi push rdi push rbx @@ -905,59 +905,59 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] - lea r10,QWORD PTR[$L$prologue] + lea r10,QWORD PTR[$L$prologue] cmp rbx,r10 - jb $L$in_prologue + jb $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD PTR[152+r8] - lea r10,QWORD PTR[$L$epilogue] + lea r10,QWORD PTR[$L$epilogue] cmp rbx,r10 - jae $L$in_prologue - - mov rax,QWORD PTR[((128+32))+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 - -$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 - - mov rdi,QWORD PTR[40+r9] + jae $L$in_prologue + + mov rax,QWORD PTR[((128+32))+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 + +$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 + + mov rdi,QWORD PTR[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0a548f3fch 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 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 eax,1 add rsp,64 @@ -971,21 +971,21 @@ $L$in_prologue:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP +se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) ALIGN 4 - DD imagerel $L$SEH_begin_whirlpool_block - DD imagerel $L$SEH_end_whirlpool_block - DD imagerel $L$SEH_info_whirlpool_block + DD imagerel $L$SEH_begin_whirlpool_block + DD imagerel $L$SEH_end_whirlpool_block + DD imagerel $L$SEH_info_whirlpool_block -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) +.pdata ENDS +.xdata SEGMENT READONLY ALIGN(8) ALIGN 8 -$L$SEH_info_whirlpool_block:: +$L$SEH_info_whirlpool_block:: DB 9,0,0,0 - DD imagerel se_handler - -.xdata ENDS -END + DD imagerel se_handler + +.xdata ENDS +END diff --git a/contrib/libs/openssl/asm/windows/crypto/x86_64cpuid.masm b/contrib/libs/openssl/asm/windows/crypto/x86_64cpuid.masm index 0b0ca8fb7e..3ee7ea3ff0 100644 --- a/contrib/libs/openssl/asm/windows/crypto/x86_64cpuid.masm +++ b/contrib/libs/openssl/asm/windows/crypto/x86_64cpuid.masm @@ -1,53 +1,53 @@ -OPTION DOTNAME -EXTERN OPENSSL_cpuid_setup:NEAR +OPTION DOTNAME +EXTERN OPENSSL_cpuid_setup:NEAR -.CRT$XCU SEGMENT READONLY ALIGN(8) +.CRT$XCU SEGMENT READONLY ALIGN(8) DQ OPENSSL_cpuid_setup -.CRT$XCU ENDS -_DATA SEGMENT -COMM OPENSSL_ia32cap_P:DWORD:4 +.CRT$XCU ENDS +_DATA SEGMENT +COMM OPENSSL_ia32cap_P:DWORD:4 -_DATA ENDS -.text$ SEGMENT ALIGN(256) 'CODE' +_DATA ENDS +.text$ SEGMENT ALIGN(256) 'CODE' -PUBLIC OPENSSL_atomic_add +PUBLIC OPENSSL_atomic_add -ALIGN 16 -OPENSSL_atomic_add PROC PUBLIC +ALIGN 16 +OPENSSL_atomic_add PROC PUBLIC - mov eax,DWORD PTR[rcx] -$L$spin:: lea r8,QWORD PTR[rax*1+rdx] -DB 0f0h - cmpxchg DWORD PTR[rcx],r8d - jne $L$spin + mov eax,DWORD PTR[rcx] +$L$spin:: lea r8,QWORD PTR[rax*1+rdx] +DB 0f0h + cmpxchg DWORD PTR[rcx],r8d + jne $L$spin mov eax,r8d -DB 048h,098h +DB 048h,098h DB 0F3h,0C3h ;repret -OPENSSL_atomic_add ENDP +OPENSSL_atomic_add ENDP -PUBLIC OPENSSL_rdtsc +PUBLIC OPENSSL_rdtsc ALIGN 16 -OPENSSL_rdtsc PROC PUBLIC - +OPENSSL_rdtsc PROC PUBLIC + rdtsc shl rdx,32 or rax,rdx DB 0F3h,0C3h ;repret -OPENSSL_rdtsc ENDP +OPENSSL_rdtsc ENDP -PUBLIC OPENSSL_ia32_cpuid +PUBLIC OPENSSL_ia32_cpuid ALIGN 16 -OPENSSL_ia32_cpuid PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +OPENSSL_ia32_cpuid PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_OPENSSL_ia32_cpuid:: +$L$SEH_begin_OPENSSL_ia32_cpuid:: mov rdi,rcx @@ -56,48 +56,48 @@ $L$SEH_begin_OPENSSL_ia32_cpuid:: xor eax,eax - mov QWORD PTR[8+rdi],rax + mov QWORD PTR[8+rdi],rax cpuid mov r11d,eax xor eax,eax - cmp ebx,0756e6547h + cmp ebx,0756e6547h setne al mov r9d,eax - cmp edx,049656e69h + cmp edx,049656e69h setne al or r9d,eax - cmp ecx,06c65746eh + cmp ecx,06c65746eh setne al or r9d,eax - jz $L$intel + jz $L$intel - cmp ebx,068747541h + cmp ebx,068747541h setne al mov r10d,eax - cmp edx,069746E65h + cmp edx,069746E65h setne al or r10d,eax - cmp ecx,0444D4163h + cmp ecx,0444D4163h setne al or r10d,eax - jnz $L$intel + jnz $L$intel - mov eax,080000000h + mov eax,080000000h cpuid - cmp eax,080000001h - jb $L$intel + cmp eax,080000001h + jb $L$intel mov r10d,eax - mov eax,080000001h + mov eax,080000001h cpuid or r9d,ecx - and r9d,000000801h + and r9d,000000801h - cmp r10d,080000008h - jb $L$intel + cmp r10d,080000008h + jb $L$intel - mov eax,080000008h + mov eax,080000008h cpuid movzx r10,cl inc r10 @@ -105,196 +105,196 @@ $L$SEH_begin_OPENSSL_ia32_cpuid:: mov eax,1 cpuid bt edx,28 - jnc $L$generic + jnc $L$generic shr ebx,16 cmp bl,r10b - ja $L$generic - and edx,0efffffffh - jmp $L$generic + ja $L$generic + and edx,0efffffffh + jmp $L$generic -$L$intel:: +$L$intel:: cmp r11d,4 mov r10d,-1 - jb $L$nocacheinfo + jb $L$nocacheinfo mov eax,4 mov ecx,0 cpuid mov r10d,eax shr r10d,14 - and r10d,0fffh + and r10d,0fffh -$L$nocacheinfo:: +$L$nocacheinfo:: mov eax,1 cpuid movd xmm0,eax - and edx,0bfefffffh + and edx,0bfefffffh cmp r9d,0 - jne $L$notintel - or edx,040000000h + jne $L$notintel + or edx,040000000h and ah,15 cmp ah,15 - jne $L$notP4 - or edx,000100000h -$L$notP4:: + jne $L$notP4 + or edx,000100000h +$L$notP4:: cmp ah,6 - jne $L$notintel - and eax,00fff0ff0h - cmp eax,000050670h - je $L$knights - cmp eax,000080650h - jne $L$notintel -$L$knights:: - and ecx,0fbffffffh - -$L$notintel:: + jne $L$notintel + and eax,00fff0ff0h + cmp eax,000050670h + je $L$knights + cmp eax,000080650h + jne $L$notintel +$L$knights:: + and ecx,0fbffffffh + +$L$notintel:: bt edx,28 - jnc $L$generic - and edx,0efffffffh + jnc $L$generic + and edx,0efffffffh cmp r10d,0 - je $L$generic + je $L$generic - or edx,010000000h + or edx,010000000h shr ebx,16 cmp bl,1 - ja $L$generic - and edx,0efffffffh -$L$generic:: - and r9d,000000800h - and ecx,0fffff7ffh + ja $L$generic + and edx,0efffffffh +$L$generic:: + and r9d,000000800h + and ecx,0fffff7ffh or r9d,ecx mov r10d,edx cmp r11d,7 - jb $L$no_extended_info + jb $L$no_extended_info mov eax,7 xor ecx,ecx cpuid bt r9d,26 - jc $L$notknights - and ebx,0fff7ffffh -$L$notknights:: + jc $L$notknights + and ebx,0fff7ffffh +$L$notknights:: movd eax,xmm0 - and eax,00fff0ff0h - cmp eax,000050650h - jne $L$notskylakex - and ebx,0fffeffffh + and eax,00fff0ff0h + cmp eax,000050650h + jne $L$notskylakex + and ebx,0fffeffffh -$L$notskylakex:: - mov DWORD PTR[8+rdi],ebx - mov DWORD PTR[12+rdi],ecx -$L$no_extended_info:: +$L$notskylakex:: + mov DWORD PTR[8+rdi],ebx + mov DWORD PTR[12+rdi],ecx +$L$no_extended_info:: bt r9d,27 - jnc $L$clear_avx + jnc $L$clear_avx xor ecx,ecx -DB 00fh,001h,0d0h - and eax,0e6h - cmp eax,0e6h - je $L$done - and DWORD PTR[8+rdi],03fdeffffh +DB 00fh,001h,0d0h + and eax,0e6h + cmp eax,0e6h + je $L$done + and DWORD PTR[8+rdi],03fdeffffh and eax,6 cmp eax,6 - je $L$done -$L$clear_avx:: - mov eax,0efffe7ffh + je $L$done +$L$clear_avx:: + mov eax,0efffe7ffh and r9d,eax - mov eax,03fdeffdfh - and DWORD PTR[8+rdi],eax -$L$done:: + mov eax,03fdeffdfh + and DWORD PTR[8+rdi],eax +$L$done:: shl r9,32 mov eax,r10d mov rbx,r8 or rax,r9 - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_OPENSSL_ia32_cpuid:: -OPENSSL_ia32_cpuid ENDP +$L$SEH_end_OPENSSL_ia32_cpuid:: +OPENSSL_ia32_cpuid ENDP -PUBLIC OPENSSL_cleanse +PUBLIC OPENSSL_cleanse ALIGN 16 -OPENSSL_cleanse PROC PUBLIC - +OPENSSL_cleanse PROC PUBLIC + xor rax,rax cmp rdx,15 - jae $L$ot + jae $L$ot cmp rdx,0 - je $L$ret -$L$ittle:: - mov BYTE PTR[rcx],al + je $L$ret +$L$ittle:: + mov BYTE PTR[rcx],al sub rdx,1 - lea rcx,QWORD PTR[1+rcx] - jnz $L$ittle -$L$ret:: + lea rcx,QWORD PTR[1+rcx] + jnz $L$ittle +$L$ret:: DB 0F3h,0C3h ;repret ALIGN 16 -$L$ot:: +$L$ot:: test rcx,7 - jz $L$aligned - mov BYTE PTR[rcx],al - lea rdx,QWORD PTR[((-1))+rdx] - lea rcx,QWORD PTR[1+rcx] - jmp $L$ot -$L$aligned:: - mov QWORD PTR[rcx],rax - lea rdx,QWORD PTR[((-8))+rdx] + jz $L$aligned + mov BYTE PTR[rcx],al + lea rdx,QWORD PTR[((-1))+rdx] + lea rcx,QWORD PTR[1+rcx] + jmp $L$ot +$L$aligned:: + mov QWORD PTR[rcx],rax + lea rdx,QWORD PTR[((-8))+rdx] test rdx,-8 - lea rcx,QWORD PTR[8+rcx] - jnz $L$aligned + lea rcx,QWORD PTR[8+rcx] + jnz $L$aligned cmp rdx,0 - jne $L$ittle + jne $L$ittle DB 0F3h,0C3h ;repret -OPENSSL_cleanse ENDP +OPENSSL_cleanse ENDP -PUBLIC CRYPTO_memcmp +PUBLIC CRYPTO_memcmp ALIGN 16 -CRYPTO_memcmp PROC PUBLIC - +CRYPTO_memcmp PROC PUBLIC + xor rax,rax xor r10,r10 cmp r8,0 - je $L$no_data + je $L$no_data cmp r8,16 - jne $L$oop_cmp - mov r10,QWORD PTR[rcx] - mov r11,QWORD PTR[8+rcx] + jne $L$oop_cmp + mov r10,QWORD PTR[rcx] + mov r11,QWORD PTR[8+rcx] mov r8,1 - xor r10,QWORD PTR[rdx] - xor r11,QWORD PTR[8+rdx] + xor r10,QWORD PTR[rdx] + xor r11,QWORD PTR[8+rdx] or r10,r11 cmovnz rax,r8 DB 0F3h,0C3h ;repret ALIGN 16 -$L$oop_cmp:: - mov r10b,BYTE PTR[rcx] - lea rcx,QWORD PTR[1+rcx] - xor r10b,BYTE PTR[rdx] - lea rdx,QWORD PTR[1+rdx] +$L$oop_cmp:: + mov r10b,BYTE PTR[rcx] + lea rcx,QWORD PTR[1+rcx] + xor r10b,BYTE PTR[rdx] + lea rdx,QWORD PTR[1+rdx] or al,r10b dec r8 - jnz $L$oop_cmp + jnz $L$oop_cmp neg rax shr rax,63 -$L$no_data:: +$L$no_data:: DB 0F3h,0C3h ;repret -CRYPTO_memcmp ENDP -PUBLIC OPENSSL_wipe_cpu +CRYPTO_memcmp ENDP +PUBLIC OPENSSL_wipe_cpu ALIGN 16 -OPENSSL_wipe_cpu PROC PUBLIC +OPENSSL_wipe_cpu PROC PUBLIC pxor xmm0,xmm0 pxor xmm1,xmm1 pxor xmm2,xmm2 @@ -307,13 +307,13 @@ OPENSSL_wipe_cpu PROC PUBLIC xor r9,r9 xor r10,r10 xor r11,r11 - lea rax,QWORD PTR[8+rsp] + lea rax,QWORD PTR[8+rsp] DB 0F3h,0C3h ;repret -OPENSSL_wipe_cpu ENDP -PUBLIC OPENSSL_instrument_bus +OPENSSL_wipe_cpu ENDP +PUBLIC OPENSSL_instrument_bus -ALIGN 16 -OPENSSL_instrument_bus PROC PUBLIC +ALIGN 16 +OPENSSL_instrument_bus PROC PUBLIC mov r10,rcx mov rcx,rdx @@ -323,57 +323,57 @@ OPENSSL_instrument_bus PROC PUBLIC mov r8d,eax mov r9d,0 clflush [r10] -DB 0f0h - add DWORD PTR[r10],r9d - jmp $L$oop +DB 0f0h + add DWORD PTR[r10],r9d + jmp $L$oop ALIGN 16 -$L$oop:: rdtsc +$L$oop:: rdtsc mov edx,eax sub eax,r8d mov r8d,edx mov r9d,eax clflush [r10] -DB 0f0h - add DWORD PTR[r10],eax - lea r10,QWORD PTR[4+r10] +DB 0f0h + add DWORD PTR[r10],eax + lea r10,QWORD PTR[4+r10] sub rcx,1 - jnz $L$oop + jnz $L$oop mov rax,r11 DB 0F3h,0C3h ;repret -OPENSSL_instrument_bus ENDP +OPENSSL_instrument_bus ENDP -PUBLIC OPENSSL_instrument_bus2 +PUBLIC OPENSSL_instrument_bus2 ALIGN 16 -OPENSSL_instrument_bus2 PROC PUBLIC - +OPENSSL_instrument_bus2 PROC PUBLIC + mov r10,rcx mov rcx,rdx mov r11,r8 - mov QWORD PTR[8+rsp],rcx + mov QWORD PTR[8+rsp],rcx rdtsc mov r8d,eax mov r9d,0 clflush [r10] -DB 0f0h - add DWORD PTR[r10],r9d +DB 0f0h + add DWORD PTR[r10],r9d rdtsc mov edx,eax sub eax,r8d mov r8d,edx mov r9d,eax -$L$oop2:: +$L$oop2:: clflush [r10] -DB 0f0h - add DWORD PTR[r10],eax +DB 0f0h + add DWORD PTR[r10],eax sub r11,1 - jz $L$done2 + jz $L$done2 rdtsc mov edx,eax @@ -384,101 +384,101 @@ DB 0f0h mov edx,0 setne dl sub rcx,rdx - lea r10,QWORD PTR[rdx*4+r10] - jnz $L$oop2 + lea r10,QWORD PTR[rdx*4+r10] + jnz $L$oop2 -$L$done2:: - mov rax,QWORD PTR[8+rsp] +$L$done2:: + mov rax,QWORD PTR[8+rsp] sub rax,rcx DB 0F3h,0C3h ;repret -OPENSSL_instrument_bus2 ENDP -PUBLIC OPENSSL_ia32_rdrand_bytes +OPENSSL_instrument_bus2 ENDP +PUBLIC OPENSSL_ia32_rdrand_bytes ALIGN 16 -OPENSSL_ia32_rdrand_bytes PROC PUBLIC - +OPENSSL_ia32_rdrand_bytes PROC PUBLIC + xor rax,rax cmp rdx,0 - je $L$done_rdrand_bytes + je $L$done_rdrand_bytes mov r11,8 -$L$oop_rdrand_bytes:: +$L$oop_rdrand_bytes:: DB 73,15,199,242 - jc $L$break_rdrand_bytes + jc $L$break_rdrand_bytes dec r11 - jnz $L$oop_rdrand_bytes - jmp $L$done_rdrand_bytes + jnz $L$oop_rdrand_bytes + jmp $L$done_rdrand_bytes ALIGN 16 -$L$break_rdrand_bytes:: +$L$break_rdrand_bytes:: cmp rdx,8 - jb $L$tail_rdrand_bytes - mov QWORD PTR[rcx],r10 - lea rcx,QWORD PTR[8+rcx] + jb $L$tail_rdrand_bytes + mov QWORD PTR[rcx],r10 + lea rcx,QWORD PTR[8+rcx] add rax,8 sub rdx,8 - jz $L$done_rdrand_bytes + jz $L$done_rdrand_bytes mov r11,8 - jmp $L$oop_rdrand_bytes + jmp $L$oop_rdrand_bytes ALIGN 16 -$L$tail_rdrand_bytes:: - mov BYTE PTR[rcx],r10b - lea rcx,QWORD PTR[1+rcx] +$L$tail_rdrand_bytes:: + mov BYTE PTR[rcx],r10b + lea rcx,QWORD PTR[1+rcx] inc rax shr r10,8 dec rdx - jnz $L$tail_rdrand_bytes + jnz $L$tail_rdrand_bytes -$L$done_rdrand_bytes:: +$L$done_rdrand_bytes:: xor r10,r10 DB 0F3h,0C3h ;repret -OPENSSL_ia32_rdrand_bytes ENDP -PUBLIC OPENSSL_ia32_rdseed_bytes +OPENSSL_ia32_rdrand_bytes ENDP +PUBLIC OPENSSL_ia32_rdseed_bytes ALIGN 16 -OPENSSL_ia32_rdseed_bytes PROC PUBLIC - +OPENSSL_ia32_rdseed_bytes PROC PUBLIC + xor rax,rax cmp rdx,0 - je $L$done_rdseed_bytes + je $L$done_rdseed_bytes mov r11,8 -$L$oop_rdseed_bytes:: +$L$oop_rdseed_bytes:: DB 73,15,199,250 - jc $L$break_rdseed_bytes + jc $L$break_rdseed_bytes dec r11 - jnz $L$oop_rdseed_bytes - jmp $L$done_rdseed_bytes + jnz $L$oop_rdseed_bytes + jmp $L$done_rdseed_bytes ALIGN 16 -$L$break_rdseed_bytes:: +$L$break_rdseed_bytes:: cmp rdx,8 - jb $L$tail_rdseed_bytes - mov QWORD PTR[rcx],r10 - lea rcx,QWORD PTR[8+rcx] + jb $L$tail_rdseed_bytes + mov QWORD PTR[rcx],r10 + lea rcx,QWORD PTR[8+rcx] add rax,8 sub rdx,8 - jz $L$done_rdseed_bytes + jz $L$done_rdseed_bytes mov r11,8 - jmp $L$oop_rdseed_bytes + jmp $L$oop_rdseed_bytes ALIGN 16 -$L$tail_rdseed_bytes:: - mov BYTE PTR[rcx],r10b - lea rcx,QWORD PTR[1+rcx] +$L$tail_rdseed_bytes:: + mov BYTE PTR[rcx],r10b + lea rcx,QWORD PTR[1+rcx] inc rax shr r10,8 dec rdx - jnz $L$tail_rdseed_bytes + jnz $L$tail_rdseed_bytes -$L$done_rdseed_bytes:: +$L$done_rdseed_bytes:: xor r10,r10 DB 0F3h,0C3h ;repret -OPENSSL_ia32_rdseed_bytes ENDP - -.text$ ENDS -END +OPENSSL_ia32_rdseed_bytes ENDP + +.text$ ENDS +END diff --git a/contrib/libs/openssl/asm/windows/engines/e_padlock-x86_64.masm b/contrib/libs/openssl/asm/windows/engines/e_padlock-x86_64.masm index f53c88af8a..a3461f1aa1 100644 --- a/contrib/libs/openssl/asm/windows/engines/e_padlock-x86_64.masm +++ b/contrib/libs/openssl/asm/windows/engines/e_padlock-x86_64.masm @@ -1,103 +1,103 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' -PUBLIC padlock_capability +OPTION DOTNAME +.text$ SEGMENT ALIGN(256) 'CODE' +PUBLIC padlock_capability ALIGN 16 -padlock_capability PROC PUBLIC +padlock_capability PROC PUBLIC mov r8,rbx xor eax,eax cpuid xor eax,eax - cmp ebx,0746e6543h - jne $L$zhaoxin - cmp edx,048727561h - jne $L$noluck - cmp ecx,0736c7561h - jne $L$noluck - jmp $L$zhaoxinEnd -$L$zhaoxin:: - cmp ebx,068532020h - jne $L$noluck - cmp edx,068676e61h - jne $L$noluck - cmp ecx,020206961h - jne $L$noluck -$L$zhaoxinEnd:: - mov eax,0C0000000h + cmp ebx,0746e6543h + jne $L$zhaoxin + cmp edx,048727561h + jne $L$noluck + cmp ecx,0736c7561h + jne $L$noluck + jmp $L$zhaoxinEnd +$L$zhaoxin:: + cmp ebx,068532020h + jne $L$noluck + cmp edx,068676e61h + jne $L$noluck + cmp ecx,020206961h + jne $L$noluck +$L$zhaoxinEnd:: + mov eax,0C0000000h cpuid mov edx,eax xor eax,eax - cmp edx,0C0000001h - jb $L$noluck - mov eax,0C0000001h + cmp edx,0C0000001h + jb $L$noluck + mov eax,0C0000001h cpuid mov eax,edx - and eax,0ffffffefh - or eax,010h -$L$noluck:: + and eax,0ffffffefh + or eax,010h +$L$noluck:: mov rbx,r8 DB 0F3h,0C3h ;repret -padlock_capability ENDP +padlock_capability ENDP -PUBLIC padlock_key_bswap +PUBLIC padlock_key_bswap ALIGN 16 -padlock_key_bswap PROC PUBLIC - mov edx,DWORD PTR[240+rcx] -$L$bswap_loop:: - mov eax,DWORD PTR[rcx] +padlock_key_bswap PROC PUBLIC + mov edx,DWORD PTR[240+rcx] +$L$bswap_loop:: + mov eax,DWORD PTR[rcx] bswap eax - mov DWORD PTR[rcx],eax - lea rcx,QWORD PTR[4+rcx] + mov DWORD PTR[rcx],eax + lea rcx,QWORD PTR[4+rcx] sub edx,1 - jnz $L$bswap_loop + jnz $L$bswap_loop DB 0F3h,0C3h ;repret -padlock_key_bswap ENDP +padlock_key_bswap ENDP -PUBLIC padlock_verify_context +PUBLIC padlock_verify_context ALIGN 16 -padlock_verify_context PROC PUBLIC +padlock_verify_context PROC PUBLIC mov rdx,rcx pushf - lea rax,QWORD PTR[$L$padlock_saved_context] + lea rax,QWORD PTR[$L$padlock_saved_context] call _padlock_verify_ctx - lea rsp,QWORD PTR[8+rsp] + lea rsp,QWORD PTR[8+rsp] DB 0F3h,0C3h ;repret -padlock_verify_context ENDP +padlock_verify_context ENDP ALIGN 16 -_padlock_verify_ctx PROC PRIVATE - mov r8,QWORD PTR[8+rsp] +_padlock_verify_ctx PROC PRIVATE + mov r8,QWORD PTR[8+rsp] bt r8,30 - jnc $L$verified - cmp rdx,QWORD PTR[rax] - je $L$verified + jnc $L$verified + cmp rdx,QWORD PTR[rax] + je $L$verified pushf popf -$L$verified:: - mov QWORD PTR[rax],rdx +$L$verified:: + mov QWORD PTR[rax],rdx DB 0F3h,0C3h ;repret -_padlock_verify_ctx ENDP +_padlock_verify_ctx ENDP -PUBLIC padlock_reload_key +PUBLIC padlock_reload_key ALIGN 16 -padlock_reload_key PROC PUBLIC +padlock_reload_key PROC PUBLIC pushf popf DB 0F3h,0C3h ;repret -padlock_reload_key ENDP +padlock_reload_key ENDP -PUBLIC padlock_aes_block +PUBLIC padlock_aes_block ALIGN 16 -padlock_aes_block PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +padlock_aes_block PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_padlock_aes_block:: +$L$SEH_begin_padlock_aes_block:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -105,44 +105,44 @@ $L$SEH_begin_padlock_aes_block:: mov r8,rbx mov rcx,1 - lea rbx,QWORD PTR[32+rdx] - lea rdx,QWORD PTR[16+rdx] -DB 0f3h,00fh,0a7h,0c8h + lea rbx,QWORD PTR[32+rdx] + lea rdx,QWORD PTR[16+rdx] +DB 0f3h,00fh,0a7h,0c8h mov rbx,r8 - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_padlock_aes_block:: -padlock_aes_block ENDP +$L$SEH_end_padlock_aes_block:: +padlock_aes_block ENDP -PUBLIC padlock_xstore +PUBLIC padlock_xstore ALIGN 16 -padlock_xstore PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +padlock_xstore PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_padlock_xstore:: +$L$SEH_begin_padlock_xstore:: mov rdi,rcx mov rsi,rdx mov edx,esi -DB 00fh,0a7h,0c0h - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] +DB 00fh,0a7h,0c0h + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_padlock_xstore:: -padlock_xstore ENDP +$L$SEH_end_padlock_xstore:: +padlock_xstore ENDP -PUBLIC padlock_sha1_oneshot +PUBLIC padlock_sha1_oneshot ALIGN 16 -padlock_sha1_oneshot PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +padlock_sha1_oneshot PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_padlock_sha1_oneshot:: +$L$SEH_begin_padlock_sha1_oneshot:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -150,33 +150,33 @@ $L$SEH_begin_padlock_sha1_oneshot:: mov rcx,rdx mov rdx,rdi - movups xmm0,XMMWORD PTR[rdi] + movups xmm0,XMMWORD PTR[rdi] sub rsp,128+8 - mov eax,DWORD PTR[16+rdi] - movaps XMMWORD PTR[rsp],xmm0 + mov eax,DWORD PTR[16+rdi] + movaps XMMWORD PTR[rsp],xmm0 mov rdi,rsp - mov DWORD PTR[16+rsp],eax + mov DWORD PTR[16+rsp],eax xor rax,rax -DB 0f3h,00fh,0a6h,0c8h - movaps xmm0,XMMWORD PTR[rsp] - mov eax,DWORD PTR[16+rsp] +DB 0f3h,00fh,0a6h,0c8h + movaps xmm0,XMMWORD PTR[rsp] + mov eax,DWORD PTR[16+rsp] add rsp,128+8 - movups XMMWORD PTR[rdx],xmm0 - mov DWORD PTR[16+rdx],eax - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movups XMMWORD PTR[rdx],xmm0 + mov DWORD PTR[16+rdx],eax + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_padlock_sha1_oneshot:: -padlock_sha1_oneshot ENDP +$L$SEH_end_padlock_sha1_oneshot:: +padlock_sha1_oneshot ENDP -PUBLIC padlock_sha1_blocks +PUBLIC padlock_sha1_blocks ALIGN 16 -padlock_sha1_blocks PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +padlock_sha1_blocks PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_padlock_sha1_blocks:: +$L$SEH_begin_padlock_sha1_blocks:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -184,33 +184,33 @@ $L$SEH_begin_padlock_sha1_blocks:: mov rcx,rdx mov rdx,rdi - movups xmm0,XMMWORD PTR[rdi] + movups xmm0,XMMWORD PTR[rdi] sub rsp,128+8 - mov eax,DWORD PTR[16+rdi] - movaps XMMWORD PTR[rsp],xmm0 + mov eax,DWORD PTR[16+rdi] + movaps XMMWORD PTR[rsp],xmm0 mov rdi,rsp - mov DWORD PTR[16+rsp],eax + mov DWORD PTR[16+rsp],eax mov rax,-1 -DB 0f3h,00fh,0a6h,0c8h - movaps xmm0,XMMWORD PTR[rsp] - mov eax,DWORD PTR[16+rsp] +DB 0f3h,00fh,0a6h,0c8h + movaps xmm0,XMMWORD PTR[rsp] + mov eax,DWORD PTR[16+rsp] add rsp,128+8 - movups XMMWORD PTR[rdx],xmm0 - mov DWORD PTR[16+rdx],eax - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movups XMMWORD PTR[rdx],xmm0 + mov DWORD PTR[16+rdx],eax + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_padlock_sha1_blocks:: -padlock_sha1_blocks ENDP +$L$SEH_end_padlock_sha1_blocks:: +padlock_sha1_blocks ENDP -PUBLIC padlock_sha256_oneshot +PUBLIC padlock_sha256_oneshot ALIGN 16 -padlock_sha256_oneshot PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +padlock_sha256_oneshot PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_padlock_sha256_oneshot:: +$L$SEH_begin_padlock_sha256_oneshot:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -218,33 +218,33 @@ $L$SEH_begin_padlock_sha256_oneshot:: mov rcx,rdx mov rdx,rdi - movups xmm0,XMMWORD PTR[rdi] + movups xmm0,XMMWORD PTR[rdi] sub rsp,128+8 - movups xmm1,XMMWORD PTR[16+rdi] - movaps XMMWORD PTR[rsp],xmm0 + movups xmm1,XMMWORD PTR[16+rdi] + movaps XMMWORD PTR[rsp],xmm0 mov rdi,rsp - movaps XMMWORD PTR[16+rsp],xmm1 + movaps XMMWORD PTR[16+rsp],xmm1 xor rax,rax -DB 0f3h,00fh,0a6h,0d0h - movaps xmm0,XMMWORD PTR[rsp] - movaps xmm1,XMMWORD PTR[16+rsp] +DB 0f3h,00fh,0a6h,0d0h + movaps xmm0,XMMWORD PTR[rsp] + movaps xmm1,XMMWORD PTR[16+rsp] add rsp,128+8 - movups XMMWORD PTR[rdx],xmm0 - movups XMMWORD PTR[16+rdx],xmm1 - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movups XMMWORD PTR[rdx],xmm0 + movups XMMWORD PTR[16+rdx],xmm1 + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_padlock_sha256_oneshot:: -padlock_sha256_oneshot ENDP +$L$SEH_end_padlock_sha256_oneshot:: +padlock_sha256_oneshot ENDP -PUBLIC padlock_sha256_blocks +PUBLIC padlock_sha256_blocks ALIGN 16 -padlock_sha256_blocks PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +padlock_sha256_blocks PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_padlock_sha256_blocks:: +$L$SEH_begin_padlock_sha256_blocks:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -252,33 +252,33 @@ $L$SEH_begin_padlock_sha256_blocks:: mov rcx,rdx mov rdx,rdi - movups xmm0,XMMWORD PTR[rdi] + movups xmm0,XMMWORD PTR[rdi] sub rsp,128+8 - movups xmm1,XMMWORD PTR[16+rdi] - movaps XMMWORD PTR[rsp],xmm0 + movups xmm1,XMMWORD PTR[16+rdi] + movaps XMMWORD PTR[rsp],xmm0 mov rdi,rsp - movaps XMMWORD PTR[16+rsp],xmm1 + movaps XMMWORD PTR[16+rsp],xmm1 mov rax,-1 -DB 0f3h,00fh,0a6h,0d0h - movaps xmm0,XMMWORD PTR[rsp] - movaps xmm1,XMMWORD PTR[16+rsp] +DB 0f3h,00fh,0a6h,0d0h + movaps xmm0,XMMWORD PTR[rsp] + movaps xmm1,XMMWORD PTR[16+rsp] add rsp,128+8 - movups XMMWORD PTR[rdx],xmm0 - movups XMMWORD PTR[16+rdx],xmm1 - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movups XMMWORD PTR[rdx],xmm0 + movups XMMWORD PTR[16+rdx],xmm1 + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_padlock_sha256_blocks:: -padlock_sha256_blocks ENDP +$L$SEH_end_padlock_sha256_blocks:: +padlock_sha256_blocks ENDP -PUBLIC padlock_sha512_blocks +PUBLIC padlock_sha512_blocks ALIGN 16 -padlock_sha512_blocks PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +padlock_sha512_blocks PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_padlock_sha512_blocks:: +$L$SEH_begin_padlock_sha512_blocks:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -286,39 +286,39 @@ $L$SEH_begin_padlock_sha512_blocks:: mov rcx,rdx mov rdx,rdi - movups xmm0,XMMWORD PTR[rdi] + movups xmm0,XMMWORD PTR[rdi] sub rsp,128+8 - movups xmm1,XMMWORD PTR[16+rdi] - movups xmm2,XMMWORD PTR[32+rdi] - movups xmm3,XMMWORD PTR[48+rdi] - movaps XMMWORD PTR[rsp],xmm0 + movups xmm1,XMMWORD PTR[16+rdi] + movups xmm2,XMMWORD PTR[32+rdi] + movups xmm3,XMMWORD PTR[48+rdi] + movaps XMMWORD PTR[rsp],xmm0 mov rdi,rsp - movaps XMMWORD PTR[16+rsp],xmm1 - movaps XMMWORD PTR[32+rsp],xmm2 - movaps XMMWORD PTR[48+rsp],xmm3 -DB 0f3h,00fh,0a6h,0e0h - movaps xmm0,XMMWORD PTR[rsp] - movaps xmm1,XMMWORD PTR[16+rsp] - movaps xmm2,XMMWORD PTR[32+rsp] - movaps xmm3,XMMWORD PTR[48+rsp] + movaps XMMWORD PTR[16+rsp],xmm1 + movaps XMMWORD PTR[32+rsp],xmm2 + movaps XMMWORD PTR[48+rsp],xmm3 +DB 0f3h,00fh,0a6h,0e0h + movaps xmm0,XMMWORD PTR[rsp] + movaps xmm1,XMMWORD PTR[16+rsp] + movaps xmm2,XMMWORD PTR[32+rsp] + movaps xmm3,XMMWORD PTR[48+rsp] add rsp,128+8 - movups XMMWORD PTR[rdx],xmm0 - movups XMMWORD PTR[16+rdx],xmm1 - movups XMMWORD PTR[32+rdx],xmm2 - movups XMMWORD PTR[48+rdx],xmm3 - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + movups XMMWORD PTR[rdx],xmm0 + movups XMMWORD PTR[16+rdx],xmm1 + movups XMMWORD PTR[32+rdx],xmm2 + movups XMMWORD PTR[48+rdx],xmm3 + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_padlock_sha512_blocks:: -padlock_sha512_blocks ENDP -PUBLIC padlock_ecb_encrypt +$L$SEH_end_padlock_sha512_blocks:: +padlock_sha512_blocks ENDP +PUBLIC padlock_ecb_encrypt ALIGN 16 -padlock_ecb_encrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +padlock_ecb_encrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_padlock_ecb_encrypt:: +$L$SEH_begin_padlock_ecb_encrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -330,53 +330,53 @@ $L$SEH_begin_padlock_ecb_encrypt:: xor eax,eax test rdx,15 - jnz $L$ecb_abort + jnz $L$ecb_abort test rcx,15 - jnz $L$ecb_abort - lea rax,QWORD PTR[$L$padlock_saved_context] + jnz $L$ecb_abort + lea rax,QWORD PTR[$L$padlock_saved_context] pushf cld call _padlock_verify_ctx - lea rdx,QWORD PTR[16+rdx] + lea rdx,QWORD PTR[16+rdx] xor eax,eax xor ebx,ebx - test DWORD PTR[rdx],32 - jnz $L$ecb_aligned - test rdi,00fh + test DWORD PTR[rdx],32 + jnz $L$ecb_aligned + test rdi,00fh setz al - test rsi,00fh + test rsi,00fh setz bl test eax,ebx - jnz $L$ecb_aligned + jnz $L$ecb_aligned neg rax mov rbx,512 not rax - lea rbp,QWORD PTR[rsp] + lea rbp,QWORD PTR[rsp] cmp rcx,rbx cmovc rbx,rcx and rax,rbx mov rbx,rcx neg rax and rbx,512-1 - lea rsp,QWORD PTR[rbp*1+rax] + lea rsp,QWORD PTR[rbp*1+rax] mov rax,512 cmovz rbx,rax cmp rcx,rbx - ja $L$ecb_loop + ja $L$ecb_loop mov rax,rsi cmp rbp,rsp cmove rax,rdi add rax,rcx neg rax - and rax,0fffh + and rax,0fffh cmp rax,128 mov rax,-128 cmovae rax,rbx and rbx,rax - jz $L$ecb_unaligned_tail - jmp $L$ecb_loop + jz $L$ecb_unaligned_tail + jmp $L$ecb_loop ALIGN 16 -$L$ecb_loop:: +$L$ecb_loop:: cmp rbx,rcx cmova rbx,rcx mov r8,rdi @@ -384,40 +384,40 @@ $L$ecb_loop:: mov r10,rcx mov rcx,rbx mov r11,rbx - test rdi,00fh + test rdi,00fh cmovnz rdi,rsp - test rsi,00fh - jz $L$ecb_inp_aligned + test rsi,00fh + jz $L$ecb_inp_aligned shr rcx,3 -DB 0f3h,048h,0a5h +DB 0f3h,048h,0a5h sub rdi,rbx mov rcx,rbx mov rsi,rdi -$L$ecb_inp_aligned:: - lea rax,QWORD PTR[((-16))+rdx] - lea rbx,QWORD PTR[16+rdx] +$L$ecb_inp_aligned:: + lea rax,QWORD PTR[((-16))+rdx] + lea rbx,QWORD PTR[16+rdx] shr rcx,4 -DB 0f3h,00fh,0a7h,200 +DB 0f3h,00fh,0a7h,200 mov rdi,r8 mov rbx,r11 - test rdi,00fh - jz $L$ecb_out_aligned + test rdi,00fh + jz $L$ecb_out_aligned mov rcx,rbx - lea rsi,QWORD PTR[rsp] + lea rsi,QWORD PTR[rsp] shr rcx,3 -DB 0f3h,048h,0a5h +DB 0f3h,048h,0a5h sub rdi,rbx -$L$ecb_out_aligned:: +$L$ecb_out_aligned:: mov rsi,r9 mov rcx,r10 add rdi,rbx add rsi,rbx sub rcx,rbx mov rbx,512 - jz $L$ecb_break + jz $L$ecb_break cmp rcx,rbx - jae $L$ecb_loop -$L$ecb_unaligned_tail:: + jae $L$ecb_loop +$L$ecb_unaligned_tail:: xor eax,eax cmp rbp,rsp cmove rax,rcx @@ -425,80 +425,80 @@ $L$ecb_unaligned_tail:: mov rbx,rcx sub rsp,rax shr rcx,3 - lea rdi,QWORD PTR[rsp] -DB 0f3h,048h,0a5h + lea rdi,QWORD PTR[rsp] +DB 0f3h,048h,0a5h mov rsi,rsp mov rdi,r8 mov rcx,rbx - jmp $L$ecb_loop + jmp $L$ecb_loop ALIGN 16 -$L$ecb_break:: +$L$ecb_break:: cmp rsp,rbp - je $L$ecb_done + je $L$ecb_done pxor xmm0,xmm0 - lea rax,QWORD PTR[rsp] -$L$ecb_bzero:: - movaps XMMWORD PTR[rax],xmm0 - lea rax,QWORD PTR[16+rax] + lea rax,QWORD PTR[rsp] +$L$ecb_bzero:: + movaps XMMWORD PTR[rax],xmm0 + lea rax,QWORD PTR[16+rax] cmp rbp,rax - ja $L$ecb_bzero + ja $L$ecb_bzero -$L$ecb_done:: - lea rsp,QWORD PTR[rbp] - jmp $L$ecb_exit +$L$ecb_done:: + lea rsp,QWORD PTR[rbp] + jmp $L$ecb_exit ALIGN 16 -$L$ecb_aligned:: - lea rbp,QWORD PTR[rcx*1+rsi] +$L$ecb_aligned:: + lea rbp,QWORD PTR[rcx*1+rsi] neg rbp - and rbp,0fffh + and rbp,0fffh xor eax,eax cmp rbp,128 mov rbp,128-1 cmovae rbp,rax and rbp,rcx sub rcx,rbp - jz $L$ecb_aligned_tail - lea rax,QWORD PTR[((-16))+rdx] - lea rbx,QWORD PTR[16+rdx] + jz $L$ecb_aligned_tail + lea rax,QWORD PTR[((-16))+rdx] + lea rbx,QWORD PTR[16+rdx] shr rcx,4 -DB 0f3h,00fh,0a7h,200 +DB 0f3h,00fh,0a7h,200 test rbp,rbp - jz $L$ecb_exit + jz $L$ecb_exit -$L$ecb_aligned_tail:: +$L$ecb_aligned_tail:: mov r8,rdi mov rbx,rbp mov rcx,rbp - lea rbp,QWORD PTR[rsp] + lea rbp,QWORD PTR[rsp] sub rsp,rcx shr rcx,3 - lea rdi,QWORD PTR[rsp] -DB 0f3h,048h,0a5h - lea rdi,QWORD PTR[r8] - lea rsi,QWORD PTR[rsp] + lea rdi,QWORD PTR[rsp] +DB 0f3h,048h,0a5h + lea rdi,QWORD PTR[r8] + lea rsi,QWORD PTR[rsp] mov rcx,rbx - jmp $L$ecb_loop -$L$ecb_exit:: + jmp $L$ecb_loop +$L$ecb_exit:: mov eax,1 - lea rsp,QWORD PTR[8+rsp] -$L$ecb_abort:: + lea rsp,QWORD PTR[8+rsp] +$L$ecb_abort:: pop rbx pop rbp - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_padlock_ecb_encrypt:: -padlock_ecb_encrypt ENDP -PUBLIC padlock_cbc_encrypt +$L$SEH_end_padlock_ecb_encrypt:: +padlock_ecb_encrypt ENDP +PUBLIC padlock_cbc_encrypt ALIGN 16 -padlock_cbc_encrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +padlock_cbc_encrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_padlock_cbc_encrypt:: +$L$SEH_begin_padlock_cbc_encrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -510,53 +510,53 @@ $L$SEH_begin_padlock_cbc_encrypt:: xor eax,eax test rdx,15 - jnz $L$cbc_abort + jnz $L$cbc_abort test rcx,15 - jnz $L$cbc_abort - lea rax,QWORD PTR[$L$padlock_saved_context] + jnz $L$cbc_abort + lea rax,QWORD PTR[$L$padlock_saved_context] pushf cld call _padlock_verify_ctx - lea rdx,QWORD PTR[16+rdx] + lea rdx,QWORD PTR[16+rdx] xor eax,eax xor ebx,ebx - test DWORD PTR[rdx],32 - jnz $L$cbc_aligned - test rdi,00fh + test DWORD PTR[rdx],32 + jnz $L$cbc_aligned + test rdi,00fh setz al - test rsi,00fh + test rsi,00fh setz bl test eax,ebx - jnz $L$cbc_aligned + jnz $L$cbc_aligned neg rax mov rbx,512 not rax - lea rbp,QWORD PTR[rsp] + lea rbp,QWORD PTR[rsp] cmp rcx,rbx cmovc rbx,rcx and rax,rbx mov rbx,rcx neg rax and rbx,512-1 - lea rsp,QWORD PTR[rbp*1+rax] + lea rsp,QWORD PTR[rbp*1+rax] mov rax,512 cmovz rbx,rax cmp rcx,rbx - ja $L$cbc_loop + ja $L$cbc_loop mov rax,rsi cmp rbp,rsp cmove rax,rdi add rax,rcx neg rax - and rax,0fffh + and rax,0fffh cmp rax,64 mov rax,-64 cmovae rax,rbx and rbx,rax - jz $L$cbc_unaligned_tail - jmp $L$cbc_loop + jz $L$cbc_unaligned_tail + jmp $L$cbc_loop ALIGN 16 -$L$cbc_loop:: +$L$cbc_loop:: cmp rbx,rcx cmova rbx,rcx mov r8,rdi @@ -564,42 +564,42 @@ $L$cbc_loop:: mov r10,rcx mov rcx,rbx mov r11,rbx - test rdi,00fh + test rdi,00fh cmovnz rdi,rsp - test rsi,00fh - jz $L$cbc_inp_aligned + test rsi,00fh + jz $L$cbc_inp_aligned shr rcx,3 -DB 0f3h,048h,0a5h +DB 0f3h,048h,0a5h sub rdi,rbx mov rcx,rbx mov rsi,rdi -$L$cbc_inp_aligned:: - lea rax,QWORD PTR[((-16))+rdx] - lea rbx,QWORD PTR[16+rdx] +$L$cbc_inp_aligned:: + lea rax,QWORD PTR[((-16))+rdx] + lea rbx,QWORD PTR[16+rdx] shr rcx,4 -DB 0f3h,00fh,0a7h,208 - movdqa xmm0,XMMWORD PTR[rax] - movdqa XMMWORD PTR[(-16)+rdx],xmm0 +DB 0f3h,00fh,0a7h,208 + movdqa xmm0,XMMWORD PTR[rax] + movdqa XMMWORD PTR[(-16)+rdx],xmm0 mov rdi,r8 mov rbx,r11 - test rdi,00fh - jz $L$cbc_out_aligned + test rdi,00fh + jz $L$cbc_out_aligned mov rcx,rbx - lea rsi,QWORD PTR[rsp] + lea rsi,QWORD PTR[rsp] shr rcx,3 -DB 0f3h,048h,0a5h +DB 0f3h,048h,0a5h sub rdi,rbx -$L$cbc_out_aligned:: +$L$cbc_out_aligned:: mov rsi,r9 mov rcx,r10 add rdi,rbx add rsi,rbx sub rcx,rbx mov rbx,512 - jz $L$cbc_break + jz $L$cbc_break cmp rcx,rbx - jae $L$cbc_loop -$L$cbc_unaligned_tail:: + jae $L$cbc_loop +$L$cbc_unaligned_tail:: xor eax,eax cmp rbp,rsp cmove rax,rcx @@ -607,82 +607,82 @@ $L$cbc_unaligned_tail:: mov rbx,rcx sub rsp,rax shr rcx,3 - lea rdi,QWORD PTR[rsp] -DB 0f3h,048h,0a5h + lea rdi,QWORD PTR[rsp] +DB 0f3h,048h,0a5h mov rsi,rsp mov rdi,r8 mov rcx,rbx - jmp $L$cbc_loop + jmp $L$cbc_loop ALIGN 16 -$L$cbc_break:: +$L$cbc_break:: cmp rsp,rbp - je $L$cbc_done + je $L$cbc_done pxor xmm0,xmm0 - lea rax,QWORD PTR[rsp] -$L$cbc_bzero:: - movaps XMMWORD PTR[rax],xmm0 - lea rax,QWORD PTR[16+rax] + lea rax,QWORD PTR[rsp] +$L$cbc_bzero:: + movaps XMMWORD PTR[rax],xmm0 + lea rax,QWORD PTR[16+rax] cmp rbp,rax - ja $L$cbc_bzero + ja $L$cbc_bzero -$L$cbc_done:: - lea rsp,QWORD PTR[rbp] - jmp $L$cbc_exit +$L$cbc_done:: + lea rsp,QWORD PTR[rbp] + jmp $L$cbc_exit ALIGN 16 -$L$cbc_aligned:: - lea rbp,QWORD PTR[rcx*1+rsi] +$L$cbc_aligned:: + lea rbp,QWORD PTR[rcx*1+rsi] neg rbp - and rbp,0fffh + and rbp,0fffh xor eax,eax cmp rbp,64 mov rbp,64-1 cmovae rbp,rax and rbp,rcx sub rcx,rbp - jz $L$cbc_aligned_tail - lea rax,QWORD PTR[((-16))+rdx] - lea rbx,QWORD PTR[16+rdx] + jz $L$cbc_aligned_tail + lea rax,QWORD PTR[((-16))+rdx] + lea rbx,QWORD PTR[16+rdx] shr rcx,4 -DB 0f3h,00fh,0a7h,208 - movdqa xmm0,XMMWORD PTR[rax] - movdqa XMMWORD PTR[(-16)+rdx],xmm0 +DB 0f3h,00fh,0a7h,208 + movdqa xmm0,XMMWORD PTR[rax] + movdqa XMMWORD PTR[(-16)+rdx],xmm0 test rbp,rbp - jz $L$cbc_exit + jz $L$cbc_exit -$L$cbc_aligned_tail:: +$L$cbc_aligned_tail:: mov r8,rdi mov rbx,rbp mov rcx,rbp - lea rbp,QWORD PTR[rsp] + lea rbp,QWORD PTR[rsp] sub rsp,rcx shr rcx,3 - lea rdi,QWORD PTR[rsp] -DB 0f3h,048h,0a5h - lea rdi,QWORD PTR[r8] - lea rsi,QWORD PTR[rsp] + lea rdi,QWORD PTR[rsp] +DB 0f3h,048h,0a5h + lea rdi,QWORD PTR[r8] + lea rsi,QWORD PTR[rsp] mov rcx,rbx - jmp $L$cbc_loop -$L$cbc_exit:: + jmp $L$cbc_loop +$L$cbc_exit:: mov eax,1 - lea rsp,QWORD PTR[8+rsp] -$L$cbc_abort:: + lea rsp,QWORD PTR[8+rsp] +$L$cbc_abort:: pop rbx pop rbp - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_padlock_cbc_encrypt:: -padlock_cbc_encrypt ENDP -PUBLIC padlock_cfb_encrypt +$L$SEH_end_padlock_cbc_encrypt:: +padlock_cbc_encrypt ENDP +PUBLIC padlock_cfb_encrypt ALIGN 16 -padlock_cfb_encrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +padlock_cfb_encrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_padlock_cfb_encrypt:: +$L$SEH_begin_padlock_cfb_encrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -694,40 +694,40 @@ $L$SEH_begin_padlock_cfb_encrypt:: xor eax,eax test rdx,15 - jnz $L$cfb_abort + jnz $L$cfb_abort test rcx,15 - jnz $L$cfb_abort - lea rax,QWORD PTR[$L$padlock_saved_context] + jnz $L$cfb_abort + lea rax,QWORD PTR[$L$padlock_saved_context] pushf cld call _padlock_verify_ctx - lea rdx,QWORD PTR[16+rdx] + lea rdx,QWORD PTR[16+rdx] xor eax,eax xor ebx,ebx - test DWORD PTR[rdx],32 - jnz $L$cfb_aligned - test rdi,00fh + test DWORD PTR[rdx],32 + jnz $L$cfb_aligned + test rdi,00fh setz al - test rsi,00fh + test rsi,00fh setz bl test eax,ebx - jnz $L$cfb_aligned + jnz $L$cfb_aligned neg rax mov rbx,512 not rax - lea rbp,QWORD PTR[rsp] + lea rbp,QWORD PTR[rsp] cmp rcx,rbx cmovc rbx,rcx and rax,rbx mov rbx,rcx neg rax and rbx,512-1 - lea rsp,QWORD PTR[rbp*1+rax] + lea rsp,QWORD PTR[rbp*1+rax] mov rax,512 cmovz rbx,rax - jmp $L$cfb_loop + jmp $L$cfb_loop ALIGN 16 -$L$cfb_loop:: +$L$cfb_loop:: cmp rbx,rcx cmova rbx,rcx mov r8,rdi @@ -735,81 +735,81 @@ $L$cfb_loop:: mov r10,rcx mov rcx,rbx mov r11,rbx - test rdi,00fh + test rdi,00fh cmovnz rdi,rsp - test rsi,00fh - jz $L$cfb_inp_aligned + test rsi,00fh + jz $L$cfb_inp_aligned shr rcx,3 -DB 0f3h,048h,0a5h +DB 0f3h,048h,0a5h sub rdi,rbx mov rcx,rbx mov rsi,rdi -$L$cfb_inp_aligned:: - lea rax,QWORD PTR[((-16))+rdx] - lea rbx,QWORD PTR[16+rdx] +$L$cfb_inp_aligned:: + lea rax,QWORD PTR[((-16))+rdx] + lea rbx,QWORD PTR[16+rdx] shr rcx,4 -DB 0f3h,00fh,0a7h,224 - movdqa xmm0,XMMWORD PTR[rax] - movdqa XMMWORD PTR[(-16)+rdx],xmm0 +DB 0f3h,00fh,0a7h,224 + movdqa xmm0,XMMWORD PTR[rax] + movdqa XMMWORD PTR[(-16)+rdx],xmm0 mov rdi,r8 mov rbx,r11 - test rdi,00fh - jz $L$cfb_out_aligned + test rdi,00fh + jz $L$cfb_out_aligned mov rcx,rbx - lea rsi,QWORD PTR[rsp] + lea rsi,QWORD PTR[rsp] shr rcx,3 -DB 0f3h,048h,0a5h +DB 0f3h,048h,0a5h sub rdi,rbx -$L$cfb_out_aligned:: +$L$cfb_out_aligned:: mov rsi,r9 mov rcx,r10 add rdi,rbx add rsi,rbx sub rcx,rbx mov rbx,512 - jnz $L$cfb_loop + jnz $L$cfb_loop cmp rsp,rbp - je $L$cfb_done + je $L$cfb_done pxor xmm0,xmm0 - lea rax,QWORD PTR[rsp] -$L$cfb_bzero:: - movaps XMMWORD PTR[rax],xmm0 - lea rax,QWORD PTR[16+rax] + lea rax,QWORD PTR[rsp] +$L$cfb_bzero:: + movaps XMMWORD PTR[rax],xmm0 + lea rax,QWORD PTR[16+rax] cmp rbp,rax - ja $L$cfb_bzero + ja $L$cfb_bzero -$L$cfb_done:: - lea rsp,QWORD PTR[rbp] - jmp $L$cfb_exit +$L$cfb_done:: + lea rsp,QWORD PTR[rbp] + jmp $L$cfb_exit ALIGN 16 -$L$cfb_aligned:: - lea rax,QWORD PTR[((-16))+rdx] - lea rbx,QWORD PTR[16+rdx] +$L$cfb_aligned:: + lea rax,QWORD PTR[((-16))+rdx] + lea rbx,QWORD PTR[16+rdx] shr rcx,4 -DB 0f3h,00fh,0a7h,224 - movdqa xmm0,XMMWORD PTR[rax] - movdqa XMMWORD PTR[(-16)+rdx],xmm0 -$L$cfb_exit:: +DB 0f3h,00fh,0a7h,224 + movdqa xmm0,XMMWORD PTR[rax] + movdqa XMMWORD PTR[(-16)+rdx],xmm0 +$L$cfb_exit:: mov eax,1 - lea rsp,QWORD PTR[8+rsp] -$L$cfb_abort:: + lea rsp,QWORD PTR[8+rsp] +$L$cfb_abort:: pop rbx pop rbp - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_padlock_cfb_encrypt:: -padlock_cfb_encrypt ENDP -PUBLIC padlock_ofb_encrypt +$L$SEH_end_padlock_cfb_encrypt:: +padlock_cfb_encrypt ENDP +PUBLIC padlock_ofb_encrypt ALIGN 16 -padlock_ofb_encrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +padlock_ofb_encrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_padlock_ofb_encrypt:: +$L$SEH_begin_padlock_ofb_encrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -821,40 +821,40 @@ $L$SEH_begin_padlock_ofb_encrypt:: xor eax,eax test rdx,15 - jnz $L$ofb_abort + jnz $L$ofb_abort test rcx,15 - jnz $L$ofb_abort - lea rax,QWORD PTR[$L$padlock_saved_context] + jnz $L$ofb_abort + lea rax,QWORD PTR[$L$padlock_saved_context] pushf cld call _padlock_verify_ctx - lea rdx,QWORD PTR[16+rdx] + lea rdx,QWORD PTR[16+rdx] xor eax,eax xor ebx,ebx - test DWORD PTR[rdx],32 - jnz $L$ofb_aligned - test rdi,00fh + test DWORD PTR[rdx],32 + jnz $L$ofb_aligned + test rdi,00fh setz al - test rsi,00fh + test rsi,00fh setz bl test eax,ebx - jnz $L$ofb_aligned + jnz $L$ofb_aligned neg rax mov rbx,512 not rax - lea rbp,QWORD PTR[rsp] + lea rbp,QWORD PTR[rsp] cmp rcx,rbx cmovc rbx,rcx and rax,rbx mov rbx,rcx neg rax and rbx,512-1 - lea rsp,QWORD PTR[rbp*1+rax] + lea rsp,QWORD PTR[rbp*1+rax] mov rax,512 cmovz rbx,rax - jmp $L$ofb_loop + jmp $L$ofb_loop ALIGN 16 -$L$ofb_loop:: +$L$ofb_loop:: cmp rbx,rcx cmova rbx,rcx mov r8,rdi @@ -862,81 +862,81 @@ $L$ofb_loop:: mov r10,rcx mov rcx,rbx mov r11,rbx - test rdi,00fh + test rdi,00fh cmovnz rdi,rsp - test rsi,00fh - jz $L$ofb_inp_aligned + test rsi,00fh + jz $L$ofb_inp_aligned shr rcx,3 -DB 0f3h,048h,0a5h +DB 0f3h,048h,0a5h sub rdi,rbx mov rcx,rbx mov rsi,rdi -$L$ofb_inp_aligned:: - lea rax,QWORD PTR[((-16))+rdx] - lea rbx,QWORD PTR[16+rdx] +$L$ofb_inp_aligned:: + lea rax,QWORD PTR[((-16))+rdx] + lea rbx,QWORD PTR[16+rdx] shr rcx,4 -DB 0f3h,00fh,0a7h,232 - movdqa xmm0,XMMWORD PTR[rax] - movdqa XMMWORD PTR[(-16)+rdx],xmm0 +DB 0f3h,00fh,0a7h,232 + movdqa xmm0,XMMWORD PTR[rax] + movdqa XMMWORD PTR[(-16)+rdx],xmm0 mov rdi,r8 mov rbx,r11 - test rdi,00fh - jz $L$ofb_out_aligned + test rdi,00fh + jz $L$ofb_out_aligned mov rcx,rbx - lea rsi,QWORD PTR[rsp] + lea rsi,QWORD PTR[rsp] shr rcx,3 -DB 0f3h,048h,0a5h +DB 0f3h,048h,0a5h sub rdi,rbx -$L$ofb_out_aligned:: +$L$ofb_out_aligned:: mov rsi,r9 mov rcx,r10 add rdi,rbx add rsi,rbx sub rcx,rbx mov rbx,512 - jnz $L$ofb_loop + jnz $L$ofb_loop cmp rsp,rbp - je $L$ofb_done + je $L$ofb_done pxor xmm0,xmm0 - lea rax,QWORD PTR[rsp] -$L$ofb_bzero:: - movaps XMMWORD PTR[rax],xmm0 - lea rax,QWORD PTR[16+rax] + lea rax,QWORD PTR[rsp] +$L$ofb_bzero:: + movaps XMMWORD PTR[rax],xmm0 + lea rax,QWORD PTR[16+rax] cmp rbp,rax - ja $L$ofb_bzero + ja $L$ofb_bzero -$L$ofb_done:: - lea rsp,QWORD PTR[rbp] - jmp $L$ofb_exit +$L$ofb_done:: + lea rsp,QWORD PTR[rbp] + jmp $L$ofb_exit ALIGN 16 -$L$ofb_aligned:: - lea rax,QWORD PTR[((-16))+rdx] - lea rbx,QWORD PTR[16+rdx] +$L$ofb_aligned:: + lea rax,QWORD PTR[((-16))+rdx] + lea rbx,QWORD PTR[16+rdx] shr rcx,4 -DB 0f3h,00fh,0a7h,232 - movdqa xmm0,XMMWORD PTR[rax] - movdqa XMMWORD PTR[(-16)+rdx],xmm0 -$L$ofb_exit:: +DB 0f3h,00fh,0a7h,232 + movdqa xmm0,XMMWORD PTR[rax] + movdqa XMMWORD PTR[(-16)+rdx],xmm0 +$L$ofb_exit:: mov eax,1 - lea rsp,QWORD PTR[8+rsp] -$L$ofb_abort:: + lea rsp,QWORD PTR[8+rsp] +$L$ofb_abort:: pop rbx pop rbp - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_padlock_ofb_encrypt:: -padlock_ofb_encrypt ENDP -PUBLIC padlock_ctr32_encrypt +$L$SEH_end_padlock_ofb_encrypt:: +padlock_ofb_encrypt ENDP +PUBLIC padlock_ctr32_encrypt ALIGN 16 -padlock_ctr32_encrypt PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +padlock_ctr32_encrypt PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi mov rax,rsp -$L$SEH_begin_padlock_ctr32_encrypt:: +$L$SEH_begin_padlock_ctr32_encrypt:: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -948,39 +948,39 @@ $L$SEH_begin_padlock_ctr32_encrypt:: xor eax,eax test rdx,15 - jnz $L$ctr32_abort + jnz $L$ctr32_abort test rcx,15 - jnz $L$ctr32_abort - lea rax,QWORD PTR[$L$padlock_saved_context] + jnz $L$ctr32_abort + lea rax,QWORD PTR[$L$padlock_saved_context] pushf cld call _padlock_verify_ctx - lea rdx,QWORD PTR[16+rdx] + lea rdx,QWORD PTR[16+rdx] xor eax,eax xor ebx,ebx - test DWORD PTR[rdx],32 - jnz $L$ctr32_aligned - test rdi,00fh + test DWORD PTR[rdx],32 + jnz $L$ctr32_aligned + test rdi,00fh setz al - test rsi,00fh + test rsi,00fh setz bl test eax,ebx - jnz $L$ctr32_aligned + jnz $L$ctr32_aligned neg rax mov rbx,512 not rax - lea rbp,QWORD PTR[rsp] + lea rbp,QWORD PTR[rsp] cmp rcx,rbx cmovc rbx,rcx and rax,rbx mov rbx,rcx neg rax and rbx,512-1 - lea rsp,QWORD PTR[rbp*1+rax] + lea rsp,QWORD PTR[rbp*1+rax] mov rax,512 cmovz rbx,rax -$L$ctr32_reenter:: - mov eax,DWORD PTR[((-4))+rdx] +$L$ctr32_reenter:: + mov eax,DWORD PTR[((-4))+rdx] bswap eax neg eax and eax,31 @@ -991,21 +991,21 @@ $L$ctr32_reenter:: cmova rbx,rax cmovbe rbx,rcx cmp rcx,rbx - ja $L$ctr32_loop + ja $L$ctr32_loop mov rax,rsi cmp rbp,rsp cmove rax,rdi add rax,rcx neg rax - and rax,0fffh + and rax,0fffh cmp rax,32 mov rax,-32 cmovae rax,rbx and rbx,rax - jz $L$ctr32_unaligned_tail - jmp $L$ctr32_loop + jz $L$ctr32_unaligned_tail + jmp $L$ctr32_loop ALIGN 16 -$L$ctr32_loop:: +$L$ctr32_loop:: cmp rbx,rcx cmova rbx,rcx mov r8,rdi @@ -1013,60 +1013,60 @@ $L$ctr32_loop:: mov r10,rcx mov rcx,rbx mov r11,rbx - test rdi,00fh + test rdi,00fh cmovnz rdi,rsp - test rsi,00fh - jz $L$ctr32_inp_aligned + test rsi,00fh + jz $L$ctr32_inp_aligned shr rcx,3 -DB 0f3h,048h,0a5h +DB 0f3h,048h,0a5h sub rdi,rbx mov rcx,rbx mov rsi,rdi -$L$ctr32_inp_aligned:: - lea rax,QWORD PTR[((-16))+rdx] - lea rbx,QWORD PTR[16+rdx] +$L$ctr32_inp_aligned:: + lea rax,QWORD PTR[((-16))+rdx] + lea rbx,QWORD PTR[16+rdx] shr rcx,4 -DB 0f3h,00fh,0a7h,216 - mov eax,DWORD PTR[((-4))+rdx] - test eax,0ffff0000h - jnz $L$ctr32_no_carry +DB 0f3h,00fh,0a7h,216 + mov eax,DWORD PTR[((-4))+rdx] + test eax,0ffff0000h + jnz $L$ctr32_no_carry bswap eax - add eax,010000h + add eax,010000h bswap eax - mov DWORD PTR[((-4))+rdx],eax -$L$ctr32_no_carry:: + mov DWORD PTR[((-4))+rdx],eax +$L$ctr32_no_carry:: mov rdi,r8 mov rbx,r11 - test rdi,00fh - jz $L$ctr32_out_aligned + test rdi,00fh + jz $L$ctr32_out_aligned mov rcx,rbx - lea rsi,QWORD PTR[rsp] + lea rsi,QWORD PTR[rsp] shr rcx,3 -DB 0f3h,048h,0a5h +DB 0f3h,048h,0a5h sub rdi,rbx -$L$ctr32_out_aligned:: +$L$ctr32_out_aligned:: mov rsi,r9 mov rcx,r10 add rdi,rbx add rsi,rbx sub rcx,rbx mov rbx,512 - jz $L$ctr32_break + jz $L$ctr32_break cmp rcx,rbx - jae $L$ctr32_loop + jae $L$ctr32_loop mov rbx,rcx mov rax,rsi cmp rbp,rsp cmove rax,rdi add rax,rcx neg rax - and rax,0fffh + and rax,0fffh cmp rax,32 mov rax,-32 cmovae rax,rbx and rbx,rax - jnz $L$ctr32_loop -$L$ctr32_unaligned_tail:: + jnz $L$ctr32_loop +$L$ctr32_unaligned_tail:: xor eax,eax cmp rbp,rsp cmove rax,rcx @@ -1074,118 +1074,118 @@ $L$ctr32_unaligned_tail:: mov rbx,rcx sub rsp,rax shr rcx,3 - lea rdi,QWORD PTR[rsp] -DB 0f3h,048h,0a5h + lea rdi,QWORD PTR[rsp] +DB 0f3h,048h,0a5h mov rsi,rsp mov rdi,r8 mov rcx,rbx - jmp $L$ctr32_loop + jmp $L$ctr32_loop ALIGN 16 -$L$ctr32_break:: +$L$ctr32_break:: cmp rsp,rbp - je $L$ctr32_done + je $L$ctr32_done pxor xmm0,xmm0 - lea rax,QWORD PTR[rsp] -$L$ctr32_bzero:: - movaps XMMWORD PTR[rax],xmm0 - lea rax,QWORD PTR[16+rax] + lea rax,QWORD PTR[rsp] +$L$ctr32_bzero:: + movaps XMMWORD PTR[rax],xmm0 + lea rax,QWORD PTR[16+rax] cmp rbp,rax - ja $L$ctr32_bzero + ja $L$ctr32_bzero -$L$ctr32_done:: - lea rsp,QWORD PTR[rbp] - jmp $L$ctr32_exit +$L$ctr32_done:: + lea rsp,QWORD PTR[rbp] + jmp $L$ctr32_exit ALIGN 16 -$L$ctr32_aligned:: - mov eax,DWORD PTR[((-4))+rdx] +$L$ctr32_aligned:: + mov eax,DWORD PTR[((-4))+rdx] bswap eax neg eax - and eax,0ffffh + and eax,0ffffh mov rbx,1048576 shl eax,4 cmovz rax,rbx cmp rcx,rax cmova rbx,rax cmovbe rbx,rcx - jbe $L$ctr32_aligned_skip + jbe $L$ctr32_aligned_skip -$L$ctr32_aligned_loop:: +$L$ctr32_aligned_loop:: mov r10,rcx mov rcx,rbx mov r11,rbx - lea rax,QWORD PTR[((-16))+rdx] - lea rbx,QWORD PTR[16+rdx] + lea rax,QWORD PTR[((-16))+rdx] + lea rbx,QWORD PTR[16+rdx] shr rcx,4 -DB 0f3h,00fh,0a7h,216 +DB 0f3h,00fh,0a7h,216 - mov eax,DWORD PTR[((-4))+rdx] + mov eax,DWORD PTR[((-4))+rdx] bswap eax - add eax,010000h + add eax,010000h bswap eax - mov DWORD PTR[((-4))+rdx],eax + mov DWORD PTR[((-4))+rdx],eax mov rcx,r10 sub rcx,r11 mov rbx,1048576 - jz $L$ctr32_exit + jz $L$ctr32_exit cmp rcx,rbx - jae $L$ctr32_aligned_loop + jae $L$ctr32_aligned_loop -$L$ctr32_aligned_skip:: - lea rbp,QWORD PTR[rcx*1+rsi] +$L$ctr32_aligned_skip:: + lea rbp,QWORD PTR[rcx*1+rsi] neg rbp - and rbp,0fffh + and rbp,0fffh xor eax,eax cmp rbp,32 mov rbp,32-1 cmovae rbp,rax and rbp,rcx sub rcx,rbp - jz $L$ctr32_aligned_tail - lea rax,QWORD PTR[((-16))+rdx] - lea rbx,QWORD PTR[16+rdx] + jz $L$ctr32_aligned_tail + lea rax,QWORD PTR[((-16))+rdx] + lea rbx,QWORD PTR[16+rdx] shr rcx,4 -DB 0f3h,00fh,0a7h,216 +DB 0f3h,00fh,0a7h,216 test rbp,rbp - jz $L$ctr32_exit + jz $L$ctr32_exit -$L$ctr32_aligned_tail:: +$L$ctr32_aligned_tail:: mov r8,rdi mov rbx,rbp mov rcx,rbp - lea rbp,QWORD PTR[rsp] + lea rbp,QWORD PTR[rsp] sub rsp,rcx shr rcx,3 - lea rdi,QWORD PTR[rsp] -DB 0f3h,048h,0a5h - lea rdi,QWORD PTR[r8] - lea rsi,QWORD PTR[rsp] + lea rdi,QWORD PTR[rsp] +DB 0f3h,048h,0a5h + lea rdi,QWORD PTR[r8] + lea rsi,QWORD PTR[rsp] mov rcx,rbx - jmp $L$ctr32_loop -$L$ctr32_exit:: + jmp $L$ctr32_loop +$L$ctr32_exit:: mov eax,1 - lea rsp,QWORD PTR[8+rsp] -$L$ctr32_abort:: + lea rsp,QWORD PTR[8+rsp] +$L$ctr32_abort:: pop rbx pop rbp - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_padlock_ctr32_encrypt:: -padlock_ctr32_encrypt ENDP +$L$SEH_end_padlock_ctr32_encrypt:: +padlock_ctr32_encrypt ENDP DB 86,73,65,32,80,97,100,108,111,99,107,32,120,56,54,95 DB 54,52,32,109,111,100,117,108,101,44,32,67,82,89,80,84 DB 79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64 DB 111,112,101,110,115,115,108,46,111,114,103,62,0 ALIGN 16 -.text$ ENDS -_DATA SEGMENT +.text$ ENDS +_DATA SEGMENT ALIGN 8 -$L$padlock_saved_context:: +$L$padlock_saved_context:: DQ 0 - -_DATA ENDS -END + +_DATA ENDS +END |