// File: /workspace/github_c_makefile_star2_O0/samtools[P]htslib/test/test-vcf-api.c
// Function: test_rlen_values
void test_rlen_values(void)
{
    bcf_hdr_t *hdr;
    bcf1_t *rec, *rec2;
    int i, j;
    int32_t tmpi;
    //data common for all versions, interpreted differently based on version
#define data "##reference=file://tmp\n" \
    "##FILTER=<ID=PASS,Description=\"All filters passed\">\n" \
    "##INFO=<ID=END,Number=1,Type=Integer,Description=\"end\">\n" \
    "##FORMAT=<ID=GT,Number=1,Type=String,Description=\"gt\">\n" \
    "##INFO=<ID=SVLEN,Number=A,Type=Integer,Description=\"svlen\">\n" \
    "##INFO=<ID=SVCLAIM,Number=A,Type=String,Description=\"svclaim\">\n" \
    "##FORMAT=<ID=LEN,Number=1,Type=Integer,Description=\"fmt len\">\n" \
    "##contig=<ID=1,Length=40>\n" \
    "##ALT=<ID=INS,Description=\"INS\">\n" \
    "##ALT=<ID=DEL,Description=\"DEL\">\n" \
    "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\tFORMAT\tSample1\tSample2\n" \
    "1\t4310\t.\tG\tA\t.\t.\t.\tGT\t0/0\t0|1\n" \
    "1\t4311\t.\tC\tCT\t.\t.\t.\tGT\t0/0\t1/0\n" \
    "1\t4312\t.\tTC\tT\t213.73\t.\t.\tGT\t0/1\t0|0\n" \
    "1\t4314\t.\tG\t<INS>\t213.73\t.\tSVLEN=10;SVCLAIM=J\tGT\t0/1\t0|0\n" \
    "1\t4315\t.\tG\t<DEL>\t213.73\t.\tSVLEN=-10;SVCLAIM=D\tGT\t0/1\t0|0\n" \
    "1\t4326\t.\tG\t<INS>\t213.73\t.\tEND=4326;SVLEN=10;SVCLAIM=J\tGT\t0/1\t0|0\n" \
    "1\t4327\t.\tG\t<DEL>\t213.73\t.\tEND=4337;SVLEN=-10;SVCLAIM=J\tGT\t0/1\t0|0\n" \
    "1\t4338\t.\tG\t<*>\t213.73\t.\tEND=4342;SVLEN=.;SVCLAIM=.\tGT:LEN\t0/1:7\t0|0:8\n" \
    "1\t4353\t.\tG\t<*>\t213.73\t.\tEND=4357;SVLEN=.;SVCLAIM=.\tGT:LEN\t0/1:7\t0|0:.\n" \
    "1\t4363\t.\tG\t<*>\t213.73\t.\tEND=4367;SVLEN=.;SVCLAIM=.\tGT:LEN\t0/1:7\t0|0:.\n" \
    "1\t4370\t.\tG\t<INS>,<*>\t213.73\t.\tEND=4371;SVLEN=.;SVCLAIM=.\tGT:LEN\t0/1:7\t0|0:.\n" \
    "1\t4378\t.\tG\t<DEL>,<INS>,<*>\t213.73\t.\tEND=4379;SVLEN=3,5,.;SVCLAIM=D,J,.\tGT:LEN\t0/1:7\t0|0:.\n" \
    "1\t4385\t.\tG\tT\t213.73\t.\tEND=4387;SVLEN=8;SVCLAIM=.\tGT:LEN\t0/1:.\t0|0:10\n"
    //this last one is invalid one, to showcase how SVLEN is considered even when ALT is no SV
    //this is because data are not cross checked with allele types, to make it simple

    //test vcf with different versions
    const int vcfsz = 13, testsz = 3;
    static char d43[] = "data:,"
    "##fileformat=VCFv4.3\n" data;
    static char d44[] = "data:,"
    "##fileformat=VCFv4.4\n" data;
    static char d45[] = "data:,"
    "##fileformat=VCFv4.5\n" data;
    /* ideal expected rlen for tests
    int rlen43[] = {1, 1, 2, 1, 1, 1, 11, 5, 5, 5, 2, 2, 3};
    int rlen44[] = {1, 1, 2, 1, 11, 1, 11, 5, 5, 5, 2, 4, 9};
    int rlen45[] = {1, 1, 2, 1, 11, 1, 11, 8, 7, 7, 7, 7, 9};*/
    // but we dont check version and hence resulting rlen should be
    int rlen[] = {1, 1, 2, 1, 11, 1, 11, 8, 7, 7, 7, 7, 9};

    char *darr[] = {&d43[0], &d44[0], &d45[0]};     //data array
    int *rarr[] = {&rlen[0], &rlen[0], &rlen[0]};   //result array

    enum htsLogLevel logging = hts_get_log_level();

    // Silence warning messages
    hts_set_log_level(HTS_LOG_ERROR);

    rec = bcf_init1(); rec2 = bcf_init1();
    if (!rec || !rec2) error("Failed to allocate BCF record : %s", strerror(errno));
    //calculating rlen with different vcf versions
    for (i = 0; i < testsz; ++i) {
        htsFile *fp = hts_open(darr[i], "r");
        if (!fp) error("Failed to open vcf data with %d : %s", i + 1, strerror(errno));
        bcf_clear1(rec);
        hdr = bcf_hdr_read(fp);
        if (!hdr) error("Failed to read BCF header with %d : %s", i + 1, strerror(errno));
        for (j = 0; j < vcfsz; ++j) {
            check0(bcf_read(fp, hdr, rec));
            if (rec->rlen != rarr[i][j]) {
                error("Incorrect rlen @ vcf %d on test %d - expected %d got %"PRIhts_pos"\n", j + 1, i + 1, rarr[i][j], rec->rlen);
            }
        }
        bcf_hdr_destroy(hdr);
        hts_close(fp);
    }

    //calculating rlen with update to fields
    htsFile *fp = hts_open(d45, "r");
    int id  = 1, val[]= { 1, 15 };
    bcf_clear1(rec);
    hdr = bcf_hdr_read(fp);
    if (!hdr) error("Failed to read BCF header : %s", strerror(errno));
    check0(bcf_read(fp, hdr, rec));
    //"1\t4310\t.\tG\tA\t.\t.\t.\tGT\t0/0\t0|1\n"
    if (rec->rlen != 1)
        error("Incorrect rlen set, expected 1 got %"PRIhts_pos" @ %d\n", rec->rlen, id);
    //alt change A->AT
    ++id; check0(bcf_update_alleles_str(hdr, rec, "G,AT"));
    if (rec->rlen != 1)
        error("Incorrect rlen set, expected 1 got %"PRIhts_pos" @ %d\n", rec->rlen, id);
    //ref change G->GC, alt AT -> A, "1\t4310\t.\tGC\tA\t.\t.\t.\tGT\t0/0\t0|1\n"
    id++; check0(bcf_update_alleles_str(hdr, rec, "GC,A"));
    if (rec->rlen != 2)
        error("Incorrect rlen set, expected 2 got %"PRIhts_pos" @ %d\n", rec->rlen, id);
    ++id; check0(bcf_update_alleles_str(hdr, rec, "G,<*>"));
    if (rec->rlen != 1)
        error("Incorrect rlen set, expected 1 got %"PRIhts_pos" @ %d\n", rec->rlen, id);
    tmpi = 4323;
    ++id; check0(bcf_update_info_int32(hdr, rec, "END", &tmpi, 1));  //SVLEN to infer from END and use
    if (rec->rlen != 14)
        error("Incorrect rlen set, expected 14 got %"PRIhts_pos" @ %d\n", rec->rlen, id);
    ++id; check0(bcf_update_format_int32(hdr, rec, "LEN", &val, 2));
    if (rec->rlen != 15)
        error("Incorrect rlen set, expected 15 got %"PRIhts_pos" @ %d\n", rec->rlen, id);
    ++id; check0(bcf_update_info_int32(hdr, rec, "END", &tmpi, 0));  //removes END
    if (rec->rlen != 15)
        error("Incorrect rlen set, expected 15 got %"PRIhts_pos" @ %d\n", rec->rlen, id);
    ++id; check0(bcf_update_format_int32(hdr, rec, "LEN", &tmpi, 0));  //removes LEN
    if (rec->rlen != 1)
        error("Incorrect rlen set, expected 1 got %"PRIhts_pos" @ %d\n", rec->rlen, id);
    //ALT -> DEL, "1\t4310\t.\tG\tT,<DEL>\t.\t.\t.\tGT\t0/0\t0|1\n"
    ++id; check0(bcf_update_alleles_str(hdr, rec, "G,T,<DEL>"));
    if (rec->rlen != 1)
        error("Incorrect rlen set, expected 1 got %"PRIhts_pos" @ %d\n", rec->rlen, id);
    val[0] = 0; val[1] = -5;
    ++id; check0(bcf_update_info_int32(hdr, rec, "SVLEN", &val, 2));  //Add svlen
    if (rec->rlen != 6)
        error("Incorrect rlen set, expected 6 got %"PRIhts_pos" @ %d\n", rec->rlen, id);
    ++id; bcf_copy(rec2, rec);
    if (rec2->rlen != 6)
        error("Incorrect rlen set, expected 6 got %"PRIhts_pos" @ %d\n", rec->rlen, id);

    //needs update when header version change is handled
    bcf_destroy1(rec);
    bcf_destroy1(rec2);
    bcf_hdr_destroy(hdr);

    hts_close(fp);

    hts_set_log_level(logging);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movl $0xd, -0x28(%rbp)
movl $0x3, -0x2c(%rbp)
leaq -0x60(%rbp), %rdi
leaq 0xffdcc(%rip), %rsi     # 0x1086a0
movl $0x34, %edx
callq 0x43b0
movq 0x1221cb(%rip), %rax    # 0x12aab0
movq %rax, -0x80(%rbp)
movq 0x1221c8(%rip), %rax    # 0x12aab8
movq %rax, -0x78(%rbp)
movq 0x1221c5(%rip), %rax    # 0x12aac0
movq %rax, -0x70(%rbp)
leaq -0x60(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq -0x60(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x60(%rbp), %rax
movq %rax, -0x90(%rbp)
callq 0x18a60
movl %eax, -0xa4(%rbp)
movl $0x1, %edi
callq 0x18a40
callq 0x43c30
movq %rax, -0x10(%rbp)
callq 0x43c30
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x8955
cmpq $0x0, -0x18(%rbp)
jne 0x8972
callq 0x4050
movl (%rax), %edi
callq 0x4120
movq %rax, %rsi
leaq 0xff368(%rip), %rdi     # 0x107cd3
movb $0x0, %al
callq 0x5ae0
movl $0x0, -0x1c(%rbp)
cmpl $0x3, -0x1c(%rbp)
jge 0x8af1
movslq -0x1c(%rbp), %rax
movq -0x80(%rbp,%rax,8), %rdi
leaq 0x102e07(%rip), %rsi    # 0x10b79a
callq 0xcf30
movq %rax, -0xb0(%rbp)
cmpq $0x0, -0xb0(%rbp)
jne 0x89d8
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc8(%rbp)
callq 0x4050
movl (%rax), %edi
callq 0x4120
movl -0xc8(%rbp), %esi
movq %rax, %rdx
leaq 0xff572(%rip), %rdi     # 0x107f43
movb $0x0, %al
callq 0x5ae0
movq -0x10(%rbp), %rdi
callq 0x43c60
movq -0xb0(%rbp), %rdi
callq 0x43030
movq %rax, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x8a27
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xcc(%rbp)
callq 0x4050
movl (%rax), %edi
callq 0x4120
movl -0xcc(%rbp), %esi
movq %rax, %rdx
leaq 0xff548(%rip), %rdi     # 0x107f68
movb $0x0, %al
callq 0x5ae0
movl $0x0, -0x20(%rbp)
cmpl $0xd, -0x20(%rbp)
jge 0x8ace
movq -0xb0(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x10(%rbp), %rdx
callq 0x44620
cmpl $0x0, %eax
jne 0x8a53
jmp 0x8a68
leaq 0xfd5ff(%rip), %rdi     # 0x106059
leaq 0xff2b4(%rip), %rsi     # 0x107d15
movb $0x0, %al
callq 0x5ae0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq -0xa0(%rbp,%rcx,8), %rcx
movslq -0x20(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
cmpq %rcx, %rax
je 0x8abe
movl -0x20(%rbp), %esi
addl $0x1, %esi
movl -0x1c(%rbp), %edx
addl $0x1, %edx
movslq -0x1c(%rbp), %rax
movq -0xa0(%rbp,%rax,8), %rax
movslq -0x20(%rbp), %rcx
movl (%rax,%rcx,4), %ecx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %r8
leaq 0xff4d8(%rip), %rdi     # 0x107f8f
movb $0x0, %al
callq 0x5ae0
jmp 0x8ac0
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x8a2e
movq -0x8(%rbp), %rdi
callq 0x42dd0
movq -0xb0(%rbp), %rdi
callq 0xf050
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x8979
leaq 0x123498(%rip), %rdi    # 0x12bf90
leaq 0x102c9b(%rip), %rsi    # 0x10b79a
callq 0xcf30
movq %rax, -0xb8(%rbp)
movl $0x1, -0xbc(%rbp)
movq 0xffbb8(%rip), %rax     # 0x1086d4
movq %rax, -0xc4(%rbp)
movq -0x10(%rbp), %rdi
callq 0x43c60
movq -0xb8(%rbp), %rdi
callq 0x43030
movq %rax, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x8b60
callq 0x4050
movl (%rax), %edi
callq 0x4120
movq %rax, %rsi
leaq 0xff19d(%rip), %rdi     # 0x107cf6
movb $0x0, %al
callq 0x5ae0
movq -0xb8(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x10(%rbp), %rdx
callq 0x44620
cmpl $0x0, %eax
jne 0x8b7b
jmp 0x8b90
leaq 0xfd4d7(%rip), %rdi     # 0x106059
leaq 0xff18c(%rip), %rsi     # 0x107d15
movb $0x0, %al
callq 0x5ae0
movq -0x10(%rbp), %rax
cmpq $0x1, 0x8(%rax)
je 0x8bb7
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movl -0xbc(%rbp), %edx
leaq 0xff419(%rip), %rdi     # 0x107fc9
movb $0x0, %al
callq 0x5ae0
movl -0xbc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xbc(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xff421(%rip), %rdx     # 0x107ff6
callq 0x52a70
cmpl $0x0, %eax
jne 0x8be1
jmp 0x8bf6
leaq 0xfd471(%rip), %rdi     # 0x106059
leaq 0xff40c(%rip), %rsi     # 0x107ffb
movb $0x0, %al
callq 0x5ae0
movq -0x10(%rbp), %rax
cmpq $0x1, 0x8(%rax)
je 0x8c1d
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movl -0xbc(%rbp), %edx
leaq 0xff3b3(%rip), %rdi     # 0x107fc9
movb $0x0, %al
callq 0x5ae0
movl -0xbc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xbc(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xff3e9(%rip), %rdx     # 0x108024
callq 0x52a70
cmpl $0x0, %eax
jne 0x8c47
jmp 0x8c5c
leaq 0xfd40b(%rip), %rdi     # 0x106059
leaq 0xff3d4(%rip), %rsi     # 0x108029
movb $0x0, %al
callq 0x5ae0
movq -0x10(%rbp), %rax
cmpq $0x2, 0x8(%rax)
je 0x8c83
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movl -0xbc(%rbp), %edx
leaq 0xff3d6(%rip), %rdi     # 0x108052
movb $0x0, %al
callq 0x5ae0
movl -0xbc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xbc(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xff3de(%rip), %rdx     # 0x10807f
callq 0x52a70
cmpl $0x0, %eax
jne 0x8cad
jmp 0x8cc2
leaq 0xfd3a5(%rip), %rdi     # 0x106059
leaq 0xff3ca(%rip), %rsi     # 0x108085
movb $0x0, %al
callq 0x5ae0
movq -0x10(%rbp), %rax
cmpq $0x1, 0x8(%rax)
je 0x8ce9
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movl -0xbc(%rbp), %edx
leaq 0xff2e7(%rip), %rdi     # 0x107fc9
movb $0x0, %al
callq 0x5ae0
movl $0x10e3, -0x24(%rbp)    # imm = 0x10E3
movl -0xbc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xbc(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xff069(%rip), %rdx     # 0x107d77
leaq -0x24(%rbp), %rcx
movl $0x1, %r9d
movl %r9d, %r8d
callq 0x50f90
cmpl $0x0, %eax
jne 0x8d27
jmp 0x8d3c
leaq 0xfd32b(%rip), %rdi     # 0x106059
leaq 0xff046(%rip), %rsi     # 0x107d7b
movb $0x0, %al
callq 0x5ae0
movq -0x10(%rbp), %rax
cmpq $0xe, 0x8(%rax)
je 0x8d63
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movl -0xbc(%rbp), %edx
leaq 0xff353(%rip), %rdi     # 0x1080af
movb $0x0, %al
callq 0x5ae0
movl -0xbc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xbc(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xff460(%rip), %rdx     # 0x1081e1
leaq -0xc4(%rbp), %rcx
movl $0x2, %r8d
movl $0x1, %r9d
callq 0x518f0
cmpl $0x0, %eax
jne 0x8da0
jmp 0x8db5
leaq 0xfd2b2(%rip), %rdi     # 0x106059
leaq 0xff32f(%rip), %rsi     # 0x1080dd
movb $0x0, %al
callq 0x5ae0
movq -0x10(%rbp), %rax
cmpq $0xf, 0x8(%rax)
je 0x8ddc
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movl -0xbc(%rbp), %edx
leaq 0xff33c(%rip), %rdi     # 0x108111
movb $0x0, %al
callq 0x5ae0
movl -0xbc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xbc(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xfef7d(%rip), %rdx     # 0x107d77
leaq -0x24(%rbp), %rcx
xorl %r8d, %r8d
movl $0x1, %r9d
callq 0x50f90
cmpl $0x0, %eax
jne 0x8e13
jmp 0x8e28
leaq 0xfd23f(%rip), %rdi     # 0x106059
leaq 0xff31e(%rip), %rsi     # 0x10813f
movb $0x0, %al
callq 0x5ae0
movq -0x10(%rbp), %rax
cmpq $0xf, 0x8(%rax)
je 0x8e4f
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movl -0xbc(%rbp), %edx
leaq 0xff2c9(%rip), %rdi     # 0x108111
movb $0x0, %al
callq 0x5ae0
movl -0xbc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xbc(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xff374(%rip), %rdx     # 0x1081e1
leaq -0x24(%rbp), %rcx
xorl %r8d, %r8d
movl $0x1, %r9d
callq 0x518f0
cmpl $0x0, %eax
jne 0x8e86
jmp 0x8e9b
leaq 0xfd1cc(%rip), %rdi     # 0x106059
leaq 0xff2de(%rip), %rsi     # 0x108172
movb $0x0, %al
callq 0x5ae0
movq -0x10(%rbp), %rax
cmpq $0x1, 0x8(%rax)
je 0x8ec2
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movl -0xbc(%rbp), %edx
leaq 0xff10e(%rip), %rdi     # 0x107fc9
movb $0x0, %al
callq 0x5ae0
movl -0xbc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xbc(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xff2c7(%rip), %rdx     # 0x1081a7
callq 0x52a70
cmpl $0x0, %eax
jne 0x8eec
jmp 0x8f01
leaq 0xfd166(%rip), %rdi     # 0x106059
leaq 0xff2b7(%rip), %rsi     # 0x1081b1
movb $0x0, %al
callq 0x5ae0
movq -0x10(%rbp), %rax
cmpq $0x1, 0x8(%rax)
je 0x8f28
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movl -0xbc(%rbp), %edx
leaq 0xff0a8(%rip), %rdi     # 0x107fc9
movb $0x0, %al
callq 0x5ae0
movl $0x0, -0xc4(%rbp)
movl $0xfffffffb, -0xc0(%rbp) # imm = 0xFFFFFFFB
movl -0xbc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xbc(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xff285(%rip), %rdx     # 0x1081df
leaq -0xc4(%rbp), %rcx
movl $0x2, %r8d
movl $0x1, %r9d
callq 0x50f90
cmpl $0x0, %eax
jne 0x8f79
jmp 0x8f8e
leaq 0xfd0d9(%rip), %rdi     # 0x106059
leaq 0xff25e(%rip), %rsi     # 0x1081e5
movb $0x0, %al
callq 0x5ae0
movq -0x10(%rbp), %rax
cmpq $0x6, 0x8(%rax)
je 0x8fb5
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movl -0xbc(%rbp), %edx
leaq 0xff26b(%rip), %rdi     # 0x108219
movb $0x0, %al
callq 0x5ae0
movl -0xbc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xbc(%rbp)
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x45550
movq -0x18(%rbp), %rax
cmpq $0x6, 0x8(%rax)
je 0x8ff8
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movl -0xbc(%rbp), %edx
leaq 0xff228(%rip), %rdi     # 0x108219
movb $0x0, %al
callq 0x5ae0
movq -0x10(%rbp), %rdi
callq 0x44020
movq -0x18(%rbp), %rdi
callq 0x44020
movq -0x8(%rbp), %rdi
callq 0x42dd0
movq -0xb8(%rbp), %rdi
callq 0xf050
movl -0xa4(%rbp), %edi
callq 0x18a40
addq $0xd0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)