user: Converte this assembly snippet into its equivalent C code:

```asm
<Input_failed>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %edi,-0x4(%rbp)
  mov    %rsi,-0x10(%rbp)
  lea    D60(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  cmpl   $0xff,-0x4(%rbp)
  jne    L339
  lea    D292(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L339:
  cmpl   $0xfe,-0x4(%rbp)
  jne    L172
  lea    D5(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L172:
  cmpl   $0xfd,-0x4(%rbp)
  jne    L154
  lea    D70(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L154:
  cmpl   $0xfc,-0x4(%rbp)
  jne    L25
  lea    D225(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L25:
  cmpl   $0xfb,-0x4(%rbp)
  jne    L112
  lea    D256(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L112:
  cmpl   $0xfa,-0x4(%rbp)
  jne    L160
  lea    D30(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L160:
  cmpl   $0xf9,-0x4(%rbp)
  jne    L137
  lea    D155(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L137:
  cmpl   $0xf8,-0x4(%rbp)
  jne    L267
  lea    D234(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L267:
  cmpl   $0xf1,-0x4(%rbp)
  jne    L531
  lea    D133(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L531:
  cmpl   $0xf0,-0x4(%rbp)
  jne    L41
  lea    D262(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L41:
  cmpl   $0xef,-0x4(%rbp)
  jne    L162
  lea    D294(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L162:
  cmpl   $0xee,-0x4(%rbp)
  jne    L125
  lea    D217(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L125:
  cmpl   $0xed,-0x4(%rbp)
  jne    L529
  lea    D142(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L529:
  cmpl   $0xec,-0x4(%rbp)
  jne    L412
  lea    D247(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L412:
  cmpl   $0xeb,-0x4(%rbp)
  jne    L224
  lea    D200(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L224:
  cmpl   $0xea,-0x4(%rbp)
  jne    L322
  lea    D202(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L322:
  cmpl   $0xe0,-0x4(%rbp)
  jne    L434
  lea    D156(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L434:
  cmpl   $0xe9,-0x4(%rbp)
  jne    L245
  lea    D13(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L245:
  cmpl   $0xe8,-0x4(%rbp)
  jne    L123
  lea    D113(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L123:
  cmpl   $0xe7,-0x4(%rbp)
  jne    L522
  lea    D252(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L522:
  cmpl   $0xe6,-0x4(%rbp)
  jne    L13
  lea    D307(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L13:
  cmpl   $0xe5,-0x4(%rbp)
  jne    L361
  lea    D179(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L361:
  cmpl   $0xe4,-0x4(%rbp)
  jne    L425
  lea    D264(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L425:
  cmpl   $0xe3,-0x4(%rbp)
  jne    L378
  lea    D230(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L378:
  cmpl   $0xe2,-0x4(%rbp)
  jne    L55
  lea    D9(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L55:
  cmpl   $0xe1,-0x4(%rbp)
  jne    L170
  lea    D67(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L170:
  cmpl   $0xd0,-0x4(%rbp)
  jne    L214
  lea    D4(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L279
L214:
  mov    -0x4(%rbp),%eax
  mov    %eax,%esi
  lea    D162(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  cmpq   $0x0,-0x10(%rbp)
  je     L227
  mov    -0x10(%rbp),%rax
  mov    %rax,%rsi
  lea    D0(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
L227:
  lea    D101(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L279:
  mov    $0x0,%eax
  call   <DisplaySyntax@plt>
  lea    D223(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    $0x1,%edi
  call   <exit_wrapper@plt>
  nop
  leave
  ret
```

tool_calls: name: read_data
arguments: data_tag: D60
type_guessed: string
name: read_data
arguments: data_tag: D292
type_guessed: string
name: read_data
arguments: data_tag: D5
type_guessed: string
name: read_data
arguments: data_tag: D70
type_guessed: string
name: read_data
arguments: data_tag: D225
type_guessed: string
name: read_data
arguments: data_tag: D256
type_guessed: string
name: read_data
arguments: data_tag: D30
type_guessed: string
name: read_data
arguments: data_tag: D155
type_guessed: string
name: read_data
arguments: data_tag: D234
type_guessed: string
name: read_data
arguments: data_tag: D133
type_guessed: string
name: read_data
arguments: data_tag: D262
type_guessed: string
name: read_data
arguments: data_tag: D294
type_guessed: string
name: read_data
arguments: data_tag: D217
type_guessed: string
name: read_data
arguments: data_tag: D142
type_guessed: string
name: read_data
arguments: data_tag: D247
type_guessed: string
name: read_data
arguments: data_tag: D200
type_guessed: string
name: read_data
arguments: data_tag: D202
type_guessed: string
name: read_data
arguments: data_tag: D156
type_guessed: string
name: read_data
arguments: data_tag: D13
type_guessed: string
name: read_data
arguments: data_tag: D113
type_guessed: string
name: read_data
arguments: data_tag: D252
type_guessed: string
name: read_data
arguments: data_tag: D307
type_guessed: string
name: read_data
arguments: data_tag: D179
type_guessed: string
name: read_data
arguments: data_tag: D264
type_guessed: string
name: read_data
arguments: data_tag: D230
type_guessed: string
name: read_data
arguments: data_tag: D9
type_guessed: string
name: read_data
arguments: data_tag: D67
type_guessed: string
name: read_data
arguments: data_tag: D4
type_guessed: string
name: read_data
arguments: data_tag: D162
type_guessed: string
name: read_data
arguments: data_tag: D0
type_guessed: string
name: read_data
arguments: data_tag: D101
type_guessed: string
name: read_data
arguments: data_tag: D223
type_guessed: string

tool: D60: 


tool: D292: Error: Incorrect number of parameters

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

tool: D70: Error: Invalid numerical value

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

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

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

tool: D155: Error: Track name expected

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

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

tool: D262: Error: File name expected

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

tool: D217: Error: Invalid character in filter string

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

tool: D162: Parameter %d is incorrect


tool: D0: (%s)


tool: 

tool: D223: 
Use foflc -help for detailed help

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);
}
```