PopDiagTraceIllegalProcessorThrottle

VOID __stdcall PopDiagTraceIllegalProcessorThrottle(
        UINT64 ProcessorId,
        UINT64 ThrottleMSR,
        _LARGE_INTEGER *LastLogTickCount){
  char v3; 
  char v4; 
  char v6; 
  signed __int64 v7; 
  int v8; 
  _EVENT_DATA_DESCRIPTOR UserData; 
  UINT64 *v10; 
  int v11; 
  int v12; 
  int *v13; 
  int v14; 
  int v15; 
  int *v16; 
  int v17; 
  int v18; 
  int v19; 
  UINT64 v20; 

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

Referenced by:

PpmPerfCheckForIllegalProcessorThrottle
PpmPerfSnapDeliveredPerformance