// File: /workspace/github_c_makefile_star2_O2/c-zhou[P]yahs/juicer.c
// Function: main_pre
static int main_pre(int argc, char *argv[])
{
    FILE *fo;
    char *fai, *agp, *agp1, *link_file, *out, *out1, *annot, *lift, *ext1, *ext2;
    int mq, asm_mode;;
    enum fileTypes f_type;

    liftrlimit();
    jc_realtime0 = realtime();

    const char *opt_str = "q:ao:Vh";
    ketopt_t opt = KETOPT_INIT;
    int c, ret;
    FILE *fp_help = stderr;
    fai = agp = agp1 = link_file = out = out1 = annot = lift = 0;
    mq = 10;
    asm_mode = 0;
    f_type = NOSET;

    while ((c = ketopt(&opt, argc, argv, 1, opt_str, long_options)) >= 0) {
        if (c == 'o') {
            out = opt.arg;
        } else if (c == 'q') {
            mq = atoi(opt.arg);
        } else if (c == 'a') {
            asm_mode = 1;
        } else if (c == 301) {
            if (strcasecmp(opt.arg, "BED") == 0)
                f_type = BED;
            else if (strcasecmp(opt.arg, "BAM") == 0)
                f_type = BAM;
            else if (strcasecmp(opt.arg, "BIN") == 0)
                f_type = BIN;
            else if (strcasecmp(opt.arg, "PA5") == 0)
                f_type = PA5;
            else {
                fprintf(stderr, "[E::%s] unknown file type: \"%s\"\n", __func__, opt.arg);
                return 1;
            }
        } else if (c == 'h') {
            fp_help = stdout;   
        } else if (c == 'V') {
            puts(JUICER_VERSION);
            return 0;
        } else if (c == '?') {
            fprintf(stderr, "[E::%s] unknown option: \"%s\"\n", __func__, argv[opt.i - 1]);
            return 1;
        } else if (c == ':') {
            fprintf(stderr, "[E::%s] missing option: \"%s\"\n", __func__, argv[opt.i - 1]);
            return 1;
        }
    }

    if (fp_help == stdout) {
        print_help_pre(stdout);
        return 0;
    }

    if (asm_mode && !out) {
        fprintf(stderr, "[E::%s] missing input: -o option is required for assembly mode (-a)\n", __func__);
        return 1;
    }

    if (argc - opt.ind < 3) {
        fprintf(stderr, "[E::%s] missing input: three positional options required\n", __func__);
        print_help_pre(stderr);
        return 1;
    }
    
    if (mq < 0 || mq > 255) {
        fprintf(stderr, "[E::%s] invalid mapping quality threshold: %d\n", __func__, mq);
        return 1;
    }

    uint8_t mq8;
    mq8 = (uint8_t) mq;

    link_file = argv[opt.ind];
    agp = argv[opt.ind + 1];
    fai = argv[opt.ind + 2];

    if (f_type == NOSET) {
        ext1 = strlen(link_file) >= 4? (link_file + strlen(link_file) - 4) : NULL;
        ext2 = strlen(link_file) >= 7? (link_file + strlen(link_file) - 7) : NULL;
        if (ext1 && !strcasecmp(ext1, ".bam")) f_type = BAM;
        else if (ext1 && !strcasecmp(ext1, ".bin")) f_type = BIN;
        else if ((ext1 && !strcasecmp(ext1, ".bed")) || (ext2 && !strcasecmp(ext2, ".bed.gz"))) f_type = BED;
        else if ((ext1 && !strcasecmp(ext1, ".pa5")) || (ext2 && !strcasecmp(ext2, ".pa5.gz"))) f_type = PA5;
        else {
            fprintf(stderr, "[E::%s] unknown link file format. File extension .bam, .bed, .pa5 or .bin or --file-type is expected\n", __func__);
            exit(EXIT_FAILURE);
        }
    }
    
    if (f_type == BIN && (strcmp(link_file, "-") == 0 || *link_file == '<')) {
        fprintf(stderr, "[E::%s] BIN file format from STDIN is not supported\n", __func__);
        exit(EXIT_FAILURE);
    }

    if (out) {
        out1 = (char *) malloc(strlen(out) + 35);
        sprintf(out1, "%s.txt", out);
    }

    fo = out1 == 0? stdout : fopen(out1, "w");
    if (fo == 0) {
        fprintf(stderr, "[E::%s] cannot open file %s for writing\n", __func__, out);
        exit(EXIT_FAILURE);
    }
    ret = 0;
    
    sdict_t *sdict;
    asm_dict_t *dict;
    int scale;
    uint64_t max_s, scaled_s;
    
    sdict = make_sdict_from_index(fai, 0);
    scale = 0;
    max_s = scaled_s = 0;
    agp1 = (char *) malloc(MAX(strlen(agp), out? strlen(out) : 0) + 35);
    if (asm_mode) {
        annot = (char *) malloc(strlen(out) + 35);
        lift = (char *) malloc(strlen(out) + 35);
        sprintf(agp1, "%s.assembly.agp", out);
        sprintf(annot, "%s.assembly", out);
        sprintf(lift, "%s.liftover.agp", out);
        scaled_s = assembly_annotation(agp, sdict, agp1, annot, lift, &scale, (uint64_t) INT_MAX, &max_s);
        dict = make_asm_dict_from_agp(sdict, agp1, 1);
    } else {
        sprintf(agp1, "%s", agp);
        dict = make_asm_dict_from_agp(sdict, agp1, 1);
        scaled_s = assembly_scale_max_seq(dict, &scale, (uint64_t) INT_MAX, &max_s);
    }

    if (f_type == BAM) {
        fprintf(stderr, "[I::%s] make juicer pre input from BAM file %s\n", __func__, link_file);
        ret = make_juicer_pre_file_from_bam(link_file, agp1, fai, mq8, scale, !asm_mode, fo);
    } else if (f_type == BED) {
        fprintf(stderr, "[I::%s] make juicer pre input from BED file %s\n", __func__, link_file);
        ret = make_juicer_pre_file_from_bed(link_file, agp1, fai, mq8, scale, !asm_mode, fo);
    } else if (f_type == PA5) {
        fprintf(stderr, "[I::%s] make juicer pre input from PA5 file %s\n", __func__, link_file);
        ret = make_juicer_pre_file_from_pa5(link_file, agp1, fai, mq8, scale, !asm_mode, fo);
    } else if (f_type == BIN) {
        fprintf(stderr, "[I::%s] make juicer pre input from BIN file %s\n", __func__, link_file);
        ret = make_juicer_pre_file_from_bin(link_file, agp1, fai, mq8, scale, !asm_mode, fo);
    }

    if (asm_mode) {
        fprintf(stderr, "[I::%s] genome size: %lu\n", __func__, max_s);
        fprintf(stderr, "[I::%s] scale factor: %d\n", __func__, 1 << scale);
        fprintf(stderr, "[I::%s] chromosome sizes for juicer_tools pre -\n", __func__);
        fprintf(stderr, "PRE_C_SIZE: assembly %lu\n", scaled_s);
        fprintf(stderr, "[I::%s] JUICER_PRE CMD: java -Xmx36G -jar ${juicer_tools} pre %s %s.hic <(echo \"assembly %lu\")\n", 
                __func__, out1, out, scaled_s);
    } else {
        if (scale) {
            fprintf(stderr, "[W::%s] maximum scaffold length exceeds %d (=%lu)\n", __func__, INT_MAX, max_s);
            fprintf(stderr, "[W::%s] using scale factor: %d\n", __func__, 1 << scale);
        }
        fprintf(stderr, "[I::%s] chromosome sizes for juicer_tools pre -\n", __func__);
        uint32_t i;
        sd_aseq_t seq;
        for (i = 0; i < dict->n; ++i) {
            seq = dict->s[i];
            fprintf(stderr, "PRE_C_SIZE: %s %lu\n", seq.name, (seq.len + seq.gap) >> scale);
        }
    }

    asm_destroy(dict);
    sd_destroy(sdict);

    if (out != 0)
        fclose(fo);
    
    if (out1)
        free(out1);

    if (agp1)
        free(agp1);

    if (annot)
        free(annot);

    if (lift)
        free(lift);

    fprintf(stderr, "[I::%s] Version: %s\n", __func__, JUICER_VERSION);
    fprintf(stderr, "[I::%s] CMD: juicer", __func__);
    int i;
    for (i = 0; i < argc; ++i)
        fprintf(stderr, " %s", argv[i]);
    fprintf(stderr, "\n[I::%s] Real time: %.3f sec; CPU: %.3f sec; Peak RSS: %.3f GB\n", __func__, 
            realtime() - jc_realtime0, cputime(), peakrss() / 1024.0 / 1024.0 / 1024.0);

    return ret;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x14188, %rsp          # imm = 0x14188
movq %rsi, 0xa8(%rsp)
movq %rdi, 0x110(%rsp)
xorl %r13d, %r13d
xorl %eax, %eax
callq 0x25df
callq 0x2637
movsd %xmm0, 0x9fcf(%rip)     # 0x13408
movups 0x58d8(%rip), %xmm0     # 0xed18
leaq 0x160(%rsp), %rbx
movaps %xmm0, 0x10(%rbx)
movupd 0x58b4(%rip), %xmm0     # 0xed08
movapd %xmm0, (%rbx)
movq 0x9b99(%rip), %rax      # 0x12ff8
movq (%rax), %r14
pushq $0xa
popq %rax
movl %eax, 0x20(%rsp)
leaq 0x4b3c(%rip), %r15      # 0xdfac
pushq $0x1
popq %rbp
movl $0x0, 0x18(%rsp)
movq $0x0, 0xa0(%rsp)
movl %r13d, 0x68(%rsp)
movq %rbx, %rdi
movq 0x110(%rsp), %rsi
movq 0xa8(%rsp), %rdx
movq %r15, %rcx
callq 0xb906
testl %eax, %eax
js 0x95d3
movl %ebp, %r13d
cmpl $0x61, %eax
je 0x9487
cmpl $0x68, %eax
je 0x95bd
cmpl $0x6f, %eax
je 0x94f4
cmpl $0x71, %eax
je 0x9509
cmpl $0x12d, %eax            # imm = 0x12D
je 0x951f
cmpl $0x56, %eax
je 0x95fc
cmpl $0x3a, %eax
je 0x96e7
movl 0x68(%rsp), %ecx
movl %ecx, %r13d
cmpl $0x3f, %eax
jne 0x9487
jmp 0x96bf
movq 0x168(%rsp), %rax
movq %rax, 0xa0(%rsp)
jmp 0x95c7
movq 0x168(%rsp), %rdi
callq 0x23b0
movl %eax, 0x20(%rsp)
jmp 0x95c7
movq 0x168(%rsp), %r12
movq %r12, %rdi
leaq 0x4a83(%rip), %rsi      # 0xdfb4
callq 0x28ae
movl 0x68(%rsp), %ecx
movl %ecx, %r13d
movl %ebp, 0x18(%rsp)
testl %eax, %eax
je 0x9487
movq %r12, %rdi
leaq 0x4a65(%rip), %rsi      # 0xdfb8
callq 0x28ae
movl 0x68(%rsp), %ecx
movl %ecx, %r13d
pushq $0x2
popq %rcx
movl %ecx, 0x18(%rsp)
testl %eax, %eax
je 0x9487
movq %r12, %rdi
leaq 0x4a44(%rip), %rsi      # 0xdfbc
callq 0x28ae
movl 0x68(%rsp), %ecx
movl %ecx, %r13d
pushq $0x3
popq %rcx
movl %ecx, 0x18(%rsp)
testl %eax, %eax
je 0x9487
movq %r12, %rdi
leaq 0x4a23(%rip), %rsi      # 0xdfc0
callq 0x28ae
movl 0x68(%rsp), %ecx
movl %ecx, %r13d
pushq $0x4
popq %rcx
movl %ecx, 0x18(%rsp)
testl %eax, %eax
je 0x9487
jmp 0x979e
movq 0x9a0c(%rip), %rax      # 0x12fd0
movq (%rax), %r14
movl 0x68(%rsp), %eax
movl %eax, %r13d
jmp 0x9487
movq 0x99f6(%rip), %r13      # 0x12fd0
movq (%r13), %rdi
cmpq %rdi, %r14
jne 0x960a
callq 0xbbf1
xorl %eax, %eax
addq $0x14188, %rsp          # imm = 0x14188
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x48b6(%rip), %rdi      # 0xdeb9
callq 0x20c0
jmp 0x95e8
cmpl $0x0, 0x68(%rsp)
sete %al
cmpq $0x0, 0xa0(%rsp)
setne %cl
orb %al, %cl
je 0x9665
movslq 0x160(%rsp), %rax
movq 0x110(%rsp), %rcx
subl %eax, %ecx
cmpl $0x2, %ecx
jg 0x9689
movq 0x99b8(%rip), %rbx      # 0x12ff8
movq (%rbx), %rdi
leaq 0x4a25(%rip), %rsi      # 0xe06f
leaq 0x4994(%rip), %rdx      # 0xdfe5
xorl %eax, %eax
callq 0x2230
movq (%rbx), %rdi
callq 0xbbf1
jmp 0x971b
movq 0x998c(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x49b4(%rip), %rsi      # 0xe02a
leaq 0x4968(%rip), %rdx      # 0xdfe5
xorl %eax, %eax
callq 0x2230
jmp 0x971b
movl 0x20(%rsp), %r15d
cmpl $0x100, %r15d           # imm = 0x100
jb 0x9723
movq 0x9956(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x49fd(%rip), %rsi      # 0xe0a9
leaq 0x4932(%rip), %rdx      # 0xdfe5
movl %r15d, %ecx
xorl %eax, %eax
callq 0x2230
jmp 0x971b
movq 0x9932(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
movslq 0x174(%rsp), %rax
movq 0xa8(%rsp), %rcx
movq -0x8(%rcx,%rax,8), %rcx
leaq 0x4909(%rip), %rsi      # 0xdfee
jmp 0x970d
movq 0x990a(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
movslq 0x174(%rsp), %rax
movq 0xa8(%rsp), %rcx
movq -0x8(%rcx,%rax,8), %rcx
leaq 0x48ff(%rip), %rsi      # 0xe00c
leaq 0x48d1(%rip), %rdx      # 0xdfe5
xorl %eax, %eax
callq 0x2230
pushq $0x1
popq %rax
jmp 0x95ea
movq 0xa8(%rsp), %rcx
movq (%rcx,%rax,8), %r14
movq 0x8(%rcx,%rax,8), %rdx
movq %rdx, 0x10(%rsp)
movq 0x10(%rcx,%rax,8), %rax
movq %rax, 0xd8(%rsp)
movl 0x18(%rsp), %eax
cmpl $0x3, %eax
je 0x97d6
testl %eax, %eax
jne 0x982b
movq %r14, %rdi
callq 0x2130
cmpq $0x4, %rax
jb 0xb090
movq %rax, %rbx
leaq (%r14,%rax), %r12
addq $-0x4, %r12
leaq 0x4959(%rip), %rsi      # 0xe0d8
movq %r12, %rdi
callq 0x28ae
testl %eax, %eax
jne 0x97be
pushq $0x2
popq %rax
movl %eax, 0x18(%rsp)
xorl %ebp, %ebp
movl 0x20(%rsp), %r15d
jmp 0x982d
movq 0x9853(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x4815(%rip), %rsi      # 0xdfc4
leaq 0x482f(%rip), %rdx      # 0xdfe5
movq %r12, %rcx
jmp 0x9714
leaq 0x4918(%rip), %rsi      # 0xe0dd
movq %r12, %rdi
callq 0x28ae
testl %eax, %eax
movl 0x20(%rsp), %r15d
jne 0x980d
movzbl (%r14), %eax
pushq $0x3
popq %rcx
movl %ecx, 0x18(%rsp)
movb $0x1, %bpl
cmpl $0x2d, %eax
je 0x97f0
cmpl $0x3c, %eax
jne 0x982d
jmp 0x97f7
cmpb $0x0, 0x1(%r14)
jne 0x982d
movq 0x97fa(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x495a(%rip), %rsi      # 0xe162
jmp 0xb0a1
leaq 0x48ce(%rip), %rsi      # 0xe0e2
movq %r12, %rdi
callq 0x28ae
pushq $0x1
popq %rcx
movl %ecx, 0x18(%rsp)
testl %eax, %eax
jne 0xb030
xorl %ebp, %ebp
cmpq $0x0, 0xa0(%rsp)
je 0x986d
movq 0xa0(%rsp), %rbx
movq %rbx, %rdi
callq 0x2130
leaq 0x23(%rax), %rdi
callq 0x2290
leaq 0x493f(%rip), %rsi      # 0xe197
movq %rax, %rdi
movq %rbx, %rdx
movq %rax, %rbx
xorl %eax, %eax
callq 0x23c0
testq %rbx, %rbx
jne 0x9875
movq (%r13), %rax
xorl %ebx, %ebx
jmp 0x9884
leaq 0x3794(%rip), %rsi      # 0xd010
movq %rbx, %rdi
callq 0x2330
movq %rbx, 0x130(%rsp)
movq %rax, 0x88(%rsp)
testq %rax, %rax
je 0xb7ff
movq 0xd8(%rsp), %rdi
xorl %esi, %esi
callq 0x4e5f
andl $0x0, 0x50(%rsp)
movq %rax, 0xd0(%rsp)
andq $0x0, 0xf8(%rsp)
movq 0x10(%rsp), %rdi
callq 0x2130
movq %rax, %rbx
cmpq $0x0, 0xa0(%rsp)
je 0x98ee
movq 0xa0(%rsp), %rdi
callq 0x2130
cmpq %rax, %rbx
cmovbeq %rax, %rbx
movl %ebp, 0x118(%rsp)
addq $0x23, %rbx
movq %rbx, %rdi
callq 0x2290
cmpl $0x0, 0x68(%rsp)
movq %rax, 0xb8(%rsp)
jne 0x9975
movq %rax, %rdi
movq %rax, %rbx
movq 0x10(%rsp), %rsi
callq 0x20b0
pushq $0x1
popq %rdx
movq 0xd0(%rsp), %rdi
movq %rbx, %rsi
callq 0x5764
movq %rax, %r12
leaq 0x50(%rsp), %rsi
leaq 0xf8(%rsp), %rcx
movl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
movq %rax, %rdi
callq 0x8558
movq %rax, 0xf0(%rsp)
movq $0x0, 0x128(%rsp)
movq $0x0, 0x120(%rsp)
jmp 0x9d8e
movq %r14, 0x150(%rsp)
movq 0xa0(%rsp), %r14
movq %r14, %rdi
movq %rax, %r15
callq 0x2130
leaq 0x23(%rax), %rbx
movq %rbx, %rdi
callq 0x2290
movq %rax, %r13
movq %rbx, %rdi
callq 0x2290
movq %rax, %r12
leaq 0x4816(%rip), %rsi      # 0xe1c7
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x23c0
leaq 0x4812(%rip), %rsi      # 0xe1d7
movq %r13, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x23c0
leaq 0x480a(%rip), %rsi      # 0xe1e3
movq %r12, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x23c0
leaq 0x3623(%rip), %rbx      # 0xd010
movq %r15, %rdi
movq %rbx, %rsi
callq 0x2330
movq %rax, 0x148(%rsp)
movq %r13, 0x120(%rsp)
movq %r13, %rdi
movq %rbx, %rsi
callq 0x2330
movq %rax, 0x100(%rsp)
movq %r12, 0x128(%rsp)
movq %r12, %rdi
movq %rbx, %rsi
callq 0x2330
movq %rax, 0x140(%rsp)
pushq $0x1
popq %rbp
movq 0xd0(%rsp), %rdi
movq 0x10(%rsp), %rsi
movl %ebp, %edx
callq 0x5764
movq %rax, %r13
movl 0x18(%rax), %ebx
movl (%rax), %edi
addl %ebx, %edi
pushq $0x4
popq %rsi
movq %rdi, 0x158(%rsp)
callq 0x2200
movq %rax, %r12
movq 0x8(%r13), %rax
movl 0x18(%rax), %edx
pushq $-0x1
popq %rsi
pushq $0x28
popq %rcx
xorl %r9d, %r9d
movq $0x0, 0x58(%rsp)
xorl %r8d, %r8d
movl %ebp, 0xec(%rsp)
movq %r12, 0x30(%rsp)
movq %r13, 0x138(%rsp)
movl %ebx, %eax
cmpq %rax, %r9
jae 0x9ca9
movl %r8d, 0x90(%rsp)
movl %esi, 0x48(%rsp)
movq 0x20(%r13), %rax
movl -0x10(%rax,%rcx), %r13d
movl -0xc(%rax,%rcx), %r14d
movl -0x8(%rax,%rcx), %r12d
movl -0x4(%rax,%rcx), %edi
movl %edi, 0x98(%rsp)
movq %rcx, 0x80(%rsp)
movl (%rax,%rcx), %ebx
movq 0x58(%rsp), %rbp
leaq 0x1(%rbp), %rax
movq %rax, 0xf0(%rsp)
addq %r12, %rbp
movq %r9, 0x10(%rsp)
movl %edx, 0x60(%rsp)
callq 0xbccf
movq %rax, 0xc0(%rsp)
movq 0xd0(%rsp), %rax
movq 0x8(%rax), %rax
shrl %r13d
imulq $0x18, %r13, %rcx
movq %rcx, 0xc8(%rsp)
movq (%rax,%rcx), %rax
movq %rax, 0x108(%rsp)
leal (%r12,%r14), %r15d
incl %r14d
movl %ebx, 0xe0(%rsp)
movl %ebx, %edi
callq 0xbd52
movq %rax, %r10
movq 0x10(%rsp), %rax
leal 0x1(%rax), %r13d
movq 0x148(%rsp), %rdi
leaq 0x4ae4(%rip), %rsi      # 0xe63f
movq 0xf0(%rsp), %rdx
movq %rbp, 0x58(%rsp)
movq %rbp, %rcx
movl %r13d, %r8d
movq 0xc0(%rsp), %r9
xorl %eax, %eax
pushq %r10
pushq %r15
pushq %r14
pushq 0x120(%rsp)
callq 0x2230
addq $0x20, %rsp
movq 0x100(%rsp), %rdi
leaq 0x4ac6(%rip), %rsi      # 0xe663
movl %r13d, %edx
movl %r13d, %ecx
movl %r12d, %r8d
xorl %eax, %eax
callq 0x2230
movl 0x98(%rsp), %edi
callq 0xbccf
movq %rax, %r10
movq 0xd0(%rsp), %rax
movq 0x8(%rax), %r11
subq $0x8, %rsp
movq 0x148(%rsp), %rdi
leaq 0x4a9a(%rip), %rsi      # 0xe675
movl %r13d, %edx
pushq $0x1
popq %rcx
movl %r12d, %r8d
movl %ecx, %r9d
xorl %eax, %eax
leaq 0x3bd9(%rip), %rbx      # 0xd7c9
pushq %rbx
pushq %r15
pushq %r14
movq 0xe8(%rsp), %rbx
pushq (%r11,%rbx)
pushq %r10
callq 0x2230
movq 0x40(%rsp), %r9
movl 0x90(%rsp), %edx
addq $0x30, %rsp
movl %edx, %eax
cmpq %rax, %r9
jne 0x9c5b
movq 0x138(%rsp), %r13
movq 0x8(%r13), %rax
movl 0xec(%rsp), %esi
movl %esi, %ecx
incl %esi
movl %esi, 0xec(%rsp)
imulq $0x58, %rcx, %rcx
addl 0x18(%rax,%rcx), %edx
movl 0x90(%rsp), %r8d
incl %r8d
movq 0x30(%rsp), %r12
movl 0x48(%rsp), %esi
jmp 0x9c74
movq 0x138(%rsp), %r13
movq 0x30(%rsp), %r12
movl 0x48(%rsp), %esi
movl 0x90(%rsp), %r8d
incq %r9
cmpl $0x2b5d2, 0xe0(%rsp) # imm = 0x2B5D2
movl %r9d, %eax
cmovel %esi, %eax
movl %r8d, %ecx
incl %r8d
movl %eax, (%r12,%rcx,4)
movl 0x18(%r13), %ebx
decl %esi
movq 0x80(%rsp), %rcx
addq $0x30, %rcx
jmp 0x9a9a
leaq 0x3686(%rip), %r14      # 0xd336
pushq $0xa
popq %rbx
pushq $0x20
popq %rbp
xorl %r15d, %r15d
cmpq 0x158(%rsp), %r15
je 0x9d08
movl (%r12,%r15,4), %edx
testl %edx, %edx
je 0x9d03
movq 0x100(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x2230
movq 0x30(%rsp), %rax
cmpl $0x0, 0x4(%rax,%r15,4)
leaq 0x1(%r15), %r15
movl %ebp, %edi
cmovel %ebx, %edi
movq %r12, %rsi
movq 0x30(%rsp), %r12
callq 0x21e0
jmp 0x9cb9
incq %r15
jmp 0x9cb9
movq 0x148(%rsp), %rdi
callq 0x2120
movq 0x100(%rsp), %rdi
callq 0x2120
movq 0x140(%rsp), %rdi
callq 0x2120
movq %r12, %rdi
callq 0x2060
movq %r13, %rdi
callq 0x45fc
leaq 0x50(%rsp), %rsi
movl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
movq 0x58(%rsp), %rbx
movq %rbx, %rdi
callq 0x283e
movq %rax, 0xf0(%rsp)
movq %rbx, 0xf8(%rsp)
pushq $0x1
popq %rdx
movq 0xd0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
callq 0x5764
movq %rax, %r12
movl 0x20(%rsp), %r15d
movq 0x150(%rsp), %r14
movl 0x18(%rsp), %eax
cmpl $0x1, %eax
je 0x9e74
cmpl $0x4, %eax
je 0x9e0f
cmpl $0x2, %eax
jne 0x9ed7
movq 0x9248(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x4439(%rip), %rsi      # 0xe1f3
leaq 0x4224(%rip), %rdx      # 0xdfe5
movq %r14, %rcx
xorl %eax, %eax
callq 0x2230
movl 0x50(%rsp), %eax
movq %rax, 0xc0(%rsp)
callq 0xbe52
movq %rax, %r13
movq 0xd8(%rsp), %rdi
xorl %esi, %esi
callq 0x4e5f
movq %rax, %rbx
movq 0xb8(%rsp), %rsi
testq %rsi, %rsi
jne 0xa8cd
movq %rbx, %rdi
callq 0x5301
jmp 0xa8d8
movq 0x91e2(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x4433(%rip), %rsi      # 0xe253
leaq 0x41be(%rip), %rdx      # 0xdfe5
movq %r14, %rcx
xorl %eax, %eax
callq 0x2230
movl 0x50(%rsp), %eax
movq %rax, 0x58(%rsp)
callq 0xbe52
movq %rax, %rbp
movq 0xd8(%rsp), %rdi
xorl %esi, %esi
callq 0x4e5f
movq 0xb8(%rsp), %rsi
testq %rsi, %rsi
movq %rax, 0x10(%rsp)
jne 0x9f40
movq %rax, %rdi
callq 0x5301
jmp 0x9f4b
movq 0x917d(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x439e(%rip), %rsi      # 0xe223
leaq 0x4159(%rip), %rdx      # 0xdfe5
movq %r14, %rcx
xorl %eax, %eax
callq 0x2230
movl 0x50(%rsp), %eax
movq %rax, 0x60(%rsp)
callq 0xbe52
movq %rax, %r13
movq 0xd8(%rsp), %rdi
xorl %esi, %esi
callq 0x4e5f
movq %rax, %rbx
movq 0xb8(%rsp), %rsi
testq %rsi, %rsi
jne 0xa367
movq %rbx, %rdi
callq 0x5301
jmp 0xa372
cmpb $0x0, 0x118(%rsp)
je 0xb539
movq 0x910c(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x438d(%rip), %rsi      # 0xe283
leaq 0x40e8(%rip), %rdx      # 0xdfe5
movq %r14, %rcx
xorl %eax, %eax
callq 0x2230
movl 0x50(%rsp), %eax
movq %rax, 0x48(%rsp)
movq 0xd8(%rsp), %rdi
xorl %esi, %esi
callq 0x4e5f
movq %rax, %rbx
movq 0xb8(%rsp), %rsi
testq %rsi, %rsi
jne 0xad99
movq %rbx, %rdi
callq 0x5301
jmp 0xada4
pushq $0x1
popq %rdx
movq %rax, %rdi
callq 0x5764
movq %rax, 0x20(%rsp)
movq %r12, 0x98(%rsp)
movq %r14, %rdi
callq 0x293e
testq %rax, %rax
je 0xb824
movq %rax, %r13
movl 0x68(%rsp), %eax
xorl $0x1, %eax
movl %eax, 0x30(%rsp)
movsbl %r15b, %r14d
movb $-0x1, %r15b
movq $0x0, 0x18(%rsp)
xorl %r12d, %r12d
movq %r13, %rdi
callq 0x2a6c
testq %rax, %rax
je 0xa2dc
movq %rax, %rbx
movq %rax, %rdi
callq 0x291b
testl %eax, %eax
jne 0x9f8a
incq %r12
movq %r12, %rax
xorl %edx, %edx
movl $0xf4240, %ecx          # imm = 0xF4240
divq %rcx
testq %rdx, %rdx
je 0xa0ec
orl $-0x1, 0x70(%rsp)
orl $-0x1, 0x78(%rsp)
xorl %eax, %eax
movb %al, 0x180(%rsp)
movb %al, 0x3180(%rsp)
movb %r15b, 0x3c(%rsp)
movb %r15b, 0x40(%rsp)
movq %rbx, %rdi
leaq 0x486b(%rip), %rsi      # 0xe85c
leaq 0x3180(%rsp), %rdx
leaq 0x78(%rsp), %rcx
leaq 0x180(%rsp), %r8
leaq 0x70(%rsp), %r9
xorl %eax, %eax
leaq 0x3c(%rsp), %r10
pushq %r10
leaq 0x48(%rsp), %r10
pushq %r10
callq 0x22b0
popq %rcx
popq %rdx
movzbl 0x40(%rsp), %eax
cmpl %eax, %r14d
jg 0x9f8a
movzbl 0x3c(%rsp), %eax
cmpl %eax, %r14d
jg 0x9f8a
movq 0x10(%rsp), %rbx
movq %rbx, %rdi
leaq 0x3180(%rsp), %rsi
callq 0x49b6
movl 0x78(%rsp), %edx
movq 0x20(%rsp), %rdi
movl %eax, %esi
leaq 0x44(%rsp), %rcx
leaq 0x1180(%rsp), %r8
movl 0x30(%rsp), %r9d
callq 0x642e
movl %eax, 0x60(%rsp)
movq %rbx, %rdi
leaq 0x180(%rsp), %rsi
callq 0x49b6
movl 0x70(%rsp), %edx
movq 0x20(%rsp), %rdi
movl %eax, %esi
leaq 0x54(%rsp), %rcx
leaq 0x2180(%rsp), %r8
movl 0x30(%rsp), %r9d
callq 0x642e
movl 0x60(%rsp), %ecx
testl %ecx, %ecx
je 0xa118
cmpl $0x1, %ecx
je 0xa163
cmpl $0x2, %ecx
jne 0x9f8a
movq 0x8f2c(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
movl 0x78(%rsp), %r8d
leaq 0x4635(%rip), %rsi      # 0xe710
leaq 0x475c(%rip), %rdx      # 0xe83e
leaq 0x3180(%rsp), %rcx
jmp 0xa157
movq 0x8f05(%rip), %rcx      # 0x12ff8
movq (%rcx), %rdi
leaq 0x45b9(%rip), %rsi      # 0xe6b6
leaq 0x473a(%rip), %rdx      # 0xe83e
movq %rax, %rcx
movq 0x18(%rsp), %r8
xorl %eax, %eax
callq 0x2230
jmp 0x9fc3
testl %eax, %eax
je 0xa1c1
cmpl $0x1, %eax
je 0xa231
cmpl $0x2, %eax
jne 0x9f8a
movq 0x8ebf(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
movl 0x70(%rsp), %r8d
leaq 0x45c8(%rip), %rsi      # 0xe710
leaq 0x46ef(%rip), %rdx      # 0xe83e
leaq 0x180(%rsp), %rcx
xorl %eax, %eax
callq 0x2230
jmp 0x9f8a
movq %rbp, %rdi
leaq 0x3180(%rsp), %rsi
leaq 0x2c(%rsp), %rdx
callq 0xbece
cmpl $0x0, 0x2c(%rsp)
je 0x9f8a
movl %eax, %ebx
leaq 0x3180(%rsp), %rdi
callq 0x2420
movq 0x18(%rbp), %rcx
movl %ebx, %edx
movq %rax, (%rcx,%rdx,8)
movq 0x8e55(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x4541(%rip), %rsi      # 0xe6ee
leaq 0x468a(%rip), %rdx      # 0xe83e
leaq 0x3180(%rsp), %rcx
jmp 0xa28a
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x44(%rsp), %ecx
imulq $0x58, %rcx, %rcx
movq (%rax,%rcx), %rdi
movl 0x54(%rsp), %ecx
imulq $0x58, %rcx, %rcx
movq (%rax,%rcx), %rbx
movq %rdi, 0x60(%rsp)
movq %rbx, %rsi
callq 0x2210
testl %eax, %eax
jg 0xa296
movq 0x1180(%rsp), %rax
movq 0x58(%rsp), %rcx
shrq %cl, %rax
movq 0x2180(%rsp), %r9
shrq %cl, %r9
movq 0x88(%rsp), %rdi
leaq 0x4520(%rip), %rsi      # 0xe741
movq 0x60(%rsp), %rdx
movq %rax, %rcx
movq %rbx, %r8
jmp 0xa2cb
movq %rbp, %rdi
leaq 0x180(%rsp), %rsi
leaq 0x2c(%rsp), %rdx
callq 0xbece
cmpl $0x0, 0x2c(%rsp)
je 0x9f8a
movl %eax, %ebx
leaq 0x180(%rsp), %rdi
callq 0x2420
movq 0x18(%rbp), %rcx
movl %ebx, %edx
movq %rax, (%rcx,%rdx,8)
movq 0x8d87(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x4473(%rip), %rsi      # 0xe6ee
leaq 0x45bc(%rip), %rdx      # 0xe83e
leaq 0x180(%rsp), %rcx
xorl %eax, %eax
callq 0x2230
jmp 0x9f8a
movq 0x2180(%rsp), %rax
movq 0x58(%rsp), %rcx
shrq %cl, %rax
movq 0x1180(%rsp), %r9
shrq %cl, %r9
movq 0x88(%rsp), %rdi
leaq 0x4498(%rip), %rsi      # 0xe758
movq %rbx, %rdx
movq %rax, %rcx
movq 0x60(%rsp), %r8
xorl %eax, %eax
callq 0x2230
incq 0x18(%rsp)
jmp 0x9f8a
movq 0x8d15(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x452f(%rip), %rsi      # 0xe81c
leaq 0x454a(%rip), %rdx      # 0xe83e
xorl %ebx, %ebx
movq 0x18(%rsp), %rcx
xorl %eax, %eax
callq 0x2230
xorl %r14d, %r14d
movq 0x98(%rsp), %r12
movl (%rbp), %eax
cmpq %rax, %r14
jae 0xa343
movq 0x10(%rbp), %rax
movq %r14, %rcx
shrq $0x4, %rcx
movl (%rax,%rcx,4), %eax
movl %ebx, %ecx
andb $0x1e, %cl
shrl %cl, %eax
testb $0x3, %al
jne 0xa33b
movq 0x18(%rbp), %rax
movq (%rax,%r14,8), %rdi
callq 0x2060
incq %r14
addl $0x2, %ebx
jmp 0xa30d
movq %rbp, %rdi
callq 0xc0b4
movq %r13, %rdi
callq 0x2a0a
movq 0x20(%rsp), %rdi
callq 0x45fc
movq 0x10(%rsp), %rdi
jmp 0xb534
pushq $0x1
popq %rdx
movq %rbx, %rdi
callq 0x5764
movq %rax, 0x10(%rsp)
movq %rbx, 0x30(%rsp)
movq %r12, 0x98(%rsp)
movq %r14, %rdi
callq 0x293e
testq %rax, %rax
je 0xb841
movq %rax, %rbp
movl 0x68(%rsp), %eax
xorl $0x1, %eax
movl %eax, 0x58(%rsp)
movb $0x1, %r14b
movl $0xf4240, %r12d         # imm = 0xF4240
movq $0x0, 0x18(%rsp)
xorl %r15d, %r15d
movq %rbp, %rdi
callq 0x2a6c
testq %rax, %rax
je 0xa83e
movq %rax, %rbx
movq %rax, %rdi
callq 0x291b
testl %eax, %eax
jne 0xa3b8
movq %r15, %rax
incq %rax
movq %rax, %r15
xorl %edx, %edx
divq %r12
testq %rdx, %rdx
je 0xa583
testb $0x1, %r14b
jne 0xa5af
xorl %eax, %eax
movb %al, 0x2180(%rsp)
movb %al, 0x180(%rsp)
orl $-0x1, 0x40(%rsp)
orl $-0x1, 0x54(%rsp)
movb $-0x1, 0xe(%rsp)
subq $0x8, %rsp
movq %rbx, %rdi
leaq 0x43e5(%rip), %rsi      # 0xe80b
leaq 0x188(%rsp), %rdx
leaq 0x5c(%rsp), %rcx
leaq 0x48(%rsp), %r8
leaq 0x2188(%rsp), %rbx
movq %rbx, %r9
xorl %eax, %eax
leaq 0x16(%rsp), %r10
pushq %r10
callq 0x22b0
popq %rcx
popq %rdx
leaq 0x1180(%rsp), %rdi
movq %rbx, %rsi
callq 0x2779
testb %al, %al
je 0xa610
movb $0x1, %r14b
movl 0x20(%rsp), %eax
cmpb %al, 0xf(%rsp)
jb 0xa3b8
movl 0x20(%rsp), %eax
cmpb %al, 0xe(%rsp)
jb 0xa3b8
movq 0x30(%rsp), %r14
movq %r14, %rdi
leaq 0x3180(%rsp), %rsi
callq 0x49b6
movl 0x44(%rsp), %edx
movl %edx, %ecx
shrl %ecx
movl 0x2c(%rsp), %esi
andl %esi, %edx
shrl %esi
addl %ecx, %esi
andl $0x1, %edx
addl %esi, %edx
movq 0x10(%rsp), %r12
movq %r12, %rdi
movl %eax, %esi
leaq 0x3c(%rsp), %rcx
leaq 0x78(%rsp), %r8
movl 0x58(%rsp), %ebx
movl %ebx, %r9d
callq 0x642e
movl %eax, 0x48(%rsp)
movq %r14, %rdi
leaq 0x180(%rsp), %rsi
callq 0x49b6
movl 0x54(%rsp), %edx
movl %edx, %ecx
shrl %ecx
movl 0x40(%rsp), %esi
andl %esi, %edx
shrl %esi
addl %ecx, %esi
andl $0x1, %edx
addl %esi, %edx
movq %r12, %rdi
movl %eax, %esi
leaq 0x11c(%rsp), %rcx
leaq 0x70(%rsp), %r8
movl %ebx, %r9d
callq 0x642e
movl 0x48(%rsp), %ecx
movb $0x1, %r14b
testl %ecx, %ecx
je 0xa65a
cmpl $0x1, %ecx
movl $0xf4240, %r12d         # imm = 0xF4240
je 0xa6c2
cmpl $0x2, %ecx
jne 0xa3b8
movq 0x8aaf(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
movl 0x44(%rsp), %r8d
movl %r8d, %eax
shrl %eax
movl 0x2c(%rsp), %ecx
andl %ecx, %r8d
shrl %ecx
addl %eax, %ecx
andl $0x1, %r8d
addl %ecx, %r8d
leaq 0x41a1(%rip), %rsi      # 0xe710
leaq 0x4277(%rip), %rdx      # 0xe7ed
leaq 0x3180(%rsp), %rcx
jmp 0xa6b6
movq 0x8a6e(%rip), %rcx      # 0x12ff8
movq (%rcx), %rdi
leaq 0x4122(%rip), %rsi      # 0xe6b6
leaq 0x4252(%rip), %rdx      # 0xe7ed
movq %rax, %rcx
movq 0x18(%rsp), %r8
xorl %eax, %eax
callq 0x2230
jmp 0xa3ef
xorl %r14d, %r14d
movb %r14b, 0x1180(%rsp)
movb %r14b, 0x3180(%rsp)
orl $-0x1, 0x2c(%rsp)
orl $-0x1, 0x44(%rsp)
movb $-0x1, 0xf(%rsp)
subq $0x8, %rsp
movq %rbx, %rdi
leaq 0x422c(%rip), %rsi      # 0xe80b
leaq 0x3188(%rsp), %rdx
leaq 0x4c(%rsp), %rcx
leaq 0x34(%rsp), %r8
leaq 0x1188(%rsp), %r9
xorl %eax, %eax
leaq 0x17(%rsp), %r10
pushq %r10
callq 0x22b0
addq $0x10, %rsp
jmp 0xa3b8
leaq 0x3180(%rsp), %rdi
leaq 0x180(%rsp), %rsi
callq 0x20b0
movl 0x54(%rsp), %eax
movl %eax, 0x44(%rsp)
movl 0x40(%rsp), %eax
movl %eax, 0x2c(%rsp)
movb 0xe(%rsp), %al
movb %al, 0xf(%rsp)
leaq 0x1180(%rsp), %rdi
leaq 0x2180(%rsp), %rsi
callq 0x20b0
xorl %r14d, %r14d
jmp 0xa3b8
testl %eax, %eax
je 0xa726
cmpl $0x1, %eax
movl $0xf4240, %r12d         # imm = 0xF4240
je 0xa78f
cmpl $0x2, %eax
jne 0xa3b8
movq 0x8977(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
movl 0x54(%rsp), %r8d
movl %r8d, %eax
shrl %eax
movl 0x40(%rsp), %ecx
andl %ecx, %r8d
shrl %ecx
addl %eax, %ecx
andl $0x1, %r8d
addl %ecx, %r8d
leaq 0x4069(%rip), %rsi      # 0xe710
leaq 0x413f(%rip), %rdx      # 0xe7ed
leaq 0x180(%rsp), %rcx
xorl %eax, %eax
callq 0x2230
jmp 0xa3b8
movq %r13, %rdi
leaq 0x3180(%rsp), %rsi
leaq 0xb4(%rsp), %rdx
callq 0xbece
cmpl $0x0, 0xb4(%rsp)
je 0xa3b8
movl %eax, %ebx
leaq 0x3180(%rsp), %rdi
callq 0x2420
movq 0x18(%r13), %rcx
movl %ebx, %edx
movq %rax, (%rcx,%rdx,8)
movq 0x88f0(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x3fdc(%rip), %rsi      # 0xe6ee
leaq 0x40d4(%rip), %rdx      # 0xe7ed
leaq 0x3180(%rsp), %rcx
jmp 0xa7ee
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x3c(%rsp), %ecx
imulq $0x58, %rcx, %rcx
movq (%rax,%rcx), %r12
movl 0x11c(%rsp), %ecx
imulq $0x58, %rcx, %rcx
movq (%rax,%rcx), %rbx
movq %r12, %rdi
movq %rbx, %rsi
callq 0x2210
testl %eax, %eax
jg 0xa7fa
movq 0x78(%rsp), %rax
movq 0x60(%rsp), %rcx
shrq %cl, %rax
movq 0x70(%rsp), %r9
shrq %cl, %r9
movq 0x88(%rsp), %rdi
leaq 0x3fc0(%rip), %rsi      # 0xe741
movq %r12, %rdx
movq %rax, %rcx
movq %rbx, %r8
jmp 0xa827
movq %r13, %rdi
leaq 0x180(%rsp), %rsi
leaq 0xb4(%rsp), %rdx
callq 0xbece
cmpl $0x0, 0xb4(%rsp)
je 0xa3b8
movl %eax, %ebx
leaq 0x180(%rsp), %rdi
callq 0x2420
movq 0x18(%r13), %rcx
movl %ebx, %edx
movq %rax, (%rcx,%rdx,8)
movq 0x8823(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x3f0f(%rip), %rsi      # 0xe6ee
leaq 0x4007(%rip), %rdx      # 0xe7ed
leaq 0x180(%rsp), %rcx
xorl %eax, %eax
callq 0x2230
jmp 0xa3b8
movq 0x70(%rsp), %rax
movq 0x60(%rsp), %rcx
shrq %cl, %rax
movq 0x78(%rsp), %r9
shrq %cl, %r9
movq 0x88(%rsp), %rdi
leaq 0x3f3a(%rip), %rsi      # 0xe758
movq %rbx, %rdx
movq %rax, %rcx
movq %r12, %r8
xorl %eax, %eax
callq 0x2230
incq 0x18(%rsp)
movl $0xf4240, %r12d         # imm = 0xF4240
jmp 0xa3b8
movq 0x87b3(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x3fcd(%rip), %rsi      # 0xe81c
leaq 0x3f97(%rip), %rdx      # 0xe7ed
xorl %ebx, %ebx
movq 0x18(%rsp), %rcx
xorl %eax, %eax
callq 0x2230
xorl %r14d, %r14d
movq 0x98(%rsp), %r12
movq 0x30(%rsp), %r15
movl (%r13), %eax
cmpq %rax, %r14
jae 0xa8ab
movq 0x10(%r13), %rax
movq %r14, %rcx
shrq $0x4, %rcx
movl (%rax,%rcx,4), %eax
movl %ebx, %ecx
andb $0x1e, %cl
shrl %cl, %eax
testb $0x3, %al
jne 0xa8a3
movq 0x18(%r13), %rax
movq (%rax,%r14,8), %rdi
callq 0x2060
incq %r14
addl $0x2, %ebx
jmp 0xa874
movq %r13, %rdi
callq 0xc0b4
movq %rbp, %rdi
callq 0x2a0a
movq 0x10(%rsp), %rdi
callq 0x45fc
movq %r15, %rdi
jmp 0xb534
pushq $0x1
popq %rdx
movq %rbx, %rdi
callq 0x5764
movq %rax, 0x80(%rsp)
leaq 0x3281(%rip), %rsi      # 0xdb68
movq %r14, %rdi
callq 0x329b
testq %rax, %rax
je 0xb85b
movq %rbx, 0xe0(%rsp)
movq %r12, 0x98(%rsp)
movl 0x68(%rsp), %ecx
xorl $0x1, %ecx
movl %ecx, 0x60(%rsp)
movq %rax, 0x20(%rsp)
movq %rax, %rdi
callq 0x2c85
movq %rax, %rbx
pushq $0x1
popq %rdi
pushq $0x38
popq %rsi
callq 0x2200
movq %rax, %rbp
movq %rbx, 0x18(%rsp)
movq %rbx, %rdi
callq 0x3132
andq $0x0, 0x180(%rsp)
andq $0x0, 0x3180(%rsp)
andl $0x0, 0x54(%rsp)
andl $0x0, 0x44(%rsp)
andl $0x0, 0x70(%rsp)
andl $0x0, 0x78(%rsp)
andl $0x0, 0x40(%rsp)
andl $0x0, 0x2c(%rsp)
andq $0x0, 0x2180(%rsp)
andq $0x0, 0x1180(%rsp)
cmpl $0x1, %eax
jne 0xb0b4
movzbl %r15b, %eax
movl %eax, 0x10(%rsp)
xorl %r14d, %r14d
movq $0x0, 0x58(%rsp)
xorl %r15d, %r15d
xorl %r12d, %r12d
testb %r14b, %r14b
sete %r14b
movq %r12, 0x30(%rsp)
incq %r15
movq %r15, %rax
movq %rax, %r15
xorl %edx, %edx
movl $0xf4240, %r12d         # imm = 0xF4240
divq %r12
movq %rax, %rbx
movq 0x20(%rsp), %rdi
movq %rbp, %rsi
callq 0x2eb4
testl %eax, %eax
js 0xb47b
imulq $0xf4240, %rbx, %rcx    # imm = 0xF4240
movq %r15, %rax
xorl %edx, %edx
divq %r12
cmpq %r15, %rcx
je 0xaa29
movq %rbp, %rdi
testb $0x1, %r14b
jne 0xaa52
movq 0x18(%rsp), %rsi
movl 0x10(%rsp), %edx
leaq 0x70(%rsp), %rcx
leaq 0x54(%rsp), %r8
leaq 0x180(%rsp), %r9
callq 0xbe5f
movq %rax, %r12
leaq 0x1(%r15), %rax
xorl %r14d, %r14d
testq %r12, %r12
je 0xa9b5
jmp 0xaa90
movq 0x85c8(%rip), %rcx      # 0x12ff8
movq (%rcx), %rdi
leaq 0x3c7c(%rip), %rsi      # 0xe6b6
leaq 0x3c57(%rip), %rdx      # 0xe698
movq %rax, %rcx
movq 0x58(%rsp), %r8
xorl %eax, %eax
callq 0x2230
jmp 0xa9ef
movq 0x18(%rsp), %rsi
movl 0x10(%rsp), %edx
leaq 0x78(%rsp), %rcx
leaq 0x44(%rsp), %r8
leaq 0x3180(%rsp), %r9
callq 0xbe5f
movq %rax, %r12
movb $0x1, %r14b
movl $0x0, %eax
movq %rax, 0x30(%rsp)
testq %r12, %r12
je 0xa9af
jmp 0xa9a3
movq 0x30(%rsp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x2210
testl %eax, %eax
je 0xaad4
movq 0x180(%rsp), %rax
movq %rax, 0x3180(%rsp)
movl 0x70(%rsp), %eax
movl %eax, 0x78(%rsp)
movl 0x54(%rsp), %eax
movl %eax, 0x44(%rsp)
movq %rbx, %rdi
callq 0x2060
movb $0x1, %r14b
jmp 0xa9a3
movq 0x3180(%rsp), %rsi
movq 0xe0(%rsp), %rbx
movq %rbx, %rdi
movq %rsi, 0x90(%rsp)
callq 0x49b6
movl %eax, %esi
movl 0x78(%rsp), %r8d
movl %r8d, %eax
cltd
pushq $0x2
popq %r9
idivl %r9d
movl %eax, %ecx
movl 0x44(%rsp), %edi
movl %edi, %eax
cltd
idivl %r9d
addl %ecx, %eax
andl %edi, %r8d
andl $0x1, %r8d
addl %eax, %r8d
movq 0x80(%rsp), %r14
movq %r14, %rdi
movl %r8d, 0x108(%rsp)
movl %r8d, %edx
leaq 0x2c(%rsp), %rcx
leaq 0x1180(%rsp), %r8
movl 0x60(%rsp), %r9d
callq 0x642e
movl %eax, 0x48(%rsp)
movq 0x180(%rsp), %rsi
movq %rbx, %rdi
movq %rsi, 0xc8(%rsp)
callq 0x49b6
movl %eax, %esi
movl 0x70(%rsp), %ebx
movl %ebx, %eax
cltd
pushq $0x2
popq %r8
idivl %r8d
movl %eax, %ecx
movl 0x54(%rsp), %edi
movl %edi, %eax
cltd
idivl %r8d
addl %ecx, %eax
andl %edi, %ebx
andl $0x1, %ebx
addl %eax, %ebx
movq %r14, %rdi
movl %ebx, %edx
leaq 0x40(%rsp), %rcx
leaq 0x2180(%rsp), %r8
movl 0x60(%rsp), %r9d
callq 0x642e
movl 0x48(%rsp), %ecx
testl %ecx, %ecx
je 0xabf1
cmpl $0x1, %ecx
je 0xac3b
cmpl $0x2, %ecx
movq 0x30(%rsp), %r14
movq 0x90(%rsp), %rcx
jne 0xad81
movq 0x8422(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x3b30(%rip), %rsi      # 0xe710
leaq 0x3ab1(%rip), %rdx      # 0xe698
movl 0x108(%rsp), %r8d
jmp 0xac2f
movq 0xc8(%rsp), %rcx
testl %eax, %eax
je 0xac68
cmpl $0x1, %eax
movq 0x30(%rsp), %r14
je 0xace3
cmpl $0x2, %eax
jne 0xad81
movq 0x83dd(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x3aeb(%rip), %rsi      # 0xe710
leaq 0x3a6c(%rip), %rdx      # 0xe698
movl %ebx, %r8d
xorl %eax, %eax
callq 0x2230
jmp 0xad81
movq %r13, %rdi
movq 0x90(%rsp), %rbx
movq %rbx, %rsi
leaq 0x3c(%rsp), %rdx
callq 0xbece
cmpl $0x0, 0x3c(%rsp)
movq 0x30(%rsp), %r14
je 0xad81
jmp 0xad01
movq 0x80(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x2c(%rsp), %ecx
imulq $0x58, %rcx, %rcx
movq (%rax,%rcx), %rdi
movl 0x40(%rsp), %ecx
imulq $0x58, %rcx, %rcx
movq (%rax,%rcx), %rbx
movq %rdi, 0x48(%rsp)
movq %rbx, %rsi
callq 0x2210
testl %eax, %eax
movq 0x30(%rsp), %r14
jg 0xad3d
movq 0x1180(%rsp), %rax
movq 0xc0(%rsp), %rcx
shrq %cl, %rax
movq 0x2180(%rsp), %r9
shrq %cl, %r9
movq 0x88(%rsp), %rdi
leaq 0x3a6e(%rip), %rsi      # 0xe741
movq 0x48(%rsp), %rdx
movq %rax, %rcx
movq %rbx, %r8
jmp 0xad75
movq %r13, %rdi
movq %rcx, %rbx
movq %rcx, %rsi
leaq 0x3c(%rsp), %rdx
callq 0xbece
cmpl $0x0, 0x3c(%rsp)
je 0xad81
movq %rbx, %rdi
movl %eax, 0x48(%rsp)
callq 0x2420
movq 0x18(%r13), %rcx
movl 0x48(%rsp), %edx
movq %rax, (%rcx,%rdx,8)
movq 0x82d8(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x39c4(%rip), %rsi      # 0xe6ee
leaq 0x3967(%rip), %rdx      # 0xe698
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2230
jmp 0xad81
movq 0x2180(%rsp), %rax
movq 0xc0(%rsp), %rcx
shrq %cl, %rax
movq 0x1180(%rsp), %r9
shrq %cl, %r9
movq 0x88(%rsp), %rdi
leaq 0x39ee(%rip), %rsi      # 0xe758
movq %rbx, %rdx
movq %rax, %rcx
movq 0x48(%rsp), %r8
xorl %eax, %eax
callq 0x2230
incq 0x58(%rsp)
movq %r14, %rdi
callq 0x2060
movq %r12, %rdi
callq 0x2060
xorl %r14d, %r14d
jmp 0xa9a0
pushq $0x1
popq %rdx
movq %rbx, %rdi
callq 0x5764
movq %rax, %r13
movq %r14, %rdi
movq %rbx, %rsi
callq 0x7d0c
testl %eax, %eax
jne 0xb875
leaq 0x2da7(%rip), %rsi      # 0xdb68
movq %r14, %rdi
callq 0x2330
testq %rax, %rax
je 0xb8bf
movq %rax, %rbp
leaq 0x78(%rsp), %rdi
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
movq %rax, %rcx
callq 0x20e0
cmpl $0x1, %eax
je 0xadf4
xorl %eax, %eax
callq 0x2886
movq 0x78(%rsp), %rdi
callq 0x2873
testl %eax, %eax
je 0xb8e9
movq %r13, 0x10(%rsp)
movq %rbx, 0x90(%rsp)
movq %r12, 0x98(%rsp)
movq %rbp, %rdi
callq 0x7c9c
leaq 0x2180(%rsp), %rdi
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
movq %rbp, 0x80(%rsp)
movq %rbp, %rcx
callq 0x20e0
cmpl $0x1, %eax
je 0xae4d
xorl %eax, %eax
callq 0x2886
movl 0x68(%rsp), %eax
xorl $0x1, %eax
movl %eax, 0x30(%rsp)
movq 0x2180(%rsp), %r12
movq $0x0, 0x60(%rsp)
xorl %r14d, %r14d
movq %r12, 0x58(%rsp)
movq 0x10(%rsp), %rbp
cmpq %r12, %r14
jae 0xafd8
movl $0x11000, %edx          # imm = 0x11000
leaq 0x3180(%rsp), %rdi
pushq $0x1
popq %rsi
movq 0x80(%rsp), %rcx
callq 0x20e0
xorl %ebx, %ebx
movq %rax, 0x18(%rsp)
cmpl %eax, %ebx
jae 0xae76
cmpq %r12, %r14
jae 0xae76
movl %ebx, %r13d
cmpb %r15b, 0x3190(%rsp,%r13)
jb 0xafcd
movl 0x3180(%rsp,%r13), %esi
movl 0x3184(%rsp,%r13), %edx
movq %rbp, %rdi
leaq 0x70(%rsp), %rcx
leaq 0x180(%rsp), %r8
movl 0x30(%rsp), %r12d
movl %r12d, %r9d
callq 0x642e
movl %eax, %r15d
movl 0x3188(%rsp,%r13), %esi
movl 0x318c(%rsp,%r13), %edx
movq %rbp, %rdi
leaq 0x44(%rsp), %rcx
leaq 0x1180(%rsp), %r8
movl %r12d, %r9d
callq 0x642e
orl %r15d, %eax
je 0xaf24
incq 0x60(%rsp)
jmp 0xafbe
movq 0x8(%rbp), %rax
movl 0x70(%rsp), %ecx
imulq $0x58, %rcx, %rcx
movq (%rax,%rcx), %r13
movl 0x44(%rsp), %ecx
imulq $0x58, %rcx, %rcx
movq (%rax,%rcx), %r15
movq %r13, %rdi
movq %r15, %rsi
callq 0x2210
testl %eax, %eax
jg 0xaf84
movq 0x180(%rsp), %rax
movq 0x48(%rsp), %rcx
shrq %cl, %rax
movq 0x1180(%rsp), %r9
shrq %cl, %r9
movq 0x88(%rsp), %rdi
leaq 0x37c8(%rip), %rsi      # 0xe741
movq %r13, %rdx
movq %rax, %rcx
movq %r15, %r8
jmp 0xafb7
movq 0x1180(%rsp), %rax
movq 0x48(%rsp), %rcx
shrq %cl, %rax
movq 0x180(%rsp), %r9
shrq %cl, %r9
movq 0x88(%rsp), %rdi
leaq 0x37aa(%rip), %rsi      # 0xe758
movq %r15, %rdx
movq %rax, %rcx
movq %r13, %r8
xorl %eax, %eax
callq 0x2230
movl 0x20(%rsp), %r15d
movq 0x58(%rsp), %r12
movq 0x18(%rsp), %rax
addl $0x11, %ebx
incq %r14
jmp 0xaea3
movq 0x8019(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x39ad(%rip), %rsi      # 0xe996
leaq 0x38de(%rip), %rdx      # 0xe8ce
movq %r14, %rcx
movq 0x60(%rsp), %r8
xorl %eax, %eax
callq 0x2230
movq 0x80(%rsp), %rdi
callq 0x2120
movq 0x10(%rsp), %rdi
callq 0x45fc
movq 0x90(%rsp), %rdi
callq 0x4566
movq 0x98(%rsp), %r12
jmp 0xb539
leaq (%r14,%rbx), %r15
addq $-0x7, %r15
cmpq $0x7, %rbx
jb 0xb055
leaq 0x30a2(%rip), %rsi      # 0xe0e7
movq %r15, %rdi
callq 0x28ae
testl %eax, %eax
je 0x9792
leaq 0x3093(%rip), %rsi      # 0xe0ef
movq %r12, %rdi
callq 0x28ae
pushq $0x4
popq %rcx
movl %ecx, 0x18(%rsp)
testl %eax, %eax
je 0x9792
cmpq $0x7, %rbx
jb 0xb090
leaq 0x3074(%rip), %rsi      # 0xe0f4
movq %r15, %rdi
callq 0x28ae
testl %eax, %eax
je 0x9792
movq 0x7f61(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x305b(%rip), %rsi      # 0xe0fc
leaq 0x2f3d(%rip), %rdx      # 0xdfe5
xorl %eax, %eax
callq 0x2230
jmp 0xb8e1
testl %r15d, %r15d
je 0xb0db
movq 0x7f38(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x36a5(%rip), %rsi      # 0xe76f
leaq 0x35c7(%rip), %rdx      # 0xe698
movl %r15d, %ecx
xorl %eax, %eax
callq 0x2230
movl $0xf4240, %r14d         # imm = 0xF4240
movl $0x0, 0x30(%rsp)
movq $0x0, 0x10(%rsp)
movl $0x0, 0x90(%rsp)
movq $0x0, 0x48(%rsp)
movq $0x0, 0x58(%rsp)
xorl %r15d, %r15d
movq 0x20(%rsp), %r12
incq %r15
movq %r15, %rax
xorl %edx, %edx
divq %r14
movq %rax, %rbx
movq %r12, %rdi
movq %rbp, %rsi
callq 0x2eb4
testl %eax, %eax
js 0xb445
imulq $0xf4240, %rbx, %rcx    # imm = 0xF4240
movq %r15, %rax
xorl %edx, %edx
divq %r14
cmpq %r15, %rcx
je 0xb16c
movq 0x8(%rbp), %rax
shrq $0x20, %rax
testw $0xf4c, %ax             # imm = 0xF4C
setne %cl
testw %ax, %ax
sete %al
orb %cl, %al
incq %r15
testb %al, %al
jne 0xb11a
jmp 0xb195
movq 0x7e85(%rip), %rcx      # 0x12ff8
movq (%rcx), %rdi
leaq 0x3539(%rip), %rsi      # 0xe6b6
leaq 0x3514(%rip), %rdx      # 0xe698
movq %rax, %rcx
movq 0x58(%rsp), %r8
xorl %eax, %eax
callq 0x2230
jmp 0xb14c
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movslq (%rbp), %rcx
movq (%rax,%rcx,8), %rsi
movl 0x4(%rbp), %ebx
movl 0x18(%rbp), %ecx
movl %ecx, 0x30(%rsp)
movslq 0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x10(%rsp)
movq 0xe0(%rsp), %r12
movq %r12, %rdi
movq %rsi, 0x48(%rsp)
callq 0x49b6
movq 0x80(%rsp), %rdi
movl %eax, %esi
movl %ebx, 0x90(%rsp)
movl %ebx, %edx
leaq 0x2c(%rsp), %rcx
leaq 0x1180(%rsp), %r8
movl 0x60(%rsp), %r9d
callq 0x642e
movl %eax, %ebx
movq %r12, %rdi
movq 0x10(%rsp), %rsi
callq 0x49b6
movq 0x80(%rsp), %rdi
movl %eax, %esi
movl 0x30(%rsp), %edx
leaq 0x40(%rsp), %rcx
leaq 0x2180(%rsp), %r8
movl 0x60(%rsp), %r9d
callq 0x642e
decq %r15
testl %ebx, %ebx
je 0xb275
cmpl $0x1, %ebx
je 0xb2c2
cmpl $0x2, %ebx
movq 0x20(%rsp), %r12
jne 0xb117
movq 0x7da3(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x34b1(%rip), %rsi      # 0xe710
leaq 0x3432(%rip), %rdx      # 0xe698
movq 0x48(%rsp), %rcx
movl 0x90(%rsp), %r8d
jmp 0xb2b6
testl %eax, %eax
je 0xb31c
cmpl $0x1, %eax
movq 0x20(%rsp), %r12
je 0xb39d
cmpl $0x2, %eax
jne 0xb117
movq 0x7d5d(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x346b(%rip), %rsi      # 0xe710
leaq 0x33ec(%rip), %rdx      # 0xe698
movq 0x10(%rsp), %rcx
movl 0x30(%rsp), %r8d
xorl %eax, %eax
callq 0x2230
jmp 0xb117
movq %r13, %rdi
movq 0x48(%rsp), %rsi
leaq 0x3c(%rsp), %rdx
callq 0xbece
cmpl $0x0, 0x3c(%rsp)
movq 0x20(%rsp), %r12
je 0xb117
movl %eax, %ebx
movq 0x48(%rsp), %rdi
callq 0x2420
movq 0x18(%r13), %rcx
movl %ebx, %edx
movq %rax, (%rcx,%rdx,8)
movq 0x7cf7(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x33e3(%rip), %rsi      # 0xe6ee
leaq 0x3386(%rip), %rdx      # 0xe698
movq 0x48(%rsp), %rcx
jmp 0xb3ed
movq 0x80(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x2c(%rsp), %ecx
imulq $0x58, %rcx, %rcx
movq (%rax,%rcx), %rdi
movl 0x40(%rsp), %ecx
imulq $0x58, %rcx, %rcx
movq (%rax,%rcx), %rbx
movq %rdi, 0xc8(%rsp)
movq %rbx, %rsi
callq 0x2210
testl %eax, %eax
movq 0x20(%rsp), %r12
jg 0xb3f9
movq 0x1180(%rsp), %rax
movq 0xc0(%rsp), %rcx
shrq %cl, %rax
movq 0x2180(%rsp), %r9
shrq %cl, %r9
movq 0x88(%rsp), %rdi
leaq 0x33b7(%rip), %rsi      # 0xe741
movq 0xc8(%rsp), %rdx
movq %rax, %rcx
movq %rbx, %r8
jmp 0xb434
movq %r13, %rdi
movq 0x10(%rsp), %rsi
leaq 0x3c(%rsp), %rdx
callq 0xbece
cmpl $0x0, 0x3c(%rsp)
je 0xb117
movl %eax, %ebx
movq 0x10(%rsp), %rdi
callq 0x2420
movq 0x18(%r13), %rcx
movl %ebx, %edx
movq %rax, (%rcx,%rdx,8)
movq 0x7c21(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x330d(%rip), %rsi      # 0xe6ee
leaq 0x32b0(%rip), %rdx      # 0xe698
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x2230
jmp 0xb117
movq 0x2180(%rsp), %rax
movq 0xc0(%rsp), %rcx
shrq %cl, %rax
movq 0x1180(%rsp), %r9
shrq %cl, %r9
movq 0x88(%rsp), %rdi
leaq 0x3332(%rip), %rsi      # 0xe758
movq %rbx, %rdx
movq %rax, %rcx
movq 0xc8(%rsp), %r8
xorl %eax, %eax
callq 0x2230
incq 0x58(%rsp)
jmp 0xb117
movq 0x48(%rsp), %rax
movq %rax, 0x3180(%rsp)
movl 0x90(%rsp), %eax
movl %eax, 0x78(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x180(%rsp)
movl 0x30(%rsp), %eax
movl %eax, 0x70(%rsp)
movq $0x0, 0x30(%rsp)
movq 0x98(%rsp), %r12
movq 0x7b6e(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x3337(%rip), %rsi      # 0xe7cb
leaq 0x31fd(%rip), %rdx      # 0xe698
xorl %ebx, %ebx
movq 0x58(%rsp), %rcx
xorl %eax, %eax
callq 0x2230
xorl %r14d, %r14d
movl (%r13), %eax
cmpq %rax, %r14
jae 0xb4e3
movq 0x10(%r13), %rax
movq %r14, %rcx
shrq $0x4, %rcx
movl (%rax,%rcx,4), %eax
movl %ebx, %ecx
andb $0x1e, %cl
shrl %cl, %eax
testb $0x3, %al
jne 0xb4db
movq 0x18(%r13), %rax
movq (%rax,%r14,8), %rdi
callq 0x2060
incq %r14
addl $0x2, %ebx
jmp 0xb4ac
movq %r13, %rdi
callq 0xc0b4
movq 0x30(%rsp), %rdi
callq 0x2060
testq %rbp, %rbp
je 0xb50b
movq 0x30(%rbp), %rdi
callq 0x2060
movq %rbp, %rdi
callq 0x2060
movq 0x18(%rsp), %rdi
callq 0x2c2a
movq 0x20(%rsp), %rdi
callq 0x3396
movq 0x80(%rsp), %rdi
callq 0x45fc
movq 0xe0(%rsp), %rdi
callq 0x4566
cmpl $0x0, 0x68(%rsp)
jne 0xb60d
cmpl $0x0, 0x50(%rsp)
je 0xb599
movq 0x7aa6(%rip), %r14      # 0x12ff8
movq (%r14), %rdi
movq 0xf8(%rsp), %r8
leaq 0x2e2e(%rip), %rsi      # 0xe392
leaq 0x2a7a(%rip), %rbx      # 0xdfe5
movq %rbx, %rdx
movl $0x7fffffff, %ecx       # imm = 0x7FFFFFFF
xorl %eax, %eax
callq 0x2230
movq (%r14), %rdi
movb 0x50(%rsp), %cl
pushq $0x1
popq %rax
shll %cl, %eax
leaq 0x2e38(%rip), %rsi      # 0xe3c5
movq %rbx, %rdx
movl %eax, %ecx
xorl %eax, %eax
callq 0x2230
movq 0x7a58(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x2d3d(%rip), %rsi      # 0xe2e7
leaq 0x2a34(%rip), %rdx      # 0xdfe5
xorl %eax, %eax
callq 0x2230
pushq $0x10
popq %r14
leaq 0x2e22(%rip), %rbx      # 0xe3e5
xorl %r15d, %r15d
movl (%r12), %eax
cmpq %rax, %r15
jae 0xb6ad
movq 0x8(%r12), %rcx
movq -0x10(%rcx,%r14), %rdx
movq (%rcx,%r14), %rax
movq 0x7a10(%rip), %rsi      # 0x12ff8
movq (%rsi), %rdi
addq -0x8(%rcx,%r14), %rax
movb 0x50(%rsp), %cl
shrq %cl, %rax
movq %rbx, %rsi
movq %rax, %rcx
xorl %eax, %eax
callq 0x2230
incq %r15
addq $0x58, %r14
jmp 0xb5c6
movq 0x79e4(%rip), %r14      # 0x12ff8
movq (%r14), %rdi
movq 0xf8(%rsp), %rcx
leaq 0x2c8d(%rip), %rsi      # 0xe2b3
leaq 0x29b8(%rip), %rbx      # 0xdfe5
movq %rbx, %rdx
xorl %eax, %eax
callq 0x2230
movq (%r14), %rdi
movb 0x50(%rsp), %cl
pushq $0x1
popq %rax
shll %cl, %eax
leaq 0x2c83(%rip), %rsi      # 0xe2cd
movq %rbx, %rdx
movl %eax, %ecx
xorl %eax, %eax
callq 0x2230
movq (%r14), %rdi
leaq 0x2c87(%rip), %rsi      # 0xe2e7
movq %rbx, %rdx
xorl %eax, %eax
callq 0x2230
movq (%r14), %rdi
leaq 0x2ca4(%rip), %rsi      # 0xe318
movq 0xf0(%rsp), %r15
movq %r15, %rdx
xorl %eax, %eax
callq 0x2230
movq (%r14), %rdi
leaq 0x2ca2(%rip), %rsi      # 0xe332
movq %rbx, %rdx
movq 0x130(%rsp), %rcx
movq 0xa0(%rsp), %r8
movq %r15, %r9
xorl %eax, %eax
callq 0x2230
movq %r12, %rdi
callq 0x45fc
movq 0xd0(%rsp), %rdi
callq 0x4566
cmpq $0x0, 0xa0(%rsp)
je 0xb6da
movq 0x88(%rsp), %rdi
callq 0x2120
movq 0x130(%rsp), %rdi
callq 0x2060
movq 0xb8(%rsp), %rdi
callq 0x2060
movq 0x120(%rsp), %rdi
callq 0x2060
movq 0x128(%rsp), %rdi
callq 0x2060
movq 0x78e3(%rip), %r15      # 0x12ff8
movq (%r15), %rdi
leaq 0x2cda(%rip), %rsi      # 0xe3f9
leaq 0x28bf(%rip), %rbx      # 0xdfe5
leaq 0x278c(%rip), %rcx      # 0xdeb9
xorl %r14d, %r14d
movq %rbx, %rdx
xorl %eax, %eax
callq 0x2230
movq (%r15), %rdi
leaq 0x2cca(%rip), %rsi      # 0xe40e
movq %rbx, %rdx
xorl %eax, %eax
callq 0x2230
movq 0x110(%rsp), %r12
testl %r12d, %r12d
cmovlel %r14d, %r12d
leaq 0x19ec(%rip), %r14      # 0xd150
xorl %r15d, %r15d
movq 0x788a(%rip), %rax      # 0x12ff8
movq (%rax), %rbx
cmpq %r15, %r12
je 0xb794
movq 0xa8(%rsp), %rax
movq (%rax,%r15,8), %rdx
movq %rbx, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x2230
incq %r15
jmp 0xb767
callq 0x2637
subsd 0x7c67(%rip), %xmm0     # 0x13408
movsd %xmm0, 0x68(%rsp)
callq 0x259c
movsd %xmm0, 0xa8(%rsp)
callq 0x2611
cvtsi2sd %rax, %xmm2
movsd 0x2629(%rip), %xmm0     # 0xddf0
mulsd %xmm0, %xmm2
mulsd %xmm0, %xmm2
mulsd %xmm0, %xmm2
leaq 0x2c48(%rip), %rsi      # 0xe422
leaq 0x2804(%rip), %rdx      # 0xdfe5
movq %rbx, %rdi
movsd 0x68(%rsp), %xmm0
movsd 0xa8(%rsp), %xmm1
movb $0x3, %al
callq 0x2230
jmp 0x95e8
movq 0x77f2(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x298e(%rip), %rsi      # 0xe19e
leaq 0x27ce(%rip), %rdx      # 0xdfe5
movq 0xa0(%rsp), %rcx
jmp 0xb8da
movq 0x77cd(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x1bf3(%rip), %rsi      # 0xd428
leaq 0x3002(%rip), %rdx      # 0xe83e
jmp 0xb8d7
movq 0x77b0(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x1bd6(%rip), %rsi      # 0xd428
leaq 0x2f94(%rip), %rdx      # 0xe7ed
jmp 0xb8d7
movq 0x7796(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x1bbc(%rip), %rsi      # 0xd428
leaq 0x2e25(%rip), %rdx      # 0xe698
jmp 0xb8d7
movq 0x777c(%rip), %r14      # 0x12ff8
movq (%r14), %rdi
leaq 0x2ff0(%rip), %rsi      # 0xe876
leaq 0x3041(%rip), %rbx      # 0xe8ce
movq %rbx, %rdx
movl %eax, %ecx
xorl %eax, %eax
callq 0x2230
movq (%r14), %rdi
leaq 0x3049(%rip), %rsi      # 0xe8ec
movq %rbx, %rdx
xorl %eax, %eax
callq 0x2230
movq (%r14), %rdi
leaq 0x308f(%rip), %rsi      # 0xe946
movq %rbx, %rdx
jmp 0xb0a8
movq 0x7732(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x1b58(%rip), %rsi      # 0xd428
leaq 0x2ff7(%rip), %rdx      # 0xe8ce
movq %r14, %rcx
xorl %eax, %eax
callq 0x2230
pushq $0x1
popq %rdi
callq 0x23d0
movq 0x7708(%rip), %rax      # 0x12ff8
movq (%rax), %rdi
leaq 0x307e(%rip), %rsi      # 0xe978
leaq 0x2fcd(%rip), %rdx      # 0xe8ce
jmp 0xb0a8