// File: estwings57[P]CasHMC/sources/CasHMCWrapper.cpp
// Function: CasHMC::CasHMCWrapper::PrintEpochStatistic()
void CasHMCWrapper::PrintEpochStatistic()
{
	uint64_t elapsedCycles;
	if(currentClockCycle%LOG_EPOCH == 0) {
		elapsedCycles = LOG_EPOCH;
	}
	else {
		elapsedCycles = currentClockCycle%LOG_EPOCH;
	}
	
	//Count transaction and packet type
	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	+= readPerLink[i];
		epochWrites	+= writePerLink[i];
		epochAtomics+= atomicPerLink[i];
		epochReq	+= reqPerLink[i];
		epochRes	+= resPerLink[i];
		epochFlow	+= flowPerLink[i];
		epochError	+= errorPerLink[i];
	}
	
	//Ttransaction traced latency statistic calculation
	if(tranFullLat.size() != linkFullLat.size()
	|| linkFullLat.size() != vaultFullLat.size()
	|| tranFullLat.size() != vaultFullLat.size()) {
		ERROR(" == Error - Traces vector size are different (tranFullLat : "<<tranFullLat.size()
				<<", linkFullLat : "<<linkFullLat.size()<<", vaultFullLat : "<<vaultFullLat.size());
		exit(0);
	}
	unsigned tranCount = tranFullLat.size();
	unsigned errorCount = errorRetryLat.size();
	for(int i=0; i<errorCount; i++) {
		errorRetrySum += errorRetryLat[i];
	}
	
	unsigned tranFullMax = 0;
	unsigned tranFullMin = -1;//max unsigned value
	unsigned linkFullMax = 0;
	unsigned linkFullMin = -1;
	unsigned vaultFullMax = 0;
	unsigned vaultFullMin = -1;
	unsigned errorRetryMax = 0;
	unsigned errorRetryMin = -1;
	
	double tranStdSum = 0;
	double linkStdSum = 0;
	double vaultStdSum = 0;
	double errorStdSum = 0;
	
	double tranFullMean = (tranCount==0 ? 0 : (double)tranFullSum/tranCount);
	double linkFullMean = (tranCount==0 ? 0 : (double)linkFullSum/tranCount);
	double vaultFullMean = (tranCount==0 ? 0 : (double)vaultFullSum/tranCount);
	double errorRetryMean = (errorCount==0 ? 0 : (double)errorRetrySum/errorCount);
	
	for(int i=0; i<tranCount; i++) {		
		tranFullMax = max(tranFullLat[i], tranFullMax);
		tranFullMin = min(tranFullLat[i], tranFullMin);
		tranStdSum += pow(tranFullLat[i]-tranFullMean, 2);

		linkFullMax = max(linkFullLat[i], linkFullMax);
		linkFullMin = min(linkFullLat[i], linkFullMin);
		linkStdSum += pow(linkFullLat[i]-linkFullMean, 2);

		vaultFullMax = max(vaultFullLat[i], vaultFullMax);
		vaultFullMin = min(vaultFullLat[i], vaultFullMin);
		vaultStdSum += pow(vaultFullLat[i]-vaultFullMean, 2);
	}
	for(int i=0; i<errorCount; i++) {
		errorRetryMax = max(errorRetryLat[i], errorRetryMax);
		errorRetryMin = min(errorRetryLat[i], errorRetryMin);
		errorStdSum += pow(errorRetryLat[i]-errorRetryMean, 2);
	}
	double tranStdDev = sqrt(tranCount==0 ? 0 : tranStdSum/tranCount);
	double linkStdDev = sqrt(tranCount==0 ? 0 : linkStdSum/tranCount);
	double vaultStdDev = sqrt(tranCount==0 ? 0 : vaultStdSum/tranCount);
	double errorRetryDev = sqrt(errorCount==0 ? 0 : errorStdSum/errorCount);
	tranFullLat.clear();
	linkFullLat.clear();
	vaultFullLat.clear();
	errorRetryLat.clear();
	
	//Bandwidth calculation
	double elapsedTime = (double)(elapsedCycles*CPU_CLK_PERIOD*1E-9);
	double hmcBandwidth = hmcTransmitSize/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> linkDataSize = vector<uint64_t>(NUM_LINKS, 0);
	for(int i=0; i<NUM_LINKS; i++) {
		downLinkBandwidth[i] = downLinkTransmitSize[i] / elapsedTime / (1<<30);
		upLinkBandwidth[i] = upLinkTransmitSize[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] = downLinkDataSize[i] / elapsedTime / (1<<30);
		upLinkEffecBandwidth[i] = upLinkDataSize[i] / elapsedTime / (1<<30);
		linkEffecBandwidth[i] = downLinkEffecBandwidth[i] + upLinkEffecBandwidth[i];
		linkDataSize[i] = downLinkDataSize[i] + upLinkDataSize[i];
	}
	
	//Link low power statistic
	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];
	}
	SleepModeAve /= NUM_LINKS;
	DownModeAve /= NUM_LINKS;
	
	
	//Print epoch statistic result
	STATE(endl<<endl<<"  ============= ["<<currentClockCycle/LOG_EPOCH<<"] Epoch statistic result ============="<<endl);
	STATE("  Current epoch : "<<currentClockCycle/LOG_EPOCH);
	STATE("  Current clock : "<<currentClockCycle<<"  (epoch clock : "<<elapsedCycles<<")"<<endl);
	
	STATE("        HMC bandwidth : "<<ALI(7)<<hmcBandwidth<<" GB/s  (Considered only data size)");
	STATE("       Link bandwidth : "<<ALI(7)<<linkBandwidthSum<<" GB/s  (Included flow packet)");
	STATE("     Transmitted data : "<<ALI(7)<<DataScaling(hmcTransmitSize)<<" ("<<hmcTransmitSize<<" B)"<<endl);
	
	if(LINK_POWER != NO_MANAGEMENT) {
		STATE("     Sleep mode ratio : "<<ALI(7)<<SleepModeAve<<" %");
		STATE("      Down mode ratio : "<<ALI(7)<<DownModeAve<<" %");
		STATE("Total low power ratio : "<<ALI(7)<<SleepModeAve+DownModeAve<<" %"<<endl);
	}
	
	STATE("    Tran latency mean : "<<tranFullMean*CPU_CLK_PERIOD<<" ns");
	STATE("                 std  : "<<tranStdDev*CPU_CLK_PERIOD<<" ns");
	STATE("                 max  : "<<tranFullMax*CPU_CLK_PERIOD<<" ns");
	STATE("                 min  : "<<(tranFullMin!=-1 ? tranFullMin : 0)*CPU_CLK_PERIOD<<" ns");
	STATE("    Link latency mean : "<<linkFullMean*CPU_CLK_PERIOD<<" ns");
	STATE("                 std  : "<<linkStdDev*CPU_CLK_PERIOD<<" ns");
	STATE("                 max  : "<<linkFullMax*CPU_CLK_PERIOD<<" ns");
	STATE("                 min  : "<<(linkFullMin!=-1 ? linkFullMin : 0)*CPU_CLK_PERIOD<<" ns");
	STATE("   Vault latency mean : "<<vaultFullMean*tCK<<" ns");
	STATE("                 std  : "<<vaultStdDev*tCK<<" ns");
	STATE("                 max  : "<<vaultFullMax*tCK<<" ns");
	STATE("                 min  : "<<(vaultFullMin!=-1 ? vaultFullMin : 0)*tCK<<" ns");
	STATE("   Retry latency mean : "<<errorRetryMean*CPU_CLK_PERIOD<<" ns");
	STATE("                 std  : "<<errorRetryDev*CPU_CLK_PERIOD<<" ns");
	STATE("                 max  : "<<errorRetryMax*CPU_CLK_PERIOD<<" ns");
	STATE("                 min  : "<<(errorRetryMin!=-1 ? errorRetryMin : 0)*CPU_CLK_PERIOD<<" ns"<<endl);

	STATE("           Read count : "<<epochReads);
	STATE("          Write count : "<<epochWrites);
	STATE("         Atomic count : "<<epochAtomics);
	STATE("        Request count : "<<epochReq);
	STATE("       Response count : "<<epochRes);
	STATE("           Flow count : "<<epochFlow);
	STATE("    Transaction count : "<<tranCount);
	STATE("    Error abort count : "<<epochError);
	STATE("    Error retry count : "<<errorCount<<endl);
	
	for(int i=0; i<NUM_LINKS; i++) {
		STATE("  ----------------------  [Link "<<i<<"]");
		STATE("  |               Read per link : "<<readPerLink[i]);
		STATE("  |              Write per link : "<<writePerLink[i]);
		STATE("  |             Atomic per link : "<<atomicPerLink[i]);
		STATE("  |            Request per link : "<<reqPerLink[i]);
		STATE("  |           Response per link : "<<resPerLink[i]);
		STATE("  |               Flow per link : "<<flowPerLink[i]);
		STATE("  |        Error abort per link : "<<errorPerLink[i]);
		if(LINK_POWER != NO_MANAGEMENT) {
			STATE("  |            Sleep mode ratio : "<<linkSleepMode[i]<<" %");
			STATE("  |             Down mode ratio : "<<linkDownMode[i]<<" %");
			STATE("  |  Total low power mode ratio : "<<linkSleepMode[i]+linkDownMode[i]<<" %");
		}
		STATE("  |        Downstream Bandwidth : "<<ALI(7)<<downLinkBandwidth[i]<<" GB/s");
		STATE("  |          Upstream Bandwidth : "<<ALI(7)<<upLinkBandwidth[i]<<" GB/s");
		STATE("  |             Total Bandwidth : "<<ALI(7)<<linkBandwidth[i]<<" GB/s");
		STATE("  |  Downstream effec Bandwidth : "<<ALI(7)<<downLinkEffecBandwidth[i]<<" GB/s");
		STATE("  |    Upstream effec Bandwidth : "<<ALI(7)<<upLinkEffecBandwidth[i]<<" GB/s");
		STATE("  |       Total effec Bandwidth : "<<ALI(7)<<linkEffecBandwidth[i]<<" GB/s");
		STATE("  | Downstream transmitted data : "<<ALI(7)<<DataScaling(downLinkDataSize[i])<<" ("<<downLinkDataSize[i]<<" B)");
		STATE("  |   Upstream transmitted data : "<<ALI(7)<<DataScaling(upLinkDataSize[i])<<" ("<<upLinkDataSize[i]<<" B)");
		STATE("  -----  Total transmitted data : "<<ALI(7)<<DataScaling(linkDataSize[i])<<" ("<<linkDataSize[i]<<" B)"<<endl);
	}
	STATE("  * Effec bandwidth takes data transmission into account regardless of packet header and tail");

	//One epoch simulation statistic results are accumulated
	totalTranCount += tranCount;
	totalErrorCount += errorCount;
	
	totalHmcTransmitSize += hmcTransmitSize;
	hmcTransmitSize = 0;
	for(int i=0; i<NUM_LINKS; i++) {
		totalDownLinkTransmitSize[i] += downLinkTransmitSize[i];
		totalUpLinkTransmitSize[i] += upLinkTransmitSize[i];
		downLinkTransmitSize[i] = 0;
		upLinkTransmitSize[i] = 0;
		totalDownLinkDataSize[i] += downLinkDataSize[i];
		totalUpLinkDataSize[i] += upLinkDataSize[i];
		downLinkDataSize[i] = 0;
		upLinkDataSize[i] = 0;
	}
	
	totalTranFullSum += tranFullSum;
	totalLinkFullSum += linkFullSum;
	totalVaultFullSum += vaultFullSum;
	totalErrorRetrySum += errorRetrySum;
	tranFullSum = 0;
	linkFullSum = 0;
	vaultFullSum = 0;
	errorRetrySum = 0;
	
	for(int i=0; i<NUM_LINKS; i++) {
		totalReadPerLink[i] += readPerLink[i];		readPerLink[i] = 0;
		totalWritePerLink[i] += writePerLink[i];	writePerLink[i] = 0;
		totalAtomicPerLink[i] += atomicPerLink[i];	atomicPerLink[i] = 0;
		totalReqPerLink[i] += reqPerLink[i];		reqPerLink[i] = 0;
		totalResPerLink[i] += resPerLink[i];		resPerLink[i] = 0;
		totalFlowPerLink[i] += flowPerLink[i];		flowPerLink[i] = 0;
		totalErrorPerLink[i] += errorPerLink[i];	errorPerLink[i] = 0;
	}
	
	totalTranFullMax = max(tranFullMax, totalTranFullMax);
	totalTranFullMin = min(tranFullMin, totalTranFullMin);
	totalLinkFullMax = max(linkFullMax, totalLinkFullMax);
	totalLinkFullMin = min(linkFullMin, totalLinkFullMin);
	totalVaultFullMax = max(vaultFullMax, totalVaultFullMax);
	totalVaultFullMin = min(vaultFullMin, totalVaultFullMin);
	totalErrorRetryMax = max(errorRetryMax, totalErrorRetryMax);
	totalErrorRetryMin = min(errorRetryMin, totalErrorRetryMin);
	
	totalTranStdSum += tranStdSum;
	totalLinkStdSum += linkStdSum;
	totalVaultStdSum += vaultStdSum;
	totalErrorStdSum += errorStdSum;

	if(BANDWIDTH_PLOT) {
		hmcTransmitSizeTemp = 0;
		for(int i=0; i<NUM_LINKS; i++) {
			downLinkDataSizeTemp[i] = 0;
			upLinkDataSizeTemp[i] = 0;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd50, %rsp            # imm = 0xD50
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x398(%rbp)
movq 0x370(%rax), %rax
leaq 0x5a528(%rip), %rcx     # 0x66520
xorl %edx, %edx
divq (%rcx)
cmpq $0x0, %rdx
jne 0xc013
leaq 0x5a516(%rip), %rax     # 0x66520
movq (%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0xc031
movq -0x398(%rbp), %rax
movq 0x370(%rax), %rax
leaq 0x5a4f8(%rip), %rcx     # 0x66520
xorl %edx, %edx
divq (%rcx)
movq %rdx, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
movq $0x0, -0x38(%rbp)
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movl $0x0, -0x48(%rbp)
movl -0x48(%rbp), %eax
leaq 0x5a4cf(%rip), %rcx     # 0x66548
cmpl (%rcx), %eax
jge 0xc177
movq -0x398(%rbp), %rdi
addq $0x68, %rdi
movslq -0x48(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
addq $0x80, %rdi
movslq -0x48(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
addq -0x20(%rbp), %rax
movq %rax, -0x20(%rbp)
addq $0x98, %rdi
movslq -0x48(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
addq $0xb0, %rdi
movslq -0x48(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
addq -0x30(%rbp), %rax
movq %rax, -0x30(%rbp)
addq $0xc8, %rdi
movslq -0x48(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
addq -0x38(%rbp), %rax
movq %rax, -0x38(%rbp)
addq $0xe0, %rdi
movslq -0x48(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
addq -0x40(%rbp), %rax
movq %rax, -0x40(%rbp)
addq $0xf8, %rdi
movslq -0x48(%rbp), %rsi
callq 0x17e90
movl (%rax), %eax
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
movl -0x48(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0xc06f
movq -0x398(%rbp), %rdi
addq $0x8, %rdi
callq 0x17eb0
movq -0x398(%rbp), %rdi
movq %rax, -0x3a0(%rbp)
addq $0x20, %rdi
callq 0x17eb0
movq %rax, %rcx
movq -0x3a0(%rbp), %rax
cmpq %rcx, %rax
jne 0xc21d
movq -0x398(%rbp), %rdi
addq $0x20, %rdi
callq 0x17eb0
movq -0x398(%rbp), %rdi
movq %rax, -0x3a8(%rbp)
addq $0x38, %rdi
callq 0x17eb0
movq %rax, %rcx
movq -0x3a8(%rbp), %rax
cmpq %rcx, %rax
jne 0xc21d
movq -0x398(%rbp), %rdi
addq $0x8, %rdi
callq 0x17eb0
movq -0x398(%rbp), %rdi
movq %rax, -0x3b0(%rbp)
addq $0x38, %rdi
callq 0x17eb0
movq %rax, %rcx
movq -0x3b0(%rbp), %rax
cmpq %rcx, %rax
je 0xc31f
movq 0x59dcc(%rip), %rdi     # 0x65ff0
leaq 0x44e0f(%rip), %rsi     # 0x5103a
callq 0x4380
movq %rax, %rdi
leaq 0x44f0a(%rip), %rsi     # 0x51144
callq 0x4380
movq %rax, %rdi
leaq 0x455ec(%rip), %rsi     # 0x51835
callq 0x4380
movq %rax, %rdi
movl $0x2ca, %esi            # imm = 0x2CA
callq 0x4610
movq %rax, %rdi
leaq 0x44df4(%rip), %rsi     # 0x51059
callq 0x4380
movq %rax, %rdi
leaq 0x45dc0(%rip), %rsi     # 0x52034
callq 0x4380
movq -0x398(%rbp), %rdi
movq %rax, -0x3c8(%rbp)
addq $0x8, %rdi
callq 0x17eb0
movq -0x3c8(%rbp), %rdi
movq %rax, %rsi
callq 0x40f0
movq %rax, %rdi
leaq 0x45dc8(%rip), %rsi     # 0x52071
callq 0x4380
movq -0x398(%rbp), %rdi
movq %rax, -0x3c0(%rbp)
addq $0x20, %rdi
callq 0x17eb0
movq -0x3c0(%rbp), %rdi
movq %rax, %rsi
callq 0x40f0
movq %rax, %rdi
leaq 0x45da4(%rip), %rsi     # 0x52082
callq 0x4380
movq -0x398(%rbp), %rdi
movq %rax, -0x3b8(%rbp)
addq $0x38, %rdi
callq 0x17eb0
movq -0x3b8(%rbp), %rdi
movq %rax, %rsi
callq 0x40f0
movq %rax, %rdi
movq 0x59c9d(%rip), %rsi     # 0x65fb0
callq 0x43c0
xorl %edi, %edi
callq 0x4460
movq -0x398(%rbp), %rdi
addq $0x8, %rdi
callq 0x17eb0
movq -0x398(%rbp), %rdi
movl %eax, -0x4c(%rbp)
addq $0x50, %rdi
callq 0x17eb0
movl %eax, -0x50(%rbp)
movl $0x0, -0x54(%rbp)
movl -0x54(%rbp), %eax
cmpl -0x50(%rbp), %eax
jae 0xc38d
movq -0x398(%rbp), %rdi
addq $0x50, %rdi
movslq -0x54(%rbp), %rsi
callq 0x17e90
movq %rax, %rcx
movq -0x398(%rbp), %rax
movl (%rcx), %ecx
addq 0x1a8(%rax), %rcx
movq %rcx, 0x1a8(%rax)
movl -0x54(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x54(%rbp)
jmp 0xc34c
movl $0x0, -0x58(%rbp)
movl $0xffffffff, -0x5c(%rbp) # imm = 0xFFFFFFFF
movl $0x0, -0x60(%rbp)
movl $0xffffffff, -0x64(%rbp) # imm = 0xFFFFFFFF
movl $0x0, -0x68(%rbp)
movl $0xffffffff, -0x6c(%rbp) # imm = 0xFFFFFFFF
movl $0x0, -0x70(%rbp)
movl $0xffffffff, -0x74(%rbp) # imm = 0xFFFFFFFF
xorps %xmm0, %xmm0
movsd %xmm0, -0x80(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x88(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x90(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x98(%rbp)
cmpl $0x0, -0x4c(%rbp)
jne 0xc401
xorps %xmm0, %xmm0
movsd %xmm0, -0x3d0(%rbp)
jmp 0xc446
movq -0x398(%rbp), %rax
movq 0x190(%rax), %xmm0
movaps 0x44d09(%rip), %xmm1    # 0x51120
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x44d0d(%rip), %xmm1    # 0x51130
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movl -0x4c(%rbp), %eax
cvtsi2sd %rax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x3d0(%rbp)
movsd -0x3d0(%rbp), %xmm0
movsd %xmm0, -0xa0(%rbp)
cmpl $0x0, -0x4c(%rbp)
jne 0xc469
xorps %xmm0, %xmm0
movsd %xmm0, -0x3d8(%rbp)
jmp 0xc4ae
movq -0x398(%rbp), %rax
movq 0x198(%rax), %xmm0
movaps 0x44ca1(%rip), %xmm1    # 0x51120
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x44ca5(%rip), %xmm1    # 0x51130
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movl -0x4c(%rbp), %eax
cvtsi2sd %rax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x3d8(%rbp)
movsd -0x3d8(%rbp), %xmm0
movsd %xmm0, -0xa8(%rbp)
cmpl $0x0, -0x4c(%rbp)
jne 0xc4d1
xorps %xmm0, %xmm0
movsd %xmm0, -0x3e0(%rbp)
jmp 0xc516
movq -0x398(%rbp), %rax
movq 0x1a0(%rax), %xmm0
movaps 0x44c39(%rip), %xmm1    # 0x51120
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x44c3d(%rip), %xmm1    # 0x51130
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movl -0x4c(%rbp), %eax
cvtsi2sd %rax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x3e0(%rbp)
movsd -0x3e0(%rbp), %xmm0
movsd %xmm0, -0xb0(%rbp)
cmpl $0x0, -0x50(%rbp)
jne 0xc539
xorps %xmm0, %xmm0
movsd %xmm0, -0x3e8(%rbp)
jmp 0xc57e
movq -0x398(%rbp), %rax
movq 0x1a8(%rax), %xmm0
movaps 0x44bd1(%rip), %xmm1    # 0x51120
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x44bd5(%rip), %xmm1    # 0x51130
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movl -0x50(%rbp), %eax
cvtsi2sd %rax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x3e8(%rbp)
movsd -0x3e8(%rbp), %xmm0
movsd %xmm0, -0xb8(%rbp)
movl $0x0, -0xbc(%rbp)
movl -0xbc(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jae 0xc77f
movq -0x398(%rbp), %rdi
addq $0x8, %rdi
movq %rdi, -0x408(%rbp)
movslq -0xbc(%rbp), %rsi
callq 0x17e90
movq %rax, %rdi
leaq -0x58(%rbp), %rsi
callq 0x17ed0
movq -0x408(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x58(%rbp)
movslq -0xbc(%rbp), %rsi
callq 0x17e90
movq %rax, %rdi
leaq -0x5c(%rbp), %rsi
callq 0x17f10
movq -0x408(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x5c(%rbp)
movslq -0xbc(%rbp), %rsi
callq 0x17e90
movl (%rax), %eax
cvtsi2sd %rax, %xmm0
movsd -0xa0(%rbp), %xmm1
subsd %xmm1, %xmm0
movl $0x2, %edi
movl %edi, -0x3f4(%rbp)
callq 0x17f50
movq -0x398(%rbp), %rdi
movaps %xmm0, %xmm1
movsd -0x80(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
addq $0x20, %rdi
movq %rdi, -0x400(%rbp)
movslq -0xbc(%rbp), %rsi
callq 0x17e90
movq %rax, %rdi
leaq -0x60(%rbp), %rsi
callq 0x17ed0
movq -0x400(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x60(%rbp)
movslq -0xbc(%rbp), %rsi
callq 0x17e90
movq %rax, %rdi
leaq -0x64(%rbp), %rsi
callq 0x17f10
movq -0x400(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x64(%rbp)
movslq -0xbc(%rbp), %rsi
callq 0x17e90
movl -0x3f4(%rbp), %edi
movl (%rax), %eax
cvtsi2sd %rax, %xmm0
movsd -0xa8(%rbp), %xmm1
subsd %xmm1, %xmm0
callq 0x17f50
movq -0x398(%rbp), %rdi
movaps %xmm0, %xmm1
movsd -0x88(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
addq $0x38, %rdi
movq %rdi, -0x3f0(%rbp)
movslq -0xbc(%rbp), %rsi
callq 0x17e90
movq %rax, %rdi
leaq -0x68(%rbp), %rsi
callq 0x17ed0
movq -0x3f0(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x68(%rbp)
movslq -0xbc(%rbp), %rsi
callq 0x17e90
movq %rax, %rdi
leaq -0x6c(%rbp), %rsi
callq 0x17f10
movq -0x3f0(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x6c(%rbp)
movslq -0xbc(%rbp), %rsi
callq 0x17e90
movl (%rax), %eax
cvtsi2sd %rax, %xmm0
subsd -0xb0(%rbp), %xmm0
movl $0x2, %edi
callq 0x17f50
addsd -0x90(%rbp), %xmm0
movsd %xmm0, -0x90(%rbp)
movl -0xbc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xbc(%rbp)
jmp 0xc598
movl $0x0, -0xc0(%rbp)
movl -0xc0(%rbp), %eax
cmpl -0x50(%rbp), %eax
jae 0xc83b
movq -0x398(%rbp), %rdi
addq $0x50, %rdi
movq %rdi, -0x410(%rbp)
movslq -0xc0(%rbp), %rsi
callq 0x17e90
movq %rax, %rdi
leaq -0x70(%rbp), %rsi
callq 0x17ed0
movq -0x410(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x70(%rbp)
movslq -0xc0(%rbp), %rsi
callq 0x17e90
movq %rax, %rdi
leaq -0x74(%rbp), %rsi
callq 0x17f10
movq -0x410(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x74(%rbp)
movslq -0xc0(%rbp), %rsi
callq 0x17e90
movl (%rax), %eax
cvtsi2sd %rax, %xmm0
subsd -0xb8(%rbp), %xmm0
movl $0x2, %edi
callq 0x17f50
addsd -0x98(%rbp), %xmm0
movsd %xmm0, -0x98(%rbp)
movl -0xc0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc0(%rbp)
jmp 0xc789
cmpl $0x0, -0x4c(%rbp)
jne 0xc84e
xorps %xmm0, %xmm0
movsd %xmm0, -0x418(%rbp)
jmp 0xc867
movsd -0x80(%rbp), %xmm0
movl -0x4c(%rbp), %eax
cvtsi2sd %rax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x418(%rbp)
movsd -0x418(%rbp), %xmm0
callq 0x42c0
movsd %xmm0, -0xc8(%rbp)
cmpl $0x0, -0x4c(%rbp)
jne 0xc88f
xorps %xmm0, %xmm0
movsd %xmm0, -0x420(%rbp)
jmp 0xc8ab
movsd -0x88(%rbp), %xmm0
movl -0x4c(%rbp), %eax
cvtsi2sd %rax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x420(%rbp)
movsd -0x420(%rbp), %xmm0
callq 0x42c0
movsd %xmm0, -0xd0(%rbp)
cmpl $0x0, -0x4c(%rbp)
jne 0xc8d3
xorps %xmm0, %xmm0
movsd %xmm0, -0x428(%rbp)
jmp 0xc8ef
movsd -0x90(%rbp), %xmm0
movl -0x4c(%rbp), %eax
cvtsi2sd %rax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x428(%rbp)
movsd -0x428(%rbp), %xmm0
callq 0x42c0
movsd %xmm0, -0xd8(%rbp)
cmpl $0x0, -0x50(%rbp)
jne 0xc917
xorps %xmm0, %xmm0
movsd %xmm0, -0x430(%rbp)
jmp 0xc933
movsd -0x98(%rbp), %xmm0
movl -0x50(%rbp), %eax
cvtsi2sd %rax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x430(%rbp)
movsd -0x430(%rbp), %xmm0
callq 0x42c0
movq -0x398(%rbp), %rdi
movsd %xmm0, -0xe0(%rbp)
addq $0x8, %rdi
callq 0x17f80
movq -0x398(%rbp), %rdi
addq $0x20, %rdi
callq 0x17f80
movq -0x398(%rbp), %rdi
addq $0x38, %rdi
callq 0x17f80
movq -0x398(%rbp), %rdi
addq $0x50, %rdi
callq 0x17f80
movq -0x398(%rbp), %rax
movq -0x10(%rbp), %xmm0
movaps 0x44785(%rip), %xmm2    # 0x51120
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
movapd 0x44789(%rip), %xmm1    # 0x51130
subpd %xmm1, %xmm0
movaps %xmm0, %xmm3
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm3, %xmm0
leaq 0x59b7b(%rip), %rcx     # 0x66538
movsd (%rcx), %xmm3
mulsd %xmm3, %xmm0
movsd 0x446eb(%rip), %xmm3    # 0x510b8
mulsd %xmm3, %xmm0
movsd %xmm0, -0xe8(%rbp)
movq 0x128(%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 -0xe8(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd 0x446b8(%rip), %xmm1    # 0x510c0
mulsd %xmm1, %xmm0
movsd %xmm0, -0xf0(%rbp)
leaq 0x59b2d(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x440(%rbp)
movq $0x0, -0x110(%rbp)
leaq -0x111(%rbp), %rdi
movq %rdi, -0x438(%rbp)
callq 0x17d30
movq -0x440(%rbp), %rsi
movq -0x438(%rbp), %rcx
leaq -0x108(%rbp), %rdi
leaq -0x110(%rbp), %rdx
callq 0x17d50
jmp 0xca66
leaq -0x111(%rbp), %rdi
callq 0x17dd0
leaq 0x59acf(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x450(%rbp)
movq $0x0, -0x148(%rbp)
leaq -0x149(%rbp), %rdi
movq %rdi, -0x448(%rbp)
callq 0x17d30
movq -0x450(%rbp), %rsi
movq -0x448(%rbp), %rcx
leaq -0x140(%rbp), %rdi
leaq -0x148(%rbp), %rdx
callq 0x17d50
jmp 0xcac4
leaq -0x149(%rbp), %rdi
callq 0x17dd0
leaq 0x59a71(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x460(%rbp)
movq $0x0, -0x170(%rbp)
leaq -0x171(%rbp), %rdi
movq %rdi, -0x458(%rbp)
callq 0x17d30
movq -0x460(%rbp), %rsi
movq -0x458(%rbp), %rcx
leaq -0x168(%rbp), %rdi
leaq -0x170(%rbp), %rdx
callq 0x17d50
jmp 0xcb22
leaq -0x171(%rbp), %rdi
callq 0x17dd0
movq $0x0, -0x180(%rbp)
leaq 0x59a08(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x470(%rbp)
movq $0x0, -0x1a0(%rbp)
leaq -0x1a1(%rbp), %rdi
movq %rdi, -0x468(%rbp)
callq 0x17d30
movq -0x470(%rbp), %rsi
movq -0x468(%rbp), %rcx
leaq -0x198(%rbp), %rdi
leaq -0x1a0(%rbp), %rdx
callq 0x17d50
jmp 0xcb8b
leaq -0x1a1(%rbp), %rdi
callq 0x17dd0
leaq 0x599aa(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x480(%rbp)
movq $0x0, -0x1c8(%rbp)
leaq -0x1c9(%rbp), %rdi
movq %rdi, -0x478(%rbp)
callq 0x17d30
movq -0x480(%rbp), %rsi
movq -0x478(%rbp), %rcx
leaq -0x1c0(%rbp), %rdi
leaq -0x1c8(%rbp), %rdx
callq 0x17d50
jmp 0xcbe9
leaq -0x1c9(%rbp), %rdi
callq 0x17dd0
leaq 0x5994c(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x490(%rbp)
movq $0x0, -0x1f0(%rbp)
leaq -0x1f1(%rbp), %rdi
movq %rdi, -0x488(%rbp)
callq 0x17d30
movq -0x490(%rbp), %rsi
movq -0x488(%rbp), %rcx
leaq -0x1e8(%rbp), %rdi
leaq -0x1f0(%rbp), %rdx
callq 0x17d50
jmp 0xcc47
leaq -0x1f1(%rbp), %rdi
callq 0x17dd0
leaq 0x598ee(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x4a0(%rbp)
movq $0x0, -0x218(%rbp)
leaq -0x219(%rbp), %rdi
movq %rdi, -0x498(%rbp)
callq 0x17820
movq -0x4a0(%rbp), %rsi
movq -0x498(%rbp), %rcx
leaq -0x210(%rbp), %rdi
leaq -0x218(%rbp), %rdx
callq 0x17840
jmp 0xcca5
leaq -0x219(%rbp), %rdi
callq 0x17950
movl $0x0, -0x220(%rbp)
movl -0x220(%rbp), %eax
leaq 0x59880(%rip), %rcx     # 0x66548
cmpl (%rcx), %eax
jge 0xd161
movq -0x398(%rbp), %rdi
addq $0x130, %rdi            # imm = 0x130
movslq -0x220(%rbp), %rsi
callq 0x17df0
movq (%rax), %xmm0
movaps 0x4442b(%rip), %xmm1    # 0x51120
movaps %xmm1, -0x4f0(%rbp)
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x44428(%rip), %xmm1    # 0x51130
movaps %xmm1, -0x4e0(%rbp)
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd -0xe8(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd 0x4438e(%rip), %xmm1    # 0x510c0
movsd %xmm1, -0x500(%rbp)
mulsd %xmm1, %xmm0
movsd %xmm0, -0x538(%rbp)
movslq -0x220(%rbp), %rsi
leaq -0x108(%rbp), %rdi
movq %rdi, -0x528(%rbp)
callq 0x17e10
movsd -0x538(%rbp), %xmm0
movq -0x398(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x148, %rdi            # imm = 0x148
movslq -0x220(%rbp), %rsi
callq 0x17df0
movsd -0x500(%rbp), %xmm1
movaps -0x4f0(%rbp), %xmm3
movaps -0x4e0(%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 -0xe8(%rbp), %xmm2
divsd %xmm2, %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x530(%rbp)
movslq -0x220(%rbp), %rsi
leaq -0x140(%rbp), %rdi
movq %rdi, -0x520(%rbp)
callq 0x17e10
movsd -0x530(%rbp), %xmm0
movq -0x528(%rbp), %rdi
movsd %xmm0, (%rax)
movslq -0x220(%rbp), %rsi
callq 0x17e10
movq -0x520(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x518(%rbp)
movslq -0x220(%rbp), %rsi
callq 0x17e10
movsd -0x518(%rbp), %xmm0
movsd (%rax), %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x510(%rbp)
movslq -0x220(%rbp), %rsi
leaq -0x168(%rbp), %rdi
movq %rdi, -0x508(%rbp)
callq 0x17e10
movsd -0x510(%rbp), %xmm0
movq -0x508(%rbp), %rdi
movsd %xmm0, (%rax)
movslq -0x220(%rbp), %rsi
callq 0x17e10
movq -0x398(%rbp), %rdi
movsd (%rax), %xmm1
movsd -0x180(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x180(%rbp)
addq $0x160, %rdi            # imm = 0x160
movslq -0x220(%rbp), %rsi
callq 0x17df0
movsd -0x500(%rbp), %xmm1
movaps -0x4f0(%rbp), %xmm3
movaps -0x4e0(%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 -0xe8(%rbp), %xmm2
divsd %xmm2, %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x4f8(%rbp)
movslq -0x220(%rbp), %rsi
leaq -0x198(%rbp), %rdi
callq 0x17e10
movsd -0x4f8(%rbp), %xmm0
movq -0x398(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x178, %rdi            # imm = 0x178
movslq -0x220(%rbp), %rsi
callq 0x17df0
movaps -0x4f0(%rbp), %xmm2
movaps -0x4e0(%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 -0xe8(%rbp), %xmm0
movsd 0x44177(%rip), %xmm1    # 0x510d0
divsd %xmm1, %xmm0
movsd %xmm0, -0x4c8(%rbp)
movslq -0x220(%rbp), %rsi
leaq -0x1c0(%rbp), %rdi
callq 0x17e10
movsd -0x4c8(%rbp), %xmm0
movsd %xmm0, (%rax)
movslq -0x220(%rbp), %rsi
leaq -0x198(%rbp), %rdi
callq 0x17e10
movsd (%rax), %xmm0
movsd %xmm0, -0x4c0(%rbp)
movslq -0x220(%rbp), %rsi
leaq -0x1c0(%rbp), %rdi
callq 0x17e10
movsd -0x4c0(%rbp), %xmm0
addsd (%rax), %xmm0
movsd %xmm0, -0x4b8(%rbp)
movslq -0x220(%rbp), %rsi
leaq -0x1e8(%rbp), %rdi
callq 0x17e10
movsd -0x4b8(%rbp), %xmm0
movq -0x398(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x160, %rdi            # imm = 0x160
movslq -0x220(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0x4b0(%rbp)
addq $0x178, %rdi            # imm = 0x178
movslq -0x220(%rbp), %rsi
callq 0x17df0
movq %rax, %rcx
movq -0x4b0(%rbp), %rax
addq (%rcx), %rax
movq %rax, -0x4a8(%rbp)
movslq -0x220(%rbp), %rsi
leaq -0x210(%rbp), %rdi
callq 0x17df0
movq -0x4a8(%rbp), %rcx
movq %rcx, (%rax)
movl -0x220(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x220(%rbp)
jmp 0xccbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x111(%rbp), %rdi
callq 0x17dd0
jmp 0x103ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x149(%rbp), %rdi
callq 0x17dd0
jmp 0x103e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x171(%rbp), %rdi
callq 0x17dd0
jmp 0x103d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x1a1(%rbp), %rdi
callq 0x17dd0
jmp 0x103c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x1c9(%rbp), %rdi
callq 0x17dd0
jmp 0x103bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x1f1(%rbp), %rdi
callq 0x17dd0
jmp 0x103b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x219(%rbp), %rdi
callq 0x17950
jmp 0x103a4
movq $0x0, -0x228(%rbp)
movq $0x0, -0x230(%rbp)
leaq 0x593ca(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x548(%rbp)
movq $0x0, -0x250(%rbp)
leaq -0x251(%rbp), %rdi
movq %rdi, -0x540(%rbp)
callq 0x17d30
movq -0x548(%rbp), %rsi
movq -0x540(%rbp), %rcx
leaq -0x248(%rbp), %rdi
leaq -0x250(%rbp), %rdx
callq 0x17d50
jmp 0xd1c9
leaq -0x251(%rbp), %rdi
callq 0x17dd0
leaq 0x5936c(%rip), %rax     # 0x66548
movslq (%rax), %rax
movq %rax, -0x558(%rbp)
movq $0x0, -0x278(%rbp)
leaq -0x279(%rbp), %rdi
movq %rdi, -0x550(%rbp)
callq 0x17d30
movq -0x558(%rbp), %rsi
movq -0x550(%rbp), %rcx
leaq -0x270(%rbp), %rdi
leaq -0x278(%rbp), %rdx
callq 0x17d50
jmp 0xd227
leaq -0x279(%rbp), %rdi
callq 0x17dd0
movl $0x0, -0x280(%rbp)
movl -0x280(%rbp), %eax
leaq 0x592fe(%rip), %rcx     # 0x66548
cmpl (%rcx), %eax
jge 0xd450
movq -0x398(%rbp), %rax
movq 0x330(%rax), %rdi
addq $0x320, %rdi            # imm = 0x320
movslq -0x280(%rbp), %rsi
callq 0x17df0
movq %rax, %rcx
movq -0x398(%rbp), %rax
movq (%rcx), %xmm0
movaps 0x43e98(%rip), %xmm3    # 0x51120
movaps %xmm3, -0x580(%rbp)
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
movapd 0x43e95(%rip), %xmm2    # 0x51130
movaps %xmm2, -0x570(%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 0x43df0(%rip), %xmm1    # 0x510c8
mulsd %xmm1, %xmm0
movsd %xmm0, -0x588(%rbp)
movslq -0x280(%rbp), %rsi
leaq -0x248(%rbp), %rdi
callq 0x17e10
movsd -0x588(%rbp), %xmm0
movq %rax, %rcx
movq -0x398(%rbp), %rax
movsd %xmm0, (%rcx)
movq 0x330(%rax), %rdi
addq $0x338, %rdi            # imm = 0x338
movslq -0x280(%rbp), %rsi
callq 0x17df0
movaps -0x580(%rbp), %xmm3
movaps -0x570(%rbp), %xmm2
movq %rax, %rcx
movq -0x398(%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 0x43d4b(%rip), %xmm1    # 0x510c8
mulsd %xmm1, %xmm0
movsd %xmm0, -0x560(%rbp)
movslq -0x280(%rbp), %rsi
leaq -0x270(%rbp), %rdi
callq 0x17e10
movsd -0x560(%rbp), %xmm0
movsd %xmm0, (%rax)
movslq -0x280(%rbp), %rsi
leaq -0x248(%rbp), %rdi
callq 0x17e10
movsd (%rax), %xmm0
addsd -0x228(%rbp), %xmm0
movsd %xmm0, -0x228(%rbp)
movslq -0x280(%rbp), %rsi
leaq -0x270(%rbp), %rdi
callq 0x17e10
movsd (%rax), %xmm0
addsd -0x230(%rbp), %xmm0
movsd %xmm0, -0x230(%rbp)
movl -0x280(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x280(%rbp)
jmp 0xd23d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x251(%rbp), %rdi
callq 0x17dd0
jmp 0x10398
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x279(%rbp), %rdi
callq 0x17dd0
jmp 0x1038c
leaq 0x590f1(%rip), %rax     # 0x66548
cvtsi2sdl (%rax), %xmm1
movsd -0x228(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x228(%rbp)
leaq 0x590d2(%rip), %rax     # 0x66548
cvtsi2sdl (%rax), %xmm1
movsd -0x230(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x230(%rbp)
leaq 0x59095(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xd58d
movq 0x58b2b(%rip), %rdi     # 0x65fd0
movq 0x58b04(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0x590(%rbp)
jmp 0xd4ba
movq -0x590(%rbp), %rdi
movq 0x58ae8(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0x598(%rbp)
jmp 0xd4d6
movq -0x598(%rbp), %rdi
leaq 0x44bb0(%rip), %rsi     # 0x52094
callq 0x4380
movq %rax, -0x5a0(%rbp)
jmp 0xd4f2
movq -0x5a0(%rbp), %rdi
movq -0x398(%rbp), %rax
movq 0x370(%rax), %rax
leaq 0x59012(%rip), %rcx     # 0x66520
movq (%rcx), %rcx
xorl %edx, %edx
divq %rcx
movq %rax, %rsi
callq 0x40f0
movq %rax, -0x5a8(%rbp)
jmp 0xd527
movq -0x5a8(%rbp), %rdi
leaq 0x44b71(%rip), %rsi     # 0x520a6
callq 0x4380
movq %rax, -0x5b0(%rbp)
jmp 0xd543
movq -0x5b0(%rbp), %rdi
movq 0x58a5f(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0x5b8(%rbp)
jmp 0xd55f
movq -0x5b8(%rbp), %rdi
movq 0x58a43(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xd574
jmp 0xd58d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x10380
leaq 0x58f96(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xd601
movq 0x58a30(%rip), %rdi     # 0x65fd0
leaq 0x44b26(%rip), %rsi     # 0x520cd
callq 0x4380
movq %rax, -0x5c0(%rbp)
jmp 0xd5b5
movq -0x5c0(%rbp), %rdi
movq -0x398(%rbp), %rax
movq 0x370(%rax), %rax
leaq 0x58f4f(%rip), %rcx     # 0x66520
movq (%rcx), %rcx
xorl %edx, %edx
divq %rcx
movq %rax, %rsi
callq 0x40f0
movq %rax, -0x5c8(%rbp)
jmp 0xd5ea
movq -0x5c8(%rbp), %rdi
movq 0x589b8(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xd5ff
jmp 0xd601
leaq 0x58f22(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xd6d4
movq 0x589b8(%rip), %rdi     # 0x65fd0
leaq 0x44ac1(%rip), %rsi     # 0x520e0
callq 0x4380
movq %rax, -0x5d0(%rbp)
jmp 0xd62d
movq -0x5d0(%rbp), %rdi
movq -0x398(%rbp), %rax
movq 0x370(%rax), %rsi
callq 0x40f0
movq %rax, -0x5d8(%rbp)
jmp 0xd650
movq -0x5d8(%rbp), %rdi
leaq 0x44a95(%rip), %rsi     # 0x520f3
callq 0x4380
movq %rax, -0x5e0(%rbp)
jmp 0xd66c
movq -0x5e0(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x40f0
movq %rax, -0x5e8(%rbp)
jmp 0xd685
movq -0x5e8(%rbp), %rdi
leaq 0x46ce6(%rip), %rsi     # 0x54379
callq 0x4380
movq %rax, -0x5f0(%rbp)
jmp 0xd6a1
movq -0x5f0(%rbp), %rdi
movq 0x58901(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0x5f8(%rbp)
jmp 0xd6bd
movq -0x5f8(%rbp), %rdi
movq 0x588e5(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xd6d2
jmp 0xd6d4
leaq 0x58e4f(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xd7c3
movq 0x588e5(%rip), %rdi     # 0x65fd0
leaq 0x44a13(%rip), %rsi     # 0x52105
callq 0x4380
movq %rax, -0x600(%rbp)
jmp 0xd700
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x604(%rbp)
jmp 0xd712
movq -0x600(%rbp), %rdi
movl -0x604(%rbp), %eax
movl %eax, -0x284(%rbp)
movl -0x284(%rbp), %esi
callq 0x4440
movq %rax, -0x610(%rbp)
jmp 0xd739
movl $0x20, %edi
callq 0x177d0
movb %al, -0x611(%rbp)
jmp 0xd74b
movq -0x610(%rbp), %rdi
movb -0x611(%rbp), %al
movb %al, -0x285(%rbp)
movzbl -0x285(%rbp), %esi
callq 0x4550
movq %rax, -0x620(%rbp)
jmp 0xd773
movq -0x620(%rbp), %rdi
movsd -0xf0(%rbp), %xmm0
callq 0x4690
movq %rax, -0x628(%rbp)
jmp 0xd790
movq -0x628(%rbp), %rdi
leaq 0x44980(%rip), %rsi     # 0x5211e
callq 0x4380
movq %rax, -0x630(%rbp)
jmp 0xd7ac
movq -0x630(%rbp), %rdi
movq 0x587f6(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xd7c1
jmp 0xd7c3
leaq 0x58d60(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xd8b2
movq 0x587f6(%rip), %rdi     # 0x65fd0
leaq 0x44960(%rip), %rsi     # 0x52141
callq 0x4380
movq %rax, -0x638(%rbp)
jmp 0xd7ef
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x63c(%rbp)
jmp 0xd801
movq -0x638(%rbp), %rdi
movl -0x63c(%rbp), %eax
movl %eax, -0x28c(%rbp)
movl -0x28c(%rbp), %esi
callq 0x4440
movq %rax, -0x648(%rbp)
jmp 0xd828
movl $0x20, %edi
callq 0x177d0
movb %al, -0x649(%rbp)
jmp 0xd83a
movq -0x648(%rbp), %rdi
movb -0x649(%rbp), %al
movb %al, -0x28d(%rbp)
movzbl -0x28d(%rbp), %esi
callq 0x4550
movq %rax, -0x658(%rbp)
jmp 0xd862
movq -0x658(%rbp), %rdi
movsd -0x180(%rbp), %xmm0
callq 0x4690
movq %rax, -0x660(%rbp)
jmp 0xd87f
movq -0x660(%rbp), %rdi
leaq 0x448cd(%rip), %rsi     # 0x5215a
callq 0x4380
movq %rax, -0x668(%rbp)
jmp 0xd89b
movq -0x668(%rbp), %rdi
movq 0x58707(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xd8b0
jmp 0xd8b2
leaq 0x58c71(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xda69
movq 0x58707(%rip), %rdi     # 0x65fd0
leaq 0x448a8(%rip), %rsi     # 0x52178
callq 0x4380
movq %rax, -0x670(%rbp)
jmp 0xd8de
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x674(%rbp)
jmp 0xd8f0
movq -0x670(%rbp), %rdi
movl -0x674(%rbp), %eax
movl %eax, -0x294(%rbp)
movl -0x294(%rbp), %esi
callq 0x4440
movq %rax, -0x680(%rbp)
jmp 0xd917
movl $0x20, %edi
callq 0x177d0
movb %al, -0x681(%rbp)
jmp 0xd929
movq -0x680(%rbp), %rdi
movb -0x681(%rbp), %al
movb %al, -0x295(%rbp)
movzbl -0x295(%rbp), %esi
callq 0x4550
movq %rax, -0x690(%rbp)
jmp 0xd951
movq -0x398(%rbp), %rsi
movq 0x128(%rsi), %xmm0
movaps 0x437b9(%rip), %xmm1    # 0x51120
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x437bd(%rip), %xmm1    # 0x51130
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
leaq -0x2b8(%rbp), %rdi
callq 0x15cc0
jmp 0xd990
movq -0x690(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
callq 0x4320
movq %rax, -0x698(%rbp)
jmp 0xd9ac
movq -0x698(%rbp), %rdi
leaq 0x45e9c(%rip), %rsi     # 0x53856
callq 0x4380
movq %rax, -0x6a0(%rbp)
jmp 0xd9c8
movq -0x6a0(%rbp), %rdi
movq -0x398(%rbp), %rax
movq 0x128(%rax), %rsi
callq 0x40f0
movq %rax, -0x6a8(%rbp)
jmp 0xd9eb
movq -0x6a8(%rbp), %rdi
leaq 0x44798(%rip), %rsi     # 0x52191
callq 0x4380
movq %rax, -0x6b0(%rbp)
jmp 0xda07
movq -0x6b0(%rbp), %rdi
movq 0x5859b(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0x6b8(%rbp)
jmp 0xda23
movq -0x6b8(%rbp), %rdi
movq 0x5857f(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xda38
leaq -0x2b8(%rbp), %rdi
callq 0x46e8
jmp 0xda69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x2b8(%rbp), %rdi
callq 0x46e8
jmp 0x10380
leaq 0x58b18(%rip), %rax     # 0x66588
cmpl $0x0, (%rax)
je 0xdd70
leaq 0x58aaa(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xdb68
movq 0x58540(%rip), %rdi     # 0x65fd0
leaq 0x449ce(%rip), %rsi     # 0x52465
callq 0x4380
movq %rax, -0x6c0(%rbp)
jmp 0xdaa5
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x6c4(%rbp)
jmp 0xdab7
movq -0x6c0(%rbp), %rdi
movl -0x6c4(%rbp), %eax
movl %eax, -0x2bc(%rbp)
movl -0x2bc(%rbp), %esi
callq 0x4440
movq %rax, -0x6d0(%rbp)
jmp 0xdade
movl $0x20, %edi
callq 0x177d0
movb %al, -0x6d1(%rbp)
jmp 0xdaf0
movq -0x6d0(%rbp), %rdi
movb -0x6d1(%rbp), %al
movb %al, -0x2bd(%rbp)
movzbl -0x2bd(%rbp), %esi
callq 0x4550
movq %rax, -0x6e0(%rbp)
jmp 0xdb18
movq -0x6e0(%rbp), %rdi
movsd -0x228(%rbp), %xmm0
callq 0x4690
movq %rax, -0x6e8(%rbp)
jmp 0xdb35
movq -0x6e8(%rbp), %rdi
leaq 0x44652(%rip), %rsi     # 0x52195
callq 0x4380
movq %rax, -0x6f0(%rbp)
jmp 0xdb51
movq -0x6f0(%rbp), %rdi
movq 0x58451(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xdb66
jmp 0xdb68
leaq 0x589bb(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xdc57
movq 0x58451(%rip), %rdi     # 0x65fd0
leaq 0x44902(%rip), %rsi     # 0x52488
callq 0x4380
movq %rax, -0x6f8(%rbp)
jmp 0xdb94
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x6fc(%rbp)
jmp 0xdba6
movq -0x6f8(%rbp), %rdi
movl -0x6fc(%rbp), %eax
movl %eax, -0x2c4(%rbp)
movl -0x2c4(%rbp), %esi
callq 0x4440
movq %rax, -0x708(%rbp)
jmp 0xdbcd
movl $0x20, %edi
callq 0x177d0
movb %al, -0x709(%rbp)
jmp 0xdbdf
movq -0x708(%rbp), %rdi
movb -0x709(%rbp), %al
movb %al, -0x2c5(%rbp)
movzbl -0x2c5(%rbp), %esi
callq 0x4550
movq %rax, -0x718(%rbp)
jmp 0xdc07
movq -0x718(%rbp), %rdi
movsd -0x230(%rbp), %xmm0
callq 0x4690
movq %rax, -0x720(%rbp)
jmp 0xdc24
movq -0x720(%rbp), %rdi
leaq 0x44563(%rip), %rsi     # 0x52195
callq 0x4380
movq %rax, -0x728(%rbp)
jmp 0xdc40
movq -0x728(%rbp), %rdi
movq 0x58362(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xdc55
jmp 0xdc57
leaq 0x588cc(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xdd6e
movq 0x58362(%rip), %rdi     # 0x65fd0
leaq 0x44523(%rip), %rsi     # 0x52198
callq 0x4380
movq %rax, -0x730(%rbp)
jmp 0xdc83
movl $0x7, %edi
callq 0x177b0
movl %eax, -0x734(%rbp)
jmp 0xdc95
movq -0x730(%rbp), %rdi
movl -0x734(%rbp), %eax
movl %eax, -0x2cc(%rbp)
movl -0x2cc(%rbp), %esi
callq 0x4440
movq %rax, -0x740(%rbp)
jmp 0xdcbc
movl $0x20, %edi
callq 0x177d0
movb %al, -0x741(%rbp)
jmp 0xdcce
movq -0x740(%rbp), %rdi
movb -0x741(%rbp), %al
movb %al, -0x2cd(%rbp)
movzbl -0x2cd(%rbp), %esi
callq 0x4550
movq %rax, -0x750(%rbp)
jmp 0xdcf6
movq -0x750(%rbp), %rdi
movsd -0x228(%rbp), %xmm0
movsd -0x230(%rbp), %xmm1
addsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x758(%rbp)
jmp 0xdd1f
movq -0x758(%rbp), %rdi
leaq 0x44468(%rip), %rsi     # 0x52195
callq 0x4380
movq %rax, -0x760(%rbp)
jmp 0xdd3b
movq -0x760(%rbp), %rdi
movq 0x58267(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0x768(%rbp)
jmp 0xdd57
movq -0x768(%rbp), %rdi
movq 0x5824b(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xdd6c
jmp 0xdd6e
jmp 0xdd70
leaq 0x587b3(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xddf7
movq 0x5824d(%rip), %rdi     # 0x65fd0
leaq 0x44427(%rip), %rsi     # 0x521b1
callq 0x4380
movq %rax, -0x770(%rbp)
jmp 0xdd98
movq -0x770(%rbp), %rdi
movsd -0xa0(%rbp), %xmm0
leaq 0x5878a(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x778(%rbp)
jmp 0xddc4
movq -0x778(%rbp), %rdi
leaq 0x443f8(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x780(%rbp)
jmp 0xdde0
movq -0x780(%rbp), %rdi
movq 0x581c2(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xddf5
jmp 0xddf7
leaq 0x5872c(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xde7e
movq 0x581c6(%rip), %rdi     # 0x65fd0
leaq 0x443bd(%rip), %rsi     # 0x521ce
callq 0x4380
movq %rax, -0x788(%rbp)
jmp 0xde1f
movq -0x788(%rbp), %rdi
movsd -0xc8(%rbp), %xmm0
leaq 0x58703(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x790(%rbp)
jmp 0xde4b
movq -0x790(%rbp), %rdi
leaq 0x44371(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x798(%rbp)
jmp 0xde67
movq -0x798(%rbp), %rdi
movq 0x5813b(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xde7c
jmp 0xde7e
leaq 0x586a5(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xdf05
movq 0x5813f(%rip), %rdi     # 0x65fd0
leaq 0x4434f(%rip), %rsi     # 0x521e7
callq 0x4380
movq %rax, -0x7a0(%rbp)
jmp 0xdea6
movq -0x7a0(%rbp), %rdi
movl -0x58(%rbp), %eax
cvtsi2sd %rax, %xmm0
leaq 0x5867c(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x7a8(%rbp)
jmp 0xded2
movq -0x7a8(%rbp), %rdi
leaq 0x442ea(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x7b0(%rbp)
jmp 0xdeee
movq -0x7b0(%rbp), %rdi
movq 0x580b4(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xdf03
jmp 0xdf05
leaq 0x5861e(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xdfb0
movq 0x580b4(%rip), %rdi     # 0x65fd0
leaq 0x442dd(%rip), %rsi     # 0x52200
callq 0x4380
movq %rax, -0x7b8(%rbp)
jmp 0xdf31
cmpl $-0x1, -0x5c(%rbp)
je 0xdf42
movl -0x5c(%rbp), %eax
movl %eax, -0x7bc(%rbp)
jmp 0xdf4c
xorl %eax, %eax
movl %eax, -0x7bc(%rbp)
jmp 0xdf4c
movq -0x7b8(%rbp), %rdi
movl -0x7bc(%rbp), %eax
movl %eax, %eax
cvtsi2sd %rax, %xmm0
leaq 0x585d1(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x7c8(%rbp)
jmp 0xdf7d
movq -0x7c8(%rbp), %rdi
leaq 0x4423f(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x7d0(%rbp)
jmp 0xdf99
movq -0x7d0(%rbp), %rdi
movq 0x58009(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xdfae
jmp 0xdfb0
leaq 0x58573(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe037
movq 0x5800d(%rip), %rdi     # 0x65fd0
leaq 0x4424f(%rip), %rsi     # 0x52219
callq 0x4380
movq %rax, -0x7d8(%rbp)
jmp 0xdfd8
movq -0x7d8(%rbp), %rdi
movsd -0xa8(%rbp), %xmm0
leaq 0x5854a(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x7e0(%rbp)
jmp 0xe004
movq -0x7e0(%rbp), %rdi
leaq 0x441b8(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x7e8(%rbp)
jmp 0xe020
movq -0x7e8(%rbp), %rdi
movq 0x57f82(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe035
jmp 0xe037
leaq 0x584ec(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe0be
movq 0x57f86(%rip), %rdi     # 0x65fd0
leaq 0x4417d(%rip), %rsi     # 0x521ce
callq 0x4380
movq %rax, -0x7f0(%rbp)
jmp 0xe05f
movq -0x7f0(%rbp), %rdi
movsd -0xd0(%rbp), %xmm0
leaq 0x584c3(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x7f8(%rbp)
jmp 0xe08b
movq -0x7f8(%rbp), %rdi
leaq 0x44131(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x800(%rbp)
jmp 0xe0a7
movq -0x800(%rbp), %rdi
movq 0x57efb(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe0bc
jmp 0xe0be
leaq 0x58465(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe145
movq 0x57eff(%rip), %rdi     # 0x65fd0
leaq 0x4410f(%rip), %rsi     # 0x521e7
callq 0x4380
movq %rax, -0x808(%rbp)
jmp 0xe0e6
movq -0x808(%rbp), %rdi
movl -0x60(%rbp), %eax
cvtsi2sd %rax, %xmm0
leaq 0x5843c(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x810(%rbp)
jmp 0xe112
movq -0x810(%rbp), %rdi
leaq 0x440aa(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x818(%rbp)
jmp 0xe12e
movq -0x818(%rbp), %rdi
movq 0x57e74(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe143
jmp 0xe145
leaq 0x583de(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe1f0
movq 0x57e74(%rip), %rdi     # 0x65fd0
leaq 0x4409d(%rip), %rsi     # 0x52200
callq 0x4380
movq %rax, -0x820(%rbp)
jmp 0xe171
cmpl $-0x1, -0x64(%rbp)
je 0xe182
movl -0x64(%rbp), %eax
movl %eax, -0x824(%rbp)
jmp 0xe18c
xorl %eax, %eax
movl %eax, -0x824(%rbp)
jmp 0xe18c
movq -0x820(%rbp), %rdi
movl -0x824(%rbp), %eax
movl %eax, %eax
cvtsi2sd %rax, %xmm0
leaq 0x58391(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x830(%rbp)
jmp 0xe1bd
movq -0x830(%rbp), %rdi
leaq 0x43fff(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x838(%rbp)
jmp 0xe1d9
movq -0x838(%rbp), %rdi
movq 0x57dc9(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe1ee
jmp 0xe1f0
leaq 0x58333(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe277
movq 0x57dcd(%rip), %rdi     # 0x65fd0
leaq 0x44028(%rip), %rsi     # 0x52232
callq 0x4380
movq %rax, -0x840(%rbp)
jmp 0xe218
movq -0x840(%rbp), %rdi
movsd -0xb0(%rbp), %xmm0
leaq 0x58412(%rip), %rax     # 0x66640
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x848(%rbp)
jmp 0xe244
movq -0x848(%rbp), %rdi
leaq 0x43f78(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x850(%rbp)
jmp 0xe260
movq -0x850(%rbp), %rdi
movq 0x57d42(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe275
jmp 0xe277
leaq 0x582ac(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe2fe
movq 0x57d46(%rip), %rdi     # 0x65fd0
leaq 0x43f3d(%rip), %rsi     # 0x521ce
callq 0x4380
movq %rax, -0x858(%rbp)
jmp 0xe29f
movq -0x858(%rbp), %rdi
movsd -0xd8(%rbp), %xmm0
leaq 0x5838b(%rip), %rax     # 0x66640
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x860(%rbp)
jmp 0xe2cb
movq -0x860(%rbp), %rdi
leaq 0x43ef1(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x868(%rbp)
jmp 0xe2e7
movq -0x868(%rbp), %rdi
movq 0x57cbb(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe2fc
jmp 0xe2fe
leaq 0x58225(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe385
movq 0x57cbf(%rip), %rdi     # 0x65fd0
leaq 0x43ecf(%rip), %rsi     # 0x521e7
callq 0x4380
movq %rax, -0x870(%rbp)
jmp 0xe326
movq -0x870(%rbp), %rdi
movl -0x68(%rbp), %eax
cvtsi2sd %rax, %xmm0
leaq 0x58304(%rip), %rax     # 0x66640
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x878(%rbp)
jmp 0xe352
movq -0x878(%rbp), %rdi
leaq 0x43e6a(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x880(%rbp)
jmp 0xe36e
movq -0x880(%rbp), %rdi
movq 0x57c34(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe383
jmp 0xe385
leaq 0x5819e(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe430
movq 0x57c34(%rip), %rdi     # 0x65fd0
leaq 0x43e5d(%rip), %rsi     # 0x52200
callq 0x4380
movq %rax, -0x888(%rbp)
jmp 0xe3b1
cmpl $-0x1, -0x6c(%rbp)
je 0xe3c2
movl -0x6c(%rbp), %eax
movl %eax, -0x88c(%rbp)
jmp 0xe3cc
xorl %eax, %eax
movl %eax, -0x88c(%rbp)
jmp 0xe3cc
movq -0x888(%rbp), %rdi
movl -0x88c(%rbp), %eax
movl %eax, %eax
cvtsi2sd %rax, %xmm0
leaq 0x58259(%rip), %rax     # 0x66640
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x898(%rbp)
jmp 0xe3fd
movq -0x898(%rbp), %rdi
leaq 0x43dbf(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x8a0(%rbp)
jmp 0xe419
movq -0x8a0(%rbp), %rdi
movq 0x57b89(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe42e
jmp 0xe430
leaq 0x580f3(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe4b7
movq 0x57b8d(%rip), %rdi     # 0x65fd0
leaq 0x43e01(%rip), %rsi     # 0x5224b
callq 0x4380
movq %rax, -0x8a8(%rbp)
jmp 0xe458
movq -0x8a8(%rbp), %rdi
movsd -0xb8(%rbp), %xmm0
leaq 0x580ca(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x8b0(%rbp)
jmp 0xe484
movq -0x8b0(%rbp), %rdi
leaq 0x43d38(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x8b8(%rbp)
jmp 0xe4a0
movq -0x8b8(%rbp), %rdi
movq 0x57b02(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe4b5
jmp 0xe4b7
leaq 0x5806c(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe53e
movq 0x57b06(%rip), %rdi     # 0x65fd0
leaq 0x43cfd(%rip), %rsi     # 0x521ce
callq 0x4380
movq %rax, -0x8c0(%rbp)
jmp 0xe4df
movq -0x8c0(%rbp), %rdi
movsd -0xe0(%rbp), %xmm0
leaq 0x58043(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x8c8(%rbp)
jmp 0xe50b
movq -0x8c8(%rbp), %rdi
leaq 0x43cb1(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x8d0(%rbp)
jmp 0xe527
movq -0x8d0(%rbp), %rdi
movq 0x57a7b(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe53c
jmp 0xe53e
leaq 0x57fe5(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe5c5
movq 0x57a7f(%rip), %rdi     # 0x65fd0
leaq 0x43c8f(%rip), %rsi     # 0x521e7
callq 0x4380
movq %rax, -0x8d8(%rbp)
jmp 0xe566
movq -0x8d8(%rbp), %rdi
movl -0x70(%rbp), %eax
cvtsi2sd %rax, %xmm0
leaq 0x57fbc(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x8e0(%rbp)
jmp 0xe592
movq -0x8e0(%rbp), %rdi
leaq 0x43c2a(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x8e8(%rbp)
jmp 0xe5ae
movq -0x8e8(%rbp), %rdi
movq 0x579f4(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe5c3
jmp 0xe5c5
leaq 0x57f5e(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe68c
movq 0x579f4(%rip), %rdi     # 0x65fd0
leaq 0x43c1d(%rip), %rsi     # 0x52200
callq 0x4380
movq %rax, -0x8f0(%rbp)
jmp 0xe5f1
cmpl $-0x1, -0x74(%rbp)
je 0xe602
movl -0x74(%rbp), %eax
movl %eax, -0x8f4(%rbp)
jmp 0xe60c
xorl %eax, %eax
movl %eax, -0x8f4(%rbp)
jmp 0xe60c
movq -0x8f0(%rbp), %rdi
movl -0x8f4(%rbp), %eax
movl %eax, %eax
cvtsi2sd %rax, %xmm0
leaq 0x57f11(%rip), %rax     # 0x66538
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0x900(%rbp)
jmp 0xe63d
movq -0x900(%rbp), %rdi
leaq 0x43b7f(%rip), %rsi     # 0x521ca
callq 0x4380
movq %rax, -0x908(%rbp)
jmp 0xe659
movq -0x908(%rbp), %rdi
movq 0x57949(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0x910(%rbp)
jmp 0xe675
movq -0x910(%rbp), %rdi
movq 0x5792d(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe68a
jmp 0xe68c
leaq 0x57e97(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe6e4
movq 0x57931(%rip), %rdi     # 0x65fd0
leaq 0x43bbe(%rip), %rsi     # 0x52264
callq 0x4380
movq %rax, -0x918(%rbp)
jmp 0xe6b4
movq -0x918(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x40f0
movq %rax, -0x920(%rbp)
jmp 0xe6cd
movq -0x920(%rbp), %rdi
movq 0x578d5(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe6e2
jmp 0xe6e4
leaq 0x57e3f(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe73c
movq 0x578d9(%rip), %rdi     # 0x65fd0
leaq 0x43b7f(%rip), %rsi     # 0x5227d
callq 0x4380
movq %rax, -0x928(%rbp)
jmp 0xe70c
movq -0x928(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x40f0
movq %rax, -0x930(%rbp)
jmp 0xe725
movq -0x930(%rbp), %rdi
movq 0x5787d(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe73a
jmp 0xe73c
leaq 0x57de7(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe794
movq 0x57881(%rip), %rdi     # 0x65fd0
leaq 0x43b40(%rip), %rsi     # 0x52296
callq 0x4380
movq %rax, -0x938(%rbp)
jmp 0xe764
movq -0x938(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x40f0
movq %rax, -0x940(%rbp)
jmp 0xe77d
movq -0x940(%rbp), %rdi
movq 0x57825(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe792
jmp 0xe794
leaq 0x57d8f(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe7ec
movq 0x57829(%rip), %rdi     # 0x65fd0
leaq 0x43b01(%rip), %rsi     # 0x522af
callq 0x4380
movq %rax, -0x948(%rbp)
jmp 0xe7bc
movq -0x948(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x40f0
movq %rax, -0x950(%rbp)
jmp 0xe7d5
movq -0x950(%rbp), %rdi
movq 0x577cd(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe7ea
jmp 0xe7ec
leaq 0x57d37(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe844
movq 0x577d1(%rip), %rdi     # 0x65fd0
leaq 0x43ac2(%rip), %rsi     # 0x522c8
callq 0x4380
movq %rax, -0x958(%rbp)
jmp 0xe814
movq -0x958(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x40f0
movq %rax, -0x960(%rbp)
jmp 0xe82d
movq -0x960(%rbp), %rdi
movq 0x57775(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe842
jmp 0xe844
leaq 0x57cdf(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe89c
movq 0x57779(%rip), %rdi     # 0x65fd0
leaq 0x43a83(%rip), %rsi     # 0x522e1
callq 0x4380
movq %rax, -0x968(%rbp)
jmp 0xe86c
movq -0x968(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0x40f0
movq %rax, -0x970(%rbp)
jmp 0xe885
movq -0x970(%rbp), %rdi
movq 0x5771d(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe89a
jmp 0xe89c
leaq 0x57c87(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe8f3
movq 0x57721(%rip), %rdi     # 0x65fd0
leaq 0x43a44(%rip), %rsi     # 0x522fa
callq 0x4380
movq %rax, -0x978(%rbp)
jmp 0xe8c4
movq -0x978(%rbp), %rdi
movl -0x4c(%rbp), %esi
callq 0x44c0
movq %rax, -0x980(%rbp)
jmp 0xe8dc
movq -0x980(%rbp), %rdi
movq 0x576c6(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe8f1
jmp 0xe8f3
leaq 0x57c30(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe94a
movq 0x576ca(%rip), %rdi     # 0x65fd0
leaq 0x43a06(%rip), %rsi     # 0x52313
callq 0x4380
movq %rax, -0x988(%rbp)
jmp 0xe91b
movq -0x988(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0x44c0
movq %rax, -0x990(%rbp)
jmp 0xe933
movq -0x990(%rbp), %rdi
movq 0x5766f(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe948
jmp 0xe94a
leaq 0x57bd9(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xe9bd
movq 0x57673(%rip), %rdi     # 0x65fd0
leaq 0x439c8(%rip), %rsi     # 0x5232c
callq 0x4380
movq %rax, -0x998(%rbp)
jmp 0xe972
movq -0x998(%rbp), %rdi
movl -0x50(%rbp), %esi
callq 0x44c0
movq %rax, -0x9a0(%rbp)
jmp 0xe98a
movq -0x9a0(%rbp), %rdi
movq 0x57618(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0x9a8(%rbp)
jmp 0xe9a6
movq -0x9a8(%rbp), %rdi
movq 0x575fc(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xe9bb
jmp 0xe9bd
movl $0x0, -0x2d4(%rbp)
movl -0x2d4(%rbp), %eax
leaq 0x57b74(%rip), %rcx     # 0x66548
cmpl (%rcx), %eax
jge 0xfa90
leaq 0x57b47(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xea52
movq 0x575e1(%rip), %rdi     # 0x65fd0
leaq 0x4394f(%rip), %rsi     # 0x52345
callq 0x4380
movq %rax, -0x9b0(%rbp)
jmp 0xea04
movq -0x9b0(%rbp), %rdi
movl -0x2d4(%rbp), %esi
callq 0x4610
movq %rax, -0x9b8(%rbp)
jmp 0xea1f
movq -0x9b8(%rbp), %rdi
leaq 0x43fed(%rip), %rsi     # 0x52a1a
callq 0x4380
movq %rax, -0x9c0(%rbp)
jmp 0xea3b
movq -0x9c0(%rbp), %rdi
movq 0x57567(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xea50
jmp 0xea52
leaq 0x57ad1(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xeac0
movq 0x5756b(%rip), %rdi     # 0x65fd0
leaq 0x438fa(%rip), %rsi     # 0x52366
callq 0x4380
movq %rax, -0x9c8(%rbp)
jmp 0xea7a
movq -0x398(%rbp), %rdi
addq $0x68, %rdi
movslq -0x2d4(%rbp), %rsi
callq 0x17df0
movq -0x9c8(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0x9d0(%rbp)
jmp 0xeaa9
movq -0x9d0(%rbp), %rdi
movq 0x574f9(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xeabe
jmp 0xeac0
leaq 0x57a63(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xeb2e
movq 0x574fd(%rip), %rdi     # 0x65fd0
leaq 0x438af(%rip), %rsi     # 0x52389
callq 0x4380
movq %rax, -0x9d8(%rbp)
jmp 0xeae8
movq -0x398(%rbp), %rdi
subq $-0x80, %rdi
movslq -0x2d4(%rbp), %rsi
callq 0x17df0
movq -0x9d8(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0x9e0(%rbp)
jmp 0xeb17
movq -0x9e0(%rbp), %rdi
movq 0x5748b(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xeb2c
jmp 0xeb2e
leaq 0x579f5(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xeb9f
movq 0x5748f(%rip), %rdi     # 0x65fd0
leaq 0x43864(%rip), %rsi     # 0x523ac
callq 0x4380
movq %rax, -0x9e8(%rbp)
jmp 0xeb56
movq -0x398(%rbp), %rdi
addq $0x98, %rdi
movslq -0x2d4(%rbp), %rsi
callq 0x17df0
movq -0x9e8(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0x9f0(%rbp)
jmp 0xeb88
movq -0x9f0(%rbp), %rdi
movq 0x5741a(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xeb9d
jmp 0xeb9f
leaq 0x57984(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xec10
movq 0x5741e(%rip), %rdi     # 0x65fd0
leaq 0x43816(%rip), %rsi     # 0x523cf
callq 0x4380
movq %rax, -0x9f8(%rbp)
jmp 0xebc7
movq -0x398(%rbp), %rdi
addq $0xb0, %rdi
movslq -0x2d4(%rbp), %rsi
callq 0x17df0
movq -0x9f8(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0xa00(%rbp)
jmp 0xebf9
movq -0xa00(%rbp), %rdi
movq 0x573a9(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xec0e
jmp 0xec10
leaq 0x57913(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xec81
movq 0x573ad(%rip), %rdi     # 0x65fd0
leaq 0x437c8(%rip), %rsi     # 0x523f2
callq 0x4380
movq %rax, -0xa08(%rbp)
jmp 0xec38
movq -0x398(%rbp), %rdi
addq $0xc8, %rdi
movslq -0x2d4(%rbp), %rsi
callq 0x17df0
movq -0xa08(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0xa10(%rbp)
jmp 0xec6a
movq -0xa10(%rbp), %rdi
movq 0x57338(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xec7f
jmp 0xec81
leaq 0x578a2(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xecf2
movq 0x5733c(%rip), %rdi     # 0x65fd0
leaq 0x4377a(%rip), %rsi     # 0x52415
callq 0x4380
movq %rax, -0xa18(%rbp)
jmp 0xeca9
movq -0x398(%rbp), %rdi
addq $0xe0, %rdi
movslq -0x2d4(%rbp), %rsi
callq 0x17df0
movq -0xa18(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0xa20(%rbp)
jmp 0xecdb
movq -0xa20(%rbp), %rdi
movq 0x572c7(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xecf0
jmp 0xecf2
leaq 0x57831(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xed62
movq 0x572cb(%rip), %rdi     # 0x65fd0
leaq 0x4372c(%rip), %rsi     # 0x52438
callq 0x4380
movq %rax, -0xa28(%rbp)
jmp 0xed1a
movq -0x398(%rbp), %rdi
addq $0xf8, %rdi
movslq -0x2d4(%rbp), %rsi
callq 0x17e90
movq -0xa28(%rbp), %rdi
movl (%rax), %esi
callq 0x44c0
movq %rax, -0xa30(%rbp)
jmp 0xed4b
movq -0xa30(%rbp), %rdi
movq 0x57257(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xed60
jmp 0xed62
leaq 0x5781f(%rip), %rax     # 0x66588
cmpl $0x0, (%rax)
je 0xef38
leaq 0x577b1(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xedf9
movq 0x5724b(%rip), %rdi     # 0x65fd0
leaq 0x436cf(%rip), %rsi     # 0x5245b
callq 0x4380
movq %rax, -0xa38(%rbp)
jmp 0xed9a
movslq -0x2d4(%rbp), %rsi
leaq -0x248(%rbp), %rdi
callq 0x17e10
movq -0xa38(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xa40(%rbp)
jmp 0xedc6
movq -0xa40(%rbp), %rdi
leaq 0x433c1(%rip), %rsi     # 0x52195
callq 0x4380
movq %rax, -0xa48(%rbp)
jmp 0xede2
movq -0xa48(%rbp), %rdi
movq 0x571c0(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xedf7
jmp 0xedf9
leaq 0x5772a(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xee80
movq 0x571c4(%rip), %rdi     # 0x65fd0
leaq 0x4366b(%rip), %rsi     # 0x5247e
callq 0x4380
movq %rax, -0xa50(%rbp)
jmp 0xee21
movslq -0x2d4(%rbp), %rsi
leaq -0x270(%rbp), %rdi
callq 0x17e10
movq -0xa50(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xa58(%rbp)
jmp 0xee4d
movq -0xa58(%rbp), %rdi
leaq 0x4333a(%rip), %rsi     # 0x52195
callq 0x4380
movq %rax, -0xa60(%rbp)
jmp 0xee69
movq -0xa60(%rbp), %rdi
movq 0x57139(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xee7e
jmp 0xee80
leaq 0x576a3(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xef36
movq 0x57139(%rip), %rdi     # 0x65fd0
leaq 0x43603(%rip), %rsi     # 0x524a1
callq 0x4380
movq %rax, -0xa68(%rbp)
jmp 0xeeac
movslq -0x2d4(%rbp), %rsi
leaq -0x248(%rbp), %rdi
callq 0x17e10
movsd (%rax), %xmm0
movsd %xmm0, -0xa78(%rbp)
movslq -0x2d4(%rbp), %rsi
leaq -0x270(%rbp), %rdi
callq 0x17e10
movsd -0xa78(%rbp), %xmm0
movq -0xa68(%rbp), %rdi
movsd (%rax), %xmm1
addsd %xmm1, %xmm0
callq 0x4690
movq %rax, -0xa70(%rbp)
jmp 0xef03
movq -0xa70(%rbp), %rdi
leaq 0x43284(%rip), %rsi     # 0x52195
callq 0x4380
movq %rax, -0xa80(%rbp)
jmp 0xef1f
movq -0xa80(%rbp), %rdi
movq 0x57083(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xef34
jmp 0xef36
jmp 0xef38
leaq 0x575eb(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xf036
movq 0x57081(%rip), %rdi     # 0x65fd0
leaq 0x4356e(%rip), %rsi     # 0x524c4
callq 0x4380
movq %rax, -0xa88(%rbp)
jmp 0xef64
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xa8c(%rbp)
jmp 0xef76
movq -0xa88(%rbp), %rdi
movl -0xa8c(%rbp), %eax
movl %eax, -0x2d8(%rbp)
movl -0x2d8(%rbp), %esi
callq 0x4440
movq %rax, -0xa98(%rbp)
jmp 0xef9d
movl $0x20, %edi
callq 0x177d0
movb %al, -0xa99(%rbp)
jmp 0xefaf
movq -0xa98(%rbp), %rdi
movb -0xa99(%rbp), %al
movb %al, -0x2d9(%rbp)
movzbl -0x2d9(%rbp), %esi
callq 0x4550
movq %rax, -0xaa8(%rbp)
jmp 0xefd7
movslq -0x2d4(%rbp), %rsi
leaq -0x108(%rbp), %rdi
callq 0x17e10
movq -0xaa8(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xab0(%rbp)
jmp 0xf003
movq -0xab0(%rbp), %rdi
leaq 0x434d6(%rip), %rsi     # 0x524e7
callq 0x4380
movq %rax, -0xab8(%rbp)
jmp 0xf01f
movq -0xab8(%rbp), %rdi
movq 0x56f83(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xf034
jmp 0xf036
leaq 0x574ed(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xf134
movq 0x56f83(%rip), %rdi     # 0x65fd0
leaq 0x43499(%rip), %rsi     # 0x524ed
callq 0x4380
movq %rax, -0xac0(%rbp)
jmp 0xf062
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xac4(%rbp)
jmp 0xf074
movq -0xac0(%rbp), %rdi
movl -0xac4(%rbp), %eax
movl %eax, -0x2e0(%rbp)
movl -0x2e0(%rbp), %esi
callq 0x4440
movq %rax, -0xad0(%rbp)
jmp 0xf09b
movl $0x20, %edi
callq 0x177d0
movb %al, -0xad1(%rbp)
jmp 0xf0ad
movq -0xad0(%rbp), %rdi
movb -0xad1(%rbp), %al
movb %al, -0x2e1(%rbp)
movzbl -0x2e1(%rbp), %esi
callq 0x4550
movq %rax, -0xae0(%rbp)
jmp 0xf0d5
movslq -0x2d4(%rbp), %rsi
leaq -0x140(%rbp), %rdi
callq 0x17e10
movq -0xae0(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xae8(%rbp)
jmp 0xf101
movq -0xae8(%rbp), %rdi
leaq 0x433d8(%rip), %rsi     # 0x524e7
callq 0x4380
movq %rax, -0xaf0(%rbp)
jmp 0xf11d
movq -0xaf0(%rbp), %rdi
movq 0x56e85(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xf132
jmp 0xf134
leaq 0x573ef(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xf232
movq 0x56e85(%rip), %rdi     # 0x65fd0
leaq 0x433be(%rip), %rsi     # 0x52510
callq 0x4380
movq %rax, -0xaf8(%rbp)
jmp 0xf160
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xafc(%rbp)
jmp 0xf172
movq -0xaf8(%rbp), %rdi
movl -0xafc(%rbp), %eax
movl %eax, -0x2e8(%rbp)
movl -0x2e8(%rbp), %esi
callq 0x4440
movq %rax, -0xb08(%rbp)
jmp 0xf199
movl $0x20, %edi
callq 0x177d0
movb %al, -0xb09(%rbp)
jmp 0xf1ab
movq -0xb08(%rbp), %rdi
movb -0xb09(%rbp), %al
movb %al, -0x2e9(%rbp)
movzbl -0x2e9(%rbp), %esi
callq 0x4550
movq %rax, -0xb18(%rbp)
jmp 0xf1d3
movslq -0x2d4(%rbp), %rsi
leaq -0x168(%rbp), %rdi
callq 0x17e10
movq -0xb18(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xb20(%rbp)
jmp 0xf1ff
movq -0xb20(%rbp), %rdi
leaq 0x432da(%rip), %rsi     # 0x524e7
callq 0x4380
movq %rax, -0xb28(%rbp)
jmp 0xf21b
movq -0xb28(%rbp), %rdi
movq 0x56d87(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xf230
jmp 0xf232
leaq 0x572f1(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xf330
movq 0x56d87(%rip), %rdi     # 0x65fd0
leaq 0x432e3(%rip), %rsi     # 0x52533
callq 0x4380
movq %rax, -0xb30(%rbp)
jmp 0xf25e
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xb34(%rbp)
jmp 0xf270
movq -0xb30(%rbp), %rdi
movl -0xb34(%rbp), %eax
movl %eax, -0x2f0(%rbp)
movl -0x2f0(%rbp), %esi
callq 0x4440
movq %rax, -0xb40(%rbp)
jmp 0xf297
movl $0x20, %edi
callq 0x177d0
movb %al, -0xb41(%rbp)
jmp 0xf2a9
movq -0xb40(%rbp), %rdi
movb -0xb41(%rbp), %al
movb %al, -0x2f1(%rbp)
movzbl -0x2f1(%rbp), %esi
callq 0x4550
movq %rax, -0xb50(%rbp)
jmp 0xf2d1
movslq -0x2d4(%rbp), %rsi
leaq -0x198(%rbp), %rdi
callq 0x17e10
movq -0xb50(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xb58(%rbp)
jmp 0xf2fd
movq -0xb58(%rbp), %rdi
leaq 0x431dc(%rip), %rsi     # 0x524e7
callq 0x4380
movq %rax, -0xb60(%rbp)
jmp 0xf319
movq -0xb60(%rbp), %rdi
movq 0x56c89(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xf32e
jmp 0xf330
leaq 0x571f3(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xf42e
movq 0x56c89(%rip), %rdi     # 0x65fd0
leaq 0x43208(%rip), %rsi     # 0x52556
callq 0x4380
movq %rax, -0xb68(%rbp)
jmp 0xf35c
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xb6c(%rbp)
jmp 0xf36e
movq -0xb68(%rbp), %rdi
movl -0xb6c(%rbp), %eax
movl %eax, -0x2f8(%rbp)
movl -0x2f8(%rbp), %esi
callq 0x4440
movq %rax, -0xb78(%rbp)
jmp 0xf395
movl $0x20, %edi
callq 0x177d0
movb %al, -0xb79(%rbp)
jmp 0xf3a7
movq -0xb78(%rbp), %rdi
movb -0xb79(%rbp), %al
movb %al, -0x2f9(%rbp)
movzbl -0x2f9(%rbp), %esi
callq 0x4550
movq %rax, -0xb88(%rbp)
jmp 0xf3cf
movslq -0x2d4(%rbp), %rsi
leaq -0x1c0(%rbp), %rdi
callq 0x17e10
movq -0xb88(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xb90(%rbp)
jmp 0xf3fb
movq -0xb90(%rbp), %rdi
leaq 0x430de(%rip), %rsi     # 0x524e7
callq 0x4380
movq %rax, -0xb98(%rbp)
jmp 0xf417
movq -0xb98(%rbp), %rdi
movq 0x56b8b(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xf42c
jmp 0xf42e
leaq 0x570f5(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xf52c
movq 0x56b8b(%rip), %rdi     # 0x65fd0
leaq 0x4312d(%rip), %rsi     # 0x52579
callq 0x4380
movq %rax, -0xba0(%rbp)
jmp 0xf45a
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xba4(%rbp)
jmp 0xf46c
movq -0xba0(%rbp), %rdi
movl -0xba4(%rbp), %eax
movl %eax, -0x300(%rbp)
movl -0x300(%rbp), %esi
callq 0x4440
movq %rax, -0xbb0(%rbp)
jmp 0xf493
movl $0x20, %edi
callq 0x177d0
movb %al, -0xbb1(%rbp)
jmp 0xf4a5
movq -0xbb0(%rbp), %rdi
movb -0xbb1(%rbp), %al
movb %al, -0x301(%rbp)
movzbl -0x301(%rbp), %esi
callq 0x4550
movq %rax, -0xbc0(%rbp)
jmp 0xf4cd
movslq -0x2d4(%rbp), %rsi
leaq -0x1e8(%rbp), %rdi
callq 0x17e10
movq -0xbc0(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x4690
movq %rax, -0xbc8(%rbp)
jmp 0xf4f9
movq -0xbc8(%rbp), %rdi
leaq 0x42fe0(%rip), %rsi     # 0x524e7
callq 0x4380
movq %rax, -0xbd0(%rbp)
jmp 0xf515
movq -0xbd0(%rbp), %rdi
movq 0x56a8d(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xf52a
jmp 0xf52c
leaq 0x56ff7(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xf6ec
movq 0x56a8d(%rip), %rdi     # 0x65fd0
leaq 0x43052(%rip), %rsi     # 0x5259c
callq 0x4380
movq %rax, -0xbd8(%rbp)
jmp 0xf558
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xbdc(%rbp)
jmp 0xf56a
movq -0xbd8(%rbp), %rdi
movl -0xbdc(%rbp), %eax
movl %eax, -0x308(%rbp)
movl -0x308(%rbp), %esi
callq 0x4440
movq %rax, -0xbe8(%rbp)
jmp 0xf591
movl $0x20, %edi
callq 0x177d0
movb %al, -0xbe9(%rbp)
jmp 0xf5a3
movq -0xbe8(%rbp), %rdi
movb -0xbe9(%rbp), %al
movb %al, -0x309(%rbp)
movzbl -0x309(%rbp), %esi
callq 0x4550
movq %rax, -0xbf8(%rbp)
jmp 0xf5cb
movq -0x398(%rbp), %rdi
addq $0x160, %rdi            # imm = 0x160
movslq -0x2d4(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rsi
movq (%rax), %xmm0
movaps 0x41b29(%rip), %xmm1    # 0x51120
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x41b2d(%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 0xf620
movq -0xbf8(%rbp), %rdi
leaq -0x330(%rbp), %rsi
callq 0x4320
movq %rax, -0xc00(%rbp)
jmp 0xf63c
movq -0xc00(%rbp), %rdi
leaq 0x4420c(%rip), %rsi     # 0x53856
callq 0x4380
movq %rax, -0xc08(%rbp)
jmp 0xf658
movq -0x398(%rbp), %rdi
addq $0x160, %rdi            # imm = 0x160
movslq -0x2d4(%rbp), %rsi
callq 0x17df0
movq -0xc08(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0xc10(%rbp)
jmp 0xf68a
movq -0xc10(%rbp), %rdi
leaq 0x42af9(%rip), %rsi     # 0x52191
callq 0x4380
movq %rax, -0xc18(%rbp)
jmp 0xf6a6
movq -0xc18(%rbp), %rdi
movq 0x568fc(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xf6bb
leaq -0x330(%rbp), %rdi
callq 0x46e8
jmp 0xf6ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x330(%rbp), %rdi
callq 0x46e8
jmp 0x10380
leaq 0x56e37(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xf8ac
movq 0x568cd(%rip), %rdi     # 0x65fd0
leaq 0x42eb5(%rip), %rsi     # 0x525bf
callq 0x4380
movq %rax, -0xc20(%rbp)
jmp 0xf718
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xc24(%rbp)
jmp 0xf72a
movq -0xc20(%rbp), %rdi
movl -0xc24(%rbp), %eax
movl %eax, -0x334(%rbp)
movl -0x334(%rbp), %esi
callq 0x4440
movq %rax, -0xc30(%rbp)
jmp 0xf751
movl $0x20, %edi
callq 0x177d0
movb %al, -0xc31(%rbp)
jmp 0xf763
movq -0xc30(%rbp), %rdi
movb -0xc31(%rbp), %al
movb %al, -0x335(%rbp)
movzbl -0x335(%rbp), %esi
callq 0x4550
movq %rax, -0xc40(%rbp)
jmp 0xf78b
movq -0x398(%rbp), %rdi
addq $0x178, %rdi            # imm = 0x178
movslq -0x2d4(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rsi
movq (%rax), %xmm0
movaps 0x41969(%rip), %xmm1    # 0x51120
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x4196d(%rip), %xmm1    # 0x51130
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
leaq -0x358(%rbp), %rdi
callq 0x15cc0
jmp 0xf7e0
movq -0xc40(%rbp), %rdi
leaq -0x358(%rbp), %rsi
callq 0x4320
movq %rax, -0xc48(%rbp)
jmp 0xf7fc
movq -0xc48(%rbp), %rdi
leaq 0x4404c(%rip), %rsi     # 0x53856
callq 0x4380
movq %rax, -0xc50(%rbp)
jmp 0xf818
movq -0x398(%rbp), %rdi
addq $0x178, %rdi            # imm = 0x178
movslq -0x2d4(%rbp), %rsi
callq 0x17df0
movq -0xc50(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0xc58(%rbp)
jmp 0xf84a
movq -0xc58(%rbp), %rdi
leaq 0x42939(%rip), %rsi     # 0x52191
callq 0x4380
movq %rax, -0xc60(%rbp)
jmp 0xf866
movq -0xc60(%rbp), %rdi
movq 0x5673c(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xf87b
leaq -0x358(%rbp), %rdi
callq 0x46e8
jmp 0xf8ac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x358(%rbp), %rdi
callq 0x46e8
jmp 0x10380
leaq 0x56c77(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xfa7a
movq 0x5670d(%rip), %rdi     # 0x65fd0
leaq 0x42d18(%rip), %rsi     # 0x525e2
callq 0x4380
movq %rax, -0xc68(%rbp)
jmp 0xf8d8
movl $0x7, %edi
callq 0x177b0
movl %eax, -0xc6c(%rbp)
jmp 0xf8ea
movq -0xc68(%rbp), %rdi
movl -0xc6c(%rbp), %eax
movl %eax, -0x35c(%rbp)
movl -0x35c(%rbp), %esi
callq 0x4440
movq %rax, -0xc78(%rbp)
jmp 0xf911
movl $0x20, %edi
callq 0x177d0
movb %al, -0xc79(%rbp)
jmp 0xf923
movq -0xc78(%rbp), %rdi
movb -0xc79(%rbp), %al
movb %al, -0x35d(%rbp)
movzbl -0x35d(%rbp), %esi
callq 0x4550
movq %rax, -0xc88(%rbp)
jmp 0xf94b
movslq -0x2d4(%rbp), %rsi
leaq -0x210(%rbp), %rdi
callq 0x17df0
movq -0x398(%rbp), %rsi
movq (%rax), %xmm0
movaps 0x417b0(%rip), %xmm1    # 0x51120
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x417b4(%rip), %xmm1    # 0x51130
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
leaq -0x380(%rbp), %rdi
callq 0x15cc0
jmp 0xf999
movq -0xc88(%rbp), %rdi
leaq -0x380(%rbp), %rsi
callq 0x4320
movq %rax, -0xc90(%rbp)
jmp 0xf9b5
movq -0xc90(%rbp), %rdi
leaq 0x43e93(%rip), %rsi     # 0x53856
callq 0x4380
movq %rax, -0xc98(%rbp)
jmp 0xf9d1
movslq -0x2d4(%rbp), %rsi
leaq -0x210(%rbp), %rdi
callq 0x17df0
movq -0xc98(%rbp), %rdi
movq (%rax), %rsi
callq 0x40f0
movq %rax, -0xca0(%rbp)
jmp 0xf9fc
movq -0xca0(%rbp), %rdi
leaq 0x42787(%rip), %rsi     # 0x52191
callq 0x4380
movq %rax, -0xca8(%rbp)
jmp 0xfa18
movq -0xca8(%rbp), %rdi
movq 0x5658a(%rip), %rsi     # 0x65fb0
callq 0x43c0
movq %rax, -0xcb0(%rbp)
jmp 0xfa34
movq -0xcb0(%rbp), %rdi
movq 0x5656e(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xfa49
leaq -0x380(%rbp), %rdi
callq 0x46e8
jmp 0xfa7a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x380(%rbp), %rdi
callq 0x46e8
jmp 0x10380
jmp 0xfa7c
movl -0x2d4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2d4(%rbp)
jmp 0xe9c7
leaq 0x56a93(%rip), %rax     # 0x6652a
testb $0x1, (%rax)
je 0xfacf
movq 0x5652d(%rip), %rdi     # 0x65fd0
leaq 0x42b5b(%rip), %rsi     # 0x52605
callq 0x4380
movq %rax, -0xcb8(%rbp)
jmp 0xfab8
movq -0xcb8(%rbp), %rdi
movq 0x564ea(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0xfacd
jmp 0xfacf
movq -0x398(%rbp), %rax
movl -0x4c(%rbp), %ecx
addq 0x1b0(%rax), %rcx
movq %rcx, 0x1b0(%rax)
movl -0x50(%rbp), %ecx
addq 0x1b8(%rax), %rcx
movq %rcx, 0x1b8(%rax)
movq 0x128(%rax), %rcx
addq 0x2c8(%rax), %rcx
movq %rcx, 0x2c8(%rax)
movq $0x0, 0x128(%rax)
movl $0x0, -0x384(%rbp)
movl -0x384(%rbp), %eax
leaq 0x56a19(%rip), %rcx     # 0x66548
cmpl (%rcx), %eax
jge 0xfcfb
movq -0x398(%rbp), %rdi
addq $0x130, %rdi            # imm = 0x130
movslq -0x384(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xcd8(%rbp)
addq $0x2d0, %rdi            # imm = 0x2D0
movslq -0x384(%rbp), %rsi
callq 0x17df0
movq -0xcd8(%rbp), %rcx
movq -0x398(%rbp), %rdi
addq (%rax), %rcx
movq %rcx, (%rax)
addq $0x148, %rdi            # imm = 0x148
movslq -0x384(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xcd0(%rbp)
addq $0x2e8, %rdi            # imm = 0x2E8
movslq -0x384(%rbp), %rsi
callq 0x17df0
movq -0xcd0(%rbp), %rcx
movq -0x398(%rbp), %rdi
addq (%rax), %rcx
movq %rcx, (%rax)
addq $0x130, %rdi            # imm = 0x130
movslq -0x384(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq $0x0, (%rax)
addq $0x148, %rdi            # imm = 0x148
movslq -0x384(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq $0x0, (%rax)
addq $0x160, %rdi            # imm = 0x160
movslq -0x384(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xcc8(%rbp)
addq $0x300, %rdi            # imm = 0x300
movslq -0x384(%rbp), %rsi
callq 0x17df0
movq -0xcc8(%rbp), %rcx
movq -0x398(%rbp), %rdi
addq (%rax), %rcx
movq %rcx, (%rax)
addq $0x178, %rdi            # imm = 0x178
movslq -0x384(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xcc0(%rbp)
addq $0x318, %rdi            # imm = 0x318
movslq -0x384(%rbp), %rsi
callq 0x17df0
movq -0xcc0(%rbp), %rcx
movq -0x398(%rbp), %rdi
addq (%rax), %rcx
movq %rcx, (%rax)
addq $0x160, %rdi            # imm = 0x160
movslq -0x384(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq $0x0, (%rax)
addq $0x178, %rdi            # imm = 0x178
movslq -0x384(%rbp), %rsi
callq 0x17df0
movq $0x0, (%rax)
movl -0x384(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x384(%rbp)
jmp 0xfb22
movq -0x398(%rbp), %rax
movq 0x190(%rax), %rcx
addq 0x1c0(%rax), %rcx
movq %rcx, 0x1c0(%rax)
movq 0x198(%rax), %rcx
addq 0x1c8(%rax), %rcx
movq %rcx, 0x1c8(%rax)
movq 0x1a0(%rax), %rcx
addq 0x1d0(%rax), %rcx
movq %rcx, 0x1d0(%rax)
movq 0x1a8(%rax), %rcx
addq 0x1d8(%rax), %rcx
movq %rcx, 0x1d8(%rax)
movq $0x0, 0x190(%rax)
movq $0x0, 0x198(%rax)
movq $0x0, 0x1a0(%rax)
movq $0x0, 0x1a8(%rax)
movl $0x0, -0x388(%rbp)
movl -0x388(%rbp), %eax
leaq 0x567af(%rip), %rcx     # 0x66548
cmpl (%rcx), %eax
jge 0x1009d
movq -0x398(%rbp), %rdi
addq $0x68, %rdi
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xd10(%rbp)
addq $0x1e0, %rdi            # imm = 0x1E0
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0xd10(%rbp), %rcx
movq -0x398(%rbp), %rdi
addq (%rax), %rcx
movq %rcx, (%rax)
addq $0x68, %rdi
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq $0x0, (%rax)
addq $0x80, %rdi
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xd08(%rbp)
addq $0x1f8, %rdi            # imm = 0x1F8
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0xd08(%rbp), %rcx
movq -0x398(%rbp), %rdi
addq (%rax), %rcx
movq %rcx, (%rax)
addq $0x80, %rdi
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq $0x0, (%rax)
addq $0x98, %rdi
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xd00(%rbp)
addq $0x210, %rdi            # imm = 0x210
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0xd00(%rbp), %rcx
movq -0x398(%rbp), %rdi
addq (%rax), %rcx
movq %rcx, (%rax)
addq $0x98, %rdi
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq $0x0, (%rax)
addq $0xb0, %rdi
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xcf8(%rbp)
addq $0x228, %rdi            # imm = 0x228
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0xcf8(%rbp), %rcx
movq -0x398(%rbp), %rdi
addq (%rax), %rcx
movq %rcx, (%rax)
addq $0xb0, %rdi
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq $0x0, (%rax)
addq $0xc8, %rdi
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xcf0(%rbp)
addq $0x240, %rdi            # imm = 0x240
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0xcf0(%rbp), %rcx
movq -0x398(%rbp), %rdi
addq (%rax), %rcx
movq %rcx, (%rax)
addq $0xc8, %rdi
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq $0x0, (%rax)
addq $0xe0, %rdi
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xce8(%rbp)
addq $0x258, %rdi            # imm = 0x258
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0xce8(%rbp), %rcx
movq -0x398(%rbp), %rdi
addq (%rax), %rcx
movq %rcx, (%rax)
addq $0xe0, %rdi
movslq -0x388(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq $0x0, (%rax)
addq $0xf8, %rdi
movslq -0x388(%rbp), %rsi
callq 0x17e90
movq -0x398(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0xcdc(%rbp)
addq $0x270, %rdi            # imm = 0x270
movslq -0x388(%rbp), %rsi
callq 0x17e90
movl -0xcdc(%rbp), %ecx
movq -0x398(%rbp), %rdi
addl (%rax), %ecx
movl %ecx, (%rax)
addq $0xf8, %rdi
movslq -0x388(%rbp), %rsi
callq 0x17e90
movl $0x0, (%rax)
movl -0x388(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x388(%rbp)
jmp 0xfd8c
movq -0x398(%rbp), %rsi
addq $0x288, %rsi            # imm = 0x288
leaq -0x58(%rbp), %rdi
callq 0x17ed0
movq %rax, -0xd18(%rbp)
jmp 0x100bd
movq -0x398(%rbp), %rsi
movq -0xd18(%rbp), %rax
movl (%rax), %eax
movl %eax, 0x288(%rsi)
addq $0x28c, %rsi            # imm = 0x28C
leaq -0x5c(%rbp), %rdi
callq 0x17f10
movq %rax, -0xd20(%rbp)
jmp 0x100ec
movq -0x398(%rbp), %rsi
movq -0xd20(%rbp), %rax
movl (%rax), %eax
movl %eax, 0x28c(%rsi)
addq $0x290, %rsi            # imm = 0x290
leaq -0x60(%rbp), %rdi
callq 0x17ed0
movq %rax, -0xd28(%rbp)
jmp 0x1011b
movq -0x398(%rbp), %rsi
movq -0xd28(%rbp), %rax
movl (%rax), %eax
movl %eax, 0x290(%rsi)
addq $0x294, %rsi            # imm = 0x294
leaq -0x64(%rbp), %rdi
callq 0x17f10
movq %rax, -0xd30(%rbp)
jmp 0x1014a
movq -0x398(%rbp), %rsi
movq -0xd30(%rbp), %rax
movl (%rax), %eax
movl %eax, 0x294(%rsi)
addq $0x298, %rsi            # imm = 0x298
leaq -0x68(%rbp), %rdi
callq 0x17ed0
movq %rax, -0xd38(%rbp)
jmp 0x10179
movq -0x398(%rbp), %rsi
movq -0xd38(%rbp), %rax
movl (%rax), %eax
movl %eax, 0x298(%rsi)
addq $0x29c, %rsi            # imm = 0x29C
leaq -0x6c(%rbp), %rdi
callq 0x17f10
movq %rax, -0xd40(%rbp)
jmp 0x101a8
movq -0x398(%rbp), %rsi
movq -0xd40(%rbp), %rax
movl (%rax), %eax
movl %eax, 0x29c(%rsi)
addq $0x2a0, %rsi            # imm = 0x2A0
leaq -0x70(%rbp), %rdi
callq 0x17ed0
movq %rax, -0xd48(%rbp)
jmp 0x101d7
movq -0x398(%rbp), %rsi
movq -0xd48(%rbp), %rax
movl (%rax), %eax
movl %eax, 0x2a0(%rsi)
addq $0x2a4, %rsi            # imm = 0x2A4
leaq -0x74(%rbp), %rdi
callq 0x17f10
movq %rax, -0xd50(%rbp)
jmp 0x10206
movq -0x398(%rbp), %rax
movq -0xd50(%rbp), %rcx
movl (%rcx), %ecx
movl %ecx, 0x2a4(%rax)
movsd -0x80(%rbp), %xmm0
addsd 0x2a8(%rax), %xmm0
movsd %xmm0, 0x2a8(%rax)
movsd -0x88(%rbp), %xmm0
addsd 0x2b0(%rax), %xmm0
movsd %xmm0, 0x2b0(%rax)
movsd -0x90(%rbp), %xmm0
addsd 0x2b8(%rax), %xmm0
movsd %xmm0, 0x2b8(%rax)
movsd -0x98(%rbp), %xmm0
addsd 0x2c0(%rax), %xmm0
movsd %xmm0, 0x2c0(%rax)
leaq 0x562b0(%rip), %rax     # 0x66530
testb $0x1, (%rax)
je 0x1030b
movq -0x398(%rbp), %rax
movq $0x0, 0x3e0(%rax)
movl $0x0, -0x38c(%rbp)
movl -0x38c(%rbp), %eax
leaq 0x56296(%rip), %rcx     # 0x66548
cmpl (%rcx), %eax
jge 0x10309
movq -0x398(%rbp), %rdi
addq $0x3e8, %rdi            # imm = 0x3E8
movslq -0x38c(%rbp), %rsi
callq 0x17df0
movq -0x398(%rbp), %rdi
movq $0x0, (%rax)
addq $0x400, %rdi            # imm = 0x400
movslq -0x38c(%rbp), %rsi
callq 0x17df0
movq $0x0, (%rax)
movl -0x38c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38c(%rbp)
jmp 0x102a5
jmp 0x1030b
leaq -0x270(%rbp), %rdi
callq 0x17e30
leaq -0x248(%rbp), %rdi
callq 0x17e30
leaq -0x210(%rbp), %rdi
callq 0x178f0
leaq -0x1e8(%rbp), %rdi
callq 0x17e30
leaq -0x1c0(%rbp), %rdi
callq 0x17e30
leaq -0x198(%rbp), %rdi
callq 0x17e30
leaq -0x168(%rbp), %rdi
callq 0x17e30
leaq -0x140(%rbp), %rdi
callq 0x17e30
leaq -0x108(%rbp), %rdi
callq 0x17e30
addq $0xd50, %rsp            # imm = 0xD50
popq %rbp
retq
leaq -0x270(%rbp), %rdi
callq 0x17e30
leaq -0x248(%rbp), %rdi
callq 0x17e30
leaq -0x210(%rbp), %rdi
callq 0x178f0
leaq -0x1e8(%rbp), %rdi
callq 0x17e30
leaq -0x1c0(%rbp), %rdi
callq 0x17e30
leaq -0x198(%rbp), %rdi
callq 0x17e30
leaq -0x168(%rbp), %rdi
callq 0x17e30
leaq -0x140(%rbp), %rdi
callq 0x17e30
leaq -0x108(%rbp), %rdi
callq 0x17e30
movq -0x120(%rbp), %rdi
callq 0x4630
nopl (%rax,%rax)