Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

function onApplyBan(obj#0)
{
    if (<ScriptedRCBanWindowTabSelect.selected.text>#5 == "Local ban") 
    {
        builtin_fn_call#10 = format("releasetime=%d", <ScriptedRCBanType.selected.time>#9);
        builtin_fn_call#14 = format("banned=%d", <ScriptedRCIsBanned.checked>#13);
        fn_call#17 = ScriptedRCBanType.getSelectedText();
        fn_call#18 = ScriptedRCBanType.getSelectedText();
        builtin_fn_call#19 = fn_call.pos("(");
        builtin_fn_call#20 = fn_call.substring(0, builtin_fn_call#19 - 1);
        builtin_fn_call#21 = format("bantype=%s", builtin_fn_call#20);
        builtin_fn_call#24 = format("reason=%s", <ScriptedRCBanReason.text>#23);
        builtin_fn_call#25 = format("world=%s", "local");
        fn_call#31 = sendtext("lister", "setban", {<obj.parent.acc>#29, builtin_fn_call#25, builtin_fn_call#24, builtin_fn_call#21, builtin_fn_call#14, builtin_fn_call#10});
        fn_call#37 = this.accountbaninfo.destroy();
    }
    else
    {
        if (<ScriptedRCBanWindowTabSelect.selected.text>#5 == "Computer ban") 
        {
            builtin_fn_call#41 = format("releasetime=%d", <ScriptedRCBanPCType.selected.time>#40);
            builtin_fn_call#44 = format("banned=%d", <ScriptedRCIsPCBanned.checked>#43);
            fn_call#46 = ScriptedRCBanPCType.getSelectedText();
            fn_call#47 = ScriptedRCBanPCType.getSelectedText();
            builtin_fn_call#48 = fn_call.pos("(");
            builtin_fn_call#49 = fn_call.substring(0, builtin_fn_call#48 - 1);
            builtin_fn_call#50 = format("bantype=%s", builtin_fn_call#49);
            builtin_fn_call#53 = format("reason=%s", <ScriptedRCBanPCReason.text>#52);
            builtin_fn_call#54 = format("world=%s", "local");
            fn_call#57 = sendtext("lister", "setban", {"pc:" @ <obj.parent.pcid>#56, builtin_fn_call#54, builtin_fn_call#53, builtin_fn_call#50, builtin_fn_call#44, builtin_fn_call#41});
            fn_call#61 = this.pcbaninfo.destroy();
        }
        else
        {
            if (<ScriptedRCBanWindowTabSelect.selected.text>#5 == "Global ban") 
            {
                builtin_fn_call#65 = format("releasetime=%d", <ScriptedRCBanGlobalType.selected.time>#64);
                builtin_fn_call#68 = format("banned=%d", <ScriptedRCIsGlobalBanned.checked>#67);
                fn_call#70 = ScriptedRCBanGlobalType.getSelectedText();
                fn_call#71 = ScriptedRCBanGlobalType.getSelectedText();
                builtin_fn_call#72 = fn_call.pos("(");
                builtin_fn_call#73 = fn_call.substring(0, builtin_fn_call#72 - 1);
                builtin_fn_call#74 = format("bantype=%s", builtin_fn_call#73);
                builtin_fn_call#77 = format("reason=%s", <ScriptedRCBanGlobalReason.text>#76);
                builtin_fn_call#78 = format("world=%s", "all");
                fn_call#79 = sendtext("lister", "setban", {<obj.parent.acc>#29, builtin_fn_call#78, builtin_fn_call#77, builtin_fn_call#74, builtin_fn_call#68, builtin_fn_call#65});
                fn_call#80 = this.accountbaninfo.destroy();
            }
            else
            {
                if (<ScriptedRCBanWindowTabSelect.selected.text>#5 == "Global PC ban") 
                {
                    builtin_fn_call#84 = format("releasetime=%d", <ScriptedRCBanGlobalPCType.selected.time>#83);
                    builtin_fn_call#87 = format("banned=%d", <ScriptedRCIsGlobalPCBanned.checked>#86);
                    fn_call#89 = ScriptedRCBanGlobalPCType.getSelectedText();
                    fn_call#90 = ScriptedRCBanGlobalPCType.getSelectedText();
                    builtin_fn_call#91 = fn_call.pos("(");
                    builtin_fn_call#92 = fn_call.substring(0, builtin_fn_call#91 - 1);
                    builtin_fn_call#93 = format("bantype=%s", builtin_fn_call#92);
                    builtin_fn_call#96 = format("reason=%s", <ScriptedRCBanGlobalPCReason.text>#95);
                    builtin_fn_call#97 = format("world=%s", "all");
                    fn_call#98 = sendtext("lister", "setban", {"pc:" @ <obj.parent.pcid>#56, builtin_fn_call#97, builtin_fn_call#96, builtin_fn_call#93, builtin_fn_call#87, builtin_fn_call#84});
                    fn_call#99 = this.pcbaninfo.destroy();
                }
            }
        }
    }
    fn_call#100 = this.accountbaninfo.destroy();
    fn_call#101 = this.pcbaninfo.destroy();
    fn_call#104 = ScriptedRCBanWindow.destroy();
    return 0;
}