Thread (0x294C):
  [Native Frames]
  VRage.DCS.il!Keen.VRage.DCS.Scenes.Scene.RunJob(int32)
  VRage.DCS.il!Keen.VRage.DCS.Scenes.Scene.Tick(bool)
  VRage.Core.Game.il!Keen.VRage.Core.Game.Systems.Session.Update(bool)
  SpaceEngineers2.il!Keen.Game2.WorldTickComponent.Tick()
  SpaceEngineers2.il!Keen.Game2.ClientWorldTickComponent.Tick()
  SpaceEngineers2.il!Keen.Game2.GameAppComponent.GameUpdate()
  SpaceEngineers2.il!Keen.Game2.GameAppComponent.GameUpdate_InvocationStub(unsigned int8**,int32,class Keen.VRage.DCS.Scenes.Scene,class System.Object)
  VRage.DCS.il!Keen.VRage.DCS.Scenes.Scene.RunJob(int32)
  VRage.DCS.il!Keen.VRage.DCS.Scenes.Scene.Tick(bool)
  VRage.Core.il!Keen.VRage.Core.VRageCore.Update(value class System.TimeSpan)
  VRage.Library.il!Keen.VRage.Library.Utils.AppLoop.Run(class System.Action`1<value class System.TimeSpan>)
  SpaceEngineers2.il!Keen.Game2.Program.Main(class System.String[])

Thread (0x5750):
  [Native Frames]
  VRage.Library.il!Keen.VRage.Library.Threading.ThreadPoolSleepGate.Wait(int32)
  VRage.Library.il!Keen.VRage.Library.Threading.ThreadPool.TryWaitForWork(class Keen.VRage.Library.Threading.ThreadPoolWorker,value class Keen.VRage.Library.Threading.ParallelWorkHandle&)
  VRage.Library.il!Keen.VRage.Library.Threading.ThreadPoolWorker.WorkLoop()

Thread (0x5168):
  [Native Frames]
  VRage.Library.il!Keen.VRage.Library.Threading.ThreadPoolSleepGate.Wait(int32)
  VRage.Library.il!Keen.VRage.Library.Threading.ThreadPool.TryWaitForWork(class Keen.VRage.Library.Threading.ThreadPoolWorker,value class Keen.VRage.Library.Threading.ParallelWorkHandle&)
  VRage.Library.il!Keen.VRage.Library.Threading.ThreadPoolWorker.WorkLoop()

Thread (0xA90):
  [Native Frames]
  VRage.Library.il!Keen.VRage.Library.Threading.ThreadPoolSleepGate.Wait(int32)
  VRage.Library.il!Keen.VRage.Library.Threading.ThreadPool.TryWaitForWork(class Keen.VRage.Library.Threading.ThreadPoolWorker,value class Keen.VRage.Library.Threading.ParallelWorkHandle&)
  VRage.Library.il!Keen.VRage.Library.Threading.ThreadPoolWorker.WorkLoop()

Thread (0x3D94):
  [Native Frames]
  VRage.Library.il!Keen.VRage.Library.Threading.ThreadPoolSleepGate.Wait(int32)
  VRage.Library.il!Keen.VRage.Library.Threading.ThreadPool.TryWaitForWork(class Keen.VRage.Library.Threading.ThreadPoolWorker,value class Keen.VRage.Library.Threading.ParallelWorkHandle&)
  VRage.Library.il!Keen.VRage.Library.Threading.ThreadPoolWorker.WorkLoop()

Thread (0x5670):
  [Native Frames]
  VRage.Library.il!Keen.VRage.Library.Threading.ThreadPoolSleepGate.Wait(int32)
  VRage.Library.il!Keen.VRage.Library.Threading.ThreadPool.TryWaitForWork(class Keen.VRage.Library.Threading.ThreadPoolWorker,value class Keen.VRage.Library.Threading.ParallelWorkHandle&)
  VRage.Library.il!Keen.VRage.Library.Threading.ThreadPoolWorker.WorkLoop()

Thread (0x4AD4):
  [Native Frames]
  ?!?
  Microsoft.Win32.SystemEvents.il!Microsoft.Win32.SystemEvents.WindowThreadProc()

Thread (0x5418):
  [Native Frames]
  System.Private.CoreLib.il!System.Threading.Thread.Sleep(int32)
  VRage.Core.Game.il!Keen.VRage.Core.Game.EngineComponents.WatchdogMessageQueue+WatchdogThreadWorker.WorkLoop()
  System.Private.CoreLib.il!System.Threading.ExecutionContext.RunInternal(class System.Threading.ExecutionContext,class System.Threading.ContextCallback,class System.Object)

Thread (0x5364):
  [Native Frames]
  System.Private.CoreLib.il!System.Threading.WaitHandle.WaitOneNoCheck(int32,bool,class System.Object,value class WaitHandleWaitSourceMap)
  System.Private.CoreLib.il!System.Threading.PortableThreadPool+GateThread.GateThreadStart()

Thread (0x3D4):
  [Native Frames]
  VRage.Library.il!Keen.VRage.Library.Threading.LifetimeContext.Enter(value class Keen.VRage.Library.Threading.TaskBase)
  VRage.Library.il!Keen.VRage.Library.Threading.TaskLifetime.Enter(value class Keen.VRage.Library.Threading.TaskBase,value class Keen.VRage.Library.Threading.LifetimeToken)
  VRage.Library.il!Keen.VRage.Library.Threading.TaskMethodBuilder.DetectLifetime(class Keen.VRage.Library.Threading.AsyncStateMachineTaskBase`1<!!0>)
  VRage.Library.il!Keen.VRage.Library.Threading.TaskMethodBuilder.AwaitOnCompleted(!!0&,class Keen.VRage.Library.Threading.AsyncStateMachineTaskBase`1<!!1>)
  VRage.Render12.il!Keen.VRage.Render12.Core.Systems.FrameDispatcher+D3DCommandListAllocatorManager+<ParallelD3DCommandListDisposal>d__9.MoveNext()
  VRage.Render12.il!Keen.VRage.Render12.Core.Systems.FrameDispatcher+D3DCommandListAllocatorManager.OnFrameEndDisposal()
  VRage.Render12.il!Keen.VRage.Render12.EngineComponents.Render12EngineComponent.IRender_Present(value class Keen.VRage.Render.Device.PresentStats&)
  VRage.Render12.il!Keen.VRage.Render12.EngineComponents.Render12EngineComponent.RenderFrame()
  VRage.Render12.il!Keen.VRage.Render12.EngineComponents.Render12EngineComponent.RenderFrameGuard()
  VRage.Render12.il!Keen.VRage.Render12.EngineComponents.Render12EngineComponent+<>c__DisplayClass63_0.<RenderThreadStart>b__0(value class System.TimeSpan)
  VRage.Library.il!Keen.VRage.Library.Utils.AppLoop.Run(class System.Action`1<value class System.TimeSpan>)
  VRage.Render12.il!Keen.VRage.Render12.EngineComponents.Render12EngineComponent.RenderThreadStart(class System.Object)
  System.Private.CoreLib.il!System.Threading.ExecutionContext.RunInternal(class System.Threading.ExecutionContext,class System.Threading.ContextCallback,class System.Object)

Thread (0x4D58):
  [Native Frames]
  System.Private.CoreLib.il!System.Threading.PortableThreadPool+IOCompletionPoller.Poll()

Thread (0x45C0):
  [Native Frames]
  System.Private.CoreLib.il!System.Threading.WaitHandle.WaitOneNoCheck(int32,bool,class System.Object,value class WaitHandleWaitSourceMap)
  System.Private.CoreLib.il!System.Threading.TimerQueue.TimerThread()

Thread (0x3BB0):
  [Native Frames]
  System.Private.CoreLib.il!System.Threading.WaitHandle.WaitAnyMultiple(value class System.ReadOnlySpan`1<class Microsoft.Win32.SafeHandles.SafeWaitHandle>,int32)
  System.Private.CoreLib.il!System.Threading.PortableThreadPool+WaitThread.WaitThreadStart()

Thread (0x2998):
  [Native Frames]
  System.Private.CoreLib.il!System.Threading.LowLevelLifoSemaphore.WaitForSignal(int32)
  System.Private.CoreLib.il!System.Threading.LowLevelLifoSemaphore.Wait(int32,bool)
  System.Private.CoreLib.il!System.Threading.PortableThreadPool+WorkerThread.WorkerThreadStart()

Thread (0x13E0):
  [Native Frames]
  VRage.DCS.il!Keen.VRage.DCS.Scenes.Scene.SyncJobArchetypes(int32,value class EventGroup,bool)
  VRage.DCS.il!Keen.VRage.DCS.Scenes.Scene.Tick(bool)
  VRage.Core.Game.il!Keen.VRage.Core.Game.Systems.Session.Update(bool)
  SpaceEngineers2.il!Keen.Game2.WorldTickComponent.Tick()
  SpaceEngineers2.il!Keen.Game2.InProcessServerWorldTickComponent.TickServerInternal()
  SpaceEngineers2.il!Keen.Game2.InProcessServerThread.TickUntilDisposed()
  SpaceEngineers2.il!Keen.Game2.InProcessServerThread.Run()
  System.Private.CoreLib.il!System.Threading.ExecutionContext.RunInternal(class System.Threading.ExecutionContext,class System.Threading.ContextCallback,class System.Object)

Thread (0x2F74):
  [Native Frames]
  System.Private.CoreLib.il!System.Threading.LowLevelLifoSemaphore.WaitForSignal(int32)
  System.Private.CoreLib.il!System.Threading.LowLevelLifoSemaphore.Wait(int32,bool)
  System.Private.CoreLib.il!System.Threading.PortableThreadPool+WorkerThread.WorkerThreadStart()

