PopFxDuplicateUniqueId

NTSTATUS __stdcall PopFxDuplicateUniqueId(UNICODE_STRING *InputId, UNICODE_STRING *UniqueId){
  __int64 Length; 
  unsigned __int16 v5; 
  UINT8 *PoolWithTag; 
  NTSTATUS v7; 
  wchar_t *v8; 
  Length = InputId->Length;
  if( InputId->MaximumLength < (unsigned __int64)(Length + 2) )
    return -1073741811;
  v5 = Length + 2;
  PoolWithTag = (UINT8 *)ExAllocatePoolWithTag(NonPagedPoolNx, v5, 0x4D584650ui64);
  v7 = 0;
  v8 = (wchar_t *)PoolWithTag;
  if( !PoolWithTag )
    return -1073741670;
  memmove(PoolWithTag, (UINT8 *)InputId->Buffer, v5);
  UniqueId->Length = InputId->Length;
  UniqueId->Buffer = v8;
  UniqueId->MaximumLength = v5;
  return v7;
}

Referenced by:

PopFxCreateDeviceCommon