// File: /workspace/github_cpp_makefile_star2_O2/tewalds[P]morat/havannah/lbdist.h
// Function: Morat::Havannah::LBDists::init_player(bool, Morat::Side)
void init_player(bool crossvcs, Side player) {
		int e = board->lines() - 1;
		int m = e / 2;

		init(0, 0, 0, player, 3); flood(0, player, crossvcs); //corner 0
		init(m, 0, 1, player, 4); flood(1, player, crossvcs); //corner 1
		init(e, m, 2, player, 5); flood(2, player, crossvcs); //corner 2
		init(e, e, 3, player, 0); flood(3, player, crossvcs); //corner 3
		init(m, e, 4, player, 1); flood(4, player, crossvcs); //corner 4
		init(0, m, 5, player, 2); flood(5, player, crossvcs); //corner 5

		for(int x = 1; x < m; x++)   { init(x,   0, 6,  player, 3+(x==1));   } flood(6,  player, crossvcs); //edge 0
		for(int y = 1; y < m; y++)   { init(m+y, y, 7,  player, 4+(y==1));   } flood(7,  player, crossvcs); //edge 1
		for(int y = m+1; y < e; y++) { init(e,   y, 8,  player, 5+(y==m+1)); } flood(8,  player, crossvcs); //edge 2
		for(int x = m+1; x < e; x++) { init(x,   e, 9,  player, 0+(x==e-1)); } flood(9,  player, crossvcs); //edge 3
		for(int x = 1; x < m; x++)   { init(x, m+x, 10, player, 1+(x==m-1)); } flood(10, player, crossvcs); //edge 4
		for(int y = 1; y < m; y++)   { init(0,   y, 11, player, 2+(y==m-1)); } flood(11, player, crossvcs); //edge 5
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq 0xcb28(%rdi), %rax
movl %edx, %r13d
movw $0x2, %cx
movl %esi, %r15d
movq %rdi, %rbx
movsbl (%rax), %eax
leal -0x1(%rax), %ebp
movq %rax, 0x20(%rsp)
movl %ebp, %eax
cwtd
idivw %cx
movswl %ax, %r14d
pushq $0x3
popq %r9
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movl %r13d, %r8d
callq 0x13c40
movq %rbx, %rdi
xorl %esi, %esi
movl %r13d, %edx
movl %r15d, %ecx
callq 0x13cf4
pushq $0x1
popq %r12
pushq $0x4
popq %r9
movq %rbx, %rdi
movl %r14d, %esi
xorl %edx, %edx
movl %r12d, %ecx
movl %r13d, %r8d
callq 0x13c40
movq %rbx, %rdi
movl %r12d, %esi
movl %r13d, %edx
movl %r15d, %ecx
callq 0x13cf4
pushq $0x2
popq %rcx
pushq $0x5
popq %r9
movq %rbx, %rdi
movl %ebp, %esi
movl %r14d, %edx
movl %r13d, %r8d
callq 0x13c40
movq %rbx, %rdi
pushq $0x2
popq %rsi
movl %r13d, %edx
movl %r15d, %ecx
callq 0x13cf4
movq %rbx, %rdi
movl %ebp, %esi
movl %ebp, %edx
pushq $0x3
popq %rcx
movl %r13d, %r8d
xorl %r9d, %r9d
callq 0x13c40
movq %rbx, %rdi
pushq $0x3
popq %rax
movq %rax, 0x18(%rsp)
pushq $0x3
popq %rsi
movl %r13d, %edx
movl %r15d, %ecx
callq 0x13cf4
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
pushq $0x4
popq %rcx
movl %r13d, %r8d
movl %r12d, %r9d
callq 0x13c40
movq %rbx, %rdi
pushq $0x4
popq %rsi
movl %r13d, %edx
movl %r15d, %ecx
callq 0x13cf4
movq %rbx, %rdi
xorl %esi, %esi
movl %r14d, %edx
pushq $0x5
popq %rcx
movl %r13d, %r8d
pushq $0x2
popq %r9
movq %r9, 0x10(%rsp)
callq 0x13c40
movq %rbx, %rdi
pushq $0x5
popq %rsi
movl %r13d, %edx
movl %r15d, %ecx
movl %r15d, 0xc(%rsp)
callq 0x13cf4
movzbl %r13b, %r13d
pushq $0x6
popq %r15
cmpl %r14d, %r12d
jge 0x13a99
xorl %r9d, %r9d
cmpl $0x1, %r12d
movq %rbx, %rdi
movl %r12d, %esi
movl %r15d, %ecx
movl %r13d, %r8d
sete %r9b
xorl %edx, %edx
addl $0x3, %r9d
callq 0x13c40
incl %r12d
jmp 0x13a6d
movzbl 0xc(%rsp), %ecx
pushq $0x6
popq %rsi
movq %rbx, %rdi
movl %r13d, %edx
movl %ecx, 0xc(%rsp)
callq 0x13cf4
pushq $0x1
popq %r15
pushq $0x7
popq %r12
cmpl %r14d, %r15d
jge 0x13ae6
xorl %r9d, %r9d
cmpl $0x1, %r15d
leal (%r14,%r15), %esi
movq %rbx, %rdi
movl %r15d, %edx
movl %r12d, %ecx
movl %r13d, %r8d
sete %r9b
orl $0x4, %r9d
callq 0x13c40
incl %r15d
jmp 0x13ab8
pushq $0x7
popq %rsi
movl 0xc(%rsp), %ecx
movq %rbx, %rdi
movl %r13d, %edx
callq 0x13cf4
leal 0x1(%r14), %r15d
xorl %r12d, %r12d
leal (%r15,%r12), %edx
cmpl %ebp, %edx
jge 0x13b2a
cmpl $0x1, %r12d
movl $0x0, %r9d
movq %rbx, %rdi
movl %ebp, %esi
adcl $0x5, %r9d
pushq $0x8
popq %rcx
movl %r13d, %r8d
callq 0x13c40
incl %r12d
jmp 0x13aff
pushq $0x8
popq %rsi
movl 0xc(%rsp), %ecx
movq %rbx, %rdi
movl %r13d, %edx
callq 0x13cf4
movq 0x18(%rsp), %rax
movl %r15d, %r12d
subl 0x20(%rsp), %eax
movq %rax, 0x18(%rsp)
cmpl %ebp, %r12d
jge 0x13b7c
movq 0x18(%rsp), %rax
xorl %r9d, %r9d
movq %rbx, %rdi
movl %r12d, %esi
movl %ebp, %edx
addl %r12d, %eax
cmpl $0x1, %eax
sete %r9b
pushq $0x9
popq %rcx
movl %r13d, %r8d
callq 0x13c40
incl %r12d
jmp 0x13b4d
pushq $0x9
popq %rsi
movl 0xc(%rsp), %ecx
movq %rbx, %rdi
movl %r13d, %edx
callq 0x13cf4
movq 0x10(%rsp), %rax
subl %r14d, %eax
movq %rax, 0x10(%rsp)
pushq $0x1
popq %rbp
pushq $0xa
popq %r12
cmpl %r14d, %ebp
jge 0x13bd5
movq 0x10(%rsp), %rax
xorl %r9d, %r9d
movq %rbx, %rdi
movl %ebp, %esi
movl %r15d, %edx
movl %r12d, %ecx
movl %r13d, %r8d
addl %ebp, %eax
cmpl $0x1, %eax
sete %r9b
incl %r9d
callq 0x13c40
incl %ebp
incl %r15d
jmp 0x13ba2
pushq $0xa
popq %rsi
movl 0xc(%rsp), %ecx
movq %rbx, %rdi
movl %r13d, %edx
callq 0x13cf4
pushq $0x1
popq %r15
pushq $0xb
popq %rbp
cmpl %r14d, %r15d
jge 0x13c20
movq 0x10(%rsp), %rax
xorl %r9d, %r9d
movq %rbx, %rdi
movl %r15d, %edx
movl %ebp, %ecx
movl %r13d, %r8d
addl %r15d, %eax
cmpl $0x1, %eax
sete %r9b
xorl %esi, %esi
orl $0x2, %r9d
callq 0x13c40
incl %r15d
jmp 0x13bee
pushq $0xb
popq %rsi
movl 0xc(%rsp), %ecx
movq %rbx, %rdi
movl %r13d, %edx
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x13cf4