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

```asm
<simdscand1>:
  endbr64
  cmp    $0x20,%edx
  ja     L256
  sub    $0x8,%rsp
  mov    %edx,%edx
  lea    D3(%rip),%rcx
  movslq (%rcx,%rdx,4),%rax
  add    %rcx,%rax
  notrack jmp *%rax
  call   <iunpackscan1@plt>
L80:
  add    $0x8,%rsp
  ret
  call   <iunpackscan2@plt>
  jmp    L80
  call   <iunpackscan3@plt>
  jmp    L80
  call   <iunpackscan4@plt>
  jmp    L80
  call   <iunpackscan5@plt>
  jmp    L80
  call   <iunpackscan6@plt>
  jmp    L80
  call   <iunpackscan7@plt>
  jmp    L80
  call   <iunpackscan8@plt>
  jmp    L80
  call   <iunpackscan9@plt>
  jmp    L80
  call   <iunpackscan10@plt>
  jmp    L80
  call   <iunpackscan11@plt>
  jmp    L80
  call   <iunpackscan12@plt>
  jmp    L80
  call   <iunpackscan13@plt>
  jmp    L80
  call   <iunpackscan14@plt>
  jmp    L80
  call   <iunpackscan15@plt>
  jmp    L80
  call   <iunpackscan16@plt>
  jmp    L80
  call   <iunpackscan17@plt>
  jmp    L80
  call   <iunpackscan18@plt>
  jmp    L80
  call   <iunpackscan19@plt>
  jmp    L80
  call   <iunpackscan20@plt>
  jmp    L80
  call   <iunpackscan21@plt>
  jmp    L80
  call   <iunpackscan22@plt>
  jmp    L80
  call   <iunpackscan23@plt>
  jmp    L80
  call   <iunpackscan24@plt>
  jmp    L80
  call   <iunpackscan25@plt>
  jmp    L80
  call   <iunpackscan26@plt>
  jmp    L80
  call   <iunpackscan27@plt>
  jmp    L80
  call   <iunpackscan28@plt>
  jmp    L80
  call   <iunpackscan29@plt>
  jmp    L80
  call   <iunpackscan30@plt>
  jmp    L80
  call   <iunpackscan31@plt>
  jmp    L80
  call   <iunpackscan32@plt>
  jmp    L80
L256:
  ret
```

assistant: ```c
void simdscand1(__m128i *initOffset, const __m128i *in, uint32_t bit) {
  switch (bit) {
  case 0:
    return;
    break;
  case 1:
    iunpackscan1(initOffset, in);
    break;
  case 2:
    iunpackscan2(initOffset, in);
    break;
  case 3:
    iunpackscan3(initOffset, in);
    break;
  case 4:
    iunpackscan4(initOffset, in);
    break;
  case 5:
    iunpackscan5(initOffset, in);
    break;
  case 6:
    iunpackscan6(initOffset, in);
    break;
  case 7:
    iunpackscan7(initOffset, in);
    break;
  case 8:
    iunpackscan8(initOffset, in);
    break;
  case 9:
    iunpackscan9(initOffset, in);
    break;
  case 10:
    iunpackscan10(initOffset, in);
    break;
  case 11:
    iunpackscan11(initOffset, in);
    break;
  case 12:
    iunpackscan12(initOffset, in);
    break;
  case 13:
    iunpackscan13(initOffset, in);
    break;
  case 14:
    iunpackscan14(initOffset, in);
    break;
  case 15:
    iunpackscan15(initOffset, in);
    break;
  case 16:
    iunpackscan16(initOffset, in);
    break;
  case 17:
    iunpackscan17(initOffset, in);
    break;
  case 18:
    iunpackscan18(initOffset, in);
    break;
  case 19:
    iunpackscan19(initOffset, in);
    break;
  case 20:
    iunpackscan20(initOffset, in);
    break;
  case 21:
    iunpackscan21(initOffset, in);
    break;
  case 22:
    iunpackscan22(initOffset, in);
    break;
  case 23:
    iunpackscan23(initOffset, in);
    break;
  case 24:
    iunpackscan24(initOffset, in);
    break;
  case 25:
    iunpackscan25(initOffset, in);
    break;
  case 26:
    iunpackscan26(initOffset, in);
    break;
  case 27:
    iunpackscan27(initOffset, in);
    break;
  case 28:
    iunpackscan28(initOffset, in);
    break;
  case 29:
    iunpackscan29(initOffset, in);
    break;
  case 30:
    iunpackscan30(initOffset, in);
    break;
  case 31:
    iunpackscan31(initOffset, in);
    break;
  case 32:
    iunpackscan32(initOffset, in);
    break;
  default:
    break;
  }
  return;
}
```