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

```asm
<sasl_errstring>:
  endbr64
  test   %rdx,%rdx
  je     L16
  lea    D130(%rip),%rax
  mov    %rax,(%rdx)
L16:
  add    $0x1c,%edi
  cmp    $0x1e,%edi
  ja     L5
  lea    D97(%rip),%rdx
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D226(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D15(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D231(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D222(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D246(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D37(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D17(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D41(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D118(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D190(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D85(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D268(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D89(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D49(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D182(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D119(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D69(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D309(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D10(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D3(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D205(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D262(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D5(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D25(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D216(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D218(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D42(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D171(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D26(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D61(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
L5:
  lea    D136(%rip),%rax
  ret
```

tool_calls: name: disassemble_data
arguments: tag: D130
data_type: string
name: disassemble_data
arguments: tag: D226
data_type: string
name: disassemble_data
arguments: tag: D15
data_type: string
name: disassemble_data
arguments: tag: D231
data_type: string
name: disassemble_data
arguments: tag: D222
data_type: string
name: disassemble_data
arguments: tag: D246
data_type: string
name: disassemble_data
arguments: tag: D37
data_type: string
name: disassemble_data
arguments: tag: D17
data_type: string
name: disassemble_data
arguments: tag: D41
data_type: string
name: disassemble_data
arguments: tag: D118
data_type: string
name: disassemble_data
arguments: tag: D190
data_type: string
name: disassemble_data
arguments: tag: D85
data_type: string
name: disassemble_data
arguments: tag: D268
data_type: string
name: disassemble_data
arguments: tag: D89
data_type: string
name: disassemble_data
arguments: tag: D49
data_type: string
name: disassemble_data
arguments: tag: D182
data_type: string
name: disassemble_data
arguments: tag: D119
data_type: string
name: disassemble_data
arguments: tag: D69
data_type: string
name: disassemble_data
arguments: tag: D309
data_type: string
name: disassemble_data
arguments: tag: D10
data_type: string
name: disassemble_data
arguments: tag: D3
data_type: string
name: disassemble_data
arguments: tag: D205
data_type: string
name: disassemble_data
arguments: tag: D262
data_type: string
name: disassemble_data
arguments: tag: D5
data_type: string
name: disassemble_data
arguments: tag: D25
data_type: string
name: disassemble_data
arguments: tag: D216
data_type: string
name: disassemble_data
arguments: tag: D218
data_type: string
name: disassemble_data
arguments: tag: D42
data_type: string
name: disassemble_data
arguments: tag: D171
data_type: string
name: disassemble_data
arguments: tag: D26
data_type: string
name: disassemble_data
arguments: tag: D61
data_type: string
name: disassemble_data
arguments: tag: D136
data_type: string

tool: D130: en-us

tool: D226: another step is needed in authentication

tool: D15: successful result

tool: D231: generic failure

tool: D222: no memory available

tool: D246: overflowed buffer

tool: D37: no mechanism available

tool: D17: bad protocol / cancel

tool: D41: can't request info until later in exchange

tool: D118: invalid parameter supplied

tool: D190: transient failure (e.g., weak key)

tool: D85: integrity check failed

tool: D268: server failed mutual authentication step

tool: D89: mechanism doesn't support requested feature

tool: D49: SASL library not initialized

tool: D182: authentication failure

tool: D119: authorization failure

tool: D69: mechanism too weak for this user

tool: D309: encryption needed to use mechanism

tool: D10: One time use of a plaintext password will enable requested mechanism for user

tool: D3: passphrase expired, has to be reset

tool: D205: account disabled

tool: D262: user not found

tool: D5: passphrase locked

tool: D25: requested change was not needed

tool: D216: version mismatch with plug-in

tool: D218: remote authentication server unavailable

tool: D42: user exists, but no verifier for user

tool: D171: passphrase is too weak for security policy

tool: D26: user supplied passwords are not permitted

tool: D61: needs user interaction

tool: D136: undefined error!

assistant: ```c
const char *sasl_errstring(int saslerr, const char *langlist __attribute__((unused)), const char **outlang) {
  if (outlang)
    *outlang = "en-us";
  switch (saslerr) {
  case 1:
    return "another step is needed in authentication";
  case 0:
    return "successful result";
  case -1:
    return "generic failure";
  case -2:
    return "no memory available";
  case -3:
    return "overflowed buffer";
  case -4:
    return "no mechanism available";
  case -5:
    return "bad protocol / cancel";
  case -6:
    return "can't request info until later in exchange";
  case -7:
    return "invalid parameter supplied";
  case -8:
    return "transient failure (e.g., weak key)";
  case -9:
    return "integrity check failed";
  case -12:
    return "SASL library not initialized";
  case 2:
    return "needs user interaction";
  case -10:
    return "server failed mutual authentication step";
  case -11:
    return "mechanism doesn't support requested feature";
  case -13:
    return "authentication failure";
  case -14:
    return "authorization failure";
  case -15:
    return "mechanism too weak for this user";
  case -16:
    return "encryption needed to use mechanism";
  case -17:
    return "One time use of a plaintext password will enable requested mechanism for user";
  case -18:
    return "passphrase expired, has to be reset";
  case -19:
    return "account disabled";
  case -20:
    return "user not found";
  case -23:
    return "version mismatch with plug-in";
  case -24:
    return "remote authentication server unavailable";
  case -26:
    return "user exists, but no verifier for user";
  case -21:
    return "passphrase locked";
  case -22:
    return "requested change was not needed";
  case -27:
    return "passphrase is too weak for security policy";
  case -28:
    return "user supplied passwords are not permitted";
  default:
    return "undefined error!";
  }
}
```