user: What is the c source code of the assembly code below?

```asm
<test_switch>:
  endbr64
  push   %r12
  lea    D29(%rip),%rdi
  lea    D13(%rip),%r12
  push   %rbp
  push   %rbx
  mov    $0xa,%ebx
  call   <puts@plt>
  jmp    L179
  nopw   0x0(%rax,%rax,1)
L85:
  cmp    $0x14,%eax
  je     L174
  jle    L262
  cmp    $0x1e,%eax
  je     L24
  cmp    $0x28,%eax
  jne    L88
  mov    $0xc6,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  nopl   0x0(%rax,%rax,1)
L195:
  add    $0xa,%ebx
L179:
  lea    -0xa(%rbx),%eax
  cmp    $0x32,%eax
  je     L74
  jle    L85
  cmp    $0x50,%eax
  je     L29
  jle    L64
  cmp    $0x5a,%eax
  jne    L88
  mov    $0xd5,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
L294:
  cmp    $0x64,%ebx
  jne    L195
  mov    $0x62,%ebx
  lea    D27(%rip),%rbp
  nopl   0x0(%rax)
L182:
  lea    -0x63(%rbx),%eax
  cmp    $0x8,%al
  ja     L91
  movzbl %al,%eax
  movslq 0x0(%rbp,%rax,4),%rax
  add    %rbp,%rax
  notrack jmp *%rax
  nopl   0x0(%rax)
  mov    $0xfb,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  nopw   0x0(%rax,%rax,1)
L169:
  add    $0x1,%ebx
  jmp    L182
  nopl   (%rax)
  mov    $0xf8,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L169
  nopl   0x0(%rax)
  mov    $0xf5,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L169
  nopl   0x0(%rax)
  mov    $0xf2,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L169
  nopl   0x0(%rax)
  mov    $0xef,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L169
  nopl   0x0(%rax)
  mov    $0xec,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L169
  nopl   0x0(%rax)
  mov    $0xe9,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L169
  nop
  mov    $0xe6,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L169
  nopw   0x0(%rax,%rax,1)
  pop    %rbx
  mov    %r12,%rsi
  pop    %rbp
  mov    $0xfe,%edx
  mov    $0x1,%edi
  pop    %r12
  jmp    1070 <_assert@plt>
  cs nopw 0x0(%rax,%rax,1)
L64:
  cmp    $0x3c,%eax
  je     L161
  cmp    $0x46,%eax
  jne    L88
  mov    $0xcf,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L195
  nopl   0x0(%rax)
L262:
  test   %eax,%eax
  je     L305
  cmp    $0xa,%eax
  jne    L88
  mov    $0xbd,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L195
L91:
  mov    $0xe3,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  cmp    $0x6b,%bl
  jne    L169
  pop    %rbx
  pop    %rbp
  pop    %r12
  ret
  nopl   0x0(%rax)
L305:
  mov    $0xba,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L195
  nop
L29:
  mov    $0xd2,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L195
  nopw   0x0(%rax,%rax,1)
L74:
  mov    $0xc9,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L195
  nopw   0x0(%rax,%rax,1)
L88:
  mov    $0xd9,%edx
  mov    %r12,%rsi
  xor    %edi,%edi
  call   <_assert@plt>
  jmp    L294
  nopl   0x0(%rax)
L24:
  mov    $0xc3,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L195
  nop
L174:
  mov    $0xc0,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L195
  nopw   0x0(%rax,%rax,1)
L161:
  mov    $0xcc,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L195
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D29
type_infered: string
name: extract_symbolic_data
arguments: data_label: D13
type_infered: string

tool: D29: --- testing switch


tool: D13: /scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c

assistant: ```c
void test_switch(void) {
  int i;
  char c;
  puts("--- testing switch\n");
  switch (1) {
  case 1:
    break;
  default:
    _assert((0), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 178);
    break;
  }
  for (i = 0; i < 100; i += 10) {
    switch (i) {
    case 0:
      _assert((i == 0), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 186);
      break;
    case 10:
      _assert((i == 10), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 189);
      break;
    case 20:
      _assert((i == 20), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 192);
      break;
    case 30:
      _assert((i == 30), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 195);
      break;
    case 40:
      _assert((i == 40), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 198);
      break;
    case 50:
      _assert((i == 50), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 201);
      break;
    case 60:
      _assert((i == 60), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 204);
      break;
    case 70:
      _assert((i == 70), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 207);
      break;
    case 80:
      _assert((i == 80), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 210);
      break;
    case 90:
      _assert((i == 90), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 213);
      break;
    default:
      _assert((0), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 217);
      break;
    }
  }
  for (c = 'a'; c <= 'j'; c++) {
    switch (c) {
    case 'a':
      _assert((c == 'a'), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 227);
      break;
    case 'b':
      _assert((c == 'b'), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 230);
      break;
    case 'c':
      _assert((c == 'c'), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 233);
      break;
    case 'd':
      _assert((c == 'd'), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 236);
      break;
    case 'e':
      _assert((c == 'e'), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 239);
      break;
    case 'f':
      _assert((c == 'f'), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 242);
      break;
    case 'g':
      _assert((c == 'g'), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 245);
      break;
    case 'h':
      _assert((c == 'h'), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 248);
      break;
    case 'i':
      _assert((c == 'i'), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 251);
      break;
    case 'j':
      _assert((c == 'j'), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 254);
      break;
    default:
      puts("switch failed on character: ");
      putchar(c);
      puts("\n");
      _assert((0), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/BSVC/bsvc/refs/heads/master/samples/m68360/gcc5/test5.c", 261);
      break;
    }
  }
}
```