// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x1b1a3
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1bf69
movl $0x20, %edi
callq 0x4650
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x1b1c3
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1bf69
movq -0x18(%rbp), %rdi
callq 0x4920
movq -0x20(%rbp), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x1b1ee
movq -0x20(%rbp), %rdi
callq 0x45a0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1bf69
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movl $0x3d, %esi
callq 0x4170
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
jne 0x1b216
leaq 0xd7172(%rip), %rax     # 0xf2382
movq %rax, -0x30(%rbp)
jmp 0x1b228
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x30(%rbp)
movb $0x0, (%rax)
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4f1b(%rip), %rsi     # 0xf0151
callq 0x4690
cmpl $0x0, %eax
je 0x1b258
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4f0d(%rip), %rsi     # 0xf015b
callq 0x4690
cmpl $0x0, %eax
jne 0x1b27a
movq -0x20(%rbp), %rax
movl $0x0, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bf0f
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4edd(%rip), %rsi     # 0xf0165
callq 0x4690
cmpl $0x0, %eax
je 0x1b2aa
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4ecf(%rip), %rsi     # 0xf016f
callq 0x4690
cmpl $0x0, %eax
jne 0x1b2cc
movq -0x20(%rbp), %rax
movl $0x2, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bf0d
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4e9f(%rip), %rsi     # 0xf0179
callq 0x4690
cmpl $0x0, %eax
je 0x1b2fc
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4e96(%rip), %rsi     # 0xf0188
callq 0x4690
cmpl $0x0, %eax
jne 0x1b31e
movq -0x20(%rbp), %rax
movl $0x3, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bf0b
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4e6b(%rip), %rsi     # 0xf0197
callq 0x4690
cmpl $0x0, %eax
je 0x1b34e
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4e63(%rip), %rsi     # 0xf01a7
callq 0x4690
cmpl $0x0, %eax
jne 0x1b370
movq -0x20(%rbp), %rax
movl $0x14, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bf09
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4e39(%rip), %rsi     # 0xf01b7
callq 0x4690
cmpl $0x0, %eax
je 0x1b3a0
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4e36(%rip), %rsi     # 0xf01cc
callq 0x4690
cmpl $0x0, %eax
jne 0x1b3c2
movq -0x20(%rbp), %rax
movl $0x4, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bf07
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4e11(%rip), %rsi     # 0xf01e1
callq 0x4690
cmpl $0x0, %eax
je 0x1b3f2
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4e03(%rip), %rsi     # 0xf01eb
callq 0x4690
cmpl $0x0, %eax
jne 0x1b414
movq -0x20(%rbp), %rax
movl $0x7, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bf05
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4dd3(%rip), %rsi     # 0xf01f5
callq 0x4690
cmpl $0x0, %eax
je 0x1b444
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4dc2(%rip), %rsi     # 0xf01fc
callq 0x4690
cmpl $0x0, %eax
jne 0x1b466
movq -0x20(%rbp), %rax
movl $0xb, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bf03
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4d8f(%rip), %rsi     # 0xf0203
callq 0x4690
cmpl $0x0, %eax
je 0x1b496
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4d81(%rip), %rsi     # 0xf020d
callq 0x4690
cmpl $0x0, %eax
jne 0x1b4b8
movq -0x20(%rbp), %rax
movl $0x1b, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bf01
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4d51(%rip), %rsi     # 0xf0217
callq 0x4690
cmpl $0x0, %eax
je 0x1b4e8
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4d44(%rip), %rsi     # 0xf0222
callq 0x4690
cmpl $0x0, %eax
jne 0x1b50a
movq -0x20(%rbp), %rax
movl $0x8, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1beff
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4d15(%rip), %rsi     # 0xf022d
callq 0x4690
cmpl $0x0, %eax
je 0x1b53a
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4d07(%rip), %rsi     # 0xf0237
callq 0x4690
cmpl $0x0, %eax
jne 0x1b55c
movq -0x20(%rbp), %rax
movl $0xc, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1befd
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4cd7(%rip), %rsi     # 0xf0241
callq 0x4690
cmpl $0x0, %eax
je 0x1b58c
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4cc8(%rip), %rsi     # 0xf024a
callq 0x4690
cmpl $0x0, %eax
jne 0x1b5ae
movq -0x20(%rbp), %rax
movl $0x11, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1befb
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4c97(%rip), %rsi     # 0xf0253
callq 0x4690
cmpl $0x0, %eax
je 0x1b5de
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4c88(%rip), %rsi     # 0xf025c
callq 0x4690
cmpl $0x0, %eax
jne 0x1b600
movq -0x20(%rbp), %rax
movl $0x10, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bef9
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4c57(%rip), %rsi     # 0xf0265
callq 0x4690
cmpl $0x0, %eax
je 0x1b630
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4c47(%rip), %rsi     # 0xf026d
callq 0x4690
cmpl $0x0, %eax
jne 0x1b652
movq -0x20(%rbp), %rax
movl $0x18, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bef7
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4c15(%rip), %rsi     # 0xf0275
callq 0x4690
cmpl $0x0, %eax
je 0x1b682
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4c05(%rip), %rsi     # 0xf027d
callq 0x4690
cmpl $0x0, %eax
jne 0x1b6a4
movq -0x20(%rbp), %rax
movl $0x19, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bef5
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4bd3(%rip), %rsi     # 0xf0285
callq 0x4690
cmpl $0x0, %eax
je 0x1b6d4
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4bc5(%rip), %rsi     # 0xf028f
callq 0x4690
cmpl $0x0, %eax
jne 0x1b6f6
movq -0x20(%rbp), %rax
movl $0x1a, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bef3
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4b95(%rip), %rsi     # 0xf0299
callq 0x4690
cmpl $0x0, %eax
je 0x1b726
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4b82(%rip), %rsi     # 0xf029e
callq 0x4690
cmpl $0x0, %eax
jne 0x1b741
movq -0x20(%rbp), %rax
movl $0x6a, 0x8(%rax)
movq -0x20(%rbp), %rax
movl $0x0, 0x10(%rax)
jmp 0x1bef1
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4b54(%rip), %rsi     # 0xf02a3
callq 0x4690
cmpl $0x0, %eax
je 0x1b771
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4b43(%rip), %rsi     # 0xf02aa
callq 0x4690
cmpl $0x0, %eax
jne 0x1b78c
movq -0x20(%rbp), %rax
movl $0x6a, 0x8(%rax)
movq -0x20(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0x1beef
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4b17(%rip), %rsi     # 0xf02b1
callq 0x4690
cmpl $0x0, %eax
je 0x1b7bc
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4b05(%rip), %rsi     # 0xf02b7
callq 0x4690
cmpl $0x0, %eax
jne 0x1b7d7
movq -0x20(%rbp), %rax
movl $0x6a, 0x8(%rax)
movq -0x20(%rbp), %rax
movl $0x2, 0x10(%rax)
jmp 0x1beed
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4ad8(%rip), %rsi     # 0xf02bd
callq 0x4690
cmpl $0x0, %eax
je 0x1b807
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4ac8(%rip), %rsi     # 0xf02c5
callq 0x4690
cmpl $0x0, %eax
jne 0x1b822
movq -0x20(%rbp), %rax
movl $0x6a, 0x8(%rax)
movq -0x20(%rbp), %rax
movl $0x3, 0x10(%rax)
jmp 0x1beeb
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xda6cf(%rip), %rsi     # 0xf5eff
callq 0x4690
cmpl $0x0, %eax
je 0x1b852
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4a85(%rip), %rsi     # 0xf02cd
callq 0x4690
cmpl $0x0, %eax
jne 0x1b86e
movq -0x20(%rbp), %rax
movl $0x9, 0x8(%rax)
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0x1bee9
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd1f65(%rip), %rsi     # 0xed7e1
callq 0x4690
cmpl $0x0, %eax
je 0x1b89e
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4a43(%rip), %rsi     # 0xf02d7
callq 0x4690
cmpl $0x0, %eax
jne 0x1b8ba
movq -0x20(%rbp), %rax
movl $0x6, 0x8(%rax)
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0x1bee7
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4a17(%rip), %rsi     # 0xf02df
callq 0x4690
cmpl $0x0, %eax
je 0x1b8ea
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4a13(%rip), %rsi     # 0xf02f3
callq 0x4690
cmpl $0x0, %eax
jne 0x1b90c
movq -0x20(%rbp), %rax
movl $0xa, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bee5
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd49ed(%rip), %rsi     # 0xf0307
callq 0x4690
cmpl $0x0, %eax
je 0x1b93c
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd49de(%rip), %rsi     # 0xf0310
callq 0x4690
cmpl $0x0, %eax
jne 0x1b95e
movq -0x20(%rbp), %rax
movl $0x65, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bee3
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd49ad(%rip), %rsi     # 0xf0319
callq 0x4690
cmpl $0x0, %eax
je 0x1b992
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd49a0(%rip), %rsi     # 0xf0324
callq 0x4690
cmpl $0x0, %eax
jne 0x1ba73
movq -0x20(%rbp), %rax
movl $0x67, 0x8(%rax)
movq -0x30(%rbp), %rdi
leaq -0x38(%rbp), %rsi
xorl %edx, %edx
callq 0x46a0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
movq -0x38(%rbp), %rax
movsbl (%rax), %eax
movl %eax, -0x3c(%rbp)
testl %eax, %eax
je 0x1ba2a
jmp 0x1b9c5
movl -0x3c(%rbp), %eax
subl $0x47, %eax
je 0x1ba01
jmp 0x1b9cf
movl -0x3c(%rbp), %eax
subl $0x4b, %eax
je 0x1ba1b
jmp 0x1b9d9
movl -0x3c(%rbp), %eax
subl $0x4d, %eax
je 0x1ba0e
jmp 0x1b9e3
movl -0x3c(%rbp), %eax
subl $0x67, %eax
je 0x1ba01
jmp 0x1b9ed
movl -0x3c(%rbp), %eax
subl $0x6b, %eax
je 0x1ba1b
jmp 0x1b9f7
movl -0x3c(%rbp), %eax
subl $0x6d, %eax
je 0x1ba0e
jmp 0x1ba2c
movq -0x20(%rbp), %rax
movl 0x10(%rax), %ecx
shll $0xa, %ecx
movl %ecx, 0x10(%rax)
movq -0x20(%rbp), %rax
movl 0x10(%rax), %ecx
shll $0xa, %ecx
movl %ecx, 0x10(%rax)
movq -0x20(%rbp), %rax
movl 0x10(%rax), %ecx
shll $0xa, %ecx
movl %ecx, 0x10(%rax)
jmp 0x1ba6e
jmp 0x1ba6e
movq -0x38(%rbp), %rax
movsbl (%rax), %ecx
movl $0x1, %edi
leaq 0xd48f0(%rip), %rsi     # 0xf032f
leaq 0xd48f5(%rip), %rdx     # 0xf033b
movb $0x0, %al
callq 0x1b030
movq -0x20(%rbp), %rax
movq (%rax), %rdi
callq 0x45a0
movq -0x20(%rbp), %rdi
callq 0x45a0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1bf69
jmp 0x1bee1
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd48de(%rip), %rsi     # 0xf035f
callq 0x4690
cmpl $0x0, %eax
je 0x1baa3
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd48d6(%rip), %rsi     # 0xf036f
callq 0x4690
cmpl $0x0, %eax
jne 0x1bacb
movq -0x20(%rbp), %rax
movl $0x12, 0x8(%rax)
movq -0x30(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x46a0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bedf
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd48a6(%rip), %rsi     # 0xf037f
callq 0x4690
cmpl $0x0, %eax
je 0x1bafb
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd489a(%rip), %rsi     # 0xf038b
callq 0x4690
cmpl $0x0, %eax
jne 0x1bb23
movq -0x20(%rbp), %rax
movl $0x13, 0x8(%rax)
movq -0x30(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x46a0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bedd
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4866(%rip), %rsi     # 0xf0397
callq 0x4690
cmpl $0x0, %eax
je 0x1bb53
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd485a(%rip), %rsi     # 0xf03a3
callq 0x4690
cmpl $0x0, %eax
jne 0x1bb6f
movq -0x20(%rbp), %rax
movl $0x1, 0x8(%rax)
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0x1bedb
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4832(%rip), %rsi     # 0xf03af
callq 0x4690
cmpl $0x0, %eax
je 0x1bb9f
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd481a(%rip), %rsi     # 0xf03af
callq 0x4690
cmpl $0x0, %eax
jne 0x1bbc1
movq -0x20(%rbp), %rax
movl $0x15, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bed9
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd47e9(%rip), %rsi     # 0xf03b8
callq 0x4690
cmpl $0x0, %eax
je 0x1bbf1
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd47d1(%rip), %rsi     # 0xf03b8
callq 0x4690
cmpl $0x0, %eax
jne 0x1bc13
movq -0x20(%rbp), %rax
movl $0x16, 0x8(%rax)
movq -0x30(%rbp), %rdi
callq 0x47c0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bed7
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd47a0(%rip), %rsi     # 0xf03c1
callq 0x4690
cmpl $0x0, %eax
je 0x1bc43
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4793(%rip), %rsi     # 0xf03cc
callq 0x4690
cmpl $0x0, %eax
jne 0x1bc6b
movq -0x20(%rbp), %rax
movl $0x68, 0x8(%rax)
movq -0x30(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x46a0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bed5
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd475e(%rip), %rsi     # 0xf03d7
callq 0x4690
cmpl $0x0, %eax
je 0x1bc9b
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd474c(%rip), %rsi     # 0xf03dd
callq 0x4690
cmpl $0x0, %eax
jne 0x1bcc3
movq -0x20(%rbp), %rax
movl $0x64, 0x8(%rax)
movq -0x30(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x46a0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x1bed3
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd6184(%rip), %rsi     # 0xf1e55
callq 0x4690
cmpl $0x0, %eax
je 0x1bcf3
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd46fa(%rip), %rsi     # 0xf03e3
callq 0x4690
cmpl $0x0, %eax
jne 0x1bd0f
movq -0x20(%rbp), %rax
movl $0x69, 0x8(%rax)
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0x1bed1
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd46cd(%rip), %rsi     # 0xf03ea
callq 0x4690
cmpl $0x0, %eax
je 0x1bd3f
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd46bf(%rip), %rsi     # 0xf03f4
callq 0x4690
cmpl $0x0, %eax
jne 0x1bd5b
movq -0x20(%rbp), %rax
movl $0x3e9, 0x8(%rax)       # imm = 0x3E9
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0x1becf
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4695(%rip), %rsi     # 0xf03fe
callq 0x4690
cmpl $0x0, %eax
je 0x1bd8b
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd468b(%rip), %rsi     # 0xf040c
callq 0x4690
cmpl $0x0, %eax
jne 0x1bda7
movq -0x20(%rbp), %rax
movl $0x3eb, 0x8(%rax)       # imm = 0x3EB
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0x1becd
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4665(%rip), %rsi     # 0xf041a
callq 0x4690
cmpl $0x0, %eax
je 0x1bdd7
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4658(%rip), %rsi     # 0xf0425
callq 0x4690
cmpl $0x0, %eax
jne 0x1bdf2
movq -0x20(%rbp), %rax
movl $0x3ea, 0x8(%rax)       # imm = 0x3EA
movq -0x20(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0x1becb
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4630(%rip), %rsi     # 0xf0430
callq 0x4690
cmpl $0x0, %eax
je 0x1be22
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd4625(%rip), %rsi     # 0xf043d
callq 0x4690
cmpl $0x0, %eax
jne 0x1be3d
movq -0x20(%rbp), %rax
movl $0x3e8, 0x8(%rax)       # imm = 0x3E8
movq -0x20(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0x1bec9
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd45ff(%rip), %rsi     # 0xf044a
callq 0x4690
cmpl $0x0, %eax
je 0x1be6d
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq 0xd45f3(%rip), %rsi     # 0xf0456
callq 0x4690
cmpl $0x0, %eax
jne 0x1be85
movq -0x20(%rbp), %rax
movl $0x3ec, 0x8(%rax)       # imm = 0x3EC
movq -0x20(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0x1bec7
movq -0x20(%rbp), %rax
movq (%rax), %rcx
movl $0x1, %edi
leaq 0xd4497(%rip), %rsi     # 0xf032f
leaq 0xd45c3(%rip), %rdx     # 0xf0462
movb $0x0, %al
callq 0x1b030
movq -0x20(%rbp), %rax
movq (%rax), %rdi
callq 0x45a0
movq -0x20(%rbp), %rdi
callq 0x45a0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1bf69
jmp 0x1bec9
jmp 0x1becb
jmp 0x1becd
jmp 0x1becf
jmp 0x1bed1
jmp 0x1bed3
jmp 0x1bed5
jmp 0x1bed7
jmp 0x1bed9
jmp 0x1bedb
jmp 0x1bedd
jmp 0x1bedf
jmp 0x1bee1
jmp 0x1bee3
jmp 0x1bee5
jmp 0x1bee7
jmp 0x1bee9
jmp 0x1beeb
jmp 0x1beed
jmp 0x1beef
jmp 0x1bef1
jmp 0x1bef3
jmp 0x1bef5
jmp 0x1bef7
jmp 0x1bef9
jmp 0x1befb
jmp 0x1befd
jmp 0x1beff
jmp 0x1bf01
jmp 0x1bf03
jmp 0x1bf05
jmp 0x1bf07
jmp 0x1bf09
jmp 0x1bf0b
jmp 0x1bf0d
jmp 0x1bf0f
movq -0x20(%rbp), %rax
movq $0x0, 0x18(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x1bf57
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x1bf49
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x28(%rbp)
jmp 0x1bf30
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x18(%rax)
jmp 0x1bf62
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)