This was built to track decompiler and CFG progress.
Unimplemented Opcode: Inc
{
"frames": []
}
{
"current_block_id": {
"index": 1,
"address": 9558,
"block_type": "Normal"
},
"current_ast_node_stack": [
{
"StandaloneNode": {
"Expression": {
"Assignable": {
"MemberAccess": {
"metadata": {
"properties": {},
"comments": []
},
"node_id": 39560,
"ptr": {
"rhs": {
"Identifier": {
"metadata": {
"properties": {},
"comments": []
},
"node_id": 39559,
"ptr": {
"ssa_version": null,
"id": "iterator"
}
}
},
"ssa_version": 5,
"lhs": {
"Identifier": {
"metadata": {
"properties": {},
"comments": []
},
"node_id": 39558,
"ptr": {
"ssa_version": null,
"id": "GuiRCConsoleTextEdit"
}
}
}
}
}
}
}
}
}
],
"current_instruction": {
"opcode": "Inc",
"operand": null,
"address": 9562
}
}
function GuiRCConsoleTextEdit.onKeyDown(keycode#2, keytext#1, scancode#0)
{
lit#4 = 38;
// RegionId(1)
if (keycode#2 == lit#4)
{
GuiRCConsoleTextEdit.iterator++;
goto RegionId(5);
}
// RegionId(2)
else
{
lit#6 = 40;
// RegionId(3)
if (keycode#2 == lit#6)
{
GuiRCConsoleTextEdit.iterator--;
lit#7 = -1;
builtin_fn_call#9 = GuiRCConsoleTextEdit.history.size();
lit#10 = 1;
builtin_fn_call#11 = min(builtin_fn_call#9 - lit#10, GuiRCConsoleTextEdit.iterator);
builtin_fn_call#12 = max(lit#7, builtin_fn_call#11);
GuiRCConsoleTextEdit.iterator = builtin_fn_call#12;
lit#13 = 0;
// RegionId(5)
// RegionId(6)
if (GuiRCConsoleTextEdit.iterator < lit#13)
{
lit#15 = "";
GuiRCConsoleTextEdit.text = lit#15;
}
// RegionId(7)
else
{
GuiRCConsoleTextEdit.text = GuiRCConsoleTextEdit.history[GuiRCConsoleTextEdit.iterator];
}
lit#16 = 0;
return lit#16;
}
// RegionId(4)
else
{
lit#17 = 0;
return lit#17;
}
}
}
Use the mouse wheel + shift to zoom in and out, and click and drag to pan.
Use the mouse wheel + shift to zoom in and out, and click and drag to pan.
Step 1 of 9