// File: reedoolang[P]reedoo/eval.cc
// Function: rdo_eval(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
string rdo_eval(string expr) {

	string result;
	string num_holder = "";
	string temp_result = "";
	string num1 = "";
	string num2 = "";
	int n2 = 0;
	int i;
	int iter;
	int bcount = 0;
	int depth = 0;
	int current_depth = 0;
	int diff = 0;
	int diff2 = 0;
	int current_b = 0;
	int minus_count = 0;
	int minus_start = 0;
	int plus_count = 0;
	int plus_start = 0;
	bool found_end = 0;
	bool got_diff = 0;
	bool to_inverse = 0;
	bool do_calc = 0;

	for (i = 0; i < expr.length();i++) {

		if (!rdo_ws(expr[i])) {
			if (rdo_expr_item_type(expr[i]) == 'n' or rdo_expr_item_type(expr[i]) == 'o' or rdo_expr_item_type(expr[i]) == 'b') {

				if (rdo_expr_item_type(expr[i]) == 'n') {

					num_holder += expr[i];

				} else if (rdo_expr_item_type(expr[i]) == 'o') {

					if (num_holder != "") {

						rdo_num_stack.push_back(num_holder);
						num_holder = "";

					}

					rdo_num_stack.push_back(rdo_opp_to_string(expr[i]));

				} else {

					if (num_holder != "") {

						rdo_num_stack.push_back(num_holder);
						num_holder = "";

					}

					rdo_num_stack.push_back(rdo_opp_to_string(expr[i]));
					bcount++;

				}
			
			} else {
				//cout << expr[i] << endl;
				cout << "Invalid character in expression" << endl;
				exit(0);
			}

			if (i == expr.length()-1 and num_holder != "") {

				rdo_num_stack.push_back(num_holder);
				num_holder = "";

			}

		}

	}

	if (bcount % 2 != 0) {
		cout << "Extra / Missing parens." << endl;
		exit(0);
	} else {
		bcount /= 2;
	}

	for (i = 0; i < rdo_num_stack.size();i++) {
		if (rdo_num_stack[i] == "(") {
			current_b++;
			
		}
		if (current_b == bcount and !found_end) {
			if (i == 1)
				depth = 0;
			else
				depth = i;
			found_end = 1;
		}
		if (rdo_num_stack[i] == ")" and found_end and !got_diff) {
			diff = i - depth;
			got_diff = 1;
		}
	}


	for (i = depth; i < depth+diff; i++) {

		if (rdo_num_stack[i] == "+" or rdo_num_stack[i] == "-" or rdo_num_stack[i] == "*" or rdo_num_stack[i] == "/") {
			if (rdo_num_stack[i-1] == "(" and rdo_num_stack[i] == "-") {
				rdo_count_opp(0);
			} else if (rdo_num_stack[i-1] == "(" and rdo_num_stack[i] == "+") {
				rdo_count_opp(0);
			} else {
				rdo_count_opp(1);
			}
		}
	
	}


	for (i = depth; i <= depth+diff;i++) {

		if (rdo_num_stack[i] == "+" and rdo_num_stack[i+1] == "-") {

			rdo_num_stack.erase(rdo_num_stack.begin()+i);
			diff -= 1;
		}
		if (rdo_num_stack[i] == "-" and rdo_num_stack[i+1] == "+") {

			rdo_num_stack.erase(rdo_num_stack.begin()+i+1);
			diff -= 1;
		}
	}
		
	for (i = depth; i <= depth+diff;i++) {
		if (rdo_num_stack[i] == "-") {

			minus_count++;

			if (minus_start == 0) {
				minus_start = i;
			}
			
		}
		if (rdo_num_stack[i] != "-") {

			if (minus_count != 0 and minus_count % 2 == 0) {
				
				for (iter = minus_start;iter < minus_start+minus_count;iter++) {
					rdo_num_stack[iter] = "";
				}
				if (rdo_num_stack[minus_start+minus_count] != "" and rdo_num_stack[minus_start+minus_count][0] != '+') {
				rdo_num_stack[minus_start+minus_count] = "+" + rdo_num_stack[minus_start+minus_count];
				}
				minus_start = 0;
				minus_count = 0;

			} else if (minus_count != 0 and minus_count % 2 != 0) {
				
				for (iter = minus_start;iter < minus_start+minus_count;iter++) {
					rdo_num_stack[iter] = "";
				}
				rdo_num_stack[minus_start+minus_count] = "-" + rdo_num_stack[minus_start+minus_count];
				minus_start = 0;
				minus_count = 0;

			}
		}
	}

	for (i = depth; i <= depth+diff;i++) {
		if (rdo_num_stack[i] == "+") {

			plus_count++;

			if (plus_start == 0) {
				plus_start = i;
			}
			
		}
		if (rdo_num_stack[i] != "+") {
			for (iter = plus_start;iter < plus_start+plus_count;iter++) {
					rdo_num_stack[iter] = "";
				}
				if (rdo_num_stack[plus_start+plus_count] != "" and rdo_num_stack[plus_start+plus_count][0] != '(') {
				rdo_num_stack[plus_start+plus_count] = "+" + rdo_num_stack[plus_start+plus_count];
				}

				plus_start = 0;
				plus_count = 0;
		}
	}

	for (i = depth+diff;i >= depth;i--) {
		if (i - 1 >= depth) {
			if (rdo_num_stack[i-1] == "(" and rdo_num_stack[i] != "(" and rdo_num_stack[i][0] != '+' and rdo_num_stack[i][0] != '-'  and rdo_num_stack[i] != "") {
				rdo_num_stack[i] = "+" + rdo_num_stack[i];
			}
			if (rdo_num_stack[i] == "/" and rdo_num_stack[i-1][0] != '+' and rdo_num_stack[i-1][0] != '-') {
				rdo_num_stack[i-1] = "+" + rdo_num_stack[i-1];
			}
			if (rdo_num_stack[i] == "/" and rdo_num_stack[i+1][0] != '+' and rdo_num_stack[i+1][0] != '-') {
				rdo_num_stack[i+1] = "+" + rdo_num_stack[i+1];
			}
			if (rdo_num_stack[i] == "*" and rdo_num_stack[i-1][0] != '+' and rdo_num_stack[i-1][0] != '-') {
				rdo_num_stack[i-1] = "+" + rdo_num_stack[i-1];
			}
			if (rdo_num_stack[i] == "*" and rdo_num_stack[i+1][0] != '+' and rdo_num_stack[i+1][0] != '-') {
				rdo_num_stack[i+1] = "+" + rdo_num_stack[i+1];
			}
		}
		if (rdo_num_stack[i] == "") {
			rdo_num_stack.erase(rdo_num_stack.begin()+i);
			diff-=1;
		}
	}

	for (i = 0; i < rdo_num_stack.size();i++) {
		//cout << rdo_num_stack[i] << endl;
	}

	div_loop:for (i = depth+diff;i >= depth;i--) {
    		
    		if (rdo_num_stack[i] == "/") {
    			result = to_string(stof(rdo_num_stack[i-1]) / stof(rdo_num_stack[i+1]));
    			if (result[0] != '+' and result[0] != '-') {
					result = "+" + result;
				}
    			rdo_num_stack[i-1] = result;
    			rdo_num_stack.erase(rdo_num_stack.begin()+i);
    			rdo_num_stack.erase(rdo_num_stack.begin()+i);
    			//cout << result << endl;
    			diff -= 2;

    			goto div_loop;
    		}
    }

	mul_loop:for (i = depth+diff;i >= depth;i--) {
    		
    		if (rdo_num_stack[i] == "*") {
    			result = to_string(stof(rdo_num_stack[i-1]) * stof(rdo_num_stack[i+1]));
    			if (result[0] != '+' and result[0] != '-') {
					result = "+" + result;
				}
    			rdo_num_stack[i-1] = result;
    			rdo_num_stack.erase(rdo_num_stack.begin()+i);
    			rdo_num_stack.erase(rdo_num_stack.begin()+i);
    			//cout << result << endl;
    			diff -= 2;

    			goto mul_loop;
    		}

    		
    }
  

	minus_loop:for (i = depth; i <= depth+diff;i++) {
		
		if (rdo_num_stack[i][0] == '-' and rdo_num_stack[i-1] != "(") {
			
			result = to_string(stof(rdo_num_stack[i]) + stof(rdo_num_stack[i-1]));
			if (result[0] != '+' and result[0] != '-') {
				result = "+" + result;
			}
			rdo_num_stack[i-1] = result;
			rdo_num_stack.erase(rdo_num_stack.begin()+i);
			diff-=1;
			
			goto minus_loop;

		}

	} 

	plus_loop:for (i = depth; i <= depth+diff;i++) {
		
		if (rdo_num_stack[i][0] == '+' and rdo_num_stack[i-1] != "(") {
			
			result = to_string(stof(rdo_num_stack[i]) + stof(rdo_num_stack[i-1]));
			if (result[0] != '+' and result[0] != '-') {
				result = "+" + result;
			}
			rdo_num_stack[i-1] = result;

			rdo_num_stack.erase(rdo_num_stack.begin()+i);
			diff-=2;
			goto plus_loop;

		}

	}
 
	opp_count = 0;

	for (i = 0; i < rdo_num_stack.size();i++) {
		
		if (rdo_num_stack[i] == "+" or rdo_num_stack[i] == "-" or rdo_num_stack[i] == "*" or rdo_num_stack[i] == "/") {

			opp_count++;

		}

	}

	if (opp_count > 0) {

		for (i = depth; i < depth+diff;i++) {
			if (rdo_num_stack[i] == "(" and rdo_num_stack[i+2] == ")") {
				rdo_num_stack.erase(rdo_num_stack.begin()+i);
				rdo_num_stack.erase(rdo_num_stack.begin()+i+1);

			}
		}

	}

	expr = "";

	for (i = 0; i < rdo_num_stack.size();i++) {
		expr += rdo_num_stack[i];
		//cout << rdo_num_stack[i];
	}

	expr = "";
	bcount = 0;
	depth = 0;
	for (i = 0; i < rdo_num_stack.size();i++) {
		expr += rdo_num_stack[i];
		if (rdo_num_stack[i] == "(") {
			bcount++;
			depth = i;
		}
	}
    
    result = rdo_num_stack[depth+1];
	//cout << result << endl;

	rdo_num_stack.clear();
	//cout << opp_count << endl;
	if (opp_count > 0)
		//return "";
		//return expr;
		return rdo_eval(expr);
	else
		expr = to_string(stoi(result));
		//return "";
		return expr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x840, %rsp            # imm = 0x840
movq %rsi, -0x530(%rbp)
movq %rdi, -0x528(%rbp)
movq %rdi, %rax
movq %rax, -0x520(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x33b0
leaq -0x51(%rbp), %rdi
movq %rdi, -0x518(%rbp)
callq 0x3470
movq -0x518(%rbp), %rdx
leaq 0x4fe0(%rip), %rsi      # 0x13192
leaq -0x50(%rbp), %rdi
callq 0x4990
jmp 0xe1bd
leaq -0x51(%rbp), %rdi
callq 0x3300
leaq -0x89(%rbp), %rdi
movq %rdi, -0x538(%rbp)
callq 0x3470
movq -0x538(%rbp), %rdx
leaq 0x4fab(%rip), %rsi      # 0x13192
leaq -0x88(%rbp), %rdi
callq 0x4990
jmp 0xe1f5
leaq -0x89(%rbp), %rdi
callq 0x3300
leaq -0xb1(%rbp), %rdi
movq %rdi, -0x540(%rbp)
callq 0x3470
movq -0x540(%rbp), %rdx
leaq 0x4f70(%rip), %rsi      # 0x13192
leaq -0xb0(%rbp), %rdi
callq 0x4990
jmp 0xe230
leaq -0xb1(%rbp), %rdi
callq 0x3300
leaq -0xd9(%rbp), %rdi
movq %rdi, -0x548(%rbp)
callq 0x3470
movq -0x548(%rbp), %rdx
leaq 0x4f35(%rip), %rsi      # 0x13192
leaq -0xd8(%rbp), %rdi
callq 0x4990
jmp 0xe26b
leaq -0xd9(%rbp), %rdi
callq 0x3300
movl $0x0, -0xe0(%rbp)
movl $0x0, -0xec(%rbp)
movl $0x0, -0xf0(%rbp)
movl $0x0, -0xf4(%rbp)
movl $0x0, -0xf8(%rbp)
movl $0x0, -0xfc(%rbp)
movl $0x0, -0x100(%rbp)
movl $0x0, -0x104(%rbp)
movl $0x0, -0x108(%rbp)
movl $0x0, -0x10c(%rbp)
movl $0x0, -0x110(%rbp)
movb $0x0, -0x111(%rbp)
movb $0x0, -0x112(%rbp)
movb $0x0, -0x113(%rbp)
movb $0x0, -0x114(%rbp)
movl $0x0, -0xe4(%rbp)
movq -0x530(%rbp), %rdi
movslq -0xe4(%rbp), %rax
movq %rax, -0x550(%rbp)
callq 0x33e0
movq %rax, %rcx
movq -0x550(%rbp), %rax
cmpq %rcx, %rax
jae 0xe787
movq -0x530(%rbp), %rdi
movslq -0xe4(%rbp), %rsi
callq 0x34c0
movq %rax, -0x558(%rbp)
jmp 0xe354
movq -0x558(%rbp), %rax
movsbl (%rax), %edi
callq 0xdea0
testb $0x1, %al
jne 0xe771
movq -0x530(%rbp), %rdi
movslq -0xe4(%rbp), %rsi
callq 0x34c0
movq %rax, -0x560(%rbp)
jmp 0xe387
movq -0x560(%rbp), %rax
movsbl (%rax), %edi
callq 0xded0
movsbl %al, %eax
cmpl $0x6e, %eax
je 0xe408
movq -0x530(%rbp), %rdi
movslq -0xe4(%rbp), %rsi
callq 0x34c0
movq %rax, -0x568(%rbp)
jmp 0xe3ba
movq -0x568(%rbp), %rax
movsbl (%rax), %edi
callq 0xded0
movsbl %al, %eax
cmpl $0x6f, %eax
je 0xe408
movq -0x530(%rbp), %rdi
movslq -0xe4(%rbp), %rsi
callq 0x34c0
movq %rax, -0x570(%rbp)
jmp 0xe3ed
movq -0x570(%rbp), %rax
movsbl (%rax), %edi
callq 0xded0
movsbl %al, %eax
cmpl $0x62, %eax
jne 0xe6c0
movq -0x530(%rbp), %rdi
movslq -0xe4(%rbp), %rsi
callq 0x34c0
movq %rax, -0x578(%rbp)
jmp 0xe424
movq -0x578(%rbp), %rax
movsbl (%rax), %edi
callq 0xded0
movsbl %al, %eax
cmpl $0x6e, %eax
jne 0xe4f7
movq -0x530(%rbp), %rdi
movslq -0xe4(%rbp), %rsi
callq 0x34c0
movq %rax, -0x580(%rbp)
jmp 0xe45b
movq -0x580(%rbp), %rax
movsbl (%rax), %esi
leaq -0x50(%rbp), %rdi
callq 0x31e0
jmp 0xe470
jmp 0xe6be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x51(%rbp), %rdi
callq 0x3300
jmp 0x10a71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x89(%rbp), %rdi
callq 0x3300
jmp 0x10a68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xb1(%rbp), %rdi
callq 0x3300
jmp 0x10a5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xd9(%rbp), %rdi
callq 0x3300
jmp 0x10a50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x10a44
movq -0x530(%rbp), %rdi
movslq -0xe4(%rbp), %rsi
callq 0x34c0
movq %rax, -0x588(%rbp)
jmp 0xe513
movq -0x588(%rbp), %rax
movsbl (%rax), %edi
callq 0xded0
movsbl %al, %eax
cmpl $0x6f, %eax
jne 0xe5ef
leaq 0x4c5d(%rip), %rsi      # 0x13192
leaq -0x50(%rbp), %rdi
callq 0x8e90
movb %al, -0x589(%rbp)
jmp 0xe546
movb -0x589(%rbp), %al
testb $0x1, %al
jne 0xe552
jmp 0xe578
leaq 0xa0e7(%rip), %rdi      # 0x18640
leaq -0x50(%rbp), %rsi
callq 0x9050
jmp 0xe564
leaq 0x4c27(%rip), %rsi      # 0x13192
leaq -0x50(%rbp), %rdi
callq 0x33a0
jmp 0xe576
jmp 0xe578
movq -0x530(%rbp), %rdi
movslq -0xe4(%rbp), %rsi
callq 0x34c0
movq %rax, -0x598(%rbp)
jmp 0xe594
movq -0x598(%rbp), %rax
movsbl (%rax), %esi
leaq -0x138(%rbp), %rdi
callq 0xdf40
jmp 0xe5ac
leaq 0xa08d(%rip), %rdi      # 0x18640
leaq -0x138(%rbp), %rsi
callq 0x8fe0
jmp 0xe5c1
leaq -0x138(%rbp), %rdi
callq 0x31d0
jmp 0xe6bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x138(%rbp), %rdi
callq 0x31d0
jmp 0x10a44
leaq 0x4b9c(%rip), %rsi      # 0x13192
leaq -0x50(%rbp), %rdi
callq 0x8e90
movb %al, -0x599(%rbp)
jmp 0xe607
movb -0x599(%rbp), %al
testb $0x1, %al
jne 0xe613
jmp 0xe639
leaq 0xa026(%rip), %rdi      # 0x18640
leaq -0x50(%rbp), %rsi
callq 0x9050
jmp 0xe625
leaq 0x4b66(%rip), %rsi      # 0x13192
leaq -0x50(%rbp), %rdi
callq 0x33a0
jmp 0xe637
jmp 0xe639
movq -0x530(%rbp), %rdi
movslq -0xe4(%rbp), %rsi
callq 0x34c0
movq %rax, -0x5a8(%rbp)
jmp 0xe655
movq -0x5a8(%rbp), %rax
movsbl (%rax), %esi
leaq -0x158(%rbp), %rdi
callq 0xdf40
jmp 0xe66d
leaq 0x9fcc(%rip), %rdi      # 0x18640
leaq -0x158(%rbp), %rsi
callq 0x8fe0
jmp 0xe682
leaq -0x158(%rbp), %rdi
callq 0x31d0
movl -0xec(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xec(%rbp)
jmp 0xe6bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x31d0
jmp 0x10a44
jmp 0xe6be
jmp 0xe6f8
movq 0x9901(%rip), %rdi      # 0x17fc8
leaq 0x4d3a(%rip), %rsi      # 0x13408
callq 0x3290
movq %rax, -0x5b0(%rbp)
jmp 0xe6dc
movq -0x5b0(%rbp), %rdi
movq 0x98c6(%rip), %rsi      # 0x17fb0
callq 0x32e0
jmp 0xe6f1
xorl %edi, %edi
callq 0x3340
movq -0x530(%rbp), %rdi
movslq -0xe4(%rbp), %rax
movq %rax, -0x5b8(%rbp)
callq 0x33e0
movq %rax, %rcx
movq -0x5b8(%rbp), %rax
subq $0x1, %rcx
cmpq %rcx, %rax
jne 0xe76f
leaq 0x4a66(%rip), %rsi      # 0x13192
leaq -0x50(%rbp), %rdi
callq 0x8e90
movb %al, -0x5b9(%rbp)
jmp 0xe73d
movb -0x5b9(%rbp), %al
testb $0x1, %al
jne 0xe749
jmp 0xe76f
leaq 0x9ef0(%rip), %rdi      # 0x18640
leaq -0x50(%rbp), %rsi
callq 0x9050
jmp 0xe75b
leaq 0x4a30(%rip), %rsi      # 0x13192
leaq -0x50(%rbp), %rdi
callq 0x33a0
jmp 0xe76d
jmp 0xe76f
jmp 0xe771
jmp 0xe773
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0xe30b
movl -0xec(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
je 0xe7d2
movq 0x9827(%rip), %rdi      # 0x17fc8
leaq 0x4c80(%rip), %rsi      # 0x13428
callq 0x3290
movq %rax, -0x5c8(%rbp)
jmp 0xe7b6
movq -0x5c8(%rbp), %rdi
movq 0x97ec(%rip), %rsi      # 0x17fb0
callq 0x32e0
jmp 0xe7cb
xorl %edi, %edi
callq 0x3340
movl -0xec(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, -0xec(%rbp)
movl $0x0, -0xe4(%rbp)
movslq -0xe4(%rbp), %rax
movq %rax, -0x5d0(%rbp)
leaq 0x9e3b(%rip), %rdi      # 0x18640
callq 0x53c0
movq %rax, %rcx
movq -0x5d0(%rbp), %rax
cmpq %rcx, %rax
jae 0xe918
movslq -0xe4(%rbp), %rsi
leaq 0x9e15(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x4951(%rip), %rsi      # 0x1318b
callq 0x4be0
movb %al, -0x5d1(%rbp)
jmp 0xe847
movb -0x5d1(%rbp), %al
testb $0x1, %al
jne 0xe853
jmp 0xe862
movl -0x100(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x100(%rbp)
movl -0x100(%rbp), %eax
cmpl -0xec(%rbp), %eax
jne 0xe8a1
testb $0x1, -0x111(%rbp)
jne 0xe8a1
cmpl $0x1, -0xe4(%rbp)
jne 0xe88e
movl $0x0, -0xf0(%rbp)
jmp 0xe89a
movl -0xe4(%rbp), %eax
movl %eax, -0xf0(%rbp)
movb $0x1, -0x111(%rbp)
movslq -0xe4(%rbp), %rsi
leaq 0x9d91(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x47db(%rip), %rsi      # 0x13099
callq 0x4be0
movb %al, -0x5d2(%rbp)
jmp 0xe8cb
movb -0x5d2(%rbp), %al
testb $0x1, %al
jne 0xe8d7
jmp 0xe902
testb $0x1, -0x111(%rbp)
je 0xe902
testb $0x1, -0x112(%rbp)
jne 0xe902
movl -0xe4(%rbp), %eax
subl -0xf0(%rbp), %eax
movl %eax, -0xf8(%rbp)
movb $0x1, -0x112(%rbp)
jmp 0xe904
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0xe7f0
movl -0xf0(%rbp), %eax
movl %eax, -0xe4(%rbp)
movl -0xe4(%rbp), %eax
movl -0xf0(%rbp), %ecx
addl -0xf8(%rbp), %ecx
cmpl %ecx, %eax
jge 0xeb36
movslq -0xe4(%rbp), %rsi
leaq 0x9cf4(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x47d9(%rip), %rsi      # 0x13134
callq 0x4be0
movb %al, -0x5d3(%rbp)
jmp 0xe968
movb -0x5d3(%rbp), %al
testb $0x1, %al
jne 0xea1d
jmp 0xe978
movslq -0xe4(%rbp), %rsi
leaq 0x9cba(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x47a1(%rip), %rsi      # 0x13136
callq 0x4be0
movb %al, -0x5d4(%rbp)
jmp 0xe9a2
movb -0x5d4(%rbp), %al
testb $0x1, %al
jne 0xea1d
jmp 0xe9ae
movslq -0xe4(%rbp), %rsi
leaq 0x9c84(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x476f(%rip), %rsi      # 0x1313a
callq 0x4be0
movb %al, -0x5d5(%rbp)
jmp 0xe9d8
movb -0x5d5(%rbp), %al
testb $0x1, %al
jne 0xea1d
jmp 0xe9e4
movslq -0xe4(%rbp), %rsi
leaq 0x9c4e(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x4737(%rip), %rsi      # 0x13138
callq 0x4be0
movb %al, -0x5d6(%rbp)
jmp 0xea0e
movb -0x5d6(%rbp), %al
testb $0x1, %al
jne 0xea1d
jmp 0xeb20
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x9c11(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x474d(%rip), %rsi      # 0x1318b
callq 0x4be0
movb %al, -0x5d7(%rbp)
jmp 0xea4b
movb -0x5d7(%rbp), %al
testb $0x1, %al
jne 0xea57
jmp 0xea99
movslq -0xe4(%rbp), %rsi
leaq 0x9bdb(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x46c2(%rip), %rsi      # 0x13136
callq 0x4be0
movb %al, -0x5d8(%rbp)
jmp 0xea81
movb -0x5d8(%rbp), %al
testb $0x1, %al
jne 0xea8d
jmp 0xea99
xorl %edi, %edi
callq 0xe130
jmp 0xeb1e
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x9b95(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x46d1(%rip), %rsi      # 0x1318b
callq 0x4be0
movb %al, -0x5d9(%rbp)
jmp 0xeac7
movb -0x5d9(%rbp), %al
testb $0x1, %al
jne 0xead3
jmp 0xeb12
movslq -0xe4(%rbp), %rsi
leaq 0x9b5f(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x4644(%rip), %rsi      # 0x13134
callq 0x4be0
movb %al, -0x5da(%rbp)
jmp 0xeafd
movb -0x5da(%rbp), %al
testb $0x1, %al
jne 0xeb09
jmp 0xeb12
xorl %edi, %edi
callq 0xe130
jmp 0xeb1c
movl $0x1, %edi
callq 0xe130
jmp 0xeb1e
jmp 0xeb20
jmp 0xeb22
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0xe924
movl -0xf0(%rbp), %eax
movl %eax, -0xe4(%rbp)
movl -0xe4(%rbp), %eax
movl -0xf0(%rbp), %ecx
addl -0xf8(%rbp), %ecx
cmpl %ecx, %eax
jg 0xed76
movslq -0xe4(%rbp), %rsi
leaq 0x9ad6(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x45bb(%rip), %rsi      # 0x13134
callq 0x4be0
movb %al, -0x5db(%rbp)
jmp 0xeb86
movb -0x5db(%rbp), %al
testb $0x1, %al
jne 0xeb95
jmp 0xec52
movl -0xe4(%rbp), %eax
incl %eax
movslq %eax, %rsi
leaq 0x9a99(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x4580(%rip), %rsi      # 0x13136
callq 0x4be0
movb %al, -0x5dc(%rbp)
jmp 0xebc3
movb -0x5dc(%rbp), %al
testb $0x1, %al
jne 0xebd2
jmp 0xec52
leaq 0x9a67(%rip), %rdi      # 0x18640
movq %rdi, -0x5f0(%rbp)
callq 0x9a10
movq %rax, -0x170(%rbp)
movslq -0xe4(%rbp), %rsi
leaq -0x170(%rbp), %rdi
callq 0x10b00
movq %rax, -0x168(%rbp)
leaq -0x160(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0x10b40
movq -0x5f0(%rbp), %rdi
movq -0x160(%rbp), %rsi
callq 0x10a90
movq %rax, -0x5e8(%rbp)
jmp 0xec35
movq -0x5e8(%rbp), %rax
movq %rax, -0x178(%rbp)
movl -0xf8(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xf8(%rbp)
movslq -0xe4(%rbp), %rsi
leaq 0x99e0(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x44c7(%rip), %rsi      # 0x13136
callq 0x4be0
movb %al, -0x5f1(%rbp)
jmp 0xec7c
movb -0x5f1(%rbp), %al
testb $0x1, %al
jne 0xec8b
jmp 0xed60
movl -0xe4(%rbp), %eax
incl %eax
movslq %eax, %rsi
leaq 0x99a3(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x4488(%rip), %rsi      # 0x13134
callq 0x4be0
movb %al, -0x5f2(%rbp)
jmp 0xecb9
movb -0x5f2(%rbp), %al
testb $0x1, %al
jne 0xecc8
jmp 0xed60
leaq 0x9971(%rip), %rdi      # 0x18640
movq %rdi, -0x608(%rbp)
callq 0x9a10
movq %rax, -0x198(%rbp)
movslq -0xe4(%rbp), %rsi
leaq -0x198(%rbp), %rdi
callq 0x10b00
movq %rax, -0x190(%rbp)
leaq -0x190(%rbp), %rdi
movl $0x1, %esi
callq 0x10b00
movq %rax, -0x188(%rbp)
leaq -0x180(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0x10b40
movq -0x608(%rbp), %rdi
movq -0x180(%rbp), %rsi
callq 0x10a90
movq %rax, -0x600(%rbp)
jmp 0xed43
movq -0x600(%rbp), %rax
movq %rax, -0x1a0(%rbp)
movl -0xf8(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xf8(%rbp)
jmp 0xed62
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0xeb42
movl -0xf0(%rbp), %eax
movl %eax, -0xe4(%rbp)
movl -0xe4(%rbp), %eax
movl -0xf0(%rbp), %ecx
addl -0xf8(%rbp), %ecx
cmpl %ecx, %eax
jg 0xf0cc
movslq -0xe4(%rbp), %rsi
leaq 0x9896(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x437d(%rip), %rsi      # 0x13136
callq 0x4be0
movb %al, -0x609(%rbp)
jmp 0xedc6
movb -0x609(%rbp), %al
testb $0x1, %al
jne 0xedd2
jmp 0xedf8
movl -0x104(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
cmpl $0x0, -0x108(%rbp)
jne 0xedf6
movl -0xe4(%rbp), %eax
movl %eax, -0x108(%rbp)
jmp 0xedf8
movslq -0xe4(%rbp), %rsi
leaq 0x983a(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x4321(%rip), %rsi      # 0x13136
callq 0x8e90
movb %al, -0x60a(%rbp)
jmp 0xee22
movb -0x60a(%rbp), %al
testb $0x1, %al
jne 0xee31
jmp 0xf0b6
cmpl $0x0, -0x104(%rbp)
je 0xefb6
movl -0x104(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0xefb6
movl -0x108(%rbp), %eax
movl %eax, -0xe8(%rbp)
movl -0xe8(%rbp), %eax
movl -0x108(%rbp), %ecx
addl -0x104(%rbp), %ecx
cmpl %ecx, %eax
jge 0xeeae
movslq -0xe8(%rbp), %rsi
leaq 0x97bb(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x42fe(%rip), %rsi      # 0x13192
callq 0x33a0
jmp 0xee9b
jmp 0xee9d
movl -0xe8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe8(%rbp)
jmp 0xee61
movl -0x108(%rbp), %eax
movl -0x104(%rbp), %ecx
addl %ecx, %eax
movslq %eax, %rsi
leaq 0x977a(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x42bd(%rip), %rsi      # 0x13192
callq 0x8e90
movb %al, -0x60b(%rbp)
jmp 0xeee2
movb -0x60b(%rbp), %al
testb $0x1, %al
jne 0xeef1
jmp 0xef9d
movl -0x108(%rbp), %eax
movl -0x104(%rbp), %ecx
addl %ecx, %eax
movslq %eax, %rsi
leaq 0x9737(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x618(%rbp)
jmp 0xef23
movq -0x618(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2b, %eax
je 0xef9d
movl -0x108(%rbp), %eax
movl -0x104(%rbp), %ecx
addl %ecx, %eax
movslq %eax, %rsi
leaq 0x96f6(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdx
leaq 0x41db(%rip), %rsi      # 0x13134
leaq -0x1c0(%rbp), %rdi
callq 0x90c0
jmp 0xef67
movl -0x108(%rbp), %eax
addl -0x104(%rbp), %eax
movslq %eax, %rsi
leaq 0x96c3(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq -0x1c0(%rbp), %rsi
callq 0x3350
leaq -0x1c0(%rbp), %rdi
callq 0x31d0
movl $0x0, -0x108(%rbp)
movl $0x0, -0x104(%rbp)
jmp 0xf0b4
cmpl $0x0, -0x104(%rbp)
je 0xf0b2
movl -0x104(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
je 0xf0b2
movl -0x108(%rbp), %eax
movl %eax, -0xe8(%rbp)
movl -0xe8(%rbp), %eax
movl -0x108(%rbp), %ecx
addl -0x104(%rbp), %ecx
cmpl %ecx, %eax
jge 0xf033
movslq -0xe8(%rbp), %rsi
leaq 0x9636(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x4179(%rip), %rsi      # 0x13192
callq 0x33a0
jmp 0xf020
jmp 0xf022
movl -0xe8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe8(%rbp)
jmp 0xefe6
movl -0x108(%rbp), %eax
movl -0x104(%rbp), %ecx
addl %ecx, %eax
movslq %eax, %rsi
leaq 0x95f5(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdx
leaq 0x40dc(%rip), %rsi      # 0x13136
leaq -0x1e0(%rbp), %rdi
callq 0x90c0
jmp 0xf068
movl -0x108(%rbp), %eax
addl -0x104(%rbp), %eax
movslq %eax, %rsi
leaq 0x95c2(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x3350
leaq -0x1e0(%rbp), %rdi
callq 0x31d0
movl $0x0, -0x108(%rbp)
movl $0x0, -0x104(%rbp)
jmp 0xf0b4
jmp 0xf0b6
jmp 0xf0b8
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0xed82
movl -0xf0(%rbp), %eax
movl %eax, -0xe4(%rbp)
movl -0xe4(%rbp), %eax
movl -0xf0(%rbp), %ecx
addl -0xf8(%rbp), %ecx
cmpl %ecx, %eax
jg 0xf2f9
movslq -0xe4(%rbp), %rsi
leaq 0x9540(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x4025(%rip), %rsi      # 0x13134
callq 0x4be0
movb %al, -0x619(%rbp)
jmp 0xf11c
movb -0x619(%rbp), %al
testb $0x1, %al
jne 0xf128
jmp 0xf14e
movl -0x10c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10c(%rbp)
cmpl $0x0, -0x110(%rbp)
jne 0xf14c
movl -0xe4(%rbp), %eax
movl %eax, -0x110(%rbp)
jmp 0xf14e
movslq -0xe4(%rbp), %rsi
leaq 0x94e4(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x3fc9(%rip), %rsi      # 0x13134
callq 0x8e90
movb %al, -0x61a(%rbp)
jmp 0xf178
movb -0x61a(%rbp), %al
testb $0x1, %al
jne 0xf187
jmp 0xf2e3
movl -0x110(%rbp), %eax
movl %eax, -0xe8(%rbp)
movl -0xe8(%rbp), %eax
movl -0x110(%rbp), %ecx
addl -0x10c(%rbp), %ecx
cmpl %ecx, %eax
jge 0xf1e0
movslq -0xe8(%rbp), %rsi
leaq 0x9489(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x3fcc(%rip), %rsi      # 0x13192
callq 0x33a0
jmp 0xf1cd
jmp 0xf1cf
movl -0xe8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe8(%rbp)
jmp 0xf193
movl -0x110(%rbp), %eax
movl -0x10c(%rbp), %ecx
addl %ecx, %eax
movslq %eax, %rsi
leaq 0x9448(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x3f8b(%rip), %rsi      # 0x13192
callq 0x8e90
movb %al, -0x61b(%rbp)
jmp 0xf214
movb -0x61b(%rbp), %al
testb $0x1, %al
jne 0xf223
jmp 0xf2cf
movl -0x110(%rbp), %eax
movl -0x10c(%rbp), %ecx
addl %ecx, %eax
movslq %eax, %rsi
leaq 0x9405(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x628(%rbp)
jmp 0xf255
movq -0x628(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x28, %eax
je 0xf2cf
movl -0x110(%rbp), %eax
movl -0x10c(%rbp), %ecx
addl %ecx, %eax
movslq %eax, %rsi
leaq 0x93c4(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdx
leaq 0x3ea9(%rip), %rsi      # 0x13134
leaq -0x200(%rbp), %rdi
callq 0x90c0
jmp 0xf299
movl -0x110(%rbp), %eax
addl -0x10c(%rbp), %eax
movslq %eax, %rsi
leaq 0x9391(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq -0x200(%rbp), %rsi
callq 0x3350
leaq -0x200(%rbp), %rdi
callq 0x31d0
movl $0x0, -0x110(%rbp)
movl $0x0, -0x10c(%rbp)
jmp 0xf2e5
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0xf0d8
movl -0xf0(%rbp), %eax
addl -0xf8(%rbp), %eax
movl %eax, -0xe4(%rbp)
movl -0xe4(%rbp), %eax
cmpl -0xf0(%rbp), %eax
jl 0xf9d2
movl -0xe4(%rbp), %eax
subl $0x1, %eax
cmpl -0xf0(%rbp), %eax
jl 0xf903
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x92fc(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x3e38(%rip), %rsi      # 0x1318b
callq 0x4be0
movb %al, -0x629(%rbp)
jmp 0xf360
movb -0x629(%rbp), %al
testb $0x1, %al
jne 0xf36f
jmp 0xf4ad
movslq -0xe4(%rbp), %rsi
leaq 0x92c3(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x3dff(%rip), %rsi      # 0x1318b
callq 0x8e90
movb %al, -0x62a(%rbp)
jmp 0xf399
movb -0x62a(%rbp), %al
testb $0x1, %al
jne 0xf3a8
jmp 0xf4ad
movslq -0xe4(%rbp), %rsi
leaq 0x928a(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x638(%rbp)
jmp 0xf3d0
movq -0x638(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2b, %eax
je 0xf4ad
movslq -0xe4(%rbp), %rsi
leaq 0x924f(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x640(%rbp)
jmp 0xf40b
movq -0x640(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0xf4ad
movslq -0xe4(%rbp), %rsi
leaq 0x9214(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x3d57(%rip), %rsi      # 0x13192
callq 0x8e90
movb %al, -0x641(%rbp)
jmp 0xf448
movb -0x641(%rbp), %al
testb $0x1, %al
jne 0xf454
jmp 0xf4ad
movslq -0xe4(%rbp), %rsi
leaq 0x91de(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdx
leaq 0x3cc3(%rip), %rsi      # 0x13134
leaq -0x220(%rbp), %rdi
callq 0x90c0
jmp 0xf47f
movslq -0xe4(%rbp), %rsi
leaq 0x91b3(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq -0x220(%rbp), %rsi
callq 0x3350
leaq -0x220(%rbp), %rdi
callq 0x31d0
movslq -0xe4(%rbp), %rsi
leaq 0x9185(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x3c6e(%rip), %rsi      # 0x13138
callq 0x4be0
movb %al, -0x642(%rbp)
jmp 0xf4d7
movb -0x642(%rbp), %al
testb $0x1, %al
jne 0xf4e6
jmp 0xf5c2
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x9148(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x650(%rbp)
jmp 0xf512
movq -0x650(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2b, %eax
je 0xf5c2
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x9109(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x658(%rbp)
jmp 0xf551
movq -0x658(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0xf5c2
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x90ce(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdx
leaq 0x3bb3(%rip), %rsi      # 0x13134
leaq -0x240(%rbp), %rdi
callq 0x90c0
jmp 0xf58f
movl -0xe4(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rsi
leaq 0x909e(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq -0x240(%rbp), %rsi
callq 0x3350
leaq -0x240(%rbp), %rdi
callq 0x31d0
movslq -0xe4(%rbp), %rsi
leaq 0x9070(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x3b59(%rip), %rsi      # 0x13138
callq 0x4be0
movb %al, -0x659(%rbp)
jmp 0xf5ec
movb -0x659(%rbp), %al
testb $0x1, %al
jne 0xf5fb
jmp 0xf6d7
movl -0xe4(%rbp), %eax
incl %eax
movslq %eax, %rsi
leaq 0x9033(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x668(%rbp)
jmp 0xf627
movq -0x668(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2b, %eax
je 0xf6d7
movl -0xe4(%rbp), %eax
incl %eax
movslq %eax, %rsi
leaq 0x8ff4(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x670(%rbp)
jmp 0xf666
movq -0x670(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0xf6d7
movl -0xe4(%rbp), %eax
incl %eax
movslq %eax, %rsi
leaq 0x8fb9(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdx
leaq 0x3a9e(%rip), %rsi      # 0x13134
leaq -0x260(%rbp), %rdi
callq 0x90c0
jmp 0xf6a4
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movslq %eax, %rsi
leaq 0x8f89(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq -0x260(%rbp), %rsi
callq 0x3350
leaq -0x260(%rbp), %rdi
callq 0x31d0
movslq -0xe4(%rbp), %rsi
leaq 0x8f5b(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x3a46(%rip), %rsi      # 0x1313a
callq 0x4be0
movb %al, -0x671(%rbp)
jmp 0xf701
movb -0x671(%rbp), %al
testb $0x1, %al
jne 0xf710
jmp 0xf7ec
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x8f1e(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x680(%rbp)
jmp 0xf73c
movq -0x680(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2b, %eax
je 0xf7ec
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x8edf(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x688(%rbp)
jmp 0xf77b
movq -0x688(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0xf7ec
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x8ea4(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdx
leaq 0x3989(%rip), %rsi      # 0x13134
leaq -0x280(%rbp), %rdi
callq 0x90c0
jmp 0xf7b9
movl -0xe4(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rsi
leaq 0x8e74(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq -0x280(%rbp), %rsi
callq 0x3350
leaq -0x280(%rbp), %rdi
callq 0x31d0
movslq -0xe4(%rbp), %rsi
leaq 0x8e46(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x3931(%rip), %rsi      # 0x1313a
callq 0x4be0
movb %al, -0x689(%rbp)
jmp 0xf816
movb -0x689(%rbp), %al
testb $0x1, %al
jne 0xf825
jmp 0xf901
movl -0xe4(%rbp), %eax
incl %eax
movslq %eax, %rsi
leaq 0x8e09(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x698(%rbp)
jmp 0xf851
movq -0x698(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2b, %eax
je 0xf901
movl -0xe4(%rbp), %eax
incl %eax
movslq %eax, %rsi
leaq 0x8dca(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x6a0(%rbp)
jmp 0xf890
movq -0x6a0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0xf901
movl -0xe4(%rbp), %eax
incl %eax
movslq %eax, %rsi
leaq 0x8d8f(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdx
leaq 0x3874(%rip), %rsi      # 0x13134
leaq -0x2a0(%rbp), %rdi
callq 0x90c0
jmp 0xf8ce
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movslq %eax, %rsi
leaq 0x8d5f(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq -0x2a0(%rbp), %rsi
callq 0x3350
leaq -0x2a0(%rbp), %rdi
callq 0x31d0
jmp 0xf903
movslq -0xe4(%rbp), %rsi
leaq 0x8d2f(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x3872(%rip), %rsi      # 0x13192
callq 0x4be0
movb %al, -0x6a1(%rbp)
jmp 0xf92d
movb -0x6a1(%rbp), %al
testb $0x1, %al
jne 0xf93c
jmp 0xf9bc
leaq 0x8cfd(%rip), %rdi      # 0x18640
movq %rdi, -0x6b8(%rbp)
callq 0x9a10
movq %rax, -0x2b8(%rbp)
movslq -0xe4(%rbp), %rsi
leaq -0x2b8(%rbp), %rdi
callq 0x10b00
movq %rax, -0x2b0(%rbp)
leaq -0x2a8(%rbp), %rdi
leaq -0x2b0(%rbp), %rsi
callq 0x10b40
movq -0x6b8(%rbp), %rdi
movq -0x2a8(%rbp), %rsi
callq 0x10a90
movq %rax, -0x6b0(%rbp)
jmp 0xf99f
movq -0x6b0(%rbp), %rax
movq %rax, -0x2c0(%rbp)
movl -0xf8(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xf8(%rbp)
jmp 0xf9be
movl -0xe4(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0xf30b
movl $0x0, -0xe4(%rbp)
movslq -0xe4(%rbp), %rax
movq %rax, -0x6c0(%rbp)
leaq 0x8c4f(%rip), %rdi      # 0x18640
callq 0x53c0
movq %rax, %rcx
movq -0x6c0(%rbp), %rax
cmpq %rcx, %rax
jae 0xfa18
jmp 0xfa07
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0xf9dc
jmp 0xfa1a
movl -0xf0(%rbp), %eax
addl -0xf8(%rbp), %eax
movl %eax, -0xe4(%rbp)
movl -0xe4(%rbp), %eax
cmpl -0xf0(%rbp), %eax
jl 0xfcd0
movslq -0xe4(%rbp), %rsi
leaq 0x8bf4(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x36dd(%rip), %rsi      # 0x13138
callq 0x4be0
movb %al, -0x6c1(%rbp)
jmp 0xfa68
movb -0x6c1(%rbp), %al
testb $0x1, %al
jne 0xfa77
jmp 0xfcba
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x8bb7(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10bd0
movss %xmm0, -0x6c8(%rbp)
jmp 0xfaa4
movl -0xe4(%rbp), %eax
incl %eax
movslq %eax, %rsi
leaq 0x8b8a(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10bd0
movss %xmm0, -0x6cc(%rbp)
jmp 0xfad1
movss -0x6cc(%rbp), %xmm1
movss -0x6c8(%rbp), %xmm0
divss %xmm1, %xmm0
leaq -0x2e0(%rbp), %rdi
callq 0x10b80
jmp 0xfaf3
leaq -0x30(%rbp), %rdi
movq %rdi, -0x6e0(%rbp)
leaq -0x2e0(%rbp), %rsi
movq %rsi, -0x6e8(%rbp)
callq 0x3350
movq -0x6e8(%rbp), %rdi
callq 0x31d0
movq -0x6e0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x6d8(%rbp)
jmp 0xfb36
movq -0x6d8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2b, %eax
je 0xfb9f
xorl %eax, %eax
movl %eax, %esi
leaq -0x30(%rbp), %rdi
callq 0x34c0
movq %rax, -0x6f0(%rbp)
jmp 0xfb5b
movq -0x6f0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0xfb9f
leaq 0x35c3(%rip), %rsi      # 0x13134
leaq -0x300(%rbp), %rdi
leaq -0x30(%rbp), %rdx
callq 0x90c0
jmp 0xfb83
leaq -0x30(%rbp), %rdi
leaq -0x300(%rbp), %rsi
callq 0x3350
leaq -0x300(%rbp), %rdi
callq 0x31d0
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x8a8f(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq -0x30(%rbp), %rsi
callq 0x3050
jmp 0xfbc4
leaq 0x8a75(%rip), %rdi      # 0x18640
movq %rdi, -0x700(%rbp)
callq 0x9a10
movq %rax, -0x318(%rbp)
movslq -0xe4(%rbp), %rsi
leaq -0x318(%rbp), %rdi
callq 0x10b00
movq %rax, -0x310(%rbp)
leaq -0x308(%rbp), %rdi
leaq -0x310(%rbp), %rsi
callq 0x10b40
movq -0x700(%rbp), %rdi
movq -0x308(%rbp), %rsi
callq 0x10a90
movq %rax, -0x6f8(%rbp)
jmp 0xfc27
movq -0x6f8(%rbp), %rax
movq %rax, -0x320(%rbp)
leaq 0x8a04(%rip), %rdi      # 0x18640
movq %rdi, -0x710(%rbp)
callq 0x9a10
movq %rax, -0x338(%rbp)
movslq -0xe4(%rbp), %rsi
leaq -0x338(%rbp), %rdi
callq 0x10b00
movq %rax, -0x330(%rbp)
leaq -0x328(%rbp), %rdi
leaq -0x330(%rbp), %rsi
callq 0x10b40
movq -0x710(%rbp), %rdi
movq -0x328(%rbp), %rsi
callq 0x10a90
movq %rax, -0x708(%rbp)
jmp 0xfc98
movq -0x708(%rbp), %rax
movq %rax, -0x340(%rbp)
movl -0xf8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0xf8(%rbp)
jmp 0xfa1a
jmp 0xfcbc
movl -0xe4(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0xfa2c
jmp 0xfcd2
movl -0xf0(%rbp), %eax
addl -0xf8(%rbp), %eax
movl %eax, -0xe4(%rbp)
movl -0xe4(%rbp), %eax
cmpl -0xf0(%rbp), %eax
jl 0xff88
movslq -0xe4(%rbp), %rsi
leaq 0x893c(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x3427(%rip), %rsi      # 0x1313a
callq 0x4be0
movb %al, -0x711(%rbp)
jmp 0xfd20
movb -0x711(%rbp), %al
testb $0x1, %al
jne 0xfd2f
jmp 0xff72
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x88ff(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10bd0
movss %xmm0, -0x718(%rbp)
jmp 0xfd5c
movl -0xe4(%rbp), %eax
incl %eax
movslq %eax, %rsi
leaq 0x88d2(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10bd0
movss %xmm0, -0x71c(%rbp)
jmp 0xfd89
movss -0x71c(%rbp), %xmm1
movss -0x718(%rbp), %xmm0
mulss %xmm1, %xmm0
leaq -0x360(%rbp), %rdi
callq 0x10b80
jmp 0xfdab
leaq -0x30(%rbp), %rdi
movq %rdi, -0x730(%rbp)
leaq -0x360(%rbp), %rsi
movq %rsi, -0x738(%rbp)
callq 0x3350
movq -0x738(%rbp), %rdi
callq 0x31d0
movq -0x730(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x728(%rbp)
jmp 0xfdee
movq -0x728(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2b, %eax
je 0xfe57
xorl %eax, %eax
movl %eax, %esi
leaq -0x30(%rbp), %rdi
callq 0x34c0
movq %rax, -0x740(%rbp)
jmp 0xfe13
movq -0x740(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0xfe57
leaq 0x330b(%rip), %rsi      # 0x13134
leaq -0x380(%rbp), %rdi
leaq -0x30(%rbp), %rdx
callq 0x90c0
jmp 0xfe3b
leaq -0x30(%rbp), %rdi
leaq -0x380(%rbp), %rsi
callq 0x3350
leaq -0x380(%rbp), %rdi
callq 0x31d0
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x87d7(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq -0x30(%rbp), %rsi
callq 0x3050
jmp 0xfe7c
leaq 0x87bd(%rip), %rdi      # 0x18640
movq %rdi, -0x750(%rbp)
callq 0x9a10
movq %rax, -0x398(%rbp)
movslq -0xe4(%rbp), %rsi
leaq -0x398(%rbp), %rdi
callq 0x10b00
movq %rax, -0x390(%rbp)
leaq -0x388(%rbp), %rdi
leaq -0x390(%rbp), %rsi
callq 0x10b40
movq -0x750(%rbp), %rdi
movq -0x388(%rbp), %rsi
callq 0x10a90
movq %rax, -0x748(%rbp)
jmp 0xfedf
movq -0x748(%rbp), %rax
movq %rax, -0x3a0(%rbp)
leaq 0x874c(%rip), %rdi      # 0x18640
movq %rdi, -0x760(%rbp)
callq 0x9a10
movq %rax, -0x3b8(%rbp)
movslq -0xe4(%rbp), %rsi
leaq -0x3b8(%rbp), %rdi
callq 0x10b00
movq %rax, -0x3b0(%rbp)
leaq -0x3a8(%rbp), %rdi
leaq -0x3b0(%rbp), %rsi
callq 0x10b40
movq -0x760(%rbp), %rdi
movq -0x3a8(%rbp), %rsi
callq 0x10a90
movq %rax, -0x758(%rbp)
jmp 0xff50
movq -0x758(%rbp), %rax
movq %rax, -0x3c0(%rbp)
movl -0xf8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0xf8(%rbp)
jmp 0xfcd2
jmp 0xff74
movl -0xe4(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0xfce4
jmp 0xff8a
movl -0xf0(%rbp), %eax
movl %eax, -0xe4(%rbp)
movl -0xe4(%rbp), %eax
movl -0xf0(%rbp), %ecx
addl -0xf8(%rbp), %ecx
cmpl %ecx, %eax
jg 0x1020c
movslq -0xe4(%rbp), %rsi
leaq 0x8682(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x768(%rbp)
jmp 0xffd8
movq -0x768(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x101f6
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x8643(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x317f(%rip), %rsi      # 0x1318b
callq 0x8e90
movb %al, -0x769(%rbp)
jmp 0x10019
movb -0x769(%rbp), %al
testb $0x1, %al
jne 0x10028
jmp 0x101f6
movslq -0xe4(%rbp), %rsi
leaq 0x860a(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10bd0
movss %xmm0, -0x770(%rbp)
jmp 0x10051
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x85dd(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10bd0
movss %xmm0, -0x774(%rbp)
jmp 0x1007e
movss -0x774(%rbp), %xmm1
movss -0x770(%rbp), %xmm0
addss %xmm1, %xmm0
leaq -0x3e0(%rbp), %rdi
callq 0x10b80
jmp 0x100a0
leaq -0x30(%rbp), %rdi
movq %rdi, -0x788(%rbp)
leaq -0x3e0(%rbp), %rsi
movq %rsi, -0x790(%rbp)
callq 0x3350
movq -0x790(%rbp), %rdi
callq 0x31d0
movq -0x788(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x780(%rbp)
jmp 0x100e3
movq -0x780(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2b, %eax
je 0x1014c
xorl %eax, %eax
movl %eax, %esi
leaq -0x30(%rbp), %rdi
callq 0x34c0
movq %rax, -0x798(%rbp)
jmp 0x10108
movq -0x798(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x1014c
leaq 0x3016(%rip), %rsi      # 0x13134
leaq -0x400(%rbp), %rdi
leaq -0x30(%rbp), %rdx
callq 0x90c0
jmp 0x10130
leaq -0x30(%rbp), %rdi
leaq -0x400(%rbp), %rsi
callq 0x3350
leaq -0x400(%rbp), %rdi
callq 0x31d0
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x84e2(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq -0x30(%rbp), %rsi
callq 0x3050
jmp 0x10171
leaq 0x84c8(%rip), %rdi      # 0x18640
movq %rdi, -0x7a8(%rbp)
callq 0x9a10
movq %rax, -0x418(%rbp)
movslq -0xe4(%rbp), %rsi
leaq -0x418(%rbp), %rdi
callq 0x10b00
movq %rax, -0x410(%rbp)
leaq -0x408(%rbp), %rdi
leaq -0x410(%rbp), %rsi
callq 0x10b40
movq -0x7a8(%rbp), %rdi
movq -0x408(%rbp), %rsi
callq 0x10a90
movq %rax, -0x7a0(%rbp)
jmp 0x101d4
movq -0x7a0(%rbp), %rax
movq %rax, -0x420(%rbp)
movl -0xf8(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xf8(%rbp)
jmp 0xff8a
jmp 0x101f8
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0xff96
jmp 0x1020e
movl -0xf0(%rbp), %eax
movl %eax, -0xe4(%rbp)
movl -0xe4(%rbp), %eax
movl -0xf0(%rbp), %ecx
addl -0xf8(%rbp), %ecx
cmpl %ecx, %eax
jg 0x10490
movslq -0xe4(%rbp), %rsi
leaq 0x83fe(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x7b0(%rbp)
jmp 0x1025c
movq -0x7b0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2b, %eax
jne 0x1047a
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x83bf(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x2efb(%rip), %rsi      # 0x1318b
callq 0x8e90
movb %al, -0x7b1(%rbp)
jmp 0x1029d
movb -0x7b1(%rbp), %al
testb $0x1, %al
jne 0x102ac
jmp 0x1047a
movslq -0xe4(%rbp), %rsi
leaq 0x8386(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10bd0
movss %xmm0, -0x7b8(%rbp)
jmp 0x102d5
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x8359(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10bd0
movss %xmm0, -0x7bc(%rbp)
jmp 0x10302
movss -0x7bc(%rbp), %xmm1
movss -0x7b8(%rbp), %xmm0
addss %xmm1, %xmm0
leaq -0x440(%rbp), %rdi
callq 0x10b80
jmp 0x10324
leaq -0x30(%rbp), %rdi
movq %rdi, -0x7d0(%rbp)
leaq -0x440(%rbp), %rsi
movq %rsi, -0x7d8(%rbp)
callq 0x3350
movq -0x7d8(%rbp), %rdi
callq 0x31d0
movq -0x7d0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x34c0
movq %rax, -0x7c8(%rbp)
jmp 0x10367
movq -0x7c8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2b, %eax
je 0x103d0
xorl %eax, %eax
movl %eax, %esi
leaq -0x30(%rbp), %rdi
callq 0x34c0
movq %rax, -0x7e0(%rbp)
jmp 0x1038c
movq -0x7e0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x103d0
leaq 0x2d92(%rip), %rsi      # 0x13134
leaq -0x460(%rbp), %rdi
leaq -0x30(%rbp), %rdx
callq 0x90c0
jmp 0x103b4
leaq -0x30(%rbp), %rdi
leaq -0x460(%rbp), %rsi
callq 0x3350
leaq -0x460(%rbp), %rdi
callq 0x31d0
movl -0xe4(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq 0x825e(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq -0x30(%rbp), %rsi
callq 0x3050
jmp 0x103f5
leaq 0x8244(%rip), %rdi      # 0x18640
movq %rdi, -0x7f0(%rbp)
callq 0x9a10
movq %rax, -0x478(%rbp)
movslq -0xe4(%rbp), %rsi
leaq -0x478(%rbp), %rdi
callq 0x10b00
movq %rax, -0x470(%rbp)
leaq -0x468(%rbp), %rdi
leaq -0x470(%rbp), %rsi
callq 0x10b40
movq -0x7f0(%rbp), %rdi
movq -0x468(%rbp), %rsi
callq 0x10a90
movq %rax, -0x7e8(%rbp)
jmp 0x10458
movq -0x7e8(%rbp), %rax
movq %rax, -0x480(%rbp)
movl -0xf8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0xf8(%rbp)
jmp 0x1020e
jmp 0x1047c
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0x1021a
movl $0x0, 0x81be(%rip)      # 0x18658
movl $0x0, -0xe4(%rbp)
movslq -0xe4(%rbp), %rax
movq %rax, -0x7f8(%rbp)
leaq 0x8187(%rip), %rdi      # 0x18640
callq 0x53c0
movq %rax, %rcx
movq -0x7f8(%rbp), %rax
cmpq %rcx, %rax
jae 0x105d2
movslq -0xe4(%rbp), %rsi
leaq 0x8161(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x2c46(%rip), %rsi      # 0x13134
callq 0x4be0
movb %al, -0x7f9(%rbp)
jmp 0x104fb
movb -0x7f9(%rbp), %al
testb $0x1, %al
jne 0x105ad
jmp 0x1050b
movslq -0xe4(%rbp), %rsi
leaq 0x8127(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x2c0e(%rip), %rsi      # 0x13136
callq 0x4be0
movb %al, -0x7fa(%rbp)
jmp 0x10535
movb -0x7fa(%rbp), %al
testb $0x1, %al
jne 0x105ad
jmp 0x10541
movslq -0xe4(%rbp), %rsi
leaq 0x80f1(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x2bdc(%rip), %rsi      # 0x1313a
callq 0x4be0
movb %al, -0x7fb(%rbp)
jmp 0x1056b
movb -0x7fb(%rbp), %al
testb $0x1, %al
jne 0x105ad
jmp 0x10577
movslq -0xe4(%rbp), %rsi
leaq 0x80bb(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x2ba4(%rip), %rsi      # 0x13138
callq 0x4be0
movb %al, -0x7fc(%rbp)
jmp 0x105a1
movb -0x7fc(%rbp), %al
testb $0x1, %al
jne 0x105ad
jmp 0x105bc
movl 0x80a5(%rip), %eax      # 0x18658
addl $0x1, %eax
movl %eax, 0x809c(%rip)      # 0x18658
jmp 0x105be
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0x104a4
cmpl $0x0, 0x807f(%rip)      # 0x18658
jle 0x1078e
movl -0xf0(%rbp), %eax
movl %eax, -0xe4(%rbp)
movl -0xe4(%rbp), %eax
movl -0xf0(%rbp), %ecx
addl -0xf8(%rbp), %ecx
cmpl %ecx, %eax
jge 0x1078c
movslq -0xe4(%rbp), %rsi
leaq 0x802d(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x2b69(%rip), %rsi      # 0x1318b
callq 0x4be0
movb %al, -0x7fd(%rbp)
jmp 0x1062f
movb -0x7fd(%rbp), %al
testb $0x1, %al
jne 0x1063e
jmp 0x10776
movl -0xe4(%rbp), %eax
addl $0x2, %eax
movslq %eax, %rsi
leaq 0x7fef(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x2a39(%rip), %rsi      # 0x13099
callq 0x4be0
movb %al, -0x7fe(%rbp)
jmp 0x1066d
movb -0x7fe(%rbp), %al
testb $0x1, %al
jne 0x1067c
jmp 0x10776
leaq 0x7fbd(%rip), %rdi      # 0x18640
movq %rdi, -0x810(%rbp)
callq 0x9a10
movq %rax, -0x498(%rbp)
movslq -0xe4(%rbp), %rsi
leaq -0x498(%rbp), %rdi
callq 0x10b00
movq %rax, -0x490(%rbp)
leaq -0x488(%rbp), %rdi
leaq -0x490(%rbp), %rsi
callq 0x10b40
movq -0x810(%rbp), %rdi
movq -0x488(%rbp), %rsi
callq 0x10a90
movq %rax, -0x808(%rbp)
jmp 0x106df
movq -0x808(%rbp), %rax
movq %rax, -0x4a0(%rbp)
leaq 0x7f4c(%rip), %rdi      # 0x18640
movq %rdi, -0x820(%rbp)
callq 0x9a10
movq %rax, -0x4c0(%rbp)
movslq -0xe4(%rbp), %rsi
leaq -0x4c0(%rbp), %rdi
callq 0x10b00
movq %rax, -0x4b8(%rbp)
leaq -0x4b8(%rbp), %rdi
movl $0x1, %esi
callq 0x10b00
movq %rax, -0x4b0(%rbp)
leaq -0x4a8(%rbp), %rdi
leaq -0x4b0(%rbp), %rsi
callq 0x10b40
movq -0x820(%rbp), %rdi
movq -0x4a8(%rbp), %rsi
callq 0x10a90
movq %rax, -0x818(%rbp)
jmp 0x10768
movq -0x818(%rbp), %rax
movq %rax, -0x4c8(%rbp)
jmp 0x10778
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0x105eb
jmp 0x1078e
movq -0x530(%rbp), %rdi
leaq 0x29f6(%rip), %rsi      # 0x13192
callq 0x33a0
jmp 0x107a3
movl $0x0, -0xe4(%rbp)
movslq -0xe4(%rbp), %rax
movq %rax, -0x828(%rbp)
leaq 0x7e7e(%rip), %rdi      # 0x18640
callq 0x53c0
movq %rax, %rcx
movq -0x828(%rbp), %rax
cmpq %rcx, %rax
jae 0x1080d
movslq -0xe4(%rbp), %rsi
leaq 0x7e5c(%rip), %rdi      # 0x18640
callq 0xc5f0
movq -0x530(%rbp), %rdi
movq %rax, %rsi
callq 0x3380
jmp 0x107fa
jmp 0x107fc
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0x107ad
movq -0x530(%rbp), %rdi
leaq 0x2977(%rip), %rsi      # 0x13192
callq 0x33a0
jmp 0x10822
movl $0x0, -0xec(%rbp)
movl $0x0, -0xf0(%rbp)
movl $0x0, -0xe4(%rbp)
movslq -0xe4(%rbp), %rax
movq %rax, -0x830(%rbp)
leaq 0x7deb(%rip), %rdi      # 0x18640
callq 0x53c0
movq %rax, %rcx
movq -0x830(%rbp), %rax
cmpq %rcx, %rax
jae 0x108f8
movslq -0xe4(%rbp), %rsi
leaq 0x7dc5(%rip), %rdi      # 0x18640
callq 0xc5f0
movq -0x530(%rbp), %rdi
movq %rax, %rsi
callq 0x3380
jmp 0x10891
movslq -0xe4(%rbp), %rsi
leaq 0x7da1(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rdi
leaq 0x28dd(%rip), %rsi      # 0x1318b
callq 0x4be0
movb %al, -0x831(%rbp)
jmp 0x108bb
movb -0x831(%rbp), %al
testb $0x1, %al
jne 0x108c7
jmp 0x108e2
movl -0xec(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xec(%rbp)
movl -0xe4(%rbp), %eax
movl %eax, -0xf0(%rbp)
jmp 0x108e4
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0x10840
movl -0xf0(%rbp), %eax
incl %eax
movslq %eax, %rsi
leaq 0x7d36(%rip), %rdi      # 0x18640
callq 0xc5f0
movq %rax, %rsi
leaq -0x30(%rbp), %rdi
callq 0x3050
jmp 0x1091d
leaq 0x7d1c(%rip), %rdi      # 0x18640
callq 0x10c10
cmpl $0x0, 0x7d28(%rip)      # 0x18658
jle 0x10994
movq -0x530(%rbp), %rsi
leaq -0x4e8(%rbp), %rdi
callq 0x3150
jmp 0x10947
movq -0x528(%rbp), %rdi
leaq -0x4e8(%rbp), %rsi
callq 0xe160
jmp 0x1095c
leaq -0x4e8(%rbp), %rdi
callq 0x31d0
movl $0x1, -0x4ec(%rbp)
jmp 0x109fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x4e8(%rbp), %rdi
callq 0x31d0
jmp 0x10a44
xorl %eax, %eax
movl %eax, %esi
leaq -0x30(%rbp), %rdi
movl $0xa, %edx
callq 0x10c30
movl %eax, -0x838(%rbp)
jmp 0x109ae
movl -0x838(%rbp), %esi
leaq -0x510(%rbp), %rdi
callq 0x92d0
jmp 0x109c2
movq -0x530(%rbp), %rdi
leaq -0x510(%rbp), %rsi
callq 0x3350
leaq -0x510(%rbp), %rdi
callq 0x31d0
movq -0x530(%rbp), %rsi
movq -0x528(%rbp), %rdi
callq 0x31b0
movl $0x1, -0x4ec(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x31d0
leaq -0xb0(%rbp), %rdi
callq 0x31d0
leaq -0x88(%rbp), %rdi
callq 0x31d0
leaq -0x50(%rbp), %rdi
callq 0x31d0
leaq -0x30(%rbp), %rdi
callq 0x31d0
movq -0x520(%rbp), %rax
addq $0x840, %rsp            # imm = 0x840
popq %rbp
retq
leaq -0xd8(%rbp), %rdi
callq 0x31d0
leaq -0xb0(%rbp), %rdi
callq 0x31d0
leaq -0x88(%rbp), %rdi
callq 0x31d0
leaq -0x50(%rbp), %rdi
callq 0x31d0
leaq -0x30(%rbp), %rdi
callq 0x31d0
movq -0x60(%rbp), %rdi
callq 0x3460
nopw %cs:(%rax,%rax)
nopl (%rax)