je - если в предыдущем сравнение значения в регистре и адресе равны то прыгаем на .....
@f - короткий прыжок (условный переход) вперёд (от английского forward - вперёд) на ближайшую безымянную метку @@, может быть ещё @b - короткий прыжок назад (от английского back - назад).
В чём преимущество использования безымянных меток @@: их ненужно объявлять, и их может быть сколько угодно в скрипте.
fld - загружает в верхний регистр FPU значение из адреса (в нашем случае [rsi+20]) сдвигая значения в регистрах.
fst - выгружает из регистра в память без сдвига.
fstp - выгружает из регистра в память со сдвигом назад (т.е. в нашем случае мы восстановили значения регистров на игровые на всякий случай).
Т.е. код:
fld [rsi+20]
fstp [rsi+24]
нам позволил передать значение из памяти в память, т.к. напрямую этого делать нельзя.
Подробнее по работе с вещественными числами - погугли и почитай, больше поймёшь.
90 - это тот же опкод nop, в нашем случае служит для выравнивания, т.е. 5 байт (jmp newmem) + 4 байта (4 nop или 90 90 90 90) = 9 байт (48 8B 46 18 F3 0F 10 45 CC - смотри ниже это байты оригинальной инструкции игры, с которой мы делаем прыжок (переход) на нашу инъекцию.)
db - от английского define byte (определить байт)
dw - word (слово - два байта)
dd - double word (двойное слово - 4 байта) - если значение вещественное то пишем float в скобках.
dq - quadr worrd (учетверённое слово - 8 байт) ставим double, т.е. получаем удвоенное двойное слово.
Об этом всём тоже лучше погуглить и почитать поподробнее.