	.file	"extr_llex.c_llex.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"invalid long string delimiter"
.LC1:
	.string	"."
	.text
	.p2align 4
	.type	llex, @function
llex:
.LFB0:
	.cfi_startproc
	endbr64
	push	r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	mov	r13, rsi
	push	r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	push	rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	mov	rbp, rdi
	push	rbx
	.cfi_def_cfa_offset 40
	.cfi_offset 3, -40
	lea	rbx, .L6[rip]
	sub	rsp, 8
	.cfi_def_cfa_offset 48
	mov	edi, DWORD PTR 4[rdi]
	call	luaZ_resetbuffer@PLT
	mov	r12d, DWORD PTR 0[rbp]
.L2:
	cmp	r12d, 62
	jg	.L3
	cmp	r12d, 9
	jle	.L4
	lea	eax, -10[r12]
	cmp	eax, 52
	ja	.L4
	movsx	rax, DWORD PTR [rbx+rax*4]
	add	rax, rbx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L6:
	.long	.L12-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L12-.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	.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	.L11-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L11-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L10-.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	.L4-.L6
	.long	.L4-.L6
	.long	.L4-.L6
	.long	.L8-.L6
	.long	.L7-.L6
	.long	.L5-.L6
	.text
	.p2align 4,,10
	.p2align 3
.L3:
	cmp	r12d, 126
	je	.L13
	cmp	r12d, 128
	jne	.L43
.L14:
	mov	r12d, DWORD PTR TK_EOS[rip]
.L1:
	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
.L43:
	.cfi_restore_state
	cmp	r12d, 91
	jne	.L4
	mov	rdi, rbp
	call	skip_sep@PLT
	test	eax, eax
	jns	.L44
	cmp	eax, -1
	je	.L1
	mov	edx, DWORD PTR TK_STRING[rip]
	lea	rsi, .LC0[rip]
	mov	rdi, rbp
	call	luaX_lexerror@PLT
.L7:
	mov	rdi, rbp
	mov	r12d, 61
	call	next@PLT
	cmp	DWORD PTR 0[rbp], 61
	jne	.L1
	mov	rdi, rbp
	call	next@PLT
	mov	r12d, DWORD PTR TK_EQ[rip]
	jmp	.L1
.L5:
	mov	rdi, rbp
	call	next@PLT
	cmp	DWORD PTR 0[rbp], 61
	jne	.L1
	mov	rdi, rbp
	call	next@PLT
	mov	r12d, DWORD PTR TK_GE[rip]
	jmp	.L1
.L4:
	movsx	edi, r12b
	call	isspace@PLT
	test	eax, eax
	jne	.L45
	movsx	edi, BYTE PTR 0[rbp]
	call	isdigit@PLT
	test	eax, eax
	jne	.L41
	movsx	edi, BYTE PTR 0[rbp]
	call	isalpha@PLT
	test	eax, eax
	je	.L46
	.p2align 4,,10
	.p2align 3
.L37:
	mov	rdi, rbp
	call	save_and_next@PLT
	movsx	edi, BYTE PTR 0[rbp]
	call	isalnum@PLT
	test	eax, eax
	jne	.L37
	cmp	DWORD PTR 0[rbp], 95
	je	.L37
	mov	edi, DWORD PTR 4[rbp]
	call	luaZ_bufflen@PLT
	mov	edi, DWORD PTR 4[rbp]
	mov	r12d, eax
	call	luaZ_buffer@PLT
	mov	edx, r12d
	mov	rdi, rbp
	mov	esi, eax
	call	luaX_newstring@PLT
	mov	edx, DWORD PTR [rax]
	test	edx, edx
	jle	.L31
	mov	eax, DWORD PTR FIRST_RESERVED[rip]
	lea	r12d, -1[rdx+rax]
	jmp	.L1
.L12:
	mov	rdi, rbp
	call	inclinenumber@PLT
	mov	r12d, DWORD PTR 0[rbp]
	jmp	.L2
.L11:
	mov	rdx, r13
	mov	esi, r12d
	mov	rdi, rbp
	call	read_string@PLT
	mov	r12d, DWORD PTR TK_STRING[rip]
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	pop	rbx
	.cfi_def_cfa_offset 32
	pop	rbp
	.cfi_def_cfa_offset 24
	mov	eax, r12d
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	ret
.L10:
	.cfi_restore_state
	mov	rdi, rbp
	call	next@PLT
	cmp	DWORD PTR 0[rbp], 45
	jne	.L1
	mov	rdi, rbp
	call	next@PLT
	cmp	DWORD PTR 0[rbp], 91
	jne	.L19
	mov	rdi, rbp
	call	skip_sep@PLT
	mov	edi, DWORD PTR 4[rbp]
	mov	r12d, eax
	call	luaZ_resetbuffer@PLT
	test	r12d, r12d
	js	.L19
	mov	edx, r12d
	xor	esi, esi
	mov	rdi, rbp
	call	read_long_string@PLT
	mov	edi, DWORD PTR 4[rbp]
	call	luaZ_resetbuffer@PLT
	mov	r12d, DWORD PTR 0[rbp]
	jmp	.L2
.L9:
	mov	rdi, rbp
	call	save_and_next@PLT
	lea	rsi, .LC1[rip]
	mov	rdi, rbp
	call	check_next@PLT
	test	eax, eax
	je	.L24
	lea	rsi, .LC1[rip]
	mov	rdi, rbp
	call	check_next@PLT
	mov	r12d, DWORD PTR TK_DOTS[rip]
	test	eax, eax
	cmove	r12d, DWORD PTR TK_CONCAT[rip]
	jmp	.L1
.L8:
	mov	rdi, rbp
	call	next@PLT
	cmp	DWORD PTR 0[rbp], 61
	jne	.L1
	mov	rdi, rbp
	call	next@PLT
	mov	r12d, DWORD PTR TK_LE[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L47:
	cmp	DWORD PTR 0[rbp], 128
	je	.L14
	mov	rdi, rbp
	call	next@PLT
.L19:
	mov	rdi, rbp
	call	currIsNewline@PLT
	test	eax, eax
	je	.L47
	mov	r12d, DWORD PTR 0[rbp]
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L13:
	mov	rdi, rbp
	call	next@PLT
	cmp	DWORD PTR 0[rbp], 61
	jne	.L1
	mov	rdi, rbp
	call	next@PLT
	mov	r12d, DWORD PTR TK_NE[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L24:
	movsx	edi, BYTE PTR 0[rbp]
	call	isdigit@PLT
	test	eax, eax
	je	.L1
.L41:
	mov	rsi, r13
	mov	rdi, rbp
	call	read_numeral@PLT
	mov	r12d, DWORD PTR TK_NUMBER[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L44:
	mov	edx, eax
	mov	rsi, r13
	mov	rdi, rbp
	call	read_long_string@PLT
	mov	r12d, DWORD PTR TK_STRING[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L46:
	mov	r12d, DWORD PTR 0[rbp]
	cmp	r12d, 95
	je	.L37
	mov	rdi, rbp
	call	next@PLT
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L45:
	mov	rdi, rbp
	call	currIsNewline@PLT
	xor	edi, edi
	test	eax, eax
	sete	dil
	call	lua_assert@PLT
	mov	rdi, rbp
	call	next@PLT
	mov	r12d, DWORD PTR 0[rbp]
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L31:
	mov	QWORD PTR 0[r13], rax
	mov	r12d, DWORD PTR TK_NAME[rip]
	jmp	.L1
	.cfi_endproc
.LFE0:
	.size	llex, .-llex
	.comm	TK_STRING,4,4
	.comm	TK_NUMBER,4,4
	.comm	TK_NE,4,4
	.comm	TK_NAME,4,4
	.comm	TK_LE,4,4
	.comm	TK_GE,4,4
	.comm	TK_EQ,4,4
	.comm	TK_EOS,4,4
	.comm	TK_DOTS,4,4
	.comm	TK_CONCAT,4,4
	.comm	FIRST_RESERVED,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_llex.c_llex.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"invalid long string delimiter\000"
	.align	2
.LC1:
	.ascii	".\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	llex, %function
llex:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, lr}
	mov	r5, r0
	ldr	r0, [r0, #4]
	mov	r6, r1
	bl	luaZ_resetbuffer
	ldr	r4, [r5]
.L2:
	cmp	r4, #91
	bgt	.L3
	cmp	r4, #44
	ble	.L49
	sub	r3, r4, #45
	cmp	r3, #46
	ldrls	pc, [pc, r3, asl #2]
	b	.L5
.L8:
	.word	.L13
	.word	.L12
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L11
	.word	.L10
	.word	.L9
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L7
.L3:
	cmp	r4, #126
	beq	.L17
	cmp	r4, #128
	bne	.L5
.L18:
	ldr	r3, .L54
	ldr	r4, [r3]
.L1:
	mov	r0, r4
	pop	{r4, r5, r6, pc}
.L49:
	sub	r3, r4, #10
	cmp	r3, #29
	bhi	.L5
	cmp	r3, #29
	ldrls	pc, [pc, r3, asl #2]
	b	.L5
.L15:
	.word	.L16
	.word	.L5
	.word	.L5
	.word	.L16
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L14
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L14
.L7:
	mov	r0, r5
	bl	skip_sep
	subs	r2, r0, #0
	bge	.L50
	cmn	r2, #1
	beq	.L1
	ldr	r3, .L54+4
	mov	r0, r5
	ldr	r1, .L54+8
	ldr	r2, [r3]
	bl	luaX_lexerror
.L10:
	mov	r0, r5
	bl	next
	ldr	r3, [r5]
	cmp	r3, #61
	movne	r4, #61
	bne	.L1
	mov	r0, r5
	bl	next
	ldr	r3, .L54+12
	ldr	r4, [r3]
	b	.L1
.L9:
	mov	r0, r5
	bl	next
	ldr	r3, [r5]
	cmp	r3, #61
	bne	.L1
	mov	r0, r5
	bl	next
	ldr	r3, .L54+16
	ldr	r4, [r3]
	b	.L1
.L16:
	mov	r0, r5
	bl	inclinenumber
	ldr	r4, [r5]
	b	.L2
.L14:
	and	r1, r4, #255
	mov	r2, r6
	mov	r0, r5
	bl	read_string
	ldr	r3, .L54+4
	ldr	r4, [r3]
	mov	r0, r4
	pop	{r4, r5, r6, pc}
.L5:
	and	r0, r4, #255
	bl	isspace
	cmp	r0, #0
	bne	.L51
	ldrb	r0, [r5]	@ zero_extendqisi2
	bl	isdigit
	cmp	r0, #0
	bne	.L47
	ldrb	r0, [r5]	@ zero_extendqisi2
	bl	isalpha
	cmp	r0, #0
	beq	.L52
.L41:
	mov	r0, r5
	bl	save_and_next
	ldrb	r0, [r5]	@ zero_extendqisi2
	bl	isalnum
	cmp	r0, #0
	bne	.L41
	ldr	r3, [r5]
	cmp	r3, #95
	beq	.L41
	ldr	r0, [r5, #4]
	bl	luaZ_buffer
	mov	r4, r0
	ldr	r0, [r5, #4]
	bl	luaZ_bufflen
	mov	r1, r4
	mov	r2, r0
	mov	r0, r5
	bl	luaX_newstring
	ldr	r4, [r0]
	cmp	r4, #0
	ldrgt	r3, .L54+20
	ldrle	r3, .L54+24
	ldrgt	r3, [r3]
	subgt	r4, r4, #1
	ldrle	r4, [r3]
	addgt	r4, r4, r3
	strle	r0, [r6]
	b	.L1
.L13:
	mov	r0, r5
	bl	next
	ldr	r3, [r5]
	cmp	r3, #45
	bne	.L1
	mov	r0, r5
	bl	next
	ldr	r3, [r5]
	cmp	r3, #91
	bne	.L22
	mov	r0, r5
	bl	skip_sep
	mov	r4, r0
	ldr	r0, [r5, #4]
	bl	luaZ_resetbuffer
	cmp	r4, #0
	blt	.L22
	mov	r2, r4
	mov	r1, #0
	mov	r0, r5
	bl	read_long_string
	ldr	r0, [r5, #4]
	bl	luaZ_resetbuffer
	ldr	r4, [r5]
	b	.L2
.L12:
	mov	r0, r5
	bl	save_and_next
	mov	r0, r5
	ldr	r1, .L54+28
	bl	check_next
	cmp	r0, #0
	beq	.L27
	mov	r0, r5
	ldr	r1, .L54+28
	bl	check_next
	cmp	r0, #0
	ldrne	r3, .L54+32
	ldreq	r3, .L54+36
	ldr	r4, [r3]
	b	.L1
.L11:
	mov	r0, r5
	bl	next
	ldr	r3, [r5]
	cmp	r3, #61
	bne	.L1
	mov	r0, r5
	bl	next
	ldr	r3, .L54+40
	ldr	r4, [r3]
	b	.L1
.L53:
	cmp	r4, #128
	beq	.L18
	mov	r0, r5
	bl	next
.L22:
	mov	r0, r5
	bl	currIsNewline
	cmp	r0, #0
	ldr	r4, [r5]
	beq	.L53
	b	.L2
.L17:
	mov	r0, r5
	bl	next
	ldr	r3, [r5]
	cmp	r3, #61
	bne	.L1
	mov	r0, r5
	bl	next
	ldr	r3, .L54+44
	ldr	r4, [r3]
	b	.L1
.L27:
	ldrb	r0, [r5]	@ zero_extendqisi2
	bl	isdigit
	cmp	r0, #0
	beq	.L1
.L47:
	mov	r1, r6
	mov	r0, r5
	bl	read_numeral
	ldr	r3, .L54+48
	ldr	r4, [r3]
	b	.L1
.L52:
	ldr	r4, [r5]
	cmp	r4, #95
	beq	.L41
	mov	r0, r5
	bl	next
	b	.L1
.L51:
	mov	r0, r5
	bl	currIsNewline
	clz	r0, r0
	lsr	r0, r0, #5
	bl	lua_assert
	mov	r0, r5
	bl	next
	ldr	r4, [r5]
	b	.L2
.L50:
	mov	r1, r6
	mov	r0, r5
	bl	read_long_string
	ldr	r3, .L54+4
	ldr	r4, [r3]
	b	.L1
.L55:
	.align	2
.L54:
	.word	TK_EOS
	.word	TK_STRING
	.word	.LC0
	.word	TK_EQ
	.word	TK_GE
	.word	FIRST_RESERVED
	.word	TK_NAME
	.word	.LC1
	.word	TK_DOTS
	.word	TK_CONCAT
	.word	TK_LE
	.word	TK_NE
	.word	TK_NUMBER
	.size	llex, .-llex
	.comm	TK_STRING,4,4
	.comm	TK_NUMBER,4,4
	.comm	TK_NE,4,4
	.comm	TK_NAME,4,4
	.comm	TK_LE,4,4
	.comm	TK_GE,4,4
	.comm	TK_EQ,4,4
	.comm	TK_EOS,4,4
	.comm	TK_DOTS,4,4
	.comm	TK_CONCAT,4,4
	.comm	FIRST_RESERVED,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
