// File: estwings57[P]CasHMC/sources/CasHMCWrapper.cpp
// Function: CasHMC::CasHMCWrapper::PrintFinalStatistic()
void CasHMCWrapper::PrintFinalStatistic()
{
	time_t now;
    struct tm t;
    time(&now);
    t = *localtime(&now);
	
	string resName = logName + "_result.log";
	resultOut.open(resName.c_str());
	cout<<"\n   === Simulation finished  ( CPU clk:"<<currentClockCycle<<" ) ===   "<<endl;
	cout<<"  [ "<<resName<<" ] is generated"<<endl<<endl;
	
	double elapsedTime = (double)(currentClockCycle*CPU_CLK_PERIOD*1E-9);
	double hmcBandwidth = totalHmcTransmitSize/elapsedTime/(1<<30);
	vector<double> downLinkBandwidth = vector<double>(NUM_LINKS, 0);
	vector<double> upLinkBandwidth = vector<double>(NUM_LINKS, 0);
	vector<double> linkBandwidth = vector<double>(NUM_LINKS, 0);
	double linkBandwidthSum = 0;
	vector<double> downLinkEffecBandwidth = vector<double>(NUM_LINKS, 0);
	vector<double> upLinkEffecBandwidth = vector<double>(NUM_LINKS, 0);
	vector<double> linkEffecBandwidth = vector<double>(NUM_LINKS, 0);
	vector<uint64_t> totalLinkDataSize = vector<uint64_t>(NUM_LINKS, 0);
	for(int i=0; i<NUM_LINKS; i++) {
		downLinkBandwidth[i] = totalDownLinkTransmitSize[i] / elapsedTime / (1<<30);
		upLinkBandwidth[i] = totalUpLinkTransmitSize[i] / elapsedTime / (1<<30);
		linkBandwidth[i] = downLinkBandwidth[i] + upLinkBandwidth[i];
		linkBandwidthSum += linkBandwidth[i];
		//Effective bandwidth is only data bandwith regardless of packet header and tail bits
		downLinkEffecBandwidth[i] = totalDownLinkDataSize[i] / elapsedTime / (1<<30);
		upLinkEffecBandwidth[i] = totalUpLinkDataSize[i] / elapsedTime / (1<<30);
		linkEffecBandwidth[i] = downLinkEffecBandwidth[i] + upLinkEffecBandwidth[i];
		totalLinkDataSize[i] = totalDownLinkDataSize[i] + totalUpLinkDataSize[i];
	}
	
	double tranFullMean = (totalTranCount==0 ? 0 : (double)totalTranFullSum/totalTranCount);
	double linkFullMean = (totalTranCount==0 ? 0 : (double)totalLinkFullSum/totalTranCount);
	double vaultFullMean = (totalTranCount==0 ? 0 : (double)totalVaultFullSum/totalTranCount);
	double errorRetryMean = (totalErrorCount==0 ? 0 : (double)totalErrorRetrySum/totalErrorCount);
	double tranStdDev = sqrt(totalTranCount==0 ? 0 : totalTranStdSum/totalTranCount);
	double linkStdDev = sqrt(totalTranCount==0 ? 0 : totalLinkStdSum/totalTranCount);
	double vaultStdDev = sqrt(totalTranCount==0 ? 0 : totalVaultStdSum/totalTranCount);
	double errorRetryDev = sqrt(totalErrorCount==0 ? 0 : totalErrorStdSum/totalErrorCount);
	
	uint64_t epochReads = 0;
	uint64_t epochWrites = 0;
	uint64_t epochAtomics = 0;
	uint64_t epochReq = 0;
	uint64_t epochRes = 0;
	uint64_t epochFlow = 0;
	unsigned epochError = 0;
	for(int i=0; i<NUM_LINKS; i++) {
		epochReads	+= totalReadPerLink[i];
		epochWrites	+= totalWritePerLink[i];
		epochAtomics+= totalAtomicPerLink[i];
		epochReq	+= totalReqPerLink[i];
		epochRes	+= totalResPerLink[i];
		epochFlow	+= totalFlowPerLink[i];
		epochError	+= totalErrorPerLink[i];
	}
	
	//Link low power statistic
	uint64_t ActModeTotal = 0;
	uint64_t SleepModeTotal = 0;
	uint64_t DownModeTotal = 0;
	double SleepModeAve = 0;
	double DownModeAve = 0;
	vector<double> linkSleepMode = vector<double>(NUM_LINKS, 0);
	vector<double> linkDownMode = vector<double>(NUM_LINKS, 0);
	for(int i=0; i<NUM_LINKS; i++) {
		linkSleepMode[i] = ((double)hmcCont->linkSleepTime[i]/currentClockCycle)*100;
		linkDownMode[i] = ((double)hmcCont->linkDownTime[i]/currentClockCycle)*100;
		SleepModeAve += linkSleepMode[i];
		DownModeAve += linkDownMode[i];
		ActModeTotal += currentClockCycle - (hmcCont->linkSleepTime[i] + hmcCont->linkDownTime[i]);
		SleepModeTotal += hmcCont->linkSleepTime[i];
		DownModeTotal += hmcCont->linkDownTime[i];
	}
	
	double ActPowPerSec = (double)PowPerLane*LINK_SPEED;
	double SlpPowPerSec = (double)PowPerLane*LINK_SPEED*SleepPow/100;
	double DwnPowPerSec = (double)PowPerLane*LINK_SPEED*DownPow/100;
	
	double ActPower = (double)ActModeTotal*ActPowPerSec/currentClockCycle;
	double SleepPower = (double)SleepModeTotal*SlpPowPerSec/currentClockCycle;
	double DownPower = (double)DownModeTotal*DwnPowPerSec/currentClockCycle;

	SleepModeAve /= NUM_LINKS;
	DownModeAve /= NUM_LINKS;


	//Print statistic result
	resultOut<<"****************************************************************"<<endl;
	resultOut<<"*                      CasHMC version 1.3                      *"<<endl;
	resultOut<<"*                       result log file                        *"<<endl;
	resultOut<<"*            Date : "<<t.tm_year + 1900<<"/"<<setw(2)<<setfill('0')<<t.tm_mon+1<<"/"<<setw(2)<<setfill('0')<<t.tm_mday
			<<"      Time : "<<setw(2)<<setfill('0')<<t.tm_hour<<":"<<setw(2)<<setfill('0')<<t.tm_min<<":"<<setw(2)<<setfill('0')<<t.tm_sec
			<<"            *"<<endl;
	resultOut<<"****************************************************************"<<endl<<endl;
	
	resultOut<<"- Trace type : "<<traceType<<endl;
	if(traceType == "random") {
		resultOut<<"- Frequency of requests : "<<memUtil<<endl;
		resultOut<<"- The percentage of reads [%] : "<<rwRatio<<endl;
	}
	else if(traceType == "file") {
		resultOut<<"- Trace file : "<<traceFileName<<endl<<endl;
	}
	
	resultOut<<"  ============= CasHMC statistic result ============="<<endl<<endl;
	resultOut<<"  Elapsed epoch : "<<currentClockCycle/LOG_EPOCH<<endl;
	resultOut<<"  Elapsed clock : "<<currentClockCycle<<endl<<endl;
	
	resultOut<<"        HMC bandwidth : "<<ALI(7)<<hmcBandwidth<<" GB/s  (Considered only data size)"<<endl;
	resultOut<<"       Link bandwidth : "<<ALI(7)<<linkBandwidthSum<<" GB/s  (Included flow packet)"<<endl;
	resultOut<<"     Transmitted data : "<<ALI(7)<<DataScaling(totalHmcTransmitSize)<<" ("<<totalHmcTransmitSize<<" B)"<<endl<<endl;
	
	if(LINK_POWER != NO_MANAGEMENT) {
		resultOut<<"    Active link power : "<<ALI(7)<<ActPower<<" mW"<<endl;
		resultOut<<"     Sleep link power : "<<ALI(7)<<SleepPower<<" mW"<<endl;
		resultOut<<"      Down link power : "<<ALI(7)<<DownPower<<" mW"<<endl;
		resultOut<<"  Total power on link : "<<ALI(7)<<ActPower+SleepPower+DownPower<<" mW"<<endl<<endl;
		resultOut<<"     Sleep mode ratio : "<<ALI(7)<<SleepModeAve<<" %"<<endl;
		resultOut<<"      Down mode ratio : "<<ALI(7)<<DownModeAve<<" %"<<endl;
		resultOut<<"Total low-power ratio : "<<ALI(7)<<SleepModeAve+DownModeAve<<" %"<<endl<<endl;
	}
	else {
		resultOut<<"  Total power on link : "<<ALI(7)<<ActPower+SleepPower+DownPower<<" mW"<<endl<<endl;
	}

	resultOut<<"    Tran latency mean : "<<tranFullMean*CPU_CLK_PERIOD<<" ns"<<endl;
	resultOut<<"                 std  : "<<tranStdDev*CPU_CLK_PERIOD<<" ns"<<endl;
	resultOut<<"                 max  : "<<totalTranFullMax*CPU_CLK_PERIOD<<" ns"<<endl;
	resultOut<<"                 min  : "<<(totalTranFullMin!=-1 ? totalTranFullMin : 0)*CPU_CLK_PERIOD<<" ns"<<endl;
	resultOut<<"    Link latency mean : "<<linkFullMean*CPU_CLK_PERIOD<<" ns"<<endl;
	resultOut<<"                 std  : "<<linkStdDev*CPU_CLK_PERIOD<<" ns"<<endl;
	resultOut<<"                 max  : "<<totalLinkFullMax*CPU_CLK_PERIOD<<" ns"<<endl;
	resultOut<<"                 min  : "<<(totalLinkFullMin!=-1 ? totalLinkFullMin : 0)*CPU_CLK_PERIOD<<" ns"<<endl;
	resultOut<<"   Vault latency mean : "<<vaultFullMean*tCK<<" ns"<<endl;
	resultOut<<"                 std  : "<<vaultStdDev*tCK<<" ns"<<endl;
	resultOut<<"                 max  : "<<totalVaultFullMax*tCK<<" ns"<<endl;
	resultOut<<"                 min  : "<<(totalVaultFullMin!=-1 ? totalVaultFullMin : 0)*tCK<<" ns"<<endl;
	resultOut<<"   Retry latency mean : "<<errorRetryMean*CPU_CLK_PERIOD<<" ns"<<endl;
	resultOut<<"                 std  : "<<errorRetryDev*CPU_CLK_PERIOD<<" ns"<<endl;
	resultOut<<"                 max  : "<<totalErrorRetryMax*CPU_CLK_PERIOD<<" ns"<<endl;
	resultOut<<"                 min  : "<<(totalErrorRetryMin!=-1 ? totalErrorRetryMin : 0)*CPU_CLK_PERIOD<<" ns"<<endl<<endl;
	
	resultOut<<"           Read count : "<<epochReads<<endl;
	resultOut<<"          Write count : "<<epochWrites<<endl;
	resultOut<<"         Atomic count : "<<epochAtomics<<endl;
	resultOut<<"        Request count : "<<epochReq<<endl;
	resultOut<<"       Response count : "<<epochRes<<endl;
	resultOut<<"           Flow count : "<<epochFlow<<endl;
	resultOut<<"    Transaction count : "<<totalTranCount<<endl;
	resultOut<<"    Error abort count : "<<epochError<<endl;
	resultOut<<"    Error retry count : "<<totalErrorCount<<endl<<endl;
	
	for(int i=0; i<NUM_LINKS; i++) {
		resultOut<<"  ----------------------  [Link "<<i<<"]"<<endl;
		resultOut<<"  |               Read per link : "<<totalReadPerLink[i]<<endl;
		resultOut<<"  |              Write per link : "<<totalWritePerLink[i]<<endl;
		resultOut<<"  |             Atomic per link : "<<totalAtomicPerLink[i]<<endl;
		resultOut<<"  |            Request per link : "<<totalReqPerLink[i]<<endl;
		resultOut<<"  |           Response per link : "<<totalResPerLink[i]<<endl;
		resultOut<<"  |               Flow per link : "<<totalFlowPerLink[i]<<endl;
		resultOut<<"  |        Error abort per link : "<<totalErrorPerLink[i]<<endl;
		if(LINK_POWER != NO_MANAGEMENT) {
			resultOut<<"  |            Sleep mode ratio : "<<linkSleepMode[i]<<" %"<<endl;
			resultOut<<"  |             Down mode ratio : "<<linkDownMode[i]<<" %"<<endl;
			resultOut<<"  |  Total low power mode ratio : "<<linkSleepMode[i]+linkDownMode[i]<<" %"<<endl;
		}
		resultOut<<"  |        Downstream Bandwidth : "<<ALI(7)<<downLinkBandwidth[i]<<" GB/s"<<endl;
		resultOut<<"  |          Upstream Bandwidth : "<<ALI(7)<<upLinkBandwidth[i]<<" GB/s"<<endl;
		resultOut<<"  |             Total Bandwidth : "<<ALI(7)<<linkBandwidth[i]<<" GB/s"<<endl;
		resultOut<<"  |  Downstream effec Bandwidth : "<<ALI(7)<<downLinkEffecBandwidth[i]<<" GB/s"<<endl;
		resultOut<<"  |    Upstream effec Bandwidth : "<<ALI(7)<<upLinkEffecBandwidth[i]<<" GB/s"<<endl;
		resultOut<<"  |       Total effec Bandwidth : "<<ALI(7)<<linkEffecBandwidth[i]<<" GB/s"<<endl;
		resultOut<<"  | Downstream transmitted data : "<<ALI(7)<<DataScaling(totalDownLinkDataSize[i])<<" ("<<totalDownLinkDataSize[i]<<" B)"<<endl;
		resultOut<<"  |   Upstream transmitted data : "<<ALI(7)<<DataScaling(totalUpLinkDataSize[i])<<" ("<<totalUpLinkDataSize[i]<<" B)"<<endl;
		resultOut<<"  -----  Total transmitted data : "<<ALI(7)<<DataScaling(totalLinkDataSize[i])<<" ("<<totalLinkDataSize[i]<<" B)"<<endl<<endl;
	}
	resultOut<<"  * Effec bandwidth takes data transmission into account regardless of packet header and tail"<<endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xfc0, %rsp            # imm = 0xFC0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x438(%rbp)
leaq -0x10(%rbp), %rdi
movq %rdi, -0x440(%rbp)
callq 0x4330
movq -0x440(%rbp), %rdi
callq 0x4290
movq -0x438(%rbp), %rsi
movq 0x30(%rax), %rcx
movq %rcx, -0x20(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movaps %xmm2, -0x30(%rbp)
movaps %xmm1, -0x40(%rbp)
movaps %xmm0, -0x50(%rbp)
addq $0x3a8, %rsi            # imm = 0x3A8
leaq 0x421f9(%rip), %rdx     # 0x52663
leaq -0x70(%rbp), %rdi
movq %rdi, -0x430(%rbp)
callq 0x17fa0
movq -0x438(%rbp), %rax
movq -0x430(%rbp), %rdi
addq $0xe18, %rax            # imm = 0xE18
movq %rax, -0x428(%rbp)
callq 0x4180
movq -0x428(%rbp), %rdi
movq %rax, %rsi
movl $0x10, %edx
callq 0x4070
jmp 0x104b0
movq 0x55b19(%rip), %rdi     # 0x65fd0
leaq 0x421b1(%rip), %rsi     # 0x5266f
callq 0x4380
movq %rax, -0x448(%rbp)
jmp 0x104cc
movq -0x448(%rbp), %rdi
movq -0x438(%rbp), %rax
movq 0x370(%rax), %rsi
callq 0x40f0
movq %rax, -0x450(%rbp)
jmp 0x104ef
movq -0x450(%rbp), %rdi
leaq 0x4219a(%rip), %rsi     # 0x52697
callq 0x4380
movq %rax, -0x458(%rbp)
jmp 0x1050b
movq -0x458(%rbp), %rdi
movq 0x55a97(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x10520
movq 0x55aa9(%rip), %rdi     # 0x65fd0
leaq 0x411d9(%rip), %rsi     # 0x51707
callq 0x4380
movq %rax, -0x460(%rbp)
jmp 0x1053c
movq -0x460(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x4320
movq %rax, -0x468(%rbp)
jmp 0x10555
movq -0x468(%rbp), %rdi
leaq 0x411a9(%rip), %rsi     # 0x5170c
callq 0x4380
movq %rax, -0x470(%rbp)
jmp 0x10571
movq -0x470(%rbp), %rdi
movq 0x55a31(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0x478(%rbp)
jmp 0x1058d
movq -0x478(%rbp), %rdi
movq 0x55a15(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x105a2
movq -0x438(%rbp), %rax
movq 0x370(%rax), %xmm0
movaps 0x40b68(%rip), %xmm2    # 0x51120
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
movapd 0x40b6c(%rip), %xmm1    # 0x51130
subpd %xmm1, %xmm0
movaps %xmm0, %xmm3
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm3, %xmm0
leaq 0x55f5e(%rip), %rcx     # 0x66538
movsd (%rcx), %xmm3
mulsd %xmm3, %xmm0
movsd 0x40ace(%rip), %xmm3    # 0x510b8
mulsd %xmm3, %xmm0
movsd %xmm0, -0x88(%rbp)
movq 0x2c8(%rax), %xmm0
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd -0x88(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd 0x40a9b(%rip), %xmm1    # 0x510c0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
leaq 0x55f10(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x488(%rbp)
movq $0x0, -0xb0(%rbp)
leaq -0xb1(%rbp), %rdi
movq %rdi, -0x480(%rbp)
callq 0x17d30
movq -0x488(%rbp), %rsi
movq -0x480(%rbp), %rcx
leaq -0xa8(%rbp), %rdi
leaq -0xb0(%rbp), %rdx
callq 0x17d50
jmp 0x10683
leaq -0xb1(%rbp), %rdi
callq 0x17dd0
leaq 0x55eb2(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x498(%rbp)
movq $0x0, -0xd8(%rbp)
leaq -0xd9(%rbp), %rdi
movq %rdi, -0x490(%rbp)
callq 0x17d30
movq -0x498(%rbp), %rsi
movq -0x490(%rbp), %rcx
leaq -0xd0(%rbp), %rdi
leaq -0xd8(%rbp), %rdx
callq 0x17d50
jmp 0x106e1
leaq -0xd9(%rbp), %rdi
callq 0x17dd0
leaq 0x55e54(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x4a8(%rbp)
movq $0x0, -0x100(%rbp)
leaq -0x101(%rbp), %rdi
movq %rdi, -0x4a0(%rbp)
callq 0x17d30
movq -0x4a8(%rbp), %rsi
movq -0x4a0(%rbp), %rcx
leaq -0xf8(%rbp), %rdi
leaq -0x100(%rbp), %rdx
callq 0x17d50
jmp 0x1073f
leaq -0x101(%rbp), %rdi
callq 0x17dd0
movq $0x0, -0x110(%rbp)
leaq 0x55deb(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x4b8(%rbp)
movq $0x0, -0x130(%rbp)
leaq -0x131(%rbp), %rdi
movq %rdi, -0x4b0(%rbp)
callq 0x17d30
movq -0x4b8(%rbp), %rsi
movq -0x4b0(%rbp), %rcx
leaq -0x128(%rbp), %rdi
leaq -0x130(%rbp), %rdx
callq 0x17d50
jmp 0x107a8
leaq -0x131(%rbp), %rdi
callq 0x17dd0
leaq 0x55d8d(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x4c8(%rbp)
movq $0x0, -0x158(%rbp)
leaq -0x159(%rbp), %rdi
movq %rdi, -0x4c0(%rbp)
callq 0x17d30
movq -0x4c8(%rbp), %rsi
movq -0x4c0(%rbp), %rcx
leaq -0x150(%rbp), %rdi
leaq -0x158(%rbp), %rdx
callq 0x17d50
jmp 0x10806
leaq -0x159(%rbp), %rdi
callq 0x17dd0
leaq 0x55d2f(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x4d8(%rbp)
movq $0x0, -0x180(%rbp)
leaq -0x181(%rbp), %rdi
movq %rdi, -0x4d0(%rbp)
callq 0x17d30
movq -0x4d8(%rbp), %rsi
movq -0x4d0(%rbp), %rcx
leaq -0x178(%rbp), %rdi
leaq -0x180(%rbp), %rdx
callq 0x17d50
jmp 0x10864
leaq -0x181(%rbp), %rdi
callq 0x17dd0
leaq 0x55cd1(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x4e8(%rbp)
movq $0x0, -0x1a8(%rbp)
leaq -0x1a9(%rbp), %rdi
movq %rdi, -0x4e0(%rbp)
callq 0x17820
movq -0x4e8(%rbp), %rsi
movq -0x4e0(%rbp), %rcx
leaq -0x1a0(%rbp), %rdi
leaq -0x1a8(%rbp), %rdx
callq 0x17840
jmp 0x108c2
leaq -0x1a9(%rbp), %rdi
callq 0x17950
movl $0x0, -0x1b0(%rbp)
movl -0x1b0(%rbp), %eax
leaq 0x55c63(%rip), %rcx     # 0x66548
cmpl (%rcx), %eax
jge 0x10d65
movq -0x438(%rbp), %rdi
addq $0x2d0, %rdi            # imm = 0x2D0
movslq -0x1b0(%rbp), %rsi
callq 0x17df0
movq (%rax), %xmm0
movaps 0x4080e(%rip), %xmm1    # 0x51120
movaps %xmm1, -0x530(%rbp)
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x4080b(%rip), %xmm1    # 0x51130
movaps %xmm1, -0x520(%rbp)
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd -0x88(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd 0x40771(%rip), %xmm1    # 0x510c0
movsd %xmm1, -0x540(%rbp)
mulsd %xmm1, %xmm0
movsd %xmm0, -0x578(%rbp)
movslq -0x1b0(%rbp), %rsi
leaq -0xa8(%rbp), %rdi
movq %rdi, -0x568(%rbp)
callq 0x17e10
movsd -0x578(%rbp), %xmm0
movq -0x438(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x2e8, %rdi            # imm = 0x2E8
movslq -0x1b0(%rbp), %rsi
callq 0x17df0
movsd -0x540(%rbp), %xmm1
movaps -0x530(%rbp), %xmm3
movaps -0x520(%rbp), %xmm2
movq (%rax), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
subpd %xmm2, %xmm0
movaps %xmm0, %xmm2
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm2, %xmm0
movsd -0x88(%rbp), %xmm2
divsd %xmm2, %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x570(%rbp)
movslq -0x1b0(%rbp), %rsi
leaq -0xd0(%rbp), %rdi
movq %rdi, -0x560(%rbp)
callq 0x17e10
movsd -0x570(%rbp), %xmm0
movq -0x568(%rbp), %rdi
movsd %xmm0, (%rax)
movslq -0x1b0(%rbp), %rsi
callq 0x17e10
movq -0x560(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x558(%rbp)
movslq -0x1b0(%rbp), %rsi
callq 0x17e10
movsd -0x558(%rbp), %xmm0
movsd (%rax), %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x550(%rbp)
movslq -0x1b0(%rbp), %rsi
leaq -0xf8(%rbp), %rdi
movq %rdi, -0x548(%rbp)
callq 0x17e10
movsd -0x550(%rbp), %xmm0
movq -0x548(%rbp), %rdi
movsd %xmm0, (%rax)
movslq -0x1b0(%rbp), %rsi
callq 0x17e10
movq -0x438(%rbp), %rdi
movsd (%rax), %xmm1
movsd -0x110(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x110(%rbp)
addq $0x300, %rdi            # imm = 0x300
movslq -0x1b0(%rbp), %rsi
callq 0x17df0
movsd -0x540(%rbp), %xmm1
movaps -0x530(%rbp), %xmm3
movaps -0x520(%rbp), %xmm2
movq (%rax), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
subpd %xmm2, %xmm0
movaps %xmm0, %xmm2
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm2, %xmm0
movsd -0x88(%rbp), %xmm2
divsd %xmm2, %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x538(%rbp)
movslq -0x1b0(%rbp), %rsi
leaq -0x128(%rbp), %rdi
callq 0x17e10
movsd -0x538(%rbp), %xmm0
movq -0x438(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x318, %rdi            # imm = 0x318
movslq -0x1b0(%rbp), %rsi
callq 0x17df0
movaps -0x530(%rbp), %xmm2
movaps -0x520(%rbp), %xmm1
movq (%rax), %xmm0
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
divsd -0x88(%rbp), %xmm0
movsd 0x4055a(%rip), %xmm1    # 0x510d0
divsd %xmm1, %xmm0
movsd %xmm0, -0x510(%rbp)
movslq -0x1b0(%rbp), %rsi
leaq -0x150(%rbp), %rdi
callq 0x17e10
movsd -0x510(%rbp), %xmm0
movsd %xmm0, (%rax)
movslq -0x1b0(%rbp), %rsi
leaq -0x128(%rbp), %rdi
callq 0x17e10
movsd (%rax), %xmm0
movsd %xmm0, -0x508(%rbp)
movslq -0x1b0(%rbp), %rsi
leaq -0x150(%rbp), %rdi
callq 0x17e10
movsd -0x508(%rbp), %xmm0
addsd (%rax), %xmm0
movsd %xmm0, -0x500(%rbp)
movslq -0x1b0(%rbp), %rsi
leaq -0x178(%rbp), %rdi
callq 0x17e10
movsd -0x500(%rbp), %xmm0
movq -0x438(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x300, %rdi            # imm = 0x300
movslq -0x1b0(%rbp), %rsi
callq 0x17df0
movq -0x438(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0x4f8(%rbp)
addq $0x318, %rdi            # imm = 0x318
movslq -0x1b0(%rbp), %rsi
callq 0x17df0
movq %rax, %rcx
movq -0x4f8(%rbp), %rax
addq (%rcx), %rax
movq %rax, -0x4f0(%rbp)
movslq -0x1b0(%rbp), %rsi
leaq -0x1a0(%rbp), %rdi
callq 0x17df0
movq -0x4f0(%rbp), %rcx
movq %rcx, (%rax)
movl -0x1b0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1b0(%rbp)
jmp 0x108d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x148fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0xb1(%rbp), %rdi
callq 0x17dd0
jmp 0x148fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0xd9(%rbp), %rdi
callq 0x17dd0
jmp 0x148ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x101(%rbp), %rdi
callq 0x17dd0
jmp 0x148e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x131(%rbp), %rdi
callq 0x17dd0
jmp 0x148d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x159(%rbp), %rdi
callq 0x17dd0
jmp 0x148cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x181(%rbp), %rdi
callq 0x17dd0
jmp 0x148bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x1a9(%rbp), %rdi
callq 0x17950
jmp 0x148b3
movq -0x438(%rbp), %rax
cmpq $0x0, 0x1b0(%rax)
jne 0x10d83
xorps %xmm0, %xmm0
movsd %xmm0, -0x580(%rbp)
jmp 0x10ddb
movq -0x438(%rbp), %rax
movq 0x1c0(%rax), %xmm0
movaps 0x40387(%rip), %xmm3    # 0x51120
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
movapd 0x4038b(%rip), %xmm2    # 0x51130
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq 0x1b0(%rax), %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x580(%rbp)
movq -0x438(%rbp), %rax
movsd -0x580(%rbp), %xmm0
movsd %xmm0, -0x1b8(%rbp)
cmpq $0x0, 0x1b0(%rax)
jne 0x10e09
xorps %xmm0, %xmm0
movsd %xmm0, -0x588(%rbp)
jmp 0x10e61
movq -0x438(%rbp), %rax
movq 0x1c8(%rax), %xmm0
movaps 0x40301(%rip), %xmm3    # 0x51120
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
movapd 0x40305(%rip), %xmm2    # 0x51130
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq 0x1b0(%rax), %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x588(%rbp)
movq -0x438(%rbp), %rax
movsd -0x588(%rbp), %xmm0
movsd %xmm0, -0x1c0(%rbp)
cmpq $0x0, 0x1b0(%rax)
jne 0x10e8f
xorps %xmm0, %xmm0
movsd %xmm0, -0x590(%rbp)
jmp 0x10ee7
movq -0x438(%rbp), %rax
movq 0x1d0(%rax), %xmm0
movaps 0x4027b(%rip), %xmm3    # 0x51120
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
movapd 0x4027f(%rip), %xmm2    # 0x51130
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq 0x1b0(%rax), %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x590(%rbp)
movq -0x438(%rbp), %rax
movsd -0x590(%rbp), %xmm0
movsd %xmm0, -0x1c8(%rbp)
cmpq $0x0, 0x1b8(%rax)
jne 0x10f15
xorps %xmm0, %xmm0
movsd %xmm0, -0x598(%rbp)
jmp 0x10f6d
movq -0x438(%rbp), %rax
movq 0x1d8(%rax), %xmm0
movaps 0x401f5(%rip), %xmm3    # 0x51120
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
movapd 0x401f9(%rip), %xmm2    # 0x51130
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq 0x1b8(%rax), %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x598(%rbp)
movq -0x438(%rbp), %rax
movsd -0x598(%rbp), %xmm0
movsd %xmm0, -0x1d0(%rbp)
cmpq $0x0, 0x1b0(%rax)
jne 0x10f9b
xorps %xmm0, %xmm0
movsd %xmm0, -0x5a0(%rbp)
jmp 0x10fe0
movq -0x438(%rbp), %rax
movsd 0x2a8(%rax), %xmm0
movq 0x1b0(%rax), %xmm1
movaps 0x40167(%rip), %xmm2    # 0x51120
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x4016b(%rip), %xmm2    # 0x51130
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x5a0(%rbp)
movsd -0x5a0(%rbp), %xmm0
callq 0x42c0
movq -0x438(%rbp), %rax
movsd %xmm0, -0x1d8(%rbp)
cmpq $0x0, 0x1b0(%rax)
jne 0x11013
xorps %xmm0, %xmm0
movsd %xmm0, -0x5a8(%rbp)
jmp 0x11058
movq -0x438(%rbp), %rax
movsd 0x2b0(%rax), %xmm0
movq 0x1b0(%rax), %xmm1
movaps 0x400ef(%rip), %xmm2    # 0x51120
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x400f3(%rip), %xmm2    # 0x51130
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x5a8(%rbp)
movsd -0x5a8(%rbp), %xmm0
callq 0x42c0
movq -0x438(%rbp), %rax
movsd %xmm0, -0x1e0(%rbp)
cmpq $0x0, 0x1b0(%rax)
jne 0x1108b
xorps %xmm0, %xmm0
movsd %xmm0, -0x5b0(%rbp)
jmp 0x110d0
movq -0x438(%rbp), %rax
movsd 0x2b8(%rax), %xmm0
movq 0x1b0(%rax), %xmm1
movaps 0x40077(%rip), %xmm2    # 0x51120
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x4007b(%rip), %xmm2    # 0x51130
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x5b0(%rbp)
movsd -0x5b0(%rbp), %xmm0
callq 0x42c0
movq -0x438(%rbp), %rax
movsd %xmm0, -0x1e8(%rbp)
cmpq $0x0, 0x1b8(%rax)
jne 0x11103
xorps %xmm0, %xmm0
movsd %xmm0, -0x5b8(%rbp)
jmp 0x11148
movq -0x438(%rbp), %rax
movsd 0x2c0(%rax), %xmm0
movq 0x1b8(%rax), %xmm1
movaps 0x3ffff(%rip), %xmm2    # 0x51120
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x40003(%rip), %xmm2    # 0x51130
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x5b8(%rbp)
movsd -0x5b8(%rbp), %xmm0
callq 0x42c0
movsd %xmm0, -0x1f0(%rbp)
movq $0x0, -0x1f8(%rbp)
movq $0x0, -0x200(%rbp)
movq $0x0, -0x208(%rbp)
movq $0x0, -0x210(%rbp)
movq $0x0, -0x218(%rbp)
movq $0x0, -0x220(%rbp)
movl $0x0, -0x224(%rbp)
movl $0x0, -0x228(%rbp)
movl -0x228(%rbp), %eax
leaq 0x55388(%rip), %rcx     # 0x66548
cmpl (%rcx), %eax
jge 0x11306
movq -0x438(%rbp), %rdi
addq $0x1e0, %rdi            # imm = 0x1E0
movslq -0x228(%rbp), %rsi
callq 0x17df0
movq -0x438(%rbp), %rdi
movq (%rax), %rax
addq -0x1f8(%rbp), %rax
movq %rax, -0x1f8(%rbp)
addq $0x1f8, %rdi            # imm = 0x1F8
movslq -0x228(%rbp), %rsi
callq 0x17df0
movq -0x438(%rbp), %rdi
movq (%rax), %rax
addq -0x200(%rbp), %rax
movq %rax, -0x200(%rbp)
addq $0x210, %rdi            # imm = 0x210
movslq -0x228(%rbp), %rsi
callq 0x17df0
movq -0x438(%rbp), %rdi
movq (%rax), %rax
addq -0x208(%rbp), %rax
movq %rax, -0x208(%rbp)
addq $0x228, %rdi            # imm = 0x228
movslq -0x228(%rbp), %rsi
callq 0x17df0
movq -0x438(%rbp), %rdi
movq (%rax), %rax
addq -0x210(%rbp), %rax
movq %rax, -0x210(%rbp)
addq $0x240, %rdi            # imm = 0x240
movslq -0x228(%rbp), %rsi
callq 0x17df0
movq -0x438(%rbp), %rdi
movq (%rax), %rax
addq -0x218(%rbp), %rax
movq %rax, -0x218(%rbp)
addq $0x258, %rdi            # imm = 0x258
movslq -0x228(%rbp), %rsi
callq 0x17df0
movq -0x438(%rbp), %rdi
movq (%rax), %rax
addq -0x220(%rbp), %rax
movq %rax, -0x220(%rbp)
addq $0x270, %rdi            # imm = 0x270
movslq -0x228(%rbp), %rsi
callq 0x17e90
movl (%rax), %eax
addl -0x224(%rbp), %eax
movl %eax, -0x224(%rbp)
movl -0x228(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x228(%rbp)
jmp 0x111b3
movq $0x0, -0x230(%rbp)
movq $0x0, -0x238(%rbp)
movq $0x0, -0x240(%rbp)
movq $0x0, -0x248(%rbp)
movq $0x0, -0x250(%rbp)
leaq 0x55204(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x5c8(%rbp)
movq $0x0, -0x270(%rbp)
leaq -0x271(%rbp), %rdi
movq %rdi, -0x5c0(%rbp)
callq 0x17d30
movq -0x5c8(%rbp), %rsi
movq -0x5c0(%rbp), %rcx
leaq -0x268(%rbp), %rdi
leaq -0x270(%rbp), %rdx
callq 0x17d50
jmp 0x1138f
leaq -0x271(%rbp), %rdi
callq 0x17dd0
leaq 0x551a6(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x5d8(%rbp)
movq $0x0, -0x298(%rbp)
leaq -0x299(%rbp), %rdi
movq %rdi, -0x5d0(%rbp)
callq 0x17d30
movq -0x5d8(%rbp), %rsi
movq -0x5d0(%rbp), %rcx
leaq -0x290(%rbp), %rdi
leaq -0x298(%rbp), %rdx
callq 0x17d50
jmp 0x113ed
leaq -0x299(%rbp), %rdi
callq 0x17dd0
movl $0x0, -0x2a0(%rbp)
movl -0x2a0(%rbp), %eax
leaq 0x55138(%rip), %rcx     # 0x66548
cmpl (%rcx), %eax
jge 0x116f6
movq -0x438(%rbp), %rax
movq 0x330(%rax), %rdi
addq $0x320, %rdi            # imm = 0x320
movslq -0x2a0(%rbp), %rsi
callq 0x17df0
movq %rax, %rcx
movq -0x438(%rbp), %rax
movq (%rcx), %xmm0
movaps 0x3fcd2(%rip), %xmm3    # 0x51120
movaps %xmm3, -0x610(%rbp)
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
movapd 0x3fccf(%rip), %xmm2    # 0x51130
movaps %xmm2, -0x600(%rbp)
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq 0x370(%rax), %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd 0x3fc2a(%rip), %xmm1    # 0x510c8
mulsd %xmm1, %xmm0
movsd %xmm0, -0x618(%rbp)
movslq -0x2a0(%rbp), %rsi
leaq -0x268(%rbp), %rdi
callq 0x17e10
movsd -0x618(%rbp), %xmm0
movq %rax, %rcx
movq -0x438(%rbp), %rax
movsd %xmm0, (%rcx)
movq 0x330(%rax), %rdi
addq $0x338, %rdi            # imm = 0x338
movslq -0x2a0(%rbp), %rsi
callq 0x17df0
movaps -0x610(%rbp), %xmm3
movaps -0x600(%rbp), %xmm2
movq %rax, %rcx
movq -0x438(%rbp), %rax
movq (%rcx), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq 0x370(%rax), %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd 0x3fb85(%rip), %xmm1    # 0x510c8
mulsd %xmm1, %xmm0
movsd %xmm0, -0x5f0(%rbp)
movslq -0x2a0(%rbp), %rsi
leaq -0x290(%rbp), %rdi
callq 0x17e10
movsd -0x5f0(%rbp), %xmm0
movsd %xmm0, (%rax)
movslq -0x2a0(%rbp), %rsi
leaq -0x268(%rbp), %rdi
callq 0x17e10
movsd (%rax), %xmm0
addsd -0x248(%rbp), %xmm0
movsd %xmm0, -0x248(%rbp)
movslq -0x2a0(%rbp), %rsi
leaq -0x290(%rbp), %rdi
callq 0x17e10
movq %rax, %rcx
movq -0x438(%rbp), %rax
movsd (%rcx), %xmm0
addsd -0x250(%rbp), %xmm0
movsd %xmm0, -0x250(%rbp)
movq 0x370(%rax), %rcx
movq %rcx, -0x5e0(%rbp)
movq 0x330(%rax), %rdi
addq $0x320, %rdi            # imm = 0x320
movslq -0x2a0(%rbp), %rsi
callq 0x17df0
movq %rax, %rcx
movq -0x438(%rbp), %rax
movq (%rcx), %rcx
movq %rcx, -0x5e8(%rbp)
movq 0x330(%rax), %rdi
addq $0x338, %rdi            # imm = 0x338
movslq -0x2a0(%rbp), %rsi
callq 0x17df0
movq -0x5e8(%rbp), %rdx
movq -0x5e0(%rbp), %rcx
movq %rax, %rsi
movq -0x438(%rbp), %rax
addq (%rsi), %rdx
subq %rdx, %rcx
addq -0x230(%rbp), %rcx
movq %rcx, -0x230(%rbp)
movq 0x330(%rax), %rdi
addq $0x320, %rdi            # imm = 0x320
movslq -0x2a0(%rbp), %rsi
callq 0x17df0
movq %rax, %rcx
movq -0x438(%rbp), %rax
movq (%rcx), %rcx
addq -0x238(%rbp), %rcx
movq %rcx, -0x238(%rbp)
movq 0x330(%rax), %rdi
addq $0x338, %rdi            # imm = 0x338
movslq -0x2a0(%rbp), %rsi
callq 0x17df0
movq (%rax), %rax
addq -0x240(%rbp), %rax
movq %rax, -0x240(%rbp)
movl -0x2a0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2a0(%rbp)
jmp 0x11403
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x271(%rbp), %rdi
callq 0x17dd0
jmp 0x148a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x299(%rbp), %rdi
callq 0x17dd0
jmp 0x1489b
movq -0x438(%rbp), %rdi
leaq 0x54ea4(%rip), %rcx     # 0x665a8
movsd (%rcx), %xmm0
leaq 0x54e41(%rip), %rax     # 0x66550
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x2a8(%rbp)
movsd (%rcx), %xmm0
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
leaq 0x54e7e(%rip), %rdx     # 0x665b0
movsd (%rdx), %xmm1
mulsd %xmm1, %xmm0
movsd 0x3f986(%rip), %xmm1    # 0x510c8
divsd %xmm1, %xmm0
movsd %xmm0, -0x2b0(%rbp)
movsd (%rcx), %xmm0
movsd (%rax), %xmm2
mulsd %xmm2, %xmm0
leaq 0x54e57(%rip), %rax     # 0x665b8
movsd (%rax), %xmm2
mulsd %xmm2, %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x2b8(%rbp)
movq -0x230(%rbp), %xmm0
movaps 0x3f99c(%rip), %xmm3    # 0x51120
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
movapd 0x3f9a0(%rip), %xmm2    # 0x51130
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd -0x2a8(%rbp), %xmm1
mulsd %xmm1, %xmm0
movq 0x370(%rdi), %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm4
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm4, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x2c0(%rbp)
movq -0x238(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd -0x2b0(%rbp), %xmm1
mulsd %xmm1, %xmm0
movq 0x370(%rdi), %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm4
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm4, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x2c8(%rbp)
movq -0x240(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd -0x2b8(%rbp), %xmm1
mulsd %xmm1, %xmm0
movq 0x370(%rdi), %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x2d0(%rbp)
leaq 0x54cd3(%rip), %rax     # 0x66548
cvtsi2sdl (%rax), %xmm1
movsd -0x248(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x248(%rbp)
cvtsi2sdl (%rax), %xmm1
movsd -0x250(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x250(%rbp)
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f94e(%rip), %rsi     # 0x51201
callq 0x4380
movq %rax, -0x620(%rbp)
jmp 0x118c1
movq -0x620(%rbp), %rdi
movq 0x546e1(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x118d6
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f957(%rip), %rsi     # 0x51242
callq 0x4380
movq %rax, -0x628(%rbp)
jmp 0x118f9
movq -0x628(%rbp), %rdi
movq 0x546a9(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x1190e
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x40d7e(%rip), %rsi     # 0x526a1
callq 0x4380
movq %rax, -0x630(%rbp)
jmp 0x11931
movq -0x630(%rbp), %rdi
movq 0x54671(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x11946
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f928(%rip), %rsi     # 0x51283
callq 0x4380
movq %rax, -0x638(%rbp)
jmp 0x11969
movq -0x638(%rbp), %rdi
movl -0x3c(%rbp), %esi
addl $0x76c, %esi            # imm = 0x76C
callq 0x4610
movq %rax, -0x640(%rbp)
jmp 0x11987
movq -0x640(%rbp), %rdi
leaq 0x3f903(%rip), %rsi     # 0x51298
callq 0x4380
movq %rax, -0x648(%rbp)
jmp 0x119a3
movl $0x2, %edi
callq 0x177b0
movl %eax, -0x64c(%rbp)
jmp 0x119b5
movq -0x648(%rbp), %rdi
movl -0x64c(%rbp), %eax
movl %eax, -0x2d4(%rbp)
movl -0x2d4(%rbp), %esi
callq 0x4440
movq %rax, -0x658(%rbp)
jmp 0x119dc
movl $0x30, %edi
callq 0x177d0
movb %al, -0x659(%rbp)
jmp 0x119ee
movq -0x658(%rbp), %rdi
movb -0x659(%rbp), %al
movb %al, -0x2d5(%rbp)
movzbl -0x2d5(%rbp), %esi
callq 0x4550
movq %rax, -0x668(%rbp)
jmp 0x11a16
movq -0x668(%rbp), %rdi
movl -0x40(%rbp), %esi
incl %esi
callq 0x4610
movq %rax, -0x670(%rbp)
jmp 0x11a30
movq -0x670(%rbp), %rdi
leaq 0x3f85a(%rip), %rsi     # 0x51298
callq 0x4380
movq %rax, -0x678(%rbp)
jmp 0x11a4c
movl $0x2, %edi
callq 0x177b0
movl %eax, -0x67c(%rbp)
jmp 0x11a5e
movq -0x678(%rbp), %rdi
movl -0x67c(%rbp), %eax
movl %eax, -0x2dc(%rbp)
movl -0x2dc(%rbp), %esi
callq 0x4440
movq %rax, -0x688(%rbp)
jmp 0x11a85
movl $0x30, %edi
callq 0x177d0
movb %al, -0x689(%rbp)
jmp 0x11a97
movq -0x688(%rbp), %rdi
movb -0x689(%rbp), %al
movb %al, -0x2dd(%rbp)
movzbl -0x2dd(%rbp), %esi
callq 0x4550
movq %rax, -0x698(%rbp)
jmp 0x11abf
movq -0x698(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0x4610
movq %rax, -0x6a0(%rbp)
jmp 0x11ad7
movq -0x6a0(%rbp), %rdi
leaq 0x3f7b5(%rip), %rsi     # 0x5129a
callq 0x4380
movq %rax, -0x6a8(%rbp)
jmp 0x11af3
movl $0x2, %edi
callq 0x177b0
movl %eax, -0x6ac(%rbp)
jmp 0x11b05
movq -0x6a8(%rbp), %rdi
movl -0x6ac(%rbp), %eax
movl %eax, -0x2e4(%rbp)
movl -0x2e4(%rbp), %esi
callq 0x4440
movq %rax, -0x6b8(%rbp)
jmp 0x11b2c
movl $0x30, %edi
callq 0x177d0
movb %al, -0x6b9(%rbp)
jmp 0x11b3e
movq -0x6b8(%rbp), %rdi
movb -0x6b9(%rbp), %al
movb %al, -0x2e5(%rbp)
movzbl -0x2e5(%rbp), %esi
callq 0x4550
movq %rax, -0x6c8(%rbp)
jmp 0x11b66
movq -0x6c8(%rbp), %rdi
movl -0x48(%rbp), %esi
callq 0x4610
movq %rax, -0x6d0(%rbp)
jmp 0x11b7e
movq -0x6d0(%rbp), %rdi
leaq 0x3fca9(%rip), %rsi     # 0x51835
callq 0x4380
movq %rax, -0x6d8(%rbp)
jmp 0x11b9a
movl $0x2, %edi
callq 0x177b0
movl %eax, -0x6dc(%rbp)
jmp 0x11bac
movq -0x6d8(%rbp), %rdi
movl -0x6dc(%rbp), %eax
movl %eax, -0x2ec(%rbp)
movl -0x2ec(%rbp), %esi
callq 0x4440
movq %rax, -0x6e8(%rbp)
jmp 0x11bd3
movl $0x30, %edi
callq 0x177d0
movb %al, -0x6e9(%rbp)
jmp 0x11be5
movq -0x6e8(%rbp), %rdi
movb -0x6e9(%rbp), %al
movb %al, -0x2ed(%rbp)
movzbl -0x2ed(%rbp), %esi
callq 0x4550
movq %rax, -0x6f8(%rbp)
jmp 0x11c0d
movq -0x6f8(%rbp), %rdi
movl -0x4c(%rbp), %esi
callq 0x4610
movq %rax, -0x700(%rbp)
jmp 0x11c25
movq -0x700(%rbp), %rdi
leaq 0x3fc02(%rip), %rsi     # 0x51835
callq 0x4380
movq %rax, -0x708(%rbp)
jmp 0x11c41
movl $0x2, %edi
callq 0x177b0
movl %eax, -0x70c(%rbp)
jmp 0x11c53
movq -0x708(%rbp), %rdi
movl -0x70c(%rbp), %eax
movl %eax, -0x2f4(%rbp)
movl -0x2f4(%rbp), %esi
callq 0x4440
movq %rax, -0x718(%rbp)
jmp 0x11c7a
movl $0x30, %edi
callq 0x177d0
movb %al, -0x719(%rbp)
jmp 0x11c8c
movq -0x718(%rbp), %rdi
movb -0x719(%rbp), %al
movb %al, -0x2f5(%rbp)
movzbl -0x2f5(%rbp), %esi
callq 0x4550
movq %rax, -0x728(%rbp)
jmp 0x11cb4
movq -0x728(%rbp), %rdi
movl -0x50(%rbp), %esi
callq 0x4610
movq %rax, -0x730(%rbp)
jmp 0x11ccc
movq -0x730(%rbp), %rdi
leaq 0x3f601(%rip), %rsi     # 0x512db
callq 0x4380
movq %rax, -0x738(%rbp)
jmp 0x11ce8
movq -0x738(%rbp), %rdi
movq 0x542ba(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x11cfd
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f4ef(%rip), %rsi     # 0x51201
callq 0x4380
movq %rax, -0x740(%rbp)
jmp 0x11d20
movq -0x740(%rbp), %rdi
movq 0x54282(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0x748(%rbp)
jmp 0x11d3c
movq -0x748(%rbp), %rdi
movq 0x54266(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x11d51
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x4097c(%rip), %rsi     # 0x526e2
callq 0x4380
movq %rax, -0x750(%rbp)
jmp 0x11d74
movq -0x750(%rbp), %rdi
leaq 0x54746(%rip), %rsi     # 0x664c8
callq 0x4320
movq %rax, -0x758(%rbp)
jmp 0x11d90
movq -0x758(%rbp), %rdi
movq 0x54212(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x11da5
leaq 0x5471c(%rip), %rdi     # 0x664c8
leaq 0x3fc6c(%rip), %rsi     # 0x51a1f
callq 0x17d00
movb %al, -0x759(%rbp)
jmp 0x11dc0
movb -0x759(%rbp), %al
testb $0x1, %al
jne 0x11dcf
jmp 0x11e8f
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x4090e(%rip), %rsi     # 0x526f2
callq 0x4380
movq %rax, -0x768(%rbp)
jmp 0x11df2
movq -0x768(%rbp), %rdi
movsd 0x546b7(%rip), %xmm0    # 0x664b8
callq 0x4690
movq %rax, -0x770(%rbp)
jmp 0x11e0f
movq -0x770(%rbp), %rdi
movq 0x54193(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x11e24
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x408d4(%rip), %rsi     # 0x5270d
callq 0x4380
movq %rax, -0x778(%rbp)
jmp 0x11e47
movq -0x778(%rbp), %rdi
movsd 0x5466a(%rip), %xmm0    # 0x664c0
callq 0x4690
movq %rax, -0x780(%rbp)
jmp 0x11e64
movq -0x780(%rbp), %rdi
movq 0x5413e(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x11e79
jmp 0x11f2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x1488f
leaq 0x54632(%rip), %rdi     # 0x664c8
leaq 0x40ecc(%rip), %rsi     # 0x52d69
callq 0x17d00
movb %al, -0x781(%rbp)
jmp 0x11eaa
movb -0x781(%rbp), %al
testb $0x1, %al
jne 0x11eb6
jmp 0x11f28
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x40863(%rip), %rsi     # 0x5272e
callq 0x4380
movq %rax, -0x790(%rbp)
jmp 0x11ed9
movq -0x790(%rbp), %rdi
leaq 0x54601(%rip), %rsi     # 0x664e8
callq 0x4320
movq %rax, -0x798(%rbp)
jmp 0x11ef5
movq -0x798(%rbp), %rdi
movq 0x540ad(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0x7a0(%rbp)
jmp 0x11f11
movq -0x7a0(%rbp), %rdi
movq 0x54091(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x11f26
jmp 0x11f28
jmp 0x11f2a
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x407ff(%rip), %rsi     # 0x5273e
callq 0x4380
movq %rax, -0x7a8(%rbp)
jmp 0x11f4d
movq -0x7a8(%rbp), %rdi
movq 0x54055(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0x7b0(%rbp)
jmp 0x11f69
movq -0x7b0(%rbp), %rdi
movq 0x54039(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x11f7e
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x407e1(%rip), %rsi     # 0x52774
callq 0x4380
movq %rax, -0x7b8(%rbp)
jmp 0x11fa1
movq -0x7b8(%rbp), %rdi
movq -0x438(%rbp), %rax
movq 0x370(%rax), %rax
leaq 0x54563(%rip), %rcx     # 0x66520
movq (%rcx), %rcx
xorl %edx, %edx
divq %rcx
movq %rax, %rsi
callq 0x40f0
movq %rax, -0x7c0(%rbp)
jmp 0x11fd6
movq -0x7c0(%rbp), %rdi
movq 0x53fcc(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x11feb
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x40787(%rip), %rsi     # 0x52787
callq 0x4380
movq %rax, -0x7c8(%rbp)
jmp 0x1200e
movq -0x7c8(%rbp), %rdi
movq -0x438(%rbp), %rax
movq 0x370(%rax), %rsi
callq 0x40f0
movq %rax, -0x7d0(%rbp)
jmp 0x12031
movq -0x7d0(%rbp), %rdi
movq 0x53f71(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0x7d8(%rbp)
jmp 0x1204d
movq -0x7d8(%rbp), %rdi
movq 0x53f55(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x12062
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x4008e(%rip), %rsi     # 0x52105
callq 0x4380
movq %rax, -0x7e0(%rbp)
jmp 0x12085
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x7e4(%rbp)
jmp 0x12097
movq -0x7e0(%rbp), %rdi
movl -0x7e4(%rbp), %eax
movl %eax, -0x2fc(%rbp)
movl -0x2fc(%rbp), %esi
callq 0x4440
movq %rax, -0x7f0(%rbp)
jmp 0x120be
movl $0x20, %edi
callq 0x177d0
movb %al, -0x7f1(%rbp)
jmp 0x120d0
movq -0x7f0(%rbp), %rdi
movb -0x7f1(%rbp), %al
movb %al, -0x2fd(%rbp)
movzbl -0x2fd(%rbp), %esi
callq 0x4550
movq %rax, -0x800(%rbp)
jmp 0x120f8
movq -0x800(%rbp), %rdi
movsd -0x90(%rbp), %xmm0
callq 0x4690
movq %rax, -0x808(%rbp)
jmp 0x12115
movq -0x808(%rbp), %rdi
leaq 0x3fffb(%rip), %rsi     # 0x5211e
callq 0x4380
movq %rax, -0x810(%rbp)
jmp 0x12131
movq -0x810(%rbp), %rdi
movq 0x53e71(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x12146
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3ffe6(%rip), %rsi     # 0x52141
callq 0x4380
movq %rax, -0x818(%rbp)
jmp 0x12169
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x81c(%rbp)
jmp 0x1217b
movq -0x818(%rbp), %rdi
movl -0x81c(%rbp), %eax
movl %eax, -0x304(%rbp)
movl -0x304(%rbp), %esi
callq 0x4440
movq %rax, -0x828(%rbp)
jmp 0x121a2
movl $0x20, %edi
callq 0x177d0
movb %al, -0x829(%rbp)
jmp 0x121b4
movq -0x828(%rbp), %rdi
movb -0x829(%rbp), %al
movb %al, -0x305(%rbp)
movzbl -0x305(%rbp), %esi
callq 0x4550
movq %rax, -0x838(%rbp)
jmp 0x121dc
movq -0x838(%rbp), %rdi
movsd -0x110(%rbp), %xmm0
callq 0x4690
movq %rax, -0x840(%rbp)
jmp 0x121f9
movq -0x840(%rbp), %rdi
leaq 0x3ff53(%rip), %rsi     # 0x5215a
callq 0x4380
movq %rax, -0x848(%rbp)
jmp 0x12215
movq -0x848(%rbp), %rdi
movq 0x53d8d(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x1222a
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3ff39(%rip), %rsi     # 0x52178
callq 0x4380
movq %rax, -0x850(%rbp)
jmp 0x1224d
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x854(%rbp)
jmp 0x1225f
movq -0x850(%rbp), %rdi
movl -0x854(%rbp), %eax
movl %eax, -0x30c(%rbp)
movl -0x30c(%rbp), %esi
callq 0x4440
movq %rax, -0x860(%rbp)
jmp 0x12286
movl $0x20, %edi
callq 0x177d0
movb %al, -0x861(%rbp)
jmp 0x12298
movq -0x860(%rbp), %rdi
movb -0x861(%rbp), %al
movb %al, -0x30d(%rbp)
movzbl -0x30d(%rbp), %esi
callq 0x4550
movq %rax, -0x870(%rbp)
jmp 0x122c0
movq -0x438(%rbp), %rsi
movq 0x2c8(%rsi), %xmm0
movaps 0x3ee4a(%rip), %xmm1    # 0x51120
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x3ee4e(%rip), %xmm1    # 0x51130
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
leaq -0x330(%rbp), %rdi
callq 0x15cc0
jmp 0x122ff
movq -0x870(%rbp), %rdi
leaq -0x330(%rbp), %rsi
callq 0x4320
movq %rax, -0x878(%rbp)
jmp 0x1231b
movq -0x878(%rbp), %rdi
leaq 0x4152d(%rip), %rsi     # 0x53856
callq 0x4380
movq %rax, -0x880(%rbp)
jmp 0x12337
movq -0x880(%rbp), %rdi
movq -0x438(%rbp), %rax
movq 0x2c8(%rax), %rsi
callq 0x40f0
movq %rax, -0x888(%rbp)
jmp 0x1235a
movq -0x888(%rbp), %rdi
leaq 0x3fe29(%rip), %rsi     # 0x52191
callq 0x4380
movq %rax, -0x890(%rbp)
jmp 0x12376
movq -0x890(%rbp), %rdi
movq 0x53c2c(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0x898(%rbp)
jmp 0x12392
movq -0x898(%rbp), %rdi
movq 0x53c10(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x123a7
leaq -0x330(%rbp), %rdi
callq 0x46e8
leaq 0x541ce(%rip), %rax     # 0x66588
cmpl $0x0, (%rax)
je 0x12a7d
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x403c2(%rip), %rsi     # 0x5279a
callq 0x4380
movq %rax, -0x8a0(%rbp)
jmp 0x123e6
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x8a4(%rbp)
jmp 0x123f8
movq -0x8a0(%rbp), %rdi
movl -0x8a4(%rbp), %eax
movl %eax, -0x334(%rbp)
movl -0x334(%rbp), %esi
callq 0x4440
movq %rax, -0x8b0(%rbp)
jmp 0x1241f
movl $0x20, %edi
callq 0x177d0
movb %al, -0x8b1(%rbp)
jmp 0x12431
movq -0x8b0(%rbp), %rdi
movb -0x8b1(%rbp), %al
movb %al, -0x335(%rbp)
movzbl -0x335(%rbp), %esi
callq 0x4550
movq %rax, -0x8c0(%rbp)
jmp 0x12459
movq -0x8c0(%rbp), %rdi
movsd -0x2c0(%rbp), %xmm0
callq 0x4690
movq %rax, -0x8c8(%rbp)
jmp 0x12476
movq -0x8c8(%rbp), %rdi
leaq 0x4032f(%rip), %rsi     # 0x527b3
callq 0x4380
movq %rax, -0x8d0(%rbp)
jmp 0x12492
movq -0x8d0(%rbp), %rdi
movq 0x53b10(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x124a7
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x402fb(%rip), %rsi     # 0x527b7
callq 0x4380
movq %rax, -0x8d8(%rbp)
jmp 0x124ca
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x8dc(%rbp)
jmp 0x124dc
movq -0x8d8(%rbp), %rdi
movl -0x8dc(%rbp), %eax
movl %eax, -0x33c(%rbp)
movl -0x33c(%rbp), %esi
callq 0x4440
movq %rax, -0x8e8(%rbp)
jmp 0x12503
movl $0x20, %edi
callq 0x177d0
movb %al, -0x8e9(%rbp)
jmp 0x12515
movq -0x8e8(%rbp), %rdi
movb -0x8e9(%rbp), %al
movb %al, -0x33d(%rbp)
movzbl -0x33d(%rbp), %esi
callq 0x4550
movq %rax, -0x8f8(%rbp)
jmp 0x1253d
movq -0x8f8(%rbp), %rdi
movsd -0x2c8(%rbp), %xmm0
callq 0x4690
movq %rax, -0x900(%rbp)
jmp 0x1255a
movq -0x900(%rbp), %rdi
leaq 0x4024b(%rip), %rsi     # 0x527b3
callq 0x4380
movq %rax, -0x908(%rbp)
jmp 0x12576
movq -0x908(%rbp), %rdi
movq 0x53a2c(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x1258b
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x40230(%rip), %rsi     # 0x527d0
callq 0x4380
movq %rax, -0x910(%rbp)
jmp 0x125ae
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x914(%rbp)
jmp 0x125c0
movq -0x910(%rbp), %rdi
movl -0x914(%rbp), %eax
movl %eax, -0x344(%rbp)
movl -0x344(%rbp), %esi
callq 0x4440
movq %rax, -0x920(%rbp)
jmp 0x125e7
movl $0x20, %edi
callq 0x177d0
movb %al, -0x921(%rbp)
jmp 0x125f9
movq -0x920(%rbp), %rdi
movb -0x921(%rbp), %al
movb %al, -0x345(%rbp)
movzbl -0x345(%rbp), %esi
callq 0x4550
movq %rax, -0x930(%rbp)
jmp 0x12621
movq -0x930(%rbp), %rdi
movsd -0x2d0(%rbp), %xmm0
callq 0x4690
movq %rax, -0x938(%rbp)
jmp 0x1263e
movq -0x938(%rbp), %rdi
leaq 0x40167(%rip), %rsi     # 0x527b3
callq 0x4380
movq %rax, -0x940(%rbp)
jmp 0x1265a
movq -0x940(%rbp), %rdi
movq 0x53948(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x1266f
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x40165(%rip), %rsi     # 0x527e9
callq 0x4380
movq %rax, -0x948(%rbp)
jmp 0x12692
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x94c(%rbp)
jmp 0x126a4
movq -0x948(%rbp), %rdi
movl -0x94c(%rbp), %eax
movl %eax, -0x34c(%rbp)
movl -0x34c(%rbp), %esi
callq 0x4440
movq %rax, -0x958(%rbp)
jmp 0x126cb
movl $0x20, %edi
callq 0x177d0
movb %al, -0x959(%rbp)
jmp 0x126dd
movq -0x958(%rbp), %rdi
movb -0x959(%rbp), %al
movb %al, -0x34d(%rbp)
movzbl -0x34d(%rbp), %esi
callq 0x4550
movq %rax, -0x968(%rbp)
jmp 0x12705
movq -0x968(%rbp), %rdi
movsd -0x2c0(%rbp), %xmm0
movsd -0x2c8(%rbp), %xmm1
addsd %xmm1, %xmm0
movsd -0x2d0(%rbp), %xmm1
addsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x970(%rbp)
jmp 0x1273a
movq -0x970(%rbp), %rdi
leaq 0x4006b(%rip), %rsi     # 0x527b3
callq 0x4380
movq %rax, -0x978(%rbp)
jmp 0x12756
movq -0x978(%rbp), %rdi
movq 0x5384c(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0x980(%rbp)
jmp 0x12772
movq -0x980(%rbp), %rdi
movq 0x53830(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x12787
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3fcc9(%rip), %rsi     # 0x52465
callq 0x4380
movq %rax, -0x988(%rbp)
jmp 0x127aa
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x98c(%rbp)
jmp 0x127bc
movq -0x988(%rbp), %rdi
movl -0x98c(%rbp), %eax
movl %eax, -0x354(%rbp)
movl -0x354(%rbp), %esi
callq 0x4440
movq %rax, -0x998(%rbp)
jmp 0x127e3
movl $0x20, %edi
callq 0x177d0
movb %al, -0x999(%rbp)
jmp 0x127f5
movq -0x998(%rbp), %rdi
movb -0x999(%rbp), %al
movb %al, -0x355(%rbp)
movzbl -0x355(%rbp), %esi
callq 0x4550
movq %rax, -0x9a8(%rbp)
jmp 0x1281d
movq -0x9a8(%rbp), %rdi
movsd -0x248(%rbp), %xmm0
callq 0x4690
movq %rax, -0x9b0(%rbp)
jmp 0x1283a
movq -0x9b0(%rbp), %rdi
leaq 0x3f94d(%rip), %rsi     # 0x52195
callq 0x4380
movq %rax, -0x9b8(%rbp)
jmp 0x12856
movq -0x9b8(%rbp), %rdi
movq 0x5374c(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x1286b
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3fc08(%rip), %rsi     # 0x52488
callq 0x4380
movq %rax, -0x9c0(%rbp)
jmp 0x1288e
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x9c4(%rbp)
jmp 0x128a0
movq -0x9c0(%rbp), %rdi
movl -0x9c4(%rbp), %eax
movl %eax, -0x35c(%rbp)
movl -0x35c(%rbp), %esi
callq 0x4440
movq %rax, -0x9d0(%rbp)
jmp 0x128c7
movl $0x20, %edi
callq 0x177d0
movb %al, -0x9d1(%rbp)
jmp 0x128d9
movq -0x9d0(%rbp), %rdi
movb -0x9d1(%rbp), %al
movb %al, -0x35d(%rbp)
movzbl -0x35d(%rbp), %esi
callq 0x4550
movq %rax, -0x9e0(%rbp)
jmp 0x12901
movq -0x9e0(%rbp), %rdi
movsd -0x250(%rbp), %xmm0
callq 0x4690
movq %rax, -0x9e8(%rbp)
jmp 0x1291e
movq -0x9e8(%rbp), %rdi
leaq 0x3f869(%rip), %rsi     # 0x52195
callq 0x4380
movq %rax, -0x9f0(%rbp)
jmp 0x1293a
movq -0x9f0(%rbp), %rdi
movq 0x53668(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x1294f
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3fe9e(%rip), %rsi     # 0x52802
callq 0x4380
movq %rax, -0x9f8(%rbp)
jmp 0x12972
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x9fc(%rbp)
jmp 0x12984
movq -0x9f8(%rbp), %rdi
movl -0x9fc(%rbp), %eax
movl %eax, -0x364(%rbp)
movl -0x364(%rbp), %esi
callq 0x4440
movq %rax, -0xa08(%rbp)
jmp 0x129ab
movl $0x20, %edi
callq 0x177d0
movb %al, -0xa09(%rbp)
jmp 0x129bd
movq -0xa08(%rbp), %rdi
movb -0xa09(%rbp), %al
movb %al, -0x365(%rbp)
movzbl -0x365(%rbp), %esi
callq 0x4550
movq %rax, -0xa18(%rbp)
jmp 0x129e5
movq -0xa18(%rbp), %rdi
movsd -0x248(%rbp), %xmm0
movsd -0x250(%rbp), %xmm1
addsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xa20(%rbp)
jmp 0x12a0e
movq -0xa20(%rbp), %rdi
leaq 0x3f779(%rip), %rsi     # 0x52195
callq 0x4380
movq %rax, -0xa28(%rbp)
jmp 0x12a2a
movq -0xa28(%rbp), %rdi
movq 0x53578(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0xa30(%rbp)
jmp 0x12a46
movq -0xa30(%rbp), %rdi
movq 0x5355c(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x12a5b
jmp 0x12b97
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x330(%rbp), %rdi
callq 0x46e8
jmp 0x1488f
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3fd57(%rip), %rsi     # 0x527e9
callq 0x4380
movq %rax, -0xa38(%rbp)
jmp 0x12aa0
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xa3c(%rbp)
jmp 0x12ab2
movq -0xa38(%rbp), %rdi
movl -0xa3c(%rbp), %eax
movl %eax, -0x36c(%rbp)
movl -0x36c(%rbp), %esi
callq 0x4440
movq %rax, -0xa48(%rbp)
jmp 0x12ad9
movl $0x20, %edi
callq 0x177d0
movb %al, -0xa49(%rbp)
jmp 0x12aeb
movq -0xa48(%rbp), %rdi
movb -0xa49(%rbp), %al
movb %al, -0x36d(%rbp)
movzbl -0x36d(%rbp), %esi
callq 0x4550
movq %rax, -0xa58(%rbp)
jmp 0x12b13
movq -0xa58(%rbp), %rdi
movsd -0x2c0(%rbp), %xmm0
movsd -0x2c8(%rbp), %xmm1
addsd %xmm1, %xmm0
movsd -0x2d0(%rbp), %xmm1
addsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xa60(%rbp)
jmp 0x12b48
movq -0xa60(%rbp), %rdi
leaq 0x3fc5d(%rip), %rsi     # 0x527b3
callq 0x4380
movq %rax, -0xa68(%rbp)
jmp 0x12b64
movq -0xa68(%rbp), %rdi
movq 0x5343e(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0xa70(%rbp)
jmp 0x12b80
movq -0xa70(%rbp), %rdi
movq 0x53422(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x12b95
jmp 0x12b97
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f605(%rip), %rsi     # 0x521b1
callq 0x4380
movq %rax, -0xa78(%rbp)
jmp 0x12bba
movq -0xa78(%rbp), %rdi
movsd -0x1b8(%rbp), %xmm0
leaq 0x53968(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xa80(%rbp)
jmp 0x12be6
movq -0xa80(%rbp), %rdi
leaq 0x3f5d6(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xa88(%rbp)
jmp 0x12c02
movq -0xa88(%rbp), %rdi
movq 0x533a0(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x12c17
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f5a2(%rip), %rsi     # 0x521ce
callq 0x4380
movq %rax, -0xa90(%rbp)
jmp 0x12c3a
movq -0xa90(%rbp), %rdi
movsd -0x1d8(%rbp), %xmm0
leaq 0x538e8(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xa98(%rbp)
jmp 0x12c66
movq -0xa98(%rbp), %rdi
leaq 0x3f556(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xaa0(%rbp)
jmp 0x12c82
movq -0xaa0(%rbp), %rdi
movq 0x53320(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x12c97
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f53b(%rip), %rsi     # 0x521e7
callq 0x4380
movq %rax, -0xaa8(%rbp)
jmp 0x12cba
movq -0xaa8(%rbp), %rdi
movq -0x438(%rbp), %rax
movl 0x288(%rax), %eax
cvtsi2sd %rax, %xmm0
leaq 0x5385e(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xab0(%rbp)
jmp 0x12cf0
movq -0xab0(%rbp), %rdi
leaq 0x3f4cc(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xab8(%rbp)
jmp 0x12d0c
movq -0xab8(%rbp), %rdi
movq 0x53296(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x12d21
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f4ca(%rip), %rsi     # 0x52200
callq 0x4380
movq %rax, -0xac0(%rbp)
jmp 0x12d44
movq -0x438(%rbp), %rax
cmpl $-0x1, 0x28c(%rax)
je 0x12d69
movq -0x438(%rbp), %rax
movl 0x28c(%rax), %eax
movl %eax, -0xac4(%rbp)
jmp 0x12d73
xorl %eax, %eax
movl %eax, -0xac4(%rbp)
jmp 0x12d73
movq -0xac0(%rbp), %rdi
movl -0xac4(%rbp), %eax
movl %eax, %eax
cvtsi2sd %rax, %xmm0
leaq 0x537aa(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xad0(%rbp)
jmp 0x12da4
movq -0xad0(%rbp), %rdi
leaq 0x3f418(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xad8(%rbp)
jmp 0x12dc0
movq -0xad8(%rbp), %rdi
movq 0x531e2(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x12dd5
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f42f(%rip), %rsi     # 0x52219
callq 0x4380
movq %rax, -0xae0(%rbp)
jmp 0x12df8
movq -0xae0(%rbp), %rdi
movsd -0x1c0(%rbp), %xmm0
leaq 0x5372a(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xae8(%rbp)
jmp 0x12e24
movq -0xae8(%rbp), %rdi
leaq 0x3f398(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xaf0(%rbp)
jmp 0x12e40
movq -0xaf0(%rbp), %rdi
movq 0x53162(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x12e55
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f364(%rip), %rsi     # 0x521ce
callq 0x4380
movq %rax, -0xaf8(%rbp)
jmp 0x12e78
movq -0xaf8(%rbp), %rdi
movsd -0x1e0(%rbp), %xmm0
leaq 0x536aa(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xb00(%rbp)
jmp 0x12ea4
movq -0xb00(%rbp), %rdi
leaq 0x3f318(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xb08(%rbp)
jmp 0x12ec0
movq -0xb08(%rbp), %rdi
movq 0x530e2(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x12ed5
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f2fd(%rip), %rsi     # 0x521e7
callq 0x4380
movq %rax, -0xb10(%rbp)
jmp 0x12ef8
movq -0xb10(%rbp), %rdi
movq -0x438(%rbp), %rax
movl 0x290(%rax), %eax
cvtsi2sd %rax, %xmm0
leaq 0x53620(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xb18(%rbp)
jmp 0x12f2e
movq -0xb18(%rbp), %rdi
leaq 0x3f28e(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xb20(%rbp)
jmp 0x12f4a
movq -0xb20(%rbp), %rdi
movq 0x53058(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x12f5f
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f28c(%rip), %rsi     # 0x52200
callq 0x4380
movq %rax, -0xb28(%rbp)
jmp 0x12f82
movq -0x438(%rbp), %rax
cmpl $-0x1, 0x294(%rax)
je 0x12fa7
movq -0x438(%rbp), %rax
movl 0x294(%rax), %eax
movl %eax, -0xb2c(%rbp)
jmp 0x12fb1
xorl %eax, %eax
movl %eax, -0xb2c(%rbp)
jmp 0x12fb1
movq -0xb28(%rbp), %rdi
movl -0xb2c(%rbp), %eax
movl %eax, %eax
cvtsi2sd %rax, %xmm0
leaq 0x5356c(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xb38(%rbp)
jmp 0x12fe2
movq -0xb38(%rbp), %rdi
leaq 0x3f1da(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xb40(%rbp)
jmp 0x12ffe
movq -0xb40(%rbp), %rdi
movq 0x52fa4(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13013
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f20a(%rip), %rsi     # 0x52232
callq 0x4380
movq %rax, -0xb48(%rbp)
jmp 0x13036
movq -0xb48(%rbp), %rdi
movsd -0x1c8(%rbp), %xmm0
leaq 0x535f4(%rip), %rax     # 0x66640
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xb50(%rbp)
jmp 0x13062
movq -0xb50(%rbp), %rdi
leaq 0x3f15a(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xb58(%rbp)
jmp 0x1307e
movq -0xb58(%rbp), %rdi
movq 0x52f24(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13093
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f126(%rip), %rsi     # 0x521ce
callq 0x4380
movq %rax, -0xb60(%rbp)
jmp 0x130b6
movq -0xb60(%rbp), %rdi
movsd -0x1e8(%rbp), %xmm0
leaq 0x53574(%rip), %rax     # 0x66640
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xb68(%rbp)
jmp 0x130e2
movq -0xb68(%rbp), %rdi
leaq 0x3f0da(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xb70(%rbp)
jmp 0x130fe
movq -0xb70(%rbp), %rdi
movq 0x52ea4(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13113
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f0bf(%rip), %rsi     # 0x521e7
callq 0x4380
movq %rax, -0xb78(%rbp)
jmp 0x13136
movq -0xb78(%rbp), %rdi
movq -0x438(%rbp), %rax
movl 0x298(%rax), %eax
cvtsi2sd %rax, %xmm0
leaq 0x534ea(%rip), %rax     # 0x66640
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xb80(%rbp)
jmp 0x1316c
movq -0xb80(%rbp), %rdi
leaq 0x3f050(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xb88(%rbp)
jmp 0x13188
movq -0xb88(%rbp), %rdi
movq 0x52e1a(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x1319d
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3f04e(%rip), %rsi     # 0x52200
callq 0x4380
movq %rax, -0xb90(%rbp)
jmp 0x131c0
movq -0x438(%rbp), %rax
cmpl $-0x1, 0x29c(%rax)
je 0x131e5
movq -0x438(%rbp), %rax
movl 0x29c(%rax), %eax
movl %eax, -0xb94(%rbp)
jmp 0x131ef
xorl %eax, %eax
movl %eax, -0xb94(%rbp)
jmp 0x131ef
movq -0xb90(%rbp), %rdi
movl -0xb94(%rbp), %eax
movl %eax, %eax
cvtsi2sd %rax, %xmm0
leaq 0x53436(%rip), %rax     # 0x66640
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xba0(%rbp)
jmp 0x13220
movq -0xba0(%rbp), %rdi
leaq 0x3ef9c(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xba8(%rbp)
jmp 0x1323c
movq -0xba8(%rbp), %rdi
movq 0x52d66(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13251
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3efe5(%rip), %rsi     # 0x5224b
callq 0x4380
movq %rax, -0xbb0(%rbp)
jmp 0x13274
movq -0xbb0(%rbp), %rdi
movsd -0x1d0(%rbp), %xmm0
leaq 0x532ae(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xbb8(%rbp)
jmp 0x132a0
movq -0xbb8(%rbp), %rdi
leaq 0x3ef1c(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xbc0(%rbp)
jmp 0x132bc
movq -0xbc0(%rbp), %rdi
movq 0x52ce6(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x132d1
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3eee8(%rip), %rsi     # 0x521ce
callq 0x4380
movq %rax, -0xbc8(%rbp)
jmp 0x132f4
movq -0xbc8(%rbp), %rdi
movsd -0x1f0(%rbp), %xmm0
leaq 0x5322e(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xbd0(%rbp)
jmp 0x13320
movq -0xbd0(%rbp), %rdi
leaq 0x3ee9c(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xbd8(%rbp)
jmp 0x1333c
movq -0xbd8(%rbp), %rdi
movq 0x52c66(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13351
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3ee81(%rip), %rsi     # 0x521e7
callq 0x4380
movq %rax, -0xbe0(%rbp)
jmp 0x13374
movq -0xbe0(%rbp), %rdi
movq -0x438(%rbp), %rax
movl 0x2a0(%rax), %eax
cvtsi2sd %rax, %xmm0
leaq 0x531a4(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xbe8(%rbp)
jmp 0x133aa
movq -0xbe8(%rbp), %rdi
leaq 0x3ee12(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xbf0(%rbp)
jmp 0x133c6
movq -0xbf0(%rbp), %rdi
movq 0x52bdc(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x133db
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3ee10(%rip), %rsi     # 0x52200
callq 0x4380
movq %rax, -0xbf8(%rbp)
jmp 0x133fe
movq -0x438(%rbp), %rax
cmpl $-0x1, 0x2a4(%rax)
je 0x13423
movq -0x438(%rbp), %rax
movl 0x2a4(%rax), %eax
movl %eax, -0xbfc(%rbp)
jmp 0x1342d
xorl %eax, %eax
movl %eax, -0xbfc(%rbp)
jmp 0x1342d
movq -0xbf8(%rbp), %rdi
movl -0xbfc(%rbp), %eax
movl %eax, %eax
cvtsi2sd %rax, %xmm0
leaq 0x530f0(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xc08(%rbp)
jmp 0x1345e
movq -0xc08(%rbp), %rdi
leaq 0x3ed5e(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0xc10(%rbp)
jmp 0x1347a
movq -0xc10(%rbp), %rdi
movq 0x52b28(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0xc18(%rbp)
jmp 0x13496
movq -0xc18(%rbp), %rdi
movq 0x52b0c(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x134ab
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3eda4(%rip), %rsi     # 0x52264
callq 0x4380
movq %rax, -0xc20(%rbp)
jmp 0x134ce
movq -0xc20(%rbp), %rdi
movq -0x1f8(%rbp), %rsi
callq 0x40f0
movq %rax, -0xc28(%rbp)
jmp 0x134ea
movq -0xc28(%rbp), %rdi
movq 0x52ab8(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x134ff
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3ed69(%rip), %rsi     # 0x5227d
callq 0x4380
movq %rax, -0xc30(%rbp)
jmp 0x13522
movq -0xc30(%rbp), %rdi
movq -0x200(%rbp), %rsi
callq 0x40f0
movq %rax, -0xc38(%rbp)
jmp 0x1353e
movq -0xc38(%rbp), %rdi
movq 0x52a64(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13553
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3ed2e(%rip), %rsi     # 0x52296
callq 0x4380
movq %rax, -0xc40(%rbp)
jmp 0x13576
movq -0xc40(%rbp), %rdi
movq -0x208(%rbp), %rsi
callq 0x40f0
movq %rax, -0xc48(%rbp)
jmp 0x13592
movq -0xc48(%rbp), %rdi
movq 0x52a10(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x135a7
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3ecf3(%rip), %rsi     # 0x522af
callq 0x4380
movq %rax, -0xc50(%rbp)
jmp 0x135ca
movq -0xc50(%rbp), %rdi
movq -0x210(%rbp), %rsi
callq 0x40f0
movq %rax, -0xc58(%rbp)
jmp 0x135e6
movq -0xc58(%rbp), %rdi
movq 0x529bc(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x135fb
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3ecb8(%rip), %rsi     # 0x522c8
callq 0x4380
movq %rax, -0xc60(%rbp)
jmp 0x1361e
movq -0xc60(%rbp), %rdi
movq -0x218(%rbp), %rsi
callq 0x40f0
movq %rax, -0xc68(%rbp)
jmp 0x1363a
movq -0xc68(%rbp), %rdi
movq 0x52968(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x1364f
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3ec7d(%rip), %rsi     # 0x522e1
callq 0x4380
movq %rax, -0xc70(%rbp)
jmp 0x13672
movq -0xc70(%rbp), %rdi
movq -0x220(%rbp), %rsi
callq 0x40f0
movq %rax, -0xc78(%rbp)
jmp 0x1368e
movq -0xc78(%rbp), %rdi
movq 0x52914(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x136a3
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3ec42(%rip), %rsi     # 0x522fa
callq 0x4380
movq %rax, -0xc80(%rbp)
jmp 0x136c6
movq -0xc80(%rbp), %rdi
movq -0x438(%rbp), %rax
movq 0x1b0(%rax), %rsi
callq 0x40f0
movq %rax, -0xc88(%rbp)
jmp 0x136e9
movq -0xc88(%rbp), %rdi
movq 0x528b9(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x136fe
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3ec00(%rip), %rsi     # 0x52313
callq 0x4380
movq %rax, -0xc90(%rbp)
jmp 0x13721
movq -0xc90(%rbp), %rdi
movl -0x224(%rbp), %esi
callq 0x44c0
movq %rax, -0xc98(%rbp)
jmp 0x1373c
movq -0xc98(%rbp), %rdi
movq 0x52866(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13751
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3ebc6(%rip), %rsi     # 0x5232c
callq 0x4380
movq %rax, -0xca0(%rbp)
jmp 0x13774
movq -0xca0(%rbp), %rdi
movq -0x438(%rbp), %rax
movq 0x1b8(%rax), %rsi
callq 0x40f0
movq %rax, -0xca8(%rbp)
jmp 0x13797
movq -0xca8(%rbp), %rdi
movq 0x5280b(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0xcb0(%rbp)
jmp 0x137b3
movq -0xcb0(%rbp), %rdi
movq 0x527ef(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x137c8
movl $0x0, -0x374(%rbp)
movl -0x374(%rbp), %eax
leaq 0x52d69(%rip), %rcx     # 0x66548
cmpl (%rcx), %eax
jge 0x147d9
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3eb49(%rip), %rsi     # 0x52345
callq 0x4380
movq %rax, -0xcb8(%rbp)
jmp 0x1380a
movq -0xcb8(%rbp), %rdi
movl -0x374(%rbp), %esi
callq 0x4610
movq %rax, -0xcc0(%rbp)
jmp 0x13825
movq -0xcc0(%rbp), %rdi
leaq 0x3f1e7(%rip), %rsi     # 0x52a1a
callq 0x4380
movq %rax, -0xcc8(%rbp)
jmp 0x13841
movq -0xcc8(%rbp), %rdi
movq 0x52761(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13856
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3eafb(%rip), %rsi     # 0x52366
callq 0x4380
movq %rax, -0xcd0(%rbp)
jmp 0x13879
movq -0x438(%rbp), %rdi
addq $0x1e0, %rdi            # imm = 0x1E0
movslq -0x374(%rbp), %rsi
callq 0x17df0
movq -0xcd0(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0xcd8(%rbp)
jmp 0x138ab
movq -0xcd8(%rbp), %rdi
movq 0x526f7(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x138c0
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3eab4(%rip), %rsi     # 0x52389
callq 0x4380
movq %rax, -0xce0(%rbp)
jmp 0x138e3
movq -0x438(%rbp), %rdi
addq $0x1f8, %rdi            # imm = 0x1F8
movslq -0x374(%rbp), %rsi
callq 0x17df0
movq -0xce0(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0xce8(%rbp)
jmp 0x13915
movq -0xce8(%rbp), %rdi
movq 0x5268d(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x1392a
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3ea6d(%rip), %rsi     # 0x523ac
callq 0x4380
movq %rax, -0xcf0(%rbp)
jmp 0x1394d
movq -0x438(%rbp), %rdi
addq $0x210, %rdi            # imm = 0x210
movslq -0x374(%rbp), %rsi
callq 0x17df0
movq -0xcf0(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0xcf8(%rbp)
jmp 0x1397f
movq -0xcf8(%rbp), %rdi
movq 0x52623(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13994
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3ea26(%rip), %rsi     # 0x523cf
callq 0x4380
movq %rax, -0xd00(%rbp)
jmp 0x139b7
movq -0x438(%rbp), %rdi
addq $0x228, %rdi            # imm = 0x228
movslq -0x374(%rbp), %rsi
callq 0x17df0
movq -0xd00(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0xd08(%rbp)
jmp 0x139e9
movq -0xd08(%rbp), %rdi
movq 0x525b9(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x139fe
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3e9df(%rip), %rsi     # 0x523f2
callq 0x4380
movq %rax, -0xd10(%rbp)
jmp 0x13a21
movq -0x438(%rbp), %rdi
addq $0x240, %rdi            # imm = 0x240
movslq -0x374(%rbp), %rsi
callq 0x17df0
movq -0xd10(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0xd18(%rbp)
jmp 0x13a53
movq -0xd18(%rbp), %rdi
movq 0x5254f(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13a68
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3e998(%rip), %rsi     # 0x52415
callq 0x4380
movq %rax, -0xd20(%rbp)
jmp 0x13a8b
movq -0x438(%rbp), %rdi
addq $0x258, %rdi            # imm = 0x258
movslq -0x374(%rbp), %rsi
callq 0x17df0
movq -0xd20(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0xd28(%rbp)
jmp 0x13abd
movq -0xd28(%rbp), %rdi
movq 0x524e5(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13ad2
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3e951(%rip), %rsi     # 0x52438
callq 0x4380
movq %rax, -0xd30(%rbp)
jmp 0x13af5
movq -0x438(%rbp), %rdi
addq $0x270, %rdi            # imm = 0x270
movslq -0x374(%rbp), %rsi
callq 0x17e90
movq -0xd30(%rbp), %rdi
movl (%rax), %esi
callq 0x44c0
movq %rax, -0xd38(%rbp)
jmp 0x13b26
movq -0xd38(%rbp), %rdi
movq 0x5247c(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13b3b
leaq 0x52a46(%rip), %rax     # 0x66588
cmpl $0x0, (%rax)
je 0x13cf8
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3e8fb(%rip), %rsi     # 0x5245b
callq 0x4380
movq %rax, -0xd40(%rbp)
jmp 0x13b6e
movslq -0x374(%rbp), %rsi
leaq -0x268(%rbp), %rdi
callq 0x17e10
movq -0xd40(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xd48(%rbp)
jmp 0x13b9a
movq -0xd48(%rbp), %rdi
leaq 0x3e5ed(%rip), %rsi     # 0x52195
callq 0x4380
movq %rax, -0xd50(%rbp)
jmp 0x13bb6
movq -0xd50(%rbp), %rdi
movq 0x523ec(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13bcb
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3e89e(%rip), %rsi     # 0x5247e
callq 0x4380
movq %rax, -0xd58(%rbp)
jmp 0x13bee
movslq -0x374(%rbp), %rsi
leaq -0x290(%rbp), %rdi
callq 0x17e10
movq -0xd58(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xd60(%rbp)
jmp 0x13c1a
movq -0xd60(%rbp), %rdi
leaq 0x3e56d(%rip), %rsi     # 0x52195
callq 0x4380
movq %rax, -0xd68(%rbp)
jmp 0x13c36
movq -0xd68(%rbp), %rdi
movq 0x5236c(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13c4b
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3e841(%rip), %rsi     # 0x524a1
callq 0x4380
movq %rax, -0xd70(%rbp)
jmp 0x13c6e
movslq -0x374(%rbp), %rsi
leaq -0x268(%rbp), %rdi
callq 0x17e10
movsd (%rax), %xmm0
movsd %xmm0, -0xd80(%rbp)
movslq -0x374(%rbp), %rsi
leaq -0x290(%rbp), %rdi
callq 0x17e10
movsd -0xd80(%rbp), %xmm0
movq -0xd70(%rbp), %rdi
movsd (%rax), %xmm1
addsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xd78(%rbp)
jmp 0x13cc5
movq -0xd78(%rbp), %rdi
leaq 0x3e4c2(%rip), %rsi     # 0x52195
callq 0x4380
movq %rax, -0xd88(%rbp)
jmp 0x13ce1
movq -0xd88(%rbp), %rdi
movq 0x522c1(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13cf6
jmp 0x13cf8
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3e7b7(%rip), %rsi     # 0x524c4
callq 0x4380
movq %rax, -0xd90(%rbp)
jmp 0x13d1b
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xd94(%rbp)
jmp 0x13d2d
movq -0xd90(%rbp), %rdi
movl -0xd94(%rbp), %eax
movl %eax, -0x378(%rbp)
movl -0x378(%rbp), %esi
callq 0x4440
movq %rax, -0xda0(%rbp)
jmp 0x13d54
movl $0x20, %edi
callq 0x177d0
movb %al, -0xda1(%rbp)
jmp 0x13d66
movq -0xda0(%rbp), %rdi
movb -0xda1(%rbp), %al
movb %al, -0x379(%rbp)
movzbl -0x379(%rbp), %esi
callq 0x4550
movq %rax, -0xdb0(%rbp)
jmp 0x13d8e
movslq -0x374(%rbp), %rsi
leaq -0xa8(%rbp), %rdi
callq 0x17e10
movq -0xdb0(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xdb8(%rbp)
jmp 0x13dba
movq -0xdb8(%rbp), %rdi
leaq 0x3e71f(%rip), %rsi     # 0x524e7
callq 0x4380
movq %rax, -0xdc0(%rbp)
jmp 0x13dd6
movq -0xdc0(%rbp), %rdi
movq 0x521cc(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13deb
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3e6ed(%rip), %rsi     # 0x524ed
callq 0x4380
movq %rax, -0xdc8(%rbp)
jmp 0x13e0e
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xdcc(%rbp)
jmp 0x13e20
movq -0xdc8(%rbp), %rdi
movl -0xdcc(%rbp), %eax
movl %eax, -0x380(%rbp)
movl -0x380(%rbp), %esi
callq 0x4440
movq %rax, -0xdd8(%rbp)
jmp 0x13e47
movl $0x20, %edi
callq 0x177d0
movb %al, -0xdd9(%rbp)
jmp 0x13e59
movq -0xdd8(%rbp), %rdi
movb -0xdd9(%rbp), %al
movb %al, -0x381(%rbp)
movzbl -0x381(%rbp), %esi
callq 0x4550
movq %rax, -0xde8(%rbp)
jmp 0x13e81
movslq -0x374(%rbp), %rsi
leaq -0xd0(%rbp), %rdi
callq 0x17e10
movq -0xde8(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xdf0(%rbp)
jmp 0x13ead
movq -0xdf0(%rbp), %rdi
leaq 0x3e62c(%rip), %rsi     # 0x524e7
callq 0x4380
movq %rax, -0xdf8(%rbp)
jmp 0x13ec9
movq -0xdf8(%rbp), %rdi
movq 0x520d9(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13ede
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3e61d(%rip), %rsi     # 0x52510
callq 0x4380
movq %rax, -0xe00(%rbp)
jmp 0x13f01
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xe04(%rbp)
jmp 0x13f13
movq -0xe00(%rbp), %rdi
movl -0xe04(%rbp), %eax
movl %eax, -0x388(%rbp)
movl -0x388(%rbp), %esi
callq 0x4440
movq %rax, -0xe10(%rbp)
jmp 0x13f3a
movl $0x20, %edi
callq 0x177d0
movb %al, -0xe11(%rbp)
jmp 0x13f4c
movq -0xe10(%rbp), %rdi
movb -0xe11(%rbp), %al
movb %al, -0x389(%rbp)
movzbl -0x389(%rbp), %esi
callq 0x4550
movq %rax, -0xe20(%rbp)
jmp 0x13f74
movslq -0x374(%rbp), %rsi
leaq -0xf8(%rbp), %rdi
callq 0x17e10
movq -0xe20(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xe28(%rbp)
jmp 0x13fa0
movq -0xe28(%rbp), %rdi
leaq 0x3e539(%rip), %rsi     # 0x524e7
callq 0x4380
movq %rax, -0xe30(%rbp)
jmp 0x13fbc
movq -0xe30(%rbp), %rdi
movq 0x51fe6(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x13fd1
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3e54d(%rip), %rsi     # 0x52533
callq 0x4380
movq %rax, -0xe38(%rbp)
jmp 0x13ff4
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xe3c(%rbp)
jmp 0x14006
movq -0xe38(%rbp), %rdi
movl -0xe3c(%rbp), %eax
movl %eax, -0x390(%rbp)
movl -0x390(%rbp), %esi
callq 0x4440
movq %rax, -0xe48(%rbp)
jmp 0x1402d
movl $0x20, %edi
callq 0x177d0
movb %al, -0xe49(%rbp)
jmp 0x1403f
movq -0xe48(%rbp), %rdi
movb -0xe49(%rbp), %al
movb %al, -0x391(%rbp)
movzbl -0x391(%rbp), %esi
callq 0x4550
movq %rax, -0xe58(%rbp)
jmp 0x14067
movslq -0x374(%rbp), %rsi
leaq -0x128(%rbp), %rdi
callq 0x17e10
movq -0xe58(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xe60(%rbp)
jmp 0x14093
movq -0xe60(%rbp), %rdi
leaq 0x3e446(%rip), %rsi     # 0x524e7
callq 0x4380
movq %rax, -0xe68(%rbp)
jmp 0x140af
movq -0xe68(%rbp), %rdi
movq 0x51ef3(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x140c4
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3e47d(%rip), %rsi     # 0x52556
callq 0x4380
movq %rax, -0xe70(%rbp)
jmp 0x140e7
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xe74(%rbp)
jmp 0x140f9
movq -0xe70(%rbp), %rdi
movl -0xe74(%rbp), %eax
movl %eax, -0x398(%rbp)
movl -0x398(%rbp), %esi
callq 0x4440
movq %rax, -0xe80(%rbp)
jmp 0x14120
movl $0x20, %edi
callq 0x177d0
movb %al, -0xe81(%rbp)
jmp 0x14132
movq -0xe80(%rbp), %rdi
movb -0xe81(%rbp), %al
movb %al, -0x399(%rbp)
movzbl -0x399(%rbp), %esi
callq 0x4550
movq %rax, -0xe90(%rbp)
jmp 0x1415a
movslq -0x374(%rbp), %rsi
leaq -0x150(%rbp), %rdi
callq 0x17e10
movq -0xe90(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xe98(%rbp)
jmp 0x14186
movq -0xe98(%rbp), %rdi
leaq 0x3e353(%rip), %rsi     # 0x524e7
callq 0x4380
movq %rax, -0xea0(%rbp)
jmp 0x141a2
movq -0xea0(%rbp), %rdi
movq 0x51e00(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x141b7
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3e3ad(%rip), %rsi     # 0x52579
callq 0x4380
movq %rax, -0xea8(%rbp)
jmp 0x141da
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xeac(%rbp)
jmp 0x141ec
movq -0xea8(%rbp), %rdi
movl -0xeac(%rbp), %eax
movl %eax, -0x3a0(%rbp)
movl -0x3a0(%rbp), %esi
callq 0x4440
movq %rax, -0xeb8(%rbp)
jmp 0x14213
movl $0x20, %edi
callq 0x177d0
movb %al, -0xeb9(%rbp)
jmp 0x14225
movq -0xeb8(%rbp), %rdi
movb -0xeb9(%rbp), %al
movb %al, -0x3a1(%rbp)
movzbl -0x3a1(%rbp), %esi
callq 0x4550
movq %rax, -0xec8(%rbp)
jmp 0x1424d
movslq -0x374(%rbp), %rsi
leaq -0x178(%rbp), %rdi
callq 0x17e10
movq -0xec8(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xed0(%rbp)
jmp 0x14279
movq -0xed0(%rbp), %rdi
leaq 0x3e260(%rip), %rsi     # 0x524e7
callq 0x4380
movq %rax, -0xed8(%rbp)
jmp 0x14295
movq -0xed8(%rbp), %rdi
movq 0x51d0d(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x142aa
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3e2dd(%rip), %rsi     # 0x5259c
callq 0x4380
movq %rax, -0xee0(%rbp)
jmp 0x142cd
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xee4(%rbp)
jmp 0x142df
movq -0xee0(%rbp), %rdi
movl -0xee4(%rbp), %eax
movl %eax, -0x3a8(%rbp)
movl -0x3a8(%rbp), %esi
callq 0x4440
movq %rax, -0xef0(%rbp)
jmp 0x14306
movl $0x20, %edi
callq 0x177d0
movb %al, -0xef1(%rbp)
jmp 0x14318
movq -0xef0(%rbp), %rdi
movb -0xef1(%rbp), %al
movb %al, -0x3a9(%rbp)
movzbl -0x3a9(%rbp), %esi
callq 0x4550
movq %rax, -0xf00(%rbp)
jmp 0x14340
movq -0x438(%rbp), %rdi
addq $0x300, %rdi            # imm = 0x300
movslq -0x374(%rbp), %rsi
callq 0x17df0
movq -0x438(%rbp), %rsi
movq (%rax), %xmm0
movaps 0x3cdb4(%rip), %xmm1    # 0x51120
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x3cdb8(%rip), %xmm1    # 0x51130
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
leaq -0x3d0(%rbp), %rdi
callq 0x15cc0
jmp 0x14395
movq -0xf00(%rbp), %rdi
leaq -0x3d0(%rbp), %rsi
callq 0x4320
movq %rax, -0xf08(%rbp)
jmp 0x143b1
movq -0xf08(%rbp), %rdi
leaq 0x3f497(%rip), %rsi     # 0x53856
callq 0x4380
movq %rax, -0xf10(%rbp)
jmp 0x143cd
movq -0x438(%rbp), %rdi
addq $0x300, %rdi            # imm = 0x300
movslq -0x374(%rbp), %rsi
callq 0x17df0
movq -0xf10(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0xf18(%rbp)
jmp 0x143ff
movq -0xf18(%rbp), %rdi
leaq 0x3dd84(%rip), %rsi     # 0x52191
callq 0x4380
movq %rax, -0xf20(%rbp)
jmp 0x1441b
movq -0xf20(%rbp), %rdi
movq 0x51b87(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x14430
leaq -0x3d0(%rbp), %rdi
callq 0x46e8
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3e16e(%rip), %rsi     # 0x525bf
callq 0x4380
movq %rax, -0xf28(%rbp)
jmp 0x1445f
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xf2c(%rbp)
jmp 0x14471
movq -0xf28(%rbp), %rdi
movl -0xf2c(%rbp), %eax
movl %eax, -0x3d4(%rbp)
movl -0x3d4(%rbp), %esi
callq 0x4440
movq %rax, -0xf38(%rbp)
jmp 0x14498
movl $0x20, %edi
callq 0x177d0
movb %al, -0xf39(%rbp)
jmp 0x144aa
movq -0xf38(%rbp), %rdi
movb -0xf39(%rbp), %al
movb %al, -0x3d5(%rbp)
movzbl -0x3d5(%rbp), %esi
callq 0x4550
movq %rax, -0xf48(%rbp)
jmp 0x144d2
movq -0x438(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
movslq -0x374(%rbp), %rsi
callq 0x17df0
movq -0x438(%rbp), %rsi
movq (%rax), %xmm0
movaps 0x3cc22(%rip), %xmm1    # 0x51120
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x3cc26(%rip), %xmm1    # 0x51130
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
leaq -0x3f8(%rbp), %rdi
callq 0x15cc0
jmp 0x14527
movq -0xf48(%rbp), %rdi
leaq -0x3f8(%rbp), %rsi
callq 0x4320
movq %rax, -0xf50(%rbp)
jmp 0x14543
movq -0xf50(%rbp), %rdi
leaq 0x3f305(%rip), %rsi     # 0x53856
callq 0x4380
movq %rax, -0xf58(%rbp)
jmp 0x1455f
movq -0x438(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
movslq -0x374(%rbp), %rsi
callq 0x17df0
movq -0xf58(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0xf60(%rbp)
jmp 0x14591
movq -0xf60(%rbp), %rdi
leaq 0x3dbf2(%rip), %rsi     # 0x52191
callq 0x4380
movq %rax, -0xf68(%rbp)
jmp 0x145ad
movq -0xf68(%rbp), %rdi
movq 0x519f5(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x145c2
leaq -0x3f8(%rbp), %rdi
callq 0x46e8
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3dfff(%rip), %rsi     # 0x525e2
callq 0x4380
movq %rax, -0xf70(%rbp)
jmp 0x145f1
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xf74(%rbp)
jmp 0x14603
movq -0xf70(%rbp), %rdi
movl -0xf74(%rbp), %eax
movl %eax, -0x3fc(%rbp)
movl -0x3fc(%rbp), %esi
callq 0x4440
movq %rax, -0xf80(%rbp)
jmp 0x1462a
movl $0x20, %edi
callq 0x177d0
movb %al, -0xf81(%rbp)
jmp 0x1463c
movq -0xf80(%rbp), %rdi
movb -0xf81(%rbp), %al
movb %al, -0x3fd(%rbp)
movzbl -0x3fd(%rbp), %esi
callq 0x4550
movq %rax, -0xf90(%rbp)
jmp 0x14664
movslq -0x374(%rbp), %rsi
leaq -0x1a0(%rbp), %rdi
callq 0x17df0
movq -0x438(%rbp), %rsi
movq (%rax), %xmm0
movaps 0x3ca97(%rip), %xmm1    # 0x51120
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x3ca9b(%rip), %xmm1    # 0x51130
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
leaq -0x420(%rbp), %rdi
callq 0x15cc0
jmp 0x146b2
movq -0xf90(%rbp), %rdi
leaq -0x420(%rbp), %rsi
callq 0x4320
movq %rax, -0xf98(%rbp)
jmp 0x146ce
movq -0xf98(%rbp), %rdi
leaq 0x3f17a(%rip), %rsi     # 0x53856
callq 0x4380
movq %rax, -0xfa0(%rbp)
jmp 0x146ea
movslq -0x374(%rbp), %rsi
leaq -0x1a0(%rbp), %rdi
callq 0x17df0
movq -0xfa0(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0xfa8(%rbp)
jmp 0x14715
movq -0xfa8(%rbp), %rdi
leaq 0x3da6e(%rip), %rsi     # 0x52191
callq 0x4380
movq %rax, -0xfb0(%rbp)
jmp 0x14731
movq -0xfb0(%rbp), %rdi
movq 0x51871(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0xfb8(%rbp)
jmp 0x1474d
movq -0xfb8(%rbp), %rdi
movq 0x51855(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x14762
leaq -0x420(%rbp), %rdi
callq 0x46e8
movl -0x374(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x374(%rbp)
jmp 0x137d2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x3d0(%rbp), %rdi
callq 0x46e8
jmp 0x1488f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x3f8(%rbp), %rdi
callq 0x46e8
jmp 0x1488f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x420(%rbp), %rdi
callq 0x46e8
jmp 0x1488f
movq -0x438(%rbp), %rdi
addq $0xe18, %rdi            # imm = 0xE18
leaq 0x3de17(%rip), %rsi     # 0x52605
callq 0x4380
movq %rax, -0xfc0(%rbp)
jmp 0x147fc
movq -0xfc0(%rbp), %rdi
movq 0x517a6(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x14811
leaq -0x290(%rbp), %rdi
callq 0x17e30
leaq -0x268(%rbp), %rdi
callq 0x17e30
leaq -0x1a0(%rbp), %rdi
callq 0x178f0
leaq -0x178(%rbp), %rdi
callq 0x17e30
leaq -0x150(%rbp), %rdi
callq 0x17e30
leaq -0x128(%rbp), %rdi
callq 0x17e30
leaq -0xf8(%rbp), %rdi
callq 0x17e30
leaq -0xd0(%rbp), %rdi
callq 0x17e30
leaq -0xa8(%rbp), %rdi
callq 0x17e30
leaq -0x70(%rbp), %rdi
callq 0x46e8
addq $0xfc0, %rsp            # imm = 0xFC0
popq %rbp
retq
leaq -0x290(%rbp), %rdi
callq 0x17e30
leaq -0x268(%rbp), %rdi
callq 0x17e30
leaq -0x1a0(%rbp), %rdi
callq 0x178f0
leaq -0x178(%rbp), %rdi
callq 0x17e30
leaq -0x150(%rbp), %rdi
callq 0x17e30
leaq -0x128(%rbp), %rdi
callq 0x17e30
leaq -0xf8(%rbp), %rdi
callq 0x17e30
leaq -0xd0(%rbp), %rdi
callq 0x17e30
leaq -0xa8(%rbp), %rdi
callq 0x17e30
leaq -0x70(%rbp), %rdi
callq 0x46e8
movq -0x78(%rbp), %rdi
callq 0x4630
nopl (%rax)