1 /* Run the C pre-processor over this file with one of the following defined
2 * ELF - elf object files,
3 * OUT - a.out object files,
4 * BSDI - BSDI style a.out object files
5 * SOL - Solaris style elf
8 #define TYPE(a,b) .type a,b
9 #define SIZE(a,b) .size a,b
11 #if defined(OUT) || defined(BSDI)
12 #define des_SPtrans _des_SPtrans
28 #if defined(ELF) || defined(SOL)
34 You need to define one of
35 ELF - elf systems - linux-elf, NetBSD and DG-UX
36 OUT - a.out systems - linux-a.out and FreeBSD
37 SOL - solaris systems, which are elf with strange comment lines
38 BSDI - a.out with a very primative version of as.
41 /* Let the Assembler begin :-) */
42 /* Don't even think of reading this code */
43 /* It was automatically generated by crypt586.pl */
44 /* Which is a perl program used to generate the x86 assember for */
45 /* any of elf, a.out, BSDI,Win32, or Solaris */
46 /* eric <eay@cryptsoft.com> */
54 TYPE(fcrypt_body,@function)
62 /* Load the 2 words */
89 andl $0xfcfcfcfc, %eax
91 andl $0xcfcfcfcf, %edx
96 movl des_SPtrans(%ebx),%ebp
99 movl 0x200+des_SPtrans(%ecx),%ebp
103 movl 0x100+des_SPtrans(%ebx),%ebp
107 movl 0x300+des_SPtrans(%ecx),%ebp
113 movl 0x600+des_SPtrans(%ebx),%ebx
115 movl 0x700+des_SPtrans(%ecx),%ebx
117 movl 0x400+des_SPtrans(%eax),%ebx
119 movl 0x500+des_SPtrans(%edx),%ebx
142 andl $0xfcfcfcfc, %eax
144 andl $0xcfcfcfcf, %edx
149 movl des_SPtrans(%ebx),%ebp
152 movl 0x200+des_SPtrans(%ecx),%ebp
156 movl 0x100+des_SPtrans(%ebx),%ebp
160 movl 0x300+des_SPtrans(%ecx),%ebp
166 movl 0x600+des_SPtrans(%ebx),%ebx
168 movl 0x700+des_SPtrans(%ecx),%ebx
170 movl 0x400+des_SPtrans(%eax),%ebx
172 movl 0x500+des_SPtrans(%edx),%ebx
195 andl $0xfcfcfcfc, %eax
197 andl $0xcfcfcfcf, %edx
202 movl des_SPtrans(%ebx),%ebp
205 movl 0x200+des_SPtrans(%ecx),%ebp
209 movl 0x100+des_SPtrans(%ebx),%ebp
213 movl 0x300+des_SPtrans(%ecx),%ebp
219 movl 0x600+des_SPtrans(%ebx),%ebx
221 movl 0x700+des_SPtrans(%ecx),%ebx
223 movl 0x400+des_SPtrans(%eax),%ebx
225 movl 0x500+des_SPtrans(%edx),%ebx
248 andl $0xfcfcfcfc, %eax
250 andl $0xcfcfcfcf, %edx
255 movl des_SPtrans(%ebx),%ebp
258 movl 0x200+des_SPtrans(%ecx),%ebp
262 movl 0x100+des_SPtrans(%ebx),%ebp
266 movl 0x300+des_SPtrans(%ecx),%ebp
272 movl 0x600+des_SPtrans(%ebx),%ebx
274 movl 0x700+des_SPtrans(%ecx),%ebx
276 movl 0x400+des_SPtrans(%eax),%ebx
278 movl 0x500+des_SPtrans(%edx),%ebx
301 andl $0xfcfcfcfc, %eax
303 andl $0xcfcfcfcf, %edx
308 movl des_SPtrans(%ebx),%ebp
311 movl 0x200+des_SPtrans(%ecx),%ebp
315 movl 0x100+des_SPtrans(%ebx),%ebp
319 movl 0x300+des_SPtrans(%ecx),%ebp
325 movl 0x600+des_SPtrans(%ebx),%ebx
327 movl 0x700+des_SPtrans(%ecx),%ebx
329 movl 0x400+des_SPtrans(%eax),%ebx
331 movl 0x500+des_SPtrans(%edx),%ebx
354 andl $0xfcfcfcfc, %eax
356 andl $0xcfcfcfcf, %edx
361 movl des_SPtrans(%ebx),%ebp
364 movl 0x200+des_SPtrans(%ecx),%ebp
368 movl 0x100+des_SPtrans(%ebx),%ebp
372 movl 0x300+des_SPtrans(%ecx),%ebp
378 movl 0x600+des_SPtrans(%ebx),%ebx
380 movl 0x700+des_SPtrans(%ecx),%ebx
382 movl 0x400+des_SPtrans(%eax),%ebx
384 movl 0x500+des_SPtrans(%edx),%ebx
407 andl $0xfcfcfcfc, %eax
409 andl $0xcfcfcfcf, %edx
414 movl des_SPtrans(%ebx),%ebp
417 movl 0x200+des_SPtrans(%ecx),%ebp
421 movl 0x100+des_SPtrans(%ebx),%ebp
425 movl 0x300+des_SPtrans(%ecx),%ebp
431 movl 0x600+des_SPtrans(%ebx),%ebx
433 movl 0x700+des_SPtrans(%ecx),%ebx
435 movl 0x400+des_SPtrans(%eax),%ebx
437 movl 0x500+des_SPtrans(%edx),%ebx
460 andl $0xfcfcfcfc, %eax
462 andl $0xcfcfcfcf, %edx
467 movl des_SPtrans(%ebx),%ebp
470 movl 0x200+des_SPtrans(%ecx),%ebp
474 movl 0x100+des_SPtrans(%ebx),%ebp
478 movl 0x300+des_SPtrans(%ecx),%ebp
484 movl 0x600+des_SPtrans(%ebx),%ebx
486 movl 0x700+des_SPtrans(%ecx),%ebx
488 movl 0x400+des_SPtrans(%eax),%ebx
490 movl 0x500+des_SPtrans(%edx),%ebx
513 andl $0xfcfcfcfc, %eax
515 andl $0xcfcfcfcf, %edx
520 movl des_SPtrans(%ebx),%ebp
523 movl 0x200+des_SPtrans(%ecx),%ebp
527 movl 0x100+des_SPtrans(%ebx),%ebp
531 movl 0x300+des_SPtrans(%ecx),%ebp
537 movl 0x600+des_SPtrans(%ebx),%ebx
539 movl 0x700+des_SPtrans(%ecx),%ebx
541 movl 0x400+des_SPtrans(%eax),%ebx
543 movl 0x500+des_SPtrans(%edx),%ebx
566 andl $0xfcfcfcfc, %eax
568 andl $0xcfcfcfcf, %edx
573 movl des_SPtrans(%ebx),%ebp
576 movl 0x200+des_SPtrans(%ecx),%ebp
580 movl 0x100+des_SPtrans(%ebx),%ebp
584 movl 0x300+des_SPtrans(%ecx),%ebp
590 movl 0x600+des_SPtrans(%ebx),%ebx
592 movl 0x700+des_SPtrans(%ecx),%ebx
594 movl 0x400+des_SPtrans(%eax),%ebx
596 movl 0x500+des_SPtrans(%edx),%ebx
619 andl $0xfcfcfcfc, %eax
621 andl $0xcfcfcfcf, %edx
626 movl des_SPtrans(%ebx),%ebp
629 movl 0x200+des_SPtrans(%ecx),%ebp
633 movl 0x100+des_SPtrans(%ebx),%ebp
637 movl 0x300+des_SPtrans(%ecx),%ebp
643 movl 0x600+des_SPtrans(%ebx),%ebx
645 movl 0x700+des_SPtrans(%ecx),%ebx
647 movl 0x400+des_SPtrans(%eax),%ebx
649 movl 0x500+des_SPtrans(%edx),%ebx
672 andl $0xfcfcfcfc, %eax
674 andl $0xcfcfcfcf, %edx
679 movl des_SPtrans(%ebx),%ebp
682 movl 0x200+des_SPtrans(%ecx),%ebp
686 movl 0x100+des_SPtrans(%ebx),%ebp
690 movl 0x300+des_SPtrans(%ecx),%ebp
696 movl 0x600+des_SPtrans(%ebx),%ebx
698 movl 0x700+des_SPtrans(%ecx),%ebx
700 movl 0x400+des_SPtrans(%eax),%ebx
702 movl 0x500+des_SPtrans(%edx),%ebx
725 andl $0xfcfcfcfc, %eax
727 andl $0xcfcfcfcf, %edx
732 movl des_SPtrans(%ebx),%ebp
735 movl 0x200+des_SPtrans(%ecx),%ebp
739 movl 0x100+des_SPtrans(%ebx),%ebp
743 movl 0x300+des_SPtrans(%ecx),%ebp
749 movl 0x600+des_SPtrans(%ebx),%ebx
751 movl 0x700+des_SPtrans(%ecx),%ebx
753 movl 0x400+des_SPtrans(%eax),%ebx
755 movl 0x500+des_SPtrans(%edx),%ebx
778 andl $0xfcfcfcfc, %eax
780 andl $0xcfcfcfcf, %edx
785 movl des_SPtrans(%ebx),%ebp
788 movl 0x200+des_SPtrans(%ecx),%ebp
792 movl 0x100+des_SPtrans(%ebx),%ebp
796 movl 0x300+des_SPtrans(%ecx),%ebp
802 movl 0x600+des_SPtrans(%ebx),%ebx
804 movl 0x700+des_SPtrans(%ecx),%ebx
806 movl 0x400+des_SPtrans(%eax),%ebx
808 movl 0x500+des_SPtrans(%edx),%ebx
831 andl $0xfcfcfcfc, %eax
833 andl $0xcfcfcfcf, %edx
838 movl des_SPtrans(%ebx),%ebp
841 movl 0x200+des_SPtrans(%ecx),%ebp
845 movl 0x100+des_SPtrans(%ebx),%ebp
849 movl 0x300+des_SPtrans(%ecx),%ebp
855 movl 0x600+des_SPtrans(%ebx),%ebx
857 movl 0x700+des_SPtrans(%ecx),%ebx
859 movl 0x400+des_SPtrans(%eax),%ebx
861 movl 0x500+des_SPtrans(%edx),%ebx
884 andl $0xfcfcfcfc, %eax
886 andl $0xcfcfcfcf, %edx
891 movl des_SPtrans(%ebx),%ebp
894 movl 0x200+des_SPtrans(%ecx),%ebp
898 movl 0x100+des_SPtrans(%ebx),%ebp
902 movl 0x300+des_SPtrans(%ecx),%ebp
908 movl 0x600+des_SPtrans(%ebx),%ebx
910 movl 0x700+des_SPtrans(%ecx),%ebx
912 movl 0x400+des_SPtrans(%eax),%ebx
914 movl 0x500+des_SPtrans(%edx),%ebx
927 .byte 207 /* rorl $1 %edi */
930 andl $0xaaaaaaaa, %esi
937 andl $0x03fc03fc, %eax
944 andl $0x33333333, %esi
951 andl $0xfff0000f, %edi
958 andl $0xf0f0f0f0, %esi
972 SIZE(fcrypt_body,.fcrypt_body_end-fcrypt_body)