PnpLogDuplicateDevice

void __fastcall PnpLogDuplicateDevice(WCHAR *SourceString, WCHAR *a2, WCHAR a3){
  unsigned __int16 Length; 
  _UNICODE_STRING DestinationString; 
  _UNICODE_STRING v6; 

  DestinationString = 0i64;
  v6 = 0i64;
  RtlInitUnicodeString(&DestinationString, SourceString);
  RtlInitUnicodeString(&v6, a2);
  if( (unsigned __int64)v6.MaximumLength + 2 > 0xF0 )
  {
    v6.Length = 238;
    Length = 0;
    goto LABEL_6;
  }
  if( v6.MaximumLength + (unsigned int)DestinationString.MaximumLength > 0xF0 )
  {
    Length = 238 - v6.MaximumLength;
LABEL_6:
    DestinationString.Length = Length;
    goto LABEL_7;
  }
  Length = DestinationString.Length;
LABEL_7:
  PnpLogEvent(
    (const VOID **)((unsigned __int64)&DestinationString & -(__int64)(Length != 0)),
    (const VOID **)&v6,
    -1073479624,
    0i64,
    0);
}

Referenced by:

PiProcessNewDeviceNode