// File: /workspace/github_cpp_makefile_star2_O2/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 0x1e1c
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x97fb8, %rsp          # imm = 0x97FB8
movq 0x8(%rsi), %rdi
callq 0x1100
movl %eax, %ebx
movq 0x3d40(%rip), %rdi      # 0x4fd8
movl %eax, %esi
callq 0x1110
movq %rax, %rdi
callq 0x1060
movq %rax, %rdi
callq 0x1060
leal -0x1(%rbx), %eax
cmpl $0x3, %eax
ja 0x1e0b
leaq 0x1d56(%rip), %rcx      # 0x3018
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0xa, 0x3deb(%rip)      # 0x50c0
leaq 0x60(%rsp), %rbx
movq %rbx, %rdi
callq 0x248c
xorl %ebp, %ebp
leaq 0x11e4(%rsp), %r14
movq 0x3ce5(%rip), %r15      # 0x4fd8
leaq 0x1d3e(%rip), %r12      # 0x3038
cmpl $0x64, %ebp
je 0x1e0b
movq %r15, %rdi
callq 0x1060
movq %rax, %rdi
callq 0x1060
movq %rax, %rdi
movq %r12, %rsi
callq 0x10d0
movq %rax, %rdi
movl %ebp, %esi
callq 0x1110
movq %rax, %rdi
callq 0x1060
movq %rbx, %rdi
callq 0x1e20
movq %r14, %rdi
callq 0x1f32
movq %rbx, %rdi
callq 0x1fae
movss 0x11e0(%rsp), %xmm0
movq %r15, %rdi
callq 0x1080
movq %rax, %rdi
callq 0x1060
movq %rbx, %rdi
callq 0x200e
incl %ebp
jmp 0x12fa
movq %rbx, (%rsp)
movl $0x1e, 0x3d45(%rip)     # 0x50c0
leaq 0x1cc2(%rip), %rsi      # 0x3044
leaq 0x60(%rsp), %rbx
movq %rbx, %rdi
callq 0x24f6
xorl %ebp, %ebp
leaq 0x11e4(%rsp), %r14
movq 0x3c38(%rip), %r15      # 0x4fd8
leaq 0x1c91(%rip), %r12      # 0x3038
leaq 0x1ca5(%rip), %r13      # 0x3053
cmpl $0x64, %ebp
je 0x1448
movq %r15, %rdi
callq 0x1060
movq %rax, %rdi
callq 0x1060
movq %rax, %rdi
movq %r12, %rsi
callq 0x10d0
movq %rax, %rdi
movl %ebp, %esi
callq 0x1110
movq %rax, %rdi
callq 0x1060
movq %rbx, %rdi
callq 0x1e20
movq %r14, %rdi
callq 0x1f32
movss 0x11e0(%rsp), %xmm0
movq %r15, %rdi
callq 0x1080
movq %rax, %rdi
callq 0x1060
movss 0x11e0(%rsp), %xmm0
divss 0x1be6(%rip), %xmm0     # 0x3004
movq %r15, %rdi
callq 0x1080
movq %rax, %rdi
movq %r13, %rsi
callq 0x10d0
movq %rax, %rdi
callq 0x1060
movq %rbx, %rdi
callq 0x200e
incl %ebp
jmp 0x13ae
movq %r14, %rdi
callq 0x1f32
movq (%rsp), %rbx
cmpl $0x3, %ebx
je 0x1467
cmpl $0x4, %ebx
je 0x191f
jmp 0x1e0b
movq %rbx, (%rsp)
movl $0x1e, 0x3c4b(%rip)     # 0x50c0
leaq 0x1bc8(%rip), %rbx      # 0x3044
leaq 0x5b330(%rsp), %r13
movq %r13, %rdi
movq %rbx, %rsi
callq 0x24f6
leaq 0x3ccec(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0x24f6
leaq 0x1e6a8(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x24f6
leaq 0x79974(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x24f6
movl $0xadc4, %eax           # imm = 0xADC4
leaq 0x60(%rsp), %rbp
leaq (%rax,%rbp), %rcx
movq %rcx, 0x50(%rsp)
movl $0x14a04, %ecx          # imm = 0x14A04
leaq (%r13,%rcx), %rbx
leaq (%rbp,%rax), %rdx
movq %rdx, 0x40(%rsp)
leaq (%rbp,%rax), %rdx
movq %rdx, 0x38(%rsp)
leaq (%r15,%rcx), %rdx
movq %rdx, 0x10(%rsp)
leaq (%rbp,%rax), %rdx
movq %rdx, 0x30(%rsp)
leaq (%rbp,%rax), %rdx
movq %rdx, 0x28(%rsp)
leaq (%r12,%rcx), %rdx
movq %rdx, 0x8(%rsp)
leaq (%rax,%rbp), %rdx
movq %rdx, 0x20(%rsp)
addq %rbp, %rax
movq %rax, 0x58(%rsp)
movq %r14, %r13
addq %r14, %rcx
movq %rcx, 0x48(%rsp)
xorl %r14d, %r14d
movl $0x190, %r12d           # imm = 0x190
cmpl $0x1f4, %r14d           # imm = 0x1F4
je 0x1908
movq 0x3a80(%rip), %rdi      # 0x4fd8
callq 0x1060
movq %rax, %rdi
callq 0x1060
movq %rax, %rdi
leaq 0x1ac9(%rip), %rsi      # 0x3038
callq 0x10d0
movq %rax, %rdi
movq %r14, 0x18(%rsp)
movl %r14d, %esi
callq 0x1110
movq %rax, %rdi
callq 0x1060
leaq 0x5b330(%rsp), %rdi
callq 0x1e20
leaq 0x3ccec(%rsp), %rdi
callq 0x1e20
leaq 0x1e6a8(%rsp), %rdi
callq 0x1e20
movq %r13, %rdi
callq 0x1e20
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
movq %r13, %rsi
callq 0x1090
movss 0x1a35(%rip), %xmm1     # 0x3008
movl 0x3ae6(%rip), %r15d     # 0x50c0
testl %r15d, %r15d
movl $0x0, %r14d
cmovgl %r15d, %r14d
movq 0x50(%rsp), %rax
movq %rbx, %rcx
xorl %edx, %edx
cmpq %r14, %rdx
je 0x1620
xorl %esi, %esi
cmpq %rsi, %r15
je 0x1615
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
jmp 0x15f8
incq %rdx
addq %r12, %rcx
addq %r12, %rax
jmp 0x15f1
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
leaq 0x3ccec(%rsp), %rsi
callq 0x1090
movq 0x40(%rsp), %rax
movq %rbx, %rcx
xorl %edx, %edx
movss 0x19c5(%rip), %xmm1     # 0x300c
cmpq %r14, %rdx
je 0x1676
xorl %esi, %esi
cmpq %rsi, %r15
je 0x166b
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
jmp 0x164e
incq %rdx
addq %r12, %rcx
addq %r12, %rax
jmp 0x1647
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
movq %r13, %rsi
callq 0x1090
movq 0x38(%rsp), %rax
movq 0x10(%rsp), %rcx
xorl %edx, %edx
movss 0x196e(%rip), %xmm1     # 0x3008
cmpq %r14, %rdx
je 0x16c9
xorl %esi, %esi
cmpq %rsi, %r15
je 0x16be
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
jmp 0x16a1
incq %rdx
addq %r12, %rcx
addq %r12, %rax
jmp 0x169a
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
leaq 0x1e6a8(%rsp), %rsi
callq 0x1090
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
xorl %edx, %edx
movss 0x191a(%rip), %xmm1     # 0x300c
cmpq %r14, %rdx
je 0x1721
xorl %esi, %esi
cmpq %rsi, %r15
je 0x1716
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
jmp 0x16f9
incq %rdx
addq %r12, %rcx
addq %r12, %rax
jmp 0x16f2
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
movq %r13, %rsi
callq 0x1090
movq 0x28(%rsp), %rax
movq 0x8(%rsp), %rcx
xorl %edx, %edx
movss 0x18c3(%rip), %xmm1     # 0x3008
cmpq %r14, %rdx
je 0x1774
xorl %esi, %esi
cmpq %rsi, %r15
je 0x1769
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
jmp 0x174c
incq %rdx
addq %r12, %rcx
addq %r12, %rax
jmp 0x1745
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
leaq 0x5b330(%rsp), %rsi
callq 0x1090
movq 0x20(%rsp), %rax
movq 0x8(%rsp), %rcx
xorl %edx, %edx
movss 0x186f(%rip), %xmm1     # 0x300c
cmpq %r14, %rdx
je 0x17cc
xorl %esi, %esi
cmpq %rsi, %r15
je 0x17c1
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
jmp 0x17a4
incq %rdx
addq %r12, %rcx
addq %r12, %rax
jmp 0x179d
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
movq %r13, %rsi
callq 0x1090
movq 0x58(%rsp), %rax
movq 0x48(%rsp), %rcx
xorl %edx, %edx
movss 0x1818(%rip), %xmm1     # 0x3008
cmpq %r14, %rdx
je 0x181f
xorl %esi, %esi
cmpq %rsi, %r15
je 0x1814
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
jmp 0x17f7
incq %rdx
addq %r12, %rcx
addq %r12, %rax
jmp 0x17f0
leaq 0x5b330(%rsp), %r14
movq %r14, %rdi
callq 0x1fae
leaq 0x3ccec(%rsp), %rdi
callq 0x1fae
movq %rbx, %r15
movq %rbp, %rbx
movq %r13, %rbp
leaq 0x1e6a8(%rsp), %rdi
callq 0x1fae
movq %r13, %rdi
callq 0x1fae
movss 0x5c4b0(%rsp), %xmm0
movq 0x376e(%rip), %r13      # 0x4fd8
movq %r13, %rdi
callq 0x1080
movq %rax, %rdi
callq 0x1060
movq %r14, %rdi
callq 0x200e
movss 0x3de6c(%rsp), %xmm0
movq %r13, %rdi
callq 0x1080
movq %rax, %rdi
callq 0x1060
leaq 0x3ccec(%rsp), %rdi
callq 0x200e
movss 0x1f828(%rsp), %xmm0
movq %r13, %rdi
callq 0x1080
movq %rax, %rdi
callq 0x1060
leaq 0x1e6a8(%rsp), %rdi
movq %rbp, %r14
movq %rbx, %rbp
movq %r15, %rbx
callq 0x200e
movss 0x7aaf4(%rsp), %xmm0
movq %r13, %rdi
callq 0x1080
movq %rax, %rdi
callq 0x1060
movq %r14, %r13
movq %r14, %rdi
callq 0x200e
movq 0x18(%rsp), %r14
incl %r14d
jmp 0x1544
leaq 0x5c4b4(%rsp), %rdi
callq 0x1f32
cmpl $0x4, (%rsp)
jne 0x1e0b
movl $0xa, 0x3797(%rip)      # 0x50c0
leaq 0x5b330(%rsp), %r15
movq %r15, %rdi
callq 0x248c
leaq 0x3ccec(%rsp), %r14
movq %r14, %rdi
callq 0x248c
leaq 0x1e6a8(%rsp), %rbx
movq %rbx, %rdi
callq 0x248c
leaq 0x79974(%rsp), %r12
movq %r12, %rdi
callq 0x248c
movl $0xadc4, %eax           # imm = 0xADC4
leaq 0x60(%rsp), %rcx
leaq (%rcx,%rax), %rdx
movq %rdx, 0x48(%rsp)
movl $0x14a04, %edx          # imm = 0x14A04
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)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x20(%rsp)
leaq (%rbx,%rdx), %rsi
movq %rsi, 0x18(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, (%rsp)
addq %rcx, %rax
movq %rax, 0x50(%rsp)
addq %r12, %rdx
movq %rdx, 0x40(%rsp)
xorl %ebx, %ebx
movl $0x190, %r12d           # imm = 0x190
cmpl $0x190, %ebx            # imm = 0x190
je 0x1db7
movq 0x35e5(%rip), %rdi      # 0x4fd8
callq 0x1060
movq %rax, %rdi
callq 0x1060
movq %rax, %rdi
leaq 0x162e(%rip), %rsi      # 0x3038
callq 0x10d0
movq %rax, %rdi
movq %rbx, 0x58(%rsp)
movl %ebx, %esi
callq 0x1110
movq %rax, %rdi
callq 0x1060
leaq 0x5b330(%rsp), %rdi
callq 0x1e20
leaq 0x3ccec(%rsp), %rdi
callq 0x1e20
leaq 0x1e6a8(%rsp), %rdi
callq 0x1e20
leaq 0x79974(%rsp), %rbx
movq %rbx, %rdi
callq 0x1e20
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x60(%rsp), %rdi
movq %rbx, %rsi
callq 0x1090
movss 0x1591(%rip), %xmm1     # 0x3008
movl 0x3642(%rip), %r13d     # 0x50c0
testl %r13d, %r13d
movl $0x0, %ebx
cmovgl %r13d, %ebx
movq 0x48(%rsp), %rax
movq 0x10(%rsp), %rcx
xorl %edx, %edx
cmpq %rbx, %rdx
je 0x1ac5
xorl %esi, %esi
cmpq %rsi, %r13
je 0x1aba
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
jmp 0x1a9d
incq %rdx
addq %r12, %rcx
addq %r12, %rax
jmp 0x1a96
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x60(%rsp), %rdi
leaq 0x3ccec(%rsp), %rsi
callq 0x1090
movq 0x38(%rsp), %rax
movq 0x10(%rsp), %rcx
xorl %edx, %edx
movss 0x151c(%rip), %xmm1     # 0x300c
cmpq %rbx, %rdx
je 0x1b1f
xorl %esi, %esi
cmpq %rsi, %r13
je 0x1b14
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
jmp 0x1af7
incq %rdx
addq %r12, %rcx
addq %r12, %rax
jmp 0x1af0
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x60(%rsp), %rdi
leaq 0x79974(%rsp), %rsi
callq 0x1090
movq 0x30(%rsp), %rax
movq 0x8(%rsp), %rcx
xorl %edx, %edx
movss 0x14be(%rip), %xmm1     # 0x3008
cmpq %rbx, %rdx
je 0x1b79
xorl %esi, %esi
cmpq %rsi, %r13
je 0x1b6e
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
jmp 0x1b51
incq %rdx
addq %r12, %rcx
addq %r12, %rax
jmp 0x1b4a
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x60(%rsp), %rdi
leaq 0x1e6a8(%rsp), %rsi
callq 0x1090
movq 0x28(%rsp), %rax
movq 0x8(%rsp), %rcx
xorl %edx, %edx
movss 0x1468(%rip), %xmm1     # 0x300c
cmpq %rbx, %rdx
je 0x1bd3
xorl %esi, %esi
cmpq %rsi, %r13
je 0x1bc8
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
jmp 0x1bab
incq %rdx
addq %r12, %rcx
addq %r12, %rax
jmp 0x1ba4
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x60(%rsp), %rdi
leaq 0x79974(%rsp), %rsi
callq 0x1090
movq 0x20(%rsp), %rax
movq 0x18(%rsp), %rcx
xorl %edx, %edx
movss 0x140a(%rip), %xmm1     # 0x3008
cmpq %rbx, %rdx
je 0x1c2d
xorl %esi, %esi
cmpq %rsi, %r13
je 0x1c22
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
jmp 0x1c05
incq %rdx
addq %r12, %rcx
addq %r12, %rax
jmp 0x1bfe
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x60(%rsp), %rdi
leaq 0x5b330(%rsp), %rsi
callq 0x1090
movq (%rsp), %rax
movq 0x18(%rsp), %rcx
xorl %edx, %edx
movss 0x13b5(%rip), %xmm1     # 0x300c
cmpq %rbx, %rdx
je 0x1c86
xorl %esi, %esi
cmpq %rsi, %r13
je 0x1c7b
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
jmp 0x1c5e
incq %rdx
addq %r12, %rcx
addq %r12, %rax
jmp 0x1c57
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x60(%rsp), %rdi
leaq 0x79974(%rsp), %rsi
callq 0x1090
movq 0x50(%rsp), %rax
movq 0x40(%rsp), %rcx
xorl %edx, %edx
movss 0x1357(%rip), %xmm1     # 0x3008
cmpq %rbx, %rdx
je 0x1ce0
xorl %esi, %esi
cmpq %rsi, %r13
je 0x1cd5
movss (%rax,%rsi,4), %xmm0
mulss %xmm1, %xmm0
addss (%rcx,%rsi,4), %xmm0
movss %xmm0, (%rcx,%rsi,4)
incq %rsi
jmp 0x1cb8
incq %rdx
addq %r12, %rcx
addq %r12, %rax
jmp 0x1cb1
leaq 0x5b330(%rsp), %rbp
movq %rbp, %rdi
callq 0x1fae
leaq 0x3ccec(%rsp), %r15
movq %r15, %rdi
callq 0x1fae
leaq 0x1e6a8(%rsp), %rbx
movq %rbx, %rdi
callq 0x1fae
leaq 0x79974(%rsp), %r13
movq %r13, %rdi
callq 0x1fae
movss 0x5c4b0(%rsp), %xmm0
movq 0x32a8(%rip), %r14      # 0x4fd8
movq %r14, %rdi
callq 0x1080
movq %rax, %rdi
callq 0x1060
movq %rbp, %rdi
callq 0x200e
movss 0x3de6c(%rsp), %xmm0
movq %r14, %rdi
callq 0x1080
movq %rax, %rdi
callq 0x1060
movq %r15, %rdi
callq 0x200e
movss 0x1f828(%rsp), %xmm0
movq %r14, %rdi
callq 0x1080
movq %rax, %rdi
callq 0x1060
movq %rbx, %rdi
callq 0x200e
movss 0x7aaf4(%rsp), %xmm0
movq %r14, %rdi
callq 0x1080
movq %rax, %rdi
callq 0x1060
movq %r13, %rdi
callq 0x200e
movq 0x58(%rsp), %rbx
incl %ebx
jmp 0x19e0
movl $0x1184, %ebx           # imm = 0x1184
leaq 0x5b330(%rsp), %rdi
addq %rbx, %rdi
callq 0x1f32
movq 0x3205(%rip), %r15      # 0x4fd8
movq %r15, %rdi
callq 0x1060
leaq 0x3ccec(%rsp), %rdi
addq %rbx, %rdi
callq 0x1f32
movq %r15, %rdi
callq 0x1060
leaq 0x1e6a8(%rsp), %rdi
addq %rbx, %rdi
callq 0x1f32
movq %r15, %rdi
callq 0x1060
addq $0x97fb8, %rsp          # imm = 0x97FB8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
xorl %eax, %eax
retq
nop