You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
689 lines
10 KiB
689 lines
10 KiB
; This file is generated from a similarly-named Perl script in the BoringSSL |
|
; source tree. Do not edit by hand. |
|
|
|
%ifdef BORINGSSL_PREFIX |
|
%include "boringssl_prefix_symbols_nasm.inc" |
|
%endif |
|
%ifidn __OUTPUT_FORMAT__,obj |
|
section code use32 class=code align=64 |
|
%elifidn __OUTPUT_FORMAT__,win32 |
|
$@feat.00 equ 1 |
|
section .text code align=64 |
|
%else |
|
section .text code |
|
%endif |
|
global _md5_block_asm_data_order |
|
align 16 |
|
_md5_block_asm_data_order: |
|
L$_md5_block_asm_data_order_begin: |
|
push esi |
|
push edi |
|
mov edi,DWORD [12+esp] |
|
mov esi,DWORD [16+esp] |
|
mov ecx,DWORD [20+esp] |
|
push ebp |
|
shl ecx,6 |
|
push ebx |
|
add ecx,esi |
|
sub ecx,64 |
|
mov eax,DWORD [edi] |
|
push ecx |
|
mov ebx,DWORD [4+edi] |
|
mov ecx,DWORD [8+edi] |
|
mov edx,DWORD [12+edi] |
|
L$000start: |
|
; |
|
; R0 section |
|
mov edi,ecx |
|
mov ebp,DWORD [esi] |
|
; R0 0 |
|
xor edi,edx |
|
and edi,ebx |
|
lea eax,[3614090360+ebp*1+eax] |
|
xor edi,edx |
|
add eax,edi |
|
mov edi,ebx |
|
rol eax,7 |
|
mov ebp,DWORD [4+esi] |
|
add eax,ebx |
|
; R0 1 |
|
xor edi,ecx |
|
and edi,eax |
|
lea edx,[3905402710+ebp*1+edx] |
|
xor edi,ecx |
|
add edx,edi |
|
mov edi,eax |
|
rol edx,12 |
|
mov ebp,DWORD [8+esi] |
|
add edx,eax |
|
; R0 2 |
|
xor edi,ebx |
|
and edi,edx |
|
lea ecx,[606105819+ebp*1+ecx] |
|
xor edi,ebx |
|
add ecx,edi |
|
mov edi,edx |
|
rol ecx,17 |
|
mov ebp,DWORD [12+esi] |
|
add ecx,edx |
|
; R0 3 |
|
xor edi,eax |
|
and edi,ecx |
|
lea ebx,[3250441966+ebp*1+ebx] |
|
xor edi,eax |
|
add ebx,edi |
|
mov edi,ecx |
|
rol ebx,22 |
|
mov ebp,DWORD [16+esi] |
|
add ebx,ecx |
|
; R0 4 |
|
xor edi,edx |
|
and edi,ebx |
|
lea eax,[4118548399+ebp*1+eax] |
|
xor edi,edx |
|
add eax,edi |
|
mov edi,ebx |
|
rol eax,7 |
|
mov ebp,DWORD [20+esi] |
|
add eax,ebx |
|
; R0 5 |
|
xor edi,ecx |
|
and edi,eax |
|
lea edx,[1200080426+ebp*1+edx] |
|
xor edi,ecx |
|
add edx,edi |
|
mov edi,eax |
|
rol edx,12 |
|
mov ebp,DWORD [24+esi] |
|
add edx,eax |
|
; R0 6 |
|
xor edi,ebx |
|
and edi,edx |
|
lea ecx,[2821735955+ebp*1+ecx] |
|
xor edi,ebx |
|
add ecx,edi |
|
mov edi,edx |
|
rol ecx,17 |
|
mov ebp,DWORD [28+esi] |
|
add ecx,edx |
|
; R0 7 |
|
xor edi,eax |
|
and edi,ecx |
|
lea ebx,[4249261313+ebp*1+ebx] |
|
xor edi,eax |
|
add ebx,edi |
|
mov edi,ecx |
|
rol ebx,22 |
|
mov ebp,DWORD [32+esi] |
|
add ebx,ecx |
|
; R0 8 |
|
xor edi,edx |
|
and edi,ebx |
|
lea eax,[1770035416+ebp*1+eax] |
|
xor edi,edx |
|
add eax,edi |
|
mov edi,ebx |
|
rol eax,7 |
|
mov ebp,DWORD [36+esi] |
|
add eax,ebx |
|
; R0 9 |
|
xor edi,ecx |
|
and edi,eax |
|
lea edx,[2336552879+ebp*1+edx] |
|
xor edi,ecx |
|
add edx,edi |
|
mov edi,eax |
|
rol edx,12 |
|
mov ebp,DWORD [40+esi] |
|
add edx,eax |
|
; R0 10 |
|
xor edi,ebx |
|
and edi,edx |
|
lea ecx,[4294925233+ebp*1+ecx] |
|
xor edi,ebx |
|
add ecx,edi |
|
mov edi,edx |
|
rol ecx,17 |
|
mov ebp,DWORD [44+esi] |
|
add ecx,edx |
|
; R0 11 |
|
xor edi,eax |
|
and edi,ecx |
|
lea ebx,[2304563134+ebp*1+ebx] |
|
xor edi,eax |
|
add ebx,edi |
|
mov edi,ecx |
|
rol ebx,22 |
|
mov ebp,DWORD [48+esi] |
|
add ebx,ecx |
|
; R0 12 |
|
xor edi,edx |
|
and edi,ebx |
|
lea eax,[1804603682+ebp*1+eax] |
|
xor edi,edx |
|
add eax,edi |
|
mov edi,ebx |
|
rol eax,7 |
|
mov ebp,DWORD [52+esi] |
|
add eax,ebx |
|
; R0 13 |
|
xor edi,ecx |
|
and edi,eax |
|
lea edx,[4254626195+ebp*1+edx] |
|
xor edi,ecx |
|
add edx,edi |
|
mov edi,eax |
|
rol edx,12 |
|
mov ebp,DWORD [56+esi] |
|
add edx,eax |
|
; R0 14 |
|
xor edi,ebx |
|
and edi,edx |
|
lea ecx,[2792965006+ebp*1+ecx] |
|
xor edi,ebx |
|
add ecx,edi |
|
mov edi,edx |
|
rol ecx,17 |
|
mov ebp,DWORD [60+esi] |
|
add ecx,edx |
|
; R0 15 |
|
xor edi,eax |
|
and edi,ecx |
|
lea ebx,[1236535329+ebp*1+ebx] |
|
xor edi,eax |
|
add ebx,edi |
|
mov edi,ecx |
|
rol ebx,22 |
|
mov ebp,DWORD [4+esi] |
|
add ebx,ecx |
|
; |
|
; R1 section |
|
; R1 16 |
|
lea eax,[4129170786+ebp*1+eax] |
|
xor edi,ebx |
|
and edi,edx |
|
mov ebp,DWORD [24+esi] |
|
xor edi,ecx |
|
add eax,edi |
|
mov edi,ebx |
|
rol eax,5 |
|
add eax,ebx |
|
; R1 17 |
|
lea edx,[3225465664+ebp*1+edx] |
|
xor edi,eax |
|
and edi,ecx |
|
mov ebp,DWORD [44+esi] |
|
xor edi,ebx |
|
add edx,edi |
|
mov edi,eax |
|
rol edx,9 |
|
add edx,eax |
|
; R1 18 |
|
lea ecx,[643717713+ebp*1+ecx] |
|
xor edi,edx |
|
and edi,ebx |
|
mov ebp,DWORD [esi] |
|
xor edi,eax |
|
add ecx,edi |
|
mov edi,edx |
|
rol ecx,14 |
|
add ecx,edx |
|
; R1 19 |
|
lea ebx,[3921069994+ebp*1+ebx] |
|
xor edi,ecx |
|
and edi,eax |
|
mov ebp,DWORD [20+esi] |
|
xor edi,edx |
|
add ebx,edi |
|
mov edi,ecx |
|
rol ebx,20 |
|
add ebx,ecx |
|
; R1 20 |
|
lea eax,[3593408605+ebp*1+eax] |
|
xor edi,ebx |
|
and edi,edx |
|
mov ebp,DWORD [40+esi] |
|
xor edi,ecx |
|
add eax,edi |
|
mov edi,ebx |
|
rol eax,5 |
|
add eax,ebx |
|
; R1 21 |
|
lea edx,[38016083+ebp*1+edx] |
|
xor edi,eax |
|
and edi,ecx |
|
mov ebp,DWORD [60+esi] |
|
xor edi,ebx |
|
add edx,edi |
|
mov edi,eax |
|
rol edx,9 |
|
add edx,eax |
|
; R1 22 |
|
lea ecx,[3634488961+ebp*1+ecx] |
|
xor edi,edx |
|
and edi,ebx |
|
mov ebp,DWORD [16+esi] |
|
xor edi,eax |
|
add ecx,edi |
|
mov edi,edx |
|
rol ecx,14 |
|
add ecx,edx |
|
; R1 23 |
|
lea ebx,[3889429448+ebp*1+ebx] |
|
xor edi,ecx |
|
and edi,eax |
|
mov ebp,DWORD [36+esi] |
|
xor edi,edx |
|
add ebx,edi |
|
mov edi,ecx |
|
rol ebx,20 |
|
add ebx,ecx |
|
; R1 24 |
|
lea eax,[568446438+ebp*1+eax] |
|
xor edi,ebx |
|
and edi,edx |
|
mov ebp,DWORD [56+esi] |
|
xor edi,ecx |
|
add eax,edi |
|
mov edi,ebx |
|
rol eax,5 |
|
add eax,ebx |
|
; R1 25 |
|
lea edx,[3275163606+ebp*1+edx] |
|
xor edi,eax |
|
and edi,ecx |
|
mov ebp,DWORD [12+esi] |
|
xor edi,ebx |
|
add edx,edi |
|
mov edi,eax |
|
rol edx,9 |
|
add edx,eax |
|
; R1 26 |
|
lea ecx,[4107603335+ebp*1+ecx] |
|
xor edi,edx |
|
and edi,ebx |
|
mov ebp,DWORD [32+esi] |
|
xor edi,eax |
|
add ecx,edi |
|
mov edi,edx |
|
rol ecx,14 |
|
add ecx,edx |
|
; R1 27 |
|
lea ebx,[1163531501+ebp*1+ebx] |
|
xor edi,ecx |
|
and edi,eax |
|
mov ebp,DWORD [52+esi] |
|
xor edi,edx |
|
add ebx,edi |
|
mov edi,ecx |
|
rol ebx,20 |
|
add ebx,ecx |
|
; R1 28 |
|
lea eax,[2850285829+ebp*1+eax] |
|
xor edi,ebx |
|
and edi,edx |
|
mov ebp,DWORD [8+esi] |
|
xor edi,ecx |
|
add eax,edi |
|
mov edi,ebx |
|
rol eax,5 |
|
add eax,ebx |
|
; R1 29 |
|
lea edx,[4243563512+ebp*1+edx] |
|
xor edi,eax |
|
and edi,ecx |
|
mov ebp,DWORD [28+esi] |
|
xor edi,ebx |
|
add edx,edi |
|
mov edi,eax |
|
rol edx,9 |
|
add edx,eax |
|
; R1 30 |
|
lea ecx,[1735328473+ebp*1+ecx] |
|
xor edi,edx |
|
and edi,ebx |
|
mov ebp,DWORD [48+esi] |
|
xor edi,eax |
|
add ecx,edi |
|
mov edi,edx |
|
rol ecx,14 |
|
add ecx,edx |
|
; R1 31 |
|
lea ebx,[2368359562+ebp*1+ebx] |
|
xor edi,ecx |
|
and edi,eax |
|
mov ebp,DWORD [20+esi] |
|
xor edi,edx |
|
add ebx,edi |
|
mov edi,ecx |
|
rol ebx,20 |
|
add ebx,ecx |
|
; |
|
; R2 section |
|
; R2 32 |
|
xor edi,edx |
|
xor edi,ebx |
|
lea eax,[4294588738+ebp*1+eax] |
|
add eax,edi |
|
rol eax,4 |
|
mov ebp,DWORD [32+esi] |
|
mov edi,ebx |
|
; R2 33 |
|
lea edx,[2272392833+ebp*1+edx] |
|
add eax,ebx |
|
xor edi,ecx |
|
xor edi,eax |
|
mov ebp,DWORD [44+esi] |
|
add edx,edi |
|
mov edi,eax |
|
rol edx,11 |
|
add edx,eax |
|
; R2 34 |
|
xor edi,ebx |
|
xor edi,edx |
|
lea ecx,[1839030562+ebp*1+ecx] |
|
add ecx,edi |
|
rol ecx,16 |
|
mov ebp,DWORD [56+esi] |
|
mov edi,edx |
|
; R2 35 |
|
lea ebx,[4259657740+ebp*1+ebx] |
|
add ecx,edx |
|
xor edi,eax |
|
xor edi,ecx |
|
mov ebp,DWORD [4+esi] |
|
add ebx,edi |
|
mov edi,ecx |
|
rol ebx,23 |
|
add ebx,ecx |
|
; R2 36 |
|
xor edi,edx |
|
xor edi,ebx |
|
lea eax,[2763975236+ebp*1+eax] |
|
add eax,edi |
|
rol eax,4 |
|
mov ebp,DWORD [16+esi] |
|
mov edi,ebx |
|
; R2 37 |
|
lea edx,[1272893353+ebp*1+edx] |
|
add eax,ebx |
|
xor edi,ecx |
|
xor edi,eax |
|
mov ebp,DWORD [28+esi] |
|
add edx,edi |
|
mov edi,eax |
|
rol edx,11 |
|
add edx,eax |
|
; R2 38 |
|
xor edi,ebx |
|
xor edi,edx |
|
lea ecx,[4139469664+ebp*1+ecx] |
|
add ecx,edi |
|
rol ecx,16 |
|
mov ebp,DWORD [40+esi] |
|
mov edi,edx |
|
; R2 39 |
|
lea ebx,[3200236656+ebp*1+ebx] |
|
add ecx,edx |
|
xor edi,eax |
|
xor edi,ecx |
|
mov ebp,DWORD [52+esi] |
|
add ebx,edi |
|
mov edi,ecx |
|
rol ebx,23 |
|
add ebx,ecx |
|
; R2 40 |
|
xor edi,edx |
|
xor edi,ebx |
|
lea eax,[681279174+ebp*1+eax] |
|
add eax,edi |
|
rol eax,4 |
|
mov ebp,DWORD [esi] |
|
mov edi,ebx |
|
; R2 41 |
|
lea edx,[3936430074+ebp*1+edx] |
|
add eax,ebx |
|
xor edi,ecx |
|
xor edi,eax |
|
mov ebp,DWORD [12+esi] |
|
add edx,edi |
|
mov edi,eax |
|
rol edx,11 |
|
add edx,eax |
|
; R2 42 |
|
xor edi,ebx |
|
xor edi,edx |
|
lea ecx,[3572445317+ebp*1+ecx] |
|
add ecx,edi |
|
rol ecx,16 |
|
mov ebp,DWORD [24+esi] |
|
mov edi,edx |
|
; R2 43 |
|
lea ebx,[76029189+ebp*1+ebx] |
|
add ecx,edx |
|
xor edi,eax |
|
xor edi,ecx |
|
mov ebp,DWORD [36+esi] |
|
add ebx,edi |
|
mov edi,ecx |
|
rol ebx,23 |
|
add ebx,ecx |
|
; R2 44 |
|
xor edi,edx |
|
xor edi,ebx |
|
lea eax,[3654602809+ebp*1+eax] |
|
add eax,edi |
|
rol eax,4 |
|
mov ebp,DWORD [48+esi] |
|
mov edi,ebx |
|
; R2 45 |
|
lea edx,[3873151461+ebp*1+edx] |
|
add eax,ebx |
|
xor edi,ecx |
|
xor edi,eax |
|
mov ebp,DWORD [60+esi] |
|
add edx,edi |
|
mov edi,eax |
|
rol edx,11 |
|
add edx,eax |
|
; R2 46 |
|
xor edi,ebx |
|
xor edi,edx |
|
lea ecx,[530742520+ebp*1+ecx] |
|
add ecx,edi |
|
rol ecx,16 |
|
mov ebp,DWORD [8+esi] |
|
mov edi,edx |
|
; R2 47 |
|
lea ebx,[3299628645+ebp*1+ebx] |
|
add ecx,edx |
|
xor edi,eax |
|
xor edi,ecx |
|
mov ebp,DWORD [esi] |
|
add ebx,edi |
|
mov edi,-1 |
|
rol ebx,23 |
|
add ebx,ecx |
|
; |
|
; R3 section |
|
; R3 48 |
|
xor edi,edx |
|
or edi,ebx |
|
lea eax,[4096336452+ebp*1+eax] |
|
xor edi,ecx |
|
mov ebp,DWORD [28+esi] |
|
add eax,edi |
|
mov edi,-1 |
|
rol eax,6 |
|
xor edi,ecx |
|
add eax,ebx |
|
; R3 49 |
|
or edi,eax |
|
lea edx,[1126891415+ebp*1+edx] |
|
xor edi,ebx |
|
mov ebp,DWORD [56+esi] |
|
add edx,edi |
|
mov edi,-1 |
|
rol edx,10 |
|
xor edi,ebx |
|
add edx,eax |
|
; R3 50 |
|
or edi,edx |
|
lea ecx,[2878612391+ebp*1+ecx] |
|
xor edi,eax |
|
mov ebp,DWORD [20+esi] |
|
add ecx,edi |
|
mov edi,-1 |
|
rol ecx,15 |
|
xor edi,eax |
|
add ecx,edx |
|
; R3 51 |
|
or edi,ecx |
|
lea ebx,[4237533241+ebp*1+ebx] |
|
xor edi,edx |
|
mov ebp,DWORD [48+esi] |
|
add ebx,edi |
|
mov edi,-1 |
|
rol ebx,21 |
|
xor edi,edx |
|
add ebx,ecx |
|
; R3 52 |
|
or edi,ebx |
|
lea eax,[1700485571+ebp*1+eax] |
|
xor edi,ecx |
|
mov ebp,DWORD [12+esi] |
|
add eax,edi |
|
mov edi,-1 |
|
rol eax,6 |
|
xor edi,ecx |
|
add eax,ebx |
|
; R3 53 |
|
or edi,eax |
|
lea edx,[2399980690+ebp*1+edx] |
|
xor edi,ebx |
|
mov ebp,DWORD [40+esi] |
|
add edx,edi |
|
mov edi,-1 |
|
rol edx,10 |
|
xor edi,ebx |
|
add edx,eax |
|
; R3 54 |
|
or edi,edx |
|
lea ecx,[4293915773+ebp*1+ecx] |
|
xor edi,eax |
|
mov ebp,DWORD [4+esi] |
|
add ecx,edi |
|
mov edi,-1 |
|
rol ecx,15 |
|
xor edi,eax |
|
add ecx,edx |
|
; R3 55 |
|
or edi,ecx |
|
lea ebx,[2240044497+ebp*1+ebx] |
|
xor edi,edx |
|
mov ebp,DWORD [32+esi] |
|
add ebx,edi |
|
mov edi,-1 |
|
rol ebx,21 |
|
xor edi,edx |
|
add ebx,ecx |
|
; R3 56 |
|
or edi,ebx |
|
lea eax,[1873313359+ebp*1+eax] |
|
xor edi,ecx |
|
mov ebp,DWORD [60+esi] |
|
add eax,edi |
|
mov edi,-1 |
|
rol eax,6 |
|
xor edi,ecx |
|
add eax,ebx |
|
; R3 57 |
|
or edi,eax |
|
lea edx,[4264355552+ebp*1+edx] |
|
xor edi,ebx |
|
mov ebp,DWORD [24+esi] |
|
add edx,edi |
|
mov edi,-1 |
|
rol edx,10 |
|
xor edi,ebx |
|
add edx,eax |
|
; R3 58 |
|
or edi,edx |
|
lea ecx,[2734768916+ebp*1+ecx] |
|
xor edi,eax |
|
mov ebp,DWORD [52+esi] |
|
add ecx,edi |
|
mov edi,-1 |
|
rol ecx,15 |
|
xor edi,eax |
|
add ecx,edx |
|
; R3 59 |
|
or edi,ecx |
|
lea ebx,[1309151649+ebp*1+ebx] |
|
xor edi,edx |
|
mov ebp,DWORD [16+esi] |
|
add ebx,edi |
|
mov edi,-1 |
|
rol ebx,21 |
|
xor edi,edx |
|
add ebx,ecx |
|
; R3 60 |
|
or edi,ebx |
|
lea eax,[4149444226+ebp*1+eax] |
|
xor edi,ecx |
|
mov ebp,DWORD [44+esi] |
|
add eax,edi |
|
mov edi,-1 |
|
rol eax,6 |
|
xor edi,ecx |
|
add eax,ebx |
|
; R3 61 |
|
or edi,eax |
|
lea edx,[3174756917+ebp*1+edx] |
|
xor edi,ebx |
|
mov ebp,DWORD [8+esi] |
|
add edx,edi |
|
mov edi,-1 |
|
rol edx,10 |
|
xor edi,ebx |
|
add edx,eax |
|
; R3 62 |
|
or edi,edx |
|
lea ecx,[718787259+ebp*1+ecx] |
|
xor edi,eax |
|
mov ebp,DWORD [36+esi] |
|
add ecx,edi |
|
mov edi,-1 |
|
rol ecx,15 |
|
xor edi,eax |
|
add ecx,edx |
|
; R3 63 |
|
or edi,ecx |
|
lea ebx,[3951481745+ebp*1+ebx] |
|
xor edi,edx |
|
mov ebp,DWORD [24+esp] |
|
add ebx,edi |
|
add esi,64 |
|
rol ebx,21 |
|
mov edi,DWORD [ebp] |
|
add ebx,ecx |
|
add eax,edi |
|
mov edi,DWORD [4+ebp] |
|
add ebx,edi |
|
mov edi,DWORD [8+ebp] |
|
add ecx,edi |
|
mov edi,DWORD [12+ebp] |
|
add edx,edi |
|
mov DWORD [ebp],eax |
|
mov DWORD [4+ebp],ebx |
|
mov edi,DWORD [esp] |
|
mov DWORD [8+ebp],ecx |
|
mov DWORD [12+ebp],edx |
|
cmp edi,esi |
|
jae NEAR L$000start |
|
pop eax |
|
pop ebx |
|
pop ebp |
|
pop edi |
|
pop esi |
|
ret
|
|
|