// File: tewalds[P]pentagod/./move.h
// Function: Move::to_s[abi:cxx11](bool) const
std::string to_s(bool orient = false) const {
		if(l == M_UNKNOWN) return "unknown";
		if(l == M_NONE)    return "none";
		if(l == M_SWAP)    return "swap";
		if(l == M_RESIGN)  return "resign";

		std::string s = std::string() + char(y() + 'a') + to_str(x() + 1) + char(r + 's');
		if(orient)
			s += ":" + to_str(o);
		return s;
	}

// Assembly:
subq $0x128, %rsp            # imm = 0x128
movq %rdi, 0x28(%rsp)
movb %dl, %al
movq %rdi, %rcx
movq %rcx, 0x30(%rsp)
movq %rdi, 0x120(%rsp)
movq %rsi, 0x118(%rsp)
andb $0x1, %al
movb %al, 0x117(%rsp)
movq 0x118(%rsp), %rax
movq %rax, 0x38(%rsp)
movw (%rax), %ax
shlw $0x8, %ax
sarw $0x8, %ax
cwtl
cmpl $-0x4, %eax
jne 0xdf6f
leaq 0x116(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x4670
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rdx
leaq 0x2fb3a(%rip), %rsi     # 0x3da6a
callq 0x44d0
jmp 0xdf37
leaq 0x116(%rsp), %rdi
callq 0x43f0
jmp 0xe32f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x108(%rsp)
movl %eax, 0x104(%rsp)
leaq 0x116(%rsp), %rdi
callq 0x43f0
jmp 0xe33c
movq 0x38(%rsp), %rax
movw (%rax), %ax
shlw $0x8, %ax
sarw $0x8, %ax
cwtl
cmpl $-0x3, %eax
jne 0xdfe7
leaq 0x103(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x4670
movq 0x28(%rsp), %rdi
movq 0x18(%rsp), %rdx
leaq 0x2faca(%rip), %rsi     # 0x3da72
callq 0x44d0
jmp 0xdfaf
leaq 0x103(%rsp), %rdi
callq 0x43f0
jmp 0xe32f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x108(%rsp)
movl %eax, 0x104(%rsp)
leaq 0x103(%rsp), %rdi
callq 0x43f0
jmp 0xe33c
movq 0x38(%rsp), %rax
movw (%rax), %ax
shlw $0x8, %ax
sarw $0x8, %ax
cwtl
cmpl $-0x1, %eax
jne 0xe05f
leaq 0x102(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x4670
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rdx
leaq 0x2fa57(%rip), %rsi     # 0x3da77
callq 0x44d0
jmp 0xe027
leaq 0x102(%rsp), %rdi
callq 0x43f0
jmp 0xe32f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x108(%rsp)
movl %eax, 0x104(%rsp)
leaq 0x102(%rsp), %rdi
callq 0x43f0
jmp 0xe33c
movq 0x38(%rsp), %rax
movw (%rax), %ax
shlw $0x8, %ax
sarw $0x8, %ax
cwtl
cmpl $-0x2, %eax
jne 0xe0d7
leaq 0x101(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x4670
movq 0x28(%rsp), %rdi
movq 0x8(%rsp), %rdx
leaq 0x2f9e4(%rip), %rsi     # 0x3da7c
callq 0x44d0
jmp 0xe09f
leaq 0x101(%rsp), %rdi
callq 0x43f0
jmp 0xe32f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x108(%rsp)
movl %eax, 0x104(%rsp)
leaq 0x101(%rsp), %rdi
callq 0x43f0
jmp 0xe33c
movb $0x0, 0x100(%rsp)
leaq 0xa0(%rsp), %rdi
callq 0x44e0
movq 0x38(%rsp), %rdi
callq 0xe350
movl %eax, 0x4(%rsp)
jmp 0xe0fc
movl 0x4(%rsp), %eax
addl $0x61, %eax
movsbl %al, %edx
leaq 0xc0(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
callq 0xe420
jmp 0xe11d
movq 0x38(%rsp), %rdi
callq 0xe370
movl %eax, (%rsp)
jmp 0xe12c
movl (%rsp), %esi
incl %esi
leaq 0x80(%rsp), %rdi
callq 0xe560
jmp 0xe140
leaq 0xe0(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0xe470
jmp 0xe15f
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rax
movzbl 0x1(%rax), %eax
andl $0xf, %eax
addl $0x73, %eax
movsbl %al, %edx
leaq 0xe0(%rsp), %rsi
callq 0xe420
jmp 0xe185
leaq 0xe0(%rsp), %rdi
callq 0x4210
leaq 0x80(%rsp), %rdi
callq 0x4210
leaq 0xc0(%rsp), %rdi
callq 0x4210
leaq 0xa0(%rsp), %rdi
callq 0x4210
testb $0x1, 0x117(%rsp)
je 0xe305
movq 0x38(%rsp), %rax
movzwl (%rax), %esi
shrl $0xc, %esi
leaq 0x40(%rsp), %rdi
callq 0xe560
jmp 0xe1de
leaq 0x2f89e(%rip), %rsi     # 0x3da83
leaq 0x60(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0xe5f0
jmp 0xe1f6
movq 0x28(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x4490
jmp 0xe207
leaq 0x60(%rsp), %rdi
callq 0x4210
leaq 0x40(%rsp), %rdi
callq 0x4210
jmp 0xe305
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x108(%rsp)
movl %eax, 0x104(%rsp)
jmp 0xe29d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x108(%rsp)
movl %eax, 0x104(%rsp)
jmp 0xe290
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x108(%rsp)
movl %eax, 0x104(%rsp)
jmp 0xe283
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x108(%rsp)
movl %eax, 0x104(%rsp)
leaq 0xe0(%rsp), %rdi
callq 0x4210
leaq 0x80(%rsp), %rdi
callq 0x4210
leaq 0xc0(%rsp), %rdi
callq 0x4210
leaq 0xa0(%rsp), %rdi
callq 0x4210
jmp 0xe33c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x108(%rsp)
movl %eax, 0x104(%rsp)
jmp 0xe323
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x108(%rsp)
movl %eax, 0x104(%rsp)
jmp 0xe2f9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x108(%rsp)
movl %eax, 0x104(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x4210
leaq 0x40(%rsp), %rdi
callq 0x4210
jmp 0xe323
movb $0x1, 0x100(%rsp)
testb $0x1, 0x100(%rsp)
jne 0xe321
movq 0x28(%rsp), %rdi
callq 0x4210
jmp 0xe32f
movq 0x28(%rsp), %rdi
callq 0x4210
jmp 0xe33c
movq 0x30(%rsp), %rax
addq $0x128, %rsp            # imm = 0x128
retq
movq 0x108(%rsp), %rdi
callq 0x4660
nopl (%rax)