SeInitServerSilo

INT64 __stdcall SeInitServerSilo(PEJOB ServerSilo){
  __int64 *ServerSiloGlobals; 
  _EJOB *v3; 
  _EJOB *v4; 
  signed int LogonSessionTrack; 
  if( PsIsHostSilo(ServerSilo) )
    KeBugCheckEx(0x33u, 0i64, 0i64, 0i64, 0i64);
  ServerSiloGlobals = PsGetServerSiloGlobals((__int64)ServerSilo);
  v4 = PsAttachSiloToCurrentThread(v3);
  LogonSessionTrack = SepCreateLogonSessionTrack((PLUID)&SeSystemAuthenticationId);
  if( LogonSessionTrack >= 0 )
  {
    LogonSessionTrack = SepReferenceLogonSessionSilo(
                          (_LUID *)&SeSystemAuthenticationId,
                          ServerSilo,
                          (_SEP_LOGON_SESSION_REFERENCES **)ServerSiloGlobals + 92);
    if( LogonSessionTrack >= 0 )
    {
      LogonSessionTrack = SepCreateLogonSessionTrack((PLUID)&SeAnonymousAuthenticationId);
      if( LogonSessionTrack < 0 )
        goto LABEL_9;
      LogonSessionTrack = SepReferenceLogonSessionSilo(
                            (_LUID *)&SeAnonymousAuthenticationId,
                            ServerSilo,
                            (_SEP_LOGON_SESSION_REFERENCES **)ServerSiloGlobals + 93);
      if( LogonSessionTrack >= 0 )
      {
        LogonSessionTrack = SepInitializationPhase1() == 0 ? 0xC0000001 : 0;
        goto LABEL_9;
      }
    }
    SepDeleteLogonSessionTrack((LUID *)&SeSystemAuthenticationId, 0);
  }
LABEL_9:
  PsDetachSiloFromCurrentThread(v4);
  return(unsigned int)LogonSessionTrack;
}

Referenced by:

PspInitializeServerSiloDeferred