HvlQueryActiveProcessors

NTSTATUS __stdcall HvlQueryActiveProcessors(UINT64 *Count, UINT64 *Processors){
  NTSTATUS result; 
  NTSTATUS v5; 
  unsigned int v6; 
  unsigned int v7; 
  int *v8; 
  __int64 v9; 
  int v10; 

  if( (HvlpFlags & 2) == 0 )
    return -1073741790;
  v5 = 0;
  if( !Count )
    return -1073741811;
  if( Processors )
  {
    v6 = *(_DWORD *)Count;
    v7 = v6;
    if( HvlpActiveProcessorCount < v6 )
      v7 = HvlpActiveProcessorCount;
    if( v7 )
    {
      v8 = dword_140D032E4;
      v9 = v7;
      do
      {
        v10 = *v8;
        v8 += 30;
        *(_DWORD *)Processors = v10;
        Processors = (UINT64 *)((char *)Processors + 4);
        --v9;
      }
      while( v9 );
      v6 = *(_DWORD *)Count;
    }
    v5 = v6 < HvlpActiveProcessorCount ? 0xC0000023 : 0;
  }
  result = v5;
  *(_DWORD *)Count = HvlpActiveProcessorCount;
  return result;
}

Referenced by:

ExpQuerySystemInformation