LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_cd/ft_cd.c
// Function: home_not_exists
short	home_not_exists(t_shell *shell, char *path)
{
	char	*tmp;

	free(path);
	path = NULL;
	tmp = ft_strdup(shell->binary);
	print_errors(shell, " HOME not set", tmp);
	free(tmp);
	return (1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1030
movq $0x0, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x8190
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x6883(%rip), %rsi      # 0x9074
callq 0x6f10
movq -0x18(%rbp), %rdi
callq 0x1030
movw $0x1, %ax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_cd/ft_cd.c
// Function: change_dir
void	change_dir(char *path, t_shell *shell)
{
	char		*oldcwd;
	char		*cwd;
	char		*tmp;

	oldcwd = ft_calloc(1024, sizeof(oldcwd));
	cwd = ft_calloc(1024, sizeof(cwd));
	if (chdir(path) == 0)
	{
		getcwd(cwd, 1024);
		tmp = get_env(shell, "PWD");
		if (tmp)
			update_olddir(shell, tmp);
		else
			update_olddir(shell, "");
		free(tmp);
		if (is_symbolic_link(path))
			set_path(path, "PWD=", shell);
		else
			set_path(cwd, "PWD=", shell);
	}
	else
		change_dir_error(shell, path);
	free(oldcwd);
	free(cwd);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x400, %edi            # imm = 0x400
movl $0x8, %esi
callq 0x7b00
movq %rax, -0x18(%rbp)
movl $0x400, %edi            # imm = 0x400
movl $0x8, %esi
callq 0x7b00
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
callq 0x1060
cmpl $0x0, %eax
jne 0x2913
movq -0x20(%rbp), %rdi
movl $0x400, %esi            # imm = 0x400
callq 0x1090
movq -0x10(%rbp), %rdi
leaq 0x67cf(%rip), %rsi      # 0x9070
callq 0x23f0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x28c0
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x2b70
jmp 0x28d0
movq -0x10(%rbp), %rdi
leaq 0x6753(%rip), %rsi      # 0x901e
callq 0x2b70
movq -0x28(%rbp), %rdi
callq 0x1030
movq -0x8(%rbp), %rdi
callq 0x2940
cmpl $0x0, %eax
je 0x28fd
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
leaq 0x67d0(%rip), %rsi      # 0x90c6
callq 0x2990
jmp 0x2911
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rdx
leaq 0x67ba(%rip), %rsi      # 0x90c6
callq 0x2990
jmp 0x2920
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x2ae0
movq -0x18(%rbp), %rdi
callq 0x1030
movq -0x20(%rbp), %rdi
callq 0x1030
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_cd/ft_cd_utils.c
// Function: set_path
void		set_path(char *path, const char *key, t_shell *shell)
{
	size_t	len;
	size_t	it;
	char	*variable;
	char	**tmp;

	len = ft_strlen(key) + 1;
	it = 0;
	while (shell->env[it])
	{
		if (ft_strnstr(shell->env[it], key, len))
		{
			variable = ft_strjoin(key, path);
			tmp = add_env(&variable, shell->env, it);
			free(variable);
			clean_env(shell);
			shell->env = tmp;
		}
		it++;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x8550
addq $0x1, %rax
movq %rax, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x28(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2a4e
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x8710
cmpq $0x0, %rax
je 0x2a3d
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x8210
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rsi
movq -0x28(%rbp), %rax
movl %eax, %edx
leaq -0x30(%rbp), %rdi
callq 0x72a0
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
callq 0x1030
movq -0x18(%rbp), %rdi
callq 0x6fd0
movq -0x38(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x29bd
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_cd/ft_cd_utils.c
// Function: dir_err
void		dir_err(t_shell *shell, char *path, char *err)
{
	char		*msg;
	char		*tmp;

	path = ft_strjoin(" ", path);
	tmp = ft_strdup(path);
	free(path);
	msg = ft_strjoin(tmp, err);
	free(tmp);
	print_errors(shell, msg, shell->binary);
	free(msg);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x66ee(%rip), %rdi      # 0x916d
callq 0x8210
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x8190
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1030
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x8210
movq %rax, -0x20(%rbp)
movq -0x28(%rbp), %rdi
callq 0x1030
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdx
callq 0x6f10
movq -0x20(%rbp), %rdi
callq 0x1030
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_cd/ft_cd_utils.c
// Function: change_dir_error
void		change_dir_error(t_shell *shell, char *path)
{
	struct stat	s;

	if (stat(path, &s) != -1)
	{
		if (s.st_mode & S_IFDIR)
			dir_err(shell, path, ": Permission denied");
		else
			print_errors(shell, "not a directory:", shell->binary);
	}
	else
		dir_err(shell, path, ": No such file or directory");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x1120
cmpl $-0x1, %eax
je 0x2b48
movl -0x88(%rbp), %eax
andl $0x4000, %eax           # imm = 0x4000
cmpl $0x0, %eax
je 0x2b2e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0x655b(%rip), %rdx      # 0x9082
callq 0x2a60
jmp 0x2b46
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0x6555(%rip), %rsi      # 0x9096
callq 0x6f10
jmp 0x2b5c
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0x6550(%rip), %rdx      # 0x90a7
callq 0x2a60
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_echo.c
// Function: ft_echo
int		ft_echo(char **args)
{
	int		end;
	size_t	it;

	it = 0;
	end = 1;
	while (args[it])
	{
		if (ft_strncmp(args[it], "-n", 2) == 0)
		{
			end = 0;
			it++;
		}
		else
			break ;
	}
	while (args[it])
	{
		ft_putstr_fd(args[it], 1);
		if (args[it + 1])
			write(1, " ", 1);
		it++;
	}
	if (end)
		write(1, "\n", 1);
	return (1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x18(%rbp)
movl $0x1, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2c15
movq -0x8(%rbp), %rax
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x64de(%rip), %rsi      # 0x90cb
movl $0x2, %edx
callq 0x85c0
cmpl $0x0, %eax
jne 0x2c11
movl $0x0, -0xc(%rbp)
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x2c13
jmp 0x2c15
jmp 0x2bcb
jmp 0x2c17
movq -0x8(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2c70
movq -0x8(%rbp), %rax
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movl $0x1, %esi
callq 0x7de0
movq -0x8(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq $0x0, 0x8(%rax,%rcx,8)
je 0x2c62
movl $0x1, %edi
leaq 0x6515(%rip), %rsi      # 0x916d
movl $0x1, %edx
callq 0x1040
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x2c17
cmpl $0x0, -0xc(%rbp)
je 0x2c8c
movl $0x1, %edi
leaq 0x639b(%rip), %rsi      # 0x901d
movl $0x1, %edx
callq 0x1040
movl $0x1, %eax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_pwd.c
// Function: ft_pwd
int		ft_pwd(t_shell *shell)
{
	char		cwd[1024];
	char		*tmp;

	tmp = get_env(shell, "PWD");
	if (is_symbolic_link(tmp))
		ft_putendl_fd(tmp, 1);
	else if (getcwd(cwd, sizeof(cwd)))
		ft_putendl_fd(cwd, 1);
	free(tmp);
	return (1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x420, %rsp            # imm = 0x420
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
leaq 0x63b6(%rip), %rsi      # 0x9070
callq 0x23f0
movq %rax, -0x418(%rbp)
movq -0x418(%rbp), %rdi
callq 0x2940
cmpl $0x0, %eax
je 0x2cea
movq -0x418(%rbp), %rdi
movl $0x1, %esi
callq 0x7d80
jmp 0x2d14
leaq -0x410(%rbp), %rdi
movl $0x400, %esi            # imm = 0x400
callq 0x1090
cmpq $0x0, %rax
je 0x2d12
leaq -0x410(%rbp), %rdi
movl $0x1, %esi
callq 0x7d80
jmp 0x2d14
movq -0x418(%rbp), %rdi
callq 0x1030
movl $0x1, %eax
addq $0x420, %rsp            # imm = 0x420
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_unset.c
// Function: ft_unset
int				ft_unset(t_shell *shell)
{
	size_t	it;

	it = 1;
	while (shell->args[it])
	{
		if (has_valid_name_unset(shell->args[it]))
			delete_environment(shell, shell->args[it], shell->env);
		else
			not_valid_keyname(shell, shell->args[it], "unset");
		it++;
	}
	return (1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq $0x1, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2dc3
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2dd0
cmpw $0x0, %ax
je 0x2d95
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdx
callq 0x22f0
jmp 0x2db5
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x6282(%rip), %rdx      # 0x9032
callq 0x37d0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x2d44
movl $0x1, %eax
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_unset.c
// Function: has_valid_name_unset
static short	has_valid_name_unset(char *str)
{
	int	i;

	i = 0;
	if (!*str || is_num(*str) || *str == '=')
		return (0);
	while (str[i])
	{
		if (is_forbidden_char(str, i) || str[i] == '=')
			return (0);
		i++;
	}
	return (1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
cmpb $0x0, (%rax)
je 0x2e0a
movq -0x10(%rbp), %rax
movsbl (%rax), %edi
callq 0x35d0
cwtl
cmpl $0x0, %eax
jne 0x2e0a
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
jne 0x2e12
movw $0x0, -0x2(%rbp)
jmp 0x2e5e
jmp 0x2e14
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
cmpb $0x0, (%rax,%rcx)
je 0x2e58
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x3600
cwtl
cmpl $0x0, %eax
jne 0x2e45
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x3d, %eax
jne 0x2e4d
movw $0x0, -0x2(%rbp)
jmp 0x2e5e
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x2e14
movw $0x1, -0x2(%rbp)
movw -0x2(%rbp), %ax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_export/ft_export.c
// Function: process_envs
char	**process_envs(char **env)
{
	char	**tmp_envp;
	char	*tmp;
	char	*tmp2;
	int		i;

	i = 0;
	tmp_envp = ft_strdup_matrix(env);
	while (tmp_envp[i])
	{
		tmp = ft_strjoin("declare -x ", tmp_envp[i]);
		tmp2 = add_quotes_and_backslash(tmp);
		free(tmp_envp[i]);
		free(tmp);
		tmp_envp[i] = tmp2;
		i++;
	}
	return (tmp_envp);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0x24(%rbp)
movq -0x8(%rbp), %rdi
callq 0x7120
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2efd
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x621c(%rip), %rdi      # 0x90ce
callq 0x8210
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
callq 0x3410
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x1030
movq -0x18(%rbp), %rdi
callq 0x1030
movq -0x20(%rbp), %rdx
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x2e90
movq -0x10(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_export/ft_export.c
// Function: print_sorted_env
size_t	print_sorted_env(t_shell *shell)
{
	char **tmp_envp;
	char **tmp_envp2;

	tmp_envp = sort_alpha(ft_strdup_matrix(shell->env));
	tmp_envp2 = process_envs(tmp_envp);
	ft_env(shell, tmp_envp2);
	clean_matrix(tmp_envp);
	free(tmp_envp);
	clean_matrix(tmp_envp2);
	free(tmp_envp2);
	return (1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
callq 0x7120
movq %rax, %rdi
callq 0x3290
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2e70
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x24a0
movq -0x10(%rbp), %rdi
callq 0x6f80
movq -0x10(%rbp), %rdi
callq 0x1030
movq -0x18(%rbp), %rdi
callq 0x6f80
movq -0x18(%rbp), %rdi
callq 0x1030
movl $0x1, %eax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_export/ft_export.c
// Function: export_values
void	export_values(t_shell *shell, char *last_arg, int j)
{
	int		i;
	int		key_len;
	char	*value;
	char	*tmp;
	char	**tmp_env;

	i = 0;
	if (last_arg)
		value = ft_strdup(last_arg);
	else
		value = ft_strdup(shell->args[j]);
	tmp = ft_strchr(value, '=');
	key_len = ft_strlen(value) - ft_strlen(tmp);
	while (shell->env[i]
			&& ft_strncmp_equal(shell->env[i], value, key_len))
		i++;
	tmp = ft_strdup(value);
	free(value);
	value = parse_backslash(tmp, 2);
	free(tmp);
	tmp_env = add_env(&value, shell->env, i);
	clean_env(shell);
	free(value);
	shell->env = tmp_env;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x2fb0
movq -0x10(%rbp), %rdi
callq 0x8190
movq %rax, -0x28(%rbp)
jmp 0x2fc9
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x8190
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
movl $0x3d, %esi
callq 0x8110
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
callq 0x8550
movq %rax, -0x40(%rbp)
movq -0x30(%rbp), %rdi
callq 0x8550
movq %rax, %rcx
movq -0x40(%rbp), %rax
subq %rcx, %rax
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rcx
movslq -0x18(%rbp), %rdx
xorl %eax, %eax
cmpq $0x0, (%rcx,%rdx,8)
movb %al, -0x41(%rbp)
je 0x303b
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movq -0x28(%rbp), %rsi
movl -0x1c(%rbp), %edx
callq 0x3520
cmpl $0x0, %eax
setne %al
movb %al, -0x41(%rbp)
movb -0x41(%rbp), %al
testb $0x1, %al
jne 0x3044
jmp 0x304f
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x2ffe
movq -0x28(%rbp), %rdi
callq 0x8190
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
callq 0x1030
movq -0x30(%rbp), %rdi
movl $0x2, %esi
callq 0x3b70
movq %rax, -0x28(%rbp)
movq -0x30(%rbp), %rdi
callq 0x1030
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rsi
movl -0x18(%rbp), %edx
leaq -0x28(%rbp), %rdi
callq 0x72a0
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
callq 0x6fd0
movq -0x28(%rbp), %rdi
callq 0x1030
movq -0x38(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x20(%rax)
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_export/ft_export.c
// Function: ft_export
int		ft_export(t_shell *shell, char *last_arg)
{
	char	*tmp;
	int		j;

	j = 1;
	if (last_arg && has_valid_name(last_arg))
		export_values(shell, last_arg, 0);
	else if (last_arg)
		not_valid_keyname(shell, last_arg, "export");
	else if (!shell->args[j])
		return (print_sorted_env(shell));
	else
	{
		while (shell->args[j])
		{
			if (!has_valid_name(shell->args[j]))
				not_valid_keyname(shell, shell->args[j], "export");
			else if ((tmp = ft_strchr(shell->args[j], '='))
					&& *tmp != *shell->args[j])
				export_values(shell, last_arg, j);
			j++;
		}
	}
	return (1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x1, -0x24(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x3101
movq -0x18(%rbp), %rdi
callq 0x3720
cwtl
cmpl $0x0, %eax
je 0x3101
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
xorl %edx, %edx
callq 0x2f80
jmp 0x3203
cmpq $0x0, -0x18(%rbp)
je 0x3121
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq 0x5f14(%rip), %rdx      # 0x902b
callq 0x37d0
jmp 0x3201
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x24(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x3145
movq -0x10(%rbp), %rdi
callq 0x2f10
movl %eax, -0x4(%rbp)
jmp 0x320a
jmp 0x3147
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x24(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x31fd
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x3720
cmpw $0x0, %ax
jne 0x319b
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x5e97(%rip), %rdx      # 0x902b
callq 0x37d0
jmp 0x31ef
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movl $0x3d, %esi
callq 0x8110
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0x31ed
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
movq -0x10(%rbp), %rcx
movq 0x18(%rcx), %rcx
movslq -0x24(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rcx), %ecx
cmpl %ecx, %eax
je 0x31ed
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x24(%rbp), %edx
callq 0x2f80
jmp 0x31ef
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x3147
jmp 0x31ff
jmp 0x3201
jmp 0x3203
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_export/ft_export_utils.c
// Function: is_bigger
size_t	is_bigger(char *s1, char *s2)
{
	int ret;

	ret = 0;
	if (*s1 == *s2)
		ret = is_bigger(s1 + 1, s2 + 1);
	else if (*s1 > *s2)
		ret = 1;
	return (ret);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x8(%rbp), %rax
movsbl (%rax), %eax
movq -0x10(%rbp), %rcx
movsbl (%rcx), %ecx
cmpl %ecx, %eax
jne 0x3263
movq -0x8(%rbp), %rdi
addq $0x1, %rdi
movq -0x10(%rbp), %rsi
addq $0x1, %rsi
callq 0x3220
movl %eax, -0x14(%rbp)
jmp 0x327e
movq -0x8(%rbp), %rax
movsbl (%rax), %eax
movq -0x10(%rbp), %rcx
movsbl (%rcx), %ecx
cmpl %ecx, %eax
jle 0x327c
movl $0x1, -0x14(%rbp)
jmp 0x327e
movslq -0x14(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_export/ft_export_utils.c
// Function: sort_alpha
char	**sort_alpha(char **envp)
{
	char	*tmp;
	size_t	len;
	size_t	i;
	size_t	j;

	len = 0;
	i = 0;
	while (envp[len + 1])
		len++;
	while (i < len)
	{
		j = 0;
		while (j < len - i)
		{
			if (is_bigger(envp[j], envp[j + 1]))
			{
				tmp = envp[j];
				envp[j] = envp[j + 1];
				envp[j + 1] = tmp;
			}
			j++;
		}
		i++;
	}
	return (envp);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq $0x0, 0x8(%rax,%rcx,8)
je 0x32ca
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x32ac
jmp 0x32cc
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jae 0x3370
movq $0x0, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq -0x18(%rbp), %rcx
subq -0x20(%rbp), %rcx
cmpq %rcx, %rax
jae 0x335f
movq -0x8(%rbp), %rax
movq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movq -0x8(%rbp), %rax
movq -0x28(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rsi
callq 0x3220
cmpq $0x0, %rax
je 0x3351
movq -0x8(%rbp), %rax
movq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq -0x28(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rdx
movq -0x8(%rbp), %rax
movq -0x28(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x10(%rbp), %rdx
movq -0x8(%rbp), %rax
movq -0x28(%rbp), %rcx
movq %rdx, 0x8(%rax,%rcx,8)
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x32e2
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x32cc
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_export/ft_export_utils.c
// Function: count_special_chars
int		count_special_chars(char *str)
{
	int count;

	count = 0;
	while (*str)
	{
		if (is_escapable_char_export(*str))
			count++;
		str++;
	}
	return (count);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x8(%rbp), %rax
cmpb $0x0, (%rax)
je 0x3405
movq -0x8(%rbp), %rax
movsbl (%rax), %edi
callq 0x3380
cmpw $0x0, %ax
je 0x33f7
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8(%rbp)
jmp 0x33d3
movl -0xc(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_export/ft_export_utils.c
// Function: add_quotes_and_backslash
char	*add_quotes_and_backslash(char *str)
{
	char	*buff;
	int		i;

	i = 0;
	if (!(buff = malloc((ft_strlen(str) + count_special_chars(str) + 3)
						* sizeof(char))))
		return (NULL);
	while (*str)
	{
		if (is_escapable_char_export(*str))
			buff[i++] = '\\';
		buff[i++] = *str;
		if (*str == '=')
			buff[i++] = '\"';
		str++;
	}
	buff[i++] = '\"';
	buff[i] = '\0';
	return (buff);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x8550
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0x33c0
movq -0x28(%rbp), %rdi
cltq
addq %rax, %rdi
addq $0x3, %rdi
shlq $0x0, %rdi
callq 0x1140
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x3466
movq $0x0, -0x8(%rbp)
jmp 0x350e
jmp 0x3468
movq -0x10(%rbp), %rax
cmpb $0x0, (%rax)
je 0x34e4
movq -0x10(%rbp), %rax
movsbl (%rax), %edi
callq 0x3380
cmpw $0x0, %ax
je 0x3499
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x1c(%rbp)
movslq %ecx, %rcx
movb $0x5c, (%rax,%rcx)
movq -0x10(%rbp), %rax
movb (%rax), %dl
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x1c(%rbp)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
jne 0x34d6
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x1c(%rbp)
movslq %ecx, %rcx
movb $0x22, (%rax,%rcx)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x3468
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x1c(%rbp)
movslq %ecx, %rcx
movb $0x22, (%rax,%rcx)
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_export/ft_export_utils_2.c
// Function: ft_strncmp_equal
int		ft_strncmp_equal(char *str1, char *str2, int len)
{
	while (*str1 && *str2 && len)
	{
		if (*str1 != *str2)
			return (1);
		str1++;
		str2++;
		len--;
	}
	if (*str1 == *str2)
		return (0);
	return (1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x1d(%rbp)
je 0x355b
movq -0x18(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x1d(%rbp)
je 0x355b
cmpl $0x0, -0x1c(%rbp)
setne %al
movb %al, -0x1d(%rbp)
movb -0x1d(%rbp), %al
testb $0x1, %al
jne 0x3564
jmp 0x35a2
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
movq -0x18(%rbp), %rcx
movsbl (%rcx), %ecx
cmpl %ecx, %eax
je 0x357f
movl $0x1, -0x4(%rbp)
jmp 0x35c4
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
movl -0x1c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x352f
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
movq -0x18(%rbp), %rcx
movsbl (%rcx), %ecx
cmpl %ecx, %eax
jne 0x35bd
movl $0x0, -0x4(%rbp)
jmp 0x35c4
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_export/ft_export_utils_2.c
// Function: is_forbidden_char
short	is_forbidden_char(char *str, int i)
{
	if (str[i] == '$' ||
		str[i] == '&' ||
		str[i] == '|' ||
		str[i] == '@' ||
		str[i] == ';' ||
		str[i] == '!' ||
		str[i] == ' ' ||
		str[i] == '\"' ||
		str[i] == '\'')
		return (1);
	else if (str[i] == '\\' &&
			(str[i + 1] != '_' && !is_num(str[i + 1])))
		return (1);
	return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x24, %eax
je 0x36ac
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x26, %eax
je 0x36ac
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x7c, %eax
je 0x36ac
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x40, %eax
je 0x36ac
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x3b, %eax
je 0x36ac
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x21, %eax
je 0x36ac
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
je 0x36ac
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x22, %eax
je 0x36ac
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x27, %eax
jne 0x36b4
movw $0x1, -0x2(%rbp)
jmp 0x3707
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5c, %eax
jne 0x36ff
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x36ff
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edi
callq 0x35d0
cmpw $0x0, %ax
jne 0x36ff
movw $0x1, -0x2(%rbp)
jmp 0x3707
jmp 0x3701
movw $0x0, -0x2(%rbp)
movw -0x2(%rbp), %ax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_export/ft_export_utils_2.c
// Function: not_valid_keyname
short	not_valid_keyname(t_shell *shell, char *var, char *command)
{
	char	*err_mssg;
	int		len;

	len = ft_strlen(var);
	if (!(err_mssg = malloc((len + 28) * sizeof(char))))
		return (0);
	ft_strlcpy(err_mssg, " `", 3);
	ft_strlcpy(err_mssg + 2, var, len + 1);
	ft_strlcpy(err_mssg + 2 + len, "': not a valid identifier", 26);
	shell->stat_loc = 1;
	print_errors(shell, err_mssg, command);
	free(err_mssg);
	return (1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x8550
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
addl $0x1c, %eax
movslq %eax, %rdi
shlq $0x0, %rdi
callq 0x1140
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x3814
movw $0x0, -0x2(%rbp)
jmp 0x388e
movq -0x28(%rbp), %rdi
leaq 0x5aaa(%rip), %rsi      # 0x92c9
movl $0x3, %edx
callq 0x8470
movq -0x28(%rbp), %rdi
addq $0x2, %rdi
movq -0x18(%rbp), %rsi
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movslq %eax, %rdx
callq 0x8470
movq -0x28(%rbp), %rdi
addq $0x2, %rdi
movslq -0x2c(%rbp), %rax
addq %rax, %rdi
leaq 0x5881(%rip), %rsi      # 0x90da
movl $0x1a, %edx
callq 0x8470
movq -0x10(%rbp), %rax
movl $0x1, 0x28(%rax)
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x6f10
movq -0x28(%rbp), %rdi
callq 0x1030
movw $0x1, -0x2(%rbp)
movw -0x2(%rbp), %ax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_exit.c
// Function: ft_exit
void			ft_exit(t_shell *shell)
{
	int		value;
	char	*nbr;

	if (shell->args[1])
	{
		nbr = shell->args[1];
		value = exit_atoi(shell, nbr);
		if (shell->args[2])
		{
			print_errors(shell, " too many arguments", shell->binary);
			exit(1);
		}
	}
	else
		value = 0;
	shell->stat_loc = value;
	clean_shell(shell);
	exit(value);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x390e
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x3930
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
cmpq $0x0, 0x10(%rax)
je 0x390c
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0x5744(%rip), %rsi      # 0x9041
callq 0x6f10
movl $0x1, %edi
callq 0x1170
jmp 0x3915
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x28(%rax)
movq -0x8(%rbp), %rdi
callq 0x70a0
movl -0xc(%rbp), %edi
callq 0x1170
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_exit.c
// Function: exit_atoi
static int		exit_atoi(t_shell *shell, const char *nptr)
{
	uintmax_t	num;
	int			sign;

	num = 0;
	sign = 0;
	while (ft_isspace(*nptr))
		nptr++;
	if (is_sign(*nptr, &sign))
		nptr++;
	while (*nptr == '0')
		nptr++;
	while (*nptr)
	{
		if ((!ft_isdigit(*nptr) && *nptr != ' ' && *nptr != '\t')
		|| ft_strlen(nptr) > 19)
			numeric_arg_req(shell);
		if (*nptr >= '0' && *nptr <= '9')
			num = num * 10 + *nptr - '0';
		nptr++;
	}
	if ((!sign && num > INTMAX_MAX) || (sign && num > -(uintmax_t)(INTMAX_MIN)))
		numeric_arg_req(shell);
	if (sign == 1)
		num = -1 * num;
	return ((int)num);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %edi
callq 0x70d0
cmpl $0x0, %eax
je 0x396e
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x394f
movq -0x10(%rbp), %rax
leaq -0x1c(%rbp), %rsi
movsbl (%rax), %edi
callq 0x3a90
cmpw $0x0, %ax
je 0x3990
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x3992
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x30, %eax
jne 0x39ac
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x3992
jmp 0x39ae
movq -0x10(%rbp), %rax
cmpb $0x0, (%rax)
je 0x3a3d
movq -0x10(%rbp), %rax
movsbl (%rax), %edi
callq 0x7b60
cmpl $0x0, %eax
jne 0x39e4
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x20, %eax
je 0x39e4
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x9, %eax
jne 0x39f3
movq -0x10(%rbp), %rdi
callq 0x8550
cmpq $0x13, %rax
jbe 0x39fc
movq -0x8(%rbp), %rdi
callq 0x3ae0
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x30, %eax
jl 0x3a2c
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x39, %eax
jg 0x3a2c
imulq $0xa, -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
movsbq (%rcx), %rcx
addq %rcx, %rax
subq $0x30, %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x39ae
cmpl $0x0, -0x1c(%rbp)
jne 0x3a53
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rax, -0x18(%rbp)
ja 0x3a69
cmpl $0x0, -0x1c(%rbp)
je 0x3a72
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
cmpq %rax, -0x18(%rbp)
jbe 0x3a72
movq -0x8(%rbp), %rdi
callq 0x3ae0
cmpl $0x1, -0x1c(%rbp)
jne 0x3a81
imulq $-0x1, -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_exit.c
// Function: is_sign
static short	is_sign(char c, int *sign)
{
	if (c == '-' || c == '+')
	{
		if (c == '-')
			*sign = 1;
		return (1);
	}
	return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movb %dil, %al
movb %al, -0x3(%rbp)
movq %rsi, -0x10(%rbp)
movsbl -0x3(%rbp), %eax
cmpl $0x2d, %eax
je 0x3ab0
movsbl -0x3(%rbp), %eax
cmpl $0x2b, %eax
jne 0x3acb
movsbl -0x3(%rbp), %eax
cmpl $0x2d, %eax
jne 0x3ac3
movq -0x10(%rbp), %rax
movl $0x1, (%rax)
movw $0x1, -0x2(%rbp)
jmp 0x3ad1
movw $0x0, -0x2(%rbp)
movw -0x2(%rbp), %ax
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/builtin/ft_exit.c
// Function: numeric_arg_req
static	void	numeric_arg_req(t_shell *shell)
{
	char		*msg;
	char		*tmp;

	msg = ft_strjoin(shell->binary, ": ");
	tmp = ft_strdup(msg);
	free(msg);
	msg = ft_strjoin(tmp, shell->args[1]);
	free(tmp);
	print_errors(shell, " numeric argument required", msg);
	free(msg);
	exit(255);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x5832(%rip), %rsi      # 0x932d
callq 0x8210
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x8190
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1030
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x8210
movq %rax, -0x10(%rbp)
movq -0x18(%rbp), %rdi
callq 0x1030
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
leaq 0x55a9(%rip), %rsi      # 0x90f4
callq 0x6f10
movq -0x10(%rbp), %rdi
callq 0x1030
movl $0xff, %edi
callq 0x1170
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/parsing/backslash.c
// Function: parse_backslash
char			*parse_backslash(char *str, short parse_mode)
{
	char	*buff;
	char	*ref;
	char	*backslash;

	buff = ft_strdup(str);
	ref = str;
	if (*str == '\\' && !*(str + 1))
	{
		*buff = '\0';
		str++;
	}
	while (*str)
	{
		if (!(backslash = ft_strchr(str, '\\')))
			break ;
		if (is_escapable_char(*(backslash + 1), parse_mode) ||
			is_between_delimiters(backslash, ref, parse_mode))
			remove_backslash_safe(&buff, backslash);
		str = backslash + 1;
		if (*str == '\\')
			str++;
	}
	return (buff);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movw %si, %ax
movq %rdi, -0x8(%rbp)
movw %ax, -0xa(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8190
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5c, %eax
jne 0x3bc1
movq -0x8(%rbp), %rax
cmpb $0x0, 0x1(%rax)
jne 0x3bc1
movq -0x18(%rbp), %rax
movb $0x0, (%rax)
movq -0x8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8(%rbp)
jmp 0x3bc3
movq -0x8(%rbp), %rax
cmpb $0x0, (%rax)
je 0x3c50
movq -0x8(%rbp), %rdi
movl $0x5c, %esi
callq 0x8110
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x3bea
jmp 0x3c50
movq -0x28(%rbp), %rax
movb 0x1(%rax), %al
movsbl %al, %edi
movswl -0xa(%rbp), %esi
callq 0x3c60
cwtl
cmpl $0x0, %eax
jne 0x3c1a
movq -0x28(%rbp), %rdi
movq -0x20(%rbp), %rsi
movswl -0xa(%rbp), %edx
callq 0x3d30
cwtl
cmpl $0x0, %eax
je 0x3c27
movq -0x28(%rbp), %rsi
leaq -0x18(%rbp), %rdi
callq 0x3dc0
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5c, %eax
jne 0x3c4b
movq -0x8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8(%rbp)
jmp 0x3bc3
movq -0x18(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/parsing/backslash.c
// Function: is_escapable_char
static short	is_escapable_char(char c, short parse_mode)
{
	if (parse_mode == 0 && (c == '\'' || c == '\"'))
		return (1);
	else if (parse_mode == 1
			&& (c == ' ' || c == '\t' || c == '|' || c == ';' ||
			c == '$' || c == '\\' || is_alpha(c) ||
			c == '&'))
		return (1);
	else if (parse_mode == 2 && c == '\\')
		return (1);
	return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movw %si, %ax
movb %dil, %cl
movb %cl, -0x3(%rbp)
movw %ax, -0x6(%rbp)
movswl -0x6(%rbp), %eax
cmpl $0x0, %eax
jne 0x3c9b
movsbl -0x3(%rbp), %eax
cmpl $0x27, %eax
je 0x3c90
movsbl -0x3(%rbp), %eax
cmpl $0x22, %eax
jne 0x3c9b
movw $0x1, -0x2(%rbp)
jmp 0x3d1e
movswl -0x6(%rbp), %eax
cmpl $0x1, %eax
jne 0x3cfa
movsbl -0x3(%rbp), %eax
cmpl $0x20, %eax
je 0x3cf2
movsbl -0x3(%rbp), %eax
cmpl $0x9, %eax
je 0x3cf2
movsbl -0x3(%rbp), %eax
cmpl $0x7c, %eax
je 0x3cf2
movsbl -0x3(%rbp), %eax
cmpl $0x3b, %eax
je 0x3cf2
movsbl -0x3(%rbp), %eax
cmpl $0x24, %eax
je 0x3cf2
movsbl -0x3(%rbp), %eax
cmpl $0x5c, %eax
je 0x3cf2
movsbl -0x3(%rbp), %edi
callq 0x5030
cwtl
cmpl $0x0, %eax
jne 0x3cf2
movsbl -0x3(%rbp), %eax
cmpl $0x26, %eax
jne 0x3cfa
movw $0x1, -0x2(%rbp)
jmp 0x3d1e
movswl -0x6(%rbp), %eax
cmpl $0x2, %eax
jne 0x3d14
movsbl -0x3(%rbp), %eax
cmpl $0x5c, %eax
jne 0x3d14
movw $0x1, -0x2(%rbp)
jmp 0x3d1e
jmp 0x3d16
jmp 0x3d18
movw $0x0, -0x2(%rbp)
movw -0x2(%rbp), %ax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/parsing/backslash.c
// Function: is_between_delimiters
static short	is_between_delimiters(char *str, char *ref, int parse_mode)
{
	if (parse_mode && str != ref)
		if ((*(str - 1) == '[' && *(str + 1) == ']') ||
			(*(str - 1) == '{' && *(str + 1) == '}') ||
			(*(str - 1) == '.' && *(str + 1) == '.'))
			return (1);
	return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
je 0x3da7
movq -0x10(%rbp), %rax
cmpq -0x18(%rbp), %rax
je 0x3da7
movq -0x10(%rbp), %rax
movsbl -0x1(%rax), %eax
cmpl $0x5b, %eax
jne 0x3d69
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x5d, %eax
je 0x3d9d
movq -0x10(%rbp), %rax
movsbl -0x1(%rax), %eax
cmpl $0x7b, %eax
jne 0x3d83
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x7d, %eax
je 0x3d9d
movq -0x10(%rbp), %rax
movsbl -0x1(%rax), %eax
cmpl $0x2e, %eax
jne 0x3da5
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x2e, %eax
jne 0x3da5
movw $0x1, -0x2(%rbp)
jmp 0x3dad
jmp 0x3da7
movw $0x0, -0x2(%rbp)
movw -0x2(%rbp), %ax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/parsing/backslash.c
// Function: remove_backslash_safe
static void		remove_backslash_safe(char **buff, char *backslash)
{
	char	*tmp;

	tmp = remove_backslash(*buff, backslash);
	free(*buff);
	*buff = ft_strdup(tmp);
	free(tmp);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x3e20
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x1030
movq -0x18(%rbp), %rdi
callq 0x8190
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rdi
callq 0x1030
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/parsing/backslash.c
// Function: remove_backslash
static char		*remove_backslash(char *buff, char *backslash)
{
	char	*tmp;
	char	*tmp2;
	int		len;
	int		len_left;

	len = ft_strlen(buff);
	len_left = ft_strlen(backslash);
	backslash++;
	if (!(tmp = malloc((len - len_left + 1) * sizeof(char))))
		return (NULL);
	ft_strlcpy(tmp, buff, len - len_left + 1);
	tmp2 = ft_strjoin(tmp, backslash);
	free(tmp);
	return (tmp2);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x8550
movl %eax, -0x2c(%rbp)
movq -0x18(%rbp), %rdi
callq 0x8550
movl %eax, -0x30(%rbp)
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
movl -0x2c(%rbp), %eax
subl -0x30(%rbp), %eax
addl $0x1, %eax
movslq %eax, %rdi
shlq $0x0, %rdi
callq 0x1140
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x3e7d
movq $0x0, -0x8(%rbp)
jmp 0x3eb8
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x2c(%rbp), %eax
subl -0x30(%rbp), %eax
addl $0x1, %eax
movslq %eax, %rdx
callq 0x8470
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x8210
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
callq 0x1030
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/parsing/braces.c
// Function: set_opening_braces
char			*set_opening_braces(char *str)
{
	char	*buff;
	int		i;
	int		j;

	i = 0;
	j = 0;
	if (!(buff = malloc((ft_strlen(str) + count_chars(str, '$') + 1) *
					sizeof(char))))
		return (NULL);
	while (str[j])
	{
		if (j - 1 >= 0 && str[j - 1] == '$' &&
				(j - 2 < 0 || str[j - 2] != '\\') &&
				str[j] != '\\' && str[j] != '%')
			buff[i++] = '{';
		buff[i++] = str[j++];
	}
	buff[i] = '\0';
	return (buff);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
movq -0x10(%rbp), %rdi
callq 0x8550
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movl $0x24, %esi
callq 0x4010
movq -0x28(%rbp), %rdi
cltq
addq %rax, %rdi
addq $0x1, %rdi
shlq $0x0, %rdi
callq 0x1140
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x3f32
movq $0x0, -0x8(%rbp)
jmp 0x4003
jmp 0x3f34
movq -0x10(%rbp), %rax
movslq -0x20(%rbp), %rcx
cmpb $0x0, (%rax,%rcx)
je 0x3fef
movl -0x20(%rbp), %eax
subl $0x1, %eax
cmpl $0x0, %eax
jl 0x3fc0
movq -0x10(%rbp), %rax
movl -0x20(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x24, %eax
jne 0x3fc0
movl -0x20(%rbp), %eax
subl $0x2, %eax
cmpl $0x0, %eax
jl 0x3f88
movq -0x10(%rbp), %rax
movl -0x20(%rbp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5c, %eax
je 0x3fc0
movq -0x10(%rbp), %rax
movslq -0x20(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5c, %eax
je 0x3fc0
movq -0x10(%rbp), %rax
movslq -0x20(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x25, %eax
je 0x3fc0
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x1c(%rbp)
movslq %ecx, %rcx
movb $0x7b, (%rax,%rcx)
movq -0x10(%rbp), %rax
movl -0x20(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movslq %ecx, %rcx
movb (%rax,%rcx), %dl
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x1c(%rbp)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
jmp 0x3f34
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/parsing/braces.c
// Function: count_chars
static int		count_chars(char *str, char character)
{
	int l;

	l = 0;
	while (*str)
	{
		if (*str == character)
			l++;
		str++;
	}
	return (l);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movb %sil, %al
movq %rdi, -0x8(%rbp)
movb %al, -0x9(%rbp)
movl $0x0, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpb $0x0, (%rax)
je 0x4054
movq -0x8(%rbp), %rax
movsbl (%rax), %eax
movsbl -0x9(%rbp), %ecx
cmpl %ecx, %eax
jne 0x4046
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
movq -0x8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8(%rbp)
jmp 0x4025
movl -0x10(%rbp), %eax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/parsing/braces.c
// Function: set_closing_braces
char			*set_closing_braces(char *str)
{
	short	is_open_brace;
	char	*buff;
	int		i;
	int		k;

	i = 0;
	k = 0;
	is_open_brace = 0;
	if (!(buff = malloc((ft_strlen(str) + count_chars(str, '{') + 3) *
					sizeof(char))))
		return (NULL);
	while (str[k])
	{
		if (str[k] == '{' && (k - 1) >= 0 && str[k - 1] == '$')
			is_open_brace = 1;
		buff[i++] = str[k];
		if (is_open_brace && is_limit_character(str[k + 1]))
		{
			buff[i++] = '}';
			is_open_brace = 0;
		}
		k++;
	}
	buff[i] = '\0';
	return (buff);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x24(%rbp)
movl $0x0, -0x28(%rbp)
movw $0x0, -0x12(%rbp)
movq -0x10(%rbp), %rdi
callq 0x8550
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
movl $0x7b, %esi
callq 0x4010
movq -0x30(%rbp), %rdi
cltq
addq %rax, %rdi
addq $0x3, %rdi
shlq $0x0, %rdi
callq 0x1140
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x40c8
movq $0x0, -0x8(%rbp)
jmp 0x4197
jmp 0x40ca
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
cmpb $0x0, (%rax,%rcx)
je 0x4183
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x7b, %eax
jne 0x4114
movl -0x28(%rbp), %eax
subl $0x1, %eax
cmpl $0x0, %eax
jl 0x4114
movq -0x10(%rbp), %rax
movl -0x28(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x24, %eax
jne 0x4114
movw $0x1, -0x12(%rbp)
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movb (%rax,%rcx), %dl
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x24(%rbp)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movswl -0x12(%rbp), %eax
cmpl $0x0, %eax
je 0x4175
movq -0x10(%rbp), %rax
movl -0x28(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edi
callq 0x41b0
cwtl
cmpl $0x0, %eax
je 0x4175
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x24(%rbp)
movslq %ecx, %rcx
movb $0x7d, (%rax,%rcx)
movw $0x0, -0x12(%rbp)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x40ca
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/parsing/braces.c
// Function: is_limit_character
static short	is_limit_character(char character)
{
	if (character == '\'' || character == '\"' ||
			character == '\\' ||
			character == ',' ||
			character == '[' ||
			character == ']' ||
			character == '$' ||
			character == ' ' ||
			character == '@' ||
			character == ';' ||
			character == '\0')
		return (1);
	return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movb %dil, %al
movb %al, -0x3(%rbp)
movsbl -0x3(%rbp), %eax
cmpl $0x27, %eax
je 0x421d
movsbl -0x3(%rbp), %eax
cmpl $0x22, %eax
je 0x421d
movsbl -0x3(%rbp), %eax
cmpl $0x5c, %eax
je 0x421d
movsbl -0x3(%rbp), %eax
cmpl $0x2c, %eax
je 0x421d
movsbl -0x3(%rbp), %eax
cmpl $0x5b, %eax
je 0x421d
movsbl -0x3(%rbp), %eax
cmpl $0x5d, %eax
je 0x421d
movsbl -0x3(%rbp), %eax
cmpl $0x24, %eax
je 0x421d
movsbl -0x3(%rbp), %eax
cmpl $0x20, %eax
je 0x421d
movsbl -0x3(%rbp), %eax
cmpl $0x40, %eax
je 0x421d
movsbl -0x3(%rbp), %eax
cmpl $0x3b, %eax
je 0x421d
movsbl -0x3(%rbp), %eax
cmpl $0x0, %eax
jne 0x4225
movw $0x1, -0x2(%rbp)
jmp 0x422b
movw $0x0, -0x2(%rbp)
movw -0x2(%rbp), %ax
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/vdedios[P]minishell/srcs/parsing/expansion/embrace_expansion.c
// Function: mantain_expansion_spaces
char			*mantain_expansion_spaces(char *str)
{
	int		i;
	short	var_opened;
	char	*buff;

	i = 0;
	var_opened = 0;
	if (!(buff = malloc((ft_strlen(str) + count_chars(str, '$') + 1) *
					sizeof(char))))
		return (NULL);
	while (*str)
	{
		if (*str == '$' && *(str - 1) != '\\' && !var_opened)
			var_opened = 1;
		buff[i++] = *str;
		if (var_opened && *(str + 1) == '}')
		{
			var_opened = 0;
			buff[i++] = ' ';
		}
		str++;
	}
	buff[i] = '\0';
	return (buff);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movw $0x0, -0x16(%rbp)
movq -0x10(%rbp), %rdi
callq 0x8550
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movl $0x24, %esi
callq 0x4360
movq -0x28(%rbp), %rdi
cltq
addq %rax, %rdi
addq $0x1, %rdi
shlq $0x0, %rdi
callq 0x1140
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x42a1
movq $0x0, -0x8(%rbp)
jmp 0x4348
jmp 0x42a3
movq -0x10(%rbp), %rax
cmpb $0x0, (%rax)
je 0x4334
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x24, %eax
jne 0x42d6
movq -0x10(%rbp), %rax
movsbl -0x1(%rax), %eax
cmpl $0x5c, %eax
je 0x42d6
cmpw $0x0, -0x16(%rbp)
jne 0x42d6
movw $0x1, -0x16(%rbp)
movq -0x10(%rbp), %rax
movb (%rax), %dl
movq -0x20(%rbp), %rax
movl -0x14(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x14(%rbp)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movswl -0x16(%rbp), %eax
cmpl $0x0, %eax
je 0x4323
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x7d, %eax
jne 0x4323
movw $0x0, -0x16(%rbp)
movq -0x20(%rbp), %rax
movl -0x14(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x14(%rbp)
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x42a3
movq -0x20(%rbp), %rax
movslq -0x14(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)