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


			if(OPERATOR==NULL && MultiplicativeExpressioN != NULL){
				MultiplicativeExpressioN->render_asm(file,contxt);
				//postfix_ops(contxt, file);

			}
			if(contxt.LocalArray && contxt.reading && contxt.function){
				if(AdditiveExpressionPtr != NULL && MultiplicativeExpressioN != NULL){
					AdditiveExpressionPtr->render_asm(file,contxt);		
					MultiplicativeExpressioN->render_asm(file,contxt);					
					
				}
					if(contxt.ArraySize.size()>=2){
					if( OPERATOR != NULL && *OPERATOR == "+" ){
						
							int result = contxt.ArraySize[contxt.ArraySize.size()-1] +  contxt.ArraySize[contxt.ArraySize.size()-2];
							contxt.ArraySize.pop_back();
							contxt.ArraySize.pop_back();
							contxt.ArraySize.push_back(result);
						}
					
					else if( OPERATOR != NULL && *OPERATOR== "-") {
							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(AdditiveExpressionPtr != NULL && !contxt.reading  && MultiplicativeExpressioN != NULL && OPERATOR != NULL) { 
				
				
				AdditiveExpressionPtr->render_asm(file,contxt);	
				contxt.Regs++;
				MultiplicativeExpressioN->render_asm(file,contxt);


				
				if(contxt.enum_constant){
					if( *OPERATOR == "+" ){
						if(contxt.EnumOperands.size()>=2){
							int result =  contxt.EnumOperands[contxt.EnumOperands.size()-1] + contxt.EnumOperands[contxt.EnumOperands.size()-2];
							contxt.EnumOperands.pop_back();
							contxt.EnumOperands.pop_back();
							contxt.EnumOperands.push_back(result);
						}
						
					}
					else if(*OPERATOR == "-"){
						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)){
					//postfix_ops(contxt, file);
					if( *OPERATOR == "+" ){
						contxt.eval[contxt.Regs]+=contxt.eval[contxt.Regs+1];
						contxt.eval[contxt.Regs+1]=0;
						contxt.eval_f[contxt.Regs]+=contxt.eval_f[contxt.Regs+1];
						contxt.eval_f[contxt.Regs+1]=0;
						
					}
					else if(*OPERATOR == "-"){
						contxt.eval[contxt.Regs]-=contxt.eval[contxt.Regs+1];
						contxt.eval[contxt.Regs+1]=0;
						contxt.eval_f[contxt.Regs]-=contxt.eval_f[contxt.Regs+1];
						contxt.eval_f[contxt.Regs+1]=0;
					}
				}
				if (contxt.function  && !contxt.sizeof_ && !contxt.enum_constant){
					typePromotion(contxt.Regs,contxt.Regs+1,file,contxt);
					if( *OPERATOR == "+" ){

						if(contxt.regType[contxt.Regs]=='f' || contxt.regType[contxt.Regs+1]=='f'){
							if(contxt.lhs_of_assignment){ //TODO: NEW THING
								file << std::endl << "\tadd.s\t$f" << contxt.Regs+1 <<", $f" << contxt.Regs+2 << ", $f" << contxt.Regs + 1;
								contxt.regType[contxt.Regs+1]='f';
								contxt.regType[contxt.Regs+2]='f';
							}
							else{
								file << std::endl << "\tadd.s\t$f" << contxt.Regs << ",$f" << contxt.Regs << ",$f" << contxt.Regs+1;
								contxt.regType[contxt.Regs]='f';
								contxt.regType[contxt.Regs+1]='f';
							}
							
						}		

						else if(contxt.regType[contxt.Regs]=='u' || contxt.regType[contxt.Regs+1]=='u' ){
							if(contxt.lhs_of_assignment){ // TODO: NEW THING
								file << std::endl << "\taddu\t$" << contxt.Regs+1 <<", $" << contxt.Regs+2 << ", $" << contxt.Regs + 1;
								contxt.regType[contxt.Regs+1]='u';
								contxt.regType[contxt.Regs+2]='u';
							}
							else{
								file << std::endl << "\taddu\t$" << contxt.Regs <<", $" << contxt.Regs << ", $" << contxt.Regs + 1;
								contxt.regType[contxt.Regs]='u';
								contxt.regType[contxt.Regs+1]='u';
							}
							
						}
										
						else{
							if(contxt.lhs_of_assignment){ //TODO: NEW THING
								file << std::endl << "\tadd\t$" << contxt.Regs+1 <<", $" << contxt.Regs+2 << ", $" << contxt.Regs + 1;
								contxt.regType[contxt.Regs+2]='i';
								contxt.regType[contxt.Regs+1]='i';
							}
							else{
							file << std::endl << "\tadd\t$" << contxt.Regs <<", $" << contxt.Regs << ", $" << contxt.Regs + 1;
							contxt.regType[contxt.Regs]='i';
							contxt.regType[contxt.Regs+1]='i';
							}
							
						}
					}
					else if(  *OPERATOR == "-" ){
						if(contxt.regType[contxt.Regs]=='f' || contxt.regType[contxt.Regs+1]=='f'){
							if(contxt.lhs_of_assignment){ //TODO: NEW THING
								file << std::endl << "\tsub.s\t$" << contxt.Regs+1 <<", $" << contxt.Regs+2 << ", $" << contxt.Regs + 1;
								contxt.regType[contxt.Regs+2]='f';
								contxt.regType[contxt.Regs+1]='f';
							}
							else{
								file << std::endl << "\tsub.s\t$f" << contxt.Regs << ",$f" << contxt.Regs << ",$f" << contxt.Regs+1;
								contxt.regType[contxt.Regs]='f';
								contxt.regType[contxt.Regs+1]='f';
							}
							

						}
						else if(contxt.regType[contxt.Regs]=='u' || contxt.regType[contxt.Regs+1]=='u') {
							if(contxt.lhs_of_assignment){ //TODO: NEW THING
								file << std::endl << "\tsubu\t$" << contxt.Regs+1 <<", $" << contxt.Regs+2 << ", $" << contxt.Regs + 1;
								contxt.regType[contxt.Regs+2]='u';
								contxt.regType[contxt.Regs+1]='u';
							}
							else{
								file << std::endl << "\tsubu\t$" << contxt.Regs <<", $" << contxt.Regs << ", $" << contxt.Regs + 1;
								contxt.regType[contxt.Regs]='u';
								contxt.regType[contxt.Regs+1]='u';
							}
							
						}
						
						else{
							if(contxt.lhs_of_assignment){ //TODO: NEW THING
								file << std::endl << "\tsub\t$" << contxt.Regs+1 <<", $" << contxt.Regs+2 << ", $" << contxt.Regs + 1;
								contxt.regType[contxt.Regs+2]='i';
								contxt.regType[contxt.Regs+1]='i';	
							}
							else{
								file << std::endl << "\tsub\t$" << contxt.Regs <<", $" << contxt.Regs << ", $" << contxt.Regs + 1;
								contxt.regType[contxt.Regs]='i';
								contxt.regType[contxt.Regs+1]='i';
							}
							
						}
					}
					
				}
				contxt.Regs--;
			}

		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, 0x10(%rax)
jne 0x1b006
movq -0x30(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x1b006
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x1c0d0
movq -0x18(%rbp), %rax
testb $0x1, 0x74(%rax)
je 0x1b20d
movq -0x18(%rbp), %rax
testb $0x1, 0x21b(%rax)
je 0x1b20d
movq -0x18(%rbp), %rax
testb $0x1, 0x218(%rax)
je 0x1b20d
movq -0x30(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x1b076
movq -0x30(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x1b076
movq -0x30(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x1afc0
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x1c0d0
movq -0x18(%rbp), %rdi
addq $0x78, %rdi
callq 0x11a60
cmpq $0x2, %rax
jb 0x1b208
movq -0x30(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x1b14b
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rdi
leaq 0x498cd(%rip), %rsi     # 0x64978
callq 0x9e30
testb $0x1, %al
jne 0x1b0b9
jmp 0x1b14b
movq -0x18(%rbp), %rax
addq $0x78, %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rdi
addq $0x78, %rdi
callq 0x11a60
movq -0x48(%rbp), %rdi
movq %rax, %rsi
subq $0x1, %rsi
callq 0x11a80
movl (%rax), %eax
movl %eax, -0x34(%rbp)
movq -0x18(%rbp), %rax
addq $0x78, %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rdi
addq $0x78, %rdi
callq 0x11a60
movq -0x40(%rbp), %rdi
movq %rax, %rsi
subq $0x2, %rsi
callq 0x11a80
movq %rax, %rcx
movl -0x34(%rbp), %eax
addl (%rcx), %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 0x1b206
movq -0x30(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x1b204
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rdi
leaq 0x495b8(%rip), %rsi     # 0x64721
callq 0x9e30
testb $0x1, %al
jne 0x1b177
jmp 0x1b204
movq -0x18(%rbp), %rax
addq $0x78, %rax
movq %rax, -0x60(%rbp)
movq -0x18(%rbp), %rdi
addq $0x78, %rdi
callq 0x11a60
movq -0x60(%rbp), %rdi
movq %rax, %rsi
subq $0x2, %rsi
callq 0x11a80
movl (%rax), %eax
movl %eax, -0x4c(%rbp)
movq -0x18(%rbp), %rax
addq $0x78, %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rdi
addq $0x78, %rdi
callq 0x11a60
movq -0x58(%rbp), %rdi
movq %rax, %rsi
subq $0x1, %rsi
callq 0x11a80
movq %rax, %rcx
movl -0x4c(%rbp), %eax
subl (%rcx), %eax
movl %eax, -0x20(%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 -0x20(%rbp), %rsi
callq 0x15ec0
jmp 0x1b206
jmp 0x1b208
jmp 0x1c0c7
movq -0x30(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x1c0c5
movq -0x18(%rbp), %rax
testb $0x1, 0x21b(%rax)
jne 0x1c0c5
movq -0x30(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x1c0c5
movq -0x30(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x1c0c5
movq -0x30(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x1afc0
movq -0x30(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %edx
addl $0x1, %edx
movl %edx, 0x310(%rcx)
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x1c0d0
movq -0x18(%rbp), %rax
testb $0x1, 0x14d(%rax)
je 0x1b45e
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rdi
leaq 0x496d0(%rip), %rsi     # 0x64978
callq 0x9e30
testb $0x1, %al
jne 0x1b2b6
jmp 0x1b375
movq -0x18(%rbp), %rdi
addq $0x150, %rdi            # imm = 0x150
callq 0x11a60
cmpq $0x2, %rax
jb 0x1b370
movq -0x18(%rbp), %rax
addq $0x150, %rax            # imm = 0x150
movq %rax, -0x78(%rbp)
movq -0x18(%rbp), %rdi
addq $0x150, %rdi            # imm = 0x150
callq 0x11a60
movq -0x78(%rbp), %rdi
movq %rax, %rsi
subq $0x1, %rsi
callq 0x11a80
movl (%rax), %eax
movl %eax, -0x64(%rbp)
movq -0x18(%rbp), %rax
addq $0x150, %rax            # imm = 0x150
movq %rax, -0x70(%rbp)
movq -0x18(%rbp), %rdi
addq $0x150, %rdi            # imm = 0x150
callq 0x11a60
movq -0x70(%rbp), %rdi
movq %rax, %rsi
subq $0x2, %rsi
callq 0x11a80
movq %rax, %rcx
movl -0x64(%rbp), %eax
addl (%rcx), %eax
movl %eax, -0x24(%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 -0x24(%rbp), %rsi
callq 0x15ec0
jmp 0x1b45c
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rdi
leaq 0x4939d(%rip), %rsi     # 0x64721
callq 0x9e30
testb $0x1, %al
jne 0x1b392
jmp 0x1b45a
movq -0x18(%rbp), %rdi
addq $0x150, %rdi            # imm = 0x150
callq 0x11a60
cmpq $0x2, %rax
jb 0x1b458
movq -0x18(%rbp), %rax
addq $0x150, %rax            # imm = 0x150
movq %rax, -0x90(%rbp)
movq -0x18(%rbp), %rdi
addq $0x150, %rdi            # imm = 0x150
callq 0x11a60
movq -0x90(%rbp), %rdi
movq %rax, %rsi
subq $0x2, %rsi
callq 0x11a80
movl (%rax), %eax
movl %eax, -0x7c(%rbp)
movq -0x18(%rbp), %rax
addq $0x150, %rax            # imm = 0x150
movq %rax, -0x88(%rbp)
movq -0x18(%rbp), %rdi
addq $0x150, %rdi            # imm = 0x150
callq 0x11a60
movq -0x88(%rbp), %rdi
movq %rax, %rsi
subq $0x1, %rsi
callq 0x11a80
movq %rax, %rcx
movl -0x7c(%rbp), %eax
subl (%rcx), %eax
movl %eax, -0x28(%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 -0x28(%rbp), %rsi
callq 0x15ec0
jmp 0x1b45a
jmp 0x1b45c
jmp 0x1b45e
movq -0x18(%rbp), %rax
testb $0x1, 0x218(%rax)
jne 0x1b644
movq -0x18(%rbp), %rax
testb $0x1, 0x1f8(%rax)
jne 0x1b644
movq -0x18(%rbp), %rax
testb $0x1, 0x14d(%rax)
jne 0x1b644
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rdi
leaq 0x494d8(%rip), %rsi     # 0x64978
callq 0x9e30
testb $0x1, %al
jne 0x1b4ae
jmp 0x1b568
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movl 0x5f8(%rax,%rcx,4), %edx
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
addl 0x5f8(%rax,%rcx,4), %edx
movl %edx, 0x5f8(%rax,%rcx,4)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movl $0x0, 0x5f8(%rax,%rcx,4)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movss 0xa238(%rax,%rcx,4), %xmm0
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
addss 0xa238(%rax,%rcx,4), %xmm0
movss %xmm0, 0xa238(%rax,%rcx,4)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
xorps %xmm0, %xmm0
movss %xmm0, 0xa238(%rax,%rcx,4)
jmp 0x1b642
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rdi
leaq 0x491aa(%rip), %rsi     # 0x64721
callq 0x9e30
testb $0x1, %al
jne 0x1b585
jmp 0x1b640
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movl 0x5f8(%rax,%rcx,4), %esi
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movl 0x5f8(%rax,%rcx,4), %edx
subl %esi, %edx
movl %edx, 0x5f8(%rax,%rcx,4)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movl $0x0, 0x5f8(%rax,%rcx,4)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movss 0xa238(%rax,%rcx,4), %xmm1
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movss 0xa238(%rax,%rcx,4), %xmm0
subss %xmm1, %xmm0
movss %xmm0, 0xa238(%rax,%rcx,4)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
xorps %xmm0, %xmm0
movss %xmm0, 0xa238(%rax,%rcx,4)
jmp 0x1b642
jmp 0x1b644
movq -0x18(%rbp), %rax
testb $0x1, 0x218(%rax)
je 0x1c0b2
movq -0x18(%rbp), %rax
testb $0x1, 0x1f8(%rax)
jne 0x1c0b2
movq -0x18(%rbp), %rax
testb $0x1, 0x14d(%rax)
jne 0x1c0b2
movq -0x18(%rbp), %rax
movl 0x310(%rax), %edi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
movq -0x10(%rbp), %rdx
movq -0x18(%rbp), %rcx
callq 0x16000
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rdi
leaq 0x492ce(%rip), %rsi     # 0x64978
callq 0x9e30
testb $0x1, %al
jne 0x1b6b8
jmp 0x1bba6
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
je 0x1b6f9
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 0x1b871
movq -0x18(%rbp), %rax
testb $0x1, 0x1d2(%rax)
je 0x1b7c3
movq -0x10(%rbp), %rdi
movq 0x6c85b(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x48ec9(%rip), %rsi     # 0x645ed
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x48eaf(%rip), %rsi     # 0x645f7
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x2, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x48e8b(%rip), %rsi     # 0x645f7
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x66, 0x341(%rax,%rcx)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x66, 0x341(%rax,%rcx)
jmp 0x1b86c
movq -0x10(%rbp), %rdi
movq 0x6c7a2(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x48e10(%rip), %rsi     # 0x645ed
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x48d36(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x48d15(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x66, 0x341(%rax,%rcx)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x66, 0x341(%rax,%rcx)
jmp 0x1bba1
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
je 0x1b8b2
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
jne 0x1ba2a
movq -0x18(%rbp), %rax
testb $0x1, 0x1d2(%rax)
je 0x1b97c
movq -0x10(%rbp), %rdi
movq 0x6c6a2(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x48d1f(%rip), %rsi     # 0x645fc
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x48c4f(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x2, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x48c2b(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x75, 0x341(%rax,%rcx)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x75, 0x341(%rax,%rcx)
jmp 0x1ba25
movq -0x10(%rbp), %rdi
movq 0x6c5e9(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x48c66(%rip), %rsi     # 0x645fc
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x48b99(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x48b78(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x75, 0x341(%rax,%rcx)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x75, 0x341(%rax,%rcx)
jmp 0x1bb9f
movq -0x18(%rbp), %rax
testb $0x1, 0x1d2(%rax)
je 0x1baf4
movq -0x10(%rbp), %rdi
movq 0x6c52a(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x48baf(%rip), %rsi     # 0x64604
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x48ad7(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x2, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x48ab3(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x2, %ecx
movslq %ecx, %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 0x1bb9d
movq -0x10(%rbp), %rdi
movq 0x6c471(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x48af6(%rip), %rsi     # 0x64604
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x48a21(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x48a00(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
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 0x1bb9f
jmp 0x1bba1
jmp 0x1c0b0
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rdi
leaq 0x48b6c(%rip), %rsi     # 0x64721
callq 0x9e30
testb $0x1, %al
jne 0x1bbc3
jmp 0x1c0ae
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
je 0x1bc04
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 0x1bd7c
movq -0x18(%rbp), %rax
testb $0x1, 0x1d2(%rax)
je 0x1bcce
movq -0x10(%rbp), %rdi
movq 0x6c350(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x489dc(%rip), %rsi     # 0x6460b
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x488fd(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x2, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x488d9(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x66, 0x341(%rax,%rcx)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x66, 0x341(%rax,%rcx)
jmp 0x1bd77
movq -0x10(%rbp), %rdi
movq 0x6c297(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x4892c(%rip), %rsi     # 0x64614
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x4882b(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x4880a(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x66, 0x341(%rax,%rcx)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x66, 0x341(%rax,%rcx)
jmp 0x1c0ac
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
je 0x1bdbd
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
jne 0x1bf35
movq -0x18(%rbp), %rax
testb $0x1, 0x1d2(%rax)
je 0x1be87
movq -0x10(%rbp), %rdi
movq 0x6c197(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x48836(%rip), %rsi     # 0x6461e
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x48744(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x2, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x48720(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x75, 0x341(%rax,%rcx)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x75, 0x341(%rax,%rcx)
jmp 0x1bf30
movq -0x10(%rbp), %rdi
movq 0x6c0de(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x4877d(%rip), %rsi     # 0x6461e
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x4868e(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x4866d(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x75, 0x341(%rax,%rcx)
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x75, 0x341(%rax,%rcx)
jmp 0x1c0aa
movq -0x18(%rbp), %rax
testb $0x1, 0x1d2(%rax)
je 0x1bfff
movq -0x10(%rbp), %rdi
movq 0x6c01f(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x486c6(%rip), %rsi     # 0x64626
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x485cc(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x2, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x485a8(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x2, %ecx
movslq %ecx, %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 0x1c0a8
movq -0x10(%rbp), %rdi
movq 0x6bf66(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x4860d(%rip), %rsi     # 0x64626
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x48516(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x484f5(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x18(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
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 0x1c0aa
jmp 0x1c0ac
jmp 0x1c0ae
jmp 0x1c0b0
jmp 0x1c0b2
movq -0x18(%rbp), %rax
movl 0x310(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x310(%rax)
jmp 0x1c0c7
addq $0x90, %rsp
popq %rbp
retq