https://bugs.winehq.org/show_bug.cgi?id=55039
--- Comment #12 from YuriK7 riyu12383@gmail.com --- The issue has been fixed with a mod. While the original game still suffers the issue, most players use the community edition that will be fix in the next release. The previously mentioned instruction with access violation is part of the chain link update function. The problem is that the initial attack's object is instantiated at 0x00590683 with its last parameter 4 being a wrong value as it should been 5. It is later on use on an operator_new allocation function (0x0059be86) and a memcpy (0x0059bea6), resulting on a unallocated memory accessed by the chain link update function later on.
This is a bug from the game itself, but if I understand correctly, Windows uses padding with its heap allocation, and this behavior is only enabled on wine with warn+heap and that is why using it prevented the issue similarly as on Windows. Is something preventing to enable this outside of warn+heap ?