PerfInfoLogInterrupt

VOID __stdcall PerfInfoLogInterrupt(_KINTERRUPT *Interrupt, UINT64 Data, _ETW_KERNEL_TRACE_TIMESTAMP *TimeStamp){
  int v4; 
  UINT16 v5; 
  unsigned int v6; 
  bool i; 
  unsigned int v8; 
  __int64 v9; 
  __int64 v10; 
  __int64 v11; 
  void *MessageServiceRoutine; 
  int v13; 
  unsigned int MessageIndex; 
  __int64 v15[3]; 
  int v16; 
  int v17; 

  MessageIndex = 0;
  if( Interrupt->SynchronizeIrql )
  {
    if( Interrupt->MessageServiceRoutine )
    {
      MessageServiceRoutine = Interrupt->MessageServiceRoutine;
      v4 = 16;
      v5 = 3890;
      MessageIndex = Interrupt->MessageIndex;
    }
    else
    {
      v5 = 3907;
      MessageServiceRoutine = Interrupt->ServiceRoutine;
      v4 = 12;
    }
  }
  else
  {
    v5 = 3935;
    MessageServiceRoutine = Interrupt->ServiceRoutine;
    v4 = 12;
  }
  v13 = Data;
  v15[2] = (__int64)&MessageServiceRoutine;
  v16 = v4;
  v17 = 0;
  v6 = *(_DWORD *)(EtwpHostSiloState + 4224);
  for( i = !_BitScanForward(&v8, v6); !i; i = !_BitScanForward(&v8, v6) )
  {
    v6 &= v6 - 1;
    v9 = v8;
    v10 = 32i64 * v8 + EtwpHostSiloState + 4260;
    if( v10 )
    {
      if( (*(_DWORD *)(v10 + 4) & 0x4000) != 0 )
      {
        v11 = *(unsigned __int8 *)(EtwpHostSiloState + 2 * v9 + 4209) - 1i64;
        v15[1] = 8i64;
        v15[0] = (__int64)&TimeStamp->KernelTraceTimeStamp[v11];
        EtwpLogKernelEvent(
          (__int64)v15,
          (_ETW_SILODRIVERSTATE *)EtwpHostSiloState,
          *(unsigned __int8 *)(EtwpHostSiloState + 2 * v9 + 4208),
          2u,
          v5,
          0x400A02u);
      }
    }
  }
}

Referenced by:

KiInterruptSubDispatch
KiInterruptSubDispatchNoLock
KiInvokeInterruptServiceRoutine
KiScanInterruptObjectList