2020-12-28 19:15:37 +04:00
|
|
|
; 1 "crypto/md5/md5-masm-x86_64.S.tmp"
|
|
|
|
; 1 "<built-in>" 1
|
|
|
|
; 1 "<built-in>" 3
|
2022-04-25 00:29:35 +04:00
|
|
|
; 343 "<built-in>" 3
|
2020-12-28 19:15:37 +04:00
|
|
|
; 1 "<command line>" 1
|
|
|
|
; 1 "<built-in>" 2
|
|
|
|
; 1 "crypto/md5/md5-masm-x86_64.S.tmp" 2
|
|
|
|
OPTION DOTNAME
|
|
|
|
|
|
|
|
; 1 "./crypto/x86_arch.h" 1
|
|
|
|
|
|
|
|
|
|
|
|
; 16 "./crypto/x86_arch.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; 40 "./crypto/x86_arch.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; 3 "crypto/md5/md5-masm-x86_64.S.tmp" 2
|
|
|
|
.text$ SEGMENT ALIGN(64) 'CODE'
|
|
|
|
ALIGN 16
|
|
|
|
|
|
|
|
PUBLIC md5_block_asm_data_order
|
|
|
|
|
|
|
|
md5_block_asm_data_order PROC PUBLIC
|
|
|
|
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
|
|
|
|
mov QWORD PTR[16+rsp],rsi
|
|
|
|
mov rax,rsp
|
|
|
|
$L$SEH_begin_md5_block_asm_data_order::
|
|
|
|
mov rdi,rcx
|
|
|
|
mov rsi,rdx
|
|
|
|
mov rdx,r8
|
|
|
|
|
|
|
|
|
|
|
|
push rbp
|
|
|
|
push rbx
|
|
|
|
push r12
|
|
|
|
push r14
|
|
|
|
push r15
|
|
|
|
$L$prologue::
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mov rbp,rdi
|
|
|
|
shl rdx,6
|
|
|
|
lea rdi,QWORD PTR[rdx*1+rsi]
|
|
|
|
mov eax,DWORD PTR[rbp]
|
|
|
|
mov ebx,DWORD PTR[4+rbp]
|
|
|
|
mov ecx,DWORD PTR[8+rbp]
|
|
|
|
mov edx,DWORD PTR[12+rbp]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cmp rsi,rdi
|
|
|
|
je $L$end
|
|
|
|
|
|
|
|
|
|
|
|
$L$loop::
|
|
|
|
mov r8d,eax
|
|
|
|
mov r9d,ebx
|
|
|
|
mov r14d,ecx
|
|
|
|
mov r15d,edx
|
|
|
|
mov r10d,DWORD PTR[rsi]
|
|
|
|
mov r11d,edx
|
|
|
|
xor r11d,ecx
|
|
|
|
lea eax,DWORD PTR[((-680876936))+r10*1+rax]
|
|
|
|
and r11d,ebx
|
|
|
|
xor r11d,edx
|
|
|
|
mov r10d,DWORD PTR[4+rsi]
|
|
|
|
add eax,r11d
|
|
|
|
rol eax,7
|
|
|
|
mov r11d,ecx
|
|
|
|
add eax,ebx
|
|
|
|
xor r11d,ebx
|
|
|
|
lea edx,DWORD PTR[((-389564586))+r10*1+rdx]
|
|
|
|
and r11d,eax
|
|
|
|
xor r11d,ecx
|
|
|
|
mov r10d,DWORD PTR[8+rsi]
|
|
|
|
add edx,r11d
|
|
|
|
rol edx,12
|
|
|
|
mov r11d,ebx
|
|
|
|
add edx,eax
|
|
|
|
xor r11d,eax
|
|
|
|
lea ecx,DWORD PTR[606105819+r10*1+rcx]
|
|
|
|
and r11d,edx
|
|
|
|
xor r11d,ebx
|
|
|
|
mov r10d,DWORD PTR[12+rsi]
|
|
|
|
add ecx,r11d
|
|
|
|
rol ecx,17
|
|
|
|
mov r11d,eax
|
|
|
|
add ecx,edx
|
|
|
|
xor r11d,edx
|
|
|
|
lea ebx,DWORD PTR[((-1044525330))+r10*1+rbx]
|
|
|
|
and r11d,ecx
|
|
|
|
xor r11d,eax
|
|
|
|
mov r10d,DWORD PTR[16+rsi]
|
|
|
|
add ebx,r11d
|
|
|
|
rol ebx,22
|
|
|
|
mov r11d,edx
|
|
|
|
add ebx,ecx
|
|
|
|
xor r11d,ecx
|
|
|
|
lea eax,DWORD PTR[((-176418897))+r10*1+rax]
|
|
|
|
and r11d,ebx
|
|
|
|
xor r11d,edx
|
|
|
|
mov r10d,DWORD PTR[20+rsi]
|
|
|
|
add eax,r11d
|
|
|
|
rol eax,7
|
|
|
|
mov r11d,ecx
|
|
|
|
add eax,ebx
|
|
|
|
xor r11d,ebx
|
|
|
|
lea edx,DWORD PTR[1200080426+r10*1+rdx]
|
|
|
|
and r11d,eax
|
|
|
|
xor r11d,ecx
|
|
|
|
mov r10d,DWORD PTR[24+rsi]
|
|
|
|
add edx,r11d
|
|
|
|
rol edx,12
|
|
|
|
mov r11d,ebx
|
|
|
|
add edx,eax
|
|
|
|
xor r11d,eax
|
|
|
|
lea ecx,DWORD PTR[((-1473231341))+r10*1+rcx]
|
|
|
|
and r11d,edx
|
|
|
|
xor r11d,ebx
|
|
|
|
mov r10d,DWORD PTR[28+rsi]
|
|
|
|
add ecx,r11d
|
|
|
|
rol ecx,17
|
|
|
|
mov r11d,eax
|
|
|
|
add ecx,edx
|
|
|
|
xor r11d,edx
|
|
|
|
lea ebx,DWORD PTR[((-45705983))+r10*1+rbx]
|
|
|
|
and r11d,ecx
|
|
|
|
xor r11d,eax
|
|
|
|
mov r10d,DWORD PTR[32+rsi]
|
|
|
|
add ebx,r11d
|
|
|
|
rol ebx,22
|
|
|
|
mov r11d,edx
|
|
|
|
add ebx,ecx
|
|
|
|
xor r11d,ecx
|
|
|
|
lea eax,DWORD PTR[1770035416+r10*1+rax]
|
|
|
|
and r11d,ebx
|
|
|
|
xor r11d,edx
|
|
|
|
mov r10d,DWORD PTR[36+rsi]
|
|
|
|
add eax,r11d
|
|
|
|
rol eax,7
|
|
|
|
mov r11d,ecx
|
|
|
|
add eax,ebx
|
|
|
|
xor r11d,ebx
|
|
|
|
lea edx,DWORD PTR[((-1958414417))+r10*1+rdx]
|
|
|
|
and r11d,eax
|
|
|
|
xor r11d,ecx
|
|
|
|
mov r10d,DWORD PTR[40+rsi]
|
|
|
|
add edx,r11d
|
|
|
|
rol edx,12
|
|
|
|
mov r11d,ebx
|
|
|
|
add edx,eax
|
|
|
|
xor r11d,eax
|
|
|
|
lea ecx,DWORD PTR[((-42063))+r10*1+rcx]
|
|
|
|
and r11d,edx
|
|
|
|
xor r11d,ebx
|
|
|
|
mov r10d,DWORD PTR[44+rsi]
|
|
|
|
add ecx,r11d
|
|
|
|
rol ecx,17
|
|
|
|
mov r11d,eax
|
|
|
|
add ecx,edx
|
|
|
|
xor r11d,edx
|
|
|
|
lea ebx,DWORD PTR[((-1990404162))+r10*1+rbx]
|
|
|
|
and r11d,ecx
|
|
|
|
xor r11d,eax
|
|
|
|
mov r10d,DWORD PTR[48+rsi]
|
|
|
|
add ebx,r11d
|
|
|
|
rol ebx,22
|
|
|
|
mov r11d,edx
|
|
|
|
add ebx,ecx
|
|
|
|
xor r11d,ecx
|
|
|
|
lea eax,DWORD PTR[1804603682+r10*1+rax]
|
|
|
|
and r11d,ebx
|
|
|
|
xor r11d,edx
|
|
|
|
mov r10d,DWORD PTR[52+rsi]
|
|
|
|
add eax,r11d
|
|
|
|
rol eax,7
|
|
|
|
mov r11d,ecx
|
|
|
|
add eax,ebx
|
|
|
|
xor r11d,ebx
|
|
|
|
lea edx,DWORD PTR[((-40341101))+r10*1+rdx]
|
|
|
|
and r11d,eax
|
|
|
|
xor r11d,ecx
|
|
|
|
mov r10d,DWORD PTR[56+rsi]
|
|
|
|
add edx,r11d
|
|
|
|
rol edx,12
|
|
|
|
mov r11d,ebx
|
|
|
|
add edx,eax
|
|
|
|
xor r11d,eax
|
|
|
|
lea ecx,DWORD PTR[((-1502002290))+r10*1+rcx]
|
|
|
|
and r11d,edx
|
|
|
|
xor r11d,ebx
|
|
|
|
mov r10d,DWORD PTR[60+rsi]
|
|
|
|
add ecx,r11d
|
|
|
|
rol ecx,17
|
|
|
|
mov r11d,eax
|
|
|
|
add ecx,edx
|
|
|
|
xor r11d,edx
|
|
|
|
lea ebx,DWORD PTR[1236535329+r10*1+rbx]
|
|
|
|
and r11d,ecx
|
|
|
|
xor r11d,eax
|
|
|
|
mov r10d,DWORD PTR[rsi]
|
|
|
|
add ebx,r11d
|
|
|
|
rol ebx,22
|
|
|
|
mov r11d,edx
|
|
|
|
add ebx,ecx
|
|
|
|
mov r10d,DWORD PTR[4+rsi]
|
|
|
|
mov r11d,edx
|
|
|
|
mov r12d,edx
|
|
|
|
not r11d
|
|
|
|
lea eax,DWORD PTR[((-165796510))+r10*1+rax]
|
|
|
|
and r12d,ebx
|
|
|
|
and r11d,ecx
|
|
|
|
mov r10d,DWORD PTR[24+rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,ecx
|
|
|
|
add eax,r12d
|
|
|
|
mov r12d,ecx
|
|
|
|
rol eax,5
|
|
|
|
add eax,ebx
|
|
|
|
not r11d
|
|
|
|
lea edx,DWORD PTR[((-1069501632))+r10*1+rdx]
|
|
|
|
and r12d,eax
|
|
|
|
and r11d,ebx
|
|
|
|
mov r10d,DWORD PTR[44+rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,ebx
|
|
|
|
add edx,r12d
|
|
|
|
mov r12d,ebx
|
|
|
|
rol edx,9
|
|
|
|
add edx,eax
|
|
|
|
not r11d
|
|
|
|
lea ecx,DWORD PTR[643717713+r10*1+rcx]
|
|
|
|
and r12d,edx
|
|
|
|
and r11d,eax
|
|
|
|
mov r10d,DWORD PTR[rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,eax
|
|
|
|
add ecx,r12d
|
|
|
|
mov r12d,eax
|
|
|
|
rol ecx,14
|
|
|
|
add ecx,edx
|
|
|
|
not r11d
|
|
|
|
lea ebx,DWORD PTR[((-373897302))+r10*1+rbx]
|
|
|
|
and r12d,ecx
|
|
|
|
and r11d,edx
|
|
|
|
mov r10d,DWORD PTR[20+rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,edx
|
|
|
|
add ebx,r12d
|
|
|
|
mov r12d,edx
|
|
|
|
rol ebx,20
|
|
|
|
add ebx,ecx
|
|
|
|
not r11d
|
|
|
|
lea eax,DWORD PTR[((-701558691))+r10*1+rax]
|
|
|
|
and r12d,ebx
|
|
|
|
and r11d,ecx
|
|
|
|
mov r10d,DWORD PTR[40+rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,ecx
|
|
|
|
add eax,r12d
|
|
|
|
mov r12d,ecx
|
|
|
|
rol eax,5
|
|
|
|
add eax,ebx
|
|
|
|
not r11d
|
|
|
|
lea edx,DWORD PTR[38016083+r10*1+rdx]
|
|
|
|
and r12d,eax
|
|
|
|
and r11d,ebx
|
|
|
|
mov r10d,DWORD PTR[60+rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,ebx
|
|
|
|
add edx,r12d
|
|
|
|
mov r12d,ebx
|
|
|
|
rol edx,9
|
|
|
|
add edx,eax
|
|
|
|
not r11d
|
|
|
|
lea ecx,DWORD PTR[((-660478335))+r10*1+rcx]
|
|
|
|
and r12d,edx
|
|
|
|
and r11d,eax
|
|
|
|
mov r10d,DWORD PTR[16+rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,eax
|
|
|
|
add ecx,r12d
|
|
|
|
mov r12d,eax
|
|
|
|
rol ecx,14
|
|
|
|
add ecx,edx
|
|
|
|
not r11d
|
|
|
|
lea ebx,DWORD PTR[((-405537848))+r10*1+rbx]
|
|
|
|
and r12d,ecx
|
|
|
|
and r11d,edx
|
|
|
|
mov r10d,DWORD PTR[36+rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,edx
|
|
|
|
add ebx,r12d
|
|
|
|
mov r12d,edx
|
|
|
|
rol ebx,20
|
|
|
|
add ebx,ecx
|
|
|
|
not r11d
|
|
|
|
lea eax,DWORD PTR[568446438+r10*1+rax]
|
|
|
|
and r12d,ebx
|
|
|
|
and r11d,ecx
|
|
|
|
mov r10d,DWORD PTR[56+rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,ecx
|
|
|
|
add eax,r12d
|
|
|
|
mov r12d,ecx
|
|
|
|
rol eax,5
|
|
|
|
add eax,ebx
|
|
|
|
not r11d
|
|
|
|
lea edx,DWORD PTR[((-1019803690))+r10*1+rdx]
|
|
|
|
and r12d,eax
|
|
|
|
and r11d,ebx
|
|
|
|
mov r10d,DWORD PTR[12+rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,ebx
|
|
|
|
add edx,r12d
|
|
|
|
mov r12d,ebx
|
|
|
|
rol edx,9
|
|
|
|
add edx,eax
|
|
|
|
not r11d
|
|
|
|
lea ecx,DWORD PTR[((-187363961))+r10*1+rcx]
|
|
|
|
and r12d,edx
|
|
|
|
and r11d,eax
|
|
|
|
mov r10d,DWORD PTR[32+rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,eax
|
|
|
|
add ecx,r12d
|
|
|
|
mov r12d,eax
|
|
|
|
rol ecx,14
|
|
|
|
add ecx,edx
|
|
|
|
not r11d
|
|
|
|
lea ebx,DWORD PTR[1163531501+r10*1+rbx]
|
|
|
|
and r12d,ecx
|
|
|
|
and r11d,edx
|
|
|
|
mov r10d,DWORD PTR[52+rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,edx
|
|
|
|
add ebx,r12d
|
|
|
|
mov r12d,edx
|
|
|
|
rol ebx,20
|
|
|
|
add ebx,ecx
|
|
|
|
not r11d
|
|
|
|
lea eax,DWORD PTR[((-1444681467))+r10*1+rax]
|
|
|
|
and r12d,ebx
|
|
|
|
and r11d,ecx
|
|
|
|
mov r10d,DWORD PTR[8+rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,ecx
|
|
|
|
add eax,r12d
|
|
|
|
mov r12d,ecx
|
|
|
|
rol eax,5
|
|
|
|
add eax,ebx
|
|
|
|
not r11d
|
|
|
|
lea edx,DWORD PTR[((-51403784))+r10*1+rdx]
|
|
|
|
and r12d,eax
|
|
|
|
and r11d,ebx
|
|
|
|
mov r10d,DWORD PTR[28+rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,ebx
|
|
|
|
add edx,r12d
|
|
|
|
mov r12d,ebx
|
|
|
|
rol edx,9
|
|
|
|
add edx,eax
|
|
|
|
not r11d
|
|
|
|
lea ecx,DWORD PTR[1735328473+r10*1+rcx]
|
|
|
|
and r12d,edx
|
|
|
|
and r11d,eax
|
|
|
|
mov r10d,DWORD PTR[48+rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,eax
|
|
|
|
add ecx,r12d
|
|
|
|
mov r12d,eax
|
|
|
|
rol ecx,14
|
|
|
|
add ecx,edx
|
|
|
|
not r11d
|
|
|
|
lea ebx,DWORD PTR[((-1926607734))+r10*1+rbx]
|
|
|
|
and r12d,ecx
|
|
|
|
and r11d,edx
|
|
|
|
mov r10d,DWORD PTR[rsi]
|
|
|
|
or r12d,r11d
|
|
|
|
mov r11d,edx
|
|
|
|
add ebx,r12d
|
|
|
|
mov r12d,edx
|
|
|
|
rol ebx,20
|
|
|
|
add ebx,ecx
|
|
|
|
mov r10d,DWORD PTR[20+rsi]
|
|
|
|
mov r11d,ecx
|
|
|
|
lea eax,DWORD PTR[((-378558))+r10*1+rax]
|
|
|
|
mov r10d,DWORD PTR[32+rsi]
|
|
|
|
xor r11d,edx
|
|
|
|
xor r11d,ebx
|
|
|
|
add eax,r11d
|
|
|
|
rol eax,4
|
|
|
|
mov r11d,ebx
|
|
|
|
add eax,ebx
|
|
|
|
lea edx,DWORD PTR[((-2022574463))+r10*1+rdx]
|
|
|
|
mov r10d,DWORD PTR[44+rsi]
|
|
|
|
xor r11d,ecx
|
|
|
|
xor r11d,eax
|
|
|
|
add edx,r11d
|
|
|
|
rol edx,11
|
|
|
|
mov r11d,eax
|
|
|
|
add edx,eax
|
|
|
|
lea ecx,DWORD PTR[1839030562+r10*1+rcx]
|
|
|
|
mov r10d,DWORD PTR[56+rsi]
|
|
|
|
xor r11d,ebx
|
|
|
|
xor r11d,edx
|
|
|
|
add ecx,r11d
|
|
|
|
rol ecx,16
|
|
|
|
mov r11d,edx
|
|
|
|
add ecx,edx
|
|
|
|
lea ebx,DWORD PTR[((-35309556))+r10*1+rbx]
|
|
|
|
mov r10d,DWORD PTR[4+rsi]
|
|
|
|
xor r11d,eax
|
|
|
|
xor r11d,ecx
|
|
|
|
add ebx,r11d
|
|
|
|
rol ebx,23
|
|
|
|
mov r11d,ecx
|
|
|
|
add ebx,ecx
|
|
|
|
lea eax,DWORD PTR[((-1530992060))+r10*1+rax]
|
|
|
|
mov r10d,DWORD PTR[16+rsi]
|
|
|
|
xor r11d,edx
|
|
|
|
xor r11d,ebx
|
|
|
|
add eax,r11d
|
|
|
|
rol eax,4
|
|
|
|
mov r11d,ebx
|
|
|
|
add eax,ebx
|
|
|
|
lea edx,DWORD PTR[1272893353+r10*1+rdx]
|
|
|
|
mov r10d,DWORD PTR[28+rsi]
|
|
|
|
xor r11d,ecx
|
|
|
|
xor r11d,eax
|
|
|
|
add edx,r11d
|
|
|
|
rol edx,11
|
|
|
|
mov r11d,eax
|
|
|
|
add edx,eax
|
|
|
|
lea ecx,DWORD PTR[((-155497632))+r10*1+rcx]
|
|
|
|
mov r10d,DWORD PTR[40+rsi]
|
|
|
|
xor r11d,ebx
|
|
|
|
xor r11d,edx
|
|
|
|
add ecx,r11d
|
|
|
|
rol ecx,16
|
|
|
|
mov r11d,edx
|
|
|
|
add ecx,edx
|
|
|
|
lea ebx,DWORD PTR[((-1094730640))+r10*1+rbx]
|
|
|
|
mov r10d,DWORD PTR[52+rsi]
|
|
|
|
xor r11d,eax
|
|
|
|
xor r11d,ecx
|
|
|
|
add ebx,r11d
|
|
|
|
rol ebx,23
|
|
|
|
mov r11d,ecx
|
|
|
|
add ebx,ecx
|
|
|
|
lea eax,DWORD PTR[681279174+r10*1+rax]
|
|
|
|
mov r10d,DWORD PTR[rsi]
|
|
|
|
xor r11d,edx
|
|
|
|
xor r11d,ebx
|
|
|
|
add eax,r11d
|
|
|
|
rol eax,4
|
|
|
|
mov r11d,ebx
|
|
|
|
add eax,ebx
|
|
|
|
lea edx,DWORD PTR[((-358537222))+r10*1+rdx]
|
|
|
|
mov r10d,DWORD PTR[12+rsi]
|
|
|
|
xor r11d,ecx
|
|
|
|
xor r11d,eax
|
|
|
|
add edx,r11d
|
|
|
|
rol edx,11
|
|
|
|
mov r11d,eax
|
|
|
|
add edx,eax
|
|
|
|
lea ecx,DWORD PTR[((-722521979))+r10*1+rcx]
|
|
|
|
mov r10d,DWORD PTR[24+rsi]
|
|
|
|
xor r11d,ebx
|
|
|
|
xor r11d,edx
|
|
|
|
add ecx,r11d
|
|
|
|
rol ecx,16
|
|
|
|
mov r11d,edx
|
|
|
|
add ecx,edx
|
|
|
|
lea ebx,DWORD PTR[76029189+r10*1+rbx]
|
|
|
|
mov r10d,DWORD PTR[36+rsi]
|
|
|
|
xor r11d,eax
|
|
|
|
xor r11d,ecx
|
|
|
|
add ebx,r11d
|
|
|
|
rol ebx,23
|
|
|
|
mov r11d,ecx
|
|
|
|
add ebx,ecx
|
|
|
|
lea eax,DWORD PTR[((-640364487))+r10*1+rax]
|
|
|
|
mov r10d,DWORD PTR[48+rsi]
|
|
|
|
xor r11d,edx
|
|
|
|
xor r11d,ebx
|
|
|
|
add eax,r11d
|
|
|
|
rol eax,4
|
|
|
|
mov r11d,ebx
|
|
|
|
add eax,ebx
|
|
|
|
lea edx,DWORD PTR[((-421815835))+r10*1+rdx]
|
|
|
|
mov r10d,DWORD PTR[60+rsi]
|
|
|
|
xor r11d,ecx
|
|
|
|
xor r11d,eax
|
|
|
|
add edx,r11d
|
|
|
|
rol edx,11
|
|
|
|
mov r11d,eax
|
|
|
|
add edx,eax
|
|
|
|
lea ecx,DWORD PTR[530742520+r10*1+rcx]
|
|
|
|
mov r10d,DWORD PTR[8+rsi]
|
|
|
|
xor r11d,ebx
|
|
|
|
xor r11d,edx
|
|
|
|
add ecx,r11d
|
|
|
|
rol ecx,16
|
|
|
|
mov r11d,edx
|
|
|
|
add ecx,edx
|
|
|
|
lea ebx,DWORD PTR[((-995338651))+r10*1+rbx]
|
|
|
|
mov r10d,DWORD PTR[rsi]
|
|
|
|
xor r11d,eax
|
|
|
|
xor r11d,ecx
|
|
|
|
add ebx,r11d
|
|
|
|
rol ebx,23
|
|
|
|
mov r11d,ecx
|
|
|
|
add ebx,ecx
|
|
|
|
mov r10d,DWORD PTR[rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
xor r11d,edx
|
|
|
|
lea eax,DWORD PTR[((-198630844))+r10*1+rax]
|
|
|
|
or r11d,ebx
|
|
|
|
xor r11d,ecx
|
|
|
|
add eax,r11d
|
|
|
|
mov r10d,DWORD PTR[28+rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol eax,6
|
|
|
|
xor r11d,ecx
|
|
|
|
add eax,ebx
|
|
|
|
lea edx,DWORD PTR[1126891415+r10*1+rdx]
|
|
|
|
or r11d,eax
|
|
|
|
xor r11d,ebx
|
|
|
|
add edx,r11d
|
|
|
|
mov r10d,DWORD PTR[56+rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol edx,10
|
|
|
|
xor r11d,ebx
|
|
|
|
add edx,eax
|
|
|
|
lea ecx,DWORD PTR[((-1416354905))+r10*1+rcx]
|
|
|
|
or r11d,edx
|
|
|
|
xor r11d,eax
|
|
|
|
add ecx,r11d
|
|
|
|
mov r10d,DWORD PTR[20+rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol ecx,15
|
|
|
|
xor r11d,eax
|
|
|
|
add ecx,edx
|
|
|
|
lea ebx,DWORD PTR[((-57434055))+r10*1+rbx]
|
|
|
|
or r11d,ecx
|
|
|
|
xor r11d,edx
|
|
|
|
add ebx,r11d
|
|
|
|
mov r10d,DWORD PTR[48+rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol ebx,21
|
|
|
|
xor r11d,edx
|
|
|
|
add ebx,ecx
|
|
|
|
lea eax,DWORD PTR[1700485571+r10*1+rax]
|
|
|
|
or r11d,ebx
|
|
|
|
xor r11d,ecx
|
|
|
|
add eax,r11d
|
|
|
|
mov r10d,DWORD PTR[12+rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol eax,6
|
|
|
|
xor r11d,ecx
|
|
|
|
add eax,ebx
|
|
|
|
lea edx,DWORD PTR[((-1894986606))+r10*1+rdx]
|
|
|
|
or r11d,eax
|
|
|
|
xor r11d,ebx
|
|
|
|
add edx,r11d
|
|
|
|
mov r10d,DWORD PTR[40+rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol edx,10
|
|
|
|
xor r11d,ebx
|
|
|
|
add edx,eax
|
|
|
|
lea ecx,DWORD PTR[((-1051523))+r10*1+rcx]
|
|
|
|
or r11d,edx
|
|
|
|
xor r11d,eax
|
|
|
|
add ecx,r11d
|
|
|
|
mov r10d,DWORD PTR[4+rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol ecx,15
|
|
|
|
xor r11d,eax
|
|
|
|
add ecx,edx
|
|
|
|
lea ebx,DWORD PTR[((-2054922799))+r10*1+rbx]
|
|
|
|
or r11d,ecx
|
|
|
|
xor r11d,edx
|
|
|
|
add ebx,r11d
|
|
|
|
mov r10d,DWORD PTR[32+rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol ebx,21
|
|
|
|
xor r11d,edx
|
|
|
|
add ebx,ecx
|
|
|
|
lea eax,DWORD PTR[1873313359+r10*1+rax]
|
|
|
|
or r11d,ebx
|
|
|
|
xor r11d,ecx
|
|
|
|
add eax,r11d
|
|
|
|
mov r10d,DWORD PTR[60+rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol eax,6
|
|
|
|
xor r11d,ecx
|
|
|
|
add eax,ebx
|
|
|
|
lea edx,DWORD PTR[((-30611744))+r10*1+rdx]
|
|
|
|
or r11d,eax
|
|
|
|
xor r11d,ebx
|
|
|
|
add edx,r11d
|
|
|
|
mov r10d,DWORD PTR[24+rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol edx,10
|
|
|
|
xor r11d,ebx
|
|
|
|
add edx,eax
|
|
|
|
lea ecx,DWORD PTR[((-1560198380))+r10*1+rcx]
|
|
|
|
or r11d,edx
|
|
|
|
xor r11d,eax
|
|
|
|
add ecx,r11d
|
|
|
|
mov r10d,DWORD PTR[52+rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol ecx,15
|
|
|
|
xor r11d,eax
|
|
|
|
add ecx,edx
|
|
|
|
lea ebx,DWORD PTR[1309151649+r10*1+rbx]
|
|
|
|
or r11d,ecx
|
|
|
|
xor r11d,edx
|
|
|
|
add ebx,r11d
|
|
|
|
mov r10d,DWORD PTR[16+rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol ebx,21
|
|
|
|
xor r11d,edx
|
|
|
|
add ebx,ecx
|
|
|
|
lea eax,DWORD PTR[((-145523070))+r10*1+rax]
|
|
|
|
or r11d,ebx
|
|
|
|
xor r11d,ecx
|
|
|
|
add eax,r11d
|
|
|
|
mov r10d,DWORD PTR[44+rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol eax,6
|
|
|
|
xor r11d,ecx
|
|
|
|
add eax,ebx
|
|
|
|
lea edx,DWORD PTR[((-1120210379))+r10*1+rdx]
|
|
|
|
or r11d,eax
|
|
|
|
xor r11d,ebx
|
|
|
|
add edx,r11d
|
|
|
|
mov r10d,DWORD PTR[8+rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol edx,10
|
|
|
|
xor r11d,ebx
|
|
|
|
add edx,eax
|
|
|
|
lea ecx,DWORD PTR[718787259+r10*1+rcx]
|
|
|
|
or r11d,edx
|
|
|
|
xor r11d,eax
|
|
|
|
add ecx,r11d
|
|
|
|
mov r10d,DWORD PTR[36+rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol ecx,15
|
|
|
|
xor r11d,eax
|
|
|
|
add ecx,edx
|
|
|
|
lea ebx,DWORD PTR[((-343485551))+r10*1+rbx]
|
|
|
|
or r11d,ecx
|
|
|
|
xor r11d,edx
|
|
|
|
add ebx,r11d
|
|
|
|
mov r10d,DWORD PTR[rsi]
|
|
|
|
mov r11d,0ffffffffh
|
|
|
|
rol ebx,21
|
|
|
|
xor r11d,edx
|
|
|
|
add ebx,ecx
|
|
|
|
|
|
|
|
add eax,r8d
|
|
|
|
add ebx,r9d
|
|
|
|
add ecx,r14d
|
|
|
|
add edx,r15d
|
|
|
|
|
|
|
|
|
|
|
|
add rsi,64
|
|
|
|
cmp rsi,rdi
|
|
|
|
jb $L$loop
|
|
|
|
|
|
|
|
|
|
|
|
$L$end::
|
|
|
|
mov DWORD PTR[rbp],eax
|
|
|
|
mov DWORD PTR[4+rbp],ebx
|
|
|
|
mov DWORD PTR[8+rbp],ecx
|
|
|
|
mov DWORD PTR[12+rbp],edx
|
|
|
|
|
|
|
|
mov r15,QWORD PTR[rsp]
|
|
|
|
mov r14,QWORD PTR[8+rsp]
|
|
|
|
mov r12,QWORD PTR[16+rsp]
|
|
|
|
mov rbx,QWORD PTR[24+rsp]
|
|
|
|
mov rbp,QWORD PTR[32+rsp]
|
|
|
|
add rsp,40
|
|
|
|
$L$epilogue::
|
|
|
|
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
|
|
|
|
mov rsi,QWORD PTR[16+rsp]
|
|
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
$L$SEH_end_md5_block_asm_data_order::
|
|
|
|
md5_block_asm_data_order ENDP
|
|
|
|
|
|
|
|
.text$ ENDS
|
|
|
|
END
|
|
|
|
|