On Sunday, November 20, 2016 8:20:32 PM CET Stefan Dösinger wrote:
You could try to find out what is supposed to be stored at the offset used by the program and see if you can modify Wine to behave similarly to Windows.
Well, there isn't much stored, on windows it's just null-bytes all the way. Probably because wine has a different allocation scheme in RtlAllocateHeap than windows.
It is also possible that the program is really just broken and incredibly lucky on Windows. Even then you could in theory find out why it’s unlucky on Wine (e.g. how the allocated addresses look after its HeapAlloc calls) and try to improve the odds, but there is no guarantee that you can make it reliable.
I fear that's the case, it looks broken. Though I'll probably investigate it a bit longer before giving up.