user: 请将以下的汇编代码转换成C语言代码：

```asm
<sdt_1_check>:
  endbr64
  push   %r13
  push   %r12
  mov    %rdi,%r12
  push   %rbp
  sub    $0x10,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x8(%rsp)
  xor    %eax,%eax
  call   <createStringArray@plt>
  lea    0x4(%rsp),%rdx
  mov    %r12,%rdi
  movl   $0x0,0x4(%rsp)
  mov    %rax,%rsi
  mov    %rax,%rbp
  call   <splitString@plt>
  mov    0x4(%rsp),%eax
  cmp    $0x3,%eax
  je     L297
L191:
  cmp    $0x4,%eax
  je     L356
L194:
  mov    %rbp,%rdi
  call   <destroyStringArray@plt>
  xor    %eax,%eax
L395:
  mov    0x8(%rsp),%rdx
  sub    %fs:0x28,%rdx
  jne    L471
  add    $0x10,%rsp
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
  nopw   0x0(%rax,%rax,1)
L356:
  lea    D257(%rip),%r12
  mov    0x0(%rbp),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L260
  mov    0x8(%rbp),%rdi
  lea    D194(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L260
  mov    0x10(%rbp),%rdi
  lea    D263(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L329
  cs nopw 0x0(%rax,%rax,1)
L260:
  lea    D17(%rip),%r13
  mov    0x0(%rbp),%rdi
  mov    %r13,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L394
  mov    0x8(%rbp),%rdi
  lea    D146(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L394
  mov    0x10(%rbp),%rdi
  lea    D263(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L458
  cs nopw 0x0(%rax,%rax,1)
L394:
  mov    0x0(%rbp),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L149
  mov    0x8(%rbp),%rdi
  lea    D194(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L149
  mov    0x10(%rbp),%rdi
  lea    D263(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L120
  nop
L149:
  mov    0x0(%rbp),%rdi
  mov    %r13,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L194
  mov    0x8(%rbp),%rdi
  lea    D146(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L194
  mov    0x10(%rbp),%rdi
  lea    D263(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L194
  mov    0x18(%rbp),%rdi
  lea    D208(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L194
L364:
  mov    %rbp,%rdi
  call   <destroyStringArray@plt>
  mov    $0x1,%eax
  jmp    L395
  nopw   0x0(%rax,%rax,1)
L297:
  lea    D257(%rip),%r12
  mov    0x0(%rbp),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L406
L476:
  mov    0x0(%rbp),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L321
  mov    0x8(%rbp),%rdi
  lea    D194(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L129
L321:
  lea    D17(%rip),%r13
  mov    0x0(%rbp),%rdi
  mov    %r13,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L233
  mov    0x8(%rbp),%rdi
  lea    D146(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L144
L233:
  mov    0x0(%rbp),%rdi
  mov    %r13,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L142
  mov    0x8(%rbp),%rdi
  lea    D146(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L44
L142:
  mov    0x0(%rbp),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L128
  mov    0x8(%rbp),%rdi
  lea    D194(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L180
L128:
  mov    0x0(%rbp),%rdi
  mov    %r13,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L123
L286:
  mov    0x4(%rsp),%eax
  jmp    L191
  nopl   (%rax)
L406:
  mov    0x8(%rbp),%rdi
  lea    D194(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L476
  mov    0x10(%rbp),%rdi
  lea    D263(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L476
  jmp    L364
  nopw   0x0(%rax,%rax,1)
L123:
  mov    0x8(%rbp),%rdi
  lea    D146(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L286
  mov    0x10(%rbp),%rdi
  lea    D163(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L286
  jmp    L364
  nop
L329:
  mov    0x18(%rbp),%rdi
  lea    D236(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L260
  jmp    L364
  xchg   %ax,%ax
L458:
  mov    0x18(%rbp),%rdi
  lea    D236(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L394
  jmp    L364
  xchg   %ax,%ax
L120:
  mov    0x18(%rbp),%rdi
  lea    D208(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L149
  jmp    L364
  xchg   %ax,%ax
L129:
  mov    0x10(%rbp),%rdi
  lea    D0(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L321
  jmp    L364
  xchg   %ax,%ax
L144:
  mov    0x10(%rbp),%rdi
  lea    D263(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L233
  jmp    L364
  xchg   %ax,%ax
L44:
  mov    0x10(%rbp),%rdi
  lea    D0(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L142
  jmp    L364
  xchg   %ax,%ax
L180:
  mov    0x10(%rbp),%rdi
  lea    D163(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L128
  jmp    L364
L471:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: unpack_data
arguments: data_tag: D257
data_type: string
name: unpack_data
arguments: data_tag: D194
data_type: string
name: unpack_data
arguments: data_tag: D263
data_type: string
name: unpack_data
arguments: data_tag: D17
data_type: string
name: unpack_data
arguments: data_tag: D146
data_type: string
name: unpack_data
arguments: data_tag: D208
data_type: string
name: unpack_data
arguments: data_tag: D163
data_type: string
name: unpack_data
arguments: data_tag: D236
data_type: string
name: unpack_data
arguments: data_tag: D0
data_type: string

tool: D257: str

tool: D194: r0

tool: D263: [r3]

tool: D17: ldr

tool: D146: r1

tool: D208: #0x0

tool: D163: [r3, #0x0]

tool: D236: #0

tool: D0: [r3, #0]

assistant: ```c
int sdt_1_check(char *line) {
  char **splitted = createStringArray();
  int n = 0;
  splitString(line, splitted, &n);
  if (n == 3) {
    if (strcmp(splitted[0], "str") == 0 && strcmp(splitted[1], "r0") == 0 && strcmp(splitted[2], "[r3]") == 0) {
      destroyStringArray(splitted);
      return 1;
    }
    if (strcmp(splitted[0], "str") == 0 && strcmp(splitted[1], "r0") == 0 && strcmp(splitted[2], "[r3, #0]") == 0) {
      destroyStringArray(splitted);
      return 1;
    }
    if (strcmp(splitted[0], "ldr") == 0 && strcmp(splitted[1], "r1") == 0 && strcmp(splitted[2], "[r3]") == 0) {
      destroyStringArray(splitted);
      return 1;
    }
    if (strcmp(splitted[0], "ldr") == 0 && strcmp(splitted[1], "r1") == 0 && strcmp(splitted[2], "[r3, #0]") == 0) {
      destroyStringArray(splitted);
      return 1;
    }
    if (strcmp(splitted[0], "str") == 0 && strcmp(splitted[1], "r0") == 0 && strcmp(splitted[2], "[r3, #0x0]") == 0) {
      destroyStringArray(splitted);
      return 1;
    }
    if (strcmp(splitted[0], "ldr") == 0 && strcmp(splitted[1], "r1") == 0 && strcmp(splitted[2], "[r3, #0x0]") == 0) {
      destroyStringArray(splitted);
      return 1;
    }
  }
  if (n == 4) {
    if (strcmp(splitted[0], "str") == 0 && strcmp(splitted[1], "r0") == 0 && strcmp(splitted[2], "[r3]") == 0 && strcmp(splitted[3], "#0") == 0) {
      destroyStringArray(splitted);
      return 1;
    }
    if (strcmp(splitted[0], "ldr") == 0 && strcmp(splitted[1], "r1") == 0 && strcmp(splitted[2], "[r3]") == 0 && strcmp(splitted[3], "#0") == 0) {
      destroyStringArray(splitted);
      return 1;
    }
    if (strcmp(splitted[0], "str") == 0 && strcmp(splitted[1], "r0") == 0 && strcmp(splitted[2], "[r3]") == 0 && strcmp(splitted[3], "#0x0") == 0) {
      destroyStringArray(splitted);
      return 1;
    }
    if (strcmp(splitted[0], "ldr") == 0 && strcmp(splitted[1], "r1") == 0 && strcmp(splitted[2], "[r3]") == 0 && strcmp(splitted[3], "#0x0") == 0) {
      destroyStringArray(splitted);
      return 1;
    }
  }
  destroyStringArray(splitted);
  return 0;
}
```