user: What is the c source code of the assembly code below?

```asm
<file_confirm_mountpoint>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x30,%rsp
  mov    %rdi,-0x18(%rbp)
  mov    %rsi,-0x20(%rbp)
  mov    %rdx,-0x28(%rbp)
  movl   $0x0,-0xc(%rbp)
  movl   $0x1ed,-0x8(%rbp)
  mov    -0x18(%rbp),%rax
  mov    %rax,%rdi
  call   <eslib_file_path_check@plt>
  test   %rax,%rax
  jne    L134
  mov    -0x20(%rbp),%rax
  mov    %rax,%rdi
  call   <eslib_file_path_check@plt>
  test   %rax,%rax
  je     L48
L134:
  mov    $0xffffffff,%eax
  jmp    L39
L48:
  mov    -0x20(%rbp),%rax
  mov    %rax,%rdi
  call   <eslib_file_exists@plt>
  mov    %eax,-0x4(%rbp)
  cmpl   $0xffffffff,-0x4(%rbp)
  je     L219
  mov    -0x4(%rbp),%eax
  mov    %eax,-0xc(%rbp)
  mov    -0x18(%rbp),%rax
  mov    %rax,%rdi
  call   <eslib_file_isdir@plt>
  mov    %eax,-0x4(%rbp)
  cmpl   $0x1,-0x4(%rbp)
  jne    L197
  cmpl   $0x0,-0xc(%rbp)
  je     L80
  mov    -0x20(%rbp),%rax
  mov    %rax,%rdi
  call   <eslib_file_isdir@plt>
  cmp    $0x1,%eax
  je     L188
  mov    -0x20(%rbp),%rax
  mov    %rax,%rsi
  lea    D35(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xffffffff,%eax
  jmp    L39
L80:
  mov    -0x28(%rbp),%rax
  and    $0x10,%eax
  test   %rax,%rax
  je     L133
  mov    -0x8(%rbp),%edx
  mov    -0x20(%rbp),%rax
  mov    %edx,%esi
  mov    %rax,%rdi
  call   <eslib_file_mkdirpath@plt>
  test   %rax,%rax
  je     L188
  mov    -0x20(%rbp),%rax
  mov    %rax,%rsi
  lea    D13(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xffffffff,%eax
  jmp    L39
L133:
  mov    -0x20(%rbp),%rax
  mov    %rax,%rsi
  lea    D51(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xffffffff,%eax
  jmp    L39
L188:
  mov    $0x0,%eax
  jmp    L39
L197:
  cmpl   $0xffffffff,-0x4(%rbp)
  je     L148
  cmpl   $0x0,-0xc(%rbp)
  je     L31
  mov    -0x20(%rbp),%rax
  mov    %rax,%rdi
  call   <eslib_file_isdir@plt>
  mov    %eax,-0x4(%rbp)
  cmpl   $0x1,-0x4(%rbp)
  jne    L218
  mov    -0x20(%rbp),%rax
  mov    %rax,%rsi
  lea    D46(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xffffffff,%eax
  jmp    L39
L218:
  cmpl   $0x0,-0x4(%rbp)
  jne    L181
  mov    $0x0,%eax
  jmp    L39
L31:
  mov    -0x28(%rbp),%rax
  and    $0x10,%eax
  test   %rax,%rax
  je     L37
  mov    -0x8(%rbp),%edx
  mov    -0x20(%rbp),%rax
  mov    %edx,%esi
  mov    %rax,%rdi
  call   <eslib_file_mkfile@plt>
  test   %rax,%rax
  je     L61
  mov    -0x20(%rbp),%rax
  mov    %rax,%rsi
  lea    D42(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xffffffff,%eax
  jmp    L39
L37:
  mov    -0x20(%rbp),%rax
  mov    %rax,%rsi
  lea    D51(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xffffffff,%eax
  jmp    L39
L61:
  mov    $0x0,%eax
  jmp    L39
L219:
  nop
  jmp    L210
L148:
  nop
  jmp    L210
L181:
  nop
L210:
  mov    -0x20(%rbp),%rdx
  mov    -0x18(%rbp),%rax
  mov    %rax,%rsi
  lea    D24(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xffffffff,%eax
L39:
  leave
  ret
```

tool_calls: name: retrieve_data
arguments: data_tag: D35
type_infered: string
name: retrieve_data
arguments: data_tag: D13
type_infered: string
name: retrieve_data
arguments: data_tag: D51
type_infered: string
name: retrieve_data
arguments: data_tag: D46
type_infered: string
name: retrieve_data
arguments: data_tag: D42
type_infered: string
name: retrieve_data
arguments: data_tag: D24
type_infered: string

tool: D35: dest(%s) is not a directory.


tool: D13: mkdirpath(%s) failed


tool: D51: dest(%s) did not exist


tool: D46: dest(%s) should not be a directory


tool: D42: mkfile(%s) failed


tool: D24: create mountpoint(%s, %s) failed


assistant: ```c
int file_confirm_mountpoint(char *src, char *dest, unsigned long esflags) {
  int r;
  int exists = 0;
  const mode_t mode = 0755;
  if (eslib_file_path_check(src) || eslib_file_path_check(dest))
    return -1;
  r = eslib_file_exists(dest);
  if (r == -1)
    goto err;
  exists = r;
  r = eslib_file_isdir(src);
  if (r == 1) {
    if (exists) {
      if (eslib_file_isdir(dest) != 1) {
        printf("dest(%s) is not a directory.\n", dest);
        return -1;
      }
    } else {
      if (esflags & 16) {
        if (eslib_file_mkdirpath(dest, mode)) {
          printf("mkdirpath(%s) failed\n", dest);
          return -1;
        }
      } else {
        printf("dest(%s) did not exist\n", dest);
        return -1;
      }
    }
    return 0;
  } else if (r == -1) {
    goto err;
  }
  if (exists) {
    r = eslib_file_isdir(dest);
    if (r == 1) {
      printf("dest(%s) should not be a directory\n", dest);
      return -1;
    }
    if (r == 0) {
      return 0;
    } else {
      goto err;
    }
  } else {
    if (esflags & 16) {
      if (eslib_file_mkfile(dest, mode)) {
        printf("mkfile(%s) failed\n", dest);
        return -1;
      }
    } else {
      printf("dest(%s) did not exist\n", dest);
      return -1;
    }
    return 0;
  }
err:
  printf("create mountpoint(%s, %s) failed\n", src, dest);
  return -1;
}
```