KeStartProfile

char __fastcall KeStartProfile(ULONG_PTR a1){
  int MaximumProcessorCount; 
  void *PoolWithTag; 
  ULONG_PTR Context; 
  int v6; 
  int v7; 
  int v8; 
  INT64 result[20]; 
  PVOID P; 
  char v11; 
  memset((INT64)result + 4, 0i64);
  v7 = KeNumberProcessors_0;
  v6 = KeNumberProcessors_0;
  v8 = 1310721;
  Context = a1;
  memset((INT64)result, 0i64);
  MaximumProcessorCount = KeQueryMaximumProcessorCountEx(0xFFFFu);
  PoolWithTag = ExAllocatePoolWithTag(NonPagedPoolNx, (unsigned int)(4 * MaximumProcessorCount + 196), 0x666F7250ui64);
  P = PoolWithTag;
  if( !PoolWithTag )
    return 1;
  memset((INT64)PoolWithTag, 0i64);
  if( (unsigned int)KeNumberProcessors_0 <= 1 )
    KiStartProfileTarget((UINT64)&Context);
  else
    KeIpiGenericCall((PKIPI_BROADCAST_WORKER)KiStartProfileTarget, &Context);
  if( P )
    ExFreePoolWithTag(P, 0x666F7250u);
  return v11;
}

Referenced by:

EtwpCoverageSamplerStart
EtwpEnableKernelTrace
KiInitializeCacheErrataSupport
NtStartProfile