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

📄 bn-win32.asm

📁 安全套接字层
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	DWORD PTR [ebx],ecx	; Round 1	mov	ecx,		DWORD PTR 4[esi]	mov	edx,		DWORD PTR 4[edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	DWORD PTR 4[ebx],ecx	; Round 2	mov	ecx,		DWORD PTR 8[esi]	mov	edx,		DWORD PTR 8[edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	DWORD PTR 8[ebx],ecx	; Round 3	mov	ecx,		DWORD PTR 12[esi]	mov	edx,		DWORD PTR 12[edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	DWORD PTR 12[ebx],ecx	; Round 4	mov	ecx,		DWORD PTR 16[esi]	mov	edx,		DWORD PTR 16[edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	DWORD PTR 16[ebx],ecx	; Round 5	mov	ecx,		DWORD PTR 20[esi]	mov	edx,		DWORD PTR 20[edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	DWORD PTR 20[ebx],ecx	; Round 6	mov	ecx,		DWORD PTR 24[esi]	mov	edx,		DWORD PTR 24[edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	DWORD PTR 24[ebx],ecx	; Round 7	mov	ecx,		DWORD PTR 28[esi]	mov	edx,		DWORD PTR 28[edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	DWORD PTR 28[ebx],ecx	; 	add	esi,		32	add	edi,		32	add	ebx,		32	sub	ebp,		8	jnz	L015aw_loop$L014aw_finish:	mov	ebp,		DWORD PTR 32[esp]	and	ebp,		7	jz	$L016aw_end	; Tail Round 0	mov	ecx,		DWORD PTR [esi]	mov	edx,		DWORD PTR [edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	dec	ebp	mov	DWORD PTR [ebx],ecx	jz	$L016aw_end	; Tail Round 1	mov	ecx,		DWORD PTR 4[esi]	mov	edx,		DWORD PTR 4[edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	dec	ebp	mov	DWORD PTR 4[ebx],ecx	jz	$L016aw_end	; Tail Round 2	mov	ecx,		DWORD PTR 8[esi]	mov	edx,		DWORD PTR 8[edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	dec	ebp	mov	DWORD PTR 8[ebx],ecx	jz	$L016aw_end	; Tail Round 3	mov	ecx,		DWORD PTR 12[esi]	mov	edx,		DWORD PTR 12[edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	dec	ebp	mov	DWORD PTR 12[ebx],ecx	jz	$L016aw_end	; Tail Round 4	mov	ecx,		DWORD PTR 16[esi]	mov	edx,		DWORD PTR 16[edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	dec	ebp	mov	DWORD PTR 16[ebx],ecx	jz	$L016aw_end	; Tail Round 5	mov	ecx,		DWORD PTR 20[esi]	mov	edx,		DWORD PTR 20[edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	dec	ebp	mov	DWORD PTR 20[ebx],ecx	jz	$L016aw_end	; Tail Round 6	mov	ecx,		DWORD PTR 24[esi]	mov	edx,		DWORD PTR 24[edi]	sub	ecx,		eax	mov	eax,		0	adc	eax,		eax	sub	ecx,		edx	adc	eax,		0	mov	DWORD PTR 24[ebx],ecx$L016aw_end:	pop	edi	pop	esi	pop	ebx	pop	ebp	ret_bn_sub_words ENDP_TEXT	ENDS_TEXT	SEGMENTPUBLIC	_bn_mul_comba8_bn_mul_comba8 PROC NEAR	push	esi	mov	esi,		DWORD PTR 12[esp]	push	edi	mov	edi,		DWORD PTR 20[esp]	push	ebp	push	ebx	xor	ebx,		ebx	mov	eax,		DWORD PTR [esi]	xor	ecx,		ecx	mov	edx,		DWORD PTR [edi]	; ################## Calculate word 0	xor	ebp,		ebp	; mul a[0]*b[0]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 20[esp]	adc	ecx,		edx	mov	edx,		DWORD PTR [edi]	adc	ebp,		0	mov	DWORD PTR [eax],ebx	mov	eax,		DWORD PTR 4[esi]	; saved r[0]	; ################## Calculate word 1	xor	ebx,		ebx	; mul a[1]*b[0]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR [esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 4[edi]	adc	ebx,		0	; mul a[0]*b[1]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 20[esp]	adc	ebp,		edx	mov	edx,		DWORD PTR [edi]	adc	ebx,		0	mov	DWORD PTR 4[eax],ecx	mov	eax,		DWORD PTR 8[esi]	; saved r[1]	; ################## Calculate word 2	xor	ecx,		ecx	; mul a[2]*b[0]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 4[esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 4[edi]	adc	ecx,		0	; mul a[1]*b[1]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR [esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 8[edi]	adc	ecx,		0	; mul a[0]*b[2]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 20[esp]	adc	ebx,		edx	mov	edx,		DWORD PTR [edi]	adc	ecx,		0	mov	DWORD PTR 8[eax],ebp	mov	eax,		DWORD PTR 12[esi]	; saved r[2]	; ################## Calculate word 3	xor	ebp,		ebp	; mul a[3]*b[0]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 8[esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 4[edi]	adc	ebp,		0	; mul a[2]*b[1]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 4[esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 8[edi]	adc	ebp,		0	; mul a[1]*b[2]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR [esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 12[edi]	adc	ebp,		0	; mul a[0]*b[3]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 20[esp]	adc	ecx,		edx	mov	edx,		DWORD PTR [edi]	adc	ebp,		0	mov	DWORD PTR 12[eax],ebx	mov	eax,		DWORD PTR 16[esi]	; saved r[3]	; ################## Calculate word 4	xor	ebx,		ebx	; mul a[4]*b[0]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 12[esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 4[edi]	adc	ebx,		0	; mul a[3]*b[1]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 8[esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 8[edi]	adc	ebx,		0	; mul a[2]*b[2]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 4[esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 12[edi]	adc	ebx,		0	; mul a[1]*b[3]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR [esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 16[edi]	adc	ebx,		0	; mul a[0]*b[4]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 20[esp]	adc	ebp,		edx	mov	edx,		DWORD PTR [edi]	adc	ebx,		0	mov	DWORD PTR 16[eax],ecx	mov	eax,		DWORD PTR 20[esi]	; saved r[4]	; ################## Calculate word 5	xor	ecx,		ecx	; mul a[5]*b[0]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 16[esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 4[edi]	adc	ecx,		0	; mul a[4]*b[1]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 12[esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 8[edi]	adc	ecx,		0	; mul a[3]*b[2]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 8[esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 12[edi]	adc	ecx,		0	; mul a[2]*b[3]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 4[esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 16[edi]	adc	ecx,		0	; mul a[1]*b[4]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR [esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 20[edi]	adc	ecx,		0	; mul a[0]*b[5]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 20[esp]	adc	ebx,		edx	mov	edx,		DWORD PTR [edi]	adc	ecx,		0	mov	DWORD PTR 20[eax],ebp	mov	eax,		DWORD PTR 24[esi]	; saved r[5]	; ################## Calculate word 6	xor	ebp,		ebp	; mul a[6]*b[0]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 20[esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 4[edi]	adc	ebp,		0	; mul a[5]*b[1]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 16[esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 8[edi]	adc	ebp,		0	; mul a[4]*b[2]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 12[esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 12[edi]	adc	ebp,		0	; mul a[3]*b[3]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 8[esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 16[edi]	adc	ebp,		0	; mul a[2]*b[4]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 4[esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 20[edi]	adc	ebp,		0	; mul a[1]*b[5]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR [esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 24[edi]	adc	ebp,		0	; mul a[0]*b[6]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 20[esp]	adc	ecx,		edx	mov	edx,		DWORD PTR [edi]	adc	ebp,		0	mov	DWORD PTR 24[eax],ebx	mov	eax,		DWORD PTR 28[esi]	; saved r[6]	; ################## Calculate word 7	xor	ebx,		ebx	; mul a[7]*b[0]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 24[esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 4[edi]	adc	ebx,		0	; mul a[6]*b[1]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 20[esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 8[edi]	adc	ebx,		0	; mul a[5]*b[2]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 16[esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 12[edi]	adc	ebx,		0	; mul a[4]*b[3]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 12[esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 16[edi]	adc	ebx,		0	; mul a[3]*b[4]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 8[esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 20[edi]	adc	ebx,		0	; mul a[2]*b[5]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 4[esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 24[edi]	adc	ebx,		0	; mul a[1]*b[6]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR [esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 28[edi]	adc	ebx,		0	; mul a[0]*b[7]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 20[esp]	adc	ebp,		edx	mov	edx,		DWORD PTR 4[edi]	adc	ebx,		0	mov	DWORD PTR 28[eax],ecx	mov	eax,		DWORD PTR 28[esi]	; saved r[7]	; ################## Calculate word 8	xor	ecx,		ecx	; mul a[7]*b[1]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 24[esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 8[edi]	adc	ecx,		0	; mul a[6]*b[2]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 20[esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 12[edi]	adc	ecx,		0	; mul a[5]*b[3]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 16[esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 16[edi]	adc	ecx,		0	; mul a[4]*b[4]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 12[esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 20[edi]	adc	ecx,		0	; mul a[3]*b[5]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 8[esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 24[edi]	adc	ecx,		0	; mul a[2]*b[6]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 4[esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 28[edi]	adc	ecx,		0	; mul a[1]*b[7]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 20[esp]	adc	ebx,		edx	mov	edx,		DWORD PTR 8[edi]	adc	ecx,		0	mov	DWORD PTR 32[eax],ebp	mov	eax,		DWORD PTR 28[esi]	; saved r[8]	; ################## Calculate word 9	xor	ebp,		ebp	; mul a[7]*b[2]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 24[esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 12[edi]	adc	ebp,		0	; mul a[6]*b[3]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 20[esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 16[edi]	adc	ebp,		0	; mul a[5]*b[4]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 16[esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 20[edi]	adc	ebp,		0	; mul a[4]*b[5]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 12[esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 24[edi]	adc	ebp,		0	; mul a[3]*b[6]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 8[esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 28[edi]	adc	ebp,		0	; mul a[2]*b[7]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 20[esp]	adc	ecx,		edx	mov	edx,		DWORD PTR 12[edi]	adc	ebp,		0	mov	DWORD PTR 36[eax],ebx	mov	eax,		DWORD PTR 28[esi]	; saved r[9]	; ################## Calculate word 10	xor	ebx,		ebx	; mul a[7]*b[3]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 24[esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 16[edi]	adc	ebx,		0	; mul a[6]*b[4]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 20[esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 20[edi]	adc	ebx,		0	; mul a[5]*b[5]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 16[esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 24[edi]	adc	ebx,		0	; mul a[4]*b[6]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 12[esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 28[edi]	adc	ebx,		0	; mul a[3]*b[7]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 20[esp]	adc	ebp,		edx	mov	edx,		DWORD PTR 16[edi]	adc	ebx,		0	mov	DWORD PTR 40[eax],ecx	mov	eax,		DWORD PTR 28[esi]	; saved r[10]	; ################## Calculate word 11	xor	ecx,		ecx	; mul a[7]*b[4]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 24[esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 20[edi]	adc	ecx,		0	; mul a[6]*b[5]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 20[esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 24[edi]	adc	ecx,		0	; mul a[5]*b[6]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 16[esi]	adc	ebx,		edx	mov	edx,		DWORD PTR 28[edi]	adc	ecx,		0	; mul a[4]*b[7]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 20[esp]	adc	ebx,		edx	mov	edx,		DWORD PTR 20[edi]	adc	ecx,		0	mov	DWORD PTR 44[eax],ebp	mov	eax,		DWORD PTR 28[esi]	; saved r[11]	; ################## Calculate word 12	xor	ebp,		ebp	; mul a[7]*b[5]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 24[esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 24[edi]	adc	ebp,		0	; mul a[6]*b[6]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 20[esi]	adc	ecx,		edx	mov	edx,		DWORD PTR 28[edi]	adc	ebp,		0	; mul a[5]*b[7]	mul	edx	add	ebx,		eax	mov	eax,		DWORD PTR 20[esp]	adc	ecx,		edx	mov	edx,		DWORD PTR 24[edi]	adc	ebp,		0	mov	DWORD PTR 48[eax],ebx	mov	eax,		DWORD PTR 28[esi]	; saved r[12]	; ################## Calculate word 13	xor	ebx,		ebx	; mul a[7]*b[6]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 24[esi]	adc	ebp,		edx	mov	edx,		DWORD PTR 28[edi]	adc	ebx,		0	; mul a[6]*b[7]	mul	edx	add	ecx,		eax	mov	eax,		DWORD PTR 20[esp]	adc	ebp,		edx	mov	edx,		DWORD PTR 28[edi]	adc	ebx,		0	mov	DWORD PTR 52[eax],ecx	mov	eax,		DWORD PTR 28[esi]	; saved r[13]	; ################## Calculate word 14	xor	ecx,		ecx	; mul a[7]*b[7]	mul	edx	add	ebp,		eax	mov	eax,		DWORD PTR 20[esp]	adc	ebx,		edx	adc	ecx,		0	mov	DWORD PTR 56[eax],ebp	; saved r[14]	; save r[15]	mov	DWORD PTR 60[eax],ebx	pop	ebx	pop	ebp	pop	edi	pop	esi	ret_bn_mul_comba8 ENDP_TEXT	ENDS_TEXT	SEGMENTPUBLIC	_bn_mul_comba4

⌨️ 快捷键说明

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