user: What would the C source look like for the assembly code provided here?

```asm
<fc8300_set_cal_front_3seg>:
  endbr64
  push   %rbp
  push   %rbx
  sub    $0x8,%rsp
  mov    %rdi,%rbp
  cmp    $0x18e70,%edx
  je     L469
  ja     L266
  cmp    $0x186a0,%edx
  je     L445
  jbe    L41
  cmp    $0x18b82,%edx
  je     L71
  jbe    L278
  cmp    $0x18c00,%edx
  je     L635
  cmp    $0x18d44,%edx
  jne    L621
  movzwl %si,%ebx
  mov    $0x78d3,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3d5f3,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x10af6666,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L41:
  cmp    $0x18000,%edx
  je     L466
  jbe    L122
  cmp    $0x18006,%edx
  je     L372
  cmp    $0x182b8,%edx
  jne    L187
  movzwl %si,%ebx
  mov    $0x7c1f,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3f0bb,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x103e0000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L122:
  cmp    $0x17e53,%edx
  je     L553
  cmp    $0x17f7f,%edx
  jne    L425
  movzwl %si,%ebx
  mov    $0x7d2a,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3f935,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x101b599a,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L425:
  cmp    $0x17d72,%edx
  jne    L84
  movzwl %si,%ebx
  mov    $0x7dd6,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3fead,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x10054ccd,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
L190:
  add    $0x8,%rsp
  pop    %rbx
  pop    %rbp
  ret
L84:
  mov    $0x1,%eax
  jmp    L190
L187:
  mov    $0x1,%eax
  jmp    L190
L278:
  cmp    $0x1898e,%edx
  je     L293
  cmp    $0x189c0,%edx
  jne    L560
  movzwl %si,%ebx
  mov    $0x79e8,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3deb8,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x1089999a,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L560:
  mov    $0x1,%eax
  jmp    L190
L621:
  mov    $0x1,%eax
  jmp    L190
L266:
  cmp    $0x19c80,%edx
  je     L620
  jbe    L520
  cmp    $0x1a5e0,%edx
  je     L120
  jbe    L87
  cmp    $0x1b580,%edx
  je     L568
  cmp    $0x1b648,%edx
  jne    L323
  movzwl %si,%ebx
  mov    $0x6d85,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x37a0f,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x12686666,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L520:
  cmp    $0x192d5,%edx
  je     L86
  jbe    L243
  cmp    $0x1944c,%edx
  je     L486
  cmp    $0x19640,%edx
  jne    L563
  movzwl %si,%ebx
  mov    $0x7627,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3c03c,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x11100000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L243:
  cmp    $0x19000,%edx
  je     L93
  cmp    $0x191c2,%edx
  jne    L516
  movzwl %si,%ebx
  mov    $0x777a,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3caf9,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x10dfb333,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L516:
  cmp    $0x18f9c,%edx
  jne    L502
  movzwl %si,%ebx
  mov    $0x781e,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3d031,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x10c8999a,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L502:
  mov    $0x1,%eax
  jmp    L190
L563:
  mov    $0x1,%eax
  jmp    L190
L87:
  cmp    $0x1a2f2,%edx
  je     L152
  cmp    $0x1a405,%edx
  jne    L83
  movzwl %si,%ebx
  mov    $0x7248,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3a0c1,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x11a40ccd,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L83:
  mov    $0x1,%eax
  jmp    L190
L323:
  mov    $0x1,%eax
  jmp    L190
L553:
  movzwl %si,%ebx
  mov    $0x7d8c,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3fc53,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x100ec000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L466:
  movzwl %si,%ebx
  mov    $0x7d00,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3f7df,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x1020c49c,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L372:
  movzwl %si,%ebx
  mov    $0x7cfe,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3f7d0,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x1021051f,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L445:
  movzwl %si,%ebx
  mov    $0x7ae1,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3e6a5,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x10680000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L293:
  movzwl %si,%ebx
  mov    $0x79f7,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3df36,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x10878000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L71:
  movzwl %si,%ebx
  mov    $0x795d,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3da51,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x109c8000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L635:
  movzwl %si,%ebx
  mov    $0x7936,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3d917,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x10a1cac1,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L469:
  movzwl %si,%ebx
  mov    $0x7878,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3d310,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x10bc0000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L93:
  movzwl %si,%ebx
  mov    $0x7800,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3cf3d,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x10cccccd,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L86:
  movzwl %si,%ebx
  mov    $0x7728,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3c862,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x10eb4000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L486:
  movzwl %si,%ebx
  mov    $0x76ba,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3c4e0,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x10fb0000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L620:
  movzwl %si,%ebx
  mov    $0x745d,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3b1af,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x11533333,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L152:
  movzwl %si,%ebx
  mov    $0x7293,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x3a323,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x11988000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L120:
  movzwl %si,%ebx
  mov    $0x71c7,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x39cac,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x11b80000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
L568:
  movzwl %si,%ebx
  mov    $0x6db7,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x37ba5,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x12600000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L190
```

assistant: ```c
int fc8300_set_cal_front_3seg(void *handle, unsigned short devid, unsigned int clk) {
  switch (clk) {
  case 97650:
    bbm_word_write(handle, devid, 0x1032, 0x7dd6);
    bbm_long_write(handle, devid, 0x2008, 0x3fead);
    bbm_long_write(handle, devid, 0x103c, 0x10054ccd);
    break;
  case 97875:
    bbm_word_write(handle, devid, 0x1032, 0x7d8c);
    bbm_long_write(handle, devid, 0x2008, 0x3fc53);
    bbm_long_write(handle, devid, 0x103c, 0x100ec000);
    break;
  case 98175:
    bbm_word_write(handle, devid, 0x1032, 0x7d2a);
    bbm_long_write(handle, devid, 0x2008, 0x3f935);
    bbm_long_write(handle, devid, 0x103c, 0x101b599a);
    break;
  case 98304:
    bbm_word_write(handle, devid, 0x1032, 0x7d00);
    bbm_long_write(handle, devid, 0x2008, 0x3f7df);
    bbm_long_write(handle, devid, 0x103c, 0x1020c49c);
    break;
  case 98310:
    bbm_word_write(handle, devid, 0x1032, 0x7cfe);
    bbm_long_write(handle, devid, 0x2008, 0x3f7d0);
    bbm_long_write(handle, devid, 0x103c, 0x1021051f);
    break;
  case 99000:
    bbm_word_write(handle, devid, 0x1032, 0x7c1f);
    bbm_long_write(handle, devid, 0x2008, 0x3f0bb);
    bbm_long_write(handle, devid, 0x103c, 0x103e0000);
    break;
  case 100000:
    bbm_word_write(handle, devid, 0x1032, 0x7ae1);
    bbm_long_write(handle, devid, 0x2008, 0x3e6a5);
    bbm_long_write(handle, devid, 0x103c, 0x10680000);
    break;
  case 100750:
    bbm_word_write(handle, devid, 0x1032, 0x79f7);
    bbm_long_write(handle, devid, 0x2008, 0x3df36);
    bbm_long_write(handle, devid, 0x103c, 0x10878000);
    break;
  case 100800:
    bbm_word_write(handle, devid, 0x1032, 0x79e8);
    bbm_long_write(handle, devid, 0x2008, 0x3deb8);
    bbm_long_write(handle, devid, 0x103c, 0x1089999a);
    break;
  case 101250:
    bbm_word_write(handle, devid, 0x1032, 0x795d);
    bbm_long_write(handle, devid, 0x2008, 0x3da51);
    bbm_long_write(handle, devid, 0x103c, 0x109c8000);
    break;
  case 101376:
    bbm_word_write(handle, devid, 0x1032, 0x7936);
    bbm_long_write(handle, devid, 0x2008, 0x3d917);
    bbm_long_write(handle, devid, 0x103c, 0x10a1cac1);
    break;
  case 101700:
    bbm_word_write(handle, devid, 0x1032, 0x78d3);
    bbm_long_write(handle, devid, 0x2008, 0x3d5f3);
    bbm_long_write(handle, devid, 0x103c, 0x10af6666);
    break;
  case 102000:
    bbm_word_write(handle, devid, 0x1032, 0x7878);
    bbm_long_write(handle, devid, 0x2008, 0x3d310);
    bbm_long_write(handle, devid, 0x103c, 0x10bc0000);
    break;
  case 102300:
    bbm_word_write(handle, devid, 0x1032, 0x781e);
    bbm_long_write(handle, devid, 0x2008, 0x3d031);
    bbm_long_write(handle, devid, 0x103c, 0x10c8999a);
    break;
  case 102400:
    bbm_word_write(handle, devid, 0x1032, 0x7800);
    bbm_long_write(handle, devid, 0x2008, 0x3cf3d);
    bbm_long_write(handle, devid, 0x103c, 0x10cccccd);
    break;
  case 102850:
    bbm_word_write(handle, devid, 0x1032, 0x777a);
    bbm_long_write(handle, devid, 0x2008, 0x3caf9);
    bbm_long_write(handle, devid, 0x103c, 0x10dfb333);
    break;
  case 103125:
    bbm_word_write(handle, devid, 0x1032, 0x7728);
    bbm_long_write(handle, devid, 0x2008, 0x3c862);
    bbm_long_write(handle, devid, 0x103c, 0x10eb4000);
    break;
  case 103500:
    bbm_word_write(handle, devid, 0x1032, 0x76ba);
    bbm_long_write(handle, devid, 0x2008, 0x3c4e0);
    bbm_long_write(handle, devid, 0x103c, 0x10fb0000);
    break;
  case 104000:
    bbm_word_write(handle, devid, 0x1032, 0x7627);
    bbm_long_write(handle, devid, 0x2008, 0x3c03c);
    bbm_long_write(handle, devid, 0x103c, 0x11100000);
    break;
  case 105600:
    bbm_word_write(handle, devid, 0x1032, 0x745d);
    bbm_long_write(handle, devid, 0x2008, 0x3b1af);
    bbm_long_write(handle, devid, 0x103c, 0x11533333);
    break;
  case 107250:
    bbm_word_write(handle, devid, 0x1032, 0x7293);
    bbm_long_write(handle, devid, 0x2008, 0x3a323);
    bbm_long_write(handle, devid, 0x103c, 0x11988000);
    break;
  case 107525:
    bbm_word_write(handle, devid, 0x1032, 0x7248);
    bbm_long_write(handle, devid, 0x2008, 0x3a0c1);
    bbm_long_write(handle, devid, 0x103c, 0x11a40ccd);
    break;
  case 108000:
    bbm_word_write(handle, devid, 0x1032, 0x71c7);
    bbm_long_write(handle, devid, 0x2008, 0x39cac);
    bbm_long_write(handle, devid, 0x103c, 0x11b80000);
    break;
  case 112000:
    bbm_word_write(handle, devid, 0x1032, 0x6db7);
    bbm_long_write(handle, devid, 0x2008, 0x37ba5);
    bbm_long_write(handle, devid, 0x103c, 0x12600000);
    break;
  case 112200:
    bbm_word_write(handle, devid, 0x1032, 0x6d85);
    bbm_long_write(handle, devid, 0x2008, 0x37a0f);
    bbm_long_write(handle, devid, 0x103c, 0x12686666);
    break;
  default:
    return 1;
  }
  return 0;
}
```