char *BGBDT_TagParse_ParseTokenBasic(char *s, char *tb) {
  char *t, *te;
  int i, j, k;
  t = tb;
  te = tb + 252;
  s = BGBDT_TagParse_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 == '.') {
      *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++ = BGBDT_TagParse_ParseHexN(s, 2);
          s += 2;
          break;
        case 'u':
          s++;
          i = BGBDT_TagParse_ParseHexN(s, 4);
          t = BGBDT_TagParse_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++ = BGBDT_TagParse_ParseHexN(s, 2);
          s += 2;
          break;
        case 'u':
          s++;
          i = BGBDT_TagParse_ParseHexN(s, 4);
          t = BGBDT_TagParse_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;
    }
    *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):
<BGBDT_TagParse_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   1050 <BGBDT_TagParse_EatWhite@plt>
cltq
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rax
cmpb   $0x0,(%rax)
jne    11a8 <BGBDT_TagParse_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    26e9 <BGBDT_TagParse_ParseTokenBasic+0x15b9>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5f,%eax
je     1208 <BGBDT_TagParse_ParseTokenBasic+0xd8>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x24,%eax
je     1208 <BGBDT_TagParse_ParseTokenBasic+0xd8>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x41,%eax
jl     11e8 <BGBDT_TagParse_ParseTokenBasic+0xb8>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5a,%eax
jle    1208 <BGBDT_TagParse_ParseTokenBasic+0xd8>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x61,%eax
jl     133d <BGBDT_TagParse_ParseTokenBasic+0x20d>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x7a,%eax
jg     133d <BGBDT_TagParse_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 <BGBDT_TagParse_ParseTokenBasic+0x1b7>
mov    -0x20(%rbp),%rcx
xor    %eax,%eax
cmp    -0x28(%rbp),%rcx
mov    %al,-0x35(%rbp)
jae    12e7 <BGBDT_TagParse_ParseTokenBasic+0x1b7>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5f,%ecx
mov    %al,-0x36(%rbp)
je     12e1 <BGBDT_TagParse_ParseTokenBasic+0x1b1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x24,%ecx
mov    %al,-0x36(%rbp)
je     12e1 <BGBDT_TagParse_ParseTokenBasic+0x1b1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x41,%eax
jl     1291 <BGBDT_TagParse_ParseTokenBasic+0x161>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5a,%ecx
mov    %al,-0x36(%rbp)
jle    12e1 <BGBDT_TagParse_ParseTokenBasic+0x1b1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x61,%eax
jl     12b6 <BGBDT_TagParse_ParseTokenBasic+0x186>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x7a,%ecx
mov    %al,-0x36(%rbp)
jle    12e1 <BGBDT_TagParse_ParseTokenBasic+0x1b1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x30,%ecx
mov    %al,-0x37(%rbp)
jl     12db <BGBDT_TagParse_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 <BGBDT_TagParse_ParseTokenBasic+0x1c7>
jmp    131e <BGBDT_TagParse_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 <BGBDT_TagParse_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    26e9 <BGBDT_TagParse_ParseTokenBasic+0x15b9>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x30,%eax
jl     17e7 <BGBDT_TagParse_ParseTokenBasic+0x6b7>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x39,%eax
jg     17e7 <BGBDT_TagParse_ParseTokenBasic+0x6b7>
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 <BGBDT_TagParse_ParseTokenBasic+0x2a1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x62,%eax
je     13d1 <BGBDT_TagParse_ParseTokenBasic+0x2a1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x63,%eax
je     13d1 <BGBDT_TagParse_ParseTokenBasic+0x2a1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x64,%eax
jne    1508 <BGBDT_TagParse_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 <BGBDT_TagParse_ParseTokenBasic+0x382>
mov    -0x20(%rbp),%rcx
xor    %eax,%eax
cmp    -0x28(%rbp),%rcx
mov    %al,-0x38(%rbp)
jae    14b2 <BGBDT_TagParse_ParseTokenBasic+0x382>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5f,%ecx
mov    %al,-0x39(%rbp)
je     14ac <BGBDT_TagParse_ParseTokenBasic+0x37c>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x30,%eax
jl     145c <BGBDT_TagParse_ParseTokenBasic+0x32c>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x39,%ecx
mov    %al,-0x39(%rbp)
jle    14ac <BGBDT_TagParse_ParseTokenBasic+0x37c>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x41,%eax
jl     1481 <BGBDT_TagParse_ParseTokenBasic+0x351>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x46,%ecx
mov    %al,-0x39(%rbp)
jle    14ac <BGBDT_TagParse_ParseTokenBasic+0x37c>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x61,%ecx
mov    %al,-0x3a(%rbp)
jl     14a6 <BGBDT_TagParse_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 <BGBDT_TagParse_ParseTokenBasic+0x392>
jmp    14e9 <BGBDT_TagParse_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 <BGBDT_TagParse_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    26e9 <BGBDT_TagParse_ParseTokenBasic+0x15b9>
jmp    150d <BGBDT_TagParse_ParseTokenBasic+0x3dd>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x0,%ecx
mov    %al,-0x3b(%rbp)
je     157b <BGBDT_TagParse_ParseTokenBasic+0x44b>
mov    -0x20(%rbp),%rcx
xor    %eax,%eax
cmp    -0x28(%rbp),%rcx
mov    %al,-0x3b(%rbp)
jae    157b <BGBDT_TagParse_ParseTokenBasic+0x44b>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5f,%ecx
mov    %al,-0x3c(%rbp)
je     1575 <BGBDT_TagParse_ParseTokenBasic+0x445>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x30,%ecx
mov    %al,-0x3d(%rbp)
jl     156f <BGBDT_TagParse_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 <BGBDT_TagParse_ParseTokenBasic+0x45b>
jmp    15b2 <BGBDT_TagParse_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 <BGBDT_TagParse_ParseTokenBasic+0x3dd>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x2e,%eax
jne    17c1 <BGBDT_TagParse_ParseTokenBasic+0x691>
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     1652 <BGBDT_TagParse_ParseTokenBasic+0x522>
mov    -0x20(%rbp),%rcx
xor    %eax,%eax
cmp    -0x28(%rbp),%rcx
mov    %al,-0x3e(%rbp)
jae    1652 <BGBDT_TagParse_ParseTokenBasic+0x522>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5f,%ecx
mov    %al,-0x3f(%rbp)
je     164c <BGBDT_TagParse_ParseTokenBasic+0x51c>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x30,%ecx
mov    %al,-0x40(%rbp)
jl     1646 <BGBDT_TagParse_ParseTokenBasic+0x516>
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    1662 <BGBDT_TagParse_ParseTokenBasic+0x532>
jmp    1689 <BGBDT_TagParse_ParseTokenBasic+0x559>
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    15e4 <BGBDT_TagParse_ParseTokenBasic+0x4b4>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x65,%eax
je     16a9 <BGBDT_TagParse_ParseTokenBasic+0x579>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x45,%eax
jne    17bc <BGBDT_TagParse_ParseTokenBasic+0x68c>
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     16eb <BGBDT_TagParse_ParseTokenBasic+0x5bb>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x2d,%eax
jne    170d <BGBDT_TagParse_ParseTokenBasic+0x5dd>
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    1712 <BGBDT_TagParse_ParseTokenBasic+0x5e2>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x0,%ecx
mov    %al,-0x41(%rbp)
je     1780 <BGBDT_TagParse_ParseTokenBasic+0x650>
mov    -0x20(%rbp),%rcx
xor    %eax,%eax
cmp    -0x28(%rbp),%rcx
mov    %al,-0x41(%rbp)
jae    1780 <BGBDT_TagParse_ParseTokenBasic+0x650>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5f,%ecx
mov    %al,-0x42(%rbp)
je     177a <BGBDT_TagParse_ParseTokenBasic+0x64a>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x30,%ecx
mov    %al,-0x43(%rbp)
jl     1774 <BGBDT_TagParse_ParseTokenBasic+0x644>
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    1790 <BGBDT_TagParse_ParseTokenBasic+0x660>
jmp    17b7 <BGBDT_TagParse_ParseTokenBasic+0x687>
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    1712 <BGBDT_TagParse_ParseTokenBasic+0x5e2>
jmp    17bc <BGBDT_TagParse_ParseTokenBasic+0x68c>
jmp    17c8 <BGBDT_TagParse_ParseTokenBasic+0x698>
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    26e9 <BGBDT_TagParse_ParseTokenBasic+0x15b9>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x22,%eax
jne    1b3a <BGBDT_TagParse_ParseTokenBasic+0xa0a>
mov    -0x10(%rbp),%rax
movsbl 0x1(%rax),%eax
cmp    $0x22,%eax
jne    18b0 <BGBDT_TagParse_ParseTokenBasic+0x780>
mov    -0x10(%rbp),%rax
movsbl 0x2(%rax),%eax
cmp    $0x22,%eax
jne    18b0 <BGBDT_TagParse_ParseTokenBasic+0x780>
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    26e9 <BGBDT_TagParse_ParseTokenBasic+0x15b9>
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     18f1 <BGBDT_TagParse_ParseTokenBasic+0x7c1>
mov    -0x20(%rbp),%rax
cmp    -0x28(%rbp),%rax
setb   %al
mov    %al,-0x44(%rbp)
mov    -0x44(%rbp),%al
test   $0x1,%al
jne    1901 <BGBDT_TagParse_ParseTokenBasic+0x7d1>
jmp    1aff <BGBDT_TagParse_ParseTokenBasic+0x9cf>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5c,%eax
jne    1ac3 <BGBDT_TagParse_ParseTokenBasic+0x993>
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     1abe <BGBDT_TagParse_ParseTokenBasic+0x98e>
mov    -0x50(%rbp),%rax
lea    0x1993(%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    1abe <BGBDT_TagParse_ParseTokenBasic+0x98e>
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    1abe <BGBDT_TagParse_ParseTokenBasic+0x98e>
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    1abe <BGBDT_TagParse_ParseTokenBasic+0x98e>
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    1abe <BGBDT_TagParse_ParseTokenBasic+0x98e>
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    1abe <BGBDT_TagParse_ParseTokenBasic+0x98e>
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    1abe <BGBDT_TagParse_ParseTokenBasic+0x98e>
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    1abe <BGBDT_TagParse_ParseTokenBasic+0x98e>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rdi
mov    $0x2,%esi
mov    $0x0,%al
call   1030 <BGBDT_TagParse_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    1abe <BGBDT_TagParse_ParseTokenBasic+0x98e>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rdi
mov    $0x4,%esi
mov    $0x0,%al
call   1030 <BGBDT_TagParse_ParseHexN@plt>
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x2c(%rbp),%esi
mov    $0x0,%al
call   1040 <BGBDT_TagParse_EmitUtf8@plt>
cltq
mov    %rax,-0x20(%rbp)
mov    -0x10(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x10(%rbp)
jmp    18ce <BGBDT_TagParse_ParseTokenBasic+0x79e>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x22,%eax
jne    1ad8 <BGBDT_TagParse_ParseTokenBasic+0x9a8>
jmp    1aff <BGBDT_TagParse_ParseTokenBasic+0x9cf>
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    18ce <BGBDT_TagParse_ParseTokenBasic+0x79e>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x22,%eax
jne    1b1b <BGBDT_TagParse_ParseTokenBasic+0x9eb>
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    26e9 <BGBDT_TagParse_ParseTokenBasic+0x15b9>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x27,%eax
jne    1dd4 <BGBDT_TagParse_ParseTokenBasic+0xca4>
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     1b8b <BGBDT_TagParse_ParseTokenBasic+0xa5b>
mov    -0x20(%rbp),%rax
cmp    -0x28(%rbp),%rax
setb   %al
mov    %al,-0x51(%rbp)
mov    -0x51(%rbp),%al
test   $0x1,%al
jne    1b9b <BGBDT_TagParse_ParseTokenBasic+0xa6b>
jmp    1d99 <BGBDT_TagParse_ParseTokenBasic+0xc69>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5c,%eax
jne    1d5d <BGBDT_TagParse_ParseTokenBasic+0xc2d>
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     1d58 <BGBDT_TagParse_ParseTokenBasic+0xc28>
mov    -0x60(%rbp),%rax
lea    0x159d(%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    1d58 <BGBDT_TagParse_ParseTokenBasic+0xc28>
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    1d58 <BGBDT_TagParse_ParseTokenBasic+0xc28>
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    1d58 <BGBDT_TagParse_ParseTokenBasic+0xc28>
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    1d58 <BGBDT_TagParse_ParseTokenBasic+0xc28>
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    1d58 <BGBDT_TagParse_ParseTokenBasic+0xc28>
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    1d58 <BGBDT_TagParse_ParseTokenBasic+0xc28>
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    1d58 <BGBDT_TagParse_ParseTokenBasic+0xc28>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rdi
mov    $0x2,%esi
mov    $0x0,%al
call   1030 <BGBDT_TagParse_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    1d58 <BGBDT_TagParse_ParseTokenBasic+0xc28>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rdi
mov    $0x4,%esi
mov    $0x0,%al
call   1030 <BGBDT_TagParse_ParseHexN@plt>
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x2c(%rbp),%esi
mov    $0x0,%al
call   1040 <BGBDT_TagParse_EmitUtf8@plt>
cltq
mov    %rax,-0x20(%rbp)
mov    -0x10(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x10(%rbp)
jmp    1b68 <BGBDT_TagParse_ParseTokenBasic+0xa38>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x27,%eax
jne    1d72 <BGBDT_TagParse_ParseTokenBasic+0xc42>
jmp    1d99 <BGBDT_TagParse_ParseTokenBasic+0xc69>
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    1b68 <BGBDT_TagParse_ParseTokenBasic+0xa38>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x27,%eax
jne    1db5 <BGBDT_TagParse_ParseTokenBasic+0xc85>
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    26e9 <BGBDT_TagParse_ParseTokenBasic+0x15b9>
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     26ad <BGBDT_TagParse_ParseTokenBasic+0x157d>
mov    -0x68(%rbp),%rax
lea    0x11f6(%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     1e65 <BGBDT_TagParse_ParseTokenBasic+0xd35>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x3d,%eax
je     1e65 <BGBDT_TagParse_ParseTokenBasic+0xd35>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x3e,%eax
jne    1e87 <BGBDT_TagParse_ParseTokenBasic+0xd57>
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    26e1 <BGBDT_TagParse_ParseTokenBasic+0x15b1>
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     1ee0 <BGBDT_TagParse_ParseTokenBasic+0xdb0>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x3d,%eax
jne    1f02 <BGBDT_TagParse_ParseTokenBasic+0xdd2>
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    26e1 <BGBDT_TagParse_ParseTokenBasic+0x15b1>
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    1f6d <BGBDT_TagParse_ParseTokenBasic+0xe3d>
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    26e1 <BGBDT_TagParse_ParseTokenBasic+0x15b1>
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     1fcf <BGBDT_TagParse_ParseTokenBasic+0xe9f>
jmp    1fbe <BGBDT_TagParse_ParseTokenBasic+0xe8e>
mov    -0x6c(%rbp),%eax
sub    $0x7c,%eax
je     1ff6 <BGBDT_TagParse_ParseTokenBasic+0xec6>
jmp    205c <BGBDT_TagParse_ParseTokenBasic+0xf2c>
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    2061 <BGBDT_TagParse_ParseTokenBasic+0xf31>
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    2052 <BGBDT_TagParse_ParseTokenBasic+0xf22>
jmp    202b <BGBDT_TagParse_ParseTokenBasic+0xefb>
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    2057 <BGBDT_TagParse_ParseTokenBasic+0xf27>
jmp    2057 <BGBDT_TagParse_ParseTokenBasic+0xf27>
jmp    2061 <BGBDT_TagParse_ParseTokenBasic+0xf31>
jmp    2061 <BGBDT_TagParse_ParseTokenBasic+0xf31>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    26e1 <BGBDT_TagParse_ParseTokenBasic+0x15b1>
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     20ea <BGBDT_TagParse_ParseTokenBasic+0xfba>
jmp    20b2 <BGBDT_TagParse_ParseTokenBasic+0xf82>
mov    -0x70(%rbp),%eax
sub    $0x3d,%eax
jne    2150 <BGBDT_TagParse_ParseTokenBasic+0x1020>
jmp    20c3 <BGBDT_TagParse_ParseTokenBasic+0xf93>
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    2155 <BGBDT_TagParse_ParseTokenBasic+0x1025>
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    2146 <BGBDT_TagParse_ParseTokenBasic+0x1016>
jmp    211f <BGBDT_TagParse_ParseTokenBasic+0xfef>
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    214b <BGBDT_TagParse_ParseTokenBasic+0x101b>
jmp    214b <BGBDT_TagParse_ParseTokenBasic+0x101b>
jmp    2155 <BGBDT_TagParse_ParseTokenBasic+0x1025>
jmp    2155 <BGBDT_TagParse_ParseTokenBasic+0x1025>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    26e1 <BGBDT_TagParse_ParseTokenBasic+0x15b1>
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     21de <BGBDT_TagParse_ParseTokenBasic+0x10ae>
jmp    21a6 <BGBDT_TagParse_ParseTokenBasic+0x1076>
mov    -0x74(%rbp),%eax
sub    $0x3d,%eax
jne    2249 <BGBDT_TagParse_ParseTokenBasic+0x1119>
jmp    21b7 <BGBDT_TagParse_ParseTokenBasic+0x1087>
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    224e <BGBDT_TagParse_ParseTokenBasic+0x111e>
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     223f <BGBDT_TagParse_ParseTokenBasic+0x110f>
jmp    2218 <BGBDT_TagParse_ParseTokenBasic+0x10e8>
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    2244 <BGBDT_TagParse_ParseTokenBasic+0x1114>
jmp    2244 <BGBDT_TagParse_ParseTokenBasic+0x1114>
jmp    224e <BGBDT_TagParse_ParseTokenBasic+0x111e>
jmp    224e <BGBDT_TagParse_ParseTokenBasic+0x111e>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    26e1 <BGBDT_TagParse_ParseTokenBasic+0x15b1>
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     22b0 <BGBDT_TagParse_ParseTokenBasic+0x1180>
jmp    229f <BGBDT_TagParse_ParseTokenBasic+0x116f>
mov    -0x78(%rbp),%eax
sub    $0x3e,%eax
je     22d7 <BGBDT_TagParse_ParseTokenBasic+0x11a7>
jmp    2342 <BGBDT_TagParse_ParseTokenBasic+0x1212>
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    2347 <BGBDT_TagParse_ParseTokenBasic+0x1217>
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     2338 <BGBDT_TagParse_ParseTokenBasic+0x1208>
jmp    2311 <BGBDT_TagParse_ParseTokenBasic+0x11e1>
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    233d <BGBDT_TagParse_ParseTokenBasic+0x120d>
jmp    233d <BGBDT_TagParse_ParseTokenBasic+0x120d>
jmp    2347 <BGBDT_TagParse_ParseTokenBasic+0x1217>
jmp    2347 <BGBDT_TagParse_ParseTokenBasic+0x1217>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    26e1 <BGBDT_TagParse_ParseTokenBasic+0x15b1>
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     240f <BGBDT_TagParse_ParseTokenBasic+0x12df>
jmp    2398 <BGBDT_TagParse_ParseTokenBasic+0x1268>
mov    -0x7c(%rbp),%eax
sub    $0x28,%eax
je     245d <BGBDT_TagParse_ParseTokenBasic+0x132d>
jmp    23a9 <BGBDT_TagParse_ParseTokenBasic+0x1279>
mov    -0x7c(%rbp),%eax
sub    $0x29,%eax
je     2484 <BGBDT_TagParse_ParseTokenBasic+0x1354>
jmp    23ba <BGBDT_TagParse_ParseTokenBasic+0x128a>
mov    -0x7c(%rbp),%eax
sub    $0x3a,%eax
je     2436 <BGBDT_TagParse_ParseTokenBasic+0x1306>
jmp    23cb <BGBDT_TagParse_ParseTokenBasic+0x129b>
mov    -0x7c(%rbp),%eax
sub    $0x5b,%eax
je     24ab <BGBDT_TagParse_ParseTokenBasic+0x137b>
jmp    23dc <BGBDT_TagParse_ParseTokenBasic+0x12ac>
mov    -0x7c(%rbp),%eax
sub    $0x5d,%eax
je     24d2 <BGBDT_TagParse_ParseTokenBasic+0x13a2>
jmp    23ed <BGBDT_TagParse_ParseTokenBasic+0x12bd>
mov    -0x7c(%rbp),%eax
sub    $0x7b,%eax
je     24f9 <BGBDT_TagParse_ParseTokenBasic+0x13c9>
jmp    23fe <BGBDT_TagParse_ParseTokenBasic+0x12ce>
mov    -0x7c(%rbp),%eax
sub    $0x7d,%eax
je     2520 <BGBDT_TagParse_ParseTokenBasic+0x13f0>
jmp    2547 <BGBDT_TagParse_ParseTokenBasic+0x1417>
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    254c <BGBDT_TagParse_ParseTokenBasic+0x141c>
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    254c <BGBDT_TagParse_ParseTokenBasic+0x141c>
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    254c <BGBDT_TagParse_ParseTokenBasic+0x141c>
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    254c <BGBDT_TagParse_ParseTokenBasic+0x141c>
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    254c <BGBDT_TagParse_ParseTokenBasic+0x141c>
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    254c <BGBDT_TagParse_ParseTokenBasic+0x141c>
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    254c <BGBDT_TagParse_ParseTokenBasic+0x141c>
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    254c <BGBDT_TagParse_ParseTokenBasic+0x141c>
jmp    254c <BGBDT_TagParse_ParseTokenBasic+0x141c>
mov    -0x20(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x20(%rbp)
movb   $0x0,(%rax)
jmp    26e1 <BGBDT_TagParse_ParseTokenBasic+0x15b1>
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    26e1 <BGBDT_TagParse_ParseTokenBasic+0x15b1>
mov    -0x10(%rbp),%rax
movsbl 0x1(%rax),%eax
cmp    $0x2e,%eax
jne    263b <BGBDT_TagParse_ParseTokenBasic+0x150b>
mov    -0x10(%rbp),%rax
movsbl 0x2(%rax),%eax
cmp    $0x2e,%eax
jne    263b <BGBDT_TagParse_ParseTokenBasic+0x150b>
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    26e1 <BGBDT_TagParse_ParseTokenBasic+0x15b1>
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    26e1 <BGBDT_TagParse_ParseTokenBasic+0x15b1>
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    26e1 <BGBDT_TagParse_ParseTokenBasic+0x15b1>
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):
<BGBDT_TagParse_ParseTokenBasic>:
push   %r15
push   %r14
push   %r12
push   %rbx
push   %rax
mov    %rsi,%rbx
xor    %eax,%eax
call   1050 <BGBDT_TagParse_EatWhite@plt>
movslq %eax,%rcx
mov    (%rcx),%al
cmp    $0x5f,%al
je     1169 <BGBDT_TagParse_ParseTokenBasic+0x39>
cmp    $0x24,%al
je     1169 <BGBDT_TagParse_ParseTokenBasic+0x39>
test   %al,%al
jne    1158 <BGBDT_TagParse_ParseTokenBasic+0x28>
movb   $0x0,(%rbx)
jmp    11d7 <BGBDT_TagParse_ParseTokenBasic+0xa7>
mov    %eax,%edx
and    $0xdf,%dl
add    $0xbf,%dl
cmp    $0x19,%dl
ja     11e6 <BGBDT_TagParse_ParseTokenBasic+0xb6>
movb   $0x49,(%rbx)
mov    (%rcx),%dl
test   %dl,%dl
je     11d7 <BGBDT_TagParse_ParseTokenBasic+0xa7>
mov    $0x1,%esi
mov    %rcx,%rax
nopw   0x0(%rax,%rax,1)
cmp    $0x24,%dl
je     11b0 <BGBDT_TagParse_ParseTokenBasic+0x80>
cmp    $0x5f,%dl
je     11b0 <BGBDT_TagParse_ParseTokenBasic+0x80>
mov    %edx,%ecx
and    $0xdf,%cl
add    $0xbf,%cl
cmp    $0x1a,%cl
jb     11b0 <BGBDT_TagParse_ParseTokenBasic+0x80>
lea    -0x30(%rdx),%ecx
cmp    $0x9,%cl
ja     129b <BGBDT_TagParse_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 <BGBDT_TagParse_ParseTokenBasic+0x9f>
cmp    $0xfb,%rsi
mov    %rcx,%rsi
jb     1180 <BGBDT_TagParse_ParseTokenBasic+0x50>
add    %rcx,%rbx
jmp    1668 <BGBDT_TagParse_ParseTokenBasic+0x538>
add    $0x1,%rbx
mov    %rbx,%rsi
mov    %rcx,%rax
jmp    166b <BGBDT_TagParse_ParseTokenBasic+0x53b>
lea    -0x30(%rax),%edx
cmp    $0x9,%dl
ja     12a3 <BGBDT_TagParse_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 <BGBDT_TagParse_ParseTokenBasic+0x3e7>
movzbl %dl,%edx
mov    $0x400007,%esi
bt     %rdx,%rsi
jae    1517 <BGBDT_TagParse_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 <BGBDT_TagParse_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 <BGBDT_TagParse_ParseTokenBasic+0x144>
lea    -0x41(%rcx),%edi
cmp    $0x25,%dil
ja     167a <BGBDT_TagParse_ParseTokenBasic+0x54a>
movzbl %dil,%edi
bt     %rdi,%rsi
jae    167a <BGBDT_TagParse_ParseTokenBasic+0x54a>
lea    0x1(%rdx),%rdi
mov    %cl,(%rbx,%rdx,1)
movzbl 0x1(%rax),%ecx
add    $0x1,%rax
test   %cl,%cl
je     1293 <BGBDT_TagParse_ParseTokenBasic+0x163>
cmp    $0xfb,%rdx
mov    %rdi,%rdx
jb     1250 <BGBDT_TagParse_ParseTokenBasic+0x120>
add    %rdi,%rbx
jmp    1668 <BGBDT_TagParse_ParseTokenBasic+0x538>
add    %rsi,%rbx
jmp    1668 <BGBDT_TagParse_ParseTokenBasic+0x538>
lea    0xfc(%rbx),%r14
cmp    $0x27,%al
je     12eb <BGBDT_TagParse_ParseTokenBasic+0x1bb>
cmp    $0x22,%al
jne    13e7 <BGBDT_TagParse_ParseTokenBasic+0x2b7>
cmpb   $0x22,0x1(%rcx)
jne    1420 <BGBDT_TagParse_ParseTokenBasic+0x2f0>
cmpb   $0x22,0x2(%rcx)
jne    1420 <BGBDT_TagParse_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 <BGBDT_TagParse_ParseTokenBasic+0xab>
movb   $0x43,(%rbx)
add    $0x1,%rbx
mov    0x1(%rcx),%dl
add    $0x1,%rcx
test   %dl,%dl
je     1555 <BGBDT_TagParse_ParseTokenBasic+0x425>
lea    0xcf8(%rip),%r15
mov    %rcx,%r12
nopl   0x0(%rax,%rax,1)
cmp    $0x5c,%dl
je     1343 <BGBDT_TagParse_ParseTokenBasic+0x213>
cmp    $0x27,%dl
je     1587 <BGBDT_TagParse_ParseTokenBasic+0x457>
add    $0x1,%r12
mov    %dl,(%rbx)
add    $0x1,%rbx
mov    %r12,%rcx
movzbl (%rcx),%edx
test   %dl,%dl
je     158a <BGBDT_TagParse_ParseTokenBasic+0x45a>
mov    %rcx,%r12
cmp    %r14,%rbx
jb     1310 <BGBDT_TagParse_ParseTokenBasic+0x1e0>
jmp    158a <BGBDT_TagParse_ParseTokenBasic+0x45a>
lea    0x1(%r12),%rcx
movsbl 0x1(%r12),%eax
add    $0xffffffde,%eax
cmp    $0x56,%eax
ja     132b <BGBDT_TagParse_ParseTokenBasic+0x1fb>
movslq (%r15,%rax,4),%rax
add    %r15,%rax
jmp    *%rax
add    $0x2,%r12
movb   $0x22,(%rbx)
jmp    1324 <BGBDT_TagParse_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0x27,(%rbx)
jmp    1324 <BGBDT_TagParse_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0x5c,(%rbx)
jmp    1324 <BGBDT_TagParse_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0x8,(%rbx)
jmp    1324 <BGBDT_TagParse_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0xa,(%rbx)
jmp    1324 <BGBDT_TagParse_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0xd,(%rbx)
jmp    1324 <BGBDT_TagParse_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0x9,(%rbx)
jmp    1324 <BGBDT_TagParse_ParseTokenBasic+0x1f4>
lea    0x2(%r12),%rdi
mov    $0x4,%esi
xor    %eax,%eax
call   1030 <BGBDT_TagParse_ParseHexN@plt>
mov    %rbx,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1040 <BGBDT_TagParse_EmitUtf8@plt>
movslq %eax,%rbx
add    $0x6,%r12
jmp    1328 <BGBDT_TagParse_ParseTokenBasic+0x1f8>
lea    0x2(%r12),%rdi
mov    $0x2,%esi
xor    %eax,%eax
call   1030 <BGBDT_TagParse_ParseHexN@plt>
mov    %al,(%rbx)
add    $0x1,%rbx
add    $0x4,%r12
jmp    1328 <BGBDT_TagParse_ParseTokenBasic+0x1f8>
movb   $0x58,(%rbx)
movsbl (%rcx),%edx
mov    %edx,%eax
add    $0xffffffdf,%eax
cmp    $0x5d,%eax
ja     1407 <BGBDT_TagParse_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 <BGBDT_TagParse_ParseTokenBasic+0xab>
add    $0x3,%rbx
jmp    1668 <BGBDT_TagParse_ParseTokenBasic+0x538>
add    $0x1,%rcx
movb   $0x53,(%rbx)
add    $0x1,%rbx
mov    (%rcx),%dl
test   %dl,%dl
je     1559 <BGBDT_TagParse_ParseTokenBasic+0x429>
lea    0xd20(%rip),%r15
mov    %rcx,%r12
nop
cmp    $0x5c,%dl
je     1473 <BGBDT_TagParse_ParseTokenBasic+0x343>
cmp    $0x22,%dl
je     165a <BGBDT_TagParse_ParseTokenBasic+0x52a>
add    $0x1,%r12
mov    %dl,(%rbx)
add    $0x1,%rbx
mov    %r12,%rcx
movzbl (%rcx),%edx
test   %dl,%dl
je     165d <BGBDT_TagParse_ParseTokenBasic+0x52d>
mov    %rcx,%r12
cmp    %r14,%rbx
jb     1440 <BGBDT_TagParse_ParseTokenBasic+0x310>
jmp    165d <BGBDT_TagParse_ParseTokenBasic+0x52d>
lea    0x1(%r12),%rcx
movsbl 0x1(%r12),%eax
add    $0xffffffde,%eax
cmp    $0x56,%eax
ja     145b <BGBDT_TagParse_ParseTokenBasic+0x32b>
movslq (%r15,%rax,4),%rax
add    %r15,%rax
jmp    *%rax
add    $0x2,%r12
movb   $0x22,(%rbx)
jmp    1454 <BGBDT_TagParse_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0x27,(%rbx)
jmp    1454 <BGBDT_TagParse_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0x5c,(%rbx)
jmp    1454 <BGBDT_TagParse_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0x8,(%rbx)
jmp    1454 <BGBDT_TagParse_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0xa,(%rbx)
jmp    1454 <BGBDT_TagParse_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0xd,(%rbx)
jmp    1454 <BGBDT_TagParse_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0x9,(%rbx)
jmp    1454 <BGBDT_TagParse_ParseTokenBasic+0x324>
lea    0x2(%r12),%rdi
mov    $0x4,%esi
xor    %eax,%eax
call   1030 <BGBDT_TagParse_ParseHexN@plt>
mov    %rbx,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1040 <BGBDT_TagParse_EmitUtf8@plt>
movslq %eax,%rbx
add    $0x6,%r12
jmp    1458 <BGBDT_TagParse_ParseTokenBasic+0x328>
lea    0x2(%r12),%rdi
mov    $0x2,%esi
xor    %eax,%eax
call   1030 <BGBDT_TagParse_ParseHexN@plt>
mov    %al,(%rbx)
add    $0x1,%rbx
add    $0x4,%r12
jmp    1458 <BGBDT_TagParse_ParseTokenBasic+0x328>
add    $0x1,%rcx
test   %al,%al
je     1560 <BGBDT_TagParse_ParseTokenBasic+0x430>
mov    $0x2,%edi
cmp    $0x5f,%al
je     1530 <BGBDT_TagParse_ParseTokenBasic+0x400>
lea    -0x30(%rax),%edx
cmp    $0x9,%dl
ja     1594 <BGBDT_TagParse_ParseTokenBasic+0x464>
lea    0x1(%rdi),%r9
mov    %al,(%rbx,%rdi,1)
movzbl 0x1(%rcx),%eax
add    $0x1,%rcx
test   %al,%al
je     154f <BGBDT_TagParse_ParseTokenBasic+0x41f>
cmp    $0xfb,%rdi
mov    %r9,%rdi
jb     1524 <BGBDT_TagParse_ParseTokenBasic+0x3f4>
lea    (%rbx,%r9,1),%rsi
jmp    159b <BGBDT_TagParse_ParseTokenBasic+0x46b>
xor    %edx,%edx
jmp    158a <BGBDT_TagParse_ParseTokenBasic+0x45a>
xor    %edx,%edx
jmp    165d <BGBDT_TagParse_ParseTokenBasic+0x52d>
lea    0x2(%rbx),%rsi
jmp    1652 <BGBDT_TagParse_ParseTokenBasic+0x522>
mov    %dl,0x1(%rbx)
cmpb   $0x3d,0x1(%rcx)
jne    17ca <BGBDT_TagParse_ParseTokenBasic+0x69a>
add    $0x2,%rcx
movb   $0x3d,0x2(%rbx)
add    $0x3,%rbx
jmp    11db <BGBDT_TagParse_ParseTokenBasic+0xab>
mov    %r12,%rcx
xor    %eax,%eax
cmp    $0x27,%dl
jmp    1662 <BGBDT_TagParse_ParseTokenBasic+0x532>
lea    (%rbx,%rdi,1),%rsi
mov    %rdi,%r9
cmp    $0x2e,%al
jne    1652 <BGBDT_TagParse_ParseTokenBasic+0x522>
movb   $0x2e,(%rbx,%r9,1)
lea    0x1(%rcx),%rax
lea    (%rbx,%r9,1),%rsi
add    $0x1,%rsi
mov    0x1(%rcx),%r8b
test   %r8b,%r8b
je     1621 <BGBDT_TagParse_ParseTokenBasic+0x4f1>
cmp    $0xfa,%r9
ja     1621 <BGBDT_TagParse_ParseTokenBasic+0x4f1>
cmp    $0x5f,%r8b
je     15d6 <BGBDT_TagParse_ParseTokenBasic+0x4a6>
lea    -0x30(%r8),%edi
cmp    $0x9,%dil
ja     1621 <BGBDT_TagParse_ParseTokenBasic+0x4f1>
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     1615 <BGBDT_TagParse_ParseTokenBasic+0x4e5>
cmp    $0xfb,%r9
jae    1615 <BGBDT_TagParse_ParseTokenBasic+0x4e5>
lea    0x1(%rax),%rcx
lea    0x1(%r9),%rdx
cmp    $0x5f,%r8b
je     15e1 <BGBDT_TagParse_ParseTokenBasic+0x4b1>
lea    -0x30(%r8),%edi
cmp    $0x9,%dil
jbe    15e1 <BGBDT_TagParse_ParseTokenBasic+0x4b1>
lea    (%rbx,%r9,1),%rsi
add    $0x1,%rsi
lea    -0x1(%rax),%rcx
mov    %r8d,%edx
or     $0x20,%dl
cmp    $0x65,%dl
jne    166b <BGBDT_TagParse_ParseTokenBasic+0x53b>
mov    %r8b,(%rsi)
mov    0x2(%rcx),%dil
cmp    $0x2d,%dil
je     163f <BGBDT_TagParse_ParseTokenBasic+0x50f>
cmp    $0x2b,%dil
jne    167f <BGBDT_TagParse_ParseTokenBasic+0x54f>
mov    %dil,0x2(%rbx,%r9,1)
add    $0x3,%r9
mov    0x3(%rcx),%dil
add    $0x3,%rcx
jmp    1687 <BGBDT_TagParse_ParseTokenBasic+0x557>
movb   $0x7c,(%rbx)
mov    %rcx,%rax
jmp    166b <BGBDT_TagParse_ParseTokenBasic+0x53b>
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
add    %rdx,%rbx
jmp    1668 <BGBDT_TagParse_ParseTokenBasic+0x538>
add    $0x2,%rcx
add    $0x2,%r9
mov    %rcx,%rax
lea    (%rbx,%r9,1),%rsi
test   %dil,%dil
je     166b <BGBDT_TagParse_ParseTokenBasic+0x53b>
cmp    $0xfb,%r9
jg     166b <BGBDT_TagParse_ParseTokenBasic+0x53b>
cmp    $0x5f,%dil
je     16ae <BGBDT_TagParse_ParseTokenBasic+0x57e>
lea    -0x30(%rdi),%ecx
cmp    $0x9,%cl
ja     1816 <BGBDT_TagParse_ParseTokenBasic+0x6e6>
lea    0x1(%r9),%rcx
mov    %dil,(%rbx,%r9,1)
movzbl 0x1(%rax),%edi
add    $0x1,%rax
test   %dil,%dil
je     11cf <BGBDT_TagParse_ParseTokenBasic+0x9f>
cmp    $0xfb,%r9
mov    %rcx,%r9
jb     169c <BGBDT_TagParse_ParseTokenBasic+0x56c>
jmp    11cf <BGBDT_TagParse_ParseTokenBasic+0x9f>
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
movsbl %al,%edx
lea    -0x23(%rdx),%esi
cmp    $0x3a,%esi
ja     16fd <BGBDT_TagParse_ParseTokenBasic+0x5cd>
movabs $0x500000000800061,%rdi
bt     %rsi,%rdi
jb     1806 <BGBDT_TagParse_ParseTokenBasic+0x6d6>
cmp    $0x7d,%edx
je     1806 <BGBDT_TagParse_ParseTokenBasic+0x6d6>
cmp    $0x7b,%edx
jne    17ca <BGBDT_TagParse_ParseTokenBasic+0x69a>
jmp    1806 <BGBDT_TagParse_ParseTokenBasic+0x6d6>
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
movsbl %al,%edx
cmp    $0x26,%edx
jne    1801 <BGBDT_TagParse_ParseTokenBasic+0x6d1>
jmp    179e <BGBDT_TagParse_ParseTokenBasic+0x66e>
lea    0x1(%rcx),%rax
lea    0x2(%rbx),%rsi
mov    %dl,0x1(%rbx)
movzbl 0x1(%rcx),%edx
cmp    $0x3e,%rdx
ja     166b <BGBDT_TagParse_ParseTokenBasic+0x53b>
movabs $0x6000200000000000,%rdi
bt     %rdx,%rdi
jae    166b <BGBDT_TagParse_ParseTokenBasic+0x53b>
add    $0x2,%rcx
mov    %dl,0x2(%rbx)
add    $0x3,%rbx
jmp    11db <BGBDT_TagParse_ParseTokenBasic+0xab>
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
movsbl %al,%edx
cmp    $0x3c,%edx
jne    1801 <BGBDT_TagParse_ParseTokenBasic+0x6d1>
mov    %al,0x2(%rbx)
mov    0x2(%rcx),%al
mov    %eax,%edx
and    $0xfe,%dl
cmp    $0x3c,%dl
je     12db <BGBDT_TagParse_ParseTokenBasic+0x1ab>
jmp    183d <BGBDT_TagParse_ParseTokenBasic+0x70d>
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
movsbl %al,%edx
cmp    $0x7c,%edx
jne    1801 <BGBDT_TagParse_ParseTokenBasic+0x6d1>
mov    %al,0x2(%rbx)
cmpb   $0x3d,0x2(%rcx)
jne    183d <BGBDT_TagParse_ParseTokenBasic+0x70d>
add    $0x3,%rcx
movb   $0x3d,0x3(%rbx)
add    $0x4,%rbx
jmp    11db <BGBDT_TagParse_ParseTokenBasic+0xab>
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
cmp    $0x3d,%al
je     1806 <BGBDT_TagParse_ParseTokenBasic+0x6d6>
cmp    $0x2b,%al
je     1806 <BGBDT_TagParse_ParseTokenBasic+0x6d6>
add    $0x1,%rcx
add    $0x2,%rbx
jmp    11db <BGBDT_TagParse_ParseTokenBasic+0xab>
cmpb   $0x2e,0x1(%rcx)
jne    1407 <BGBDT_TagParse_ParseTokenBasic+0x2d7>
cmpb   $0x2e,0x2(%rcx)
jne    1407 <BGBDT_TagParse_ParseTokenBasic+0x2d7>
mov    %dl,0x1(%rbx)
jmp    12d2 <BGBDT_TagParse_ParseTokenBasic+0x1a2>
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
movsbl %al,%edx
cmp    $0x3e,%edx
je     181e <BGBDT_TagParse_ParseTokenBasic+0x6ee>
cmp    $0x3d,%edx
jne    17ca <BGBDT_TagParse_ParseTokenBasic+0x69a>
add    $0x2,%rcx
mov    %al,0x2(%rbx)
add    $0x3,%rbx
jmp    11db <BGBDT_TagParse_ParseTokenBasic+0xab>
add    %r9,%rbx
jmp    1668 <BGBDT_TagParse_ParseTokenBasic+0x538>
mov    %al,0x2(%rbx)
movsbl 0x2(%rcx),%eax
lea    -0x3d(%rax),%edx
cmp    $0x1,%edx
ja     183d <BGBDT_TagParse_ParseTokenBasic+0x70d>
add    $0x3,%rcx
mov    %al,0x3(%rbx)
add    $0x4,%rbx
jmp    11db <BGBDT_TagParse_ParseTokenBasic+0xab>
add    $0x2,%rcx
add    $0x3,%rbx
jmp    11db <BGBDT_TagParse_ParseTokenBasic+0xab>

LLVM IR (-O0):
define i8* @BGBDT_TagParse_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 (...)* @BGBDT_TagParse_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 %997
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 %997
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 %389
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 %389
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 %997
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 %383
271: ; preds = %266
%272 = load i8*, i8** %4
%273 = getelementptr inbounds i8, i8* %272, i32 1
store i8* %273, i8** %4
%274 = load i8, i8* %272
%275 = load i8*, i8** %6
%276 = getelementptr inbounds i8, i8* %275, i32 1
store i8* %276, i8** %6
store i8 %274, i8* %275
br label %277
277: ; preds = %307, %271
%278 = load i8*, i8** %4
%279 = load i8, i8* %278
%280 = sext i8 %279 to i32
%281 = icmp ne i32 %280, 0
br i1 %281, label %282, label %305
282: ; preds = %277
%283 = load i8*, i8** %6
%284 = load i8*, i8** %7
%285 = icmp ult i8* %283, %284
br i1 %285, label %286, label %305
286: ; preds = %282
%287 = load i8*, i8** %4
%288 = load i8, i8* %287
%289 = sext i8 %288 to i32
%290 = icmp eq i32 %289, 95
br i1 %290, label %303, label %291
291: ; preds = %286
%292 = load i8*, i8** %4
%293 = load i8, i8* %292
%294 = sext i8 %293 to i32
%295 = icmp sge i32 %294, 48
br i1 %295, label %296, label %301
296: ; preds = %291
%297 = load i8*, i8** %4
%298 = load i8, i8* %297
%299 = sext i8 %298 to i32
%300 = icmp sle i32 %299, 57
br label %301
301: ; preds = %296, %291
%302 = phi i1 [ false, %291 ], [ %300, %296 ]
br label %303
303: ; preds = %301, %286
%304 = phi i1 [ true, %286 ], [ %302, %301 ]
br label %305
305: ; preds = %303, %282, %277
%306 = phi i1 [ false, %282 ], [ false, %277 ], [ %304, %303 ]
br i1 %306, label %307, label %313
307: ; preds = %305
%308 = load i8*, i8** %4
%309 = getelementptr inbounds i8, i8* %308, i32 1
store i8* %309, i8** %4
%310 = load i8, i8* %308
%311 = load i8*, i8** %6
%312 = getelementptr inbounds i8, i8* %311, i32 1
store i8* %312, i8** %6
store i8 %310, i8* %311
br label %277
313: ; preds = %305
%314 = load i8*, i8** %4
%315 = load i8, i8* %314
%316 = sext i8 %315 to i32
%317 = icmp eq i32 %316, 101
br i1 %317, label %323, label %318
318: ; preds = %313
%319 = load i8*, i8** %4
%320 = load i8, i8* %319
%321 = sext i8 %320 to i32
%322 = icmp eq i32 %321, 69
br i1 %322, label %323, label %382
323: ; preds = %318, %313
%324 = load i8*, i8** %4
%325 = getelementptr inbounds i8, i8* %324, i32 1
store i8* %325, i8** %4
%326 = load i8, i8* %324
%327 = load i8*, i8** %6
%328 = getelementptr inbounds i8, i8* %327, i32 1
store i8* %328, i8** %6
store i8 %326, i8* %327
%329 = load i8*, i8** %4
%330 = load i8, i8* %329
%331 = sext i8 %330 to i32
%332 = icmp eq i32 %331, 43
br i1 %332, label %338, label %333
333: ; preds = %323
%334 = load i8*, i8** %4
%335 = load i8, i8* %334
%336 = sext i8 %335 to i32
%337 = icmp eq i32 %336, 45
br i1 %337, label %338, label %344
338: ; preds = %333, %323
%339 = load i8*, i8** %4
%340 = getelementptr inbounds i8, i8* %339, i32 1
store i8* %340, i8** %4
%341 = load i8, i8* %339
%342 = load i8*, i8** %6
%343 = getelementptr inbounds i8, i8* %342, i32 1
store i8* %343, i8** %6
store i8 %341, i8* %342
br label %344
344: ; preds = %338, %333
br label %345
345: ; preds = %375, %344
%346 = load i8*, i8** %4
%347 = load i8, i8* %346
%348 = sext i8 %347 to i32
%349 = icmp ne i32 %348, 0
br i1 %349, label %350, label %373
350: ; preds = %345
%351 = load i8*, i8** %6
%352 = load i8*, i8** %7
%353 = icmp ult i8* %351, %352
br i1 %353, label %354, label %373
354: ; preds = %350
%355 = load i8*, i8** %4
%356 = load i8, i8* %355
%357 = sext i8 %356 to i32
%358 = icmp eq i32 %357, 95
br i1 %358, label %371, label %359
359: ; preds = %354
%360 = load i8*, i8** %4
%361 = load i8, i8* %360
%362 = sext i8 %361 to i32
%363 = icmp sge i32 %362, 48
br i1 %363, label %364, label %369
364: ; preds = %359
%365 = load i8*, i8** %4
%366 = load i8, i8* %365
%367 = sext i8 %366 to i32
%368 = icmp sle i32 %367, 57
br label %369
369: ; preds = %364, %359
%370 = phi i1 [ false, %359 ], [ %368, %364 ]
br label %371
371: ; preds = %369, %354
%372 = phi i1 [ true, %354 ], [ %370, %369 ]
br label %373
373: ; preds = %371, %350, %345
%374 = phi i1 [ false, %350 ], [ false, %345 ], [ %372, %371 ]
br i1 %374, label %375, label %381
375: ; preds = %373
%376 = load i8*, i8** %4
%377 = getelementptr inbounds i8, i8* %376, i32 1
store i8* %377, i8** %4
%378 = load i8, i8* %376
%379 = load i8*, i8** %6
%380 = getelementptr inbounds i8, i8* %379, i32 1
store i8* %380, i8** %6
store i8 %378, i8* %379
br label %345
381: ; preds = %373
br label %382
382: ; preds = %381, %318
br label %385
383: ; preds = %266
%384 = load i8*, i8** %5
store i8 124, i8* %384
br label %385
385: ; preds = %383, %382
%386 = load i8*, i8** %6
%387 = getelementptr inbounds i8, i8* %386, i32 1
store i8* %387, i8** %6
store i8 0, i8* %386
%388 = load i8*, i8** %4
store i8* %388, i8** %3
br label %997
389: ; preds = %130, %125
%390 = load i8*, i8** %4
%391 = load i8, i8* %390
%392 = sext i8 %391 to i32
%393 = icmp eq i32 %392, 34
br i1 %393, label %394, label %536
394: ; preds = %389
%395 = load i8*, i8** %4
%396 = getelementptr inbounds i8, i8* %395, i64 1
%397 = load i8, i8* %396
%398 = sext i8 %397 to i32
%399 = icmp eq i32 %398, 34
br i1 %399, label %400, label %427
400: ; preds = %394
%401 = load i8*, i8** %4
%402 = getelementptr inbounds i8, i8* %401, i64 2
%403 = load i8, i8* %402
%404 = sext i8 %403 to i32
%405 = icmp eq i32 %404, 34
br i1 %405, label %406, label %427
406: ; preds = %400
%407 = load i8*, i8** %6
%408 = getelementptr inbounds i8, i8* %407, i32 1
store i8* %408, i8** %6
store i8 88, i8* %407
%409 = load i8*, i8** %4
%410 = getelementptr inbounds i8, i8* %409, i32 1
store i8* %410, i8** %4
%411 = load i8, i8* %409
%412 = load i8*, i8** %6
%413 = getelementptr inbounds i8, i8* %412, i32 1
store i8* %413, i8** %6
store i8 %411, i8* %412
%414 = load i8*, i8** %4
%415 = getelementptr inbounds i8, i8* %414, i32 1
store i8* %415, i8** %4
%416 = load i8, i8* %414
%417 = load i8*, i8** %6
%418 = getelementptr inbounds i8, i8* %417, i32 1
store i8* %418, i8** %6
store i8 %416, i8* %417
%419 = load i8*, i8** %4
%420 = getelementptr inbounds i8, i8* %419, i32 1
store i8* %420, i8** %4
%421 = load i8, i8* %419
%422 = load i8*, i8** %6
%423 = getelementptr inbounds i8, i8* %422, i32 1
store i8* %423, i8** %6
store i8 %421, i8* %422
%424 = load i8*, i8** %6
%425 = getelementptr inbounds i8, i8* %424, i32 1
store i8* %425, i8** %6
store i8 0, i8* %424
%426 = load i8*, i8** %4
store i8* %426, i8** %3
br label %997
427: ; preds = %400, %394
%428 = load i8*, i8** %4
%429 = getelementptr inbounds i8, i8* %428, i32 1
store i8* %429, i8** %4
%430 = load i8*, i8** %6
%431 = getelementptr inbounds i8, i8* %430, i32 1
store i8* %431, i8** %6
store i8 83, i8* %430
br label %432
432: ; preds = %518, %511, %427
%433 = load i8*, i8** %4
%434 = load i8, i8* %433
%435 = sext i8 %434 to i32
%436 = icmp ne i32 %435, 0
br i1 %436, label %437, label %441
437: ; preds = %432
%438 = load i8*, i8** %6
%439 = load i8*, i8** %7
%440 = icmp ult i8* %438, %439
br label %441
441: ; preds = %437, %432
%442 = phi i1 [ false, %432 ], [ %440, %437 ]
br i1 %442, label %443, label %524
443: ; preds = %441
%444 = load i8*, i8** %4
%445 = load i8, i8* %444
%446 = sext i8 %445 to i32
%447 = icmp eq i32 %446, 92
br i1 %447, label %448, label %512
448: ; preds = %443
%449 = load i8*, i8** %4
%450 = getelementptr inbounds i8, i8* %449, i32 1
store i8* %450, i8** %4
%451 = load i8*, i8** %4
%452 = load i8, i8* %451
%453 = sext i8 %452 to i32
switch i32 %453, label %511 [
i32 110, label %454
i32 114, label %459
i32 98, label %464
i32 116, label %469
i32 92, label %474
i32 34, label %479
i32 39, label %484
i32 120, label %489
i32 117, label %499
]
454: ; preds = %448
%455 = load i8*, i8** %4
%456 = getelementptr inbounds i8, i8* %455, i32 1
store i8* %456, i8** %4
%457 = load i8*, i8** %6
%458 = getelementptr inbounds i8, i8* %457, i32 1
store i8* %458, i8** %6
store i8 10, i8* %457
br label %511
459: ; preds = %448
%460 = load i8*, i8** %4
%461 = getelementptr inbounds i8, i8* %460, i32 1
store i8* %461, i8** %4
%462 = load i8*, i8** %6
%463 = getelementptr inbounds i8, i8* %462, i32 1
store i8* %463, i8** %6
store i8 13, i8* %462
br label %511
464: ; preds = %448
%465 = load i8*, i8** %4
%466 = getelementptr inbounds i8, i8* %465, i32 1
store i8* %466, i8** %4
%467 = load i8*, i8** %6
%468 = getelementptr inbounds i8, i8* %467, i32 1
store i8* %468, i8** %6
store i8 8, i8* %467
br label %511
469: ; preds = %448
%470 = load i8*, i8** %4
%471 = getelementptr inbounds i8, i8* %470, i32 1
store i8* %471, i8** %4
%472 = load i8*, i8** %6
%473 = getelementptr inbounds i8, i8* %472, i32 1
store i8* %473, i8** %6
store i8 9, i8* %472
br label %511
474: ; preds = %448
%475 = load i8*, i8** %4
%476 = getelementptr inbounds i8, i8* %475, i32 1
store i8* %476, i8** %4
%477 = load i8*, i8** %6
%478 = getelementptr inbounds i8, i8* %477, i32 1
store i8* %478, i8** %6
store i8 92, i8* %477
br label %511
479: ; preds = %448
%480 = load i8*, i8** %4
%481 = getelementptr inbounds i8, i8* %480, i32 1
store i8* %481, i8** %4
%482 = load i8*, i8** %6
%483 = getelementptr inbounds i8, i8* %482, i32 1
store i8* %483, i8** %6
store i8 34, i8* %482
br label %511
484: ; preds = %448
%485 = load i8*, i8** %4
%486 = getelementptr inbounds i8, i8* %485, i32 1
store i8* %486, i8** %4
%487 = load i8*, i8** %6
%488 = getelementptr inbounds i8, i8* %487, i32 1
store i8* %488, i8** %6
store i8 39, i8* %487
br label %511
489: ; preds = %448
%490 = load i8*, i8** %4
%491 = getelementptr inbounds i8, i8* %490, i32 1
store i8* %491, i8** %4
%492 = load i8*, i8** %4
%493 = call i32 (i8*, i32, ...) bitcast (i32 (...)* @BGBDT_TagParse_ParseHexN to i32 (i8*, i32, ...)*)(i8* %492, i32 2)
%494 = trunc i32 %493 to i8
%495 = load i8*, i8** %6
%496 = getelementptr inbounds i8, i8* %495, i32 1
store i8* %496, i8** %6
store i8 %494, i8* %495
%497 = load i8*, i8** %4
%498 = getelementptr inbounds i8, i8* %497, i64 2
store i8* %498, i8** %4
br label %511
499: ; preds = %448
%500 = load i8*, i8** %4
%501 = getelementptr inbounds i8, i8* %500, i32 1
store i8* %501, i8** %4
%502 = load i8*, i8** %4
%503 = call i32 (i8*, i32, ...) bitcast (i32 (...)* @BGBDT_TagParse_ParseHexN to i32 (i8*, i32, ...)*)(i8* %502, i32 4)
store i32 %503, i32* %8
%504 = load i8*, i8** %6
%505 = load i32, i32* %8
%506 = call i32 (i8*, i32, ...) bitcast (i32 (...)* @BGBDT_TagParse_EmitUtf8 to i32 (i8*, i32, ...)*)(i8* %504, i32 %505)
%507 = sext i32 %506 to i64
%508 = inttoptr i64 %507 to i8*
store i8* %508, i8** %6
%509 = load i8*, i8** %4
%510 = getelementptr inbounds i8, i8* %509, i64 4
store i8* %510, i8** %4
br label %511
511: ; preds = %448, %499, %489, %484, %479, %474, %469, %464, %459, %454
br label %432
512: ; preds = %443
%513 = load i8*, i8** %4
%514 = load i8, i8* %513
%515 = sext i8 %514 to i32
%516 = icmp eq i32 %515, 34
br i1 %516, label %517, label %518
517: ; preds = %512
br label %524
518: ; preds = %512
%519 = load i8*, i8** %4
%520 = getelementptr inbounds i8, i8* %519, i32 1
store i8* %520, i8** %4
%521 = load i8, i8* %519
%522 = load i8*, i8** %6
%523 = getelementptr inbounds i8, i8* %522, i32 1
store i8* %523, i8** %6
store i8 %521, i8* %522
br label %432
524: ; preds = %517, %441
%525 = load i8*, i8** %4
%526 = load i8, i8* %525
%527 = sext i8 %526 to i32
%528 = icmp eq i32 %527, 34
br i1 %528, label %529, label %532
529: ; preds = %524
%530 = load i8*, i8** %4
%531 = getelementptr inbounds i8, i8* %530, i32 1
store i8* %531, i8** %4
br label %532
532: ; preds = %529, %524
%533 = load i8*, i8** %6
%534 = getelementptr inbounds i8, i8* %533, i32 1
store i8* %534, i8** %6
store i8 0, i8* %533
%535 = load i8*, i8** %4
store i8* %535, i8** %3
br label %997
536: ; preds = %389
%537 = load i8*, i8** %4
%538 = load i8, i8* %537
%539 = sext i8 %538 to i32
%540 = icmp eq i32 %539, 39
br i1 %540, label %541, label %650
541: ; preds = %536
%542 = load i8*, i8** %4
%543 = getelementptr inbounds i8, i8* %542, i32 1
store i8* %543, i8** %4
%544 = load i8*, i8** %6
%545 = getelementptr inbounds i8, i8* %544, i32 1
store i8* %545, i8** %6
store i8 67, i8* %544
br label %546
546: ; preds = %632, %625, %541
%547 = load i8*, i8** %4
%548 = load i8, i8* %547
%549 = sext i8 %548 to i32
%550 = icmp ne i32 %549, 0
br i1 %550, label %551, label %555
551: ; preds = %546
%552 = load i8*, i8** %6
%553 = load i8*, i8** %7
%554 = icmp ult i8* %552, %553
br label %555
555: ; preds = %551, %546
%556 = phi i1 [ false, %546 ], [ %554, %551 ]
br i1 %556, label %557, label %638
557: ; preds = %555
%558 = load i8*, i8** %4
%559 = load i8, i8* %558
%560 = sext i8 %559 to i32
%561 = icmp eq i32 %560, 92
br i1 %561, label %562, label %626
562: ; preds = %557
%563 = load i8*, i8** %4
%564 = getelementptr inbounds i8, i8* %563, i32 1
store i8* %564, i8** %4
%565 = load i8*, i8** %4
%566 = load i8, i8* %565
%567 = sext i8 %566 to i32
switch i32 %567, label %625 [
i32 110, label %568
i32 114, label %573
i32 98, label %578
i32 116, label %583
i32 92, label %588
i32 34, label %593
i32 39, label %598
i32 120, label %603
i32 117, label %613
]
568: ; preds = %562
%569 = load i8*, i8** %4
%570 = getelementptr inbounds i8, i8* %569, i32 1
store i8* %570, i8** %4
%571 = load i8*, i8** %6
%572 = getelementptr inbounds i8, i8* %571, i32 1
store i8* %572, i8** %6
store i8 10, i8* %571
br label %625
573: ; preds = %562
%574 = load i8*, i8** %4
%575 = getelementptr inbounds i8, i8* %574, i32 1
store i8* %575, i8** %4
%576 = load i8*, i8** %6
%577 = getelementptr inbounds i8, i8* %576, i32 1
store i8* %577, i8** %6
store i8 13, i8* %576
br label %625
578: ; preds = %562
%579 = load i8*, i8** %4
%580 = getelementptr inbounds i8, i8* %579, i32 1
store i8* %580, i8** %4
%581 = load i8*, i8** %6
%582 = getelementptr inbounds i8, i8* %581, i32 1
store i8* %582, i8** %6
store i8 8, i8* %581
br label %625
583: ; preds = %562
%584 = load i8*, i8** %4
%585 = getelementptr inbounds i8, i8* %584, i32 1
store i8* %585, i8** %4
%586 = load i8*, i8** %6
%587 = getelementptr inbounds i8, i8* %586, i32 1
store i8* %587, i8** %6
store i8 9, i8* %586
br label %625
588: ; preds = %562
%589 = load i8*, i8** %4
%590 = getelementptr inbounds i8, i8* %589, i32 1
store i8* %590, i8** %4
%591 = load i8*, i8** %6
%592 = getelementptr inbounds i8, i8* %591, i32 1
store i8* %592, i8** %6
store i8 92, i8* %591
br label %625
593: ; preds = %562
%594 = load i8*, i8** %4
%595 = getelementptr inbounds i8, i8* %594, i32 1
store i8* %595, i8** %4
%596 = load i8*, i8** %6
%597 = getelementptr inbounds i8, i8* %596, i32 1
store i8* %597, i8** %6
store i8 34, i8* %596
br label %625
598: ; preds = %562
%599 = load i8*, i8** %4
%600 = getelementptr inbounds i8, i8* %599, i32 1
store i8* %600, i8** %4
%601 = load i8*, i8** %6
%602 = getelementptr inbounds i8, i8* %601, i32 1
store i8* %602, i8** %6
store i8 39, i8* %601
br label %625
603: ; preds = %562
%604 = load i8*, i8** %4
%605 = getelementptr inbounds i8, i8* %604, i32 1
store i8* %605, i8** %4
%606 = load i8*, i8** %4
%607 = call i32 (i8*, i32, ...) bitcast (i32 (...)* @BGBDT_TagParse_ParseHexN to i32 (i8*, i32, ...)*)(i8* %606, i32 2)
%608 = trunc i32 %607 to i8
%609 = load i8*, i8** %6
%610 = getelementptr inbounds i8, i8* %609, i32 1
store i8* %610, i8** %6
store i8 %608, i8* %609
%611 = load i8*, i8** %4
%612 = getelementptr inbounds i8, i8* %611, i64 2
store i8* %612, i8** %4
br label %625
613: ; preds = %562
%614 = load i8*, i8** %4
%615 = getelementptr inbounds i8, i8* %614, i32 1
store i8* %615, i8** %4
%616 = load i8*, i8** %4
%617 = call i32 (i8*, i32, ...) bitcast (i32 (...)* @BGBDT_TagParse_ParseHexN to i32 (i8*, i32, ...)*)(i8* %616, i32 4)
store i32 %617, i32* %8
%618 = load i8*, i8** %6
%619 = load i32, i32* %8
%620 = call i32 (i8*, i32, ...) bitcast (i32 (...)* @BGBDT_TagParse_EmitUtf8 to i32 (i8*, i32, ...)*)(i8* %618, i32 %619)
%621 = sext i32 %620 to i64
%622 = inttoptr i64 %621 to i8*
store i8* %622, i8** %6
%623 = load i8*, i8** %4
%624 = getelementptr inbounds i8, i8* %623, i64 4
store i8* %624, i8** %4
br label %625
625: ; preds = %562, %613, %603, %598, %593, %588, %583, %578, %573, %568
br label %546
626: ; preds = %557
%627 = load i8*, i8** %4
%628 = load i8, i8* %627
%629 = sext i8 %628 to i32
%630 = icmp eq i32 %629, 39
br i1 %630, label %631, label %632
631: ; preds = %626
br label %638
632: ; preds = %626
%633 = load i8*, i8** %4
%634 = getelementptr inbounds i8, i8* %633, i32 1
store i8* %634, i8** %4
%635 = load i8, i8* %633
%636 = load i8*, i8** %6
%637 = getelementptr inbounds i8, i8* %636, i32 1
store i8* %637, i8** %6
store i8 %635, i8* %636
br label %546
638: ; preds = %631, %555
%639 = load i8*, i8** %4
%640 = load i8, i8* %639
%641 = sext i8 %640 to i32
%642 = icmp eq i32 %641, 39
br i1 %642, label %643, label %646
643: ; preds = %638
%644 = load i8*, i8** %4
%645 = getelementptr inbounds i8, i8* %644, i32 1
store i8* %645, i8** %4
br label %646
646: ; preds = %643, %638
%647 = load i8*, i8** %6
%648 = getelementptr inbounds i8, i8* %647, i32 1
store i8* %648, i8** %6
store i8 0, i8* %647
%649 = load i8*, i8** %4
store i8* %649, i8** %3
br label %997
650: ; preds = %536
%651 = load i8*, i8** %6
%652 = getelementptr inbounds i8, i8* %651, i32 1
store i8* %652, i8** %6
store i8 88, i8* %651
%653 = load i8*, i8** %4
%654 = load i8, i8* %653
%655 = sext i8 %654 to i32
switch i32 %655, label %987 [
i32 45, label %656
i32 43, label %685
i32 61, label %709
i32 33, label %709
i32 47, label %709
i32 42, label %709
i32 37, label %709
i32 94, label %709
i32 124, label %728
i32 38, label %764
i32 60, label %800
i32 62, label %836
i32 35, label %872
i32 126, label %933
i32 63, label %933
i32 64, label %933
i32 92, label %933
i32 59, label %933
i32 58, label %933
i32 44, label %933
i32 46, label %941
i32 40, label %979
i32 41, label %979
i32 91, label %979
i32 93, label %979
i32 123, label %979
i32 125, label %979
]
656: ; preds = %650
%657 = load i8*, i8** %4
%658 = getelementptr inbounds i8, i8* %657, i32 1
store i8* %658, i8** %4
%659 = load i8, i8* %657
%660 = load i8*, i8** %6
%661 = getelementptr inbounds i8, i8* %660, i32 1
store i8* %661, i8** %6
store i8 %659, i8* %660
%662 = load i8*, i8** %4
%663 = load i8, i8* %662
%664 = sext i8 %663 to i32
%665 = icmp eq i32 %664, 45
br i1 %665, label %676, label %666
666: ; preds = %656
%667 = load i8*, i8** %4
%668 = load i8, i8* %667
%669 = sext i8 %668 to i32
%670 = icmp eq i32 %669, 61
br i1 %670, label %676, label %671
671: ; preds = %666
%672 = load i8*, i8** %4
%673 = load i8, i8* %672
%674 = sext i8 %673 to i32
%675 = icmp eq i32 %674, 62
br i1 %675, label %676, label %682
676: ; preds = %671, %666, %656
%677 = load i8*, i8** %4
%678 = getelementptr inbounds i8, i8* %677, i32 1
store i8* %678, i8** %4
%679 = load i8, i8* %677
%680 = load i8*, i8** %6
%681 = getelementptr inbounds i8, i8* %680, i32 1
store i8* %681, i8** %6
store i8 %679, i8* %680
br label %682
682: ; preds = %676, %671
%683 = load i8*, i8** %6
%684 = getelementptr inbounds i8, i8* %683, i32 1
store i8* %684, i8** %6
store i8 0, i8* %683
br label %995
685: ; preds = %650
%686 = load i8*, i8** %4
%687 = getelementptr inbounds i8, i8* %686, i32 1
store i8* %687, i8** %4
%688 = load i8, i8* %686
%689 = load i8*, i8** %6
%690 = getelementptr inbounds i8, i8* %689, i32 1
store i8* %690, i8** %6
store i8 %688, i8* %689
%691 = load i8*, i8** %4
%692 = load i8, i8* %691
%693 = sext i8 %692 to i32
%694 = icmp eq i32 %693, 43
br i1 %694, label %700, label %695
695: ; preds = %685
%696 = load i8*, i8** %4
%697 = load i8, i8* %696
%698 = sext i8 %697 to i32
%699 = icmp eq i32 %698, 61
br i1 %699, label %700, label %706
700: ; preds = %695, %685
%701 = load i8*, i8** %4
%702 = getelementptr inbounds i8, i8* %701, i32 1
store i8* %702, i8** %4
%703 = load i8, i8* %701
%704 = load i8*, i8** %6
%705 = getelementptr inbounds i8, i8* %704, i32 1
store i8* %705, i8** %6
store i8 %703, i8* %704
br label %706
706: ; preds = %700, %695
%707 = load i8*, i8** %6
%708 = getelementptr inbounds i8, i8* %707, i32 1
store i8* %708, i8** %6
store i8 0, i8* %707
br label %995
709: ; preds = %650, %650, %650, %650, %650, %650
%710 = load i8*, i8** %4
%711 = getelementptr inbounds i8, i8* %710, i32 1
store i8* %711, i8** %4
%712 = load i8, i8* %710
%713 = load i8*, i8** %6
%714 = getelementptr inbounds i8, i8* %713, i32 1
store i8* %714, i8** %6
store i8 %712, i8* %713
%715 = load i8*, i8** %4
%716 = load i8, i8* %715
%717 = sext i8 %716 to i32
%718 = icmp eq i32 %717, 61
br i1 %718, label %719, label %725
719: ; preds = %709
%720 = load i8*, i8** %4
%721 = getelementptr inbounds i8, i8* %720, i32 1
store i8* %721, i8** %4
%722 = load i8, i8* %720
%723 = load i8*, i8** %6
%724 = getelementptr inbounds i8, i8* %723, i32 1
store i8* %724, i8** %6
store i8 %722, i8* %723
br label %725
725: ; preds = %719, %709
%726 = load i8*, i8** %6
%727 = getelementptr inbounds i8, i8* %726, i32 1
store i8* %727, i8** %6
store i8 0, i8* %726
br label %995
728: ; preds = %650
%729 = load i8*, i8** %4
%730 = getelementptr inbounds i8, i8* %729, i32 1
store i8* %730, i8** %4
%731 = load i8, i8* %729
%732 = load i8*, i8** %6
%733 = getelementptr inbounds i8, i8* %732, i32 1
store i8* %733, i8** %6
store i8 %731, i8* %732
%734 = load i8*, i8** %4
%735 = load i8, i8* %734
%736 = sext i8 %735 to i32
switch i32 %736, label %760 [
i32 61, label %737
i32 124, label %743
]
737: ; preds = %728
%738 = load i8*, i8** %4
%739 = getelementptr inbounds i8, i8* %738, i32 1
store i8* %739, i8** %4
%740 = load i8, i8* %738
%741 = load i8*, i8** %6
%742 = getelementptr inbounds i8, i8* %741, i32 1
store i8* %742, i8** %6
store i8 %740, i8* %741
br label %761
743: ; preds = %728
%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
%749 = load i8*, i8** %4
%750 = load i8, i8* %749
%751 = sext i8 %750 to i32
switch i32 %751, label %758 [
i32 61, label %752
]
752: ; preds = %743
%753 = load i8*, i8** %4
%754 = getelementptr inbounds i8, i8* %753, i32 1
store i8* %754, i8** %4
%755 = load i8, i8* %753
%756 = load i8*, i8** %6
%757 = getelementptr inbounds i8, i8* %756, i32 1
store i8* %757, i8** %6
store i8 %755, i8* %756
br label %759
758: ; preds = %743
br label %759
759: ; preds = %758, %752
br label %761
760: ; preds = %728
br label %761
761: ; preds = %760, %759, %737
%762 = load i8*, i8** %6
%763 = getelementptr inbounds i8, i8* %762, i32 1
store i8* %763, i8** %6
store i8 0, i8* %762
br label %995
764: ; preds = %650
%765 = load i8*, i8** %4
%766 = getelementptr inbounds i8, i8* %765, i32 1
store i8* %766, i8** %4
%767 = load i8, i8* %765
%768 = load i8*, i8** %6
%769 = getelementptr inbounds i8, i8* %768, i32 1
store i8* %769, i8** %6
store i8 %767, i8* %768
%770 = load i8*, i8** %4
%771 = load i8, i8* %770
%772 = sext i8 %771 to i32
switch i32 %772, label %796 [
i32 61, label %773
i32 38, label %779
]
773: ; preds = %764
%774 = load i8*, i8** %4
%775 = getelementptr inbounds i8, i8* %774, i32 1
store i8* %775, i8** %4
%776 = load i8, i8* %774
%777 = load i8*, i8** %6
%778 = getelementptr inbounds i8, i8* %777, i32 1
store i8* %778, i8** %6
store i8 %776, i8* %777
br label %797
779: ; preds = %764
%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
%785 = load i8*, i8** %4
%786 = load i8, i8* %785
%787 = sext i8 %786 to i32
switch i32 %787, label %794 [
i32 61, label %788
]
788: ; preds = %779
%789 = load i8*, i8** %4
%790 = getelementptr inbounds i8, i8* %789, i32 1
store i8* %790, i8** %4
%791 = load i8, i8* %789
%792 = load i8*, i8** %6
%793 = getelementptr inbounds i8, i8* %792, i32 1
store i8* %793, i8** %6
store i8 %791, i8* %792
br label %795
794: ; preds = %779
br label %795
795: ; preds = %794, %788
br label %797
796: ; preds = %764
br label %797
797: ; preds = %796, %795, %773
%798 = load i8*, i8** %6
%799 = getelementptr inbounds i8, i8* %798, i32 1
store i8* %799, i8** %6
store i8 0, i8* %798
br label %995
800: ; preds = %650
%801 = load i8*, i8** %4
%802 = getelementptr inbounds i8, i8* %801, i32 1
store i8* %802, i8** %4
%803 = load i8, i8* %801
%804 = load i8*, i8** %6
%805 = getelementptr inbounds i8, i8* %804, i32 1
store i8* %805, i8** %6
store i8 %803, i8* %804
%806 = load i8*, i8** %4
%807 = load i8, i8* %806
%808 = sext i8 %807 to i32
switch i32 %808, label %832 [
i32 61, label %809
i32 60, label %815
]
809: ; preds = %800
%810 = load i8*, i8** %4
%811 = getelementptr inbounds i8, i8* %810, i32 1
store i8* %811, i8** %4
%812 = load i8, i8* %810
%813 = load i8*, i8** %6
%814 = getelementptr inbounds i8, i8* %813, i32 1
store i8* %814, i8** %6
store i8 %812, i8* %813
br label %833
815: ; preds = %800
%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
%821 = load i8*, i8** %4
%822 = load i8, i8* %821
%823 = sext i8 %822 to i32
switch i32 %823, label %830 [
i32 60, label %824
i32 61, label %824
]
824: ; preds = %815, %815
%825 = load i8*, i8** %4
%826 = getelementptr inbounds i8, i8* %825, i32 1
store i8* %826, i8** %4
%827 = load i8, i8* %825
%828 = load i8*, i8** %6
%829 = getelementptr inbounds i8, i8* %828, i32 1
store i8* %829, i8** %6
store i8 %827, i8* %828
br label %831
830: ; preds = %815
br label %831
831: ; preds = %830, %824
br label %833
832: ; preds = %800
br label %833
833: ; preds = %832, %831, %809
%834 = load i8*, i8** %6
%835 = getelementptr inbounds i8, i8* %834, i32 1
store i8* %835, i8** %6
store i8 0, i8* %834
br label %995
836: ; preds = %650
%837 = load i8*, i8** %4
%838 = getelementptr inbounds i8, i8* %837, i32 1
store i8* %838, i8** %4
%839 = load i8, i8* %837
%840 = load i8*, i8** %6
%841 = getelementptr inbounds i8, i8* %840, i32 1
store i8* %841, i8** %6
store i8 %839, i8* %840
%842 = load i8*, i8** %4
%843 = load i8, i8* %842
%844 = sext i8 %843 to i32
switch i32 %844, label %868 [
i32 61, label %845
i32 62, label %851
]
845: ; preds = %836
%846 = load i8*, i8** %4
%847 = getelementptr inbounds i8, i8* %846, i32 1
store i8* %847, i8** %4
%848 = load i8, i8* %846
%849 = load i8*, i8** %6
%850 = getelementptr inbounds i8, i8* %849, i32 1
store i8* %850, i8** %6
store i8 %848, i8* %849
br label %869
851: ; preds = %836
%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
%857 = load i8*, i8** %4
%858 = load i8, i8* %857
%859 = sext i8 %858 to i32
switch i32 %859, label %866 [
i32 62, label %860
i32 61, label %860
]
860: ; preds = %851, %851
%861 = load i8*, i8** %4
%862 = getelementptr inbounds i8, i8* %861, i32 1
store i8* %862, i8** %4
%863 = load i8, i8* %861
%864 = load i8*, i8** %6
%865 = getelementptr inbounds i8, i8* %864, i32 1
store i8* %865, i8** %6
store i8 %863, i8* %864
br label %867
866: ; preds = %851
br label %867
867: ; preds = %866, %860
br label %869
868: ; preds = %836
br label %869
869: ; preds = %868, %867, %845
%870 = load i8*, i8** %6
%871 = getelementptr inbounds i8, i8* %870, i32 1
store i8* %871, i8** %6
store i8 0, i8* %870
br label %995
872: ; preds = %650
%873 = load i8*, i8** %4
%874 = getelementptr inbounds i8, i8* %873, i32 1
store i8* %874, i8** %4
%875 = load i8, i8* %873
%876 = load i8*, i8** %6
%877 = getelementptr inbounds i8, i8* %876, i32 1
store i8* %877, i8** %6
store i8 %875, i8* %876
%878 = load i8*, i8** %4
%879 = load i8, i8* %878
%880 = sext i8 %879 to i32
switch i32 %880, label %929 [
i32 35, label %881
i32 58, label %887
i32 40, label %893
i32 41, label %899
i32 91, label %905
i32 93, label %911
i32 123, label %917
i32 125, label %923
]
881: ; preds = %872
%882 = load i8*, i8** %4
%883 = getelementptr inbounds i8, i8* %882, i32 1
store i8* %883, i8** %4
%884 = load i8, i8* %882
%885 = load i8*, i8** %6
%886 = getelementptr inbounds i8, i8* %885, i32 1
store i8* %886, i8** %6
store i8 %884, i8* %885
br label %930
887: ; preds = %872
%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 %930
893: ; preds = %872
%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 %930
899: ; preds = %872
%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 %930
905: ; preds = %872
%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 %930
911: ; preds = %872
%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 %930
917: ; preds = %872
%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 %930
923: ; preds = %872
%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 %930
929: ; preds = %872
br label %930
930: ; preds = %929, %923, %917, %911, %905, %899, %893, %887, %881
%931 = load i8*, i8** %6
%932 = getelementptr inbounds i8, i8* %931, i32 1
store i8* %932, i8** %6
store i8 0, i8* %931
br label %995
933: ; preds = %650, %650, %650, %650, %650, %650, %650
%934 = load i8*, i8** %4
%935 = getelementptr inbounds i8, i8* %934, i32 1
store i8* %935, i8** %4
%936 = load i8, i8* %934
%937 = load i8*, i8** %6
%938 = getelementptr inbounds i8, i8* %937, i32 1
store i8* %938, i8** %6
store i8 %936, i8* %937
%939 = load i8*, i8** %6
%940 = getelementptr inbounds i8, i8* %939, i32 1
store i8* %940, i8** %6
store i8 0, i8* %939
br label %995
941: ; preds = %650
%942 = load i8*, i8** %4
%943 = getelementptr inbounds i8, i8* %942, i64 1
%944 = load i8, i8* %943
%945 = sext i8 %944 to i32
%946 = icmp eq i32 %945, 46
br i1 %946, label %947, label %971
947: ; preds = %941
%948 = load i8*, i8** %4
%949 = getelementptr inbounds i8, i8* %948, i64 2
%950 = load i8, i8* %949
%951 = sext i8 %950 to i32
%952 = icmp eq i32 %951, 46
br i1 %952, label %953, label %971
953: ; preds = %947
%954 = load i8*, i8** %4
%955 = getelementptr inbounds i8, i8* %954, i32 1
store i8* %955, i8** %4
%956 = load i8, i8* %954
%957 = load i8*, i8** %6
%958 = getelementptr inbounds i8, i8* %957, i32 1
store i8* %958, i8** %6
store i8 %956, i8* %957
%959 = load i8*, i8** %4
%960 = getelementptr inbounds i8, i8* %959, i32 1
store i8* %960, i8** %4
%961 = load i8, i8* %959
%962 = load i8*, i8** %6
%963 = getelementptr inbounds i8, i8* %962, i32 1
store i8* %963, i8** %6
store i8 %961, i8* %962
%964 = load i8*, i8** %4
%965 = getelementptr inbounds i8, i8* %964, i32 1
store i8* %965, i8** %4
%966 = load i8, i8* %964
%967 = load i8*, i8** %6
%968 = getelementptr inbounds i8, i8* %967, i32 1
store i8* %968, i8** %6
store i8 %966, i8* %967
%969 = load i8*, i8** %6
%970 = getelementptr inbounds i8, i8* %969, i32 1
store i8* %970, i8** %6
store i8 0, i8* %969
br label %995
971: ; preds = %947, %941
%972 = load i8*, i8** %4
%973 = getelementptr inbounds i8, i8* %972, i32 1
store i8* %973, i8** %4
%974 = load i8, i8* %972
%975 = load i8*, i8** %6
%976 = getelementptr inbounds i8, i8* %975, i32 1
store i8* %976, i8** %6
store i8 %974, i8* %975
%977 = load i8*, i8** %6
%978 = getelementptr inbounds i8, i8* %977, i32 1
store i8* %978, i8** %6
store i8 0, i8* %977
br label %995
979: ; preds = %650, %650, %650, %650, %650, %650
%980 = load i8*, i8** %4
%981 = getelementptr inbounds i8, i8* %980, i32 1
store i8* %981, i8** %4
%982 = load i8, i8* %980
%983 = load i8*, i8** %6
%984 = getelementptr inbounds i8, i8* %983, i32 1
store i8* %984, i8** %6
store i8 %982, i8* %983
%985 = load i8*, i8** %6
%986 = getelementptr inbounds i8, i8* %985, i32 1
store i8* %986, i8** %6
store i8 0, i8* %985
br label %995
987: ; preds = %650
%988 = load i8*, i8** %4
%989 = getelementptr inbounds i8, i8* %988, i32 1
store i8* %989, i8** %4
%990 = load i8, i8* %988
%991 = load i8*, i8** %6
%992 = getelementptr inbounds i8, i8* %991, i32 1
store i8* %992, i8** %6
store i8 %990, i8* %991
%993 = load i8*, i8** %6
%994 = getelementptr inbounds i8, i8* %993, i32 1
store i8* %994, i8** %6
store i8 0, i8* %993
br label %995
995: ; preds = %987, %979, %971, %953, %933, %930, %869, %833, %797, %761, %725, %706, %682
%996 = load i8*, i8** %4
store i8* %996, i8** %3
br label %997
997: ; preds = %995, %646, %532, %406, %385, %225, %121, %21
%998 = load i8*, i8** %3
ret i8* %998
}

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