Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

Backtrace

{
  "frames": []
}

Context

{
  "current_block_id": {
    "index": 3,
    "block_type": "Normal",
    "address": 3046
  },
  "current_ast_node_stack": [
    {
      "StandaloneNode": {
        "Expression": {
          "Literal": {
            "metadata": {
              "properties": {},
              "comments": []
            },
            "node_id": 26032,
            "ptr": {
              "String": "GuiRCListSearch"
            }
          }
        }
      }
    },
    {
      "StandaloneNode": {
        "Expression": {
          "Literal": {
            "metadata": {
              "properties": {},
              "comments": []
            },
            "ptr": {
              "String": "GuiRCListSearch"
            },
            "node_id": 26033
          }
        }
      }
    },
    {
      "StandaloneNode": {
        "Expression": {
          "Literal": {
            "metadata": {
              "properties": {},
              "comments": []
            },
            "node_id": 26034,
            "ptr": {
              "String": "GuiRCListSearch"
            }
          }
        }
      }
    },
    {
      "StandaloneNode": {
        "Expression": {
          "Literal": {
            "metadata": {
              "properties": {},
              "comments": []
            },
            "ptr": {
              "String": "GuiRCListSearch"
            },
            "node_id": 26035
          }
        }
      }
    },
    {
      "StandaloneNode": {
        "Expression": {
          "Literal": {
            "metadata": {
              "properties": {},
              "comments": []
            },
            "ptr": {
              "String": "GuiTextEditCtrl"
            },
            "node_id": 26036
          }
        }
      }
    }
  ],
  "current_instruction": {
    "opcode": "NewObject",
    "operand": null,
    "address": 3053
  }
}
function onGuiRCListKeyDown(obj#3, keycode#2, keytext#1, scancode#0)
{
    builtin_fn_call#4 = keytext#1.length();
    lit#5 = 1;
    // RegionId(0)
    // RegionId(1)
    if (builtin_fn_call#4 == lit#5) 
    {
        lit#6 = "GuiRCListSearch";
        fn_call#8 = isobject#7(lit#6);
        // RegionId(1)
        // RegionId(2)
        if (fn_call#8) 
        {
            fn_call#11 = GuiRCListSearch.destroy();
        }
        lit#12 = "GuiRCListSearch";
        gbf_new_obj#13 = lit#12;
        lit#14 = "GuiTextEditCtrl";
        new_node#15 = new lit#14(gbf_new_obj#13);
        gbf_new_obj#16 = new_node#15;
        // RegionId(3)
        // RegionId(4)
        with (gbf_new_obj#13) 
        {
            lit#18 = "GuiRCTextEditProfile";
            profile#19 = lit#18;
            lit#21 = 20;
            lit#22 = 96;
            extent#23 = {lit#22, lit#21};
            lit#27 = 2;
            lit#28 = 1;
            lit#29 = 2;
            position#30 = {lit#29, (obj.parent.parent.clientheight - lit#27) - extent#23[lit#28]};
            text#32 = keytext#1;
            lit#34 = "right";
            horizsizing#35 = lit#34;
            lit#37 = "top";
            vertsizing#38 = lit#37;
            this.list = obj#3;
        }
        fn_call#42 = addcontrol#41(phi<idx=0, regions=()>);
        fn_call#43 = obj.parent.parent.addcontrol(GuiRCListSearch#9);
        lit#44 = true;
        fn_call#46 = GuiRCListSearch.makefirstresponder(lit#44);
    }
    lit#47 = 0;
    return lit#47;
}