// File: /workspace/github_c_makefile_star2_O3/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, %r12
movl %edi, %r13d
movq (%rsi), %rax
movq %rax, 0x743c(%rip)      # 0xa2b8
movl $0x1, %edi
callq 0x2090
movl %eax, 0x7434(%rip)      # 0xa2c0
movb $0x1, 0x7435(%rip)      # 0xa2c8
movl $0x6, %edi
movl $0x10, %esi
callq 0x2160
movq %rax, 0x7427(%rip)      # 0xa2d0
testq %rax, %rax
je 0x3846
movb $0x0, 0x70(%rsp)
cmpl $0x2, %r13d
movq %r12, 0x18(%rsp)
jl 0x31c0
movl $0x1, %ebp
xorl %ebx, %ebx
movl %r13d, 0x14(%rsp)
movslq %ebp, %rax
movq (%r12,%rax,8), %rsi
testl %ebx, %ebx
jne 0x2fac
cmpb $0x2d, (%rsi)
jne 0x2faa
movb 0x1(%rsi), %r13b
testb %r13b, %r13b
je 0x2fac
cmpb $0x2d, %r13b
jne 0x2f07
cmpb $0x0, 0x2(%rsi)
je 0x30e2
movq %rax, 0x48(%rsp)
movq %rsi, 0x20(%rsp)
leaq 0x2(%rsi), %rax
movq %rax, 0x28(%rsp)
movl $0x73, %r12d
leaq 0x6cb9(%rip), %r15      # 0x9be0
cmpb $0x2d, %r13b
setne %al
movq 0x8(%r15), %r14
testq %r14, %r14
sete %cl
orb %al, %cl
je 0x2f46
cmpb (%r15), %r13b
jne 0x2f7f
jmp 0x2fd0
movq %r14, %rdi
callq 0x20d0
movq %rax, %rbx
movq 0x28(%rsp), %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x2070
testl %eax, %eax
jne 0x2f7f
movq 0x28(%rsp), %rax
movzbl (%rax,%rbx), %eax
cmpl $0x3d, %eax
je 0x3143
testl %eax, %eax
je 0x312e
movl 0x28(%r15), %r12d
addq $0x18, %r15
testl %r12d, %r12d
jne 0x2f27
cmpb $0x2d, %r13b
je 0x307f
movq 0x18(%rsp), %r12
movl 0x14(%rsp), %r13d
movq 0x20(%rsp), %r15
jmp 0x30ce
xorl %ebx, %ebx
xorl %edi, %edi
callq 0x385a
movl 0x14(%rsp), %r13d
testl %eax, %eax
jne 0x31c0
incl %ebp
cmpl %r13d, %ebp
jl 0x2ed2
jmp 0x31c0
testb $0x2, 0x14(%r15)
jne 0x30f1
movl %r12d, %edi
xorl %esi, %esi
callq 0x385a
testl %eax, %eax
movq 0x18(%rsp), %r12
movl 0x14(%rsp), %r13d
jne 0x31c0
movq 0x48(%rsp), %rax
movq (%r12,%rax,8), %r14
movb 0x2(%r14), %cl
xorl %ebx, %ebx
testb %cl, %cl
je 0x2fc0
xorl %r15d, %r15d
movl $0x73, %edi
leaq 0x6bc7(%rip), %rdx      # 0x9be0
cmpb $0x73, %cl
je 0x3038
leaq 0x6bbb(%rip), %rax      # 0x9be0
movl 0x28(%rax), %edi
testl %edi, %edi
je 0x3047
leaq 0x18(%rax), %rdx
cmpb 0x18(%rax), %cl
movq %rdx, %rax
jne 0x3025
movl $0x80000002, %eax       # imm = 0x80000002
testb $0x2, 0x14(%rdx)
jne 0x304c
xorl %esi, %esi
jmp 0x3061
movl $0x80000001, %eax       # imm = 0x80000001
movb $0x2d, 0x30(%rsp)
movb %cl, 0x31(%rsp)
movb $0x0, 0x32(%rsp)
movl %eax, %edi
leaq 0x30(%rsp), %rsi
callq 0x385a
testl %eax, %eax
jne 0x31c0
movb 0x3(%r14,%r15), %cl
incq %r15
testb %cl, %cl
jne 0x300d
jmp 0x2fc0
movq 0x20(%rsp), %r15
movq %r15, %rdi
movl $0x3d, %esi
callq 0x20e0
testq %rax, %rax
movq 0x18(%rsp), %r12
movl 0x14(%rsp), %r13d
je 0x30ce
movq %rax, %rbx
subq %r15, %rbx
cmpq $0x20, %rbx
movl $0x20, %eax
cmovaeq %rax, %rbx
leaq 0x50(%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2060
movb $0x0, 0x50(%rsp,%rbx)
movq %r14, %r15
movl $0x80000001, %edi       # imm = 0x80000001
movq %r15, %rsi
callq 0x385a
xorl %ebx, %ebx
jmp 0x2fb8
movl $0x1, %ebx
movl 0x14(%rsp), %r13d
jmp 0x2fc0
movq 0x28(%rsp), %rsi
cmpb $0x0, (%rsi)
movl 0x14(%rsp), %r13d
jne 0x315b
leal 0x1(%rbp), %r14d
cmpl %r13d, %r14d
jge 0x31b4
movslq %r14d, %rax
movq 0x18(%rsp), %rcx
movq (%rcx,%rax,8), %rsi
movl %r12d, %edi
movq %rcx, %r12
callq 0x385a
xorl %ebx, %ebx
movl %r14d, %ebp
jmp 0x2fb8
testb $0x2, 0x14(%r15)
jne 0x316f
xorl %ebx, %ebx
movl %r12d, %edi
xorl %esi, %esi
callq 0x385a
jmp 0x3180
testb $0x3, 0x14(%r15)
movl 0x14(%rsp), %r13d
je 0x318a
movq 0x28(%rsp), %rax
leaq (%rax,%rbx), %rsi
incq %rsi
movl %r12d, %edi
callq 0x385a
xorl %ebx, %ebx
movq 0x18(%rsp), %r12
jmp 0x2fb8
movl $0x80000002, %edi       # imm = 0x80000002
movq 0x20(%rsp), %rsi
callq 0x385a
xorl %ebx, %ebx
movq 0x18(%rsp), %r12
jmp 0x2fb3
xorl %ebx, %ebx
leaq 0x50(%rsp), %r15
movq %r15, %rdi
leaq 0x34ee(%rip), %rsi      # 0x6689
movq %r14, %rdx
xorl %eax, %eax
callq 0x2230
movl $0x80000003, %edi       # imm = 0x80000003
movq %r15, %rsi
callq 0x385a
jmp 0x3165
movl $0x80000002, %edi       # imm = 0x80000002
movq 0x20(%rsp), %rsi
jmp 0x315e
movl 0x7146(%rip), %eax      # 0xa30c
leal -0x1(%rax), %ecx
cmpl $0x1, %ecx
ja 0x31d4
movl %eax, 0x715c(%rip)      # 0xa330
movq 0x70fd(%rip), %rax      # 0xa2d8
testq %rax, %rax
jne 0x3211
movq 0x70e9(%rip), %rcx      # 0xa2d0
xorl %edx, %edx
xorl %eax, %eax
movb (%rcx,%rdx), %sil
testb $0x1, %sil
jne 0x3207
orb $0x1, %sil
movb %sil, (%rcx,%rdx)
incq %rax
movq %rax, 0x70d1(%rip)      # 0xa2d8
addq $0x10, %rdx
cmpq $0x60, %rdx
jne 0x31eb
cmpl $0x0, 0x6f54(%rip)      # 0xa16c
jns 0x3351
movl $0x0, 0x6f44(%rip)      # 0xa16c
cmpq $0x2, %rax
jb 0x3347
leaq 0x3698(%rip), %rdi      # 0x68d1
xorl %esi, %esi
xorl %eax, %eax
callq 0x2200
cmpl $-0x1, %eax
je 0x3302
movl %eax, %ebp
leaq 0x230(%rsp), %rbx
xorl %ecx, %ecx
leaq 0x2e2d(%rip), %r14      # 0x608b
leaq 0x50(%rsp), %r15
movq %rcx, %r12
cmpq $0x1fe, %rcx            # imm = 0x1FE
ja 0x328f
leaq (%rsp,%r12), %rsi
addq $0x50, %rsi
movl $0x1ff, %edx            # imm = 0x1FF
subq %r12, %rdx
movl %ebp, %edi
callq 0x2140
leaq (%rax,%r12), %rcx
testq %rax, %rax
jg 0x3263
movb $0x0, 0x50(%rsp,%r12)
movq %r15, %rdi
movq %r14, %rsi
callq 0x2280
testq %rax, %rax
setne %cl
cmpq %rbx, %rax
setb %dl
testb %dl, %cl
jne 0x32df
cmpq $0x1ff, %r12            # imm = 0x1FF
jne 0x32d6
movupd -0x1(%rbx), %xmm0
movupd 0xf(%rbx), %xmm1
movapd %xmm1, 0x60(%rsp)
movapd %xmm0, 0x50(%rsp)
movl $0x20, %ecx
jmp 0x3263
movl %ebp, %edi
callq 0x2120
jmp 0x3302
addq $0xa, %rax
movq %rax, %rdi
callq 0x2220
movl %eax, %ebx
movl %ebp, %edi
callq 0x2120
testl %ebx, %ebx
je 0x3302
movl $0x1, 0x6e6a(%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, 0x30(%rsp)
movq 0x30(%rsp), %rax
testl %eax, %eax
je 0x3351
movl $0x1, 0x6e1b(%rip)      # 0xa16c
cmpb $0x1, 0x6f88(%rip)      # 0xa2e0
jne 0x3391
cmpl $0x3, 0x6e07(%rip)      # 0xa168
jl 0x336d
movl $0x2, 0x6dfb(%rip)      # 0xa168
movb $0x1, 0x6f70(%rip)      # 0xa2e4
cmpb $0x0, 0x6f6d(%rip)      # 0xa2e8
jne 0x3391
movl 0x6f55(%rip), %esi      # 0xa2d8
leaq 0x2de1(%rip), %rdi      # 0x616b
xorl %eax, %eax
callq 0x20f0
movl 0x6f55(%rip), %ebp      # 0xa2ec
movq 0x6f32(%rip), %rcx      # 0xa2d0
movb 0x6f4c(%rip), %al       # 0xa2f0
leaq 0x30(%rsp), %r13
leaq 0x50(%rsp), %r12
xorl %r14d, %r14d
movb (%rcx,%r14), %dl
andb $0x1, %dl
movl %eax, %esi
andb $0x1, %sil
cmpb %dl, %sil
je 0x359c
leaq 0x6992(%rip), %rax      # 0x9d60
leaq (%rax,%r14), %r15
movq %r15, 0x6daf(%rip)      # 0xa188
movl $0x0, 0x6d9d(%rip)      # 0xa180
movl 0x6f47(%rip), %edi      # 0xa330
movq %r13, %rsi
callq 0x20b0
cmpl $0x0, 0x6d74(%rip)      # 0xa16c
je 0x3410
movq %r15, %rdi
movl %ebp, %esi
callq 0x4b15
xorl %ebx, %ebx
testl %eax, %eax
setne %bl
jmp 0x350b
movq 0x6bc1(%rip), %rax      # 0x9fd8
movq (%rax), %rdi
callq 0x21b0
movq 0x6bd2(%rip), %rax      # 0x9ff8
movq (%rax), %rdi
callq 0x21b0
callq 0x2270
cmpl $-0x1, %eax
je 0x348f
testl %eax, %eax
je 0x3828
movl %eax, %edi
leaq 0x44(%rsp), %rsi
xorl %edx, %edx
callq 0x21f0
movl 0x44(%rsp), %esi
movl %esi, %edx
andl $0x7f, %edx
je 0x34b3
movl %edx, %eax
shll $0x18, %eax
addl $0x1000000, %eax        # imm = 0x1000000
cmpl $0x2000000, %eax        # imm = 0x2000000
jl 0x34c7
cmpl $0x10, %edx
jae 0x34d0
movq %rdx, %rax
decq %rax
movl $0x452f, %ecx           # imm = 0x452F
btl %eax, %ecx
jae 0x34d0
leaq 0x2c26(%rip), %rcx      # 0x60ac
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
jmp 0x34e4
callq 0x2050
movq %rax, %rbx
movl (%rax), %edi
callq 0x2260
movl (%rbx), %edx
leaq 0x343c(%rip), %rdi      # 0x68e3
movq %rax, %rsi
xorl %eax, %eax
callq 0x4a34
jmp 0x3506
shrl $0x8, %esi
movzbl %sil, %ebx
cmpb $0x1, %bl
je 0x350b
testl %ebx, %ebx
jne 0x34f4
xorl %ebx, %ebx
jmp 0x350b
leaq 0x34a3(%rip), %rdi      # 0x6971
jmp 0x34ff
movq %r12, %rdi
leaq 0x3475(%rip), %rsi      # 0x694f
xorl %eax, %eax
callq 0x2230
movq %r12, %rsi
leaq 0x346e(%rip), %rdi      # 0x6959
xorl %eax, %eax
callq 0x4a34
jmp 0x3506
movzbl %sil, %esi
leaq 0x33f9(%rip), %rdi      # 0x68f8
xorl %eax, %eax
callq 0x4a34
movl $0x1, %ebx
movl 0x6e1f(%rip), %edi      # 0xa330
movq %r12, %rsi
callq 0x20b0
incl 0x6dd5(%rip)            # 0xa2f4
movq $0x0, 0x6c5e(%rip) # 0xa188
movb 0x6dc0(%rip), %al       # 0xa2f0
testl %ebx, %ebx
je 0x353e
incl 0x6dbe(%rip)            # 0xa2f8
movb $0x4, %dl
jmp 0x3540
movb $0x2, %dl
movq 0x6d89(%rip), %rcx      # 0xa2d0
orb %dl, (%rcx,%r14)
incl %ebp
xorps %xmm0, %xmm0
cvtsi2sdq 0x50(%rsp), %xmm0
movsd 0x2aa9(%rip), %xmm3     # 0x6008
mulsd %xmm3, %xmm0
xorps %xmm1, %xmm1
cvtsi2sdq 0x58(%rsp), %xmm1
xorps %xmm2, %xmm2
cvtsi2sdq 0x30(%rsp), %xmm2
addsd %xmm0, %xmm1
mulsd %xmm3, %xmm2
xorps %xmm0, %xmm0
cvtsi2sdq 0x38(%rsp), %xmm0
addsd %xmm2, %xmm0
subsd %xmm0, %xmm1
divsd %xmm3, %xmm1
movsd %xmm1, 0x8(%rcx,%r14)
addq $0x10, %r14
cmpq $0x60, %r14
jne 0x33b1
movl 0x6bb8(%rip), %eax      # 0xa168
testl %eax, %eax
setle %cl
orb 0x6d29(%rip), %cl       # 0xa2e4
testb $0x1, %cl
movq 0x18(%rsp), %r14
jne 0x36b6
cmpl $0x3, %eax
jb 0x3637
leaq 0x2b9d(%rip), %rsi      # 0x6172
movl $0x3, %edi
xorl %eax, %eax
callq 0x28fb
leaq 0x2b94(%rip), %rdi      # 0x617c
movl $0x6, %ebx
movl $0x6, %esi
xorl %eax, %eax
callq 0x20f0
movl 0x6cf5(%rip), %esi      # 0xa2f4
leaq 0x2b9a(%rip), %rdi      # 0x61a0
xorl %eax, %eax
callq 0x20f0
movl 0x6ce5(%rip), %esi      # 0xa2f8
leaq 0x2baa(%rip), %rdi      # 0x61c4
xorl %eax, %eax
callq 0x20f0
subl 0x6ccd(%rip), %ebx      # 0xa2f4
leaq 0x2bba(%rip), %rdi      # 0x61e8
movl %ebx, %esi
xorl %eax, %eax
callq 0x20f0
cmpl $0x0, 0x6cba(%rip)      # 0xa2f8
je 0x3684
leaq 0x2bce(%rip), %rsi      # 0x6215
movl $0x5, %edi
xorl %eax, %eax
callq 0x28fb
movl 0x6c9f(%rip), %esi      # 0xa2f8
movl 0x6c95(%rip), %edx      # 0xa2f4
cmpl $0x1, %esi
leaq 0x2bd5(%rip), %rax      # 0x623e
leaq 0x2bd2(%rip), %rcx      # 0x6242
cmoveq %rax, %rcx
leaq 0x2ba2(%rip), %rdi      # 0x621d
xorl %eax, %eax
callq 0x20f0
jmp 0x36a3
leaq 0x2b81(%rip), %rsi      # 0x620c
movl $0x4, %edi
xorl %eax, %eax
callq 0x28fb
leaq 0x3345(%rip), %rdi      # 0x69e3
callq 0x2080
cmpl $0x3, 0x6abe(%rip)      # 0xa168
jl 0x36b6
movl $0xa, %edi
callq 0x2030
cmpq $0x0, 0x6c42(%rip)      # 0xa300
je 0x37fe
movq (%r14), %rdi
callq 0x2190
movq %rax, %rbx
movq 0x6c2a(%rip), %rcx      # 0xa300
leaq 0x2b6a(%rip), %rdi      # 0x6247
movl $0x27, %esi
movl $0x1, %edx
callq 0x2250
movq 0x6c0d(%rip), %rdi      # 0xa300
movl 0x6bfe(%rip), %r8d      # 0xa2f8
movl $0x6, %eax
subl 0x6bef(%rip), %eax      # 0xa2f4
movl %eax, (%rsp)
leaq 0x2b60(%rip), %rsi      # 0x626f
xorl %ebp, %ebp
movq %rbx, %rdx
movl $0x6, %ecx
movl %r8d, %r9d
xorl %eax, %eax
callq 0x2180
leaq 0x2b8b(%rip), %rbx      # 0x62b5
leaq 0x2bb9(%rip), %r14      # 0x62ea
leaq 0x2bc3(%rip), %r15      # 0x62fb
leaq 0x2b9a(%rip), %r12      # 0x62d9
movq 0x6b8a(%rip), %r13      # 0xa2d0
movq 0x6bb3(%rip), %rdi      # 0xa300
leaq 0x660c(%rip), %rax      # 0x9d60
movq (%rbp,%rax), %rdx
movsd 0x8(%r13,%rbp), %xmm0
movq %rbx, %rsi
movb $0x1, %al
callq 0x2180
movb (%r13,%rbp), %al
testb $0x4, %al
je 0x3791
movq 0x6b86(%rip), %rcx      # 0xa300
movl $0x10, %esi
movl $0x1, %edx
movq %r12, %rdi
callq 0x2250
movb (%r13,%rbp), %al
testb $0x6, %al
jne 0x37ae
movq 0x6b64(%rip), %rcx      # 0xa300
movl $0x10, %esi
movl $0x1, %edx
movq %r14, %rdi
callq 0x2250
movq 0x6b4b(%rip), %rcx      # 0xa300
movl $0xe, %esi
movl $0x1, %edx
movq %r15, %rdi
callq 0x2250
addq $0x10, %rbp
cmpq $0x60, %rbp
jne 0x373f
movq 0x6b24(%rip), %rcx      # 0xa300
leaq 0x2b27(%rip), %rdi      # 0x630a
movl $0xd, %esi
movl $0x1, %edx
callq 0x2250
movq 0x6b07(%rip), %rdi      # 0xa300
callq 0x20c0
movq 0x6acb(%rip), %rdi      # 0xa2d0
callq 0x22b0
xorl %eax, %eax
cmpl $0x0, 0x6ae5(%rip)      # 0xa2f8
setne %al
addq $0x258, %rsp            # imm = 0x258
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movb $0x1, 0x6ab9(%rip)      # 0xa2e8
movq %r15, %rdi
movl %ebp, %esi
callq 0x4b15
xorl %edi, %edi
testl %eax, %eax
setne %dil
callq 0x384b
callq 0x22c0