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

```asm
<skipfx>:
  endbr64
  push   %r12
  push   %rbp
  push   %rbx
  movzbl (%rdi),%eax
  cmp    $0x20,%al
  je     L642
  cmp    $0x9,%al
  jne    L245
L642:
  mov    %rdi,%rbx
L378:
  add    $0x1,%rbx
  movzbl (%rbx),%ebp
  cmp    $0x20,%bpl
  je     L378
  cmp    $0x9,%bpl
  je     L378
  cmp    %rbx,%rdi
  je     L121
  movb   $0x0,(%rbx)
  mov    $0x0,%eax
  call   <poot@plt>
  mov    %bpl,(%rbx)
L121:
  cmpb   $0x74,(%rbx)
  je     L139
L442:
  cmpb   $0x73,(%rbx)
  jne    L818
  cmpb   $0x74,0x1(%rbx)
  jne    L767
  cmpb   $0x61,0x2(%rbx)
  je     L285
L859:
  cmpb   $0x72,0x2(%rbx)
  je     L15
L879:
  cmpb   $0x61,0x2(%rbx)
  jne    L432
  cmpb   $0x74,0x3(%rbx)
  jne    L432
  cmpb   $0x69,0x4(%rbx)
  jne    L432
  cmpb   $0x63,0x5(%rbx)
  jne    L432
  jmp    L334
L245:
  mov    %rdi,%rbx
  jmp    L121
L139:
  cmpb   $0x79,0x1(%rbx)
  je     L114
L767:
  cmpb   $0x72,(%rbx)
  jne    L432
  cmpb   $0x65,0x1(%rbx)
  jne    L432
  cmpb   $0x74,0x2(%rbx)
  jne    L432
  cmpb   $0x75,0x3(%rbx)
  jne    L432
  cmpb   $0x72,0x4(%rbx)
  jne    L432
  cmpb   $0x6e,0x5(%rbx)
  jne    L432
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <poot@plt>
  mov    $0x0,%ebx
  jmp    L432
L114:
  cmpb   $0x70,0x2(%rbx)
  jne    L767
  cmpb   $0x65,0x3(%rbx)
  jne    L767
  cmpb   $0x64,0x4(%rbx)
  jne    L767
  cmpb   $0x65,0x5(%rbx)
  jne    L767
  cmpb   $0x66,0x6(%rbx)
  jne    L767
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <fndws@plt>
  test   %eax,%eax
  je     L442
  movslq %eax,%rdi
  mov    $0x0,%eax
  call   <fndnws@plt>
  test   %eax,%eax
  je     L442
  movslq %eax,%rbp
  cmpb   $0x75,0x0(%rbp)
  je     L77
L933:
  movzbl 0x0(%rbp),%r12d
  movb   $0x0,0x0(%rbp)
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <poot@plt>
  mov    %r12b,0x0(%rbp)
  mov    %rbp,%rbx
  jmp    L432
L77:
  cmpb   $0x6e,0x1(%rbp)
  jne    L933
  cmpb   $0x73,0x2(%rbp)
  jne    L933
  cmpb   $0x69,0x3(%rbp)
  jne    L933
  cmpb   $0x67,0x4(%rbp)
  jne    L933
  cmpb   $0x6e,0x5(%rbp)
  jne    L933
  cmpb   $0x65,0x6(%rbp)
  jne    L933
  cmpb   $0x64,0x7(%rbp)
  jne    L933
  lea    0x7(%rbp),%rdi
  mov    $0x0,%eax
  call   <fndws@plt>
  test   %eax,%eax
  je     L933
  movslq %eax,%rdi
  mov    $0x0,%eax
  call   <fndnws@plt>
  movslq %eax,%rdx
  test   %eax,%eax
  cmovne %rdx,%rbp
  jmp    L933
L285:
  cmpb   $0x74,0x3(%rbx)
  jne    L859
  cmpb   $0x69,0x4(%rbx)
  jne    L859
  cmpb   $0x63,0x5(%rbx)
  jne    L859
  cmpb   $0x20,0x6(%rbx)
  jne    L859
  movzbl 0x7(%rbx),%eax
  cmp    $0x75,%al
  je     L127
  cmp    $0x73,%al
  jne    L436
  cmpb   $0x74,0x8(%rbx)
  jne    L969
  cmpb   $0x72,0x9(%rbx)
  jne    L969
  cmpb   $0x75,0xa(%rbx)
  jne    L859
  cmpb   $0x63,0xb(%rbx)
  jne    L859
  cmpb   $0x74,0xc(%rbx)
  jne    L859
  jmp    L326
L127:
  cmpb   $0x6e,0x8(%rbx)
  je     L42
L969:
  cmpb   $0x65,0x9(%rbx)
  jne    L859
  cmpb   $0x6c,0xa(%rbx)
  jne    L859
  cmpb   $0x73,0xb(%rbx)
  jne    L859
  cmpb   $0x65,0xc(%rbx)
  jne    L859
  jmp    L326
L42:
  cmpb   $0x73,0x9(%rbx)
  jne    L969
  cmpb   $0x69,0xa(%rbx)
  jne    L859
  cmpb   $0x67,0xb(%rbx)
  jne    L859
  cmpb   $0x6e,0xc(%rbx)
  jne    L859
  cmpb   $0x65,0xd(%rbx)
  jne    L859
  cmpb   $0x64,0xe(%rbx)
  jne    L859
  jmp    L326
L436:
  cmp    $0x64,%al
  jne    L969
  cmpb   $0x6f,0x8(%rbx)
  jne    L969
L326:
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <fndws@plt>
  test   %eax,%eax
  jne    L570
L75:
  movzbl (%rbx),%eax
  cmp    $0x75,%al
  je     L1000
  cmp    $0x73,%al
  je     L679
L27:
  cmp    $0x64,%al
  jne    L171
  cmpb   $0x6f,0x1(%rbx)
  jne    L432
L334:
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <fndws@plt>
  test   %eax,%eax
  je     L767
  movslq %eax,%rdi
  mov    $0x0,%eax
  call   <fndnws@plt>
  test   %eax,%eax
  je     L767
  movslq %eax,%rbp
  movzbl 0x0(%rbp),%r12d
  movb   $0x0,0x0(%rbp)
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <poot@plt>
  mov    %r12b,0x0(%rbp)
  mov    %rbp,%rbx
  jmp    L432
L570:
  movslq %eax,%rdi
  mov    $0x0,%eax
  call   <fndnws@plt>
  test   %eax,%eax
  je     L75
  movslq %eax,%rdi
  mov    $0x0,%eax
  call   <fndws@plt>
  test   %eax,%eax
  je     L75
  movslq %eax,%rdi
  mov    $0x0,%eax
  call   <fndnws@plt>
  test   %eax,%eax
  je     L75
  movslq %eax,%rbp
  movzbl 0x0(%rbp),%r12d
  movb   $0x0,0x0(%rbp)
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <poot@plt>
  mov    %r12b,0x0(%rbp)
  mov    %rbp,%rbx
  jmp    L432
L227:
  cmpb   $0x73,0x2(%rbx)
  jne    L432
  cmpb   $0x69,0x3(%rbx)
  jne    L432
  cmpb   $0x67,0x4(%rbx)
  jne    L432
  cmpb   $0x6e,0x5(%rbx)
  jne    L432
  cmpb   $0x65,0x6(%rbx)
  jne    L432
  cmpb   $0x64,0x7(%rbx)
  jne    L432
  jmp    L334
L679:
  cmpb   $0x74,0x1(%rbx)
  je     L859
  jmp    L767
L15:
  cmpb   $0x75,0x3(%rbx)
  jne    L879
  cmpb   $0x63,0x4(%rbx)
  jne    L879
  cmpb   $0x74,0x5(%rbx)
  jne    L879
  jmp    L334
L171:
  cmp    $0x65,%al
  jne    L767
  cmpb   $0x6c,0x1(%rbx)
  jne    L432
  cmpb   $0x73,0x2(%rbx)
  jne    L432
  cmpb   $0x65,0x3(%rbx)
  jne    L432
  jmp    L334
L818:
  movzbl (%rbx),%eax
  cmp    $0x75,%al
  jne    L27
L1000:
  cmpb   $0x6e,0x1(%rbx)
  je     L227
L432:
  mov    %rbx,%rax
  pop    %rbx
  pop    %rbp
  pop    %r12
  ret
```

assistant: ```c
char *skipfx(s)
char *s;
{
  char c, *t = s, *tt;
  while ((*s == ' ') || (*s == '\t'))
    *s++;
  if (s != t) {
    c = *s;
    *s = '\0';
    poot(t);
    *s = c;
  }
  if (((s[0] == 't') && (s[1] == 'y') && (s[2] == 'p') && (s[3] == 'e') && (s[4] == 'd') && (s[5] == 'e') && (s[6] == 'f')) && (t = fndws(s)) && (t = fndnws(t))) {
    if ((t[0] == 'u') && (t[1] == 'n') && (t[2] == 's') && (t[3] == 'i') && (t[4] == 'g') && (t[5] == 'n') && (t[6] == 'e') && (t[7] == 'd') && (tt = fndws(t + 7)) && (tt = fndnws(tt)))
      t = tt;
    c = *t;
    *t = '\0';
    poot(s);
    *t = c;
    s = t;
  } else if (((s[0] == 's') && (s[1] == 't') && (s[2] == 'a') && (s[3] == 't') && (s[4] == 'i') && (s[5] == 'c') && (s[6] == ' ')) && (((s[7] == 'u') && (s[8] == 'n') && (s[9] == 's') && (s[10] == 'i') && (s[11] == 'g') && (s[12] == 'n') && (s[13] == 'e') && (s[14] == 'd')) || ((s[7] == 's') && (s[8] == 't') && (s[9] == 'r') && (s[10] == 'u') && (s[11] == 'c') && (s[12] == 't')) || ((s[7] == 'd') && (s[8] == 'o')) || ((s[9] == 'e') && (s[10] == 'l') && (s[11] == 's') && (s[12] == 'e'))) && (t = fndws(s)) && (t = fndnws(t)) && (t = fndws(t)) && (t = fndnws(t))) {
    c = *t;
    *t = '\0';
    poot(s);
    *t = c;
    s = t;
  } else if ((((s[0] == 'u') && (s[1] == 'n') && (s[2] == 's') && (s[3] == 'i') && (s[4] == 'g') && (s[5] == 'n') && (s[6] == 'e') && (s[7] == 'd')) || ((s[0] == 's') && (s[1] == 't') && (s[2] == 'r') && (s[3] == 'u') && (s[4] == 'c') && (s[5] == 't')) || ((s[0] == 's') && (s[1] == 't') && (s[2] == 'a') && (s[3] == 't') && (s[4] == 'i') && (s[5] == 'c')) || ((s[0] == 'd') && (s[1] == 'o')) || ((s[0] == 'e') && (s[1] == 'l') && (s[2] == 's') && (s[3] == 'e'))) && (t = fndws(s)) && (t = fndnws(t))) {
    c = *t;
    *t = '\0';
    poot(s);
    *t = c;
    s = t;
  } else if ((s[0] == 'r') && (s[1] == 'e') && (s[2] == 't') && (s[3] == 'u') && (s[4] == 'r') && (s[5] == 'n')) {
    poot(s);
    return 0;
  }
  return s;
}
```