HvlCalculateLivedumpSize
INT64 __fastcall HvlCalculateLivedumpSize(_QWORD *a1, _QWORD *a2, _QWORD *a3){
unsigned int v3;
bool v4;
if( (HvlpRootFlags & 2) != 0 && (v3 = 0, qword_140C472C8) && HvlpHypervisorStatsPage )
{
v4 = VslVsmEnabled == 0;
*a1 = (*(_QWORD *)(HvlpHypervisorStatsPage + 24)
+ 256i64
+ ((((unsigned __int64)(*(_QWORD *)(HvlpHypervisorStatsPage + 24) + 767i64) >> 9) + 511) >> 9)
+ ((unsigned __int64)(*(_QWORD *)(HvlpHypervisorStatsPage + 24) + 767i64) >> 9)
+ ((((((unsigned __int64)(*(_QWORD *)(HvlpHypervisorStatsPage + 24) + 767i64) >> 9) + 511) >> 9) + 511) >> 9)
+ 1) << 12;
if( v4 )
{
*a3 = (unsigned __int64)(unsigned int)dword_140C472D8 << 12;
*a2 = 0i64;
}
else
{
return(unsigned int)VslLiveDumpQuerySecondaryDataSize(a2, a3);
}
}
else
{
return(unsigned int)-1073741637;
}
return v3;
}Referenced by:
IopLiveDumpEstimateMemoryPages