user: 这段汇编代码用C语言表示是什么样的？

```asm
<vmsarg_mapping>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x30,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    %rsi,-0x10(%rbp)
  mov    %rdx,-0x18(%rbp)
  mov    %rcx,-0x20(%rbp)
  mov    %r8,-0x28(%rbp)
  mov    %r9,-0x30(%rbp)
  mov    -0x8(%rbp),%rax
  movl   $0x1a,(%rax)
  mov    0x30(%rbp),%rax
  movl   $0x515,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x8,%rax
  lea    D241(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x4,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  lea    D488(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x10,%rax
  lea    D97(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x8,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  lea    D507(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x18,%rax
  lea    D348(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0xc,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  lea    D455(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x20,%rax
  lea    D485(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x10,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  lea    D317(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x28,%rax
  lea    D168(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x14,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  lea    D114(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x30,%rax
  lea    D487(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x18,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  lea    D340(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x38,%rax
  lea    D252(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x1c,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  lea    D406(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x40,%rax
  lea    D531(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x20,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  lea    D223(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x48,%rax
  lea    D358(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x24,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  lea    D53(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x50,%rax
  lea    D54(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x28,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  lea    D303(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x58,%rax
  lea    D243(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x2c,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  lea    D433(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x60,%rax
  lea    D511(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x30,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  lea    D495(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x68,%rax
  lea    D198(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x34,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  lea    D154(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x70,%rax
  lea    D429(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x38,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  lea    D319(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x78,%rax
  lea    D516(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x3c,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  lea    D474(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  lea    D120(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x40,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  lea    D272(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x88,%rax
  lea    D471(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x44,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x88,%rax
  lea    D101(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x90,%rax
  lea    D419(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x48,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x90,%rax
  lea    D58(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x98,%rax
  lea    D163(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x4c,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x98,%rax
  lea    D49(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0xa0,%rax
  lea    D177(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x50,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0xa0,%rax
  lea    D22(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0xa8,%rax
  lea    D505(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x54,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0xa8,%rax
  lea    D66(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0xb0,%rax
  lea    D324(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x58,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0xb0,%rax
  lea    D284(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0xb8,%rax
  lea    D244(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x5c,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0xb8,%rax
  lea    D139(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0xc0,%rax
  lea    D44(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x60,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0xc0,%rax
  lea    D534(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0xc8,%rax
  lea    D26(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x64,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0xc8,%rax
  lea    D309(%rip),%rdx
  mov    %rdx,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0xd0,%rax
  lea    D1(%rip),%rdx
  mov    %rdx,(%rax)
  mov    0x18(%rbp),%rax
  add    $0x68,%rax
  movl   $0x1,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0xd0,%rax
  lea    D21(%rip),%rdx
  mov    %rdx,(%rax)
  mov    $0x0,%edx
  lea    D260(%rip),%rax
  mov    %rax,%rsi
  lea    D471(%rip),%rax
  mov    %rax,%rdi
  call   <setenv@plt>
  test   %rax,%rax
  je     L0
  mov    $0x0,%eax
  jmp    L2
L0:
  mov    $0x1,%eax
L2:
  leave
  ret
```

tool_calls: name: parse_data
arguments: label: D241
data_type: string
name: parse_data
arguments: label: D488
data_type: string
name: parse_data
arguments: label: D97
data_type: string
name: parse_data
arguments: label: D507
data_type: string
name: parse_data
arguments: label: D348
data_type: string
name: parse_data
arguments: label: D455
data_type: string
name: parse_data
arguments: label: D485
data_type: string
name: parse_data
arguments: label: D317
data_type: string
name: parse_data
arguments: label: D168
data_type: string
name: parse_data
arguments: label: D114
data_type: string
name: parse_data
arguments: label: D487
data_type: string
name: parse_data
arguments: label: D340
data_type: string
name: parse_data
arguments: label: D252
data_type: string
name: parse_data
arguments: label: D406
data_type: string
name: parse_data
arguments: label: D531
data_type: string
name: parse_data
arguments: label: D223
data_type: string
name: parse_data
arguments: label: D358
data_type: string
name: parse_data
arguments: label: D53
data_type: string
name: parse_data
arguments: label: D54
data_type: string
name: parse_data
arguments: label: D303
data_type: string
name: parse_data
arguments: label: D243
data_type: string
name: parse_data
arguments: label: D433
data_type: string
name: parse_data
arguments: label: D511
data_type: string
name: parse_data
arguments: label: D495
data_type: string
name: parse_data
arguments: label: D198
data_type: string
name: parse_data
arguments: label: D154
data_type: string
name: parse_data
arguments: label: D429
data_type: string
name: parse_data
arguments: label: D319
data_type: string
name: parse_data
arguments: label: D516
data_type: string
name: parse_data
arguments: label: D474
data_type: string
name: parse_data
arguments: label: D120
data_type: string
name: parse_data
arguments: label: D272
data_type: string
name: parse_data
arguments: label: D471
data_type: string
name: parse_data
arguments: label: D101
data_type: string
name: parse_data
arguments: label: D419
data_type: string
name: parse_data
arguments: label: D58
data_type: string
name: parse_data
arguments: label: D163
data_type: string
name: parse_data
arguments: label: D49
data_type: string
name: parse_data
arguments: label: D177
data_type: string
name: parse_data
arguments: label: D22
data_type: string
name: parse_data
arguments: label: D505
data_type: string
name: parse_data
arguments: label: D66
data_type: string
name: parse_data
arguments: label: D324
data_type: string
name: parse_data
arguments: label: D284
data_type: string
name: parse_data
arguments: label: D244
data_type: string
name: parse_data
arguments: label: D139
data_type: string
name: parse_data
arguments: label: D44
data_type: string
name: parse_data
arguments: label: D534
data_type: string
name: parse_data
arguments: label: D26
data_type: string
name: parse_data
arguments: label: D309
data_type: string
name: parse_data
arguments: label: D1
data_type: string
name: parse_data
arguments: label: D21
data_type: string
name: parse_data
arguments: label: D260
data_type: string

tool: D241: USERNAME

tool: D488: -U

tool: D97: PASSWORD

tool: D507: -P

tool: D348: SERVER_NAME

tool: D455: -S

tool: D485: TIMEOUT

tool: D317: -t

tool: D168: INPUT

tool: D114: -i

tool: D487: OUTPUT

tool: D340: -o

tool: D252: VERSION

tool: D406: -v

tool: D531: ECHO

tool: D223: -e

tool: D358: FIPS

tool: D53: -F

tool: D54: STATISTICS

tool: D303: -p

tool: D243: NOPROMPT

tool: D433: -n

tool: D511: ENCRYPT

tool: D495: -X

tool: D198: CHAIN_XACT

tool: D154: -Y

tool: D429: DISPCHARSET

tool: D319: -a

tool: D516: TDSPACKETSIZE

tool: D474: -A

tool: D120: TERMINATOR

tool: D272: -c

tool: D471: EDITOR

tool: D101: -E

tool: D419: ROWSINPAGE

tool: D58: -h

tool: D163: HOSTNAME

tool: D49: -H

tool: D177: INTERFACE

tool: D22: -I

tool: D505: CLIENTCHARSET

tool: D66: -J

tool: D324: ERRORLEVEL

tool: D284: -m

tool: D244: LOGINTIME

tool: D139: -l

tool: D44: COLSEPARATOR

tool: D534: -s

tool: D26: WIDTH

tool: D309: -w

tool: D1: LANGUAGE

tool: D21: -z

tool: D260: edit

assistant: ```c
int vmsarg_mapping(int *nvargs, char *vms_arg[], char *unix_arg[], char *unix_narg[], char *vms_key[], char *unix_key[], char *separator[], int flags[], char *pattern[], char **outverb, int *action_flags, char **arg_symbol, char **image_name) {
  *nvargs = 26;
  *action_flags = 1301;
  vms_arg[1] = "USERNAME";
  flags[1] = 1;
  unix_arg[1] = "-U";
  vms_arg[2] = "PASSWORD";
  flags[2] = 1;
  unix_arg[2] = "-P";
  vms_arg[3] = "SERVER_NAME";
  flags[3] = 1;
  unix_arg[3] = "-S";
  vms_arg[4] = "TIMEOUT";
  flags[4] = 1;
  unix_arg[4] = "-t";
  vms_arg[5] = "INPUT";
  flags[5] = 1;
  unix_arg[5] = "-i";
  vms_arg[6] = "OUTPUT";
  flags[6] = 1;
  unix_arg[6] = "-o";
  vms_arg[7] = "VERSION";
  flags[7] = 1;
  unix_arg[7] = "-v";
  vms_arg[8] = "ECHO";
  flags[8] = 1;
  unix_arg[8] = "-e";
  vms_arg[9] = "FIPS";
  flags[9] = 1;
  unix_arg[9] = "-F";
  vms_arg[10] = "STATISTICS";
  flags[10] = 1;
  unix_arg[10] = "-p";
  vms_arg[11] = "NOPROMPT";
  flags[11] = 1;
  unix_arg[11] = "-n";
  vms_arg[12] = "ENCRYPT";
  flags[12] = 1;
  unix_arg[12] = "-X";
  vms_arg[13] = "CHAIN_XACT";
  flags[13] = 1;
  unix_arg[13] = "-Y";
  vms_arg[14] = "DISPCHARSET";
  flags[14] = 1;
  unix_arg[14] = "-a";
  vms_arg[15] = "TDSPACKETSIZE";
  flags[15] = 1;
  unix_arg[15] = "-A";
  vms_arg[16] = "TERMINATOR";
  flags[16] = 1;
  unix_arg[16] = "-c";
  vms_arg[17] = "EDITOR";
  flags[17] = 1;
  unix_arg[17] = "-E";
  vms_arg[18] = "ROWSINPAGE";
  flags[18] = 1;
  unix_arg[18] = "-h";
  vms_arg[19] = "HOSTNAME";
  flags[19] = 1;
  unix_arg[19] = "-H";
  vms_arg[20] = "INTERFACE";
  flags[20] = 1;
  unix_arg[20] = "-I";
  vms_arg[21] = "CLIENTCHARSET";
  flags[21] = 1;
  unix_arg[21] = "-J";
  vms_arg[22] = "ERRORLEVEL";
  flags[22] = 1;
  unix_arg[22] = "-m";
  vms_arg[23] = "LOGINTIME";
  flags[23] = 1;
  unix_arg[23] = "-l";
  vms_arg[24] = "COLSEPARATOR";
  flags[24] = 1;
  unix_arg[24] = "-s";
  vms_arg[25] = "WIDTH";
  flags[25] = 1;
  unix_arg[25] = "-w";
  vms_arg[26] = "LANGUAGE";
  flags[26] = 1;
  unix_arg[26] = "-z";
  if (setenv("EDITOR", "edit", 0) != 0)
    return 0;
  return 1;
}
```