Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

So there may be hope... Glad to hear, looking forward to your investigations, thanks!

When looking at RotT-Win32.exe I saw that Unity engine has a workaround for checking whether InitializeCriticalSectionEx is present, so I guess, this may be a bug of UnityEngine.dll and the IAT import of this function just "slipped in". I guess it should be reported to UnityEngine vendors as I think it is unintentional.

As for the patch: Check IAT entry at raw file offset 0xF9730A reading "InitializeCriticalSectionEx". Just overwrite the "Ex" part of this string with 0x00 bytes so that it reads "InitializeCriticalSection". As the function takes 3 parameters, not one, you need to patch the 2 PUSH instructions of second and third parameter at raw file offset 0xD4FD91:  6A 01 6A 00
NOP then out by putting 90 90 90 90 in there and you are done. I can upload patched file, if needed or a patcher, if you prefer, but as you see it's very easy to patch.