michael@0: / This Source Code Form is subject to the terms of the Mozilla Public michael@0: / License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: / file, You can obtain one at http://mozilla.org/MPL/2.0/. michael@0: michael@0: .file "sha_fast.c" michael@0: .text michael@0: .align 16 michael@0: .globl SHA1_Begin michael@0: .type SHA1_Begin, @function michael@0: SHA1_Begin: michael@0: .LFB4: michael@0: movl $4023233417, %ecx michael@0: movl $2562383102, %edx michael@0: movl $3285377520, %eax michael@0: movq $0, 64(%rdi) michael@0: movq $1732584193, 72(%rdi) michael@0: movq %rcx, 80(%rdi) michael@0: movq %rdx, 88(%rdi) michael@0: movq $271733878, 96(%rdi) michael@0: movq %rax, 104(%rdi) michael@0: ret michael@0: .LFE4: michael@0: .size SHA1_Begin, .-SHA1_Begin michael@0: .align 16 michael@0: .type shaCompress, @function michael@0: shaCompress: michael@0: .LFB7: michael@0: pushq %r15 michael@0: .LCFI0: michael@0: pushq %r14 michael@0: .LCFI1: michael@0: pushq %r13 michael@0: .LCFI2: michael@0: pushq %r12 michael@0: .LCFI3: michael@0: movq -88(%rdi), %r12 michael@0: movq -80(%rdi), %r10 michael@0: movq -72(%rdi), %r13 michael@0: movq -64(%rdi), %r8 michael@0: pushq %rbx michael@0: .LCFI4: michael@0: movq -56(%rdi), %rcx michael@0: movl (%rsi), %eax michael@0: movl %r12d, %edx michael@0: movq %r13, %r9 michael@0: roll $5, %edx michael@0: movl 4(%rsi), %ebx michael@0: xorq %r8, %r9 michael@0: /APP michael@0: bswap %eax michael@0: /NO_APP michael@0: andq %r10, %r9 michael@0: mov %eax, %r15d michael@0: roll $30, %r10d michael@0: movq %r15, -48(%rdi) michael@0: xorq %r8, %r9 michael@0: movq -48(%rdi), %r14 michael@0: addq %r9, %rdx michael@0: movq %r10, %rax michael@0: movl %r12d, %r15d michael@0: addq %rcx, %rdx michael@0: xorq %r13, %rax michael@0: roll $30, %r15d michael@0: leaq 1518500249(%rdx,%r14), %rdx michael@0: andq %r12, %rax michael@0: movq %r15, %r12 michael@0: /APP michael@0: bswap %ebx michael@0: /NO_APP michael@0: movl %edx, %ecx michael@0: mov %ebx, %r11d michael@0: xorq %r13, %rax michael@0: movq %r11, -40(%rdi) michael@0: roll $5, %ecx michael@0: movq -40(%rdi), %r9 michael@0: addq %rax, %rcx michael@0: xorq %r10, %r12 michael@0: movl 8(%rsi), %r14d michael@0: addq %r8, %rcx michael@0: andq %rdx, %r12 michael@0: movl %edx, %r11d michael@0: leaq 1518500249(%rcx,%r9), %rcx michael@0: xorq %r10, %r12 michael@0: roll $30, %r11d michael@0: /APP michael@0: bswap %r14d michael@0: /NO_APP michael@0: movl %ecx, %r8d michael@0: mov %r14d, %ebx michael@0: movl 12(%rsi), %r9d michael@0: movq %rbx, -32(%rdi) michael@0: roll $5, %r8d michael@0: movq -32(%rdi), %rax michael@0: addq %r12, %r8 michael@0: movq %r11, %r12 michael@0: movl %ecx, %ebx michael@0: addq %r13, %r8 michael@0: xorq %r15, %r12 michael@0: roll $30, %ebx michael@0: leaq 1518500249(%r8,%rax), %r8 michael@0: andq %rcx, %r12 michael@0: movl 16(%rsi), %eax michael@0: /APP michael@0: bswap %r9d michael@0: /NO_APP michael@0: movl %r8d, %edx michael@0: mov %r9d, %r14d michael@0: xorq %r15, %r12 michael@0: movq %r14, -24(%rdi) michael@0: roll $5, %edx michael@0: movq -24(%rdi), %r13 michael@0: addq %r12, %rdx michael@0: movq %rbx, %r12 michael@0: movl %r8d, %r14d michael@0: addq %r10, %rdx michael@0: leaq 1518500249(%rdx,%r13), %rdx michael@0: movl 20(%rsi), %r13d michael@0: /APP michael@0: bswap %eax michael@0: /NO_APP michael@0: movl %edx, %ecx michael@0: mov %eax, %r9d michael@0: roll $5, %ecx michael@0: xorq %r11, %r12 michael@0: movq %r9, -16(%rdi) michael@0: andq %r8, %r12 michael@0: movq -16(%rdi), %r10 michael@0: roll $30, %r14d michael@0: xorq %r11, %r12 michael@0: movq %r14, %rax michael@0: movl %edx, %r9d michael@0: addq %r12, %rcx michael@0: xorq %rbx, %rax michael@0: roll $30, %r9d michael@0: addq %r15, %rcx michael@0: andq %rdx, %rax michael@0: leaq 1518500249(%rcx,%r10), %rcx michael@0: xorq %rbx, %rax michael@0: movl 24(%rsi), %r10d michael@0: /APP michael@0: bswap %r13d michael@0: /NO_APP michael@0: movl %ecx, %r8d michael@0: mov %r13d, %r15d michael@0: movq %r15, -8(%rdi) michael@0: roll $5, %r8d michael@0: movq -8(%rdi), %r12 michael@0: addq %rax, %r8 michael@0: movl %ecx, %r15d michael@0: addq %r11, %r8 michael@0: movq %r9, %r11 michael@0: roll $30, %r15d michael@0: leaq 1518500249(%r8,%r12), %r8 michael@0: xorq %r14, %r11 michael@0: movl 28(%rsi), %r12d michael@0: /APP michael@0: bswap %r10d michael@0: /NO_APP michael@0: andq %rcx, %r11 michael@0: mov %r10d, %r13d michael@0: movl %r8d, %edx michael@0: movq %r13, (%rdi) michael@0: xorq %r14, %r11 michael@0: movq (%rdi), %rax michael@0: roll $5, %edx michael@0: movq %r15, %r10 michael@0: movl %r8d, %r13d michael@0: addq %r11, %rdx michael@0: xorq %r9, %r10 michael@0: roll $30, %r13d michael@0: addq %rbx, %rdx michael@0: andq %r8, %r10 michael@0: leaq 1518500249(%rdx,%rax), %rdx michael@0: xorq %r9, %r10 michael@0: movl 32(%rsi), %eax michael@0: /APP michael@0: bswap %r12d michael@0: /NO_APP michael@0: movl %edx, %ecx michael@0: mov %r12d, %ebx michael@0: movq %rbx, 8(%rdi) michael@0: roll $5, %ecx michael@0: movq 8(%rdi), %r11 michael@0: addq %r10, %rcx michael@0: movq %r13, %r10 michael@0: movl %edx, %ebx michael@0: addq %r14, %rcx michael@0: leaq 1518500249(%rcx,%r11), %rcx michael@0: /APP michael@0: bswap %eax michael@0: /NO_APP michael@0: movl %ecx, %r8d michael@0: mov %eax, %r12d michael@0: roll $5, %r8d michael@0: xorq %r15, %r10 michael@0: movq %r12, 16(%rdi) michael@0: andq %rdx, %r10 michael@0: movq 16(%rdi), %r14 michael@0: roll $30, %ebx michael@0: xorq %r15, %r10 michael@0: movq %rbx, %rax michael@0: movl 36(%rsi), %r11d michael@0: addq %r10, %r8 michael@0: xorq %r13, %rax michael@0: movl %ecx, %r12d michael@0: addq %r9, %r8 michael@0: andq %rcx, %rax michael@0: roll $30, %r12d michael@0: leaq 1518500249(%r8,%r14), %r8 michael@0: xorq %r13, %rax michael@0: movl 40(%rsi), %r14d michael@0: /APP michael@0: bswap %r11d michael@0: /NO_APP michael@0: movl %r8d, %edx michael@0: mov %r11d, %r9d michael@0: movq %r12, %r11 michael@0: movq %r9, 24(%rdi) michael@0: roll $5, %edx michael@0: movq 24(%rdi), %r10 michael@0: addq %rax, %rdx michael@0: xorq %rbx, %r11 michael@0: movl %r8d, %r9d michael@0: addq %r15, %rdx michael@0: andq %r8, %r11 michael@0: roll $30, %r9d michael@0: leaq 1518500249(%rdx,%r10), %rdx michael@0: xorq %rbx, %r11 michael@0: movl 44(%rsi), %r10d michael@0: /APP michael@0: bswap %r14d michael@0: /NO_APP michael@0: movl %edx, %ecx michael@0: mov %r14d, %r15d michael@0: movq %r15, 32(%rdi) michael@0: roll $5, %ecx michael@0: movq 32(%rdi), %rax michael@0: addq %r11, %rcx michael@0: movq %r9, %r11 michael@0: movl %edx, %r15d michael@0: addq %r13, %rcx michael@0: xorq %r12, %r11 michael@0: roll $30, %r15d michael@0: leaq 1518500249(%rcx,%rax), %rcx michael@0: andq %rdx, %r11 michael@0: movl 48(%rsi), %eax michael@0: /APP michael@0: bswap %r10d michael@0: /NO_APP michael@0: movl %ecx, %r8d michael@0: mov %r10d, %r14d michael@0: xorq %r12, %r11 michael@0: movq %r14, 40(%rdi) michael@0: roll $5, %r8d michael@0: movq 40(%rdi), %r13 michael@0: addq %r11, %r8 michael@0: movq %r15, %r10 michael@0: movl %ecx, %r14d michael@0: addq %rbx, %r8 michael@0: xorq %r9, %r10 michael@0: leaq 1518500249(%r8,%r13), %r8 michael@0: movl 52(%rsi), %r13d michael@0: /APP michael@0: bswap %eax michael@0: /NO_APP michael@0: movl %r8d, %edx michael@0: mov %eax, %ebx michael@0: roll $5, %edx michael@0: andq %rcx, %r10 michael@0: movq %rbx, 48(%rdi) michael@0: xorq %r9, %r10 michael@0: movq 48(%rdi), %r11 michael@0: roll $30, %r14d michael@0: addq %r10, %rdx michael@0: movq %r14, %rax michael@0: movl %r8d, %ebx michael@0: addq %r12, %rdx michael@0: xorq %r15, %rax michael@0: roll $30, %ebx michael@0: leaq 1518500249(%rdx,%r11), %rdx michael@0: andq %r8, %rax michael@0: movl 56(%rsi), %r11d michael@0: /APP michael@0: bswap %r13d michael@0: /NO_APP michael@0: movl %edx, %ecx michael@0: mov %r13d, %r12d michael@0: xorq %r15, %rax michael@0: movq %r12, 56(%rdi) michael@0: roll $5, %ecx michael@0: movq 56(%rdi), %r10 michael@0: addq %rax, %rcx michael@0: movl %edx, %r12d michael@0: addq %r9, %rcx michael@0: movq %rbx, %r9 michael@0: roll $30, %r12d michael@0: leaq 1518500249(%rcx,%r10), %rcx michael@0: xorq %r14, %r9 michael@0: movl 60(%rsi), %r10d michael@0: /APP michael@0: bswap %r11d michael@0: /NO_APP michael@0: andq %rdx, %r9 michael@0: mov %r11d, %r13d michael@0: movl %ecx, %r8d michael@0: movq %r13, 64(%rdi) michael@0: xorq %r14, %r9 michael@0: movq 64(%rdi), %rax michael@0: roll $5, %r8d michael@0: movq %r12, %r11 michael@0: movl %ecx, %r13d michael@0: addq %r9, %r8 michael@0: xorq %rbx, %r11 michael@0: roll $30, %r13d michael@0: addq %r15, %r8 michael@0: andq %rcx, %r11 michael@0: leaq 1518500249(%r8,%rax), %r8 michael@0: xorq %rbx, %r11 michael@0: /APP michael@0: bswap %r10d michael@0: /NO_APP michael@0: movl %r8d, %esi michael@0: mov %r10d, %r15d michael@0: movq %r15, 72(%rdi) michael@0: roll $5, %esi michael@0: movq 72(%rdi), %r9 michael@0: movq 56(%rdi), %r10 michael@0: movq 16(%rdi), %rcx michael@0: addq %r11, %rsi michael@0: movq -32(%rdi), %rdx michael@0: addq %r14, %rsi michael@0: movq -48(%rdi), %rax michael@0: leaq 1518500249(%rsi,%r9), %r14 michael@0: movq %r13, %r11 michael@0: movl %r8d, %r15d michael@0: xorq %rcx, %r10 michael@0: xorq %rdx, %r10 michael@0: movl %r14d, %ecx michael@0: xorl %eax, %r10d michael@0: roll %r10d michael@0: roll $5, %ecx michael@0: xorq %r12, %r11 michael@0: andq %r8, %r11 michael@0: movq %r10, -48(%rdi) michael@0: movq -48(%rdi), %r9 michael@0: xorq %r12, %r11 michael@0: roll $30, %r15d michael@0: movl %r14d, %r10d michael@0: addq %r11, %rcx michael@0: movq 64(%rdi), %r11 michael@0: movq 24(%rdi), %rdx michael@0: addq %rbx, %rcx michael@0: movq -24(%rdi), %rbx michael@0: movq -40(%rdi), %rax michael@0: leaq 1518500249(%rcx,%r9), %rcx michael@0: movq %r15, %r8 michael@0: roll $30, %r10d michael@0: xorq %rdx, %r11 michael@0: xorq %r13, %r8 michael@0: xorq %rbx, %r11 michael@0: andq %r14, %r8 michael@0: movl %ecx, %r9d michael@0: xorl %eax, %r11d michael@0: xorq %r13, %r8 michael@0: roll $5, %r9d michael@0: roll %r11d michael@0: addq %r8, %r9 michael@0: movq %r10, %rax michael@0: movq %r11, -40(%rdi) michael@0: movq -40(%rdi), %rsi michael@0: addq %r12, %r9 michael@0: movq 72(%rdi), %rbx michael@0: movq 32(%rdi), %rdx michael@0: xorq %r15, %rax michael@0: movq -16(%rdi), %r14 michael@0: movq -32(%rdi), %r12 michael@0: andq %rcx, %rax michael@0: leaq 1518500249(%r9,%rsi), %r9 michael@0: xorq %r15, %rax michael@0: movl %ecx, %r11d michael@0: xorq %rdx, %rbx michael@0: roll $30, %r11d michael@0: xorq %r14, %rbx michael@0: movl %r9d, %esi michael@0: xorl %r12d, %ebx michael@0: roll $5, %esi michael@0: roll %ebx michael@0: addq %rax, %rsi michael@0: movq %rbx, -32(%rdi) michael@0: movq -32(%rdi), %r8 michael@0: addq %r13, %rsi michael@0: movq -48(%rdi), %r12 michael@0: movq 40(%rdi), %rdx michael@0: movq %r11, %r13 michael@0: movq -8(%rdi), %r14 michael@0: movq -24(%rdi), %rcx michael@0: movl %r9d, %ebx michael@0: leaq 1518500249(%rsi,%r8), %rsi michael@0: xorq %rdx, %r12 michael@0: xorq %r14, %r12 michael@0: movl %esi, %r8d michael@0: xorl %ecx, %r12d michael@0: roll %r12d michael@0: roll $5, %r8d michael@0: xorq %r10, %r13 michael@0: andq %r9, %r13 michael@0: movq %r12, -24(%rdi) michael@0: movq -24(%rdi), %rax michael@0: xorq %r10, %r13 michael@0: roll $30, %ebx michael@0: movl %esi, %r12d michael@0: addq %r13, %r8 michael@0: xorq %rbx, %rsi michael@0: roll $30, %r12d michael@0: addq %r15, %r8 michael@0: movq -40(%rdi), %r15 michael@0: movq 48(%rdi), %rdx michael@0: movq (%rdi), %r14 michael@0: movq -16(%rdi), %r9 michael@0: leaq 1518500249(%r8,%rax), %r13 michael@0: xorq %r11, %rsi michael@0: xorq %rdx, %r15 michael@0: movl %r13d, %ecx michael@0: xorq %r14, %r15 michael@0: roll $5, %ecx michael@0: xorl %r9d, %r15d michael@0: addq %rsi, %rcx michael@0: roll %r15d michael@0: addq %r10, %rcx michael@0: movq %r15, -16(%rdi) michael@0: movq -16(%rdi), %rsi michael@0: movl %r13d, %r15d michael@0: movq -32(%rdi), %r14 michael@0: movq 56(%rdi), %rax michael@0: xorq %r12, %r13 michael@0: movq 8(%rdi), %rdx michael@0: movq -8(%rdi), %r10 michael@0: xorq %rbx, %r13 michael@0: leaq 1859775393(%rcx,%rsi), %r9 michael@0: roll $30, %r15d michael@0: xorq %rax, %r14 michael@0: xorq %rdx, %r14 michael@0: movl %r9d, %esi michael@0: xorl %r10d, %r14d michael@0: roll $5, %esi michael@0: roll %r14d michael@0: addq %r13, %rsi michael@0: movq %r14, -8(%rdi) michael@0: movq -8(%rdi), %r8 michael@0: addq %r11, %rsi michael@0: movq -24(%rdi), %r13 michael@0: movq 64(%rdi), %rax michael@0: movl %r9d, %r14d michael@0: movq 16(%rdi), %rdx michael@0: movq (%rdi), %r11 michael@0: xorq %r15, %r9 michael@0: leaq 1859775393(%rsi,%r8), %r10 michael@0: xorq %rax, %r13 michael@0: xorq %rdx, %r13 michael@0: movl %r10d, %r8d michael@0: xorl %r11d, %r13d michael@0: roll $5, %r8d michael@0: roll %r13d michael@0: xorq %r12, %r9 michael@0: roll $30, %r14d michael@0: addq %r9, %r8 michael@0: movq %r13, (%rdi) michael@0: movq (%rdi), %rcx michael@0: addq %rbx, %r8 michael@0: movq -16(%rdi), %rbx michael@0: movq 72(%rdi), %rax michael@0: movq 24(%rdi), %rdx michael@0: movq 8(%rdi), %r9 michael@0: movl %r10d, %r13d michael@0: leaq 1859775393(%r8,%rcx), %r11 michael@0: xorq %r14, %r10 michael@0: roll $30, %r13d michael@0: xorq %rax, %rbx michael@0: xorq %r15, %r10 michael@0: xorq %rdx, %rbx michael@0: movl %r11d, %ecx michael@0: xorl %r9d, %ebx michael@0: roll $5, %ecx michael@0: roll %ebx michael@0: addq %r10, %rcx michael@0: movq %rbx, 8(%rdi) michael@0: movq 8(%rdi), %rsi michael@0: addq %r12, %rcx michael@0: movq -8(%rdi), %r12 michael@0: movq -48(%rdi), %rax michael@0: movl %r11d, %ebx michael@0: movq 32(%rdi), %rdx michael@0: movq 16(%rdi), %r9 michael@0: xorq %r13, %r11 michael@0: leaq 1859775393(%rcx,%rsi), %r10 michael@0: xorq %r14, %r11 michael@0: roll $30, %ebx michael@0: xorq %rax, %r12 michael@0: xorq %rdx, %r12 michael@0: movl %r10d, %esi michael@0: xorl %r9d, %r12d michael@0: roll $5, %esi michael@0: roll %r12d michael@0: addq %r11, %rsi michael@0: movq %r12, 16(%rdi) michael@0: addq %r15, %rsi michael@0: movq 16(%rdi), %r8 michael@0: movq (%rdi), %r15 michael@0: movq -40(%rdi), %rax michael@0: movl %r10d, %r12d michael@0: movq 40(%rdi), %rdx michael@0: movq 24(%rdi), %r9 michael@0: xorq %rbx, %r10 michael@0: leaq 1859775393(%rsi,%r8), %r11 michael@0: xorq %r13, %r10 michael@0: xorq %rax, %r15 michael@0: xorq %rdx, %r15 michael@0: movl %r11d, %r8d michael@0: xorl %r9d, %r15d michael@0: roll $5, %r8d michael@0: roll %r15d michael@0: addq %r10, %r8 michael@0: movq %r15, 24(%rdi) michael@0: movq 24(%rdi), %rcx michael@0: addq %r14, %r8 michael@0: movq 8(%rdi), %r14 michael@0: movq -32(%rdi), %rax michael@0: roll $30, %r12d michael@0: movq 48(%rdi), %rdx michael@0: movq 32(%rdi), %r10 michael@0: movl %r11d, %r15d michael@0: leaq 1859775393(%r8,%rcx), %r9 michael@0: xorq %r12, %r11 michael@0: roll $30, %r15d michael@0: xorq %rax, %r14 michael@0: xorq %rbx, %r11 michael@0: xorq %rdx, %r14 michael@0: movl %r9d, %ecx michael@0: xorl %r10d, %r14d michael@0: roll $5, %ecx michael@0: roll %r14d michael@0: addq %r11, %rcx michael@0: movq %r14, 32(%rdi) michael@0: addq %r13, %rcx michael@0: movq 32(%rdi), %rsi michael@0: movq 16(%rdi), %r13 michael@0: movq -24(%rdi), %rax michael@0: movl %r9d, %r14d michael@0: movq 56(%rdi), %rdx michael@0: movq 40(%rdi), %r11 michael@0: xorq %r15, %r9 michael@0: leaq 1859775393(%rcx,%rsi), %r10 michael@0: xorq %r12, %r9 michael@0: roll $30, %r14d michael@0: xorq %rax, %r13 michael@0: xorq %rdx, %r13 michael@0: movl %r10d, %esi michael@0: xorl %r11d, %r13d michael@0: roll $5, %esi michael@0: roll %r13d michael@0: addq %r9, %rsi michael@0: movq %r13, 40(%rdi) michael@0: movq 40(%rdi), %r8 michael@0: addq %rbx, %rsi michael@0: movq 24(%rdi), %rbx michael@0: movq -16(%rdi), %rax michael@0: movl %r10d, %r13d michael@0: movq 64(%rdi), %rdx michael@0: movq 48(%rdi), %r9 michael@0: xorq %r14, %r10 michael@0: leaq 1859775393(%rsi,%r8), %r11 michael@0: xorq %r15, %r10 michael@0: roll $30, %r13d michael@0: xorq %rax, %rbx michael@0: xorq %rdx, %rbx michael@0: movl %r11d, %r8d michael@0: xorl %r9d, %ebx michael@0: roll $5, %r8d michael@0: roll %ebx michael@0: addq %r10, %r8 michael@0: movq %rbx, 48(%rdi) michael@0: addq %r12, %r8 michael@0: movq 48(%rdi), %rcx michael@0: movq 32(%rdi), %r12 michael@0: movq -8(%rdi), %rax michael@0: movl %r11d, %ebx michael@0: movq 72(%rdi), %rdx michael@0: movq 56(%rdi), %r9 michael@0: leaq 1859775393(%r8,%rcx), %r10 michael@0: xorq %rax, %r12 michael@0: xorq %rdx, %r12 michael@0: movl %r10d, %ecx michael@0: xorl %r9d, %r12d michael@0: xorq %r13, %r11 michael@0: roll $5, %ecx michael@0: xorq %r14, %r11 michael@0: roll %r12d michael@0: roll $30, %ebx michael@0: addq %r11, %rcx michael@0: movq %r12, 56(%rdi) michael@0: movq 56(%rdi), %rsi michael@0: addq %r15, %rcx michael@0: movq 40(%rdi), %r15 michael@0: movq (%rdi), %rax michael@0: movq -48(%rdi), %rdx michael@0: movq 64(%rdi), %r9 michael@0: movl %r10d, %r12d michael@0: leaq 1859775393(%rcx,%rsi), %r11 michael@0: xorq %rbx, %r10 michael@0: roll $30, %r12d michael@0: xorq %rax, %r15 michael@0: xorq %r13, %r10 michael@0: xorq %rdx, %r15 michael@0: movl %r11d, %esi michael@0: xorl %r9d, %r15d michael@0: roll $5, %esi michael@0: roll %r15d michael@0: addq %r10, %rsi michael@0: movq %r15, 64(%rdi) michael@0: movq 64(%rdi), %r8 michael@0: addq %r14, %rsi michael@0: movq 48(%rdi), %r14 michael@0: movq 8(%rdi), %rax michael@0: movl %r11d, %r15d michael@0: movq -40(%rdi), %rdx michael@0: movq 72(%rdi), %r10 michael@0: xorq %r12, %r11 michael@0: leaq 1859775393(%rsi,%r8), %r9 michael@0: xorq %rbx, %r11 michael@0: roll $30, %r15d michael@0: xorq %rax, %r14 michael@0: xorq %rdx, %r14 michael@0: movl %r9d, %r8d michael@0: xorl %r10d, %r14d michael@0: roll $5, %r8d michael@0: roll %r14d michael@0: addq %r11, %r8 michael@0: movq %r14, 72(%rdi) michael@0: addq %r13, %r8 michael@0: movq 72(%rdi), %rcx michael@0: movq 56(%rdi), %r13 michael@0: movq 16(%rdi), %rax michael@0: movl %r9d, %r14d michael@0: movq -32(%rdi), %rdx michael@0: movq -48(%rdi), %r11 michael@0: leaq 1859775393(%r8,%rcx), %r10 michael@0: xorq %rax, %r13 michael@0: xorq %rdx, %r13 michael@0: movl %r10d, %ecx michael@0: xorl %r11d, %r13d michael@0: roll $5, %ecx michael@0: roll %r13d michael@0: xorq %r15, %r9 michael@0: roll $30, %r14d michael@0: xorq %r12, %r9 michael@0: movq %r13, -48(%rdi) michael@0: movq -48(%rdi), %rsi michael@0: addq %r9, %rcx michael@0: movl %r10d, %r13d michael@0: xorq %r14, %r10 michael@0: addq %rbx, %rcx michael@0: movq 64(%rdi), %rbx michael@0: movq 24(%rdi), %rax michael@0: movq -24(%rdi), %rdx michael@0: leaq 1859775393(%rcx,%rsi), %r11 michael@0: movq -40(%rdi), %r9 michael@0: xorq %r15, %r10 michael@0: roll $30, %r13d michael@0: xorq %rax, %rbx michael@0: movl %r11d, %esi michael@0: xorq %rdx, %rbx michael@0: roll $5, %esi michael@0: xorl %r9d, %ebx michael@0: addq %r10, %rsi michael@0: roll %ebx michael@0: addq %r12, %rsi michael@0: movq %rbx, -40(%rdi) michael@0: movq -40(%rdi), %r8 michael@0: movl %r11d, %ebx michael@0: movq 72(%rdi), %r12 michael@0: movq 32(%rdi), %rax michael@0: xorq %r13, %r11 michael@0: movq -16(%rdi), %rdx michael@0: movq -32(%rdi), %r9 michael@0: xorq %r14, %r11 michael@0: leaq 1859775393(%rsi,%r8), %r10 michael@0: roll $30, %ebx michael@0: xorq %rax, %r12 michael@0: xorq %rdx, %r12 michael@0: movl %r10d, %r8d michael@0: xorl %r9d, %r12d michael@0: roll $5, %r8d michael@0: roll %r12d michael@0: addq %r11, %r8 michael@0: movq %r12, -32(%rdi) michael@0: movq -32(%rdi), %rcx michael@0: addq %r15, %r8 michael@0: movq -48(%rdi), %r15 michael@0: movq 40(%rdi), %rax michael@0: movl %r10d, %r12d michael@0: movq -8(%rdi), %rdx michael@0: movq -24(%rdi), %r9 michael@0: xorq %rbx, %r10 michael@0: leaq 1859775393(%r8,%rcx), %r11 michael@0: xorq %r13, %r10 michael@0: xorq %rax, %r15 michael@0: xorq %rdx, %r15 michael@0: movl %r11d, %ecx michael@0: xorl %r9d, %r15d michael@0: roll $5, %ecx michael@0: roll %r15d michael@0: addq %r10, %rcx michael@0: addq %r14, %rcx michael@0: movq %r15, -24(%rdi) michael@0: movq -24(%rdi), %rsi michael@0: movq -40(%rdi), %r14 michael@0: movq 48(%rdi), %rax michael@0: roll $30, %r12d michael@0: movq (%rdi), %rdx michael@0: movq -16(%rdi), %r10 michael@0: movl %r11d, %r15d michael@0: leaq 1859775393(%rcx,%rsi), %r9 michael@0: xorq %r12, %r11 michael@0: roll $30, %r15d michael@0: xorq %rax, %r14 michael@0: xorq %rbx, %r11 michael@0: xorq %rdx, %r14 michael@0: movl %r9d, %esi michael@0: xorl %r10d, %r14d michael@0: roll $5, %esi michael@0: roll %r14d michael@0: addq %r11, %rsi michael@0: movq %r14, -16(%rdi) michael@0: movq -16(%rdi), %r8 michael@0: addq %r13, %rsi michael@0: movq -32(%rdi), %r11 michael@0: movq 56(%rdi), %rax michael@0: movl %r9d, %r14d michael@0: movq 8(%rdi), %rdx michael@0: movq -8(%rdi), %r10 michael@0: xorq %r15, %r9 michael@0: leaq 1859775393(%rsi,%r8), %r13 michael@0: xorq %r12, %r9 michael@0: roll $30, %r14d michael@0: xorq %rax, %r11 michael@0: xorq %rdx, %r11 michael@0: movl %r13d, %r8d michael@0: xorl %r10d, %r11d michael@0: roll $5, %r8d michael@0: movl %r13d, %r10d michael@0: roll %r11d michael@0: addq %r9, %r8 michael@0: xorq %r14, %r13 michael@0: movq %r11, -8(%rdi) michael@0: addq %rbx, %r8 michael@0: movq -8(%rdi), %rbx michael@0: movq -24(%rdi), %r9 michael@0: movq 64(%rdi), %rax michael@0: xorq %r15, %r13 michael@0: movq 16(%rdi), %rdx michael@0: movq (%rdi), %rcx michael@0: leaq 1859775393(%r8,%rbx), %r11 michael@0: xorq %rax, %r9 michael@0: xorq %rdx, %r9 michael@0: movl %r11d, %ebx michael@0: xorl %ecx, %r9d michael@0: roll $5, %ebx michael@0: roll %r9d michael@0: addq %r13, %rbx michael@0: movq %r9, (%rdi) michael@0: movq (%rdi), %rsi michael@0: addq %r12, %rbx michael@0: movq -16(%rdi), %r12 michael@0: movq 72(%rdi), %r13 michael@0: movl %r11d, %r9d michael@0: leaq 1859775393(%rbx,%rsi), %rcx michael@0: movl %r10d, %ebx michael@0: movq 24(%rdi), %r10 michael@0: movq 8(%rdi), %rax michael@0: xorq %r13, %r12 michael@0: roll $30, %ebx michael@0: movl %ecx, %esi michael@0: xorq %r10, %r12 michael@0: xorq %rbx, %r11 michael@0: roll $5, %esi michael@0: xorl %eax, %r12d michael@0: xorq %r14, %r11 michael@0: roll $30, %r9d michael@0: roll %r12d michael@0: addq %r11, %rsi michael@0: movq %rcx, %rax michael@0: movq %r12, 8(%rdi) michael@0: movq 8(%rdi), %rdx michael@0: addq %r15, %rsi michael@0: movq -8(%rdi), %r11 michael@0: movq -48(%rdi), %r13 michael@0: movl %ecx, %r12d michael@0: movq 32(%rdi), %r10 michael@0: movq 16(%rdi), %r8 michael@0: orq %r9, %rcx michael@0: leaq 1859775393(%rsi,%rdx), %rsi michael@0: andq %rbx, %rcx michael@0: andq %r9, %rax michael@0: xorq %r13, %r11 michael@0: orq %rcx, %rax michael@0: roll $30, %r12d michael@0: xorq %r10, %r11 michael@0: movq %rsi, %r10 michael@0: xorl %r8d, %r11d michael@0: movl %esi, %r8d michael@0: andq %r12, %r10 michael@0: roll %r11d michael@0: roll $5, %r8d michael@0: movq %r11, 16(%rdi) michael@0: addq %rax, %r8 michael@0: movq 16(%rdi), %r15 michael@0: movq (%rdi), %r13 michael@0: movq -40(%rdi), %rdx michael@0: addq %r14, %r8 michael@0: movq 40(%rdi), %r14 michael@0: movq 24(%rdi), %rcx michael@0: movl %esi, %r11d michael@0: addq %r15, %r8 michael@0: movl $2400959708, %r15d michael@0: orq %r12, %rsi michael@0: xorq %rdx, %r13 michael@0: addq %r15, %r8 michael@0: andq %r9, %rsi michael@0: xorq %r14, %r13 michael@0: orq %rsi, %r10 michael@0: xorl %ecx, %r13d michael@0: movl %r8d, %ecx michael@0: roll %r13d michael@0: roll $5, %ecx michael@0: movq %r13, 24(%rdi) michael@0: addq %r10, %rcx michael@0: movq 24(%rdi), %rax michael@0: movq 8(%rdi), %r14 michael@0: movq -32(%rdi), %rdx michael@0: addq %rbx, %rcx michael@0: movq 48(%rdi), %rbx michael@0: movq 32(%rdi), %rsi michael@0: roll $30, %r11d michael@0: addq %rax, %rcx michael@0: movl %r8d, %r13d michael@0: movq %r8, %r10 michael@0: xorq %rdx, %r14 michael@0: addq %r15, %rcx michael@0: orq %r11, %r8 michael@0: xorq %rbx, %r14 michael@0: andq %r12, %r8 michael@0: andq %r11, %r10 michael@0: xorl %esi, %r14d michael@0: movl %ecx, %esi michael@0: orq %r8, %r10 michael@0: roll $5, %esi michael@0: roll %r14d michael@0: roll $30, %r13d michael@0: addq %r10, %rsi michael@0: movq %r14, 32(%rdi) michael@0: movq 32(%rdi), %rax michael@0: addq %r9, %rsi michael@0: movq 16(%rdi), %r9 michael@0: movq -24(%rdi), %rdx michael@0: movq 56(%rdi), %rbx michael@0: movq 40(%rdi), %r8 michael@0: movl %ecx, %r14d michael@0: addq %rax, %rsi michael@0: movq %rcx, %r10 michael@0: orq %r13, %rcx michael@0: xorq %rdx, %r9 michael@0: addq %r15, %rsi michael@0: andq %r11, %rcx michael@0: xorq %rbx, %r9 michael@0: andq %r13, %r10 michael@0: roll $30, %r14d michael@0: xorl %r8d, %r9d michael@0: movl %esi, %r8d michael@0: orq %rcx, %r10 michael@0: roll %r9d michael@0: roll $5, %r8d michael@0: movq %r9, 40(%rdi) michael@0: addq %r10, %r8 michael@0: movq 40(%rdi), %rax michael@0: movq 24(%rdi), %r10 michael@0: movq -16(%rdi), %rdx michael@0: addq %r12, %r8 michael@0: movq 64(%rdi), %rbx michael@0: movq 48(%rdi), %rcx michael@0: movl %esi, %r9d michael@0: addq %rax, %r8 michael@0: movq %rsi, %r12 michael@0: xorq %rdx, %r10 michael@0: addq %r15, %r8 michael@0: xorq %rbx, %r10 michael@0: orq %r14, %rsi michael@0: andq %r14, %r12 michael@0: andq %r13, %rsi michael@0: xorl %ecx, %r10d michael@0: movl %r8d, %ecx michael@0: orq %rsi, %r12 michael@0: roll %r10d michael@0: roll $5, %ecx michael@0: movq %r10, 48(%rdi) michael@0: addq %r12, %rcx michael@0: movq 48(%rdi), %rax michael@0: movq 32(%rdi), %r12 michael@0: movq -8(%rdi), %rdx michael@0: addq %r11, %rcx michael@0: movq 72(%rdi), %rbx michael@0: movq 56(%rdi), %rsi michael@0: roll $30, %r9d michael@0: addq %rax, %rcx michael@0: movl %r8d, %r10d michael@0: movq %r8, %r11 michael@0: xorq %rdx, %r12 michael@0: addq %r15, %rcx michael@0: orq %r9, %r8 michael@0: xorq %rbx, %r12 michael@0: andq %r14, %r8 michael@0: andq %r9, %r11 michael@0: xorl %esi, %r12d michael@0: movl %ecx, %esi michael@0: orq %r8, %r11 michael@0: roll %r12d michael@0: roll $5, %esi michael@0: roll $30, %r10d michael@0: movq %r12, 56(%rdi) michael@0: addq %r11, %rsi michael@0: movq 56(%rdi), %rax michael@0: movq 40(%rdi), %r11 michael@0: movq (%rdi), %rdx michael@0: addq %r13, %rsi michael@0: movq -48(%rdi), %rbx michael@0: movq 64(%rdi), %r8 michael@0: movq %rcx, %r13 michael@0: addq %rax, %rsi michael@0: andq %r10, %r13 michael@0: movl %ecx, %r12d michael@0: xorq %rdx, %r11 michael@0: addq %r15, %rsi michael@0: xorq %rbx, %r11 michael@0: xorl %r8d, %r11d michael@0: movl %esi, %r8d michael@0: roll %r11d michael@0: roll $5, %r8d michael@0: orq %r10, %rcx michael@0: andq %r9, %rcx michael@0: movq %r11, 64(%rdi) michael@0: movq 64(%rdi), %rax michael@0: orq %rcx, %r13 michael@0: roll $30, %r12d michael@0: movl %esi, %r11d michael@0: addq %r13, %r8 michael@0: movq 48(%rdi), %r13 michael@0: movq 8(%rdi), %rdx michael@0: movq -40(%rdi), %rbx michael@0: addq %r14, %r8 michael@0: movq 72(%rdi), %rcx michael@0: addq %rax, %r8 michael@0: movq %rsi, %r14 michael@0: orq %r12, %rsi michael@0: xorq %rdx, %r13 michael@0: addq %r15, %r8 michael@0: andq %r10, %rsi michael@0: xorq %rbx, %r13 michael@0: andq %r12, %r14 michael@0: roll $30, %r11d michael@0: xorl %ecx, %r13d michael@0: movl %r8d, %ecx michael@0: orq %rsi, %r14 michael@0: roll %r13d michael@0: roll $5, %ecx michael@0: movq %r13, 72(%rdi) michael@0: addq %r14, %rcx michael@0: movq 72(%rdi), %rax michael@0: movq 56(%rdi), %r14 michael@0: movq 16(%rdi), %rdx michael@0: addq %r9, %rcx michael@0: movq -32(%rdi), %rbx michael@0: movq -48(%rdi), %rsi michael@0: movl %r8d, %r13d michael@0: addq %rax, %rcx michael@0: movq %r8, %r9 michael@0: orq %r11, %r8 michael@0: xorq %rdx, %r14 michael@0: addq %r15, %rcx michael@0: andq %r12, %r8 michael@0: xorq %rbx, %r14 michael@0: andq %r11, %r9 michael@0: xorl %esi, %r14d michael@0: movl %ecx, %esi michael@0: orq %r8, %r9 michael@0: roll $5, %esi michael@0: roll %r14d michael@0: addq %r9, %rsi michael@0: movq %r14, -48(%rdi) michael@0: movq -48(%rdi), %rax michael@0: addq %r10, %rsi michael@0: movq 64(%rdi), %r10 michael@0: movq 24(%rdi), %rdx michael@0: movq -24(%rdi), %rbx michael@0: movq -40(%rdi), %r8 michael@0: movl %ecx, %r14d michael@0: addq %rax, %rsi michael@0: roll $30, %r13d michael@0: movq %rcx, %r9 michael@0: xorq %rdx, %r10 michael@0: addq %r15, %rsi michael@0: orq %r13, %rcx michael@0: xorq %rbx, %r10 michael@0: andq %r11, %rcx michael@0: andq %r13, %r9 michael@0: xorl %r8d, %r10d michael@0: movl %esi, %r8d michael@0: orq %rcx, %r9 michael@0: roll $5, %r8d michael@0: roll %r10d michael@0: roll $30, %r14d michael@0: addq %r9, %r8 michael@0: movq %r10, -40(%rdi) michael@0: movq -40(%rdi), %rax michael@0: addq %r12, %r8 michael@0: movq 72(%rdi), %r12 michael@0: movq 32(%rdi), %rdx michael@0: movq -16(%rdi), %rbx michael@0: movq -32(%rdi), %rcx michael@0: movl %esi, %r10d michael@0: addq %rax, %r8 michael@0: movq %rsi, %r9 michael@0: orq %r14, %rsi michael@0: xorq %rdx, %r12 michael@0: addq %r15, %r8 michael@0: andq %r13, %rsi michael@0: xorq %rbx, %r12 michael@0: andq %r14, %r9 michael@0: roll $30, %r10d michael@0: xorl %ecx, %r12d michael@0: movl %r8d, %ecx michael@0: orq %rsi, %r9 michael@0: roll $5, %ecx michael@0: roll %r12d michael@0: addq %r9, %rcx michael@0: movq %r12, -32(%rdi) michael@0: movq -32(%rdi), %rax michael@0: addq %r11, %rcx michael@0: movq -48(%rdi), %r11 michael@0: movq 40(%rdi), %rdx michael@0: movq -8(%rdi), %rbx michael@0: movq -24(%rdi), %rsi michael@0: movl %r8d, %r12d michael@0: addq %rax, %rcx michael@0: movq %r8, %r9 michael@0: xorq %rdx, %r11 michael@0: addq %r15, %rcx michael@0: xorq %rbx, %r11 michael@0: xorl %esi, %r11d michael@0: orq %r10, %r8 michael@0: andq %r10, %r9 michael@0: andq %r14, %r8 michael@0: movl %ecx, %esi michael@0: roll %r11d michael@0: orq %r8, %r9 michael@0: roll $5, %esi michael@0: movq %r11, -24(%rdi) michael@0: addq %r9, %rsi michael@0: movq -24(%rdi), %rax michael@0: roll $30, %r12d michael@0: addq %r13, %rsi michael@0: movq -40(%rdi), %r13 michael@0: movq 48(%rdi), %rdx michael@0: movq (%rdi), %rbx michael@0: movq -16(%rdi), %r8 michael@0: movl %ecx, %r11d michael@0: addq %rax, %rsi michael@0: movq %rcx, %r9 michael@0: orq %r12, %rcx michael@0: xorq %rdx, %r13 michael@0: addq %r15, %rsi michael@0: andq %r10, %rcx michael@0: xorq %rbx, %r13 michael@0: andq %r12, %r9 michael@0: roll $30, %r11d michael@0: xorl %r8d, %r13d michael@0: movl %esi, %r8d michael@0: orq %rcx, %r9 michael@0: roll %r13d michael@0: roll $5, %r8d michael@0: movq %r13, -16(%rdi) michael@0: addq %r9, %r8 michael@0: movq -16(%rdi), %rax michael@0: movq -32(%rdi), %r9 michael@0: movq 56(%rdi), %rdx michael@0: addq %r14, %r8 michael@0: movq 8(%rdi), %rcx michael@0: movq -8(%rdi), %rbx michael@0: movl %esi, %r13d michael@0: addq %rax, %r8 michael@0: movq %rsi, %r14 michael@0: orq %r11, %rsi michael@0: xorq %rdx, %r9 michael@0: addq %r15, %r8 michael@0: andq %r11, %r14 michael@0: xorq %rcx, %r9 michael@0: xorl %ebx, %r9d michael@0: movl %r8d, %ebx michael@0: roll %r9d michael@0: roll $5, %ebx michael@0: andq %r12, %rsi michael@0: orq %rsi, %r14 michael@0: movq %r9, -8(%rdi) michael@0: movq -8(%rdi), %rax michael@0: addq %r14, %rbx michael@0: movq -24(%rdi), %r14 michael@0: movq 64(%rdi), %rdx michael@0: movq 16(%rdi), %rcx michael@0: addq %r10, %rbx michael@0: movq (%rdi), %rsi michael@0: roll $30, %r13d michael@0: addq %rax, %rbx michael@0: movl %r8d, %r9d michael@0: xorq %rdx, %r14 michael@0: addq %r15, %rbx michael@0: movq %r8, %r10 michael@0: xorq %rcx, %r14 michael@0: orq %r13, %r8 michael@0: andq %r13, %r10 michael@0: andq %r11, %r8 michael@0: xorl %esi, %r14d michael@0: movl %ebx, %esi michael@0: orq %r8, %r10 michael@0: roll $5, %esi michael@0: roll %r14d michael@0: addq %r10, %rsi michael@0: movq %r14, (%rdi) michael@0: movq (%rdi), %rax michael@0: addq %r12, %rsi michael@0: movq -16(%rdi), %r12 michael@0: movq 72(%rdi), %rdx michael@0: movq 24(%rdi), %rcx michael@0: movq 8(%rdi), %r8 michael@0: roll $30, %r9d michael@0: addq %rax, %rsi michael@0: movl %ebx, %r14d michael@0: movq %rbx, %r10 michael@0: xorq %rdx, %r12 michael@0: addq %r15, %rsi michael@0: orq %r9, %rbx michael@0: xorq %rcx, %r12 michael@0: andq %r13, %rbx michael@0: andq %r9, %r10 michael@0: xorl %r8d, %r12d michael@0: movl %esi, %r8d michael@0: orq %rbx, %r10 michael@0: roll %r12d michael@0: roll $5, %r8d michael@0: movq %r12, 8(%rdi) michael@0: movq 8(%rdi), %rax michael@0: addq %r10, %r8 michael@0: movq -8(%rdi), %rbx michael@0: movq -48(%rdi), %rdx michael@0: addq %r11, %r8 michael@0: movq 32(%rdi), %r11 michael@0: movq 16(%rdi), %rcx michael@0: movl %esi, %r12d michael@0: addq %rax, %r8 michael@0: movq %rsi, %r10 michael@0: addq %r15, %r8 michael@0: xorq %rdx, %rbx michael@0: roll $30, %r14d michael@0: xorq %r11, %rbx michael@0: orq %r14, %rsi michael@0: andq %r14, %r10 michael@0: xorl %ecx, %ebx michael@0: andq %r9, %rsi michael@0: movl %r8d, %ecx michael@0: roll %ebx michael@0: orq %rsi, %r10 michael@0: roll $5, %ecx michael@0: movq %rbx, 16(%rdi) michael@0: movq 16(%rdi), %rsi michael@0: addq %r10, %rcx michael@0: movq (%rdi), %r11 michael@0: movq -40(%rdi), %rax michael@0: addq %r13, %rcx michael@0: movq 40(%rdi), %rdx michael@0: movq 24(%rdi), %r13 michael@0: roll $30, %r12d michael@0: addq %rsi, %rcx michael@0: movl %r8d, %ebx michael@0: movq %r8, %r10 michael@0: xorq %rax, %r11 michael@0: addq %r15, %rcx michael@0: orq %r12, %r8 michael@0: xorq %rdx, %r11 michael@0: andq %r14, %r8 michael@0: andq %r12, %r10 michael@0: xorl %r13d, %r11d michael@0: movl %ecx, %r13d michael@0: orq %r8, %r10 michael@0: roll %r11d michael@0: roll $5, %r13d michael@0: roll $30, %ebx michael@0: movq %r11, 24(%rdi) michael@0: addq %r10, %r13 michael@0: movq 24(%rdi), %rsi michael@0: movq 8(%rdi), %r10 michael@0: movq -32(%rdi), %rax michael@0: addq %r9, %r13 michael@0: movq 48(%rdi), %rdx michael@0: movq 32(%rdi), %r8 michael@0: movl %ecx, %r11d michael@0: addq %rsi, %r13 michael@0: movq %rcx, %r9 michael@0: xorq %rax, %r10 michael@0: addq %r15, %r13 michael@0: xorq %rdx, %r10 michael@0: xorl %r8d, %r10d michael@0: movl %r13d, %r8d michael@0: roll %r10d michael@0: orq %rbx, %rcx michael@0: andq %rbx, %r9 michael@0: movq %r10, 32(%rdi) michael@0: andq %r12, %rcx michael@0: movl %r13d, %r10d michael@0: orq %rcx, %r9 michael@0: roll $5, %r10d michael@0: movq 32(%rdi), %rsi michael@0: addq %r9, %r10 michael@0: roll $30, %r11d michael@0: movq %r13, %rcx michael@0: addq %r14, %r10 michael@0: movq 16(%rdi), %r14 michael@0: movq -24(%rdi), %rax michael@0: movq 56(%rdi), %rdx michael@0: movq 40(%rdi), %r9 michael@0: addq %rsi, %r10 michael@0: addq %r15, %r10 michael@0: orq %r11, %r13 michael@0: andq %r11, %rcx michael@0: xorq %rax, %r14 michael@0: andq %rbx, %r13 michael@0: xorq %rdx, %r14 michael@0: orq %r13, %rcx michael@0: xorl %r9d, %r14d michael@0: movl %r10d, %r9d michael@0: roll %r14d michael@0: roll $5, %r9d michael@0: movq %r14, 40(%rdi) michael@0: movq 40(%rdi), %rsi michael@0: addq %rcx, %r9 michael@0: movq 24(%rdi), %r13 michael@0: addq %r12, %r9 michael@0: movq -16(%rdi), %r12 michael@0: movq 64(%rdi), %rax michael@0: movl %r10d, %r14d michael@0: addq %rsi, %r9 michael@0: movl %r8d, %esi michael@0: addq %r15, %r9 michael@0: movq 48(%rdi), %r15 michael@0: xorq %r12, %r13 michael@0: roll $30, %esi michael@0: xorq %rax, %r13 michael@0: xorq %rsi, %r10 michael@0: xorl %r15d, %r13d michael@0: movl %r9d, %r15d michael@0: xorq %r11, %r10 michael@0: roll $5, %r15d michael@0: roll %r13d michael@0: addq %r10, %r15 michael@0: movq %r13, 48(%rdi) michael@0: movq 48(%rdi), %r10 michael@0: addq %rbx, %r15 michael@0: movq 32(%rdi), %rbx michael@0: movq -8(%rdi), %r8 michael@0: movq 72(%rdi), %rdx michael@0: movq 56(%rdi), %rcx michael@0: roll $30, %r14d michael@0: addq %r10, %r15 michael@0: movl $3395469782, %r10d michael@0: movl %r9d, %r13d michael@0: xorq %r8, %rbx michael@0: addq %r10, %r15 michael@0: xorq %r14, %r9 michael@0: xorq %rdx, %rbx michael@0: xorq %rsi, %r9 michael@0: roll $30, %r13d michael@0: xorl %ecx, %ebx michael@0: movl %r15d, %ecx michael@0: roll %ebx michael@0: roll $5, %ecx michael@0: movq %rbx, 56(%rdi) michael@0: addq %r9, %rcx michael@0: movq 56(%rdi), %r12 michael@0: movq 40(%rdi), %r9 michael@0: movq (%rdi), %rax michael@0: addq %r11, %rcx michael@0: movq -48(%rdi), %r8 michael@0: movq 64(%rdi), %r11 michael@0: movl %r15d, %ebx michael@0: addq %r12, %rcx michael@0: xorq %r13, %r15 michael@0: roll $30, %ebx michael@0: xorq %rax, %r9 michael@0: addq %r10, %rcx michael@0: xorq %r14, %r15 michael@0: xorq %r8, %r9 michael@0: xorl %r11d, %r9d michael@0: movl %ecx, %r11d michael@0: roll %r9d michael@0: roll $5, %r11d michael@0: movq %r9, 64(%rdi) michael@0: addq %r15, %r11 michael@0: movq 64(%rdi), %rdx michael@0: movq 48(%rdi), %r15 michael@0: movq 8(%rdi), %r12 michael@0: addq %rsi, %r11 michael@0: movq -40(%rdi), %rax michael@0: movq 72(%rdi), %r8 michael@0: movl %ecx, %r9d michael@0: addq %rdx, %r11 michael@0: xorq %r12, %r15 michael@0: addq %r10, %r11 michael@0: xorq %rax, %r15 michael@0: xorl %r8d, %r15d michael@0: movl %r11d, %r8d michael@0: roll %r15d michael@0: roll $5, %r8d michael@0: xorq %rbx, %rcx michael@0: xorq %r13, %rcx michael@0: movq %r15, 72(%rdi) michael@0: movq 72(%rdi), %rsi michael@0: addq %rcx, %r8 michael@0: movq 56(%rdi), %r12 michael@0: movq 16(%rdi), %rcx michael@0: movq -32(%rdi), %rdx michael@0: addq %r14, %r8 michael@0: movq -48(%rdi), %r14 michael@0: addq %rsi, %r8 michael@0: roll $30, %r9d michael@0: movl %r11d, %r15d michael@0: xorq %rcx, %r12 michael@0: addq %r10, %r8 michael@0: xorq %r9, %r11 michael@0: xorq %rdx, %r12 michael@0: xorq %rbx, %r11 michael@0: roll $30, %r15d michael@0: xorl %r14d, %r12d michael@0: movl %r8d, %r14d michael@0: roll $5, %r14d michael@0: roll %r12d michael@0: addq %r11, %r14 michael@0: movq %r12, -48(%rdi) michael@0: movq -48(%rdi), %rax michael@0: addq %r13, %r14 michael@0: movq 64(%rdi), %r13 michael@0: movq 24(%rdi), %rsi michael@0: movq -24(%rdi), %rcx michael@0: movq -40(%rdi), %r11 michael@0: movl %r8d, %r12d michael@0: addq %rax, %r14 michael@0: xorq %r15, %r8 michael@0: roll $30, %r12d michael@0: xorq %rsi, %r13 michael@0: addq %r10, %r14 michael@0: xorq %r9, %r8 michael@0: xorq %rcx, %r13 michael@0: xorl %r11d, %r13d michael@0: movl %r14d, %r11d michael@0: roll $5, %r11d michael@0: roll %r13d michael@0: addq %r8, %r11 michael@0: movq %r13, -40(%rdi) michael@0: movq -40(%rdi), %rdx michael@0: addq %rbx, %r11 michael@0: movq 72(%rdi), %rbx michael@0: movq 32(%rdi), %rax michael@0: movq -16(%rdi), %rsi michael@0: movq -32(%rdi), %r8 michael@0: movl %r14d, %r13d michael@0: addq %rdx, %r11 michael@0: xorq %rax, %rbx michael@0: addq %r10, %r11 michael@0: xorq %rsi, %rbx michael@0: xorl %r8d, %ebx michael@0: xorq %r12, %r14 michael@0: movl %r11d, %r8d michael@0: xorq %r15, %r14 michael@0: roll %ebx michael@0: roll $5, %r8d michael@0: movq %rbx, -32(%rdi) michael@0: addq %r14, %r8 michael@0: movq -32(%rdi), %rcx michael@0: movq -48(%rdi), %r14 michael@0: movq 40(%rdi), %rdx michael@0: addq %r9, %r8 michael@0: movq -8(%rdi), %rax michael@0: movq -24(%rdi), %r9 michael@0: roll $30, %r13d michael@0: addq %rcx, %r8 michael@0: movl %r11d, %ebx michael@0: xorq %r13, %r11 michael@0: xorq %rdx, %r14 michael@0: addq %r10, %r8 michael@0: xorq %r12, %r11 michael@0: xorq %rax, %r14 michael@0: roll $30, %ebx michael@0: xorl %r9d, %r14d michael@0: movl %r8d, %r9d michael@0: roll $5, %r9d michael@0: roll %r14d michael@0: addq %r11, %r9 michael@0: movq %r14, -24(%rdi) michael@0: movq -24(%rdi), %rsi michael@0: addq %r15, %r9 michael@0: movq -40(%rdi), %r15 michael@0: movq 48(%rdi), %rcx michael@0: movq (%rdi), %rdx michael@0: movq -16(%rdi), %r11 michael@0: movl %r8d, %r14d michael@0: addq %rsi, %r9 michael@0: xorq %rbx, %r8 michael@0: xorq %rcx, %r15 michael@0: addq %r10, %r9 michael@0: xorq %r13, %r8 michael@0: xorq %rdx, %r15 michael@0: xorl %r11d, %r15d michael@0: movl %r9d, %r11d michael@0: roll %r15d michael@0: roll $5, %r11d michael@0: movq %r15, -16(%rdi) michael@0: addq %r8, %r11 michael@0: movq -16(%rdi), %rax michael@0: addq %r12, %r11 michael@0: movq -32(%rdi), %r12 michael@0: movq 56(%rdi), %rsi michael@0: movq 8(%rdi), %rcx michael@0: movq -8(%rdi), %r8 michael@0: movl %r9d, %r15d michael@0: addq %rax, %r11 michael@0: addq %r10, %r11 michael@0: roll $30, %r14d michael@0: xorq %rsi, %r12 michael@0: xorq %rcx, %r12 michael@0: xorq %r14, %r9 michael@0: roll $30, %r15d michael@0: xorl %r8d, %r12d michael@0: movl %r11d, %r8d michael@0: xorq %rbx, %r9 michael@0: roll $5, %r8d michael@0: roll %r12d michael@0: addq %r9, %r8 michael@0: movq %r12, -8(%rdi) michael@0: movq -8(%rdi), %rdx michael@0: addq %r13, %r8 michael@0: movq -24(%rdi), %r13 michael@0: movq 64(%rdi), %rax michael@0: movq 16(%rdi), %rsi michael@0: movq (%rdi), %rcx michael@0: movl %r11d, %r12d michael@0: addq %rdx, %r8 michael@0: xorq %r15, %r11 michael@0: roll $30, %r12d michael@0: xorq %rax, %r13 michael@0: addq %r10, %r8 michael@0: xorq %r14, %r11 michael@0: xorq %rsi, %r13 michael@0: xorl %ecx, %r13d michael@0: movl %r8d, %ecx michael@0: roll $5, %ecx michael@0: roll %r13d michael@0: addq %r11, %rcx michael@0: movq %r13, (%rdi) michael@0: movq (%rdi), %r9 michael@0: addq %rbx, %rcx michael@0: movq -16(%rdi), %rbx michael@0: movq 72(%rdi), %rdx michael@0: movq 24(%rdi), %rax michael@0: movq 8(%rdi), %rsi michael@0: movl %r8d, %r13d michael@0: addq %r9, %rcx michael@0: xorq %r12, %r8 michael@0: xorq %rdx, %rbx michael@0: addq %r10, %rcx michael@0: xorq %r15, %r8 michael@0: xorq %rax, %rbx michael@0: xorl %esi, %ebx michael@0: movl %ecx, %esi michael@0: roll $5, %esi michael@0: roll %ebx michael@0: addq %r8, %rsi michael@0: movq %rbx, 8(%rdi) michael@0: movq 8(%rdi), %r11 michael@0: addq %r14, %rsi michael@0: movq -8(%rdi), %r14 michael@0: movq -48(%rdi), %r9 michael@0: movq 32(%rdi), %rdx michael@0: movq 16(%rdi), %r8 michael@0: roll $30, %r13d michael@0: addq %r11, %rsi michael@0: movl %ecx, %ebx michael@0: xorq %r13, %rcx michael@0: xorq %r9, %r14 michael@0: addq %r10, %rsi michael@0: xorq %r12, %rcx michael@0: xorq %rdx, %r14 michael@0: roll $30, %ebx michael@0: xorl %r8d, %r14d michael@0: movl %esi, %r8d michael@0: roll $5, %r8d michael@0: roll %r14d michael@0: addq %rcx, %r8 michael@0: movq %r14, 16(%rdi) michael@0: movq 16(%rdi), %rax michael@0: addq %r15, %r8 michael@0: movq (%rdi), %r15 michael@0: movq -40(%rdi), %r11 michael@0: movq 40(%rdi), %r9 michael@0: movq 24(%rdi), %rcx michael@0: movl %esi, %r14d michael@0: addq %rax, %r8 michael@0: xorq %rbx, %rsi michael@0: roll $30, %r14d michael@0: xorq %r11, %r15 michael@0: addq %r10, %r8 michael@0: xorq %r13, %rsi michael@0: xorq %r9, %r15 michael@0: xorl %ecx, %r15d michael@0: movl %r8d, %ecx michael@0: roll %r15d michael@0: roll $5, %ecx michael@0: movq %r15, 24(%rdi) michael@0: addq %rsi, %rcx michael@0: movq 24(%rdi), %rdx michael@0: movq 8(%rdi), %r11 michael@0: movq -32(%rdi), %rax michael@0: addq %r12, %rcx michael@0: movq 48(%rdi), %r12 michael@0: movq 32(%rdi), %rsi michael@0: movl %r8d, %r15d michael@0: addq %rdx, %rcx michael@0: xorq %rax, %r11 michael@0: addq %r10, %rcx michael@0: xorq %r12, %r11 michael@0: xorl %esi, %r11d michael@0: movl %ecx, %esi michael@0: roll %r11d michael@0: movq %r11, 32(%rdi) michael@0: movl %ecx, %r11d michael@0: movq 32(%rdi), %r9 michael@0: roll $5, %r11d michael@0: xorq %r14, %r8 michael@0: movq 16(%rdi), %r12 michael@0: xorq %rbx, %r8 michael@0: movq -24(%rdi), %rdx michael@0: movq 56(%rdi), %rax michael@0: addq %r8, %r11 michael@0: movq 40(%rdi), %r8 michael@0: roll $30, %r15d michael@0: addq %r13, %r11 michael@0: xorq %r15, %rcx michael@0: addq %r9, %r11 michael@0: xorq %rdx, %r12 michael@0: xorq %r14, %rcx michael@0: addq %r10, %r11 michael@0: xorq %rax, %r12 michael@0: xorl %r8d, %r12d michael@0: movl %r11d, %r8d michael@0: roll $5, %r8d michael@0: roll %r12d michael@0: addq %rcx, %r8 michael@0: movq %r12, 40(%rdi) michael@0: movq 40(%rdi), %r13 michael@0: addq %rbx, %r8 michael@0: movq 24(%rdi), %rbx michael@0: movq -16(%rdi), %r9 michael@0: movq 64(%rdi), %rdx michael@0: movq 48(%rdi), %rcx michael@0: movl %r11d, %r12d michael@0: addq %r13, %r8 michael@0: movl %esi, %r13d michael@0: roll $30, %r12d michael@0: xorq %r9, %rbx michael@0: addq %r10, %r8 michael@0: roll $30, %r13d michael@0: xorq %rdx, %rbx michael@0: xorq %r13, %r11 michael@0: xorl %ecx, %ebx michael@0: movl %r8d, %ecx michael@0: xorq %r15, %r11 michael@0: roll %ebx michael@0: roll $5, %ecx michael@0: movq %rbx, 48(%rdi) michael@0: addq %r11, %rcx michael@0: movq 48(%rdi), %rax michael@0: movq 32(%rdi), %r11 michael@0: movq -8(%rdi), %rsi michael@0: addq %r14, %rcx michael@0: movq 72(%rdi), %r9 michael@0: movq 56(%rdi), %r14 michael@0: movl %r8d, %ebx michael@0: addq %rax, %rcx michael@0: xorq %rsi, %r11 michael@0: addq %r10, %rcx michael@0: xorq %r9, %r11 michael@0: xorl %r14d, %r11d michael@0: xorq %r12, %r8 michael@0: movl %ecx, %r14d michael@0: xorq %r13, %r8 michael@0: roll %r11d michael@0: roll $5, %r14d michael@0: movq %r11, 56(%rdi) michael@0: addq %r8, %r14 michael@0: movq 56(%rdi), %rdx michael@0: movq 40(%rdi), %r8 michael@0: movq (%rdi), %rax michael@0: addq %r15, %r14 michael@0: movq -48(%rdi), %r15 michael@0: movq 64(%rdi), %rsi michael@0: roll $30, %ebx michael@0: addq %rdx, %r14 michael@0: movl %ecx, %r11d michael@0: xorq %rbx, %rcx michael@0: xorq %rax, %r8 michael@0: addq %r10, %r14 michael@0: xorq %r12, %rcx michael@0: xorq %r15, %r8 michael@0: roll $30, %r11d michael@0: xorl %esi, %r8d michael@0: movl %r14d, %esi michael@0: roll %r8d michael@0: roll $5, %esi michael@0: movq %r8, 64(%rdi) michael@0: movq 64(%rdi), %r9 michael@0: addq %rcx, %rsi michael@0: movq 48(%rdi), %r15 michael@0: movq 8(%rdi), %rcx michael@0: addq %r13, %rsi michael@0: movq -40(%rdi), %rdx michael@0: movq 72(%rdi), %rax michael@0: movl %r14d, %r8d michael@0: addq %r9, %rsi michael@0: xorq %r11, %r14 michael@0: addq %r10, %rsi michael@0: xorq %rcx, %r15 michael@0: xorq %rbx, %r14 michael@0: xorq %rdx, %r15 michael@0: movl %esi, %r13d michael@0: xorl %eax, %r15d michael@0: roll $5, %r13d michael@0: roll %r15d michael@0: addq %r14, %r13 michael@0: movq %r15, 72(%rdi) michael@0: addq %r12, %r13 michael@0: movq 72(%rdi), %r12 michael@0: addq %r12, %r13 michael@0: addq %r10, %r13 michael@0: movq -88(%rdi), %r10 michael@0: roll $30, %r8d michael@0: addq %r13, %r10 michael@0: movq %r10, -88(%rdi) michael@0: movq -80(%rdi), %r9 michael@0: addq %rsi, %r9 michael@0: movq %r9, -80(%rdi) michael@0: movq -72(%rdi), %rcx michael@0: addq %r8, %rcx michael@0: movq %rcx, -72(%rdi) michael@0: movq -64(%rdi), %rdx michael@0: addq %r11, %rdx michael@0: movq %rdx, -64(%rdi) michael@0: movq -56(%rdi), %rax michael@0: addq %rbx, %rax michael@0: popq %rbx michael@0: popq %r12 michael@0: popq %r13 michael@0: popq %r14 michael@0: popq %r15 michael@0: movq %rax, -56(%rdi) michael@0: ret michael@0: .LFE7: michael@0: .size shaCompress, .-shaCompress michael@0: .align 16 michael@0: .globl SHA1_Update michael@0: .type SHA1_Update, @function michael@0: SHA1_Update: michael@0: .LFB5: michael@0: pushq %rbp michael@0: .LCFI5: michael@0: movq %rsp, %rbp michael@0: .LCFI6: michael@0: movq %r13, -24(%rbp) michael@0: .LCFI7: michael@0: movq %r14, -16(%rbp) michael@0: .LCFI8: michael@0: movl %edx, %r13d michael@0: movq %r15, -8(%rbp) michael@0: .LCFI9: michael@0: movq %rbx, -40(%rbp) michael@0: .LCFI10: michael@0: movq %rdi, %r15 michael@0: movq %r12, -32(%rbp) michael@0: .LCFI11: michael@0: subq $48, %rsp michael@0: .LCFI12: michael@0: testl %edx, %edx michael@0: movq %rsi, %r14 michael@0: je .L243 michael@0: movq 64(%rdi), %rdx michael@0: mov %r13d, %ecx michael@0: leaq (%rdx,%rcx), %rax michael@0: movq %rax, 64(%rdi) michael@0: movl %edx, %eax michael@0: andl $63, %eax michael@0: movl %eax, -44(%rbp) michael@0: jne .L256 michael@0: .L245: michael@0: cmpl $63, %r13d michael@0: jbe .L253 michael@0: leaq 160(%r15), %rbx michael@0: .align 16 michael@0: .L250: michael@0: movq %r14, %rsi michael@0: subl $64, %r13d michael@0: movq %rbx, %rdi michael@0: call shaCompress michael@0: addq $64, %r14 michael@0: cmpl $63, %r13d michael@0: ja .L250 michael@0: .L253: michael@0: testl %r13d, %r13d michael@0: je .L243 michael@0: mov %r13d, %edx michael@0: movq %r14, %rsi michael@0: movq %r15, %rdi michael@0: movq -40(%rbp), %rbx michael@0: movq -32(%rbp), %r12 michael@0: movq -24(%rbp), %r13 michael@0: movq -16(%rbp), %r14 michael@0: movq -8(%rbp), %r15 michael@0: leave michael@0: jmp memcpy@PLT michael@0: .align 16 michael@0: .L243: michael@0: movq -40(%rbp), %rbx michael@0: movq -32(%rbp), %r12 michael@0: movq -24(%rbp), %r13 michael@0: movq -16(%rbp), %r14 michael@0: movq -8(%rbp), %r15 michael@0: leave michael@0: ret michael@0: .L256: michael@0: movl $64, %ebx michael@0: mov %eax, %edi michael@0: subl %eax, %ebx michael@0: cmpl %ebx, %r13d michael@0: cmovb %r13d, %ebx michael@0: addq %r15, %rdi michael@0: mov %ebx, %r12d michael@0: subl %ebx, %r13d michael@0: movq %r12, %rdx michael@0: addq %r12, %r14 michael@0: call memcpy@PLT michael@0: addl -44(%rbp), %ebx michael@0: andl $63, %ebx michael@0: jne .L245 michael@0: leaq 160(%r15), %rdi michael@0: movq %r15, %rsi michael@0: call shaCompress michael@0: jmp .L245 michael@0: .LFE5: michael@0: .size SHA1_Update, .-SHA1_Update michael@0: .section .rodata michael@0: .align 32 michael@0: .type bulk_pad.0, @object michael@0: .size bulk_pad.0, 64 michael@0: bulk_pad.0: michael@0: .byte -128 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .byte 0 michael@0: .text michael@0: .align 16 michael@0: .globl SHA1_End michael@0: .type SHA1_End, @function michael@0: SHA1_End: michael@0: .LFB6: michael@0: pushq %rbp michael@0: .LCFI13: michael@0: movq %rsp, %rbp michael@0: .LCFI14: michael@0: movq %r12, -24(%rbp) michael@0: .LCFI15: michael@0: movq %r13, -16(%rbp) michael@0: .LCFI16: michael@0: movq %rsi, %r13 michael@0: movq %r14, -8(%rbp) michael@0: .LCFI17: michael@0: movq %rbx, -32(%rbp) michael@0: .LCFI18: michael@0: subq $32, %rsp michael@0: .LCFI19: michael@0: movq 64(%rdi), %rbx michael@0: movq %rdx, %r14 michael@0: movl $119, %edx michael@0: leaq bulk_pad.0(%rip), %rsi michael@0: movq %rdi, %r12 michael@0: movl %ebx, %r8d michael@0: salq $3, %rbx michael@0: andl $63, %r8d michael@0: subl %r8d, %edx michael@0: andl $63, %edx michael@0: incl %edx michael@0: call SHA1_Update@PLT michael@0: movq %rbx, %rdi michael@0: movq %r12, %rsi michael@0: shrq $32, %rdi michael@0: /APP michael@0: bswap %edi michael@0: /NO_APP michael@0: movl %edi, 56(%r12) michael@0: leaq 160(%r12), %rdi michael@0: /APP michael@0: bswap %ebx michael@0: /NO_APP michael@0: movl %ebx, 60(%r12) michael@0: call shaCompress michael@0: movl 72(%r12), %esi michael@0: movl 80(%r12), %ebx michael@0: movl 88(%r12), %ecx michael@0: movl 96(%r12), %edx michael@0: movl 104(%r12), %eax michael@0: movq 8(%rsp), %r12 michael@0: /APP michael@0: bswap %ebx michael@0: bswap %esi michael@0: /NO_APP michael@0: movl %ebx, 4(%r13) michael@0: movl %esi, (%r13) michael@0: /APP michael@0: bswap %ecx michael@0: bswap %edx michael@0: /NO_APP michael@0: movl %ecx, 8(%r13) michael@0: movl %edx, 12(%r13) michael@0: /APP michael@0: bswap %eax michael@0: /NO_APP michael@0: movq (%rsp), %rbx michael@0: movl %eax, 16(%r13) michael@0: cmpq $0, %r14 michael@0: je .L133 michael@0: movl $20, (%r14) michael@0: .L133: michael@0: movq 16(%rsp), %r13 michael@0: movq 24(%rsp), %r14 michael@0: leave michael@0: ret michael@0: .LFE6: michael@0: .size SHA1_End, .-SHA1_End michael@0: .align 16 michael@0: .globl SHA1_NewContext michael@0: .type SHA1_NewContext, @function michael@0: SHA1_NewContext: michael@0: .LFB8: michael@0: movl $248, %edi michael@0: jmp PORT_Alloc_Util@PLT michael@0: .LFE8: michael@0: .size SHA1_NewContext, .-SHA1_NewContext michael@0: .align 16 michael@0: .globl SHA1_DestroyContext michael@0: .type SHA1_DestroyContext, @function michael@0: SHA1_DestroyContext: michael@0: .LFB9: michael@0: pushq %rbp michael@0: .LCFI20: michael@0: movl $248, %edx michael@0: movq %rsp, %rbp michael@0: .LCFI21: michael@0: movq %rbx, -16(%rbp) michael@0: .LCFI22: michael@0: movq %r12, -8(%rbp) michael@0: .LCFI23: michael@0: movl %esi, %ebx michael@0: subq $16, %rsp michael@0: .LCFI24: michael@0: xorl %esi, %esi michael@0: movq %rdi, %r12 michael@0: call memset@PLT michael@0: testl %ebx, %ebx michael@0: jne .L268 michael@0: movq (%rsp), %rbx michael@0: movq 8(%rsp), %r12 michael@0: leave michael@0: ret michael@0: .align 16 michael@0: .L268: michael@0: movq %r12, %rdi michael@0: movq (%rsp), %rbx michael@0: movq 8(%rsp), %r12 michael@0: leave michael@0: jmp PORT_Free_Util@PLT michael@0: .LFE9: michael@0: .size SHA1_DestroyContext, .-SHA1_DestroyContext michael@0: .align 16 michael@0: .globl SHA1_HashBuf michael@0: .type SHA1_HashBuf, @function michael@0: SHA1_HashBuf: michael@0: .LFB10: michael@0: pushq %rbp michael@0: .LCFI25: michael@0: movq %rsp, %rbp michael@0: .LCFI26: michael@0: movq %rbx, -32(%rbp) michael@0: .LCFI27: michael@0: leaq -288(%rbp), %rbx michael@0: movq %r12, -24(%rbp) michael@0: .LCFI28: michael@0: movq %r13, -16(%rbp) michael@0: .LCFI29: michael@0: movq %r14, -8(%rbp) michael@0: .LCFI30: michael@0: movq %rsi, %r13 michael@0: subq $304, %rsp michael@0: .LCFI31: michael@0: movq %rdi, %r14 michael@0: movl %edx, %r12d michael@0: movq %rbx, %rdi michael@0: call SHA1_Begin@PLT michael@0: movl %r12d, %edx michael@0: movq %r13, %rsi michael@0: movq %rbx, %rdi michael@0: call SHA1_Update@PLT michael@0: leaq -292(%rbp), %rdx michael@0: movq %r14, %rsi michael@0: movq %rbx, %rdi michael@0: movl $20, %ecx michael@0: call SHA1_End@PLT michael@0: movq -32(%rbp), %rbx michael@0: movq -24(%rbp), %r12 michael@0: xorl %eax, %eax michael@0: movq -16(%rbp), %r13 michael@0: movq -8(%rbp), %r14 michael@0: leave michael@0: ret michael@0: .LFE10: michael@0: .size SHA1_HashBuf, .-SHA1_HashBuf michael@0: .align 16 michael@0: .globl SHA1_Hash michael@0: .type SHA1_Hash, @function michael@0: SHA1_Hash: michael@0: .LFB11: michael@0: pushq %rbp michael@0: .LCFI32: michael@0: movq %rsp, %rbp michael@0: .LCFI33: michael@0: movq %rbx, -16(%rbp) michael@0: .LCFI34: michael@0: movq %r12, -8(%rbp) michael@0: .LCFI35: michael@0: movq %rsi, %rbx michael@0: subq $16, %rsp michael@0: .LCFI36: michael@0: movq %rdi, %r12 michael@0: movq %rsi, %rdi michael@0: call strlen@PLT michael@0: movq %rbx, %rsi michael@0: movq %r12, %rdi michael@0: movq (%rsp), %rbx michael@0: movq 8(%rsp), %r12 michael@0: leave michael@0: movl %eax, %edx michael@0: jmp SHA1_HashBuf@PLT michael@0: .LFE11: michael@0: .size SHA1_Hash, .-SHA1_Hash michael@0: .align 16 michael@0: .globl SHA1_FlattenSize michael@0: .type SHA1_FlattenSize, @function michael@0: SHA1_FlattenSize: michael@0: .LFB12: michael@0: movl $248, %eax michael@0: ret michael@0: .LFE12: michael@0: .size SHA1_FlattenSize, .-SHA1_FlattenSize michael@0: .align 16 michael@0: .globl SHA1_Flatten michael@0: .type SHA1_Flatten, @function michael@0: SHA1_Flatten: michael@0: .LFB13: michael@0: pushq %rbp michael@0: .LCFI37: michael@0: movq %rsi, %rax michael@0: movl $248, %edx michael@0: movq %rdi, %rsi michael@0: movq %rax, %rdi michael@0: movq %rsp, %rbp michael@0: .LCFI38: michael@0: call memcpy@PLT michael@0: leave michael@0: xorl %eax, %eax michael@0: ret michael@0: .LFE13: michael@0: .size SHA1_Flatten, .-SHA1_Flatten michael@0: .align 16 michael@0: .globl SHA1_Resurrect michael@0: .type SHA1_Resurrect, @function michael@0: SHA1_Resurrect: michael@0: .LFB14: michael@0: pushq %rbp michael@0: .LCFI39: michael@0: movq %rsp, %rbp michael@0: .LCFI40: michael@0: movq %rbx, -16(%rbp) michael@0: .LCFI41: michael@0: movq %r12, -8(%rbp) michael@0: .LCFI42: michael@0: subq $16, %rsp michael@0: .LCFI43: michael@0: movq %rdi, %r12 michael@0: call SHA1_NewContext@PLT michael@0: movq %rax, %rbx michael@0: xorl %eax, %eax michael@0: testq %rbx, %rbx michael@0: je .L273 michael@0: movl $248, %edx michael@0: movq %r12, %rsi michael@0: movq %rbx, %rdi michael@0: call memcpy@PLT michael@0: movq %rbx, %rax michael@0: .L273: michael@0: movq (%rsp), %rbx michael@0: movq 8(%rsp), %r12 michael@0: leave michael@0: ret michael@0: .LFE14: michael@0: .size SHA1_Resurrect, .-SHA1_Resurrect michael@0: .align 16 michael@0: .globl SHA1_Clone michael@0: .type SHA1_Clone, @function michael@0: SHA1_Clone: michael@0: .LFB15: michael@0: movl $248, %edx michael@0: jmp memcpy@PLT michael@0: .LFE15: michael@0: .size SHA1_Clone, .-SHA1_Clone michael@0: .align 16 michael@0: .globl SHA1_TraceState michael@0: .type SHA1_TraceState, @function michael@0: SHA1_TraceState: michael@0: .LFB16: michael@0: movl $-5992, %edi michael@0: jmp PORT_SetError_Util@PLT michael@0: .LFE16: michael@0: .size SHA1_TraceState, .-SHA1_TraceState michael@0: .align 16 michael@0: .globl SHA1_EndRaw michael@0: .type SHA1_EndRaw, @function michael@0: SHA1_EndRaw: michael@0: .LFB50: michael@0: movq 72(%rdi), %rax michael@0: /APP michael@0: bswap %eax michael@0: /NO_APP michael@0: movl %eax, (%rsi) michael@0: movq 80(%rdi), %rax michael@0: /APP michael@0: bswap %eax michael@0: /NO_APP michael@0: movl %eax, 4(%rsi) michael@0: movq 88(%rdi), %rax michael@0: /APP michael@0: bswap %eax michael@0: /NO_APP michael@0: movl %eax, 8(%rsi) michael@0: movq 96(%rdi), %rax michael@0: /APP michael@0: bswap %eax michael@0: /NO_APP michael@0: movl %eax, 12(%rsi) michael@0: movq 104(%rdi), %rax michael@0: /APP michael@0: bswap %eax michael@0: /NO_APP michael@0: testq %rdx, %rdx michael@0: movl %eax, 16(%rsi) michael@0: je .L14 michael@0: movl $20, (%rdx) michael@0: .L14: michael@0: rep michael@0: ret michael@0: .LFE50: michael@0: .size SHA1_EndRaw, .-SHA1_EndRaw