// File: /workspace/github_c_makefile_star2_O1/lucvoo[P]sparse-dev/semind.c
// Function: parse_cmdline_search
static void parse_cmdline_search(int argc, char **argv)
{
	static const struct option long_options[] = {
		{ "explain", no_argument, NULL, 'e' },
		{ "format", required_argument, NULL, 'f' },
		{ "path", required_argument, NULL, 'p' },
		{ "location", no_argument, NULL, 'l' },
		{ "mode", required_argument, NULL, 'm' },
		{ "kind", required_argument, NULL, 'k' },
		{ "verbose", no_argument, NULL, 'v' },
		{ "help", no_argument, NULL, 'h' },
		{ NULL }
	};
	int c;

	while ((c = getopt_long(argc, argv, "+ef:m:k:p:lvh", long_options, NULL)) != -1) {
		switch (c) {
			case 'e':
				semind_search_by_location = EXPLAIN_LOCATION;
				break;
			case 'l':
				semind_search_by_location = USAGE_BY_LOCATION;
				break;
			case 'f':
				semind_search_format = optarg;
				break;
			case 'm':
				set_search_modmask(optarg);
				break;
			case 'k':
				semind_search_kind = tolower(optarg[0]);
				break;
			case 'p':
				semind_search_path = optarg;
				break;
			case 'v':
				semind_verbose++;
				break;
			case 'h':
				show_help_search(0);
		}
	}

	if (semind_search_by_location) {
		char *str;

		if (optind == argc)
			semind_error(1, 0, "one argument required");

		str = argv[optind];

		while (str) {
			char *ptr;

			if ((ptr = strchr(str, ':')) != NULL)
				*ptr++ = '\0';

			if (*str != '\0') {
				if (!semind_search_filename) {
					semind_search_filename = str;
				} else if (!semind_search_line) {
					semind_search_line = atoi(str);
				} else if (!semind_search_column) {
					semind_search_column = atoi(str);
				}
			}
			str = ptr;
		}
	} else if (optind < argc)
		semind_search_symbol = argv[optind++];
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movl %edi, %ebp
leaq 0x34579(%rip), %r14     # 0x45010
movl %ebp, %edi
movq %rbx, %rsi
leaq 0x34c98(%rip), %rdx     # 0x4573b
leaq 0x4ee16(%rip), %rcx     # 0x5f8c0
xorl %r8d, %r8d
callq 0xf350
leal -0x65(%rax), %ecx
cmpl $0x11, %ecx
ja 0x10ba4
movslq (%r14,%rcx,4), %rax
addq %r14, %rax
jmpq *%rax
movl $0x1, 0x5e09f(%rip)     # 0x6eb70
jmp 0x10a97
incl 0x5dc13(%rip)           # 0x6e6ec
jmp 0x10a97
movq 0x57486(%rip), %rax     # 0x67f68
movq (%rax), %r13
movq %r13, %rdi
callq 0xf220
movq %rax, %r12
andq $-0x3, %rax
cmpq $0x1, %rax
jne 0x10c66
movb $0x1, 0x5e093(%rip)     # 0x6eb98
movl $0x0, 0x5e08d(%rip)     # 0x6eb9c
cmpq $0x1, %r12
jne 0x10bb2
movzbl (%r13), %eax
cmpl $0x71, %eax
jg 0x10bd7
cmpl $0x2d, %eax
je 0x10bf5
cmpl $0x6d, %eax
jne 0x10c83
leaq 0x34c67(%rip), %r12     # 0x457a7
jmp 0x10bfc
movq 0x5741c(%rip), %rax     # 0x67f68
movq (%rax), %rax
movq %rax, 0x57792(%rip)     # 0x682e8
jmp 0x10a97
movl $0x2, 0x5e00b(%rip)     # 0x6eb70
jmp 0x10a97
callq 0xf3f0
movq (%rax), %rax
movq 0x573ef(%rip), %rcx     # 0x67f68
movq (%rcx), %rcx
movsbq (%rcx), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, 0x5dfeb(%rip)     # 0x6eb74
jmp 0x10a97
movq 0x573d3(%rip), %rax     # 0x67f68
movq (%rax), %rax
movq %rax, 0x5dfd9(%rip)     # 0x6eb78
jmp 0x10a97
cmpl $-0x1, %eax
jne 0x10a97
jmp 0x10ca3
movq %r13, %rdi
leaq 0x370a0(%rip), %rsi     # 0x47c5c
callq 0xf3a0
movq %r13, %r12
testl %eax, %eax
jne 0x10bfc
movl $0x10000, 0x5dfca(%rip) # imm = 0x10000
jmp 0x10a97
leaq 0x34bc1(%rip), %r12     # 0x4579f
cmpl $0x72, %eax
je 0x10bfc
cmpl $0x77, %eax
jne 0x10c83
leaq 0x34bb0(%rip), %r12     # 0x457a3
jmp 0x10bfc
leaq 0x34baf(%rip), %r12     # 0x457ab
leaq 0x344a5(%rip), %r13     # 0x450a8
xorl %r15d, %r15d
movzbl (%r12,%r15), %eax
cmpl $0x71, %eax
jg 0x10c20
cmpl $0x2d, %eax
je 0x10c3a
cmpl $0x6d, %eax
jne 0x10c4c
movl (%r13), %eax
jmp 0x10c34
cmpl $0x77, %eax
je 0x10c30
cmpl $0x72, %eax
jne 0x10c4c
movl -0x8(%r13), %eax
jmp 0x10c34
movl -0x4(%r13), %eax
orl %eax, 0x5df62(%rip)     # 0x6eb9c
incq %r15
addq $0xc, %r13
cmpq $0x3, %r15
jne 0x10c06
jmp 0x10a97
movsbl %al, %ecx
movl $0x1, %edi
xorl %esi, %esi
leaq 0x34b6a(%rip), %rdx     # 0x457c7
xorl %eax, %eax
callq 0xf570
jmp 0x10c3a
movl $0x1, %edi
xorl %esi, %esi
leaq 0x34aff(%rip), %rdx     # 0x45773
movq %r13, %rcx
xorl %eax, %eax
callq 0xf570
jmp 0x10afe
movl $0x1, %edi
xorl %esi, %esi
leaq 0x34b1e(%rip), %rdx     # 0x457af
movq %r13, %rcx
xorl %eax, %eax
callq 0xf570
movq %r13, %r12
jmp 0x10bfc
cmpl $0x0, 0x5dec6(%rip)     # 0x6eb70
movq 0x5727f(%rip), %r14     # 0x67f30
movslq (%r14), %rax
je 0x10d53
cmpl %ebp, %eax
je 0x10d77
movslq (%r14), %rax
movq (%rbx,%rax,8), %r15
testq %r15, %r15
je 0x10d68
movl 0x5deb4(%rip), %ebx     # 0x6eb8c
movl 0x5deaa(%rip), %ebp     # 0x6eb88
movq 0x5de9b(%rip), %r12     # 0x6eb80
movq %r15, %r14
movq %r15, %rdi
movl $0x3a, %esi
callq 0xf330
testq %rax, %rax
je 0x10d05
movq %rax, %r15
incq %r15
movb $0x0, (%rax)
jmp 0x10d08
xorl %r15d, %r15d
cmpb $0x0, (%r14)
je 0x10d46
testq %r12, %r12
je 0x10d2d
testl %ebp, %ebp
je 0x10d36
testl %ebx, %ebx
jne 0x10d46
movq %r14, %rdi
callq 0xf2f0
movl %eax, %ebx
movl %eax, 0x5de61(%rip)     # 0x6eb8c
jmp 0x10d46
movq %r14, 0x5de4c(%rip)     # 0x6eb80
jmp 0x10d49
movq %r14, %rdi
callq 0xf2f0
movl %eax, %ebp
movl %eax, 0x5de42(%rip)     # 0x6eb88
movq %r12, %r14
movq %r14, %r12
testq %r15, %r15
jne 0x10ce5
jmp 0x10d68
cmpl %ebp, %eax
jge 0x10d68
leal 0x1(%rax), %ecx
movl %ecx, (%r14)
movq (%rbx,%rax,8), %rax
movq %rax, 0x5de28(%rip)     # 0x6eb90
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x349cb(%rip), %rdx     # 0x45749
movl $0x1, %edi
xorl %esi, %esi
xorl %eax, %eax
callq 0xf570
jmp 0x10cc2
movq 0x5c928(%rip), %rsi     # 0x6d6c0
leaq 0x34a72(%rip), %rdi     # 0x45811
xorl %eax, %eax
callq 0xf050
xorl %edi, %edi
callq 0xf120