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