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

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

    if (values.iccid.size() > 0)
        Assert(USIMcard.writeFile("ICCID", USIMcard.encodeICCID(values.iccid)),
               "can't set iccid %s",values.iccid.c_str());

    vector<string> li;
    li.push_back("en");
    Assert(USIMcard.writeFile("Extended language preference", li), "can't set language");
    Assert(USIMcard.writeFile("language preference", makeBcdVect("01",false)), "can't set language");

    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);
        Assert(USIMcard.writeFile("PLMN selector", VectMccMnc, true), "Can't write PLMN Selector");
        Assert(USIMcard.writeFile("Equivalent home PLMN", VectMccMnc), "Can't write Equivalent PLMN");
        vector<string> loci;
        loci.push_back(makeBcd("",true,4));
        loci[0]+=MccMnc;
        loci[0]+=makeBcd("0000ff01", false);
        Assert(USIMcard.writeFile("Location information",
                                  loci), "location information");
    }

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

    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 PLMN",
                              makeBcdVect(""),true), "can't set forbidden plmn");
    Assert(USIMcard.writeFile("Group Identifier Level 1",
                              makeBcdVect(""),true), "can't set GID1");
    Assert(USIMcard.writeFile("Group Identifier Level 2",
                              makeBcdVect(""),true), "can't set GID2");
    Assert(USIMcard.writeFile("emergency call codes",
                              makeBcdVect(""),true), "can't set emergency call codes");
    // Typical service list, a bit complex to define (see 3GPP TS 51.011)
    Assert(USIMcard.writeFile("SIM service table", makeBcdVect("ff33ffff00003f033000f0c3",false)),
           "can't set GSM service table");

    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());

    Assert(USIMcard.writeFile("SMSC", makeBcdVect(""),true), "can't set SMS center");
    return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x758, %rsp            # imm = 0x758
movq %rsi, %r14
movq %rdi, %rbx
xorps %xmm0, %xmm0
movaps %xmm0, -0x230(%rbp)
movq $0x0, -0x220(%rbp)
movb $0x0, -0x44(%rbp)
movl $0xffffffff, -0x40(%rbp) # imm = 0xFFFFFFFF
leaq 0x12ede(%rip), %rdi     # 0x18400
callq 0x2310
testq %rax, %rax
je 0x553b
movzbl (%rax), %eax
orl $0x20, %eax
cmpl $0x79, %eax
jne 0x553b
movb $0x1, -0x44(%rbp)
leaq -0x200(%rbp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq -0x68(%rbp), %rdi
leaq -0x44(%rbp), %rsi
movq %rbx, %rdx
callq 0xaaf4
leaq -0x210(%rbp), %rdi
leaq -0x68(%rbp), %r12
movq %r12, %rsi
callq 0x2320
leaq 0x12e37(%rip), %rsi     # 0x183b2
movq %rax, %rdi
callq 0x20b0
movl %eax, %r15d
movq (%r12), %rdi
leaq -0x58(%rbp), %r13
cmpq %r13, %rdi
je 0x5598
callq 0x2220
testl %r15d, %r15d
je 0x65d3
leaq -0x730(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rdx
addq %rsi, %rdx
leaq -0x740(%rbp), %rdi
callq 0x1394e
leaq -0x44(%rbp), %rdi
leaq -0x740(%rbp), %rdx
movl $0xa, %esi
callq 0xbf38
movl %eax, %r12d
movq -0x740(%rbp), %rdi
cmpq %rbx, %rdi
je 0x55ec
callq 0x2220
testb %r12b, %r12b
je 0x6585
cmpq $0x0, 0x30(%r14)
movb %r12b, -0x29(%rbp)
je 0x56b9
leaq -0x710(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10df6(%rip), %rsi     # 0x1640d
leaq 0x10df4(%rip), %rdx     # 0x16412
leaq -0x720(%rbp), %rdi
callq 0x139ec
leaq -0x6f0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x28(%r14), %rsi
movq 0x30(%r14), %rdx
addq %rsi, %rdx
leaq -0x700(%rbp), %rdi
callq 0x1394e
leaq -0x3e0(%rbp), %rdi
leaq -0x44(%rbp), %rsi
leaq -0x700(%rbp), %rdx
callq 0xc406
leaq -0x44(%rbp), %rdi
leaq -0x720(%rbp), %rsi
leaq -0x3e0(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x3e0(%rbp), %rdi
callq 0xb2cc
movq -0x700(%rbp), %rdi
cmpq %rbx, %rdi
je 0x569f
callq 0x2220
movq -0x720(%rbp), %rdi
cmpq %r12, %rdi
je 0x56b0
callq 0x2220
testb %r15b, %r15b
je 0x6612
xorps %xmm0, %xmm0
movaps %xmm0, -0xf0(%rbp)
movq $0x0, -0xe0(%rbp)
leaq -0x68(%rbp), %rdi
movq %r13, (%rdi)
leaq 0x12dcd(%rip), %rsi     # 0x184a9
leaq 0x12dc8(%rip), %rdx     # 0x184ab
callq 0x139ec
leaq -0xf0(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x13a8a
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x5706
callq 0x2220
leaq -0x6d0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x10e0b(%rip), %rsi     # 0x16523
leaq 0x10e20(%rip), %rdx     # 0x1653f
leaq -0x6e0(%rbp), %rdi
callq 0x139ec
leaq -0x3c8(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0xc484
leaq -0x44(%rbp), %rdi
leaq -0x6e0(%rbp), %rsi
leaq -0x3c8(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x3c8(%rbp), %rdi
callq 0xb2cc
movq -0x6e0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x577a
callq 0x2220
testb %r15b, %r15b
je 0x65db
leaq -0x6b0(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10d96(%rip), %rsi     # 0x1652c
leaq 0x10da2(%rip), %rdx     # 0x1653f
leaq -0x6c0(%rbp), %rdi
callq 0x139ec
leaq -0x1e0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x11bd1(%rip), %rsi     # 0x1738c
leaq 0x11bcc(%rip), %rdx     # 0x1738e
leaq -0x1f0(%rbp), %rdi
callq 0x139ec
movq -0x1f0(%rbp), %rsi
movq -0x1e8(%rbp), %rdx
leaq -0x3b0(%rbp), %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x6bd5
leaq -0x44(%rbp), %rdi
leaq -0x6c0(%rbp), %rsi
leaq -0x3b0(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x3b0(%rbp), %rdi
callq 0xb2cc
movq -0x1f0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5829
callq 0x2220
movq -0x6c0(%rbp), %rdi
cmpq %r12, %rdi
je 0x583a
callq 0x2220
testb %r15b, %r15b
je 0x65e0
cmpq $0x0, 0x50(%r14)
je 0x5c52
leaq -0x690(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x10afc(%rip), %rsi     # 0x1635c
leaq 0x10af9(%rip), %rdx     # 0x16360
leaq -0x6a0(%rbp), %rdi
callq 0x139ec
leaq -0x670(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x48(%r14), %rsi
movq 0x50(%r14), %rdx
addq %rsi, %rdx
leaq -0x680(%rbp), %rdi
callq 0x1394e
leaq -0x398(%rbp), %rdi
leaq -0x44(%rbp), %rsi
leaq -0x680(%rbp), %rdx
callq 0xc512
leaq -0x44(%rbp), %rdi
leaq -0x6a0(%rbp), %rsi
leaq -0x398(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r12d
leaq -0x398(%rbp), %rdi
callq 0xb2cc
movq -0x680(%rbp), %rdi
cmpq %rbx, %rdi
je 0x58e8
callq 0x2220
movq -0x6a0(%rbp), %rdi
cmpq %r15, %rdi
je 0x58f9
callq 0x2220
leaq 0x48(%r14), %r15
testb %r12b, %r12b
je 0x661e
leaq -0x780(%rbp), %rdi
movl $0x3, %ecx
movq %r15, %rsi
xorl %edx, %edx
callq 0x2270
movslq 0x128(%r14), %rcx
leaq -0x760(%rbp), %rdi
movl $0x3, %edx
movq %r15, %rsi
callq 0x2270
leaq -0x68(%rbp), %rdi
leaq -0x44(%rbp), %rsi
leaq -0x780(%rbp), %rdx
leaq -0x760(%rbp), %rcx
xorl %r8d, %r8d
callq 0xc668
leaq -0x750(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x596a
callq 0x2220
leaq -0x770(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x597f
callq 0x2220
xorps %xmm0, %xmm0
leaq -0xb0(%rbp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq -0x68(%rbp), %rsi
callq 0xc7c6
leaq -0x650(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x10d8b(%rip), %rsi     # 0x1673a
leaq 0x10d91(%rip), %rdx     # 0x16747
leaq -0x660(%rbp), %rdi
callq 0x139ec
leaq -0x380(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0xc484
leaq -0x44(%rbp), %rdi
leaq -0x660(%rbp), %rsi
leaq -0x380(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x380(%rbp), %rdi
callq 0xb2cc
movq -0x660(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5a14
callq 0x2220
testb %r15b, %r15b
je 0x6626
leaq -0x630(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x10dc2(%rip), %rsi     # 0x167f1
leaq 0x10dcf(%rip), %rdx     # 0x16805
leaq -0x640(%rbp), %rdi
callq 0x139ec
leaq -0x368(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0xc484
leaq -0x44(%rbp), %rdi
leaq -0x640(%rbp), %rsi
leaq -0x368(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x368(%rbp), %rdi
callq 0xb2cc
movq -0x640(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5a91
callq 0x2220
testb %r15b, %r15b
je 0x662b
xorps %xmm0, %xmm0
movaps %xmm0, -0xd0(%rbp)
movq $0x0, -0xc0(%rbp)
leaq -0x610(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x128f1(%rip), %rdx     # 0x183b2
leaq -0x620(%rbp), %rdi
movq %rdx, %rsi
callq 0x139ec
leaq -0x90(%rbp), %rdi
leaq -0x620(%rbp), %rsi
movl $0x1, %edx
movl $0x4, %ecx
callq 0x6c9a
leaq -0xd0(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x13a8a
leaq -0x80(%rbp), %rbx
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x5b12
callq 0x2220
movq -0x620(%rbp), %rdi
cmpq %r15, %rdi
je 0x5b23
callq 0x2220
movq -0xd0(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
callq 0x20d0
leaq -0x5f0(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x10d69(%rip), %rsi     # 0x168b2
leaq 0x10d6a(%rip), %rdx     # 0x168ba
leaq -0x600(%rbp), %rdi
callq 0x139ec
leaq -0x90(%rbp), %rdi
leaq -0x600(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c9a
movq -0xd0(%rbp), %rdi
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
callq 0x20d0
movq -0x90(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5b9e
callq 0x2220
movq -0x600(%rbp), %rdi
cmpq %r15, %rdi
je 0x5baf
callq 0x2220
leaq -0x5d0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x11dc9(%rip), %rsi     # 0x1798a
leaq 0x11dd6(%rip), %rdx     # 0x1799e
leaq -0x5e0(%rbp), %rdi
callq 0x139ec
leaq -0x350(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0xc484
leaq -0x44(%rbp), %rdi
leaq -0x5e0(%rbp), %rsi
leaq -0x350(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x350(%rbp), %rdi
callq 0xb2cc
movq -0x5e0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5c23
callq 0x2220
testb %r15b, %r15b
je 0x663f
leaq -0xd0(%rbp), %rdi
callq 0xb2cc
leaq -0xb0(%rbp), %rdi
callq 0xb2cc
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x5c52
callq 0x2220
cmpq $0x0, 0xd0(%r14)
je 0x5d1b
leaq -0x5b0(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10ce7(%rip), %rsi     # 0x1695a
leaq 0x10cf4(%rip), %rdx     # 0x1696e
leaq -0x5c0(%rbp), %rdi
callq 0x139ec
leaq -0x590(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq 0xc8(%r14), %rsi
movq 0xd0(%r14), %rdx
addq %rsi, %rdx
leaq -0x5a0(%rbp), %rdi
callq 0x1394e
leaq -0x338(%rbp), %rdi
leaq -0x44(%rbp), %rsi
leaq -0x5a0(%rbp), %rdx
callq 0xc812
leaq -0x44(%rbp), %rdi
leaq -0x5c0(%rbp), %rsi
leaq -0x338(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x338(%rbp), %rdi
callq 0xb2cc
movq -0x5a0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5d01
callq 0x2220
movq -0x5c0(%rbp), %rdi
cmpq %r12, %rdi
je 0x5d12
callq 0x2220
testb %r15b, %r15b
je 0x6630
xorps %xmm0, %xmm0
movaps %xmm0, -0x90(%rbp)
movq $0x0, -0x80(%rbp)
leaq -0x570(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x11628(%rip), %rsi     # 0x17367
leaq 0x11627(%rip), %rdx     # 0x1736d
leaq -0x580(%rbp), %rdi
callq 0x139ec
leaq -0x68(%rbp), %rdi
leaq -0x580(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c9a
leaq -0x90(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x13a8a
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x5d84
callq 0x2220
movq -0x580(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5d95
callq 0x2220
movsbl 0x128(%r14), %esi
movq -0x90(%rbp), %rdi
callq 0x2200
leaq -0x550(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x10c69(%rip), %rsi     # 0x16a24
leaq 0x10c75(%rip), %rdx     # 0x16a37
leaq -0x560(%rbp), %rdi
callq 0x139ec
leaq -0x320(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0xc484
leaq -0x44(%rbp), %rdi
leaq -0x560(%rbp), %rsi
leaq -0x320(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x320(%rbp), %rdi
callq 0xb2cc
movq -0x560(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5e1d
callq 0x2220
testb %r15b, %r15b
je 0x65e5
xorps %xmm0, %xmm0
leaq -0xb0(%rbp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq -0x68(%rbp), %rsi
movq %r13, (%rsi)
movw $0x1, 0x10(%rsi)
movq $0x1, 0x8(%rsi)
callq 0x13a8a
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x5e63
callq 0x2220
movq -0xb0(%rbp), %rdi
movq 0x108(%r14), %rsi
movq 0x110(%r14), %rdx
callq 0x20d0
leaq -0x530(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x105a6(%rip), %rsi     # 0x16435
leaq 0x105b4(%rip), %rdx     # 0x1644a
leaq -0x540(%rbp), %rdi
callq 0x139ec
leaq -0x308(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0xc484
leaq -0x44(%rbp), %rdi
leaq -0x540(%rbp), %rsi
leaq -0x308(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x308(%rbp), %rdi
callq 0xb2cc
movq -0x540(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5ef4
callq 0x2220
testb %r15b, %r15b
je 0x65ea
leaq -0x510(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10c6b(%rip), %rsi     # 0x16b7b
leaq 0x10c86(%rip), %rdx     # 0x16b9d
leaq -0x520(%rbp), %rdi
callq 0x139ec
leaq -0x1c0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x11478(%rip), %rsi     # 0x173ad
leaq 0x11473(%rip), %rdx     # 0x173af
leaq -0x1d0(%rbp), %rdi
callq 0x139ec
movq -0x1d0(%rbp), %rsi
movq -0x1c8(%rbp), %rdx
leaq -0x2f0(%rbp), %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x6bd5
leaq -0x44(%rbp), %rdi
leaq -0x520(%rbp), %rsi
leaq -0x2f0(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x2f0(%rbp), %rdi
callq 0xb2cc
movq -0x1d0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5fa3
callq 0x2220
movq -0x520(%rbp), %rdi
cmpq %r12, %rdi
je 0x5fb4
callq 0x2220
testb %r15b, %r15b
je 0x65ef
leaq -0x4f0(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10c97(%rip), %rsi     # 0x16c67
leaq 0x10c9e(%rip), %rdx     # 0x16c75
leaq -0x500(%rbp), %rdi
callq 0x139ec
leaq -0x1a0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x123bd(%rip), %rdx     # 0x183b2
leaq -0x1b0(%rbp), %rdi
movq %rdx, %rsi
callq 0x139ec
movq -0x1b0(%rbp), %rsi
movq -0x1a8(%rbp), %rdx
leaq -0x2d8(%rbp), %rdi
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x6bd5
leaq -0x44(%rbp), %rdi
leaq -0x500(%rbp), %rsi
leaq -0x2d8(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x2d8(%rbp), %rdi
callq 0xb2cc
movq -0x1b0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6065
callq 0x2220
movq -0x500(%rbp), %rdi
cmpq %r12, %rdi
je 0x6076
callq 0x2220
testb %r15b, %r15b
je 0x65f4
leaq -0x4d0(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10c91(%rip), %rsi     # 0x16d23
leaq 0x10ca2(%rip), %rdx     # 0x16d3b
leaq -0x4e0(%rbp), %rdi
callq 0x139ec
leaq -0x180(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x122fb(%rip), %rdx     # 0x183b2
leaq -0x190(%rbp), %rdi
movq %rdx, %rsi
callq 0x139ec
movq -0x190(%rbp), %rsi
movq -0x188(%rbp), %rdx
leaq -0x2c0(%rbp), %rdi
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x6bd5
leaq -0x44(%rbp), %rdi
leaq -0x4e0(%rbp), %rsi
leaq -0x2c0(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x2c0(%rbp), %rdi
callq 0xb2cc
movq -0x190(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6127
callq 0x2220
movq -0x4e0(%rbp), %rdi
cmpq %r12, %rdi
je 0x6138
callq 0x2220
testb %r15b, %r15b
je 0x65f9
leaq -0x4b0(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10c95(%rip), %rsi     # 0x16de9
leaq 0x10ca6(%rip), %rdx     # 0x16e01
leaq -0x4c0(%rbp), %rdi
callq 0x139ec
leaq -0x160(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x12239(%rip), %rdx     # 0x183b2
leaq -0x170(%rbp), %rdi
movq %rdx, %rsi
callq 0x139ec
movq -0x170(%rbp), %rsi
movq -0x168(%rbp), %rdx
leaq -0x2a8(%rbp), %rdi
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x6bd5
leaq -0x44(%rbp), %rdi
leaq -0x4c0(%rbp), %rsi
leaq -0x2a8(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x2a8(%rbp), %rdi
callq 0xb2cc
movq -0x170(%rbp), %rdi
cmpq %rbx, %rdi
je 0x61e9
callq 0x2220
movq -0x4c0(%rbp), %rdi
cmpq %r12, %rdi
je 0x61fa
callq 0x2220
testb %r15b, %r15b
je 0x65fe
leaq -0x490(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10c99(%rip), %rsi     # 0x16eaf
leaq 0x10ca6(%rip), %rdx     # 0x16ec3
leaq -0x4a0(%rbp), %rdi
callq 0x139ec
leaq -0x140(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x12177(%rip), %rdx     # 0x183b2
leaq -0x150(%rbp), %rdi
movq %rdx, %rsi
callq 0x139ec
movq -0x150(%rbp), %rsi
movq -0x148(%rbp), %rdx
leaq -0x290(%rbp), %rdi
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x6bd5
leaq -0x44(%rbp), %rdi
leaq -0x4a0(%rbp), %rsi
leaq -0x290(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x290(%rbp), %rdi
callq 0xb2cc
movq -0x150(%rbp), %rdi
cmpq %rbx, %rdi
je 0x62ab
callq 0x2220
movq -0x4a0(%rbp), %rdi
cmpq %r12, %rdi
je 0x62bc
callq 0x2220
testb %r15b, %r15b
je 0x6603
leaq -0x470(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x11a62(%rip), %rsi     # 0x17d3a
leaq 0x11a6c(%rip), %rdx     # 0x17d4b
leaq -0x480(%rbp), %rdi
callq 0x139ec
leaq -0x120(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x10c80(%rip), %rsi     # 0x16f7d
leaq 0x10c91(%rip), %rdx     # 0x16f95
leaq -0x130(%rbp), %rdi
callq 0x139ec
movq -0x130(%rbp), %rsi
movq -0x128(%rbp), %rdx
leaq -0x278(%rbp), %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x6bd5
leaq -0x44(%rbp), %rdi
leaq -0x480(%rbp), %rsi
leaq -0x278(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x278(%rbp), %rdi
callq 0xb2cc
movq -0x130(%rbp), %rdi
cmpq %rbx, %rdi
je 0x636b
callq 0x2220
movq -0x480(%rbp), %rdi
cmpq %r12, %rdi
je 0x637c
callq 0x2220
testb %r15b, %r15b
movb -0x29(%rbp), %r12b
je 0x6608
cmpq $0x0, 0xb0(%r14)
je 0x649e
leaq -0x450(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0xffc4(%rip), %rsi      # 0x1636e
leaq 0xffc3(%rip), %rdx      # 0x16374
leaq -0x460(%rbp), %rdi
callq 0x139ec
leaq -0x430(%rbp), %r13
movq %r13, -0x10(%r13)
movq 0xa8(%r14), %rsi
movq 0xb0(%r14), %rdx
addq %rsi, %rdx
leaq -0x440(%rbp), %rdi
callq 0x1394e
leaq -0x410(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xff77(%rip), %rsi      # 0x1636e
leaq 0xff76(%rip), %rdx      # 0x16374
leaq -0x420(%rbp), %rdi
callq 0x139ec
leaq -0x44(%rbp), %rdi
leaq -0x420(%rbp), %rsi
callq 0xca70
leaq -0x260(%rbp), %rdi
leaq -0x44(%rbp), %rsi
leaq -0x440(%rbp), %rdx
movl %eax, %ecx
callq 0xc88a
leaq -0x44(%rbp), %rdi
leaq -0x460(%rbp), %rsi
leaq -0x260(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r15d
leaq -0x260(%rbp), %rdi
callq 0xb2cc
movq -0x420(%rbp), %rdi
cmpq %rbx, %rdi
je 0x646f
callq 0x2220
movq -0x440(%rbp), %rdi
cmpq %r13, %rdi
je 0x6480
callq 0x2220
movq -0x460(%rbp), %rdi
cmpq %r12, %rdi
je 0x6491
callq 0x2220
testb %r15b, %r15b
movb -0x29(%rbp), %r12b
je 0x6644
leaq -0x3f0(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x10c81(%rip), %rsi     # 0x17131
leaq 0x10c7e(%rip), %rdx     # 0x17135
leaq -0x400(%rbp), %rdi
callq 0x139ec
leaq -0x100(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x11edd(%rip), %rdx     # 0x183b2
leaq -0x110(%rbp), %rdi
movq %rdx, %rsi
callq 0x139ec
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
leaq -0x248(%rbp), %rdi
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x6bd5
leaq -0x44(%rbp), %rdi
leaq -0x400(%rbp), %rsi
leaq -0x248(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xbfb6
movl %eax, %r14d
leaq -0x248(%rbp), %rdi
callq 0xb2cc
movq -0x110(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6545
callq 0x2220
movq -0x400(%rbp), %rdi
cmpq %r15, %rdi
je 0x6556
callq 0x2220
testb %r14b, %r14b
je 0x660d
leaq -0xb0(%rbp), %rdi
callq 0xb2cc
leaq -0x90(%rbp), %rdi
callq 0xb2cc
leaq -0xf0(%rbp), %rdi
callq 0xb2cc
jmp 0x6591
leaq 0x128d7(%rip), %rdi     # 0x18e63
callq 0x23c0
movq -0x210(%rbp), %rdi
leaq -0x200(%rbp), %rax
cmpq %rax, %rdi
je 0x65a9
callq 0x2220
leaq -0x44(%rbp), %rdi
callq 0xb442
leaq -0x230(%rbp), %rdi
callq 0xb2cc
movl %r12d, %eax
addq $0x758, %rsp            # imm = 0x758
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rbx, %rdi
callq 0x2e9b
callq 0x27e0
callq 0x2842
callq 0x2aa8
callq 0x2b0a
callq 0x2b6e
callq 0x2bd2
callq 0x2c36
callq 0x2c9a
callq 0x2cfe
callq 0x2d62
callq 0x2e37
addq $0x28, %r14
movq %r14, %rdi
callq 0x2771
movq %r15, %rdi
callq 0x28a4
callq 0x2913
callq 0x2975
addq $0xc8, %r14
movq %r14, %rdi
callq 0x2a39
callq 0x29d7
addq $0xa8, %r14
movq %r14, %rdi
callq 0x2dc6
movq %rax, %r14
leaq -0x260(%rbp), %rdi
callq 0xb2cc
jmp 0x6b2c
movq %rax, %r14
jmp 0x6b3d
movq %rax, %r14
jmp 0x6b4e
jmp 0x6a40
movq %rax, %r14
leaq -0x350(%rbp), %rdi
callq 0xb2cc
jmp 0x6690
movq %rax, %r14
movq -0x5e0(%rbp), %rdi
cmpq %rbx, %rdi
jne 0x672c
jmp 0x673b
jmp 0x6738
movq %rax, %r14
movq -0x90(%rbp), %rdi
cmpq %rbx, %rdi
je 0x66c3
callq 0x2220
jmp 0x66c3
movq %rax, %r14
movq -0x600(%rbp), %rdi
jmp 0x6727
jmp 0x6738
movq %rax, %r14
leaq -0x338(%rbp), %rdi
callq 0xb2cc
jmp 0x66e4
jmp 0x6738
movq %rax, %r14
movq -0x5a0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6711
callq 0x2220
jmp 0x6711
movq %rax, %r14
leaq -0x80(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6720
callq 0x2220
jmp 0x6720
movq %rax, %r14
movq -0x5c0(%rbp), %rdi
jmp 0x6ae7
movq %rax, %r14
movq -0x620(%rbp), %rdi
cmpq %r15, %rdi
je 0x673b
callq 0x2220
jmp 0x673b
jmp 0x6b24
movq %rax, %r14
leaq -0xd0(%rbp), %rdi
callq 0xb2cc
jmp 0x6794
movq %rax, %r14
leaq -0x368(%rbp), %rdi
callq 0xb2cc
jmp 0x675d
movq %rax, %r14
movq -0x640(%rbp), %rdi
jmp 0x6783
jmp 0x6791
movq %rax, %r14
leaq -0x380(%rbp), %rdi
callq 0xb2cc
jmp 0x677c
movq %rax, %r14
movq -0x660(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6794
callq 0x2220
jmp 0x6794
jmp 0x6791
movq %rax, %r14
leaq -0xb0(%rbp), %rdi
callq 0xb2cc
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
jne 0x6b13
jmp 0x6b77
movq %rax, %r14
leaq -0x750(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x67cf
callq 0x2220
jmp 0x67cf
movq %rax, %r14
leaq -0x770(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x6b13
jmp 0x6b77
jmp 0x6b24
movq %rax, %r14
leaq -0x398(%rbp), %rdi
callq 0xb2cc
jmp 0x6801
movq %rax, %r14
movq -0x680(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6817
callq 0x2220
jmp 0x6817
movq %rax, %r14
movq -0x6a0(%rbp), %rdi
cmpq %r15, %rdi
jne 0x6b13
jmp 0x6b77
jmp 0x6b24
movq %rax, %r14
leaq -0x3e0(%rbp), %rdi
callq 0xb2cc
jmp 0x6845
movq %rax, %r14
movq -0x700(%rbp), %rdi
cmpq %rbx, %rdi
je 0x685b
callq 0x2220
jmp 0x685b
movq %rax, %r14
movq -0x720(%rbp), %rdi
cmpq %r12, %rdi
je 0x6b83
jmp 0x6bc7
jmp 0x6bd0
movq %rax, %r14
leaq -0x248(%rbp), %rdi
callq 0xb2cc
jmp 0x6889
movq %rax, %r14
movq -0x110(%rbp), %rdi
cmpq %rbx, %rdi
je 0x689f
callq 0x2220
jmp 0x689f
movq %rax, %r14
movq -0x400(%rbp), %rdi
cmpq %r15, %rdi
jne 0x6b5a
jmp 0x6b5f
jmp 0x6a40
movq %rax, %r14
leaq -0x278(%rbp), %rdi
callq 0xb2cc
jmp 0x68cd
movq %rax, %r14
movq -0x130(%rbp), %rdi
cmpq %rbx, %rdi
je 0x68e3
callq 0x2220
jmp 0x68e3
movq %rax, %r14
movq -0x480(%rbp), %rdi
jmp 0x6b55
jmp 0x6a40
movq %rax, %r14
leaq -0x290(%rbp), %rdi
callq 0xb2cc
jmp 0x6908
movq %rax, %r14
movq -0x150(%rbp), %rdi
cmpq %rbx, %rdi
je 0x691e
callq 0x2220
jmp 0x691e
movq %rax, %r14
movq -0x4a0(%rbp), %rdi
jmp 0x6b55
jmp 0x6a40
movq %rax, %r14
leaq -0x2a8(%rbp), %rdi
callq 0xb2cc
jmp 0x6943
movq %rax, %r14
movq -0x170(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6959
callq 0x2220
jmp 0x6959
movq %rax, %r14
movq -0x4c0(%rbp), %rdi
jmp 0x6b55
jmp 0x6a40
movq %rax, %r14
leaq -0x2c0(%rbp), %rdi
callq 0xb2cc
jmp 0x697e
movq %rax, %r14
movq -0x190(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6994
callq 0x2220
jmp 0x6994
movq %rax, %r14
movq -0x4e0(%rbp), %rdi
jmp 0x6b55
jmp 0x6a40
movq %rax, %r14
leaq -0x2d8(%rbp), %rdi
callq 0xb2cc
jmp 0x69b9
movq %rax, %r14
movq -0x1b0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x69cf
callq 0x2220
jmp 0x69cf
movq %rax, %r14
movq -0x500(%rbp), %rdi
jmp 0x6b55
jmp 0x6a40
movq %rax, %r14
leaq -0x2f0(%rbp), %rdi
callq 0xb2cc
jmp 0x69f1
movq %rax, %r14
movq -0x1d0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6a07
callq 0x2220
jmp 0x6a07
movq %rax, %r14
movq -0x520(%rbp), %rdi
jmp 0x6b55
jmp 0x6a40
movq %rax, %r14
leaq -0x308(%rbp), %rdi
callq 0xb2cc
jmp 0x6a29
movq %rax, %r14
movq -0x540(%rbp), %rdi
cmpq %rbx, %rdi
jne 0x6b5a
jmp 0x6b5f
jmp 0x6a40
movq %rax, %r14
jmp 0x6b5f
movq %rax, %r14
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
jne 0x6b5a
jmp 0x6b5f
movq %rax, %r14
leaq -0x320(%rbp), %rdi
callq 0xb2cc
jmp 0x6a71
movq %rax, %r14
movq -0x560(%rbp), %rdi
jmp 0x6a9b
jmp 0x6aae
jmp 0x6aae
movq %rax, %r14
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x6a94
callq 0x2220
jmp 0x6a94
movq %rax, %r14
movq -0x580(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6b6b
callq 0x2220
jmp 0x6b6b
movq %rax, %r14
jmp 0x6b6b
movq %rax, %r14
leaq -0x3b0(%rbp), %rdi
callq 0xb2cc
jmp 0x6aca
movq %rax, %r14
movq -0x1f0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6ae0
callq 0x2220
jmp 0x6ae0
movq %rax, %r14
movq -0x6c0(%rbp), %rdi
cmpq %r12, %rdi
jne 0x6b13
jmp 0x6b77
jmp 0x6b24
movq %rax, %r14
leaq -0x3c8(%rbp), %rdi
callq 0xb2cc
jmp 0x6b07
movq %rax, %r14
movq -0x6e0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6b77
callq 0x2220
jmp 0x6b77
jmp 0x6b24
movq %rax, %r14
jmp 0x67a0
movq %rax, %r14
jmp 0x6b77
movq %rax, %r14
movq -0x420(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6b3d
callq 0x2220
movq -0x440(%rbp), %rdi
cmpq %r13, %rdi
je 0x6b4e
callq 0x2220
movq -0x460(%rbp), %rdi
cmpq %r12, %rdi
je 0x6b5f
callq 0x2220
leaq -0xb0(%rbp), %rdi
callq 0xb2cc
leaq -0x90(%rbp), %rdi
callq 0xb2cc
leaq -0xf0(%rbp), %rdi
callq 0xb2cc
movq -0x210(%rbp), %rdi
leaq -0x200(%rbp), %rax
cmpq %rax, %rdi
je 0x6b9b
callq 0x2220
leaq -0x44(%rbp), %rdi
callq 0xb442
leaq -0x230(%rbp), %rdi
callq 0xb2cc
movq %r14, %rdi
callq 0x2400
movq %rax, %r14
movq -0x740(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6b83
callq 0x2220
jmp 0x6b83
jmp 0x6bd0
movq %rax, %r14
jmp 0x6b83