	.file	"extr_libelftc_dem_gnu3.c_cpp_demangle_read_expr_primary.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"false"
.LC1:
	.string	"true"
.LC2:
	.string	"-"
	.text
	.p2align 4
	.type	cpp_demangle_read_expr_primary, @function
cpp_demangle_read_expr_primary:
.LFB0:
	.cfi_startproc
	endbr64
	test	rdi, rdi
	je	.L39
	push	r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	push	rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	mov	rbp, rdi
	sub	rsp, 8
	.cfi_def_cfa_offset 32
	mov	rdx, QWORD PTR [rdi]
	lea	rax, 1[rdx]
	mov	QWORD PTR [rdi], rax
	movzx	eax, BYTE PTR 1[rdx]
	test	al, al
	je	.L6
	cmp	al, 95
	je	.L40
	sub	eax, 98
	cmp	al, 23
	ja	.L6
	lea	rcx, .L8[rip]
	movzx	eax, al
	movsx	rax, DWORD PTR [rcx+rax*4]
	add	rax, rcx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L8:
	.long	.L13-.L8
	.long	.L6-.L8
	.long	.L9-.L8
	.long	.L11-.L8
	.long	.L10-.L8
	.long	.L9-.L8
	.long	.L6-.L8
	.long	.L7-.L8
	.long	.L7-.L8
	.long	.L6-.L8
	.long	.L7-.L8
	.long	.L7-.L8
	.long	.L7-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L7-.L8
	.long	.L7-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L7-.L8
	.long	.L7-.L8
	.text
	.p2align 4,,10
	.p2align 3
.L40:
	cmp	BYTE PTR 2[rdx], 90
	jne	.L6
	lea	rax, 3[rdx]
	mov	QWORD PTR [rdi], rax
	cmp	BYTE PTR 3[rdx], 0
	jne	.L41
.L6:
	xor	eax, eax
.L1:
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	pop	rbp
	.cfi_def_cfa_offset 16
	pop	r12
	.cfi_def_cfa_offset 8
	ret
.L9:
	.cfi_restore_state
	add	rdx, 2
	mov	esi, DWORD PTR decode_fp_to_double[rip]
	mov	QWORD PTR [rdi], rdx
.L37:
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	mov	rdi, rbp
	pop	rbp
	.cfi_restore 6
	.cfi_def_cfa_offset 16
	pop	r12
	.cfi_restore 12
	.cfi_def_cfa_offset 8
	jmp	cpp_demangle_push_fp@PLT
.L13:
	.cfi_restore_state
	cmp	BYTE PTR 3[rdx], 69
	jne	.L6
	lea	rax, 2[rdx]
	mov	QWORD PTR [rdi], rax
	movzx	eax, BYTE PTR 2[rdx]
	cmp	al, 48
	je	.L14
	cmp	al, 49
	jne	.L6
	add	rdx, 4
	lea	rsi, .LC1[rip]
	mov	QWORD PTR [rdi], rdx
	mov	edx, 4
.L36:
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	mov	rdi, rbp
	pop	rbp
	.cfi_restore 6
	.cfi_def_cfa_offset 16
	pop	r12
	.cfi_restore 12
	.cfi_def_cfa_offset 8
	jmp	cpp_demangle_push_str@PLT
.L7:
	.cfi_restore_state
	lea	r12, 2[rdx]
	mov	QWORD PTR [rdi], r12
	movsx	edi, BYTE PTR 2[rdx]
	cmp	dil, 110
	je	.L42
.L16:
	cmp	dil, 69
	jne	.L18
	jmp	.L19
	.p2align 4,,10
	.p2align 3
.L43:
	mov	rax, QWORD PTR 0[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR 0[rbp], rdx
	movsx	edi, BYTE PTR 1[rax]
	cmp	dil, 69
	je	.L17
.L18:
	call	ELFTC_ISDIGIT@PLT
	test	eax, eax
	jne	.L43
	jmp	.L6
.L11:
	add	rdx, 2
	mov	esi, DWORD PTR decode_fp_to_float80[rip]
	mov	QWORD PTR [rdi], rdx
	jmp	.L37
.L10:
	add	rdx, 2
	mov	esi, DWORD PTR decode_fp_to_float[rip]
	mov	QWORD PTR [rdi], rdx
	jmp	.L37
	.p2align 4,,10
	.p2align 3
.L39:
	.cfi_def_cfa_offset 8
	.cfi_restore 6
	.cfi_restore 12
	xor	eax, eax
	ret
	.p2align 4,,10
	.p2align 3
.L41:
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -24
	.cfi_offset 12, -16
	call	cpp_demangle_read_encoding@PLT
	test	eax, eax
	je	.L6
	add	QWORD PTR 0[rbp], 1
	mov	eax, 1
	jmp	.L1
.L19:
	mov	rdx, r12
	.p2align 4,,10
	.p2align 3
.L17:
	add	rdx, 1
	mov	rsi, r12
	mov	QWORD PTR 0[rbp], rdx
	sub	rdx, r12
	sub	edx, 1
	jmp	.L36
	.p2align 4,,10
	.p2align 3
.L42:
	mov	edx, 1
	lea	rsi, .LC2[rip]
	mov	rdi, rbp
	call	cpp_demangle_push_str@PLT
	test	eax, eax
	je	.L6
	mov	rax, QWORD PTR 0[rbp]
	lea	r12, 1[rax]
	mov	QWORD PTR 0[rbp], r12
	movsx	edi, BYTE PTR 1[rax]
	jmp	.L16
	.p2align 4,,10
	.p2align 3
.L14:
	add	rdx, 4
	lea	rsi, .LC0[rip]
	mov	QWORD PTR [rdi], rdx
	mov	edx, 5
	jmp	.L36
	.cfi_endproc
.LFE0:
	.size	cpp_demangle_read_expr_primary, .-cpp_demangle_read_expr_primary
	.comm	decode_fp_to_float80,4,4
	.comm	decode_fp_to_float128,4,4
	.comm	decode_fp_to_float,4,4
	.comm	decode_fp_to_double,4,4
	.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_libelftc_dem_gnu3.c_cpp_demangle_read_expr_primary.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"false\000"
	.align	2
.LC1:
	.ascii	"true\000"
	.align	2
.LC2:
	.ascii	"-\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cpp_demangle_read_expr_primary, %function
cpp_demangle_read_expr_primary:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, lr}
	subs	r4, r0, #0
	beq	.L6
	ldr	r2, [r4]
	add	r3, r2, #1
	str	r3, [r4]
	ldrb	r3, [r2, #1]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L6
	cmp	r3, #95
	beq	.L39
	sub	r3, r3, #98
	cmp	r3, #23
	ldrls	pc, [pc, r3, asl #2]
	b	.L6
.L8:
	.word	.L13
	.word	.L6
	.word	.L12
	.word	.L11
	.word	.L10
	.word	.L9
	.word	.L6
	.word	.L7
	.word	.L7
	.word	.L6
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L7
	.word	.L7
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L7
	.word	.L7
.L39:
	ldrb	r3, [r2, #2]	@ zero_extendqisi2
	cmp	r3, #90
	bne	.L6
	add	r3, r2, #3
	str	r3, [r4]
	ldrb	r3, [r2, #3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L40
.L6:
	mov	r0, #0
	pop	{r4, r5, r6, pc}
.L7:
	add	r5, r2, #2
	str	r5, [r4]
	ldrb	r0, [r2, #2]	@ zero_extendqisi2
	cmp	r0, #110
	beq	.L41
.L16:
	cmp	r0, #69
	bne	.L18
	b	.L19
.L42:
	ldr	r3, [r4]
	add	r2, r3, #1
	str	r2, [r4]
	ldrb	r0, [r3, #1]	@ zero_extendqisi2
	cmp	r0, #69
	beq	.L17
.L18:
	bl	ELFTC_ISDIGIT
	cmp	r0, #0
	bne	.L42
	b	.L6
.L13:
	ldrb	r3, [r2, #3]	@ zero_extendqisi2
	cmp	r3, #69
	bne	.L6
	add	r3, r2, #2
	str	r3, [r4]
	ldrb	r3, [r2, #2]	@ zero_extendqisi2
	cmp	r3, #48
	beq	.L14
	cmp	r3, #49
	bne	.L6
	add	r2, r2, #4
	str	r2, [r4]
	mov	r0, r4
	pop	{r4, r5, r6, lr}
	mov	r2, #4
	ldr	r1, .L43
	b	cpp_demangle_push_str
.L12:
	ldr	r3, .L43+4
.L37:
	add	r2, r2, #2
	mov	r0, r4
	str	r2, [r4]
	ldr	r1, [r3]
	pop	{r4, r5, r6, lr}
	b	cpp_demangle_push_fp
.L11:
	ldr	r3, .L43+8
	b	.L37
.L10:
	ldr	r3, .L43+12
	b	.L37
.L9:
	ldr	r3, .L43+16
	b	.L37
.L40:
	bl	cpp_demangle_read_encoding
	cmp	r0, #0
	beq	.L6
	mov	r0, #1
	ldr	r3, [r4]
	add	r3, r3, r0
	str	r3, [r4]
	pop	{r4, r5, r6, pc}
.L19:
	mov	r2, r5
.L17:
	add	r3, r2, #1
	sub	r2, r3, r5
	mov	r1, r5
	mov	r0, r4
	str	r3, [r4]
	sub	r2, r2, #1
	pop	{r4, r5, r6, lr}
	b	cpp_demangle_push_str
.L41:
	mov	r2, #1
	mov	r0, r4
	ldr	r1, .L43+20
	bl	cpp_demangle_push_str
	cmp	r0, #0
	beq	.L6
	ldr	r3, [r4]
	add	r5, r3, #1
	str	r5, [r4]
	ldrb	r0, [r3, #1]	@ zero_extendqisi2
	b	.L16
.L14:
	add	r2, r2, #4
	str	r2, [r4]
	mov	r0, r4
	pop	{r4, r5, r6, lr}
	mov	r2, #5
	ldr	r1, .L43+24
	b	cpp_demangle_push_str
.L44:
	.align	2
.L43:
	.word	.LC1
	.word	decode_fp_to_double
	.word	decode_fp_to_float80
	.word	decode_fp_to_float
	.word	decode_fp_to_float128
	.word	.LC2
	.word	.LC0
	.size	cpp_demangle_read_expr_primary, .-cpp_demangle_read_expr_primary
	.comm	decode_fp_to_float80,4,4
	.comm	decode_fp_to_float128,4,4
	.comm	decode_fp_to_float,4,4
	.comm	decode_fp_to_double,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
