MiValidateKernelHalLargePageRange

INT64 __stdcall MiValidateKernelHalLargePageRange(UINT64 a1, UINT64 a2, INT64 a3){
  _MMPTE *PdeBase; 
  unsigned __int64 v5; 
  unsigned __int64 v6; 
  char *v7; 
  char *v8; 
  UINT64 v10; 
  if( (a3 & 0x20000000) != 0 )
  {
    PdeBase = MmGetPdeBase();
    v5 = (unsigned __int64)PdeBase + ((a2 >> 18) & 0x3FFFFFF8);
    v6 = (unsigned __int64)PdeBase + ((a1 >> 18) & 0x3FFFFFF8);
    if( v6 < v5 )
    {
      MiPteInShadowRange((UINT64)&v10);
      do
      {
        v10 = MI_READ_PTE_LOCK_FREE(v6);
        v7 = (char *)MmGetPfnDb() + 48 * ((v10 >> 12) & 0xFFFFFFFFFi64);
        v8 = v7 + 24576;
        while( v7 < v8 )
        {
          *((_QWORD *)v7 + 2) = *((_QWORD *)v7 + 2) & 0xFFFFFFFFFFFFFC1Fui64 | 0x60;
          MiMarkPfnVerified((UINT64)v7, 0);
          v7 += 48;
        }
        v6 += 8i64;
      }
      while( v6 < v5 );
    }
  }
  return 0i64;
}

Referenced by:

No references.