LocalGetSidForString
UINT64 __stdcall LocalGetSidForString(
WCHAR *String,
PVOID *SID,
WCHAR **End,
UINT8 *FreeSid,
PVOID RootDomainSid,
UINT8 DefaultToDomain){
ULONG v10;
INT64 v11;
void *v12;
NTSTATUS v14;
WCHAR *v15;
void *v16;
v16 = 0i64;
v10 = 0;
if( !String || !SID || !End || !FreeSid )
return 87i64;
*FreeSid = 0;
if( *String && String[1] )
{
*End = String + 2;
v11 = LookupSidInTable(String, 0i64, 0i64, (INT64)FreeSid, v15, 0, (INT64)&v16);
if( v11 )
{
v12 = *(void **)(v11 + 16);
}
else
{
v12 = v16;
if( !v16 )
{
*End -= 2;
v14 = LocalpConvertStringSidToSid(String, SID, (const WCHAR **)End);
if( v14 >= 0 || (v10 = RtlNtStatusToDosError(v14)) == 0 )
{
if( *SID )
*FreeSid = 1;
}
return v10;
}
*FreeSid = 1;
}
*SID = v12;
return v10;
}
return 1332i64;
}Referenced by:
GetOperandValue
LocalConvertStringSDToSD_Rev1
LocalGetAclForString
LocalGetRelativeAttributeForString