	.file	"extr_regexp.c_lexclass.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"unterminated character class"
.LC1:
	.string	"DSWdsw"
	.text
	.p2align 4
	.type	lexclass, @function
lexclass:
.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
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	rbp, rdi
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	sub	rsp, 24
	.cfi_def_cfa_offset 80
	mov	eax, DWORD PTR L_CCLASS[rip]
	mov	DWORD PTR 12[rsp], eax
	call	newcclass@PLT
	mov	rdi, rbp
	call	nextrune@PLT
	movsx	esi, BYTE PTR 0[rbp]
	mov	r15d, eax
	test	eax, eax
	jne	.L3
	cmp	sil, 94
	je	.L43
.L3:
	xor	r14d, r14d
	xor	r13d, r13d
	lea	r12, .L16[rip]
	xor	ebx, ebx
	test	sil, sil
	je	.L44
	.p2align 4,,10
	.p2align 3
.L4:
	test	r15d, r15d
	je	.L45
.L5:
	lea	rdi, .LC1[rip]
	call	strchr@PLT
	test	rax, rax
	je	.L10
	test	ebx, ebx
	jne	.L46
.L12:
	movzx	eax, BYTE PTR 0[rbp]
	cmp	al, 68
	je	.L14
.L51:
	sub	eax, 83
	cmp	al, 36
	ja	.L33
	movzx	eax, al
	movsx	rax, DWORD PTR [r12+rax*4]
	add	rax, r12
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L16:
	.long	.L20-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L19-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L18-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L17-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L33-.L16
	.long	.L15-.L16
	.text
.L33:
	xor	r13d, r13d
	xor	ebx, ebx
.L9:
	mov	rdi, rbp
	call	nextrune@PLT
	movsx	esi, BYTE PTR 0[rbp]
	mov	r15d, eax
	test	sil, sil
	jne	.L4
.L44:
	lea	rsi, .LC0[rip]
	mov	rdi, rbp
	call	die@PLT
	movsx	esi, BYTE PTR 0[rbp]
	test	r15d, r15d
	jne	.L5
.L45:
	cmp	sil, 93
	je	.L6
	cmp	sil, 45
	je	.L47
.L8:
	test	ebx, ebx
	je	.L22
	movsx	esi, r14b
	test	r13d, r13d
	je	.L23
	movsx	edx, BYTE PTR 0[rbp]
	mov	rdi, rbp
	xor	r13d, r13d
	xor	ebx, ebx
	call	addrange@PLT
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L22:
	movzx	r14d, BYTE PTR 0[rbp]
	mov	ebx, 1
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L10:
	movzx	eax, BYTE PTR 0[rbp]
	cmp	al, 98
	je	.L48
	cmp	al, 48
	jne	.L8
	mov	BYTE PTR 0[rbp], 0
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L23:
	mov	edx, esi
	mov	rdi, rbp
	call	addrange@PLT
	movzx	r14d, BYTE PTR 0[rbp]
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L47:
	test	ebx, ebx
	je	.L30
	test	r13d, r13d
	jne	.L49
	mov	r13d, ebx
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L48:
	mov	BYTE PTR 0[rbp], 8
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L30:
	mov	r14d, 45
	mov	ebx, 1
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L6:
	test	ebx, ebx
	jne	.L50
.L1:
	mov	eax, DWORD PTR 12[rsp]
	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
	.p2align 4,,10
	.p2align 3
.L46:
	.cfi_restore_state
	movsx	esi, r14b
	mov	rdi, rbp
	mov	edx, esi
	call	addrange@PLT
	test	r13d, r13d
	je	.L12
	mov	edx, 45
	mov	esi, 45
	mov	rdi, rbp
	call	addrange@PLT
	movzx	eax, BYTE PTR 0[rbp]
	cmp	al, 68
	jne	.L51
	.p2align 4,,10
	.p2align 3
.L14:
	mov	rdi, rbp
	xor	r13d, r13d
	xor	ebx, ebx
	call	addranges_D@PLT
	jmp	.L9
.L15:
	mov	rdi, rbp
	xor	r13d, r13d
	xor	ebx, ebx
	call	addranges_w@PLT
	jmp	.L9
.L17:
	mov	rdi, rbp
	xor	r13d, r13d
	xor	ebx, ebx
	call	addranges_s@PLT
	jmp	.L9
.L18:
	mov	rdi, rbp
	xor	r13d, r13d
	xor	ebx, ebx
	call	addranges_d@PLT
	jmp	.L9
.L19:
	mov	rdi, rbp
	xor	r13d, r13d
	xor	ebx, ebx
	call	addranges_W@PLT
	jmp	.L9
.L20:
	mov	rdi, rbp
	xor	r13d, r13d
	xor	ebx, ebx
	call	addranges_S@PLT
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L49:
	movsx	esi, r14b
	mov	edx, 45
	mov	rdi, rbp
	xor	r13d, r13d
	call	addrange@PLT
	xor	ebx, ebx
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L50:
	movsx	esi, r14b
	mov	rdi, rbp
	mov	edx, esi
	call	addrange@PLT
	test	r13d, r13d
	je	.L1
	mov	edx, 45
	mov	esi, 45
	mov	rdi, rbp
	call	addrange@PLT
	jmp	.L1
.L43:
	mov	eax, DWORD PTR L_NCCLASS[rip]
	mov	rdi, rbp
	mov	DWORD PTR 12[rsp], eax
	call	nextrune@PLT
	movsx	esi, BYTE PTR 0[rbp]
	mov	r15d, eax
	jmp	.L3
	.cfi_endproc
.LFE0:
	.size	lexclass, .-lexclass
	.comm	L_NCCLASS,4,4
	.comm	L_CCLASS,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_regexp.c_lexclass.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"unterminated character class\000"
	.align	2
.LC1:
	.ascii	"DSWdsw\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	lexclass, %function
lexclass:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r4, r0
	ldr	r3, .L51
	ldr	fp, [r3]
	bl	newcclass
	mov	r0, r4
	bl	nextrune
	subs	r5, r0, #0
	ldrb	r1, [r4]	@ zero_extendqisi2
	bne	.L3
	cmp	r1, #94
	beq	.L43
.L3:
	mov	r8, #0
	cmp	r1, #0
	mov	r6, r8
	mov	r7, r8
	ldr	r9, .L51+4
	ldr	r10, .L51+8
	beq	.L44
.L4:
	cmp	r5, #0
	beq	.L45
.L5:
	mov	r0, r10
	bl	strchr
	cmp	r0, #0
	beq	.L10
	cmp	r7, #0
	bne	.L46
.L12:
	ldrb	r3, [r4]	@ zero_extendqisi2
	cmp	r3, #68
	beq	.L14
.L50:
	sub	r3, r3, #83
	and	r2, r3, #255
	cmp	r2, #36
	mov	r6, #0
	bhi	.L33
	cmp	r3, #36
	ldrls	pc, [pc, r3, asl #2]
	b	.L33
.L16:
	.word	.L20
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L19
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L18
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L17
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L15
.L33:
	mov	r7, r6
.L9:
	mov	r0, r4
	bl	nextrune
	ldrb	r1, [r4]	@ zero_extendqisi2
	mov	r5, r0
	cmp	r1, #0
	bne	.L4
.L44:
	mov	r1, r9
	mov	r0, r4
	bl	die
	cmp	r5, #0
	ldrb	r1, [r4]	@ zero_extendqisi2
	bne	.L5
.L45:
	cmp	r1, #93
	beq	.L6
	cmp	r1, #45
	beq	.L47
.L8:
	cmp	r7, #0
	beq	.L22
	cmp	r6, #0
	beq	.L23
	mov	r6, #0
	mov	r1, r8
	mov	r0, r4
	ldrb	r2, [r4]	@ zero_extendqisi2
	mov	r7, r6
	bl	addrange
	b	.L9
.L22:
	mov	r7, #1
	ldrb	r8, [r4]	@ zero_extendqisi2
	b	.L9
.L10:
	ldrb	r3, [r4]	@ zero_extendqisi2
	cmp	r3, #98
	beq	.L48
	cmp	r3, #48
	strbeq	r0, [r4]
	b	.L8
.L23:
	mov	r2, r8
	mov	r1, r8
	mov	r0, r4
	bl	addrange
	ldrb	r8, [r4]	@ zero_extendqisi2
	b	.L9
.L47:
	cmp	r7, #0
	moveq	r8, r1
	moveq	r7, #1
	beq	.L9
	cmp	r6, #0
	moveq	r6, r7
	beq	.L9
	mov	r2, r1
	mov	r0, r4
	mov	r1, r8
	mov	r6, r5
	bl	addrange
	mov	r7, r5
	b	.L9
.L48:
	mov	r3, #8
	strb	r3, [r4]
	b	.L8
.L6:
	cmp	r7, #0
	bne	.L49
.L1:
	mov	r0, fp
	pop	{r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L46:
	mov	r2, r8
	mov	r1, r8
	mov	r0, r4
	bl	addrange
	cmp	r6, #0
	beq	.L12
	mov	r2, #45
	mov	r0, r4
	mov	r1, r2
	bl	addrange
	ldrb	r3, [r4]	@ zero_extendqisi2
	cmp	r3, #68
	bne	.L50
.L14:
	mov	r6, #0
	mov	r0, r4
	mov	r7, r6
	bl	addranges_D
	b	.L9
.L15:
	mov	r0, r4
	mov	r7, r6
	bl	addranges_w
	b	.L9
.L17:
	mov	r0, r4
	mov	r7, r6
	bl	addranges_s
	b	.L9
.L18:
	mov	r0, r4
	mov	r7, r6
	bl	addranges_d
	b	.L9
.L19:
	mov	r0, r4
	mov	r7, r6
	bl	addranges_W
	b	.L9
.L20:
	mov	r0, r4
	mov	r7, r6
	bl	addranges_S
	b	.L9
.L49:
	mov	r2, r8
	mov	r1, r8
	mov	r0, r4
	bl	addrange
	cmp	r6, #0
	beq	.L1
	mov	r2, #45
	mov	r0, r4
	mov	r1, r2
	bl	addrange
	mov	r0, fp
	pop	{r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L43:
	ldr	r3, .L51+12
	mov	r0, r4
	ldr	fp, [r3]
	bl	nextrune
	ldrb	r1, [r4]	@ zero_extendqisi2
	mov	r5, r0
	b	.L3
.L52:
	.align	2
.L51:
	.word	L_CCLASS
	.word	.LC0
	.word	.LC1
	.word	L_NCCLASS
	.size	lexclass, .-lexclass
	.comm	L_NCCLASS,4,4
	.comm	L_CCLASS,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
