// File: tewalds[P]morat/pentago/agentab.cpp
// Function: Morat::Pentago::AgentAB::move_stats[abi:cxx11](std::vector<Morat::Pentago::Move, std::allocator<Morat::Pentago::Move>>) const
std::string AgentAB::move_stats(vecmove moves) const {
	std::string s = "";

	Board b = rootboard;
	for(vecmove::iterator m = moves.begin(); m != moves.end(); ++m)
		b.move(*m);

	for(MoveIterator move(b); !move.done(); ++move){
		s += "move: " + move->to_s() + ", ";
		if(const Node * n = tt_get(move.board())) {
			s += n->to_s() + "\n";
		} else {
			s += "unknown\n";
		}
	}
	return s;
}

// Assembly:
subq $0x1b8, %rsp            # imm = 0x1B8
movq %rdx, 0x28(%rsp)
movq %rdi, 0x40(%rsp)
movq %rdi, %rax
movq %rax, 0x30(%rsp)
movq %rdi, 0x1b0(%rsp)
movq %rsi, 0x1a8(%rsp)
movq %rdx, 0x1a0(%rsp)
movq 0x1a8(%rsp), %rax
movq %rax, 0x38(%rsp)
movb $0x0, 0x19f(%rsp)
leaq 0x19e(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x57b0
movq 0x40(%rsp), %rdi
movq 0x48(%rsp), %rdx
leaq 0x2ffdc(%rip), %rsi     # 0x43825
callq 0x55d0
jmp 0x13850
leaq 0x19e(%rsp), %rdi
callq 0x5480
movq 0x38(%rsp), %rsi
addq $0x10, %rsi
leaq 0x160(%rsp), %rdi
movl $0x28, %edx
callq 0x5380
movq 0x28(%rsp), %rdi
callq 0x14690
movq %rax, 0x158(%rsp)
movq 0x28(%rsp), %rdi
callq 0x14700
movq %rax, 0x150(%rsp)
leaq 0x158(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x146c0
testb $0x1, %al
jne 0x138b7
jmp 0x13936
leaq 0x158(%rsp), %rdi
callq 0x15660
movw (%rax), %ax
movw %ax, 0x14e(%rsp)
movzwl 0x14e(%rsp), %esi
leaq 0x160(%rsp), %rdi
callq 0x14c70
jmp 0x138e6
jmp 0x138e8
leaq 0x158(%rsp), %rdi
callq 0x14aa0
jmp 0x1388a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x190(%rsp)
movl %eax, 0x18c(%rsp)
leaq 0x19e(%rsp), %rdi
callq 0x5480
jmp 0x13bed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x190(%rsp)
movl %eax, 0x18c(%rsp)
jmp 0x13be3
leaq 0xf8(%rsp), %rdi
leaq 0x160(%rsp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x15670
jmp 0x13952
jmp 0x13954
leaq 0xf8(%rsp), %rdi
callq 0x157e0
movb %al, 0x27(%rsp)
jmp 0x13967
movb 0x27(%rsp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1399c
leaq 0xf8(%rsp), %rdi
callq 0x15940
jmp 0x13bba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x190(%rsp)
movl %eax, 0x18c(%rsp)
jmp 0x13bab
leaq 0xf8(%rsp), %rdi
callq 0x15800
movq %rax, 0x18(%rsp)
jmp 0x139b0
movq 0x18(%rsp), %rsi
leaq 0x98(%rsp), %rdi
callq 0x14740
jmp 0x139c4
leaq 0x30872(%rip), %rsi     # 0x4423d
leaq 0xb8(%rsp), %rdi
leaq 0x98(%rsp), %rdx
callq 0x14410
jmp 0x139e2
leaq 0x3075b(%rip), %rdx     # 0x44144
leaq 0xd8(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
callq 0xaa40
jmp 0x13a00
movq 0x40(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
callq 0x5560
jmp 0x13a14
leaq 0xd8(%rsp), %rdi
callq 0x5290
leaq 0xb8(%rsp), %rdi
callq 0x5290
leaq 0x98(%rsp), %rdi
callq 0x5290
leaq 0xf8(%rsp), %rdi
callq 0x15810
movq %rax, 0x10(%rsp)
jmp 0x13a4f
movq 0x10(%rsp), %rsi
movq 0x38(%rsp), %rdi
callq 0x13760
movq %rax, 0x8(%rsp)
jmp 0x13a65
movq 0x8(%rsp), %rax
movq %rax, 0x90(%rsp)
cmpq $0x0, 0x90(%rsp)
je 0x13b80
movq 0x90(%rsp), %rsi
leaq 0x50(%rsp), %rdi
callq 0x14ff0
jmp 0x13a95
leaq 0x2fd88(%rip), %rdx     # 0x43824
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0xaa40
jmp 0x13aad
movq 0x40(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x5560
jmp 0x13abe
leaq 0x70(%rsp), %rdi
callq 0x5290
leaq 0x50(%rsp), %rdi
callq 0x5290
jmp 0x13b95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x190(%rsp)
movl %eax, 0x18c(%rsp)
jmp 0x13b31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x190(%rsp)
movl %eax, 0x18c(%rsp)
jmp 0x13b24
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x190(%rsp)
movl %eax, 0x18c(%rsp)
leaq 0xd8(%rsp), %rdi
callq 0x5290
leaq 0xb8(%rsp), %rdi
callq 0x5290
leaq 0x98(%rsp), %rdi
callq 0x5290
jmp 0x13bab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x190(%rsp)
movl %eax, 0x18c(%rsp)
jmp 0x13b74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x190(%rsp)
movl %eax, 0x18c(%rsp)
leaq 0x70(%rsp), %rdi
callq 0x5290
leaq 0x50(%rsp), %rdi
callq 0x5290
jmp 0x13bab
movq 0x40(%rsp), %rdi
leaq 0x306b8(%rip), %rsi     # 0x44244
callq 0x53f0
jmp 0x13b93
jmp 0x13b95
jmp 0x13b97
leaq 0xf8(%rsp), %rdi
callq 0x15820
jmp 0x13ba6
jmp 0x13954
leaq 0xf8(%rsp), %rdi
callq 0x15940
jmp 0x13be3
movb $0x1, 0x19f(%rsp)
testb $0x1, 0x19f(%rsp)
jne 0x13bd6
movq 0x40(%rsp), %rdi
callq 0x5290
movq 0x30(%rsp), %rax
addq $0x1b8, %rsp            # imm = 0x1B8
retq
movq 0x40(%rsp), %rdi
callq 0x5290
movq 0x190(%rsp), %rdi
callq 0x57a0
nopw (%rax,%rax)