summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/md5/asm/m5-win32.asm
diff options
context:
space:
mode:
authorryker <>1998-10-05 20:13:16 +0000
committerryker <>1998-10-05 20:13:16 +0000
commit9e43e2ac1373d5be5c6500c1bc3b1dd6ee9584b4 (patch)
tree51ff319f3510104698e541954d10ad98f9125f36 /src/lib/libcrypto/md5/asm/m5-win32.asm
parent9e77c62555877f9a64805c49d0dcd7dbfbb40f4e (diff)
downloadopenbsd-9e43e2ac1373d5be5c6500c1bc3b1dd6ee9584b4.tar.gz
openbsd-9e43e2ac1373d5be5c6500c1bc3b1dd6ee9584b4.tar.bz2
openbsd-9e43e2ac1373d5be5c6500c1bc3b1dd6ee9584b4.zip
Import of SSLeay-0.9.0b with RSA and IDEA stubbed + OpenBSD build
functionality for shared libs. Note that routines such as sslv2_init and friends that use RSA will not work due to lack of RSA in this library. Needs documentation and help from ports for easy upgrade to full functionality where legally possible.
Diffstat (limited to 'src/lib/libcrypto/md5/asm/m5-win32.asm')
-rw-r--r--src/lib/libcrypto/md5/asm/m5-win32.asm686
1 files changed, 686 insertions, 0 deletions
diff --git a/src/lib/libcrypto/md5/asm/m5-win32.asm b/src/lib/libcrypto/md5/asm/m5-win32.asm
new file mode 100644
index 0000000000..c2081da746
--- /dev/null
+++ b/src/lib/libcrypto/md5/asm/m5-win32.asm
@@ -0,0 +1,686 @@
1 ; Don't even think of reading this code
2 ; It was automatically generated by md5-586.pl
3 ; Which is a perl program used to generate the x86 assember for
4 ; any of elf, a.out, BSDI,Win32, or Solaris
5 ; eric <eay@cryptsoft.com>
6 ;
7 TITLE md5-586.asm
8 .386
9.model FLAT
10_TEXT SEGMENT
11PUBLIC _md5_block_x86
12
13_md5_block_x86 PROC NEAR
14 push esi
15 push edi
16 mov edi, DWORD PTR 12[esp]
17 mov esi, DWORD PTR 16[esp]
18 mov ecx, DWORD PTR 20[esp]
19 push ebp
20 push ebx
21 add ecx, esi
22 sub ecx, 64
23 mov eax, DWORD PTR [edi]
24 push ecx
25 mov ebx, DWORD PTR 4[edi]
26 mov ecx, DWORD PTR 8[edi]
27 mov edx, DWORD PTR 12[edi]
28L000start:
29 ;
30 ; R0 section
31 mov edi, ecx
32 mov ebp, DWORD PTR [esi]
33 ; R0 0
34 xor edi, edx
35 and edi, ebx
36 lea eax, DWORD PTR 3614090360[ebp*1+eax]
37 mov ebp, DWORD PTR 4[esi]
38 xor edi, edx
39 add eax, edi
40 mov edi, ebx
41 rol eax, 7
42 add eax, ebx
43 ; R0 1
44 xor edi, ecx
45 and edi, eax
46 lea edx, DWORD PTR 3905402710[ebp*1+edx]
47 mov ebp, DWORD PTR 8[esi]
48 xor edi, ecx
49 add edx, edi
50 mov edi, eax
51 rol edx, 12
52 add edx, eax
53 ; R0 2
54 xor edi, ebx
55 and edi, edx
56 lea ecx, DWORD PTR 606105819[ebp*1+ecx]
57 mov ebp, DWORD PTR 12[esi]
58 xor edi, ebx
59 add ecx, edi
60 mov edi, edx
61 rol ecx, 17
62 add ecx, edx
63 ; R0 3
64 xor edi, eax
65 and edi, ecx
66 lea ebx, DWORD PTR 3250441966[ebp*1+ebx]
67 mov ebp, DWORD PTR 16[esi]
68 xor edi, eax
69 add ebx, edi
70 mov edi, ecx
71 rol ebx, 22
72 add ebx, ecx
73 ; R0 4
74 xor edi, edx
75 and edi, ebx
76 lea eax, DWORD PTR 4118548399[ebp*1+eax]
77 mov ebp, DWORD PTR 20[esi]
78 xor edi, edx
79 add eax, edi
80 mov edi, ebx
81 rol eax, 7
82 add eax, ebx
83 ; R0 5
84 xor edi, ecx
85 and edi, eax
86 lea edx, DWORD PTR 1200080426[ebp*1+edx]
87 mov ebp, DWORD PTR 24[esi]
88 xor edi, ecx
89 add edx, edi
90 mov edi, eax
91 rol edx, 12
92 add edx, eax
93 ; R0 6
94 xor edi, ebx
95 and edi, edx
96 lea ecx, DWORD PTR 2821735955[ebp*1+ecx]
97 mov ebp, DWORD PTR 28[esi]
98 xor edi, ebx
99 add ecx, edi
100 mov edi, edx
101 rol ecx, 17
102 add ecx, edx
103 ; R0 7
104 xor edi, eax
105 and edi, ecx
106 lea ebx, DWORD PTR 4249261313[ebp*1+ebx]
107 mov ebp, DWORD PTR 32[esi]
108 xor edi, eax
109 add ebx, edi
110 mov edi, ecx
111 rol ebx, 22
112 add ebx, ecx
113 ; R0 8
114 xor edi, edx
115 and edi, ebx
116 lea eax, DWORD PTR 1770035416[ebp*1+eax]
117 mov ebp, DWORD PTR 36[esi]
118 xor edi, edx
119 add eax, edi
120 mov edi, ebx
121 rol eax, 7
122 add eax, ebx
123 ; R0 9
124 xor edi, ecx
125 and edi, eax
126 lea edx, DWORD PTR 2336552879[ebp*1+edx]
127 mov ebp, DWORD PTR 40[esi]
128 xor edi, ecx
129 add edx, edi
130 mov edi, eax
131 rol edx, 12
132 add edx, eax
133 ; R0 10
134 xor edi, ebx
135 and edi, edx
136 lea ecx, DWORD PTR 4294925233[ebp*1+ecx]
137 mov ebp, DWORD PTR 44[esi]
138 xor edi, ebx
139 add ecx, edi
140 mov edi, edx
141 rol ecx, 17
142 add ecx, edx
143 ; R0 11
144 xor edi, eax
145 and edi, ecx
146 lea ebx, DWORD PTR 2304563134[ebp*1+ebx]
147 mov ebp, DWORD PTR 48[esi]
148 xor edi, eax
149 add ebx, edi
150 mov edi, ecx
151 rol ebx, 22
152 add ebx, ecx
153 ; R0 12
154 xor edi, edx
155 and edi, ebx
156 lea eax, DWORD PTR 1804603682[ebp*1+eax]
157 mov ebp, DWORD PTR 52[esi]
158 xor edi, edx
159 add eax, edi
160 mov edi, ebx
161 rol eax, 7
162 add eax, ebx
163 ; R0 13
164 xor edi, ecx
165 and edi, eax
166 lea edx, DWORD PTR 4254626195[ebp*1+edx]
167 mov ebp, DWORD PTR 56[esi]
168 xor edi, ecx
169 add edx, edi
170 mov edi, eax
171 rol edx, 12
172 add edx, eax
173 ; R0 14
174 xor edi, ebx
175 and edi, edx
176 lea ecx, DWORD PTR 2792965006[ebp*1+ecx]
177 mov ebp, DWORD PTR 60[esi]
178 xor edi, ebx
179 add ecx, edi
180 mov edi, edx
181 rol ecx, 17
182 add ecx, edx
183 ; R0 15
184 xor edi, eax
185 and edi, ecx
186 lea ebx, DWORD PTR 1236535329[ebp*1+ebx]
187 mov ebp, DWORD PTR 4[esi]
188 xor edi, eax
189 add ebx, edi
190 mov edi, ecx
191 rol ebx, 22
192 add ebx, ecx
193 ;
194 ; R1 section
195 ; R1 16
196 lea eax, DWORD PTR 4129170786[ebp*1+eax]
197 xor edi, ebx
198 and edi, edx
199 mov ebp, DWORD PTR 24[esi]
200 xor edi, ecx
201 add eax, edi
202 mov edi, ebx
203 rol eax, 5
204 add eax, ebx
205 ; R1 17
206 lea edx, DWORD PTR 3225465664[ebp*1+edx]
207 xor edi, eax
208 and edi, ecx
209 mov ebp, DWORD PTR 44[esi]
210 xor edi, ebx
211 add edx, edi
212 mov edi, eax
213 rol edx, 9
214 add edx, eax
215 ; R1 18
216 lea ecx, DWORD PTR 643717713[ebp*1+ecx]
217 xor edi, edx
218 and edi, ebx
219 mov ebp, DWORD PTR [esi]
220 xor edi, eax
221 add ecx, edi
222 mov edi, edx
223 rol ecx, 14
224 add ecx, edx
225 ; R1 19
226 lea ebx, DWORD PTR 3921069994[ebp*1+ebx]
227 xor edi, ecx
228 and edi, eax
229 mov ebp, DWORD PTR 20[esi]
230 xor edi, edx
231 add ebx, edi
232 mov edi, ecx
233 rol ebx, 20
234 add ebx, ecx
235 ; R1 20
236 lea eax, DWORD PTR 3593408605[ebp*1+eax]
237 xor edi, ebx
238 and edi, edx
239 mov ebp, DWORD PTR 40[esi]
240 xor edi, ecx
241 add eax, edi
242 mov edi, ebx
243 rol eax, 5
244 add eax, ebx
245 ; R1 21
246 lea edx, DWORD PTR 38016083[ebp*1+edx]
247 xor edi, eax
248 and edi, ecx
249 mov ebp, DWORD PTR 60[esi]
250 xor edi, ebx
251 add edx, edi
252 mov edi, eax
253 rol edx, 9
254 add edx, eax
255 ; R1 22
256 lea ecx, DWORD PTR 3634488961[ebp*1+ecx]
257 xor edi, edx
258 and edi, ebx
259 mov ebp, DWORD PTR 16[esi]
260 xor edi, eax
261 add ecx, edi
262 mov edi, edx
263 rol ecx, 14
264 add ecx, edx
265 ; R1 23
266 lea ebx, DWORD PTR 3889429448[ebp*1+ebx]
267 xor edi, ecx
268 and edi, eax
269 mov ebp, DWORD PTR 36[esi]
270 xor edi, edx
271 add ebx, edi
272 mov edi, ecx
273 rol ebx, 20
274 add ebx, ecx
275 ; R1 24
276 lea eax, DWORD PTR 568446438[ebp*1+eax]
277 xor edi, ebx
278 and edi, edx
279 mov ebp, DWORD PTR 56[esi]
280 xor edi, ecx
281 add eax, edi
282 mov edi, ebx
283 rol eax, 5
284 add eax, ebx
285 ; R1 25
286 lea edx, DWORD PTR 3275163606[ebp*1+edx]
287 xor edi, eax
288 and edi, ecx
289 mov ebp, DWORD PTR 12[esi]
290 xor edi, ebx
291 add edx, edi
292 mov edi, eax
293 rol edx, 9
294 add edx, eax
295 ; R1 26
296 lea ecx, DWORD PTR 4107603335[ebp*1+ecx]
297 xor edi, edx
298 and edi, ebx
299 mov ebp, DWORD PTR 32[esi]
300 xor edi, eax
301 add ecx, edi
302 mov edi, edx
303 rol ecx, 14
304 add ecx, edx
305 ; R1 27
306 lea ebx, DWORD PTR 1163531501[ebp*1+ebx]
307 xor edi, ecx
308 and edi, eax
309 mov ebp, DWORD PTR 52[esi]
310 xor edi, edx
311 add ebx, edi
312 mov edi, ecx
313 rol ebx, 20
314 add ebx, ecx
315 ; R1 28
316 lea eax, DWORD PTR 2850285829[ebp*1+eax]
317 xor edi, ebx
318 and edi, edx
319 mov ebp, DWORD PTR 8[esi]
320 xor edi, ecx
321 add eax, edi
322 mov edi, ebx
323 rol eax, 5
324 add eax, ebx
325 ; R1 29
326 lea edx, DWORD PTR 4243563512[ebp*1+edx]
327 xor edi, eax
328 and edi, ecx
329 mov ebp, DWORD PTR 28[esi]
330 xor edi, ebx
331 add edx, edi
332 mov edi, eax
333 rol edx, 9
334 add edx, eax
335 ; R1 30
336 lea ecx, DWORD PTR 1735328473[ebp*1+ecx]
337 xor edi, edx
338 and edi, ebx
339 mov ebp, DWORD PTR 48[esi]
340 xor edi, eax
341 add ecx, edi
342 mov edi, edx
343 rol ecx, 14
344 add ecx, edx
345 ; R1 31
346 lea ebx, DWORD PTR 2368359562[ebp*1+ebx]
347 xor edi, ecx
348 and edi, eax
349 mov ebp, DWORD PTR 20[esi]
350 xor edi, edx
351 add ebx, edi
352 mov edi, ecx
353 rol ebx, 20
354 add ebx, ecx
355 ;
356 ; R2 section
357 ; R2 32
358 xor edi, edx
359 xor edi, ebx
360 lea eax, DWORD PTR 4294588738[ebp*1+eax]
361 add eax, edi
362 mov ebp, DWORD PTR 32[esi]
363 rol eax, 4
364 mov edi, ebx
365 ; R2 33
366 lea edx, DWORD PTR 2272392833[ebp*1+edx]
367 add eax, ebx
368 xor edi, ecx
369 xor edi, eax
370 mov ebp, DWORD PTR 44[esi]
371 add edx, edi
372 mov edi, eax
373 rol edx, 11
374 add edx, eax
375 ; R2 34
376 xor edi, ebx
377 xor edi, edx
378 lea ecx, DWORD PTR 1839030562[ebp*1+ecx]
379 add ecx, edi
380 mov ebp, DWORD PTR 56[esi]
381 rol ecx, 16
382 mov edi, edx
383 ; R2 35
384 lea ebx, DWORD PTR 4259657740[ebp*1+ebx]
385 add ecx, edx
386 xor edi, eax
387 xor edi, ecx
388 mov ebp, DWORD PTR 4[esi]
389 add ebx, edi
390 mov edi, ecx
391 rol ebx, 23
392 add ebx, ecx
393 ; R2 36
394 xor edi, edx
395 xor edi, ebx
396 lea eax, DWORD PTR 2763975236[ebp*1+eax]
397 add eax, edi
398 mov ebp, DWORD PTR 16[esi]
399 rol eax, 4
400 mov edi, ebx
401 ; R2 37
402 lea edx, DWORD PTR 1272893353[ebp*1+edx]
403 add eax, ebx
404 xor edi, ecx
405 xor edi, eax
406 mov ebp, DWORD PTR 28[esi]
407 add edx, edi
408 mov edi, eax
409 rol edx, 11
410 add edx, eax
411 ; R2 38
412 xor edi, ebx
413 xor edi, edx
414 lea ecx, DWORD PTR 4139469664[ebp*1+ecx]
415 add ecx, edi
416 mov ebp, DWORD PTR 40[esi]
417 rol ecx, 16
418 mov edi, edx
419 ; R2 39
420 lea ebx, DWORD PTR 3200236656[ebp*1+ebx]
421 add ecx, edx
422 xor edi, eax
423 xor edi, ecx
424 mov ebp, DWORD PTR 52[esi]
425 add ebx, edi
426 mov edi, ecx
427 rol ebx, 23
428 add ebx, ecx
429 ; R2 40
430 xor edi, edx
431 xor edi, ebx
432 lea eax, DWORD PTR 681279174[ebp*1+eax]
433 add eax, edi
434 mov ebp, DWORD PTR [esi]
435 rol eax, 4
436 mov edi, ebx
437 ; R2 41
438 lea edx, DWORD PTR 3936430074[ebp*1+edx]
439 add eax, ebx
440 xor edi, ecx
441 xor edi, eax
442 mov ebp, DWORD PTR 12[esi]
443 add edx, edi
444 mov edi, eax
445 rol edx, 11
446 add edx, eax
447 ; R2 42
448 xor edi, ebx
449 xor edi, edx
450 lea ecx, DWORD PTR 3572445317[ebp*1+ecx]
451 add ecx, edi
452 mov ebp, DWORD PTR 24[esi]
453 rol ecx, 16
454 mov edi, edx
455 ; R2 43
456 lea ebx, DWORD PTR 76029189[ebp*1+ebx]
457 add ecx, edx
458 xor edi, eax
459 xor edi, ecx
460 mov ebp, DWORD PTR 36[esi]
461 add ebx, edi
462 mov edi, ecx
463 rol ebx, 23
464 add ebx, ecx
465 ; R2 44
466 xor edi, edx
467 xor edi, ebx
468 lea eax, DWORD PTR 3654602809[ebp*1+eax]
469 add eax, edi
470 mov ebp, DWORD PTR 48[esi]
471 rol eax, 4
472 mov edi, ebx
473 ; R2 45
474 lea edx, DWORD PTR 3873151461[ebp*1+edx]
475 add eax, ebx
476 xor edi, ecx
477 xor edi, eax
478 mov ebp, DWORD PTR 60[esi]
479 add edx, edi
480 mov edi, eax
481 rol edx, 11
482 add edx, eax
483 ; R2 46
484 xor edi, ebx
485 xor edi, edx
486 lea ecx, DWORD PTR 530742520[ebp*1+ecx]
487 add ecx, edi
488 mov ebp, DWORD PTR 8[esi]
489 rol ecx, 16
490 mov edi, edx
491 ; R2 47
492 lea ebx, DWORD PTR 3299628645[ebp*1+ebx]
493 add ecx, edx
494 xor edi, eax
495 xor edi, ecx
496 mov ebp, DWORD PTR [esi]
497 add ebx, edi
498 mov edi, -1
499 rol ebx, 23
500 add ebx, ecx
501 ;
502 ; R3 section
503 ; R3 48
504 xor edi, edx
505 or edi, ebx
506 lea eax, DWORD PTR 4096336452[ebp*1+eax]
507 xor edi, ecx
508 mov ebp, DWORD PTR 28[esi]
509 add eax, edi
510 mov edi, -1
511 rol eax, 6
512 xor edi, ecx
513 add eax, ebx
514 ; R3 49
515 or edi, eax
516 lea edx, DWORD PTR 1126891415[ebp*1+edx]
517 xor edi, ebx
518 mov ebp, DWORD PTR 56[esi]
519 add edx, edi
520 mov edi, -1
521 rol edx, 10
522 xor edi, ebx
523 add edx, eax
524 ; R3 50
525 or edi, edx
526 lea ecx, DWORD PTR 2878612391[ebp*1+ecx]
527 xor edi, eax
528 mov ebp, DWORD PTR 20[esi]
529 add ecx, edi
530 mov edi, -1
531 rol ecx, 15
532 xor edi, eax
533 add ecx, edx
534 ; R3 51
535 or edi, ecx
536 lea ebx, DWORD PTR 4237533241[ebp*1+ebx]
537 xor edi, edx
538 mov ebp, DWORD PTR 48[esi]
539 add ebx, edi
540 mov edi, -1
541 rol ebx, 21
542 xor edi, edx
543 add ebx, ecx
544 ; R3 52
545 or edi, ebx
546 lea eax, DWORD PTR 1700485571[ebp*1+eax]
547 xor edi, ecx
548 mov ebp, DWORD PTR 12[esi]
549 add eax, edi
550 mov edi, -1
551 rol eax, 6
552 xor edi, ecx
553 add eax, ebx
554 ; R3 53
555 or edi, eax
556 lea edx, DWORD PTR 2399980690[ebp*1+edx]
557 xor edi, ebx
558 mov ebp, DWORD PTR 40[esi]
559 add edx, edi
560 mov edi, -1
561 rol edx, 10
562 xor edi, ebx
563 add edx, eax
564 ; R3 54
565 or edi, edx
566 lea ecx, DWORD PTR 4293915773[ebp*1+ecx]
567 xor edi, eax
568 mov ebp, DWORD PTR 4[esi]
569 add ecx, edi
570 mov edi, -1
571 rol ecx, 15
572 xor edi, eax
573 add ecx, edx
574 ; R3 55
575 or edi, ecx
576 lea ebx, DWORD PTR 2240044497[ebp*1+ebx]
577 xor edi, edx
578 mov ebp, DWORD PTR 32[esi]
579 add ebx, edi
580 mov edi, -1
581 rol ebx, 21
582 xor edi, edx
583 add ebx, ecx
584 ; R3 56
585 or edi, ebx
586 lea eax, DWORD PTR 1873313359[ebp*1+eax]
587 xor edi, ecx
588 mov ebp, DWORD PTR 60[esi]
589 add eax, edi
590 mov edi, -1
591 rol eax, 6
592 xor edi, ecx
593 add eax, ebx
594 ; R3 57
595 or edi, eax
596 lea edx, DWORD PTR 4264355552[ebp*1+edx]
597 xor edi, ebx
598 mov ebp, DWORD PTR 24[esi]
599 add edx, edi
600 mov edi, -1
601 rol edx, 10
602 xor edi, ebx
603 add edx, eax
604 ; R3 58
605 or edi, edx
606 lea ecx, DWORD PTR 2734768916[ebp*1+ecx]
607 xor edi, eax
608 mov ebp, DWORD PTR 52[esi]
609 add ecx, edi
610 mov edi, -1
611 rol ecx, 15
612 xor edi, eax
613 add ecx, edx
614 ; R3 59
615 or edi, ecx
616 lea ebx, DWORD PTR 1309151649[ebp*1+ebx]
617 xor edi, edx
618 mov ebp, DWORD PTR 16[esi]
619 add ebx, edi
620 mov edi, -1
621 rol ebx, 21
622 xor edi, edx
623 add ebx, ecx
624 ; R3 60
625 or edi, ebx
626 lea eax, DWORD PTR 4149444226[ebp*1+eax]
627 xor edi, ecx
628 mov ebp, DWORD PTR 44[esi]
629 add eax, edi
630 mov edi, -1
631 rol eax, 6
632 xor edi, ecx
633 add eax, ebx
634 ; R3 61
635 or edi, eax
636 lea edx, DWORD PTR 3174756917[ebp*1+edx]
637 xor edi, ebx
638 mov ebp, DWORD PTR 8[esi]
639 add edx, edi
640 mov edi, -1
641 rol edx, 10
642 xor edi, ebx
643 add edx, eax
644 ; R3 62
645 or edi, edx
646 lea ecx, DWORD PTR 718787259[ebp*1+ecx]
647 xor edi, eax
648 mov ebp, DWORD PTR 36[esi]
649 add ecx, edi
650 mov edi, -1
651 rol ecx, 15
652 xor edi, eax
653 add ecx, edx
654 ; R3 63
655 or edi, ecx
656 lea ebx, DWORD PTR 3951481745[ebp*1+ebx]
657 xor edi, edx
658 mov ebp, DWORD PTR 24[esp]
659 add ebx, edi
660 add esi, 64
661 rol ebx, 21
662 mov edi, DWORD PTR [ebp]
663 add ebx, ecx
664 add eax, edi
665 mov edi, DWORD PTR 4[ebp]
666 add ebx, edi
667 mov edi, DWORD PTR 8[ebp]
668 add ecx, edi
669 mov edi, DWORD PTR 12[ebp]
670 add edx, edi
671 mov DWORD PTR [ebp],eax
672 mov DWORD PTR 4[ebp],ebx
673 mov edi, DWORD PTR [esp]
674 mov DWORD PTR 8[ebp],ecx
675 mov DWORD PTR 12[ebp],edx
676 cmp edi, esi
677 jge L000start
678 pop eax
679 pop ebx
680 pop ebp
681 pop edi
682 pop esi
683 ret
684_md5_block_x86 ENDP
685_TEXT ENDS
686END