// File: 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:
pushq %rbp
movq %rsp, %rbp
subq $0x2f7d10, %rsp         # imm = 0x2F7D10
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpl $0x2, -0x8(%rbp)
je 0x12bb
movl $0x0, -0x4(%rbp)
jmp 0x1ddc
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x1100
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %esi
movq 0x3d03(%rip), %rdi      # 0x4fd8
callq 0x1120
movq %rax, %rdi
movq 0x3ce4(%rip), %rsi      # 0x4fc8
callq 0x10d0
movq %rax, %rdi
movq 0x3cd5(%rip), %rsi      # 0x4fc8
callq 0x10d0
cmpl $0x1, -0x14(%rbp)
jne 0x13ed
movl $0xa, 0x3dbc(%rip)      # 0x50c8
leaq -0x1e658(%rbp), %rdi
callq 0x29c0
movl $0x0, -0x1e65c(%rbp)
cmpl $0x64, -0x1e65c(%rbp)
jge 0x13eb
movq 0x3ca2(%rip), %rdi      # 0x4fd8
movq 0x3c8b(%rip), %rsi      # 0x4fc8
callq 0x10d0
movq %rax, %rdi
movq 0x3c7c(%rip), %rsi      # 0x4fc8
callq 0x10d0
movq %rax, %rdi
leaq 0x1ccd(%rip), %rsi      # 0x3028
callq 0x10c0
movq %rax, %rdi
movl -0x1e65c(%rbp), %esi
callq 0x1120
movq %rax, %rdi
movq 0x3c50(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0x1e658(%rbp), %rdi
callq 0x1df0
leaq -0x1e658(%rbp), %rdi
addq $0x1184, %rdi           # imm = 0x1184
callq 0x1fc0
leaq -0x1e658(%rbp), %rdi
callq 0x2070
movss -0x1d4d8(%rbp), %xmm0
movq 0x3c21(%rip), %rdi      # 0x4fd8
callq 0x1070
movq %rax, %rdi
movq 0x3c02(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0x1e658(%rbp), %rdi
callq 0x2190
movl -0x1e65c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1e65c(%rbp)
jmp 0x1322
jmp 0x13ed
cmpl $0x2, -0x14(%rbp)
jne 0x1546
movl $0x1e, 0x3cc7(%rip)     # 0x50c8
movl $0x2984, -0x1e664(%rbp) # imm = 0x2984
leaq -0x3cca8(%rbp), %rdi
leaq 0x1c1b(%rip), %rsi      # 0x3034
callq 0x2a70
movl $0x0, -0x3ccac(%rbp)
cmpl $0x64, -0x3ccac(%rbp)
jge 0x1533
movq 0x3b9c(%rip), %rdi      # 0x4fd8
movq 0x3b85(%rip), %rsi      # 0x4fc8
callq 0x10d0
movq %rax, %rdi
movq 0x3b76(%rip), %rsi      # 0x4fc8
callq 0x10d0
movq %rax, %rdi
leaq 0x1bc7(%rip), %rsi      # 0x3028
callq 0x10c0
movq %rax, %rdi
movl -0x3ccac(%rbp), %esi
callq 0x1120
movq %rax, %rdi
movq 0x3b4a(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0x3cca8(%rbp), %rdi
callq 0x1df0
leaq -0x3cca8(%rbp), %rdi
addq $0x1184, %rdi           # imm = 0x1184
callq 0x1fc0
movss -0x3bb28(%rbp), %xmm0
movq 0x3b27(%rip), %rdi      # 0x4fd8
callq 0x1070
movq %rax, %rdi
movq 0x3b08(%rip), %rsi      # 0x4fc8
callq 0x10d0
movss -0x3bb28(%rbp), %xmm0
cvtsi2ssl -0x1e664(%rbp), %xmm1
divss %xmm1, %xmm0
movss %xmm0, -0x1e660(%rbp)
movss -0x1e660(%rbp), %xmm0
movq 0x3ae8(%rip), %rdi      # 0x4fd8
callq 0x1070
movq %rax, %rdi
leaq 0x1b44(%rip), %rsi      # 0x3043
callq 0x10c0
movq %rax, %rdi
movq 0x3aba(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0x3cca8(%rbp), %rdi
callq 0x2190
movl -0x3ccac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3ccac(%rbp)
jmp 0x1428
leaq -0x3cca8(%rbp), %rdi
addq $0x1184, %rdi           # imm = 0x1184
callq 0x1fc0
cmpl $0x3, -0x14(%rbp)
jne 0x196c
movl $0x1e, 0x3b6e(%rip)     # 0x50c8
leaq -0x5b2f0(%rbp), %rdi
leaq 0x1acc(%rip), %rsi      # 0x3034
callq 0x2a70
leaq -0x79934(%rbp), %rdi
leaq 0x1ab9(%rip), %rsi      # 0x3034
callq 0x2a70
leaq -0x97f78(%rbp), %rdi
leaq 0x1aa6(%rip), %rsi      # 0x3034
callq 0x2a70
leaq -0xb65bc(%rbp), %rdi
leaq 0x1a93(%rip), %rsi      # 0x3034
callq 0x2a70
movl $0x0, -0xb65c0(%rbp)
cmpl $0x1f4, -0xb65c0(%rbp)  # imm = 0x1F4
jge 0x1959
movq 0x3a11(%rip), %rdi      # 0x4fd8
movq 0x39fa(%rip), %rsi      # 0x4fc8
callq 0x10d0
movq %rax, %rdi
movq 0x39eb(%rip), %rsi      # 0x4fc8
callq 0x10d0
movq %rax, %rdi
leaq 0x1a3c(%rip), %rsi      # 0x3028
callq 0x10c0
movq %rax, %rdi
movl -0xb65c0(%rbp), %esi
callq 0x1120
movq %rax, %rdi
movq 0x39bf(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0x5b2f0(%rbp), %rdi
callq 0x1df0
leaq -0x79934(%rbp), %rdi
callq 0x1df0
leaq -0x97f78(%rbp), %rdi
callq 0x1df0
leaq -0xb65bc(%rbp), %rdi
callq 0x1df0
leaq -0xd4c08(%rbp), %rdi
leaq -0xb65bc(%rbp), %rsi
movl $0x1e644, %edx          # imm = 0x1E644
callq 0x1080
movq %rsp, %rax
movl $0x3cc8, %ecx           # imm = 0x3CC8
leaq -0xd4c08(%rbp), %rsi
movq %rax, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl -0xb65c8(%rbp), %ecx
movl %ecx, 0x1e640(%rax)
leaq -0x5b2f0(%rbp), %rdi
movss 0x197e(%rip), %xmm0     # 0x3004
callq 0x2210
leaq -0xf3250(%rbp), %rdi
leaq -0x79934(%rbp), %rsi
movl $0x1e644, %edx          # imm = 0x1E644
callq 0x1080
movq %rsp, %rax
movl $0x3cc8, %ecx           # imm = 0x3CC8
leaq -0xf3250(%rbp), %rsi
movq %rax, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl -0xd4c10(%rbp), %ecx
movl %ecx, 0x1e640(%rax)
leaq -0x5b2f0(%rbp), %rdi
movss 0x1935(%rip), %xmm0     # 0x3008
callq 0x2210
leaq -0x111898(%rbp), %rdi
leaq -0xb65bc(%rbp), %rsi
movl $0x1e644, %edx          # imm = 0x1E644
callq 0x1080
movq %rsp, %rax
movl $0x3cc8, %ecx           # imm = 0x3CC8
leaq -0x111898(%rbp), %rsi
movq %rax, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl -0xf3258(%rbp), %ecx
movl %ecx, 0x1e640(%rax)
leaq -0x79934(%rbp), %rdi
movss 0x18e4(%rip), %xmm0     # 0x3004
callq 0x2210
leaq -0x12fee0(%rbp), %rdi
leaq -0x97f78(%rbp), %rsi
movl $0x1e644, %edx          # imm = 0x1E644
callq 0x1080
movq %rsp, %rax
movl $0x3cc8, %ecx           # imm = 0x3CC8
leaq -0x12fee0(%rbp), %rsi
movq %rax, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl -0x1118a0(%rbp), %ecx
movl %ecx, 0x1e640(%rax)
leaq -0x79934(%rbp), %rdi
movss 0x189b(%rip), %xmm0     # 0x3008
callq 0x2210
leaq -0x14e528(%rbp), %rdi
leaq -0xb65bc(%rbp), %rsi
movl $0x1e644, %edx          # imm = 0x1E644
callq 0x1080
movq %rsp, %rax
movl $0x3cc8, %ecx           # imm = 0x3CC8
leaq -0x14e528(%rbp), %rsi
movq %rax, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl -0x12fee8(%rbp), %ecx
movl %ecx, 0x1e640(%rax)
leaq -0x97f78(%rbp), %rdi
movss 0x184a(%rip), %xmm0     # 0x3004
callq 0x2210
leaq -0x16cb70(%rbp), %rdi
leaq -0x5b2f0(%rbp), %rsi
movl $0x1e644, %edx          # imm = 0x1E644
callq 0x1080
movq %rsp, %rax
movl $0x3cc8, %ecx           # imm = 0x3CC8
leaq -0x16cb70(%rbp), %rsi
movq %rax, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl -0x14e530(%rbp), %ecx
movl %ecx, 0x1e640(%rax)
leaq -0x97f78(%rbp), %rdi
movss 0x1801(%rip), %xmm0     # 0x3008
callq 0x2210
leaq -0x18b1b8(%rbp), %rdi
leaq -0xb65bc(%rbp), %rsi
movl $0x1e644, %edx          # imm = 0x1E644
callq 0x1080
movq %rsp, %rax
movl $0x3cc8, %ecx           # imm = 0x3CC8
leaq -0x18b1b8(%rbp), %rsi
movq %rax, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl -0x16cb78(%rbp), %ecx
movl %ecx, 0x1e640(%rax)
leaq -0xb65bc(%rbp), %rdi
movss 0x17b0(%rip), %xmm0     # 0x3004
callq 0x2210
leaq -0x5b2f0(%rbp), %rdi
callq 0x2070
leaq -0x79934(%rbp), %rdi
callq 0x2070
leaq -0x97f78(%rbp), %rdi
callq 0x2070
leaq -0xb65bc(%rbp), %rdi
callq 0x2070
movss -0x5a170(%rbp), %xmm0
movq 0x3740(%rip), %rdi      # 0x4fd8
callq 0x1070
movq %rax, %rdi
movq 0x3721(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0x5b2f0(%rbp), %rdi
callq 0x2190
movss -0x787b4(%rbp), %xmm0
movq 0x3711(%rip), %rdi      # 0x4fd8
callq 0x1070
movq %rax, %rdi
movq 0x36f2(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0x79934(%rbp), %rdi
callq 0x2190
movss -0x96df8(%rbp), %xmm0
movq 0x36e2(%rip), %rdi      # 0x4fd8
callq 0x1070
movq %rax, %rdi
movq 0x36c3(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0x97f78(%rbp), %rdi
callq 0x2190
movss -0xb543c(%rbp), %xmm0
movq 0x36b3(%rip), %rdi      # 0x4fd8
callq 0x1070
movq %rax, %rdi
movq 0x3694(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0xb65bc(%rbp), %rdi
callq 0x2190
movl -0xb65c0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb65c0(%rbp)
jmp 0x15b0
leaq -0x5b2f0(%rbp), %rdi
addq $0x1184, %rdi           # imm = 0x1184
callq 0x1fc0
cmpl $0x4, -0x14(%rbp)
jne 0x1dd5
movl $0xa, 0x3748(%rip)      # 0x50c8
leaq -0x1a97fc(%rbp), %rdi
callq 0x29c0
leaq -0x1c7e40(%rbp), %rdi
callq 0x29c0
leaq -0x1e6484(%rbp), %rdi
callq 0x29c0
leaq -0x204ac8(%rbp), %rdi
callq 0x29c0
movl $0x0, -0x204acc(%rbp)
cmpl $0x190, -0x204acc(%rbp) # imm = 0x190
jge 0x1d63
movq 0x3607(%rip), %rdi      # 0x4fd8
movq 0x35f0(%rip), %rsi      # 0x4fc8
callq 0x10d0
movq %rax, %rdi
movq 0x35e1(%rip), %rsi      # 0x4fc8
callq 0x10d0
movq %rax, %rdi
leaq 0x1632(%rip), %rsi      # 0x3028
callq 0x10c0
movq %rax, %rdi
movl -0x204acc(%rbp), %esi
callq 0x1120
movq %rax, %rdi
movq 0x35b5(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0x1a97fc(%rbp), %rdi
callq 0x1df0
leaq -0x1c7e40(%rbp), %rdi
callq 0x1df0
leaq -0x1e6484(%rbp), %rdi
callq 0x1df0
leaq -0x204ac8(%rbp), %rdi
callq 0x1df0
leaq -0x223110(%rbp), %rdi
leaq -0x204ac8(%rbp), %rsi
movl $0x1e644, %edx          # imm = 0x1E644
callq 0x1080
movq %rsp, %rax
movl $0x3cc8, %ecx           # imm = 0x3CC8
leaq -0x223110(%rbp), %rsi
movq %rax, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl -0x204ad0(%rbp), %ecx
movl %ecx, 0x1e640(%rax)
leaq -0x1a97fc(%rbp), %rdi
movss 0x1574(%rip), %xmm0     # 0x3004
callq 0x2210
leaq -0x241758(%rbp), %rdi
leaq -0x1c7e40(%rbp), %rsi
movl $0x1e644, %edx          # imm = 0x1E644
callq 0x1080
movq %rsp, %rax
movl $0x3cc8, %ecx           # imm = 0x3CC8
leaq -0x241758(%rbp), %rsi
movq %rax, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl -0x223118(%rbp), %ecx
movl %ecx, 0x1e640(%rax)
leaq -0x1a97fc(%rbp), %rdi
movss 0x152b(%rip), %xmm0     # 0x3008
callq 0x2210
leaq -0x25fda0(%rbp), %rdi
leaq -0x204ac8(%rbp), %rsi
movl $0x1e644, %edx          # imm = 0x1E644
callq 0x1080
movq %rsp, %rax
movl $0x3cc8, %ecx           # imm = 0x3CC8
leaq -0x25fda0(%rbp), %rsi
movq %rax, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl -0x241760(%rbp), %ecx
movl %ecx, 0x1e640(%rax)
leaq -0x1c7e40(%rbp), %rdi
movss 0x14da(%rip), %xmm0     # 0x3004
callq 0x2210
leaq -0x27e3e8(%rbp), %rdi
leaq -0x1e6484(%rbp), %rsi
movl $0x1e644, %edx          # imm = 0x1E644
callq 0x1080
movq %rsp, %rax
movl $0x3cc8, %ecx           # imm = 0x3CC8
leaq -0x27e3e8(%rbp), %rsi
movq %rax, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl -0x25fda8(%rbp), %ecx
movl %ecx, 0x1e640(%rax)
leaq -0x1c7e40(%rbp), %rdi
movss 0x1491(%rip), %xmm0     # 0x3008
callq 0x2210
leaq -0x29ca30(%rbp), %rdi
leaq -0x204ac8(%rbp), %rsi
movl $0x1e644, %edx          # imm = 0x1E644
callq 0x1080
movq %rsp, %rax
movl $0x3cc8, %ecx           # imm = 0x3CC8
leaq -0x29ca30(%rbp), %rsi
movq %rax, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl -0x27e3f0(%rbp), %ecx
movl %ecx, 0x1e640(%rax)
leaq -0x1e6484(%rbp), %rdi
movss 0x1440(%rip), %xmm0     # 0x3004
callq 0x2210
leaq -0x2bb078(%rbp), %rdi
leaq -0x1a97fc(%rbp), %rsi
movl $0x1e644, %edx          # imm = 0x1E644
callq 0x1080
movq %rsp, %rax
movl $0x3cc8, %ecx           # imm = 0x3CC8
leaq -0x2bb078(%rbp), %rsi
movq %rax, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl -0x29ca38(%rbp), %ecx
movl %ecx, 0x1e640(%rax)
leaq -0x1e6484(%rbp), %rdi
movss 0x13f7(%rip), %xmm0     # 0x3008
callq 0x2210
leaq -0x2d96c0(%rbp), %rdi
leaq -0x204ac8(%rbp), %rsi
movl $0x1e644, %edx          # imm = 0x1E644
callq 0x1080
movq %rsp, %rax
movl $0x3cc8, %ecx           # imm = 0x3CC8
leaq -0x2d96c0(%rbp), %rsi
movq %rax, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl -0x2bb080(%rbp), %ecx
movl %ecx, 0x1e640(%rax)
leaq -0x204ac8(%rbp), %rdi
movss 0x13a6(%rip), %xmm0     # 0x3004
callq 0x2210
leaq -0x1a97fc(%rbp), %rdi
callq 0x2070
leaq -0x1c7e40(%rbp), %rdi
callq 0x2070
leaq -0x1e6484(%rbp), %rdi
callq 0x2070
leaq -0x204ac8(%rbp), %rdi
callq 0x2070
movss -0x1a867c(%rbp), %xmm0
movq 0x3336(%rip), %rdi      # 0x4fd8
callq 0x1070
movq %rax, %rdi
movq 0x3317(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0x1a97fc(%rbp), %rdi
callq 0x2190
movss -0x1c6cc0(%rbp), %xmm0
movq 0x3307(%rip), %rdi      # 0x4fd8
callq 0x1070
movq %rax, %rdi
movq 0x32e8(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0x1c7e40(%rbp), %rdi
callq 0x2190
movss -0x1e5304(%rbp), %xmm0
movq 0x32d8(%rip), %rdi      # 0x4fd8
callq 0x1070
movq %rax, %rdi
movq 0x32b9(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0x1e6484(%rbp), %rdi
callq 0x2190
movss -0x203948(%rbp), %xmm0
movq 0x32a9(%rip), %rdi      # 0x4fd8
callq 0x1070
movq %rax, %rdi
movq 0x328a(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0x204ac8(%rbp), %rdi
callq 0x2190
movl -0x204acc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x204acc(%rbp)
jmp 0x19ba
leaq -0x1a97fc(%rbp), %rdi
addq $0x1184, %rdi           # imm = 0x1184
callq 0x1fc0
movq 0x325b(%rip), %rdi      # 0x4fd8
movq 0x3244(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0x1c7e40(%rbp), %rdi
addq $0x1184, %rdi           # imm = 0x1184
callq 0x1fc0
movq 0x3235(%rip), %rdi      # 0x4fd8
movq 0x321e(%rip), %rsi      # 0x4fc8
callq 0x10d0
leaq -0x1e6484(%rbp), %rdi
addq $0x1184, %rdi           # imm = 0x1184
callq 0x1fc0
movq 0x320f(%rip), %rdi      # 0x4fd8
movq 0x31f8(%rip), %rsi      # 0x4fc8
callq 0x10d0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x2f7d10, %rsp         # imm = 0x2F7D10
popq %rbp
retq
nopl (%rax,%rax)