// File: /workspace/github_cpp_makefile_star2_O2/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, %r14
leaq 0x420(%rdi), %r15
leaq 0x3ba8(%rip), %rsi      # 0x9270
movq %r15, %rdi
callq 0x21f0
movq %rax, %rbx
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r12
movq %r12, %rdi
callq 0x3df8
movq %rbx, %rdi
movq %r12, %rsi
callq 0x21d0
leaq 0x31f7(%rip), %rsi      # 0x88f0
movq %rax, %rdi
callq 0x21f0
movq %rax, %rbx
movq 0x8(%r14), %rsi
leaq -0x68(%rbp), %rdi
callq 0x3e22
leaq -0x68(%rbp), %rsi
movq %rbx, %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
leaq -0x68(%rbp), %rdi
callq 0x2398
leaq -0x48(%rbp), %rdi
callq 0x2398
movl 0x10(%r14), %edx
leal -0x1(%rdx), %eax
cmpl $0x1d, %eax
ja 0x6159
leaq 0x304a(%rip), %rcx      # 0x8798
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x3cd3(%rip), %rsi      # 0x9431
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x4f92
movl %eax, %ebx
leaq 0x3b1f(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x3bdb(%rip), %rsi      # 0x93a5
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x53fe
movl %eax, %r12d
movq %r14, %rdi
callq 0x4f92
movl %eax, %ebx
leaq 0x3aa8(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d0
leaq 0x3baa(%rip), %rsi      # 0x93eb
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x4f92
movl %eax, %ebx
leaq 0x3a3c(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x3ace(%rip), %rsi      # 0x937b
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x53fe
movl %eax, %ebx
leaq 0x39d0(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x3b0a(%rip), %rsi      # 0x9423
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x4f92
movl %eax, %ebx
leaq 0x3964(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x3a82(%rip), %rsi      # 0x9407
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x4f92
movl %eax, %ebx
leaq 0x38f8(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x3960(%rip), %rsi      # 0x9351
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x53fe
movl %eax, %ebx
leaq 0x388c(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x3840(%rip), %rsi      # 0x929d
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x53fe
movl %eax, %r12d
movq %r14, %rdi
callq 0x53fe
movl %eax, %ebx
movq %r14, %rdi
callq 0x6fc2
movl %eax, %r13d
leaq 0x380a(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
addl %r12d, %ebx
addl %r13d, %ebx
jmp 0x60d3
leaq 0x395a(%rip), %rsi      # 0x943f
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x53fe
movl %eax, %ebx
leaq 0x3798(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x38a8(%rip), %rsi      # 0x93f9
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x4f92
movl %eax, %ebx
leaq 0x372c(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x37b0(%rip), %rsi      # 0x936d
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x53fe
movl %eax, %ebx
leaq 0x36c0(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x378a(%rip), %rsi      # 0x93b3
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x53fe
movl %eax, %r12d
movq %r14, %rdi
callq 0x4f92
movl %eax, %ebx
leaq 0x3649(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d0
leaq 0x37ad(%rip), %rsi      # 0x944d
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
leaq 0x35e7(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %rbx
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %rbx, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
leaq -0x48(%rbp), %rdi
callq 0x2398
xorl %ebx, %ebx
jmp 0x60dc
leaq 0x3652(%rip), %rsi      # 0x935f
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x53fe
movl %eax, %ebx
leaq 0x3570(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x355e(%rip), %rsi      # 0x92d7
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
xorl %r12d, %r12d
cmpl $0x1f, %eax
je 0x5de5
movq 0x8(%r14), %rsi
leaq -0x68(%rbp), %rbx
movq %rbx, %rdi
movl %eax, %edx
callq 0x3df8
leaq 0x352e(%rip), %rsi      # 0x92e5
leaq -0x48(%rbp), %rdi
movq %rbx, %rdx
callq 0x76ba
leaq -0x48(%rbp), %rsi
movq %r14, %rdi
callq 0x48e6
leaq -0x48(%rbp), %rdi
callq 0x2398
leaq -0x68(%rbp), %rdi
callq 0x2398
pushq $0x1
popq %r12
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x740c
movl %eax, %ebx
leaq 0x34a8(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d0
leaq 0x34d8(%rip), %rsi      # 0x9319
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x53fe
movl %eax, %r12d
movq %r14, %rdi
callq 0x53fe
movl %eax, %ebx
leaq 0x3431(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d0
leaq 0x355d(%rip), %rsi      # 0x9415
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x4f92
movl %eax, %ebx
leaq 0x33c5(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x33e7(%rip), %rsi      # 0x930b
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x53fe
movl %eax, %ebx
leaq 0x3359(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x3397(%rip), %rsi      # 0x9327
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x4f92
movl %eax, %ebx
leaq 0x32ed(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x338d(%rip), %rsi      # 0x9389
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x53fe
movl %eax, %ebx
leaq 0x3281(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x336a(%rip), %rsi      # 0x93cf
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x53fe
movl %eax, %r12d
movq %r14, %rdi
callq 0x53fe
movl %eax, %ebx
leaq 0x320d(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
addl %r12d, %ebx
leaq -0x48(%rbp), %rdi
callq 0x2398
movl %ebx, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x324f(%rip), %rsi      # 0x9343
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x53fe
movl %eax, %ebx
leaq 0x3189(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
movq 0x8(%r14), %rsi
leaq -0x68(%rbp), %rbx
movq %rbx, %rdi
callq 0x3df8
leaq 0x32eb(%rip), %rsi      # 0x945b
leaq -0x48(%rbp), %rdi
movq %rbx, %rdx
callq 0x76ba
leaq -0x48(%rbp), %rsi
movq %r14, %rdi
callq 0x48e6
leaq -0x48(%rbp), %rdi
callq 0x2398
leaq -0x68(%rbp), %rdi
callq 0x2398
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
leaq 0x30fd(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %rbx
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %rbx, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
leaq -0x48(%rbp), %rdi
callq 0x2398
pushq $0x1
popq %rbx
jmp 0x60dc
leaq 0x313d(%rip), %rsi      # 0x9335
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x4f92
movl %eax, %ebx
leaq 0x3085(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x3133(%rip), %rsi      # 0x9397
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x4f92
movl %eax, %ebx
leaq 0x3019(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x310d(%rip), %rsi      # 0x93dd
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x53fe
movl %eax, %ebx
leaq 0x2fad(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
leaq 0x3085(%rip), %rsi      # 0x93c1
movq %r15, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2130
movq 0x8(%r14), %rdi
callq 0x35fa
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x4f92
movl %eax, %ebx
leaq 0x2f41(%rip), %rsi      # 0x92ab
movq %r15, %rdi
callq 0x21f0
movq %rax, %r15
movq 0x8(%r14), %rsi
movl 0x10(%r14), %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x3df8
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x2130
jmp 0x60d3
jmp 0x63a5
jmp 0x63b3
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x2398
jmp 0x63b6
movq %rax, %rbx
leaq -0x68(%rbp), %rdi
jmp 0x6409
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
jmp 0x6402
movq %rax, %rbx
leaq -0x68(%rbp), %rdi
callq 0x2398
jmp 0x6405
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x2398
movq %rbx, %rdi
callq 0x2330