user: 请从给定的汇编指令推导出C源代码：

```asm
<name_t>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %rdi,-0x18(%rbp)
  mov    %rsi,-0x20(%rbp)
  mov    %rdx,-0x28(%rbp)
  mov    %rcx,-0x30(%rbp)
  mov    %r8,-0x38(%rbp)
  movl   $0x6,-0x8(%rbp)
  mov    -0x8(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x39,%al
  jne    L199
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x33,%al
  jne    L199
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x2(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x33,%al
  jne    L199
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x3(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x33,%al
  jne    L199
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x4(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x34,%al
  jne    L199
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x5(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x36,%al
  jne    L199
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x6(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x2d,%al
  jne    L199
  movl   $0x1,-0x4(%rbp)
  mov    -0x4(%rbp),%eax
  jmp    L141
L199:
  mov    -0x8(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x35,%al
  jne    L34
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x35,%al
  jne    L34
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x2(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x35,%al
  jne    L34
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x3(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x38,%al
  jne    L34
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x4(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x33,%al
  jne    L34
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x5(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x2d,%al
  jne    L34
  movl   $0x2,-0x4(%rbp)
  mov    -0x4(%rbp),%eax
  jmp    L141
L34:
  mov    -0x8(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x34,%al
  jne    L235
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x32,%al
  jne    L235
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x2(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x31,%al
  jne    L235
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x3(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x30,%al
  jne    L235
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x4(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x2d,%al
  jne    L235
  movl   $0x3,-0x4(%rbp)
  mov    -0x4(%rbp),%eax
  jmp    L141
L235:
  mov    -0x8(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x30,%al
  jne    L73
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x31,%al
  jne    L73
  mov    -0x8(%rbp),%eax
  cltq
  lea    0x2(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x2d,%al
  jne    L73
  movl   $0x4,-0x4(%rbp)
  mov    -0x4(%rbp),%eax
  jmp    L141
L73:
  mov    $0x0,%eax
L141:
  pop    %rbp
  ret
```

assistant: ```c
int name_t(char *help, char *bb, char *ab, char *fp, char *pb) {
  int i = 6;
  int b;
  if (help[i] == 57 && help[i + 1] == 51 && help[i + 2] == 51 && help[i + 3] == 51 && help[i + 4] == 52 && help[i + 5] == 54 && help[i + 6] == '-') {
    return b = 1;
  }
  if (help[i] == 53 && help[i + 1] == 53 && help[i + 2] == 53 && help[i + 3] == 56 && help[i + 4] == 51 && help[i + 5] == '-') {
    return b = 2;
  }
  if (help[i] == 52 && help[i + 1] == 50 && help[i + 2] == 49 && help[i + 3] == 48 && help[i + 4] == '-') {
    return b = 3;
  }
  if (help[i] == 48 && help[i + 1] == 49 && help[i + 2] == '-') {
    return b = 4;
  }
  return 0;
}
```