https://bugs.winehq.org/show_bug.cgi?id=56061
--- Comment #20 from Bernhard Übelacker bernhardu@mailbox.org --- Just for the record, the foobar installer 2.1.1 modified the call by using 'p' instead of 'i': - System::Call "psapi::EnumProcesses(i r7, i 40000, *p .r1) i .r2" + System::Call "psapi::EnumProcesses(p r7, i 40000, *p .r1) i .r2"
https://nsis.sourceforge.io/Docs/System/System.html#callfuncs
The test program from comment #12 still receives in wine pointers above 4GB, while windows seem to detect them and produce just pointers below 4GB. And the now outdated installer foobar2000-x64_v2.1.exe still crashes. Therefore I guess there might still be a bug in wine, but it is unknown how windows detects to use just low addresses for nsis installers.