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

```asm
<ridl_getnextword>:
  endbr64
  push   %r15
  mov    %rdi,%r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  movslq %esi,%rbx
  sub    $0x28,%rsp
  mov    %esi,0x14(%rsp)
  mov    %rdx,0x18(%rsp)
  jmp    L132
  nopl   0x0(%rax,%rax,1)
L72:
  add    $0x1,%rbx
  cmpb   $0x20,-0x1(%r15,%rbx,1)
  jne    L26
L132:
  mov    %r15,%rdi
  mov    %ebx,%r13d
  mov    %ebx,%r12d
  call   <strlen@plt>
  cmp    %ebx,%eax
  jg     L72
L26:
  movslq %r12d,%rax
  mov    %rax,0x8(%rsp)
  mov    %rax,%r14
  jmp    L98
  nopl   0x0(%rax,%rax,1)
L66:
  add    $0x1,%r14
  cmpb   $0x20,-0x1(%r15,%r14,1)
  je     L6
L98:
  mov    %r15,%rdi
  mov    %r14d,%ebx
  mov    %r14d,%ebp
  call   <strlen@plt>
  cmp    %r14d,%eax
  jg     L66
L6:
  mov    %ebp,%edi
  mov    $0x1,%esi
  sub    %r12d,%edi
  add    $0x1,%edi
  call   <calloc@plt>
  mov    %rax,%r8
  cmp    %ebp,%r12d
  jge    L152
  mov    0x8(%rsp),%rcx
  mov    %r8,%rdx
  sub    %r13d,%ebx
  lea    -0x1(%rbx),%eax
  lea    0x1(%r15,%rcx,1),%rsi
  sub    %rsi,%rdx
  cmp    $0xe,%rdx
  jbe    L111
  cmp    $0x6,%eax
  jbe    L111
  cmp    $0xe,%eax
  jbe    L34
  mov    %ebx,%eax
  sub    %r8,%rcx
  shr    $0x4,%eax
  mov    %rcx,%rdx
  sub    $0x1,%eax
  add    %r15,%rdx
  shl    $0x4,%rax
  lea    0x10(%r8,%rax,1),%rsi
  mov    %r8,%rax
  nopl   0x0(%rax)
L144:
  movdqu (%rax,%rdx,1),%xmm0
  add    $0x10,%rax
  movups %xmm0,-0x10(%rax)
  cmp    %rsi,%rax
  jne    L144
  mov    %ebx,%edx
  and    $0xfffffff0,%edx
  lea    (%rdx,%r12,1),%eax
  cmp    %edx,%ebx
  je     L152
  sub    %edx,%ebx
  lea    -0x1(%rbx),%esi
  cmp    $0x6,%esi
  jbe    L177
L50:
  mov    0x8(%rsp),%r14
  add    %r15,%r14
  mov    (%r14,%rdx,1),%rsi
  mov    %rsi,(%r8,%rdx,1)
  mov    %ebx,%edx
  and    $0xfffffff8,%edx
  add    %edx,%eax
  cmp    %edx,%ebx
  je     L152
L177:
  movslq %eax,%rdx
  movzbl (%r15,%rdx,1),%esi
  mov    %eax,%edx
  sub    %r12d,%edx
  movslq %edx,%rdx
  mov    %sil,(%r8,%rdx,1)
  lea    0x1(%rax),%edx
  cmp    %edx,%ebp
  jle    L152
  movslq %edx,%rsi
  sub    %r12d,%edx
  movzbl (%r15,%rsi,1),%esi
  movslq %edx,%rdx
  mov    %sil,(%r8,%rdx,1)
  lea    0x2(%rax),%edx
  cmp    %edx,%ebp
  jle    L152
  movslq %edx,%rsi
  sub    %r12d,%edx
  movzbl (%r15,%rsi,1),%esi
  movslq %edx,%rdx
  mov    %sil,(%r8,%rdx,1)
  lea    0x3(%rax),%edx
  cmp    %edx,%ebp
  jle    L152
  movslq %edx,%rsi
  sub    %r12d,%edx
  movzbl (%r15,%rsi,1),%esi
  movslq %edx,%rdx
  mov    %sil,(%r8,%rdx,1)
  lea    0x4(%rax),%edx
  cmp    %edx,%ebp
  jle    L152
  movslq %edx,%rsi
  sub    %r12d,%edx
  movzbl (%r15,%rsi,1),%esi
  movslq %edx,%rdx
  mov    %sil,(%r8,%rdx,1)
  lea    0x5(%rax),%edx
  cmp    %edx,%ebp
  jle    L152
  movslq %edx,%rsi
  sub    %r12d,%edx
  add    $0x6,%eax
  movzbl (%r15,%rsi,1),%esi
  movslq %edx,%rdx
  mov    %sil,(%r8,%rdx,1)
  cmp    %eax,%ebp
  jle    L152
  movslq %eax,%rdx
  sub    %r12d,%eax
  movzbl (%r15,%rdx,1),%edx
  cltq
  mov    %dl,(%r8,%rax,1)
L152:
  mov    0x18(%rsp),%rax
  sub    0x14(%rsp),%ebp
  mov    %ebp,(%rax)
  add    $0x28,%rsp
  mov    %r8,%rax
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  xchg   %ax,%ax
L111:
  mov    0x8(%rsp),%r14
  lea    0x1(%r8,%rax,1),%rsi
  mov    %r8,%rax
  sub    %r8,%r14
  lea    (%r15,%r14,1),%rcx
  nopl   0x0(%rax)
L87:
  movzbl (%rcx,%rax,1),%edx
  add    $0x1,%rax
  mov    %dl,-0x1(%rax)
  cmp    %rsi,%rax
  jne    L87
  jmp    L152
L34:
  mov    %r12d,%eax
  xor    %edx,%edx
  jmp    L50
```

assistant: ```c
char *ridl_getnextword(char *line, int start, int *search_length) {
  int i, end, actualStart = start, actualEnd;
  char *result;
  for (i = start; i < strlen(line); i++) {
    if (line[i] == ' ')
      actualStart++;
    else
      break;
  }
  for (i = actualStart; i < strlen(line); i++) {
    if (line[i] == ' ')
      break;
  }
  actualEnd = i;
  result = (char *)calloc(actualEnd - actualStart + 1, 1);
  for (i = actualStart; i < actualEnd; i++) {
    result[i - actualStart] = line[i];
  }
  *search_length = actualEnd - start;
  return (result);
}
```