// File: /workspace/github_c_makefile_star2_O2/iciamyplant[P]Cub3d-Linux/src/raycasting.c
// Function: ft_mlx
int		ft_mlx(t_recup *recup)
{
	ft_initialisation2(recup);
	if (!(recup->data.mlx_ptr = mlx_init()))
		ft_error(recup, "Mlx init impossible\n");
	mlx_get_screen_size(recup->data.mlx_ptr, &recup->screenx, &recup->screeny);
	recup->rx = (recup->rx > recup->screenx) ? recup->screenx : recup->rx;
	recup->ry = (recup->ry > recup->screeny) ? recup->screeny : recup->ry;
	ft_get_texture(recup);
	recup->data.img = mlx_new_image(recup->data.mlx_ptr, recup->rx, recup->ry);
	recup->data.addr = (int *)mlx_get_data_addr(recup->data.img, &recup->data.
			bits_per_pixel, &recup->data.line_length, &recup->data.endian);
	if (recup->save == 1)
		ft_raycasting(recup);
	recup->data.mlx_win = mlx_new_window(recup->data.mlx_ptr, recup->rx,
			recup->ry, "Hello world!");
	recup->data.img2 = mlx_new_image(recup->data.mlx_ptr, recup->rx, recup->ry);
	recup->data.addr2 = (int *)mlx_get_data_addr(recup->data.img2, &recup->
			data.bits_per_pixel, &recup->data.line_length, &recup->data.endian);
	mlx_hook(recup->data.mlx_win, 33, 1L << 17, ft_exit, recup);
	mlx_hook(recup->data.mlx_win, 2, 1L << 0, ft_key_press, recup);
	mlx_loop_hook(recup->data.mlx_ptr, ft_raycasting, recup);
	mlx_hook(recup->data.mlx_win, 3, 1L << 1, ft_key_release, recup);
	mlx_loop(recup->data.mlx_ptr);
	return (0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdi, %rbx
callq 0x81b4
xorl %eax, %eax
callq 0xa000
movq %rax, 0x278(%rbx)
testq %rax, %rax
jne 0x9022
leaq 0x4190(%rip), %rsi      # 0xd1a3
movq %rbx, %rdi
callq 0x95a0
movq 0x278(%rbx), %rax
leaq 0x6c(%rbx), %rsi
leaq 0x70(%rbx), %rdx
movq %rax, %rdi
callq 0xc690
movq (%rbx), %xmm0
movq 0x6c(%rbx), %xmm1
movdqa %xmm1, %xmm2
pcmpgtd %xmm0, %xmm2
pand %xmm2, %xmm0
pandn %xmm1, %xmm2
por %xmm0, %xmm2
movq %xmm2, (%rbx)
movq %rbx, %rdi
callq 0x8e1e
movq 0x278(%rbx), %rdi
movl (%rbx), %esi
movl 0x4(%rbx), %edx
callq 0xaa90
movq %rax, 0x288(%rbx)
leaq 0x298(%rbx), %r14
leaq 0x29c(%rbx), %r15
leaq 0x2a0(%rbx), %r12
movq %rax, %rdi
movq %r14, %rsi
movq %r15, %rdx
movq %r12, %rcx
callq 0xad10
movq %rax, 0x290(%rbx)
cmpl $0x1, 0x68(%rbx)
jne 0x90ae
movq %rbx, %rdi
callq 0x8f48
movq 0x278(%rbx), %rdi
movl (%rbx), %esi
movl 0x4(%rbx), %edx
leaq 0x40f7(%rip), %rcx      # 0xd1b8
callq 0xa300
movq %rax, 0x280(%rbx)
movq 0x278(%rbx), %rdi
movl (%rbx), %esi
movl 0x4(%rbx), %edx
callq 0xaa90
movq %rax, 0x2c8(%rbx)
movq %rax, %rdi
movq %r14, %rsi
movq %r15, %rdx
movq %r12, %rcx
callq 0xad10
movq %rax, 0x2d0(%rbx)
movq 0x280(%rbx), %rdi
leaq 0x56e(%rip), %rcx       # 0x9679
pushq $0x21
popq %rsi
movl $0x20000, %edx          # imm = 0x20000
movq %rbx, %r8
callq 0xc5b0
movq 0x280(%rbx), %rdi
leaq -0x1271(%rip), %rcx     # 0x7eb8
pushq $0x2
popq %rbp
pushq $0x1
popq %rdx
movl %ebp, %esi
movq %rbx, %r8
callq 0xc5b0
movq 0x278(%rbx), %rdi
leaq -0x1ff(%rip), %rsi      # 0x8f48
movq %rbx, %rdx
callq 0xa570
movq 0x280(%rbx), %rdi
leaq -0x1216(%rip), %rcx     # 0x7f47
pushq $0x3
popq %rsi
movl %ebp, %edx
movq %rbx, %r8
callq 0xc5b0
movq 0x278(%rbx), %rdi
callq 0xa470
xorl %eax, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)