LocalGetSidForString

NTSTATUS __stdcall LocalGetSidForString(
        WCHAR *String,
        VOID **SID,
        WCHAR **End,
        UINT8 *FreeSid,
        VOID *RootDomainSid,
        UINT8 DefaultToDomain){
  NTSTATUS v10; 
  _STRSD_SID_LOOKUP *v11; 
  NTSTATUS v13; 
  VOID **v14; 

  v10 = 0;
  if( !String || !SID || !End || !FreeSid )
    return 87;
  *FreeSid = 0;
  if( !*String || !String[1] )
    return 1332;
  *End = String + 2;
  v11 = LookupSidInTable(String, 0i64, 0i64, (UINT8)FreeSid, v14, 0);
  if( v11 )
  {
    *SID = (VOID *)*((_QWORD *)v11 + 2);
  }
  else
  {
    *End -= 2;
    v13 = LocalpConvertStringSidToSid(String, SID, End);
    if( v13 >= 0 || (v10 = RtlNtStatusToDosError((unsigned int)v13)) == 0 )
    {
      if( *SID )
        *FreeSid = 1;
    }
  }
  return v10;
}

Referenced by:

GetOperandValue
LocalConvertStringSDToSD_Rev1
LocalGetAclForString
LocalGetRelativeAttributeForString