	.file	"44175.c"
	.intel_syntax noprefix
	.text
	.globl	__braslist
	.bss
	.align 32
	.type	__braslist, @object
	.size	__braslist, 80
__braslist:
	.zero	80
	.globl	__braelist
	.align 32
	.type	__braelist, @object
	.size	__braelist, 80
__braelist:
	.zero	80
	.globl	__loc1
	.align 8
	.type	__loc1, @object
	.size	__loc1, 8
__loc1:
	.zero	8
	.globl	__bravar
	.align 32
	.type	__bravar, @object
	.size	__bravar, 40
__bravar:
	.zero	40
	.globl	__st
	.align 32
	.type	__st, @object
	.size	__st, 408
__st:
	.zero	408
	.globl	__eptr_
	.align 8
	.type	__eptr_, @object
	.size	__eptr_, 8
__eptr_:
	.zero	8
	.globl	__lptr_
	.align 8
	.type	__lptr_, @object
	.size	__lptr_, 8
__lptr_:
	.zero	8
	.globl	__cflg
	.align 4
	.type	__cflg, @object
	.size	__cflg, 4
__cflg:
	.zero	4
	.text
	.globl	regex
	.type	regex, @function
regex:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r13
	push	r12
	push	rbx
	sub	rsp, 296
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	QWORD PTR -312[rbp], rdi
	mov	QWORD PTR -320[rbp], rsi
	mov	QWORD PTR -192[rbp], rdx
	mov	QWORD PTR -184[rbp], rcx
	mov	QWORD PTR -176[rbp], r8
	mov	QWORD PTR -168[rbp], r9
	test	al, al
	je	.L2
	movaps	XMMWORD PTR -160[rbp], xmm0
	movaps	XMMWORD PTR -144[rbp], xmm1
	movaps	XMMWORD PTR -128[rbp], xmm2
	movaps	XMMWORD PTR -112[rbp], xmm3
	movaps	XMMWORD PTR -96[rbp], xmm4
	movaps	XMMWORD PTR -80[rbp], xmm5
	movaps	XMMWORD PTR -64[rbp], xmm6
	movaps	XMMWORD PTR -48[rbp], xmm7
.L2:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -216[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -280[rbp], 16
	mov	DWORD PTR -276[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -272[rbp], rax
	lea	rax, -208[rbp]
	mov	QWORD PTR -264[rbp], rax
	mov	DWORD PTR -292[rbp], 0
	jmp	.L3
.L7:
	add	DWORD PTR -292[rbp], 1
.L3:
	cmp	DWORD PTR -292[rbp], 4
	jg	.L4
	mov	eax, DWORD PTR -280[rbp]
	cmp	eax, 47
	ja	.L5
	mov	rax, QWORD PTR -264[rbp]
	mov	edx, DWORD PTR -280[rbp]
	mov	edx, edx
	add	rax, rdx
	mov	edx, DWORD PTR -280[rbp]
	add	edx, 8
	mov	DWORD PTR -280[rbp], edx
	jmp	.L6
.L5:
	mov	rax, QWORD PTR -272[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -272[rbp], rdx
.L6:
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -292[rbp]
	cdqe
	mov	QWORD PTR -256[rbp+rax*8], rdx
	mov	eax, DWORD PTR -292[rbp]
	cdqe
	mov	rax, QWORD PTR -256[rbp+rax*8]
	test	rax, rax
	jne	.L7
.L4:
	mov	DWORD PTR -296[rbp], 0
	jmp	.L8
.L9:
	mov	eax, DWORD PTR -296[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, __braslist[rip]
	mov	QWORD PTR [rdx+rax], 0
	mov	eax, DWORD PTR -296[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, __bravar[rip]
	mov	DWORD PTR [rdx+rax], -1
	add	DWORD PTR -296[rbp], 1
.L8:
	cmp	DWORD PTR -296[rbp], 9
	jle	.L9
	mov	DWORD PTR __cflg[rip], 0
	mov	rdx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	__execute
	mov	QWORD PTR -288[rbp], rax
	lea	r13, -256[rbp]
	mov	DWORD PTR -296[rbp], 0
	jmp	.L10
.L14:
	mov	eax, DWORD PTR -296[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, __braslist[rip]
	mov	rbx, QWORD PTR [rdx+rax]
	test	rbx, rbx
	je	.L11
	mov	eax, DWORD PTR -296[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, __bravar[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	js	.L11
	mov	eax, DWORD PTR -296[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, __bravar[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 3
	add	rax, r13
	mov	r12, QWORD PTR [rax]
	jmp	.L12
.L13:
	mov	rdx, rbx
	lea	rbx, 1[rdx]
	mov	rax, r12
	lea	r12, 1[rax]
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
.L12:
	mov	eax, DWORD PTR -296[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, __braelist[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cmp	rbx, rax
	jb	.L13
	mov	BYTE PTR [r12], 0
.L11:
	add	DWORD PTR -296[rbp], 1
.L10:
	cmp	DWORD PTR -296[rbp], 9
	jle	.L14
	mov	eax, DWORD PTR __cflg[rip]
	test	eax, eax
	jne	.L15
	mov	rax, QWORD PTR -320[rbp]
	cmp	rax, QWORD PTR -288[rbp]
	je	.L16
	mov	rax, QWORD PTR -288[rbp]
	jmp	.L19
.L16:
	mov	eax, 0
	jmp	.L19
.L15:
	mov	rax, QWORD PTR -288[rbp]
.L19:
	mov	rcx, QWORD PTR -216[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L20
	call	__stack_chk_fail@PLT
.L20:
	add	rsp, 296
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	regex, .-regex
	.globl	__execute
	.type	__execute, @function
__execute:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r13
	push	r12
	push	rbx
	sub	rsp, 40
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rbx, QWORD PTR -64[rbp]
	mov	r12, QWORD PTR -56[rbp]
	lea	rax, __st[rip+400]
	mov	QWORD PTR __eptr_[rip], rax
	lea	rax, __st[rip]
	mov	QWORD PTR __lptr_[rip], rax
	movzx	eax, BYTE PTR [r12]
	cmp	al, 32
	jne	.L22
	mov	QWORD PTR __loc1[rip], rbx
	add	r12, 1
	mov	rsi, r12
	mov	rdi, rbx
	mov	eax, 0
	call	__advance
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L23
	mov	rax, QWORD PTR -40[rbp]
	jmp	.L25
.L23:
	mov	rax, QWORD PTR -64[rbp]
	jmp	.L25
.L22:
	movzx	eax, BYTE PTR [r12]
	cmp	al, 20
	jne	.L26
	movzx	r13d, BYTE PTR 1[r12]
.L29:
	movzx	eax, BYTE PTR [rbx]
	cmp	r13b, al
	jne	.L31
	lea	rax, __st[rip+400]
	mov	QWORD PTR __eptr_[rip], rax
	lea	rax, __st[rip]
	mov	QWORD PTR __lptr_[rip], rax
	mov	rsi, r12
	mov	rdi, rbx
	mov	eax, 0
	call	__advance
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L28
	mov	QWORD PTR __loc1[rip], rbx
	mov	rax, QWORD PTR -40[rbp]
	jmp	.L25
.L31:
	nop
.L28:
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L29
	mov	rax, QWORD PTR -64[rbp]
	jmp	.L25
.L26:
	lea	rax, __st[rip+400]
	mov	QWORD PTR __eptr_[rip], rax
	lea	rax, __st[rip]
	mov	QWORD PTR __lptr_[rip], rax
	mov	rsi, r12
	mov	rdi, rbx
	mov	eax, 0
	call	__advance
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L30
	mov	QWORD PTR __loc1[rip], rbx
	mov	rax, QWORD PTR -40[rbp]
	jmp	.L25
.L30:
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L26
	mov	rax, QWORD PTR -64[rbp]
.L25:
	add	rsp, 40
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	__execute, .-__execute
	.globl	__advance
	.type	__advance, @function
__advance:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r13
	push	r12
	push	rbx
	sub	rsp, 56
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	rbx, rdi
	mov	r12, rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -40[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -72[rbp], 0
.L104:
	mov	rax, r12
	lea	r12, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 8
	cmp	eax, 63
	ja	.L33
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L35[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L35[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L35:
	.long	.L58-.L35
	.long	.L51-.L35
	.long	.L50-.L35
	.long	.L49-.L35
	.long	.L57-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L56-.L35
	.long	.L55-.L35
	.long	.L54-.L35
	.long	.L53-.L35
	.long	.L52-.L35
	.long	.L51-.L35
	.long	.L50-.L35
	.long	.L49-.L35
	.long	.L48-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L47-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L47-.L35
	.long	.L46-.L35
	.long	.L45-.L35
	.long	.L44-.L35
	.long	.L43-.L35
	.long	.L43-.L35
	.long	.L43-.L35
	.long	.L43-.L35
	.long	.L42-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L41-.L35
	.long	.L41-.L35
	.long	.L41-.L35
	.long	.L41-.L35
	.long	.L40-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L39-.L35
	.long	.L38-.L35
	.long	.L37-.L35
	.long	.L36-.L35
	.long	.L34-.L35
	.long	.L34-.L35
	.long	.L34-.L35
	.long	.L34-.L35
	.text
.L56:
	mov	rax, r12
	lea	r12, 1[rax]
	movzx	edx, BYTE PTR [rax]
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	je	.L107
	mov	eax, 0
	jmp	.L105
.L44:
	mov	rax, rbx
	jmp	.L105
.L47:
	add	r12, 1
	jmp	.L60
.L46:
	mov	edi, 0
	mov	eax, 0
	call	__xpop
.L45:
	add	r12, 1
	mov	rsi, r12
	mov	edi, 0
	mov	eax, 0
	call	__xpush
	mov	rax, rbx
	jmp	.L105
.L39:
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L108
	mov	eax, 0
	jmp	.L105
.L48:
	movzx	eax, BYTE PTR [rbx]
	test	al, al
	je	.L109
	add	rbx, 1
	mov	eax, 0
	jmp	.L105
.L42:
	mov	DWORD PTR __cflg[rip], 1
	mov	rax, rbx
	jmp	.L105
.L43:
	lea	rax, -1[r12]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sal	eax, 8
	and	eax, 768
	mov	edx, eax
	movzx	eax, BYTE PTR [r12]
	movsx	eax, al
	add	eax, edx
	and	eax, 255
	mov	DWORD PTR -68[rbp], eax
	add	r12, 1
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, 2
	add	rax, r12
	mov	rsi, rax
	mov	edi, 0
	mov	eax, 0
	call	__xpush
	mov	DWORD PTR -72[rbp], 1
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, [r12+rax]
	lea	rcx, -76[rbp]
	lea	rax, -80[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	__getrnge
	jmp	.L64
.L65:
	mov	rsi, r12
	mov	rdi, rbx
	mov	eax, 0
	call	__advance
	mov	rbx, rax
	test	rbx, rbx
	jne	.L64
	mov	eax, 0
	jmp	.L105
.L64:
	mov	eax, DWORD PTR -80[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -80[rbp], edx
	test	eax, eax
	jne	.L65
	mov	r13, rbx
	mov	rsi, r13
	mov	edi, 1
	mov	eax, 0
	call	__xpush
	jmp	.L66
.L69:
	mov	rsi, r12
	mov	rdi, rbx
	mov	eax, 0
	call	__advance
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	je	.L110
	mov	rbx, QWORD PTR -56[rbp]
	mov	rsi, rbx
	mov	edi, 1
	mov	eax, 0
	call	__xpush
.L66:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -76[rbp], edx
	test	eax, eax
	jne	.L69
	jmp	.L68
.L110:
	nop
.L68:
	mov	edi, 0
	mov	eax, 0
	call	__xpop
	mov	r12, rax
	jmp	.L103
.L53:
	mov	rax, r12
	lea	r12, 1[rax]
	mov	QWORD PTR -48[rbp], rax
	lea	rcx, -76[rbp]
	lea	rax, -80[rbp]
	mov	rdx, r12
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	__getrnge
	jmp	.L71
.L72:
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	je	.L71
	mov	eax, 0
	jmp	.L105
.L71:
	mov	eax, DWORD PTR -80[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -80[rbp], edx
	test	eax, eax
	jne	.L72
	mov	r13, rbx
	jmp	.L73
.L75:
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	jne	.L111
.L73:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -76[rbp], edx
	test	eax, eax
	jne	.L75
	jmp	.L74
.L111:
	nop
.L74:
	mov	eax, DWORD PTR -76[rbp]
	test	eax, eax
	jns	.L76
	add	rbx, 1
.L76:
	add	r12, 2
	jmp	.L103
.L36:
	lea	rcx, -76[rbp]
	lea	rax, -80[rbp]
	mov	rdx, r12
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	__getrnge
	jmp	.L77
.L78:
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L77
	mov	eax, 0
	jmp	.L105
.L77:
	mov	eax, DWORD PTR -80[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -80[rbp], edx
	test	eax, eax
	jne	.L78
	mov	r13, rbx
	jmp	.L79
.L81:
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L112
.L79:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -76[rbp], edx
	test	eax, eax
	jne	.L81
	jmp	.L80
.L112:
	nop
.L80:
	mov	eax, DWORD PTR -76[rbp]
	test	eax, eax
	jns	.L82
	add	rbx, 1
.L82:
	add	r12, 2
	jmp	.L103
.L49:
	movzx	eax, BYTE PTR [r12]
	movsx	rax, al
	movzx	eax, al
	lea	rdx, [r12+rax]
	lea	rcx, -76[rbp]
	lea	rax, -80[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	__getrnge
	jmp	.L83
.L84:
	lea	rax, -1[r12]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 27
	sete	al
	movzx	edx, al
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	mov	rdi, r12
	mov	eax, 0
	call	__cclass
	test	eax, eax
	jne	.L83
	mov	eax, 0
	jmp	.L105
.L83:
	mov	eax, DWORD PTR -80[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -80[rbp], edx
	test	eax, eax
	jne	.L84
	mov	r13, rbx
	jmp	.L85
.L87:
	lea	rax, -1[r12]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 27
	sete	al
	movzx	edx, al
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	mov	rdi, r12
	mov	eax, 0
	call	__cclass
	test	eax, eax
	je	.L113
.L85:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -76[rbp], edx
	test	eax, eax
	jne	.L87
	jmp	.L86
.L113:
	nop
.L86:
	mov	eax, DWORD PTR -76[rbp]
	test	eax, eax
	jns	.L88
	add	rbx, 1
.L88:
	movzx	eax, BYTE PTR [r12]
	movsx	rax, al
	add	rax, 2
	add	r12, rax
	jmp	.L103
.L52:
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edx, 1
	mov	esi, eax
	mov	rdi, r12
	mov	eax, 0
	call	__cclass
	test	eax, eax
	je	.L89
	movzx	eax, BYTE PTR [r12]
	movsx	rax, al
	add	r12, rax
	jmp	.L60
.L89:
	mov	eax, 0
	jmp	.L105
.L58:
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edx, 0
	mov	esi, eax
	mov	rdi, r12
	mov	eax, 0
	call	__cclass
	test	eax, eax
	je	.L90
	movzx	eax, BYTE PTR [r12]
	movsx	rax, al
	add	r12, rax
	jmp	.L60
.L90:
	mov	eax, 0
	jmp	.L105
.L40:
	mov	rax, r12
	lea	r12, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, __braslist[rip]
	mov	QWORD PTR [rdx+rax], rbx
	jmp	.L60
.L57:
	movzx	eax, BYTE PTR [r12]
	movsx	eax, al
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, __braelist[rip]
	mov	QWORD PTR [rdx+rax], rbx
	lea	rax, 1[r12]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, BYTE PTR [r12]
	movsx	edx, dl
	movsx	eax, al
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, __bravar[rip]
	mov	DWORD PTR [rcx+rdx], eax
	add	r12, 2
	jmp	.L60
.L37:
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L38
	mov	eax, 0
	jmp	.L105
.L38:
	mov	r13, rbx
	nop
.L91:
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L91
	jmp	.L103
.L54:
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	edx, BYTE PTR [rax]
	movzx	eax, BYTE PTR [r12]
	cmp	dl, al
	je	.L55
	mov	eax, 0
	jmp	.L105
.L55:
	mov	r13, rbx
	nop
.L92:
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	edx, BYTE PTR [rax]
	movzx	eax, BYTE PTR [r12]
	cmp	dl, al
	je	.L92
	add	r12, 1
	jmp	.L103
.L34:
	lea	rax, 1[r12]
	mov	rsi, rax
	mov	rdi, rbx
	mov	eax, 0
	call	__advance
	mov	rbx, rax
	test	rbx, rbx
	jne	.L41
	mov	eax, 0
	jmp	.L105
.L41:
	lea	rax, -1[r12]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sal	eax, 8
	and	eax, 768
	mov	edx, eax
	movzx	eax, BYTE PTR [r12]
	movsx	eax, al
	movzx	eax, al
	or	eax, edx
	mov	DWORD PTR -68[rbp], eax
	add	r12, 1
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, r12
	mov	rsi, rax
	mov	edi, 0
	mov	eax, 0
	call	__xpush
	mov	r13, rbx
	mov	rsi, r13
	mov	edi, 1
	mov	eax, 0
	call	__xpush
	jmp	.L93
.L94:
	mov	rbx, QWORD PTR -64[rbp]
	mov	rsi, rbx
	mov	edi, 1
	mov	eax, 0
	call	__xpush
.L93:
	mov	rsi, r12
	mov	rdi, rbx
	mov	eax, 0
	call	__advance
	mov	QWORD PTR -64[rbp], rax
	cmp	QWORD PTR -64[rbp], 0
	jne	.L94
	mov	edi, 0
	mov	eax, 0
	call	__xpop
	mov	r12, rax
	mov	DWORD PTR -72[rbp], 1
	jmp	.L103
.L50:
	lea	rax, -1[r12]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 26
	sete	al
	movzx	edx, al
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	mov	rdi, r12
	mov	eax, 0
	call	__cclass
	test	eax, eax
	jne	.L51
	mov	eax, 0
	jmp	.L105
.L51:
	mov	r13, rbx
	nop
.L98:
	lea	rax, -1[r12]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 25
	je	.L95
	lea	rax, -1[r12]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 26
	jne	.L96
.L95:
	mov	edx, 1
	jmp	.L97
.L96:
	mov	edx, 0
.L97:
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	mov	rdi, r12
	mov	eax, 0
	call	__cclass
	test	eax, eax
	jne	.L98
	movzx	eax, BYTE PTR [r12]
	movsx	rax, al
	add	r12, rax
	nop
.L70:
.L103:
	cmp	DWORD PTR -72[rbp], 0
	jne	.L99
	sub	rbx, 1
	jmp	.L100
.L99:
	mov	edi, 1
	mov	eax, 0
	call	__xpop
	mov	rbx, rax
	test	rbx, rbx
	je	.L114
.L100:
	mov	rsi, r12
	mov	rdi, rbx
	mov	eax, 0
	call	__advance
	mov	QWORD PTR -64[rbp], rax
	cmp	QWORD PTR -64[rbp], 0
	je	.L102
	mov	rax, QWORD PTR -64[rbp]
	jmp	.L105
.L102:
	cmp	rbx, r13
	ja	.L103
	jmp	.L101
.L114:
	nop
.L101:
	mov	eax, 0
	jmp	.L105
.L33:
	mov	eax, 0
	jmp	.L105
.L107:
	nop
	jmp	.L104
.L108:
	nop
	jmp	.L104
.L109:
	nop
.L60:
	jmp	.L104
.L105:
	mov	rcx, QWORD PTR -40[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L106
	call	__stack_chk_fail@PLT
.L106:
	add	rsp, 56
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	__advance, .-__advance
	.globl	__cclass
	.type	__cclass, @function
__cclass:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	rax, rdi
	mov	DWORD PTR -20[rbp], esi
	mov	DWORD PTR -24[rbp], edx
	mov	edx, DWORD PTR -20[rbp]
	mov	r12d, edx
	test	r12b, r12b
	jne	.L116
	mov	eax, 0
	jmp	.L117
.L116:
	mov	rdx, rax
	lea	rax, 1[rdx]
	movzx	edx, BYTE PTR [rdx]
	movsx	ebx, dl
	jmp	.L118
.L123:
	movzx	edx, BYTE PTR [rax]
	cmp	dl, 16
	jne	.L119
	lea	rdx, 2[rax]
	movzx	edx, BYTE PTR [rdx]
	movsx	ecx, dl
	lea	rdx, 1[rax]
	movzx	edx, BYTE PTR [rdx]
	movsx	esi, dl
	sub	ecx, esi
	mov	edx, ecx
	test	edx, edx
	jns	.L120
	mov	eax, 0
	jmp	.L117
.L120:
	add	rax, 1
	movzx	edx, BYTE PTR [rax]
	cmp	r12b, dl
	jl	.L121
	add	rax, 1
	movzx	edx, BYTE PTR [rax]
	cmp	r12b, dl
	jg	.L122
	mov	eax, DWORD PTR -24[rbp]
	jmp	.L117
.L121:
	add	rax, 1
.L122:
	add	rax, 1
	sub	ebx, 2
	jmp	.L118
.L119:
	mov	rdx, rax
	lea	rax, 1[rdx]
	movzx	edx, BYTE PTR [rdx]
	cmp	r12b, dl
	jne	.L118
	mov	eax, DWORD PTR -24[rbp]
	jmp	.L117
.L118:
	sub	ebx, 1
	test	ebx, ebx
	jne	.L123
	cmp	DWORD PTR -24[rbp], 0
	sete	al
	movzx	eax, al
.L117:
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	__cclass, .-__cclass
	.section	.rodata
.LC0:
	.string	"stack overflow\n"
	.text
	.globl	__xpush
	.type	__xpush, @function
__xpush:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	rdx, QWORD PTR __lptr_[rip]
	mov	rax, QWORD PTR __eptr_[rip]
	cmp	rdx, rax
	jb	.L125
	mov	edx, 15
	lea	rsi, .LC0[rip]
	mov	edi, 2
	mov	eax, 0
	call	write@PLT
	mov	edi, 1
	call	exit@PLT
.L125:
	cmp	DWORD PTR -4[rbp], 0
	je	.L126
	mov	rax, QWORD PTR __lptr_[rip]
	lea	rdx, 8[rax]
	mov	QWORD PTR __lptr_[rip], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L127
.L126:
	mov	rax, QWORD PTR __eptr_[rip]
	lea	rdx, -8[rax]
	mov	QWORD PTR __eptr_[rip], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
.L127:
	mov	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	__xpush, .-__xpush
	.globl	__xpop
	.type	__xpop, @function
__xpop:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 0
	je	.L130
	mov	rax, QWORD PTR __lptr_[rip]
	lea	rdx, __st[rip]
	cmp	rax, rdx
	jb	.L131
	mov	rax, QWORD PTR __lptr_[rip]
	sub	rax, 8
	mov	QWORD PTR __lptr_[rip], rax
	mov	rax, QWORD PTR __lptr_[rip]
	mov	rax, QWORD PTR [rax]
	jmp	.L133
.L131:
	mov	eax, 0
	jmp	.L133
.L130:
	mov	rax, QWORD PTR __eptr_[rip]
	lea	rdx, __st[rip+400]
	cmp	rax, rdx
	ja	.L134
	mov	rax, QWORD PTR __eptr_[rip]
	add	rax, 8
	mov	QWORD PTR __eptr_[rip], rax
	mov	rax, QWORD PTR __eptr_[rip]
	mov	rax, QWORD PTR [rax]
	jmp	.L133
.L134:
	mov	eax, 0
.L133:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	__xpop, .-__xpop
	.globl	__getrnge
	.type	__getrnge, @function
__getrnge:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, -1
	jne	.L137
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 20000
	jmp	.L138
.L137:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	sub	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
.L138:
	mov	eax, 1
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	__getrnge, .-__getrnge
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.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, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"44175.c"
	.text
	.comm	__braslist,40,4
	.comm	__braelist,40,4
	.comm	__loc1,4,4
	.comm	__bravar,40,4
	.comm	__st,204,4
	.comm	__eptr_,4,4
	.comm	__lptr_,4,4
	.comm	__cflg,4,4
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	regex
	.syntax unified
	.arm
	.fpu softvfp
	.type	regex, %function
regex:
	@ args = 4, pretend = 12, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r1, r2, r3}
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #48
	str	r0, [fp, #-60]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-64]
	ldr	r3, .L18
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L2
.L4:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L2:
	ldr	r3, [fp, #-48]
	cmp	r3, #4
	bgt	.L3
	ldr	r3, [fp, #-56]
	add	r2, r3, #4
	str	r2, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	sub	r1, fp, #16
	add	r3, r1, r3
	str	r2, [r3, #-24]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	sub	r2, fp, #16
	add	r3, r2, r3
	ldr	r3, [r3, #-24]
	cmp	r3, #0
	bne	.L4
.L3:
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L5
.L6:
	ldr	r2, .L18+4
	ldr	r3, [fp, #-52]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r2, .L18+8
	ldr	r3, [fp, #-52]
	mvn	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L5:
	ldr	r3, [fp, #-52]
	cmp	r3, #9
	ble	.L6
	ldr	r3, .L18+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-60]
	bl	__execute
	str	r0, [fp, #-44]
	sub	r6, fp, #40
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L7
.L11:
	ldr	r2, .L18+4
	ldr	r3, [fp, #-52]
	ldr	r4, [r2, r3, lsl #2]
	cmp	r4, #0
	beq	.L8
	ldr	r2, .L18+8
	ldr	r3, [fp, #-52]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	blt	.L8
	ldr	r2, .L18+8
	ldr	r3, [fp, #-52]
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #2
	add	r3, r6, r3
	ldr	r5, [r3]
	b	.L9
.L10:
	mov	r2, r4
	add	r4, r2, #1
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
.L9:
	ldr	r2, .L18+16
	ldr	r3, [fp, #-52]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r4, r3
	bcc	.L10
	mov	r3, #0
	strb	r3, [r5]
.L8:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L7:
	ldr	r3, [fp, #-52]
	cmp	r3, #9
	ble	.L11
	ldr	r3, .L18+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L12
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	beq	.L13
	ldr	r3, [fp, #-44]
	b	.L16
.L13:
	mov	r3, #0
	b	.L16
.L12:
	ldr	r3, [fp, #-44]
.L16:
	ldr	r2, .L18
	ldr	r1, [r2]
	ldr	r2, [fp, #-20]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L17
	bl	__stack_chk_fail
.L17:
	mov	r0, r3
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, lr}
	add	sp, sp, #12
	bx	lr
.L19:
	.align	2
.L18:
	.word	.LC0
	.word	__braslist
	.word	__bravar
	.word	__cflg
	.word	__braelist
	.size	regex, .-regex
	.align	2
	.global	__execute
	.syntax unified
	.arm
	.fpu softvfp
	.type	__execute, %function
__execute:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #20
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r4, [fp, #-36]
	ldr	r5, [fp, #-32]
	ldr	r3, .L31
	ldr	r2, .L31+4
	str	r2, [r3]
	ldr	r3, .L31+8
	ldr	r2, .L31+12
	str	r2, [r3]
	ldrb	r3, [r5]	@ zero_extendqisi2
	cmp	r3, #32
	bne	.L21
	ldr	r3, .L31+16
	str	r4, [r3]
	add	r5, r5, #1
	mov	r1, r5
	mov	r0, r4
	bl	__advance
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L22
	ldr	r3, [fp, #-24]
	b	.L24
.L22:
	ldr	r3, [fp, #-36]
	b	.L24
.L21:
	ldrb	r3, [r5]	@ zero_extendqisi2
	cmp	r3, #20
	bne	.L25
	ldrb	r6, [r5, #1]	@ zero_extendqisi2
.L28:
	ldrb	r3, [r4]	@ zero_extendqisi2
	cmp	r6, r3
	bne	.L30
	ldr	r3, .L31
	ldr	r2, .L31+4
	str	r2, [r3]
	ldr	r3, .L31+8
	ldr	r2, .L31+12
	str	r2, [r3]
	mov	r1, r5
	mov	r0, r4
	bl	__advance
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L27
	ldr	r3, .L31+16
	str	r4, [r3]
	ldr	r3, [fp, #-24]
	b	.L24
.L30:
	nop
.L27:
	mov	r3, r4
	add	r4, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L28
	ldr	r3, [fp, #-36]
	b	.L24
.L25:
	ldr	r3, .L31
	ldr	r2, .L31+4
	str	r2, [r3]
	ldr	r3, .L31+8
	ldr	r2, .L31+12
	str	r2, [r3]
	mov	r1, r5
	mov	r0, r4
	bl	__advance
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L29
	ldr	r3, .L31+16
	str	r4, [r3]
	ldr	r3, [fp, #-24]
	b	.L24
.L29:
	mov	r3, r4
	add	r4, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L25
	ldr	r3, [fp, #-36]
.L24:
	mov	r0, r3
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L32:
	.align	2
.L31:
	.word	__eptr_
	.word	__st+200
	.word	__lptr_
	.word	__st
	.word	__loc1
	.size	__execute, .-__execute
	.section	.rodata
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	__advance
	.syntax unified
	.arm
	.fpu softvfp
	.type	__advance, %function
__advance:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #36
	mov	r5, r0
	mov	r4, r1
	ldr	r3, .L117
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-44]
.L105:
	mov	r3, r4
	add	r4, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #8
	cmp	r3, #63
	ldrls	pc, [pc, r3, asl #2]
	b	.L34
.L36:
	.word	.L59
	.word	.L52
	.word	.L51
	.word	.L50
	.word	.L58
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L57
	.word	.L56
	.word	.L55
	.word	.L54
	.word	.L53
	.word	.L52
	.word	.L51
	.word	.L50
	.word	.L49
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L48
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L48
	.word	.L47
	.word	.L46
	.word	.L45
	.word	.L44
	.word	.L44
	.word	.L44
	.word	.L44
	.word	.L43
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L41
	.word	.L34
	.word	.L34
	.word	.L34
	.word	.L40
	.word	.L39
	.word	.L38
	.word	.L37
	.word	.L35
	.word	.L35
	.word	.L35
	.word	.L35
.L57:
	mov	r3, r4
	add	r4, r3, #1
	ldrb	r2, [r3]	@ zero_extendqisi2
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L108
	mov	r3, #0
	b	.L106
.L45:
	mov	r3, r5
	b	.L106
.L48:
	add	r4, r4, #1
	b	.L61
.L47:
	mov	r0, #0
	bl	__xpop
.L46:
	add	r4, r4, #1
	mov	r1, r4
	mov	r0, #0
	bl	__xpush
	mov	r3, r5
	b	.L106
.L40:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L109
	mov	r3, #0
	b	.L106
.L49:
	ldrb	r3, [r5]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L110
	add	r5, r5, #1
	mov	r3, #0
	b	.L106
.L43:
	ldr	r3, .L117+4
	mov	r2, #1
	str	r2, [r3]
	mov	r3, r5
	b	.L106
.L44:
	sub	r3, r4, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	and	r3, r3, #768
	ldrb	r2, [r4]	@ zero_extendqisi2
	add	r3, r3, r2
	and	r3, r3, #255
	str	r3, [fp, #-40]
	add	r4, r4, #1
	ldr	r3, [fp, #-40]
	add	r3, r3, #2
	add	r3, r4, r3
	mov	r1, r3
	mov	r0, #0
	bl	__xpush
	mov	r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-40]
	add	r2, r4, r3
	sub	r1, fp, #48
	sub	r3, fp, #52
	mov	r0, r3
	bl	__getrnge
	b	.L65
.L66:
	mov	r1, r4
	mov	r0, r5
	bl	__advance
	mov	r5, r0
	cmp	r5, #0
	bne	.L65
	mov	r3, #0
	b	.L106
.L65:
	ldr	r3, [fp, #-52]
	sub	r2, r3, #1
	str	r2, [fp, #-52]
	cmp	r3, #0
	bne	.L66
	mov	r6, r5
	mov	r1, r6
	mov	r0, #1
	bl	__xpush
	b	.L67
.L70:
	mov	r1, r4
	mov	r0, r5
	bl	__advance
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L111
	ldr	r5, [fp, #-32]
	mov	r1, r5
	mov	r0, #1
	bl	__xpush
.L67:
	ldr	r3, [fp, #-48]
	sub	r2, r3, #1
	str	r2, [fp, #-48]
	cmp	r3, #0
	bne	.L70
	b	.L69
.L111:
	nop
.L69:
	mov	r0, #0
	bl	__xpop
	mov	r4, r0
	b	.L104
.L54:
	mov	r3, r4
	add	r4, r3, #1
	str	r3, [fp, #-28]
	sub	r1, fp, #48
	sub	r3, fp, #52
	mov	r2, r4
	mov	r0, r3
	bl	__getrnge
	b	.L72
.L73:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L72
	mov	r3, #0
	b	.L106
.L72:
	ldr	r3, [fp, #-52]
	sub	r2, r3, #1
	str	r2, [fp, #-52]
	cmp	r3, #0
	bne	.L73
	mov	r6, r5
	b	.L74
.L76:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L112
.L74:
	ldr	r3, [fp, #-48]
	sub	r2, r3, #1
	str	r2, [fp, #-48]
	cmp	r3, #0
	bne	.L76
	b	.L75
.L112:
	nop
.L75:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bge	.L77
	add	r5, r5, #1
.L77:
	add	r4, r4, #2
	b	.L104
.L37:
	sub	r1, fp, #48
	sub	r3, fp, #52
	mov	r2, r4
	mov	r0, r3
	bl	__getrnge
	b	.L78
.L79:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L78
	mov	r3, #0
	b	.L106
.L78:
	ldr	r3, [fp, #-52]
	sub	r2, r3, #1
	str	r2, [fp, #-52]
	cmp	r3, #0
	bne	.L79
	mov	r6, r5
	b	.L80
.L82:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L113
.L80:
	ldr	r3, [fp, #-48]
	sub	r2, r3, #1
	str	r2, [fp, #-48]
	cmp	r3, #0
	bne	.L82
	b	.L81
.L113:
	nop
.L81:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bge	.L83
	add	r5, r5, #1
.L83:
	add	r4, r4, #2
	b	.L104
.L50:
	ldrb	r3, [r4]	@ zero_extendqisi2
	add	r2, r4, r3
	sub	r1, fp, #48
	sub	r3, fp, #52
	mov	r0, r3
	bl	__getrnge
	b	.L84
.L85:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, r4, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #27
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	mov	r0, r4
	bl	__cclass
	mov	r3, r0
	cmp	r3, #0
	bne	.L84
	mov	r3, #0
	b	.L106
.L84:
	ldr	r3, [fp, #-52]
	sub	r2, r3, #1
	str	r2, [fp, #-52]
	cmp	r3, #0
	bne	.L85
	mov	r6, r5
	b	.L86
.L88:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, r4, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #27
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	mov	r0, r4
	bl	__cclass
	mov	r3, r0
	cmp	r3, #0
	beq	.L114
.L86:
	ldr	r3, [fp, #-48]
	sub	r2, r3, #1
	str	r2, [fp, #-48]
	cmp	r3, #0
	bne	.L88
	b	.L87
.L114:
	nop
.L87:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bge	.L89
	add	r5, r5, #1
.L89:
	ldrb	r3, [r4]	@ zero_extendqisi2
	add	r3, r3, #2
	add	r4, r4, r3
	b	.L104
.L53:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, #1
	mov	r1, r3
	mov	r0, r4
	bl	__cclass
	mov	r3, r0
	cmp	r3, #0
	beq	.L90
	ldrb	r3, [r4]	@ zero_extendqisi2
	add	r4, r4, r3
	b	.L61
.L90:
	mov	r3, #0
	b	.L106
.L59:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, #0
	mov	r1, r3
	mov	r0, r4
	bl	__cclass
	mov	r3, r0
	cmp	r3, #0
	beq	.L91
	ldrb	r3, [r4]	@ zero_extendqisi2
	add	r4, r4, r3
	b	.L61
.L91:
	mov	r3, #0
	b	.L106
.L41:
	mov	r3, r4
	add	r4, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L117+8
	str	r5, [r3, r2, lsl #2]
	b	.L61
.L58:
	ldrb	r3, [r4]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L117+12
	str	r5, [r3, r2, lsl #2]
	add	r3, r4, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [r4]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, .L117+16
	str	r1, [r3, r2, lsl #2]
	add	r4, r4, #2
	b	.L61
.L38:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L39
	mov	r3, #0
	b	.L106
.L39:
	mov	r6, r5
	nop
.L92:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L92
	b	.L104
.L55:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r4]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L56
	mov	r3, #0
	b	.L106
.L56:
	mov	r6, r5
	nop
.L93:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r4]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L93
	add	r4, r4, #1
	b	.L104
.L35:
	add	r3, r4, #1
	mov	r1, r3
	mov	r0, r5
	bl	__advance
	mov	r5, r0
	cmp	r5, #0
	bne	.L42
	mov	r3, #0
	b	.L106
.L42:
	sub	r3, r4, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	and	r3, r3, #768
	ldrb	r2, [r4]	@ zero_extendqisi2
	add	r3, r3, r2
	str	r3, [fp, #-40]
	add	r4, r4, #1
	ldr	r3, [fp, #-40]
	add	r3, r4, r3
	mov	r1, r3
	mov	r0, #0
	bl	__xpush
	mov	r6, r5
	mov	r1, r6
	mov	r0, #1
	bl	__xpush
	b	.L94
.L95:
	ldr	r5, [fp, #-36]
	mov	r1, r5
	mov	r0, #1
	bl	__xpush
.L94:
	mov	r1, r4
	mov	r0, r5
	bl	__advance
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L95
	mov	r0, #0
	bl	__xpop
	mov	r4, r0
	mov	r3, #1
	str	r3, [fp, #-44]
	b	.L104
.L51:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, r4, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #26
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	mov	r0, r4
	bl	__cclass
	mov	r3, r0
	cmp	r3, #0
	bne	.L52
	mov	r3, #0
	b	.L106
.L52:
	mov	r6, r5
	nop
.L99:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, r4, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #25
	beq	.L96
	sub	r3, r4, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #26
	bne	.L97
.L96:
	mov	r3, #1
	b	.L98
.L97:
	mov	r3, #0
.L98:
	mov	r2, r3
	mov	r0, r4
	bl	__cclass
	mov	r3, r0
	cmp	r3, #0
	bne	.L99
	ldrb	r3, [r4]	@ zero_extendqisi2
	add	r4, r4, r3
	nop
.L71:
	b	.L104
.L116:
	nop
.L104:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L100
	sub	r5, r5, #1
	b	.L101
.L100:
	mov	r0, #1
	bl	__xpop
	mov	r5, r0
	cmp	r5, #0
	beq	.L115
.L101:
	mov	r1, r4
	mov	r0, r5
	bl	__advance
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L103
	ldr	r3, [fp, #-36]
	b	.L106
.L103:
	cmp	r5, r6
	bhi	.L116
	b	.L102
.L115:
	nop
.L102:
	mov	r3, #0
	b	.L106
.L34:
	mov	r3, #0
	b	.L106
.L108:
	nop
	b	.L105
.L109:
	nop
	b	.L105
.L110:
	nop
.L61:
	b	.L105
.L106:
	ldr	r2, .L117
	ldr	r1, [r2]
	ldr	r2, [fp, #-24]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L107
	bl	__stack_chk_fail
.L107:
	mov	r0, r3
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L118:
	.align	2
.L117:
	.word	.LC1
	.word	__cflg
	.word	__braslist
	.word	__braelist
	.word	__bravar
	.size	__advance, .-__advance
	.align	2
	.global	__cclass
	.syntax unified
	.arm
	.fpu softvfp
	.type	__cclass, %function
__cclass:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, fp}
	add	fp, sp, #8
	sub	sp, sp, #12
	mov	r3, r0
	str	r1, [fp, #-16]
	str	r2, [fp, #-20]
	ldr	r2, [fp, #-16]
	and	r5, r2, #255
	cmp	r5, #0
	bne	.L120
	mov	r3, #0
	b	.L121
.L120:
	mov	r2, r3
	add	r3, r2, #1
	ldrb	r2, [r2]	@ zero_extendqisi2
	mov	r4, r2
	b	.L122
.L127:
	ldrb	r2, [r3]	@ zero_extendqisi2
	cmp	r2, #16
	bne	.L123
	add	r2, r3, #2
	ldrb	r2, [r2]	@ zero_extendqisi2
	mov	r1, r2
	add	r2, r3, #1
	ldrb	r2, [r2]	@ zero_extendqisi2
	sub	r2, r1, r2
	cmp	r2, #0
	bge	.L124
	mov	r3, #0
	b	.L121
.L124:
	add	r3, r3, #1
	ldrb	r2, [r3]	@ zero_extendqisi2
	cmp	r5, r2
	bcc	.L125
	add	r3, r3, #1
	ldrb	r2, [r3]	@ zero_extendqisi2
	cmp	r5, r2
	bhi	.L126
	ldr	r3, [fp, #-20]
	b	.L121
.L125:
	add	r3, r3, #1
.L126:
	add	r3, r3, #1
	sub	r4, r4, #2
	b	.L122
.L123:
	mov	r2, r3
	add	r3, r2, #1
	ldrb	r2, [r2]	@ zero_extendqisi2
	cmp	r5, r2
	bne	.L122
	ldr	r3, [fp, #-20]
	b	.L121
.L122:
	sub	r4, r4, #1
	cmp	r4, #0
	bne	.L127
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
.L121:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, r5, fp}
	bx	lr
	.size	__cclass, .-__cclass
	.section	.rodata
	.align	2
.LC2:
	.ascii	"stack overflow\012\000"
	.text
	.align	2
	.global	__xpush
	.syntax unified
	.arm
	.fpu softvfp
	.type	__xpush, %function
__xpush:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L133
	ldr	r2, [r3]
	ldr	r3, .L133+4
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L129
	mov	r2, #15
	ldr	r1, .L133+8
	mov	r0, #2
	bl	write
	mov	r0, #1
	bl	exit
.L129:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L130
	ldr	r3, .L133
	ldr	r3, [r3]
	add	r2, r3, #4
	ldr	r1, .L133
	str	r2, [r1]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	b	.L131
.L130:
	ldr	r3, .L133+4
	ldr	r3, [r3]
	sub	r2, r3, #4
	ldr	r1, .L133+4
	str	r2, [r1]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
.L131:
	mov	r3, #1
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L134:
	.align	2
.L133:
	.word	__lptr_
	.word	__eptr_
	.word	.LC2
	.size	__xpush, .-__xpush
	.align	2
	.global	__xpop
	.syntax unified
	.arm
	.fpu softvfp
	.type	__xpop, %function
__xpop:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L136
	ldr	r3, .L142
	ldr	r3, [r3]
	ldr	r2, .L142+4
	cmp	r3, r2
	bcc	.L137
	ldr	r3, .L142
	ldr	r3, [r3]
	sub	r3, r3, #4
	ldr	r2, .L142
	str	r3, [r2]
	ldr	r3, .L142
	ldr	r3, [r3]
	ldr	r3, [r3]
	b	.L139
.L137:
	mov	r3, #0
	b	.L139
.L136:
	ldr	r3, .L142+8
	ldr	r3, [r3]
	ldr	r2, .L142+12
	cmp	r3, r2
	bhi	.L140
	ldr	r3, .L142+8
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L142+8
	str	r3, [r2]
	ldr	r3, .L142+8
	ldr	r3, [r3]
	ldr	r3, [r3]
	b	.L139
.L140:
	mov	r3, #0
.L139:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L143:
	.align	2
.L142:
	.word	__lptr_
	.word	__st
	.word	__eptr_
	.word	__st+200
	.size	__xpop, .-__xpop
	.align	2
	.global	__getrnge
	.syntax unified
	.arm
	.fpu softvfp
	.type	__getrnge, %function
__getrnge:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #255
	bne	.L145
	ldr	r3, [fp, #-12]
	ldr	r2, .L148
	str	r2, [r3]
	b	.L146
.L145:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, [fp, #-12]
	str	r2, [r3]
.L146:
	mov	r3, #1
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L149:
	.align	2
.L148:
	.word	20000
	.size	__getrnge, .-__getrnge
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
