PopDiagTraceIllegalProcessorThrottle

VOID __stdcall PopDiagTraceIllegalProcessorThrottle(
        UINT64 ProcessorId,
        UINT64 ThrottleMSR,
        LARGE_INTEGER *LastLogTickCount){
  char v3; 
  char v4; 
  char v6; 
  signed __int64 v7; 
  UINT64 UserDataCount; 
  int v9; 
  EVENT_DATA_DESCRIPTOR UserData; 
  UINT64 *v11; 
  int v12; 
  int v13; 
  int *v14; 
  int v15; 
  int v16; 
  int *v17; 
  int v18; 
  int v19; 
  int v20; 
  UINT64 v21; 
  v21 = ThrottleMSR;
  v20 = ProcessorId;
  v3 = PopDiagHandleRegistered;
  v4 = 1;
  v6 = 1;
  if( !PopDiagHandleRegistered
    || !EtwEventEnabled(
          PopDiagHandle,
          (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_ILLEGAL_PROCESSOR_THROTTLE_DIAGNOSTIC,
          (EVENT_DESCRIPTOR *)LastLogTickCount) )
  {
    v4 = 0;
  }
  if( !v3
    || !EtwEventEnabled(
          PopDiagHandle,
          (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_ILLEGAL_PROCESSOR_THROTTLE_OPERATIONAL,
          (EVENT_DESCRIPTOR *)LastLogTickCount) )
  {
    v6 = 0;
  }
  if( v4 || v6 )
  {
    UserData.Reserved = 0;
    v13 = 0;
    UserData.Ptr = (unsigned __int64)&v20;
    UserData.Size = 4;
    v11 = &v21;
    v12 = 8;
    if( LastLogTickCount->QuadPart )
      v7 = (signed __int64)(KeMaximumIncrement * (KUSER_SHARED_DATA.TickCountQuad - LastLogTickCount->QuadPart))
         / 10000000;
    else
      LODWORD(v7) = 0;
    v16 = 0;
    v19 = 0;
    v14 = &v9;
    v17 = &PopProcessorThrottleLogInterval;
    v9 = v7;
    *LastLogTickCount = (LARGE_INTEGER)KUSER_SHARED_DATA.TickCountQuad;
    v15 = 4;
    v18 = 4;
    if( v4 )
    {
      LODWORD(UserDataCount) = 4;
      EtwWriteEx(
        PopDiagHandle,
        (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_ILLEGAL_PROCESSOR_THROTTLE_DIAGNOSTIC,
        0i64,
        0i64,
        0i64,
        0i64,
        UserDataCount,
        &UserData);
    }
    if( v6 )
    {
      LODWORD(UserDataCount) = 4;
      EtwWriteEx(
        PopDiagHandle,
        (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_ILLEGAL_PROCESSOR_THROTTLE_OPERATIONAL,
        0i64,
        0i64,
        0i64,
        0i64,
        UserDataCount,
        &UserData);
    }
  }
}

Referenced by:

PpmPerfCheckForIllegalProcessorThrottle
PpmPerfSnapDeliveredPerformance