// File: /workspace/github_cpp_makefile_star2_O1/tewalds[P]morat/hex/agentmcts.cpp
// Function: Morat::Hex::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() == 9){
		move = Move(dict["move"]);
		exp = ExpPair(dict["exp"]);
		rave = ExpPair(dict["rave"]);
		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 %r12
pushq %rbx
subq $0xb8, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x265ea(%rip), %rsi     # 0x332b2
leaq 0x265e5(%rip), %rdx     # 0x332b4
movq %rsp, %rdi
callq 0xb0e0
leaq 0x30(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x2915b(%rip), %rsi     # 0x35e43
leaq 0x29155(%rip), %rdx     # 0x35e44
leaq 0x20(%rsp), %rdi
callq 0xb0e0
leaq 0x40(%rsp), %rdi
movq %rsp, %rdx
leaq 0x20(%rsp), %rcx
movq %r14, %rsi
callq 0x2fc2f
movq 0x20(%rsp), %rdi
cmpq %r12, %rdi
je 0xcd1d
callq 0x52e0
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0xcd2b
callq 0x52e0
movq 0x58(%rsp), %r14
cmpq $0x9, %r14
jne 0xcf90
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x28db7(%rip), %rsi     # 0x35afe
leaq 0x28db4(%rip), %rdx     # 0x35b02
callq 0xb0e0
leaq 0x40(%rsp), %rdi
movq %rsp, %rsi
callq 0x13e58
leaq 0x20(%rsp), %rdi
movq %rax, %rsi
callq 0x11286
movzwl 0x20(%rsp), %eax
movw %ax, 0x24(%rbx)
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0xcd84
callq 0x52e0
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x25741(%rip), %rsi     # 0x324d2
leaq 0x2573d(%rip), %rdx     # 0x324d5
callq 0xb0e0
leaq 0x40(%rsp), %rdi
movq %rsp, %rsi
callq 0x13e58
leaq 0xa8(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq 0x98(%rsp), %rdi
callq 0xa866
leaq 0x20(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x11320
vmovups 0x20(%rsp), %xmm0
vmovups %xmm0, 0x10(%rbx)
movq 0x98(%rsp), %rdi
cmpq %r12, %rdi
je 0xcdfd
callq 0x52e0
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0xce0b
callq 0x52e0
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x287c1(%rip), %rsi     # 0x355d9
leaq 0x287be(%rip), %rdx     # 0x355dd
callq 0xb0e0
leaq 0x40(%rsp), %rdi
movq %rsp, %rsi
callq 0x13e58
leaq 0x88(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq 0x78(%rsp), %rdi
callq 0xa866
leaq 0x20(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x11320
vmovups 0x20(%rsp), %xmm0
vmovups %xmm0, (%rbx)
movq 0x78(%rsp), %rdi
cmpq %r12, %rdi
je 0xce7a
callq 0x52e0
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0xce88
callq 0x52e0
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x25641(%rip), %rsi     # 0x324d6
leaq 0x2563e(%rip), %rdx     # 0x324da
callq 0xb0e0
leaq 0x40(%rsp), %rdi
movq %rsp, %rsi
callq 0x13e58
movq %rax, %rdi
callq 0xaed9
movw %ax, 0x20(%rbx)
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0xcec8
callq 0x52e0
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x25606(%rip), %rsi     # 0x324db
leaq 0x25606(%rip), %rdx     # 0x324e2
callq 0xb0e0
leaq 0x40(%rsp), %rdi
movq %rsp, %rsi
callq 0x13e58
movq %rax, %rdi
callq 0xaed9
movb %al, 0x22(%rbx)
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0xcf07
callq 0x52e0
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x28a17(%rip), %rsi     # 0x3592b
leaq 0x28a15(%rip), %rdx     # 0x35930
callq 0xb0e0
leaq 0x40(%rsp), %rdi
movq %rsp, %rsi
callq 0x13e58
movq %rax, %rdi
callq 0xaed9
movb %al, 0x23(%rbx)
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0xcf46
callq 0x52e0
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x25590(%rip), %rsi     # 0x324e3
leaq 0x2558d(%rip), %rdx     # 0x324e7
callq 0xb0e0
leaq 0x40(%rsp), %rdi
movq %rsp, %rsi
callq 0x13e58
leaq 0x20(%rsp), %rdi
movq %rax, %rsi
callq 0x11286
movzwl 0x20(%rsp), %eax
movw %ax, 0x26(%rbx)
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0xcf90
callq 0x52e0
cmpq $0x9, %r14
sete %bl
leaq 0x40(%rsp), %rdi
callq 0x1344e
movl %ebx, %eax
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0xcfdf
jmp 0xcfdf
jmp 0xcfdf
jmp 0xcfdf
movq %rax, %rbx
movq 0x78(%rsp), %rdi
jmp 0xcfd1
jmp 0xcfdf
movq %rax, %rbx
movq 0x98(%rsp), %rdi
cmpq %r12, %rdi
je 0xcff3
callq 0x52e0
jmp 0xcff3
jmp 0xcfdf
movq %rax, %rbx
jmp 0xd001
jmp 0xcff0
jmp 0xcff0
jmp 0xcff0
jmp 0xcff0
jmp 0xcff0
jmp 0xcff0
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0xd001
callq 0x52e0
leaq 0x40(%rsp), %rdi
callq 0x1344e
movq %rbx, %rdi
callq 0x5670
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r12, %rdi
je 0xd02a
callq 0x52e0
jmp 0xd02a
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0xd00b
callq 0x52e0
jmp 0xd00b
movq %rax, %rbx
jmp 0xd00b
nop