shmerl: Saboteur is indeed broken on CPUs with more than 4 cores.
jackfuste from WSGF figured out a way to modify the game binary to avoid the crash. I made a
simple script to patch the file in place using that method.
looking at the code, with the patch it skips the part where it collects the speed info of every core. Leaving the variables at its uninitialized values. wonder if that has any impact on code behaviour.
Not sure though why or where they would even use that info. And from a quick look I can't find if they even use it.
Also can't see any difference in the usage of multiple cores with or without the patch.
so, the fix probably just works™
a (more) proper fix probably would be to increase the allocated space so that it can store information for more than 8 cores. but not sure that's worth the effort. (patching 4 bytes instead of one :p)