mirror of
https://github.com/pineappleEA/pineapple-src.git
synced 2024-11-25 12:38:25 -05:00
2665 lines
46 KiB
ArmAsm
Executable File
2665 lines
46 KiB
ArmAsm
Executable File
#include "x86_arch.h"
|
|
.text
|
|
|
|
|
|
|
|
.globl sha1_block_data_order
|
|
.def sha1_block_data_order; .scl 2; .type 32; .endef
|
|
.p2align 4
|
|
sha1_block_data_order:
|
|
movq %rdi,8(%rsp)
|
|
movq %rsi,16(%rsp)
|
|
movq %rsp,%rax
|
|
.LSEH_begin_sha1_block_data_order:
|
|
movq %rcx,%rdi
|
|
movq %rdx,%rsi
|
|
movq %r8,%rdx
|
|
|
|
movl OPENSSL_ia32cap_P+0(%rip),%r9d
|
|
movl OPENSSL_ia32cap_P+4(%rip),%r8d
|
|
testl $IA32CAP_MASK1_SSSE3,%r8d
|
|
jz .Lialu
|
|
jmp _ssse3_shortcut
|
|
|
|
.p2align 4
|
|
.Lialu:
|
|
pushq %rbx
|
|
pushq %rbp
|
|
pushq %r12
|
|
pushq %r13
|
|
movq %rsp,%r11
|
|
movq %rdi,%r8
|
|
subq $72,%rsp
|
|
movq %rsi,%r9
|
|
andq $-64,%rsp
|
|
movq %rdx,%r10
|
|
movq %r11,64(%rsp)
|
|
.Lprologue:
|
|
|
|
movl 0(%r8),%esi
|
|
movl 4(%r8),%edi
|
|
movl 8(%r8),%r11d
|
|
movl 12(%r8),%r12d
|
|
movl 16(%r8),%r13d
|
|
jmp .Lloop
|
|
|
|
.p2align 4
|
|
.Lloop:
|
|
movl 0(%r9),%edx
|
|
bswapl %edx
|
|
movl %edx,0(%rsp)
|
|
movl %r11d,%eax
|
|
movl 4(%r9),%ebp
|
|
movl %esi,%ecx
|
|
xorl %r12d,%eax
|
|
bswapl %ebp
|
|
roll $5,%ecx
|
|
leal 1518500249(%rdx,%r13,1),%r13d
|
|
andl %edi,%eax
|
|
movl %ebp,4(%rsp)
|
|
addl %ecx,%r13d
|
|
xorl %r12d,%eax
|
|
roll $30,%edi
|
|
addl %eax,%r13d
|
|
movl %edi,%eax
|
|
movl 8(%r9),%edx
|
|
movl %r13d,%ecx
|
|
xorl %r11d,%eax
|
|
bswapl %edx
|
|
roll $5,%ecx
|
|
leal 1518500249(%rbp,%r12,1),%r12d
|
|
andl %esi,%eax
|
|
movl %edx,8(%rsp)
|
|
addl %ecx,%r12d
|
|
xorl %r11d,%eax
|
|
roll $30,%esi
|
|
addl %eax,%r12d
|
|
movl %esi,%eax
|
|
movl 12(%r9),%ebp
|
|
movl %r12d,%ecx
|
|
xorl %edi,%eax
|
|
bswapl %ebp
|
|
roll $5,%ecx
|
|
leal 1518500249(%rdx,%r11,1),%r11d
|
|
andl %r13d,%eax
|
|
movl %ebp,12(%rsp)
|
|
addl %ecx,%r11d
|
|
xorl %edi,%eax
|
|
roll $30,%r13d
|
|
addl %eax,%r11d
|
|
movl %r13d,%eax
|
|
movl 16(%r9),%edx
|
|
movl %r11d,%ecx
|
|
xorl %esi,%eax
|
|
bswapl %edx
|
|
roll $5,%ecx
|
|
leal 1518500249(%rbp,%rdi,1),%edi
|
|
andl %r12d,%eax
|
|
movl %edx,16(%rsp)
|
|
addl %ecx,%edi
|
|
xorl %esi,%eax
|
|
roll $30,%r12d
|
|
addl %eax,%edi
|
|
movl %r12d,%eax
|
|
movl 20(%r9),%ebp
|
|
movl %edi,%ecx
|
|
xorl %r13d,%eax
|
|
bswapl %ebp
|
|
roll $5,%ecx
|
|
leal 1518500249(%rdx,%rsi,1),%esi
|
|
andl %r11d,%eax
|
|
movl %ebp,20(%rsp)
|
|
addl %ecx,%esi
|
|
xorl %r13d,%eax
|
|
roll $30,%r11d
|
|
addl %eax,%esi
|
|
movl %r11d,%eax
|
|
movl 24(%r9),%edx
|
|
movl %esi,%ecx
|
|
xorl %r12d,%eax
|
|
bswapl %edx
|
|
roll $5,%ecx
|
|
leal 1518500249(%rbp,%r13,1),%r13d
|
|
andl %edi,%eax
|
|
movl %edx,24(%rsp)
|
|
addl %ecx,%r13d
|
|
xorl %r12d,%eax
|
|
roll $30,%edi
|
|
addl %eax,%r13d
|
|
movl %edi,%eax
|
|
movl 28(%r9),%ebp
|
|
movl %r13d,%ecx
|
|
xorl %r11d,%eax
|
|
bswapl %ebp
|
|
roll $5,%ecx
|
|
leal 1518500249(%rdx,%r12,1),%r12d
|
|
andl %esi,%eax
|
|
movl %ebp,28(%rsp)
|
|
addl %ecx,%r12d
|
|
xorl %r11d,%eax
|
|
roll $30,%esi
|
|
addl %eax,%r12d
|
|
movl %esi,%eax
|
|
movl 32(%r9),%edx
|
|
movl %r12d,%ecx
|
|
xorl %edi,%eax
|
|
bswapl %edx
|
|
roll $5,%ecx
|
|
leal 1518500249(%rbp,%r11,1),%r11d
|
|
andl %r13d,%eax
|
|
movl %edx,32(%rsp)
|
|
addl %ecx,%r11d
|
|
xorl %edi,%eax
|
|
roll $30,%r13d
|
|
addl %eax,%r11d
|
|
movl %r13d,%eax
|
|
movl 36(%r9),%ebp
|
|
movl %r11d,%ecx
|
|
xorl %esi,%eax
|
|
bswapl %ebp
|
|
roll $5,%ecx
|
|
leal 1518500249(%rdx,%rdi,1),%edi
|
|
andl %r12d,%eax
|
|
movl %ebp,36(%rsp)
|
|
addl %ecx,%edi
|
|
xorl %esi,%eax
|
|
roll $30,%r12d
|
|
addl %eax,%edi
|
|
movl %r12d,%eax
|
|
movl 40(%r9),%edx
|
|
movl %edi,%ecx
|
|
xorl %r13d,%eax
|
|
bswapl %edx
|
|
roll $5,%ecx
|
|
leal 1518500249(%rbp,%rsi,1),%esi
|
|
andl %r11d,%eax
|
|
movl %edx,40(%rsp)
|
|
addl %ecx,%esi
|
|
xorl %r13d,%eax
|
|
roll $30,%r11d
|
|
addl %eax,%esi
|
|
movl %r11d,%eax
|
|
movl 44(%r9),%ebp
|
|
movl %esi,%ecx
|
|
xorl %r12d,%eax
|
|
bswapl %ebp
|
|
roll $5,%ecx
|
|
leal 1518500249(%rdx,%r13,1),%r13d
|
|
andl %edi,%eax
|
|
movl %ebp,44(%rsp)
|
|
addl %ecx,%r13d
|
|
xorl %r12d,%eax
|
|
roll $30,%edi
|
|
addl %eax,%r13d
|
|
movl %edi,%eax
|
|
movl 48(%r9),%edx
|
|
movl %r13d,%ecx
|
|
xorl %r11d,%eax
|
|
bswapl %edx
|
|
roll $5,%ecx
|
|
leal 1518500249(%rbp,%r12,1),%r12d
|
|
andl %esi,%eax
|
|
movl %edx,48(%rsp)
|
|
addl %ecx,%r12d
|
|
xorl %r11d,%eax
|
|
roll $30,%esi
|
|
addl %eax,%r12d
|
|
movl %esi,%eax
|
|
movl 52(%r9),%ebp
|
|
movl %r12d,%ecx
|
|
xorl %edi,%eax
|
|
bswapl %ebp
|
|
roll $5,%ecx
|
|
leal 1518500249(%rdx,%r11,1),%r11d
|
|
andl %r13d,%eax
|
|
movl %ebp,52(%rsp)
|
|
addl %ecx,%r11d
|
|
xorl %edi,%eax
|
|
roll $30,%r13d
|
|
addl %eax,%r11d
|
|
movl %r13d,%eax
|
|
movl 56(%r9),%edx
|
|
movl %r11d,%ecx
|
|
xorl %esi,%eax
|
|
bswapl %edx
|
|
roll $5,%ecx
|
|
leal 1518500249(%rbp,%rdi,1),%edi
|
|
andl %r12d,%eax
|
|
movl %edx,56(%rsp)
|
|
addl %ecx,%edi
|
|
xorl %esi,%eax
|
|
roll $30,%r12d
|
|
addl %eax,%edi
|
|
movl %r12d,%eax
|
|
movl 60(%r9),%ebp
|
|
movl %edi,%ecx
|
|
xorl %r13d,%eax
|
|
bswapl %ebp
|
|
roll $5,%ecx
|
|
leal 1518500249(%rdx,%rsi,1),%esi
|
|
andl %r11d,%eax
|
|
movl %ebp,60(%rsp)
|
|
addl %ecx,%esi
|
|
xorl %r13d,%eax
|
|
roll $30,%r11d
|
|
addl %eax,%esi
|
|
movl 0(%rsp),%edx
|
|
movl %r11d,%eax
|
|
movl %esi,%ecx
|
|
xorl 8(%rsp),%edx
|
|
xorl %r12d,%eax
|
|
roll $5,%ecx
|
|
xorl 32(%rsp),%edx
|
|
andl %edi,%eax
|
|
leal 1518500249(%rbp,%r13,1),%r13d
|
|
xorl 52(%rsp),%edx
|
|
xorl %r12d,%eax
|
|
roll $1,%edx
|
|
addl %ecx,%r13d
|
|
roll $30,%edi
|
|
movl %edx,0(%rsp)
|
|
addl %eax,%r13d
|
|
movl 4(%rsp),%ebp
|
|
movl %edi,%eax
|
|
movl %r13d,%ecx
|
|
xorl 12(%rsp),%ebp
|
|
xorl %r11d,%eax
|
|
roll $5,%ecx
|
|
xorl 36(%rsp),%ebp
|
|
andl %esi,%eax
|
|
leal 1518500249(%rdx,%r12,1),%r12d
|
|
xorl 56(%rsp),%ebp
|
|
xorl %r11d,%eax
|
|
roll $1,%ebp
|
|
addl %ecx,%r12d
|
|
roll $30,%esi
|
|
movl %ebp,4(%rsp)
|
|
addl %eax,%r12d
|
|
movl 8(%rsp),%edx
|
|
movl %esi,%eax
|
|
movl %r12d,%ecx
|
|
xorl 16(%rsp),%edx
|
|
xorl %edi,%eax
|
|
roll $5,%ecx
|
|
xorl 40(%rsp),%edx
|
|
andl %r13d,%eax
|
|
leal 1518500249(%rbp,%r11,1),%r11d
|
|
xorl 60(%rsp),%edx
|
|
xorl %edi,%eax
|
|
roll $1,%edx
|
|
addl %ecx,%r11d
|
|
roll $30,%r13d
|
|
movl %edx,8(%rsp)
|
|
addl %eax,%r11d
|
|
movl 12(%rsp),%ebp
|
|
movl %r13d,%eax
|
|
movl %r11d,%ecx
|
|
xorl 20(%rsp),%ebp
|
|
xorl %esi,%eax
|
|
roll $5,%ecx
|
|
xorl 44(%rsp),%ebp
|
|
andl %r12d,%eax
|
|
leal 1518500249(%rdx,%rdi,1),%edi
|
|
xorl 0(%rsp),%ebp
|
|
xorl %esi,%eax
|
|
roll $1,%ebp
|
|
addl %ecx,%edi
|
|
roll $30,%r12d
|
|
movl %ebp,12(%rsp)
|
|
addl %eax,%edi
|
|
movl 16(%rsp),%edx
|
|
movl %r12d,%eax
|
|
movl %edi,%ecx
|
|
xorl 24(%rsp),%edx
|
|
xorl %r13d,%eax
|
|
roll $5,%ecx
|
|
xorl 48(%rsp),%edx
|
|
andl %r11d,%eax
|
|
leal 1518500249(%rbp,%rsi,1),%esi
|
|
xorl 4(%rsp),%edx
|
|
xorl %r13d,%eax
|
|
roll $1,%edx
|
|
addl %ecx,%esi
|
|
roll $30,%r11d
|
|
movl %edx,16(%rsp)
|
|
addl %eax,%esi
|
|
movl 20(%rsp),%ebp
|
|
movl %r11d,%eax
|
|
movl %esi,%ecx
|
|
xorl 28(%rsp),%ebp
|
|
xorl %edi,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rdx,%r13,1),%r13d
|
|
xorl 52(%rsp),%ebp
|
|
xorl %r12d,%eax
|
|
addl %ecx,%r13d
|
|
xorl 8(%rsp),%ebp
|
|
roll $30,%edi
|
|
addl %eax,%r13d
|
|
roll $1,%ebp
|
|
movl %ebp,20(%rsp)
|
|
movl 24(%rsp),%edx
|
|
movl %edi,%eax
|
|
movl %r13d,%ecx
|
|
xorl 32(%rsp),%edx
|
|
xorl %esi,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rbp,%r12,1),%r12d
|
|
xorl 56(%rsp),%edx
|
|
xorl %r11d,%eax
|
|
addl %ecx,%r12d
|
|
xorl 12(%rsp),%edx
|
|
roll $30,%esi
|
|
addl %eax,%r12d
|
|
roll $1,%edx
|
|
movl %edx,24(%rsp)
|
|
movl 28(%rsp),%ebp
|
|
movl %esi,%eax
|
|
movl %r12d,%ecx
|
|
xorl 36(%rsp),%ebp
|
|
xorl %r13d,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rdx,%r11,1),%r11d
|
|
xorl 60(%rsp),%ebp
|
|
xorl %edi,%eax
|
|
addl %ecx,%r11d
|
|
xorl 16(%rsp),%ebp
|
|
roll $30,%r13d
|
|
addl %eax,%r11d
|
|
roll $1,%ebp
|
|
movl %ebp,28(%rsp)
|
|
movl 32(%rsp),%edx
|
|
movl %r13d,%eax
|
|
movl %r11d,%ecx
|
|
xorl 40(%rsp),%edx
|
|
xorl %r12d,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rbp,%rdi,1),%edi
|
|
xorl 0(%rsp),%edx
|
|
xorl %esi,%eax
|
|
addl %ecx,%edi
|
|
xorl 20(%rsp),%edx
|
|
roll $30,%r12d
|
|
addl %eax,%edi
|
|
roll $1,%edx
|
|
movl %edx,32(%rsp)
|
|
movl 36(%rsp),%ebp
|
|
movl %r12d,%eax
|
|
movl %edi,%ecx
|
|
xorl 44(%rsp),%ebp
|
|
xorl %r11d,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rdx,%rsi,1),%esi
|
|
xorl 4(%rsp),%ebp
|
|
xorl %r13d,%eax
|
|
addl %ecx,%esi
|
|
xorl 24(%rsp),%ebp
|
|
roll $30,%r11d
|
|
addl %eax,%esi
|
|
roll $1,%ebp
|
|
movl %ebp,36(%rsp)
|
|
movl 40(%rsp),%edx
|
|
movl %r11d,%eax
|
|
movl %esi,%ecx
|
|
xorl 48(%rsp),%edx
|
|
xorl %edi,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rbp,%r13,1),%r13d
|
|
xorl 8(%rsp),%edx
|
|
xorl %r12d,%eax
|
|
addl %ecx,%r13d
|
|
xorl 28(%rsp),%edx
|
|
roll $30,%edi
|
|
addl %eax,%r13d
|
|
roll $1,%edx
|
|
movl %edx,40(%rsp)
|
|
movl 44(%rsp),%ebp
|
|
movl %edi,%eax
|
|
movl %r13d,%ecx
|
|
xorl 52(%rsp),%ebp
|
|
xorl %esi,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rdx,%r12,1),%r12d
|
|
xorl 12(%rsp),%ebp
|
|
xorl %r11d,%eax
|
|
addl %ecx,%r12d
|
|
xorl 32(%rsp),%ebp
|
|
roll $30,%esi
|
|
addl %eax,%r12d
|
|
roll $1,%ebp
|
|
movl %ebp,44(%rsp)
|
|
movl 48(%rsp),%edx
|
|
movl %esi,%eax
|
|
movl %r12d,%ecx
|
|
xorl 56(%rsp),%edx
|
|
xorl %r13d,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rbp,%r11,1),%r11d
|
|
xorl 16(%rsp),%edx
|
|
xorl %edi,%eax
|
|
addl %ecx,%r11d
|
|
xorl 36(%rsp),%edx
|
|
roll $30,%r13d
|
|
addl %eax,%r11d
|
|
roll $1,%edx
|
|
movl %edx,48(%rsp)
|
|
movl 52(%rsp),%ebp
|
|
movl %r13d,%eax
|
|
movl %r11d,%ecx
|
|
xorl 60(%rsp),%ebp
|
|
xorl %r12d,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rdx,%rdi,1),%edi
|
|
xorl 20(%rsp),%ebp
|
|
xorl %esi,%eax
|
|
addl %ecx,%edi
|
|
xorl 40(%rsp),%ebp
|
|
roll $30,%r12d
|
|
addl %eax,%edi
|
|
roll $1,%ebp
|
|
movl %ebp,52(%rsp)
|
|
movl 56(%rsp),%edx
|
|
movl %r12d,%eax
|
|
movl %edi,%ecx
|
|
xorl 0(%rsp),%edx
|
|
xorl %r11d,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rbp,%rsi,1),%esi
|
|
xorl 24(%rsp),%edx
|
|
xorl %r13d,%eax
|
|
addl %ecx,%esi
|
|
xorl 44(%rsp),%edx
|
|
roll $30,%r11d
|
|
addl %eax,%esi
|
|
roll $1,%edx
|
|
movl %edx,56(%rsp)
|
|
movl 60(%rsp),%ebp
|
|
movl %r11d,%eax
|
|
movl %esi,%ecx
|
|
xorl 4(%rsp),%ebp
|
|
xorl %edi,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rdx,%r13,1),%r13d
|
|
xorl 28(%rsp),%ebp
|
|
xorl %r12d,%eax
|
|
addl %ecx,%r13d
|
|
xorl 48(%rsp),%ebp
|
|
roll $30,%edi
|
|
addl %eax,%r13d
|
|
roll $1,%ebp
|
|
movl %ebp,60(%rsp)
|
|
movl 0(%rsp),%edx
|
|
movl %edi,%eax
|
|
movl %r13d,%ecx
|
|
xorl 8(%rsp),%edx
|
|
xorl %esi,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rbp,%r12,1),%r12d
|
|
xorl 32(%rsp),%edx
|
|
xorl %r11d,%eax
|
|
addl %ecx,%r12d
|
|
xorl 52(%rsp),%edx
|
|
roll $30,%esi
|
|
addl %eax,%r12d
|
|
roll $1,%edx
|
|
movl %edx,0(%rsp)
|
|
movl 4(%rsp),%ebp
|
|
movl %esi,%eax
|
|
movl %r12d,%ecx
|
|
xorl 12(%rsp),%ebp
|
|
xorl %r13d,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rdx,%r11,1),%r11d
|
|
xorl 36(%rsp),%ebp
|
|
xorl %edi,%eax
|
|
addl %ecx,%r11d
|
|
xorl 56(%rsp),%ebp
|
|
roll $30,%r13d
|
|
addl %eax,%r11d
|
|
roll $1,%ebp
|
|
movl %ebp,4(%rsp)
|
|
movl 8(%rsp),%edx
|
|
movl %r13d,%eax
|
|
movl %r11d,%ecx
|
|
xorl 16(%rsp),%edx
|
|
xorl %r12d,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rbp,%rdi,1),%edi
|
|
xorl 40(%rsp),%edx
|
|
xorl %esi,%eax
|
|
addl %ecx,%edi
|
|
xorl 60(%rsp),%edx
|
|
roll $30,%r12d
|
|
addl %eax,%edi
|
|
roll $1,%edx
|
|
movl %edx,8(%rsp)
|
|
movl 12(%rsp),%ebp
|
|
movl %r12d,%eax
|
|
movl %edi,%ecx
|
|
xorl 20(%rsp),%ebp
|
|
xorl %r11d,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rdx,%rsi,1),%esi
|
|
xorl 44(%rsp),%ebp
|
|
xorl %r13d,%eax
|
|
addl %ecx,%esi
|
|
xorl 0(%rsp),%ebp
|
|
roll $30,%r11d
|
|
addl %eax,%esi
|
|
roll $1,%ebp
|
|
movl %ebp,12(%rsp)
|
|
movl 16(%rsp),%edx
|
|
movl %r11d,%eax
|
|
movl %esi,%ecx
|
|
xorl 24(%rsp),%edx
|
|
xorl %edi,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rbp,%r13,1),%r13d
|
|
xorl 48(%rsp),%edx
|
|
xorl %r12d,%eax
|
|
addl %ecx,%r13d
|
|
xorl 4(%rsp),%edx
|
|
roll $30,%edi
|
|
addl %eax,%r13d
|
|
roll $1,%edx
|
|
movl %edx,16(%rsp)
|
|
movl 20(%rsp),%ebp
|
|
movl %edi,%eax
|
|
movl %r13d,%ecx
|
|
xorl 28(%rsp),%ebp
|
|
xorl %esi,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rdx,%r12,1),%r12d
|
|
xorl 52(%rsp),%ebp
|
|
xorl %r11d,%eax
|
|
addl %ecx,%r12d
|
|
xorl 8(%rsp),%ebp
|
|
roll $30,%esi
|
|
addl %eax,%r12d
|
|
roll $1,%ebp
|
|
movl %ebp,20(%rsp)
|
|
movl 24(%rsp),%edx
|
|
movl %esi,%eax
|
|
movl %r12d,%ecx
|
|
xorl 32(%rsp),%edx
|
|
xorl %r13d,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rbp,%r11,1),%r11d
|
|
xorl 56(%rsp),%edx
|
|
xorl %edi,%eax
|
|
addl %ecx,%r11d
|
|
xorl 12(%rsp),%edx
|
|
roll $30,%r13d
|
|
addl %eax,%r11d
|
|
roll $1,%edx
|
|
movl %edx,24(%rsp)
|
|
movl 28(%rsp),%ebp
|
|
movl %r13d,%eax
|
|
movl %r11d,%ecx
|
|
xorl 36(%rsp),%ebp
|
|
xorl %r12d,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rdx,%rdi,1),%edi
|
|
xorl 60(%rsp),%ebp
|
|
xorl %esi,%eax
|
|
addl %ecx,%edi
|
|
xorl 16(%rsp),%ebp
|
|
roll $30,%r12d
|
|
addl %eax,%edi
|
|
roll $1,%ebp
|
|
movl %ebp,28(%rsp)
|
|
movl 32(%rsp),%edx
|
|
movl %r12d,%eax
|
|
movl %edi,%ecx
|
|
xorl 40(%rsp),%edx
|
|
xorl %r11d,%eax
|
|
roll $5,%ecx
|
|
leal 1859775393(%rbp,%rsi,1),%esi
|
|
xorl 0(%rsp),%edx
|
|
xorl %r13d,%eax
|
|
addl %ecx,%esi
|
|
xorl 20(%rsp),%edx
|
|
roll $30,%r11d
|
|
addl %eax,%esi
|
|
roll $1,%edx
|
|
movl %edx,32(%rsp)
|
|
movl 36(%rsp),%ebp
|
|
movl %r11d,%eax
|
|
movl %r11d,%ebx
|
|
xorl 44(%rsp),%ebp
|
|
andl %r12d,%eax
|
|
movl %esi,%ecx
|
|
xorl 4(%rsp),%ebp
|
|
xorl %r12d,%ebx
|
|
leal -1894007588(%rdx,%r13,1),%r13d
|
|
roll $5,%ecx
|
|
xorl 24(%rsp),%ebp
|
|
addl %eax,%r13d
|
|
andl %edi,%ebx
|
|
roll $1,%ebp
|
|
addl %ebx,%r13d
|
|
roll $30,%edi
|
|
movl %ebp,36(%rsp)
|
|
addl %ecx,%r13d
|
|
movl 40(%rsp),%edx
|
|
movl %edi,%eax
|
|
movl %edi,%ebx
|
|
xorl 48(%rsp),%edx
|
|
andl %r11d,%eax
|
|
movl %r13d,%ecx
|
|
xorl 8(%rsp),%edx
|
|
xorl %r11d,%ebx
|
|
leal -1894007588(%rbp,%r12,1),%r12d
|
|
roll $5,%ecx
|
|
xorl 28(%rsp),%edx
|
|
addl %eax,%r12d
|
|
andl %esi,%ebx
|
|
roll $1,%edx
|
|
addl %ebx,%r12d
|
|
roll $30,%esi
|
|
movl %edx,40(%rsp)
|
|
addl %ecx,%r12d
|
|
movl 44(%rsp),%ebp
|
|
movl %esi,%eax
|
|
movl %esi,%ebx
|
|
xorl 52(%rsp),%ebp
|
|
andl %edi,%eax
|
|
movl %r12d,%ecx
|
|
xorl 12(%rsp),%ebp
|
|
xorl %edi,%ebx
|
|
leal -1894007588(%rdx,%r11,1),%r11d
|
|
roll $5,%ecx
|
|
xorl 32(%rsp),%ebp
|
|
addl %eax,%r11d
|
|
andl %r13d,%ebx
|
|
roll $1,%ebp
|
|
addl %ebx,%r11d
|
|
roll $30,%r13d
|
|
movl %ebp,44(%rsp)
|
|
addl %ecx,%r11d
|
|
movl 48(%rsp),%edx
|
|
movl %r13d,%eax
|
|
movl %r13d,%ebx
|
|
xorl 56(%rsp),%edx
|
|
andl %esi,%eax
|
|
movl %r11d,%ecx
|
|
xorl 16(%rsp),%edx
|
|
xorl %esi,%ebx
|
|
leal -1894007588(%rbp,%rdi,1),%edi
|
|
roll $5,%ecx
|
|
xorl 36(%rsp),%edx
|
|
addl %eax,%edi
|
|
andl %r12d,%ebx
|
|
roll $1,%edx
|
|
addl %ebx,%edi
|
|
roll $30,%r12d
|
|
movl %edx,48(%rsp)
|
|
addl %ecx,%edi
|
|
movl 52(%rsp),%ebp
|
|
movl %r12d,%eax
|
|
movl %r12d,%ebx
|
|
xorl 60(%rsp),%ebp
|
|
andl %r13d,%eax
|
|
movl %edi,%ecx
|
|
xorl 20(%rsp),%ebp
|
|
xorl %r13d,%ebx
|
|
leal -1894007588(%rdx,%rsi,1),%esi
|
|
roll $5,%ecx
|
|
xorl 40(%rsp),%ebp
|
|
addl %eax,%esi
|
|
andl %r11d,%ebx
|
|
roll $1,%ebp
|
|
addl %ebx,%esi
|
|
roll $30,%r11d
|
|
movl %ebp,52(%rsp)
|
|
addl %ecx,%esi
|
|
movl 56(%rsp),%edx
|
|
movl %r11d,%eax
|
|
movl %r11d,%ebx
|
|
xorl 0(%rsp),%edx
|
|
andl %r12d,%eax
|
|
movl %esi,%ecx
|
|
xorl 24(%rsp),%edx
|
|
xorl %r12d,%ebx
|
|
leal -1894007588(%rbp,%r13,1),%r13d
|
|
roll $5,%ecx
|
|
xorl 44(%rsp),%edx
|
|
addl %eax,%r13d
|
|
andl %edi,%ebx
|
|
roll $1,%edx
|
|
addl %ebx,%r13d
|
|
roll $30,%edi
|
|
movl %edx,56(%rsp)
|
|
addl %ecx,%r13d
|
|
movl 60(%rsp),%ebp
|
|
movl %edi,%eax
|
|
movl %edi,%ebx
|
|
xorl 4(%rsp),%ebp
|
|
andl %r11d,%eax
|
|
movl %r13d,%ecx
|
|
xorl 28(%rsp),%ebp
|
|
xorl %r11d,%ebx
|
|
leal -1894007588(%rdx,%r12,1),%r12d
|
|
roll $5,%ecx
|
|
xorl 48(%rsp),%ebp
|
|
addl %eax,%r12d
|
|
andl %esi,%ebx
|
|
roll $1,%ebp
|
|
addl %ebx,%r12d
|
|
roll $30,%esi
|
|
movl %ebp,60(%rsp)
|
|
addl %ecx,%r12d
|
|
movl 0(%rsp),%edx
|
|
movl %esi,%eax
|
|
movl %esi,%ebx
|
|
xorl 8(%rsp),%edx
|
|
andl %edi,%eax
|
|
movl %r12d,%ecx
|
|
xorl 32(%rsp),%edx
|
|
xorl %edi,%ebx
|
|
leal -1894007588(%rbp,%r11,1),%r11d
|
|
roll $5,%ecx
|
|
xorl 52(%rsp),%edx
|
|
addl %eax,%r11d
|
|
andl %r13d,%ebx
|
|
roll $1,%edx
|
|
addl %ebx,%r11d
|
|
roll $30,%r13d
|
|
movl %edx,0(%rsp)
|
|
addl %ecx,%r11d
|
|
movl 4(%rsp),%ebp
|
|
movl %r13d,%eax
|
|
movl %r13d,%ebx
|
|
xorl 12(%rsp),%ebp
|
|
andl %esi,%eax
|
|
movl %r11d,%ecx
|
|
xorl 36(%rsp),%ebp
|
|
xorl %esi,%ebx
|
|
leal -1894007588(%rdx,%rdi,1),%edi
|
|
roll $5,%ecx
|
|
xorl 56(%rsp),%ebp
|
|
addl %eax,%edi
|
|
andl %r12d,%ebx
|
|
roll $1,%ebp
|
|
addl %ebx,%edi
|
|
roll $30,%r12d
|
|
movl %ebp,4(%rsp)
|
|
addl %ecx,%edi
|
|
movl 8(%rsp),%edx
|
|
movl %r12d,%eax
|
|
movl %r12d,%ebx
|
|
xorl 16(%rsp),%edx
|
|
andl %r13d,%eax
|
|
movl %edi,%ecx
|
|
xorl 40(%rsp),%edx
|
|
xorl %r13d,%ebx
|
|
leal -1894007588(%rbp,%rsi,1),%esi
|
|
roll $5,%ecx
|
|
xorl 60(%rsp),%edx
|
|
addl %eax,%esi
|
|
andl %r11d,%ebx
|
|
roll $1,%edx
|
|
addl %ebx,%esi
|
|
roll $30,%r11d
|
|
movl %edx,8(%rsp)
|
|
addl %ecx,%esi
|
|
movl 12(%rsp),%ebp
|
|
movl %r11d,%eax
|
|
movl %r11d,%ebx
|
|
xorl 20(%rsp),%ebp
|
|
andl %r12d,%eax
|
|
movl %esi,%ecx
|
|
xorl 44(%rsp),%ebp
|
|
xorl %r12d,%ebx
|
|
leal -1894007588(%rdx,%r13,1),%r13d
|
|
roll $5,%ecx
|
|
xorl 0(%rsp),%ebp
|
|
addl %eax,%r13d
|
|
andl %edi,%ebx
|
|
roll $1,%ebp
|
|
addl %ebx,%r13d
|
|
roll $30,%edi
|
|
movl %ebp,12(%rsp)
|
|
addl %ecx,%r13d
|
|
movl 16(%rsp),%edx
|
|
movl %edi,%eax
|
|
movl %edi,%ebx
|
|
xorl 24(%rsp),%edx
|
|
andl %r11d,%eax
|
|
movl %r13d,%ecx
|
|
xorl 48(%rsp),%edx
|
|
xorl %r11d,%ebx
|
|
leal -1894007588(%rbp,%r12,1),%r12d
|
|
roll $5,%ecx
|
|
xorl 4(%rsp),%edx
|
|
addl %eax,%r12d
|
|
andl %esi,%ebx
|
|
roll $1,%edx
|
|
addl %ebx,%r12d
|
|
roll $30,%esi
|
|
movl %edx,16(%rsp)
|
|
addl %ecx,%r12d
|
|
movl 20(%rsp),%ebp
|
|
movl %esi,%eax
|
|
movl %esi,%ebx
|
|
xorl 28(%rsp),%ebp
|
|
andl %edi,%eax
|
|
movl %r12d,%ecx
|
|
xorl 52(%rsp),%ebp
|
|
xorl %edi,%ebx
|
|
leal -1894007588(%rdx,%r11,1),%r11d
|
|
roll $5,%ecx
|
|
xorl 8(%rsp),%ebp
|
|
addl %eax,%r11d
|
|
andl %r13d,%ebx
|
|
roll $1,%ebp
|
|
addl %ebx,%r11d
|
|
roll $30,%r13d
|
|
movl %ebp,20(%rsp)
|
|
addl %ecx,%r11d
|
|
movl 24(%rsp),%edx
|
|
movl %r13d,%eax
|
|
movl %r13d,%ebx
|
|
xorl 32(%rsp),%edx
|
|
andl %esi,%eax
|
|
movl %r11d,%ecx
|
|
xorl 56(%rsp),%edx
|
|
xorl %esi,%ebx
|
|
leal -1894007588(%rbp,%rdi,1),%edi
|
|
roll $5,%ecx
|
|
xorl 12(%rsp),%edx
|
|
addl %eax,%edi
|
|
andl %r12d,%ebx
|
|
roll $1,%edx
|
|
addl %ebx,%edi
|
|
roll $30,%r12d
|
|
movl %edx,24(%rsp)
|
|
addl %ecx,%edi
|
|
movl 28(%rsp),%ebp
|
|
movl %r12d,%eax
|
|
movl %r12d,%ebx
|
|
xorl 36(%rsp),%ebp
|
|
andl %r13d,%eax
|
|
movl %edi,%ecx
|
|
xorl 60(%rsp),%ebp
|
|
xorl %r13d,%ebx
|
|
leal -1894007588(%rdx,%rsi,1),%esi
|
|
roll $5,%ecx
|
|
xorl 16(%rsp),%ebp
|
|
addl %eax,%esi
|
|
andl %r11d,%ebx
|
|
roll $1,%ebp
|
|
addl %ebx,%esi
|
|
roll $30,%r11d
|
|
movl %ebp,28(%rsp)
|
|
addl %ecx,%esi
|
|
movl 32(%rsp),%edx
|
|
movl %r11d,%eax
|
|
movl %r11d,%ebx
|
|
xorl 40(%rsp),%edx
|
|
andl %r12d,%eax
|
|
movl %esi,%ecx
|
|
xorl 0(%rsp),%edx
|
|
xorl %r12d,%ebx
|
|
leal -1894007588(%rbp,%r13,1),%r13d
|
|
roll $5,%ecx
|
|
xorl 20(%rsp),%edx
|
|
addl %eax,%r13d
|
|
andl %edi,%ebx
|
|
roll $1,%edx
|
|
addl %ebx,%r13d
|
|
roll $30,%edi
|
|
movl %edx,32(%rsp)
|
|
addl %ecx,%r13d
|
|
movl 36(%rsp),%ebp
|
|
movl %edi,%eax
|
|
movl %edi,%ebx
|
|
xorl 44(%rsp),%ebp
|
|
andl %r11d,%eax
|
|
movl %r13d,%ecx
|
|
xorl 4(%rsp),%ebp
|
|
xorl %r11d,%ebx
|
|
leal -1894007588(%rdx,%r12,1),%r12d
|
|
roll $5,%ecx
|
|
xorl 24(%rsp),%ebp
|
|
addl %eax,%r12d
|
|
andl %esi,%ebx
|
|
roll $1,%ebp
|
|
addl %ebx,%r12d
|
|
roll $30,%esi
|
|
movl %ebp,36(%rsp)
|
|
addl %ecx,%r12d
|
|
movl 40(%rsp),%edx
|
|
movl %esi,%eax
|
|
movl %esi,%ebx
|
|
xorl 48(%rsp),%edx
|
|
andl %edi,%eax
|
|
movl %r12d,%ecx
|
|
xorl 8(%rsp),%edx
|
|
xorl %edi,%ebx
|
|
leal -1894007588(%rbp,%r11,1),%r11d
|
|
roll $5,%ecx
|
|
xorl 28(%rsp),%edx
|
|
addl %eax,%r11d
|
|
andl %r13d,%ebx
|
|
roll $1,%edx
|
|
addl %ebx,%r11d
|
|
roll $30,%r13d
|
|
movl %edx,40(%rsp)
|
|
addl %ecx,%r11d
|
|
movl 44(%rsp),%ebp
|
|
movl %r13d,%eax
|
|
movl %r13d,%ebx
|
|
xorl 52(%rsp),%ebp
|
|
andl %esi,%eax
|
|
movl %r11d,%ecx
|
|
xorl 12(%rsp),%ebp
|
|
xorl %esi,%ebx
|
|
leal -1894007588(%rdx,%rdi,1),%edi
|
|
roll $5,%ecx
|
|
xorl 32(%rsp),%ebp
|
|
addl %eax,%edi
|
|
andl %r12d,%ebx
|
|
roll $1,%ebp
|
|
addl %ebx,%edi
|
|
roll $30,%r12d
|
|
movl %ebp,44(%rsp)
|
|
addl %ecx,%edi
|
|
movl 48(%rsp),%edx
|
|
movl %r12d,%eax
|
|
movl %r12d,%ebx
|
|
xorl 56(%rsp),%edx
|
|
andl %r13d,%eax
|
|
movl %edi,%ecx
|
|
xorl 16(%rsp),%edx
|
|
xorl %r13d,%ebx
|
|
leal -1894007588(%rbp,%rsi,1),%esi
|
|
roll $5,%ecx
|
|
xorl 36(%rsp),%edx
|
|
addl %eax,%esi
|
|
andl %r11d,%ebx
|
|
roll $1,%edx
|
|
addl %ebx,%esi
|
|
roll $30,%r11d
|
|
movl %edx,48(%rsp)
|
|
addl %ecx,%esi
|
|
movl 52(%rsp),%ebp
|
|
movl %r11d,%eax
|
|
movl %esi,%ecx
|
|
xorl 60(%rsp),%ebp
|
|
xorl %edi,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rdx,%r13,1),%r13d
|
|
xorl 20(%rsp),%ebp
|
|
xorl %r12d,%eax
|
|
addl %ecx,%r13d
|
|
xorl 40(%rsp),%ebp
|
|
roll $30,%edi
|
|
addl %eax,%r13d
|
|
roll $1,%ebp
|
|
movl %ebp,52(%rsp)
|
|
movl 56(%rsp),%edx
|
|
movl %edi,%eax
|
|
movl %r13d,%ecx
|
|
xorl 0(%rsp),%edx
|
|
xorl %esi,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rbp,%r12,1),%r12d
|
|
xorl 24(%rsp),%edx
|
|
xorl %r11d,%eax
|
|
addl %ecx,%r12d
|
|
xorl 44(%rsp),%edx
|
|
roll $30,%esi
|
|
addl %eax,%r12d
|
|
roll $1,%edx
|
|
movl %edx,56(%rsp)
|
|
movl 60(%rsp),%ebp
|
|
movl %esi,%eax
|
|
movl %r12d,%ecx
|
|
xorl 4(%rsp),%ebp
|
|
xorl %r13d,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rdx,%r11,1),%r11d
|
|
xorl 28(%rsp),%ebp
|
|
xorl %edi,%eax
|
|
addl %ecx,%r11d
|
|
xorl 48(%rsp),%ebp
|
|
roll $30,%r13d
|
|
addl %eax,%r11d
|
|
roll $1,%ebp
|
|
movl %ebp,60(%rsp)
|
|
movl 0(%rsp),%edx
|
|
movl %r13d,%eax
|
|
movl %r11d,%ecx
|
|
xorl 8(%rsp),%edx
|
|
xorl %r12d,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rbp,%rdi,1),%edi
|
|
xorl 32(%rsp),%edx
|
|
xorl %esi,%eax
|
|
addl %ecx,%edi
|
|
xorl 52(%rsp),%edx
|
|
roll $30,%r12d
|
|
addl %eax,%edi
|
|
roll $1,%edx
|
|
movl %edx,0(%rsp)
|
|
movl 4(%rsp),%ebp
|
|
movl %r12d,%eax
|
|
movl %edi,%ecx
|
|
xorl 12(%rsp),%ebp
|
|
xorl %r11d,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rdx,%rsi,1),%esi
|
|
xorl 36(%rsp),%ebp
|
|
xorl %r13d,%eax
|
|
addl %ecx,%esi
|
|
xorl 56(%rsp),%ebp
|
|
roll $30,%r11d
|
|
addl %eax,%esi
|
|
roll $1,%ebp
|
|
movl %ebp,4(%rsp)
|
|
movl 8(%rsp),%edx
|
|
movl %r11d,%eax
|
|
movl %esi,%ecx
|
|
xorl 16(%rsp),%edx
|
|
xorl %edi,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rbp,%r13,1),%r13d
|
|
xorl 40(%rsp),%edx
|
|
xorl %r12d,%eax
|
|
addl %ecx,%r13d
|
|
xorl 60(%rsp),%edx
|
|
roll $30,%edi
|
|
addl %eax,%r13d
|
|
roll $1,%edx
|
|
movl %edx,8(%rsp)
|
|
movl 12(%rsp),%ebp
|
|
movl %edi,%eax
|
|
movl %r13d,%ecx
|
|
xorl 20(%rsp),%ebp
|
|
xorl %esi,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rdx,%r12,1),%r12d
|
|
xorl 44(%rsp),%ebp
|
|
xorl %r11d,%eax
|
|
addl %ecx,%r12d
|
|
xorl 0(%rsp),%ebp
|
|
roll $30,%esi
|
|
addl %eax,%r12d
|
|
roll $1,%ebp
|
|
movl %ebp,12(%rsp)
|
|
movl 16(%rsp),%edx
|
|
movl %esi,%eax
|
|
movl %r12d,%ecx
|
|
xorl 24(%rsp),%edx
|
|
xorl %r13d,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rbp,%r11,1),%r11d
|
|
xorl 48(%rsp),%edx
|
|
xorl %edi,%eax
|
|
addl %ecx,%r11d
|
|
xorl 4(%rsp),%edx
|
|
roll $30,%r13d
|
|
addl %eax,%r11d
|
|
roll $1,%edx
|
|
movl %edx,16(%rsp)
|
|
movl 20(%rsp),%ebp
|
|
movl %r13d,%eax
|
|
movl %r11d,%ecx
|
|
xorl 28(%rsp),%ebp
|
|
xorl %r12d,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rdx,%rdi,1),%edi
|
|
xorl 52(%rsp),%ebp
|
|
xorl %esi,%eax
|
|
addl %ecx,%edi
|
|
xorl 8(%rsp),%ebp
|
|
roll $30,%r12d
|
|
addl %eax,%edi
|
|
roll $1,%ebp
|
|
movl %ebp,20(%rsp)
|
|
movl 24(%rsp),%edx
|
|
movl %r12d,%eax
|
|
movl %edi,%ecx
|
|
xorl 32(%rsp),%edx
|
|
xorl %r11d,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rbp,%rsi,1),%esi
|
|
xorl 56(%rsp),%edx
|
|
xorl %r13d,%eax
|
|
addl %ecx,%esi
|
|
xorl 12(%rsp),%edx
|
|
roll $30,%r11d
|
|
addl %eax,%esi
|
|
roll $1,%edx
|
|
movl %edx,24(%rsp)
|
|
movl 28(%rsp),%ebp
|
|
movl %r11d,%eax
|
|
movl %esi,%ecx
|
|
xorl 36(%rsp),%ebp
|
|
xorl %edi,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rdx,%r13,1),%r13d
|
|
xorl 60(%rsp),%ebp
|
|
xorl %r12d,%eax
|
|
addl %ecx,%r13d
|
|
xorl 16(%rsp),%ebp
|
|
roll $30,%edi
|
|
addl %eax,%r13d
|
|
roll $1,%ebp
|
|
movl %ebp,28(%rsp)
|
|
movl 32(%rsp),%edx
|
|
movl %edi,%eax
|
|
movl %r13d,%ecx
|
|
xorl 40(%rsp),%edx
|
|
xorl %esi,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rbp,%r12,1),%r12d
|
|
xorl 0(%rsp),%edx
|
|
xorl %r11d,%eax
|
|
addl %ecx,%r12d
|
|
xorl 20(%rsp),%edx
|
|
roll $30,%esi
|
|
addl %eax,%r12d
|
|
roll $1,%edx
|
|
movl %edx,32(%rsp)
|
|
movl 36(%rsp),%ebp
|
|
movl %esi,%eax
|
|
movl %r12d,%ecx
|
|
xorl 44(%rsp),%ebp
|
|
xorl %r13d,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rdx,%r11,1),%r11d
|
|
xorl 4(%rsp),%ebp
|
|
xorl %edi,%eax
|
|
addl %ecx,%r11d
|
|
xorl 24(%rsp),%ebp
|
|
roll $30,%r13d
|
|
addl %eax,%r11d
|
|
roll $1,%ebp
|
|
movl %ebp,36(%rsp)
|
|
movl 40(%rsp),%edx
|
|
movl %r13d,%eax
|
|
movl %r11d,%ecx
|
|
xorl 48(%rsp),%edx
|
|
xorl %r12d,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rbp,%rdi,1),%edi
|
|
xorl 8(%rsp),%edx
|
|
xorl %esi,%eax
|
|
addl %ecx,%edi
|
|
xorl 28(%rsp),%edx
|
|
roll $30,%r12d
|
|
addl %eax,%edi
|
|
roll $1,%edx
|
|
movl %edx,40(%rsp)
|
|
movl 44(%rsp),%ebp
|
|
movl %r12d,%eax
|
|
movl %edi,%ecx
|
|
xorl 52(%rsp),%ebp
|
|
xorl %r11d,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rdx,%rsi,1),%esi
|
|
xorl 12(%rsp),%ebp
|
|
xorl %r13d,%eax
|
|
addl %ecx,%esi
|
|
xorl 32(%rsp),%ebp
|
|
roll $30,%r11d
|
|
addl %eax,%esi
|
|
roll $1,%ebp
|
|
movl %ebp,44(%rsp)
|
|
movl 48(%rsp),%edx
|
|
movl %r11d,%eax
|
|
movl %esi,%ecx
|
|
xorl 56(%rsp),%edx
|
|
xorl %edi,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rbp,%r13,1),%r13d
|
|
xorl 16(%rsp),%edx
|
|
xorl %r12d,%eax
|
|
addl %ecx,%r13d
|
|
xorl 36(%rsp),%edx
|
|
roll $30,%edi
|
|
addl %eax,%r13d
|
|
roll $1,%edx
|
|
movl %edx,48(%rsp)
|
|
movl 52(%rsp),%ebp
|
|
movl %edi,%eax
|
|
movl %r13d,%ecx
|
|
xorl 60(%rsp),%ebp
|
|
xorl %esi,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rdx,%r12,1),%r12d
|
|
xorl 20(%rsp),%ebp
|
|
xorl %r11d,%eax
|
|
addl %ecx,%r12d
|
|
xorl 40(%rsp),%ebp
|
|
roll $30,%esi
|
|
addl %eax,%r12d
|
|
roll $1,%ebp
|
|
movl 56(%rsp),%edx
|
|
movl %esi,%eax
|
|
movl %r12d,%ecx
|
|
xorl 0(%rsp),%edx
|
|
xorl %r13d,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rbp,%r11,1),%r11d
|
|
xorl 24(%rsp),%edx
|
|
xorl %edi,%eax
|
|
addl %ecx,%r11d
|
|
xorl 44(%rsp),%edx
|
|
roll $30,%r13d
|
|
addl %eax,%r11d
|
|
roll $1,%edx
|
|
movl 60(%rsp),%ebp
|
|
movl %r13d,%eax
|
|
movl %r11d,%ecx
|
|
xorl 4(%rsp),%ebp
|
|
xorl %r12d,%eax
|
|
roll $5,%ecx
|
|
leal -899497514(%rdx,%rdi,1),%edi
|
|
xorl 28(%rsp),%ebp
|
|
xorl %esi,%eax
|
|
addl %ecx,%edi
|
|
xorl 48(%rsp),%ebp
|
|
roll $30,%r12d
|
|
addl %eax,%edi
|
|
roll $1,%ebp
|
|
movl %r12d,%eax
|
|
movl %edi,%ecx
|
|
xorl %r11d,%eax
|
|
leal -899497514(%rbp,%rsi,1),%esi
|
|
roll $5,%ecx
|
|
xorl %r13d,%eax
|
|
addl %ecx,%esi
|
|
roll $30,%r11d
|
|
addl %eax,%esi
|
|
addl 0(%r8),%esi
|
|
addl 4(%r8),%edi
|
|
addl 8(%r8),%r11d
|
|
addl 12(%r8),%r12d
|
|
addl 16(%r8),%r13d
|
|
movl %esi,0(%r8)
|
|
movl %edi,4(%r8)
|
|
movl %r11d,8(%r8)
|
|
movl %r12d,12(%r8)
|
|
movl %r13d,16(%r8)
|
|
|
|
subq $1,%r10
|
|
leaq 64(%r9),%r9
|
|
jnz .Lloop
|
|
|
|
movq 64(%rsp),%rsi
|
|
movq (%rsi),%r13
|
|
movq 8(%rsi),%r12
|
|
movq 16(%rsi),%rbp
|
|
movq 24(%rsi),%rbx
|
|
leaq 32(%rsi),%rsp
|
|
.Lepilogue:
|
|
movq 8(%rsp),%rdi
|
|
movq 16(%rsp),%rsi
|
|
retq
|
|
.LSEH_end_sha1_block_data_order:
|
|
.def sha1_block_data_order_ssse3; .scl 3; .type 32; .endef
|
|
.p2align 4
|
|
sha1_block_data_order_ssse3:
|
|
movq %rdi,8(%rsp)
|
|
movq %rsi,16(%rsp)
|
|
movq %rsp,%rax
|
|
.LSEH_begin_sha1_block_data_order_ssse3:
|
|
movq %rcx,%rdi
|
|
movq %rdx,%rsi
|
|
movq %r8,%rdx
|
|
|
|
_ssse3_shortcut:
|
|
pushq %rbx
|
|
pushq %rbp
|
|
pushq %r12
|
|
leaq -144(%rsp),%rsp
|
|
movaps %xmm6,64+0(%rsp)
|
|
movaps %xmm7,64+16(%rsp)
|
|
movaps %xmm8,64+32(%rsp)
|
|
movaps %xmm9,64+48(%rsp)
|
|
movaps %xmm10,64+64(%rsp)
|
|
.Lprologue_ssse3:
|
|
movq %rdi,%r8
|
|
movq %rsi,%r9
|
|
movq %rdx,%r10
|
|
|
|
shlq $6,%r10
|
|
addq %r9,%r10
|
|
leaq K_XX_XX(%rip),%r11
|
|
|
|
movl 0(%r8),%eax
|
|
movl 4(%r8),%ebx
|
|
movl 8(%r8),%ecx
|
|
movl 12(%r8),%edx
|
|
movl %ebx,%esi
|
|
movl 16(%r8),%ebp
|
|
|
|
movdqa 64(%r11),%xmm6
|
|
movdqa 0(%r11),%xmm9
|
|
movdqu 0(%r9),%xmm0
|
|
movdqu 16(%r9),%xmm1
|
|
movdqu 32(%r9),%xmm2
|
|
movdqu 48(%r9),%xmm3
|
|
.byte 102,15,56,0,198
|
|
addq $64,%r9
|
|
.byte 102,15,56,0,206
|
|
.byte 102,15,56,0,214
|
|
.byte 102,15,56,0,222
|
|
paddd %xmm9,%xmm0
|
|
paddd %xmm9,%xmm1
|
|
paddd %xmm9,%xmm2
|
|
movdqa %xmm0,0(%rsp)
|
|
psubd %xmm9,%xmm0
|
|
movdqa %xmm1,16(%rsp)
|
|
psubd %xmm9,%xmm1
|
|
movdqa %xmm2,32(%rsp)
|
|
psubd %xmm9,%xmm2
|
|
jmp .Loop_ssse3
|
|
.p2align 4
|
|
.Loop_ssse3:
|
|
movdqa %xmm1,%xmm4
|
|
addl 0(%rsp),%ebp
|
|
xorl %edx,%ecx
|
|
movdqa %xmm3,%xmm8
|
|
.byte 102,15,58,15,224,8
|
|
movl %eax,%edi
|
|
roll $5,%eax
|
|
paddd %xmm3,%xmm9
|
|
andl %ecx,%esi
|
|
xorl %edx,%ecx
|
|
psrldq $4,%xmm8
|
|
xorl %edx,%esi
|
|
addl %eax,%ebp
|
|
pxor %xmm0,%xmm4
|
|
rorl $2,%ebx
|
|
addl %esi,%ebp
|
|
pxor %xmm2,%xmm8
|
|
addl 4(%rsp),%edx
|
|
xorl %ecx,%ebx
|
|
movl %ebp,%esi
|
|
roll $5,%ebp
|
|
pxor %xmm8,%xmm4
|
|
andl %ebx,%edi
|
|
xorl %ecx,%ebx
|
|
movdqa %xmm9,48(%rsp)
|
|
xorl %ecx,%edi
|
|
addl %ebp,%edx
|
|
movdqa %xmm4,%xmm10
|
|
movdqa %xmm4,%xmm8
|
|
rorl $7,%eax
|
|
addl %edi,%edx
|
|
addl 8(%rsp),%ecx
|
|
xorl %ebx,%eax
|
|
pslldq $12,%xmm10
|
|
paddd %xmm4,%xmm4
|
|
movl %edx,%edi
|
|
roll $5,%edx
|
|
andl %eax,%esi
|
|
xorl %ebx,%eax
|
|
psrld $31,%xmm8
|
|
xorl %ebx,%esi
|
|
addl %edx,%ecx
|
|
movdqa %xmm10,%xmm9
|
|
rorl $7,%ebp
|
|
addl %esi,%ecx
|
|
psrld $30,%xmm10
|
|
por %xmm8,%xmm4
|
|
addl 12(%rsp),%ebx
|
|
xorl %eax,%ebp
|
|
movl %ecx,%esi
|
|
roll $5,%ecx
|
|
pslld $2,%xmm9
|
|
pxor %xmm10,%xmm4
|
|
andl %ebp,%edi
|
|
xorl %eax,%ebp
|
|
movdqa 0(%r11),%xmm10
|
|
xorl %eax,%edi
|
|
addl %ecx,%ebx
|
|
pxor %xmm9,%xmm4
|
|
rorl $7,%edx
|
|
addl %edi,%ebx
|
|
movdqa %xmm2,%xmm5
|
|
addl 16(%rsp),%eax
|
|
xorl %ebp,%edx
|
|
movdqa %xmm4,%xmm9
|
|
.byte 102,15,58,15,233,8
|
|
movl %ebx,%edi
|
|
roll $5,%ebx
|
|
paddd %xmm4,%xmm10
|
|
andl %edx,%esi
|
|
xorl %ebp,%edx
|
|
psrldq $4,%xmm9
|
|
xorl %ebp,%esi
|
|
addl %ebx,%eax
|
|
pxor %xmm1,%xmm5
|
|
rorl $7,%ecx
|
|
addl %esi,%eax
|
|
pxor %xmm3,%xmm9
|
|
addl 20(%rsp),%ebp
|
|
xorl %edx,%ecx
|
|
movl %eax,%esi
|
|
roll $5,%eax
|
|
pxor %xmm9,%xmm5
|
|
andl %ecx,%edi
|
|
xorl %edx,%ecx
|
|
movdqa %xmm10,0(%rsp)
|
|
xorl %edx,%edi
|
|
addl %eax,%ebp
|
|
movdqa %xmm5,%xmm8
|
|
movdqa %xmm5,%xmm9
|
|
rorl $7,%ebx
|
|
addl %edi,%ebp
|
|
addl 24(%rsp),%edx
|
|
xorl %ecx,%ebx
|
|
pslldq $12,%xmm8
|
|
paddd %xmm5,%xmm5
|
|
movl %ebp,%edi
|
|
roll $5,%ebp
|
|
andl %ebx,%esi
|
|
xorl %ecx,%ebx
|
|
psrld $31,%xmm9
|
|
xorl %ecx,%esi
|
|
addl %ebp,%edx
|
|
movdqa %xmm8,%xmm10
|
|
rorl $7,%eax
|
|
addl %esi,%edx
|
|
psrld $30,%xmm8
|
|
por %xmm9,%xmm5
|
|
addl 28(%rsp),%ecx
|
|
xorl %ebx,%eax
|
|
movl %edx,%esi
|
|
roll $5,%edx
|
|
pslld $2,%xmm10
|
|
pxor %xmm8,%xmm5
|
|
andl %eax,%edi
|
|
xorl %ebx,%eax
|
|
movdqa 16(%r11),%xmm8
|
|
xorl %ebx,%edi
|
|
addl %edx,%ecx
|
|
pxor %xmm10,%xmm5
|
|
rorl $7,%ebp
|
|
addl %edi,%ecx
|
|
movdqa %xmm3,%xmm6
|
|
addl 32(%rsp),%ebx
|
|
xorl %eax,%ebp
|
|
movdqa %xmm5,%xmm10
|
|
.byte 102,15,58,15,242,8
|
|
movl %ecx,%edi
|
|
roll $5,%ecx
|
|
paddd %xmm5,%xmm8
|
|
andl %ebp,%esi
|
|
xorl %eax,%ebp
|
|
psrldq $4,%xmm10
|
|
xorl %eax,%esi
|
|
addl %ecx,%ebx
|
|
pxor %xmm2,%xmm6
|
|
rorl $7,%edx
|
|
addl %esi,%ebx
|
|
pxor %xmm4,%xmm10
|
|
addl 36(%rsp),%eax
|
|
xorl %ebp,%edx
|
|
movl %ebx,%esi
|
|
roll $5,%ebx
|
|
pxor %xmm10,%xmm6
|
|
andl %edx,%edi
|
|
xorl %ebp,%edx
|
|
movdqa %xmm8,16(%rsp)
|
|
xorl %ebp,%edi
|
|
addl %ebx,%eax
|
|
movdqa %xmm6,%xmm9
|
|
movdqa %xmm6,%xmm10
|
|
rorl $7,%ecx
|
|
addl %edi,%eax
|
|
addl 40(%rsp),%ebp
|
|
xorl %edx,%ecx
|
|
pslldq $12,%xmm9
|
|
paddd %xmm6,%xmm6
|
|
movl %eax,%edi
|
|
roll $5,%eax
|
|
andl %ecx,%esi
|
|
xorl %edx,%ecx
|
|
psrld $31,%xmm10
|
|
xorl %edx,%esi
|
|
addl %eax,%ebp
|
|
movdqa %xmm9,%xmm8
|
|
rorl $7,%ebx
|
|
addl %esi,%ebp
|
|
psrld $30,%xmm9
|
|
por %xmm10,%xmm6
|
|
addl 44(%rsp),%edx
|
|
xorl %ecx,%ebx
|
|
movl %ebp,%esi
|
|
roll $5,%ebp
|
|
pslld $2,%xmm8
|
|
pxor %xmm9,%xmm6
|
|
andl %ebx,%edi
|
|
xorl %ecx,%ebx
|
|
movdqa 16(%r11),%xmm9
|
|
xorl %ecx,%edi
|
|
addl %ebp,%edx
|
|
pxor %xmm8,%xmm6
|
|
rorl $7,%eax
|
|
addl %edi,%edx
|
|
movdqa %xmm4,%xmm7
|
|
addl 48(%rsp),%ecx
|
|
xorl %ebx,%eax
|
|
movdqa %xmm6,%xmm8
|
|
.byte 102,15,58,15,251,8
|
|
movl %edx,%edi
|
|
roll $5,%edx
|
|
paddd %xmm6,%xmm9
|
|
andl %eax,%esi
|
|
xorl %ebx,%eax
|
|
psrldq $4,%xmm8
|
|
xorl %ebx,%esi
|
|
addl %edx,%ecx
|
|
pxor %xmm3,%xmm7
|
|
rorl $7,%ebp
|
|
addl %esi,%ecx
|
|
pxor %xmm5,%xmm8
|
|
addl 52(%rsp),%ebx
|
|
xorl %eax,%ebp
|
|
movl %ecx,%esi
|
|
roll $5,%ecx
|
|
pxor %xmm8,%xmm7
|
|
andl %ebp,%edi
|
|
xorl %eax,%ebp
|
|
movdqa %xmm9,32(%rsp)
|
|
xorl %eax,%edi
|
|
addl %ecx,%ebx
|
|
movdqa %xmm7,%xmm10
|
|
movdqa %xmm7,%xmm8
|
|
rorl $7,%edx
|
|
addl %edi,%ebx
|
|
addl 56(%rsp),%eax
|
|
xorl %ebp,%edx
|
|
pslldq $12,%xmm10
|
|
paddd %xmm7,%xmm7
|
|
movl %ebx,%edi
|
|
roll $5,%ebx
|
|
andl %edx,%esi
|
|
xorl %ebp,%edx
|
|
psrld $31,%xmm8
|
|
xorl %ebp,%esi
|
|
addl %ebx,%eax
|
|
movdqa %xmm10,%xmm9
|
|
rorl $7,%ecx
|
|
addl %esi,%eax
|
|
psrld $30,%xmm10
|
|
por %xmm8,%xmm7
|
|
addl 60(%rsp),%ebp
|
|
xorl %edx,%ecx
|
|
movl %eax,%esi
|
|
roll $5,%eax
|
|
pslld $2,%xmm9
|
|
pxor %xmm10,%xmm7
|
|
andl %ecx,%edi
|
|
xorl %edx,%ecx
|
|
movdqa 16(%r11),%xmm10
|
|
xorl %edx,%edi
|
|
addl %eax,%ebp
|
|
pxor %xmm9,%xmm7
|
|
rorl $7,%ebx
|
|
addl %edi,%ebp
|
|
movdqa %xmm7,%xmm9
|
|
addl 0(%rsp),%edx
|
|
pxor %xmm4,%xmm0
|
|
.byte 102,68,15,58,15,206,8
|
|
xorl %ecx,%ebx
|
|
movl %ebp,%edi
|
|
roll $5,%ebp
|
|
pxor %xmm1,%xmm0
|
|
andl %ebx,%esi
|
|
xorl %ecx,%ebx
|
|
movdqa %xmm10,%xmm8
|
|
paddd %xmm7,%xmm10
|
|
xorl %ecx,%esi
|
|
addl %ebp,%edx
|
|
pxor %xmm9,%xmm0
|
|
rorl $7,%eax
|
|
addl %esi,%edx
|
|
addl 4(%rsp),%ecx
|
|
xorl %ebx,%eax
|
|
movdqa %xmm0,%xmm9
|
|
movdqa %xmm10,48(%rsp)
|
|
movl %edx,%esi
|
|
roll $5,%edx
|
|
andl %eax,%edi
|
|
xorl %ebx,%eax
|
|
pslld $2,%xmm0
|
|
xorl %ebx,%edi
|
|
addl %edx,%ecx
|
|
psrld $30,%xmm9
|
|
rorl $7,%ebp
|
|
addl %edi,%ecx
|
|
addl 8(%rsp),%ebx
|
|
xorl %eax,%ebp
|
|
movl %ecx,%edi
|
|
roll $5,%ecx
|
|
por %xmm9,%xmm0
|
|
andl %ebp,%esi
|
|
xorl %eax,%ebp
|
|
movdqa %xmm0,%xmm10
|
|
xorl %eax,%esi
|
|
addl %ecx,%ebx
|
|
rorl $7,%edx
|
|
addl %esi,%ebx
|
|
addl 12(%rsp),%eax
|
|
xorl %ebp,%edx
|
|
movl %ebx,%esi
|
|
roll $5,%ebx
|
|
andl %edx,%edi
|
|
xorl %ebp,%edx
|
|
xorl %ebp,%edi
|
|
addl %ebx,%eax
|
|
rorl $7,%ecx
|
|
addl %edi,%eax
|
|
addl 16(%rsp),%ebp
|
|
pxor %xmm5,%xmm1
|
|
.byte 102,68,15,58,15,215,8
|
|
xorl %edx,%esi
|
|
movl %eax,%edi
|
|
roll $5,%eax
|
|
pxor %xmm2,%xmm1
|
|
xorl %ecx,%esi
|
|
addl %eax,%ebp
|
|
movdqa %xmm8,%xmm9
|
|
paddd %xmm0,%xmm8
|
|
rorl $7,%ebx
|
|
addl %esi,%ebp
|
|
pxor %xmm10,%xmm1
|
|
addl 20(%rsp),%edx
|
|
xorl %ecx,%edi
|
|
movl %ebp,%esi
|
|
roll $5,%ebp
|
|
movdqa %xmm1,%xmm10
|
|
movdqa %xmm8,0(%rsp)
|
|
xorl %ebx,%edi
|
|
addl %ebp,%edx
|
|
rorl $7,%eax
|
|
addl %edi,%edx
|
|
pslld $2,%xmm1
|
|
addl 24(%rsp),%ecx
|
|
xorl %ebx,%esi
|
|
psrld $30,%xmm10
|
|
movl %edx,%edi
|
|
roll $5,%edx
|
|
xorl %eax,%esi
|
|
addl %edx,%ecx
|
|
rorl $7,%ebp
|
|
addl %esi,%ecx
|
|
por %xmm10,%xmm1
|
|
addl 28(%rsp),%ebx
|
|
xorl %eax,%edi
|
|
movdqa %xmm1,%xmm8
|
|
movl %ecx,%esi
|
|
roll $5,%ecx
|
|
xorl %ebp,%edi
|
|
addl %ecx,%ebx
|
|
rorl $7,%edx
|
|
addl %edi,%ebx
|
|
addl 32(%rsp),%eax
|
|
pxor %xmm6,%xmm2
|
|
.byte 102,68,15,58,15,192,8
|
|
xorl %ebp,%esi
|
|
movl %ebx,%edi
|
|
roll $5,%ebx
|
|
pxor %xmm3,%xmm2
|
|
xorl %edx,%esi
|
|
addl %ebx,%eax
|
|
movdqa 32(%r11),%xmm10
|
|
paddd %xmm1,%xmm9
|
|
rorl $7,%ecx
|
|
addl %esi,%eax
|
|
pxor %xmm8,%xmm2
|
|
addl 36(%rsp),%ebp
|
|
xorl %edx,%edi
|
|
movl %eax,%esi
|
|
roll $5,%eax
|
|
movdqa %xmm2,%xmm8
|
|
movdqa %xmm9,16(%rsp)
|
|
xorl %ecx,%edi
|
|
addl %eax,%ebp
|
|
rorl $7,%ebx
|
|
addl %edi,%ebp
|
|
pslld $2,%xmm2
|
|
addl 40(%rsp),%edx
|
|
xorl %ecx,%esi
|
|
psrld $30,%xmm8
|
|
movl %ebp,%edi
|
|
roll $5,%ebp
|
|
xorl %ebx,%esi
|
|
addl %ebp,%edx
|
|
rorl $7,%eax
|
|
addl %esi,%edx
|
|
por %xmm8,%xmm2
|
|
addl 44(%rsp),%ecx
|
|
xorl %ebx,%edi
|
|
movdqa %xmm2,%xmm9
|
|
movl %edx,%esi
|
|
roll $5,%edx
|
|
xorl %eax,%edi
|
|
addl %edx,%ecx
|
|
rorl $7,%ebp
|
|
addl %edi,%ecx
|
|
addl 48(%rsp),%ebx
|
|
pxor %xmm7,%xmm3
|
|
.byte 102,68,15,58,15,201,8
|
|
xorl %eax,%esi
|
|
movl %ecx,%edi
|
|
roll $5,%ecx
|
|
pxor %xmm4,%xmm3
|
|
xorl %ebp,%esi
|
|
addl %ecx,%ebx
|
|
movdqa %xmm10,%xmm8
|
|
paddd %xmm2,%xmm10
|
|
rorl $7,%edx
|
|
addl %esi,%ebx
|
|
pxor %xmm9,%xmm3
|
|
addl 52(%rsp),%eax
|
|
xorl %ebp,%edi
|
|
movl %ebx,%esi
|
|
roll $5,%ebx
|
|
movdqa %xmm3,%xmm9
|
|
movdqa %xmm10,32(%rsp)
|
|
xorl %edx,%edi
|
|
addl %ebx,%eax
|
|
rorl $7,%ecx
|
|
addl %edi,%eax
|
|
pslld $2,%xmm3
|
|
addl 56(%rsp),%ebp
|
|
xorl %edx,%esi
|
|
psrld $30,%xmm9
|
|
movl %eax,%edi
|
|
roll $5,%eax
|
|
xorl %ecx,%esi
|
|
addl %eax,%ebp
|
|
rorl $7,%ebx
|
|
addl %esi,%ebp
|
|
por %xmm9,%xmm3
|
|
addl 60(%rsp),%edx
|
|
xorl %ecx,%edi
|
|
movdqa %xmm3,%xmm10
|
|
movl %ebp,%esi
|
|
roll $5,%ebp
|
|
xorl %ebx,%edi
|
|
addl %ebp,%edx
|
|
rorl $7,%eax
|
|
addl %edi,%edx
|
|
addl 0(%rsp),%ecx
|
|
pxor %xmm0,%xmm4
|
|
.byte 102,68,15,58,15,210,8
|
|
xorl %ebx,%esi
|
|
movl %edx,%edi
|
|
roll $5,%edx
|
|
pxor %xmm5,%xmm4
|
|
xorl %eax,%esi
|
|
addl %edx,%ecx
|
|
movdqa %xmm8,%xmm9
|
|
paddd %xmm3,%xmm8
|
|
rorl $7,%ebp
|
|
addl %esi,%ecx
|
|
pxor %xmm10,%xmm4
|
|
addl 4(%rsp),%ebx
|
|
xorl %eax,%edi
|
|
movl %ecx,%esi
|
|
roll $5,%ecx
|
|
movdqa %xmm4,%xmm10
|
|
movdqa %xmm8,48(%rsp)
|
|
xorl %ebp,%edi
|
|
addl %ecx,%ebx
|
|
rorl $7,%edx
|
|
addl %edi,%ebx
|
|
pslld $2,%xmm4
|
|
addl 8(%rsp),%eax
|
|
xorl %ebp,%esi
|
|
psrld $30,%xmm10
|
|
movl %ebx,%edi
|
|
roll $5,%ebx
|
|
xorl %edx,%esi
|
|
addl %ebx,%eax
|
|
rorl $7,%ecx
|
|
addl %esi,%eax
|
|
por %xmm10,%xmm4
|
|
addl 12(%rsp),%ebp
|
|
xorl %edx,%edi
|
|
movdqa %xmm4,%xmm8
|
|
movl %eax,%esi
|
|
roll $5,%eax
|
|
xorl %ecx,%edi
|
|
addl %eax,%ebp
|
|
rorl $7,%ebx
|
|
addl %edi,%ebp
|
|
addl 16(%rsp),%edx
|
|
pxor %xmm1,%xmm5
|
|
.byte 102,68,15,58,15,195,8
|
|
xorl %ecx,%esi
|
|
movl %ebp,%edi
|
|
roll $5,%ebp
|
|
pxor %xmm6,%xmm5
|
|
xorl %ebx,%esi
|
|
addl %ebp,%edx
|
|
movdqa %xmm9,%xmm10
|
|
paddd %xmm4,%xmm9
|
|
rorl $7,%eax
|
|
addl %esi,%edx
|
|
pxor %xmm8,%xmm5
|
|
addl 20(%rsp),%ecx
|
|
xorl %ebx,%edi
|
|
movl %edx,%esi
|
|
roll $5,%edx
|
|
movdqa %xmm5,%xmm8
|
|
movdqa %xmm9,0(%rsp)
|
|
xorl %eax,%edi
|
|
addl %edx,%ecx
|
|
rorl $7,%ebp
|
|
addl %edi,%ecx
|
|
pslld $2,%xmm5
|
|
addl 24(%rsp),%ebx
|
|
xorl %eax,%esi
|
|
psrld $30,%xmm8
|
|
movl %ecx,%edi
|
|
roll $5,%ecx
|
|
xorl %ebp,%esi
|
|
addl %ecx,%ebx
|
|
rorl $7,%edx
|
|
addl %esi,%ebx
|
|
por %xmm8,%xmm5
|
|
addl 28(%rsp),%eax
|
|
xorl %ebp,%edi
|
|
movdqa %xmm5,%xmm9
|
|
movl %ebx,%esi
|
|
roll $5,%ebx
|
|
xorl %edx,%edi
|
|
addl %ebx,%eax
|
|
rorl $7,%ecx
|
|
addl %edi,%eax
|
|
movl %ecx,%edi
|
|
pxor %xmm2,%xmm6
|
|
.byte 102,68,15,58,15,204,8
|
|
xorl %edx,%ecx
|
|
addl 32(%rsp),%ebp
|
|
andl %edx,%edi
|
|
pxor %xmm7,%xmm6
|
|
andl %ecx,%esi
|
|
rorl $7,%ebx
|
|
movdqa %xmm10,%xmm8
|
|
paddd %xmm5,%xmm10
|
|
addl %edi,%ebp
|
|
movl %eax,%edi
|
|
pxor %xmm9,%xmm6
|
|
roll $5,%eax
|
|
addl %esi,%ebp
|
|
xorl %edx,%ecx
|
|
addl %eax,%ebp
|
|
movdqa %xmm6,%xmm9
|
|
movdqa %xmm10,16(%rsp)
|
|
movl %ebx,%esi
|
|
xorl %ecx,%ebx
|
|
addl 36(%rsp),%edx
|
|
andl %ecx,%esi
|
|
pslld $2,%xmm6
|
|
andl %ebx,%edi
|
|
rorl $7,%eax
|
|
psrld $30,%xmm9
|
|
addl %esi,%edx
|
|
movl %ebp,%esi
|
|
roll $5,%ebp
|
|
addl %edi,%edx
|
|
xorl %ecx,%ebx
|
|
addl %ebp,%edx
|
|
por %xmm9,%xmm6
|
|
movl %eax,%edi
|
|
xorl %ebx,%eax
|
|
movdqa %xmm6,%xmm10
|
|
addl 40(%rsp),%ecx
|
|
andl %ebx,%edi
|
|
andl %eax,%esi
|
|
rorl $7,%ebp
|
|
addl %edi,%ecx
|
|
movl %edx,%edi
|
|
roll $5,%edx
|
|
addl %esi,%ecx
|
|
xorl %ebx,%eax
|
|
addl %edx,%ecx
|
|
movl %ebp,%esi
|
|
xorl %eax,%ebp
|
|
addl 44(%rsp),%ebx
|
|
andl %eax,%esi
|
|
andl %ebp,%edi
|
|
rorl $7,%edx
|
|
addl %esi,%ebx
|
|
movl %ecx,%esi
|
|
roll $5,%ecx
|
|
addl %edi,%ebx
|
|
xorl %eax,%ebp
|
|
addl %ecx,%ebx
|
|
movl %edx,%edi
|
|
pxor %xmm3,%xmm7
|
|
.byte 102,68,15,58,15,213,8
|
|
xorl %ebp,%edx
|
|
addl 48(%rsp),%eax
|
|
andl %ebp,%edi
|
|
pxor %xmm0,%xmm7
|
|
andl %edx,%esi
|
|
rorl $7,%ecx
|
|
movdqa 48(%r11),%xmm9
|
|
paddd %xmm6,%xmm8
|
|
addl %edi,%eax
|
|
movl %ebx,%edi
|
|
pxor %xmm10,%xmm7
|
|
roll $5,%ebx
|
|
addl %esi,%eax
|
|
xorl %ebp,%edx
|
|
addl %ebx,%eax
|
|
movdqa %xmm7,%xmm10
|
|
movdqa %xmm8,32(%rsp)
|
|
movl %ecx,%esi
|
|
xorl %edx,%ecx
|
|
addl 52(%rsp),%ebp
|
|
andl %edx,%esi
|
|
pslld $2,%xmm7
|
|
andl %ecx,%edi
|
|
rorl $7,%ebx
|
|
psrld $30,%xmm10
|
|
addl %esi,%ebp
|
|
movl %eax,%esi
|
|
roll $5,%eax
|
|
addl %edi,%ebp
|
|
xorl %edx,%ecx
|
|
addl %eax,%ebp
|
|
por %xmm10,%xmm7
|
|
movl %ebx,%edi
|
|
xorl %ecx,%ebx
|
|
movdqa %xmm7,%xmm8
|
|
addl 56(%rsp),%edx
|
|
andl %ecx,%edi
|
|
andl %ebx,%esi
|
|
rorl $7,%eax
|
|
addl %edi,%edx
|
|
movl %ebp,%edi
|
|
roll $5,%ebp
|
|
addl %esi,%edx
|
|
xorl %ecx,%ebx
|
|
addl %ebp,%edx
|
|
movl %eax,%esi
|
|
xorl %ebx,%eax
|
|
addl 60(%rsp),%ecx
|
|
andl %ebx,%esi
|
|
andl %eax,%edi
|
|
rorl $7,%ebp
|
|
addl %esi,%ecx
|
|
movl %edx,%esi
|
|
roll $5,%edx
|
|
addl %edi,%ecx
|
|
xorl %ebx,%eax
|
|
addl %edx,%ecx
|
|
movl %ebp,%edi
|
|
pxor %xmm4,%xmm0
|
|
.byte 102,68,15,58,15,198,8
|
|
xorl %eax,%ebp
|
|
addl 0(%rsp),%ebx
|
|
andl %eax,%edi
|
|
pxor %xmm1,%xmm0
|
|
andl %ebp,%esi
|
|
rorl $7,%edx
|
|
movdqa %xmm9,%xmm10
|
|
paddd %xmm7,%xmm9
|
|
addl %edi,%ebx
|
|
movl %ecx,%edi
|
|
pxor %xmm8,%xmm0
|
|
roll $5,%ecx
|
|
addl %esi,%ebx
|
|
xorl %eax,%ebp
|
|
addl %ecx,%ebx
|
|
movdqa %xmm0,%xmm8
|
|
movdqa %xmm9,48(%rsp)
|
|
movl %edx,%esi
|
|
xorl %ebp,%edx
|
|
addl 4(%rsp),%eax
|
|
andl %ebp,%esi
|
|
pslld $2,%xmm0
|
|
andl %edx,%edi
|
|
rorl $7,%ecx
|
|
psrld $30,%xmm8
|
|
addl %esi,%eax
|
|
movl %ebx,%esi
|
|
roll $5,%ebx
|
|
addl %edi,%eax
|
|
xorl %ebp,%edx
|
|
addl %ebx,%eax
|
|
por %xmm8,%xmm0
|
|
movl %ecx,%edi
|
|
xorl %edx,%ecx
|
|
movdqa %xmm0,%xmm9
|
|
addl 8(%rsp),%ebp
|
|
andl %edx,%edi
|
|
andl %ecx,%esi
|
|
rorl $7,%ebx
|
|
addl %edi,%ebp
|
|
movl %eax,%edi
|
|
roll $5,%eax
|
|
addl %esi,%ebp
|
|
xorl %edx,%ecx
|
|
addl %eax,%ebp
|
|
movl %ebx,%esi
|
|
xorl %ecx,%ebx
|
|
addl 12(%rsp),%edx
|
|
andl %ecx,%esi
|
|
andl %ebx,%edi
|
|
rorl $7,%eax
|
|
addl %esi,%edx
|
|
movl %ebp,%esi
|
|
roll $5,%ebp
|
|
addl %edi,%edx
|
|
xorl %ecx,%ebx
|
|
addl %ebp,%edx
|
|
movl %eax,%edi
|
|
pxor %xmm5,%xmm1
|
|
.byte 102,68,15,58,15,207,8
|
|
xorl %ebx,%eax
|
|
addl 16(%rsp),%ecx
|
|
andl %ebx,%edi
|
|
pxor %xmm2,%xmm1
|
|
andl %eax,%esi
|
|
rorl $7,%ebp
|
|
movdqa %xmm10,%xmm8
|
|
paddd %xmm0,%xmm10
|
|
addl %edi,%ecx
|
|
movl %edx,%edi
|
|
pxor %xmm9,%xmm1
|
|
roll $5,%edx
|
|
addl %esi,%ecx
|
|
xorl %ebx,%eax
|
|
addl %edx,%ecx
|
|
movdqa %xmm1,%xmm9
|
|
movdqa %xmm10,0(%rsp)
|
|
movl %ebp,%esi
|
|
xorl %eax,%ebp
|
|
addl 20(%rsp),%ebx
|
|
andl %eax,%esi
|
|
pslld $2,%xmm1
|
|
andl %ebp,%edi
|
|
rorl $7,%edx
|
|
psrld $30,%xmm9
|
|
addl %esi,%ebx
|
|
movl %ecx,%esi
|
|
roll $5,%ecx
|
|
addl %edi,%ebx
|
|
xorl %eax,%ebp
|
|
addl %ecx,%ebx
|
|
por %xmm9,%xmm1
|
|
movl %edx,%edi
|
|
xorl %ebp,%edx
|
|
movdqa %xmm1,%xmm10
|
|
addl 24(%rsp),%eax
|
|
andl %ebp,%edi
|
|
andl %edx,%esi
|
|
rorl $7,%ecx
|
|
addl %edi,%eax
|
|
movl %ebx,%edi
|
|
roll $5,%ebx
|
|
addl %esi,%eax
|
|
xorl %ebp,%edx
|
|
addl %ebx,%eax
|
|
movl %ecx,%esi
|
|
xorl %edx,%ecx
|
|
addl 28(%rsp),%ebp
|
|
andl %edx,%esi
|
|
andl %ecx,%edi
|
|
rorl $7,%ebx
|
|
addl %esi,%ebp
|
|
movl %eax,%esi
|
|
roll $5,%eax
|
|
addl %edi,%ebp
|
|
xorl %edx,%ecx
|
|
addl %eax,%ebp
|
|
movl %ebx,%edi
|
|
pxor %xmm6,%xmm2
|
|
.byte 102,68,15,58,15,208,8
|
|
xorl %ecx,%ebx
|
|
addl 32(%rsp),%edx
|
|
andl %ecx,%edi
|
|
pxor %xmm3,%xmm2
|
|
andl %ebx,%esi
|
|
rorl $7,%eax
|
|
movdqa %xmm8,%xmm9
|
|
paddd %xmm1,%xmm8
|
|
addl %edi,%edx
|
|
movl %ebp,%edi
|
|
pxor %xmm10,%xmm2
|
|
roll $5,%ebp
|
|
addl %esi,%edx
|
|
xorl %ecx,%ebx
|
|
addl %ebp,%edx
|
|
movdqa %xmm2,%xmm10
|
|
movdqa %xmm8,16(%rsp)
|
|
movl %eax,%esi
|
|
xorl %ebx,%eax
|
|
addl 36(%rsp),%ecx
|
|
andl %ebx,%esi
|
|
pslld $2,%xmm2
|
|
andl %eax,%edi
|
|
rorl $7,%ebp
|
|
psrld $30,%xmm10
|
|
addl %esi,%ecx
|
|
movl %edx,%esi
|
|
roll $5,%edx
|
|
addl %edi,%ecx
|
|
xorl %ebx,%eax
|
|
addl %edx,%ecx
|
|
por %xmm10,%xmm2
|
|
movl %ebp,%edi
|
|
xorl %eax,%ebp
|
|
movdqa %xmm2,%xmm8
|
|
addl 40(%rsp),%ebx
|
|
andl %eax,%edi
|
|
andl %ebp,%esi
|
|
rorl $7,%edx
|
|
addl %edi,%ebx
|
|
movl %ecx,%edi
|
|
roll $5,%ecx
|
|
addl %esi,%ebx
|
|
xorl %eax,%ebp
|
|
addl %ecx,%ebx
|
|
movl %edx,%esi
|
|
xorl %ebp,%edx
|
|
addl 44(%rsp),%eax
|
|
andl %ebp,%esi
|
|
andl %edx,%edi
|
|
rorl $7,%ecx
|
|
addl %esi,%eax
|
|
movl %ebx,%esi
|
|
roll $5,%ebx
|
|
addl %edi,%eax
|
|
xorl %ebp,%edx
|
|
addl %ebx,%eax
|
|
addl 48(%rsp),%ebp
|
|
pxor %xmm7,%xmm3
|
|
.byte 102,68,15,58,15,193,8
|
|
xorl %edx,%esi
|
|
movl %eax,%edi
|
|
roll $5,%eax
|
|
pxor %xmm4,%xmm3
|
|
xorl %ecx,%esi
|
|
addl %eax,%ebp
|
|
movdqa %xmm9,%xmm10
|
|
paddd %xmm2,%xmm9
|
|
rorl $7,%ebx
|
|
addl %esi,%ebp
|
|
pxor %xmm8,%xmm3
|
|
addl 52(%rsp),%edx
|
|
xorl %ecx,%edi
|
|
movl %ebp,%esi
|
|
roll $5,%ebp
|
|
movdqa %xmm3,%xmm8
|
|
movdqa %xmm9,32(%rsp)
|
|
xorl %ebx,%edi
|
|
addl %ebp,%edx
|
|
rorl $7,%eax
|
|
addl %edi,%edx
|
|
pslld $2,%xmm3
|
|
addl 56(%rsp),%ecx
|
|
xorl %ebx,%esi
|
|
psrld $30,%xmm8
|
|
movl %edx,%edi
|
|
roll $5,%edx
|
|
xorl %eax,%esi
|
|
addl %edx,%ecx
|
|
rorl $7,%ebp
|
|
addl %esi,%ecx
|
|
por %xmm8,%xmm3
|
|
addl 60(%rsp),%ebx
|
|
xorl %eax,%edi
|
|
movl %ecx,%esi
|
|
roll $5,%ecx
|
|
xorl %ebp,%edi
|
|
addl %ecx,%ebx
|
|
rorl $7,%edx
|
|
addl %edi,%ebx
|
|
addl 0(%rsp),%eax
|
|
paddd %xmm3,%xmm10
|
|
xorl %ebp,%esi
|
|
movl %ebx,%edi
|
|
roll $5,%ebx
|
|
xorl %edx,%esi
|
|
movdqa %xmm10,48(%rsp)
|
|
addl %ebx,%eax
|
|
rorl $7,%ecx
|
|
addl %esi,%eax
|
|
addl 4(%rsp),%ebp
|
|
xorl %edx,%edi
|
|
movl %eax,%esi
|
|
roll $5,%eax
|
|
xorl %ecx,%edi
|
|
addl %eax,%ebp
|
|
rorl $7,%ebx
|
|
addl %edi,%ebp
|
|
addl 8(%rsp),%edx
|
|
xorl %ecx,%esi
|
|
movl %ebp,%edi
|
|
roll $5,%ebp
|
|
xorl %ebx,%esi
|
|
addl %ebp,%edx
|
|
rorl $7,%eax
|
|
addl %esi,%edx
|
|
addl 12(%rsp),%ecx
|
|
xorl %ebx,%edi
|
|
movl %edx,%esi
|
|
roll $5,%edx
|
|
xorl %eax,%edi
|
|
addl %edx,%ecx
|
|
rorl $7,%ebp
|
|
addl %edi,%ecx
|
|
cmpq %r10,%r9
|
|
je .Ldone_ssse3
|
|
movdqa 64(%r11),%xmm6
|
|
movdqa 0(%r11),%xmm9
|
|
movdqu 0(%r9),%xmm0
|
|
movdqu 16(%r9),%xmm1
|
|
movdqu 32(%r9),%xmm2
|
|
movdqu 48(%r9),%xmm3
|
|
.byte 102,15,56,0,198
|
|
addq $64,%r9
|
|
addl 16(%rsp),%ebx
|
|
xorl %eax,%esi
|
|
.byte 102,15,56,0,206
|
|
movl %ecx,%edi
|
|
roll $5,%ecx
|
|
paddd %xmm9,%xmm0
|
|
xorl %ebp,%esi
|
|
addl %ecx,%ebx
|
|
rorl $7,%edx
|
|
addl %esi,%ebx
|
|
movdqa %xmm0,0(%rsp)
|
|
addl 20(%rsp),%eax
|
|
xorl %ebp,%edi
|
|
psubd %xmm9,%xmm0
|
|
movl %ebx,%esi
|
|
roll $5,%ebx
|
|
xorl %edx,%edi
|
|
addl %ebx,%eax
|
|
rorl $7,%ecx
|
|
addl %edi,%eax
|
|
addl 24(%rsp),%ebp
|
|
xorl %edx,%esi
|
|
movl %eax,%edi
|
|
roll $5,%eax
|
|
xorl %ecx,%esi
|
|
addl %eax,%ebp
|
|
rorl $7,%ebx
|
|
addl %esi,%ebp
|
|
addl 28(%rsp),%edx
|
|
xorl %ecx,%edi
|
|
movl %ebp,%esi
|
|
roll $5,%ebp
|
|
xorl %ebx,%edi
|
|
addl %ebp,%edx
|
|
rorl $7,%eax
|
|
addl %edi,%edx
|
|
addl 32(%rsp),%ecx
|
|
xorl %ebx,%esi
|
|
.byte 102,15,56,0,214
|
|
movl %edx,%edi
|
|
roll $5,%edx
|
|
paddd %xmm9,%xmm1
|
|
xorl %eax,%esi
|
|
addl %edx,%ecx
|
|
rorl $7,%ebp
|
|
addl %esi,%ecx
|
|
movdqa %xmm1,16(%rsp)
|
|
addl 36(%rsp),%ebx
|
|
xorl %eax,%edi
|
|
psubd %xmm9,%xmm1
|
|
movl %ecx,%esi
|
|
roll $5,%ecx
|
|
xorl %ebp,%edi
|
|
addl %ecx,%ebx
|
|
rorl $7,%edx
|
|
addl %edi,%ebx
|
|
addl 40(%rsp),%eax
|
|
xorl %ebp,%esi
|
|
movl %ebx,%edi
|
|
roll $5,%ebx
|
|
xorl %edx,%esi
|
|
addl %ebx,%eax
|
|
rorl $7,%ecx
|
|
addl %esi,%eax
|
|
addl 44(%rsp),%ebp
|
|
xorl %edx,%edi
|
|
movl %eax,%esi
|
|
roll $5,%eax
|
|
xorl %ecx,%edi
|
|
addl %eax,%ebp
|
|
rorl $7,%ebx
|
|
addl %edi,%ebp
|
|
addl 48(%rsp),%edx
|
|
xorl %ecx,%esi
|
|
.byte 102,15,56,0,222
|
|
movl %ebp,%edi
|
|
roll $5,%ebp
|
|
paddd %xmm9,%xmm2
|
|
xorl %ebx,%esi
|
|
addl %ebp,%edx
|
|
rorl $7,%eax
|
|
addl %esi,%edx
|
|
movdqa %xmm2,32(%rsp)
|
|
addl 52(%rsp),%ecx
|
|
xorl %ebx,%edi
|
|
psubd %xmm9,%xmm2
|
|
movl %edx,%esi
|
|
roll $5,%edx
|
|
xorl %eax,%edi
|
|
addl %edx,%ecx
|
|
rorl $7,%ebp
|
|
addl %edi,%ecx
|
|
addl 56(%rsp),%ebx
|
|
xorl %eax,%esi
|
|
movl %ecx,%edi
|
|
roll $5,%ecx
|
|
xorl %ebp,%esi
|
|
addl %ecx,%ebx
|
|
rorl $7,%edx
|
|
addl %esi,%ebx
|
|
addl 60(%rsp),%eax
|
|
xorl %ebp,%edi
|
|
movl %ebx,%esi
|
|
roll $5,%ebx
|
|
xorl %edx,%edi
|
|
addl %ebx,%eax
|
|
rorl $7,%ecx
|
|
addl %edi,%eax
|
|
addl 0(%r8),%eax
|
|
addl 4(%r8),%esi
|
|
addl 8(%r8),%ecx
|
|
addl 12(%r8),%edx
|
|
movl %eax,0(%r8)
|
|
addl 16(%r8),%ebp
|
|
movl %esi,4(%r8)
|
|
movl %esi,%ebx
|
|
movl %ecx,8(%r8)
|
|
movl %edx,12(%r8)
|
|
movl %ebp,16(%r8)
|
|
jmp .Loop_ssse3
|
|
|
|
.p2align 4
|
|
.Ldone_ssse3:
|
|
addl 16(%rsp),%ebx
|
|
xorl %eax,%esi
|
|
movl %ecx,%edi
|
|
roll $5,%ecx
|
|
xorl %ebp,%esi
|
|
addl %ecx,%ebx
|
|
rorl $7,%edx
|
|
addl %esi,%ebx
|
|
addl 20(%rsp),%eax
|
|
xorl %ebp,%edi
|
|
movl %ebx,%esi
|
|
roll $5,%ebx
|
|
xorl %edx,%edi
|
|
addl %ebx,%eax
|
|
rorl $7,%ecx
|
|
addl %edi,%eax
|
|
addl 24(%rsp),%ebp
|
|
xorl %edx,%esi
|
|
movl %eax,%edi
|
|
roll $5,%eax
|
|
xorl %ecx,%esi
|
|
addl %eax,%ebp
|
|
rorl $7,%ebx
|
|
addl %esi,%ebp
|
|
addl 28(%rsp),%edx
|
|
xorl %ecx,%edi
|
|
movl %ebp,%esi
|
|
roll $5,%ebp
|
|
xorl %ebx,%edi
|
|
addl %ebp,%edx
|
|
rorl $7,%eax
|
|
addl %edi,%edx
|
|
addl 32(%rsp),%ecx
|
|
xorl %ebx,%esi
|
|
movl %edx,%edi
|
|
roll $5,%edx
|
|
xorl %eax,%esi
|
|
addl %edx,%ecx
|
|
rorl $7,%ebp
|
|
addl %esi,%ecx
|
|
addl 36(%rsp),%ebx
|
|
xorl %eax,%edi
|
|
movl %ecx,%esi
|
|
roll $5,%ecx
|
|
xorl %ebp,%edi
|
|
addl %ecx,%ebx
|
|
rorl $7,%edx
|
|
addl %edi,%ebx
|
|
addl 40(%rsp),%eax
|
|
xorl %ebp,%esi
|
|
movl %ebx,%edi
|
|
roll $5,%ebx
|
|
xorl %edx,%esi
|
|
addl %ebx,%eax
|
|
rorl $7,%ecx
|
|
addl %esi,%eax
|
|
addl 44(%rsp),%ebp
|
|
xorl %edx,%edi
|
|
movl %eax,%esi
|
|
roll $5,%eax
|
|
xorl %ecx,%edi
|
|
addl %eax,%ebp
|
|
rorl $7,%ebx
|
|
addl %edi,%ebp
|
|
addl 48(%rsp),%edx
|
|
xorl %ecx,%esi
|
|
movl %ebp,%edi
|
|
roll $5,%ebp
|
|
xorl %ebx,%esi
|
|
addl %ebp,%edx
|
|
rorl $7,%eax
|
|
addl %esi,%edx
|
|
addl 52(%rsp),%ecx
|
|
xorl %ebx,%edi
|
|
movl %edx,%esi
|
|
roll $5,%edx
|
|
xorl %eax,%edi
|
|
addl %edx,%ecx
|
|
rorl $7,%ebp
|
|
addl %edi,%ecx
|
|
addl 56(%rsp),%ebx
|
|
xorl %eax,%esi
|
|
movl %ecx,%edi
|
|
roll $5,%ecx
|
|
xorl %ebp,%esi
|
|
addl %ecx,%ebx
|
|
rorl $7,%edx
|
|
addl %esi,%ebx
|
|
addl 60(%rsp),%eax
|
|
xorl %ebp,%edi
|
|
movl %ebx,%esi
|
|
roll $5,%ebx
|
|
xorl %edx,%edi
|
|
addl %ebx,%eax
|
|
rorl $7,%ecx
|
|
addl %edi,%eax
|
|
addl 0(%r8),%eax
|
|
addl 4(%r8),%esi
|
|
addl 8(%r8),%ecx
|
|
movl %eax,0(%r8)
|
|
addl 12(%r8),%edx
|
|
movl %esi,4(%r8)
|
|
addl 16(%r8),%ebp
|
|
movl %ecx,8(%r8)
|
|
movl %edx,12(%r8)
|
|
movl %ebp,16(%r8)
|
|
movaps 64+0(%rsp),%xmm6
|
|
movaps 64+16(%rsp),%xmm7
|
|
movaps 64+32(%rsp),%xmm8
|
|
movaps 64+48(%rsp),%xmm9
|
|
movaps 64+64(%rsp),%xmm10
|
|
leaq 144(%rsp),%rsi
|
|
movq 0(%rsi),%r12
|
|
movq 8(%rsi),%rbp
|
|
movq 16(%rsi),%rbx
|
|
leaq 24(%rsi),%rsp
|
|
.Lepilogue_ssse3:
|
|
movq 8(%rsp),%rdi
|
|
movq 16(%rsp),%rsi
|
|
retq
|
|
.LSEH_end_sha1_block_data_order_ssse3:
|
|
.p2align 6
|
|
K_XX_XX:
|
|
.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
|
|
.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
|
|
.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
|
|
.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
|
|
.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
|
|
.byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
|
.p2align 6
|
|
|
|
.def se_handler; .scl 3; .type 32; .endef
|
|
.p2align 4
|
|
se_handler:
|
|
pushq %rsi
|
|
pushq %rdi
|
|
pushq %rbx
|
|
pushq %rbp
|
|
pushq %r12
|
|
pushq %r13
|
|
pushq %r14
|
|
pushq %r15
|
|
pushfq
|
|
subq $64,%rsp
|
|
|
|
movq 120(%r8),%rax
|
|
movq 248(%r8),%rbx
|
|
|
|
leaq .Lprologue(%rip),%r10
|
|
cmpq %r10,%rbx
|
|
jb .Lcommon_seh_tail
|
|
|
|
movq 152(%r8),%rax
|
|
|
|
leaq .Lepilogue(%rip),%r10
|
|
cmpq %r10,%rbx
|
|
jae .Lcommon_seh_tail
|
|
|
|
movq 64(%rax),%rax
|
|
leaq 32(%rax),%rax
|
|
|
|
movq -8(%rax),%rbx
|
|
movq -16(%rax),%rbp
|
|
movq -24(%rax),%r12
|
|
movq -32(%rax),%r13
|
|
movq %rbx,144(%r8)
|
|
movq %rbp,160(%r8)
|
|
movq %r12,216(%r8)
|
|
movq %r13,224(%r8)
|
|
|
|
jmp .Lcommon_seh_tail
|
|
|
|
|
|
.def ssse3_handler; .scl 3; .type 32; .endef
|
|
.p2align 4
|
|
ssse3_handler:
|
|
pushq %rsi
|
|
pushq %rdi
|
|
pushq %rbx
|
|
pushq %rbp
|
|
pushq %r12
|
|
pushq %r13
|
|
pushq %r14
|
|
pushq %r15
|
|
pushfq
|
|
subq $64,%rsp
|
|
|
|
movq 120(%r8),%rax
|
|
movq 248(%r8),%rbx
|
|
|
|
movq 8(%r9),%rsi
|
|
movq 56(%r9),%r11
|
|
|
|
movl 0(%r11),%r10d
|
|
leaq (%rsi,%r10,1),%r10
|
|
cmpq %r10,%rbx
|
|
jb .Lcommon_seh_tail
|
|
|
|
movq 152(%r8),%rax
|
|
|
|
movl 4(%r11),%r10d
|
|
leaq (%rsi,%r10,1),%r10
|
|
cmpq %r10,%rbx
|
|
jae .Lcommon_seh_tail
|
|
|
|
leaq 64(%rax),%rsi
|
|
leaq 512(%r8),%rdi
|
|
movl $10,%ecx
|
|
.long 0xa548f3fc
|
|
leaq 168(%rax),%rax
|
|
|
|
movq -8(%rax),%rbx
|
|
movq -16(%rax),%rbp
|
|
movq -24(%rax),%r12
|
|
movq %rbx,144(%r8)
|
|
movq %rbp,160(%r8)
|
|
movq %r12,216(%r8)
|
|
|
|
.Lcommon_seh_tail:
|
|
movq 8(%rax),%rdi
|
|
movq 16(%rax),%rsi
|
|
movq %rax,152(%r8)
|
|
movq %rsi,168(%r8)
|
|
movq %rdi,176(%r8)
|
|
|
|
movq 40(%r9),%rdi
|
|
movq %r8,%rsi
|
|
movl $154,%ecx
|
|
.long 0xa548f3fc
|
|
|
|
movq %r9,%rsi
|
|
xorq %rcx,%rcx
|
|
movq 8(%rsi),%rdx
|
|
movq 0(%rsi),%r8
|
|
movq 16(%rsi),%r9
|
|
movq 40(%rsi),%r10
|
|
leaq 56(%rsi),%r11
|
|
leaq 24(%rsi),%r12
|
|
movq %r10,32(%rsp)
|
|
movq %r11,40(%rsp)
|
|
movq %r12,48(%rsp)
|
|
movq %rcx,56(%rsp)
|
|
call *__imp_RtlVirtualUnwind(%rip)
|
|
|
|
movl $1,%eax
|
|
addq $64,%rsp
|
|
popfq
|
|
popq %r15
|
|
popq %r14
|
|
popq %r13
|
|
popq %r12
|
|
popq %rbp
|
|
popq %rbx
|
|
popq %rdi
|
|
popq %rsi
|
|
retq
|
|
|
|
|
|
.section .pdata
|
|
.p2align 2
|
|
.rva .LSEH_begin_sha1_block_data_order
|
|
.rva .LSEH_end_sha1_block_data_order
|
|
.rva .LSEH_info_sha1_block_data_order
|
|
.rva .LSEH_begin_sha1_block_data_order_ssse3
|
|
.rva .LSEH_end_sha1_block_data_order_ssse3
|
|
.rva .LSEH_info_sha1_block_data_order_ssse3
|
|
.section .xdata
|
|
.p2align 3
|
|
.LSEH_info_sha1_block_data_order:
|
|
.byte 9,0,0,0
|
|
.rva se_handler
|
|
.LSEH_info_sha1_block_data_order_ssse3:
|
|
.byte 9,0,0,0
|
|
.rva ssse3_handler
|
|
.rva .Lprologue_ssse3,.Lepilogue_ssse3
|