MiComputeNextWalkPte

NTSTATUS __stdcall MiComputeNextWalkPte(INT64 a1, INT64 a2){
  unsigned __int64 PteBase; 
  INT64 v4; 
  unsigned __int64 i; 

  if( (_DWORD)a2 == 1 )
    return a1 + 8;
  PteBase = (unsigned __int64)MmGetPteBase();
  v4 = (__int64)((a1 << 25) - (PteBase << 25) + 0x10000000) >> 16;
  for( i = (__int64)((v4 << 25) - (PteBase << 25)) >> 16; i >= PteBase; i = (__int64)((i << 25) - (PteBase << 25)) >> 16 )
  {
    if( i > (unsigned __int64)MmGetPteLimit() )
      break;
    LODWORD(v4) = i;
  }
  return v4;
}

Referenced by:

MiTrimPte