// File: /workspace/github_cpp_makefile_star2_O2/sthapliyal37[P]Microprocessor_8085_Updated/Execution.cpp
// Function: execute_statement(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
string execute_statement(string input,bool* flag,string* registers,map<string,string>& memory,string pc)
{
	string str;
	const char *partition = input.c_str();
	char *temp = (char*)partition;
	const char *delimiter = " ,";
	char *token = strtok(temp,delimiter);
	vector<string> statement;
	int statementSize;	
	while(token!=NULL){
		str = token;
		statement.push_back(token);
		token = strtok(NULL,delimiter);

	}
	if(!statement[0].compare("ADD"))	
	{
				ADD(statement[1],registers,flag,memory);
				return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("ADI"))	
	{
				ADI(statement[1],registers,flag);
				return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("SUB"))	
	{
				SUB(statement[1],registers,flag,memory);
			return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("INR"))	
	{
				INR(statement[1],registers,flag,memory);
				return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("DCR"))	
	{
				DCR(statement[1],registers,flag,memory);
				return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("INX"))	
	{
				INX(statement[1],registers,flag);
				return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("DCX"))	
	{
				DCX(statement[1],registers,flag);
				return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("DAD"))	
	{
				DAD(statement[1],registers,flag);
				return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("SUI"))	
	{
				SUI(statement[1],registers,flag);
				return allocate_memory(statement[0],pc);
	}
	
	else if(!statement[0].compare("JMP"))	
	{
				//	JMP(statement[1],registers,flag,memory);
				return(JMP(statement[1],registers,flag));
	}
	else if(!statement[0].compare("JC"))	
	{	
				//cout<<"JC"<<endl;
			//	JC(statement[1],registers,flag,memory);
				return(JC(statement[1],pc,registers,flag));
	}
	else if(!statement[0].compare("JNC"))	
	{
		//		JNC(statement[1],registers,flag,memory);
				return(JNC(statement[1],pc,registers,flag));
	}
	else if(!statement[0].compare("JZ"))	
	{
				//JZ(statement[1],registers,flag,memory);
				return(JZ(statement[1],pc,registers,flag));
	}
	else if(!statement[0].compare("JNZ"))	
	{
	//			JNZ(statement[1],registers,flag,memory);
				return(JNZ(statement[1],pc,registers,flag));
	}
	else if(!statement[0].compare("MOV"))	
	{
				MOV(statement[1],statement[2],registers,flag,memory);
				return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("MVI"))	
	{
				MVI(statement[1],statement[2],registers,flag,memory);
				return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("LXI"))	
	{
			LXI(statement[1],statement[2],registers,flag,memory);
				return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("LDA"))	
	{
		LDA(statement[1],registers,flag,memory);
				return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("SHLD"))	
	{
				SHLD(statement[1],registers,flag,memory);
				return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("STAX"))	
	{
			STAX(statement[1],registers,flag,memory);
				return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("XCHG"))	
	{
			XCHG(registers,flag);
								return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("STA"))	
	{	
			STA(statement[1],registers,flag,memory);
			return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("LHLD"))	
	{
			LHLD(statement[1],registers,flag,memory);
								return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("SET"))	
	{
		SET(statement[1],statement[2],memory);			
								return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("CMP"))	
	{
				CMP(statement[1],registers,flag,memory);
								return allocate_memory(statement[0],pc);
	}
	else if(!statement[0].compare("CMA"))	
	{
				CMA(statement[0],registers,flag);
				return allocate_memory(statement[0],pc);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x9e8, %rsp            # imm = 0x9E8
movq %r9, -0x38(%rbp)
movq %r8, -0x68(%rbp)
movq %rcx, -0x40(%rbp)
movq %rdx, -0x48(%rbp)
leaq -0x380(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movq %rdi, -0x30(%rbp)
movb $0x0, (%rax)
movq (%rsi), %rdi
leaq 0x60a8(%rip), %rsi      # 0xa1b1
callq 0x22b0
movq %rax, %r14
xorps %xmm0, %xmm0
leaq -0x60(%rbp), %rbx
andq $0x0, 0x10(%rbx)
movaps %xmm0, (%rbx)
leaq -0x390(%rbp), %r15
leaq -0xa10(%rbp), %r12
leaq -0x69(%rbp), %r13
testq %r14, %r14
je 0x4176
movq %r15, %rdi
movq %r14, %rsi
callq 0x2340
movq %r12, %rdi
movq %r14, %rsi
movq %r13, %rdx
callq 0x2f1e
movq %rbx, %rdi
movq %r12, %rsi
callq 0x5490
movq %r12, %rdi
callq 0x20f0
xorl %edi, %edi
leaq 0x6045(%rip), %rsi      # 0xa1b1
callq 0x22b0
movq %rax, %r14
jmp 0x4132
movq -0x60(%rbp), %rdi
leaq 0x5e95(%rip), %rsi      # 0xa016
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x4490
leaq 0x5e81(%rip), %rsi      # 0xa01a
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x4501
leaq 0x5e6a(%rip), %rsi      # 0xa01e
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x456e
leaq 0x5e53(%rip), %rsi      # 0xa022
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x45df
leaq 0x5e3c(%rip), %rsi      # 0xa026
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x4650
leaq 0x5e25(%rip), %rsi      # 0xa02a
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x46c1
leaq 0x5e0e(%rip), %rsi      # 0xa02e
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x472e
leaq 0x5df7(%rip), %rsi      # 0xa032
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x479b
leaq 0x5de0(%rip), %rsi      # 0xa036
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x4808
leaq 0x5dd1(%rip), %rsi      # 0xa042
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x4875
leaq 0x5dba(%rip), %rsi      # 0xa046
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x48a4
leaq 0x5da2(%rip), %rsi      # 0xa049
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x48e9
leaq 0x5d8b(%rip), %rsi      # 0xa04d
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x492e
leaq 0x5d73(%rip), %rsi      # 0xa050
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x4973
leaq 0x5d5c(%rip), %rsi      # 0xa054
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x49b8
leaq 0x5d45(%rip), %rsi      # 0xa058
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x4a50
leaq 0x5d2e(%rip), %rsi      # 0xa05c
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x4ae8
leaq 0x5d17(%rip), %rsi      # 0xa060
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x4b80
leaq 0x5d00(%rip), %rsi      # 0xa064
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x4bf1
leaq 0x5cea(%rip), %rsi      # 0xa069
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x4c62
leaq 0x5cd4(%rip), %rsi      # 0xa06e
movq %rcx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4cd3
movq -0x60(%rbp), %rdi
leaq 0x5cbe(%rip), %rsi      # 0xa073
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x4d1a
leaq 0x5caa(%rip), %rsi      # 0xa077
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x4d8b
leaq 0x5c94(%rip), %rsi      # 0xa07c
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x4dfc
leaq 0x5c3b(%rip), %rsi      # 0xa03e
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rcx
testl %eax, %eax
je 0x4e89
leaq 0x5c1c(%rip), %rsi      # 0xa03a
movq %rcx, %rdi
callq 0x20a0
movq -0x60(%rbp), %rsi
leaq -0x90(%rbp), %rdi
callq 0x2280
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
callq 0x7944
leaq -0x90(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x3d0(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x3b0(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x370(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x370(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq -0x68(%rbp), %rcx
callq 0x5680
leaq -0x370(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x9f0(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x9d0(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x350(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x350(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
callq 0x597c
leaq -0x350(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x9b0(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x990(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x330(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x330(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq -0x68(%rbp), %rcx
callq 0x5a63
leaq -0x330(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x970(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x950(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x310(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x310(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq -0x68(%rbp), %rcx
callq 0x5d5f
leaq -0x310(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x930(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x910(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x2f0(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x2f0(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq -0x68(%rbp), %rcx
callq 0x6072
leaq -0x2f0(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x8f0(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x8d0(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x2d0(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x2d0(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
callq 0x6385
leaq -0x2d0(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x8b0(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x890(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x2b0(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x2b0(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
callq 0x6738
leaq -0x2b0(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x870(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x850(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x290(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x290(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
callq 0x6b85
leaq -0x290(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x830(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x810(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x270(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x270(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
callq 0x70bd
leaq -0x270(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x7f0(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x7d0(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x7b0(%rbp), %r13
movq %r13, %rdi
movq %rcx, %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq -0x40(%rbp), %rdx
movq -0x48(%rbp), %rcx
callq 0x7a8c
jmp 0x4efd
addq $0x20, %rcx
leaq -0x790(%rbp), %r13
movq %r13, %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x770(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
movq -0x40(%rbp), %rcx
movq -0x48(%rbp), %r8
callq 0x7ae9
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x750(%rbp), %r13
movq %r13, %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x730(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
movq -0x40(%rbp), %rcx
movq -0x48(%rbp), %r8
callq 0x7c2e
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x710(%rbp), %r13
movq %r13, %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x6f0(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
movq -0x40(%rbp), %rcx
movq -0x48(%rbp), %r8
callq 0x7d74
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x6d0(%rbp), %r13
movq %r13, %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x6b0(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
movq -0x40(%rbp), %rcx
movq -0x48(%rbp), %r8
callq 0x7eba
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x250(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
movq -0x60(%rbp), %rsi
addq $0x40, %rsi
leaq -0x230(%rbp), %rdi
callq 0x2280
leaq -0x250(%rbp), %rdi
leaq -0x230(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq -0x48(%rbp), %rcx
movq -0x68(%rbp), %r8
callq 0x8004
leaq -0x230(%rbp), %rdi
callq 0x20f0
leaq -0x250(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x690(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x670(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x210(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
movq -0x60(%rbp), %rsi
addq $0x40, %rsi
leaq -0x1f0(%rbp), %rdi
callq 0x2280
leaq -0x210(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq -0x48(%rbp), %rcx
movq -0x68(%rbp), %r8
callq 0x833d
leaq -0x1f0(%rbp), %rdi
callq 0x20f0
leaq -0x210(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x650(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x630(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x1d0(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
movq -0x60(%rbp), %rsi
addq $0x40, %rsi
leaq -0x1b0(%rbp), %rdi
callq 0x2280
leaq -0x1d0(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq -0x48(%rbp), %rcx
movq -0x68(%rbp), %r8
callq 0x85ae
leaq -0x1b0(%rbp), %rdi
callq 0x20f0
leaq -0x1d0(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x610(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x5f0(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x190(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x190(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq -0x68(%rbp), %rcx
callq 0x8893
leaq -0x190(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x5d0(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x5b0(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x170(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x170(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq -0x68(%rbp), %rcx
callq 0x8910
leaq -0x170(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x590(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x570(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x150(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x150(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq -0x68(%rbp), %rcx
callq 0x8a73
leaq -0x150(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x550(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x530(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
movq -0x40(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x8bdb
movq -0x60(%rbp), %rsi
leaq -0x510(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x4f0(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x130(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x130(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq -0x68(%rbp), %rcx
callq 0x8c72
leaq -0x130(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x4d0(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x4b0(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0x110(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0x110(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq -0x68(%rbp), %rcx
callq 0x8cef
leaq -0x110(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x490(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x470(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0xf0(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
movq -0x60(%rbp), %rsi
addq $0x40, %rsi
leaq -0xd0(%rbp), %rdi
callq 0x2280
leaq -0xf0(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
movq -0x68(%rbp), %rdx
callq 0x8e4f
leaq -0xd0(%rbp), %rdi
callq 0x20f0
leaq -0xf0(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x450(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x430(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
jmp 0x4ef5
addq $0x20, %rcx
leaq -0xb0(%rbp), %rdi
movq %rcx, %rsi
callq 0x2280
leaq -0xb0(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq -0x68(%rbp), %rcx
callq 0x77b0
leaq -0xb0(%rbp), %rdi
callq 0x20f0
movq -0x60(%rbp), %rsi
leaq -0x410(%rbp), %r13
movq %r13, %rdi
callq 0x2280
leaq -0x3f0(%rbp), %r14
movq %r14, %rdi
movq -0x38(%rbp), %rsi
callq 0x2280
movq -0x30(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x319f
movq %r14, %rdi
callq 0x20f0
movq %r13, %rdi
callq 0x20f0
leaq -0x60(%rbp), %rdi
callq 0x53f2
leaq -0x390(%rbp), %rdi
callq 0x20f0
movq -0x30(%rbp), %rax
addq $0x9e8, %rsp            # imm = 0x9E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x3f0(%rbp), %rdi
callq 0x20f0
jmp 0x4f44
movq %rax, %rbx
leaq -0x410(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0xb0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x430(%rbp), %rdi
callq 0x20f0
jmp 0x4f73
movq %rax, %rbx
leaq -0x450(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0xd0(%rbp), %rdi
callq 0x20f0
jmp 0x4f93
movq %rax, %rbx
leaq -0xf0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x3b0(%rbp), %rdi
callq 0x20f0
jmp 0x4fb3
movq %rax, %rbx
leaq -0x3d0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x90(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x470(%rbp), %rdi
callq 0x20f0
jmp 0x4fe2
movq %rax, %rbx
leaq -0x490(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x110(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x4b0(%rbp), %rdi
callq 0x20f0
jmp 0x5011
movq %rax, %rbx
leaq -0x4d0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x130(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x4f0(%rbp), %rdi
callq 0x20f0
jmp 0x5040
movq %rax, %rbx
leaq -0x510(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x530(%rbp), %rdi
callq 0x20f0
jmp 0x5060
movq %rax, %rbx
leaq -0x550(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x150(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x570(%rbp), %rdi
callq 0x20f0
jmp 0x508f
movq %rax, %rbx
leaq -0x590(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x170(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x5b0(%rbp), %rdi
callq 0x20f0
jmp 0x50be
movq %rax, %rbx
leaq -0x5d0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x190(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x5f0(%rbp), %rdi
callq 0x20f0
jmp 0x50ed
movq %rax, %rbx
leaq -0x610(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x1b0(%rbp), %rdi
callq 0x20f0
jmp 0x510d
movq %rax, %rbx
leaq -0x1d0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x630(%rbp), %rdi
callq 0x20f0
jmp 0x512d
movq %rax, %rbx
leaq -0x650(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x1f0(%rbp), %rdi
callq 0x20f0
jmp 0x514d
movq %rax, %rbx
leaq -0x210(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x670(%rbp), %rdi
callq 0x20f0
jmp 0x516d
movq %rax, %rbx
leaq -0x690(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x230(%rbp), %rdi
callq 0x20f0
jmp 0x518d
movq %rax, %rbx
leaq -0x250(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x6b0(%rbp), %rdi
callq 0x20f0
jmp 0x51ad
movq %rax, %rbx
leaq -0x6d0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x6f0(%rbp), %rdi
callq 0x20f0
jmp 0x51cd
movq %rax, %rbx
leaq -0x710(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x730(%rbp), %rdi
callq 0x20f0
jmp 0x51ed
movq %rax, %rbx
leaq -0x750(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x770(%rbp), %rdi
callq 0x20f0
jmp 0x520d
movq %rax, %rbx
leaq -0x790(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x7b0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x7d0(%rbp), %rdi
callq 0x20f0
jmp 0x523c
movq %rax, %rbx
leaq -0x7f0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x270(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x810(%rbp), %rdi
callq 0x20f0
jmp 0x526b
movq %rax, %rbx
leaq -0x830(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x290(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x850(%rbp), %rdi
callq 0x20f0
jmp 0x529a
movq %rax, %rbx
leaq -0x870(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x2b0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x890(%rbp), %rdi
callq 0x20f0
jmp 0x52c9
movq %rax, %rbx
leaq -0x8b0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x2d0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x8d0(%rbp), %rdi
callq 0x20f0
jmp 0x52f8
movq %rax, %rbx
leaq -0x8f0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x2f0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x910(%rbp), %rdi
callq 0x20f0
jmp 0x5327
movq %rax, %rbx
leaq -0x930(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x310(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x950(%rbp), %rdi
callq 0x20f0
jmp 0x5356
movq %rax, %rbx
leaq -0x970(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x330(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x990(%rbp), %rdi
callq 0x20f0
jmp 0x537f
movq %rax, %rbx
leaq -0x9b0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x350(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x9d0(%rbp), %rdi
callq 0x20f0
jmp 0x53a8
movq %rax, %rbx
leaq -0x9f0(%rbp), %rdi
jmp 0x53d0
movq %rax, %rbx
leaq -0x370(%rbp), %rdi
jmp 0x53d0
jmp 0x53c1
jmp 0x53c1
movq %rax, %rbx
jmp 0x53d5
movq %rax, %rbx
leaq -0xa10(%rbp), %rdi
callq 0x20f0
leaq -0x60(%rbp), %rdi
callq 0x53f2
leaq -0x390(%rbp), %rdi
callq 0x20f0
movq %rbx, %rdi
callq 0x2310