PpmEventTraceHeteroDistributeUtility

CHAR __fastcall PpmEventTraceHeteroDistributeUtility(INT64 a1, CHAR a2, EVENT_DESCRIPTOR *a3){
  void **v3; 
  UINT64 v5; 
  UINT64 UserDataCount; 
  EVENT_DATA_DESCRIPTOR UserData; 
  INT64 v9; 
  int v10; 
  int v11; 
  CHAR *v12; 
  int v13; 
  int v14; 
  char *v15; 
  int v16; 
  int v17; 
  void *retaddr; 
  CHAR v19; 
  char v20; 
  v3 = &retaddr;
  v20 = (char)a3;
  v19 = a2;
  if( PpmEtwRegistered )
  {
    v5 = PpmEtwHandle;
    LOBYTE(v3) = EtwEventEnabled(PpmEtwHandle, (EVENT_DESCRIPTOR *)&PPM_ETW_HETERO_DISTRIBUTE_UTILITY, a3);
    if( (_BYTE)v3 )
    {
      UserData.Reserved = 0;
      v11 = 0;
      v14 = 0;
      v17 = 0;
      UserData.Ptr = a1 + 4;
      v13 = 1;
      v9 = a1 + 8;
      v12 = &v19;
      v15 = &v20;
      LODWORD(UserDataCount) = 4;
      v16 = 1;
      UserData.Size = 2;
      v10 = 8;
      LOBYTE(v3) = EtwWriteEx(
                     v5,
                     (EVENT_DESCRIPTOR *)&PPM_ETW_HETERO_DISTRIBUTE_UTILITY,
                     0i64,
                     0i64,
                     0i64,
                     0i64,
                     UserDataCount,
                     &UserData);
    }
  }
  return(char)v3;
}

Referenced by:

PpmHeteroDistributeUtility