// File: /workspace/github_c_makefile_star2_O0/jsummers[P]deark/src/deark-cmd.c
// Function: parse_cmdline
static void parse_cmdline(deark *c, struct cmdctx *cc, int argc, char **argv)
{
	int i;
	int help_flag = 0;
	int module_flag = 0;
	const struct opt_struct *opt;

	for(i=1;i<argc;i++) {
		if(argv[i][0]=='-') {
			if(argv[i][1]=='-') // Allow a superfluous second '-'
				opt = opt_string_to_opt_struct(argv[i]+2);
			else
				opt = opt_string_to_opt_struct(argv[i]+1);

			if(!opt) {
				de_printf(c, DE_MSGTYPE_MESSAGE, "Unrecognized option: %s\n", argv[i]);
				if(!strcmp(argv[i], "-")) {
					// I don't want "-" to be an alias for "-fromstdin", because it
					// would have different syntax rules than it does in most programs.
					// (Question: Is "-" an *option*, or a kind of *filename*?)
					de_printf(c, DE_MSGTYPE_MESSAGE,
						"Note: To use stdin/stdout, use \"-fromstdin\"/\"-tostdout\".\n");
				}
				cc->error_flag = 1;
				cc->show_usage_message = 1;
				return;
			}
			if(i>=argc-opt->extra_args) {
				de_printf(c, DE_MSGTYPE_MESSAGE, "Option %s needs an argument\n", argv[i]);
				cc->error_flag = 1;
				cc->show_usage_message = 1;
				return;
			}

			switch(opt->id) {
			case DE_OPT_D:
				de_set_std_option_int(c, DE_STDOPT_DEBUG_LEVEL, 1);
				break;
			case DE_OPT_D2:
				de_set_std_option_int(c, DE_STDOPT_DEBUG_LEVEL, 2);
				break;
			case DE_OPT_D3:
				de_set_std_option_int(c, DE_STDOPT_DEBUG_LEVEL, 3);
				break;
			case DE_OPT_D4:
				de_set_std_option_int(c, DE_STDOPT_DEBUG_LEVEL, 4);
				break;
			case DE_OPT_L:
				de_set_std_option_int(c, DE_STDOPT_LISTMODE, 1);
				break;
			case DE_OPT_MP:
				cc->mp_mode = 1;
				de_set_std_option_int(c, DE_STDOPT_MP_OPT_USED, 1);
				break;
			case DE_OPT_NOINFO:
				de_set_std_option_int(c, DE_STDOPT_INFOMESSAGES, 0);
				break;
			case DE_OPT_NOWARN:
				de_set_std_option_int(c, DE_STDOPT_WARNINGS, 0);
				break;
			case DE_OPT_NOBOM:
				de_set_std_option_int(c, DE_STDOPT_WRITE_BOM, 0);
				break;
			case DE_OPT_NODENS:
				de_set_std_option_int(c, DE_STDOPT_WRITE_DENSITY, 0);
				break;
			case DE_OPT_ASCIIHTML:
				de_set_std_option_int(c, DE_STDOPT_ASCII_HTML, 1);
				break;
			case DE_OPT_NONAMES:
				de_set_std_option_int(c, DE_STDOPT_FILENAMES_FROM_FILE, 0);
				break;
			case DE_OPT_PADPIX:
				de_set_std_option_int(c, DE_STDOPT_PADPIX, 1);
				break;
			case DE_OPT_NOOVERWRITE:
				de_set_std_option_int(c, DE_STDOPT_OVERWRITE_MODE, DE_OVERWRITEMODE_NEVER);
				break;
			case DE_OPT_MODTIME:
				de_set_preserve_file_times(c, 0, 1);
				de_set_preserve_file_times(c, 1, 1);
				break;
			case DE_OPT_NOMODTIME:
				de_set_preserve_file_times(c, 0, 0);
				de_set_preserve_file_times(c, 1, 0);
				break;
			case DE_OPT_Q:
				de_set_std_option_int(c, DE_STDOPT_INFOMESSAGES, 0);
				de_set_std_option_int(c, DE_STDOPT_WARNINGS, 0);
				break;
			case DE_OPT_VERSION:
				cc->special_command_flag = 1;
				cc->special_command_code = CMD_PRINTVERSION;
				break;
			case DE_OPT_PRINTMODULES:
				cc->special_command_flag = 1;
				cc->special_command_code = CMD_PRINTMODULES;
				break;
			case DE_OPT_HELP:
				// At this point, we don't know whether this will be general help,
				// or module-specific help. So just set a flag for later.
				help_flag = 1;
				break;
			case DE_OPT_LICENSE:
				cc->special_command_flag = 1;
				cc->special_command_code = CMD_PRINTLICENSE;
				break;
			case DE_OPT_ID:
				de_set_std_option_int(c, DE_STDOPT_ID_MODE, 1);
				break;
			case DE_OPT_NOCHCP:
				cc->no_chcp = 1;
				break;
			case DE_OPT_MAINONLY:
				de_set_std_option_int(c, DE_STDOPT_EXTRACT_POLICY, DE_EXTRACTPOLICY_MAINONLY);
				break;
			case DE_OPT_AUXONLY:
				de_set_std_option_int(c, DE_STDOPT_EXTRACT_POLICY, DE_EXTRACTPOLICY_AUXONLY);
				break;
			case DE_OPT_EXTRACTALL:
				de_set_std_option_int(c, DE_STDOPT_EXTRACT_LEVEL, 2);
				break;
			case DE_OPT_ZIP:
				de_set_output_style(c, DE_OUTPUTSTYLE_ARCHIVE, DE_ARCHIVEFMT_ZIP);
				cc->to_zip = 1;
				break;
			case DE_OPT_TAR:
				de_set_output_style(c, DE_OUTPUTSTYLE_ARCHIVE, DE_ARCHIVEFMT_TAR);
				cc->to_tar = 1;
				break;
			case DE_OPT_TOSTDOUT:
				send_msgs_to_stderr(c, cc);
				cc->to_stdout = 1;
				break;
			case DE_OPT_MSGSTOSTDERR:
				send_msgs_to_stderr(c, cc);
				break;
			case DE_OPT_FROMSTDIN:
				de_set_input_style(c, DE_INPUTSTYLE_STDIN);
				cc->from_stdin = 1;
				break;
			case DE_OPT_COLOR:
				colormode_opt(cc, "auto");
				break;
			case DE_OPT_K:
				cc->option_k_level = 1;
				break;
			case DE_OPT_K2:
				cc->option_k_level = 2;
				break;
			case DE_OPT_K3:
				cc->option_k_level = 3;
				break;
			case DE_OPT_KA:
				cc->option_ka_level = 1;
				break;
			case DE_OPT_KA2:
				cc->option_ka_level = 2;
				break;
			case DE_OPT_KA3:
				cc->option_ka_level = 3;
				break;
			case DE_OPT_ENCODING:
				set_encoding_option(c, cc, argv[i+1]);
				if(cc->error_flag) return;
				break;
			case DE_OPT_EXTOPT:
				set_ext_option(c, cc, argv[i+1]);
				break;
			case DE_OPT_FILE:
				handle_an_input_filename(cc, argv[i+1]);
				if(cc->error_flag) return;
				break;
			case DE_OPT_FILE2:
				de_set_ext_option(c, "file2", argv[i+1]);
				break;
			case DE_OPT_INENC:
				if(!de_set_input_encoding(c, argv[i+1], 0)) {
					de_printf(c, DE_MSGTYPE_MESSAGE,
						"Error: Unknown input encoding: %s\n", argv[i+1]);
					cc->error_flag = 1;
					return;
				}
				break;
			case DE_OPT_INTZ:
				de_set_input_timezone(c, (i64)(3600.0*atof(argv[i+1])));
				break;
			case DE_OPT_START:
				if(!strcmp(argv[i+1], "overlay")) {
					de_set_input_file_special_slice_start(c, 1);
				}
				else {
					de_set_input_file_slice_start(c, de_atoi64(argv[i+1]));
				}
				break;
			case DE_OPT_SIZE:
				de_set_input_file_slice_size(c, de_atoi64(argv[i+1]));
				break;
			case DE_OPT_M:
				module_flag = 1;
				de_set_input_format(c, argv[i+1]);
				break;
			case DE_OPT_MODCODES:
				de_set_module_init_codes(c, argv[i+1]);
				break;
			case DE_OPT_O:
				cc->base_output_filename = argv[i+1];
				break;
			case DE_OPT_OD:
				cc->output_dirname = argv[i+1];
				break;
			case DE_OPT_T:
				cc->output_special_1st_filename = argv[i+1];
				break;
			case DE_OPT_ARCFN:
				// Relevant e.g. if the -zip option is used.
				cc->archive_filename = argv[i+1];
				break;
			case DE_OPT_GET:
				de_set_first_output_file(c, de_atoi(argv[i+1]));
				de_set_max_output_files(c, 1);
				break;
			case DE_OPT_FIRSTFILE:
				de_set_first_output_file(c, de_atoi(argv[i+1]));
				break;
			case DE_OPT_MAXFILES:
				de_set_max_output_files(c, de_atoi64(argv[i+1]));
				cc->set_MAXFILES = 1;
				break;
			case DE_OPT_MAXFILESIZE:
				de_set_max_output_file_size(c, de_atoi64(argv[i+1]));
				break;
			case DE_OPT_MAXTOTALSIZE:
				de_set_max_total_output_size(c, de_atoi64(argv[i+1]));
				break;
			case DE_OPT_MAXIMGDIM:
				de_set_max_image_dimension(c, de_atoi64(argv[i+1]));
				break;
			case DE_OPT_DPREFIX:
				de_set_dprefix(c, argv[i+1]);
				break;
			case DE_OPT_EXTRLIST:
				de_set_extrlist_filename(c, argv[i+1]);
				break;
			case DE_OPT_ONLYMODS:
				de_set_disable_mods(c, argv[i+1], 1);
				break;
			case DE_OPT_DISABLEMODS:
				de_set_disable_mods(c, argv[i+1], 0);
				break;
			case DE_OPT_ONLYDETECT:
				de_set_disable_moddetect(c, argv[i+1], 1);
				break;
			case DE_OPT_NODETECT:
				de_set_disable_moddetect(c, argv[i+1], 0);
				break;
			case DE_OPT_COLORMODE:
				colormode_opt(cc, argv[i+1]);
				if(cc->error_flag) return;
				break;
			default:
				de_printf(c, DE_MSGTYPE_MESSAGE, "Unrecognized option: %s\n", argv[i]);
				cc->error_flag = 1;
				cc->show_usage_message = 1;
				return;
			}

			i += opt->extra_args;
		}
		else {
			handle_an_input_filename(cc, argv[i]);
			if(cc->error_flag) return;
		}
	}

	if(help_flag) {
		if(module_flag || cc->input_filename || cc->from_stdin) {
			de_set_std_option_int(c, DE_STDOPT_WANT_MODHELP, 1);
		}
		else {
			cc->special_command_flag = 1;
			cc->special_command_code = CMD_PRINTHELP;
		}
		return;
	}

	if(!cc->input_filename && !cc->special_command_flag && !cc->from_stdin) {
		de_puts(c, DE_MSGTYPE_MESSAGE, "Error: Need an input filename\n");
		cc->error_flag = 1;
		cc->show_usage_message = 1;
		return;
	}

	if(cc->to_stdout) {
		if(cc->to_zip || cc->to_tar) {
			de_set_output_archive_filename(c, NULL, NULL, 0x10);
		}
		else {
			de_set_output_style(c, DE_OUTPUTSTYLE_STDOUT, 0);
			if(!cc->set_MAXFILES) {
				de_set_max_output_files(c, 1);
			}
		}
	}

	set_output_basename(cc);
	set_output_archive_name(cc);
	handle_special_1st_filename(cc);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
movl $0x0, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movl $0x1, -0x24(%rbp)
movl -0x24(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x1a1e0
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x1a1aa
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x1(%rax), %eax
cmpl $0x2d, %eax
jne 0x19823
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x2, %rdi
callq 0x1a540
movq %rax, -0x38(%rbp)
jmp 0x1983c
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x1, %rdi
callq 0x1a540
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x198af
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rcx
xorl %esi, %esi
leaq 0x182ca7(%rip), %rdx    # 0x19c503
movb $0x0, %al
callq 0x15afe0
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x19e8b5(%rip), %rsi    # 0x1b812b
callq 0x191a0
cmpl $0x0, %eax
jne 0x19894
movq -0x8(%rbp), %rdi
xorl %esi, %esi
leaq 0x182c8f(%rip), %rdx    # 0x19c51c
movb $0x0, %al
callq 0x15afe0
movq -0x10(%rbp), %rax
movl $0x1, 0x18(%rax)
movq -0x10(%rbp), %rax
movl $0x1, 0x1c(%rax)
jmp 0x1a2f6
movl -0x24(%rbp), %eax
movl -0x14(%rbp), %ecx
movq -0x38(%rbp), %rdx
subl 0xc(%rdx), %ecx
cmpl %ecx, %eax
jl 0x198fb
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rcx
xorl %esi, %esi
leaq 0x182c7d(%rip), %rdx    # 0x19c556
movb $0x0, %al
callq 0x15afe0
movq -0x10(%rbp), %rax
movl $0x1, 0x18(%rax)
movq -0x10(%rbp), %rax
movl $0x1, 0x1c(%rax)
jmp 0x1a2f6
movq -0x38(%rbp), %rax
movl 0x8(%rax), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x40(%rbp)
subl $0x40, %eax
ja 0x1a160
movq -0x40(%rbp), %rax
leaq 0x1826f6(%rip), %rcx    # 0x19c014
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x8(%rbp), %rdi
movl $0x1, %edx
movl %edx, %esi
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0x1, %esi
movl $0x2, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0x1, %esi
movl $0x3, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0x1, %esi
movl $0x4, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x10(%rbp), %rax
movb $0x1, 0x80(%rax)
movq -0x8(%rbp), %rdi
movl $0x9, %esi
movl $0x1, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0x8, %esi
xorl %edx, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0x7, %esi
xorl %edx, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0xa, %esi
xorl %edx, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0xb, %esi
xorl %edx, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0xc, %esi
movl $0x1, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0xd, %esi
xorl %edx, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0xf, %esi
movl $0x1, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0xe, %esi
movl $0x1, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
xorl %esi, %esi
movl $0x1, %edx
callq 0x18f660
movq -0x8(%rbp), %rdi
movl $0x1, %edx
movl %edx, %esi
callq 0x18f660
jmp 0x1a19b
movq -0x8(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x18f660
movq -0x8(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x18f660
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0x8, %esi
xorl %edx, %edx
callq 0x18f0c0
movq -0x8(%rbp), %rdi
movl $0x7, %esi
xorl %edx, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x10(%rbp), %rax
movl $0x1, 0x20(%rax)
movq -0x10(%rbp), %rax
movl $0x2, 0x24(%rax)
jmp 0x1a19b
movq -0x10(%rbp), %rax
movl $0x1, 0x20(%rax)
movq -0x10(%rbp), %rax
movl $0x4, 0x24(%rax)
jmp 0x1a19b
movl $0x1, -0x28(%rbp)
jmp 0x1a19b
movq -0x10(%rbp), %rax
movl $0x1, 0x20(%rax)
movq -0x10(%rbp), %rax
movl $0x3, 0x24(%rax)
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0x6, %esi
movl $0x1, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x10(%rbp), %rax
movl $0x1, 0x7c(%rax)
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0x2, %esi
movl $0x1, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0x2, %edx
movl %edx, %esi
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0x3, %esi
movl $0x2, %edx
callq 0x18f0c0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0x1, %edx
movl %edx, %esi
callq 0x18f4a0
movq -0x10(%rbp), %rax
movl $0x1, 0x68(%rax)
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0x1, %esi
movl $0x2, %edx
callq 0x18f4a0
movq -0x10(%rbp), %rax
movl $0x1, 0x6c(%rax)
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x1a5d0
movq -0x10(%rbp), %rax
movl $0x1, 0x64(%rax)
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x1a5d0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x18f240
movq -0x10(%rbp), %rax
movl $0x1, 0x70(%rax)
jmp 0x1a19b
movq -0x10(%rbp), %rdi
leaq 0x182932(%rip), %rsi    # 0x19c573
callq 0x1a600
jmp 0x1a19b
movq -0x10(%rbp), %rax
movl $0x1, 0x58(%rax)
jmp 0x1a19b
movq -0x10(%rbp), %rax
movl $0x2, 0x58(%rax)
jmp 0x1a19b
movq -0x10(%rbp), %rax
movl $0x3, 0x58(%rax)
jmp 0x1a19b
movq -0x10(%rbp), %rax
movl $0x1, 0x5c(%rax)
jmp 0x1a19b
movq -0x10(%rbp), %rax
movl $0x2, 0x5c(%rax)
jmp 0x1a19b
movq -0x10(%rbp), %rax
movl $0x3, 0x5c(%rax)
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdx
callq 0x1a710
movq -0x10(%rbp), %rax
cmpl $0x0, 0x18(%rax)
je 0x19cd8
jmp 0x1a2f6
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdx
callq 0x1a7e0
jmp 0x1a19b
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
callq 0x1a870
movq -0x10(%rbp), %rax
cmpl $0x0, 0x18(%rax)
je 0x19d29
jmp 0x1a2f6
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x18282e(%rip), %rsi    # 0x19c578
callq 0x18f6e0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
xorl %edx, %edx
callq 0x18f3c0
cmpl $0x0, %eax
jne 0x19daa
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rcx
xorl %esi, %esi
leaq 0x1827eb(%rip), %rdx    # 0x19c57e
movb $0x0, %al
callq 0x15afe0
movq -0x10(%rbp), %rax
movl $0x1, 0x18(%rax)
jmp 0x1a2f6
jmp 0x1a19b
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x190b0
movq -0x48(%rbp), %rdi
movaps %xmm0, %xmm1
movsd 0x18233c(%rip), %xmm0   # 0x19c118
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %rsi
callq 0x18f410
jmp 0x1a19b
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x1bdd84(%rip), %rsi    # 0x1d7b8b
callq 0x191a0
cmpl $0x0, %eax
jne 0x19e21
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x18f450
jmp 0x19e4b
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x15ccc0
movq -0x50(%rbp), %rdi
movq %rax, %rsi
callq 0x18f430
jmp 0x1a19b
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x15ccc0
movq -0x58(%rbp), %rdi
movq %rax, %rsi
callq 0x18f470
jmp 0x1a19b
movl $0x1, -0x2c(%rbp)
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
callq 0x18f790
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
callq 0x18f7b0
jmp 0x1a19b
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x40(%rax)
jmp 0x1a19b
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x38(%rax)
jmp 0x1a19b
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x48(%rax)
jmp 0x1a19b
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x50(%rax)
jmp 0x1a19b
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x15cca0
movq -0x60(%rbp), %rdi
movl %eax, %esi
callq 0x18f510
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x18f530
jmp 0x1a19b
movq -0x8(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x15cca0
movq -0x68(%rbp), %rdi
movl %eax, %esi
callq 0x18f510
jmp 0x1a19b
movq -0x8(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x15ccc0
movq -0x70(%rbp), %rdi
movq %rax, %rsi
callq 0x18f530
movq -0x10(%rbp), %rax
movb $0x1, 0x60(%rax)
jmp 0x1a19b
movq -0x8(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x15ccc0
movq -0x78(%rbp), %rdi
movq %rax, %rsi
callq 0x18f590
jmp 0x1a19b
movq -0x8(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x15ccc0
movq -0x80(%rbp), %rdi
movq %rax, %rsi
callq 0x18f5e0
jmp 0x1a19b
movq -0x8(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x15ccc0
movq -0x88(%rbp), %rdi
movq %rax, %rsi
callq 0x18f610
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
callq 0x18f4f0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
callq 0x18f050
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
movl $0x1, %edx
callq 0x18f7d0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
xorl %edx, %edx
callq 0x18f7d0
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
movl $0x1, %edx
callq 0x18f810
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
xorl %edx, %edx
callq 0x18f810
jmp 0x1a19b
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
callq 0x1a600
movq -0x10(%rbp), %rax
cmpl $0x0, 0x18(%rax)
je 0x1a15e
jmp 0x1a2f6
jmp 0x1a19b
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rcx
xorl %esi, %esi
leaq 0x18238a(%rip), %rdx    # 0x19c503
movb $0x0, %al
callq 0x15afe0
movq -0x10(%rbp), %rax
movl $0x1, 0x18(%rax)
movq -0x10(%rbp), %rax
movl $0x1, 0x1c(%rax)
jmp 0x1a2f6
movq -0x38(%rbp), %rax
movl 0xc(%rax), %eax
addl -0x24(%rbp), %eax
movl %eax, -0x24(%rbp)
jmp 0x1a1d0
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x1a870
movq -0x10(%rbp), %rax
cmpl $0x0, 0x18(%rax)
je 0x1a1ce
jmp 0x1a2f6
jmp 0x1a1d0
jmp 0x1a1d2
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x197cf
cmpl $0x0, -0x28(%rbp)
je 0x1a231
cmpl $0x0, -0x2c(%rbp)
jne 0x1a201
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x1a201
movq -0x10(%rbp), %rax
cmpl $0x0, 0x70(%rax)
je 0x1a216
movq -0x8(%rbp), %rdi
movl $0x5, %esi
movl $0x1, %edx
callq 0x18f0c0
jmp 0x1a22c
movq -0x10(%rbp), %rax
movl $0x1, 0x20(%rax)
movq -0x10(%rbp), %rax
movl $0x1, 0x24(%rax)
jmp 0x1a2f6
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x1a27a
movq -0x10(%rbp), %rax
cmpl $0x0, 0x20(%rax)
jne 0x1a27a
movq -0x10(%rbp), %rax
cmpl $0x0, 0x70(%rax)
jne 0x1a27a
movq -0x8(%rbp), %rdi
xorl %esi, %esi
leaq 0x182344(%rip), %rdx    # 0x19c5a1
callq 0x15ac20
movq -0x10(%rbp), %rax
movl $0x1, 0x18(%rax)
movq -0x10(%rbp), %rax
movl $0x1, 0x1c(%rax)
jmp 0x1a2f6
movq -0x10(%rbp), %rax
cmpl $0x0, 0x64(%rax)
je 0x1a2db
movq -0x10(%rbp), %rax
cmpl $0x0, 0x68(%rax)
jne 0x1a298
movq -0x10(%rbp), %rax
cmpl $0x0, 0x6c(%rax)
je 0x1a2af
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x10, %ecx
movq %rdx, %rsi
callq 0x18ef70
jmp 0x1a2d9
movq -0x8(%rbp), %rdi
movl $0x2, %esi
xorl %edx, %edx
callq 0x18f4a0
movq -0x10(%rbp), %rax
cmpb $0x0, 0x60(%rax)
jne 0x1a2d7
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x18f530
jmp 0x1a2d9
jmp 0x1a2db
movq -0x10(%rbp), %rdi
callq 0x1a8f0
movq -0x10(%rbp), %rdi
callq 0x1a9e0
movq -0x10(%rbp), %rdi
callq 0x1aae0
addq $0x90, %rsp
popq %rbp
retq
nop