// File: /workspace/github_c_makefile_star2_O1/samtools[P]htslib/hts.c
// Function: hts_opt_add
int hts_opt_add(hts_opt **opts, const char *c_arg) {
    hts_opt *o, *t;
    char *val;

    /*
     * IMPORTANT!!!
     * If you add another string option here, don't forget to also add
     * it to the case statement in hts_opt_apply.
     */

    if (!c_arg)
        return -1;

    if (!(o =  malloc(sizeof(*o))))
        return -1;

    if (!(o->arg = strdup(c_arg))) {
        free(o);
        return -1;
    }

    if (!(val = strchr(o->arg, '=')))
        val = "1"; // assume boolean
    else
        *val++ = '\0';

    if (strcmp(o->arg, "decode_md") == 0 ||
        strcmp(o->arg, "DECODE_MD") == 0)
        o->opt = CRAM_OPT_DECODE_MD, o->val.i = atoi(val);

    else if (strcmp(o->arg, "verbosity") == 0 ||
             strcmp(o->arg, "VERBOSITY") == 0)
        o->opt = CRAM_OPT_VERBOSITY, o->val.i = atoi(val);

    else if (strcmp(o->arg, "seqs_per_slice") == 0 ||
             strcmp(o->arg, "SEQS_PER_SLICE") == 0)
        o->opt = CRAM_OPT_SEQS_PER_SLICE, o->val.i = atoi(val);

    else if (strcmp(o->arg, "bases_per_slice") == 0 ||
             strcmp(o->arg, "BASES_PER_SLICE") == 0)
        o->opt = CRAM_OPT_BASES_PER_SLICE, o->val.i = atoi(val);

    else if (strcmp(o->arg, "slices_per_container") == 0 ||
             strcmp(o->arg, "SLICES_PER_CONTAINER") == 0)
        o->opt = CRAM_OPT_SLICES_PER_CONTAINER, o->val.i = atoi(val);

    else if (strcmp(o->arg, "embed_ref") == 0 ||
             strcmp(o->arg, "EMBED_REF") == 0)
        o->opt = CRAM_OPT_EMBED_REF, o->val.i = atoi(val);

    else if (strcmp(o->arg, "no_ref") == 0 ||
             strcmp(o->arg, "NO_REF") == 0)
        o->opt = CRAM_OPT_NO_REF, o->val.i = atoi(val);

    else if (strcmp(o->arg, "pos_delta") == 0 ||
             strcmp(o->arg, "POS_DELTA") == 0)
        o->opt = CRAM_OPT_POS_DELTA, o->val.i = atoi(val);

    else if (strcmp(o->arg, "ignore_md5") == 0 ||
             strcmp(o->arg, "IGNORE_MD5") == 0)
        o->opt = CRAM_OPT_IGNORE_MD5, o->val.i = atoi(val);

    else if (strcmp(o->arg, "use_bzip2") == 0 ||
             strcmp(o->arg, "USE_BZIP2") == 0)
        o->opt = CRAM_OPT_USE_BZIP2, o->val.i = atoi(val);

    else if (strcmp(o->arg, "use_rans") == 0 ||
             strcmp(o->arg, "USE_RANS") == 0)
        o->opt = CRAM_OPT_USE_RANS, o->val.i = atoi(val);

    else if (strcmp(o->arg, "use_lzma") == 0 ||
             strcmp(o->arg, "USE_LZMA") == 0)
        o->opt = CRAM_OPT_USE_LZMA, o->val.i = atoi(val);

    else if (strcmp(o->arg, "use_tok") == 0 ||
             strcmp(o->arg, "USE_TOK") == 0)
        o->opt = CRAM_OPT_USE_TOK, o->val.i = atoi(val);

    else if (strcmp(o->arg, "use_fqz") == 0 ||
             strcmp(o->arg, "USE_FQZ") == 0)
        o->opt = CRAM_OPT_USE_FQZ, o->val.i = atoi(val);

    else if (strcmp(o->arg, "use_arith") == 0 ||
             strcmp(o->arg, "USE_ARITH") == 0)
        o->opt = CRAM_OPT_USE_ARITH, o->val.i = atoi(val);

    else if (strcmp(o->arg, "fast") == 0 ||
             strcmp(o->arg, "FAST") == 0)
        o->opt = HTS_OPT_PROFILE, o->val.i = HTS_PROFILE_FAST;

    else if (strcmp(o->arg, "normal") == 0 ||
             strcmp(o->arg, "NORMAL") == 0)
        o->opt = HTS_OPT_PROFILE, o->val.i = HTS_PROFILE_NORMAL;

    else if (strcmp(o->arg, "small") == 0 ||
             strcmp(o->arg, "SMALL") == 0)
        o->opt = HTS_OPT_PROFILE, o->val.i = HTS_PROFILE_SMALL;

    else if (strcmp(o->arg, "archive") == 0 ||
             strcmp(o->arg, "ARCHIVE") == 0)
        o->opt = HTS_OPT_PROFILE, o->val.i = HTS_PROFILE_ARCHIVE;

    else if (strcmp(o->arg, "reference") == 0 ||
             strcmp(o->arg, "REFERENCE") == 0)
        o->opt = CRAM_OPT_REFERENCE, o->val.s = val;

    else if (strcmp(o->arg, "version") == 0 ||
             strcmp(o->arg, "VERSION") == 0)
        o->opt = CRAM_OPT_VERSION, o->val.s =val;

    else if (strcmp(o->arg, "multi_seq_per_slice") == 0 ||
             strcmp(o->arg, "MULTI_SEQ_PER_SLICE") == 0)
        o->opt = CRAM_OPT_MULTI_SEQ_PER_SLICE, o->val.i = atoi(val);

    else if (strcmp(o->arg, "nthreads") == 0 ||
             strcmp(o->arg, "NTHREADS") == 0)
        o->opt = HTS_OPT_NTHREADS, o->val.i = atoi(val);

    else if (strcmp(o->arg, "cache_size") == 0 ||
             strcmp(o->arg, "CACHE_SIZE") == 0) {
        char *endp;
        o->opt = HTS_OPT_CACHE_SIZE;
        o->val.i = strtol(val, &endp, 0);
        // NB: Doesn't support floats, eg 1.5g
        // TODO: extend hts_parse_decimal? See also samtools sort.
        switch (*endp) {
        case 'g': case 'G': o->val.i *= 1024; // fall through
        case 'm': case 'M': o->val.i *= 1024; // fall through
        case 'k': case 'K': o->val.i *= 1024; break;
        case '\0': break;
        default:
            hts_log_error("Unrecognised cache size suffix '%c'", *endp);
            free(o->arg);
            free(o);
            return -1;
        }
    }

    else if (strcmp(o->arg, "required_fields") == 0 ||
             strcmp(o->arg, "REQUIRED_FIELDS") == 0)
        o->opt = CRAM_OPT_REQUIRED_FIELDS, o->val.i = strtol(val, NULL, 0);

    else if (strcmp(o->arg, "lossy_names") == 0 ||
             strcmp(o->arg, "LOSSY_NAMES") == 0)
        o->opt = CRAM_OPT_LOSSY_NAMES, o->val.i = strtol(val, NULL, 0);

    else if (strcmp(o->arg, "name_prefix") == 0 ||
             strcmp(o->arg, "NAME_PREFIX") == 0)
        o->opt = CRAM_OPT_PREFIX, o->val.s = val;

    else if (strcmp(o->arg, "store_md") == 0 ||
             strcmp(o->arg, "store_md") == 0)
        o->opt = CRAM_OPT_STORE_MD, o->val.i = atoi(val);

    else if (strcmp(o->arg, "store_nm") == 0 ||
             strcmp(o->arg, "store_nm") == 0)
        o->opt = CRAM_OPT_STORE_NM, o->val.i = atoi(val);

    else if (strcmp(o->arg, "block_size") == 0 ||
             strcmp(o->arg, "BLOCK_SIZE") == 0)
        o->opt = HTS_OPT_BLOCK_SIZE, o->val.i = strtol(val, NULL, 0);

    else if (strcmp(o->arg, "level") == 0 ||
             strcmp(o->arg, "LEVEL") == 0)
        o->opt = HTS_OPT_COMPRESSION_LEVEL, o->val.i = strtol(val, NULL, 0);

    else if (strcmp(o->arg, "filter") == 0 ||
             strcmp(o->arg, "FILTER") == 0)
        o->opt = HTS_OPT_FILTER, o->val.s = val;

    else if (strcmp(o->arg, "fastq_aux") == 0 ||
        strcmp(o->arg, "FASTQ_AUX") == 0)
        o->opt = FASTQ_OPT_AUX, o->val.s = val;

    else if (strcmp(o->arg, "fastq_barcode") == 0 ||
        strcmp(o->arg, "FASTQ_BARCODE") == 0)
        o->opt = FASTQ_OPT_BARCODE, o->val.s = val;

    else if (strcmp(o->arg, "fastq_rnum") == 0 ||
        strcmp(o->arg, "FASTQ_RNUM") == 0)
        o->opt = FASTQ_OPT_RNUM, o->val.i = 1;

    else if (strcmp(o->arg, "fastq_casava") == 0 ||
        strcmp(o->arg, "FASTQ_CASAVA") == 0)
        o->opt = FASTQ_OPT_CASAVA, o->val.i = 1;

    else if (strcmp(o->arg, "fastq_name2") == 0 ||
        strcmp(o->arg, "FASTQ_NAME2") == 0)
        o->opt = FASTQ_OPT_NAME2, o->val.i = 1;

    else {
        hts_log_error("Unknown option '%s'", o->arg);
        free(o->arg);
        free(o);
        return -1;
    }

    o->next = NULL;

    // Append; assumes small list.
    if (*opts) {
        t = *opts;
        while (t->next)
            t = t->next;
        t->next = o;
    } else {
        *opts = o;
    }

    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
testq %rsi, %rsi
je 0x14d4a
movq %rsi, %r15
movq %rdi, %r14
movl $0x20, %edi
callq 0x4680
testq %rax, %rax
je 0x14d4a
movq %rax, %rbx
movq %r15, %rdi
callq 0x4930
movq %rax, (%rbx)
testq %rax, %rax
je 0x14d42
movq %rax, %rdi
movl $0x3d, %esi
callq 0x4190
testq %rax, %rax
je 0x144e9
movq %rax, %r15
incq %r15
movb $0x0, (%rax)
jmp 0x144f0
leaq 0x86961(%rip), %r15     # 0x9ae51
movq (%rbx), %r12
leaq 0x8497f(%rip), %rsi     # 0x98e79
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14b8d
leaq 0x84972(%rip), %rsi     # 0x98e83
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14b8d
leaq 0x84965(%rip), %rsi     # 0x98e8d
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14b96
leaq 0x84958(%rip), %rsi     # 0x98e97
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14b96
leaq 0x8494b(%rip), %rsi     # 0x98ea1
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14b9f
leaq 0x84943(%rip), %rsi     # 0x98eb0
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14b9f
leaq 0x8493b(%rip), %rsi     # 0x98ebf
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14ba8
leaq 0x84934(%rip), %rsi     # 0x98ecf
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14ba8
leaq 0x8492d(%rip), %rsi     # 0x98edf
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bb1
leaq 0x8492b(%rip), %rsi     # 0x98ef4
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bb1
leaq 0x84929(%rip), %rsi     # 0x98f09
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bba
leaq 0x8491c(%rip), %rsi     # 0x98f13
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bba
leaq 0x8490f(%rip), %rsi     # 0x98f1d
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bc3
leaq 0x848ff(%rip), %rsi     # 0x98f24
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bc3
leaq 0x848ef(%rip), %rsi     # 0x98f2b
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bcc
leaq 0x848e2(%rip), %rsi     # 0x98f35
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bcc
leaq 0x848d5(%rip), %rsi     # 0x98f3f
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bd5
leaq 0x848c9(%rip), %rsi     # 0x98f4a
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bd5
leaq 0x848bd(%rip), %rsi     # 0x98f55
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bde
leaq 0x848b0(%rip), %rsi     # 0x98f5f
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bde
leaq 0x848a3(%rip), %rsi     # 0x98f69
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14be7
leaq 0x84895(%rip), %rsi     # 0x98f72
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14be7
leaq 0x84887(%rip), %rsi     # 0x98f7b
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bf0
leaq 0x84879(%rip), %rsi     # 0x98f84
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bf0
leaq 0x8486b(%rip), %rsi     # 0x98f8d
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bf9
leaq 0x8485c(%rip), %rsi     # 0x98f95
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14bf9
leaq 0x8484d(%rip), %rsi     # 0x98f9d
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c02
leaq 0x8483e(%rip), %rsi     # 0x98fa5
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c02
leaq 0x8482f(%rip), %rsi     # 0x98fad
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c0b
leaq 0x84822(%rip), %rsi     # 0x98fb7
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c0b
leaq 0x84815(%rip), %rsi     # 0x98fc1
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c49
leaq 0x84803(%rip), %rsi     # 0x98fc6
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c49
leaq 0x847f1(%rip), %rsi     # 0x98fcb
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c59
leaq 0x847e1(%rip), %rsi     # 0x98fd2
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c59
leaq 0x847d1(%rip), %rsi     # 0x98fd9
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c69
leaq 0x847c0(%rip), %rsi     # 0x98fdf
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c69
leaq 0x847af(%rip), %rsi     # 0x98fe5
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c79
leaq 0x847a0(%rip), %rsi     # 0x98fed
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c79
leaq 0x89cd0(%rip), %rsi     # 0x9e534
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c89
leaq 0x8477a(%rip), %rsi     # 0x98ff5
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c89
leaq 0x81d26(%rip), %rsi     # 0x965b8
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c92
leaq 0x84756(%rip), %rsi     # 0x98fff
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14c92
leaq 0x84747(%rip), %rsi     # 0x99007
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14ca2
leaq 0x84744(%rip), %rsi     # 0x9901b
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14ca2
leaq 0x84741(%rip), %rsi     # 0x9902f
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14cae
leaq 0x84733(%rip), %rsi     # 0x99038
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14cae
leaq 0x84725(%rip), %rsi     # 0x99041
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14cba
leaq 0x84719(%rip), %rsi     # 0x9904c
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14cba
leaq 0x8473d(%rip), %rsi     # 0x99087
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14d59
leaq 0x84736(%rip), %rsi     # 0x99097
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14d59
leaq 0x8472f(%rip), %rsi     # 0x990a7
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14d75
leaq 0x84724(%rip), %rsi     # 0x990b3
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14d75
leaq 0x84719(%rip), %rsi     # 0x990bf
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14d90
leaq 0x8470e(%rip), %rsi     # 0x990cb
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14d90
leaq 0x84703(%rip), %rsi     # 0x990d7
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14d9c
leaq 0x846f5(%rip), %rsi     # 0x990e0
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14db1
leaq 0x846e7(%rip), %rsi     # 0x990e9
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14da8
leaq 0x846db(%rip), %rsi     # 0x990f4
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14da8
leaq 0x846cf(%rip), %rsi     # 0x990ff
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14dbd
leaq 0x846be(%rip), %rsi     # 0x99105
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14dbd
leaq 0x85ecc(%rip), %rsi     # 0x9a92a
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14dc6
leaq 0x84696(%rip), %rsi     # 0x9910b
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14dc6
leaq 0x84686(%rip), %rsi     # 0x99112
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14dd2
leaq 0x84679(%rip), %rsi     # 0x9911c
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14dd2
leaq 0x8466c(%rip), %rsi     # 0x99126
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14dde
leaq 0x84663(%rip), %rsi     # 0x99134
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14dde
leaq 0x8465a(%rip), %rsi     # 0x99142
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14dea
leaq 0x8464e(%rip), %rsi     # 0x9914d
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14dea
leaq 0x84642(%rip), %rsi     # 0x99158
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14df6
leaq 0x84638(%rip), %rsi     # 0x99165
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14df6
leaq 0x8462e(%rip), %rsi     # 0x99172
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14e02
leaq 0x84623(%rip), %rsi     # 0x9917e
movq %r12, %rdi
callq 0x46c0
testl %eax, %eax
je 0x14e02
leaq 0x844e5(%rip), %rsi     # 0x99057
leaq 0x84611(%rip), %rdx     # 0x9918a
movl $0x1, %edi
movq %r12, %rcx
xorl %eax, %eax
callq 0x14378
jmp 0x14d3a
movl $0x0, 0x8(%rbx)
jmp 0x14c12
movl $0x2, 0x8(%rbx)
jmp 0x14c12
movl $0x3, 0x8(%rbx)
jmp 0x14c12
movl $0x14, 0x8(%rbx)
jmp 0x14c12
movl $0x4, 0x8(%rbx)
jmp 0x14c12
movl $0x7, 0x8(%rbx)
jmp 0x14c12
movl $0xb, 0x8(%rbx)
jmp 0x14c12
movl $0x1b, 0x8(%rbx)
jmp 0x14c12
movl $0x8, 0x8(%rbx)
jmp 0x14c12
movl $0xc, 0x8(%rbx)
jmp 0x14c12
movl $0x11, 0x8(%rbx)
jmp 0x14c12
movl $0x10, 0x8(%rbx)
jmp 0x14c12
movl $0x18, 0x8(%rbx)
jmp 0x14c12
movl $0x19, 0x8(%rbx)
jmp 0x14c12
movl $0x1a, 0x8(%rbx)
movq %r15, %rdi
callq 0x47e0
movl %eax, 0x10(%rbx)
movq $0x0, 0x18(%rbx)
movq (%r14), %rax
testq %rax, %rax
je 0x14c3f
movq %rax, %rcx
movq 0x18(%rax), %rax
testq %rax, %rax
jne 0x14c2d
movq %rbx, 0x18(%rcx)
jmp 0x14c42
movq %rbx, (%r14)
xorl %ebp, %ebp
jmp 0x14d4a
movl $0x6a, 0x8(%rbx)
movl $0x0, 0x10(%rbx)
jmp 0x14c1d
movl $0x6a, 0x8(%rbx)
movl $0x1, 0x10(%rbx)
jmp 0x14c1d
movl $0x6a, 0x8(%rbx)
movl $0x2, 0x10(%rbx)
jmp 0x14c1d
movl $0x6a, 0x8(%rbx)
movl $0x3, 0x10(%rbx)
jmp 0x14c1d
movl $0x9, 0x8(%rbx)
jmp 0x14c99
movl $0x6, 0x8(%rbx)
movq %r15, 0x10(%rbx)
jmp 0x14c1d
movl $0xa, 0x8(%rbx)
jmp 0x14c12
movl $0x65, 0x8(%rbx)
jmp 0x14c12
movl $0x67, 0x8(%rbx)
leaq 0x8(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x46d0
movl %eax, 0x10(%rbx)
movq (%r12), %rcx
movzbl (%rcx), %ecx
leal -0x47(%rcx), %edx
cmpl $0x26, %edx
ja 0x14d15
movabsq $0x100000001, %rsi      # imm = 0x100000001
btq %rdx, %rsi
jb 0x14d62
movabsq $0x1000000010, %rax     # imm = 0x1000000010
btq %rdx, %rax
jb 0x14d6c
movabsq $0x4000000040, %rax     # imm = 0x4000000040
btq %rdx, %rax
jb 0x14d68
testl %ecx, %ecx
je 0x14c1d
movsbl %cl, %ecx
leaq 0x84330(%rip), %rsi     # 0x99057
leaq 0x84335(%rip), %rdx     # 0x99063
movl $0x1, %edi
xorl %eax, %eax
callq 0x14378
movq (%rbx), %rdi
callq 0x45c0
movq %rbx, %rdi
callq 0x45c0
movl %ebp, %eax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movl $0x12, 0x8(%rbx)
jmp 0x14d7c
shll $0xa, %eax
movl %eax, 0x10(%rbx)
shll $0xa, 0x10(%rbx)
shll $0xa, 0x10(%rbx)
jmp 0x14c1d
movl $0x13, 0x8(%rbx)
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x46d0
movl %eax, 0x10(%rbx)
jmp 0x14c1d
movl $0x1, 0x8(%rbx)
jmp 0x14c99
movl $0x15, 0x8(%rbx)
jmp 0x14c12
movl $0x68, 0x8(%rbx)
jmp 0x14d7c
movl $0x16, 0x8(%rbx)
jmp 0x14c12
movl $0x64, 0x8(%rbx)
jmp 0x14d7c
movl $0x69, 0x8(%rbx)
jmp 0x14c99
movl $0x3e9, 0x8(%rbx)       # imm = 0x3E9
jmp 0x14c99
movl $0x3eb, 0x8(%rbx)       # imm = 0x3EB
jmp 0x14c99
movl $0x3ea, 0x8(%rbx)       # imm = 0x3EA
jmp 0x14c60
movl $0x3e8, 0x8(%rbx)       # imm = 0x3E8
jmp 0x14c60
movl $0x3ec, 0x8(%rbx)       # imm = 0x3EC
jmp 0x14c60