SepAdtAuditObjectAccessWithContext

UINT8 __stdcall SepAdtAuditObjectAccessWithContext(
        PVOID Object,
        UNICODE_STRING *ObjectTypeName,
        UINT8 AccessGranted,
        UINT8 AccessDenied,
        SECURITY_SUBJECT_CONTEXT *SubjectSecurityContext,
        BOOL IsKernelObject,
        UINT16 *FlatSubCategoryId){
  unsigned int v11; 
  UINT64 v12; 
  UINT8 result; 
  UINT16 v14; 
  *FlatSubCategoryId = 118;
  v11 = AccessGranted != 0 ? 3 : 0;
  v12 = v11 | 0x30;
  if( !AccessDenied )
    v12 = v11;
  result = SepAdtAuditThisEventByCategoryWithContext(2ui64, v12, SubjectSecurityContext);
  if( result )
  {
    if( Object || IsKernelObject )
    {
      v14 = SepAdtClassifyObjectIntoSubCategory(Object, ObjectTypeName, AccessGranted, AccessDenied);
    }
    else if( ObjectTypeName
           && (unsigned __int8)RtlPrefixUnicodeString((PVOID)&SepSamTypeNamePrefix, (INT64 *)ObjectTypeName) )
    {
      v14 = 119;
    }
    else
    {
      v14 = 120;
    }
    *FlatSubCategoryId = v14;
    return SepAdtAuditThisEventWithContext(v14, AccessGranted, AccessDenied, SubjectSecurityContext);
  }
  return result;
}

Referenced by:

NtOpenObjectAuditAlarm
SeOpenObjectForDeleteAuditAlarmWithTransaction
SepAccessCheckAndAuditAlarmWithAdminlessChecks
SepAdtCloseObjectAuditAlarm
SepAdtDeleteObjectAuditAlarm