Du musst dir ne
DLL schreiben und dann diese in den Prozess injezieren. (Suche: InjectLibrary)
Wenn die
DLL dann im Speicher ist kannst du den OrignalCode mittels WriteProcessMemory (bzw direkt über Pointer) abändern.
In delphi kannst du den Assemblercode mit
ASM END; nachbilden.
So wie es aussieht wird ein realitver Jump ($e8) gesetzt der dann zu deinem Code springt.
Ich glaube aber eher, dass du auch direkt das CurIsland auslesen aknnst (aus dem Speicher) ohne Code injezieren zu müssen. Sofern du nur Daten auslesen willst und nicht verändern willst.