PiDevCfgLogDeviceMigrated

CHAR __fastcall PiDevCfgLogDeviceMigrated(INT64 a1, INT64 a2, INT64 a3){
  CHAR result; 
  int v4; 
  const WCHAR *v6; 
  __int64 v7; 
  const WCHAR *v8; 
  INT64 v9; 
  const EVENT_DESCRIPTOR *v10; 
  __int64 v11; 
  int v12; 
  result = byte_140C130BA;
  v4 = a3;
  if( (byte_140C130BA & 8) != 0 && (byte_140C130BA & 0x20) != 0 && (byte_140C130BA & 0x10) != 0 )
  {
    v6 = &dword_14098BF74;
    if( v4 < 0 )
    {
      v7 = *(_QWORD *)(a2 + 152);
      v12 = *(_DWORD *)(a2 + 176);
      v11 = *(_QWORD *)(a2 + 184);
      v8 = *(const WCHAR **)(a2 + 32);
      if( (*(_DWORD *)(a2 + 16) & 3) != 0 )
      {
        if( v7 )
          v6 = *(const WCHAR **)(a2 + 152);
        v9 = a2 + 80;
        v10 = (const EVENT_DESCRIPTOR *)KMPnPEvt_DeviceMigrate_Warning;
      }
      else
      {
        if( v7 )
          v6 = *(const WCHAR **)(a2 + 152);
        v9 = a2 + 80;
        v10 = &KMPnPEvt_DeviceMigrate_Failure;
      }
      return McTemplateK0zzjzitd_EtwWriteTransfer(
               v9,
               v10,
               (INT64)v6,
               *(const WCHAR **)(a1 + 8),
               v8,
               v9,
               v6,
               v11,
               v12,
               v4);
    }
    else
    {
      if( *(_QWORD *)(a2 + 152) )
        v6 = *(const WCHAR **)(a2 + 152);
      return McTemplateK0zzjzitd_EtwWriteTransfer(
               a2 + 80,
               (const EVENT_DESCRIPTOR *)KMPnPEvt_DeviceMigrate_Success,
               (INT64)v6,
               *(const WCHAR **)(a1 + 8),
               *(const WCHAR **)(a2 + 32),
               a2 + 80,
               v6,
               *(_QWORD *)(a2 + 184),
               *(_DWORD *)(a2 + 176),
               v4);
    }
  }
  return result;
}

Referenced by:

PiDevCfgMigrateDevice