https://bugs.winehq.org/show_bug.cgi?id=10347
--- Comment #28 from Nikolay Sivov bunglehead@gmail.com --- I believe it's a confusion/bug in application code. What happens is that invalid arguments are used for TTM_ADDTOOLW:
--- 0051:Call msvcr71.strlen(004a42f8 "Action Replay Code Manager") ret=7c16a55d 0051:Ret msvcr71.strlen() retval=0000001a ret=7c16a55d 0051:Call msvcr71.malloc(0000002b) ret=7c16a438 0051:Call ntdll.RtlAllocateHeap(00580000,00000000,0000002b) ret=7e7c1750 0051:Ret ntdll.RtlAllocateHeap() retval=00592f10 ret=7e7c1750 0051:Ret msvcr71.malloc() retval=00592f10 ret=7c16a438 0051:Call msvcr71.memcpy(00592f20,7c220078,00000001) ret=7c16a3fe 0051:Ret msvcr71.memcpy() retval=00592f20 ret=7c16a3fe 0051:Call msvcr71.memcpy(00592f20,004a42f8,0000001a) ret=7c16a534 0051:Ret msvcr71.memcpy() retval=00592f20 ret=7c16a534 0051:Call user32.SendMessageA(000500c0,00000432,00000001,00592f20) ret=004196b2 0051:Call window proc 0x7c16e1bd (hwnd=0x500c0,msg=TTM_ADDTOOLW,wp=00000001,lp=00592f20) ---
So TTM_ADDTOOLW is called with wparam == 1, and lparam pointing to "Action Replay Code Manager" string, allocated dynamically.
I sent a patch that fixes this crash, https://www.winehq.org/pipermail/wine-devel/2018-February/123068.html.