// File: /workspace/github_c_makefile_star2_O0/termbox[P]termbox/demo/keyboard.c
// Function: pretty_print_press
void pretty_print_press(struct tb_event *ev)
{
    char buf[7];
    buf[tb_utf8_unicode_to_char(buf, ev->ch)] = '\0';
    printf_tb(3, 19, TB_WHITE , TB_DEFAULT, "Key: ");
    printf_tb(8, 19, TB_YELLOW, TB_DEFAULT, "decimal: %d", ev->key);
    printf_tb(8, 20, TB_GREEN , TB_DEFAULT, "hex:     0x%X", ev->key);
    printf_tb(8, 21, TB_CYAN  , TB_DEFAULT, "octal:   0%o", ev->key);
    printf_tb(8, 22, TB_RED   , TB_DEFAULT, "string:  %s", funckeymap(ev->key));

    printf_tb(54, 19, TB_WHITE , TB_DEFAULT, "Char: ");
    printf_tb(60, 19, TB_YELLOW, TB_DEFAULT, "decimal: %d", ev->ch);
    printf_tb(60, 20, TB_GREEN , TB_DEFAULT, "hex:     0x%X", ev->ch);
    printf_tb(60, 21, TB_CYAN  , TB_DEFAULT, "octal:   0%o", ev->ch);
    printf_tb(60, 22, TB_RED   , TB_DEFAULT, "string:  %s", buf);

    printf_tb(54, 18, TB_WHITE, TB_DEFAULT, "Modifier: %s",
            (ev->mod) ? "TB_MOD_ALT" : "none");

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
leaq -0xf(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x4(%rax), %esi
callq 0x95d0
cltq
movb $0x0, -0xf(%rbp,%rax)
movl $0x3, %edi
movl $0x13, %esi
movl $0x8, %edx
xorl %ecx, %ecx
leaq 0x4073(%rip), %r8       # 0xa27e
movb $0x0, %al
callq 0x53f0
movq -0x8(%rbp), %rax
movzwl 0x2(%rax), %r9d
movl $0x8, %edi
movl $0x13, %esi
movl $0x4, %edx
xorl %ecx, %ecx
leaq 0x4051(%rip), %r8       # 0xa284
movb $0x0, %al
callq 0x53f0
movq -0x8(%rbp), %rax
movzwl 0x2(%rax), %r9d
movl $0x8, %edi
movl $0x14, %esi
movl $0x3, %edx
xorl %ecx, %ecx
leaq 0x4035(%rip), %r8       # 0xa290
movb $0x0, %al
callq 0x53f0
movq -0x8(%rbp), %rax
movzwl 0x2(%rax), %r9d
movl $0x8, %edi
movl $0x15, %esi
movl $0x7, %edx
xorl %ecx, %ecx
leaq 0x401b(%rip), %r8       # 0xa29e
movb $0x0, %al
callq 0x53f0
movq -0x8(%rbp), %rax
movzwl 0x2(%rax), %edi
callq 0x6150
movq %rax, %r9
movl $0x8, %edi
movl $0x16, %esi
movl $0x2, %edx
xorl %ecx, %ecx
leaq 0x3ff9(%rip), %r8       # 0xa2ab
movb $0x0, %al
callq 0x53f0
movl $0x36, %edi
movl $0x13, %esi
movl $0x8, %edx
xorl %ecx, %ecx
leaq 0x3fe6(%rip), %r8       # 0xa2b7
movb $0x0, %al
callq 0x53f0
movq -0x8(%rbp), %rax
movl 0x4(%rax), %r9d
movl $0x3c, %edi
movl $0x13, %esi
movl $0x4, %edx
xorl %ecx, %ecx
leaq 0x3f8c(%rip), %r8       # 0xa284
movb $0x0, %al
callq 0x53f0
movq -0x8(%rbp), %rax
movl 0x4(%rax), %r9d
movl $0x3c, %edi
movl $0x14, %esi
movl $0x3, %edx
xorl %ecx, %ecx
leaq 0x3f71(%rip), %r8       # 0xa290
movb $0x0, %al
callq 0x53f0
movq -0x8(%rbp), %rax
movl 0x4(%rax), %r9d
movl $0x3c, %edi
movl $0x15, %esi
movl $0x7, %edx
xorl %ecx, %ecx
leaq 0x3f58(%rip), %r8       # 0xa29e
movb $0x0, %al
callq 0x53f0
leaq -0xf(%rbp), %r9
movl $0x3c, %edi
movl $0x16, %esi
movl $0x2, %edx
xorl %ecx, %ecx
leaq 0x3f42(%rip), %r8       # 0xa2ab
movb $0x0, %al
callq 0x53f0
movq -0x8(%rbp), %rax
movzbl 0x1(%rax), %ecx
leaq 0x3f57(%rip), %r9       # 0xa2d6
leaq 0x3f45(%rip), %rax      # 0xa2cb
cmpl $0x0, %ecx
cmovneq %rax, %r9
movl $0x36, %edi
movl $0x12, %esi
movl $0x8, %edx
xorl %ecx, %ecx
leaq 0x3f19(%rip), %r8       # 0xa2be
movb $0x0, %al
callq 0x53f0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)