AuthzBasepFindSystemSecurityAttribute

unsigned __int64 __fastcall AuthzBasepFindSystemSecurityAttribute(const UNICODE_STRING *a1){
  char v1; 
  __int64 v3; 
  UNICODE_STRING *v4; 
  UNICODE_STRING *v5; 
  UNICODE_STRING *v6; 
  _QWORD *v8; 
  _QWORD *v9; 
  __int64 v10; 
  v1 = 0;
  v10 = 0i64;
  _InterlockedExchange64(&v10, WindowsSystemAttributes);
  v3 = v10;
  v4 = 0i64;
  if( v10 )
  {
    v5 = (UNICODE_STRING *)(v10 + 8);
    v6 = *(UNICODE_STRING **)(v10 + 8);
    while( v6 != v5 )
    {
      v4 = v6;
      if( AuthzBasepEqualUnicodeString(v6 + 2, (UNICODE_STRING *)a1) )
      {
LABEL_5:
        v1 = 1;
        return(unsigned __int64)v4 & -(__int64)(v1 != 0);
      }
      v3 = v10;
      v6 = *(UNICODE_STRING **)&v6->Length;
      v5 = (UNICODE_STRING *)(v10 + 8);
    }
    v8 = (_QWORD *)(v3 + 32);
    v9 = *(_QWORD **)(v3 + 32);
    while( v9 != v8 )
    {
      v4 = (UNICODE_STRING *)(v9 - 2);
      if( (v9[5] & 1) == 0 )
      {
        if( AuthzBasepEqualUnicodeString(v4 + 2, (UNICODE_STRING *)a1) )
          goto LABEL_5;
        v3 = v10;
      }
      v9 = (_QWORD *)*v9;
      v8 = (_QWORD *)(v3 + 32);
    }
  }
  return(unsigned __int64)v4 & -(__int64)(v1 != 0);
}

Referenced by:

AuthzBasepQuerySystemSecurityAttributeAndValues