// File: /workspace/github_cpp_makefile_star2_O1/tewalds[P]pentagod/./gtp.h
// Function: GTPclient::GTPclient(_IO_FILE*, _IO_FILE*, _IO_FILE*)
GTPclient(FILE * i = stdin, FILE * o = stdout, FILE * l = NULL){
		in = i;
		out = o;
		logfile = l;
		longest_cmd = 0;
		running = false;

		newcallback("list_commands",    bind(&GTPclient::gtp_list_commands,    this, _1, false), "List the commands");
		newcallback("help",             bind(&GTPclient::gtp_list_commands,    this, _1, true),  "List the commands, with descriptions");
		newcallback("quit",             bind(&GTPclient::gtp_quit,             this, _1), "Quit the program");
		newcallback("exit",             bind(&GTPclient::gtp_quit,             this, _1), "Alias for quit");
		newcallback("protocol_version", bind(&GTPclient::gtp_protocol_version, this, _1), "Show the gtp protocol version");
		newcallback("logfile",          bind(&GTPclient::gtp_logfile,          this, _1), "Start logging the gtp commands to this file, disabled in server mode");
		newcallback("lognote",          bind(&GTPclient::gtp_lognote,          this, _1), "Add a comment to the logfile");
		newcallback("logend",           bind(&GTPclient::gtp_logend,           this, _1), "Stop logging");
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x228, %rsp            # imm = 0x228
movq %rdi, %rbx
vxorps %xmm0, %xmm0, %xmm0
vmovups %xmm0, 0x18(%rdi)
movq $0x0, 0x28(%rdi)
movq %rsi, (%rdi)
movq %rdx, 0x8(%rdi)
movq %rcx, 0x10(%rdi)
movl $0x0, 0x30(%rdi)
movb $0x0, 0x34(%rdi)
leaq 0x218(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x21bde(%rip), %rsi     # 0x2985e
leaq 0x21be4(%rip), %rdx     # 0x2986b
leaq 0x208(%rsp), %rdi
callq 0xa874
vxorps %xmm0, %xmm0, %xmm0
vmovups %ymm0, (%rsp)
movl $0x20, %edi
vzeroupper
callq 0x42e0
leaq 0xb0b(%rip), %r14       # 0x87bc
movq %r14, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, 0x18(%rax)
movq %rax, (%rsp)
leaq 0x11b1(%rip), %r12      # 0x8e80
movq %r12, 0x18(%rsp)
leaq 0x11c1(%rip), %r13      # 0x8e9c
movq %r13, 0x10(%rsp)
leaq 0x1f8(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x21b79(%rip), %rsi     # 0x2986c
leaq 0x21b83(%rip), %rdx     # 0x2987d
leaq 0x1e8(%rsp), %rdi
callq 0xa874
leaq 0x208(%rsp), %rsi
movq %rsp, %rdx
leaq 0x1e8(%rsp), %rcx
movq %rbx, %rdi
callq 0x8628
movq 0x1e8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7d34
callq 0x42b0
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x7d4b
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x208(%rsp), %rdi
cmpq %r15, %rdi
je 0x7d5d
callq 0x42b0
leaq 0x1d8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x215d8(%rip), %rsi     # 0x29348
leaq 0x215d5(%rip), %rdx     # 0x2934c
leaq 0x1c8(%rsp), %rdi
callq 0xa874
vxorps %xmm0, %xmm0, %xmm0
vmovups %ymm0, (%rsp)
movl $0x20, %edi
vzeroupper
callq 0x42e0
movq %r14, (%rax)
movq $0x0, 0x8(%rax)
movb $0x1, 0x10(%rax)
movq %rbx, 0x18(%rax)
movq %rax, (%rsp)
movq %r12, 0x18(%rsp)
movq %r13, 0x10(%rsp)
leaq 0x1b8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x21aaf(%rip), %rsi     # 0x2987e
leaq 0x21acc(%rip), %rdx     # 0x298a2
leaq 0x1a8(%rsp), %rdi
callq 0xa874
leaq 0x1c8(%rsp), %rsi
movq %rsp, %rdx
leaq 0x1a8(%rsp), %rcx
movq %rbx, %rdi
callq 0x8628
movq 0x1a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x7e10
callq 0x42b0
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x7e27
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x1c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7e39
callq 0x42b0
leaq 0x198(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x21a76(%rip), %rsi     # 0x298c3
leaq 0x21a73(%rip), %rdx     # 0x298c7
leaq 0x188(%rsp), %rdi
callq 0xa874
vxorps %xmm0, %xmm0, %xmm0
vmovups %ymm0, (%rsp)
movl $0x18, %edi
vzeroupper
callq 0x42e0
leaq 0xb0e(%rip), %r13       # 0x898c
movq %r13, (%rax)
movq $0x0, 0x8(%rax)
movq %rbx, 0x10(%rax)
movq %rax, (%rsp)
leaq 0x1146(%rip), %r14      # 0x8fde
movq %r14, 0x18(%rsp)
leaq 0x1152(%rip), %r15      # 0x8ff6
movq %r15, 0x10(%rsp)
leaq 0x178(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x219e7(%rip), %rsi     # 0x298a3
leaq 0x219f0(%rip), %rdx     # 0x298b3
leaq 0x168(%rsp), %rdi
callq 0xa874
leaq 0x188(%rsp), %rsi
movq %rsp, %rdx
leaq 0x168(%rsp), %rcx
movq %rbx, %rdi
callq 0x8628
movq 0x168(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7efd
callq 0x42b0
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x7f14
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x188(%rsp), %rdi
cmpq %r12, %rdi
je 0x7f26
callq 0x42b0
leaq 0x158(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x2197a(%rip), %rsi     # 0x298b4
leaq 0x21977(%rip), %rdx     # 0x298b8
leaq 0x148(%rsp), %rdi
callq 0xa874
vxorps %xmm0, %xmm0, %xmm0
vmovups %ymm0, (%rsp)
movl $0x18, %edi
vzeroupper
callq 0x42e0
movq %r13, (%rax)
movq $0x0, 0x8(%rax)
movq %rbx, 0x10(%rax)
movq %rax, (%rsp)
movq %r14, 0x18(%rsp)
movq %r15, 0x10(%rsp)
leaq 0x138(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x21925(%rip), %rsi     # 0x298b9
leaq 0x2192c(%rip), %rdx     # 0x298c7
leaq 0x128(%rsp), %rdi
callq 0xa874
leaq 0x148(%rsp), %rsi
movq %rsp, %rdx
leaq 0x128(%rsp), %rcx
movq %rbx, %rdi
callq 0x8628
movq 0x128(%rsp), %rdi
cmpq %r13, %rdi
je 0x7fd5
callq 0x42b0
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x7fec
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x148(%rsp), %rdi
cmpq %r12, %rdi
je 0x7ffe
callq 0x42b0
leaq 0x118(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x218b6(%rip), %rsi     # 0x298c8
leaq 0x218bf(%rip), %rdx     # 0x298d8
leaq 0x108(%rsp), %rdi
callq 0xa874
vxorps %xmm0, %xmm0, %xmm0
vmovups %ymm0, (%rsp)
movl $0x18, %edi
vzeroupper
callq 0x42e0
leaq 0x9bb(%rip), %rcx       # 0x89fe
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq %rbx, 0x10(%rax)
movq %rax, (%rsp)
movq %r14, 0x18(%rsp)
movq %r15, 0x10(%rsp)
leaq 0xf8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x21866(%rip), %rsi     # 0x298d9
leaq 0x2187c(%rip), %rdx     # 0x298f6
leaq 0xe8(%rsp), %rdi
callq 0xa874
leaq 0x108(%rsp), %rsi
movq %rsp, %rdx
leaq 0xe8(%rsp), %rcx
movq %rbx, %rdi
callq 0x8628
movq 0xe8(%rsp), %rdi
cmpq %r13, %rdi
je 0x80b4
callq 0x42b0
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x80cb
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x108(%rsp), %rdi
cmpq %r12, %rdi
je 0x80dd
callq 0x42b0
leaq 0xd8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x21868(%rip), %rsi     # 0x29959
leaq 0x21868(%rip), %rdx     # 0x29960
leaq 0xc8(%rsp), %rdi
callq 0xa874
vxorps %xmm0, %xmm0, %xmm0
vmovups %ymm0, (%rsp)
movl $0x18, %edi
vzeroupper
callq 0x42e0
leaq 0x94e(%rip), %rcx       # 0x8a70
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq %rbx, 0x10(%rax)
movq %rax, (%rsp)
movq %r14, 0x18(%rsp)
movq %r15, 0x10(%rsp)
leaq 0xb8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x217a5(%rip), %rsi     # 0x298f7
leaq 0x217e2(%rip), %rdx     # 0x2993b
leaq 0xa8(%rsp), %rdi
callq 0xa874
leaq 0xc8(%rsp), %rsi
movq %rsp, %rdx
leaq 0xa8(%rsp), %rcx
movq %rbx, %rdi
callq 0x8628
movq 0xa8(%rsp), %rdi
cmpq %r13, %rdi
je 0x8193
callq 0x42b0
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x81aa
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0xc8(%rsp), %rdi
cmpq %r12, %rdi
je 0x81bc
callq 0x42b0
leaq 0x98(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x2176c(%rip), %rsi     # 0x2993c
leaq 0x2176c(%rip), %rdx     # 0x29943
leaq 0x88(%rsp), %rdi
callq 0xa874
vxorps %xmm0, %xmm0, %xmm0
vmovups %ymm0, (%rsp)
movl $0x18, %edi
vzeroupper
callq 0x42e0
leaq 0x9b1(%rip), %rcx       # 0x8bb2
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq %rbx, 0x10(%rax)
movq %rax, (%rsp)
movq %r14, 0x18(%rsp)
movq %r15, 0x10(%rsp)
leaq 0x78(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x21716(%rip), %rsi     # 0x29944
leaq 0x2172b(%rip), %rdx     # 0x29960
leaq 0x68(%rsp), %rdi
callq 0xa874
leaq 0x88(%rsp), %rsi
movq %rsp, %rdx
leaq 0x68(%rsp), %rcx
movq %rbx, %rdi
callq 0x8628
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x8266
callq 0x42b0
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x827d
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x88(%rsp), %rdi
cmpq %r12, %rdi
je 0x828f
callq 0x42b0
leaq 0x58(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x216c1(%rip), %rsi     # 0x29961
leaq 0x216c0(%rip), %rdx     # 0x29967
leaq 0x48(%rsp), %rdi
callq 0xa874
vxorps %xmm0, %xmm0, %xmm0
vmovups %ymm0, (%rsp)
movl $0x18, %edi
vzeroupper
callq 0x42e0
leaq 0x9f0(%rip), %rcx       # 0x8cbe
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movq %rbx, 0x10(%rax)
movq %rax, (%rsp)
movq %r14, 0x18(%rsp)
movq %r15, 0x10(%rsp)
leaq 0x38(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2166d(%rip), %rsi     # 0x29968
leaq 0x21672(%rip), %rdx     # 0x29974
leaq 0x28(%rsp), %rdi
callq 0xa874
leaq 0x48(%rsp), %rsi
movq %rsp, %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x8628
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x8330
callq 0x42b0
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x8347
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0x8356
callq 0x42b0
addq $0x228, %rsp            # imm = 0x228
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x85d2
jmp 0x85d2
jmp 0x85d2
jmp 0x85d2
jmp 0x85d2
jmp 0x85d2
jmp 0x85d2
jmp 0x85d2
movq %rax, %r14
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x83a7
callq 0x42b0
jmp 0x83a7
movq %rax, %r14
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x83c8
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x83c8
jmp 0x85d2
movq %rax, %r14
movq 0x48(%rsp), %rdi
jmp 0x8548
jmp 0x85f1
movq %rax, %r14
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x83ee
callq 0x42b0
jmp 0x83ee
movq %rax, %r14
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x840f
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x840f
jmp 0x85d2
movq %rax, %r14
movq 0x88(%rsp), %rdi
jmp 0x8548
jmp 0x85f1
movq %rax, %r14
movq 0xa8(%rsp), %rdi
cmpq %r13, %rdi
je 0x843b
callq 0x42b0
jmp 0x843b
movq %rax, %r14
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x845c
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x845c
jmp 0x85d2
movq %rax, %r14
movq 0xc8(%rsp), %rdi
jmp 0x8548
jmp 0x85f1
movq %rax, %r14
movq 0xe8(%rsp), %rdi
cmpq %r13, %rdi
je 0x8488
callq 0x42b0
jmp 0x8488
movq %rax, %r14
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x84a9
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x84a9
jmp 0x85d2
movq %rax, %r14
movq 0x108(%rsp), %rdi
jmp 0x8548
jmp 0x85f1
movq %rax, %r14
movq 0x128(%rsp), %rdi
cmpq %r13, %rdi
je 0x84d5
callq 0x42b0
jmp 0x84d5
movq %rax, %r14
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x84f6
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x84f6
jmp 0x85d2
movq %rax, %r14
movq 0x148(%rsp), %rdi
jmp 0x8548
jmp 0x85f1
movq %rax, %r14
movq 0x168(%rsp), %rdi
cmpq %rbp, %rdi
je 0x851f
callq 0x42b0
jmp 0x851f
movq %rax, %r14
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x8540
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x8540
jmp 0x85d2
movq %rax, %r14
movq 0x188(%rsp), %rdi
cmpq %r12, %rdi
jne 0x85ea
jmp 0x85f4
jmp 0x85f1
movq %rax, %r14
movq 0x1a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x8575
callq 0x42b0
jmp 0x8575
movq %rax, %r14
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x8593
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x8593
jmp 0x85d2
movq %rax, %r14
movq 0x1c8(%rsp), %rdi
jmp 0x85e5
jmp 0x85f1
movq %rax, %r14
movq 0x1e8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x85b9
callq 0x42b0
jmp 0x85b9
movq %rax, %r14
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x85dd
movq %rsp, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x85dd
movq %rax, %rdi
callq 0x8d6e
movq %rax, %r14
movq 0x208(%rsp), %rdi
cmpq %r15, %rdi
je 0x85f4
callq 0x42b0
jmp 0x85f4
movq %rax, %r14
addq $0x18, %rbx
movq %rbx, %rdi
callq 0x8d46
movq %r14, %rdi
callq 0x45b0