user: Converte this assembly snippet into its equivalent C code:

```asm
<fn_cl_33_33_36_36_38_46_48_57_59_59_61_61_65_91_95_95_97_122_126_126_160_55295_63744_64975_65008_65519_65533_65533_65536_131069_131072_196605_196608_262141_262144_327677_327680_393213_393216_458749_458752_524285_524288_589821_589824_655357_655360_720893_720896_786429_786432_851965_851968_917501_917504_983037>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x20,%rsp
  mov    %rdi,-0x18(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  movl   $0x0,-0x10(%rbp)
  lea    -0x10(%rbp),%rdx
  mov    -0x18(%rbp),%rax
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <next_utf8@plt>
  mov    %eax,-0xc(%rbp)
  cmpl   $0x20,-0xc(%rbp)
  jbe    L639
  cmpl   $0x21,-0xc(%rbp)
  ja     L639
  mov    -0x10(%rbp),%eax
  jmp    L433
L639:
  cmpl   $0x23,-0xc(%rbp)
  jbe    L248
  cmpl   $0x24,-0xc(%rbp)
  ja     L248
  mov    -0x10(%rbp),%eax
  jmp    L433
L248:
  cmpl   $0x25,-0xc(%rbp)
  jbe    L33
  cmpl   $0x2e,-0xc(%rbp)
  ja     L33
  mov    -0x10(%rbp),%eax
  jmp    L433
L33:
  cmpl   $0x2f,-0xc(%rbp)
  jbe    L563
  cmpl   $0x39,-0xc(%rbp)
  ja     L563
  mov    -0x10(%rbp),%eax
  jmp    L433
L563:
  cmpl   $0x3a,-0xc(%rbp)
  jbe    L358
  cmpl   $0x3b,-0xc(%rbp)
  ja     L358
  mov    -0x10(%rbp),%eax
  jmp    L433
L358:
  cmpl   $0x3c,-0xc(%rbp)
  jbe    L307
  cmpl   $0x3d,-0xc(%rbp)
  ja     L307
  mov    -0x10(%rbp),%eax
  jmp    L433
L307:
  cmpl   $0x40,-0xc(%rbp)
  jbe    L490
  cmpl   $0x5b,-0xc(%rbp)
  ja     L490
  mov    -0x10(%rbp),%eax
  jmp    L433
L490:
  cmpl   $0x5e,-0xc(%rbp)
  jbe    L336
  cmpl   $0x5f,-0xc(%rbp)
  ja     L336
  mov    -0x10(%rbp),%eax
  jmp    L433
L336:
  cmpl   $0x60,-0xc(%rbp)
  jbe    L605
  cmpl   $0x7a,-0xc(%rbp)
  ja     L605
  mov    -0x10(%rbp),%eax
  jmp    L433
L605:
  cmpl   $0x7d,-0xc(%rbp)
  jbe    L525
  cmpl   $0x7e,-0xc(%rbp)
  ja     L525
  mov    -0x10(%rbp),%eax
  jmp    L433
L525:
  cmpl   $0x9f,-0xc(%rbp)
  jbe    L436
  cmpl   $0xd7ff,-0xc(%rbp)
  ja     L436
  mov    -0x10(%rbp),%eax
  jmp    L433
L436:
  cmpl   $0xf8ff,-0xc(%rbp)
  jbe    L49
  cmpl   $0xfdcf,-0xc(%rbp)
  ja     L49
  mov    -0x10(%rbp),%eax
  jmp    L433
L49:
  cmpl   $0xfdef,-0xc(%rbp)
  jbe    L559
  cmpl   $0xffef,-0xc(%rbp)
  ja     L559
  mov    -0x10(%rbp),%eax
  jmp    L433
L559:
  cmpl   $0xfffc,-0xc(%rbp)
  jbe    L25
  cmpl   $0xfffd,-0xc(%rbp)
  ja     L25
  mov    -0x10(%rbp),%eax
  jmp    L433
L25:
  cmpl   $0xffff,-0xc(%rbp)
  jbe    L61
  cmpl   $0x1fffd,-0xc(%rbp)
  ja     L61
  mov    -0x10(%rbp),%eax
  jmp    L433
L61:
  cmpl   $0x1ffff,-0xc(%rbp)
  jbe    L589
  cmpl   $0x2fffd,-0xc(%rbp)
  ja     L589
  mov    -0x10(%rbp),%eax
  jmp    L433
L589:
  cmpl   $0x2ffff,-0xc(%rbp)
  jbe    L764
  cmpl   $0x3fffd,-0xc(%rbp)
  ja     L764
  mov    -0x10(%rbp),%eax
  jmp    L433
L764:
  cmpl   $0x3ffff,-0xc(%rbp)
  jbe    L291
  cmpl   $0x4fffd,-0xc(%rbp)
  ja     L291
  mov    -0x10(%rbp),%eax
  jmp    L433
L291:
  cmpl   $0x4ffff,-0xc(%rbp)
  jbe    L555
  cmpl   $0x5fffd,-0xc(%rbp)
  ja     L555
  mov    -0x10(%rbp),%eax
  jmp    L433
L555:
  cmpl   $0x5ffff,-0xc(%rbp)
  jbe    L593
  cmpl   $0x6fffd,-0xc(%rbp)
  ja     L593
  mov    -0x10(%rbp),%eax
  jmp    L433
L593:
  cmpl   $0x6ffff,-0xc(%rbp)
  jbe    L430
  cmpl   $0x7fffd,-0xc(%rbp)
  ja     L430
  mov    -0x10(%rbp),%eax
  jmp    L433
L430:
  cmpl   $0x7ffff,-0xc(%rbp)
  jbe    L756
  cmpl   $0x8fffd,-0xc(%rbp)
  ja     L756
  mov    -0x10(%rbp),%eax
  jmp    L433
L756:
  cmpl   $0x8ffff,-0xc(%rbp)
  jbe    L775
  cmpl   $0x9fffd,-0xc(%rbp)
  ja     L775
  mov    -0x10(%rbp),%eax
  jmp    L433
L775:
  cmpl   $0x9ffff,-0xc(%rbp)
  jbe    L89
  cmpl   $0xafffd,-0xc(%rbp)
  ja     L89
  mov    -0x10(%rbp),%eax
  jmp    L433
L89:
  cmpl   $0xaffff,-0xc(%rbp)
  jbe    L110
  cmpl   $0xbfffd,-0xc(%rbp)
  ja     L110
  mov    -0x10(%rbp),%eax
  jmp    L433
L110:
  cmpl   $0xbffff,-0xc(%rbp)
  jbe    L313
  cmpl   $0xcfffd,-0xc(%rbp)
  ja     L313
  mov    -0x10(%rbp),%eax
  jmp    L433
L313:
  cmpl   $0xcffff,-0xc(%rbp)
  jbe    L437
  cmpl   $0xdfffd,-0xc(%rbp)
  ja     L437
  mov    -0x10(%rbp),%eax
  jmp    L433
L437:
  cmpl   $0xdffff,-0xc(%rbp)
  jbe    L64
  cmpl   $0xefffd,-0xc(%rbp)
  ja     L64
  mov    -0x10(%rbp),%eax
  jmp    L433
L64:
  mov    $0xffffffff,%eax
L433:
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L187
  call   <__stack_chk_fail@plt>
L187:
  leave
  ret
```

assistant: ```c
int fn_cl_33_33_36_36_38_46_48_57_59_59_61_61_65_91_95_95_97_122_126_126_160_55295_63744_64975_65008_65519_65533_65533_65536_131069_131072_196605_196608_262141_262144_327677_327680_393213_393216_458749_458752_524285_524288_589821_589824_655357_655360_720893_720896_786429_786432_851965_851968_917501_917504_983037(const char *text) {
  int pos = 0;
  unsigned int c = next_utf8(text, &pos);
  if (c >= 33 && c <= 33)
    return pos;
  if (c >= 36 && c <= 36)
    return pos;
  if (c >= 38 && c <= 46)
    return pos;
  if (c >= 48 && c <= 57)
    return pos;
  if (c >= 59 && c <= 59)
    return pos;
  if (c >= 61 && c <= 61)
    return pos;
  if (c >= 65 && c <= 91)
    return pos;
  if (c >= 95 && c <= 95)
    return pos;
  if (c >= 97 && c <= 122)
    return pos;
  if (c >= 126 && c <= 126)
    return pos;
  if (c >= 160 && c <= 55295)
    return pos;
  if (c >= 63744 && c <= 64975)
    return pos;
  if (c >= 65008 && c <= 65519)
    return pos;
  if (c >= 65533 && c <= 65533)
    return pos;
  if (c >= 65536 && c <= 131069)
    return pos;
  if (c >= 131072 && c <= 196605)
    return pos;
  if (c >= 196608 && c <= 262141)
    return pos;
  if (c >= 262144 && c <= 327677)
    return pos;
  if (c >= 327680 && c <= 393213)
    return pos;
  if (c >= 393216 && c <= 458749)
    return pos;
  if (c >= 458752 && c <= 524285)
    return pos;
  if (c >= 524288 && c <= 589821)
    return pos;
  if (c >= 589824 && c <= 655357)
    return pos;
  if (c >= 655360 && c <= 720893)
    return pos;
  if (c >= 720896 && c <= 786429)
    return pos;
  if (c >= 786432 && c <= 851965)
    return pos;
  if (c >= 851968 && c <= 917501)
    return pos;
  if (c >= 917504 && c <= 983037)
    return pos;
  return -1;
}
```