RtlGetAppContainerParent
INT64 __stdcall RtlGetAppContainerParent(PVOID ChildAppContainerSid, PVOID *ParentAppContainerSid){
UINT *PoolWithQuotaTag;
UINT64 v5;
UINT *v6;
int v8;
unsigned __int8 v9;
UINT *v10;
UINT *v11;
int v12;
*ParentAppContainerSid = 0i64;
v12 = 0;
if( (int)RtlGetAppContainerSidType(ChildAppContainerSid, &v12) < 0 || v12 != 1 )
return 3221225485i64;
PoolWithQuotaTag = (UINT *)ExAllocatePoolWithQuotaTag((POOL_TYPE)520, 0x28ui64, 0x62507452ui64);
v6 = PoolWithQuotaTag;
if( !PoolWithQuotaTag )
return 3221225626i64;
LOBYTE(v5) = 8;
v8 = RtlInitializeSid(PoolWithQuotaTag, (SID_IDENTIFIER_AUTHORITY *)&RtlpAppPackageAuthority, v5);
if( v8 < 0 )
{
ExFreePoolWithTag(v6, 0);
}
else
{
v9 = 0;
v10 = v6 + 2;
do
{
v11 = RtlSubAuthoritySid(ChildAppContainerSid, v9++);
*v10++ = *v11;
}
while( v9 < 8u );
*ParentAppContainerSid = v6;
return 0;
}
return(unsigned int)v8;
}Referenced by:
RtlpGetTokenNamedObjectPath