// File: /workspace/github_c_makefile_star2_O0/termbox[P]termbox/demo/output.c
// Function: draw_all
static void draw_all() {
    tb_clear();

    tb_select_output_mode(TB_OUTPUT_NORMAL);
    static const uint16_t col1[] = {0, TB_BOLD};
    static const uint16_t col2[] = {TB_REVERSE};
    print_combinations_table(1, 1, col1, 2);
    print_combinations_table(2 + strlen(chars), 1, col2, 1);
    tb_present();

    tb_select_output_mode(TB_OUTPUT_GRAYSCALE);
    int c, x, y;
    for (x = 0, y = 23; x < 24; ++x) {
        tb_change_cell(x, y, '@', x, 0);
        tb_change_cell(x+25, y, ' ', 0, x);
    }
    tb_present();

    tb_select_output_mode(TB_OUTPUT_216);
    y++;
    for (c = 0, x = 0; c < 216; ++c, ++x) {
        if (!(x%24)) {
            x = 0;
            ++y;
        }
        tb_change_cell(x, y, '@', c, 0);
        tb_change_cell(x+25, y, ' ', 0, c);
    }
    tb_present();

    tb_select_output_mode(TB_OUTPUT_256);
    y++;
    for (c = 0, x = 0; c < 256; ++c, ++x) {
        if (!(x%24)) {
            x = 0;
            ++y;
        }
        tb_change_cell(x, y, '+', c | ((y & 1) ? TB_UNDERLINE : 0), 0);
        tb_change_cell(x+25, y, ' ', 0, c);
    }
    tb_present();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
callq 0x4de0
movl $0x1, %edi
callq 0x4ed0
movl $0x1, %esi
leaq 0x3bfd(%rip), %rdx      # 0x7030
movl $0x2, %ecx
movl %esi, %edi
callq 0x3620
movl $0x26, %edi
movl $0x1, %ecx
leaq 0x3be4(%rip), %rdx      # 0x7034
movl %ecx, %esi
callq 0x3620
callq 0x4100
movl $0x4, %edi
callq 0x4ed0
movl $0x0, -0x8(%rbp)
movl $0x17, -0xc(%rbp)
cmpl $0x18, -0x8(%rbp)
jge 0x34ba
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
movl -0x8(%rbp), %eax
movl $0x40, %edx
xorl %r8d, %r8d
movzwl %ax, %ecx
callq 0x4800
movl -0x8(%rbp), %edi
addl $0x19, %edi
movl -0xc(%rbp), %esi
movl -0x8(%rbp), %eax
movl $0x20, %edx
xorl %ecx, %ecx
movzwl %ax, %r8d
callq 0x4800
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x3474
callq 0x4100
movl $0x3, %edi
callq 0x4ed0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
movl $0x0, -0x4(%rbp)
movl $0x0, -0x8(%rbp)
cmpl $0xd8, -0x4(%rbp)
jge 0x3552
movl -0x8(%rbp), %eax
movl $0x18, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x3509
movl $0x0, -0x8(%rbp)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
movl -0x4(%rbp), %eax
movl $0x40, %edx
xorl %r8d, %r8d
movzwl %ax, %ecx
callq 0x4800
movl -0x8(%rbp), %edi
addl $0x19, %edi
movl -0xc(%rbp), %esi
movl -0x4(%rbp), %eax
movl $0x20, %edx
xorl %ecx, %ecx
movzwl %ax, %r8d
callq 0x4800
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x34e0
callq 0x4100
movl $0x2, %edi
callq 0x4ed0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
movl $0x0, -0x4(%rbp)
movl $0x0, -0x8(%rbp)
cmpl $0x100, -0x4(%rbp)      # imm = 0x100
jge 0x3609
movl -0x8(%rbp), %eax
movl $0x18, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x35a5
movl $0x0, -0x8(%rbp)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
movl -0x4(%rbp), %eax
movl -0xc(%rbp), %r8d
andl $0x1, %r8d
xorl %ecx, %ecx
movl $0x200, %edx            # imm = 0x200
cmpl $0x0, %r8d
cmovnel %edx, %ecx
orl %ecx, %eax
movl $0x2b, %edx
xorl %r8d, %r8d
movzwl %ax, %ecx
callq 0x4800
movl -0x8(%rbp), %edi
addl $0x19, %edi
movl -0xc(%rbp), %esi
movl -0x4(%rbp), %eax
movl $0x20, %edx
xorl %ecx, %ecx
movzwl %ax, %r8d
callq 0x4800
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x3578
callq 0x4100
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)