// File: /workspace/github_c_makefile_star2_O3/samtools[P]htslib/tabix.c
// Function: main
int main(int argc, char *argv[])
{
    int c, detect = 1, min_shift = 0, is_force = 0, list_chroms = 0, do_csi = 0;
    tbx_conf_t conf = tbx_conf_gff;
    char *reheader = NULL;
    args_t args;
    memset(&args,0,sizeof(args_t));
    args.cache_megs = 10;
    args.download_index = 1;
    int32_t new_line_skip = -1;

    static const struct option loptions[] =
    {
        {"help", no_argument, NULL, 2},
        {"regions", required_argument, NULL, 'R'},
        {"targets", required_argument, NULL, 'T'},
        {"csi", no_argument, NULL, 'C'},
        {"zero-based", no_argument, NULL, '0'},
        {"print-header", no_argument, NULL, 'h'},
        {"only-header", no_argument, NULL, 'H'},
        {"begin", required_argument, NULL, 'b'},
        {"comment", required_argument, NULL, 'c'},
        {"end", required_argument, NULL, 'e'},
        {"force", no_argument, NULL, 'f'},
        {"min-shift", required_argument, NULL, 'm'},
        {"preset", required_argument, NULL, 'p'},
        {"sequence", required_argument, NULL, 's'},
        {"skip-lines", required_argument, NULL, 'S'},
        {"list-chroms", no_argument, NULL, 'l'},
        {"reheader", required_argument, NULL, 'r'},
        {"version", no_argument, NULL, 1},
        {"verbosity", required_argument, NULL, 3},
        {"cache", required_argument, NULL, 4},
        {"separate-regions", no_argument, NULL, 5},
        {"threads", required_argument, NULL, '@'},
        {NULL, 0, NULL, 0}
    };

    char *tmp;
    while ((c = getopt_long(argc, argv, "hH?0b:c:e:fm:p:s:S:lr:CR:T:D@:", loptions,NULL)) >= 0)
    {
        switch (c)
        {
            case 'R': args.regions_fname = optarg; break;
            case 'T': args.targets_fname = optarg; break;
            case 'C': do_csi = 1; break;
            case 'r': reheader = optarg; break;
            case 'h': args.print_header = 1; break;
            case 'H': args.print_header = 1; args.header_only = 1; break;
            case 'l': list_chroms = 1; break;
            case '0': conf.preset |= TBX_UCSC; detect = 0; break;
            case 'b':
                conf.bc = strtol(optarg,&tmp,10);
                if ( *tmp ) error("Could not parse argument: -b %s\n", optarg);
                detect = 0;
                break;
            case 'e':
                conf.ec = strtol(optarg,&tmp,10);
                if ( *tmp ) error("Could not parse argument: -e %s\n", optarg);
                detect = 0;
                break;
            case 'c': conf.meta_char = *optarg; detect = 0; break;
            case 'f': is_force = 1; break;
            case 'm':
                min_shift = strtol(optarg,&tmp,10);
                if ( *tmp ) error("Could not parse argument: -m %s\n", optarg);
                break;
            case 'p':
                detect = 0;
                if (strcmp(optarg, "gff") == 0) conf = tbx_conf_gff;
                else if (strcmp(optarg, "bed") == 0) conf = tbx_conf_bed;
                else if (strcmp(optarg, "sam") == 0) conf = tbx_conf_sam;
                else if (strcmp(optarg, "vcf") == 0) conf = tbx_conf_vcf;
                else if (strcmp(optarg, "gaf") == 0) conf = tbx_conf_gaf;
                else if (strcmp(optarg, "bcf") == 0) detect = 1; // bcf is autodetected, preset is not needed
                else if (strcmp(optarg, "bam") == 0) detect = 1; // same as bcf
                else error("The preset string not recognised: '%s'\n", optarg);
                break;
            case 's':
                conf.sc = strtol(optarg,&tmp,10);
                if ( *tmp ) error("Could not parse argument: -s %s\n", optarg);
                detect = 0;
                break;
            case 'S':
                new_line_skip = strtol(optarg,&tmp,10);
                if ( *tmp ) error("Could not parse argument: -S %s\n", optarg);
                detect = 0;
                break;
            case 'D':
                args.download_index = 0;
                break;
            case 1:
                printf(
"tabix (htslib) %s\n"
"Copyright (C) 2025 Genome Research Ltd.\n", hts_version());
                return EXIT_SUCCESS;
            case 2:
                return usage(stdout, EXIT_SUCCESS);
            case 3: {
                int v = atoi(optarg);
                if (v < 0) v = 0;
                hts_set_log_level(v);
                break;
            }
            case 4:
                args.cache_megs = atoi(optarg);
                if (args.cache_megs < 0) {
                    args.cache_megs = 0;
                } else if (args.cache_megs >= INT_MAX / 1048576) {
                    args.cache_megs = INT_MAX / 1048576;
                }
                break;
            case 5:
                args.separate_regs = 1;
                break;
            case '@':   //thread count
                args.threads = atoi(optarg);
                break;
            default: return usage(stderr, EXIT_FAILURE);
        }
    }

    if (new_line_skip >= 0)
        conf.line_skip = new_line_skip;

    if ( optind==argc ) return usage(stderr, EXIT_FAILURE);

    if ( list_chroms )
        return query_chroms(argv[optind], args.download_index);

    char *fname = argv[optind];
    int ftype = file_type(fname);
    if ( detect )  // no preset given
    {
        if ( ftype==IS_GFF ) conf = tbx_conf_gff;
        else if ( ftype==IS_BED ) conf = tbx_conf_bed;
        else if ( ftype==IS_GAF ) conf = tbx_conf_gaf;
        else if ( ftype==IS_SAM ) conf = tbx_conf_sam;
        else if ( ftype==IS_VCF )
        {
            conf = tbx_conf_vcf;
            if ( !min_shift && do_csi ) min_shift = 14;
        }
        else if ( ftype==IS_BCF )
        {
            if ( !min_shift ) min_shift = 14;
        }
        else if ( ftype==IS_BAM )
        {
            if ( !min_shift ) min_shift = 14;
        }
    }
    if ( argc > optind+1 || args.header_only || args.regions_fname || args.targets_fname )
    {
        int nregs = 0;
        char **regs = NULL;
        if ( !args.header_only )
            regs = parse_regions(args.regions_fname, argv+optind+1, argc-optind-1, &nregs);
        return query_regions(&args, &conf, fname, regs, nregs);
    }
    if ( do_csi )
    {
        if ( !min_shift ) min_shift = 14;
        min_shift *= do_csi;  // positive for CSIv2, negative for CSIv1
    }
    if ( min_shift!=0 && !do_csi ) do_csi = 1;

    if ( reheader )
        return reheader_file(fname, reheader, ftype, &conf, args.threads);

    char *suffix = ".tbi";
    if ( do_csi ) suffix = ".csi";
    else if ( ftype==IS_BAM ) suffix = ".bai";
    else if ( ftype==IS_CRAM ) suffix = ".crai";

    char *idx_fname = calloc(strlen(fname) + 6, 1);
    if (!idx_fname) error("%s\n", strerror(errno));
    strcat(strcpy(idx_fname, fname), suffix);

    struct stat stat_tbi, stat_file;
    if ( !is_force && stat(idx_fname, &stat_tbi)==0 )
    {
        // Before complaining about existing index, check if the VCF file isn't
        // newer. This is a common source of errors, people tend not to notice
        // that tabix failed
        stat(fname, &stat_file);
        if ( stat_file.st_mtime <= stat_tbi.st_mtime )
            error("[tabix] the index file exists. Please use '-f' to overwrite.\n");
    }
    free(idx_fname);

    int ret;
    if ( ftype==IS_CRAM )
    {
        if ( bam_index_build3(fname, min_shift, args.threads)!=0 ) error("bam_index_build failed: %s\n", fname);
        return 0;
    }
    else if ( do_csi )
    {
        if ( ftype==IS_BCF )
        {
            if ( bcf_index_build3(fname, NULL, min_shift, args.threads)!=0 ) error("bcf_index_build failed: %s\n", fname);
            return 0;
        }
        if ( ftype==IS_BAM )
        {
            if ( bam_index_build3(fname, min_shift, args.threads)!=0 ) error("bam_index_build failed: %s\n", fname);
            return 0;
        }

        switch (ret = tbx_index_build3(fname, NULL, min_shift, args.threads, &conf))
        {
            case 0:
                return 0;
            case -2:
                error("[tabix] the compression of '%s' is not BGZF\n", fname);
            default:
                error("tbx_index_build3 failed: %s\n", fname);
        }
    }
    else    // TBI index
    {
        switch (ret = tbx_index_build3(fname, NULL, min_shift, args.threads, &conf))
        {
            case 0:
                return 0;
            case -2:
                error("[tabix] the compression of '%s' is not BGZF\n", fname);
            default:
                error("tbx_index_build3 failed: %s\n", fname);
        }
    }

    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1d8, %rsp            # imm = 0x1D8
movq %rsi, %r15
movl %edi, %r13d
leaq 0xa9d85(%rip), %rax     # 0xb04b0
movq 0x10(%rax), %rcx
movq %rcx, 0x90(%rsp)
movq %rcx, 0x50(%rsp)
movups (%rax), %xmm0
movaps %xmm0, 0xa0(%rsp)
movaps %xmm0, 0x40(%rsp)
leaq 0xa4bd6(%rip), %rdx     # 0xab329
leaq 0xcacf6(%rip), %rcx     # 0xd1450
xorl %r8d, %r8d
callq 0x48a0
testl %eax, %eax
js 0x6c6b
movq %r15, %r12
movl $0xa, 0x6c(%rsp)
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movq %rcx, 0x78(%rsp)
movl $0x1, (%rsp)
leaq 0xa4b9c(%rip), %rbx     # 0xab329
leaq 0xcacbc(%rip), %r15     # 0xd1450
leaq 0xa48a1(%rip), %rbp     # 0xab03c
movl $0x0, %ecx
movq %rcx, 0x28(%rsp)
movl $0x0, 0x30(%rsp)
movq $0x0, 0x70(%rsp)
movl $0x0, 0x20(%rsp)
movl $0x0, 0x84(%rsp)
movl $0x0, 0x38(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x1, 0x24(%rsp)
movl $0x0, 0x58(%rsp)
movl $0x0, 0x10(%rsp)
movq $0x0, 0x88(%rsp)
movq $0x0, 0x18(%rsp)
cmpl $0x52, %eax
jle 0x6851
leal -0x62(%rax), %ecx
cmpl $0x11, %ecx
ja 0x68c7
movslq (%rbp,%rcx,4), %rax
addq %rbp, %rax
jmpq *%rax
movq 0xcb798(%rip), %rax     # 0xd1fc0
movq (%rax), %rdi
leaq 0x60(%rsp), %rsi
movl $0xa, %edx
callq 0x4700
movl %eax, 0x48(%rsp)
movq 0x60(%rsp), %rax
cmpb $0x0, (%rax)
je 0x6ba3
jmp 0x7ad7
cmpl $0x3f, %eax
jle 0x688a
leal -0x40(%rax), %ecx
cmpl $0x8, %ecx
ja 0x6903
leaq 0xa47af(%rip), %rdx     # 0xab018
movslq (%rdx,%rcx,4), %rax
addq %rdx, %rax
jmpq *%rax
movq 0xcb747(%rip), %rax     # 0xd1fc0
movq (%rax), %rdi
callq 0x4820
movl %eax, 0x38(%rsp)
jmp 0x6baa
leal -0x1(%rax), %ecx
cmpl $0x4, %ecx
ja 0x68f0
leaq 0xa476b(%rip), %rdx     # 0xab004
movslq (%rdx,%rcx,4), %rax
addq %rdx, %rax
jmpq *%rax
movq 0xcb717(%rip), %rax     # 0xd1fc0
movq (%rax), %rdi
callq 0x4820
testl %eax, %eax
movl $0x0, %ecx
cmovlel %ecx, %eax
movl %eax, %edi
callq 0x1ab23
jmp 0x6baa
cmpl $0x53, %eax
je 0x6b22
cmpl $0x54, %eax
jne 0x6c7a
movq 0xcb6e0(%rip), %rax     # 0xd1fc0
movq (%rax), %rax
movq %rax, 0x88(%rsp)
jmp 0x6baa
cmpl $0x30, %eax
jne 0x6c7a
orb $0x1, 0x42(%rsp)
jmp 0x6ba3
cmpl $0x52, %eax
jne 0x6c7a
movq 0xcb6ad(%rip), %rax     # 0xd1fc0
movq (%rax), %rax
movq %rax, 0x18(%rsp)
jmp 0x6baa
movl $0x1, 0x10(%rsp)
movl $0x1, 0x58(%rsp)
jmp 0x6baa
movl $0x1, 0x20(%rsp)
jmp 0x6baa
movl $0x0, 0x24(%rsp)
jmp 0x6baa
movl $0x1, 0x8(%rsp)
jmp 0x6baa
movq 0xcb65d(%rip), %rax     # 0xd1fc0
movq (%rax), %rdi
callq 0x4820
testl %eax, %eax
js 0x6b4f
movl $0x7ff, %ecx            # imm = 0x7FF
cmpl %ecx, %eax
cmovael %ecx, %eax
movl %eax, 0x6c(%rsp)
jmp 0x6baa
movq 0xcb633(%rip), %rax     # 0xd1fc0
movq (%rax), %rax
movq %rax, 0x70(%rsp)
jmp 0x6baa
movq 0xcb61f(%rip), %rax     # 0xd1fc0
movq (%rax), %rdi
leaq 0x60(%rsp), %rsi
movl $0xa, %edx
callq 0x4700
movq %rax, 0x28(%rsp)
movq 0x60(%rsp), %rax
cmpb $0x0, (%rax)
je 0x6baa
jmp 0x7ab1
movq 0xcb5ee(%rip), %rax     # 0xd1fc0
movq (%rax), %r14
movq %r14, %rdi
leaq 0xa49cc(%rip), %rsi     # 0xab3ab
callq 0x46f0
testl %eax, %eax
je 0x6b59
movq %r14, %rdi
leaq 0xa7c96(%rip), %rsi     # 0xae68c
callq 0x46f0
testl %eax, %eax
je 0x6b70
movq %r14, %rdi
leaq 0xa93f5(%rip), %rsi     # 0xafe02
callq 0x46f0
testl %eax, %eax
je 0x6b79
movq %r14, %rdi
leaq 0xa711a(%rip), %rsi     # 0xadb3e
callq 0x46f0
testl %eax, %eax
je 0x6b82
movq %r14, %rdi
leaq 0xa4974(%rip), %rsi     # 0xab3af
callq 0x46f0
testl %eax, %eax
je 0x6b8b
movq %r14, %rdi
leaq 0xa468b(%rip), %rsi     # 0xab0dd
callq 0x46f0
movl $0x1, (%rsp)
testl %eax, %eax
je 0x6baa
movq %r14, %rdi
leaq 0xa4672(%rip), %rsi     # 0xab0e2
callq 0x46f0
testl %eax, %eax
je 0x6baa
jmp 0x7b86
movl $0x1, 0x10(%rsp)
jmp 0x6baa
movq 0xcb52a(%rip), %rax     # 0xd1fc0
movq (%rax), %rdi
leaq 0x60(%rsp), %rsi
movl $0xa, %edx
callq 0x4700
movl %eax, 0x4c(%rsp)
movq 0x60(%rsp), %rax
cmpb $0x0, (%rax)
je 0x6ba3
jmp 0x7ac4
movl $0x1, 0x30(%rsp)
jmp 0x6baa
movq 0xcb4ed(%rip), %rax     # 0xd1fc0
movq (%rax), %rax
movsbl (%rax), %eax
movl %eax, 0x50(%rsp)
jmp 0x6ba3
movl $0x1, 0x84(%rsp)
jmp 0x6baa
movq 0xcb4c7(%rip), %rax     # 0xd1fc0
movq (%rax), %rdi
leaq 0x60(%rsp), %rsi
movl $0xa, %edx
callq 0x4700
movl %eax, 0x44(%rsp)
movq 0x60(%rsp), %rax
cmpb $0x0, (%rax)
je 0x6ba3
jmp 0x7a9e
movq 0xcb497(%rip), %rax     # 0xd1fc0
movq (%rax), %rdi
leaq 0x60(%rsp), %rsi
movl $0xa, %edx
callq 0x4700
movq %rax, 0x78(%rsp)
movq 0x60(%rsp), %rax
cmpb $0x0, (%rax)
je 0x6ba3
jmp 0x7aea
movl $0x0, 0x6c(%rsp)
jmp 0x6baa
movq 0x90(%rsp), %rax
movq %rax, 0x50(%rsp)
movaps 0xa0(%rsp), %xmm0
jmp 0x6b9e
leaq 0xa9951(%rip), %rcx     # 0xb04c8
jmp 0x6b92
leaq 0xa9978(%rip), %rcx     # 0xb04f8
jmp 0x6b92
leaq 0xa9987(%rip), %rcx     # 0xb0510
jmp 0x6b92
leaq 0xa9996(%rip), %rcx     # 0xb0528
movq 0x10(%rcx), %rax
movq %rax, 0x50(%rsp)
movups (%rcx), %xmm0
movaps %xmm0, 0x40(%rsp)
movl $0x0, (%rsp)
movl %r13d, %edi
movq %r12, %rsi
movq %rbx, %rdx
movq %r15, %rcx
xorl %r8d, %r8d
callq 0x48a0
testl %eax, %eax
jns 0x6806
xorl %edi, %edi
cmpl $0x0, 0x24(%rsp)
setne %al
cmpl $0x0, 0x30(%rsp)
sete %bpl
cmpl $0x0, 0x10(%rsp)
sete %r14b
cmpl $0x0, 0x8(%rsp)
sete 0x24(%rsp)
movq 0x78(%rsp), %rcx
testl %ecx, %ecx
js 0x6bf9
movl %ecx, 0x54(%rsp)
movq 0xcb3e0(%rip), %rcx     # 0xd1fe0
movslq (%rcx), %rcx
cmpl %r13d, %ecx
movq 0x88(%rsp), %rbx
movq 0x18(%rsp), %r9
je 0x6c7a
movq %r12, %r15
movb %al, %dil
movl %edi, 0x10(%rsp)
movq (%r12,%rcx,8), %r12
cmpl $0x0, 0x84(%rsp)
je 0x6ceb
movq %r12, %rdi
callq 0x5f0c
testb $0xf, %al
sete %cl
testl %eax, %eax
setne %dl
testb %cl, %dl
je 0x6d7e
cmpb $0x10, %al
je 0x6e14
movzbl %al, %eax
cmpl $0x20, %eax
jne 0x7981
leaq 0xa4f9f(%rip), %rdi     # 0xabc05
jmp 0x7c50
movq 0xcb36e(%rip), %rax     # 0xd1fe0
movslq (%rax), %rax
cmpl %r13d, %eax
jne 0x6c93
movq 0xcb357(%rip), %rax     # 0xd1fd8
movq (%rax), %rdi
callq 0x7c91
movl $0x1, %ebx
jmp 0x7983
movq (%r15,%rax,8), %r12
movq %r12, %rdi
callq 0x5f0c
movl %eax, %r8d
movl $0x1, %ebp
movl $0xa, 0x6c(%rsp)
xorl %ebx, %ebx
movb $0x1, %dil
xorl %r14d, %r14d
movl $0x0, 0x58(%rsp)
movb $0x1, 0x24(%rsp)
movl $0x0, 0x38(%rsp)
movl $0x0, 0x20(%rsp)
movq $0x0, 0x70(%rsp)
movb $0x1, %r9b
movq $0x0, 0x28(%rsp)
jmp 0x6d17
movq %r9, 0x18(%rsp)
movq %r12, %rdi
callq 0x5f0c
movl %ebp, %r9d
movl %r14d, %edi
movq %rbx, %r14
movq 0x18(%rsp), %rbx
movl %eax, %r8d
cmpl $0x0, (%rsp)
movl 0x10(%rsp), %ebp
je 0x6f39
movzbl %r8b, %eax
cmpl $0xf, %eax
jg 0x6d55
decl %eax
cmpl $0x7, %eax
ja 0x6f39
leaq 0xa4352(%rip), %rcx     # 0xab084
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x90(%rsp), %rax
movq %rax, 0x50(%rsp)
movaps 0xa0(%rsp), %xmm0
jmp 0x6f34
cmpl $0x10, %eax
je 0x6e03
cmpl $0x20, %eax
je 0x6e03
cmpl $0x80, %eax
jne 0x6f39
leaq 0xa97af(%rip), %rax     # 0xb0528
jmp 0x6f28
movq %r12, %rdi
xorl %esi, %esi
movl 0x10(%rsp), %edx
callq 0x34846
testq %rax, %rax
je 0x7b62
movq %rax, %rbx
leaq 0x140(%rsp), %rsi
movq %rax, %rdi
callq 0x34a2f
testq %rax, %rax
je 0x7b38
movq %rax, %r14
cmpl $0x0, 0x140(%rsp)
jle 0x6dee
leaq 0xa4764(%rip), %r15     # 0xab529
xorl %r12d, %r12d
movq (%r14,%r12,8), %rsi
movq %r15, %rdi
xorl %eax, %eax
callq 0x4060
testl %eax, %eax
js 0x7a74
incq %r12
movslq 0x140(%rsp), %rax
cmpq %rax, %r12
jl 0x6dc8
movq %r14, %rdi
callq 0x45d0
movq %rbx, %rdi
callq 0x346fd
jmp 0x7981
movq 0x28(%rsp), %rcx
testl %ecx, %ecx
movl $0xe, %eax
jmp 0x6f17
leaq 0xa8eaf(%rip), %rsi     # 0xafcca
movq %r12, %rdi
callq 0x12a60
testq %rax, %rax
je 0x7b0e
movq %rax, %r14
movq %rax, %rdi
callq 0x3ad2f
testq %rax, %rax
je 0x7b95
movq %rax, %rbx
movq %r14, %rdi
callq 0x13cc2
movq %r12, %rdi
xorl %esi, %esi
movl 0x10(%rsp), %edx
callq 0x47b54
testq %rax, %rax
je 0x7b9e
movq %rax, %r14
leaq 0x10cf(%rip), %rdx      # 0x7f3b
leaq 0x140(%rsp), %rsi
movq %rax, %rdi
movq %rbx, %rcx
callq 0x160e7
testq %rax, %rax
je 0x7b38
movq %rax, %r15
cmpl $0x0, 0x140(%rsp)
jle 0x6ec5
leaq 0xa468d(%rip), %r12     # 0xab529
xorl %r13d, %r13d
movq (%r15,%r13,8), %rsi
movq %r12, %rdi
xorl %eax, %eax
callq 0x4060
testl %eax, %eax
js 0x7a74
incq %r13
movslq 0x140(%rsp), %rax
cmpq %rax, %r13
jl 0x6e9f
movq %r15, %rdi
callq 0x45d0
movq %rbx, %rdi
callq 0x3ab8c
movq %r14, %rdi
callq 0x13e3b
jmp 0x7981
leaq 0xa960f(%rip), %rax     # 0xb04f8
jmp 0x6f28
leaq 0xa961e(%rip), %rax     # 0xb0510
movq 0x10(%rax), %rcx
movq %rcx, 0x50(%rsp)
movups (%rax), %xmm0
movaps %xmm0, 0x40(%rsp)
cmpl $0x0, 0x20(%rsp)
movl $0xe, %eax
movq 0x28(%rsp), %rcx
cmovel %ecx, %eax
testl %ecx, %ecx
cmovnel %ecx, %eax
movq %rax, 0x28(%rsp)
jmp 0x6f39
leaq 0xa95a0(%rip), %rax     # 0xb04c8
movq 0x10(%rax), %rcx
movq %rcx, 0x50(%rsp)
movups (%rax), %xmm0
movaps %xmm0, 0x40(%rsp)
movq 0xcb0a0(%rip), %rax     # 0xd1fe0
movslq (%rax), %r10
leal 0x1(%r10), %eax
cmpl %r13d, %eax
setl %al
movl 0x58(%rsp), %esi
testl %esi, %esi
setne %cl
testq %rbx, %rbx
setne %dl
orb %cl, %dl
testq %r14, %r14
setne %cl
orb %dl, %cl
orb %al, %cl
cmpb $0x1, %cl
jne 0x6f90
testl %esi, %esi
movq %r12, 0x8(%rsp)
movl %ebp, 0x10(%rsp)
movb %dil, 0x78(%rsp)
je 0x6fd2
movq $0x0, 0x30(%rsp)
xorl %r15d, %r15d
jmp 0x73bb
movq 0x28(%rsp), %rax
testl %eax, %eax
movl $0xe, %ebp
cmovnel %eax, %ebp
movl 0x20(%rsp), %ebx
testl %ebx, %ebx
cmovel %eax, %ebp
movq 0x70(%rsp), %rsi
testq %rsi, %rsi
je 0x7160
leaq 0x40(%rsp), %rcx
movq %r12, %rdi
movl %r8d, %edx
movl 0x38(%rsp), %r8d
callq 0x6285
movl %eax, %ebx
jmp 0x7983
movl %r10d, %ecx
notl %ecx
addl %r13d, %ecx
xorps %xmm0, %xmm0
movaps %xmm0, 0x140(%rsp)
movq $0x0, 0x150(%rsp)
movl %ecx, %eax
movq %rax, 0x30(%rsp)
testq %rbx, %rbx
je 0x730b
movl %ecx, 0x20(%rsp)
movq %r10, 0x70(%rsp)
movq %r15, 0x28(%rsp)
movq %r14, 0x88(%rsp)
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x1f1e3
testq %rax, %rax
je 0x7bad
movq %rax, %rbp
movq %rax, %rdi
callq 0x1fcff
testq %rax, %rax
je 0x7bb6
movq %rax, %r15
movq %rbp, %rdi
callq 0x1e5bd
addl 0x20(%rsp), %eax
movq %rax, 0x30(%rsp)
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x46b0
movq %rax, 0x18(%rsp)
testq %rax, %rax
je 0x7c88
leaq 0xb0(%rsp), %r14
movq %rbp, %rdi
movq %r14, %rsi
callq 0x1e5e2
cmpl $0x0, (%r14)
jle 0x72cd
movq %rax, %r13
leaq 0x140(%rsp), %r14
xorl %r12d, %r12d
xorl %ebx, %ebx
movq %rbp, (%rsp)
movq (%r13,%r12,8), %rsi
movq %rbp, %rdi
xorl %edx, %edx
movabsq $0x7fffffff7fffffff, %rcx # imm = 0x7FFFFFFF7FFFFFFF
movq %r15, %r8
callq 0x1f5a8
testl %eax, %eax
js 0x7b02
movq %r15, %rdi
callq 0x1fd7d
testl %eax, %eax
je 0x7143
movslq %ebx, %rax
movq 0x18(%rsp), %rcx
leaq (%rcx,%rax,8), %rbp
movq $0x0, 0x140(%rsp)
movq (%r13,%r12,8), %rdx
movq (%r15), %rcx
movq 0x8(%r15), %r8
incq %rcx
incq %r8
movq %r14, %rdi
leaq 0xac0ac(%rip), %rsi     # 0xb31b4
xorl %eax, %eax
callq 0x862f
testl %eax, %eax
js 0x7c88
movq 0x150(%rsp), %rdi
callq 0x4970
movq %rax, (%rbp)
testq %rax, %rax
je 0x7c88
movq %r15, %rdi
callq 0x1fd7d
incl %ebx
addq $0x8, %rbp
testl %eax, %eax
jne 0x70e0
incq %r12
movslq 0xb0(%rsp), %rax
cmpq %rax, %r12
movq (%rsp), %rbp
jl 0x70a4
jmp 0x72cf
movb %r9b, (%rsp)
movl %r8d, %r13d
movq %r12, %rdi
callq 0x41d0
leaq 0x6(%rax), %rdi
movl $0x1, %esi
callq 0x4300
testq %rax, %rax
je 0x7b6b
movq %rax, %r14
orl %ebp, %ebx
cmpl $0x40, %r13d
leaq 0xa42d1(%rip), %rax     # 0xab467
leaq 0xa42bb(%rip), %rcx     # 0xab458
cmoveq %rax, %rcx
cmpl $0x20, %r13d
leaq 0xa42b6(%rip), %rax     # 0xab462
cmovneq %rcx, %rax
testl %ebx, %ebx
leaq 0xa42a4(%rip), %r15     # 0xab45d
cmoveq %rax, %r15
movq %r14, %rdi
movq %r12, 0x8(%rsp)
movq %r12, %rsi
callq 0x4470
movq %r14, %rdi
movq %r15, %rsi
callq 0x4930
cmpb $0x0, (%rsp)
je 0x7219
leaq 0x140(%rsp), %rsi
movq %r14, %rdi
callq 0x4430
testl %eax, %eax
jne 0x7219
leaq 0xb0(%rsp), %r15
movq 0x8(%rsp), %rdi
movq %r15, %rsi
callq 0x4430
movq 0x58(%r15), %rax
cmpq 0x198(%rsp), %rax
jle 0x7c49
movq %r14, %rdi
callq 0x45d0
cmpl $0x40, %r13d
jne 0x7281
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
movl %ebp, %edx
movl 0x38(%rsp), %ecx
callq 0x22958
testl %eax, %eax
je 0x7981
leaq 0xa4260(%rip), %rdi     # 0xab4ab
jmp 0x7c41
callq 0x100fd
leaq 0xa41c1(%rip), %rdi     # 0xab41d
xorl %ebx, %ebx
movq %rax, %rsi
xorl %eax, %eax
callq 0x4060
jmp 0x7983
movq 0xcad3c(%rip), %rax     # 0xd1fb0
movq (%rax), %rdi
callq 0x7c91
jmp 0x7981
testl %ebx, %ebx
movl 0x38(%rsp), %ecx
movq 0x8(%rsp), %rbx
je 0x79ba
cmpb $0x20, %r13b
je 0x79c8
movzbl %r13b, %eax
cmpl $0x10, %eax
jne 0x79d4
movq %rbx, %rdi
xorl %esi, %esi
movl %ebp, %edx
movl 0x38(%rsp), %ecx
callq 0x47b5d
testl %eax, %eax
je 0x7981
leaq 0xa41ff(%rip), %rdi     # 0xab4c7
jmp 0x7c41
xorl %ebx, %ebx
movq %rbp, %rdi
callq 0x1f0c4
movq %r15, %rdi
callq 0x1fd67
movq 0x150(%rsp), %rdi
callq 0x45d0
testl %ebx, %ebx
movq 0x8(%rsp), %r12
movq 0x88(%rsp), %r14
movq 0x28(%rsp), %r15
movq 0x70(%rsp), %r10
movl 0x20(%rsp), %ecx
jne 0x7335
testl %ecx, %ecx
je 0x7383
movq %r10, %r13
movl %ecx, %ebp
movslq %ecx, %rdi
shlq $0x3, %rdi
callq 0x46b0
movq %rax, 0x18(%rsp)
testq %rax, %rax
je 0x7c88
xorl %ebx, %ebx
movq %r13, %r10
movl %ebp, %ecx
testl %ecx, %ecx
jle 0x737c
movq %r14, %rbp
movq %r12, %r13
leaq (%r15,%r10,8), %r14
addq $0x8, %r14
movslq %ebx, %rax
movl %ecx, %ebx
movq 0x18(%rsp), %rcx
leaq (%rcx,%rax,8), %r15
xorl %r12d, %r12d
movq (%r14,%r12,8), %rdi
callq 0x4970
movq %rax, (%r15,%r12,8)
testq %rax, %rax
je 0x7c88
incq %r12
cmpq %r12, %rbx
jne 0x7358
movq %r13, %r12
movq %rbp, %r14
movq 0x18(%rsp), %r15
jmp 0x73bb
movl $0x8, %edi
callq 0x46b0
testq %rax, %rax
je 0x7c88
movq %rax, %r15
leaq 0xa544c(%rip), %rdi     # 0xac7ec
callq 0x4970
movq %rax, (%r15)
movl $0x1, %ecx
movq %rcx, 0x30(%rsp)
testq %rax, %rax
je 0x7c88
movq %r14, %r13
xorps %xmm0, %xmm0
movaps %xmm0, 0xb0(%rsp)
leaq 0xa88fa(%rip), %rsi     # 0xafcca
movq %r12, %rdi
callq 0x12a60
testq %rax, %rax
je 0x7b0e
movq %rax, %r14
movq %rax, %rdi
callq 0x13f7f
movl 0x4(%rax), %ebx
movl 0x6c(%rsp), %esi
testl %esi, %esi
je 0x7402
shll $0x14, %esi
movq %r14, %rdi
callq 0x14041
movq %r14, (%rsp)
movl 0x38(%rsp), %edi
testl %edi, %edi
movq %r13, %r14
jle 0x746c
callq 0x36481
movq %rax, 0xb0(%rsp)
testq %rax, %rax
jne 0x743d
leaq 0xa485f(%rip), %rsi     # 0xabc89
leaq 0xa3d08(%rip), %rdx     # 0xab139
movl $0x4, %edi
xorl %eax, %eax
callq 0x1295d
leaq 0xb0(%rsp), %rsi
movq (%rsp), %rdi
callq 0x13ff7
testl %eax, %eax
jns 0x746c
leaq 0xa4830(%rip), %rsi     # 0xabc89
leaq 0xa3cfb(%rip), %rdx     # 0xab15b
movl $0x4, %edi
xorl %eax, %eax
callq 0x1295d
testq %r14, %r14
je 0x74af
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x1f1e3
movq %rax, %r12
testq %rax, %rax
movq (%rsp), %rdi
jne 0x74b6
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x74a0
callq 0x36eb3
leaq 0xa4769(%rip), %rdi     # 0xabc10
movq %r14, %rsi
jmp 0x7a6d
xorl %r12d, %r12d
movq (%rsp), %rdi
cmpl $0xd, %ebx
ja 0x792a
movl $0x210d, %eax           # imm = 0x210D
btl %ebx, %eax
movq %r15, 0x18(%rsp)
jae 0x757c
movq 0x8(%rsp), %rdi
xorl %esi, %esi
movl 0x10(%rsp), %edx
callq 0x34846
testq %rax, %rax
je 0x7b44
movq %rax, %r13
xorps %xmm0, %xmm0
movaps %xmm0, 0x140(%rsp)
movq $0x0, 0x150(%rsp)
cmpb $0x0, 0x78(%rsp)
jne 0x77b3
leaq 0x140(%rsp), %rbx
movq (%rsp), %rdi
movl $0x2, %esi
movq %rbx, %rdx
callq 0x142aa
testl %eax, %eax
js 0x77aa
cmpq $0x0, 0x140(%rsp)
je 0x77aa
movq 0x150(%rsp), %rdi
movsbl (%rdi), %eax
cmpl %eax, 0x10(%r13)
jne 0x77b3
callq 0x4800
testl %eax, %eax
jns 0x7518
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x7570
callq 0x36eb3
leaq 0xa4865(%rip), %rdi     # 0xabddc
jmp 0x7c8a
cmpl $0x9, %ebx
jne 0x7997
leaq 0xa804e(%rip), %rdi     # 0xaf5da
leaq 0xa795e(%rip), %rsi     # 0xaeef1
callq 0x12a60
testq %rax, %rax
je 0x7bc5
movq %rax, %rbx
leaq 0xb0(%rsp), %rsi
movq %rax, %rdi
callq 0x13ff7
testl %eax, %eax
jns 0x75d2
leaq 0xa46ca(%rip), %rsi     # 0xabc89
leaq 0xa3bec(%rip), %rdx     # 0xab1b2
movl $0x4, %edi
xorl %eax, %eax
callq 0x1295d
movq 0x8(%rsp), %rdi
xorl %esi, %esi
movl 0x10(%rsp), %edx
callq 0x47b54
movq %rax, 0x38(%rsp)
testq %rax, %rax
je 0x7be3
movq (%rsp), %rdi
callq 0x3ad2f
testq %rax, %rax
je 0x7c01
movq %rax, %r14
cmpb $0x0, 0x78(%rsp)
jne 0x761f
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3ba02
testl %eax, %eax
jne 0x7a80
cmpl $0x0, 0x58(%rsp)
jne 0x7783
testq %r15, %r15
je 0x7c57
movq %rbx, 0x10(%rsp)
callq 0x3bdb6
testq %rax, %rax
je 0x7c76
movq %rax, %rbp
cmpl $0x0, 0x30(%rsp)
jle 0x7776
movl 0x30(%rsp), %eax
movq %rax, 0x58(%rsp)
xorl %ebx, %ebx
movq (%r15,%rbx,8), %rsi
movq 0x38(%rsp), %rdi
leaq 0x8f2(%rip), %rdx       # 0x7f61
movq %r14, %rcx
leaq 0xee70(%rip), %r8       # 0x164e9
leaq 0x35a26(%rip), %r9      # 0x3d0a6
callq 0x18f5d
testq %rax, %rax
je 0x7768
movq %rax, %r13
xorl %r15d, %r15d
movq (%rsp), %rax
testb $0x10, (%rax)
je 0x7a2a
movq 0x38(%rax), %rdi
movq %r13, %rsi
movq %rbp, %rdx
xorl %ecx, %ecx
callq 0x191aa
testl %eax, %eax
js 0x7752
testq %r12, %r12
je 0x770c
movslq 0x10(%rbp), %rdx
testq %rdx, %rdx
js 0x7a02
cmpl %edx, 0x4(%r14)
jle 0x7a02
movq 0x18(%r14), %rax
movq %rdx, %rcx
shlq $0x4, %rcx
movq (%rax,%rcx), %rsi
testq %rsi, %rsi
je 0x7a02
movq (%rbp), %rdx
movq 0x8(%rbp), %rax
leaq (%rdx,%rax), %rcx
decq %rcx
movq %r12, %rdi
xorl %r8d, %r8d
callq 0x1f5a8
testl %eax, %eax
je 0x7694
orb 0x24(%rsp), %r15b
testb $0x1, %r15b
jne 0x7732
movl 0x50(%rsp), %esi
movq 0x18(%rsp), %rax
movq (%rax,%rbx,8), %rdx
leaq 0xa4644(%rip), %rdi     # 0xabd6f
xorl %eax, %eax
callq 0x4060
movq 0x10(%rsp), %rdi
movq %r14, %rsi
movq %rbp, %rdx
callq 0x3dcfe
movb $0x1, %r15b
testl %eax, %eax
je 0x7694
jmp 0x7a80
cmpl $-0x1, %eax
jne 0x7a4f
movq %r13, %rdi
callq 0x1709d
movq 0x18(%rsp), %r15
incq %rbx
cmpq 0x58(%rsp), %rbx
jne 0x765f
movq %rbp, %rdi
callq 0x3bf61
movq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x13cc2
testl %eax, %eax
jne 0x7c1f
movq %r14, %rdi
callq 0x3ab8c
movq 0x38(%rsp), %rdi
callq 0x13e3b
jmp 0x7926
cmpl $-0x2, %eax
jle 0x7a4f
cmpl $0x0, 0x58(%rsp)
jne 0x7911
testq %r12, %r12
je 0x77f9
leaq 0x9c(%rsp), %rsi
movq %r13, %rdi
callq 0x34a2f
movq %rax, %r14
testq %rax, %rax
jne 0x77fc
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x77ed
callq 0x36eb3
leaq 0xa4600(%rip), %rdi     # 0xabdf4
jmp 0x7c8a
xorl %r14d, %r14d
cmpl $0x0, 0x30(%rsp)
jle 0x7909
movl 0x30(%rsp), %eax
movq %rax, 0x58(%rsp)
leaq 0x140(%rsp), %rbp
xorl %eax, %eax
movq 0x18(%r13), %rdi
movq %rax, 0x10(%rsp)
movq (%r15,%rax,8), %rsi
leaq 0x2bec6(%rip), %rdx     # 0x336f4
movq %r13, %rcx
leaq 0xecb1(%rip), %r8       # 0x164e9
leaq 0x2c7f3(%rip), %r9      # 0x34032
callq 0x18f5d
testq %rax, %rax
je 0x78f6
movq %rax, %rbx
xorl %r15d, %r15d
movq (%rsp), %rdi
callq 0x140a3
movq %rax, %rdi
movq %rbx, %rsi
movq %rbp, %rdx
movq %r13, %rcx
callq 0x191aa
testl %eax, %eax
js 0x78e0
testq %r12, %r12
je 0x7898
movslq 0x30(%rbx), %rax
movq (%r14,%rax,8), %rsi
movq 0x40(%rbx), %rdx
movq 0x48(%rbx), %rcx
decq %rcx
movq %r12, %rdi
xorl %r8d, %r8d
callq 0x1f5a8
testl %eax, %eax
je 0x7853
orb 0x24(%rsp), %r15b
testb $0x1, %r15b
jne 0x78c3
movl 0x50(%rsp), %esi
movq 0x18(%rsp), %rax
movq 0x10(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0xa44b3(%rip), %rdi     # 0xabd6f
xorl %eax, %eax
callq 0x4060
movq 0x150(%rsp), %rdi
callq 0x4800
movb $0x1, %r15b
testl %eax, %eax
jns 0x7853
jmp 0x7a80
cmpl $-0x1, %eax
jne 0x7a4f
movq %rbx, %rdi
callq 0x1709d
movq 0x18(%rsp), %r15
movq 0x10(%rsp), %rax
incq %rax
cmpq 0x58(%rsp), %rax
jne 0x781a
movq %r14, %rdi
callq 0x45d0
movq 0x150(%rsp), %rdi
callq 0x45d0
movq %r13, %rdi
callq 0x346fd
movq (%rsp), %rdi
testq %r12, %r12
je 0x793b
movq %r12, %rdi
callq 0x1f0c4
movq (%rsp), %rdi
callq 0x13cc2
testl %eax, %eax
jne 0x7b1a
movq 0x30(%rsp), %rax
testl %eax, %eax
jle 0x7967
movl %eax, %ebx
xorl %r14d, %r14d
movq (%r15,%r14,8), %rdi
callq 0x45d0
incq %r14
cmpq %r14, %rbx
jne 0x7956
movq %r15, %rdi
callq 0x45d0
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x7981
callq 0x36eb3
xorl %ebx, %ebx
movl %ebx, %eax
addq $0x1d8, %rsp            # imm = 0x1D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x4, %ebx
jne 0x792a
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x79ae
callq 0x36eb3
leaq 0xa4461(%rip), %rdi     # 0xabe16
jmp 0x7c50
leaq 0x40(%rsp), %r8
movq %rbx, %rdi
xorl %esi, %esi
movl %ebp, %edx
jmp 0x79e4
movq %rbx, %rdi
xorl %esi, %esi
movl %ebp, %edx
jmp 0x7237
leaq 0x40(%rsp), %r8
movq %rbx, %rdi
xorl %esi, %esi
movl %ebp, %edx
movl 0x38(%rsp), %ecx
callq 0x34776
testl %eax, %eax
je 0x7981
cmpl $-0x2, %eax
jne 0x7c3a
leaq 0xa3ae6(%rip), %rdi     # 0xab4e3
jmp 0x7c41
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x7a17
callq 0x36eb3
movl 0x10(%rbp), %edx
leaq 0xa4322(%rip), %rdi     # 0xabd40
movq 0x8(%rsp), %rsi
xorl %eax, %eax
callq 0x60b9
leaq 0xa4440(%rip), %rsi     # 0xabe71
leaq 0xa4446(%rip), %rdx     # 0xabe7e
movl $0x1, %edi
xorl %eax, %eax
callq 0x1295d
callq 0x4050
movl $0x16, (%rax)
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x7a61
callq 0x36eb3
leaq 0xa430d(%rip), %rdi     # 0xabd75
movq 0x8(%rsp), %rsi
xorl %eax, %eax
callq 0x616d
leaq 0xa411b(%rip), %rdi     # 0xabb96
jmp 0x7c8a
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x7a92
callq 0x36eb3
leaq 0xa4238(%rip), %rdi     # 0xabcd1
jmp 0x7c8a
movq 0xca51b(%rip), %rax     # 0xd1fc0
movq (%rax), %rsi
leaq 0xa392c(%rip), %rdi     # 0xab3db
jmp 0x7afb
movq 0xca508(%rip), %rax     # 0xd1fc0
movq (%rax), %rsi
leaq 0xa38c8(%rip), %rdi     # 0xab38a
jmp 0x7afb
movq 0xca4f5(%rip), %rax     # 0xd1fc0
movq (%rax), %rsi
leaq 0xa3894(%rip), %rdi     # 0xab369
jmp 0x7afb
movq 0xca4e2(%rip), %rax     # 0xd1fc0
movq (%rax), %rsi
leaq 0xa3860(%rip), %rdi     # 0xab348
jmp 0x7afb
movq 0xca4cf(%rip), %rax     # 0xd1fc0
movq (%rax), %rsi
leaq 0xa3901(%rip), %rdi     # 0xab3fc
xorl %eax, %eax
callq 0x60b9
leaq 0xa4157(%rip), %rdi     # 0xabc60
jmp 0x7c8a
leaq 0xa409a(%rip), %rdi     # 0xabbaf
jmp 0x7ba5
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x7b2c
callq 0x36eb3
leaq 0xa4317(%rip), %rdi     # 0xabe4a
jmp 0x7a68
leaq 0xa4033(%rip), %rdi     # 0xabb72
jmp 0x7c8a
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x7b56
callq 0x36eb3
leaq 0xa425a(%rip), %rdi     # 0xabdb7
jmp 0x7a68
leaq 0xa3fe9(%rip), %rdi     # 0xabb52
jmp 0x7ba5
callq 0x4050
movl (%rax), %edi
callq 0x4150
leaq 0xa39ab(%rip), %rdi     # 0xab529
movq %rax, %rsi
jmp 0x7afb
leaq 0xa3826(%rip), %rdi     # 0xab3b3
movq %r14, %rsi
jmp 0x7afb
leaq 0xa4027(%rip), %rdi     # 0xabbc3
jmp 0x7ba5
leaq 0xa403e(%rip), %rdi     # 0xabbe3
movq %r12, %rsi
jmp 0x7a6d
leaq 0xa405c(%rip), %rdi     # 0xabc10
jmp 0x7bbd
leaq 0xa4078(%rip), %rdi     # 0xabc35
movq %rbx, %rsi
jmp 0x7a6d
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x7bd7
callq 0x36eb3
leaq 0xa40b9(%rip), %rdi     # 0xabc97
jmp 0x7c8a
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x7bf5
callq 0x36eb3
leaq 0xa3fe7(%rip), %rdi     # 0xabbe3
jmp 0x7a68
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x7c13
callq 0x36eb3
leaq 0xa4093(%rip), %rdi     # 0xabcad
jmp 0x7a68
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x7c31
callq 0x36eb3
leaq 0xa4151(%rip), %rdi     # 0xabd89
jmp 0x7c8a
leaq 0xa38cf(%rip), %rdi     # 0xab510
movq %rbx, %rsi
jmp 0x7afb
leaq 0xa381d(%rip), %rdi     # 0xab46d
xorl %eax, %eax
callq 0x60b9
leaq 0xa408d(%rip), %rdi     # 0xabceb
leaq 0xa4093(%rip), %rsi     # 0xabcf8
leaq 0xa4094(%rip), %rcx     # 0xabd00
movl $0x10b, %edx            # imm = 0x10B
callq 0x42f0
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x7c88
callq 0x36eb3
xorl %edi, %edi
xorl %eax, %eax
callq 0x616d