// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/main.c
// Function: xgetopt
static int xgetopt(int argc, char *argv[], char *optstring)
{
	static char *scan = NULL; /* Private scan pointer. */

	char c;
	char *place;

	xoptarg = NULL;

	if (!scan || *scan == '\0') {
		if (xoptind == 0)
			xoptind++;

		if (xoptind >= argc || argv[xoptind][0] != '-' || argv[xoptind][1] == '\0')
			return EOF;
		if (argv[xoptind][1] == '-' && argv[xoptind][2] == '\0') {
			xoptind++;
			return EOF;
		}

		scan = argv[xoptind]+1;
		xoptind++;
	}

	c = *scan++;
	place = strchr(optstring, c);

	if (!place || c == ':') {
		fprintf(stderr, "%s: unknown option -%c\n", argv[0], c);
		return '?';
	}

	place++;
	if (*place == ':') {
		if (*scan != '\0') {
			xoptarg = scan;
			scan = NULL;
		} else if (xoptind < argc) {
			xoptarg = argv[xoptind];
			xoptind++;
		} else {
			fprintf(stderr, "%s: option requires argument -%c\n", argv[0], c);
			return ':';
		}
	}

	return c;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq $0x0, 0x44532(%rip) # 0x47e50
cmpq $0x0, 0x44522(%rip)     # 0x47e48
je 0x393b
movq 0x44519(%rip), %rax     # 0x47e48
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x3a0d
cmpl $0x0, 0x444fe(%rip)     # 0x47e40
jne 0x3953
movl 0x444f6(%rip), %eax     # 0x47e40
addl $0x1, %eax
movl %eax, 0x444ed(%rip)     # 0x47e40
movl 0x444e7(%rip), %eax     # 0x47e40
cmpl -0x8(%rbp), %eax
jge 0x398d
movq -0x10(%rbp), %rax
movslq 0x444d7(%rip), %rcx     # 0x47e40
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x398d
movq -0x10(%rbp), %rax
movslq 0x444c0(%rip), %rcx     # 0x47e40
movq (%rax,%rcx,8), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x3999
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3b26
movq -0x10(%rbp), %rax
movslq 0x4449c(%rip), %rcx     # 0x47e40
movq (%rax,%rcx,8), %rax
movsbl 0x1(%rax), %eax
cmpl $0x2d, %eax
jne 0x39e4
movq -0x10(%rbp), %rax
movslq 0x44484(%rip), %rcx     # 0x47e40
movq (%rax,%rcx,8), %rax
movsbl 0x2(%rax), %eax
cmpl $0x0, %eax
jne 0x39e4
movl 0x44471(%rip), %eax     # 0x47e40
addl $0x1, %eax
movl %eax, 0x44468(%rip)     # 0x47e40
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3b26
movq -0x10(%rbp), %rax
movslq 0x44451(%rip), %rcx     # 0x47e40
movq (%rax,%rcx,8), %rax
addq $0x1, %rax
movq %rax, 0x4444a(%rip)     # 0x47e48
movl 0x4443c(%rip), %eax     # 0x47e40
addl $0x1, %eax
movl %eax, 0x44433(%rip)     # 0x47e40
movq 0x44434(%rip), %rax     # 0x47e48
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x44426(%rip)     # 0x47e48
movb (%rax), %al
movb %al, -0x19(%rbp)
movq -0x18(%rbp), %rdi
movsbl -0x19(%rbp), %esi
callq 0x3280
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x3a48
movsbl -0x19(%rbp), %eax
cmpl $0x3a, %eax
jne 0x3a77
movq 0x43599(%rip), %rax     # 0x46fe8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rdx
movsbl -0x19(%rbp), %ecx
leaq 0x2f619(%rip), %rsi     # 0x3307d
movb $0x0, %al
callq 0x3350
movl $0x3f, -0x4(%rbp)
jmp 0x3b26
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3a, %eax
jne 0x3b1f
movq 0x443ae(%rip), %rax     # 0x47e48
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x3abd
movq 0x4439f(%rip), %rax     # 0x47e48
movq %rax, 0x443a0(%rip)     # 0x47e50
movq $0x0, 0x4438d(%rip) # 0x47e48
jmp 0x3b1d
movl 0x4437d(%rip), %eax     # 0x47e40
cmpl -0x8(%rbp), %eax
jge 0x3aef
movq -0x10(%rbp), %rax
movslq 0x4436d(%rip), %rcx     # 0x47e40
movq (%rax,%rcx,8), %rax
movq %rax, 0x44372(%rip)     # 0x47e50
movl 0x4435c(%rip), %eax     # 0x47e40
addl $0x1, %eax
movl %eax, 0x44353(%rip)     # 0x47e40
jmp 0x3b1b
movq 0x434f2(%rip), %rax     # 0x46fe8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rdx
movsbl -0x19(%rbp), %ecx
leaq 0x2f58a(%rip), %rsi     # 0x33095
movb $0x0, %al
callq 0x3350
movl $0x3a, -0x4(%rbp)
jmp 0x3b26
jmp 0x3b1d
jmp 0x3b1f
movsbl -0x19(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nop