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

```asm
<Input_failed>:
  endbr64
  push   %r12
  mov    %rsi,%r12
  push   %rbp
  mov    %edi,%ebp
  lea    D136(%rip),%rdi
  sub    $0x8,%rsp
  call   <puts@plt>
  cmp    $0xff,%ebp
  je     L236
  lea    -0xd0(%rbp),%eax
  cmp    $0x2e,%eax
  ja     L30
  lea    D321(%rip),%rdx
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
L236:
  lea    D23(%rip),%rdi
  call   <puts@plt>
L21:
  xor    %eax,%eax
  call   <DisplaySyntax@plt>
  lea    D264(%rip),%rdi
  call   <puts@plt>
  add    $0x8,%rsp
  mov    $0x1,%edi
  pop    %rbp
  pop    %r12
  jmp    10b0 <exit_wrapper@plt>
L30:
  xor    %eax,%eax
  mov    %ebp,%esi
  lea    D67(%rip),%rdi
  call   <printf@plt>
  test   %r12,%r12
  je     L155
  mov    %r12,%rsi
  lea    D191(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
L155:
  lea    D12(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D167(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  cs nopw 0x0(%rax,%rax,1)
  lea    D229(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D211(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D309(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D234(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D106(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D291(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D65(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D222(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D130(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D68(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D219(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D299(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D242(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D40(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D132(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D166(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D235(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D275(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D2(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D66(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D245(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D14(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D212(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D35(%rip),%rdi
  call   <puts@plt>
  jmp    L21
  nopl   0x0(%rax)
  lea    D281(%rip),%rdi
  call   <puts@plt>
  jmp    L21
```

tool_calls: name: unpack_data
arguments: data_label: D136
type: string
name: unpack_data
arguments: data_label: D23
type: string
name: unpack_data
arguments: data_label: D264
type: string
name: unpack_data
arguments: data_label: D67
type: string
name: unpack_data
arguments: data_label: D191
type: string
name: unpack_data
arguments: data_label: D12
type: string
name: unpack_data
arguments: data_label: D167
type: string
name: unpack_data
arguments: data_label: D229
type: string
name: unpack_data
arguments: data_label: D211
type: string
name: unpack_data
arguments: data_label: D309
type: string
name: unpack_data
arguments: data_label: D234
type: string
name: unpack_data
arguments: data_label: D106
type: string
name: unpack_data
arguments: data_label: D291
type: string
name: unpack_data
arguments: data_label: D65
type: string
name: unpack_data
arguments: data_label: D222
type: string
name: unpack_data
arguments: data_label: D130
type: string
name: unpack_data
arguments: data_label: D68
type: string
name: unpack_data
arguments: data_label: D219
type: string
name: unpack_data
arguments: data_label: D299
type: string
name: unpack_data
arguments: data_label: D242
type: string
name: unpack_data
arguments: data_label: D40
type: string
name: unpack_data
arguments: data_label: D132
type: string
name: unpack_data
arguments: data_label: D166
type: string
name: unpack_data
arguments: data_label: D235
type: string
name: unpack_data
arguments: data_label: D275
type: string
name: unpack_data
arguments: data_label: D2
type: string
name: unpack_data
arguments: data_label: D66
type: string
name: unpack_data
arguments: data_label: D245
type: string
name: unpack_data
arguments: data_label: D14
type: string
name: unpack_data
arguments: data_label: D212
type: string
name: unpack_data
arguments: data_label: D35
type: string
name: unpack_data
arguments: data_label: D281
type: string

tool: D136: 


tool: D23: Error: Incorrect number of parameters

tool: D264: 
Use foflc -help for detailed help

tool: D67: Parameter %d is incorrect


tool: D191: (%s)


tool: 

tool: D167: Error: Cannot import and export the same file

tool: D229: Error: Invalid numerical value

tool: D211: Error: The optional nohyphens flag must be 1, 2 or 3

tool: D309: Error: The "nosrctag" parameter can't be used for both wildcard and single ID3 frame omission

tool: D234: Error: The "nosrctag" parameter can't be used as a wildcard multiple times

tool: D106: Error: Track name expected

tool: D291: Error: The "nofstyle" parameter can only be used for MIDI export

tool: D65: Error: Subparameters were expected instead of a hyphen

tool: D222: Error: File name expected

tool: D130: Error: Each parameter can only be defined once

tool: D68: Error: Invalid character in filter string

tool: D219: Error: The "startstamp" and "offset" parameters cannot be used simultaneously

tool: D299: Error: The "quick" parameter can only be used for MIDI import

tool: D242: Error: The "bpm" parameter can only be used for UltraStar or MIDI based export

tool: D40: Error: The "brute" parameter can only be used for UltraStar export

tool: D132: Error: Vocal rhythm instrument+difficulty identifier is expected

tool: D166: Error: The "nolyrics" parameter can only be specified explicitly for MIDI/KAR import

tool: D235: Error: The "verbose" and "debug" parameters may not be used simultaneously

tool: D275: Error: The "quick" parameter is only valid for MIDI, KAR or Vrhythm import/export

tool: D2: Error: The "srcoffset" parameter is only valid when a source MIDI is provided

tool: D66: Error: The "intrack" parameter is only valid for MIDI or KAR import

tool: D245: Error: The "outtrack" parameter is only valid for MIDI or KAR export

tool: D14: Error: The "notenames" parameter is only valid for Vrhythm export

tool: D212: Error: The "relative" parameter is only valid for UltraStar export

tool: D35: Error: The "marklines" parameter can only be used for Script export

tool: D281: Error: The "outtrack" parameter may not be used for Soft Karaoke export

assistant: ```c
void Input_failed(int errnum, char *argument) {
  (void)puts("\n");
  if (errnum == 0xFF)
    (void)puts("Error: Incorrect number of parameters");
  else if (errnum == 0xFE)
    (void)puts("Error: Cannot import and export the same file");
  else if (errnum == 0xFD)
    (void)puts("Error: Invalid numerical value");
  else if (errnum == 0xFC)
    (void)puts("Error: The optional nohyphens flag must be 1, 2 or 3");
  else if (errnum == 0xFB)
    (void)puts("Error: The \"nosrctag\" parameter can't be used for both wildcard and single ID3 frame omission");
  else if (errnum == 0xFA)
    (void)puts("Error: The \"nosrctag\" parameter can't be used as a wildcard multiple times");
  else if (errnum == 0xF9)
    (void)puts("Error: Track name expected");
  else if (errnum == 0xF8)
    (void)puts("Error: The \"nofstyle\" parameter can only be used for MIDI export");
  else if (errnum == 0xF1)
    (void)puts("Error: Subparameters were expected instead of a hyphen");
  else if (errnum == 0xF0)
    (void)puts("Error: File name expected");
  else if (errnum == 0xEF)
    (void)puts("Error: Each parameter can only be defined once");
  else if (errnum == 0xEE)
    (void)puts("Error: Invalid character in filter string");
  else if (errnum == 0xED)
    (void)puts("Error: The \"startstamp\" and \"offset\" parameters cannot be used simultaneously");
  else if (errnum == 0xEC)
    (void)puts("Error: The \"quick\" parameter can only be used for MIDI import");
  else if (errnum == 0xEB)
    (void)puts("Error: The \"bpm\" parameter can only be used for UltraStar or MIDI based export");
  else if (errnum == 0xEA)
    (void)puts("Error: The \"brute\" parameter can only be used for UltraStar export");
  else if (errnum == 0xE0)
    (void)puts("Error: The \"marklines\" parameter can only be used for Script export");
  else if (errnum == 0xE9)
    (void)puts("Error: Vocal rhythm instrument+difficulty identifier is expected");
  else if (errnum == 0xE8)
    (void)puts("Error: The \"nolyrics\" parameter can only be specified explicitly for MIDI/KAR import");
  else if (errnum == 0xE7)
    (void)puts("Error: The \"verbose\" and \"debug\" parameters may not be used simultaneously");
  else if (errnum == 0xE6)
    (void)puts("Error: The \"quick\" parameter is only valid for MIDI, KAR or Vrhythm import/export");
  else if (errnum == 0xE5)
    (void)puts("Error: The \"srcoffset\" parameter is only valid when a source MIDI is provided");
  else if (errnum == 0xE4)
    (void)puts("Error: The \"intrack\" parameter is only valid for MIDI or KAR import");
  else if (errnum == 0xE3)
    (void)puts("Error: The \"outtrack\" parameter is only valid for MIDI or KAR export");
  else if (errnum == 0xE2)
    (void)puts("Error: The \"notenames\" parameter is only valid for Vrhythm export");
  else if (errnum == 0xE1)
    (void)puts("Error: The \"relative\" parameter is only valid for UltraStar export");
  else if (errnum == 0xD0)
    (void)puts("Error: The \"outtrack\" parameter may not be used for Soft Karaoke export");
  else {
    printf("Parameter %d is incorrect\n", errnum);
    if (argument != NULL)
      printf("(%s)\n", argument);
    (void)puts("");
  }
  DisplaySyntax();
  (void)puts("\nUse foflc -help for detailed help");
  exit_wrapper(1);
}
```