https://bugs.winehq.org/show_bug.cgi?id=52483
Bug ID: 52483 Summary: League of Legends 9.10+ crashes after champion select (anticheat, 64-bit syscall executed in 32-bit process) Product: Wine Version: 4.6 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: z.figura12@gmail.com Distribution: ---
Split from bug 47198.
League of Legends 9.10+ checks the value of the %cs register. If it is 0x23 exactly, which is the value of the 32-bit segment for 64-bit machines on both Windows and Linux, it switches to 0x33 (the 64-bit segment on both operating systems) and attempts to perform a syscall.
In order to support this (without changing the default %cs register), we will need to support WoW64 emulation. Note that we actually also want to support WoW64 emulation for other reasons, namely so that we can run on systems without 32-bit system libraries down to and including libc (cf. bug 45057).
As of the time of writing many parts of WoW64 emulation are already in place. However, it is not enabled by default, because not all modules have been yet split to support it, and even those that have do not currently all support WoW64 thunking.