// File: /workspace/github_c_makefile_star2_O1/ffoissey[P]filler_42/srcs/get_board.c
// Function: get_line_board
int						get_line_board(t_game *game, char *line)
{
	size_t	y;
	char	row_str[5];

	y = 0;
	row_str[4] = '\0';
	row_str[3] = ' ';
	row_str[2] = game->row % 10 + '0';
	row_str[1] = (game->row / 10) % 10 + '0';
	row_str[0] = game->row / 100 + '0';
	if (ft_strnequ(row_str, line, 4) == FALSE)
		return (FAILURE);
	line += 4;
	if (((int)ft_strlen(line) != game->board.size.y)
			|| (game->row > game->board.size.x))
		return (FAILURE);
	while (line[y] != '\0')
	{
		game->board.mx[game->row][y] = board_char_is_ok(game,
											line[y], game->row, y);
		if (game->board.mx[game->row][y] == E_UNKNOW)
			return (FAILURE);
		y++;
	}
	return (SUCCESS);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x23(%rsp), %rdi
movw $0x20, 0x3(%rdi)
movslq 0x30(%r14), %rcx
imulq $0x66666667, %rcx, %rax # imm = 0x66666667
movq %rax, %rdx
shrq $0x3f, %rdx
shrq $0x20, %rax
sarl $0x2, %eax
addl %edx, %eax
leal (%rax,%rax), %edx
leal (%rdx,%rdx,4), %edx
imulq $0x51eb851f, %rcx, %rsi # imm = 0x51EB851F
subl %edx, %ecx
addb $0x30, %cl
movb %cl, 0x2(%rdi)
cltq
imulq $0x66666667, %rax, %rcx # imm = 0x66666667
movq %rcx, %rdx
shrq $0x3f, %rdx
shrq $0x20, %rcx
sarl $0x2, %ecx
addl %edx, %ecx
addl %ecx, %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movb %al, 0x1(%rdi)
movq %rsi, %rax
shrq $0x3f, %rax
shrq $0x25, %rsi
addl %eax, %esi
addb $0x30, %sil
movb %sil, (%rdi)
movl $0x4, %edx
movq %rbx, %rsi
callq 0x26ec
testl %eax, %eax
je 0x17bb
addq $0x4, %rbx
movq %rbx, %rdi
callq 0x2804
cmpl %eax, 0xc(%r14)
jne 0x17bb
movl 0x30(%r14), %eax
cmpl 0x8(%r14), %eax
jg 0x17bb
leaq 0x38(%r14), %rax
movq %rax, 0x8(%rsp)
leaq 0x58(%r14), %rax
movq %rax, 0x18(%rsp)
xorl %r13d, %r13d
movabsq $0x100000000, %rbp      # imm = 0x100000000
movabsq $0x20100000201, %rdi    # imm = 0x20100000201
xorl %r15d, %r15d
movq 0x18(%rsp), %r12
movzbl (%rbx,%r15), %eax
leal -0x4f(%rax), %ecx
cmpl $0x29, %ecx
ja 0x16df
btq %rcx, %rdi
jae 0x16df
movl 0x30(%r14), %ecx
addq %r13, %rcx
movq %rcx, (%rsp)
cmpb %al, 0x36(%r14)
je 0x16b8
cmpb %al, 0x37(%r14)
jne 0x16ff
cmpl $0x0, 0x58(%r14)
jne 0x16ce
cmpl $0x0, 0x5c(%r14)
jne 0x16ce
movq %rcx, 0x48(%r14)
movq %rcx, 0x58(%r14)
xorl %ecx, %ecx
cmpb %al, 0x37(%r14)
sete %cl
addl $0x3, %ecx
jmp 0x1791
movl $0x0, %ecx
cmpl $0x2e, %eax
je 0x1791
testl %eax, %eax
je 0x17c0
movl $0x6, %ecx
jmp 0x1791
cmpl $0x0, 0x50(%r14)
jne 0x170d
cmpl $0x0, 0x54(%r14)
je 0x1784
movq 0x10(%r14), %rcx
movslq (%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
movslq 0x4(%rsp), %rdx
cmpl $0x0, (%rcx,%rdx,4)
je 0x172f
movl $0x1, %ecx
cmpb %al, 0x35(%r14)
jne 0x1791
movq 0x8(%rsp), %rax
cmpl $0x0, (%rax)
jne 0x1740
cmpl $0x0, 0x3c(%r14)
je 0x1771
movq %rsp, %rdi
movq %r12, %rsi
callq 0x1b2a
movl %eax, 0x14(%rsp)
movq 0x8(%rsp), %rdi
movq %r12, %rsi
callq 0x1b2a
movabsq $0x20100000201, %rdi    # imm = 0x20100000201
movl $0x2, %ecx
cmpl %eax, 0x14(%rsp)
jge 0x1791
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
movq %rax, (%rcx)
movl $0x2, %ecx
jmp 0x1791
movq %rcx, 0x38(%r14)
movq %rcx, 0x50(%r14)
movl $0x1, %ecx
movq 0x10(%r14), %rax
movslq 0x30(%r14), %rdx
movq (%rax,%rdx,8), %rdx
movl %ecx, (%rdx,%r15,4)
movslq 0x30(%r14), %rcx
movq (%rax,%rcx,8), %rax
addq %rbp, %r13
cmpl $0x6, (%rax,%r15,4)
leaq 0x1(%r15), %r15
jne 0x168e
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq