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