// File: tewalds[P]morat/hex/gtpgeneral.cpp
// Function: Morat::Hex::GTP::gtp_debug(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>)
GTPResponse GTP::gtp_debug(vecstr args){
	std::string str = "\n";
	str += "Board size:  " + hist->size() + "\n";
	str += "Board cells: " + to_str(hist->num_cells()) + "\n";
	str += "Board vec:   " + to_str(hist->vec_size()) + "\n";
	str += "Board mem:   " + to_str(hist->mem_size()) + "\n";

	return GTPResponse(true, str);
}

// Assembly:
subq $0x248, %rsp            # imm = 0x248
movq %rdi, 0x38(%rsp)
movq %rdi, %rax
movq %rax, 0x40(%rsp)
movq %rdi, 0x240(%rsp)
movq %rsi, 0x238(%rsp)
movq %rdx, 0x230(%rsp)
movq 0x238(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x20f(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x5770
movq 0x50(%rsp), %rdx
leaq 0xaf71(%rip), %rsi      # 0x4c8e8
leaq 0x210(%rsp), %rdi
callq 0x5590
jmp 0x41986
leaq 0x20f(%rsp), %rdi
callq 0x5450
movq 0x48(%rsp), %rdi
addq $0x68, %rdi
callq 0x3ea90
movq %rax, 0x30(%rsp)
jmp 0x419a8
movq 0x30(%rsp), %rsi
leaq 0x198(%rsp), %rdi
callq 0x43630
jmp 0x419bc
leaq 0xec48(%rip), %rsi      # 0x5060b
leaq 0x1b8(%rsp), %rdi
leaq 0x198(%rsp), %rdx
callq 0x19f30
jmp 0x419da
leaq 0xaf07(%rip), %rdx      # 0x4c8e8
leaq 0x1d8(%rsp), %rdi
leaq 0x1b8(%rsp), %rsi
callq 0xb910
jmp 0x419f8
leaq 0x210(%rsp), %rdi
leaq 0x1d8(%rsp), %rsi
callq 0x5520
jmp 0x41a0f
leaq 0x1d8(%rsp), %rdi
callq 0x5260
leaq 0x1b8(%rsp), %rdi
callq 0x5260
leaq 0x198(%rsp), %rdi
callq 0x5260
movq 0x48(%rsp), %rdi
addq $0x68, %rdi
callq 0x3ea90
movq %rax, 0x28(%rsp)
jmp 0x41a4b
movq 0x28(%rsp), %rdi
callq 0x43a40
movl %eax, 0x24(%rsp)
jmp 0x41a5b
movl 0x24(%rsp), %esi
leaq 0x138(%rsp), %rdi
callq 0x1a430
jmp 0x41a6e
leaq 0xeba4(%rip), %rsi      # 0x50619
leaq 0x158(%rsp), %rdi
leaq 0x138(%rsp), %rdx
callq 0x19f30
jmp 0x41a8c
leaq 0xae55(%rip), %rdx      # 0x4c8e8
leaq 0x178(%rsp), %rdi
leaq 0x158(%rsp), %rsi
callq 0xb910
jmp 0x41aaa
leaq 0x210(%rsp), %rdi
leaq 0x178(%rsp), %rsi
callq 0x5520
jmp 0x41ac1
leaq 0x178(%rsp), %rdi
callq 0x5260
leaq 0x158(%rsp), %rdi
callq 0x5260
leaq 0x138(%rsp), %rdi
callq 0x5260
movq 0x48(%rsp), %rdi
addq $0x68, %rdi
callq 0x3ea90
movq %rax, 0x18(%rsp)
jmp 0x41afd
movq 0x18(%rsp), %rdi
callq 0x102d0
movl %eax, 0x14(%rsp)
jmp 0x41b0d
movl 0x14(%rsp), %esi
leaq 0xd8(%rsp), %rdi
callq 0x1a430
jmp 0x41b20
leaq 0xeb00(%rip), %rsi      # 0x50627
leaq 0xf8(%rsp), %rdi
leaq 0xd8(%rsp), %rdx
callq 0x19f30
jmp 0x41b3e
leaq 0xada3(%rip), %rdx      # 0x4c8e8
leaq 0x118(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0xb910
jmp 0x41b5c
leaq 0x210(%rsp), %rdi
leaq 0x118(%rsp), %rsi
callq 0x5520
jmp 0x41b73
leaq 0x118(%rsp), %rdi
callq 0x5260
leaq 0xf8(%rsp), %rdi
callq 0x5260
leaq 0xd8(%rsp), %rdi
callq 0x5260
movq 0x48(%rsp), %rdi
addq $0x68, %rdi
callq 0x3ea90
movq %rax, 0x8(%rsp)
jmp 0x41baf
movq 0x8(%rsp), %rdi
callq 0x43a50
movl %eax, 0x4(%rsp)
jmp 0x41bbf
movl 0x4(%rsp), %esi
leaq 0x78(%rsp), %rdi
callq 0x1a430
jmp 0x41bcf
leaq 0xea5f(%rip), %rsi      # 0x50635
leaq 0x98(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x19f30
jmp 0x41bea
leaq 0xacf7(%rip), %rdx      # 0x4c8e8
leaq 0xb8(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0xb910
jmp 0x41c08
leaq 0x210(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
callq 0x5520
jmp 0x41c1f
leaq 0xb8(%rsp), %rdi
callq 0x5260
leaq 0x98(%rsp), %rdi
callq 0x5260
leaq 0x78(%rsp), %rdi
callq 0x5260
leaq 0x58(%rsp), %rdi
leaq 0x210(%rsp), %rsi
callq 0x51b0
jmp 0x41c57
movq 0x38(%rsp), %rdi
movl $0x1, %esi
leaq 0x58(%rsp), %rdx
callq 0xd9a0
jmp 0x41c6d
leaq 0x58(%rsp), %rdi
callq 0x5260
leaq 0x210(%rsp), %rdi
callq 0x5260
movq 0x40(%rsp), %rax
addq $0x248, %rsp            # imm = 0x248
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
leaq 0x20f(%rsp), %rdi
callq 0x5450
jmp 0x41ea5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
jmp 0x41e98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
jmp 0x41d2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
jmp 0x41d1d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
leaq 0x1d8(%rsp), %rdi
callq 0x5260
leaq 0x1b8(%rsp), %rdi
callq 0x5260
leaq 0x198(%rsp), %rdi
callq 0x5260
jmp 0x41e98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
jmp 0x41d96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
jmp 0x41d89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
leaq 0x178(%rsp), %rdi
callq 0x5260
leaq 0x158(%rsp), %rdi
callq 0x5260
leaq 0x138(%rsp), %rdi
callq 0x5260
jmp 0x41e98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
jmp 0x41e02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
jmp 0x41df5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
leaq 0x118(%rsp), %rdi
callq 0x5260
leaq 0xf8(%rsp), %rdi
callq 0x5260
leaq 0xd8(%rsp), %rdi
callq 0x5260
jmp 0x41e98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
jmp 0x41e6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
jmp 0x41e61
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x5260
leaq 0x98(%rsp), %rdi
callq 0x5260
leaq 0x78(%rsp), %rdi
callq 0x5260
jmp 0x41e98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
leaq 0x58(%rsp), %rdi
callq 0x5260
leaq 0x210(%rsp), %rdi
callq 0x5260
movq 0x200(%rsp), %rdi
callq 0x5760
nopw %cs:(%rax,%rax)