|  | %ifidn __OUTPUT_FORMAT__,obj | 
|  | section	code	use32 class=code align=64 | 
|  | %elifidn __OUTPUT_FORMAT__,win32 | 
|  | %ifdef __YASM_VERSION_ID__ | 
|  | %if __YASM_VERSION_ID__ < 01010000h | 
|  | %error yasm version 1.1.0 or later needed. | 
|  | %endif | 
|  | ; Yasm automatically includes .00 and complains about redefining it. | 
|  | ; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html | 
|  | %else | 
|  | $@feat.00 equ 1 | 
|  | %endif | 
|  | section	.text	code align=64 | 
|  | %else | 
|  | section	.text	code | 
|  | %endif | 
|  | global	_bn_mul_add_words | 
|  | align	16 | 
|  | _bn_mul_add_words: | 
|  | L$_bn_mul_add_words_begin: | 
|  | push	ebp | 
|  | push	ebx | 
|  | push	esi | 
|  | push	edi | 
|  | ; | 
|  | xor	esi,esi | 
|  | mov	edi,DWORD [20+esp] | 
|  | mov	ecx,DWORD [28+esp] | 
|  | mov	ebx,DWORD [24+esp] | 
|  | and	ecx,4294967288 | 
|  | mov	ebp,DWORD [32+esp] | 
|  | push	ecx | 
|  | jz	NEAR L$000maw_finish | 
|  | align	16 | 
|  | L$001maw_loop: | 
|  | ; Round 0 | 
|  | mov	eax,DWORD [ebx] | 
|  | mul	ebp | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | add	eax,DWORD [edi] | 
|  | adc	edx,0 | 
|  | mov	DWORD [edi],eax | 
|  | mov	esi,edx | 
|  | ; Round 4 | 
|  | mov	eax,DWORD [4+ebx] | 
|  | mul	ebp | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | add	eax,DWORD [4+edi] | 
|  | adc	edx,0 | 
|  | mov	DWORD [4+edi],eax | 
|  | mov	esi,edx | 
|  | ; Round 8 | 
|  | mov	eax,DWORD [8+ebx] | 
|  | mul	ebp | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | add	eax,DWORD [8+edi] | 
|  | adc	edx,0 | 
|  | mov	DWORD [8+edi],eax | 
|  | mov	esi,edx | 
|  | ; Round 12 | 
|  | mov	eax,DWORD [12+ebx] | 
|  | mul	ebp | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | add	eax,DWORD [12+edi] | 
|  | adc	edx,0 | 
|  | mov	DWORD [12+edi],eax | 
|  | mov	esi,edx | 
|  | ; Round 16 | 
|  | mov	eax,DWORD [16+ebx] | 
|  | mul	ebp | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | add	eax,DWORD [16+edi] | 
|  | adc	edx,0 | 
|  | mov	DWORD [16+edi],eax | 
|  | mov	esi,edx | 
|  | ; Round 20 | 
|  | mov	eax,DWORD [20+ebx] | 
|  | mul	ebp | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | add	eax,DWORD [20+edi] | 
|  | adc	edx,0 | 
|  | mov	DWORD [20+edi],eax | 
|  | mov	esi,edx | 
|  | ; Round 24 | 
|  | mov	eax,DWORD [24+ebx] | 
|  | mul	ebp | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | add	eax,DWORD [24+edi] | 
|  | adc	edx,0 | 
|  | mov	DWORD [24+edi],eax | 
|  | mov	esi,edx | 
|  | ; Round 28 | 
|  | mov	eax,DWORD [28+ebx] | 
|  | mul	ebp | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | add	eax,DWORD [28+edi] | 
|  | adc	edx,0 | 
|  | mov	DWORD [28+edi],eax | 
|  | mov	esi,edx | 
|  | ; | 
|  | sub	ecx,8 | 
|  | lea	ebx,[32+ebx] | 
|  | lea	edi,[32+edi] | 
|  | jnz	NEAR L$001maw_loop | 
|  | L$000maw_finish: | 
|  | mov	ecx,DWORD [32+esp] | 
|  | and	ecx,7 | 
|  | jnz	NEAR L$002maw_finish2 | 
|  | jmp	NEAR L$003maw_end | 
|  | L$002maw_finish2: | 
|  | ; Tail Round 0 | 
|  | mov	eax,DWORD [ebx] | 
|  | mul	ebp | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | add	eax,DWORD [edi] | 
|  | adc	edx,0 | 
|  | dec	ecx | 
|  | mov	DWORD [edi],eax | 
|  | mov	esi,edx | 
|  | jz	NEAR L$003maw_end | 
|  | ; Tail Round 1 | 
|  | mov	eax,DWORD [4+ebx] | 
|  | mul	ebp | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | add	eax,DWORD [4+edi] | 
|  | adc	edx,0 | 
|  | dec	ecx | 
|  | mov	DWORD [4+edi],eax | 
|  | mov	esi,edx | 
|  | jz	NEAR L$003maw_end | 
|  | ; Tail Round 2 | 
|  | mov	eax,DWORD [8+ebx] | 
|  | mul	ebp | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | add	eax,DWORD [8+edi] | 
|  | adc	edx,0 | 
|  | dec	ecx | 
|  | mov	DWORD [8+edi],eax | 
|  | mov	esi,edx | 
|  | jz	NEAR L$003maw_end | 
|  | ; Tail Round 3 | 
|  | mov	eax,DWORD [12+ebx] | 
|  | mul	ebp | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | add	eax,DWORD [12+edi] | 
|  | adc	edx,0 | 
|  | dec	ecx | 
|  | mov	DWORD [12+edi],eax | 
|  | mov	esi,edx | 
|  | jz	NEAR L$003maw_end | 
|  | ; Tail Round 4 | 
|  | mov	eax,DWORD [16+ebx] | 
|  | mul	ebp | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | add	eax,DWORD [16+edi] | 
|  | adc	edx,0 | 
|  | dec	ecx | 
|  | mov	DWORD [16+edi],eax | 
|  | mov	esi,edx | 
|  | jz	NEAR L$003maw_end | 
|  | ; Tail Round 5 | 
|  | mov	eax,DWORD [20+ebx] | 
|  | mul	ebp | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | add	eax,DWORD [20+edi] | 
|  | adc	edx,0 | 
|  | dec	ecx | 
|  | mov	DWORD [20+edi],eax | 
|  | mov	esi,edx | 
|  | jz	NEAR L$003maw_end | 
|  | ; Tail Round 6 | 
|  | mov	eax,DWORD [24+ebx] | 
|  | mul	ebp | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | add	eax,DWORD [24+edi] | 
|  | adc	edx,0 | 
|  | mov	DWORD [24+edi],eax | 
|  | mov	esi,edx | 
|  | L$003maw_end: | 
|  | mov	eax,esi | 
|  | pop	ecx | 
|  | pop	edi | 
|  | pop	esi | 
|  | pop	ebx | 
|  | pop	ebp | 
|  | ret | 
|  | global	_bn_mul_words | 
|  | align	16 | 
|  | _bn_mul_words: | 
|  | L$_bn_mul_words_begin: | 
|  | push	ebp | 
|  | push	ebx | 
|  | push	esi | 
|  | push	edi | 
|  | ; | 
|  | xor	esi,esi | 
|  | mov	edi,DWORD [20+esp] | 
|  | mov	ebx,DWORD [24+esp] | 
|  | mov	ebp,DWORD [28+esp] | 
|  | mov	ecx,DWORD [32+esp] | 
|  | and	ebp,4294967288 | 
|  | jz	NEAR L$004mw_finish | 
|  | L$005mw_loop: | 
|  | ; Round 0 | 
|  | mov	eax,DWORD [ebx] | 
|  | mul	ecx | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | mov	DWORD [edi],eax | 
|  | mov	esi,edx | 
|  | ; Round 4 | 
|  | mov	eax,DWORD [4+ebx] | 
|  | mul	ecx | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | mov	DWORD [4+edi],eax | 
|  | mov	esi,edx | 
|  | ; Round 8 | 
|  | mov	eax,DWORD [8+ebx] | 
|  | mul	ecx | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | mov	DWORD [8+edi],eax | 
|  | mov	esi,edx | 
|  | ; Round 12 | 
|  | mov	eax,DWORD [12+ebx] | 
|  | mul	ecx | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | mov	DWORD [12+edi],eax | 
|  | mov	esi,edx | 
|  | ; Round 16 | 
|  | mov	eax,DWORD [16+ebx] | 
|  | mul	ecx | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | mov	DWORD [16+edi],eax | 
|  | mov	esi,edx | 
|  | ; Round 20 | 
|  | mov	eax,DWORD [20+ebx] | 
|  | mul	ecx | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | mov	DWORD [20+edi],eax | 
|  | mov	esi,edx | 
|  | ; Round 24 | 
|  | mov	eax,DWORD [24+ebx] | 
|  | mul	ecx | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | mov	DWORD [24+edi],eax | 
|  | mov	esi,edx | 
|  | ; Round 28 | 
|  | mov	eax,DWORD [28+ebx] | 
|  | mul	ecx | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | mov	DWORD [28+edi],eax | 
|  | mov	esi,edx | 
|  | ; | 
|  | add	ebx,32 | 
|  | add	edi,32 | 
|  | sub	ebp,8 | 
|  | jz	NEAR L$004mw_finish | 
|  | jmp	NEAR L$005mw_loop | 
|  | L$004mw_finish: | 
|  | mov	ebp,DWORD [28+esp] | 
|  | and	ebp,7 | 
|  | jnz	NEAR L$006mw_finish2 | 
|  | jmp	NEAR L$007mw_end | 
|  | L$006mw_finish2: | 
|  | ; Tail Round 0 | 
|  | mov	eax,DWORD [ebx] | 
|  | mul	ecx | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | mov	DWORD [edi],eax | 
|  | mov	esi,edx | 
|  | dec	ebp | 
|  | jz	NEAR L$007mw_end | 
|  | ; Tail Round 1 | 
|  | mov	eax,DWORD [4+ebx] | 
|  | mul	ecx | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | mov	DWORD [4+edi],eax | 
|  | mov	esi,edx | 
|  | dec	ebp | 
|  | jz	NEAR L$007mw_end | 
|  | ; Tail Round 2 | 
|  | mov	eax,DWORD [8+ebx] | 
|  | mul	ecx | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | mov	DWORD [8+edi],eax | 
|  | mov	esi,edx | 
|  | dec	ebp | 
|  | jz	NEAR L$007mw_end | 
|  | ; Tail Round 3 | 
|  | mov	eax,DWORD [12+ebx] | 
|  | mul	ecx | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | mov	DWORD [12+edi],eax | 
|  | mov	esi,edx | 
|  | dec	ebp | 
|  | jz	NEAR L$007mw_end | 
|  | ; Tail Round 4 | 
|  | mov	eax,DWORD [16+ebx] | 
|  | mul	ecx | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | mov	DWORD [16+edi],eax | 
|  | mov	esi,edx | 
|  | dec	ebp | 
|  | jz	NEAR L$007mw_end | 
|  | ; Tail Round 5 | 
|  | mov	eax,DWORD [20+ebx] | 
|  | mul	ecx | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | mov	DWORD [20+edi],eax | 
|  | mov	esi,edx | 
|  | dec	ebp | 
|  | jz	NEAR L$007mw_end | 
|  | ; Tail Round 6 | 
|  | mov	eax,DWORD [24+ebx] | 
|  | mul	ecx | 
|  | add	eax,esi | 
|  | adc	edx,0 | 
|  | mov	DWORD [24+edi],eax | 
|  | mov	esi,edx | 
|  | L$007mw_end: | 
|  | mov	eax,esi | 
|  | pop	edi | 
|  | pop	esi | 
|  | pop	ebx | 
|  | pop	ebp | 
|  | ret | 
|  | global	_bn_sqr_words | 
|  | align	16 | 
|  | _bn_sqr_words: | 
|  | L$_bn_sqr_words_begin: | 
|  | push	ebp | 
|  | push	ebx | 
|  | push	esi | 
|  | push	edi | 
|  | ; | 
|  | mov	esi,DWORD [20+esp] | 
|  | mov	edi,DWORD [24+esp] | 
|  | mov	ebx,DWORD [28+esp] | 
|  | and	ebx,4294967288 | 
|  | jz	NEAR L$008sw_finish | 
|  | L$009sw_loop: | 
|  | ; Round 0 | 
|  | mov	eax,DWORD [edi] | 
|  | mul	eax | 
|  | mov	DWORD [esi],eax | 
|  | mov	DWORD [4+esi],edx | 
|  | ; Round 4 | 
|  | mov	eax,DWORD [4+edi] | 
|  | mul	eax | 
|  | mov	DWORD [8+esi],eax | 
|  | mov	DWORD [12+esi],edx | 
|  | ; Round 8 | 
|  | mov	eax,DWORD [8+edi] | 
|  | mul	eax | 
|  | mov	DWORD [16+esi],eax | 
|  | mov	DWORD [20+esi],edx | 
|  | ; Round 12 | 
|  | mov	eax,DWORD [12+edi] | 
|  | mul	eax | 
|  | mov	DWORD [24+esi],eax | 
|  | mov	DWORD [28+esi],edx | 
|  | ; Round 16 | 
|  | mov	eax,DWORD [16+edi] | 
|  | mul	eax | 
|  | mov	DWORD [32+esi],eax | 
|  | mov	DWORD [36+esi],edx | 
|  | ; Round 20 | 
|  | mov	eax,DWORD [20+edi] | 
|  | mul	eax | 
|  | mov	DWORD [40+esi],eax | 
|  | mov	DWORD [44+esi],edx | 
|  | ; Round 24 | 
|  | mov	eax,DWORD [24+edi] | 
|  | mul	eax | 
|  | mov	DWORD [48+esi],eax | 
|  | mov	DWORD [52+esi],edx | 
|  | ; Round 28 | 
|  | mov	eax,DWORD [28+edi] | 
|  | mul	eax | 
|  | mov	DWORD [56+esi],eax | 
|  | mov	DWORD [60+esi],edx | 
|  | ; | 
|  | add	edi,32 | 
|  | add	esi,64 | 
|  | sub	ebx,8 | 
|  | jnz	NEAR L$009sw_loop | 
|  | L$008sw_finish: | 
|  | mov	ebx,DWORD [28+esp] | 
|  | and	ebx,7 | 
|  | jz	NEAR L$010sw_end | 
|  | ; Tail Round 0 | 
|  | mov	eax,DWORD [edi] | 
|  | mul	eax | 
|  | mov	DWORD [esi],eax | 
|  | dec	ebx | 
|  | mov	DWORD [4+esi],edx | 
|  | jz	NEAR L$010sw_end | 
|  | ; Tail Round 1 | 
|  | mov	eax,DWORD [4+edi] | 
|  | mul	eax | 
|  | mov	DWORD [8+esi],eax | 
|  | dec	ebx | 
|  | mov	DWORD [12+esi],edx | 
|  | jz	NEAR L$010sw_end | 
|  | ; Tail Round 2 | 
|  | mov	eax,DWORD [8+edi] | 
|  | mul	eax | 
|  | mov	DWORD [16+esi],eax | 
|  | dec	ebx | 
|  | mov	DWORD [20+esi],edx | 
|  | jz	NEAR L$010sw_end | 
|  | ; Tail Round 3 | 
|  | mov	eax,DWORD [12+edi] | 
|  | mul	eax | 
|  | mov	DWORD [24+esi],eax | 
|  | dec	ebx | 
|  | mov	DWORD [28+esi],edx | 
|  | jz	NEAR L$010sw_end | 
|  | ; Tail Round 4 | 
|  | mov	eax,DWORD [16+edi] | 
|  | mul	eax | 
|  | mov	DWORD [32+esi],eax | 
|  | dec	ebx | 
|  | mov	DWORD [36+esi],edx | 
|  | jz	NEAR L$010sw_end | 
|  | ; Tail Round 5 | 
|  | mov	eax,DWORD [20+edi] | 
|  | mul	eax | 
|  | mov	DWORD [40+esi],eax | 
|  | dec	ebx | 
|  | mov	DWORD [44+esi],edx | 
|  | jz	NEAR L$010sw_end | 
|  | ; Tail Round 6 | 
|  | mov	eax,DWORD [24+edi] | 
|  | mul	eax | 
|  | mov	DWORD [48+esi],eax | 
|  | mov	DWORD [52+esi],edx | 
|  | L$010sw_end: | 
|  | pop	edi | 
|  | pop	esi | 
|  | pop	ebx | 
|  | pop	ebp | 
|  | ret | 
|  | global	_bn_div_words | 
|  | align	16 | 
|  | _bn_div_words: | 
|  | L$_bn_div_words_begin: | 
|  | mov	edx,DWORD [4+esp] | 
|  | mov	eax,DWORD [8+esp] | 
|  | mov	ecx,DWORD [12+esp] | 
|  | div	ecx | 
|  | ret | 
|  | global	_bn_add_words | 
|  | align	16 | 
|  | _bn_add_words: | 
|  | L$_bn_add_words_begin: | 
|  | push	ebp | 
|  | push	ebx | 
|  | push	esi | 
|  | push	edi | 
|  | ; | 
|  | mov	ebx,DWORD [20+esp] | 
|  | mov	esi,DWORD [24+esp] | 
|  | mov	edi,DWORD [28+esp] | 
|  | mov	ebp,DWORD [32+esp] | 
|  | xor	eax,eax | 
|  | and	ebp,4294967288 | 
|  | jz	NEAR L$011aw_finish | 
|  | L$012aw_loop: | 
|  | ; Round 0 | 
|  | mov	ecx,DWORD [esi] | 
|  | mov	edx,DWORD [edi] | 
|  | add	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | add	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [ebx],ecx | 
|  | ; Round 1 | 
|  | mov	ecx,DWORD [4+esi] | 
|  | mov	edx,DWORD [4+edi] | 
|  | add	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | add	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [4+ebx],ecx | 
|  | ; Round 2 | 
|  | mov	ecx,DWORD [8+esi] | 
|  | mov	edx,DWORD [8+edi] | 
|  | add	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | add	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [8+ebx],ecx | 
|  | ; Round 3 | 
|  | mov	ecx,DWORD [12+esi] | 
|  | mov	edx,DWORD [12+edi] | 
|  | add	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | add	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [12+ebx],ecx | 
|  | ; Round 4 | 
|  | mov	ecx,DWORD [16+esi] | 
|  | mov	edx,DWORD [16+edi] | 
|  | add	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | add	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [16+ebx],ecx | 
|  | ; Round 5 | 
|  | mov	ecx,DWORD [20+esi] | 
|  | mov	edx,DWORD [20+edi] | 
|  | add	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | add	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [20+ebx],ecx | 
|  | ; Round 6 | 
|  | mov	ecx,DWORD [24+esi] | 
|  | mov	edx,DWORD [24+edi] | 
|  | add	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | add	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [24+ebx],ecx | 
|  | ; Round 7 | 
|  | mov	ecx,DWORD [28+esi] | 
|  | mov	edx,DWORD [28+edi] | 
|  | add	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | add	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [28+ebx],ecx | 
|  | ; | 
|  | add	esi,32 | 
|  | add	edi,32 | 
|  | add	ebx,32 | 
|  | sub	ebp,8 | 
|  | jnz	NEAR L$012aw_loop | 
|  | L$011aw_finish: | 
|  | mov	ebp,DWORD [32+esp] | 
|  | and	ebp,7 | 
|  | jz	NEAR L$013aw_end | 
|  | ; Tail Round 0 | 
|  | mov	ecx,DWORD [esi] | 
|  | mov	edx,DWORD [edi] | 
|  | add	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | add	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [ebx],ecx | 
|  | jz	NEAR L$013aw_end | 
|  | ; Tail Round 1 | 
|  | mov	ecx,DWORD [4+esi] | 
|  | mov	edx,DWORD [4+edi] | 
|  | add	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | add	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [4+ebx],ecx | 
|  | jz	NEAR L$013aw_end | 
|  | ; Tail Round 2 | 
|  | mov	ecx,DWORD [8+esi] | 
|  | mov	edx,DWORD [8+edi] | 
|  | add	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | add	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [8+ebx],ecx | 
|  | jz	NEAR L$013aw_end | 
|  | ; Tail Round 3 | 
|  | mov	ecx,DWORD [12+esi] | 
|  | mov	edx,DWORD [12+edi] | 
|  | add	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | add	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [12+ebx],ecx | 
|  | jz	NEAR L$013aw_end | 
|  | ; Tail Round 4 | 
|  | mov	ecx,DWORD [16+esi] | 
|  | mov	edx,DWORD [16+edi] | 
|  | add	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | add	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [16+ebx],ecx | 
|  | jz	NEAR L$013aw_end | 
|  | ; Tail Round 5 | 
|  | mov	ecx,DWORD [20+esi] | 
|  | mov	edx,DWORD [20+edi] | 
|  | add	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | add	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [20+ebx],ecx | 
|  | jz	NEAR L$013aw_end | 
|  | ; Tail Round 6 | 
|  | mov	ecx,DWORD [24+esi] | 
|  | mov	edx,DWORD [24+edi] | 
|  | add	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | add	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [24+ebx],ecx | 
|  | L$013aw_end: | 
|  | pop	edi | 
|  | pop	esi | 
|  | pop	ebx | 
|  | pop	ebp | 
|  | ret | 
|  | global	_bn_sub_words | 
|  | align	16 | 
|  | _bn_sub_words: | 
|  | L$_bn_sub_words_begin: | 
|  | push	ebp | 
|  | push	ebx | 
|  | push	esi | 
|  | push	edi | 
|  | ; | 
|  | mov	ebx,DWORD [20+esp] | 
|  | mov	esi,DWORD [24+esp] | 
|  | mov	edi,DWORD [28+esp] | 
|  | mov	ebp,DWORD [32+esp] | 
|  | xor	eax,eax | 
|  | and	ebp,4294967288 | 
|  | jz	NEAR L$014aw_finish | 
|  | L$015aw_loop: | 
|  | ; Round 0 | 
|  | mov	ecx,DWORD [esi] | 
|  | mov	edx,DWORD [edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [ebx],ecx | 
|  | ; Round 1 | 
|  | mov	ecx,DWORD [4+esi] | 
|  | mov	edx,DWORD [4+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [4+ebx],ecx | 
|  | ; Round 2 | 
|  | mov	ecx,DWORD [8+esi] | 
|  | mov	edx,DWORD [8+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [8+ebx],ecx | 
|  | ; Round 3 | 
|  | mov	ecx,DWORD [12+esi] | 
|  | mov	edx,DWORD [12+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [12+ebx],ecx | 
|  | ; Round 4 | 
|  | mov	ecx,DWORD [16+esi] | 
|  | mov	edx,DWORD [16+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [16+ebx],ecx | 
|  | ; Round 5 | 
|  | mov	ecx,DWORD [20+esi] | 
|  | mov	edx,DWORD [20+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [20+ebx],ecx | 
|  | ; Round 6 | 
|  | mov	ecx,DWORD [24+esi] | 
|  | mov	edx,DWORD [24+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [24+ebx],ecx | 
|  | ; Round 7 | 
|  | mov	ecx,DWORD [28+esi] | 
|  | mov	edx,DWORD [28+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [28+ebx],ecx | 
|  | ; | 
|  | add	esi,32 | 
|  | add	edi,32 | 
|  | add	ebx,32 | 
|  | sub	ebp,8 | 
|  | jnz	NEAR L$015aw_loop | 
|  | L$014aw_finish: | 
|  | mov	ebp,DWORD [32+esp] | 
|  | and	ebp,7 | 
|  | jz	NEAR L$016aw_end | 
|  | ; Tail Round 0 | 
|  | mov	ecx,DWORD [esi] | 
|  | mov	edx,DWORD [edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [ebx],ecx | 
|  | jz	NEAR L$016aw_end | 
|  | ; Tail Round 1 | 
|  | mov	ecx,DWORD [4+esi] | 
|  | mov	edx,DWORD [4+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [4+ebx],ecx | 
|  | jz	NEAR L$016aw_end | 
|  | ; Tail Round 2 | 
|  | mov	ecx,DWORD [8+esi] | 
|  | mov	edx,DWORD [8+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [8+ebx],ecx | 
|  | jz	NEAR L$016aw_end | 
|  | ; Tail Round 3 | 
|  | mov	ecx,DWORD [12+esi] | 
|  | mov	edx,DWORD [12+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [12+ebx],ecx | 
|  | jz	NEAR L$016aw_end | 
|  | ; Tail Round 4 | 
|  | mov	ecx,DWORD [16+esi] | 
|  | mov	edx,DWORD [16+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [16+ebx],ecx | 
|  | jz	NEAR L$016aw_end | 
|  | ; Tail Round 5 | 
|  | mov	ecx,DWORD [20+esi] | 
|  | mov	edx,DWORD [20+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [20+ebx],ecx | 
|  | jz	NEAR L$016aw_end | 
|  | ; Tail Round 6 | 
|  | mov	ecx,DWORD [24+esi] | 
|  | mov	edx,DWORD [24+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [24+ebx],ecx | 
|  | L$016aw_end: | 
|  | pop	edi | 
|  | pop	esi | 
|  | pop	ebx | 
|  | pop	ebp | 
|  | ret | 
|  | global	_bn_sub_part_words | 
|  | align	16 | 
|  | _bn_sub_part_words: | 
|  | L$_bn_sub_part_words_begin: | 
|  | push	ebp | 
|  | push	ebx | 
|  | push	esi | 
|  | push	edi | 
|  | ; | 
|  | mov	ebx,DWORD [20+esp] | 
|  | mov	esi,DWORD [24+esp] | 
|  | mov	edi,DWORD [28+esp] | 
|  | mov	ebp,DWORD [32+esp] | 
|  | xor	eax,eax | 
|  | and	ebp,4294967288 | 
|  | jz	NEAR L$017aw_finish | 
|  | L$018aw_loop: | 
|  | ; Round 0 | 
|  | mov	ecx,DWORD [esi] | 
|  | mov	edx,DWORD [edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [ebx],ecx | 
|  | ; Round 1 | 
|  | mov	ecx,DWORD [4+esi] | 
|  | mov	edx,DWORD [4+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [4+ebx],ecx | 
|  | ; Round 2 | 
|  | mov	ecx,DWORD [8+esi] | 
|  | mov	edx,DWORD [8+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [8+ebx],ecx | 
|  | ; Round 3 | 
|  | mov	ecx,DWORD [12+esi] | 
|  | mov	edx,DWORD [12+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [12+ebx],ecx | 
|  | ; Round 4 | 
|  | mov	ecx,DWORD [16+esi] | 
|  | mov	edx,DWORD [16+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [16+ebx],ecx | 
|  | ; Round 5 | 
|  | mov	ecx,DWORD [20+esi] | 
|  | mov	edx,DWORD [20+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [20+ebx],ecx | 
|  | ; Round 6 | 
|  | mov	ecx,DWORD [24+esi] | 
|  | mov	edx,DWORD [24+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [24+ebx],ecx | 
|  | ; Round 7 | 
|  | mov	ecx,DWORD [28+esi] | 
|  | mov	edx,DWORD [28+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [28+ebx],ecx | 
|  | ; | 
|  | add	esi,32 | 
|  | add	edi,32 | 
|  | add	ebx,32 | 
|  | sub	ebp,8 | 
|  | jnz	NEAR L$018aw_loop | 
|  | L$017aw_finish: | 
|  | mov	ebp,DWORD [32+esp] | 
|  | and	ebp,7 | 
|  | jz	NEAR L$019aw_end | 
|  | ; Tail Round 0 | 
|  | mov	ecx,DWORD [esi] | 
|  | mov	edx,DWORD [edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [ebx],ecx | 
|  | add	esi,4 | 
|  | add	edi,4 | 
|  | add	ebx,4 | 
|  | dec	ebp | 
|  | jz	NEAR L$019aw_end | 
|  | ; Tail Round 1 | 
|  | mov	ecx,DWORD [esi] | 
|  | mov	edx,DWORD [edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [ebx],ecx | 
|  | add	esi,4 | 
|  | add	edi,4 | 
|  | add	ebx,4 | 
|  | dec	ebp | 
|  | jz	NEAR L$019aw_end | 
|  | ; Tail Round 2 | 
|  | mov	ecx,DWORD [esi] | 
|  | mov	edx,DWORD [edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [ebx],ecx | 
|  | add	esi,4 | 
|  | add	edi,4 | 
|  | add	ebx,4 | 
|  | dec	ebp | 
|  | jz	NEAR L$019aw_end | 
|  | ; Tail Round 3 | 
|  | mov	ecx,DWORD [esi] | 
|  | mov	edx,DWORD [edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [ebx],ecx | 
|  | add	esi,4 | 
|  | add	edi,4 | 
|  | add	ebx,4 | 
|  | dec	ebp | 
|  | jz	NEAR L$019aw_end | 
|  | ; Tail Round 4 | 
|  | mov	ecx,DWORD [esi] | 
|  | mov	edx,DWORD [edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [ebx],ecx | 
|  | add	esi,4 | 
|  | add	edi,4 | 
|  | add	ebx,4 | 
|  | dec	ebp | 
|  | jz	NEAR L$019aw_end | 
|  | ; Tail Round 5 | 
|  | mov	ecx,DWORD [esi] | 
|  | mov	edx,DWORD [edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [ebx],ecx | 
|  | add	esi,4 | 
|  | add	edi,4 | 
|  | add	ebx,4 | 
|  | dec	ebp | 
|  | jz	NEAR L$019aw_end | 
|  | ; Tail Round 6 | 
|  | mov	ecx,DWORD [esi] | 
|  | mov	edx,DWORD [edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [ebx],ecx | 
|  | add	esi,4 | 
|  | add	edi,4 | 
|  | add	ebx,4 | 
|  | L$019aw_end: | 
|  | cmp	DWORD [36+esp],0 | 
|  | je	NEAR L$020pw_end | 
|  | mov	ebp,DWORD [36+esp] | 
|  | cmp	ebp,0 | 
|  | je	NEAR L$020pw_end | 
|  | jge	NEAR L$021pw_pos | 
|  | ; pw_neg | 
|  | mov	edx,0 | 
|  | sub	edx,ebp | 
|  | mov	ebp,edx | 
|  | and	ebp,4294967288 | 
|  | jz	NEAR L$022pw_neg_finish | 
|  | L$023pw_neg_loop: | 
|  | ; dl<0 Round 0 | 
|  | mov	ecx,0 | 
|  | mov	edx,DWORD [edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [ebx],ecx | 
|  | ; dl<0 Round 1 | 
|  | mov	ecx,0 | 
|  | mov	edx,DWORD [4+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [4+ebx],ecx | 
|  | ; dl<0 Round 2 | 
|  | mov	ecx,0 | 
|  | mov	edx,DWORD [8+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [8+ebx],ecx | 
|  | ; dl<0 Round 3 | 
|  | mov	ecx,0 | 
|  | mov	edx,DWORD [12+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [12+ebx],ecx | 
|  | ; dl<0 Round 4 | 
|  | mov	ecx,0 | 
|  | mov	edx,DWORD [16+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [16+ebx],ecx | 
|  | ; dl<0 Round 5 | 
|  | mov	ecx,0 | 
|  | mov	edx,DWORD [20+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [20+ebx],ecx | 
|  | ; dl<0 Round 6 | 
|  | mov	ecx,0 | 
|  | mov	edx,DWORD [24+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [24+ebx],ecx | 
|  | ; dl<0 Round 7 | 
|  | mov	ecx,0 | 
|  | mov	edx,DWORD [28+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [28+ebx],ecx | 
|  | ; | 
|  | add	edi,32 | 
|  | add	ebx,32 | 
|  | sub	ebp,8 | 
|  | jnz	NEAR L$023pw_neg_loop | 
|  | L$022pw_neg_finish: | 
|  | mov	edx,DWORD [36+esp] | 
|  | mov	ebp,0 | 
|  | sub	ebp,edx | 
|  | and	ebp,7 | 
|  | jz	NEAR L$020pw_end | 
|  | ; dl<0 Tail Round 0 | 
|  | mov	ecx,0 | 
|  | mov	edx,DWORD [edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [ebx],ecx | 
|  | jz	NEAR L$020pw_end | 
|  | ; dl<0 Tail Round 1 | 
|  | mov	ecx,0 | 
|  | mov	edx,DWORD [4+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [4+ebx],ecx | 
|  | jz	NEAR L$020pw_end | 
|  | ; dl<0 Tail Round 2 | 
|  | mov	ecx,0 | 
|  | mov	edx,DWORD [8+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [8+ebx],ecx | 
|  | jz	NEAR L$020pw_end | 
|  | ; dl<0 Tail Round 3 | 
|  | mov	ecx,0 | 
|  | mov	edx,DWORD [12+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [12+ebx],ecx | 
|  | jz	NEAR L$020pw_end | 
|  | ; dl<0 Tail Round 4 | 
|  | mov	ecx,0 | 
|  | mov	edx,DWORD [16+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [16+ebx],ecx | 
|  | jz	NEAR L$020pw_end | 
|  | ; dl<0 Tail Round 5 | 
|  | mov	ecx,0 | 
|  | mov	edx,DWORD [20+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | dec	ebp | 
|  | mov	DWORD [20+ebx],ecx | 
|  | jz	NEAR L$020pw_end | 
|  | ; dl<0 Tail Round 6 | 
|  | mov	ecx,0 | 
|  | mov	edx,DWORD [24+edi] | 
|  | sub	ecx,eax | 
|  | mov	eax,0 | 
|  | adc	eax,eax | 
|  | sub	ecx,edx | 
|  | adc	eax,0 | 
|  | mov	DWORD [24+ebx],ecx | 
|  | jmp	NEAR L$020pw_end | 
|  | L$021pw_pos: | 
|  | and	ebp,4294967288 | 
|  | jz	NEAR L$024pw_pos_finish | 
|  | L$025pw_pos_loop: | 
|  | ; dl>0 Round 0 | 
|  | mov	ecx,DWORD [esi] | 
|  | sub	ecx,eax | 
|  | mov	DWORD [ebx],ecx | 
|  | jnc	NEAR L$026pw_nc0 | 
|  | ; dl>0 Round 1 | 
|  | mov	ecx,DWORD [4+esi] | 
|  | sub	ecx,eax | 
|  | mov	DWORD [4+ebx],ecx | 
|  | jnc	NEAR L$027pw_nc1 | 
|  | ; dl>0 Round 2 | 
|  | mov	ecx,DWORD [8+esi] | 
|  | sub	ecx,eax | 
|  | mov	DWORD [8+ebx],ecx | 
|  | jnc	NEAR L$028pw_nc2 | 
|  | ; dl>0 Round 3 | 
|  | mov	ecx,DWORD [12+esi] | 
|  | sub	ecx,eax | 
|  | mov	DWORD [12+ebx],ecx | 
|  | jnc	NEAR L$029pw_nc3 | 
|  | ; dl>0 Round 4 | 
|  | mov	ecx,DWORD [16+esi] | 
|  | sub	ecx,eax | 
|  | mov	DWORD [16+ebx],ecx | 
|  | jnc	NEAR L$030pw_nc4 | 
|  | ; dl>0 Round 5 | 
|  | mov	ecx,DWORD [20+esi] | 
|  | sub	ecx,eax | 
|  | mov	DWORD [20+ebx],ecx | 
|  | jnc	NEAR L$031pw_nc5 | 
|  | ; dl>0 Round 6 | 
|  | mov	ecx,DWORD [24+esi] | 
|  | sub	ecx,eax | 
|  | mov	DWORD [24+ebx],ecx | 
|  | jnc	NEAR L$032pw_nc6 | 
|  | ; dl>0 Round 7 | 
|  | mov	ecx,DWORD [28+esi] | 
|  | sub	ecx,eax | 
|  | mov	DWORD [28+ebx],ecx | 
|  | jnc	NEAR L$033pw_nc7 | 
|  | ; | 
|  | add	esi,32 | 
|  | add	ebx,32 | 
|  | sub	ebp,8 | 
|  | jnz	NEAR L$025pw_pos_loop | 
|  | L$024pw_pos_finish: | 
|  | mov	ebp,DWORD [36+esp] | 
|  | and	ebp,7 | 
|  | jz	NEAR L$020pw_end | 
|  | ; dl>0 Tail Round 0 | 
|  | mov	ecx,DWORD [esi] | 
|  | sub	ecx,eax | 
|  | mov	DWORD [ebx],ecx | 
|  | jnc	NEAR L$034pw_tail_nc0 | 
|  | dec	ebp | 
|  | jz	NEAR L$020pw_end | 
|  | ; dl>0 Tail Round 1 | 
|  | mov	ecx,DWORD [4+esi] | 
|  | sub	ecx,eax | 
|  | mov	DWORD [4+ebx],ecx | 
|  | jnc	NEAR L$035pw_tail_nc1 | 
|  | dec	ebp | 
|  | jz	NEAR L$020pw_end | 
|  | ; dl>0 Tail Round 2 | 
|  | mov	ecx,DWORD [8+esi] | 
|  | sub	ecx,eax | 
|  | mov	DWORD [8+ebx],ecx | 
|  | jnc	NEAR L$036pw_tail_nc2 | 
|  | dec	ebp | 
|  | jz	NEAR L$020pw_end | 
|  | ; dl>0 Tail Round 3 | 
|  | mov	ecx,DWORD [12+esi] | 
|  | sub	ecx,eax | 
|  | mov	DWORD [12+ebx],ecx | 
|  | jnc	NEAR L$037pw_tail_nc3 | 
|  | dec	ebp | 
|  | jz	NEAR L$020pw_end | 
|  | ; dl>0 Tail Round 4 | 
|  | mov	ecx,DWORD [16+esi] | 
|  | sub	ecx,eax | 
|  | mov	DWORD [16+ebx],ecx | 
|  | jnc	NEAR L$038pw_tail_nc4 | 
|  | dec	ebp | 
|  | jz	NEAR L$020pw_end | 
|  | ; dl>0 Tail Round 5 | 
|  | mov	ecx,DWORD [20+esi] | 
|  | sub	ecx,eax | 
|  | mov	DWORD [20+ebx],ecx | 
|  | jnc	NEAR L$039pw_tail_nc5 | 
|  | dec	ebp | 
|  | jz	NEAR L$020pw_end | 
|  | ; dl>0 Tail Round 6 | 
|  | mov	ecx,DWORD [24+esi] | 
|  | sub	ecx,eax | 
|  | mov	DWORD [24+ebx],ecx | 
|  | jnc	NEAR L$040pw_tail_nc6 | 
|  | mov	eax,1 | 
|  | jmp	NEAR L$020pw_end | 
|  | L$041pw_nc_loop: | 
|  | mov	ecx,DWORD [esi] | 
|  | mov	DWORD [ebx],ecx | 
|  | L$026pw_nc0: | 
|  | mov	ecx,DWORD [4+esi] | 
|  | mov	DWORD [4+ebx],ecx | 
|  | L$027pw_nc1: | 
|  | mov	ecx,DWORD [8+esi] | 
|  | mov	DWORD [8+ebx],ecx | 
|  | L$028pw_nc2: | 
|  | mov	ecx,DWORD [12+esi] | 
|  | mov	DWORD [12+ebx],ecx | 
|  | L$029pw_nc3: | 
|  | mov	ecx,DWORD [16+esi] | 
|  | mov	DWORD [16+ebx],ecx | 
|  | L$030pw_nc4: | 
|  | mov	ecx,DWORD [20+esi] | 
|  | mov	DWORD [20+ebx],ecx | 
|  | L$031pw_nc5: | 
|  | mov	ecx,DWORD [24+esi] | 
|  | mov	DWORD [24+ebx],ecx | 
|  | L$032pw_nc6: | 
|  | mov	ecx,DWORD [28+esi] | 
|  | mov	DWORD [28+ebx],ecx | 
|  | L$033pw_nc7: | 
|  | ; | 
|  | add	esi,32 | 
|  | add	ebx,32 | 
|  | sub	ebp,8 | 
|  | jnz	NEAR L$041pw_nc_loop | 
|  | mov	ebp,DWORD [36+esp] | 
|  | and	ebp,7 | 
|  | jz	NEAR L$042pw_nc_end | 
|  | mov	ecx,DWORD [esi] | 
|  | mov	DWORD [ebx],ecx | 
|  | L$034pw_tail_nc0: | 
|  | dec	ebp | 
|  | jz	NEAR L$042pw_nc_end | 
|  | mov	ecx,DWORD [4+esi] | 
|  | mov	DWORD [4+ebx],ecx | 
|  | L$035pw_tail_nc1: | 
|  | dec	ebp | 
|  | jz	NEAR L$042pw_nc_end | 
|  | mov	ecx,DWORD [8+esi] | 
|  | mov	DWORD [8+ebx],ecx | 
|  | L$036pw_tail_nc2: | 
|  | dec	ebp | 
|  | jz	NEAR L$042pw_nc_end | 
|  | mov	ecx,DWORD [12+esi] | 
|  | mov	DWORD [12+ebx],ecx | 
|  | L$037pw_tail_nc3: | 
|  | dec	ebp | 
|  | jz	NEAR L$042pw_nc_end | 
|  | mov	ecx,DWORD [16+esi] | 
|  | mov	DWORD [16+ebx],ecx | 
|  | L$038pw_tail_nc4: | 
|  | dec	ebp | 
|  | jz	NEAR L$042pw_nc_end | 
|  | mov	ecx,DWORD [20+esi] | 
|  | mov	DWORD [20+ebx],ecx | 
|  | L$039pw_tail_nc5: | 
|  | dec	ebp | 
|  | jz	NEAR L$042pw_nc_end | 
|  | mov	ecx,DWORD [24+esi] | 
|  | mov	DWORD [24+ebx],ecx | 
|  | L$040pw_tail_nc6: | 
|  | L$042pw_nc_end: | 
|  | mov	eax,0 | 
|  | L$020pw_end: | 
|  | pop	edi | 
|  | pop	esi | 
|  | pop	ebx | 
|  | pop	ebp | 
|  | ret |