user: Please show me the C implementation that matches the assembly code listed below:

```asm
<handleignore>:
  endbr64
  push   %rbp
  mov    %rsi,%rbp
  push   %rbx
  mov    %edi,%ebx
  sub    $0x8,%rsp
  cmp    $0xb,%edi
  je     L212
  cmp    $0xc,%edi
  je     L166
  cmp    $0xd,%edi
  je     L218
  cmp    $0xe,%edi
  je     L166
  cmp    $0xf,%edi
  je     L28
  cmp    $0x10,%edi
  je     L112
  cmp    $0x11,%edi
  je     L54
  cmp    $0x12,%edi
  je     L197
  cmp    $0x14,%edi
  je     L183
  cmp    $0x16,%edi
  jne    L256
  mov    $0x12,%edx
  lea    D20(%rip),%rdi
  call   <memcmp@plt>
  mov    %rax,%r8
  mov    $0x16,%eax
  test   %r8,%r8
  jne    L174
  nopl   0x0(%rax,%rax,1)
L152:
  xor    %eax,%eax
L174:
  add    $0x8,%rsp
  pop    %rbx
  pop    %rbp
  ret
  nopl   0x0(%rax)
L212:
  mov    $0x5,%edx
  lea    D56(%rip),%rdi
  call   <memcmp@plt>
  test   %rax,%rax
  je     L152
L28:
  mov    $0x7,%edx
  mov    %rbp,%rsi
  lea    D125(%rip),%rdi
  call   <memcmp@plt>
  test   %rax,%rax
  je     L152
L256:
  mov    %ebx,%eax
L151:
  add    $0x8,%rsp
  pop    %rbx
  pop    %rbp
  ret
  nopl   0x0(%rax,%rax,1)
L166:
  mov    $0x9,%edx
  mov    %rbp,%rsi
  lea    D124(%rip),%rdi
  call   <memcmp@plt>
  test   %rax,%rax
  je     L152
  mov    $0x4,%edx
  mov    %rbp,%rsi
  lea    D51(%rip),%rdi
  call   <memcmp@plt>
  test   %rax,%rax
  je     L152
  jmp    L28
  nopl   0x0(%rax,%rax,1)
L218:
  mov    $0x9,%edx
  lea    D124(%rip),%rdi
  call   <memcmp@plt>
  test   %rax,%rax
  je     L152
  jmp    L28
  nop
L197:
  mov    $0x9,%edx
  lea    D96(%rip),%rdi
  call   <memcmp@plt>
  test   %rax,%rax
  je     L152
  mov    $0x12,%edx
  mov    %rbp,%rsi
  lea    D20(%rip),%rdi
  call   <memcmp@plt>
  test   %rax,%rax
  je     L152
  mov    $0x12,%eax
  jmp    L174
  nopl   0x0(%rax)
L112:
  mov    $0x8,%edx
  lea    D37(%rip),%rdi
  call   <memcmp@plt>
  test   %rax,%rax
  je     L152
  mov    $0xb,%edx
  mov    %rbp,%rsi
  lea    D112(%rip),%rdi
  call   <memcmp@plt>
  test   %rax,%rax
  je     L152
  mov    $0x5,%edx
  mov    %rbp,%rsi
  lea    D57(%rip),%rdi
  call   <memcmp@plt>
  test   %rax,%rax
  je     L152
  mov    %ebx,%eax
  jmp    L151
  nopl   0x0(%rax,%rax,1)
L54:
  mov    $0x6,%edx
  lea    D122(%rip),%rdi
  call   <memcmp@plt>
  test   %rax,%rax
  je     L152
  mov    $0x11,%eax
  jmp    L174
  nopl   0x0(%rax)
L183:
  mov    $0x9,%edx
  lea    D96(%rip),%rdi
  call   <memcmp@plt>
  test   %rax,%rax
  je     L152
  mov    $0x14,%eax
  jmp    L174
```

tool_calls: name: unpack_data
arguments: label: D20
data_type: string
name: unpack_data
arguments: label: D56
data_type: string
name: unpack_data
arguments: label: D125
data_type: string
name: unpack_data
arguments: label: D124
data_type: string
name: unpack_data
arguments: label: D51
data_type: string
name: unpack_data
arguments: label: D96
data_type: string
name: unpack_data
arguments: label: D37
data_type: string
name: unpack_data
arguments: label: D112
data_type: string
name: unpack_data
arguments: label: D57
data_type: string
name: unpack_data
arguments: label: D122
data_type: string

tool: D20: 4G Wi-Fi 3Danmark-

tool: D56: WLAN-

tool: D125: WebCube

tool: D124: #Skyroam_

tool: D51: 3Web

tool: D96: 3HuiTube_

tool: D37: 3Pocket_

tool: D112: 3MobileWiFi-

tool: D57: 3neo_

tool: D122: 3Tube_

assistant: ```c
int handleignore(int len, char *linein) {
  static char *wlan = "WLAN-";
  static char *skyroam = "#Skyroam_";
  static char *huitube3 = "3HuiTube_";
  static char *pocket3 = "3Pocket_";
  static char *mobilewifi3 = "3MobileWiFi-";
  static char *tube3 = "3Tube_";
  static char *web3 = "3Web";
  static char *webcube = "WebCube";
  static char *neo3 = "3neo_";
  static char *wifi4g = "4G Wi-Fi 3Danmark-";
  if (len == 11) {
    if (memcmp(wlan, linein, 5) == 0) {
      return 0;
    }
    if (memcmp(webcube, linein, 7) == 0) {
      return 0;
    }
  }
  if (len == 12) {
    if (memcmp(skyroam, linein, 9) == 0) {
      return 0;
    }
    if (memcmp(web3, linein, 4) == 0) {
      return 0;
    }
    if (memcmp(webcube, linein, 7) == 0) {
      return 0;
    }
  }
  if (len == 13) {
    if (memcmp(skyroam, linein, 9) == 0) {
      return 0;
    }
    if (memcmp(webcube, linein, 7) == 0) {
      return 0;
    }
  }
  if (len == 14) {
    if (memcmp(skyroam, linein, 9) == 0) {
      return 0;
    }
    if (memcmp(web3, linein, 4) == 0) {
      return 0;
    }
    if (memcmp(webcube, linein, 7) == 0) {
      return 0;
    }
  }
  if (len == 15) {
    if (memcmp(webcube, linein, 7) == 0) {
      return 0;
    }
  }
  if (len == 16) {
    if (memcmp(pocket3, linein, 8) == 0) {
      return 0;
    }
    if (memcmp(mobilewifi3, linein, 11) == 0) {
      return 0;
    }
    if (memcmp(neo3, linein, 5) == 0) {
      return 0;
    }
  }
  if (len == 17) {
    if (memcmp(tube3, linein, 6) == 0) {
      return 0;
    }
  }
  if (len == 18) {
    if (memcmp(huitube3, linein, 9) == 0) {
      return 0;
    }
    if (memcmp(wifi4g, linein, 18) == 0) {
      return 0;
    }
  }
  if (len == 20) {
    if (memcmp(huitube3, linein, 9) == 0) {
      return 0;
    }
  }
  if (len == 22) {
    if (memcmp(wifi4g, linein, 18) == 0) {
      return 0;
    }
  }
  return len;
}
```