// File: FFY00[P]uicc/include/uicc.h
// Function: SIM::UICCFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool)
string UICCFile(string name, bool reverse=false) {
        static const map<string,string> UICCFiles = {
            {"EFDIR", string(u8"\x2f\x00",2)},
            {"ICCID", string(u8"\x2f\xe2",2)},
            {"GR type",   string(u8"\xa0\x00",2)},
            {"Extended language preference", string(u8"\x2f\x05",2)},
            {"language preference", string(u8"\x7f\x20\x6f\x05",4)},
            {"IMSI", string(u8"\x7f\x20\x6f\x07",4)},
            {"Access control class", string(u8"\x7f\x20\x6f\x78",4)},
            {"Location information", string(u8"\x7f\x20\x6f\x7e",4)},
            {"Administrative data", string(u8"\x7f\x20\x6f\xad",4)},
            {"Service Provider Name", string(u8"\x7f\x20\x6f\x46",4)},
            {"PLMN selector", string(u8"\x7f\x20\x6f\x30",4)},
            {"Higher Priority PLMN search period", string(u8"\x7f\x20\x6f\x31",4)},
            {"Forbidden PLMN", string(u8"\x7f\x20\x6f\x7b",4)},
            {"Equivalent home PLMN", string(u8"\x7f\x20\x6f\xd9",4)},
            {"Group Identifier Level 1", string(u8"\x7f\x20\x6f\x3e",4)},
            {"Group Identifier Level 2", string(u8"\x7f\x20\x6f\x3f",4)},
            {"emergency call codes",  string(u8"\x7f\x20\x6f\xb7",4)},
            {"SIM service table", string(u8"\x7f\x20\x6f\x38",4)},
            {"ACM maximum value", string(u8"\x7f\x20\x6f\x37",4)},
            {"Accumulated call meter", string(u8"\x7f\x20\x6f\x39",4)},
            {"Phase identification", string(u8"\x7f\x20\x6f\xae",4)},
            {"HPLMN Selector with Access Technology", string(u8"\x7f\x20\x6f\x62",4)},
            {"MSISDN", string(u8"\x7f\x10\x6f\x40",4)},
            {"SMSC", string(u8"\x7f\x10\x6f\x42",4)},
            {"GR OPc", string(u8"\x7f\xf0\xff\x01",4)},
            {"GR Ki",  string(u8"\x7f\xf0\xff\x02",4)},
            {"GR R",   string(u8"\x7f\xf0\xff\x03",4)},
            {"GR C",   string(u8"\x7f\xf0\xff\x04",4)},
            {"GR secret",   string(u8"\x7f\x20\x00\x01",4)},
        };

        if (!reverse ) {
            auto it=UICCFiles.find(name);
            Assert( it != UICCFiles.end(),   "try to access not defined file: %s", name.c_str());
            return(it->second);
        } else {
            for (auto it = UICCFiles.begin(); it != UICCFiles.end(); ++it )
                if (it->second.substr(it->second.size()-2) == name)
                    return it->first;

            return "Not existing";
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xeb0, %rsp            # imm = 0xEB0
movq %rdx, -0xc70(%rbp)
movq %rdi, -0xc68(%rbp)
movb %cl, %al
movq %rdi, %rcx
movq %rcx, -0xc60(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
andb $0x1, %al
movb %al, -0x19(%rbp)
cmpb $0x0, 0x19f5b(%rip)     # 0x2f508
jne 0x164bd
leaq 0x19f4e(%rip), %rdi     # 0x2f508
callq 0x34e0
cmpl $0x0, %eax
je 0x164bd
movb $0x1, -0xc0a(%rbp)
leaq -0x770(%rbp), %rax
movq %rax, -0x778(%rbp)
leaq -0x799(%rbp), %rdi
movq %rdi, -0xc78(%rbp)
callq 0x34d0
movq -0xc78(%rbp), %rcx
leaq 0xdc78(%rip), %rsi      # 0x23276
leaq -0x798(%rbp), %rdi
movl $0x2, %edx
callq 0x3330
jmp 0x15611
leaq 0x1056c(%rip), %rsi     # 0x25b84
leaq -0x770(%rbp), %rdi
leaq -0x798(%rbp), %rdx
callq 0x17d00
jmp 0x1562d
leaq -0x730(%rbp), %rax
movq %rax, -0xc88(%rbp)
movq %rax, -0x778(%rbp)
leaq -0x7d1(%rbp), %rdi
movq %rdi, -0xc80(%rbp)
callq 0x34d0
movq -0xc80(%rbp), %rcx
leaq 0x10527(%rip), %rsi     # 0x25b8a
leaq -0x7d0(%rbp), %rdi
movl $0x2, %edx
callq 0x3330
jmp 0x15676
movq -0xc88(%rbp), %rdi
leaq 0xdddb(%rip), %rsi      # 0x2345f
leaq -0x7d0(%rbp), %rdx
callq 0x17d00
jmp 0x15692
leaq -0x6f0(%rbp), %rax
movq %rax, -0xc98(%rbp)
movq %rax, -0x778(%rbp)
leaq -0x7f9(%rbp), %rdi
movq %rdi, -0xc90(%rbp)
callq 0x34d0
movq -0xc90(%rbp), %rcx
leaq 0xdbb1(%rip), %rsi      # 0x23279
leaq -0x7f8(%rbp), %rdi
movl $0x2, %edx
callq 0x3330
jmp 0x156db
movq -0xc98(%rbp), %rdi
leaq 0x104a4(%rip), %rsi     # 0x25b8d
leaq -0x7f8(%rbp), %rdx
callq 0x17d90
jmp 0x156f7
leaq -0x6b0(%rbp), %rax
movq %rax, -0xca8(%rbp)
movq %rax, -0x778(%rbp)
leaq -0x821(%rbp), %rdi
movq %rdi, -0xca0(%rbp)
callq 0x34d0
movq -0xca0(%rbp), %rcx
leaq 0x10468(%rip), %rsi     # 0x25b95
leaq -0x820(%rbp), %rdi
movl $0x2, %edx
callq 0x3330
jmp 0x15740
movq -0xca8(%rbp), %rdi
leaq 0xde69(%rip), %rsi      # 0x235b7
leaq -0x820(%rbp), %rdx
callq 0x17e20
jmp 0x1575c
leaq -0x670(%rbp), %rax
movq %rax, -0xcb8(%rbp)
movq %rax, -0x778(%rbp)
leaq -0x849(%rbp), %rdi
movq %rdi, -0xcb0(%rbp)
callq 0x34d0
movq -0xcb0(%rbp), %rcx
leaq 0x10406(%rip), %rsi     # 0x25b98
leaq -0x848(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x157a5
movq -0xcb8(%rbp), %rdi
leaq 0xde0d(%rip), %rsi      # 0x235c0
leaq -0x848(%rbp), %rdx
callq 0x17eb0
jmp 0x157c1
leaq -0x630(%rbp), %rax
movq %rax, -0xcc8(%rbp)
movq %rax, -0x778(%rbp)
leaq -0x871(%rbp), %rdi
movq %rdi, -0xcc0(%rbp)
callq 0x34d0
movq -0xcc0(%rbp), %rcx
leaq 0x103a6(%rip), %rsi     # 0x25b9d
leaq -0x870(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x1580a
movq -0xcc8(%rbp), %rdi
leaq 0xdb96(%rip), %rsi      # 0x233ae
leaq -0x870(%rbp), %rdx
callq 0x17f40
jmp 0x15826
leaq -0x5f0(%rbp), %rax
movq %rax, -0xcd8(%rbp)
movq %rax, -0x778(%rbp)
leaq -0x899(%rbp), %rdi
movq %rdi, -0xcd0(%rbp)
callq 0x34d0
movq -0xcd0(%rbp), %rcx
leaq 0x10346(%rip), %rsi     # 0x25ba2
leaq -0x898(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x1586f
movq -0xcd8(%rbp), %rdi
leaq 0xe171(%rip), %rsi      # 0x239ee
leaq -0x898(%rbp), %rdx
callq 0x17fd0
jmp 0x1588b
leaq -0x5b0(%rbp), %rax
movq %rax, -0xce8(%rbp)
movq %rax, -0x778(%rbp)
leaq -0x8c1(%rbp), %rdi
movq %rdi, -0xce0(%rbp)
callq 0x34d0
movq -0xce0(%rbp), %rcx
leaq 0x102e6(%rip), %rsi     # 0x25ba7
leaq -0x8c0(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x158d4
movq -0xce8(%rbp), %rdi
leaq 0xf13c(%rip), %rsi      # 0x24a1e
leaq -0x8c0(%rbp), %rdx
callq 0x17fd0
jmp 0x158f0
leaq -0x570(%rbp), %rax
movq %rax, -0xcf8(%rbp)
movq %rax, -0x778(%rbp)
leaq -0x8e9(%rbp), %rdi
movq %rdi, -0xcf0(%rbp)
callq 0x34d0
movq -0xcf0(%rbp), %rcx
leaq 0x10286(%rip), %rsi     # 0x25bac
leaq -0x8e8(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15939
movq -0xcf8(%rbp), %rdi
leaq 0xe171(%rip), %rsi      # 0x23ab8
leaq -0x8e8(%rbp), %rdx
callq 0x17eb0
jmp 0x15955
leaq -0x530(%rbp), %rax
movq %rax, -0xd08(%rbp)
movq %rax, -0x778(%rbp)
leaq -0x911(%rbp), %rdi
movq %rdi, -0xd00(%rbp)
callq 0x34d0
movq -0xd00(%rbp), %rcx
leaq 0x10226(%rip), %rsi     # 0x25bb1
leaq -0x910(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x1599e
movq -0xd08(%rbp), %rdi
leaq 0xdb11(%rip), %rsi      # 0x234bd
leaq -0x910(%rbp), %rdx
callq 0x18060
jmp 0x159ba
leaq -0x4f0(%rbp), %rax
movq %rax, -0xd18(%rbp)
movq %rax, -0x778(%rbp)
leaq -0x939(%rbp), %rdi
movq %rdi, -0xd10(%rbp)
callq 0x34d0
movq -0xd10(%rbp), %rcx
leaq 0x101c6(%rip), %rsi     # 0x25bb6
leaq -0x938(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15a03
movq -0xd18(%rbp), %rdi
leaq 0xddbd(%rip), %rsi      # 0x237ce
leaq -0x938(%rbp), %rdx
callq 0x180f0
jmp 0x15a1f
leaq -0x4b0(%rbp), %rax
movq %rax, -0xd28(%rbp)
movq %rax, -0x778(%rbp)
leaq -0x961(%rbp), %rdi
movq %rdi, -0xd20(%rbp)
callq 0x34d0
movq -0xd20(%rbp), %rcx
leaq 0x10166(%rip), %rsi     # 0x25bbb
leaq -0x960(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15a68
movq -0xd28(%rbp), %rdi
leaq 0xe199(%rip), %rsi      # 0x23c0f
leaq -0x960(%rbp), %rdx
callq 0x18180
jmp 0x15a84
leaq -0x470(%rbp), %rax
movq %rax, -0xd38(%rbp)
movq %rax, -0x778(%rbp)
leaq -0x989(%rbp), %rdi
movq %rdi, -0xd30(%rbp)
callq 0x34d0
movq -0xd30(%rbp), %rcx
leaq 0x10106(%rip), %rsi     # 0x25bc0
leaq -0x988(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15acd
movq -0xd38(%rbp), %rdi
leaq 0xe220(%rip), %rsi      # 0x23cfb
leaq -0x988(%rbp), %rdx
callq 0x18210
jmp 0x15ae9
leaq -0x430(%rbp), %rax
movq %rax, -0xd48(%rbp)
movq %rax, -0x778(%rbp)
leaq -0x9b1(%rbp), %rdi
movq %rdi, -0xd40(%rbp)
callq 0x34d0
movq -0xd40(%rbp), %rcx
leaq 0x100a6(%rip), %rsi     # 0x25bc5
leaq -0x9b0(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15b32
movq -0xd48(%rbp), %rdi
leaq 0xdd45(%rip), %rsi      # 0x23885
leaq -0x9b0(%rbp), %rdx
callq 0x17fd0
jmp 0x15b4e
leaq -0x3f0(%rbp), %rax
movq %rax, -0xd58(%rbp)
movq %rax, -0x778(%rbp)
leaq -0x9d9(%rbp), %rdi
movq %rdi, -0xd50(%rbp)
callq 0x34d0
movq -0xd50(%rbp), %rcx
leaq 0x10046(%rip), %rsi     # 0x25bca
leaq -0x9d8(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15b97
movq -0xd58(%rbp), %rdi
leaq 0xe212(%rip), %rsi      # 0x23db7
leaq -0x9d8(%rbp), %rdx
callq 0x182a0
jmp 0x15bb3
leaq -0x3b0(%rbp), %rax
movq %rax, -0xd68(%rbp)
movq %rax, -0x778(%rbp)
leaq -0xa01(%rbp), %rdi
movq %rdi, -0xd60(%rbp)
callq 0x34d0
movq -0xd60(%rbp), %rcx
leaq 0xffe6(%rip), %rsi      # 0x25bcf
leaq -0xa00(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15bfc
movq -0xd68(%rbp), %rdi
leaq 0xe273(%rip), %rsi      # 0x23e7d
leaq -0xa00(%rbp), %rdx
callq 0x182a0
jmp 0x15c18
leaq -0x370(%rbp), %rax
movq %rax, -0xd78(%rbp)
movq %rax, -0x778(%rbp)
leaq -0xa29(%rbp), %rdi
movq %rdi, -0xd70(%rbp)
callq 0x34d0
movq -0xd70(%rbp), %rcx
leaq 0xff86(%rip), %rsi      # 0x25bd4
leaq -0xa28(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15c61
movq -0xd78(%rbp), %rdi
leaq 0xe2d4(%rip), %rsi      # 0x23f43
leaq -0xa28(%rbp), %rdx
callq 0x17fd0
jmp 0x15c7d
leaq -0x330(%rbp), %rax
movq %rax, -0xd88(%rbp)
movq %rax, -0x778(%rbp)
leaq -0xa51(%rbp), %rdi
movq %rdi, -0xd80(%rbp)
callq 0x34d0
movq -0xd80(%rbp), %rcx
leaq 0xff26(%rip), %rsi      # 0x25bd9
leaq -0xa50(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15cc6
movq -0xd88(%rbp), %rdi
leaq 0xf0fa(%rip), %rsi      # 0x24dce
leaq -0xa50(%rbp), %rdx
callq 0x18330
jmp 0x15ce2
leaq -0x2f0(%rbp), %rax
movq %rax, -0xd98(%rbp)
movq %rax, -0x778(%rbp)
leaq -0xa79(%rbp), %rdi
movq %rdi, -0xd90(%rbp)
callq 0x34d0
movq -0xd90(%rbp), %rcx
leaq 0xfed8(%rip), %rsi      # 0x25bf0
leaq -0xa78(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15d2b
movq -0xd98(%rbp), %rdi
leaq 0xfea5(%rip), %rsi      # 0x25bde
leaq -0xa78(%rbp), %rdx
callq 0x18330
jmp 0x15d47
leaq -0x2b0(%rbp), %rax
movq %rax, -0xda8(%rbp)
movq %rax, -0x778(%rbp)
leaq -0xaa1(%rbp), %rdi
movq %rdi, -0xda0(%rbp)
callq 0x34d0
movq -0xda0(%rbp), %rcx
leaq 0xfe8f(%rip), %rsi      # 0x25c0c
leaq -0xaa0(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15d90
movq -0xda8(%rbp), %rdi
leaq 0xfe57(%rip), %rsi      # 0x25bf5
leaq -0xaa0(%rbp), %rdx
callq 0x183c0
jmp 0x15dac
leaq -0x270(%rbp), %rax
movq %rax, -0xdb8(%rbp)
movq %rax, -0x778(%rbp)
leaq -0xac9(%rbp), %rdi
movq %rdi, -0xdb0(%rbp)
callq 0x34d0
movq -0xdb0(%rbp), %rcx
leaq 0xfe44(%rip), %rsi      # 0x25c26
leaq -0xac8(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15df5
movq -0xdb8(%rbp), %rdi
leaq 0xfe0e(%rip), %rsi      # 0x25c11
leaq -0xac8(%rbp), %rdx
callq 0x17fd0
jmp 0x15e11
leaq -0x230(%rbp), %rax
movq %rax, -0xdc8(%rbp)
movq %rax, -0x778(%rbp)
leaq -0xaf1(%rbp), %rdi
movq %rdi, -0xdc0(%rbp)
callq 0x34d0
movq -0xdc0(%rbp), %rcx
leaq 0xfe0a(%rip), %rsi      # 0x25c51
leaq -0xaf0(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15e5a
movq -0xdc8(%rbp), %rdi
leaq 0xfdc3(%rip), %rsi      # 0x25c2b
leaq -0xaf0(%rbp), %rdx
callq 0x18450
jmp 0x15e76
leaq -0x1f0(%rbp), %rax
movq %rax, -0xdd8(%rbp)
movq %rax, -0x778(%rbp)
leaq -0xb19(%rbp), %rdi
movq %rdi, -0xdd0(%rbp)
callq 0x34d0
movq -0xdd0(%rbp), %rcx
leaq 0xfdaa(%rip), %rsi      # 0x25c56
leaq -0xb18(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15ebf
movq -0xdd8(%rbp), %rdi
leaq 0xd4f3(%rip), %rsi      # 0x233c0
leaq -0xb18(%rbp), %rdx
callq 0x184e0
jmp 0x15edb
leaq -0x1b0(%rbp), %rax
movq %rax, -0xde8(%rbp)
movq %rax, -0x778(%rbp)
leaq -0xb41(%rbp), %rdi
movq %rdi, -0xde0(%rbp)
callq 0x34d0
movq -0xde0(%rbp), %rcx
leaq 0xfd4a(%rip), %rsi      # 0x25c5b
leaq -0xb40(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15f24
movq -0xde8(%rbp), %rdi
leaq 0xe293(%rip), %rsi      # 0x241c5
leaq -0xb40(%rbp), %rdx
callq 0x17f40
jmp 0x15f40
leaq -0x170(%rbp), %rax
movq %rax, -0xdf8(%rbp)
movq %rax, -0x778(%rbp)
leaq -0xb69(%rbp), %rdi
movq %rdi, -0xdf0(%rbp)
callq 0x34d0
movq -0xdf0(%rbp), %rcx
leaq 0xfcea(%rip), %rsi      # 0x25c60
leaq -0xb68(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15f89
movq -0xdf8(%rbp), %rdi
leaq 0xe38c(%rip), %rsi      # 0x24323
leaq -0xb68(%rbp), %rdx
callq 0x184e0
jmp 0x15fa5
leaq -0x130(%rbp), %rax
movq %rax, -0xe08(%rbp)
movq %rax, -0x778(%rbp)
leaq -0xb91(%rbp), %rdi
movq %rdi, -0xe00(%rbp)
callq 0x34d0
movq -0xe00(%rbp), %rcx
leaq 0xfc8a(%rip), %rsi      # 0x25c65
leaq -0xb90(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x15fee
movq -0xe08(%rbp), %rdi
leaq 0xe27d(%rip), %rsi      # 0x24279
leaq -0xb90(%rbp), %rdx
callq 0x17d00
jmp 0x1600a
leaq -0xf0(%rbp), %rax
movq %rax, -0xe18(%rbp)
movq %rax, -0x778(%rbp)
leaq -0xbb9(%rbp), %rdi
movq %rdi, -0xe10(%rbp)
callq 0x34d0
movq -0xe10(%rbp), %rcx
leaq 0xfc2a(%rip), %rsi      # 0x25c6a
leaq -0xbb8(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x16053
movq -0xe18(%rbp), %rdi
leaq 0xe370(%rip), %rsi      # 0x243d1
leaq -0xbb8(%rbp), %rdx
callq 0x17f40
jmp 0x1606f
leaq -0xb0(%rbp), %rax
movq %rax, -0xe28(%rbp)
movq %rax, -0x778(%rbp)
leaq -0xbe1(%rbp), %rdi
movq %rdi, -0xe20(%rbp)
callq 0x34d0
movq -0xe20(%rbp), %rcx
leaq 0xfbca(%rip), %rsi      # 0x25c6f
leaq -0xbe0(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x160b8
movq -0xe28(%rbp), %rdi
leaq 0xe3c0(%rip), %rsi      # 0x24486
leaq -0xbe0(%rbp), %rdx
callq 0x17f40
jmp 0x160d4
leaq -0x70(%rbp), %rax
movq %rax, -0xe38(%rbp)
movq %rax, -0x778(%rbp)
leaq -0xc09(%rbp), %rdi
movq %rdi, -0xe30(%rbp)
callq 0x34d0
movq -0xe30(%rbp), %rcx
leaq 0xd175(%rip), %rsi      # 0x2327c
leaq -0xc08(%rbp), %rdi
movl $0x4, %edx
callq 0x3330
jmp 0x1611a
movq -0xe38(%rbp), %rdi
leaq 0xfb4c(%rip), %rsi      # 0x25c74
leaq -0xc08(%rbp), %rdx
callq 0x18570
jmp 0x16136
movb $0x0, -0xc0a(%rbp)
leaq -0x770(%rbp), %rax
movq %rax, -0x30(%rbp)
movq $0x1d, -0x28(%rbp)
leaq -0xc0c(%rbp), %rdi
movq %rdi, -0xe40(%rbp)
callq 0x13cc0
movq -0xe40(%rbp), %r8
movq -0x30(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq 0x1935f(%rip), %rdi     # 0x2f4d8
leaq -0xc0b(%rbp), %rcx
callq 0x13ce0
jmp 0x16187
leaq -0xc0c(%rbp), %rdi
callq 0x13db0
leaq -0x770(%rbp), %rax
movq %rax, -0xe50(%rbp)
addq $0x740, %rax            # imm = 0x740
movq %rax, -0xe48(%rbp)
movq -0xe48(%rbp), %rdi
addq $-0x40, %rdi
movq %rdi, -0xe58(%rbp)
callq 0x13c90
movq -0xe50(%rbp), %rcx
movq -0xe58(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xe48(%rbp)
jne 0x161ae
leaq -0xc08(%rbp), %rdi
callq 0x31a0
leaq -0xc09(%rbp), %rdi
callq 0x3300
leaq -0xbe0(%rbp), %rdi
callq 0x31a0
leaq -0xbe1(%rbp), %rdi
callq 0x3300
leaq -0xbb8(%rbp), %rdi
callq 0x31a0
leaq -0xbb9(%rbp), %rdi
callq 0x3300
leaq -0xb90(%rbp), %rdi
callq 0x31a0
leaq -0xb91(%rbp), %rdi
callq 0x3300
leaq -0xb68(%rbp), %rdi
callq 0x31a0
leaq -0xb69(%rbp), %rdi
callq 0x3300
leaq -0xb40(%rbp), %rdi
callq 0x31a0
leaq -0xb41(%rbp), %rdi
callq 0x3300
leaq -0xb18(%rbp), %rdi
callq 0x31a0
leaq -0xb19(%rbp), %rdi
callq 0x3300
leaq -0xaf0(%rbp), %rdi
callq 0x31a0
leaq -0xaf1(%rbp), %rdi
callq 0x3300
leaq -0xac8(%rbp), %rdi
callq 0x31a0
leaq -0xac9(%rbp), %rdi
callq 0x3300
leaq -0xaa0(%rbp), %rdi
callq 0x31a0
leaq -0xaa1(%rbp), %rdi
callq 0x3300
leaq -0xa78(%rbp), %rdi
callq 0x31a0
leaq -0xa79(%rbp), %rdi
callq 0x3300
leaq -0xa50(%rbp), %rdi
callq 0x31a0
leaq -0xa51(%rbp), %rdi
callq 0x3300
leaq -0xa28(%rbp), %rdi
callq 0x31a0
leaq -0xa29(%rbp), %rdi
callq 0x3300
leaq -0xa00(%rbp), %rdi
callq 0x31a0
leaq -0xa01(%rbp), %rdi
callq 0x3300
leaq -0x9d8(%rbp), %rdi
callq 0x31a0
leaq -0x9d9(%rbp), %rdi
callq 0x3300
leaq -0x9b0(%rbp), %rdi
callq 0x31a0
leaq -0x9b1(%rbp), %rdi
callq 0x3300
leaq -0x988(%rbp), %rdi
callq 0x31a0
leaq -0x989(%rbp), %rdi
callq 0x3300
leaq -0x960(%rbp), %rdi
callq 0x31a0
leaq -0x961(%rbp), %rdi
callq 0x3300
leaq -0x938(%rbp), %rdi
callq 0x31a0
leaq -0x939(%rbp), %rdi
callq 0x3300
leaq -0x910(%rbp), %rdi
callq 0x31a0
leaq -0x911(%rbp), %rdi
callq 0x3300
leaq -0x8e8(%rbp), %rdi
callq 0x31a0
leaq -0x8e9(%rbp), %rdi
callq 0x3300
leaq -0x8c0(%rbp), %rdi
callq 0x31a0
leaq -0x8c1(%rbp), %rdi
callq 0x3300
leaq -0x898(%rbp), %rdi
callq 0x31a0
leaq -0x899(%rbp), %rdi
callq 0x3300
leaq -0x870(%rbp), %rdi
callq 0x31a0
leaq -0x871(%rbp), %rdi
callq 0x3300
leaq -0x848(%rbp), %rdi
callq 0x31a0
leaq -0x849(%rbp), %rdi
callq 0x3300
leaq -0x820(%rbp), %rdi
callq 0x31a0
leaq -0x821(%rbp), %rdi
callq 0x3300
leaq -0x7f8(%rbp), %rdi
callq 0x31a0
leaq -0x7f9(%rbp), %rdi
callq 0x3300
leaq -0x7d0(%rbp), %rdi
callq 0x31a0
leaq -0x7d1(%rbp), %rdi
callq 0x3300
leaq -0x798(%rbp), %rdi
callq 0x31a0
leaq -0x799(%rbp), %rdi
callq 0x3300
leaq -0x26ce(%rip), %rdi     # 0x13dd0
leaq 0x19033(%rip), %rsi     # 0x2f4d8
leaq 0x18dfc(%rip), %rdx     # 0x2f2a8
callq 0x3250
leaq 0x19050(%rip), %rdi     # 0x2f508
callq 0x31d0
testb $0x1, -0x19(%rbp)
jne 0x16e84
movq -0xc70(%rbp), %rsi
leaq 0x19003(%rip), %rdi     # 0x2f4d8
callq 0x18600
movq %rax, -0xc18(%rbp)
leaq 0x18ff0(%rip), %rdi     # 0x2f4d8
callq 0x18660
movq %rax, -0xc20(%rbp)
leaq -0xc18(%rbp), %rdi
leaq -0xc20(%rbp), %rsi
callq 0x18630
xorb $-0x1, %al
testb $0x1, %al
jne 0x16512
jmp 0x16e5e
movq 0x18ab7(%rip), %rax     # 0x2efd0
movq (%rax), %rax
movq %rax, -0xe68(%rbp)
callq 0x3040
movl (%rax), %edi
callq 0x30d0
movq -0xc70(%rbp), %rdi
movq %rax, -0xe60(%rbp)
callq 0x3110
movq -0xe68(%rbp), %rdi
movq -0xe60(%rbp), %r9
leaq 0xf727(%rip), %rsi      # 0x25c7e
leaq 0xf7b2(%rip), %rdx      # 0x25d10
leaq 0xf301(%rip), %rcx      # 0x25866
movl $0x208, %r8d            # imm = 0x208
movq %rax, (%rsp)
movb $0x0, %al
callq 0x3410
movq 0x18a23(%rip), %rax     # 0x2efa0
movq (%rax), %rdi
callq 0x3350
movq 0x18a44(%rip), %rax     # 0x2efd0
movq (%rax), %rdi
callq 0x3350
movl $0x1, %edi
callq 0x3370
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16de9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16ddd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16dd1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16dc5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16db9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16dad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16da1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16d95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16d89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16d7d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16d71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16d65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16d59
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16d4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16d41
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16d35
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16d29
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16d1d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16d11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16d05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16cf9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16ced
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16ce1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16cd5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16cc9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16cbd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16cb1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16ca5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16c99
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16c8d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16c81
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16c75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16c69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16c5d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16c51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16c45
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16c39
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16c2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16c21
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16c15
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16c09
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16bfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16bf1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16be5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16bd9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16bcd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16bc1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16bb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16ba9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16b9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16b91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16b85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16b79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16b6d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16b61
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16b55
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16b49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
jmp 0x16b3d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
leaq -0xc0c(%rbp), %rdi
callq 0x13db0
leaq -0x770(%rbp), %rax
movq %rax, -0xe78(%rbp)
addq $0x740, %rax            # imm = 0x740
movq %rax, -0xe70(%rbp)
movq -0xe70(%rbp), %rdi
addq $-0x40, %rdi
movq %rdi, -0xe80(%rbp)
callq 0x13c90
movq -0xe78(%rbp), %rcx
movq -0xe80(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xe70(%rbp)
jne 0x16b0a
jmp 0x16b3d
leaq -0xc08(%rbp), %rdi
callq 0x31a0
leaq -0xc09(%rbp), %rdi
callq 0x3300
leaq -0xbe0(%rbp), %rdi
callq 0x31a0
leaq -0xbe1(%rbp), %rdi
callq 0x3300
leaq -0xbb8(%rbp), %rdi
callq 0x31a0
leaq -0xbb9(%rbp), %rdi
callq 0x3300
leaq -0xb90(%rbp), %rdi
callq 0x31a0
leaq -0xb91(%rbp), %rdi
callq 0x3300
leaq -0xb68(%rbp), %rdi
callq 0x31a0
leaq -0xb69(%rbp), %rdi
callq 0x3300
leaq -0xb40(%rbp), %rdi
callq 0x31a0
leaq -0xb41(%rbp), %rdi
callq 0x3300
leaq -0xb18(%rbp), %rdi
callq 0x31a0
leaq -0xb19(%rbp), %rdi
callq 0x3300
leaq -0xaf0(%rbp), %rdi
callq 0x31a0
leaq -0xaf1(%rbp), %rdi
callq 0x3300
leaq -0xac8(%rbp), %rdi
callq 0x31a0
leaq -0xac9(%rbp), %rdi
callq 0x3300
leaq -0xaa0(%rbp), %rdi
callq 0x31a0
leaq -0xaa1(%rbp), %rdi
callq 0x3300
leaq -0xa78(%rbp), %rdi
callq 0x31a0
leaq -0xa79(%rbp), %rdi
callq 0x3300
leaq -0xa50(%rbp), %rdi
callq 0x31a0
leaq -0xa51(%rbp), %rdi
callq 0x3300
leaq -0xa28(%rbp), %rdi
callq 0x31a0
leaq -0xa29(%rbp), %rdi
callq 0x3300
leaq -0xa00(%rbp), %rdi
callq 0x31a0
leaq -0xa01(%rbp), %rdi
callq 0x3300
leaq -0x9d8(%rbp), %rdi
callq 0x31a0
leaq -0x9d9(%rbp), %rdi
callq 0x3300
leaq -0x9b0(%rbp), %rdi
callq 0x31a0
leaq -0x9b1(%rbp), %rdi
callq 0x3300
leaq -0x988(%rbp), %rdi
callq 0x31a0
leaq -0x989(%rbp), %rdi
callq 0x3300
leaq -0x960(%rbp), %rdi
callq 0x31a0
leaq -0x961(%rbp), %rdi
callq 0x3300
leaq -0x938(%rbp), %rdi
callq 0x31a0
leaq -0x939(%rbp), %rdi
callq 0x3300
leaq -0x910(%rbp), %rdi
callq 0x31a0
leaq -0x911(%rbp), %rdi
callq 0x3300
leaq -0x8e8(%rbp), %rdi
callq 0x31a0
leaq -0x8e9(%rbp), %rdi
callq 0x3300
leaq -0x8c0(%rbp), %rdi
callq 0x31a0
leaq -0x8c1(%rbp), %rdi
callq 0x3300
leaq -0x898(%rbp), %rdi
callq 0x31a0
leaq -0x899(%rbp), %rdi
callq 0x3300
leaq -0x870(%rbp), %rdi
callq 0x31a0
leaq -0x871(%rbp), %rdi
callq 0x3300
leaq -0x848(%rbp), %rdi
callq 0x31a0
leaq -0x849(%rbp), %rdi
callq 0x3300
leaq -0x820(%rbp), %rdi
callq 0x31a0
leaq -0x821(%rbp), %rdi
callq 0x3300
leaq -0x7f8(%rbp), %rdi
callq 0x31a0
leaq -0x7f9(%rbp), %rdi
callq 0x3300
leaq -0x7d0(%rbp), %rdi
callq 0x31a0
leaq -0x7d1(%rbp), %rdi
callq 0x3300
leaq -0x798(%rbp), %rdi
callq 0x31a0
leaq -0x799(%rbp), %rdi
callq 0x3300
testb $0x1, -0xc0a(%rbp)
jne 0x16e00
jmp 0x16e4d
movq -0x778(%rbp), %rax
leaq -0x770(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xe88(%rbp)
je 0x16e4b
movq -0xe88(%rbp), %rdi
addq $-0x40, %rdi
movq %rdi, -0xe90(%rbp)
callq 0x13c90
movq -0xe90(%rbp), %rax
leaq -0x770(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xe88(%rbp)
jne 0x16e1a
jmp 0x16e4d
leaq 0x186b4(%rip), %rdi     # 0x2f508
callq 0x31c0
jmp 0x16fe4
jmp 0x16e60
leaq -0xc18(%rbp), %rdi
callq 0x18690
movq -0xc68(%rbp), %rdi
movq %rax, %rsi
addq $0x20, %rsi
callq 0x3120
jmp 0x16fd4
leaq 0x1864d(%rip), %rdi     # 0x2f4d8
callq 0x186b0
movq %rax, -0xc28(%rbp)
leaq 0x1863a(%rip), %rdi     # 0x2f4d8
callq 0x18660
movq %rax, -0xc30(%rbp)
leaq -0xc28(%rbp), %rdi
leaq -0xc30(%rbp), %rsi
callq 0x18630
testb $0x1, %al
jne 0x16ec6
jmp 0x16f77
leaq -0xc28(%rbp), %rdi
callq 0x18690
addq $0x20, %rax
movq %rax, -0xea0(%rbp)
leaq -0xc28(%rbp), %rdi
callq 0x18690
movq %rax, %rdi
addq $0x20, %rdi
callq 0x31f0
movq -0xea0(%rbp), %rsi
movq %rax, %rdx
subq $0x2, %rdx
leaq -0xc50(%rbp), %rdi
movq $-0x1, %rcx
callq 0x32c0
movq -0xc70(%rbp), %rsi
leaq -0xc50(%rbp), %rdi
callq 0x14ed0
movb %al, -0xe91(%rbp)
leaq -0xc50(%rbp), %rdi
callq 0x31a0
movb -0xe91(%rbp), %al
testb $0x1, %al
jne 0x16f47
jmp 0x16f64
leaq -0xc28(%rbp), %rdi
callq 0x18690
movq -0xc68(%rbp), %rdi
movq %rax, %rsi
callq 0x3120
jmp 0x16fd4
jmp 0x16f66
leaq -0xc28(%rbp), %rdi
callq 0x186e0
jmp 0x16e97
leaq -0xc51(%rbp), %rdi
movq %rdi, -0xea8(%rbp)
callq 0x34d0
movq -0xc68(%rbp), %rdi
movq -0xea8(%rbp), %rdx
leaq 0xed7a(%rip), %rsi      # 0x25d19
callq 0x33e0
jmp 0x16fa6
leaq -0xc51(%rbp), %rdi
callq 0x3300
jmp 0x16fd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x7a8(%rbp)
movl %eax, -0x7ac(%rbp)
leaq -0xc51(%rbp), %rdi
callq 0x3300
jmp 0x16fe4
movq -0xc60(%rbp), %rax
addq $0xeb0, %rsp            # imm = 0xEB0
popq %rbp
retq
movq -0x7a8(%rbp), %rdi
callq 0x34b0