user: Translate the below assembly code into C programming language:

```asm
<janus_get_api_error>:
  endbr64
  lea    D57(%rip),%rax
  test   %edi,%edi
  je     L1
  sub    $0x193,%edi
  cmp    $0x57,%edi
  ja     L0
  cmp    $0x42,%edi
  ja     L0
  lea    D163(%rip),%rdx
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
L0:
  lea    D54(%rip),%rax
L1:
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D238(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D133(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D166(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D208(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D103(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D2(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D64(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D123(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D21(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D52(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D30(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D11(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D211(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D101(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D137(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D8(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D230(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D105(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D65(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D204(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D164(%rip),%rax
  ret
```

tool_calls: name: extract_symbolic_data
arguments: tag: D57
type_guessed: string
name: extract_symbolic_data
arguments: tag: D54
type_guessed: string
name: extract_symbolic_data
arguments: tag: D238
type_guessed: string
name: extract_symbolic_data
arguments: tag: D133
type_guessed: string
name: extract_symbolic_data
arguments: tag: D166
type_guessed: string
name: extract_symbolic_data
arguments: tag: D208
type_guessed: string
name: extract_symbolic_data
arguments: tag: D103
type_guessed: string
name: extract_symbolic_data
arguments: tag: D2
type_guessed: string
name: extract_symbolic_data
arguments: tag: D64
type_guessed: string
name: extract_symbolic_data
arguments: tag: D123
type_guessed: string
name: extract_symbolic_data
arguments: tag: D21
type_guessed: string
name: extract_symbolic_data
arguments: tag: D52
type_guessed: string
name: extract_symbolic_data
arguments: tag: D30
type_guessed: string
name: extract_symbolic_data
arguments: tag: D11
type_guessed: string
name: extract_symbolic_data
arguments: tag: D211
type_guessed: string
name: extract_symbolic_data
arguments: tag: D101
type_guessed: string
name: extract_symbolic_data
arguments: tag: D137
type_guessed: string
name: extract_symbolic_data
arguments: tag: D8
type_guessed: string
name: extract_symbolic_data
arguments: tag: D230
type_guessed: string
name: extract_symbolic_data
arguments: tag: D105
type_guessed: string
name: extract_symbolic_data
arguments: tag: D65
type_guessed: string
name: extract_symbolic_data
arguments: tag: D204
type_guessed: string
name: extract_symbolic_data
arguments: tag: D164
type_guessed: string

tool: D57: Success

tool: D54: Unknown error

tool: D238: Unexpected ANSWER (no OFFER)

tool: D133: Session ID already in use

tool: D166: Invalid element type

tool: D208: Invalid stream

tool: D103: Invalid SDP

tool: D2: Unsupported JSEP type

tool: D64: Error detaching from plugin

tool: D123: Error sending message to plugin

tool: D21: Error attaching plugin

tool: D52: Plugin not found

tool: D30: Handle not found

tool: D11: Session not found

tool: D211: Invalid path for this request

tool: D101: Missing mandatory element

tool: D137: Invalid JSON Object

tool: D8: Invalid JSON

tool: D230: Unknown request

tool: D105: Missing request

tool: D65: Use POST

tool: D204: Use GET

tool: D164: Unauthorized request (wrong or missing secret)

assistant: ```c
const char *janus_get_api_error(int error) {
  switch (error) {
  case 0:
    return "Success";
  case 403:
    return "Unauthorized request (wrong or missing secret)";
  case 490:
    return "Unknown error";
  case 450:
    return "Use GET";
  case 451:
    return "Use POST";
  case 452:
    return "Missing request";
  case 453:
    return "Unknown request";
  case 454:
    return "Invalid JSON";
  case 455:
    return "Invalid JSON Object";
  case 456:
    return "Missing mandatory element";
  case 457:
    return "Invalid path for this request";
  case 458:
    return "Session not found";
  case 459:
    return "Handle not found";
  case 460:
    return "Plugin not found";
  case 461:
    return "Error attaching plugin";
  case 462:
    return "Error sending message to plugin";
  case 463:
    return "Error detaching from plugin";
  case 464:
    return "Unsupported JSEP type";
  case 465:
    return "Invalid SDP";
  case 466:
    return "Invalid stream";
  case 467:
    return "Invalid element type";
  case 468:
    return "Session ID already in use";
  case 469:
    return "Unexpected ANSWER (no OFFER)";
  default:
    return "Unknown error";
  }
  return "Unknown error";
}
```