// File: gioannides[P]Language_Processors/src/../include/ast/ast_Expressions.cpp
// Function: LogicalOrExpression::render_asm(std::basic_ofstream<char, std::char_traits<char>>&, Context&)
inline void LogicalOrExpression::render_asm(std::ofstream& file,Context& contxt) {

			if(OR_OP==NULL && LogicalAndExpressionPtr != NULL){
				LogicalAndExpressionPtr->render_asm(file,contxt);
				postfix_ops(contxt, file);
			}
			if(contxt.LocalArray && contxt.reading && contxt.function){
				if(LogicalOrExpressionPtr != NULL && LogicalAndExpressionPtr != NULL){
					LogicalOrExpressionPtr->render_asm(file,contxt);
					LogicalAndExpressionPtr->render_asm(file,contxt);
				}		
					if(contxt.ArraySize.size()>=2){
						int result = contxt.ArraySize[contxt.ArraySize.size()-2] ||  contxt.ArraySize[contxt.ArraySize.size()-1];
						contxt.ArraySize.pop_back();
						contxt.ArraySize.pop_back();
						contxt.ArraySize.push_back(result);
					}
						
			}
			
			else if( LogicalAndExpressionPtr != NULL && !contxt.reading && LogicalAndExpressionPtr != NULL && OR_OP != NULL){ 
				LogicalOrExpressionPtr->render_asm(file,contxt);
				
				std::string SHORTCIRCUIT, PASS, label_id;
				label_id = labelGenLogical(contxt);
				SHORTCIRCUIT = "$SHORTCIRCUIT_OR" + label_id;
				if(contxt.function){

					typePromotion(contxt.Regs,contxt.Regs+1,file,contxt);
					if(contxt.regType[contxt.Regs]=='f' || contxt.regType[contxt.Regs+1]=='f'){
						label_id = labelGenLogical(contxt);
						std::string NOT_0 = "$NOT_0" + label_id;
						std::string DONE = "$DONE_" + label_id;
						std::string LT_THAN1 = "$LT_THAN1" + label_id;

						file << std::endl << "\tli.s\t" << "$f1" << ",0";
						file << std::endl << "\tc.eq.s\t$f" << contxt.Regs+1 << ",$f1";
						contxt.regType[contxt.Regs+1]='f';
						file << std::endl << "\tbc1f\t" << NOT_0;
						file << std::endl << "\tnop\t";
						file << std::endl << "\tb\t" << DONE;
						file << std::endl << "\tnop\t";
						file << std::endl << NOT_0 << ":";
						file << std::endl << "\tli.s\t" << "$f1" << ",1";
						file << std::endl << "\tc.lt.s\t$f" << contxt.Regs+1 << ",$f1";
						contxt.regType[contxt.Regs+1]='f';
						file << std::endl << "\tbc1t\t" << LT_THAN1;
						file << std::endl << "\tnop\t";
						file << std::endl << "\tb\t" << DONE;
						file << std::endl << "\tnop\t";
						file << std::endl << LT_THAN1 << ":";
						file << std::endl << "\tli.s\t" << "$f" << contxt.Regs+1 << ",1";
						contxt.regType[contxt.Regs+1]='f';
						file << std::endl << DONE << ":";
						file << std::endl << "\tcvt.w.s\t$f" << contxt.Regs+1 << ",$f" << contxt.Regs+1;
						contxt.regType[contxt.Regs+1]='f';
						file << std::endl << "\tmfc1\t" <<"$" << contxt.Regs+1 << ",$f" << contxt.Regs+1;
						contxt.regType[contxt.Regs+1]='f';
						file<<   std::endl << "\tnop\t";
					}				
					file <<  std::endl << "\tsne $"  << contxt.Regs+1  << ",$0,$" << contxt.Regs+1;
					file<<   std::endl << "\tbne $" << contxt.Regs+1 << ",$0," << SHORTCIRCUIT;
					contxt.regType[contxt.Regs+1]='i';
					file<<   std::endl << "\tnop\t";}
				contxt.Regs++;
				LogicalAndExpressionPtr->render_asm(file,contxt);
				
				if(contxt.enum_constant){
					if(contxt.EnumOperands.size()>=2){
						int result =  contxt.EnumOperands[contxt.EnumOperands.size()-2] || contxt.EnumOperands[contxt.EnumOperands.size()-1];
						contxt.EnumOperands.pop_back();
						contxt.EnumOperands.pop_back();
						contxt.EnumOperands.push_back(result);
					}
				}
				if (contxt.function && !contxt.sizeof_ && !contxt.enum_constant){
					typePromotion(contxt.Regs,contxt.Regs+1,file,contxt);
					
					if(contxt.regType[contxt.Regs]=='f' || contxt.regType[contxt.Regs+1]=='f'){
						label_id = labelGenLogical(contxt);
						std::string NOT_0 = "$NOT_0" + label_id;
						std::string DONE = "$DONE_" + label_id;
						std::string LT_THAN1 = "$LT_THAN1" + label_id;

						file << std::endl << "\tli.s\t" << "$f1" << ",0";
						file << std::endl << "\tc.eq.s\t$f" << contxt.Regs+1 << ",$f1";
						contxt.regType[contxt.Regs+1]='f';
						file << std::endl << "\tbc1f\t" << NOT_0;
						file << std::endl << "\tnop\t";
						file << std::endl << "\tb\t" << DONE;
						file << std::endl << "\tnop\t";
						file << std::endl << NOT_0 << ":";
						file << std::endl << "\tli.s\t" << "$f1" << ",1";
						file << std::endl << "\tc.lt.s\t$f" << contxt.Regs+1 << ",$f1";
						contxt.regType[contxt.Regs+1]='f';
						file << std::endl << "\tbc1t\t" << LT_THAN1;
						file << std::endl << "\tnop\t";
						file << std::endl << "\tb\t" << DONE;
						file << std::endl << "\tnop\t";
						file << std::endl << LT_THAN1 << ":";
						file << std::endl << "\tli.s\t" << "$f" << contxt.Regs+1 << ",1";
						contxt.regType[contxt.Regs+1]='f';
						file << std::endl << DONE << ":";
						file << std::endl << "\tcvt.w.s\t$f" << contxt.Regs+1 << ",$f" << contxt.Regs+1;
						contxt.regType[contxt.Regs+1]='f';
						file << std::endl << "\tmfc1\t" <<"$" << contxt.Regs+1 << ",$f" << contxt.Regs+1;
						contxt.regType[contxt.Regs+1]='f';
						file<<   std::endl << "\tnop\t";
					}
					file<<   std::endl << "\tsne $" << contxt.Regs+1 << ",$0,$" << contxt.Regs+1;
					postfix_ops(contxt, file);
					file<< std::endl << "\tor $" << contxt.Regs << ",$" << contxt.Regs << ",$" << contxt.Regs+1;
					contxt.regType[contxt.Regs]='i';
					contxt.regType[contxt.Regs+1]='i';	
				}
				else 
				{
					if(!contxt.sizeof_ && !contxt.enum_constant){
						contxt.eval[contxt.Regs] = contxt.eval[contxt.Regs] || contxt.eval[contxt.Regs+1];
						contxt.eval_f[contxt.Regs] = contxt.eval_f[contxt.Regs] || contxt.eval_f[contxt.Regs+1];
					}				
				}
				contxt.Regs--;
				file <<  std::endl << SHORTCIRCUIT << ":";
			}
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x5b0, %rsp            # imm = 0x5B0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x1e0(%rbp)
cmpq $0x0, 0x10(%rax)
jne 0x121ac
movq -0x1e0(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x121ac
movq -0x1e0(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x13fe0
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x158b0
movq -0x18(%rbp), %rax
testb $0x1, 0x74(%rax)
je 0x122f7
movq -0x18(%rbp), %rax
testb $0x1, 0x21b(%rax)
je 0x122f7
movq -0x18(%rbp), %rax
testb $0x1, 0x218(%rax)
je 0x122f7
movq -0x1e0(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x12228
movq -0x1e0(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x12228
movq -0x1e0(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x12150
movq -0x1e0(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x13fe0
movq -0x18(%rbp), %rdi
addq $0x78, %rdi
callq 0x11a60
cmpq $0x2, %rax
jb 0x122f2
movq -0x18(%rbp), %rax
addq $0x78, %rax
movq %rax, -0x1f0(%rbp)
movq -0x18(%rbp), %rdi
addq $0x78, %rdi
callq 0x11a60
movq -0x1f0(%rbp), %rdi
movq %rax, %rsi
subq $0x2, %rsi
callq 0x11a80
movq %rax, %rcx
movb $0x1, %al
cmpl $0x0, (%rcx)
movb %al, -0x1e1(%rbp)
jne 0x122b9
movq -0x18(%rbp), %rax
addq $0x78, %rax
movq %rax, -0x1f8(%rbp)
movq -0x18(%rbp), %rdi
addq $0x78, %rdi
callq 0x11a60
movq -0x1f8(%rbp), %rdi
movq %rax, %rsi
subq $0x1, %rsi
callq 0x11a80
cmpl $0x0, (%rax)
setne %al
movb %al, -0x1e1(%rbp)
movb -0x1e1(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x1c(%rbp)
movq -0x18(%rbp), %rdi
addq $0x78, %rdi
callq 0x15e90
movq -0x18(%rbp), %rdi
addq $0x78, %rdi
callq 0x15e90
movq -0x18(%rbp), %rdi
addq $0x78, %rdi
leaq -0x1c(%rbp), %rsi
callq 0x15ec0
jmp 0x13a21
movq -0x1e0(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x13a1f
movq -0x18(%rbp), %rax
testb $0x1, 0x21b(%rax)
jne 0x13a1f
movq -0x1e0(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x13a1f
movq -0x1e0(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x13a1f
movq -0x1e0(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x12150
leaq -0x40(%rbp), %rdi
callq 0x85b0
leaq -0x60(%rbp), %rdi
callq 0x85b0
leaq -0x80(%rbp), %rdi
callq 0x85b0
movq -0x18(%rbp), %rsi
leaq -0xa0(%rbp), %rdi
callq 0x15f30
jmp 0x12383
leaq -0x80(%rbp), %rdi
movq %rdi, -0x200(%rbp)
leaq -0xa0(%rbp), %rsi
movq %rsi, -0x208(%rbp)
callq 0x8520
movq -0x208(%rbp), %rdi
callq 0x8280
movq -0x200(%rbp), %rdx
leaq 0x52089(%rip), %rsi     # 0x64444
leaq -0xd0(%rbp), %rdi
callq 0x12040
jmp 0x123c9
leaq -0x40(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x8520
leaq -0xd0(%rbp), %rdi
callq 0x8280
movq -0x18(%rbp), %rax
testb $0x1, 0x218(%rax)
je 0x12d75
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %edi
movl %edi, %esi
incl %esi
movq -0x10(%rbp), %rdx
callq 0x16000
jmp 0x1240f
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
je 0x12450
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 0x12c22
movq -0x18(%rbp), %rsi
leaq -0xf0(%rbp), %rdi
callq 0x15f30
jmp 0x12462
leaq -0x80(%rbp), %rdi
movq %rdi, -0x210(%rbp)
leaq -0xf0(%rbp), %rsi
movq %rsi, -0x218(%rbp)
callq 0x8520
movq -0x218(%rbp), %rdi
callq 0x8280
movq -0x210(%rbp), %rdx
leaq 0x51fbb(%rip), %rsi     # 0x64455
leaq -0x110(%rbp), %rdi
callq 0x12040
jmp 0x124a8
leaq 0x51fad(%rip), %rsi     # 0x6445c
leaq -0x130(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x12040
jmp 0x124c1
leaq 0x51f9b(%rip), %rsi     # 0x64463
leaq -0x150(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x12040
jmp 0x124da
movq -0x10(%rbp), %rdi
movq 0x75a8b(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x220(%rbp)
jmp 0x124f3
movq -0x220(%rbp), %rdi
leaq 0x51f6c(%rip), %rsi     # 0x6446d
callq 0x8400
movq %rax, -0x228(%rbp)
jmp 0x1250f
movq -0x228(%rbp), %rdi
leaq 0x51f63(%rip), %rsi     # 0x64480
callq 0x8400
movq %rax, -0x230(%rbp)
jmp 0x1252b
movq -0x230(%rbp), %rdi
leaq 0x5250b(%rip), %rsi     # 0x64a44
callq 0x8400
jmp 0x12540
movq -0x10(%rbp), %rdi
movq 0x75a25(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x238(%rbp)
jmp 0x12559
movq -0x238(%rbp), %rdi
leaq 0x51f0d(%rip), %rsi     # 0x64474
callq 0x8400
movq %rax, -0x240(%rbp)
jmp 0x12575
movq -0x240(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x248(%rbp)
jmp 0x12596
movq -0x248(%rbp), %rdi
leaq 0x51edb(%rip), %rsi     # 0x6447f
callq 0x8400
jmp 0x125ab
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rax
movb $0x66, 0x342(%rax,%rcx)
movq -0x10(%rbp), %rdi
movq 0x759a7(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x250(%rbp)
jmp 0x125d7
movq -0x250(%rbp), %rdi
leaq 0x51e9f(%rip), %rsi     # 0x64484
callq 0x8400
movq %rax, -0x258(%rbp)
jmp 0x125f3
movq -0x258(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x83c0
jmp 0x12608
movq -0x10(%rbp), %rdi
movq 0x7595d(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x260(%rbp)
jmp 0x12621
movq -0x260(%rbp), %rdi
leaq 0x51e5c(%rip), %rsi     # 0x6448b
callq 0x8400
jmp 0x12636
movq -0x10(%rbp), %rdi
movq 0x7592f(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x268(%rbp)
jmp 0x1264f
movq -0x268(%rbp), %rdi
leaq 0x51e34(%rip), %rsi     # 0x64491
callq 0x8400
movq %rax, -0x270(%rbp)
jmp 0x1266b
movq -0x270(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x83c0
jmp 0x12680
movq -0x10(%rbp), %rdi
movq 0x758e5(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x278(%rbp)
jmp 0x12699
movq -0x278(%rbp), %rdi
leaq 0x51de4(%rip), %rsi     # 0x6448b
callq 0x8400
jmp 0x126ae
movq -0x10(%rbp), %rdi
movq 0x758b7(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x280(%rbp)
jmp 0x126c7
movq -0x280(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x83c0
movq %rax, -0x288(%rbp)
jmp 0x126e3
movq -0x288(%rbp), %rdi
leaq 0x51ae2(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x126f8
movq -0x10(%rbp), %rdi
movq 0x7586d(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x290(%rbp)
jmp 0x12711
movq -0x290(%rbp), %rdi
leaq 0x51d4e(%rip), %rsi     # 0x6446d
callq 0x8400
movq %rax, -0x298(%rbp)
jmp 0x1272d
movq -0x298(%rbp), %rdi
leaq 0x51d45(%rip), %rsi     # 0x64480
callq 0x8400
movq %rax, -0x2a0(%rbp)
jmp 0x12749
movq -0x2a0(%rbp), %rdi
leaq 0x51d3e(%rip), %rsi     # 0x64495
callq 0x8400
jmp 0x1275e
movq -0x10(%rbp), %rdi
movq 0x75807(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x2a8(%rbp)
jmp 0x12777
movq -0x2a8(%rbp), %rdi
leaq 0x51d13(%rip), %rsi     # 0x64498
callq 0x8400
movq %rax, -0x2b0(%rbp)
jmp 0x12793
movq -0x2b0(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x2b8(%rbp)
jmp 0x127b4
movq -0x2b8(%rbp), %rdi
leaq 0x51cbd(%rip), %rsi     # 0x6447f
callq 0x8400
jmp 0x127c9
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rax
movb $0x66, 0x342(%rax,%rcx)
movq -0x10(%rbp), %rdi
movq 0x75789(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x2c0(%rbp)
jmp 0x127f5
movq -0x2c0(%rbp), %rdi
leaq 0x51ca0(%rip), %rsi     # 0x644a3
callq 0x8400
movq %rax, -0x2c8(%rbp)
jmp 0x12811
movq -0x2c8(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x83c0
jmp 0x12826
movq -0x10(%rbp), %rdi
movq 0x7573f(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x2d0(%rbp)
jmp 0x1283f
movq -0x2d0(%rbp), %rdi
leaq 0x51c3e(%rip), %rsi     # 0x6448b
callq 0x8400
jmp 0x12854
movq -0x10(%rbp), %rdi
movq 0x75711(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x2d8(%rbp)
jmp 0x1286d
movq -0x2d8(%rbp), %rdi
leaq 0x51c16(%rip), %rsi     # 0x64491
callq 0x8400
movq %rax, -0x2e0(%rbp)
jmp 0x12889
movq -0x2e0(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x83c0
jmp 0x1289e
movq -0x10(%rbp), %rdi
movq 0x756c7(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x2e8(%rbp)
jmp 0x128b7
movq -0x2e8(%rbp), %rdi
leaq 0x51bc6(%rip), %rsi     # 0x6448b
callq 0x8400
jmp 0x128cc
movq -0x10(%rbp), %rdi
movq 0x75699(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x2f0(%rbp)
jmp 0x128e5
movq -0x2f0(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x83c0
movq %rax, -0x2f8(%rbp)
jmp 0x12901
movq -0x2f8(%rbp), %rdi
leaq 0x518c4(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x12916
movq -0x10(%rbp), %rdi
movq 0x7564f(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x300(%rbp)
jmp 0x1292f
movq -0x300(%rbp), %rdi
leaq 0x51b30(%rip), %rsi     # 0x6446d
callq 0x8400
movq %rax, -0x308(%rbp)
jmp 0x1294b
movq -0x308(%rbp), %rdi
leaq 0x51fba(%rip), %rsi     # 0x64913
callq 0x8400
movq %rax, -0x310(%rbp)
jmp 0x12967
movq -0x310(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x318(%rbp)
jmp 0x12988
movq -0x318(%rbp), %rdi
leaq 0x51aff(%rip), %rsi     # 0x64495
callq 0x8400
jmp 0x1299d
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rax
movb $0x66, 0x342(%rax,%rcx)
movq -0x10(%rbp), %rdi
movq 0x755b5(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x320(%rbp)
jmp 0x129c9
movq -0x320(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x83c0
movq %rax, -0x328(%rbp)
jmp 0x129e5
movq -0x328(%rbp), %rdi
leaq 0x517e0(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x129fa
movq -0x10(%rbp), %rdi
movq 0x7556b(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x330(%rbp)
jmp 0x12a13
movq -0x330(%rbp), %rdi
leaq 0x51a89(%rip), %rsi     # 0x644aa
callq 0x8400
movq %rax, -0x338(%rbp)
jmp 0x12a2f
movq -0x338(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x340(%rbp)
jmp 0x12a50
movq -0x340(%rbp), %rdi
leaq 0x51ad6(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, -0x348(%rbp)
jmp 0x12a6c
movq -0x348(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
jmp 0x12a86
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rax
movb $0x66, 0x342(%rax,%rcx)
movq -0x10(%rbp), %rdi
movq 0x754cc(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x350(%rbp)
jmp 0x12ab2
movq -0x350(%rbp), %rdi
leaq 0x519f6(%rip), %rsi     # 0x644b6
callq 0x8400
movq %rax, -0x358(%rbp)
jmp 0x12ace
movq -0x358(%rbp), %rdi
leaq 0x51dfa(%rip), %rsi     # 0x648d6
callq 0x8400
movq %rax, -0x360(%rbp)
jmp 0x12aea
movq -0x360(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x368(%rbp)
jmp 0x12b0b
movq -0x368(%rbp), %rdi
leaq 0x51a1b(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, -0x370(%rbp)
jmp 0x12b27
movq -0x370(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
jmp 0x12b41
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rax
movb $0x66, 0x342(%rax,%rcx)
movq -0x10(%rbp), %rdi
movq 0x75411(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x378(%rbp)
jmp 0x12b6d
movq -0x378(%rbp), %rdi
leaq 0x51910(%rip), %rsi     # 0x6448b
callq 0x8400
jmp 0x12b82
leaq -0x150(%rbp), %rdi
callq 0x8280
leaq -0x130(%rbp), %rdi
callq 0x8280
leaq -0x110(%rbp), %rdi
callq 0x8280
jmp 0x12c22
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x13a02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x12c11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x12c05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x150(%rbp), %rdi
callq 0x8280
leaq -0x130(%rbp), %rdi
callq 0x8280
leaq -0x110(%rbp), %rdi
callq 0x8280
jmp 0x13a02
movq -0x10(%rbp), %rdi
movq 0x75343(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x380(%rbp)
jmp 0x12c3b
movq -0x380(%rbp), %rdi
leaq 0x51874(%rip), %rsi     # 0x644bd
callq 0x8400
movq %rax, -0x388(%rbp)
jmp 0x12c57
movq -0x388(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x390(%rbp)
jmp 0x12c78
movq -0x390(%rbp), %rdi
leaq 0x5183e(%rip), %rsi     # 0x644c4
callq 0x8400
movq %rax, -0x398(%rbp)
jmp 0x12c94
movq -0x398(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
jmp 0x12cae
movq -0x10(%rbp), %rdi
movq 0x752b7(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x3a0(%rbp)
jmp 0x12cc7
movq -0x3a0(%rbp), %rdi
leaq 0x517f5(%rip), %rsi     # 0x644ca
callq 0x8400
movq %rax, -0x3a8(%rbp)
jmp 0x12ce3
movq -0x3a8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x3b0(%rbp)
jmp 0x12d04
movq -0x3b0(%rbp), %rdi
leaq 0x51728(%rip), %rsi     # 0x6443a
callq 0x8400
movq %rax, -0x3b8(%rbp)
jmp 0x12d20
movq -0x3b8(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x83c0
jmp 0x12d32
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rax
movb $0x69, 0x342(%rax,%rcx)
movq -0x10(%rbp), %rdi
movq 0x75220(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x3c0(%rbp)
jmp 0x12d5e
movq -0x3c0(%rbp), %rdi
leaq 0x5171f(%rip), %rsi     # 0x6448b
callq 0x8400
jmp 0x12d73
jmp 0x12d75
movq -0x1e0(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %edx
incl %edx
movl %edx, 0x310(%rcx)
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x13fe0
jmp 0x12da1
movq -0x18(%rbp), %rax
testb $0x1, 0x14d(%rax)
je 0x12e9f
movq -0x18(%rbp), %rdi
addq $0x150, %rdi            # imm = 0x150
callq 0x11a60
cmpq $0x2, %rax
jb 0x12e9d
movq -0x18(%rbp), %rax
addq $0x150, %rax            # imm = 0x150
movq %rax, -0x3d0(%rbp)
movq -0x18(%rbp), %rdi
addq $0x150, %rdi            # imm = 0x150
callq 0x11a60
movq -0x3d0(%rbp), %rdi
movq %rax, %rsi
subq $0x2, %rsi
callq 0x11a80
movq %rax, %rcx
movb $0x1, %al
cmpl $0x0, (%rcx)
movb %al, -0x3c1(%rbp)
jne 0x12e50
movq -0x18(%rbp), %rax
addq $0x150, %rax            # imm = 0x150
movq %rax, -0x3d8(%rbp)
movq -0x18(%rbp), %rdi
addq $0x150, %rdi            # imm = 0x150
callq 0x11a60
movq -0x3d8(%rbp), %rdi
movq %rax, %rsi
subq $0x1, %rsi
callq 0x11a80
cmpl $0x0, (%rax)
setne %al
movb %al, -0x3c1(%rbp)
movb -0x3c1(%rbp), %al
movzbl %al, %eax
andl $0x1, %eax
movl %eax, -0x154(%rbp)
movq -0x18(%rbp), %rdi
addq $0x150, %rdi            # imm = 0x150
callq 0x15e90
movq -0x18(%rbp), %rdi
addq $0x150, %rdi            # imm = 0x150
callq 0x15e90
movq -0x18(%rbp), %rdi
addq $0x150, %rdi            # imm = 0x150
leaq -0x154(%rbp), %rsi
callq 0x15ec0
jmp 0x12e9b
jmp 0x12e9d
jmp 0x12e9f
movq -0x18(%rbp), %rax
testb $0x1, 0x218(%rax)
je 0x1387f
movq -0x18(%rbp), %rax
testb $0x1, 0x1f8(%rax)
jne 0x1387f
movq -0x18(%rbp), %rax
testb $0x1, 0x14d(%rax)
jne 0x1387f
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %edi
movl %edi, %esi
incl %esi
movq -0x10(%rbp), %rdx
callq 0x16000
jmp 0x12eeb
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
je 0x12f2c
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 0x136e7
movq -0x18(%rbp), %rsi
leaq -0x178(%rbp), %rdi
callq 0x15f30
jmp 0x12f3e
leaq -0x80(%rbp), %rdi
movq %rdi, -0x3e0(%rbp)
leaq -0x178(%rbp), %rsi
movq %rsi, -0x3e8(%rbp)
callq 0x8520
movq -0x3e8(%rbp), %rdi
callq 0x8280
movq -0x3e0(%rbp), %rdx
leaq 0x514df(%rip), %rsi     # 0x64455
leaq -0x198(%rbp), %rdi
callq 0x12040
jmp 0x12f84
leaq 0x514d1(%rip), %rsi     # 0x6445c
leaq -0x1b8(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x12040
jmp 0x12f9d
leaq 0x514bf(%rip), %rsi     # 0x64463
leaq -0x1d8(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x12040
jmp 0x12fb6
movq -0x10(%rbp), %rdi
movq 0x74faf(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x3f0(%rbp)
jmp 0x12fcf
movq -0x3f0(%rbp), %rdi
leaq 0x51490(%rip), %rsi     # 0x6446d
callq 0x8400
movq %rax, -0x3f8(%rbp)
jmp 0x12feb
movq -0x3f8(%rbp), %rdi
leaq 0x51487(%rip), %rsi     # 0x64480
callq 0x8400
movq %rax, -0x400(%rbp)
jmp 0x13007
movq -0x400(%rbp), %rdi
leaq 0x51a2f(%rip), %rsi     # 0x64a44
callq 0x8400
jmp 0x1301c
movq -0x10(%rbp), %rdi
movq 0x74f49(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x408(%rbp)
jmp 0x13035
movq -0x408(%rbp), %rdi
leaq 0x51431(%rip), %rsi     # 0x64474
callq 0x8400
movq %rax, -0x410(%rbp)
jmp 0x13051
movq -0x410(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x418(%rbp)
jmp 0x13072
movq -0x418(%rbp), %rdi
leaq 0x513ff(%rip), %rsi     # 0x6447f
callq 0x8400
jmp 0x13087
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rax
movb $0x66, 0x342(%rax,%rcx)
movq -0x10(%rbp), %rdi
movq 0x74ecb(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x420(%rbp)
jmp 0x130b3
movq -0x420(%rbp), %rdi
leaq 0x513c3(%rip), %rsi     # 0x64484
callq 0x8400
movq %rax, -0x428(%rbp)
jmp 0x130cf
movq -0x428(%rbp), %rdi
leaq -0x198(%rbp), %rsi
callq 0x83c0
jmp 0x130e4
movq -0x10(%rbp), %rdi
movq 0x74e81(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x430(%rbp)
jmp 0x130fd
movq -0x430(%rbp), %rdi
leaq 0x51380(%rip), %rsi     # 0x6448b
callq 0x8400
jmp 0x13112
movq -0x10(%rbp), %rdi
movq 0x74e53(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x438(%rbp)
jmp 0x1312b
movq -0x438(%rbp), %rdi
leaq 0x51358(%rip), %rsi     # 0x64491
callq 0x8400
movq %rax, -0x440(%rbp)
jmp 0x13147
movq -0x440(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x83c0
jmp 0x1315c
movq -0x10(%rbp), %rdi
movq 0x74e09(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x448(%rbp)
jmp 0x13175
movq -0x448(%rbp), %rdi
leaq 0x51308(%rip), %rsi     # 0x6448b
callq 0x8400
jmp 0x1318a
movq -0x10(%rbp), %rdi
movq 0x74ddb(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x450(%rbp)
jmp 0x131a3
movq -0x450(%rbp), %rdi
leaq -0x198(%rbp), %rsi
callq 0x83c0
movq %rax, -0x458(%rbp)
jmp 0x131bf
movq -0x458(%rbp), %rdi
leaq 0x51006(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x131d4
movq -0x10(%rbp), %rdi
movq 0x74d91(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x460(%rbp)
jmp 0x131ed
movq -0x460(%rbp), %rdi
leaq 0x51272(%rip), %rsi     # 0x6446d
callq 0x8400
movq %rax, -0x468(%rbp)
jmp 0x13209
movq -0x468(%rbp), %rdi
leaq 0x51269(%rip), %rsi     # 0x64480
callq 0x8400
movq %rax, -0x470(%rbp)
jmp 0x13225
movq -0x470(%rbp), %rdi
leaq 0x51262(%rip), %rsi     # 0x64495
callq 0x8400
jmp 0x1323a
movq -0x10(%rbp), %rdi
movq 0x74d2b(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x478(%rbp)
jmp 0x13253
movq -0x478(%rbp), %rdi
leaq 0x51237(%rip), %rsi     # 0x64498
callq 0x8400
movq %rax, -0x480(%rbp)
jmp 0x1326f
movq -0x480(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x488(%rbp)
jmp 0x13290
movq -0x488(%rbp), %rdi
leaq 0x511e1(%rip), %rsi     # 0x6447f
callq 0x8400
jmp 0x132a5
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rax
movb $0x66, 0x342(%rax,%rcx)
movq -0x10(%rbp), %rdi
movq 0x74cad(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x490(%rbp)
jmp 0x132d1
movq -0x490(%rbp), %rdi
leaq 0x511c4(%rip), %rsi     # 0x644a3
callq 0x8400
movq %rax, -0x498(%rbp)
jmp 0x132ed
movq -0x498(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
callq 0x83c0
jmp 0x13302
movq -0x10(%rbp), %rdi
movq 0x74c63(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x4a0(%rbp)
jmp 0x1331b
movq -0x4a0(%rbp), %rdi
leaq 0x51162(%rip), %rsi     # 0x6448b
callq 0x8400
jmp 0x13330
movq -0x10(%rbp), %rdi
movq 0x74c35(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x4a8(%rbp)
jmp 0x13349
movq -0x4a8(%rbp), %rdi
leaq 0x5113a(%rip), %rsi     # 0x64491
callq 0x8400
movq %rax, -0x4b0(%rbp)
jmp 0x13365
movq -0x4b0(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x83c0
jmp 0x1337a
movq -0x10(%rbp), %rdi
movq 0x74beb(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x4b8(%rbp)
jmp 0x13393
movq -0x4b8(%rbp), %rdi
leaq 0x510ea(%rip), %rsi     # 0x6448b
callq 0x8400
jmp 0x133a8
movq -0x10(%rbp), %rdi
movq 0x74bbd(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x4c0(%rbp)
jmp 0x133c1
movq -0x4c0(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
callq 0x83c0
movq %rax, -0x4c8(%rbp)
jmp 0x133dd
movq -0x4c8(%rbp), %rdi
leaq 0x50de8(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x133f2
movq -0x10(%rbp), %rdi
movq 0x74b73(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x4d0(%rbp)
jmp 0x1340b
movq -0x4d0(%rbp), %rdi
leaq 0x51054(%rip), %rsi     # 0x6446d
callq 0x8400
movq %rax, -0x4d8(%rbp)
jmp 0x13427
movq -0x4d8(%rbp), %rdi
leaq 0x514de(%rip), %rsi     # 0x64913
callq 0x8400
movq %rax, -0x4e0(%rbp)
jmp 0x13443
movq -0x4e0(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x4e8(%rbp)
jmp 0x13464
movq -0x4e8(%rbp), %rdi
leaq 0x51023(%rip), %rsi     # 0x64495
callq 0x8400
jmp 0x13479
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rax
movb $0x66, 0x342(%rax,%rcx)
movq -0x10(%rbp), %rdi
movq 0x74ad9(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x4f0(%rbp)
jmp 0x134a5
movq -0x4f0(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x83c0
movq %rax, -0x4f8(%rbp)
jmp 0x134c1
movq -0x4f8(%rbp), %rdi
leaq 0x50d04(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x134d6
movq -0x10(%rbp), %rdi
movq 0x74a8f(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x500(%rbp)
jmp 0x134ef
movq -0x500(%rbp), %rdi
leaq 0x50fad(%rip), %rsi     # 0x644aa
callq 0x8400
movq %rax, -0x508(%rbp)
jmp 0x1350b
movq -0x508(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x510(%rbp)
jmp 0x1352c
movq -0x510(%rbp), %rdi
leaq 0x50ffa(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, -0x518(%rbp)
jmp 0x13548
movq -0x518(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
jmp 0x13562
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rax
movb $0x66, 0x342(%rax,%rcx)
movq -0x10(%rbp), %rdi
movq 0x749f0(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x520(%rbp)
jmp 0x1358e
movq -0x520(%rbp), %rdi
leaq 0x50f1a(%rip), %rsi     # 0x644b6
callq 0x8400
movq %rax, -0x528(%rbp)
jmp 0x135aa
movq -0x528(%rbp), %rdi
leaq 0x5131e(%rip), %rsi     # 0x648d6
callq 0x8400
movq %rax, -0x530(%rbp)
jmp 0x135c6
movq -0x530(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x538(%rbp)
jmp 0x135e7
movq -0x538(%rbp), %rdi
leaq 0x50f3f(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, -0x540(%rbp)
jmp 0x13603
movq -0x540(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
jmp 0x1361d
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rax
movb $0x66, 0x342(%rax,%rcx)
movq -0x10(%rbp), %rdi
movq 0x74935(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x548(%rbp)
jmp 0x13649
movq -0x548(%rbp), %rdi
leaq 0x50e34(%rip), %rsi     # 0x6448b
callq 0x8400
jmp 0x1365e
leaq -0x1d8(%rbp), %rdi
callq 0x8280
leaq -0x1b8(%rbp), %rdi
callq 0x8280
leaq -0x198(%rbp), %rdi
callq 0x8280
jmp 0x136e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x136d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x136ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x8280
leaq -0x1b8(%rbp), %rdi
callq 0x8280
leaq -0x198(%rbp), %rdi
callq 0x8280
jmp 0x13a02
movq -0x10(%rbp), %rdi
movq 0x7487e(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x550(%rbp)
jmp 0x13700
movq -0x550(%rbp), %rdi
leaq 0x50daf(%rip), %rsi     # 0x644bd
callq 0x8400
movq %rax, -0x558(%rbp)
jmp 0x1371c
movq -0x558(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
movq %rax, -0x560(%rbp)
jmp 0x1373d
movq -0x560(%rbp), %rdi
leaq 0x50d79(%rip), %rsi     # 0x644c4
callq 0x8400
movq %rax, -0x568(%rbp)
jmp 0x13759
movq -0x568(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
jmp 0x13773
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x158b0
jmp 0x13782
movq -0x10(%rbp), %rdi
movq 0x747e3(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x570(%rbp)
jmp 0x1379b
movq -0x570(%rbp), %rdi
leaq 0x50d28(%rip), %rsi     # 0x644d1
callq 0x8400
movq %rax, -0x578(%rbp)
jmp 0x137b7
movq -0x578(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, -0x580(%rbp)
jmp 0x137d6
movq -0x580(%rbp), %rdi
leaq 0x50d0c(%rip), %rsi     # 0x644f0
callq 0x8400
movq %rax, -0x588(%rbp)
jmp 0x137f2
movq -0x588(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, -0x590(%rbp)
jmp 0x13811
movq -0x590(%rbp), %rdi
leaq 0x50cd1(%rip), %rsi     # 0x644f0
callq 0x8400
movq %rax, -0x598(%rbp)
jmp 0x1382d
movq -0x598(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
incl %esi
callq 0x8730
jmp 0x13847
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x69, 0x341(%rax,%rcx)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x1398c
movq -0x18(%rbp), %rax
testb $0x1, 0x1f8(%rax)
jne 0x1398a
movq -0x18(%rbp), %rax
testb $0x1, 0x14d(%rax)
jne 0x1398a
movq -0x18(%rbp), %rcx
movq -0x18(%rbp), %rax
movslq 0x310(%rax), %rdx
movb $0x1, %al
cmpl $0x0, 0x5f8(%rcx,%rdx,4)
movb %al, -0x599(%rbp)
jne 0x138e7
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
cmpl $0x0, 0x5f8(%rax,%rcx,4)
setne %al
movb %al, -0x599(%rbp)
movb -0x599(%rbp), %al
andb $0x1, %al
movzbl %al, %edx
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movl %edx, 0x5f8(%rax,%rcx,4)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movss 0xa238(%rax,%rcx,4), %xmm0
movb $0x1, %al
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
movb %al, -0x59a(%rbp)
jne 0x13963
jp 0x13963
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movss 0xa238(%rax,%rcx,4), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
setne %al
setp %cl
orb %cl, %al
movb %al, -0x59a(%rbp)
movb -0x59a(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cvtsi2ss %eax, %xmm0
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movss %xmm0, 0xa238(%rax,%rcx,4)
jmp 0x1398c
movq -0x18(%rbp), %rax
movl 0x310(%rax), %ecx
decl %ecx
movl %ecx, 0x310(%rax)
movq -0x10(%rbp), %rdi
movq 0x745c7(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, -0x5a8(%rbp)
jmp 0x139b7
movq -0x5a8(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x83c0
movq %rax, -0x5b0(%rbp)
jmp 0x139d0
movq -0x5b0(%rbp), %rdi
leaq 0x507f5(%rip), %rsi     # 0x641d3
callq 0x8400
jmp 0x139e5
leaq -0x80(%rbp), %rdi
callq 0x8280
leaq -0x60(%rbp), %rdi
callq 0x8280
leaq -0x40(%rbp), %rdi
callq 0x8280
jmp 0x13a1f
leaq -0x80(%rbp), %rdi
callq 0x8280
leaq -0x60(%rbp), %rdi
callq 0x8280
leaq -0x40(%rbp), %rdi
callq 0x8280
jmp 0x13a2a
jmp 0x13a21
addq $0x5b0, %rsp            # imm = 0x5B0
popq %rbp
retq
movq -0xa8(%rbp), %rdi
callq 0x8760
nopw %cs:(%rax,%rax)