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": 21,
"address": 2607,
"block_type": "Normal"
},
"current_ast_node_stack": [],
"current_instruction": {
"opcode": "Ret",
"operand": null,
"address": 2608
}
}
function printDisconnectError(reason#3, error#2, doclosebutton#1, doreconnectbutton#0)
{
lit#6 = "";
// RegionId(0)
// RegionId(1)
if (reason#3 != lit#6)
{
temp.msg = reason#3;
}
// RegionId(2)
else
{
lit#7 = 2;
// RegionId(2)
// RegionId(3)
if (error#2 == lit#7)
{
lit#8 = "The game server could not be reached.";
temp.msg = lit#8;
}
// RegionId(4)
else
{
lit#9 = "You have been disconnected from the game server.";
builtin_fn_call#10 = _(lit#9);
temp.msg = builtin_fn_call#10;
}
}
fn_call#12 = echo#11(temp.msg);
// RegionId(0)
// RegionId(6)
if (doreconnectbutton#0)
{
fn_call#14 = getplatform#13();
lit#15 = "flash";
// RegionId(7)
if (fn_call#14 == lit#15)
{
lit#16 = "javascript:onCannotConnect(\"";
lit#17 = "\");";
fn_call#19 = openurl#18((lit#16 @ temp.msg) @ lit#17);
lit#20 = 0;
return lit#20;
}
}
// RegionId(8)
// RegionId(9)
if (doclosebutton#1)
{
lit#23 = "close";
}
// RegionId(10)
else
{
// RegionId(10)
// RegionId(11)
if (doreconnectbutton#0)
{
lit#24 = "relogin";
}
// RegionId(12)
else
{
lit#25 = "";
}
}
phi<idx=1, regions=()> = phi<idx=0, regions=()>;
// RegionId(13)
// RegionId(14)
if (doclose#27)
{
lit#28 = "Close";
}
// RegionId(15)
else
{
// RegionId(15)
// RegionId(16)
if (doreconnectbutton#0)
{
lit#29 = "Reconnect";
}
// RegionId(17)
else
{
lit#30 = "OK";
builtin_fn_call#31 = _(lit#30);
}
}
phi<idx=1, regions=()> = phi<idx=0, regions=()>;
fn_call#32 = getplatform#13();
lit#33 = "iphone";
// RegionId(18)
// RegionId(19)
if (fn_call#32 == lit#33)
{
lit#34 = "";
lit#35 = "";
lit#36 = "Connection Error";
fn_call#38 = showAppleMessageBox#37(lit#36, temp.msg, lit#35, temp.buttontext, lit#34);
}
// RegionId(20)
else
{
MessageBoxDialog_Text.text = temp.msg;
MessageBoxDialog_Button.text = temp.buttontext;
fn_call#44 = pushDialog#43(MessageBoxDialog#42);
lit#46 = false;
loadingscreenenabled#47 = lit#46;
}
lit#48 = 0;
return lit#48;
}
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 28