1 ; Don't even think of reading this code
2 ; It was automatically generated by crypt586.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>
12 EXTRN _des_SPtrans:DWORD
13 _fcrypt_body PROC NEAR
22 mov ebp, DWORD PTR 24[esp]
27 mov eax, DWORD PTR 32[esp]
30 mov ecx, DWORD PTR 36[esp]
40 mov ebx, DWORD PTR [ebp]
42 mov ecx, DWORD PTR 4[ebp]
53 mov ebp, DWORD PTR _des_SPtrans[ebx]
56 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
60 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
64 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
66 mov ebp, DWORD PTR 28[esp]
70 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
72 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
74 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
76 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
80 mov eax, DWORD PTR 32[esp]
83 mov ecx, DWORD PTR 36[esp]
93 mov ebx, DWORD PTR 8[ebp]
95 mov ecx, DWORD PTR 12[ebp]
106 mov ebp, DWORD PTR _des_SPtrans[ebx]
109 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
113 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
117 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
119 mov ebp, DWORD PTR 28[esp]
123 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
125 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
127 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
129 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
133 mov eax, DWORD PTR 32[esp]
136 mov ecx, DWORD PTR 36[esp]
146 mov ebx, DWORD PTR 16[ebp]
148 mov ecx, DWORD PTR 20[ebp]
159 mov ebp, DWORD PTR _des_SPtrans[ebx]
162 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
166 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
170 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
172 mov ebp, DWORD PTR 28[esp]
176 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
178 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
180 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
182 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
186 mov eax, DWORD PTR 32[esp]
189 mov ecx, DWORD PTR 36[esp]
199 mov ebx, DWORD PTR 24[ebp]
201 mov ecx, DWORD PTR 28[ebp]
212 mov ebp, DWORD PTR _des_SPtrans[ebx]
215 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
219 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
223 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
225 mov ebp, DWORD PTR 28[esp]
229 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
231 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
233 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
235 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
239 mov eax, DWORD PTR 32[esp]
242 mov ecx, DWORD PTR 36[esp]
252 mov ebx, DWORD PTR 32[ebp]
254 mov ecx, DWORD PTR 36[ebp]
265 mov ebp, DWORD PTR _des_SPtrans[ebx]
268 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
272 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
276 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
278 mov ebp, DWORD PTR 28[esp]
282 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
284 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
286 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
288 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
292 mov eax, DWORD PTR 32[esp]
295 mov ecx, DWORD PTR 36[esp]
305 mov ebx, DWORD PTR 40[ebp]
307 mov ecx, DWORD PTR 44[ebp]
318 mov ebp, DWORD PTR _des_SPtrans[ebx]
321 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
325 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
329 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
331 mov ebp, DWORD PTR 28[esp]
335 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
337 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
339 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
341 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
345 mov eax, DWORD PTR 32[esp]
348 mov ecx, DWORD PTR 36[esp]
358 mov ebx, DWORD PTR 48[ebp]
360 mov ecx, DWORD PTR 52[ebp]
371 mov ebp, DWORD PTR _des_SPtrans[ebx]
374 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
378 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
382 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
384 mov ebp, DWORD PTR 28[esp]
388 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
390 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
392 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
394 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
398 mov eax, DWORD PTR 32[esp]
401 mov ecx, DWORD PTR 36[esp]
411 mov ebx, DWORD PTR 56[ebp]
413 mov ecx, DWORD PTR 60[ebp]
424 mov ebp, DWORD PTR _des_SPtrans[ebx]
427 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
431 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
435 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
437 mov ebp, DWORD PTR 28[esp]
441 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
443 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
445 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
447 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
451 mov eax, DWORD PTR 32[esp]
454 mov ecx, DWORD PTR 36[esp]
464 mov ebx, DWORD PTR 64[ebp]
466 mov ecx, DWORD PTR 68[ebp]
477 mov ebp, DWORD PTR _des_SPtrans[ebx]
480 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
484 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
488 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
490 mov ebp, DWORD PTR 28[esp]
494 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
496 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
498 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
500 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
504 mov eax, DWORD PTR 32[esp]
507 mov ecx, DWORD PTR 36[esp]
517 mov ebx, DWORD PTR 72[ebp]
519 mov ecx, DWORD PTR 76[ebp]
530 mov ebp, DWORD PTR _des_SPtrans[ebx]
533 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
537 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
541 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
543 mov ebp, DWORD PTR 28[esp]
547 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
549 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
551 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
553 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
557 mov eax, DWORD PTR 32[esp]
560 mov ecx, DWORD PTR 36[esp]
570 mov ebx, DWORD PTR 80[ebp]
572 mov ecx, DWORD PTR 84[ebp]
583 mov ebp, DWORD PTR _des_SPtrans[ebx]
586 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
590 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
594 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
596 mov ebp, DWORD PTR 28[esp]
600 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
602 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
604 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
606 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
610 mov eax, DWORD PTR 32[esp]
613 mov ecx, DWORD PTR 36[esp]
623 mov ebx, DWORD PTR 88[ebp]
625 mov ecx, DWORD PTR 92[ebp]
636 mov ebp, DWORD PTR _des_SPtrans[ebx]
639 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
643 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
647 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
649 mov ebp, DWORD PTR 28[esp]
653 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
655 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
657 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
659 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
663 mov eax, DWORD PTR 32[esp]
666 mov ecx, DWORD PTR 36[esp]
676 mov ebx, DWORD PTR 96[ebp]
678 mov ecx, DWORD PTR 100[ebp]
689 mov ebp, DWORD PTR _des_SPtrans[ebx]
692 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
696 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
700 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
702 mov ebp, DWORD PTR 28[esp]
706 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
708 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
710 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
712 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
716 mov eax, DWORD PTR 32[esp]
719 mov ecx, DWORD PTR 36[esp]
729 mov ebx, DWORD PTR 104[ebp]
731 mov ecx, DWORD PTR 108[ebp]
742 mov ebp, DWORD PTR _des_SPtrans[ebx]
745 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
749 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
753 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
755 mov ebp, DWORD PTR 28[esp]
759 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
761 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
763 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
765 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
769 mov eax, DWORD PTR 32[esp]
772 mov ecx, DWORD PTR 36[esp]
782 mov ebx, DWORD PTR 112[ebp]
784 mov ecx, DWORD PTR 116[ebp]
795 mov ebp, DWORD PTR _des_SPtrans[ebx]
798 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
802 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
806 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
808 mov ebp, DWORD PTR 28[esp]
812 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
814 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
816 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
818 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
822 mov eax, DWORD PTR 32[esp]
825 mov ecx, DWORD PTR 36[esp]
835 mov ebx, DWORD PTR 120[ebp]
837 mov ecx, DWORD PTR 124[ebp]
848 mov ebp, DWORD PTR _des_SPtrans[ebx]
851 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
855 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
859 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
861 mov ebp, DWORD PTR 28[esp]
865 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
867 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
869 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
871 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
873 mov ebx, DWORD PTR [esp]
878 mov DWORD PTR [esp],ebx
882 mov edx, DWORD PTR 24[esp]
919 mov DWORD PTR [edx],eax
920 mov DWORD PTR 4[edx],edi