SeComputeQuotaInformationSize
NTSTATUS __stdcall SeComputeQuotaInformationSize(VOID *SecurityDescriptor, UINT64 *Size){
char *v2;
__int16 v4;
__int64 v5;
char *v6;
__int64 v7;
v2 = 0i64;
*(_DWORD *)Size = 0;
if( *(_BYTE *)SecurityDescriptor != 1 )
return -1073741736;
v4 = *((_WORD *)SecurityDescriptor + 1);
if( v4 >= 0 )
{
v6 = (char *)*((_QWORD *)SecurityDescriptor + 2);
}
else
{
v5 = *((unsigned int *)SecurityDescriptor + 2);
if( (_DWORD)v5 )
v6 = (char *)SecurityDescriptor + v5;
else
v6 = 0i64;
}
if( (v4 & 4) != 0 )
{
if( v4 >= 0 )
{
v2 = (char *)*((_QWORD *)SecurityDescriptor + 4);
}
else
{
v7 = *((unsigned int *)SecurityDescriptor + 4);
if( (_DWORD)v7 )
v2 = (char *)SecurityDescriptor + v7;
}
}
if( v6 )
*(_DWORD *)Size = (4 * (unsigned __int8)v6[1] + 11) & 0xFFFFFFFC;
if( v2 )
*(_DWORD *)Size += (*((unsigned __int16 *)v2 + 1) + 3) & 0xFFFFFFFC;
return 0;
}Referenced by:
ObSetSecurityDescriptorInfo
ObpCaptureObjectCreateInformation
ObpChargeQuotaForObject
ObpIncrementHandleCountEx