// File: /workspace/github_c_makefile_star2_O2/Tarsnap[P]libcperciva/liball/../util/getopt.c
// Function: getopt_register_opt
void
getopt_register_opt(const char * os, size_t ln, int hasarg)
{

	/* Can't reset here. */
	if (optreset)
		DIE("Can't reset in the middle of getopt loop");

	/* We should only be called during initialization. */
	assert(!getopt_initialized);

	/* We should have space allocated for registering options. */
	assert(opts != NULL);

	/* We should not have registered an option here yet. */
	assert(opts[ln].os == NULL);

	/* Options should be "-X" or "--foo". */
	if ((os[0] != '-') || (os[1] == '\0') ||
	    ((os[1] == '-') && (os[2] == '\0')) ||
	    ((os[1] != '-') && (os[2] != '\0')))
		DIE("Not a valid command-line option: %s", os);

	/* Make sure we haven't already registered this option. */
	if (searchopt(os) != opt_default)
		DIE("Command-line option registered twice: %s", os);

	/* Record option. */
	opts[ln].os = os;
	opts[ln].olen = strlen(os);
	opts[ln].hasarg = hasarg;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
cmpl $0x0, 0x33ed(%rip)      # 0x5090
jne 0x1d6b
cmpl $0x0, 0x3400(%rip)      # 0x50b0
jne 0x1db3
movq 0x342b(%rip), %r14      # 0x50e8
testq %r14, %r14
je 0x1dd2
imulq $0x18, %rsi, %r15
cmpq $0x0, (%r14,%r15)
jne 0x1df1
movq %rdi, %rbx
cmpb $0x2d, (%rdi)
jne 0x1cf2
movl %edx, %ebp
movzbl 0x1(%rbx), %eax
cmpl $0x2d, %eax
je 0x1d2c
testl %eax, %eax
je 0x1cf2
cmpb $0x0, 0x2(%rbx)
je 0x1d32
movq 0x33e7(%rip), %rdx      # 0x50e0
testq %rdx, %rdx
je 0x1d16
movq 0x32f3(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x143d(%rip), %rsi      # 0x314c
xorl %eax, %eax
callq 0x10a0
movq 0x32db(%rip), %r14      # 0x4ff8
movq (%r14), %rdi
leaq 0x15d5(%rip), %rsi      # 0x32fc
jmp 0x1e45
cmpb $0x0, 0x2(%rbx)
je 0x1cf2
movq %rbx, %rdi
callq 0x1b11
cmpq 0x338f(%rip), %rax      # 0x50d0
jne 0x1e10
leaq (%r14,%r15), %rax
movq %rbx, (%rax)
movq %rbx, %rdi
callq 0x1060
movq %rax, 0x8(%r14,%r15)
movl %ebp, 0x10(%r14,%r15)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq 0x336e(%rip), %rdx      # 0x50e0
testq %rdx, %rdx
je 0x1d8f
movq 0x327a(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x13c4(%rip), %rsi      # 0x314c
xorl %eax, %eax
callq 0x10a0
movq 0x3262(%rip), %rbx      # 0x4ff8
movq (%rbx), %rcx
leaq 0x1408(%rip), %rdi      # 0x31a8
pushq $0x28
popq %rsi
pushq $0x1
popq %rdx
callq 0x10e0
movq (%rbx), %rsi
jmp 0x1e52
leaq 0x14d9(%rip), %rdi      # 0x3293
leaq 0x1410(%rip), %rsi      # 0x31d1
leaq 0x14df(%rip), %rcx      # 0x32a7
movl $0x12c, %edx            # imm = 0x12C
callq 0x1070
leaq 0x1502(%rip), %rdi      # 0x32db
leaq 0x13f1(%rip), %rsi      # 0x31d1
leaq 0x14c0(%rip), %rcx      # 0x32a7
movl $0x12f, %edx            # imm = 0x12F
callq 0x1070
leaq 0x14f0(%rip), %rdi      # 0x32e8
leaq 0x13d2(%rip), %rsi      # 0x31d1
leaq 0x14a1(%rip), %rcx      # 0x32a7
movl $0x132, %edx            # imm = 0x132
callq 0x1070
movq 0x32c9(%rip), %rdx      # 0x50e0
testq %rdx, %rdx
je 0x1e34
movq 0x31d5(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x131f(%rip), %rsi      # 0x314c
xorl %eax, %eax
callq 0x10a0
movq 0x31bd(%rip), %r14      # 0x4ff8
movq (%r14), %rdi
leaq 0x14db(%rip), %rsi      # 0x3320
movq %rbx, %rdx
xorl %eax, %eax
callq 0x10a0
movq (%r14), %rsi
pushq $0xa
popq %rdi
callq 0x1080
callq 0x1040