// File: /workspace/github_cpp_makefile_star2_O2/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 %r12
pushq %rbx
subq $0x760, %rsp            # imm = 0x760
movq %rsi, %r14
movq %rdi, %rbx
xorps %xmm0, %xmm0
movaps %xmm0, -0x100(%rbp)
andq $0x0, -0xf0(%rbp)
leaq -0x3c(%rbp), %r15
movq %r15, %rdi
callq 0xac38
leaq -0x760(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq -0x60(%rbp), %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x83ae
leaq -0x770(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x2300
leaq 0xfbe6(%rip), %rsi      # 0x13392
movq %rax, %rdi
callq 0x83a1
movl %eax, %r15d
leaq -0x60(%rbp), %rdi
callq 0x2120
testb %r15b, %r15b
je 0x448b
leaq 0x8(%r14), %rsi
leaq -0x750(%rbp), %rdi
callq 0x2330
leaq -0x3c(%rbp), %rdi
pushq $0xa
popq %rsi
leaq -0x750(%rbp), %rdx
callq 0x9390
movl %eax, %ebx
leaq -0x750(%rbp), %rdi
callq 0x2120
testb %bl, %bl
je 0x444c
cmpq $0x0, 0x30(%r14)
je 0x389a
leaq 0xdbd9(%rip), %rsi      # 0x113ed
leaq -0x730(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x20f0
leaq 0x28(%r14), %r15
leaq -0x710(%rbp), %rdi
movq %r15, %rsi
callq 0x2330
leaq -0x2b0(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
leaq -0x710(%rbp), %rdx
callq 0x9710
leaq -0x3c(%rbp), %rdi
leaq -0x730(%rbp), %rsi
leaq -0x2b0(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r12d
leaq -0x2b0(%rbp), %rdi
callq 0x8a5a
leaq -0x710(%rbp), %rdi
callq 0x2120
leaq -0x730(%rbp), %rdi
callq 0x2120
testb %r12b, %r12b
je 0x4724
xorps %xmm0, %xmm0
movaps %xmm0, -0xe0(%rbp)
andq $0x0, -0xd0(%rbp)
leaq 0xfbd6(%rip), %rsi      # 0x13489
leaq -0x60(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x20f0
leaq -0xe0(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0xf1f8
leaq -0x60(%rbp), %rdi
callq 0x2120
leaq 0xdc20(%rip), %rsi      # 0x11503
leaq -0x6f0(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x20f0
leaq -0x298(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x9768
leaq -0x3c(%rbp), %rdi
leaq -0x6f0(%rbp), %rsi
leaq -0x298(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r15d
leaq -0x298(%rbp), %rdi
callq 0x8a5a
leaq -0x6f0(%rbp), %rdi
callq 0x2120
testb %r15b, %r15b
je 0x44c6
leaq 0xdbbf(%rip), %rsi      # 0x1150c
leaq -0x6d0(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x20f0
leaq 0xea08(%rip), %rsi      # 0x1236c
leaq -0x6b0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x20f0
leaq -0x280(%rbp), %rdi
leaq -0x6b0(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x4d87
leaq -0x3c(%rbp), %rdi
leaq -0x6d0(%rbp), %rsi
leaq -0x280(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r15d
leaq -0x280(%rbp), %rdi
callq 0x8a5a
leaq -0x6b0(%rbp), %rdi
callq 0x2120
leaq -0x6d0(%rbp), %rdi
callq 0x2120
testb %r15b, %r15b
je 0x44f8
cmpq $0x0, 0x50(%r14)
je 0x3d1a
leaq 0xd950(%rip), %rsi      # 0x1133c
leaq -0x690(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x20f0
leaq 0x48(%r14), %r15
leaq -0x670(%rbp), %rdi
movq %r15, %rsi
callq 0x2330
leaq -0x268(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
leaq -0x670(%rbp), %rdx
callq 0x97bc
leaq -0x3c(%rbp), %rdi
leaq -0x690(%rbp), %rsi
leaq -0x268(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r12d
leaq -0x268(%rbp), %rdi
callq 0x8a5a
leaq -0x670(%rbp), %rdi
callq 0x2120
leaq -0x690(%rbp), %rdi
callq 0x2120
testb %r12b, %r12b
je 0x475d
leaq -0x650(%rbp), %rdi
pushq $0x3
popq %rcx
movq %r15, %rsi
xorl %edx, %edx
callq 0x2260
movslq 0x128(%r14), %rcx
leaq -0x630(%rbp), %rdi
pushq $0x3
popq %rdx
movq %r15, %rsi
callq 0x2260
leaq -0x60(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
leaq -0x650(%rbp), %rdx
leaq -0x630(%rbp), %rcx
xorl %r8d, %r8d
callq 0x98d2
leaq -0x630(%rbp), %rdi
callq 0x2120
leaq -0x650(%rbp), %rdi
callq 0x2120
xorps %xmm0, %xmm0
leaq -0xc0(%rbp), %rdi
movaps %xmm0, (%rdi)
andq $0x0, 0x10(%rdi)
leaq -0x60(%rbp), %rsi
callq 0x99ca
leaq 0xdc23(%rip), %rsi      # 0x1171a
leaq -0x610(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x20f0
leaq -0x250(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x9768
leaq -0x3c(%rbp), %rdi
leaq -0x610(%rbp), %rsi
leaq -0x250(%rbp), %rdx
pushq $0x1
popq %rcx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r15d
leaq -0x250(%rbp), %rdi
callq 0x8a5a
leaq -0x610(%rbp), %rdi
callq 0x2120
testb %r15b, %r15b
je 0x4796
leaq 0xdc6c(%rip), %rsi      # 0x117d1
leaq -0x5f0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x20f0
leaq -0x238(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x9768
leaq -0x3c(%rbp), %rdi
leaq -0x5f0(%rbp), %rsi
leaq -0x238(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r15d
leaq -0x238(%rbp), %rdi
callq 0x8a5a
leaq -0x5f0(%rbp), %rdi
callq 0x2120
testb %r15b, %r15b
je 0x47c8
xorps %xmm0, %xmm0
movaps %xmm0, -0x80(%rbp)
andq $0x0, -0x70(%rbp)
leaq 0xf7b4(%rip), %rsi      # 0x13392
leaq -0x5d0(%rbp), %rdi
leaq -0x21(%rbp), %rdx
callq 0x20f0
leaq -0xa0(%rbp), %rdi
leaq -0x5d0(%rbp), %rsi
pushq $0x1
popq %rdx
pushq $0x4
popq %rcx
callq 0x4e20
leaq -0x80(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0xf1f8
leaq -0xa0(%rbp), %rdi
callq 0x2120
leaq -0x5d0(%rbp), %rdi
callq 0x2120
movq -0x80(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x2470
leaq 0xdc4f(%rip), %rsi      # 0x11892
leaq -0x5b0(%rbp), %rdi
leaq -0x21(%rbp), %rdx
callq 0x20f0
leaq -0xa0(%rbp), %rdi
leaq -0x5b0(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x4e20
movq -0x80(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x2470
leaq -0xa0(%rbp), %rdi
callq 0x2120
leaq -0x5b0(%rbp), %rdi
callq 0x2120
leaq 0xecd1(%rip), %rsi      # 0x1296a
leaq -0x590(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x20f0
leaq -0x220(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x9768
leaq -0x3c(%rbp), %rdi
leaq -0x590(%rbp), %rsi
leaq -0x220(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r15d
leaq -0x220(%rbp), %rdi
callq 0x8a5a
leaq -0x590(%rbp), %rdi
callq 0x2120
testb %r15b, %r15b
je 0x482d
leaq -0x80(%rbp), %rdi
callq 0x8a5a
leaq -0xc0(%rbp), %rdi
callq 0x8a5a
leaq -0x60(%rbp), %rdi
callq 0x2120
cmpq $0x0, 0xd0(%r14)
je 0x3db8
leaq 0xdc0b(%rip), %rsi      # 0x1193a
leaq -0x570(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x20f0
leaq 0xc8(%r14), %r15
leaq -0x550(%rbp), %rdi
movq %r15, %rsi
callq 0x2330
leaq -0x208(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
leaq -0x550(%rbp), %rdx
callq 0x9a06
leaq -0x3c(%rbp), %rdi
leaq -0x570(%rbp), %rsi
leaq -0x208(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r12d
leaq -0x208(%rbp), %rdi
callq 0x8a5a
leaq -0x550(%rbp), %rdi
callq 0x2120
leaq -0x570(%rbp), %rdi
callq 0x2120
testb %r12b, %r12b
je 0x47f7
xorps %xmm0, %xmm0
movaps %xmm0, -0xa0(%rbp)
andq $0x0, -0x90(%rbp)
leaq 0xe576(%rip), %rsi      # 0x12347
leaq -0x530(%rbp), %rdi
leaq -0xc0(%rbp), %rdx
callq 0x20f0
leaq -0x60(%rbp), %rdi
leaq -0x530(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x4e20
leaq -0xa0(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0xf1f8
leaq -0x60(%rbp), %rdi
callq 0x2120
leaq -0x530(%rbp), %rdi
callq 0x2120
movsbl 0x128(%r14), %esi
movq -0xa0(%rbp), %rdi
callq 0x21f0
leaq 0xdbcc(%rip), %rsi      # 0x11a04
leaq -0x510(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x20f0
leaq -0x1f0(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x9768
leaq -0x3c(%rbp), %rdi
leaq -0x510(%rbp), %rsi
leaq -0x1f0(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r15d
leaq -0x1f0(%rbp), %rdi
callq 0x8a5a
leaq -0x510(%rbp), %rdi
callq 0x2120
testb %r15b, %r15b
je 0x452a
xorps %xmm0, %xmm0
leaq -0xc0(%rbp), %rdi
movaps %xmm0, (%rdi)
andq $0x0, 0x10(%rdi)
leaq -0x50(%rbp), %rax
movq %rax, -0x10(%rax)
movw $0x1, (%rax)
movq $0x1, -0x8(%rax)
leaq -0x60(%rbp), %rsi
callq 0xf1f8
leaq -0x60(%rbp), %rdi
callq 0x2120
leaq 0x108(%r14), %rsi
movq -0xc0(%rbp), %rdi
callq 0x2470
leaq 0xd527(%rip), %rsi      # 0x11415
leaq -0x4f0(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x20f0
leaq -0x1d8(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x9768
leaq -0x3c(%rbp), %rdi
leaq -0x4f0(%rbp), %rsi
leaq -0x1d8(%rbp), %rdx
pushq $0x1
popq %rcx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r15d
leaq -0x1d8(%rbp), %rdi
callq 0x8a5a
leaq -0x4f0(%rbp), %rdi
callq 0x2120
testb %r15b, %r15b
je 0x455c
leaq 0xdc02(%rip), %rsi      # 0x11b5b
leaq -0x4d0(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x20f0
leaq 0xe41d(%rip), %rsi      # 0x1238d
leaq -0x4b0(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x20f0
leaq -0x1c0(%rbp), %rdi
leaq -0x4b0(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x4d87
leaq -0x3c(%rbp), %rdi
leaq -0x4d0(%rbp), %rsi
leaq -0x1c0(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r15d
leaq -0x1c0(%rbp), %rdi
callq 0x8a5a
leaq -0x4b0(%rbp), %rdi
callq 0x2120
leaq -0x4d0(%rbp), %rdi
callq 0x2120
testb %r15b, %r15b
je 0x4595
leaq 0xdc5d(%rip), %rsi      # 0x11c47
leaq -0x490(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x20f0
leaq 0xf391(%rip), %rsi      # 0x13392
leaq -0x470(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x20f0
leaq -0x1a8(%rbp), %rdi
leaq -0x470(%rbp), %rsi
pushq $0x1
popq %rdx
xorl %ecx, %ecx
callq 0x4d87
leaq -0x3c(%rbp), %rdi
leaq -0x490(%rbp), %rsi
leaq -0x1a8(%rbp), %rdx
pushq $0x1
popq %rcx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r15d
leaq -0x1a8(%rbp), %rdi
callq 0x8a5a
leaq -0x470(%rbp), %rdi
callq 0x2120
leaq -0x490(%rbp), %rdi
callq 0x2120
testb %r15b, %r15b
je 0x45ce
leaq 0xdc86(%rip), %rsi      # 0x11d03
leaq -0x450(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x20f0
leaq 0xf2fe(%rip), %rsi      # 0x13392
leaq -0x430(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x20f0
leaq -0x190(%rbp), %rdi
leaq -0x430(%rbp), %rsi
pushq $0x1
popq %rdx
xorl %ecx, %ecx
callq 0x4d87
leaq -0x3c(%rbp), %rdi
leaq -0x450(%rbp), %rsi
leaq -0x190(%rbp), %rdx
pushq $0x1
popq %rcx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r15d
leaq -0x190(%rbp), %rdi
callq 0x8a5a
leaq -0x430(%rbp), %rdi
callq 0x2120
leaq -0x450(%rbp), %rdi
callq 0x2120
testb %r15b, %r15b
je 0x4607
leaq 0xdcb9(%rip), %rsi      # 0x11dc9
leaq -0x410(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x20f0
leaq 0xf26b(%rip), %rsi      # 0x13392
leaq -0x3f0(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x20f0
leaq -0x178(%rbp), %rdi
leaq -0x3f0(%rbp), %rsi
pushq $0x1
popq %rdx
xorl %ecx, %ecx
callq 0x4d87
leaq -0x3c(%rbp), %rdi
leaq -0x410(%rbp), %rsi
leaq -0x178(%rbp), %rdx
pushq $0x1
popq %rcx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r15d
leaq -0x178(%rbp), %rdi
callq 0x8a5a
leaq -0x3f0(%rbp), %rdi
callq 0x2120
leaq -0x410(%rbp), %rdi
callq 0x2120
testb %r15b, %r15b
je 0x4640
leaq 0xdcec(%rip), %rsi      # 0x11e8f
leaq -0x3d0(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x20f0
leaq 0xf1d8(%rip), %rsi      # 0x13392
leaq -0x3b0(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x20f0
leaq -0x160(%rbp), %rdi
leaq -0x3b0(%rbp), %rsi
pushq $0x1
popq %rdx
xorl %ecx, %ecx
callq 0x4d87
leaq -0x3c(%rbp), %rdi
leaq -0x3d0(%rbp), %rsi
leaq -0x160(%rbp), %rdx
pushq $0x1
popq %rcx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r15d
leaq -0x160(%rbp), %rdi
callq 0x8a5a
leaq -0x3b0(%rbp), %rdi
callq 0x2120
leaq -0x3d0(%rbp), %rdi
callq 0x2120
testb %r15b, %r15b
je 0x4679
leaq 0xeae4(%rip), %rsi      # 0x12d1a
leaq -0x390(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x20f0
leaq 0xdd10(%rip), %rsi      # 0x11f5d
leaq -0x370(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x20f0
leaq -0x148(%rbp), %rdi
leaq -0x370(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x4d87
leaq -0x3c(%rbp), %rdi
leaq -0x390(%rbp), %rsi
leaq -0x148(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r15d
leaq -0x148(%rbp), %rdi
callq 0x8a5a
leaq -0x370(%rbp), %rdi
callq 0x2120
leaq -0x390(%rbp), %rdi
callq 0x2120
testb %r15b, %r15b
je 0x46b2
cmpq $0x0, 0xb0(%r14)
je 0x4393
leaq 0xd079(%rip), %rsi      # 0x1134e
leaq -0x350(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x20f0
addq $0xa8, %r14
leaq -0x330(%rbp), %rdi
movq %r14, %rsi
callq 0x2330
leaq 0xd04c(%rip), %rsi      # 0x1134e
leaq -0x310(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x20f0
leaq -0x3c(%rbp), %rdi
leaq -0x310(%rbp), %rsi
callq 0x9bf0
leaq -0x130(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
leaq -0x330(%rbp), %rdx
movl %eax, %ecx
callq 0x9a5c
leaq -0x3c(%rbp), %rdi
leaq -0x350(%rbp), %rsi
leaq -0x130(%rbp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r15d
leaq -0x130(%rbp), %rdi
callq 0x8a5a
leaq -0x310(%rbp), %rdi
callq 0x2120
leaq -0x330(%rbp), %rdi
callq 0x2120
leaq -0x350(%rbp), %rdi
callq 0x2120
testb %r15b, %r15b
je 0x4888
leaq 0xdd77(%rip), %rsi      # 0x12111
leaq -0x2f0(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x20f0
leaq 0xefe1(%rip), %rsi      # 0x13392
leaq -0x2d0(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x20f0
leaq -0x118(%rbp), %rdi
leaq -0x2d0(%rbp), %rsi
pushq $0x1
popq %rdx
xorl %ecx, %ecx
callq 0x4d87
leaq -0x3c(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
leaq -0x118(%rbp), %rdx
pushq $0x1
popq %rcx
xorl %r8d, %r8d
callq 0x93ee
movl %eax, %r14d
leaq -0x118(%rbp), %rdi
callq 0x8a5a
leaq -0x2d0(%rbp), %rdi
callq 0x2120
leaq -0x2f0(%rbp), %rdi
callq 0x2120
testb %r14b, %r14b
je 0x46eb
leaq -0xc0(%rbp), %rdi
callq 0x8a5a
leaq -0xa0(%rbp), %rdi
callq 0x8a5a
leaq -0xe0(%rbp), %rdi
callq 0x8a5a
jmp 0x4458
leaq 0xf9f0(%rip), %rdi      # 0x13e43
callq 0x23c0
leaq -0x770(%rbp), %rdi
callq 0x2120
leaq -0x3c(%rbp), %rdi
callq 0x8b36
leaq -0x100(%rbp), %rdi
callq 0x8a5a
movl %ebx, %eax
addq $0x760, %rsp            # imm = 0x760
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq 0x14b3e(%rip), %r15     # 0x18fd0
movq (%r15), %r14
callq 0x2040
movl (%rax), %edi
callq 0x20c0
movq %rbx, (%rsp)
leaq 0xcea9(%rip), %rsi      # 0x11355
leaq 0xcf95(%rip), %rdx      # 0x11448
leaq 0xce64(%rip), %rcx      # 0x1131e
pushq $0x54
popq %r8
movq %r14, %rdi
jmp 0x48c3
movq 0x14b03(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
leaq 0xd03d(%rip), %rsi      # 0x11520
leaq 0xcf5e(%rip), %rdx      # 0x11448
leaq 0xce2d(%rip), %rcx      # 0x1131e
pushq $0x61
jmp 0x485a
movq 0x14ad1(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
leaq 0xd0ae(%rip), %rsi      # 0x115c3
leaq 0xcf2c(%rip), %rdx      # 0x11448
leaq 0xcdfb(%rip), %rcx      # 0x1131e
pushq $0x62
jmp 0x485a
movq 0x14a9f(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
leaq 0xd4d1(%rip), %rsi      # 0x11a18
leaq 0xcefa(%rip), %rdx      # 0x11448
leaq 0xcdc9(%rip), %rcx      # 0x1131e
pushq $0x7d
jmp 0x485a
movq 0x14a6d(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
leaq 0xd544(%rip), %rsi      # 0x11abd
leaq 0xcec8(%rip), %rdx      # 0x11448
leaq 0xcd97(%rip), %rcx      # 0x1131e
movq %rbx, %rdi
movl $0x81, %r8d
jmp 0x485f
movq 0x14a34(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
leaq 0xd5cc(%rip), %rsi      # 0x11b7e
leaq 0xce8f(%rip), %rdx      # 0x11448
leaq 0xcd5e(%rip), %rcx      # 0x1131e
movq %rbx, %rdi
movl $0x83, %r8d
jmp 0x485f
movq 0x149fb(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
leaq 0xd66b(%rip), %rsi      # 0x11c56
leaq 0xce56(%rip), %rdx      # 0x11448
leaq 0xcd25(%rip), %rcx      # 0x1131e
movq %rbx, %rdi
movl $0x85, %r8d
jmp 0x485f
movq 0x149c2(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
leaq 0xd6f8(%rip), %rsi      # 0x11d1c
leaq 0xce1d(%rip), %rdx      # 0x11448
leaq 0xccec(%rip), %rcx      # 0x1131e
movq %rbx, %rdi
movl $0x87, %r8d
jmp 0x485f
movq 0x14989(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
leaq 0xd785(%rip), %rsi      # 0x11de2
leaq 0xcde4(%rip), %rdx      # 0x11448
leaq 0xccb3(%rip), %rcx      # 0x1131e
movq %rbx, %rdi
movl $0x89, %r8d
jmp 0x485f
movq 0x14950(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
leaq 0xd80e(%rip), %rsi      # 0x11ea4
leaq 0xcdab(%rip), %rdx      # 0x11448
leaq 0xcc7a(%rip), %rcx      # 0x1131e
movq %rbx, %rdi
movl $0x8b, %r8d
jmp 0x485f
movq 0x14917(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
leaq 0xd8a7(%rip), %rsi      # 0x11f76
leaq 0xcd72(%rip), %rdx      # 0x11448
leaq 0xcc41(%rip), %rcx      # 0x1131e
movq %rbx, %rdi
movl $0x8e, %r8d
jmp 0x485f
movq 0x148de(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
leaq 0xda0e(%rip), %rsi      # 0x12116
leaq 0xcd39(%rip), %rdx      # 0x11448
leaq 0xcc08(%rip), %rcx      # 0x1131e
movq %rbx, %rdi
movl $0x95, %r8d
jmp 0x485f
movq 0x148a5(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
movq (%r15), %rcx
movq %rcx, (%rsp)
leaq 0xcd0f(%rip), %rsi      # 0x11457
leaq 0xccf9(%rip), %rdx      # 0x11448
leaq 0xcbc8(%rip), %rcx      # 0x1131e
pushq $0x5d
jmp 0x485a
movq 0x1486c(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
movq (%r15), %rcx
movq %rcx, (%rsp)
leaq 0xcef1(%rip), %rsi      # 0x11672
leaq 0xccc0(%rip), %rdx      # 0x11448
leaq 0xcb8f(%rip), %rcx      # 0x1131e
pushq $0x66
jmp 0x485a
movq 0x14833(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
leaq 0xcf75(%rip), %rsi      # 0x11728
leaq 0xcc8e(%rip), %rdx      # 0x11448
leaq 0xcb5d(%rip), %rcx      # 0x1131e
pushq $0x6b
jmp 0x485a
movq 0x14801(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
leaq 0xd001(%rip), %rsi      # 0x117e6
leaq 0xcc5c(%rip), %rdx      # 0x11448
leaq 0xcb2b(%rip), %rcx      # 0x1131e
pushq $0x6c
jmp 0x485a
movq 0x147d2(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
movq (%r15), %rcx
movq %rcx, (%rsp)
leaq 0xd134(%rip), %rsi      # 0x1194f
leaq 0xcc26(%rip), %rdx      # 0x11448
leaq 0xcaf5(%rip), %rcx      # 0x1131e
pushq $0x77
jmp 0x485a
movq 0x1479c(%rip), %r14     # 0x18fd0
movq (%r14), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
leaq 0xd051(%rip), %rsi      # 0x1189b
leaq 0xcbf7(%rip), %rdx      # 0x11448
leaq 0xcac6(%rip), %rcx      # 0x1131e
pushq $0x72
popq %r8
movq %rbx, %rdi
movq %rax, %r9
xorl %eax, %eax
callq 0x2360
movq 0x14738(%rip), %rax     # 0x18fa8
movq (%rax), %rdi
callq 0x22c0
movq (%r14), %rdi
callq 0x22c0
pushq $0x1
popq %rdi
callq 0x22e0
movq 0x14741(%rip), %r15     # 0x18fd0
movq (%r15), %rbx
callq 0x2040
movl (%rax), %edi
callq 0x20c0
movq (%r14), %rcx
movq %rcx, (%rsp)
leaq 0xd796(%rip), %rsi      # 0x12042
leaq 0xcb95(%rip), %rdx      # 0x11448
leaq 0xca64(%rip), %rcx      # 0x1131e
movq %rbx, %rdi
movl $0x93, %r8d
movq %rax, %r9
xorl %eax, %eax
callq 0x2360
movq 0x146d4(%rip), %rax     # 0x18fa8
movq (%rax), %rdi
callq 0x22c0
movq (%r15), %rdi
jmp 0x487b
movq %rax, %rbx
leaq -0x130(%rbp), %rdi
callq 0x8a5a
jmp 0x4cf5
movq %rax, %rbx
jmp 0x4d01
movq %rax, %rbx
jmp 0x4d0d
jmp 0x4c32
movq %rax, %rbx
leaq -0x220(%rbp), %rdi
callq 0x8a5a
jmp 0x491e
movq %rax, %rbx
leaq -0x590(%rbp), %rdi
jmp 0x4996
jmp 0x49a2
movq %rax, %rbx
leaq -0xa0(%rbp), %rdi
callq 0x2120
jmp 0x493d
movq %rax, %rbx
leaq -0x5b0(%rbp), %rdi
jmp 0x4996
jmp 0x49a2
movq %rax, %rbx
leaq -0x208(%rbp), %rdi
callq 0x8a5a
jmp 0x495e
jmp 0x49a2
movq %rax, %rbx
leaq -0x550(%rbp), %rdi
callq 0x2120
jmp 0x4980
movq %rax, %rbx
leaq -0xa0(%rbp), %rdi
callq 0x2120
jmp 0x498f
movq %rax, %rbx
leaq -0x570(%rbp), %rdi
jmp 0x4cdc
movq %rax, %rbx
leaq -0x5d0(%rbp), %rdi
callq 0x2120
jmp 0x49a5
jmp 0x4ced
movq %rax, %rbx
leaq -0x80(%rbp), %rdi
callq 0x8a5a
jmp 0x49f6
movq %rax, %rbx
leaq -0x238(%rbp), %rdi
callq 0x8a5a
jmp 0x49c4
movq %rax, %rbx
leaq -0x5f0(%rbp), %rdi
jmp 0x49ea
jmp 0x49f3
movq %rax, %rbx
leaq -0x250(%rbp), %rdi
callq 0x8a5a
jmp 0x49e3
movq %rax, %rbx
leaq -0x610(%rbp), %rdi
callq 0x2120
jmp 0x49f6
jmp 0x49f3
movq %rax, %rbx
leaq -0xc0(%rbp), %rdi
callq 0x8a5a
leaq -0x60(%rbp), %rdi
jmp 0x4cdc
movq %rax, %rbx
leaq -0x630(%rbp), %rdi
callq 0x2120
jmp 0x4a1f
movq %rax, %rbx
leaq -0x650(%rbp), %rdi
jmp 0x4cdc
jmp 0x4ced
movq %rax, %rbx
leaq -0x268(%rbp), %rdi
callq 0x8a5a
jmp 0x4a44
movq %rax, %rbx
leaq -0x670(%rbp), %rdi
callq 0x2120
jmp 0x4a55
movq %rax, %rbx
leaq -0x690(%rbp), %rdi
jmp 0x4cdc
jmp 0x4ced
movq %rax, %rbx
leaq -0x2b0(%rbp), %rdi
callq 0x8a5a
jmp 0x4a7a
movq %rax, %rbx
leaq -0x710(%rbp), %rdi
callq 0x2120
jmp 0x4a8b
movq %rax, %rbx
leaq -0x730(%rbp), %rdi
jmp 0x4d7b
jmp 0x4d82
movq %rax, %rbx
leaq -0x118(%rbp), %rdi
callq 0x8a5a
jmp 0x4ab0
movq %rax, %rbx
leaq -0x2d0(%rbp), %rdi
callq 0x2120
jmp 0x4ac1
movq %rax, %rbx
leaq -0x2f0(%rbp), %rdi
jmp 0x4d14
jmp 0x4c32
movq %rax, %rbx
leaq -0x148(%rbp), %rdi
callq 0x8a5a
jmp 0x4ae6
movq %rax, %rbx
leaq -0x370(%rbp), %rdi
callq 0x2120
jmp 0x4af7
movq %rax, %rbx
leaq -0x390(%rbp), %rdi
jmp 0x4d14
jmp 0x4c32
movq %rax, %rbx
leaq -0x160(%rbp), %rdi
callq 0x8a5a
jmp 0x4b1c
movq %rax, %rbx
leaq -0x3b0(%rbp), %rdi
callq 0x2120
jmp 0x4b2d
movq %rax, %rbx
leaq -0x3d0(%rbp), %rdi
jmp 0x4d14
jmp 0x4c32
movq %rax, %rbx
leaq -0x178(%rbp), %rdi
callq 0x8a5a
jmp 0x4b52
movq %rax, %rbx
leaq -0x3f0(%rbp), %rdi
callq 0x2120
jmp 0x4b63
movq %rax, %rbx
leaq -0x410(%rbp), %rdi
jmp 0x4d14
jmp 0x4c32
movq %rax, %rbx
leaq -0x190(%rbp), %rdi
callq 0x8a5a
jmp 0x4b88
movq %rax, %rbx
leaq -0x430(%rbp), %rdi
callq 0x2120
jmp 0x4b99
movq %rax, %rbx
leaq -0x450(%rbp), %rdi
jmp 0x4d14
jmp 0x4c32
movq %rax, %rbx
leaq -0x1a8(%rbp), %rdi
callq 0x8a5a
jmp 0x4bbe
movq %rax, %rbx
leaq -0x470(%rbp), %rdi
callq 0x2120
jmp 0x4bcf
movq %rax, %rbx
leaq -0x490(%rbp), %rdi
jmp 0x4d14
jmp 0x4c32
movq %rax, %rbx
leaq -0x1c0(%rbp), %rdi
callq 0x8a5a
jmp 0x4bf1
movq %rax, %rbx
leaq -0x4b0(%rbp), %rdi
callq 0x2120
jmp 0x4c02
movq %rax, %rbx
leaq -0x4d0(%rbp), %rdi
jmp 0x4d14
jmp 0x4c32
movq %rax, %rbx
leaq -0x1d8(%rbp), %rdi
callq 0x8a5a
jmp 0x4c24
movq %rax, %rbx
leaq -0x4f0(%rbp), %rdi
jmp 0x4d14
jmp 0x4c32
movq %rax, %rbx
jmp 0x4d19
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
jmp 0x4d14
movq %rax, %rbx
leaq -0x1f0(%rbp), %rdi
callq 0x8a5a
jmp 0x4c5a
movq %rax, %rbx
leaq -0x510(%rbp), %rdi
jmp 0x4c7f
jmp 0x4c89
jmp 0x4c89
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x2120
jmp 0x4c78
movq %rax, %rbx
leaq -0x530(%rbp), %rdi
callq 0x2120
jmp 0x4d25
movq %rax, %rbx
jmp 0x4d25
movq %rax, %rbx
leaq -0x280(%rbp), %rdi
callq 0x8a5a
jmp 0x4ca5
movq %rax, %rbx
leaq -0x6b0(%rbp), %rdi
callq 0x2120
jmp 0x4cb6
movq %rax, %rbx
leaq -0x6d0(%rbp), %rdi
jmp 0x4cdc
jmp 0x4ced
movq %rax, %rbx
leaq -0x298(%rbp), %rdi
callq 0x8a5a
jmp 0x4cd5
movq %rax, %rbx
leaq -0x6f0(%rbp), %rdi
callq 0x2120
jmp 0x4d31
jmp 0x4ced
movq %rax, %rbx
jmp 0x4a02
movq %rax, %rbx
jmp 0x4d31
movq %rax, %rbx
leaq -0x310(%rbp), %rdi
callq 0x2120
leaq -0x330(%rbp), %rdi
callq 0x2120
leaq -0x350(%rbp), %rdi
callq 0x2120
leaq -0xc0(%rbp), %rdi
callq 0x8a5a
leaq -0xa0(%rbp), %rdi
callq 0x8a5a
leaq -0xe0(%rbp), %rdi
callq 0x8a5a
leaq -0x770(%rbp), %rdi
callq 0x2120
leaq -0x3c(%rbp), %rdi
callq 0x8b36
leaq -0x100(%rbp), %rdi
callq 0x8a5a
movq %rbx, %rdi
callq 0x2400
movq %rax, %rbx
leaq -0x750(%rbp), %rdi
jmp 0x4d7b
jmp 0x4d82
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x2120
jmp 0x4d3d
movq %rax, %rbx
jmp 0x4d3d