AslGuidToString_UStr

NTSTATUS __stdcall AslGuidToString_UStr(_UNICODE_STRING *UnicodeStringOut, _GUID *Guid){
  INT64 v2; 
  WCHAR *v4; 
  NTSTATUS v5; 
  int v6; 
  *(_DWORD *)&UnicodeStringOut->Length = 5111884;
  v4 = (WCHAR *)AslAlloc(UnicodeStringOut, 0x4Eui64, v2);
  if( v4 )
  {
    RtlStringCchPrintfW(
      v4,
      (unsigned __int64)UnicodeStringOut->MaximumLength >> 1,
      (WCHAR *)L"{%08lx-%04hx-%04hx-%02hx%02hx-%02hx%02hx%02hx%02hx%02hx%02hx}");
    v5 = v6;
    if( v6 >= 0 )
    {
      UnicodeStringOut->Buffer = v4;
      v4 = 0i64;
      v5 = 0;
    }
    else
    {
      AslLogCallPrintf(1ui64, "AslGuidToString_UStr", 0x101ui64, "RtlStringCchPrintfW failed [%x]", v6);
    }
    if( v4 )
      ExFreePoolWithTag(v4, 0x74705041u);
  }
  else
  {
    AslLogCallPrintf(1ui64, "AslGuidToString_UStr", 0xEDui64, "Out of memory");
    return -1073741801;
  }
  return v5;
}

Referenced by:

SdbResolveDatabaseEx