// File: /workspace/github_cpp_makefile_star2_O1/menhits[P]phplus/src/PhplusStdLib.cpp
// Function: populateIntArrayAndFuncs()
void populateIntArrayAndFuncs()
{
	TupleTypeMaker maker;
	maker.add("_size", Int);
	maker.add("_data", Int->getPtr());
	IntArray=maker.get(false);
	
	addType(IntArray, "IntArray");
	
	//func("IntArray", IntArray, Void, Int,
	//	retrn Tuple(right, (double)((int*)malloc(Int->getSize()*right)));
	//);
	
	addAction("IntArray", Void, Int, IntArray, LAMBDA_HEADER
		{
			char* out=(char*)malloc(IntArray->getSize());
			int sizeIn=*(int*)rightIn;
			int* intPtrData=(int *)malloc(Int->getSize()*sizeIn);
			setValInTuple<int>(out, IntArray, "_size", sizeIn);
			setValInTuple<int *>(out, IntArray, "_data", intPtrData);
			return out;
		},
		ADD_CPP_HEADER
		{
			addToProgMakeIntArray(prog);
			prog->name("$makeIntArray");
			prog->pushExpr();
				right->addToProg(prog);
			prog->popExpr();
		}
	);
	
	addAction("len", IntArray, Void, Int,
		LAMBDA_HEADER
		{
			int* out=(int*)malloc(sizeof(int));
			*out=getValFromTuple<int>(leftIn, IntArray, "_size");
			return out;
		},
		ADD_CPP_HEADER
		{
			getElemFromTupleAction(IntArray, "_size")->addToProg(left, voidAction, prog);
		}
	);
	
	addAction("get", IntArray, Int, Int, LAMBDA_HEADER
		{
			int pos=*(int*)rightIn;
			int size=getValFromTuple<int>(leftIn, IntArray, "_size");
			if (pos<0 || pos>=size)
				throw PhplusError("tried to acces position "+to_string(pos)+" of array "+to_string(size)+" long", RUNTIME_ERROR);
			int* arrayPtr=getValFromTuple<int*>(leftIn, IntArray, "_data");
			int val=*(arrayPtr+pos);
			int* out=(int*)malloc(sizeof(int));
			*out=val;
			return out;
		},
		ADD_CPP_HEADER
		{
			getElemFromTupleAction(IntArray, "_data")->addToProg(left, voidAction, prog);
			prog->code("[");
			prog->pushExpr();
				right->addToProg(prog);
			prog->popExpr();
			prog->code("]");
		}
	);
	
	addAction("set", IntArray, PNCN_Tuple(Int, Int), Void,
		LAMBDA_HEADER
		{
			Type rightType=PNCN_Tuple(Int, Int);
			int pos=getValFromTuple<int>(rightIn, rightType, "a");
			int size=getValFromTuple<int>(leftIn, IntArray, "_size");
			if (pos<0 || pos>=size)
				throw PhplusError("tried to set value at position "+to_string(pos)+" of array "+to_string(size)+" long", RUNTIME_ERROR);
			int val=getValFromTuple<int>(rightIn, rightType, "b");
			int* arrayPtr=getValFromTuple<int*>(leftIn, IntArray, "_data");
			*(arrayPtr+pos)=val;
			return nullptr;
		},
		ADD_CPP_HEADER
		{
			getElemFromTupleAction(IntArray, "_data")->addToProg(left, voidAction, prog);
			prog->code("[");
			prog->pushExpr();
				getElemFromTupleAction(right->getReturnType(), "a")->addToProg(right, voidAction, prog);
			prog->popExpr();
			prog->code("]");
			prog->code(" = ");
			getElemFromTupleAction(right->getReturnType(), "b")->addToProg(right, voidAction, prog);
		}
	);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2e0, %rsp            # imm = 0x2E0
leaq 0x8(%rsp), %rdi
callq 0x54d88
leaq 0x2d0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3b81a(%rip), %rsi     # 0x79a87
leaq 0x3b818(%rip), %rdx     # 0x79a8c
leaq 0x2c0(%rsp), %rdi
callq 0xdf6a
leaq 0x5b1b8(%rip), %rbx     # 0x99440
movq (%rbx), %rcx
movq 0x8(%rbx), %rax
movq %rcx, 0xd0(%rsp)
movq %rax, 0xd8(%rsp)
testq %rax, %rax
je 0x3e2b9
movq 0x5acfd(%rip), %rcx     # 0x98fa8
cmpb $0x0, (%rcx)
je 0x3e2b5
incl 0x8(%rax)
jmp 0x3e2b9
lock
incl 0x8(%rax)
leaq 0x8(%rsp), %rdi
leaq 0x2c0(%rsp), %rsi
leaq 0xd0(%rsp), %rdx
callq 0x54dd4
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0x3e2e5
callq 0xdcba
movq 0x2c0(%rsp), %rdi
cmpq %r14, %rdi
je 0x3e2f7
callq 0xa2b0
leaq 0x2b0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3bb04(%rip), %rsi     # 0x79e0e
leaq 0x3bb02(%rip), %rdx     # 0x79e13
leaq 0x2a0(%rsp), %rdi
callq 0xdf6a
movq (%rbx), %rsi
leaq 0xf0(%rsp), %rdi
callq 0x546ca
leaq 0x8(%rsp), %rdi
leaq 0x2a0(%rsp), %rsi
leaq 0xf0(%rsp), %rdx
callq 0x54dd4
movq 0xf8(%rsp), %rdi
testq %rdi, %rdi
je 0x3e35a
callq 0xdcba
movq 0x2a0(%rsp), %rdi
cmpq %r14, %rdi
je 0x3e36c
callq 0xa2b0
leaq 0x100(%rsp), %rdi
leaq 0x8(%rsp), %rsi
xorl %edx, %edx
callq 0x55306
movaps 0x100(%rsp), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, 0x100(%rsp)
movq 0x5b00e(%rip), %rdi     # 0x993a8
movaps %xmm0, 0x5afff(%rip)    # 0x993a0
testq %rdi, %rdi
je 0x3e3ab
callq 0xdcba
movq 0x108(%rsp), %rdi
testq %rdi, %rdi
je 0x3e3bd
callq 0xdcba
movq 0x5afdc(%rip), %rax     # 0x993a0
movq %rax, 0xc0(%rsp)
movq 0x5afd5(%rip), %rax     # 0x993a8
movq %rax, 0xc8(%rsp)
testq %rax, %rax
je 0x3e3f5
movq 0x5abc1(%rip), %rcx     # 0x98fa8
cmpb $0x0, (%rcx)
je 0x3e3f1
incl 0x8(%rax)
jmp 0x3e3f5
lock
incl 0x8(%rax)
leaq 0x290(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3b63c(%rip), %rsi     # 0x79a44
leaq 0x3b63d(%rip), %rdx     # 0x79a4c
leaq 0x280(%rsp), %rdi
callq 0xdf6a
leaq 0xc0(%rsp), %rdi
leaq 0x280(%rsp), %rsi
callq 0x2d3fd
movq 0x280(%rsp), %rdi
cmpq %r14, %rdi
je 0x3e443
callq 0xa2b0
movq 0xc8(%rsp), %rdi
testq %rdi, %rdi
je 0x3e455
callq 0xdcba
leaq 0x5afa4(%rip), %r12     # 0x99400
movq (%r12), %rcx
movq 0x8(%r12), %rax
movq %rcx, 0xb0(%rsp)
movq %rax, 0xb8(%rsp)
testq %rax, %rax
je 0x3e48f
movq 0x5ab27(%rip), %rcx     # 0x98fa8
cmpb $0x0, (%rcx)
je 0x3e48b
incl 0x8(%rax)
jmp 0x3e48f
lock
incl 0x8(%rax)
movq (%rbx), %rcx
movq 0x8(%rbx), %rax
movq %rcx, 0xa0(%rsp)
movq %rax, 0xa8(%rsp)
testq %rax, %rax
je 0x3e4c0
movq 0x5aaf6(%rip), %rcx     # 0x98fa8
cmpb $0x0, (%rcx)
je 0x3e4bc
incl 0x8(%rax)
jmp 0x3e4c0
lock
incl 0x8(%rax)
movq 0x5aed9(%rip), %rax     # 0x993a0
movq %rax, 0x90(%rsp)
movq 0x5aed2(%rip), %rax     # 0x993a8
movq %rax, 0x98(%rsp)
testq %rax, %rax
je 0x3e4f8
movq 0x5aabe(%rip), %rcx     # 0x98fa8
cmpb $0x0, (%rcx)
je 0x3e4f4
incl 0x8(%rax)
jmp 0x3e4f8
lock
incl 0x8(%rax)
xorps %xmm0, %xmm0
leaq 0x260(%rsp), %r8
movaps %xmm0, (%r8)
leaq 0xd064(%rip), %rax      # 0x4b572
movq %rax, 0x18(%r8)
leaq 0xd1ff(%rip), %rax      # 0x4b718
movq %rax, 0x10(%r8)
leaq 0x240(%rsp), %r9
movaps %xmm0, (%r9)
leaq 0xd200(%rip), %rax      # 0x4b730
movq %rax, 0x18(%r9)
leaq 0xd2f3(%rip), %rax      # 0x4b82e
movq %rax, 0x10(%r9)
leaq 0x3b4fe(%rip), %rdi     # 0x79a44
leaq 0xb0(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
leaq 0x90(%rsp), %rcx
callq 0x4e977
movq 0x250(%rsp), %rax
testq %rax, %rax
je 0x3e582
leaq 0x240(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x270(%rsp), %rax
testq %rax, %rax
je 0x3e5a1
leaq 0x260(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x98(%rsp), %rdi
testq %rdi, %rdi
je 0x3e5b3
callq 0xdcba
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x3e5c5
callq 0xdcba
movq 0xb8(%rsp), %rdi
testq %rdi, %rdi
je 0x3e5d7
callq 0xdcba
movq 0x5adc2(%rip), %rax     # 0x993a0
movq %rax, 0x80(%rsp)
movq 0x5adbb(%rip), %rax     # 0x993a8
movq %rax, 0x88(%rsp)
testq %rax, %rax
je 0x3e60f
movq 0x5a9a7(%rip), %rcx     # 0x98fa8
cmpb $0x0, (%rcx)
je 0x3e60b
incl 0x8(%rax)
jmp 0x3e60f
lock
incl 0x8(%rax)
movq (%r12), %rcx
movq 0x8(%r12), %rax
movq %rcx, 0x70(%rsp)
movq %rax, 0x78(%rsp)
testq %rax, %rax
je 0x3e63c
movq 0x5a97a(%rip), %rcx     # 0x98fa8
cmpb $0x0, (%rcx)
je 0x3e638
incl 0x8(%rax)
jmp 0x3e63c
lock
incl 0x8(%rax)
movq (%rbx), %rcx
movq 0x8(%rbx), %rax
movq %rcx, 0x60(%rsp)
movq %rax, 0x68(%rsp)
testq %rax, %rax
je 0x3e667
movq 0x5a94f(%rip), %rcx     # 0x98fa8
cmpb $0x0, (%rcx)
je 0x3e663
incl 0x8(%rax)
jmp 0x3e667
lock
incl 0x8(%rax)
xorps %xmm0, %xmm0
leaq 0x220(%rsp), %r8
movaps %xmm0, (%r8)
leaq 0xd1c9(%rip), %rax      # 0x4b846
movq %rax, 0x18(%r8)
leaq 0xd28e(%rip), %rax      # 0x4b916
movq %rax, 0x10(%r8)
leaq 0x200(%rsp), %r9
movaps %xmm0, (%r9)
leaq 0xd28f(%rip), %rax      # 0x4b92e
movq %rax, 0x18(%r9)
leaq 0xd464(%rip), %rax      # 0x4bb0e
movq %rax, 0x10(%r9)
leaq 0x3b5fe(%rip), %rdi     # 0x79cb3
leaq 0x80(%rsp), %rsi
leaq 0x70(%rsp), %rdx
leaq 0x60(%rsp), %rcx
callq 0x4e977
movq 0x210(%rsp), %rax
testq %rax, %rax
je 0x3e6eb
leaq 0x200(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x230(%rsp), %rax
testq %rax, %rax
je 0x3e70a
leaq 0x220(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x3e719
callq 0xdcba
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x3e728
callq 0xdcba
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x3e73a
callq 0xdcba
movq 0x5ac5f(%rip), %rax     # 0x993a0
movq %rax, 0x50(%rsp)
movq 0x5ac5b(%rip), %rax     # 0x993a8
movq %rax, 0x58(%rsp)
testq %rax, %rax
je 0x3e76c
movq 0x5a84a(%rip), %rcx     # 0x98fa8
cmpb $0x0, (%rcx)
je 0x3e768
incl 0x8(%rax)
jmp 0x3e76c
lock
incl 0x8(%rax)
movq (%rbx), %rcx
movq 0x8(%rbx), %rax
movq %rcx, 0x40(%rsp)
movq %rax, 0x48(%rsp)
testq %rax, %rax
je 0x3e797
movq 0x5a81f(%rip), %rcx     # 0x98fa8
cmpb $0x0, (%rcx)
je 0x3e793
incl 0x8(%rax)
jmp 0x3e797
lock
incl 0x8(%rax)
movq (%rbx), %rcx
movq 0x8(%rbx), %rax
movq %rcx, 0x30(%rsp)
movq %rax, 0x38(%rsp)
testq %rax, %rax
je 0x3e7c2
movq 0x5a7f4(%rip), %rcx     # 0x98fa8
cmpb $0x0, (%rcx)
je 0x3e7be
incl 0x8(%rax)
jmp 0x3e7c2
lock
incl 0x8(%rax)
xorps %xmm0, %xmm0
leaq 0x1e0(%rsp), %r8
movaps %xmm0, (%r8)
leaq 0xd34e(%rip), %rax      # 0x4bb26
movq %rax, 0x18(%r8)
leaq 0xd6ed(%rip), %rax      # 0x4bed0
movq %rax, 0x10(%r8)
leaq 0x1c0(%rsp), %r9
movaps %xmm0, (%r9)
leaq 0xd6ee(%rip), %rax      # 0x4bee8
movq %rax, 0x18(%r9)
leaq 0xd96f(%rip), %rax      # 0x4c174
movq %rax, 0x10(%r9)
leaq 0x3b4be(%rip), %rdi     # 0x79cce
leaq 0x50(%rsp), %rsi
leaq 0x40(%rsp), %rdx
leaq 0x30(%rsp), %rcx
callq 0x4e977
movq 0x1d0(%rsp), %rax
testq %rax, %rax
je 0x3e843
leaq 0x1c0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x1f0(%rsp), %rax
testq %rax, %rax
je 0x3e862
leaq 0x1e0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x3e871
callq 0xdcba
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x3e880
callq 0xdcba
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x3e88f
callq 0xdcba
movq 0x5ab0a(%rip), %rax     # 0x993a0
movq %rax, 0x20(%rsp)
movq 0x5ab06(%rip), %rax     # 0x993a8
movq %rax, 0x28(%rsp)
testq %rax, %rax
je 0x3e8c1
movq 0x5a6f5(%rip), %rcx     # 0x98fa8
cmpb $0x0, (%rcx)
je 0x3e8bd
incl 0x8(%rax)
jmp 0x3e8c1
lock
incl 0x8(%rax)
leaq 0x110(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b53e(%rip), %rsi     # 0x79e12
leaq 0x3b538(%rip), %rdx     # 0x79e13
leaq 0x100(%rsp), %r14
movq %r14, %rdi
callq 0xdf6a
movq (%rbx), %rcx
movq 0x8(%rbx), %rax
movq %rcx, 0x120(%rsp)
movq %rax, 0x128(%rsp)
testq %rax, %rax
je 0x3e91c
movq 0x5a69a(%rip), %rcx     # 0x98fa8
cmpb $0x0, (%rcx)
je 0x3e918
incl 0x8(%rax)
jmp 0x3e91c
lock
incl 0x8(%rax)
leaq 0x130(%rsp), %r15
leaq 0x140(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x3aa84(%rip), %rsi     # 0x793bb
leaq 0x3aa7e(%rip), %rdx     # 0x793bc
movq %r15, %rdi
callq 0xdf6a
movq (%rbx), %rcx
movq 0x8(%rbx), %rax
movq %rcx, 0x150(%rsp)
movq %rax, 0x158(%rsp)
testq %rax, %rax
je 0x3e977
movq 0x5a63f(%rip), %rcx     # 0x98fa8
cmpb $0x0, (%rcx)
je 0x3e973
incl 0x8(%rax)
jmp 0x3e977
lock
incl 0x8(%rax)
leaq 0x168(%rsp), %rdi
leaq 0x100(%rsp), %rsi
leaq 0x7(%rsp), %rcx
movl $0x2, %edx
callq 0x4e69c
leaq 0xe0(%rsp), %rdi
leaq 0x168(%rsp), %rsi
movl $0x1, %edx
callq 0x54c80
movq (%r12), %rcx
movq 0x8(%r12), %rax
movq %rcx, 0x10(%rsp)
movq %rax, 0x18(%rsp)
testq %rax, %rax
je 0x3e9dd
movq 0x5a5d9(%rip), %rcx     # 0x98fa8
cmpb $0x0, (%rcx)
je 0x3e9d9
incl 0x8(%rax)
jmp 0x3e9dd
lock
incl 0x8(%rax)
xorps %xmm0, %xmm0
leaq 0x1a0(%rsp), %r8
movaps %xmm0, (%r8)
leaq 0xd799(%rip), %rax      # 0x4c18c
movq %rax, 0x18(%r8)
leaq 0xddca(%rip), %rax      # 0x4c7c8
movq %rax, 0x10(%r8)
leaq 0x180(%rsp), %r9
movaps %xmm0, (%r9)
leaq 0xddcb(%rip), %rax      # 0x4c7e0
movq %rax, 0x18(%r9)
leaq 0xe3ac(%rip), %rax      # 0x4cdcc
movq %rax, 0x10(%r9)
leaq 0x37c5f(%rip), %rdi     # 0x7668a
leaq 0x20(%rsp), %rsi
leaq 0xe0(%rsp), %rdx
leaq 0x10(%rsp), %rcx
callq 0x4e977
movq 0x190(%rsp), %rax
testq %rax, %rax
je 0x3ea61
leaq 0x180(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x1b0(%rsp), %rax
testq %rax, %rax
je 0x3ea80
leaq 0x1a0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x3ea8f
callq 0xdcba
movq 0xe8(%rsp), %rdi
testq %rdi, %rdi
je 0x3eaa1
callq 0xdcba
leaq 0x168(%rsp), %rdi
callq 0x16a16
xorl %ebx, %ebx
movq 0x158(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x3eac2
callq 0xdcba
movq 0x130(%rsp,%rbx), %rdi
leaq (%rbx,%r13), %rax
cmpq %rdi, %rax
je 0x3ead8
callq 0xa2b0
addq $-0x30, %rbx
cmpq $-0x60, %rbx
jne 0x3eab0
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x3eaf1
callq 0xdcba
movq 0x8(%rsp), %rbx
testq %rbx, %rbx
je 0x3eb0b
movq %rbx, %rdi
callq 0x16a16
movq %rbx, %rdi
callq 0xa2b0
addq $0x2e0, %rsp            # imm = 0x2E0
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
jmp 0x3ed7b
jmp 0x3ed7b
jmp 0x3ed7b
jmp 0x3ed7b
jmp 0x3ed7b
jmp 0x3ed7b
jmp 0x3ed7b
jmp 0x3ed7b
movq %rax, %rbx
movq 0x190(%rsp), %rax
testq %rax, %rax
je 0x3eb66
leaq 0x180(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x1b0(%rsp), %rax
testq %rax, %rax
je 0x3eb85
leaq 0x1a0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x3eb94
callq 0xdcba
movq 0xe8(%rsp), %rdi
testq %rdi, %rdi
je 0x3ebb5
callq 0xdcba
jmp 0x3ebb5
jmp 0x3ed7b
jmp 0x3ed7b
movq %rax, %rbx
leaq 0x168(%rsp), %rdi
callq 0x16a16
jmp 0x3ebc7
movq %rax, %rbx
movl $0x30, %r12d
leaq (%rsp,%r12), %rdi
addq $0x100, %rdi            # imm = 0x100
callq 0x1e354
addq $-0x30, %r12
cmpq $-0x30, %r12
jne 0x3ebcd
movb $0x1, %al
jmp 0x3ebfa
movq %rax, %rbx
xorl %eax, %eax
jmp 0x3ebfa
movq %rax, %rbx
xorl %eax, %eax
movq %r14, %r15
cmpq %r15, %r14
sete %cl
orb %al, %cl
jne 0x3ec1d
leaq 0x100(%rsp), %r14
addq $-0x30, %r15
movq %r15, %rdi
callq 0x1e354
cmpq %r14, %r15
jne 0x3ec0c
movq 0x28(%rsp), %rdi
jmp 0x3eda5
movq %rax, %rbx
movq 0x1d0(%rsp), %rax
testq %rax, %rax
je 0x3ec49
leaq 0x1c0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x1f0(%rsp), %rax
testq %rax, %rax
je 0x3ec68
leaq 0x1e0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x3ec77
callq 0xdcba
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x3ec86
callq 0xdcba
movq 0x58(%rsp), %rdi
jmp 0x3eda5
jmp 0x3ed7b
jmp 0x3ed7b
movq %rax, %rbx
movq 0x210(%rsp), %rax
testq %rax, %rax
je 0x3ecbc
leaq 0x200(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x230(%rsp), %rax
testq %rax, %rax
je 0x3ecdb
leaq 0x220(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x3ecea
callq 0xdcba
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x3ecf9
callq 0xdcba
movq 0x88(%rsp), %rdi
jmp 0x3eda5
jmp 0x3ed7b
jmp 0x3ed7b
movq %rax, %rbx
movq 0x250(%rsp), %rax
testq %rax, %rax
je 0x3ed2c
leaq 0x240(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x270(%rsp), %rax
testq %rax, %rax
je 0x3ed4b
leaq 0x260(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x98(%rsp), %rdi
testq %rdi, %rdi
je 0x3ed5d
callq 0xdcba
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x3ed6f
callq 0xdcba
movq 0xb8(%rsp), %rdi
jmp 0x3eda5
jmp 0x3ed7b
movq %rax, %rdi
callq 0xdcaf
movq %rax, %rbx
movq 0x280(%rsp), %rdi
cmpq %r14, %rdi
je 0x3ed9d
callq 0xa2b0
jmp 0x3ed9d
movq %rax, %rbx
movq 0xc8(%rsp), %rdi
testq %rdi, %rdi
je 0x3ee05
callq 0xdcba
jmp 0x3ee05
jmp 0x3ee02
movq %rax, %rbx
movq 0xf8(%rsp), %rdi
testq %rdi, %rdi
je 0x3edcd
callq 0xdcba
jmp 0x3edcd
movq %rax, %rbx
movq 0x2a0(%rsp), %rdi
jmp 0x3edf6
jmp 0x3ee02
movq %rax, %rbx
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0x3edee
callq 0xdcba
movq 0x2c0(%rsp), %rdi
cmpq %r14, %rdi
je 0x3ee05
callq 0xa2b0
jmp 0x3ee05
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x169e8
movq %rbx, %rdi
callq 0xa510