	.file	"extr_stabs.c_stab_demangle_signature.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	stab_demangle_signature, @function
stab_demangle_signature:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	mov	r13, rsi
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	mov	r12, rdi
	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	r8, QWORD PTR [rsi]
	mov	r15, QWORD PTR FALSE[rip]
	movzx	eax, BYTE PTR [r8]
	mov	QWORD PTR [rsp], r8
	mov	rbp, r15
	test	al, al
	je	.L2
	xor	r14d, r14d
	lea	rbx, .L6[rip]
	.p2align 4,,10
	.p2align 3
.L26:
	cmp	al, 95
	jg	.L3
	cmp	al, 47
	jle	.L4
	sub	eax, 48
	cmp	al, 47
	ja	.L4
	movzx	eax, al
	movsx	rax, DWORD PTR [rbx+rax*4]
	add	rax, rbx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L6:
	.long	.L11-.L6
	.long	.L11-.L6
	.long	.L11-.L6
	.long	.L11-.L6
	.long	.L11-.L6
	.long	.L11-.L6
	.long	.L11-.L6
	.long	.L11-.L6
	.long	.L11-.L6
	.long	.L11-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L10-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L9-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L8-.L6
	.long	.L4-.L6
	.long	.L10-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L5-.L6
	.text
.L10:
	test	r14, r14
	cmove	r14, r8
	add	r8, 1
	mov	QWORD PTR 0[r13], r8
.L16:
	test	r15, r15
	jne	.L49
.L25:
	mov	r8, QWORD PTR 0[r13]
	movzx	eax, BYTE PTR [r8]
	test	al, al
	jne	.L26
.L2:
	test	rbp, rbp
	je	.L50
.L27:
	mov	rax, QWORD PTR TRUE[rip]
	add	rsp, 24
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	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
.L11:
	.cfi_restore_state
	test	r14, r14
	mov	rsi, r13
	mov	rdi, r12
	cmove	r14, r8
	xor	edx, edx
	call	stab_demangle_class@PLT
	test	eax, eax
	je	.L46
.L23:
	mov	rdx, QWORD PTR 0[r13]
	mov	rsi, r14
	mov	rdi, r12
	sub	rdx, r14
	call	stab_demangle_remember_type@PLT
	test	eax, eax
	je	.L46
.L45:
	mov	r15, QWORD PTR TRUE[rip]
	xor	r14d, r14d
	test	r15, r15
	je	.L25
.L49:
	lea	rdx, 4[r12]
	mov	rcx, r12
	mov	rsi, r13
	mov	rdi, r12
	mov	rbp, QWORD PTR TRUE[rip]
	call	stab_demangle_args@PLT
	test	eax, eax
	jne	.L25
.L46:
	mov	rax, QWORD PTR FALSE[rip]
	add	rsp, 24
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	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
.L4:
	.cfi_restore_state
	lea	rdx, 4[r12]
	mov	rcx, r12
	mov	rsi, r13
	mov	rdi, r12
	mov	rbp, QWORD PTR TRUE[rip]
	call	stab_demangle_args@PLT
	test	eax, eax
	jne	.L16
	jmp	.L46
.L5:
	mov	rdi, QWORD PTR [rsp]
	call	stab_bad_demangle@PLT
	mov	rax, QWORD PTR FALSE[rip]
	add	rsp, 24
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	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
.L8:
	.cfi_restore_state
	xor	edx, edx
	mov	rsi, r13
	mov	rdi, r12
	mov	QWORD PTR 8[rsp], r8
	call	stab_demangle_qualified@PLT
	mov	r8, QWORD PTR 8[rsp]
	test	eax, eax
	je	.L46
	mov	rdx, QWORD PTR 0[r13]
	mov	rsi, r8
	mov	rdi, r12
	sub	rdx, r8
	call	stab_demangle_remember_type@PLT
	test	eax, eax
	jne	.L45
	jmp	.L46
.L9:
	add	r8, 1
	lea	rdx, 4[r12]
	mov	rcx, r12
	mov	rsi, r13
	mov	rbp, QWORD PTR TRUE[rip]
	mov	QWORD PTR 0[r13], r8
	mov	rdi, r12
	call	stab_demangle_args@PLT
	test	eax, eax
	je	.L46
	xor	r14d, r14d
	jmp	.L16
	.p2align 4,,10
	.p2align 3
.L3:
	cmp	al, 116
	jne	.L4
	test	r14, r14
	mov	rsi, r13
	mov	rdi, r12
	cmove	r14, r8
	xor	edx, edx
	call	stab_demangle_template@PLT
	test	eax, eax
	jne	.L23
	jmp	.L46
.L50:
	lea	rdx, 4[r12]
	mov	rcx, r12
	mov	rsi, r13
	mov	rdi, r12
	call	stab_demangle_args@PLT
	test	eax, eax
	jne	.L27
	jmp	.L46
	.cfi_endproc
.LFE0:
	.size	stab_demangle_signature, .-stab_demangle_signature
	.comm	TRUE,8,8
	.comm	FALSE,8,8
	.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_stabs.c_stab_demangle_signature.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	stab_demangle_signature, %function
stab_demangle_signature:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	ldr	fp, [r1]
	ldr	r3, .L51
	ldrb	r2, [fp]	@ zero_extendqisi2
	ldr	r7, [r3]
	sub	sp, sp, #12
	cmp	r2, #0
	mov	r5, r1
	mov	r9, r0
	str	r7, [sp, #4]
	beq	.L2
	add	r10, r0, #4
	mov	r3, r10
	mov	r4, fp
	mov	r6, #0
	mov	r10, r0
	mov	r9, r3
	ldr	r8, .L51+4
.L26:
	cmp	r2, #95
	bhi	.L3
	cmp	r2, #47
	bls	.L4
	sub	r2, r2, #48
	cmp	r2, #47
	ldrls	pc, [pc, r2, asl #2]
	b	.L4
.L6:
	.word	.L11
	.word	.L11
	.word	.L11
	.word	.L11
	.word	.L11
	.word	.L11
	.word	.L11
	.word	.L11
	.word	.L11
	.word	.L11
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L10
	.word	.L4
	.word	.L4
	.word	.L9
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L8
	.word	.L4
	.word	.L10
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L4
	.word	.L5
.L10:
	cmp	r6, #0
	moveq	r6, r4
	add	r2, r4, #1
	str	r2, [r5]
.L16:
	cmp	r7, #0
	bne	.L49
.L25:
	ldr	r4, [r5]
	ldrb	r2, [r4]	@ zero_extendqisi2
	cmp	r2, #0
	bne	.L26
	mov	r9, r10
.L2:
	ldr	r3, [sp, #4]
	cmp	r3, #0
	beq	.L50
.L27:
	ldr	r3, .L51+4
	ldr	r0, [r3]
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L11:
	mov	r2, #0
	mov	r1, r5
	mov	r0, r10
	bl	stab_demangle_class
	cmp	r6, #0
	moveq	r6, r4
	cmp	r0, #0
	beq	.L46
.L23:
	ldr	r2, [r5]
	mov	r1, r6
	mov	r0, r10
	sub	r2, r2, r6
	bl	stab_demangle_remember_type
	cmp	r0, #0
	beq	.L46
.L45:
	ldr	r7, [r8]
	mov	r6, #0
	cmp	r7, #0
	beq	.L25
.L49:
	ldr	ip, [r8]
	mov	r3, r10
	mov	r2, r9
	mov	r1, r5
	mov	r0, r10
	str	ip, [sp, #4]
	bl	stab_demangle_args
	cmp	r0, #0
	bne	.L25
.L46:
	ldr	r3, .L51
	ldr	r0, [r3]
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L4:
	ldr	ip, [r8]
	mov	r3, r10
	mov	r2, r9
	mov	r1, r5
	mov	r0, r10
	str	ip, [sp, #4]
	bl	stab_demangle_args
	cmp	r0, #0
	bne	.L16
	b	.L46
.L5:
	mov	r0, fp
	bl	stab_bad_demangle
	ldr	r3, .L51
	ldr	r0, [r3]
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L8:
	mov	r2, #0
	mov	r1, r5
	mov	r0, r10
	bl	stab_demangle_qualified
	cmp	r0, #0
	beq	.L46
	ldr	r2, [r5]
	mov	r1, r4
	mov	r0, r10
	sub	r2, r2, r4
	bl	stab_demangle_remember_type
	cmp	r0, #0
	bne	.L45
	b	.L46
.L9:
	ldr	r3, [r8]
	add	r4, r4, #1
	str	r3, [sp, #4]
	mov	r2, r9
	mov	r3, r10
	mov	r1, r5
	mov	r0, r10
	str	r4, [r5]
	bl	stab_demangle_args
	cmp	r0, #0
	beq	.L46
	mov	r6, #0
	b	.L16
.L3:
	cmp	r2, #116
	bne	.L4
	mov	r2, #0
	mov	r1, r5
	mov	r0, r10
	bl	stab_demangle_template
	cmp	r6, #0
	moveq	r6, r4
	cmp	r0, #0
	bne	.L23
	b	.L46
.L50:
	mov	r1, r5
	mov	r3, r9
	mov	r0, r9
	add	r2, r9, #4
	bl	stab_demangle_args
	cmp	r0, #0
	bne	.L27
	b	.L46
.L52:
	.align	2
.L51:
	.word	FALSE
	.word	TRUE
	.size	stab_demangle_signature, .-stab_demangle_signature
	.comm	TRUE,4,4
	.comm	FALSE,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
