// File: /workspace/github_c_makefile_star2_O2/ArtifexSoftware[P]mujs/./regexp.c
// Function: parserep
static Renode *parserep(struct cstate *g)
{
	Renode *atom;

	if (accept(g, '^')) return newnode(g, P_BOL);
	if (accept(g, '$')) return newnode(g, P_EOL);
	if (accept(g, L_WORD)) return newnode(g, P_WORD);
	if (accept(g, L_NWORD)) return newnode(g, P_NWORD);

	atom = parseatom(g);
	if (g->lookahead == L_COUNT) {
		int min = g->yymin, max = g->yymax;
		next(g);
		if (max < min)
			die(g, "invalid quantifier");
		return newrep(g, atom, accept(g, '?'), min, max);
	}
	if (accept(g, '*')) return newrep(g, atom, accept(g, '?'), 0, REPINF);
	if (accept(g, '+')) return newrep(g, atom, accept(g, '?'), 1, REPINF);
	if (accept(g, '?')) return newrep(g, atom, accept(g, '?'), 0, 1);
	return atom;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
pushq $0x5e
popq %rsi
callq 0x1eb04
testl %eax, %eax
je 0x1eb44
movq 0x10(%rbx), %r14
leaq 0x20(%r14), %rax
movq %rax, 0x10(%rbx)
movb $0x3, (%r14)
jmp 0x1eba9
pushq $0x24
popq %rsi
movq %rbx, %rdi
callq 0x1eb04
testl %eax, %eax
je 0x1eb65
movq 0x10(%rbx), %r14
leaq 0x20(%r14), %rax
movq %rax, 0x10(%rbx)
movb $0x4, (%r14)
jmp 0x1eba9
movq %rbx, %rdi
movl $0x106, %esi            # imm = 0x106
callq 0x1eb04
testl %eax, %eax
je 0x1eb88
movq 0x10(%rbx), %r14
leaq 0x20(%r14), %rax
movq %rax, 0x10(%rbx)
movb $0x5, (%r14)
jmp 0x1eba9
movq %rbx, %rdi
movl $0x107, %esi            # imm = 0x107
callq 0x1eb04
testl %eax, %eax
je 0x1ebd2
movq 0x10(%rbx), %r14
leaq 0x20(%r14), %rax
movq %rax, 0x10(%rbx)
movb $0x6, (%r14)
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x4(%r14)
andl $0x0, 0x1(%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r14)
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0xffffff00, %eax       # imm = 0xFFFFFF00
addl 0xa8(%rbx), %eax
cmpl $0x8, %eax
ja 0x1ed53
leaq 0x2263(%rip), %rcx      # 0x20e50
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x10(%rbx), %r14
leaq 0x20(%r14), %rax
movq %rax, 0x10(%rbx)
movb $0xb, (%r14)
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x4(%r14)
andl $0x0, 0x1(%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r14)
movl 0xac(%rbx), %eax
movl %eax, 0x4(%r14)
jmp 0x1ecde
movq 0x10(%rbx), %r14
leaq 0x20(%r14), %rax
movq %rax, 0x10(%rbx)
movb $0xd, (%r14)
jmp 0x1ec52
movq 0x10(%rbx), %r14
leaq 0x20(%r14), %rax
movq %rax, 0x10(%rbx)
movb $0xc, (%r14)
andl $0x0, 0x1(%r14)
andl $0x0, 0x4(%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r14)
movq 0xb0(%rbx), %rax
subq %rbx, %rax
addq $-0x190, %rax           # imm = 0xFE70
movl $0x108, %ecx            # imm = 0x108
cqto
idivq %rcx
movl %eax, 0x8(%r14)
jmp 0x1ecde
movq 0x10(%rbx), %r14
leaq 0x20(%r14), %rax
movq %rax, 0x10(%rbx)
movb $0xe, (%r14)
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x4(%r14)
andl $0x0, 0x1(%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r14)
movslq 0xac(%rbx), %rax
testq %rax, %rax
je 0x1ef2d
cmpl 0x24(%rbx), %eax
jge 0x1ef2d
movq 0x28(%rbx,%rax,8), %rcx
testq %rcx, %rcx
je 0x1ef2d
movb %al, 0x3(%r14)
movq %rcx, 0x10(%r14)
movq %rbx, %rdi
callq 0x14140
cmpl $0x109, 0xa8(%rbx)      # imm = 0x109
jne 0x1ed2d
movl 0xb8(%rbx), %ebp
movl 0xbc(%rbx), %r15d
movq %rbx, %rdi
callq 0x14140
cmpl %ebp, %r15d
jl 0x1ef36
pushq $0x3f
popq %rsi
movq %rbx, %rdi
callq 0x1eb04
movq %rbx, %rdi
movq %r14, %rsi
movl %eax, %edx
movl %ebp, %ecx
movl %r15d, %r8d
jmp 0x1edc3
pushq $0x2a
popq %rsi
movq %rbx, %rdi
callq 0x1eb04
testl %eax, %eax
je 0x1ed92
pushq $0x3f
popq %rsi
movq %rbx, %rdi
callq 0x1eb04
movq %rbx, %rdi
movq %r14, %rsi
movl %eax, %edx
xorl %ecx, %ecx
jmp 0x1edbd
pushq $0x2e
popq %rsi
movq %rbx, %rdi
callq 0x1eb04
testl %eax, %eax
je 0x1edd2
movq 0x10(%rbx), %r14
leaq 0x20(%r14), %rax
movq %rax, 0x10(%rbx)
movb $0xa, (%r14)
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x4(%r14)
andl $0x0, 0x1(%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r14)
jmp 0x1ece6
pushq $0x2b
popq %rsi
movq %rbx, %rdi
callq 0x1eb04
movl %eax, %ebp
pushq $0x3f
popq %rsi
movq %rbx, %rdi
callq 0x1eb04
testl %ebp, %ebp
je 0x1ee41
pushq $0x1
popq %rcx
movq %rbx, %rdi
movq %r14, %rsi
movl %eax, %edx
movl $0xff, %r8d
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x1ef57
pushq $0x28
popq %rsi
movq %rbx, %rdi
callq 0x1eb04
testl %eax, %eax
je 0x1ee8b
movq 0x10(%rbx), %r14
leaq 0x20(%r14), %rax
movq %rax, 0x10(%rbx)
movb $0x7, (%r14)
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x4(%r14)
andl $0x0, 0x1(%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r14)
movl 0x24(%rbx), %eax
cmpl $0x10, %eax
je 0x1ef45
leal 0x1(%rax), %ecx
movl %ecx, 0x24(%rbx)
movb %al, 0x3(%r14)
movq %rbx, %rdi
callq 0x1470b
movq %rax, 0x10(%r14)
movzbl 0x3(%r14), %eax
movq %r14, 0x28(%rbx,%rax,8)
jmp 0x1ef11
testl %eax, %eax
je 0x1ebc4
pushq $0x3f
popq %rsi
movq %rbx, %rdi
callq 0x1eb04
movq 0x10(%rbx), %rcx
leaq 0x20(%rcx), %rdx
movq %rdx, 0x10(%rbx)
movb $0x2, (%rcx)
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
movq %rdx, 0x4(%rcx)
andq $0x0, 0x18(%rcx)
movb %al, 0x1(%rcx)
movw $0x100, 0x2(%rcx)       # imm = 0x100
movq %r14, 0x10(%rcx)
movq %rcx, %r14
jmp 0x1ebc4
movq %rbx, %rdi
movl $0x103, %esi            # imm = 0x103
callq 0x1eb04
movq %rbx, %rdi
testl %eax, %eax
je 0x1eea9
callq 0x1470b
movq %rax, %r14
jmp 0x1ef11
movl $0x104, %esi            # imm = 0x104
callq 0x1eb04
testl %eax, %eax
je 0x1eec9
movq 0x10(%rbx), %r14
leaq 0x20(%r14), %rax
movq %rax, 0x10(%rbx)
movb $0x8, (%r14)
jmp 0x1eeea
movq %rbx, %rdi
movl $0x105, %esi            # imm = 0x105
callq 0x1eb04
testl %eax, %eax
je 0x1ef4e
movq 0x10(%rbx), %r14
leaq 0x20(%r14), %rax
movq %rax, 0x10(%rbx)
movb $0x9, (%r14)
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x4(%r14)
andl $0x0, 0x1(%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r14)
movq %rbx, %rdi
callq 0x1470b
movq %rax, 0x10(%r14)
pushq $0x29
popq %rsi
movq %rbx, %rdi
callq 0x1eb04
testl %eax, %eax
jne 0x1ece6
leaq 0xb42c(%rip), %rsi      # 0x2a357
jmp 0x1ef3d
leaq 0xb3fa(%rip), %rsi      # 0x2a32e
jmp 0x1ef3d
leaq 0xb3ba(%rip), %rsi      # 0x2a2f7
movq %rbx, %rdi
callq 0x14129
leaq 0xb3f9(%rip), %rsi      # 0x2a345
jmp 0x1ef3d
leaq 0x9c5b(%rip), %rsi      # 0x28bb0
jmp 0x1ef3d