// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq $0x0, -0x28(%rbp)
cmpl $0x2, 0x9525(%rip)      # 0xc148
jge 0x2c2a
jmp 0x2e43
cmpq $0x0, 0x9536(%rip)      # 0xc168
je 0x2c3d
cmpl $0x0, 0x9585(%rip)      # 0xc1c0
jne 0x2c42
jmp 0x2e43
cmpq $0x400, -0x18(%rbp)     # imm = 0x400
jbe 0x2c62
movq -0x18(%rbp), %rax
subq $0x400, %rax            # imm = 0x400
movq %rax, -0x28(%rbp)
movq $0x400, -0x18(%rbp)     # imm = 0x400
movsbl 0x9517(%rip), %ecx      # 0xc180
movl $0x2, %edi
movl $0x3, %eax
cmpl $0x0, %ecx
cmovnel %eax, %edi
callq 0x26e0
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rdi
callq 0x20b0
movq %rax, %rcx
movq -0x48(%rbp), %rax
subq $0x1, %rcx
movsbl (%rax,%rcx), %ecx
leaq 0x540f(%rip), %rdi      # 0x80b4
leaq 0x5bee(%rip), %rax      # 0x889a
cmpl $0x3a, %ecx
cmoveq %rax, %rdi
movq -0x8(%rbp), %rsi
movb $0x0, %al
callq 0x20d0
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jae 0x2e0c
movq -0x20(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x30(%rbp)
movsbl 0x9499(%rip), %ecx      # 0xc180
movl $0x3, %edi
movl $0x4, %eax
cmpl $0x0, %ecx
cmovnel %eax, %edi
callq 0x26e0
movq -0x20(%rbp), %rsi
leaq 0x53c6(%rip), %rdi      # 0x80cd
movb $0x0, %al
callq 0x20d0
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
cmpq -0x30(%rbp), %rax
jae 0x2d64
movq -0x38(%rbp), %rax
cmpq -0x18(%rbp), %rax
jae 0x2d46
movq -0x10(%rbp), %rax
movq -0x38(%rbp), %rcx
movzbl (%rax,%rcx), %esi
leaq 0x5398(%rip), %rdi      # 0x80d5
movb $0x0, %al
callq 0x20d0
jmp 0x2d54
leaq 0x538e(%rip), %rdi      # 0x80db
movb $0x0, %al
callq 0x20d0
jmp 0x2d56
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x2d16
leaq 0x5371(%rip), %rdi      # 0x80dc
movb $0x0, %al
callq 0x20d0
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
cmpq -0x30(%rbp), %rax
jae 0x2ded
movq -0x10(%rbp), %rax
movq -0x38(%rbp), %rcx
movb (%rax,%rcx), %al
movb %al, -0x39(%rbp)
movq -0x38(%rbp), %rax
cmpq -0x18(%rbp), %rax
jae 0x2ddb
callq 0x2260
movq (%rax), %rax
movzbl -0x39(%rbp), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x2dc1
movl $0x2e, %eax
movl %eax, -0x4c(%rbp)
jmp 0x2dc8
movzbl -0x39(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %esi
leaq 0x530d(%rip), %rdi      # 0x80df
movb $0x0, %al
callq 0x20d0
jmp 0x2ddd
jmp 0x2ded
jmp 0x2ddf
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x2d7a
leaq 0x59d5(%rip), %rdi      # 0x87c9
movb $0x0, %al
callq 0x20d0
movq -0x20(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x20(%rbp)
jmp 0x2cc6
cmpq $0x0, -0x28(%rbp)
jbe 0x2e43
movsbl 0x9366(%rip), %ecx      # 0xc180
movl $0x3, %edi
movl $0x4, %eax
cmpl $0x0, %ecx
cmovnel %eax, %edi
callq 0x26e0
movq -0x28(%rbp), %rax
movl %eax, %esi
leaq 0x52a6(%rip), %rdi      # 0x80e2
movb $0x0, %al
callq 0x20d0
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)