MiPageFileLargestBitmapsRun

__int64 __fastcall MiPageFileLargestBitmapsRun(__int64 a1){
  volatile LONG *v1; 
  unsigned int v3; 
  unsigned __int64 v4; 
  unsigned __int64 v5; 
  unsigned __int64 v6; 
  unsigned __int64 v7; 
  unsigned __int64 v8; 
  __int64 i; 
  unsigned int v10; 
  v1 = (volatile LONG *)(a1 + 232);
  v3 = 0;
  v4 = ExAcquireSpinLockShared((PEX_SPIN_LOCK)(a1 + 232));
  v5 = *(_QWORD *)(a1 + 144);
  if( (*(_BYTE *)(a1 + 152) & 1) != 0 && v5 )
    v5 ^= a1 + 144;
  v6 = 0i64;
  while( v5 )
  {
    if( *(_DWORD *)(v5 + 52) == -1 )
    {
      if( !*(_DWORD *)(v5 + 48) )
        goto LABEL_13;
      v7 = *(_QWORD *)v5;
      v6 = v5;
    }
    else
    {
      v7 = *(_QWORD *)(v5 + 8);
    }
    if( (*(_BYTE *)(a1 + 152) & 1) != 0 && v7 )
      v5 ^= v7;
    else
      v5 = v7;
  }
  v5 = v6;
LABEL_13:
  v8 = *(_QWORD *)v5;
  if( *(_QWORD *)v5 )
  {
    for( ; *(_QWORD *)(v8 + 8); v8 = *(_QWORD *)(v8 + 8) )
      ;
  }
  else
  {
    for( i = *(_QWORD *)(v5 + 16); ; i = *(_QWORD *)(v8 + 16) )
    {
      v8 = i & 0xFFFFFFFFFFFFFFFCui64;
      if( !v8 || *(_QWORD *)(v8 + 8) == v5 )
        break;
      v5 = v8;
    }
  }
  if( v8 )
    v3 = *(_DWORD *)(v8 + 52);
  v10 = *(_DWORD *)(a1 + 140);
  if( v3 > v10 )
    v10 = v3;
  ExReleaseSpinLockSharedFromDpcLevel(v1);
  __writecr8(v4);
  return v10;
}

Referenced by:

MiFindBestOutswapPagefile
MiFindFreePageFileSpace
MiGatherPagefilePages
MiGetKernelStackSwapSupport
MiTrimUnusedPageFileRegionsWorker