// File: /workspace/github_cpp_makefile_star2_O1/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 %r13
pushq %r12
pushq %rbx
subq $0xeb8, %rsp            # imm = 0xEB8
movq %rsi, %r15
movl %edi, %ebp
leaq 0xefdf(%rip), %rsi      # 0x25c78
leaq 0xf8(%rsp), %rbx
movl $0xa0, %edx
movq %rbx, %rdi
callq 0x21c0
leaq 0x28(%rsp), %rdi
leaq 0x2d8(%rsp), %rcx
movl $0x14, %edx
movq %rbx, %rsi
callq 0xff40
leaq 0xf049(%rip), %rsi      # 0x25d18
leaq 0x2d8(%rsp), %r14
movl $0xa0, %edx
movq %r14, %rdi
callq 0x21c0
leaq 0xf8(%rsp), %rbx
leaq 0x1f(%rsp), %rcx
movl $0x14, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xff40
leaq 0x110(%rsp), %r14
leaq 0xf0a8(%rip), %rsi      # 0x25db8
leaq 0x58(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x1e(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x128(%rsp), %r14
leaq 0xf112(%rip), %rsi      # 0x25e58
leaq 0x378(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x1d(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x140(%rsp), %r14
leaq 0xf179(%rip), %rsi      # 0x25ef8
leaq 0xe18(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x1c(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x158(%rsp), %r14
leaq 0xf1e0(%rip), %rsi      # 0x25f98
leaq 0xd78(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x1b(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x170(%rsp), %r14
leaq 0xf247(%rip), %rsi      # 0x26038
leaq 0xcd8(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x1a(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x188(%rsp), %r14
leaq 0xf2ae(%rip), %rsi      # 0x260d8
leaq 0xc38(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x19(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x1a0(%rsp), %r14
leaq 0xf315(%rip), %rsi      # 0x26178
leaq 0xb98(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x18(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x1b8(%rsp), %r14
leaq 0xf37c(%rip), %rsi      # 0x26218
leaq 0xaf8(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x17(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x1d0(%rsp), %r14
leaq 0xf3e3(%rip), %rsi      # 0x262b8
leaq 0xa58(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x16(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x1e8(%rsp), %r14
leaq 0xf44a(%rip), %rsi      # 0x26358
leaq 0x9b8(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x15(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x200(%rsp), %r14
leaq 0xf4b1(%rip), %rsi      # 0x263f8
leaq 0x918(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x14(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x218(%rsp), %r14
leaq 0xf518(%rip), %rsi      # 0x26498
leaq 0x878(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x13(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x230(%rsp), %r14
leaq 0xf57f(%rip), %rsi      # 0x26538
leaq 0x7d8(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x12(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x248(%rsp), %r14
leaq 0xf5e6(%rip), %rsi      # 0x265d8
leaq 0x738(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x11(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x260(%rsp), %r14
leaq 0xf64d(%rip), %rsi      # 0x26678
leaq 0x698(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x10(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x278(%rsp), %r14
leaq 0xf6b4(%rip), %rsi      # 0x26718
leaq 0x5f8(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0xf(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x290(%rsp), %r14
leaq 0xf71b(%rip), %rsi      # 0x267b8
leaq 0x558(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0xe(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x2a8(%rsp), %r14
leaq 0xf782(%rip), %rsi      # 0x26858
leaq 0x4b8(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0xd(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x2c0(%rsp), %r14
leaq 0xf7e9(%rip), %rsi      # 0x268f8
leaq 0x418(%rsp), %r12
movl $0xa0, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0xc(%rsp), %rcx
movl $0x14, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xff40
leaq 0x40(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
leaq 0xb(%rsp), %rcx
movl $0x14, %edx
callq 0xff86
movl $0x1e0, %ebx            # imm = 0x1E0
movq 0xe0(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x17177
movq 0xf0(%rsp,%rbx), %rsi
subq %rdi, %rsi
callq 0x2230
addq $-0x18, %rbx
jne 0x1715a
leaq 0x68(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1ec0(%rip), %rdx      # 0x1904d
leaq 0x58(%rsp), %rdi
movq %rdx, %rsi
callq 0xe47c
leaq 0x78(%rsp), %rbx
leaq 0x88(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x1e9b(%rip), %rdx      # 0x1904d
movq %rbx, %rdi
movq %rdx, %rsi
callq 0xe47c
leaq 0x98(%rsp), %r14
leaq 0xa8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x1e74(%rip), %rdx      # 0x1904d
movq %r14, %rdi
movq %rdx, %rsi
callq 0xe47c
movabsq $0x4020000000000000, %rax # imm = 0x4020000000000000
leaq 0x58(%rsp), %rdx
movq %rax, 0x60(%rdx)
movl %ebp, %edi
movq %r15, %rsi
callq 0xe2e7
testb %al, %al
je 0x17270
leaq 0x2d8(%rsp), %rdi
callq 0x11790
leaq 0x1e34(%rip), %rsi      # 0x1904d
movq %r14, %rdi
callq 0x20b0
testl %eax, %eax
je 0x172d3
movsd 0xb8(%rsp), %xmm0
leaq 0x1615f(%rip), %rsi     # 0x2d398
leaq 0xf8(%rsp), %rdi
movq %r14, %rdx
callq 0x10faa
leaq 0x2d8(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x11890
leaq 0xf8(%rsp), %rdi
callq 0x11810
jmp 0x17374
leaq 0x108(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xf715(%rip), %rsi      # 0x26998
leaq 0xf714(%rip), %rdx      # 0x2699e
leaq 0xf8(%rsp), %rdi
callq 0xe47c
leaq 0xf8(%rsp), %rdi
movsd 0xd0c9(%rip), %xmm0     # 0x24370
callq 0xe27c
movq 0xf8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x172c9
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x2230
movl $0x1, %ebx
jmp 0x1745f
movsd 0xb8(%rsp), %xmm0
movsd %xmm0, 0x20(%rsp)
leaq 0x388(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xf6aa(%rip), %rsi      # 0x2699f
leaq 0xf6b1(%rip), %rdx      # 0x269ad
leaq 0x378(%rsp), %rdi
callq 0xe47c
leaq 0x16088(%rip), %rsi     # 0x2d398
leaq 0xf8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
leaq 0x40(%rsp), %rcx
leaq 0x378(%rsp), %r8
movsd 0x20(%rsp), %xmm0
callq 0x10c98
leaq 0x2d8(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x11890
leaq 0xf8(%rsp), %rdi
callq 0x11810
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x17374
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x2230
leaq 0x1cd2(%rip), %rsi      # 0x1904d
movq %rbx, %rdi
callq 0x20b0
testl %eax, %eax
je 0x173c8
movq 0x58(%rsp), %rsi
movq 0x78(%rsp), %rdx
leaq 0xf8(%rsp), %rdi
callq 0x1550a
leaq 0x2d8(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x12014
movsd %xmm0, 0x20(%rsp)
leaq 0xf8(%rsp), %rdi
callq 0x1558e
jmp 0x17402
movq 0x58(%rsp), %rsi
leaq 0xf8(%rsp), %rdi
callq 0xe7bc
leaq 0x2d8(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x11e0a
movsd %xmm0, 0x20(%rsp)
leaq 0xf8(%rsp), %rdi
callq 0xf676
leaq 0xf8(%rsp), %rdi
leaq 0x2d8(%rsp), %rsi
callq 0x120da
leaq 0x108(%rsp), %rbx
movq -0x10(%rbx), %rsi
leaq 0xf584(%rip), %rdi      # 0x269ae
movsd 0x20(%rsp), %xmm0
movb $0x1, %al
callq 0x2050
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x17450
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x2230
leaq 0x2d8(%rsp), %rdi
callq 0x11810
xorl %ebx, %ebx
movq 0x98(%rsp), %rdi
cmpq %r12, %rdi
je 0x1747c
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
leaq 0x68(%rsp), %r14
je 0x1749b
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x58(%rsp), %rdi
cmpq %r14, %rdi
je 0x174b2
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x2230
leaq 0x40(%rsp), %rdi
callq 0xffd0
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x174d3
movq 0x38(%rsp), %rsi
subq %rdi, %rsi
callq 0x2230
movl %ebx, %eax
addq $0xeb8, %rsp            # imm = 0xEB8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r15
leaq 0xf8(%rsp), %rdi
callq 0xf676
jmp 0x1755c
jmp 0x17559
movq %rax, %r15
leaq 0xf8(%rsp), %rdi
callq 0x11810
jmp 0x17510
movq %rax, %r15
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1755c
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x1755c
jmp 0x17559
movq %rax, %r15
leaq 0xf8(%rsp), %rdi
callq 0x1558e
jmp 0x1755c
jmp 0x17559
movq %rax, %r15
leaq 0xf8(%rsp), %rdi
callq 0x11810
jmp 0x1755c
jmp 0x17559
movq %rax, %r15
leaq 0x2d8(%rsp), %rdi
callq 0x11810
jmp 0x17594
movq %rax, %r15
movq 0xf8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x17594
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x17594
jmp 0x17591
jmp 0x17591
movq %rax, %r15
leaq 0x58(%rsp), %rdi
callq 0x17694
leaq 0x40(%rsp), %rdi
callq 0xffd0
jmp 0x1766b
movq %rax, %r15
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x175cf
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x175cf
movq %rax, %r15
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x1759e
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x1759e
movq %rax, %r15
jmp 0x1759e
movq %rax, %r15
leaq 0x2d8(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x256d
movb $0x1, %al
jmp 0x17637
jmp 0x17632
jmp 0x17632
jmp 0x17632
jmp 0x17632
jmp 0x17632
jmp 0x17632
jmp 0x17632
jmp 0x17632
jmp 0x17632
jmp 0x17632
jmp 0x17632
jmp 0x17632
jmp 0x17632
jmp 0x17632
jmp 0x17632
jmp 0x17632
jmp 0x17632
jmp 0x17632
movq %rax, %r15
xorl %eax, %eax
cmpq %r14, %rbx
sete %cl
testb %al, %al
jne 0x1766b
testb %cl, %cl
jne 0x1766b
leaq 0xf8(%rsp), %rbx
movq -0x18(%r14), %rdi
testq %rdi, %rdi
je 0x17662
movq -0x8(%r14), %rsi
subq %rdi, %rsi
callq 0x2230
addq $-0x18, %r14
cmpq %rbx, %r14
jne 0x1764d
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x17682
movq 0x38(%rsp), %rsi
subq %rdi, %rsi
callq 0x2230
movq %r15, %rdi
callq 0x2390
movq %rax, %r15
xorl %eax, %eax
movq %rbx, %r14
jmp 0x17637