CMFGetLargePageSectionSize
NTSTATUS __stdcall CMFGetLargePageSectionSize(LARGE_INTEGER *FileSize, LARGE_INTEGER *SectionSize){
NTSTATUS v2;
unsigned __int64 v5;
LONGLONG QuadPart;
unsigned __int64 v7;
unsigned __int64 v8;
unsigned __int64 v9;
v2 = 0;
v5 = (unsigned __int64)KUSER_SHARED_DATA.LargePageMinimum >> 12;
if( !v5 )
return -1073741637;
QuadPart = FileSize->QuadPart;
v7 = ((unsigned __int64)FileSize->QuadPart >> 12) + ((FileSize->QuadPart & 0xFFF) != 0);
v8 = (unsigned int)v7 % v5;
if( v8 )
{
v9 = (v5 << 12) - 4095 + (v7 << 12) - (v8 << 12);
SectionSize->QuadPart = v9;
if( ((v9 >> 12) + ((v9 & 0xFFF) != 0)) % v5 || SectionSize->HighPart || SectionSize->LowPart < FileSize->LowPart )
return -1073741823;
}
else
{
SectionSize->QuadPart = QuadPart;
}
return v2;
}Referenced by:
CMFSystemThreadRoutine