// File: /workspace/github_c_makefile_star2_O2/skeeto[P]flappy/flappy.cc
// Function: World::draw()
void draw() {
    init_pair(2, COLOR_GREEN, COLOR_BLACK);
    init_pair(3, COLOR_GREEN, COLOR_GREEN);
    attron(COLOR_PAIR(2));
    for (int i = 0; i < walls.size(); i++) {
      int wall = walls[i];
      if (wall != 0) {
        for (int y = 1; y < display->height - 1; y++) {
          if (y == wall - kVGap - 1 || y == wall + kVGap + 1) {
            attroff(COLOR_PAIR(2));
            attron(COLOR_PAIR(3));
            mvaddch(y, i + 1, '=');
            attroff(COLOR_PAIR(3));
            attron(COLOR_PAIR(2));
          } else if (y < wall - kVGap || y > wall + kVGap) {
            mvaddch(y, i + 1, '|');
          }
        }
      }
    }
    attroff(COLOR_PAIR(2));
    attron(A_BOLD);
    mvprintw(display->height, 0, "Score: %d", score());
    attroff(A_BOLD);
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
pushq $0x2
popq %rbx
xorl %r15d, %r15d
movl %ebx, %edi
movl %ebx, %esi
xorl %edx, %edx
callq 0x7050
pushq $0x3
popq %rdi
movl %ebx, %esi
movl %ebx, %edx
callq 0x7050
movq 0x779ef(%rip), %r12     # 0x7ffe0
movq (%r12), %rdi
movl $0x200, %esi            # imm = 0x200
xorl %edx, %edx
callq 0x7170
leaq 0x10(%r14), %rax
movq %rax, 0x10(%rsp)
movq %r14, %rdi
callq 0x826e
cmpq %r15, %rax
jbe 0x870f
movq 0x10(%rsp), %rdi
movq %r15, %rsi
callq 0x8838
movl (%rax), %r13d
testl %r13d, %r13d
je 0x8707
leal -0x2(%r13), %eax
movl %eax, 0xc(%rsp)
leal 0x2(%r13), %ebp
incq %r15
negl %r13d
pushq $0x1
popq %rax
movl %eax, %ebx
leal (%rbx,%r13), %eax
movq 0x50(%r14), %rcx
movl (%rcx), %ecx
decl %ecx
cmpl %ecx, %ebx
jge 0x860a
cmpl $-0x3, %eax
sete %cl
cmpl $0x3, %eax
sete %al
orb %cl, %al
cmpb $0x1, %al
jne 0x86ce
movq (%r12), %rdi
movl $0x200, %esi            # imm = 0x200
xorl %edx, %edx
callq 0x7390
movq (%r12), %rdi
movl $0x300, %esi            # imm = 0x300
xorl %edx, %edx
callq 0x7170
movq (%r12), %rdi
movl %ebx, %esi
movl %r15d, %edx
callq 0x72e0
cmpl $-0x1, %eax
je 0x86ac
movq (%r12), %rdi
pushq $0x3d
popq %rsi
callq 0x70b0
movq (%r12), %rdi
movl $0x300, %esi            # imm = 0x300
xorl %edx, %edx
callq 0x7390
movq (%r12), %rdi
movl $0x200, %esi            # imm = 0x200
xorl %edx, %edx
callq 0x7170
jmp 0x8700
cmpl 0xc(%rsp), %ebx
setl %al
cmpl %ebp, %ebx
setg %cl
orb %al, %cl
cmpb $0x1, %cl
jne 0x8700
movq (%r12), %rdi
movl %ebx, %esi
movl %r15d, %edx
callq 0x72e0
cmpl $-0x1, %eax
je 0x8700
movq (%r12), %rdi
pushq $0x7c
popq %rsi
callq 0x70b0
incl %ebx
jmp 0x864b
incq %r15
jmp 0x860a
movq (%r12), %rdi
movl $0x200, %esi            # imm = 0x200
xorl %edx, %edx
callq 0x7390
movq (%r12), %rdi
movl $0x200000, %esi         # imm = 0x200000
xorl %edx, %edx
callq 0x7170
movq 0x50(%r14), %rax
movl (%rax), %edi
movl 0x58(%r14), %eax
addl $-0x2, %eax
pushq $0x14
popq %rcx
cltd
idivl %ecx
cmpl $0x3, %eax
pushq $0x2
popq %rcx
cmovgel %eax, %ecx
addl $-0x2, %ecx
leaq 0x569ea(%rip), %rdx     # 0x5f13f
xorl %esi, %esi
xorl %eax, %eax
callq 0x73b0
movq (%r12), %rdi
movl $0x200000, %esi         # imm = 0x200000
xorl %edx, %edx
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x7390