// File: /workspace/github_c_makefile_star2_O0/creationix[P]color-control/src/simulate.c
// Function: on_update
static void on_update(uint8_t *pixels)
{
  static bool first = true;
  if (first)
  {
    first = false;
  }
  else
  {
    printf("\x1b[5A");
  }
  printf(
      "   \x1b[38;2;%d;%d;%dm◢■■◣\x1b[0m\n"
      " \x1b[38;2;%d;%d;%dm◢■◤\x1b[0m  \x1b[38;2;%d;%d;%dm◥■◣\x1b[0m\n"
      "\x1b[38;2;%d;%d;%dm■■\x1b[0m      \x1b[38;2;%d;%d;%dm■■\x1b[0m\n"
      " \x1b[38;2;%d;%d;%dm◥■◣\x1b[0m  \x1b[38;2;%d;%d;%dm◢■◤\x1b[0m\n"
      "   \x1b[38;2;%d;%d;%dm◥■■◤\x1b[0m\n",
      pixels[0], pixels[1], pixels[2],
      pixels[21], pixels[22], pixels[23],
      pixels[3], pixels[4], pixels[5],
      pixels[18], pixels[19], pixels[20],
      pixels[6], pixels[7], pixels[8],
      pixels[15], pixels[16], pixels[17],
      pixels[9], pixels[10], pixels[11],
      pixels[12], pixels[13], pixels[14]);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd8, %rsp
movq %rdi, -0x30(%rbp)
testb $0x1, 0x2c91(%rip)      # 0x50e0
je 0x245a
movb $0x0, 0x2c88(%rip)      # 0x50e0
jmp 0x2468
leaq 0xdf5(%rip), %rdi       # 0x3256
movb $0x0, %al
callq 0x1050
movq -0x30(%rbp), %rax
movzbl (%rax), %esi
movq -0x30(%rbp), %rax
movzbl 0x1(%rax), %edx
movq -0x30(%rbp), %rax
movzbl 0x2(%rax), %ecx
movq -0x30(%rbp), %rax
movzbl 0x15(%rax), %r8d
movq -0x30(%rbp), %rax
movzbl 0x16(%rax), %r9d
movq -0x30(%rbp), %rax
movzbl 0x17(%rax), %eax
movq -0x30(%rbp), %rdi
movzbl 0x3(%rdi), %edi
movl %edi, -0x5c(%rbp)
movq -0x30(%rbp), %rdi
movzbl 0x4(%rdi), %edi
movl %edi, -0x58(%rbp)
movq -0x30(%rbp), %rdi
movzbl 0x5(%rdi), %edi
movl %edi, -0x54(%rbp)
movq -0x30(%rbp), %rdi
movzbl 0x12(%rdi), %edi
movl %edi, -0x50(%rbp)
movq -0x30(%rbp), %rdi
movzbl 0x13(%rdi), %edi
movl %edi, -0x4c(%rbp)
movq -0x30(%rbp), %rdi
movzbl 0x14(%rdi), %edi
movl %edi, -0x48(%rbp)
movq -0x30(%rbp), %rdi
movzbl 0x6(%rdi), %edi
movl %edi, -0x44(%rbp)
movq -0x30(%rbp), %rdi
movzbl 0x7(%rdi), %edi
movl %edi, -0x40(%rbp)
movq -0x30(%rbp), %rdi
movzbl 0x8(%rdi), %edi
movl %edi, -0x3c(%rbp)
movq -0x30(%rbp), %rdi
movzbl 0xf(%rdi), %edi
movl %edi, -0x38(%rbp)
movq -0x30(%rbp), %rdi
movzbl 0x10(%rdi), %r13d
movq -0x30(%rbp), %rdi
movzbl 0x11(%rdi), %r12d
movq -0x30(%rbp), %rdi
movzbl 0x9(%rdi), %r15d
movq -0x30(%rbp), %rdi
movzbl 0xa(%rdi), %r14d
movq -0x30(%rbp), %rdi
movzbl 0xb(%rdi), %ebx
movq -0x30(%rbp), %rdi
movzbl 0xc(%rdi), %r11d
movq -0x30(%rbp), %rdi
movzbl 0xd(%rdi), %r10d
movq -0x30(%rbp), %rdi
movzbl 0xe(%rdi), %edi
movl %edi, -0x34(%rbp)
leaq 0xd04(%rip), %rdi       # 0x325b
movl %eax, (%rsp)
movl -0x5c(%rbp), %eax
movl %eax, 0x8(%rsp)
movl -0x58(%rbp), %eax
movl %eax, 0x10(%rsp)
movl -0x54(%rbp), %eax
movl %eax, 0x18(%rsp)
movl -0x50(%rbp), %eax
movl %eax, 0x20(%rsp)
movl -0x4c(%rbp), %eax
movl %eax, 0x28(%rsp)
movl -0x48(%rbp), %eax
movl %eax, 0x30(%rsp)
movl -0x44(%rbp), %eax
movl %eax, 0x38(%rsp)
movl -0x40(%rbp), %eax
movl %eax, 0x40(%rsp)
movl -0x3c(%rbp), %eax
movl %eax, 0x48(%rsp)
movl -0x38(%rbp), %eax
movl %eax, 0x50(%rsp)
movl -0x34(%rbp), %eax
movl %r13d, 0x58(%rsp)
movl %r12d, 0x60(%rsp)
movl %r15d, 0x68(%rsp)
movl %r14d, 0x70(%rsp)
movl %ebx, 0x78(%rsp)
movl %r11d, 0x80(%rsp)
movl %r10d, 0x88(%rsp)
movl %eax, 0x90(%rsp)
movb $0x0, %al
callq 0x1050
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax,%rax)