// File: /workspace/github_c_makefile_star2_O1/chatziko-k08[P]lecture-code/tests/../include/acutest.h
// Function: main
int
main(int argc, char** argv)
{
    int i;

    acutest_argv0_ = argv[0];

#if defined ACUTEST_UNIX_
    acutest_colorize_ = isatty(STDOUT_FILENO);
#elif defined ACUTEST_WIN_
 #if defined _BORLANDC_
    acutest_colorize_ = isatty(_fileno(stdout));
 #else
    acutest_colorize_ = _isatty(_fileno(stdout));
 #endif
#else
    acutest_colorize_ = 0;
#endif

    /* Count all test units */
    acutest_list_size_ = 0;
    for(i = 0; acutest_list_[i].func != NULL; i++)
        acutest_list_size_++;

    acutest_test_data_ = (struct acutest_test_data_*)calloc(acutest_list_size_, sizeof(struct acutest_test_data_));
    if(acutest_test_data_ == NULL) {
        fprintf(stderr, "Out of memory.\n");
        acutest_exit_(2);
    }

    /* Parse options */
    acutest_cmdline_read_(acutest_cmdline_options_, argc, argv, acutest_cmdline_callback_);

    /* Initialize the proper timer. */
    acutest_timer_init_();

#if defined(ACUTEST_WIN_)
    SetUnhandledExceptionFilter(acutest_seh_exception_filter_);
#ifdef _MSC_VER
    _set_abort_behavior(0, _WRITE_ABORT_MSG);
#endif
#endif

    /* By default, we want to run all tests. */
    if(acutest_count_ == 0) {
        for(i = 0; acutest_list_[i].func != NULL; i++)
            acutest_remember_(i);
    }

    /* Guess whether we want to run unit tests as child processes. */
    if(acutest_no_exec_ < 0) {
        acutest_no_exec_ = 0;

        if(acutest_count_ <= 1) {
            acutest_no_exec_ = 1;
        } else {
#ifdef ACUTEST_WIN_
            if(IsDebuggerPresent())
                acutest_no_exec_ = 1;
#endif
#ifdef ACUTEST_LINUX_
            if(acutest_is_tracer_present_())
                acutest_no_exec_ = 1;
#endif
#ifdef ACUTEST_MACOS_
            if(acutest_AmIBeingDebugged())
                acutest_no_exec_ = 1;
#endif
#ifdef RUNNING_ON_VALGRIND
            /* RUNNING_ON_VALGRIND is provided by optionally included <valgrind.h> */
            if(RUNNING_ON_VALGRIND)
                acutest_no_exec_ = 1;
#endif
        }
    }

    if(acutest_tap_) {
        /* TAP requires we know test result ("ok", "not ok") before we output
         * anything about the test, and this gets problematic for larger verbose
         * levels. */
        if(acutest_verbose_level_ > 2)
            acutest_verbose_level_ = 2;

        /* TAP harness should provide some summary. */
        acutest_no_summary_ = 1;

        if(!acutest_worker_)
            printf("1..%d\n", (int) acutest_count_);
    }

    int index = acutest_worker_index_;
    for(i = 0; acutest_list_[i].func != NULL; i++) {
        int run = (acutest_test_data_[i].flags & ACUTEST_FLAG_RUN_);
        if (acutest_skip_mode_) /* Run all tests except those listed. */
            run = !run;
        if(run)
            acutest_run_(&acutest_list_[i], index++, i);
    }

    /* Write a summary */
    if(!acutest_no_summary_ && acutest_verbose_level_ >= 1) {
        if(acutest_verbose_level_ >= 3) {
            acutest_colored_printf_(ACUTEST_COLOR_DEFAULT_INTENSIVE_, "Summary:\n");

            printf("  Count of all unit tests:     %4d\n", (int) acutest_list_size_);
            printf("  Count of run unit tests:     %4d\n", acutest_stat_run_units_);
            printf("  Count of failed unit tests:  %4d\n", acutest_stat_failed_units_);
            printf("  Count of skipped unit tests: %4d\n", (int) acutest_list_size_ - acutest_stat_run_units_);
        }

        if(acutest_stat_failed_units_ == 0) {
            acutest_colored_printf_(ACUTEST_COLOR_GREEN_INTENSIVE_, "SUCCESS:");
            printf(" All unit tests have passed.\n");
        } else {
            acutest_colored_printf_(ACUTEST_COLOR_RED_INTENSIVE_, "FAILED:");
            printf(" %d of %d unit tests %s failed.\n",
                    acutest_stat_failed_units_, acutest_stat_run_units_,
                    (acutest_stat_failed_units_ == 1) ? "has" : "have");
        }

        if(acutest_verbose_level_ >= 3)
            printf("\n");
    }

    if (acutest_xml_output_) {
#if defined ACUTEST_UNIX_
        char *suite_name = basename(argv[0]);
#elif defined ACUTEST_WIN_
        char suite_name[_MAX_FNAME];
        _splitpath(argv[0], NULL, NULL, suite_name, NULL);
#else
        const char *suite_name = argv[0];
#endif
        fprintf(acutest_xml_output_, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
        fprintf(acutest_xml_output_, "<testsuite name=\"%s\" tests=\"%d\" errors=\"%d\" failures=\"%d\" skip=\"%d\">\n",
            suite_name, (int)acutest_list_size_, acutest_stat_failed_units_, acutest_stat_failed_units_,
            (int)acutest_list_size_ - acutest_stat_run_units_);
        for(i = 0; acutest_list_[i].func != NULL; i++) {
            struct acutest_test_data_ *details = &acutest_test_data_[i];
            fprintf(acutest_xml_output_, "  <testcase name=\"%s\" time=\"%.2f\">\n", acutest_list_[i].name, details->duration);
            if (details->flags & ACUTEST_FLAG_FAILURE_)
                fprintf(acutest_xml_output_, "    <failure />\n");
            if (!(details->flags & ACUTEST_FLAG_FAILURE_) && !(details->flags & ACUTEST_FLAG_SUCCESS_))
                fprintf(acutest_xml_output_, "    <skipped />\n");
            fprintf(acutest_xml_output_, "  </testcase>\n");
        }
        fprintf(acutest_xml_output_, "</testsuite>\n");
        fclose(acutest_xml_output_);
    }

    acutest_cleanup_();

    return (acutest_stat_failed_units_ == 0) ? 0 : 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x258, %rsp            # imm = 0x258
movq %rsi, %rbx
movl %edi, %r15d
movq (%rsi), %rax
movq %rax, 0x7454(%rip)      # 0xa2b8
movl $0x1, %edi
callq 0x2090
movl %eax, 0x744c(%rip)      # 0xa2c0
movb $0x1, 0x744d(%rip)      # 0xa2c8
movl $0x6, %edi
movl $0x10, %esi
callq 0x2160
movq %rax, 0x743f(%rip)      # 0xa2d0
testq %rax, %rax
je 0x38f4
movb $0x0, 0x70(%rsp)
cmpl $0x2, %r15d
movq %rbx, 0x10(%rsp)
jl 0x3254
movl $0x1, %r13d
leaq 0x36f1(%rip), %r12      # 0x65ac
xorl %ebp, %ebp
movl %r15d, 0x18(%rsp)
movslq %r13d, %rcx
testl %ebp, %ebp
je 0x2ee9
movq (%rbx,%rcx,8), %rsi
xorl %edi, %edi
callq 0x3908
testl %eax, %eax
jne 0x3254
incl %r13d
cmpl %r15d, %r13d
jl 0x2ec2
jmp 0x3254
movq (%rbx,%rcx,8), %r14
movq %r14, %rdi
movq %r12, %rsi
movq %rcx, 0x30(%rsp)
callq 0x2170
movq 0x30(%rsp), %rcx
testl %eax, %eax
je 0x2ec9
movq %r14, %rdi
leaq 0x369b(%rip), %rsi      # 0x65ab
callq 0x2170
testl %eax, %eax
je 0x305f
cmpb $0x2d, (%r14)
jne 0x310c
movq %r13, 0x20(%rsp)
xorl %ebp, %ebp
movl $0x73, %r13d
leaq 0x6ca5(%rip), %r12      # 0x9be0
movl $0x0, 0x1c(%rsp)
movq 0x30(%rsp), %rcx
movq 0x8(%r12), %r14
testq %r14, %r14
je 0x2f73
movq (%rbx,%rcx,8), %r15
movl $0x2, %edx
movq %r15, %rdi
leaq 0x3646(%rip), %rsi      # 0x65ab
callq 0x2070
movq 0x30(%rsp), %rcx
testl %eax, %eax
je 0x2f8e
movb (%r12), %al
testb %al, %al
je 0x2fc7
movq (%rbx,%rcx,8), %rsi
cmpb $0x2d, (%rsi)
jne 0x2fc7
cmpb %al, 0x1(%rsi)
jne 0x2fc7
jmp 0x3118
movl %ebp, 0x2c(%rsp)
movq %r14, %rdi
callq 0x20d0
movq %rax, %rbp
leaq 0x2(%r15), %rbx
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x2070
testl %eax, %eax
je 0x2fe2
xorl %eax, %eax
movq 0x10(%rsp), %rbx
testb %al, %al
movq 0x30(%rsp), %rcx
jne 0x306f
movl 0x28(%r12), %r13d
addq $0x18, %r12
testl %r13d, %r13d
sete %bpl
jne 0x2f48
jmp 0x306b
movzbl 0x2(%r15,%rbp), %eax
cmpl $0x3d, %eax
je 0x3005
testl %eax, %eax
jne 0x2fb3
testb $0x2, 0x14(%r12)
movq 0x10(%rsp), %rbx
jne 0x3019
movl %r13d, %edi
xorl %esi, %esi
jmp 0x3021
testb $0x3, 0x14(%r12)
je 0x302e
leaq (%rbx,%rbp), %rsi
incq %rsi
movl %r13d, %edi
jmp 0x304f
movl $0x80000002, %edi       # imm = 0x80000002
movq %r15, %rsi
callq 0x3908
movl %eax, 0x1c(%rsp)
movb $0x1, %al
jmp 0x2fba
leaq 0x50(%rsp), %rbx
movq %rbx, %rdi
leaq 0x364c(%rip), %rsi      # 0x6689
movq %r14, %rdx
xorl %eax, %eax
callq 0x2230
movl $0x80000003, %edi       # imm = 0x80000003
movq %rbx, %rsi
callq 0x3908
movl %eax, 0x1c(%rsp)
movb $0x1, %al
jmp 0x2fb5
movl $0x1, %ebp
xorl %eax, %eax
jmp 0x2ed4
movl %ebp, 0x2c(%rsp)
movl 0x18(%rsp), %r15d
leaq 0x3531(%rip), %r12      # 0x65ac
movq 0x20(%rsp), %r13
movl 0x1c(%rsp), %eax
xorl %ebp, %ebp
testb $0x1, 0x2c(%rsp)
je 0x2ed4
movslq %r13d, %rax
movq (%rbx,%rax,8), %r14
cmpb $0x2d, (%r14)
jne 0x310c
movl $0x2, %edx
movq %r14, %rdi
leaq 0x34fe(%rip), %rsi      # 0x65ab
callq 0x2070
testl %eax, %eax
jne 0x3105
movq %r14, %rdi
movl $0x3d, %esi
callq 0x20e0
testq %rax, %rax
je 0x3100
movq %rax, %rbx
subq %r14, %rbx
cmpq $0x20, %rbx
movl $0x20, %eax
cmovaeq %rax, %rbx
movq %r13, 0x20(%rsp)
leaq 0x50(%rsp), %r13
movq %r13, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x2060
movb $0x0, 0x50(%rsp,%rbx)
movq %r13, %r14
movq 0x20(%rsp), %r13
movq 0x10(%rsp), %rbx
movl $0x80000001, %edi       # imm = 0x80000001
jmp 0x3110
xorl %ebp, %ebp
xorl %edi, %edi
movq %r14, %rsi
jmp 0x2ecf
testb $0x2, 0x14(%r12)
movl %ebp, 0x2c(%rsp)
jne 0x31dc
movl %r13d, %edi
xorl %esi, %esi
callq 0x3908
testl %eax, %eax
jne 0x31ee
movq 0x30(%rsp), %rax
movq (%rbx,%rax,8), %rbx
movb 0x2(%rbx), %cl
xorl %eax, %eax
testb %cl, %cl
movl 0x18(%rsp), %r15d
leaq 0x3456(%rip), %r12      # 0x65ac
je 0x323c
xorl %r14d, %r14d
leaq 0x38(%rsp), %r13
movl $0x73, %edi
leaq 0x6a70(%rip), %rdx      # 0x9be0
cmpb $0x73, %cl
je 0x318f
leaq 0x6a64(%rip), %rax      # 0x9be0
movl 0x28(%rax), %edi
testl %edi, %edi
je 0x319e
leaq 0x18(%rax), %rdx
cmpb 0x18(%rax), %cl
movq %rdx, %rax
jne 0x317c
movl $0x80000002, %eax       # imm = 0x80000002
testb $0x2, 0x14(%rdx)
jne 0x31a3
xorl %esi, %esi
jmp 0x31b6
movl $0x80000001, %eax       # imm = 0x80000001
movb $0x2d, 0x38(%rsp)
movb %cl, 0x39(%rsp)
movb $0x0, 0x3a(%rsp)
movl %eax, %edi
movq %r13, %rsi
callq 0x3908
testl %eax, %eax
jne 0x323c
movb 0x3(%rbx,%r14), %cl
incq %r14
testb %cl, %cl
jne 0x3164
movq 0x10(%rsp), %rbx
movq 0x20(%rsp), %r13
xorl %eax, %eax
jmp 0x3084
cmpb $0x0, 0x2(%rsi)
je 0x3204
addq $0x2, %rsi
movl %r13d, %edi
callq 0x3908
movl 0x18(%rsp), %r15d
leaq 0x33b2(%rip), %r12      # 0x65ac
movq 0x20(%rsp), %r13
jmp 0x3084
movq 0x20(%rsp), %rax
leal 0x1(%rax), %ebx
movl 0x18(%rsp), %r15d
cmpl %r15d, %ebx
jge 0x3243
movslq %ebx, %rax
movq 0x10(%rsp), %r14
movq (%r14,%rax,8), %rsi
movl %r13d, %edi
callq 0x3908
movl %ebx, %r13d
movq %r14, %rbx
leaq 0x3375(%rip), %r12      # 0x65ac
jmp 0x3084
movq 0x10(%rsp), %rbx
jmp 0x31fa
movl $0x80000002, %edi       # imm = 0x80000002
callq 0x3908
movq 0x10(%rsp), %rbx
jmp 0x31f3
movl 0x70b2(%rip), %eax      # 0xa30c
leal -0x1(%rax), %ecx
cmpl $0x1, %ecx
ja 0x3268
movl %eax, 0x70c8(%rip)      # 0xa330
cmpq $0x0, 0x7068(%rip)      # 0xa2d8
jne 0x32a8
movq 0x705f(%rip), %rax      # 0xa2d8
movq 0x7050(%rip), %rcx      # 0xa2d0
xorl %edx, %edx
movb (%rcx,%rdx), %sil
testb $0x1, %sil
jne 0x329e
orb $0x1, %sil
movb %sil, (%rcx,%rdx)
incq %rax
movq %rax, 0x703a(%rip)      # 0xa2d8
addq $0x10, %rdx
cmpq $0x60, %rdx
jne 0x3282
cmpl $0x0, 0x6ebd(%rip)      # 0xa16c
jns 0x340c
movl $0x0, 0x6ead(%rip)      # 0xa16c
cmpq $0x2, 0x7011(%rip)      # 0xa2d8
jb 0x3402
leaq 0x35fd(%rip), %rdi      # 0x68d1
xorl %ebx, %ebx
xorl %esi, %esi
xorl %eax, %eax
callq 0x2200
cmpl $-0x1, %eax
je 0x33b8
movl %eax, %ebp
leaq 0x230(%rsp), %r12
leaq 0x2d92(%rip), %r14      # 0x608b
leaq 0x50(%rsp), %r15
xorl %r13d, %r13d
cmpq $0x1fe, %r13            # imm = 0x1FE
ja 0x3335
leaq (%rsp,%r13), %rsi
addq $0x50, %rsi
movl $0x1ff, %edx            # imm = 0x1FF
subq %r13, %rdx
movl %ebp, %edi
callq 0x2140
testq %rax, %rax
movl $0x0, %ecx
cmovgq %rax, %rcx
addq %rcx, %r13
testq %rax, %rax
jg 0x3301
movb $0x0, 0x50(%rsp,%r13)
movq %r15, %rdi
movq %r14, %rsi
callq 0x2280
testq %rax, %rax
setne %cl
cmpq %r12, %rax
setb %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x336e
addq $0xa, %rax
movq %rax, %rdi
callq 0x2220
xorl %ebx, %ebx
testl %eax, %eax
setne %bl
jmp 0x3377
cmpq $0x1ff, %r13            # imm = 0x1FF
je 0x337f
xorl %eax, %eax
testb %al, %al
jne 0x3301
jmp 0x33a3
movupd -0x1(%r12), %xmm0
movupd 0xf(%r12), %xmm1
movapd %xmm1, 0x60(%rsp)
movapd %xmm0, 0x50(%rsp)
movl $0x20, %r13d
movb $0x1, %al
jmp 0x3379
movl %ebp, %edi
callq 0x2120
testl %ebx, %ebx
je 0x33b8
movl $0x1, 0x6db4(%rip)      # 0xa16c
leaq 0x50(%rsp), %rax
movq $0x1001, (%rax)         # imm = 0x1001
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rcx, 0x10(%rax)
movq %rcx, 0x18(%rax)
movq %rcx, 0x20(%rax)
movq %rcx, 0x28(%rax)
xorl %edx, %edx
rolq $0x3, %rdi
rolq $0xd, %rdi
rolq $0x3d, %rdi
rolq $0x33, %rdi
xchgq %rbx, %rbx
movq %rdx, 0x38(%rsp)
movq 0x38(%rsp), %rax
testl %eax, %eax
movq 0x10(%rsp), %rbx
je 0x340c
movl $0x1, 0x6d60(%rip)      # 0xa16c
cmpb $0x1, 0x6ecd(%rip)      # 0xa2e0
jne 0x344c
cmpl $0x3, 0x6d4c(%rip)      # 0xa168
jl 0x3428
movl $0x2, 0x6d40(%rip)      # 0xa168
movb $0x1, 0x6eb5(%rip)      # 0xa2e4
cmpb $0x0, 0x6eb2(%rip)      # 0xa2e8
jne 0x344c
movl 0x6e9a(%rip), %esi      # 0xa2d8
leaq 0x2d26(%rip), %rdi      # 0x616b
xorl %eax, %eax
callq 0x20f0
movl 0x6e9a(%rip), %ebp      # 0xa2ec
leaq 0x38(%rsp), %r13
leaq 0x50(%rsp), %r12
xorl %r14d, %r14d
movq 0x6e6a(%rip), %rax      # 0xa2d0
movb (%rax,%r14), %al
andb $0x1, %al
cmpb %al, 0x6e7e(%rip)       # 0xa2f0
je 0x364c
leaq 0x68e1(%rip), %rax      # 0x9d60
leaq (%rax,%r14), %r15
movq %r15, 0x6cfe(%rip)      # 0xa188
movl $0x0, 0x6cec(%rip)      # 0xa180
movl 0x6e96(%rip), %edi      # 0xa330
movq %r13, %rsi
callq 0x20b0
cmpl $0x0, 0x6cc3(%rip)      # 0xa16c
je 0x34c1
movq %r15, %rdi
movl %ebp, %esi
callq 0x4c41
xorl %ebx, %ebx
testl %eax, %eax
setne %bl
jmp 0x35bc
movq 0x6b10(%rip), %rax      # 0x9fd8
movq (%rax), %rdi
callq 0x21b0
movq 0x6b21(%rip), %rax      # 0x9ff8
movq (%rax), %rdi
callq 0x21b0
callq 0x2270
cmpl $-0x1, %eax
je 0x3540
testl %eax, %eax
je 0x38d6
movl %eax, %edi
leaq 0x4c(%rsp), %rsi
xorl %edx, %edx
callq 0x21f0
movl 0x4c(%rsp), %esi
movl %esi, %edx
andl $0x7f, %edx
je 0x3564
movl %edx, %eax
shll $0x18, %eax
addl $0x1000000, %eax        # imm = 0x1000000
cmpl $0x2000000, %eax        # imm = 0x2000000
jl 0x3578
cmpl $0x10, %edx
jae 0x3581
movq %rdx, %rax
decq %rax
movl $0x452f, %ecx           # imm = 0x452F
btl %eax, %ecx
jae 0x3581
leaq 0x2b75(%rip), %rcx      # 0x60ac
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
jmp 0x3595
callq 0x2050
movq %rax, %rbx
movl (%rax), %edi
callq 0x2260
movl (%rbx), %edx
leaq 0x338b(%rip), %rdi      # 0x68e3
movq %rax, %rsi
xorl %eax, %eax
callq 0x4b5a
jmp 0x35b7
shrl $0x8, %esi
movzbl %sil, %ebx
cmpb $0x1, %bl
je 0x35bc
testl %ebx, %ebx
jne 0x35a5
xorl %ebx, %ebx
jmp 0x35bc
leaq 0x33f2(%rip), %rdi      # 0x6971
jmp 0x35b0
movq %r12, %rdi
leaq 0x33c4(%rip), %rsi      # 0x694f
xorl %eax, %eax
callq 0x2230
movq %r12, %rsi
leaq 0x33bd(%rip), %rdi      # 0x6959
xorl %eax, %eax
callq 0x4b5a
jmp 0x35b7
movzbl %sil, %esi
leaq 0x3348(%rip), %rdi      # 0x68f8
xorl %eax, %eax
callq 0x4b5a
movl $0x1, %ebx
movl 0x6d6e(%rip), %edi      # 0xa330
movq %r12, %rsi
callq 0x20b0
movq $0x0, 0x6bb3(%rip) # 0xa188
incl 0x6d19(%rip)            # 0xa2f4
testl %ebx, %ebx
je 0x35e9
incl 0x6d13(%rip)            # 0xa2f8
movb $0x4, %al
jmp 0x35eb
movb $0x2, %al
movq 0x10(%rsp), %rbx
movq 0x6cd9(%rip), %rcx      # 0xa2d0
orb %al, (%rcx,%r14)
incl %ebp
xorps %xmm0, %xmm0
cvtsi2sdq 0x50(%rsp), %xmm0
movsd 0x29f9(%rip), %xmm3     # 0x6008
mulsd %xmm3, %xmm0
xorps %xmm1, %xmm1
cvtsi2sdq 0x58(%rsp), %xmm1
xorps %xmm2, %xmm2
cvtsi2sdq 0x38(%rsp), %xmm2
addsd %xmm0, %xmm1
mulsd %xmm3, %xmm2
xorps %xmm0, %xmm0
cvtsi2sdq 0x40(%rsp), %xmm0
addsd %xmm2, %xmm0
subsd %xmm0, %xmm1
divsd %xmm3, %xmm1
movsd %xmm1, 0x8(%rcx,%r14)
addq $0x10, %r14
cmpq $0x60, %r14
jne 0x345f
movl 0x6b08(%rip), %eax      # 0xa168
testl %eax, %eax
setle %cl
orb 0x6c79(%rip), %cl       # 0xa2e4
testb $0x1, %cl
jne 0x3766
cmpl $0x3, %eax
jl 0x36e7
leaq 0x2af2(%rip), %rsi      # 0x6172
movl $0x3, %edi
xorl %eax, %eax
callq 0x28e6
leaq 0x2ae9(%rip), %rdi      # 0x617c
movl $0x6, %ebx
movl $0x6, %esi
xorl %eax, %eax
callq 0x20f0
movl 0x6c4a(%rip), %esi      # 0xa2f4
leaq 0x2aef(%rip), %rdi      # 0x61a0
xorl %eax, %eax
callq 0x20f0
movl 0x6c3a(%rip), %esi      # 0xa2f8
leaq 0x2aff(%rip), %rdi      # 0x61c4
xorl %eax, %eax
callq 0x20f0
subl 0x6c22(%rip), %ebx      # 0xa2f4
leaq 0x2b0f(%rip), %rdi      # 0x61e8
movl %ebx, %esi
movq 0x10(%rsp), %rbx
xorl %eax, %eax
callq 0x20f0
cmpl $0x0, 0x6c0a(%rip)      # 0xa2f8
je 0x3734
leaq 0x2b1e(%rip), %rsi      # 0x6215
movl $0x5, %edi
xorl %eax, %eax
callq 0x28e6
movl 0x6bef(%rip), %esi      # 0xa2f8
movl 0x6be5(%rip), %edx      # 0xa2f4
cmpl $0x1, %esi
leaq 0x2b25(%rip), %rax      # 0x623e
leaq 0x2b22(%rip), %rcx      # 0x6242
cmoveq %rax, %rcx
leaq 0x2af2(%rip), %rdi      # 0x621d
xorl %eax, %eax
callq 0x20f0
jmp 0x3753
leaq 0x2ad1(%rip), %rsi      # 0x620c
movl $0x4, %edi
xorl %eax, %eax
callq 0x28e6
leaq 0x3295(%rip), %rdi      # 0x69e3
callq 0x2080
cmpl $0x3, 0x6a0e(%rip)      # 0xa168
jl 0x3766
movl $0xa, %edi
callq 0x2030
cmpq $0x0, 0x6b92(%rip)      # 0xa300
je 0x38ac
movq (%rbx), %rdi
callq 0x2190
movq %rax, %rbx
movq 0x6b7a(%rip), %rcx      # 0xa300
leaq 0x2aba(%rip), %rdi      # 0x6247
movl $0x27, %esi
movl $0x1, %edx
callq 0x2250
movq 0x6b5d(%rip), %rdi      # 0xa300
movl 0x6b4e(%rip), %r8d      # 0xa2f8
movl $0x6, %eax
subl 0x6b3f(%rip), %eax      # 0xa2f4
movl %eax, (%rsp)
leaq 0x2ab0(%rip), %rsi      # 0x626f
xorl %ebp, %ebp
movq %rbx, %rdx
movl $0x6, %ecx
movl %r8d, %r9d
xorl %eax, %eax
callq 0x2180
leaq 0x2adb(%rip), %rbx      # 0x62b5
leaq 0x2b09(%rip), %r14      # 0x62ea
leaq 0x2b13(%rip), %r15      # 0x62fb
leaq 0x2aea(%rip), %r12      # 0x62d9
movq 0x6ada(%rip), %r13      # 0xa2d0
movq 0x6b03(%rip), %rdi      # 0xa300
leaq 0x655c(%rip), %rax      # 0x9d60
movq (%rbp,%rax), %rdx
movsd 0x8(%r13,%rbp), %xmm0
movq %rbx, %rsi
movb $0x1, %al
callq 0x2180
testb $0x4, (%r13,%rbp)
je 0x383b
movq 0x6ad7(%rip), %rcx      # 0xa300
movl $0x10, %esi
movl $0x1, %edx
movq %r12, %rdi
callq 0x2250
testb $0x6, (%r13,%rbp)
jne 0x385c
movq 0x6ab6(%rip), %rcx      # 0xa300
movl $0x10, %esi
movl $0x1, %edx
movq %r14, %rdi
callq 0x2250
movq 0x6a9d(%rip), %rcx      # 0xa300
movl $0xe, %esi
movl $0x1, %edx
movq %r15, %rdi
callq 0x2250
addq $0x10, %rbp
cmpq $0x60, %rbp
jne 0x37ef
movq 0x6a76(%rip), %rcx      # 0xa300
leaq 0x2a79(%rip), %rdi      # 0x630a
movl $0xd, %esi
movl $0x1, %edx
callq 0x2250
movq 0x6a59(%rip), %rdi      # 0xa300
callq 0x20c0
movq 0x6a1d(%rip), %rdi      # 0xa2d0
callq 0x22b0
xorl %eax, %eax
cmpl $0x0, 0x6a37(%rip)      # 0xa2f8
setne %al
addq $0x258, %rsp            # imm = 0x258
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movb $0x1, 0x6a0b(%rip)      # 0xa2e8
movq %r15, %rdi
movl %ebp, %esi
callq 0x4c41
xorl %edi, %edi
testl %eax, %eax
setne %dil
callq 0x38f9
callq 0x22c0