// File: /workspace/github_c_makefile_star2_O1/samtools[P]htslib/vcf.c
// Function: vcf_hdr_read
bcf_hdr_t *vcf_hdr_read(htsFile *fp)
{
    kstring_t txt, *s = &fp->line;
    int ret;
    bcf_hdr_t *h;
    tbx_t *idx = NULL;
    const char **names = NULL;
    h = bcf_hdr_init("r");
    if (!h) {
        hts_log_error("Failed to allocate bcf header");
        return NULL;
    }
    txt.l = txt.m = 0; txt.s = 0;
    while ((ret = hts_getline(fp, KS_SEP_LINE, s)) >= 0) {
        int e = 0;
        if (s->l == 0) continue;
        if (s->s[0] != '#') {
            hts_log_error("No sample line");
            goto error;
        }
        if (s->s[1] != '#' && fp->fn_aux) { // insert contigs here
            kstring_t tmp = { 0, 0, NULL };
            hFILE *f = hopen(fp->fn_aux, "r");
            if (f == NULL) {
                hts_log_error("Couldn't open \"%s\"", fp->fn_aux);
                goto error;
            }
            while (tmp.l = 0, kgetline(&tmp, (kgets_func *) hgets, f) >= 0) {
                char *tab = strchr(tmp.s, '\t');
                if (tab == NULL) continue;
                e |= (kputs("##contig=<ID=", &txt) < 0);
                e |= (kputsn(tmp.s, tab - tmp.s, &txt) < 0);
                e |= (kputs(",length=", &txt) < 0);
                e |= (kputl(atol(tab), &txt) < 0);
                e |= (kputsn(">\n", 2, &txt) < 0);
            }
            free(tmp.s);
            if (hclose(f) != 0) {
                hts_log_error("Error on closing %s", fp->fn_aux);
                goto error;
            }
            if (e) goto error;
        }
        if (kputsn(s->s, s->l, &txt) < 0) goto error;
        if (kputc('\n', &txt) < 0) goto error;
        if (s->s[1] != '#') break;
    }
    if ( ret < -1 ) goto error;
    if ( !txt.s )
    {
        hts_log_error("Could not read the header");
        goto error;
    }
    if ( bcf_hdr_parse(h, txt.s) < 0 ) goto error;

    // check tabix index, are all contigs listed in the header? add the missing ones
    idx = tbx_index_load3(fp->fn, NULL, HTS_IDX_SILENT_FAIL);
    if ( idx )
    {
        int i, n, need_sync = 0;
        names = tbx_seqnames(idx, &n);
        if (!names) goto error;
        for (i=0; i<n; i++)
        {
            bcf_hrec_t *hrec = bcf_hdr_get_hrec(h, BCF_HL_CTG, "ID", (char*) names[i], NULL);
            if ( hrec ) continue;
            if (add_missing_contig_hrec(h, names[i]) < 0) goto error;
            need_sync = 1;
        }
        if ( need_sync ) {
            if (bcf_hdr_sync(h) < 0) goto error;
        }
        free(names);
        tbx_destroy(idx);
    }
    free(txt.s);
    return h;

 error:
    if (idx) tbx_destroy(idx);
    free(names);
    free(txt.s);
    if (h) bcf_hdr_destroy(h);
    return NULL;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rdi, %rbx
leaq 0x7d830(%rip), %rdi     # 0xad22f
callq 0x2f149
testq %rax, %rax
je 0x301e2
movq %rax, 0x10(%rsp)
leaq 0x10(%rbx), %r14
movq %rbx, %rdi
movl $0x2, %esi
movq %r14, %rdx
callq 0xb0c1
testl %eax, %eax
js 0x301fe
xorl %r15d, %r15d
movq $0x0, 0x8(%rsp)
xorl %r13d, %r13d
movq %rbx, 0x28(%rsp)
movq %r14, 0x30(%rsp)
movl %eax, 0x5c(%rsp)
cmpq $0x0, (%r14)
je 0x2fff2
movq 0x20(%rbx), %rax
cmpb $0x23, (%rax)
jne 0x2fffc
cmpb $0x23, 0x1(%rax)
je 0x30096
movq 0x30(%rbx), %rdi
testq %rdi, %rdi
je 0x30096
xorps %xmm0, %xmm0
movaps %xmm0, 0x40(%rsp)
movq $0x0, 0x50(%rsp)
leaq 0x7d79e(%rip), %rsi     # 0xad22f
xorl %eax, %eax
callq 0x9b848
testq %rax, %rax
je 0x30020
movq %rax, %r12
movq $0x0, 0x40(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x6af84(%rip), %rsi     # 0x9aa3d
movq %rax, %rdx
callq 0x8b8d3
testl %eax, %eax
js 0x3003b
movl $0x0, 0x3c(%rsp)
movq %r12, 0x70(%rsp)
movq 0x50(%rsp), %rdi
movl $0x9, %esi
callq 0x4180
testq %rax, %rax
je 0x2ffc3
movq %rax, %rbx
movq %r15, %rax
subq $-0xf, %rax
jae 0x2fb36
movq 0x8(%rsp), %r14
cmpq %rax, %r14
jae 0x2fb4b
movq %rax, %rcx
shrq %rcx
movabsq $0x3fffffffffffffff, %rdx # imm = 0x3FFFFFFFFFFFFFFF
cmpq %rdx, %rax
movl $0x0, %r14d
cmovbeq %rcx, %r14
addq %rax, %r14
movq %r13, %rdi
movq %r14, %rsi
callq 0x4860
testq %rax, %rax
jne 0x2fb4e
jmp 0x2fb41
callq 0x4050
movl $0x4b, (%rax)
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x2fb85
movq %r13, %rax
movabsq $0x3d44493c3d676974, %rcx # imm = 0x3D44493C3D676974
movq %rcx, 0x5(%rax,%r15)
movabsq $0x6769746e6f632323, %rcx # imm = 0x6769746E6F632323
movq %rcx, (%rax,%r15)
movb $0x0, 0xd(%rax,%r15)
addq $0xd, %r15
movl $0xd, 0x24(%rsp)
movq %rax, %r13
movq %r14, 0x8(%rsp)
movq 0x50(%rsp), %r14
movq %rbx, %r12
subq %r14, %r12
leaq (%r12,%r15), %rax
addq $0x2, %rax
cmpq %r15, %rax
jbe 0x2fbec
movq 0x8(%rsp), %rcx
cmpq %rax, %rcx
jae 0x2fc04
movq %rax, %rcx
shrq %rcx
movabsq $0x3fffffffffffffff, %rdx # imm = 0x3FFFFFFFFFFFFFFF
cmpq %rdx, %rax
movq %r13, %rdi
movl $0x0, %r13d
cmovbeq %rcx, %r13
addq %rax, %r13
movq %rdi, 0x18(%rsp)
movq %r13, %rsi
callq 0x4860
movq %rax, %rbp
testq %rax, %rax
jne 0x2fc0a
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movq 0x18(%rsp), %r13
jmp 0x2fbfd
callq 0x4050
movl $0x4b, (%rax)
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movq 0x8(%rsp), %r14
jmp 0x2fc28
movq %r13, %rbp
movq %rcx, %r13
leaq (%r15,%rbp), %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x43c0
addq %r12, %r15
movb $0x0, (%rbp,%r15)
movq %r13, %r14
movq %rbp, %r13
movq %r15, %rax
subq $-0xa, %rax
jae 0x2fc76
cmpq %rax, %r14
jae 0x2fc8b
movq %r14, %rbp
movq %rax, %rcx
shrq %rcx
movabsq $0x3fffffffffffffff, %rdx # imm = 0x3FFFFFFFFFFFFFFF
cmpq %rdx, %rax
movl $0x0, %r14d
cmovbeq %rcx, %r14
addq %rax, %r14
movq %r13, %rdi
movq %r14, %rsi
callq 0x4860
testq %rax, %rax
jne 0x2fc8e
movl $0xffffffff, 0x18(%rsp) # imm = 0xFFFFFFFF
movq %rbp, %r14
jmp 0x2fcb1
callq 0x4050
movl $0x4b, (%rax)
movl $0xffffffff, 0x18(%rsp) # imm = 0xFFFFFFFF
jmp 0x2fcb1
movq %r13, %rax
movabsq $0x3d6874676e656c2c, %rcx # imm = 0x3D6874676E656C2C
movq %rcx, (%rax,%r15)
movb $0x0, 0x8(%rax,%r15)
addq $0x8, %r15
movl $0x8, 0x18(%rsp)
movq %rax, %r13
movq %rbx, %rdi
callq 0x45d0
movq %rax, %rbx
leaq 0x17(%r15), %rax
cmpq %rax, %r14
movq %r14, %rcx
jae 0x2fd1a
movq %rcx, 0x8(%rsp)
movq %rax, %rcx
shrq %rcx
movabsq $0x3fffffffffffffff, %rdx # imm = 0x3FFFFFFFFFFFFFFF
cmpq %rdx, %rax
movq %r13, %rbp
movl $0x0, %r13d
cmovbeq %rcx, %r13
addq %rax, %r13
movq %rbp, %rdi
movq %r13, %rsi
callq 0x4860
movq %rax, %r14
testq %rax, %rax
movabsq $0x28f5c28f5c28f5c3, %r10 # imm = 0x28F5C28F5C28F5C3
jne 0x2fd2a
movq %rbp, %r14
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x2ff14
movq %r13, %r14
movq %rcx, %r13
movabsq $0x28f5c28f5c28f5c3, %r10 # imm = 0x28F5C28F5C28F5C3
testq %rbx, %rbx
jns 0x2fd3a
negq %rbx
movb $0x2d, (%r14,%r15)
incq %r15
leaq 0x7bbaf(%rip), %r9      # 0xab8f0
movq %rbx, %rax
shrq $0x20, %rax
jne 0x2fd9b
cmpq $0x9, %rbx
ja 0x2fe10
leaq 0x2(%r15), %rax
cmpq %rax, %r13
jae 0x2fe9e
movq %rax, %rcx
shrq %rcx
movabsq $0x3fffffffffffffff, %rdx # imm = 0x3FFFFFFFFFFFFFFF
cmpq %rdx, %rax
movl $0x0, %esi
cmovbeq %rcx, %rsi
addq %rax, %rsi
movq %r14, %rdi
movq %rsi, 0x8(%rsp)
callq 0x4860
testq %rax, %rax
jne 0x2fea6
jmp 0x2fe92
movl $0x1, %eax
xorl %ecx, %ecx
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %edx, %esi
incl %ecx
addq %rax, %rax
leaq (%rax,%rax,4), %rax
leal 0x1(%rsi), %edx
cmpq %rax, %rbx
jae 0x2fda7
leaq (%r14,%r15), %rdi
movq %rbx, %r8
movq %rbx, %rax
shrq $0x2, %rax
mulq %r10
movq %rdx, %rbx
shrq $0x2, %rbx
imulq $0x64, %rbx, %rax
movq %r8, %rdx
subq %rax, %rdx
movl %esi, %eax
movzwl (%r9,%rdx,2), %edx
movw %dx, (%rdi,%rax)
addl $-0x2, %esi
cmpq $0x3e7, %r8             # imm = 0x3E7
ja 0x2fdbe
cmpl $-0x1, %esi
jne 0x2fdfd
orb $0x30, %bl
movb %bl, (%rdi)
movl %ecx, %eax
addq %rax, %r15
leaq (%r14,%r15), %rax
movq %r13, 0x8(%rsp)
jmp 0x2ff0f
bsrl %ebx, %eax
xorl $0x1f, %eax
shll $0x2, %eax
leaq 0x7e1d0(%rip), %rcx     # 0xadff0
movl (%rax,%rcx), %edx
xorl %ebp, %ebp
leaq 0x7e244(%rip), %rcx     # 0xae070
cmpl %ebx, (%rax,%rcx)
seta %bpl
movl %edx, %r10d
subl %ebp, %r10d
leaq (%r15,%r10), %rax
addq $0x2, %rax
cmpq %rax, %r13
jae 0x2feba
movq %rax, %rcx
shrq %rcx
movq %rdx, 0x60(%rsp)
movabsq $0x3fffffffffffffff, %rdx # imm = 0x3FFFFFFFFFFFFFFF
cmpq %rdx, %rax
movl $0x0, %esi
cmovbeq %rcx, %rsi
addq %rax, %rsi
movq %r14, %rdi
movq %rsi, 0x8(%rsp)
movq %r10, 0x68(%rsp)
callq 0x4860
movq 0x60(%rsp), %rdx
movq 0x68(%rsp), %r10
leaq 0x7ba63(%rip), %r9      # 0xab8f0
testq %rax, %rax
jne 0x2fec2
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq %r13, 0x8(%rsp)
jmp 0x2ff14
movq %r14, %rax
movq %r13, 0x8(%rsp)
orb $0x30, %bl
movq %rax, %r14
addq %r15, %rax
incq %rax
incq %r15
movb %bl, -0x1(%rax)
jmp 0x2ff0f
movq %r14, %rax
movq %r13, 0x8(%rsp)
negl %ebp
leaq (%rax,%r15), %r8
leal (%rdx,%rbp), %ecx
addl $-0x2, %ecx
movl %ebx, %edx
movl %ebx, %esi
imulq $0x51eb851f, %rsi, %rbx # imm = 0x51EB851F
shrq $0x25, %rbx
imull $0x64, %ebx, %esi
movl %edx, %edi
subl %esi, %edi
movl %ecx, %esi
movzwl (%r9,%rdi,2), %edi
movw %di, (%r8,%rsi)
addl $-0x2, %ecx
cmpl $0x3e7, %edx            # imm = 0x3E7
ja 0x2fece
cmpl $-0x1, %ecx
jne 0x2ff06
orb $0x30, %bl
movb %bl, (%r8)
addq %r10, %r15
movq %rax, %r14
addq %r15, %rax
movb $0x0, (%rax)
xorl %ebp, %ebp
movq %r15, %rax
subq $-0x4, %rax
jae 0x2ff65
movq 0x8(%rsp), %rbx
cmpq %rax, %rbx
movq %r14, %r13
jae 0x2ff7f
movq %rax, %rcx
shrq %rcx
movabsq $0x3fffffffffffffff, %rdx # imm = 0x3FFFFFFFFFFFFFFF
cmpq %rdx, %rax
movl $0x0, %ebx
cmovbeq %rcx, %rbx
addq %rax, %rbx
movq %r13, %rdi
movq %rbx, %rsi
callq 0x4860
testq %rax, %rax
movq 0x30(%rsp), %r14
jne 0x2ff87
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
jmp 0x2ffa5
callq 0x4050
movl $0x4b, (%rax)
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movq %r14, %r13
movq 0x30(%rsp), %r14
jmp 0x2ffa5
movq %r13, %rax
movq 0x30(%rsp), %r14
movw $0xa3e, (%rax,%r15)     # imm = 0xA3E
movb $0x0, 0x2(%rax,%r15)
addq $0x2, %r15
movl $0x2, %ecx
movq %rax, %r13
movq %rbx, 0x8(%rsp)
orl 0x24(%rsp), %r12d
orl 0x18(%rsp), %r12d
orl %ebp, %r12d
orl %ecx, %r12d
shrl $0x1f, %r12d
orl %r12d, 0x3c(%rsp)
movq 0x70(%rsp), %r12
movq $0x0, 0x40(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x6aa65(%rip), %rsi     # 0x9aa3d
movq %r12, %rdx
callq 0x8b8d3
testl %eax, %eax
jns 0x2fad6
cmpl $0x0, 0x3c(%rsp)
sete %bl
jmp 0x3003d
movl $0x2, %ebp
jmp 0x301a7
movl $0x1, %edi
leaq 0x7ebbe(%rip), %rsi     # 0xaebc6
leaq 0x7ebc4(%rip), %rdx     # 0xaebd3
xorl %eax, %eax
callq 0x9774
movl $0x4, %ebp
jmp 0x301a7
movq 0x30(%rbx), %rcx
xorl %ebx, %ebx
movl $0x1, %edi
leaq 0x7eb94(%rip), %rsi     # 0xaebc6
leaq 0x7eba9(%rip), %rdx     # 0xaebe2
jmp 0x30071
movb $0x1, %bl
movq 0x50(%rsp), %rdi
callq 0x45c0
movq %r12, %rdi
callq 0x9af04
testl %eax, %eax
je 0x3007f
movq 0x28(%rsp), %rax
movq 0x30(%rax), %rcx
xorl %ebx, %ebx
movl $0x1, %edi
leaq 0x7eb5c(%rip), %rsi     # 0xaebc6
leaq 0x7cf18(%rip), %rdx     # 0xacf89
xorl %eax, %eax
callq 0x9774
movl $0x4, %ebp
jmp 0x30089
movl %ebx, %eax
xorb $0x1, %al
movzbl %al, %ebp
shll $0x2, %ebp
testb %bl, %bl
movq 0x28(%rsp), %rbx
je 0x301a7
movq %rbx, %rcx
movq 0x10(%rbx), %rbx
leaq (%rbx,%r15), %rax
addq $0x2, %rax
cmpq %r15, %rax
jbe 0x30119
movq 0x20(%rcx), %r12
movq 0x8(%rsp), %r14
cmpq %rax, %r14
jae 0x300f2
movq %rax, %rcx
shrq %rcx
movabsq $0x3fffffffffffffff, %rdx # imm = 0x3FFFFFFFFFFFFFFF
cmpq %rdx, %rax
movl $0x0, %r14d
cmovbeq %rcx, %r14
addq %rax, %r14
movq %r13, %rdi
movq %r14, %rsi
callq 0x4860
movq %r13, %rcx
movq %rax, %r13
testq %rax, %rax
je 0x301d8
leaq (%r15,%r13), %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x43c0
addq %rbx, %r15
movb $0x0, (%r13,%r15)
shrl $0x1f, %ebx
movq %r14, 0x8(%rsp)
movq 0x30(%rsp), %r14
jmp 0x30126
callq 0x4050
movl $0x4b, (%rax)
movb $0x1, %bl
movl $0x4, %ebp
testb %bl, %bl
je 0x30136
movq 0x28(%rsp), %rbx
jmp 0x301a7
leaq 0x2(%r15), %rax
movq 0x8(%rsp), %rbx
cmpq %rax, %rbx
jae 0x30177
movq %rax, %rcx
shrq %rcx
movabsq $0x3fffffffffffffff, %rdx # imm = 0x3FFFFFFFFFFFFFFF
cmpq %rdx, %rax
movl $0x0, %ebx
cmovbeq %rcx, %rbx
addq %rax, %rbx
movq %r13, %rdi
movq %rbx, %rsi
callq 0x4860
testq %rax, %rax
jne 0x3017a
movb $0x1, %cl
jmp 0x3018e
movq %r13, %rax
movw $0xa, (%rax,%r15)
incq %r15
xorl %ecx, %ecx
movq %rax, %r13
movq %rbx, 0x8(%rsp)
movq 0x28(%rsp), %rbx
testb %cl, %cl
jne 0x301a7
movq 0x20(%rbx), %rax
xorl %ecx, %ecx
cmpb $0x23, 0x1(%rax)
setne %cl
leal (%rcx,%rcx,2), %ebp
cmpl $0x4, %ebp
ja 0x30203
movl %ebp, %eax
leaq 0x7da9b(%rip), %rcx     # 0xadc50
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rbx, %rdi
movl $0x2, %esi
movq %r14, %rdx
callq 0xb0c1
testl %eax, %eax
jns 0x2fa47
jmp 0x30209
movb $0x1, %bl
movq %rcx, %r13
jmp 0x30112
leaq 0x7e9dd(%rip), %rsi     # 0xaebc6
leaq 0x7e81b(%rip), %rdx     # 0xaea0b
movl $0x1, %edi
xorl %eax, %eax
callq 0x9774
jmp 0x3023a
xorl %r13d, %r13d
jmp 0x30209
jmp 0x3023c
movl 0x5c(%rsp), %eax
cmpl $-0x1, %eax
jge 0x3024b
xorl %ebx, %ebx
xorl %r15d, %r15d
testq %r15, %r15
je 0x30220
movq %r15, %rdi
callq 0x9e22a
movq %rbx, %rdi
callq 0x45c0
movq %r13, %rdi
callq 0x45c0
movq 0x10(%rsp), %rdi
callq 0x2f696
xorl %eax, %eax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testq %r13, %r13
movq 0x10(%rsp), %rdi
je 0x30429
movq %r13, %rsi
callq 0x2e6a1
testl %eax, %eax
js 0x3020e
movq 0x28(%rbx), %rdi
xorl %esi, %esi
movl $0x2, %edx
callq 0x9e36e
testq %rax, %rax
je 0x30462
movq %rax, %r15
leaq 0x40(%rsp), %rsi
movq %rax, %rdi
callq 0x9e589
movq %rax, %rbx
movl $0x4, %ebp
testq %rax, %rax
je 0x3044c
cmpl $0x0, 0x40(%rsp)
movq 0x10(%rsp), %rdi
jle 0x30410
leaq 0x7caa1(%rip), %r14     # 0xacd57
xorl %ebp, %ebp
xorl %r12d, %r12d
movq %r13, 0x18(%rsp)
movq (%rbx,%rbp,8), %rcx
movl $0x3, %esi
movq %r14, %rdx
xorl %r8d, %r8d
callq 0x2dff0
movl $0x9, %ecx
testq %rax, %rax
jne 0x303d9
movl %r12d, 0x8(%rsp)
movq (%rbx,%rbp,8), %r13
movl $0x1, %edi
movl $0x30, %esi
callq 0x42f0
movq %rax, %r12
testq %rax, %rax
je 0x30370
leaq 0x7fdd4(%rip), %rdi     # 0xb00dd
callq 0x4930
movq %rax, 0x8(%r12)
testq %rax, %rax
je 0x30370
movl $0x2, %edx
movq %r12, %rdi
movq %r14, %rsi
callq 0x2c01c
testl %eax, %eax
js 0x30370
movl 0x18(%r12), %r14d
decl %r14d
movq %r13, %rdi
callq 0x41c0
movq %r12, %rdi
movl %r14d, %esi
leaq 0x7ca0e(%rip), %r14     # 0xacd57
movq %r13, %rdx
movq %rax, %rcx
xorl %r8d, %r8d
callq 0x2c100
testl %eax, %eax
js 0x30370
movq 0x10(%rsp), %rdi
movq %r12, %rsi
callq 0x2ce41
testl %eax, %eax
js 0x30370
xorl %eax, %eax
jmp 0x303ba
callq 0x4050
movq %rax, %r13
movl (%rax), %r14d
movl %r14d, %edi
callq 0x4140
movl $0x1, %edi
leaq 0x7f5da(%rip), %rsi     # 0xaf969
leaq 0x7e22a(%rip), %rdx     # 0xae5c0
movq %rax, %rcx
xorl %eax, %eax
callq 0x9774
testq %r12, %r12
je 0x303ad
movq %r12, %rdi
callq 0x2bd39
movl %r14d, (%r13)
movb $0x1, %al
leaq 0x7c99d(%rip), %r14     # 0xacd57
movzbl %al, %eax
leal (,%rax,4), %ecx
testb %al, %al
movl $0x1, %eax
movl 0x8(%rsp), %r12d
cmovel %eax, %r12d
movq 0x18(%rsp), %r13
cmpl $0x9, %ecx
je 0x303e2
testl %ecx, %ecx
jne 0x3044a
incq %rbp
movslq 0x40(%rsp), %rax
cmpq %rax, %rbp
movq 0x10(%rsp), %rdi
jl 0x302c0
testl %r12d, %r12d
movl $0x4, %ebp
je 0x30410
callq 0x2bc46
testl %eax, %eax
movq 0x10(%rsp), %rax
js 0x30451
movq %rbx, %rdi
callq 0x45c0
movq %r15, %rdi
callq 0x9e22a
movq 0x10(%rsp), %rax
xorl %ebp, %ebp
jmp 0x30451
leaq 0x7e796(%rip), %rsi     # 0xaebc6
leaq 0x7e7cc(%rip), %rdx     # 0xaec03
xorl %ebx, %ebx
movl $0x1, %edi
xorl %eax, %eax
callq 0x9774
jmp 0x30210
movl %ecx, %ebp
movq 0x10(%rsp), %rax
cmpl $0x4, %ebp
je 0x30213
testl %ebp, %ebp
jne 0x3023c
movq %r13, %rdi
callq 0x45c0
movq 0x10(%rsp), %rax
jmp 0x3023c