// File: /workspace/github_c_makefile_star2_O2/chatziko-k08[P]lecture-code/tests/../include/acutest.h
// Function: acutest_dump_
void
acutest_dump_(const char* title, const void* addr, size_t size)
{
    static const size_t BYTES_PER_LINE = 16;
    size_t line_beg;
    size_t truncate = 0;

    if(acutest_verbose_level_ < 2)
        return;

    /* We allow extra message only when something is already wrong in the
     * current test. */
    if(acutest_current_test_ == NULL  ||  !acutest_cond_failed_)
        return;

    if(size > TEST_DUMP_MAXSIZE) {
        truncate = size - TEST_DUMP_MAXSIZE;
        size = TEST_DUMP_MAXSIZE;
    }

    acutest_line_indent_(acutest_case_name_[0] ? 3 : 2);
    printf((title[strlen(title)-1] == ':') ? "%s\n" : "%s:\n", title);

    for(line_beg = 0; line_beg < size; line_beg += BYTES_PER_LINE) {
        size_t line_end = line_beg + BYTES_PER_LINE;
        size_t off;

        acutest_line_indent_(acutest_case_name_[0] ? 4 : 3);
        printf("%08lx: ", (unsigned long)line_beg);
        for(off = line_beg; off < line_end; off++) {
            if(off < size)
                printf(" %02x", ((const unsigned char*)addr)[off]);
            else
                printf("   ");
        }

        printf("  ");
        for(off = line_beg; off < line_end; off++) {
            unsigned char byte = ((const unsigned char*)addr)[off];
            if(off < size)
                printf("%c", (iscntrl(byte) ? '.' : byte));
            else
                break;
        }

        printf("\n");
    }

    if(truncate > 0) {
        acutest_line_indent_(acutest_case_name_[0] ? 4 : 3);
        printf("           ... (and more %u bytes)\n", (unsigned) truncate);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
cmpl $0x2, 0x773b(%rip)      # 0xa160
jge 0x2a36
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpq $0x0, 0x774a(%rip)      # 0xa188
je 0x2a27
cmpl $0x0, 0x7799(%rip)      # 0xa1e0
je 0x2a27
movq %rsi, %r14
movq %rdi, %rbx
movl $0x400, %r15d           # imm = 0x400
cmpq %r15, %rdx
movq %rdx, 0x8(%rsp)
cmovbq %rdx, %r15
cmpb $0x1, 0x7738(%rip)      # 0xa1a0
pushq $0x3
popq %rdi
sbbl $0x0, %edi
callq 0x264e
movq %rbx, %rdi
callq 0x20d0
cmpb $0x3a, -0x1(%rbx,%rax)
leaq 0x3e27(%rip), %rax      # 0x68ae
leaq 0x367e(%rip), %rdi      # 0x610c
cmoveq %rax, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x20f0
leaq 0x368a(%rip), %rbp      # 0x612d
movq %r14, %rbx
xorl %r12d, %r12d
cmpq %r15, %r12
jae 0x2b78
cmpb $0x1, 0x76e7(%rip)      # 0xa1a0
pushq $0x4
popq %rdi
sbbl $0x0, %edi
callq 0x264e
leaq 0x365a(%rip), %rdi      # 0x6125
movq %r12, %rsi
xorl %eax, %eax
callq 0x20f0
xorl %r13d, %r13d
cmpq $0x10, %r13
je 0x2b0b
leaq (%r12,%r13), %rax
cmpq %r15, %rax
jae 0x2af8
movzbl (%rbx,%r13), %esi
movq %rbp, %rdi
xorl %eax, %eax
callq 0x20f0
jmp 0x2b06
leaq 0x3634(%rip), %rdi      # 0x6133
xorl %eax, %eax
callq 0x20f0
incq %r13
jmp 0x2ad8
leaq 0x10(%r12), %r13
leaq 0x361d(%rip), %rdi      # 0x6134
xorl %eax, %eax
callq 0x20f0
cmpq %r15, %r13
movq %r15, %rbp
movq %r13, 0x10(%rsp)
cmovbq %r13, %rbp
cmpq %rbp, %r12
jae 0x2b5b
movzbl (%r14,%r12), %r13d
callq 0x2290
movq (%rax), %rax
movzwl (%rax,%r13,2), %eax
testb $0x2, %al
je 0x2b4e
pushq $0x2e
popq %rax
movl %eax, %r13d
movl %r13d, %edi
callq 0x2030
incq %r12
jmp 0x2b2d
pushq $0xa
popq %rdi
callq 0x2030
addq $0x10, %rbx
movq 0x10(%rsp), %r12
leaq 0x35ba(%rip), %rbp      # 0x612d
jmp 0x2aa9
movq 0x8(%rsp), %rbx
cmpq $0x401, %rbx            # imm = 0x401
jb 0x2a27
cmpb $0x1, 0x760f(%rip)      # 0xa1a0
pushq $0x4
popq %rdi
sbbl $0x0, %edi
callq 0x264e
addl $0xfffffc00, %ebx       # imm = 0xFFFFFC00
leaq 0x358e(%rip), %rdi      # 0x6137
movl %ebx, %esi
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x20f0