PpmEventTraceProfileSetting

char __fastcall PpmEventTraceProfileSetting(
        char a1,
        __int64 a2,
        __int64 a3,
        char a4,
        __int64 a5,
        int a6,
        int a7,
        char a8){
  void **v8; 
  EVENT_DESCRIPTOR *v11; 
  __int64 v12; 
  EVENT_DESCRIPTOR *v13; 
  BOOL v15; 
  EVENT_DATA_DESCRIPTOR UserData; 
  __int64 v17; 
  int v18; 
  int v19; 
  BOOL *v20; 
  int v21; 
  int v22; 
  char *v23; 
  int v24; 
  int v25; 
  __int64 v26; 
  int v27; 
  int v28; 
  int *v29; 
  int v30; 
  int v31; 
  __int64 v32; 
  int v33; 
  int v34; 
  void *retaddr; 
  char v36; 
  char v37; 
  v8 = &retaddr;
  v37 = a4;
  v36 = a1;
  if( PpmEtwRegistered )
  {
    v11 = (EVENT_DESCRIPTOR *)&PPM_ETW_PROCESSOR_PROFILE_SETTING_CHANGE;
    if( a8 )
      v11 = (EVENT_DESCRIPTOR *)&PPM_ETW_PROCESSOR_PROFILE_SETTING_RUNDOWN;
    LOBYTE(v8) = EtwEventEnabled(PpmEtwHandle, v11, (EVENT_DESCRIPTOR *)a3);
    if( (_BYTE)v8 )
    {
      v17 = a2;
      UserData.Size = 1;
      UserData.Reserved = 0;
      v15 = a7 != 0;
      UserData.Ptr = (unsigned __int64)&v36;
      v12 = -1i64;
      do
        ++v12;
      while( *(_BYTE *)(a2 + v12) );
      v19 = 0;
      v22 = 0;
      v25 = 0;
      v28 = 0;
      v31 = 0;
      v34 = 0;
      v18 = v12 + 1;
      v20 = &v15;
      v23 = &v37;
      v29 = &a6;
      v32 = a5;
      v33 = a6;
      v21 = 4;
      v24 = 1;
      v13 = (EVENT_DESCRIPTOR *)&PPM_ETW_PROCESSOR_PROFILE_SETTING_RUNDOWN;
      v30 = 4;
      v26 = a3;
      v27 = 16;
      if( !a8 )
        v13 = (EVENT_DESCRIPTOR *)&PPM_ETW_PROCESSOR_PROFILE_SETTING_CHANGE;
      LOBYTE(v8) = EtwWrite(PpmEtwHandle, v13, 0i64, 7ui64, &UserData);
    }
  }
  return(char)v8;
}

Referenced by:

PpmInfoTraceProfileSettings
PpmSetProfilePolicySetting