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

```asm
<lookup>:
  endbr64
  push   %rbp
  mov    $0x2e,%esi
  call   <strrchr@plt>
  lea    D94(%rip),%rsi
  mov    %rax,%rdi
  mov    %rax,%rbp
  call   <strcasecmp@plt>
  mov    %rax,%r8
  lea    D151(%rip),%rax
  test   %r8,%r8
  jne    L0
L2:
  pop    %rbp
  ret
  nopw   0x0(%rax,%rax,1)
L0:
  lea    D91(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcasecmp@plt>
  mov    %rax,%r8
  lea    D126(%rip),%rax
  test   %r8,%r8
  je     L2
  lea    D98(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcasecmp@plt>
  mov    %rax,%r8
  lea    D100(%rip),%rax
  test   %r8,%r8
  je     L2
  lea    D135(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcasecmp@plt>
  mov    %rax,%r8
  lea    D152(%rip),%rax
  test   %r8,%r8
  je     L2
  lea    D133(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcasecmp@plt>
  mov    %rax,%r8
  lea    D13(%rip),%rax
  test   %r8,%r8
  je     L2
  lea    D32(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcasecmp@plt>
  mov    %rax,%r8
  lea    D155(%rip),%rax
  test   %r8,%r8
  je     L2
  lea    D9(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcasecmp@plt>
  mov    %rax,%r8
  lea    D154(%rip),%rax
  test   %r8,%r8
  je     L2
  mov    %rbp,%rdi
  lea    D17(%rip),%rsi
  call   <strcasecmp@plt>
  mov    $0x0,%edx
  pop    %rbp
  test   %rax,%rax
  lea    D44(%rip),%rax
  cmovne %rdx,%rax
  ret
```

tool_calls: name: read_data
arguments: data_tag: D94
datatype: string
name: read_data
arguments: data_tag: D151
datatype: string
name: read_data
arguments: data_tag: D91
datatype: string
name: read_data
arguments: data_tag: D126
datatype: string
name: read_data
arguments: data_tag: D98
datatype: string
name: read_data
arguments: data_tag: D100
datatype: string
name: read_data
arguments: data_tag: D135
datatype: string
name: read_data
arguments: data_tag: D152
datatype: string
name: read_data
arguments: data_tag: D133
datatype: string
name: read_data
arguments: data_tag: D13
datatype: string
name: read_data
arguments: data_tag: D32
datatype: string
name: read_data
arguments: data_tag: D155
datatype: string
name: read_data
arguments: data_tag: D9
datatype: string
name: read_data
arguments: data_tag: D154
datatype: string
name: read_data
arguments: data_tag: D17
datatype: string
name: read_data
arguments: data_tag: D44
datatype: string

tool: D94: .css

tool: D151: text/css

tool: D91: .html

tool: D126: text/html

tool: D98: .gif

tool: D100: image/gif

tool: D135: .ico

tool: D152: image/x-ico

tool: D133: .jpg

tool: D13: image/jpeg

tool: D32: .js

tool: D155: text/javascript

tool: D9: .php

tool: D154: text/x-php

tool: D17: .png

tool: D44: image/png

assistant: ```c
const char *lookup(const char *path) {
  char *ext = strrchr(path, '.');
  const char *type;
  if (strcasecmp(ext, ".css") == 0) {
    type = "text/css";
  } else if (strcasecmp(ext, ".html") == 0) {
    type = "text/html";
  } else if (strcasecmp(ext, ".gif") == 0) {
    type = "image/gif";
  } else if (strcasecmp(ext, ".ico") == 0) {
    type = "image/x-ico";
  } else if (strcasecmp(ext, ".jpg") == 0) {
    type = "image/jpeg";
  } else if (strcasecmp(ext, ".js") == 0) {
    type = "text/javascript";
  } else if (strcasecmp(ext, ".php") == 0) {
    type = "text/x-php";
  } else if (strcasecmp(ext, ".png") == 0) {
    type = "image/png";
  } else {
    type = NULL;
  }
  return type;
}
```