// File: /workspace/github_cpp_makefile_star2_O2/niekh1234[P]nnchesslib/board.cpp
// Function: nnchesslib::ChessBoard::getPieceChar[abi:cxx11](int)
std::string ChessBoard::getPieceChar(int i)
{
    if(BitBoard(boardinfo.pawns.board & boardinfo.whitePieces.board).get(i)) return "P";
    if(BitBoard(boardinfo.knights.board & boardinfo.whitePieces.board).get(i)) return "N";
    if(BitBoard(boardinfo.bishops.board & boardinfo.whitePieces.board).get(i)) return "B";
    if(BitBoard(boardinfo.rooks.board & boardinfo.whitePieces.board).get(i)) return "R";
    if(BitBoard(boardinfo.queens.board & boardinfo.whitePieces.board).get(i)) return "Q";
    if(BitBoard(boardinfo.kings.board & boardinfo.whitePieces.board).get(i)) return "K";
    if(BitBoard(boardinfo.pawns.board & boardinfo.blackPieces.board).get(i)) return "p";
    if(BitBoard(boardinfo.knights.board & boardinfo.blackPieces.board).get(i)) return "n";
    if(BitBoard(boardinfo.bishops.board & boardinfo.blackPieces.board).get(i)) return "b";
    if(BitBoard(boardinfo.rooks.board & boardinfo.blackPieces.board).get(i)) return "r";
    if(BitBoard(boardinfo.queens.board & boardinfo.blackPieces.board).get(i)) return "q";
    if(BitBoard(boardinfo.kings.board & boardinfo.blackPieces.board).get(i)) return "k";
    return "0";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %rbx
movq (%rsi), %rsi
andq 0x10(%r15), %rsi
leaq -0x28(%rbp), %r12
movq %r12, %rdi
callq 0x3036
movq %r12, %rdi
movl %r14d, %esi
callq 0x30a4
testl %eax, %eax
je 0x4f0e
leaq 0x3942(%rip), %rsi      # 0x884b
jmp 0x50e4
movq (%r15), %rsi
andq 0x18(%r15), %rsi
movq %r12, %rdi
callq 0x3036
movq %r12, %rdi
movl %r14d, %esi
callq 0x30a4
testl %eax, %eax
je 0x4f38
leaq 0x391a(%rip), %rsi      # 0x884d
jmp 0x50e4
movq (%r15), %rsi
andq 0x20(%r15), %rsi
movq %r12, %rdi
callq 0x3036
movq %r12, %rdi
movl %r14d, %esi
callq 0x30a4
testl %eax, %eax
je 0x4f62
leaq 0x38f2(%rip), %rsi      # 0x884f
jmp 0x50e4
movq (%r15), %rsi
andq 0x28(%r15), %rsi
movq %r12, %rdi
callq 0x3036
movq %r12, %rdi
movl %r14d, %esi
callq 0x30a4
testl %eax, %eax
je 0x4f8c
leaq 0x38ca(%rip), %rsi      # 0x8851
jmp 0x50e4
movq (%r15), %rsi
andq 0x30(%r15), %rsi
movq %r12, %rdi
callq 0x3036
movq %r12, %rdi
movl %r14d, %esi
callq 0x30a4
testl %eax, %eax
je 0x4fb6
leaq 0x3736(%rip), %rsi      # 0x86e7
jmp 0x50e4
movq (%r15), %rsi
andq 0x38(%r15), %rsi
movq %r12, %rdi
callq 0x3036
movq %r12, %rdi
movl %r14d, %esi
callq 0x30a4
testl %eax, %eax
je 0x4fe0
leaq 0x37ed(%rip), %rsi      # 0x87c8
jmp 0x50e4
movq 0x8(%r15), %rsi
andq 0x10(%r15), %rsi
movq %r12, %rdi
callq 0x3036
movq %r12, %rdi
movl %r14d, %esi
callq 0x30a4
testl %eax, %eax
je 0x500b
leaq 0x3551(%rip), %rsi      # 0x8557
jmp 0x50e4
movq 0x8(%r15), %rsi
andq 0x18(%r15), %rsi
movq %r12, %rdi
callq 0x3036
movq %r12, %rdi
movl %r14d, %esi
callq 0x30a4
testl %eax, %eax
je 0x5036
leaq 0x3822(%rip), %rsi      # 0x8853
jmp 0x50e4
movq 0x8(%r15), %rsi
andq 0x20(%r15), %rsi
movq %r12, %rdi
callq 0x3036
movq %r12, %rdi
movl %r14d, %esi
callq 0x30a4
testl %eax, %eax
je 0x5061
leaq 0x367e(%rip), %rsi      # 0x86da
jmp 0x50e4
movq 0x8(%r15), %rsi
andq 0x28(%r15), %rsi
movq %r12, %rdi
callq 0x3036
movq %r12, %rdi
movl %r14d, %esi
callq 0x30a4
testl %eax, %eax
je 0x5089
leaq 0x37ce(%rip), %rsi      # 0x8855
jmp 0x50e4
movq 0x8(%r15), %rsi
andq 0x30(%r15), %rsi
movq %r12, %rdi
callq 0x3036
movq %r12, %rdi
movl %r14d, %esi
callq 0x30a4
testl %eax, %eax
je 0x50b1
leaq 0x3635(%rip), %rsi      # 0x86e4
jmp 0x50e4
movq 0x8(%r15), %rsi
andq 0x38(%r15), %rsi
leaq -0x28(%rbp), %r15
movq %r15, %rdi
callq 0x3036
movq %r15, %rdi
movl %r14d, %esi
callq 0x30a4
testl %eax, %eax
je 0x50dd
leaq 0x3602(%rip), %rsi      # 0x86dd
jmp 0x50e4
leaq 0x3773(%rip), %rsi      # 0x8857
leaq -0x28(%rbp), %rdx
movq %rbx, %rdi
callq 0x2f52
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq