// File: gioannides[P]Language_Processors/src/../include/ast/class_forward_declarations.hpp
// Function: store_globals(Context&, std::basic_ofstream<char, std::char_traits<char>>&, int)
inline void store_globals(Context& contxt, std::ofstream& file, int good_index)
{
	file << std::endl << "\tlui\t$" << contxt.Regs+2 << ", %hi(" << contxt.Variables[good_index].id << ")";
		file << std::endl << "\tla $" << contxt.Regs+2 << ", %lo(" << contxt.Variables[good_index].id << ")($" << contxt.Regs+2 << ")";
	if(contxt.nested_arrays){	
		file << std::endl << "\tadd $" << contxt.Regs+2 << ", $" << contxt.Regs+2 << ", $25";
	}
	if(contxt.Variables[good_index].DataType=="char") {
		if(contxt.regType[contxt.Regs+1] == 'f'){
			file << std::endl << ".set macro" << std::endl;
			file << std::endl << "\ttrunc.w.s\t$f" << contxt.Regs+1 << ",$f" << contxt.Regs+1 << ",$" << contxt.Regs+1;
			file << std::endl << ".set nomacro" << std::endl;
			file << std::endl << "\tmfc1\t$" << contxt.Regs+1 << ",$f" << contxt.Regs+1;
			file << std::endl << "\tnop" << std::endl;
			if(contxt.regType[contxt.Regs+1] == 'u'){
				file << std::endl << "\tandi\t$" << contxt.Regs+1 << ",$" << contxt.Regs+1 << ",0xFF";
			}
		}
		file << std::endl << "\tsb $" << contxt.Regs+1 << ", 0($" << contxt.Regs+2 << ")";			
		//file << std::endl << "\tsb\t$" << contxt.Regs+1 << ", %lo(" << contxt.Variables[good_index].id << ")($" << contxt.Regs+2 << ")";
		contxt.regType[contxt.Regs+1]='c';
	}
	else if((contxt.Variables[good_index].DataType == "int" || contxt.Variables[good_index].DataType =="signed" || contxt.Variables[good_index].DataType =="unsigned") && contxt.Variables[good_index].DataType != "float"){

		if(contxt.regType[contxt.Regs+1] == 'f'){
			file << std::endl << ".set macro" << std::endl;
			file << std::endl << "\ttrunc.w.s\t$f" << contxt.Regs+1 << ",$f" << contxt.Regs+1 << ",$" << contxt.Regs+1;
			file << std::endl << ".set nomacro" << std::endl;
			file << std::endl << "\tmfc1\t$" << contxt.Regs+1 << ",$f" << contxt.Regs+1;
			file << std::endl << "\tnop" << std::endl;
			if(contxt.regType[contxt.Regs+1] == 'u'){
				file << std::endl << "\tandi\t$" << contxt.Regs+1 << ",$" << contxt.Regs+1 << ",0xFF";
			}
		}	
		file << std::endl << "\tsw $" << contxt.Regs+1 << ", 0($" << contxt.Regs+2 << ")";
		//file << std::endl << "\tsw\t$" << contxt.Regs+1 << ", %lo(" << contxt.Variables[good_index].id << ")($" << contxt.Regs+2 << ")";
		contxt.regType[contxt.Regs+1]='i';
	}
	else if(contxt.Variables[good_index].DataType == "short" && contxt.Variables[good_index].DataType != "float"){

		if(contxt.regType[contxt.Regs+1] == 'f'){
			file << std::endl << ".set macro" << std::endl;
			file << std::endl << "\ttrunc.w.s\t$f" << contxt.Regs+1 << ",$f" << contxt.Regs+1 << ",$" << contxt.Regs+1;
			file << std::endl << ".set nomacro" << std::endl;
			file << std::endl << "\tmfc1\t$" << contxt.Regs+1 << ",$f" << contxt.Regs+1;
			file << std::endl << "\tnop" << std::endl;
			if(contxt.regType[contxt.Regs+1] == 'u'){
				file << std::endl << "\tandi\t$" << contxt.Regs+1 << ",$" << contxt.Regs+1 << ",0xFF";
			}
		}	
		file << std::endl << "\tsh $" << contxt.Regs+1 << ", 0($" << contxt.Regs+2 << ")";
		//file << std::endl << "\tsw\t$" << contxt.Regs+1 << ", %lo(" << contxt.Variables[good_index].id << ")($" << contxt.Regs+2 << ")";
		contxt.regType[contxt.Regs+1]='i';
	}
	else if(contxt.Variables[good_index].DataType == "float"){ //TODO: CHECK OK
		
		if(contxt.regType[contxt.Regs+1] != 'f'){
			file << std::endl << "\tmtc1\t$" << contxt.Regs+1 << ",$f" << contxt.Regs+1;
			file << std::endl << "\tcvt.s.w\t$f" << contxt.Regs+1 << ",$f" << contxt.Regs+1;
		}
		file << std::endl << "\tswc1 $f" << contxt.Regs+1 << ", 0($" << contxt.Regs+2 << ")";
		//file << std::endl << "\tswc1\t$f" << contxt.Regs+1 << ", %lo(" << contxt.Variables[good_index].id << ")($" << contxt.Regs+2 << ")";
		contxt.regType[contxt.Regs+1]='f';
	}
	if(contxt.Variables[good_index].DataType == "unsigned") {
		contxt.is_unsigned = true;
	}
	if(contxt.Variables[good_index].DataType == "float") {
		contxt.float_ = true;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movq 0x628a2(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3efd5(%rip), %rsi     # 0x646b2
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x2, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3f1e9(%rip), %rsi     # 0x648ea
callq 0x8400
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
addq $0x240, %rdi            # imm = 0x240
movslq -0x14(%rbp), %rsi
callq 0xfde0
movq -0x28(%rbp), %rdi
movq %rax, %rsi
addq $0x8, %rsi
callq 0x83c0
movq %rax, %rdi
leaq 0x3fcc0(%rip), %rsi     # 0x653f8
callq 0x8400
movq -0x10(%rbp), %rdi
movq 0x62828(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3f19a(%rip), %rsi     # 0x648f1
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x2, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3ef43(%rip), %rsi     # 0x646be
callq 0x8400
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
addq $0x240, %rdi            # imm = 0x240
movslq -0x14(%rbp), %rsi
callq 0xfde0
movq -0x20(%rbp), %rdi
movq %rax, %rsi
addq $0x8, %rsi
callq 0x83c0
movq %rax, %rdi
leaq 0x3f145(%rip), %rsi     # 0x648f7
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x2, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3fc22(%rip), %rsi     # 0x653f8
callq 0x8400
movq -0x8(%rbp), %rax
cmpl $0x0, 0x13e90(%rax)
je 0x2584f
movq -0x10(%rbp), %rdi
movq 0x6277d(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3f0b9(%rip), %rsi     # 0x648bb
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x2, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3ed2a(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x2, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3ef44(%rip), %rsi     # 0x6478e
callq 0x8400
movq -0x8(%rbp), %rdi
addq $0x240, %rdi            # imm = 0x240
movslq -0x14(%rbp), %rsi
callq 0xfde0
movq %rax, %rdi
addq $0x58, %rdi
leaq 0x3eaf2(%rip), %rsi     # 0x64363
callq 0x9e30
testb $0x1, %al
jne 0x2587f
jmp 0x25b14
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
jne 0x25a8c
movq -0x10(%rbp), %rdi
movq 0x626c1(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3eaf9(%rip), %rsi     # 0x643b7
callq 0x8400
movq %rax, %rdi
movq 0x626a3(%rip), %rsi     # 0x87f70
callq 0x8450
movq -0x10(%rbp), %rdi
movq 0x62693(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3efd6(%rip), %rsi     # 0x648c2
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3ec24(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3ebbc(%rip), %rsi     # 0x644f0
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x10(%rbp), %rdi
movq 0x62617(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e997(%rip), %rsi     # 0x642ff
callq 0x8400
movq %rax, %rdi
movq 0x625f9(%rip), %rsi     # 0x87f70
callq 0x8450
movq -0x10(%rbp), %rdi
movq 0x625e9(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3ef3a(%rip), %rsi     # 0x648d0
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3eb7a(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x10(%rbp), %rdi
movq 0x62591(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e9c3(%rip), %rsi     # 0x643b1
callq 0x8400
movq %rax, %rdi
movq 0x62573(%rip), %rsi     # 0x87f70
callq 0x8450
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
jne 0x25a8a
movq -0x10(%rbp), %rdi
movq 0x62542(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3ec43(%rip), %rsi     # 0x64680
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3ea8f(%rip), %rsi     # 0x644f0
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3ee53(%rip), %rsi     # 0x648d8
callq 0x8400
jmp 0x25a8c
movq -0x10(%rbp), %rdi
movq 0x624d9(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e8c2(%rip), %rsi     # 0x64368
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3ec01(%rip), %rsi     # 0x646cb
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x2, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3f90a(%rip), %rsi     # 0x653f8
callq 0x8400
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x63, 0x341(%rax,%rcx)
jmp 0x262e2
movq -0x8(%rbp), %rdi
addq $0x240, %rdi            # imm = 0x240
movslq -0x14(%rbp), %rsi
callq 0xfde0
movq %rax, %rdi
addq $0x58, %rdi
leaq 0x3f415(%rip), %rsi     # 0x64f4b
callq 0x9e30
testb $0x1, %al
jne 0x25b9a
movq -0x8(%rbp), %rdi
addq $0x240, %rdi            # imm = 0x240
movslq -0x14(%rbp), %rsi
callq 0xfde0
movq %rax, %rdi
addq $0x58, %rdi
leaq 0x3e8b0(%rip), %rsi     # 0x64411
callq 0x9e30
testb $0x1, %al
jne 0x25b9a
movq -0x8(%rbp), %rdi
addq $0x240, %rdi            # imm = 0x240
movslq -0x14(%rbp), %rsi
callq 0xfde0
movq %rax, %rdi
addq $0x58, %rdi
leaq 0x3e883(%rip), %rsi     # 0x6440f
callq 0x9e30
testb $0x1, %al
jne 0x25b9a
jmp 0x25e5f
movq -0x8(%rbp), %rdi
addq $0x240, %rdi            # imm = 0x240
movslq -0x14(%rbp), %rsi
callq 0xfde0
movq %rax, %rdi
addq $0x58, %rdi
leaq 0x3e788(%rip), %rsi     # 0x64344
callq 0x1f7a0
testb $0x1, %al
jne 0x25bca
jmp 0x25e5f
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
jne 0x25dd7
movq -0x10(%rbp), %rdi
movq 0x62376(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e7ae(%rip), %rsi     # 0x643b7
callq 0x8400
movq %rax, %rdi
movq 0x62358(%rip), %rsi     # 0x87f70
callq 0x8450
movq -0x10(%rbp), %rdi
movq 0x62348(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3ec8b(%rip), %rsi     # 0x648c2
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3e8d9(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3e871(%rip), %rsi     # 0x644f0
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x10(%rbp), %rdi
movq 0x622cc(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e64c(%rip), %rsi     # 0x642ff
callq 0x8400
movq %rax, %rdi
movq 0x622ae(%rip), %rsi     # 0x87f70
callq 0x8450
movq -0x10(%rbp), %rdi
movq 0x6229e(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3ebef(%rip), %rsi     # 0x648d0
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3e82f(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x10(%rbp), %rdi
movq 0x62246(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e678(%rip), %rsi     # 0x643b1
callq 0x8400
movq %rax, %rdi
movq 0x62228(%rip), %rsi     # 0x87f70
callq 0x8450
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
jne 0x25dd5
movq -0x10(%rbp), %rdi
movq 0x621f7(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e8f8(%rip), %rsi     # 0x64680
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3e744(%rip), %rsi     # 0x644f0
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3eb08(%rip), %rsi     # 0x648d8
callq 0x8400
jmp 0x25dd7
movq -0x10(%rbp), %rdi
movq 0x6218e(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e90f(%rip), %rsi     # 0x64700
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3e8b6(%rip), %rsi     # 0x646cb
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x2, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3f5bf(%rip), %rsi     # 0x653f8
callq 0x8400
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x262e0
movq -0x8(%rbp), %rdi
addq $0x240, %rdi            # imm = 0x240
movslq -0x14(%rbp), %rsi
callq 0xfde0
movq %rax, %rdi
addq $0x58, %rdi
leaq 0x3e4ed(%rip), %rsi     # 0x6436e
callq 0x9e30
testb $0x1, %al
jne 0x25e8f
jmp 0x26154
movq -0x8(%rbp), %rdi
addq $0x240, %rdi            # imm = 0x240
movslq -0x14(%rbp), %rsi
callq 0xfde0
movq %rax, %rdi
addq $0x58, %rdi
leaq 0x3e493(%rip), %rsi     # 0x64344
callq 0x1f7a0
testb $0x1, %al
jne 0x25ebf
jmp 0x26154
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
jne 0x260cc
movq -0x10(%rbp), %rdi
movq 0x62081(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e4b9(%rip), %rsi     # 0x643b7
callq 0x8400
movq %rax, %rdi
movq 0x62063(%rip), %rsi     # 0x87f70
callq 0x8450
movq -0x10(%rbp), %rdi
movq 0x62053(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e996(%rip), %rsi     # 0x648c2
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3e5e4(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3e57c(%rip), %rsi     # 0x644f0
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x10(%rbp), %rdi
movq 0x61fd7(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e357(%rip), %rsi     # 0x642ff
callq 0x8400
movq %rax, %rdi
movq 0x61fb9(%rip), %rsi     # 0x87f70
callq 0x8450
movq -0x10(%rbp), %rdi
movq 0x61fa9(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e8fa(%rip), %rsi     # 0x648d0
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3e53a(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x10(%rbp), %rdi
movq 0x61f51(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e383(%rip), %rsi     # 0x643b1
callq 0x8400
movq %rax, %rdi
movq 0x61f33(%rip), %rsi     # 0x87f70
callq 0x8450
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
jne 0x260ca
movq -0x10(%rbp), %rdi
movq 0x61f02(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e603(%rip), %rsi     # 0x64680
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3e44f(%rip), %rsi     # 0x644f0
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3e813(%rip), %rsi     # 0x648d8
callq 0x8400
jmp 0x260cc
movq -0x10(%rbp), %rdi
movq 0x61e99(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e28e(%rip), %rsi     # 0x64374
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3e5c1(%rip), %rsi     # 0x646cb
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x2, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3f2ca(%rip), %rsi     # 0x653f8
callq 0x8400
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x262de
movq -0x8(%rbp), %rdi
addq $0x240, %rdi            # imm = 0x240
movslq -0x14(%rbp), %rsi
callq 0xfde0
movq %rax, %rdi
addq $0x58, %rdi
leaq 0x3e1ce(%rip), %rsi     # 0x64344
callq 0x9e30
testb $0x1, %al
jne 0x26184
jmp 0x262dc
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
je 0x26259
movq -0x10(%rbp), %rdi
movq 0x61dbc(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e6be(%rip), %rsi     # 0x64881
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3e34d(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x10(%rbp), %rdi
movq 0x61d64(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e6c3(%rip), %rsi     # 0x648de
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3e2f5(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x10(%rbp), %rdi
movq 0x61d0c(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3e494(%rip), %rsi     # 0x64707
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3e434(%rip), %rsi     # 0x646cb
callq 0x8400
movq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x2, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3f13d(%rip), %rsi     # 0x653f8
callq 0x8400
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x66, 0x341(%rax,%rcx)
jmp 0x262de
jmp 0x262e0
jmp 0x262e2
movq -0x8(%rbp), %rdi
addq $0x240, %rdi            # imm = 0x240
movslq -0x14(%rbp), %rsi
callq 0xfde0
movq %rax, %rdi
addq $0x58, %rdi
leaq 0x3e10b(%rip), %rsi     # 0x6440f
callq 0x9e30
testb $0x1, %al
jne 0x2630f
jmp 0x2631a
movq -0x8(%rbp), %rax
movb $0x1, 0x219(%rax)
movq -0x8(%rbp), %rdi
addq $0x240, %rdi            # imm = 0x240
movslq -0x14(%rbp), %rsi
callq 0xfde0
movq %rax, %rdi
addq $0x58, %rdi
leaq 0x3e008(%rip), %rsi     # 0x64344
callq 0x9e30
testb $0x1, %al
jne 0x26347
jmp 0x26352
movq -0x8(%rbp), %rax
movb $0x1, 0x340(%rax)
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)