user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<oflags_table>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x40,%rsp
  mov    %rdi,-0x38(%rbp)
  mov    %rsi,-0x40(%rbp)
  mov    -0x38(%rbp),%rax
  mov    %rax,%rsi
  lea    D11(%rip),%rax
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L171
  movl   $0x1,-0x4(%rbp)
  lea    D110(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  jmp    L83
L171:
  mov    -0x38(%rbp),%rax
  mov    %rax,%rsi
  lea    D11(%rip),%rax
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L0
  movl   $0x1,-0x8(%rbp)
  jmp    L83
L0:
  mov    -0x38(%rbp),%rax
  mov    %rax,%rsi
  lea    D12(%rip),%rax
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L221
  movl   $0x1,-0xc(%rbp)
  jmp    L83
L221:
  mov    -0x38(%rbp),%rax
  mov    %rax,%rsi
  lea    D42(%rip),%rax
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L68
  movl   $0x1,-0x10(%rbp)
  jmp    L83
L68:
  mov    -0x38(%rbp),%rax
  mov    %rax,%rsi
  lea    D0(%rip),%rax
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L195
  movl   $0x1,-0x14(%rbp)
  jmp    L83
L195:
  mov    -0x38(%rbp),%rax
  mov    %rax,%rsi
  lea    D57(%rip),%rax
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L170
  movl   $0x1,-0x18(%rbp)
  jmp    L83
L170:
  mov    -0x38(%rbp),%rax
  mov    %rax,%rsi
  lea    D45(%rip),%rax
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L220
  movl   $0x1,-0x1c(%rbp)
  jmp    L83
L220:
  mov    -0x38(%rbp),%rax
  mov    %rax,%rsi
  lea    D98(%rip),%rax
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L119
  movl   $0x1,-0x20(%rbp)
  jmp    L83
L119:
  mov    -0x38(%rbp),%rax
  mov    %rax,%rsi
  lea    D50(%rip),%rax
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L91
  movl   $0x1,-0x24(%rbp)
  jmp    L83
L91:
  mov    -0x38(%rbp),%rax
  mov    %rax,%rsi
  lea    D80(%rip),%rax
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L86
  movl   $0x1,-0x28(%rbp)
  jmp    L83
L86:
  mov    -0x38(%rbp),%rax
  mov    %rax,%rsi
  lea    D5(%rip),%rax
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L80
  movl   $0x1,-0x2c(%rbp)
  jmp    L83
L80:
  mov    -0x38(%rbp),%rax
  mov    %rax,%rsi
  lea    D88(%rip),%rax
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L83
  movl   $0x1,-0x30(%rbp)
L83:
  nop
  leave
  ret
```

tool_calls: name: disassemble_data
arguments: data_tag: D11
data_type: string
name: disassemble_data
arguments: data_tag: D110
data_type: string
name: disassemble_data
arguments: data_tag: D12
data_type: string
name: disassemble_data
arguments: data_tag: D42
data_type: string
name: disassemble_data
arguments: data_tag: D0
data_type: string
name: disassemble_data
arguments: data_tag: D57
data_type: string
name: disassemble_data
arguments: data_tag: D45
data_type: string
name: disassemble_data
arguments: data_tag: D98
data_type: string
name: disassemble_data
arguments: data_tag: D50
data_type: string
name: disassemble_data
arguments: data_tag: D80
data_type: string
name: disassemble_data
arguments: data_tag: D5
data_type: string
name: disassemble_data
arguments: data_tag: D88
data_type: string

tool: D11: append

tool: D110:  append activated 


tool: D12: direct

tool: D42: directory

tool: D0: dsync

tool: D57: sync

tool: D45: fullblock

tool: D98: nonblock

tool: D50: noatime

tool: D80: nocache

tool: D5: noctty

tool: D88: nofollow

assistant: ```c
void oflags_table(char *convs, char *optname) {
  if (strcmp("append", convs) == 0) {
    int iflags_append = 1;
    printf(" append activated \n");
  } else if (strcmp("append", convs) == 0) {
    int oflags_append = 1;
  } else if (strcmp("direct", convs) == 0) {
    int oflags_direct = 1;
  } else if (strcmp("directory", convs) == 0) {
    int oflags_directory = 1;
  } else if (strcmp("dsync", convs) == 0) {
    int oflags_dsync = 1;
  } else if (strcmp("sync", convs) == 0) {
    int oflags_sync = 1;
  } else if (strcmp("fullblock", convs) == 0) {
    int oflags_fullblock = 1;
  } else if (strcmp("nonblock", convs) == 0) {
    int oflags_nonblock = 1;
  } else if (strcmp("noatime", convs) == 0) {
    int oflags_noatime = 1;
  } else if (strcmp("nocache", convs) == 0) {
    int oflags_nocache = 1;
  } else if (strcmp("noctty", convs) == 0) {
    int oflags_noctty = 1;
  } else if (strcmp("nofollow", convs) == 0) {
    int oflags_nofollow = 1;
  }
}
```