// File: /workspace/github_cpp_makefile_star2_O1/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 0x50fc(%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 0x4a1c
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r14, %rdi
callq 0x2260
movq %rax, %rbx
leaq 0x4742(%rip), %rsi      # 0xb898
movl $0xa, %edx
movq %rax, %rdi
callq 0x2260
movq 0x8(%r15), %rsi
leaq -0x68(%rbp), %rdi
callq 0x4a56
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 0x71c4
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x38(%rbp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x71dd
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
movl 0x10(%r15), %edx
leal -0x1(%rdx), %eax
cmpl $0x1d, %eax
ja 0x8336
leaq 0x454c(%rip), %rcx      # 0xb740
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x51d5(%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 0x6414
movl %eax, %ebx
leaq 0x4ff9(%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 0x4a1c
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 0x8671
leaq 0x508d(%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 0x6bfc
movl %eax, %r12d
movq %r15, %rdi
callq 0x6414
movl %eax, %ebx
leaq 0x4f32(%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 0x4a1c
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 0x825d
leaq 0x500c(%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 0x6414
movl %eax, %ebx
leaq 0x4e76(%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 0x4a1c
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 0x8671
leaq 0x4ee0(%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 0x6bfc
movl %eax, %ebx
leaq 0x4dba(%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 0x4a1c
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 0x8671
leaq 0x4ecc(%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 0x6414
movl %eax, %ebx
leaq 0x4cfe(%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 0x4a1c
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 0x8671
leaq 0x4df4(%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 0x6414
movl %eax, %ebx
leaq 0x4c42(%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 0x4a1c
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 0x8671
leaq 0x4c82(%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 0x6bfc
movl %eax, %ebx
leaq 0x4b86(%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 0x4a1c
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 0x8671
leaq 0x4b12(%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 0x6bfc
movl %eax, %r13d
movq %r15, %rdi
callq 0x6bfc
movl %eax, %ebx
movq %r15, %rdi
callq 0x9aba
movl %eax, %r12d
leaq 0x4ab4(%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 0x4a1c
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 0x8266
jmp 0x8272
leaq 0x4bce(%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 0x6bfc
movl %eax, %ebx
leaq 0x49e4(%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 0x4a1c
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 0x8671
leaq 0x4acc(%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 0x6414
movl %eax, %ebx
leaq 0x4928(%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 0x4a1c
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 0x8671
leaq 0x4984(%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 0x6bfc
movl %eax, %ebx
leaq 0x486c(%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 0x4a1c
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 0x8671
leaq 0x490e(%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 0x6bfc
movl %eax, %r12d
movq %r15, %rdi
callq 0x6414
movl %eax, %ebx
leaq 0x47a5(%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 0x4a1c
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 0x825d
leaq 0x48e1(%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 0x46f3(%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 0x4a1c
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 0x7bcf
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
xorl %ebx, %ebx
jmp 0x8686
leaq 0x472a(%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 0x6bfc
movl %eax, %ebx
leaq 0x4620(%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 0x4a1c
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 0x8671
leaq 0x45e6(%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 0x7d4b
movq 0x8(%r15), %rsi
leaq -0x68(%rbp), %rbx
movq %rbx, %rdi
movl %eax, %edx
callq 0x4a1c
leaq 0x458e(%rip), %rsi      # 0xc28d
leaq -0x48(%rbp), %rdi
movq %rbx, %rdx
callq 0xa6b8
leaq -0x38(%rbp), %r13
leaq -0x48(%rbp), %rsi
movq %r15, %rdi
callq 0x5778
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x7d30
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x7d45
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 0xa250
movl %eax, %ebx
leaq 0x44ea(%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 0x4a1c
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 0x7ddc
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
addl %r13d, %ebx
jmp 0x8686
leaq 0x44d6(%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 0x6bfc
movl %eax, %r12d
movq %r15, %rdi
callq 0x6bfc
movl %eax, %ebx
leaq 0x4407(%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 0x4a1c
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 0x825d
leaq 0x450b(%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 0x6414
movl %eax, %ebx
leaq 0x434b(%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 0x4a1c
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 0x8671
leaq 0x4345(%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 0x6bfc
movl %eax, %ebx
leaq 0x428f(%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 0x4a1c
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 0x8671
leaq 0x42a5(%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 0x6414
movl %eax, %ebx
leaq 0x41d3(%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 0x4a1c
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 0x8671
leaq 0x424b(%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 0x6bfc
movl %eax, %ebx
leaq 0x4117(%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 0x4a1c
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 0x8671
leaq 0x41d5(%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 0x6bfc
movl %eax, %r12d
movq %r15, %rdi
callq 0x6bfc
movl %eax, %ebx
leaq 0x4050(%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 0x4a1c
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 0x8272
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
addl %r12d, %ebx
jmp 0x8686
leaq 0x406a(%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 0x6bfc
movl %eax, %ebx
leaq 0x3f7c(%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 0x4a1c
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 0x8671
movq 0x8(%r15), %rsi
leaq -0x68(%rbp), %rbx
movq %rbx, %rdi
callq 0x4a1c
leaq 0x40b6(%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 0x8697
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x869f
leaq 0x3f50(%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 0x6414
movl %eax, %ebx
leaq 0x3e70(%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 0x4a1c
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 0x8671
leaq 0x3ef6(%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 0x6414
movl %eax, %ebx
leaq 0x3db4(%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 0x4a1c
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 0x8671
leaq 0x3e80(%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 0x6bfc
movl %eax, %ebx
leaq 0x3cf8(%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 0x4a1c
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 0x8671
leaq 0x3da8(%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 0x6414
movl %eax, %ebx
leaq 0x3c3c(%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 0x4a1c
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 0x8686
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 0x5778
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x86d7
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x86ec
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x2210
movq 0x8(%r15), %rdi
callq 0x3e8e
movl %eax, 0x10(%r15)
leaq 0x3b53(%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 0x4a1c
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 0x876f
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
movl $0x1, %ebx
jmp 0x8686
jmp 0x877d
jmp 0x8797
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x879a
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
jmp 0x879a
movq %rax, %rbx
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x8839
movq -0x58(%rbp), %rsi
jmp 0x8831
jmp 0x87ef
jmp 0x87d8
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
jmp 0x8828
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
jmp 0x87ef
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
jne 0x882d
jmp 0x8839
jmp 0x87ff
movq %rax, %rbx
jmp 0x8820
movq %rax, %rbx
leaq -0x58(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x8820
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x8839
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2210
movq %rbx, %rdi
callq 0x2340
nop