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": 12769
  },
  "current_ast_node_stack": [
    {
      "StandaloneNode": {
        "Expression": {
          "Literal": {
            "metadata": {
              "properties": {},
              "comments": []
            },
            "ptr": {
              "String": "ScriptedRC_SearchEdit"
            },
            "node_id": 66731
          }
        }
      }
    },
    {
      "StandaloneNode": {
        "Expression": {
          "Literal": {
            "metadata": {
              "properties": {},
              "comments": []
            },
            "ptr": {
              "String": "ScriptedRC_SearchEdit"
            },
            "node_id": 66732
          }
        }
      }
    },
    {
      "StandaloneNode": {
        "Expression": {
          "Literal": {
            "metadata": {
              "properties": {},
              "comments": []
            },
            "ptr": {
              "String": "ScriptedRC_SearchEdit"
            },
            "node_id": 66733
          }
        }
      }
    },
    {
      "StandaloneNode": {
        "Expression": {
          "Literal": {
            "metadata": {
              "properties": {},
              "comments": []
            },
            "node_id": 66734,
            "ptr": {
              "String": "ScriptedRC_SearchEdit"
            }
          }
        }
      }
    },
    {
      "StandaloneNode": {
        "Expression": {
          "Literal": {
            "metadata": {
              "properties": {},
              "comments": []
            },
            "node_id": 66735,
            "ptr": {
              "String": "GuiTextEditCtrl"
            }
          }
        }
      }
    }
  ],
  "current_instruction": {
    "opcode": "NewObject",
    "operand": null,
    "address": 12776
  }
}
function showSearch(begintext#1, parentobj#0)
{
    lit#2 = "ScriptedRC_SearchWindow";
    fn_call#4 = isObject#3(lit#2);
    // RegionId(0)
    // RegionId(1)
    if (fn_call#4) 
    {
        fn_call#7 = ScriptedRC_SearchWindow.destroy();
    }
    // RegionId(2)
    // RegionId(3)
    with (parentobj#0) 
    {
        lit#8 = "ScriptedRC_SearchEdit";
        gbf_new_obj#9 = lit#8;
        lit#10 = "GuiTextEditCtrl";
        new_node#11 = new lit#10(gbf_new_obj#9);
        gbf_new_obj#12 = new_node#11;
        // RegionId(3)
        // RegionId(4)
        with (gbf_new_obj#9) 
        {
            lit#14 = "GuiBlueTextEditProfile";
            profile#15 = lit#14;
            fn_call#18 = getGUIStyle#17();
            style#19 = fn_call#18;
            lit#21 = true;
            clientrelative#22 = lit#21;
            lit#24 = 24;
            height#25 = lit#24;
            lit#27 = 150;
            width#28 = lit#27;
            lit#30 = 0.75;
            alpha#31 = lit#30;
            lit#33 = 2;
            lit#34 = 2;
            x#35 = (parentobj.width / lit#33) - (width#28 / lit#34);
            lit#37 = 70;
            y#38 = parentobj.height - lit#37;
            lit#40 = null;
            // RegionId(4)
            // RegionId(5)
            if (begintext#1 == lit#40) 
            {
                lit#41 = "";
            }
            // RegionId(6)
            else
            {
            }
            phi<idx=1, regions=()> = phi<idx=0, regions=()>;
            lit#42 = "onSearchTyped";
            lit#43 = "onKeyDown";
            fn_call#47 = thiso.catchEvent(this#44, lit#43, lit#42);
        }
        fn_call#49 = addcontrol#48(phi<idx=0, regions=()>);
    }
    lit#50 = null;
    // RegionId(9)
    // RegionId(10)
    if (begintext#1 != lit#50) 
    {
        fn_call#52 = performSearch#51();
    }
    lit#53 = 0;
    return lit#53;
}