MiLocatePagefileSubsection

unsigned int *__fastcall MiLocatePagefileSubsection(unsigned int *a1, unsigned __int64 *a2){
  unsigned __int64 v3; 
  unsigned int *v4; 
  unsigned __int64 v5; 
  bool v6; 
  unsigned __int64 v8; 
  unsigned __int64 v9; 
  unsigned __int64 v10; 
  unsigned __int64 v11; 
  unsigned __int64 v12; 
  v3 = *a2;
  v4 = a1;
  v5 = *(unsigned int *)(*(_QWORD *)a1 + 96i64);
  if( (*(_DWORD *)(*(_QWORD *)a1 + 56i64) & 0x1000) != 0 )
  {
    v6 = a1[12] < 0x40000000;
  }
  else
  {
    v6 = a1[12] < 0x40000000;
    if( a1[12] < 0x40000000 )
    {
      if( v3 < a1[11] )
        return v4;
      return 0i64;
    }
  }
  v8 = (-(__int64)v6 & 0xFFFFFFFFFFFE0000ui64) + 0x40000;
  v9 = v3 / v8;
  v10 = v3 % v8;
  v11 = (unsigned int)(v3 / v8);
  v12 = v11 + 1;
  if( !v10 )
    v12 = v11;
  if( v12 <= v5 )
  {
    v4 += 22 * v9;
    if( v10 < v4[11] )
    {
      *a2 = v10;
      return v4;
    }
  }
  return 0i64;
}

Referenced by:

MiAdvanceVadView
MiMapViewOfDataSection
MiOffsetToProtos
MiSkipEntirePagefileRegions
MiUpdateCfgSystemWideBitmapWorker
MiZeroCfgSystemWideBitmapWorker
MmCommitSessionMappedView