// File: menhits[P]phplus/src/Actions/MakeTupleAction.cpp
// Function: CppTupleCastAction::addToProg(std::shared_ptr<ActionData>, std::shared_ptr<ActionData>, CppProgram*)
void addToProg(Action inLeft, Action inRight, CppProgram* prog)
	{
		if (getReturnType()->getAllSubTypes()->size()==1)
		{
			action->addToProg(prog);
		}
		else if (typeid(*action)==typeid(MakeTupleAction))
		{
			MakeTupleAction * realAction=(MakeTupleAction*)&*action;
			
			prog->code(prog->getTypeCode(getReturnType()));
			prog->pushExpr();
				for (auto i: realAction->sourceActions)
				{
					i->addToProg(prog);
					if (i!=realAction->sourceActions.back())
						prog->code(", ");
				}
			prog->popExpr();
		}
		else if (typeid(*action)==typeid(*listAction({voidAction, voidAction}, {})))
		{
			addListToProgWithCppCasting((ListAction*)&*action, getReturnType(), prog);
		}
		else if (getReturnType()->getType()!=TypeBase::TUPLE)
		{
			action->addToProg(prog);
			prog->code(".");
			prog->code(action->getReturnType()->getAllSubTypes()[0][0].name);
		}
		else
		{
			string funcName=action->getReturnType()->getCompactString()+"=>"+getReturnType()->getCompactString();
			
			if (!prog->hasFunc(funcName))
			{
				Type argType=makeTuple({{"in", action->getReturnType()}}, true);
				
				prog->pushFunc(funcName, "", Void, argType, getReturnType());
					prog->declareVar("-out", getReturnType());
					
					auto outTypes=*getReturnType()->getAllSubTypes();
					
					if (action->getReturnType()->getType()==TypeBase::TUPLE)
					{
						auto inTypes=*action->getReturnType()->getAllSubTypes();
						
						for (int i=0; i<int(inTypes.size()); i++)
						{
							//if (inTypes[i].type==outTypes[i].type)
							{
								prog->name("-out");
								prog->code(".");
								prog->code(outTypes[i].name);
								prog->code(" = ");
								prog->name("in");
								prog->code(".");
								prog->code(inTypes[i].name);
								prog->endln();
							}
						}
					}
					else
					{
						prog->name("-out");
						prog->code(".");
						prog->code(outTypes[0].name);
						prog->code(" = ");
						prog->name("in");
						prog->endln();
					}
					
					prog->code("return ");
					prog->name("-out");
					prog->endln();
					
				prog->popFunc();
			}
			
			prog->name(funcName);
			prog->pushExpr();
				action->addToProg(prog);
			prog->popExpr();
		}
	}

// Assembly:
subq $0x768, %rsp            # imm = 0x768
movq %rdi, 0x760(%rsp)
movq %rsi, 0x758(%rsp)
movq %rdx, 0x750(%rsp)
movq %rcx, 0x748(%rsp)
movq 0x760(%rsp), %rdi
movq %rdi, 0x250(%rsp)
callq 0x1bed0
movq %rax, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
callq *0x58(%rax)
movq %rax, %rdi
callq 0x2df40
cmpq $0x1, %rax
jne 0xc1fe1
movq 0x250(%rsp), %rdi
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
movq 0x748(%rsp), %rsi
callq 0x97950
jmp 0xc394c
movq 0x250(%rsp), %rdi
addq $0x78, %rdi
callq 0xb9b40
movq (%rax), %rax
movq -0x8(%rax), %rdi
leaq 0x55910(%rip), %rsi     # 0x117910
callq 0x48fd0
testb $0x1, %al
jne 0xc200e
jmp 0xc22e4
movq 0x250(%rsp), %rdi
addq $0x78, %rdi
callq 0xb9b40
movq 0x250(%rsp), %rdi
movq %rax, 0x740(%rsp)
movq 0x748(%rsp), %rax
movq %rax, 0x240(%rsp)
callq 0x1bed0
movq %rax, %rsi
leaq 0x710(%rsp), %rdi
movq %rdi, 0x248(%rsp)
callq 0x1a920
movq 0x240(%rsp), %rsi
movq 0x248(%rsp), %rdx
leaq 0x720(%rsp), %rdi
callq 0x285b0
jmp 0xc207b
movq 0x240(%rsp), %rdi
leaq 0x720(%rsp), %rsi
callq 0x96750
jmp 0xc2092
leaq 0x720(%rsp), %rdi
callq 0xb6e8
leaq 0x710(%rsp), %rdi
callq 0x1a950
movq 0x748(%rsp), %rdi
callq 0x97930
movq 0x740(%rsp), %rax
addq $0x78, %rax
movq %rax, 0x6f8(%rsp)
movq 0x6f8(%rsp), %rdi
callq 0x221a0
movq %rax, 0x6f0(%rsp)
movq 0x6f8(%rsp), %rdi
callq 0x22010
movq %rax, 0x6e8(%rsp)
leaq 0x6f0(%rsp), %rdi
leaq 0x6e8(%rsp), %rsi
callq 0xbd540
testb $0x1, %al
jne 0xc2115
jmp 0xc22d2
leaq 0x6f0(%rsp), %rdi
callq 0xbd580
movq %rax, %rsi
leaq 0x6d8(%rsp), %rdi
movq %rdi, 0x238(%rsp)
callq 0x1ac60
movq 0x238(%rsp), %rdi
callq 0x1bb50
movq %rax, %rdi
movq 0x748(%rsp), %rsi
callq 0x97950
jmp 0xc2159
movq 0x740(%rsp), %rdi
addq $0x78, %rdi
callq 0xbd5d0
movq %rax, %rsi
leaq 0x6d8(%rsp), %rdi
callq 0xbfc10
testb $0x1, %al
jne 0xc2183
jmp 0xc22a1
movq 0x748(%rsp), %rax
movq %rax, 0x228(%rsp)
leaq 0x6b7(%rsp), %rdi
movq %rdi, 0x230(%rsp)
callq 0xb690
movq 0x230(%rsp), %rdx
leaq 0x13533(%rip), %rsi     # 0xd56ea
leaq 0x6b8(%rsp), %rdi
callq 0xb4c0
jmp 0xc21c6
movq 0x228(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x96750
jmp 0xc21dd
leaq 0x6b8(%rsp), %rdi
callq 0xb6e8
leaq 0x6b7(%rsp), %rdi
callq 0xb3f0
jmp 0xc22a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc2233
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x720(%rsp), %rdi
callq 0xb6e8
leaq 0x710(%rsp), %rdi
callq 0x1a950
jmp 0xc3954
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc22c0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc2292
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x6b8(%rsp), %rdi
callq 0xb6e8
leaq 0x6b7(%rsp), %rdi
callq 0xb3f0
jmp 0xc22c0
leaq 0x6d8(%rsp), %rdi
callq 0x1acc0
leaq 0x6f0(%rsp), %rdi
callq 0xbd610
jmp 0xc20f7
leaq 0x6d8(%rsp), %rdi
callq 0x1acc0
jmp 0xc3954
movq 0x748(%rsp), %rdi
callq 0x97a00
jmp 0xc394a
movq 0x250(%rsp), %rdi
addq $0x78, %rdi
callq 0xb9b40
movq (%rax), %rax
movq -0x8(%rax), %rax
movq %rax, 0x208(%rsp)
leaq 0x5610d(%rip), %rsi     # 0x118418
movq %rsi, 0x210(%rsp)
leaq 0x658(%rsp), %rdi
movq %rdi, 0x218(%rsp)
callq 0x1ac60
movq 0x210(%rsp), %rsi
leaq 0x668(%rsp), %rdi
callq 0x1ac60
movq 0x218(%rsp), %rax
movq %rax, 0x678(%rsp)
movq $0x2, 0x680(%rsp)
leaq 0x657(%rsp), %rdi
movq %rdi, 0x220(%rsp)
callq 0x1d790
movq 0x220(%rsp), %rcx
movq 0x678(%rsp), %rsi
movq 0x680(%rsp), %rdx
leaq 0x688(%rsp), %rdi
callq 0xc3970
jmp 0xc2395
xorps %xmm0, %xmm0
movaps %xmm0, 0x630(%rsp)
movq $0x0, 0x640(%rsp)
leaq 0x630(%rsp), %rdi
movq %rdi, 0x200(%rsp)
callq 0x1aa90
movq 0x200(%rsp), %rdx
leaq 0x6a0(%rsp), %rdi
leaq 0x688(%rsp), %rsi
callq 0xbc650
jmp 0xc23e0
leaq 0x6a0(%rsp), %rdi
callq 0xb9b40
movq 0x208(%rsp), %rdi
movq (%rax), %rax
movq -0x8(%rax), %rsi
callq 0x48fd0
movb %al, 0x1ef(%rsp)
leaq 0x6a0(%rsp), %rdi
callq 0x1acc0
leaq 0x630(%rsp), %rdi
callq 0x1adb0
leaq 0x688(%rsp), %rdi
callq 0x1adb0
leaq 0x657(%rsp), %rdi
callq 0x21cb0
leaq 0x658(%rsp), %rax
movq %rax, 0x1f0(%rsp)
addq $0x20, %rax
movq %rax, 0x1f8(%rsp)
movq 0x1f8(%rsp), %rdi
addq $-0x10, %rdi
movq %rdi, 0x1e0(%rsp)
callq 0x1acc0
movq 0x1f0(%rsp), %rcx
movq 0x1e0(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0x1f8(%rsp)
jne 0xc2458
movb 0x1ef(%rsp), %al
testb $0x1, %al
jne 0xc249e
jmp 0xc25db
movq 0x250(%rsp), %rdi
addq $0x78, %rdi
callq 0xb9b40
movq 0x250(%rsp), %rdi
movq %rax, 0x1d0(%rsp)
callq 0x1bed0
movq %rax, %rsi
leaq 0x620(%rsp), %rdi
movq %rdi, 0x1d8(%rsp)
callq 0x1a920
movq 0x1d0(%rsp), %rdi
movq 0x1d8(%rsp), %rsi
movq 0x748(%rsp), %rdx
callq 0xbc5d0
jmp 0xc24fb
leaq 0x620(%rsp), %rdi
callq 0x1a950
jmp 0xc3948
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc2551
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x630(%rsp), %rdi
callq 0x1adb0
leaq 0x688(%rsp), %rdi
callq 0x1adb0
leaq 0x657(%rsp), %rdi
callq 0x21cb0
leaq 0x658(%rsp), %rax
movq %rax, 0x1c0(%rsp)
addq $0x20, %rax
movq %rax, 0x1c8(%rsp)
movq 0x1c8(%rsp), %rdi
addq $-0x10, %rdi
movq %rdi, 0x1b8(%rsp)
callq 0x1acc0
movq 0x1c0(%rsp), %rcx
movq 0x1b8(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0x1c8(%rsp)
jne 0xc257a
jmp 0xc3954
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x620(%rsp), %rdi
callq 0x1a950
jmp 0xc3954
movq 0x250(%rsp), %rdi
callq 0x1bed0
movq %rax, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
callq *0x40(%rax)
cmpl $0x7, %eax
je 0xc273b
movq 0x250(%rsp), %rdi
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
movq 0x748(%rsp), %rsi
callq 0x97950
movq 0x748(%rsp), %rax
movq %rax, 0x1a8(%rsp)
leaq 0x5ff(%rsp), %rdi
movq %rdi, 0x1b0(%rsp)
callq 0xb690
movq 0x1b0(%rsp), %rdx
leaq 0x12e22(%rip), %rsi     # 0xd5479
leaq 0x600(%rsp), %rdi
callq 0xb4c0
jmp 0xc2666
movq 0x1a8(%rsp), %rdi
leaq 0x600(%rsp), %rsi
callq 0x96750
jmp 0xc267d
leaq 0x600(%rsp), %rdi
callq 0xb6e8
leaq 0x5ff(%rsp), %rdi
callq 0xb3f0
movq 0x250(%rsp), %rdi
movq 0x748(%rsp), %rax
movq %rax, 0x1a0(%rsp)
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
callq 0x1bed0
movq %rax, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
callq *0x58(%rax)
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x2df60
movq 0x1a0(%rsp), %rdi
movq %rax, %rsi
callq 0x96750
jmp 0xc3946
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc2729
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x600(%rsp), %rdi
callq 0xb6e8
leaq 0x5ff(%rsp), %rdi
callq 0xb3f0
jmp 0xc3954
movq 0x250(%rsp), %rdi
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
callq 0x1bed0
movq %rax, %rdi
callq 0x1a660
movq %rax, %rsi
movq (%rsi), %rax
movq 0x10(%rax), %rax
leaq 0x598(%rsp), %rdi
movq %rdi, 0x198(%rsp)
callq *%rax
movq 0x198(%rsp), %rsi
leaq 0xe8a4(%rip), %rdx      # 0xd102b
leaq 0x5b8(%rsp), %rdi
callq 0xfa60
jmp 0xc2796
movq 0x250(%rsp), %rdi
callq 0x1bed0
movq %rax, %rdi
callq 0x1a660
movq %rax, %rsi
movq (%rsi), %rax
movq 0x10(%rax), %rax
leaq 0x578(%rsp), %rdi
callq *%rax
jmp 0xc27c1
leaq 0x5d8(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
leaq 0x578(%rsp), %rdx
callq 0x1bf20
jmp 0xc27e0
leaq 0x578(%rsp), %rdi
callq 0xb6e8
leaq 0x5b8(%rsp), %rdi
callq 0xb6e8
leaq 0x598(%rsp), %rdi
callq 0xb6e8
movq 0x748(%rsp), %rdi
leaq 0x5d8(%rsp), %rsi
callq 0x2a8a0
movb %al, 0x197(%rsp)
jmp 0xc2825
movb 0x197(%rsp), %al
testb $0x1, %al
jne 0xc38d0
jmp 0xc2836
movb $0x1, 0x506(%rsp)
leaq 0x510(%rsp), %rax
movq %rax, 0x180(%rsp)
movq %rax, 0x508(%rsp)
leaq 0x507(%rsp), %rdi
movq %rdi, 0x188(%rsp)
callq 0xb690
movq 0x180(%rsp), %rdi
movq 0x188(%rsp), %rdx
leaq 0xf5fb(%rip), %rsi      # 0xd1e7d
callq 0xb4c0
jmp 0xc2889
movq 0x250(%rsp), %rdi
leaq 0x530(%rsp), %rax
movq %rax, 0x170(%rsp)
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
callq 0x1bed0
movq 0x170(%rsp), %rdi
movq %rax, %rsi
callq 0x1a920
movb $0x0, 0x506(%rsp)
leaq 0x510(%rsp), %rax
movq %rax, 0x540(%rsp)
movq $0x1, 0x548(%rsp)
leaq 0x505(%rsp), %rdi
movq %rdi, 0x178(%rsp)
callq 0x967d0
movq 0x178(%rsp), %rcx
movq 0x540(%rsp), %rsi
movq 0x548(%rsp), %rdx
leaq 0x550(%rsp), %rdi
callq 0x967e0
jmp 0xc2922
leaq 0x568(%rsp), %rdi
leaq 0x550(%rsp), %rsi
movl $0x1, %edx
callq 0x9f7c0
jmp 0xc293e
leaq 0x550(%rsp), %rdi
callq 0x1e810
leaq 0x505(%rsp), %rdi
callq 0x1ea60
leaq 0x510(%rsp), %rax
movq %rax, 0x160(%rsp)
addq $0x30, %rax
movq %rax, 0x168(%rsp)
movq 0x168(%rsp), %rdi
addq $-0x30, %rdi
movq %rdi, 0x158(%rsp)
callq 0x1e980
movq 0x160(%rsp), %rcx
movq 0x158(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0x168(%rsp)
jne 0xc2974
leaq 0x507(%rsp), %rdi
callq 0xb3f0
movq 0x748(%rsp), %rax
movq %rax, 0x148(%rsp)
leaq 0x4df(%rsp), %rdi
movq %rdi, 0x150(%rsp)
callq 0xb690
movq 0x150(%rsp), %rdx
leaq 0xf034(%rip), %rsi      # 0xd1a1f
leaq 0x4e0(%rsp), %rdi
callq 0xb4c0
jmp 0xc29fa
leaq 0x55aa7(%rip), %rsi     # 0x1184a8
leaq 0x4c8(%rsp), %rdi
movq %rdi, 0x130(%rsp)
callq 0x1a920
leaq 0x4b8(%rsp), %rdi
movq %rdi, 0x138(%rsp)
leaq 0x568(%rsp), %rsi
callq 0x1a920
movq 0x250(%rsp), %rdi
callq 0x1bed0
movq %rax, %rsi
leaq 0x4a8(%rsp), %rdi
movq %rdi, 0x140(%rsp)
callq 0x1a920
movq 0x148(%rsp), %rdi
movq 0x130(%rsp), %rcx
movq 0x138(%rsp), %r8
movq 0x140(%rsp), %r9
leaq 0x5d8(%rsp), %rsi
leaq 0x4e0(%rsp), %rdx
callq 0x2aed0
jmp 0xc2a8f
leaq 0x4a8(%rsp), %rdi
callq 0x1a950
leaq 0x4b8(%rsp), %rdi
callq 0x1a950
leaq 0x4c8(%rsp), %rdi
callq 0x1a950
leaq 0x4e0(%rsp), %rdi
callq 0xb6e8
leaq 0x4df(%rsp), %rdi
callq 0xb3f0
movq 0x748(%rsp), %rax
movq %rax, 0x120(%rsp)
leaq 0x487(%rsp), %rdi
movq %rdi, 0x128(%rsp)
callq 0xb690
movq 0x128(%rsp), %rdx
leaq 0x14a6b(%rip), %rsi     # 0xd756f
leaq 0x488(%rsp), %rdi
callq 0xb4c0
jmp 0xc2b13
movq 0x250(%rsp), %rdi
callq 0x1bed0
movq %rax, %rsi
leaq 0x470(%rsp), %rdi
callq 0x1a920
leaq 0x44f(%rsp), %rdi
movq %rdi, 0x118(%rsp)
callq 0xb690
movq 0x118(%rsp), %rdx
leaq 0xeecb(%rip), %rsi      # 0xd1a1f
leaq 0x450(%rsp), %rdi
callq 0xb4c0
jmp 0xc2b63
movq 0x120(%rsp), %rdi
leaq 0x488(%rsp), %rsi
leaq 0x470(%rsp), %rdx
leaq 0x450(%rsp), %rcx
callq 0x29fe0
jmp 0xc2b8a
leaq 0x450(%rsp), %rdi
callq 0xb6e8
leaq 0x44f(%rsp), %rdi
callq 0xb3f0
leaq 0x470(%rsp), %rdi
callq 0x1a950
leaq 0x488(%rsp), %rdi
callq 0xb6e8
leaq 0x487(%rsp), %rdi
callq 0xb3f0
movq 0x250(%rsp), %rdi
callq 0x1bed0
movq %rax, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
movq 0x58(%rax), %rax
callq *%rax
movq %rax, 0x110(%rsp)
jmp 0xc2bf6
movq 0x110(%rsp), %rsi
leaq 0x430(%rsp), %rdi
callq 0xa0590
jmp 0xc2c0d
movq 0x250(%rsp), %rdi
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
callq 0x1bed0
movq %rax, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
movq 0x40(%rax), %rax
callq *%rax
movl %eax, 0x10c(%rsp)
jmp 0xc2c43
movl 0x10c(%rsp), %eax
cmpl $0x7, %eax
jne 0xc3418
movq 0x250(%rsp), %rdi
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
callq 0x1bed0
movq %rax, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
movq 0x58(%rax), %rax
callq *%rax
movq %rax, 0x100(%rsp)
jmp 0xc2c8a
movq 0x100(%rsp), %rsi
leaq 0x418(%rsp), %rdi
callq 0xa0590
jmp 0xc2ca1
movl $0x0, 0x414(%rsp)
movl 0x414(%rsp), %eax
movl %eax, 0xfc(%rsp)
leaq 0x418(%rsp), %rdi
callq 0x2df40
movq %rax, %rcx
movl 0xfc(%rsp), %eax
cmpl %ecx, %eax
jge 0xc33f4
movq 0x748(%rsp), %rax
movq %rax, 0xe8(%rsp)
leaq 0x3ef(%rsp), %rdi
movq %rdi, 0xf0(%rsp)
callq 0xb690
movq 0xf0(%rsp), %rdx
leaq 0x14862(%rip), %rsi     # 0xd756f
leaq 0x3f0(%rsp), %rdi
callq 0xb4c0
jmp 0xc2d1c
movq 0xe8(%rsp), %rdi
leaq 0x3f0(%rsp), %rsi
callq 0x96790
jmp 0xc2d33
leaq 0x3f0(%rsp), %rdi
callq 0xb6e8
leaq 0x3ef(%rsp), %rdi
callq 0xb3f0
movq 0x748(%rsp), %rax
movq %rax, 0xd8(%rsp)
leaq 0x3c7(%rsp), %rdi
movq %rdi, 0xe0(%rsp)
callq 0xb690
movq 0xe0(%rsp), %rdx
leaq 0x126f8(%rip), %rsi     # 0xd5479
leaq 0x3c8(%rsp), %rdi
callq 0xb4c0
jmp 0xc2d90
movq 0xd8(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
callq 0x96750
jmp 0xc2da7
leaq 0x3c8(%rsp), %rdi
callq 0xb6e8
leaq 0x3c7(%rsp), %rdi
callq 0xb3f0
movq 0x748(%rsp), %rax
movq %rax, 0xd0(%rsp)
movslq 0x414(%rsp), %rsi
leaq 0x430(%rsp), %rdi
callq 0x2df60
movq 0xd0(%rsp), %rdi
movq %rax, %rsi
callq 0x96750
jmp 0xc2df8
movq 0x748(%rsp), %rax
movq %rax, 0xc0(%rsp)
leaq 0x39f(%rsp), %rdi
movq %rdi, 0xc8(%rsp)
callq 0xb690
movq 0xc8(%rsp), %rdx
leaq 0x1243b(%rip), %rsi     # 0xd5267
leaq 0x3a0(%rsp), %rdi
callq 0xb4c0
jmp 0xc2e3b
movq 0xc0(%rsp), %rdi
leaq 0x3a0(%rsp), %rsi
callq 0x96750
jmp 0xc2e52
leaq 0x3a0(%rsp), %rdi
callq 0xb6e8
leaq 0x39f(%rsp), %rdi
callq 0xb3f0
movq 0x748(%rsp), %rax
movq %rax, 0xb0(%rsp)
leaq 0x377(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0xb690
movq 0xb8(%rsp), %rdx
leaq 0xefdd(%rip), %rsi      # 0xd1e7d
leaq 0x378(%rsp), %rdi
callq 0xb4c0
jmp 0xc2eaf
movq 0xb0(%rsp), %rdi
leaq 0x378(%rsp), %rsi
callq 0x96790
jmp 0xc2ec6
leaq 0x378(%rsp), %rdi
callq 0xb6e8
leaq 0x377(%rsp), %rdi
callq 0xb3f0
movq 0x748(%rsp), %rax
movq %rax, 0xa0(%rsp)
leaq 0x34f(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0xb690
movq 0xa8(%rsp), %rdx
leaq 0x12565(%rip), %rsi     # 0xd5479
leaq 0x350(%rsp), %rdi
callq 0xb4c0
jmp 0xc2f23
movq 0xa0(%rsp), %rdi
leaq 0x350(%rsp), %rsi
callq 0x96750
jmp 0xc2f3a
leaq 0x350(%rsp), %rdi
callq 0xb6e8
leaq 0x34f(%rsp), %rdi
callq 0xb3f0
movq 0x748(%rsp), %rax
movq %rax, 0x98(%rsp)
movslq 0x414(%rsp), %rsi
leaq 0x418(%rsp), %rdi
callq 0x2df60
movq 0x98(%rsp), %rdi
movq %rax, %rsi
callq 0x96750
jmp 0xc2f8b
movq 0x748(%rsp), %rdi
callq 0x99d60
jmp 0xc2f9a
jmp 0xc2f9c
movl 0x414(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x414(%rsp)
jmp 0xc2cac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc300c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc2fff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x578(%rsp), %rdi
callq 0xb6e8
leaq 0x5b8(%rsp), %rdi
callq 0xb6e8
leaq 0x598(%rsp), %rdi
callq 0xb6e8
jmp 0xc3954
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc3937
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc30e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc3087
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x550(%rsp), %rdi
callq 0x1e810
leaq 0x505(%rsp), %rdi
callq 0x1ea60
leaq 0x510(%rsp), %rax
movq %rax, 0x88(%rsp)
addq $0x30, %rax
movq %rax, 0x90(%rsp)
movq 0x90(%rsp), %rdi
addq $-0x30, %rdi
movq %rdi, 0x80(%rsp)
callq 0x1e980
movq 0x88(%rsp), %rcx
movq 0x80(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0x90(%rsp)
jne 0xc30b0
jmp 0xc30e8
leaq 0x507(%rsp), %rdi
callq 0xb3f0
testb $0x1, 0x506(%rsp)
jne 0xc3101
jmp 0xc3147
movq 0x508(%rsp), %rax
leaq 0x510(%rsp), %rcx
cmpq %rax, %rcx
movq %rax, 0x78(%rsp)
je 0xc3145
movq 0x78(%rsp), %rdi
addq $-0x30, %rdi
movq %rdi, 0x70(%rsp)
callq 0x1e980
movq 0x70(%rsp), %rax
leaq 0x510(%rsp), %rcx
cmpq %rcx, %rax
movq %rax, 0x78(%rsp)
jne 0xc311b
jmp 0xc3147
jmp 0xc3937
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc31aa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x4a8(%rsp), %rdi
callq 0x1a950
leaq 0x4b8(%rsp), %rdi
callq 0x1a950
leaq 0x4c8(%rsp), %rdi
callq 0x1a950
leaq 0x4e0(%rsp), %rdi
callq 0xb6e8
leaq 0x4df(%rsp), %rdi
callq 0xb3f0
jmp 0xc38c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc3230
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc3209
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x450(%rsp), %rdi
callq 0xb6e8
leaq 0x44f(%rsp), %rdi
callq 0xb3f0
leaq 0x470(%rsp), %rdi
callq 0x1a950
leaq 0x488(%rsp), %rdi
callq 0xb6e8
leaq 0x487(%rsp), %rdi
callq 0xb3f0
jmp 0xc38c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc38c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc38b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc32ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x3f0(%rsp), %rdi
callq 0xb6e8
leaq 0x3ef(%rsp), %rdi
callq 0xb3f0
jmp 0xc3406
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc32f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x3c8(%rsp), %rdi
callq 0xb6e8
leaq 0x3c7(%rsp), %rdi
callq 0xb3f0
jmp 0xc3406
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc3406
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc3356
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x3a0(%rsp), %rdi
callq 0xb6e8
leaq 0x39f(%rsp), %rdi
callq 0xb3f0
jmp 0xc3406
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc339f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x378(%rsp), %rdi
callq 0xb6e8
leaq 0x377(%rsp), %rdi
callq 0xb3f0
jmp 0xc3406
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc33e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x350(%rsp), %rdi
callq 0xb6e8
leaq 0x34f(%rsp), %rdi
callq 0xb3f0
jmp 0xc3406
leaq 0x418(%rsp), %rdi
callq 0x1e810
jmp 0xc371d
leaq 0x418(%rsp), %rdi
callq 0x1e810
jmp 0xc38b4
movq 0x748(%rsp), %rax
movq %rax, 0x60(%rsp)
leaq 0x327(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0xb690
movq 0x68(%rsp), %rdx
leaq 0x1412c(%rip), %rsi     # 0xd756f
leaq 0x328(%rsp), %rdi
callq 0xb4c0
jmp 0xc3452
movq 0x60(%rsp), %rdi
leaq 0x328(%rsp), %rsi
callq 0x96790
jmp 0xc3466
leaq 0x328(%rsp), %rdi
callq 0xb6e8
leaq 0x327(%rsp), %rdi
callq 0xb3f0
movq 0x748(%rsp), %rax
movq %rax, 0x50(%rsp)
leaq 0x2ff(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0xb690
movq 0x58(%rsp), %rdx
leaq 0x11fce(%rip), %rsi     # 0xd5479
leaq 0x300(%rsp), %rdi
callq 0xb4c0
jmp 0xc34ba
movq 0x50(%rsp), %rdi
leaq 0x300(%rsp), %rsi
callq 0x96750
jmp 0xc34ce
leaq 0x300(%rsp), %rdi
callq 0xb6e8
leaq 0x2ff(%rsp), %rdi
callq 0xb3f0
movq 0x748(%rsp), %rax
movq %rax, 0x48(%rsp)
xorl %eax, %eax
movl %eax, %esi
leaq 0x430(%rsp), %rdi
callq 0x2df60
movq 0x48(%rsp), %rdi
movq %rax, %rsi
callq 0x96750
jmp 0xc3515
movq 0x748(%rsp), %rax
movq %rax, 0x38(%rsp)
leaq 0x2d7(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xb690
movq 0x40(%rsp), %rdx
leaq 0x11d27(%rip), %rsi     # 0xd5267
leaq 0x2d8(%rsp), %rdi
callq 0xb4c0
jmp 0xc354f
movq 0x38(%rsp), %rdi
leaq 0x2d8(%rsp), %rsi
callq 0x96750
jmp 0xc3563
leaq 0x2d8(%rsp), %rdi
callq 0xb6e8
leaq 0x2d7(%rsp), %rdi
callq 0xb3f0
movq 0x748(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x2af(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xb690
movq 0x30(%rsp), %rdx
leaq 0xe8d5(%rip), %rsi      # 0xd1e7d
leaq 0x2b0(%rsp), %rdi
callq 0xb4c0
jmp 0xc35b7
movq 0x28(%rsp), %rdi
leaq 0x2b0(%rsp), %rsi
callq 0x96790
jmp 0xc35cb
leaq 0x2b0(%rsp), %rdi
callq 0xb6e8
leaq 0x2af(%rsp), %rdi
callq 0xb3f0
movq 0x748(%rsp), %rdi
callq 0x99d60
jmp 0xc35f4
jmp 0xc371d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc3630
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x328(%rsp), %rdi
callq 0xb6e8
leaq 0x327(%rsp), %rdi
callq 0xb3f0
jmp 0xc38b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc3679
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x300(%rsp), %rdi
callq 0xb6e8
leaq 0x2ff(%rsp), %rdi
callq 0xb3f0
jmp 0xc38b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc36c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x2d8(%rsp), %rdi
callq 0xb6e8
leaq 0x2d7(%rsp), %rdi
callq 0xb3f0
jmp 0xc38b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc370b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x2b0(%rsp), %rdi
callq 0xb6e8
leaq 0x2af(%rsp), %rdi
callq 0xb3f0
jmp 0xc38b4
movq 0x748(%rsp), %rax
movq %rax, 0x18(%rsp)
leaq 0x287(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xb690
movq 0x20(%rsp), %rdx
leaq 0x11a46(%rip), %rsi     # 0xd518e
leaq 0x288(%rsp), %rdi
callq 0xb4c0
jmp 0xc3757
movq 0x18(%rsp), %rdi
leaq 0x288(%rsp), %rsi
callq 0x96750
jmp 0xc376b
leaq 0x288(%rsp), %rdi
callq 0xb6e8
leaq 0x287(%rsp), %rdi
callq 0xb3f0
movq 0x748(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x25f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xb690
movq 0x10(%rsp), %rdx
leaq 0x13dbf(%rip), %rsi     # 0xd756f
leaq 0x260(%rsp), %rdi
callq 0xb4c0
jmp 0xc37bf
movq 0x8(%rsp), %rdi
leaq 0x260(%rsp), %rsi
callq 0x96790
jmp 0xc37d3
leaq 0x260(%rsp), %rdi
callq 0xb6e8
leaq 0x25f(%rsp), %rdi
callq 0xb3f0
movq 0x748(%rsp), %rdi
callq 0x99d60
jmp 0xc37fc
movq 0x748(%rsp), %rdi
callq 0x2c250
jmp 0xc380b
leaq 0x430(%rsp), %rdi
callq 0x1e810
leaq 0x568(%rsp), %rdi
callq 0x1a950
jmp 0xc38d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc3861
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x288(%rsp), %rdi
callq 0xb6e8
leaq 0x287(%rsp), %rdi
callq 0xb3f0
jmp 0xc38b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
jmp 0xc38a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x708(%rsp)
movl %eax, 0x704(%rsp)
leaq 0x260(%rsp), %rdi
callq 0xb6e8
leaq 0x25f(%rsp), %rdi
callq 0xb3f0
leaq 0x430(%rsp), %rdi
callq 0x1e810
leaq 0x568(%rsp), %rdi
callq 0x1a950
jmp 0xc3937
movq 0x748(%rsp), %rdi
leaq 0x5d8(%rsp), %rsi
callq 0x96790
jmp 0xc38e7
movq 0x748(%rsp), %rdi
callq 0x97930
jmp 0xc38f6
movq 0x250(%rsp), %rdi
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
movq 0x748(%rsp), %rsi
callq 0x97950
jmp 0xc3919
movq 0x748(%rsp), %rdi
callq 0x97a00
jmp 0xc3928
leaq 0x5d8(%rsp), %rdi
callq 0xb6e8
jmp 0xc3946
leaq 0x5d8(%rsp), %rdi
callq 0xb6e8
jmp 0xc3954
jmp 0xc3948
jmp 0xc394a
jmp 0xc394c
addq $0x768, %rsp            # imm = 0x768
retq
movq 0x708(%rsp), %rdi
callq 0xb680
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)