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

```asm
<main>:
  endbr64
  push   %r13
  mov    $0x8,%edi
  lea    D27(%rip),%r13
  push   %r12
  lea    D24(%rip),%r12
  push   %rbp
  lea    D68(%rip),%rbp
  call   <tap_plan@plt>
  xor    %esi,%esi
  mov    %r12,%rdi
  call   <globdir_str_is_pattern@plt>
  mov    %r12,%rcx
  mov    %rbp,%rdi
  mov    $0xb,%esi
  mov    %eax,%edx
  lea    D58(%rip),%r12
  call   <_tap_ok@plt>
  xor    %esi,%esi
  mov    %r12,%rdi
  call   <globdir_str_is_pattern@plt>
  mov    %r12,%rcx
  mov    %rbp,%rdi
  mov    $0xc,%esi
  mov    %eax,%edx
  lea    D14(%rip),%r12
  call   <_tap_ok@plt>
  xor    %esi,%esi
  mov    %r12,%rdi
  call   <globdir_str_is_pattern@plt>
  mov    %r12,%rcx
  mov    %rbp,%rdi
  mov    $0xd,%esi
  lea    D4(%rip),%r12
  mov    %eax,%edx
  call   <_tap_ok@plt>
  mov    %r12,%rdi
  mov    $0x1,%esi
  call   <globdir_str_is_pattern@plt>
  lea    D48(%rip),%rcx
  mov    %rbp,%rdi
  mov    $0xe,%esi
  mov    %eax,%edx
  call   <_tap_ok@plt>
  xor    %esi,%esi
  mov    %r13,%rdi
  call   <globdir_str_is_pattern@plt>
  xor    %edx,%edx
  mov    %r13,%rcx
  mov    %rbp,%rdi
  test   %eax,%eax
  mov    $0x10,%esi
  sete   %dl
  call   <_tap_ok@plt>
  xor    %esi,%esi
  mov    %r12,%rdi
  call   <globdir_str_is_pattern@plt>
  xor    %edx,%edx
  mov    %r12,%rcx
  mov    %rbp,%rdi
  test   %eax,%eax
  lea    D2(%rip),%r12
  mov    $0x11,%esi
  sete   %dl
  call   <_tap_ok@plt>
  xor    %esi,%esi
  mov    %r12,%rdi
  call   <globdir_str_is_pattern@plt>
  xor    %edx,%edx
  mov    %r12,%rcx
  mov    %rbp,%rdi
  test   %eax,%eax
  mov    $0x12,%esi
  sete   %dl
  call   <_tap_ok@plt>
  mov    %r12,%rdi
  mov    $0x1,%esi
  call   <globdir_str_is_pattern@plt>
  xor    %edx,%edx
  mov    %rbp,%rdi
  mov    $0x13,%esi
  test   %eax,%eax
  lea    D46(%rip),%rcx
  sete   %dl
  call   <_tap_ok@plt>
  pop    %rbp
  xor    %eax,%eax
  pop    %r12
  pop    %r13
  jmp    10b0 <tap_finish@plt>
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D27
data_type: string
name: extract_symbolic_data
arguments: data_label: D24
data_type: string
name: extract_symbolic_data
arguments: data_label: D68
data_type: string
name: extract_symbolic_data
arguments: data_label: D58
data_type: string
name: extract_symbolic_data
arguments: data_label: D14
data_type: string
name: extract_symbolic_data
arguments: data_label: D4
data_type: string
name: extract_symbolic_data
arguments: data_label: D48
data_type: string
name: extract_symbolic_data
arguments: data_label: D2
data_type: string
name: extract_symbolic_data
arguments: data_label: D46
data_type: string

tool: D27: foo

tool: D24: foo*

tool: D68: /scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c

tool: D58: foo?

tool: D14: fo[o]

tool: D4: foo\*

tool: D48: foo\* (NOESCAPE)

tool: D2: foo\

tool: D46: foo\ (NOESCAPE)

assistant: ```c
int main(void) {
  tap_plan(8);
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 11, globdir_str_is_pattern("foo*", 0), "foo*");
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 12, globdir_str_is_pattern("foo?", 0), "foo?");
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 13, globdir_str_is_pattern("fo[o]", 0), "fo[o]");
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 14, globdir_str_is_pattern("foo\\*", 1), "foo\\* (NOESCAPE)");
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 16, !globdir_str_is_pattern("foo", 0), "foo");
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 17, !globdir_str_is_pattern("foo\\*", 0), "foo\\*");
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 18, !globdir_str_is_pattern("foo\\", 0), "foo\\");
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 19, !globdir_str_is_pattern("foo\\", 1), "foo\\ (NOESCAPE)");
  return tap_finish();
}
```