PpmEventProcessorVetoRequest

char __fastcall PpmEventProcessorVetoRequest(__int64 a1, int a2, EVENT_DESCRIPTOR *a3, char a4){
  const EVENT_DESCRIPTOR *v4; 
  EVENT_DESCRIPTOR *v5; 
  UINT64 v7; 
  __int16 v8; 
  UINT64 UserDataCount; 
  __int16 v11; 
  struct _EVENT_DATA_DESCRIPTOR UserData; 
  __int64 v13; 
  int v14; 
  int v15; 
  int *v16; 
  int v17; 
  int v18; 
  int *v19; 
  int v20; 
  int v21; 
  int v22; 
  int v23; 
  v23 = (int)a3;
  v22 = a2;
  v4 = &PPM_ETW_PROCESSOR_IDLE_VETO_INCREMENT;
  v5 = (EVENT_DESCRIPTOR *)PPM_ETW_PROCESSOR_IDLE_VETO_DECREMENT;
  if( a4 )
    v5 = (EVENT_DESCRIPTOR *)&PPM_ETW_PROCESSOR_IDLE_VETO_INCREMENT;
  if( PpmEtwRegistered )
  {
    v7 = PpmEtwHandle;
    LOBYTE(v4) = EtwEventEnabled(PpmEtwHandle, v5, a3);
    if( (_BYTE)v4 )
    {
      v8 = *(unsigned __int8 *)(a1 + 208);
      UserData.Reserved = 0;
      v15 = 0;
      v18 = 0;
      v21 = 0;
      v11 = v8;
      UserData.Ptr = (unsigned __int64)&v11;
      v13 = a1 + 209;
      v16 = &v22;
      v19 = &v23;
      LODWORD(UserDataCount) = 4;
      v17 = 4;
      v20 = 4;
      UserData.Size = 2;
      v14 = 1;
      LOBYTE(v4) = EtwWriteEx(v7, v5, 0i64, 0i64, 0i64, 0i64, UserDataCount, &UserData);
    }
  }
  return(char)v4;
}

Referenced by:

PpmUpdateProcessorIdleVeto