This was built to track decompiler and CFG progress.
The AST Node stack is empty.
{
"frames": []
}
{
"current_block_id": {
"index": 6,
"address": 144,
"block_type": "Normal"
},
"current_ast_node_stack": [],
"current_instruction": {
"opcode": "Copy",
"operand": null,
"address": 144
}
}
function switchWithOneCasePerNode()
{
lit#2 = "classicplus";
temp.server = lit#2;
lit#3 = "classic";
// RegionId(5)
// RegionId(6)
if (!(temp.server == lit#3))
{
lit#4 = "delteria";
// RegionId(6)
// RegionId(7)
if (!(phi<idx=0, regions=()> == lit#4))
{
lit#5 = "foo";
// RegionId(7)
// RegionId(8)
if (!(phi<idx=0, regions=()> == lit#5))
{
lit#8 = "loginserver.graalonline.com:14900";
this.loginserver = lit#8;
}
// RegionId(3)
else
{
lit#9 = "loginfoo1.graalonline.com:14900";
this.loginserver = lit#9;
}
}
// RegionId(2)
else
{
lit#10 = "logindelteria1.graalonline.com:14900";
this.loginserver = lit#10;
}
}
// RegionId(1)
else
{
lit#11 = "loginclassic1.graalonline.com:14900";
this.loginserver = lit#11;
}
lit#13 = ":";
builtin_fn_call#14 = this.loginserver.pos(lit#13);
temp.i = builtin_fn_call#14;
lit#16 = 0;
builtin_fn_call#17 = this.loginserver.substring(lit#16, temp.i);
this.loginhost = builtin_fn_call#17;
lit#19 = 1;
lit#20 = 255;
builtin_fn_call#21 = this.loginserver.substring(temp.i + lit#19, lit#20);
this.loginport = builtin_fn_call#21;
lit#22 = 0;
return lit#22;
}
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 13