>>828315
It seems to be gzdoom but with a few extra functions to set up a signal handler. Unfortunately gzdoom is under a cuck license and is not fully compatible with the GPL. Quick RE:
void handle(int signal) {
int argc = 1;
char argv[][] = {"gzdoom"};
if (signal != SIGSEGV) {
return;
}
fprintf(stderr, "Caught SIGSEGV: Starting DOOM\n");
run(argc, argv);
}
void init() {
signal(SIGSEGV, handle);
}
This is bundled along with gzdoom. The run function is actually the main function from https://github.com/coelckers/gzdoom/blob/master/src/posix/sdl/i_main.cpp but renamed to run. It also looks like OP didn't properly create argv so that the array terminated with a NULL element, though this could be a side effect from the compiler / my reverse engineering.
I didn't check if OP did anything else with the binary, so you should still be weary about running it.