// File: ssubrandon[P]460Project2/SyntacticalAnalyzer.cpp
// Function: SyntacticalAnalyzer::action()
int SyntacticalAnalyzer::action(){
  //This function deals with the action rules (24-49) and will check for syntactical correctness,
  //this function will then, depending on the token seen, send the program to stmt, stmt-list, stmt and stmt-list, or return. 
  ruleFile << "Entering Action function; Current token is: " << lex ->GetTokenName(token) << ", lexeme: " << lex->GetLexeme() << endl;

	int errors = 0;
	if (token == IF_T)
	{//applying rule 24
		ruleFile << "Using Rule 24" << endl;
		token = lex->GetToken();
		errors += stmt();
		errors += stmt();
		errors+= else_part();
		ruleFile << "Exiting action function; current token is: " << lex ->GetTokenName (token) << endl;
		return errors;
	}
	if (token == COND_T)
	{//applying rule 25
		ruleFile << "Using Rule 25" << endl;
		token = lex->GetToken();

		if (token != LPAREN_T){
			errors++;
			ReportError(string("LPAREN_T expected in action, but see " + lex->GetTokenName(token)));
		}

		token = lex->GetToken();
		errors+= stmt_pair_body();
		ruleFile << "Exiting action function; current token is: " << lex ->GetTokenName (token) << endl;
		return errors;
	}
	if ( token == LISTOP_T){
		//RULE 26
		ruleFile << "Using Rule 26" << endl;
		token = lex->GetToken();
		errors += stmt();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == CONS_T){
		//RULE 27
		ruleFile << "Using Rule 27" << endl;
		token = lex->GetToken();
		errors += stmt();
		errors += stmt();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == AND_T){
		//RULE 28
		ruleFile << "Using Rule 28" << endl;
		token = lex->GetToken();
		errors += stmt_list();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == OR_T){
		//RULE 29
		ruleFile << "Using Rule 29" << endl;
		token = lex->GetToken();
		errors += stmt_list();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == NOT_T){
		//RULE 30
		ruleFile << "Using Rule 30" << endl;
		token = lex->GetToken();
		errors += stmt();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == NUMBERP_T){
		//RULE 31
		ruleFile << "Using Rule 31" << endl;
		token = lex->GetToken();
		errors += stmt();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == LISTP_T){
		//RULE 32
		ruleFile << "Using Rule 32" << endl;
		token = lex->GetToken();
		errors += stmt();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == ZEROP_T){
		//RULE 33
		ruleFile << "Using Rule 33" << endl;
		token = lex->GetToken();
		errors += stmt();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == NULLP_T){
		//RULE 34
		ruleFile << "Using Rule 34" << endl;
		token = lex->GetToken();
		errors += stmt();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == STRINGP_T){
		//RULE 35
		ruleFile << "Using Rule 35" << endl;
		token = lex->GetToken();
		errors += stmt();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == PLUS_T){
		//RULE 36
		ruleFile << "Using Rule 36" << endl;
		token = lex->GetToken();
		errors += stmt_list();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == MINUS_T){
		//RULE 37
		ruleFile << "Using Rule 37" << endl;
		token = lex->GetToken();
		errors += stmt();
		errors += stmt_list();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == DIV_T){
		//RULE 38
		ruleFile << "Using Rule 38" << endl;
		token = lex->GetToken();
		errors += stmt();
		errors += stmt_list();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == MULT_T){
		//RULE 39
		ruleFile << "Using Rule 39" << endl;
		token = lex->GetToken();
		errors += stmt_list();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == MODULO_T){
		//RULE 40
		ruleFile << "Using Rule 40" << endl;
		token = lex->GetToken();
		errors += stmt();
		errors += stmt();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == ROUND_T){
		//RULE 41
		ruleFile << "Using Rule 41" << endl;
		token = lex->GetToken();
		errors += stmt();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == EQUALTO_T){
		//RULE 42
		ruleFile << "Using Rule 42" << endl;
		token = lex->GetToken();
		errors += stmt_list();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == GT_T){
		//RULE 43
		ruleFile << "Using Rule 43" << endl;
		token = lex->GetToken();
		errors += stmt_list();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == LT_T){
		//RULE 44
		ruleFile << "Using Rule 44" << endl;
		token = lex->GetToken();
		errors += stmt_list();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == GTE_T){
		//RULE 45
		ruleFile << "Using Rule 45" << endl;
		token = lex->GetToken();
		errors += stmt_list();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == LTE_T){
		//RULE 46
		ruleFile << "Using Rule 46" << endl;
		token = lex->GetToken();
		errors += stmt_list();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == IDENT_T){
		//RULE 47
		ruleFile << "Using Rule 47" << endl;
		token = lex->GetToken();
		errors += stmt_list();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == DISPLAY_T){
		//RULE 48
		ruleFile << "Using Rule 48" << endl;
		token = lex->GetToken();
		errors += stmt();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	if ( token == NEWLINE_T){
		//RULE 49
		ruleFile << "Using Rule 49" << endl;
		token = lex->GetToken();
		ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
		return errors;
	}
	//no rule found
	//ruleFile << "error in action" << endl;
	errors++;
	ReportError(string("no rule found in action, curren token is " + lex->GetTokenName(token)));
	token = lex->GetToken();
	ruleFile << "Exiting action function; current token is: " << lex->GetTokenName(token) << endl;
	return errors;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x7e0, %rsp            # imm = 0x7E0
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x468(%rbp)
addq $0x420, %rdi            # imm = 0x420
leaq 0x613c(%rip), %rsi      # 0x10dd4
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x460(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x30(%rbp), %rdi
movq %rdi, -0x458(%rbp)
callq 0x6f40
movq -0x460(%rbp), %rdi
movq -0x458(%rbp), %rsi
callq 0x3240
movq %rax, -0x450(%rbp)
jmp 0xace1
movq -0x450(%rbp), %rdi
leaq 0x5765(%rip), %rsi      # 0x10454
callq 0x3270
movq %rax, -0x470(%rbp)
jmp 0xacfd
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rsi
leaq -0x60(%rbp), %rdi
callq 0x6f80
jmp 0xad13
movq -0x470(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x3240
movq %rax, -0x478(%rbp)
jmp 0xad2c
movq -0x478(%rbp), %rdi
movq 0xa286(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xad41
leaq -0x60(%rbp), %rdi
callq 0x34b8
leaq -0x30(%rbp), %rdi
callq 0x34b8
movq -0x468(%rbp), %rax
movl $0x0, -0x64(%rbp)
cmpl $0x5, 0x10(%rax)
jne 0xaec4
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x498(%rbp)
leaq 0x607a(%rip), %rsi      # 0x10e01
callq 0x3270
movq %rax, %rdi
movq 0xa22a(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0xa6e0
movq -0x468(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
callq 0xa6e0
movq -0x468(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
callq 0xe440
movq -0x498(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x6011(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x490(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x88(%rbp), %rdi
movq %rdi, -0x488(%rbp)
callq 0x6f40
movq -0x490(%rbp), %rdi
movq -0x488(%rbp), %rsi
callq 0x3240
movq %rax, -0x480(%rbp)
jmp 0xae4a
movq -0x480(%rbp), %rdi
movq 0xa168(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xae5f
leaq -0x88(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xae99
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x34b8
leaq -0x30(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x6, 0x10(%rax)
jne 0xb0a2
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
leaq 0x5f51(%rip), %rsi      # 0x10e3b
callq 0x3270
movq %rax, %rdi
movq 0xa0c7(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movl %eax, %ecx
movq -0x468(%rbp), %rax
movl %ecx, 0x10(%rax)
cmpl $0x1f, 0x10(%rax)
je 0xafcf
movq -0x468(%rbp), %rax
movl -0x64(%rbp), %ecx
incl %ecx
movl %ecx, -0x64(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0xc8(%rbp), %rdi
movq %rdi, -0x4a0(%rbp)
callq 0x6f40
movq -0x4a0(%rbp), %rdx
leaq 0x5eee(%rip), %rsi      # 0x10e49
leaq -0xa8(%rbp), %rdi
callq 0xf1b0
jmp 0xaf69
movq -0x468(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x91a0
jmp 0xaf7e
leaq -0xa8(%rbp), %rdi
callq 0x34b8
leaq -0xc8(%rbp), %rdi
callq 0x34b8
jmp 0xafcf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xafbe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x34b8
leaq -0xc8(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0xecb0
movq -0x468(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
addq $0x420, %rdi            # imm = 0x420
leaq 0x5e02(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x4b8(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0xe8(%rbp), %rdi
movq %rdi, -0x4b0(%rbp)
callq 0x6f40
movq -0x4b8(%rbp), %rdi
movq -0x4b0(%rbp), %rsi
callq 0x3240
movq %rax, -0x4a8(%rbp)
jmp 0xb059
movq -0x4a8(%rbp), %rdi
movq 0x9f59(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xb06e
leaq -0xe8(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x9, 0x10(%rax)
jne 0xb1af
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x4d8(%rbp)
leaq 0x5da0(%rip), %rsi      # 0x10e6f
callq 0x3270
movq %rax, %rdi
movq 0x9ee2(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0xa6e0
movq -0x4d8(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x5cf5(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x4d0(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x108(%rbp), %rdi
movq %rdi, -0x4c8(%rbp)
callq 0x6f40
movq -0x4d0(%rbp), %rdi
movq -0x4c8(%rbp), %rsi
callq 0x3240
movq %rax, -0x4c0(%rbp)
jmp 0xb166
movq -0x4c0(%rbp), %rdi
movq 0x9e4c(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xb17b
leaq -0x108(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x4, 0x10(%rax)
jne 0xb2d2
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x4f8(%rbp)
leaq 0x5ca1(%rip), %rsi      # 0x10e7d
callq 0x3270
movq %rax, %rdi
movq 0x9dd5(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0xa6e0
movq -0x468(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
callq 0xa6e0
movq -0x4f8(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x5bd2(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x4f0(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x128(%rbp), %rdi
movq %rdi, -0x4e8(%rbp)
callq 0x6f40
movq -0x4f0(%rbp), %rdi
movq -0x4e8(%rbp), %rsi
callq 0x3240
movq %rax, -0x4e0(%rbp)
jmp 0xb289
movq -0x4e0(%rbp), %rdi
movq 0x9d29(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xb29e
leaq -0x128(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x128(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0xa, 0x10(%rax)
jne 0xb3df
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x518(%rbp)
leaq 0x5b8c(%rip), %rsi      # 0x10e8b
callq 0x3270
movq %rax, %rdi
movq 0x9cb2(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0x9e00
movq -0x518(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x5ac5(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x510(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x148(%rbp), %rdi
movq %rdi, -0x508(%rbp)
callq 0x6f40
movq -0x510(%rbp), %rdi
movq -0x508(%rbp), %rsi
callq 0x3240
movq %rax, -0x500(%rbp)
jmp 0xb396
movq -0x500(%rbp), %rdi
movq 0x9c1c(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xb3ab
leaq -0x148(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x148(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0xb, 0x10(%rax)
jne 0xb4ec
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x538(%rbp)
leaq 0x5a8d(%rip), %rsi      # 0x10e99
callq 0x3270
movq %rax, %rdi
movq 0x9ba5(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0x9e00
movq -0x538(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x59b8(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x530(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x168(%rbp), %rdi
movq %rdi, -0x528(%rbp)
callq 0x6f40
movq -0x530(%rbp), %rdi
movq -0x528(%rbp), %rsi
callq 0x3240
movq %rax, -0x520(%rbp)
jmp 0xb4a3
movq -0x520(%rbp), %rdi
movq 0x9b0f(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xb4b8
leaq -0x168(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0xc, 0x10(%rax)
jne 0xb5f9
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x558(%rbp)
leaq 0x598e(%rip), %rsi      # 0x10ea7
callq 0x3270
movq %rax, %rdi
movq 0x9a98(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0xa6e0
movq -0x558(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x58ab(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x550(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x188(%rbp), %rdi
movq %rdi, -0x548(%rbp)
callq 0x6f40
movq -0x550(%rbp), %rdi
movq -0x548(%rbp), %rsi
callq 0x3240
movq %rax, -0x540(%rbp)
jmp 0xb5b0
movq -0x540(%rbp), %rdi
movq 0x9a02(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xb5c5
leaq -0x188(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0xe, 0x10(%rax)
jne 0xb706
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x578(%rbp)
leaq 0x588f(%rip), %rsi      # 0x10eb5
callq 0x3270
movq %rax, %rdi
movq 0x998b(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0xa6e0
movq -0x578(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x579e(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x570(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x1a8(%rbp), %rdi
movq %rdi, -0x568(%rbp)
callq 0x6f40
movq -0x570(%rbp), %rdi
movq -0x568(%rbp), %rsi
callq 0x3240
movq %rax, -0x560(%rbp)
jmp 0xb6bd
movq -0x560(%rbp), %rdi
movq 0x98f5(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xb6d2
leaq -0x1a8(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x1a8(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0xf, 0x10(%rax)
jne 0xb813
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x598(%rbp)
leaq 0x5790(%rip), %rsi      # 0x10ec3
callq 0x3270
movq %rax, %rdi
movq 0x987e(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0xa6e0
movq -0x598(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x5691(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x590(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x1c8(%rbp), %rdi
movq %rdi, -0x588(%rbp)
callq 0x6f40
movq -0x590(%rbp), %rdi
movq -0x588(%rbp), %rsi
callq 0x3240
movq %rax, -0x580(%rbp)
jmp 0xb7ca
movq -0x580(%rbp), %rdi
movq 0x97e8(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xb7df
leaq -0x1c8(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x10, 0x10(%rax)
jne 0xb920
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x5b8(%rbp)
leaq 0x5691(%rip), %rsi      # 0x10ed1
callq 0x3270
movq %rax, %rdi
movq 0x9771(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0xa6e0
movq -0x5b8(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x5584(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x5b0(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x1e8(%rbp), %rdi
movq %rdi, -0x5a8(%rbp)
callq 0x6f40
movq -0x5b0(%rbp), %rdi
movq -0x5a8(%rbp), %rsi
callq 0x3240
movq %rax, -0x5a0(%rbp)
jmp 0xb8d7
movq -0x5a0(%rbp), %rdi
movq 0x96db(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xb8ec
leaq -0x1e8(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x11, 0x10(%rax)
jne 0xba2d
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x5d8(%rbp)
leaq 0x5592(%rip), %rsi      # 0x10edf
callq 0x3270
movq %rax, %rdi
movq 0x9664(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0xa6e0
movq -0x5d8(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x5477(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x5d0(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x208(%rbp), %rdi
movq %rdi, -0x5c8(%rbp)
callq 0x6f40
movq -0x5d0(%rbp), %rdi
movq -0x5c8(%rbp), %rsi
callq 0x3240
movq %rax, -0x5c0(%rbp)
jmp 0xb9e4
movq -0x5c0(%rbp), %rdi
movq 0x95ce(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xb9f9
leaq -0x208(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x208(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x12, 0x10(%rax)
jne 0xbb3a
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x5f8(%rbp)
leaq 0x5493(%rip), %rsi      # 0x10eed
callq 0x3270
movq %rax, %rdi
movq 0x9557(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0xa6e0
movq -0x5f8(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x536a(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x5f0(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x228(%rbp), %rdi
movq %rdi, -0x5e8(%rbp)
callq 0x6f40
movq -0x5f0(%rbp), %rdi
movq -0x5e8(%rbp), %rsi
callq 0x3240
movq %rax, -0x5e0(%rbp)
jmp 0xbaf1
movq -0x5e0(%rbp), %rdi
movq 0x94c1(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xbb06
leaq -0x228(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x228(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x16, 0x10(%rax)
jne 0xbc47
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x618(%rbp)
leaq 0x5394(%rip), %rsi      # 0x10efb
callq 0x3270
movq %rax, %rdi
movq 0x944a(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0x9e00
movq -0x618(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x525d(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x610(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x248(%rbp), %rdi
movq %rdi, -0x608(%rbp)
callq 0x6f40
movq -0x610(%rbp), %rdi
movq -0x608(%rbp), %rsi
callq 0x3240
movq %rax, -0x600(%rbp)
jmp 0xbbfe
movq -0x600(%rbp), %rdi
movq 0x93b4(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xbc13
leaq -0x248(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x17, 0x10(%rax)
jne 0xbd6a
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x638(%rbp)
leaq 0x5295(%rip), %rsi      # 0x10f09
callq 0x3270
movq %rax, %rdi
movq 0x933d(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0xa6e0
movq -0x468(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
callq 0x9e00
movq -0x638(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x513a(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x630(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x268(%rbp), %rdi
movq %rdi, -0x628(%rbp)
callq 0x6f40
movq -0x630(%rbp), %rdi
movq -0x628(%rbp), %rsi
callq 0x3240
movq %rax, -0x620(%rbp)
jmp 0xbd21
movq -0x620(%rbp), %rdi
movq 0x9291(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xbd36
leaq -0x268(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x268(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x18, 0x10(%rax)
jne 0xbe8d
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x658(%rbp)
leaq 0x5180(%rip), %rsi      # 0x10f17
callq 0x3270
movq %rax, %rdi
movq 0x921a(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0xa6e0
movq -0x468(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
callq 0x9e00
movq -0x658(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x5017(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x650(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x288(%rbp), %rdi
movq %rdi, -0x648(%rbp)
callq 0x6f40
movq -0x650(%rbp), %rdi
movq -0x648(%rbp), %rsi
callq 0x3240
movq %rax, -0x640(%rbp)
jmp 0xbe44
movq -0x640(%rbp), %rdi
movq 0x916e(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xbe59
leaq -0x288(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x288(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x19, 0x10(%rax)
jne 0xbf9a
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x678(%rbp)
leaq 0x506b(%rip), %rsi      # 0x10f25
callq 0x3270
movq %rax, %rdi
movq 0x90f7(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0x9e00
movq -0x678(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x4f0a(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x670(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x2a8(%rbp), %rdi
movq %rdi, -0x668(%rbp)
callq 0x6f40
movq -0x670(%rbp), %rdi
movq -0x668(%rbp), %rsi
callq 0x3240
movq %rax, -0x660(%rbp)
jmp 0xbf51
movq -0x660(%rbp), %rdi
movq 0x9061(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xbf66
leaq -0x2a8(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x2a8(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x13, 0x10(%rax)
jne 0xc0bd
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x698(%rbp)
leaq 0x4f6c(%rip), %rsi      # 0x10f33
callq 0x3270
movq %rax, %rdi
movq 0x8fea(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0xa6e0
movq -0x468(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
callq 0xa6e0
movq -0x698(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x4de7(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x690(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x2c8(%rbp), %rdi
movq %rdi, -0x688(%rbp)
callq 0x6f40
movq -0x690(%rbp), %rdi
movq -0x688(%rbp), %rsi
callq 0x3240
movq %rax, -0x680(%rbp)
jmp 0xc074
movq -0x680(%rbp), %rdi
movq 0x8f3e(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xc089
leaq -0x2c8(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x14, 0x10(%rax)
jne 0xc1ca
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x6b8(%rbp)
leaq 0x4e57(%rip), %rsi      # 0x10f41
callq 0x3270
movq %rax, %rdi
movq 0x8ec7(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0xa6e0
movq -0x6b8(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x4cda(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x6b0(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x2e8(%rbp), %rdi
movq %rdi, -0x6a8(%rbp)
callq 0x6f40
movq -0x6b0(%rbp), %rdi
movq -0x6a8(%rbp), %rsi
callq 0x3240
movq %rax, -0x6a0(%rbp)
jmp 0xc181
movq -0x6a0(%rbp), %rdi
movq 0x8e31(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xc196
leaq -0x2e8(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x2e8(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x1a, 0x10(%rax)
jne 0xc2d7
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x6d8(%rbp)
leaq 0x4d58(%rip), %rsi      # 0x10f4f
callq 0x3270
movq %rax, %rdi
movq 0x8dba(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0x9e00
movq -0x6d8(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x4bcd(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x6d0(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x308(%rbp), %rdi
movq %rdi, -0x6c8(%rbp)
callq 0x6f40
movq -0x6d0(%rbp), %rdi
movq -0x6c8(%rbp), %rsi
callq 0x3240
movq %rax, -0x6c0(%rbp)
jmp 0xc28e
movq -0x6c0(%rbp), %rdi
movq 0x8d24(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xc2a3
leaq -0x308(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x308(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x1b, 0x10(%rax)
jne 0xc3e4
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x6f8(%rbp)
leaq 0x4c59(%rip), %rsi      # 0x10f5d
callq 0x3270
movq %rax, %rdi
movq 0x8cad(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0x9e00
movq -0x6f8(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x4ac0(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x6f0(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x328(%rbp), %rdi
movq %rdi, -0x6e8(%rbp)
callq 0x6f40
movq -0x6f0(%rbp), %rdi
movq -0x6e8(%rbp), %rsi
callq 0x3240
movq %rax, -0x6e0(%rbp)
jmp 0xc39b
movq -0x6e0(%rbp), %rdi
movq 0x8c17(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xc3b0
leaq -0x328(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x328(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x1c, 0x10(%rax)
jne 0xc4f1
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x718(%rbp)
leaq 0x4b5a(%rip), %rsi      # 0x10f6b
callq 0x3270
movq %rax, %rdi
movq 0x8ba0(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0x9e00
movq -0x718(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x49b3(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x710(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x348(%rbp), %rdi
movq %rdi, -0x708(%rbp)
callq 0x6f40
movq -0x710(%rbp), %rdi
movq -0x708(%rbp), %rsi
callq 0x3240
movq %rax, -0x700(%rbp)
jmp 0xc4a8
movq -0x700(%rbp), %rdi
movq 0x8b0a(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xc4bd
leaq -0x348(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x348(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x1d, 0x10(%rax)
jne 0xc5fe
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x738(%rbp)
leaq 0x4a5b(%rip), %rsi      # 0x10f79
callq 0x3270
movq %rax, %rdi
movq 0x8a93(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0x9e00
movq -0x738(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x48a6(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x730(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x368(%rbp), %rdi
movq %rdi, -0x728(%rbp)
callq 0x6f40
movq -0x730(%rbp), %rdi
movq -0x728(%rbp), %rsi
callq 0x3240
movq %rax, -0x720(%rbp)
jmp 0xc5b5
movq -0x720(%rbp), %rdi
movq 0x89fd(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xc5ca
leaq -0x368(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x368(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x1e, 0x10(%rax)
jne 0xc70b
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x758(%rbp)
leaq 0x495c(%rip), %rsi      # 0x10f87
callq 0x3270
movq %rax, %rdi
movq 0x8986(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0x9e00
movq -0x758(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x4799(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x750(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x388(%rbp), %rdi
movq %rdi, -0x748(%rbp)
callq 0x6f40
movq -0x750(%rbp), %rdi
movq -0x748(%rbp), %rsi
callq 0x3240
movq %rax, -0x740(%rbp)
jmp 0xc6c2
movq -0x740(%rbp), %rdi
movq 0x88f0(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xc6d7
leaq -0x388(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x388(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x1, 0x10(%rax)
jne 0xc818
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x778(%rbp)
leaq 0x485d(%rip), %rsi      # 0x10f95
callq 0x3270
movq %rax, %rdi
movq 0x8879(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0x9e00
movq -0x778(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x468c(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x770(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x3a8(%rbp), %rdi
movq %rdi, -0x768(%rbp)
callq 0x6f40
movq -0x770(%rbp), %rdi
movq -0x768(%rbp), %rsi
callq 0x3240
movq %rax, -0x760(%rbp)
jmp 0xc7cf
movq -0x760(%rbp), %rdi
movq 0x87e3(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xc7e4
leaq -0x3a8(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x3a8(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x7, 0x10(%rax)
jne 0xc925
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x798(%rbp)
leaq 0x475e(%rip), %rsi      # 0x10fa3
callq 0x3270
movq %rax, %rdi
movq 0x876c(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
callq 0xa6e0
movq -0x798(%rbp), %rdi
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x457f(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x790(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x3c8(%rbp), %rdi
movq %rdi, -0x788(%rbp)
callq 0x6f40
movq -0x790(%rbp), %rdi
movq -0x788(%rbp), %rsi
callq 0x3240
movq %rax, -0x780(%rbp)
jmp 0xc8dc
movq -0x780(%rbp), %rdi
movq 0x86d6(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xc8f1
leaq -0x3c8(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x3c8(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
cmpl $0x8, 0x10(%rax)
jne 0xca25
movq -0x468(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rdi, -0x7b8(%rbp)
leaq 0x465f(%rip), %rsi      # 0x10fb1
callq 0x3270
movq %rax, %rdi
movq 0x865f(%rip), %rsi      # 0x14fc0
callq 0x32c0
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x7b8(%rbp), %rdi
movl %eax, %ecx
movq -0x468(%rbp), %rax
movl %ecx, 0x10(%rax)
leaq 0x447f(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x7b0(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x3e8(%rbp), %rdi
movq %rdi, -0x7a8(%rbp)
callq 0x6f40
movq -0x7b0(%rbp), %rdi
movq -0x7a8(%rbp), %rsi
callq 0x3240
movq %rax, -0x7a0(%rbp)
jmp 0xc9dc
movq -0x7a0(%rbp), %rdi
movq 0x85d6(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xc9f1
leaq -0x3e8(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x3e8(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq -0x468(%rbp), %rax
movl -0x64(%rbp), %ecx
incl %ecx
movl %ecx, -0x64(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x428(%rbp), %rdi
movq %rdi, -0x7c0(%rbp)
callq 0x6f40
movq -0x7c0(%rbp), %rdx
leaq 0x4563(%rip), %rsi      # 0x10fbf
leaq -0x408(%rbp), %rdi
callq 0xf1b0
jmp 0xca6a
movq -0x468(%rbp), %rdi
leaq -0x408(%rbp), %rsi
callq 0x91a0
jmp 0xca7f
leaq -0x408(%rbp), %rdi
callq 0x34b8
leaq -0x428(%rbp), %rdi
callq 0x34b8
movq -0x468(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x5fd0
movq -0x468(%rbp), %rdi
movl %eax, 0x10(%rdi)
addq $0x420, %rdi            # imm = 0x420
leaq 0x4350(%rip), %rsi      # 0x10e0f
callq 0x3270
movq %rax, %rcx
movq -0x468(%rbp), %rax
movq %rcx, -0x7d8(%rbp)
movq 0x8(%rax), %rsi
movl 0x10(%rax), %edx
leaq -0x448(%rbp), %rdi
movq %rdi, -0x7d0(%rbp)
callq 0x6f40
movq -0x7d8(%rbp), %rdi
movq -0x7d0(%rbp), %rsi
callq 0x3240
movq %rax, -0x7c8(%rbp)
jmp 0xcb0b
movq -0x7c8(%rbp), %rdi
movq 0x84a7(%rip), %rsi      # 0x14fc0
callq 0x32c0
jmp 0xcb20
leaq -0x448(%rbp), %rdi
callq 0x34b8
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xcb82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xcb5a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x408(%rbp), %rdi
callq 0x34b8
leaq -0x428(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x448(%rbp), %rdi
callq 0x34b8
jmp 0xcb8e
movl -0x4(%rbp), %eax
addq $0x7e0, %rsp            # imm = 0x7E0
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x3430
nopw (%rax,%rax)