// File: /workspace/github_c_makefile_star2_O0/samtools[P]htslib/sam.c
// Function: bam_sym_lookup
static int bam_sym_lookup(void *data, char *str, char **end,
                          hts_expr_val_t *res) {
    hb_pair *hb = (hb_pair *)data;
    const bam1_t *b = hb->b;

    res->is_str = 0;
    switch(*str) {
    case 'c':
        if (memcmp(str, "cigar", 5) == 0) {
            *end = str+5;
            res->is_str = 1;
            ks_clear(&res->s);
            uint32_t *cigar = bam_get_cigar(b);
            int i, n = b->core.n_cigar, r = 0;
            if (n) {
                for (i = 0; i < n; i++) {
                    r |= kputw (bam_cigar_oplen(cigar[i]), &res->s) < 0;
                    r |= kputc_(bam_cigar_opchr(cigar[i]), &res->s) < 0;
                }
                r |= kputs("", &res->s) < 0;
            } else {
                r |= kputs("*", &res->s) < 0;
            }
            return r ? -1 : 0;
        }
        break;

    case 'e':
        if (memcmp(str, "endpos", 6) == 0) {
            *end = str+6;
            res->d = bam_endpos(b);
            return 0;
        }
        break;

    case 'f':
        if (memcmp(str, "flag", 4) == 0) {
            str = *end = str+4;
            if (*str != '.') {
                res->d = b->core.flag;
                return 0;
            } else {
                str++;
                if (!memcmp(str, "paired", 6)) {
                    *end = str+6;
                    res->d = b->core.flag & BAM_FPAIRED;
                    return 0;
                } else if (!memcmp(str, "proper_pair", 11)) {
                    *end = str+11;
                    res->d = b->core.flag & BAM_FPROPER_PAIR;
                    return 0;
                } else if (!memcmp(str, "unmap", 5)) {
                    *end = str+5;
                    res->d = b->core.flag & BAM_FUNMAP;
                    return 0;
                } else if (!memcmp(str, "munmap", 6)) {
                    *end = str+6;
                    res->d = b->core.flag & BAM_FMUNMAP;
                    return 0;
                } else if (!memcmp(str, "reverse", 7)) {
                    *end = str+7;
                    res->d = b->core.flag & BAM_FREVERSE;
                    return 0;
                } else if (!memcmp(str, "mreverse", 8)) {
                    *end = str+8;
                    res->d = b->core.flag & BAM_FMREVERSE;
                    return 0;
                } else if (!memcmp(str, "read1", 5)) {
                    *end = str+5;
                    res->d = b->core.flag & BAM_FREAD1;
                    return 0;
                } else if (!memcmp(str, "read2", 5)) {
                    *end = str+5;
                    res->d = b->core.flag & BAM_FREAD2;
                    return 0;
                } else if (!memcmp(str, "secondary", 9)) {
                    *end = str+9;
                    res->d = b->core.flag & BAM_FSECONDARY;
                    return 0;
                } else if (!memcmp(str, "qcfail", 6)) {
                    *end = str+6;
                    res->d = b->core.flag & BAM_FQCFAIL;
                    return 0;
                } else if (!memcmp(str, "dup", 3)) {
                    *end = str+3;
                    res->d = b->core.flag & BAM_FDUP;
                    return 0;
                } else if (!memcmp(str, "supplementary", 13)) {
                    *end = str+13;
                    res->d = b->core.flag & BAM_FSUPPLEMENTARY;
                    return 0;
                } else {
                    hts_log_error("Unrecognised flag string");
                    return -1;
                }
            }
        }
        break;

    case 'h':
        if (memcmp(str, "hclen", 5) == 0) {
            int hclen = 0;
            uint32_t *cigar = bam_get_cigar(b);
            uint32_t ncigar = b->core.n_cigar;

            // left
            if (ncigar > 0 && bam_cigar_op(cigar[0]) == BAM_CHARD_CLIP)
                hclen = bam_cigar_oplen(cigar[0]);

            // right
            if (ncigar > 1 && bam_cigar_op(cigar[ncigar-1]) == BAM_CHARD_CLIP)
                hclen += bam_cigar_oplen(cigar[ncigar-1]);

            *end = str+5;
            res->d = hclen;
            return 0;
        }
        break;

    case 'l':
        if (memcmp(str, "library", 7) == 0) {
            *end = str+7;
            res->is_str = 1;
            const char *lib = bam_get_library(hb->h, b);
            kputs(lib ? lib : "", ks_clear(&res->s));
            return 0;
        }
        break;

    case 'm':
        if (memcmp(str, "mapq", 4) == 0) {
            *end = str+4;
            res->d = b->core.qual;
            return 0;
        } else if (memcmp(str, "mpos", 4) == 0) {
            *end = str+4;
            res->d = b->core.mpos+1;
            return 0;
        } else if (memcmp(str, "mrname", 6) == 0) {
            *end = str+6;
            res->is_str = 1;
            const char *rn = sam_hdr_tid2name(hb->h, b->core.mtid);
            kputs(rn ? rn : "*", ks_clear(&res->s));
            return 0;
        } else if (memcmp(str, "mrefid", 6) == 0) {
            *end = str+6;
            res->d = b->core.mtid;
            return 0;
        }
        break;

    case 'n':
        if (memcmp(str, "ncigar", 6) == 0) {
            *end = str+6;
            res->d = b->core.n_cigar;
            return 0;
        }
        break;

    case 'p':
        if (memcmp(str, "pos", 3) == 0) {
            *end = str+3;
            res->d = b->core.pos+1;
            return 0;
        } else if (memcmp(str, "pnext", 5) == 0) {
            *end = str+5;
            res->d = b->core.mpos+1;
            return 0;
        }
        break;

    case 'q':
        if (memcmp(str, "qlen", 4) == 0) {
            *end = str+4;
            res->d = bam_cigar2qlen(b->core.n_cigar, bam_get_cigar(b));
            return 0;
        } else if (memcmp(str, "qname", 5) == 0) {
            *end = str+5;
            res->is_str = 1;
            kputs(bam_get_qname(b), ks_clear(&res->s));
            return 0;
        } else if (memcmp(str, "qual", 4) == 0) {
            *end = str+4;
            ks_clear(&res->s);
            if (ks_resize(&res->s, b->core.l_qseq+1) < 0)
                return -1;
            memcpy(res->s.s, bam_get_qual(b), b->core.l_qseq);
            res->s.l = b->core.l_qseq;
            res->is_str = 1;
            return 0;
        }
        break;

    case 'r':
        if (memcmp(str, "rlen", 4) == 0) {
            *end = str+4;
            res->d = bam_cigar2rlen(b->core.n_cigar, bam_get_cigar(b));
            return 0;
        } else if (memcmp(str, "rname", 5) == 0) {
            *end = str+5;
            res->is_str = 1;
            const char *rn = sam_hdr_tid2name(hb->h, b->core.tid);
            kputs(rn ? rn : "*", ks_clear(&res->s));
            return 0;
        } else if (memcmp(str, "rnext", 5) == 0) {
            *end = str+5;
            res->is_str = 1;
            const char *rn = sam_hdr_tid2name(hb->h, b->core.mtid);
            kputs(rn ? rn : "*", ks_clear(&res->s));
            return 0;
        } else if (memcmp(str, "refid", 5) == 0) {
            *end = str+5;
            res->d = b->core.tid;
            return 0;
        }
        break;

    case 's':
        if (memcmp(str, "seq", 3) == 0) {
            *end = str+3;
            ks_clear(&res->s);
            if (ks_resize(&res->s, b->core.l_qseq+1) < 0)
                return -1;
            nibble2base(bam_get_seq(b), res->s.s, b->core.l_qseq);
            res->s.s[b->core.l_qseq] = 0;
            res->s.l = b->core.l_qseq;
            res->is_str = 1;
            return 0;
        } else if (memcmp(str, "sclen", 5) == 0) {
            int sclen = 0;
            uint32_t *cigar = bam_get_cigar(b);
            int ncigar = b->core.n_cigar;
            int left = 0;

            // left
            if (ncigar > 0
                && bam_cigar_op(cigar[0]) == BAM_CSOFT_CLIP)
                left = 0, sclen += bam_cigar_oplen(cigar[0]);
            else if (ncigar > 1
                     && bam_cigar_op(cigar[0]) == BAM_CHARD_CLIP
                     && bam_cigar_op(cigar[1]) == BAM_CSOFT_CLIP)
                left = 1, sclen += bam_cigar_oplen(cigar[1]);

            // right
            if (ncigar-1 > left
                && bam_cigar_op(cigar[ncigar-1]) == BAM_CSOFT_CLIP)
                sclen += bam_cigar_oplen(cigar[ncigar-1]);
            else if (ncigar-2 > left
                     && bam_cigar_op(cigar[ncigar-1]) == BAM_CHARD_CLIP
                     && bam_cigar_op(cigar[ncigar-2]) == BAM_CSOFT_CLIP)
                sclen += bam_cigar_oplen(cigar[ncigar-2]);

            *end = str+5;
            res->d = sclen;
            return 0;
        }
        break;

    case 't':
        if (memcmp(str, "tlen", 4) == 0) {
            *end = str+4;
            res->d = b->core.isize;
            return 0;
        }
        break;

    case '[':
        if (*str == '[' && str[1] && str[2] && str[3] == ']') {
            /* aux tags */
            *end = str+4;

            uint8_t *aux = bam_aux_get(b, str+1);
            if (aux) {
                // we define the truth of a tag to be its presence, even if 0.
                res->is_true = 1;
                switch (*aux) {
                case 'Z':
                case 'H':
                    res->is_str = 1;
                    kputs((char *)aux+1, ks_clear(&res->s));
                    break;

                case 'A':
                    res->is_str = 1;
                    kputsn((char *)aux+1, 1, ks_clear(&res->s));
                    break;

                case 'i': case 'I':
                case 's': case 'S':
                case 'c': case 'C':
                    res->is_str = 0;
                    res->d = bam_aux2i(aux);
                    break;

                case 'f':
                case 'd':
                    res->is_str = 0;
                    res->d = bam_aux2f(aux);
                    break;

                default:
                    hts_log_error("Aux type '%c not yet supported by filters",
                                  *aux);
                    return -1;
                }
                return 0;

            } else {
                // hence absent tags are always false (and strings)
                res->is_str = 1;
                res->s.l = 0;
                res->d = 0;
                res->is_true = 0;
                return 0;
            }
        }
        break;
    }

    // All successful matches in switch should return 0.
    // So if we didn't match, it's a parse error.
    return -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rax
movb $0x0, (%rax)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
addl $-0x5b, %eax
movl %eax, %ecx
movq %rcx, -0xa8(%rbp)
subl $0x19, %eax
ja 0x36cd8
movq -0xa8(%rbp), %rax
leaq 0xbb830(%rip), %rcx     # 0xf12b0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x18(%rbp), %rdi
leaq 0xbca37(%rip), %rsi     # 0xf24cb
movl $0x5, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x35be4
movq -0x18(%rbp), %rcx
addq $0x5, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
movb $0x1, (%rax)
movq -0x28(%rbp), %rdi
addq $0x8, %rdi
callq 0x454b0
movq -0x38(%rbp), %rax
movq 0x38(%rax), %rax
movq -0x38(%rbp), %rcx
movzwl 0x12(%rcx), %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rax
movl 0x14(%rax), %eax
movl %eax, -0x48(%rbp)
movl $0x0, -0x4c(%rbp)
cmpl $0x0, -0x48(%rbp)
je 0x35ba7
movl $0x0, -0x44(%rbp)
movl -0x44(%rbp), %eax
cmpl -0x48(%rbp), %eax
jge 0x35b80
movq -0x40(%rbp), %rax
movslq -0x44(%rbp), %rcx
movl (%rax,%rcx,4), %edi
shrl $0x4, %edi
movq -0x28(%rbp), %rsi
addq $0x8, %rsi
callq 0x39000
cmpl $0x0, %eax
setl %al
andb $0x1, %al
movzbl %al, %eax
orl -0x4c(%rbp), %eax
movl %eax, -0x4c(%rbp)
movq -0x40(%rbp), %rax
movslq -0x44(%rbp), %rcx
movl (%rax,%rcx,4), %eax
andl $0xf, %eax
movl %eax, %eax
movl %eax, %ecx
leaq 0xbc9bb(%rip), %rax     # 0xf250e
movsbl (%rax,%rcx), %edi
movq -0x28(%rbp), %rsi
addq $0x8, %rsi
callq 0x3ea70
cmpl $0x0, %eax
setl %al
andb $0x1, %al
movzbl %al, %eax
orl -0x4c(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0x35b06
movq -0x28(%rbp), %rsi
addq $0x8, %rsi
leaq 0xba3e6(%rip), %rdi     # 0xeff75
callq 0x38fa0
cmpl $0x0, %eax
setl %al
andb $0x1, %al
movzbl %al, %eax
orl -0x4c(%rbp), %eax
movl %eax, -0x4c(%rbp)
jmp 0x35bcc
movq -0x28(%rbp), %rsi
addq $0x8, %rsi
leaq 0xbd10d(%rip), %rdi     # 0xf2cc3
callq 0x38fa0
cmpl $0x0, %eax
setl %al
andb $0x1, %al
movzbl %al, %eax
orl -0x4c(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %edx
xorl %eax, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpl $0x0, %edx
cmovnel %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0x36cdf
jmp 0x36cd8
movq -0x18(%rbp), %rdi
leaq 0xbc92b(%rip), %rsi     # 0xf251f
movl $0x6, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x35c35
movq -0x18(%rbp), %rcx
addq $0x6, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rdi
callq 0x33a20
cvtsi2sd %rax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
jmp 0x36cd8
movq -0x18(%rbp), %rax
movl (%rax), %eax
subl $0x67616c66, %eax       # imm = 0x67616C66
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x36071
movq -0x18(%rbp), %rax
addq $0x4, %rax
movq -0x20(%rbp), %rcx
movq %rax, (%rcx)
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2e, %eax
je 0x35c94
movq -0x38(%rbp), %rax
movzwl 0x10(%rax), %eax
cvtsi2sd %eax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
leaq 0xbc87b(%rip), %rsi     # 0xf2526
movl $0x6, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x35ced
movq -0x18(%rbp), %rcx
addq $0x6, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movzwl 0x10(%rax), %eax
andl $0x1, %eax
cvtsi2sd %eax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbc835(%rip), %rsi     # 0xf252d
movl $0xb, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x35d3a
movq -0x18(%rbp), %rcx
addq $0xb, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movzwl 0x10(%rax), %eax
andl $0x2, %eax
cvtsi2sd %eax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbc7f5(%rip), %rsi     # 0xf253a
movl $0x5, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x35d87
movq -0x18(%rbp), %rcx
addq $0x5, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movzwl 0x10(%rax), %eax
andl $0x4, %eax
cvtsi2sd %eax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbc7a7(%rip), %rsi     # 0xf2539
movl $0x6, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x35dd4
movq -0x18(%rbp), %rcx
addq $0x6, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movzwl 0x10(%rax), %eax
andl $0x8, %eax
cvtsi2sd %eax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbc762(%rip), %rsi     # 0xf2541
movl $0x7, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x35e21
movq -0x18(%rbp), %rcx
addq $0x7, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movzwl 0x10(%rax), %eax
andl $0x10, %eax
cvtsi2sd %eax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rax
movq (%rax), %rax
movabsq $0x657372657665726d, %rcx # imm = 0x657372657665726D
subq %rcx, %rax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x35e73
movq -0x18(%rbp), %rcx
addq $0x8, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movzwl 0x10(%rax), %eax
andl $0x20, %eax
cvtsi2sd %eax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbbe94(%rip), %rsi     # 0xf1d12
movl $0x5, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x35ec0
movq -0x18(%rbp), %rcx
addq $0x5, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movzwl 0x10(%rax), %eax
andl $0x40, %eax
cvtsi2sd %eax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbc67e(%rip), %rsi     # 0xf2549
movl $0x5, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x35f0f
movq -0x18(%rbp), %rcx
addq $0x5, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movzwl 0x10(%rax), %eax
andl $0x80, %eax
cvtsi2sd %eax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbc635(%rip), %rsi     # 0xf254f
movl $0x9, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x35f5e
movq -0x18(%rbp), %rcx
addq $0x9, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movzwl 0x10(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cvtsi2sd %eax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbc5f0(%rip), %rsi     # 0xf2559
movl $0x6, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x35fad
movq -0x18(%rbp), %rcx
addq $0x6, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movzwl 0x10(%rax), %eax
andl $0x200, %eax            # imm = 0x200
cvtsi2sd %eax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbc5a8(%rip), %rsi     # 0xf2560
movl $0x3, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x35ffc
movq -0x18(%rbp), %rcx
addq $0x3, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movzwl 0x10(%rax), %eax
andl $0x400, %eax            # imm = 0x400
cvtsi2sd %eax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbc55d(%rip), %rsi     # 0xf2564
movl $0xd, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x3604b
movq -0x18(%rbp), %rcx
addq $0xd, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movzwl 0x10(%rax), %eax
andl $0x800, %eax            # imm = 0x800
cvtsi2sd %eax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movl $0x1, %edi
leaq 0xbc51b(%rip), %rsi     # 0xf2572
leaq 0xbc523(%rip), %rdx     # 0xf2581
movb $0x0, %al
callq 0x1b030
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x36cdf
jmp 0x36cd8
movq -0x18(%rbp), %rdi
leaq 0xbc519(%rip), %rsi     # 0xf259a
movl $0x5, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x3613d
movl $0x0, -0x50(%rbp)
movq -0x38(%rbp), %rax
movq 0x38(%rax), %rax
movq -0x38(%rbp), %rcx
movzwl 0x12(%rcx), %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x58(%rbp)
movq -0x38(%rbp), %rax
movl 0x14(%rax), %eax
movl %eax, -0x5c(%rbp)
cmpl $0x0, -0x5c(%rbp)
jbe 0x360df
movq -0x58(%rbp), %rax
movl (%rax), %eax
andl $0xf, %eax
cmpl $0x5, %eax
jne 0x360df
movq -0x58(%rbp), %rax
movl (%rax), %eax
shrl $0x4, %eax
movl %eax, -0x50(%rbp)
cmpl $0x1, -0x5c(%rbp)
jbe 0x36114
movq -0x58(%rbp), %rax
movl -0x5c(%rbp), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
movl (%rax,%rcx,4), %eax
andl $0xf, %eax
cmpl $0x5, %eax
jne 0x36114
movq -0x58(%rbp), %rax
movl -0x5c(%rbp), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
movl (%rax,%rcx,4), %eax
shrl $0x4, %eax
addl -0x50(%rbp), %eax
movl %eax, -0x50(%rbp)
movq -0x18(%rbp), %rcx
addq $0x5, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
cvtsi2sdl -0x50(%rbp), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
jmp 0x36cd8
movq -0x18(%rbp), %rdi
leaq 0xbc453(%rip), %rsi     # 0xf25a0
movl $0x7, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x361e4
movq -0x18(%rbp), %rcx
addq $0x7, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
movb $0x1, (%rax)
movq -0x30(%rbp), %rax
movq (%rax), %rdi
movq -0x38(%rbp), %rsi
callq 0x454d0
movq %rax, -0x68(%rbp)
cmpq $0x0, -0x68(%rbp)
je 0x3619e
movq -0x68(%rbp), %rax
movq %rax, -0xb0(%rbp)
jmp 0x361ae
leaq 0xb9dd0(%rip), %rax     # 0xeff75
movq %rax, -0xb0(%rbp)
jmp 0x361ae
movq -0xb0(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x28(%rbp), %rdi
addq $0x8, %rdi
callq 0x454b0
movq -0xb8(%rbp), %rdi
movq %rax, %rsi
callq 0x38fa0
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
jmp 0x36cd8
movq -0x18(%rbp), %rax
movl (%rax), %eax
subl $0x7170616d, %eax       # imm = 0x7170616D
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x3622f
movq -0x18(%rbp), %rcx
addq $0x4, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movzbl 0xe(%rax), %eax
cvtsi2sd %eax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rax
movl (%rax), %eax
subl $0x736f706d, %eax       # imm = 0x736F706D
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x3627a
movq -0x18(%rbp), %rcx
addq $0x4, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movq 0x20(%rax), %rax
addq $0x1, %rax
cvtsi2sd %rax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbc32d(%rip), %rsi     # 0xf25b2
movl $0x6, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x3631f
movq -0x18(%rbp), %rcx
addq $0x6, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
movb $0x1, (%rax)
movq -0x30(%rbp), %rax
movq (%rax), %rdi
movq -0x38(%rbp), %rax
movl 0x1c(%rax), %esi
callq 0xdda00
movq %rax, -0x70(%rbp)
cmpq $0x0, -0x70(%rbp)
je 0x362d9
movq -0x70(%rbp), %rax
movq %rax, -0xc0(%rbp)
jmp 0x362e9
leaq 0xbc9e3(%rip), %rax     # 0xf2cc3
movq %rax, -0xc0(%rbp)
jmp 0x362e9
movq -0xc0(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0x28(%rbp), %rdi
addq $0x8, %rdi
callq 0x454b0
movq -0xc8(%rbp), %rdi
movq %rax, %rsi
callq 0x38fa0
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbc28f(%rip), %rsi     # 0xf25b9
movl $0x6, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x36366
movq -0x18(%rbp), %rcx
addq $0x6, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
cvtsi2sdl 0x1c(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
jmp 0x36368
jmp 0x3636a
jmp 0x3636c
jmp 0x36cd8
movq -0x18(%rbp), %rdi
leaq 0xbc7fa(%rip), %rsi     # 0xf2b76
movl $0x6, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x363bb
movq -0x18(%rbp), %rcx
addq $0x6, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movl 0x14(%rax), %eax
cvtsi2sd %rax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
jmp 0x36cd8
movq -0x18(%rbp), %rdi
leaq 0xc1cfd(%rip), %rsi     # 0xf80c8
movl $0x3, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x3640e
movq -0x18(%rbp), %rcx
addq $0x3, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movq (%rax), %rax
addq $0x1, %rax
cvtsi2sd %rax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbc1a7(%rip), %rsi     # 0xf25c0
movl $0x5, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x3645d
movq -0x18(%rbp), %rcx
addq $0x5, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movq 0x20(%rax), %rax
addq $0x1, %rax
cvtsi2sd %rax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
jmp 0x3645f
jmp 0x36cd8
movq -0x18(%rbp), %rax
movl (%rax), %eax
subl $0x6e656c71, %eax       # imm = 0x6E656C71
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x364c4
movq -0x18(%rbp), %rcx
addq $0x4, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movl 0x14(%rax), %edi
movq -0x38(%rbp), %rax
movq 0x38(%rax), %rsi
movq -0x38(%rbp), %rax
movzwl 0x12(%rax), %eax
cltq
addq %rax, %rsi
callq 0x33940
cvtsi2sd %rax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbc0fc(%rip), %rsi     # 0xf25cb
movl $0x5, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x3652b
movq -0x18(%rbp), %rcx
addq $0x5, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
movb $0x1, (%rax)
movq -0x38(%rbp), %rax
movq 0x38(%rax), %rax
movq %rax, -0xd0(%rbp)
movq -0x28(%rbp), %rdi
addq $0x8, %rdi
callq 0x454b0
movq -0xd0(%rbp), %rdi
movq %rax, %rsi
callq 0x38fa0
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rax
movl (%rax), %eax
subl $0x6c617571, %eax       # imm = 0x6C617571
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x365f9
movq -0x18(%rbp), %rcx
addq $0x4, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rdi
addq $0x8, %rdi
callq 0x454b0
movq -0x28(%rbp), %rdi
addq $0x8, %rdi
movq -0x38(%rbp), %rax
movl 0x18(%rax), %eax
addl $0x1, %eax
movslq %eax, %rsi
callq 0x3f730
cmpl $0x0, %eax
jge 0x3658c
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x36cdf
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x38(%rbp), %rax
movq 0x38(%rax), %rsi
movq -0x38(%rbp), %rax
movl 0x14(%rax), %eax
shll $0x2, %eax
movl %eax, %eax
addq %rax, %rsi
movq -0x38(%rbp), %rax
movzwl 0x12(%rax), %eax
cltq
addq %rax, %rsi
movq -0x38(%rbp), %rax
movl 0x18(%rax), %eax
addl $0x1, %eax
sarl %eax
cltq
addq %rax, %rsi
movq -0x38(%rbp), %rax
movslq 0x18(%rax), %rdx
callq 0x43b0
movq -0x38(%rbp), %rax
movslq 0x18(%rax), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x28(%rbp), %rax
movb $0x1, (%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
jmp 0x365fb
jmp 0x365fd
jmp 0x36cd8
movq -0x18(%rbp), %rax
movl (%rax), %eax
subl $0x6e656c72, %eax       # imm = 0x6E656C72
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x36662
movq -0x18(%rbp), %rcx
addq $0x4, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
movl 0x14(%rax), %edi
movq -0x38(%rbp), %rax
movq 0x38(%rax), %rsi
movq -0x38(%rbp), %rax
movzwl 0x12(%rax), %eax
cltq
addq %rax, %rsi
callq 0x339b0
cvtsi2sd %rax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbbf46(%rip), %rsi     # 0xf25b3
movl $0x5, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x36707
movq -0x18(%rbp), %rcx
addq $0x5, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
movb $0x1, (%rax)
movq -0x30(%rbp), %rax
movq (%rax), %rdi
movq -0x38(%rbp), %rax
movl 0x8(%rax), %esi
callq 0xdda00
movq %rax, -0x78(%rbp)
cmpq $0x0, -0x78(%rbp)
je 0x366c1
movq -0x78(%rbp), %rax
movq %rax, -0xd8(%rbp)
jmp 0x366d1
leaq 0xbc5fb(%rip), %rax     # 0xf2cc3
movq %rax, -0xd8(%rbp)
jmp 0x366d1
movq -0xd8(%rbp), %rax
movq %rax, -0xe0(%rbp)
movq -0x28(%rbp), %rdi
addq $0x8, %rdi
callq 0x454b0
movq -0xe0(%rbp), %rdi
movq %rax, %rsi
callq 0x38fa0
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbbec9(%rip), %rsi     # 0xf25db
movl $0x5, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x367ac
movq -0x18(%rbp), %rcx
addq $0x5, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
movb $0x1, (%rax)
movq -0x30(%rbp), %rax
movq (%rax), %rdi
movq -0x38(%rbp), %rax
movl 0x1c(%rax), %esi
callq 0xdda00
movq %rax, -0x80(%rbp)
cmpq $0x0, -0x80(%rbp)
je 0x36766
movq -0x80(%rbp), %rax
movq %rax, -0xe8(%rbp)
jmp 0x36776
leaq 0xbc556(%rip), %rax     # 0xf2cc3
movq %rax, -0xe8(%rbp)
jmp 0x36776
movq -0xe8(%rbp), %rax
movq %rax, -0xf0(%rbp)
movq -0x28(%rbp), %rdi
addq $0x8, %rdi
callq 0x454b0
movq -0xf0(%rbp), %rdi
movq %rax, %rsi
callq 0x38fa0
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbbe03(%rip), %rsi     # 0xf25ba
movl $0x5, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x367f3
movq -0x18(%rbp), %rcx
addq $0x5, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
cvtsi2sdl 0x8(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
jmp 0x367f5
jmp 0x367f7
jmp 0x367f9
jmp 0x36cd8
movq -0x18(%rbp), %rdi
leaq 0xbd2b6(%rip), %rsi     # 0xf3abf
movl $0x3, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x368d2
movq -0x18(%rbp), %rcx
addq $0x3, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rdi
addq $0x8, %rdi
callq 0x454b0
movq -0x28(%rbp), %rdi
addq $0x8, %rdi
movq -0x38(%rbp), %rax
movl 0x18(%rax), %eax
addl $0x1, %eax
movslq %eax, %rsi
callq 0x3f730
cmpl $0x0, %eax
jge 0x36863
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x36cdf
movq -0x38(%rbp), %rax
movq 0x38(%rax), %rdi
movq -0x38(%rbp), %rax
movl 0x14(%rax), %eax
shll $0x2, %eax
movl %eax, %eax
addq %rax, %rdi
movq -0x38(%rbp), %rax
movzwl 0x12(%rax), %eax
cltq
addq %rax, %rdi
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rsi
movq -0x38(%rbp), %rax
movl 0x18(%rax), %edx
callq 0x455c0
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x38(%rbp), %rcx
movslq 0x18(%rcx), %rcx
movb $0x0, (%rax,%rcx)
movq -0x38(%rbp), %rax
movslq 0x18(%rax), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x28(%rbp), %rax
movb $0x1, (%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x18(%rbp), %rdi
leaq 0xbbd04(%rip), %rsi     # 0xf25e1
movl $0x5, %edx
callq 0x41c0
cmpl $0x0, %eax
jne 0x36ab3
movl $0x0, -0x84(%rbp)
movq -0x38(%rbp), %rax
movq 0x38(%rax), %rax
movq -0x38(%rbp), %rcx
movzwl 0x12(%rcx), %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x90(%rbp)
movq -0x38(%rbp), %rax
movl 0x14(%rax), %eax
movl %eax, -0x94(%rbp)
movl $0x0, -0x98(%rbp)
cmpl $0x0, -0x94(%rbp)
jle 0x3696c
movq -0x90(%rbp), %rax
movl (%rax), %eax
andl $0xf, %eax
cmpl $0x4, %eax
jne 0x3696c
movl $0x0, -0x98(%rbp)
movq -0x90(%rbp), %rax
movl (%rax), %eax
shrl $0x4, %eax
addl -0x84(%rbp), %eax
movl %eax, -0x84(%rbp)
jmp 0x369bd
cmpl $0x1, -0x94(%rbp)
jle 0x369bb
movq -0x90(%rbp), %rax
movl (%rax), %eax
andl $0xf, %eax
cmpl $0x5, %eax
jne 0x369bb
movq -0x90(%rbp), %rax
movl 0x4(%rax), %eax
andl $0xf, %eax
cmpl $0x4, %eax
jne 0x369bb
movl $0x1, -0x98(%rbp)
movq -0x90(%rbp), %rax
movl 0x4(%rax), %eax
shrl $0x4, %eax
addl -0x84(%rbp), %eax
movl %eax, -0x84(%rbp)
jmp 0x369bd
movl -0x94(%rbp), %eax
subl $0x1, %eax
cmpl -0x98(%rbp), %eax
jle 0x36a13
movq -0x90(%rbp), %rax
movl -0x94(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
andl $0xf, %eax
cmpl $0x4, %eax
jne 0x36a13
movq -0x90(%rbp), %rax
movl -0x94(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
shrl $0x4, %eax
addl -0x84(%rbp), %eax
movl %eax, -0x84(%rbp)
jmp 0x36a87
movl -0x94(%rbp), %eax
subl $0x2, %eax
cmpl -0x98(%rbp), %eax
jle 0x36a85
movq -0x90(%rbp), %rax
movl -0x94(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
andl $0xf, %eax
cmpl $0x5, %eax
jne 0x36a85
movq -0x90(%rbp), %rax
movl -0x94(%rbp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
andl $0xf, %eax
cmpl $0x4, %eax
jne 0x36a85
movq -0x90(%rbp), %rax
movl -0x94(%rbp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
shrl $0x4, %eax
addl -0x84(%rbp), %eax
movl %eax, -0x84(%rbp)
jmp 0x36a87
movq -0x18(%rbp), %rcx
addq $0x5, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
cvtsi2sdl -0x84(%rbp), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
jmp 0x36ab5
jmp 0x36cd8
movq -0x18(%rbp), %rax
movl (%rax), %eax
subl $0x6e656c74, %eax       # imm = 0x6E656C74
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x36afe
movq -0x18(%rbp), %rcx
addq $0x4, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
cvtsi2sdq 0x28(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
jmp 0x36cd8
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5b, %eax
jne 0x36cd6
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
je 0x36cd6
movq -0x18(%rbp), %rax
movsbl 0x2(%rax), %eax
cmpl $0x0, %eax
je 0x36cd6
movq -0x18(%rbp), %rax
movsbl 0x3(%rax), %eax
cmpl $0x5d, %eax
jne 0x36cd6
movq -0x18(%rbp), %rcx
addq $0x4, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rdi
movq -0x18(%rbp), %rsi
addq $0x1, %rsi
callq 0x3e760
movq %rax, -0xa0(%rbp)
cmpq $0x0, -0xa0(%rbp)
je 0x36ca6
movq -0x28(%rbp), %rax
movb $0x1, 0x1(%rax)
movq -0xa0(%rbp), %rax
movzbl (%rax), %eax
addl $-0x41, %eax
movl %eax, %ecx
movq %rcx, -0xf8(%rbp)
subl $0x32, %eax
ja 0x36c70
movq -0xf8(%rbp), %rax
leaq 0xba768(%rip), %rcx     # 0xf1318
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x28(%rbp), %rax
movb $0x1, (%rax)
movq -0xa0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x100(%rbp)
movq -0x28(%rbp), %rdi
addq $0x8, %rdi
callq 0x454b0
movq -0x100(%rbp), %rdi
movq %rax, %rsi
callq 0x38fa0
jmp 0x36c9d
movq -0x28(%rbp), %rax
movb $0x1, (%rax)
movq -0xa0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x108(%rbp)
movq -0x28(%rbp), %rdi
addq $0x8, %rdi
callq 0x454b0
movq -0x108(%rbp), %rdi
movq %rax, %rdx
movl $0x1, %esi
callq 0x38ef0
jmp 0x36c9d
movq -0x28(%rbp), %rax
movb $0x0, (%rax)
movq -0xa0(%rbp), %rdi
callq 0x419b0
cvtsi2sd %rax, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
jmp 0x36c9d
movq -0x28(%rbp), %rax
movb $0x0, (%rax)
movq -0xa0(%rbp), %rdi
callq 0x41af0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
jmp 0x36c9d
movq -0xa0(%rbp), %rax
movzbl (%rax), %ecx
movl $0x1, %edi
leaq 0xbb8ec(%rip), %rsi     # 0xf2572
leaq 0xbb95f(%rip), %rdx     # 0xf25ec
movb $0x0, %al
callq 0x1b030
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x36cdf
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
movq -0x28(%rbp), %rax
movb $0x1, (%rax)
movq -0x28(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x28(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x20(%rax)
movq -0x28(%rbp), %rax
movb $0x0, 0x1(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x36cdf
jmp 0x36cd8
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl -0x4(%rbp), %eax
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
nopl (%rax,%rax)