// File: /workspace/github_cpp_makefile_star2_O2/menhits[P]phplus/src/CppProgram.cpp
// Function: CppProgram::getTypeCode[abi:cxx11](std::shared_ptr<TypeBase>)
string CppProgram::getTypeCode(Type in)
{
	switch (in->getType())
	{
	case TypeBase::VOID:
		return "void";
		
	case TypeBase::DUB:
		return "double";
		
	case TypeBase::INT:
		return "int";
	
	case TypeBase::BYTE:
		return "unsigned char";
	
	case TypeBase::BOOL:
		return "bool";
		
	case TypeBase::PTR:
		if (in->getSubType()->isWhatev())
			return "void *";
		else
			return getTypeCode(in->getSubType())+" *";
		
	case TypeBase::TUPLE:
	{
		if (in->getAllSubTypes()->size()==1)
			return getTypeCode((*in->getAllSubTypes())[0].type);
		
		string compact="{"+in->getCompactString()+"}";
		
		if (!globalNames->hasPp(compact))
		{
			globalNames->addPp(compact, in->nameHint);
			string code;
			code+="struct ";
			code+=globalNames->getCpp(compact);
			code+="\n{\n";
			for (auto i: *in->getAllSubTypes())
			{
				code+=indentString(getTypeCode(i.type)+" "+i.name+";\n", indent);
			}
			
			code+="\n";
			code+=indentString(globalNames->getCpp(compact), indent);
			code+="() {}\n";
			
			code+="\n";
			auto conNames=globalNames->makeChild();
			code+=indentString(globalNames->getCpp(compact), indent);
			code+="(";
			bool first=true;
			for (auto i: *in->getAllSubTypes())
			{
				if (first) first=false; else code+=", ";
				conNames->addPp("+"+i.name+"_in");
				code+=getTypeCode(i.type)+" "+conNames->getCpp("+"+i.name+"_in");
			}
			code+=")\n";
			code+=indentString("{\n", indent);
			for (auto i: *in->getAllSubTypes())
			{
				code+=indentString(i.name+" = "+conNames->getCpp("+"+i.name+"_in")+";\n", indent, 2);
			}
			code+=indentString("}\n", indent);
			
			code+="};\n";
			
			if (!globalTypesCode.empty())
				globalTypesCode+="\n";
			globalTypesCode+=code;
		}
		
		return globalNames->getCpp(compact);
	}
	
	default:
		throw PhplusError("CppProgram::getTypeCode called with invalid type "+(TypeBase::getString(in->getType())), INTERNAL_ERROR);
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2c8, %rsp            # imm = 0x2C8
movq %rsi, 0x8(%rsp)
movq %rdi, 0x10(%rsp)
movq %rdx, 0x18(%rsp)
movq (%rdx), %rdi
movq (%rdi), %rax
callq *0x40(%rax)
decl %eax
cmpl $0x6, %eax
ja 0x1689d
leaq 0x3e979(%rip), %rcx     # 0x5483c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x42464(%rip), %rsi     # 0x58337
jmp 0x15f33
movq 0x18(%rsp), %rax
movq (%rax), %rsi
movq (%rsi), %rax
leaq 0x20(%rsp), %rbx
movq %rbx, %rdi
callq *0x48(%rax)
movq (%rbx), %rdi
movq (%rdi), %rax
callq *0x30(%rax)
movl %eax, %ebx
leaq 0x28(%rsp), %rdi
callq 0xc984
testb %bl, %bl
je 0x161fd
leaq 0x3eeb1(%rip), %rsi     # 0x54dc0
jmp 0x15f33
leaq 0x3ecc0(%rip), %rsi     # 0x54bd8
jmp 0x15f33
leaq 0x3ecc4(%rip), %rsi     # 0x54be5
jmp 0x15f33
leaq 0x3ee88(%rip), %rsi     # 0x54db2
jmp 0x15f33
leaq 0x3ed6d(%rip), %rsi     # 0x54ca0
leaq 0x20(%rsp), %rdx
movq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0xa150
jmp 0x16888
movq 0x18(%rsp), %rbx
movq (%rbx), %rdi
movq (%rdi), %rax
callq *0x58(%rax)
movq 0x8(%rax), %rcx
subq (%rax), %rcx
cmpq $0x30, %rcx
jne 0x15fa4
movq (%rbx), %rdi
movq (%rdi), %rax
callq *0x58(%rax)
movq (%rax), %rsi
addq $0x20, %rsi
leaq 0x170(%rsp), %rbx
movq %rbx, %rdi
callq 0x12c0a
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq %rbx, %rdx
callq 0x15e88
leaq 0x178(%rsp), %rdi
jmp 0x16250
movq (%rbx), %rsi
movq (%rsi), %rax
leaq 0x78(%rsp), %rbx
movq %rbx, %rdi
callq *0x10(%rax)
leaq 0x3e5c0(%rip), %rsi     # 0x5457c
leaq 0x20(%rsp), %rdi
movq %rbx, %rdx
callq 0x11ff8
leaq 0x4199c(%rip), %rdx     # 0x5796c
leaq 0xe8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xc882
leaq 0x20(%rsp), %rdi
callq 0xa558
leaq 0x78(%rsp), %rdi
callq 0xa558
movq 0x8(%rsp), %rax
movq 0xf8(%rax), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x142a2
testb %al, %al
jne 0x16858
movq 0x8(%rsp), %rax
movq 0xf8(%rax), %rdi
movq 0x18(%rsp), %rax
movq (%rax), %rdx
addq $0x18, %rdx
leaq 0xe8(%rsp), %rsi
callq 0x13de2
leaq 0x88(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x3ed70(%rip), %rsi     # 0x54dc7
leaq 0x78(%rsp), %rdi
callq 0xa520
movq 0x8(%rsp), %rax
movq 0xf8(%rax), %rsi
leaq 0x20(%rsp), %rdi
leaq 0xe8(%rsp), %rdx
callq 0x1439e
leaq 0x78(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xa540
leaq 0x20(%rsp), %rdi
callq 0xa558
leaq 0x3ed30(%rip), %rsi     # 0x54dcf
leaq 0x78(%rsp), %rdi
callq 0xa520
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x58(%rax)
movq (%rax), %rsi
movq 0x8(%rax), %rax
movq %rax, 0x108(%rsp)
leaq 0x150(%rsp), %r14
leaq 0xc8(%rsp), %r12
leaq 0x120(%rsp), %r15
leaq 0xa8(%rsp), %r13
leaq 0x2a8(%rsp), %rbx
cmpq 0x108(%rsp), %rsi
je 0x1625a
movq %rbx, %rbp
movq %r13, %rbx
movq %r14, %r13
leaq 0x20(%rsp), %rdi
movq %rsi, 0x70(%rsp)
callq 0x1848c
leaq 0x110(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x12c0a
movq %r13, %rdi
movq 0x8(%rsp), %rsi
leaq 0x110(%rsp), %rdx
callq 0x15e88
movq %r12, %rdi
movq %r13, %rsi
leaq 0x3e924(%rip), %rdx     # 0x54a6c
callq 0xc882
movq %r13, %r14
movq %rbx, %r13
movq %rbp, %rbx
movq %r15, %rdi
movq %r12, %rsi
leaq 0x20(%rsp), %rdx
callq 0x184b5
movq %r13, %rdi
movq %r15, %rsi
leaq 0x41620(%rip), %rdx     # 0x57793
callq 0xc882
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
callq 0xa3b0
leaq 0x50(%rsp), %rbp
movq %rbp, %rdi
movq %r13, %rsi
movq %rbx, %rdx
pushq $0x1
popq %rcx
callq 0x41afa
leaq 0x78(%rsp), %rdi
movq %rbp, %rsi
callq 0xa540
movq %rbp, %rdi
callq 0xa558
movq %rbx, %rdi
callq 0xa558
movq %r13, %rdi
callq 0xa558
movq %r15, %rdi
callq 0xa558
movq %r12, %rdi
callq 0xa558
movq %r14, %rdi
callq 0xa558
leaq 0x118(%rsp), %rdi
callq 0xc984
leaq 0x20(%rsp), %rdi
callq 0x12f68
movq 0x70(%rsp), %rsi
addq $0x30, %rsi
jmp 0x160ee
movq 0x18(%rsp), %rax
movq (%rax), %rsi
movq (%rsi), %rax
leaq 0x180(%rsp), %rbx
movq %rbx, %rdi
callq *0x48(%rax)
leaq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq %rbx, %rdx
callq 0x15e88
leaq 0x3eb95(%rip), %rdx     # 0x54dc4
leaq 0x20(%rsp), %rsi
movq 0x10(%rsp), %rdi
callq 0xc882
leaq 0x20(%rsp), %rdi
callq 0xa558
leaq 0x188(%rsp), %rdi
callq 0xc984
jmp 0x16883
leaq 0x3ec97(%rip), %rsi     # 0x54ef8
leaq 0x78(%rsp), %rdi
callq 0xa520
movq 0x8(%rsp), %rbx
movq 0xf8(%rbx), %rsi
leaq 0x50(%rsp), %rdi
leaq 0xe8(%rsp), %rdx
callq 0x1439e
leaq 0x228(%rsp), %rdi
movq %rbx, %rsi
callq 0xa3b0
leaq 0x20(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x228(%rsp), %rdx
pushq $0x1
popq %rcx
callq 0x41afa
leaq 0x78(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xa540
leaq 0x20(%rsp), %rdi
callq 0xa558
leaq 0x228(%rsp), %rdi
callq 0xa558
leaq 0x50(%rsp), %rdi
callq 0xa558
leaq 0x3eae9(%rip), %rsi     # 0x54dd3
leaq 0x78(%rsp), %rdi
callq 0xa520
leaq 0x3ebfd(%rip), %rsi     # 0x54ef8
leaq 0x78(%rsp), %rdi
callq 0xa520
movq 0x8(%rsp), %rbx
movq 0xf8(%rbx), %rsi
leaq 0x98(%rsp), %rdi
callq 0x13d84
movq 0xf8(%rbx), %rsi
leaq 0x50(%rsp), %rdi
leaq 0xe8(%rsp), %rdx
callq 0x1439e
leaq 0x208(%rsp), %rdi
movq %rbx, %rsi
callq 0xa3b0
leaq 0x20(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x208(%rsp), %rdx
pushq $0x1
popq %rcx
callq 0x41afa
leaq 0x78(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xa540
leaq 0x20(%rsp), %rdi
callq 0xa558
leaq 0x208(%rsp), %rdi
callq 0xa558
leaq 0x50(%rsp), %rdi
callq 0xa558
leaq 0x43608(%rip), %rsi     # 0x599a0
leaq 0x78(%rsp), %rdi
callq 0xa520
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x58(%rax)
movq (%rax), %r13
movq 0x8(%rax), %rax
movq %rax, 0x70(%rsp)
movb $0x1, %r12b
leaq 0xa8(%rsp), %r14
leaq 0x120(%rsp), %r15
cmpq 0x70(%rsp), %r13
je 0x1657c
leaq 0x20(%rsp), %rdi
movq %r13, %rsi
callq 0x1848c
testb $0x1, %r12b
jne 0x163fe
leaq 0x78(%rsp), %rdi
leaq 0x41a9c(%rip), %rsi     # 0x57e95
callq 0xa520
movq 0x98(%rsp), %r12
movq %r14, %rdi
leaq 0x42f48(%rip), %rsi     # 0x59358
leaq 0x20(%rsp), %rdx
callq 0xc8a1
leaq 0x50(%rsp), %rdi
movq %r14, %rsi
leaq 0x3e9b1(%rip), %rdx     # 0x54dda
callq 0xc882
movq %r15, %rdi
leaq 0x3e4dd(%rip), %rsi     # 0x54915
leaq 0xc8(%rsp), %rdx
callq 0xa150
movq %r12, %rdi
leaq 0x50(%rsp), %rbx
movq %rbx, %rsi
movq %r15, %rdx
callq 0x13de2
movq %r15, %rdi
callq 0xa558
movq %rbx, %rdi
callq 0xa558
movq %r14, %rdi
callq 0xa558
leaq 0x140(%rsp), %r12
movq %r12, %rdi
leaq 0x40(%rsp), %rsi
callq 0x12c0a
movq %r15, %rdi
movq 0x8(%rsp), %rsi
movq %r12, %rdx
callq 0x15e88
movq %r14, %rbx
movq %r14, %rdi
movq %r15, %rsi
leaq 0x3e5c7(%rip), %rdx     # 0x54a6c
callq 0xc882
movq 0x98(%rsp), %r12
leaq 0x190(%rsp), %r14
movq %r14, %rdi
leaq 0x42e94(%rip), %rsi     # 0x59358
leaq 0x20(%rsp), %rdx
callq 0xc8a1
leaq 0x150(%rsp), %rbp
movq %rbp, %rdi
movq %r14, %rsi
leaq 0x3e8f7(%rip), %rdx     # 0x54dda
callq 0xc882
leaq 0xc8(%rsp), %r14
movq %r14, %rdi
movq %r12, %rsi
movq %rbp, %rdx
callq 0x1439e
movq %rbp, %r12
leaq 0x50(%rsp), %rbp
movq %rbp, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x1205e
leaq 0x78(%rsp), %rdi
movq %rbp, %rsi
callq 0xa540
movq %rbp, %rdi
callq 0xa558
movq %r14, %rdi
callq 0xa558
movq %r12, %rdi
callq 0xa558
leaq 0x190(%rsp), %rdi
callq 0xa558
movq %rbx, %r14
movq %rbx, %rdi
callq 0xa558
movq %r15, %rdi
callq 0xa558
leaq 0x148(%rsp), %rdi
callq 0xc984
leaq 0x20(%rsp), %rdi
callq 0x12f68
addq $0x30, %r13
xorl %r12d, %r12d
jmp 0x163cf
leaq 0x3e85b(%rip), %rsi     # 0x54dde
leaq 0x78(%rsp), %rdi
callq 0xa520
leaq 0x3e83c(%rip), %rsi     # 0x54dd0
leaq 0x50(%rsp), %rdi
leaq 0xa8(%rsp), %rdx
callq 0xa150
leaq 0x1e8(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xa3b0
leaq 0x20(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x1e8(%rsp), %rdx
pushq $0x1
popq %rcx
callq 0x41afa
leaq 0x78(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xa540
leaq 0x20(%rsp), %rdi
callq 0xa558
leaq 0x1e8(%rsp), %rdi
callq 0xa558
leaq 0x50(%rsp), %rdi
callq 0xa558
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x58(%rax)
movq (%rax), %rsi
movq 0x8(%rax), %rax
movq %rax, 0x18(%rsp)
leaq 0x190(%rsp), %r12
leaq 0x150(%rsp), %rbp
leaq 0x120(%rsp), %r15
cmpq 0x18(%rsp), %rsi
je 0x16789
leaq 0x20(%rsp), %rbx
movq %rbx, %rdi
movq %rsi, 0x70(%rsp)
callq 0x1848c
movq %r15, %r14
movq %rbp, %r15
leaq 0xc8(%rsp), %rdi
movq %rbx, %rsi
leaq 0x413a9(%rip), %rdx     # 0x57a12
callq 0x11fb8
movq 0x98(%rsp), %r13
leaq 0x288(%rsp), %rbp
movq %rbp, %rdi
leaq 0x42cd0(%rip), %rsi     # 0x59358
movq %rbx, %rdx
callq 0xc8a1
movq %r12, %rdi
movq %rbp, %rsi
leaq 0x3e73d(%rip), %rdx     # 0x54dda
callq 0xc882
movq %r15, %rbp
movq %r15, %rdi
movq %r13, %rsi
movq %r12, %rdx
callq 0x1439e
movq %r14, %rdi
leaq 0xc8(%rsp), %rsi
movq %rbp, %rdx
callq 0x1205e
leaq 0xa8(%rsp), %rdi
movq %r14, %rsi
leaq 0x410bb(%rip), %rdx     # 0x57793
callq 0xc882
movq %r14, %r15
leaq 0x268(%rsp), %rbx
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
callq 0xa3b0
leaq 0x50(%rsp), %r14
movq %r14, %rdi
leaq 0xa8(%rsp), %rsi
movq %rbx, %rdx
pushq $0x2
popq %rcx
callq 0x41afa
leaq 0x78(%rsp), %rdi
movq %r14, %rsi
callq 0xa540
movq %r14, %rdi
callq 0xa558
leaq 0x268(%rsp), %rdi
callq 0xa558
leaq 0xa8(%rsp), %rdi
callq 0xa558
movq %r15, %rdi
callq 0xa558
movq %rbp, %rdi
callq 0xa558
movq %r12, %rdi
callq 0xa558
leaq 0x288(%rsp), %rdi
callq 0xa558
leaq 0xc8(%rsp), %rdi
callq 0xa558
leaq 0x20(%rsp), %rdi
callq 0x12f68
movq 0x70(%rsp), %rsi
addq $0x30, %rsi
jmp 0x16634
leaq 0x3e84c(%rip), %rsi     # 0x54fdc
leaq 0x50(%rsp), %rdi
leaq 0xa8(%rsp), %rdx
callq 0xa150
leaq 0x1c8(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xa3b0
leaq 0x20(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x1c8(%rsp), %rdx
pushq $0x1
popq %rcx
callq 0x41afa
leaq 0x78(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xa540
leaq 0x20(%rsp), %rdi
callq 0xa558
leaq 0x1c8(%rsp), %rdi
callq 0xa558
leaq 0x50(%rsp), %rdi
callq 0xa558
leaq 0x3e5dc(%rip), %rsi     # 0x54de1
leaq 0x78(%rsp), %rdi
callq 0xa520
movq 0x8(%rsp), %rax
leaq 0x80(%rax), %rbx
cmpq $0x0, 0x88(%rax)
je 0x16834
leaq 0x3e6cc(%rip), %rsi     # 0x54ef8
movq %rbx, %rdi
callq 0xa520
leaq 0x78(%rsp), %rsi
movq %rbx, %rdi
callq 0xa540
leaq 0xa0(%rsp), %rdi
callq 0xc984
leaq 0x78(%rsp), %rdi
callq 0xa558
movq 0x8(%rsp), %rax
movq 0xf8(%rax), %rsi
leaq 0xe8(%rsp), %rdx
movq 0x10(%rsp), %rdi
callq 0x1439e
leaq 0xe8(%rsp), %rdi
callq 0xa558
movq 0x10(%rsp), %rbx
movq %rbx, %rax
addq $0x2c8, %rsp            # imm = 0x2C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
pushq $0x38
popq %rdi
callq 0xa1b0
movq %rax, %r14
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x40(%rax)
leaq 0x20(%rsp), %rdi
movl %eax, %esi
callq 0x3dda0
leaq 0x3e51c(%rip), %rsi     # 0x54de5
leaq 0x248(%rsp), %rdi
leaq 0x20(%rsp), %rdx
callq 0x11ff8
xorps %xmm0, %xmm0
leaq 0x1b0(%rsp), %rcx
movaps %xmm0, (%rcx)
movb $0x1, %bpl
leaq 0x248(%rsp), %rsi
pushq $0x3
popq %rdx
movq %r14, %rdi
callq 0x19f06
xorl %ebp, %ebp
leaq 0x60c90(%rip), %rsi     # 0x77598
leaq -0x527d(%rip), %rdx     # 0x11692
movq %r14, %rdi
callq 0xa4e0
movq %rax, %rbx
leaq 0x1b8(%rsp), %rdi
callq 0xc984
leaq 0x248(%rsp), %rdi
callq 0xa558
jmp 0x1693c
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x20(%rsp), %rdi
callq 0xa558
testb %bpl, %bpl
jne 0x16a7a
jmp 0x16cb3
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xa558
jmp 0x16966
movq %rax, %rbx
leaq 0x1c8(%rsp), %rdi
jmp 0x169c3
jmp 0x169ca
jmp 0x16c0f
jmp 0x16c0f
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xa558
jmp 0x1698e
movq %rax, %rbx
leaq 0x1e8(%rsp), %rdi
jmp 0x169c3
jmp 0x169ca
jmp 0x16c0f
jmp 0x16c0f
jmp 0x16c0f
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xa558
jmp 0x169bb
movq %rax, %rbx
leaq 0x208(%rsp), %rdi
callq 0xa558
jmp 0x169cd
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0xa558
jmp 0x16bfd
jmp 0x16c0f
jmp 0x16c59
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xa558
jmp 0x169f8
movq %rax, %rbx
leaq 0x228(%rsp), %rdi
callq 0xa558
jmp 0x16a0a
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
jmp 0x16a23
jmp 0x16c59
jmp 0x16c59
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xa558
jmp 0x16c9c
jmp 0x16c59
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xa558
jmp 0x16a53
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xa558
jmp 0x16a60
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
jmp 0x16a94
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
jmp 0x16cae
movq %rax, %rbx
leaq 0x178(%rsp), %rdi
jmp 0x16a94
movq %rax, %rbx
movq %r14, %rdi
callq 0xa230
jmp 0x16cb3
jmp 0x16c0f
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xc984
jmp 0x16cb3
movq %rax, %rbx
jmp 0x16ca6
jmp 0x16c59
jmp 0x16b49
movq %rax, %rbx
jmp 0x16aeb
movq %rax, %rbx
jmp 0x16ade
movq %rax, %rbx
jmp 0x16ad1
jmp 0x16c0f
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0xa558
leaq 0x268(%rsp), %rdi
callq 0xa558
leaq 0xa8(%rsp), %rdi
callq 0xa558
leaq 0x120(%rsp), %rdi
callq 0xa558
jmp 0x16b0e
jmp 0x16b49
movq %rax, %rbx
jmp 0x16b35
movq %rax, %rbx
jmp 0x16b28
movq %rax, %rbx
jmp 0x16b1b
movq %rax, %rbx
leaq 0x150(%rsp), %rdi
callq 0xa558
leaq 0x190(%rsp), %rdi
callq 0xa558
leaq 0x288(%rsp), %rdi
callq 0xa558
leaq 0xc8(%rsp), %rdi
jmp 0x16bb8
movq %rax, %rbx
jmp 0x16b82
movq %rax, %rbx
jmp 0x16b75
movq %rax, %rbx
jmp 0x16bf3
movq %rax, %rbx
jmp 0x16b68
movq %rax, %rbx
jmp 0x16bb0
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0xa558
leaq 0xc8(%rsp), %rdi
callq 0xa558
leaq 0x150(%rsp), %rdi
callq 0xa558
leaq 0x190(%rsp), %rdi
callq 0xa558
jmp 0x16bcc
movq %rax, %rbx
jmp 0x16ba6
movq %rax, %rbx
leaq 0x120(%rsp), %rdi
callq 0xa558
leaq 0x50(%rsp), %rdi
callq 0xa558
leaq 0xa8(%rsp), %rdi
callq 0xa558
jmp 0x16bf3
movq %rax, %rbx
jmp 0x16be6
movq %rax, %rbx
jmp 0x16bd9
movq %rax, %rbx
leaq 0xa8(%rsp), %rdi
callq 0xa558
leaq 0x120(%rsp), %rdi
callq 0xa558
leaq 0x148(%rsp), %rdi
callq 0xc984
leaq 0x20(%rsp), %rdi
callq 0x12f68
leaq 0xa0(%rsp), %rdi
callq 0xc984
jmp 0x16c9c
movq %rax, %rbx
jmp 0x16bfd
movq %rax, %rbx
jmp 0x16c4a
movq %rax, %rbx
jmp 0x16c3d
movq %rax, %rbx
jmp 0x16c30
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0xa558
leaq 0x2a8(%rsp), %rdi
callq 0xa558
leaq 0xa8(%rsp), %rdi
callq 0xa558
leaq 0x120(%rsp), %rdi
callq 0xa558
jmp 0x16c6b
movq %rax, %rbx
jmp 0x16c9c
movq %rax, %rbx
jmp 0x16c85
movq %rax, %rbx
jmp 0x16c78
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xa558
leaq 0x150(%rsp), %rdi
callq 0xa558
leaq 0x118(%rsp), %rdi
callq 0xc984
leaq 0x20(%rsp), %rdi
callq 0x12f68
leaq 0x78(%rsp), %rdi
callq 0xa558
leaq 0xe8(%rsp), %rdi
callq 0xa558
movq %rbx, %rdi
callq 0xa500
nop