// File: /workspace/github_cpp_makefile_star2_O1/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 0x22e2
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, %r14d
movq 0x3d0f(%rip), %r13      # 0x4fd8
movq %r13, %rdi
movl %eax, %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
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
leal -0x1(%r14), %eax
cmpl $0x3, %eax
ja 0x22d1
leaq 0x1cdd(%rip), %rcx      # 0x3018
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
movq %r14, 0x20(%rsp)
jmpq *%rax
movl $0xa, 0x3d85(%rip)      # 0x50d8
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
callq 0x2af8
xorl %ebp, %ebp
leaq 0x11f4(%rsp), %r14
leaq 0x1cc7(%rip), %r15      # 0x3038
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
movq %r15, %rsi
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 %rbx, %rdi
callq 0x22e6
movq %r14, %rdi
callq 0x249a
movq %rbx, %rdi
callq 0x254e
cvtss2sd 0x11f0(%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 %rbx, %rdi
callq 0x25e0
incl %ebp
cmpl $0x64, %ebp
jne 0x1371
movq 0x20(%rsp), %r14
cmpl $0x2, %r14d
jne 0x1625
movl $0x1e, 0x3c4f(%rip)     # 0x50d8
leaq 0x1bb4(%rip), %rsi      # 0x3044
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
callq 0x2bee
xorl %ebp, %ebp
leaq 0x11f4(%rsp), %r14
leaq 0x1b8a(%rip), %r15      # 0x3038
leaq 0x1b9e(%rip), %r12      # 0x3053
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, %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 %r15, %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 %rbx, %rdi
callq 0x22e6
movq %r14, %rdi
callq 0x249a
cvtss2sd 0x11f0(%rsp), %xmm0
movq 0x3a6a(%rip), %rdi      # 0x4fd8
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
movss 0x11f0(%rsp), %xmm0
divss 0x1a56(%rip), %xmm0     # 0x3004
cvtss2sd %xmm0, %xmm0
movq 0x3a1f(%rip), %rdi      # 0x4fd8
callq 0x1130
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x1100
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq %r13, %rdi
movq 0x39e5(%rip), %r13      # 0x4fd8
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %rbx, %rdi
callq 0x25e0
incl %ebp
cmpl $0x64, %ebp
jne 0x14b5
leaq 0x11f4(%rsp), %rdi
callq 0x249a
movq 0x20(%rsp), %r14
cmpl $0x3, %r14d
je 0x163a
cmpl $0x4, %r14d
je 0x1c50
jmp 0x22d1
movl $0x1e, 0x3a94(%rip)     # 0x50d8
leaq 0x19f9(%rip), %rbx      # 0x3044
leaq 0x5b340(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x2bee
leaq 0x3ccfc(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2bee
leaq 0x1e6b8(%rsp), %rbp
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x2bee
leaq 0x79984(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0x2bee
movl $0xadc4, %eax           # imm = 0xADC4
leaq 0x70(%rsp), %rcx
leaq (%rcx,%rax), %rdx
movq %rdx, 0x60(%rsp)
movl $0x14a04, %edx          # imm = 0x14A04
leaq (%r12,%rdx), %rsi
movq %rsi, 0x18(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x28(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x58(%rsp)
leaq (%r14,%rdx), %rsi
movq %rsi, 0x10(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x30(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x50(%rsp)
leaq (%rbp,%rdx), %rsi
movq %rsi, 0x8(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x38(%rsp)
addq %rcx, %rax
movq %rax, 0x48(%rsp)
addq %r15, %rdx
movq %rdx, 0x40(%rsp)
xorl %r14d, %r14d
movl $0x190, %r12d           # 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, %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 0x18c3(%rip), %rsi      # 0x3038
callq 0x1100
movq %rbx, %rdi
movq %r14, 0x68(%rsp)
movl %r14d, %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 0x5b340(%rsp), %r14
movq %r14, %rdi
callq 0x22e6
leaq 0x3ccfc(%rsp), %rdi
callq 0x22e6
movq %rbp, %r13
movq %rbp, %rdi
callq 0x22e6
movq %r15, %rdi
callq 0x22e6
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x70(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x10a0
movslq 0x38d8(%rip), %rbx      # 0x50d8
testq %rbx, %rbx
jle 0x18ab
movq 0x60(%rsp), %rax
movq 0x18(%rsp), %rcx
xorl %edx, %edx
movss 0x17eb(%rip), %xmm1     # 0x3008
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 0x181f
incq %rdx
addq %r12, %rcx
addq %r12, %rax
cmpq %rbx, %rdx
jne 0x181d
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x70(%rsp), %rbp
movq %rbp, %rdi
leaq 0x3ccfc(%rsp), %rsi
callq 0x10a0
testl %ebx, %ebx
jle 0x192c
movq 0x28(%rsp), %rax
movq 0x18(%rsp), %rcx
xorl %edx, %edx
movss 0x178e(%rip), %xmm1     # 0x300c
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 0x1880
incq %rdx
addq %r12, %rcx
addq %r12, %rax
cmpq %rbx, %rdx
jne 0x187e
jmp 0x18c0
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
leaq 0x3ccfc(%rsp), %rsi
callq 0x10a0
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x70(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x10a0
testl %ebx, %ebx
jle 0x191a
movq 0x58(%rsp), %rax
movq 0x10(%rsp), %rcx
xorl %edx, %edx
movss 0x171b(%rip), %xmm1     # 0x3008
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 0x18ef
incq %rdx
addq %r12, %rcx
addq %r12, %rax
cmpq %rbx, %rdx
jne 0x18ed
jmp 0x193c
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
movq %r13, %rsi
callq 0x10a0
jmp 0x1998
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
movq %r15, %rsi
callq 0x10a0
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x70(%rsp), %rbp
movq %rbp, %rdi
movq %r13, %rsi
callq 0x10a0
testl %ebx, %ebx
jle 0x1a04
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
xorl %edx, %edx
movss 0x169f(%rip), %xmm1     # 0x300c
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 0x196f
incq %rdx
addq %r12, %rcx
addq %r12, %rax
cmpq %rbx, %rdx
jne 0x196d
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x70(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x10a0
testl %ebx, %ebx
jle 0x19f2
movq 0x50(%rsp), %rax
movq 0x8(%rsp), %rcx
xorl %edx, %edx
movss 0x1643(%rip), %xmm1     # 0x3008
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 0x19c7
incq %rdx
addq %r12, %rcx
addq %r12, %rax
cmpq %rbx, %rdx
jne 0x19c5
jmp 0x1a14
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
movq %r14, %rsi
callq 0x10a0
jmp 0x1a70
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
movq %r15, %rsi
callq 0x10a0
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x70(%rsp), %rbp
movq %rbp, %rdi
movq %r14, %rsi
callq 0x10a0
testl %ebx, %ebx
jle 0x1ac7
movq 0x38(%rsp), %rax
movq 0x8(%rsp), %rcx
xorl %edx, %edx
movss 0x15c7(%rip), %xmm1     # 0x300c
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 0x1a47
incq %rdx
addq %r12, %rcx
addq %r12, %rax
cmpq %rbx, %rdx
jne 0x1a45
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x70(%rsp), %rdi
movq %r15, %rsi
callq 0x10a0
testl %ebx, %ebx
movss 0x157c(%rip), %xmm1     # 0x3008
jle 0x1ad7
movq 0x48(%rsp), %rax
movq 0x40(%rsp), %rcx
xorl %edx, %edx
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 0x1a9c
incq %rdx
addq %r12, %rcx
addq %r12, %rax
cmpq %rbx, %rdx
jne 0x1a9a
jmp 0x1ad7
movl $0x1e644, %edx          # imm = 0x1E644
movq %rbp, %rdi
movq %r15, %rsi
callq 0x10a0
movq %r14, %rdi
callq 0x254e
leaq 0x3ccfc(%rsp), %rdi
callq 0x254e
movq %r13, %rdi
callq 0x254e
movq %r15, %rdi
callq 0x254e
xorps %xmm0, %xmm0
cvtss2sd 0x5c4c0(%rsp), %xmm0
movq %r13, %rbp
movq 0x34c6(%rip), %r13      # 0x4fd8
movq %r13, %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 %r14, %rdi
callq 0x25e0
xorps %xmm0, %xmm0
cvtss2sd 0x3de7c(%rsp), %xmm0
movq %r13, %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 0x25e0
xorps %xmm0, %xmm0
cvtss2sd 0x1f838(%rsp), %xmm0
movq %r13, %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 0x25e0
xorps %xmm0, %xmm0
cvtss2sd 0x7ab04(%rsp), %xmm0
movq %r13, %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 0x25e0
movq 0x68(%rsp), %r14
incl %r14d
cmpl $0x1f4, %r14d           # imm = 0x1F4
jne 0x1711
leaq 0x5c4c4(%rsp), %rdi
callq 0x249a
cmpl $0x4, 0x20(%rsp)
jne 0x22d1
movl $0xa, 0x347e(%rip)      # 0x50d8
leaq 0x5b340(%rsp), %r12
movq %r12, %rdi
callq 0x2af8
leaq 0x3ccfc(%rsp), %r15
movq %r15, %rdi
callq 0x2af8
leaq 0x1e6b8(%rsp), %r14
movq %r14, %rdi
callq 0x2af8
leaq 0x79984(%rsp), %rbx
movq %rbx, %rdi
callq 0x2af8
movl $0xadc4, %eax           # imm = 0xADC4
leaq 0x70(%rsp), %rcx
leaq (%rcx,%rax), %rdx
movq %rdx, 0x60(%rsp)
movl $0x14a04, %edx          # imm = 0x14A04
leaq (%r12,%rdx), %rsi
movq %rsi, 0x18(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x28(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x58(%rsp)
leaq (%r15,%rdx), %rsi
movq %rsi, 0x10(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x30(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x50(%rsp)
leaq (%r14,%rdx), %rsi
movq %rsi, 0x8(%rsp)
leaq (%rcx,%rax), %rsi
movq %rsi, 0x38(%rsp)
addq %rcx, %rax
movq %rax, 0x48(%rsp)
addq %rbx, %rdx
movq %rdx, 0x40(%rsp)
xorl %r14d, %r14d
movl $0x190, %ebp            # 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, %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
leaq 0x12c2(%rip), %rsi      # 0x3038
callq 0x1100
movq %r13, %rdi
movq %r14, 0x68(%rsp)
movl %r14d, %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 %r12, %rdi
callq 0x22e6
movq %r15, %rdi
callq 0x22e6
leaq 0x1e6b8(%rsp), %rdi
callq 0x22e6
movq %rbx, %rdi
callq 0x22e6
movl $0x1e644, %edx          # imm = 0x1E644
leaq 0x70(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x10a0
movslq 0x32e2(%rip), %r13      # 0x50d8
testq %r13, %r13
jle 0x1e98
movq 0x60(%rsp), %rax
movq 0x18(%rsp), %rcx
xorl %edx, %edx
movss 0x11f5(%rip), %xmm1     # 0x3008
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, %r13
jne 0x1e15
incq %rdx
addq %rbp, %rcx
addq %rbp, %rax
cmpq %r13, %rdx
jne 0x1e13
movl $0x1e644, %edx          # imm = 0x1E644
movq %r14, %rdi
movq %r15, %rsi
callq 0x10a0
testl %r13d, %r13d
jle 0x1f15
movq 0x28(%rsp), %rax
movq 0x18(%rsp), %rcx
xorl %edx, %edx
movss 0x11a1(%rip), %xmm1     # 0x300c
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, %r13
jne 0x1e6d
incq %rdx
addq %rbp, %rcx
addq %rbp, %rax
cmpq %r13, %rdx
jne 0x1e6b
jmp 0x1ea8
movl $0x1e644, %edx          # imm = 0x1E644
movq %r14, %rdi
movq %r15, %rsi
callq 0x10a0
movl $0x1e644, %edx          # imm = 0x1E644
movq %r14, %rdi
movq %rbx, %rsi
callq 0x10a0
testl %r13d, %r13d
jle 0x1efe
movq 0x58(%rsp), %rax
movq 0x10(%rsp), %rcx
xorl %edx, %edx
movss 0x1137(%rip), %xmm1     # 0x3008
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, %r13
jne 0x1ed3
incq %rdx
addq %rbp, %rcx
addq %rbp, %rax
cmpq %r13, %rdx
jne 0x1ed1
jmp 0x1f25
movl $0x1e644, %edx          # imm = 0x1E644
movq %r14, %rdi
leaq 0x1e6b8(%rsp), %rsi
callq 0x10a0
jmp 0x1f82
movl $0x1e644, %edx          # imm = 0x1E644
movq %r14, %rdi
movq %rbx, %rsi
callq 0x10a0
movl $0x1e644, %edx          # imm = 0x1E644
movq %r14, %rdi
leaq 0x1e6b8(%rsp), %rsi
callq 0x10a0
testl %r13d, %r13d
jle 0x1fea
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
xorl %edx, %edx
movss 0x10b5(%rip), %xmm1     # 0x300c
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, %r13
jne 0x1f59
incq %rdx
addq %rbp, %rcx
addq %rbp, %rax
cmpq %r13, %rdx
jne 0x1f57
movl $0x1e644, %edx          # imm = 0x1E644
movq %r14, %rdi
movq %rbx, %rsi
callq 0x10a0
testl %r13d, %r13d
jle 0x1fd8
movq 0x50(%rsp), %rax
movq 0x8(%rsp), %rcx
xorl %edx, %edx
movss 0x105d(%rip), %xmm1     # 0x3008
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, %r13
jne 0x1fad
incq %rdx
addq %rbp, %rcx
addq %rbp, %rax
cmpq %r13, %rdx
jne 0x1fab
jmp 0x1ffa
movl $0x1e644, %edx          # imm = 0x1E644
movq %r14, %rdi
movq %r12, %rsi
callq 0x10a0
jmp 0x2052
movl $0x1e644, %edx          # imm = 0x1E644
movq %r14, %rdi
movq %rbx, %rsi
callq 0x10a0
movl $0x1e644, %edx          # imm = 0x1E644
movq %r14, %rdi
movq %r12, %rsi
callq 0x10a0
testl %r13d, %r13d
jle 0x20a8
movq 0x38(%rsp), %rax
movq 0x8(%rsp), %rcx
xorl %edx, %edx
movss 0xfe5(%rip), %xmm1      # 0x300c
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, %r13
jne 0x2029
incq %rdx
addq %rbp, %rcx
addq %rbp, %rax
cmpq %r13, %rdx
jne 0x2027
movl $0x1e644, %edx          # imm = 0x1E644
movq %r14, %rdi
movq %rbx, %rsi
callq 0x10a0
testl %r13d, %r13d
movss 0xf9b(%rip), %xmm1      # 0x3008
jle 0x20b8
movq 0x48(%rsp), %rax
movq 0x40(%rsp), %rcx
xorl %edx, %edx
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, %r13
jne 0x207d
incq %rdx
addq %rbp, %rcx
addq %rbp, %rax
cmpq %r13, %rdx
jne 0x207b
jmp 0x20b8
movl $0x1e644, %edx          # imm = 0x1E644
movq %r14, %rdi
movq %rbx, %rsi
callq 0x10a0
movq %r12, %rdi
callq 0x254e
movq %r15, %rdi
callq 0x254e
leaq 0x1e6b8(%rsp), %r14
movq %r14, %rdi
callq 0x254e
movq %rbx, %rdi
callq 0x254e
xorps %xmm0, %xmm0
cvtss2sd 0x5c4c0(%rsp), %xmm0
movq %r12, %rbx
movq %r15, %r12
movq %r14, %r15
movq 0x2edc(%rip), %r14      # 0x4fd8
movq %r14, %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 %rbx, %rdi
callq 0x25e0
xorps %xmm0, %xmm0
cvtss2sd 0x3de7c(%rsp), %xmm0
movq %r14, %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 %r12, %rdi
callq 0x25e0
xorps %xmm0, %xmm0
cvtss2sd 0x1f838(%rsp), %xmm0
movq %r14, %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 %r15, %rdi
callq 0x25e0
xorps %xmm0, %xmm0
cvtss2sd 0x7ab04(%rsp), %xmm0
movq %r14, %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
movq %r14, %r13
movq %r12, %r15
movq %rbx, %r12
leaq 0x79984(%rsp), %rbx
callq 0x1030
movq %rax, %rdi
callq 0x1090
movq %rbx, %rdi
callq 0x25e0
movq 0x68(%rsp), %r14
incl %r14d
cmpl $0x190, %r14d           # imm = 0x190
jne 0x1d12
movl $0x1184, %ebx           # imm = 0x1184
addq %rbx, %r12
movq %r12, %rdi
callq 0x249a
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
addq %rbx, %r15
movq %r15, %rdi
callq 0x249a
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
leaq 0x1e6b8(%rsp), %rdi
addq %rbx, %rdi
callq 0x249a
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
addq $0x97fc8, %rsp          # imm = 0x97FC8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
xorl %eax, %eax
retq
nop