SshpCopyDataEntry

NTSTATUS __stdcall SshpCopyDataEntry(UINT32 Tag, PCUNICODE_STRING SourceString, PUNICODE_STRING DestinationString){
  unsigned __int16 Length; 
  wchar_t *v7; 
  wchar_t *v8; 
  int v9; 

  Length = SourceString->Length;
  LODWORD(v7) = SSHSupportAllocatePaged(SourceString->Length, Tag);
  v8 = v7;
  if( !v7 )
    return -1073741670;
  DestinationString->Buffer = v7;
  DestinationString->Length = 0;
  DestinationString->MaximumLength = Length;
  v9 = RtlUnicodeStringCopy(DestinationString, SourceString);
  if( v9 < 0 )
  {
    ExFreePoolWithTag(v8, Tag);
  }
  else
  {
    v9 = 0;
    *(_QWORD *)&DestinationString[1].Length = *(_QWORD *)&SourceString[1].Length;
    DestinationString[1].Buffer = SourceString[1].Buffer;
  }
  return v9;
}

Referenced by:

SleepstudyHelperCreateBlockerData