char *BTSHASP_ParseTokenBasic(char *s, char *tb) {
  char *t, *te;
  int i, j, k;
  t = tb;
  te = tb + 252;
  s = BTSHASP_EatWhite(s);
  if (!(*s)) {
    *t++ = 0;
    *t++ = 0;
    return (s);
  }
  if ((*s == '_') || (*s == '$') || ((*s >= 'A') && (*s <= 'Z')) ||
      ((*s >= 'a') && (*s <= 'z'))) {
    *t++ = 'I';
    while (*s && (t < te) &&
           ((*s == '_') || (*s == '$') || ((*s >= 'A') && (*s <= 'Z')) ||
            ((*s >= 'a') && (*s <= 'z')) || ((*s >= '0') && (*s <= '9'))))
      *t++ = *s++;
    *t++ = 0;
    return (s);
  }
  if ((*s >= '0') && (*s <= '9')) {
    *t++ = '#';
    *t++ = *s++;
    if ((*s == 'x') || (*s == 'b') || (*s == 'c') || (*s == 'd')) {
      *tb = '|';
      *t++ = *s++;
      while (*s && (t < te) &&
             ((*s == '_') || ((*s >= '0') && (*s <= '9')) ||
              ((*s >= 'A') && (*s <= 'F')) || ((*s >= 'a') && (*s <= 'f'))))
        *t++ = *s++;
      *t++ = 0;
      return (s);
    }
    while (*s && (t < te) && ((*s == '_') || ((*s >= '0') && (*s <= '9'))))
      *t++ = *s++;
    if (*s == '.' && (*(s + 1) != '.')) {
      *t++ = *s++;
      while (*s && (t < te) && ((*s == '_') || ((*s >= '0') && (*s <= '9'))))
        *t++ = *s++;
      if ((*s == 'e') || (*s == 'E')) {
        *t++ = *s++;
        if ((*s == '+') || (*s == '-'))
          *t++ = *s++;
        while (*s && (t < te) && ((*s == '_') || ((*s >= '0') && (*s <= '9'))))
          *t++ = *s++;
      }
    } else {
      *tb = '|';
    }
    *t++ = 0;
    return (s);
  }
  if (*s == '\"') {
    if ((s[1] == '\"') && (s[2] == '\"')) {
      *t++ = 'X';
      *t++ = *s++;
      *t++ = *s++;
      *t++ = *s++;
      *t++ = 0;
      return (s);
    }
    s++;
    *t++ = 'S';
    while (*s && (t < te)) {
      if (*s == '\\') {
        s++;
        switch (*s) {
        case 'n':
          s++;
          *t++ = '\n';
          break;
        case 'r':
          s++;
          *t++ = '\r';
          break;
        case 'b':
          s++;
          *t++ = '\b';
          break;
        case 't':
          s++;
          *t++ = '\t';
          break;
        case '\\':
          s++;
          *t++ = '\\';
          break;
        case '\"':
          s++;
          *t++ = '\"';
          break;
        case '\'':
          s++;
          *t++ = '\'';
          break;
        case 'x':
          s++;
          *t++ = BTSHASP_ParseHexN(s, 2);
          s += 2;
          break;
        case 'u':
          s++;
          i = BTSHASP_ParseHexN(s, 4);
          t = BTSHASP_EmitUtf8(t, i);
          s += 4;
          break;
        }
        continue;
      }
      if (*s == '\"')
        break;
      *t++ = *s++;
    }
    if (*s == '\"')
      s++;
    *t++ = 0;
    return (s);
  }
  if (*s == '\'') {
    s++;
    *t++ = 'C';
    while (*s && (t < te)) {
      if (*s == '\\') {
        s++;
        switch (*s) {
        case 'n':
          s++;
          *t++ = '\n';
          break;
        case 'r':
          s++;
          *t++ = '\r';
          break;
        case 'b':
          s++;
          *t++ = '\b';
          break;
        case 't':
          s++;
          *t++ = '\t';
          break;
        case '\\':
          s++;
          *t++ = '\\';
          break;
        case '\"':
          s++;
          *t++ = '\"';
          break;
        case '\'':
          s++;
          *t++ = '\'';
          break;
        case 'x':
          s++;
          *t++ = BTSHASP_ParseHexN(s, 2);
          s += 2;
          break;
        case 'u':
          s++;
          i = BTSHASP_ParseHexN(s, 4);
          t = BTSHASP_EmitUtf8(t, i);
          s += 4;
          break;
        }
        continue;
      }
      if (*s == '\'')
        break;
      *t++ = *s++;
    }
    if (*s == '\'')
      s++;
    *t++ = 0;
    return (s);
  }
  *t++ = 'X';
  switch (*s) {
  case '-':
    *t++ = *s++;
    if ((*s == '-') || (*s == '=') || (*s == '>')) {
      *t++ = *s++;
    }
    *t++ = 0;
    break;
  case '+':
    *t++ = *s++;
    if ((*s == '+') || (*s == '=')) {
      *t++ = *s++;
    }
    *t++ = 0;
    break;
  case '=':
  case '!':
  case '/':
  case '*':
  case '%':
  case '^':
    *t++ = *s++;
    if (*s == '=')
      *t++ = *s++;
    *t++ = 0;
    break;
  case '|':
    *t++ = *s++;
    switch (*s) {
    case '=':
      *t++ = *s++;
      break;
    case '|':
      *t++ = *s++;
      switch (*s) {
      case '=':
        *t++ = *s++;
        break;
      default:
        break;
      }
      break;
    default:
      break;
    }
    *t++ = 0;
    break;
  case '&':
    *t++ = *s++;
    switch (*s) {
    case '=':
      *t++ = *s++;
      break;
    case '&':
      *t++ = *s++;
      switch (*s) {
      case '=':
        *t++ = *s++;
        break;
      default:
        break;
      }
      break;
    default:
      break;
    }
    *t++ = 0;
    break;
  case '<':
    *t++ = *s++;
    switch (*s) {
    case '=':
      *t++ = *s++;
      break;
    case '<':
      *t++ = *s++;
      switch (*s) {
      case '<':
      case '=':
        *t++ = *s++;
        break;
      default:
        break;
      }
      break;
    default:
      break;
    }
    *t++ = 0;
    break;
  case '>':
    *t++ = *s++;
    switch (*s) {
    case '=':
      *t++ = *s++;
      break;
    case '>':
      *t++ = *s++;
      switch (*s) {
      case '>':
      case '=':
        *t++ = *s++;
        break;
      default:
        break;
      }
      break;
    default:
      break;
    }
    *t++ = 0;
    break;
  case '#':
    *t++ = *s++;
    switch (*s) {
    case '#':
      *t++ = *s++;
      break;
    case ':':
      *t++ = *s++;
      break;
    case '(':
      *t++ = *s++;
      break;
    case ')':
      *t++ = *s++;
      break;
    case '[':
      *t++ = *s++;
      break;
    case ']':
      *t++ = *s++;
      break;
    case '{':
      *t++ = *s++;
      break;
    case '}':
      *t++ = *s++;
      break;
    default:
      break;
    }
    *t++ = 0;
    break;
  case '~':
  case '?':
  case '@':
  case '\\':
  case ';':
  case ':':
  case ',':
    *t++ = *s++;
    *t++ = 0;
    break;
  case '.':
    if ((s[1] == '.') && (s[2] == '.')) {
      *t++ = *s++;
      *t++ = *s++;
      *t++ = *s++;
      *t++ = 0;
      break;
    }
    if (s[1] == '.') {
      *t++ = *s++;
      *t++ = *s++;
      *t++ = 0;
      break;
    }
    *t++ = *s++;
    *t++ = 0;
    break;
  case '(':
  case ')':
  case '[':
  case ']':
  case '{':
  case '}':
    *t++ = *s++;
    *t++ = 0;
    break;
  default:
    *t++ = *s++;
    *t++ = 0;
    break;
  }
  return (s);
}


x86 assembly (clang, -O0):
<BTSHASP_ParseTokenBasic>:
push   %rbp
mov    %rsp,%rbp
sub    $0x80,%rsp
mov    %rdi,-0x10(%rbp)
mov    %rsi,-0x18(%rbp)
mov    -0x18(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x18(%rbp),%rax
add    $0xfc,%rax
mov    %rax,-0x28(%rbp)
mov    -0x10(%rbp),%rdi
mov    $0x0,%al
call   1030 <BTSHASP_EatWhite@plt>
cltq
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rax
cmpb   $0x0,(%rax)
jne    11a8 <BTSHASP_ParseTokenBasic+0x78>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    2766 <BTSHASP_ParseTokenBasic+0x1636>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5f,%eax
je     1208 <BTSHASP_ParseTokenBasic+0xd8>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x24,%eax
je     1208 <BTSHASP_ParseTokenBasic+0xd8>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x41,%eax
jl     11e8 <BTSHASP_ParseTokenBasic+0xb8>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5a,%eax
jle    1208 <BTSHASP_ParseTokenBasic+0xd8>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x61,%eax
jl     133d <BTSHASP_ParseTokenBasic+0x20d>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x7a,%eax
jg     133d <BTSHASP_ParseTokenBasic+0x20d>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x49,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x0,%ecx
mov    %al,-0x35(%rbp)
je     12e7 <BTSHASP_ParseTokenBasic+0x1b7>
mov    -0x20(%rbp),%rcx
xor    %eax,%eax
cmp    -0x28(%rbp),%rcx
mov    %al,-0x35(%rbp)
jae    12e7 <BTSHASP_ParseTokenBasic+0x1b7>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5f,%ecx
mov    %al,-0x36(%rbp)
je     12e1 <BTSHASP_ParseTokenBasic+0x1b1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x24,%ecx
mov    %al,-0x36(%rbp)
je     12e1 <BTSHASP_ParseTokenBasic+0x1b1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x41,%eax
jl     1291 <BTSHASP_ParseTokenBasic+0x161>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5a,%ecx
mov    %al,-0x36(%rbp)
jle    12e1 <BTSHASP_ParseTokenBasic+0x1b1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x61,%eax
jl     12b6 <BTSHASP_ParseTokenBasic+0x186>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x7a,%ecx
mov    %al,-0x36(%rbp)
jle    12e1 <BTSHASP_ParseTokenBasic+0x1b1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x30,%ecx
mov    %al,-0x37(%rbp)
jl     12db <BTSHASP_ParseTokenBasic+0x1ab>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x39,%eax
setle  %al
mov    %al,-0x37(%rbp)
mov    -0x37(%rbp),%al
mov    %al,-0x36(%rbp)
mov    -0x36(%rbp),%al
mov    %al,-0x35(%rbp)
mov    -0x35(%rbp),%al
test   $0x1,%al
jne    12f7 <BTSHASP_ParseTokenBasic+0x1c7>
jmp    131e <BTSHASP_ParseTokenBasic+0x1ee>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    121a <BTSHASP_ParseTokenBasic+0xea>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    2766 <BTSHASP_ParseTokenBasic+0x1636>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x30,%eax
jl     17f8 <BTSHASP_ParseTokenBasic+0x6c8>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x39,%eax
jg     17f8 <BTSHASP_ParseTokenBasic+0x6c8>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x23,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x78,%eax
je     13d1 <BTSHASP_ParseTokenBasic+0x2a1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x62,%eax
je     13d1 <BTSHASP_ParseTokenBasic+0x2a1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x63,%eax
je     13d1 <BTSHASP_ParseTokenBasic+0x2a1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x64,%eax
jne    1508 <BTSHASP_ParseTokenBasic+0x3d8>
mov    -0x18(%rbp),%rax
movb   $0x7c,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x0,%ecx
mov    %al,-0x38(%rbp)
je     14b2 <BTSHASP_ParseTokenBasic+0x382>
mov    -0x20(%rbp),%rcx
xor    %eax,%eax
cmp    -0x28(%rbp),%rcx
mov    %al,-0x38(%rbp)
jae    14b2 <BTSHASP_ParseTokenBasic+0x382>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5f,%ecx
mov    %al,-0x39(%rbp)
je     14ac <BTSHASP_ParseTokenBasic+0x37c>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x30,%eax
jl     145c <BTSHASP_ParseTokenBasic+0x32c>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x39,%ecx
mov    %al,-0x39(%rbp)
jle    14ac <BTSHASP_ParseTokenBasic+0x37c>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x41,%eax
jl     1481 <BTSHASP_ParseTokenBasic+0x351>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x46,%ecx
mov    %al,-0x39(%rbp)
jle    14ac <BTSHASP_ParseTokenBasic+0x37c>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x61,%ecx
mov    %al,-0x3a(%rbp)
jl     14a6 <BTSHASP_ParseTokenBasic+0x376>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x66,%eax
setle  %al
mov    %al,-0x3a(%rbp)
mov    -0x3a(%rbp),%al
mov    %al,-0x39(%rbp)
mov    -0x39(%rbp),%al
mov    %al,-0x38(%rbp)
mov    -0x38(%rbp),%al
test   $0x1,%al
jne    14c2 <BTSHASP_ParseTokenBasic+0x392>
jmp    14e9 <BTSHASP_ParseTokenBasic+0x3b9>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    13fa <BTSHASP_ParseTokenBasic+0x2ca>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    2766 <BTSHASP_ParseTokenBasic+0x1636>
jmp    150d <BTSHASP_ParseTokenBasic+0x3dd>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x0,%ecx
mov    %al,-0x3b(%rbp)
je     157b <BTSHASP_ParseTokenBasic+0x44b>
mov    -0x20(%rbp),%rcx
xor    %eax,%eax
cmp    -0x28(%rbp),%rcx
mov    %al,-0x3b(%rbp)
jae    157b <BTSHASP_ParseTokenBasic+0x44b>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5f,%ecx
mov    %al,-0x3c(%rbp)
je     1575 <BTSHASP_ParseTokenBasic+0x445>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x30,%ecx
mov    %al,-0x3d(%rbp)
jl     156f <BTSHASP_ParseTokenBasic+0x43f>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x39,%eax
setle  %al
mov    %al,-0x3d(%rbp)
mov    -0x3d(%rbp),%al
mov    %al,-0x3c(%rbp)
mov    -0x3c(%rbp),%al
mov    %al,-0x3b(%rbp)
mov    -0x3b(%rbp),%al
test   $0x1,%al
jne    158b <BTSHASP_ParseTokenBasic+0x45b>
jmp    15b2 <BTSHASP_ParseTokenBasic+0x482>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    150d <BTSHASP_ParseTokenBasic+0x3dd>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x2e,%eax
jne    17d2 <BTSHASP_ParseTokenBasic+0x6a2>
mov    -0x10(%rbp),%rax
movsbl 0x1(%rax),%eax
cmp    $0x2e,%eax
je     17d2 <BTSHASP_ParseTokenBasic+0x6a2>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x0,%ecx
mov    %al,-0x3e(%rbp)
je     1663 <BTSHASP_ParseTokenBasic+0x533>
mov    -0x20(%rbp),%rcx
xor    %eax,%eax
cmp    -0x28(%rbp),%rcx
mov    %al,-0x3e(%rbp)
jae    1663 <BTSHASP_ParseTokenBasic+0x533>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5f,%ecx
mov    %al,-0x3f(%rbp)
je     165d <BTSHASP_ParseTokenBasic+0x52d>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x30,%ecx
mov    %al,-0x40(%rbp)
jl     1657 <BTSHASP_ParseTokenBasic+0x527>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x39,%eax
setle  %al
mov    %al,-0x40(%rbp)
mov    -0x40(%rbp),%al
mov    %al,-0x3f(%rbp)
mov    -0x3f(%rbp),%al
mov    %al,-0x3e(%rbp)
mov    -0x3e(%rbp),%al
test   $0x1,%al
jne    1673 <BTSHASP_ParseTokenBasic+0x543>
jmp    169a <BTSHASP_ParseTokenBasic+0x56a>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    15f5 <BTSHASP_ParseTokenBasic+0x4c5>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x65,%eax
je     16ba <BTSHASP_ParseTokenBasic+0x58a>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x45,%eax
jne    17cd <BTSHASP_ParseTokenBasic+0x69d>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x2b,%eax
je     16fc <BTSHASP_ParseTokenBasic+0x5cc>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x2d,%eax
jne    171e <BTSHASP_ParseTokenBasic+0x5ee>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    1723 <BTSHASP_ParseTokenBasic+0x5f3>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x0,%ecx
mov    %al,-0x41(%rbp)
je     1791 <BTSHASP_ParseTokenBasic+0x661>
mov    -0x20(%rbp),%rcx
xor    %eax,%eax
cmp    -0x28(%rbp),%rcx
mov    %al,-0x41(%rbp)
jae    1791 <BTSHASP_ParseTokenBasic+0x661>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5f,%ecx
mov    %al,-0x42(%rbp)
je     178b <BTSHASP_ParseTokenBasic+0x65b>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x30,%ecx
mov    %al,-0x43(%rbp)
jl     1785 <BTSHASP_ParseTokenBasic+0x655>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x39,%eax
setle  %al
mov    %al,-0x43(%rbp)
mov    -0x43(%rbp),%al
mov    %al,-0x42(%rbp)
mov    -0x42(%rbp),%al
mov    %al,-0x41(%rbp)
mov    -0x41(%rbp),%al
test   $0x1,%al
jne    17a1 <BTSHASP_ParseTokenBasic+0x671>
jmp    17c8 <BTSHASP_ParseTokenBasic+0x698>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    1723 <BTSHASP_ParseTokenBasic+0x5f3>
jmp    17cd <BTSHASP_ParseTokenBasic+0x69d>
jmp    17d9 <BTSHASP_ParseTokenBasic+0x6a9>
mov    -0x18(%rbp),%rax
movb   $0x7c,(%rax)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    2766 <BTSHASP_ParseTokenBasic+0x1636>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x22,%eax
jne    1b4b <BTSHASP_ParseTokenBasic+0xa1b>
mov    -0x10(%rbp),%rax
movsbl 0x1(%rax),%eax
cmp    $0x22,%eax
jne    18c1 <BTSHASP_ParseTokenBasic+0x791>
mov    -0x10(%rbp),%rax
movsbl 0x2(%rax),%eax
cmp    $0x22,%eax
jne    18c1 <BTSHASP_ParseTokenBasic+0x791>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x58,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    2766 <BTSHASP_ParseTokenBasic+0x1636>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x53,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x0,%ecx
mov    %al,-0x44(%rbp)
je     1902 <BTSHASP_ParseTokenBasic+0x7d2>
mov    -0x20(%rbp),%rax
cmp    -0x28(%rbp),%rax
setb   %al
mov    %al,-0x44(%rbp)
mov    -0x44(%rbp),%al
test   $0x1,%al
jne    1912 <BTSHASP_ParseTokenBasic+0x7e2>
jmp    1b10 <BTSHASP_ParseTokenBasic+0x9e0>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5c,%eax
jne    1ad4 <BTSHASP_ParseTokenBasic+0x9a4>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
add    $0xffffffde,%eax
mov    %eax,%ecx
mov    %rcx,-0x50(%rbp)
sub    $0x56,%eax
ja     1acf <BTSHASP_ParseTokenBasic+0x99f>
mov    -0x50(%rbp),%rax
lea    0x1982(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0xa,(%rax)
jmp    1acf <BTSHASP_ParseTokenBasic+0x99f>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0xd,(%rax)
jmp    1acf <BTSHASP_ParseTokenBasic+0x99f>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x8,(%rax)
jmp    1acf <BTSHASP_ParseTokenBasic+0x99f>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x9,(%rax)
jmp    1acf <BTSHASP_ParseTokenBasic+0x99f>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x5c,(%rax)
jmp    1acf <BTSHASP_ParseTokenBasic+0x99f>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x22,(%rax)
jmp    1acf <BTSHASP_ParseTokenBasic+0x99f>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x27,(%rax)
jmp    1acf <BTSHASP_ParseTokenBasic+0x99f>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rdi
mov    $0x2,%esi
mov    $0x0,%al
call   1050 <BTSHASP_ParseHexN@plt>
mov    %al,%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
add    $0x2,%rax
mov    %rax,-0x10(%rbp)
jmp    1acf <BTSHASP_ParseTokenBasic+0x99f>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rdi
mov    $0x4,%esi
mov    $0x0,%al
call   1050 <BTSHASP_ParseHexN@plt>
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x2c(%rbp),%esi
mov    $0x0,%al
call   1040 <BTSHASP_EmitUtf8@plt>
cltq
mov    %rax,-0x20(%rbp)
mov    -0x10(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x10(%rbp)
jmp    18df <BTSHASP_ParseTokenBasic+0x7af>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x22,%eax
jne    1ae9 <BTSHASP_ParseTokenBasic+0x9b9>
jmp    1b10 <BTSHASP_ParseTokenBasic+0x9e0>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    18df <BTSHASP_ParseTokenBasic+0x7af>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x22,%eax
jne    1b2c <BTSHASP_ParseTokenBasic+0x9fc>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    2766 <BTSHASP_ParseTokenBasic+0x1636>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x27,%eax
jne    1de5 <BTSHASP_ParseTokenBasic+0xcb5>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x43,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x0,%ecx
mov    %al,-0x51(%rbp)
je     1b9c <BTSHASP_ParseTokenBasic+0xa6c>
mov    -0x20(%rbp),%rax
cmp    -0x28(%rbp),%rax
setb   %al
mov    %al,-0x51(%rbp)
mov    -0x51(%rbp),%al
test   $0x1,%al
jne    1bac <BTSHASP_ParseTokenBasic+0xa7c>
jmp    1daa <BTSHASP_ParseTokenBasic+0xc7a>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5c,%eax
jne    1d6e <BTSHASP_ParseTokenBasic+0xc3e>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
add    $0xffffffde,%eax
mov    %eax,%ecx
mov    %rcx,-0x60(%rbp)
sub    $0x56,%eax
ja     1d69 <BTSHASP_ParseTokenBasic+0xc39>
mov    -0x60(%rbp),%rax
lea    0x158c(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0xa,(%rax)
jmp    1d69 <BTSHASP_ParseTokenBasic+0xc39>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0xd,(%rax)
jmp    1d69 <BTSHASP_ParseTokenBasic+0xc39>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x8,(%rax)
jmp    1d69 <BTSHASP_ParseTokenBasic+0xc39>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x9,(%rax)
jmp    1d69 <BTSHASP_ParseTokenBasic+0xc39>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x5c,(%rax)
jmp    1d69 <BTSHASP_ParseTokenBasic+0xc39>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x22,(%rax)
jmp    1d69 <BTSHASP_ParseTokenBasic+0xc39>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x27,(%rax)
jmp    1d69 <BTSHASP_ParseTokenBasic+0xc39>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rdi
mov    $0x2,%esi
mov    $0x0,%al
call   1050 <BTSHASP_ParseHexN@plt>
mov    %al,%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
add    $0x2,%rax
mov    %rax,-0x10(%rbp)
jmp    1d69 <BTSHASP_ParseTokenBasic+0xc39>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rdi
mov    $0x4,%esi
mov    $0x0,%al
call   1050 <BTSHASP_ParseHexN@plt>
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x2c(%rbp),%esi
mov    $0x0,%al
call   1040 <BTSHASP_EmitUtf8@plt>
cltq
mov    %rax,-0x20(%rbp)
mov    -0x10(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x10(%rbp)
jmp    1b79 <BTSHASP_ParseTokenBasic+0xa49>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x27,%eax
jne    1d83 <BTSHASP_ParseTokenBasic+0xc53>
jmp    1daa <BTSHASP_ParseTokenBasic+0xc7a>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    1b79 <BTSHASP_ParseTokenBasic+0xa49>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x27,%eax
jne    1dc6 <BTSHASP_ParseTokenBasic+0xc96>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    2766 <BTSHASP_ParseTokenBasic+0x1636>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x58,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
add    $0xffffffdf,%eax
mov    %eax,%ecx
mov    %rcx,-0x68(%rbp)
sub    $0x5d,%eax
ja     272a <BTSHASP_ParseTokenBasic+0x15fa>
mov    -0x68(%rbp),%rax
lea    0x11e5(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x2d,%eax
je     1e76 <BTSHASP_ParseTokenBasic+0xd46>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x3d,%eax
je     1e76 <BTSHASP_ParseTokenBasic+0xd46>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x3e,%eax
jne    1e98 <BTSHASP_ParseTokenBasic+0xd68>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    275e <BTSHASP_ParseTokenBasic+0x162e>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x2b,%eax
je     1ef1 <BTSHASP_ParseTokenBasic+0xdc1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x3d,%eax
jne    1f13 <BTSHASP_ParseTokenBasic+0xde3>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    275e <BTSHASP_ParseTokenBasic+0x162e>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x3d,%eax
jne    1f7e <BTSHASP_ParseTokenBasic+0xe4e>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    275e <BTSHASP_ParseTokenBasic+0x162e>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
mov    %eax,-0x6c(%rbp)
sub    $0x3d,%eax
je     1fe0 <BTSHASP_ParseTokenBasic+0xeb0>
jmp    1fcf <BTSHASP_ParseTokenBasic+0xe9f>
mov    -0x6c(%rbp),%eax
sub    $0x7c,%eax
je     2007 <BTSHASP_ParseTokenBasic+0xed7>
jmp    206d <BTSHASP_ParseTokenBasic+0xf3d>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    2072 <BTSHASP_ParseTokenBasic+0xf42>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
mov    (%rax),%al
sub    $0x3d,%al
jne    2063 <BTSHASP_ParseTokenBasic+0xf33>
jmp    203c <BTSHASP_ParseTokenBasic+0xf0c>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    2068 <BTSHASP_ParseTokenBasic+0xf38>
jmp    2068 <BTSHASP_ParseTokenBasic+0xf38>
jmp    2072 <BTSHASP_ParseTokenBasic+0xf42>
jmp    2072 <BTSHASP_ParseTokenBasic+0xf42>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    275e <BTSHASP_ParseTokenBasic+0x162e>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
mov    %eax,-0x70(%rbp)
sub    $0x26,%eax
je     20fb <BTSHASP_ParseTokenBasic+0xfcb>
jmp    20c3 <BTSHASP_ParseTokenBasic+0xf93>
mov    -0x70(%rbp),%eax
sub    $0x3d,%eax
jne    2161 <BTSHASP_ParseTokenBasic+0x1031>
jmp    20d4 <BTSHASP_ParseTokenBasic+0xfa4>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    2166 <BTSHASP_ParseTokenBasic+0x1036>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
mov    (%rax),%al
sub    $0x3d,%al
jne    2157 <BTSHASP_ParseTokenBasic+0x1027>
jmp    2130 <BTSHASP_ParseTokenBasic+0x1000>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    215c <BTSHASP_ParseTokenBasic+0x102c>
jmp    215c <BTSHASP_ParseTokenBasic+0x102c>
jmp    2166 <BTSHASP_ParseTokenBasic+0x1036>
jmp    2166 <BTSHASP_ParseTokenBasic+0x1036>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    275e <BTSHASP_ParseTokenBasic+0x162e>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
mov    %eax,-0x74(%rbp)
sub    $0x3c,%eax
je     21ef <BTSHASP_ParseTokenBasic+0x10bf>
jmp    21b7 <BTSHASP_ParseTokenBasic+0x1087>
mov    -0x74(%rbp),%eax
sub    $0x3d,%eax
jne    225a <BTSHASP_ParseTokenBasic+0x112a>
jmp    21c8 <BTSHASP_ParseTokenBasic+0x1098>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    225f <BTSHASP_ParseTokenBasic+0x112f>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
add    $0xffffffc4,%eax
sub    $0x1,%eax
ja     2250 <BTSHASP_ParseTokenBasic+0x1120>
jmp    2229 <BTSHASP_ParseTokenBasic+0x10f9>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    2255 <BTSHASP_ParseTokenBasic+0x1125>
jmp    2255 <BTSHASP_ParseTokenBasic+0x1125>
jmp    225f <BTSHASP_ParseTokenBasic+0x112f>
jmp    225f <BTSHASP_ParseTokenBasic+0x112f>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    275e <BTSHASP_ParseTokenBasic+0x162e>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
mov    %eax,-0x78(%rbp)
sub    $0x3d,%eax
je     22c1 <BTSHASP_ParseTokenBasic+0x1191>
jmp    22b0 <BTSHASP_ParseTokenBasic+0x1180>
mov    -0x78(%rbp),%eax
sub    $0x3e,%eax
je     22e8 <BTSHASP_ParseTokenBasic+0x11b8>
jmp    2353 <BTSHASP_ParseTokenBasic+0x1223>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    2358 <BTSHASP_ParseTokenBasic+0x1228>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
add    $0xffffffc3,%eax
sub    $0x1,%eax
ja     2349 <BTSHASP_ParseTokenBasic+0x1219>
jmp    2322 <BTSHASP_ParseTokenBasic+0x11f2>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    234e <BTSHASP_ParseTokenBasic+0x121e>
jmp    234e <BTSHASP_ParseTokenBasic+0x121e>
jmp    2358 <BTSHASP_ParseTokenBasic+0x1228>
jmp    2358 <BTSHASP_ParseTokenBasic+0x1228>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    275e <BTSHASP_ParseTokenBasic+0x162e>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
mov    %eax,-0x7c(%rbp)
sub    $0x23,%eax
je     2420 <BTSHASP_ParseTokenBasic+0x12f0>
jmp    23a9 <BTSHASP_ParseTokenBasic+0x1279>
mov    -0x7c(%rbp),%eax
sub    $0x28,%eax
je     246e <BTSHASP_ParseTokenBasic+0x133e>
jmp    23ba <BTSHASP_ParseTokenBasic+0x128a>
mov    -0x7c(%rbp),%eax
sub    $0x29,%eax
je     2495 <BTSHASP_ParseTokenBasic+0x1365>
jmp    23cb <BTSHASP_ParseTokenBasic+0x129b>
mov    -0x7c(%rbp),%eax
sub    $0x3a,%eax
je     2447 <BTSHASP_ParseTokenBasic+0x1317>
jmp    23dc <BTSHASP_ParseTokenBasic+0x12ac>
mov    -0x7c(%rbp),%eax
sub    $0x5b,%eax
je     24bc <BTSHASP_ParseTokenBasic+0x138c>
jmp    23ed <BTSHASP_ParseTokenBasic+0x12bd>
mov    -0x7c(%rbp),%eax
sub    $0x5d,%eax
je     24e3 <BTSHASP_ParseTokenBasic+0x13b3>
jmp    23fe <BTSHASP_ParseTokenBasic+0x12ce>
mov    -0x7c(%rbp),%eax
sub    $0x7b,%eax
je     250a <BTSHASP_ParseTokenBasic+0x13da>
jmp    240f <BTSHASP_ParseTokenBasic+0x12df>
mov    -0x7c(%rbp),%eax
sub    $0x7d,%eax
je     2531 <BTSHASP_ParseTokenBasic+0x1401>
jmp    2558 <BTSHASP_ParseTokenBasic+0x1428>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    255d <BTSHASP_ParseTokenBasic+0x142d>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    255d <BTSHASP_ParseTokenBasic+0x142d>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    255d <BTSHASP_ParseTokenBasic+0x142d>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    255d <BTSHASP_ParseTokenBasic+0x142d>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    255d <BTSHASP_ParseTokenBasic+0x142d>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    255d <BTSHASP_ParseTokenBasic+0x142d>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    255d <BTSHASP_ParseTokenBasic+0x142d>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
jmp    255d <BTSHASP_ParseTokenBasic+0x142d>
jmp    255d <BTSHASP_ParseTokenBasic+0x142d>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    275e <BTSHASP_ParseTokenBasic+0x162e>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    275e <BTSHASP_ParseTokenBasic+0x162e>
mov    -0x10(%rbp),%rax
movsbl 0x1(%rax),%eax
cmp    $0x2e,%eax
jne    264c <BTSHASP_ParseTokenBasic+0x151c>
mov    -0x10(%rbp),%rax
movsbl 0x2(%rax),%eax
cmp    $0x2e,%eax
jne    264c <BTSHASP_ParseTokenBasic+0x151c>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    275e <BTSHASP_ParseTokenBasic+0x162e>
mov    -0x10(%rbp),%rax
movsbl 0x1(%rax),%eax
cmp    $0x2e,%eax
jne    26b8 <BTSHASP_ParseTokenBasic+0x1588>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    275e <BTSHASP_ParseTokenBasic+0x162e>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    275e <BTSHASP_ParseTokenBasic+0x162e>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    275e <BTSHASP_ParseTokenBasic+0x162e>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x20(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
mov    %cl,(%rax)
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,-0x8(%rbp)
mov    -0x8(%rbp),%rax
add    $0x80,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<BTSHASP_ParseTokenBasic>:
push   %r15
push   %r14
push   %r12
push   %rbx
push   %rax
mov    %rsi,%rbx
xor    %eax,%eax
call   1030 <BTSHASP_EatWhite@plt>
movslq %eax,%rcx
mov    (%rcx),%al
cmp    $0x5f,%al
je     1169 <BTSHASP_ParseTokenBasic+0x39>
cmp    $0x24,%al
je     1169 <BTSHASP_ParseTokenBasic+0x39>
test   %al,%al
jne    1158 <BTSHASP_ParseTokenBasic+0x28>
movb   $0x0,(%rbx)
jmp    11d7 <BTSHASP_ParseTokenBasic+0xa7>
mov    %eax,%edx
and    $0xdf,%dl
add    $0xbf,%dl
cmp    $0x19,%dl
ja     11e6 <BTSHASP_ParseTokenBasic+0xb6>
movb   $0x49,(%rbx)
mov    (%rcx),%dl
test   %dl,%dl
je     11d7 <BTSHASP_ParseTokenBasic+0xa7>
mov    $0x1,%esi
mov    %rcx,%rax
nopw   0x0(%rax,%rax,1)
cmp    $0x24,%dl
je     11b0 <BTSHASP_ParseTokenBasic+0x80>
cmp    $0x5f,%dl
je     11b0 <BTSHASP_ParseTokenBasic+0x80>
mov    %edx,%ecx
and    $0xdf,%cl
add    $0xbf,%cl
cmp    $0x1a,%cl
jb     11b0 <BTSHASP_ParseTokenBasic+0x80>
lea    -0x30(%rdx),%ecx
cmp    $0x9,%cl
ja     129b <BTSHASP_ParseTokenBasic+0x16b>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
lea    0x1(%rsi),%rcx
mov    %dl,(%rbx,%rsi,1)
movzbl 0x1(%rax),%edx
add    $0x1,%rax
test   %dl,%dl
je     11cf <BTSHASP_ParseTokenBasic+0x9f>
cmp    $0xfb,%rsi
mov    %rcx,%rsi
jb     1180 <BTSHASP_ParseTokenBasic+0x50>
add    %rcx,%rbx
jmp    15b2 <BTSHASP_ParseTokenBasic+0x482>
add    $0x1,%rbx
mov    %rbx,%rsi
mov    %rcx,%rax
jmp    15b5 <BTSHASP_ParseTokenBasic+0x485>
lea    -0x30(%rax),%edx
cmp    $0x9,%dl
ja     12a3 <BTSHASP_ParseTokenBasic+0x173>
movb   $0x23,(%rbx)
mov    (%rcx),%al
mov    %al,0x1(%rbx)
mov    0x1(%rcx),%al
lea    -0x62(%rax),%edx
cmp    $0x16,%dl
ja     1517 <BTSHASP_ParseTokenBasic+0x3e7>
movzbl %dl,%edx
mov    $0x400007,%esi
bt     %rdx,%rsi
jae    1517 <BTSHASP_ParseTokenBasic+0x3e7>
movb   $0x7c,(%rbx)
lea    0x2(%rcx),%rax
mov    0x1(%rcx),%dl
mov    %dl,0x2(%rbx)
mov    0x2(%rcx),%cl
test   %cl,%cl
je     1417 <BTSHASP_ParseTokenBasic+0x2e7>
mov    $0x3,%edx
movabs $0x3f4000003f,%rsi
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
lea    -0x30(%rcx),%edi
cmp    $0xa,%dil
jb     1274 <BTSHASP_ParseTokenBasic+0x144>
lea    -0x41(%rcx),%edi
cmp    $0x25,%dil
ja     167d <BTSHASP_ParseTokenBasic+0x54d>
movzbl %dil,%edi
bt     %rdi,%rsi
jae    167d <BTSHASP_ParseTokenBasic+0x54d>
lea    0x1(%rdx),%rdi
mov    %cl,(%rbx,%rdx,1)
movzbl 0x1(%rax),%ecx
add    $0x1,%rax
test   %cl,%cl
je     1293 <BTSHASP_ParseTokenBasic+0x163>
cmp    $0xfb,%rdx
mov    %rdi,%rdx
jb     1250 <BTSHASP_ParseTokenBasic+0x120>
add    %rdi,%rbx
jmp    15b2 <BTSHASP_ParseTokenBasic+0x482>
add    %rsi,%rbx
jmp    15b2 <BTSHASP_ParseTokenBasic+0x482>
lea    0xfc(%rbx),%r14
cmp    $0x27,%al
je     12eb <BTSHASP_ParseTokenBasic+0x1bb>
cmp    $0x22,%al
jne    13e7 <BTSHASP_ParseTokenBasic+0x2b7>
cmpb   $0x22,0x1(%rcx)
jne    1420 <BTSHASP_ParseTokenBasic+0x2f0>
cmpb   $0x22,0x2(%rcx)
jne    1420 <BTSHASP_ParseTokenBasic+0x2f0>
movb   $0x58,(%rbx)
mov    (%rcx),%al
mov    %al,0x1(%rbx)
mov    0x1(%rcx),%al
mov    %al,0x2(%rbx)
mov    0x2(%rcx),%al
add    $0x3,%rcx
mov    %al,0x3(%rbx)
add    $0x4,%rbx
jmp    11db <BTSHASP_ParseTokenBasic+0xab>
movb   $0x43,(%rbx)
add    $0x1,%rbx
mov    0x1(%rcx),%dl
add    $0x1,%rcx
test   %dl,%dl
je     1555 <BTSHASP_ParseTokenBasic+0x425>
lea    0xcf8(%rip),%r15
mov    %rcx,%r12
nopl   0x0(%rax,%rax,1)
cmp    $0x5c,%dl
je     1343 <BTSHASP_ParseTokenBasic+0x213>
cmp    $0x27,%dl
je     1581 <BTSHASP_ParseTokenBasic+0x451>
add    $0x1,%r12
mov    %dl,(%rbx)
add    $0x1,%rbx
mov    %r12,%rcx
movzbl (%rcx),%edx
test   %dl,%dl
je     1584 <BTSHASP_ParseTokenBasic+0x454>
mov    %rcx,%r12
cmp    %r14,%rbx
jb     1310 <BTSHASP_ParseTokenBasic+0x1e0>
jmp    1584 <BTSHASP_ParseTokenBasic+0x454>
lea    0x1(%r12),%rcx
movsbl 0x1(%r12),%eax
add    $0xffffffde,%eax
cmp    $0x56,%eax
ja     132b <BTSHASP_ParseTokenBasic+0x1fb>
movslq (%r15,%rax,4),%rax
add    %r15,%rax
jmp    *%rax
add    $0x2,%r12
movb   $0x22,(%rbx)
jmp    1324 <BTSHASP_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0x27,(%rbx)
jmp    1324 <BTSHASP_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0x5c,(%rbx)
jmp    1324 <BTSHASP_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0x8,(%rbx)
jmp    1324 <BTSHASP_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0xa,(%rbx)
jmp    1324 <BTSHASP_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0xd,(%rbx)
jmp    1324 <BTSHASP_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0x9,(%rbx)
jmp    1324 <BTSHASP_ParseTokenBasic+0x1f4>
lea    0x2(%r12),%rdi
mov    $0x4,%esi
xor    %eax,%eax
call   1050 <BTSHASP_ParseHexN@plt>
mov    %rbx,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1040 <BTSHASP_EmitUtf8@plt>
movslq %eax,%rbx
add    $0x6,%r12
jmp    1328 <BTSHASP_ParseTokenBasic+0x1f8>
lea    0x2(%r12),%rdi
mov    $0x2,%esi
xor    %eax,%eax
call   1050 <BTSHASP_ParseHexN@plt>
mov    %al,(%rbx)
add    $0x1,%rbx
add    $0x4,%r12
jmp    1328 <BTSHASP_ParseTokenBasic+0x1f8>
movb   $0x58,(%rbx)
movsbl (%rcx),%edx
mov    %edx,%eax
add    $0xffffffdf,%eax
cmp    $0x5d,%eax
ja     1407 <BTSHASP_ParseTokenBasic+0x2d7>
lea    0xeba(%rip),%rsi
movslq (%rsi,%rax,4),%rax
add    %rsi,%rax
jmp    *%rax
add    $0x1,%rcx
mov    %dl,0x1(%rbx)
add    $0x2,%rbx
jmp    11db <BTSHASP_ParseTokenBasic+0xab>
add    $0x3,%rbx
jmp    15b2 <BTSHASP_ParseTokenBasic+0x482>
add    $0x1,%rcx
movb   $0x53,(%rbx)
add    $0x1,%rbx
mov    (%rcx),%dl
test   %dl,%dl
je     1559 <BTSHASP_ParseTokenBasic+0x429>
lea    0xd20(%rip),%r15
mov    %rcx,%r12
nop
cmp    $0x5c,%dl
je     1473 <BTSHASP_ParseTokenBasic+0x343>
cmp    $0x22,%dl
je     15a4 <BTSHASP_ParseTokenBasic+0x474>
add    $0x1,%r12
mov    %dl,(%rbx)
add    $0x1,%rbx
mov    %r12,%rcx
movzbl (%rcx),%edx
test   %dl,%dl
je     15a7 <BTSHASP_ParseTokenBasic+0x477>
mov    %rcx,%r12
cmp    %r14,%rbx
jb     1440 <BTSHASP_ParseTokenBasic+0x310>
jmp    15a7 <BTSHASP_ParseTokenBasic+0x477>
lea    0x1(%r12),%rcx
movsbl 0x1(%r12),%eax
add    $0xffffffde,%eax
cmp    $0x56,%eax
ja     145b <BTSHASP_ParseTokenBasic+0x32b>
movslq (%r15,%rax,4),%rax
add    %r15,%rax
jmp    *%rax
add    $0x2,%r12
movb   $0x22,(%rbx)
jmp    1454 <BTSHASP_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0x27,(%rbx)
jmp    1454 <BTSHASP_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0x5c,(%rbx)
jmp    1454 <BTSHASP_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0x8,(%rbx)
jmp    1454 <BTSHASP_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0xa,(%rbx)
jmp    1454 <BTSHASP_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0xd,(%rbx)
jmp    1454 <BTSHASP_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0x9,(%rbx)
jmp    1454 <BTSHASP_ParseTokenBasic+0x324>
lea    0x2(%r12),%rdi
mov    $0x4,%esi
xor    %eax,%eax
call   1050 <BTSHASP_ParseHexN@plt>
mov    %rbx,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1040 <BTSHASP_EmitUtf8@plt>
movslq %eax,%rbx
add    $0x6,%r12
jmp    1458 <BTSHASP_ParseTokenBasic+0x328>
lea    0x2(%r12),%rdi
mov    $0x2,%esi
xor    %eax,%eax
call   1050 <BTSHASP_ParseHexN@plt>
mov    %al,(%rbx)
add    $0x1,%rbx
add    $0x4,%r12
jmp    1458 <BTSHASP_ParseTokenBasic+0x328>
add    $0x1,%rcx
test   %al,%al
je     155d <BTSHASP_ParseTokenBasic+0x42d>
mov    $0x2,%edi
cmp    $0x5f,%al
je     1530 <BTSHASP_ParseTokenBasic+0x400>
lea    -0x30(%rax),%edx
cmp    $0x9,%dl
ja     158b <BTSHASP_ParseTokenBasic+0x45b>
lea    0x1(%rdi),%r9
mov    %al,(%rbx,%rdi,1)
movzbl 0x1(%rcx),%eax
add    $0x1,%rcx
test   %al,%al
je     154f <BTSHASP_ParseTokenBasic+0x41f>
cmp    $0xfb,%rdi
mov    %r9,%rdi
jb     1524 <BTSHASP_ParseTokenBasic+0x3f4>
lea    (%rbx,%r9,1),%rsi
jmp    1592 <BTSHASP_ParseTokenBasic+0x462>
xor    %edx,%edx
jmp    1584 <BTSHASP_ParseTokenBasic+0x454>
xor    %edx,%edx
jmp    15a7 <BTSHASP_ParseTokenBasic+0x477>
lea    0x2(%rbx),%rsi
jmp    159c <BTSHASP_ParseTokenBasic+0x46c>
mov    %dl,0x1(%rbx)
cmpb   $0x3d,0x1(%rcx)
jne    1777 <BTSHASP_ParseTokenBasic+0x647>
add    $0x2,%rcx
movb   $0x3d,0x2(%rbx)
add    $0x3,%rbx
jmp    11db <BTSHASP_ParseTokenBasic+0xab>
mov    %r12,%rcx
xor    %eax,%eax
cmp    $0x27,%dl
jmp    15ac <BTSHASP_ParseTokenBasic+0x47c>
lea    (%rbx,%rdi,1),%rsi
mov    %rdi,%r9
cmp    $0x2e,%al
jne    159c <BTSHASP_ParseTokenBasic+0x46c>
cmpb   $0x2e,0x1(%rcx)
jne    15c4 <BTSHASP_ParseTokenBasic+0x494>
movb   $0x7c,(%rbx)
mov    %rcx,%rax
jmp    15b5 <BTSHASP_ParseTokenBasic+0x485>
mov    %r12,%rcx
xor    %eax,%eax
cmp    $0x22,%dl
sete   %al
add    %rcx,%rax
mov    %rbx,%rsi
movb   $0x0,(%rsi)
add    $0x8,%rsp
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
ret
lea    0x1(%rcx),%rax
movb   $0x2e,(%rbx,%r9,1)
lea    (%rbx,%r9,1),%rsi
add    $0x1,%rsi
mov    (%rax),%r8b
test   %r8b,%r8b
je     1641 <BTSHASP_ParseTokenBasic+0x511>
cmp    $0xfa,%r9
ja     1641 <BTSHASP_ParseTokenBasic+0x511>
cmp    $0x5f,%r8b
je     15f6 <BTSHASP_ParseTokenBasic+0x4c6>
lea    -0x30(%r8),%edi
cmp    $0x9,%dil
ja     1641 <BTSHASP_ParseTokenBasic+0x511>
add    $0x1,%r9
add    $0x2,%rcx
mov    %r9,%rdx
mov    %rdx,%r9
mov    %rcx,%rax
mov    %r8b,(%rbx,%rdx,1)
movzbl (%rcx),%r8d
test   %r8b,%r8b
je     1635 <BTSHASP_ParseTokenBasic+0x505>
cmp    $0xfb,%r9
jae    1635 <BTSHASP_ParseTokenBasic+0x505>
lea    0x1(%rax),%rcx
lea    0x1(%r9),%rdx
cmp    $0x5f,%r8b
je     1601 <BTSHASP_ParseTokenBasic+0x4d1>
lea    -0x30(%r8),%edi
cmp    $0x9,%dil
jbe    1601 <BTSHASP_ParseTokenBasic+0x4d1>
lea    (%rbx,%r9,1),%rsi
add    $0x1,%rsi
lea    -0x1(%rax),%rcx
mov    %r8d,%edx
or     $0x20,%dl
cmp    $0x65,%dl
jne    15b5 <BTSHASP_ParseTokenBasic+0x485>
mov    %r8b,(%rsi)
mov    0x2(%rcx),%dil
cmp    $0x2d,%dil
je     1667 <BTSHASP_ParseTokenBasic+0x537>
cmp    $0x2b,%dil
jne    17c9 <BTSHASP_ParseTokenBasic+0x699>
mov    %dil,0x2(%rbx,%r9,1)
add    $0x3,%r9
mov    0x3(%rcx),%dil
add    $0x3,%rcx
jmp    17d1 <BTSHASP_ParseTokenBasic+0x6a1>
add    %rdx,%rbx
jmp    15b2 <BTSHASP_ParseTokenBasic+0x482>
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
movsbl %al,%edx
lea    -0x23(%rdx),%esi
cmp    $0x3a,%esi
ja     16aa <BTSHASP_ParseTokenBasic+0x57a>
movabs $0x500000000800061,%rdi
bt     %rsi,%rdi
jb     17b9 <BTSHASP_ParseTokenBasic+0x689>
cmp    $0x7d,%edx
je     17b9 <BTSHASP_ParseTokenBasic+0x689>
cmp    $0x7b,%edx
jne    1777 <BTSHASP_ParseTokenBasic+0x647>
jmp    17b9 <BTSHASP_ParseTokenBasic+0x689>
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
movsbl %al,%edx
cmp    $0x26,%edx
jne    17b4 <BTSHASP_ParseTokenBasic+0x684>
jmp    174b <BTSHASP_ParseTokenBasic+0x61b>
lea    0x1(%rcx),%rax
lea    0x2(%rbx),%rsi
mov    %dl,0x1(%rbx)
movzbl 0x1(%rcx),%edx
cmp    $0x3e,%rdx
ja     15b5 <BTSHASP_ParseTokenBasic+0x485>
movabs $0x6000200000000000,%rdi
bt     %rdx,%rdi
jae    15b5 <BTSHASP_ParseTokenBasic+0x485>
add    $0x2,%rcx
mov    %dl,0x2(%rbx)
add    $0x3,%rbx
jmp    11db <BTSHASP_ParseTokenBasic+0xab>
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
movsbl %al,%edx
cmp    $0x3c,%edx
jne    17b4 <BTSHASP_ParseTokenBasic+0x684>
mov    %al,0x2(%rbx)
mov    0x2(%rcx),%al
mov    %eax,%edx
and    $0xfe,%dl
cmp    $0x3c,%dl
je     12db <BTSHASP_ParseTokenBasic+0x1ab>
jmp    184d <BTSHASP_ParseTokenBasic+0x71d>
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
movsbl %al,%edx
cmp    $0x7c,%edx
jne    17b4 <BTSHASP_ParseTokenBasic+0x684>
mov    %al,0x2(%rbx)
cmpb   $0x3d,0x2(%rcx)
jne    184d <BTSHASP_ParseTokenBasic+0x71d>
add    $0x3,%rcx
movb   $0x3d,0x3(%rbx)
add    $0x4,%rbx
jmp    11db <BTSHASP_ParseTokenBasic+0xab>
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
cmp    $0x3d,%al
je     17b9 <BTSHASP_ParseTokenBasic+0x689>
cmp    $0x2b,%al
je     17b9 <BTSHASP_ParseTokenBasic+0x689>
add    $0x1,%rcx
add    $0x2,%rbx
jmp    11db <BTSHASP_ParseTokenBasic+0xab>
cmpb   $0x2e,0x1(%rcx)
jne    1407 <BTSHASP_ParseTokenBasic+0x2d7>
cmpb   $0x2e,0x2(%rcx)
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
mov    %al,0x2(%rbx)
je     12d8 <BTSHASP_ParseTokenBasic+0x1a8>
jmp    184d <BTSHASP_ParseTokenBasic+0x71d>
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
movsbl %al,%edx
cmp    $0x3e,%edx
je     182e <BTSHASP_ParseTokenBasic+0x6fe>
cmp    $0x3d,%edx
jne    1777 <BTSHASP_ParseTokenBasic+0x647>
add    $0x2,%rcx
mov    %al,0x2(%rbx)
add    $0x3,%rbx
jmp    11db <BTSHASP_ParseTokenBasic+0xab>
add    $0x2,%rcx
add    $0x2,%r9
mov    %rcx,%rax
lea    (%rbx,%r9,1),%rsi
test   %dil,%dil
je     15b5 <BTSHASP_ParseTokenBasic+0x485>
cmp    $0xfb,%r9
jg     15b5 <BTSHASP_ParseTokenBasic+0x485>
cmp    $0x5f,%dil
je     17fc <BTSHASP_ParseTokenBasic+0x6cc>
lea    -0x30(%rdi),%ecx
cmp    $0x9,%cl
ja     1826 <BTSHASP_ParseTokenBasic+0x6f6>
lea    0x1(%r9),%rcx
mov    %dil,(%rbx,%r9,1)
movzbl 0x1(%rax),%edi
add    $0x1,%rax
test   %dil,%dil
je     11cf <BTSHASP_ParseTokenBasic+0x9f>
cmp    $0xfb,%r9
mov    %rcx,%r9
jb     17ee <BTSHASP_ParseTokenBasic+0x6be>
jmp    11cf <BTSHASP_ParseTokenBasic+0x9f>
add    %r9,%rbx
jmp    15b2 <BTSHASP_ParseTokenBasic+0x482>
mov    %al,0x2(%rbx)
movsbl 0x2(%rcx),%eax
lea    -0x3d(%rax),%edx
cmp    $0x1,%edx
ja     184d <BTSHASP_ParseTokenBasic+0x71d>
add    $0x3,%rcx
mov    %al,0x3(%rbx)
add    $0x4,%rbx
jmp    11db <BTSHASP_ParseTokenBasic+0xab>
add    $0x2,%rcx
add    $0x3,%rbx
jmp    11db <BTSHASP_ParseTokenBasic+0xab>

LLVM IR (-O0):
define i8* @BTSHASP_ParseTokenBasic(i8* %0, i8* %1) {
%3 = alloca i8*
%4 = alloca i8*
%5 = alloca i8*
%6 = alloca i8*
%7 = alloca i8*
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
store i8* %0, i8** %4
store i8* %1, i8** %5
%11 = load i8*, i8** %5
store i8* %11, i8** %6
%12 = load i8*, i8** %5
%13 = getelementptr inbounds i8, i8* %12, i64 252
store i8* %13, i8** %7
%14 = load i8*, i8** %4
%15 = call i32 (i8*, ...) bitcast (i32 (...)* @BTSHASP_EatWhite to i32 (i8*, ...)*)(i8* %14)
%16 = sext i32 %15 to i64
%17 = inttoptr i64 %16 to i8*
store i8* %17, i8** %4
%18 = load i8*, i8** %4
%19 = load i8, i8* %18
%20 = icmp ne i8 %19, 0
br i1 %20, label %27, label %21
21: ; preds = %2
%22 = load i8*, i8** %6
%23 = getelementptr inbounds i8, i8* %22, i32 1
store i8* %23, i8** %6
store i8 0, i8* %22
%24 = load i8*, i8** %6
%25 = getelementptr inbounds i8, i8* %24, i32 1
store i8* %25, i8** %6
store i8 0, i8* %24
%26 = load i8*, i8** %4
store i8* %26, i8** %3
br label %1022
27: ; preds = %2
%28 = load i8*, i8** %4
%29 = load i8, i8* %28
%30 = sext i8 %29 to i32
%31 = icmp eq i32 %30, 95
br i1 %31, label %57, label %32
32: ; preds = %27
%33 = load i8*, i8** %4
%34 = load i8, i8* %33
%35 = sext i8 %34 to i32
%36 = icmp eq i32 %35, 36
br i1 %36, label %57, label %37
37: ; preds = %32
%38 = load i8*, i8** %4
%39 = load i8, i8* %38
%40 = sext i8 %39 to i32
%41 = icmp sge i32 %40, 65
br i1 %41, label %42, label %47
42: ; preds = %37
%43 = load i8*, i8** %4
%44 = load i8, i8* %43
%45 = sext i8 %44 to i32
%46 = icmp sle i32 %45, 90
br i1 %46, label %57, label %47
47: ; preds = %42, %37
%48 = load i8*, i8** %4
%49 = load i8, i8* %48
%50 = sext i8 %49 to i32
%51 = icmp sge i32 %50, 97
br i1 %51, label %52, label %125
52: ; preds = %47
%53 = load i8*, i8** %4
%54 = load i8, i8* %53
%55 = sext i8 %54 to i32
%56 = icmp sle i32 %55, 122
br i1 %56, label %57, label %125
57: ; preds = %52, %42, %32, %27
%58 = load i8*, i8** %6
%59 = getelementptr inbounds i8, i8* %58, i32 1
store i8* %59, i8** %6
store i8 73, i8* %58
br label %60
60: ; preds = %115, %57
%61 = load i8*, i8** %4
%62 = load i8, i8* %61
%63 = sext i8 %62 to i32
%64 = icmp ne i32 %63, 0
br i1 %64, label %65, label %113
65: ; preds = %60
%66 = load i8*, i8** %6
%67 = load i8*, i8** %7
%68 = icmp ult i8* %66, %67
br i1 %68, label %69, label %113
69: ; preds = %65
%70 = load i8*, i8** %4
%71 = load i8, i8* %70
%72 = sext i8 %71 to i32
%73 = icmp eq i32 %72, 95
br i1 %73, label %111, label %74
74: ; preds = %69
%75 = load i8*, i8** %4
%76 = load i8, i8* %75
%77 = sext i8 %76 to i32
%78 = icmp eq i32 %77, 36
br i1 %78, label %111, label %79
79: ; preds = %74
%80 = load i8*, i8** %4
%81 = load i8, i8* %80
%82 = sext i8 %81 to i32
%83 = icmp sge i32 %82, 65
br i1 %83, label %84, label %89
84: ; preds = %79
%85 = load i8*, i8** %4
%86 = load i8, i8* %85
%87 = sext i8 %86 to i32
%88 = icmp sle i32 %87, 90
br i1 %88, label %111, label %89
89: ; preds = %84, %79
%90 = load i8*, i8** %4
%91 = load i8, i8* %90
%92 = sext i8 %91 to i32
%93 = icmp sge i32 %92, 97
br i1 %93, label %94, label %99
94: ; preds = %89
%95 = load i8*, i8** %4
%96 = load i8, i8* %95
%97 = sext i8 %96 to i32
%98 = icmp sle i32 %97, 122
br i1 %98, label %111, label %99
99: ; preds = %94, %89
%100 = load i8*, i8** %4
%101 = load i8, i8* %100
%102 = sext i8 %101 to i32
%103 = icmp sge i32 %102, 48
br i1 %103, label %104, label %109
104: ; preds = %99
%105 = load i8*, i8** %4
%106 = load i8, i8* %105
%107 = sext i8 %106 to i32
%108 = icmp sle i32 %107, 57
br label %109
109: ; preds = %104, %99
%110 = phi i1 [ false, %99 ], [ %108, %104 ]
br label %111
111: ; preds = %109, %94, %84, %74, %69
%112 = phi i1 [ true, %94 ], [ true, %84 ], [ true, %74 ], [ true, %69 ], [ %110, %109 ]
br label %113
113: ; preds = %111, %65, %60
%114 = phi i1 [ false, %65 ], [ false, %60 ], [ %112, %111 ]
br i1 %114, label %115, label %121
115: ; preds = %113
%116 = load i8*, i8** %4
%117 = getelementptr inbounds i8, i8* %116, i32 1
store i8* %117, i8** %4
%118 = load i8, i8* %116
%119 = load i8*, i8** %6
%120 = getelementptr inbounds i8, i8* %119, i32 1
store i8* %120, i8** %6
store i8 %118, i8* %119
br label %60
121: ; preds = %113
%122 = load i8*, i8** %6
%123 = getelementptr inbounds i8, i8* %122, i32 1
store i8* %123, i8** %6
store i8 0, i8* %122
%124 = load i8*, i8** %4
store i8* %124, i8** %3
br label %1022
125: ; preds = %52, %47
%126 = load i8*, i8** %4
%127 = load i8, i8* %126
%128 = sext i8 %127 to i32
%129 = icmp sge i32 %128, 48
br i1 %129, label %130, label %395
130: ; preds = %125
%131 = load i8*, i8** %4
%132 = load i8, i8* %131
%133 = sext i8 %132 to i32
%134 = icmp sle i32 %133, 57
br i1 %134, label %135, label %395
135: ; preds = %130
%136 = load i8*, i8** %6
%137 = getelementptr inbounds i8, i8* %136, i32 1
store i8* %137, i8** %6
store i8 35, i8* %136
%138 = load i8*, i8** %4
%139 = getelementptr inbounds i8, i8* %138, i32 1
store i8* %139, i8** %4
%140 = load i8, i8* %138
%141 = load i8*, i8** %6
%142 = getelementptr inbounds i8, i8* %141, i32 1
store i8* %142, i8** %6
store i8 %140, i8* %141
%143 = load i8*, i8** %4
%144 = load i8, i8* %143
%145 = sext i8 %144 to i32
%146 = icmp eq i32 %145, 120
br i1 %146, label %162, label %147
147: ; preds = %135
%148 = load i8*, i8** %4
%149 = load i8, i8* %148
%150 = sext i8 %149 to i32
%151 = icmp eq i32 %150, 98
br i1 %151, label %162, label %152
152: ; preds = %147
%153 = load i8*, i8** %4
%154 = load i8, i8* %153
%155 = sext i8 %154 to i32
%156 = icmp eq i32 %155, 99
br i1 %156, label %162, label %157
157: ; preds = %152
%158 = load i8*, i8** %4
%159 = load i8, i8* %158
%160 = sext i8 %159 to i32
%161 = icmp eq i32 %160, 100
br i1 %161, label %162, label %229
162: ; preds = %157, %152, %147, %135
%163 = load i8*, i8** %5
store i8 124, i8* %163
%164 = load i8*, i8** %4
%165 = getelementptr inbounds i8, i8* %164, i32 1
store i8* %165, i8** %4
%166 = load i8, i8* %164
%167 = load i8*, i8** %6
%168 = getelementptr inbounds i8, i8* %167, i32 1
store i8* %168, i8** %6
store i8 %166, i8* %167
br label %169
169: ; preds = %219, %162
%170 = load i8*, i8** %4
%171 = load i8, i8* %170
%172 = sext i8 %171 to i32
%173 = icmp ne i32 %172, 0
br i1 %173, label %174, label %217
174: ; preds = %169
%175 = load i8*, i8** %6
%176 = load i8*, i8** %7
%177 = icmp ult i8* %175, %176
br i1 %177, label %178, label %217
178: ; preds = %174
%179 = load i8*, i8** %4
%180 = load i8, i8* %179
%181 = sext i8 %180 to i32
%182 = icmp eq i32 %181, 95
br i1 %182, label %215, label %183
183: ; preds = %178
%184 = load i8*, i8** %4
%185 = load i8, i8* %184
%186 = sext i8 %185 to i32
%187 = icmp sge i32 %186, 48
br i1 %187, label %188, label %193
188: ; preds = %183
%189 = load i8*, i8** %4
%190 = load i8, i8* %189
%191 = sext i8 %190 to i32
%192 = icmp sle i32 %191, 57
br i1 %192, label %215, label %193
193: ; preds = %188, %183
%194 = load i8*, i8** %4
%195 = load i8, i8* %194
%196 = sext i8 %195 to i32
%197 = icmp sge i32 %196, 65
br i1 %197, label %198, label %203
198: ; preds = %193
%199 = load i8*, i8** %4
%200 = load i8, i8* %199
%201 = sext i8 %200 to i32
%202 = icmp sle i32 %201, 70
br i1 %202, label %215, label %203
203: ; preds = %198, %193
%204 = load i8*, i8** %4
%205 = load i8, i8* %204
%206 = sext i8 %205 to i32
%207 = icmp sge i32 %206, 97
br i1 %207, label %208, label %213
208: ; preds = %203
%209 = load i8*, i8** %4
%210 = load i8, i8* %209
%211 = sext i8 %210 to i32
%212 = icmp sle i32 %211, 102
br label %213
213: ; preds = %208, %203
%214 = phi i1 [ false, %203 ], [ %212, %208 ]
br label %215
215: ; preds = %213, %198, %188, %178
%216 = phi i1 [ true, %198 ], [ true, %188 ], [ true, %178 ], [ %214, %213 ]
br label %217
217: ; preds = %215, %174, %169
%218 = phi i1 [ false, %174 ], [ false, %169 ], [ %216, %215 ]
br i1 %218, label %219, label %225
219: ; preds = %217
%220 = load i8*, i8** %4
%221 = getelementptr inbounds i8, i8* %220, i32 1
store i8* %221, i8** %4
%222 = load i8, i8* %220
%223 = load i8*, i8** %6
%224 = getelementptr inbounds i8, i8* %223, i32 1
store i8* %224, i8** %6
store i8 %222, i8* %223
br label %169
225: ; preds = %217
%226 = load i8*, i8** %6
%227 = getelementptr inbounds i8, i8* %226, i32 1
store i8* %227, i8** %6
store i8 0, i8* %226
%228 = load i8*, i8** %4
store i8* %228, i8** %3
br label %1022
229: ; preds = %157
br label %230
230: ; preds = %260, %229
%231 = load i8*, i8** %4
%232 = load i8, i8* %231
%233 = sext i8 %232 to i32
%234 = icmp ne i32 %233, 0
br i1 %234, label %235, label %258
235: ; preds = %230
%236 = load i8*, i8** %6
%237 = load i8*, i8** %7
%238 = icmp ult i8* %236, %237
br i1 %238, label %239, label %258
239: ; preds = %235
%240 = load i8*, i8** %4
%241 = load i8, i8* %240
%242 = sext i8 %241 to i32
%243 = icmp eq i32 %242, 95
br i1 %243, label %256, label %244
244: ; preds = %239
%245 = load i8*, i8** %4
%246 = load i8, i8* %245
%247 = sext i8 %246 to i32
%248 = icmp sge i32 %247, 48
br i1 %248, label %249, label %254
249: ; preds = %244
%250 = load i8*, i8** %4
%251 = load i8, i8* %250
%252 = sext i8 %251 to i32
%253 = icmp sle i32 %252, 57
br label %254
254: ; preds = %249, %244
%255 = phi i1 [ false, %244 ], [ %253, %249 ]
br label %256
256: ; preds = %254, %239
%257 = phi i1 [ true, %239 ], [ %255, %254 ]
br label %258
258: ; preds = %256, %235, %230
%259 = phi i1 [ false, %235 ], [ false, %230 ], [ %257, %256 ]
br i1 %259, label %260, label %266
260: ; preds = %258
%261 = load i8*, i8** %4
%262 = getelementptr inbounds i8, i8* %261, i32 1
store i8* %262, i8** %4
%263 = load i8, i8* %261
%264 = load i8*, i8** %6
%265 = getelementptr inbounds i8, i8* %264, i32 1
store i8* %265, i8** %6
store i8 %263, i8* %264
br label %230
266: ; preds = %258
%267 = load i8*, i8** %4
%268 = load i8, i8* %267
%269 = sext i8 %268 to i32
%270 = icmp eq i32 %269, 46
br i1 %270, label %271, label %389
271: ; preds = %266
%272 = load i8*, i8** %4
%273 = getelementptr inbounds i8, i8* %272, i64 1
%274 = load i8, i8* %273
%275 = sext i8 %274 to i32
%276 = icmp ne i32 %275, 46
br i1 %276, label %277, label %389
277: ; preds = %271
%278 = load i8*, i8** %4
%279 = getelementptr inbounds i8, i8* %278, i32 1
store i8* %279, i8** %4
%280 = load i8, i8* %278
%281 = load i8*, i8** %6
%282 = getelementptr inbounds i8, i8* %281, i32 1
store i8* %282, i8** %6
store i8 %280, i8* %281
br label %283
283: ; preds = %313, %277
%284 = load i8*, i8** %4
%285 = load i8, i8* %284
%286 = sext i8 %285 to i32
%287 = icmp ne i32 %286, 0
br i1 %287, label %288, label %311
288: ; preds = %283
%289 = load i8*, i8** %6
%290 = load i8*, i8** %7
%291 = icmp ult i8* %289, %290
br i1 %291, label %292, label %311
292: ; preds = %288
%293 = load i8*, i8** %4
%294 = load i8, i8* %293
%295 = sext i8 %294 to i32
%296 = icmp eq i32 %295, 95
br i1 %296, label %309, label %297
297: ; preds = %292
%298 = load i8*, i8** %4
%299 = load i8, i8* %298
%300 = sext i8 %299 to i32
%301 = icmp sge i32 %300, 48
br i1 %301, label %302, label %307
302: ; preds = %297
%303 = load i8*, i8** %4
%304 = load i8, i8* %303
%305 = sext i8 %304 to i32
%306 = icmp sle i32 %305, 57
br label %307
307: ; preds = %302, %297
%308 = phi i1 [ false, %297 ], [ %306, %302 ]
br label %309
309: ; preds = %307, %292
%310 = phi i1 [ true, %292 ], [ %308, %307 ]
br label %311
311: ; preds = %309, %288, %283
%312 = phi i1 [ false, %288 ], [ false, %283 ], [ %310, %309 ]
br i1 %312, label %313, label %319
313: ; preds = %311
%314 = load i8*, i8** %4
%315 = getelementptr inbounds i8, i8* %314, i32 1
store i8* %315, i8** %4
%316 = load i8, i8* %314
%317 = load i8*, i8** %6
%318 = getelementptr inbounds i8, i8* %317, i32 1
store i8* %318, i8** %6
store i8 %316, i8* %317
br label %283
319: ; preds = %311
%320 = load i8*, i8** %4
%321 = load i8, i8* %320
%322 = sext i8 %321 to i32
%323 = icmp eq i32 %322, 101
br i1 %323, label %329, label %324
324: ; preds = %319
%325 = load i8*, i8** %4
%326 = load i8, i8* %325
%327 = sext i8 %326 to i32
%328 = icmp eq i32 %327, 69
br i1 %328, label %329, label %388
329: ; preds = %324, %319
%330 = load i8*, i8** %4
%331 = getelementptr inbounds i8, i8* %330, i32 1
store i8* %331, i8** %4
%332 = load i8, i8* %330
%333 = load i8*, i8** %6
%334 = getelementptr inbounds i8, i8* %333, i32 1
store i8* %334, i8** %6
store i8 %332, i8* %333
%335 = load i8*, i8** %4
%336 = load i8, i8* %335
%337 = sext i8 %336 to i32
%338 = icmp eq i32 %337, 43
br i1 %338, label %344, label %339
339: ; preds = %329
%340 = load i8*, i8** %4
%341 = load i8, i8* %340
%342 = sext i8 %341 to i32
%343 = icmp eq i32 %342, 45
br i1 %343, label %344, label %350
344: ; preds = %339, %329
%345 = load i8*, i8** %4
%346 = getelementptr inbounds i8, i8* %345, i32 1
store i8* %346, i8** %4
%347 = load i8, i8* %345
%348 = load i8*, i8** %6
%349 = getelementptr inbounds i8, i8* %348, i32 1
store i8* %349, i8** %6
store i8 %347, i8* %348
br label %350
350: ; preds = %344, %339
br label %351
351: ; preds = %381, %350
%352 = load i8*, i8** %4
%353 = load i8, i8* %352
%354 = sext i8 %353 to i32
%355 = icmp ne i32 %354, 0
br i1 %355, label %356, label %379
356: ; preds = %351
%357 = load i8*, i8** %6
%358 = load i8*, i8** %7
%359 = icmp ult i8* %357, %358
br i1 %359, label %360, label %379
360: ; preds = %356
%361 = load i8*, i8** %4
%362 = load i8, i8* %361
%363 = sext i8 %362 to i32
%364 = icmp eq i32 %363, 95
br i1 %364, label %377, label %365
365: ; preds = %360
%366 = load i8*, i8** %4
%367 = load i8, i8* %366
%368 = sext i8 %367 to i32
%369 = icmp sge i32 %368, 48
br i1 %369, label %370, label %375
370: ; preds = %365
%371 = load i8*, i8** %4
%372 = load i8, i8* %371
%373 = sext i8 %372 to i32
%374 = icmp sle i32 %373, 57
br label %375
375: ; preds = %370, %365
%376 = phi i1 [ false, %365 ], [ %374, %370 ]
br label %377
377: ; preds = %375, %360
%378 = phi i1 [ true, %360 ], [ %376, %375 ]
br label %379
379: ; preds = %377, %356, %351
%380 = phi i1 [ false, %356 ], [ false, %351 ], [ %378, %377 ]
br i1 %380, label %381, label %387
381: ; preds = %379
%382 = load i8*, i8** %4
%383 = getelementptr inbounds i8, i8* %382, i32 1
store i8* %383, i8** %4
%384 = load i8, i8* %382
%385 = load i8*, i8** %6
%386 = getelementptr inbounds i8, i8* %385, i32 1
store i8* %386, i8** %6
store i8 %384, i8* %385
br label %351
387: ; preds = %379
br label %388
388: ; preds = %387, %324
br label %391
389: ; preds = %271, %266
%390 = load i8*, i8** %5
store i8 124, i8* %390
br label %391
391: ; preds = %389, %388
%392 = load i8*, i8** %6
%393 = getelementptr inbounds i8, i8* %392, i32 1
store i8* %393, i8** %6
store i8 0, i8* %392
%394 = load i8*, i8** %4
store i8* %394, i8** %3
br label %1022
395: ; preds = %130, %125
%396 = load i8*, i8** %4
%397 = load i8, i8* %396
%398 = sext i8 %397 to i32
%399 = icmp eq i32 %398, 34
br i1 %399, label %400, label %542
400: ; preds = %395
%401 = load i8*, i8** %4
%402 = getelementptr inbounds i8, i8* %401, i64 1
%403 = load i8, i8* %402
%404 = sext i8 %403 to i32
%405 = icmp eq i32 %404, 34
br i1 %405, label %406, label %433
406: ; preds = %400
%407 = load i8*, i8** %4
%408 = getelementptr inbounds i8, i8* %407, i64 2
%409 = load i8, i8* %408
%410 = sext i8 %409 to i32
%411 = icmp eq i32 %410, 34
br i1 %411, label %412, label %433
412: ; preds = %406
%413 = load i8*, i8** %6
%414 = getelementptr inbounds i8, i8* %413, i32 1
store i8* %414, i8** %6
store i8 88, i8* %413
%415 = load i8*, i8** %4
%416 = getelementptr inbounds i8, i8* %415, i32 1
store i8* %416, i8** %4
%417 = load i8, i8* %415
%418 = load i8*, i8** %6
%419 = getelementptr inbounds i8, i8* %418, i32 1
store i8* %419, i8** %6
store i8 %417, i8* %418
%420 = load i8*, i8** %4
%421 = getelementptr inbounds i8, i8* %420, i32 1
store i8* %421, i8** %4
%422 = load i8, i8* %420
%423 = load i8*, i8** %6
%424 = getelementptr inbounds i8, i8* %423, i32 1
store i8* %424, i8** %6
store i8 %422, i8* %423
%425 = load i8*, i8** %4
%426 = getelementptr inbounds i8, i8* %425, i32 1
store i8* %426, i8** %4
%427 = load i8, i8* %425
%428 = load i8*, i8** %6
%429 = getelementptr inbounds i8, i8* %428, i32 1
store i8* %429, i8** %6
store i8 %427, i8* %428
%430 = load i8*, i8** %6
%431 = getelementptr inbounds i8, i8* %430, i32 1
store i8* %431, i8** %6
store i8 0, i8* %430
%432 = load i8*, i8** %4
store i8* %432, i8** %3
br label %1022
433: ; preds = %406, %400
%434 = load i8*, i8** %4
%435 = getelementptr inbounds i8, i8* %434, i32 1
store i8* %435, i8** %4
%436 = load i8*, i8** %6
%437 = getelementptr inbounds i8, i8* %436, i32 1
store i8* %437, i8** %6
store i8 83, i8* %436
br label %438
438: ; preds = %524, %517, %433
%439 = load i8*, i8** %4
%440 = load i8, i8* %439
%441 = sext i8 %440 to i32
%442 = icmp ne i32 %441, 0
br i1 %442, label %443, label %447
443: ; preds = %438
%444 = load i8*, i8** %6
%445 = load i8*, i8** %7
%446 = icmp ult i8* %444, %445
br label %447
447: ; preds = %443, %438
%448 = phi i1 [ false, %438 ], [ %446, %443 ]
br i1 %448, label %449, label %530
449: ; preds = %447
%450 = load i8*, i8** %4
%451 = load i8, i8* %450
%452 = sext i8 %451 to i32
%453 = icmp eq i32 %452, 92
br i1 %453, label %454, label %518
454: ; preds = %449
%455 = load i8*, i8** %4
%456 = getelementptr inbounds i8, i8* %455, i32 1
store i8* %456, i8** %4
%457 = load i8*, i8** %4
%458 = load i8, i8* %457
%459 = sext i8 %458 to i32
switch i32 %459, label %517 [
i32 110, label %460
i32 114, label %465
i32 98, label %470
i32 116, label %475
i32 92, label %480
i32 34, label %485
i32 39, label %490
i32 120, label %495
i32 117, label %505
]
460: ; preds = %454
%461 = load i8*, i8** %4
%462 = getelementptr inbounds i8, i8* %461, i32 1
store i8* %462, i8** %4
%463 = load i8*, i8** %6
%464 = getelementptr inbounds i8, i8* %463, i32 1
store i8* %464, i8** %6
store i8 10, i8* %463
br label %517
465: ; preds = %454
%466 = load i8*, i8** %4
%467 = getelementptr inbounds i8, i8* %466, i32 1
store i8* %467, i8** %4
%468 = load i8*, i8** %6
%469 = getelementptr inbounds i8, i8* %468, i32 1
store i8* %469, i8** %6
store i8 13, i8* %468
br label %517
470: ; preds = %454
%471 = load i8*, i8** %4
%472 = getelementptr inbounds i8, i8* %471, i32 1
store i8* %472, i8** %4
%473 = load i8*, i8** %6
%474 = getelementptr inbounds i8, i8* %473, i32 1
store i8* %474, i8** %6
store i8 8, i8* %473
br label %517
475: ; preds = %454
%476 = load i8*, i8** %4
%477 = getelementptr inbounds i8, i8* %476, i32 1
store i8* %477, i8** %4
%478 = load i8*, i8** %6
%479 = getelementptr inbounds i8, i8* %478, i32 1
store i8* %479, i8** %6
store i8 9, i8* %478
br label %517
480: ; preds = %454
%481 = load i8*, i8** %4
%482 = getelementptr inbounds i8, i8* %481, i32 1
store i8* %482, i8** %4
%483 = load i8*, i8** %6
%484 = getelementptr inbounds i8, i8* %483, i32 1
store i8* %484, i8** %6
store i8 92, i8* %483
br label %517
485: ; preds = %454
%486 = load i8*, i8** %4
%487 = getelementptr inbounds i8, i8* %486, i32 1
store i8* %487, i8** %4
%488 = load i8*, i8** %6
%489 = getelementptr inbounds i8, i8* %488, i32 1
store i8* %489, i8** %6
store i8 34, i8* %488
br label %517
490: ; preds = %454
%491 = load i8*, i8** %4
%492 = getelementptr inbounds i8, i8* %491, i32 1
store i8* %492, i8** %4
%493 = load i8*, i8** %6
%494 = getelementptr inbounds i8, i8* %493, i32 1
store i8* %494, i8** %6
store i8 39, i8* %493
br label %517
495: ; preds = %454
%496 = load i8*, i8** %4
%497 = getelementptr inbounds i8, i8* %496, i32 1
store i8* %497, i8** %4
%498 = load i8*, i8** %4
%499 = call i32 (i8*, i32, ...) bitcast (i32 (...)* @BTSHASP_ParseHexN to i32 (i8*, i32, ...)*)(i8* %498, i32 2)
%500 = trunc i32 %499 to i8
%501 = load i8*, i8** %6
%502 = getelementptr inbounds i8, i8* %501, i32 1
store i8* %502, i8** %6
store i8 %500, i8* %501
%503 = load i8*, i8** %4
%504 = getelementptr inbounds i8, i8* %503, i64 2
store i8* %504, i8** %4
br label %517
505: ; preds = %454
%506 = load i8*, i8** %4
%507 = getelementptr inbounds i8, i8* %506, i32 1
store i8* %507, i8** %4
%508 = load i8*, i8** %4
%509 = call i32 (i8*, i32, ...) bitcast (i32 (...)* @BTSHASP_ParseHexN to i32 (i8*, i32, ...)*)(i8* %508, i32 4)
store i32 %509, i32* %8
%510 = load i8*, i8** %6
%511 = load i32, i32* %8
%512 = call i32 (i8*, i32, ...) bitcast (i32 (...)* @BTSHASP_EmitUtf8 to i32 (i8*, i32, ...)*)(i8* %510, i32 %511)
%513 = sext i32 %512 to i64
%514 = inttoptr i64 %513 to i8*
store i8* %514, i8** %6
%515 = load i8*, i8** %4
%516 = getelementptr inbounds i8, i8* %515, i64 4
store i8* %516, i8** %4
br label %517
517: ; preds = %454, %505, %495, %490, %485, %480, %475, %470, %465, %460
br label %438
518: ; preds = %449
%519 = load i8*, i8** %4
%520 = load i8, i8* %519
%521 = sext i8 %520 to i32
%522 = icmp eq i32 %521, 34
br i1 %522, label %523, label %524
523: ; preds = %518
br label %530
524: ; preds = %518
%525 = load i8*, i8** %4
%526 = getelementptr inbounds i8, i8* %525, i32 1
store i8* %526, i8** %4
%527 = load i8, i8* %525
%528 = load i8*, i8** %6
%529 = getelementptr inbounds i8, i8* %528, i32 1
store i8* %529, i8** %6
store i8 %527, i8* %528
br label %438
530: ; preds = %523, %447
%531 = load i8*, i8** %4
%532 = load i8, i8* %531
%533 = sext i8 %532 to i32
%534 = icmp eq i32 %533, 34
br i1 %534, label %535, label %538
535: ; preds = %530
%536 = load i8*, i8** %4
%537 = getelementptr inbounds i8, i8* %536, i32 1
store i8* %537, i8** %4
br label %538
538: ; preds = %535, %530
%539 = load i8*, i8** %6
%540 = getelementptr inbounds i8, i8* %539, i32 1
store i8* %540, i8** %6
store i8 0, i8* %539
%541 = load i8*, i8** %4
store i8* %541, i8** %3
br label %1022
542: ; preds = %395
%543 = load i8*, i8** %4
%544 = load i8, i8* %543
%545 = sext i8 %544 to i32
%546 = icmp eq i32 %545, 39
br i1 %546, label %547, label %656
547: ; preds = %542
%548 = load i8*, i8** %4
%549 = getelementptr inbounds i8, i8* %548, i32 1
store i8* %549, i8** %4
%550 = load i8*, i8** %6
%551 = getelementptr inbounds i8, i8* %550, i32 1
store i8* %551, i8** %6
store i8 67, i8* %550
br label %552
552: ; preds = %638, %631, %547
%553 = load i8*, i8** %4
%554 = load i8, i8* %553
%555 = sext i8 %554 to i32
%556 = icmp ne i32 %555, 0
br i1 %556, label %557, label %561
557: ; preds = %552
%558 = load i8*, i8** %6
%559 = load i8*, i8** %7
%560 = icmp ult i8* %558, %559
br label %561
561: ; preds = %557, %552
%562 = phi i1 [ false, %552 ], [ %560, %557 ]
br i1 %562, label %563, label %644
563: ; preds = %561
%564 = load i8*, i8** %4
%565 = load i8, i8* %564
%566 = sext i8 %565 to i32
%567 = icmp eq i32 %566, 92
br i1 %567, label %568, label %632
568: ; preds = %563
%569 = load i8*, i8** %4
%570 = getelementptr inbounds i8, i8* %569, i32 1
store i8* %570, i8** %4
%571 = load i8*, i8** %4
%572 = load i8, i8* %571
%573 = sext i8 %572 to i32
switch i32 %573, label %631 [
i32 110, label %574
i32 114, label %579
i32 98, label %584
i32 116, label %589
i32 92, label %594
i32 34, label %599
i32 39, label %604
i32 120, label %609
i32 117, label %619
]
574: ; preds = %568
%575 = load i8*, i8** %4
%576 = getelementptr inbounds i8, i8* %575, i32 1
store i8* %576, i8** %4
%577 = load i8*, i8** %6
%578 = getelementptr inbounds i8, i8* %577, i32 1
store i8* %578, i8** %6
store i8 10, i8* %577
br label %631
579: ; preds = %568
%580 = load i8*, i8** %4
%581 = getelementptr inbounds i8, i8* %580, i32 1
store i8* %581, i8** %4
%582 = load i8*, i8** %6
%583 = getelementptr inbounds i8, i8* %582, i32 1
store i8* %583, i8** %6
store i8 13, i8* %582
br label %631
584: ; preds = %568
%585 = load i8*, i8** %4
%586 = getelementptr inbounds i8, i8* %585, i32 1
store i8* %586, i8** %4
%587 = load i8*, i8** %6
%588 = getelementptr inbounds i8, i8* %587, i32 1
store i8* %588, i8** %6
store i8 8, i8* %587
br label %631
589: ; preds = %568
%590 = load i8*, i8** %4
%591 = getelementptr inbounds i8, i8* %590, i32 1
store i8* %591, i8** %4
%592 = load i8*, i8** %6
%593 = getelementptr inbounds i8, i8* %592, i32 1
store i8* %593, i8** %6
store i8 9, i8* %592
br label %631
594: ; preds = %568
%595 = load i8*, i8** %4
%596 = getelementptr inbounds i8, i8* %595, i32 1
store i8* %596, i8** %4
%597 = load i8*, i8** %6
%598 = getelementptr inbounds i8, i8* %597, i32 1
store i8* %598, i8** %6
store i8 92, i8* %597
br label %631
599: ; preds = %568
%600 = load i8*, i8** %4
%601 = getelementptr inbounds i8, i8* %600, i32 1
store i8* %601, i8** %4
%602 = load i8*, i8** %6
%603 = getelementptr inbounds i8, i8* %602, i32 1
store i8* %603, i8** %6
store i8 34, i8* %602
br label %631
604: ; preds = %568
%605 = load i8*, i8** %4
%606 = getelementptr inbounds i8, i8* %605, i32 1
store i8* %606, i8** %4
%607 = load i8*, i8** %6
%608 = getelementptr inbounds i8, i8* %607, i32 1
store i8* %608, i8** %6
store i8 39, i8* %607
br label %631
609: ; preds = %568
%610 = load i8*, i8** %4
%611 = getelementptr inbounds i8, i8* %610, i32 1
store i8* %611, i8** %4
%612 = load i8*, i8** %4
%613 = call i32 (i8*, i32, ...) bitcast (i32 (...)* @BTSHASP_ParseHexN to i32 (i8*, i32, ...)*)(i8* %612, i32 2)
%614 = trunc i32 %613 to i8
%615 = load i8*, i8** %6
%616 = getelementptr inbounds i8, i8* %615, i32 1
store i8* %616, i8** %6
store i8 %614, i8* %615
%617 = load i8*, i8** %4
%618 = getelementptr inbounds i8, i8* %617, i64 2
store i8* %618, i8** %4
br label %631
619: ; preds = %568
%620 = load i8*, i8** %4
%621 = getelementptr inbounds i8, i8* %620, i32 1
store i8* %621, i8** %4
%622 = load i8*, i8** %4
%623 = call i32 (i8*, i32, ...) bitcast (i32 (...)* @BTSHASP_ParseHexN to i32 (i8*, i32, ...)*)(i8* %622, i32 4)
store i32 %623, i32* %8
%624 = load i8*, i8** %6
%625 = load i32, i32* %8
%626 = call i32 (i8*, i32, ...) bitcast (i32 (...)* @BTSHASP_EmitUtf8 to i32 (i8*, i32, ...)*)(i8* %624, i32 %625)
%627 = sext i32 %626 to i64
%628 = inttoptr i64 %627 to i8*
store i8* %628, i8** %6
%629 = load i8*, i8** %4
%630 = getelementptr inbounds i8, i8* %629, i64 4
store i8* %630, i8** %4
br label %631
631: ; preds = %568, %619, %609, %604, %599, %594, %589, %584, %579, %574
br label %552
632: ; preds = %563
%633 = load i8*, i8** %4
%634 = load i8, i8* %633
%635 = sext i8 %634 to i32
%636 = icmp eq i32 %635, 39
br i1 %636, label %637, label %638
637: ; preds = %632
br label %644
638: ; preds = %632
%639 = load i8*, i8** %4
%640 = getelementptr inbounds i8, i8* %639, i32 1
store i8* %640, i8** %4
%641 = load i8, i8* %639
%642 = load i8*, i8** %6
%643 = getelementptr inbounds i8, i8* %642, i32 1
store i8* %643, i8** %6
store i8 %641, i8* %642
br label %552
644: ; preds = %637, %561
%645 = load i8*, i8** %4
%646 = load i8, i8* %645
%647 = sext i8 %646 to i32
%648 = icmp eq i32 %647, 39
br i1 %648, label %649, label %652
649: ; preds = %644
%650 = load i8*, i8** %4
%651 = getelementptr inbounds i8, i8* %650, i32 1
store i8* %651, i8** %4
br label %652
652: ; preds = %649, %644
%653 = load i8*, i8** %6
%654 = getelementptr inbounds i8, i8* %653, i32 1
store i8* %654, i8** %6
store i8 0, i8* %653
%655 = load i8*, i8** %4
store i8* %655, i8** %3
br label %1022
656: ; preds = %542
%657 = load i8*, i8** %6
%658 = getelementptr inbounds i8, i8* %657, i32 1
store i8* %658, i8** %6
store i8 88, i8* %657
%659 = load i8*, i8** %4
%660 = load i8, i8* %659
%661 = sext i8 %660 to i32
switch i32 %661, label %1012 [
i32 45, label %662
i32 43, label %691
i32 61, label %715
i32 33, label %715
i32 47, label %715
i32 42, label %715
i32 37, label %715
i32 94, label %715
i32 124, label %734
i32 38, label %770
i32 60, label %806
i32 62, label %842
i32 35, label %878
i32 126, label %939
i32 63, label %939
i32 64, label %939
i32 92, label %939
i32 59, label %939
i32 58, label %939
i32 44, label %939
i32 46, label %947
i32 40, label %1004
i32 41, label %1004
i32 91, label %1004
i32 93, label %1004
i32 123, label %1004
i32 125, label %1004
]
662: ; preds = %656
%663 = load i8*, i8** %4
%664 = getelementptr inbounds i8, i8* %663, i32 1
store i8* %664, i8** %4
%665 = load i8, i8* %663
%666 = load i8*, i8** %6
%667 = getelementptr inbounds i8, i8* %666, i32 1
store i8* %667, i8** %6
store i8 %665, i8* %666
%668 = load i8*, i8** %4
%669 = load i8, i8* %668
%670 = sext i8 %669 to i32
%671 = icmp eq i32 %670, 45
br i1 %671, label %682, label %672
672: ; preds = %662
%673 = load i8*, i8** %4
%674 = load i8, i8* %673
%675 = sext i8 %674 to i32
%676 = icmp eq i32 %675, 61
br i1 %676, label %682, label %677
677: ; preds = %672
%678 = load i8*, i8** %4
%679 = load i8, i8* %678
%680 = sext i8 %679 to i32
%681 = icmp eq i32 %680, 62
br i1 %681, label %682, label %688
682: ; preds = %677, %672, %662
%683 = load i8*, i8** %4
%684 = getelementptr inbounds i8, i8* %683, i32 1
store i8* %684, i8** %4
%685 = load i8, i8* %683
%686 = load i8*, i8** %6
%687 = getelementptr inbounds i8, i8* %686, i32 1
store i8* %687, i8** %6
store i8 %685, i8* %686
br label %688
688: ; preds = %682, %677
%689 = load i8*, i8** %6
%690 = getelementptr inbounds i8, i8* %689, i32 1
store i8* %690, i8** %6
store i8 0, i8* %689
br label %1020
691: ; preds = %656
%692 = load i8*, i8** %4
%693 = getelementptr inbounds i8, i8* %692, i32 1
store i8* %693, i8** %4
%694 = load i8, i8* %692
%695 = load i8*, i8** %6
%696 = getelementptr inbounds i8, i8* %695, i32 1
store i8* %696, i8** %6
store i8 %694, i8* %695
%697 = load i8*, i8** %4
%698 = load i8, i8* %697
%699 = sext i8 %698 to i32
%700 = icmp eq i32 %699, 43
br i1 %700, label %706, label %701
701: ; preds = %691
%702 = load i8*, i8** %4
%703 = load i8, i8* %702
%704 = sext i8 %703 to i32
%705 = icmp eq i32 %704, 61
br i1 %705, label %706, label %712
706: ; preds = %701, %691
%707 = load i8*, i8** %4
%708 = getelementptr inbounds i8, i8* %707, i32 1
store i8* %708, i8** %4
%709 = load i8, i8* %707
%710 = load i8*, i8** %6
%711 = getelementptr inbounds i8, i8* %710, i32 1
store i8* %711, i8** %6
store i8 %709, i8* %710
br label %712
712: ; preds = %706, %701
%713 = load i8*, i8** %6
%714 = getelementptr inbounds i8, i8* %713, i32 1
store i8* %714, i8** %6
store i8 0, i8* %713
br label %1020
715: ; preds = %656, %656, %656, %656, %656, %656
%716 = load i8*, i8** %4
%717 = getelementptr inbounds i8, i8* %716, i32 1
store i8* %717, i8** %4
%718 = load i8, i8* %716
%719 = load i8*, i8** %6
%720 = getelementptr inbounds i8, i8* %719, i32 1
store i8* %720, i8** %6
store i8 %718, i8* %719
%721 = load i8*, i8** %4
%722 = load i8, i8* %721
%723 = sext i8 %722 to i32
%724 = icmp eq i32 %723, 61
br i1 %724, label %725, label %731
725: ; preds = %715
%726 = load i8*, i8** %4
%727 = getelementptr inbounds i8, i8* %726, i32 1
store i8* %727, i8** %4
%728 = load i8, i8* %726
%729 = load i8*, i8** %6
%730 = getelementptr inbounds i8, i8* %729, i32 1
store i8* %730, i8** %6
store i8 %728, i8* %729
br label %731
731: ; preds = %725, %715
%732 = load i8*, i8** %6
%733 = getelementptr inbounds i8, i8* %732, i32 1
store i8* %733, i8** %6
store i8 0, i8* %732
br label %1020
734: ; preds = %656
%735 = load i8*, i8** %4
%736 = getelementptr inbounds i8, i8* %735, i32 1
store i8* %736, i8** %4
%737 = load i8, i8* %735
%738 = load i8*, i8** %6
%739 = getelementptr inbounds i8, i8* %738, i32 1
store i8* %739, i8** %6
store i8 %737, i8* %738
%740 = load i8*, i8** %4
%741 = load i8, i8* %740
%742 = sext i8 %741 to i32
switch i32 %742, label %766 [
i32 61, label %743
i32 124, label %749
]
743: ; preds = %734
%744 = load i8*, i8** %4
%745 = getelementptr inbounds i8, i8* %744, i32 1
store i8* %745, i8** %4
%746 = load i8, i8* %744
%747 = load i8*, i8** %6
%748 = getelementptr inbounds i8, i8* %747, i32 1
store i8* %748, i8** %6
store i8 %746, i8* %747
br label %767
749: ; preds = %734
%750 = load i8*, i8** %4
%751 = getelementptr inbounds i8, i8* %750, i32 1
store i8* %751, i8** %4
%752 = load i8, i8* %750
%753 = load i8*, i8** %6
%754 = getelementptr inbounds i8, i8* %753, i32 1
store i8* %754, i8** %6
store i8 %752, i8* %753
%755 = load i8*, i8** %4
%756 = load i8, i8* %755
%757 = sext i8 %756 to i32
switch i32 %757, label %764 [
i32 61, label %758
]
758: ; preds = %749
%759 = load i8*, i8** %4
%760 = getelementptr inbounds i8, i8* %759, i32 1
store i8* %760, i8** %4
%761 = load i8, i8* %759
%762 = load i8*, i8** %6
%763 = getelementptr inbounds i8, i8* %762, i32 1
store i8* %763, i8** %6
store i8 %761, i8* %762
br label %765
764: ; preds = %749
br label %765
765: ; preds = %764, %758
br label %767
766: ; preds = %734
br label %767
767: ; preds = %766, %765, %743
%768 = load i8*, i8** %6
%769 = getelementptr inbounds i8, i8* %768, i32 1
store i8* %769, i8** %6
store i8 0, i8* %768
br label %1020
770: ; preds = %656
%771 = load i8*, i8** %4
%772 = getelementptr inbounds i8, i8* %771, i32 1
store i8* %772, i8** %4
%773 = load i8, i8* %771
%774 = load i8*, i8** %6
%775 = getelementptr inbounds i8, i8* %774, i32 1
store i8* %775, i8** %6
store i8 %773, i8* %774
%776 = load i8*, i8** %4
%777 = load i8, i8* %776
%778 = sext i8 %777 to i32
switch i32 %778, label %802 [
i32 61, label %779
i32 38, label %785
]
779: ; preds = %770
%780 = load i8*, i8** %4
%781 = getelementptr inbounds i8, i8* %780, i32 1
store i8* %781, i8** %4
%782 = load i8, i8* %780
%783 = load i8*, i8** %6
%784 = getelementptr inbounds i8, i8* %783, i32 1
store i8* %784, i8** %6
store i8 %782, i8* %783
br label %803
785: ; preds = %770
%786 = load i8*, i8** %4
%787 = getelementptr inbounds i8, i8* %786, i32 1
store i8* %787, i8** %4
%788 = load i8, i8* %786
%789 = load i8*, i8** %6
%790 = getelementptr inbounds i8, i8* %789, i32 1
store i8* %790, i8** %6
store i8 %788, i8* %789
%791 = load i8*, i8** %4
%792 = load i8, i8* %791
%793 = sext i8 %792 to i32
switch i32 %793, label %800 [
i32 61, label %794
]
794: ; preds = %785
%795 = load i8*, i8** %4
%796 = getelementptr inbounds i8, i8* %795, i32 1
store i8* %796, i8** %4
%797 = load i8, i8* %795
%798 = load i8*, i8** %6
%799 = getelementptr inbounds i8, i8* %798, i32 1
store i8* %799, i8** %6
store i8 %797, i8* %798
br label %801
800: ; preds = %785
br label %801
801: ; preds = %800, %794
br label %803
802: ; preds = %770
br label %803
803: ; preds = %802, %801, %779
%804 = load i8*, i8** %6
%805 = getelementptr inbounds i8, i8* %804, i32 1
store i8* %805, i8** %6
store i8 0, i8* %804
br label %1020
806: ; preds = %656
%807 = load i8*, i8** %4
%808 = getelementptr inbounds i8, i8* %807, i32 1
store i8* %808, i8** %4
%809 = load i8, i8* %807
%810 = load i8*, i8** %6
%811 = getelementptr inbounds i8, i8* %810, i32 1
store i8* %811, i8** %6
store i8 %809, i8* %810
%812 = load i8*, i8** %4
%813 = load i8, i8* %812
%814 = sext i8 %813 to i32
switch i32 %814, label %838 [
i32 61, label %815
i32 60, label %821
]
815: ; preds = %806
%816 = load i8*, i8** %4
%817 = getelementptr inbounds i8, i8* %816, i32 1
store i8* %817, i8** %4
%818 = load i8, i8* %816
%819 = load i8*, i8** %6
%820 = getelementptr inbounds i8, i8* %819, i32 1
store i8* %820, i8** %6
store i8 %818, i8* %819
br label %839
821: ; preds = %806
%822 = load i8*, i8** %4
%823 = getelementptr inbounds i8, i8* %822, i32 1
store i8* %823, i8** %4
%824 = load i8, i8* %822
%825 = load i8*, i8** %6
%826 = getelementptr inbounds i8, i8* %825, i32 1
store i8* %826, i8** %6
store i8 %824, i8* %825
%827 = load i8*, i8** %4
%828 = load i8, i8* %827
%829 = sext i8 %828 to i32
switch i32 %829, label %836 [
i32 60, label %830
i32 61, label %830
]
830: ; preds = %821, %821
%831 = load i8*, i8** %4
%832 = getelementptr inbounds i8, i8* %831, i32 1
store i8* %832, i8** %4
%833 = load i8, i8* %831
%834 = load i8*, i8** %6
%835 = getelementptr inbounds i8, i8* %834, i32 1
store i8* %835, i8** %6
store i8 %833, i8* %834
br label %837
836: ; preds = %821
br label %837
837: ; preds = %836, %830
br label %839
838: ; preds = %806
br label %839
839: ; preds = %838, %837, %815
%840 = load i8*, i8** %6
%841 = getelementptr inbounds i8, i8* %840, i32 1
store i8* %841, i8** %6
store i8 0, i8* %840
br label %1020
842: ; preds = %656
%843 = load i8*, i8** %4
%844 = getelementptr inbounds i8, i8* %843, i32 1
store i8* %844, i8** %4
%845 = load i8, i8* %843
%846 = load i8*, i8** %6
%847 = getelementptr inbounds i8, i8* %846, i32 1
store i8* %847, i8** %6
store i8 %845, i8* %846
%848 = load i8*, i8** %4
%849 = load i8, i8* %848
%850 = sext i8 %849 to i32
switch i32 %850, label %874 [
i32 61, label %851
i32 62, label %857
]
851: ; preds = %842
%852 = load i8*, i8** %4
%853 = getelementptr inbounds i8, i8* %852, i32 1
store i8* %853, i8** %4
%854 = load i8, i8* %852
%855 = load i8*, i8** %6
%856 = getelementptr inbounds i8, i8* %855, i32 1
store i8* %856, i8** %6
store i8 %854, i8* %855
br label %875
857: ; preds = %842
%858 = load i8*, i8** %4
%859 = getelementptr inbounds i8, i8* %858, i32 1
store i8* %859, i8** %4
%860 = load i8, i8* %858
%861 = load i8*, i8** %6
%862 = getelementptr inbounds i8, i8* %861, i32 1
store i8* %862, i8** %6
store i8 %860, i8* %861
%863 = load i8*, i8** %4
%864 = load i8, i8* %863
%865 = sext i8 %864 to i32
switch i32 %865, label %872 [
i32 62, label %866
i32 61, label %866
]
866: ; preds = %857, %857
%867 = load i8*, i8** %4
%868 = getelementptr inbounds i8, i8* %867, i32 1
store i8* %868, i8** %4
%869 = load i8, i8* %867
%870 = load i8*, i8** %6
%871 = getelementptr inbounds i8, i8* %870, i32 1
store i8* %871, i8** %6
store i8 %869, i8* %870
br label %873
872: ; preds = %857
br label %873
873: ; preds = %872, %866
br label %875
874: ; preds = %842
br label %875
875: ; preds = %874, %873, %851
%876 = load i8*, i8** %6
%877 = getelementptr inbounds i8, i8* %876, i32 1
store i8* %877, i8** %6
store i8 0, i8* %876
br label %1020
878: ; preds = %656
%879 = load i8*, i8** %4
%880 = getelementptr inbounds i8, i8* %879, i32 1
store i8* %880, i8** %4
%881 = load i8, i8* %879
%882 = load i8*, i8** %6
%883 = getelementptr inbounds i8, i8* %882, i32 1
store i8* %883, i8** %6
store i8 %881, i8* %882
%884 = load i8*, i8** %4
%885 = load i8, i8* %884
%886 = sext i8 %885 to i32
switch i32 %886, label %935 [
i32 35, label %887
i32 58, label %893
i32 40, label %899
i32 41, label %905
i32 91, label %911
i32 93, label %917
i32 123, label %923
i32 125, label %929
]
887: ; preds = %878
%888 = load i8*, i8** %4
%889 = getelementptr inbounds i8, i8* %888, i32 1
store i8* %889, i8** %4
%890 = load i8, i8* %888
%891 = load i8*, i8** %6
%892 = getelementptr inbounds i8, i8* %891, i32 1
store i8* %892, i8** %6
store i8 %890, i8* %891
br label %936
893: ; preds = %878
%894 = load i8*, i8** %4
%895 = getelementptr inbounds i8, i8* %894, i32 1
store i8* %895, i8** %4
%896 = load i8, i8* %894
%897 = load i8*, i8** %6
%898 = getelementptr inbounds i8, i8* %897, i32 1
store i8* %898, i8** %6
store i8 %896, i8* %897
br label %936
899: ; preds = %878
%900 = load i8*, i8** %4
%901 = getelementptr inbounds i8, i8* %900, i32 1
store i8* %901, i8** %4
%902 = load i8, i8* %900
%903 = load i8*, i8** %6
%904 = getelementptr inbounds i8, i8* %903, i32 1
store i8* %904, i8** %6
store i8 %902, i8* %903
br label %936
905: ; preds = %878
%906 = load i8*, i8** %4
%907 = getelementptr inbounds i8, i8* %906, i32 1
store i8* %907, i8** %4
%908 = load i8, i8* %906
%909 = load i8*, i8** %6
%910 = getelementptr inbounds i8, i8* %909, i32 1
store i8* %910, i8** %6
store i8 %908, i8* %909
br label %936
911: ; preds = %878
%912 = load i8*, i8** %4
%913 = getelementptr inbounds i8, i8* %912, i32 1
store i8* %913, i8** %4
%914 = load i8, i8* %912
%915 = load i8*, i8** %6
%916 = getelementptr inbounds i8, i8* %915, i32 1
store i8* %916, i8** %6
store i8 %914, i8* %915
br label %936
917: ; preds = %878
%918 = load i8*, i8** %4
%919 = getelementptr inbounds i8, i8* %918, i32 1
store i8* %919, i8** %4
%920 = load i8, i8* %918
%921 = load i8*, i8** %6
%922 = getelementptr inbounds i8, i8* %921, i32 1
store i8* %922, i8** %6
store i8 %920, i8* %921
br label %936
923: ; preds = %878
%924 = load i8*, i8** %4
%925 = getelementptr inbounds i8, i8* %924, i32 1
store i8* %925, i8** %4
%926 = load i8, i8* %924
%927 = load i8*, i8** %6
%928 = getelementptr inbounds i8, i8* %927, i32 1
store i8* %928, i8** %6
store i8 %926, i8* %927
br label %936
929: ; preds = %878
%930 = load i8*, i8** %4
%931 = getelementptr inbounds i8, i8* %930, i32 1
store i8* %931, i8** %4
%932 = load i8, i8* %930
%933 = load i8*, i8** %6
%934 = getelementptr inbounds i8, i8* %933, i32 1
store i8* %934, i8** %6
store i8 %932, i8* %933
br label %936
935: ; preds = %878
br label %936
936: ; preds = %935, %929, %923, %917, %911, %905, %899, %893, %887
%937 = load i8*, i8** %6
%938 = getelementptr inbounds i8, i8* %937, i32 1
store i8* %938, i8** %6
store i8 0, i8* %937
br label %1020
939: ; preds = %656, %656, %656, %656, %656, %656, %656
%940 = load i8*, i8** %4
%941 = getelementptr inbounds i8, i8* %940, i32 1
store i8* %941, i8** %4
%942 = load i8, i8* %940
%943 = load i8*, i8** %6
%944 = getelementptr inbounds i8, i8* %943, i32 1
store i8* %944, i8** %6
store i8 %942, i8* %943
%945 = load i8*, i8** %6
%946 = getelementptr inbounds i8, i8* %945, i32 1
store i8* %946, i8** %6
store i8 0, i8* %945
br label %1020
947: ; preds = %656
%948 = load i8*, i8** %4
%949 = getelementptr inbounds i8, i8* %948, i64 1
%950 = load i8, i8* %949
%951 = sext i8 %950 to i32
%952 = icmp eq i32 %951, 46
br i1 %952, label %953, label %977
953: ; preds = %947
%954 = load i8*, i8** %4
%955 = getelementptr inbounds i8, i8* %954, i64 2
%956 = load i8, i8* %955
%957 = sext i8 %956 to i32
%958 = icmp eq i32 %957, 46
br i1 %958, label %959, label %977
959: ; preds = %953
%960 = load i8*, i8** %4
%961 = getelementptr inbounds i8, i8* %960, i32 1
store i8* %961, i8** %4
%962 = load i8, i8* %960
%963 = load i8*, i8** %6
%964 = getelementptr inbounds i8, i8* %963, i32 1
store i8* %964, i8** %6
store i8 %962, i8* %963
%965 = load i8*, i8** %4
%966 = getelementptr inbounds i8, i8* %965, i32 1
store i8* %966, i8** %4
%967 = load i8, i8* %965
%968 = load i8*, i8** %6
%969 = getelementptr inbounds i8, i8* %968, i32 1
store i8* %969, i8** %6
store i8 %967, i8* %968
%970 = load i8*, i8** %4
%971 = getelementptr inbounds i8, i8* %970, i32 1
store i8* %971, i8** %4
%972 = load i8, i8* %970
%973 = load i8*, i8** %6
%974 = getelementptr inbounds i8, i8* %973, i32 1
store i8* %974, i8** %6
store i8 %972, i8* %973
%975 = load i8*, i8** %6
%976 = getelementptr inbounds i8, i8* %975, i32 1
store i8* %976, i8** %6
store i8 0, i8* %975
br label %1020
977: ; preds = %953, %947
%978 = load i8*, i8** %4
%979 = getelementptr inbounds i8, i8* %978, i64 1
%980 = load i8, i8* %979
%981 = sext i8 %980 to i32
%982 = icmp eq i32 %981, 46
br i1 %982, label %983, label %996
983: ; preds = %977
%984 = load i8*, i8** %4
%985 = getelementptr inbounds i8, i8* %984, i32 1
store i8* %985, i8** %4
%986 = load i8, i8* %984
%987 = load i8*, i8** %6
%988 = getelementptr inbounds i8, i8* %987, i32 1
store i8* %988, i8** %6
store i8 %986, i8* %987
%989 = load i8*, i8** %4
%990 = getelementptr inbounds i8, i8* %989, i32 1
store i8* %990, i8** %4
%991 = load i8, i8* %989
%992 = load i8*, i8** %6
%993 = getelementptr inbounds i8, i8* %992, i32 1
store i8* %993, i8** %6
store i8 %991, i8* %992
%994 = load i8*, i8** %6
%995 = getelementptr inbounds i8, i8* %994, i32 1
store i8* %995, i8** %6
store i8 0, i8* %994
br label %1020
996: ; preds = %977
%997 = load i8*, i8** %4
%998 = getelementptr inbounds i8, i8* %997, i32 1
store i8* %998, i8** %4
%999 = load i8, i8* %997
%1000 = load i8*, i8** %6
%1001 = getelementptr inbounds i8, i8* %1000, i32 1
store i8* %1001, i8** %6
store i8 %999, i8* %1000
%1002 = load i8*, i8** %6
%1003 = getelementptr inbounds i8, i8* %1002, i32 1
store i8* %1003, i8** %6
store i8 0, i8* %1002
br label %1020
1004: ; preds = %656, %656, %656, %656, %656, %656
%1005 = load i8*, i8** %4
%1006 = getelementptr inbounds i8, i8* %1005, i32 1
store i8* %1006, i8** %4
%1007 = load i8, i8* %1005
%1008 = load i8*, i8** %6
%1009 = getelementptr inbounds i8, i8* %1008, i32 1
store i8* %1009, i8** %6
store i8 %1007, i8* %1008
%1010 = load i8*, i8** %6
%1011 = getelementptr inbounds i8, i8* %1010, i32 1
store i8* %1011, i8** %6
store i8 0, i8* %1010
br label %1020
1012: ; preds = %656
%1013 = load i8*, i8** %4
%1014 = getelementptr inbounds i8, i8* %1013, i32 1
store i8* %1014, i8** %4
%1015 = load i8, i8* %1013
%1016 = load i8*, i8** %6
%1017 = getelementptr inbounds i8, i8* %1016, i32 1
store i8* %1017, i8** %6
store i8 %1015, i8* %1016
%1018 = load i8*, i8** %6
%1019 = getelementptr inbounds i8, i8* %1018, i32 1
store i8* %1019, i8** %6
store i8 0, i8* %1018
br label %1020
1020: ; preds = %1012, %1004, %996, %983, %959, %939, %936, %875, %839, %803, %767, %731, %712, %688
%1021 = load i8*, i8** %4
store i8* %1021, i8** %3
br label %1022
1022: ; preds = %1020, %652, %538, %412, %391, %225, %121, %21
%1023 = load i8*, i8** %3
ret i8* %1023
}

LLVM IR (-O2):
define i8* @BTSHASP_ParseTokenBasic(i8* %0, i8* %1) {
%3 = getelementptr inbounds i8, i8* %1, i64 252
%4 = tail call i32 (i8*, ...) bitcast (i32 (...)* @BTSHASP_EatWhite to i32 (i8*, ...)*)(i8* %0)
%5 = sext i32 %4 to i64
%6 = inttoptr i64 %5 to i8*
%7 = load i8, i8* %6
switch i8 %7, label %10 [
i8 0, label %8
i8 95, label %14
i8 36, label %14
]
8: ; preds = %2
%9 = getelementptr inbounds i8, i8* %1, i64 1
store i8 0, i8* %1
br label %444
10: ; preds = %2
%11 = and i8 %7, -33
%12 = add i8 %11, -65
%13 = icmp ult i8 %12, 26
br i1 %13, label %14, label %38
14: ; preds = %10, %2, %2
store i8 73, i8* %1
%15 = getelementptr inbounds i8, i8* %1, i64 1
%16 = load i8, i8* %6
%17 = icmp eq i8 %16, 0
br i1 %17, label %444, label %18
18: ; preds = %14, %30
%19 = phi i8 [ %34, %30 ], [ %16, %14 ]
%20 = phi i8* [ %33, %30 ], [ %15, %14 ]
%21 = phi i8* [ %31, %30 ], [ %6, %14 ]
%22 = phi i64 [ %32, %30 ], [ 1, %14 ]
switch i8 %19, label %23 [
i8 95, label %30
i8 36, label %30
]
23: ; preds = %18
%24 = and i8 %19, -33
%25 = add i8 %24, -65
%26 = icmp ult i8 %25, 26
%27 = add i8 %19, -48
%28 = icmp ult i8 %27, 10
%29 = select i1 %26, i1 true, i1 %28
br i1 %29, label %30, label %444
30: ; preds = %23, %18, %18
%31 = getelementptr inbounds i8, i8* %21, i64 1
%32 = add nuw nsw i64 %22, 1
store i8 %19, i8* %20
%33 = getelementptr inbounds i8, i8* %1, i64 %32
%34 = load i8, i8* %31
%35 = icmp ne i8 %34, 0
%36 = icmp ult i64 %22, 251
%37 = select i1 %35, i1 %36, i1 false
br i1 %37, label %18, label %444
38: ; preds = %10
%39 = add i8 %7, -48
%40 = icmp ult i8 %39, 10
br i1 %40, label %41, label %172
41: ; preds = %38
%42 = getelementptr inbounds i8, i8* %1, i64 1
store i8 35, i8* %1
%43 = getelementptr inbounds i8, i8* %6, i64 1
%44 = load i8, i8* %6
store i8 %44, i8* %42
%45 = load i8, i8* %43
switch i8 %45, label %46 [
i8 120, label %49
i8 98, label %49
i8 99, label %49
i8 100, label %49
]
46: ; preds = %41
%47 = getelementptr inbounds i8, i8* %1, i64 2
%48 = icmp eq i8 %45, 0
br i1 %48, label %169, label %73
49: ; preds = %41, %41, %41, %41
%50 = getelementptr inbounds i8, i8* %1, i64 2
store i8 124, i8* %1
%51 = getelementptr inbounds i8, i8* %6, i64 2
%52 = load i8, i8* %43
store i8 %52, i8* %50
%53 = getelementptr inbounds i8, i8* %1, i64 3
%54 = load i8, i8* %51
%55 = icmp eq i8 %54, 0
br i1 %55, label %444, label %56
56: ; preds = %49, %65
%57 = phi i8 [ %69, %65 ], [ %54, %49 ]
%58 = phi i8* [ %68, %65 ], [ %53, %49 ]
%59 = phi i8* [ %66, %65 ], [ %51, %49 ]
%60 = phi i64 [ %67, %65 ], [ 3, %49 ]
%61 = freeze i8 %57
%62 = add i8 %61, -48
%63 = icmp ult i8 %62, 10
br i1 %63, label %65, label %64
64: ; preds = %56
switch i8 %61, label %444 [
i8 102, label %65
i8 101, label %65
i8 100, label %65
i8 99, label %65
i8 98, label %65
i8 97, label %65
i8 95, label %65
i8 70, label %65
i8 69, label %65
i8 68, label %65
i8 67, label %65
i8 66, label %65
i8 65, label %65
]
65: ; preds = %64, %64, %64, %64, %64, %64, %64, %64, %64, %64, %64, %64, %64, %56
%66 = getelementptr inbounds i8, i8* %59, i64 1
%67 = add nuw nsw i64 %60, 1
store i8 %61, i8* %58
%68 = getelementptr inbounds i8, i8* %1, i64 %67
%69 = load i8, i8* %66
%70 = icmp ne i8 %69, 0
%71 = icmp ult i64 %60, 251
%72 = select i1 %70, i1 %71, i1 false
br i1 %72, label %56, label %444
73: ; preds = %46, %82
%74 = phi i8* [ %86, %82 ], [ %47, %46 ]
%75 = phi i8* [ %83, %82 ], [ %43, %46 ]
%76 = phi i64 [ %84, %82 ], [ 2, %46 ]
%77 = phi i8 [ %85, %82 ], [ %45, %46 ]
%78 = icmp eq i8 %77, 95
%79 = add i8 %77, -48
%80 = icmp ult i8 %79, 10
%81 = or i1 %78, %80
br i1 %81, label %82, label %90
82: ; preds = %73
%83 = getelementptr inbounds i8, i8* %75, i64 1
%84 = add nuw nsw i64 %76, 1
store i8 %77, i8* %74
%85 = load i8, i8* %83
%86 = getelementptr inbounds i8, i8* %1, i64 %84
%87 = icmp ne i8 %85, 0
%88 = icmp ult i64 %76, 251
%89 = select i1 %87, i1 %88, i1 false
br i1 %89, label %73, label %90
90: ; preds = %82, %73
%91 = phi i8 [ %85, %82 ], [ %77, %73 ]
%92 = phi i64 [ %84, %82 ], [ %76, %73 ]
%93 = phi i8* [ %83, %82 ], [ %75, %73 ]
%94 = phi i8* [ %86, %82 ], [ %74, %73 ]
%95 = icmp eq i8 %91, 46
br i1 %95, label %96, label %169
96: ; preds = %90
%97 = getelementptr inbounds i8, i8* %93, i64 1
%98 = load i8, i8* %97
%99 = icmp eq i8 %98, 46
br i1 %99, label %169, label %100
100: ; preds = %96
store i8 46, i8* %94
%101 = add nuw nsw i64 %92, 1
%102 = getelementptr inbounds i8, i8* %1, i64 %101
%103 = load i8, i8* %97
%104 = icmp ne i8 %103, 0
%105 = icmp ult i64 %92, 251
%106 = select i1 %104, i1 %105, i1 false
br i1 %106, label %107, label %129
107: ; preds = %100
%108 = icmp eq i8 %103, 95
%109 = add i8 %103, -48
%110 = icmp ult i8 %109, 10
%111 = or i1 %108, %110
br i1 %111, label %117, label %129
112: ; preds = %117
%113 = icmp eq i8 %125, 95
%114 = add i8 %125, -48
%115 = icmp ult i8 %114, 10
%116 = or i1 %113, %115
br i1 %116, label %117, label %129
117: ; preds = %107, %112
%118 = phi i64 [ %122, %112 ], [ %101, %107 ]
%119 = phi i8* [ %123, %112 ], [ %97, %107 ]
%120 = phi i8* [ %124, %112 ], [ %102, %107 ]
%121 = phi i8 [ %125, %112 ], [ %103, %107 ]
store i8 %121, i8* %120
%122 = add nuw nsw i64 %118, 1
%123 = getelementptr inbounds i8, i8* %119, i64 1
%124 = getelementptr inbounds i8, i8* %1, i64 %122
%125 = load i8, i8* %123
%126 = icmp ne i8 %125, 0
%127 = icmp ult i64 %118, 251
%128 = select i1 %126, i1 %127, i1 false
br i1 %128, label %112, label %129
129: ; preds = %112, %117, %107, %100
%130 = phi i64 [ %92, %100 ], [ %92, %107 ], [ %118, %117 ], [ %118, %112 ]
%131 = phi i8* [ %93, %100 ], [ %93, %107 ], [ %119, %117 ], [ %119, %112 ]
%132 = phi i8* [ %97, %100 ], [ %97, %107 ], [ %123, %117 ], [ %123, %112 ]
%133 = phi i8* [ %102, %100 ], [ %102, %107 ], [ %124, %117 ], [ %124, %112 ]
%134 = phi i8 [ %103, %100 ], [ %103, %107 ], [ %125, %117 ], [ %125, %112 ]
switch i8 %134, label %444 [
i8 101, label %135
i8 69, label %135
]
135: ; preds = %129, %129
%136 = getelementptr inbounds i8, i8* %131, i64 2
%137 = add nuw nsw i64 %130, 2
store i8 %134, i8* %133
%138 = load i8, i8* %136
switch i8 %138, label %144 [
i8 43, label %139
i8 45, label %139
]
139: ; preds = %135, %135
%140 = getelementptr inbounds i8, i8* %1, i64 %137
%141 = getelementptr inbounds i8, i8* %131, i64 3
%142 = add nuw nsw i64 %130, 3
store i8 %138, i8* %140
%143 = load i8, i8* %141
br label %144
144: ; preds = %135, %139
%145 = phi i8 [ %143, %139 ], [ %138, %135 ]
%146 = phi i64 [ %142, %139 ], [ %137, %135 ]
%147 = phi i8* [ %141, %139 ], [ %136, %135 ]
%148 = getelementptr inbounds i8, i8* %1, i64 %146
%149 = icmp ne i8 %145, 0
%150 = icmp slt i64 %146, 252
%151 = select i1 %149, i1 %150, i1 false
br i1 %151, label %152, label %444
152: ; preds = %144, %161
%153 = phi i8 [ %165, %161 ], [ %145, %144 ]
%154 = phi i8* [ %164, %161 ], [ %148, %144 ]
%155 = phi i8* [ %162, %161 ], [ %147, %144 ]
%156 = phi i64 [ %163, %161 ], [ %146, %144 ]
%157 = icmp eq i8 %153, 95
%158 = add i8 %153, -48
%159 = icmp ult i8 %158, 10
%160 = or i1 %157, %159
br i1 %160, label %161, label %444
161: ; preds = %152
%162 = getelementptr inbounds i8, i8* %155, i64 1
%163 = add nuw nsw i64 %156, 1
store i8 %153, i8* %154
%164 = getelementptr inbounds i8, i8* %1, i64 %163
%165 = load i8, i8* %162
%166 = icmp ne i8 %165, 0
%167 = icmp ult i64 %156, 251
%168 = select i1 %166, i1 %167, i1 false
br i1 %168, label %152, label %444
169: ; preds = %46, %96, %90
%170 = phi i8* [ %94, %96 ], [ %94, %90 ], [ %47, %46 ]
%171 = phi i8* [ %93, %96 ], [ %93, %90 ], [ %43, %46 ]
store i8 124, i8* %1
br label %444
172: ; preds = %38
switch i8 %7, label %317 [
i8 34, label %173
i8 39, label %253
]
173: ; preds = %172
%174 = getelementptr inbounds i8, i8* %6, i64 1
%175 = load i8, i8* %174
%176 = icmp eq i8 %175, 34
br i1 %176, label %177, label %190
177: ; preds = %173
%178 = getelementptr inbounds i8, i8* %6, i64 2
%179 = load i8, i8* %178
%180 = icmp eq i8 %179, 34
br i1 %180, label %181, label %190
181: ; preds = %177
%182 = getelementptr inbounds i8, i8* %1, i64 1
store i8 88, i8* %1
%183 = load i8, i8* %6
%184 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %183, i8* %182
%185 = load i8, i8* %174
%186 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %185, i8* %184
%187 = getelementptr inbounds i8, i8* %6, i64 3
%188 = load i8, i8* %178
%189 = getelementptr inbounds i8, i8* %1, i64 4
store i8 %188, i8* %186
br label %444
190: ; preds = %177, %173
%191 = getelementptr inbounds i8, i8* %1, i64 1
store i8 83, i8* %1
%192 = load i8, i8* %174
%193 = icmp eq i8 %192, 0
br i1 %193, label %246, label %194
194: ; preds = %190, %236
%195 = phi i8 [ %239, %236 ], [ %192, %190 ]
%196 = phi i8* [ %238, %236 ], [ %174, %190 ]
%197 = phi i8* [ %237, %236 ], [ %191, %190 ]
switch i8 %195, label %243 [
i8 92, label %198
i8 34, label %246
]
198: ; preds = %194
%199 = getelementptr inbounds i8, i8* %196, i64 1
%200 = load i8, i8* %199
%201 = sext i8 %200 to i32
switch i32 %201, label %236 [
i32 110, label %202
i32 114, label %205
i32 98, label %208
i32 116, label %211
i32 92, label %214
i32 34, label %217
i32 39, label %220
i32 120, label %223
i32 117, label %229
]
202: ; preds = %198
%203 = getelementptr inbounds i8, i8* %196, i64 2
%204 = getelementptr inbounds i8, i8* %197, i64 1
store i8 10, i8* %197
br label %236
205: ; preds = %198
%206 = getelementptr inbounds i8, i8* %196, i64 2
%207 = getelementptr inbounds i8, i8* %197, i64 1
store i8 13, i8* %197
br label %236
208: ; preds = %198
%209 = getelementptr inbounds i8, i8* %196, i64 2
%210 = getelementptr inbounds i8, i8* %197, i64 1
store i8 8, i8* %197
br label %236
211: ; preds = %198
%212 = getelementptr inbounds i8, i8* %196, i64 2
%213 = getelementptr inbounds i8, i8* %197, i64 1
store i8 9, i8* %197
br label %236
214: ; preds = %198
%215 = getelementptr inbounds i8, i8* %196, i64 2
%216 = getelementptr inbounds i8, i8* %197, i64 1
store i8 92, i8* %197
br label %236
217: ; preds = %198
%218 = getelementptr inbounds i8, i8* %196, i64 2
%219 = getelementptr inbounds i8, i8* %197, i64 1
store i8 34, i8* %197
br label %236
220: ; preds = %198
%221 = getelementptr inbounds i8, i8* %196, i64 2
%222 = getelementptr inbounds i8, i8* %197, i64 1
store i8 39, i8* %197
br label %236
223: ; preds = %198
%224 = getelementptr inbounds i8, i8* %196, i64 2
%225 = tail call i32 (i8*, i32, ...) bitcast (i32 (...)* @BTSHASP_ParseHexN to i32 (i8*, i32, ...)*)(i8* %224, i32 2)
%226 = trunc i32 %225 to i8
%227 = getelementptr inbounds i8, i8* %197, i64 1
store i8 %226, i8* %197
%228 = getelementptr inbounds i8, i8* %196, i64 4
br label %236
229: ; preds = %198
%230 = getelementptr inbounds i8, i8* %196, i64 2
%231 = tail call i32 (i8*, i32, ...) bitcast (i32 (...)* @BTSHASP_ParseHexN to i32 (i8*, i32, ...)*)(i8* %230, i32 4)
%232 = tail call i32 (i8*, i32, ...) bitcast (i32 (...)* @BTSHASP_EmitUtf8 to i32 (i8*, i32, ...)*)(i8* %197, i32 %231)
%233 = sext i32 %232 to i64
%234 = inttoptr i64 %233 to i8*
%235 = getelementptr inbounds i8, i8* %196, i64 6
br label %236
236: ; preds = %202, %205, %208, %211, %214, %217, %220, %223, %229, %198, %243
%237 = phi i8* [ %245, %243 ], [ %197, %198 ], [ %234, %229 ], [ %227, %223 ], [ %222, %220 ], [ %219, %217 ], [ %216, %214 ], [ %213, %211 ], [ %210, %208 ], [ %207, %205 ], [ %204, %202 ]
%238 = phi i8* [ %244, %243 ], [ %199, %198 ], [ %235, %229 ], [ %228, %223 ], [ %221, %220 ], [ %218, %217 ], [ %215, %214 ], [ %212, %211 ], [ %209, %208 ], [ %206, %205 ], [ %203, %202 ]
%239 = load i8, i8* %238
%240 = icmp ne i8 %239, 0
%241 = icmp ult i8* %237, %3
%242 = select i1 %240, i1 %241, i1 false
br i1 %242, label %194, label %246
243: ; preds = %194
%244 = getelementptr inbounds i8, i8* %196, i64 1
%245 = getelementptr inbounds i8, i8* %197, i64 1
store i8 %195, i8* %197
br label %236
246: ; preds = %236, %194, %190
%247 = phi i8* [ %191, %190 ], [ %197, %194 ], [ %237, %236 ]
%248 = phi i8* [ %174, %190 ], [ %196, %194 ], [ %238, %236 ]
%249 = phi i8 [ 0, %190 ], [ %195, %194 ], [ %239, %236 ]
%250 = icmp eq i8 %249, 34
%251 = zext i1 %250 to i64
%252 = getelementptr i8, i8* %248, i64 %251
br label %444
253: ; preds = %172
%254 = getelementptr inbounds i8, i8* %6, i64 1
%255 = getelementptr inbounds i8, i8* %1, i64 1
store i8 67, i8* %1
%256 = load i8, i8* %254
%257 = icmp eq i8 %256, 0
br i1 %257, label %310, label %258
258: ; preds = %253, %300
%259 = phi i8 [ %303, %300 ], [ %256, %253 ]
%260 = phi i8* [ %302, %300 ], [ %254, %253 ]
%261 = phi i8* [ %301, %300 ], [ %255, %253 ]
switch i8 %259, label %307 [
i8 92, label %262
i8 39, label %310
]
262: ; preds = %258
%263 = getelementptr inbounds i8, i8* %260, i64 1
%264 = load i8, i8* %263
%265 = sext i8 %264 to i32
switch i32 %265, label %300 [
i32 110, label %266
i32 114, label %269
i32 98, label %272
i32 116, label %275
i32 92, label %278
i32 34, label %281
i32 39, label %284
i32 120, label %287
i32 117, label %293
]
266: ; preds = %262
%267 = getelementptr inbounds i8, i8* %260, i64 2
%268 = getelementptr inbounds i8, i8* %261, i64 1
store i8 10, i8* %261
br label %300
269: ; preds = %262
%270 = getelementptr inbounds i8, i8* %260, i64 2
%271 = getelementptr inbounds i8, i8* %261, i64 1
store i8 13, i8* %261
br label %300
272: ; preds = %262
%273 = getelementptr inbounds i8, i8* %260, i64 2
%274 = getelementptr inbounds i8, i8* %261, i64 1
store i8 8, i8* %261
br label %300
275: ; preds = %262
%276 = getelementptr inbounds i8, i8* %260, i64 2
%277 = getelementptr inbounds i8, i8* %261, i64 1
store i8 9, i8* %261
br label %300
278: ; preds = %262
%279 = getelementptr inbounds i8, i8* %260, i64 2
%280 = getelementptr inbounds i8, i8* %261, i64 1
store i8 92, i8* %261
br label %300
281: ; preds = %262
%282 = getelementptr inbounds i8, i8* %260, i64 2
%283 = getelementptr inbounds i8, i8* %261, i64 1
store i8 34, i8* %261
br label %300
284: ; preds = %262
%285 = getelementptr inbounds i8, i8* %260, i64 2
%286 = getelementptr inbounds i8, i8* %261, i64 1
store i8 39, i8* %261
br label %300
287: ; preds = %262
%288 = getelementptr inbounds i8, i8* %260, i64 2
%289 = tail call i32 (i8*, i32, ...) bitcast (i32 (...)* @BTSHASP_ParseHexN to i32 (i8*, i32, ...)*)(i8* %288, i32 2)
%290 = trunc i32 %289 to i8
%291 = getelementptr inbounds i8, i8* %261, i64 1
store i8 %290, i8* %261
%292 = getelementptr inbounds i8, i8* %260, i64 4
br label %300
293: ; preds = %262
%294 = getelementptr inbounds i8, i8* %260, i64 2
%295 = tail call i32 (i8*, i32, ...) bitcast (i32 (...)* @BTSHASP_ParseHexN to i32 (i8*, i32, ...)*)(i8* %294, i32 4)
%296 = tail call i32 (i8*, i32, ...) bitcast (i32 (...)* @BTSHASP_EmitUtf8 to i32 (i8*, i32, ...)*)(i8* %261, i32 %295)
%297 = sext i32 %296 to i64
%298 = inttoptr i64 %297 to i8*
%299 = getelementptr inbounds i8, i8* %260, i64 6
br label %300
300: ; preds = %266, %269, %272, %275, %278, %281, %284, %287, %293, %262, %307
%301 = phi i8* [ %309, %307 ], [ %261, %262 ], [ %298, %293 ], [ %291, %287 ], [ %286, %284 ], [ %283, %281 ], [ %280, %278 ], [ %277, %275 ], [ %274, %272 ], [ %271, %269 ], [ %268, %266 ]
%302 = phi i8* [ %308, %307 ], [ %263, %262 ], [ %299, %293 ], [ %292, %287 ], [ %285, %284 ], [ %282, %281 ], [ %279, %278 ], [ %276, %275 ], [ %273, %272 ], [ %270, %269 ], [ %267, %266 ]
%303 = load i8, i8* %302
%304 = icmp ne i8 %303, 0
%305 = icmp ult i8* %301, %3
%306 = select i1 %304, i1 %305, i1 false
br i1 %306, label %258, label %310
307: ; preds = %258
%308 = getelementptr inbounds i8, i8* %260, i64 1
%309 = getelementptr inbounds i8, i8* %261, i64 1
store i8 %259, i8* %261
br label %300
310: ; preds = %300, %258, %253
%311 = phi i8* [ %255, %253 ], [ %261, %258 ], [ %301, %300 ]
%312 = phi i8* [ %254, %253 ], [ %260, %258 ], [ %302, %300 ]
%313 = phi i8 [ 0, %253 ], [ %259, %258 ], [ %303, %300 ]
%314 = icmp eq i8 %313, 39
%315 = zext i1 %314 to i64
%316 = getelementptr i8, i8* %312, i64 %315
br label %444
317: ; preds = %172
%318 = getelementptr inbounds i8, i8* %1, i64 1
store i8 88, i8* %1
%319 = load i8, i8* %6
%320 = sext i8 %319 to i32
switch i32 %320, label %441 [
i32 45, label %321
i32 43, label %328
i32 61, label %335
i32 33, label %335
i32 47, label %335
i32 42, label %335
i32 37, label %335
i32 94, label %335
i32 124, label %343
i32 38, label %359
i32 60, label %375
i32 62, label %392
i32 35, label %410
i32 126, label %418
i32 63, label %418
i32 64, label %418
i32 92, label %418
i32 59, label %418
i32 58, label %418
i32 44, label %418
i32 46, label %421
i32 40, label %438
i32 41, label %438
i32 91, label %438
i32 93, label %438
i32 123, label %438
i32 125, label %438
]
321: ; preds = %317
%322 = getelementptr inbounds i8, i8* %6, i64 1
%323 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %319, i8* %318
%324 = load i8, i8* %322
switch i8 %324, label %444 [
i8 45, label %325
i8 61, label %325
i8 62, label %325
]
325: ; preds = %321, %321, %321
%326 = getelementptr inbounds i8, i8* %6, i64 2
%327 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %324, i8* %323
br label %444
328: ; preds = %317
%329 = getelementptr inbounds i8, i8* %6, i64 1
%330 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %319, i8* %318
%331 = load i8, i8* %329
switch i8 %331, label %444 [
i8 43, label %332
i8 61, label %332
]
332: ; preds = %328, %328
%333 = getelementptr inbounds i8, i8* %6, i64 2
%334 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %331, i8* %330
br label %444
335: ; preds = %317, %317, %317, %317, %317, %317
%336 = getelementptr inbounds i8, i8* %6, i64 1
%337 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %319, i8* %318
%338 = load i8, i8* %336
%339 = icmp eq i8 %338, 61
br i1 %339, label %340, label %444
340: ; preds = %335
%341 = getelementptr inbounds i8, i8* %6, i64 2
%342 = getelementptr inbounds i8, i8* %1, i64 3
store i8 61, i8* %337
br label %444
343: ; preds = %317
%344 = getelementptr inbounds i8, i8* %6, i64 1
%345 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %319, i8* %318
%346 = load i8, i8* %344
%347 = sext i8 %346 to i32
switch i32 %347, label %444 [
i32 61, label %348
i32 124, label %351
]
348: ; preds = %343
%349 = getelementptr inbounds i8, i8* %6, i64 2
%350 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %346, i8* %345
br label %444
351: ; preds = %343
%352 = getelementptr inbounds i8, i8* %6, i64 2
%353 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %346, i8* %345
%354 = load i8, i8* %352
%355 = icmp eq i8 %354, 61
br i1 %355, label %356, label %444
356: ; preds = %351
%357 = getelementptr inbounds i8, i8* %6, i64 3
%358 = getelementptr inbounds i8, i8* %1, i64 4
store i8 61, i8* %353
br label %444
359: ; preds = %317
%360 = getelementptr inbounds i8, i8* %6, i64 1
%361 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %319, i8* %318
%362 = load i8, i8* %360
%363 = sext i8 %362 to i32
switch i32 %363, label %444 [
i32 61, label %364
i32 38, label %367
]
364: ; preds = %359
%365 = getelementptr inbounds i8, i8* %6, i64 2
%366 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %362, i8* %361
br label %444
367: ; preds = %359
%368 = getelementptr inbounds i8, i8* %6, i64 2
%369 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %362, i8* %361
%370 = load i8, i8* %368
%371 = icmp eq i8 %370, 61
br i1 %371, label %372, label %444
372: ; preds = %367
%373 = getelementptr inbounds i8, i8* %6, i64 3
%374 = getelementptr inbounds i8, i8* %1, i64 4
store i8 61, i8* %369
br label %444
375: ; preds = %317
%376 = getelementptr inbounds i8, i8* %6, i64 1
%377 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %319, i8* %318
%378 = load i8, i8* %376
%379 = sext i8 %378 to i32
switch i32 %379, label %444 [
i32 61, label %380
i32 60, label %383
]
380: ; preds = %375
%381 = getelementptr inbounds i8, i8* %6, i64 2
%382 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %378, i8* %377
br label %444
383: ; preds = %375
%384 = getelementptr inbounds i8, i8* %6, i64 2
%385 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %378, i8* %377
%386 = load i8, i8* %384
%387 = and i8 %386, -2
%388 = icmp eq i8 %387, 60
br i1 %388, label %389, label %444
389: ; preds = %383
%390 = getelementptr inbounds i8, i8* %6, i64 3
%391 = getelementptr inbounds i8, i8* %1, i64 4
store i8 %386, i8* %385
br label %444
392: ; preds = %317
%393 = getelementptr inbounds i8, i8* %6, i64 1
%394 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %319, i8* %318
%395 = load i8, i8* %393
%396 = sext i8 %395 to i32
switch i32 %396, label %444 [
i32 61, label %397
i32 62, label %400
]
397: ; preds = %392
%398 = getelementptr inbounds i8, i8* %6, i64 2
%399 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %395, i8* %394
br label %444
400: ; preds = %392
%401 = getelementptr inbounds i8, i8* %6, i64 2
%402 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %395, i8* %394
%403 = load i8, i8* %401
%404 = sext i8 %403 to i32
%405 = add nsw i32 %404, -61
%406 = icmp ult i32 %405, 2
br i1 %406, label %407, label %444
407: ; preds = %400
%408 = getelementptr inbounds i8, i8* %6, i64 3
%409 = getelementptr inbounds i8, i8* %1, i64 4
store i8 %403, i8* %402
br label %444
410: ; preds = %317
%411 = getelementptr inbounds i8, i8* %6, i64 1
%412 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %319, i8* %318
%413 = load i8, i8* %411
%414 = sext i8 %413 to i32
switch i32 %414, label %444 [
i32 35, label %415
i32 58, label %415
i32 40, label %415
i32 41, label %415
i32 91, label %415
i32 93, label %415
i32 123, label %415
i32 125, label %415
]
415: ; preds = %410, %410, %410, %410, %410, %410, %410, %410
%416 = getelementptr inbounds i8, i8* %6, i64 2
%417 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %413, i8* %412
br label %444
418: ; preds = %317, %317, %317, %317, %317, %317, %317
%419 = getelementptr inbounds i8, i8* %6, i64 1
%420 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %319, i8* %318
br label %444
421: ; preds = %317
%422 = getelementptr inbounds i8, i8* %6, i64 1
%423 = load i8, i8* %422
%424 = icmp eq i8 %423, 46
br i1 %424, label %425, label %436
425: ; preds = %421
%426 = getelementptr inbounds i8, i8* %6, i64 2
%427 = load i8, i8* %426
%428 = icmp eq i8 %427, 46
%429 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %319, i8* %318
%430 = load i8, i8* %422
%431 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %430, i8* %429
br i1 %428, label %432, label %444
432: ; preds = %425
%433 = getelementptr inbounds i8, i8* %6, i64 3
%434 = load i8, i8* %426
%435 = getelementptr inbounds i8, i8* %1, i64 4
store i8 %434, i8* %431
br label %444
436: ; preds = %421
%437 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %319, i8* %318
br label %444
438: ; preds = %317, %317, %317, %317, %317, %317
%439 = getelementptr inbounds i8, i8* %6, i64 1
%440 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %319, i8* %318
br label %444
441: ; preds = %317
%442 = getelementptr inbounds i8, i8* %6, i64 1
%443 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %319, i8* %318
br label %444
444: ; preds = %64, %65, %152, %161, %23, %30, %425, %410, %415, %397, %407, %392, %400, %380, %389, %375, %383, %364, %367, %372, %359, %348, %351, %356, %343, %335, %340, %332, %328, %325, %321, %169, %129, %144, %49, %14, %418, %432, %436, %438, %441, %310, %246, %181, %8
%445 = phi i8* [ %420, %418 ], [ %435, %432 ], [ %437, %436 ], [ %440, %438 ], [ %443, %441 ], [ %311, %310 ], [ %247, %246 ], [ %189, %181 ], [ %9, %8 ], [ %15, %14 ], [ %53, %49 ], [ %170, %169 ], [ %133, %129 ], [ %148, %144 ], [ %327, %325 ], [ %323, %321 ], [ %334, %332 ], [ %330, %328 ], [ %342, %340 ], [ %337, %335 ], [ %345, %343 ], [ %358, %356 ], [ %353, %351 ], [ %350, %348 ], [ %361, %359 ], [ %374, %372 ], [ %369, %367 ], [ %366, %364 ], [ %377, %375 ], [ %385, %383 ], [ %391, %389 ], [ %382, %380 ], [ %394, %392 ], [ %402, %400 ], [ %409, %407 ], [ %399, %397 ], [ %412, %410 ], [ %417, %415 ], [ %431, %425 ], [ %20, %23 ], [ %33, %30 ], [ %164, %161 ], [ %154, %152 ], [ %58, %64 ], [ %68, %65 ]
%446 = phi i8* [ %419, %418 ], [ %433, %432 ], [ %422, %436 ], [ %439, %438 ], [ %442, %441 ], [ %316, %310 ], [ %252, %246 ], [ %187, %181 ], [ %6, %8 ], [ %6, %14 ], [ %51, %49 ], [ %171, %169 ], [ %132, %129 ], [ %147, %144 ], [ %326, %325 ], [ %322, %321 ], [ %333, %332 ], [ %329, %328 ], [ %341, %340 ], [ %336, %335 ], [ %344, %343 ], [ %357, %356 ], [ %352, %351 ], [ %349, %348 ], [ %360, %359 ], [ %373, %372 ], [ %368, %367 ], [ %365, %364 ], [ %376, %375 ], [ %384, %383 ], [ %390, %389 ], [ %381, %380 ], [ %393, %392 ], [ %401, %400 ], [ %408, %407 ], [ %398, %397 ], [ %411, %410 ], [ %416, %415 ], [ %426, %425 ], [ %21, %23 ], [ %31, %30 ], [ %162, %161 ], [ %155, %152 ], [ %59, %64 ], [ %66, %65 ]
store i8 0, i8* %445
ret i8* %446
}