RtlCreateUnicodeString

INT8 __fastcall RtlCreateUnicodeString(INT64 a1, INT8 *a2){
  __int64 v4; 
  size_t v5; 
  VOID *StringRoutine; 

  v4 = -1i64;
  do
    ++v4;
  while( *(_WORD *)&a2[2 * v4] );
  v5 = 2 * v4 + 2;
  if( (unsigned int)(2 * v4 + 1) > 0xFFFD )
    return 0;
  StringRoutine = ExpAllocateStringRoutine(v5);
  *(_QWORD *)(a1 + 8) = StringRoutine;
  if( !StringRoutine )
    return 0;
  *(_WORD *)(a1 + 2) = v5;
  memmove(StringRoutine, a2, v5);
  *(_WORD *)a1 = v5 - 2;
  return 1;
}

Referenced by:

AslPathWildcardFindFirst
CmpCreateHwProfileFriendlyName
CmpOpenSystemDriverHiveContext
DrvDbCreateDatabaseNode
DrvDbSetDriverDatabaseMappedProperty
EtwStartAutoLogger
EtwpCaptureString
EtwpQueryRegistryCallback
EtwpRealtimeCreateLogfile
EtwpStartLogger
IopCopyBootLogRegistryToFile
PiCreateDriverSwDeviceCallback
PiDevCfgLogDeviceConfigured
PiDevCfgQueryDeviceMigrationNode
PiDevCfgQueryDriverNode
PiDevCfgQueryIncludedDriverNode
PiDevCfgResolveVariable
PiDrvDbCreateNode
PiDrvDbResolveNodeFilePaths
PiGetDefaultMessageString
PipGenerateContainerID
PipInitDeviceOverrideCache
PnpCtxCreateNode
RtlConvertSidToUnicodeString