AuthzBasepEvaluateAttribute

INT64 __fastcall AuthzBasepEvaluateAttribute(INT64 a1){
  unsigned int v1; 
  unsigned int v2; 
  unsigned __int16 v3; 
  _QWORD *v4; 
  v1 = 0;
  if( a1 )
  {
    v2 = *(_DWORD *)(a1 + 40);
    if( v2 )
    {
      if( v2 > 1 )
        return 1;
      v3 = *(_WORD *)(a1 + 32);
      if( v3 )
      {
        if( v3 == 6 || v3 <= 2u )
        {
          v4 = *(_QWORD **)(a1 + 48);
          if( v4 && *v4 )
            return 1;
        }
        else
        {
          if( v3 == 3 )
          {
            LOBYTE(v1) = **(_WORD **)(a1 + 48) != 0;
            return v1;
          }
          if( (v3 == 5 || v3 == 16) && *(_DWORD *)(*(_QWORD *)(a1 + 48) + 8i64) )
            return 1;
        }
      }
    }
  }
  else
  {
    return(unsigned int)-1;
  }
  return v1;
}

Referenced by:

AuthzBasepEvaluateAceCondition