user: Converte this assembly snippet into its equivalent C code:

```asm
<supprDescriptorHeader>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0xa0,%rsp
  mov    %rdi,-0x88(%rbp)
  mov    %rsi,-0x90(%rbp)
  mov    %rdx,-0x98(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  movl   $0x0,-0x7c(%rbp)
  mov    -0x88(%rbp),%rax
  mov    %rax,%rdi
  call   <rewind@plt>
  mov    -0x98(%rbp),%rax
  lea    D127(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L114
  lea    D75(%rip),%rax
  mov    %rax,%rsi
  lea    D192(%rip),%rax
  mov    %rax,%rdi
  call   <fopen@plt>
  mov    %rax,-0x78(%rbp)
  jmp    L10
L114:
  mov    -0x98(%rbp),%rax
  lea    D131(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L6
  lea    D75(%rip),%rax
  mov    %rax,%rsi
  lea    D4(%rip),%rax
  mov    %rax,%rdi
  call   <fopen@plt>
  mov    %rax,-0x78(%rbp)
  jmp    L10
L6:
  mov    -0x98(%rbp),%rax
  lea    D213(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L10
  lea    D75(%rip),%rax
  mov    %rax,%rsi
  lea    D35(%rip),%rax
  mov    %rax,%rdi
  call   <fopen@plt>
  mov    %rax,-0x78(%rbp)
L10:
  cmpq   $0x0,-0x78(%rbp)
  jne    L32
  mov    $0xffffffff,%eax
  jmp    L129
L127:
  mov    -0x90(%rbp),%rdx
  lea    -0x70(%rbp),%rax
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L32
  mov    -0x78(%rbp),%rdx
  lea    -0x70(%rbp),%rax
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <fputs@plt>
L32:
  mov    -0x88(%rbp),%rdx
  lea    -0x70(%rbp),%rax
  mov    $0x64,%esi
  mov    %rax,%rdi
  call   <fgets@plt>
  test   %rax,%rax
  jne    L127
  mov    -0x78(%rbp),%rax
  mov    %rax,%rdi
  call   <fclose@plt>
  mov    -0x88(%rbp),%rax
  mov    %rax,%rdi
  call   <fclose@plt>
  mov    -0x98(%rbp),%rax
  lea    D127(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L29
  lea    D182(%rip),%rax
  mov    %rax,%rsi
  lea    D192(%rip),%rax
  mov    %rax,%rdi
  call   <rename@plt>
  lea    D79(%rip),%rax
  mov    %rax,%rsi
  lea    D182(%rip),%rax
  mov    %rax,%rdi
  call   <fopen@plt>
  mov    %rax,-0x88(%rbp)
  jmp    L19
L29:
  mov    -0x98(%rbp),%rax
  lea    D131(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L21
  lea    D93(%rip),%rax
  mov    %rax,%rsi
  lea    D4(%rip),%rax
  mov    %rax,%rdi
  call   <rename@plt>
  lea    D79(%rip),%rax
  mov    %rax,%rsi
  lea    D93(%rip),%rax
  mov    %rax,%rdi
  call   <fopen@plt>
  mov    %rax,-0x88(%rbp)
  jmp    L19
L21:
  mov    -0x98(%rbp),%rax
  lea    D213(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L19
  lea    D153(%rip),%rax
  mov    %rax,%rsi
  lea    D35(%rip),%rax
  mov    %rax,%rdi
  call   <rename@plt>
  lea    D79(%rip),%rax
  mov    %rax,%rsi
  lea    D153(%rip),%rax
  mov    %rax,%rdi
  call   <fopen@plt>
  mov    %rax,-0x88(%rbp)
L19:
  mov    $0x0,%eax
L129:
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L66
  call   <__stack_chk_fail@plt>
L66:
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D127
data_type: string
name: extract_symbolic_data
arguments: data_tag: D75
data_type: string
name: extract_symbolic_data
arguments: data_tag: D192
data_type: string
name: extract_symbolic_data
arguments: data_tag: D131
data_type: string
name: extract_symbolic_data
arguments: data_tag: D4
data_type: string
name: extract_symbolic_data
arguments: data_tag: D213
data_type: string
name: extract_symbolic_data
arguments: data_tag: D35
data_type: string
name: extract_symbolic_data
arguments: data_tag: D182
data_type: string
name: extract_symbolic_data
arguments: data_tag: D79
data_type: string
name: extract_symbolic_data
arguments: data_tag: D93
data_type: string
name: extract_symbolic_data
arguments: data_tag: D153
data_type: string

tool: D127: sound

tool: D75: w

tool: D192: Bases/liste_base_audio.base.tmp

tool: D131: text

tool: D4: Bases/liste_base_text.base.tmp

tool: D213: image

tool: D35: Bases/liste_base_image.base.tmp

tool: D182: Bases/liste_base_audio.base

tool: D79: a+

tool: D93: Bases/liste_base_text.base

tool: D153: Bases/liste_base_image.base

assistant: ```c
int supprDescriptorHeader(FILE *base, char *line, char *baseType) {
  char buffer[100];
  FILE *bufferFile;
  int i = 0;
  rewind(base);
  if (strcmp(baseType, "sound") == 0) {
    bufferFile = fopen("Bases/liste_base_audio.base.tmp", "w");
  } else if (strcmp(baseType, "text") == 0) {
    bufferFile = fopen("Bases/liste_base_text.base.tmp", "w");
  } else if (strcmp(baseType, "image") == 0) {
    bufferFile = fopen("Bases/liste_base_image.base.tmp", "w");
  }
  if (bufferFile == NULL) {
    return (-1);
  }
  while (fgets(buffer, 100, base)) {
    if (strcmp(buffer, line) != 0) {
      fputs(buffer, bufferFile);
    }
  }
  fclose(bufferFile);
  fclose(base);
  if (strcmp(baseType, "sound") == 0) {
    rename("Bases/liste_base_audio.base.tmp", "Bases/liste_base_audio.base");
    base = fopen("Bases/liste_base_audio.base", "a+");
  } else if (strcmp(baseType, "text") == 0) {
    rename("Bases/liste_base_text.base.tmp", "Bases/liste_base_text.base");
    base = fopen("Bases/liste_base_text.base", "a+");
  } else if (strcmp(baseType, "image") == 0) {
    rename("Bases/liste_base_image.base.tmp", "Bases/liste_base_image.base");
    base = fopen("Bases/liste_base_image.base", "a+");
  }
  return (0);
}
```