This was built to track decompiler and CFG progress.
A structure analysis error occurred while decompiling the function: Maximum number of iterations reached: 100
{
"frames": []
}
{
"current_block_id": {
"index": 11,
"address": 59,
"block_type": "Normal"
},
"current_ast_node_stack": [],
"current_instruction": {
"opcode": "Ret",
"operand": null,
"address": 101
}
}
function switchWithMultipleCasesPerNode()
{
lit#2 = "classicplus";
temp.server = lit#2;
lit#3 = "classic";
// RegionId(0)
// RegionId(6)
if (!(temp.server == lit#3))
{
lit#4 = "classicplus";
// RegionId(7)
if (!(phi<idx=0, regions=()> == lit#4))
{
lit#5 = "delteria";
// RegionId(7)
// RegionId(8)
if (!(phi<idx=0, regions=()> == lit#5))
{
lit#6 = "delteriaplus";
// RegionId(9)
if (!(phi<idx=0, regions=()> == lit#6))
{
lit#7 = "foo";
// RegionId(9)
// RegionId(10)
if (!(phi<idx=0, regions=()> == lit#7))
{
lit#10 = "loginserver.graalonline.com:14900";
this.loginserver = lit#10;
}
// RegionId(3)
else
{
lit#11 = "loginfoo1.graalonline.com:14900";
this.loginserver = lit#11;
}
goto RegionId(11);
}
}
lit#12 = "logindelteria1.graalonline.com:14900";
this.loginserver = lit#12;
lit#15 = ":";
builtin_fn_call#16 = this.loginserver.pos(lit#15);
temp.i = builtin_fn_call#16;
lit#18 = 0;
builtin_fn_call#19 = this.loginserver.substring(lit#18, temp.i);
this.loginhost = builtin_fn_call#19;
lit#21 = 1;
lit#22 = 255;
builtin_fn_call#23 = this.loginserver.substring(temp.i + lit#21, lit#22);
this.loginport = builtin_fn_call#23;
lit#24 = 0;
return lit#24;
}
}
lit#13 = "loginclassic1.graalonline.com:14900";
this.loginserver = lit#13;
goto RegionId(11);
}
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 19