PopLogNotifyDevice

void __fastcall PopLogNotifyDevice(__int64 a1, __int64 a2, __int64 a3){
  __int64 v6; 
  __int64 v7; 
  __int64 v8; 
  __int64 v9; 
  int v10; 
  UINT64 Flag; 
  INT64 result[2]; 
  char v13; 
  char v14; 
  char v15; 
  int v16; 
  int v17; 
  WCHAR pszDest[112]; 
  EVENT_DATA_DESCRIPTOR EventData; 
  memset((INT64)result, 0i64);
  if( (*(_WORD *)(&PerfGlobalGroupMask + 2) & 0x8000) != 0 )
  {
    v6 = *(_QWORD *)(a3 + 184);
    v7 = *(_QWORD *)(a1 + 8);
    result[0] = a3;
    result[1] = *(_QWORD *)(v7 + 24);
    v14 = *(_BYTE *)(v6 - 72);
    v15 = *(_BYTE *)(v6 - 71);
    v16 = *(_DWORD *)(v6 - 56);
    v17 = *(_DWORD *)(v6 - 48);
    if( a2 )
    {
      v8 = *(_QWORD *)(a2 + 72);
      v13 = *(_BYTE *)(a2 + 56);
      if( v8 )
      {
        v9 = -1i64;
        do
          ++v9;
        while( *(_WORD *)(v8 + 2 * v9) );
        v10 = v9;
        if( (unsigned int)v9 > 0x6C )
          v10 = 108;
        RtlStringCchCopyW(pszDest, 0x6Dui64, (PWCHAR)(v8 + 2i64 * (unsigned int)(v9 - v10)));
        goto LABEL_11;
      }
    }
    else
    {
      v13 = 0;
    }
    pszDest[0] = 0;
    v10 = 0;
LABEL_11:
    EventData.Reserved = 0;
    EventData.Ptr = (unsigned __int64)result;
    LODWORD(Flag) = 4200450;
    EventData.Size = 2 * v10 + 40;
    EtwTraceKernelEvent(&EventData, 1ui64, 0x80008000ui64, 0x1226u, Flag);
  }
}

Referenced by:

PopNotifyDevice
PopRequestPowerIrp