PspSetJobSiloThreadImpersonationPolicy

CHAR __fastcall PspSetJobSiloThreadImpersonationPolicy(INT64 a1, INT64 a2){
  int v3; 
  signed __int32 v4; 
  int v6; 
  v3 = 4;
  if( (_DWORD)a2 != 2 )
    v3 = 2;
  v4 = *(_DWORD *)(a1 + 1324);
  if( (v4 & (unsigned int)a2) != 0 )
    return 1;
  while( (v3 & v4) == 0 )
  {
    v6 = a2 | v4;
    v4 = _InterlockedCompareExchange((volatile signed __int32 *)(a1 + 1324), a2 | v4, v4);
    if( v4 == v6 )
      return 1;
  }
  return 0;
}

Referenced by:

NtSetInformationJobObject