// File: /workspace/github_cpp_makefile_star2_O2/tewalds[P]morat/hex/../lib/gtpbase.h
// Function: Morat::GTPBase::GTPBase(_IO_FILE*, _IO_FILE*)
GTPBase(FILE * i = stdin, FILE * o = stdout){
		in = i;
		out = o;
		longest_cmd = 0;
		running = false;

		newcallback("list_commands",    std::bind(&GTPBase::gtp_list_commands,    this, _1, false), "List the commands");
		newcallback("help",             std::bind(&GTPBase::gtp_list_commands,    this, _1, true),  "List the commands, with descriptions");
		newcallback("quit",             std::bind(&GTPBase::gtp_quit,             this, _1), "Quit the program");
		newcallback("exit",             std::bind(&GTPBase::gtp_quit,             this, _1), "Alias for quit");
		newcallback("protocol_version", std::bind(&GTPBase::gtp_protocol_version, this, _1), "Show the gtp protocol version");
	}

// Assembly:
pushq %r14
pushq %rbx
subq $0x188, %rsp            # imm = 0x188
vxorps %xmm0, %xmm0, %xmm0
andq $0x0, 0x20(%rdi)
movq %rdi, %rbx
vmovups %xmm0, 0x10(%rdi)
movq %rsi, (%rdi)
movq %rdx, 0x8(%rdi)
andl $0x0, 0x28(%rdi)
movb $0x0, 0x2c(%rdi)
leaq 0x1a20d(%rip), %rsi     # 0x227c4
leaq 0x168(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x5110
leaq 0x45c(%rip), %r14       # 0x8a2c
leaq 0x28(%rsp), %rsi
movq %r14, (%rsi)
andq $0x0, 0x8(%rsi)
movb $0x0, 0x10(%rsi)
movq %rbx, 0x18(%rsi)
leaq 0x8(%rsp), %rdi
callq 0x8b88
leaq 0x1a1dc(%rip), %rsi     # 0x227d2
leaq 0x148(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x5110
leaq 0x168(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x148(%rsp), %rcx
movq %rbx, %rdi
callq 0x83d6
leaq 0x148(%rsp), %rdi
callq 0x5150
leaq 0x8(%rsp), %rdi
callq 0x850c
leaq 0x168(%rsp), %rdi
callq 0x5150
leaq 0x19b8c(%rip), %rsi     # 0x221dc
leaq 0x128(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x5110
leaq 0x28(%rsp), %rsi
movq %r14, (%rsi)
andq $0x0, 0x8(%rsi)
movb $0x1, 0x10(%rsi)
movq %rbx, 0x18(%rsi)
leaq 0x8(%rsp), %rdi
callq 0x8b88
leaq 0x1a15c(%rip), %rsi     # 0x227e4
leaq 0x108(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x5110
leaq 0x128(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x108(%rsp), %rcx
movq %rbx, %rdi
callq 0x83d6
leaq 0x108(%rsp), %rdi
callq 0x5150
leaq 0x8(%rsp), %rdi
callq 0x850c
leaq 0x128(%rsp), %rdi
callq 0x5150
leaq 0x1a147(%rip), %rsi     # 0x22829
leaq 0xe8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x5110
leaq 0x4d5(%rip), %r14       # 0x8bd0
leaq 0x28(%rsp), %rsi
movq %r14, (%rsi)
andq $0x0, 0x8(%rsi)
movq %rbx, 0x10(%rsi)
leaq 0x8(%rsp), %rdi
callq 0x8c30
leaq 0x1a0ec(%rip), %rsi     # 0x22809
leaq 0xc8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x5110
leaq 0xe8(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0xc8(%rsp), %rcx
movq %rbx, %rdi
callq 0x83d6
leaq 0xc8(%rsp), %rdi
callq 0x5150
leaq 0x8(%rsp), %rdi
callq 0x850c
leaq 0xe8(%rsp), %rdi
callq 0x5150
leaq 0x1a0a3(%rip), %rsi     # 0x2281a
leaq 0xa8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x5110
leaq 0x28(%rsp), %rsi
movq %r14, (%rsi)
andq $0x0, 0x8(%rsi)
movq %rbx, 0x10(%rsi)
leaq 0x8(%rsp), %rdi
callq 0x8c30
leaq 0x1a074(%rip), %rsi     # 0x2281f
leaq 0x88(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x5110
leaq 0xa8(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x88(%rsp), %rcx
movq %rbx, %rdi
callq 0x83d6
leaq 0x88(%rsp), %rdi
callq 0x5150
leaq 0x8(%rsp), %rdi
callq 0x850c
leaq 0xa8(%rsp), %rdi
callq 0x5150
leaq 0x1a029(%rip), %rsi     # 0x2282e
leaq 0x68(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x5110
leaq 0x45d(%rip), %rax       # 0x8c78
leaq 0x28(%rsp), %rsi
movq %rax, (%rsi)
andq $0x0, 0x8(%rsi)
movq %rbx, 0x10(%rsi)
leaq 0x8(%rsp), %rdi
callq 0x8c30
leaq 0x1a002(%rip), %rsi     # 0x2283f
leaq 0x48(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x5110
leaq 0x68(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x48(%rsp), %rcx
movq %rbx, %rdi
callq 0x83d6
leaq 0x48(%rsp), %rdi
callq 0x5150
leaq 0x8(%rsp), %rdi
callq 0x850c
leaq 0x68(%rsp), %rdi
callq 0x5150
addq $0x188, %rsp            # imm = 0x188
popq %rbx
popq %r14
retq
leaq 0x48(%rsp), %rdi
movq %rax, %r14
callq 0x5150
jmp 0x889e
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x850c
jmp 0x88ad
movq %rax, %r14
leaq 0x68(%rsp), %rdi
jmp 0x897e
jmp 0x8985
leaq 0x88(%rsp), %rdi
movq %rax, %r14
callq 0x5150
jmp 0x88d1
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x850c
jmp 0x88e0
movq %rax, %r14
leaq 0xa8(%rsp), %rdi
jmp 0x897e
jmp 0x8985
leaq 0xc8(%rsp), %rdi
movq %rax, %r14
callq 0x5150
jmp 0x8907
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x850c
jmp 0x8916
movq %rax, %r14
leaq 0xe8(%rsp), %rdi
jmp 0x897e
jmp 0x8985
leaq 0x108(%rsp), %rdi
movq %rax, %r14
callq 0x5150
jmp 0x8937
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x850c
jmp 0x8946
movq %rax, %r14
leaq 0x128(%rsp), %rdi
jmp 0x897e
jmp 0x8985
leaq 0x148(%rsp), %rdi
movq %rax, %r14
callq 0x5150
jmp 0x8967
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x850c
jmp 0x8976
movq %rax, %r14
leaq 0x168(%rsp), %rdi
callq 0x5150
jmp 0x8988
movq %rax, %r14
addq $0x10, %rbx
movq %rbx, %rdi
callq 0x8cd4
movq %r14, %rdi
callq 0x5650