// File: /workspace/github_c_makefile_star2_O2/cinemast[P]sudoku/sudoku.c
// Function: main
int
main (int argc, char **argv)
{
    program = argv[0];

    /* Limited support for options */
    if (0 != evaluate_options(argc, argv)) {
        cleanup_curses_and_more();
        exit(1);
    }
    if (0 != opt_statistics && 0 != opt_generate) {
        fprintf(stderr, "Error: Cannot set both -g and -s options\n");
        cleanup_curses_and_more();
        return -1;
    }

    if (0 == precanned) {
        open_precanned(PRECANNED);

        /* Fallback - try current working directory */
        if (0 == precanned) {
            open_precanned(PRECANNED_FALLBACK);
        }
        /* Else, can continue happily without any precanned files... */
    }

    if (0 != opt_statistics || 0 != opt_solve) {
        int retval = gen_statistics();
        cleanup_curses_and_more();
        return retval;
    }

    srand((unsigned int)(time(0) ^ getpid()));

    if (0 == ftmplt) {
        open_template(TEMPLATE);

        /* Fallback - try current working directory */
        if (0 == ftmplt) {
            open_template(TEMPLATE_FALLBACK);
            if (0 == ftmplt) {
                fprintf(stderr, "Error: failed to open template file\n");
                exit(1);
            } else if (0 >= n_tmplt) {
                fprintf(stderr, "Error:"
                                " no valid template found"
                                " in the template file\n");
                cleanup_curses_and_more();
                exit(1);
            }
        }
    }

    if (0 != opt_generate) {
        /* -g0 generates many boards */
        if (0 == num_generate) {
            /* changed from --num_generate, to make it
             * independent from the actual size of int
             * 10000 seems to qualify for being 'many'
             */
            num_generate = 10000;
        }
        while (0 != num_generate--) {
            generate();
            print(stdout, title);
        }
        cleanup_curses_and_more();
        return 0;
    }

    if (0 == opt_random && 0 == precanned) {
        fprintf(stderr, "Error: option -n requires precanned boards\n");
        cleanup_curses_and_more();
        return 1;
    }

    if (!isatty(0) || !isatty(1)) {
        fprintf(stderr, "Error: stdin/out cannot be redirected\n");
        cleanup_curses_and_more();
        return 1;
    }

    /* Establish process environment */
    if (0 == initscr()) {
        fprintf(stderr,
                 "Error: failed to initialise curses screen library\n");
        cleanup_curses_and_more();
        return 1;
    }

    /* Any signal will now shutdown curses cleanly */
    signals();

    draw_screen();
    noecho();
    cbreak();
    load_board();
    play_the_game();
    cleanup_curses_and_more();
    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x168, %rsp            # imm = 0x168
movq (%rsi), %rax
movq %rax, 0xbe82(%rip)      # 0xf3f8
callq 0x2f4e
testl %eax, %eax
jne 0x47da
cmpb $0x1, 0xbe5a(%rip)      # 0xf3e4
jne 0x3599
testb $0x1, 0xbe45(%rip)      # 0xf3d8
jne 0x4704
cmpq $0x0, 0xae0f(%rip)      # 0xe3b0
jne 0x35c5
leaq 0x6591(%rip), %rdi      # 0x9b3b
callq 0x33f3
cmpq $0x0, 0xadf9(%rip)      # 0xe3b0
jne 0x35c5
leaq 0x658d(%rip), %rdi      # 0x9b4d
callq 0x33f3
cmpb $0x0, 0xbe18(%rip)      # 0xf3e4
jne 0x3686
testb $0x1, 0xbe17(%rip)      # 0xf3f0
jne 0x3686
xorl %edi, %edi
callq 0x2250
movq %rax, %rbx
callq 0x20c0
xorl %eax, %ebx
movl %ebx, %edi
callq 0x21e0
cmpq $0x0, 0xbde9(%rip)      # 0xf3e8
jne 0x363e
leaq 0x654f(%rip), %rdi      # 0x9b57
callq 0x3432
cmpq $0x0, 0xbdd3(%rip)      # 0xf3e8
jne 0x363e
leaq 0x7264(%rip), %rdi      # 0xa882
callq 0x3432
cmpq $0x0, 0xbdbd(%rip)      # 0xf3e8
je 0x47a0
cmpl $0x0, 0xbdc8(%rip)      # 0xf400
jle 0x47be
cmpb $0x1, 0xbd93(%rip)      # 0xf3d8
jne 0x3874
movl 0xab97(%rip), %ecx      # 0xe1e8
testl %ecx, %ecx
movl $0x2710, %eax           # imm = 0x2710
cmovnel %ecx, %eax
movq 0xa96e(%rip), %rbx      # 0xdfd0
subl $0x1, %eax
movl %eax, 0xab7d(%rip)      # 0xe1e8
jb 0x46e9
callq 0x4890
movq (%rbx), %rdi
callq 0x4b8b
movl 0xab64(%rip), %eax      # 0xe1e8
jmp 0x3662
movq 0xad23(%rip), %rdi      # 0xe3b0
testq %rdi, %rdi
je 0x4729
xorl %esi, %esi
xorl %edx, %edx
callq 0x2270
movq 0xa92a(%rip), %rbx      # 0xdfd0
movb $0x9, %r15b
leaq 0x6b0b(%rip), %rbp      # 0xa1bb
movq 0xacf9(%rip), %rdi      # 0xe3b0
xorl %esi, %esi
callq 0x54b2
testl %eax, %eax
jne 0x3868
callq 0x5a11
cmpl $-0x1, %eax
je 0x3822
cmpb $0x0, 0xbd15(%rip)      # 0xf3f0
jne 0x36f4
callq 0x5d0a
cmpl $-0x1, %eax
je 0x36f4
callq 0x5a11
testl %eax, %eax
je 0x385f
callq 0x5d76
cmpb $0x0, 0xbcf0(%rip)      # 0xf3f0
je 0x383c
leaq 0x6a28(%rip), %rdi      # 0xa135
leaq 0xbcfc(%rip), %rsi      # 0xf410
movq %rax, %rdx
xorl %eax, %eax
callq 0x2130
callq 0x5e53
callq 0x5a11
cmpl $-0x1, %eax
je 0x36b0
movq (%rbx), %rdi
callq 0x4b8b
cmpb $0x1, 0xbc94(%rip)      # 0xf3d0
jne 0x380f
leaq 0x7469(%rip), %rdi      # 0xabb2
callq 0x2060
movq (%rbx), %r12
xorl %ebx, %ebx
movl 0xbebb(%rip), %eax      # 0xf614
leaq 0xbec0(%rip), %r13      # 0xf620
xorl %r14d, %r14d
movslq %eax, %rcx
cmpq %rcx, %rbx
jge 0x37fd
movl (%r13), %ecx
btl $0x14, %ecx
jb 0x37f1
testl %r14d, %r14d
jle 0x37aa
movl %r14d, %eax
xorl %edx, %edx
pushq $0x6
popq %rcx
divl %ecx
testl %edx, %edx
leaq 0x6a27(%rip), %rsi      # 0xa1b8
leaq 0x62db(%rip), %rax      # 0x9a73
cmoveq %rax, %rsi
movq %r12, %rdi
xorl %eax, %eax
callq 0x2220
movl (%r13), %ecx
movl %ecx, %edx
shrl $0x10, %edx
andl $0xf, %edx
xorl %esi, %esi
btl $0x15, %ecx
setae %sil
andb $0x7f, %cl
movzbl %cl, %eax
divb %r15b
leal (%rsi,%rsi,2), %ecx
addl $0x2a, %ecx
movzbl %ah, %esi
incb %al
movzbl %al, %r8d
incb %sil
movzbl %sil, %r9d
movq %r12, %rdi
movq %rbp, %rsi
xorl %eax, %eax
callq 0x2220
incl %r14d
movl 0xbe23(%rip), %eax      # 0xf614
incq %rbx
addq $0x4, %r13
jmp 0x3763
pushq $0xa
popq %rdi
movq %r12, %rsi
callq 0x21c0
movq 0xa7c1(%rip), %rbx      # 0xdfd0
callq 0x5d0a
cmpl $-0x1, %eax
jne 0x3723
jmp 0x36b0
leaq 0x68bd(%rip), %rdi      # 0xa0e6
leaq 0xbbe0(%rip), %rsi      # 0xf410
xorl %eax, %eax
callq 0x2130
jmp 0x36b0
movl 0xc352(%rip), %esi      # 0xfb94
leaq 0x68dc(%rip), %rdi      # 0xa125
movq %rax, %rdx
leaq 0xbbbd(%rip), %rcx      # 0xf410
xorl %eax, %eax
callq 0x2130
jmp 0x36b0
leaq 0x689c(%rip), %rdi      # 0xa102
jmp 0x3829
xorl %ebx, %ebx
callq 0x4806
jmp 0x46f0
cmpb $0x1, 0xbb61(%rip)      # 0xf3dc
jne 0x388b
cmpq $0x0, 0xab2b(%rip)      # 0xe3b0
je 0x4756
xorl %edi, %edi
callq 0x2080
testl %eax, %eax
je 0x4741
pushq $0x1
popq %rbx
movl %ebx, %edi
callq 0x2080
testl %eax, %eax
je 0x4741
callq 0x2170
testq %rax, %rax
je 0x477f
leaq 0xe8(%rsp), %rbx
movq %rbx, %rdi
callq 0x2230
leaq 0x27aa(%rip), %rcx      # 0x607b
leaq 0x18(%rsp), %rax
movq %rcx, -0x8(%rax)
pushq $0x10
popq %rcx
movq %rax, %rdi
movq %rbx, %rsi
rep  movsq (%rsi), %es:(%rdi)
andl $0x0, 0x80(%rax)
pushq $0x2
popq %rdi
leaq 0x10(%rsp), %rbx
movq %rbx, %rsi
xorl %edx, %edx
callq 0x2090
pushq $0x6
popq %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x2090
pushq $0xf
popq %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x2090
pushq $0x1
popq %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x2090
pushq $0x3
popq %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x2090
pushq $0x9
popq %r14
movl %r14d, %edi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x2090
leaq 0xac(%rsp), %rsi
xorl %edi, %edi
callq 0x2290
testl %eax, %eax
jne 0x396c
leaq 0xac(%rsp), %rdx
orb $0x1, 0xc(%rdx)
xorl %edi, %edi
xorl %esi, %esi
callq 0x22a0
movq 0xa665(%rip), %rbx      # 0xdfd8
movq (%rbx), %rdi
callq 0x20b0
movq (%rbx), %rdi
movl $0x200000, %esi         # imm = 0x200000
xorl %edx, %edx
callq 0x21d0
movq (%rbx), %rdi
pushq $0x2
popq %rsi
pushq $0x23
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x39af
movq (%rbx), %rdi
leaq 0x6c17(%rip), %rsi      # 0xa5be
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
movl $0x200000, %esi         # imm = 0x200000
xorl %edx, %edx
callq 0x2370
pushq $0x1b
popq %rbp
leaq 0x6c1a(%rip), %r15      # 0xa5e2
pushq $-0x1
popq %r13
leaq 0x6bf5(%rip), %r12      # 0xa5c8
movq (%rbx), %rdi
cmpl $0x15, %r14d
je 0x3a69
leal -0x3(%r14), %esi
movl %ebp, %edx
callq 0x22d0
cmpl $-0x1, %eax
je 0x39fe
movq (%rbx), %rdi
movq %r12, %rsi
movl %r13d, %edx
callq 0x2360
movq (%rbx), %rdi
leal -0x2(%r14), %esi
movl %ebp, %edx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3a1f
movq (%rbx), %rdi
movq %r15, %rsi
movl %r13d, %edx
callq 0x2360
movq (%rbx), %rdi
leal -0x1(%r14), %esi
movl %ebp, %edx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3a40
movq (%rbx), %rdi
movq %r15, %rsi
movl %r13d, %edx
callq 0x2360
movq (%rbx), %rdi
movl %r14d, %esi
movl %ebp, %edx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3a60
movq (%rbx), %rdi
movq %r15, %rsi
movl %r13d, %edx
callq 0x2360
addl $0x4, %r14d
jmp 0x39d3
pushq $0x12
popq %rsi
pushq $0x1b
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3a8b
movq (%rbx), %rdi
leaq 0x6b45(%rip), %rsi      # 0xa5c8
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3ab0
movq (%rbx), %rdi
leaq 0x6b54(%rip), %rsi      # 0xa5fc
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0x9
popq %rsi
pushq $0x2
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3ad5
movq (%rbx), %rdi
leaq 0x6b36(%rip), %rsi      # 0xa603
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0xa
popq %rsi
pushq $0x2
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3afa
movq (%rbx), %rdi
leaq 0x6b27(%rip), %rsi      # 0xa619
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0xb
popq %rsi
pushq $0x2
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3b1f
movq (%rbx), %rdi
leaq 0x6b18(%rip), %rsi      # 0xa62f
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0xc
popq %rsi
pushq $0x2
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3b44
movq (%rbx), %rdi
leaq 0x6b09(%rip), %rsi      # 0xa645
pushq $-0x1
popq %rdx
callq 0x2360
cmpb $0x0, 0xb895(%rip)      # 0xf3e0
jne 0x3c0a
movq (%rbx), %rdi
pushq $0xe
popq %rsi
pushq $0x1
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3b76
movq (%rbx), %rdi
leaq 0x6aed(%rip), %rsi      # 0xa65b
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0xf
popq %rsi
pushq $0x2
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3b9b
movq (%rbx), %rdi
leaq 0x6ace(%rip), %rsi      # 0xa661
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0x10
popq %rsi
pushq $0x2
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3bc0
movq (%rbx), %rdi
leaq 0x6ab8(%rip), %rsi      # 0xa670
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0x11
popq %rsi
pushq $0x2
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3be5
movq (%rbx), %rdi
leaq 0x6aa6(%rip), %rsi      # 0xa683
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0x12
popq %rsi
pushq $0x2
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3c0a
movq (%rbx), %rdi
leaq 0x6a90(%rip), %rsi      # 0xa692
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0x6
popq %rsi
pushq $0x3b
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3c2f
movq (%rbx), %rdi
leaq 0x6a7f(%rip), %rsi      # 0xa6a6
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0x7
popq %rsi
pushq $0x37
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3c54
movq (%rbx), %rdi
leaq 0x6a5c(%rip), %rsi      # 0xa6a8
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0x8
popq %rsi
pushq $0x3b
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3c79
movq (%rbx), %rdi
leaq 0x6a4b(%rip), %rsi      # 0xa6bc
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0x9
popq %rsi
pushq $0x3a
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3c9e
movq (%rbx), %rdi
leaq 0x6a28(%rip), %rsi      # 0xa6be
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0xa
popq %rsi
pushq $0x3a
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3cc3
movq (%rbx), %rdi
leaq 0x6a14(%rip), %rsi      # 0xa6cf
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0xb
popq %rsi
pushq $0x3b
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3ce8
movq (%rbx), %rdi
leaq 0x6a00(%rip), %rsi      # 0xa6e0
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0xc
popq %rsi
pushq $0x3b
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3d0d
movq (%rbx), %rdi
leaq 0x69eb(%rip), %rsi      # 0xa6f0
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0xd
popq %rsi
pushq $0x3b
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3d32
movq (%rbx), %rdi
leaq 0x69db(%rip), %rsi      # 0xa705
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0xe
popq %rsi
pushq $0x3b
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3d57
movq (%rbx), %rdi
leaq 0x69c6(%rip), %rsi      # 0xa715
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0xf
popq %rsi
pushq $0x3b
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3d7c
movq (%rbx), %rdi
leaq 0x69af(%rip), %rsi      # 0xa723
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0x10
popq %rsi
pushq $0x3b
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3da1
movq (%rbx), %rdi
leaq 0x6998(%rip), %rsi      # 0xa731
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0x11
popq %rsi
pushq $0x3b
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3dc6
movq (%rbx), %rdi
leaq 0x697f(%rip), %rsi      # 0xa73d
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0x12
popq %rsi
pushq $0x3b
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3deb
movq (%rbx), %rdi
leaq 0x696d(%rip), %rsi      # 0xa750
pushq $-0x1
popq %rdx
callq 0x2360
movq (%rbx), %rdi
pushq $0x13
popq %rsi
pushq $0x3b
popq %rdx
callq 0x22d0
cmpl $-0x1, %eax
je 0x3e10
movq (%rbx), %rdi
leaq 0x6952(%rip), %rsi      # 0xa75a
pushq $-0x1
popq %rdx
callq 0x2360
callq 0x2110
callq 0x2260
callq 0x5006
pushq $0x20
popq %rax
leaq 0x423b(%rip), %r15      # 0x8064
leaq 0xb670(%rip), %r12      # 0xf4a0
leaq 0x42ad(%rip), %r14      # 0x80e4
movl %eax, %ebp
cmpl $0x71, %ebp
je 0x46e9
movq (%rbx), %rdi
callq 0x2180
callq 0x62b0
movl %eax, %ebp
cmpb $0x1, 0xbb9c(%rip)      # 0xf9f4
jne 0x3e5f
callq 0x6089
leal -0x63(%rbp), %eax
cmpl $0x14, %eax
jbe 0x3ef2
leal -0x20(%rbp), %eax
cmpl $0x1f, %eax
ja 0x3f71
movslq (%r15,%rax,4), %rax
addq %r15, %rax
jmpq *%rax
imull $0x9, 0xbb68(%rip), %r13d # 0xf9f0
addl 0xbb5d(%rip), %r13d     # 0xf9ec
movl (%r12,%r13,4), %eax
btl $0x14, %eax
jb 0x3f63
movq %r12, %r15
orl $-0x1, 0xa4a5(%rip)     # 0xe34c
leal -0x30(%rbp), %r12d
shrl $0x10, %eax
andl $0xf, %eax
cmpl %r12d, %eax
je 0x4416
testl %r12d, %r12d
je 0x3ff6
testl %eax, %eax
jne 0x3ff6
movl %r12d, %eax
shll $0x10, %eax
orl %r13d, %eax
movl %eax, (%r15,%r13,4)
movl %r13d, %edi
callq 0x53cb
movl %r13d, %edi
movl %r12d, %esi
xorl %edx, %edx
callq 0x5917
jmp 0x4416
movslq (%r14,%rax,4), %rax
addq %r14, %rax
jmpq *%rax
andl $0x0, 0xbdde(%rip)      # 0xfce0
orl $-0x1, 0xa443(%rip)     # 0xe34c
cmpb $0x1, 0xa438(%rip)      # 0xe348
jne 0x3f17
callq 0x2dfe
movl $0x144, %edx            # imm = 0x144
movq %r12, %rdi
xorl %esi, %esi
callq 0x2190
movl $0x3cc, %edx            # imm = 0x3CC
leaq 0xb6ee(%rip), %rdi      # 0xf620
xorl %esi, %esi
callq 0x2190
andl $0x0, 0xb6d4(%rip)      # 0xf614
andl $0x0, 0xbc4d(%rip)      # 0xfb94
callq 0x60c0
xorl %edi, %edi
callq 0x5ff5
xorl %edi, %edi
xorl %esi, %esi
callq 0x546b
pushq $0x63
jmp 0x440c
callq 0x20d0
pushq $-0x1
popq %r13
jmp 0x445d
movl %ebp, %eax
addl $0xfffffebf, %eax       # imm = 0xFFFFFEBF
cmpl $0x3, %eax
ja 0x4039
leaq 0x41b0(%rip), %rcx      # 0x8138
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0xba59(%rip), %esi      # 0xf9f0
movl 0xba4f(%rip), %edi      # 0xf9ec
testl %esi, %esi
jle 0x43c3
decl %esi
jmp 0x43d1
movl 0xba3a(%rip), %edi      # 0xf9ec
cmpl $0x7, %edi
jg 0x43b5
incl %edi
jmp 0x3feb
movl 0xba2b(%rip), %esi      # 0xf9f0
movl 0xba21(%rip), %edi      # 0xf9ec
cmpl $0x7, %esi
jg 0x43bf
incl %esi
jmp 0x43d1
movl 0xba0b(%rip), %edi      # 0xf9ec
testl %edi, %edi
jle 0x43c8
decl %edi
movl 0xb9ff(%rip), %esi      # 0xf9f0
jmp 0x43d1
movl %r13d, %edi
xorl %esi, %esi
xorl %edx, %edx
callq 0x5917
callq 0x29a1
testl %r12d, %r12d
je 0x4416
movl 0xb5fe(%rip), %eax      # 0xf614
testl %eax, %eax
jle 0x4411
shll $0x10, %r12d
decl %eax
leaq 0xb5f5(%rip), %rcx      # 0xf620
orl %r12d, (%rcx,%rax,4)
callq 0x29a1
jmp 0x4416
callq 0x20d0
jmp 0x445d
cmpb $0x0, 0xb396(%rip)      # 0xf3e0
pushq $0x74
popq %rax
movl %eax, %ebp
jne 0x445d
movb $0x0, 0x10(%rsp)
andq $0x0, (%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x50
popq %rsi
leaq 0x6b3b(%rip), %rdx      # 0xaba9
leaq 0xb39b(%rip), %rcx      # 0xf410
leaq 0x6b16(%rip), %r8       # 0xab92
pushq $0x25
popq %r9
callq 0x6454
testl %eax, %eax
jne 0x40ea
leaq 0x10(%rsp), %rdi
pushq $0x50
popq %rsi
leaq 0x6b18(%rip), %rdx      # 0xabb0
callq 0x7388
testq %rax, %rax
je 0x40d9
cmpb $0x0, (%rax)
je 0x40d9
movq %rbx, %rbp
movl %r13d, %ebx
movq %r15, %r13
movq %r12, %r15
leaq 0xb356(%rip), %r12      # 0xf410
movq %r12, %rdi
movq %rax, %rsi
callq 0x2050
movq %r12, %rdi
movq %r15, %r12
movq %r13, %r15
movl %ebx, %r13d
movq %rbp, %rbx
callq 0x5ff5
movl 0xb90d(%rip), %edi      # 0xf9ec
movl 0xb90b(%rip), %esi      # 0xf9f0
callq 0x546b
pushq $0x74
jmp 0x440c
cmpb $0x0, 0xb2e8(%rip)      # 0xf3e0
pushq $0x73
popq %rax
movl %eax, %ebp
jne 0x445d
leaq 0xa2b6(%rip), %r12      # 0xe3c0
movq %r12, %rdi
leaq 0x65eb(%rip), %rsi      # 0xa6ff
leaq 0x69fe(%rip), %rdx      # 0xab19
callq 0x641a
testl %eax, %eax
je 0x451e
leaq 0x6a39(%rip), %rdi      # 0xab68
callq 0x63f9
jmp 0x4646
cmpb $0x0, 0xb2a0(%rip)      # 0xf3e0
pushq $0x77
popq %rax
movl %eax, %ebp
jne 0x445d
leaq 0xbb9e(%rip), %r12      # 0xfcf0
movq %r12, %rdi
leaq 0x6726(%rip), %rsi      # 0xa882
leaq 0x6719(%rip), %rdx      # 0xa87c
callq 0x641a
testl %eax, %eax
je 0x457c
leaq 0x6780(%rip), %rdi      # 0xa8f7
callq 0x63f9
jmp 0x4656
callq 0x5e53
cmpb $0x1, 0xa1bb(%rip)      # 0xe348
jne 0x4194
callq 0x2dfe
orl $-0x1, 0xa1b1(%rip)     # 0xe34c
callq 0x5a11
testl %eax, %eax
je 0x43db
leaq 0x6677(%rip), %rdi      # 0xa826
callq 0x63ea
jmp 0x43e5
movl 0xb455(%rip), %eax      # 0xf614
testl %eax, %eax
jle 0x43ff
leal -0x1(%rax), %edx
leaq 0xb44f(%rip), %rbp      # 0xf620
movl (%rbp,%rdx,4), %ecx
btl $0x14, %ecx
jb 0x4405
movl %edx, 0xb42f(%rip)      # 0xf614
addl $-0x2, %eax
testl %eax, %eax
js 0x4208
movl %eax, %edx
movl (%rbp,%rdx,4), %esi
movl %esi, %edi
xorl %ecx, %edi
decl %eax
testb $0x7f, %dil
jne 0x41e8
andl $0xffbfffff, %esi       # imm = 0xFFBFFFFF
movl %esi, (%rbp,%rdx,4)
orl $-0x1, 0xa13d(%rip)     # 0xe34c
cmpb $0x1, 0xa132(%rip)      # 0xe348
jne 0x421d
callq 0x2dfe
andl $0x0, 0xa120(%rip)      # 0xe344
callq 0x29a1
callq 0x60c0
movslq 0xb3df(%rip), %rax      # 0xf614
testb $0x10, -0x2(%rbp,%rax,4)
jne 0x4621
movb (%rbp,%rax,4), %al
andb $0x7f, %al
movzbl %al, %eax
movb $0x9, %cl
divb %cl
movzbl %ah, %edi
movzbl %al, %esi
callq 0x546b
jmp 0x440a
cmpb $0x0, 0xb17c(%rip)      # 0xf3e0
pushq $0x6f
popq %rax
movl %eax, %ebp
jne 0x445d
leaq 0xa14a(%rip), %r12      # 0xe3c0
movq %r12, %rdi
leaq 0x647f(%rip), %rsi      # 0xa6ff
leaq 0x683c(%rip), %rdx      # 0xaac3
callq 0x641a
testl %eax, %eax
je 0x45be
leaq 0x6854(%rip), %rdi      # 0xaaef
callq 0x63f9
pushq $0x6f
jmp 0x4658
movq (%rbx), %rdi
callq 0x2180
movq (%rbx), %rdi
movl %r13d, %edx
testq %rdi, %rdi
je 0x42c0
movswl 0x4(%rdi), %edx
incl %edx
xorl %esi, %esi
callq 0x2140
pushq $0x64
jmp 0x440c
cmpl $0x0, 0xb33f(%rip)      # 0xf614
pushq $0x66
popq %rax
movl %eax, %ebp
je 0x445d
testb $0x10, 0xb33b(%rip)     # 0xf622
movl %eax, %ebp
jne 0x445d
callq 0x636c
pushq $0x66
popq %rcx
movl %ecx, %ebp
testl %eax, %eax
je 0x445d
leaq 0x64f4(%rip), %rdi      # 0xa7fc
callq 0x2eea
callq 0x20d0
pushq $0x66
jmp 0x440c
cmpb $0x1, 0xa028(%rip)      # 0xe348
jne 0x4327
callq 0x2dfe
movl $0x144, %edx            # imm = 0x144
movq %r12, %rdi
xorl %esi, %esi
callq 0x2190
movl $0x3cc, %edx            # imm = 0x3CC
leaq 0xb2de(%rip), %rdi      # 0xf620
xorl %esi, %esi
callq 0x2190
andl $0x0, 0xb2c4(%rip)      # 0xf614
andl $0x0, 0xb83d(%rip)      # 0xfb94
callq 0x60c0
xorl %edi, %edi
callq 0x5ff5
movq (%rbx), %rdi
callq 0x2180
callq 0x5006
pushq $0x6e
jmp 0x440c
callq 0x5e53
callq 0x60c0
pushq $0x8
popq %rax
movl %eax, 0xb662(%rip)      # 0xf9ec
movl %eax, 0xb660(%rip)      # 0xf9f0
callq 0x621d
pushq $0x72
jmp 0x440c
callq 0x621d
pushq $0x20
jmp 0x440c
callq 0x2a37
pushq $0x3f
jmp 0x440c
pushq $0x30
popq %rax
movl %eax, %ebp
jmp 0x3e80
movl 0xb635(%rip), %esi      # 0xf9f0
xorl %edi, %edi
jmp 0x43d1
xorl %esi, %esi
jmp 0x43d1
pushq $0x8
popq %rsi
jmp 0x43d1
movl 0xb622(%rip), %esi      # 0xf9f0
pushq $0x8
popq %rdi
callq 0x546b
jmp 0x445d
movl $0x1, 0xb8fb(%rip)      # 0xfce0
callq 0x60c0
movl 0xb5fc(%rip), %edi      # 0xf9ec
movl 0xb5fa(%rip), %esi      # 0xf9f0
callq 0x546b
pushq $0x76
jmp 0x440c
js 0x47e7
callq 0x20d0
pushq $0x75
popq %rax
movl %eax, %ebp
jmp 0x445d
callq 0x20d0
movq (%rbx), %rdi
cmpl $0x30, %ebp
movl %ebp, %esi
pushq $0x2e
popq %rax
cmovel %eax, %esi
callq 0x2300
movl 0xb5bd(%rip), %edi      # 0xf9ec
movl 0xb5bb(%rip), %esi      # 0xf9f0
callq 0x546b
cmpb $0x1, 0x9f07(%rip)      # 0xe348
jne 0x4448
callq 0x2dfe
andl $0x0, 0x9ef5(%rip)      # 0xe344
pushq $-0x1
popq %r13
movq %r15, %r12
leaq 0x3c07(%rip), %r15      # 0x8064
cmpl $0x0, 0xb87c(%rip)      # 0xfce0
jne 0x3e39
callq 0x6283
testl %eax, %eax
je 0x3e39
callq 0x636c
testl %eax, %eax
jne 0x3e39
leaq 0x10(%rsp), %rdi
callq 0x2250
movq 0x10(%rsp), %rcx
subq 0xb83e(%rip), %rcx      # 0xfcd8
movq %rcx, 0x10(%rsp)
movq %rcx, %rax
cqto
movl $0xe10, %esi            # imm = 0xE10
idivq %rsi
movq %rax, %r8
movq %rcx, %rax
cqto
pushq $0x3c
popq %rcx
idivq %rcx
movq %rdx, %r9
cltd
pushq $0x3c
popq %rcx
idivl %ecx
movl %edx, %ecx
movl %r13d, %ebx
movq %r15, %r13
movq %r12, %r15
movq %r14, %r12
leaq 0x9e88(%rip), %r14      # 0xe360
movq %r14, %rdi
leaq 0x6360(%rip), %rsi      # 0xa842
movl %r8d, %edx
movl %r9d, %r8d
xorl %eax, %eax
callq 0x2320
callq 0x20d0
movq %r14, %rdi
movq %r12, %r14
movq %r15, %r12
movq %r13, %r15
movl %ebx, %r13d
movq 0x9ace(%rip), %rbx      # 0xdfd8
callq 0x2eea
movl $0x1, 0xb7c7(%rip)      # 0xfce0
jmp 0x3e39
movq %r12, %rdi
callq 0x6443
testq %rax, %rax
je 0x463a
cmpb $0x0, (%rax)
je 0x463a
leaq 0xaf61(%rip), %r15      # 0xf4a0
cmpb $0x7c, 0x9e7a(%rip)     # 0xe3c0
jne 0x4677
movq %rax, %rdi
leaq 0x5794(%rip), %rsi      # 0x9cea
callq 0x22b0
testq %rax, %rax
je 0x46b2
movq %rax, %r12
movq %rax, %rdi
callq 0x4b8b
movq %r12, %rdi
callq 0x2150
jmp 0x46be
movq %r12, %rdi
callq 0x6443
testq %rax, %rax
je 0x464a
cmpb $0x0, (%rax)
je 0x464a
movq %rax, %rdi
callq 0x34a9
testl %eax, %eax
leaq 0xaef9(%rip), %r12      # 0xf4a0
je 0x46c8
leaq 0x62fb(%rip), %rdi      # 0xa8af
callq 0x63ea
jmp 0x46d4
leaq 0xaedb(%rip), %r15      # 0xf4a0
movq %r12, %rdi
callq 0x6443
testq %rax, %rax
je 0x4667
movq %rax, %r12
cmpb $0x0, (%rax)
je 0x4667
movq 0xb68f(%rip), %rdi      # 0xfc78
testq %rdi, %rdi
je 0x45fb
callq 0x20e0
andq $0x0, 0xb67d(%rip)      # 0xfc78
movq %r12, %rdi
leaq 0x60b5(%rip), %rsi      # 0xa6ba
callq 0x22c0
movq %rax, 0xb667(%rip)      # 0xfc78
testq %rax, %rax
je 0x46db
callq 0x5006
jmp 0x4673
pushq $0x8
popq %rax
movl %eax, 0xb3c6(%rip)      # 0xf9f0
movl %eax, 0xb3bc(%rip)      # 0xf9ec
callq 0x621d
jmp 0x440a
leaq 0x6506(%rip), %rdi      # 0xab47
callq 0x2eea
pushq $0x73
jmp 0x4658
leaq 0x628c(%rip), %rdi      # 0xa8dd
callq 0x63ea
pushq $0x77
popq %rax
movl %eax, %ebp
leaq 0xae3e(%rip), %r12      # 0xf4a0
jmp 0x445d
leaq 0x626f(%rip), %rdi      # 0xa8dd
callq 0x63ea
pushq $0x6f
jmp 0x46c0
cmpl $0x2, 0xad56(%rip)      # 0xf3d4
leaq 0x5665(%rip), %rsi      # 0x9cea
leaq 0x6498(%rip), %rcx      # 0xab24
cmovbq %rcx, %rsi
movq %rax, %rdi
callq 0x22c0
testq %rax, %rax
je 0x46b2
movq %rax, %r12
movq %rax, %rdi
callq 0x4b8b
movq %r12, %rdi
callq 0x20e0
jmp 0x46be
leaq 0x646d(%rip), %rdi      # 0xab26
callq 0x2eea
pushq $0x73
popq %rax
movl %eax, %ebp
jmp 0x4453
leaq 0x61bc(%rip), %rdi      # 0xa88b
callq 0x63f9
pushq $0x77
jmp 0x440c
leaq 0x63ec(%rip), %rdi      # 0xaace
callq 0x2eea
jmp 0x4673
callq 0x4806
xorl %ebx, %ebx
movl %ebx, %eax
addq $0x168, %rsp            # imm = 0x168
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x98ed(%rip), %rax      # 0xdff8
movq (%rax), %rcx
leaq 0x53fc(%rip), %rdi      # 0x9b11
pushq $0x29
popq %rsi
pushq $0x1
popq %rdx
callq 0x2340
callq 0x4806
pushq $-0x1
jmp 0x4779
pushq $-0x1
popq %rbx
movq 0x98c5(%rip), %rax      # 0xdff8
movq (%rax), %rcx
leaq 0x5986(%rip), %rdi      # 0xa0c3
pushq $0x22
jmp 0x4792
movq 0x98b0(%rip), %rax      # 0xdff8
movq (%rax), %rcx
leaq 0x54a6(%rip), %rdi      # 0x9bf8
pushq $0x26
jmp 0x4769
movq 0x989b(%rip), %rax      # 0xdff8
movq (%rax), %rcx
leaq 0x5465(%rip), %rdi      # 0x9bcc
pushq $0x2b
popq %rsi
pushq $0x1
popq %rdx
callq 0x2340
callq 0x4806
pushq $0x1
popq %rbx
jmp 0x46f0
movq 0x9872(%rip), %rax      # 0xdff8
movq (%rax), %rcx
leaq 0x548f(%rip), %rdi      # 0x9c1f
pushq $0x32
popq %rsi
pushq $0x1
popq %rdx
callq 0x2340
jmp 0x386a
movq 0x9851(%rip), %rax      # 0xdff8
movq (%rax), %rcx
leaq 0x53c1(%rip), %rdi      # 0x9b72
pushq $0x24
popq %rsi
pushq $0x1
popq %rdx
callq 0x2340
jmp 0x47df
movq 0x9833(%rip), %rax      # 0xdff8
movq (%rax), %rcx
leaq 0x53c8(%rip), %rdi      # 0x9b97
pushq $0x34
popq %rsi
pushq $0x1
popq %rdx
callq 0x2340
callq 0x4806
pushq $0x1
popq %rdi
callq 0x2330
leaq 0x5fe4(%rip), %rdi      # 0xa7d2
leaq 0x51b5(%rip), %rsi      # 0x99aa
leaq 0x5fe7(%rip), %rcx      # 0xa7e3
movl $0xf05, %edx            # imm = 0xF05
callq 0x2160