// File: /workspace/github_cpp_makefile_star2_O3/eugene87222[P]Game-of-Life/gol.cpp
// Function: draw(int, int, char*, int, int)
void draw(int height, int width, char *status_background, int gen, int ms) {
	int not_first;
    for(int i=0; i<=height+1; i++) {
		for(int j=0; j<=width+1; j++) {
            not_first = (int)(j>0);
            if(i==0 && j==0) mvaddstr(i, j, "╔");
            else if(i==height+1 && j==0) mvaddstr(i, j, "╚");
            else if(i==0 && j==width+1) mvaddstr(i, j*2-not_first, "╗");
            else if(i==height+1 && j==width+1) mvaddstr(i, j*2-not_first, "╝");
            else if(i==0 || i==height+1) mvaddstr(i, j*2-not_first, "══");
            else if(j==0 || j==width+1) mvaddstr(i, j*2-not_first, "║");
            else if(board[i][j] == 0) mvaddstr(i, j*2-not_first, "  ");
            else mvaddstr(i, j*2-not_first, "██");
		}
    }
	status(status_background, gen, ms);
	refresh();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movl %r8d, 0x14(%rsp)
movl %ecx, 0x10(%rsp)
movq %rdx, 0x28(%rsp)
movq %rsi, 0x18(%rsp)
cmpl $-0x1, %edi
jl 0x2bbb
movq %rdi, %rax
movq %rdi, %rcx
leal 0x1(%rax), %edx
movq 0x18(%rsp), %rax
leal 0x1(%rax), %esi
movq %rsi, 0x20(%rsp)
leal 0x2(%rax), %esi
movq %rsi, 0x40(%rsp)
movl %edx, 0xc(%rsp)
movl %edx, %edx
movq %rdx, 0x30(%rsp)
addl $0x2, %ecx
movq %rcx, 0x38(%rsp)
leal 0x2(,%rax,2), %eax
movl %eax, 0x8(%rsp)
xorl %ebx, %ebx
movq 0x358b(%rip), %r15      # 0x5fd0
cmpl $-0x1, 0x18(%rsp)
jl 0x2bad
testq %rbx, %rbx
sete %al
movq 0x30(%rsp), %rcx
cmpq %rcx, %rbx
sete %dl
orb %al, %dl
movb %dl, 0x7(%rsp)
xorl %r14d, %r14d
movq %rbx, %r13
xorq %rcx, %r13
xorl %r12d, %r12d
xorl %eax, %eax
testq %r12, %r12
setne %cl
movl %r12d, %edx
orl %ebx, %edx
je 0x2aa4
movq %r13, %rdx
orq %r12, %rdx
jne 0x2abc
movq (%r15), %rdi
movl 0xc(%rsp), %esi
xorl %edx, %edx
callq 0x20e0
leaq 0x167d(%rip), %rbp      # 0x411c
jmp 0x2b86
movq (%r15), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x20e0
leaq 0x1661(%rip), %rbp      # 0x4118
jmp 0x2b86
movb %cl, %al
movq 0x20(%rsp), %rcx
xorq %r12, %rcx
movq %rbx, %rdx
orq %rcx, %rdx
jne 0x2aea
movq (%r15), %rdi
movl 0x8(%rsp), %edx
subl %eax, %edx
xorl %esi, %esi
callq 0x20e0
leaq 0x163b(%rip), %rbp      # 0x4120
jmp 0x2b86
orq %r13, %rcx
jne 0x2b0a
movq (%r15), %rdi
movl 0x8(%rsp), %edx
subl %eax, %edx
movl 0xc(%rsp), %esi
callq 0x20e0
leaq 0x161c(%rip), %rbp      # 0x4124
jmp 0x2b86
cmpb $0x0, 0x7(%rsp)
je 0x2b29
movq (%r15), %rdi
movl %r14d, %edx
subl %eax, %edx
movl %ebx, %esi
callq 0x20e0
leaq 0x1647(%rip), %rbp      # 0x416e
jmp 0x2b86
cmpq %r12, 0x20(%rsp)
setne %cl
testq %r12, %r12
setne %dl
testb %cl, %dl
jne 0x2b53
movq (%r15), %rdi
movl %r14d, %edx
subl %eax, %edx
movl %ebx, %esi
callq 0x20e0
leaq 0x15d7(%rip), %rbp      # 0x4128
jmp 0x2b86
movq 0x3636(%rip), %rcx      # 0x6190
leaq (%rbx,%rbx,2), %rdx
movq (%rcx,%rdx,8), %rcx
cmpl $0x0, (%rcx,%r12,4)
leaq 0x15be(%rip), %rbp      # 0x412c
je 0x2b77
leaq 0x15b8(%rip), %rbp      # 0x412f
movl %r14d, %edx
subl %eax, %edx
movq (%r15), %rdi
movl %ebx, %esi
callq 0x20e0
cmpl $-0x1, %eax
je 0x2b9b
movq (%r15), %rdi
movq %rbp, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2250
incq %r12
addl $0x2, %r14d
cmpq %r12, 0x40(%rsp)
jne 0x2a73
incq %rbx
cmpq 0x38(%rsp), %rbx
jne 0x2a45
movq 0x28(%rsp), %rdi
movl 0x10(%rsp), %esi
movl 0x14(%rsp), %edx
callq 0x298a
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2030