// File: /workspace/github_c_makefile_star2_O0/upcrob[P]garry/boardutil.c
// Function: printBoard(char*)
void printBoard(char* board)
{
	char black = '#';
	char white = '@';
	char pieceId;
	int i, j;
	for (i = 7; i >= 0; i--)
	{
		printf("%d|", i + 1);
		for (j = 0; j < 8; j++)
		{
			pieceId = getPieceAt(board, i, j);
			if (pieceId == EMPTY)
			{
				//empty square
				printf("  ");
			} else if (pieceId > BLACK) {
				//black
				pieceId = (char) (pieceId - BLACK);
				switch (pieceId)
				{
					case PAWN:
						printf("%cP", black);
						break;
					case ROOK:
						printf("%cR", black);
						break;
					case KNIGHT:
						printf("%cN", black);
						break;
					case BISHOP:
						printf("%cB", black);
						break;
					case QUEEN:
						printf("%cQ", black);
						break;
					case KING:
						printf("%cK", black);
						break;
				}
			} else {
				//white
				switch (pieceId)
				{
					case PAWN:
						printf("%cP", white);
						break;
					case ROOK:
						printf("%cR", white);
						break;
					case KNIGHT:
						printf("%cN", white);
						break;
					case BISHOP:
						printf("%cB", white);
						break;
					case QUEEN:
						printf("%cQ", white);
						break;
					case KING:
						printf("%cK", white);
						break;
				}
			}

			if (j < 8)
			{
				printf("|");
			}
		}
		printf("\n");
	}

	printf("-|--|--|--|--|--|--|--|--|\n");
	printf(" | A| B| C| D| E| F| G| H|\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movb $0x23, -0x9(%rbp)
movb $0x40, -0xa(%rbp)
movl $0x7, -0x10(%rbp)
cmpl $0x0, -0x10(%rbp)
jl 0xee34
movl -0x10(%rbp), %esi
addl $0x1, %esi
leaq 0xc823(%rip), %rdi      # 0x1b475
movb $0x0, %al
callq 0x8040
movl $0x0, -0x14(%rbp)
cmpl $0x8, -0x14(%rbp)
jge 0xee18
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %esi
movl -0x14(%rbp), %edx
callq 0xeab0
movb %al, -0xb(%rbp)
movsbl -0xb(%rbp), %eax
cmpl $0x0, %eax
jne 0xec98
leaq 0xc7ed(%rip), %rdi      # 0x1b479
movb $0x0, %al
callq 0x8040
jmp 0xedf4
movsbl -0xb(%rbp), %eax
cmpl $0x32, %eax
jle 0xed51
movb -0xb(%rbp), %al
addb $-0x32, %al
movb %al, -0xb(%rbp)
movsbl -0xb(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x20(%rbp)
subl $0x5, %eax
ja 0xed4c
movq -0x20(%rbp), %rax
leaq 0xc62b(%rip), %rcx      # 0x1b2f8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movsbl -0x9(%rbp), %esi
leaq 0xc79b(%rip), %rdi      # 0x1b47c
movb $0x0, %al
callq 0x8040
jmp 0xed4c
movsbl -0x9(%rbp), %esi
leaq 0xc78b(%rip), %rdi      # 0x1b480
movb $0x0, %al
callq 0x8040
jmp 0xed4c
movsbl -0x9(%rbp), %esi
leaq 0xc77b(%rip), %rdi      # 0x1b484
movb $0x0, %al
callq 0x8040
jmp 0xed4c
movsbl -0x9(%rbp), %esi
leaq 0xc76b(%rip), %rdi      # 0x1b488
movb $0x0, %al
callq 0x8040
jmp 0xed4c
movsbl -0x9(%rbp), %esi
leaq 0xc75b(%rip), %rdi      # 0x1b48c
movb $0x0, %al
callq 0x8040
jmp 0xed4c
movsbl -0x9(%rbp), %esi
leaq 0xc74b(%rip), %rdi      # 0x1b490
movb $0x0, %al
callq 0x8040
jmp 0xedf2
movsbl -0xb(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x28(%rbp)
subl $0x5, %eax
ja 0xedf0
movq -0x28(%rbp), %rax
leaq 0xc56f(%rip), %rcx      # 0x1b2e0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movsbl -0xa(%rbp), %esi
leaq 0xc6f7(%rip), %rdi      # 0x1b47c
movb $0x0, %al
callq 0x8040
jmp 0xedf0
movsbl -0xa(%rbp), %esi
leaq 0xc6e7(%rip), %rdi      # 0x1b480
movb $0x0, %al
callq 0x8040
jmp 0xedf0
movsbl -0xa(%rbp), %esi
leaq 0xc6d7(%rip), %rdi      # 0x1b484
movb $0x0, %al
callq 0x8040
jmp 0xedf0
movsbl -0xa(%rbp), %esi
leaq 0xc6c7(%rip), %rdi      # 0x1b488
movb $0x0, %al
callq 0x8040
jmp 0xedf0
movsbl -0xa(%rbp), %esi
leaq 0xc6b7(%rip), %rdi      # 0x1b48c
movb $0x0, %al
callq 0x8040
jmp 0xedf0
movsbl -0xa(%rbp), %esi
leaq 0xc6a7(%rip), %rdi      # 0x1b490
movb $0x0, %al
callq 0x8040
jmp 0xedf2
jmp 0xedf4
cmpl $0x8, -0x14(%rbp)
jge 0xee08
leaq 0xc676(%rip), %rdi      # 0x1b477
movb $0x0, %al
callq 0x8040
jmp 0xee0a
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0xec60
leaq 0xc285(%rip), %rdi      # 0x1b0a4
movb $0x0, %al
callq 0x8040
movl -0x10(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0xec3b
leaq 0xc659(%rip), %rdi      # 0x1b494
movb $0x0, %al
callq 0x8040
leaq 0xc667(%rip), %rdi      # 0x1b4b0
movb $0x0, %al
callq 0x8040
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)