PnpDuplicateUnicodeString

char __fastcall PnpDuplicateUnicodeString(__int64 a1, __int64 a2){
  VOID *StringRoutine; 

  if( *(_QWORD *)(a2 + 8) )
  {
    StringRoutine = ExpAllocateStringRoutine(*(unsigned __int16 *)(a2 + 2));
    *(_QWORD *)(a1 + 8) = StringRoutine;
    if( !StringRoutine )
      return(char)StringRoutine;
    memmove(StringRoutine, *(const VOID **)(a2 + 8), *(unsigned __int16 *)(a2 + 2));
  }
  else
  {
    *(_QWORD *)(a1 + 8) = 0i64;
  }
  *(_WORD *)a1 = *(_WORD *)a2;
  *(_WORD *)(a1 + 2) = *(_WORD *)(a2 + 2);
  LOBYTE(StringRoutine) = 1;
  return(char)StringRoutine;
}

Referenced by:

PiDevCfgAppendMultiSz
PiDevCfgBuildIndirectString
PiDevCfgConfigureDevice
PiDevCfgConfigureDeviceLocation
PiDevCfgProcessDeviceCallback
PiDevCfgQueryDriverNode
PiDevCfgQueryIncludedDriverConfigurations
PiDevCfgQueryIncludedDriverNode