// File: /workspace/github_cpp_makefile_star2_O3/SYLOH[P]ant-sim/antsim.cpp
// Function: main
int main(int argc, char* argv[]){
	int argParser;
	if (argc!= 2){
		return 0;
	}
	argParser = atoi(argv[1]);
	cout<<argParser<<endl<<endl;
	if ( argParser == 1){
		numNodes= 10;
		colony mColony;
		for(int i = 0; i<100; i++){
			cout<< endl<<endl<<"Iteration: "<<i<<endl;
			mColony.runAnts();
			mColony.mMap.printTrails();
			mColony.applyUpdate();
			cout<<mColony.shortestPathLen<<endl;
			mColony.printShortestPath();
		
		}
	}
	if ( argParser == 2){
		numNodes= 30;
		float percentage;
		int precomputed =10628;
		colony mColony("oliver30_d.txt");
		for(int i = 0; i<100; i++){
			cout<< endl<<endl<<"Iteration: "<<i<<endl;
			mColony.runAnts();
			mColony.mMap.printTrails();
			cout<<mColony.shortestPathLen<<endl;
			percentage =((float)mColony.shortestPathLen/(float)precomputed);
			cout<<percentage<<"%"<<endl;
			mColony.printShortestPath();
		
		}
		mColony.mMap.printTrails();
	}
	if ( argParser == 3){
		numNodes= 30;
		colony colony1("oliver30_d.txt");
		colony colony2("oliver30_d.txt");
		colony colony3("oliver30_d.txt");
		colony colony4("oliver30_d.txt");

		for(int i = 0; i<500; i++){
			cout<< endl<<endl<<"Iteration: "<<i<<endl;
			colony1.runAnts();
			colony2.runAnts();
			colony3.runAnts();
			colony4.runAnts();

			colony1.colonyTransfer(.4,colony4);
			colony1.colonyTransfer((-.1),colony2);
			colony2.colonyTransfer(.4,colony4);
			colony2.colonyTransfer((-.1),colony3);
			colony3.colonyTransfer(.4,colony4);
			colony3.colonyTransfer((-.1),colony1);
			colony4.colonyTransfer(.4,colony4);
	//		colony4.colonyTransfer((-.1),colony2);

			colony1.applyUpdate();
			colony2.applyUpdate();
			colony3.applyUpdate();
			colony4.applyUpdate();

			cout<<colony1.shortestPathLen<<endl;
			colony1.printShortestPath();
			cout<<colony2.shortestPathLen<<endl;
			colony2.printShortestPath();
			cout<<colony3.shortestPathLen<<endl;
			colony3.printShortestPath();
			cout<<colony4.shortestPathLen<<endl;
			colony4.printShortestPath();
		
		}
		colony1.mMap.printTrails();
		
	}	

	if ( argParser == 4){
		numNodes= 10;
		colony colony1;
		colony colony2;
		colony colony3;
		colony colony4;

		for(int i = 0; i<400; i++){
			cout<< endl<<endl<<"Iteration: "<<i<<endl;
			colony1.runAnts();
			colony2.runAnts();
			colony3.runAnts();
			colony4.runAnts();
		

			colony1.colonyTransfer(.4,colony4);
			colony1.colonyTransfer((-.1),colony2);
			colony2.colonyTransfer(.4,colony4);
			colony2.colonyTransfer((-.1),colony3);
			colony3.colonyTransfer(.4,colony4);
			colony3.colonyTransfer((-.1),colony1);
			colony4.colonyTransfer(.4,colony4);
	//		colony4.colonyTransfer((-.1),colony2);

			colony1.applyUpdate();
			colony2.applyUpdate();
			colony3.applyUpdate();
			colony4.applyUpdate();

			cout<<colony1.shortestPathLen<<endl;
			colony1.printShortestPath();
			cout<<colony2.shortestPathLen<<endl;
			colony2.printShortestPath();
			cout<<colony3.shortestPathLen<<endl;
			colony3.printShortestPath();
			cout<<colony4.shortestPathLen<<endl;
			colony4.printShortestPath();
		
		}
		colony1.mMap.printTrails();
	
		cout<<endl;
		colony2.mMap.printTrails();
	
		cout<<endl;
		colony3.mMap.printTrails();
	
		cout<<endl;
	}
	return 0;
}

// Assembly:
cmpl $0x2, %edi
jne 0x2195
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x97fc8, %rsp          # imm = 0x97FC8
movq 0x8(%rsi), %rdi
callq 0x1120
movl %eax, %r15d
movq 0x4d0f(%rip), %rbx      # 0x5fd8
movq %rbx, %rdi
movl %eax, %esi
callq 0x1140
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
leal -0x1(%r15), %eax
cmpl $0x3, %eax
ja 0x2184
leaq 0x2cdd(%rip), %rcx      # 0x4018
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0xa, 0x4d8a(%rip)      # 0x60d8
leaq 0x70(%rsp), %r14
movq %r14, %rdi
callq 0x2ace
xorl %ebp, %ebp
leaq 0x11f4(%rsp), %r15
leaq 0x2d34(%rip), %r12      # 0x40a0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r13, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %rax, %r13
movl $0xb, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x1100
movq %r13, %rdi
movl %ebp, %esi
callq 0x1140
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r13, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %r14, %rdi
callq 0x2198
movq %r15, %rdi
callq 0x2348
movq %r14, %rdi
callq 0x23f8
cvtss2sd 0x11f0(%rsp), %xmm0
movq %rbx, %rdi
callq 0x1130
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r13, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %r14, %rdi
callq 0x248a
incl %ebp
cmpl $0x64, %ebp
jne 0x136c
jmp 0x2184
movq %r15, 0x20(%rsp)
movl $0x1e, 0x4c5a(%rip)     # 0x60d8
leaq 0x2c27(%rip), %rsi      # 0x40ac
leaq 0x70(%rsp), %r14
movq %r14, %rdi
callq 0x2d34
xorl %ebp, %ebp
leaq 0x11f4(%rsp), %r15
leaq 0x2c18(%rip), %r13      # 0x40bb
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %rax, %r12
movl $0xb, %edx
movq %rax, %rdi
leaq 0x2b9a(%rip), %rsi      # 0x40a0
callq 0x1100
movq %r12, %rdi
movl %ebp, %esi
callq 0x1140
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %r14, %rdi
callq 0x2198
movq %r15, %rdi
callq 0x2348
cvtss2sd 0x11f0(%rsp), %xmm0
movq %rbx, %rdi
callq 0x1130
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movss 0x11f0(%rsp), %xmm0
divss 0x2a69(%rip), %xmm0     # 0x4004
cvtss2sd %xmm0, %xmm0
movq %rbx, %rdi
callq 0x1130
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x1100
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %r14, %rdi
callq 0x248a
incl %ebp
cmpl $0x64, %ebp
jne 0x14a3
movq %r15, %rdi
callq 0x2348
movq 0x20(%rsp), %r15
cmpl $0x3, %r15d
je 0x1617
cmpl $0x4, %r15d
je 0x1b9c
jmp 0x2184
movq %r15, 0x20(%rsp)
movl $0x1e, 0x4ab2(%rip)     # 0x60d8
leaq 0x2a7f(%rip), %r14      # 0x40ac
leaq 0x1e6b8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x2d34
leaq 0x5b340(%rsp), %rbp
movq %rbp, %rdi
movq %r14, %rsi
callq 0x2d34
leaq 0x3ccfc(%rsp), %r13
movq %r13, %rdi
movq %r14, %rsi
callq 0x2d34
leaq 0x79984(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x2d34
movl $0xadc4, %eax           # imm = 0xADC4
leaq 0x70(%rsp), %rcx
leaq (%rcx,%rax), %rdx
movq %rdx, 0x58(%rsp)
movl $0x14a04, %edx          # imm = 0x14A04
leaq (%r12,%rdx), %rsi
movq %rsi, 0x18(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x48(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x40(%rsp)
leaq (%rbp,%rdx), %rsi
movq %rsi, 0x10(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x38(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x30(%rsp)
leaq (%r13,%rdx), %rsi
movq %rsi, 0x8(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x28(%rsp)
addq %rcx, %rax
movq %rax, 0x60(%rsp)
addq %r15, %rdx
movq %rdx, 0x50(%rsp)
xorl %r14d, %r14d
movq %rbx, %r13
movl $0x190, %ebx            # imm = 0x190
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r13, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %rax, %r12
movl $0xb, %edx
movq %rax, %rdi
leaq 0x2946(%rip), %rsi      # 0x40a0
callq 0x1100
movq %r12, %rdi
movq %r14, 0x68(%rsp)
movl %r14d, %esi
callq 0x1140
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
leaq 0x1e6b8(%rsp), %rdi
callq 0x2198
movq %rbp, %r14
movq %rbp, %rdi
callq 0x2198
leaq 0x3ccfc(%rsp), %r13
movq %r13, %rdi
callq 0x2198
movq %r15, %rdi
callq 0x2198
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x70(%rsp), %rdi
movq %r15, %rbp
movq %r15, %rsi
callq 0x10a0
movslq 0x48f3(%rip), %r12      # 0x60d8
testq %r12, %r12
jle 0x1a11
movq 0x58(%rsp), %rax
movq 0x18(%rsp), %rcx
xorl %edx, %edx
leaq 0x70(%rsp), %r15
movss 0x2801(%rip), %xmm1     # 0x4008
xorl %esi, %esi
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
cmpq %rsi, %r12
jne 0x1809
incq %rdx
addq %rbx, %rcx
addq %rbx, %rax
cmpq %r12, %rdx
jne 0x1807
movl $0x1e644, %edx          # imm = 0x1E644
movq %r15, %rdi
movq %r14, %rsi
callq 0x10a0
movq 0x48(%rsp), %rax
movq 0x18(%rsp), %rcx
xorl %edx, %edx
movss 0x27b6(%rip), %xmm1     # 0x400c
xorl %esi, %esi
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
cmpq %rsi, %r12
jne 0x1858
incq %rdx
addq %rbx, %rcx
addq %rbx, %rax
cmpq %r12, %rdx
jne 0x1856
movl $0x1e644, %edx          # imm = 0x1E644
movq %r15, %rdi
movq %rbp, %rsi
callq 0x10a0
movq 0x40(%rsp), %rax
movq 0x10(%rsp), %rcx
xorl %edx, %edx
movss 0x2763(%rip), %xmm1     # 0x4008
xorl %esi, %esi
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
cmpq %rsi, %r12
jne 0x18a7
incq %rdx
addq %rbx, %rcx
addq %rbx, %rax
cmpq %r12, %rdx
jne 0x18a5
movl $0x1e644, %edx          # imm = 0x1E644
movq %r15, %rdi
movq %r13, %rsi
callq 0x10a0
movq 0x38(%rsp), %rax
movq 0x10(%rsp), %rcx
xorl %edx, %edx
movss 0x2718(%rip), %xmm1     # 0x400c
xorl %esi, %esi
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
cmpq %rsi, %r12
jne 0x18f6
incq %rdx
addq %rbx, %rcx
addq %rbx, %rax
cmpq %r12, %rdx
jne 0x18f4
movl $0x1e644, %edx          # imm = 0x1E644
movq %r15, %rdi
movq %rbp, %rsi
callq 0x10a0
movq 0x30(%rsp), %rax
movq 0x8(%rsp), %rcx
xorl %edx, %edx
movss 0x26c5(%rip), %xmm1     # 0x4008
xorl %esi, %esi
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
cmpq %rsi, %r12
jne 0x1945
incq %rdx
addq %rbx, %rcx
addq %rbx, %rax
cmpq %r12, %rdx
jne 0x1943
movl $0x1e644, %edx          # imm = 0x1E644
movq %r15, %rdi
leaq 0x1e6b8(%rsp), %rsi
callq 0x10a0
movq 0x28(%rsp), %rax
movq 0x8(%rsp), %rcx
xorl %edx, %edx
movss 0x2675(%rip), %xmm1     # 0x400c
xorl %esi, %esi
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
cmpq %rsi, %r12
jne 0x1999
incq %rdx
addq %rbx, %rcx
addq %rbx, %rax
cmpq %r12, %rdx
jne 0x1997
movl $0x1e644, %edx          # imm = 0x1E644
movq %r15, %rdi
movq %rbp, %rsi
callq 0x10a0
movq 0x60(%rsp), %rax
movq 0x50(%rsp), %rcx
xorl %edx, %edx
movss 0x2622(%rip), %xmm1     # 0x4008
xorl %esi, %esi
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
cmpq %rsi, %r12
jne 0x19e8
incq %rdx
addq %rbx, %rcx
addq %rbx, %rax
cmpq %r12, %rdx
jne 0x19e6
leaq 0x1e6b8(%rsp), %r12
movq %r12, %rdi
callq 0x23f8
movq %r14, %rdi
callq 0x23f8
movq %r13, %rdi
callq 0x23f8
movq %rbp, %rdi
callq 0x23f8
xorps %xmm0, %xmm0
cvtss2sd 0x1f838(%rsp), %xmm0
movq %r13, %rbp
movq %r14, %r15
movq %r12, %r14
movq 0x4583(%rip), %r13      # 0x5fd8
movq %r13, %rdi
callq 0x1130
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %r14, %rdi
callq 0x248a
xorps %xmm0, %xmm0
cvtss2sd 0x5c4c0(%rsp), %xmm0
movq %r13, %rdi
callq 0x1130
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %r15, %rdi
callq 0x248a
xorps %xmm0, %xmm0
cvtss2sd 0x3de7c(%rsp), %xmm0
movq %r13, %rdi
callq 0x1130
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %rbp, %rdi
movq %r15, %rbp
leaq 0x79984(%rsp), %r15
callq 0x248a
xorps %xmm0, %xmm0
cvtss2sd 0x7ab04(%rsp), %xmm0
movq %r13, %rdi
callq 0x1130
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %r15, %rdi
callq 0x248a
movq 0x68(%rsp), %r14
incl %r14d
cmpl $0x1f4, %r14d           # imm = 0x1F4
jne 0x16f6
leaq 0x1f83c(%rsp), %rdi
callq 0x2348
cmpl $0x4, 0x20(%rsp)
movq %r13, %rbx
jne 0x2184
movl $0xa, 0x4532(%rip)      # 0x60d8
leaq 0x1e6b8(%rsp), %r13
movq %r13, %rdi
callq 0x2ace
leaq 0x5b340(%rsp), %r15
movq %r15, %rdi
callq 0x2ace
leaq 0x3ccfc(%rsp), %r14
movq %r14, %rdi
callq 0x2ace
leaq 0x79984(%rsp), %r12
movq %r12, %rdi
callq 0x2ace
movl $0xadc4, %eax           # imm = 0xADC4
leaq 0x70(%rsp), %rcx
leaq (%rcx,%rax), %rdx
movq %rdx, 0x58(%rsp)
movl $0x14a04, %edx          # imm = 0x14A04
leaq (%r13,%rdx), %rsi
movq %rsi, 0x18(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x48(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x40(%rsp)
leaq (%r15,%rdx), %rsi
movq %rsi, 0x10(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x38(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x30(%rsp)
leaq (%r14,%rdx), %rsi
movq %rsi, 0x8(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x28(%rsp)
addq %rcx, %rax
movq %rax, 0x60(%rsp)
addq %r12, %rdx
movq %rdx, 0x50(%rsp)
xorl %ebp, %ebp
movl $0x190, %r13d           # imm = 0x190
movq %rbx, %r14
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %rax, %rbx
movl $0xb, %edx
movq %rax, %rdi
leaq 0x23db(%rip), %rsi      # 0x40a0
callq 0x1100
movq %rbx, %rdi
movq %rbp, 0x68(%rsp)
movl %ebp, %esi
callq 0x1140
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
leaq 0x1e6b8(%rsp), %rdi
callq 0x2198
leaq 0x5b340(%rsp), %rdi
movq %rdi, %r15
callq 0x2198
leaq 0x3ccfc(%rsp), %r14
movq %r14, %rdi
callq 0x2198
movq %r12, %rdi
callq 0x2198
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x70(%rsp), %rbp
movq %rbp, %rdi
movq %r12, %rsi
callq 0x10a0
movslq 0x4384(%rip), %rbx      # 0x60d8
testq %rbx, %rbx
jle 0x1f7b
movq 0x58(%rsp), %rax
movq 0x18(%rsp), %rcx
xorl %edx, %edx
movss 0x2297(%rip), %xmm1     # 0x4008
xorl %esi, %esi
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
cmpq %rsi, %rbx
jne 0x1d73
incq %rdx
addq %r13, %rcx
addq %r13, %rax
cmpq %rbx, %rdx
jne 0x1d71
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
movq %r15, %rsi
callq 0x10a0
movq 0x48(%rsp), %rax
movq 0x18(%rsp), %rcx
xorl %edx, %edx
movss 0x224c(%rip), %xmm1     # 0x400c
xorl %esi, %esi
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
cmpq %rsi, %rbx
jne 0x1dc2
incq %rdx
addq %r13, %rcx
addq %r13, %rax
cmpq %rbx, %rdx
jne 0x1dc0
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
movq %r12, %rsi
callq 0x10a0
movq 0x40(%rsp), %rax
movq 0x10(%rsp), %rcx
xorl %edx, %edx
movss 0x21f9(%rip), %xmm1     # 0x4008
xorl %esi, %esi
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
cmpq %rsi, %rbx
jne 0x1e11
incq %rdx
addq %r13, %rcx
addq %r13, %rax
cmpq %rbx, %rdx
jne 0x1e0f
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
movq %r14, %rsi
callq 0x10a0
movq 0x38(%rsp), %rax
movq 0x10(%rsp), %rcx
xorl %edx, %edx
movss 0x21ae(%rip), %xmm1     # 0x400c
xorl %esi, %esi
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
cmpq %rsi, %rbx
jne 0x1e60
incq %rdx
addq %r13, %rcx
addq %r13, %rax
cmpq %rbx, %rdx
jne 0x1e5e
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
movq %r12, %rsi
callq 0x10a0
movq 0x30(%rsp), %rax
movq 0x8(%rsp), %rcx
xorl %edx, %edx
movss 0x215b(%rip), %xmm1     # 0x4008
xorl %esi, %esi
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
cmpq %rsi, %rbx
jne 0x1eaf
incq %rdx
addq %r13, %rcx
addq %r13, %rax
cmpq %rbx, %rdx
jne 0x1ead
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
leaq 0x1e6b8(%rsp), %rsi
callq 0x10a0
movq 0x28(%rsp), %rax
movq 0x8(%rsp), %rcx
xorl %edx, %edx
movss 0x210b(%rip), %xmm1     # 0x400c
xorl %esi, %esi
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
cmpq %rsi, %rbx
jne 0x1f03
incq %rdx
addq %r13, %rcx
addq %r13, %rax
cmpq %rbx, %rdx
jne 0x1f01
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
movq %r12, %rsi
callq 0x10a0
movq 0x60(%rsp), %rax
movq 0x50(%rsp), %rcx
xorl %edx, %edx
movss 0x20b8(%rip), %xmm1     # 0x4008
xorl %esi, %esi
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
cmpq %rsi, %rbx
jne 0x1f52
incq %rdx
addq %r13, %rcx
addq %r13, %rax
cmpq %rbx, %rdx
jne 0x1f50
leaq 0x1e6b8(%rsp), %rbp
movq %rbp, %rdi
callq 0x23f8
movq %r15, %rdi
callq 0x23f8
movq %r14, %rdi
callq 0x23f8
movq %r12, %rdi
callq 0x23f8
xorps %xmm0, %xmm0
cvtss2sd 0x1f838(%rsp), %xmm0
movq 0x4022(%rip), %r14      # 0x5fd8
movq %r14, %rdi
callq 0x1130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %rbp, %rdi
callq 0x248a
xorps %xmm0, %xmm0
cvtss2sd 0x5c4c0(%rsp), %xmm0
movq %r14, %rdi
callq 0x1130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %r15, %rdi
callq 0x248a
xorps %xmm0, %xmm0
cvtss2sd 0x3de7c(%rsp), %xmm0
movq %r14, %rdi
callq 0x1130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
leaq 0x3ccfc(%rsp), %rdi
callq 0x248a
xorps %xmm0, %xmm0
cvtss2sd 0x7ab04(%rsp), %xmm0
movq %r14, %rdi
callq 0x1130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %r12, %rdi
callq 0x248a
movq 0x68(%rsp), %rbp
incl %ebp
cmpl $0x190, %ebp            # imm = 0x190
jne 0x1c62
movl $0x1184, %ebx           # imm = 0x1184
leaq 0x1e6b8(%rsp), %rdi
addq %rbx, %rdi
callq 0x2348
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
leaq 0x5b340(%rsp), %rdi
addq %rbx, %rdi
callq 0x2348
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
leaq 0x3ccfc(%rsp), %rdi
addq %rbx, %rdi
callq 0x2348
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1090
addq $0x97fc8, %rsp          # imm = 0x97FC8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
xorl %eax, %eax
retq