LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/movement.c
// Function: move_right
void	move_right(t_img_coord *co)
{
	char	at;
	double	next;
	double	movespeed;

	movespeed = 0.02;
	next = co->posy - co->planey * movespeed;
	at = co->mapi.mapp[(int)next][(int)co->posx];
	if (at != '1' && at != ' ' && at != '2')
		co->posy = next;
	next = co->posx - co->planex * movespeed;
	at = co->mapi.mapp[(int)co->posy][(int)next];
	if (at != '1' && at != ' ' && at != '2')
		co->posx = next;
	co->x = 0;
}

// Assembly:
movsd (%rdi), %xmm0
movsd 0x8(%rdi), %xmm1
movsd 0x28(%rdi), %xmm2
mulsd 0x5cb5(%rip), %xmm2     # 0xe4b0
addsd %xmm1, %xmm2
movq 0x1c0(%rdi), %rax
cvttsd2si %xmm2, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rcx
cvttsd2si %xmm0, %edx
movslq %edx, %rdx
movzbl (%rcx,%rdx), %edx
movabsq $0x6000100000000, %rcx  # imm = 0x6000100000000
cmpq $0x32, %rdx
ja 0x8832
btq %rdx, %rcx
jb 0x883b
movsd %xmm2, 0x8(%rdi)
movapd %xmm2, %xmm1
movsd 0x20(%rdi), %xmm2
mulsd 0x5c68(%rip), %xmm2     # 0xe4b0
cvttsd2si %xmm1, %edx
addsd %xmm2, %xmm0
movslq %edx, %rdx
cvttsd2si %xmm0, %esi
movq (%rax,%rdx,8), %rax
movslq %esi, %rdx
movzbl (%rax,%rdx), %eax
cmpq $0x32, %rax
ja 0x886e
btq %rax, %rcx
jb 0x8872
movsd %xmm0, (%rdi)
andl $0x0, 0xa4(%rdi)
retq
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_args.c
// Function: create_t_args
t_args					create_t_args(t_args args)
{
	args.buf = NULL;
	args.reso_x = -1;
	args.reso_y = -1;
	args.text_north = NULL;
	args.text_west = NULL;
	args.text_east = NULL;
	args.text_south = NULL;
	args.text_sprite = NULL;
	args.color_floor_r = -1;
	args.color_floor_g = -1;
	args.color_floor_b = -1;
	args.color_ceiling_r = -1;
	args.color_ceiling_g = -1;
	args.color_ceiling_b = -1;
	args.ready = 0;
	args.ready_s = 0;
	args.ready_j = 0;
	args = create_bis(args);
	return (args);
}

// Assembly:
pushq %rbx
subq $0x80, %rsp
leaq 0x90(%rsp), %rax
andq $0x0, (%rax)
orq $-0x1, 0x8(%rax)
movq %rdi, %rbx
pxor %xmm0, %xmm0
movdqu %xmm0, 0x18(%rax)
movdqu %xmm0, 0x28(%rax)
andq $0x0, 0x38(%rax)
pcmpeqd %xmm0, %xmm0
orq $-0x1, 0x64(%rax)
movdqu %xmm0, 0x54(%rax)
andq $0x0, 0x70(%rax)
andl $0x0, 0x78(%rax)
pushq $0x7c
popq %rdx
movq %rsp, %r8
movq %rdx, %rcx
movq %r8, %rdi
movq %rax, %rsi
rep  movsb (%rsi), %es:(%rdi)
orl $-0x1, 0x50(%r8)
movdqu %xmm0, 0x40(%r8)
movq %rdx, %rcx
movq %rax, %rdi
movq %r8, %rsi
rep  movsb (%rsi), %es:(%rdi)
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
movq %rcx, 0x7c(%rax)
movl $0x88, %edx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x63e0
movq %rbx, %rax
addq $0x80, %rsp
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_args.c
// Function: ft_else
size_t					ft_else(char *line, int e, t_args *args)
{
	if (ft_isspace(line[e]) == 1 || line[e] == 0 || line[e] == 32)
		return (0);
	else
	{
		put_color(RED, "\nERrror\n wrong char in your .cub file");
		exit(0);
		args->save = 0;
	}
	return (0);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movslq %esi, %r14
movsbl (%rdi,%r14), %edi
callq 0xa15c
cmpl $0x1, %eax
je 0x89fc
movzbl (%rbx,%r14), %eax
testb $-0x21, %al
jne 0x8a06
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x55ff(%rip), %rdi      # 0xe00c
leaq 0x5aa4(%rip), %rsi      # 0xe4b8
callq 0xa7d4
xorl %edi, %edi
callq 0x60a0
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_args.c
// Function: set_funct_args
void					set_funct_args(t_args_funct *funct_args)
{
	size_t				i;

	i = 0;
	while (i < 254)
	{
		funct_args[i] = ft_else;
		i++;
	}
	funct_args[0] = ft_else;
	funct_args['R'] = ft_resolution;
	funct_args['N'] = ft_texture_north;
	funct_args['W'] = ft_texture_west;
	funct_args['E'] = ft_texture_east;
	funct_args['S'] = ft_s_case;
	funct_args['F'] = ft_floor_color;
	funct_args['C'] = ft_color_ceilling;
}

// Assembly:
xorl %eax, %eax
leaq -0x4f(%rip), %rcx       # 0x89da
cmpq $0xfe, %rax
je 0x8a3a
movq %rcx, (%rdi,%rax,8)
incq %rax
jmp 0x8a29
movq %rcx, (%rdi)
leaq 0x7f2(%rip), %rax       # 0x9236
movq %rax, 0x290(%rdi)
leaq 0xcaf(%rip), %rax       # 0x9701
movq %rax, 0x270(%rdi)
leaq 0xd55(%rip), %rax       # 0x97b5
movq %rax, 0x2b8(%rdi)
leaq 0xdfb(%rip), %rax       # 0x9869
movq %rax, 0x228(%rdi)
leaq 0xaa4(%rip), %rax       # 0x9520
movq %rax, 0x298(%rdi)
leaq 0x14c(%rip), %rax       # 0x8bd6
movq %rax, 0x230(%rdi)
leaq 0x28f(%rip), %rax       # 0x8d27
movq %rax, 0x218(%rdi)
retq
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_args.c
// Function: ft_parse_arg
t_args					ft_parse_arg(char *line, t_args args)
{
	static t_args_funct	funct_args[255] = {NULL};
	int					i;

	if (args.set_p == -1)
	{
		set_funct_args(funct_args);
		args.set_p = 1;
	}
	i = 0;
	args.buf = line;
	while (i < ft_strlen(line))
	{
		if (funct_args[(int)line[i]] != NULL)
			i += funct_args[(int)line[i]](line, i, &args);
		i++;
	}
	return (args);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x30(%rsp), %r14
cmpl $-0x1, 0x80(%r14)
jne 0x8ad4
leaq 0xe7ec(%rip), %rdi      # 0x172b0
callq 0x8a20
movl $0x1, 0x80(%r14)
movq %r15, (%r14)
xorl %ebp, %ebp
leaq 0xe7d0(%rip), %r12      # 0x172b0
movq %r15, %rdi
callq 0xa588
cmpl %eax, %ebp
jge 0x8b0f
movslq %ebp, %rax
movsbq (%r15,%rax), %rax
movq (%r12,%rax,8), %rax
testq %rax, %rax
je 0x8b0b
movq %r15, %rdi
movl %ebp, %esi
movq %r14, %rdx
callq *%rax
addl %ebp, %eax
movl %eax, %ebp
incl %ebp
jmp 0x8ae0
movl $0x88, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x63e0
movq %rbx, %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_color.c
// Function: ft_value_color_f
int			ft_value_color_f(char *line, int e, t_args *args)
{
	int		d;
	int		result;

	d = 0;
	result = 0;
	while (e < ft_strlen(line) && ft_strcmp_c("01234567789-,", line[e]) == 1)
	{
		result = ft_atoi(&line[e]);
		if (result > 255 || result < 0)
		{
			put_color(RED, "\nError\n wrong value for the floor color");
			exit(0);
		}
		if (d == 0)
			args->color_floor_r = result;
		else if (d == 1)
			args->color_floor_g = result;
		else if (d == 2)
			args->color_floor_b = result;
		e += ft_count(result) + 1;
		d++;
	}
	return (e - 2);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r14
movl %esi, %ebx
movq %rdi, %r15
xorl %ebp, %ebp
leaq 0x5996(%rip), %r12      # 0xe4de
movq %r15, %rdi
callq 0xa588
cmpl %eax, %ebx
jge 0x8ba8
movslq %ebx, %r13
movsbl (%r15,%r13), %esi
movq %r12, %rdi
callq 0xa324
cmpl $0x1, %eax
jne 0x8ba8
addq %r15, %r13
movq %r13, %rdi
callq 0xa17a
cmpl $0x100, %eax            # imm = 0x100
jae 0x8bbc
cmpl $0x2, %ebp
je 0x8b95
cmpl $0x1, %ebp
je 0x8b8f
testl %ebp, %ebp
jne 0x8b99
movl %eax, 0x54(%r14)
jmp 0x8b99
movl %eax, 0x58(%r14)
jmp 0x8b99
movl %eax, 0x5c(%r14)
movl %eax, %edi
callq 0xa68c
addl %eax, %ebx
incl %ebx
incl %ebp
jmp 0x8b48
addl $-0x2, %ebx
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x5449(%rip), %rdi      # 0xe00c
leaq 0x5922(%rip), %rsi      # 0xe4ec
callq 0xa7d4
xorl %edi, %edi
callq 0x60a0
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_color.c
// Function: ft_floor_color
size_t		ft_floor_color(char *line, int e, t_args *args)
{
	int		i;
	int		r;
	int		j;

	r = 0;
	j = 0;
	i = 0;
	if (line[e] == 'F' && (ft_isspace(line[e + 1]) == 1 || line[e + 1] == 0))
	{
		check_twice_color_f(args);
		i = find_i(line, e, 2);
		while (line[e + i + j + 2] != '\0')
		{
			if (line[e + i + j + 2] == ',')
				r++;
			j++;
		}
		if (r != 2)
		{
			put_color(RED, "\nError\n wrong number of argument floor color");
			exit(0);
		}
		j = ft_value_color_f(line, (e + i + 2), args);
	}
	return (j);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movslq %esi, %r15
cmpb $0x46, (%rdi,%r15)
jne 0x8c07
movq %rdx, %rbx
movl %esi, %ebp
movq %rdi, %r14
movsbl 0x1(%rdi,%r15), %edi
callq 0xa15c
cmpl $0x1, %eax
je 0x8c0b
cmpb $0x0, 0x1(%r14,%r15)
je 0x8c0b
xorl %eax, %eax
jmp 0x8c5b
movq %rbx, %rdi
callq 0x6b64
pushq $0x2
popq %rdx
movq %r14, %rdi
movl %ebp, %esi
callq 0x6e82
addl %ebp, %eax
movslq %eax, %rcx
leaq (%r14,%rcx), %rdx
addq $0x2, %rdx
xorl %ecx, %ecx
movzbl (%rdx), %esi
cmpl $0x2c, %esi
je 0x8c3d
testl %esi, %esi
jne 0x8c3f
jmp 0x8c44
incl %ecx
incq %rdx
jmp 0x8c2f
cmpl $0x2, %ecx
jne 0x8c66
addl $0x2, %eax
movq %r14, %rdi
movl %eax, %esi
movq %rbx, %rdx
callq 0x8b2c
cltq
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
leaq 0x539f(%rip), %rdi      # 0xe00c
leaq 0x58a0(%rip), %rsi      # 0xe514
callq 0xa7d4
xorl %edi, %edi
callq 0x60a0
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_color.c
// Function: ft_value_color_c
int			ft_value_color_c(char *line, int e, t_args *args)
{
	int		d;
	int		result;

	d = 0;
	result = 0;
	while (e < ft_strlen(line) && ft_strcmp_c("01234567789-,", line[e]) == 1)
	{
		result = ft_atoi(&line[e]);
		if (result > 255 || result < 0)
		{
			put_color(RED, "\nError\n wrong value for the ceiling's color");
			exit(0);
		}
		if (d == 0)
			args->color_ceiling_r = result;
		else if (d == 1)
			args->color_ceiling_g = result;
		else if (d == 2)
			args->color_ceiling_b = result;
		e += ft_count(result) + 1;
		d++;
	}
	return (e);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r14
movl %esi, %ebx
movq %rdi, %r15
xorl %ebp, %ebp
leaq 0x5842(%rip), %r12      # 0xe4de
movq %r15, %rdi
callq 0xa588
cmpl %eax, %ebx
jge 0x8cfc
movslq %ebx, %r13
movsbl (%r15,%r13), %esi
movq %r12, %rdi
callq 0xa324
cmpl $0x1, %eax
jne 0x8cfc
addq %r15, %r13
movq %r13, %rdi
callq 0xa17a
cmpl $0x100, %eax            # imm = 0x100
jae 0x8d0d
cmpl $0x2, %ebp
je 0x8ce9
cmpl $0x1, %ebp
je 0x8ce3
testl %ebp, %ebp
jne 0x8ced
movl %eax, 0x60(%r14)
jmp 0x8ced
movl %eax, 0x64(%r14)
jmp 0x8ced
movl %eax, 0x68(%r14)
movl %eax, %edi
callq 0xa68c
addl %eax, %ebx
incl %ebx
incl %ebp
jmp 0x8c9c
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x52f8(%rip), %rdi      # 0xe00c
leaq 0x5826(%rip), %rsi      # 0xe541
callq 0xa7d4
xorl %edi, %edi
callq 0x60a0
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_color.c
// Function: ft_color_ceilling
size_t		ft_color_ceilling(char *line, int e, t_args *args)
{
	int		i;
	int		r;
	int		j;

	r = 0;
	j = 0;
	i = 0;
	if (line[e] == 'C' && (ft_isspace(line[e + 1]) == 1 || line[e + 1] == 0))
	{
		check_twice_color_c(args);
		i = find_i(line, e, 2);
		while (line[e + i + j + 2] != '\0')
		{
			if (line[e + i + j + 2] == ',')
				r++;
			j++;
		}
		if (r != 2)
		{
			put_color(RED, "\nError\n wrong number of argument ceiling color");
			exit(0);
		}
		j = ft_value_color_c(line, (e + i + 2), args);
	}
	return (j - 2);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movslq %esi, %r12
pushq $-0x2
popq %r15
cmpb $0x43, (%rdi,%r12)
jne 0x8db1
movq %rdx, %rbx
movl %esi, %ebp
movq %rdi, %r14
movsbl 0x1(%rdi,%r12), %edi
callq 0xa15c
cmpl $0x1, %eax
je 0x8d5d
cmpb $0x0, 0x1(%r14,%r12)
jne 0x8db1
movq %rbx, %rdi
callq 0x6b92
pushq $0x2
popq %rdx
movq %r14, %rdi
movl %ebp, %esi
callq 0x6e82
addl %ebp, %eax
movslq %eax, %rcx
leaq (%r14,%rcx), %rdx
addq $0x2, %rdx
xorl %ecx, %ecx
movzbl (%rdx), %esi
cmpl $0x2c, %esi
je 0x8d8f
testl %esi, %esi
jne 0x8d91
jmp 0x8d96
incl %ecx
incq %rdx
jmp 0x8d81
cmpl $0x2, %ecx
jne 0x8dbd
addl $0x2, %eax
movq %r14, %rdi
movl %eax, %esi
movq %rbx, %rdx
callq 0x8c80
addl $-0x2, %eax
movslq %eax, %r15
movq %r15, %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x5248(%rip), %rdi      # 0xe00c
leaq 0x57a2(%rip), %rsi      # 0xe56d
callq 0xa7d4
xorl %edi, %edi
callq 0x60a0
nop
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_map.c
// Function: set_map
t_map					set_map(t_map *map, int i, int j)
{
	int					e;

	e = 0;
	map->position_y = 0;
	map->position_x = 0;
	map->position_direction = '0';
	map->height_map = i;
	map->width_map = j;
	if (!(map->mapp = (char **)malloc(sizeof(char *) * (i + 1))))
		return (*map);
	while (e <= i)
	{
		map->mapp[e] = ft_strnew(j, 32);
		e++;
	}
	return (*map);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %ecx, %ebp
movq %rsi, %r14
movq %rdi, %rbx
andq $0x0, 0x10(%rsi)
movb $0x30, 0x18(%rsi)
movl %edx, 0xc(%rsi)
movl %ecx, 0x8(%rsi)
movslq %edx, %r12
leaq 0x8(,%r12,8), %rdi
callq 0x6100
movq %rax, (%r14)
testq %rax, %rax
je 0x8e36
movslq %ebp, %r15
xorl %r13d, %r13d
pushq $0x20
popq %rbp
cmpq %r12, %r13
jg 0x8e36
movq %r15, %rdi
movl %ebp, %esi
callq 0xa3c8
movq (%r14), %rcx
movq %rax, (%rcx,%r13,8)
incq %r13
jmp 0x8e1b
movq 0x20(%r14), %rax
movq %rax, 0x20(%rbx)
movq (%r14), %rax
movq 0x8(%r14), %rcx
movups 0x10(%r14), %xmm0
movups %xmm0, 0x10(%rbx)
movq %rax, (%rbx)
movq %rcx, 0x8(%rbx)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_map.c
// Function: set_funct_map
void					set_funct_map(t_map_funct *funct_map)
{
	size_t				i;

	i = 0;
	while (i < 254)
	{
		funct_map[i] = NULL;
		i++;
	}
	funct_map[0] = (void *)(-1);
	funct_map['0'] = ft_check_borders;
	funct_map['2'] = ft_sprite;
	funct_map['N'] = ft_position_n;
	funct_map['S'] = ft_position_s;
	funct_map['W'] = ft_position_w;
	funct_map['E'] = ft_position_e;
}

// Assembly:
xorl %eax, %eax
cmpq $0xfe, %rax
je 0x8e7b
andq $0x0, (%rdi,%rax,8)
incq %rax
jmp 0x8e69
orq $-0x1, (%rdi)
leaq -0x24a8(%rip), %rax     # 0x69de
movq %rax, 0x180(%rdi)
leaq 0x548(%rip), %rax       # 0x93dc
movq %rax, 0x190(%rdi)
leaq 0x270(%rip), %rax       # 0x9112
movq %rax, 0x270(%rdi)
leaq 0x2a2(%rip), %rax       # 0x9152
movq %rax, 0x298(%rdi)
leaq 0x2d4(%rip), %rax       # 0x9192
movq %rax, 0x2b8(%rdi)
leaq 0x306(%rip), %rax       # 0x91d2
movq %rax, 0x228(%rdi)
retq
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_map.c
// Function: ft_check_map
t_map					ft_check_map(t_map *map, int i, int j)
{
	static	t_map_funct	funct_map[255] = {NULL};
	int					x;
	int					y;

	x = 0;
	y = 0;
	if (funct_map[0] == NULL)
		set_funct_map(funct_map);
	map->number_sprite = 0;
	while (x < i + 1)
	{
		while (y < j)
		{
			if (funct_map[(int)map->mapp[x][y]] != NULL)
				funct_map[(int)map->mapp[x][y]](map, x, y);
			y++;
		}
		y = 0;
		x++;
	}
	check_pos(map);
	ft_tab_sprite(map);
	return (*map);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %ecx, %r15d
movl %edx, %ebp
movq %rsi, %r14
movq %rdi, (%rsp)
cmpq $0x0, 0xebbd(%rip)      # 0x17ab0
jne 0x8f01
leaq 0xebb4(%rip), %rdi      # 0x17ab0
callq 0x8e67
andl $0x0, 0x1c(%r14)
xorl %r12d, %r12d
testl %r15d, %r15d
cmovlel %r12d, %r15d
movslq %ebp, %rbp
leaq 0xeb96(%rip), %rbx      # 0x17ab0
cmpq %rbp, %r12
jg 0x8f51
xorl %r13d, %r13d
cmpq %r13, %r15
je 0x8f4c
movq (%r14), %rax
movq (%rax,%r12,8), %rax
movsbq (%rax,%r13), %rax
movq (%rbx,%rax,8), %rax
testq %rax, %rax
je 0x8f47
movq %r14, %rdi
movl %r12d, %esi
movl %r13d, %edx
callq *%rax
incq %r13
jmp 0x8f22
incq %r12
jmp 0x8f1a
movq %r14, %rdi
callq 0x68c8
movq %r14, %rdi
callq 0x93ea
movq 0x20(%r14), %rcx
movq (%rsp), %rax
movq %rcx, 0x20(%rax)
movups (%r14), %xmm0
movups 0x10(%r14), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_map.c
// Function: read_line
int						read_line(int fd, int count)
{
	int					r;
	char				*line;

	while ((r = get_next_line(fd, &line)) == 1 && count > 1)
	{
		free(line);
		count--;
	}
	free(line);
	count = 0;
	return (count);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %esi, %r14d
movl %edi, %ebx
movq %rsp, %r15
movl %ebx, %edi
movq %r15, %rsi
callq 0xa4cd
movl %eax, %ebp
movq (%rsp), %rdi
callq 0x6170
cmpl $0x1, %ebp
jne 0x8fc2
leal -0x1(%r14), %eax
cmpl $0x1, %r14d
movl %eax, %r14d
jg 0x8f9b
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_map.c
// Function: ft_parse_map
t_map					ft_parse_map(int i, int j, int count, char *path)
{
	t_map				map;
	int					fd;
	char				*line;
	int					r;
	int					e;

	e = 0;
	map = set_map(&map, i, j);
	fd = open(path, O_RDONLY);
	count = read_line(fd, count);
	while ((r = get_next_line(fd, &line) >= 0 && count < i + 1))
	{
		while (line[e] != '\0')
		{
			map.mapp[count][e] = line[e];
			e++;
		}
		e = 0;
		free(line);
		count++;
	}
	free(line);
	close(fd);
	map = full_check(map, i, j);
	return (map);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %r8, %r15
movl %ecx, %r12d
movl %edx, %ecx
movl %esi, %r14d
movq %rdi, %rbx
leaq 0x40(%rsp), %r13
movq %r13, %rdi
movq %rbx, %rsi
movl %r14d, %edx
movl %ecx, 0x34(%rsp)
callq 0x8dd8
movq 0x20(%r13), %rax
movq %rax, 0x20(%rbx)
movups (%r13), %xmm0
movups 0x10(%r13), %xmm1
movups %xmm1, 0x10(%rbx)
movups %xmm0, (%rbx)
xorl %r13d, %r13d
movq %r15, %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x63f0
movl %eax, %r15d
movl %eax, %edi
movl %r12d, %esi
callq 0x8f8c
movslq %r14d, %rbp
leaq 0x38(%rsp), %r12
movl %r15d, %edi
movq %r12, %rsi
callq 0xa4cd
testl %eax, %eax
js 0x907a
cmpq %rbp, %r13
jg 0x907a
xorl %eax, %eax
movq 0x38(%rsp), %rdi
movb (%rdi,%rax), %cl
testb %cl, %cl
je 0x9070
movq (%rbx), %rdx
movq (%rdx,%r13,8), %rdx
movb %cl, (%rdx,%rax)
incq %rax
jmp 0x9055
callq 0x6170
incq %r13
jmp 0x903f
movq 0x38(%rsp), %rdi
callq 0x6170
movl %r15d, %edi
callq 0x6040
movq 0x20(%rbx), %rax
movq %rax, 0x20(%rsp)
movups (%rbx), %xmm0
movups 0x10(%rbx), %xmm1
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x40(%rsp), %r15
movq %r15, %rdi
movl %r14d, %esi
movl 0x34(%rsp), %edx
callq 0x68f0
movq 0x20(%r15), %rax
movq %rax, 0x20(%rbx)
movups (%r15), %xmm0
movups 0x10(%r15), %xmm1
movups %xmm1, 0x10(%rbx)
movups %xmm0, (%rbx)
movq %rbx, %rax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_position.c
// Function: ft_secure
void	ft_secure(t_map *map)
{
	if (map->position_x != 0 || map->position_y != 0 ||
	map->position_direction != '0')
	{
		put_color("\033[31m",
		"\nError\n The beginning position is filled twice !");
		exit(0);
	}
}

// Assembly:
cmpl $0x0, 0x10(%rdi)
jne 0x90f7
cmpl $0x0, 0x14(%rdi)
jne 0x90f7
cmpb $0x30, 0x18(%rdi)
jne 0x90f7
retq
pushq %rax
leaq 0x4f0d(%rip), %rdi      # 0xe00c
leaq 0x5496(%rip), %rsi      # 0xe59c
callq 0xa7d4
xorl %edi, %edi
callq 0x60a0
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_position.c
// Function: ft_position_n
void	ft_position_n(t_map *map, int x, int y)
{
	ft_secure(map);
	map->position_x = x;
	map->position_y = y;
	if (map->mapp[x][y] == 'N')
		map->position_direction = 'N';
	ft_check_borders(map, x, y);
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %edx, %ebx
movl %esi, %ebp
movq %rdi, %r14
callq 0x90e4
movl %ebp, 0x10(%r14)
movl %ebx, 0x14(%r14)
movq (%r14), %rax
movslq %ebp, %rcx
movq (%rax,%rcx,8), %rax
movslq %ebx, %rcx
cmpb $0x4e, (%rax,%rcx)
jne 0x9142
movb $0x4e, 0x18(%r14)
movq %r14, %rdi
movl %ebp, %esi
movl %ebx, %edx
popq %rbx
popq %r14
popq %rbp
jmp 0x69de
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_position.c
// Function: ft_position_s
void	ft_position_s(t_map *map, int x, int y)
{
	ft_secure(map);
	map->position_x = x;
	map->position_y = y;
	if (map->mapp[x][y] == 'S')
		map->position_direction = 'S';
	ft_check_borders(map, x, y);
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %edx, %ebx
movl %esi, %ebp
movq %rdi, %r14
callq 0x90e4
movl %ebp, 0x10(%r14)
movl %ebx, 0x14(%r14)
movq (%r14), %rax
movslq %ebp, %rcx
movq (%rax,%rcx,8), %rax
movslq %ebx, %rcx
cmpb $0x53, (%rax,%rcx)
jne 0x9182
movb $0x53, 0x18(%r14)
movq %r14, %rdi
movl %ebp, %esi
movl %ebx, %edx
popq %rbx
popq %r14
popq %rbp
jmp 0x69de
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_position.c
// Function: ft_position_e
void	ft_position_e(t_map *map, int x, int y)
{
	ft_secure(map);
	map->position_x = x;
	map->position_y = y;
	if (map->mapp[x][y] == 'E')
		map->position_direction = 'E';
	ft_check_borders(map, x, y);
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %edx, %ebx
movl %esi, %ebp
movq %rdi, %r14
callq 0x90e4
movl %ebp, 0x10(%r14)
movl %ebx, 0x14(%r14)
movq (%r14), %rax
movslq %ebp, %rcx
movq (%rax,%rcx,8), %rax
movslq %ebx, %rcx
cmpb $0x45, (%rax,%rcx)
jne 0x9202
movb $0x45, 0x18(%r14)
movq %r14, %rdi
movl %ebp, %esi
movl %ebx, %edx
popq %rbx
popq %r14
popq %rbp
jmp 0x69de
nop
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_resolution.c
// Function: ft_resolution
size_t	ft_resolution(char *line, int e, t_args *args)
{
	int i;

	i = 0;
	if (line[e] == 'R' && (ft_isspace(line[e + 1]) == 1 || line[e + 1] == 0))
	{
		i += find_i(line, e, 2);
		check_twice_res(args);
		args->reso_x = ft_atoi_test(&line[e + 1]);
		if (ft_isspace(line[e + 1]) == 0)
		{
			put_color("\033[31m", "\nError\n Missing space or arguments");
			exit(0);
		}
		i += ft_count(args->reso_x) + 1;
		args->reso_y = ft_atoi_test(&line[e + i + 1]);
		if (args->reso_y == -1 || args->reso_x == -1)
		{
			put_color(RED, "\nError\n wrong number of argument for resolution");
			exit(0);
		}
	}
	return (i + ft_count(args->reso_y) + 1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %rbx
movslq %esi, %r13
xorl %ebp, %ebp
cmpb $0x52, (%rdi,%r13)
jne 0x92dd
movl %esi, %r15d
movq %rdi, %r14
addq %rdi, %r13
movsbl 0x1(%r13), %edi
incq %r13
callq 0xa15c
cmpl $0x1, %eax
je 0x9276
cmpb $0x0, (%r13)
jne 0x92dd
pushq $0x2
popq %rdx
movq %r14, %rdi
movl %r15d, %esi
callq 0x6e82
movl %eax, %r12d
movq %rbx, %rdi
callq 0x9214
movq %r13, %rdi
callq 0xa1e8
movl %eax, 0x8(%rbx)
movsbl (%r13), %edi
callq 0xa15c
testl %eax, %eax
je 0x930d
movl 0x8(%rbx), %edi
callq 0xa68c
movq %rax, %r13
addl %r12d, %eax
addl %r15d, %eax
incl %eax
cltq
leaq (%r14,%rax), %rdi
incq %rdi
callq 0xa1e8
movl %eax, 0xc(%rbx)
cmpl $-0x1, %eax
je 0x92fd
cmpl $-0x1, 0x8(%rbx)
je 0x92fd
leal (%r12,%r13), %ebp
incl %ebp
movslq %ebp, %r14
movl 0xc(%rbx), %edi
callq 0xa68c
addq %r14, %rax
incq %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x4d08(%rip), %rdi      # 0xe00c
leaq 0x5309(%rip), %rsi      # 0xe614
jmp 0x931b
leaq 0x4cf8(%rip), %rdi      # 0xe00c
leaq 0x52d6(%rip), %rsi      # 0xe5f1
callq 0xa7d4
xorl %edi, %edi
callq 0x60a0
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_resolution.c
// Function: check_resolution
t_args	check_resolution(t_args argy, t_mlx_coord mlxco)
{
	mlxco.size_x = malloc(sizeof(int*));
	mlxco.size_y = malloc(sizeof(int*));
	mlx_get_screen_size(mlxco.mlx, mlxco.size_x, mlxco.size_y);
	if (argy.save == 0)
	{
		if (argy.reso_x >= *mlxco.size_x)
		{
			argy.reso_x = *mlxco.size_x;
			put_color("\033[33m", "\nError\n resolution x has been resized");
		}
		if (argy.reso_y >= *mlxco.size_y)
		{
			argy.reso_y = *mlxco.size_y;
			put_color("\033[33m", "\nError\n resolution y has been resized");
		}
	}
	free(mlxco.size_x);
	free(mlxco.size_y);
	return (argy);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x30(%rsp), %r14
pushq $0x8
popq %r12
movq %r12, %rdi
callq 0x6100
movq %rax, %r15
movq %r12, %rdi
callq 0x6100
movq %rax, %r12
movq 0xb8(%rsp), %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0xcf30
cmpl $0x0, 0x6c(%r14)
jne 0x93ac
movl (%r15), %eax
cmpl %eax, 0x8(%r14)
jl 0x938b
movl %eax, 0x8(%r14)
leaq 0x4f89(%rip), %rdi      # 0xe308
leaq 0x52be(%rip), %rsi      # 0xe644
callq 0xa7d4
movl (%r12), %eax
cmpl %eax, 0xc(%r14)
jl 0x93ac
movl %eax, 0xc(%r14)
leaq 0x4f68(%rip), %rdi      # 0xe308
leaq 0x52c3(%rip), %rsi      # 0xe66a
callq 0xa7d4
movq %r15, %rdi
callq 0x6170
movq %r12, %rdi
callq 0x6170
movl $0x88, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x63e0
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
nop
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/parse_sprite.c
// Function: ft_tab_sprite
void		ft_tab_sprite(t_map *map)
{
	int		x;
	int		y;
	int		i;

	x = 0;
	y = 0;
	i = 0;
	if (!(map->sprite = malloc(sizeof(t_sprite) * map->number_sprite)))
		return ;
	while (x < map->height_map)
	{
		while (y < map->width_map)
		{
			if (map->mapp[x][y] == '2' && i < map->number_sprite)
			{
				map->sprite[i] = load_sprites(map->sprite[i], x, y);
				i++;
			}
			y++;
		}
		y = 0;
		x++;
	}
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movslq 0x1c(%rdi), %rdi
shlq $0x3, %rdi
callq 0x6100
movq %rax, 0x20(%rbx)
testq %rax, %rax
je 0x9459
xorl %eax, %eax
movabsq $0x100000000, %rcx      # imm = 0x100000000
xorl %edx, %edx
xorl %esi, %esi
movslq 0xc(%rbx), %rdi
cmpq %rdi, %rdx
jge 0x9459
xorl %edi, %edi
movslq 0x8(%rbx), %r8
cmpq %r8, %rdi
jge 0x9451
movq (%rbx), %r8
movq (%r8,%rdx,8), %r8
cmpb $0x32, (%r8,%rdi)
jne 0x944c
cmpl 0x1c(%rbx), %esi
jge 0x944c
movq 0x20(%rbx), %r8
movslq %esi, %r9
leaq (%rax,%rdi), %r10
movq %r10, (%r8,%r9,8)
incl %esi
incq %rdi
jmp 0x941f
incq %rdx
addq %rcx, %rax
jmp 0x9414
popq %rbx
retq
nop
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/path_sprite.c
// Function: free_text
void		free_text(t_args *args, char *line)
{
	if (args->text_east != NULL)
		free(args->text_east);
	if (args->text_west != NULL)
		free(args->text_west);
	if (args->text_south != NULL)
		free(args->text_south);
	if (args->text_north != NULL)
		free(args->text_north);
	free(line);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq 0x30(%rdi), %rdi
callq 0x6170
movq 0x28(%r14), %rdi
callq 0x6170
movq 0x20(%r14), %rdi
callq 0x6170
movq 0x18(%r14), %rdi
callq 0x6170
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x6170
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/path_sprite.c
// Function: ft_check_path_sprite
int			ft_check_path_sprite(char *line, int e, char *path, t_args *args)
{
	int		i;

	i = 0;
	if (line[e] != 'm' && line[e - 1] != 'p' &&
		line[e - 2] != 'x' && line[e - 3] != '.')
	{
		put_color("\033[31m",
		"\nError\n wrong format for sprite check your path");
		free_text(args, line);
		exit(0);
	}
	e = 0;
	line[0] = '1';
	if ((i = open(path, O_RDONLY)) == -1)
	{
		put_color("\033[31m",
		"\nError\n file can't open for sprite check your path");
		free_text(args, line);
		exit(0);
	}
	else
		close(i);
	return (1);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rcx, %rbx
movq %rdi, %r14
movslq %esi, %rax
cmpb $0x6d, (%rdi,%rax)
je 0x94c4
cmpb $0x70, -0x1(%r14,%rax)
je 0x94c4
cmpb $0x78, -0x2(%r14,%rax)
je 0x94c4
cmpb $0x2e, -0x3(%r14,%rax)
jne 0x9510
movb $0x31, (%r14)
movq %rdx, %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x63f0
cmpl $-0x1, %eax
je 0x94eb
movl %eax, %edi
callq 0x6040
pushq $0x1
popq %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x4b1a(%rip), %rdi      # 0xe00c
leaq 0x51c7(%rip), %rsi      # 0xe6c0
callq 0xa7d4
movq %rbx, %rdi
movq %r14, %rsi
callq 0x945c
xorl %edi, %edi
callq 0x60a0
leaq 0x4af5(%rip), %rdi      # 0xe00c
leaq 0x5172(%rip), %rsi      # 0xe690
jmp 0x94f9
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/path_sprite.c
// Function: ft_s_case
size_t		ft_s_case(char *line, int e, t_args *args)
{
	size_t	i;

	i = 0;
	if (line[e] == 'S' && line[e + 1] == 'O')
		i = ft_texture_south(line, e, args);
	else if (line[e] == 'S' && (ft_isspace(line[e + 1]) == 1 ||
	line[e + 1] == 0))
		i = ft_texture_sprite(line, e, args);
	return (i);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movslq %esi, %r15
cmpb $0x53, (%rdi,%r15)
jne 0x956e
movq %rdx, %rbx
movl %esi, %ebp
movq %rdi, %r14
movb 0x1(%rdi,%r15), %al
cmpb $0x4f, %al
jne 0x9559
movq %r14, %rdi
movl %ebp, %esi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x991d
movsbl %al, %edi
callq 0xa15c
cmpl $0x1, %eax
je 0x957b
cmpb $0x0, 0x1(%r14,%r15)
je 0x957b
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %r14, %rdi
movl %ebp, %esi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x9592
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/path_sprite.c
// Function: ft_texture_sprite
size_t		ft_texture_sprite(char *line, int e, t_args *args)
{
	int		i;
	int		j;
	char	*path;

	i = 0;
	j = 0;
	if (line[e] == 'S' && (ft_isspace(line[e + 1]) == 1 || line[e + 1] == 0))
	{
		i = check_twice_sprite(args, line, e);
		j = find_j(line, (e + i));
		if (!(path = malloc(sizeof(char) * (j + 1))))
			return (0);
		path = put_path(e + i + 2, path, line);
		if (ft_check_path_sprite(line, (e + i + j + 1), path, args) == 1)
		{
			args->text_sprite = path;
			args->error_sprite = 1;
		}
		else
		{
			args->error_sprite = 0;
			free_text(args, line);
		}
	}
	return (e + i + j + 1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %esi, %ebx
movslq %esi, %r14
xorl %r15d, %r15d
cmpb $0x53, (%rdi,%r14)
jne 0x9650
movq %rdx, %rbp
movq %rdi, %r12
movsbl 0x1(%rdi,%r14), %edi
callq 0xa15c
cmpl $0x1, %eax
je 0x95d7
cmpb $0x0, 0x1(%r12,%r14)
movl $0x0, %r13d
jne 0x9653
movq %rbp, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x6b34
movl %eax, %r15d
leal (%r15,%rbx), %esi
movq %r12, %rdi
movq %rsi, 0x8(%rsp)
callq 0x6e68
movl %eax, %r13d
movq %rbp, 0x10(%rsp)
leal 0x1(%r13), %ebp
movslq %ebp, %rdi
callq 0x6100
testq %rax, %rax
je 0x966d
movq %rax, %r14
movq 0x8(%rsp), %rax
leal 0x2(%rax), %edi
movq %r14, %rsi
movq %r12, %rdx
callq 0x9671
addl 0x8(%rsp), %ebp
movq %r12, %rdi
movl %ebp, %esi
movq %r14, %rdx
movq 0x10(%rsp), %r12
movq %r12, %rcx
callq 0x9499
movq %r14, 0x38(%r12)
movl $0x1, 0x50(%r12)
jmp 0x9653
xorl %r13d, %r13d
addl %r15d, %ebx
leal (%rbx,%r13), %eax
incl %eax
cltq
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %eax, %eax
jmp 0x965e
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/path_sprite.c
// Function: put_path
char		*put_path(int i, char *path, char *line)
{
	int		j;

	j = 0;
	j = 0;
	while (line[i + j] != '\0')
	{
		path[j] = line[i + j];
		j++;
	}
	path[j] = '\0';
	return (path);
}

// Assembly:
movq %rsi, %rax
movslq %edi, %rcx
addq %rdx, %rcx
xorl %edx, %edx
movb (%rcx,%rdx), %sil
testb %sil, %sil
je 0x968e
movb %sil, (%rax,%rdx)
incq %rdx
jmp 0x967c
movl %edx, %ecx
movb $0x0, (%rax,%rcx)
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/path_texture.c
// Function: ft_check_path_text
int			ft_check_path_text(char *line, int e, char *path)
{
	int		i;

	i = 0;
	if (line[e] != 'm' && line[e - 1] != 'p' &&
		line[e - 2] != 'x' && line[e - 3] != '.')
	{
		put_color("\033[33m",
		"\nError\n wrong format for texture");
		exit(0);
	}
	e = 0;
	line[0] = '1';
	if ((i = open(path, O_RDONLY)) == -1)
	{
		put_color("\033[33m",
		"\nError\n texture can't be open");
		exit(0);
	}
	else
		close(i);
	return (1);
}

// Assembly:
pushq %rax
movslq %esi, %rax
cmpb $0x6d, (%rdi,%rax)
je 0x96b7
cmpb $0x70, -0x1(%rdi,%rax)
je 0x96b7
cmpb $0x78, -0x2(%rdi,%rax)
je 0x96b7
cmpb $0x2e, -0x3(%rdi,%rax)
jne 0x96f1
movb $0x31, (%rdi)
movq %rdx, %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x63f0
cmpl $-0x1, %eax
je 0x96d7
movl %eax, %edi
callq 0x6040
pushq $0x1
popq %rax
popq %rcx
retq
leaq 0x4c2a(%rip), %rdi      # 0xe308
leaq 0x502f(%rip), %rsi      # 0xe714
callq 0xa7d4
xorl %edi, %edi
callq 0x60a0
leaq 0x4c10(%rip), %rdi      # 0xe308
leaq 0x4ff4(%rip), %rsi      # 0xe6f3
jmp 0x96e5
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/path_texture.c
// Function: ft_texture_north
size_t		ft_texture_north(char *line, int e, t_args *args)
{
	int		i;
	int		j;
	char	*path;

	i = 0;
	j = 0;
	if (line[e] == 'N' && line[e + 1] == 'O')
	{
		i = check_twice_north(args, line, e);
		j = find_j(line, (e + i));
		if (!(path = malloc(sizeof(char) * (j + 1))))
			return (0);
		path = put_path(e + i + 2, path, line);
		if (ft_check_path_text(line, (e + i + j + 1), path) == 1)
		{
			args->text_north = path;
			args->error_north = 1;
		}
		else
		{
			args->error_north = 0;
			free(path);
		}
	}
	return (e + i + j + 1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %ebx
movslq %esi, %rax
xorl %r15d, %r15d
cmpb $0x4e, (%rdi,%rax)
jne 0x9794
movq %rdi, %r12
cmpb $0x4f, 0x1(%rdi,%rax)
movl $0x0, %r13d
jne 0x9797
movq %rdx, %r14
movq %rdx, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x6a74
movl %eax, %r15d
leal (%r15,%rbx), %esi
movq %r12, %rdi
movq %rsi, (%rsp)
callq 0x6e68
movl %eax, %r13d
leal 0x1(%r13), %ebp
movslq %ebp, %rdi
callq 0x6100
testq %rax, %rax
je 0x97b1
movq (%rsp), %rcx
leal 0x2(%rcx), %edi
movq %rax, %rsi
movq %r12, %rdx
callq 0x9671
addl (%rsp), %ebp
movq %r12, %rdi
movl %ebp, %esi
movq %rax, %r12
movq %rax, %rdx
callq 0x9698
movq %r12, 0x18(%r14)
movl $0x1, 0x40(%r14)
jmp 0x9797
xorl %r13d, %r13d
addl %r15d, %ebx
leal (%rbx,%r13), %eax
incl %eax
cltq
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %eax, %eax
jmp 0x97a2
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/path_texture.c
// Function: ft_texture_west
size_t		ft_texture_west(char *line, int e, t_args *args)
{
	int		i;
	int		j;
	char	*path;

	i = 0;
	j = 0;
	if (line[e] == 'W' && line[e + 1] == 'E')
	{
		i = check_twice_west(args, line, e);
		j = find_j(line, (e + i));
		if (!(path = malloc(sizeof(char) * (j + 1))))
			return (0);
		path = put_path(e + i + 2, path, line);
		if (ft_check_path_text(line, (e + i + j + 1), path) == 1)
		{
			args->text_west = path;
			args->error_west = 1;
		}
		else
		{
			args->error_west = 0;
			free(path);
		}
	}
	return (e + i + j + 1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %ebx
movslq %esi, %rax
xorl %r15d, %r15d
cmpb $0x57, (%rdi,%rax)
jne 0x9848
movq %rdi, %r12
cmpb $0x45, 0x1(%rdi,%rax)
movl $0x0, %r13d
jne 0x984b
movq %rdx, %r14
movq %rdx, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x6b04
movl %eax, %r15d
leal (%r15,%rbx), %esi
movq %r12, %rdi
movq %rsi, (%rsp)
callq 0x6e68
movl %eax, %r13d
leal 0x1(%r13), %ebp
movslq %ebp, %rdi
callq 0x6100
testq %rax, %rax
je 0x9865
movq (%rsp), %rcx
leal 0x2(%rcx), %edi
movq %rax, %rsi
movq %r12, %rdx
callq 0x9671
addl (%rsp), %ebp
movq %r12, %rdi
movl %ebp, %esi
movq %rax, %r12
movq %rax, %rdx
callq 0x9698
movq %r12, 0x28(%r14)
movl $0x1, 0x48(%r14)
jmp 0x984b
xorl %r13d, %r13d
addl %r15d, %ebx
leal (%rbx,%r13), %eax
incl %eax
cltq
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %eax, %eax
jmp 0x9856
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/path_texture.c
// Function: ft_texture_east
size_t		ft_texture_east(char *line, int e, t_args *args)
{
	int		i;
	int		j;
	char	*path;

	i = 0;
	j = 0;
	if (line[e] == 'E' && line[e + 1] == 'A')
	{
		i = check_twice_east(args, line, e);
		j = find_j(line, (e + i));
		if (!(path = malloc(sizeof(char) * (j + 1))))
			return (0);
		path = put_path(e + i + 2, path, line);
		if (ft_check_path_text(line, (e + i + j + 1), path) == 1)
		{
			args->text_east = path;
			args->error_east = 1;
		}
		else
		{
			args->error_east = 0;
			free(path);
		}
	}
	return (e + i + j + 1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %ebx
movslq %esi, %rax
xorl %r15d, %r15d
cmpb $0x45, (%rdi,%rax)
jne 0x98fc
movq %rdi, %r12
cmpb $0x41, 0x1(%rdi,%rax)
movl $0x0, %r13d
jne 0x98ff
movq %rdx, %r14
movq %rdx, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x6ad4
movl %eax, %r15d
leal (%r15,%rbx), %esi
movq %r12, %rdi
movq %rsi, (%rsp)
callq 0x6e68
movl %eax, %r13d
leal 0x1(%r13), %ebp
movslq %ebp, %rdi
callq 0x6100
testq %rax, %rax
je 0x9919
movq (%rsp), %rcx
leal 0x2(%rcx), %edi
movq %rax, %rsi
movq %r12, %rdx
callq 0x9671
addl (%rsp), %ebp
movq %r12, %rdi
movl %ebp, %esi
movq %rax, %r12
movq %rax, %rdx
callq 0x9698
movq %r12, 0x30(%r14)
movl $0x1, 0x4c(%r14)
jmp 0x98ff
xorl %r13d, %r13d
addl %r15d, %ebx
leal (%rbx,%r13), %eax
incl %eax
cltq
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %eax, %eax
jmp 0x990a
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/path_texture.c
// Function: ft_texture_south
size_t		ft_texture_south(char *line, int e, t_args *args)
{
	int		i;
	int		j;
	char	*path;

	j = 0;
	i = 0;
	if (line[e] == 'S' && line[e + 1] == 'O')
	{
		i = check_twice_south(args, line, e);
		j = find_j(line, (e + i));
		if (!(path = malloc(sizeof(char) * (j + 1))))
			return (0);
		path = put_path(e + i + 2, path, line);
		if (ft_check_path_text(line, (e + i + j + 1), path) == 1)
		{
			args->text_south = path;
			args->error_south = 1;
		}
		else
		{
			args->error_south = 0;
			free(path);
		}
	}
	return (e + i + j + 1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %ebx
movslq %esi, %rax
xorl %r15d, %r15d
cmpb $0x53, (%rdi,%rax)
jne 0x99b0
movq %rdi, %r12
cmpb $0x4f, 0x1(%rdi,%rax)
movl $0x0, %r13d
jne 0x99b3
movq %rdx, %r14
movq %rdx, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x6aa4
movl %eax, %r15d
leal (%r15,%rbx), %esi
movq %r12, %rdi
movq %rsi, (%rsp)
callq 0x6e68
movl %eax, %r13d
leal 0x1(%r13), %ebp
movslq %ebp, %rdi
callq 0x6100
testq %rax, %rax
je 0x99cd
movq (%rsp), %rcx
leal 0x2(%rcx), %edi
movq %rax, %rsi
movq %r12, %rdx
callq 0x9671
addl (%rsp), %ebp
movq %r12, %rdi
movl %ebp, %esi
movq %rax, %r12
movq %rax, %rdx
callq 0x9698
movq %r12, 0x20(%r14)
movl $0x1, 0x44(%r14)
jmp 0x99b3
xorl %r13d, %r13d
addl %r15d, %ebx
leal (%rbx,%r13), %eax
incl %eax
cltq
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %eax, %eax
jmp 0x99be
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/rotation.c
// Function: rotate_right
void	rotate_right(t_img_coord *co)
{
	double	old_dirx;
	double	old_planex;
	double	rotspeed;

	rotspeed = 0.01;
	old_dirx = co->dirx;
	old_planex = co->planex;
	co->dirx = co->dirx * cos(rotspeed) - co->diry * sin(rotspeed);
	co->diry = old_dirx * sin(rotspeed) + co->diry * cos(rotspeed);
	co->planex = co->planex * cos(rotspeed) - co->planey * sin(rotspeed);
	co->planey = old_planex * sin(rotspeed) + co->planey * cos(rotspeed);
	co->x = 0;
}

// Assembly:
movsd 0x10(%rdi), %xmm0
movsd 0x18(%rdi), %xmm1
movsd 0x20(%rdi), %xmm2
movsd 0x28(%rdi), %xmm3
unpcklpd %xmm1, %xmm1            # xmm1 = xmm1[0,0]
movapd 0x4d4c(%rip), %xmm4     # 0xe740
mulpd %xmm4, %xmm1
unpcklpd %xmm0, %xmm0            # xmm0 = xmm0[0,0]
movapd 0x4d4c(%rip), %xmm5     # 0xe750
mulpd %xmm5, %xmm0
addpd %xmm1, %xmm0
movupd %xmm0, 0x10(%rdi)
unpcklpd %xmm3, %xmm3            # xmm3 = xmm3[0,0]
mulpd %xmm4, %xmm3
unpcklpd %xmm2, %xmm2            # xmm2 = xmm2[0,0]
mulpd %xmm5, %xmm2
addpd %xmm3, %xmm2
movupd %xmm2, 0x20(%rdi)
andl $0x0, 0xa4(%rdi)
retq
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/rotation.c
// Function: rotate_left
void	rotate_left(t_img_coord *co)
{
	double	old_dirx;
	double	old_planex;
	double	rotspeed;

	rotspeed = -0.01;
	old_dirx = co->dirx;
	old_planex = co->planex;
	co->dirx = co->dirx * cos(rotspeed) - co->diry * sin(rotspeed);
	co->diry = old_dirx * sin(rotspeed) + co->diry * cos(rotspeed);
	co->planex = co->planex * cos(rotspeed) - co->planey * sin(rotspeed);
	co->planey = old_planex * sin(rotspeed) + co->planey * cos(rotspeed);
	co->x = 0;
}

// Assembly:
movsd 0x10(%rdi), %xmm0
movsd 0x18(%rdi), %xmm1
movsd 0x20(%rdi), %xmm2
movsd 0x28(%rdi), %xmm3
unpcklpd %xmm1, %xmm1            # xmm1 = xmm1[0,0]
movapd 0x4d0e(%rip), %xmm4     # 0xe760
mulpd %xmm4, %xmm1
unpcklpd %xmm0, %xmm0            # xmm0 = xmm0[0,0]
movapd 0x4d0e(%rip), %xmm5     # 0xe770
mulpd %xmm5, %xmm0
addpd %xmm1, %xmm0
movupd %xmm0, 0x10(%rdi)
unpcklpd %xmm3, %xmm3            # xmm3 = xmm3[0,0]
mulpd %xmm4, %xmm3
unpcklpd %xmm2, %xmm2            # xmm2 = xmm2[0,0]
mulpd %xmm5, %xmm2
addpd %xmm3, %xmm2
movupd %xmm2, 0x20(%rdi)
andl $0x0, 0xa4(%rdi)
retq
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/texture_valid.c
// Function: texture_valid
int		texture_valid(t_img_coord *co, int i)
{
	if (i == 0 && co->argi.error_north == 1)
		return (1);
	if (i == 1 && co->argi.error_south == 1)
		return (1);
	if (i == 2 && co->argi.error_east == 1)
		return (1);
	if (i == 3 && co->argi.error_west == 1)
		return (1);
	return (0);
}

// Assembly:
cmpl $0x3, %esi
ja 0x9ac8
movl %esi, %eax
leaq 0x4ce2(%rip), %rcx      # 0xe780
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x1, 0x178(%rdi)
je 0x9abb
jmp 0x9ac8
cmpl $0x1, 0x184(%rdi)
jne 0x9ac8
pushq $0x1
popq %rax
retq
cmpl $0x1, 0x180(%rdi)
je 0x9abb
xorl %eax, %eax
retq
cmpl $0x1, 0x17c(%rdi)
je 0x9abb
jmp 0x9ac8
nop
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/world_textured.c
// Function: manage_3d
t_img_coord		manage_3d(t_img_coord *co)
{
	while (co->x < co->argi.reso_x)
	{
		init_calc_finder(co, co->argi);
		dir_dist_finder(co);
		dda_calc(co);
		dist_heigh_calc(co);
		start_end_calc(co);
		texture_calc(co);
		draw_3d(co);
		co->buf_sprit[co->x] = co->longueur_mur;
		co->x++;
	}
	sprite_cast(co);
	draw_minimap(co);
	if (co->argi.save == 0)
		mlx_put_image_to_window(co->mlx.mlx, co->mlx.mlx_win,
		co->img->img, 0, 0);
	return (*co);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x270, %rsp            # imm = 0x270
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x138(%rsi), %r15
movl 0xa4(%rsi), %eax
pushq $0x11
popq %r12
leaq 0x88(%rsp), %r13
cmpl 0x140(%r14), %eax
jge 0x9b8e
movq %r12, %rcx
movq %rsp, %rdi
movq %r15, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq %r13, %rdi
movq %r14, %rsi
callq 0x9bee
movq %r13, %rdi
movq %r14, %rsi
callq 0x9c7b
movq %r13, %rdi
movq %r14, %rsi
callq 0x9d23
movq %r13, %rdi
movq %r14, %rsi
callq 0x9ec4
movq %r13, %rdi
movq %r14, %rsi
callq 0x9f4d
movq %r14, %rdi
callq 0x8240
movq %r13, %rdi
movq %r14, %rsi
callq 0xa07d
movsd 0x78(%r14), %xmm0
movq 0xc0(%r14), %rax
movslq 0xa4(%r14), %rcx
movsd %xmm0, (%rax,%rcx,8)
leal 0x1(%rcx), %eax
movl %eax, 0xa4(%r14)
jmp 0x9b07
movq %r14, %rdi
callq 0x7ffc
movq %r14, %rdi
callq 0x8678
cmpl $0x0, 0x1a4(%r14)
jne 0x9bca
movq 0x110(%r14), %rdi
movq 0x118(%r14), %rsi
movq 0x130(%r14), %rax
movq (%rax), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xb660
movl $0x1e8, %edx            # imm = 0x1E8
movq %rbx, %rdi
movq %r14, %rsi
callq 0x63e0
movq %rbx, %rax
addq $0x270, %rsp            # imm = 0x270
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/world_textured.c
// Function: init_calc_finder
t_img_coord		init_calc_finder(t_img_coord *co, t_args argy)
{
	co->rayposx = co->posx;
	co->rayposy = co->posy;
	co->camerax = 2 * co->x / (double)(argy.reso_x) - 1;
	co->raydirx = co->dirx + co->planex * co->camerax;
	co->raydiry = co->diry + co->planey * co->camerax;
	co->mapx = (int)co->rayposx;
	co->mapy = (int)co->rayposy;
	co->dist2murx = sqrt(1 + (co->raydiry * co->raydiry) /
	(co->raydirx * co->raydirx));
	co->dist2mury = sqrt(1 + (co->raydirx * co->raydirx) /
	(co->raydiry * co->raydiry));
	return (*co);
}

// Assembly:
pushq %rbx
movupd (%rsi), %xmm0
movupd 0x10(%rsi), %xmm1
movupd 0x20(%rsi), %xmm2
movupd %xmm0, 0x30(%rsi)
movl 0xa4(%rsi), %eax
addl %eax, %eax
cvtsi2sd %eax, %xmm3
cvtsi2sdl 0x18(%rsp), %xmm4
divsd %xmm4, %xmm3
addsd 0x4808(%rip), %xmm3     # 0xe428
cvttpd2dq %xmm0, %xmm0
movsd %xmm3, 0x50(%rsi)
movlpd %xmm0, 0x98(%rsi)
unpcklpd %xmm3, %xmm3            # xmm3 = xmm3[0,0]
mulpd %xmm2, %xmm3
addpd %xmm1, %xmm3
movupd %xmm3, 0x40(%rsi)
mulpd %xmm3, %xmm3
movapd %xmm3, %xmm0
shufpd $0x1, %xmm3, %xmm0      # xmm0 = xmm0[1],xmm3[0]
divpd %xmm0, %xmm3
addpd 0x4b35(%rip), %xmm3     # 0xe790
movq %rdi, %rbx
sqrtpd %xmm3, %xmm0
shufpd $0x1, %xmm0, %xmm0      # xmm0 = xmm0[1,0]
movupd %xmm0, 0x68(%rsi)
movl $0x1e8, %edx            # imm = 0x1E8
callq 0x63e0
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/world_textured.c
// Function: dir_dist_finder
t_img_coord		dir_dist_finder(t_img_coord *co)
{
	if (co->raydirx < 0)
	{
		co->etapex = -1;
		co->dist_murx = (co->rayposx - co->mapx) * co->dist2murx;
	}
	else
	{
		co->etapex = 1;
		co->dist_murx = (co->mapx + 1.0 - co->rayposx) * co->dist2murx;
	}
	if (co->raydiry < 0)
	{
		co->etapey = -1;
		co->dist_mury = (co->rayposy - co->mapy) * co->dist2mury;
	}
	else
	{
		co->etapey = 1;
		co->dist_mury = (co->mapy + 1.0 - co->rayposy) * co->dist2mury;
	}
	return (*co);
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
xorpd %xmm0, %xmm0
ucomisd 0x40(%rsi), %xmm0
jbe 0x9ca0
movsd 0x30(%rsi), %xmm0
cvtsi2sdl 0x98(%rsi), %xmm1
subsd %xmm1, %xmm0
pushq $-0x1
popq %rax
jmp 0x9cb8
pushq $0x1
popq %rax
cvtsi2sdl 0x98(%rsi), %xmm0
addsd 0x4765(%rip), %xmm0     # 0xe418
subsd 0x30(%rsi), %xmm0
mulsd 0x68(%rsi), %xmm0
movl %eax, 0x8c(%rsi)
movsd %xmm0, 0x58(%rsi)
xorpd %xmm0, %xmm0
ucomisd 0x48(%rsi), %xmm0
jbe 0x9ce9
pushq $-0x1
popq %rax
movsd 0x38(%rsi), %xmm0
cvtsi2sdl 0x9c(%rsi), %xmm1
subsd %xmm1, %xmm0
jmp 0x9d01
cvtsi2sdl 0x9c(%rsi), %xmm0
addsd 0x471f(%rip), %xmm0     # 0xe418
subsd 0x38(%rsi), %xmm0
pushq $0x1
popq %rax
mulsd 0x70(%rsi), %xmm0
movl %eax, 0x90(%rsi)
movsd %xmm0, 0x60(%rsi)
movl $0x1e8, %edx            # imm = 0x1E8
movq %rbx, %rdi
callq 0x63e0
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/florianne1212[P]Cub3D_42/srcs/world_textured.c
// Function: dda_calc
t_img_coord		dda_calc(t_img_coord *co)
{
	int			touche;

	touche = 0;
	while (touche == 0)
	{
		if (co->dist_murx < co->dist_mury)
		{
			co->dist_murx += co->dist2murx;
			co->mapx += co->etapex;
			co->hori_verti = 0;
		}
		else
		{
			co->dist_mury += co->dist2mury;
			co->mapy += co->etapey;
			co->hori_verti = 1;
		}
		if (co->mapi.mapp[co->mapy][co->mapx] == '1')
			touche = 1;
	}
	return (*co);
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x1c0(%rsi), %rax
movsd 0x58(%rsi), %xmm0
movsd 0x60(%rsi), %xmm1
movl 0x9c(%rsi), %ecx
movl 0x98(%rsi), %edx
xorl %r8d, %r8d
pushq $0x1
popq %rdi
testl %r8d, %r8d
jne 0x9da8
ucomisd %xmm0, %xmm1
jbe 0x9d70
addsd 0x68(%rsi), %xmm0
movsd %xmm0, 0x58(%rsi)
addl 0x8c(%rsi), %edx
movl %edx, 0x98(%rsi)
xorl %r8d, %r8d
jmp 0x9d89
addsd 0x70(%rsi), %xmm1
movsd %xmm1, 0x60(%rsi)
addl 0x90(%rsi), %ecx
movl %ecx, 0x9c(%rsi)
movl %edi, %r8d
movl %r8d, 0x94(%rsi)
movslq %ecx, %r8
movq (%rax,%r8,8), %r9
movslq %edx, %r10
xorl %r8d, %r8d
cmpb $0x31, (%r9,%r10)
sete %r8b
jmp 0x9d4a
movl $0x1e8, %edx            # imm = 0x1E8
movq %rbx, %rdi
callq 0x63e0
movq %rbx, %rax
popq %rbx
retq