почитай про exact и fuzzy pattern matching. сигнатуры это просто маленькое подмножество regex'ов. сигнатуры делают прежде всего на инструкции(потому что они при апдейте игры особо сильно не меняются без лишнего повода). люди сигнатурами представляют "общий вид" последовательности инструкций, обычно заменяя операнды/регистры на вопросики(вопросиками обозначается байт который игнорится при поиске).
например у тебя инструкция "прибавить четрые к регистру абвгд", ты сделаешь "прибавить ?? к регистру ??"(условно), т.е. "обобщишь" инструкцию. потом еще последующие инструкции ещё также обобщишь и добавишь и получится более менее уникальное и стабильное описание какого-то места в коде. потом ты это место находишь(как раз таки fuzzy pattern matching'ом) и дальше делаешь что надо(например достаешь операнды из инструкций, или еще что-то делаешь).
на то место что ты скинул можно сделать сигу  80 A6 ?? ?? ?? ?? ?? 41 0F B6 ??(на самом деле последний вопросик(??) нахуй не нужен просто для ясности написал), т.е.
and byte ptr ds:[rsi+??], ??
movzx eax, ??
под этот общий вид как раз и подходят
and byte ptr ds:[rsi+0x9A4], 0x7F
movzx eax, r12b
встречаются такие инструкции подходящие под этот общий вид, только в одном месте. вот ты нашел это место, и дальше делаешь что тебе надо.
если тебе надо чтобы тп показывало - значить можешь пропатчить(учитывай что секция .text - ридонли(т.е. должна иметь ожидамое, предопределенное содержимое и если реальное содержимое не соответствует ожидаемому то хуёво...) и её модификации античит может(если захочет конечно) задетектить) инструкции которые выставляют флаг видимости партикли. на этом rsi + 0x9A4 как раз лежит 1 байтовый flags enum(группа из 8 однобитовых независимых друг от друга чисел просто сгруппированных в один байт), в котором бит на 0x80(это 2 в седьмой степени - то есть восьмой бит) отвечает за видимость партикли.
игра делает
movzx eax, r12b
...
shl al, 0x7
or byte ptr ds:[rsi+0x9A4], al
другими словами, [rsi + 0x9a4] |= (r12b << 7)
если r12b = 0 то r12b << 7 тоже будет 0(партикля невидимая)
если r12b = 1 то r12b << 7 будет 0x80(партиклю видно)
можешь пропатчить просто сразу shl al, 0x7 на mov al, 0x80(тогда там не r12b << 7 будет а всегда константа 0x80)
сама суть сиг на инструкции в том чтобы при апдейте игры(незначительном) ничего не "ломалось" и ты бы мог снова находить нужное место(сами инструкции поменяются но ты ищешь "общий вид" поэтому все равно их находишь)