// File: /workspace/github_cpp_makefile_star2_O1/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 $0x278, %rsp            # imm = 0x278
movq %rdi, %rbx
leaq 0x270(%rsp), %r14
movq %r14, %rdi
callq 0x42a0
movq %r14, %rdi
callq 0x4230
movl (%rax), %ebp
movl 0x4(%rax), %r12d
movl 0x8(%rax), %r13d
movl 0xc(%rax), %ecx
movl %ecx, 0x74(%rsp)
movl 0x10(%rax), %ecx
movl %ecx, 0x78(%rsp)
movl 0x14(%rax), %eax
movl %eax, 0x7c(%rsp)
leaq 0x90(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x3a8(%rbx), %rsi
movq 0x3b0(%rbx), %rdx
addq %rsi, %rdx
leaq 0x80(%rsp), %r14
movq %r14, %rdi
callq 0x1430e
leaq 0x245de(%rip), %rsi     # 0x32665
movq %r14, %rdi
callq 0x4580
leaq 0xe18(%rbx), %r14
movq 0x80(%rsp), %rsi
movq %r14, %rdi
movl $0x10, %edx
callq 0x4070
movq 0x2df1e(%rip), %rdi     # 0x3bfd0
leaq 0x245b8(%rip), %rsi     # 0x32671
movl $0x27, %edx
callq 0x4340
movq 0x370(%rbx), %rsi
movq 0x2deff(%rip), %rdi     # 0x3bfd0
callq 0x41e0
movq %rax, %r15
leaq 0x245b9(%rip), %rsi     # 0x32699
movl $0x9, %edx
movq %rax, %rdi
callq 0x4340
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq 0x2deb5(%rip), %rdi     # 0x3bfd0
leaq 0x235e7(%rip), %rsi     # 0x31709
movl $0x4, %edx
callq 0x4340
movq 0x80(%rsp), %rsi
movq 0x88(%rsp), %rdx
movq 0x2de8d(%rip), %rdi     # 0x3bfd0
callq 0x4340
movq %rax, %r15
leaq 0x235bc(%rip), %rsi     # 0x3170e
movl $0xf, %edx
movq %rax, %rdi
callq 0x4340
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movsd 0x370(%rbx), %xmm0
unpcklps 0x22f41(%rip), %xmm0    # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x22f29(%rip), %xmm0    # 0x310f0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
leaq 0x2e2be(%rip), %rax     # 0x3c498
mulsd (%rax), %xmm1
movapd %xmm1, 0xa0(%rsp)
movsd 0x2c8(%rbx), %xmm0
movapd %xmm0, 0x260(%rsp)
leaq 0x2e2a9(%rip), %r15     # 0x3c4a8
movslq (%r15), %rsi
leaq 0x10(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x1c0(%rsp), %rdi
leaq 0x1a8(%rsp), %rcx
callq 0x13b2a
movslq (%r15), %rsi
leaq 0x10(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x1a8(%rsp), %rdi
leaq 0x190(%rsp), %rcx
callq 0x13b2a
movslq (%r15), %rsi
leaq 0x10(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x190(%rsp), %rdi
leaq 0x178(%rsp), %rcx
callq 0x13b2a
movslq (%r15), %rsi
leaq 0x10(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x178(%rsp), %rdi
leaq 0x160(%rsp), %rcx
callq 0x13b2a
movslq (%r15), %rsi
leaq 0x10(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x160(%rsp), %rdi
leaq 0x148(%rsp), %rcx
callq 0x13b2a
movq %rbx, 0x58(%rsp)
movslq (%r15), %rsi
leaq 0x10(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x148(%rsp), %rdi
leaq 0x130(%rsp), %rcx
callq 0x13b2a
movl %r13d, 0x70(%rsp)
movl %r12d, 0x6c(%rsp)
movl %ebp, 0x68(%rsp)
movq %r14, 0x60(%rsp)
movslq (%r15), %rsi
leaq 0x10(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x130(%rsp), %rdi
leaq 0x118(%rsp), %rcx
callq 0x138c2
movapd 0xa0(%rsp), %xmm5
mulsd 0x22d94(%rip), %xmm5    # 0x310b8
movslq (%r15), %rax
xorpd %xmm1, %xmm1
xorpd %xmm7, %xmm7
testq %rax, %rax
movsd 0x22dc6(%rip), %xmm4    # 0x31100
movapd 0x22dae(%rip), %xmm6    # 0x310f0
jle 0xe47f
movq 0x58(%rsp), %r11
movq 0x2d0(%r11), %rcx
movq 0x2e8(%r11), %rdx
movq 0x1c0(%rsp), %rsi
movq 0x1a8(%rsp), %rdi
movq 0x190(%rsp), %r8
movq 0x300(%r11), %r9
movq 0x178(%rsp), %r10
movq 0x318(%r11), %r11
movq 0x160(%rsp), %r15
movq 0x148(%rsp), %r12
movq 0x130(%rsp), %r13
shlq $0x3, %rax
xorl %ebp, %ebp
movsd 0x22d11(%rip), %xmm0    # 0x310c0
movsd (%rcx,%rbp), %xmm2
unpcklps %xmm4, %xmm2            # xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1]
subpd %xmm6, %xmm2
movapd %xmm2, %xmm3
unpckhpd %xmm2, %xmm3            # xmm3 = xmm3[1],xmm2[1]
addsd %xmm2, %xmm3
divsd %xmm5, %xmm3
mulsd %xmm0, %xmm3
movsd %xmm3, (%rsi,%rbp)
movsd (%rdx,%rbp), %xmm2
unpcklps %xmm4, %xmm2            # xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1]
subpd %xmm6, %xmm2
movapd %xmm2, %xmm3
unpckhpd %xmm2, %xmm3            # xmm3 = xmm3[1],xmm2[1]
addsd %xmm2, %xmm3
divsd %xmm5, %xmm3
mulsd %xmm0, %xmm3
movsd %xmm3, (%rdi,%rbp)
addsd (%rsi,%rbp), %xmm3
movsd %xmm3, (%r8,%rbp)
addsd %xmm3, %xmm7
movq (%r9,%rbp), %rbx
movq %rbx, %xmm2
punpckldq %xmm4, %xmm2    # xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1]
subpd %xmm6, %xmm2
movapd %xmm2, %xmm3
unpckhpd %xmm2, %xmm3            # xmm3 = xmm3[1],xmm2[1]
addsd %xmm2, %xmm3
divsd %xmm5, %xmm3
mulsd %xmm0, %xmm3
movsd %xmm3, (%r10,%rbp)
movq (%r11,%rbp), %r14
movq %r14, %xmm2
punpckldq %xmm4, %xmm2    # xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1]
subpd %xmm6, %xmm2
movapd %xmm2, %xmm3
unpckhpd %xmm2, %xmm3            # xmm3 = xmm3[1],xmm2[1]
addsd %xmm2, %xmm3
divsd %xmm5, %xmm3
mulsd %xmm0, %xmm3
movsd %xmm3, (%r15,%rbp)
addsd (%r10,%rbp), %xmm3
movsd %xmm3, (%r12,%rbp)
addq %rbx, %r14
movq %r14, (%r13,%rbp)
addq $0x8, %rbp
cmpq %rbp, %rax
jne 0xe3af
movsd %xmm7, 0x1d8(%rsp)
movapd %xmm5, 0xa0(%rsp)
movq 0x58(%rsp), %rbx
movq 0x1b0(%rbx), %rax
movq 0x1b8(%rbx), %rcx
xorpd %xmm0, %xmm0
movapd %xmm0, 0x210(%rsp)
testq %rcx, %rcx
je 0xe507
movsd 0x1d8(%rbx), %xmm0
movsd 0x22c3a(%rip), %xmm2    # 0x31100
unpcklps %xmm2, %xmm0            # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
movapd 0x22c1f(%rip), %xmm4    # 0x310f0
subpd %xmm4, %xmm0
movapd %xmm0, %xmm3
unpckhpd %xmm0, %xmm3            # xmm3 = xmm3[1],xmm0[1]
addsd %xmm0, %xmm3
movq %rcx, %xmm0
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
subpd %xmm4, %xmm0
movapd %xmm0, %xmm2
unpckhpd %xmm0, %xmm2            # xmm2 = xmm2[1],xmm0[1]
addsd %xmm0, %xmm2
divsd %xmm2, %xmm3
movapd %xmm3, 0x210(%rsp)
movq %rax, %xmm0
punpckldq 0x22bec(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x22bd4(%rip), %xmm0    # 0x310f0
movapd %xmm0, %xmm2
unpckhpd %xmm0, %xmm2            # xmm2 = xmm2[1],xmm0[1]
addsd %xmm0, %xmm2
xorpd %xmm0, %xmm0
movapd %xmm0, 0x240(%rsp)
testq %rax, %rax
je 0xe56a
movsd 0x1c0(%rbx), %xmm0
unpcklps 0x22bb7(%rip), %xmm0    # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x22b9f(%rip), %xmm0    # 0x310f0
movapd %xmm0, %xmm3
unpckhpd %xmm0, %xmm3            # xmm3 = xmm3[1],xmm0[1]
addsd %xmm0, %xmm3
divsd %xmm2, %xmm3
movapd %xmm3, 0x240(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x230(%rsp)
je 0xe5a9
movsd 0x1c8(%rbx), %xmm0
unpcklps 0x22b78(%rip), %xmm0    # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x22b60(%rip), %xmm0    # 0x310f0
movapd %xmm0, %xmm3
unpckhpd %xmm0, %xmm3            # xmm3 = xmm3[1],xmm0[1]
addsd %xmm0, %xmm3
divsd %xmm2, %xmm3
movapd %xmm3, 0x230(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x220(%rsp)
movq 0x60(%rsp), %r14
je 0xe5ed
movsd 0x1d0(%rbx), %xmm0
unpcklps 0x22b34(%rip), %xmm0    # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x22b1c(%rip), %xmm0    # 0x310f0
movapd %xmm0, %xmm3
unpckhpd %xmm0, %xmm3            # xmm3 = xmm3[1],xmm0[1]
addsd %xmm0, %xmm3
divsd %xmm2, %xmm3
movapd %xmm3, 0x220(%rsp)
xorpd %xmm0, %xmm0
je 0xe5ff
movsd 0x2a8(%rbx), %xmm0
divsd %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jb 0xe60b
sqrtsd %xmm0, %xmm0
jmp 0xe610
callq 0x4250
movsd %xmm0, 0xf8(%rsp)
movq 0x1b0(%rbx), %rax
xorpd %xmm1, %xmm1
xorpd %xmm0, %xmm0
testq %rax, %rax
je 0xe65a
movsd 0x2b0(%rbx), %xmm0
movq %rax, %xmm2
punpckldq 0x22abe(%rip), %xmm2 # xmm2 = xmm2[0],mem[0],xmm2[1],mem[1]
subpd 0x22aa6(%rip), %xmm2    # 0x310f0
movapd %xmm2, %xmm3
unpckhpd %xmm2, %xmm3            # xmm3 = xmm3[1],xmm2[1]
addsd %xmm2, %xmm3
divsd %xmm3, %xmm0
ucomisd %xmm1, %xmm0
jb 0xe666
sqrtsd %xmm0, %xmm0
jmp 0xe66b
callq 0x4250
movsd %xmm0, 0xf0(%rsp)
movq 0x1b0(%rbx), %rax
xorpd %xmm1, %xmm1
xorpd %xmm0, %xmm0
testq %rax, %rax
je 0xe6b5
movsd 0x2b8(%rbx), %xmm0
movq %rax, %xmm2
punpckldq 0x22a63(%rip), %xmm2 # xmm2 = xmm2[0],mem[0],xmm2[1],mem[1]
subpd 0x22a4b(%rip), %xmm2    # 0x310f0
movapd %xmm2, %xmm3
unpckhpd %xmm2, %xmm3            # xmm3 = xmm3[1],xmm2[1]
addsd %xmm2, %xmm3
divsd %xmm3, %xmm0
ucomisd %xmm1, %xmm0
jb 0xe6c1
sqrtsd %xmm0, %xmm0
jmp 0xe6c6
callq 0x4250
movsd %xmm0, 0xe8(%rsp)
movq 0x1b8(%rbx), %rax
xorpd %xmm1, %xmm1
xorpd %xmm0, %xmm0
testq %rax, %rax
je 0xe710
movsd 0x2c0(%rbx), %xmm0
movq %rax, %xmm2
punpckldq 0x22a08(%rip), %xmm2 # xmm2 = xmm2[0],mem[0],xmm2[1],mem[1]
subpd 0x229f0(%rip), %xmm2    # 0x310f0
movapd %xmm2, %xmm3
unpckhpd %xmm2, %xmm3            # xmm3 = xmm3[1],xmm2[1]
addsd %xmm2, %xmm3
divsd %xmm3, %xmm0
ucomisd %xmm1, %xmm0
jb 0xe71c
sqrtsd %xmm0, %xmm0
jmp 0xe721
callq 0x4250
movsd %xmm0, 0xe0(%rsp)
leaq 0x2dd77(%rip), %rax     # 0x3c4a8
movslq (%rax), %rsi
testq %rsi, %rsi
jle 0xe809
movq 0x1e0(%rbx), %rax
movq %rax, 0x8(%rsp)
movq 0x1f8(%rbx), %rax
movq %rax, 0x38(%rsp)
movq 0x210(%rbx), %rdx
xorl %ebp, %ebp
movq 0x228(%rbx), %rdi
movq 0x240(%rbx), %r8
movq 0x258(%rbx), %r9
movq 0x270(%rbx), %r10
movq %rsi, 0x30(%rsp)
leaq (,%rsi,4), %r11
xorl %r15d, %r15d
xorl %esi, %esi
xorl %eax, %eax
xorl %r14d, %r14d
xorl %ebx, %ebx
xorl %r13d, %r13d
xorl %r12d, %r12d
movq 0x8(%rsp), %rcx
addq (%rcx,%r15,2), %rsi
movq 0x38(%rsp), %rcx
addq (%rcx,%r15,2), %rax
addq (%rdx,%r15,2), %r14
addq (%rdi,%r15,2), %rbx
addq (%r8,%r15,2), %r13
addq (%r9,%r15,2), %r12
addl (%r10,%r15), %ebp
addq $0x4, %r15
cmpq %r15, %r11
jne 0xe799
movq %r14, 0xd0(%rsp)
movq %rbx, 0xc8(%rsp)
movq %r13, 0xc0(%rsp)
movq %r12, 0xb8(%rsp)
movl %ebp, %ebp
movq %rbp, 0xb0(%rsp)
movq 0x60(%rsp), %r14
movq %rax, 0xd8(%rsp)
movq %rsi, %r13
movq 0x30(%rsp), %rsi
jmp 0xe854
movq $0x0, 0xb0(%rsp)
movq $0x0, 0xb8(%rsp)
movq $0x0, 0xc0(%rsp)
movq $0x0, 0xc8(%rsp)
movq $0x0, 0xd0(%rsp)
movq $0x0, 0xd8(%rsp)
xorl %r13d, %r13d
leaq 0x10(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x118(%rsp), %rdi
leaq 0x100(%rsp), %rcx
callq 0x13b2a
leaq 0x2dc2c(%rip), %r15     # 0x3c4a8
movslq (%r15), %rsi
leaq 0x10(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x100(%rsp), %rdi
leaq 0x47(%rsp), %rcx
callq 0x13b2a
movq 0x58(%rsp), %rbx
movslq (%r15), %rax
movq %rax, %r12
testq %rax, %rax
jle 0xea20
movq 0x330(%rbx), %rdx
movq 0x370(%rbx), %rax
movq 0x320(%rdx), %rcx
movq 0x338(%rdx), %rsi
movq %rax, %xmm1
punpckldq 0x22826(%rip), %xmm1 # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x2280e(%rip), %xmm1    # 0x310f0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movq 0x118(%rsp), %r8
xorpd %xmm5, %xmm5
movq 0x100(%rsp), %r9
xorl %r10d, %r10d
movsd 0x227bb(%rip), %xmm1    # 0x310c8
xorl %r11d, %r11d
xorl %edi, %edi
xorl %edx, %edx
xorpd %xmm6, %xmm6
movq 0x227e0(%rip), %xmm4    # 0x31100
movq %r12, %rbp
movapd 0x227c5(%rip), %xmm7    # 0x310f0
movq (%rcx,%r10,8), %r15
movq %r15, %xmm2
punpckldq %xmm4, %xmm2    # xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1]
subpd %xmm7, %xmm2
movapd %xmm2, %xmm3
unpckhpd %xmm2, %xmm3            # xmm3 = xmm3[1],xmm2[1]
addsd %xmm2, %xmm3
divsd %xmm0, %xmm3
mulsd %xmm1, %xmm3
movsd %xmm3, (%r8,%r10,8)
movq (%rsi,%r10,8), %rbx
movq %rbx, %xmm2
punpckldq %xmm4, %xmm2    # xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1]
subpd %xmm7, %xmm2
movapd %xmm2, %xmm3
unpckhpd %xmm2, %xmm3            # xmm3 = xmm3[1],xmm2[1]
addsd %xmm2, %xmm3
divsd %xmm0, %xmm3
mulsd %xmm1, %xmm3
movsd %xmm3, (%r9,%r10,8)
addsd (%r8,%r10,8), %xmm5
addsd %xmm3, %xmm6
addq %rax, %r11
subq %r15, %r11
subq %rbx, %r11
addq %r15, %rdi
addq %rbx, %rdx
incq %r10
cmpq %r10, %rbp
jne 0xe92b
movsd %xmm6, 0x48(%rsp)
movsd %xmm5, 0x50(%rsp)
movq %r11, %xmm0
punpckldq %xmm4, %xmm0    # xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1]
subpd %xmm7, %xmm0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x200(%rsp)
movq %rdi, %xmm0
punpckldq %xmm4, %xmm0    # xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1]
subpd %xmm7, %xmm0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x1f0(%rsp)
movq %rdx, %xmm0
punpckldq %xmm4, %xmm0    # xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1]
subpd %xmm7, %xmm0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x1e0(%rsp)
movq 0x58(%rsp), %rbx
movq 0x60(%rsp), %r14
jmp 0xea4b
xorpd %xmm0, %xmm0
movsd %xmm0, 0x48(%rsp)
movsd %xmm0, 0x50(%rsp)
movapd %xmm0, 0x1e0(%rsp)
movapd %xmm0, 0x1f0(%rsp)
movapd %xmm0, 0x200(%rsp)
leaq 0x2dab6(%rip), %rax     # 0x3c508
movsd (%rax), %xmm0
leaq 0x2da53(%rip), %rax     # 0x3c4b0
mulsd (%rax), %xmm0
leaq 0x2daa8(%rip), %rax     # 0x3c510
movsd (%rax), %xmm1
mulsd %xmm0, %xmm1
movsd %xmm1, 0x38(%rsp)
leaq 0x2da9b(%rip), %rax     # 0x3c518
movsd (%rax), %xmm1
movsd %xmm0, 0x8(%rsp)
mulsd %xmm0, %xmm1
movsd %xmm1, 0x30(%rsp)
movsd 0x370(%rbx), %xmm0
movapd %xmm0, 0x250(%rsp)
leaq 0x2275a(%rip), %rsi     # 0x31203
movl $0x40, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22760(%rip), %rsi     # 0x31244
movl $0x40, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x23b84(%rip), %rsi     # 0x326a3
movl $0x40, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x2272b(%rip), %rsi     # 0x31285
movl $0x14, %edx
movq %r14, %rdi
callq 0x4340
movl 0x7c(%rsp), %esi
addl $0x76c, %esi            # imm = 0x76C
movq %r14, %rdi
callq 0x4500
movq %rax, %r15
leaq 0x22717(%rip), %rsi     # 0x3129a
movl $0x1, %edx
movq %rax, %rdi
callq 0x4340
movq (%r15), %rax
movq -0x18(%rax), %rcx
movq $0x2, 0x10(%r15,%rcx)
movq -0x18(%rax), %rax
movq %r15, %rbp
addq %rax, %rbp
cmpb $0x0, 0xe1(%r15,%rax)
jne 0xebcf
movq %rbp, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%rbp)
movb $0x1, 0xe1(%rbp)
movb $0x30, 0xe0(%rbp)
movl 0x78(%rsp), %esi
incl %esi
movq %r15, %rdi
callq 0x4500
movq %rax, %rbp
leaq 0x226ac(%rip), %rsi     # 0x3129a
movl $0x1, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rcx
movq $0x2, 0x10(%rbp,%rcx)
movq -0x18(%rax), %rax
movq %rbp, %r15
addq %rax, %r15
cmpb $0x0, 0xe1(%rbp,%rax)
jne 0xec3c
movq %r15, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r15)
movb $0x1, 0xe1(%r15)
movb $0x30, 0xe0(%r15)
movq %rbp, %rdi
movl 0x74(%rsp), %esi
callq 0x4500
movq %rax, %rbp
leaq 0x22642(%rip), %rsi     # 0x3129c
movl $0xd, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rcx
movq $0x2, 0x10(%rbp,%rcx)
movq -0x18(%rax), %rax
movq %rbp, %r15
addq %rax, %r15
cmpb $0x0, 0xe1(%rbp,%rax)
jne 0xeca8
movq %r15, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r15)
movb $0x1, 0xe1(%r15)
movb $0x30, 0xe0(%r15)
movq %rbp, %rdi
movl 0x70(%rsp), %esi
callq 0x4500
movq %rax, %rbp
leaq 0x22b71(%rip), %rsi     # 0x31837
movl $0x1, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rcx
movq $0x2, 0x10(%rbp,%rcx)
movq -0x18(%rax), %rax
movq %rbp, %r15
addq %rax, %r15
cmpb $0x0, 0xe1(%rbp,%rax)
jne 0xed14
movq %r15, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r15)
movb $0x1, 0xe1(%r15)
movb $0x30, 0xe0(%r15)
movq %rbp, %rdi
movl 0x6c(%rsp), %esi
callq 0x4500
movq %rax, %rbp
leaq 0x22b05(%rip), %rsi     # 0x31837
movl $0x1, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rcx
movq $0x2, 0x10(%rbp,%rcx)
movq -0x18(%rax), %rax
movq %rbp, %r15
addq %rax, %r15
cmpb $0x0, 0xe1(%rbp,%rax)
jne 0xed80
movq %r15, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r15)
movb $0x1, 0xe1(%r15)
movb $0x30, 0xe0(%r15)
movq %rbp, %rdi
movl 0x68(%rsp), %esi
callq 0x4500
movq %rax, %rbp
leaq 0x2253f(%rip), %rsi     # 0x312dd
movl $0xd, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22429(%rip), %rsi     # 0x31203
movl $0x40, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x238a5(%rip), %rsi     # 0x326e4
movl $0xf, %edx
movq %r14, %rdi
callq 0x4340
movq 0x2d5d5(%rip), %rsi     # 0x3c428
movq 0x2d5d6(%rip), %rdx     # 0x3c430
movq %r14, %rdi
callq 0x4340
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x2d595(%rip), %rdi     # 0x3c428
leaq 0x22b87(%rip), %rsi     # 0x31a21
callq 0x4100
testl %eax, %eax
je 0xef32
leaq 0x2d57a(%rip), %rdi     # 0x3c428
leaq 0x23ea3(%rip), %rsi     # 0x32d58
callq 0x4100
testl %eax, %eax
jne 0xefce
leaq 0x23867(%rip), %rsi     # 0x32730
movl $0xf, %edx
movq %r14, %rdi
callq 0x4340
movq 0x2d56b(%rip), %rsi     # 0x3c448
movq 0x2d56c(%rip), %rdx     # 0x3c450
movq %r14, %rdi
callq 0x4340
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
jmp 0xefbb
leaq 0x237bb(%rip), %rsi     # 0x326f4
movl $0x1a, %edx
movq %r14, %rdi
callq 0x4340
movsd 0x2d4ca(%rip), %xmm0    # 0x3c418
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x23788(%rip), %rsi     # 0x3270f
movl $0x20, %edx
movq %r14, %rdi
callq 0x4340
movsd 0x2d484(%rip), %xmm0    # 0x3c420
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x2376b(%rip), %rsi     # 0x32740
movl $0x35, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x2373c(%rip), %rsi     # 0x32776
movl $0x12, %edx
movq %r14, %rdi
callq 0x4340
movq 0x370(%rbx), %rax
leaq 0x2d42b(%rip), %rcx     # 0x3c480
xorl %edx, %edx
divq (%rcx)
movq %r14, %rdi
movq %rax, %rsi
callq 0x41e0
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x236f3(%rip), %rsi     # 0x32789
movl $0x12, %edx
movq %r14, %rdi
callq 0x4340
movq 0x370(%rbx), %rsi
movq %r14, %rdi
callq 0x41e0
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22ffa(%rip), %rsi     # 0x32107
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rbp
cmpb $0x0, 0xe1(%r14,%rax)
jne 0xf157
movq %rbp, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%rbp)
movb $0x1, 0xe1(%rbp)
movapd 0x260(%rsp), %xmm1
unpcklps 0x21f99(%rip), %xmm1    # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x21f81(%rip), %xmm1    # 0x310f0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
divsd 0xa0(%rsp), %xmm0
mulsd 0x21f34(%rip), %xmm0    # 0x310c0
movb $0x20, 0xe0(%rbp)
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x22f7b(%rip), %rsi     # 0x32120
movl $0x22, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22f62(%rip), %rsi     # 0x32143
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r15
cmpb $0x0, 0xe1(%r14,%rax)
jne 0xf22d
movq %r15, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r15)
movb $0x1, 0xe1(%r15)
movb $0x20, 0xe0(%r15)
movq %r14, %rdi
movsd 0x1d8(%rsp), %xmm0
callq 0x4460
movq %rax, %rbp
leaq 0x22f0c(%rip), %rsi     # 0x3215c
movl $0x1d, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22eee(%rip), %rsi     # 0x3217a
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r15
cmpb $0x0, 0xe1(%r14,%rax)
jne 0xf2d8
movq %r15, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r15)
movb $0x1, 0xe1(%r15)
movb $0x20, 0xe0(%r15)
movsd 0x2c8(%rbx), %xmm1
unpcklps 0x21e11(%rip), %xmm1    # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x21df9(%rip), %xmm1    # 0x310f0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
leaq 0x10(%rsp), %rdi
callq 0x120c2
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq %r14, %rdi
callq 0x4340
movq %rax, %rbp
leaq 0x245f6(%rip), %rsi     # 0x3391f
movl $0x2, %edx
movq %rax, %rdi
callq 0x4340
movq 0x2c8(%rbx), %rsi
movq %rbp, %rdi
callq 0x41e0
movq %rax, %rbp
leaq 0x22e44(%rip), %rsi     # 0x32193
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movsd 0x21d12(%rip), %xmm0    # 0x310c8
movsd 0x38(%rsp), %xmm1
divsd %xmm0, %xmm1
mulsd 0x1f0(%rsp), %xmm1
movsd %xmm1, 0x38(%rsp)
movsd 0x30(%rsp), %xmm1
divsd %xmm0, %xmm1
mulsd 0x1e0(%rsp), %xmm1
movsd %xmm1, 0x30(%rsp)
movsd 0x8(%rsp), %xmm0
mulsd 0x200(%rsp), %xmm0
movsd %xmm0, 0x8(%rsp)
movapd 0x250(%rsp), %xmm0
unpcklps 0x21cf3(%rip), %xmm0    # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x21cdb(%rip), %xmm0    # 0x310f0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xf44e
movq 0x20(%rsp), %rsi
incq %rsi
movapd %xmm1, 0xa0(%rsp)
callq 0x4300
movapd 0xa0(%rsp), %xmm1
movsd 0x8(%rsp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x8(%rsp)
movsd 0x38(%rsp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x38(%rsp)
movsd 0x30(%rsp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x30(%rsp)
leaq 0x2d063(%rip), %rax     # 0x3c4e8
cmpl $0x0, (%rax)
je 0xf999
leaq 0x23307(%rip), %rsi     # 0x3279c
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r15
cmpb $0x0, 0xe1(%r14,%rax)
jne 0xf4e1
movq %r15, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r15)
movb $0x1, 0xe1(%r15)
movb $0x20, 0xe0(%r15)
movq %r14, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x4460
movq %rax, %rbp
leaq 0x232b4(%rip), %rsi     # 0x327b5
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x2327c(%rip), %rsi     # 0x327b9
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r15
cmpb $0x0, 0xe1(%r14,%rax)
jne 0xf589
movq %r15, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r15)
movb $0x1, 0xe1(%r15)
movb $0x20, 0xe0(%r15)
movq %r14, %rdi
movsd 0x38(%rsp), %xmm0
callq 0x4460
movq %rax, %rbp
leaq 0x2320c(%rip), %rsi     # 0x327b5
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x231ed(%rip), %rsi     # 0x327d2
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r15
cmpb $0x0, 0xe1(%r14,%rax)
jne 0xf631
movq %r15, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r15)
movb $0x1, 0xe1(%r15)
movb $0x20, 0xe0(%r15)
movq %r14, %rdi
movsd 0x30(%rsp), %xmm0
callq 0x4460
movq %rax, %rbp
leaq 0x23164(%rip), %rsi     # 0x327b5
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x2315e(%rip), %rsi     # 0x327eb
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r15
cmpb $0x0, 0xe1(%r14,%rax)
jne 0xf6d9
movq %r15, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r15)
movb $0x1, 0xe1(%r15)
movb $0x20, 0xe0(%r15)
movsd 0x8(%rsp), %xmm0
addsd 0x38(%rsp), %xmm0
addsd 0x30(%rsp), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x230b0(%rip), %rsi     # 0x327b5
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22cfc(%rip), %rsi     # 0x32467
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rbp
cmpb $0x0, 0xe1(%r14,%rax)
jne 0xf7b5
movq %rbp, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%rbp)
movb $0x1, 0xe1(%rbp)
cvtsi2sd %r12d, %xmm1
movsd 0x50(%rsp), %xmm0
movsd %xmm1, 0x8(%rsp)
divsd %xmm1, %xmm0
movb $0x20, 0xe0(%rbp)
movq %r14, %rdi
movsd %xmm0, 0x50(%rsp)
callq 0x4460
movq %rax, %rbp
leaq 0x229ae(%rip), %rsi     # 0x32197
movl $0x2, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22c65(%rip), %rsi     # 0x3248a
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rbp
cmpb $0x0, 0xe1(%r14,%rax)
jne 0xf86f
movq %rbp, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%rbp)
movb $0x1, 0xe1(%rbp)
movsd 0x48(%rsp), %xmm0
divsd 0x8(%rsp), %xmm0
movb $0x20, 0xe0(%rbp)
movq %r14, %rdi
movsd %xmm0, 0x48(%rsp)
callq 0x4460
movq %rax, %rbp
leaq 0x228fd(%rip), %rsi     # 0x32197
movl $0x2, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22f2e(%rip), %rsi     # 0x32804
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r15
cmpb $0x0, 0xe1(%r14,%rax)
jne 0xf922
movq %r15, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r15)
movb $0x1, 0xe1(%r15)
movb $0x20, 0xe0(%r15)
movsd 0x50(%rsp), %xmm0
addsd 0x48(%rsp), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x2284f(%rip), %rsi     # 0x32197
movl $0x2, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
jmp 0xfa64
leaq 0x22e4b(%rip), %rsi     # 0x327eb
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r15
cmpb $0x0, 0xe1(%r14,%rax)
jne 0xf9ec
movq %r15, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r15)
movb $0x1, 0xe1(%r15)
movb $0x20, 0xe0(%r15)
movsd 0x8(%rsp), %xmm0
addsd 0x38(%rsp), %xmm0
addsd 0x30(%rsp), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x22d9d(%rip), %rsi     # 0x327b5
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22735(%rip), %rsi     # 0x321b3
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
leaq 0x2ca06(%rip), %rax     # 0x3c498
movapd 0x240(%rsp), %xmm0
mulsd (%rax), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x2271b(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x226e3(%rip), %rsi     # 0x321d0
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
leaq 0x2c997(%rip), %rax     # 0x3c498
movsd 0xf8(%rsp), %xmm0
mulsd (%rax), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x226ac(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x2268d(%rip), %rsi     # 0x321e9
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movl 0x288(%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
leaq 0x2c91a(%rip), %rax     # 0x3c498
mulsd (%rax), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x22638(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22632(%rip), %rsi     # 0x32202
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movl 0x28c(%rbx), %eax
xorpd %xmm0, %xmm0
cmpl $-0x1, %eax
je 0xfbf4
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
leaq 0x2c89d(%rip), %rax     # 0x3c498
mulsd (%rax), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x225bb(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x225ce(%rip), %rsi     # 0x3221b
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
leaq 0x2c837(%rip), %rax     # 0x3c498
movapd 0x230(%rsp), %xmm0
mulsd (%rax), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x2254c(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22514(%rip), %rsi     # 0x321d0
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
leaq 0x2c7c8(%rip), %rax     # 0x3c498
movsd 0xf0(%rsp), %xmm0
mulsd (%rax), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x224dd(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x224be(%rip), %rsi     # 0x321e9
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movl 0x290(%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
leaq 0x2c74b(%rip), %rax     # 0x3c498
mulsd (%rax), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x22469(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22463(%rip), %rsi     # 0x32202
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movl 0x294(%rbx), %eax
xorpd %xmm0, %xmm0
cmpl $-0x1, %eax
je 0xfdc3
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
leaq 0x2c6ce(%rip), %rax     # 0x3c498
mulsd (%rax), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x223ec(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22418(%rip), %rsi     # 0x32234
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
leaq 0x2c770(%rip), %r15     # 0x3c5a0
movapd 0x220(%rsp), %xmm0
mulsd (%r15), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x2237c(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22344(%rip), %rsi     # 0x321d0
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movsd 0xe8(%rsp), %xmm0
mulsd (%r15), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x22313(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x222f4(%rip), %rsi     # 0x321e9
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movl 0x298(%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
mulsd (%r15), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x222a5(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x2229f(%rip), %rsi     # 0x32202
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movl 0x29c(%rbx), %eax
xorpd %xmm0, %xmm0
cmpl $-0x1, %eax
je 0xff87
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
mulsd (%r15), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x2222e(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22273(%rip), %rsi     # 0x3224d
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
leaq 0x2c4aa(%rip), %rax     # 0x3c498
movapd 0x210(%rsp), %xmm0
mulsd (%rax), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x221bf(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22187(%rip), %rsi     # 0x321d0
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
leaq 0x2c43b(%rip), %rax     # 0x3c498
movsd 0xe0(%rsp), %xmm0
mulsd (%rax), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x22150(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22131(%rip), %rsi     # 0x321e9
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movl 0x2a0(%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
leaq 0x2c3be(%rip), %rax     # 0x3c498
mulsd (%rax), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x220dc(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x220d6(%rip), %rsi     # 0x32202
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movl 0x2a4(%rbx), %eax
xorpd %xmm0, %xmm0
cmpl $-0x1, %eax
je 0x10150
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
leaq 0x2c341(%rip), %rax     # 0x3c498
mulsd (%rax), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %rbp
leaq 0x2205f(%rip), %rsi     # 0x321cc
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22093(%rip), %rsi     # 0x32266
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq %r14, %rdi
movq %r13, %rsi
callq 0x41e0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r13, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x22063(%rip), %rsi     # 0x3227f
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq %r14, %rdi
movq 0xd8(%rsp), %rsi
callq 0x41e0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x2202e(%rip), %rsi     # 0x32298
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq %r14, %rdi
movq 0xd0(%rsp), %rsi
callq 0x41e0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x21ff9(%rip), %rsi     # 0x322b1
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq %r14, %rdi
movq 0xc8(%rsp), %rsi
callq 0x41e0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x21fc4(%rip), %rsi     # 0x322ca
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq %r14, %rdi
movq 0xc0(%rsp), %rsi
callq 0x41e0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x21f8f(%rip), %rsi     # 0x322e3
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq %r14, %rdi
movq 0xb8(%rsp), %rsi
callq 0x41e0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x21f5a(%rip), %rsi     # 0x322fc
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq 0x1b0(%rbx), %rsi
movq %r14, %rdi
callq 0x41e0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x21f26(%rip), %rsi     # 0x32315
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq %r14, %rdi
movq 0xb0(%rsp), %rsi
callq 0x41e0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x21ef1(%rip), %rsi     # 0x3232e
movl $0x18, %edx
movq %r14, %rdi
callq 0x4340
movq 0x1b8(%rbx), %rsi
movq %r14, %rdi
callq 0x41e0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x2bff4(%rip), %rax     # 0x3c4a8
cmpl $0x0, (%rax)
jle 0x110b7
xorl %r15d, %r15d
leaq 0x22022(%rip), %r13     # 0x324e9
leaq 0x21cc5(%rip), %rbp     # 0x32193
movl $0x20, %edx
movq %r14, %rdi
leaq 0x21e6a(%rip), %rsi     # 0x32347
callq 0x4340
movq %r14, %rdi
movl %r15d, %esi
callq 0x4500
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
leaq 0x22583(%rip), %rsi     # 0x32a82
callq 0x4340
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21e2d(%rip), %rsi     # 0x32368
callq 0x4340
movq 0x1e0(%rbx), %rax
movq (%rax,%r15,8), %rsi
movq %r14, %rdi
callq 0x41e0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21dff(%rip), %rsi     # 0x3238b
callq 0x4340
movq 0x1f8(%rbx), %rax
movq (%rax,%r15,8), %rsi
movq %r14, %rdi
callq 0x41e0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21dd1(%rip), %rsi     # 0x323ae
callq 0x4340
movq 0x210(%rbx), %rax
movq (%rax,%r15,8), %rsi
movq %r14, %rdi
callq 0x41e0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21da3(%rip), %rsi     # 0x323d1
callq 0x4340
movq 0x228(%rbx), %rax
movq (%rax,%r15,8), %rsi
movq %r14, %rdi
callq 0x41e0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21d75(%rip), %rsi     # 0x323f4
callq 0x4340
movq 0x240(%rbx), %rax
movq (%rax,%r15,8), %rsi
movq %r14, %rdi
callq 0x41e0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21d47(%rip), %rsi     # 0x32417
callq 0x4340
movq 0x258(%rbx), %rax
movq (%rax,%r15,8), %rsi
movq %r14, %rdi
callq 0x41e0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21d19(%rip), %rsi     # 0x3243a
callq 0x4340
movq 0x270(%rbx), %rax
movl (%rax,%r15,4), %esi
movq %r14, %rdi
callq 0x41e0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x2bd7e(%rip), %rax     # 0x3c4e8
cmpl $0x0, (%rax)
je 0x108bc
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21cdb(%rip), %rsi     # 0x3245d
callq 0x4340
movq 0x118(%rsp), %rax
movsd (%rax,%r15,8), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %r12
movl $0x2, %edx
movq %rax, %rdi
leaq 0x219e8(%rip), %rsi     # 0x32197
callq 0x4340
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21c95(%rip), %rsi     # 0x32480
callq 0x4340
movq 0x100(%rsp), %rax
movsd (%rax,%r15,8), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %r12
movl $0x2, %edx
movq %rax, %rdi
leaq 0x2197f(%rip), %rsi     # 0x32197
callq 0x4340
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21c4f(%rip), %rsi     # 0x324a3
callq 0x4340
movq 0x118(%rsp), %rax
movsd (%rax,%r15,8), %xmm0
movq 0x100(%rsp), %rax
addsd (%rax,%r15,8), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %r12
movl $0x2, %edx
movq %rax, %rdi
leaq 0x21908(%rip), %rsi     # 0x32197
callq 0x4340
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21bfb(%rip), %rsi     # 0x324c6
callq 0x4340
movq 0xe18(%rbx), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0xe28(%rbx,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r12
cmpb $0x0, 0xef9(%rbx,%rax)
jne 0x10917
movq %r12, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r12)
movb $0x1, 0xe1(%r12)
movb $0x20, 0xe0(%r12)
movq 0x1c0(%rsp), %rax
movsd (%rax,%r15,8), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %r12
movl $0x5, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x4340
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21b6f(%rip), %rsi     # 0x324ef
callq 0x4340
movq 0xe18(%rbx), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0xe28(%rbx,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r12
cmpb $0x0, 0xef9(%rbx,%rax)
jne 0x109cc
movq %r12, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r12)
movb $0x1, 0xe1(%r12)
movb $0x20, 0xe0(%r12)
movq 0x1a8(%rsp), %rax
movsd (%rax,%r15,8), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %r12
movl $0x5, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x4340
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21add(%rip), %rsi     # 0x32512
callq 0x4340
movq 0xe18(%rbx), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0xe28(%rbx,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r12
cmpb $0x0, 0xef9(%rbx,%rax)
jne 0x10a81
movq %r12, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r12)
movb $0x1, 0xe1(%r12)
movb $0x20, 0xe0(%r12)
movq 0x190(%rsp), %rax
movsd (%rax,%r15,8), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %r12
movl $0x5, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x4340
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21a4b(%rip), %rsi     # 0x32535
callq 0x4340
movq 0xe18(%rbx), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0xe28(%rbx,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r12
cmpb $0x0, 0xef9(%rbx,%rax)
jne 0x10b36
movq %r12, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r12)
movb $0x1, 0xe1(%r12)
movb $0x20, 0xe0(%r12)
movq 0x178(%rsp), %rax
movsd (%rax,%r15,8), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %r12
movl $0x5, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x4340
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x219b9(%rip), %rsi     # 0x32558
callq 0x4340
movq 0xe18(%rbx), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0xe28(%rbx,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r12
cmpb $0x0, 0xef9(%rbx,%rax)
jne 0x10beb
movq %r12, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r12)
movb $0x1, 0xe1(%r12)
movb $0x20, 0xe0(%r12)
movq 0x160(%rsp), %rax
movsd (%rax,%r15,8), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %r12
movl $0x5, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x4340
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21927(%rip), %rsi     # 0x3257b
callq 0x4340
movq 0xe18(%rbx), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0xe28(%rbx,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r12
cmpb $0x0, 0xef9(%rbx,%rax)
jne 0x10ca0
movq %r12, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r12)
movb $0x1, 0xe1(%r12)
movb $0x20, 0xe0(%r12)
movq 0x148(%rsp), %rax
movsd (%rax,%r15,8), %xmm0
movq %r14, %rdi
callq 0x4460
movq %rax, %r12
movl $0x5, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x4340
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21895(%rip), %rsi     # 0x3259e
callq 0x4340
movq 0xe18(%rbx), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0xe28(%rbx,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r12
cmpb $0x0, 0xef9(%rbx,%rax)
jne 0x10d55
movq %r12, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r12)
movb $0x1, 0xe1(%r12)
movb $0x20, 0xe0(%r12)
movq 0x300(%rbx), %rax
movsd (%rax,%r15,8), %xmm1
unpcklps 0x2038e(%rip), %xmm1    # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x20376(%rip), %xmm1    # 0x310f0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
leaq 0x10(%rsp), %rdi
callq 0x120c2
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq %r14, %rdi
callq 0x4340
movq %rax, %r12
movl $0x2, %edx
movq %rax, %rdi
leaq 0x22b6b(%rip), %rsi     # 0x3391f
callq 0x4340
movq 0x300(%rbx), %rax
movq (%rax,%r15,8), %rsi
movq %r12, %rdi
callq 0x41e0
movq %rax, %r12
movl $0x3, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x4340
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x10e23
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x4300
movl $0x22, %edx
movq %r14, %rdi
leaq 0x2178f(%rip), %rsi     # 0x325c1
callq 0x4340
movq 0xe18(%rbx), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0xe28(%rbx,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r12
cmpb $0x0, 0xef9(%rbx,%rax)
jne 0x10e7e
movq %r12, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r12)
movb $0x1, 0xe1(%r12)
movb $0x20, 0xe0(%r12)
movq 0x318(%rbx), %rax
movsd (%rax,%r15,8), %xmm1
unpcklps 0x20265(%rip), %xmm1    # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x2024d(%rip), %xmm1    # 0x310f0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
leaq 0x10(%rsp), %rdi
callq 0x120c2
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq %r14, %rdi
callq 0x4340
movq %rax, %r12
movl $0x2, %edx
movq %rax, %rdi
leaq 0x22a42(%rip), %rsi     # 0x3391f
callq 0x4340
movq 0x318(%rbx), %rax
movq (%rax,%r15,8), %rsi
movq %r12, %rdi
callq 0x41e0
movq %rax, %r12
movl $0x3, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x4340
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x10f4c
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x4300
movl $0x22, %edx
movq %r14, %rdi
leaq 0x21689(%rip), %rsi     # 0x325e4
callq 0x4340
movq 0xe18(%rbx), %rax
movq -0x18(%rax), %rcx
movq $0x7, 0xe28(%rbx,%rcx)
movq -0x18(%rax), %rax
leaq (%r14,%rax), %r12
cmpb $0x0, 0xef9(%rbx,%rax)
jne 0x10fa7
movq %r12, %rdi
movl $0x20, %esi
callq 0x42d0
movb %al, 0xe0(%r12)
movb $0x1, 0xe1(%r12)
movb $0x20, 0xe0(%r12)
movq 0x130(%rsp), %rax
movsd (%rax,%r15,8), %xmm1
unpcklps 0x2013b(%rip), %xmm1    # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x20123(%rip), %xmm1    # 0x310f0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
leaq 0x10(%rsp), %rdi
callq 0x120c2
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq %r14, %rdi
callq 0x4340
movq %rax, %r12
movl $0x2, %edx
movq %rax, %rdi
leaq 0x22918(%rip), %rsi     # 0x3391f
callq 0x4340
movq 0x130(%rsp), %rax
movq (%rax,%r15,8), %rsi
movq %r12, %rdi
callq 0x41e0
movq %rax, %r12
movl $0x3, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x4340
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x110a1
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x4300
incq %r15
leaq 0x2b3fd(%rip), %rax     # 0x3c4a8
movslq (%rax), %rax
cmpq %rax, %r15
jl 0x104ce
leaq 0x21549(%rip), %rsi     # 0x32607
movl $0x5d, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq 0x100(%rsp), %rdi
testq %rdi, %rdi
je 0x1110f
movq 0x110(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x118(%rsp), %rdi
testq %rdi, %rdi
je 0x1112c
movq 0x128(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x130(%rsp), %rdi
testq %rdi, %rdi
je 0x11149
movq 0x140(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x148(%rsp), %rdi
testq %rdi, %rdi
je 0x11166
movq 0x158(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x160(%rsp), %rdi
testq %rdi, %rdi
je 0x11183
movq 0x170(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x178(%rsp), %rdi
testq %rdi, %rdi
je 0x111a0
movq 0x188(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x190(%rsp), %rdi
testq %rdi, %rdi
je 0x111bd
movq 0x1a0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x1a8(%rsp), %rdi
testq %rdi, %rdi
je 0x111da
movq 0x1b8(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x1c0(%rsp), %rdi
testq %rdi, %rdi
je 0x111f7
movq 0x1d0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x1121c
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x4300
addq $0x278, %rsp            # imm = 0x278
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x112ba
movq %rax, %rbx
jmp 0x112da
movq %rax, %rbx
jmp 0x112f7
movq %rax, %rbx
jmp 0x11314
movq %rax, %rbx
jmp 0x11331
movq %rax, %rbx
jmp 0x1134e
movq %rax, %rbx
jmp 0x1136b
movq %rax, %rbx
jmp 0x11388
movq %rax, %rbx
jmp 0x113a5
jmp 0x11285
jmp 0x11285
movq %rax, %rbx
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x112a4
movq %rax, %rbx
jmp 0x113c2
jmp 0x112ba
jmp 0x112ba
jmp 0x112ba
jmp 0x11297
jmp 0x11297
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x112bd
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x4300
jmp 0x112bd
jmp 0x112ba
movq %rax, %rbx
movq 0x100(%rsp), %rdi
testq %rdi, %rdi
je 0x112da
movq 0x110(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x118(%rsp), %rdi
testq %rdi, %rdi
je 0x112f7
movq 0x128(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x130(%rsp), %rdi
testq %rdi, %rdi
je 0x11314
movq 0x140(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x148(%rsp), %rdi
testq %rdi, %rdi
je 0x11331
movq 0x158(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x160(%rsp), %rdi
testq %rdi, %rdi
je 0x1134e
movq 0x170(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x178(%rsp), %rdi
testq %rdi, %rdi
je 0x1136b
movq 0x188(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x190(%rsp), %rdi
testq %rdi, %rdi
je 0x11388
movq 0x1a0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x1a8(%rsp), %rdi
testq %rdi, %rdi
je 0x113a5
movq 0x1b8(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x1c0(%rsp), %rdi
testq %rdi, %rdi
je 0x113c2
movq 0x1d0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x113e7
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x4300
movq %rbx, %rdi
callq 0x4540
nop