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

```asm
<test_switch>:
  endbr64
  push   %r12
  lea    D12(%rip),%rdi
  lea    D7(%rip),%r12
  push   %rbp
  push   %rbx
  mov    $0xa,%ebx
  call   <puts@plt>
  jmp    L129
  nopw   0x0(%rax,%rax,1)
L301:
  cmp    $0x14,%eax
  je     L325
  jle    L312
  cmp    $0x1e,%eax
  je     L302
  cmp    $0x28,%eax
  jne    L10
  mov    $0xc6,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  nopl   0x0(%rax,%rax,1)
L276:
  add    $0xa,%ebx
L129:
  lea    -0xa(%rbx),%eax
  cmp    $0x32,%eax
  je     L24
  jle    L301
  cmp    $0x50,%eax
  je     L50
  jle    L222
  cmp    $0x5a,%eax
  jne    L10
  mov    $0xd5,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
L267:
  cmp    $0x64,%ebx
  jne    L276
  mov    $0x62,%ebx
  lea    D24(%rip),%rbp
  nopl   0x0(%rax)
L285:
  lea    -0x63(%rbx),%eax
  cmp    $0x8,%al
  ja     L25
  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)
L52:
  add    $0x1,%ebx
  jmp    L285
  nopl   (%rax)
  mov    $0xf8,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L52
  nopl   0x0(%rax)
  mov    $0xf5,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L52
  nopl   0x0(%rax)
  mov    $0xf2,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L52
  nopl   0x0(%rax)
  mov    $0xef,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L52
  nopl   0x0(%rax)
  mov    $0xec,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L52
  nopl   0x0(%rax)
  mov    $0xe9,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L52
  nop
  mov    $0xe6,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L52
  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)
L222:
  cmp    $0x3c,%eax
  je     L290
  cmp    $0x46,%eax
  jne    L10
  mov    $0xcf,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L276
  nopl   0x0(%rax)
L312:
  test   %eax,%eax
  je     L185
  cmp    $0xa,%eax
  jne    L10
  mov    $0xbd,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L276
L25:
  mov    $0xe3,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  cmp    $0x6b,%bl
  jne    L52
  pop    %rbx
  pop    %rbp
  pop    %r12
  ret
  nopl   0x0(%rax)
L185:
  mov    $0xba,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L276
  nop
L50:
  mov    $0xd2,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L276
  nopw   0x0(%rax,%rax,1)
L24:
  mov    $0xc9,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L276
  nopw   0x0(%rax,%rax,1)
L10:
  mov    $0xd9,%edx
  mov    %r12,%rsi
  xor    %edi,%edi
  call   <_assert@plt>
  jmp    L267
  nopl   0x0(%rax)
L302:
  mov    $0xc3,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L276
  nop
L325:
  mov    $0xc0,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L276
  nopw   0x0(%rax,%rax,1)
L290:
  mov    $0xcc,%edx
  mov    %r12,%rsi
  mov    $0x1,%edi
  call   <_assert@plt>
  jmp    L276
```

tool_calls: name: disassemble_data
arguments: label: D12
type: string
name: disassemble_data
arguments: label: D7
type: string

tool: D12: --- testing switch


tool: D7: /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;
    }
  }
}
```