// File: gioannides[P]Language_Processors/src/../include/ast/ast_node.hpp
// Function: IterationStatement::render_asm(std::basic_ofstream<char, std::char_traits<char>>&, Context&)
inline void IterationStatement::render_asm(std::ofstream& file, Context& contxt) {
			
			std::string label_id = labelGen(contxt);
			std::string WHILE = "$WHILE" + label_id;
			std::string DO = "$DO" + label_id;
			std::string END = "$END" + label_id;
			std::string FOR = "$FOR" + label_id;
			std::string BEGIN_ = "$BEGIN" + label_id;
			std::string BEGIN_2 = "$BEGIN2_" + label_id;


			if( ITERATIVE_TYPE != NULL && *ITERATIVE_TYPE == "while" && AssignmentExpressionPtr != NULL && StatementPtr != NULL) {
				contxt.BreakCounter++;
				contxt.ContinueCounter++;

				file << std::endl << BEGIN_ << ":";
				
				contxt.LoopHeader.push_back(BEGIN_2);
				contxt.ContinueTracker.push_back(contxt.ContinueCounter);

				contxt.rhs_of_expression = true;
				contxt.TestConditionContinue = AssignmentExpressionPtr; //In case of a continue
				AssignmentExpressionPtr->render_asm(file,contxt);
				contxt.rhs_of_expression = false;
				if(!contxt.reading)	{
					if(contxt.regType[contxt.Regs+1] == 'f'){
						file << std::endl << BEGIN_2 << ":" << "\tli.s\t$f1,0";
						
						file << std::endl << "\tc.eq.s\t$f" << contxt.Regs+1 << ",$f1";
						file << std::endl << "\tnop";
						file << std::endl << "\tbc1t\t" << END;
						file << std::endl << "\tnop";
					}
					else{				
						file << std::endl << BEGIN_2 << ":" << "\tbeq\t$" << contxt.Regs+1 << ",$0," << END;
						file << std::endl << "\tnop";
					}
				}
				file << std::endl << WHILE << ":";

				contxt.LastScope.push_back(END);
				contxt.BreakTracker.push_back(contxt.BreakCounter);

				StatementPtr->render_asm(file,contxt);
				if(!contxt.reading)	{
					if(contxt.regType[contxt.Regs+1] == 'f'){
						file << "\n\tb " << BEGIN_;
						file << std::endl << "\tnop";					
					}
					else{
						file << "\n\tb " << BEGIN_;
						file << std::endl << "\tnop";
					}
				}
				contxt.LoopHeader.pop_back();
				contxt.LastScope.pop_back();
				file << std::endl << END << ":";

				
				contxt.BreakCounter--;
				contxt.ContinueCounter--;
				

			}

			else if( ITERATIVE_TYPE != NULL && *ITERATIVE_TYPE == "do" && AssignmentExpressionPtr != NULL && StatementPtr != NULL){

				contxt.ContinueCounter++;
				contxt.BreakCounter++;

				file << std::endl << DO << ":";
				contxt.LoopHeader.push_back(BEGIN_2);
				contxt.ContinueTracker.push_back(contxt.ContinueCounter);

				contxt.LastScope.push_back(END);
				contxt.BreakTracker.push_back(contxt.BreakCounter);

				StatementPtr->render_asm(file,contxt);
				contxt.rhs_of_expression = true;
				contxt.TestConditionContinue = AssignmentExpressionPtr; //In case of a continue
				file << std::endl << BEGIN_2 << ":";
				AssignmentExpressionPtr->render_asm(file,contxt);
				contxt.rhs_of_expression = false;
				
				if(!contxt.reading)	
				{
					if(contxt.regType[contxt.Regs+1] == 'f'){
						file << std::endl << "\tli.s\t$f1,0";
						
						file << std::endl << "\tc.eq.s\t$f" << contxt.Regs+1 << ",$f1";
						file << std::endl << "\tnop";
						file << std::endl << "\tbc1t\t" << END;
						file << std::endl << "\tnop";
					}
					else{
						file << std::endl << "\tbeq\t$" << contxt.Regs+1 <<",$0," << END;
						file << std::endl << "\tnop";
					}			
					file << "\n\tb " << DO;
					file << std::endl << "\tnop";
					file << std::endl << END << ":";
				}

				contxt.LoopHeader.pop_back();
				contxt.LastScope.pop_back();
				
				contxt.BreakCounter--;
				contxt.ContinueCounter--;
				
			}

			else if( ITERATIVE_TYPE != NULL && *ITERATIVE_TYPE == "for" && ExpressionStatementPtr != NULL && ExpressionStatementPtr2 != NULL && AssignmentExpressionPtr == NULL && StatementPtr != NULL){
				contxt.ContinueCounter++;
				contxt.BreakCounter++;

				ExpressionStatementPtr->render_asm(file,contxt);
				file << std::endl << FOR << ":";

				contxt.LoopHeader.push_back(BEGIN_2);
				contxt.ContinueTracker.push_back(contxt.ContinueCounter);

				contxt.rhs_of_expression = true;
				ExpressionStatementPtr2->render_asm(file,contxt);
				contxt.rhs_of_expression = false;
				if(ExpressionStatementPtr2->AssignmentExpressionPtr!=NULL)
				{
				if(!contxt.reading)	{

					if(contxt.regType[contxt.Regs+1] == 'f'){
						file << std::endl << BEGIN_2 << ":" << "\tli.s\t$f1,0";
						
						file << std::endl << "\tc.eq.s\t$f" << contxt.Regs+1 << ",$f1";
						file << std::endl << "\tnop";
						file << std::endl << "\tbc1t\t" << END;
						file << std::endl << "\tnop";
					}
					else{
						file << std::endl << BEGIN_2 << ":" << "\tbeq\t$" << contxt.Regs+1 <<",$0," << END;
						file << std::endl << "\tnop";
					}
				}
			}

				contxt.LastScope.push_back(END);
				contxt.BreakTracker.push_back(contxt.BreakCounter);

				StatementPtr->render_asm(file,contxt);				
				if(!contxt.reading)	{
					file << "\n\tb " << FOR;
					file << std::endl << "\tnop";
				}
				contxt.LoopHeader.pop_back();
				contxt.LastScope.pop_back();			
				file << std::endl << END << ":";
				contxt.BreakCounter--;
				contxt.ContinueCounter--;
				
			}

			else if(ITERATIVE_TYPE != NULL && *ITERATIVE_TYPE == "for" && ExpressionStatementPtr != NULL && ExpressionStatementPtr2 != NULL && AssignmentExpressionPtr != NULL && StatementPtr != NULL){
				contxt.ContinueCounter++;
				contxt.BreakCounter++;
				ExpressionStatementPtr->render_asm(file,contxt);

				contxt.LastScope.push_back(END);
				contxt.BreakTracker.push_back(contxt.BreakCounter);

				file << std::endl << FOR << ":";

				contxt.LoopHeader.push_back(BEGIN_2);
				contxt.ContinueTracker.push_back(contxt.ContinueCounter);

				contxt.rhs_of_expression = true;
				ExpressionStatementPtr2->render_asm(file,contxt);
				contxt.rhs_of_expression = false;
				if(ExpressionStatementPtr2->AssignmentExpressionPtr!=NULL)
				{
				if(!contxt.reading)	{
					if(contxt.regType[contxt.Regs+1] == 'f'){
						file << std::endl << BEGIN_2 << ":" << "\tli.s\t$f1,0";
						
						file << std::endl << "\tc.eq.s\t$f" << contxt.Regs+1 << ",$f1";
						file << std::endl << "\tnop";
						file << std::endl << "\tbc1t\t" << END;
						file << std::endl << "\tnop";
					}
					else{
						file << std::endl << BEGIN_2 << ":" << "\tbeq\t$" << contxt.Regs+1 <<",$0," << END;
						file << std::endl << "\tnop";
					}				
				}
			}
				contxt.TestConditionContinue = AssignmentExpressionPtr; //In case of a continue
				StatementPtr->render_asm(file,contxt);
				
				contxt.rhs_of_expression = true;
				
				AssignmentExpressionPtr->render_asm(file,contxt);
				contxt.rhs_of_expression = false;
				if(!contxt.reading){
					file << "\n\tb " << FOR;
					file << std::endl << "\tnop";
				}
				contxt.LoopHeader.pop_back();
				contxt.LastScope.pop_back();
				file << std::endl << END << ":";
				contxt.BreakCounter--;
				contxt.ContinueCounter--;
				
			}
			//file << std::endl << END << ":"; 
		
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x430, %rsp            # imm = 0x430
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x118(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x38(%rbp), %rdi
movq %rdi, -0x110(%rbp)
callq 0x11f70
movq -0x110(%rbp), %rdx
leaq 0x37e07(%rip), %rsi     # 0x64a1b
leaq -0x58(%rbp), %rdi
callq 0x12040
jmp 0x2cc1f
leaq 0x37dfc(%rip), %rsi     # 0x64a22
leaq -0x88(%rbp), %rdi
leaq -0x38(%rbp), %rdx
callq 0x12040
jmp 0x2cc38
leaq 0x377ef(%rip), %rsi     # 0x6442e
leaq -0xa8(%rbp), %rdi
leaq -0x38(%rbp), %rdx
callq 0x12040
jmp 0x2cc51
leaq 0x37dce(%rip), %rsi     # 0x64a26
leaq -0xc8(%rbp), %rdi
leaq -0x38(%rbp), %rdx
callq 0x12040
jmp 0x2cc6a
leaq 0x37dba(%rip), %rsi     # 0x64a2b
leaq -0xe8(%rbp), %rdi
leaq -0x38(%rbp), %rdx
callq 0x12040
jmp 0x2cc83
leaq 0x37da8(%rip), %rsi     # 0x64a32
leaq -0x108(%rbp), %rdi
leaq -0x38(%rbp), %rdx
callq 0x12040
jmp 0x2cc9c
movq -0x118(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x2d323
movq -0x118(%rbp), %rax
movq 0x28(%rax), %rdi
leaq 0x37565(%rip), %rsi     # 0x64225
callq 0x9e30
movb %al, -0x119(%rbp)
jmp 0x2cccd
movb -0x119(%rbp), %al
testb $0x1, %al
jne 0x2ccdc
jmp 0x2d323
movq -0x118(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x2d323
movq -0x118(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x2d323
movq -0x18(%rbp), %rax
movl 0x528(%rax), %ecx
incl %ecx
movl %ecx, 0x528(%rax)
movq -0x18(%rbp), %rax
movl 0x560(%rax), %ecx
incl %ecx
movl %ecx, 0x560(%rax)
movq -0x10(%rbp), %rdi
movq 0x5b241(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x128(%rbp)
jmp 0x2cd3d
movq -0x128(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x83c0
movq %rax, -0x130(%rbp)
jmp 0x2cd59
movq -0x130(%rbp), %rdi
leaq 0x3746c(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x2cd6e
movq -0x18(%rbp), %rdi
addq $0x3d8, %rdi            # imm = 0x3D8
leaq -0x108(%rbp), %rsi
callq 0xc2e0
jmp 0x2cd87
movq -0x18(%rbp), %rsi
movq %rsi, %rdi
addq $0x548, %rdi            # imm = 0x548
addq $0x560, %rsi            # imm = 0x560
callq 0x15ec0
jmp 0x2cda3
movq -0x118(%rbp), %rax
movq -0x18(%rbp), %rcx
movb $0x1, 0x1d1(%rcx)
movq 0x8(%rax), %rdx
movq -0x18(%rbp), %rcx
movq %rdx, 0x3f8(%rcx)
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x13a40
jmp 0x2cdd7
movq -0x18(%rbp), %rax
movb $0x0, 0x1d1(%rax)
movq -0x18(%rbp), %rax
testb $0x1, 0x21b(%rax)
jne 0x2d108
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
jne 0x2d017
movq -0x10(%rbp), %rdi
movq 0x5b14d(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x138(%rbp)
jmp 0x2ce31
movq -0x138(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x83c0
movq %rax, -0x140(%rbp)
jmp 0x2ce4d
movq -0x140(%rbp), %rdi
leaq 0x37378(%rip), %rsi     # 0x641d3
callq 0x8400
movq %rax, -0x148(%rbp)
jmp 0x2ce69
movq -0x148(%rbp), %rdi
leaq 0x37bc4(%rip), %rsi     # 0x64a3b
callq 0x8400
jmp 0x2ce7e
movq -0x10(%rbp), %rdi
movq 0x5b0e7(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x150(%rbp)
jmp 0x2ce97
movq -0x150(%rbp), %rdi
leaq 0x375cf(%rip), %rsi     # 0x64474
callq 0x8400
movq %rax, -0x158(%rbp)
jmp 0x2ceb3
movq -0x158(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x160(%rbp)
jmp 0x2ced4
movq -0x160(%rbp), %rdi
leaq 0x3759d(%rip), %rsi     # 0x6447f
callq 0x8400
jmp 0x2cee9
movq -0x10(%rbp), %rdi
movq 0x5b07c(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x168(%rbp)
jmp 0x2cf02
movq -0x168(%rbp), %rdi
leaq 0x374a1(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2cf17
movq -0x10(%rbp), %rdi
movq 0x5b04e(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x170(%rbp)
jmp 0x2cf30
movq -0x170(%rbp), %rdi
leaq 0x37565(%rip), %rsi     # 0x644a3
callq 0x8400
movq %rax, -0x178(%rbp)
jmp 0x2cf4c
movq -0x178(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x83c0
jmp 0x2cf61
movq -0x10(%rbp), %rdi
movq 0x5b004(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x180(%rbp)
jmp 0x2cf7a
movq -0x180(%rbp), %rdi
leaq 0x37429(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2cf8f
jmp 0x2d106
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2e3fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2e3f2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2e3e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2e3da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2e3ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x2e3c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x8280
jmp 0x2e3c2
movq -0x10(%rbp), %rdi
movq 0x5af4e(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x188(%rbp)
jmp 0x2d030
movq -0x188(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x83c0
movq %rax, -0x190(%rbp)
jmp 0x2d04c
movq -0x190(%rbp), %rdi
leaq 0x37179(%rip), %rsi     # 0x641d3
callq 0x8400
movq %rax, -0x198(%rbp)
jmp 0x2d068
movq -0x198(%rbp), %rdi
leaq 0x3798d(%rip), %rsi     # 0x64a03
callq 0x8400
movq %rax, -0x1a0(%rbp)
jmp 0x2d084
movq -0x1a0(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x1a8(%rbp)
jmp 0x2d0a5
movq -0x1a8(%rbp), %rdi
leaq 0x37387(%rip), %rsi     # 0x6443a
callq 0x8400
movq %rax, -0x1b0(%rbp)
jmp 0x2d0c1
movq -0x1b0(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x83c0
jmp 0x2d0d6
movq -0x10(%rbp), %rdi
movq 0x5ae8f(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x1b8(%rbp)
jmp 0x2d0ef
movq -0x1b8(%rbp), %rdi
leaq 0x372b4(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2d104
jmp 0x2d106
jmp 0x2d108
movq -0x10(%rbp), %rdi
movq 0x5ae5d(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x1c0(%rbp)
jmp 0x2d121
movq -0x1c0(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x83c0
movq %rax, -0x1c8(%rbp)
jmp 0x2d13a
movq -0x1c8(%rbp), %rdi
leaq 0x3708b(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x2d14f
movq -0x18(%rbp), %rdi
addq $0x4b8, %rdi            # imm = 0x4B8
leaq -0xa8(%rbp), %rsi
callq 0xc2e0
jmp 0x2d168
movq -0x18(%rbp), %rsi
movq %rsi, %rdi
addq $0x530, %rdi            # imm = 0x530
addq $0x528, %rsi            # imm = 0x528
callq 0x15ec0
jmp 0x2d184
movq -0x118(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x2c110
jmp 0x2d19e
movq -0x18(%rbp), %rax
testb $0x1, 0x21b(%rax)
jne 0x2d28e
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
jne 0x2d22e
movq -0x10(%rbp), %rdi
leaq 0x37264(%rip), %rsi     # 0x6443f
callq 0x8400
movq %rax, -0x1d0(%rbp)
jmp 0x2d1e9
movq -0x1d0(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x83c0
jmp 0x2d1fe
movq -0x10(%rbp), %rdi
movq 0x5ad67(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x1d8(%rbp)
jmp 0x2d217
movq -0x1d8(%rbp), %rdi
leaq 0x3718c(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2d22c
jmp 0x2d28c
movq -0x10(%rbp), %rdi
leaq 0x37206(%rip), %rsi     # 0x6443f
callq 0x8400
movq %rax, -0x1e0(%rbp)
jmp 0x2d247
movq -0x1e0(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x83c0
jmp 0x2d25c
movq -0x10(%rbp), %rdi
movq 0x5ad09(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x1e8(%rbp)
jmp 0x2d275
movq -0x1e8(%rbp), %rdi
leaq 0x3712e(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2d28a
jmp 0x2d28c
jmp 0x2d28e
movq -0x18(%rbp), %rdi
addq $0x3d8, %rdi            # imm = 0x3D8
callq 0xfe00
movq -0x18(%rbp), %rdi
addq $0x4b8, %rdi            # imm = 0x4B8
callq 0xfe00
movq -0x10(%rbp), %rdi
movq 0x5acb7(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x1f0(%rbp)
jmp 0x2d2c7
movq -0x1f0(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x83c0
movq %rax, -0x1f8(%rbp)
jmp 0x2d2e3
movq -0x1f8(%rbp), %rdi
leaq 0x36ee2(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x2d2f8
movq -0x18(%rbp), %rax
movl 0x528(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x528(%rax)
movq -0x18(%rbp), %rax
movl 0x560(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x560(%rax)
jmp 0x2e36b
movq -0x118(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x2d82d
movq -0x118(%rbp), %rax
movq 0x28(%rax), %rdi
leaq 0x37700(%rip), %rsi     # 0x64a47
callq 0x9e30
movb %al, -0x1f9(%rbp)
jmp 0x2d354
movb -0x1f9(%rbp), %al
testb $0x1, %al
jne 0x2d363
jmp 0x2d82d
movq -0x118(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x2d82d
movq -0x118(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x2d82d
movq -0x18(%rbp), %rax
movl 0x560(%rax), %ecx
incl %ecx
movl %ecx, 0x560(%rax)
movq -0x18(%rbp), %rax
movl 0x528(%rax), %ecx
incl %ecx
movl %ecx, 0x528(%rax)
movq -0x10(%rbp), %rdi
movq 0x5abba(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x208(%rbp)
jmp 0x2d3c4
movq -0x208(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x83c0
movq %rax, -0x210(%rbp)
jmp 0x2d3e0
movq -0x210(%rbp), %rdi
leaq 0x36de5(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x2d3f5
movq -0x18(%rbp), %rdi
addq $0x3d8, %rdi            # imm = 0x3D8
leaq -0x108(%rbp), %rsi
callq 0xc2e0
jmp 0x2d40e
movq -0x18(%rbp), %rsi
movq %rsi, %rdi
addq $0x548, %rdi            # imm = 0x548
addq $0x560, %rsi            # imm = 0x560
callq 0x15ec0
jmp 0x2d42a
movq -0x18(%rbp), %rdi
addq $0x4b8, %rdi            # imm = 0x4B8
leaq -0xa8(%rbp), %rsi
callq 0xc2e0
jmp 0x2d443
movq -0x18(%rbp), %rsi
movq %rsi, %rdi
addq $0x530, %rdi            # imm = 0x530
addq $0x528, %rsi            # imm = 0x528
callq 0x15ec0
jmp 0x2d45f
movq -0x118(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x2c110
jmp 0x2d479
movq -0x118(%rbp), %rax
movq -0x18(%rbp), %rcx
movb $0x1, 0x1d1(%rcx)
movq 0x8(%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x3f8(%rax)
movq -0x10(%rbp), %rdi
movq 0x5aacb(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x218(%rbp)
jmp 0x2d4b3
movq -0x218(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x83c0
movq %rax, -0x220(%rbp)
jmp 0x2d4cf
movq -0x220(%rbp), %rdi
leaq 0x36cf6(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x2d4e4
movq -0x118(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x13a40
jmp 0x2d4fe
movq -0x18(%rbp), %rax
movb $0x0, 0x1d1(%rax)
movq -0x18(%rbp), %rax
testb $0x1, 0x21b(%rax)
jne 0x2d7e2
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
jne 0x2d683
movq -0x10(%rbp), %rdi
movq 0x5aa26(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x228(%rbp)
jmp 0x2d558
movq -0x228(%rbp), %rdi
leaq 0x374d5(%rip), %rsi     # 0x64a3b
callq 0x8400
jmp 0x2d56d
movq -0x10(%rbp), %rdi
movq 0x5a9f8(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x230(%rbp)
jmp 0x2d586
movq -0x230(%rbp), %rdi
leaq 0x36ee0(%rip), %rsi     # 0x64474
callq 0x8400
movq %rax, -0x238(%rbp)
jmp 0x2d5a2
movq -0x238(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x240(%rbp)
jmp 0x2d5c3
movq -0x240(%rbp), %rdi
leaq 0x36eae(%rip), %rsi     # 0x6447f
callq 0x8400
jmp 0x2d5d8
movq -0x10(%rbp), %rdi
movq 0x5a98d(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x248(%rbp)
jmp 0x2d5f1
movq -0x248(%rbp), %rdi
leaq 0x36db2(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2d606
movq -0x10(%rbp), %rdi
movq 0x5a95f(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x250(%rbp)
jmp 0x2d61f
movq -0x250(%rbp), %rdi
leaq 0x36e76(%rip), %rsi     # 0x644a3
callq 0x8400
movq %rax, -0x258(%rbp)
jmp 0x2d63b
movq -0x258(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x83c0
jmp 0x2d650
movq -0x10(%rbp), %rdi
movq 0x5a915(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x260(%rbp)
jmp 0x2d669
movq -0x260(%rbp), %rdi
leaq 0x36d3a(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2d67e
jmp 0x2d73a
movq -0x10(%rbp), %rdi
movq 0x5a8e2(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x268(%rbp)
jmp 0x2d69c
movq -0x268(%rbp), %rdi
leaq 0x37359(%rip), %rsi     # 0x64a03
callq 0x8400
movq %rax, -0x270(%rbp)
jmp 0x2d6b8
movq -0x270(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x278(%rbp)
jmp 0x2d6d9
movq -0x278(%rbp), %rdi
leaq 0x36d53(%rip), %rsi     # 0x6443a
callq 0x8400
movq %rax, -0x280(%rbp)
jmp 0x2d6f5
movq -0x280(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x83c0
jmp 0x2d70a
movq -0x10(%rbp), %rdi
movq 0x5a85b(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x288(%rbp)
jmp 0x2d723
movq -0x288(%rbp), %rdi
leaq 0x36c80(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2d738
jmp 0x2d73a
movq -0x10(%rbp), %rdi
leaq 0x36cfa(%rip), %rsi     # 0x6443f
callq 0x8400
movq %rax, -0x290(%rbp)
jmp 0x2d753
movq -0x290(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x83c0
jmp 0x2d768
movq -0x10(%rbp), %rdi
movq 0x5a7fd(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x298(%rbp)
jmp 0x2d781
movq -0x298(%rbp), %rdi
leaq 0x36c22(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2d796
movq -0x10(%rbp), %rdi
movq 0x5a7cf(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x2a0(%rbp)
jmp 0x2d7af
movq -0x2a0(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x83c0
movq %rax, -0x2a8(%rbp)
jmp 0x2d7cb
movq -0x2a8(%rbp), %rdi
leaq 0x369fa(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x2d7e0
jmp 0x2d7e2
movq -0x18(%rbp), %rdi
addq $0x3d8, %rdi            # imm = 0x3D8
callq 0xfe00
movq -0x18(%rbp), %rdi
addq $0x4b8, %rdi            # imm = 0x4B8
callq 0xfe00
movq -0x18(%rbp), %rax
movl 0x528(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x528(%rax)
movq -0x18(%rbp), %rax
movl 0x560(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x560(%rax)
jmp 0x2e369
movq -0x118(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x2ddac
movq -0x118(%rbp), %rax
movq 0x28(%rax), %rdi
leaq 0x371f9(%rip), %rsi     # 0x64a4a
callq 0x9e30
movb %al, -0x2a9(%rbp)
jmp 0x2d85e
movb -0x2a9(%rbp), %al
testb $0x1, %al
jne 0x2d86d
jmp 0x2ddac
movq -0x118(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x2ddac
movq -0x118(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x2ddac
movq -0x118(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x2ddac
movq -0x118(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x2ddac
movq -0x118(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x560(%rcx), %edx
incl %edx
movl %edx, 0x560(%rcx)
movq -0x18(%rbp), %rcx
movl 0x528(%rcx), %edx
incl %edx
movl %edx, 0x528(%rcx)
movq 0x18(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x2cb70
jmp 0x2d8f3
movq -0x10(%rbp), %rdi
movq 0x5a672(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x2b8(%rbp)
jmp 0x2d90c
movq -0x2b8(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x83c0
movq %rax, -0x2c0(%rbp)
jmp 0x2d928
movq -0x2c0(%rbp), %rdi
leaq 0x3689d(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x2d93d
movq -0x18(%rbp), %rdi
addq $0x3d8, %rdi            # imm = 0x3D8
leaq -0x108(%rbp), %rsi
callq 0xc2e0
jmp 0x2d956
movq -0x18(%rbp), %rsi
movq %rsi, %rdi
addq $0x548, %rdi            # imm = 0x548
addq $0x560, %rsi            # imm = 0x560
callq 0x15ec0
jmp 0x2d972
movq -0x118(%rbp), %rax
movq -0x18(%rbp), %rcx
movb $0x1, 0x1d1(%rcx)
movq 0x20(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x2cb70
jmp 0x2d997
movq -0x118(%rbp), %rax
movq -0x18(%rbp), %rcx
movb $0x0, 0x1d1(%rcx)
movq 0x20(%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x2dc5d
movq -0x18(%rbp), %rax
testb $0x1, 0x21b(%rax)
jne 0x2dc5b
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
jne 0x2db6a
movq -0x10(%rbp), %rdi
movq 0x5a577(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x2c8(%rbp)
jmp 0x2da07
movq -0x2c8(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x83c0
movq %rax, -0x2d0(%rbp)
jmp 0x2da23
movq -0x2d0(%rbp), %rdi
leaq 0x367a2(%rip), %rsi     # 0x641d3
callq 0x8400
movq %rax, -0x2d8(%rbp)
jmp 0x2da3f
movq -0x2d8(%rbp), %rdi
leaq 0x36fee(%rip), %rsi     # 0x64a3b
callq 0x8400
jmp 0x2da54
movq -0x10(%rbp), %rdi
movq 0x5a511(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x2e0(%rbp)
jmp 0x2da6d
movq -0x2e0(%rbp), %rdi
leaq 0x369f9(%rip), %rsi     # 0x64474
callq 0x8400
movq %rax, -0x2e8(%rbp)
jmp 0x2da89
movq -0x2e8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x2f0(%rbp)
jmp 0x2daaa
movq -0x2f0(%rbp), %rdi
leaq 0x369c7(%rip), %rsi     # 0x6447f
callq 0x8400
jmp 0x2dabf
movq -0x10(%rbp), %rdi
movq 0x5a4a6(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x2f8(%rbp)
jmp 0x2dad8
movq -0x2f8(%rbp), %rdi
leaq 0x368cb(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2daed
movq -0x10(%rbp), %rdi
movq 0x5a478(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x300(%rbp)
jmp 0x2db06
movq -0x300(%rbp), %rdi
leaq 0x3698f(%rip), %rsi     # 0x644a3
callq 0x8400
movq %rax, -0x308(%rbp)
jmp 0x2db22
movq -0x308(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x83c0
jmp 0x2db37
movq -0x10(%rbp), %rdi
movq 0x5a42e(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x310(%rbp)
jmp 0x2db50
movq -0x310(%rbp), %rdi
leaq 0x36853(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2db65
jmp 0x2dc59
movq -0x10(%rbp), %rdi
movq 0x5a3fb(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x318(%rbp)
jmp 0x2db83
movq -0x318(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x83c0
movq %rax, -0x320(%rbp)
jmp 0x2db9f
movq -0x320(%rbp), %rdi
leaq 0x36626(%rip), %rsi     # 0x641d3
callq 0x8400
movq %rax, -0x328(%rbp)
jmp 0x2dbbb
movq -0x328(%rbp), %rdi
leaq 0x36e3a(%rip), %rsi     # 0x64a03
callq 0x8400
movq %rax, -0x330(%rbp)
jmp 0x2dbd7
movq -0x330(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x338(%rbp)
jmp 0x2dbf8
movq -0x338(%rbp), %rdi
leaq 0x36834(%rip), %rsi     # 0x6443a
callq 0x8400
movq %rax, -0x340(%rbp)
jmp 0x2dc14
movq -0x340(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x83c0
jmp 0x2dc29
movq -0x10(%rbp), %rdi
movq 0x5a33c(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x348(%rbp)
jmp 0x2dc42
movq -0x348(%rbp), %rdi
leaq 0x36761(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2dc57
jmp 0x2dc59
jmp 0x2dc5b
jmp 0x2dc5d
movq -0x18(%rbp), %rdi
addq $0x4b8, %rdi            # imm = 0x4B8
leaq -0xa8(%rbp), %rsi
callq 0xc2e0
jmp 0x2dc76
movq -0x18(%rbp), %rsi
movq %rsi, %rdi
addq $0x530, %rdi            # imm = 0x530
addq $0x528, %rsi            # imm = 0x528
callq 0x15ec0
jmp 0x2dc92
movq -0x118(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x2c110
jmp 0x2dcac
movq -0x18(%rbp), %rax
testb $0x1, 0x21b(%rax)
jne 0x2dd17
movq -0x10(%rbp), %rdi
leaq 0x3677b(%rip), %rsi     # 0x6443f
callq 0x8400
movq %rax, -0x350(%rbp)
jmp 0x2dcd2
movq -0x350(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x83c0
jmp 0x2dce7
movq -0x10(%rbp), %rdi
movq 0x5a27e(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x358(%rbp)
jmp 0x2dd00
movq -0x358(%rbp), %rdi
leaq 0x366a3(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2dd15
jmp 0x2dd17
movq -0x18(%rbp), %rdi
addq $0x3d8, %rdi            # imm = 0x3D8
callq 0xfe00
movq -0x18(%rbp), %rdi
addq $0x4b8, %rdi            # imm = 0x4B8
callq 0xfe00
movq -0x10(%rbp), %rdi
movq 0x5a22e(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x360(%rbp)
jmp 0x2dd50
movq -0x360(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x83c0
movq %rax, -0x368(%rbp)
jmp 0x2dd6c
movq -0x368(%rbp), %rdi
leaq 0x36459(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x2dd81
movq -0x18(%rbp), %rax
movl 0x528(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x528(%rax)
movq -0x18(%rbp), %rax
movl 0x560(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x560(%rax)
jmp 0x2e367
movq -0x118(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x2e365
movq -0x118(%rbp), %rax
movq 0x28(%rax), %rdi
leaq 0x36c7a(%rip), %rsi     # 0x64a4a
callq 0x9e30
movb %al, -0x369(%rbp)
jmp 0x2dddd
movb -0x369(%rbp), %al
testb $0x1, %al
jne 0x2ddec
jmp 0x2e365
movq -0x118(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x2e365
movq -0x118(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x2e365
movq -0x118(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x2e365
movq -0x118(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x2e365
movq -0x118(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x560(%rcx), %edx
incl %edx
movl %edx, 0x560(%rcx)
movq -0x18(%rbp), %rcx
movl 0x528(%rcx), %edx
incl %edx
movl %edx, 0x528(%rcx)
movq 0x18(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x2cb70
jmp 0x2de72
movq -0x18(%rbp), %rdi
addq $0x4b8, %rdi            # imm = 0x4B8
leaq -0xa8(%rbp), %rsi
callq 0xc2e0
jmp 0x2de8b
movq -0x18(%rbp), %rsi
movq %rsi, %rdi
addq $0x530, %rdi            # imm = 0x530
addq $0x528, %rsi            # imm = 0x528
callq 0x15ec0
jmp 0x2dea7
movq -0x10(%rbp), %rdi
movq 0x5a0be(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x378(%rbp)
jmp 0x2dec0
movq -0x378(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x83c0
movq %rax, -0x380(%rbp)
jmp 0x2dedc
movq -0x380(%rbp), %rdi
leaq 0x362e9(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x2def1
movq -0x18(%rbp), %rdi
addq $0x3d8, %rdi            # imm = 0x3D8
leaq -0x108(%rbp), %rsi
callq 0xc2e0
jmp 0x2df0a
movq -0x18(%rbp), %rsi
movq %rsi, %rdi
addq $0x548, %rdi            # imm = 0x548
addq $0x560, %rsi            # imm = 0x560
callq 0x15ec0
jmp 0x2df26
movq -0x118(%rbp), %rax
movq -0x18(%rbp), %rcx
movb $0x1, 0x1d1(%rcx)
movq 0x20(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x2cb70
jmp 0x2df4b
movq -0x118(%rbp), %rax
movq -0x18(%rbp), %rcx
movb $0x0, 0x1d1(%rcx)
movq 0x20(%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x2e211
movq -0x18(%rbp), %rax
testb $0x1, 0x21b(%rax)
jne 0x2e20f
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
jne 0x2e11e
movq -0x10(%rbp), %rdi
movq 0x59fc3(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x388(%rbp)
jmp 0x2dfbb
movq -0x388(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x83c0
movq %rax, -0x390(%rbp)
jmp 0x2dfd7
movq -0x390(%rbp), %rdi
leaq 0x361ee(%rip), %rsi     # 0x641d3
callq 0x8400
movq %rax, -0x398(%rbp)
jmp 0x2dff3
movq -0x398(%rbp), %rdi
leaq 0x36a3a(%rip), %rsi     # 0x64a3b
callq 0x8400
jmp 0x2e008
movq -0x10(%rbp), %rdi
movq 0x59f5d(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x3a0(%rbp)
jmp 0x2e021
movq -0x3a0(%rbp), %rdi
leaq 0x36445(%rip), %rsi     # 0x64474
callq 0x8400
movq %rax, -0x3a8(%rbp)
jmp 0x2e03d
movq -0x3a8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x3b0(%rbp)
jmp 0x2e05e
movq -0x3b0(%rbp), %rdi
leaq 0x36413(%rip), %rsi     # 0x6447f
callq 0x8400
jmp 0x2e073
movq -0x10(%rbp), %rdi
movq 0x59ef2(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x3b8(%rbp)
jmp 0x2e08c
movq -0x3b8(%rbp), %rdi
leaq 0x36317(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2e0a1
movq -0x10(%rbp), %rdi
movq 0x59ec4(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x3c0(%rbp)
jmp 0x2e0ba
movq -0x3c0(%rbp), %rdi
leaq 0x363db(%rip), %rsi     # 0x644a3
callq 0x8400
movq %rax, -0x3c8(%rbp)
jmp 0x2e0d6
movq -0x3c8(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x83c0
jmp 0x2e0eb
movq -0x10(%rbp), %rdi
movq 0x59e7a(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x3d0(%rbp)
jmp 0x2e104
movq -0x3d0(%rbp), %rdi
leaq 0x3629f(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2e119
jmp 0x2e20d
movq -0x10(%rbp), %rdi
movq 0x59e47(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x3d8(%rbp)
jmp 0x2e137
movq -0x3d8(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x83c0
movq %rax, -0x3e0(%rbp)
jmp 0x2e153
movq -0x3e0(%rbp), %rdi
leaq 0x36072(%rip), %rsi     # 0x641d3
callq 0x8400
movq %rax, -0x3e8(%rbp)
jmp 0x2e16f
movq -0x3e8(%rbp), %rdi
leaq 0x36886(%rip), %rsi     # 0x64a03
callq 0x8400
movq %rax, -0x3f0(%rbp)
jmp 0x2e18b
movq -0x3f0(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x3f8(%rbp)
jmp 0x2e1ac
movq -0x3f8(%rbp), %rdi
leaq 0x36280(%rip), %rsi     # 0x6443a
callq 0x8400
movq %rax, -0x400(%rbp)
jmp 0x2e1c8
movq -0x400(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x83c0
jmp 0x2e1dd
movq -0x10(%rbp), %rdi
movq 0x59d88(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x408(%rbp)
jmp 0x2e1f6
movq -0x408(%rbp), %rdi
leaq 0x361ad(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2e20b
jmp 0x2e20d
jmp 0x2e20f
jmp 0x2e211
movq -0x118(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x18(%rbp), %rcx
movq %rdx, 0x3f8(%rcx)
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x2c110
jmp 0x2e23a
movq -0x118(%rbp), %rax
movq -0x18(%rbp), %rcx
movb $0x1, 0x1d1(%rcx)
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x13a40
jmp 0x2e25f
movq -0x18(%rbp), %rax
movb $0x0, 0x1d1(%rax)
movq -0x18(%rbp), %rax
testb $0x1, 0x21b(%rax)
jne 0x2e2d5
movq -0x10(%rbp), %rdi
leaq 0x361bd(%rip), %rsi     # 0x6443f
callq 0x8400
movq %rax, -0x410(%rbp)
jmp 0x2e290
movq -0x410(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x83c0
jmp 0x2e2a5
movq -0x10(%rbp), %rdi
movq 0x59cc0(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x418(%rbp)
jmp 0x2e2be
movq -0x418(%rbp), %rdi
leaq 0x360e5(%rip), %rsi     # 0x643b1
callq 0x8400
jmp 0x2e2d3
jmp 0x2e2d5
movq -0x18(%rbp), %rdi
addq $0x3d8, %rdi            # imm = 0x3D8
callq 0xfe00
movq -0x18(%rbp), %rdi
addq $0x4b8, %rdi            # imm = 0x4B8
callq 0xfe00
movq -0x10(%rbp), %rdi
movq 0x59c70(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x420(%rbp)
jmp 0x2e30e
movq -0x420(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x83c0
movq %rax, -0x428(%rbp)
jmp 0x2e32a
movq -0x428(%rbp), %rdi
leaq 0x35e9b(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x2e33f
movq -0x18(%rbp), %rax
movl 0x528(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x528(%rax)
movq -0x18(%rbp), %rax
movl 0x560(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x560(%rax)
jmp 0x2e367
jmp 0x2e369
jmp 0x2e36b
leaq -0x108(%rbp), %rdi
callq 0x8280
leaq -0xe8(%rbp), %rdi
callq 0x8280
leaq -0xc8(%rbp), %rdi
callq 0x8280
leaq -0xa8(%rbp), %rdi
callq 0x8280
leaq -0x88(%rbp), %rdi
callq 0x8280
leaq -0x58(%rbp), %rdi
callq 0x8280
leaq -0x38(%rbp), %rdi
callq 0x8280
addq $0x430, %rsp            # imm = 0x430
popq %rbp
retq
leaq -0xe8(%rbp), %rdi
callq 0x8280
leaq -0xc8(%rbp), %rdi
callq 0x8280
leaq -0xa8(%rbp), %rdi
callq 0x8280
leaq -0x88(%rbp), %rdi
callq 0x8280
leaq -0x58(%rbp), %rdi
callq 0x8280
leaq -0x38(%rbp), %rdi
callq 0x8280
movq -0x60(%rbp), %rdi
callq 0x8760
nopl (%rax)