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

```asm
<add_usb_radio_debug_function>:
  endbr64
  push   %r12
  lea    D185(%rip),%rsi
  lea    D123(%rip),%r12
  push   %rbx
  mov    %rdi,%rbx
  sub    $0x8,%rsp
  call   <strcmp@plt>
  test   %eax,%eax
  je     L3
  lea    D102(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L3
  lea    D61(%rip),%rsi
  mov    %rbx,%rdi
  lea    D73(%rip),%r12
  call   <strcmp@plt>
  test   %eax,%eax
  je     L3
  lea    D114(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L3
  lea    D117(%rip),%rsi
  mov    %rbx,%rdi
  lea    D131(%rip),%r12
  call   <strcmp@plt>
  test   %eax,%eax
  je     L3
  lea    D122(%rip),%rsi
  mov    %rbx,%rdi
  lea    D183(%rip),%r12
  call   <strcmp@plt>
  test   %eax,%eax
  je     L3
  lea    D151(%rip),%rsi
  mov    %rbx,%rdi
  lea    D38(%rip),%r12
  call   <strcmp@plt>
  test   %eax,%eax
  je     L3
  lea    D169(%rip),%rsi
  mov    %rbx,%rdi
  lea    D156(%rip),%r12
  call   <strcmp@plt>
  test   %eax,%eax
  je     L3
  lea    D193(%rip),%rsi
  mov    %rbx,%rdi
  lea    D132(%rip),%r12
  call   <strcmp@plt>
  test   %eax,%eax
  je     L3
  lea    D139(%rip),%rsi
  mov    %rbx,%rdi
  lea    D13(%rip),%r12
  call   <strcmp@plt>
  test   %eax,%eax
  je     L3
  lea    D68(%rip),%rsi
  mov    %rbx,%rdi
  lea    D177(%rip),%r12
  call   <strcmp@plt>
  test   %eax,%eax
  cmovne %rbx,%r12
L3:
  add    $0x8,%rsp
  mov    %r12,%rax
  pop    %rbx
  pop    %r12
  ret
```

tool_calls: name: unpack_data
arguments: data_tag: D185
data_type: string
name: unpack_data
arguments: data_tag: D123
data_type: string
name: unpack_data
arguments: data_tag: D102
data_type: string
name: unpack_data
arguments: data_tag: D61
data_type: string
name: unpack_data
arguments: data_tag: D73
data_type: string
name: unpack_data
arguments: data_tag: D114
data_type: string
name: unpack_data
arguments: data_tag: D117
data_type: string
name: unpack_data
arguments: data_tag: D131
data_type: string
name: unpack_data
arguments: data_tag: D122
data_type: string
name: unpack_data
arguments: data_tag: D183
data_type: string
name: unpack_data
arguments: data_tag: D151
data_type: string
name: unpack_data
arguments: data_tag: D38
data_type: string
name: unpack_data
arguments: data_tag: D169
data_type: string
name: unpack_data
arguments: data_tag: D156
data_type: string
name: unpack_data
arguments: data_tag: D193
data_type: string
name: unpack_data
arguments: data_tag: D132
data_type: string
name: unpack_data
arguments: data_tag: D139
data_type: string
name: unpack_data
arguments: data_tag: D13
data_type: string
name: unpack_data
arguments: data_tag: D68
data_type: string
name: unpack_data
arguments: data_tag: D177
data_type: string

tool: D185: mtp,adb,mass_storage

tool: D123: mtp,adb,mass_storage,diag,modem,rmnet

tool: D102: mtp,adb,mass_storage,acm

tool: D61: mtp,mass_storage

tool: D73: mtp,mass_storage,diag,modem,rmnet

tool: D114: mtp,mass_storage,acm

tool: D117: ffs,acm

tool: D131: adb,diag,modem,acm

tool: D122: mass_storage,adb

tool: D183: mass_storage,adb,diag,modem,rmnet

tool: D151: mass_storage

tool: D38: mass_storage,diag,modem,rmnet

tool: D169: rndis,adb

tool: D156: rndis,adb,diag,modem

tool: D193: rndis

tool: D132: rndis,diag,modem

tool: D139: mtp

tool: D13: mtp,diag,modem,rmnet

tool: D68: mtp,adb

tool: D177: mtp,adb,diag,modem,rmnet

assistant: ```c
const char *add_usb_radio_debug_function(const char *buff) {
  if (!strcmp(buff, "mtp,adb,mass_storage"))
    return "mtp,adb,mass_storage,diag,modem,rmnet";
  else if (!strcmp(buff, "mtp,adb,mass_storage,acm"))
    return "mtp,adb,mass_storage,diag,modem,rmnet";
  else if (!strcmp(buff, "mtp,mass_storage"))
    return "mtp,mass_storage,diag,modem,rmnet";
  else if (!strcmp(buff, "mtp,mass_storage,acm"))
    return "mtp,mass_storage,diag,modem,rmnet";
  if (!strcmp(buff, "ffs,acm"))
    return "adb,diag,modem,acm";
  if (!strcmp(buff, "mass_storage,adb"))
    return "mass_storage,adb,diag,modem,rmnet";
  else if (!strcmp(buff, "mass_storage"))
    return "mass_storage,diag,modem,rmnet";
  else if (!strcmp(buff, "rndis,adb"))
    return "rndis,adb,diag,modem";
  else if (!strcmp(buff, "rndis"))
    return "rndis,diag,modem";
  else if (!strcmp(buff, "mtp"))
    return "mtp,diag,modem,rmnet";
  else if (!strcmp(buff, "mtp,adb"))
    return "mtp,adb,diag,modem,rmnet";
  return buff;
}
```