SleepstudyHelperSetBlockerFriendlyName

NTSTATUS __stdcall SleepstudyHelperSetBlockerFriendlyName(_UNICODE_STRING *a1, const _UNICODE_STRING *a2){
  _SIZE_T Length; 
  wchar_t *v5; 
  int v6; 
  wchar_t *Buffer; 
  _UNICODE_STRING DestinationString; 

  DestinationString = 0i64;
  if( a1 && a2 && (Length = a2->Length, (_WORD)Length) )
  {
    LODWORD(v5) = SSHSupportAllocatePaged(Length, *(_DWORD *)(*(_QWORD *)&a1->Length + 24i64));
    DestinationString.Buffer = v5;
    if( !v5 )
      return -1073741670;
    DestinationString.MaximumLength = a2->Length;
    DestinationString.Length = 0;
    v6 = RtlUnicodeStringCopy(&DestinationString, a2);
    if( v6 >= 0 )
    {
      Buffer = a1[3].Buffer;
      if( Buffer )
        ExFreePoolWithTag(Buffer, *(_DWORD *)(*(_QWORD *)&a1->Length + 24i64));
      v6 = 0;
      a1[3] = DestinationString;
      DestinationString = 0i64;
    }
  }
  else
  {
    v6 = -1073741811;
  }
  if( DestinationString.Buffer )
    ExFreePoolWithTag(DestinationString.Buffer, *(_DWORD *)(*(_QWORD *)&a1->Length + 24i64));
  return v6;
}

Referenced by:

SleepstudyHelperCreateBlockerFromGuid