diff --git a/src/SharpEmu.Core/Cpu/Native/DirectExecutionBackend.cs b/src/SharpEmu.Core/Cpu/Native/DirectExecutionBackend.cs index cc70e22..d348d20 100644 --- a/src/SharpEmu.Core/Cpu/Native/DirectExecutionBackend.cs +++ b/src/SharpEmu.Core/Cpu/Native/DirectExecutionBackend.cs @@ -5405,9 +5405,10 @@ public sealed unsafe partial class DirectExecutionBackend : INativeCpuBackend, I var rip = hasContinuation ? continuation.Rip : context.Rip; var rsp = hasContinuation ? continuation.Rsp : context[CpuRegister.Rsp]; Write64(mcontext + 0xA0, rip); - Write64(mcontext + 0xB0, hasContinuation ? continuation.Rflags : 0); + Write64(mcontext + 0xB0, hasContinuation ? continuation.Rflags : context.Rflags); Write64(mcontext + 0xB8, rsp); Write64(mcontext + 0xC8, 0x480); // sizeof(Orbis mcontext_t) + Write64(mcontext + 0xF8, rsp); Write64(mcontext + 0x440, hasContinuation ? continuation.FsBase : context.FsBase); Write64(mcontext + 0x448, hasContinuation ? continuation.GsBase : context.GsBase); return context.Memory.TryWrite(address, bytes);