	.file	"extr_strutil.c_str3cat.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	str3cat
	.type	str3cat, @function
str3cat:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	mov	r15, rdx
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	mov	r14, rcx
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	mov	r13, rdi
	mov	rdi, rsi
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	sub	rsp, 24
	.cfi_def_cfa_offset 80
	mov	QWORD PTR 8[rsp], rsi
	call	strlen@PLT
	mov	rdi, r15
	movsx	rbp, eax
	call	strlen@PLT
	mov	rdi, r14
	mov	ebx, eax
	call	strlen@PLT
	mov	rdi, r13
	mov	r12d, eax
	lea	eax, 0[rbp+rbx]
	lea	esi, 1[r12+rax]
	call	xrealloc@PLT
	mov	r8, QWORD PTR 8[rsp]
	mov	edx, ebp
	mov	r13, rax
	mov	rdi, rax
	mov	rsi, r8
	call	memmove@PLT
	lea	rdi, 0[r13+rbp]
	mov	edx, ebx
	mov	rsi, r15
	call	memmove@PLT
	movsx	rdi, ebx
	lea	edx, 1[r12]
	mov	rsi, r14
	add	rdi, rbp
	add	rdi, r13
	call	memmove@PLT
	add	rsp, 24
	.cfi_def_cfa_offset 56
	mov	rax, r13
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE0:
	.size	str3cat, .-str3cat
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_strutil.c_str3cat.c"
	.text
	.align	2
	.global	str3cat
	.syntax unified
	.arm
	.fpu softvfp
	.type	str3cat, %function
str3cat:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r4, r0
	mov	r0, r1
	mov	r6, r3
	mov	r8, r2
	mov	r10, r1
	bl	strlen
	mov	r5, r0
	mov	r0, r8
	bl	strlen
	mov	r9, r0
	mov	r0, r6
	bl	strlen
	add	fp, r5, r9
	add	r1, fp, r0
	mov	r7, r0
	add	r1, r1, #1
	mov	r0, r4
	bl	xrealloc
	mov	r4, r0
	mov	r1, r10
	mov	r2, r5
	bl	memmove
	mov	r2, r9
	mov	r1, r8
	add	r0, r4, r5
	bl	memmove
	mov	r1, r6
	add	r0, r4, fp
	add	r2, r7, #1
	bl	memmove
	mov	r0, r4
	pop	{r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
	.size	str3cat, .-str3cat
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
