// File: /workspace/github_cpp_makefile_star2_O1/FFY00[P]uicc/src/program_uicc.c
// Function: writeUSIMvalues(char*, uicc_vals&)
bool writeUSIMvalues(char *port, struct uicc_vals &values) {
    vector<string> res;
    USIM USIMcard;
    string ATR;
    Assert((ATR=USIMcard.open(port))!="", "Failed to open %s", port);
    //dump_hex("ATR", ATR);
    USIMcard.openUSIM();

    if (!USIMcard.verifyChv('\x0a', values.adm)) {
        printf("chv 0a Nok\n");
        return false;
    }

    if ( values.key.size() > 0)
        // Ki files and Milenage algo paramters are specific to the card manufacturer
        Assert(USIMcard.writeFile("GR Ki", USIMcard.encodeKi(values.key)),
               "can't set Ki %s",values.key.c_str());

    if (values.opc.size() > 0)
        Assert(USIMcard.writeFile("GR OPc", USIMcard.encodeOPC(values.opc)),
               "can't set OPc %s",values.opc.c_str());

    //Milenage internal paramters
    USIMcard.writeFile("GR R",makeBcdVect("4000204060",false));
    vector<string> C;
    C.push_back(makeBcd("00000000000000000000000000000000",false));
    C.push_back(makeBcd("00000000000000000000000000000001",false));
    C.push_back(makeBcd("00000000000000000000000000000002",false));
    C.push_back(makeBcd("00000000000000000000000000000004",false));
    C.push_back(makeBcd("00000000000000000000000000000008",false));
    USIMcard.writeFile("GR C",C);
    vector<string> li;
    li.push_back("en");
    Assert(USIMcard.writeFile("language preference", li), "can't set language");
    Assert(USIMcard.writeFile("SMSC", makeBcdVect("",true,40)),
           "can't set SMSC");

    if (values.isdn.size() > 0)
        Assert(USIMcard.writeFile("MSISDN", USIMcard.encodeISDN(values.isdn, USIMcard.fileRecordSize("MSISDN"))),
               "can't set msisdn %s",values.isdn.c_str());

    if ( values.acc.size() > 0)
        Assert(USIMcard.writeFile("Access control class", USIMcard.encodeACC(values.acc)),
               "can't set acc %s",values.acc.c_str());

    if ( values.imsi.size() > 0) {
        Assert(USIMcard.writeFile("IMSI", USIMcard.encodeIMSI(values.imsi)),
               "can't set imsi %s",values.imsi.c_str());
        string MccMnc=USIMcard.encodeMccMnc(values.imsi.substr(0,3),
                                            values.imsi.substr(3,values.mncLen));
        vector<string> VectMccMnc;
        VectMccMnc.push_back(MccMnc);
        vector<string> MccMncWithAct=VectMccMnc;
        // Add EUTRAN access techno only
        MccMncWithAct[0]+=string(u8"\x40\x00",2);
        Assert(USIMcard.writeFile("PLMN selector with Access Technology",
                                  MccMncWithAct, true), "Can't write PLMN Selector");
        Assert(USIMcard.writeFile("Operator controlled PLMN selector with Access Technology",
                                  MccMncWithAct, true), "Can't write Operator PLMN Selector");
        Assert(USIMcard.writeFile("Home PLMN selector with Access Technology",
                                  MccMncWithAct, true), "Can't write home  PLMN Selector");
        Assert(USIMcard.writeFile("Equivalent Home PLMN",
                                  VectMccMnc), "Can't write Equivalent PLMN");
        vector<string> psloci;
        psloci.push_back(makeBcd("",true,7));
        psloci[0]+=MccMnc;
        psloci[0]+=makeBcd("0000ff01", false);
        Assert(USIMcard.writeFile("PS Location information",
                                  psloci,false),
               "PS location information");
        vector<string> csloci;
        csloci.push_back(makeBcd("",true,4));
        csloci[0]+=MccMnc;
        csloci[0]+=makeBcd("0000ff01", false);
        Assert(USIMcard.writeFile("CS Location information",
                                  csloci, false),
               "CS location information");
    }

    vector<string> ad;
    ad.push_back(makeBcd("000000",false));
    ad[0]+=(char) values.mncLen;
    Assert(USIMcard.writeFile("Administrative data", ad),
           "can't set Administrative data");
    vector<string> spn;
    spn.push_back(string(u8"\x01",1));
    spn[0]+=values.spn;
    Assert(USIMcard.writeFile("Service Provider Name", spn, true), "can't set spn");
    Assert(USIMcard.writeFile("Higher Priority PLMN search period", makeBcdVect("02", false)), "can't set plmn search period");
    Assert(USIMcard.writeFile("Forbidden PLMNs", makeBcdVect("",true,12)), "can't set forbidden plmn");
    Assert(USIMcard.writeFile("Group Identifier Level 1", makeBcdVect("",true,4)), "can't set GID1");
    Assert(USIMcard.writeFile("Group Identifier Level 2", makeBcdVect("",true,4)), "can't set GID2");
    vector<string> ecc;
    ecc.push_back(makeBcd("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",false));
    ecc.push_back(makeBcd("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",false));
    ecc.push_back(makeBcd("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",false));
    ecc.push_back(makeBcd("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",false));
    Assert(USIMcard.writeFile("emergency call codes", ecc), "can't set emergency call codes");
    // Typical service list, a bit complex to define (see 3GPP TS 51.011)
    Assert(USIMcard.writeFile("USIM service table", makeBcdVect("867F1F1C230E0000400050", false)),
           "can't set USIM service table");
    return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa68, %rsp            # imm = 0xA68
movq %rsi, %r14
movq %rdi, %rbx
xorps %xmm0, %xmm0
movaps %xmm0, -0x1c0(%rbp)
movq $0x0, -0x1b0(%rbp)
movb $0x0, -0xe0(%rbp)
movl $0xffffffff, -0xdc(%rbp) # imm = 0xFFFFFFFF
leaq 0x11502(%rip), %rdi     # 0x18400
callq 0x2310
testq %rax, %rax
je 0x6f1a
movzbl (%rax), %eax
orl $0x20, %eax
cmpl $0x79, %eax
jne 0x6f1a
movb $0x1, -0xe0(%rbp)
leaq -0xc8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xa8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x190(%rbp), %r13
movq %r13, -0x10(%r13)
movq %rax, -0x8(%r13)
movb %al, (%r13)
leaq -0x50(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
movq %rbx, %rdx
callq 0xa812
leaq -0x1a0(%rbp), %rdi
leaq -0x50(%rbp), %r12
movq %r12, %rsi
callq 0x2320
leaq 0x11434(%rip), %rsi     # 0x183b2
movq %rax, %rdi
callq 0x20b0
movl %eax, %r15d
movq (%r12), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x6f9b
callq 0x2220
testl %r15d, %r15d
je 0x87e5
leaq -0xe0(%rbp), %rdi
callq 0xb842
leaq -0xa38(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rdx
addq %rsi, %rdx
leaq -0xa48(%rbp), %rdi
callq 0x1372a
leaq -0xe0(%rbp), %rdi
leaq -0xa48(%rbp), %rdx
movl $0xa, %esi
callq 0xc80a
movb %al, -0x29(%rbp)
movq -0xa48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6ffe
callq 0x2220
cmpb $0x0, -0x29(%rbp)
je 0x876b
cmpq $0x0, 0xf0(%r14)
je 0x70d7
leaq -0xa18(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x101bd(%rip), %rsi     # 0x171e5
leaq 0x101bb(%rip), %rdx     # 0x171ea
leaq -0xa28(%rbp), %rdi
callq 0x137c4
leaq -0x9f8(%rbp), %r12
movq %r12, -0x10(%r12)
movq 0xe8(%r14), %rsi
movq 0xf0(%r14), %rdx
addq %rsi, %rdx
leaq -0xa08(%rbp), %rdi
callq 0x1372a
leaq -0x3e8(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
leaq -0xa08(%rbp), %rdx
callq 0xcd62
leaq -0xe0(%rbp), %rdi
leaq -0xa28(%rbp), %rsi
leaq -0x3e8(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r15d
leaq -0x3e8(%rbp), %rdi
callq 0xafd4
movq -0xa08(%rbp), %rdi
cmpq %r12, %rdi
je 0x70bd
callq 0x2220
movq -0xa28(%rbp), %rdi
cmpq %rbx, %rdi
je 0x70ce
callq 0x2220
testb %r15b, %r15b
je 0x881f
cmpq $0x0, 0x70(%r14)
je 0x719d
leaq -0x9d8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1019b(%rip), %rsi     # 0x1728f
leaq 0x1019a(%rip), %rdx     # 0x17295
leaq -0x9e8(%rbp), %rdi
callq 0x137c4
leaq -0x9b8(%rbp), %r12
movq %r12, -0x10(%r12)
movq 0x68(%r14), %rsi
movq 0x70(%r14), %rdx
addq %rsi, %rdx
leaq -0x9c8(%rbp), %rdi
callq 0x1372a
leaq -0x3d0(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
leaq -0x9c8(%rbp), %rdx
callq 0xcdd4
leaq -0xe0(%rbp), %rdi
leaq -0x9e8(%rbp), %rsi
leaq -0x3d0(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r15d
leaq -0x3d0(%rbp), %rdi
callq 0xafd4
movq -0x9c8(%rbp), %rdi
cmpq %r12, %rdi
je 0x7183
callq 0x2220
movq -0x9e8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7194
callq 0x2220
testb %r15b, %r15b
je 0x882e
leaq -0x998(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1018e(%rip), %rsi     # 0x1733d
leaq 0x1018b(%rip), %rdx     # 0x17341
leaq -0x9a8(%rbp), %rdi
callq 0x137c4
leaq -0x978(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x1016e(%rip), %rsi     # 0x17342
leaq 0x10171(%rip), %rdx     # 0x1734c
leaq -0x988(%rbp), %rdi
callq 0x137c4
leaq -0x3b8(%rbp), %rdi
leaq -0x988(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6b88
leaq -0xe0(%rbp), %rdi
leaq -0x9a8(%rbp), %rsi
leaq -0x3b8(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
leaq -0x3b8(%rbp), %rdi
callq 0xafd4
movq -0x988(%rbp), %rdi
cmpq %r15, %rdi
je 0x723a
callq 0x2220
movq -0x9a8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x724b
callq 0x2220
xorps %xmm0, %xmm0
movaps %xmm0, -0x120(%rbp)
movq $0x0, -0x110(%rbp)
leaq -0x958(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x100db(%rip), %rsi     # 0x1734d
leaq 0x100f4(%rip), %rdx     # 0x1736d
leaq -0x968(%rbp), %rdi
callq 0x137c4
leaq -0x50(%rbp), %rdi
leaq -0x968(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c5a
leaq -0x120(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1385e
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x72bb
callq 0x2220
movq -0x968(%rbp), %rdi
cmpq %rbx, %rdi
je 0x72cc
callq 0x2220
leaq -0x938(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x10090(%rip), %rsi     # 0x1736e
leaq 0x100a9(%rip), %rdx     # 0x1738e
leaq -0x948(%rbp), %rdi
callq 0x137c4
leaq -0x50(%rbp), %rdi
leaq -0x948(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c5a
leaq -0x120(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1385e
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x7327
callq 0x2220
movq -0x948(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7338
callq 0x2220
leaq -0x918(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x10045(%rip), %rsi     # 0x1738f
leaq 0x1005e(%rip), %rdx     # 0x173af
leaq -0x928(%rbp), %rdi
callq 0x137c4
leaq -0x50(%rbp), %rdi
leaq -0x928(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c5a
leaq -0x120(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1385e
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x7393
callq 0x2220
movq -0x928(%rbp), %rdi
cmpq %rbx, %rdi
je 0x73a4
callq 0x2220
leaq -0x8f8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xfffa(%rip), %rsi      # 0x173b0
leaq 0x10013(%rip), %rdx     # 0x173d0
leaq -0x908(%rbp), %rdi
callq 0x137c4
leaq -0x50(%rbp), %rdi
leaq -0x908(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c5a
leaq -0x120(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1385e
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x73ff
callq 0x2220
movq -0x908(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7410
callq 0x2220
leaq -0x8d8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xffaf(%rip), %rsi      # 0x173d1
leaq 0xffc8(%rip), %rdx      # 0x173f1
leaq -0x8e8(%rbp), %rdi
callq 0x137c4
leaq -0x50(%rbp), %rdi
leaq -0x8e8(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c5a
leaq -0x120(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1385e
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x746b
callq 0x2220
movq -0x8e8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x747c
callq 0x2220
leaq -0x8b8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xff64(%rip), %rsi      # 0x173f2
leaq 0xff61(%rip), %rdx      # 0x173f6
leaq -0x8c8(%rbp), %rdi
callq 0x137c4
leaq -0x3a0(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0xc1b2
leaq -0xe0(%rbp), %rdi
leaq -0x8c8(%rbp), %rsi
leaq -0x3a0(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
leaq -0x3a0(%rbp), %rdi
callq 0xafd4
movq -0x8c8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x74f0
callq 0x2220
xorps %xmm0, %xmm0
movaps %xmm0, -0x180(%rbp)
movq $0x0, -0x170(%rbp)
leaq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
movq %rax, (%rdi)
leaq 0x10f92(%rip), %rsi     # 0x184a9
leaq 0x10f8d(%rip), %rdx     # 0x184ab
callq 0x137c4
leaq -0x180(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1385e
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x7545
callq 0x2220
leaq -0x898(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xefd5(%rip), %rsi      # 0x1652c
leaq 0xefe1(%rip), %rdx      # 0x1653f
leaq -0x8a8(%rbp), %rdi
callq 0x137c4
leaq -0x388(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0xc1b2
leaq -0xe0(%rbp), %rdi
leaq -0x8a8(%rbp), %rsi
leaq -0x388(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r15d
leaq -0x388(%rbp), %rdi
callq 0xafd4
movq -0x8a8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x75bc
callq 0x2220
testb %r15b, %r15b
je 0x87ed
leaq -0x878(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xfb5a(%rip), %rsi      # 0x17131
leaq 0xfb57(%rip), %rdx      # 0x17135
leaq -0x888(%rbp), %rdi
callq 0x137c4
leaq -0x858(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10db5(%rip), %rdx     # 0x183b2
leaq -0x868(%rbp), %rdi
movq %rdx, %rsi
callq 0x137c4
leaq -0x370(%rbp), %rdi
leaq -0x868(%rbp), %rsi
movl $0x1, %edx
movl $0x28, %ecx
callq 0x6b88
leaq -0xe0(%rbp), %rdi
leaq -0x888(%rbp), %rsi
leaq -0x370(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r15d
leaq -0x370(%rbp), %rdi
callq 0xafd4
movq -0x868(%rbp), %rdi
cmpq %r12, %rdi
je 0x7668
callq 0x2220
movq -0x888(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7679
callq 0x2220
testb %r15b, %r15b
je 0x87f2
cmpq $0x0, 0xb0(%r14)
je 0x77a3
leaq -0x838(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0xeccb(%rip), %rsi      # 0x1636e
leaq 0xecca(%rip), %rdx      # 0x16374
leaq -0x848(%rbp), %rdi
callq 0x137c4
leaq -0x818(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq 0xa8(%r14), %rsi
movq 0xb0(%r14), %rdx
addq %rsi, %rdx
leaq -0x828(%rbp), %rdi
callq 0x1372a
leaq -0x7f8(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0xec7e(%rip), %rsi      # 0x1636e
leaq 0xec7d(%rip), %rdx      # 0x16374
leaq -0x808(%rbp), %rdi
callq 0x137c4
leaq -0xe0(%rbp), %rdi
leaq -0x808(%rbp), %rsi
callq 0xce46
leaq -0x358(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
leaq -0x828(%rbp), %rdx
movl %eax, %ecx
callq 0xc5b2
leaq -0xe0(%rbp), %rdi
leaq -0x848(%rbp), %rsi
leaq -0x358(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r15d
leaq -0x358(%rbp), %rdi
callq 0xafd4
movq -0x808(%rbp), %rdi
cmpq %r13, %rdi
je 0x7771
callq 0x2220
movq -0x828(%rbp), %rdi
cmpq %rbx, %rdi
leaq -0x190(%rbp), %r13
je 0x7789
callq 0x2220
movq -0x848(%rbp), %rdi
cmpq %r12, %rdi
je 0x779a
callq 0x2220
testb %r15b, %r15b
je 0x883a
cmpq $0x0, 0xd0(%r14)
je 0x7872
leaq -0x7d8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xf197(%rip), %rsi      # 0x1695a
leaq 0xf1a4(%rip), %rdx      # 0x1696e
leaq -0x7e8(%rbp), %rdi
callq 0x137c4
leaq -0x7b8(%rbp), %r12
movq %r12, -0x10(%r12)
movq 0xc8(%r14), %rsi
movq 0xd0(%r14), %rdx
addq %rsi, %rdx
leaq -0x7c8(%rbp), %rdi
callq 0x1372a
leaq -0x340(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
leaq -0x7c8(%rbp), %rdx
callq 0xc540
leaq -0xe0(%rbp), %rdi
leaq -0x7e8(%rbp), %rsi
leaq -0x340(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r15d
leaq -0x340(%rbp), %rdi
callq 0xafd4
movq -0x7c8(%rbp), %rdi
cmpq %r12, %rdi
je 0x7858
callq 0x2220
movq -0x7e8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7869
callq 0x2220
testb %r15b, %r15b
je 0x8849
cmpq $0x0, 0x50(%r14)
je 0x7f6e
leaq -0x798(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xeacd(%rip), %rsi      # 0x1635c
leaq 0xeaca(%rip), %rdx      # 0x16360
leaq -0x7a8(%rbp), %rdi
callq 0x137c4
leaq -0x778(%rbp), %r15
movq %r15, -0x10(%r15)
movq 0x48(%r14), %rsi
movq 0x50(%r14), %rdx
addq %rsi, %rdx
leaq -0x788(%rbp), %rdi
callq 0x1372a
leaq -0x328(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
leaq -0x788(%rbp), %rdx
callq 0xc240
leaq -0xe0(%rbp), %rdi
leaq -0x7a8(%rbp), %rsi
leaq -0x328(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r12d
leaq -0x328(%rbp), %rdi
callq 0xafd4
movq -0x788(%rbp), %rdi
cmpq %r15, %rdi
je 0x791d
callq 0x2220
movq -0x7a8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x792e
callq 0x2220
leaq 0x48(%r14), %r15
testb %r12b, %r12b
je 0x8858
leaq -0xa88(%rbp), %rdi
movl $0x3, %ecx
movq %r15, %rsi
xorl %edx, %edx
callq 0x2270
movslq 0x128(%r14), %rcx
leaq -0xa68(%rbp), %rdi
movl $0x3, %edx
movq %r15, %rsi
callq 0x2270
leaq -0x50(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
leaq -0xa88(%rbp), %rdx
leaq -0xa68(%rbp), %rcx
xorl %r8d, %r8d
callq 0xc396
leaq -0xa58(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x79a2
callq 0x2220
leaq -0xa78(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x79b7
callq 0x2220
xorps %xmm0, %xmm0
leaq -0x100(%rbp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq -0x50(%rbp), %rsi
callq 0xc4f4
leaq -0x90(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0xc1b2
leaq -0x60(%rbp), %r15
movq %r15, -0x10(%r15)
movw $0x40, (%r15)
movq $0x2, -0x8(%r15)
movb $0x0, 0x2(%r15)
movq -0x90(%rbp), %rdi
movl $0x2, %edx
movq %r15, %rsi
callq 0x20d0
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
je 0x7a25
callq 0x2220
leaq -0x758(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xfbcd(%rip), %rsi      # 0x17604
leaq 0xfbea(%rip), %rdx      # 0x17628
leaq -0x768(%rbp), %rdi
callq 0x137c4
leaq -0x310(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0xc1b2
leaq -0xe0(%rbp), %rdi
leaq -0x768(%rbp), %rsi
leaq -0x310(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r12d
leaq -0x310(%rbp), %rdi
callq 0xafd4
movq -0x768(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7a9f
callq 0x2220
testb %r12b, %r12b
je 0x8860
leaq -0x738(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xfb36(%rip), %rsi      # 0x175f0
leaq 0xfb67(%rip), %rdx      # 0x17628
leaq -0x748(%rbp), %rdi
callq 0x137c4
leaq -0x2f8(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0xc1b2
leaq -0xe0(%rbp), %rdi
leaq -0x748(%rbp), %rsi
leaq -0x2f8(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r12d
leaq -0x2f8(%rbp), %rdi
callq 0xafd4
movq -0x748(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7b22
callq 0x2220
testb %r12b, %r12b
je 0x8865
leaq -0x718(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xfbcc(%rip), %rsi      # 0x17709
leaq 0xfbee(%rip), %rdx      # 0x17732
leaq -0x728(%rbp), %rdi
callq 0x137c4
leaq -0x2e0(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0xc1b2
leaq -0xe0(%rbp), %rdi
leaq -0x728(%rbp), %rsi
leaq -0x2e0(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r12d
leaq -0x2e0(%rbp), %rdi
callq 0xafd4
movq -0x728(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7ba5
callq 0x2220
testb %r12b, %r12b
je 0x886a
leaq -0x6f8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xfc41(%rip), %rsi      # 0x17801
leaq 0xfc4e(%rip), %rdx      # 0x17815
leaq -0x708(%rbp), %rdi
callq 0x137c4
leaq -0x2c8(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0xc1b2
leaq -0xe0(%rbp), %rdi
leaq -0x708(%rbp), %rsi
leaq -0x2c8(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r12d
leaq -0x2c8(%rbp), %rdi
callq 0xafd4
movq -0x708(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7c25
callq 0x2220
testb %r12b, %r12b
je 0x886f
xorps %xmm0, %xmm0
movaps %xmm0, -0x160(%rbp)
movq $0x0, -0x150(%rbp)
leaq -0x6d8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1075d(%rip), %rdx     # 0x183b2
leaq -0x6e8(%rbp), %rdi
movq %rdx, %rsi
callq 0x137c4
leaq -0x70(%rbp), %rdi
leaq -0x6e8(%rbp), %rsi
movl $0x1, %edx
movl $0x7, %ecx
callq 0x6c5a
leaq -0x160(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x1385e
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
je 0x7c9c
callq 0x2220
movq -0x6e8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7cad
callq 0x2220
movq -0x160(%rbp), %rdi
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
callq 0x20d0
leaq -0x6b8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xebdf(%rip), %rsi      # 0x168b2
leaq 0xebe0(%rip), %rdx      # 0x168ba
leaq -0x6c8(%rbp), %rdi
callq 0x137c4
leaq -0x70(%rbp), %rdi
leaq -0x6c8(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c5a
movq -0x160(%rbp), %rdi
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
callq 0x20d0
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
je 0x7d1c
callq 0x2220
movq -0x6c8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7d2d
callq 0x2220
leaq -0x698(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xfb83(%rip), %rsi      # 0x178c2
leaq 0xfb93(%rip), %rdx      # 0x178d9
leaq -0x6a8(%rbp), %rdi
callq 0x137c4
leaq -0x2b0(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0xc1b2
leaq -0xe0(%rbp), %rdi
leaq -0x6a8(%rbp), %rsi
leaq -0x2b0(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r12d
leaq -0x2b0(%rbp), %rdi
callq 0xafd4
movq -0x6a8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7da4
callq 0x2220
testb %r12b, %r12b
je 0x8874
xorps %xmm0, %xmm0
movaps %xmm0, -0x140(%rbp)
movq $0x0, -0x130(%rbp)
leaq -0x678(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x105de(%rip), %rdx     # 0x183b2
leaq -0x688(%rbp), %rdi
movq %rdx, %rsi
callq 0x137c4
leaq -0x70(%rbp), %rdi
leaq -0x688(%rbp), %rsi
movl $0x1, %edx
movl $0x4, %ecx
callq 0x6c5a
leaq -0x140(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x1385e
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
je 0x7e1b
callq 0x2220
movq -0x688(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7e2c
callq 0x2220
movq -0x140(%rbp), %rdi
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
callq 0x20d0
leaq -0x658(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xea60(%rip), %rsi      # 0x168b2
leaq 0xea61(%rip), %rdx      # 0x168ba
leaq -0x668(%rbp), %rdi
callq 0x137c4
leaq -0x70(%rbp), %rdi
leaq -0x668(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c5a
movq -0x140(%rbp), %rdi
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
callq 0x20d0
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
je 0x7e9b
callq 0x2220
movq -0x668(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7eac
callq 0x2220
leaq -0x638(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xfac9(%rip), %rsi      # 0x17987
leaq 0xfad9(%rip), %rdx      # 0x1799e
leaq -0x648(%rbp), %rdi
callq 0x137c4
leaq -0x298(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0xc1b2
leaq -0xe0(%rbp), %rdi
leaq -0x648(%rbp), %rsi
leaq -0x298(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r15d
leaq -0x298(%rbp), %rdi
callq 0xafd4
movq -0x648(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7f23
callq 0x2220
testb %r15b, %r15b
je 0x8879
leaq -0x140(%rbp), %rdi
callq 0xafd4
leaq -0x160(%rbp), %rdi
callq 0xafd4
leaq -0x90(%rbp), %rdi
callq 0xafd4
leaq -0x100(%rbp), %rdi
callq 0xafd4
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x7f6e
callq 0x2220
xorps %xmm0, %xmm0
movaps %xmm0, -0x70(%rbp)
movq $0x0, -0x60(%rbp)
leaq -0x618(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xf3d8(%rip), %rsi      # 0x17367
leaq 0xf3d7(%rip), %rdx      # 0x1736d
leaq -0x628(%rbp), %rdi
callq 0x137c4
leaq -0x50(%rbp), %rdi
leaq -0x628(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c5a
leaq -0x70(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1385e
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x7fd5
callq 0x2220
movq -0x628(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7fe6
callq 0x2220
movsbl 0x128(%r14), %esi
movq -0x70(%rbp), %rdi
callq 0x2200
leaq -0x5f8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xea1b(%rip), %rsi      # 0x16a24
leaq 0xea27(%rip), %rdx      # 0x16a37
leaq -0x608(%rbp), %rdi
callq 0x137c4
leaq -0x280(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0xc1b2
leaq -0xe0(%rbp), %rdi
leaq -0x608(%rbp), %rsi
leaq -0x280(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r15d
leaq -0x280(%rbp), %rdi
callq 0xafd4
movq -0x608(%rbp), %rdi
cmpq %rbx, %rdi
je 0x806b
callq 0x2220
testb %r15b, %r15b
je 0x87f7
xorps %xmm0, %xmm0
leaq -0x100(%rbp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq -0x50(%rbp), %rsi
leaq -0x40(%rbp), %rbx
movq %rbx, (%rsi)
movw $0x1, 0x10(%rsi)
movq $0x1, 0x8(%rsi)
callq 0x1385e
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x80b5
callq 0x2220
movq -0x100(%rbp), %rdi
movq 0x108(%r14), %rsi
movq 0x110(%r14), %rdx
callq 0x20d0
leaq -0x5d8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xe354(%rip), %rsi      # 0x16435
leaq 0xe362(%rip), %rdx      # 0x1644a
leaq -0x5e8(%rbp), %rdi
callq 0x137c4
leaq -0x268(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0xc1b2
leaq -0xe0(%rbp), %rdi
leaq -0x5e8(%rbp), %rsi
leaq -0x268(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r14d
leaq -0x268(%rbp), %rdi
callq 0xafd4
movq -0x5e8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x8149
callq 0x2220
testb %r14b, %r14b
je 0x87fc
leaq -0x5b8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xea17(%rip), %rsi      # 0x16b7b
leaq 0xea32(%rip), %rdx      # 0x16b9d
leaq -0x5c8(%rbp), %rdi
callq 0x137c4
leaq -0x598(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0xf224(%rip), %rsi      # 0x173ad
leaq 0xf21f(%rip), %rdx      # 0x173af
leaq -0x5a8(%rbp), %rdi
callq 0x137c4
leaq -0x250(%rbp), %rdi
leaq -0x5a8(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6b88
leaq -0xe0(%rbp), %rdi
leaq -0x5c8(%rbp), %rsi
leaq -0x250(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r14d
leaq -0x250(%rbp), %rdi
callq 0xafd4
movq -0x5a8(%rbp), %rdi
cmpq %r15, %rdi
je 0x81f2
callq 0x2220
movq -0x5c8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x8203
callq 0x2220
testb %r14b, %r14b
je 0x8801
leaq -0x578(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xf82f(%rip), %rsi      # 0x17a4d
leaq 0xf837(%rip), %rdx      # 0x17a5c
leaq -0x588(%rbp), %rdi
callq 0x137c4
leaq -0x558(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x1016f(%rip), %rdx     # 0x183b2
leaq -0x568(%rbp), %rdi
movq %rdx, %rsi
callq 0x137c4
leaq -0x238(%rbp), %rdi
leaq -0x568(%rbp), %rsi
movl $0x1, %edx
movl $0xc, %ecx
callq 0x6b88
leaq -0xe0(%rbp), %rdi
leaq -0x588(%rbp), %rsi
leaq -0x238(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r14d
leaq -0x238(%rbp), %rdi
callq 0xafd4
movq -0x568(%rbp), %rdi
cmpq %r15, %rdi
je 0x82ae
callq 0x2220
movq -0x588(%rbp), %rdi
cmpq %rbx, %rdi
je 0x82bf
callq 0x2220
testb %r14b, %r14b
je 0x8806
leaq -0x538(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xea49(%rip), %rsi      # 0x16d23
leaq 0xea5a(%rip), %rdx      # 0x16d3b
leaq -0x548(%rbp), %rdi
callq 0x137c4
leaq -0x518(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x100b3(%rip), %rdx     # 0x183b2
leaq -0x528(%rbp), %rdi
movq %rdx, %rsi
callq 0x137c4
leaq -0x220(%rbp), %rdi
leaq -0x528(%rbp), %rsi
movl $0x1, %edx
movl $0x4, %ecx
callq 0x6b88
leaq -0xe0(%rbp), %rdi
leaq -0x548(%rbp), %rsi
leaq -0x220(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r14d
leaq -0x220(%rbp), %rdi
callq 0xafd4
movq -0x528(%rbp), %rdi
cmpq %r15, %rdi
je 0x836a
callq 0x2220
movq -0x548(%rbp), %rdi
cmpq %rbx, %rdi
je 0x837b
callq 0x2220
testb %r14b, %r14b
je 0x880b
leaq -0x4f8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xea53(%rip), %rsi      # 0x16de9
leaq 0xea64(%rip), %rdx      # 0x16e01
leaq -0x508(%rbp), %rdi
callq 0x137c4
leaq -0x4d8(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0xfff7(%rip), %rdx      # 0x183b2
leaq -0x4e8(%rbp), %rdi
movq %rdx, %rsi
callq 0x137c4
leaq -0x208(%rbp), %rdi
leaq -0x4e8(%rbp), %rsi
movl $0x1, %edx
movl $0x4, %ecx
callq 0x6b88
leaq -0xe0(%rbp), %rdi
leaq -0x508(%rbp), %rsi
leaq -0x208(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r14d
leaq -0x208(%rbp), %rdi
callq 0xafd4
movq -0x4e8(%rbp), %rdi
cmpq %r15, %rdi
je 0x8426
callq 0x2220
movq -0x508(%rbp), %rdi
cmpq %rbx, %rdi
je 0x8437
callq 0x2220
testb %r14b, %r14b
je 0x8810
xorps %xmm0, %xmm0
movaps %xmm0, -0x90(%rbp)
movq $0x0, -0x80(%rbp)
leaq -0x4b8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xf808(%rip), %rsi      # 0x17c6c
leaq 0xf825(%rip), %rdx      # 0x17c90
leaq -0x4c8(%rbp), %rdi
callq 0x137c4
leaq -0x40(%rbp), %r14
leaq -0x50(%rbp), %rdi
leaq -0x4c8(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c5a
leaq -0x90(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1385e
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x84ad
callq 0x2220
movq -0x4c8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x84be
callq 0x2220
leaq -0x498(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xf79c(%rip), %rsi      # 0x17c6c
leaq 0xf7b9(%rip), %rdx      # 0x17c90
leaq -0x4a8(%rbp), %rdi
callq 0x137c4
leaq -0x50(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c5a
leaq -0x90(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1385e
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x8515
callq 0x2220
movq -0x4a8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x8526
callq 0x2220
leaq -0x478(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xf734(%rip), %rsi      # 0x17c6c
leaq 0xf751(%rip), %rdx      # 0x17c90
leaq -0x488(%rbp), %rdi
callq 0x137c4
leaq -0x50(%rbp), %rdi
leaq -0x488(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c5a
leaq -0x90(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1385e
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x857d
callq 0x2220
movq -0x488(%rbp), %rdi
cmpq %rbx, %rdi
je 0x858e
callq 0x2220
leaq -0x458(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xf6cc(%rip), %rsi      # 0x17c6c
leaq 0xf6e9(%rip), %rdx      # 0x17c90
leaq -0x468(%rbp), %rdi
callq 0x137c4
leaq -0x50(%rbp), %rdi
leaq -0x468(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c5a
leaq -0x90(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1385e
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x85e5
callq 0x2220
movq -0x468(%rbp), %rdi
cmpq %rbx, %rdi
je 0x85f6
callq 0x2220
leaq -0x438(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xe8a7(%rip), %rsi      # 0x16eaf
leaq 0xe8b4(%rip), %rdx      # 0x16ec3
leaq -0x448(%rbp), %rdi
callq 0x137c4
leaq -0x1f0(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0xc1b2
leaq -0xe0(%rbp), %rdi
leaq -0x448(%rbp), %rsi
leaq -0x1f0(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r14d
leaq -0x1f0(%rbp), %rdi
callq 0xafd4
movq -0x448(%rbp), %rdi
cmpq %rbx, %rdi
je 0x866d
callq 0x2220
testb %r14b, %r14b
je 0x8815
leaq -0x418(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xf6b1(%rip), %rsi      # 0x17d39
leaq 0xf6bc(%rip), %rdx      # 0x17d4b
leaq -0x428(%rbp), %rdi
callq 0x137c4
leaq -0x3f8(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0xf69f(%rip), %rsi      # 0x17d4c
leaq 0xf6ae(%rip), %rdx      # 0x17d62
leaq -0x408(%rbp), %rdi
callq 0x137c4
leaq -0x1d8(%rbp), %rdi
leaq -0x408(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6b88
leaq -0xe0(%rbp), %rdi
leaq -0x428(%rbp), %rsi
leaq -0x1d8(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xc884
movl %eax, %r14d
leaq -0x1d8(%rbp), %rdi
callq 0xafd4
movq -0x408(%rbp), %rdi
cmpq %r15, %rdi
je 0x8716
callq 0x2220
movq -0x428(%rbp), %rdi
cmpq %rbx, %rdi
je 0x8727
callq 0x2220
testb %r14b, %r14b
je 0x881a
leaq -0x90(%rbp), %rdi
callq 0xafd4
leaq -0x100(%rbp), %rdi
callq 0xafd4
leaq -0x70(%rbp), %rdi
callq 0xafd4
leaq -0x180(%rbp), %rdi
callq 0xafd4
leaq -0x120(%rbp), %rdi
callq 0xafd4
jmp 0x8777
leaq 0x106f1(%rip), %rdi     # 0x18e63
callq 0x23c0
leaq -0xc8(%rbp), %rbx
leaq -0xa8(%rbp), %r14
movq -0x1a0(%rbp), %rdi
cmpq %r13, %rdi
je 0x8796
callq 0x2220
movq -0xb8(%rbp), %rdi
cmpq %r14, %rdi
je 0x87a7
callq 0x2220
movq -0xd8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x87b8
callq 0x2220
leaq -0xe0(%rbp), %rdi
callq 0xb13c
leaq -0x1c0(%rbp), %rdi
callq 0xafd4
movb -0x29(%rbp), %al
addq $0xa68, %rsp            # imm = 0xA68
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rbx, %rdi
callq 0x377c
callq 0x2fe9
callq 0x304d
callq 0x345c
callq 0x34c0
callq 0x3524
callq 0x3588
callq 0x35ec
callq 0x3650
callq 0x36b4
callq 0x3718
addq $0xe8, %r14
movq %r14, %rdi
callq 0x2f07
addq $0x68, %r14
movq %r14, %rdi
callq 0x2f78
addq $0xa8, %r14
movq %r14, %rdi
callq 0x30b1
addq $0xc8, %r14
movq %r14, %rdi
callq 0x3122
movq %r15, %rdi
callq 0x3193
callq 0x3204
callq 0x3268
callq 0x32cc
callq 0x3330
callq 0x3394
callq 0x33f8
movq %rax, %r14
leaq -0x298(%rbp), %rdi
callq 0xafd4
jmp 0x8892
movq %rax, %r14
movq -0x648(%rbp), %rdi
jmp 0x88dd
jmp 0x88e9
movq %rax, %r14
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
je 0x88b3
callq 0x2220
jmp 0x88b3
movq %rax, %r14
movq -0x668(%rbp), %rdi
jmp 0x88dd
jmp 0x88e9
jmp 0x88e9
movq %rax, %r14
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
je 0x88d6
callq 0x2220
jmp 0x88d6
movq %rax, %r14
movq -0x688(%rbp), %rdi
cmpq %rbx, %rdi
je 0x88ec
callq 0x2220
jmp 0x88ec
movq %rax, %r14
leaq -0x140(%rbp), %rdi
callq 0xafd4
jmp 0x8968
movq %rax, %r14
leaq -0x2b0(%rbp), %rdi
callq 0xafd4
jmp 0x890e
movq %rax, %r14
movq -0x6a8(%rbp), %rdi
jmp 0x8959
jmp 0x8965
movq %rax, %r14
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
je 0x892f
callq 0x2220
jmp 0x892f
movq %rax, %r14
movq -0x6c8(%rbp), %rdi
jmp 0x8959
jmp 0x8965
jmp 0x8965
movq %rax, %r14
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
je 0x8952
callq 0x2220
jmp 0x8952
movq %rax, %r14
movq -0x6e8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x8968
callq 0x2220
jmp 0x8968
movq %rax, %r14
leaq -0x160(%rbp), %rdi
callq 0xafd4
leaq -0x90(%rbp), %rdi
callq 0xafd4
leaq -0x100(%rbp), %rdi
callq 0xafd4
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
jne 0x8ffa
jmp 0x8fff
movq %rax, %r14
leaq -0x2c8(%rbp), %rdi
callq 0xafd4
jmp 0x89b6
movq %rax, %r14
movq -0x708(%rbp), %rdi
jmp 0x8a1a
jmp 0x8a2d
movq %rax, %r14
leaq -0x2e0(%rbp), %rdi
callq 0xafd4
jmp 0x89d5
movq %rax, %r14
movq -0x728(%rbp), %rdi
jmp 0x8a1a
jmp 0x8a2d
movq %rax, %r14
leaq -0x2f8(%rbp), %rdi
callq 0xafd4
jmp 0x89f4
movq %rax, %r14
movq -0x748(%rbp), %rdi
jmp 0x8a1a
jmp 0x8a2d
movq %rax, %r14
leaq -0x310(%rbp), %rdi
callq 0xafd4
jmp 0x8a13
movq %rax, %r14
movq -0x768(%rbp), %rdi
cmpq %rbx, %rdi
je 0x8974
callq 0x2220
jmp 0x8974
movq %rax, %r14
jmp 0x8974
movq %rax, %r14
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
je 0x8974
jmp 0x8a23
jmp 0x8a49
movq %rax, %r14
jmp 0x8980
movq %rax, %r14
leaq -0xa58(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x8a6e
callq 0x2220
jmp 0x8a6e
movq %rax, %r14
leaq -0xa78(%rbp), %rax
movq -0x10(%rax), %rdi
jmp 0x8994
jmp 0x8e8e
movq %rax, %r14
leaq -0x328(%rbp), %rdi
callq 0xafd4
jmp 0x8a97
movq %rax, %r14
movq -0x788(%rbp), %rdi
cmpq %r15, %rdi
je 0x8aad
callq 0x2220
jmp 0x8aad
movq %rax, %r14
movq -0x7a8(%rbp), %rdi
jmp 0x8e76
jmp 0x8e8e
movq %rax, %r14
leaq -0x340(%rbp), %rdi
callq 0xafd4
jmp 0x8ad2
movq %rax, %r14
movq -0x7c8(%rbp), %rdi
cmpq %r12, %rdi
je 0x8ae8
callq 0x2220
jmp 0x8ae8
movq %rax, %r14
movq -0x7e8(%rbp), %rdi
jmp 0x8e76
movq %rax, %r14
leaq -0x358(%rbp), %rdi
callq 0xafd4
jmp 0x8fcc
jmp 0x8e8e
movq %rax, %r14
jmp 0x8fdd
movq %rax, %r14
jmp 0x8fee
jmp 0x8e8e
movq %rax, %r14
leaq -0x3d0(%rbp), %rdi
callq 0xafd4
jmp 0x8b36
movq %rax, %r14
movq -0x9c8(%rbp), %rdi
cmpq %r12, %rdi
je 0x8b4c
callq 0x2220
jmp 0x8b4c
movq %rax, %r14
movq -0x9e8(%rbp), %rdi
jmp 0x9059
jmp 0x9067
movq %rax, %r14
leaq -0x3e8(%rbp), %rdi
callq 0xafd4
jmp 0x8b71
movq %rax, %r14
movq -0xa08(%rbp), %rdi
cmpq %r12, %rdi
je 0x8b87
callq 0x2220
jmp 0x8b87
movq %rax, %r14
movq -0xa28(%rbp), %rdi
jmp 0x9059
jmp 0x9067
movq %rax, %r14
leaq -0x1d8(%rbp), %rdi
callq 0xafd4
jmp 0x8bac
movq %rax, %r14
movq -0x408(%rbp), %rdi
cmpq %r15, %rdi
je 0x8bc2
callq 0x2220
jmp 0x8bc2
movq %rax, %r14
movq -0x428(%rbp), %rdi
jmp 0x8c84
jmp 0x8c90
movq %rax, %r14
leaq -0x1f0(%rbp), %rdi
callq 0xafd4
jmp 0x8be7
movq %rax, %r14
movq -0x448(%rbp), %rdi
jmp 0x8c84
jmp 0x8c90
movq %r14, %rcx
movq %rax, %r14
movq -0x50(%rbp), %rdi
cmpq %rcx, %rdi
je 0x8c11
callq 0x2220
jmp 0x8c11
movq %rax, %r14
movq -0x468(%rbp), %rdi
jmp 0x8c84
jmp 0x8c90
movq %r14, %rcx
movq %rax, %r14
movq -0x50(%rbp), %rdi
cmpq %rcx, %rdi
je 0x8c35
callq 0x2220
jmp 0x8c35
movq %rax, %r14
movq -0x488(%rbp), %rdi
jmp 0x8c84
jmp 0x8c90
movq %r14, %rcx
movq %rax, %r14
movq -0x50(%rbp), %rdi
cmpq %rcx, %rdi
je 0x8c59
callq 0x2220
jmp 0x8c59
movq %rax, %r14
movq -0x4a8(%rbp), %rdi
jmp 0x8c84
jmp 0x8c90
movq %r14, %rcx
movq %rax, %r14
movq -0x50(%rbp), %rdi
cmpq %rcx, %rdi
je 0x8c7d
callq 0x2220
jmp 0x8c7d
movq %rax, %r14
movq -0x4c8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x8c93
callq 0x2220
jmp 0x8c93
movq %rax, %r14
leaq -0x90(%rbp), %rdi
callq 0xafd4
jmp 0x8db9
movq %rax, %r14
leaq -0x208(%rbp), %rdi
callq 0xafd4
jmp 0x8cb8
movq %rax, %r14
movq -0x4e8(%rbp), %rdi
cmpq %r15, %rdi
je 0x8cce
callq 0x2220
jmp 0x8cce
movq %rax, %r14
movq -0x508(%rbp), %rdi
jmp 0x8daf
jmp 0x8da3
movq %rax, %r14
leaq -0x220(%rbp), %rdi
callq 0xafd4
jmp 0x8cf3
movq %rax, %r14
movq -0x528(%rbp), %rdi
cmpq %r15, %rdi
je 0x8d09
callq 0x2220
jmp 0x8d09
movq %rax, %r14
movq -0x548(%rbp), %rdi
jmp 0x8daf
jmp 0x8da3
movq %rax, %r14
leaq -0x238(%rbp), %rdi
callq 0xafd4
jmp 0x8d2e
movq %rax, %r14
movq -0x568(%rbp), %rdi
cmpq %r15, %rdi
je 0x8d44
callq 0x2220
jmp 0x8d44
movq %rax, %r14
movq -0x588(%rbp), %rdi
jmp 0x8daf
jmp 0x8da3
movq %rax, %r14
leaq -0x250(%rbp), %rdi
callq 0xafd4
jmp 0x8d63
movq %rax, %r14
movq -0x5a8(%rbp), %rdi
cmpq %r15, %rdi
je 0x8d79
callq 0x2220
jmp 0x8d79
movq %rax, %r14
movq -0x5c8(%rbp), %rdi
jmp 0x8daf
jmp 0x8da3
movq %rax, %r14
leaq -0x268(%rbp), %rdi
callq 0xafd4
jmp 0x8d98
movq %rax, %r14
movq -0x5e8(%rbp), %rdi
jmp 0x8daf
jmp 0x8da3
movq %rax, %r14
jmp 0x8db9
movq %rax, %r14
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x8db9
callq 0x2220
leaq -0x100(%rbp), %rdi
callq 0xafd4
leaq -0x70(%rbp), %rdi
callq 0xafd4
jmp 0x8fff
movq %rax, %r14
leaq -0x280(%rbp), %rdi
callq 0xafd4
jmp 0x8de7
movq %rax, %r14
movq -0x608(%rbp), %rdi
jmp 0x8e15
jmp 0x8e21
jmp 0x8e21
movq %rax, %r14
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x8e0e
callq 0x2220
jmp 0x8e0e
movq %rax, %r14
movq -0x628(%rbp), %rdi
cmpq %rbx, %rdi
je 0x8dc5
callq 0x2220
jmp 0x8dc5
movq %rax, %r14
jmp 0x8dc5
movq %rax, %r14
leaq -0x370(%rbp), %rdi
callq 0xafd4
jmp 0x8e3a
movq %rax, %r14
movq -0x868(%rbp), %rdi
cmpq %r12, %rdi
je 0x8e50
callq 0x2220
jmp 0x8e50
movq %rax, %r14
movq -0x888(%rbp), %rdi
jmp 0x8e76
jmp 0x8e8e
movq %rax, %r14
leaq -0x388(%rbp), %rdi
callq 0xafd4
jmp 0x8e6f
movq %rax, %r14
movq -0x8a8(%rbp), %rdi
cmpq %rbx, %rdi
jne 0x8ffa
jmp 0x8fff
jmp 0x8e8e
movq %rax, %r14
jmp 0x898c
movq %rax, %r14
jmp 0x8fff
movq %rax, %r14
leaq -0x3a0(%rbp), %rdi
callq 0xafd4
jmp 0x8eaa
movq %rax, %r14
movq -0x8c8(%rbp), %rdi
jmp 0x8f76
jmp 0x8f89
movq %rax, %r14
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x8ed5
callq 0x2220
jmp 0x8ed5
movq %rax, %r14
movq -0x8e8(%rbp), %rdi
jmp 0x8f76
jmp 0x8f89
movq %rax, %r14
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x8f00
callq 0x2220
jmp 0x8f00
movq %rax, %r14
movq -0x908(%rbp), %rdi
jmp 0x8f76
jmp 0x8f89
movq %rax, %r14
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x8f25
callq 0x2220
jmp 0x8f25
movq %rax, %r14
movq -0x928(%rbp), %rdi
jmp 0x8f76
jmp 0x8f89
movq %rax, %r14
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x8f4a
callq 0x2220
jmp 0x8f4a
movq %rax, %r14
movq -0x948(%rbp), %rdi
jmp 0x8f76
jmp 0x8f89
movq %rax, %r14
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x8f6f
callq 0x2220
jmp 0x8f6f
movq %rax, %r14
movq -0x968(%rbp), %rdi
cmpq %rbx, %rdi
je 0x900b
callq 0x2220
jmp 0x900b
movq %rax, %r14
jmp 0x900b
movq %rax, %r14
leaq -0x3b8(%rbp), %rdi
callq 0xafd4
jmp 0x8fa2
movq %rax, %r14
movq -0x988(%rbp), %rdi
cmpq %r15, %rdi
je 0x8fb8
callq 0x2220
jmp 0x8fb8
movq %rax, %r14
movq -0x9a8(%rbp), %rdi
jmp 0x9059
jmp 0x9067
movq %rax, %r14
movq -0x808(%rbp), %rdi
cmpq %r13, %rdi
je 0x8fdd
callq 0x2220
movq -0x828(%rbp), %rdi
cmpq %rbx, %rdi
je 0x8fee
callq 0x2220
movq -0x848(%rbp), %rdi
cmpq %r12, %rdi
je 0x8fff
callq 0x2220
leaq -0x180(%rbp), %rdi
callq 0xafd4
leaq -0x120(%rbp), %rdi
callq 0xafd4
movq -0x1a0(%rbp), %rdi
leaq -0x190(%rbp), %rax
cmpq %rax, %rdi
je 0x902f
callq 0x2220
leaq -0xe0(%rbp), %rdi
callq 0xbc40
leaq -0x1c0(%rbp), %rdi
callq 0xafd4
movq %r14, %rdi
callq 0x2400
movq %rax, %r14
movq -0xa48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x9017
callq 0x2220
jmp 0x9017
jmp 0x9067
movq %rax, %r14
jmp 0x9017