	.section	.text
	.intel_syntax
	.global	str_catz
str_catz:
	push	%ebx
	mov	%ebx, [%esp + 8]
	mov	%edx, [%esp + 12]
	mov	%eax, [%ebx - 4]
	add	%eax, %ebx
	mov	%cl, [%edx]
	mov	[%eax], %cl
	test	%cl, %cl
	je	str_catz.end
str_catz.loop:
	inc	%eax
	inc	%edx
	mov	%cl, [%edx]
	mov	[%eax], %cl
	test	%cl, %cl
	jne	str_catz.loop
str_catz.end:
	sub	%eax, %ebx
	mov	[%ebx - 4], %eax
	xor	%eax, %eax
	pop	%ebx
	ret
