// File: /workspace/github_cpp_makefile_star2_O2/tewalds[P]morat/pentago/agentmcts.cpp
// Function: Morat::Pentago::AgentMCTS::Node::from_s(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
bool AgentMCTS::Node::from_s(std::string s) {
	auto dict = parse_dict(s, ", ", " ");

	if(dict.size() == 8){
		move = Move(dict["move"]);
		exp = ExpPair(dict["exp"]);
		know = from_str<int>(dict["know"]);
		outcome = Outcome(from_str<int>(dict["outcome"]));
		proofdepth = from_str<int>(dict["depth"]);
		bestmove = Move(dict["best"]);
		// ignore children
		return true;
	}
	return false;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0xa0, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x13e53(%rip), %rsi     # 0x20154
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x5130
leaq 0x17b92(%rip), %rsi     # 0x23ea9
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x5130
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %r14, %rsi
callq 0x1e285
leaq 0x28(%rsp), %rdi
callq 0x5170
leaq 0x8(%rsp), %rdi
callq 0x5170
movq 0x60(%rsp), %r15
cmpq $0x8, %r15
jne 0xc503
leaq 0x1780a(%rip), %rsi     # 0x23b71
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x5130
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1012e
leaq 0x28(%rsp), %rdi
movq %rax, %rsi
callq 0xe314
movzwl 0x28(%rsp), %eax
leaq 0x8(%rsp), %rdi
movw %ax, 0x14(%rbx)
callq 0x5170
leaq 0x1425d(%rip), %rsi     # 0x20609
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x5130
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1012e
leaq 0x80(%rsp), %rdi
movq %rax, %rsi
callq 0x54d0
leaq 0x28(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0xe3e0
leaq 0x28(%rsp), %r14
leaq 0x80(%rsp), %rdi
vmovups (%r14), %xmm0
vmovups %xmm0, (%rbx)
callq 0x5170
leaq 0x8(%rsp), %rdi
callq 0x5170
leaq 0x141f5(%rip), %rsi     # 0x2060d
leaq 0x8(%rsp), %rdi
movq %r14, %rdx
callq 0x5130
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1012e
movq %rax, %rdi
callq 0xe4bf
leaq 0x8(%rsp), %rdi
movw %ax, 0x10(%rbx)
callq 0x5170
leaq 0x141c1(%rip), %rsi     # 0x20612
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x5130
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1012e
movq %rax, %rdi
callq 0xe4bf
leaq 0x8(%rsp), %rdi
movb %al, 0x12(%rbx)
callq 0x5170
leaq 0x1418f(%rip), %rsi     # 0x2061a
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x5130
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1012e
movq %rax, %rdi
callq 0xe4bf
leaq 0x8(%rsp), %rdi
movb %al, 0x13(%rbx)
callq 0x5170
leaq 0x1415b(%rip), %rsi     # 0x20620
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x5130
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1012e
leaq 0x28(%rsp), %rdi
movq %rax, %rsi
callq 0xe314
movzwl 0x28(%rsp), %eax
leaq 0x8(%rsp), %rdi
movw %ax, 0x16(%rbx)
callq 0x5170
cmpq $0x8, %r15
leaq 0x48(%rsp), %rdi
sete %bl
callq 0xfa48
movl %ebx, %eax
addq $0xa0, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xc53f
jmp 0xc53f
jmp 0xc53f
jmp 0xc53f
leaq 0x80(%rsp), %rdi
movq %rax, %rbx
callq 0x5170
jmp 0xc551
jmp 0xc53f
movq %rax, %rbx
jmp 0xc55b
jmp 0xc54e
jmp 0xc54e
jmp 0xc54e
jmp 0xc54e
jmp 0xc54e
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x5170
leaq 0x48(%rsp), %rdi
callq 0xfa48
movq %rbx, %rdi
callq 0x5690
leaq 0x28(%rsp), %rdi
movq %rax, %rbx
callq 0x5170
jmp 0xc57f
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x5170
jmp 0xc565
movq %rax, %rbx
jmp 0xc565