This was built to track decompiler and CFG progress.
Unimplemented Opcode: NewObject
{
"frames": []
}
{
"current_block_id": {
"index": 0,
"block_type": "Entry",
"address": 17696
},
"current_ast_node_stack": [
{
"StandaloneNode": {
"Expression": {
"Literal": {
"metadata": {
"properties": {},
"comments": []
},
"ptr": {
"String": "ScriptedRCAccountSearchWindow"
},
"node_id": 115842
}
}
}
},
{
"StandaloneNode": {
"Expression": {
"Literal": {
"metadata": {
"properties": {},
"comments": []
},
"node_id": 115843,
"ptr": {
"String": "ScriptedRCAccountSearchWindow"
}
}
}
}
},
{
"StandaloneNode": {
"Expression": {
"Literal": {
"metadata": {
"properties": {},
"comments": []
},
"ptr": {
"String": "ScriptedRCAccountSearchWindow"
},
"node_id": 115844
}
}
}
},
{
"StandaloneNode": {
"Expression": {
"Literal": {
"metadata": {
"properties": {},
"comments": []
},
"node_id": 115845,
"ptr": {
"String": "ScriptedRCAccountSearchWindow"
}
}
}
}
},
{
"StandaloneNode": {
"Expression": {
"Literal": {
"metadata": {
"properties": {},
"comments": []
},
"node_id": 115846,
"ptr": {
"String": "GuiWindowCtrl"
}
}
}
}
}
],
"current_instruction": {
"opcode": "NewObject",
"operand": null,
"address": 17707
}
}
function public.showAccountSearch()
{
lit#0 = "ScriptedRCAccountSearchWindow";
gbf_new_obj#1 = lit#0;
lit#2 = "GuiWindowCtrl";
new_node#3 = new lit#2(gbf_new_obj#1);
gbf_new_obj#4 = new_node#3;
// RegionId(0)
// RegionId(1)
with (gbf_new_obj#1)
{
lit#6 = 200;
lit#7 = 200;
position#8 = {lit#7, lit#6};
lit#10 = "GuiBlueWindowProfile";
profile#11 = lit#10;
fn_call#14 = getGUIStyle#13();
style#15 = fn_call#14;
lit#17 = true;
clientrelative#18 = lit#17;
lit#20 = 200;
lit#21 = 300;
clientextent#22 = {lit#21, lit#20};
lit#24 = true;
isexternal#25 = lit#24;
lit#27 = "Search accounts list";
text#28 = lit#27;
lit#30 = false;
canresize#31 = lit#30;
lit#33 = false;
canmaximize#34 = lit#33;
lit#36 = false;
canminimize#37 = lit#36;
fn_call#39 = showtop#38();
lit#40 = "ScriptedRCAccountSearchLabel1";
gbf_new_obj#41 = lit#40;
lit#42 = "GuiMLTextCtrl";
new_node#43 = new lit#42(gbf_new_obj#41);
gbf_new_obj#44 = new_node#43;
// RegionId(1)
// RegionId(2)
with (gbf_new_obj#41)
{
lit#45 = 6;
lit#46 = 6;
position#47 = {lit#46, lit#45};
lit#49 = 32;
lit#50 = 150;
extent#51 = {lit#50, lit#49};
lit#52 = "GuiBlueTextProfile";
profile#53 = lit#52;
lit#54 = "<b>Account name spec:</b>\n\t\te.g. Sky%";
text#55 = lit#54;
}
fn_call#57 = addcontrol#56(phi<idx=0, regions=()>);
lit#58 = "ScriptedRCAccountSearchLike";
gbf_new_obj#59 = lit#58;
lit#60 = "GuiTextEditCtrl";
new_node#61 = new lit#60(gbf_new_obj#59);
gbf_new_obj#62 = new_node#61;
// RegionId(3)
// RegionId(4)
with (gbf_new_obj#59)
{
lit#63 = 12;
lit#64 = 140;
position#65 = {lit#64, lit#63};
lit#66 = 24;
lit#67 = 148;
extent#68 = {lit#67, lit#66};
lit#69 = "GuiBlueTextEditProfile";
profile#70 = lit#69;
lit#71 = "";
text#72 = lit#71;
}
fn_call#73 = addcontrol#56(phi<idx=0, regions=()>);
lit#74 = "ScriptedRCAccountSearchLabel2";
gbf_new_obj#75 = lit#74;
lit#76 = "GuiMLTextCtrl";
new_node#77 = new lit#76(gbf_new_obj#75);
gbf_new_obj#78 = new_node#77;
// RegionId(5)
// RegionId(6)
with (gbf_new_obj#75)
{
lit#79 = 48;
lit#80 = 6;
position#81 = {lit#80, lit#79};
lit#82 = 200;
lit#83 = 280;
extent#84 = {lit#83, lit#82};
lit#85 = "GuiBlueTextProfile";
profile#86 = lit#85;
lit#87 = "<b>Conditions:</b>\n\t\te.g. adminlevel>0\n\n<b>Variable usage example:</b> email=\'skyld@graalonline.com\', adminlevel=1, adminworlds like \'%all%\', blocked=1";
text#88 = lit#87;
}
fn_call#89 = addcontrol#56(phi<idx=0, regions=()>);
lit#90 = "ScriptedRCAccountSearchWhere";
gbf_new_obj#91 = lit#90;
lit#92 = "GuiTextEditCtrl";
new_node#93 = new lit#92(gbf_new_obj#91);
gbf_new_obj#94 = new_node#93;
// RegionId(7)
// RegionId(8)
with (gbf_new_obj#91)
{
lit#95 = 52;
lit#96 = 140;
position#97 = {lit#96, lit#95};
lit#98 = 24;
lit#99 = 148;
extent#100 = {lit#99, lit#98};
lit#101 = "GuiBlueTextEditProfile";
profile#102 = lit#101;
lit#103 = "";
text#104 = lit#103;
}
fn_call#105 = addcontrol#56(phi<idx=0, regions=()>);
lit#106 = "ScriptedRCAccountSearchButton";
gbf_new_obj#107 = lit#106;
lit#108 = "GuiButtonCtrl";
new_node#109 = new lit#108(gbf_new_obj#107);
gbf_new_obj#110 = new_node#109;
// RegionId(9)
// RegionId(10)
with (gbf_new_obj#107)
{
lit#111 = 160;
lit#112 = 226;
position#113 = {lit#112, lit#111};
lit#114 = 32;
lit#115 = 64;
extent#116 = {lit#115, lit#114};
lit#117 = "GuiBlueButtonProfile";
profile#118 = lit#117;
lit#119 = "&Search";
text#120 = lit#119;
}
fn_call#121 = addcontrol#56(phi<idx=0, regions=()>);
lit#122 = "ScriptedRCAccountSearchAddButton";
gbf_new_obj#123 = lit#122;
lit#124 = "GuiButtonCtrl";
new_node#125 = new lit#124(gbf_new_obj#123);
gbf_new_obj#126 = new_node#125;
// RegionId(11)
// RegionId(12)
with (gbf_new_obj#123)
{
lit#127 = 160;
lit#128 = 158;
position#129 = {lit#128, lit#127};
lit#130 = 32;
lit#131 = 64;
extent#132 = {lit#131, lit#130};
lit#133 = "GuiBlueButtonProfile";
profile#134 = lit#133;
lit#135 = "&Add New";
text#136 = lit#135;
}
fn_call#137 = addcontrol#56(phi<idx=0, regions=()>);
}
fn_call#138 = addcontrol#56(phi<idx=0, regions=()>);
lit#139 = 0;
return lit#139;
}
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 29