// File: kobanium[P]Ray/src/common/Message.cpp
// Function: PrintStringID(game_info_t const*)
void
PrintStringID( const game_info_t *game )
{
  if (!debug_message) return;

  std::cerr << "    ";
  for (int i = 1, y = board_start; y <= board_end; y++, i++) {
    std::cerr << "   " << gogui_x[i];
  }
  std::cerr << std::endl;

  for (int i = 1, y = board_start; y <= board_end; y++, i++) {
    std::cerr << std::setw(3) << (pure_board_size + 1 - i) << ":";
    for (int x = board_start; x <= board_end; x++) {
      const int pos = x + y * board_size;
      if (game->string[game->string_id[pos]].flag) {
        std::cerr << " " << std::setw(3) << game->string_id[pos];
      } else {
        std::cerr << "   -";
      }
    }
    std::cerr << std::endl;
  }
  std::cerr << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
testb $0x1, 0xc67bd(%rip)     # 0xe7580
jne 0x20dca
jmp 0x20fbf
movq 0xc621f(%rip), %rdi     # 0xe6ff0
leaq 0x8b66b(%rip), %rsi     # 0xac443
callq 0x7530
movl $0x1, -0xc(%rbp)
leaq 0xc6c65(%rip), %rax     # 0xe7a50
movl (%rax), %eax
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %eax
leaq 0xc6c5a(%rip), %rcx     # 0xe7a54
cmpl (%rcx), %eax
jg 0x20e3c
movq 0xc61eb(%rip), %rdi     # 0xe6ff0
leaq 0x8b638(%rip), %rsi     # 0xac444
callq 0x7530
movq %rax, %rdi
movslq -0xc(%rbp), %rcx
leaq 0x8b581(%rip), %rax     # 0xac3a0
movsbl (%rax,%rcx), %esi
callq 0x7660
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x20df0
movq 0xc61ad(%rip), %rdi     # 0xe6ff0
movq 0xc611e(%rip), %rsi     # 0xe6f68
callq 0x75b0
movl $0x1, -0x14(%rbp)
leaq 0xc6bf3(%rip), %rax     # 0xe7a50
movl (%rax), %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
leaq 0xc6be8(%rip), %rcx     # 0xe7a54
cmpl (%rcx), %eax
jg 0x20fac
movl $0x3, %edi
callq 0x25760
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %esi
movq 0xc6165(%rip), %rdi     # 0xe6ff0
callq 0x7640
movq %rax, %rdi
leaq 0xc6baa(%rip), %rax     # 0xe7a44
movl (%rax), %esi
addl $0x1, %esi
subl -0x14(%rbp), %esi
callq 0x7980
movq %rax, %rdi
leaq 0x8b1e5(%rip), %rsi     # 0xac096
callq 0x7530
leaq 0xc6b93(%rip), %rax     # 0xe7a50
movl (%rax), %eax
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %eax
leaq 0xc6b88(%rip), %rcx     # 0xe7a54
cmpl (%rcx), %eax
jg 0x20f82
movl -0x20(%rbp), %eax
movl -0x18(%rbp), %ecx
leaq 0xc6b6b(%rip), %rdx     # 0xe7a4c
imull (%rdx), %ecx
addl %ecx, %eax
movl %eax, -0x24(%rbp)
movq -0x8(%rbp), %rax
addq $0x9620, %rax           # imm = 0x9620
movq -0x8(%rbp), %rcx
movslq -0x24(%rbp), %rdx
movslq 0x95720(%rcx,%rdx,4), %rcx
imulq $0x7c8, %rcx, %rcx      # imm = 0x7C8
addq %rcx, %rax
testb $0x1, 0x7c4(%rax)
je 0x20f5f
movq 0xc60d3(%rip), %rdi     # 0xe6ff0
leaq 0x8b522(%rip), %rsi     # 0xac446
callq 0x7530
movq %rax, -0x30(%rbp)
movl $0x3, %edi
callq 0x25760
movq -0x30(%rbp), %rdi
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %esi
callq 0x7640
movq %rax, %rdi
movq -0x8(%rbp), %rax
movslq -0x24(%rbp), %rcx
movl 0x95720(%rax,%rcx,4), %esi
callq 0x7980
jmp 0x20f72
movq 0xc608a(%rip), %rdi     # 0xe6ff0
leaq 0x8b18b(%rip), %rsi     # 0xac0f8
callq 0x7530
jmp 0x20f74
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x20ec2
movq 0xc6067(%rip), %rdi     # 0xe6ff0
movq 0xc5fd8(%rip), %rsi     # 0xe6f68
callq 0x75b0
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x20e62
movq 0xc603d(%rip), %rdi     # 0xe6ff0
movq 0xc5fae(%rip), %rsi     # 0xe6f68
callq 0x75b0
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)