Update md5 assembly source for Win32.

This commit is contained in:
Dr. Stephen Henson 1999-05-26 00:39:20 +00:00
parent 288d2fb959
commit f9073fce9b

View file

@ -8,15 +8,16 @@
.386
.model FLAT
_TEXT SEGMENT
PUBLIC _md5_block_x86
PUBLIC _md5_block_asm_host_order
_md5_block_x86 PROC NEAR
_md5_block_asm_host_order PROC NEAR
push esi
push edi
mov edi, DWORD PTR 12[esp]
mov esi, DWORD PTR 16[esp]
mov ecx, DWORD PTR 20[esp]
push ebp
shl ecx, 6
push ebx
add ecx, esi
sub ecx, 64
@ -34,161 +35,161 @@ L000start:
xor edi, edx
and edi, ebx
lea eax, DWORD PTR 3614090360[ebp*1+eax]
mov ebp, DWORD PTR 4[esi]
xor edi, edx
add eax, edi
mov edi, ebx
rol eax, 7
mov ebp, DWORD PTR 4[esi]
add eax, ebx
; R0 1
xor edi, ecx
and edi, eax
lea edx, DWORD PTR 3905402710[ebp*1+edx]
mov ebp, DWORD PTR 8[esi]
xor edi, ecx
add edx, edi
mov edi, eax
rol edx, 12
mov ebp, DWORD PTR 8[esi]
add edx, eax
; R0 2
xor edi, ebx
and edi, edx
lea ecx, DWORD PTR 606105819[ebp*1+ecx]
mov ebp, DWORD PTR 12[esi]
xor edi, ebx
add ecx, edi
mov edi, edx
rol ecx, 17
mov ebp, DWORD PTR 12[esi]
add ecx, edx
; R0 3
xor edi, eax
and edi, ecx
lea ebx, DWORD PTR 3250441966[ebp*1+ebx]
mov ebp, DWORD PTR 16[esi]
xor edi, eax
add ebx, edi
mov edi, ecx
rol ebx, 22
mov ebp, DWORD PTR 16[esi]
add ebx, ecx
; R0 4
xor edi, edx
and edi, ebx
lea eax, DWORD PTR 4118548399[ebp*1+eax]
mov ebp, DWORD PTR 20[esi]
xor edi, edx
add eax, edi
mov edi, ebx
rol eax, 7
mov ebp, DWORD PTR 20[esi]
add eax, ebx
; R0 5
xor edi, ecx
and edi, eax
lea edx, DWORD PTR 1200080426[ebp*1+edx]
mov ebp, DWORD PTR 24[esi]
xor edi, ecx
add edx, edi
mov edi, eax
rol edx, 12
mov ebp, DWORD PTR 24[esi]
add edx, eax
; R0 6
xor edi, ebx
and edi, edx
lea ecx, DWORD PTR 2821735955[ebp*1+ecx]
mov ebp, DWORD PTR 28[esi]
xor edi, ebx
add ecx, edi
mov edi, edx
rol ecx, 17
mov ebp, DWORD PTR 28[esi]
add ecx, edx
; R0 7
xor edi, eax
and edi, ecx
lea ebx, DWORD PTR 4249261313[ebp*1+ebx]
mov ebp, DWORD PTR 32[esi]
xor edi, eax
add ebx, edi
mov edi, ecx
rol ebx, 22
mov ebp, DWORD PTR 32[esi]
add ebx, ecx
; R0 8
xor edi, edx
and edi, ebx
lea eax, DWORD PTR 1770035416[ebp*1+eax]
mov ebp, DWORD PTR 36[esi]
xor edi, edx
add eax, edi
mov edi, ebx
rol eax, 7
mov ebp, DWORD PTR 36[esi]
add eax, ebx
; R0 9
xor edi, ecx
and edi, eax
lea edx, DWORD PTR 2336552879[ebp*1+edx]
mov ebp, DWORD PTR 40[esi]
xor edi, ecx
add edx, edi
mov edi, eax
rol edx, 12
mov ebp, DWORD PTR 40[esi]
add edx, eax
; R0 10
xor edi, ebx
and edi, edx
lea ecx, DWORD PTR 4294925233[ebp*1+ecx]
mov ebp, DWORD PTR 44[esi]
xor edi, ebx
add ecx, edi
mov edi, edx
rol ecx, 17
mov ebp, DWORD PTR 44[esi]
add ecx, edx
; R0 11
xor edi, eax
and edi, ecx
lea ebx, DWORD PTR 2304563134[ebp*1+ebx]
mov ebp, DWORD PTR 48[esi]
xor edi, eax
add ebx, edi
mov edi, ecx
rol ebx, 22
mov ebp, DWORD PTR 48[esi]
add ebx, ecx
; R0 12
xor edi, edx
and edi, ebx
lea eax, DWORD PTR 1804603682[ebp*1+eax]
mov ebp, DWORD PTR 52[esi]
xor edi, edx
add eax, edi
mov edi, ebx
rol eax, 7
mov ebp, DWORD PTR 52[esi]
add eax, ebx
; R0 13
xor edi, ecx
and edi, eax
lea edx, DWORD PTR 4254626195[ebp*1+edx]
mov ebp, DWORD PTR 56[esi]
xor edi, ecx
add edx, edi
mov edi, eax
rol edx, 12
mov ebp, DWORD PTR 56[esi]
add edx, eax
; R0 14
xor edi, ebx
and edi, edx
lea ecx, DWORD PTR 2792965006[ebp*1+ecx]
mov ebp, DWORD PTR 60[esi]
xor edi, ebx
add ecx, edi
mov edi, edx
rol ecx, 17
mov ebp, DWORD PTR 60[esi]
add ecx, edx
; R0 15
xor edi, eax
and edi, ecx
lea ebx, DWORD PTR 1236535329[ebp*1+ebx]
mov ebp, DWORD PTR 4[esi]
xor edi, eax
add ebx, edi
mov edi, ecx
rol ebx, 22
mov ebp, DWORD PTR 4[esi]
add ebx, ecx
;
; R1 section
@ -359,8 +360,8 @@ L000start:
xor edi, ebx
lea eax, DWORD PTR 4294588738[ebp*1+eax]
add eax, edi
mov ebp, DWORD PTR 32[esi]
rol eax, 4
mov ebp, DWORD PTR 32[esi]
mov edi, ebx
; R2 33
lea edx, DWORD PTR 2272392833[ebp*1+edx]
@ -377,8 +378,8 @@ L000start:
xor edi, edx
lea ecx, DWORD PTR 1839030562[ebp*1+ecx]
add ecx, edi
mov ebp, DWORD PTR 56[esi]
rol ecx, 16
mov ebp, DWORD PTR 56[esi]
mov edi, edx
; R2 35
lea ebx, DWORD PTR 4259657740[ebp*1+ebx]
@ -395,8 +396,8 @@ L000start:
xor edi, ebx
lea eax, DWORD PTR 2763975236[ebp*1+eax]
add eax, edi
mov ebp, DWORD PTR 16[esi]
rol eax, 4
mov ebp, DWORD PTR 16[esi]
mov edi, ebx
; R2 37
lea edx, DWORD PTR 1272893353[ebp*1+edx]
@ -413,8 +414,8 @@ L000start:
xor edi, edx
lea ecx, DWORD PTR 4139469664[ebp*1+ecx]
add ecx, edi
mov ebp, DWORD PTR 40[esi]
rol ecx, 16
mov ebp, DWORD PTR 40[esi]
mov edi, edx
; R2 39
lea ebx, DWORD PTR 3200236656[ebp*1+ebx]
@ -431,8 +432,8 @@ L000start:
xor edi, ebx
lea eax, DWORD PTR 681279174[ebp*1+eax]
add eax, edi
mov ebp, DWORD PTR [esi]
rol eax, 4
mov ebp, DWORD PTR [esi]
mov edi, ebx
; R2 41
lea edx, DWORD PTR 3936430074[ebp*1+edx]
@ -449,8 +450,8 @@ L000start:
xor edi, edx
lea ecx, DWORD PTR 3572445317[ebp*1+ecx]
add ecx, edi
mov ebp, DWORD PTR 24[esi]
rol ecx, 16
mov ebp, DWORD PTR 24[esi]
mov edi, edx
; R2 43
lea ebx, DWORD PTR 76029189[ebp*1+ebx]
@ -467,8 +468,8 @@ L000start:
xor edi, ebx
lea eax, DWORD PTR 3654602809[ebp*1+eax]
add eax, edi
mov ebp, DWORD PTR 48[esi]
rol eax, 4
mov ebp, DWORD PTR 48[esi]
mov edi, ebx
; R2 45
lea edx, DWORD PTR 3873151461[ebp*1+edx]
@ -485,8 +486,8 @@ L000start:
xor edi, edx
lea ecx, DWORD PTR 530742520[ebp*1+ecx]
add ecx, edi
mov ebp, DWORD PTR 8[esi]
rol ecx, 16
mov ebp, DWORD PTR 8[esi]
mov edi, edx
; R2 47
lea ebx, DWORD PTR 3299628645[ebp*1+ebx]
@ -681,6 +682,6 @@ L000start:
pop edi
pop esi
ret
_md5_block_x86 ENDP
_md5_block_asm_host_order ENDP
_TEXT ENDS
END