	.file	"extr_lstrlib.c_match.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"pattern too complex"
	.text
	.p2align 4
	.type	match, @function
match:
.LFB0:
	.cfi_startproc
	endbr64
	push	r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	push	r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	push	r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	mov	r12, rdx
	push	rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	mov	rbp, rsi
	push	rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	mov	eax, DWORD PTR 24[rdi]
	mov	rbx, rdi
	lea	edx, -1[rax]
	mov	DWORD PTR 24[rdi], edx
	test	eax, eax
	je	.L26
.L2:
	movabs	r14, -9223332454436175872
	mov	rdx, QWORD PTR [rbx]
	cmp	r12, rdx
	je	.L18
.L3:
	movzx	eax, BYTE PTR [r12]
	cmp	al, 40
	je	.L5
	cmp	al, 41
	je	.L6
	cmp	al, 36
	je	.L27
.L8:
	mov	rsi, r12
	mov	rdi, rbx
	call	classend@PLT
	mov	rdx, r12
	mov	rsi, rbp
	mov	rdi, rbx
	mov	rcx, rax
	mov	r13, rax
	call	singlematch@PLT
	test	eax, eax
	movzx	eax, BYTE PTR 0[r13]
	je	.L28
	cmp	al, 45
	je	.L13
	jg	.L14
	cmp	al, 42
	je	.L15
	cmp	al, 43
	jne	.L17
	add	rbp, 1
.L15:
	mov	rcx, r13
	mov	rdx, r12
	mov	rsi, rbp
	mov	rdi, rbx
	call	max_expand@PLT
	add	DWORD PTR 24[rbx], 1
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	pop	rbp
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L28:
	.cfi_restore_state
	cmp	al, 63
	ja	.L11
	bt	r14, rax
	jnc	.L11
	lea	r12, 1[r13]
.L12:
	mov	rdx, QWORD PTR [rbx]
	cmp	rdx, r12
	jne	.L3
.L18:
	mov	rax, rbp
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L27:
	lea	rax, 1[r12]
	cmp	rdx, rax
	jne	.L8
	mov	rax, rbp
	cmp	rbp, QWORD PTR 8[rbx]
	je	.L4
	.p2align 4,,10
	.p2align 3
.L11:
	xor	eax, eax
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L6:
	lea	rdx, 1[r12]
	mov	rsi, rbp
	mov	rdi, rbx
	call	end_capture@PLT
.L4:
	add	DWORD PTR 24[rbx], 1
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	pop	rbp
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L5:
	.cfi_restore_state
	cmp	BYTE PTR 1[r12], 41
	je	.L29
	mov	ecx, DWORD PTR CAP_UNFINISHED[rip]
	lea	rdx, 1[r12]
	mov	rsi, rbp
	mov	rdi, rbx
	call	start_capture@PLT
	add	DWORD PTR 24[rbx], 1
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	pop	rbp
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L14:
	.cfi_restore_state
	cmp	al, 63
	jne	.L17
	lea	r12, 1[r13]
	lea	rsi, 1[rbp]
	mov	rdi, rbx
	mov	rdx, r12
	call	match
	test	rax, rax
	je	.L12
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L26:
	mov	edi, DWORD PTR 28[rdi]
	lea	rsi, .LC0[rip]
	call	luaL_error@PLT
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L29:
	mov	ecx, DWORD PTR CAP_POSITION[rip]
	lea	rdx, 2[r12]
	mov	rsi, rbp
	mov	rdi, rbx
	call	start_capture@PLT
	add	DWORD PTR 24[rbx], 1
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	pop	rbp
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L17:
	.cfi_restore_state
	add	rbp, 1
	mov	r12, r13
	jmp	.L12
	.p2align 4,,10
	.p2align 3
.L13:
	mov	rcx, r13
	mov	rdx, r12
	mov	rsi, rbp
	mov	rdi, rbx
	call	min_expand@PLT
	jmp	.L4
	.cfi_endproc
.LFE0:
	.size	match, .-match
	.comm	CAP_UNFINISHED,4,4
	.comm	CAP_POSITION,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_lstrlib.c_match.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"pattern too complex\000"
	.align	2
.LC1:
	.ascii	"missing '[' after '%%f' in pattern\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	match, %function
match:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	ldr	r3, [r0, #12]
	push	{r4, r5, r6, r7, r8, r9, r10, lr}
	cmp	r3, #0
	sub	r3, r3, #1
	mov	r4, r0
	mov	r6, r1
	mov	r5, r2
	str	r3, [r0, #12]
	beq	.L47
.L2:
	ldr	r2, [r4]
	cmp	r2, r5
	beq	.L28
	ldr	r8, .L50
.L3:
	ldrb	r3, [r5]	@ zero_extendqisi2
	cmp	r3, #41
	beq	.L5
	bhi	.L6
	cmp	r3, #36
	beq	.L7
	cmp	r3, #40
	bne	.L9
	ldrb	r3, [r5, #1]	@ zero_extendqisi2
	mov	r1, r6
	cmp	r3, #41
	ldreq	r3, .L50+4
	ldrne	r3, .L50+8
	mov	r0, r4
	ldr	r3, [r3]
	addeq	r2, r5, #2
	addne	r2, r5, #1
	bl	start_capture
.L4:
	ldr	r3, [r4, #12]
	add	r3, r3, #1
	str	r3, [r4, #12]
	pop	{r4, r5, r6, r7, r8, r9, r10, pc}
.L6:
	cmp	r3, #128
	bne	.L9
	ldrb	r0, [r5, #1]	@ zero_extendqisi2
	cmp	r0, #98
	beq	.L13
	bhi	.L14
	sub	r3, r0, #48
	cmp	r3, #9
	bhi	.L9
	bl	uchar
	mov	r1, r6
	mov	r2, r0
	mov	r0, r4
	bl	match_capture
	subs	r6, r0, #0
	beq	.L12
	add	r5, r5, #2
	b	.L17
.L7:
	add	r3, r5, #1
	cmp	r2, r3
	beq	.L48
.L9:
	mov	r1, r5
	mov	r0, r4
	bl	classend
	mov	r2, r5
	mov	r3, r0
	mov	r7, r0
	mov	r1, r6
	mov	r0, r4
	bl	singlematch
	cmp	r0, #0
	bne	.L20
	ldrb	r2, [r7]	@ zero_extendqisi2
	cmp	r2, #63
	cmpne	r2, #42
	moveq	r3, #1
	movne	r3, #0
	cmp	r2, #45
	orreq	r3, r3, #1
	cmp	r3, #0
	beq	.L12
	add	r5, r7, #1
.L17:
	ldr	r2, [r4]
	cmp	r2, r5
	bne	.L3
.L28:
	mov	r0, r6
	b	.L4
.L20:
	ldrb	r3, [r7]	@ zero_extendqisi2
	sub	r3, r3, #42
	cmp	r3, #21
	ldrls	pc, [pc, r3, asl #2]
	b	.L21
.L23:
	.word	.L26
	.word	.L25
	.word	.L21
	.word	.L24
	.word	.L21
	.word	.L21
	.word	.L21
	.word	.L21
	.word	.L21
	.word	.L21
	.word	.L21
	.word	.L21
	.word	.L21
	.word	.L21
	.word	.L21
	.word	.L21
	.word	.L21
	.word	.L21
	.word	.L21
	.word	.L21
	.word	.L21
	.word	.L22
.L14:
	cmp	r0, #102
	bne	.L9
	ldrb	r3, [r5, #2]	@ zero_extendqisi2
	add	r7, r5, #2
	cmp	r3, #91
	bne	.L49
.L18:
	mov	r1, r7
	mov	r0, r4
	bl	classend
	mov	r5, r0
	ldr	r3, [r4, #8]
	sub	r9, r5, #1
	cmp	r3, r6
	moveq	r0, #0
	ldrbne	r0, [r6, #-1]	@ zero_extendqisi2
	bl	uchar
	mov	r2, r9
	mov	r1, r7
	bl	matchbracketclass
	cmp	r0, #0
	bne	.L12
	ldrb	r0, [r6]	@ zero_extendqisi2
	bl	uchar
	mov	r2, r9
	mov	r1, r7
	bl	matchbracketclass
	cmp	r0, #0
	bne	.L17
	b	.L12
.L5:
	mov	r1, r6
	mov	r0, r4
	add	r2, r5, #1
	bl	end_capture
	b	.L4
.L47:
	ldr	r1, .L50+12
	ldr	r0, [r0, #16]
	bl	luaL_error
	b	.L2
.L21:
	mov	r5, r7
	add	r6, r6, #1
	b	.L17
.L13:
	mov	r1, r6
	mov	r0, r4
	add	r2, r5, #2
	bl	matchbalance
	subs	r6, r0, #0
	beq	.L12
	add	r5, r5, #4
	b	.L17
.L25:
	add	r6, r6, #1
.L26:
	mov	r3, r7
	mov	r2, r5
	mov	r1, r6
	mov	r0, r4
	bl	max_expand
	b	.L4
.L22:
	add	r5, r7, #1
	mov	r2, r5
	mov	r0, r4
	add	r1, r6, #1
	bl	match
	cmp	r0, #0
	beq	.L17
	b	.L4
.L24:
	mov	r3, r7
	mov	r2, r5
	mov	r1, r6
	mov	r0, r4
	bl	min_expand
	b	.L4
.L49:
	mov	r1, r8
	ldr	r0, [r4, #16]
	bl	luaL_error
	b	.L18
.L48:
	ldr	r3, [r4, #4]
	cmp	r3, r6
	beq	.L28
.L12:
	mov	r0, #0
	b	.L4
.L51:
	.align	2
.L50:
	.word	.LC1
	.word	CAP_POSITION
	.word	CAP_UNFINISHED
	.word	.LC0
	.size	match, .-match
	.comm	CAP_UNFINISHED,4,4
	.comm	CAP_POSITION,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
