Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

function preloadDefaultGanis()
{
    lit#7 = true;
    lit#8 = "test.gani";
    fn_call#10 = findfiles#9(lit#8, lit#7);
    temp.files = fn_call#10;
    lit#11 = 0;
    for (phi<idx=0, regions=()> : phi<idx=1, regions=()>) 
    {
        fn_call#12 = deletefile#5(temp.f);
        phi<idx=0, regions=()>++;
    }
    lit#13 = "test.gani";
    fn_call#14 = deletefile#5(lit#13);
    lit#15 = "global_warprings";
    lit#16 = "global_transparent";
    lit#17 = "global_motionblur";
    lit#18 = "global_aura";
    lit#19 = "global_size";
    lit#20 = "walkslow";
    lit#21 = "walknosound";
    lit#22 = "walk";
    lit#23 = "sword";
    lit#24 = "swim";
    lit#25 = "spin";
    lit#26 = "sleep";
    lit#27 = "sit";
    lit#28 = "shoot";
    lit#29 = "push";
    lit#30 = "pull";
    lit#31 = "pray";
    lit#32 = "lift";
    lit#33 = "lay";
    lit#34 = "lava";
    lit#35 = "iwalkslow";
    lit#36 = "iwalk";
    lit#37 = "isword";
    lit#38 = "iidle";
    lit#39 = "idle";
    lit#40 = "hurt";
    lit#41 = "grab";
    lit#42 = "eggstill";
    lit#43 = "def";
    lit#44 = "dead";
    lit#45 = "grab";
    lit#46 = "ce_walknosound";
    lit#47 = "ce_maps3";
    lit#48 = "ce_maps2";
    lit#49 = "ce_maps1";
    lit#50 = "ce_carrynosound";
    lit#51 = "carrystill";
    lit#52 = "carrynosound";
    lit#53 = "carry";
    temp.ganis = {lit#53, lit#52, lit#51, lit#50, lit#49, lit#48, lit#47, lit#46, lit#45, lit#44, lit#43, lit#42, lit#41, lit#40, lit#39, lit#38, lit#37, lit#36, lit#35, lit#34, lit#33, lit#32, lit#31, lit#30, lit#29, lit#28, lit#27, lit#26, lit#25, lit#24, lit#23, lit#22, lit#21, lit#20, lit#19, lit#18, lit#17, lit#16, lit#15};
    lit#54 = 0;
    for (phi<idx=0, regions=()> : phi<idx=1, regions=()>) 
    {
        lit#55 = ".gani";
        fn_call#56 = fileupdate#0(temp.i @ lit#55);
        phi<idx=0, regions=()>++;
    }
    lit#57 = "bow_walk.gani";
    fn_call#59 = fileexists#58(lit#57);
    // RegionId(6)
    // RegionId(7)
    if (!fn_call#59) 
    {
        lit#61 = "R0FOSTAwMDEKClNDUklQVAoKZnVuY3Rpb24gb25DcmVhdGVkKCkgewogIHBsYXllci5tb2RlID0gMDsKICBpZiAoY2xpZW50ci5pc1N0YWZmfHxjbGllbnRyLmlzU3RhZmZEZXZpY2UpIHsKICAgIHBsYXllci5hbHBoYSA9IDAuNDsKICAgIHBsYXllci5tb2RlID0gMTsKICAgIHBsYXllci56b29tID0gMTsKICB9CiAgZWxzZSB7CiAgICBwbGF5ZXIuYWxwaGEgPSAwOwogICAgcGxheWVyLnpvb20gPSAtOTk7CiAgfQp9CgpmdW5jdGlvbiBvblBsYXllckVudGVycygpIHsKICBwbGF5ZXIubW9kZSA9IDA7CiAgaWYgKGNsaWVudHIuaXNTdGFmZnx8Y2xpZW50ci5pc1N0YWZmRGV2aWNlKSB7CiAgICBwbGF5ZXIuYWxwaGEgPSAwLjQ7CiAgICBwbGF5ZXIubW9kZSA9IDE7CiAgICBwbGF5ZXIuem9vbSA9IDE7CiAgfQogIGVsc2UgewogICAgcGxheWVyLmFscGhhID0gMDsKICAgIHBsYXllci56b29tID0gLTk5OwogIH0KfQpTQ1JJUFRFTkQK";
        fn_call#63 = base64decode#62(lit#61);
        temp.str = fn_call#63;
        lit#64 = "levels/ganis/bow_walk.gani";
        fn_call#66 = temp.str.savestring(lit#64);
        lit#67 = "bow_walk.gani";
        fn_call#68 = fileupdate#0(lit#67);
    }
    lit#69 = 0;
    return lit#69;
}