aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/md5/asm/m5-win32.asm
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/md5/asm/m5-win32.asm')
-rw-r--r--crypto/md5/asm/m5-win32.asm686
1 files changed, 686 insertions, 0 deletions
diff --git a/crypto/md5/asm/m5-win32.asm b/crypto/md5/asm/m5-win32.asm
new file mode 100644
index 0000000000..c2081da746
--- /dev/null
+++ b/crypto/md5/asm/m5-win32.asm
@@ -0,0 +1,686 @@
+ ; Don't even think of reading this code
+ ; It was automatically generated by md5-586.pl
+ ; Which is a perl program used to generate the x86 assember for
+ ; any of elf, a.out, BSDI,Win32, or Solaris
+ ; eric <eay@cryptsoft.com>
+ ;
+ TITLE md5-586.asm
+ .386
+.model FLAT
+_TEXT SEGMENT
+PUBLIC _md5_block_x86
+
+_md5_block_x86 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
+ push ebx
+ add ecx, esi
+ sub ecx, 64
+ mov eax, DWORD PTR [edi]
+ push ecx
+ mov ebx, DWORD PTR 4[edi]
+ mov ecx, DWORD PTR 8[edi]
+ mov edx, DWORD PTR 12[edi]
+L000start:
+ ;
+ ; R0 section
+ mov edi, ecx
+ mov ebp, DWORD PTR [esi]
+ ; R0 0
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ add ebx, ecx
+ ;
+ ; R1 section
+ ; R1 16
+ lea eax, DWORD PTR 4129170786[ebp*1+eax]
+ xor edi, ebx
+ and edi, edx
+ mov ebp, DWORD PTR 24[esi]
+ xor edi, ecx
+ add eax, edi
+ mov edi, ebx
+ rol eax, 5
+ add eax, ebx
+ ; R1 17
+ lea edx, DWORD PTR 3225465664[ebp*1+edx]
+ xor edi, eax
+ and edi, ecx
+ mov ebp, DWORD PTR 44[esi]
+ xor edi, ebx
+ add edx, edi
+ mov edi, eax
+ rol edx, 9
+ add edx, eax
+ ; R1 18
+ lea ecx, DWORD PTR 643717713[ebp*1+ecx]
+ xor edi, edx
+ and edi, ebx
+ mov ebp, DWORD PTR [esi]
+ xor edi, eax
+ add ecx, edi
+ mov edi, edx
+ rol ecx, 14
+ add ecx, edx
+ ; R1 19
+ lea ebx, DWORD PTR 3921069994[ebp*1+ebx]
+ xor edi, ecx
+ and edi, eax
+ mov ebp, DWORD PTR 20[esi]
+ xor edi, edx
+ add ebx, edi
+ mov edi, ecx
+ rol ebx, 20
+ add ebx, ecx
+ ; R1 20
+ lea eax, DWORD PTR 3593408605[ebp*1+eax]
+ xor edi, ebx
+ and edi, edx
+ mov ebp, DWORD PTR 40[esi]
+ xor edi, ecx
+ add eax, edi
+ mov edi, ebx
+ rol eax, 5
+ add eax, ebx
+ ; R1 21
+ lea edx, DWORD PTR 38016083[ebp*1+edx]
+ xor edi, eax
+ and edi, ecx
+ mov ebp, DWORD PTR 60[esi]
+ xor edi, ebx
+ add edx, edi
+ mov edi, eax
+ rol edx, 9
+ add edx, eax
+ ; R1 22
+ lea ecx, DWORD PTR 3634488961[ebp*1+ecx]
+ xor edi, edx
+ and edi, ebx
+ mov ebp, DWORD PTR 16[esi]
+ xor edi, eax
+ add ecx, edi
+ mov edi, edx
+ rol ecx, 14
+ add ecx, edx
+ ; R1 23
+ lea ebx, DWORD PTR 3889429448[ebp*1+ebx]
+ xor edi, ecx
+ and edi, eax
+ mov ebp, DWORD PTR 36[esi]
+ xor edi, edx
+ add ebx, edi
+ mov edi, ecx
+ rol ebx, 20
+ add ebx, ecx
+ ; R1 24
+ lea eax, DWORD PTR 568446438[ebp*1+eax]
+ xor edi, ebx
+ and edi, edx
+ mov ebp, DWORD PTR 56[esi]
+ xor edi, ecx
+ add eax, edi
+ mov edi, ebx
+ rol eax, 5
+ add eax, ebx
+ ; R1 25
+ lea edx, DWORD PTR 3275163606[ebp*1+edx]
+ xor edi, eax
+ and edi, ecx
+ mov ebp, DWORD PTR 12[esi]
+ xor edi, ebx
+ add edx, edi
+ mov edi, eax
+ rol edx, 9
+ add edx, eax
+ ; R1 26
+ lea ecx, DWORD PTR 4107603335[ebp*1+ecx]
+ xor edi, edx
+ and edi, ebx
+ mov ebp, DWORD PTR 32[esi]
+ xor edi, eax
+ add ecx, edi
+ mov edi, edx
+ rol ecx, 14
+ add ecx, edx
+ ; R1 27
+ lea ebx, DWORD PTR 1163531501[ebp*1+ebx]
+ xor edi, ecx
+ and edi, eax
+ mov ebp, DWORD PTR 52[esi]
+ xor edi, edx
+ add ebx, edi
+ mov edi, ecx
+ rol ebx, 20
+ add ebx, ecx
+ ; R1 28
+ lea eax, DWORD PTR 2850285829[ebp*1+eax]
+ xor edi, ebx
+ and edi, edx
+ mov ebp, DWORD PTR 8[esi]
+ xor edi, ecx
+ add eax, edi
+ mov edi, ebx
+ rol eax, 5
+ add eax, ebx
+ ; R1 29
+ lea edx, DWORD PTR 4243563512[ebp*1+edx]
+ xor edi, eax
+ and edi, ecx
+ mov ebp, DWORD PTR 28[esi]
+ xor edi, ebx
+ add edx, edi
+ mov edi, eax
+ rol edx, 9
+ add edx, eax
+ ; R1 30
+ lea ecx, DWORD PTR 1735328473[ebp*1+ecx]
+ xor edi, edx
+ and edi, ebx
+ mov ebp, DWORD PTR 48[esi]
+ xor edi, eax
+ add ecx, edi
+ mov edi, edx
+ rol ecx, 14
+ add ecx, edx
+ ; R1 31
+ lea ebx, DWORD PTR 2368359562[ebp*1+ebx]
+ xor edi, ecx
+ and edi, eax
+ mov ebp, DWORD PTR 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, DWORD PTR 4294588738[ebp*1+eax]
+ add eax, edi
+ mov ebp, DWORD PTR 32[esi]
+ rol eax, 4
+ mov edi, ebx
+ ; R2 33
+ lea edx, DWORD PTR 2272392833[ebp*1+edx]
+ add eax, ebx
+ xor edi, ecx
+ xor edi, eax
+ mov ebp, DWORD PTR 44[esi]
+ add edx, edi
+ mov edi, eax
+ rol edx, 11
+ add edx, eax
+ ; R2 34
+ xor edi, ebx
+ xor edi, edx
+ lea ecx, DWORD PTR 1839030562[ebp*1+ecx]
+ add ecx, edi
+ mov ebp, DWORD PTR 56[esi]
+ rol ecx, 16
+ mov edi, edx
+ ; R2 35
+ lea ebx, DWORD PTR 4259657740[ebp*1+ebx]
+ add ecx, edx
+ xor edi, eax
+ xor edi, ecx
+ mov ebp, DWORD PTR 4[esi]
+ add ebx, edi
+ mov edi, ecx
+ rol ebx, 23
+ add ebx, ecx
+ ; R2 36
+ xor edi, edx
+ xor edi, ebx
+ lea eax, DWORD PTR 2763975236[ebp*1+eax]
+ add eax, edi
+ mov ebp, DWORD PTR 16[esi]
+ rol eax, 4
+ mov edi, ebx
+ ; R2 37
+ lea edx, DWORD PTR 1272893353[ebp*1+edx]
+ add eax, ebx
+ xor edi, ecx
+ xor edi, eax
+ mov ebp, DWORD PTR 28[esi]
+ add edx, edi
+ mov edi, eax
+ rol edx, 11
+ add edx, eax
+ ; R2 38
+ xor edi, ebx
+ xor edi, edx
+ lea ecx, DWORD PTR 4139469664[ebp*1+ecx]
+ add ecx, edi
+ mov ebp, DWORD PTR 40[esi]
+ rol ecx, 16
+ mov edi, edx
+ ; R2 39
+ lea ebx, DWORD PTR 3200236656[ebp*1+ebx]
+ add ecx, edx
+ xor edi, eax
+ xor edi, ecx
+ mov ebp, DWORD PTR 52[esi]
+ add ebx, edi
+ mov edi, ecx
+ rol ebx, 23
+ add ebx, ecx
+ ; R2 40
+ xor edi, edx
+ xor edi, ebx
+ lea eax, DWORD PTR 681279174[ebp*1+eax]
+ add eax, edi
+ mov ebp, DWORD PTR [esi]
+ rol eax, 4
+ mov edi, ebx
+ ; R2 41
+ lea edx, DWORD PTR 3936430074[ebp*1+edx]
+ add eax, ebx
+ xor edi, ecx
+ xor edi, eax
+ mov ebp, DWORD PTR 12[esi]
+ add edx, edi
+ mov edi, eax
+ rol edx, 11
+ add edx, eax
+ ; R2 42
+ xor edi, ebx
+ xor edi, edx
+ lea ecx, DWORD PTR 3572445317[ebp*1+ecx]
+ add ecx, edi
+ mov ebp, DWORD PTR 24[esi]
+ rol ecx, 16
+ mov edi, edx
+ ; R2 43
+ lea ebx, DWORD PTR 76029189[ebp*1+ebx]
+ add ecx, edx
+ xor edi, eax
+ xor edi, ecx
+ mov ebp, DWORD PTR 36[esi]
+ add ebx, edi
+ mov edi, ecx
+ rol ebx, 23
+ add ebx, ecx
+ ; R2 44
+ xor edi, edx
+ xor edi, ebx
+ lea eax, DWORD PTR 3654602809[ebp*1+eax]
+ add eax, edi
+ mov ebp, DWORD PTR 48[esi]
+ rol eax, 4
+ mov edi, ebx
+ ; R2 45
+ lea edx, DWORD PTR 3873151461[ebp*1+edx]
+ add eax, ebx
+ xor edi, ecx
+ xor edi, eax
+ mov ebp, DWORD PTR 60[esi]
+ add edx, edi
+ mov edi, eax
+ rol edx, 11
+ add edx, eax
+ ; R2 46
+ xor edi, ebx
+ xor edi, edx
+ lea ecx, DWORD PTR 530742520[ebp*1+ecx]
+ add ecx, edi
+ mov ebp, DWORD PTR 8[esi]
+ rol ecx, 16
+ mov edi, edx
+ ; R2 47
+ lea ebx, DWORD PTR 3299628645[ebp*1+ebx]
+ add ecx, edx
+ xor edi, eax
+ xor edi, ecx
+ mov ebp, DWORD PTR [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, DWORD PTR 4096336452[ebp*1+eax]
+ xor edi, ecx
+ mov ebp, DWORD PTR 28[esi]
+ add eax, edi
+ mov edi, -1
+ rol eax, 6
+ xor edi, ecx
+ add eax, ebx
+ ; R3 49
+ or edi, eax
+ lea edx, DWORD PTR 1126891415[ebp*1+edx]
+ xor edi, ebx
+ mov ebp, DWORD PTR 56[esi]
+ add edx, edi
+ mov edi, -1
+ rol edx, 10
+ xor edi, ebx
+ add edx, eax
+ ; R3 50
+ or edi, edx
+ lea ecx, DWORD PTR 2878612391[ebp*1+ecx]
+ xor edi, eax
+ mov ebp, DWORD PTR 20[esi]
+ add ecx, edi
+ mov edi, -1
+ rol ecx, 15
+ xor edi, eax
+ add ecx, edx
+ ; R3 51
+ or edi, ecx
+ lea ebx, DWORD PTR 4237533241[ebp*1+ebx]
+ xor edi, edx
+ mov ebp, DWORD PTR 48[esi]
+ add ebx, edi
+ mov edi, -1
+ rol ebx, 21
+ xor edi, edx
+ add ebx, ecx
+ ; R3 52
+ or edi, ebx
+ lea eax, DWORD PTR 1700485571[ebp*1+eax]
+ xor edi, ecx
+ mov ebp, DWORD PTR 12[esi]
+ add eax, edi
+ mov edi, -1
+ rol eax, 6
+ xor edi, ecx
+ add eax, ebx
+ ; R3 53
+ or edi, eax
+ lea edx, DWORD PTR 2399980690[ebp*1+edx]
+ xor edi, ebx
+ mov ebp, DWORD PTR 40[esi]
+ add edx, edi
+ mov edi, -1
+ rol edx, 10
+ xor edi, ebx
+ add edx, eax
+ ; R3 54
+ or edi, edx
+ lea ecx, DWORD PTR 4293915773[ebp*1+ecx]
+ xor edi, eax
+ mov ebp, DWORD PTR 4[esi]
+ add ecx, edi
+ mov edi, -1
+ rol ecx, 15
+ xor edi, eax
+ add ecx, edx
+ ; R3 55
+ or edi, ecx
+ lea ebx, DWORD PTR 2240044497[ebp*1+ebx]
+ xor edi, edx
+ mov ebp, DWORD PTR 32[esi]
+ add ebx, edi
+ mov edi, -1
+ rol ebx, 21
+ xor edi, edx
+ add ebx, ecx
+ ; R3 56
+ or edi, ebx
+ lea eax, DWORD PTR 1873313359[ebp*1+eax]
+ xor edi, ecx
+ mov ebp, DWORD PTR 60[esi]
+ add eax, edi
+ mov edi, -1
+ rol eax, 6
+ xor edi, ecx
+ add eax, ebx
+ ; R3 57
+ or edi, eax
+ lea edx, DWORD PTR 4264355552[ebp*1+edx]
+ xor edi, ebx
+ mov ebp, DWORD PTR 24[esi]
+ add edx, edi
+ mov edi, -1
+ rol edx, 10
+ xor edi, ebx
+ add edx, eax
+ ; R3 58
+ or edi, edx
+ lea ecx, DWORD PTR 2734768916[ebp*1+ecx]
+ xor edi, eax
+ mov ebp, DWORD PTR 52[esi]
+ add ecx, edi
+ mov edi, -1
+ rol ecx, 15
+ xor edi, eax
+ add ecx, edx
+ ; R3 59
+ or edi, ecx
+ lea ebx, DWORD PTR 1309151649[ebp*1+ebx]
+ xor edi, edx
+ mov ebp, DWORD PTR 16[esi]
+ add ebx, edi
+ mov edi, -1
+ rol ebx, 21
+ xor edi, edx
+ add ebx, ecx
+ ; R3 60
+ or edi, ebx
+ lea eax, DWORD PTR 4149444226[ebp*1+eax]
+ xor edi, ecx
+ mov ebp, DWORD PTR 44[esi]
+ add eax, edi
+ mov edi, -1
+ rol eax, 6
+ xor edi, ecx
+ add eax, ebx
+ ; R3 61
+ or edi, eax
+ lea edx, DWORD PTR 3174756917[ebp*1+edx]
+ xor edi, ebx
+ mov ebp, DWORD PTR 8[esi]
+ add edx, edi
+ mov edi, -1
+ rol edx, 10
+ xor edi, ebx
+ add edx, eax
+ ; R3 62
+ or edi, edx
+ lea ecx, DWORD PTR 718787259[ebp*1+ecx]
+ xor edi, eax
+ mov ebp, DWORD PTR 36[esi]
+ add ecx, edi
+ mov edi, -1
+ rol ecx, 15
+ xor edi, eax
+ add ecx, edx
+ ; R3 63
+ or edi, ecx
+ lea ebx, DWORD PTR 3951481745[ebp*1+ebx]
+ xor edi, edx
+ mov ebp, DWORD PTR 24[esp]
+ add ebx, edi
+ add esi, 64
+ rol ebx, 21
+ mov edi, DWORD PTR [ebp]
+ add ebx, ecx
+ add eax, edi
+ mov edi, DWORD PTR 4[ebp]
+ add ebx, edi
+ mov edi, DWORD PTR 8[ebp]
+ add ecx, edi
+ mov edi, DWORD PTR 12[ebp]
+ add edx, edi
+ mov DWORD PTR [ebp],eax
+ mov DWORD PTR 4[ebp],ebx
+ mov edi, DWORD PTR [esp]
+ mov DWORD PTR 8[ebp],ecx
+ mov DWORD PTR 12[ebp],edx
+ cmp edi, esi
+ jge L000start
+ pop eax
+ pop ebx
+ pop ebp
+ pop edi
+ pop esi
+ ret
+_md5_block_x86 ENDP
+_TEXT ENDS
+END