// File: tewalds[P]pentagod/gtpagent.cpp
// Function: PentagoGTP::gtp_params(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 PentagoGTP::gtp_params(vecstr args){
	if(dynamic_cast<AgentAB   *>(agent)) return gtp_ab_params(args);
	if(dynamic_cast<AgentMCTS *>(agent)) return gtp_mcts_params(args);
	if(dynamic_cast<AgentPNS  *>(agent)) return gtp_pns_params(args);

	return GTPResponse(false, "Unknown Agent type");
}

// Assembly:
subq $0x108, %rsp            # imm = 0x108
movq %rdx, 0x48(%rsp)
movq %rdi, 0x50(%rsp)
movq %rdi, %rax
movq %rax, 0x58(%rsp)
movq %rdi, 0x100(%rsp)
movq %rsi, 0xf8(%rsp)
movq %rdx, 0xf0(%rsp)
movq 0xf8(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x90(%rax), %rax
movq %rax, 0x68(%rsp)
cmpq $0x0, %rax
je 0x1a5f3
movq 0x68(%rsp), %rdi
leaq 0x35484(%rip), %rsi     # 0x4fa60
leaq 0x3576d(%rip), %rdx     # 0x4fd50
xorl %eax, %eax
movl %eax, %ecx
callq 0x4410
movq %rax, 0x40(%rsp)
jmp 0x1a5fc
xorl %eax, %eax
movq %rax, 0x40(%rsp)
jmp 0x1a5fc
movq 0x40(%rsp), %rax
cmpq $0x0, %rax
je 0x1a66c
movq 0x48(%rsp), %rsi
leaq 0xd8(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xffb0
movq 0x50(%rsp), %rdi
movq 0x60(%rsp), %rsi
movq 0x38(%rsp), %rdx
callq 0x1a880
jmp 0x1a634
leaq 0xd8(%rsp), %rdi
callq 0xbe20
jmp 0x1a860
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd0(%rsp)
movl %eax, 0xcc(%rsp)
leaq 0xd8(%rsp), %rdi
callq 0xbe20
jmp 0x1a86d
movq 0x60(%rsp), %rax
movq 0x90(%rax), %rax
movq %rax, 0x30(%rsp)
cmpq $0x0, %rax
je 0x1a6a6
movq 0x30(%rsp), %rdi
leaq 0x353d1(%rip), %rsi     # 0x4fa60
leaq 0x3544a(%rip), %rdx     # 0x4fae0
xorl %eax, %eax
movl %eax, %ecx
callq 0x4410
movq %rax, 0x28(%rsp)
jmp 0x1a6af
xorl %eax, %eax
movq %rax, 0x28(%rsp)
jmp 0x1a6af
movq 0x28(%rsp), %rax
cmpq $0x0, %rax
je 0x1a71f
movq 0x48(%rsp), %rsi
leaq 0xb0(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xffb0
movq 0x50(%rsp), %rdi
movq 0x60(%rsp), %rsi
movq 0x20(%rsp), %rdx
callq 0x1b050
jmp 0x1a6e7
leaq 0xb0(%rsp), %rdi
callq 0xbe20
jmp 0x1a860
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd0(%rsp)
movl %eax, 0xcc(%rsp)
leaq 0xb0(%rsp), %rdi
callq 0xbe20
jmp 0x1a86d
movq 0x60(%rsp), %rax
movq 0x90(%rax), %rax
movq %rax, 0x18(%rsp)
cmpq $0x0, %rax
je 0x1a759
movq 0x18(%rsp), %rdi
leaq 0x3531e(%rip), %rsi     # 0x4fa60
leaq 0x354cf(%rip), %rdx     # 0x4fc18
xorl %eax, %eax
movl %eax, %ecx
callq 0x4410
movq %rax, 0x10(%rsp)
jmp 0x1a762
xorl %eax, %eax
movq %rax, 0x10(%rsp)
jmp 0x1a762
movq 0x10(%rsp), %rax
cmpq $0x0, %rax
je 0x1a7d2
movq 0x48(%rsp), %rsi
leaq 0x98(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xffb0
movq 0x50(%rsp), %rdi
movq 0x60(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x1d480
jmp 0x1a79a
leaq 0x98(%rsp), %rdi
callq 0xbe20
jmp 0x1a860
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd0(%rsp)
movl %eax, 0xcc(%rsp)
leaq 0x98(%rsp), %rdi
callq 0xbe20
jmp 0x1a86d
leaq 0x77(%rsp), %rdi
movq %rdi, (%rsp)
callq 0x4670
movq (%rsp), %rdx
leaq 0x23e50(%rip), %rsi     # 0x3e63b
leaq 0x78(%rsp), %rdi
callq 0x44d0
jmp 0x1a7f7
movq 0x50(%rsp), %rdi
xorl %esi, %esi
leaq 0x78(%rsp), %rdx
callq 0xb680
jmp 0x1a80a
leaq 0x78(%rsp), %rdi
callq 0x4210
leaq 0x77(%rsp), %rdi
callq 0x43f0
jmp 0x1a860
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd0(%rsp)
movl %eax, 0xcc(%rsp)
jmp 0x1a854
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd0(%rsp)
movl %eax, 0xcc(%rsp)
leaq 0x78(%rsp), %rdi
callq 0x4210
leaq 0x77(%rsp), %rdi
callq 0x43f0
jmp 0x1a86d
movq 0x58(%rsp), %rax
addq $0x108, %rsp            # imm = 0x108
retq
movq 0xd0(%rsp), %rdi
callq 0x4660
nopw (%rax,%rax)