// File: /workspace/github_cpp_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %r15
leaq 0x420(%rdi), %r14
leaq 0x5180(%rip), %rsi      # 0xc218
movl $0x2c, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %rbx
movq %rbx, %rdi
callq 0x499a
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %rbx
leaq 0x47c6(%rip), %rsi      # 0xb898
movl $0xa, %edx
movq %rax, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
leaq -0x68(%rbp), %rdi
callq 0x49d4
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
movq %rbx, %rdi
callq 0x2260
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
leaq -0x58(%rbp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x7140
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x38(%rbp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x7159
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
movl 0x10(%r15), %edx
leal -0x1(%rdx), %eax
cmpl $0x1d, %eax
ja 0x82b2
leaq 0x45d0(%rip), %rcx      # 0xb740
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x5259(%rip), %rsi      # 0xc3d9
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6390
movl %eax, %ebx
leaq 0x507d(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x5111(%rip), %rsi      # 0xc34d
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6b78
movl %eax, %r12d
movq %r15, %rdi
callq 0x6390
movl %eax, %ebx
leaq 0x4fb6(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x81d9
leaq 0x5090(%rip), %rsi      # 0xc393
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6390
movl %eax, %ebx
leaq 0x4efa(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x4f64(%rip), %rsi      # 0xc323
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6b78
movl %eax, %ebx
leaq 0x4e3e(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x4f50(%rip), %rsi      # 0xc3cb
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6390
movl %eax, %ebx
leaq 0x4d82(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x4e78(%rip), %rsi      # 0xc3af
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6390
movl %eax, %ebx
leaq 0x4cc6(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x4d06(%rip), %rsi      # 0xc2f9
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6b78
movl %eax, %ebx
leaq 0x4c0a(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x4b96(%rip), %rsi      # 0xc245
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6b78
movl %eax, %r13d
movq %r15, %rdi
callq 0x6b78
movl %eax, %ebx
movq %r15, %rdi
callq 0x9a36
movl %eax, %r12d
leaq 0x4b38(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
addl %r13d, %ebx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
jne 0x81e2
jmp 0x81ee
leaq 0x4c52(%rip), %rsi      # 0xc3e7
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6b78
movl %eax, %ebx
leaq 0x4a68(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x4b50(%rip), %rsi      # 0xc3a1
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6390
movl %eax, %ebx
leaq 0x49ac(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x4a08(%rip), %rsi      # 0xc315
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6b78
movl %eax, %ebx
leaq 0x48f0(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x4992(%rip), %rsi      # 0xc35b
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6b78
movl %eax, %r12d
movq %r15, %rdi
callq 0x6390
movl %eax, %ebx
leaq 0x4829(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x81d9
leaq 0x4965(%rip), %rsi      # 0xc3f5
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
leaq 0x4777(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %rbx
movq %rbx, %rdi
callq 0x499a
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x7b4b
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
xorl %ebx, %ebx
jmp 0x8602
leaq 0x47ae(%rip), %rsi      # 0xc307
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6b78
movl %eax, %ebx
leaq 0x46a4(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x466a(%rip), %rsi      # 0xc27f
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
xorl %r13d, %r13d
cmpl $0x1f, %eax
je 0x7cc7
movq 0x8(%r15), %rsi
leaq -0x68(%rbp), %rbx
movq %rbx, %rdi
movl %eax, %edx
callq 0x499a
leaq 0x4612(%rip), %rsi      # 0xc28d
leaq -0x48(%rbp), %rdi
movq %rbx, %rdx
callq 0xa659
leaq -0x38(%rbp), %r13
leaq -0x48(%rbp), %rsi
movq %r15, %rdi
callq 0x56f4
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x7cac
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x7cc1
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x2210
movl $0x1, %r13d
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0xa1ee
movl %eax, %ebx
leaq 0x456e(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x7d58
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
addl %r13d, %ebx
jmp 0x8602
leaq 0x455a(%rip), %rsi      # 0xc2c1
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6b78
movl %eax, %r12d
movq %r15, %rdi
callq 0x6b78
movl %eax, %ebx
leaq 0x448b(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x81d9
leaq 0x458f(%rip), %rsi      # 0xc3bd
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6390
movl %eax, %ebx
leaq 0x43cf(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x43c9(%rip), %rsi      # 0xc2b3
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6b78
movl %eax, %ebx
leaq 0x4313(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x4329(%rip), %rsi      # 0xc2cf
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6390
movl %eax, %ebx
leaq 0x4257(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x42cf(%rip), %rsi      # 0xc331
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6b78
movl %eax, %ebx
leaq 0x419b(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x4259(%rip), %rsi      # 0xc377
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6b78
movl %eax, %r12d
movq %r15, %rdi
callq 0x6b78
movl %eax, %ebx
leaq 0x40d4(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x81ee
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
addl %r12d, %ebx
jmp 0x8602
leaq 0x40ee(%rip), %rsi      # 0xc2eb
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6b78
movl %eax, %ebx
leaq 0x4000(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
movq 0x8(%r15), %rsi
leaq -0x68(%rbp), %rbx
movq %rbx, %rdi
callq 0x499a
leaq 0x413a(%rip), %rcx      # 0xc403
movl $0x29, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2240
movq %r13, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x8613
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x861b
leaq 0x3fd4(%rip), %rsi      # 0xc2dd
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6390
movl %eax, %ebx
leaq 0x3ef4(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x3f7a(%rip), %rsi      # 0xc33f
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6390
movl %eax, %ebx
leaq 0x3e38(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x3f04(%rip), %rsi      # 0xc385
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6b78
movl %eax, %ebx
leaq 0x3d7c(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
jmp 0x85ed
leaq 0x3e2c(%rip), %rsi      # 0xc369
movl $0xd, %edx
movq %r14, %rdi
callq 0x2260
movq 0x420(%r15), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
movq %r15, %rdi
callq 0x6390
movl %eax, %ebx
leaq 0x3cc0(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x499a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x8602
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
movl %ebx, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq -0x48(%rbp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r15, %rdi
callq 0x56f4
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x8653
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x8668
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x2210
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
leaq 0x3bd7(%rip), %rsi      # 0xc253
movl $0x2b, %edx
movq %r14, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
movl 0x10(%r15), %edx
leaq -0x48(%rbp), %rbx
movq %rbx, %rdi
callq 0x499a
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x86eb
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
movl $0x1, %ebx
jmp 0x8602
jmp 0x86f9
jmp 0x8713
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x8716
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
jmp 0x8716
movq %rax, %rbx
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x87b5
movq -0x58(%rbp), %rsi
jmp 0x87ad
jmp 0x876b
jmp 0x8754
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
jmp 0x87a4
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
jmp 0x876b
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
jne 0x87a9
jmp 0x87b5
jmp 0x877b
movq %rax, %rbx
jmp 0x879c
movq %rax, %rbx
leaq -0x58(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x879c
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x87b5
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
movq %rbx, %rdi
callq 0x2340
nop