# Решение задачи reverse 9-1

## Идея
Дан листинг ассемблерного кода программы под архитектуру Elbrus. В нем есть операция сравнения cmpesb, задача участника - понять чем является эта операция и восстановить флаг.

## Эксплуатация
Операция cmpesb - это сравнение строк. Она сравнивает байты и если собрать все сравнения и конвертировать hex в ascii, то можно получить флаг.

## Флаг
vsosh{e1_fanera_1s_f4n_to_patch}


Скрипт решения:

```python
import re
import os
def solve_var1_asm(asm_path: str) -> str:
    flag_chars = []
    with open(asm_path, "r") as f:
        content = f.read()

    matches = re.findall(r"cmpesb,\d+\s+%r3,\s*(?:_f16s,_lts0hi\s+)?(0x[0-9a-fA-F]+)", content)

    for m in matches:
        val = int(m, 16)
        if val == 0x20:
            continue
        if 0x20 <= val <= 0x7e:
            flag_chars.append(chr(val))

    return "".join(flag_chars)

print(solve_var1_asm('var1.s'))

```