Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

function public.rewardTreasureMapChest(temp.itm)
{
    lit#7 = null;
    // RegionId(1)
    if (temp.itm == lit#7) 
    {
        lit#8 = 0;
        return lit#8;
    }
    // RegionId(2)
    else
    {
        lit#9 = 1;
        temp.itm_name = temp.itm[lit#9];
        lit#10 = 5;
        temp.itm_desc = temp.itm[lit#10];
        lit#11 = 2;
        lit#12 = "hat";
        // RegionId(2)
        // RegionId(3)
        if (temp.itm[lit#11] == lit#12) 
        {
            lit#13 = 7;
            temp.itm_img = temp.itm[lit#13];
            lit#14 = 0.5;
            fn_call#15 = freezeplayer#4(lit#14);
            lit#16 = "classic_showitemhat";
            fn_call#18 = setani#17(lit#16, temp.itm_img);
        }
        // RegionId(4)
        else
        {
            lit#19 = 2;
            lit#20 = "furniture";
            // RegionId(4)
            // RegionId(5)
            if (temp.itm[lit#19] == lit#20) 
            {
                lit#21 = 3;
                temp.itm_img = temp.itm[lit#21];
                lit#22 = 0.5;
                fn_call#23 = freezeplayer#4(lit#22);
                lit#24 = "classic_showitemfurniture";
                fn_call#25 = setani#17(lit#24, temp.itm_img);
            }
            // RegionId(6)
            else
            {
                lit#26 = 2;
                lit#27 = "horse";
                // RegionId(6)
                // RegionId(7)
                if (temp.itm[lit#26] == lit#27) 
                {
                    lit#28 = 3;
                    temp.itm_img = temp.itm[lit#28];
                    lit#29 = 0.5;
                    fn_call#30 = freezeplayer#4(lit#29);
                    lit#31 = null;
                    lit#32 = "classic_cheer-nosound";
                    fn_call#33 = setani#17(lit#32, lit#31);
                }
                // RegionId(8)
                else
                {
                    lit#34 = "Easter Egg";
                    // RegionId(8)
                    // RegionId(9)
                    if (temp.itm_name == lit#34) 
                    {
                        lit#36 = 2;
                        lit#37 = 4;
                        lit#38 = -1;
                        builtin_fn_call#39 = temp.itm[lit#36].substring(lit#37, lit#38);
                        temp.egg = builtin_fn_call#39;
                        lit#40 = "classic_easter_egg";
                        lit#41 = ".png";
                        temp.itm_img = (lit#40 @ temp.egg) @ lit#41;
                    }
                    // RegionId(10)
                    else
                    {
                        lit#42 = "diveloot_";
                        lit#43 = 3;
                        lit#44 = ".png";
                        temp.itm_img = (lit#42 @ temp.itm[lit#43]) @ lit#44;
                    }
                    lit#45 = 0.5;
                    fn_call#46 = freezeplayer#4(lit#45);
                    lit#47 = "classic_showitem";
                    fn_call#48 = setani#17(lit#47, temp.itm_img);
                }
            }
        }
        lit#50 = 2;
        lit#51 = "horse";
        lit#52 = "weapon";
        lit#53 = "furniture";
        lit#54 = "hat";
        temp.founditem = temp.itm[lit#50] in {lit#54, lit#53, lit#52, lit#51};
        lit#55 = "gralat";
        builtin_fn_call#56 = temp.itm_name.pos(lit#55);
        lit#57 = 0;
        // RegionId(13)
        if (builtin_fn_call#56 >= lit#57) 
        {
            lit#58 = 0;
            return lit#58;
        }
        // RegionId(14)
        else
        {
            lit#59 = 0;
            lit#60 = 1;
            builtin_fn_call#61 = temp.itm_name.substring(lit#59, lit#60);
            fn_call#63 = lowercase#62(builtin_fn_call#61);
            lit#64 = "u";
            lit#65 = "o";
            lit#66 = "i";
            lit#67 = "e";
            lit#68 = "a";
            // RegionId(14)
            // RegionId(15)
            if (fn_call#63 in {lit#68, lit#67, lit#66, lit#65, lit#64}) 
            {
                lit#69 = "an ";
            }
            // RegionId(16)
            else
            {
                lit#70 = "a ";
            }
            phi<idx=1, regions=()> = phi<idx=0, regions=()>;
            lit#72 = "Fish Bones";
            lit#73 = "Dead Coral";
            lit#74 = "Kelp";
            temp.plurals = {lit#74, lit#73, lit#72};
            // RegionId(17)
            // RegionId(18)
            if (temp.itm_name in temp.plurals) 
            {
                lit#75 = "";
            }
            // RegionId(19)
            else
            {
            }
            phi<idx=1, regions=()> = phi<idx=0, regions=()>;
            // RegionId(20)
            // RegionId(21)
            if (temp.founditem) 
            {
                lit#76 = true;
            }
            // RegionId(22)
            // RegionId(23)
            if (phi<idx=0, regions=()>) 
            {
                lit#77 = "";
                // RegionId(23)
                // RegionId(24)
                if (temp.itm_desc == lit#77) 
                {
                    lit#78 = null;
                }
            }
            // RegionId(26)
            if (phi<idx=0, regions=()>) 
            {
                // RegionId(26)
                // RegionId(27)
                if (temp.founditem) 
                {
                    lit#79 = 2;
                }
                // RegionId(28)
                else
                {
                    lit#80 = 1;
                }
                lit#81 = "\nYou found ";
                lit#82 = "*";
                lit#83 = "*.";
                lit#84 = "-GUI/Chat";
                fn_call#86 = phi_fn_call({lit.say3, (((lit#81 @ temp.aoran) @ lit#82) @ temp.itm_name) @ lit#83, ...phi<idx=0, regions=()>});
                lit#87 = 0;
                return lit#87;
            }
            // RegionId(30)
            else
            {
                lit#88 = 0.05;
                fn_call#89 = freezeplayer#4(lit#88);
                lit#91 = "";
                // RegionId(30)
                // RegionId(31)
                if (lit#91) 
                {
                    lit#92 = "";
                }
                // RegionId(32)
                else
                {
                    lit#93 = "#b#b";
                }
                phi<idx=1, regions=()> = phi<idx=0, regions=()>;
                phi<idx=3, regions=()> = phi<idx=2, regions=()>;
                // RegionId(33)
                // RegionId(34)
                if (temp.founditem) 
                {
                    lit#94 = 2;
                }
                // RegionId(35)
                else
                {
                    lit#95 = 1;
                }
                lit#96 = "\nYou found ";
                lit#97 = "*";
                lit#98 = "*.";
                lit#99 = "-GUI/Chat";
                fn_call#100 = phi_fn_call({lit.say3, ((((lit#96 @ temp.aoran) @ lit#97) @ temp.itm_name) @ lit#98) @ temp.newdesc, ...phi<idx=0, regions=()>});
                lit#101 = 0;
                return lit#101;
            }
        }
    }
}