// File: /workspace/github_cpp_makefile_star2_O3/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 %rbx
subq $0x2e0, %rsp            # imm = 0x2E0
leaq 0x8(%rsp), %rdi
callq 0x559bc
leaq 0x2d0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3ba92(%rip), %rsi     # 0x7aa47
leaq 0x3ba90(%rip), %rdx     # 0x7aa4c
leaq 0x2c0(%rsp), %rdi
callq 0xdfa8
leaq 0x5b470(%rip), %rbx     # 0x9a440
movq (%rbx), %rcx
movq 0x8(%rbx), %rax
movq %rcx, 0xd0(%rsp)
movq %rax, 0xd8(%rsp)
testq %rax, %rax
je 0x3f001
movq 0x5afb5(%rip), %rcx     # 0x99fa8
cmpb $0x0, (%rcx)
je 0x3effd
incl 0x8(%rax)
jmp 0x3f001
lock
incl 0x8(%rax)
leaq 0x8(%rsp), %rdi
leaq 0x2c0(%rsp), %rsi
leaq 0xd0(%rsp), %rdx
callq 0x55a08
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0x3f02d
callq 0xdce4
movq 0x2c0(%rsp), %rdi
cmpq %r14, %rdi
je 0x3f03f
callq 0xa2b0
leaq 0x2b0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3bd7c(%rip), %rsi     # 0x7adce
leaq 0x3bd7a(%rip), %rdx     # 0x7add3
leaq 0x2a0(%rsp), %rdi
callq 0xdfa8
movq (%rbx), %rsi
leaq 0xf0(%rsp), %rdi
callq 0x55358
leaq 0x8(%rsp), %rdi
leaq 0x2a0(%rsp), %rsi
leaq 0xf0(%rsp), %rdx
callq 0x55a08
movq 0xf8(%rsp), %rdi
testq %rdi, %rdi
je 0x3f0a2
callq 0xdce4
movq 0x2a0(%rsp), %rdi
cmpq %r14, %rdi
je 0x3f0b4
callq 0xa2b0
leaq 0x100(%rsp), %rdi
leaq 0x8(%rsp), %rsi
xorl %edx, %edx
callq 0x55f2c
movq 0x100(%rsp), %rcx
movq 0x108(%rsp), %rax
xorps %xmm0, %xmm0
movaps %xmm0, 0x100(%rsp)
movq %rcx, 0x5b2b6(%rip)     # 0x9a3a0
movq 0x5b2b7(%rip), %rdi     # 0x9a3a8
movq %rax, 0x5b2b0(%rip)     # 0x9a3a8
testq %rdi, %rdi
je 0x3f11b
callq 0xdce4
movq 0x108(%rsp), %rdi
testq %rdi, %rdi
je 0x3f114
callq 0xdce4
movq 0x5b28d(%rip), %rax     # 0x9a3a8
movq 0x5b27e(%rip), %rcx     # 0x9a3a0
movq %rcx, 0xc0(%rsp)
movq %rax, 0xc8(%rsp)
testq %rax, %rax
je 0x3f14c
movq 0x5ae6a(%rip), %rcx     # 0x99fa8
cmpb $0x0, (%rcx)
je 0x3f148
incl 0x8(%rax)
jmp 0x3f14c
lock
incl 0x8(%rax)
leaq 0x290(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3b8a5(%rip), %rsi     # 0x7aa04
leaq 0x3b8a6(%rip), %rdx     # 0x7aa0c
leaq 0x280(%rsp), %rdi
callq 0xdfa8
leaq 0xc0(%rsp), %rdi
leaq 0x280(%rsp), %rsi
callq 0x2d6d9
movq 0x280(%rsp), %rdi
cmpq %r14, %rdi
je 0x3f19a
callq 0xa2b0
movq 0xc8(%rsp), %rdi
testq %rdi, %rdi
je 0x3f1ac
callq 0xdce4
leaq 0x5b24d(%rip), %r14     # 0x9a400
movq (%r14), %rcx
movq 0x8(%r14), %rax
movq %rcx, 0xb0(%rsp)
movq %rax, 0xb8(%rsp)
testq %rax, %rax
je 0x3f1e4
movq 0x5add2(%rip), %rcx     # 0x99fa8
cmpb $0x0, (%rcx)
je 0x3f1e0
incl 0x8(%rax)
jmp 0x3f1e4
lock
incl 0x8(%rax)
movq (%rbx), %rcx
movq 0x8(%rbx), %rax
movq %rcx, 0xa0(%rsp)
movq %rax, 0xa8(%rsp)
testq %rax, %rax
je 0x3f215
movq 0x5ada1(%rip), %rcx     # 0x99fa8
cmpb $0x0, (%rcx)
je 0x3f211
incl 0x8(%rax)
jmp 0x3f215
lock
incl 0x8(%rax)
movq 0x5b184(%rip), %rax     # 0x9a3a0
movq %rax, 0x90(%rsp)
movq 0x5b17d(%rip), %rax     # 0x9a3a8
movq %rax, 0x98(%rsp)
testq %rax, %rax
je 0x3f24d
movq 0x5ad69(%rip), %rcx     # 0x99fa8
cmpb $0x0, (%rcx)
je 0x3f249
incl 0x8(%rax)
jmp 0x3f24d
lock
incl 0x8(%rax)
xorps %xmm0, %xmm0
leaq 0x260(%rsp), %r8
movaps %xmm0, (%r8)
leaq 0xd091(%rip), %rax      # 0x4c2f4
movq %rax, 0x18(%r8)
leaq 0xd22c(%rip), %rax      # 0x4c49a
movq %rax, 0x10(%r8)
leaq 0x240(%rsp), %r9
movaps %xmm0, (%r9)
leaq 0xd22d(%rip), %rax      # 0x4c4b2
movq %rax, 0x18(%r9)
leaq 0xd320(%rip), %rax      # 0x4c5b0
movq %rax, 0x10(%r9)
leaq 0x3b769(%rip), %rdi     # 0x7aa04
leaq 0xb0(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
leaq 0x90(%rsp), %rcx
callq 0x4f74f
movq 0x250(%rsp), %rax
testq %rax, %rax
je 0x3f2d7
leaq 0x240(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x270(%rsp), %rax
testq %rax, %rax
je 0x3f2f6
leaq 0x260(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x98(%rsp), %rdi
testq %rdi, %rdi
je 0x3f308
callq 0xdce4
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x3f31a
callq 0xdce4
movq 0xb8(%rsp), %rdi
testq %rdi, %rdi
je 0x3f32c
callq 0xdce4
movq 0x5b06d(%rip), %rax     # 0x9a3a0
movq %rax, 0x80(%rsp)
movq 0x5b066(%rip), %rax     # 0x9a3a8
movq %rax, 0x88(%rsp)
testq %rax, %rax
je 0x3f364
movq 0x5ac52(%rip), %rcx     # 0x99fa8
cmpb $0x0, (%rcx)
je 0x3f360
incl 0x8(%rax)
jmp 0x3f364
lock
incl 0x8(%rax)
movq (%r14), %rcx
movq 0x8(%r14), %rax
movq %rcx, 0x70(%rsp)
movq %rax, 0x78(%rsp)
testq %rax, %rax
je 0x3f38f
movq 0x5ac27(%rip), %rcx     # 0x99fa8
cmpb $0x0, (%rcx)
je 0x3f38b
incl 0x8(%rax)
jmp 0x3f38f
lock
incl 0x8(%rax)
movq (%rbx), %rcx
movq 0x8(%rbx), %rax
movq %rcx, 0x60(%rsp)
movq %rax, 0x68(%rsp)
testq %rax, %rax
je 0x3f3ba
movq 0x5abfc(%rip), %rcx     # 0x99fa8
cmpb $0x0, (%rcx)
je 0x3f3b6
incl 0x8(%rax)
jmp 0x3f3ba
lock
incl 0x8(%rax)
xorps %xmm0, %xmm0
leaq 0x220(%rsp), %r8
movaps %xmm0, (%r8)
leaq 0xd1f8(%rip), %rax      # 0x4c5c8
movq %rax, 0x18(%r8)
leaq 0xd2bd(%rip), %rax      # 0x4c698
movq %rax, 0x10(%r8)
leaq 0x200(%rsp), %r9
movaps %xmm0, (%r9)
leaq 0xd2be(%rip), %rax      # 0x4c6b0
movq %rax, 0x18(%r9)
leaq 0xd493(%rip), %rax      # 0x4c890
movq %rax, 0x10(%r9)
leaq 0x3b86b(%rip), %rdi     # 0x7ac73
leaq 0x80(%rsp), %rsi
leaq 0x70(%rsp), %rdx
leaq 0x60(%rsp), %rcx
callq 0x4f74f
movq 0x210(%rsp), %rax
testq %rax, %rax
je 0x3f43e
leaq 0x200(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x230(%rsp), %rax
testq %rax, %rax
je 0x3f45d
leaq 0x220(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x3f46c
callq 0xdce4
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x3f47b
callq 0xdce4
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x3f48d
callq 0xdce4
movq 0x5af0c(%rip), %rax     # 0x9a3a0
movq %rax, 0x50(%rsp)
movq 0x5af08(%rip), %rax     # 0x9a3a8
movq %rax, 0x58(%rsp)
testq %rax, %rax
je 0x3f4bf
movq 0x5aaf7(%rip), %rcx     # 0x99fa8
cmpb $0x0, (%rcx)
je 0x3f4bb
incl 0x8(%rax)
jmp 0x3f4bf
lock
incl 0x8(%rax)
movq (%rbx), %rdx
movq 0x8(%rbx), %rax
movq %rdx, 0x40(%rsp)
movq %rax, 0x48(%rsp)
testq %rax, %rax
je 0x3f4f0
movq 0x5aacc(%rip), %rcx     # 0x99fa8
cmpb $0x0, (%rcx)
je 0x3f500
incl 0x8(%rax)
movq %rdx, 0x10(%rsp)
movq %rax, 0x18(%rsp)
jmp 0x3f51a
movq %rdx, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
jmp 0x3f528
lock
incl 0x8(%rax)
movq (%rbx), %rdx
movq 0x8(%rbx), %rax
movq %rdx, 0x10(%rsp)
movq %rax, 0x18(%rsp)
testq %rax, %rax
je 0x3f528
cmpb $0x0, (%rcx)
je 0x3f524
incl 0x8(%rax)
jmp 0x3f528
lock
incl 0x8(%rax)
xorps %xmm0, %xmm0
leaq 0x1e0(%rsp), %r8
movaps %xmm0, (%r8)
leaq 0xd36a(%rip), %rax      # 0x4c8a8
movq %rax, 0x18(%r8)
leaq 0xd719(%rip), %rax      # 0x4cc62
movq %rax, 0x10(%r8)
leaq 0x1c0(%rsp), %r9
movaps %xmm0, (%r9)
leaq 0xd71a(%rip), %rax      # 0x4cc7a
movq %rax, 0x18(%r9)
leaq 0xd99b(%rip), %rax      # 0x4cf06
movq %rax, 0x10(%r9)
leaq 0x3b718(%rip), %rdi     # 0x7ac8e
leaq 0x50(%rsp), %rsi
leaq 0x40(%rsp), %rdx
leaq 0x10(%rsp), %rcx
callq 0x4f74f
movq 0x1d0(%rsp), %rax
testq %rax, %rax
je 0x3f5a9
leaq 0x1c0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x1f0(%rsp), %rax
testq %rax, %rax
je 0x3f5c8
leaq 0x1e0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x3f5d7
callq 0xdce4
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x3f5e6
callq 0xdce4
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x3f5f5
callq 0xdce4
movq 0x5ada4(%rip), %rax     # 0x9a3a0
movq %rax, 0x30(%rsp)
movq 0x5ada0(%rip), %rax     # 0x9a3a8
movq %rax, 0x38(%rsp)
testq %rax, %rax
je 0x3f627
movq 0x5a98f(%rip), %rcx     # 0x99fa8
cmpb $0x0, (%rcx)
je 0x3f623
incl 0x8(%rax)
jmp 0x3f627
lock
incl 0x8(%rax)
leaq 0x110(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b798(%rip), %rsi     # 0x7add2
leaq 0x3b792(%rip), %rdx     # 0x7add3
leaq 0x100(%rsp), %rdi
callq 0xdfa8
movq (%rbx), %rcx
movq 0x8(%rbx), %rax
movq %rcx, 0x120(%rsp)
movq %rax, 0x128(%rsp)
testq %rax, %rax
je 0x3f67f
movq 0x5a937(%rip), %rcx     # 0x99fa8
cmpb $0x0, (%rcx)
je 0x3f67b
incl 0x8(%rax)
jmp 0x3f67f
lock
incl 0x8(%rax)
leaq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3ace1(%rip), %rsi     # 0x7a37b
leaq 0x3acdb(%rip), %rdx     # 0x7a37c
callq 0xdfa8
movq (%rbx), %rcx
movq 0x8(%rbx), %rax
movq %rcx, 0x150(%rsp)
movq %rax, 0x158(%rsp)
testq %rax, %rax
je 0x3f6d7
movq 0x5a8df(%rip), %rcx     # 0x99fa8
cmpb $0x0, (%rcx)
je 0x3f6d3
incl 0x8(%rax)
jmp 0x3f6d7
lock
incl 0x8(%rax)
leaq 0x168(%rsp), %rdi
leaq 0x100(%rsp), %rsi
leaq 0x7(%rsp), %rcx
movl $0x2, %edx
callq 0x4f464
leaq 0xe0(%rsp), %rdi
leaq 0x168(%rsp), %rsi
movl $0x1, %edx
callq 0x558e7
movq (%r14), %rcx
movq 0x8(%r14), %rax
movq %rcx, 0x20(%rsp)
movq %rax, 0x28(%rsp)
testq %rax, %rax
je 0x3f73b
movq 0x5a87b(%rip), %rcx     # 0x99fa8
cmpb $0x0, (%rcx)
je 0x3f737
incl 0x8(%rax)
jmp 0x3f73b
lock
incl 0x8(%rax)
xorps %xmm0, %xmm0
leaq 0x1a0(%rsp), %r8
movaps %xmm0, (%r8)
leaq 0xd7cd(%rip), %rax      # 0x4cf1e
movq %rax, 0x18(%r8)
leaq 0xde16(%rip), %rax      # 0x4d572
movq %rax, 0x10(%r8)
leaq 0x180(%rsp), %r9
movaps %xmm0, (%r9)
leaq 0xde17(%rip), %rax      # 0x4d58a
movq %rax, 0x18(%r9)
leaq 0xe3f8(%rip), %rax      # 0x4db76
movq %rax, 0x10(%r9)
leaq 0x37f01(%rip), %rdi     # 0x7768a
leaq 0x30(%rsp), %rsi
leaq 0xe0(%rsp), %rdx
leaq 0x20(%rsp), %rcx
callq 0x4f74f
movq 0x190(%rsp), %rax
testq %rax, %rax
je 0x3f7bf
leaq 0x180(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x1b0(%rsp), %rax
testq %rax, %rax
je 0x3f7de
leaq 0x1a0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x3f7ed
callq 0xdce4
movq 0xe8(%rsp), %rdi
testq %rdi, %rdi
je 0x3f7ff
callq 0xdce4
leaq 0x168(%rsp), %rdi
callq 0x16c9e
xorl %ebx, %ebx
movq 0x158(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x3f820
callq 0xdce4
movq 0x130(%rsp,%rbx), %rdi
leaq (%r15,%rbx), %rax
cmpq %rdi, %rax
je 0x3f836
callq 0xa2b0
addq $-0x30, %rbx
cmpq $-0x60, %rbx
jne 0x3f80e
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x3f84f
callq 0xdce4
movq 0x8(%rsp), %rbx
testq %rbx, %rbx
je 0x3f869
movq %rbx, %rdi
callq 0x16c9e
movq %rbx, %rdi
callq 0xa2b0
addq $0x2e0, %rsp            # imm = 0x2E0
popq %rbx
popq %r14
popq %r15
retq
jmp 0x3fab6
jmp 0x3fab6
jmp 0x3fab6
jmp 0x3fab6
jmp 0x3fab6
jmp 0x3fab6
jmp 0x3fab6
jmp 0x3fab6
movq %rax, %rbx
movq 0x190(%rsp), %rax
testq %rax, %rax
je 0x3f8c0
leaq 0x180(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x1b0(%rsp), %rax
testq %rax, %rax
je 0x3f8df
leaq 0x1a0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x3f8ee
callq 0xdce4
movq 0xe8(%rsp), %rdi
testq %rdi, %rdi
je 0x3f90f
callq 0xdce4
jmp 0x3f90f
jmp 0x3fab6
jmp 0x3fab6
movq %rax, %rbx
leaq 0x168(%rsp), %rdi
callq 0x16c9e
jmp 0x3f921
movq %rax, %rbx
movl $0x30, %r14d
leaq (%rsp,%r14), %rdi
addq $0x100, %rdi            # imm = 0x100
callq 0x1e6c6
addq $-0x30, %r14
cmpq $-0x30, %r14
jne 0x3f927
jmp 0x3f958
movq %rax, %rbx
leaq 0x100(%rsp), %rdi
callq 0x1e6c6
jmp 0x3f958
movq %rax, %rbx
movq 0x38(%rsp), %rdi
jmp 0x3fae0
movq %rax, %rbx
movq 0x1d0(%rsp), %rax
testq %rax, %rax
je 0x3f984
leaq 0x1c0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x1f0(%rsp), %rax
testq %rax, %rax
je 0x3f9a3
leaq 0x1e0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x3f9b2
callq 0xdce4
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x3f9c1
callq 0xdce4
movq 0x58(%rsp), %rdi
jmp 0x3fae0
jmp 0x3fab6
jmp 0x3fab6
movq %rax, %rbx
movq 0x210(%rsp), %rax
testq %rax, %rax
je 0x3f9f7
leaq 0x200(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x230(%rsp), %rax
testq %rax, %rax
je 0x3fa16
leaq 0x220(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x3fa25
callq 0xdce4
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x3fa34
callq 0xdce4
movq 0x88(%rsp), %rdi
jmp 0x3fae0
jmp 0x3fab6
jmp 0x3fab6
movq %rax, %rbx
movq 0x250(%rsp), %rax
testq %rax, %rax
je 0x3fa67
leaq 0x240(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x270(%rsp), %rax
testq %rax, %rax
je 0x3fa86
leaq 0x260(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x98(%rsp), %rdi
testq %rdi, %rdi
je 0x3fa98
callq 0xdce4
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x3faaa
callq 0xdce4
movq 0xb8(%rsp), %rdi
jmp 0x3fae0
jmp 0x3fab6
movq %rax, %rdi
callq 0xdcd8
movq %rax, %rbx
movq 0x280(%rsp), %rdi
cmpq %r14, %rdi
je 0x3fad8
callq 0xa2b0
jmp 0x3fad8
movq %rax, %rbx
movq 0xc8(%rsp), %rdi
testq %rdi, %rdi
je 0x3fb40
callq 0xdce4
jmp 0x3fb40
jmp 0x3fb3d
movq %rax, %rbx
movq 0xf8(%rsp), %rdi
testq %rdi, %rdi
je 0x3fb08
callq 0xdce4
jmp 0x3fb08
movq %rax, %rbx
movq 0x2a0(%rsp), %rdi
jmp 0x3fb31
jmp 0x3fb3d
movq %rax, %rbx
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0x3fb29
callq 0xdce4
movq 0x2c0(%rsp), %rdi
cmpq %r14, %rdi
je 0x3fb40
callq 0xa2b0
jmp 0x3fb40
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x16c70
movq %rbx, %rdi
callq 0xa510