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

📄 bn-win32.asm

📁 老外写的加密库cryptlib(版本3.1)
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	[4+ebx],	ecx	; Round 2	mov	ecx,		[8+esi]	mov	edx,		[8+edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	[8+ebx],	ecx	; Round 3	mov	ecx,		[12+esi]	mov	edx,		[12+edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	[12+ebx],	ecx	; Round 4	mov	ecx,		[16+esi]	mov	edx,		[16+edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	[16+ebx],	ecx	; Round 5	mov	ecx,		[20+esi]	mov	edx,		[20+edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	[20+ebx],	ecx	; Round 6	mov	ecx,		[24+esi]	mov	edx,		[24+edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	[24+ebx],	ecx	; Round 7	mov	ecx,		[28+esi]	mov	edx,		[28+edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	[28+ebx],	ecx	; 	add	esi,		32	add	edi,		32	add	ebx,		32	sub	ebp,		8	jnz NEAR	L015aw_loop$L014aw_finish:	mov	ebp,		[32+esp]	and	ebp,		7	jz NEAR	$L016aw_end	; Tail Round 0	mov	ecx,		[esi]	mov	edx,		[edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	dec	ebp	mov	[ebx],		ecx	jz NEAR	$L016aw_end	; Tail Round 1	mov	ecx,		[4+esi]	mov	edx,		[4+edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	dec	ebp	mov	[4+ebx],	ecx	jz NEAR	$L016aw_end	; Tail Round 2	mov	ecx,		[8+esi]	mov	edx,		[8+edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	dec	ebp	mov	[8+ebx],	ecx	jz NEAR	$L016aw_end	; Tail Round 3	mov	ecx,		[12+esi]	mov	edx,		[12+edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	dec	ebp	mov	[12+ebx],	ecx	jz NEAR	$L016aw_end	; Tail Round 4	mov	ecx,		[16+esi]	mov	edx,		[16+edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	dec	ebp	mov	[16+ebx],	ecx	jz NEAR	$L016aw_end	; Tail Round 5	mov	ecx,		[20+esi]	mov	edx,		[20+edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	dec	ebp	mov	[20+ebx],	ecx	jz NEAR	$L016aw_end	; Tail Round 6	mov	ecx,		[24+esi]	mov	edx,		[24+edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	[24+ebx],	ecx$L016aw_end:	pop	edi	pop	esi	pop	ebx	pop	ebp	retglobal	_bn_mul_comba8_bn_mul_comba8:	push	esi	mov	esi,		[12+esp]	push	edi	mov	edi,		[20+esp]	push	ebp	push	ebx	xor	ebx,		ebx	mov	eax,		[esi]	xor	ecx,		ecx	mov	edx,		[edi]	; ################## Calculate word 0	xor	ebp,		ebp	; mul a[0]*b[0]	mul	edx	add	ebx,		eax	mov	eax,		[20+esp]	adc	ecx,		edx	mov	edx,		[edi]	adc	ebp,		0	mov	[eax],		ebx	mov	eax,		[4+esi]	; saved r[0]	; ################## Calculate word 1	xor	ebx,		ebx	; mul a[1]*b[0]	mul	edx	add	ecx,		eax	mov	eax,		[esi]	adc	ebp,		edx	mov	edx,		[4+edi]	adc	ebx,		0	; mul a[0]*b[1]	mul	edx	add	ecx,		eax	mov	eax,		[20+esp]	adc	ebp,		edx	mov	edx,		[edi]	adc	ebx,		0	mov	[4+eax],	ecx	mov	eax,		[8+esi]	; saved r[1]	; ################## Calculate word 2	xor	ecx,		ecx	; mul a[2]*b[0]	mul	edx	add	ebp,		eax	mov	eax,		[4+esi]	adc	ebx,		edx	mov	edx,		[4+edi]	adc	ecx,		0	; mul a[1]*b[1]	mul	edx	add	ebp,		eax	mov	eax,		[esi]	adc	ebx,		edx	mov	edx,		[8+edi]	adc	ecx,		0	; mul a[0]*b[2]	mul	edx	add	ebp,		eax	mov	eax,		[20+esp]	adc	ebx,		edx	mov	edx,		[edi]	adc	ecx,		0	mov	[8+eax],	ebp	mov	eax,		[12+esi]	; saved r[2]	; ################## Calculate word 3	xor	ebp,		ebp	; mul a[3]*b[0]	mul	edx	add	ebx,		eax	mov	eax,		[8+esi]	adc	ecx,		edx	mov	edx,		[4+edi]	adc	ebp,		0	; mul a[2]*b[1]	mul	edx	add	ebx,		eax	mov	eax,		[4+esi]	adc	ecx,		edx	mov	edx,		[8+edi]	adc	ebp,		0	; mul a[1]*b[2]	mul	edx	add	ebx,		eax	mov	eax,		[esi]	adc	ecx,		edx	mov	edx,		[12+edi]	adc	ebp,		0	; mul a[0]*b[3]	mul	edx	add	ebx,		eax	mov	eax,		[20+esp]	adc	ecx,		edx	mov	edx,		[edi]	adc	ebp,		0	mov	[12+eax],	ebx	mov	eax,		[16+esi]	; saved r[3]	; ################## Calculate word 4	xor	ebx,		ebx	; mul a[4]*b[0]	mul	edx	add	ecx,		eax	mov	eax,		[12+esi]	adc	ebp,		edx	mov	edx,		[4+edi]	adc	ebx,		0	; mul a[3]*b[1]	mul	edx	add	ecx,		eax	mov	eax,		[8+esi]	adc	ebp,		edx	mov	edx,		[8+edi]	adc	ebx,		0	; mul a[2]*b[2]	mul	edx	add	ecx,		eax	mov	eax,		[4+esi]	adc	ebp,		edx	mov	edx,		[12+edi]	adc	ebx,		0	; mul a[1]*b[3]	mul	edx	add	ecx,		eax	mov	eax,		[esi]	adc	ebp,		edx	mov	edx,		[16+edi]	adc	ebx,		0	; mul a[0]*b[4]	mul	edx	add	ecx,		eax	mov	eax,		[20+esp]	adc	ebp,		edx	mov	edx,		[edi]	adc	ebx,		0	mov	[16+eax],	ecx	mov	eax,		[20+esi]	; saved r[4]	; ################## Calculate word 5	xor	ecx,		ecx	; mul a[5]*b[0]	mul	edx	add	ebp,		eax	mov	eax,		[16+esi]	adc	ebx,		edx	mov	edx,		[4+edi]	adc	ecx,		0	; mul a[4]*b[1]	mul	edx	add	ebp,		eax	mov	eax,		[12+esi]	adc	ebx,		edx	mov	edx,		[8+edi]	adc	ecx,		0	; mul a[3]*b[2]	mul	edx	add	ebp,		eax	mov	eax,		[8+esi]	adc	ebx,		edx	mov	edx,		[12+edi]	adc	ecx,		0	; mul a[2]*b[3]	mul	edx	add	ebp,		eax	mov	eax,		[4+esi]	adc	ebx,		edx	mov	edx,		[16+edi]	adc	ecx,		0	; mul a[1]*b[4]	mul	edx	add	ebp,		eax	mov	eax,		[esi]	adc	ebx,		edx	mov	edx,		[20+edi]	adc	ecx,		0	; mul a[0]*b[5]	mul	edx	add	ebp,		eax	mov	eax,		[20+esp]	adc	ebx,		edx	mov	edx,		[edi]	adc	ecx,		0	mov	[20+eax],	ebp	mov	eax,		[24+esi]	; saved r[5]	; ################## Calculate word 6	xor	ebp,		ebp	; mul a[6]*b[0]	mul	edx	add	ebx,		eax	mov	eax,		[20+esi]	adc	ecx,		edx	mov	edx,		[4+edi]	adc	ebp,		0	; mul a[5]*b[1]	mul	edx	add	ebx,		eax	mov	eax,		[16+esi]	adc	ecx,		edx	mov	edx,		[8+edi]	adc	ebp,		0	; mul a[4]*b[2]	mul	edx	add	ebx,		eax	mov	eax,		[12+esi]	adc	ecx,		edx	mov	edx,		[12+edi]	adc	ebp,		0	; mul a[3]*b[3]	mul	edx	add	ebx,		eax	mov	eax,		[8+esi]	adc	ecx,		edx	mov	edx,		[16+edi]	adc	ebp,		0	; mul a[2]*b[4]	mul	edx	add	ebx,		eax	mov	eax,		[4+esi]	adc	ecx,		edx	mov	edx,		[20+edi]	adc	ebp,		0	; mul a[1]*b[5]	mul	edx	add	ebx,		eax	mov	eax,		[esi]	adc	ecx,		edx	mov	edx,		[24+edi]	adc	ebp,		0	; mul a[0]*b[6]	mul	edx	add	ebx,		eax	mov	eax,		[20+esp]	adc	ecx,		edx	mov	edx,		[edi]	adc	ebp,		0	mov	[24+eax],	ebx	mov	eax,		[28+esi]	; saved r[6]	; ################## Calculate word 7	xor	ebx,		ebx	; mul a[7]*b[0]	mul	edx	add	ecx,		eax	mov	eax,		[24+esi]	adc	ebp,		edx	mov	edx,		[4+edi]	adc	ebx,		0	; mul a[6]*b[1]	mul	edx	add	ecx,		eax	mov	eax,		[20+esi]	adc	ebp,		edx	mov	edx,		[8+edi]	adc	ebx,		0	; mul a[5]*b[2]	mul	edx	add	ecx,		eax	mov	eax,		[16+esi]	adc	ebp,		edx	mov	edx,		[12+edi]	adc	ebx,		0	; mul a[4]*b[3]	mul	edx	add	ecx,		eax	mov	eax,		[12+esi]	adc	ebp,		edx	mov	edx,		[16+edi]	adc	ebx,		0	; mul a[3]*b[4]	mul	edx	add	ecx,		eax	mov	eax,		[8+esi]	adc	ebp,		edx	mov	edx,		[20+edi]	adc	ebx,		0	; mul a[2]*b[5]	mul	edx	add	ecx,		eax	mov	eax,		[4+esi]	adc	ebp,		edx	mov	edx,		[24+edi]	adc	ebx,		0	; mul a[1]*b[6]	mul	edx	add	ecx,		eax	mov	eax,		[esi]	adc	ebp,		edx	mov	edx,		[28+edi]	adc	ebx,		0	; mul a[0]*b[7]	mul	edx	add	ecx,		eax	mov	eax,		[20+esp]	adc	ebp,		edx	mov	edx,		[4+edi]	adc	ebx,		0	mov	[28+eax],	ecx	mov	eax,		[28+esi]	; saved r[7]	; ################## Calculate word 8	xor	ecx,		ecx	; mul a[7]*b[1]	mul	edx	add	ebp,		eax	mov	eax,		[24+esi]	adc	ebx,		edx	mov	edx,		[8+edi]	adc	ecx,		0	; mul a[6]*b[2]	mul	edx	add	ebp,		eax	mov	eax,		[20+esi]	adc	ebx,		edx	mov	edx,		[12+edi]	adc	ecx,		0	; mul a[5]*b[3]	mul	edx	add	ebp,		eax	mov	eax,		[16+esi]	adc	ebx,		edx	mov	edx,		[16+edi]	adc	ecx,		0	; mul a[4]*b[4]	mul	edx	add	ebp,		eax	mov	eax,		[12+esi]	adc	ebx,		edx	mov	edx,		[20+edi]	adc	ecx,		0	; mul a[3]*b[5]	mul	edx	add	ebp,		eax	mov	eax,		[8+esi]	adc	ebx,		edx	mov	edx,		[24+edi]	adc	ecx,		0	; mul a[2]*b[6]	mul	edx	add	ebp,		eax	mov	eax,		[4+esi]	adc	ebx,		edx	mov	edx,		[28+edi]	adc	ecx,		0	; mul a[1]*b[7]	mul	edx	add	ebp,		eax	mov	eax,		[20+esp]	adc	ebx,		edx	mov	edx,		[8+edi]	adc	ecx,		0	mov	[32+eax],	ebp	mov	eax,		[28+esi]	; saved r[8]	; ################## Calculate word 9	xor	ebp,		ebp	; mul a[7]*b[2]	mul	edx	add	ebx,		eax	mov	eax,		[24+esi]	adc	ecx,		edx	mov	edx,		[12+edi]	adc	ebp,		0	; mul a[6]*b[3]	mul	edx	add	ebx,		eax	mov	eax,		[20+esi]	adc	ecx,		edx	mov	edx,		[16+edi]	adc	ebp,		0	; mul a[5]*b[4]	mul	edx	add	ebx,		eax	mov	eax,		[16+esi]	adc	ecx,		edx	mov	edx,		[20+edi]	adc	ebp,		0	; mul a[4]*b[5]	mul	edx	add	ebx,		eax	mov	eax,		[12+esi]	adc	ecx,		edx	mov	edx,		[24+edi]	adc	ebp,		0	; mul a[3]*b[6]	mul	edx	add	ebx,		eax	mov	eax,		[8+esi]	adc	ecx,		edx	mov	edx,		[28+edi]	adc	ebp,		0	; mul a[2]*b[7]	mul	edx	add	ebx,		eax	mov	eax,		[20+esp]	adc	ecx,		edx	mov	edx,		[12+edi]	adc	ebp,		0	mov	[36+eax],	ebx	mov	eax,		[28+esi]	; saved r[9]	; ################## Calculate word 10	xor	ebx,		ebx	; mul a[7]*b[3]	mul	edx	add	ecx,		eax	mov	eax,		[24+esi]	adc	ebp,		edx	mov	edx,		[16+edi]	adc	ebx,		0	; mul a[6]*b[4]	mul	edx	add	ecx,		eax	mov	eax,		[20+esi]	adc	ebp,		edx	mov	edx,		[20+edi]	adc	ebx,		0	; mul a[5]*b[5]	mul	edx	add	ecx,		eax	mov	eax,		[16+esi]	adc	ebp,		edx	mov	edx,		[24+edi]	adc	ebx,		0	; mul a[4]*b[6]	mul	edx	add	ecx,		eax	mov	eax,		[12+esi]	adc	ebp,		edx	mov	edx,		[28+edi]	adc	ebx,		0	; mul a[3]*b[7]	mul	edx	add	ecx,		eax	mov	eax,		[20+esp]	adc	ebp,		edx	mov	edx,		[16+edi]	adc	ebx,		0	mov	[40+eax],	ecx	mov	eax,		[28+esi]	; saved r[10]	; ################## Calculate word 11	xor	ecx,		ecx	; mul a[7]*b[4]	mul	edx	add	ebp,		eax	mov	eax,		[24+esi]	adc	ebx,		edx	mov	edx,		[20+edi]	adc	ecx,		0	; mul a[6]*b[5]	mul	edx	add	ebp,		eax	mov	eax,		[20+esi]	adc	ebx,		edx	mov	edx,		[24+edi]	adc	ecx,		0	; mul a[5]*b[6]	mul	edx	add	ebp,		eax	mov	eax,		[16+esi]	adc	ebx,		edx	mov	edx,		[28+edi]	adc	ecx,		0	; mul a[4]*b[7]	mul	edx	add	ebp,		eax	mov	eax,		[20+esp]	adc	ebx,		edx	mov	edx,		[20+edi]	adc	ecx,		0	mov	[44+eax],	ebp	mov	eax,		[28+esi]	; saved r[11]	; ################## Calculate word 12	xor	ebp,		ebp	; mul a[7]*b[5]	mul	edx	add	ebx,		eax	mov	eax,		[24+esi]	adc	ecx,		edx	mov	edx,		[24+edi]	adc	ebp,		0	; mul a[6]*b[6]	mul	edx	add	ebx,		eax	mov	eax,		[20+esi]	adc	ecx,		edx	mov	edx,		[28+edi]	adc	ebp,		0	; mul a[5]*b[7]	mul	edx	add	ebx,		eax	mov	eax,		[20+esp]	adc	ecx,		edx	mov	edx,		[24+edi]	adc	ebp,		0	mov	[48+eax],	ebx	mov	eax,		[28+esi]	; saved r[12]	; ################## Calculate word 13	xor	ebx,		ebx	; mul a[7]*b[6]	mul	edx	add	ecx,		eax	mov	eax,		[24+esi]	adc	ebp,		edx	mov	edx,		[28+edi]	adc	ebx,		0	; mul a[6]*b[7]	mul	edx	add	ecx,		eax	mov	eax,		[20+esp]	adc	ebp,		edx	mov	edx,		[28+edi]	adc	ebx,		0	mov	[52+eax],	ecx	mov	eax,		[28+esi]	; saved r[13]	; ################## Calculate word 14	xor	ecx,		ecx	; mul a[7]*b[7]	mul	edx	add	ebp,		eax	mov	eax,		[20+esp]	adc	ebx,		edx	adc	ecx,		0	mov	[56+eax],	ebp	; saved r[14]	; save r[15]	mov	[60+eax],	ebx	pop	ebx	pop	ebp	pop	edi	pop	esi	retglobal	_bn_mul_comba4_bn_mul_comba4:	push	esi	mov	esi,		[12+esp]	push	edi

⌨️ 快捷键说明

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