SeSetSecurityAccessMask

VOID __stdcall SeSetSecurityAccessMask(UINT64 SecurityInformation, UINT64 *DesiredAccess){
  int v2; 

  v2 = 0;
  *(_DWORD *)DesiredAccess = 0;
  if( (SecurityInformation & 0x10000) != 0 )
  {
    v2 = 17563648;
    *(_DWORD *)DesiredAccess = 17563648;
  }
  if( (SecurityInformation & 0x13) != 0 )
  {
    v2 |= 0x80000u;
    *(_DWORD *)DesiredAccess = v2;
  }
  if( (SecurityInformation & 4) != 0 )
  {
    v2 |= 0x40000u;
    *(_DWORD *)DesiredAccess = v2;
  }
  if( (SecurityInformation & 0x20) != 0 )
  {
    v2 |= 0x40000u;
    *(_DWORD *)DesiredAccess = v2;
  }
  if( (SecurityInformation & 0x80u) != 0i64 )
  {
    v2 |= 0x40000u;
    *(_DWORD *)DesiredAccess = v2;
  }
  if( (SecurityInformation & 0x100) != 0 )
  {
    v2 |= 0x40000u;
    *(_DWORD *)DesiredAccess = v2;
  }
  if( (SecurityInformation & 0x40) != 0 )
  {
    v2 |= 0x1000000u;
    *(_DWORD *)DesiredAccess = v2;
  }
  if( (SecurityInformation & 8) != 0 )
  {
    v2 |= 0x1000000u;
    *(_DWORD *)DesiredAccess = v2;
  }
  if( (SecurityInformation & 0x1F8) != 0 && (SecurityInformation & 0x50000000) != 0 )
    *(_DWORD *)DesiredAccess = v2 | 0x1000000;
}

Referenced by:

IoCheckFunctionAccess
NtSetSecurityObject