LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/main.c
// Function: prompt
void		prompt(void)
{
  char		*dir;
  static int	i = 0;

  dir = getcwd((char *)NULL, 0);
  my_printf("(%s %d)> ", dir, i);
  i += 1;
  free(dir);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
xorl %eax, %eax
movl %eax, %esi
movq %rsi, %rdi
callq 0x20c0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rsi
movl 0xa162(%rip), %edx      # 0xc474
leaq 0x6ceb(%rip), %rdi      # 0x9004
movb $0x0, %al
callq 0x7ed1
movl 0xa14e(%rip), %eax      # 0xc474
addl $0x1, %eax
movl %eax, 0xa145(%rip)      # 0xc474
movq -0x8(%rbp), %rdi
callq 0x2030
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/main.c
// Function: execute_shell
static int	execute_shell(t_info_shell *shell)
{
  (isatty(0)) ? prompt() : 0;
  shell->alias_tab = get_my_alias();
  while ((shell->command = get_next_line(0)))
    {
      if (command_verif(shell) == 0)
	{
	  if (((shell->command = little_verif(my_epurstr(shell->command))) == NULL)
	      || ((shell->command = command_normed(shell->command, ';')) == NULL)
	      || ((shell->historic =
		   history_add(shell->historic, shell->command)) == NULL)
	      || ((shell->tab = my_str_to_wordtab(shell->command, ' ')) == NULL)
	      || ((shell->tablen = my_tablen(shell->tab)) == -1)
	      || ((execution_in_chain(shell)) == 84))
	    return (84);
	}
      (isatty(0)) ? prompt() : 0;
    }
  return (shell->exit_value);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x10(%rbp)
xorl %edi, %edi
callq 0x2050
cmpl $0x0, %eax
je 0x238f
callq 0x22f0
jmp 0x2391
jmp 0x2391
movb $0x0, %al
callq 0x24b0
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x30(%rax)
xorl %edi, %edi
callq 0x5fc0
movq -0x10(%rbp), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
je 0x249d
movq -0x10(%rbp), %rdi
callq 0x6810
cmpl $0x0, %eax
jne 0x2483
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x5bd0
movq %rax, %rdi
callq 0x5b50
movq -0x10(%rbp), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
je 0x2478
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movl $0x3b, %esi
callq 0x6a50
movq -0x10(%rbp), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
je 0x2478
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
callq 0x5660
movq -0x10(%rbp), %rcx
movq %rax, 0x28(%rcx)
cmpq $0x0, %rax
je 0x2478
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movl $0x20, %esi
callq 0x6440
movq -0x10(%rbp), %rcx
movq %rax, 0x18(%rcx)
cmpq $0x0, %rax
je 0x2478
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x5970
movq -0x10(%rbp), %rcx
movl %eax, 0x38(%rcx)
cmpl $-0x1, %eax
je 0x2478
movq -0x10(%rbp), %rdi
callq 0x3b80
cmpl $0x54, %eax
jne 0x2481
movl $0x54, -0x4(%rbp)
jmp 0x24a7
jmp 0x2483
xorl %edi, %edi
callq 0x2050
cmpl $0x0, %eax
je 0x2496
callq 0x22f0
jmp 0x2498
jmp 0x2498
jmp 0x23a3
movq -0x10(%rbp), %rax
movl 0x3c(%rax), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/my_alias/alias.c
// Function: get_my_alias
char		**get_my_alias()
{
  int		i;
  int		j;
  char		*txt;
  char		**alias;
  char		**valid_tab;

  i = 0;
  j = 0;
  txt = my_strdup(MY_ALIAS);
  if ((alias = my_str_to_wordtab(txt, '\n')) == NULL)
    return (NULL);
  if ((valid_tab = malloc(sizeof(char *) * ((my_tablen(alias)) + 1))) == NULL)
    return (NULL);
  while (alias[i] != NULL)
    {
      if ((my_find_str(alias[i], "alias ") == 1))
	valid_tab[j++] = my_strdup(alias[i]);
      i += 1;
    }
  valid_tab[j] = NULL;
  free_all(txt, alias);
  return (valid_tab);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl $0x0, -0xc(%rbp)
movl $0x0, -0x10(%rbp)
leaq 0x6b41(%rip), %rdi      # 0x900e
callq 0x6630
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movl $0xa, %esi
callq 0x6440
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x24fb
movq $0x0, -0x8(%rbp)
jmp 0x25b2
movq -0x20(%rbp), %rdi
callq 0x5970
addl $0x1, %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x2130
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x252a
movq $0x0, -0x8(%rbp)
jmp 0x25b2
jmp 0x252c
movq -0x20(%rbp), %rax
movslq -0xc(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x258d
movq -0x20(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x6ac5(%rip), %rsi      # 0x9013
callq 0x5790
cmpl $0x1, %eax
jne 0x2582
movq -0x20(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, %rdx
movq -0x28(%rbp), %rax
movl -0x10(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x10(%rbp)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x252c
movq -0x28(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x5850
movq -0x28(%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/MaxenceEpitech[P]42sh/my_alias/alias.c
// Function: cut_alias
char		**cut_alias(char **tab)
{
  int		i;
  int		j;
  char		**alias;
  char		buffer[2];

  if ((alias = malloc(sizeof(char *) * ((my_tablen(tab)) + 1))) == NULL)
    return (NULL);
  i = 0;
  buffer[1] = '\0';
  while (tab[i] != NULL)
    {
      j = 0;
      alias[i] = NULL;
      while (tab[i][j] != ' ')
	j += 1;
      while (tab[i][++j] != '=')
	{
	  buffer[0] = tab[i][j];
	  alias[i] = my_strcat(alias[i], buffer, 1);
	}
      i += 1;
    }
  alias[i] = NULL;
  return (alias);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5970
addl $0x1, %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x2130
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x25fb
movq $0x0, -0x8(%rbp)
jmp 0x26de
movl $0x0, -0x14(%rbp)
movb $0x0, -0x21(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x26c6
movl $0x0, -0x18(%rbp)
movq -0x20(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
je 0x2654
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x2630
jmp 0x2656
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x18(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x18(%rbp)
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x3d, %eax
je 0x26b8
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x18(%rbp), %rcx
movb (%rax,%rcx), %al
movb %al, -0x22(%rbp)
movq -0x20(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq -0x22(%rbp), %rsi
movl $0x1, %edx
callq 0x68d0
movq %rax, %rdx
movq -0x20(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x2656
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x2606
movq -0x20(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x20(%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/MaxenceEpitech[P]42sh/my_alias/alias.c
// Function: cut_commands
char		**cut_commands(char **tab)
{
  int		i;
  int		j;
  char		**commands;
  char		buffer[2];

  if ((commands = malloc(sizeof(char *) * ((my_tablen(tab)) + 1))) == NULL)
    return (NULL);
  i = 0;
  buffer[1] = '\0';
  while (tab[i] != NULL)
    {
      j = 0;
      commands[i] = NULL;
      while (tab[i][j] != '\'')
	j += 1;
      while (tab[i][++j] != '\'')
	{
	  buffer[0] = tab[i][j];
	  commands[i] = my_strcat(commands[i], buffer, 1);
	}
      i += 1;
    }
  commands[i] = NULL;
  return (commands);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5970
addl $0x1, %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x2130
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x272b
movq $0x0, -0x8(%rbp)
jmp 0x280e
movl $0x0, -0x14(%rbp)
movb $0x0, -0x21(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x27f6
movl $0x0, -0x18(%rbp)
movq -0x20(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x27, %eax
je 0x2784
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x2760
jmp 0x2786
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x18(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x18(%rbp)
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x27, %eax
je 0x27e8
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x18(%rbp), %rcx
movb (%rax,%rcx), %al
movb %al, -0x22(%rbp)
movq -0x20(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq -0x22(%rbp), %rsi
movl $0x1, %edx
callq 0x68d0
movq %rax, %rdx
movq -0x20(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x2786
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x2736
movq -0x20(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x20(%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/MaxenceEpitech[P]42sh/my_alias/alias.c
// Function: create_new_command
char		**create_new_command(char **commands, char **alias,
				     t_info_shell *shell, int size)
{
  t_count	ct;
  char		**new_tab;
  char		**tmp;

  (1 == 1) ? (ct.i = 0, ct.j = 0, ct.k = 0) : 1;
  if ((new_tab= malloc(sizeof(char *) * size)) == NULL)
    return (NULL);
  while (shell->tab[ct.i] != NULL)
    {
      ct.l = -1;
      while (alias[++ct.l] != NULL)
	{
	  if (((my_strcmp(shell->tab[ct.i], alias[ct.l])) == 0) && ++ct.i)
	    {
	      tmp = my_str_to_wordtab(commands[ct.l], ' ');
	      while (tmp[ct.k] != NULL)
		new_tab[ct.j++] = my_strdup(tmp[ct.k++]);
	    }
	}
      new_tab[ct.j++] = my_strdup(shell->tab[ct.i++]);
      if (new_tab[ct.j - 1] == NULL)
	break ;
    }
  (1 == 1) ? (new_tab[ct.j] = NULL, free_all(NULL, tmp)) : 1;
  return (new_tab);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
movl $0x0, -0x34(%rbp)
movl $0x0, -0x30(%rbp)
movl $0x0, -0x2c(%rbp)
movslq -0x24(%rbp), %rdi
shlq $0x3, %rdi
callq 0x2130
movq %rax, -0x40(%rbp)
cmpq $0x0, %rax
jne 0x2870
movq $0x0, -0x8(%rbp)
jmp 0x29bd
jmp 0x2872
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x34(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2998
movl $0xffffffff, -0x28(%rbp) # imm = 0xFFFFFFFF
movq -0x18(%rbp), %rax
movl -0x28(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x28(%rbp)
movslq %ecx, %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2945
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x34(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movq -0x18(%rbp), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x58b0
cmpl $0x0, %eax
jne 0x2940
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
cmpl $0x0, %eax
je 0x2940
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movl $0x20, %esi
callq 0x6440
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movslq -0x2c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x293e
movq -0x48(%rbp), %rax
movl -0x2c(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x2c(%rbp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, %rdx
movq -0x40(%rbp), %rax
movl -0x30(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x30(%rbp)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x28f9
jmp 0x2940
jmp 0x2890
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rax
movl -0x34(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x34(%rbp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, %rdx
movq -0x40(%rbp), %rax
movl -0x30(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x30(%rbp)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x40(%rbp), %rax
movl -0x30(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x2993
jmp 0x2998
jmp 0x2872
movq -0x40(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x48(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x5850
movq -0x40(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/my_alias/alias.c
// Function: recognize_my_alias
int		recognize_my_alias(char **commands,
				   char **alias, t_info_shell *shell)
{
  int		i;
  int		j;
  int		size;

  i = -1;
  size = (my_tablen(shell->tab) + my_tablen(commands)) + 1;
  while (shell->tab[++i] != NULL)
    {
      j = -1;
      while (alias[++j] != NULL)
	{
	  if ((my_strcmp(shell->tab[i], alias[j])) == 0)
	    {
	      if (my_tablen(shell->tab) != 1)
		shell->tab = create_new_command(commands, alias, shell, size);
	      else
		{
		  free_all(NULL, shell->tab);
		  shell->tab = my_str_to_wordtab(commands[j], ' ');
		}
	      return (0);
	    }
	}
    }
  return (1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movl $0xffffffff, -0x24(%rbp) # imm = 0xFFFFFFFF
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x5970
movl %eax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5970
movl %eax, %ecx
movl -0x30(%rbp), %eax
addl %ecx, %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movslq %ecx, %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2af0
movl $0xffffffff, -0x28(%rbp) # imm = 0xFFFFFFFF
movq -0x18(%rbp), %rax
movl -0x28(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x28(%rbp)
movslq %ecx, %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2aeb
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movq -0x18(%rbp), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x58b0
cmpl $0x0, %eax
jne 0x2ae6
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x5970
cmpl $0x1, %eax
je 0x2aab
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movl -0x2c(%rbp), %ecx
callq 0x2820
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x18(%rax)
jmp 0x2add
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x5850
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movl $0x20, %esi
callq 0x6440
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x18(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x2af7
jmp 0x2a37
jmp 0x2a11
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/my_alias/alias_detection.c
// Function: create_my_alias
int		create_my_alias(t_info_shell *shell)
{
  char		*new_alias;

  if (alias_check(shell) == 0)
    {
      new_alias = create_valid_alias(shell->tab);
      if (shell->alias_value == 0)
	shell->alias_tab = add_new_alias(shell->alias_tab, new_alias);
      shell->alias_value = 0;
    }
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2cf0
cmpl $0x0, %eax
jne 0x2b5c
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x2de0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x44(%rax)
jne 0x2b51
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x2ec0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x30(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x44(%rax)
xorl %eax, %eax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/my_alias/alias_detection.c
// Function: replace_existing_alias
int		replace_existing_alias(char *new_alias, t_info_shell *shell)
{
  char		**alias;
  int		i;

  i = 0;
  alias = cut_alias(shell->alias_tab);
  while (alias[i] != NULL)
    {
      if (my_strcmp(alias[i], new_alias) == 0)
	{
	  shell->alias_tab[i] = my_strdup(create_valid_alias(shell->tab));
	  shell->alias_value = 1;
	}
      i += 1;
    }
  free_all(NULL, alias);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x25c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2bff
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movq -0x8(%rbp), %rsi
callq 0x58b0
cmpl $0x0, %eax
jne 0x2bf4
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x2de0
movq %rax, %rdi
callq 0x6630
movq %rax, %rdx
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movl $0x1, 0x44(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x2b98
movq -0x18(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x5850
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/my_alias/alias_detection.c
// Function: my_alias
int		my_alias(t_info_shell *shell)
{
  char		**alias;
  char		**commands;

  if (((alias = cut_alias(shell->alias_tab)) == NULL)
      || ((commands = cut_commands(shell->alias_tab)) == NULL))
    return (84);
  if ((my_strcmp(shell->tab[0], "alias") == 0)
      && (shell->tab[1] != NULL)
      && (shell->tab[2] != NULL))
    replace_existing_alias(shell->tab[1], shell);
  recognize_my_alias(commands, alias, shell);
  free_all(NULL, alias);
  free_all(NULL, commands);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x25c0
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
je 0x2c5a
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x26f0
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x2c66
movl $0x54, -0x4(%rbp)
jmp 0x2ce7
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rdi
leaq 0x63a2(%rip), %rsi      # 0x901a
callq 0x58b0
cmpl $0x0, %eax
jne 0x2cb5
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x2cb5
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
cmpq $0x0, 0x10(%rax)
je 0x2cb5
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x2b70
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x10(%rbp), %rdx
callq 0x29d0
movq -0x18(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x5850
movq -0x20(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x5850
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/my_alias/create_alias.c
// Function: alias_check
int		alias_check(t_info_shell *shell)
{
  if (my_tablen(shell->tab) == 1)
    {
      my_printf("%t", shell->alias_tab);
      return (1);
    }
  if (my_tablen(shell->tab) == 2)
    return (1);
  if ((my_strcmp(shell->tab[0], shell->tab[1]) == 0) && (shell->tab[2] != NULL))
    {
      my_printf("%s", ALIAS_ERROR);
      return (1);
    }
  if ((my_strcmp(shell->tab[0], shell->tab[1]) == 0))
    return (1);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x5970
cmpl $0x1, %eax
jne 0x2d30
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rsi
leaq 0x6303(%rip), %rdi      # 0x9020
movb $0x0, %al
callq 0x7ed1
movl $0x1, -0x4(%rbp)
jmp 0x2dca
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x5970
cmpl $0x2, %eax
jne 0x2d4b
movl $0x1, -0x4(%rbp)
jmp 0x2dca
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x58b0
cmpl $0x0, %eax
jne 0x2d99
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
cmpq $0x0, 0x10(%rax)
je 0x2d99
leaq 0x6466(%rip), %rdi      # 0x91e8
leaq 0x629a(%rip), %rsi      # 0x9023
movb $0x0, %al
callq 0x7ed1
movl $0x1, -0x4(%rbp)
jmp 0x2dca
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x58b0
cmpl $0x0, %eax
jne 0x2dc3
movl $0x1, -0x4(%rbp)
jmp 0x2dca
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/my_alias/create_alias.c
// Function: create_valid_alias
char		*create_valid_alias(char **tab)
{
  int		i;
  char		*command;

  i = 2;
  command = NULL;
  command = my_strcat(my_strcat(my_strcat(tab[0], " ", 2), tab[1], 2), "='", 1);
  while (tab[i] != NULL)
    {
      if (i != 2)
	command = my_strcat(command, " ", 1);
      command = my_strcat(command, tab[i], 1);
      i += 1;
    }
  command = my_strcat(command, "'\0", 2);
  return (command);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x2, -0xc(%rbp)
movq $0x0, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x6203(%rip), %rsi      # 0x900c
movl $0x2, %edx
callq 0x68d0
movq %rax, %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
movl $0x2, %edx
callq 0x68d0
movq %rax, %rdi
leaq 0x6216(%rip), %rsi      # 0x9048
movl $0x1, %edx
callq 0x68d0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2e97
cmpl $0x2, -0xc(%rbp)
je 0x2e6e
movq -0x18(%rbp), %rdi
leaq 0x61ac(%rip), %rsi      # 0x900c
movl $0x1, %edx
callq 0x68d0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
movl $0x1, %edx
callq 0x68d0
movq %rax, -0x18(%rbp)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x2e40
movq -0x18(%rbp), %rdi
leaq 0x61a9(%rip), %rsi      # 0x904b
movl $0x2, %edx
callq 0x68d0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/my_alias/create_alias.c
// Function: add_new_alias
char		**add_new_alias(char **tab, char *command)
{
  int		i;
  char		**new_tab;

  i = 0;
  if ((new_tab = malloc(sizeof(char *) * ((my_tablen(tab) + 1) + 1))) == NULL)
    return (NULL);
  while (tab[i] != NULL)
    {
      new_tab[i] = my_strdup(tab[i]);
      i += 1;
    }
  new_tab[i] = my_strdup(command);
  new_tab[i + 1] = NULL;
  free_all(command, tab);
  return (new_tab);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5970
addl $0x1, %eax
addl $0x1, %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x2130
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x2f06
movq $0x0, -0x8(%rbp)
jmp 0x2f84
jmp 0x2f08
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2f42
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, %rdx
movq -0x28(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x2f08
movq -0x18(%rbp), %rdi
callq 0x6630
movq %rax, %rdx
movq -0x28(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x28(%rbp), %rax
movl -0x1c(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x5850
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/builtin/my_cd.c
// Function: cd_check
int		cd_check(char **tab)
{
  int		i;

  i = 0;
  while (tab[i] != NULL)
    i += 1;
  if (i > 2)
    {
      my_printf("%s", CD_AV);
      return (1);
    }
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2ffd
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x2fe3
cmpl $0x2, -0x14(%rbp)
jle 0x3021
leaq 0x61de(%rip), %rdi      # 0x91e8
leaq 0x6040(%rip), %rsi      # 0x9051
movb $0x0, %al
callq 0x7ed1
movl $0x1, -0x4(%rbp)
jmp 0x3028
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/builtin/my_cd.c
// Function: cd_minus
int		cd_minus(char *path, char **dir, char **save)
{
  if ((my_strcmp(path, "-") == 0))
    {
      if (*dir != NULL)
	{
	  *save = getcwd((char *)NULL, 0);
	  chdir(*dir);
	}
      else
	my_printf("%s", CD_DIR);
      *dir = *save;
      return (0);
    }
  return (1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x600b(%rip), %rsi      # 0x906a
callq 0x58b0
cmpl $0x0, %eax
jne 0x30c3
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
je 0x3097
xorl %eax, %eax
movl %eax, %esi
movq %rsi, %rdi
callq 0x20c0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x2090
jmp 0x30ac
leaq 0x614a(%rip), %rdi      # 0x91e8
leaq 0x5fc7(%rip), %rsi      # 0x906c
movb $0x0, %al
callq 0x7ed1
movq -0x20(%rbp), %rax
movq (%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movl $0x0, -0x4(%rbp)
jmp 0x30ca
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/builtin/my_cd.c
// Function: my_cd
int		my_cd(t_info_shell *shell)
{
  char		*path;
  static char	*dir = NULL;
  static char	*save = NULL;

  if (cd_check(shell->tab) == 1)
    return (0);
  if (shell->tab[1] == NULL)
    path = get_path(environ, "HOME");
  else
    path = shell->tab[1];
  if ((cd_minus(path, &dir, &save)) == 0)
    return (0);
  dir = getcwd((char *)NULL, 0);
  if ((chdir(path)) == -1)
    {
      shell->exit_value = 1;
      my_printf("%s: %s.\n", path, strerror(errno));
      return (84);
    }
  free(path);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x2fd0
cmpl $0x1, %eax
jne 0x310a
movl $0x0, -0x4(%rbp)
jmp 0x31d8
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
cmpq $0x0, 0x8(%rax)
jne 0x3135
movq 0x8ec8(%rip), %rax      # 0xbfe8
movq (%rax), %rdi
leaq 0x5f60(%rip), %rsi      # 0x908a
callq 0x5ea0
movq %rax, -0x18(%rbp)
jmp 0x3145
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
leaq 0x9328(%rip), %rsi      # 0xc478
leaq 0x9329(%rip), %rdx      # 0xc480
callq 0x3040
cmpl $0x0, %eax
jne 0x316a
movl $0x0, -0x4(%rbp)
jmp 0x31d8
xorl %eax, %eax
movl %eax, %esi
movq %rsi, %rdi
callq 0x20c0
movq %rax, 0x92fb(%rip)      # 0xc478
movq -0x18(%rbp), %rdi
callq 0x2090
cmpl $-0x1, %eax
jne 0x31c8
movq -0x10(%rbp), %rax
movl $0x1, 0x3c(%rax)
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
callq 0x2040
movl (%rax), %edi
callq 0x21c0
movq -0x20(%rbp), %rsi
movq %rax, %rdx
leaq 0x5ed7(%rip), %rdi      # 0x908f
movb $0x0, %al
callq 0x7ed1
movl $0x54, -0x4(%rbp)
jmp 0x31d8
movq -0x18(%rbp), %rdi
callq 0x2030
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/builtin/my_display_env.c
// Function: my_display_env
int		my_display_env(t_info_shell *shell)
{
  int		i;

  (void)shell;
  i = 0;
  while (environ[i] != NULL)
    {
      my_printf("%s\n", environ[i]);
      i += 1;
    }
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movq 0x8dde(%rip), %rax      # 0xbfe8
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x3243
movq 0x8dc9(%rip), %rax      # 0xbfe8
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x617e(%rip), %rdi      # 0x93af
movb $0x0, %al
callq 0x7ed1
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x3203
xorl %eax, %eax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/builtin/my_setenv.c
// Function: check
int		check(t_info_shell *shell)
{
  int		i;

  i = 0;
  if (shell->tab[1] == NULL)
    {
      my_display_env(shell);
      return (0);
    }
  if (verif_first_letter(shell->tab[1]) == 1)
    {
      my_printf("%s%s", SETENV_NAME, SETENV_LETTER);
      return (1);
    }
  if (my_str_isalpha(shell->tab[1]) == 1)
    {
      my_printf("%s %s\n", SETENV_NAME, SETENV_ALPHA);
      return (1);
    }
  while (shell->tab[i++] != NULL)
    if (i > 3)
      {
	my_printf("%s", SETENV_AV);
	return (1);
      }
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
cmpq $0x0, 0x8(%rax)
jne 0x3287
movq -0x10(%rbp), %rdi
callq 0x31f0
movl $0x0, -0x4(%rbp)
jmp 0x334c
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x65e0
cmpl $0x1, %eax
jne 0x32c5
leaq 0x5df4(%rip), %rdi      # 0x9098
leaq 0x5df2(%rip), %rsi      # 0x909d
leaq 0x5e06(%rip), %rdx      # 0x90b8
movb $0x0, %al
callq 0x7ed1
movl $0x1, -0x4(%rbp)
jmp 0x334c
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x6530
cmpl $0x1, %eax
jne 0x3300
leaq 0x5f21(%rip), %rdi      # 0x9203
leaq 0x5db4(%rip), %rsi      # 0x909d
leaq 0x5ddf(%rip), %rdx      # 0x90cf
movb $0x0, %al
callq 0x7ed1
movl $0x1, -0x4(%rbp)
jmp 0x334c
jmp 0x3302
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movl -0x14(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x14(%rbp)
movslq %ecx, %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x3345
cmpl $0x3, -0x14(%rbp)
jle 0x3343
leaq 0x5ebc(%rip), %rdi      # 0x91e8
leaq 0x5dbd(%rip), %rsi      # 0x90f0
movb $0x0, %al
callq 0x7ed1
movl $0x1, -0x4(%rbp)
jmp 0x334c
jmp 0x3302
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/builtin/my_setenv.c
// Function: my_set_env
int		my_set_env(t_info_shell *shell)
{
  if (check(shell) == 1)
    {
      shell->exit_value = 1;
      return (1);
    }
  if (shell->tab[2] == NULL)
    {
      if ((shell->tab[2] = malloc(sizeof(char) * 1)) == NULL)
	return (84);
      shell->tab[2][0] = '\0';
    }
  setenv(shell->tab[1], shell->tab[2], 1);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x3250
cmpl $0x1, %eax
jne 0x338e
movq -0x10(%rbp), %rax
movl $0x1, 0x3c(%rax)
movl $0x1, -0x4(%rbp)
jmp 0x33fa
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
cmpq $0x0, 0x10(%rax)
jne 0x33d1
movl $0x1, %edi
callq 0x2130
movq -0x10(%rbp), %rcx
movq 0x18(%rcx), %rcx
movq %rax, 0x10(%rcx)
cmpq $0x0, %rax
jne 0x33c2
movl $0x54, -0x4(%rbp)
jmp 0x33fa
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rax
movb $0x0, (%rax)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rsi
movl $0x1, %edx
callq 0x2060
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/builtin/my_unsetenv.c
// Function: check_tab
int		check_tab(char **tab)
{
  int		i;

  i = 0;
  while (tab[i] != NULL)
    i += 1;
  if (i == 1)
    {
      my_printf("unsetenv: Too few arguments.\n");
      return (1);
    }
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x343d
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x3423
cmpl $0x1, -0x14(%rbp)
jne 0x345a
leaq 0x5cc3(%rip), %rdi      # 0x910d
movb $0x0, %al
callq 0x7ed1
movl $0x1, -0x4(%rbp)
jmp 0x3461
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/builtin/my_unsetenv.c
// Function: my_unset_env
int		my_unset_env(t_info_shell *shell)
{
  int		i;

  if (check_tab(shell->tab) == 1)
    return (1);
  i = 1;
  while (shell->tab[i] != NULL)
    {
      if (shell->tab[i] == NULL)
	break ;
      unsetenv(shell->tab[i]);
      i += 1;
    }
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x3410
cmpl $0x1, %eax
jne 0x3497
movl $0x1, -0x4(%rbp)
jmp 0x34ed
movl $0x1, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x14(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x34e6
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x14(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x34c6
jmp 0x34e6
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2170
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x349e
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/execution/execute_command.c
// Function: core_exec
char		*core_exec(t_info_shell *shell, char *env_path,
			   char *valid_path, char **paths)
{
  int		i;

  i = 0;
  while (paths[i] != NULL)
    {
      if ((paths[i] = my_strcat(paths[i], "/", 1)) == NULL
	  || (shell->tab[0] != NULL
	      && (paths[i] = my_strcat(paths[i], shell->tab[0], 1)) == NULL))
	return (NULL);
      if (shell->tab[0] != NULL && access(shell->tab[0], X_OK) != -1)
	{
	  valid_path = my_strcat(shell->tab[0], NULL, 2);
	  free_all(env_path, paths);
	  return (valid_path);
	}
      if (shell->tab[0] != NULL && access(paths[i], X_OK) != -1)
	{
	  valid_path = my_strcat(paths[i], NULL, 2);
	  free_all(env_path, paths);
	  return (valid_path);
	}
      i += 1;
    }
  return (NULL);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movq -0x28(%rbp), %rax
movslq -0x2c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x36b7
movq -0x28(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x5bac(%rip), %rsi      # 0x9131
movl $0x1, %edx
callq 0x68d0
movq -0x28(%rbp), %rcx
movslq -0x2c(%rbp), %rdx
movq %rax, (%rcx,%rdx,8)
cmpq $0x0, %rax
je 0x35e2
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
cmpq $0x0, (%rax)
je 0x35ef
movq -0x28(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rsi
movl $0x1, %edx
callq 0x68d0
movq -0x28(%rbp), %rcx
movslq -0x2c(%rbp), %rdx
movq %rax, (%rcx,%rdx,8)
cmpq $0x0, %rax
jne 0x35ef
movq $0x0, -0x8(%rbp)
jmp 0x36bf
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
cmpq $0x0, (%rax)
je 0x364b
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rdi
movl $0x1, %esi
callq 0x2160
cmpl $-0x1, %eax
je 0x364b
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x2, %edx
callq 0x68d0
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x5850
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x36bf
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
cmpq $0x0, (%rax)
je 0x36a9
movq -0x28(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movl $0x1, %esi
callq 0x2160
cmpl $-0x1, %eax
je 0x36a9
movq -0x28(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x2, %edx
callq 0x68d0
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x5850
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x36bf
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x355f
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/execution/execute_command.c
// Function: is_valid_command
char		*is_valid_command(t_info_shell *shell)
{
  char		*without_path;
  char		*env_path;
  char		*valid_path;
  char		**paths;
  char		*output;

  if ((env_path = get_path(environ, "PATH")) == NULL)
    env_path = shell->path_save;
  if ((paths = my_str_to_wordtab(env_path, ':')) == NULL)
    {
      without_path = my_strcat(PATH, PATH_TWO, 2);
      without_path = my_strcat(without_path, PATH_THREE, 2);
      paths = my_str_to_wordtab(without_path, ':');
    }
  valid_path = NULL;
  if ((output = core_exec(shell, env_path, valid_path, paths)) != NULL)
    return (output);
  free_all(env_path, paths);
  return (NULL);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq 0x8905(%rip), %rax      # 0xbfe8
movq (%rax), %rdi
leaq 0x5a46(%rip), %rsi      # 0x9133
callq 0x5ea0
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x3708
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0x3a, %esi
callq 0x6440
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
jne 0x3767
leaq 0x5a11(%rip), %rdi      # 0x9138
leaq 0x5a33(%rip), %rsi      # 0x9161
movl $0x2, %edx
callq 0x68d0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
leaq 0x5a47(%rip), %rsi      # 0x918e
movl $0x2, %edx
callq 0x68d0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movl $0x3a, %esi
callq 0x6440
movq %rax, -0x30(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rcx
callq 0x3540
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
je 0x3798
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x37ad
movq -0x20(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x5850
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/execution/execute_command.c
// Function: execute_command
int		execute_command(t_info_shell *shell)
{
  int		i;
  char		*valid_path;

  i = 0;
  while (i < 11)
    {
      if (my_strcmp(shell->tab[0], g_key[i].code) == 0)
	{
	  g_key[i].fc(shell);
	  return (shell->exit_value);
	}
      i += 1;
    }
  valid_path = is_valid_command(shell);
  shell->exit_value = exec(shell, valid_path);
  return (shell->exit_value);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
cmpl $0xb, -0x14(%rbp)
jge 0x3836
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rdi
movslq -0x14(%rbp), %rcx
leaq 0x8921(%rip), %rax      # 0xc110
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rsi
callq 0x58b0
cmpl $0x0, %eax
jne 0x382b
movslq -0x14(%rbp), %rcx
leaq 0x8902(%rip), %rax      # 0xc110
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq -0x10(%rbp), %rdi
callq *%rax
movq -0x10(%rbp), %rax
movl 0x3c(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x3863
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x37d3
movq -0x10(%rbp), %rdi
callq 0x36d0
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x3c80
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x3c(%rax)
movq -0x10(%rbp), %rax
movl 0x3c(%rax), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/execution/execution_in_chain.c
// Function: change_command
int		change_command(t_info_shell *shell)
{
  t_count	ct;
  char		*tmp;

  (1 == 1) ? (ct.i = 0, ct.j = 0, ct.k = 0) : 1;
  if ((tmp = malloc(sizeof(char) * (my_strlen(shell->command)))) == NULL)
    return (84);
  if ((shell->mem = malloc(sizeof(char)
			   * (my_strlen(shell->command)))) == NULL)
    return (84);
  while (shell->command[ct.i] != ';')
    {
      if (shell->command[ct.i] == '\0')
	return (free_tmp(shell, tmp));
      tmp[ct.j++] = shell->command[ct.i++];
    }
  tmp[ct.j] = '\0';
  while (shell->command[++ct.i] != '\0')
    shell->mem[ct.k++] = shell->command[ct.i];
  shell->mem[ct.k] = '\0';
  shell->command = my_strdup(tmp);
  free(tmp);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x20(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x5820
movslq %eax, %rdi
shlq $0x0, %rdi
callq 0x2130
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x38bf
movl $0x54, -0x4(%rbp)
jmp 0x39e3
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x5820
movslq %eax, %rdi
shlq $0x0, %rdi
callq 0x2130
movq -0x10(%rbp), %rcx
movq %rax, 0x8(%rcx)
cmpq $0x0, %rax
jne 0x38f1
movl $0x54, -0x4(%rbp)
jmp 0x39e3
jmp 0x38f3
movq -0x10(%rbp), %rax
movq (%rax), %rax
movslq -0x20(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x3b, %eax
je 0x395f
movq -0x10(%rbp), %rax
movq (%rax), %rax
movslq -0x20(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x3930
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x5a30
movl %eax, -0x4(%rbp)
jmp 0x39e3
movq -0x10(%rbp), %rax
movq (%rax), %rax
movl -0x20(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movslq %ecx, %rcx
movb (%rax,%rcx), %dl
movq -0x28(%rbp), %rax
movl -0x1c(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x1c(%rbp)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
jmp 0x38f3
movq -0x28(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movl -0x20(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x39b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movslq -0x20(%rbp), %rcx
movb (%rax,%rcx), %dl
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movl -0x18(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x18(%rbp)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
jmp 0x396b
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x18(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x28(%rbp), %rdi
callq 0x6630
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rdi
callq 0x2030
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/execution/execution_in_chain.c
// Function: change_tab
int		change_tab(t_info_shell *shell)
{
  t_count	ct;
  char		**tmp;

  ct.i = 0;
  ct.j = 0;
  ct.k = 0;
  if (((tmp = malloc(sizeof(char *) * (shell->tablen + 1))) == NULL)
      || ((shell->tab_mem = malloc(sizeof(char *) * shell->tablen)) == NULL))
    return (84);
  while (my_strcmp(shell->tab[ct.i], ";") != 0)
    {
      if (shell->tab[ct.i] == NULL)
	{
	  shell->tab_mem[0] = NULL;
	  return (0);
	}
      tmp[ct.j++] = shell->tab[ct.i++];
    }
  tmp[ct.j] = NULL;
  while (shell->tab[++ct.i] != NULL)
    shell->tab_mem[ct.k++] = my_strdup(shell->tab[ct.i]);
  shell->tab_mem[ct.k] = NULL;
  shell->tab = tmp;
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x20(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x18(%rbp)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
addl $0x1, %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x2130
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
je 0x3a50
movq -0x10(%rbp), %rax
movslq 0x38(%rax), %rdi
shlq $0x3, %rdi
callq 0x2130
movq -0x10(%rbp), %rcx
movq %rax, 0x20(%rcx)
cmpq $0x0, %rax
jne 0x3a5c
movl $0x54, -0x4(%rbp)
jmp 0x3b68
jmp 0x3a5e
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x576d(%rip), %rsi      # 0x91e2
callq 0x58b0
cmpl $0x0, %eax
je 0x3ae2
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x20(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x3aad
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq $0x0, (%rax)
movl $0x0, -0x4(%rbp)
jmp 0x3b68
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movl -0x20(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdx
movq -0x28(%rbp), %rax
movl -0x1c(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x1c(%rbp)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x3a5e
movq -0x28(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movl -0x20(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movslq %ecx, %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x3b41
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, %rdx
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movl -0x18(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x18(%rbp)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x3af2
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/execution/execution_in_chain.c
// Function: execution_in_chain
int		execution_in_chain(t_info_shell *shell)
{
  wordexp_t     p;
  char          **wordextab;

  shell->mem = BOOL;
  while (shell->mem != NULL)
    {
      if (((change_command(shell)) == 84)
	  || ((change_tab(shell)) == 84)
	  || ((my_magic_quote(shell)) == 84))
	return (84);
      if ((wordexp(shell->command, &p, 0)) == 0)
	{
	  wordextab = p.we_wordv;
	  shell->tab = copy_my_tab(wordextab);
	  wordfree(&p);
	}
      if (((my_alias(shell)) == 84) || ((parsing(shell)) == 84))
	return (84);
      shell->command = shell->mem;
      shell->tab = shell->tab_mem;
    }
  return (shell->exit_value);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
leaq 0x5477(%rip), %rcx      # 0x900e
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x3c65
movq -0x10(%rbp), %rdi
callq 0x3870
cmpl $0x54, %eax
je 0x3bd4
movq -0x10(%rbp), %rdi
callq 0x39f0
cmpl $0x54, %eax
je 0x3bd4
movq -0x10(%rbp), %rdi
callq 0x7cd0
cmpl $0x54, %eax
jne 0x3be0
movl $0x54, -0x4(%rbp)
jmp 0x3c6f
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq -0x28(%rbp), %rsi
xorl %edx, %edx
callq 0x21b0
cmpl $0x0, %eax
jne 0x3c1c
movq -0x20(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
callq 0x4d50
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
leaq -0x28(%rbp), %rdi
callq 0x2190
movq -0x10(%rbp), %rdi
callq 0x2c20
cmpl $0x54, %eax
je 0x3c38
movq -0x10(%rbp), %rdi
callq 0x41c0
cmpl $0x54, %eax
jne 0x3c41
movl $0x54, -0x4(%rbp)
jmp 0x3c6f
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
jmp 0x3b9b
movq -0x10(%rbp), %rax
movl 0x3c(%rax), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/execution/exec.c
// Function: exec
int		exec(t_info_shell *shell, char *valid_path)
{
  pid_t		pid;
  int		status;

  pid = fork();
  if (pid == -1)
    return (84);
  if (pid == 0)
    {
      if (valid_path == NULL)
	{
	  my_printf("%s: %s", shell->tab[0], COMMAND_ERROR);
	  exit(EXIT_ERROR);
	}
      execve(valid_path, shell->tab, environ);
      exit(handle_error(valid_path));
    }
  else
    {
      waitpid(pid, &status, WUNTRACED);
      return (get_signals(status));
    }
  return (EXIT_ERROR);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
callq 0x21e0
movl %eax, -0x1c(%rbp)
cmpl $-0x1, -0x1c(%rbp)
jne 0x3ca7
movl $0x54, -0x4(%rbp)
jmp 0x3d25
cmpl $0x0, -0x1c(%rbp)
jne 0x3d09
cmpq $0x0, -0x18(%rbp)
jne 0x3cde
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rsi
leaq 0x551e(%rip), %rdi      # 0x91e4
leaq 0x551e(%rip), %rdx      # 0x91eb
movb $0x0, %al
callq 0x7ed1
movl $0x1, %edi
callq 0x21a0
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
movq 0x82f7(%rip), %rax      # 0xbfe8
movq (%rax), %rdx
callq 0x2110
movq -0x18(%rbp), %rdi
callq 0x3d30
movl %eax, %edi
callq 0x21a0
movl -0x1c(%rbp), %edi
leaq -0x20(%rbp), %rsi
movl $0x2, %edx
callq 0x2140
movl -0x20(%rbp), %edi
callq 0x3da0
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nop