user: What is the c source code of the assembly code below?

```asm
<add_usb_radio_debug_function>:
  endbr64
  push   %rbx
  mov    %rdi,%rbx
  mov    %rdi,%rsi
  lea    D160(%rip),%rdi
  call   <USB_INFO@plt>
  lea    D55(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  mov    %eax,%edx
  lea    D224(%rip),%rax
  test   %edx,%edx
  je     L37
  lea    D57(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  mov    %eax,%edx
  lea    D224(%rip),%rax
  test   %edx,%edx
  je     L37
  lea    D168(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  mov    %eax,%edx
  lea    D237(%rip),%rax
  test   %edx,%edx
  je     L37
  lea    D64(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  mov    %eax,%edx
  lea    D237(%rip),%rax
  test   %edx,%edx
  je     L37
  lea    D206(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  mov    %eax,%edx
  lea    D82(%rip),%rax
  test   %edx,%edx
  je     L37
  lea    D38(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  mov    %eax,%edx
  lea    D26(%rip),%rax
  test   %edx,%edx
  je     L37
  lea    D181(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  mov    %eax,%edx
  lea    D26(%rip),%rax
  test   %edx,%edx
  je     L37
  lea    D92(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  mov    %eax,%edx
  lea    D120(%rip),%rax
  test   %edx,%edx
  je     L37
  lea    D161(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  mov    %eax,%edx
  lea    D231(%rip),%rax
  test   %edx,%edx
  je     L37
  lea    D155(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  mov    %eax,%edx
  lea    D88(%rip),%rax
  test   %edx,%edx
  je     L37
  lea    D180(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  mov    %eax,%edx
  lea    D85(%rip),%rax
  test   %edx,%edx
  jne    L56
L37:
  pop    %rbx
  ret
L56:
  mov    %rbx,%rsi
  lea    D160(%rip),%rdi
  call   <USB_INFO@plt>
  mov    %rbx,%rax
  jmp    L37
```

tool_calls: name: extract_symbolic_data
arguments: tag: D160
type_guessed: string
name: extract_symbolic_data
arguments: tag: D55
type_guessed: string
name: extract_symbolic_data
arguments: tag: D224
type_guessed: string
name: extract_symbolic_data
arguments: tag: D57
type_guessed: string
name: extract_symbolic_data
arguments: tag: D168
type_guessed: string
name: extract_symbolic_data
arguments: tag: D237
type_guessed: string
name: extract_symbolic_data
arguments: tag: D64
type_guessed: string
name: extract_symbolic_data
arguments: tag: D206
type_guessed: string
name: extract_symbolic_data
arguments: tag: D82
type_guessed: string
name: extract_symbolic_data
arguments: tag: D38
type_guessed: string
name: extract_symbolic_data
arguments: tag: D26
type_guessed: string
name: extract_symbolic_data
arguments: tag: D181
type_guessed: string
name: extract_symbolic_data
arguments: tag: D92
type_guessed: string
name: extract_symbolic_data
arguments: tag: D120
type_guessed: string
name: extract_symbolic_data
arguments: tag: D161
type_guessed: string
name: extract_symbolic_data
arguments: tag: D231
type_guessed: string
name: extract_symbolic_data
arguments: tag: D155
type_guessed: string
name: extract_symbolic_data
arguments: tag: D88
type_guessed: string
name: extract_symbolic_data
arguments: tag: D180
type_guessed: string
name: extract_symbolic_data
arguments: tag: D85
type_guessed: string

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


tool: D55: mtp,adb,mass_storage

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

tool: D57: mtp,adb,mass_storage,acm

tool: D168: mtp,mass_storage

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

tool: D64: mtp,mass_storage,acm

tool: D206: mtp,adb

tool: D82: adb,diag,modem,rmnet

tool: D38: mass_storage,adb

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

tool: D181: mass_storage,adb,acm

tool: D92: mass_storage

tool: D120: mass_storage,diag,modem,rmnet

tool: D161: rndis,adb

tool: D231: rndis,adb,diag,modem

tool: D155: rndis

tool: D88: rndis,diag,modem

tool: D180: ffs,acm

tool: D85: 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;
}
```