If you asking about retrieving result from the baseAddres + offset string, you can use recursive function, something like this (just schema):
Or simple for cycleCode:function GetMultiPointer(BASEOFFSET: cardinal; "OFFSET+OFFSET1+OFFSET2", step: int): cardinal; begin pointerArray := parse("OFFSET+OFFSET1+OFFSET2"); ResultCardinal := GetMultiPointer(ReadPointer(BASEOFFSET + pointerArray[step]), "OFFSET+OFFSET1+OFFSET2", step + 1); Result := ResultCardinal; end;