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
13 #define fcrypt_body _fcrypt_body
31 #if defined(ELF) || defined(SOL)
37 You need to define one of
38 ELF - elf systems - linux-elf, NetBSD and DG-UX
39 OUT - a.out systems - linux-a.out and FreeBSD
40 SOL - solaris systems, which are elf with strange comment lines
41 BSDI - a.out with a very primative version of as.
44 /* Let the Assembler begin :-) */
45 /* Don't even think of reading this code */
46 /* It was automatically generated by crypt586.pl */
47 /* Which is a perl program used to generate the x86 assember for */
48 /* any of elf, a.out, BSDI,Win32, or Solaris */
49 /* eric <eay@cryptsoft.com> */
57 TYPE(fcrypt_body,@function)
65 /* Load the 2 words */
92 andl $0xfcfcfcfc, %eax
94 andl $0xcfcfcfcf, %edx
99 movl des_SPtrans(%ebx),%ebp
102 movl 0x200+des_SPtrans(%ecx),%ebp
106 movl 0x100+des_SPtrans(%ebx),%ebp
110 movl 0x300+des_SPtrans(%ecx),%ebp
116 movl 0x600+des_SPtrans(%ebx),%ebx
118 movl 0x700+des_SPtrans(%ecx),%ebx
120 movl 0x400+des_SPtrans(%eax),%ebx
122 movl 0x500+des_SPtrans(%edx),%ebx
145 andl $0xfcfcfcfc, %eax
147 andl $0xcfcfcfcf, %edx
152 movl des_SPtrans(%ebx),%ebp
155 movl 0x200+des_SPtrans(%ecx),%ebp
159 movl 0x100+des_SPtrans(%ebx),%ebp
163 movl 0x300+des_SPtrans(%ecx),%ebp
169 movl 0x600+des_SPtrans(%ebx),%ebx
171 movl 0x700+des_SPtrans(%ecx),%ebx
173 movl 0x400+des_SPtrans(%eax),%ebx
175 movl 0x500+des_SPtrans(%edx),%ebx
198 andl $0xfcfcfcfc, %eax
200 andl $0xcfcfcfcf, %edx
205 movl des_SPtrans(%ebx),%ebp
208 movl 0x200+des_SPtrans(%ecx),%ebp
212 movl 0x100+des_SPtrans(%ebx),%ebp
216 movl 0x300+des_SPtrans(%ecx),%ebp
222 movl 0x600+des_SPtrans(%ebx),%ebx
224 movl 0x700+des_SPtrans(%ecx),%ebx
226 movl 0x400+des_SPtrans(%eax),%ebx
228 movl 0x500+des_SPtrans(%edx),%ebx
251 andl $0xfcfcfcfc, %eax
253 andl $0xcfcfcfcf, %edx
258 movl des_SPtrans(%ebx),%ebp
261 movl 0x200+des_SPtrans(%ecx),%ebp
265 movl 0x100+des_SPtrans(%ebx),%ebp
269 movl 0x300+des_SPtrans(%ecx),%ebp
275 movl 0x600+des_SPtrans(%ebx),%ebx
277 movl 0x700+des_SPtrans(%ecx),%ebx
279 movl 0x400+des_SPtrans(%eax),%ebx
281 movl 0x500+des_SPtrans(%edx),%ebx
304 andl $0xfcfcfcfc, %eax
306 andl $0xcfcfcfcf, %edx
311 movl des_SPtrans(%ebx),%ebp
314 movl 0x200+des_SPtrans(%ecx),%ebp
318 movl 0x100+des_SPtrans(%ebx),%ebp
322 movl 0x300+des_SPtrans(%ecx),%ebp
328 movl 0x600+des_SPtrans(%ebx),%ebx
330 movl 0x700+des_SPtrans(%ecx),%ebx
332 movl 0x400+des_SPtrans(%eax),%ebx
334 movl 0x500+des_SPtrans(%edx),%ebx
357 andl $0xfcfcfcfc, %eax
359 andl $0xcfcfcfcf, %edx
364 movl des_SPtrans(%ebx),%ebp
367 movl 0x200+des_SPtrans(%ecx),%ebp
371 movl 0x100+des_SPtrans(%ebx),%ebp
375 movl 0x300+des_SPtrans(%ecx),%ebp
381 movl 0x600+des_SPtrans(%ebx),%ebx
383 movl 0x700+des_SPtrans(%ecx),%ebx
385 movl 0x400+des_SPtrans(%eax),%ebx
387 movl 0x500+des_SPtrans(%edx),%ebx
410 andl $0xfcfcfcfc, %eax
412 andl $0xcfcfcfcf, %edx
417 movl des_SPtrans(%ebx),%ebp
420 movl 0x200+des_SPtrans(%ecx),%ebp
424 movl 0x100+des_SPtrans(%ebx),%ebp
428 movl 0x300+des_SPtrans(%ecx),%ebp
434 movl 0x600+des_SPtrans(%ebx),%ebx
436 movl 0x700+des_SPtrans(%ecx),%ebx
438 movl 0x400+des_SPtrans(%eax),%ebx
440 movl 0x500+des_SPtrans(%edx),%ebx
463 andl $0xfcfcfcfc, %eax
465 andl $0xcfcfcfcf, %edx
470 movl des_SPtrans(%ebx),%ebp
473 movl 0x200+des_SPtrans(%ecx),%ebp
477 movl 0x100+des_SPtrans(%ebx),%ebp
481 movl 0x300+des_SPtrans(%ecx),%ebp
487 movl 0x600+des_SPtrans(%ebx),%ebx
489 movl 0x700+des_SPtrans(%ecx),%ebx
491 movl 0x400+des_SPtrans(%eax),%ebx
493 movl 0x500+des_SPtrans(%edx),%ebx
516 andl $0xfcfcfcfc, %eax
518 andl $0xcfcfcfcf, %edx
523 movl des_SPtrans(%ebx),%ebp
526 movl 0x200+des_SPtrans(%ecx),%ebp
530 movl 0x100+des_SPtrans(%ebx),%ebp
534 movl 0x300+des_SPtrans(%ecx),%ebp
540 movl 0x600+des_SPtrans(%ebx),%ebx
542 movl 0x700+des_SPtrans(%ecx),%ebx
544 movl 0x400+des_SPtrans(%eax),%ebx
546 movl 0x500+des_SPtrans(%edx),%ebx
569 andl $0xfcfcfcfc, %eax
571 andl $0xcfcfcfcf, %edx
576 movl des_SPtrans(%ebx),%ebp
579 movl 0x200+des_SPtrans(%ecx),%ebp
583 movl 0x100+des_SPtrans(%ebx),%ebp
587 movl 0x300+des_SPtrans(%ecx),%ebp
593 movl 0x600+des_SPtrans(%ebx),%ebx
595 movl 0x700+des_SPtrans(%ecx),%ebx
597 movl 0x400+des_SPtrans(%eax),%ebx
599 movl 0x500+des_SPtrans(%edx),%ebx
622 andl $0xfcfcfcfc, %eax
624 andl $0xcfcfcfcf, %edx
629 movl des_SPtrans(%ebx),%ebp
632 movl 0x200+des_SPtrans(%ecx),%ebp
636 movl 0x100+des_SPtrans(%ebx),%ebp
640 movl 0x300+des_SPtrans(%ecx),%ebp
646 movl 0x600+des_SPtrans(%ebx),%ebx
648 movl 0x700+des_SPtrans(%ecx),%ebx
650 movl 0x400+des_SPtrans(%eax),%ebx
652 movl 0x500+des_SPtrans(%edx),%ebx
675 andl $0xfcfcfcfc, %eax
677 andl $0xcfcfcfcf, %edx
682 movl des_SPtrans(%ebx),%ebp
685 movl 0x200+des_SPtrans(%ecx),%ebp
689 movl 0x100+des_SPtrans(%ebx),%ebp
693 movl 0x300+des_SPtrans(%ecx),%ebp
699 movl 0x600+des_SPtrans(%ebx),%ebx
701 movl 0x700+des_SPtrans(%ecx),%ebx
703 movl 0x400+des_SPtrans(%eax),%ebx
705 movl 0x500+des_SPtrans(%edx),%ebx
728 andl $0xfcfcfcfc, %eax
730 andl $0xcfcfcfcf, %edx
735 movl des_SPtrans(%ebx),%ebp
738 movl 0x200+des_SPtrans(%ecx),%ebp
742 movl 0x100+des_SPtrans(%ebx),%ebp
746 movl 0x300+des_SPtrans(%ecx),%ebp
752 movl 0x600+des_SPtrans(%ebx),%ebx
754 movl 0x700+des_SPtrans(%ecx),%ebx
756 movl 0x400+des_SPtrans(%eax),%ebx
758 movl 0x500+des_SPtrans(%edx),%ebx
781 andl $0xfcfcfcfc, %eax
783 andl $0xcfcfcfcf, %edx
788 movl des_SPtrans(%ebx),%ebp
791 movl 0x200+des_SPtrans(%ecx),%ebp
795 movl 0x100+des_SPtrans(%ebx),%ebp
799 movl 0x300+des_SPtrans(%ecx),%ebp
805 movl 0x600+des_SPtrans(%ebx),%ebx
807 movl 0x700+des_SPtrans(%ecx),%ebx
809 movl 0x400+des_SPtrans(%eax),%ebx
811 movl 0x500+des_SPtrans(%edx),%ebx
834 andl $0xfcfcfcfc, %eax
836 andl $0xcfcfcfcf, %edx
841 movl des_SPtrans(%ebx),%ebp
844 movl 0x200+des_SPtrans(%ecx),%ebp
848 movl 0x100+des_SPtrans(%ebx),%ebp
852 movl 0x300+des_SPtrans(%ecx),%ebp
858 movl 0x600+des_SPtrans(%ebx),%ebx
860 movl 0x700+des_SPtrans(%ecx),%ebx
862 movl 0x400+des_SPtrans(%eax),%ebx
864 movl 0x500+des_SPtrans(%edx),%ebx
887 andl $0xfcfcfcfc, %eax
889 andl $0xcfcfcfcf, %edx
894 movl des_SPtrans(%ebx),%ebp
897 movl 0x200+des_SPtrans(%ecx),%ebp
901 movl 0x100+des_SPtrans(%ebx),%ebp
905 movl 0x300+des_SPtrans(%ecx),%ebp
911 movl 0x600+des_SPtrans(%ebx),%ebx
913 movl 0x700+des_SPtrans(%ecx),%ebx
915 movl 0x400+des_SPtrans(%eax),%ebx
917 movl 0x500+des_SPtrans(%edx),%ebx
930 .byte 207 /* rorl $1 %edi */
933 andl $0xaaaaaaaa, %esi
940 andl $0x03fc03fc, %eax
947 andl $0x33333333, %esi
954 andl $0xfff0000f, %edi
961 andl $0xf0f0f0f0, %esi
975 SIZE(fcrypt_body,.fcrypt_body_end-fcrypt_body)