user: Converte this assembly snippet into its equivalent C code:

```asm
<test_sprintf_vla>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  push   %r14
  push   %r13
  push   %r12
  push   %rbx
  sub    $0x10,%rsp
  mov    %rdi,%rbx
  mov    %rsi,%r12
  mov    %fs:0x28,%rax
  mov    %rax,-0x28(%rbp)
  xor    %eax,%eax
  mov    %rsp,%r13
  mov    $0x1,%edi
  call   <i@plt>
  cltq
  add    $0xf,%rax
  mov    %rax,%rcx
  and    $0xfffffffffffffff0,%rcx
  and    $0xfffffffffffff000,%rax
  mov    %rsp,%rdx
  sub    %rax,%rdx
L374:
  cmp    %rdx,%rsp
  je     L299
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  jmp    L374
L299:
  mov    %rcx,%rax
  and    $0xfff,%eax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L192
  orq    $0x0,-0x8(%rsp,%rax,1)
L192:
  mov    %rsp,%r14
  mov    $0x0,%eax
  call   <x@plt>
  test   %rax,%rax
  lea    D156(%rip),%rdx
  lea    D242(%rip),%rax
  cmove  %rax,%rdx
  lea    D14(%rip),%rsi
  mov    %r14,%rdi
  call   <__builtin_sprintf@plt>
  mov    %r14,%rdi
  call   <sink@plt>
  mov    %r13,%rsp
  mov    %rsp,%r13
  mov    $0x1,%edi
  call   <i@plt>
  cltq
  add    $0xf,%rax
  mov    %rax,%rcx
  and    $0xfffffffffffffff0,%rcx
  and    $0xfffffffffffff000,%rax
  mov    %rsp,%rdx
  sub    %rax,%rdx
L214:
  cmp    %rdx,%rsp
  je     L10
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  jmp    L214
L10:
  mov    %rcx,%rax
  and    $0xfff,%eax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L44
  orq    $0x0,-0x8(%rsp,%rax,1)
L44:
  mov    %rsp,%r14
  mov    $0x0,%eax
  call   <x@plt>
  test   %rax,%rax
  lea    D242(%rip),%rdx
  lea    D156(%rip),%rax
  cmove  %rax,%rdx
  lea    D14(%rip),%rsi
  mov    %r14,%rdi
  call   <__builtin_sprintf@plt>
  mov    %r14,%rdi
  call   <sink@plt>
  mov    %r13,%rsp
  mov    %rsp,%r13
  mov    $0x1,%edi
  call   <i@plt>
  cltq
  add    $0xf,%rax
  mov    %rax,%rcx
  and    $0xfffffffffffffff0,%rcx
  and    $0xfffffffffffff000,%rax
  mov    %rsp,%rdx
  sub    %rax,%rdx
L156:
  cmp    %rdx,%rsp
  je     L422
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  jmp    L156
L422:
  mov    %rcx,%rax
  and    $0xfff,%eax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L216
  orq    $0x0,-0x8(%rsp,%rax,1)
L216:
  mov    %rsp,%r14
  mov    $0x0,%eax
  call   <x@plt>
  test   %rax,%rax
  lea    D242(%rip),%rdx
  cmovne %rbx,%rdx
  lea    D14(%rip),%rsi
  mov    %r14,%rdi
  call   <__builtin_sprintf@plt>
  mov    %r14,%rdi
  call   <sink@plt>
  mov    %r13,%rsp
  mov    %rsp,%r13
  mov    $0x1,%edi
  call   <i@plt>
  cltq
  add    $0xf,%rax
  mov    %rax,%rcx
  and    $0xfffffffffffffff0,%rcx
  and    $0xfffffffffffff000,%rax
  mov    %rsp,%rdx
  sub    %rax,%rdx
L339:
  cmp    %rdx,%rsp
  je     L221
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  jmp    L339
L221:
  mov    %rcx,%rax
  and    $0xfff,%eax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L285
  orq    $0x0,-0x8(%rsp,%rax,1)
L285:
  mov    %rsp,%r14
  mov    $0x0,%eax
  call   <x@plt>
  test   %rax,%rax
  lea    D242(%rip),%rdx
  cmove  %rbx,%rdx
  lea    D14(%rip),%rsi
  mov    %r14,%rdi
  call   <__builtin_sprintf@plt>
  mov    %r14,%rdi
  call   <sink@plt>
  mov    %r13,%rsp
  mov    %rsp,%r13
  mov    $0x1,%edi
  call   <i@plt>
  cltq
  add    $0xf,%rax
  mov    %rax,%rcx
  and    $0xfffffffffffffff0,%rcx
  and    $0xfffffffffffff000,%rax
  mov    %rsp,%rdx
  sub    %rax,%rdx
L255:
  cmp    %rdx,%rsp
  je     L357
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  jmp    L255
L357:
  mov    %rcx,%rax
  and    $0xfff,%eax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L202
  orq    $0x0,-0x8(%rsp,%rax,1)
L202:
  mov    %rsp,%r14
  mov    $0x0,%eax
  call   <x@plt>
  test   %rax,%rax
  cmovne %rbx,%r12
  mov    %r12,%rdx
  lea    D14(%rip),%rsi
  mov    %r14,%rdi
  call   <__builtin_sprintf@plt>
  mov    %r14,%rdi
  call   <sink@plt>
  mov    %r13,%rsp
  mov    %rsp,%r12
  mov    $0x2,%edi
  call   <i@plt>
  cltq
  add    $0xf,%rax
  mov    %rax,%rcx
  and    $0xfffffffffffffff0,%rcx
  and    $0xfffffffffffff000,%rax
  mov    %rsp,%rdx
  sub    %rax,%rdx
L182:
  cmp    %rdx,%rsp
  je     L253
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  jmp    L182
L253:
  mov    %rcx,%rax
  and    $0xfff,%eax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L350
  orq    $0x0,-0x8(%rsp,%rax,1)
L350:
  mov    %rsp,%r13
  mov    $0x0,%eax
  call   <x@plt>
  test   %rax,%rax
  lea    D156(%rip),%rdx
  lea    D242(%rip),%rax
  cmove  %rax,%rdx
  lea    D14(%rip),%rsi
  mov    %r13,%rdi
  call   <__builtin_sprintf@plt>
  mov    %r13,%rdi
  call   <sink@plt>
  mov    %r12,%rsp
  mov    %rsp,%r12
  mov    $0x2,%edi
  call   <i@plt>
  cltq
  add    $0xf,%rax
  mov    %rax,%rcx
  and    $0xfffffffffffffff0,%rcx
  and    $0xfffffffffffff000,%rax
  mov    %rsp,%rdx
  sub    %rax,%rdx
L11:
  cmp    %rdx,%rsp
  je     L201
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  jmp    L11
L201:
  mov    %rcx,%rax
  and    $0xfff,%eax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L410
  orq    $0x0,-0x8(%rsp,%rax,1)
L410:
  mov    %rsp,%r13
  mov    $0x0,%eax
  call   <x@plt>
  test   %rax,%rax
  lea    D156(%rip),%rdx
  cmove  %rbx,%rdx
  lea    D14(%rip),%rsi
  mov    %r13,%rdi
  call   <__builtin_sprintf@plt>
  mov    %r13,%rdi
  call   <sink@plt>
  mov    %r12,%rsp
  mov    %rsp,%r12
  mov    $0x2,%edi
  call   <i@plt>
  cltq
  add    $0xf,%rax
  mov    %rax,%rcx
  and    $0xfffffffffffffff0,%rcx
  and    $0xfffffffffffff000,%rax
  mov    %rsp,%rdx
  sub    %rax,%rdx
L121:
  cmp    %rdx,%rsp
  je     L345
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  jmp    L121
L345:
  mov    %rcx,%rax
  and    $0xfff,%eax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L52
  orq    $0x0,-0x8(%rsp,%rax,1)
L52:
  mov    %rsp,%r13
  mov    $0x0,%eax
  call   <x@plt>
  test   %rax,%rax
  lea    D242(%rip),%rdx
  lea    D156(%rip),%rax
  cmove  %rax,%rdx
  lea    D14(%rip),%rsi
  mov    %r13,%rdi
  call   <__builtin_sprintf@plt>
  mov    %r13,%rdi
  call   <sink@plt>
  mov    %r12,%rsp
  mov    %rsp,%r12
  mov    $0x2,%edi
  call   <i@plt>
  cltq
  add    $0xf,%rax
  mov    %rax,%rcx
  and    $0xfffffffffffffff0,%rcx
  and    $0xfffffffffffff000,%rax
  mov    %rsp,%rdx
  sub    %rax,%rdx
L275:
  cmp    %rdx,%rsp
  je     L256
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  jmp    L275
L256:
  mov    %rcx,%rax
  and    $0xfff,%eax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L212
  orq    $0x0,-0x8(%rsp,%rax,1)
L212:
  mov    %rsp,%r13
  mov    $0x0,%eax
  call   <x@plt>
  test   %rax,%rax
  lea    D156(%rip),%rax
  cmove  %rax,%rbx
  mov    %rbx,%rdx
  lea    D14(%rip),%rsi
  mov    %r13,%rdi
  call   <__builtin_sprintf@plt>
  mov    %r13,%rdi
  call   <sink@plt>
  mov    %r12,%rsp
  mov    %rsp,%rbx
  mov    $0x2,%edi
  call   <i@plt>
  cltq
  add    $0xf,%rax
  mov    %rax,%rcx
  and    $0xfffffffffffffff0,%rcx
  and    $0xfffffffffffff000,%rax
  mov    %rsp,%rdx
  sub    %rax,%rdx
L331:
  cmp    %rdx,%rsp
  je     L355
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  jmp    L331
L355:
  mov    %rcx,%rax
  and    $0xfff,%eax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L18
  orq    $0x0,-0x8(%rsp,%rax,1)
L18:
  mov    %rsp,%r12
  mov    $0x0,%eax
  call   <x@plt>
  test   %rax,%rax
  lea    D242(%rip),%rdx
  lea    D133(%rip),%rax
  cmove  %rax,%rdx
  lea    D14(%rip),%rsi
  mov    %r12,%rdi
  call   <__builtin_sprintf@plt>
  mov    %r12,%rdi
  call   <sink@plt>
  mov    %rbx,%rsp
  mov    %rsp,%rbx
  mov    $0x2,%edi
  call   <i@plt>
  cltq
  add    $0xf,%rax
  mov    %rax,%rcx
  and    $0xfffffffffffffff0,%rcx
  and    $0xfffffffffffff000,%rax
  mov    %rsp,%rdx
  sub    %rax,%rdx
L329:
  cmp    %rdx,%rsp
  je     L380
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  jmp    L329
L380:
  mov    %rcx,%rax
  and    $0xfff,%eax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L71
  orq    $0x0,-0x8(%rsp,%rax,1)
L71:
  mov    %rsp,%r12
  mov    $0x0,%eax
  call   <x@plt>
  test   %rax,%rax
  lea    D156(%rip),%rdx
  lea    D25(%rip),%rax
  cmove  %rax,%rdx
  lea    D14(%rip),%rsi
  mov    %r12,%rdi
  call   <__builtin_sprintf@plt>
  mov    %r12,%rdi
  call   <sink@plt>
  mov    %rbx,%rsp
  mov    %rsp,%rbx
  mov    $0x2,%edi
  call   <i@plt>
  cltq
  add    $0xf,%rax
  mov    %rax,%rcx
  and    $0xfffffffffffffff0,%rcx
  and    $0xfffffffffffff000,%rax
  mov    %rsp,%rdx
  sub    %rax,%rdx
L145:
  cmp    %rdx,%rsp
  je     L382
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  jmp    L145
L382:
  mov    %rcx,%rax
  and    $0xfff,%eax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L413
  orq    $0x0,-0x8(%rsp,%rax,1)
L413:
  mov    %rsp,%r12
  mov    $0x0,%eax
  call   <x@plt>
  test   %rax,%rax
  lea    D25(%rip),%rdx
  lea    D156(%rip),%rax
  cmove  %rax,%rdx
  lea    D14(%rip),%rsi
  mov    %r12,%rdi
  call   <__builtin_sprintf@plt>
  mov    %r12,%rdi
  call   <sink@plt>
  mov    %rbx,%rsp
  mov    %rsp,%rbx
  mov    $0x2,%edi
  call   <i@plt>
  cltq
  add    $0xf,%rax
  mov    %rax,%rcx
  and    $0xfffffffffffffff0,%rcx
  and    $0xfffffffffffff000,%rax
  mov    %rsp,%rdx
  sub    %rax,%rdx
L310:
  cmp    %rdx,%rsp
  je     L169
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  jmp    L310
L169:
  mov    %rcx,%rax
  and    $0xfff,%eax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L90
  orq    $0x0,-0x8(%rsp,%rax,1)
L90:
  mov    %rsp,%r12
  mov    $0x0,%eax
  call   <x@plt>
  test   %rax,%rax
  lea    D156(%rip),%rdx
  lea    D166(%rip),%rax
  cmove  %rax,%rdx
  lea    D14(%rip),%rsi
  mov    %r12,%rdi
  call   <__builtin_sprintf@plt>
  mov    %r12,%rdi
  call   <sink@plt>
  mov    %rbx,%rsp
  mov    $0x2,%edi
  call   <i@plt>
  cltq
  add    $0xf,%rax
  mov    %rax,%rcx
  and    $0xfffffffffffffff0,%rcx
  and    $0xfffffffffffff000,%rax
  mov    %rsp,%rdx
  sub    %rax,%rdx
L125:
  cmp    %rdx,%rsp
  je     L427
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  jmp    L125
L427:
  mov    %rcx,%rax
  and    $0xfff,%eax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L51
  orq    $0x0,-0x8(%rsp,%rax,1)
L51:
  mov    %rsp,%rbx
  mov    $0x0,%eax
  call   <x@plt>
  test   %rax,%rax
  lea    D166(%rip),%rdx
  lea    D156(%rip),%rax
  cmove  %rax,%rdx
  lea    D14(%rip),%rsi
  mov    %rbx,%rdi
  call   <__builtin_sprintf@plt>
  mov    %rbx,%rdi
  call   <sink@plt>
  mov    -0x28(%rbp),%rax
  sub    %fs:0x28,%rax
  jne    L140
  lea    -0x20(%rbp),%rsp
  pop    %rbx
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %rbp
  ret
L140:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: read_data
arguments: data_label: D156
type: string
name: read_data
arguments: data_label: D242
type: string
name: read_data
arguments: data_label: D14
type: string
name: read_data
arguments: data_label: D133
type: string
name: read_data
arguments: data_label: D25
type: string
name: read_data
arguments: data_label: D166
type: string

tool: 

tool: D242: 1

tool: D14: %-s

tool: D133: 2

tool: D25: 12

tool: D166: 123

assistant: ```c
void test_sprintf_vla(const char *s, const char *t) {
  do {
    if (!0 || 456 == 0) {
      char *d;
      char vla[i(1)];
      (d) = vla;
      __builtin_sprintf(d, "%-s", x() ? "" : "1");
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 457 == 0) {
      char *d;
      char vla[i(1)];
      (d) = vla;
      __builtin_sprintf(d, "%-s", x() ? "1" : "");
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 458 == 0) {
      char *d;
      char vla[i(1)];
      (d) = vla;
      __builtin_sprintf(d, "%-s", x() ? s : "1");
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 459 == 0) {
      char *d;
      char vla[i(1)];
      (d) = vla;
      __builtin_sprintf(d, "%-s", x() ? "1" : s);
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 460 == 0) {
      char *d;
      char vla[i(1)];
      (d) = vla;
      __builtin_sprintf(d, "%-s", x() ? s : t);
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 462 == 0) {
      char *d;
      char vla[i(2)];
      (d) = vla;
      __builtin_sprintf(d, "%-s", x() ? "" : "1");
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 463 == 0) {
      char *d;
      char vla[i(2)];
      (d) = vla;
      __builtin_sprintf(d, "%-s", x() ? "" : s);
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 464 == 0) {
      char *d;
      char vla[i(2)];
      (d) = vla;
      __builtin_sprintf(d, "%-s", x() ? "1" : "");
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 465 == 0) {
      char *d;
      char vla[i(2)];
      (d) = vla;
      __builtin_sprintf(d, "%-s", x() ? s : "");
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 466 == 0) {
      char *d;
      char vla[i(2)];
      (d) = vla;
      __builtin_sprintf(d, "%-s", x() ? "1" : "2");
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 467 == 0) {
      char *d;
      char vla[i(2)];
      (d) = vla;
      __builtin_sprintf(d, "%-s", x() ? "" : "12");
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 468 == 0) {
      char *d;
      char vla[i(2)];
      (d) = vla;
      __builtin_sprintf(d, "%-s", x() ? "12" : "");
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 470 == 0) {
      char *d;
      char vla[i(2)];
      (d) = vla;
      __builtin_sprintf(d, "%-s", x() ? "" : "123");
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 471 == 0) {
      char *d;
      char vla[i(2)];
      (d) = vla;
      __builtin_sprintf(d, "%-s", x() ? "123" : "");
      sink(d);
    }
  } while (0);
}
```