IopPerfLogCallEvent

VOID __stdcall IopPerfLogCallEvent(_DRIVER_OBJECT *DriverObject, _IRP *Irp, UINT64 MatchId){
  __int64 v3; 
  int v4; 
  __int64 v5; 
  UINT64 Flag; 
  int v7[2]; 
  int(__fastcall *v8)(_DEVICE_OBJECT *, _IRP *); 
  __int64 v9; 
  _IRP *v10; 
  int v11; 
  EVENT_DATA_DESCRIPTOR EventData; 
  v9 = 0i64;
  v3 = *((_QWORD *)Irp + 23);
  v7[0] = *(unsigned __int8 *)(v3 - 72);
  v7[1] = *(unsigned __int8 *)(v3 - 71);
  v4 = *((_DWORD *)Irp + 4);
  v8 = DriverObject->MajorFunction[*(unsigned __int8 *)(v3 - 72)];
  v10 = Irp;
  v11 = MatchId;
  if( (v4 & 8) != 0 )
  {
    v5 = *((_QWORD *)Irp + 3);
    if( v5 )
      v5 = *(_QWORD *)(v5 + 192);
  }
  else
  {
    v5 = *((_QWORD *)Irp + 24);
  }
  v9 = v5;
  if( v5 )
  {
    if( *(_QWORD *)(v5 + 24) )
      v5 = *(_QWORD *)(v5 + 24);
    v9 = v5;
  }
  EventData.Reserved = 0;
  EventData.Ptr = (unsigned __int64)v7;
  EventData.Size = 36;
  LODWORD(Flag) = 4200450;
  EtwTraceKernelEvent(&EventData, 1ui64, 0x20000010ui64, 0x122u, Flag);
}

Referenced by:

IopPerfCallDriver