// File: /workspace/github_cpp_makefile_star2_O2/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x268, %rsp            # imm = 0x268
movq %rdi, %rbx
leaq 0x260(%rsp), %r14
movq %r14, %rdi
callq 0x42c0
movq %r14, %rdi
callq 0x4250
movl (%rax), %ebp
movl 0x4(%rax), %r12d
movl 0x8(%rax), %ecx
movl %ecx, 0xc4(%rsp)
movl 0xc(%rax), %r13d
movl 0x10(%rax), %ecx
movl %ecx, 0xcc(%rsp)
movl 0x14(%rax), %eax
movl %eax, 0xe0(%rsp)
leaq 0x3a8(%rbx), %rsi
leaq 0x1b1c1(%rip), %rdx     # 0x256a5
leaq 0x240(%rsp), %r15
movq %r15, %rdi
callq 0xdeb2
leaq 0xe18(%rbx), %r14
movq (%r15), %rsi
pushq $0x10
popq %rdx
movq %r14, %rdi
callq 0x4060
movq 0x26ac0(%rip), %rdi     # 0x30fd0
leaq 0x1b19a(%rip), %rsi     # 0x256b1
callq 0x4300
movq 0x370(%rbx), %rsi
movq %rax, %rdi
callq 0x4210
leaq 0x1b1a7(%rip), %rsi     # 0x256d9
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq 0x26a87(%rip), %rdi     # 0x30fd0
leaq 0x1a1f9(%rip), %rsi     # 0x24749
callq 0x4300
leaq 0x240(%rsp), %rsi
movq %rax, %rdi
callq 0x42b0
leaq 0x1a1e2(%rip), %rsi     # 0x2474e
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %rax, %rdi
callq 0x4180
movsd 0x370(%rbx), %xmm0
unpcklps 0x19b9d(%rip), %xmm0    # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x19ba5(%rip), %xmm0    # 0x24140
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
leaq 0x26eea(%rip), %rax     # 0x31498
mulsd (%rax), %xmm1
movapd %xmm1, (%rsp)
movsd 0x2c8(%rbx), %xmm0
movapd %xmm0, 0x20(%rsp)
leaq 0x26edc(%rip), %r15     # 0x314a8
movslq (%r15), %rsi
leaq 0x88(%rsp), %rdx
andq $0x0, (%rdx)
leaq 0x208(%rsp), %rdi
leaq 0x1f0(%rsp), %rcx
callq 0xde5c
movslq (%r15), %rsi
leaq 0x88(%rsp), %rdx
andq $0x0, (%rdx)
leaq 0x1f0(%rsp), %rdi
leaq 0x1d8(%rsp), %rcx
callq 0xde5c
movslq (%r15), %rsi
leaq 0x88(%rsp), %rdx
andq $0x0, (%rdx)
leaq 0x1d8(%rsp), %rdi
leaq 0x1c0(%rsp), %rcx
callq 0xde5c
movslq (%r15), %rsi
leaq 0x88(%rsp), %rdx
andq $0x0, (%rdx)
leaq 0x1c0(%rsp), %rdi
leaq 0x1a8(%rsp), %rcx
callq 0xde5c
movslq (%r15), %rsi
leaq 0x88(%rsp), %rdx
andq $0x0, (%rdx)
leaq 0x1a8(%rsp), %rdi
leaq 0x190(%rsp), %rcx
callq 0xde5c
movslq (%r15), %rsi
leaq 0x88(%rsp), %rdx
andq $0x0, (%rdx)
leaq 0x190(%rsp), %rdi
leaq 0x160(%rsp), %rcx
callq 0xde5c
movl %r13d, 0xc8(%rsp)
movl %r12d, 0xc0(%rsp)
movl %ebp, 0xbc(%rsp)
movq %r14, 0x188(%rsp)
movslq (%r15), %rsi
leaq 0x88(%rsp), %rdx
andq $0x0, (%rdx)
leaq 0x160(%rsp), %rdi
leaq 0x148(%rsp), %rcx
callq 0xdc32
movapd (%rsp), %xmm5
mulsd 0x199c4(%rip), %xmm5    # 0x240b8
movapd 0x20(%rsp), %xmm1
unpcklps 0x19a2f(%rip), %xmm1    # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x19a37(%rip), %xmm1    # 0x24140
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
divsd %xmm5, %xmm0
mulsd 0x1999f(%rip), %xmm0    # 0x240c0
movapd %xmm0, 0x230(%rsp)
movl (%r15), %eax
movq 0x2d0(%rbx), %rcx
movq %rcx, (%rsp)
movq 0x2e8(%rbx), %rdx
movq 0x208(%rsp), %rsi
movq 0x1f0(%rsp), %rdi
movq 0x1d8(%rsp), %r8
movq 0x300(%rbx), %r9
movq 0x1c0(%rsp), %r10
movq 0x318(%rbx), %r11
movq 0x1a8(%rsp), %r15
movq 0x190(%rsp), %r12
xorl %r13d, %r13d
testl %eax, %eax
cmovlel %r13d, %eax
movq 0x160(%rsp), %rbp
shlq $0x3, %rax
xorpd %xmm0, %xmm0
movsd %xmm0, 0x70(%rsp)
movsd 0x1991c(%rip), %xmm0    # 0x240c0
movsd 0x19984(%rip), %xmm3    # 0x24130
movapd 0x1998c(%rip), %xmm4    # 0x24140
cmpq %r13, %rax
je 0xa8a4
movq (%rsp), %rcx
movsd (%rcx,%r13), %xmm1
unpcklps %xmm3, %xmm1            # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm4, %xmm1
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
divsd %xmm5, %xmm2
mulsd %xmm0, %xmm2
movsd %xmm2, (%rsi,%r13)
movsd (%rdx,%r13), %xmm1
unpcklps %xmm3, %xmm1            # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm4, %xmm1
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
divsd %xmm5, %xmm2
mulsd %xmm0, %xmm2
movsd %xmm2, (%rdi,%r13)
addsd (%rsi,%r13), %xmm2
movsd %xmm2, (%r8,%r13)
movsd 0x70(%rsp), %xmm1
addsd %xmm2, %xmm1
movsd %xmm1, 0x70(%rsp)
movq %rbx, %rcx
movq (%r9,%r13), %rbx
movq %rbx, %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm4, %xmm1
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
divsd %xmm5, %xmm2
mulsd %xmm0, %xmm2
movsd %xmm2, (%r10,%r13)
movq (%r11,%r13), %r14
movq %r14, %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm4, %xmm1
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
divsd %xmm5, %xmm2
mulsd %xmm0, %xmm2
movsd %xmm2, (%r15,%r13)
addsd (%r10,%r13), %xmm2
movsd %xmm2, (%r12,%r13)
addq %rbx, %r14
movq %rcx, %rbx
movq %r14, (%rbp,%r13)
addq $0x8, %r13
jmp 0xa7b4
movq 0x1b0(%rbx), %r15
movq %r15, %xmm0
punpckldq 0x19878(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x19880(%rip), %xmm0    # 0x24140
movapd %xmm0, %xmm2
unpckhpd %xmm0, %xmm2            # xmm2 = xmm2[1],xmm0[1]
addsd %xmm0, %xmm2
xorpd %xmm1, %xmm1
xorpd %xmm0, %xmm0
testq %r15, %r15
je 0xa8e5
movsd 0x2a8(%rbx), %xmm0
divsd %xmm2, %xmm0
movq 0x1b8(%rbx), %r12
movsd 0x1c0(%rbx), %xmm6
movsd 0x1c8(%rbx), %xmm5
movsd 0x1d0(%rbx), %xmm4
movsd 0x1d8(%rbx), %xmm3
ucomisd %xmm1, %xmm0
movq 0x188(%rsp), %r14
movapd %xmm2, 0xd0(%rsp)
movapd %xmm3, (%rsp)
movaps %xmm4, 0x20(%rsp)
movaps %xmm5, 0x50(%rsp)
movaps %xmm6, 0x40(%rsp)
jb 0xa93d
sqrtsd %xmm0, %xmm0
jmp 0xa942
callq 0x4280
movsd %xmm0, 0x108(%rsp)
movq 0x1b0(%rbx), %rax
xorpd %xmm1, %xmm1
xorpd %xmm0, %xmm0
testq %rax, %rax
je 0xa98c
movsd 0x2b0(%rbx), %xmm0
movq %rax, %xmm2
punpckldq 0x197bc(%rip), %xmm2 # xmm2 = xmm2[0],mem[0],xmm2[1],mem[1]
subpd 0x197c4(%rip), %xmm2    # 0x24140
movapd %xmm2, %xmm3
unpckhpd %xmm2, %xmm3            # xmm3 = xmm3[1],xmm2[1]
addsd %xmm2, %xmm3
divsd %xmm3, %xmm0
movq %r12, %xmm12
ucomisd %xmm1, %xmm0
jb 0xa99d
sqrtsd %xmm0, %xmm0
jmp 0xa9b0
movdqa %xmm12, 0x60(%rsp)
callq 0x4280
movdqa 0x60(%rsp), %xmm12
movsd %xmm0, 0x100(%rsp)
movdqa (%rsp), %xmm4
movdqa 0x20(%rsp), %xmm5
movdqa 0x50(%rsp), %xmm6
movdqa 0x40(%rsp), %xmm7
movq 0x19758(%rip), %xmm0    # 0x24130
punpckldq %xmm0, %xmm7    # xmm7 = xmm7[0],xmm0[0],xmm7[1],xmm0[1]
punpckldq %xmm0, %xmm6    # xmm6 = xmm6[0],xmm0[0],xmm6[1],xmm0[1]
punpckldq %xmm0, %xmm5    # xmm5 = xmm5[0],xmm0[0],xmm5[1],xmm0[1]
punpckldq %xmm0, %xmm4    # xmm4 = xmm4[0],xmm0[0],xmm4[1],xmm0[1]
punpckldq %xmm0, %xmm12   # xmm12 = xmm12[0],xmm0[0],xmm12[1],xmm0[1]
movq 0x1b0(%rbx), %rax
xorpd %xmm1, %xmm1
pxor %xmm0, %xmm0
testq %rax, %rax
je 0xaa2e
movsd 0x2b8(%rbx), %xmm0
movq %rax, %xmm2
punpckldq 0x1971a(%rip), %xmm2 # xmm2 = xmm2[0],mem[0],xmm2[1],mem[1]
subpd 0x19722(%rip), %xmm2    # 0x24140
movapd %xmm2, %xmm3
unpckhpd %xmm2, %xmm3            # xmm3 = xmm3[1],xmm2[1]
addsd %xmm2, %xmm3
divsd %xmm3, %xmm0
movapd 0x1970a(%rip), %xmm2    # 0x24140
subpd %xmm2, %xmm7
subpd %xmm2, %xmm6
subpd %xmm2, %xmm5
subpd %xmm2, %xmm4
subpd %xmm2, %xmm12
ucomisd %xmm1, %xmm0
jb 0xaa57
sqrtsd %xmm0, %xmm0
jmp 0xaa98
movapd %xmm4, (%rsp)
movapd %xmm5, 0x20(%rsp)
movapd %xmm6, 0x50(%rsp)
movapd %xmm7, 0x40(%rsp)
movapd %xmm12, 0x60(%rsp)
callq 0x4280
movapd 0x60(%rsp), %xmm12
movapd 0x40(%rsp), %xmm7
movapd 0x50(%rsp), %xmm6
movapd 0x20(%rsp), %xmm5
movapd (%rsp), %xmm4
movsd %xmm0, 0xf8(%rsp)
movapd %xmm7, %xmm9
unpckhpd %xmm7, %xmm9            # xmm9 = xmm9[1],xmm7[1]
movapd %xmm6, %xmm10
unpckhpd %xmm6, %xmm10           # xmm10 = xmm10[1],xmm6[1]
movapd %xmm5, %xmm11
unpckhpd %xmm5, %xmm11           # xmm11 = xmm11[1],xmm5[1]
movapd %xmm4, %xmm8
unpckhpd %xmm4, %xmm8            # xmm8 = xmm8[1],xmm4[1]
movapd %xmm12, %xmm13
unpckhpd %xmm12, %xmm13          # xmm13 = xmm13[1],xmm12[1]
movq 0x1b8(%rbx), %rax
xorpd %xmm1, %xmm1
xorpd %xmm0, %xmm0
testq %rax, %rax
je 0xab14
movsd 0x2c0(%rbx), %xmm0
movq %rax, %xmm2
punpckldq 0x19634(%rip), %xmm2 # xmm2 = xmm2[0],mem[0],xmm2[1],mem[1]
subpd 0x1963c(%rip), %xmm2    # 0x24140
movapd %xmm2, %xmm3
unpckhpd %xmm2, %xmm3            # xmm3 = xmm3[1],xmm2[1]
addsd %xmm2, %xmm3
divsd %xmm3, %xmm0
addsd %xmm7, %xmm9
addsd %xmm6, %xmm10
addsd %xmm5, %xmm11
addsd %xmm4, %xmm8
addsd %xmm12, %xmm13
ucomisd %xmm1, %xmm0
jb 0xab39
sqrtsd %xmm0, %xmm0
jmp 0xab82
movapd %xmm8, (%rsp)
movapd %xmm9, 0x20(%rsp)
movapd %xmm10, 0x50(%rsp)
movapd %xmm11, 0x40(%rsp)
movapd %xmm13, 0x60(%rsp)
callq 0x4280
movapd 0x60(%rsp), %xmm13
movapd 0x40(%rsp), %xmm11
movapd 0x50(%rsp), %xmm10
movapd 0x20(%rsp), %xmm9
movapd (%rsp), %xmm8
movsd %xmm0, 0xf0(%rsp)
movapd 0xd0(%rsp), %xmm0
divsd %xmm0, %xmm9
divsd %xmm0, %xmm10
divsd %xmm0, %xmm11
divsd %xmm13, %xmm8
leaq 0x268f9(%rip), %rax     # 0x314a8
movslq (%rax), %rsi
movq 0x1e0(%rbx), %rax
movq 0x1f8(%rbx), %rcx
movq 0x210(%rbx), %rdx
movq 0x228(%rbx), %rdi
movq 0x240(%rbx), %r8
movq 0x258(%rbx), %r9
movq 0x270(%rbx), %r10
xorl %r11d, %r11d
testl %esi, %esi
movl $0x0, %r13d
cmovgl %esi, %r13d
shlq $0x2, %r13
movl $0x0, 0x18(%rsp)
movq $0x0, 0xb0(%rsp)
movq $0x0, 0xa8(%rsp)
movq $0x0, 0x60(%rsp)
movq $0x0, 0xd0(%rsp)
movq $0x0, 0x50(%rsp)
movq $0x0, 0x40(%rsp)
cmpq %r11, %r13
je 0xacba
movq 0x40(%rsp), %rbp
addq (%rax,%r11,2), %rbp
movq %rbp, 0x40(%rsp)
movq 0x50(%rsp), %rbp
addq (%rcx,%r11,2), %rbp
movq %rbp, 0x50(%rsp)
movq 0xd0(%rsp), %rbp
addq (%rdx,%r11,2), %rbp
movq %rbp, 0xd0(%rsp)
movq 0x60(%rsp), %rbp
addq (%rdi,%r11,2), %rbp
movq %rbp, 0x60(%rsp)
movq 0xa8(%rsp), %rbp
addq (%r8,%r11,2), %rbp
movq %rbp, 0xa8(%rsp)
movq 0xb0(%rsp), %rbp
addq (%r9,%r11,2), %rbp
movq %rbp, 0xb0(%rsp)
movl 0x18(%rsp), %ebp
addl (%r10,%r11), %ebp
movl %ebp, 0x18(%rsp)
addq $0x4, %r11
jmp 0xac3d
xorpd %xmm0, %xmm0
movsd %xmm0, 0x110(%rsp)
movsd %xmm0, 0x128(%rsp)
movsd %xmm0, 0x120(%rsp)
movsd %xmm0, 0x118(%rsp)
testq %r15, %r15
je 0xad05
movsd %xmm9, 0x128(%rsp)
movsd %xmm10, 0x120(%rsp)
movsd %xmm11, 0x118(%rsp)
testq %r12, %r12
leaq 0x26799(%rip), %r15     # 0x314a8
movl 0xc8(%rsp), %r13d
je 0xad23
movsd %xmm8, 0x110(%rsp)
leaq 0x88(%rsp), %rdx
andq $0x0, (%rdx)
leaq 0x148(%rsp), %rdi
leaq 0x130(%rsp), %rcx
callq 0xde5c
movslq (%r15), %rsi
leaq 0x88(%rsp), %rdx
andq $0x0, (%rdx)
leaq 0x130(%rsp), %rdi
leaq 0x1f(%rsp), %rcx
callq 0xde5c
movl (%r15), %r9d
movq 0x330(%rbx), %rax
movq 0x370(%rbx), %rcx
movq %rcx, %xmm1
punpckldq 0x193ad(%rip), %xmm1 # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x193b5(%rip), %xmm1    # 0x24140
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movq 0x148(%rsp), %rdx
movq 0x130(%rsp), %rsi
xorl %edi, %edi
testl %r9d, %r9d
movl $0x0, %r8d
movl %r9d, 0xb8(%rsp)
cmovgl %r9d, %r8d
xorpd %xmm1, %xmm1
movsd %xmm1, 0x20(%rsp)
movsd %xmm1, (%rsp)
xorl %ebp, %ebp
xorl %r15d, %r15d
xorl %r12d, %r12d
movq 0x19353(%rip), %xmm3    # 0x24130
movapd 0x1935b(%rip), %xmm4    # 0x24140
movsd 0x192db(%rip), %xmm5    # 0x240c8
cmpq %rdi, %r8
je 0xae8e
movq 0x320(%rax), %r9
movq (%r9,%rdi,8), %r9
movq %r9, %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm4, %xmm1
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
divsd %xmm0, %xmm2
mulsd %xmm5, %xmm2
movsd %xmm2, (%rdx,%rdi,8)
movq 0x338(%rax), %r10
movq (%r10,%rdi,8), %r10
movq %r10, %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm4, %xmm1
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
divsd %xmm0, %xmm2
mulsd %xmm5, %xmm2
movsd %xmm2, (%rsi,%rdi,8)
movsd (%rsp), %xmm1
addsd (%rdx,%rdi,8), %xmm1
movsd %xmm1, (%rsp)
movsd 0x20(%rsp), %xmm1
addsd %xmm2, %xmm1
movsd %xmm1, 0x20(%rsp)
addq %rcx, %r12
subq %r9, %r12
subq %r10, %r12
addq %r9, %r15
addq %r10, %rbp
incq %rdi
jmp 0xaded
leaq 0x26673(%rip), %rax     # 0x31508
movsd (%rax), %xmm0
leaq 0x26610(%rip), %rax     # 0x314b0
mulsd (%rax), %xmm0
leaq 0x26665(%rip), %rax     # 0x31510
movsd (%rax), %xmm1
mulsd %xmm0, %xmm1
movsd %xmm1, 0x178(%rsp)
leaq 0x26655(%rip), %rax     # 0x31518
movsd (%rax), %xmm1
movsd %xmm0, 0x38(%rsp)
mulsd %xmm0, %xmm1
movsd %xmm1, 0x180(%rsp)
movsd 0x370(%rbx), %xmm0
movapd %xmm0, 0x220(%rsp)
leaq 0x19351(%rip), %rsi     # 0x24243
movq %r14, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x1937b(%rip), %rsi     # 0x24284
movq %r14, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x1a7c3(%rip), %rsi     # 0x256e3
movq %r14, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x1938e(%rip), %rsi     # 0x242c5
movq %r14, %rdi
callq 0x4300
movl 0xe0(%rsp), %esi
addl $0x76c, %esi            # imm = 0x76C
movq %rax, %rdi
callq 0x44f0
leaq 0x1937f(%rip), %rsi     # 0x242da
movq %rax, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x2, 0x10(%rax,%rcx)
pushq $0x30
popq %rsi
movq %rax, %rdi
callq 0x4440
movl 0xcc(%rsp), %esi
incl %esi
movq %rax, %rdi
callq 0x44f0
leaq 0x19344(%rip), %rsi     # 0x242da
movq %rax, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x2, 0x10(%rax,%rcx)
pushq $0x30
popq %rsi
movq %rax, %rdi
callq 0x4440
movq %rax, %rdi
movl %r13d, %esi
callq 0x44f0
leaq 0x19311(%rip), %rsi     # 0x242dc
movq %rax, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x2, 0x10(%rax,%rcx)
pushq $0x30
popq %rsi
movq %rax, %rdi
callq 0x4440
movq %rax, %rdi
movl 0xc4(%rsp), %esi
callq 0x44f0
leaq 0x19873(%rip), %rsi     # 0x24877
movq %rax, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x2, 0x10(%rax,%rcx)
pushq $0x30
popq %rsi
movq %rax, %rdi
callq 0x4440
movq %rax, %rdi
movl 0xc0(%rsp), %esi
callq 0x44f0
leaq 0x1983a(%rip), %rsi     # 0x24877
movq %rax, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x2, 0x10(%rax,%rcx)
pushq $0x30
popq %rsi
movq %rax, %rdi
callq 0x4440
movq %rax, %rdi
movl 0xbc(%rsp), %esi
callq 0x44f0
leaq 0x192a7(%rip), %rsi     # 0x2431d
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x191b6(%rip), %rsi     # 0x24243
movq %r14, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %rax, %rdi
callq 0x4180
leaq 0x1a678(%rip), %rsi     # 0x25724
movq %r14, %rdi
callq 0x4300
leaq 0x2636d(%rip), %rsi     # 0x31428
movq %rax, %rdi
callq 0x42b0
movq %rax, %rdi
callq 0x4180
leaq 0x26356(%rip), %rdi     # 0x31428
leaq 0x19988(%rip), %rsi     # 0x24a61
callq 0xde4e
testb %al, %al
je 0xb12a
leaq 0x1a64b(%rip), %rsi     # 0x25734
movq %r14, %rdi
callq 0x4300
movsd 0x2631f(%rip), %xmm0    # 0x31418
movq %rax, %rdi
callq 0x4470
movq %rax, %rdi
callq 0x4180
leaq 0x1a63f(%rip), %rsi     # 0x2574f
movq %r14, %rdi
callq 0x4300
movsd 0x26300(%rip), %xmm0    # 0x31420
movq %rax, %rdi
callq 0x4470
jmp 0xb167
leaq 0x262f7(%rip), %rdi     # 0x31428
leaq 0x1ac71(%rip), %rsi     # 0x25da9
callq 0xde4e
testb %al, %al
je 0xb16f
leaq 0x1a628(%rip), %rsi     # 0x25770
movq %r14, %rdi
callq 0x4300
leaq 0x262f1(%rip), %rsi     # 0x31448
movq %rax, %rdi
callq 0x42b0
movq %rax, %rdi
callq 0x4180
movq %rax, %rdi
callq 0x4180
leaq 0x1a60a(%rip), %rsi     # 0x25780
movq %r14, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %rax, %rdi
callq 0x4180
leaq 0x1a621(%rip), %rsi     # 0x257b6
movq %r14, %rdi
callq 0x4300
movq %rax, %rdi
movq 0x370(%rbx), %rax
leaq 0x262d2(%rip), %rcx     # 0x31480
xorl %edx, %edx
divq (%rcx)
movq %rax, %rsi
callq 0x4210
movq %rax, %rdi
callq 0x4180
leaq 0x1a5ff(%rip), %rsi     # 0x257c9
movq %r14, %rdi
callq 0x4300
movq 0x370(%rbx), %rsi
movq %rax, %rdi
callq 0x4210
movq %rax, %rdi
callq 0x4180
movq %rax, %rdi
callq 0x4180
leaq 0x19f4f(%rip), %rsi     # 0x25147
movq %r14, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
pushq $0x20
popq %rsi
movq %rax, %rdi
callq 0x4440
movq %rax, %rdi
movapd 0x230(%rsp), %xmm0
callq 0x4470
leaq 0x19f2d(%rip), %rsi     # 0x25160
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x19f39(%rip), %rsi     # 0x25183
movq %r14, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
pushq $0x20
popq %rsi
movq %rax, %rdi
callq 0x4440
movq %rax, %rdi
movsd 0x70(%rsp), %xmm0
callq 0x4470
leaq 0x19f1a(%rip), %rsi     # 0x2519c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x19f21(%rip), %rsi     # 0x251ba
movq %r14, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
pushq $0x20
popq %rsi
movq %rax, %rdi
callq 0x4440
movq %rax, %r13
movsd 0x2c8(%rbx), %xmm1
unpcklps 0x18e62(%rip), %xmm1    # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x18e6a(%rip), %xmm1    # 0x24140
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
leaq 0x88(%rsp), %rdi
callq 0xce3e
leaq 0x88(%rsp), %rsi
movq %r13, %rdi
callq 0x42b0
leaq 0x1b685(%rip), %rsi     # 0x2698b
movq %rax, %rdi
callq 0x4300
movq 0x2c8(%rbx), %rsi
movq %rax, %rdi
callq 0x4210
leaq 0x19eaf(%rip), %rsi     # 0x251d3
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %rax, %rdi
callq 0x4180
movsd 0x18d84(%rip), %xmm0    # 0x240c8
movsd 0x178(%rsp), %xmm6
divsd %xmm0, %xmm6
movsd 0x180(%rsp), %xmm5
divsd %xmm0, %xmm5
movq %r12, %xmm0
movq 0x18dc5(%rip), %xmm2    # 0x24130
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
movapd 0x18dc9(%rip), %xmm3    # 0x24140
subpd %xmm3, %xmm0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd 0x38(%rsp), %xmm4
mulsd %xmm1, %xmm4
movdqa 0x220(%rsp), %xmm1
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
subpd %xmm3, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
divsd %xmm0, %xmm4
movsd %xmm4, 0x38(%rsp)
movq %r15, %xmm1
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
subpd %xmm3, %xmm1
movapd %xmm1, %xmm4
unpckhpd %xmm1, %xmm4            # xmm4 = xmm4[1],xmm1[1]
addsd %xmm1, %xmm4
mulsd %xmm6, %xmm4
divsd %xmm0, %xmm4
movapd %xmm4, 0x70(%rsp)
movq %rbp, %xmm1
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
subpd %xmm3, %xmm1
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
mulsd %xmm5, %xmm2
divsd %xmm0, %xmm2
movapd %xmm2, 0xe0(%rsp)
leaq 0x88(%rsp), %rdi
callq 0x4598
leaq 0x260cb(%rip), %rax     # 0x314e8
cmpl $0x0, (%rax)
je 0xb67f
leaq 0x1a3af(%rip), %rsi     # 0x257dc
movq %r14, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
pushq $0x20
popq %rsi
movq %rax, %rdi
callq 0x4440
movq %rax, %rdi
movsd 0x38(%rsp), %xmm0
callq 0x4470
leaq 0x1a390(%rip), %rsi     # 0x257f5
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x1a37d(%rip), %rsi     # 0x257f9
movq %r14, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
pushq $0x20
popq %rsi
movq %rax, %rdi
callq 0x4440
movq %rax, %rdi
movapd 0x70(%rsp), %xmm0
callq 0x4470
leaq 0x1a341(%rip), %rsi     # 0x257f5
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x1a347(%rip), %rsi     # 0x25812
movq %r14, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
pushq $0x20
popq %rsi
movq %rax, %rdi
callq 0x4440
movq %rax, %rdi
movapd 0xe0(%rsp), %xmm0
callq 0x4470
leaq 0x1a2ef(%rip), %rsi     # 0x257f5
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x1a30e(%rip), %rsi     # 0x2582b
movq %r14, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
pushq $0x20
popq %rsi
movq %rax, %rdi
callq 0x4440
movsd 0x38(%rsp), %xmm0
addsd 0x70(%rsp), %xmm0
addsd 0xe0(%rsp), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x1a291(%rip), %rsi     # 0x257f5
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %rax, %rdi
callq 0x4180
leaq 0x19f24(%rip), %rsi     # 0x254a7
movq %r14, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
pushq $0x20
popq %rsi
movq %rax, %rdi
callq 0x4440
cvtsi2sdl 0xb8(%rsp), %xmm1
movsd (%rsp), %xmm0
movsd %xmm1, 0x70(%rsp)
divsd %xmm1, %xmm0
movq %rax, %rdi
movsd %xmm0, (%rsp)
callq 0x4470
leaq 0x19c05(%rip), %rsi     # 0x251d7
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x19ee1(%rip), %rsi     # 0x254ca
movq %r14, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
pushq $0x20
popq %rsi
movq %rax, %rdi
callq 0x4440
movsd 0x20(%rsp), %xmm0
divsd 0x70(%rsp), %xmm0
movq %rax, %rdi
movsd %xmm0, 0x20(%rsp)
callq 0x4470
leaq 0x19baa(%rip), %r13     # 0x251d7
movq %rax, %rdi
movq %r13, %rsi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x1a1fd(%rip), %rsi     # 0x25844
movq %r14, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
pushq $0x20
popq %rsi
movq %rax, %rdi
callq 0x4440
movsd (%rsp), %xmm0
addsd 0x20(%rsp), %xmm0
movq %rax, %rdi
callq 0x4470
jmp 0xb6cd
leaq 0x1a1a5(%rip), %rsi     # 0x2582b
movq %r14, %rdi
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
pushq $0x20
popq %rsi
movq %rax, %rdi
callq 0x4440
movsd 0x38(%rsp), %xmm0
addsd 0x70(%rsp), %xmm0
addsd 0xe0(%rsp), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x1a128(%rip), %r13     # 0x257f5
movq %rax, %rdi
movq %r13, %rsi
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %rax, %rdi
callq 0x4180
leaq 0x19b04(%rip), %rsi     # 0x251f3
movq %r14, %rdi
callq 0x4300
leaq 0x25d9a(%rip), %rcx     # 0x31498
movsd 0x128(%rsp), %xmm0
mulsd (%rcx), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x19af2(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x19adf(%rip), %rsi     # 0x25210
movq %r14, %rdi
callq 0x4300
leaq 0x25d58(%rip), %rcx     # 0x31498
movsd 0x108(%rsp), %xmm0
mulsd (%rcx), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x19ab0(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x19ab6(%rip), %rsi     # 0x25229
movq %r14, %rdi
callq 0x4300
movl 0x288(%rbx), %ecx
cvtsi2sd %rcx, %xmm0
leaq 0x25d0b(%rip), %rcx     # 0x31498
mulsd (%rcx), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x19a6c(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x19a8b(%rip), %rsi     # 0x25242
movq %r14, %rdi
callq 0x4300
movl 0x28c(%rbx), %ecx
xorpd %xmm0, %xmm0
cmpl $-0x1, %ecx
je 0xb7d3
cvtsi2sd %rcx, %xmm0
leaq 0x25cbe(%rip), %rcx     # 0x31498
mulsd (%rcx), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x19a1f(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x19a57(%rip), %rsi     # 0x2525b
movq %r14, %rdi
callq 0x4300
leaq 0x25c85(%rip), %rcx     # 0x31498
movsd 0x120(%rsp), %xmm0
mulsd (%rcx), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x199dd(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x199ca(%rip), %rsi     # 0x25210
movq %r14, %rdi
callq 0x4300
leaq 0x25c43(%rip), %rcx     # 0x31498
movsd 0x100(%rsp), %xmm0
mulsd (%rcx), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x1999b(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x199a1(%rip), %rsi     # 0x25229
movq %r14, %rdi
callq 0x4300
movl 0x290(%rbx), %ecx
cvtsi2sd %rcx, %xmm0
leaq 0x25bf6(%rip), %rcx     # 0x31498
mulsd (%rcx), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x19957(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x19976(%rip), %rsi     # 0x25242
movq %r14, %rdi
callq 0x4300
movl 0x294(%rbx), %ecx
xorpd %xmm0, %xmm0
cmpl $-0x1, %ecx
je 0xb8e8
cvtsi2sd %rcx, %xmm0
leaq 0x25ba9(%rip), %rcx     # 0x31498
mulsd (%rcx), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x1990a(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x1995b(%rip), %rsi     # 0x25274
movq %r14, %rdi
callq 0x4300
leaq 0x25c78(%rip), %r15     # 0x315a0
movsd 0x118(%rsp), %xmm0
mulsd (%r15), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x198c7(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x198b4(%rip), %rsi     # 0x25210
movq %r14, %rdi
callq 0x4300
movsd 0xf8(%rsp), %xmm0
mulsd (%r15), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x1988b(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x19891(%rip), %rsi     # 0x25229
movq %r14, %rdi
callq 0x4300
movl 0x298(%rbx), %ecx
cvtsi2sd %rcx, %xmm0
mulsd (%r15), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x1984d(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x1986c(%rip), %rsi     # 0x25242
movq %r14, %rdi
callq 0x4300
movl 0x29c(%rbx), %ecx
xorpd %xmm0, %xmm0
cmpl $-0x1, %ecx
je 0xb9f2
cvtsi2sd %rcx, %xmm0
mulsd (%r15), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x19806(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x19870(%rip), %rsi     # 0x2528d
movq %r14, %rdi
callq 0x4300
leaq 0x25a6c(%rip), %rcx     # 0x31498
movsd 0x110(%rsp), %xmm0
mulsd (%rcx), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x197c4(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x197b1(%rip), %rsi     # 0x25210
movq %r14, %rdi
callq 0x4300
leaq 0x25a2a(%rip), %rcx     # 0x31498
movsd 0xf0(%rsp), %xmm0
mulsd (%rcx), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x19782(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x19788(%rip), %rsi     # 0x25229
movq %r14, %rdi
callq 0x4300
movl 0x2a0(%rbx), %ecx
cvtsi2sd %rcx, %xmm0
leaq 0x259dd(%rip), %rcx     # 0x31498
mulsd (%rcx), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x1973e(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x1975d(%rip), %rsi     # 0x25242
movq %r14, %rdi
callq 0x4300
movl 0x2a4(%rbx), %ecx
xorpd %xmm0, %xmm0
cmpl $-0x1, %ecx
je 0xbb01
cvtsi2sd %rcx, %xmm0
leaq 0x25990(%rip), %rcx     # 0x31498
mulsd (%rcx), %xmm0
movq %rax, %rdi
callq 0x4470
leaq 0x196f1(%rip), %rsi     # 0x2520c
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %rax, %rdi
callq 0x4180
leaq 0x1976c(%rip), %rsi     # 0x252a6
movq %r14, %rdi
callq 0x4300
movq %rax, %rdi
movq 0x40(%rsp), %rsi
callq 0x4210
movq %rax, %rdi
callq 0x4180
leaq 0x19761(%rip), %rsi     # 0x252bf
movq %r14, %rdi
callq 0x4300
movq %rax, %rdi
movq 0x50(%rsp), %rsi
callq 0x4210
movq %rax, %rdi
callq 0x4180
leaq 0x19756(%rip), %rsi     # 0x252d8
movq %r14, %rdi
callq 0x4300
movq %rax, %rdi
movq 0xd0(%rsp), %rsi
callq 0x4210
movq %rax, %rdi
callq 0x4180
leaq 0x19748(%rip), %rsi     # 0x252f1
movq %r14, %rdi
callq 0x4300
movq %rax, %rdi
movq 0x60(%rsp), %rsi
callq 0x4210
movq %rax, %rdi
callq 0x4180
leaq 0x1973d(%rip), %rsi     # 0x2530a
movq %r14, %rdi
callq 0x4300
movq %rax, %rdi
movq 0xa8(%rsp), %rsi
callq 0x4210
movq %rax, %rdi
callq 0x4180
leaq 0x1972f(%rip), %rsi     # 0x25323
movq %r14, %rdi
callq 0x4300
movq %rax, %rdi
movq 0xb0(%rsp), %rsi
callq 0x4210
movq %rax, %rdi
callq 0x4180
leaq 0x19721(%rip), %rsi     # 0x2533c
movq %r14, %rdi
callq 0x4300
movq 0x1b0(%rbx), %rsi
movq %rax, %rdi
callq 0x4210
movq %rax, %rdi
callq 0x4180
leaq 0x19714(%rip), %rsi     # 0x25355
movq %r14, %rdi
callq 0x4300
movl 0x18(%rsp), %esi
movq %rax, %rdi
callq 0x4210
movq %rax, %rdi
callq 0x4180
leaq 0x1970a(%rip), %rsi     # 0x2536e
movq %r14, %rdi
callq 0x4300
movq 0x1b8(%rbx), %rsi
movq %rax, %rdi
callq 0x4210
movq %rax, %rdi
callq 0x4180
movq %rax, %rdi
callq 0x4180
xorl %r15d, %r15d
pushq $0x20
popq %r13
leaq 0x88(%rsp), %r12
leaq 0x25807(%rip), %rax     # 0x314a8
movslq (%rax), %rax
cmpq %rax, %r15
jge 0xc2ed
movq %r14, %rdi
leaq 0x196d0(%rip), %rsi     # 0x25387
callq 0x4300
movq %rax, %rdi
movl %r15d, %esi
callq 0x44f0
movq %rax, %rdi
leaq 0x19d89(%rip), %rsi     # 0x25a5a
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x196c0(%rip), %rsi     # 0x253a8
callq 0x4300
movq 0x1e0(%rbx), %rcx
movq (%rcx,%r15,8), %rsi
movq %rax, %rdi
callq 0x4210
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x196b9(%rip), %rsi     # 0x253cb
callq 0x4300
movq 0x1f8(%rbx), %rcx
movq (%rcx,%r15,8), %rsi
movq %rax, %rdi
callq 0x4210
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x196b2(%rip), %rsi     # 0x253ee
callq 0x4300
movq 0x210(%rbx), %rcx
movq (%rcx,%r15,8), %rsi
movq %rax, %rdi
callq 0x4210
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x196ab(%rip), %rsi     # 0x25411
callq 0x4300
movq 0x228(%rbx), %rcx
movq (%rcx,%r15,8), %rsi
movq %rax, %rdi
callq 0x4210
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x196a4(%rip), %rsi     # 0x25434
callq 0x4300
movq 0x240(%rbx), %rcx
movq (%rcx,%r15,8), %rsi
movq %rax, %rdi
callq 0x4210
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x1969d(%rip), %rsi     # 0x25457
callq 0x4300
movq 0x258(%rbx), %rcx
movq (%rcx,%r15,8), %rsi
movq %rax, %rdi
callq 0x4210
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x19696(%rip), %rsi     # 0x2547a
callq 0x4300
movq 0x270(%rbx), %rcx
movl (%rcx,%r15,4), %esi
movq %rax, %rdi
callq 0x4210
movq %rax, %rdi
callq 0x4180
leaq 0x256dd(%rip), %rax     # 0x314e8
cmpl $0x0, (%rax)
je 0xbed6
movq %r14, %rdi
leaq 0x1967f(%rip), %rsi     # 0x2549d
callq 0x4300
movq 0x148(%rsp), %rcx
movsd (%rcx,%r15,8), %xmm0
movq %rax, %rdi
callq 0x4470
movq %rax, %rdi
leaq 0x19394(%rip), %rsi     # 0x251d7
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x19666(%rip), %rsi     # 0x254c0
callq 0x4300
movq 0x130(%rsp), %rcx
movsd (%rcx,%r15,8), %xmm0
movq %rax, %rdi
callq 0x4470
movq %rax, %rdi
leaq 0x19358(%rip), %rsi     # 0x251d7
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x1964d(%rip), %rsi     # 0x254e3
callq 0x4300
movq 0x148(%rsp), %rcx
movsd (%rcx,%r15,8), %xmm0
movq 0x130(%rsp), %rcx
addsd (%rcx,%r15,8), %xmm0
movq %rax, %rdi
callq 0x4470
movq %rax, %rdi
leaq 0x1930e(%rip), %rsi     # 0x251d7
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x19626(%rip), %rsi     # 0x25506
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
movq %rax, %rdi
movl %r13d, %esi
callq 0x4440
movq 0x208(%rsp), %rcx
movsd (%rcx,%r15,8), %xmm0
movq %rax, %rdi
callq 0x4470
movq %rax, %rdi
leaq 0x19609(%rip), %rsi     # 0x25529
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x195f8(%rip), %rsi     # 0x2552f
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
movq %rax, %rdi
movl %r13d, %esi
callq 0x4440
movq 0x1f0(%rsp), %rcx
movsd (%rcx,%r15,8), %xmm0
movq %rax, %rdi
callq 0x4470
movq %rax, %rdi
leaq 0x195b2(%rip), %rsi     # 0x25529
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x195c4(%rip), %rsi     # 0x25552
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
movq %rax, %rdi
movl %r13d, %esi
callq 0x4440
movq 0x1d8(%rsp), %rcx
movsd (%rcx,%r15,8), %xmm0
movq %rax, %rdi
callq 0x4470
movq %rax, %rdi
leaq 0x1955b(%rip), %rsi     # 0x25529
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x19590(%rip), %rsi     # 0x25575
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
movq %rax, %rdi
movl %r13d, %esi
callq 0x4440
movq 0x1c0(%rsp), %rcx
movsd (%rcx,%r15,8), %xmm0
movq %rax, %rdi
callq 0x4470
movq %rax, %rdi
leaq 0x19504(%rip), %rsi     # 0x25529
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x1955c(%rip), %rsi     # 0x25598
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
movq %rax, %rdi
movl %r13d, %esi
callq 0x4440
movq 0x1a8(%rsp), %rcx
movsd (%rcx,%r15,8), %xmm0
movq %rax, %rdi
callq 0x4470
movq %rax, %rdi
leaq 0x194ad(%rip), %rsi     # 0x25529
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x19528(%rip), %rsi     # 0x255bb
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
movq %rax, %rdi
movl %r13d, %esi
callq 0x4440
movq 0x190(%rsp), %rcx
movsd (%rcx,%r15,8), %xmm0
movq %rax, %rdi
callq 0x4470
movq %rax, %rdi
leaq 0x19456(%rip), %rsi     # 0x25529
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %r14, %rdi
leaq 0x194f4(%rip), %rsi     # 0x255de
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
movq %rax, %rdi
movl %r13d, %esi
callq 0x4440
movq %rax, %rbp
movq 0x300(%rbx), %rax
movsd (%rax,%r15,8), %xmm1
unpcklps 0x1800f(%rip), %xmm1    # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x18017(%rip), %xmm1    # 0x24140
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movq %r12, %rdi
callq 0xce3e
movq %rbp, %rdi
movq %r12, %rsi
callq 0x42b0
movq %rax, %rdi
leaq 0x1a839(%rip), %rsi     # 0x2698b
callq 0x4300
movq 0x300(%rbx), %rcx
movq (%rcx,%r15,8), %rsi
movq %rax, %rdi
callq 0x4210
movq %rax, %rdi
leaq 0x1905f(%rip), %rsi     # 0x251d3
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %r12, %rdi
callq 0x4598
movq %r14, %rdi
leaq 0x1946e(%rip), %rsi     # 0x25601
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
movq %rax, %rdi
movl %r13d, %esi
callq 0x4440
movq %rax, %rbp
movq 0x318(%rbx), %rax
movsd (%rax,%r15,8), %xmm1
unpcklps 0x17f66(%rip), %xmm1    # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x17f6e(%rip), %xmm1    # 0x24140
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movq %r12, %rdi
callq 0xce3e
movq %rbp, %rdi
movq %r12, %rsi
callq 0x42b0
movq %rax, %rdi
leaq 0x1a790(%rip), %rsi     # 0x2698b
callq 0x4300
movq 0x318(%rbx), %rcx
movq (%rcx,%r15,8), %rsi
movq %rax, %rdi
callq 0x4210
movq %rax, %rdi
leaq 0x18fb6(%rip), %rsi     # 0x251d3
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %r12, %rdi
callq 0x4598
movq %r14, %rdi
leaq 0x193e8(%rip), %rsi     # 0x25624
callq 0x4300
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
movq %rax, %rdi
movl %r13d, %esi
callq 0x4440
movq %rax, %rbp
movq 0x160(%rsp), %rax
movsd (%rax,%r15,8), %xmm1
unpcklps 0x17ebc(%rip), %xmm1    # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x17ec4(%rip), %xmm1    # 0x24140
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movq %r12, %rdi
callq 0xce3e
movq %rbp, %rdi
movq %r12, %rsi
callq 0x42b0
movq %rax, %rdi
leaq 0x1a6e6(%rip), %rsi     # 0x2698b
callq 0x4300
movq 0x160(%rsp), %rcx
movq (%rcx,%r15,8), %rsi
movq %rax, %rdi
callq 0x4210
movq %rax, %rdi
leaq 0x18f0b(%rip), %rsi     # 0x251d3
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq %rax, %rdi
callq 0x4180
movq %r12, %rdi
callq 0x4598
incq %r15
jmp 0xbc9a
leaq 0x19353(%rip), %rsi     # 0x25647
movq %r14, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq 0x130(%rsp), %rdi
callq 0xeb42
leaq 0x148(%rsp), %rdi
callq 0xeb42
leaq 0x160(%rsp), %rdi
callq 0xe66e
leaq 0x190(%rsp), %rdi
callq 0xeb42
leaq 0x1a8(%rsp), %rdi
callq 0xeb42
leaq 0x1c0(%rsp), %rdi
callq 0xeb42
leaq 0x1d8(%rsp), %rdi
callq 0xeb42
leaq 0x1f0(%rsp), %rdi
callq 0xeb42
leaq 0x208(%rsp), %rdi
callq 0xeb42
leaq 0x240(%rsp), %rdi
callq 0x4598
addq $0x268, %rsp            # imm = 0x268
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xc3fb
movq %rax, %rbx
jmp 0xc40b
movq %rax, %rbx
jmp 0xc418
movq %rax, %rbx
jmp 0xc425
movq %rax, %rbx
jmp 0xc432
movq %rax, %rbx
jmp 0xc43f
movq %rax, %rbx
jmp 0xc44c
movq %rax, %rbx
jmp 0xc459
movq %rax, %rbx
jmp 0xc466
jmp 0xc3d5
jmp 0xc3e9
movq %rax, %rbx
jmp 0xc473
jmp 0xc3fb
jmp 0xc3fb
jmp 0xc3fb
jmp 0xc3e9
jmp 0xc3e9
jmp 0xc3fb
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x4598
jmp 0xc3fe
movq %rax, %rbx
leaq 0x130(%rsp), %rdi
callq 0xeb42
leaq 0x148(%rsp), %rdi
callq 0xeb42
leaq 0x160(%rsp), %rdi
callq 0xe66e
leaq 0x190(%rsp), %rdi
callq 0xeb42
leaq 0x1a8(%rsp), %rdi
callq 0xeb42
leaq 0x1c0(%rsp), %rdi
callq 0xeb42
leaq 0x1d8(%rsp), %rdi
callq 0xeb42
leaq 0x1f0(%rsp), %rdi
callq 0xeb42
leaq 0x208(%rsp), %rdi
callq 0xeb42
leaq 0x240(%rsp), %rdi
callq 0x4598
movq %rbx, %rdi
callq 0x4520