LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/execution/exec.c
// Function: handle_error
static int	handle_error(char *command)
{
  if (errno == ENOEXEC)
    my_printf("%s: %s %s\n", command, EXEC_ERROR, BINARY_ERROR);
  if (errno == EACCES)
    my_printf("%s: %s", command, PERM_ERROR);
  return (EXIT_ERROR);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
callq 0x2040
cmpl $0x8, (%rax)
jne 0x3d66
movq -0x8(%rbp), %rsi
leaq 0x54ae(%rip), %rdi      # 0x91ff
leaq 0x54b2(%rip), %rdx      # 0x920a
leaq 0x54be(%rip), %rcx      # 0x921d
movb $0x0, %al
callq 0x7ed1
callq 0x2040
cmpl $0xd, (%rax)
jne 0x3d89
movq -0x8(%rbp), %rsi
leaq 0x5469(%rip), %rdi      # 0x91e4
leaq 0x54af(%rip), %rdx      # 0x9231
movb $0x0, %al
callq 0x7ed1
movl $0x1, %eax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/execution/exec.c
// Function: get_signals
static int	get_signals(int status)
{
  if (WTERMSIG(status) == SIGSEGV)
    {
      if (WCOREDUMP(status))
	my_printf(SEGFAULT_DUMPED);
      else
	my_printf(SEGFAULT);
      return (EXIT_SEG);
    }
  else if (WTERMSIG(status) == SIGFPE)
    {
      if (WCOREDUMP(status))
	my_printf(FLOAT_EXCEPTION_DUMPED);
      else
	my_printf(FLOAT_EXCEPTION);
      return (EXIT_EXCEPTION);
    }
  return (WEXITSTATUS(status));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x8(%rbp)
movl -0x8(%rbp), %eax
andl $0x7f, %eax
cmpl $0xb, %eax
jne 0x3dea
movl -0x8(%rbp), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x3dd3
leaq 0x547b(%rip), %rdi      # 0x9245
movb $0x0, %al
callq 0x7ed1
jmp 0x3de1
leaq 0x548d(%rip), %rdi      # 0x9267
movb $0x0, %al
callq 0x7ed1
movl $0x8b, -0x4(%rbp)
jmp 0x3e39
movl -0x8(%rbp), %eax
andl $0x7f, %eax
cmpl $0x8, %eax
jne 0x3e29
movl -0x8(%rbp), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x3e12
leaq 0x5472(%rip), %rdi      # 0x927b
movb $0x0, %al
callq 0x7ed1
jmp 0x3e20
leaq 0x5484(%rip), %rdi      # 0x929d
movb $0x0, %al
callq 0x7ed1
movl $0x88, -0x4(%rbp)
jmp 0x3e39
jmp 0x3e2b
movl -0x8(%rbp), %eax
andl $0xff00, %eax           # imm = 0xFF00
sarl $0x8, %eax
movl %eax, -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/execution/find_flags.c
// Function: find_flags
int		find_flags(t_info_shell *shell)
{
  int		i;
  int		j;

  i = 0;
  while (shell->tab[i] != NULL)
    {
      j = 0;
      while (j < 9)
        {
          if ((my_strcmp(shell->tab[i], g_flags[j].code)) == 0)
            {
              if ((g_flags[j].fc(shell)) == 84)
		return (84);
              return (0);
            }
          j += 1;
        }
      i += 1;
    }
  shell->flags_value = 0;
  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
movslq -0x14(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x3f02
movl $0x0, -0x18(%rbp)
cmpl $0x9, -0x18(%rbp)
jge 0x3ef4
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movslq -0x18(%rbp), %rcx
leaq 0x831e(%rip), %rax      # 0xc1c0
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rsi
callq 0x58b0
cmpl $0x0, %eax
jne 0x3ee9
movslq -0x18(%rbp), %rcx
leaq 0x82ff(%rip), %rax      # 0xc1c0
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq -0x10(%rbp), %rdi
callq *%rax
cmpl $0x54, %eax
jne 0x3ee0
movl $0x54, -0x4(%rbp)
jmp 0x3f14
movl $0x0, -0x4(%rbp)
jmp 0x3f14
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x3e81
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x3e63
movq -0x10(%rbp), %rax
movl $0x0, 0x40(%rax)
movl $0x0, -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/parsing.c
// Function: parsing_or_and
char		**parsing_or_and(t_info_shell *shell, int *loop)
{
  int		i;
  int		j;
  char		**mem;
  char		**tmp;

  (1 == 1) ? (i = -1, j = -1) : 1;
  if (((mem = malloc(sizeof(char *) * my_tablen(shell->tab))) == NULL)
      || ((tmp = malloc(sizeof(char *) * my_tablen(shell->tab))) == NULL))
    return (NULL);
  while ((my_strcmp(shell->tab[++i], "&&") != 0)
         && (my_strcmp(shell->tab[i], "||") != 0))
    {
      if (shell->tab[i] == NULL)
	{
          *loop = 0;
          return (mem);
        }
      tmp[i] = my_strdup(shell->tab[i]);
    }
  tmp[i] = NULL;
  while (shell->tab[i] != NULL)
    mem[++j] = my_strdup(shell->tab[++i]);
  mem[j] = NULL;
  shell->tab = tmp;
  return (mem);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x5970
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x2130
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
je 0x3f84
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x5970
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x2130
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
jne 0x3f91
movq $0x0, -0x8(%rbp)
jmp 0x40c1
jmp 0x3f93
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movl -0x1c(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x1c(%rbp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x52ff(%rip), %rsi      # 0x92b1
callq 0x58b0
movl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x31(%rbp)
je 0x3fe8
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x52da(%rip), %rsi      # 0x92b4
callq 0x58b0
cmpl $0x0, %eax
setne %al
movb %al, -0x31(%rbp)
movb -0x31(%rbp), %al
testb $0x1, %al
jne 0x3ff1
jmp 0x4044
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x1c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x401b
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x40c1
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, %rdx
movq -0x30(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x3f93
movq -0x30(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x1c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x409d
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movl -0x1c(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x1c(%rbp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, %rdx
movq -0x28(%rbp), %rax
movl -0x20(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x4054
movq -0x28(%rbp), %rax
movslq -0x20(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x30(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/execution/parsing.c
// Function: marck_init
void		marck_init(t_info_shell *shell, int *marck)
{
  int           i;

  i = 0;
  while (shell->tab[i] != NULL)
    {
      if (my_strcmp(shell->tab[i], "&&") == 0)
	{
          *marck = AND;
          break ;
	}
      if (my_strcmp(shell->tab[i], "||") == 0)
	{
          *marck = OR;
          break ;
	}
      i += 1;
    }
}

// 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
movq 0x18(%rax), %rax
movslq -0x14(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x415f
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x51a0(%rip), %rsi      # 0x92b1
callq 0x58b0
cmpl $0x0, %eax
jne 0x4127
movq -0x10(%rbp), %rax
movl $0x1, (%rax)
jmp 0x415f
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x5176(%rip), %rsi      # 0x92b4
callq 0x58b0
cmpl $0x0, %eax
jne 0x4154
movq -0x10(%rbp), %rax
movl $0x2, (%rax)
jmp 0x415f
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x40e7
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/execution/parsing.c
// Function: detect_or_and
int		detect_or_and(t_info_shell *shell, int marck)
{
  if (marck == AND)
    if (shell->exit_value == 1)
      return (1);
  if (marck == OR)
    if (shell->exit_value == 0)
      return (1);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x4196
movq -0x10(%rbp), %rax
cmpl $0x1, 0x3c(%rax)
jne 0x4194
movl $0x1, -0x4(%rbp)
jmp 0x41b8
jmp 0x4196
cmpl $0x2, -0x14(%rbp)
jne 0x41b1
movq -0x10(%rbp), %rax
cmpl $0x0, 0x3c(%rax)
jne 0x41af
movl $0x1, -0x4(%rbp)
jmp 0x41b8
jmp 0x41b1
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/execution/parsing.c
// Function: parsing
int		parsing(t_info_shell *shell)
{
  char		**save;
  int		marck;
  int		loop;

  if (my_tablen(shell->tab) != 0)
    {
      marck = -1;
      loop = -1;
      while (loop != 0)
	{
	  marck_init(shell, &marck);
	  if (((save = parsing_or_and(shell, &loop)) == NULL)
	      || ((find_flags(shell)) == 84))
	    return (84);
	  if ((shell->flags_value == 0) && (shell->tab[0] != NULL))
	    execute_command(shell);
	  if (detect_or_and(shell, marck) == 1)
	    break ;
	  shell->tab = save;
	  shell->flags_value = 0;
	}
    }
  return (shell->exit_value);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x5970
cmpl $0x0, %eax
je 0x4287
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
cmpl $0x0, -0x20(%rbp)
je 0x4285
movq -0x10(%rbp), %rdi
leaq -0x1c(%rbp), %rsi
callq 0x40d0
movq -0x10(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x3f20
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
je 0x422c
movq -0x10(%rbp), %rdi
callq 0x3e50
cmpl $0x54, %eax
jne 0x4235
movl $0x54, -0x4(%rbp)
jmp 0x4291
movq -0x10(%rbp), %rax
cmpl $0x0, 0x40(%rax)
jne 0x4256
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
cmpq $0x0, (%rax)
je 0x4256
movq -0x10(%rbp), %rdi
callq 0x37c0
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x4170
cmpl $0x1, %eax
jne 0x4269
jmp 0x4285
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x40(%rax)
jmp 0x41f0
jmp 0x4287
movq -0x10(%rbp), %rax
movl 0x3c(%rax), %eax
movl %eax, -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/flags/right_redi.c
// Function: cut_tab
char		**cut_tab(char **tab, char *sep)
{
  int		i;
  int		j;
  char		**new_tab;

  i = 0;
  j = 0;
  if ((new_tab = malloc(sizeof(char *) * my_tablen(tab) + 1)) == NULL)
    return (NULL);
  while (tab[i] != NULL)
    {
      if (my_strcmp(tab[i], sep) == 0)
	i += 2;
      if (tab[i] == NULL)
	break ;
      new_tab[j] = my_strdup(tab[i]);
      i += 1;
      j += 1;
    }
  new_tab[j] = NULL;
  free_all(NULL, 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)
movl $0x0, -0x20(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5970
movslq %eax, %rdi
shlq $0x3, %rdi
addq $0x1, %rdi
callq 0x2130
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x42ee
movq $0x0, -0x8(%rbp)
jmp 0x438c
jmp 0x42f0
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x4367
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movq -0x18(%rbp), %rsi
callq 0x58b0
cmpl $0x0, %eax
jne 0x4322
movl -0x1c(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x1c(%rbp)
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x4333
jmp 0x4367
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, %rdx
movq -0x28(%rbp), %rax
movslq -0x20(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x42f0
movq -0x28(%rbp), %rax
movslq -0x20(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x10(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x5850
movq -0x28(%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/MaxenceEpitech[P]42sh/flags/right_redi.c
// Function: right_redi
int		right_redi(char *file_name, t_info_shell *shell)
{
  int		fd;
  pid_t		pid;
  int		statues;

  if ((pid = fork()) == -1)
    return (84);
  else if (pid == 0)
    {
      fd = open(file_name, O_CREAT | O_RDWR | O_TRUNC, 0644);
      dup2(fd, STANDARD_OUTPUT);
      execution_in_chain(shell);
      close(fd);
      exit(0);
    }
  else
    wait(&statues);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
callq 0x21e0
movl %eax, -0x20(%rbp)
cmpl $-0x1, %eax
jne 0x43c6
movl $0x54, -0x4(%rbp)
jmp 0x441b
cmpl $0x0, -0x20(%rbp)
jne 0x4409
movq -0x10(%rbp), %rdi
movl $0x242, %esi            # imm = 0x242
movl $0x1a4, %edx            # imm = 0x1A4
movb $0x0, %al
callq 0x2150
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %edi
movl $0x1, %esi
callq 0x20b0
movq -0x18(%rbp), %rdi
callq 0x3b80
movl -0x1c(%rbp), %edi
callq 0x20d0
xorl %edi, %edi
callq 0x21a0
leaq -0x24(%rbp), %rdi
callq 0x21d0
jmp 0x4414
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/flags/right_redi.c
// Function: right_chevron
int		right_chevron(t_info_shell *shell)
{
  int		i;
  char		*file_name;

  i = 0;
  shell->flags_value = 1;
  while (my_strcmp(shell->tab[i], ">") != 0)
    i += 1;
  if (((file_name = my_strdup(shell->tab[i + 1])) == NULL)
      || ((shell->tab = cut_tab(shell->tab, ">")) == NULL)
      || ((right_redi(file_name, shell)) == 84))
    return (84);
  free(file_name);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movl $0x1, 0x40(%rax)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x4e55(%rip), %rsi      # 0x92ba
callq 0x58b0
cmpl $0x0, %eax
je 0x447a
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x444e
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0x44d2
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
leaq 0x4e0d(%rip), %rsi      # 0x92ba
callq 0x42a0
movq -0x10(%rbp), %rcx
movq %rax, 0x18(%rcx)
cmpq $0x0, %rax
je 0x44d2
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x43a0
cmpl $0x54, %eax
jne 0x44db
movl $0x54, -0x4(%rbp)
jmp 0x44eb
movq -0x20(%rbp), %rdi
callq 0x2030
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/flags/left_redi.c
// Function: left_redi
int		left_redi(char *file_name, t_info_shell *shell)
{
  int		fd;
  pid_t		pid;
  int		status;

  if ((pid = fork()) == -1)
    return (84);
  else if (pid == 0)
    {
      if ((fd = open(file_name, O_RDONLY)) == -1)
	{
	  my_printf("%s:%s", file_name, NO_SUCH_FILE);
	  exit(84);
	}
      dup2(fd, 0);
      execution_in_chain(shell);
      close(fd);
      exit(0);
    }
  else
    wait(&status);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
callq 0x21e0
movl %eax, -0x20(%rbp)
cmpl $-0x1, %eax
jne 0x4526
movl $0x54, -0x4(%rbp)
jmp 0x4598
cmpl $0x0, -0x20(%rbp)
jne 0x4586
movq -0x10(%rbp), %rdi
xorl %esi, %esi
movb $0x0, %al
callq 0x2150
movl %eax, -0x1c(%rbp)
cmpl $-0x1, %eax
jne 0x4564
movq -0x10(%rbp), %rsi
leaq 0x4d79(%rip), %rdi      # 0x92c5
leaq 0x4b1b(%rip), %rdx      # 0x906e
movb $0x0, %al
callq 0x7ed1
movl $0x54, %edi
callq 0x21a0
movl -0x1c(%rbp), %edi
xorl %esi, %esi
callq 0x20b0
movq -0x18(%rbp), %rdi
callq 0x3b80
movl -0x1c(%rbp), %edi
callq 0x20d0
xorl %edi, %edi
callq 0x21a0
leaq -0x24(%rbp), %rdi
callq 0x21d0
jmp 0x4591
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/flags/left_redi.c
// Function: left_chevron
int		left_chevron(t_info_shell *shell)
{
  int		i;
  char		*file_name;

  i = 0;
  shell->flags_value = 1;
  while (my_strcmp(shell->tab[i], "<") != 0)
    i += 1;
  if (((file_name = my_strdup(shell->tab[i + 1])) == NULL)
      || ((shell->tab = cut_tab(shell->tab, "<")) == NULL)
      || ((left_redi(file_name, shell)) == 84))
    return (84);
  free(file_name);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movl $0x1, 0x40(%rax)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x4cd2(%rip), %rsi      # 0x92b7
callq 0x58b0
cmpl $0x0, %eax
je 0x45fa
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x45ce
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0x4652
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
leaq 0x4c8a(%rip), %rsi      # 0x92b7
callq 0x42a0
movq -0x10(%rbp), %rcx
movq %rax, 0x18(%rcx)
cmpq $0x0, %rax
je 0x4652
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4500
cmpl $0x54, %eax
jne 0x465b
movl $0x54, -0x4(%rbp)
jmp 0x466b
movq -0x20(%rbp), %rdi
callq 0x2030
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/flags/pipes.c
// Function: cut_pipe
char		**cut_pipe(char **tab, char  ***new_tab)
{
  int		i;
  int		j;
  int		marker;
  char		**tmp;

  i = 0;
  j = 0;
  if ((tmp = malloc(sizeof(char *) * (my_tablen(tab) + 1))) == NULL)
    return (NULL);
  while (my_strcmp(tab[i], "|") != 0)
    i += 1;
  marker = i;
  i += 1;
  while (tab[i] != NULL)
    {
      tmp[j] = my_strdup(tab[i]);
      free(tab[i]);
      i += 1;
      j += 1;
    }
  tab[marker] = NULL;
  tmp[j] = NULL;
  *new_tab = tmp;
  return (tab);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5970
addl $0x1, %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x2130
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
jne 0x46cd
movq $0x0, -0x8(%rbp)
jmp 0x478d
jmp 0x46cf
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x4bd3(%rip), %rsi      # 0x92b5
callq 0x58b0
cmpl $0x0, %eax
je 0x46f7
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x46cf
movl -0x1c(%rbp), %eax
movl %eax, -0x24(%rbp)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x475a
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, %rdx
movq -0x30(%rbp), %rax
movslq -0x20(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2030
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x4706
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x30(%rbp), %rax
movslq -0x20(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/flags/pipes.c
// Function: pipe_return_value
void		pipe_return_value(t_info_shell *shell, char **new_tab)
{
  if (shell->exit_value == 1)
    my_printf("%s: %s", shell->tab[0], COMMAND_ERROR);
  shell->tab = new_tab;
  if (((is_valid_command(shell) == NULL)))
    shell->exit_value = 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x1, 0x3c(%rax)
jne 0x47da
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rsi
leaq 0x4a18(%rip), %rdi      # 0x91e4
leaq 0x4a18(%rip), %rdx      # 0x91eb
movb $0x0, %al
callq 0x7ed1
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x8(%rbp), %rdi
callq 0x36d0
cmpq $0x0, %rax
jne 0x4800
movq -0x8(%rbp), %rax
movl $0x1, 0x3c(%rax)
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/flags/pipes.c
// Function: verif_tabs
int		verif_tabs(t_info_shell *shell, char **new_tab)
{
  if ((shell->tab[0] == NULL) || (new_tab[0] == NULL))
    {
      my_printf("Invalid null command.\n");
      shell->exit_value = 1;
      return (-1);
    }
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
cmpq $0x0, (%rax)
je 0x4838
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x485a
leaq 0x4a8c(%rip), %rdi      # 0x92cb
movb $0x0, %al
callq 0x7ed1
movq -0x10(%rbp), %rax
movl $0x1, 0x3c(%rax)
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4861
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/flags/pipes.c
// Function: my_pipes
int		my_pipes(t_info_shell *shell,
			 char **new_tab, char **save)
{
  int		pfd[2];
  pid_t		pid;

  if (((pipe(pfd)) == -1) || ((pid = fork()) == -1))
    return (84);
  if (pid == 0)
    {
      close(pfd[FD_ENTRY]);
      dup2(pfd[FD_EXIT], 0);
      close(pfd[FD_EXIT]);
      shell->tab = new_tab;
      parsing(shell);
      exit(shell->exit_value);
    }
  else
    {
      close(pfd[FD_EXIT]);
      dup2(pfd[FD_ENTRY], 1);
      close(pfd[FD_ENTRY]);
      shell->tab = save;
      parsing(shell);
    }
  return (shell->exit_value);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x20e0
cmpl $-0x1, %eax
je 0x489f
callq 0x21e0
movl %eax, -0x2c(%rbp)
cmpl $-0x1, %eax
jne 0x48a8
movl $0x54, -0x4(%rbp)
jmp 0x4925
cmpl $0x0, -0x2c(%rbp)
jne 0x48e9
movl -0x24(%rbp), %edi
callq 0x20d0
movl -0x28(%rbp), %edi
xorl %esi, %esi
callq 0x20b0
movl -0x28(%rbp), %edi
callq 0x20d0
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rdi
callq 0x41c0
movq -0x10(%rbp), %rax
movl 0x3c(%rax), %edi
callq 0x21a0
movl -0x28(%rbp), %edi
callq 0x20d0
movl -0x24(%rbp), %edi
movl $0x1, %esi
callq 0x20b0
movl -0x24(%rbp), %edi
callq 0x20d0
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rdi
callq 0x41c0
movq -0x10(%rbp), %rax
movl 0x3c(%rax), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/flags/pipes.c
// Function: pipes
int		pipes(t_info_shell *shell)
{
  char		**new_tab;
  char		**save;
  int		status;
  pid_t		pid;

  new_tab = NULL;
  if ((shell->tab = cut_pipe(shell->tab, &new_tab)) == NULL)
    return (84);
  save = shell->tab;
  shell->flags_value = 1;
  if ((verif_tabs(shell, new_tab)) == -1)
    return (-1);
  if ((pid = fork()) == -1)
    return (84);
  else if (pid == 0)
    exit(my_pipes(shell, new_tab, save));
  else
    {
      waitpid(pid, &status, WUNTRACED);
      shell->exit_value = WEXITSTATUS(status);
      pipe_return_value(shell, new_tab);
    }
  free_all(NULL, new_tab);
  free_all(NULL, save);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
leaq -0x18(%rbp), %rsi
callq 0x4680
movq -0x10(%rbp), %rcx
movq %rax, 0x18(%rcx)
cmpq $0x0, %rax
jne 0x496f
movl $0x54, -0x4(%rbp)
jmp 0x4a2c
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movl $0x1, 0x40(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x4810
cmpl $-0x1, %eax
jne 0x49a4
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4a2c
callq 0x21e0
movl %eax, -0x28(%rbp)
cmpl $-0x1, %eax
jne 0x49ba
movl $0x54, -0x4(%rbp)
jmp 0x4a2c
cmpl $0x0, -0x28(%rbp)
jne 0x49d8
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x4870
movl %eax, %edi
callq 0x21a0
movl -0x28(%rbp), %edi
leaq -0x24(%rbp), %rsi
movl $0x2, %edx
callq 0x2140
movl -0x24(%rbp), %ecx
andl $0xff00, %ecx           # imm = 0xFF00
sarl $0x8, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x3c(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x47a0
jmp 0x4a0b
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 $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/flags/double_right_redi.c
// Function: double_right_redi
int		double_right_redi(char *file_name, t_info_shell *shell)
{
  int		fd;
  pid_t		pid;
  int		statues;

  if ((pid = fork()) == -1)
    return (84);
  else if (pid == 0)
    {
      if ((fd = open(file_name, O_RDWR | O_APPEND, 0644)) == -1)
	fd = open(file_name, O_RDWR | O_CREAT, 0644);
      dup2(fd, STANDARD_OUTPUT);
      execute_command(shell);
      close(fd);
      exit(shell->exit_value);
    }
  else
    {
      wait(&statues);
      shell->exit_value = WEXITSTATUS(statues);
    }
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
callq 0x21e0
movl %eax, -0x20(%rbp)
cmpl $-0x1, %eax
jne 0x4a69
movl $0x54, -0x4(%rbp)
jmp 0x4af3
cmpl $0x0, -0x20(%rbp)
jne 0x4ace
movq -0x10(%rbp), %rdi
movl $0x402, %esi            # imm = 0x402
movl $0x1a4, %edx            # imm = 0x1A4
movb $0x0, %al
callq 0x2150
movl %eax, -0x1c(%rbp)
cmpl $-0x1, %eax
jne 0x4aa4
movq -0x10(%rbp), %rdi
movl $0x42, %esi
movl $0x1a4, %edx            # imm = 0x1A4
movb $0x0, %al
callq 0x2150
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %edi
movl $0x1, %esi
callq 0x20b0
movq -0x18(%rbp), %rdi
callq 0x37c0
movl -0x1c(%rbp), %edi
callq 0x20d0
movq -0x18(%rbp), %rax
movl 0x3c(%rax), %edi
callq 0x21a0
leaq -0x24(%rbp), %rdi
callq 0x21d0
movl -0x24(%rbp), %ecx
andl $0xff00, %ecx           # imm = 0xFF00
sarl $0x8, %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x3c(%rax)
jmp 0x4aec
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/flags/double_right_redi.c
// Function: double_right_chevron
int		double_right_chevron(t_info_shell *shell)
{
  int		i;
  char		*file_name;

  i = 0;
  shell->flags_value = 1;
  while (my_strcmp(shell->tab[i], ">>") != 0)
    i += 1;
  if (((file_name = my_strdup(shell->tab[i + 1])) == NULL)
      || ((shell->tab = cut_tab(shell->tab, ">>")) == NULL)
      || ((double_right_redi(file_name, shell)) == 84))
    return (84);
  free(file_name);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movl $0x1, 0x40(%rax)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x4788(%rip), %rsi      # 0x92bd
callq 0x58b0
cmpl $0x0, %eax
je 0x4b4a
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x4b1e
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0x4ba2
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
leaq 0x4740(%rip), %rsi      # 0x92bd
callq 0x42a0
movq -0x10(%rbp), %rcx
movq %rax, 0x18(%rcx)
cmpq $0x0, %rax
je 0x4ba2
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4a40
cmpl $0x54, %eax
jne 0x4bab
movl $0x54, -0x4(%rbp)
jmp 0x4bbb
movq -0x20(%rbp), %rdi
callq 0x2030
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/flags/double_right_redi.c
// Function: double_error_chevron
int		double_error_chevron(t_info_shell *shell)
{
  int		i;
  char		*file_name;

  i = 0;
  shell->flags_value = 1;
  while (my_strcmp(shell->tab[i], "2>>") != 0)
    i += 1;
  if (((file_name = my_strdup(shell->tab[i + 1])) == NULL)
      || ((shell->tab = cut_tab(shell->tab, "2>>")) == NULL)
      || ((double_error_redi(file_name, shell)) == 84))
    return (84);
  free(file_name);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movl $0x1, 0x40(%rax)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x4607(%rip), %rsi      # 0x92bc
callq 0x58b0
cmpl $0x0, %eax
je 0x4cca
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x4c9e
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0x4d22
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
leaq 0x45bf(%rip), %rsi      # 0x92bc
callq 0x42a0
movq -0x10(%rbp), %rcx
movq %rax, 0x18(%rcx)
cmpq $0x0, %rax
je 0x4d22
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4bd0
cmpl $0x54, %eax
jne 0x4d2b
movl $0x54, -0x4(%rbp)
jmp 0x4d3b
movq -0x20(%rbp), %rdi
callq 0x2030
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/flags/and.c
// Function: copy_my_tab
char		**copy_my_tab(char **tab)
{
  int		i;
  char		**new;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%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 0x4d8f
movq $0x0, -0x8(%rbp)
jmp 0x4de3
jmp 0x4d91
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x4dcb
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, %rdx
movq -0x20(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x4d91
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 $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/flags/and.c
// Function: reverse_tab
char		**reverse_tab(char **tab)
{
  int		i;
  int		j;
  char		*tmp;

  i = 0;
  j = 0;
  while (tab[j] != NULL)
    j += 1;
  j -= 1;
  while (i <= j)
    {
      tmp = my_strdup(tab[i]);
      tab[i] = my_strdup(tab[j]);
      tab[j] = my_strdup(tmp);
      i += 1;
      j -= 1;
    }
  free(tmp);
  return (tab);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl $0x0, -0x10(%rbp)
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x4e24
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x4e0a
movl -0x10(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x10(%rbp)
movl -0xc(%rbp), %eax
cmpl -0x10(%rbp), %eax
jg 0x4e96
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, %rdx
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rdi
callq 0x6630
movq %rax, %rdx
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
movl -0x10(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x4e2d
movq -0x18(%rbp), %rdi
callq 0x2030
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/flags/and.c
// Function: and
int		and(t_info_shell *shell)
{
  char		**mem;
  int		mark;

  mark = 0;
  shell->flags_value = 1;
  mem = copy_my_tab(shell->tab);
  while (1)
    {
      if (my_tablen(shell->tab) != 1)
	shell->tab = cut(shell->tab, &mem);
      execute_command(shell);
      if ((shell->exit_value == 1) || (mark == 1))
	break ;
      shell->tab = mem;
      if (my_tablen(mem) == 1)
	mark = 1;
    }
  free_all(NULL, mem);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x8(%rbp), %rax
movl $0x1, 0x40(%rax)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x4d50
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x5970
cmpl $0x1, %eax
je 0x4f0d
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
leaq -0x10(%rbp), %rsi
callq 0x4f60
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x8(%rbp), %rdi
callq 0x37c0
movq -0x8(%rbp), %rax
cmpl $0x1, 0x3c(%rax)
je 0x4f26
cmpl $0x1, -0x14(%rbp)
jne 0x4f28
jmp 0x4f4b
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rdi
callq 0x5970
cmpl $0x1, %eax
jne 0x4f49
movl $0x1, -0x14(%rbp)
jmp 0x4edf
movq -0x10(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x5850
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/flags/and.c
// Function: cut
static char	**cut(char **tab, char ***mem)
{
  int		i;
  char		**new;

  i = 0;
  if ((new = malloc(sizeof(char *) * (my_tablen(tab) + 1))) == NULL)
    return (NULL);
  while (my_strcmp(tab[i], "&&") != 0)
    {
      new[i] = my_strdup(tab[i]);
      i += 1;
    }
  new[i] = NULL;
  *mem = reverse_tab(*mem);
  *mem = cut_mem(*mem);
  if (my_tablen(*mem) != 1)
    *mem = reverse_tab(*mem);
  return (new);
}

// 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
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x2130
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x4fa6
movq $0x0, -0x8(%rbp)
jmp 0x505b
jmp 0x4fa8
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x42f6(%rip), %rsi      # 0x92b1
callq 0x58b0
cmpl $0x0, %eax
je 0x4ff0
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 0x4fa8
movq -0x28(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x4df0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x5070
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x5970
cmpl $0x1, %eax
je 0x5053
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x4df0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%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/MaxenceEpitech[P]42sh/flags/and.c
// Function: cut_mem
static char	**cut_mem(char **tab)
{
  int		i;

  i = 0;
  while (tab[i] != NULL)
    i += 1;
  i -= 1;
  while ((my_strcmp(tab[i], "&&") != 0) && (i != 0))
    {
      free(tab[i]);
      i -= 1;
    }
  tab[i] = NULL;
  return (tab);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x509d
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x5083
movl -0xc(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x41f8(%rip), %rsi      # 0x92b1
callq 0x58b0
movl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0xd(%rbp)
je 0x50d4
cmpl $0x0, -0xc(%rbp)
setne %al
movb %al, -0xd(%rbp)
movb -0xd(%rbp), %al
testb $0x1, %al
jne 0x50dd
jmp 0x50f9
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2030
movl -0xc(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x50a6
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/flags/or.c
// Function: or
int		or(t_info_shell *shell)
{
  char		**mem;
  int		mark;

  mark = 0;
  shell->flags_value = 1;
  mem = copy_my_tab(shell->tab);
  while (1)
    {
      if (my_tablen(shell->tab) != 1)
	shell->tab = cut(shell->tab, &mem);
      execute_command(shell);
      if ((shell->exit_value == 0) || (mark == 1))
	break ;
      shell->tab = mem;
      if (my_tablen(mem) == 1)
	mark = 1;
    }
  free_all(NULL, mem);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x8(%rbp), %rax
movl $0x1, 0x40(%rax)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x4d50
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x5970
cmpl $0x1, %eax
je 0x517d
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
leaq -0x10(%rbp), %rsi
callq 0x51d0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x8(%rbp), %rdi
callq 0x37c0
movq -0x8(%rbp), %rax
cmpl $0x0, 0x3c(%rax)
je 0x5196
cmpl $0x1, -0x14(%rbp)
jne 0x5198
jmp 0x51bb
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rdi
callq 0x5970
cmpl $0x1, %eax
jne 0x51b9
movl $0x1, -0x14(%rbp)
jmp 0x514f
movq -0x10(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x5850
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/flags/redi_all.c
// Function: all_redi
int		all_redi(char *file_name, t_info_shell *shell)
{
  int		fd;
  pid_t		pid;
  int		statues;

  if ((pid = fork()) == -1)
    return (84);
  else if (pid == 0)
    {
      fd = open(file_name, O_CREAT | O_RDWR | O_TRUNC, 0644);
      dup2(fd, STANDARD_OUTPUT);
      dup2(fd, 2);
      execution_in_chain(shell);
      close(fd);
      exit(0);
    }
  else
    wait(&statues);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
callq 0x21e0
movl %eax, -0x20(%rbp)
cmpl $-0x1, %eax
jne 0x53b6
movl $0x54, -0x4(%rbp)
jmp 0x5418
cmpl $0x0, -0x20(%rbp)
jne 0x5406
movq -0x10(%rbp), %rdi
movl $0x242, %esi            # imm = 0x242
movl $0x1a4, %edx            # imm = 0x1A4
movb $0x0, %al
callq 0x2150
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %edi
movl $0x1, %esi
callq 0x20b0
movl -0x1c(%rbp), %edi
movl $0x2, %esi
callq 0x20b0
movq -0x18(%rbp), %rdi
callq 0x3b80
movl -0x1c(%rbp), %edi
callq 0x20d0
xorl %edi, %edi
callq 0x21a0
leaq -0x24(%rbp), %rdi
callq 0x21d0
jmp 0x5411
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/flags/redi_all.c
// Function: all_chevron
int		all_chevron(t_info_shell *shell)
{
  int		i;
  char		*file_name;

  i = 0;
  shell->flags_value = 1;
  while (my_strcmp(shell->tab[i], "2>&1") != 0)
    i += 1;
  if (((file_name = my_strdup(shell->tab[i + 1])) == NULL)
      || ((shell->tab = cut_tab(shell->tab, "2>&1")) == NULL)
      || ((all_redi(file_name, shell)) == 84))
    return (84);
  free(file_name);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movl $0x1, 0x40(%rax)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3e5b(%rip), %rsi      # 0x92c0
callq 0x58b0
cmpl $0x0, %eax
je 0x547a
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x544e
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0x54d2
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
leaq 0x3e13(%rip), %rsi      # 0x92c0
callq 0x42a0
movq -0x10(%rbp), %rcx
movq %rax, 0x18(%rcx)
cmpq $0x0, %rax
je 0x54d2
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x5390
cmpl $0x54, %eax
jne 0x54db
movl $0x54, -0x4(%rbp)
jmp 0x54eb
movq -0x20(%rbp), %rdi
callq 0x2030
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/flags/redi_all.c
// Function: error_redi
int		error_redi(char *file_name, t_info_shell *shell)
{
  int		fd;
  pid_t		pid;
  int		statues;

  if ((pid = fork()) == -1)
    return (84);
  else if (pid == 0)
    {
      fd = open(file_name, O_CREAT | O_RDWR | O_TRUNC, 0644);
      dup2(fd, 2);
      execution_in_chain(shell);
      close(fd);
      exit(0);
    }
  else
    wait(&statues);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
callq 0x21e0
movl %eax, -0x20(%rbp)
cmpl $-0x1, %eax
jne 0x5526
movl $0x54, -0x4(%rbp)
jmp 0x557b
cmpl $0x0, -0x20(%rbp)
jne 0x5569
movq -0x10(%rbp), %rdi
movl $0x242, %esi            # imm = 0x242
movl $0x1a4, %edx            # imm = 0x1A4
movb $0x0, %al
callq 0x2150
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %edi
movl $0x2, %esi
callq 0x20b0
movq -0x18(%rbp), %rdi
callq 0x3b80
movl -0x1c(%rbp), %edi
callq 0x20d0
xorl %edi, %edi
callq 0x21a0
leaq -0x24(%rbp), %rdi
callq 0x21d0
jmp 0x5574
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/flags/redi_all.c
// Function: error_chevron
int		error_chevron(t_info_shell *shell)
{
  int		i;
  char		*file_name;

  i = 0;
  shell->flags_value = 1;
  while (my_strcmp(shell->tab[i], "2>") != 0)
    i += 1;
  if (((file_name = my_strdup(shell->tab[i + 1])) == NULL)
      || ((shell->tab = cut_tab(shell->tab, "2>")) == NULL)
      || ((error_redi(file_name, shell)) == 84))
    return (84);
  free(file_name);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movl $0x1, 0x40(%rax)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3cf4(%rip), %rsi      # 0x92b9
callq 0x58b0
cmpl $0x0, %eax
je 0x55da
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x55ae
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6630
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0x5632
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
leaq 0x3cac(%rip), %rsi      # 0x92b9
callq 0x42a0
movq -0x10(%rbp), %rcx
movq %rax, 0x18(%rcx)
cmpq $0x0, %rax
je 0x5632
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x5500
cmpl $0x54, %eax
jne 0x563b
movl $0x54, -0x4(%rbp)
jmp 0x564b
movq -0x20(%rbp), %rdi
callq 0x2030
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/historic/history.c
// Function: history_add
char	**history_add(char **old_h, char *line)
{
  char	**new_h;
  int	i;

  if ((new_h = malloc(sizeof(char *) * (my_tablen(old_h) + 2))) == NULL)
    return (NULL);
  new_h[0] = my_strdup(line);
  i = 0;
  while (old_h[i] != NULL)
    {
      new_h[i + 1] = old_h[i];
      i += 1;
    }
  new_h[i + 1] = NULL;
  if (*old_h != NULL)
    free(old_h);
  return (new_h);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5970
addl $0x2, %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x2130
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x569f
movq $0x0, -0x8(%rbp)
jmp 0x5720
movq -0x18(%rbp), %rdi
callq 0x6630
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movl $0x0, -0x24(%rbp)
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x56f0
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rdx
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x56b9
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x5718
movq -0x10(%rbp), %rdi
callq 0x2030
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/historic/history.c
// Function: print_historic
int	print_historic(t_info_shell *shell)
{
  shell->historic = reverse_tab(shell->historic);
  my_printf("%t", shell->historic);
  shell->historic = reverse_tab(shell->historic);
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x4df0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rsi
leaq 0x38bd(%rip), %rdi      # 0x9020
movb $0x0, %al
callq 0x7ed1
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x4df0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x28(%rax)
xorl %eax, %eax
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/src/find_str.c
// Function: my_find_str
int	my_find_str(char *str, char *to_find)
{
  int	i;
  char	*ptr_one;
  char	*ptr_two;

  i = 0;
  while (str[i++] != '\0')
    {
      ptr_one = str;
      ptr_two = to_find;
      while (*ptr_one == *ptr_two)
	{
	  ptr_one++;
	  ptr_two++;
	  if (*ptr_two == 0)
	    return (1);
	}
    }
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x10(%rbp), %rax
movl -0x1c(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x1c(%rbp)
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x5811
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
movq -0x30(%rbp), %rcx
movsbl (%rcx), %ecx
cmpl %ecx, %eax
jne 0x580f
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x580d
movl $0x1, -0x4(%rbp)
jmp 0x5818
jmp 0x57ce
jmp 0x57a3
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/src/function.c
// Function: my_strlen
int		my_strlen(char *str)
{
  int		i;

  i = 0;
  while (str[i] != '\0')
    i += 1;
  return (i);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x584b
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x582f
movl -0xc(%rbp), %eax
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/MaxenceEpitech[P]42sh/src/function.c
// Function: free_all
void		free_all(char *str, char **tab)
{
  int		i;

  i = 0;
  while (tab[i] != NULL)
    {
      free(tab[i]);
      i += 1;
    }
  free(tab);
  free(str);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x5892
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2030
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x5867
movq -0x10(%rbp), %rdi
callq 0x2030
movq -0x8(%rbp), %rdi
callq 0x2030
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)