root/crypto/libressl/crypto/sha/sha1-elf-x86_64.S
#include "x86_arch.h"
.text   

.hidden OPENSSL_ia32cap_P

.globl  sha1_block_data_order
.type   sha1_block_data_order,@function
.align  16
sha1_block_data_order:
        movl    OPENSSL_ia32cap_P+0(%rip),%r9d
        movl    OPENSSL_ia32cap_P+4(%rip),%r8d
        testl   $IA32CAP_MASK1_SSSE3,%r8d
        jz      .Lialu
        jmp     _ssse3_shortcut

.align  16
.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

.align  16
.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:
        retq
.size   sha1_block_data_order,.-sha1_block_data_order
.type   sha1_block_data_order_ssse3,@function
.align  16
sha1_block_data_order_ssse3:
_ssse3_shortcut:
        pushq   %rbx
        pushq   %rbp
        pushq   %r12
        leaq    -64(%rsp),%rsp
        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
.align  16
.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

.align  16
.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)
        leaq    64(%rsp),%rsi
        movq    0(%rsi),%r12
        movq    8(%rsi),%rbp
        movq    16(%rsi),%rbx
        leaq    24(%rsi),%rsp
.Lepilogue_ssse3:
        retq
.size   sha1_block_data_order_ssse3,.-sha1_block_data_order_ssse3
.align  64
K_XX_XX:
.long   0x5a827999,0x5a827999,0x5a827999,0x5a827999     
.long   0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1     
.long   0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc     
.long   0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6     
.long   0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f     
.byte   83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
.align  64
#if defined(HAVE_GNU_STACK)
.section .note.GNU-stack,"",%progbits
#endif