user: 下面的汇编指令对应的C源代码是什么：

```asm
<MimeTypeToFileExtension>:
  endbr64
  push   %r12
  lea    D147(%rip),%rsi
  push   %rbp
  mov    %rdi,%rbp
  sub    $0x8,%rsp
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D209(%rip),%rax
  test   %r8,%r8
  jne    L73
L45:
  add    $0x8,%rsp
  pop    %rbp
  pop    %r12
  ret
  nopl   0x0(%rax)
L73:
  lea    D190(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D233(%rip),%rax
  test   %r8,%r8
  je     L45
  lea    D55(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D60(%rip),%rax
  test   %r8,%r8
  je     L45
  lea    D121(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D220(%rip),%rax
  test   %r8,%r8
  je     L45
  lea    D161(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D171(%rip),%rax
  test   %r8,%r8
  je     L45
  lea    D36(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D164(%rip),%rax
  test   %r8,%r8
  je     L45
  lea    D169(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D176(%rip),%rax
  test   %r8,%r8
  je     L45
  lea    D81(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D57(%rip),%rax
  test   %r8,%r8
  je     L45
  lea    D69(%rip),%r12
  mov    %rbp,%rdi
  mov    %r12,%rsi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D11(%rip),%rax
  test   %r8,%r8
  je     L45
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D128(%rip),%rax
  test   %r8,%r8
  je     L45
  lea    D185(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D109(%rip),%rax
  test   %r8,%r8
  je     L45
  lea    D135(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmpi@plt>
  lea    D127(%rip),%rdx
  test   %rax,%rax
  lea    D95(%rip),%rax
  cmove  %rdx,%rax
  jmp    L45
```

tool_calls: name: parse_data
arguments: tag: D147
type_guessed: string
name: parse_data
arguments: tag: D209
type_guessed: string
name: parse_data
arguments: tag: D190
type_guessed: string
name: parse_data
arguments: tag: D233
type_guessed: string
name: parse_data
arguments: tag: D55
type_guessed: string
name: parse_data
arguments: tag: D60
type_guessed: string
name: parse_data
arguments: tag: D121
type_guessed: string
name: parse_data
arguments: tag: D220
type_guessed: string
name: parse_data
arguments: tag: D161
type_guessed: string
name: parse_data
arguments: tag: D171
type_guessed: string
name: parse_data
arguments: tag: D36
type_guessed: string
name: parse_data
arguments: tag: D164
type_guessed: string
name: parse_data
arguments: tag: D169
type_guessed: string
name: parse_data
arguments: tag: D176
type_guessed: string
name: parse_data
arguments: tag: D81
type_guessed: string
name: parse_data
arguments: tag: D57
type_guessed: string
name: parse_data
arguments: tag: D69
type_guessed: string
name: parse_data
arguments: tag: D11
type_guessed: string
name: parse_data
arguments: tag: D128
type_guessed: string
name: parse_data
arguments: tag: D185
type_guessed: string
name: parse_data
arguments: tag: D109
type_guessed: string
name: parse_data
arguments: tag: D135
type_guessed: string
name: parse_data
arguments: tag: D127
type_guessed: string
name: parse_data
arguments: tag: D95
type_guessed: string

tool: D147: audio/mpeg

tool: D209: .mp3

tool: D190: audio/x-ms-wma

tool: D233: .wma

tool: D55: audio/x-ogg

tool: D60: .ogg

tool: D121: audio/x-ms-asx

tool: D220: .asx

tool: D161: video/x-ms-asf

tool: D171: .asf

tool: D36: video/x-ms-wmv

tool: D164: .wmv

tool: D169: video/mpeg

tool: D176: .mpg

tool: D81: video/quicktime

tool: D57: .mov

tool: D69: image/jpeg

tool: D11: .jpg

tool: D128: .jpeg

tool: D185: image/bmp

tool: D109: .bmp

tool: D135: audio/mpegurl

tool: D127: .m3u

tool: D95: .bin

assistant: ```c
char *MimeTypeToFileExtension(char *mime_type) {
  if (stricmp(mime_type, "audio/mpeg") == 0) {
    return ".mp3";
  } else if (stricmp(mime_type, "audio/x-ms-wma") == 0) {
    return ".wma";
  } else if (stricmp(mime_type, "audio/x-ogg") == 0) {
    return ".ogg";
  } else if (stricmp(mime_type, "audio/x-ms-asx") == 0) {
    return ".asx";
  } else if (stricmp(mime_type, "video/x-ms-asf") == 0) {
    return ".asf";
  } else if (stricmp(mime_type, "video/x-ms-wmv") == 0) {
    return ".wmv";
  } else if (stricmp(mime_type, "video/mpeg") == 0) {
    return ".mpg";
  } else if (stricmp(mime_type, "video/quicktime") == 0) {
    return ".mov";
  } else if (stricmp(mime_type, "image/jpeg") == 0) {
    return ".jpg";
  } else if (stricmp(mime_type, "image/jpeg") == 0) {
    return ".jpeg";
  } else if (stricmp(mime_type, "image/bmp") == 0) {
    return ".bmp";
  } else if (strcmpi(mime_type, "audio/mpegurl") == 0) {
    return ".m3u";
  }
  return ".bin";
}
```