Decompilation unk files generation

This commit is contained in:
MaddoScientisto 2026-04-10 00:45:41 +02:00
commit 746709f40c
503 changed files with 45757 additions and 31 deletions

View file

@ -2106,13 +2106,17 @@ def try_decode_loop_selector(
if len(selector_tokens) != 4 or selector_tokens[0] != 0x24 or selector_tokens[1] != 0x3D or selector_tokens[3] != 0x25:
if selector_tokens == [0x24, 0x42] and len(selector_stack) >= 4:
current_var = format_bp_name(loop_operands["current_var"], local_name_map)
selector_call = generic_loop_selector_call(
"selector_0x42",
[
("arg0", selector_stack[-4][0]),
("arg1", selector_stack[-3][0]),
("arg2", selector_stack[-2][0]),
("origin", normalize_loop_origin(selector_stack[-1][0])),
],
)
return (
f"{current_var} in {generic_loop_selector_call('selector_0x42', [
('arg0', selector_stack[-4][0]),
('arg1', selector_stack[-3][0]),
('arg2', selector_stack[-2][0]),
('origin', normalize_loop_origin(selector_stack[-1][0])),
])}",
f"{current_var} in {selector_call}",
index + 1,
)
return None
@ -3108,8 +3112,9 @@ def render_text(ir: dict[str, Any]) -> str:
if key == "target_event_name_hint" and value:
return f"event={value}"
if key == "target_offset" and isinstance(value, int):
label = labels.get(value + ir["event"]["derived_body_start"])
return f"->{label or f'0x{value + ir['event']['derived_body_start']:04X}'}"
target_absolute = value + ir["event"]["derived_body_start"]
label = labels.get(target_absolute)
return f"->{label or f'0x{target_absolute:04X}'}"
if isinstance(value, int):
if key.endswith("_signed"):
return f"{key}={value}"