// File: /workspace/github_cpp_makefile_star2_O2/nesro[P]NCursesGomoku/src/board.cpp
// Function: CBoard::show() const
void CBoard::show(void) const {

	int row = 0;
	int col = 0;

	mvprintw(row++, col, "/=====================================\\");
	mvprintw(row++, col, "|    a b c d e f g h i j k l m n o    |");
	mvprintw(row++, col,
			"|    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _    |\\=================\\");
	mvprintw(row++, col,
			"|00 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 00|                  |");
	mvprintw(row++, col,
			"|01 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 01| Controls:        |");
	mvprintw(row++, col,
			"|02 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 02|                  |");
	mvprintw(row++, col,
			"|03 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 03| w or ' ' = write |");
	mvprintw(row++, col,
			"|04 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 04| q = surrender    |");
	mvprintw(row++, col,
			"|05 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 05| arrows = move    |");
	mvprintw(row++, col,
			"|06 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 06|                  |");
	mvprintw(row++, col,
			"|07 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 07|/=================/");
	mvprintw(row++, col, "|08 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 08|");
	mvprintw(row++, col, "|09 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 09|");
	mvprintw(row++, col, "|10 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 10|");
	mvprintw(row++, col, "|11 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 11|");
	mvprintw(row++, col, "|12 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 12|");
	mvprintw(row++, col, "|13 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 13|");
	mvprintw(row++, col, "|14 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 14|");
	mvprintw(row++, col, "|    a b c d e f g h i j k l m n o    |");
	mvprintw(row++, col, "|    0 0 0 0 0 0 0 0 0 0 1 1 1 1 1    |");
	mvprintw(row++, col, "|    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4    |");
	mvprintw(row++, col, "\\=====================================/");
	mvprintw(row++, col + 1, "\\=[                               ]=/");
	mvprintw(row++, col + 2, "\\=================================/");

	for (int i = 0; i < BOARD_WIDTH; i++) {
		for (int j = 0; j < BOARD_HEIGHT; j++) {
			if (m_Stones[i][j] == CGame::PLAYER_0_CHAR) {
				if (m_LastStone.m_X == i && m_LastStone.m_Y == j) {
					attron(COLOR_PAIR(4));

					mvprintw(CURSOR_MIN + i, CURSOR_START + j * 2, "%c",
							CGame::PLAYER_0_CHAR_BIG);

					attroff(COLOR_PAIR(4));
				} else {
					attron(COLOR_PAIR(2));

					mvprintw(CURSOR_MIN + i, CURSOR_START + j * 2, "%c",
							m_Stones[i][j]);

					attroff(COLOR_PAIR(2));
				}
			} else if (m_Stones[i][j] == CGame::PLAYER_1_CHAR) {
				if (m_LastStone.m_X == i && m_LastStone.m_Y == j) {
					attron(COLOR_PAIR(5));

					mvprintw(CURSOR_MIN + i, CURSOR_START + j * 2, "%c",
							CGame::PLAYER_1_CHAR_BIG);

					attroff(COLOR_PAIR(5));
				} else {
					attron(COLOR_PAIR(3));

					mvprintw(CURSOR_MIN + i, CURSOR_START + j * 2, "%c",
							m_Stones[i][j]);

					attroff(COLOR_PAIR(3));
				}
			}
		}
	}

	mvprintw(22, 4, "%s", m_Message);

	move(m_Cursor.m_Y, m_Cursor.m_Y * 2 - 1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x298b(%rip), %rdx      # 0x5440
xorl %edi, %edi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x29a1(%rip), %r12      # 0x5468
pushq $0x1
popq %r14
movl %r14d, %edi
xorl %esi, %esi
movq %r12, %rdx
xorl %eax, %eax
callq 0x22a0
leaq 0x29af(%rip), %rdx      # 0x5490
pushq $0x2
popq %r15
movl %r15d, %edi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x29d3(%rip), %rdx      # 0x54cb
pushq $0x3
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x29fb(%rip), %rdx      # 0x5506
pushq $0x4
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2a23(%rip), %rdx      # 0x5541
pushq $0x5
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2a4b(%rip), %rdx      # 0x557c
pushq $0x6
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2a73(%rip), %rdx      # 0x55b7
pushq $0x7
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2a9b(%rip), %rdx      # 0x55f2
pushq $0x8
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2ac3(%rip), %rdx      # 0x562d
pushq $0x9
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2aeb(%rip), %rdx      # 0x5668
pushq $0xa
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2b13(%rip), %rdx      # 0x56a3
pushq $0xb
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2b28(%rip), %rdx      # 0x56cb
pushq $0xc
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2b3d(%rip), %rdx      # 0x56f3
pushq $0xd
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2b52(%rip), %rdx      # 0x571b
pushq $0xe
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2b67(%rip), %rdx      # 0x5743
pushq $0xf
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2b7c(%rip), %rdx      # 0x576b
pushq $0x10
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2b91(%rip), %rdx      # 0x5793
pushq $0x11
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
pushq $0x12
popq %rdi
xorl %esi, %esi
movq %r12, %rdx
xorl %eax, %eax
callq 0x22a0
leaq 0x2b97(%rip), %rdx      # 0x57bb
pushq $0x13
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2bac(%rip), %rdx      # 0x57e3
pushq $0x14
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2bc1(%rip), %rdx      # 0x580b
pushq $0x15
popq %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2bd6(%rip), %rdx      # 0x5833
pushq $0x16
popq %rdi
movl %r14d, %esi
xorl %eax, %eax
callq 0x22a0
leaq 0x2be8(%rip), %rdx      # 0x5859
pushq $0x17
popq %rdi
movl %r15d, %esi
movq %rbx, %r15
xorl %eax, %eax
callq 0x22a0
leaq 0x38(%rbx), %r12
xorl %ebx, %ebx
movq %r15, (%rsp)
cmpq $0xf, %rbx
je 0x2d9f
leal 0x3(%rbx), %r13d
pushq $0x5
popq %rbp
xorl %r14d, %r14d
cmpq $0xf, %r14
je 0x2d93
movzbl (%r12,%r14), %eax
cmpl $0x6f, %eax
je 0x2cfa
cmpl $0x78, %eax
jne 0x2d88
movl 0x28(%r15), %eax
movq 0x6309(%rip), %rcx      # 0x8fd0
movq (%rcx), %rdi
cmpq %rax, %rbx
jne 0x2d39
movl 0x2c(%r15), %eax
cmpq %rax, %r14
jne 0x2d39
movl $0x400, %r15d           # imm = 0x400
movl $0x400, %esi            # imm = 0x400
xorl %edx, %edx
callq 0x2130
movl %r13d, %edi
movl %ebp, %esi
leaq 0x2b87(%rip), %rdx      # 0x587d
pushq $0x58
jmp 0x2d36
movl 0x28(%r15), %eax
movq 0x62cb(%rip), %rcx      # 0x8fd0
movq (%rcx), %rdi
cmpq %rax, %rbx
jne 0x2d46
movl 0x2c(%r15), %eax
cmpq %rax, %r14
jne 0x2d46
movl $0x500, %r15d           # imm = 0x500
movl $0x500, %esi            # imm = 0x500
xorl %edx, %edx
callq 0x2130
movl %r13d, %edi
movl %ebp, %esi
leaq 0x2b49(%rip), %rdx      # 0x587d
pushq $0x30
popq %rcx
jmp 0x2d69
movl $0x200, %r15d           # imm = 0x200
movl $0x200, %esi            # imm = 0x200
jmp 0x2d51
movl $0x300, %r15d           # imm = 0x300
movl $0x300, %esi            # imm = 0x300
xorl %edx, %edx
callq 0x2130
movsbl (%r12,%r14), %ecx
movl %r13d, %edi
movl %ebp, %esi
leaq 0x2b14(%rip), %rdx      # 0x587d
xorl %eax, %eax
callq 0x22a0
movq 0x6259(%rip), %rax      # 0x8fd0
movq (%rax), %rdi
movl %r15d, %esi
xorl %edx, %edx
callq 0x2280
movq (%rsp), %r15
incq %r14
addl $0x2, %ebp
jmp 0x2c9f
incq %rbx
addq $0xf, %r12
jmp 0x2c8b
leaq 0x25dd(%rip), %rdx      # 0x5383
pushq $0x16
popq %rdi
pushq $0x4
popq %rsi
movq %r15, %rcx
xorl %eax, %eax
callq 0x22a0
movl 0x34(%r15), %edi
leal -0x1(,%rdi,2), %esi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2170