Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

function onCountdownHurtbyTimer(temp.uid)
{
    lit#4 = 3;
    // RegionId(0)
    // RegionId(1)
    if (client.suicideCheck[lit#4] != temp.uid) 
    {
        lit#5 = 2;
        lit#6 = 0;
    }
    // RegionId(3)
    if (phi<idx=0, regions=()>) 
    {
        lit#7 = 0;
        return lit#7;
    }
    // RegionId(4)
    else
    {
        lit#12 = "house_";
        builtin_fn_call#13 = player.level.name.starts(lit#12);
        // RegionId(4)
        // RegionId(5)
        if (builtin_fn_call#13) 
        {
            lit#14 = "guildhouse_";
            builtin_fn_call#15 = player.level.name.starts(lit#14);
        }
        phi<idx=1, regions=()> = phi<idx=0, regions=()>;
        // RegionId(8)
        if (temp.inhouse) 
        {
            lit#16 = "CountdownHurtbyTimer";
            lit#17 = 1;
            fn_call#19 = scheduleEvent#18(lit#17, lit#16, temp.uid);
            lit#20 = 0;
            return lit#20;
        }
        // RegionId(9)
        else
        {
            lit#22 = 0;
            lit#23 = 2;
            lit#24 = 0.25;
            builtin_fn_call#25 = max(lit#22, client.suicideCheck[lit#23] - lit#24);
            temp.countdown = builtin_fn_call#25;
            lit#26 = 0;
            // RegionId(10)
            if (temp.countdown <= lit#26) 
            {
                lit#27 = "";
                client.suicideCheck = lit#27;
                lit#28 = 0;
                return lit#28;
            }
            // RegionId(11)
            else
            {
                lit#29 = 2;
                client.suicideCheck[lit#29] = temp.countdown;
                lit#30 = "CountdownHurtbyTimer";
                lit#31 = 0.25;
                fn_call#32 = scheduleEvent#18(lit#31, lit#30, temp.uid);
                lit#33 = 0;
                return lit#33;
            }
        }
    }
}