PspEstimateNewProcessServerSilo

INT64 __fastcall PspEstimateNewProcessServerSilo(INT64 a1, INT64 a2, UINT64 a3){
  _EJOB *ProcessServerSilo; 
  unsigned int v6; 
  __int64 v8; 
  _EJOB *EffectiveServerSilo; 
  if( a1 )
  {
    ProcessServerSilo = (_EJOB *)PsGetProcessServerSilo(a1);
    if( !PsIsHostSilo(ProcessServerSilo) )
      return(INT64)ProcessServerSilo;
  }
  v6 = 0;
  if( !a3 )
    return HalSystemVectorDispatchEntry();
  v8 = 0i64;
  while( 1 )
  {
    EffectiveServerSilo = PsGetEffectiveServerSilo(*(_EJOB **)(a2 + 8 * v8));
    if( !PsIsHostSilo(EffectiveServerSilo) )
      break;
    v8 = ++v6;
    if( v6 >= a3 )
      return HalSystemVectorDispatchEntry();
  }
  return(INT64)EffectiveServerSilo;
}

Referenced by:

NtCreateUserProcess