	.file	"extr_fts2.c_getToken.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	getToken, @function
getToken:
.LFB0:
	.cfi_startproc
	endbr64
	push	r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	push	r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	push	rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	mov	rbp, rsi
	push	rbx
	.cfi_def_cfa_offset 40
	.cfi_offset 3, -40
	mov	rbx, rdi
	sub	rsp, 8
	.cfi_def_cfa_offset 48
	movsx	edi, BYTE PTR [rdi]
	mov	eax, edi
	cmp	dil, 39
	jg	.L2
	test	dil, dil
	js	.L3
	cmp	dil, 39
	ja	.L3
	lea	rsi, .L5[rip]
	movzx	ecx, dil
	movsx	rdx, DWORD PTR [rsi+rcx*4]
	add	rdx, rsi
	notrack jmp	rdx
	.section	.rodata
	.align 4
	.align 4
.L5:
	.long	.L7-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L18-.L5
	.long	.L18-.L5
	.long	.L3-.L5
	.long	.L18-.L5
	.long	.L18-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L18-.L5
	.long	.L3-.L5
	.long	.L4-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L4-.L5
	.text
.L18:
	mov	r13d, 1
.L6:
	movsx	edi, BYTE PTR [rbx+r13]
	mov	r12d, r13d
	add	r13, 1
	call	safe_isspace@PLT
	test	eax, eax
	jne	.L6
	mov	eax, DWORD PTR TOKEN_SPACE[rip]
	mov	DWORD PTR 0[rbp], eax
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	mov	eax, r12d
	pop	rbx
	.cfi_def_cfa_offset 32
	pop	rbp
	.cfi_def_cfa_offset 24
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L2:
	.cfi_restore_state
	mov	edx, 1
	cmp	dil, 91
	jne	.L33
.L8:
	movsx	eax, BYTE PTR [rbx+rdx]
	mov	r12d, edx
	test	eax, eax
	je	.L31
	lea	r12d, 1[rdx]
	add	rdx, 1
	cmp	eax, 93
	jne	.L8
.L31:
	mov	eax, DWORD PTR TOKEN_ID[rip]
	mov	DWORD PTR 0[rbp], eax
.L36:
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	mov	eax, r12d
	pop	rbx
	.cfi_def_cfa_offset 32
	pop	rbp
	.cfi_def_cfa_offset 24
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L33:
	.cfi_restore_state
	cmp	dil, 96
	jne	.L3
.L4:
	movsx	edx, BYTE PTR 1[rbx]
	mov	r12d, 1
	mov	ecx, 1
	test	edx, edx
	jne	.L9
.L10:
	mov	eax, DWORD PTR TOKEN_STRING[rip]
	mov	DWORD PTR 0[rbp], eax
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	mov	eax, r12d
	pop	rbx
	.cfi_def_cfa_offset 32
	pop	rbp
	.cfi_def_cfa_offset 24
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L35:
	.cfi_restore_state
	cmp	al, BYTE PTR 1[rbx+rcx]
	jne	.L34
	add	r12d, 1
.L12:
	add	r12d, 1
	movsx	rcx, r12d
	movsx	edx, BYTE PTR [rbx+rcx]
	test	edx, edx
	je	.L10
.L9:
	cmp	edi, edx
	jne	.L12
	jmp	.L35
.L7:
	mov	eax, DWORD PTR TOKEN_EOF[rip]
	xor	r12d, r12d
	mov	DWORD PTR 0[rbp], eax
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	mov	eax, r12d
	pop	rbx
	.cfi_def_cfa_offset 32
	pop	rbp
	.cfi_def_cfa_offset 24
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	ret
.L3:
	.cfi_restore_state
	call	IdChar@PLT
	test	eax, eax
	je	.L16
	mov	r13d, 1
	.p2align 4,,10
	.p2align 3
.L17:
	movsx	edi, BYTE PTR [rbx+r13]
	mov	r12d, r13d
	add	r13, 1
	call	IdChar@PLT
	test	eax, eax
	jne	.L17
	mov	eax, DWORD PTR TOKEN_ID[rip]
	mov	DWORD PTR 0[rbp], eax
	jmp	.L36
	.p2align 4,,10
	.p2align 3
.L16:
	mov	eax, DWORD PTR TOKEN_PUNCT[rip]
	mov	r12d, 1
	mov	DWORD PTR 0[rbp], eax
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	mov	eax, r12d
	pop	rbx
	.cfi_def_cfa_offset 32
	pop	rbp
	.cfi_def_cfa_offset 24
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L34:
	.cfi_restore_state
	xor	eax, eax
	test	edi, edi
	setne	al
	add	r12d, eax
	jmp	.L10
	.cfi_endproc
.LFE0:
	.size	getToken, .-getToken
	.comm	TOKEN_STRING,4,4
	.comm	TOKEN_SPACE,4,4
	.comm	TOKEN_PUNCT,4,4
	.comm	TOKEN_ID,4,4
	.comm	TOKEN_EOF,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_fts2.c_getToken.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getToken, %function
getToken:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, lr}
	mov	r4, r0
	ldrb	r0, [r0]	@ zero_extendqisi2
	mov	r6, r1
	cmp	r0, #39
	bhi	.L2
	cmp	r0, #39
	ldrls	pc, [pc, r0, asl #2]
	b	.L3
.L5:
	.word	.L7
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L6
	.word	.L6
	.word	.L3
	.word	.L6
	.word	.L6
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L6
	.word	.L3
	.word	.L4
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L4
.L2:
	cmp	r0, #91
	moveq	r5, #1
	bne	.L33
.L9:
	ldrb	r3, [r4, #1]!	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L31
	cmp	r3, #93
	add	r5, r5, #1
	bne	.L9
.L31:
	ldr	r3, .L36
	ldr	r3, [r3]
	str	r3, [r6]
.L35:
	mov	r0, r5
	pop	{r4, r5, r6, r7, r8, pc}
.L33:
	cmp	r0, #96
	bne	.L3
.L4:
	mov	r5, #1
	ldrb	r3, [r4, #1]	@ zero_extendqisi2
	cmp	r3, #0
	movne	r2, r5
	bne	.L16
.L12:
	ldr	r3, .L36+4
	mov	r0, r5
	ldr	r3, [r3]
	str	r3, [r6]
	pop	{r4, r5, r6, r7, r8, pc}
.L34:
	add	r2, r4, r2
	ldrb	r3, [r2, #1]	@ zero_extendqisi2
	add	r5, r5, #1
	cmp	r3, r0
	bne	.L12
.L14:
	add	r5, r5, #1
	ldrb	r3, [r4, r5]	@ zero_extendqisi2
	mov	r2, r5
	cmp	r3, #0
	beq	.L12
.L16:
	cmp	r0, r3
	bne	.L14
	b	.L34
.L6:
	rsb	r7, r4, #1
.L10:
	add	r5, r7, r4
	ldrb	r0, [r4, #1]!	@ zero_extendqisi2
	bl	safe_isspace
	cmp	r0, #0
	bne	.L10
	ldr	r3, .L36+8
	mov	r0, r5
	ldr	r3, [r3]
	str	r3, [r6]
	pop	{r4, r5, r6, r7, r8, pc}
.L3:
	bl	IdChar
	cmp	r0, #0
	beq	.L19
	rsb	r7, r4, #1
.L20:
	add	r5, r7, r4
	ldrb	r0, [r4, #1]!	@ zero_extendqisi2
	bl	IdChar
	cmp	r0, #0
	bne	.L20
	ldr	r3, .L36
	ldr	r3, [r3]
	str	r3, [r6]
	b	.L35
.L7:
	mov	r5, #0
	ldr	r3, .L36+12
	mov	r0, r5
	ldr	r3, [r3]
	str	r3, [r1]
	pop	{r4, r5, r6, r7, r8, pc}
.L19:
	mov	r5, #1
	ldr	r3, .L36+16
	mov	r0, r5
	ldr	r3, [r3]
	str	r3, [r6]
	pop	{r4, r5, r6, r7, r8, pc}
.L37:
	.align	2
.L36:
	.word	TOKEN_ID
	.word	TOKEN_STRING
	.word	TOKEN_SPACE
	.word	TOKEN_EOF
	.word	TOKEN_PUNCT
	.size	getToken, .-getToken
	.comm	TOKEN_STRING,4,4
	.comm	TOKEN_SPACE,4,4
	.comm	TOKEN_PUNCT,4,4
	.comm	TOKEN_ID,4,4
	.comm	TOKEN_EOF,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
