EtwpCoverageSamplerAllocateTable

CHAR *__stdcall EtwpCoverageSamplerAllocateTable(INT64 a1){
  int v1; 
  VOID **PoolWithTag; 
  VOID **v3; 
  VOID **v4; 

  v1 = a1;
  PoolWithTag = ExAllocatePoolWithTag(1ui64, 0x20ui64, 1450669125i64);
  v3 = PoolWithTag;
  if( PoolWithTag )
  {
    *(_OWORD *)PoolWithTag = 0i64;
    *((_OWORD *)PoolWithTag + 1) = 0i64;
    v4 = ExAllocatePoolWithTag(1ui64, (unsigned int)(8 * v1), 1450669125i64);
    v3[3] = v4;
    if( !v4 )
    {
      ExFreePoolWithTag(v3, 0x56777445u);
      return 0i64;
    }
    memset(v4, 0i64, 8 * v1);
    *((_DWORD *)v3 + 5) = v1;
  }
  return(CHAR *)v3;
}

Referenced by:

EtwpCovSampHashMakeRoomAndAcquireLock
EtwpCoverageSamplerStart