HvlQueryStartedProcessors

NTSTATUS __fastcall HvlQueryStartedProcessors(UINT64 *a1, INT64 *a2){
  NTSTATUS result; 
  NTSTATUS v5; 
  size_t v6; 
  size_t v7; 
  int *v8; 
  __int64 v9; 
  int v10; 

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

Referenced by:

EtwpQueryUsedProcessorCount