SepAdtGenerateDiscardAudit

void __fastcall SepAdtGenerateDiscardAudit(PVOID P){
  unsigned __int8 *v1; 
  int v3; 
  ULONG_PTR v4; 
  _SE_ADT_PARAMETER_ARRAY Src; 
  v1 = (unsigned __int8 *)SeLocalSystemSid;
  memset((INT64)&Src, 0i64);
  v3 = v1[1];
  Src.CategoryId = 1;
  *(_DWORD *)&Src.FlatSubCategoryId = 524390;
  Src.AuditId = 4612;
  Src.Parameters[0].Address = v1;
  Src.Parameters[0].Length = 4 * v3 + 8;
  Src.Parameters[0].Type = SeAdtParmTypeSid;
  Src.Parameters[1].Address = &SeSubsystemName;
  v4 = *((unsigned int *)P + 8);
  Src.Parameters[2].Length = 4;
  Src.Parameters[2].Data[0] = v4;
  Src.Parameters[1].Type = SeAdtParmTypeString;
  Src.Parameters[1].Length = 32;
  Src.Parameters[2].Type = SeAdtParmTypeUlongNoConv;
  Src.ParameterCount = 3;
  SepAdtLogAuditRecord(&Src);
  if( *((_BYTE *)P + 36) )
    ExFreePoolWithTag(P, 0);
}

Referenced by:

SepAdtDetermineInsertQueue