// File: gioannides[P]Language_Processors/src/../include/ast/ast_Expressions.cpp
// Function: PrimaryExpression::AssignmentOperator(std::basic_ofstream<char, std::char_traits<char>>&, int, Context&, int)
inline void PrimaryExpression::AssignmentOperator(std::ofstream& file, int good_index, Context& contxt, int f) {
if(!contxt.sizeof_){
	
	contxt.Regs++;
	if(f==1){

		load_locals(contxt, file, good_index);
	}
	else if(f==2)
	{
		load_globals(contxt, file, good_index);
	}
	if(contxt.AssignmentOperator == "*="){
		if(contxt.regType[contxt.Regs]=='f' || contxt.regType[contxt.Regs+1]=='f'){
			typePromotion(contxt.Regs,contxt.Regs+1,file,contxt);
			file << std::endl << "\tmul.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'){
			file << std::endl << "\tmultu\t$" << contxt.Regs << ",$" << contxt.Regs+1;
			file << std::endl << "\tmflo\t$" << contxt.Regs;
			contxt.regType[contxt.Regs]='u';
			contxt.regType[contxt.Regs+1]='i';
		}
		else {
			file << std::endl << "\tmult\t$" << contxt.Regs << ",$" << contxt.Regs+1;
			file << std::endl << "\tmflo\t$" << contxt.Regs;
			contxt.regType[contxt.Regs]='i';
			contxt.regType[contxt.Regs+1]='i';
		}
		
	}
	else if(contxt.AssignmentOperator == "/="){
			if(contxt.regType[contxt.Regs]=='f' || contxt.regType[contxt.Regs+1]=='f'){
				typePromotion(contxt.Regs,contxt.Regs+1,file,contxt);
				file << std::endl << "\tdiv.s\t$f" << contxt.Regs << ",$f" << contxt.Regs+1 << ",$f" << contxt.Regs;
				contxt.regType[contxt.Regs]='f';
				contxt.regType[contxt.Regs+1]='f';
			}	
			else if(contxt.regType[contxt.Regs]=='u' || contxt.regType[contxt.Regs+1]=='u'){
				file << std::endl << "\tdivu\t$" << contxt.Regs+1 << ",$" << contxt.Regs;
				file << std::endl << "\tmflo\t$"<< contxt.Regs;
				contxt.regType[contxt.Regs]='u';
				contxt.regType[contxt.Regs+1]='i';
			}
							
			else{
				file << std::endl << "\tdiv\t$" << contxt.Regs+1 << ",$" << contxt.Regs;
				file << std::endl << "\tmflo\t$"<< contxt.Regs;
				contxt.regType[contxt.Regs]='i';
				contxt.regType[contxt.Regs+1]='i';
			}
	}
	else if(contxt.AssignmentOperator == "%="){
			if(contxt.regType[contxt.Regs]=='u' || contxt.regType[contxt.Regs+1]=='u'){
				file << std::endl << "\tdivu\t$" << contxt.Regs+1 << ",$" << contxt.Regs;
				file << std::endl << "\tmfhi\t$"<< contxt.Regs;
				contxt.regType[contxt.Regs]='u';
				contxt.regType[contxt.Regs+1]='i';
			}
			else{
				file << std::endl << "\tdiv\t$" << contxt.Regs+1 << ",$" << contxt.Regs;
				file << std::endl << "\tmfhi\t$"<< contxt.Regs;
				contxt.regType[contxt.Regs]='i';
				contxt.regType[contxt.Regs+1]='i';
			}
	}
	else if(contxt.AssignmentOperator == "+="){
			if(contxt.regType[contxt.Regs]=='f' || contxt.regType[contxt.Regs+1]=='f'){
				typePromotion(contxt.Regs,contxt.Regs+1,file,contxt);
				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'){
				file << std::endl << "\taddu\t$" << contxt.Regs <<", $" << contxt.Regs << ", $" << contxt.Regs + 1;
				contxt.regType[contxt.Regs]='u';
				contxt.regType[contxt.Regs+1]='u';
			}
			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(contxt.AssignmentOperator == "-="){
			if(contxt.regType[contxt.Regs]=='f' || contxt.regType[contxt.Regs+1]=='f'){
				typePromotion(contxt.Regs,contxt.Regs+1,file,contxt);
				file << std::endl << "\tsub.s\t$f" << contxt.Regs << ",$f" << contxt.Regs+1 << ",$f" << contxt.Regs;
				contxt.regType[contxt.Regs]='f';
				contxt.regType[contxt.Regs+1]='f';
			}	
			else if(contxt.regType[contxt.Regs]=='u' || contxt.regType[contxt.Regs+1]=='u'){
				file << std::endl << "\tsubu\t$" << contxt.Regs <<", $" << contxt.Regs+1 << ", $" << contxt.Regs;
				contxt.regType[contxt.Regs]='u';
				contxt.regType[contxt.Regs+1]='i';
			}
			else{
				file << std::endl << "\tsub\t$" << contxt.Regs <<", $" << contxt.Regs+1 << ", $" << contxt.Regs;
				contxt.regType[contxt.Regs]='i';
				contxt.regType[contxt.Regs+1]='i';
			}
	}
	else if(contxt.AssignmentOperator == "<<="){
			file << std::endl << "\tsllv\t$" << contxt.Regs <<", $" << contxt.Regs+1 << ", $" << contxt.Regs;
			contxt.regType[contxt.Regs]='i';
	}
	else if(contxt.AssignmentOperator == ">>="){
			if(contxt.regType[contxt.Regs]=='u' || contxt.regType[contxt.Regs+1]=='u'){
				file << std::endl << "\tsrlv\t$" << contxt.Regs <<", $" << contxt.Regs+1 << ", $" << contxt.Regs;
				contxt.regType[contxt.Regs]='u';
				
			}
			else{
				file << std::endl << "\tsrav\t$" << contxt.Regs <<", $" << contxt.Regs+1 << ", $" << contxt.Regs;
				contxt.regType[contxt.Regs]='i';
				
			}
	}
	else if(contxt.AssignmentOperator == "&="){
			file << std::endl << "\tand\t$" << contxt.Regs <<", $" << contxt.Regs << ", $" << contxt.Regs + 1;
			contxt.regType[contxt.Regs]='i';
			contxt.regType[contxt.Regs+1]='i';
	}
	else if(contxt.AssignmentOperator == "^="){
			file << std::endl << "\txor\t$" << contxt.Regs <<", $" << contxt.Regs << ", $" << contxt.Regs + 1;
			contxt.regType[contxt.Regs]='i';
			contxt.regType[contxt.Regs+1]='i';
	}
	else if(contxt.AssignmentOperator == "|="){
			file << std::endl << "\tor\t$" << contxt.Regs <<", $" << contxt.Regs << ", $" << contxt.Regs + 1;
			contxt.regType[contxt.Regs]='i';
			contxt.regType[contxt.Regs+1]='i';
	}
	else if(contxt.AssignmentOperator == "++"){
			if(contxt.regType[contxt.Regs+1] == 'f'){
				file << std::endl << "\tli.s\t$f" << contxt.Regs << ",1";
				contxt.regType[contxt.Regs]='f';
				file << std::endl << "\tadd.s\t$f" << contxt.Regs << ",$f" << contxt.Regs << ",$f" << contxt.Regs+1;
				contxt.regType[contxt.Regs+1]='f';
			}
			else{	
				file << std::endl << "\taddiu\t$" << contxt.Regs <<", $" << contxt.Regs+1 << ",1";
				contxt.regType[contxt.Regs]='i';
				contxt.regType[contxt.Regs+1]='i';
			}
	}
	else if(contxt.AssignmentOperator == "--"){
			if(contxt.regType[contxt.Regs+1] == 'f' ){
				file << std::endl << "\tli.s\t$f" << contxt.Regs << ",1";
				contxt.regType[contxt.Regs+1]='f';
				file << std::endl << "\tsub.s\t$f" << contxt.Regs << ",$f" << contxt.Regs+1 << ",$f" << contxt.Regs;
				contxt.regType[contxt.Regs]='f';
			}
			else{	
				file << std::endl << "\taddiu\t$" << contxt.Regs <<", $" << contxt.Regs+1 << ",-1";
				contxt.regType[contxt.Regs]='i';
				contxt.regType[contxt.Regs+1]='i';
			}						
	}
			contxt.AssignmentOperator = "df";
			contxt.Regs--;
}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
movl %r8d, -0x24(%rbp)
movq -0x20(%rbp), %rax
testb $0x1, 0x1f8(%rax)
jne 0x247c0
movq -0x20(%rbp), %rax
movl 0x310(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x310(%rax)
cmpl $0x1, -0x24(%rbp)
jne 0x231c7
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x14(%rbp), %edx
callq 0x26360
jmp 0x231df
cmpl $0x2, -0x24(%rbp)
jne 0x231dd
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x14(%rbp), %edx
callq 0x27c40
jmp 0x231df
movq -0x20(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
leaq 0x4169d(%rip), %rsi     # 0x6488e
callq 0x9e30
testb $0x1, %al
jne 0x231ff
jmp 0x234d1
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
je 0x23240
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
jne 0x23312
movq -0x20(%rbp), %rax
movl 0x310(%rax), %edi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
movq -0x10(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x16000
movq -0x10(%rbp), %rdi
movq 0x64d01(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x413b3(%rip), %rsi     # 0x64631
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x41295(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x41274(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x66, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x66, 0x341(%rax,%rcx)
jmp 0x234cc
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
je 0x23353
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
jne 0x23411
movq -0x10(%rbp), %rdi
movq 0x64c12(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x412ce(%rip), %rsi     # 0x6463b
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x41162(%rip), %rsi     # 0x644f0
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x10(%rbp), %rdi
movq 0x64bbd(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x41282(%rip), %rsi     # 0x64644
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x75, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x234ca
movq -0x10(%rbp), %rdi
movq 0x64b54(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x41221(%rip), %rsi     # 0x6464c
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x410a4(%rip), %rsi     # 0x644f0
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x10(%rbp), %rdi
movq 0x64aff(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x411c4(%rip), %rsi     # 0x64644
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x69, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x234cc
jmp 0x24796
movq -0x20(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
leaq 0x413ae(%rip), %rsi     # 0x64891
callq 0x9e30
testb $0x1, %al
jne 0x234f1
jmp 0x237c3
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
je 0x23532
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
jne 0x23604
movq -0x20(%rbp), %rax
movl 0x310(%rax), %edi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
movq -0x10(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x16000
movq -0x10(%rbp), %rdi
movq 0x64a0f(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x410e4(%rip), %rsi     # 0x64654
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40fa3(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40f7f(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x66, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x66, 0x341(%rax,%rcx)
jmp 0x237be
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
je 0x23645
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
jne 0x23703
movq -0x10(%rbp), %rdi
movq 0x64920(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40fff(%rip), %rsi     # 0x6465e
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40e6d(%rip), %rsi     # 0x644f0
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x10(%rbp), %rdi
movq 0x648cb(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40f90(%rip), %rsi     # 0x64644
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x75, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x237bc
movq -0x10(%rbp), %rdi
movq 0x64862(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40f49(%rip), %rsi     # 0x64666
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40daf(%rip), %rsi     # 0x644f0
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x10(%rbp), %rdi
movq 0x6480d(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40ed2(%rip), %rsi     # 0x64644
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x69, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x237be
jmp 0x24794
movq -0x20(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
leaq 0x410bf(%rip), %rsi     # 0x64894
callq 0x9e30
testb $0x1, %al
jne 0x237e3
jmp 0x239a0
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
je 0x23824
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
jne 0x238e2
movq -0x10(%rbp), %rdi
movq 0x64741(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40e20(%rip), %rsi     # 0x6465e
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40c8e(%rip), %rsi     # 0x644f0
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x10(%rbp), %rdi
movq 0x646ec(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40dda(%rip), %rsi     # 0x6466d
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x75, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x2399b
movq -0x10(%rbp), %rdi
movq 0x64683(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40d6a(%rip), %rsi     # 0x64666
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40bd0(%rip), %rsi     # 0x644f0
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x10(%rbp), %rdi
movq 0x6462e(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40d1c(%rip), %rsi     # 0x6466d
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x69, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x24792
movq -0x20(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
leaq 0x40ee5(%rip), %rsi     # 0x64897
callq 0x9e30
testb $0x1, %al
jne 0x239c0
jmp 0x23c72
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
je 0x23a01
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
jne 0x23ad3
movq -0x20(%rbp), %rax
movl 0x310(%rax), %edi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
movq -0x10(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x16000
movq -0x10(%rbp), %rdi
movq 0x64540(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40bae(%rip), %rsi     # 0x645ed
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40ad4(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40ab3(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x66, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x66, 0x341(%rax,%rcx)
jmp 0x23c6d
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
je 0x23b14
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
jne 0x23bc2
movq -0x10(%rbp), %rdi
movq 0x64451(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40ace(%rip), %rsi     # 0x645fc
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40a01(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x409e0(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x75, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x75, 0x341(%rax,%rcx)
jmp 0x23c6b
movq -0x10(%rbp), %rdi
movq 0x643a3(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40a28(%rip), %rsi     # 0x64604
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40953(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40932(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x69, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x23c6d
jmp 0x24790
movq -0x20(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
leaq 0x40c16(%rip), %rsi     # 0x6489a
callq 0x9e30
testb $0x1, %al
jne 0x23c92
jmp 0x23f44
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
je 0x23cd3
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
jne 0x23da5
movq -0x20(%rbp), %rax
movl 0x310(%rax), %edi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
movq -0x10(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x16000
movq -0x10(%rbp), %rdi
movq 0x6426e(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40903(%rip), %rsi     # 0x64614
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40802(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x407de(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x66, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x66, 0x341(%rax,%rcx)
jmp 0x23f3f
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
je 0x23de6
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
jne 0x23e94
movq -0x10(%rbp), %rdi
movq 0x6417f(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x4081e(%rip), %rsi     # 0x6461e
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x4072f(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x4070b(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x75, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x23f3d
movq -0x10(%rbp), %rdi
movq 0x640d1(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40778(%rip), %rsi     # 0x64626
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40681(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x4065d(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x69, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x23f3f
jmp 0x2478e
movq -0x20(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
leaq 0x40947(%rip), %rsi     # 0x6489d
callq 0x9e30
testb $0x1, %al
jne 0x23f64
jmp 0x23ff6
movq -0x10(%rbp), %rdi
movq 0x64001(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40657(%rip), %rsi     # 0x645d5
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x405b1(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x4058d(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x2478c
movq -0x20(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
leaq 0x40899(%rip), %rsi     # 0x648a1
callq 0x9e30
testb $0x1, %al
jne 0x24016
jmp 0x2417b
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
je 0x24057
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x75, %eax
jne 0x240e9
movq -0x10(%rbp), %rdi
movq 0x63f0e(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x4056c(%rip), %rsi     # 0x645dd
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x404be(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x4049a(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x75, 0x341(%rax,%rcx)
jmp 0x24176
movq -0x10(%rbp), %rdi
movq 0x63e7c(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x404e2(%rip), %rsi     # 0x645e5
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x4042c(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40408(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x2478a
movq -0x20(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
leaq 0x40718(%rip), %rsi     # 0x648a5
callq 0x9e30
testb $0x1, %al
jne 0x2419b
jmp 0x24249
movq -0x10(%rbp), %rdi
movq 0x63dca(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40352(%rip), %rsi     # 0x64507
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x4037a(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40359(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x69, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x24788
movq -0x20(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
leaq 0x4064d(%rip), %rsi     # 0x648a8
callq 0x9e30
testb $0x1, %al
jne 0x24269
jmp 0x24317
movq -0x10(%rbp), %rdi
movq 0x63cfc(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x4027d(%rip), %rsi     # 0x64500
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x402ac(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x4028b(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x69, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x24786
movq -0x20(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
leaq 0x40582(%rip), %rsi     # 0x648ab
callq 0x9e30
testb $0x1, %al
jne 0x24337
jmp 0x243e5
movq -0x10(%rbp), %rdi
movq 0x63c2e(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x401a9(%rip), %rsi     # 0x644fa
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x401de(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x401bd(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x69, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x24784
movq -0x20(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
leaq 0x40580(%rip), %rsi     # 0x64977
callq 0x9e30
testb $0x1, %al
jne 0x24405
jmp 0x245b4
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
jne 0x24518
movq -0x10(%rbp), %rdi
movq 0x63b3b(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x400df(%rip), %rsi     # 0x64523
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40030(%rip), %rsi     # 0x64495
callq 0x8400
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x66, 0x341(%rax,%rcx)
movq -0x10(%rbp), %rdi
movq 0x63ae4(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x40152(%rip), %rsi     # 0x645ed
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40078(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40057(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x66, 0x341(%rax,%rcx)
jmp 0x245af
movq -0x10(%rbp), %rdi
movq 0x63a4d(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x4037c(%rip), %rsi     # 0x648ae
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3fffd(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3ff1e(%rip), %rsi     # 0x64495
callq 0x8400
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x69, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x24782
movq -0x20(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
leaq 0x403ba(%rip), %rsi     # 0x64980
callq 0x9e30
testb $0x1, %al
jne 0x245d4
jmp 0x24780
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl 0x341(%rax,%rcx), %eax
cmpl $0x66, %eax
jne 0x246e7
movq -0x10(%rbp), %rdi
movq 0x6396c(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3ff10(%rip), %rsi     # 0x64523
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3fe61(%rip), %rsi     # 0x64495
callq 0x8400
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x66, 0x341(%rax,%rcx)
movq -0x10(%rbp), %rdi
movq 0x63910(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x3ffa5(%rip), %rsi     # 0x64614
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3fea4(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3fe80(%rip), %rsi     # 0x64534
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x66, 0x341(%rax,%rcx)
jmp 0x2477e
movq -0x10(%rbp), %rdi
movq 0x6387e(%rip), %rsi     # 0x87f70
callq 0x8450
movq %rax, %rdi
leaq 0x401ad(%rip), %rsi     # 0x648ae
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
callq 0x8730
movq %rax, %rdi
leaq 0x3fe2e(%rip), %rsi     # 0x64550
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x310(%rax), %esi
addl $0x1, %esi
callq 0x8730
movq %rax, %rdi
leaq 0x40171(%rip), %rsi     # 0x648b7
callq 0x8400
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq 0x310(%rcx), %rcx
movb $0x69, 0x341(%rax,%rcx)
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x310(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x69, 0x341(%rax,%rcx)
jmp 0x24780
jmp 0x24782
jmp 0x24784
jmp 0x24786
jmp 0x24788
jmp 0x2478a
jmp 0x2478c
jmp 0x2478e
jmp 0x24790
jmp 0x24792
jmp 0x24794
jmp 0x24796
movq -0x20(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
leaq 0x3fa27(%rip), %rsi     # 0x641cf
callq 0x8590
movq -0x20(%rbp), %rax
movl 0x310(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x310(%rax)
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)