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": 6
  },
  "current_ast_node_stack": [
    {
      "StandaloneNode": {
        "Expression": {
          "Assignable": {
            "MemberAccess": {
              "metadata": {
                "properties": {},
                "comments": []
              },
              "node_id": 20618,
              "ptr": {
                "rhs": {
                  "Identifier": {
                    "metadata": {
                      "properties": {},
                      "comments": []
                    },
                    "ptr": {
                      "ssa_version": null,
                      "id": "options"
                    },
                    "node_id": 20617
                  }
                },
                "lhs": {
                  "Identifier": {
                    "metadata": {
                      "properties": {},
                      "comments": []
                    },
                    "node_id": 20616,
                    "ptr": {
                      "ssa_version": null,
                      "id": "remotecontrol"
                    }
                  }
                },
                "ssa_version": 4
              }
            }
          }
        }
      }
    },
    {
      "StandaloneNode": {
        "Expression": {
          "Assignable": {
            "Identifier": {
              "metadata": {
                "properties": {},
                "comments": []
              },
              "node_id": 20619,
              "ptr": {
                "ssa_version": 5,
                "id": "unknown_object"
              }
            }
          }
        }
      }
    },
    {
      "StandaloneNode": {
        "Expression": {
          "Literal": {
            "metadata": {
              "properties": {},
              "comments": []
            },
            "ptr": {
              "String": "TStaticVar"
            },
            "node_id": 20620
          }
        }
      }
    }
  ],
  "current_instruction": {
    "opcode": "NewObject",
    "operand": null,
    "address": 23
  }
}
function onCreated()
{
    remotecontrol#2 = this#1;
    lit#5 = "TStaticVar";
    new_node#6 = new lit#5(unknown_object#4);
    remotecontrol.options = new_node#6;
    lit#7 = "scriptfiles/rcoptions.txt";
    fn_call#9 = remotecontrol.options.loadvars(lit#7);
    lit#11 = 0;
    // RegionId(0)
    // RegionId(1)
    if (remotecontrol.options.consolefontsize <= lit#11) 
    {
        lit#12 = 14;
        remotecontrol.options.consolefontsize = lit#12;
    }
    lit#14 = 0;
    // RegionId(2)
    // RegionId(3)
    if (remotecontrol.options.consolebufferlines <= lit#14) 
    {
        lit#15 = 0;
        remotecontrol.options.consolebufferlines = lit#15;
    }
    fn_call#17 = remotecontrol.updateGuiProfiles();
    fn_call#19 = this.isOpen();
    // RegionId(4)
    // RegionId(5)
    if (fn_call#19) 
    {
        fn_call#21 = killRC#20();
        lit#23 = null;
        // RegionId(5)
        // RegionId(6)
        if (GuiRC#22 != lit#23) 
        {
            fn_call#25 = GuiRC.destroy();
        }
        lit#26 = 1;
        builtin_fn_call#27 = sleep(lit#26);
        fn_call#29 = loadRC#28();
    }
    lit#30 = 0;
    return lit#30;
}