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

```asm
<get_mime_type>:
  endbr64
  push   %rbp
  mov    $0x2e,%esi
  call   <strrchr@plt>
  test   %rax,%rax
  je     L25
  lea    D148(%rip),%rsi
  mov    %rax,%rdi
  mov    %rax,%rbp
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L56
L107:
  lea    D63(%rip),%rax
L168:
  pop    %rbp
  ret
  nopl   0x0(%rax,%rax,1)
L56:
  lea    D189(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L107
  lea    D174(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L120
  lea    D223(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L54
L120:
  lea    D118(%rip),%rax
  pop    %rbp
  ret
  nopl   (%rax)
L54:
  lea    D71(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L120
  lea    D230(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L25
  lea    D76(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D199(%rip),%rax
  test   %r8,%r8
  je     L168
  lea    D222(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D35(%rip),%rax
  test   %r8,%r8
  je     L168
  lea    D85(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D95(%rip),%rax
  test   %r8,%r8
  je     L168
  lea    D77(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D184(%rip),%rax
  test   %r8,%r8
  je     L168
  lea    D203(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D155(%rip),%rax
  test   %r8,%r8
  je     L168
  lea    D245(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D140(%rip),%rax
  test   %r8,%r8
  je     L168
  lea    D187(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D288(%rip),%rax
  test   %r8,%r8
  je     L168
  lea    D16(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L18
  lea    D287(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L18
  lea    D131(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D86(%rip),%rax
  test   %r8,%r8
  je     L168
  lea    D261(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
L25:
  lea    D259(%rip),%rax
  pop    %rbp
  ret
L18:
  lea    D252(%rip),%rax
  pop    %rbp
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D148
type_infered: string
name: extract_symbolic_data
arguments: data_label: D63
type_infered: string
name: extract_symbolic_data
arguments: data_label: D189
type_infered: string
name: extract_symbolic_data
arguments: data_label: D174
type_infered: string
name: extract_symbolic_data
arguments: data_label: D223
type_infered: string
name: extract_symbolic_data
arguments: data_label: D118
type_infered: string
name: extract_symbolic_data
arguments: data_label: D71
type_infered: string
name: extract_symbolic_data
arguments: data_label: D230
type_infered: string
name: extract_symbolic_data
arguments: data_label: D76
type_infered: string
name: extract_symbolic_data
arguments: data_label: D199
type_infered: string
name: extract_symbolic_data
arguments: data_label: D222
type_infered: string
name: extract_symbolic_data
arguments: data_label: D35
type_infered: string
name: extract_symbolic_data
arguments: data_label: D85
type_infered: string
name: extract_symbolic_data
arguments: data_label: D95
type_infered: string
name: extract_symbolic_data
arguments: data_label: D77
type_infered: string
name: extract_symbolic_data
arguments: data_label: D184
type_infered: string
name: extract_symbolic_data
arguments: data_label: D203
type_infered: string
name: extract_symbolic_data
arguments: data_label: D155
type_infered: string
name: extract_symbolic_data
arguments: data_label: D245
type_infered: string
name: extract_symbolic_data
arguments: data_label: D140
type_infered: string
name: extract_symbolic_data
arguments: data_label: D187
type_infered: string
name: extract_symbolic_data
arguments: data_label: D288
type_infered: string
name: extract_symbolic_data
arguments: data_label: D16
type_infered: string
name: extract_symbolic_data
arguments: data_label: D287
type_infered: string
name: extract_symbolic_data
arguments: data_label: D131
type_infered: string
name: extract_symbolic_data
arguments: data_label: D86
type_infered: string
name: extract_symbolic_data
arguments: data_label: D261
type_infered: string
name: extract_symbolic_data
arguments: data_label: D259
type_infered: string
name: extract_symbolic_data
arguments: data_label: D252
type_infered: string

tool: D148: .html

tool: D63: text/html

tool: D189: .htm

tool: D174: .jpg

tool: D223: .jpeg

tool: D118: image/jpeg

tool: D71: .JPG

tool: D230: .txt

tool: D76: .csv

tool: D199: text/csv

tool: D222: .gif

tool: D35: image/gif

tool: D85: .png

tool: D95: image/png

tool: D77: .css

tool: D184: text/css

tool: D203: .au

tool: D155: audio/basic

tool: D245: .wav

tool: D140: audio/wav

tool: D187: .avi

tool: D288: video/x-msvideo

tool: D16: .mpeg

tool: D287: .mpg

tool: D131: .mp3

tool: D86: audio/mpeg

tool: D261: .cgi

tool: D259: text/plain

tool: D252: video/mpeg

assistant: ```c
char *get_mime_type(char *name) {
  char *ext = strrchr(name, '.');
  if (!ext)
    return "text/plain";
  if (strcmp(ext, ".html") == 0 || strcmp(ext, ".htm") == 0)
    return "text/html";
  if (strcmp(ext, ".jpg") == 0 || strcmp(ext, ".jpeg") == 0 || strcmp(ext, ".JPG") == 0)
    return "image/jpeg";
  if (strcmp(ext, ".txt") == 0)
    return "text/plain";
  if (strcmp(ext, ".csv") == 0)
    return "text/csv";
  if (strcmp(ext, ".gif") == 0)
    return "image/gif";
  if (strcmp(ext, ".png") == 0)
    return "image/png";
  if (strcmp(ext, ".css") == 0)
    return "text/css";
  if (strcmp(ext, ".au") == 0)
    return "audio/basic";
  if (strcmp(ext, ".wav") == 0)
    return "audio/wav";
  if (strcmp(ext, ".avi") == 0)
    return "video/x-msvideo";
  if (strcmp(ext, ".mpeg") == 0 || strcmp(ext, ".mpg") == 0)
    return "video/mpeg";
  if (strcmp(ext, ".mp3") == 0)
    return "audio/mpeg";
  if (strcmp(ext, ".cgi") == 0)
    return "text/plain";
  return "text/plain";
}
```