// File: /workspace/github_cpp_makefile_star2_O1/AndreRenaud[P]simple_options/./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 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 $0x178, %rsp            # imm = 0x178
movq %rsi, %rbx
movl %edi, %r15d
movq (%rsi), %rax
movq %rax, 0x6d9c(%rip)      # 0xa2b8
movl $0x1, %edi
callq 0x20b0
movl %eax, 0x6d94(%rip)      # 0xa2c0
movb $0x1, 0x6d95(%rip)      # 0xa2c8
movl $0x7, %edi
movl $0x10, %esi
callq 0x2180
movq %rax, 0x6d87(%rip)      # 0xa2d0
testq %rax, %rax
je 0x3f64
movb $0x0, 0x70(%rsp)
cmpl $0x2, %r15d
movq %rbx, 0x10(%rsp)
jl 0x390c
movl $0x1, %r13d
leaq 0x2f3e(%rip), %r12      # 0x64b1
xorl %ebp, %ebp
movl %r15d, 0x18(%rsp)
movslq %r13d, %rcx
testl %ebp, %ebp
je 0x35a1
movq (%rbx,%rcx,8), %rsi
xorl %edi, %edi
callq 0x3f78
testl %eax, %eax
jne 0x390c
incl %r13d
cmpl %r15d, %r13d
jl 0x357a
jmp 0x390c
movq (%rbx,%rcx,8), %r14
movq %r14, %rdi
movq %r12, %rsi
movq %rcx, 0x30(%rsp)
callq 0x2190
movq 0x30(%rsp), %rcx
testl %eax, %eax
je 0x3581
movq %r14, %rdi
leaq 0x2ee8(%rip), %rsi      # 0x64b0
callq 0x2190
testl %eax, %eax
je 0x3717
cmpb $0x2d, (%r14)
jne 0x37c4
movq %r13, 0x20(%rsp)
xorl %ebp, %ebp
movl $0x73, %r13d
leaq 0x649d(%rip), %r12      # 0x9a90
movl $0x0, 0x1c(%rsp)
movq 0x30(%rsp), %rcx
movq 0x8(%r12), %r14
testq %r14, %r14
je 0x362b
movq (%rbx,%rcx,8), %r15
movl $0x2, %edx
movq %r15, %rdi
leaq 0x2e93(%rip), %rsi      # 0x64b0
callq 0x2090
movq 0x30(%rsp), %rcx
testl %eax, %eax
je 0x3646
movb (%r12), %al
testb %al, %al
je 0x367f
movq (%rbx,%rcx,8), %rsi
cmpb $0x2d, (%rsi)
jne 0x367f
cmpb %al, 0x1(%rsi)
jne 0x367f
jmp 0x37d0
movl %ebp, 0x2c(%rsp)
movq %r14, %rdi
callq 0x2100
movq %rax, %rbp
leaq 0x2(%r15), %rbx
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x2090
testl %eax, %eax
je 0x369a
xorl %eax, %eax
movq 0x10(%rsp), %rbx
testb %al, %al
movq 0x30(%rsp), %rcx
jne 0x3727
movl 0x28(%r12), %r13d
addq $0x18, %r12
testl %r13d, %r13d
sete %bpl
jne 0x3600
jmp 0x3723
movzbl 0x2(%r15,%rbp), %eax
cmpl $0x3d, %eax
je 0x36bd
testl %eax, %eax
jne 0x366b
testb $0x2, 0x14(%r12)
movq 0x10(%rsp), %rbx
jne 0x36d1
movl %r13d, %edi
xorl %esi, %esi
jmp 0x36d9
testb $0x3, 0x14(%r12)
je 0x36e6
leaq (%rbx,%rbp), %rsi
incq %rsi
movl %r13d, %edi
jmp 0x3707
movl $0x80000002, %edi       # imm = 0x80000002
movq %r15, %rsi
callq 0x3f78
movl %eax, 0x1c(%rsp)
movb $0x1, %al
jmp 0x3672
leaq 0x50(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2957(%rip), %rsi      # 0x604c
movq %r14, %rdx
xorl %eax, %eax
callq 0x2240
movl $0x80000003, %edi       # imm = 0x80000003
movq %rbx, %rsi
callq 0x3f78
movl %eax, 0x1c(%rsp)
movb $0x1, %al
jmp 0x366d
movl $0x1, %ebp
xorl %eax, %eax
jmp 0x358c
movl %ebp, 0x2c(%rsp)
movl 0x18(%rsp), %r15d
leaq 0x2d7e(%rip), %r12      # 0x64b1
movq 0x20(%rsp), %r13
movl 0x1c(%rsp), %eax
xorl %ebp, %ebp
testb $0x1, 0x2c(%rsp)
je 0x358c
movslq %r13d, %rax
movq (%rbx,%rax,8), %r14
cmpb $0x2d, (%r14)
jne 0x37c4
movl $0x2, %edx
movq %r14, %rdi
leaq 0x2d4b(%rip), %rsi      # 0x64b0
callq 0x2090
testl %eax, %eax
jne 0x37bd
movq %r14, %rdi
movl $0x3d, %esi
callq 0x2110
testq %rax, %rax
je 0x37b8
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 0x2080
movb $0x0, 0x50(%rsp,%rbx)
movq %r13, %r14
movq 0x20(%rsp), %r13
movq 0x10(%rsp), %rbx
movl $0x80000001, %edi       # imm = 0x80000001
jmp 0x37c8
xorl %ebp, %ebp
xorl %edi, %edi
movq %r14, %rsi
jmp 0x3587
testb $0x2, 0x14(%r12)
movl %ebp, 0x2c(%rsp)
jne 0x3894
movl %r13d, %edi
xorl %esi, %esi
callq 0x3f78
testl %eax, %eax
jne 0x38a6
movq 0x30(%rsp), %rax
movq (%rbx,%rax,8), %rbx
movb 0x2(%rbx), %cl
xorl %eax, %eax
testb %cl, %cl
movl 0x18(%rsp), %r15d
leaq 0x2ca3(%rip), %r12      # 0x64b1
je 0x38f4
xorl %r14d, %r14d
leaq 0x40(%rsp), %r13
movl $0x73, %edi
leaq 0x6268(%rip), %rdx      # 0x9a90
cmpb $0x73, %cl
je 0x3847
leaq 0x625c(%rip), %rax      # 0x9a90
movl 0x28(%rax), %edi
testl %edi, %edi
je 0x3856
leaq 0x18(%rax), %rdx
cmpb 0x18(%rax), %cl
movq %rdx, %rax
jne 0x3834
movl $0x80000002, %eax       # imm = 0x80000002
testb $0x2, 0x14(%rdx)
jne 0x385b
xorl %esi, %esi
jmp 0x386e
movl $0x80000001, %eax       # imm = 0x80000001
movb $0x2d, 0x40(%rsp)
movb %cl, 0x41(%rsp)
movb $0x0, 0x42(%rsp)
movl %eax, %edi
movq %r13, %rsi
callq 0x3f78
testl %eax, %eax
jne 0x38f4
movb 0x3(%rbx,%r14), %cl
incq %r14
testb %cl, %cl
jne 0x381c
movq 0x10(%rsp), %rbx
movq 0x20(%rsp), %r13
xorl %eax, %eax
jmp 0x373c
cmpb $0x0, 0x2(%rsi)
je 0x38bc
addq $0x2, %rsi
movl %r13d, %edi
callq 0x3f78
movl 0x18(%rsp), %r15d
leaq 0x2bff(%rip), %r12      # 0x64b1
movq 0x20(%rsp), %r13
jmp 0x373c
movq 0x20(%rsp), %rax
leal 0x1(%rax), %ebx
movl 0x18(%rsp), %r15d
cmpl %r15d, %ebx
jge 0x38fb
movslq %ebx, %rax
movq 0x10(%rsp), %r14
movq (%r14,%rax,8), %rsi
movl %r13d, %edi
callq 0x3f78
movl %ebx, %r13d
movq %r14, %rbx
leaq 0x2bc2(%rip), %r12      # 0x64b1
jmp 0x373c
movq 0x10(%rsp), %rbx
jmp 0x38b2
movl $0x80000002, %edi       # imm = 0x80000002
callq 0x3f78
movq 0x10(%rsp), %rbx
jmp 0x38ab
movl 0x69fa(%rip), %eax      # 0xa30c
leal -0x1(%rax), %ecx
cmpl $0x1, %ecx
ja 0x3920
movl %eax, 0x6a10(%rip)      # 0xa330
cmpq $0x0, 0x69b0(%rip)      # 0xa2d8
jne 0x3960
movq 0x69a7(%rip), %rax      # 0xa2d8
movq 0x6998(%rip), %rcx      # 0xa2d0
xorl %edx, %edx
movb (%rcx,%rdx), %sil
testb $0x1, %sil
jne 0x3956
orb $0x1, %sil
movb %sil, (%rcx,%rdx)
incq %rax
movq %rax, 0x6982(%rip)      # 0xa2d8
addq $0x10, %rdx
cmpq $0x70, %rdx
jne 0x393a
cmpl $0x0, 0x6805(%rip)      # 0xa16c
jns 0x3a7c
movl $0x0, 0x67f5(%rip)      # 0xa16c
cmpq $0x1, 0x6959(%rip)      # 0xa2d8
jbe 0x3a6b
leaq 0x2d65(%rip), %rdi      # 0x66f1
xorl %ebx, %ebx
xorl %esi, %esi
xorl %eax, %eax
callq 0x2210
cmpl $-0x1, %eax
je 0x3a77
movl %eax, %ebp
leaq 0x151(%rsp), %r12
leaq 0x27aa(%rip), %r14      # 0x615b
leaq 0x50(%rsp), %r15
xorl %r13d, %r13d
cmpq $0x11f, %r13            # imm = 0x11F
ja 0x39ed
leaq (%rsp,%r13), %rsi
addq $0x50, %rsi
movl $0x120, %edx            # imm = 0x120
subq %r13, %rdx
movl %ebp, %edi
callq 0x2160
testq %rax, %rax
movl $0x0, %ecx
cmovgq %rax, %rcx
addq %rcx, %r13
testq %rax, %rax
jg 0x39b9
movb $0x0, 0x50(%rsp,%r13)
movq %r15, %rdi
movq %r14, %rsi
callq 0x2290
testq %rax, %rax
setne %cl
cmpq %r12, %rax
setb %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x3a26
addq $0xa, %rax
movq %rax, %rdi
callq 0x2230
xorl %ebx, %ebx
testl %eax, %eax
setne %bl
jmp 0x3a2f
cmpq $0x120, %r13            # imm = 0x120
je 0x3a37
xorl %eax, %eax
testb %al, %al
jne 0x39b9
jmp 0x3a5b
movapd -0x1(%r12), %xmm0
movapd 0xf(%r12), %xmm1
movapd %xmm1, 0x60(%rsp)
movapd %xmm0, 0x50(%rsp)
movl $0x20, %r13d
movb $0x1, %al
jmp 0x3a31
movl %ebp, %edi
callq 0x2140
testl %ebx, %ebx
movq 0x10(%rsp), %rbx
je 0x3a7c
movl $0x1, 0x66f7(%rip)      # 0xa16c
jmp 0x3a7c
movq 0x10(%rsp), %rbx
cmpb $0x1, 0x685d(%rip)      # 0xa2e0
jne 0x3abc
cmpl $0x3, 0x66dc(%rip)      # 0xa168
jl 0x3a98
movl $0x2, 0x66d0(%rip)      # 0xa168
movb $0x1, 0x6845(%rip)      # 0xa2e4
cmpb $0x0, 0x6842(%rip)      # 0xa2e8
jne 0x3abc
movl 0x682a(%rip), %esi      # 0xa2d8
leaq 0x2782(%rip), %rdi      # 0x6237
xorl %eax, %eax
callq 0x2120
movl 0x682a(%rip), %ebp      # 0xa2ec
leaq 0x40(%rsp), %r13
leaq 0x50(%rsp), %r12
xorl %r14d, %r14d
movq 0x67fa(%rip), %rax      # 0xa2d0
movb (%rax,%r14), %al
andb $0x1, %al
cmpb %al, 0x680e(%rip)       # 0xa2f0
je 0x3cbc
leaq 0x6121(%rip), %rax      # 0x9c10
leaq (%rax,%r14), %r15
movq %r15, 0x668e(%rip)      # 0xa188
movl $0x0, 0x667c(%rip)      # 0xa180
movl 0x6826(%rip), %edi      # 0xa330
movq %r13, %rsi
callq 0x20e0
cmpl $0x0, 0x6653(%rip)      # 0xa16c
je 0x3b31
movq %r15, %rdi
movl %ebp, %esi
callq 0x541e
xorl %ebx, %ebx
testl %eax, %eax
setne %bl
jmp 0x3c2c
movq 0x64a0(%rip), %rax      # 0x9fd8
movq (%rax), %rdi
callq 0x21d0
movq 0x64b1(%rip), %rax      # 0x9ff8
movq (%rax), %rdi
callq 0x21d0
callq 0x2280
cmpl $-0x1, %eax
je 0x3bb0
testl %eax, %eax
je 0x3f46
movl %eax, %edi
leaq 0x3c(%rsp), %rsi
xorl %edx, %edx
callq 0x2200
movl 0x3c(%rsp), %esi
movl %esi, %edx
andl $0x7f, %edx
je 0x3bd4
movl %edx, %eax
shll $0x18, %eax
addl $0x1000000, %eax        # imm = 0x1000000
cmpl $0x2000000, %eax        # imm = 0x2000000
jl 0x3be8
cmpl $0x10, %edx
jae 0x3bf1
movq %rdx, %rax
decq %rax
movl $0x452f, %ecx           # imm = 0x452F
btl %eax, %ecx
jae 0x3bf1
leaq 0x25d5(%rip), %rcx      # 0x617c
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
jmp 0x3c05
callq 0x2070
movq %rax, %rbx
movl (%rax), %edi
callq 0x2270
movl (%rbx), %edx
leaq 0x2b3b(%rip), %rdi      # 0x6703
movq %rax, %rsi
xorl %eax, %eax
callq 0x5337
jmp 0x3c27
shrl $0x8, %esi
movzbl %sil, %ebx
cmpb $0x1, %bl
je 0x3c2c
testl %ebx, %ebx
jne 0x3c15
xorl %ebx, %ebx
jmp 0x3c2c
leaq 0x2ba2(%rip), %rdi      # 0x6791
jmp 0x3c20
movq %r12, %rdi
leaq 0x2b74(%rip), %rsi      # 0x676f
xorl %eax, %eax
callq 0x2240
movq %r12, %rsi
leaq 0x2b6d(%rip), %rdi      # 0x6779
xorl %eax, %eax
callq 0x5337
jmp 0x3c27
movzbl %sil, %esi
leaq 0x2af8(%rip), %rdi      # 0x6718
xorl %eax, %eax
callq 0x5337
movl $0x1, %ebx
movl 0x66fe(%rip), %edi      # 0xa330
movq %r12, %rsi
callq 0x20e0
movq $0x0, 0x6543(%rip) # 0xa188
incl 0x66a9(%rip)            # 0xa2f4
testl %ebx, %ebx
je 0x3c59
incl 0x66a3(%rip)            # 0xa2f8
movb $0x4, %al
jmp 0x3c5b
movb $0x2, %al
movq 0x10(%rsp), %rbx
movq 0x6669(%rip), %rcx      # 0xa2d0
orb %al, (%rcx,%r14)
incl %ebp
xorps %xmm0, %xmm0
cvtsi2sdq 0x50(%rsp), %xmm0
movsd 0x2441(%rip), %xmm3     # 0x60c0
mulsd %xmm3, %xmm0
xorps %xmm1, %xmm1
cvtsi2sdq 0x58(%rsp), %xmm1
xorps %xmm2, %xmm2
cvtsi2sdq 0x40(%rsp), %xmm2
addsd %xmm0, %xmm1
mulsd %xmm3, %xmm2
xorps %xmm0, %xmm0
cvtsi2sdq 0x48(%rsp), %xmm0
addsd %xmm2, %xmm0
subsd %xmm0, %xmm1
divsd %xmm3, %xmm1
movsd %xmm1, 0x8(%rcx,%r14)
addq $0x10, %r14
cmpq $0x70, %r14
jne 0x3acf
movl 0x6498(%rip), %eax      # 0xa168
testl %eax, %eax
setle %cl
orb 0x6609(%rip), %cl       # 0xa2e4
testb $0x1, %cl
jne 0x3dd6
cmpl $0x3, %eax
jl 0x3d57
leaq 0x254e(%rip), %rsi      # 0x623e
movl $0x3, %edi
xorl %eax, %eax
callq 0x2f9e
leaq 0x2545(%rip), %rdi      # 0x6248
movl $0x7, %ebx
movl $0x7, %esi
xorl %eax, %eax
callq 0x2120
movl 0x65da(%rip), %esi      # 0xa2f4
leaq 0x254b(%rip), %rdi      # 0x626c
xorl %eax, %eax
callq 0x2120
movl 0x65ca(%rip), %esi      # 0xa2f8
leaq 0x255b(%rip), %rdi      # 0x6290
xorl %eax, %eax
callq 0x2120
subl 0x65b2(%rip), %ebx      # 0xa2f4
leaq 0x256b(%rip), %rdi      # 0x62b4
movl %ebx, %esi
movq 0x10(%rsp), %rbx
xorl %eax, %eax
callq 0x2120
cmpl $0x0, 0x659a(%rip)      # 0xa2f8
je 0x3da4
leaq 0x257a(%rip), %rsi      # 0x62e1
movl $0x5, %edi
xorl %eax, %eax
callq 0x2f9e
movl 0x657f(%rip), %esi      # 0xa2f8
movl 0x6575(%rip), %edx      # 0xa2f4
cmpl $0x1, %esi
leaq 0x2581(%rip), %rax      # 0x630a
leaq 0x257e(%rip), %rcx      # 0x630e
cmoveq %rax, %rcx
leaq 0x254e(%rip), %rdi      # 0x62e9
xorl %eax, %eax
callq 0x2120
jmp 0x3dc3
leaq 0x252d(%rip), %rsi      # 0x62d8
movl $0x4, %edi
xorl %eax, %eax
callq 0x2f9e
leaq 0x2f1f(%rip), %rdi      # 0x6cdd
callq 0x20a0
cmpl $0x3, 0x639e(%rip)      # 0xa168
jl 0x3dd6
movl $0xa, %edi
callq 0x2040
cmpq $0x0, 0x6522(%rip)      # 0xa300
je 0x3f1c
movq (%rbx), %rdi
callq 0x21c0
movq %rax, %rbx
movq 0x650a(%rip), %rcx      # 0xa300
leaq 0x2516(%rip), %rdi      # 0x6313
movl $0x27, %esi
movl $0x1, %edx
callq 0x2260
movq 0x64ed(%rip), %rdi      # 0xa300
movl 0x64de(%rip), %r8d      # 0xa2f8
movl $0x7, %eax
subl 0x64cf(%rip), %eax      # 0xa2f4
movl %eax, (%rsp)
leaq 0x250c(%rip), %rsi      # 0x633b
xorl %ebp, %ebp
movq %rbx, %rdx
movl $0x7, %ecx
movl %r8d, %r9d
xorl %eax, %eax
callq 0x21b0
leaq 0x2537(%rip), %rbx      # 0x6381
leaq 0x2565(%rip), %r14      # 0x63b6
leaq 0x256f(%rip), %r15      # 0x63c7
leaq 0x2546(%rip), %r12      # 0x63a5
movq 0x646a(%rip), %r13      # 0xa2d0
movq 0x6493(%rip), %rdi      # 0xa300
leaq 0x5d9c(%rip), %rax      # 0x9c10
movq (%rbp,%rax), %rdx
movsd 0x8(%r13,%rbp), %xmm0
movq %rbx, %rsi
movb $0x1, %al
callq 0x21b0
testb $0x4, (%r13,%rbp)
je 0x3eab
movq 0x6467(%rip), %rcx      # 0xa300
movl $0x10, %esi
movl $0x1, %edx
movq %r12, %rdi
callq 0x2260
testb $0x6, (%r13,%rbp)
jne 0x3ecc
movq 0x6446(%rip), %rcx      # 0xa300
movl $0x10, %esi
movl $0x1, %edx
movq %r14, %rdi
callq 0x2260
movq 0x642d(%rip), %rcx      # 0xa300
movl $0xe, %esi
movl $0x1, %edx
movq %r15, %rdi
callq 0x2260
addq $0x10, %rbp
cmpq $0x70, %rbp
jne 0x3e5f
movq 0x6406(%rip), %rcx      # 0xa300
leaq 0x24d5(%rip), %rdi      # 0x63d6
movl $0xd, %esi
movl $0x1, %edx
callq 0x2260
movq 0x63e9(%rip), %rdi      # 0xa300
callq 0x20f0
movq 0x63ad(%rip), %rdi      # 0xa2d0
callq 0x2030
xorl %eax, %eax
cmpl $0x0, 0x63c7(%rip)      # 0xa2f8
setne %al
addq $0x178, %rsp            # imm = 0x178
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movb $0x1, 0x639b(%rip)      # 0xa2e8
movq %r15, %rdi
movl %ebp, %esi
callq 0x541e
xorl %edi, %edi
testl %eax, %eax
setne %dil
callq 0x3f69
callq 0x22c0