deps/openssl/asm/x64-elf-gas/sha/sha1-x86_64.s

Summary

Maintainability
Test Coverage
.text



.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    $512,%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:
    .byte    0xf3,0xc3
.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:
    .byte    0xf3,0xc3
.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