// File: /workspace/github_cpp_makefile_star2_O2/gjoni[P]iPot/src/aace20.cpp
// Function: main
int main(int argc, char *argv[]) {

	/*
	 * (0) default energies (dmax=8.0A, kmin=5)
	 */
	const std::vector<double> h = {
		-2.53987e-01, -9.55884e-01, -5.46483e-01, -1.08783e+00, 2.44429e+00, -6.87903e-01, -1.49183e+00, 2.93111e-02, 2.50783e-01, 4.91162e-01, -3.29373e-01, -1.31334e+00, 1.34866e+00, 6.75723e-01, -3.23257e-01, -3.44367e-01, -2.33644e-01, 1.44822e+00, 4.81086e-01, 3.98668e-01
		};
	const std::vector<std::vector<double> > J = {
		{-3.71344e-02, 2.20701e-02, 3.18455e-02, 4.25143e-02, -1.70926e-02, 2.72930e-02, 5.31908e-02, -1.09550e-02, 1.51750e-02, -2.50904e-02, -2.44321e-02, 5.83197e-02, -1.67545e-02, -2.23743e-02, 1.17130e-02, 1.58646e-02, 2.23153e-03, -1.83572e-02, -1.00922e-02, -3.45738e-02 }, 
		{2.20701e-02, 4.17913e-02, 2.35753e-02, -4.54994e-02, 6.74010e-03, 2.35367e-02, -3.64684e-02, 4.90331e-03, 1.91966e-02, 2.34500e-02, 1.47213e-02, 9.72731e-02, 1.87448e-02, 2.50172e-03, 7.67610e-03, 1.49948e-02, 1.52291e-02, -1.92884e-02, -5.63319e-03, 1.44502e-02 }, 
		{3.18455e-02, 2.35753e-02, -3.42614e-02, 2.30339e-03, 1.67872e-03, 1.10331e-02, 3.34489e-02, -1.45569e-02, 7.83230e-03, 2.43254e-02, 4.55619e-02, 1.70446e-02, 1.80039e-02, 1.04812e-02, 9.19486e-03, -1.10260e-02, -6.26871e-03, -3.45688e-04, -4.06967e-03, 2.82638e-02 }, 
		{4.25143e-02, -4.54994e-02, 2.30339e-03, 6.08578e-02, 2.50615e-02, 3.57055e-02, 9.73346e-02, 1.79198e-03, -2.34830e-02, 4.56089e-02, 6.02836e-02, -3.07495e-02, 3.81317e-02, 3.25073e-02, 2.35846e-02, 4.29256e-03, 8.42867e-03, 6.45287e-03, 1.55564e-03, 3.85644e-02 }, 
		{-1.70926e-02, 6.74010e-03, 1.67872e-03, 2.50615e-02, -2.62680e-01, 5.37286e-03, 3.36006e-02, -2.16083e-02, -2.38917e-02, -3.45920e-02, -3.16786e-02, 1.95273e-02, -4.39283e-02, -4.86909e-02, -1.71290e-02, -1.74618e-02, -9.88666e-03, -4.57297e-02, -2.74419e-02, -3.96491e-02 }, 
		{2.72930e-02, 2.35367e-02, 1.10331e-02, 3.57055e-02, 5.37286e-03, 1.35826e-02, 5.34335e-02, 1.33446e-02, 1.63156e-02, 1.88270e-02, 2.27978e-02, 4.52448e-02, 1.46310e-02, 6.29104e-03, 1.20628e-02, 8.11129e-03, 4.49112e-03, -1.41691e-02, -1.80609e-03, 1.59103e-02 }, 
		{5.31908e-02, -3.64684e-02, 3.34489e-02, 9.73346e-02, 3.36006e-02, 5.34335e-02, 9.72670e-02, 3.81519e-02, -4.51864e-03, 3.12949e-02, 4.79989e-02, -2.34676e-02, 4.05531e-02, 2.41254e-02, 3.96978e-02, 2.83332e-02, 2.56658e-02, 5.68699e-03, 2.48728e-03, 2.73558e-02 }, 
		{-1.09550e-02, 4.90331e-03, -1.45569e-02, 1.79198e-03, -2.16083e-02, 1.33446e-02, 3.81519e-02, -5.27375e-02, -7.84873e-03, 1.42772e-02, 2.62637e-02, 2.69248e-02, -4.43414e-03, -3.78684e-03, -1.12145e-02, -1.59909e-02, -8.58234e-03, -1.29394e-02, -6.97832e-03, 1.47198e-03 }, 
		{1.51750e-02, 1.91966e-02, 7.83230e-03, -2.34830e-02, -2.38917e-02, 1.63156e-02, -4.51864e-03, -7.84873e-03, -4.29839e-02, 1.08293e-02, 1.36574e-02, 5.26484e-02, -6.41764e-03, -1.02180e-02, 3.96788e-04, -9.06387e-03, -3.02477e-03, -2.77911e-02, -1.94776e-02, 6.52479e-03 }, 
		{-2.50904e-02, 2.34500e-02, 2.43254e-02, 4.56089e-02, -3.45920e-02, 1.88270e-02, 3.12949e-02, 1.42772e-02, 1.08293e-02, -8.05287e-02, -5.85603e-02, 1.90216e-02, -4.10300e-02, -5.60307e-02, 2.34853e-02, 9.75105e-03, -9.26442e-03, -3.20940e-02, -3.71437e-02, -6.26080e-02 }, 
		{-2.44321e-02, 1.47213e-02, 4.55619e-02, 6.02836e-02, -3.16786e-02, 2.27978e-02, 4.79989e-02, 2.62637e-02, 1.36574e-02, -5.85603e-02, -6.42103e-02, 4.13288e-02, -3.17203e-02, -5.26119e-02, 1.96252e-02, 2.18609e-02, 8.40488e-03, -3.89716e-02, -2.91417e-02, -5.27405e-02 }, 
		{5.83197e-02, 9.72731e-02, 1.70446e-02, -3.07495e-02, 1.95273e-02, 4.52448e-02, -2.34676e-02, 2.69248e-02, 5.26484e-02, 1.90216e-02, 4.13288e-02, 7.59989e-02, 3.95383e-02, 1.56141e-02, 5.32374e-02, 2.62503e-02, 2.43331e-02, 6.16923e-03, -7.70190e-03, 2.20020e-02 }, 
		{-1.67545e-02, 1.87448e-02, 1.80039e-02, 3.81317e-02, -4.39283e-02, 1.46310e-02, 4.05531e-02, -4.43414e-03, -6.41764e-03, -4.10300e-02, -3.17203e-02, 3.95383e-02, -9.52427e-02, -5.35567e-02, 3.69553e-03, 8.29695e-03, 5.27945e-04, -4.40832e-02, -3.22654e-02, -3.46698e-02 }, 
		{-2.23743e-02, 2.50172e-03, 1.04812e-02, 3.25073e-02, -4.86909e-02, 6.29104e-03, 2.41254e-02, -3.78684e-03, -1.02180e-02, -5.60307e-02, -5.26119e-02, 1.56141e-02, -5.35567e-02, -7.01921e-02, -6.27462e-03, -3.47413e-03, -6.64416e-03, -5.27827e-02, -4.71942e-02, -4.64915e-02 }, 
		{1.17130e-02, 7.67610e-03, 9.19486e-03, 2.35846e-02, -1.71290e-02, 1.20628e-02, 3.96978e-02, -1.12145e-02, 3.96788e-04, 2.34853e-02, 1.96252e-02, 5.32374e-02, 3.69553e-03, -6.27462e-03, -1.43475e-02, 1.17501e-02, 8.99826e-03, -4.18122e-02, -2.90152e-02, 1.15780e-02 }, 
		{1.58646e-02, 1.49948e-02, -1.10260e-02, 4.29256e-03, -1.74618e-02, 8.11129e-03, 2.83332e-02, -1.59909e-02, -9.06387e-03, 9.75105e-03, 2.18609e-02, 2.62503e-02, 8.29695e-03, -3.47413e-03, 1.17501e-02, -2.00095e-02, -9.14658e-03, -8.74831e-03, -3.87656e-03, 4.57322e-03 }, 
		{2.23153e-03, 1.52291e-02, -6.26871e-03, 8.42867e-03, -9.88666e-03, 4.49112e-03, 2.56658e-02, -8.58234e-03, -3.02477e-03, -9.26442e-03, 8.40488e-03, 2.43331e-02, 5.27945e-04, -6.64416e-03, 8.99826e-03, -9.14658e-03, -2.34675e-02, -5.41073e-03, -6.32234e-03, -1.78545e-02 }, 
		{-1.83572e-02, -1.92884e-02, -3.45688e-04, 6.45287e-03, -4.57297e-02, -1.41691e-02, 5.68699e-03, -1.29394e-02, -2.77911e-02, -3.20940e-02, -3.89716e-02, 6.16923e-03, -4.40832e-02, -5.27827e-02, -4.18122e-02, -8.74831e-03, -5.41073e-03, -6.68405e-02, -4.10136e-02, -2.84353e-02 }, 
		{-1.00922e-02, -5.63319e-03, -4.06967e-03, 1.55564e-03, -2.74419e-02, -1.80609e-03, 2.48728e-03, -6.97832e-03, -1.94776e-02, -3.71437e-02, -2.91417e-02, -7.70190e-03, -3.22654e-02, -4.71942e-02, -2.90152e-02, -3.87656e-03, -6.32234e-03, -4.10136e-02, -3.76931e-02, -2.78836e-02 }, 
		{-3.45738e-02, 1.44502e-02, 2.82638e-02, 3.85644e-02, -3.96491e-02, 1.59103e-02, 2.73558e-02, 1.47198e-03, 6.52479e-03, -6.26080e-02, -5.27405e-02, 2.20020e-02, -3.46698e-02, -4.64915e-02, 1.15780e-02, 4.57322e-03, -1.78545e-02, -2.84353e-02, -2.78836e-02, -7.30337e-02 }
		};

	/*
	 * (1) process arguments
	 */
	OPTS opts = { "", "", "", DMAX };
	if (!GetOpts(argc, argv, opts)) {
		PrintOpts("aace20", DMAX);
		return 1;
	}

	/*
	 * (2) set potential
	 */
	AACE AACE_;
	if (opts.table != "") {
		AACE_ = AACE(AACE20_GROUPS, opts.dmax, opts.table);
	} else {
		AACE_ = AACE(AACE20_GROUPS, h, J, opts.dmax, "AACE20_8.0A_k5");
	}

	/*
	 * (2) get AACE energy
	 */
	double E;
	if (opts.lig == "") {
		E = AACE_.GetEnergy(Chain(opts.rec.c_str()));
	} else {
		E = AACE_.GetEnergy(Complex(opts.rec.c_str(), opts.lig.c_str()));
	}

	printf("E(%s)= %.5e\n", AACE_.GetName().c_str(), E);

	return 0;

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0xeb0, %rsp            # imm = 0xEB0
movq %rsi, %r15
movl %edi, %ebp
leaq 0xe1dd(%rip), %rsi      # 0x23c68
leaq 0x50(%rsp), %rbx
movl $0xa0, %edx
movq %rbx, %rdi
callq 0x21b0
leaq 0x38(%rsp), %rdi
pushq $0x14
popq %r14
leaq 0x2d0(%rsp), %rcx
movq %rbx, %rsi
movq %r14, %rdx
callq 0xf438
leaq 0xe248(%rip), %rsi      # 0x23d08
leaq 0x2d0(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
leaq 0x50(%rsp), %rbx
leaq 0x17(%rsp), %rcx
movq %rbx, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0xf438
leaq 0x68(%rsp), %r14
leaq 0xe2af(%rip), %rsi      # 0x23da8
leaq 0x230(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0x16(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0x80(%rsp), %r14
leaq 0xe318(%rip), %rsi      # 0x23e48
leaq 0x370(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0x15(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0x98(%rsp), %r14
leaq 0xe381(%rip), %rsi      # 0x23ee8
leaq 0x410(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0x14(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0xb0(%rsp), %r14
leaq 0xe3ea(%rip), %rsi      # 0x23f88
leaq 0xe10(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0x13(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0xc8(%rsp), %r14
leaq 0xe453(%rip), %rsi      # 0x24028
leaq 0xd70(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0x12(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0xe0(%rsp), %r14
leaq 0xe4bc(%rip), %rsi      # 0x240c8
leaq 0xcd0(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0x11(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0xf8(%rsp), %r14
leaq 0xe525(%rip), %rsi      # 0x24168
leaq 0xc30(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0x10(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0x110(%rsp), %r14
leaq 0xe58e(%rip), %rsi      # 0x24208
leaq 0xb90(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0xf(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0x128(%rsp), %r14
leaq 0xe5f7(%rip), %rsi      # 0x242a8
leaq 0xaf0(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0xe(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0x140(%rsp), %r14
leaq 0xe660(%rip), %rsi      # 0x24348
leaq 0xa50(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0xd(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0x158(%rsp), %r14
leaq 0xe6c9(%rip), %rsi      # 0x243e8
leaq 0x9b0(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0xc(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0x170(%rsp), %r14
leaq 0xe732(%rip), %rsi      # 0x24488
leaq 0x910(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0xb(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0x188(%rsp), %r14
leaq 0xe79b(%rip), %rsi      # 0x24528
leaq 0x870(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0xa(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0x1a0(%rsp), %r14
leaq 0xe804(%rip), %rsi      # 0x245c8
leaq 0x7d0(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0x9(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0x1b8(%rsp), %r14
leaq 0xe86d(%rip), %rsi      # 0x24668
leaq 0x730(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0x8(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0x1d0(%rsp), %r14
leaq 0xe8d6(%rip), %rsi      # 0x24708
leaq 0x690(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0x7(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0x1e8(%rsp), %r14
leaq 0xe93f(%rip), %rsi      # 0x247a8
leaq 0x5f0(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0x6(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0x200(%rsp), %r14
leaq 0xe9a8(%rip), %rsi      # 0x24848
leaq 0x550(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0x5(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0x218(%rsp), %r14
leaq 0xea11(%rip), %rsi      # 0x248e8
leaq 0x4b0(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21b0
pushq $0x14
popq %rdx
leaq 0x4(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf438
leaq 0x20(%rsp), %rdi
leaq 0x50(%rsp), %rsi
pushq $0x14
popq %rdx
leaq 0x3(%rsp), %rcx
callq 0xf46e
movl $0x1c8, %ebx            # imm = 0x1C8
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0xf7f6
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x15f1b
leaq 0x1114(%rip), %rsi      # 0x1704d
leaq 0x230(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0xdbd4
leaq 0x250(%rsp), %rbx
leaq 0x10f3(%rip), %rsi      # 0x1704d
leaq 0x2d0(%rsp), %rdx
movq %rbx, %rdi
callq 0xdbd4
leaq 0x270(%rsp), %r14
leaq 0x10d4(%rip), %rsi      # 0x1704d
leaq 0x370(%rsp), %rdx
movq %r14, %rdi
callq 0xdbd4
movabsq $0x4020000000000000, %rax # imm = 0x4020000000000000
leaq 0x230(%rsp), %rdx
movq %rax, 0x60(%rdx)
movl %ebp, %edi
movq %r15, %rsi
callq 0xdaa5
testb %al, %al
je 0x1600b
leaq 0x2d0(%rsp), %rdi
callq 0x10d12
leaq 0x108c(%rip), %rsi      # 0x1704d
movq %r14, %rdi
callq 0x16302
testb %al, %al
je 0x16048
movsd 0x290(%rsp), %xmm0
leaq 0x163cb(%rip), %rsi     # 0x2c3a8
leaq 0x50(%rsp), %rdi
movq %r14, %rdx
callq 0x10634
leaq 0x2d0(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x10e06
leaq 0x50(%rsp), %rdi
callq 0x10d8c
jmp 0x160c5
leaq 0xe976(%rip), %rsi      # 0x24988
leaq 0x50(%rsp), %rdi
leaq 0x2d0(%rsp), %rdx
callq 0xdbd4
leaq 0x50(%rsp), %rdi
movsd 0xc32f(%rip), %xmm0     # 0x22360
callq 0xda3c
leaq 0x50(%rsp), %rdi
callq 0x2100
pushq $0x1
popq %rbx
jmp 0x1618f
movsd 0x290(%rsp), %xmm0
movsd %xmm0, 0x18(%rsp)
leaq 0xe931(%rip), %rsi      # 0x2498f
leaq 0x370(%rsp), %rdi
leaq 0x410(%rsp), %rdx
callq 0xdbd4
leaq 0x1632e(%rip), %rsi     # 0x2c3a8
leaq 0x50(%rsp), %rdi
leaq 0x38(%rsp), %rdx
leaq 0x20(%rsp), %rcx
leaq 0x370(%rsp), %r8
movsd 0x18(%rsp), %xmm0
callq 0x1037c
leaq 0x2d0(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x10e06
leaq 0x50(%rsp), %rdi
callq 0x10d8c
leaq 0x370(%rsp), %rdi
callq 0x2100
leaq 0xf81(%rip), %rsi       # 0x1704d
movq %rbx, %rdi
callq 0xdc0f
testb %al, %al
je 0x1610e
movq 0x230(%rsp), %rsi
leaq 0x50(%rsp), %rdi
callq 0xdee2
leaq 0x2d0(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x111b4
movsd %xmm0, 0x18(%rsp)
leaq 0x50(%rsp), %rdi
callq 0xec14
jmp 0x1614a
movq 0x230(%rsp), %rsi
movq 0x250(%rsp), %rdx
leaq 0x50(%rsp), %rdi
callq 0x142e4
leaq 0x2d0(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x11396
movsd %xmm0, 0x18(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x14346
leaq 0x50(%rsp), %rdi
leaq 0x2d0(%rsp), %rsi
callq 0x11428
leaq 0x50(%rsp), %rbx
movq (%rbx), %rsi
leaq 0xe833(%rip), %rdi      # 0x2499e
movsd 0x18(%rsp), %xmm0
movb $0x1, %al
callq 0x2050
movq %rbx, %rdi
callq 0x2100
leaq 0x2d0(%rsp), %rdi
callq 0x10d8c
xorl %ebx, %ebx
leaq 0x230(%rsp), %rdi
callq 0x1630c
leaq 0x20(%rsp), %rdi
callq 0xf4a8
leaq 0x38(%rsp), %rdi
callq 0xf7f6
movl %ebx, %eax
addq $0xeb0, %rsp            # imm = 0xEB0
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r15
leaq 0x50(%rsp), %rdi
callq 0x14346
jmp 0x1622c
movq %rax, %r15
leaq 0x50(%rsp), %rdi
callq 0xec14
jmp 0x1622c
jmp 0x16229
jmp 0x16229
movq %rax, %r15
leaq 0x50(%rsp), %rdi
callq 0x10d8c
jmp 0x161f6
movq %rax, %r15
leaq 0x370(%rsp), %rdi
callq 0x2100
jmp 0x1622c
movq %rax, %r15
leaq 0x50(%rsp), %rdi
callq 0x10d8c
jmp 0x1622c
jmp 0x16229
jmp 0x16229
jmp 0x16229
movq %rax, %r15
leaq 0x50(%rsp), %rdi
callq 0x2100
jmp 0x16242
movq %rax, %r15
leaq 0x2d0(%rsp), %rdi
callq 0x10d8c
jmp 0x16242
jmp 0x1623f
jmp 0x1623f
movq %rax, %r15
leaq 0x230(%rsp), %rdi
callq 0x1630c
jmp 0x16273
movq %rax, %r15
movq %rbx, %rdi
callq 0x2100
jmp 0x16261
movq %rax, %r15
leaq 0x230(%rsp), %rdi
callq 0x2100
jmp 0x16273
movq %rax, %r15
leaq 0x20(%rsp), %rdi
callq 0xf4a8
jmp 0x162eb
movq %rax, %r15
movl $0x1c8, %r12d           # imm = 0x1C8
leaq (%rsp,%r12), %rdi
addq $0x50, %rdi
callq 0xf7f6
addq $-0x18, %r12
cmpq $-0x18, %r12
jne 0x16288
movb $0x1, %al
jmp 0x162cc
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
jmp 0x162c7
movq %rax, %r15
xorl %eax, %eax
cmpq %r14, %rbx
sete %cl
testb %al, %al
jne 0x162eb
testb %cl, %cl
jne 0x162eb
addq $-0x18, %r14
movq %r14, %rdi
callq 0xf7f6
cmpq %rbx, %r14
jne 0x162da
leaq 0x38(%rsp), %rdi
callq 0xf7f6
movq %r15, %rdi
callq 0x23a0
movq %rax, %r15
jmp 0x162eb