Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

function initializeEngineOptions()
{
    localplayer#8 = player#0;
    lit#10 = false;
    loadingscreenenabled#11 = lit#10;
    lit#13 = false;
    allowloginreconnect#14 = lit#13;
    lit#15 = "graal2002letters.png";
    fn_call#17 = setletters#16(lit#15);
    lit#19 = "";
    // RegionId(0)
    // RegionId(1)
    if (client.statusimage != lit#19) 
    {
        fn_call#21 = setstatusimage#20(client.statusimage);
    }
    lit#23 = "android";
    lit#24 = "flash";
    // RegionId(2)
    // RegionId(3)
    if (player.platform in {lit#24, lit#23}) 
    {
        lit#26 = "Arial";
        $pref::Graal::defaultfontname#27 = lit#26;
        lit#28 = "preloademoticons";
        fn_call#30 = cancelevents#29(lit#28);
        lit#31 = "";
        lit#32 = "preloademoticons";
        lit#33 = 5;
        fn_call#35 = scheduleevent#34(lit#33, lit#32, lit#31);
    }
    fn_call#37 = updateDefaultFont#36();
    lit#39 = 21;
    $pref::Graal::defaultfontsize#40 = lit#39;
    lit#42 = "DustyPorViva";
    lit#43 = "Graal804943";
    lit#44 = "Graal2021160";
    lit#45 = "pc:12856780";
    lit#46 = "Sahasrahla";
    lit#47 = "Xor";
    lit#48 = "Graal2123882";
    lit#49 = "Chompy";
    temp.emojiTesters = {lit#49, lit#48, lit#47, lit#46, lit#45, lit#44, lit#43, lit#42};
    lit#50 = "iphone";
    // RegionId(0)
    // RegionId(21)
    if (!(player.platform == lit#50)) 
    {
        lit#51 = "android";
        // RegionId(22)
        if (!(phi<idx=0, regions=()> == lit#51)) 
        {
            lit#52 = "mac";
            // RegionId(22)
            // RegionId(23)
            if (!(phi<idx=0, regions=()> == lit#52)) 
            {
                lit#53 = "win";
                // RegionId(23)
                // RegionId(24)
                if (!(phi<idx=0, regions=()> == lit#53)) 
                {
                    lit#54 = "flash";
                    // RegionId(24)
                    // RegionId(16)
                    if (!(phi<idx=0, regions=()> == lit#54)) 
                    {
                        lit#55 = 6.108;
                        // RegionId(16)
                        // RegionId(17)
                        if (graalversion#6 >= lit#55) 
                        {
                            lit#56 = 6;
                            lit#57 = 6;
                            lit#58 = "DroidSansArabic.ttf";
                            fn_call#59 = addUTF8FontRange#4(lit#58, lit#57, lit#56);
                            lit#60 = 48;
                            lit#61 = 48;
                            lit#62 = "DroidSansJapanese.ttf";
                            fn_call#63 = addUTF8FontRange#4(lit#62, lit#61, lit#60);
                            lit#64 = 159;
                            lit#65 = 78;
                            lit#66 = "DroidSansJapanese.ttf";
                            fn_call#67 = addUTF8FontRange#4(lit#66, lit#65, lit#64);
                            lit#68 = 49;
                            lit#69 = 49;
                            lit#70 = "korean_hline.ttf";
                            fn_call#71 = addUTF8FontRange#4(lit#70, lit#69, lit#68);
                            lit#72 = 215;
                            lit#73 = 172;
                            lit#74 = "korean_hline.ttf";
                            fn_call#75 = addUTF8FontRange#4(lit#74, lit#73, lit#72);
                            // RegionId(17)
                            // RegionId(18)
                            if (player.account in temp.emojiTesters) 
                            {
                                lit#77 = 63743;
                                lit#78 = 0;
                                lit#79 = "Symbola.ttf";
                                fn_call#80 = addUTF8FontRange#4(lit#79, lit#78, lit#77);
                                lit#81 = 6;
                                lit#82 = 6;
                                lit#83 = "124hacen.ttf";
                                fn_call#84 = addUTF8FontRange#4(lit#83, lit#82, lit#81);
                            }
                            lit#86 = true;
                            enableutf8#87 = lit#86;
                        }
                    }
                }
                // RegionId(12)
                else
                {
                    lit#88 = 6.108;
                    // RegionId(12)
                    // RegionId(13)
                    if (graalversion#6 >= lit#88) 
                    {
                        // RegionId(13)
                        // RegionId(14)
                        if (player.account in temp.emojiTesters) 
                        {
                            lit#89 = 63743;
                            lit#90 = 0;
                            lit#91 = "Symbola.ttf";
                            fn_call#92 = addUTF8FontRange#4(lit#91, lit#90, lit#89);
                            lit#93 = 6;
                            lit#94 = 6;
                            lit#95 = "124hacen.ttf";
                            fn_call#96 = addUTF8FontRange#4(lit#95, lit#94, lit#93);
                        }
                    }
                    lit#97 = true;
                    enableutf8#98 = lit#97;
                }
            }
            // RegionId(11)
            else
            {
                lit#100 = "Arial Unicode.ttf";
                $pref::Graal::utf8fontfile#101 = lit#100;
                lit#102 = true;
                enableutf8#103 = lit#102;
            }
            lit#140 = true;
            $pref::Graal::limitnicknames#141 = lit#140;
            // RegionId(25)
            // RegionId(26)
            if (client.hidenicks) 
            {
                lit#146 = "jail.nw";
            }
            // RegionId(27)
            // RegionId(28)
            if (phi<idx=0, regions=()>) 
            {
                lit#147 = 0;
            }
            // RegionId(29)
            else
            {
                lit#148 = 64;
            }
            phi<idx=1, regions=()> = phi<idx=0, regions=()>;
            lit#149 = "android";
            // RegionId(30)
            // RegionId(31)
            if (player.platform == lit#149) 
            {
                // RegionId(31)
                // RegionId(32)
                if (client.androidcachefiles) 
                {
                    lit#152 = 0;
                    minfilecachesize#153 = lit#152;
                }
                // RegionId(33)
                else
                {
                    lit#154 = 131072;
                    minfilecachesize#155 = lit#154;
                }
            }
            lit#156 = "iphone";
            // RegionId(34)
            // RegionId(35)
            if (player.platform == lit#156) 
            {
                lit#157 = 6.037;
                // RegionId(35)
                // RegionId(36)
                if (graalversion#6 >= lit#157) 
                {
                    fn_call#159 = enableStorekitObserver#158();
                    lit#160 = 0;
                    fn_call#162 = setPushNotificationBadgeNumber#161(lit#160);
                }
            }
            lit#163 = "android";
            // RegionId(37)
            // RegionId(38)
            if (player.platform == lit#163) 
            {
                lit#164 = 6.106;
                // RegionId(38)
                // RegionId(39)
                if (graalversion#6 >= lit#164) 
                {
                    fn_call#166 = getClassicVersion#165();
                    lit#167 = "googleplay";
                    // RegionId(39)
                    // RegionId(40)
                    if (fn_call#166 == lit#167) 
                    {
                        fn_call#169 = initGooglePlay#168();
                    }
                }
            }
            lit#171 = 0;
            player.z = lit#171;
            lit#173 = false;
            player.isonsnow = lit#173;
            lit#175 = false;
            player.isonsnow2 = lit#175;
            fn_call#177 = enabledefmovement#176();
            multitaskingenabled#180 = client.multitasking;
            lit#183 = true;
            GraalControl.visible = lit#183;
            lit#185 = false;
            client.disableshowprofile = lit#185;
            // RegionId(41)
            // RegionId(42)
            if (!client.horse) 
            {
                fn_call#188 = takeplayerhorse#187();
            }
            // RegionId(43)
            // RegionId(44)
            if (client.pixelated) 
            {
                fn_call#191 = setRetinaDisplayNoAntialias#190();
            }
            lit#192 = "flash";
            // RegionId(45)
            // RegionId(46)
            if (player.platform == lit#192) 
            {
                lit#193 = 6.02;
                // RegionId(46)
                // RegionId(47)
                if (graalversion#6 >= lit#193) 
                {
                    lit#194 = "http://profile.ak.fbcdn.net/crossdomain.xml";
                    fn_call#196 = flashLoadPolicyFile#195(lit#194);
                    lit#197 = "https://profile.ak.fbcdn.net/crossdomain.xml";
                    fn_call#198 = flashLoadPolicyFile#195(lit#197);
                    lit#199 = "http://fbcdn-profile-a.akamaihd.net/crossdomain.xml";
                    fn_call#200 = flashLoadPolicyFile#195(lit#199);
                    lit#201 = "https://fbcdn-profile-a.akamaihd.net/crossdomain.xml";
                    fn_call#202 = flashLoadPolicyFile#195(lit#201);
                }
            }
            lit#204 = false;
            client.pushpullcooldown = lit#204;
            lit#205 = "*";
            fn_call#207 = Adventure_setAllowedSocketsConnect#206(lit#205);
            lit#208 = "iphone";
            // RegionId(48)
            // RegionId(49)
            if (player.platform == lit#208) 
            {
                lit#209 = 6.107;
                // RegionId(49)
                // RegionId(50)
                if (graalversion#6 >= lit#209) 
                {
                    lit#210 = 1;
                    fn_call#212 = Adventure_getApplicationFolder#211(lit#210);
                    temp.userfolder = fn_call#212;
                    lit#213 = true;
                    lit#214 = "levels/";
                    fn_call#215 = Adventure_excludeFileFromBackup#5(temp.userfolder @ lit#214, lit#213);
                    lit#216 = true;
                    lit#217 = "maps/";
                    fn_call#218 = Adventure_excludeFileFromBackup#5(temp.userfolder @ lit#217, lit#216);
                    lit#219 = true;
                    lit#220 = "scriptfiles/";
                    fn_call#221 = Adventure_excludeFileFromBackup#5(temp.userfolder @ lit#220, lit#219);
                    lit#222 = true;
                    lit#223 = "sounds/";
                    fn_call#224 = Adventure_excludeFileFromBackup#5(temp.userfolder @ lit#223, lit#222);
                    lit#225 = true;
                    lit#226 = "webfiles/";
                    fn_call#227 = Adventure_excludeFileFromBackup#5(temp.userfolder @ lit#226, lit#225);
                    lit#228 = true;
                    lit#229 = "weblevels/";
                    fn_call#230 = Adventure_excludeFileFromBackup#5(temp.userfolder @ lit#229, lit#228);
                }
            }
            lit#231 = "";
            fn_call#233 = connectToDistimoService#232(lit#231);
            fn_call#235 = preloadImages#234();
            lit#236 = 0;
            return lit#236;
        }
    }
    // RegionId(5)
    // RegionId(6)
    if (graalreloaded#104) 
    {
        lit#105 = "arial.ttf";
        $pref::Graal::utf8fontfile#106 = lit#105;
        lit#107 = 6;
        lit#108 = 6;
        lit#109 = "DroidSansArabic.ttf";
        fn_call#110 = addUTF8FontRange#4(lit#109, lit#108, lit#107);
        lit#111 = 48;
        lit#112 = 48;
        lit#113 = "DroidSansJapanese.ttf";
        fn_call#114 = addUTF8FontRange#4(lit#113, lit#112, lit#111);
        lit#115 = 49;
        lit#116 = 49;
        lit#117 = "korean_hline.ttf";
        fn_call#118 = addUTF8FontRange#4(lit#117, lit#116, lit#115);
        lit#119 = 159;
        lit#120 = 78;
        lit#121 = "DroidSansJapanese.ttf";
        fn_call#122 = addUTF8FontRange#4(lit#121, lit#120, lit#119);
        lit#123 = 215;
        lit#124 = 172;
        lit#125 = "korean_hline.ttf";
        fn_call#126 = addUTF8FontRange#4(lit#125, lit#124, lit#123);
    }
    // RegionId(7)
    else
    {
        lit#127 = "DroidSansFallback.ttf";
        $pref::Graal::utf8fontfile#128 = lit#127;
    }
    // RegionId(8)
    // RegionId(9)
    if (player.account in temp.emojiTesters) 
    {
        lit#129 = 63743;
        lit#130 = 0;
        lit#131 = "Symbola.ttf";
        fn_call#132 = addUTF8FontRange#4(lit#131, lit#130, lit#129);
        lit#133 = 6;
        lit#134 = 6;
        lit#135 = "AdobeArabic-Regular.ttf";
        fn_call#136 = addUTF8FontRange#4(lit#135, lit#134, lit#133);
    }
    lit#137 = true;
    enableutf8#138 = lit#137;
    goto RegionId(25);
}