user: 请将以下的汇编代码转换成C语言代码：

```asm
<MimeTypeToFileExtension>:
  endbr64
  push   %r12
  lea    D215(%rip),%rsi
  push   %rbp
  mov    %rdi,%rbp
  sub    $0x8,%rsp
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D231(%rip),%rax
  test   %r8,%r8
  jne    L15
L30:
  add    $0x8,%rsp
  pop    %rbp
  pop    %r12
  ret
  nopl   0x0(%rax)
L15:
  lea    D17(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D151(%rip),%rax
  test   %r8,%r8
  je     L30
  lea    D237(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D185(%rip),%rax
  test   %r8,%r8
  je     L30
  lea    D12(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D30(%rip),%rax
  test   %r8,%r8
  je     L30
  lea    D72(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D33(%rip),%rax
  test   %r8,%r8
  je     L30
  lea    D239(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D97(%rip),%rax
  test   %r8,%r8
  je     L30
  lea    D59(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D58(%rip),%rax
  test   %r8,%r8
  je     L30
  lea    D115(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D176(%rip),%rax
  test   %r8,%r8
  je     L30
  lea    D45(%rip),%r12
  mov    %rbp,%rdi
  mov    %r12,%rsi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D146(%rip),%rax
  test   %r8,%r8
  je     L30
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D222(%rip),%rax
  test   %r8,%r8
  je     L30
  lea    D210(%rip),%rsi
  mov    %rbp,%rdi
  call   <stricmp@plt>
  mov    %rax,%r8
  lea    D111(%rip),%rax
  test   %r8,%r8
  je     L30
  lea    D77(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmpi@plt>
  lea    D120(%rip),%rdx
  test   %rax,%rax
  lea    D105(%rip),%rax
  cmove  %rdx,%rax
  jmp    L30
```

tool_calls: name: disassemble_data
arguments: label: D215
type_infered: string
name: disassemble_data
arguments: label: D231
type_infered: string
name: disassemble_data
arguments: label: D17
type_infered: string
name: disassemble_data
arguments: label: D151
type_infered: string
name: disassemble_data
arguments: label: D237
type_infered: string
name: disassemble_data
arguments: label: D185
type_infered: string
name: disassemble_data
arguments: label: D12
type_infered: string
name: disassemble_data
arguments: label: D30
type_infered: string
name: disassemble_data
arguments: label: D72
type_infered: string
name: disassemble_data
arguments: label: D33
type_infered: string
name: disassemble_data
arguments: label: D239
type_infered: string
name: disassemble_data
arguments: label: D97
type_infered: string
name: disassemble_data
arguments: label: D59
type_infered: string
name: disassemble_data
arguments: label: D58
type_infered: string
name: disassemble_data
arguments: label: D115
type_infered: string
name: disassemble_data
arguments: label: D176
type_infered: string
name: disassemble_data
arguments: label: D45
type_infered: string
name: disassemble_data
arguments: label: D146
type_infered: string
name: disassemble_data
arguments: label: D222
type_infered: string
name: disassemble_data
arguments: label: D210
type_infered: string
name: disassemble_data
arguments: label: D111
type_infered: string
name: disassemble_data
arguments: label: D77
type_infered: string
name: disassemble_data
arguments: label: D120
type_infered: string
name: disassemble_data
arguments: label: D105
type_infered: string

tool: D215: audio/mpeg

tool: D231: .mp3

tool: D17: audio/x-ms-wma

tool: D151: .wma

tool: D237: audio/x-ogg

tool: D185: .ogg

tool: D12: audio/x-ms-asx

tool: D30: .asx

tool: D72: video/x-ms-asf

tool: D33: .asf

tool: D239: video/x-ms-wmv

tool: D97: .wmv

tool: D59: video/mpeg

tool: D58: .mpg

tool: D115: video/quicktime

tool: D176: .mov

tool: D45: image/jpeg

tool: D146: .jpg

tool: D222: .jpeg

tool: D210: image/bmp

tool: D111: .bmp

tool: D77: audio/mpegurl

tool: D120: .m3u

tool: D105: .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";
}
```