user: 提供的汇编代码用C语言表示会是什么样子:

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x1000,%rsp
  orq    $0x0,(%rsp)
  sub    $0xfe0,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  lea    D611(%rip),%rax
  mov    %rax,%rsi
  lea    D718(%rip),%rax
  mov    %rax,%rdi
  call   <fopen@plt>
  mov    %rax,-0x1fc0(%rbp)
  lea    D611(%rip),%rax
  mov    %rax,%rsi
  lea    D700(%rip),%rax
  mov    %rax,%rdi
  call   <fopen@plt>
  mov    %rax,-0x1fb8(%rbp)
  lea    D611(%rip),%rax
  mov    %rax,%rsi
  lea    D354(%rip),%rax
  mov    %rax,%rdi
  call   <fopen@plt>
  mov    %rax,-0x1fb0(%rbp)
  mov    -0x1fc0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x42,%edx
  mov    $0x1,%esi
  lea    D300(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fc0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x42,%edx
  mov    $0x1,%esi
  lea    D420(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fc0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x29,%edx
  mov    $0x1,%esi
  lea    D56(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fc0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x3,%edx
  mov    $0x1,%esi
  lea    D429(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fc0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x42,%edx
  mov    $0x1,%esi
  lea    D175(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fc0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x3a,%edx
  mov    $0x1,%esi
  lea    D589(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fc0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x1b,%edx
  mov    $0x1,%esi
  lea    D511(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fc0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x3,%edx
  mov    $0x1,%esi
  lea    D429(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fc0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x4,%edx
  mov    $0x1,%esi
  lea    D11(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb8(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x41,%edx
  mov    $0x1,%esi
  lea    D385(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb8(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x41,%edx
  mov    $0x1,%esi
  lea    D317(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb8(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x26,%edx
  mov    $0x1,%esi
  lea    D70(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb8(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x2,%edx
  mov    $0x1,%esi
  lea    D393(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb8(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x41,%edx
  mov    $0x1,%esi
  lea    D24(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb8(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x39,%edx
  mov    $0x1,%esi
  lea    D313(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb8(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x1a,%edx
  mov    $0x1,%esi
  lea    D25(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb8(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x2,%edx
  mov    $0x1,%esi
  lea    D393(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x2,%edx
  mov    $0x1,%esi
  lea    D201(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x21,%edx
  mov    $0x1,%esi
  lea    D215(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x2,%edx
  mov    $0x1,%esi
  lea    D201(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x3e,%edx
  mov    $0x1,%esi
  lea    D444(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x1d,%edx
  mov    $0x1,%esi
  lea    D423(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x2,%edx
  mov    $0x1,%esi
  lea    D201(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x2,%edx
  mov    $0x1,%esi
  lea    D201(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x41,%edx
  mov    $0x1,%esi
  lea    D26(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x39,%edx
  mov    $0x1,%esi
  lea    D358(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x1a,%edx
  mov    $0x1,%esi
  lea    D472(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x2,%edx
  mov    $0x1,%esi
  lea    D201(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  mov    -0x1fb0(%rbp),%rax
  mov    %rax,%rcx
  mov    $0x2,%edx
  mov    $0x1,%esi
  lea    D201(%rip),%rax
  mov    %rax,%rdi
  call   <fwrite@plt>
  movq   $0xfffffffffffeffff,-0x1fc8(%rbp)
  lea    D654(%rip),%rax
  mov    %rax,%rsi
  lea    D209(%rip),%rax
  mov    %rax,%rdi
  call   <fopen@plt>
  mov    %rax,-0x1fa8(%rbp)
L390:
  mov    -0x1fa8(%rbp),%rdx
  lea    -0x1f80(%rbp),%rax
  mov    $0x7d0,%esi
  mov    %rax,%rdi
  call   <fgets@plt>
  test   %rax,%rax
  je     L272
  mov    -0x1fa8(%rbp),%rdx
  lea    -0x1f80(%rbp),%rax
  mov    $0x7d0,%esi
  mov    %rax,%rdi
  call   <fgets@plt>
  lea    -0x1f80(%rbp),%rax
  mov    $0x6,%edx
  lea    D349(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L305
  subq   $0x1,-0x1fc8(%rbp)
  jmp    L5
L305:
  lea    -0x1f80(%rbp),%rax
  mov    $0x6,%edx
  lea    D694(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  je     L41
  jmp    L390
L41:
  nop
L5:
  lea    -0x1f80(%rbp),%rax
  lea    0x6(%rax),%rdx
  lea    -0x17a0(%rbp),%rax
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcpy@plt>
  lea    -0x17a0(%rbp),%rax
  mov    %rax,%rdi
  call   <strlen@plt>
  mov    %eax,-0x1fd4(%rbp)
  cmpl   $0x0,-0x1fd4(%rbp)
  je     L360
  mov    -0x1fd4(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl -0x17a0(%rbp,%rax,1),%eax
  cmp    $0xa,%al
  jne    L360
  mov    -0x1fd4(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movb   $0x0,-0x17a0(%rbp,%rax,1)
L360:
  mov    -0x1fa8(%rbp),%rdx
  lea    -0x1f80(%rbp),%rax
  mov    $0x7d0,%esi
  mov    %rax,%rdi
  call   <fgets@plt>
  test   %rax,%rax
  je     L357
  lea    D78(%rip),%rax
  mov    %rax,-0x1fd0(%rbp)
  lea    -0x1f80(%rbp),%rax
  mov    $0x9,%edx
  lea    D78(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L365
  lea    -0x1f80(%rbp),%rax
  lea    0x9(%rax),%rdx
  lea    -0x1fa0(%rbp),%rax
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcpy@plt>
  lea    -0x1fd8(%rbp),%rdx
  lea    -0x1fa0(%rbp),%rax
  lea    D148(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sscanf@plt>
  mov    -0x1fd8(%rbp),%eax
  cltq
  cmp    %rax,-0x1fc8(%rbp)
  jne    L203
  subq   $0x1,-0x1fc8(%rbp)
  mov    -0x1fa8(%rbp),%rdx
  lea    -0x1f80(%rbp),%rax
  mov    $0x7d0,%esi
  mov    %rax,%rdi
  call   <fgets@plt>
  test   %rax,%rax
  je     L99
  lea    D454(%rip),%rax
  mov    %rax,-0x1fd0(%rbp)
  lea    -0x1f80(%rbp),%rax
  mov    $0x7,%edx
  lea    D454(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L179
  lea    -0x1f80(%rbp),%rax
  lea    0x7(%rax),%rdx
  lea    -0xfc0(%rbp),%rax
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcpy@plt>
  lea    -0xfc0(%rbp),%rax
  mov    %rax,%rdi
  call   <strlen@plt>
  mov    %eax,-0x1fd4(%rbp)
  cmpl   $0x0,-0x1fd4(%rbp)
  je     L59
  mov    -0x1fd4(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl -0xfc0(%rbp,%rax,1),%eax
  cmp    $0xa,%al
  jne    L59
  mov    -0x1fd4(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movb   $0x0,-0xfc0(%rbp,%rax,1)
L59:
  mov    -0x1fa8(%rbp),%rdx
  lea    -0x1f80(%rbp),%rax
  mov    $0x7d0,%esi
  mov    %rax,%rdi
  call   <fgets@plt>
  test   %rax,%rax
  je     L341
  lea    D477(%rip),%rax
  mov    %rax,-0x1fd0(%rbp)
  lea    -0x1f80(%rbp),%rax
  mov    $0xa,%edx
  lea    D477(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L342
  lea    -0x1f80(%rbp),%rax
  lea    0xa(%rax),%rdx
  lea    -0x7e0(%rbp),%rax
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcpy@plt>
  lea    -0x7e0(%rbp),%rax
  mov    %rax,%rdi
  call   <strlen@plt>
  mov    %eax,-0x1fd4(%rbp)
  cmpl   $0x0,-0x1fd4(%rbp)
  je     L314
  mov    -0x1fd4(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl -0x7e0(%rbp,%rax,1),%eax
  cmp    $0xa,%al
  jne    L314
  mov    -0x1fd4(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movb   $0x0,-0x7e0(%rbp,%rax,1)
L314:
  mov    -0x1fd8(%rbp),%ecx
  lea    -0x17a0(%rbp),%rdx
  mov    -0x1fc0(%rbp),%rax
  lea    D542(%rip),%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <fprintf@plt>
  lea    -0x17a0(%rbp),%rdx
  mov    -0x1fb8(%rbp),%rax
  lea    D314(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <fprintf@plt>
  mov    -0x1fd8(%rbp),%ecx
  lea    -0x17a0(%rbp),%rdx
  mov    -0x1fb8(%rbp),%rax
  lea    D550(%rip),%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <fprintf@plt>
  mov    -0x1fa8(%rbp),%rdx
  lea    -0x1f80(%rbp),%rax
  mov    $0x7d0,%esi
  mov    %rax,%rdi
  call   <fgets@plt>
  test   %rax,%rax
  je     L143
  lea    D588(%rip),%rax
  mov    %rax,-0x1fd0(%rbp)
  lea    -0x1f80(%rbp),%rax
  mov    $0x6,%edx
  lea    D588(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L22
  lea    -0xfc0(%rbp),%rcx
  lea    -0x17a0(%rbp),%rdx
  mov    -0x1fb0(%rbp),%rax
  lea    D591(%rip),%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <fprintf@plt>
L166:
  lea    -0x1f80(%rbp),%rax
  lea    D67(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcpy@plt>
  mov    -0x1fa8(%rbp),%rdx
  lea    -0x1f80(%rbp),%rax
  mov    $0x7d0,%esi
  mov    %rax,%rdi
  call   <fgets@plt>
  test   %rax,%rax
  je     L1
  lea    -0x1f80(%rbp),%rax
  mov    $0x2,%edx
  lea    D464(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  je     L139
  mov    -0x1fb0(%rbp),%rdx
  lea    -0x1f80(%rbp),%rax
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <fputs@plt>
  jmp    L166
L1:
  nop
  jmp    L116
L139:
  nop
L116:
  lea    -0x1f80(%rbp),%rax
  mov    $0x2,%edx
  lea    D464(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L76
  nop
L126:
  lea    -0x1f80(%rbp),%rax
  mov    $0x6,%edx
  lea    D349(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L150
  subq   $0x1,-0x1fc8(%rbp)
  mov    -0x1fa8(%rbp),%rdx
  lea    -0x1f80(%rbp),%rax
  mov    $0x7d0,%esi
  mov    %rax,%rdi
  call   <fgets@plt>
  test   %rax,%rax
  je     L21
  jmp    L126
L150:
  nop
  lea    D694(%rip),%rax
  mov    %rax,-0x1fd0(%rbp)
  lea    -0x1f80(%rbp),%rax
  mov    $0x6,%edx
  lea    D694(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L374
  jmp    L5
L76:
  nop
  jmp    L347
L21:
  nop
L347:
  mov    -0x1fa8(%rbp),%rax
  mov    %rax,%rdi
  call   <fclose@plt>
  mov    -0x1fc0(%rbp),%rax
  mov    %rax,%rdi
  call   <fclose@plt>
  mov    -0x1fb8(%rbp),%rax
  mov    %rax,%rdi
  call   <fclose@plt>
  lea    D378(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D604(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D297(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D359(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D604(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D378(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    $0x0,%edi
  call   <exit@plt>
  jmp    L393
L272:
  nop
  jmp    L393
L357:
  nop
  jmp    L393
L99:
  nop
  jmp    L393
L341:
  nop
  jmp    L393
L143:
  nop
L393:
  lea    D451(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D258(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L315
L365:
  nop
  jmp    L191
L179:
  nop
  jmp    L191
L342:
  nop
  jmp    L191
L22:
  nop
  jmp    L191
L374:
  nop
L191:
  lea    D455(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    -0x1fd0(%rbp),%rax
  mov    %rax,%rsi
  lea    D643(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    -0x1f80(%rbp),%rax
  mov    %rax,%rsi
  lea    D679(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L315
L203:
  nop
  lea    D108(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x1fd8(%rbp),%eax
  mov    -0x1fc8(%rbp),%rdx
  mov    %eax,%esi
  lea    D124(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
L315:
  lea    D727(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D696(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D645(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    $0x0,%eax
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L123
  call   <__stack_chk_fail@plt>
L123:
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: label: D611
type_guessed: string
name: extract_symbolic_data
arguments: label: D718
type_guessed: string
name: extract_symbolic_data
arguments: label: D700
type_guessed: string
name: extract_symbolic_data
arguments: label: D354
type_guessed: string
name: extract_symbolic_data
arguments: label: D300
type_guessed: string
name: extract_symbolic_data
arguments: label: D420
type_guessed: string
name: extract_symbolic_data
arguments: label: D56
type_guessed: string
name: extract_symbolic_data
arguments: label: D429
type_guessed: string
name: extract_symbolic_data
arguments: label: D175
type_guessed: string
name: extract_symbolic_data
arguments: label: D589
type_guessed: string
name: extract_symbolic_data
arguments: label: D511
type_guessed: string
name: extract_symbolic_data
arguments: label: D11
type_guessed: string
name: extract_symbolic_data
arguments: label: D385
type_guessed: string
name: extract_symbolic_data
arguments: label: D317
type_guessed: string
name: extract_symbolic_data
arguments: label: D70
type_guessed: string
name: extract_symbolic_data
arguments: label: D393
type_guessed: string
name: extract_symbolic_data
arguments: label: D24
type_guessed: string
name: extract_symbolic_data
arguments: label: D313
type_guessed: string
name: extract_symbolic_data
arguments: label: D25
type_guessed: string
name: extract_symbolic_data
arguments: label: D201
type_guessed: string
name: extract_symbolic_data
arguments: label: D215
type_guessed: string
name: extract_symbolic_data
arguments: label: D444
type_guessed: string
name: extract_symbolic_data
arguments: label: D423
type_guessed: string
name: extract_symbolic_data
arguments: label: D26
type_guessed: string
name: extract_symbolic_data
arguments: label: D358
type_guessed: string
name: extract_symbolic_data
arguments: label: D472
type_guessed: string
name: extract_symbolic_data
arguments: label: D654
type_guessed: string
name: extract_symbolic_data
arguments: label: D209
type_guessed: string
name: extract_symbolic_data
arguments: label: D349
type_guessed: string
name: extract_symbolic_data
arguments: label: D694
type_guessed: string
name: extract_symbolic_data
arguments: label: D78
type_guessed: string
name: extract_symbolic_data
arguments: label: D148
type_guessed: string
name: extract_symbolic_data
arguments: label: D454
type_guessed: string
name: extract_symbolic_data
arguments: label: D477
type_guessed: string
name: extract_symbolic_data
arguments: label: D542
type_guessed: string
name: extract_symbolic_data
arguments: label: D314
type_guessed: string
name: extract_symbolic_data
arguments: label: D550
type_guessed: string
name: extract_symbolic_data
arguments: label: D588
type_guessed: string
name: extract_symbolic_data
arguments: label: D591
type_guessed: string
name: extract_symbolic_data
arguments: label: D67
type_guessed: string
name: extract_symbolic_data
arguments: label: D464
type_guessed: string
name: extract_symbolic_data
arguments: label: D378
type_guessed: string
name: extract_symbolic_data
arguments: label: D604
type_guessed: string
name: extract_symbolic_data
arguments: label: D297
type_guessed: string
name: extract_symbolic_data
arguments: label: D359
type_guessed: string
name: extract_symbolic_data
arguments: label: D451
type_guessed: string
name: extract_symbolic_data
arguments: label: D258
type_guessed: string
name: extract_symbolic_data
arguments: label: D455
type_guessed: string
name: extract_symbolic_data
arguments: label: D643
type_guessed: string
name: extract_symbolic_data
arguments: label: D679
type_guessed: string
name: extract_symbolic_data
arguments: label: D108
type_guessed: string
name: extract_symbolic_data
arguments: label: D124
type_guessed: string
name: extract_symbolic_data
arguments: label: D727
type_guessed: string
name: extract_symbolic_data
arguments: label: D696
type_guessed: string
name: extract_symbolic_data
arguments: label: D645
type_guessed: string

tool: D611: w

tool: D718: verrdefs.h

tool: D700: verrdefs.fin

tool: D354: vrdifac.msg

tool: D300: /* VERRDEFS -- Definition of all symbolic names for VRDI internal


tool: D420:  * errors.  This module is used by application programs to define


tool: D56:  * symbolic names for the VRDI errors.  


tool: D429:  *


tool: D175:  *	NOTE :  This file is built by VRDIERRORS.COM.  It should never


tool: D589:  *		be modified directly.  To make changes to the source,


tool: D511:  *		change VRDIERRORS.COM.


tool: D11:  */


tool: D385: C VERRDEFS -- Definition of all symbolic names for VRDI internal


tool: D317: C errors.  This module is used by application programs to define


tool: D70: C symbolic names for the VRDI errors.


tool: D393: C


tool: D24: C	NOTE :  This file is built by VRDIERRORS.COM.  It should never


tool: D313: C		be modified directly.  To make changes to the source,


tool: D25: C		change VRDIERRORS.COM.


tool: D201: !


tool: D215: !	Message file for facility VIC2


tool: D444: !  This file contains the message id's and detailed texts for


tool: D423: !  the VRDI internal errors.


tool: D26: !	NOTE :  This file is built by VRDIERRORS.COM.  It should never


tool: D358: !		be modified directly.  To make changes to the source,


tool: D472: !		change VRDIERRORS.COM.


tool: D654: r

tool: D209: vrdierrs.dat

tool: D349: %%SKIP

tool: D694: %%KEY 

tool: D78: %%NUMBER 

tool: D148:  %d

tool: D454: %%NAME 

tool: D477: %%MESSAGE 

tool: D542: #define %s %d


tool: D314:       INTEGER %s


tool: D550:       PARAMETER (%s = %d)


tool: D588: %%HELP

tool: D591: .KEY %s	! %s


tool: D67:   

tool: D464: %%

tool: D378: ****************************************

tool: D604: *                                      *

tool: D297: * VRDIERRORS.COM:                      *

tool: D359: * All files successfully created       *

tool: D451: **** Premature end of file encountered processing VRDIERRS.DAT

tool: D258: **** Check file contents

tool: D455: **** Bad directive in VRDIERRS.DAT

tool: D643: **** Expected %s


tool: D679: **** Found %s


tool: D108: **** Numbering sequence in VRDIERRS.DAT is bad

tool: D124: **** Found %d when expecting %ld


tool: 

tool: D696: Please see documentation in ERRORBLD.COM and fix

tool: D645: ERROR file build aborted

assistant: ```c
main() {
  FILE *vrdierrs_dat;
  FILE *verrordefs_h;
  FILE *verrdefs_fin;
  FILE *vrdifac_msg;
  char *expected;
  long cur_num;
  int len;
  char number_str[25];
  int number;
  char in_record[2001];
  char key[2001];
  char name[2001];
  char fname[2001];
  char message[2001];
  verrordefs_h = fopen("verrdefs.h", "w");
  verrdefs_fin = fopen("verrdefs.fin", "w");
  vrdifac_msg = fopen("vrdifac.msg", "w");
  fputs("/* VERRDEFS -- Definition of all symbolic names for VRDI internal\n", verrordefs_h);
  fputs(" * errors.  This module is used by application programs to define\n", verrordefs_h);
  fputs(" * symbolic names for the VRDI errors.  \n", verrordefs_h);
  fputs(" *\n", verrordefs_h);
  fputs(" *\tNOTE :  This file is built by VRDIERRORS.COM.  It should never\n", verrordefs_h);
  fputs(" *\t\tbe modified directly.  To make changes to the source,\n", verrordefs_h);
  fputs(" *\t\tchange VRDIERRORS.COM.\n", verrordefs_h);
  fputs(" *\n", verrordefs_h);
  fputs(" */\n", verrordefs_h);
  fputs("C VERRDEFS -- Definition of all symbolic names for VRDI internal\n", verrdefs_fin);
  fputs("C errors.  This module is used by application programs to define\n", verrdefs_fin);
  fputs("C symbolic names for the VRDI errors.\n", verrdefs_fin);
  fputs("C\n", verrdefs_fin);
  fputs("C\tNOTE :  This file is built by VRDIERRORS.COM.  It should never\n", verrdefs_fin);
  fputs("C\t\tbe modified directly.  To make changes to the source,\n", verrdefs_fin);
  fputs("C\t\tchange VRDIERRORS.COM.\n", verrdefs_fin);
  fputs("C\n", verrdefs_fin);
  fputs("!\n", vrdifac_msg);
  fputs("!\tMessage file for facility VIC2\n", vrdifac_msg);
  fputs("!\n", vrdifac_msg);
  fputs("!  This file contains the message id's and detailed texts for\n", vrdifac_msg);
  fputs("!  the VRDI internal errors.\n", vrdifac_msg);
  fputs("!\n", vrdifac_msg);
  fputs("!\n", vrdifac_msg);
  fputs("!\tNOTE :  This file is built by VRDIERRORS.COM.  It should never\n", vrdifac_msg);
  fputs("!\t\tbe modified directly.  To make changes to the source,\n", vrdifac_msg);
  fputs("!\t\tchange VRDIERRORS.COM.\n", vrdifac_msg);
  fputs("!\n", vrdifac_msg);
  fputs("!\n", vrdifac_msg);
  cur_num = -65537;
  vrdierrs_dat = fopen("vrdierrs.dat", "r");
FIND_TOP:
  if (fgets(in_record, 2000, vrdierrs_dat) == NULL)
    goto EARLY_END;
  fgets(in_record, 2000, vrdierrs_dat);
  if (strncmp(in_record, "%%SKIP", 6) == 0) {
    cur_num = cur_num - 1;
  } else if (strncmp(in_record, "%%KEY ", 6) != 0)
    goto FIND_TOP;
TOP:
  strcpy(key, &in_record[6]);
  if ((len = strlen(key)) != 0)
    if (key[len - 1] == '\n')
      key[len - 1] = '\0';
  if (fgets(in_record, 2000, vrdierrs_dat) == NULL)
    goto EARLY_END;
  expected = "%%NUMBER ";
  if (strncmp(in_record, "%%NUMBER ", 9) != 0)
    goto BAD_DIRECTIVE;
  strcpy(number_str, &in_record[9]);
  sscanf(number_str, " %d", &number);
  if (number != cur_num)
    goto BAD_NUMBER;
  cur_num = cur_num - 1;
  if (fgets(in_record, 2000, vrdierrs_dat) == NULL)
    goto EARLY_END;
  expected = "%%NAME ";
  if (strncmp(in_record, "%%NAME ", 7) != 0)
    goto BAD_DIRECTIVE;
  strcpy(name, &in_record[7]);
  if ((len = strlen(name)) != 0)
    if (name[len - 1] == '\n')
      name[len - 1] = '\0';
  if (fgets(in_record, 2000, vrdierrs_dat) == NULL)
    goto EARLY_END;
  expected = "%%MESSAGE ";
  if (strncmp(in_record, "%%MESSAGE ", 10) != 0)
    goto BAD_DIRECTIVE;
  strcpy(message, &in_record[10]);
  if ((len = strlen(message)) != 0)
    if (message[len - 1] == '\n')
      message[len - 1] = '\0';
  fprintf(verrordefs_h, "#define %s %d\n", key, number);
  fprintf(verrdefs_fin, "      INTEGER %s\n", key);
  fprintf(verrdefs_fin, "      PARAMETER (%s = %d)\n", key, number);
  if (fgets(in_record, 2000, vrdierrs_dat) == NULL)
    goto EARLY_END;
  expected = "%%HELP";
  if (strncmp(in_record, "%%HELP", 6) != 0)
    goto BAD_DIRECTIVE;
  fprintf(vrdifac_msg, ".KEY %s\t! %s\n", key, name);
WRT_HLP:
  strcpy(in_record, "  ");
  if (fgets(in_record, 2000, vrdierrs_dat) == NULL)
    goto HLP_DONE;
  if (strncmp(in_record, "%%", 2) == 0)
    goto HLP_DONE;
  fputs(in_record, vrdifac_msg);
  goto WRT_HLP;
HLP_DONE:
  if (strncmp(in_record, "%%", 2) != 0)
    goto DONE;
CHECK_SKIP:
  if (strncmp(in_record, "%%SKIP", 6) != 0)
    goto CHECK_KEY;
  cur_num = cur_num - 1;
  if (fgets(in_record, 2000, vrdierrs_dat) == NULL)
    goto DONE;
  goto CHECK_SKIP;
CHECK_KEY:
  expected = "%%KEY ";
  if (strncmp(in_record, "%%KEY ", 6) != 0)
    goto BAD_DIRECTIVE;
  goto TOP;
DONE:
  fclose(vrdierrs_dat);
  fclose(verrordefs_h);
  fclose(verrdefs_fin);
  puts("****************************************");
  puts("*                                      *");
  puts("* VRDIERRORS.COM:                      *");
  puts("* All files successfully created       *");
  puts("*                                      *");
  puts("****************************************");
  exit(0);
EARLY_END:
  printf("**** Premature end of file encountered processing VRDIERRS.DAT\n");
  printf("**** Check file contents\n");
  goto PLS_FIX;
BAD_DIRECTIVE:
  printf("**** Bad directive in VRDIERRS.DAT\n");
  printf("**** Expected %s\n", expected);
  printf("**** Found %s\n", in_record);
  goto PLS_FIX;
BAD_NUMBER:
  printf("**** Numbering sequence in VRDIERRS.DAT is bad");
  printf("**** Found %d when expecting %ld\n", number, cur_num);
PLS_FIX:
  puts("");
  puts("Please see documentation in ERRORBLD.COM and fix");
  puts("ERROR file build aborted");
}
```