⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yx86unix.cpp

📁 openssl是ssl的开源项目
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* Run the C pre-processor over this file with one of the following defined * ELF - elf object files, * OUT - a.out object files, * BSDI - BSDI style a.out object files * SOL - Solaris style elf */#define TYPE(a,b)       .type   a,b#define SIZE(a,b)       .size   a,b#if defined(OUT) || defined(BSDI)#define des_SPtrans _des_SPtrans#define fcrypt_body _fcrypt_body#endif#ifdef OUT#define OK	1#define ALIGN	4#endif#ifdef BSDI#define OK              1#define ALIGN           4#undef SIZE#undef TYPE#define SIZE(a,b)#define TYPE(a,b)#endif#if defined(ELF) || defined(SOL)#define OK              1#define ALIGN           16#endif#ifndef OKYou need to define one ofELF - elf systems - linux-elf, NetBSD and DG-UXOUT - a.out systems - linux-a.out and FreeBSDSOL - solaris systems, which are elf with strange comment linesBSDI - a.out with a very primative version of as.#endif/* Let the Assembler begin :-) */	/* Don't even think of reading this code */	/* It was automatically generated by crypt586.pl */	/* Which is a perl program used to generate the x86 assember for */	/* any of elf, a.out, BSDI,Win32, or Solaris */	/* eric <eay@cryptsoft.com> */	.file	"crypt586.s"	.version	"01.01"gcc2_compiled.:.text	.align ALIGN.globl fcrypt_body	TYPE(fcrypt_body,@function)fcrypt_body:	pushl	%ebp	pushl	%ebx	pushl	%esi	pushl	%edi	/* Load the 2 words */	xorl	%edi,		%edi	xorl	%esi,		%esi	movl	24(%esp),	%ebp	pushl	$25.L000start:	/* Round 0 */	movl	32(%esp),	%eax	movl	%esi,		%edx	shrl	$16,		%edx	movl	36(%esp),	%ecx	xorl	%esi,		%edx	andl	%edx,		%eax	andl	%ecx,		%edx	movl	%eax,		%ebx	sall	$16,		%ebx	movl	%edx,		%ecx	sall	$16,		%ecx	xorl	%ebx,		%eax	xorl	%ecx,		%edx	movl	(%ebp),		%ebx	xorl	%ebx,		%eax	movl	4(%ebp),	%ecx	xorl	%esi,		%eax	xorl	%esi,		%edx	xorl	%ecx,		%edx	andl	$0xfcfcfcfc,	%eax	xorl	%ebx,		%ebx	andl	$0xcfcfcfcf,	%edx	xorl	%ecx,		%ecx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%edi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%edi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movl	28(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%edi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%edi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%edi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%edi	/* Round 1 */	movl	32(%esp),	%eax	movl	%edi,		%edx	shrl	$16,		%edx	movl	36(%esp),	%ecx	xorl	%edi,		%edx	andl	%edx,		%eax	andl	%ecx,		%edx	movl	%eax,		%ebx	sall	$16,		%ebx	movl	%edx,		%ecx	sall	$16,		%ecx	xorl	%ebx,		%eax	xorl	%ecx,		%edx	movl	8(%ebp),	%ebx	xorl	%ebx,		%eax	movl	12(%ebp),	%ecx	xorl	%edi,		%eax	xorl	%edi,		%edx	xorl	%ecx,		%edx	andl	$0xfcfcfcfc,	%eax	xorl	%ebx,		%ebx	andl	$0xcfcfcfcf,	%edx	xorl	%ecx,		%ecx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%esi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%esi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movl	28(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%esi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%esi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%esi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%esi	/* Round 2 */	movl	32(%esp),	%eax	movl	%esi,		%edx	shrl	$16,		%edx	movl	36(%esp),	%ecx	xorl	%esi,		%edx	andl	%edx,		%eax	andl	%ecx,		%edx	movl	%eax,		%ebx	sall	$16,		%ebx	movl	%edx,		%ecx	sall	$16,		%ecx	xorl	%ebx,		%eax	xorl	%ecx,		%edx	movl	16(%ebp),	%ebx	xorl	%ebx,		%eax	movl	20(%ebp),	%ecx	xorl	%esi,		%eax	xorl	%esi,		%edx	xorl	%ecx,		%edx	andl	$0xfcfcfcfc,	%eax	xorl	%ebx,		%ebx	andl	$0xcfcfcfcf,	%edx	xorl	%ecx,		%ecx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%edi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%edi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movl	28(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%edi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%edi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%edi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%edi	/* Round 3 */	movl	32(%esp),	%eax	movl	%edi,		%edx	shrl	$16,		%edx	movl	36(%esp),	%ecx	xorl	%edi,		%edx	andl	%edx,		%eax	andl	%ecx,		%edx	movl	%eax,		%ebx	sall	$16,		%ebx	movl	%edx,		%ecx	sall	$16,		%ecx	xorl	%ebx,		%eax	xorl	%ecx,		%edx	movl	24(%ebp),	%ebx	xorl	%ebx,		%eax	movl	28(%ebp),	%ecx	xorl	%edi,		%eax	xorl	%edi,		%edx	xorl	%ecx,		%edx	andl	$0xfcfcfcfc,	%eax	xorl	%ebx,		%ebx	andl	$0xcfcfcfcf,	%edx	xorl	%ecx,		%ecx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%esi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%esi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movl	28(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%esi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%esi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%esi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%esi	/* Round 4 */	movl	32(%esp),	%eax	movl	%esi,		%edx	shrl	$16,		%edx	movl	36(%esp),	%ecx	xorl	%esi,		%edx	andl	%edx,		%eax	andl	%ecx,		%edx	movl	%eax,		%ebx	sall	$16,		%ebx	movl	%edx,		%ecx	sall	$16,		%ecx	xorl	%ebx,		%eax	xorl	%ecx,		%edx	movl	32(%ebp),	%ebx	xorl	%ebx,		%eax	movl	36(%ebp),	%ecx	xorl	%esi,		%eax	xorl	%esi,		%edx	xorl	%ecx,		%edx	andl	$0xfcfcfcfc,	%eax	xorl	%ebx,		%ebx	andl	$0xcfcfcfcf,	%edx	xorl	%ecx,		%ecx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%edi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%edi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movl	28(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%edi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%edi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%edi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%edi	/* Round 5 */	movl	32(%esp),	%eax	movl	%edi,		%edx	shrl	$16,		%edx	movl	36(%esp),	%ecx	xorl	%edi,		%edx	andl	%edx,		%eax	andl	%ecx,		%edx	movl	%eax,		%ebx	sall	$16,		%ebx	movl	%edx,		%ecx	sall	$16,		%ecx	xorl	%ebx,		%eax	xorl	%ecx,		%edx	movl	40(%ebp),	%ebx	xorl	%ebx,		%eax	movl	44(%ebp),	%ecx	xorl	%edi,		%eax	xorl	%edi,		%edx	xorl	%ecx,		%edx	andl	$0xfcfcfcfc,	%eax	xorl	%ebx,		%ebx	andl	$0xcfcfcfcf,	%edx	xorl	%ecx,		%ecx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%esi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%esi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movl	28(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%esi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%esi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%esi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%esi	/* Round 6 */	movl	32(%esp),	%eax	movl	%esi,		%edx	shrl	$16,		%edx	movl	36(%esp),	%ecx	xorl	%esi,		%edx	andl	%edx,		%eax	andl	%ecx,		%edx	movl	%eax,		%ebx	sall	$16,		%ebx	movl	%edx,		%ecx	sall	$16,		%ecx	xorl	%ebx,		%eax	xorl	%ecx,		%edx	movl	48(%ebp),	%ebx	xorl	%ebx,		%eax	movl	52(%ebp),	%ecx	xorl	%esi,		%eax	xorl	%esi,		%edx	xorl	%ecx,		%edx	andl	$0xfcfcfcfc,	%eax	xorl	%ebx,		%ebx	andl	$0xcfcfcfcf,	%edx	xorl	%ecx,		%ecx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%edi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%edi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movl	28(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%edi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%edi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%edi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%edi	/* Round 7 */	movl	32(%esp),	%eax	movl	%edi,		%edx	shrl	$16,		%edx	movl	36(%esp),	%ecx	xorl	%edi,		%edx	andl	%edx,		%eax	andl	%ecx,		%edx	movl	%eax,		%ebx	sall	$16,		%ebx	movl	%edx,		%ecx	sall	$16,		%ecx	xorl	%ebx,		%eax	xorl	%ecx,		%edx	movl	56(%ebp),	%ebx	xorl	%ebx,		%eax	movl	60(%ebp),	%ecx	xorl	%edi,		%eax	xorl	%edi,		%edx	xorl	%ecx,		%edx	andl	$0xfcfcfcfc,	%eax	xorl	%ebx,		%ebx	andl	$0xcfcfcfcf,	%edx	xorl	%ecx,		%ecx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%esi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%esi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movl	28(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%esi	movl	0x700+des_SPtrans(%ecx),%ebx

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -