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

	/*
	 * (0) default energies (dmax=6.8A, kmin=5)
	 */
	const std::vector<double> h = {
		-1.60823e+00, -1.50102e+00, -1.47335e+00, -1.82202e+00, -1.75968e+00, -7.72545e-01, 6.04329e-01, 2.55978e-01, -4.19681e-01, -1.01144e+00, 4.42831e+00, 1.12513e+00, 7.39351e-01, 5.13158e-01, 7.03065e-01, -4.79007e-03, 1.23034e-01, 1.88040e+00
		};
	const std::vector<std::vector<double> > J = {
		{5.14494e-01, 2.32982e-01, -1.18825e-02, -4.79267e-01, -2.60971e-01, 7.92265e-03, 7.65882e-02, 3.00580e-02, 2.19054e-02, 5.83614e-02, -1.36975e-01, 1.96902e-01, 9.23782e-03, -2.08941e-02, 6.00891e-02, 1.23249e-01, -4.56176e-02, -8.81898e-03 }, 
		{2.32982e-01, -2.00039e-01, -6.56869e-02, 2.70771e-01, -2.92405e-01, -1.29688e-03, 2.66237e-02, 2.78053e-02, 4.34264e-02, 9.09723e-02, -3.18841e-03, -1.84093e-01, 1.75533e-02, 4.55108e-03, 4.44661e-03, 8.85454e-02, -5.36141e-03, -2.89657e-03 }, 
		{-1.18825e-02, -6.56869e-02, -3.58054e-03, 1.61754e-02, 1.01122e-01, -5.20250e-02, 1.47322e-02, -7.77877e-03, 2.93541e-02, 6.68389e-02, -3.44028e-02, -3.95784e-02, -9.05682e-03, -6.92520e-02, 8.67456e-02, 3.06997e-02, 2.63688e-02, -7.55891e-02 }, 
		{-4.79267e-01, 2.70771e-01, 1.61754e-02, -7.34460e-02, 4.22984e-01, -4.73875e-03, 1.43135e-02, -1.76282e-02, -7.93952e-03, 7.52781e-02, -1.01343e-01, 1.66995e-01, -1.17393e-02, -3.35176e-02, 4.17009e-02, 3.22659e-02, -2.99271e-02, -2.45088e-02 }, 
		{-2.60971e-01, -2.92405e-01, 1.01122e-01, 4.22984e-01, 1.36008e-01, -7.13044e-03, -7.48668e-03, -4.55776e-03, -7.20017e-03, 7.64353e-02, -1.09748e-01, -2.75419e-01, -8.12165e-03, -1.61199e-02, 6.78784e-02, 3.29076e-02, 1.26425e-02, -4.97552e-02 }, 
		{7.92265e-03, -1.29688e-03, -5.20250e-02, -4.73875e-03, -7.13044e-03, -1.05435e-01, -3.19825e-02, 1.00205e-03, 1.33486e-02, 2.53556e-02, -8.93222e-02, 2.00271e-02, -3.76764e-02, -1.29922e-01, 1.39732e-02, 4.12190e-02, -2.60661e-03, -9.08305e-02 }, 
		{7.65882e-02, 2.66237e-02, 1.47322e-02, 1.43135e-02, -7.48668e-03, -3.19825e-02, 6.23459e-02, 8.37308e-02, -4.59253e-03, -2.63784e-01, 5.51613e-02, -1.71107e-02, 2.27089e-03, 2.19795e-02, 2.54067e-01, 2.69225e-01, -1.72442e-02, -8.22190e-02 }, 
		{3.00580e-02, 2.78053e-02, -7.77877e-03, -1.76282e-02, -4.55776e-03, 1.00205e-03, 8.37308e-02, 1.56708e-02, -9.66613e-03, -2.53002e-01, 1.37543e-01, 7.54680e-03, -7.22425e-03, 7.30337e-02, 2.41662e-01, 1.82912e-01, -1.14706e-02, -7.38459e-02 }, 
		{2.19054e-02, 4.34264e-02, 2.93541e-02, -7.93952e-03, -7.20017e-03, 1.33486e-02, -4.59253e-03, -9.66613e-03, -8.89144e-02, -4.49119e-02, 1.13148e-01, -1.74796e-02, -2.83279e-02, 9.27447e-02, 7.43568e-03, -2.85799e-02, -5.86095e-02, -5.35649e-02 }, 
		{5.83614e-02, 9.09723e-02, 6.68389e-02, 7.52781e-02, 7.64353e-02, 2.53556e-02, -2.63784e-01, -2.53002e-01, -4.49119e-02, 1.21987e-01, 1.30581e-01, -5.94875e-03, -1.52840e-01, 1.10914e-01, -3.08656e-01, -3.40476e-01, -8.70755e-02, -9.98389e-02 }, 
		{-1.36975e-01, -3.18841e-03, -3.44028e-02, -1.01343e-01, -1.09748e-01, -8.93222e-02, 5.51613e-02, 1.37543e-01, 1.13148e-01, 1.30581e-01, -1.16021e+00, 1.89012e-01, -7.49936e-02, -8.24475e-02, 2.10707e-01, 1.61511e-01, 8.90165e-02, -5.08981e-02 }, 
		{1.96902e-01, -1.84093e-01, -3.95784e-02, 1.66995e-01, -2.75419e-01, 2.00271e-02, -1.71107e-02, 7.54680e-03, -1.74796e-02, -5.94875e-03, 1.89012e-01, -2.76854e-01, -1.09103e-02, 1.42503e-01, 1.03347e-01, -2.61694e-02, -1.89722e-02, -1.13523e-02 }, 
		{9.23782e-03, 1.75533e-02, -9.05682e-03, -1.17393e-02, -8.12165e-03, -3.76764e-02, 2.27089e-03, -7.22425e-03, -2.83279e-02, -1.52840e-01, -7.49936e-02, -1.09103e-02, -1.45362e-01, 1.86466e-02, 8.87609e-02, 6.51157e-02, -7.00287e-02, -1.05835e-01 }, 
		{-2.08941e-02, 4.55108e-03, -6.92520e-02, -3.35176e-02, -1.61199e-02, -1.29922e-01, 2.19795e-02, 7.30337e-02, 9.27447e-02, 1.10914e-01, -8.24475e-02, 1.42503e-01, 1.86466e-02, -2.57466e-01, 8.46647e-02, 1.38211e-01, 3.62556e-02, -1.05258e-01 }, 
		{6.00891e-02, 4.44661e-03, 8.67456e-02, 4.17009e-02, 6.78784e-02, 1.39732e-02, 2.54067e-01, 2.41662e-01, 7.43568e-03, -3.08656e-01, 2.10707e-01, 1.03347e-01, 8.87609e-02, 8.46647e-02, 3.68852e-01, 3.06581e-01, 3.14345e-02, -1.34007e-01 }, 
		{1.23249e-01, 8.85454e-02, 3.06997e-02, 3.22659e-02, 3.29076e-02, 4.12190e-02, 2.69225e-01, 1.82912e-01, -2.85799e-02, -3.40476e-01, 1.61511e-01, -2.61694e-02, 6.51157e-02, 1.38211e-01, 3.06581e-01, 1.85065e-01, -4.92545e-02, -1.02915e-01 }, 
		{-4.56176e-02, -5.36141e-03, 2.63688e-02, -2.99271e-02, 1.26425e-02, -2.60661e-03, -1.72442e-02, -1.14706e-02, -5.86095e-02, -8.70755e-02, 8.90165e-02, -1.89722e-02, -7.00287e-02, 3.62556e-02, 3.14345e-02, -4.92545e-02, -4.79142e-02, -2.83613e-02 }, 
		{-8.81898e-03, -2.89657e-03, -7.55891e-02, -2.45088e-02, -4.97552e-02, -9.08305e-02, -8.22190e-02, -7.38459e-02, -5.35649e-02, -9.98389e-02, -5.08981e-02, -1.13523e-02, -1.05835e-01, -1.05258e-01, -1.34007e-01, -1.02915e-01, -2.83613e-02, -1.01090e-01 }, 
		};

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

	/*
	 * (2) set potential
	 */
	AACE AACE_;
	if (opts.table != "") {
		AACE_ = AACE(AACE18_GROUPS, opts.dmax, opts.table);
	} else {
		AACE_ = AACE(AACE18_GROUPS, h, J, opts.dmax, "AACE18_6.8A_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 $0xc28, %rsp            # imm = 0xC28
movq %rsi, %r15
movl %edi, %ebp
leaq 0xc34f(%rip), %rsi      # 0x1aaf0
leaq 0xe0(%rsp), %rbx
movl $0x90, %edx
movq %rbx, %rdi
callq 0x21c0
leaq 0x20(%rsp), %rdi
leaq 0x290(%rsp), %rcx
movl $0x12, %edx
movq %rbx, %rsi
callq 0xf124
leaq 0xc3a9(%rip), %rsi      # 0x1ab80
leaq 0x290(%rsp), %r14
movl $0x90, %edx
movq %r14, %rdi
callq 0x21c0
leaq 0xe0(%rsp), %rbx
leaq 0x17(%rsp), %rcx
movl $0x12, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xf124
leaq 0xf8(%rsp), %r14
leaq 0xc3f8(%rip), %rsi      # 0x1ac10
leaq 0x38(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x16(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x110(%rsp), %r14
leaq 0xc452(%rip), %rsi      # 0x1aca0
leaq 0x328(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x15(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x128(%rsp), %r14
leaq 0xc4a9(%rip), %rsi      # 0x1ad30
leaq 0xb98(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x14(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x140(%rsp), %r14
leaq 0xc500(%rip), %rsi      # 0x1adc0
leaq 0xb08(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x13(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x158(%rsp), %r14
leaq 0xc557(%rip), %rsi      # 0x1ae50
leaq 0xa78(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x12(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x170(%rsp), %r14
leaq 0xc5ae(%rip), %rsi      # 0x1aee0
leaq 0x9e8(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x11(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x188(%rsp), %r14
leaq 0xc605(%rip), %rsi      # 0x1af70
leaq 0x958(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x10(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x1a0(%rsp), %r14
leaq 0xc65c(%rip), %rsi      # 0x1b000
leaq 0x8c8(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0xf(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x1b8(%rsp), %r14
leaq 0xc6b3(%rip), %rsi      # 0x1b090
leaq 0x838(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0xe(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x1d0(%rsp), %r14
leaq 0xc70a(%rip), %rsi      # 0x1b120
leaq 0x7a8(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0xd(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x1e8(%rsp), %r14
leaq 0xc761(%rip), %rsi      # 0x1b1b0
leaq 0x718(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0xc(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x200(%rsp), %r14
leaq 0xc7b8(%rip), %rsi      # 0x1b240
leaq 0x688(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0xb(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x218(%rsp), %r14
leaq 0xc80f(%rip), %rsi      # 0x1b2d0
leaq 0x5f8(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0xa(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x230(%rsp), %r14
leaq 0xc866(%rip), %rsi      # 0x1b360
leaq 0x568(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x9(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x248(%rsp), %r14
leaq 0xc8bd(%rip), %rsi      # 0x1b3f0
leaq 0x4d8(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x8(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x260(%rsp), %r14
leaq 0xc914(%rip), %rsi      # 0x1b480
leaq 0x448(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x7(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0x278(%rsp), %r14
leaq 0xc96b(%rip), %rsi      # 0x1b510
leaq 0x3b8(%rsp), %r12
movl $0x90, %edx
movq %r12, %rdi
callq 0x21c0
leaq 0x6(%rsp), %rcx
movl $0x12, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0xf124
leaq 0xc8(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
leaq 0x5(%rsp), %rcx
movl $0x12, %edx
callq 0xf16a
movl $0x1b0, %ebx            # imm = 0x1B0
movq 0xc8(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0xec10
movq 0xd8(%rsp,%rbx), %rsi
subq %rdi, %rsi
callq 0x2230
addq $-0x18, %rbx
jne 0xebf3
leaq 0x48(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xa427(%rip), %rdx      # 0x1904d
leaq 0x38(%rsp), %rdi
movq %rdx, %rsi
callq 0xe47c
leaq 0x58(%rsp), %rbx
leaq 0x68(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0xa405(%rip), %rdx      # 0x1904d
movq %rbx, %rdi
movq %rdx, %rsi
callq 0xe47c
leaq 0x78(%rsp), %r14
leaq 0x88(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xa3e1(%rip), %rdx      # 0x1904d
movq %r14, %rdi
movq %rdx, %rsi
callq 0xe47c
movabsq $0x401b333333333333, %rax # imm = 0x401B333333333333
leaq 0x38(%rsp), %rdx
movq %rax, 0x60(%rdx)
movl %ebp, %edi
movq %r15, %rsi
callq 0xe2e7
testb %al, %al
je 0xed03
leaq 0x290(%rsp), %rdi
callq 0x1296c
leaq 0xa3a1(%rip), %rsi      # 0x1904d
movq %r14, %rdi
callq 0x20b0
testl %eax, %eax
je 0xed66
movsd 0x98(%rsp), %xmm0
leaq 0x1e5ac(%rip), %rsi     # 0x2d278
leaq 0xe0(%rsp), %rdi
movq %r14, %rdx
callq 0x12186
leaq 0x290(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x12a6c
leaq 0xe0(%rsp), %rdi
callq 0x129ec
jmp 0xee0a
leaq 0xf0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xce26(%rip), %rsi      # 0x1bb3c
leaq 0xce25(%rip), %rdx      # 0x1bb42
leaq 0xe0(%rsp), %rdi
callq 0xe47c
leaq 0xe0(%rsp), %rdi
movsd 0xa4ae(%rip), %xmm0     # 0x191e8
callq 0xe27c
movq 0xe0(%rsp), %rdi
cmpq %rbx, %rdi
je 0xed5c
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x2230
movl $0x1, %ebx
jmp 0xeef5
movsd 0x98(%rsp), %xmm0
movsd %xmm0, 0x18(%rsp)
leaq 0x338(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xcdbb(%rip), %rsi      # 0x1bb43
leaq 0xcdc2(%rip), %rdx      # 0x1bb51
leaq 0x328(%rsp), %rdi
callq 0xe47c
leaq 0x1e4d5(%rip), %rsi     # 0x2d278
leaq 0xe0(%rsp), %rdi
leaq 0x20(%rsp), %rdx
leaq 0xc8(%rsp), %rcx
leaq 0x328(%rsp), %r8
movsd 0x18(%rsp), %xmm0
callq 0x11e74
leaq 0x290(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x12a6c
leaq 0xe0(%rsp), %rdi
callq 0x129ec
movq 0x328(%rsp), %rdi
cmpq %r14, %rdi
je 0xee0a
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x2230
leaq 0xa23c(%rip), %rsi      # 0x1904d
movq %rbx, %rdi
callq 0x20b0
testl %eax, %eax
je 0xee5e
movq 0x38(%rsp), %rsi
movq 0x58(%rsp), %rdx
leaq 0xe0(%rsp), %rdi
callq 0x15efe
leaq 0x290(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x131f0
movsd %xmm0, 0x18(%rsp)
leaq 0xe0(%rsp), %rdi
callq 0x15f82
jmp 0xee98
movq 0x38(%rsp), %rsi
leaq 0xe0(%rsp), %rdi
callq 0xfcfc
leaq 0x290(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x12fe6
movsd %xmm0, 0x18(%rsp)
leaq 0xe0(%rsp), %rdi
callq 0x10bb6
leaq 0xe0(%rsp), %rdi
leaq 0x290(%rsp), %rsi
callq 0x132b6
leaq 0xf0(%rsp), %rbx
movq -0x10(%rbx), %rsi
leaq 0xcc92(%rip), %rdi      # 0x1bb52
movsd 0x18(%rsp), %xmm0
movb $0x1, %al
callq 0x2050
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0xeee6
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x2230
leaq 0x290(%rsp), %rdi
callq 0x129ec
xorl %ebx, %ebx
movq 0x78(%rsp), %rdi
cmpq %r12, %rdi
je 0xef0f
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x58(%rsp), %rdi
cmpq %r13, %rdi
leaq 0x48(%rsp), %r14
je 0xef2b
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x38(%rsp), %rdi
cmpq %r14, %rdi
je 0xef42
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x2230
leaq 0xc8(%rsp), %rdi
callq 0xf1b4
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0xef66
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x2230
movl %ebx, %eax
addq $0xc28, %rsp            # imm = 0xC28
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r15
leaq 0xe0(%rsp), %rdi
callq 0x10bb6
jmp 0xefef
jmp 0xefec
movq %rax, %r15
leaq 0xe0(%rsp), %rdi
callq 0x129ec
jmp 0xefa3
movq %rax, %r15
movq 0x328(%rsp), %rdi
cmpq %r14, %rdi
je 0xefef
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0xefef
jmp 0xefec
movq %rax, %r15
leaq 0xe0(%rsp), %rdi
callq 0x15f82
jmp 0xefef
jmp 0xefec
movq %rax, %r15
leaq 0xe0(%rsp), %rdi
callq 0x129ec
jmp 0xefef
jmp 0xefec
movq %rax, %r15
leaq 0x290(%rsp), %rdi
callq 0x129ec
jmp 0xf027
movq %rax, %r15
movq 0xe0(%rsp), %rdi
cmpq %rbx, %rdi
je 0xf027
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0xf027
jmp 0xf024
jmp 0xf024
movq %rax, %r15
leaq 0x38(%rsp), %rdi
callq 0xf79c
leaq 0xc8(%rsp), %rdi
callq 0xf1b4
jmp 0xf0fa
movq %rax, %r15
movq 0x58(%rsp), %rdi
cmpq %r13, %rdi
je 0xf062
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0xf062
movq %rax, %r15
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0xf031
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0xf031
movq %rax, %r15
jmp 0xf031
movq %rax, %r15
leaq 0x290(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x23f0
movb $0x1, %al
jmp 0xf0c6
jmp 0xf0c1
jmp 0xf0c1
jmp 0xf0c1
jmp 0xf0c1
jmp 0xf0c1
jmp 0xf0c1
jmp 0xf0c1
jmp 0xf0c1
jmp 0xf0c1
jmp 0xf0c1
jmp 0xf0c1
jmp 0xf0c1
jmp 0xf0c1
jmp 0xf0c1
jmp 0xf0c1
jmp 0xf0c1
movq %rax, %r15
xorl %eax, %eax
cmpq %r14, %rbx
sete %cl
testb %al, %al
jne 0xf0fa
testb %cl, %cl
jne 0xf0fa
leaq 0xe0(%rsp), %rbx
movq -0x18(%r14), %rdi
testq %rdi, %rdi
je 0xf0f1
movq -0x8(%r14), %rsi
subq %rdi, %rsi
callq 0x2230
addq $-0x18, %r14
cmpq %rbx, %r14
jne 0xf0dc
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0xf111
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x2230
movq %r15, %rdi
callq 0x2390
movq %rax, %r15
xorl %eax, %eax
movq %rbx, %r14
jmp 0xf0c6
nop