La subestructura correspondiente a los scripts de nivel continúa si detecta otra variable o termina si detecta los bytes "0000". Por eso tienes que localizar el "#raw word 0xFFFF" y cambiarlo por "#raw word 0x0". Aunque no voy a entrar en más detalles porque va a ser liarte.
El caso, dices que descompilas eso y al compilarlo te vuelve a dar un nuevo offset. Serguramente tengas activada la refactorización, ¿Cuándo descompilas el script te salen offsets o te salen punteron del tipo "@snippet"?
EDITO: Ah, perdón, había entendido que sí te daba un nuevo offset. Pero si no te lo da, todo está bien, lo que dice Sayer.