// File: tewalds[P]morat/hex/gtpagent.cpp
// Function: Morat::Hex::GTP::gtp_pv(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_pv(vecstr args){
	vector<Move> moves;
	for(auto s : args)
		moves.push_back(Move(s));
	string pvstr = "";
	vector<Move> pv = agent->get_pv(moves);
	for(unsigned int i = 0; i < pv.size(); i++)
		pvstr += pv[i].to_s() + " ";
	return GTPResponse(true, pvstr);
}

// Assembly:
subq $0x158, %rsp            # imm = 0x158
movq %rdx, 0x30(%rsp)
movq %rdi, 0x18(%rsp)
movq %rdi, %rax
movq %rax, 0x20(%rsp)
movq %rdi, 0x150(%rsp)
movq %rsi, 0x148(%rsp)
movq %rdx, 0x140(%rsp)
movq 0x148(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x128(%rsp), %rdi
callq 0x118a0
movq 0x30(%rsp), %rdx
movq %rdx, 0x120(%rsp)
movq 0x120(%rsp), %rdi
callq 0x13d30
movq %rax, 0x118(%rsp)
movq 0x120(%rsp), %rdi
callq 0x141f0
movq %rax, 0x110(%rsp)
leaq 0x118(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x141b0
testb $0x1, %al
jne 0x38c50
jmp 0x38cfb
leaq 0x118(%rsp), %rdi
callq 0x3ea60
movq %rax, %rsi
leaq 0xf0(%rsp), %rdi
callq 0x51b0
jmp 0x38c6f
leaq 0xe2(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0x1a5e0
jmp 0x38c86
leaq 0x128(%rsp), %rdi
leaq 0xe2(%rsp), %rsi
callq 0x1c6c0
jmp 0x38c9d
leaq 0xf0(%rsp), %rdi
callq 0x5260
leaq 0x118(%rsp), %rdi
callq 0x3ea70
jmp 0x38c32
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
jmp 0x38f47
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
leaq 0xf0(%rsp), %rdi
callq 0x5260
jmp 0x38f47
leaq 0xbf(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x5770
movq 0x10(%rsp), %rdx
leaq 0x13bd0(%rip), %rsi     # 0x4c8e9
leaq 0xc0(%rsp), %rdi
callq 0x5590
jmp 0x38d28
leaq 0xbf(%rsp), %rdi
callq 0x5450
movq 0x28(%rsp), %rax
movq 0xd8(%rax), %rsi
movq (%rsi), %rax
movq 0x40(%rax), %rax
leaq 0xa0(%rsp), %rdi
leaq 0x128(%rsp), %rdx
callq *%rax
jmp 0x38d5c
movl $0x0, 0x9c(%rsp)
movl 0x9c(%rsp), %eax
movq %rax, 0x8(%rsp)
leaq 0xa0(%rsp), %rdi
callq 0x1c5d0
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jae 0x38ea7
movl 0x9c(%rsp), %eax
movl %eax, %esi
leaq 0xa0(%rsp), %rdi
callq 0x3edc0
movq %rax, %rsi
leaq 0x58(%rsp), %rdi
callq 0x19f80
jmp 0x38db6
leaq 0x17b1a(%rip), %rdx     # 0x508d7
leaq 0x78(%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0xb910
jmp 0x38dce
leaq 0xc0(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x5520
jmp 0x38de2
leaq 0x78(%rsp), %rdi
callq 0x5260
leaq 0x58(%rsp), %rdi
callq 0x5260
movl 0x9c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x9c(%rsp)
jmp 0x38d67
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
leaq 0xbf(%rsp), %rdi
callq 0x5450
jmp 0x38f47
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
jmp 0x38f3a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
jmp 0x38f2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
jmp 0x38e98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
leaq 0x78(%rsp), %rdi
callq 0x5260
leaq 0x58(%rsp), %rdi
callq 0x5260
jmp 0x38f2d
leaq 0x38(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x51b0
jmp 0x38ebb
movq 0x18(%rsp), %rdi
movl $0x1, %esi
leaq 0x38(%rsp), %rdx
callq 0xd9a0
jmp 0x38ed1
leaq 0x38(%rsp), %rdi
callq 0x5260
leaq 0xa0(%rsp), %rdi
callq 0x11920
leaq 0xc0(%rsp), %rdi
callq 0x5260
leaq 0x128(%rsp), %rdi
callq 0x11920
movq 0x20(%rsp), %rax
addq $0x158, %rsp            # imm = 0x158
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x5260
leaq 0xa0(%rsp), %rdi
callq 0x11920
leaq 0xc0(%rsp), %rdi
callq 0x5260
leaq 0x128(%rsp), %rdi
callq 0x11920
movq 0xe8(%rsp), %rdi
callq 0x5760
nopw %cs:(%rax,%rax)