The engine function pointer to vmMain used variadic arguments but the vmMain function in the dylib has explicit arguments. Evidently the arguments are stored on the stack and/or registers differently. Found by fretn.