1 ; Don't even think of reading this code
2 ; It was automatically generated by rmd-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>
11 PUBLIC _ripemd160_block_x86
13 _ripemd160_block_x86 PROC NEAR
15 mov ecx, DWORD PTR 16[esp]
17 mov esi, DWORD PTR 16[esp]
23 mov DWORD PTR [esp],ecx
24 mov edi, DWORD PTR 108[esp]
27 mov eax, DWORD PTR [esi]
28 mov ebx, DWORD PTR 4[esi]
29 mov DWORD PTR 4[esp],eax
30 mov DWORD PTR 8[esp],ebx
31 mov eax, DWORD PTR 8[esi]
32 mov ebx, DWORD PTR 12[esi]
33 mov DWORD PTR 12[esp],eax
34 mov DWORD PTR 16[esp],ebx
35 mov eax, DWORD PTR 16[esi]
36 mov ebx, DWORD PTR 20[esi]
37 mov DWORD PTR 20[esp],eax
38 mov DWORD PTR 24[esp],ebx
39 mov eax, DWORD PTR 24[esi]
40 mov ebx, DWORD PTR 28[esi]
41 mov DWORD PTR 28[esp],eax
42 mov DWORD PTR 32[esp],ebx
43 mov eax, DWORD PTR 32[esi]
44 mov ebx, DWORD PTR 36[esi]
45 mov DWORD PTR 36[esp],eax
46 mov DWORD PTR 40[esp],ebx
47 mov eax, DWORD PTR 40[esi]
48 mov ebx, DWORD PTR 44[esi]
49 mov DWORD PTR 44[esp],eax
50 mov DWORD PTR 48[esp],ebx
51 mov eax, DWORD PTR 48[esi]
52 mov ebx, DWORD PTR 52[esi]
53 mov DWORD PTR 52[esp],eax
54 mov DWORD PTR 56[esp],ebx
55 mov eax, DWORD PTR 56[esi]
56 mov ebx, DWORD PTR 60[esi]
57 mov DWORD PTR 60[esp],eax
58 mov DWORD PTR 64[esp],ebx
60 mov eax, DWORD PTR [edi]
61 mov DWORD PTR 112[esp],esi
62 mov ebx, DWORD PTR 4[edi]
63 mov ecx, DWORD PTR 8[edi]
64 mov edx, DWORD PTR 12[edi]
65 mov ebp, DWORD PTR 16[edi]
69 mov edi, DWORD PTR 4[esp]
79 mov edi, DWORD PTR 8[esp]
89 mov edi, DWORD PTR 12[esp]
99 mov edi, DWORD PTR 16[esp]
109 mov edi, DWORD PTR 20[esp]
119 mov edi, DWORD PTR 24[esp]
129 mov edi, DWORD PTR 28[esp]
139 mov edi, DWORD PTR 32[esp]
149 mov edi, DWORD PTR 36[esp]
159 mov edi, DWORD PTR 40[esp]
169 mov edi, DWORD PTR 44[esp]
179 mov edi, DWORD PTR 48[esp]
189 mov edi, DWORD PTR 52[esp]
199 mov edi, DWORD PTR 56[esp]
209 mov edi, DWORD PTR 60[esp]
219 mov edi, DWORD PTR 64[esp]
225 mov edi, DWORD PTR 32[esp]
235 mov esi, DWORD PTR 20[esp]
237 lea ebp, DWORD PTR 1518500249[edi*1+ebp]
248 mov edi, DWORD PTR 56[esp]
250 lea edx, DWORD PTR 1518500249[esi*1+edx]
261 mov esi, DWORD PTR 8[esp]
263 lea ecx, DWORD PTR 1518500249[edi*1+ecx]
274 mov edi, DWORD PTR 44[esp]
276 lea ebx, DWORD PTR 1518500249[esi*1+ebx]
287 mov esi, DWORD PTR 28[esp]
289 lea eax, DWORD PTR 1518500249[edi*1+eax]
300 mov edi, DWORD PTR 64[esp]
302 lea ebp, DWORD PTR 1518500249[esi*1+ebp]
313 mov esi, DWORD PTR 16[esp]
315 lea edx, DWORD PTR 1518500249[edi*1+edx]
326 mov edi, DWORD PTR 52[esp]
328 lea ecx, DWORD PTR 1518500249[esi*1+ecx]
339 mov esi, DWORD PTR 4[esp]
341 lea ebx, DWORD PTR 1518500249[edi*1+ebx]
352 mov edi, DWORD PTR 40[esp]
354 lea eax, DWORD PTR 1518500249[esi*1+eax]
365 mov esi, DWORD PTR 24[esp]
367 lea ebp, DWORD PTR 1518500249[edi*1+ebp]
378 mov edi, DWORD PTR 12[esp]
380 lea edx, DWORD PTR 1518500249[esi*1+edx]
391 mov esi, DWORD PTR 60[esp]
393 lea ecx, DWORD PTR 1518500249[edi*1+ecx]
404 mov edi, DWORD PTR 48[esp]
406 lea ebx, DWORD PTR 1518500249[esi*1+ebx]
417 mov esi, DWORD PTR 36[esp]
419 lea eax, DWORD PTR 1518500249[edi*1+eax]
432 lea ebp, DWORD PTR 1518500249[esi*1+ebp]
437 mov esi, DWORD PTR 16[esp]
443 lea edx, DWORD PTR 1859775393[edi*1+edx]
448 mov edi, DWORD PTR 44[esp]
454 lea ecx, DWORD PTR 1859775393[esi*1+ecx]
459 mov esi, DWORD PTR 60[esp]
465 lea ebx, DWORD PTR 1859775393[edi*1+ebx]
470 mov edi, DWORD PTR 20[esp]
476 lea eax, DWORD PTR 1859775393[esi*1+eax]
481 mov esi, DWORD PTR 40[esp]
487 lea ebp, DWORD PTR 1859775393[edi*1+ebp]
492 mov edi, DWORD PTR 64[esp]
498 lea edx, DWORD PTR 1859775393[esi*1+edx]
503 mov esi, DWORD PTR 36[esp]
509 lea ecx, DWORD PTR 1859775393[edi*1+ecx]
514 mov edi, DWORD PTR 8[esp]
520 lea ebx, DWORD PTR 1859775393[esi*1+ebx]
525 mov esi, DWORD PTR 12[esp]
531 lea eax, DWORD PTR 1859775393[edi*1+eax]
536 mov edi, DWORD PTR 32[esp]
542 lea ebp, DWORD PTR 1859775393[esi*1+ebp]
547 mov esi, DWORD PTR 4[esp]
553 lea edx, DWORD PTR 1859775393[edi*1+edx]
558 mov edi, DWORD PTR 28[esp]
564 lea ecx, DWORD PTR 1859775393[esi*1+ecx]
569 mov esi, DWORD PTR 56[esp]
575 lea ebx, DWORD PTR 1859775393[edi*1+ebx]
580 mov edi, DWORD PTR 48[esp]
586 lea eax, DWORD PTR 1859775393[esi*1+eax]
591 mov esi, DWORD PTR 24[esp]
597 lea ebp, DWORD PTR 1859775393[edi*1+ebp]
602 mov edi, DWORD PTR 52[esp]
608 lea edx, DWORD PTR 1859775393[esi*1+edx]
617 mov esi, DWORD PTR 8[esp]
619 lea ecx, DWORD PTR 2400959708[edi+ecx]
630 mov esi, DWORD PTR 40[esp]
632 lea ebx, DWORD PTR 2400959708[edi+ebx]
643 mov esi, DWORD PTR 48[esp]
645 lea eax, DWORD PTR 2400959708[edi+eax]
656 mov esi, DWORD PTR 44[esp]
658 lea ebp, DWORD PTR 2400959708[edi+ebp]
669 mov esi, DWORD PTR 4[esp]
671 lea edx, DWORD PTR 2400959708[edi+edx]
682 mov esi, DWORD PTR 36[esp]
684 lea ecx, DWORD PTR 2400959708[edi+ecx]
695 mov esi, DWORD PTR 52[esp]
697 lea ebx, DWORD PTR 2400959708[edi+ebx]
708 mov esi, DWORD PTR 20[esp]
710 lea eax, DWORD PTR 2400959708[edi+eax]
721 mov esi, DWORD PTR 56[esp]
723 lea ebp, DWORD PTR 2400959708[edi+ebp]
734 mov esi, DWORD PTR 16[esp]
736 lea edx, DWORD PTR 2400959708[edi+edx]
747 mov esi, DWORD PTR 32[esp]
749 lea ecx, DWORD PTR 2400959708[edi+ecx]
760 mov esi, DWORD PTR 64[esp]
762 lea ebx, DWORD PTR 2400959708[edi+ebx]
773 mov esi, DWORD PTR 60[esp]
775 lea eax, DWORD PTR 2400959708[edi+eax]
786 mov esi, DWORD PTR 24[esp]
788 lea ebp, DWORD PTR 2400959708[edi+ebp]
799 mov esi, DWORD PTR 28[esp]
801 lea edx, DWORD PTR 2400959708[edi+edx]
812 mov esi, DWORD PTR 12[esp]
814 lea ecx, DWORD PTR 2400959708[edi+ecx]
821 mov esi, DWORD PTR 20[esp]
827 lea ebx, DWORD PTR 2840853838[edi*1+ebx]
832 mov edi, DWORD PTR 4[esp]
838 lea eax, DWORD PTR 2840853838[esi*1+eax]
843 mov esi, DWORD PTR 24[esp]
849 lea ebp, DWORD PTR 2840853838[edi*1+ebp]
854 mov edi, DWORD PTR 40[esp]
860 lea edx, DWORD PTR 2840853838[esi*1+edx]
865 mov esi, DWORD PTR 32[esp]
871 lea ecx, DWORD PTR 2840853838[edi*1+ecx]
876 mov edi, DWORD PTR 52[esp]
882 lea ebx, DWORD PTR 2840853838[esi*1+ebx]
887 mov esi, DWORD PTR 12[esp]
893 lea eax, DWORD PTR 2840853838[edi*1+eax]
898 mov edi, DWORD PTR 44[esp]
904 lea ebp, DWORD PTR 2840853838[esi*1+ebp]
909 mov esi, DWORD PTR 60[esp]
915 lea edx, DWORD PTR 2840853838[edi*1+edx]
920 mov edi, DWORD PTR 8[esp]
926 lea ecx, DWORD PTR 2840853838[esi*1+ecx]
931 mov esi, DWORD PTR 16[esp]
937 lea ebx, DWORD PTR 2840853838[edi*1+ebx]
942 mov edi, DWORD PTR 36[esp]
948 lea eax, DWORD PTR 2840853838[esi*1+eax]
953 mov esi, DWORD PTR 48[esp]
959 lea ebp, DWORD PTR 2840853838[edi*1+ebp]
964 mov edi, DWORD PTR 28[esp]
970 lea edx, DWORD PTR 2840853838[esi*1+edx]
975 mov esi, DWORD PTR 64[esp]
981 lea ecx, DWORD PTR 2840853838[edi*1+ecx]
986 mov edi, DWORD PTR 56[esp]
990 mov edi, DWORD PTR 108[esp]
992 lea ebx, DWORD PTR 2840853838[esi*1+ebx]
993 mov DWORD PTR 68[esp],eax
996 mov eax, DWORD PTR [edi]
997 mov DWORD PTR 72[esp],ebx
998 mov DWORD PTR 76[esp],ecx
999 mov ebx, DWORD PTR 4[edi]
1000 mov DWORD PTR 80[esp],edx
1001 mov ecx, DWORD PTR 8[edi]
1002 mov DWORD PTR 84[esp],ebp
1003 mov edx, DWORD PTR 12[edi]
1004 mov ebp, DWORD PTR 16[edi]
1008 mov esi, DWORD PTR 24[esp]
1014 lea eax, DWORD PTR 1352829926[edi*1+eax]
1019 mov edi, DWORD PTR 60[esp]
1025 lea ebp, DWORD PTR 1352829926[esi*1+ebp]
1030 mov esi, DWORD PTR 32[esp]
1036 lea edx, DWORD PTR 1352829926[edi*1+edx]
1041 mov edi, DWORD PTR 4[esp]
1047 lea ecx, DWORD PTR 1352829926[esi*1+ecx]
1052 mov esi, DWORD PTR 40[esp]
1058 lea ebx, DWORD PTR 1352829926[edi*1+ebx]
1063 mov edi, DWORD PTR 12[esp]
1069 lea eax, DWORD PTR 1352829926[esi*1+eax]
1074 mov esi, DWORD PTR 48[esp]
1080 lea ebp, DWORD PTR 1352829926[edi*1+ebp]
1085 mov edi, DWORD PTR 20[esp]
1091 lea edx, DWORD PTR 1352829926[esi*1+edx]
1096 mov esi, DWORD PTR 56[esp]
1102 lea ecx, DWORD PTR 1352829926[edi*1+ecx]
1107 mov edi, DWORD PTR 28[esp]
1113 lea ebx, DWORD PTR 1352829926[esi*1+ebx]
1118 mov esi, DWORD PTR 64[esp]
1124 lea eax, DWORD PTR 1352829926[edi*1+eax]
1129 mov edi, DWORD PTR 36[esp]
1135 lea ebp, DWORD PTR 1352829926[esi*1+ebp]
1140 mov esi, DWORD PTR 8[esp]
1146 lea edx, DWORD PTR 1352829926[edi*1+edx]
1151 mov edi, DWORD PTR 44[esp]
1157 lea ecx, DWORD PTR 1352829926[esi*1+ecx]
1162 mov esi, DWORD PTR 16[esp]
1168 lea ebx, DWORD PTR 1352829926[edi*1+ebx]
1173 mov edi, DWORD PTR 52[esp]
1179 lea eax, DWORD PTR 1352829926[esi*1+eax]
1188 mov esi, DWORD PTR 28[esp]
1190 lea ebp, DWORD PTR 1548603684[edi+ebp]
1201 mov esi, DWORD PTR 48[esp]
1203 lea edx, DWORD PTR 1548603684[edi+edx]
1214 mov esi, DWORD PTR 16[esp]
1216 lea ecx, DWORD PTR 1548603684[edi+ecx]
1227 mov esi, DWORD PTR 32[esp]
1229 lea ebx, DWORD PTR 1548603684[edi+ebx]
1240 mov esi, DWORD PTR 4[esp]
1242 lea eax, DWORD PTR 1548603684[edi+eax]
1253 mov esi, DWORD PTR 56[esp]
1255 lea ebp, DWORD PTR 1548603684[edi+ebp]
1266 mov esi, DWORD PTR 24[esp]
1268 lea edx, DWORD PTR 1548603684[edi+edx]
1279 mov esi, DWORD PTR 44[esp]
1281 lea ecx, DWORD PTR 1548603684[edi+ecx]
1292 mov esi, DWORD PTR 60[esp]
1294 lea ebx, DWORD PTR 1548603684[edi+ebx]
1305 mov esi, DWORD PTR 64[esp]
1307 lea eax, DWORD PTR 1548603684[edi+eax]
1318 mov esi, DWORD PTR 36[esp]
1320 lea ebp, DWORD PTR 1548603684[edi+ebp]
1331 mov esi, DWORD PTR 52[esp]
1333 lea edx, DWORD PTR 1548603684[edi+edx]
1344 mov esi, DWORD PTR 20[esp]
1346 lea ecx, DWORD PTR 1548603684[edi+ecx]
1357 mov esi, DWORD PTR 40[esp]
1359 lea ebx, DWORD PTR 1548603684[edi+ebx]
1370 mov esi, DWORD PTR 8[esp]
1372 lea eax, DWORD PTR 1548603684[edi+eax]
1383 mov esi, DWORD PTR 12[esp]
1385 lea ebp, DWORD PTR 1548603684[edi+ebp]
1392 mov esi, DWORD PTR 64[esp]
1398 lea edx, DWORD PTR 1836072691[edi*1+edx]
1403 mov edi, DWORD PTR 24[esp]
1409 lea ecx, DWORD PTR 1836072691[esi*1+ecx]
1414 mov esi, DWORD PTR 8[esp]
1420 lea ebx, DWORD PTR 1836072691[edi*1+ebx]
1425 mov edi, DWORD PTR 16[esp]
1431 lea eax, DWORD PTR 1836072691[esi*1+eax]
1436 mov esi, DWORD PTR 32[esp]
1442 lea ebp, DWORD PTR 1836072691[edi*1+ebp]
1447 mov edi, DWORD PTR 60[esp]
1453 lea edx, DWORD PTR 1836072691[esi*1+edx]
1458 mov esi, DWORD PTR 28[esp]
1464 lea ecx, DWORD PTR 1836072691[edi*1+ecx]
1469 mov edi, DWORD PTR 40[esp]
1475 lea ebx, DWORD PTR 1836072691[esi*1+ebx]
1480 mov esi, DWORD PTR 48[esp]
1486 lea eax, DWORD PTR 1836072691[edi*1+eax]
1491 mov edi, DWORD PTR 36[esp]
1497 lea ebp, DWORD PTR 1836072691[esi*1+ebp]
1502 mov esi, DWORD PTR 52[esp]
1508 lea edx, DWORD PTR 1836072691[edi*1+edx]
1513 mov edi, DWORD PTR 12[esp]
1519 lea ecx, DWORD PTR 1836072691[esi*1+ecx]
1524 mov esi, DWORD PTR 44[esp]
1530 lea ebx, DWORD PTR 1836072691[edi*1+ebx]
1535 mov edi, DWORD PTR 4[esp]
1541 lea eax, DWORD PTR 1836072691[esi*1+eax]
1546 mov esi, DWORD PTR 20[esp]
1552 lea ebp, DWORD PTR 1836072691[edi*1+ebp]
1557 mov edi, DWORD PTR 56[esp]
1561 mov edi, DWORD PTR 36[esp]
1563 lea edx, DWORD PTR 1836072691[esi*1+edx]
1574 mov esi, DWORD PTR 28[esp]
1576 lea ecx, DWORD PTR 2053994217[edi*1+ecx]
1587 mov edi, DWORD PTR 20[esp]
1589 lea ebx, DWORD PTR 2053994217[esi*1+ebx]
1600 mov esi, DWORD PTR 8[esp]
1602 lea eax, DWORD PTR 2053994217[edi*1+eax]
1613 mov edi, DWORD PTR 16[esp]
1615 lea ebp, DWORD PTR 2053994217[esi*1+ebp]
1626 mov esi, DWORD PTR 48[esp]
1628 lea edx, DWORD PTR 2053994217[edi*1+edx]
1639 mov edi, DWORD PTR 64[esp]
1641 lea ecx, DWORD PTR 2053994217[esi*1+ecx]
1652 mov esi, DWORD PTR 4[esp]
1654 lea ebx, DWORD PTR 2053994217[edi*1+ebx]
1665 mov edi, DWORD PTR 24[esp]
1667 lea eax, DWORD PTR 2053994217[esi*1+eax]
1678 mov esi, DWORD PTR 52[esp]
1680 lea ebp, DWORD PTR 2053994217[edi*1+ebp]
1691 mov edi, DWORD PTR 12[esp]
1693 lea edx, DWORD PTR 2053994217[esi*1+edx]
1704 mov esi, DWORD PTR 56[esp]
1706 lea ecx, DWORD PTR 2053994217[edi*1+ecx]
1717 mov edi, DWORD PTR 40[esp]
1719 lea ebx, DWORD PTR 2053994217[esi*1+ebx]
1730 mov esi, DWORD PTR 32[esp]
1732 lea eax, DWORD PTR 2053994217[edi*1+eax]
1743 mov edi, DWORD PTR 44[esp]
1745 lea ebp, DWORD PTR 2053994217[esi*1+ebp]
1756 mov esi, DWORD PTR 60[esp]
1758 lea edx, DWORD PTR 2053994217[edi*1+edx]
1771 lea ecx, DWORD PTR 2053994217[edi*1+ecx]
1776 mov edi, DWORD PTR 52[esp]
1786 mov edi, DWORD PTR 64[esp]
1796 mov edi, DWORD PTR 44[esp]
1806 mov edi, DWORD PTR 20[esp]
1816 mov edi, DWORD PTR 8[esp]
1826 mov edi, DWORD PTR 24[esp]
1836 mov edi, DWORD PTR 36[esp]
1846 mov edi, DWORD PTR 32[esp]
1856 mov edi, DWORD PTR 28[esp]
1866 mov edi, DWORD PTR 12[esp]
1876 mov edi, DWORD PTR 56[esp]
1886 mov edi, DWORD PTR 60[esp]
1896 mov edi, DWORD PTR 4[esp]
1906 mov edi, DWORD PTR 16[esp]
1916 mov edi, DWORD PTR 40[esp]
1926 mov edi, DWORD PTR 48[esp]
1931 mov edi, DWORD PTR 108[esp]
1934 mov esi, DWORD PTR 4[edi]
1936 mov esi, DWORD PTR 76[esp]
1938 mov esi, DWORD PTR 8[edi]
1940 mov esi, DWORD PTR 80[esp]
1942 mov esi, DWORD PTR 12[edi]
1944 mov esi, DWORD PTR 84[esp]
1946 mov esi, DWORD PTR 16[edi]
1948 mov esi, DWORD PTR 68[esp]
1950 mov esi, DWORD PTR [edi]
1952 mov esi, DWORD PTR 72[esp]
1954 mov DWORD PTR [edi],edx
1955 mov DWORD PTR 4[edi],ebp
1956 mov DWORD PTR 8[edi],eax
1957 mov DWORD PTR 12[edi],ebx
1958 mov DWORD PTR 16[edi],ecx
1959 mov edi, DWORD PTR [esp]
1960 mov esi, DWORD PTR 112[esp]
1962 mov edi, DWORD PTR 108[esp]
1970 _ripemd160_block_x86 ENDP