// File: /workspace/github_cpp_makefile_star2_O1/ridgelab[P]Kmer-SSR/src/Arguments.cpp
// Function: Arguments::processArgs(int, char**)
void Arguments::processArgs(int argc, char* argv[])
{
	// parse arguments
	string alphabet_str = "A,C,G,T";         // -a:
	string min_seq_len_str = "100";            // -l:
	string max_seq_len_str = "500000000";    // -L: // 500,000,000 (500 million)
	string min_nucleotides_str = "16";        // -n:
	string max_nucleotides_str = "10000";    // -N:
	string period_s = "4-8";                 // -p:
	string max_task_queue_size_str = "1000"; // -Q:
	string min_repeats_str = "2";            // -r:
	string max_repeats_str = "1000";         // -R:
	string enumerated_ssrs_str = "";         // -s:
	string threads_str = "1";                // -t:
	
	int c;

	if (argc > 1)
	{
		// search for -v
		while ( (c = getopt(argc,argv,"+:v")) != -1 )
		{
			switch (c)
			{
				case 'v':
					this->version_displayed = true;
					cerr << "Version: " << this->version << endl;
					return;
				case ':': break;
				case '?': break;
				default: break;
			}
		}
		
		optind = 1; // reset optind to search for -h

		// search for -h
		while ( (c = getopt(argc,argv,"+:h")) != -1 )
		{
			switch (c)
			{
				case 'h':
					this->help_displayed = true;
					cerr << this->usage_message << endl << endl << this->help_message << endl << endl;
					return;
				case ':': break;
				case '?': break;
				default: break;
			}
		}

		optind = 1; // reset optind to search for everything else
	
		// search for everything else
		while ( (c = getopt(argc,argv,"a:AbBdegGhi:l:L:n:N:o:p:Q:r:R:s:t:v")) != -1 )
		{
			switch (c)
			{
				case 'a': alphabet_str = optarg; break;
				case 'A': this->allow_non_atomic = true; break;
				case 'b': this->bzipped2_input = true; break;
				case 'B': this->bzipped2_output = true; break;
				case 'd': this->display_progress_bar = false; break;
				case 'e': this->exhaustive = true; break;
				case 'g': this->gzipped_input = true; break;
				case 'G': this->gzipped_output = true; break;
				case 'h': break;
				case 'i': this->input_file_name = optarg; break;
				case 'l': min_seq_len_str = optarg; break;
				case 'L': max_seq_len_str = optarg; break;
				case 'n': min_nucleotides_str = optarg; break;
				case 'N': max_nucleotides_str = optarg; break;
				case 'o': this->output_file_name = optarg; break;
				case 'p': period_s = optarg; break;
				case 'Q': max_task_queue_size_str = optarg; break;
				case 'r': min_repeats_str = optarg; break;
				case 'R': max_repeats_str = optarg; break;
				case 's': enumerated_ssrs_str = optarg; break;
				case 't': threads_str = optarg; break;
				case 'v': break;
				case '?':
					if (optopt == 'c')
					{
						fprintf(stderr,"Option -%c requires an argument. Run with -h for help.\n",optopt);
						this->help_displayed = true;
					}
					else if (isprint(optopt))
					{
						fprintf(stderr,"Unknown option `-%c'. Run with -h for help.\n",optopt);
						this->help_displayed = true;
					}
					else
					{
						fprintf(stderr,"Unknown option character `\\x%x'. Run with -h for help.\n",optopt);
						this->help_displayed = true;
					}
					return;
				default:
					cout << "abort, c: " << (char) c << endl;
					abort();
			}
		}
	}
	else if (argc == 1)
	{
		cerr << "Note: you are receiving input from STDIN and sending output to STDOUT\n" << endl;
	}

	// check for positional parameters (which is an error)
	if (optind < argc)
	{
		string error = "ERROR: You may not supply any positional parameters. Offenders:";

		for (uint32_t i = optind; i < (uint32_t) argc; i++)
		{
			error += " " + string(argv[i]);
		}

		throw error;
	}

	// assign member variables now that we've parsed the arguments
	this->threads = parsePositiveIntegerArgument(threads_str);
	this->addToAlphabet(alphabet_str);
	this->min_sequence_length = parsePositiveIntegerArgument(min_seq_len_str);
	this->max_sequence_length = parsePositiveIntegerArgument(max_seq_len_str);
	this->min_nucleotides = parsePositiveIntegerArgument(min_nucleotides_str);
	this->max_nucleotides = parsePositiveIntegerArgument(max_nucleotides_str);
	this->min_repeats = parsePositiveIntegerArgument(min_repeats_str);
	this->max_repeats = parsePositiveIntegerArgument(max_repeats_str);
	this->max_task_queue_size = parsePositiveIntegerArgument(max_task_queue_size_str);
	this->addToEnumeratedSSRs(enumerated_ssrs_str);
	this->addToPeriods(period_s);

	// adjust arguments for speed reasons
	this->adjustMinSequenceLength();

	// sanity check
	this->sanityCheckArguments();

	this->autoDetectCompressedInput();
	this->autoDetectCompressedOutput();
	this->display_progress_bar = this->input_file_name != "/dev/stdin" ? this->display_progress_bar : false; // if stdin..we can't determine size of data
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x348, %rsp            # imm = 0x348
movq %rdx, 0x10(%rsp)
movl %esi, %ebx
movq %rdi, %r12
leaq 0x188(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4d09(%rip), %rsi      # 0xf26d
leaq 0x4d09(%rip), %rdx      # 0xf274
leaq 0x178(%rsp), %rdi
callq 0x552e
leaq 0x168(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4cea(%rip), %rsi      # 0xf275
leaq 0x4ce6(%rip), %rdx      # 0xf278
leaq 0x158(%rsp), %rdi
callq 0x552e
leaq 0x148(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4cc7(%rip), %rsi      # 0xf279
leaq 0x4cc9(%rip), %rdx      # 0xf282
leaq 0x138(%rsp), %rdi
callq 0x552e
leaq 0x128(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4caa(%rip), %rsi      # 0xf283
leaq 0x4ca5(%rip), %rdx      # 0xf285
leaq 0x118(%rsp), %rdi
callq 0x552e
leaq 0x108(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4c86(%rip), %rsi      # 0xf286
leaq 0x4c84(%rip), %rdx      # 0xf28b
leaq 0xf8(%rsp), %rdi
callq 0x552e
leaq 0xe8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4c65(%rip), %rsi      # 0xf28c
leaq 0x4c61(%rip), %rdx      # 0xf28f
leaq 0xd8(%rsp), %rdi
callq 0x552e
leaq 0xc8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4c42(%rip), %rsi      # 0xf290
leaq 0x4c3f(%rip), %rdx      # 0xf294
leaq 0xb8(%rsp), %rdi
callq 0x552e
leaq 0xa8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4d8e(%rip), %rsi      # 0xf403
leaq 0x4d88(%rip), %rdx      # 0xf404
leaq 0x98(%rsp), %rdi
callq 0x552e
leaq 0x88(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4bf4(%rip), %rsi      # 0xf290
leaq 0x4bf1(%rip), %rdx      # 0xf294
leaq 0x78(%rsp), %rdi
callq 0x552e
leaq 0x68(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x39f9(%rip), %rdx      # 0xe0b6
leaq 0x58(%rsp), %rdi
movq %rdx, %rsi
callq 0x552e
leaq 0x48(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4bbb(%rip), %rsi      # 0xf295
leaq 0x4bb5(%rip), %rdx      # 0xf296
leaq 0x38(%rsp), %rdi
callq 0x552e
cmpl $0x2, %ebx
movq %r12, (%rsp)
movl %ebx, 0x8(%rsp)
jl 0xa777
leaq 0x4b98(%rip), %r15      # 0xf297
movl %ebx, %edi
movq 0x10(%rsp), %rsi
movq %r15, %rdx
callq 0x30a0
cmpl $-0x1, %eax
je 0xa7cb
cmpl $0x76, %eax
jne 0xa6ff
movb $0x1, 0xcc(%r12)
movq 0xa8c4(%rip), %rdi      # 0x14ff0
leaq 0x4b68(%rip), %rsi      # 0xf29b
movl $0x9, %edx
callq 0x3360
movq (%rsp), %rax
movq 0xd0(%rax), %rsi
movq 0xd8(%rax), %rdx
movq 0xa89a(%rip), %rdi      # 0x14ff0
callq 0x3360
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32d0
jmp 0xa8c3
cmpl $0x1, %ebx
jne 0xaaaf
movq 0xa869(%rip), %r15      # 0x14ff0
leaq 0x4be7(%rip), %rsi      # 0xf375
movl $0x46, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x32d0
movsbl %al, %esi
movq 0xa837(%rip), %rdi      # 0x14ff0
callq 0x3030
movq %rax, %rdi
callq 0x31f0
jmp 0xaaaf
movq 0xa7fe(%rip), %rbx      # 0x14fd0
movl $0x1, (%rbx)
leaq 0x4ac6(%rip), %r15      # 0xf2a5
movl 0x8(%rsp), %edi
movq 0x10(%rsp), %rsi
movq %r15, %rdx
callq 0x30a0
cmpl $-0x1, %eax
je 0xa8db
cmpl $0x68, %eax
jne 0xa7df
movb $0x1, 0x50(%r12)
movq 0x10(%r12), %rsi
movq 0x18(%r12), %rdx
movq 0xa7db(%rip), %rdi      # 0x14ff0
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32d0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31f0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32d0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31f0
movq (%rsp), %rcx
movq 0x30(%rcx), %rsi
movq 0x38(%rcx), %rdx
movq %rax, %rdi
callq 0x3360
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31f0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31f0
jmp 0xaf17
movl $0x1, (%rbx)
leaq 0x88(%r12), %rax
movq %rax, 0x1c0(%rsp)
leaq 0x90(%r12), %rax
movq %rax, 0x1b8(%rsp)
leaq 0x58(%r12), %r14
leaq 0x60(%r12), %rbp
leaq 0x3a0e(%rip), %r13      # 0xe320
movl 0x8(%rsp), %ebx
movl %ebx, %edi
movq 0x10(%rsp), %rsi
leaq 0x4985(%rip), %rdx      # 0xf2a9
callq 0x30a0
movl %eax, %r15d
leal -0x3f(%r15), %eax
cmpl $0x37, %eax
ja 0xaaa5
movslq (%r13,%rax,4), %rcx
addq %r13, %rcx
movq %rbp, %rax
movq %r14, %r12
jmpq *%rcx
movq (%rsp), %rax
movb $0x1, 0x8(%rax)
jmp 0xa916
leaq 0x60(%rsp), %rax
leaq 0x58(%rsp), %r12
jmp 0xaa74
leaq 0x120(%rsp), %rax
leaq 0x118(%rsp), %r12
jmp 0xaa74
movq (%rsp), %rax
movb $0x1, 0xd(%rax)
jmp 0xa916
movq (%rsp), %rax
movb $0x0, 0xb(%rax)
jmp 0xa916
leaq 0xc0(%rsp), %rax
leaq 0xb8(%rsp), %r12
jmp 0xaa74
movq (%rsp), %rax
movb $0x1, 0x9(%rax)
jmp 0xa916
leaq 0xa0(%rsp), %rax
leaq 0x98(%rsp), %r12
jmp 0xaa74
leaq 0x100(%rsp), %rax
leaq 0xf8(%rsp), %r12
jmp 0xaa74
leaq 0xe0(%rsp), %rax
leaq 0xd8(%rsp), %r12
jmp 0xaa74
movq (%rsp), %rax
movb $0x1, 0xc(%rax)
jmp 0xa916
leaq 0x160(%rsp), %rax
leaq 0x158(%rsp), %r12
jmp 0xaa74
movq (%rsp), %rax
movb $0x1, 0xa(%rax)
jmp 0xa916
movq (%rsp), %rax
movb $0x1, 0xe(%rax)
jmp 0xa916
leaq 0x140(%rsp), %rax
leaq 0x138(%rsp), %r12
jmp 0xaa74
movq 0x1b8(%rsp), %rax
movq 0x1c0(%rsp), %r12
jmp 0xaa74
leaq 0x80(%rsp), %rax
leaq 0x78(%rsp), %r12
jmp 0xaa74
leaq 0x40(%rsp), %rax
leaq 0x38(%rsp), %r12
jmp 0xaa74
leaq 0x180(%rsp), %rax
leaq 0x178(%rsp), %r12
movq 0xa51d(%rip), %rcx      # 0x14f98
movq (%rcx), %r15
movq (%rax), %rbx
movq %r15, %rdi
callq 0x3140
movq %r12, %rdi
xorl %esi, %esi
movq %rbx, %rdx
movl 0x8(%rsp), %ebx
movq %r15, %rcx
movq %rax, %r8
callq 0x3470
jmp 0xa916
cmpl $-0x1, %r15d
jne 0xb102
movl %ebx, %eax
movq 0xa518(%rip), %rbx      # 0x14fd0
cmpl %eax, (%rbx)
jl 0xb140
leaq 0x318(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
addq %rsi, %rdx
leaq 0x308(%rsp), %rdi
callq 0x3ada
leaq 0x308(%rsp), %rsi
callq 0xba12
movq (%rsp), %rcx
movl %eax, 0xc8(%rcx)
movq 0x308(%rsp), %rdi
cmpq %r14, %rdi
je 0xab1a
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x3300
leaq 0x2f8(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x178(%rsp), %rsi
movq 0x180(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2e8(%rsp), %rdi
callq 0x3ada
leaq 0x2e8(%rsp), %rsi
movq (%rsp), %rdi
callq 0xba66
movq 0x2e8(%rsp), %rdi
cmpq %r14, %rdi
je 0xab74
movq 0x2f8(%rsp), %rsi
incq %rsi
callq 0x3300
leaq 0x2d8(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x158(%rsp), %rsi
movq 0x160(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2c8(%rsp), %rdi
callq 0x3ada
leaq 0x2c8(%rsp), %rsi
callq 0xba12
movq (%rsp), %rcx
movl %eax, 0x78(%rcx)
movq 0x2c8(%rsp), %rdi
cmpq %r14, %rdi
je 0xabd1
movq 0x2d8(%rsp), %rsi
incq %rsi
callq 0x3300
leaq 0x2b8(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x138(%rsp), %rsi
movq 0x140(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2a8(%rsp), %rdi
callq 0x3ada
leaq 0x2a8(%rsp), %rsi
callq 0xba12
movq (%rsp), %rcx
movl %eax, 0x7c(%rcx)
movq 0x2a8(%rsp), %rdi
cmpq %r14, %rdi
je 0xac2e
movq 0x2b8(%rsp), %rsi
incq %rsi
callq 0x3300
leaq 0x298(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x118(%rsp), %rsi
movq 0x120(%rsp), %rdx
addq %rsi, %rdx
leaq 0x288(%rsp), %rdi
callq 0x3ada
leaq 0x288(%rsp), %rsi
callq 0xba12
movq (%rsp), %rcx
movl %eax, 0x80(%rcx)
movq 0x288(%rsp), %rdi
cmpq %r14, %rdi
je 0xac8e
movq 0x298(%rsp), %rsi
incq %rsi
callq 0x3300
leaq 0x278(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xf8(%rsp), %rsi
movq 0x100(%rsp), %rdx
addq %rsi, %rdx
leaq 0x268(%rsp), %rdi
callq 0x3ada
leaq 0x268(%rsp), %rsi
callq 0xba12
movq (%rsp), %rcx
movl %eax, 0x84(%rcx)
movq 0x268(%rsp), %rdi
cmpq %r14, %rdi
je 0xacee
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x3300
leaq 0x258(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x98(%rsp), %rsi
movq 0xa0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x248(%rsp), %rdi
callq 0x3ada
leaq 0x248(%rsp), %rsi
callq 0xba12
movq (%rsp), %rcx
movl %eax, 0xb4(%rcx)
movq 0x248(%rsp), %rdi
cmpq %r14, %rdi
je 0xad4e
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x3300
leaq 0x238(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x78(%rsp), %rsi
movq 0x80(%rsp), %rdx
addq %rsi, %rdx
leaq 0x228(%rsp), %rdi
callq 0x3ada
leaq 0x228(%rsp), %rsi
callq 0xba12
movq (%rsp), %rcx
movl %eax, 0xb8(%rcx)
movq 0x228(%rsp), %rdi
cmpq %r14, %rdi
je 0xadab
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x3300
leaq 0x218(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xb8(%rsp), %rsi
movq 0xc0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x208(%rsp), %rdi
callq 0x3ada
leaq 0x208(%rsp), %rsi
callq 0xba12
movq (%rsp), %rcx
movl %eax, 0xb0(%rcx)
movq 0x208(%rsp), %rdi
cmpq %r14, %rdi
je 0xae0b
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x3300
leaq 0x1f8(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x58(%rsp), %rsi
movq 0x60(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1e8(%rsp), %rdi
callq 0x3ada
leaq 0x1e8(%rsp), %rsi
movq (%rsp), %rdi
callq 0xbbba
movq 0x1e8(%rsp), %rdi
cmpq %r14, %rdi
je 0xae5f
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x3300
leaq 0x1d8(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xd8(%rsp), %rsi
movq 0xe0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1c8(%rsp), %rdi
callq 0x3ada
leaq 0x1c8(%rsp), %rsi
movq (%rsp), %r15
movq %r15, %rdi
callq 0xbddc
movq 0x1c8(%rsp), %rdi
cmpq %r14, %rdi
je 0xaebc
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x3300
movl 0x78(%r15), %ebx
movq 0xa8(%r15), %rdi
addq $0x8, %rdi
callq 0x31c0
movl 0x20(%rax), %eax
addl %eax, %eax
cmpl %eax, %ebx
jae 0xaedd
movl %eax, 0x78(%r15)
movq %r15, %rdi
callq 0xc162
movq (%rsp), %rdi
callq 0xc1d4
movq (%rsp), %rdi
callq 0xc2f2
movq (%rsp), %rbx
leaq 0x58(%rbx), %rdi
leaq 0x3326(%rip), %rsi      # 0xe22c
callq 0x30f0
testl %eax, %eax
movzbl 0xb(%rbx), %ecx
cmovel %eax, %ecx
movb %cl, 0xb(%rbx)
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0xaf33
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
leaq 0x188(%rsp), %rbx
leaq 0x168(%rsp), %r14
leaq 0x148(%rsp), %r15
leaq 0x128(%rsp), %r12
je 0xaf6f
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0xaf91
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0xafb6
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0xafdb
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0xd8(%rsp), %rdi
leaq 0xe8(%rsp), %rax
cmpq %rax, %rdi
je 0xb000
movq 0xe8(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0xb025
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0x118(%rsp), %rdi
cmpq %r12, %rdi
je 0xb042
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0x138(%rsp), %rdi
cmpq %r15, %rdi
je 0xb05f
movq 0x148(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0x158(%rsp), %rdi
cmpq %r14, %rdi
je 0xb07c
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0x178(%rsp), %rdi
cmpq %rbx, %rdi
je 0xb099
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x3300
addq $0x348, %rsp            # imm = 0x348
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x9f06(%rip), %rax      # 0x14fb8
movl (%rax), %ebp
cmpl $0x63, %ebp
jne 0xb0c7
movq (%rsp), %rdi
callq 0x367b
jmp 0xaf17
movl %ebp, %edi
callq 0x3550
movq 0x9ef3(%rip), %rcx      # 0x14fc8
movq (%rcx), %rdi
testl %eax, %eax
movq (%rsp), %rbx
jne 0xb0e9
leaq 0x424b(%rip), %rsi      # 0xf332
jmp 0xb0f0
leaq 0x4215(%rip), %rsi      # 0xf305
movl %ebp, %edx
xorl %eax, %eax
callq 0x3410
movb $0x1, 0x50(%rbx)
jmp 0xaf17
movq 0x9eb7(%rip), %rdi      # 0x14fc0
leaq 0x425a(%rip), %rsi      # 0xf36a
movl $0xa, %edx
callq 0x3360
leaq 0x18(%rsp), %rsi
movb %r15b, (%rsi)
movq 0x9e97(%rip), %rdi      # 0x14fc0
movl $0x1, %edx
callq 0x3360
movq %rax, %rdi
callq 0x3150
callq 0x31a0
leaq 0x28(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x426c(%rip), %rsi      # 0xf3bc
leaq 0x42a4(%rip), %rdx      # 0xf3fb
leaq 0x18(%rsp), %rdi
callq 0x552e
movl (%rbx), %r14d
cmpl 0x8(%rsp), %r14d
jae 0xb26f
leaq 0x1a8(%rsp), %rbp
movl 0x8(%rsp), %r15d
leaq 0x328(%rsp), %rbx
leaq 0x2f11(%rip), %r12      # 0xe09c
leaq 0x18(%rsp), %r13
movq 0x10(%rsp), %rax
movq (%rax,%r14,8), %rsi
movq %rbx, %rdi
leaq 0xf(%rsp), %rdx
callq 0xc7a4
movl $0x1, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
movq %r12, %rcx
callq 0x3340
movq %rbp, 0x198(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xb1e7
movq %rdx, 0x198(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1a8(%rsp)
jmp 0xb1ee
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x1a0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x198(%rsp), %rsi
movq 0x1a0(%rsp), %rdx
movq %r13, %rdi
callq 0x3100
movq 0x198(%rsp), %rdi
cmpq %rbp, %rdi
je 0xb23e
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0x328(%rsp), %rdi
leaq 0x338(%rsp), %rax
cmpq %rax, %rdi
je 0xb263
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x3300
incq %r14
cmpq %r14, %r15
jne 0xb190
movl $0x20, %edi
callq 0x3160
leaq 0x10(%rax), %rcx
movq %rcx, (%rax)
movq 0x18(%rsp), %rdx
leaq 0x28(%rsp), %rsi
cmpq %rsi, %rdx
jne 0xb29c
leaq 0x28(%rsp), %rdx
movups (%rdx), %xmm0
movups %xmm0, (%rcx)
jmp 0xb2a8
movq %rdx, (%rax)
movq 0x28(%rsp), %rcx
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x28(%rsp), %rcx
movq %rcx, 0x18(%rsp)
movq $0x0, 0x20(%rsp)
movb $0x0, 0x28(%rsp)
leaq 0x9a90(%rip), %rsi      # 0x14d60
movq 0x9cb9(%rip), %rdx      # 0x14f90
movq %rax, %rdi
callq 0x3510
movq %rax, %rbx
movq 0x198(%rsp), %rdi
cmpq %rbp, %rdi
je 0xb304
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x3300
jmp 0xb304
movq %rax, %rbx
movq 0x328(%rsp), %rdi
leaq 0x338(%rsp), %rax
cmpq %rax, %rdi
je 0xb330
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x3300
jmp 0xb330
jmp 0xb32d
movq %rax, %rbx
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0xb4fd
movq 0x28(%rsp), %rsi
jmp 0xb4a4
jmp 0xb4fa
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
cmpq %r14, %rdi
je 0xb4fd
movq 0x1d8(%rsp), %rsi
jmp 0xb4a4
movq %rax, %rbx
movq 0x1e8(%rsp), %rdi
cmpq %r14, %rdi
je 0xb4fd
movq 0x1f8(%rsp), %rsi
jmp 0xb4a4
movq %rax, %rbx
movq 0x208(%rsp), %rdi
cmpq %r14, %rdi
je 0xb4fd
movq 0x218(%rsp), %rsi
jmp 0xb4a4
movq %rax, %rbx
movq 0x228(%rsp), %rdi
cmpq %r14, %rdi
je 0xb4fd
movq 0x238(%rsp), %rsi
jmp 0xb4a4
movq %rax, %rbx
movq 0x248(%rsp), %rdi
cmpq %r14, %rdi
je 0xb4fd
movq 0x258(%rsp), %rsi
jmp 0xb4a4
movq %rax, %rbx
movq 0x268(%rsp), %rdi
cmpq %r14, %rdi
je 0xb4fd
movq 0x278(%rsp), %rsi
jmp 0xb4a4
movq %rax, %rbx
movq 0x288(%rsp), %rdi
cmpq %r14, %rdi
je 0xb4fd
movq 0x298(%rsp), %rsi
jmp 0xb4a4
movq %rax, %rbx
movq 0x2a8(%rsp), %rdi
cmpq %r14, %rdi
je 0xb4fd
movq 0x2b8(%rsp), %rsi
jmp 0xb4a4
movq %rax, %rbx
movq 0x2c8(%rsp), %rdi
cmpq %r14, %rdi
je 0xb4fd
movq 0x2d8(%rsp), %rsi
jmp 0xb4a4
movq %rax, %rbx
movq 0x2e8(%rsp), %rdi
cmpq %r14, %rdi
je 0xb4fd
movq 0x2f8(%rsp), %rsi
jmp 0xb4a4
movq %rax, %rbx
movq 0x308(%rsp), %rdi
cmpq %r14, %rdi
je 0xb4fd
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x3300
jmp 0xb4fd
movq %rax, %rbx
jmp 0xb519
movq %rax, %rbx
jmp 0xb535
movq %rax, %rbx
jmp 0xb557
movq %rax, %rbx
jmp 0xb57c
movq %rax, %rbx
jmp 0xb5a1
movq %rax, %rbx
jmp 0xb5c6
movq %rax, %rbx
jmp 0xb5eb
movq %rax, %rbx
jmp 0xb610
movq %rax, %rbx
jmp 0xb635
movq %rax, %rbx
jmp 0xb65a
jmp 0xb4fa
movq %rax, %rbx
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0xb519
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0xb535
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0xb557
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0xb57c
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0xb5a1
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0xd8(%rsp), %rdi
leaq 0xe8(%rsp), %rax
cmpq %rax, %rdi
je 0xb5c6
movq 0xe8(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0xb5eb
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0x118(%rsp), %rdi
leaq 0x128(%rsp), %rax
cmpq %rax, %rdi
je 0xb610
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
je 0xb635
movq 0x148(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0x158(%rsp), %rdi
leaq 0x168(%rsp), %rax
cmpq %rax, %rdi
je 0xb65a
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x3300
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
je 0xb67f
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x3300
movq %rbx, %rdi
callq 0x3540
nop