user: 下面的汇编指令对应的C源代码是什么：

```asm
<fc8300_set_cal_front_1seg>:
  endbr64
  push   %rbp
  push   %rbx
  sub    $0x8,%rsp
  mov    %rdi,%rbp
  cmp    $0x19000,%edx
  je     L87
  ja     L338
  cmp    $0x186a0,%edx
  je     L234
  jbe    L145
  cmp    $0x18b82,%edx
  je     L555
  jbe    L53
  cmp    $0x18c00,%edx
  je     L215
  cmp    $0x18d44,%edx
  jne    L509
  movzwl %si,%ebx
  mov    $0x2dea,%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    $0x215ecccd,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L145:
  cmp    $0x18000,%edx
  je     L237
  jbe    L253
  cmp    $0x18006,%edx
  je     L104
  cmp    $0x182b8,%edx
  jne    L121
  movzwl %si,%ebx
  mov    $0x2f2b,%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    $0x207c0000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L253:
  cmp    $0x17e53,%edx
  je     L525
  cmp    $0x17f7f,%edx
  jne    L97
  movzwl %si,%ebx
  mov    $0x2f90,%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    $0x2036b333,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L97:
  cmp    $0x17d72,%edx
  jne    L472
  movzwl %si,%ebx
  mov    $0x2fd1,%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    $0x200a999a,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
L163:
  add    $0x8,%rsp
  pop    %rbx
  pop    %rbp
  ret
L472:
  mov    $0x1,%eax
  jmp    L163
L121:
  mov    $0x1,%eax
  jmp    L163
L53:
  cmp    $0x1898e,%edx
  je     L454
  cmp    $0x189c0,%edx
  jne    L27
  movzwl %si,%ebx
  mov    $0x2e53,%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    $0x21133333,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L27:
  mov    $0x1,%eax
  jmp    L163
L509:
  mov    $0x1,%eax
  jmp    L163
L338:
  cmp    $0x1a405,%edx
  je     L91
  jbe    L428
  cmp    $0x1b3f0,%edx
  je     L152
  jbe    L396
  cmp    $0x1b580,%edx
  je     L66
  cmp    $0x1b648,%edx
  jne    L322
  movzwl %si,%ebx
  mov    $0x299e,%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    $0x24d0cccd,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L428:
  cmp    $0x19640,%edx
  je     L317
  jbe    L45
  cmp    $0x19c80,%edx
  je     L551
  cmp    $0x1a2f2,%edx
  jne    L206
  movzwl %si,%ebx
  mov    $0x2b8a,%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    $0x23310000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L45:
  cmp    $0x191c2,%edx
  je     L491
  cmp    $0x192d5,%edx
  jne    L607
  movzwl %si,%ebx
  mov    $0x2d48,%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    $0x21d68000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L607:
  mov    $0x1,%eax
  jmp    L163
L206:
  mov    $0x1,%eax
  jmp    L163
L396:
  cmp    $0x1a5e0,%edx
  je     L185
  cmp    $0x1af40,%edx
  jne    L335
  movzwl %si,%ebx
  mov    $0x2a4c,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x38892,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x2439999a,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L335:
  mov    $0x1,%eax
  jmp    L163
L322:
  mov    $0x1,%eax
  jmp    L163
L525:
  movzwl %si,%ebx
  mov    $0x2fb5,%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    $0x201d8000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L237:
  movzwl %si,%ebx
  mov    $0x2f80,%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    $0x20418937,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L104:
  movzwl %si,%ebx
  mov    $0x2f7f,%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    $0x20420a3d,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L234:
  movzwl %si,%ebx
  mov    $0x2eb2,%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    $0x20d00000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L454:
  movzwl %si,%ebx
  mov    $0x2e59,%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    $0x210f0000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L555:
  movzwl %si,%ebx
  mov    $0x2e1e,%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    $0x21390000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L215:
  movzwl %si,%ebx
  mov    $0x2e10,%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    $0x21439581,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L87:
  movzwl %si,%ebx
  mov    $0x2d9a,%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    $0x2199999a,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L491:
  movzwl %si,%ebx
  mov    $0x2d67,%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    $0x21bf6666,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L317:
  movzwl %si,%ebx
  mov    $0x2ce6,%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    $0x22200000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L551:
  movzwl %si,%ebx
  mov    $0x2c38,%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    $0x22a66666,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L91:
  movzwl %si,%ebx
  mov    $0x2b6d,%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    $0x2348199a,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L185:
  movzwl %si,%ebx
  mov    $0x2b3c,%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    $0x23700000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L152:
  movzwl %si,%ebx
  mov    $0x29d7,%ecx
  mov    $0x1032,%edx
  mov    %ebx,%esi
  call   <bbm_word_write@plt>
  mov    $0x37ed8,%ecx
  mov    $0x2008,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x249e6666,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
L66:
  movzwl %si,%ebx
  mov    $0x29b1,%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    $0x24c00000,%ecx
  mov    $0x103c,%edx
  mov    %ebx,%esi
  mov    %rbp,%rdi
  call   <bbm_long_write@plt>
  mov    $0x0,%eax
  jmp    L163
```

assistant: ```c
int fc8300_set_cal_front_1seg(void *handle, unsigned short devid, unsigned int clk) {
  switch (clk) {
  case 97650:
    bbm_word_write(handle, devid, 0x1032, 0x2fd1);
    bbm_long_write(handle, devid, 0x2008, 0x3fead);
    bbm_long_write(handle, devid, 0x103c, 0x200a999a);
    break;
  case 97875:
    bbm_word_write(handle, devid, 0x1032, 0x2fb5);
    bbm_long_write(handle, devid, 0x2008, 0x3fc53);
    bbm_long_write(handle, devid, 0x103c, 0x201d8000);
    break;
  case 98175:
    bbm_word_write(handle, devid, 0x1032, 0x2f90);
    bbm_long_write(handle, devid, 0x2008, 0x3f935);
    bbm_long_write(handle, devid, 0x103c, 0x2036b333);
    break;
  case 98304:
    bbm_word_write(handle, devid, 0x1032, 0x2f80);
    bbm_long_write(handle, devid, 0x2008, 0x3f7df);
    bbm_long_write(handle, devid, 0x103c, 0x20418937);
    break;
  case 98310:
    bbm_word_write(handle, devid, 0x1032, 0x2f7f);
    bbm_long_write(handle, devid, 0x2008, 0x3f7d0);
    bbm_long_write(handle, devid, 0x103c, 0x20420a3d);
    break;
  case 99000:
    bbm_word_write(handle, devid, 0x1032, 0x2f2b);
    bbm_long_write(handle, devid, 0x2008, 0x3f0bb);
    bbm_long_write(handle, devid, 0x103c, 0x207c0000);
    break;
  case 100000:
    bbm_word_write(handle, devid, 0x1032, 0x2eb2);
    bbm_long_write(handle, devid, 0x2008, 0x3e6a5);
    bbm_long_write(handle, devid, 0x103c, 0x20d00000);
    break;
  case 100750:
    bbm_word_write(handle, devid, 0x1032, 0x2e59);
    bbm_long_write(handle, devid, 0x2008, 0x3df36);
    bbm_long_write(handle, devid, 0x103c, 0x210f0000);
    break;
  case 100800:
    bbm_word_write(handle, devid, 0x1032, 0x2e53);
    bbm_long_write(handle, devid, 0x2008, 0x3deb8);
    bbm_long_write(handle, devid, 0x103c, 0x21133333);
    break;
  case 101250:
    bbm_word_write(handle, devid, 0x1032, 0x2e1e);
    bbm_long_write(handle, devid, 0x2008, 0x3da51);
    bbm_long_write(handle, devid, 0x103c, 0x21390000);
    break;
  case 101376:
    bbm_word_write(handle, devid, 0x1032, 0x2e10);
    bbm_long_write(handle, devid, 0x2008, 0x3d917);
    bbm_long_write(handle, devid, 0x103c, 0x21439581);
    break;
  case 101700:
    bbm_word_write(handle, devid, 0x1032, 0x2dea);
    bbm_long_write(handle, devid, 0x2008, 0x3d5f3);
    bbm_long_write(handle, devid, 0x103c, 0x215ecccd);
    break;
  case 102400:
    bbm_word_write(handle, devid, 0x1032, 0x2d9a);
    bbm_long_write(handle, devid, 0x2008, 0x3cf3d);
    bbm_long_write(handle, devid, 0x103c, 0x2199999a);
    break;
  case 102850:
    bbm_word_write(handle, devid, 0x1032, 0x2d67);
    bbm_long_write(handle, devid, 0x2008, 0x3caf9);
    bbm_long_write(handle, devid, 0x103c, 0x21bf6666);
    break;
  case 103125:
    bbm_word_write(handle, devid, 0x1032, 0x2d48);
    bbm_long_write(handle, devid, 0x2008, 0x3c862);
    bbm_long_write(handle, devid, 0x103c, 0x21d68000);
    break;
  case 104000:
    bbm_word_write(handle, devid, 0x1032, 0x2ce6);
    bbm_long_write(handle, devid, 0x2008, 0x3c03c);
    bbm_long_write(handle, devid, 0x103c, 0x22200000);
    break;
  case 105600:
    bbm_word_write(handle, devid, 0x1032, 0x2c38);
    bbm_long_write(handle, devid, 0x2008, 0x3b1af);
    bbm_long_write(handle, devid, 0x103c, 0x22a66666);
    break;
  case 107250:
    bbm_word_write(handle, devid, 0x1032, 0x2b8a);
    bbm_long_write(handle, devid, 0x2008, 0x3a323);
    bbm_long_write(handle, devid, 0x103c, 0x23310000);
    break;
  case 107525:
    bbm_word_write(handle, devid, 0x1032, 0x2b6d);
    bbm_long_write(handle, devid, 0x2008, 0x3a0c1);
    bbm_long_write(handle, devid, 0x103c, 0x2348199a);
    break;
  case 108000:
    bbm_word_write(handle, devid, 0x1032, 0x2b3c);
    bbm_long_write(handle, devid, 0x2008, 0x39cac);
    bbm_long_write(handle, devid, 0x103c, 0x23700000);
    break;
  case 110400:
    bbm_word_write(handle, devid, 0x1032, 0x2a4c);
    bbm_long_write(handle, devid, 0x2008, 0x38892);
    bbm_long_write(handle, devid, 0x103c, 0x2439999a);
    break;
  case 111600:
    bbm_word_write(handle, devid, 0x1032, 0x29d7);
    bbm_long_write(handle, devid, 0x2008, 0x37ed8);
    bbm_long_write(handle, devid, 0x103c, 0x249e6666);
    break;
  case 112000:
    bbm_word_write(handle, devid, 0x1032, 0x29b1);
    bbm_long_write(handle, devid, 0x2008, 0x37ba5);
    bbm_long_write(handle, devid, 0x103c, 0x24c00000);
    break;
  case 112200:
    bbm_word_write(handle, devid, 0x1032, 0x299e);
    bbm_long_write(handle, devid, 0x2008, 0x37a0f);
    bbm_long_write(handle, devid, 0x103c, 0x24d0cccd);
    break;
  default:
    return 1;
  }
  return 0;
}
```