// File: /workspace/github_cpp_makefile_star2_O1/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, -0x130(%rbp)
movq $0x0, -0x120(%rbp)
movb $0x0, -0x44(%rbp)
movl $0xffffffff, -0x40(%rbp) # imm = 0xFFFFFFFF
leaq 0x12eeb(%rip), %rdi     # 0x18400
callq 0x2310
testq %rax, %rax
je 0x552e
movzbl (%rax), %eax
orl $0x20, %eax
cmpl $0x79, %eax
jne 0x552e
movb $0x1, -0x44(%rbp)
leaq -0x100(%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 0xa812
leaq -0x110(%rbp), %rdi
leaq -0x68(%rbp), %r12
movq %r12, %rsi
callq 0x2320
leaq 0x12e44(%rip), %rsi     # 0x183b2
movq %rax, %rdi
callq 0x20b0
movl %eax, %r15d
movq (%r12), %rdi
leaq -0x58(%rbp), %r13
cmpq %r13, %rdi
je 0x558b
callq 0x2220
testl %r15d, %r15d
je 0x6586
leaq -0x730(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rdx
addq %rsi, %rdx
leaq -0x740(%rbp), %rdi
callq 0x1372a
leaq -0x44(%rbp), %rdi
leaq -0x740(%rbp), %rdx
movl $0xa, %esi
callq 0xbc7c
movl %eax, %r12d
movq -0x740(%rbp), %rdi
cmpq %rbx, %rdi
je 0x55df
callq 0x2220
testb %r12b, %r12b
je 0x6538
cmpq $0x0, 0x30(%r14)
movb %r12b, -0x29(%rbp)
je 0x56ac
leaq -0x710(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10e03(%rip), %rsi     # 0x1640d
leaq 0x10e01(%rip), %rdx     # 0x16412
leaq -0x720(%rbp), %rdi
callq 0x137c4
leaq -0x6f0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x28(%r14), %rsi
movq 0x30(%r14), %rdx
addq %rsi, %rdx
leaq -0x700(%rbp), %rdi
callq 0x1372a
leaq -0x2e0(%rbp), %rdi
leaq -0x44(%rbp), %rsi
leaq -0x700(%rbp), %rdx
callq 0xc13a
leaq -0x44(%rbp), %rdi
leaq -0x720(%rbp), %rsi
leaq -0x2e0(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x2e0(%rbp), %rdi
callq 0xafd4
movq -0x700(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5692
callq 0x2220
movq -0x720(%rbp), %rdi
cmpq %r12, %rdi
je 0x56a3
callq 0x2220
testb %r15b, %r15b
je 0x65c5
xorps %xmm0, %xmm0
movaps %xmm0, -0xf0(%rbp)
movq $0x0, -0xe0(%rbp)
leaq -0x68(%rbp), %rdi
movq %r13, (%rdi)
leaq 0x12dda(%rip), %rsi     # 0x184a9
leaq 0x12dd5(%rip), %rdx     # 0x184ab
callq 0x137c4
leaq -0xf0(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x1385e
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x56f9
callq 0x2220
leaq -0x6d0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x10e18(%rip), %rsi     # 0x16523
leaq 0x10e2d(%rip), %rdx     # 0x1653f
leaq -0x6e0(%rbp), %rdi
callq 0x137c4
leaq -0x2c8(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0xc1b2
leaq -0x44(%rbp), %rdi
leaq -0x6e0(%rbp), %rsi
leaq -0x2c8(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x2c8(%rbp), %rdi
callq 0xafd4
movq -0x6e0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x576d
callq 0x2220
testb %r15b, %r15b
je 0x658e
leaq -0x6b0(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10da3(%rip), %rsi     # 0x1652c
leaq 0x10daf(%rip), %rdx     # 0x1653f
leaq -0x6c0(%rbp), %rdi
callq 0x137c4
leaq -0x690(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x11bde(%rip), %rsi     # 0x1738c
leaq 0x11bd9(%rip), %rdx     # 0x1738e
leaq -0x6a0(%rbp), %rdi
callq 0x137c4
leaq -0x2b0(%rbp), %rdi
leaq -0x6a0(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6b88
leaq -0x44(%rbp), %rdi
leaq -0x6c0(%rbp), %rsi
leaq -0x2b0(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x2b0(%rbp), %rdi
callq 0xafd4
movq -0x6a0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5814
callq 0x2220
movq -0x6c0(%rbp), %rdi
cmpq %r12, %rdi
je 0x5825
callq 0x2220
testb %r15b, %r15b
je 0x6593
cmpq $0x0, 0x50(%r14)
je 0x5c3d
leaq -0x670(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x10b11(%rip), %rsi     # 0x1635c
leaq 0x10b0e(%rip), %rdx     # 0x16360
leaq -0x680(%rbp), %rdi
callq 0x137c4
leaq -0x650(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x48(%r14), %rsi
movq 0x50(%r14), %rdx
addq %rsi, %rdx
leaq -0x660(%rbp), %rdi
callq 0x1372a
leaq -0x298(%rbp), %rdi
leaq -0x44(%rbp), %rsi
leaq -0x660(%rbp), %rdx
callq 0xc240
leaq -0x44(%rbp), %rdi
leaq -0x680(%rbp), %rsi
leaq -0x298(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r12d
leaq -0x298(%rbp), %rdi
callq 0xafd4
movq -0x660(%rbp), %rdi
cmpq %rbx, %rdi
je 0x58d3
callq 0x2220
movq -0x680(%rbp), %rdi
cmpq %r15, %rdi
je 0x58e4
callq 0x2220
leaq 0x48(%r14), %r15
testb %r12b, %r12b
je 0x65d1
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 0xc396
leaq -0x750(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5955
callq 0x2220
leaq -0x770(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x596a
callq 0x2220
xorps %xmm0, %xmm0
leaq -0xb0(%rbp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq -0x68(%rbp), %rsi
callq 0xc4f4
leaq -0x630(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x10da0(%rip), %rsi     # 0x1673a
leaq 0x10da6(%rip), %rdx     # 0x16747
leaq -0x640(%rbp), %rdi
callq 0x137c4
leaq -0x280(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0xc1b2
leaq -0x44(%rbp), %rdi
leaq -0x640(%rbp), %rsi
leaq -0x280(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x280(%rbp), %rdi
callq 0xafd4
movq -0x640(%rbp), %rdi
cmpq %rbx, %rdi
je 0x59ff
callq 0x2220
testb %r15b, %r15b
je 0x65d9
leaq -0x610(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x10dd7(%rip), %rsi     # 0x167f1
leaq 0x10de4(%rip), %rdx     # 0x16805
leaq -0x620(%rbp), %rdi
callq 0x137c4
leaq -0x268(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0xc1b2
leaq -0x44(%rbp), %rdi
leaq -0x620(%rbp), %rsi
leaq -0x268(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x268(%rbp), %rdi
callq 0xafd4
movq -0x620(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5a7c
callq 0x2220
testb %r15b, %r15b
je 0x65de
xorps %xmm0, %xmm0
movaps %xmm0, -0xd0(%rbp)
movq $0x0, -0xc0(%rbp)
leaq -0x5f0(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x12906(%rip), %rdx     # 0x183b2
leaq -0x600(%rbp), %rdi
movq %rdx, %rsi
callq 0x137c4
leaq -0x90(%rbp), %rdi
leaq -0x600(%rbp), %rsi
movl $0x1, %edx
movl $0x4, %ecx
callq 0x6c5a
leaq -0xd0(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x1385e
leaq -0x80(%rbp), %rbx
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x5afd
callq 0x2220
movq -0x600(%rbp), %rdi
cmpq %r15, %rdi
je 0x5b0e
callq 0x2220
movq -0xd0(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
callq 0x20d0
leaq -0x5d0(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x10d7e(%rip), %rsi     # 0x168b2
leaq 0x10d7f(%rip), %rdx     # 0x168ba
leaq -0x5e0(%rbp), %rdi
callq 0x137c4
leaq -0x90(%rbp), %rdi
leaq -0x5e0(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c5a
movq -0xd0(%rbp), %rdi
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
callq 0x20d0
movq -0x90(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5b89
callq 0x2220
movq -0x5e0(%rbp), %rdi
cmpq %r15, %rdi
je 0x5b9a
callq 0x2220
leaq -0x5b0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x11dde(%rip), %rsi     # 0x1798a
leaq 0x11deb(%rip), %rdx     # 0x1799e
leaq -0x5c0(%rbp), %rdi
callq 0x137c4
leaq -0x250(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0xc1b2
leaq -0x44(%rbp), %rdi
leaq -0x5c0(%rbp), %rsi
leaq -0x250(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x250(%rbp), %rdi
callq 0xafd4
movq -0x5c0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5c0e
callq 0x2220
testb %r15b, %r15b
je 0x65f2
leaq -0xd0(%rbp), %rdi
callq 0xafd4
leaq -0xb0(%rbp), %rdi
callq 0xafd4
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x5c3d
callq 0x2220
cmpq $0x0, 0xd0(%r14)
je 0x5d06
leaq -0x590(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10cfc(%rip), %rsi     # 0x1695a
leaq 0x10d09(%rip), %rdx     # 0x1696e
leaq -0x5a0(%rbp), %rdi
callq 0x137c4
leaq -0x570(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq 0xc8(%r14), %rsi
movq 0xd0(%r14), %rdx
addq %rsi, %rdx
leaq -0x580(%rbp), %rdi
callq 0x1372a
leaq -0x238(%rbp), %rdi
leaq -0x44(%rbp), %rsi
leaq -0x580(%rbp), %rdx
callq 0xc540
leaq -0x44(%rbp), %rdi
leaq -0x5a0(%rbp), %rsi
leaq -0x238(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x238(%rbp), %rdi
callq 0xafd4
movq -0x580(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5cec
callq 0x2220
movq -0x5a0(%rbp), %rdi
cmpq %r12, %rdi
je 0x5cfd
callq 0x2220
testb %r15b, %r15b
je 0x65e3
xorps %xmm0, %xmm0
movaps %xmm0, -0x90(%rbp)
movq $0x0, -0x80(%rbp)
leaq -0x550(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1163d(%rip), %rsi     # 0x17367
leaq 0x1163c(%rip), %rdx     # 0x1736d
leaq -0x560(%rbp), %rdi
callq 0x137c4
leaq -0x68(%rbp), %rdi
leaq -0x560(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6c5a
leaq -0x90(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x1385e
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x5d6f
callq 0x2220
movq -0x560(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5d80
callq 0x2220
movsbl 0x128(%r14), %esi
movq -0x90(%rbp), %rdi
callq 0x2200
leaq -0x530(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x10c7e(%rip), %rsi     # 0x16a24
leaq 0x10c8a(%rip), %rdx     # 0x16a37
leaq -0x540(%rbp), %rdi
callq 0x137c4
leaq -0x220(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0xc1b2
leaq -0x44(%rbp), %rdi
leaq -0x540(%rbp), %rsi
leaq -0x220(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x220(%rbp), %rdi
callq 0xafd4
movq -0x540(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5e08
callq 0x2220
testb %r15b, %r15b
je 0x6598
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 0x1385e
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x5e4e
callq 0x2220
movq -0xb0(%rbp), %rdi
movq 0x108(%r14), %rsi
movq 0x110(%r14), %rdx
callq 0x20d0
leaq -0x510(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x105bb(%rip), %rsi     # 0x16435
leaq 0x105c9(%rip), %rdx     # 0x1644a
leaq -0x520(%rbp), %rdi
callq 0x137c4
leaq -0x208(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0xc1b2
leaq -0x44(%rbp), %rdi
leaq -0x520(%rbp), %rsi
leaq -0x208(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x208(%rbp), %rdi
callq 0xafd4
movq -0x520(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5edf
callq 0x2220
testb %r15b, %r15b
je 0x659d
leaq -0x4f0(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10c80(%rip), %rsi     # 0x16b7b
leaq 0x10c9b(%rip), %rdx     # 0x16b9d
leaq -0x500(%rbp), %rdi
callq 0x137c4
leaq -0x4d0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1148d(%rip), %rsi     # 0x173ad
leaq 0x11488(%rip), %rdx     # 0x173af
leaq -0x4e0(%rbp), %rdi
callq 0x137c4
leaq -0x1f0(%rbp), %rdi
leaq -0x4e0(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6b88
leaq -0x44(%rbp), %rdi
leaq -0x500(%rbp), %rsi
leaq -0x1f0(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x1f0(%rbp), %rdi
callq 0xafd4
movq -0x4e0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5f86
callq 0x2220
movq -0x500(%rbp), %rdi
cmpq %r12, %rdi
je 0x5f97
callq 0x2220
testb %r15b, %r15b
je 0x65a2
leaq -0x4b0(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10cb4(%rip), %rsi     # 0x16c67
leaq 0x10cbb(%rip), %rdx     # 0x16c75
leaq -0x4c0(%rbp), %rdi
callq 0x137c4
leaq -0x490(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x123da(%rip), %rdx     # 0x183b2
leaq -0x4a0(%rbp), %rdi
movq %rdx, %rsi
callq 0x137c4
leaq -0x1d8(%rbp), %rdi
leaq -0x4a0(%rbp), %rsi
movl $0x1, %edx
xorl %ecx, %ecx
callq 0x6b88
leaq -0x44(%rbp), %rdi
leaq -0x4c0(%rbp), %rsi
leaq -0x1d8(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x1d8(%rbp), %rdi
callq 0xafd4
movq -0x4a0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6040
callq 0x2220
movq -0x4c0(%rbp), %rdi
cmpq %r12, %rdi
je 0x6051
callq 0x2220
testb %r15b, %r15b
je 0x65a7
leaq -0x470(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10cb6(%rip), %rsi     # 0x16d23
leaq 0x10cc7(%rip), %rdx     # 0x16d3b
leaq -0x480(%rbp), %rdi
callq 0x137c4
leaq -0x450(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x12320(%rip), %rdx     # 0x183b2
leaq -0x460(%rbp), %rdi
movq %rdx, %rsi
callq 0x137c4
leaq -0x1c0(%rbp), %rdi
leaq -0x460(%rbp), %rsi
movl $0x1, %edx
xorl %ecx, %ecx
callq 0x6b88
leaq -0x44(%rbp), %rdi
leaq -0x480(%rbp), %rsi
leaq -0x1c0(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x1c0(%rbp), %rdi
callq 0xafd4
movq -0x460(%rbp), %rdi
cmpq %rbx, %rdi
je 0x60fa
callq 0x2220
movq -0x480(%rbp), %rdi
cmpq %r12, %rdi
je 0x610b
callq 0x2220
testb %r15b, %r15b
je 0x65ac
leaq -0x430(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10cc2(%rip), %rsi     # 0x16de9
leaq 0x10cd3(%rip), %rdx     # 0x16e01
leaq -0x440(%rbp), %rdi
callq 0x137c4
leaq -0x410(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x12266(%rip), %rdx     # 0x183b2
leaq -0x420(%rbp), %rdi
movq %rdx, %rsi
callq 0x137c4
leaq -0x1a8(%rbp), %rdi
leaq -0x420(%rbp), %rsi
movl $0x1, %edx
xorl %ecx, %ecx
callq 0x6b88
leaq -0x44(%rbp), %rdi
leaq -0x440(%rbp), %rsi
leaq -0x1a8(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x1a8(%rbp), %rdi
callq 0xafd4
movq -0x420(%rbp), %rdi
cmpq %rbx, %rdi
je 0x61b4
callq 0x2220
movq -0x440(%rbp), %rdi
cmpq %r12, %rdi
je 0x61c5
callq 0x2220
testb %r15b, %r15b
je 0x65b1
leaq -0x3f0(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10cce(%rip), %rsi     # 0x16eaf
leaq 0x10cdb(%rip), %rdx     # 0x16ec3
leaq -0x400(%rbp), %rdi
callq 0x137c4
leaq -0x3d0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x121ac(%rip), %rdx     # 0x183b2
leaq -0x3e0(%rbp), %rdi
movq %rdx, %rsi
callq 0x137c4
leaq -0x190(%rbp), %rdi
leaq -0x3e0(%rbp), %rsi
movl $0x1, %edx
xorl %ecx, %ecx
callq 0x6b88
leaq -0x44(%rbp), %rdi
leaq -0x400(%rbp), %rsi
leaq -0x190(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x190(%rbp), %rdi
callq 0xafd4
movq -0x3e0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x626e
callq 0x2220
movq -0x400(%rbp), %rdi
cmpq %r12, %rdi
je 0x627f
callq 0x2220
testb %r15b, %r15b
je 0x65b6
leaq -0x3b0(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x11a9f(%rip), %rsi     # 0x17d3a
leaq 0x11aa9(%rip), %rdx     # 0x17d4b
leaq -0x3c0(%rbp), %rdi
callq 0x137c4
leaq -0x390(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x10cbd(%rip), %rsi     # 0x16f7d
leaq 0x10cce(%rip), %rdx     # 0x16f95
leaq -0x3a0(%rbp), %rdi
callq 0x137c4
leaq -0x178(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x6b88
leaq -0x44(%rbp), %rdi
leaq -0x3c0(%rbp), %rsi
leaq -0x178(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x178(%rbp), %rdi
callq 0xafd4
movq -0x3a0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6326
callq 0x2220
movq -0x3c0(%rbp), %rdi
cmpq %r12, %rdi
je 0x6337
callq 0x2220
testb %r15b, %r15b
movb -0x29(%rbp), %r12b
je 0x65bb
cmpq $0x0, 0xb0(%r14)
je 0x6459
leaq -0x370(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x10009(%rip), %rsi     # 0x1636e
leaq 0x10008(%rip), %rdx     # 0x16374
leaq -0x380(%rbp), %rdi
callq 0x137c4
leaq -0x350(%rbp), %r13
movq %r13, -0x10(%r13)
movq 0xa8(%r14), %rsi
movq 0xb0(%r14), %rdx
addq %rsi, %rdx
leaq -0x360(%rbp), %rdi
callq 0x1372a
leaq -0x330(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xffbc(%rip), %rsi      # 0x1636e
leaq 0xffbb(%rip), %rdx      # 0x16374
leaq -0x340(%rbp), %rdi
callq 0x137c4
leaq -0x44(%rbp), %rdi
leaq -0x340(%rbp), %rsi
callq 0xc798
leaq -0x160(%rbp), %rdi
leaq -0x44(%rbp), %rsi
leaq -0x360(%rbp), %rdx
movl %eax, %ecx
callq 0xc5b2
leaq -0x44(%rbp), %rdi
leaq -0x380(%rbp), %rsi
leaq -0x160(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r15d
leaq -0x160(%rbp), %rdi
callq 0xafd4
movq -0x340(%rbp), %rdi
cmpq %rbx, %rdi
je 0x642a
callq 0x2220
movq -0x360(%rbp), %rdi
cmpq %r13, %rdi
je 0x643b
callq 0x2220
movq -0x380(%rbp), %rdi
cmpq %r12, %rdi
je 0x644c
callq 0x2220
testb %r15b, %r15b
movb -0x29(%rbp), %r12b
je 0x65f7
leaq -0x310(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x10cc6(%rip), %rsi     # 0x17131
leaq 0x10cc3(%rip), %rdx     # 0x17135
leaq -0x320(%rbp), %rdi
callq 0x137c4
leaq -0x2f0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x11f22(%rip), %rdx     # 0x183b2
leaq -0x300(%rbp), %rdi
movq %rdx, %rsi
callq 0x137c4
leaq -0x148(%rbp), %rdi
leaq -0x300(%rbp), %rsi
movl $0x1, %edx
xorl %ecx, %ecx
callq 0x6b88
leaq -0x44(%rbp), %rdi
leaq -0x320(%rbp), %rsi
leaq -0x148(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xbcfa
movl %eax, %r14d
leaq -0x148(%rbp), %rdi
callq 0xafd4
movq -0x300(%rbp), %rdi
cmpq %rbx, %rdi
je 0x64f8
callq 0x2220
movq -0x320(%rbp), %rdi
cmpq %r15, %rdi
je 0x6509
callq 0x2220
testb %r14b, %r14b
je 0x65c0
leaq -0xb0(%rbp), %rdi
callq 0xafd4
leaq -0x90(%rbp), %rdi
callq 0xafd4
leaq -0xf0(%rbp), %rdi
callq 0xafd4
jmp 0x6544
leaq 0x12924(%rip), %rdi     # 0x18e63
callq 0x23c0
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x655c
callq 0x2220
leaq -0x44(%rbp), %rdi
callq 0xb13c
leaq -0x130(%rbp), %rdi
callq 0xafd4
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 -0x160(%rbp), %rdi
callq 0xafd4
jmp 0x6adf
movq %rax, %r14
jmp 0x6af0
movq %rax, %r14
jmp 0x6b01
jmp 0x69f3
movq %rax, %r14
leaq -0x250(%rbp), %rdi
callq 0xafd4
jmp 0x6643
movq %rax, %r14
movq -0x5c0(%rbp), %rdi
cmpq %rbx, %rdi
jne 0x66df
jmp 0x66ee
jmp 0x66eb
movq %rax, %r14
movq -0x90(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6676
callq 0x2220
jmp 0x6676
movq %rax, %r14
movq -0x5e0(%rbp), %rdi
jmp 0x66da
jmp 0x66eb
movq %rax, %r14
leaq -0x238(%rbp), %rdi
callq 0xafd4
jmp 0x6697
jmp 0x66eb
movq %rax, %r14
movq -0x580(%rbp), %rdi
cmpq %rbx, %rdi
je 0x66c4
callq 0x2220
jmp 0x66c4
movq %rax, %r14
leaq -0x80(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x66d3
callq 0x2220
jmp 0x66d3
movq %rax, %r14
movq -0x5a0(%rbp), %rdi
jmp 0x6a9a
movq %rax, %r14
movq -0x600(%rbp), %rdi
cmpq %r15, %rdi
je 0x66ee
callq 0x2220
jmp 0x66ee
jmp 0x6ad7
movq %rax, %r14
leaq -0xd0(%rbp), %rdi
callq 0xafd4
jmp 0x6747
movq %rax, %r14
leaq -0x268(%rbp), %rdi
callq 0xafd4
jmp 0x6710
movq %rax, %r14
movq -0x620(%rbp), %rdi
jmp 0x6736
jmp 0x6744
movq %rax, %r14
leaq -0x280(%rbp), %rdi
callq 0xafd4
jmp 0x672f
movq %rax, %r14
movq -0x640(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6747
callq 0x2220
jmp 0x6747
jmp 0x6744
movq %rax, %r14
leaq -0xb0(%rbp), %rdi
callq 0xafd4
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
jne 0x6ac6
jmp 0x6b2a
movq %rax, %r14
leaq -0x750(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6782
callq 0x2220
jmp 0x6782
movq %rax, %r14
leaq -0x770(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x6ac6
jmp 0x6b2a
jmp 0x6ad7
movq %rax, %r14
leaq -0x298(%rbp), %rdi
callq 0xafd4
jmp 0x67b4
movq %rax, %r14
movq -0x660(%rbp), %rdi
cmpq %rbx, %rdi
je 0x67ca
callq 0x2220
jmp 0x67ca
movq %rax, %r14
movq -0x680(%rbp), %rdi
cmpq %r15, %rdi
jne 0x6ac6
jmp 0x6b2a
jmp 0x6ad7
movq %rax, %r14
leaq -0x2e0(%rbp), %rdi
callq 0xafd4
jmp 0x67f8
movq %rax, %r14
movq -0x700(%rbp), %rdi
cmpq %rbx, %rdi
je 0x680e
callq 0x2220
jmp 0x680e
movq %rax, %r14
movq -0x720(%rbp), %rdi
cmpq %r12, %rdi
je 0x6b36
jmp 0x6b7a
jmp 0x6b83
movq %rax, %r14
leaq -0x148(%rbp), %rdi
callq 0xafd4
jmp 0x683c
movq %rax, %r14
movq -0x300(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6852
callq 0x2220
jmp 0x6852
movq %rax, %r14
movq -0x320(%rbp), %rdi
cmpq %r15, %rdi
jne 0x6b0d
jmp 0x6b12
jmp 0x69f3
movq %rax, %r14
leaq -0x178(%rbp), %rdi
callq 0xafd4
jmp 0x6880
movq %rax, %r14
movq -0x3a0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6896
callq 0x2220
jmp 0x6896
movq %rax, %r14
movq -0x3c0(%rbp), %rdi
jmp 0x6b08
jmp 0x69f3
movq %rax, %r14
leaq -0x190(%rbp), %rdi
callq 0xafd4
jmp 0x68bb
movq %rax, %r14
movq -0x3e0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x68d1
callq 0x2220
jmp 0x68d1
movq %rax, %r14
movq -0x400(%rbp), %rdi
jmp 0x6b08
jmp 0x69f3
movq %rax, %r14
leaq -0x1a8(%rbp), %rdi
callq 0xafd4
jmp 0x68f6
movq %rax, %r14
movq -0x420(%rbp), %rdi
cmpq %rbx, %rdi
je 0x690c
callq 0x2220
jmp 0x690c
movq %rax, %r14
movq -0x440(%rbp), %rdi
jmp 0x6b08
jmp 0x69f3
movq %rax, %r14
leaq -0x1c0(%rbp), %rdi
callq 0xafd4
jmp 0x6931
movq %rax, %r14
movq -0x460(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6947
callq 0x2220
jmp 0x6947
movq %rax, %r14
movq -0x480(%rbp), %rdi
jmp 0x6b08
jmp 0x69f3
movq %rax, %r14
leaq -0x1d8(%rbp), %rdi
callq 0xafd4
jmp 0x696c
movq %rax, %r14
movq -0x4a0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6982
callq 0x2220
jmp 0x6982
movq %rax, %r14
movq -0x4c0(%rbp), %rdi
jmp 0x6b08
jmp 0x69f3
movq %rax, %r14
leaq -0x1f0(%rbp), %rdi
callq 0xafd4
jmp 0x69a4
movq %rax, %r14
movq -0x4e0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x69ba
callq 0x2220
jmp 0x69ba
movq %rax, %r14
movq -0x500(%rbp), %rdi
jmp 0x6b08
jmp 0x69f3
movq %rax, %r14
leaq -0x208(%rbp), %rdi
callq 0xafd4
jmp 0x69dc
movq %rax, %r14
movq -0x520(%rbp), %rdi
cmpq %rbx, %rdi
jne 0x6b0d
jmp 0x6b12
jmp 0x69f3
movq %rax, %r14
jmp 0x6b12
movq %rax, %r14
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
jne 0x6b0d
jmp 0x6b12
movq %rax, %r14
leaq -0x220(%rbp), %rdi
callq 0xafd4
jmp 0x6a24
movq %rax, %r14
movq -0x540(%rbp), %rdi
jmp 0x6a4e
jmp 0x6a61
jmp 0x6a61
movq %rax, %r14
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x6a47
callq 0x2220
jmp 0x6a47
movq %rax, %r14
movq -0x560(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6b1e
callq 0x2220
jmp 0x6b1e
movq %rax, %r14
jmp 0x6b1e
movq %rax, %r14
leaq -0x2b0(%rbp), %rdi
callq 0xafd4
jmp 0x6a7d
movq %rax, %r14
movq -0x6a0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6a93
callq 0x2220
jmp 0x6a93
movq %rax, %r14
movq -0x6c0(%rbp), %rdi
cmpq %r12, %rdi
jne 0x6ac6
jmp 0x6b2a
jmp 0x6ad7
movq %rax, %r14
leaq -0x2c8(%rbp), %rdi
callq 0xafd4
jmp 0x6aba
movq %rax, %r14
movq -0x6e0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6b2a
callq 0x2220
jmp 0x6b2a
jmp 0x6ad7
movq %rax, %r14
jmp 0x6753
movq %rax, %r14
jmp 0x6b2a
movq %rax, %r14
movq -0x340(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6af0
callq 0x2220
movq -0x360(%rbp), %rdi
cmpq %r13, %rdi
je 0x6b01
callq 0x2220
movq -0x380(%rbp), %rdi
cmpq %r12, %rdi
je 0x6b12
callq 0x2220
leaq -0xb0(%rbp), %rdi
callq 0xafd4
leaq -0x90(%rbp), %rdi
callq 0xafd4
leaq -0xf0(%rbp), %rdi
callq 0xafd4
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x6b4e
callq 0x2220
leaq -0x44(%rbp), %rdi
callq 0xb13c
leaq -0x130(%rbp), %rdi
callq 0xafd4
movq %r14, %rdi
callq 0x2400
movq %rax, %r14
movq -0x740(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6b36
callq 0x2220
jmp 0x6b36
jmp 0x6b83
movq %rax, %r14
jmp 0x6b36