SepInitSystemDacls
INT64 __stdcall SepInitSystemDacls(){
int v0;
int v1;
UINT32 v2;
int v3;
int v4;
UINT32 v5;
int v6;
ULONG v7;
UINT32 v8;
UINT32 v9;
UINT32 v10;
UINT32 v11;
struct _ACL *v12;
UINT32 v13;
struct _ACL *v14;
PACL v15;
PSID v16;
ACL *v17;
PSID v18;
PSID v19;
void *v20;
UINT64 v21;
UINT8 v23;
PSID LabelSid;
PACL v25;
ACL *Dacl;
ULONG AclLength;
PACL AclLengtha;
PACL v29;
struct _ACL *Acl;
PACL Acla;
PACL v32;
v0 = *((unsigned __int8 *)SeAliasAdminsSid + 1);
v1 = *((unsigned __int8 *)SeLocalSystemSid + 1);
v2 = 4 * (v1 + v0) + 48;
v3 = *((unsigned __int8 *)SeWorldSid + 1);
v4 = *(unsigned __int8 *)(*(_QWORD *)&SeRestrictedSid + 1i64);
v5 = v2 + 4 * v3 + 20;
v6 = *(unsigned __int8 *)(*(_QWORD *)SeLocalServiceSid + 1i64);
v7 = v5 + 4 * v4 + 20;
AclLength = v7;
v8 = 4 * (v0 + v1 + v6 + v3) + 88;
v9 = 4 * (v0 + v1 + *((unsigned __int8 *)SeOwnerRightsSid + 1)) + 68;
v10 = v9
+ 4
* (v4
+ 25
+ *((unsigned __int8 *)SeAllAppPackagesSid + 1)
+ v6
+ *((unsigned __int8 *)SeServiceSid + 1)
+ *((unsigned __int8 *)SeNetworkServiceSid + 1));
v11 = 4 * *(unsigned __int8 *)(*(_QWORD *)&SeMediumMandatorySid + 1i64) + 28;
SePublicDefaultDacl = (PACL)ExAllocatePoolWithTag((_POOL_TYPE)17, v5, 0x63416553ui64);
*(_QWORD *)SePublicDefaultUnrestrictedDacl = ExAllocatePoolWithTag((_POOL_TYPE)17, v7, 0x63416553ui64);
SePublicOpenDacl = (PACL)ExAllocatePoolWithTag((_POOL_TYPE)17, v5, 0x63416553ui64);
SePublicOpenUnrestrictedDacl = (PACL)ExAllocatePoolWithTag((_POOL_TYPE)17, v7, 0x63416553ui64);
SeSystemDefaultDacl = (PACL)ExAllocatePoolWithTag((_POOL_TYPE)17, v2, 0x63416553ui64);
SeLocalServicePublicDacl = (PACL)ExAllocatePoolWithTag((_POOL_TYPE)17, v8, 0x63416553ui64);
SeAtomDacl = (PACL)ExAllocatePoolWithTag((_POOL_TYPE)17, v7, 0x63416553ui64);
SepDefaultCapeDacl = (PACL)ExAllocatePoolWithTag((_POOL_TYPE)17, v9, 0x63416553ui64);
SepDefaultRecoveryCapeDacl = (PACL)ExAllocatePoolWithTag((_POOL_TYPE)17, v10, 0x63416553ui64);
SeMediumSacl = (PACL)ExAllocatePoolWithTag((_POOL_TYPE)17, v11, 0x63416553ui64);
RtlCreateAcl(SePublicDefaultDacl, v5, 2u);
v12 = *(struct _ACL **)SePublicDefaultUnrestrictedDacl;
Dacl = *(ACL **)SePublicDefaultUnrestrictedDacl;
RtlCreateAcl((PACL)SePublicDefaultUnrestrictedDacl, AclLength, 2u);
v13 = v5;
v14 = SePublicOpenDacl;
v25 = SePublicOpenDacl;
RtlCreateAcl(SePublicOpenDacl, v13, 2u);
Acl = SePublicOpenUnrestrictedDacl;
RtlCreateAcl(SePublicOpenUnrestrictedDacl, AclLength, 2u);
RtlCreateAcl(SeSystemDefaultDacl, v2, 2u);
v15 = SeLocalServicePublicDacl;
RtlCreateAcl(SeLocalServicePublicDacl, v8, 2u);
v32 = SeAtomDacl;
RtlCreateAcl(SeAtomDacl, AclLength, 2u);
AclLengtha = SepDefaultCapeDacl;
RtlCreateAcl(SepDefaultCapeDacl, v9, 2u);
v29 = SepDefaultRecoveryCapeDacl;
RtlCreateAcl(SepDefaultRecoveryCapeDacl, v10, 2u);
RtlCreateAcl(SeMediumSacl, v11, 2u);
v16 = SeWorldSid;
RtlAddAccessAllowedAce(SePublicDefaultDacl, 2u, 0x20000000u, SeWorldSid);
RtlAddAccessAllowedAce(v12, 2u, 0x20000000u, v16);
RtlAddAccessAllowedAce(v14, 2u, 0xE0000000, v16);
v17 = Acl;
RtlAddAccessAllowedAce(Acl, 2u, 0xE0000000, v16);
RtlAddAccessAllowedAce(v15, 2u, 0x20000000u, v16);
RtlAddAccessAllowedAce(v32, 2u, 0x20000u, v16);
v18 = SeLocalSystemSid;
Acla = (PACL)SeLocalSystemSid;
RtlAddAccessAllowedAce(SePublicDefaultDacl, 2u, 0x10000000u, SeLocalSystemSid);
RtlAddAccessAllowedAce(v12, 2u, 0x10000000u, v18);
RtlAddAccessAllowedAce(v14, 2u, 0x10000000u, v18);
RtlAddAccessAllowedAce(v17, 2u, 0x10000000u, v18);
RtlAddAccessAllowedAce(SeSystemDefaultDacl, 2u, 0x10000000u, v18);
RtlAddAccessAllowedAce(v15, 2u, 0x10000000u, v18);
RtlAddAccessAllowedAce(v32, 2u, 0x1F0000u, v18);
v19 = SeAliasAdminsSid;
RtlAddAccessAllowedAce(SePublicDefaultDacl, 2u, 0x10000000u, SeAliasAdminsSid);
RtlAddAccessAllowedAce(v12, 2u, 0x10000000u, v19);
RtlAddAccessAllowedAce(v25, 2u, 0x10000000u, v19);
RtlAddAccessAllowedAce(v17, 2u, 0x10000000u, v19);
RtlAddAccessAllowedAce(SeSystemDefaultDacl, 2u, 0xA0020000, v19);
RtlAddAccessAllowedAce(v15, 2u, 0x10000000u, v19);
RtlAddAccessAllowedAce(v32, 2u, 0x1F0000u, v19);
v20 = *(void **)&SeRestrictedSid;
RtlAddAccessAllowedAce(v12, 2u, 0x20000000u, *(PSID *)&SeRestrictedSid);
RtlAddAccessAllowedAce(v17, 2u, 0xA0000000, v20);
RtlAddAccessAllowedAce(v32, 2u, 0x20000u, v20);
RtlAddAccessAllowedAce(v15, 2u, 0x10000000u, SeLocalServiceSid);
RtlAddAccessAllowedAce(AclLengtha, 2u, 0x1FFFFFu, v18);
RtlAddAccessAllowedAce(AclLengtha, 2u, 0x1FFFFFu, v19);
RtlAddAccessAllowedAce(AclLengtha, 2u, 0, SeOwnerRightsSid);
RtlAddAccessAllowedAce(v29, 2u, 0x1FFFFFu, v18);
RtlAddAccessAllowedAce(v29, 2u, 0x1FFFFFu, v19);
RtlAddAccessAllowedAce(v29, 2u, 0, SeOwnerRightsSid);
RtlAddAccessAllowedAce(v29, 2u, 0x1FFFFFu, SeLocalServiceSid);
RtlAddAccessAllowedAce(v29, 2u, 0x1FFFFFu, SeNetworkServiceSid);
RtlAddAccessAllowedAce(v29, 2u, 0x1FFFFFu, v20);
RtlAddAccessAllowedAce(v29, 2u, 0x1FFFFFu, SeServiceSid);
RtlAddAccessAllowedAce(v29, 2u, 0x1200A9u, SeAllAppPackagesSid);
LODWORD(LabelSid) = 2;
RtlAddMandatoryAce(SeMediumSacl, v21, 0i64, *(VOID **)&SeMediumMandatorySid, v23, (UINT64)LabelSid);
SePublicDefaultSd = (__int64)SepPublicDefaultSd;
RtlCreateSecurityDescriptor(SepPublicDefaultSd, 1ui64);
RtlSetDaclSecurityDescriptor(SepPublicDefaultSd, 1u, SePublicDefaultDacl, 0);
SePublicDefaultUnrestrictedSd = (__int64)SepPublicDefaultUnrestrictedSd;
RtlCreateSecurityDescriptor(SepPublicDefaultUnrestrictedSd, 1ui64);
RtlSetDaclSecurityDescriptor(SepPublicDefaultUnrestrictedSd, 1u, Dacl, 0);
SePublicOpenSd = (__int64)SepPublicOpenSd;
RtlCreateSecurityDescriptor(SepPublicOpenSd, 1ui64);
RtlSetDaclSecurityDescriptor(SepPublicOpenSd, 1u, v25, 0);
SePublicOpenUnrestrictedSd = (__int64)SepPublicOpenUnrestrictedSd;
RtlCreateSecurityDescriptor(SepPublicOpenUnrestrictedSd, 1ui64);
RtlSetDaclSecurityDescriptor(SepPublicOpenUnrestrictedSd, 1u, v17, 0);
SeSystemDefaultSd = SepSystemDefaultSd;
RtlCreateSecurityDescriptor(SepSystemDefaultSd, 1ui64);
RtlSetDaclSecurityDescriptor(SeSystemDefaultSd, 1u, SeSystemDefaultDacl, 0);
SeLocalServicePublicSd = (__int64)SepLocalServicePublicSd;
RtlCreateSecurityDescriptor(SepLocalServicePublicSd, 1ui64);
RtlSetDaclSecurityDescriptor(SepLocalServicePublicSd, 1u, v15, 0);
SeAtomSd = SepAtomSd;
RtlCreateSecurityDescriptor(SepAtomSd, 1ui64);
RtlSetDaclSecurityDescriptor(SepAtomSd, 1u, v32, 0);
SeDefaultCapeSd = (__int64)SepDefaultCapeSd;
RtlCreateSecurityDescriptor(SepDefaultCapeSd, 1ui64);
RtlSetDaclSecurityDescriptor(SepDefaultCapeSd, 1u, AclLengtha, 0);
RtlSetOwnerSecurityDescriptor(SepDefaultCapeSd, Acla, 0);
RtlSetGroupSecurityDescriptor(SepDefaultCapeSd, Acla, 0);
SeDefaultRecoveryCapeSd = (__int64)SepDefaultRecoveryCapeSd;
RtlCreateSecurityDescriptor(SepDefaultRecoveryCapeSd, 1ui64);
RtlSetDaclSecurityDescriptor(SepDefaultRecoveryCapeSd, 1u, v29, 0);
RtlSetOwnerSecurityDescriptor(SepDefaultRecoveryCapeSd, Acla, 0);
RtlSetGroupSecurityDescriptor(SepDefaultRecoveryCapeSd, Acla, 0);
SeNullDaclSd = SepNullDaclSd;
RtlCreateSecurityDescriptor(SepNullDaclSd, 1ui64);
SeMediumDaclSd = SepMediumDaclSd;
RtlCreateSecurityDescriptor(SepMediumDaclSd, 1ui64);
RtlSetSaclSecurityDescriptor(SepMediumDaclSd, 1u, SeMediumSacl, 0);
RtlSetOwnerSecurityDescriptor(SepMediumDaclSd, Acla, 0);
return RtlSetGroupSecurityDescriptor(SepMediumDaclSd, Acla, 0);
}Referenced by:
SepVariableInitialization