SepSetTokenPackage
INT64 __fastcall SepSetTokenPackage(INT64 a1, UINT8 *a2){
VOID *v4;
unsigned int v5;
void *PoolWithTag;
void *v7;
void *v8;
v4 = *(VOID **)(a1 + 784);
if( v4 && !RtlIsParentOfChildAppContainer(v4, a2) )
return 3221225506i64;
v5 = (4 * a2[1] + 11) & 0xFFFFFFFC;
PoolWithTag = ExAllocatePoolWithTag(PagedPool, v5, 0x69536553ui64);
v7 = PoolWithTag;
if( !PoolWithTag )
return 3221225626i64;
RtlCopySid(v5, PoolWithTag, a2);
v8 = *(void **)(a1 + 784);
if( v8 )
ExFreePoolWithTag(v8, 0);
*(_QWORD *)(a1 + 784) = v7;
return 0i64;
}Referenced by:
NtCreateLowBoxToken
SepDuplicateToken
SepFilterToken
SepGetAnonymousToken