Open VladiStep opened 1 year ago
It appears this is because switch blocks are processed in reverse order (at least for type propagation) such that every case except the first is being compared to an untyped tempvar instead of the actual switch comparison. My best ideas for first steps at a fix would be to somehow fast-track the tempvar parsing or to try a second pass of the type propagation after high-level decompilation.
Describe the bug
The decompiler doesn't parse all the
case
values type, only the first one. Here's an example:case fnt_main:
, butcase 2:
Reproducing steps
switch
in code.Setup Details