mirror of
https://github.com/rn10950/RetroZilla.git
synced 2024-11-09 09:20:15 +01:00
2143 lines
37 KiB
ArmAsm
2143 lines
37 KiB
ArmAsm
|
/ ***** BEGIN LICENSE BLOCK *****
|
||
|
/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||
|
/
|
||
|
/ The contents of this file are subject to the Mozilla Public License Version
|
||
|
/ 1.1 (the "License"); you may not use this file except in compliance with
|
||
|
/ the License. You may obtain a copy of the License at
|
||
|
/ http://www.mozilla.org/MPL/
|
||
|
/
|
||
|
/ Software distributed under the License is distributed on an "AS IS" basis,
|
||
|
/ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||
|
/ for the specific language governing rights and limitations under the
|
||
|
/ License.
|
||
|
/
|
||
|
/ The Original Code is SHA 180-1 Reference Implementation (Optimized).
|
||
|
/
|
||
|
/ The Initial Developer of the Original Code is
|
||
|
/ Paul Kocher of Cryptography Research.
|
||
|
/ Portions created by the Initial Developer are Copyright (C) 1995-9
|
||
|
/ the Initial Developer. All Rights Reserved.
|
||
|
/
|
||
|
/ Contributor(s):
|
||
|
/
|
||
|
/ Alternatively, the contents of this file may be used under the terms of
|
||
|
/ either the GNU General Public License Version 2 or later (the "GPL"), or
|
||
|
/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||
|
/ in which case the provisions of the GPL or the LGPL are applicable instead
|
||
|
/ of those above. If you wish to allow use of your version of this file only
|
||
|
/ under the terms of either the GPL or the LGPL, and not to allow others to
|
||
|
/ use your version of this file under the terms of the MPL, indicate your
|
||
|
/ decision by deleting the provisions above and replace them with the notice
|
||
|
/ and other provisions required by the GPL or the LGPL. If you do not delete
|
||
|
/ the provisions above, a recipient may use your version of this file under
|
||
|
/ the terms of any one of the MPL, the GPL or the LGPL.
|
||
|
/
|
||
|
/ ***** END LICENSE BLOCK *****
|
||
|
|
||
|
.file "sha_fast.c"
|
||
|
.text
|
||
|
.align 16
|
||
|
.globl SHA1_Begin
|
||
|
.type SHA1_Begin, @function
|
||
|
SHA1_Begin:
|
||
|
.LFB4:
|
||
|
movl $4023233417, %ecx
|
||
|
movl $2562383102, %edx
|
||
|
movl $3285377520, %eax
|
||
|
movq $0, 64(%rdi)
|
||
|
movq $1732584193, 72(%rdi)
|
||
|
movq %rcx, 80(%rdi)
|
||
|
movq %rdx, 88(%rdi)
|
||
|
movq $271733878, 96(%rdi)
|
||
|
movq %rax, 104(%rdi)
|
||
|
ret
|
||
|
.LFE4:
|
||
|
.size SHA1_Begin, .-SHA1_Begin
|
||
|
.align 16
|
||
|
.type shaCompress, @function
|
||
|
shaCompress:
|
||
|
.LFB7:
|
||
|
pushq %r15
|
||
|
.LCFI0:
|
||
|
pushq %r14
|
||
|
.LCFI1:
|
||
|
pushq %r13
|
||
|
.LCFI2:
|
||
|
pushq %r12
|
||
|
.LCFI3:
|
||
|
movq -88(%rdi), %r12
|
||
|
movq -80(%rdi), %r10
|
||
|
movq -72(%rdi), %r13
|
||
|
movq -64(%rdi), %r8
|
||
|
pushq %rbx
|
||
|
.LCFI4:
|
||
|
movq -56(%rdi), %rcx
|
||
|
movl (%rsi), %eax
|
||
|
movl %r12d, %edx
|
||
|
movq %r13, %r9
|
||
|
roll $5, %edx
|
||
|
movl 4(%rsi), %ebx
|
||
|
xorq %r8, %r9
|
||
|
/APP
|
||
|
bswap %eax
|
||
|
/NO_APP
|
||
|
andq %r10, %r9
|
||
|
mov %eax, %r15d
|
||
|
roll $30, %r10d
|
||
|
movq %r15, -48(%rdi)
|
||
|
xorq %r8, %r9
|
||
|
movq -48(%rdi), %r14
|
||
|
addq %r9, %rdx
|
||
|
movq %r10, %rax
|
||
|
movl %r12d, %r15d
|
||
|
addq %rcx, %rdx
|
||
|
xorq %r13, %rax
|
||
|
roll $30, %r15d
|
||
|
leaq 1518500249(%rdx,%r14), %rdx
|
||
|
andq %r12, %rax
|
||
|
movq %r15, %r12
|
||
|
/APP
|
||
|
bswap %ebx
|
||
|
/NO_APP
|
||
|
movl %edx, %ecx
|
||
|
mov %ebx, %r11d
|
||
|
xorq %r13, %rax
|
||
|
movq %r11, -40(%rdi)
|
||
|
roll $5, %ecx
|
||
|
movq -40(%rdi), %r9
|
||
|
addq %rax, %rcx
|
||
|
xorq %r10, %r12
|
||
|
movl 8(%rsi), %r14d
|
||
|
addq %r8, %rcx
|
||
|
andq %rdx, %r12
|
||
|
movl %edx, %r11d
|
||
|
leaq 1518500249(%rcx,%r9), %rcx
|
||
|
xorq %r10, %r12
|
||
|
roll $30, %r11d
|
||
|
/APP
|
||
|
bswap %r14d
|
||
|
/NO_APP
|
||
|
movl %ecx, %r8d
|
||
|
mov %r14d, %ebx
|
||
|
movl 12(%rsi), %r9d
|
||
|
movq %rbx, -32(%rdi)
|
||
|
roll $5, %r8d
|
||
|
movq -32(%rdi), %rax
|
||
|
addq %r12, %r8
|
||
|
movq %r11, %r12
|
||
|
movl %ecx, %ebx
|
||
|
addq %r13, %r8
|
||
|
xorq %r15, %r12
|
||
|
roll $30, %ebx
|
||
|
leaq 1518500249(%r8,%rax), %r8
|
||
|
andq %rcx, %r12
|
||
|
movl 16(%rsi), %eax
|
||
|
/APP
|
||
|
bswap %r9d
|
||
|
/NO_APP
|
||
|
movl %r8d, %edx
|
||
|
mov %r9d, %r14d
|
||
|
xorq %r15, %r12
|
||
|
movq %r14, -24(%rdi)
|
||
|
roll $5, %edx
|
||
|
movq -24(%rdi), %r13
|
||
|
addq %r12, %rdx
|
||
|
movq %rbx, %r12
|
||
|
movl %r8d, %r14d
|
||
|
addq %r10, %rdx
|
||
|
leaq 1518500249(%rdx,%r13), %rdx
|
||
|
movl 20(%rsi), %r13d
|
||
|
/APP
|
||
|
bswap %eax
|
||
|
/NO_APP
|
||
|
movl %edx, %ecx
|
||
|
mov %eax, %r9d
|
||
|
roll $5, %ecx
|
||
|
xorq %r11, %r12
|
||
|
movq %r9, -16(%rdi)
|
||
|
andq %r8, %r12
|
||
|
movq -16(%rdi), %r10
|
||
|
roll $30, %r14d
|
||
|
xorq %r11, %r12
|
||
|
movq %r14, %rax
|
||
|
movl %edx, %r9d
|
||
|
addq %r12, %rcx
|
||
|
xorq %rbx, %rax
|
||
|
roll $30, %r9d
|
||
|
addq %r15, %rcx
|
||
|
andq %rdx, %rax
|
||
|
leaq 1518500249(%rcx,%r10), %rcx
|
||
|
xorq %rbx, %rax
|
||
|
movl 24(%rsi), %r10d
|
||
|
/APP
|
||
|
bswap %r13d
|
||
|
/NO_APP
|
||
|
movl %ecx, %r8d
|
||
|
mov %r13d, %r15d
|
||
|
movq %r15, -8(%rdi)
|
||
|
roll $5, %r8d
|
||
|
movq -8(%rdi), %r12
|
||
|
addq %rax, %r8
|
||
|
movl %ecx, %r15d
|
||
|
addq %r11, %r8
|
||
|
movq %r9, %r11
|
||
|
roll $30, %r15d
|
||
|
leaq 1518500249(%r8,%r12), %r8
|
||
|
xorq %r14, %r11
|
||
|
movl 28(%rsi), %r12d
|
||
|
/APP
|
||
|
bswap %r10d
|
||
|
/NO_APP
|
||
|
andq %rcx, %r11
|
||
|
mov %r10d, %r13d
|
||
|
movl %r8d, %edx
|
||
|
movq %r13, (%rdi)
|
||
|
xorq %r14, %r11
|
||
|
movq (%rdi), %rax
|
||
|
roll $5, %edx
|
||
|
movq %r15, %r10
|
||
|
movl %r8d, %r13d
|
||
|
addq %r11, %rdx
|
||
|
xorq %r9, %r10
|
||
|
roll $30, %r13d
|
||
|
addq %rbx, %rdx
|
||
|
andq %r8, %r10
|
||
|
leaq 1518500249(%rdx,%rax), %rdx
|
||
|
xorq %r9, %r10
|
||
|
movl 32(%rsi), %eax
|
||
|
/APP
|
||
|
bswap %r12d
|
||
|
/NO_APP
|
||
|
movl %edx, %ecx
|
||
|
mov %r12d, %ebx
|
||
|
movq %rbx, 8(%rdi)
|
||
|
roll $5, %ecx
|
||
|
movq 8(%rdi), %r11
|
||
|
addq %r10, %rcx
|
||
|
movq %r13, %r10
|
||
|
movl %edx, %ebx
|
||
|
addq %r14, %rcx
|
||
|
leaq 1518500249(%rcx,%r11), %rcx
|
||
|
/APP
|
||
|
bswap %eax
|
||
|
/NO_APP
|
||
|
movl %ecx, %r8d
|
||
|
mov %eax, %r12d
|
||
|
roll $5, %r8d
|
||
|
xorq %r15, %r10
|
||
|
movq %r12, 16(%rdi)
|
||
|
andq %rdx, %r10
|
||
|
movq 16(%rdi), %r14
|
||
|
roll $30, %ebx
|
||
|
xorq %r15, %r10
|
||
|
movq %rbx, %rax
|
||
|
movl 36(%rsi), %r11d
|
||
|
addq %r10, %r8
|
||
|
xorq %r13, %rax
|
||
|
movl %ecx, %r12d
|
||
|
addq %r9, %r8
|
||
|
andq %rcx, %rax
|
||
|
roll $30, %r12d
|
||
|
leaq 1518500249(%r8,%r14), %r8
|
||
|
xorq %r13, %rax
|
||
|
movl 40(%rsi), %r14d
|
||
|
/APP
|
||
|
bswap %r11d
|
||
|
/NO_APP
|
||
|
movl %r8d, %edx
|
||
|
mov %r11d, %r9d
|
||
|
movq %r12, %r11
|
||
|
movq %r9, 24(%rdi)
|
||
|
roll $5, %edx
|
||
|
movq 24(%rdi), %r10
|
||
|
addq %rax, %rdx
|
||
|
xorq %rbx, %r11
|
||
|
movl %r8d, %r9d
|
||
|
addq %r15, %rdx
|
||
|
andq %r8, %r11
|
||
|
roll $30, %r9d
|
||
|
leaq 1518500249(%rdx,%r10), %rdx
|
||
|
xorq %rbx, %r11
|
||
|
movl 44(%rsi), %r10d
|
||
|
/APP
|
||
|
bswap %r14d
|
||
|
/NO_APP
|
||
|
movl %edx, %ecx
|
||
|
mov %r14d, %r15d
|
||
|
movq %r15, 32(%rdi)
|
||
|
roll $5, %ecx
|
||
|
movq 32(%rdi), %rax
|
||
|
addq %r11, %rcx
|
||
|
movq %r9, %r11
|
||
|
movl %edx, %r15d
|
||
|
addq %r13, %rcx
|
||
|
xorq %r12, %r11
|
||
|
roll $30, %r15d
|
||
|
leaq 1518500249(%rcx,%rax), %rcx
|
||
|
andq %rdx, %r11
|
||
|
movl 48(%rsi), %eax
|
||
|
/APP
|
||
|
bswap %r10d
|
||
|
/NO_APP
|
||
|
movl %ecx, %r8d
|
||
|
mov %r10d, %r14d
|
||
|
xorq %r12, %r11
|
||
|
movq %r14, 40(%rdi)
|
||
|
roll $5, %r8d
|
||
|
movq 40(%rdi), %r13
|
||
|
addq %r11, %r8
|
||
|
movq %r15, %r10
|
||
|
movl %ecx, %r14d
|
||
|
addq %rbx, %r8
|
||
|
xorq %r9, %r10
|
||
|
leaq 1518500249(%r8,%r13), %r8
|
||
|
movl 52(%rsi), %r13d
|
||
|
/APP
|
||
|
bswap %eax
|
||
|
/NO_APP
|
||
|
movl %r8d, %edx
|
||
|
mov %eax, %ebx
|
||
|
roll $5, %edx
|
||
|
andq %rcx, %r10
|
||
|
movq %rbx, 48(%rdi)
|
||
|
xorq %r9, %r10
|
||
|
movq 48(%rdi), %r11
|
||
|
roll $30, %r14d
|
||
|
addq %r10, %rdx
|
||
|
movq %r14, %rax
|
||
|
movl %r8d, %ebx
|
||
|
addq %r12, %rdx
|
||
|
xorq %r15, %rax
|
||
|
roll $30, %ebx
|
||
|
leaq 1518500249(%rdx,%r11), %rdx
|
||
|
andq %r8, %rax
|
||
|
movl 56(%rsi), %r11d
|
||
|
/APP
|
||
|
bswap %r13d
|
||
|
/NO_APP
|
||
|
movl %edx, %ecx
|
||
|
mov %r13d, %r12d
|
||
|
xorq %r15, %rax
|
||
|
movq %r12, 56(%rdi)
|
||
|
roll $5, %ecx
|
||
|
movq 56(%rdi), %r10
|
||
|
addq %rax, %rcx
|
||
|
movl %edx, %r12d
|
||
|
addq %r9, %rcx
|
||
|
movq %rbx, %r9
|
||
|
roll $30, %r12d
|
||
|
leaq 1518500249(%rcx,%r10), %rcx
|
||
|
xorq %r14, %r9
|
||
|
movl 60(%rsi), %r10d
|
||
|
/APP
|
||
|
bswap %r11d
|
||
|
/NO_APP
|
||
|
andq %rdx, %r9
|
||
|
mov %r11d, %r13d
|
||
|
movl %ecx, %r8d
|
||
|
movq %r13, 64(%rdi)
|
||
|
xorq %r14, %r9
|
||
|
movq 64(%rdi), %rax
|
||
|
roll $5, %r8d
|
||
|
movq %r12, %r11
|
||
|
movl %ecx, %r13d
|
||
|
addq %r9, %r8
|
||
|
xorq %rbx, %r11
|
||
|
roll $30, %r13d
|
||
|
addq %r15, %r8
|
||
|
andq %rcx, %r11
|
||
|
leaq 1518500249(%r8,%rax), %r8
|
||
|
xorq %rbx, %r11
|
||
|
/APP
|
||
|
bswap %r10d
|
||
|
/NO_APP
|
||
|
movl %r8d, %esi
|
||
|
mov %r10d, %r15d
|
||
|
movq %r15, 72(%rdi)
|
||
|
roll $5, %esi
|
||
|
movq 72(%rdi), %r9
|
||
|
movq 56(%rdi), %r10
|
||
|
movq 16(%rdi), %rcx
|
||
|
addq %r11, %rsi
|
||
|
movq -32(%rdi), %rdx
|
||
|
addq %r14, %rsi
|
||
|
movq -48(%rdi), %rax
|
||
|
leaq 1518500249(%rsi,%r9), %r14
|
||
|
movq %r13, %r11
|
||
|
movl %r8d, %r15d
|
||
|
xorq %rcx, %r10
|
||
|
xorq %rdx, %r10
|
||
|
movl %r14d, %ecx
|
||
|
xorl %eax, %r10d
|
||
|
roll %r10d
|
||
|
roll $5, %ecx
|
||
|
xorq %r12, %r11
|
||
|
andq %r8, %r11
|
||
|
movq %r10, -48(%rdi)
|
||
|
movq -48(%rdi), %r9
|
||
|
xorq %r12, %r11
|
||
|
roll $30, %r15d
|
||
|
movl %r14d, %r10d
|
||
|
addq %r11, %rcx
|
||
|
movq 64(%rdi), %r11
|
||
|
movq 24(%rdi), %rdx
|
||
|
addq %rbx, %rcx
|
||
|
movq -24(%rdi), %rbx
|
||
|
movq -40(%rdi), %rax
|
||
|
leaq 1518500249(%rcx,%r9), %rcx
|
||
|
movq %r15, %r8
|
||
|
roll $30, %r10d
|
||
|
xorq %rdx, %r11
|
||
|
xorq %r13, %r8
|
||
|
xorq %rbx, %r11
|
||
|
andq %r14, %r8
|
||
|
movl %ecx, %r9d
|
||
|
xorl %eax, %r11d
|
||
|
xorq %r13, %r8
|
||
|
roll $5, %r9d
|
||
|
roll %r11d
|
||
|
addq %r8, %r9
|
||
|
movq %r10, %rax
|
||
|
movq %r11, -40(%rdi)
|
||
|
movq -40(%rdi), %rsi
|
||
|
addq %r12, %r9
|
||
|
movq 72(%rdi), %rbx
|
||
|
movq 32(%rdi), %rdx
|
||
|
xorq %r15, %rax
|
||
|
movq -16(%rdi), %r14
|
||
|
movq -32(%rdi), %r12
|
||
|
andq %rcx, %rax
|
||
|
leaq 1518500249(%r9,%rsi), %r9
|
||
|
xorq %r15, %rax
|
||
|
movl %ecx, %r11d
|
||
|
xorq %rdx, %rbx
|
||
|
roll $30, %r11d
|
||
|
xorq %r14, %rbx
|
||
|
movl %r9d, %esi
|
||
|
xorl %r12d, %ebx
|
||
|
roll $5, %esi
|
||
|
roll %ebx
|
||
|
addq %rax, %rsi
|
||
|
movq %rbx, -32(%rdi)
|
||
|
movq -32(%rdi), %r8
|
||
|
addq %r13, %rsi
|
||
|
movq -48(%rdi), %r12
|
||
|
movq 40(%rdi), %rdx
|
||
|
movq %r11, %r13
|
||
|
movq -8(%rdi), %r14
|
||
|
movq -24(%rdi), %rcx
|
||
|
movl %r9d, %ebx
|
||
|
leaq 1518500249(%rsi,%r8), %rsi
|
||
|
xorq %rdx, %r12
|
||
|
xorq %r14, %r12
|
||
|
movl %esi, %r8d
|
||
|
xorl %ecx, %r12d
|
||
|
roll %r12d
|
||
|
roll $5, %r8d
|
||
|
xorq %r10, %r13
|
||
|
andq %r9, %r13
|
||
|
movq %r12, -24(%rdi)
|
||
|
movq -24(%rdi), %rax
|
||
|
xorq %r10, %r13
|
||
|
roll $30, %ebx
|
||
|
movl %esi, %r12d
|
||
|
addq %r13, %r8
|
||
|
xorq %rbx, %rsi
|
||
|
roll $30, %r12d
|
||
|
addq %r15, %r8
|
||
|
movq -40(%rdi), %r15
|
||
|
movq 48(%rdi), %rdx
|
||
|
movq (%rdi), %r14
|
||
|
movq -16(%rdi), %r9
|
||
|
leaq 1518500249(%r8,%rax), %r13
|
||
|
xorq %r11, %rsi
|
||
|
xorq %rdx, %r15
|
||
|
movl %r13d, %ecx
|
||
|
xorq %r14, %r15
|
||
|
roll $5, %ecx
|
||
|
xorl %r9d, %r15d
|
||
|
addq %rsi, %rcx
|
||
|
roll %r15d
|
||
|
addq %r10, %rcx
|
||
|
movq %r15, -16(%rdi)
|
||
|
movq -16(%rdi), %rsi
|
||
|
movl %r13d, %r15d
|
||
|
movq -32(%rdi), %r14
|
||
|
movq 56(%rdi), %rax
|
||
|
xorq %r12, %r13
|
||
|
movq 8(%rdi), %rdx
|
||
|
movq -8(%rdi), %r10
|
||
|
xorq %rbx, %r13
|
||
|
leaq 1859775393(%rcx,%rsi), %r9
|
||
|
roll $30, %r15d
|
||
|
xorq %rax, %r14
|
||
|
xorq %rdx, %r14
|
||
|
movl %r9d, %esi
|
||
|
xorl %r10d, %r14d
|
||
|
roll $5, %esi
|
||
|
roll %r14d
|
||
|
addq %r13, %rsi
|
||
|
movq %r14, -8(%rdi)
|
||
|
movq -8(%rdi), %r8
|
||
|
addq %r11, %rsi
|
||
|
movq -24(%rdi), %r13
|
||
|
movq 64(%rdi), %rax
|
||
|
movl %r9d, %r14d
|
||
|
movq 16(%rdi), %rdx
|
||
|
movq (%rdi), %r11
|
||
|
xorq %r15, %r9
|
||
|
leaq 1859775393(%rsi,%r8), %r10
|
||
|
xorq %rax, %r13
|
||
|
xorq %rdx, %r13
|
||
|
movl %r10d, %r8d
|
||
|
xorl %r11d, %r13d
|
||
|
roll $5, %r8d
|
||
|
roll %r13d
|
||
|
xorq %r12, %r9
|
||
|
roll $30, %r14d
|
||
|
addq %r9, %r8
|
||
|
movq %r13, (%rdi)
|
||
|
movq (%rdi), %rcx
|
||
|
addq %rbx, %r8
|
||
|
movq -16(%rdi), %rbx
|
||
|
movq 72(%rdi), %rax
|
||
|
movq 24(%rdi), %rdx
|
||
|
movq 8(%rdi), %r9
|
||
|
movl %r10d, %r13d
|
||
|
leaq 1859775393(%r8,%rcx), %r11
|
||
|
xorq %r14, %r10
|
||
|
roll $30, %r13d
|
||
|
xorq %rax, %rbx
|
||
|
xorq %r15, %r10
|
||
|
xorq %rdx, %rbx
|
||
|
movl %r11d, %ecx
|
||
|
xorl %r9d, %ebx
|
||
|
roll $5, %ecx
|
||
|
roll %ebx
|
||
|
addq %r10, %rcx
|
||
|
movq %rbx, 8(%rdi)
|
||
|
movq 8(%rdi), %rsi
|
||
|
addq %r12, %rcx
|
||
|
movq -8(%rdi), %r12
|
||
|
movq -48(%rdi), %rax
|
||
|
movl %r11d, %ebx
|
||
|
movq 32(%rdi), %rdx
|
||
|
movq 16(%rdi), %r9
|
||
|
xorq %r13, %r11
|
||
|
leaq 1859775393(%rcx,%rsi), %r10
|
||
|
xorq %r14, %r11
|
||
|
roll $30, %ebx
|
||
|
xorq %rax, %r12
|
||
|
xorq %rdx, %r12
|
||
|
movl %r10d, %esi
|
||
|
xorl %r9d, %r12d
|
||
|
roll $5, %esi
|
||
|
roll %r12d
|
||
|
addq %r11, %rsi
|
||
|
movq %r12, 16(%rdi)
|
||
|
addq %r15, %rsi
|
||
|
movq 16(%rdi), %r8
|
||
|
movq (%rdi), %r15
|
||
|
movq -40(%rdi), %rax
|
||
|
movl %r10d, %r12d
|
||
|
movq 40(%rdi), %rdx
|
||
|
movq 24(%rdi), %r9
|
||
|
xorq %rbx, %r10
|
||
|
leaq 1859775393(%rsi,%r8), %r11
|
||
|
xorq %r13, %r10
|
||
|
xorq %rax, %r15
|
||
|
xorq %rdx, %r15
|
||
|
movl %r11d, %r8d
|
||
|
xorl %r9d, %r15d
|
||
|
roll $5, %r8d
|
||
|
roll %r15d
|
||
|
addq %r10, %r8
|
||
|
movq %r15, 24(%rdi)
|
||
|
movq 24(%rdi), %rcx
|
||
|
addq %r14, %r8
|
||
|
movq 8(%rdi), %r14
|
||
|
movq -32(%rdi), %rax
|
||
|
roll $30, %r12d
|
||
|
movq 48(%rdi), %rdx
|
||
|
movq 32(%rdi), %r10
|
||
|
movl %r11d, %r15d
|
||
|
leaq 1859775393(%r8,%rcx), %r9
|
||
|
xorq %r12, %r11
|
||
|
roll $30, %r15d
|
||
|
xorq %rax, %r14
|
||
|
xorq %rbx, %r11
|
||
|
xorq %rdx, %r14
|
||
|
movl %r9d, %ecx
|
||
|
xorl %r10d, %r14d
|
||
|
roll $5, %ecx
|
||
|
roll %r14d
|
||
|
addq %r11, %rcx
|
||
|
movq %r14, 32(%rdi)
|
||
|
addq %r13, %rcx
|
||
|
movq 32(%rdi), %rsi
|
||
|
movq 16(%rdi), %r13
|
||
|
movq -24(%rdi), %rax
|
||
|
movl %r9d, %r14d
|
||
|
movq 56(%rdi), %rdx
|
||
|
movq 40(%rdi), %r11
|
||
|
xorq %r15, %r9
|
||
|
leaq 1859775393(%rcx,%rsi), %r10
|
||
|
xorq %r12, %r9
|
||
|
roll $30, %r14d
|
||
|
xorq %rax, %r13
|
||
|
xorq %rdx, %r13
|
||
|
movl %r10d, %esi
|
||
|
xorl %r11d, %r13d
|
||
|
roll $5, %esi
|
||
|
roll %r13d
|
||
|
addq %r9, %rsi
|
||
|
movq %r13, 40(%rdi)
|
||
|
movq 40(%rdi), %r8
|
||
|
addq %rbx, %rsi
|
||
|
movq 24(%rdi), %rbx
|
||
|
movq -16(%rdi), %rax
|
||
|
movl %r10d, %r13d
|
||
|
movq 64(%rdi), %rdx
|
||
|
movq 48(%rdi), %r9
|
||
|
xorq %r14, %r10
|
||
|
leaq 1859775393(%rsi,%r8), %r11
|
||
|
xorq %r15, %r10
|
||
|
roll $30, %r13d
|
||
|
xorq %rax, %rbx
|
||
|
xorq %rdx, %rbx
|
||
|
movl %r11d, %r8d
|
||
|
xorl %r9d, %ebx
|
||
|
roll $5, %r8d
|
||
|
roll %ebx
|
||
|
addq %r10, %r8
|
||
|
movq %rbx, 48(%rdi)
|
||
|
addq %r12, %r8
|
||
|
movq 48(%rdi), %rcx
|
||
|
movq 32(%rdi), %r12
|
||
|
movq -8(%rdi), %rax
|
||
|
movl %r11d, %ebx
|
||
|
movq 72(%rdi), %rdx
|
||
|
movq 56(%rdi), %r9
|
||
|
leaq 1859775393(%r8,%rcx), %r10
|
||
|
xorq %rax, %r12
|
||
|
xorq %rdx, %r12
|
||
|
movl %r10d, %ecx
|
||
|
xorl %r9d, %r12d
|
||
|
xorq %r13, %r11
|
||
|
roll $5, %ecx
|
||
|
xorq %r14, %r11
|
||
|
roll %r12d
|
||
|
roll $30, %ebx
|
||
|
addq %r11, %rcx
|
||
|
movq %r12, 56(%rdi)
|
||
|
movq 56(%rdi), %rsi
|
||
|
addq %r15, %rcx
|
||
|
movq 40(%rdi), %r15
|
||
|
movq (%rdi), %rax
|
||
|
movq -48(%rdi), %rdx
|
||
|
movq 64(%rdi), %r9
|
||
|
movl %r10d, %r12d
|
||
|
leaq 1859775393(%rcx,%rsi), %r11
|
||
|
xorq %rbx, %r10
|
||
|
roll $30, %r12d
|
||
|
xorq %rax, %r15
|
||
|
xorq %r13, %r10
|
||
|
xorq %rdx, %r15
|
||
|
movl %r11d, %esi
|
||
|
xorl %r9d, %r15d
|
||
|
roll $5, %esi
|
||
|
roll %r15d
|
||
|
addq %r10, %rsi
|
||
|
movq %r15, 64(%rdi)
|
||
|
movq 64(%rdi), %r8
|
||
|
addq %r14, %rsi
|
||
|
movq 48(%rdi), %r14
|
||
|
movq 8(%rdi), %rax
|
||
|
movl %r11d, %r15d
|
||
|
movq -40(%rdi), %rdx
|
||
|
movq 72(%rdi), %r10
|
||
|
xorq %r12, %r11
|
||
|
leaq 1859775393(%rsi,%r8), %r9
|
||
|
xorq %rbx, %r11
|
||
|
roll $30, %r15d
|
||
|
xorq %rax, %r14
|
||
|
xorq %rdx, %r14
|
||
|
movl %r9d, %r8d
|
||
|
xorl %r10d, %r14d
|
||
|
roll $5, %r8d
|
||
|
roll %r14d
|
||
|
addq %r11, %r8
|
||
|
movq %r14, 72(%rdi)
|
||
|
addq %r13, %r8
|
||
|
movq 72(%rdi), %rcx
|
||
|
movq 56(%rdi), %r13
|
||
|
movq 16(%rdi), %rax
|
||
|
movl %r9d, %r14d
|
||
|
movq -32(%rdi), %rdx
|
||
|
movq -48(%rdi), %r11
|
||
|
leaq 1859775393(%r8,%rcx), %r10
|
||
|
xorq %rax, %r13
|
||
|
xorq %rdx, %r13
|
||
|
movl %r10d, %ecx
|
||
|
xorl %r11d, %r13d
|
||
|
roll $5, %ecx
|
||
|
roll %r13d
|
||
|
xorq %r15, %r9
|
||
|
roll $30, %r14d
|
||
|
xorq %r12, %r9
|
||
|
movq %r13, -48(%rdi)
|
||
|
movq -48(%rdi), %rsi
|
||
|
addq %r9, %rcx
|
||
|
movl %r10d, %r13d
|
||
|
xorq %r14, %r10
|
||
|
addq %rbx, %rcx
|
||
|
movq 64(%rdi), %rbx
|
||
|
movq 24(%rdi), %rax
|
||
|
movq -24(%rdi), %rdx
|
||
|
leaq 1859775393(%rcx,%rsi), %r11
|
||
|
movq -40(%rdi), %r9
|
||
|
xorq %r15, %r10
|
||
|
roll $30, %r13d
|
||
|
xorq %rax, %rbx
|
||
|
movl %r11d, %esi
|
||
|
xorq %rdx, %rbx
|
||
|
roll $5, %esi
|
||
|
xorl %r9d, %ebx
|
||
|
addq %r10, %rsi
|
||
|
roll %ebx
|
||
|
addq %r12, %rsi
|
||
|
movq %rbx, -40(%rdi)
|
||
|
movq -40(%rdi), %r8
|
||
|
movl %r11d, %ebx
|
||
|
movq 72(%rdi), %r12
|
||
|
movq 32(%rdi), %rax
|
||
|
xorq %r13, %r11
|
||
|
movq -16(%rdi), %rdx
|
||
|
movq -32(%rdi), %r9
|
||
|
xorq %r14, %r11
|
||
|
leaq 1859775393(%rsi,%r8), %r10
|
||
|
roll $30, %ebx
|
||
|
xorq %rax, %r12
|
||
|
xorq %rdx, %r12
|
||
|
movl %r10d, %r8d
|
||
|
xorl %r9d, %r12d
|
||
|
roll $5, %r8d
|
||
|
roll %r12d
|
||
|
addq %r11, %r8
|
||
|
movq %r12, -32(%rdi)
|
||
|
movq -32(%rdi), %rcx
|
||
|
addq %r15, %r8
|
||
|
movq -48(%rdi), %r15
|
||
|
movq 40(%rdi), %rax
|
||
|
movl %r10d, %r12d
|
||
|
movq -8(%rdi), %rdx
|
||
|
movq -24(%rdi), %r9
|
||
|
xorq %rbx, %r10
|
||
|
leaq 1859775393(%r8,%rcx), %r11
|
||
|
xorq %r13, %r10
|
||
|
xorq %rax, %r15
|
||
|
xorq %rdx, %r15
|
||
|
movl %r11d, %ecx
|
||
|
xorl %r9d, %r15d
|
||
|
roll $5, %ecx
|
||
|
roll %r15d
|
||
|
addq %r10, %rcx
|
||
|
addq %r14, %rcx
|
||
|
movq %r15, -24(%rdi)
|
||
|
movq -24(%rdi), %rsi
|
||
|
movq -40(%rdi), %r14
|
||
|
movq 48(%rdi), %rax
|
||
|
roll $30, %r12d
|
||
|
movq (%rdi), %rdx
|
||
|
movq -16(%rdi), %r10
|
||
|
movl %r11d, %r15d
|
||
|
leaq 1859775393(%rcx,%rsi), %r9
|
||
|
xorq %r12, %r11
|
||
|
roll $30, %r15d
|
||
|
xorq %rax, %r14
|
||
|
xorq %rbx, %r11
|
||
|
xorq %rdx, %r14
|
||
|
movl %r9d, %esi
|
||
|
xorl %r10d, %r14d
|
||
|
roll $5, %esi
|
||
|
roll %r14d
|
||
|
addq %r11, %rsi
|
||
|
movq %r14, -16(%rdi)
|
||
|
movq -16(%rdi), %r8
|
||
|
addq %r13, %rsi
|
||
|
movq -32(%rdi), %r11
|
||
|
movq 56(%rdi), %rax
|
||
|
movl %r9d, %r14d
|
||
|
movq 8(%rdi), %rdx
|
||
|
movq -8(%rdi), %r10
|
||
|
xorq %r15, %r9
|
||
|
leaq 1859775393(%rsi,%r8), %r13
|
||
|
xorq %r12, %r9
|
||
|
roll $30, %r14d
|
||
|
xorq %rax, %r11
|
||
|
xorq %rdx, %r11
|
||
|
movl %r13d, %r8d
|
||
|
xorl %r10d, %r11d
|
||
|
roll $5, %r8d
|
||
|
movl %r13d, %r10d
|
||
|
roll %r11d
|
||
|
addq %r9, %r8
|
||
|
xorq %r14, %r13
|
||
|
movq %r11, -8(%rdi)
|
||
|
addq %rbx, %r8
|
||
|
movq -8(%rdi), %rbx
|
||
|
movq -24(%rdi), %r9
|
||
|
movq 64(%rdi), %rax
|
||
|
xorq %r15, %r13
|
||
|
movq 16(%rdi), %rdx
|
||
|
movq (%rdi), %rcx
|
||
|
leaq 1859775393(%r8,%rbx), %r11
|
||
|
xorq %rax, %r9
|
||
|
xorq %rdx, %r9
|
||
|
movl %r11d, %ebx
|
||
|
xorl %ecx, %r9d
|
||
|
roll $5, %ebx
|
||
|
roll %r9d
|
||
|
addq %r13, %rbx
|
||
|
movq %r9, (%rdi)
|
||
|
movq (%rdi), %rsi
|
||
|
addq %r12, %rbx
|
||
|
movq -16(%rdi), %r12
|
||
|
movq 72(%rdi), %r13
|
||
|
movl %r11d, %r9d
|
||
|
leaq 1859775393(%rbx,%rsi), %rcx
|
||
|
movl %r10d, %ebx
|
||
|
movq 24(%rdi), %r10
|
||
|
movq 8(%rdi), %rax
|
||
|
xorq %r13, %r12
|
||
|
roll $30, %ebx
|
||
|
movl %ecx, %esi
|
||
|
xorq %r10, %r12
|
||
|
xorq %rbx, %r11
|
||
|
roll $5, %esi
|
||
|
xorl %eax, %r12d
|
||
|
xorq %r14, %r11
|
||
|
roll $30, %r9d
|
||
|
roll %r12d
|
||
|
addq %r11, %rsi
|
||
|
movq %rcx, %rax
|
||
|
movq %r12, 8(%rdi)
|
||
|
movq 8(%rdi), %rdx
|
||
|
addq %r15, %rsi
|
||
|
movq -8(%rdi), %r11
|
||
|
movq -48(%rdi), %r13
|
||
|
movl %ecx, %r12d
|
||
|
movq 32(%rdi), %r10
|
||
|
movq 16(%rdi), %r8
|
||
|
orq %r9, %rcx
|
||
|
leaq 1859775393(%rsi,%rdx), %rsi
|
||
|
andq %rbx, %rcx
|
||
|
andq %r9, %rax
|
||
|
xorq %r13, %r11
|
||
|
orq %rcx, %rax
|
||
|
roll $30, %r12d
|
||
|
xorq %r10, %r11
|
||
|
movq %rsi, %r10
|
||
|
xorl %r8d, %r11d
|
||
|
movl %esi, %r8d
|
||
|
andq %r12, %r10
|
||
|
roll %r11d
|
||
|
roll $5, %r8d
|
||
|
movq %r11, 16(%rdi)
|
||
|
addq %rax, %r8
|
||
|
movq 16(%rdi), %r15
|
||
|
movq (%rdi), %r13
|
||
|
movq -40(%rdi), %rdx
|
||
|
addq %r14, %r8
|
||
|
movq 40(%rdi), %r14
|
||
|
movq 24(%rdi), %rcx
|
||
|
movl %esi, %r11d
|
||
|
addq %r15, %r8
|
||
|
movl $2400959708, %r15d
|
||
|
orq %r12, %rsi
|
||
|
xorq %rdx, %r13
|
||
|
addq %r15, %r8
|
||
|
andq %r9, %rsi
|
||
|
xorq %r14, %r13
|
||
|
orq %rsi, %r10
|
||
|
xorl %ecx, %r13d
|
||
|
movl %r8d, %ecx
|
||
|
roll %r13d
|
||
|
roll $5, %ecx
|
||
|
movq %r13, 24(%rdi)
|
||
|
addq %r10, %rcx
|
||
|
movq 24(%rdi), %rax
|
||
|
movq 8(%rdi), %r14
|
||
|
movq -32(%rdi), %rdx
|
||
|
addq %rbx, %rcx
|
||
|
movq 48(%rdi), %rbx
|
||
|
movq 32(%rdi), %rsi
|
||
|
roll $30, %r11d
|
||
|
addq %rax, %rcx
|
||
|
movl %r8d, %r13d
|
||
|
movq %r8, %r10
|
||
|
xorq %rdx, %r14
|
||
|
addq %r15, %rcx
|
||
|
orq %r11, %r8
|
||
|
xorq %rbx, %r14
|
||
|
andq %r12, %r8
|
||
|
andq %r11, %r10
|
||
|
xorl %esi, %r14d
|
||
|
movl %ecx, %esi
|
||
|
orq %r8, %r10
|
||
|
roll $5, %esi
|
||
|
roll %r14d
|
||
|
roll $30, %r13d
|
||
|
addq %r10, %rsi
|
||
|
movq %r14, 32(%rdi)
|
||
|
movq 32(%rdi), %rax
|
||
|
addq %r9, %rsi
|
||
|
movq 16(%rdi), %r9
|
||
|
movq -24(%rdi), %rdx
|
||
|
movq 56(%rdi), %rbx
|
||
|
movq 40(%rdi), %r8
|
||
|
movl %ecx, %r14d
|
||
|
addq %rax, %rsi
|
||
|
movq %rcx, %r10
|
||
|
orq %r13, %rcx
|
||
|
xorq %rdx, %r9
|
||
|
addq %r15, %rsi
|
||
|
andq %r11, %rcx
|
||
|
xorq %rbx, %r9
|
||
|
andq %r13, %r10
|
||
|
roll $30, %r14d
|
||
|
xorl %r8d, %r9d
|
||
|
movl %esi, %r8d
|
||
|
orq %rcx, %r10
|
||
|
roll %r9d
|
||
|
roll $5, %r8d
|
||
|
movq %r9, 40(%rdi)
|
||
|
addq %r10, %r8
|
||
|
movq 40(%rdi), %rax
|
||
|
movq 24(%rdi), %r10
|
||
|
movq -16(%rdi), %rdx
|
||
|
addq %r12, %r8
|
||
|
movq 64(%rdi), %rbx
|
||
|
movq 48(%rdi), %rcx
|
||
|
movl %esi, %r9d
|
||
|
addq %rax, %r8
|
||
|
movq %rsi, %r12
|
||
|
xorq %rdx, %r10
|
||
|
addq %r15, %r8
|
||
|
xorq %rbx, %r10
|
||
|
orq %r14, %rsi
|
||
|
andq %r14, %r12
|
||
|
andq %r13, %rsi
|
||
|
xorl %ecx, %r10d
|
||
|
movl %r8d, %ecx
|
||
|
orq %rsi, %r12
|
||
|
roll %r10d
|
||
|
roll $5, %ecx
|
||
|
movq %r10, 48(%rdi)
|
||
|
addq %r12, %rcx
|
||
|
movq 48(%rdi), %rax
|
||
|
movq 32(%rdi), %r12
|
||
|
movq -8(%rdi), %rdx
|
||
|
addq %r11, %rcx
|
||
|
movq 72(%rdi), %rbx
|
||
|
movq 56(%rdi), %rsi
|
||
|
roll $30, %r9d
|
||
|
addq %rax, %rcx
|
||
|
movl %r8d, %r10d
|
||
|
movq %r8, %r11
|
||
|
xorq %rdx, %r12
|
||
|
addq %r15, %rcx
|
||
|
orq %r9, %r8
|
||
|
xorq %rbx, %r12
|
||
|
andq %r14, %r8
|
||
|
andq %r9, %r11
|
||
|
xorl %esi, %r12d
|
||
|
movl %ecx, %esi
|
||
|
orq %r8, %r11
|
||
|
roll %r12d
|
||
|
roll $5, %esi
|
||
|
roll $30, %r10d
|
||
|
movq %r12, 56(%rdi)
|
||
|
addq %r11, %rsi
|
||
|
movq 56(%rdi), %rax
|
||
|
movq 40(%rdi), %r11
|
||
|
movq (%rdi), %rdx
|
||
|
addq %r13, %rsi
|
||
|
movq -48(%rdi), %rbx
|
||
|
movq 64(%rdi), %r8
|
||
|
movq %rcx, %r13
|
||
|
addq %rax, %rsi
|
||
|
andq %r10, %r13
|
||
|
movl %ecx, %r12d
|
||
|
xorq %rdx, %r11
|
||
|
addq %r15, %rsi
|
||
|
xorq %rbx, %r11
|
||
|
xorl %r8d, %r11d
|
||
|
movl %esi, %r8d
|
||
|
roll %r11d
|
||
|
roll $5, %r8d
|
||
|
orq %r10, %rcx
|
||
|
andq %r9, %rcx
|
||
|
movq %r11, 64(%rdi)
|
||
|
movq 64(%rdi), %rax
|
||
|
orq %rcx, %r13
|
||
|
roll $30, %r12d
|
||
|
movl %esi, %r11d
|
||
|
addq %r13, %r8
|
||
|
movq 48(%rdi), %r13
|
||
|
movq 8(%rdi), %rdx
|
||
|
movq -40(%rdi), %rbx
|
||
|
addq %r14, %r8
|
||
|
movq 72(%rdi), %rcx
|
||
|
addq %rax, %r8
|
||
|
movq %rsi, %r14
|
||
|
orq %r12, %rsi
|
||
|
xorq %rdx, %r13
|
||
|
addq %r15, %r8
|
||
|
andq %r10, %rsi
|
||
|
xorq %rbx, %r13
|
||
|
andq %r12, %r14
|
||
|
roll $30, %r11d
|
||
|
xorl %ecx, %r13d
|
||
|
movl %r8d, %ecx
|
||
|
orq %rsi, %r14
|
||
|
roll %r13d
|
||
|
roll $5, %ecx
|
||
|
movq %r13, 72(%rdi)
|
||
|
addq %r14, %rcx
|
||
|
movq 72(%rdi), %rax
|
||
|
movq 56(%rdi), %r14
|
||
|
movq 16(%rdi), %rdx
|
||
|
addq %r9, %rcx
|
||
|
movq -32(%rdi), %rbx
|
||
|
movq -48(%rdi), %rsi
|
||
|
movl %r8d, %r13d
|
||
|
addq %rax, %rcx
|
||
|
movq %r8, %r9
|
||
|
orq %r11, %r8
|
||
|
xorq %rdx, %r14
|
||
|
addq %r15, %rcx
|
||
|
andq %r12, %r8
|
||
|
xorq %rbx, %r14
|
||
|
andq %r11, %r9
|
||
|
xorl %esi, %r14d
|
||
|
movl %ecx, %esi
|
||
|
orq %r8, %r9
|
||
|
roll $5, %esi
|
||
|
roll %r14d
|
||
|
addq %r9, %rsi
|
||
|
movq %r14, -48(%rdi)
|
||
|
movq -48(%rdi), %rax
|
||
|
addq %r10, %rsi
|
||
|
movq 64(%rdi), %r10
|
||
|
movq 24(%rdi), %rdx
|
||
|
movq -24(%rdi), %rbx
|
||
|
movq -40(%rdi), %r8
|
||
|
movl %ecx, %r14d
|
||
|
addq %rax, %rsi
|
||
|
roll $30, %r13d
|
||
|
movq %rcx, %r9
|
||
|
xorq %rdx, %r10
|
||
|
addq %r15, %rsi
|
||
|
orq %r13, %rcx
|
||
|
xorq %rbx, %r10
|
||
|
andq %r11, %rcx
|
||
|
andq %r13, %r9
|
||
|
xorl %r8d, %r10d
|
||
|
movl %esi, %r8d
|
||
|
orq %rcx, %r9
|
||
|
roll $5, %r8d
|
||
|
roll %r10d
|
||
|
roll $30, %r14d
|
||
|
addq %r9, %r8
|
||
|
movq %r10, -40(%rdi)
|
||
|
movq -40(%rdi), %rax
|
||
|
addq %r12, %r8
|
||
|
movq 72(%rdi), %r12
|
||
|
movq 32(%rdi), %rdx
|
||
|
movq -16(%rdi), %rbx
|
||
|
movq -32(%rdi), %rcx
|
||
|
movl %esi, %r10d
|
||
|
addq %rax, %r8
|
||
|
movq %rsi, %r9
|
||
|
orq %r14, %rsi
|
||
|
xorq %rdx, %r12
|
||
|
addq %r15, %r8
|
||
|
andq %r13, %rsi
|
||
|
xorq %rbx, %r12
|
||
|
andq %r14, %r9
|
||
|
roll $30, %r10d
|
||
|
xorl %ecx, %r12d
|
||
|
movl %r8d, %ecx
|
||
|
orq %rsi, %r9
|
||
|
roll $5, %ecx
|
||
|
roll %r12d
|
||
|
addq %r9, %rcx
|
||
|
movq %r12, -32(%rdi)
|
||
|
movq -32(%rdi), %rax
|
||
|
addq %r11, %rcx
|
||
|
movq -48(%rdi), %r11
|
||
|
movq 40(%rdi), %rdx
|
||
|
movq -8(%rdi), %rbx
|
||
|
movq -24(%rdi), %rsi
|
||
|
movl %r8d, %r12d
|
||
|
addq %rax, %rcx
|
||
|
movq %r8, %r9
|
||
|
xorq %rdx, %r11
|
||
|
addq %r15, %rcx
|
||
|
xorq %rbx, %r11
|
||
|
xorl %esi, %r11d
|
||
|
orq %r10, %r8
|
||
|
andq %r10, %r9
|
||
|
andq %r14, %r8
|
||
|
movl %ecx, %esi
|
||
|
roll %r11d
|
||
|
orq %r8, %r9
|
||
|
roll $5, %esi
|
||
|
movq %r11, -24(%rdi)
|
||
|
addq %r9, %rsi
|
||
|
movq -24(%rdi), %rax
|
||
|
roll $30, %r12d
|
||
|
addq %r13, %rsi
|
||
|
movq -40(%rdi), %r13
|
||
|
movq 48(%rdi), %rdx
|
||
|
movq (%rdi), %rbx
|
||
|
movq -16(%rdi), %r8
|
||
|
movl %ecx, %r11d
|
||
|
addq %rax, %rsi
|
||
|
movq %rcx, %r9
|
||
|
orq %r12, %rcx
|
||
|
xorq %rdx, %r13
|
||
|
addq %r15, %rsi
|
||
|
andq %r10, %rcx
|
||
|
xorq %rbx, %r13
|
||
|
andq %r12, %r9
|
||
|
roll $30, %r11d
|
||
|
xorl %r8d, %r13d
|
||
|
movl %esi, %r8d
|
||
|
orq %rcx, %r9
|
||
|
roll %r13d
|
||
|
roll $5, %r8d
|
||
|
movq %r13, -16(%rdi)
|
||
|
addq %r9, %r8
|
||
|
movq -16(%rdi), %rax
|
||
|
movq -32(%rdi), %r9
|
||
|
movq 56(%rdi), %rdx
|
||
|
addq %r14, %r8
|
||
|
movq 8(%rdi), %rcx
|
||
|
movq -8(%rdi), %rbx
|
||
|
movl %esi, %r13d
|
||
|
addq %rax, %r8
|
||
|
movq %rsi, %r14
|
||
|
orq %r11, %rsi
|
||
|
xorq %rdx, %r9
|
||
|
addq %r15, %r8
|
||
|
andq %r11, %r14
|
||
|
xorq %rcx, %r9
|
||
|
xorl %ebx, %r9d
|
||
|
movl %r8d, %ebx
|
||
|
roll %r9d
|
||
|
roll $5, %ebx
|
||
|
andq %r12, %rsi
|
||
|
orq %rsi, %r14
|
||
|
movq %r9, -8(%rdi)
|
||
|
movq -8(%rdi), %rax
|
||
|
addq %r14, %rbx
|
||
|
movq -24(%rdi), %r14
|
||
|
movq 64(%rdi), %rdx
|
||
|
movq 16(%rdi), %rcx
|
||
|
addq %r10, %rbx
|
||
|
movq (%rdi), %rsi
|
||
|
roll $30, %r13d
|
||
|
addq %rax, %rbx
|
||
|
movl %r8d, %r9d
|
||
|
xorq %rdx, %r14
|
||
|
addq %r15, %rbx
|
||
|
movq %r8, %r10
|
||
|
xorq %rcx, %r14
|
||
|
orq %r13, %r8
|
||
|
andq %r13, %r10
|
||
|
andq %r11, %r8
|
||
|
xorl %esi, %r14d
|
||
|
movl %ebx, %esi
|
||
|
orq %r8, %r10
|
||
|
roll $5, %esi
|
||
|
roll %r14d
|
||
|
addq %r10, %rsi
|
||
|
movq %r14, (%rdi)
|
||
|
movq (%rdi), %rax
|
||
|
addq %r12, %rsi
|
||
|
movq -16(%rdi), %r12
|
||
|
movq 72(%rdi), %rdx
|
||
|
movq 24(%rdi), %rcx
|
||
|
movq 8(%rdi), %r8
|
||
|
roll $30, %r9d
|
||
|
addq %rax, %rsi
|
||
|
movl %ebx, %r14d
|
||
|
movq %rbx, %r10
|
||
|
xorq %rdx, %r12
|
||
|
addq %r15, %rsi
|
||
|
orq %r9, %rbx
|
||
|
xorq %rcx, %r12
|
||
|
andq %r13, %rbx
|
||
|
andq %r9, %r10
|
||
|
xorl %r8d, %r12d
|
||
|
movl %esi, %r8d
|
||
|
orq %rbx, %r10
|
||
|
roll %r12d
|
||
|
roll $5, %r8d
|
||
|
movq %r12, 8(%rdi)
|
||
|
movq 8(%rdi), %rax
|
||
|
addq %r10, %r8
|
||
|
movq -8(%rdi), %rbx
|
||
|
movq -48(%rdi), %rdx
|
||
|
addq %r11, %r8
|
||
|
movq 32(%rdi), %r11
|
||
|
movq 16(%rdi), %rcx
|
||
|
movl %esi, %r12d
|
||
|
addq %rax, %r8
|
||
|
movq %rsi, %r10
|
||
|
addq %r15, %r8
|
||
|
xorq %rdx, %rbx
|
||
|
roll $30, %r14d
|
||
|
xorq %r11, %rbx
|
||
|
orq %r14, %rsi
|
||
|
andq %r14, %r10
|
||
|
xorl %ecx, %ebx
|
||
|
andq %r9, %rsi
|
||
|
movl %r8d, %ecx
|
||
|
roll %ebx
|
||
|
orq %rsi, %r10
|
||
|
roll $5, %ecx
|
||
|
movq %rbx, 16(%rdi)
|
||
|
movq 16(%rdi), %rsi
|
||
|
addq %r10, %rcx
|
||
|
movq (%rdi), %r11
|
||
|
movq -40(%rdi), %rax
|
||
|
addq %r13, %rcx
|
||
|
movq 40(%rdi), %rdx
|
||
|
movq 24(%rdi), %r13
|
||
|
roll $30, %r12d
|
||
|
addq %rsi, %rcx
|
||
|
movl %r8d, %ebx
|
||
|
movq %r8, %r10
|
||
|
xorq %rax, %r11
|
||
|
addq %r15, %rcx
|
||
|
orq %r12, %r8
|
||
|
xorq %rdx, %r11
|
||
|
andq %r14, %r8
|
||
|
andq %r12, %r10
|
||
|
xorl %r13d, %r11d
|
||
|
movl %ecx, %r13d
|
||
|
orq %r8, %r10
|
||
|
roll %r11d
|
||
|
roll $5, %r13d
|
||
|
roll $30, %ebx
|
||
|
movq %r11, 24(%rdi)
|
||
|
addq %r10, %r13
|
||
|
movq 24(%rdi), %rsi
|
||
|
movq 8(%rdi), %r10
|
||
|
movq -32(%rdi), %rax
|
||
|
addq %r9, %r13
|
||
|
movq 48(%rdi), %rdx
|
||
|
movq 32(%rdi), %r8
|
||
|
movl %ecx, %r11d
|
||
|
addq %rsi, %r13
|
||
|
movq %rcx, %r9
|
||
|
xorq %rax, %r10
|
||
|
addq %r15, %r13
|
||
|
xorq %rdx, %r10
|
||
|
xorl %r8d, %r10d
|
||
|
movl %r13d, %r8d
|
||
|
roll %r10d
|
||
|
orq %rbx, %rcx
|
||
|
andq %rbx, %r9
|
||
|
movq %r10, 32(%rdi)
|
||
|
andq %r12, %rcx
|
||
|
movl %r13d, %r10d
|
||
|
orq %rcx, %r9
|
||
|
roll $5, %r10d
|
||
|
movq 32(%rdi), %rsi
|
||
|
addq %r9, %r10
|
||
|
roll $30, %r11d
|
||
|
movq %r13, %rcx
|
||
|
addq %r14, %r10
|
||
|
movq 16(%rdi), %r14
|
||
|
movq -24(%rdi), %rax
|
||
|
movq 56(%rdi), %rdx
|
||
|
movq 40(%rdi), %r9
|
||
|
addq %rsi, %r10
|
||
|
addq %r15, %r10
|
||
|
orq %r11, %r13
|
||
|
andq %r11, %rcx
|
||
|
xorq %rax, %r14
|
||
|
andq %rbx, %r13
|
||
|
xorq %rdx, %r14
|
||
|
orq %r13, %rcx
|
||
|
xorl %r9d, %r14d
|
||
|
movl %r10d, %r9d
|
||
|
roll %r14d
|
||
|
roll $5, %r9d
|
||
|
movq %r14, 40(%rdi)
|
||
|
movq 40(%rdi), %rsi
|
||
|
addq %rcx, %r9
|
||
|
movq 24(%rdi), %r13
|
||
|
addq %r12, %r9
|
||
|
movq -16(%rdi), %r12
|
||
|
movq 64(%rdi), %rax
|
||
|
movl %r10d, %r14d
|
||
|
addq %rsi, %r9
|
||
|
movl %r8d, %esi
|
||
|
addq %r15, %r9
|
||
|
movq 48(%rdi), %r15
|
||
|
xorq %r12, %r13
|
||
|
roll $30, %esi
|
||
|
xorq %rax, %r13
|
||
|
xorq %rsi, %r10
|
||
|
xorl %r15d, %r13d
|
||
|
movl %r9d, %r15d
|
||
|
xorq %r11, %r10
|
||
|
roll $5, %r15d
|
||
|
roll %r13d
|
||
|
addq %r10, %r15
|
||
|
movq %r13, 48(%rdi)
|
||
|
movq 48(%rdi), %r10
|
||
|
addq %rbx, %r15
|
||
|
movq 32(%rdi), %rbx
|
||
|
movq -8(%rdi), %r8
|
||
|
movq 72(%rdi), %rdx
|
||
|
movq 56(%rdi), %rcx
|
||
|
roll $30, %r14d
|
||
|
addq %r10, %r15
|
||
|
movl $3395469782, %r10d
|
||
|
movl %r9d, %r13d
|
||
|
xorq %r8, %rbx
|
||
|
addq %r10, %r15
|
||
|
xorq %r14, %r9
|
||
|
xorq %rdx, %rbx
|
||
|
xorq %rsi, %r9
|
||
|
roll $30, %r13d
|
||
|
xorl %ecx, %ebx
|
||
|
movl %r15d, %ecx
|
||
|
roll %ebx
|
||
|
roll $5, %ecx
|
||
|
movq %rbx, 56(%rdi)
|
||
|
addq %r9, %rcx
|
||
|
movq 56(%rdi), %r12
|
||
|
movq 40(%rdi), %r9
|
||
|
movq (%rdi), %rax
|
||
|
addq %r11, %rcx
|
||
|
movq -48(%rdi), %r8
|
||
|
movq 64(%rdi), %r11
|
||
|
movl %r15d, %ebx
|
||
|
addq %r12, %rcx
|
||
|
xorq %r13, %r15
|
||
|
roll $30, %ebx
|
||
|
xorq %rax, %r9
|
||
|
addq %r10, %rcx
|
||
|
xorq %r14, %r15
|
||
|
xorq %r8, %r9
|
||
|
xorl %r11d, %r9d
|
||
|
movl %ecx, %r11d
|
||
|
roll %r9d
|
||
|
roll $5, %r11d
|
||
|
movq %r9, 64(%rdi)
|
||
|
addq %r15, %r11
|
||
|
movq 64(%rdi), %rdx
|
||
|
movq 48(%rdi), %r15
|
||
|
movq 8(%rdi), %r12
|
||
|
addq %rsi, %r11
|
||
|
movq -40(%rdi), %rax
|
||
|
movq 72(%rdi), %r8
|
||
|
movl %ecx, %r9d
|
||
|
addq %rdx, %r11
|
||
|
xorq %r12, %r15
|
||
|
addq %r10, %r11
|
||
|
xorq %rax, %r15
|
||
|
xorl %r8d, %r15d
|
||
|
movl %r11d, %r8d
|
||
|
roll %r15d
|
||
|
roll $5, %r8d
|
||
|
xorq %rbx, %rcx
|
||
|
xorq %r13, %rcx
|
||
|
movq %r15, 72(%rdi)
|
||
|
movq 72(%rdi), %rsi
|
||
|
addq %rcx, %r8
|
||
|
movq 56(%rdi), %r12
|
||
|
movq 16(%rdi), %rcx
|
||
|
movq -32(%rdi), %rdx
|
||
|
addq %r14, %r8
|
||
|
movq -48(%rdi), %r14
|
||
|
addq %rsi, %r8
|
||
|
roll $30, %r9d
|
||
|
movl %r11d, %r15d
|
||
|
xorq %rcx, %r12
|
||
|
addq %r10, %r8
|
||
|
xorq %r9, %r11
|
||
|
xorq %rdx, %r12
|
||
|
xorq %rbx, %r11
|
||
|
roll $30, %r15d
|
||
|
xorl %r14d, %r12d
|
||
|
movl %r8d, %r14d
|
||
|
roll $5, %r14d
|
||
|
roll %r12d
|
||
|
addq %r11, %r14
|
||
|
movq %r12, -48(%rdi)
|
||
|
movq -48(%rdi), %rax
|
||
|
addq %r13, %r14
|
||
|
movq 64(%rdi), %r13
|
||
|
movq 24(%rdi), %rsi
|
||
|
movq -24(%rdi), %rcx
|
||
|
movq -40(%rdi), %r11
|
||
|
movl %r8d, %r12d
|
||
|
addq %rax, %r14
|
||
|
xorq %r15, %r8
|
||
|
roll $30, %r12d
|
||
|
xorq %rsi, %r13
|
||
|
addq %r10, %r14
|
||
|
xorq %r9, %r8
|
||
|
xorq %rcx, %r13
|
||
|
xorl %r11d, %r13d
|
||
|
movl %r14d, %r11d
|
||
|
roll $5, %r11d
|
||
|
roll %r13d
|
||
|
addq %r8, %r11
|
||
|
movq %r13, -40(%rdi)
|
||
|
movq -40(%rdi), %rdx
|
||
|
addq %rbx, %r11
|
||
|
movq 72(%rdi), %rbx
|
||
|
movq 32(%rdi), %rax
|
||
|
movq -16(%rdi), %rsi
|
||
|
movq -32(%rdi), %r8
|
||
|
movl %r14d, %r13d
|
||
|
addq %rdx, %r11
|
||
|
xorq %rax, %rbx
|
||
|
addq %r10, %r11
|
||
|
xorq %rsi, %rbx
|
||
|
xorl %r8d, %ebx
|
||
|
xorq %r12, %r14
|
||
|
movl %r11d, %r8d
|
||
|
xorq %r15, %r14
|
||
|
roll %ebx
|
||
|
roll $5, %r8d
|
||
|
movq %rbx, -32(%rdi)
|
||
|
addq %r14, %r8
|
||
|
movq -32(%rdi), %rcx
|
||
|
movq -48(%rdi), %r14
|
||
|
movq 40(%rdi), %rdx
|
||
|
addq %r9, %r8
|
||
|
movq -8(%rdi), %rax
|
||
|
movq -24(%rdi), %r9
|
||
|
roll $30, %r13d
|
||
|
addq %rcx, %r8
|
||
|
movl %r11d, %ebx
|
||
|
xorq %r13, %r11
|
||
|
xorq %rdx, %r14
|
||
|
addq %r10, %r8
|
||
|
xorq %r12, %r11
|
||
|
xorq %rax, %r14
|
||
|
roll $30, %ebx
|
||
|
xorl %r9d, %r14d
|
||
|
movl %r8d, %r9d
|
||
|
roll $5, %r9d
|
||
|
roll %r14d
|
||
|
addq %r11, %r9
|
||
|
movq %r14, -24(%rdi)
|
||
|
movq -24(%rdi), %rsi
|
||
|
addq %r15, %r9
|
||
|
movq -40(%rdi), %r15
|
||
|
movq 48(%rdi), %rcx
|
||
|
movq (%rdi), %rdx
|
||
|
movq -16(%rdi), %r11
|
||
|
movl %r8d, %r14d
|
||
|
addq %rsi, %r9
|
||
|
xorq %rbx, %r8
|
||
|
xorq %rcx, %r15
|
||
|
addq %r10, %r9
|
||
|
xorq %r13, %r8
|
||
|
xorq %rdx, %r15
|
||
|
xorl %r11d, %r15d
|
||
|
movl %r9d, %r11d
|
||
|
roll %r15d
|
||
|
roll $5, %r11d
|
||
|
movq %r15, -16(%rdi)
|
||
|
addq %r8, %r11
|
||
|
movq -16(%rdi), %rax
|
||
|
addq %r12, %r11
|
||
|
movq -32(%rdi), %r12
|
||
|
movq 56(%rdi), %rsi
|
||
|
movq 8(%rdi), %rcx
|
||
|
movq -8(%rdi), %r8
|
||
|
movl %r9d, %r15d
|
||
|
addq %rax, %r11
|
||
|
addq %r10, %r11
|
||
|
roll $30, %r14d
|
||
|
xorq %rsi, %r12
|
||
|
xorq %rcx, %r12
|
||
|
xorq %r14, %r9
|
||
|
roll $30, %r15d
|
||
|
xorl %r8d, %r12d
|
||
|
movl %r11d, %r8d
|
||
|
xorq %rbx, %r9
|
||
|
roll $5, %r8d
|
||
|
roll %r12d
|
||
|
addq %r9, %r8
|
||
|
movq %r12, -8(%rdi)
|
||
|
movq -8(%rdi), %rdx
|
||
|
addq %r13, %r8
|
||
|
movq -24(%rdi), %r13
|
||
|
movq 64(%rdi), %rax
|
||
|
movq 16(%rdi), %rsi
|
||
|
movq (%rdi), %rcx
|
||
|
movl %r11d, %r12d
|
||
|
addq %rdx, %r8
|
||
|
xorq %r15, %r11
|
||
|
roll $30, %r12d
|
||
|
xorq %rax, %r13
|
||
|
addq %r10, %r8
|
||
|
xorq %r14, %r11
|
||
|
xorq %rsi, %r13
|
||
|
xorl %ecx, %r13d
|
||
|
movl %r8d, %ecx
|
||
|
roll $5, %ecx
|
||
|
roll %r13d
|
||
|
addq %r11, %rcx
|
||
|
movq %r13, (%rdi)
|
||
|
movq (%rdi), %r9
|
||
|
addq %rbx, %rcx
|
||
|
movq -16(%rdi), %rbx
|
||
|
movq 72(%rdi), %rdx
|
||
|
movq 24(%rdi), %rax
|
||
|
movq 8(%rdi), %rsi
|
||
|
movl %r8d, %r13d
|
||
|
addq %r9, %rcx
|
||
|
xorq %r12, %r8
|
||
|
xorq %rdx, %rbx
|
||
|
addq %r10, %rcx
|
||
|
xorq %r15, %r8
|
||
|
xorq %rax, %rbx
|
||
|
xorl %esi, %ebx
|
||
|
movl %ecx, %esi
|
||
|
roll $5, %esi
|
||
|
roll %ebx
|
||
|
addq %r8, %rsi
|
||
|
movq %rbx, 8(%rdi)
|
||
|
movq 8(%rdi), %r11
|
||
|
addq %r14, %rsi
|
||
|
movq -8(%rdi), %r14
|
||
|
movq -48(%rdi), %r9
|
||
|
movq 32(%rdi), %rdx
|
||
|
movq 16(%rdi), %r8
|
||
|
roll $30, %r13d
|
||
|
addq %r11, %rsi
|
||
|
movl %ecx, %ebx
|
||
|
xorq %r13, %rcx
|
||
|
xorq %r9, %r14
|
||
|
addq %r10, %rsi
|
||
|
xorq %r12, %rcx
|
||
|
xorq %rdx, %r14
|
||
|
roll $30, %ebx
|
||
|
xorl %r8d, %r14d
|
||
|
movl %esi, %r8d
|
||
|
roll $5, %r8d
|
||
|
roll %r14d
|
||
|
addq %rcx, %r8
|
||
|
movq %r14, 16(%rdi)
|
||
|
movq 16(%rdi), %rax
|
||
|
addq %r15, %r8
|
||
|
movq (%rdi), %r15
|
||
|
movq -40(%rdi), %r11
|
||
|
movq 40(%rdi), %r9
|
||
|
movq 24(%rdi), %rcx
|
||
|
movl %esi, %r14d
|
||
|
addq %rax, %r8
|
||
|
xorq %rbx, %rsi
|
||
|
roll $30, %r14d
|
||
|
xorq %r11, %r15
|
||
|
addq %r10, %r8
|
||
|
xorq %r13, %rsi
|
||
|
xorq %r9, %r15
|
||
|
xorl %ecx, %r15d
|
||
|
movl %r8d, %ecx
|
||
|
roll %r15d
|
||
|
roll $5, %ecx
|
||
|
movq %r15, 24(%rdi)
|
||
|
addq %rsi, %rcx
|
||
|
movq 24(%rdi), %rdx
|
||
|
movq 8(%rdi), %r11
|
||
|
movq -32(%rdi), %rax
|
||
|
addq %r12, %rcx
|
||
|
movq 48(%rdi), %r12
|
||
|
movq 32(%rdi), %rsi
|
||
|
movl %r8d, %r15d
|
||
|
addq %rdx, %rcx
|
||
|
xorq %rax, %r11
|
||
|
addq %r10, %rcx
|
||
|
xorq %r12, %r11
|
||
|
xorl %esi, %r11d
|
||
|
movl %ecx, %esi
|
||
|
roll %r11d
|
||
|
movq %r11, 32(%rdi)
|
||
|
movl %ecx, %r11d
|
||
|
movq 32(%rdi), %r9
|
||
|
roll $5, %r11d
|
||
|
xorq %r14, %r8
|
||
|
movq 16(%rdi), %r12
|
||
|
xorq %rbx, %r8
|
||
|
movq -24(%rdi), %rdx
|
||
|
movq 56(%rdi), %rax
|
||
|
addq %r8, %r11
|
||
|
movq 40(%rdi), %r8
|
||
|
roll $30, %r15d
|
||
|
addq %r13, %r11
|
||
|
xorq %r15, %rcx
|
||
|
addq %r9, %r11
|
||
|
xorq %rdx, %r12
|
||
|
xorq %r14, %rcx
|
||
|
addq %r10, %r11
|
||
|
xorq %rax, %r12
|
||
|
xorl %r8d, %r12d
|
||
|
movl %r11d, %r8d
|
||
|
roll $5, %r8d
|
||
|
roll %r12d
|
||
|
addq %rcx, %r8
|
||
|
movq %r12, 40(%rdi)
|
||
|
movq 40(%rdi), %r13
|
||
|
addq %rbx, %r8
|
||
|
movq 24(%rdi), %rbx
|
||
|
movq -16(%rdi), %r9
|
||
|
movq 64(%rdi), %rdx
|
||
|
movq 48(%rdi), %rcx
|
||
|
movl %r11d, %r12d
|
||
|
addq %r13, %r8
|
||
|
movl %esi, %r13d
|
||
|
roll $30, %r12d
|
||
|
xorq %r9, %rbx
|
||
|
addq %r10, %r8
|
||
|
roll $30, %r13d
|
||
|
xorq %rdx, %rbx
|
||
|
xorq %r13, %r11
|
||
|
xorl %ecx, %ebx
|
||
|
movl %r8d, %ecx
|
||
|
xorq %r15, %r11
|
||
|
roll %ebx
|
||
|
roll $5, %ecx
|
||
|
movq %rbx, 48(%rdi)
|
||
|
addq %r11, %rcx
|
||
|
movq 48(%rdi), %rax
|
||
|
movq 32(%rdi), %r11
|
||
|
movq -8(%rdi), %rsi
|
||
|
addq %r14, %rcx
|
||
|
movq 72(%rdi), %r9
|
||
|
movq 56(%rdi), %r14
|
||
|
movl %r8d, %ebx
|
||
|
addq %rax, %rcx
|
||
|
xorq %rsi, %r11
|
||
|
addq %r10, %rcx
|
||
|
xorq %r9, %r11
|
||
|
xorl %r14d, %r11d
|
||
|
xorq %r12, %r8
|
||
|
movl %ecx, %r14d
|
||
|
xorq %r13, %r8
|
||
|
roll %r11d
|
||
|
roll $5, %r14d
|
||
|
movq %r11, 56(%rdi)
|
||
|
addq %r8, %r14
|
||
|
movq 56(%rdi), %rdx
|
||
|
movq 40(%rdi), %r8
|
||
|
movq (%rdi), %rax
|
||
|
addq %r15, %r14
|
||
|
movq -48(%rdi), %r15
|
||
|
movq 64(%rdi), %rsi
|
||
|
roll $30, %ebx
|
||
|
addq %rdx, %r14
|
||
|
movl %ecx, %r11d
|
||
|
xorq %rbx, %rcx
|
||
|
xorq %rax, %r8
|
||
|
addq %r10, %r14
|
||
|
xorq %r12, %rcx
|
||
|
xorq %r15, %r8
|
||
|
roll $30, %r11d
|
||
|
xorl %esi, %r8d
|
||
|
movl %r14d, %esi
|
||
|
roll %r8d
|
||
|
roll $5, %esi
|
||
|
movq %r8, 64(%rdi)
|
||
|
movq 64(%rdi), %r9
|
||
|
addq %rcx, %rsi
|
||
|
movq 48(%rdi), %r15
|
||
|
movq 8(%rdi), %rcx
|
||
|
addq %r13, %rsi
|
||
|
movq -40(%rdi), %rdx
|
||
|
movq 72(%rdi), %rax
|
||
|
movl %r14d, %r8d
|
||
|
addq %r9, %rsi
|
||
|
xorq %r11, %r14
|
||
|
addq %r10, %rsi
|
||
|
xorq %rcx, %r15
|
||
|
xorq %rbx, %r14
|
||
|
xorq %rdx, %r15
|
||
|
movl %esi, %r13d
|
||
|
xorl %eax, %r15d
|
||
|
roll $5, %r13d
|
||
|
roll %r15d
|
||
|
addq %r14, %r13
|
||
|
movq %r15, 72(%rdi)
|
||
|
addq %r12, %r13
|
||
|
movq 72(%rdi), %r12
|
||
|
addq %r12, %r13
|
||
|
addq %r10, %r13
|
||
|
movq -88(%rdi), %r10
|
||
|
roll $30, %r8d
|
||
|
addq %r13, %r10
|
||
|
movq %r10, -88(%rdi)
|
||
|
movq -80(%rdi), %r9
|
||
|
addq %rsi, %r9
|
||
|
movq %r9, -80(%rdi)
|
||
|
movq -72(%rdi), %rcx
|
||
|
addq %r8, %rcx
|
||
|
movq %rcx, -72(%rdi)
|
||
|
movq -64(%rdi), %rdx
|
||
|
addq %r11, %rdx
|
||
|
movq %rdx, -64(%rdi)
|
||
|
movq -56(%rdi), %rax
|
||
|
addq %rbx, %rax
|
||
|
popq %rbx
|
||
|
popq %r12
|
||
|
popq %r13
|
||
|
popq %r14
|
||
|
popq %r15
|
||
|
movq %rax, -56(%rdi)
|
||
|
ret
|
||
|
.LFE7:
|
||
|
.size shaCompress, .-shaCompress
|
||
|
.align 16
|
||
|
.globl SHA1_Update
|
||
|
.type SHA1_Update, @function
|
||
|
SHA1_Update:
|
||
|
.LFB5:
|
||
|
pushq %rbp
|
||
|
.LCFI5:
|
||
|
movq %rsp, %rbp
|
||
|
.LCFI6:
|
||
|
movq %r13, -24(%rbp)
|
||
|
.LCFI7:
|
||
|
movq %r14, -16(%rbp)
|
||
|
.LCFI8:
|
||
|
movl %edx, %r13d
|
||
|
movq %r15, -8(%rbp)
|
||
|
.LCFI9:
|
||
|
movq %rbx, -40(%rbp)
|
||
|
.LCFI10:
|
||
|
movq %rdi, %r15
|
||
|
movq %r12, -32(%rbp)
|
||
|
.LCFI11:
|
||
|
subq $48, %rsp
|
||
|
.LCFI12:
|
||
|
testl %edx, %edx
|
||
|
movq %rsi, %r14
|
||
|
je .L243
|
||
|
movq 64(%rdi), %rdx
|
||
|
mov %r13d, %ecx
|
||
|
leaq (%rdx,%rcx), %rax
|
||
|
movq %rax, 64(%rdi)
|
||
|
movl %edx, %eax
|
||
|
andl $63, %eax
|
||
|
movl %eax, -44(%rbp)
|
||
|
jne .L256
|
||
|
.L245:
|
||
|
cmpl $63, %r13d
|
||
|
jbe .L253
|
||
|
leaq 160(%r15), %rbx
|
||
|
.align 16
|
||
|
.L250:
|
||
|
movq %r14, %rsi
|
||
|
subl $64, %r13d
|
||
|
movq %rbx, %rdi
|
||
|
call shaCompress
|
||
|
addq $64, %r14
|
||
|
cmpl $63, %r13d
|
||
|
ja .L250
|
||
|
.L253:
|
||
|
testl %r13d, %r13d
|
||
|
je .L243
|
||
|
mov %r13d, %edx
|
||
|
movq %r14, %rsi
|
||
|
movq %r15, %rdi
|
||
|
movq -40(%rbp), %rbx
|
||
|
movq -32(%rbp), %r12
|
||
|
movq -24(%rbp), %r13
|
||
|
movq -16(%rbp), %r14
|
||
|
movq -8(%rbp), %r15
|
||
|
leave
|
||
|
jmp memcpy@PLT
|
||
|
.align 16
|
||
|
.L243:
|
||
|
movq -40(%rbp), %rbx
|
||
|
movq -32(%rbp), %r12
|
||
|
movq -24(%rbp), %r13
|
||
|
movq -16(%rbp), %r14
|
||
|
movq -8(%rbp), %r15
|
||
|
leave
|
||
|
ret
|
||
|
.L256:
|
||
|
movl $64, %ebx
|
||
|
mov %eax, %edi
|
||
|
subl %eax, %ebx
|
||
|
cmpl %ebx, %r13d
|
||
|
cmovb %r13d, %ebx
|
||
|
addq %r15, %rdi
|
||
|
mov %ebx, %r12d
|
||
|
subl %ebx, %r13d
|
||
|
movq %r12, %rdx
|
||
|
addq %r12, %r14
|
||
|
call memcpy@PLT
|
||
|
addl -44(%rbp), %ebx
|
||
|
andl $63, %ebx
|
||
|
jne .L245
|
||
|
leaq 160(%r15), %rdi
|
||
|
movq %r15, %rsi
|
||
|
call shaCompress
|
||
|
jmp .L245
|
||
|
.LFE5:
|
||
|
.size SHA1_Update, .-SHA1_Update
|
||
|
.section .rodata
|
||
|
.align 32
|
||
|
.type bulk_pad.0, @object
|
||
|
.size bulk_pad.0, 64
|
||
|
bulk_pad.0:
|
||
|
.byte -128
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.byte 0
|
||
|
.text
|
||
|
.align 16
|
||
|
.globl SHA1_End
|
||
|
.type SHA1_End, @function
|
||
|
SHA1_End:
|
||
|
.LFB6:
|
||
|
pushq %rbp
|
||
|
.LCFI13:
|
||
|
movq %rsp, %rbp
|
||
|
.LCFI14:
|
||
|
movq %r12, -24(%rbp)
|
||
|
.LCFI15:
|
||
|
movq %r13, -16(%rbp)
|
||
|
.LCFI16:
|
||
|
movq %rsi, %r13
|
||
|
movq %r14, -8(%rbp)
|
||
|
.LCFI17:
|
||
|
movq %rbx, -32(%rbp)
|
||
|
.LCFI18:
|
||
|
subq $32, %rsp
|
||
|
.LCFI19:
|
||
|
movq 64(%rdi), %rbx
|
||
|
movq %rdx, %r14
|
||
|
movl $119, %edx
|
||
|
leaq bulk_pad.0(%rip), %rsi
|
||
|
movq %rdi, %r12
|
||
|
movl %ebx, %r8d
|
||
|
salq $3, %rbx
|
||
|
andl $63, %r8d
|
||
|
subl %r8d, %edx
|
||
|
andl $63, %edx
|
||
|
incl %edx
|
||
|
call SHA1_Update@PLT
|
||
|
movq %rbx, %rdi
|
||
|
movq %r12, %rsi
|
||
|
shrq $32, %rdi
|
||
|
/APP
|
||
|
bswap %edi
|
||
|
/NO_APP
|
||
|
movl %edi, 56(%r12)
|
||
|
leaq 160(%r12), %rdi
|
||
|
/APP
|
||
|
bswap %ebx
|
||
|
/NO_APP
|
||
|
movl %ebx, 60(%r12)
|
||
|
call shaCompress
|
||
|
movl 72(%r12), %esi
|
||
|
movl 80(%r12), %ebx
|
||
|
movl 88(%r12), %ecx
|
||
|
movl 96(%r12), %edx
|
||
|
movl 104(%r12), %eax
|
||
|
movq 8(%rsp), %r12
|
||
|
/APP
|
||
|
bswap %ebx
|
||
|
bswap %esi
|
||
|
/NO_APP
|
||
|
movl %ebx, 4(%r13)
|
||
|
movl %esi, (%r13)
|
||
|
/APP
|
||
|
bswap %ecx
|
||
|
bswap %edx
|
||
|
/NO_APP
|
||
|
movl %ecx, 8(%r13)
|
||
|
movl %edx, 12(%r13)
|
||
|
/APP
|
||
|
bswap %eax
|
||
|
/NO_APP
|
||
|
movq (%rsp), %rbx
|
||
|
movl %eax, 16(%r13)
|
||
|
movl $20, (%r14)
|
||
|
movq 16(%rsp), %r13
|
||
|
movq 24(%rsp), %r14
|
||
|
leave
|
||
|
ret
|
||
|
.LFE6:
|
||
|
.size SHA1_End, .-SHA1_End
|
||
|
.align 16
|
||
|
.globl SHA1_NewContext
|
||
|
.type SHA1_NewContext, @function
|
||
|
SHA1_NewContext:
|
||
|
.LFB8:
|
||
|
movl $248, %edi
|
||
|
jmp PORT_Alloc_Util@PLT
|
||
|
.LFE8:
|
||
|
.size SHA1_NewContext, .-SHA1_NewContext
|
||
|
.align 16
|
||
|
.globl SHA1_DestroyContext
|
||
|
.type SHA1_DestroyContext, @function
|
||
|
SHA1_DestroyContext:
|
||
|
.LFB9:
|
||
|
pushq %rbp
|
||
|
.LCFI20:
|
||
|
movl $248, %edx
|
||
|
movq %rsp, %rbp
|
||
|
.LCFI21:
|
||
|
movq %rbx, -16(%rbp)
|
||
|
.LCFI22:
|
||
|
movq %r12, -8(%rbp)
|
||
|
.LCFI23:
|
||
|
movl %esi, %ebx
|
||
|
subq $16, %rsp
|
||
|
.LCFI24:
|
||
|
xorl %esi, %esi
|
||
|
movq %rdi, %r12
|
||
|
call memset@PLT
|
||
|
testl %ebx, %ebx
|
||
|
jne .L268
|
||
|
movq (%rsp), %rbx
|
||
|
movq 8(%rsp), %r12
|
||
|
leave
|
||
|
ret
|
||
|
.align 16
|
||
|
.L268:
|
||
|
movq %r12, %rdi
|
||
|
movq (%rsp), %rbx
|
||
|
movq 8(%rsp), %r12
|
||
|
leave
|
||
|
jmp PORT_Free_Util@PLT
|
||
|
.LFE9:
|
||
|
.size SHA1_DestroyContext, .-SHA1_DestroyContext
|
||
|
.align 16
|
||
|
.globl SHA1_HashBuf
|
||
|
.type SHA1_HashBuf, @function
|
||
|
SHA1_HashBuf:
|
||
|
.LFB10:
|
||
|
pushq %rbp
|
||
|
.LCFI25:
|
||
|
movq %rsp, %rbp
|
||
|
.LCFI26:
|
||
|
movq %rbx, -32(%rbp)
|
||
|
.LCFI27:
|
||
|
leaq -288(%rbp), %rbx
|
||
|
movq %r12, -24(%rbp)
|
||
|
.LCFI28:
|
||
|
movq %r13, -16(%rbp)
|
||
|
.LCFI29:
|
||
|
movq %r14, -8(%rbp)
|
||
|
.LCFI30:
|
||
|
movq %rsi, %r13
|
||
|
subq $304, %rsp
|
||
|
.LCFI31:
|
||
|
movq %rdi, %r14
|
||
|
movl %edx, %r12d
|
||
|
movq %rbx, %rdi
|
||
|
call SHA1_Begin@PLT
|
||
|
movl %r12d, %edx
|
||
|
movq %r13, %rsi
|
||
|
movq %rbx, %rdi
|
||
|
call SHA1_Update@PLT
|
||
|
leaq -292(%rbp), %rdx
|
||
|
movq %r14, %rsi
|
||
|
movq %rbx, %rdi
|
||
|
movl $20, %ecx
|
||
|
call SHA1_End@PLT
|
||
|
movq -32(%rbp), %rbx
|
||
|
movq -24(%rbp), %r12
|
||
|
xorl %eax, %eax
|
||
|
movq -16(%rbp), %r13
|
||
|
movq -8(%rbp), %r14
|
||
|
leave
|
||
|
ret
|
||
|
.LFE10:
|
||
|
.size SHA1_HashBuf, .-SHA1_HashBuf
|
||
|
.align 16
|
||
|
.globl SHA1_Hash
|
||
|
.type SHA1_Hash, @function
|
||
|
SHA1_Hash:
|
||
|
.LFB11:
|
||
|
pushq %rbp
|
||
|
.LCFI32:
|
||
|
movq %rsp, %rbp
|
||
|
.LCFI33:
|
||
|
movq %rbx, -16(%rbp)
|
||
|
.LCFI34:
|
||
|
movq %r12, -8(%rbp)
|
||
|
.LCFI35:
|
||
|
movq %rsi, %rbx
|
||
|
subq $16, %rsp
|
||
|
.LCFI36:
|
||
|
movq %rdi, %r12
|
||
|
movq %rsi, %rdi
|
||
|
call strlen@PLT
|
||
|
movq %rbx, %rsi
|
||
|
movq %r12, %rdi
|
||
|
movq (%rsp), %rbx
|
||
|
movq 8(%rsp), %r12
|
||
|
leave
|
||
|
movl %eax, %edx
|
||
|
jmp SHA1_HashBuf@PLT
|
||
|
.LFE11:
|
||
|
.size SHA1_Hash, .-SHA1_Hash
|
||
|
.align 16
|
||
|
.globl SHA1_FlattenSize
|
||
|
.type SHA1_FlattenSize, @function
|
||
|
SHA1_FlattenSize:
|
||
|
.LFB12:
|
||
|
movl $248, %eax
|
||
|
ret
|
||
|
.LFE12:
|
||
|
.size SHA1_FlattenSize, .-SHA1_FlattenSize
|
||
|
.align 16
|
||
|
.globl SHA1_Flatten
|
||
|
.type SHA1_Flatten, @function
|
||
|
SHA1_Flatten:
|
||
|
.LFB13:
|
||
|
pushq %rbp
|
||
|
.LCFI37:
|
||
|
movq %rsi, %rax
|
||
|
movl $248, %edx
|
||
|
movq %rdi, %rsi
|
||
|
movq %rax, %rdi
|
||
|
movq %rsp, %rbp
|
||
|
.LCFI38:
|
||
|
call memcpy@PLT
|
||
|
leave
|
||
|
xorl %eax, %eax
|
||
|
ret
|
||
|
.LFE13:
|
||
|
.size SHA1_Flatten, .-SHA1_Flatten
|
||
|
.align 16
|
||
|
.globl SHA1_Resurrect
|
||
|
.type SHA1_Resurrect, @function
|
||
|
SHA1_Resurrect:
|
||
|
.LFB14:
|
||
|
pushq %rbp
|
||
|
.LCFI39:
|
||
|
movq %rsp, %rbp
|
||
|
.LCFI40:
|
||
|
movq %rbx, -16(%rbp)
|
||
|
.LCFI41:
|
||
|
movq %r12, -8(%rbp)
|
||
|
.LCFI42:
|
||
|
subq $16, %rsp
|
||
|
.LCFI43:
|
||
|
movq %rdi, %r12
|
||
|
call SHA1_NewContext@PLT
|
||
|
movq %rax, %rbx
|
||
|
xorl %eax, %eax
|
||
|
testq %rbx, %rbx
|
||
|
je .L273
|
||
|
movl $248, %edx
|
||
|
movq %r12, %rsi
|
||
|
movq %rbx, %rdi
|
||
|
call memcpy@PLT
|
||
|
movq %rbx, %rax
|
||
|
.L273:
|
||
|
movq (%rsp), %rbx
|
||
|
movq 8(%rsp), %r12
|
||
|
leave
|
||
|
ret
|
||
|
.LFE14:
|
||
|
.size SHA1_Resurrect, .-SHA1_Resurrect
|
||
|
.align 16
|
||
|
.globl SHA1_Clone
|
||
|
.type SHA1_Clone, @function
|
||
|
SHA1_Clone:
|
||
|
.LFB15:
|
||
|
movl $248, %edx
|
||
|
jmp memcpy@PLT
|
||
|
.LFE15:
|
||
|
.size SHA1_Clone, .-SHA1_Clone
|
||
|
.align 16
|
||
|
.globl SHA1_TraceState
|
||
|
.type SHA1_TraceState, @function
|
||
|
SHA1_TraceState:
|
||
|
.LFB16:
|
||
|
movl $-5992, %edi
|
||
|
jmp PORT_SetError_Util@PLT
|
||
|
.LFE16:
|
||
|
.size SHA1_TraceState, .-SHA1_TraceState
|