Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

function public.horseDisabledHere()
{
    // RegionId(1)
    if (player.level.spar) 
    {
        lit#5 = true;
        return lit#5;
    }
    // RegionId(2)
    else
    {
        lit#7 = "olddeadwood_inside_labyrinth";
        builtin_fn_call#8 = player.level.name.starts(lit#7);
        // RegionId(3)
        if (builtin_fn_call#8) 
        {
            lit#9 = true;
            return lit#9;
        }
        // RegionId(4)
        else
        {
            lit#10 = "onnettown_inside_archery_";
            builtin_fn_call#11 = player.level.name.starts(lit#10);
            // RegionId(5)
            if (builtin_fn_call#11) 
            {
                lit#12 = true;
                return lit#12;
            }
            // RegionId(6)
            else
            {
                lit#13 = "bigcity_inside_";
                builtin_fn_call#14 = player.level.name.starts(lit#13);
                // RegionId(7)
                if (builtin_fn_call#14) 
                {
                    lit#15 = true;
                    return lit#15;
                }
                // RegionId(8)
                else
                {
                    lit#16 = "onnet_school";
                    builtin_fn_call#17 = player.level.name.starts(lit#16);
                    // RegionId(9)
                    if (builtin_fn_call#17) 
                    {
                        lit#18 = true;
                        return lit#18;
                    }
                    // RegionId(10)
                    else
                    {
                        lit#19 = "club_rev";
                        builtin_fn_call#20 = player.level.name.starts(lit#19);
                        // RegionId(11)
                        if (builtin_fn_call#20) 
                        {
                            lit#21 = true;
                            return lit#21;
                        }
                        // RegionId(12)
                        else
                        {
                            lit#22 = "event_pktournament.nw";
                            // RegionId(13)
                            if (player.level.name == lit#22) 
                            {
                                lit#23 = false;
                                return lit#23;
                            }
                            // RegionId(14)
                            else
                            {
                                lit#24 = "event_";
                                builtin_fn_call#25 = player.level.name.starts(lit#24);
                                // RegionId(15)
                                if (builtin_fn_call#25) 
                                {
                                    lit#26 = true;
                                    return lit#26;
                                }
                                // RegionId(16)
                                else
                                {
                                    // RegionId(17)
                                    if (player.level.nomounts) 
                                    {
                                        lit#28 = true;
                                        return lit#28;
                                    }
                                    // RegionId(18)
                                    else
                                    {
                                        lit#29 = "no_mounts.nw";
                                        // RegionId(19)
                                        if (player.level.name in {lit#29}) 
                                        {
                                            lit#30 = true;
                                            return lit#30;
                                        }
                                        // RegionId(20)
                                        else
                                        {
                                            lit#31 = "graalcity_guardoutpost0.nw";
                                            // RegionId(21)
                                            if (player.level.name == lit#31) 
                                            {
                                                lit#32 = true;
                                                return lit#32;
                                            }
                                            // RegionId(22)
                                            else
                                            {
                                                lit#33 = "club_nexus-mall";
                                                builtin_fn_call#34 = player.level.name.starts(lit#33);
                                                // RegionId(22)
                                                // RegionId(23)
                                                if (builtin_fn_call#34) 
                                                {
                                                    lit#37 = "mountnew_nexus21_animalscooter";
                                                    builtin_fn_call#38 = client.selectedhorse.starts(lit#37);
                                                    // RegionId(24)
                                                    if (!builtin_fn_call#38) 
                                                    {
                                                        lit#39 = true;
                                                        return lit#39;
                                                    }
                                                }
                                                lit#40 = "testfort";
                                                builtin_fn_call#41 = player.level.name.starts(lit#40);
                                                // RegionId(26)
                                                if (builtin_fn_call#41) 
                                                {
                                                    lit#42 = true;
                                                    return lit#42;
                                                }
                                                // RegionId(27)
                                                else
                                                {
                                                    lit#43 = "warcampaign_";
                                                    builtin_fn_call#44 = player.level.name.starts(lit#43);
                                                    // RegionId(28)
                                                    if (builtin_fn_call#44) 
                                                    {
                                                        lit#45 = true;
                                                        return lit#45;
                                                    }
                                                    // RegionId(29)
                                                    else
                                                    {
                                                        lit#47 = "bigcity_overworld.gmap";
                                                        // RegionId(29)
                                                        // RegionId(30)
                                                        if (player.gmap.name == lit#47) 
                                                        {
                                                            lit#49 = 120;
                                                            lit#50 = 128;
                                                            // RegionId(30)
                                                            // RegionId(31)
                                                            if (player.x in <lit#49, lit#50>) 
                                                            {
                                                                lit#52 = 156;
                                                                lit#53 = 170;
                                                                // RegionId(32)
                                                                if (player.y in <lit#52, lit#53>) 
                                                                {
                                                                    lit#54 = true;
                                                                    return lit#54;
                                                                }
                                                            }
                                                        }
                                                        lit#56 = 30;
                                                        lit#57 = 26;
                                                        lit#58 = 2;
                                                        lit#59 = 0;
                                                        lit#60 = "overworld_66.nw";
                                                        lit#61 = 64;
                                                        lit#62 = 64;
                                                        lit#63 = 0;
                                                        lit#64 = 21;
                                                        lit#65 = "overworld_destiny_16.nw";
                                                        lit#66 = 64;
                                                        lit#67 = 64;
                                                        lit#68 = 0;
                                                        lit#69 = 21;
                                                        lit#70 = "overworld_destiny_05.nw";
                                                        lit#71 = 44;
                                                        lit#72 = 60;
                                                        lit#73 = 0;
                                                        lit#74 = 14;
                                                        lit#75 = "overworld_destiny_02.nw";
                                                        lit#76 = 64;
                                                        lit#77 = 64;
                                                        lit#78 = 0;
                                                        lit#79 = 0;
                                                        lit#80 = "club_nexus0515-forest.nw";
                                                        lit#81 = 64;
                                                        lit#82 = 64;
                                                        lit#83 = 0;
                                                        lit#84 = 0;
                                                        lit#85 = "club_nexus0515-monster.nw";
                                                        lit#86 = 64;
                                                        lit#87 = 64;
                                                        lit#88 = 0;
                                                        lit#89 = 0;
                                                        lit#90 = "club_nexus0515-magic.nw";
                                                        lit#91 = 64;
                                                        lit#92 = 64;
                                                        lit#93 = 0;
                                                        lit#94 = 0;
                                                        lit#95 = "club_nexus0515-blacksmith.nw";
                                                        lit#96 = 64;
                                                        lit#97 = 64;
                                                        lit#98 = 0;
                                                        lit#99 = 0;
                                                        lit#100 = "overworld_ocean_124.nw";
                                                        lit#101 = 37;
                                                        lit#102 = 46;
                                                        lit#103 = 21;
                                                        lit#104 = 8;
                                                        lit#105 = "overworld_31.nw";
                                                        lit#106 = 37;
                                                        lit#107 = 46;
                                                        lit#108 = 21;
                                                        lit#109 = 8;
                                                        lit#110 = "overworld_31dev.nw";
                                                        lit#111 = 28;
                                                        lit#112 = 59.5;
                                                        lit#113 = 2.5;
                                                        lit#114 = 29.5;
                                                        lit#115 = "overworld_34.nw";
                                                        lit#116 = 37.5;
                                                        lit#117 = 54.5;
                                                        lit#118 = 5;
                                                        lit#119 = 32.95;
                                                        lit#120 = "overworld_26.nw";
                                                        lit#121 = 36;
                                                        lit#122 = 60.5;
                                                        lit#123 = 10;
                                                        lit#124 = 38.5;
                                                        lit#125 = "overworld_32.nw";
                                                        lit#126 = 30;
                                                        lit#127 = 43.5;
                                                        lit#128 = 1;
                                                        lit#129 = 15.5;
                                                        lit#130 = "modtown_outside_03.nw";
                                                        temp.disabled_ranges = {lit#130, {lit#129, lit#128, lit#127, lit#126}, lit#125, {lit#124, lit#123, lit#122, lit#121}, lit#120, {lit#119, lit#118, lit#117, lit#116}, lit#115, {lit#114, lit#113, lit#112, lit#111}, lit#110, {lit#109, lit#108, lit#107, lit#106}, lit#105, {lit#104, lit#103, lit#102, lit#101}, lit#100, {lit#99, lit#98, lit#97, lit#96}, lit#95, {lit#94, lit#93, lit#92, lit#91}, lit#90, {lit#89, lit#88, lit#87, lit#86}, lit#85, {lit#84, lit#83, lit#82, lit#81}, lit#80, {lit#79, lit#78, lit#77, lit#76}, lit#75, {lit#74, lit#73, lit#72, lit#71}, lit#70, {lit#69, lit#68, lit#67, lit#66}, lit#65, {lit#64, lit#63, lit#62, lit#61}, lit#60, {lit#59, lit#58, lit#57, lit#56}};
                                                        lit#131 = null;
                                                        // RegionId(33)
                                                        // RegionId(34)
                                                        if (player.gmap != lit#131) 
                                                        {
                                                            lit#132 = 2;
                                                            lit#133 = 1.5;
                                                            fn_call#135 = player.gmap.getmappartfile(player.x + lit#133, player.y + lit#132);
                                                        }
                                                        // RegionId(35)
                                                        else
                                                        {
                                                        }
                                                        phi<idx=1, regions=()> = phi<idx=0, regions=()>;
                                                        // RegionId(37)
                                                        if (temp.level in temp.disabled_ranges) 
                                                        {
                                                            builtin_fn_call#136 = temp.disabled_ranges.index(player.level.name);
                                                            lit#137 = 1;
                                                            temp.range = temp.disabled_ranges[builtin_fn_call#136 + lit#137];
                                                            lit#138 = 64;
                                                            lit#139 = 0;
                                                            lit#140 = 2;
                                                            // RegionId(37)
                                                            // RegionId(38)
                                                            if ((player.x % lit#138) in <temp.range[lit#139], temp.range[lit#140]>) 
                                                            {
                                                                lit#141 = 64;
                                                                lit#142 = 1;
                                                                lit#143 = 3;
                                                            }
                                                            return phi<idx=0, regions=()>;
                                                        }
                                                        // RegionId(41)
                                                        else
                                                        {
                                                            lit#144 = false;
                                                            return lit#144;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}