Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

function onCheckServerRestart()
{
    // RegionId(1)
    if (timevar#2 < serverr.timetildisconnect) 
    {
        lit#5 = "ClassicNews_Notification";
        fn_call#7 = findobject#6(lit#5);
        fn_call#9 = fn_call.isactuallyvisible();
        // RegionId(2)
        if (fn_call#9) 
        {
            lit#10 = 2000;
            fn_call#12 = hideimg#11(lit#10);
            lit#13 = null;
            lit#14 = "CheckServerRestart";
            lit#15 = 0.1;
            fn_call#17 = scheduleEvent#16(lit#15, lit#14, lit#13);
            lit#18 = 0;
            return lit#18;
        }
        // RegionId(3)
        else
        {
            lit#19 = 6;
            builtin_fn_call#20 = int((serverr.timetildisconnect - timevar#2) * lit#19);
            temp.t = builtin_fn_call#20;
            lit#21 = 60;
            // RegionId(3)
            // RegionId(4)
            if (temp.t > lit#21) 
            {
                lit#22 = 60;
                builtin_fn_call#23 = int(temp.t / lit#22);
                lit#24 = " ";
                lit#25 = 120;
                // RegionId(4)
                // RegionId(5)
                if (temp.t > lit#25) 
                {
                    lit#26 = "minutes";
                }
                // RegionId(6)
                else
                {
                    lit#27 = "minute";
                }
                phi<idx=2, regions=()> = phi<idx=1, regions=()> @ phi<idx=0, regions=()>;
            }
            // RegionId(8)
            else
            {
                lit#28 = 5;
                lit#29 = 5;
                builtin_fn_call#30 = int(temp.t / lit#29);
                lit#31 = 5;
                builtin_fn_call#32 = max(lit#28, builtin_fn_call#30 * lit#31);
                lit#33 = " ";
                lit#34 = "seconds";
                temp.t = (builtin_fn_call#32 @ lit#33) @ lit#34;
            }
            lit#39 = 1.5;
            temp.scale = (ControlsContainer.height / ControlsContainer.clientheight) / lit#39;
            lit#40 = 2000;
            fn_call#42 = findimg#41(lit#40);
            // RegionId(9)
            // RegionId(10)
            with (fn_call#42) 
            {
                lit#45 = 2;
                x#46 = screenwidth#44 / lit#45;
                lit#49 = 30;
                y#50 = screenheight#48 - (lit#49 * temp.scale);
                lit#52 = 10;
                layer#53 = lit#52;
                lit#55 = "Server restarting in: %s.";
                builtin_fn_call#56 = format(lit#55, temp.t);
                text#57 = builtin_fn_call#56;
                lit#59 = "bc";
                style#60 = lit#59;
                lit#62 = true;
                textshadow#63 = lit#62;
                lit#65 = 1;
                builtin_fn_call#66 = max(lit#65, temp.scale);
                zoom#67 = builtin_fn_call#66;
            }
            lit#68 = null;
            lit#69 = "CheckServerRestart";
            lit#70 = 1;
            fn_call#71 = scheduleEvent#16(lit#70, lit#69, lit#68);
            goto RegionId(13);
        }
    }
    // RegionId(12)
    else
    {
        lit#72 = 2000;
        fn_call#73 = hideimg#11(lit#72);
        lit#74 = 0;
        return lit#74;
    }
}