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

📄 bx86-cpp.s

📁 openssl是ssl的开源项目
💻 S
字号:
	/* Don't even think of reading this code */	/* It was automatically generated by bf586.pl */	/* Which is a perl program used to generate the x86 assember for */	/* any of elf, a.out, Win32, or Solaris */	/* It can be found in SSLeay 0.7.0+ */	/* eric <eay@cryptsoft.com> */	.file	"bfx86xxxx.s"	.version	"01.01"gcc2_compiled.:.text	.align ALIGN.globl BF_encrypt	TYPE(BF_encrypt,@function)BF_encrypt:	pushl	%ebp	pushl	%ebx	pushl	%esi	pushl	%edi	/* Load the 2 words */	movl	20(%esp),	%eax	movl	(%eax),		%ecx	movl	4(%eax),	%edx	/* P pointer, s and enc flag */	movl	24(%esp),	%edi	xorl	%eax,		%eax	xorl	%ebx,		%ebx	movl	28(%esp),	%ebp	cmpl	$0,		%ebp	je	.L000start_decrypt	xorl	(%edi),		%ecx	/* Round 0 */	rorl	$16,		%ecx	movl	4(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 1 */	rorl	$16,		%edx	movl	8(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	/* Round 2 */	rorl	$16,		%ecx	movl	12(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 3 */	rorl	$16,		%edx	movl	16(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	/* Round 4 */	rorl	$16,		%ecx	movl	20(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 5 */	rorl	$16,		%edx	movl	24(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	/* Round 6 */	rorl	$16,		%ecx	movl	28(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 7 */	rorl	$16,		%edx	movl	32(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	/* Round 8 */	rorl	$16,		%ecx	movl	36(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 9 */	rorl	$16,		%edx	movl	40(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	/* Round 10 */	rorl	$16,		%ecx	movl	44(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 11 */	rorl	$16,		%edx	movl	48(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	/* Round 12 */	rorl	$16,		%ecx	movl	52(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 13 */	rorl	$16,		%edx	movl	56(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	/* Round 14 */	rorl	$16,		%ecx	movl	60(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 15 */	rorl	$16,		%edx	movl	64(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	xorl	68(%edi),	%edx	movl	20(%esp),	%eax	movl	%edx,		(%eax)	movl	%ecx,		4(%eax)	popl	%edi	popl	%esi	popl	%ebx	popl	%ebp	ret.align ALIGN.L000start_decrypt:	xorl	68(%edi),	%ecx	/* Round 16 */	rorl	$16,		%ecx	movl	64(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 15 */	rorl	$16,		%edx	movl	60(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	/* Round 14 */	rorl	$16,		%ecx	movl	56(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 13 */	rorl	$16,		%edx	movl	52(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	/* Round 12 */	rorl	$16,		%ecx	movl	48(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 11 */	rorl	$16,		%edx	movl	44(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	/* Round 10 */	rorl	$16,		%ecx	movl	40(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 9 */	rorl	$16,		%edx	movl	36(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	/* Round 8 */	rorl	$16,		%ecx	movl	32(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 7 */	rorl	$16,		%edx	movl	28(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	/* Round 6 */	rorl	$16,		%ecx	movl	24(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 5 */	rorl	$16,		%edx	movl	20(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	/* Round 4 */	rorl	$16,		%ecx	movl	16(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 3 */	rorl	$16,		%edx	movl	12(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	/* Round 2 */	rorl	$16,		%ecx	movl	8(%edi),	%esi	movb	%ch,		%al	movb	%cl,		%bl	rorl	$16,		%ecx	xorl	%esi,		%edx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%ch,		%al	movb	%cl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%edx	/* Round 1 */	rorl	$16,		%edx	movl	4(%edi),	%esi	movb	%dh,		%al	movb	%dl,		%bl	rorl	$16,		%edx	xorl	%esi,		%ecx	movl	72(%edi,%eax,4),%esi	movl	1096(%edi,%ebx,4),%ebp	movb	%dh,		%al	movb	%dl,		%bl	addl	%ebp,		%esi	movl	2120(%edi,%eax,4),%eax	xorl	%eax,		%esi	movl	3144(%edi,%ebx,4),%ebp	addl	%ebp,		%esi	xorl	%eax,		%eax	xorl	%esi,		%ecx	xorl	(%edi),		%edx	movl	20(%esp),	%eax	movl	%edx,		(%eax)	movl	%ecx,		4(%eax)	popl	%edi	popl	%esi	popl	%ebx	popl	%ebp	ret.BF_encrypt_end:	SIZE(BF_encrypt,.BF_encrypt_end-BF_encrypt).ident	"desasm.pl"

⌨️ 快捷键说明

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