LocalGetStringForSid
UINT64 __stdcall LocalGetStringForSid(PVOID Sid, WCHAR **String, PVOID RootDomainSid, UINT8 DefaultToDomain){
unsigned int v4;
INT64 v7;
UINT64 v8;
INT64 v9;
NTSTATUS v10;
__int64 v11;
unsigned __int64 v12;
WCHAR *v13;
WCHAR *v14;
WCHAR *v16;
__int64 v17;
CHAR a6;
v4 = 0;
v17 = 0i64;
if( Sid && String )
{
v7 = LookupSidInTable(0i64, Sid, (INT64)RootDomainSid, DefaultToDomain, v16, a6, (INT64)&v17);
v9 = v7;
if( v7 )
{
v11 = *(unsigned int *)(v7 + 12);
}
else
{
if( !v17 )
{
v10 = LocalConvertSidToStringSidW(Sid, String);
if( v10 < 0 )
return RtlNtStatusToDosError(v10);
return v4;
}
v11 = 2i64;
}
v12 = 2 * v11 + 2;
SddlpAlloc(2 * v11 + 2, v8);
*String = v13;
if( v13 )
{
v14 = (WCHAR *)(v9 + 2);
if( !v9 )
v14 = (WCHAR *)L"SA";
wcscpy_s(v13, v12 >> 1, v14);
}
else
{
return 8;
}
return v4;
}
return 87i64;
}Referenced by:
GetPrintableOperandValue
LocalConvertSDToStringSD_Rev1
LocalGetStringForRelativeAttribute