char *BGBDT_BxON_ParseTokenBasic(char *s, char *tb) {
  char *t, *te;
  int i, j, k;
  t = tb;
  te = tb + 252;
  s = BGBDT_BxON_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 'e':
          s++;
          *t++ = '\e';
          break;
        case '\\':
          s++;
          *t++ = '\\';
          break;
        case '\"':
          s++;
          *t++ = '\"';
          break;
        case '\'':
          s++;
          *t++ = '\'';
          break;
        case 'x':
          s++;
          *t++ = BGBDT_BxON_ParseHexN(s, 2);
          s += 2;
          break;
        case 'u':
          s++;
          i = BGBDT_BxON_ParseHexN(s, 4);
          t = BGBDT_BxON_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 'e':
          s++;
          *t++ = '\e';
          break;
        case '\\':
          s++;
          *t++ = '\\';
          break;
        case '\"':
          s++;
          *t++ = '\"';
          break;
        case '\'':
          s++;
          *t++ = '\'';
          break;
        case 'x':
          s++;
          *t++ = BGBDT_BxON_ParseHexN(s, 2);
          s += 2;
          break;
        case 'u':
          s++;
          i = BGBDT_BxON_ParseHexN(s, 4);
          t = BGBDT_BxON_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 '|':
  case '^':
  case '&':
    *t++ = *s++;
    if (*s == '=')
      *t++ = *s++;
    *t++ = 0;
    break;
  case '<':
    *t++ = *s++;
    if ((*s == '=') || (*s == '<')) {
      *t++ = *s++;
    }
    *t++ = 0;
    break;
  case '>':
    *t++ = *s++;
    if ((*s == '=') || (*s == '>')) {
      *t++ = *s++;
    }
    *t++ = 0;
    break;
  case '~':
  case '?':
  case '@':
  case '#':
  case '\\':
  case ';':
  case ':':
  case ',':
  case '.':
    *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_BxON_ParseTokenBasic>:
push   %rbp
mov    %rsp,%rbp
sub    $0x70,%rsp
mov    %rdi,-0x10(%rbp)
mov    %rsi,-0x18(%rbp)
mov    -0x18(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x18(%rbp),%rax
add    $0xfc,%rax
mov    %rax,-0x28(%rbp)
mov    -0x10(%rbp),%rdi
mov    $0x0,%al
call   1030 <BGBDT_BxON_EatWhite@plt>
cltq
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rax
cmpb   $0x0,(%rax)
jne    11a5 <BGBDT_BxON_ParseTokenBasic+0x75>
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    2125 <BGBDT_BxON_ParseTokenBasic+0xff5>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5f,%eax
je     1205 <BGBDT_BxON_ParseTokenBasic+0xd5>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x24,%eax
je     1205 <BGBDT_BxON_ParseTokenBasic+0xd5>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x41,%eax
jl     11e5 <BGBDT_BxON_ParseTokenBasic+0xb5>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5a,%eax
jle    1205 <BGBDT_BxON_ParseTokenBasic+0xd5>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x61,%eax
jl     133a <BGBDT_BxON_ParseTokenBasic+0x20a>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x7a,%eax
jg     133a <BGBDT_BxON_ParseTokenBasic+0x20a>
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     12e4 <BGBDT_BxON_ParseTokenBasic+0x1b4>
mov    -0x20(%rbp),%rcx
xor    %eax,%eax
cmp    -0x28(%rbp),%rcx
mov    %al,-0x35(%rbp)
jae    12e4 <BGBDT_BxON_ParseTokenBasic+0x1b4>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5f,%ecx
mov    %al,-0x36(%rbp)
je     12de <BGBDT_BxON_ParseTokenBasic+0x1ae>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x24,%ecx
mov    %al,-0x36(%rbp)
je     12de <BGBDT_BxON_ParseTokenBasic+0x1ae>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x41,%eax
jl     128e <BGBDT_BxON_ParseTokenBasic+0x15e>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5a,%ecx
mov    %al,-0x36(%rbp)
jle    12de <BGBDT_BxON_ParseTokenBasic+0x1ae>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x61,%eax
jl     12b3 <BGBDT_BxON_ParseTokenBasic+0x183>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x7a,%ecx
mov    %al,-0x36(%rbp)
jle    12de <BGBDT_BxON_ParseTokenBasic+0x1ae>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x30,%ecx
mov    %al,-0x37(%rbp)
jl     12d8 <BGBDT_BxON_ParseTokenBasic+0x1a8>
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    12f4 <BGBDT_BxON_ParseTokenBasic+0x1c4>
jmp    131b <BGBDT_BxON_ParseTokenBasic+0x1eb>
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    1217 <BGBDT_BxON_ParseTokenBasic+0xe7>
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    2125 <BGBDT_BxON_ParseTokenBasic+0xff5>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x30,%eax
jl     17e4 <BGBDT_BxON_ParseTokenBasic+0x6b4>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x39,%eax
jg     17e4 <BGBDT_BxON_ParseTokenBasic+0x6b4>
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     13ce <BGBDT_BxON_ParseTokenBasic+0x29e>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x62,%eax
je     13ce <BGBDT_BxON_ParseTokenBasic+0x29e>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x63,%eax
je     13ce <BGBDT_BxON_ParseTokenBasic+0x29e>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x64,%eax
jne    1505 <BGBDT_BxON_ParseTokenBasic+0x3d5>
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     14af <BGBDT_BxON_ParseTokenBasic+0x37f>
mov    -0x20(%rbp),%rcx
xor    %eax,%eax
cmp    -0x28(%rbp),%rcx
mov    %al,-0x38(%rbp)
jae    14af <BGBDT_BxON_ParseTokenBasic+0x37f>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5f,%ecx
mov    %al,-0x39(%rbp)
je     14a9 <BGBDT_BxON_ParseTokenBasic+0x379>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x30,%eax
jl     1459 <BGBDT_BxON_ParseTokenBasic+0x329>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x39,%ecx
mov    %al,-0x39(%rbp)
jle    14a9 <BGBDT_BxON_ParseTokenBasic+0x379>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x41,%eax
jl     147e <BGBDT_BxON_ParseTokenBasic+0x34e>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x46,%ecx
mov    %al,-0x39(%rbp)
jle    14a9 <BGBDT_BxON_ParseTokenBasic+0x379>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x61,%ecx
mov    %al,-0x3a(%rbp)
jl     14a3 <BGBDT_BxON_ParseTokenBasic+0x373>
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    14bf <BGBDT_BxON_ParseTokenBasic+0x38f>
jmp    14e6 <BGBDT_BxON_ParseTokenBasic+0x3b6>
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    13f7 <BGBDT_BxON_ParseTokenBasic+0x2c7>
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    2125 <BGBDT_BxON_ParseTokenBasic+0xff5>
jmp    150a <BGBDT_BxON_ParseTokenBasic+0x3da>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x0,%ecx
mov    %al,-0x3b(%rbp)
je     1578 <BGBDT_BxON_ParseTokenBasic+0x448>
mov    -0x20(%rbp),%rcx
xor    %eax,%eax
cmp    -0x28(%rbp),%rcx
mov    %al,-0x3b(%rbp)
jae    1578 <BGBDT_BxON_ParseTokenBasic+0x448>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5f,%ecx
mov    %al,-0x3c(%rbp)
je     1572 <BGBDT_BxON_ParseTokenBasic+0x442>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x30,%ecx
mov    %al,-0x3d(%rbp)
jl     156c <BGBDT_BxON_ParseTokenBasic+0x43c>
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    1588 <BGBDT_BxON_ParseTokenBasic+0x458>
jmp    15af <BGBDT_BxON_ParseTokenBasic+0x47f>
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    150a <BGBDT_BxON_ParseTokenBasic+0x3da>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x2e,%eax
jne    17be <BGBDT_BxON_ParseTokenBasic+0x68e>
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     164f <BGBDT_BxON_ParseTokenBasic+0x51f>
mov    -0x20(%rbp),%rcx
xor    %eax,%eax
cmp    -0x28(%rbp),%rcx
mov    %al,-0x3e(%rbp)
jae    164f <BGBDT_BxON_ParseTokenBasic+0x51f>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5f,%ecx
mov    %al,-0x3f(%rbp)
je     1649 <BGBDT_BxON_ParseTokenBasic+0x519>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x30,%ecx
mov    %al,-0x40(%rbp)
jl     1643 <BGBDT_BxON_ParseTokenBasic+0x513>
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    165f <BGBDT_BxON_ParseTokenBasic+0x52f>
jmp    1686 <BGBDT_BxON_ParseTokenBasic+0x556>
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    15e1 <BGBDT_BxON_ParseTokenBasic+0x4b1>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x65,%eax
je     16a6 <BGBDT_BxON_ParseTokenBasic+0x576>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x45,%eax
jne    17b9 <BGBDT_BxON_ParseTokenBasic+0x689>
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     16e8 <BGBDT_BxON_ParseTokenBasic+0x5b8>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x2d,%eax
jne    170a <BGBDT_BxON_ParseTokenBasic+0x5da>
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    170f <BGBDT_BxON_ParseTokenBasic+0x5df>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x0,%ecx
mov    %al,-0x41(%rbp)
je     177d <BGBDT_BxON_ParseTokenBasic+0x64d>
mov    -0x20(%rbp),%rcx
xor    %eax,%eax
cmp    -0x28(%rbp),%rcx
mov    %al,-0x41(%rbp)
jae    177d <BGBDT_BxON_ParseTokenBasic+0x64d>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
mov    $0x1,%al
cmp    $0x5f,%ecx
mov    %al,-0x42(%rbp)
je     1777 <BGBDT_BxON_ParseTokenBasic+0x647>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x30,%ecx
mov    %al,-0x43(%rbp)
jl     1771 <BGBDT_BxON_ParseTokenBasic+0x641>
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    178d <BGBDT_BxON_ParseTokenBasic+0x65d>
jmp    17b4 <BGBDT_BxON_ParseTokenBasic+0x684>
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    170f <BGBDT_BxON_ParseTokenBasic+0x5df>
jmp    17b9 <BGBDT_BxON_ParseTokenBasic+0x689>
jmp    17c5 <BGBDT_BxON_ParseTokenBasic+0x695>
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    2125 <BGBDT_BxON_ParseTokenBasic+0xff5>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x22,%eax
jne    1b37 <BGBDT_BxON_ParseTokenBasic+0xa07>
mov    -0x10(%rbp),%rax
movsbl 0x1(%rax),%eax
cmp    $0x22,%eax
jne    18ad <BGBDT_BxON_ParseTokenBasic+0x77d>
mov    -0x10(%rbp),%rax
movsbl 0x2(%rax),%eax
cmp    $0x22,%eax
jne    18ad <BGBDT_BxON_ParseTokenBasic+0x77d>
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    2125 <BGBDT_BxON_ParseTokenBasic+0xff5>
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     18ee <BGBDT_BxON_ParseTokenBasic+0x7be>
mov    -0x20(%rbp),%rax
cmp    -0x28(%rbp),%rax
setb   %al
mov    %al,-0x44(%rbp)
mov    -0x44(%rbp),%al
test   $0x1,%al
jne    18fe <BGBDT_BxON_ParseTokenBasic+0x7ce>
jmp    1afc <BGBDT_BxON_ParseTokenBasic+0x9cc>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5c,%eax
jne    1ac0 <BGBDT_BxON_ParseTokenBasic+0x990>
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     1abb <BGBDT_BxON_ParseTokenBasic+0x98b>
mov    -0x50(%rbp),%rax
lea    0x1996(%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    1abb <BGBDT_BxON_ParseTokenBasic+0x98b>
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    1abb <BGBDT_BxON_ParseTokenBasic+0x98b>
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    1abb <BGBDT_BxON_ParseTokenBasic+0x98b>
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   $0x1b,(%rax)
jmp    1abb <BGBDT_BxON_ParseTokenBasic+0x98b>
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    1abb <BGBDT_BxON_ParseTokenBasic+0x98b>
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    1abb <BGBDT_BxON_ParseTokenBasic+0x98b>
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    1abb <BGBDT_BxON_ParseTokenBasic+0x98b>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rdi
mov    $0x2,%esi
mov    $0x0,%al
call   1050 <BGBDT_BxON_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    1abb <BGBDT_BxON_ParseTokenBasic+0x98b>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rdi
mov    $0x4,%esi
mov    $0x0,%al
call   1050 <BGBDT_BxON_ParseHexN@plt>
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x2c(%rbp),%esi
mov    $0x0,%al
call   1040 <BGBDT_BxON_EmitUtf8@plt>
cltq
mov    %rax,-0x20(%rbp)
mov    -0x10(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x10(%rbp)
jmp    18cb <BGBDT_BxON_ParseTokenBasic+0x79b>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x22,%eax
jne    1ad5 <BGBDT_BxON_ParseTokenBasic+0x9a5>
jmp    1afc <BGBDT_BxON_ParseTokenBasic+0x9cc>
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    18cb <BGBDT_BxON_ParseTokenBasic+0x79b>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x22,%eax
jne    1b18 <BGBDT_BxON_ParseTokenBasic+0x9e8>
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    2125 <BGBDT_BxON_ParseTokenBasic+0xff5>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x27,%eax
jne    1dd1 <BGBDT_BxON_ParseTokenBasic+0xca1>
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     1b88 <BGBDT_BxON_ParseTokenBasic+0xa58>
mov    -0x20(%rbp),%rax
cmp    -0x28(%rbp),%rax
setb   %al
mov    %al,-0x51(%rbp)
mov    -0x51(%rbp),%al
test   $0x1,%al
jne    1b98 <BGBDT_BxON_ParseTokenBasic+0xa68>
jmp    1d96 <BGBDT_BxON_ParseTokenBasic+0xc66>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5c,%eax
jne    1d5a <BGBDT_BxON_ParseTokenBasic+0xc2a>
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     1d55 <BGBDT_BxON_ParseTokenBasic+0xc25>
mov    -0x60(%rbp),%rax
lea    0x15a0(%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    1d55 <BGBDT_BxON_ParseTokenBasic+0xc25>
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    1d55 <BGBDT_BxON_ParseTokenBasic+0xc25>
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    1d55 <BGBDT_BxON_ParseTokenBasic+0xc25>
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   $0x1b,(%rax)
jmp    1d55 <BGBDT_BxON_ParseTokenBasic+0xc25>
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    1d55 <BGBDT_BxON_ParseTokenBasic+0xc25>
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    1d55 <BGBDT_BxON_ParseTokenBasic+0xc25>
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    1d55 <BGBDT_BxON_ParseTokenBasic+0xc25>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rdi
mov    $0x2,%esi
mov    $0x0,%al
call   1050 <BGBDT_BxON_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    1d55 <BGBDT_BxON_ParseTokenBasic+0xc25>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rdi
mov    $0x4,%esi
mov    $0x0,%al
call   1050 <BGBDT_BxON_ParseHexN@plt>
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x2c(%rbp),%esi
mov    $0x0,%al
call   1040 <BGBDT_BxON_EmitUtf8@plt>
cltq
mov    %rax,-0x20(%rbp)
mov    -0x10(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x10(%rbp)
jmp    1b65 <BGBDT_BxON_ParseTokenBasic+0xa35>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x27,%eax
jne    1d6f <BGBDT_BxON_ParseTokenBasic+0xc3f>
jmp    1d96 <BGBDT_BxON_ParseTokenBasic+0xc66>
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    1b65 <BGBDT_BxON_ParseTokenBasic+0xa35>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x27,%eax
jne    1db2 <BGBDT_BxON_ParseTokenBasic+0xc82>
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    2125 <BGBDT_BxON_ParseTokenBasic+0xff5>
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     20e9 <BGBDT_BxON_ParseTokenBasic+0xfb9>
mov    -0x68(%rbp),%rax
lea    0x11f9(%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     1e62 <BGBDT_BxON_ParseTokenBasic+0xd32>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x3d,%eax
je     1e62 <BGBDT_BxON_ParseTokenBasic+0xd32>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x3e,%eax
jne    1e84 <BGBDT_BxON_ParseTokenBasic+0xd54>
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    211d <BGBDT_BxON_ParseTokenBasic+0xfed>
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     1edd <BGBDT_BxON_ParseTokenBasic+0xdad>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x3d,%eax
jne    1eff <BGBDT_BxON_ParseTokenBasic+0xdcf>
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    211d <BGBDT_BxON_ParseTokenBasic+0xfed>
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    1f6a <BGBDT_BxON_ParseTokenBasic+0xe3a>
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    211d <BGBDT_BxON_ParseTokenBasic+0xfed>
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
je     1fc3 <BGBDT_BxON_ParseTokenBasic+0xe93>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x3c,%eax
jne    1fe5 <BGBDT_BxON_ParseTokenBasic+0xeb5>
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    211d <BGBDT_BxON_ParseTokenBasic+0xfed>
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
je     203e <BGBDT_BxON_ParseTokenBasic+0xf0e>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x3e,%eax
jne    2060 <BGBDT_BxON_ParseTokenBasic+0xf30>
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    211d <BGBDT_BxON_ParseTokenBasic+0xfed>
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    211d <BGBDT_BxON_ParseTokenBasic+0xfed>
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    211d <BGBDT_BxON_ParseTokenBasic+0xfed>
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    $0x70,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<BGBDT_BxON_ParseTokenBasic>:
push   %r15
push   %r14
push   %r12
push   %rbx
push   %rax
mov    %rsi,%rbx
xor    %eax,%eax
call   1030 <BGBDT_BxON_EatWhite@plt>
movslq %eax,%rcx
mov    (%rcx),%al
cmp    $0x5f,%al
je     1169 <BGBDT_BxON_ParseTokenBasic+0x39>
cmp    $0x24,%al
je     1169 <BGBDT_BxON_ParseTokenBasic+0x39>
test   %al,%al
jne    1158 <BGBDT_BxON_ParseTokenBasic+0x28>
movb   $0x0,(%rbx)
jmp    11d7 <BGBDT_BxON_ParseTokenBasic+0xa7>
mov    %eax,%edx
and    $0xdf,%dl
add    $0xbf,%dl
cmp    $0x19,%dl
ja     11e6 <BGBDT_BxON_ParseTokenBasic+0xb6>
movb   $0x49,(%rbx)
mov    (%rcx),%dl
test   %dl,%dl
je     11d7 <BGBDT_BxON_ParseTokenBasic+0xa7>
mov    $0x1,%esi
mov    %rcx,%rax
nopw   0x0(%rax,%rax,1)
cmp    $0x24,%dl
je     11b0 <BGBDT_BxON_ParseTokenBasic+0x80>
cmp    $0x5f,%dl
je     11b0 <BGBDT_BxON_ParseTokenBasic+0x80>
mov    %edx,%ecx
and    $0xdf,%cl
add    $0xbf,%cl
cmp    $0x1a,%cl
jb     11b0 <BGBDT_BxON_ParseTokenBasic+0x80>
lea    -0x30(%rdx),%ecx
cmp    $0x9,%cl
ja     129b <BGBDT_BxON_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_BxON_ParseTokenBasic+0x9f>
cmp    $0xfb,%rsi
mov    %rcx,%rsi
jb     1180 <BGBDT_BxON_ParseTokenBasic+0x50>
add    %rcx,%rbx
jmp    1668 <BGBDT_BxON_ParseTokenBasic+0x538>
add    $0x1,%rbx
mov    %rbx,%rsi
mov    %rcx,%rax
jmp    166b <BGBDT_BxON_ParseTokenBasic+0x53b>
lea    -0x30(%rax),%edx
cmp    $0x9,%dl
ja     12a3 <BGBDT_BxON_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_BxON_ParseTokenBasic+0x3e7>
movzbl %dl,%edx
mov    $0x400007,%esi
bt     %rdx,%rsi
jae    1517 <BGBDT_BxON_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_BxON_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_BxON_ParseTokenBasic+0x144>
lea    -0x41(%rcx),%edi
cmp    $0x25,%dil
ja     167a <BGBDT_BxON_ParseTokenBasic+0x54a>
movzbl %dil,%edi
bt     %rdi,%rsi
jae    167a <BGBDT_BxON_ParseTokenBasic+0x54a>
lea    0x1(%rdx),%rdi
mov    %cl,(%rbx,%rdx,1)
movzbl 0x1(%rax),%ecx
add    $0x1,%rax
test   %cl,%cl
je     1293 <BGBDT_BxON_ParseTokenBasic+0x163>
cmp    $0xfb,%rdx
mov    %rdi,%rdx
jb     1250 <BGBDT_BxON_ParseTokenBasic+0x120>
add    %rdi,%rbx
jmp    1668 <BGBDT_BxON_ParseTokenBasic+0x538>
add    %rsi,%rbx
jmp    1668 <BGBDT_BxON_ParseTokenBasic+0x538>
lea    0xfc(%rbx),%r14
cmp    $0x27,%al
je     12eb <BGBDT_BxON_ParseTokenBasic+0x1bb>
cmp    $0x22,%al
jne    13e7 <BGBDT_BxON_ParseTokenBasic+0x2b7>
cmpb   $0x22,0x1(%rcx)
jne    1420 <BGBDT_BxON_ParseTokenBasic+0x2f0>
cmpb   $0x22,0x2(%rcx)
jne    1420 <BGBDT_BxON_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_BxON_ParseTokenBasic+0xab>
movb   $0x43,(%rbx)
add    $0x1,%rbx
mov    0x1(%rcx),%dl
add    $0x1,%rcx
test   %dl,%dl
je     1555 <BGBDT_BxON_ParseTokenBasic+0x425>
lea    0xcf8(%rip),%r15
mov    %rcx,%r12
nopl   0x0(%rax,%rax,1)
cmp    $0x5c,%dl
je     1343 <BGBDT_BxON_ParseTokenBasic+0x213>
cmp    $0x27,%dl
je     1587 <BGBDT_BxON_ParseTokenBasic+0x457>
add    $0x1,%r12
mov    %dl,(%rbx)
add    $0x1,%rbx
mov    %r12,%rcx
movzbl (%rcx),%edx
test   %dl,%dl
je     158a <BGBDT_BxON_ParseTokenBasic+0x45a>
mov    %rcx,%r12
cmp    %r14,%rbx
jb     1310 <BGBDT_BxON_ParseTokenBasic+0x1e0>
jmp    158a <BGBDT_BxON_ParseTokenBasic+0x45a>
lea    0x1(%r12),%rcx
movsbl 0x1(%r12),%eax
add    $0xffffffde,%eax
cmp    $0x56,%eax
ja     132b <BGBDT_BxON_ParseTokenBasic+0x1fb>
movslq (%r15,%rax,4),%rax
add    %r15,%rax
jmp    *%rax
add    $0x2,%r12
movb   $0x22,(%rbx)
jmp    1324 <BGBDT_BxON_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0x27,(%rbx)
jmp    1324 <BGBDT_BxON_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0x5c,(%rbx)
jmp    1324 <BGBDT_BxON_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0x8,(%rbx)
jmp    1324 <BGBDT_BxON_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0x1b,(%rbx)
jmp    1324 <BGBDT_BxON_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0xa,(%rbx)
jmp    1324 <BGBDT_BxON_ParseTokenBasic+0x1f4>
add    $0x2,%r12
movb   $0xd,(%rbx)
jmp    1324 <BGBDT_BxON_ParseTokenBasic+0x1f4>
lea    0x2(%r12),%rdi
mov    $0x4,%esi
xor    %eax,%eax
call   1050 <BGBDT_BxON_ParseHexN@plt>
mov    %rbx,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1040 <BGBDT_BxON_EmitUtf8@plt>
movslq %eax,%rbx
add    $0x6,%r12
jmp    1328 <BGBDT_BxON_ParseTokenBasic+0x1f8>
lea    0x2(%r12),%rdi
mov    $0x2,%esi
xor    %eax,%eax
call   1050 <BGBDT_BxON_ParseHexN@plt>
mov    %al,(%rbx)
add    $0x1,%rbx
add    $0x4,%r12
jmp    1328 <BGBDT_BxON_ParseTokenBasic+0x1f8>
movb   $0x58,(%rbx)
movsbl (%rcx),%edx
mov    %edx,%eax
add    $0xffffffdf,%eax
cmp    $0x5d,%eax
ja     1407 <BGBDT_BxON_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_BxON_ParseTokenBasic+0xab>
add    $0x3,%rbx
jmp    1668 <BGBDT_BxON_ParseTokenBasic+0x538>
add    $0x1,%rcx
movb   $0x53,(%rbx)
add    $0x1,%rbx
mov    (%rcx),%dl
test   %dl,%dl
je     1577 <BGBDT_BxON_ParseTokenBasic+0x447>
lea    0xd20(%rip),%r15
mov    %rcx,%r12
nop
cmp    $0x5c,%dl
je     1473 <BGBDT_BxON_ParseTokenBasic+0x343>
cmp    $0x22,%dl
je     165a <BGBDT_BxON_ParseTokenBasic+0x52a>
add    $0x1,%r12
mov    %dl,(%rbx)
add    $0x1,%rbx
mov    %r12,%rcx
movzbl (%rcx),%edx
test   %dl,%dl
je     165d <BGBDT_BxON_ParseTokenBasic+0x52d>
mov    %rcx,%r12
cmp    %r14,%rbx
jb     1440 <BGBDT_BxON_ParseTokenBasic+0x310>
jmp    165d <BGBDT_BxON_ParseTokenBasic+0x52d>
lea    0x1(%r12),%rcx
movsbl 0x1(%r12),%eax
add    $0xffffffde,%eax
cmp    $0x56,%eax
ja     145b <BGBDT_BxON_ParseTokenBasic+0x32b>
movslq (%r15,%rax,4),%rax
add    %r15,%rax
jmp    *%rax
add    $0x2,%r12
movb   $0x22,(%rbx)
jmp    1454 <BGBDT_BxON_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0x27,(%rbx)
jmp    1454 <BGBDT_BxON_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0x5c,(%rbx)
jmp    1454 <BGBDT_BxON_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0x8,(%rbx)
jmp    1454 <BGBDT_BxON_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0x1b,(%rbx)
jmp    1454 <BGBDT_BxON_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0xa,(%rbx)
jmp    1454 <BGBDT_BxON_ParseTokenBasic+0x324>
add    $0x2,%r12
movb   $0xd,(%rbx)
jmp    1454 <BGBDT_BxON_ParseTokenBasic+0x324>
lea    0x2(%r12),%rdi
mov    $0x4,%esi
xor    %eax,%eax
call   1050 <BGBDT_BxON_ParseHexN@plt>
mov    %rbx,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1040 <BGBDT_BxON_EmitUtf8@plt>
movslq %eax,%rbx
add    $0x6,%r12
jmp    1458 <BGBDT_BxON_ParseTokenBasic+0x328>
lea    0x2(%r12),%rdi
mov    $0x2,%esi
xor    %eax,%eax
call   1050 <BGBDT_BxON_ParseHexN@plt>
mov    %al,(%rbx)
add    $0x1,%rbx
add    $0x4,%r12
jmp    1458 <BGBDT_BxON_ParseTokenBasic+0x328>
add    $0x1,%rcx
test   %al,%al
je     157e <BGBDT_BxON_ParseTokenBasic+0x44e>
mov    $0x2,%edi
cmp    $0x5f,%al
je     1530 <BGBDT_BxON_ParseTokenBasic+0x400>
lea    -0x30(%rax),%edx
cmp    $0x9,%dl
ja     1594 <BGBDT_BxON_ParseTokenBasic+0x464>
lea    0x1(%rdi),%r9
mov    %al,(%rbx,%rdi,1)
movzbl 0x1(%rcx),%eax
add    $0x1,%rcx
test   %al,%al
je     154f <BGBDT_BxON_ParseTokenBasic+0x41f>
cmp    $0xfb,%rdi
mov    %r9,%rdi
jb     1524 <BGBDT_BxON_ParseTokenBasic+0x3f4>
lea    (%rbx,%r9,1),%rsi
jmp    159b <BGBDT_BxON_ParseTokenBasic+0x46b>
xor    %edx,%edx
jmp    158a <BGBDT_BxON_ParseTokenBasic+0x45a>
mov    %dl,0x1(%rbx)
cmpb   $0x3d,0x1(%rcx)
jne    1763 <BGBDT_BxON_ParseTokenBasic+0x633>
add    $0x2,%rcx
movb   $0x3d,0x2(%rbx)
add    $0x3,%rbx
jmp    11db <BGBDT_BxON_ParseTokenBasic+0xab>
xor    %edx,%edx
jmp    165d <BGBDT_BxON_ParseTokenBasic+0x52d>
lea    0x2(%rbx),%rsi
jmp    1652 <BGBDT_BxON_ParseTokenBasic+0x522>
mov    %r12,%rcx
xor    %eax,%eax
cmp    $0x27,%dl
jmp    1662 <BGBDT_BxON_ParseTokenBasic+0x532>
lea    (%rbx,%rdi,1),%rsi
mov    %rdi,%r9
cmp    $0x2e,%al
jne    1652 <BGBDT_BxON_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_BxON_ParseTokenBasic+0x4f1>
cmp    $0xfa,%r9
ja     1621 <BGBDT_BxON_ParseTokenBasic+0x4f1>
cmp    $0x5f,%r8b
je     15d6 <BGBDT_BxON_ParseTokenBasic+0x4a6>
lea    -0x30(%r8),%edi
cmp    $0x9,%dil
ja     1621 <BGBDT_BxON_ParseTokenBasic+0x4f1>
add    $0x1,%r9
add    $0x2,%rcx
mov    %r9,%rsi
mov    %rsi,%r9
mov    %rcx,%rax
mov    %r8b,(%rbx,%rsi,1)
movzbl (%rcx),%r8d
test   %r8b,%r8b
je     1615 <BGBDT_BxON_ParseTokenBasic+0x4e5>
cmp    $0xfb,%r9
jae    1615 <BGBDT_BxON_ParseTokenBasic+0x4e5>
lea    0x1(%rax),%rcx
lea    0x1(%r9),%rsi
cmp    $0x5f,%r8b
je     15e1 <BGBDT_BxON_ParseTokenBasic+0x4b1>
lea    -0x30(%r8),%edi
cmp    $0x9,%dil
jbe    15e1 <BGBDT_BxON_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_BxON_ParseTokenBasic+0x53b>
mov    %r8b,(%rsi)
mov    0x2(%rcx),%dil
cmp    $0x2d,%dil
je     163f <BGBDT_BxON_ParseTokenBasic+0x50f>
cmp    $0x2b,%dil
jne    167f <BGBDT_BxON_ParseTokenBasic+0x54f>
mov    %dil,0x2(%rbx,%r9,1)
add    $0x3,%r9
mov    0x3(%rcx),%dil
add    $0x3,%rcx
jmp    1687 <BGBDT_BxON_ParseTokenBasic+0x557>
movb   $0x7c,(%rbx)
mov    %rcx,%rax
jmp    166b <BGBDT_BxON_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_BxON_ParseTokenBasic+0x538>
add    $0x2,%rcx
add    $0x2,%r9
mov    %rcx,%rax
lea    (%rbx,%r9,1),%rsi
test   %dil,%dil
je     166b <BGBDT_BxON_ParseTokenBasic+0x53b>
cmp    $0xfb,%r9
jg     166b <BGBDT_BxON_ParseTokenBasic+0x53b>
cmp    $0x5f,%dil
je     16ae <BGBDT_BxON_ParseTokenBasic+0x57e>
lea    -0x30(%rdi),%ecx
cmp    $0x9,%cl
ja     1770 <BGBDT_BxON_ParseTokenBasic+0x640>
lea    0x1(%r9),%rcx
mov    %dil,(%rbx,%r9,1)
movzbl 0x1(%rax),%edi
add    $0x1,%rax
test   %dil,%dil
je     11cf <BGBDT_BxON_ParseTokenBasic+0x9f>
cmp    $0xfb,%r9
mov    %rcx,%r9
jb     169c <BGBDT_BxON_ParseTokenBasic+0x56c>
jmp    11cf <BGBDT_BxON_ParseTokenBasic+0x9f>
lea    0x1(%rcx),%rax
lea    0x2(%rbx),%rsi
mov    %dl,0x1(%rbx)
movzbl 0x1(%rcx),%edx
cmp    $0x3e,%rdx
ja     166b <BGBDT_BxON_ParseTokenBasic+0x53b>
movabs $0x6000200000000000,%rdi
bt     %rdx,%rdi
jae    166b <BGBDT_BxON_ParseTokenBasic+0x53b>
add    $0x2,%rcx
mov    %dl,0x2(%rbx)
add    $0x3,%rbx
jmp    11db <BGBDT_BxON_ParseTokenBasic+0xab>
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
cmp    $0x3d,%al
je     1735 <BGBDT_BxON_ParseTokenBasic+0x605>
cmp    $0x2b,%al
je     1735 <BGBDT_BxON_ParseTokenBasic+0x605>
jmp    1763 <BGBDT_BxON_ParseTokenBasic+0x633>
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
mov    %eax,%edx
and    $0xfe,%dl
cmp    $0x3c,%dl
jne    1763 <BGBDT_BxON_ParseTokenBasic+0x633>
add    $0x2,%rcx
mov    %al,0x2(%rbx)
add    $0x3,%rbx
jmp    11db <BGBDT_BxON_ParseTokenBasic+0xab>
mov    %dl,0x1(%rbx)
mov    0x1(%rcx),%al
lea    -0x3d(%rax),%edx
cmp    $0x1,%dl
ja     1763 <BGBDT_BxON_ParseTokenBasic+0x633>
add    $0x2,%rcx
mov    %al,0x2(%rbx)
add    $0x3,%rbx
jmp    11db <BGBDT_BxON_ParseTokenBasic+0xab>
add    $0x1,%rcx
add    $0x2,%rbx
jmp    11db <BGBDT_BxON_ParseTokenBasic+0xab>
add    %r9,%rbx
jmp    1668 <BGBDT_BxON_ParseTokenBasic+0x538>

LLVM IR (-O0):
define i8* @BGBDT_BxON_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_BxON_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 %802
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 %802
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 %802
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 %802
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 %802
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 101, 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 27, 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_BxON_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_BxON_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_BxON_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 %802
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 101, 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 27, 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_BxON_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_BxON_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_BxON_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 %802
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 %792 [
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 124, label %709
i32 94, label %709
i32 38, label %709
i32 60, label %728
i32 62, label %752
i32 126, label %776
i32 63, label %776
i32 64, label %776
i32 35, label %776
i32 92, label %776
i32 59, label %776
i32 58, label %776
i32 44, label %776
i32 46, label %776
i32 40, label %784
i32 41, label %784
i32 91, label %784
i32 93, label %784
i32 123, label %784
i32 125, label %784
]
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 %800
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 %800
709: ; preds = %650, %650, %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 %800
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
%737 = icmp eq i32 %736, 61
br i1 %737, label %743, label %738
738: ; preds = %728
%739 = load i8*, i8** %4
%740 = load i8, i8* %739
%741 = sext i8 %740 to i32
%742 = icmp eq i32 %741, 60
br i1 %742, label %743, label %749
743: ; preds = %738, %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
br label %749
749: ; preds = %743, %738
%750 = load i8*, i8** %6
%751 = getelementptr inbounds i8, i8* %750, i32 1
store i8* %751, i8** %6
store i8 0, i8* %750
br label %800
752: ; preds = %650
%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
%758 = load i8*, i8** %4
%759 = load i8, i8* %758
%760 = sext i8 %759 to i32
%761 = icmp eq i32 %760, 61
br i1 %761, label %767, label %762
762: ; preds = %752
%763 = load i8*, i8** %4
%764 = load i8, i8* %763
%765 = sext i8 %764 to i32
%766 = icmp eq i32 %765, 62
br i1 %766, label %767, label %773
767: ; preds = %762, %752
%768 = load i8*, i8** %4
%769 = getelementptr inbounds i8, i8* %768, i32 1
store i8* %769, i8** %4
%770 = load i8, i8* %768
%771 = load i8*, i8** %6
%772 = getelementptr inbounds i8, i8* %771, i32 1
store i8* %772, i8** %6
store i8 %770, i8* %771
br label %773
773: ; preds = %767, %762
%774 = load i8*, i8** %6
%775 = getelementptr inbounds i8, i8* %774, i32 1
store i8* %775, i8** %6
store i8 0, i8* %774
br label %800
776: ; preds = %650, %650, %650, %650, %650, %650, %650, %650, %650
%777 = load i8*, i8** %4
%778 = getelementptr inbounds i8, i8* %777, i32 1
store i8* %778, i8** %4
%779 = load i8, i8* %777
%780 = load i8*, i8** %6
%781 = getelementptr inbounds i8, i8* %780, i32 1
store i8* %781, i8** %6
store i8 %779, i8* %780
%782 = load i8*, i8** %6
%783 = getelementptr inbounds i8, i8* %782, i32 1
store i8* %783, i8** %6
store i8 0, i8* %782
br label %800
784: ; preds = %650, %650, %650, %650, %650, %650
%785 = load i8*, i8** %4
%786 = getelementptr inbounds i8, i8* %785, i32 1
store i8* %786, i8** %4
%787 = load i8, i8* %785
%788 = load i8*, i8** %6
%789 = getelementptr inbounds i8, i8* %788, i32 1
store i8* %789, i8** %6
store i8 %787, i8* %788
%790 = load i8*, i8** %6
%791 = getelementptr inbounds i8, i8* %790, i32 1
store i8* %791, i8** %6
store i8 0, i8* %790
br label %800
792: ; preds = %650
%793 = load i8*, i8** %4
%794 = getelementptr inbounds i8, i8* %793, i32 1
store i8* %794, i8** %4
%795 = load i8, i8* %793
%796 = load i8*, i8** %6
%797 = getelementptr inbounds i8, i8* %796, i32 1
store i8* %797, i8** %6
store i8 %795, i8* %796
%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 %800
800: ; preds = %792, %784, %776, %773, %749, %725, %706, %682
%801 = load i8*, i8** %4
store i8* %801, i8** %3
br label %802
802: ; preds = %800, %646, %532, %406, %385, %225, %121, %21
%803 = load i8*, i8** %3
ret i8* %803
}

LLVM IR (-O2):
define i8* @BGBDT_BxON_ParseTokenBasic(i8* %0, i8* %1) {
%3 = getelementptr inbounds i8, i8* %1, i64 252
%4 = tail call i32 (i8*, ...) bitcast (i32 (...)* @BGBDT_BxON_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 %367
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 %367, 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 %367
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 %367
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 %367, 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 %367 [
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 %367
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 %367 [
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 %367
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 %367
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 %367
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 %367
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 %367
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 101, 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 27, 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_BxON_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_BxON_ParseHexN to i32 (i8*, i32, ...)*)(i8* %227, i32 4)
%229 = tail call i32 (i8*, i32, ...) bitcast (i32 (...)* @BGBDT_BxON_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 %367
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 101, 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 27, 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_BxON_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_BxON_ParseHexN to i32 (i8*, i32, ...)*)(i8* %291, i32 4)
%293 = tail call i32 (i8*, i32, ...) bitcast (i32 (...)* @BGBDT_BxON_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 %367
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 %364 [
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 124, label %332
i32 94, label %332
i32 38, label %332
i32 60, label %340
i32 62, label %349
i32 126, label %358
i32 63, label %358
i32 64, label %358
i32 35, label %358
i32 92, label %358
i32 59, label %358
i32 58, label %358
i32 44, label %358
i32 46, label %358
i32 40, label %361
i32 41, label %361
i32 91, label %361
i32 93, label %361
i32 123, label %361
i32 125, label %361
]
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 %367 [
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 %367
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 %367 [
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 %367
332: ; preds = %314, %314, %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 %367
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 %367
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 = and i8 %343, -2
%345 = icmp eq i8 %344, 60
br i1 %345, label %346, label %367
346: ; preds = %340
%347 = getelementptr inbounds i8, i8* %6, i64 2
%348 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %343, i8* %342
br label %367
349: ; preds = %314
%350 = getelementptr inbounds i8, i8* %6, i64 1
%351 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %316, i8* %315
%352 = load i8, i8* %350
%353 = add i8 %352, -61
%354 = icmp ult i8 %353, 2
br i1 %354, label %355, label %367
355: ; preds = %349
%356 = getelementptr inbounds i8, i8* %6, i64 2
%357 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %352, i8* %351
br label %367
358: ; preds = %314, %314, %314, %314, %314, %314, %314, %314, %314
%359 = getelementptr inbounds i8, i8* %6, i64 1
%360 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %316, i8* %315
br label %367
361: ; preds = %314, %314, %314, %314, %314, %314
%362 = getelementptr inbounds i8, i8* %6, i64 1
%363 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %316, i8* %315
br label %367
364: ; preds = %314
%365 = getelementptr inbounds i8, i8* %6, i64 1
%366 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %316, i8* %315
br label %367
367: ; preds = %64, %65, %149, %158, %23, %30, %355, %349, %346, %340, %332, %337, %329, %325, %322, %318, %166, %126, %141, %49, %14, %358, %361, %364, %307, %243, %178, %8
%368 = phi i8* [ %360, %358 ], [ %363, %361 ], [ %366, %364 ], [ %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 ], [ %348, %346 ], [ %342, %340 ], [ %357, %355 ], [ %351, %349 ], [ %20, %23 ], [ %33, %30 ], [ %161, %158 ], [ %151, %149 ], [ %58, %64 ], [ %68, %65 ]
%369 = phi i8* [ %359, %358 ], [ %362, %361 ], [ %365, %364 ], [ %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 ], [ %347, %346 ], [ %341, %340 ], [ %356, %355 ], [ %350, %349 ], [ %21, %23 ], [ %31, %30 ], [ %159, %158 ], [ %152, %149 ], [ %59, %64 ], [ %66, %65 ]
store i8 0, i8* %368
ret i8* %369
}