Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

Backtrace

{
  "frames": []
}

Context

{
  "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;
}