// File: DivyanshuSaxena[P]green-vrp/Main.cpp
// Function: fillGlobalVariables()
void fillGlobalVariables() {
	// Call certain file from here which will scan .csv(excel) file
	// and fill customerpool accordingly.

	//reading vehicle type below
	ifstream infile;
	infile.open("input_vehicle_type.csv");

		string temp;
		getline(infile,temp,'\n');

	    getline(infile,temp,',');//id
	    getline(infile,temp,',');//type
	    getline(infile,temp,',');//vol max
		capVolType1=stod(temp);
	    getline(infile,temp,',');//max weight
		capVolType1=stod(temp);	

	    getline(infile,temp,',');//driving cnt--unlimited

	    getline(infile,temp,',');//driving range--per full charge
		distanceType1=stod(temp);
		
	    getline(infile,temp,',');//charging time--sae for both
		chargeTime1=stod(temp)*60;
		
	    getline(infile,temp,',');//unit cost--per distance
		unitTransCost1=stod(temp);
		
	    getline(infile,temp,'\n');//fixed cost
		fixedCost1=stod(temp);
		

	    getline(infile,temp,',');
	    getline(infile,temp,',');
	    getline(infile,temp,',');
		capVolType2=stod(temp);
	    getline(infile,temp,',');
		capVolType2=stod(temp);	

	    getline(infile,temp,',');

	    getline(infile,temp,',');
		distanceType2=stod(temp);
		
	    getline(infile,temp,',');
		chargeTime2=stod(temp)*60;
		
	    getline(infile,temp,',');
		unitTransCost2=stod(temp);
		
	    getline(infile,temp,'\n');
		fixedCost2=stod(temp);
		//readingn vehicle info end
		//input of distance_time begins

		std::string file_path= "input_distance-time.txt";
		// std::cout<<"hi"<<std::endl;
		std::ifstream fin(file_path.c_str());
		// std::cout<<"hi"<<std::endl;
		
		getline(fin, temp);//ignoring the first line with heading
		for(long i=0;i<=1211099;i++)
		{
			long fromNode,toNode;
			getline(fin,temp,',');
			fromNode=stoi(temp);
			getline(fin,temp,',');
			toNode=stoi(temp);
			getline(fin,temp,',');

			travelDistance[fromNode][toNode]=stod(temp);
			getline(fin,temp,',');
			travelTimes[fromNode][toNode]=stod(temp);
		}
		//distance-time input end between nodes
		//reading the input_node file below

		numChargingStations=100;
		numCustomers=1000;

		for (int k=1;k<=numCustomers;k++){
			customerPool.push_back(k);
		}//1-1000

		numNodes=1101;
		infile.open("input_vehicle_type.csv");
		string s_temp;
		getline(infile,s_temp,'\n');//enter heading lines
		//importing depot info

		Customer depot;
		getline(infile,s_temp,',');//id
		depot.id=stoi(s_temp);
		getline(infile,s_temp,',');//type
		getline(infile,s_temp,',');//lng
		// depot.lng=stod(s_temp);
		getline(infile,s_temp,',');//lat
		// depot.lat=stod(s_temp);
		getline(infile,s_temp,',');
		getline(infile,s_temp,',');
		getline(infile,s_temp,':');//start time:hour
			double depothour=stod(s_temp)*60;
		getline(infile,s_temp,',');//start time:minute
			depot.timeWindowStarts=stod(s_temp)+depothour;
		getline(infile,s_temp,'\n');//end time
			depot.timeWindowEnds=1440;
		
		customers.push_back(depot);
		
		getline(infile,s_temp,',');
		
		for(int i=1;i<=1000;i++)
		{
			string s_temp;
			Customer tempNode;
			getline(infile,s_temp,',');//id
			tempNode.id=stoi(s_temp);
			getline(infile,s_temp,',');//type
			getline(infile,s_temp,',');//lng
			// tempNode.lng=stod(s_temp);
			getline(infile,s_temp,',');//lat
			// tempNode.lat=stod(s_temp);
			getline(infile,s_temp,',');//weight
			tempNode.demandWeight=stod(s_temp);
			getline(infile,s_temp,',');//volume
			tempNode.demandVol=stod(s_temp);			
			getline(infile,s_temp,':');//start time:hour
					double customerstarthour=stod(s_temp)*60;
			getline(infile,s_temp,',');//start time:minute		
					tempNode.timeWindowStarts=customerstarthour + stod(s_temp);
			getline(infile,s_temp,':');//end time:hour
					double customerendhour=stod(s_temp)*60;
			getline(infile,s_temp,'\n');//end time
					tempNode.timeWindowEnds=customerendhour +stod(s_temp);
			
			customers.push_back(tempNode);
		}
		for(int i=1001;i<=1100;i++)
		{
			string s_temp;
			Customer csNode;
			getline(infile,s_temp,',');//id
			csNode.id=stoi(s_temp);
			getline(infile,s_temp,',');//type
			getline(infile,s_temp,',');//lng
			// csNode.lng=stod(s_temp);
			getline(infile,s_temp,',');//lat
			// csNode.lat=stod(s_temp);
			getline(infile,s_temp,',');//weight
			getline(infile,s_temp,',');//volume
			getline(infile,s_temp,',');//start time
			getline(infile,s_temp,'\n');//end time
			
			customers.push_back(csNode);

		}
//reading input node end




	    // getline(infile,capVolType1,',');

		// getline(infile,capWeightType1,',');
	    // getline(infile,temp,',');
	    // getline(infile,distanceType1,',');
	    // getline(infile,chargeTime1,',');
	    // getline(infile,unitTransCost1,',');
	    // getline(infile,fixedCost1,'\n');

	    // getline(infile,temp,',');
	    // getline(infile,temp,',');
	    // getline(infile,capVolType2,',');
	    // getline(infile,capWeightType2,',');
	    // getline(infile,temp,',');
	    // getline(infile,capVolType2,',');
	    // getline(infile,chargeTime2,',');
	    // getline(infile,unitTransCost2,',');
	    // getline(infile,fixedCost2,'\n');
		


		
		


    // vector<char*> values;
    // const int MAXSIZE = 4;
    // char thisVal[MAXSIZE];
    // while(in.getline(thisVal,MAXSIZE,',')) {
    //     values.resize(values.size() + 1);
    //     values.back() = new char[MAXSIZE];
    //     strcpy(values.back(), thisVal);
    // }
    // in.close();
    // for (char* cp: values) cout<<*cp<<endl;


	
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x6c0, %rsp            # imm = 0x6C0
leaq -0x208(%rbp), %rdi
movq %rdi, -0x5c0(%rbp)
callq 0x21f0
movq -0x5c0(%rbp), %rdi
leaq 0x55be(%rip), %rsi      # 0xb16a
movl $0x8, %edx
callq 0x2100
jmp 0x5bb8
leaq -0x238(%rbp), %rdi
movq %rdi, -0x5c8(%rbp)
callq 0x2220
movq -0x5c8(%rbp), %rsi
leaq -0x208(%rbp), %rdi
movl $0xa, %edx
callq 0x2300
jmp 0x5be5
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5bff
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5c19
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5c33
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x5d0(%rbp)
jmp 0x5c4d
movsd -0x5d0(%rbp), %xmm0
movsd %xmm0, 0xb61b(%rip)     # 0x11278
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5c77
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x5d8(%rbp)
jmp 0x5c91
movsd -0x5d8(%rbp), %xmm0
movsd %xmm0, 0xb5d7(%rip)     # 0x11278
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5cbb
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5cd5
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x5e0(%rbp)
jmp 0x5cef
movsd -0x5e0(%rbp), %xmm0
movsd %xmm0, 0xb599(%rip)     # 0x11298
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5d19
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x5e8(%rbp)
jmp 0x5d33
movsd -0x5e8(%rbp), %xmm0
movsd 0x5355(%rip), %xmm1     # 0xb098
mulsd %xmm1, %xmm0
movsd %xmm0, 0xb579(%rip)     # 0x112c8
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5d69
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x5f0(%rbp)
jmp 0x5d83
movsd -0x5f0(%rbp), %xmm0
movsd %xmm0, 0xb525(%rip)     # 0x112b8
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0xa, %edx
callq 0x2300
jmp 0x5dad
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x5f8(%rbp)
jmp 0x5dc7
movsd -0x5f8(%rbp), %xmm0
movsd %xmm0, 0xb4d1(%rip)     # 0x112a8
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5df1
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5e0b
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5e25
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x600(%rbp)
jmp 0x5e3f
movsd -0x600(%rbp), %xmm0
movsd %xmm0, 0xb431(%rip)     # 0x11280
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5e69
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x608(%rbp)
jmp 0x5e83
movsd -0x608(%rbp), %xmm0
movsd %xmm0, 0xb3ed(%rip)     # 0x11280
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5ead
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5ec7
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x610(%rbp)
jmp 0x5ee1
movsd -0x610(%rbp), %xmm0
movsd %xmm0, 0xb3af(%rip)     # 0x112a0
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5f0b
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x618(%rbp)
jmp 0x5f25
movsd -0x618(%rbp), %xmm0
movsd 0x5163(%rip), %xmm1     # 0xb098
mulsd %xmm1, %xmm0
movsd %xmm0, 0xb38f(%rip)     # 0x112d0
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x5f5b
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x620(%rbp)
jmp 0x5f75
movsd -0x620(%rbp), %xmm0
movsd %xmm0, 0xb33b(%rip)     # 0x112c0
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0xa, %edx
callq 0x2300
jmp 0x5f9f
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x628(%rbp)
jmp 0x5fb9
movsd -0x628(%rbp), %xmm0
movsd %xmm0, 0xb2e7(%rip)     # 0x112b0
leaq -0x259(%rbp), %rdi
movq %rdi, -0x630(%rbp)
callq 0x22d0
movq -0x630(%rbp), %rdx
leaq 0x5197(%rip), %rsi      # 0xb181
leaq -0x258(%rbp), %rdi
callq 0x6fe0
jmp 0x5ff8
leaq -0x259(%rbp), %rdi
callq 0x21c0
leaq -0x258(%rbp), %rdi
callq 0x20b0
movq %rax, %rsi
leaq -0x468(%rbp), %rdi
movl $0x8, %edx
callq 0x22f0
jmp 0x6026
leaq -0x468(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0x2060
jmp 0x603b
movq $0x0, -0x470(%rbp)
cmpq $0x127adb, -0x470(%rbp) # imm = 0x127ADB
jg 0x623d
leaq -0x468(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x6071
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
movl $0xa, %edx
callq 0x7090
movl %eax, -0x634(%rbp)
jmp 0x608e
movl -0x634(%rbp), %eax
cltq
movq %rax, -0x478(%rbp)
leaq -0x468(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x60b7
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
movl $0xa, %edx
callq 0x7090
movl %eax, -0x638(%rbp)
jmp 0x60d4
movl -0x638(%rbp), %eax
cltq
movq %rax, -0x480(%rbp)
leaq -0x468(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x60fd
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x640(%rbp)
jmp 0x6117
movq -0x478(%rbp), %rsi
leaq 0xb0db(%rip), %rdi      # 0x11200
callq 0x4040
movq %rax, %rdi
movq -0x480(%rbp), %rsi
callq 0x40f0
movsd -0x640(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x468(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x615f
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x648(%rbp)
jmp 0x6179
movq -0x478(%rbp), %rsi
leaq 0xb091(%rip), %rdi      # 0x11218
callq 0x4040
movq %rax, %rdi
movq -0x480(%rbp), %rsi
callq 0x40f0
movsd -0x648(%rbp), %xmm0
movsd %xmm0, (%rax)
movq -0x470(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x470(%rbp)
jmp 0x6046
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x210(%rbp)
movl %eax, -0x214(%rbp)
jmp 0x69c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x210(%rbp)
movl %eax, -0x214(%rbp)
jmp 0x69b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x210(%rbp)
movl %eax, -0x214(%rbp)
leaq -0x259(%rbp), %rdi
callq 0x21c0
jmp 0x69b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x210(%rbp)
movl %eax, -0x214(%rbp)
jmp 0x69aa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x210(%rbp)
movl %eax, -0x214(%rbp)
jmp 0x699e
movl $0x64, 0xaf7d(%rip)     # 0x111c4
movl $0x3e8, 0xaf77(%rip)    # imm = 0x3E8
movl $0x1, -0x484(%rbp)
movl -0x484(%rbp), %eax
cmpl 0xaf61(%rip), %eax      # 0x111c8
jg 0x6291
leaq 0xafc0(%rip), %rdi      # 0x11230
leaq -0x484(%rbp), %rsi
callq 0x70d0
jmp 0x627e
jmp 0x6280
movl -0x484(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x484(%rbp)
jmp 0x625b
movl $0x44d, 0xaf31(%rip)    # imm = 0x44D
leaq 0x4ec8(%rip), %rsi      # 0xb16a
leaq -0x208(%rbp), %rdi
movl $0x8, %edx
callq 0x2100
jmp 0x62b5
leaq -0x4a8(%rbp), %rdi
movq %rdi, -0x650(%rbp)
callq 0x2220
movq -0x650(%rbp), %rsi
leaq -0x208(%rbp), %rdi
movl $0xa, %edx
callq 0x2300
jmp 0x62e2
leaq -0x4e0(%rbp), %rdi
callq 0x7140
jmp 0x62f0
leaq -0x208(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x630a
xorl %eax, %eax
movl %eax, %esi
leaq -0x4a8(%rbp), %rdi
movl $0xa, %edx
callq 0x7090
movl %eax, -0x654(%rbp)
jmp 0x6327
movl -0x654(%rbp), %eax
movl %eax, -0x4e0(%rbp)
leaq -0x208(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x634d
leaq -0x208(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x6367
leaq -0x208(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x6381
leaq -0x208(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x639b
leaq -0x208(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x63b5
leaq -0x208(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
movl $0x3a, %edx
callq 0x2300
jmp 0x63cf
xorl %eax, %eax
movl %eax, %esi
leaq -0x4a8(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x660(%rbp)
jmp 0x63e9
movsd -0x660(%rbp), %xmm0
movsd 0x4c9f(%rip), %xmm1     # 0xb098
mulsd %xmm1, %xmm0
movsd %xmm0, -0x4e8(%rbp)
leaq -0x208(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x641f
xorl %eax, %eax
movl %eax, %esi
leaq -0x4a8(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x668(%rbp)
jmp 0x6439
movsd -0x668(%rbp), %xmm0
movsd -0x4e8(%rbp), %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x4b8(%rbp)
leaq -0x208(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
movl $0xa, %edx
callq 0x2300
jmp 0x646f
movabsq $0x4096800000000000, %rax # imm = 0x4096800000000000
movq %rax, -0x4b0(%rbp)
leaq 0xadc1(%rip), %rdi      # 0x11248
leaq -0x4e0(%rbp), %rsi
callq 0x7170
jmp 0x6495
leaq -0x208(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x64af
movl $0x1, -0x4ec(%rbp)
cmpl $0x3e8, -0x4ec(%rbp)    # imm = 0x3E8
jg 0x67cb
leaq -0x510(%rbp), %rdi
callq 0x2220
leaq -0x548(%rbp), %rdi
callq 0x7140
jmp 0x64e3
leaq -0x208(%rbp), %rdi
leaq -0x510(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x64fd
xorl %eax, %eax
movl %eax, %esi
leaq -0x510(%rbp), %rdi
movl $0xa, %edx
callq 0x7090
movl %eax, -0x66c(%rbp)
jmp 0x651a
movl -0x66c(%rbp), %eax
movl %eax, -0x548(%rbp)
leaq -0x208(%rbp), %rdi
leaq -0x510(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x6540
leaq -0x208(%rbp), %rdi
leaq -0x510(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x655a
leaq -0x208(%rbp), %rdi
leaq -0x510(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x6574
leaq -0x208(%rbp), %rdi
leaq -0x510(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x658e
xorl %eax, %eax
movl %eax, %esi
leaq -0x510(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x678(%rbp)
jmp 0x65a8
movsd -0x678(%rbp), %xmm0
movsd %xmm0, -0x540(%rbp)
leaq -0x208(%rbp), %rdi
leaq -0x510(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x65d2
xorl %eax, %eax
movl %eax, %esi
leaq -0x510(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x680(%rbp)
jmp 0x65ec
movsd -0x680(%rbp), %xmm0
movsd %xmm0, -0x538(%rbp)
leaq -0x208(%rbp), %rdi
leaq -0x510(%rbp), %rsi
movl $0x3a, %edx
callq 0x2300
jmp 0x6616
xorl %eax, %eax
movl %eax, %esi
leaq -0x510(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x688(%rbp)
jmp 0x6630
movsd -0x688(%rbp), %xmm0
movsd 0x4a58(%rip), %xmm1     # 0xb098
mulsd %xmm1, %xmm0
movsd %xmm0, -0x550(%rbp)
leaq -0x208(%rbp), %rdi
leaq -0x510(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x6666
movsd -0x550(%rbp), %xmm0
movsd %xmm0, -0x698(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x510(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x690(%rbp)
jmp 0x6690
movsd -0x690(%rbp), %xmm1
movsd -0x698(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x520(%rbp)
leaq -0x208(%rbp), %rdi
leaq -0x510(%rbp), %rsi
movl $0x3a, %edx
callq 0x2300
jmp 0x66c6
xorl %eax, %eax
movl %eax, %esi
leaq -0x510(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x6a0(%rbp)
jmp 0x66e0
movsd -0x6a0(%rbp), %xmm0
movsd 0x49a8(%rip), %xmm1     # 0xb098
mulsd %xmm1, %xmm0
movsd %xmm0, -0x558(%rbp)
leaq -0x208(%rbp), %rdi
leaq -0x510(%rbp), %rsi
movl $0xa, %edx
callq 0x2300
jmp 0x6716
movsd -0x558(%rbp), %xmm0
movsd %xmm0, -0x6b0(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x510(%rbp), %rdi
callq 0x6fa0
movsd %xmm0, -0x6a8(%rbp)
jmp 0x6740
movsd -0x6a8(%rbp), %xmm1
movsd -0x6b0(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x518(%rbp)
leaq 0xaae5(%rip), %rdi      # 0x11248
leaq -0x548(%rbp), %rsi
callq 0x7170
jmp 0x6771
leaq -0x510(%rbp), %rdi
callq 0x20f0
movl -0x4ec(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4ec(%rbp)
jmp 0x64b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x210(%rbp)
movl %eax, -0x214(%rbp)
jmp 0x6992
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x210(%rbp)
movl %eax, -0x214(%rbp)
leaq -0x510(%rbp), %rdi
callq 0x20f0
jmp 0x6992
movl $0x3e9, -0x55c(%rbp)    # imm = 0x3E9
cmpl $0x44c, -0x55c(%rbp)    # imm = 0x44C
jg 0x694d
leaq -0x580(%rbp), %rdi
callq 0x2220
leaq -0x5b8(%rbp), %rdi
callq 0x7140
jmp 0x67ff
leaq -0x208(%rbp), %rdi
leaq -0x580(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x6819
xorl %eax, %eax
movl %eax, %esi
leaq -0x580(%rbp), %rdi
movl $0xa, %edx
callq 0x7090
movl %eax, -0x6b4(%rbp)
jmp 0x6836
movl -0x6b4(%rbp), %eax
movl %eax, -0x5b8(%rbp)
leaq -0x208(%rbp), %rdi
leaq -0x580(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x685c
leaq -0x208(%rbp), %rdi
leaq -0x580(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x6876
leaq -0x208(%rbp), %rdi
leaq -0x580(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x6890
leaq -0x208(%rbp), %rdi
leaq -0x580(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x68aa
leaq -0x208(%rbp), %rdi
leaq -0x580(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x68c4
leaq -0x208(%rbp), %rdi
leaq -0x580(%rbp), %rsi
movl $0x2c, %edx
callq 0x2300
jmp 0x68de
leaq -0x208(%rbp), %rdi
leaq -0x580(%rbp), %rsi
movl $0xa, %edx
callq 0x2300
jmp 0x68f8
leaq 0xa949(%rip), %rdi      # 0x11248
leaq -0x5b8(%rbp), %rsi
callq 0x7170
jmp 0x690d
leaq -0x580(%rbp), %rdi
callq 0x20f0
movl -0x55c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x55c(%rbp)
jmp 0x67d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x210(%rbp)
movl %eax, -0x214(%rbp)
leaq -0x580(%rbp), %rdi
callq 0x20f0
jmp 0x6992
leaq -0x4a8(%rbp), %rdi
callq 0x20f0
leaq -0x468(%rbp), %rdi
callq 0x2070
leaq -0x258(%rbp), %rdi
callq 0x20f0
leaq -0x238(%rbp), %rdi
callq 0x20f0
leaq -0x208(%rbp), %rdi
callq 0x2070
addq $0x6c0, %rsp            # imm = 0x6C0
popq %rbp
retq
leaq -0x4a8(%rbp), %rdi
callq 0x20f0
leaq -0x468(%rbp), %rdi
callq 0x2070
leaq -0x258(%rbp), %rdi
callq 0x20f0
leaq -0x238(%rbp), %rdi
callq 0x20f0
leaq -0x208(%rbp), %rdi
callq 0x2070
movq -0x210(%rbp), %rdi
callq 0x22c0
nopw (%rax,%rax)