user: Please show me the C implementation that matches the assembly code listed below:

```asm
<add_usb_radio_debug_function>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    -0x8(%rbp),%rax
  mov    %rax,%rsi
  lea    D126(%rip),%rax
  mov    %rax,%rdi
  call   <USB_INFO@plt>
  mov    -0x8(%rbp),%rax
  lea    D74(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L46
  lea    D97(%rip),%rax
  jmp    L106
L46:
  mov    -0x8(%rbp),%rax
  lea    D33(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L147
  lea    D97(%rip),%rax
  jmp    L106
L147:
  mov    -0x8(%rbp),%rax
  lea    D234(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L166
  lea    D171(%rip),%rax
  jmp    L106
L166:
  mov    -0x8(%rbp),%rax
  lea    D166(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L8
  lea    D171(%rip),%rax
  jmp    L106
L8:
  mov    -0x8(%rbp),%rax
  lea    D101(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L151
  lea    D44(%rip),%rax
  jmp    L106
L151:
  mov    -0x8(%rbp),%rax
  lea    D26(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L36
  lea    D94(%rip),%rax
  jmp    L106
L36:
  mov    -0x8(%rbp),%rax
  lea    D178(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L182
  lea    D94(%rip),%rax
  jmp    L106
L182:
  mov    -0x8(%rbp),%rax
  lea    D38(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L62
  lea    D167(%rip),%rax
  jmp    L106
L62:
  mov    -0x8(%rbp),%rax
  lea    D198(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L195
  lea    D187(%rip),%rax
  jmp    L106
L195:
  mov    -0x8(%rbp),%rax
  lea    D137(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L183
  lea    D22(%rip),%rax
  jmp    L106
L183:
  mov    -0x8(%rbp),%rax
  lea    D214(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L112
  lea    D48(%rip),%rax
  jmp    L106
L112:
  mov    -0x8(%rbp),%rax
  mov    %rax,%rsi
  lea    D126(%rip),%rax
  mov    %rax,%rdi
  call   <USB_INFO@plt>
  mov    -0x8(%rbp),%rax
L106:
  leave
  ret
```

tool_calls: name: retrieve_data
arguments: data_label: D126
datatype: string
name: retrieve_data
arguments: data_label: D74
datatype: string
name: retrieve_data
arguments: data_label: D97
datatype: string
name: retrieve_data
arguments: data_label: D33
datatype: string
name: retrieve_data
arguments: data_label: D234
datatype: string
name: retrieve_data
arguments: data_label: D171
datatype: string
name: retrieve_data
arguments: data_label: D166
datatype: string
name: retrieve_data
arguments: data_label: D101
datatype: string
name: retrieve_data
arguments: data_label: D44
datatype: string
name: retrieve_data
arguments: data_label: D26
datatype: string
name: retrieve_data
arguments: data_label: D94
datatype: string
name: retrieve_data
arguments: data_label: D178
datatype: string
name: retrieve_data
arguments: data_label: D38
datatype: string
name: retrieve_data
arguments: data_label: D167
datatype: string
name: retrieve_data
arguments: data_label: D198
datatype: string
name: retrieve_data
arguments: data_label: D187
datatype: string
name: retrieve_data
arguments: data_label: D137
datatype: string
name: retrieve_data
arguments: data_label: D22
datatype: string
name: retrieve_data
arguments: data_label: D214
datatype: string
name: retrieve_data
arguments: data_label: D48
datatype: string

tool: D126: switch to radio debug function:%s


tool: D74: mtp,adb,mass_storage

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

tool: D33: mtp,adb,mass_storage,acm

tool: D234: mtp,mass_storage

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

tool: D166: mtp,mass_storage,acm

tool: D101: mtp,adb

tool: D44: adb,diag,modem,rmnet

tool: D26: mass_storage,adb

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

tool: D178: mass_storage,adb,acm

tool: D38: mass_storage

tool: D167: mass_storage,diag,modem,rmnet

tool: D198: rndis,adb

tool: D187: rndis,adb,diag,modem

tool: D137: rndis

tool: D22: rndis,diag,modem

tool: D214: ffs,acm

tool: D48: adb,diag,modem,acm

assistant: ```c
const char *add_usb_radio_debug_function(const char *buff) {
  USB_INFO("switch to radio debug function:%s\n", 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";
  else if (!strcmp(buff, "mtp,adb"))
    return "adb,diag,modem,rmnet";
  else if (!strcmp(buff, "mass_storage,adb"))
    return "mass_storage,adb,diag,modem,rmnet";
  else if (!strcmp(buff, "mass_storage,adb,acm"))
    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, "ffs,acm"))
    return "adb,diag,modem,acm";
  USB_INFO("switch to radio debug function:%s\n", buff);
  return buff;
}
```