user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<MimeTypeToFileExtension>:
  endbr64
  push   %rbx
  mov    %rdi,%rbx
  lea    D129(%rip),%rsi
  call   <stricmp@plt>
  mov    %rax,%rdx
  lea    D188(%rip),%rax
  test   %rdx,%rdx
  jne    L86
L112:
  pop    %rbx
  ret
L86:
  lea    D131(%rip),%rsi
  mov    %rbx,%rdi
  call   <stricmp@plt>
  mov    %rax,%rdx
  lea    D160(%rip),%rax
  test   %rdx,%rdx
  je     L112
  lea    D23(%rip),%rsi
  mov    %rbx,%rdi
  call   <stricmp@plt>
  mov    %rax,%rdx
  lea    D240(%rip),%rax
  test   %rdx,%rdx
  je     L112
  lea    D132(%rip),%rsi
  mov    %rbx,%rdi
  call   <stricmp@plt>
  mov    %rax,%rdx
  lea    D110(%rip),%rax
  test   %rdx,%rdx
  je     L112
  lea    D145(%rip),%rsi
  mov    %rbx,%rdi
  call   <stricmp@plt>
  mov    %rax,%rdx
  lea    D119(%rip),%rax
  test   %rdx,%rdx
  je     L112
  lea    D153(%rip),%rsi
  mov    %rbx,%rdi
  call   <stricmp@plt>
  mov    %rax,%rdx
  lea    D242(%rip),%rax
  test   %rdx,%rdx
  je     L112
  lea    D200(%rip),%rsi
  mov    %rbx,%rdi
  call   <stricmp@plt>
  mov    %rax,%rdx
  lea    D162(%rip),%rax
  test   %rdx,%rdx
  je     L112
  lea    D16(%rip),%rsi
  mov    %rbx,%rdi
  call   <stricmp@plt>
  mov    %rax,%rdx
  lea    D225(%rip),%rax
  test   %rdx,%rdx
  je     L112
  lea    D56(%rip),%rsi
  mov    %rbx,%rdi
  call   <stricmp@plt>
  mov    %rax,%rdx
  lea    D222(%rip),%rax
  test   %rdx,%rdx
  je     L112
  lea    D56(%rip),%rsi
  mov    %rbx,%rdi
  call   <stricmp@plt>
  mov    %rax,%rdx
  lea    D118(%rip),%rax
  test   %rdx,%rdx
  je     L112
  lea    D121(%rip),%rsi
  mov    %rbx,%rdi
  call   <stricmp@plt>
  mov    %rax,%rdx
  lea    D18(%rip),%rax
  test   %rdx,%rdx
  je     L112
  lea    D50(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmpi@plt>
  test   %rax,%rax
  lea    D201(%rip),%rax
  lea    D243(%rip),%rdx
  cmove  %rdx,%rax
  jmp    L112
```

tool_calls: name: parse_data
arguments: data_tag: D129
type_guessed: string
name: parse_data
arguments: data_tag: D188
type_guessed: string
name: parse_data
arguments: data_tag: D131
type_guessed: string
name: parse_data
arguments: data_tag: D160
type_guessed: string
name: parse_data
arguments: data_tag: D23
type_guessed: string
name: parse_data
arguments: data_tag: D240
type_guessed: string
name: parse_data
arguments: data_tag: D132
type_guessed: string
name: parse_data
arguments: data_tag: D110
type_guessed: string
name: parse_data
arguments: data_tag: D145
type_guessed: string
name: parse_data
arguments: data_tag: D119
type_guessed: string
name: parse_data
arguments: data_tag: D153
type_guessed: string
name: parse_data
arguments: data_tag: D242
type_guessed: string
name: parse_data
arguments: data_tag: D200
type_guessed: string
name: parse_data
arguments: data_tag: D162
type_guessed: string
name: parse_data
arguments: data_tag: D16
type_guessed: string
name: parse_data
arguments: data_tag: D225
type_guessed: string
name: parse_data
arguments: data_tag: D56
type_guessed: string
name: parse_data
arguments: data_tag: D222
type_guessed: string
name: parse_data
arguments: data_tag: D118
type_guessed: string
name: parse_data
arguments: data_tag: D121
type_guessed: string
name: parse_data
arguments: data_tag: D18
type_guessed: string
name: parse_data
arguments: data_tag: D50
type_guessed: string
name: parse_data
arguments: data_tag: D201
type_guessed: string
name: parse_data
arguments: data_tag: D243
type_guessed: string

tool: D129: audio/mpeg

tool: D188: .mp3

tool: D131: audio/x-ms-wma

tool: D160: .wma

tool: D23: audio/x-ogg

tool: D240: .ogg

tool: D132: audio/x-ms-asx

tool: D110: .asx

tool: D145: video/x-ms-asf

tool: D119: .asf

tool: D153: video/x-ms-wmv

tool: D242: .wmv

tool: D200: video/mpeg

tool: D162: .mpg

tool: D16: video/quicktime

tool: D225: .mov

tool: D56: image/jpeg

tool: D222: .jpg

tool: D118: .jpeg

tool: D121: image/bmp

tool: D18: .bmp

tool: D50: audio/mpegurl

tool: D201: .bin

tool: D243: .m3u

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";
}
```