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

			if(AND_OP==NULL && INclusiveOrExpression != NULL){
				INclusiveOrExpression->render_asm(file,contxt);
				
			}
			if(contxt.LocalArray && contxt.reading && contxt.function){
				if(LogicalAndExpressionPtr != NULL && INclusiveOrExpression != NULL){
					LogicalAndExpressionPtr->render_asm(file,contxt);
					INclusiveOrExpression->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 && INclusiveOrExpression != NULL && AND_OP != NULL) { 
				LogicalAndExpressionPtr->render_asm(file,contxt);
				std::string SHORTCIRCUIT, label_id;
				label_id = labelGenLogical(contxt);
				SHORTCIRCUIT = "$SHORTCIRCUIT_AND" + 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;
					contxt.regType[contxt.Regs+1]='i';
					file << std::endl << "\tbeq $0,$" << contxt.Regs+1 << "," << SHORTCIRCUIT;
					contxt.regType[contxt.Regs+1]='i';  
					file<<   std::endl << "\tnop\t";}
				contxt.Regs++;
				INclusiveOrExpression->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 << "\tand $" << 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 %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa0, %rsp
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r15
cmpq $0x0, 0x18(%rdi)
jne 0xea7c
movq 0x8(%r15), %rdi
testq %rdi, %rdi
je 0xea7c
movq %r14, %rsi
movq %rbx, %rdx
callq 0xfdb0
cmpb $0x1, 0x74(%rbx)
jne 0xeaf7
cmpb $0x1, 0x21b(%rbx)
jne 0xeaf7
cmpb $0x1, 0x218(%rbx)
jne 0xeaf7
movq 0x10(%r15), %rdi
testq %rdi, %rdi
je 0xeabe
cmpq $0x0, 0x8(%r15)
je 0xeabe
movq %r14, %rsi
movq %rbx, %rdx
callq 0xea48
movq 0x8(%r15), %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0xfdb0
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rax
movq %rax, %rsi
subq %rcx, %rsi
cmpq $0x5, %rsi
jb 0xf6f2
leaq 0x78(%rbx), %rdi
cmpl $0x0, -0x8(%rcx,%rsi)
je 0xf0e9
xorl %edx, %edx
cmpl $0x0, -0x4(%rcx,%rsi)
setne %dl
jmp 0xf0eb
movq 0x10(%r15), %rdi
testq %rdi, %rdi
je 0xf6f2
cmpb $0x0, 0x21b(%rbx)
jne 0xf6f2
cmpq $0x0, 0x8(%r15)
je 0xf6f2
cmpq $0x0, 0x18(%r15)
je 0xf6f2
movq %r14, %rsi
movq %rbx, %rdx
callq 0xea48
leaq 0x90(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
movb %cl, (%rax)
leaq 0x70(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb %cl, (%rax)
movq %rsp, %rdi
movq %rbx, %rsi
callq 0xfabc
leaq 0x60(%rsp), %r12
movq %rsp, %r13
movq %r12, %rdi
movq %r13, %rsi
callq 0x7400
movq %r13, %rdi
callq 0x7170
leaq 0x1eb9e(%rip), %rsi     # 0x2d722
movq %rsp, %rdi
movq %r12, %rdx
callq 0xdaa7
leaq 0x80(%rsp), %rdi
movq %rsp, %r12
movq %r12, %rsi
callq 0x7400
movq %r12, %rdi
callq 0x7170
cmpb $0x1, 0x218(%rbx)
jne 0xf097
movl 0x310(%rbx), %edi
leal 0x1(%rdi), %esi
movq %r14, %rdx
movq %rbx, %rcx
callq 0xfb3c
movslq 0x310(%rbx), %rax
cmpb $0x66, 0x341(%rbx,%rax)
je 0xebea
cmpb $0x66, 0x342(%rbx,%rax)
jne 0xefd6
movq %rsp, %rdi
movq %rbx, %rsi
callq 0xfabc
leaq 0x60(%rsp), %r12
movq %rsp, %r13
movq %r12, %rdi
movq %r13, %rsi
callq 0x7400
movq %r13, %rdi
callq 0x7170
leaq 0x1ea89(%rip), %rsi     # 0x2d6a0
movq %rsp, %rdi
movq %r12, %rdx
callq 0xdaa7
leaq 0x1ea7e(%rip), %rsi     # 0x2d6a7
leaq 0x20(%rsp), %rdi
leaq 0x60(%rsp), %rdx
callq 0xdaa7
leaq 0x1ea6f(%rip), %rsi     # 0x2d6ae
leaq 0x40(%rsp), %rdi
leaq 0x60(%rsp), %rdx
callq 0xdaa7
movq %r14, %rdi
callq 0x7190
leaq 0x1ea5b(%rip), %rsi     # 0x2d6b8
movq %rax, %rdi
callq 0x7310
leaq 0x1ea5f(%rip), %rsi     # 0x2d6cb
movq %rax, %rdi
callq 0x7310
leaq 0x1f014(%rip), %rsi     # 0x2dc8f
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x1ea2d(%rip), %rsi     # 0x2d6bf
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
leaq 0x1ea19(%rip), %rsi     # 0x2d6ca
movq %rax, %rdi
callq 0x7310
movslq 0x310(%rbx), %rax
movb $0x66, 0x342(%rbx,%rax)
movq %r14, %rdi
callq 0x7190
leaq 0x1e9f8(%rip), %rsi     # 0x2d6cf
movq %rax, %rdi
callq 0x7310
movq %rsp, %rsi
movq %rax, %rdi
callq 0x72d0
movq %r14, %rdi
callq 0x7190
leaq 0x1e9dd(%rip), %rsi     # 0x2d6d6
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x1e9cc(%rip), %rsi     # 0x2d6dc
movq %rax, %rdi
callq 0x7310
leaq 0x20(%rsp), %rsi
movq %rax, %rdi
callq 0x72d0
movq %r14, %rdi
callq 0x7190
leaq 0x1e9a2(%rip), %rsi     # 0x2d6d6
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
movq %rsp, %rsi
movq %rax, %rdi
callq 0x72d0
leaq 0x1e6a0(%rip), %rsi     # 0x2d3f6
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x1e94b(%rip), %rsi     # 0x2d6b8
movq %rax, %rdi
callq 0x7310
leaq 0x1e94f(%rip), %rsi     # 0x2d6cb
movq %rax, %rdi
callq 0x7310
leaq 0x1e955(%rip), %rsi     # 0x2d6e0
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x1e941(%rip), %rsi     # 0x2d6e3
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
leaq 0x1e909(%rip), %rsi     # 0x2d6ca
movq %rax, %rdi
callq 0x7310
movslq 0x310(%rbx), %rax
movb $0x66, 0x342(%rbx,%rax)
movq %r14, %rdi
callq 0x7190
leaq 0x1e907(%rip), %rsi     # 0x2d6ee
movq %rax, %rdi
callq 0x7310
leaq 0x40(%rsp), %rsi
movq %rax, %rdi
callq 0x72d0
movq %r14, %rdi
callq 0x7190
leaq 0x1e8cb(%rip), %rsi     # 0x2d6d6
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x1e8ba(%rip), %rsi     # 0x2d6dc
movq %rax, %rdi
callq 0x7310
leaq 0x20(%rsp), %rsi
movq %rax, %rdi
callq 0x72d0
movq %r14, %rdi
callq 0x7190
leaq 0x1e890(%rip), %rsi     # 0x2d6d6
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x40(%rsp), %rsi
movq %rax, %rdi
callq 0x72d0
leaq 0x1e58c(%rip), %rsi     # 0x2d3f6
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x1e837(%rip), %rsi     # 0x2d6b8
movq %rax, %rdi
callq 0x7310
leaq 0x1ecce(%rip), %rsi     # 0x2db5e
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
leaq 0x1e831(%rip), %rsi     # 0x2d6e0
movq %rax, %rdi
callq 0x7310
movslq 0x310(%rbx), %rax
movb $0x66, 0x342(%rbx,%rax)
movq %r14, %rdi
callq 0x7190
leaq 0x20(%rsp), %rsi
movq %rax, %rdi
callq 0x72d0
leaq 0x1e514(%rip), %rsi     # 0x2d3f6
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x1e7fc(%rip), %rsi     # 0x2d6f5
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
leaq 0x1e867(%rip), %rsi     # 0x2d77f
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
movslq 0x310(%rbx), %rax
movb $0x66, 0x342(%rbx,%rax)
movq %r14, %rdi
callq 0x7190
leaq 0x1e7b3(%rip), %rsi     # 0x2d701
movq %rax, %rdi
callq 0x7310
leaq 0x1ebc4(%rip), %rsi     # 0x2db21
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
leaq 0x1e803(%rip), %rsi     # 0x2d77f
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
movslq 0x310(%rbx), %rax
movb $0x66, 0x342(%rbx,%rax)
movq %r14, %rdi
callq 0x7190
leaq 0x1e724(%rip), %rsi     # 0x2d6d6
movq %rax, %rdi
callq 0x7310
leaq 0x40(%rsp), %rdi
callq 0x7170
leaq 0x20(%rsp), %rdi
callq 0x7170
movq %rsp, %rdi
callq 0x7170
movq %r14, %rdi
callq 0x7190
leaq 0x1e723(%rip), %rsi     # 0x2d708
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
leaq 0x1e70b(%rip), %rsi     # 0x2d70f
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
movslq 0x310(%rbx), %rax
movb $0x69, 0x342(%rbx,%rax)
movq %r14, %rdi
callq 0x7190
leaq 0x1e6fa(%rip), %rsi     # 0x2d734
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
leaq 0x1e62f(%rip), %rsi     # 0x2d688
movq %rax, %rdi
callq 0x7310
leaq 0x80(%rsp), %rsi
movq %rax, %rdi
callq 0x72d0
movslq 0x310(%rbx), %rax
movb $0x69, 0x342(%rbx,%rax)
movq %r14, %rdi
callq 0x7190
leaq 0x1e647(%rip), %rsi     # 0x2d6d6
movq %rax, %rdi
callq 0x7310
incl 0x310(%rbx)
movq 0x8(%r15), %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0xfdb0
cmpb $0x1, 0x14d(%rbx)
jne 0xf121
movq 0x150(%rbx), %rcx
movq 0x158(%rbx), %rax
movq %rax, %rsi
subq %rcx, %rsi
cmpq $0x5, %rsi
jb 0xf121
leaq 0x150(%rbx), %rdi
cmpl $0x0, -0x8(%rcx,%rsi)
je 0xf10a
xorl %edx, %edx
cmpl $0x0, -0x4(%rcx,%rsi)
setne %dl
jmp 0xf10c
xorl %edx, %edx
leaq 0x80(%rsp), %rsi
movl %edx, (%rsi)
addq $-0x8, %rax
movq %rax, 0x80(%rbx)
callq 0xfa9e
jmp 0xf6f2
xorl %edx, %edx
movq %rsp, %rsi
movl %edx, (%rsi)
addq $-0x8, %rax
movq %rax, 0x158(%rbx)
callq 0xfa9e
movb 0x1f8(%rbx), %al
cmpb $0x1, 0x218(%rbx)
jne 0xf13d
testb $0x1, %al
jne 0xf13d
cmpb $0x0, 0x14d(%rbx)
je 0xf179
testb $0x1, %al
jne 0xf6ae
cmpb $0x0, 0x14d(%rbx)
jne 0xf6ae
movslq 0x310(%rbx), %rax
cmpl $0x0, 0x5f8(%rbx,%rax,4)
je 0xf66a
xorl %ecx, %ecx
cmpl $0x0, 0x5fc(%rbx,%rax,4)
setne %cl
jmp 0xf66c
movl 0x310(%rbx), %edi
leal 0x1(%rdi), %esi
movq %r14, %rdx
movq %rbx, %rcx
callq 0xfb3c
movslq 0x310(%rbx), %rax
cmpb $0x66, 0x341(%rbx,%rax)
je 0xf1ac
cmpb $0x66, 0x342(%rbx,%rax)
jne 0xf598
movq %rsp, %rdi
movq %rbx, %rsi
callq 0xfabc
leaq 0x60(%rsp), %r15
movq %rsp, %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x7400
movq %r12, %rdi
callq 0x7170
leaq 0x1e4c7(%rip), %rsi     # 0x2d6a0
movq %rsp, %rdi
movq %r15, %rdx
callq 0xdaa7
leaq 0x1e4bc(%rip), %rsi     # 0x2d6a7
leaq 0x20(%rsp), %rdi
leaq 0x60(%rsp), %rdx
callq 0xdaa7
leaq 0x1e4ad(%rip), %rsi     # 0x2d6ae
leaq 0x40(%rsp), %rdi
leaq 0x60(%rsp), %rdx
callq 0xdaa7
movq %r14, %rdi
callq 0x7190
leaq 0x1e499(%rip), %rsi     # 0x2d6b8
movq %rax, %rdi
callq 0x7310
leaq 0x1e49d(%rip), %rsi     # 0x2d6cb
movq %rax, %rdi
callq 0x7310
leaq 0x1ea52(%rip), %rsi     # 0x2dc8f
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x1e46b(%rip), %rsi     # 0x2d6bf
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
leaq 0x1e457(%rip), %rsi     # 0x2d6ca
movq %rax, %rdi
callq 0x7310
movslq 0x310(%rbx), %rax
movb $0x66, 0x342(%rbx,%rax)
movq %r14, %rdi
callq 0x7190
leaq 0x1e436(%rip), %rsi     # 0x2d6cf
movq %rax, %rdi
callq 0x7310
movq %rsp, %rsi
movq %rax, %rdi
callq 0x72d0
movq %r14, %rdi
callq 0x7190
leaq 0x1e41b(%rip), %rsi     # 0x2d6d6
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x1e40a(%rip), %rsi     # 0x2d6dc
movq %rax, %rdi
callq 0x7310
leaq 0x20(%rsp), %rsi
movq %rax, %rdi
callq 0x72d0
movq %r14, %rdi
callq 0x7190
leaq 0x1e3e0(%rip), %rsi     # 0x2d6d6
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
movq %rsp, %rsi
movq %rax, %rdi
callq 0x72d0
leaq 0x1e0de(%rip), %rsi     # 0x2d3f6
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x1e389(%rip), %rsi     # 0x2d6b8
movq %rax, %rdi
callq 0x7310
leaq 0x1e38d(%rip), %rsi     # 0x2d6cb
movq %rax, %rdi
callq 0x7310
leaq 0x1e393(%rip), %rsi     # 0x2d6e0
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x1e37f(%rip), %rsi     # 0x2d6e3
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
leaq 0x1e347(%rip), %rsi     # 0x2d6ca
movq %rax, %rdi
callq 0x7310
movslq 0x310(%rbx), %rax
movb $0x66, 0x342(%rbx,%rax)
movq %r14, %rdi
callq 0x7190
leaq 0x1e345(%rip), %rsi     # 0x2d6ee
movq %rax, %rdi
callq 0x7310
leaq 0x40(%rsp), %rsi
movq %rax, %rdi
callq 0x72d0
movq %r14, %rdi
callq 0x7190
leaq 0x1e309(%rip), %rsi     # 0x2d6d6
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x1e2f8(%rip), %rsi     # 0x2d6dc
movq %rax, %rdi
callq 0x7310
leaq 0x20(%rsp), %rsi
movq %rax, %rdi
callq 0x72d0
movq %r14, %rdi
callq 0x7190
leaq 0x1e2ce(%rip), %rsi     # 0x2d6d6
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x40(%rsp), %rsi
movq %rax, %rdi
callq 0x72d0
leaq 0x1dfca(%rip), %rsi     # 0x2d3f6
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x1e275(%rip), %rsi     # 0x2d6b8
movq %rax, %rdi
callq 0x7310
leaq 0x1e70c(%rip), %rsi     # 0x2db5e
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
leaq 0x1e26f(%rip), %rsi     # 0x2d6e0
movq %rax, %rdi
callq 0x7310
movslq 0x310(%rbx), %rax
movb $0x66, 0x342(%rbx,%rax)
movq %r14, %rdi
callq 0x7190
leaq 0x20(%rsp), %rsi
movq %rax, %rdi
callq 0x72d0
leaq 0x1df52(%rip), %rsi     # 0x2d3f6
movq %rax, %rdi
callq 0x7310
movq %r14, %rdi
callq 0x7190
leaq 0x1e23a(%rip), %rsi     # 0x2d6f5
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
leaq 0x1e2a5(%rip), %rsi     # 0x2d77f
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
movslq 0x310(%rbx), %rax
movb $0x66, 0x342(%rbx,%rax)
movq %r14, %rdi
callq 0x7190
leaq 0x1e1f1(%rip), %rsi     # 0x2d701
movq %rax, %rdi
callq 0x7310
leaq 0x1e602(%rip), %rsi     # 0x2db21
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
leaq 0x1e241(%rip), %rsi     # 0x2d77f
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
movslq 0x310(%rbx), %rax
movb $0x66, 0x342(%rbx,%rax)
movq %r14, %rdi
callq 0x7190
leaq 0x1e162(%rip), %rsi     # 0x2d6d6
movq %rax, %rdi
callq 0x7310
leaq 0x40(%rsp), %rdi
callq 0x7170
leaq 0x20(%rsp), %rdi
callq 0x7170
movq %rsp, %rdi
callq 0x7170
movq %r14, %rdi
callq 0x7190
leaq 0x1e161(%rip), %rsi     # 0x2d708
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
leaq 0x1e149(%rip), %rsi     # 0x2d70f
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
movq %rbx, %rdi
movq %r14, %rsi
callq 0xf764
movq %r14, %rdi
callq 0x7190
leaq 0x1e146(%rip), %rsi     # 0x2d73e
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
movq %rax, %rdi
callq 0x7590
leaq 0x1e126(%rip), %rsi     # 0x2d73b
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
movq %rax, %rdi
callq 0x7590
leaq 0x1e109(%rip), %rsi     # 0x2d73b
movq %rax, %rdi
callq 0x7310
movl 0x310(%rbx), %esi
incl %esi
movq %rax, %rdi
callq 0x7590
movslq 0x310(%rbx), %rax
movb $0x69, %cl
movb %cl, 0x341(%rbx,%rax)
movslq 0x310(%rbx), %rax
movb %cl, 0x342(%rbx,%rax)
jmp 0xf6ae
xorl %ecx, %ecx
movl %ecx, 0x5f8(%rbx,%rax,4)
movslq 0x310(%rbx), %rax
movss 0xa238(%rbx,%rax,4), %xmm1
xorps %xmm0, %xmm0
ucomiss %xmm0, %xmm1
jne 0xf68d
jnp 0xf6a5
xorps %xmm1, %xmm1
cmpneqss 0xa23c(%rbx,%rax,4), %xmm1
movss 0x1dc32(%rip), %xmm0    # 0x2d2d4
andps %xmm1, %xmm0
movss %xmm0, 0xa238(%rbx,%rax,4)
decl 0x310(%rbx)
movq %r14, %rdi
callq 0x7190
leaq 0x80(%rsp), %rsi
movq %rax, %rdi
callq 0x72d0
leaq 0x1dd23(%rip), %rsi     # 0x2d3f6
movq %rax, %rdi
callq 0x7310
leaq 0x60(%rsp), %rdi
callq 0x7170
leaq 0x80(%rsp), %rdi
callq 0x7170
addq $0xa0, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
jmp 0xf70d
jmp 0xf712
jmp 0xf721
jmp 0xf721
jmp 0xf721
movq %rax, %rbx
jmp 0xf733
movq %rax, %rbx
jmp 0xf73d
jmp 0xf721
jmp 0xf721
jmp 0xf721
jmp 0xf721
jmp 0xf726
movq %rax, %rbx
jmp 0xf745
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x7170
leaq 0x20(%rsp), %rdi
callq 0x7170
movq %rsp, %rdi
callq 0x7170
leaq 0x60(%rsp), %rdi
callq 0x7170
leaq 0x80(%rsp), %rdi
callq 0x7170
movq %rbx, %rdi
callq 0x75c0