// File: kube[P]gradius/World.cpp
// Function: drawRectangle(int, int, int, int)
static void drawRectangle(int x, int y, int width, int height) {

  attron(COLOR_PAIR(2));

  mvvline(y, x, ACS_VLINE, height);
  mvvline(y, x + width, ACS_VLINE, height);

  mvhline(y, x, ACS_HLINE, width);
  mvhline(y + height, x, ACS_HLINE, width + 1);

  mvaddch(y, x, ACS_ULCORNER);
  mvaddch(y, x + width, ACS_URCORNER);

  mvaddch(y + height, x, ACS_LLCORNER);
  mvaddch(y + height, x + width, ACS_LRCORNER);

  attroff(COLOR_PAIR(2));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movl %ecx, -0x10(%rbp)
movq 0x3c4d(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movl $0x200, %esi            # imm = 0x200
xorl %eax, %eax
movl %eax, %edx
callq 0x20b0
movq 0x3c35(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movl -0x8(%rbp), %esi
movl -0x4(%rbp), %edx
callq 0x2140
cmpl $-0x1, %eax
jne 0x43b8
jmp 0x43d7
movq 0x3c19(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movq 0x3be7(%rip), %rax      # 0x7fb0
movl 0x1e0(%rax), %esi
movl -0x10(%rbp), %edx
callq 0x2180
movq 0x3bfa(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movl -0x8(%rbp), %esi
movl -0x4(%rbp), %edx
addl -0xc(%rbp), %edx
callq 0x2140
cmpl $-0x1, %eax
jne 0x43f6
jmp 0x4415
movq 0x3bdb(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movq 0x3ba9(%rip), %rax      # 0x7fb0
movl 0x1e0(%rax), %esi
movl -0x10(%rbp), %edx
callq 0x2180
movq 0x3bbc(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movl -0x8(%rbp), %esi
movl -0x4(%rbp), %edx
callq 0x2140
cmpl $-0x1, %eax
jne 0x4431
jmp 0x4450
movq 0x3ba0(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movq 0x3b6e(%rip), %rax      # 0x7fb0
movl 0x1c4(%rax), %esi
movl -0xc(%rbp), %edx
callq 0x20f0
movq 0x3b81(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movl -0x8(%rbp), %esi
addl -0x10(%rbp), %esi
movl -0x4(%rbp), %edx
callq 0x2140
cmpl $-0x1, %eax
jne 0x446f
jmp 0x4491
movq 0x3b62(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movq 0x3b30(%rip), %rax      # 0x7fb0
movl 0x1c4(%rax), %esi
movl -0xc(%rbp), %edx
addl $0x1, %edx
callq 0x20f0
movq 0x3b40(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movl -0x8(%rbp), %esi
movl -0x4(%rbp), %edx
callq 0x2140
cmpl $-0x1, %eax
jne 0x44ad
jmp 0x44c9
movq 0x3b24(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movq 0x3af2(%rip), %rax      # 0x7fb0
movl 0x1b0(%rax), %esi
callq 0x2070
movq 0x3b08(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movl -0x8(%rbp), %esi
movl -0x4(%rbp), %edx
addl -0xc(%rbp), %edx
callq 0x2140
cmpl $-0x1, %eax
jne 0x44e8
jmp 0x4504
movq 0x3ae9(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movq 0x3ab7(%rip), %rax      # 0x7fb0
movl 0x1ac(%rax), %esi
callq 0x2070
movq 0x3acd(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movl -0x8(%rbp), %esi
addl -0x10(%rbp), %esi
movl -0x4(%rbp), %edx
callq 0x2140
cmpl $-0x1, %eax
jne 0x4523
jmp 0x453f
movq 0x3aae(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movq 0x3a7c(%rip), %rax      # 0x7fb0
movl 0x1b4(%rax), %esi
callq 0x2070
movq 0x3a92(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movl -0x8(%rbp), %esi
addl -0x10(%rbp), %esi
movl -0x4(%rbp), %edx
addl -0xc(%rbp), %edx
callq 0x2140
cmpl $-0x1, %eax
jne 0x4561
jmp 0x457d
movq 0x3a70(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movq 0x3a3e(%rip), %rax      # 0x7fb0
movl 0x1a8(%rax), %esi
callq 0x2070
movq 0x3a54(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
movl $0x200, %esi            # imm = 0x200
xorl %eax, %eax
movl %eax, %edx
callq 0x21a0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)