// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/external/expat-2.0.1/lib/xmltok_impl.c
// Function: little2_prologTok
static int PTRCALL
PREFIX(prologTok)(const ENCODING *enc, const char *ptr, const char *end,
                  const char **nextTokPtr)
{
  int tok;
  if (ptr == end)
    return XML_TOK_NONE;
  if (MINBPC(enc) > 1) {
    size_t n = end - ptr;
    if (n & (MINBPC(enc) - 1)) {
      n &= ~(MINBPC(enc) - 1);
      if (n == 0)
        return XML_TOK_PARTIAL;
      end = ptr + n;
    }
  }
  switch (BYTE_TYPE(enc, ptr)) {
  case BT_QUOT:
    return PREFIX(scanLit)(BT_QUOT, enc, ptr + MINBPC(enc), end, nextTokPtr);
  case BT_APOS:
    return PREFIX(scanLit)(BT_APOS, enc, ptr + MINBPC(enc), end, nextTokPtr);
  case BT_LT:
    {
      ptr += MINBPC(enc);
      if (ptr == end)
        return XML_TOK_PARTIAL;
      switch (BYTE_TYPE(enc, ptr)) {
      case BT_EXCL:
        return PREFIX(scanDecl)(enc, ptr + MINBPC(enc), end, nextTokPtr);
      case BT_QUEST:
        return PREFIX(scanPi)(enc, ptr + MINBPC(enc), end, nextTokPtr);
      case BT_NMSTRT:
      case BT_HEX:
      case BT_NONASCII:
      case BT_LEAD2:
      case BT_LEAD3:
      case BT_LEAD4:
        *nextTokPtr = ptr - MINBPC(enc);
        return XML_TOK_INSTANCE_START;
      }
      *nextTokPtr = ptr;
      return XML_TOK_INVALID;
    }
  case BT_CR:
    if (ptr + MINBPC(enc) == end) {
      *nextTokPtr = end;
      /* indicate that this might be part of a CR/LF pair */
      return -XML_TOK_PROLOG_S;
    }
    /* fall through */
  case BT_S: case BT_LF:
    for (;;) {
      ptr += MINBPC(enc);
      if (ptr == end)
        break;
      switch (BYTE_TYPE(enc, ptr)) {
      case BT_S: case BT_LF:
        break;
      case BT_CR:
        /* don't split CR/LF pair */
        if (ptr + MINBPC(enc) != end)
          break;
        /* fall through */
      default:
        *nextTokPtr = ptr;
        return XML_TOK_PROLOG_S;
      }
    }
    *nextTokPtr = ptr;
    return XML_TOK_PROLOG_S;
  case BT_PERCNT:
    return PREFIX(scanPercent)(enc, ptr + MINBPC(enc), end, nextTokPtr);
  case BT_COMMA:
    *nextTokPtr = ptr + MINBPC(enc);
    return XML_TOK_COMMA;
  case BT_LSQB:
    *nextTokPtr = ptr + MINBPC(enc);
    return XML_TOK_OPEN_BRACKET;
  case BT_RSQB:
    ptr += MINBPC(enc);
    if (ptr == end)
      return -XML_TOK_CLOSE_BRACKET;
    if (CHAR_MATCHES(enc, ptr, ASCII_RSQB)) {
      if (ptr + MINBPC(enc) == end)
        return XML_TOK_PARTIAL;
      if (CHAR_MATCHES(enc, ptr + MINBPC(enc), ASCII_GT)) {
        *nextTokPtr = ptr + 2*MINBPC(enc);
        return XML_TOK_COND_SECT_CLOSE;
      }
    }
    *nextTokPtr = ptr;
    return XML_TOK_CLOSE_BRACKET;
  case BT_LPAR:
    *nextTokPtr = ptr + MINBPC(enc);
    return XML_TOK_OPEN_PAREN;
  case BT_RPAR:
    ptr += MINBPC(enc);
    if (ptr == end)
      return -XML_TOK_CLOSE_PAREN;
    switch (BYTE_TYPE(enc, ptr)) {
    case BT_AST:
      *nextTokPtr = ptr + MINBPC(enc);
      return XML_TOK_CLOSE_PAREN_ASTERISK;
    case BT_QUEST:
      *nextTokPtr = ptr + MINBPC(enc);
      return XML_TOK_CLOSE_PAREN_QUESTION;
    case BT_PLUS:
      *nextTokPtr = ptr + MINBPC(enc);
      return XML_TOK_CLOSE_PAREN_PLUS;
    case BT_CR: case BT_LF: case BT_S:
    case BT_GT: case BT_COMMA: case BT_VERBAR:
    case BT_RPAR:
      *nextTokPtr = ptr;
      return XML_TOK_CLOSE_PAREN;
    }
    *nextTokPtr = ptr;
    return XML_TOK_INVALID;
  case BT_VERBAR:
    *nextTokPtr = ptr + MINBPC(enc);
    return XML_TOK_OR;
  case BT_GT:
    *nextTokPtr = ptr + MINBPC(enc);
    return XML_TOK_DECL_CLOSE;
  case BT_NUM:
    return PREFIX(scanPoundName)(enc, ptr + MINBPC(enc), end, nextTokPtr);
#define LEAD_CASE(n) \
  case BT_LEAD ## n: \
    if (end - ptr < n) \
      return XML_TOK_PARTIAL_CHAR; \
    if (IS_NMSTRT_CHAR(enc, ptr, n)) { \
      ptr += n; \
      tok = XML_TOK_NAME; \
      break; \
    } \
    if (IS_NAME_CHAR(enc, ptr, n)) { \
      ptr += n; \
      tok = XML_TOK_NMTOKEN; \
      break; \
    } \
    *nextTokPtr = ptr; \
    return XML_TOK_INVALID;
    LEAD_CASE(2) LEAD_CASE(3) LEAD_CASE(4)
#undef LEAD_CASE
  case BT_NMSTRT:
  case BT_HEX:
    tok = XML_TOK_NAME;
    ptr += MINBPC(enc);
    break;
  case BT_DIGIT:
  case BT_NAME:
  case BT_MINUS:
#ifdef XML_NS
  case BT_COLON:
#endif
    tok = XML_TOK_NMTOKEN;
    ptr += MINBPC(enc);
    break;
  case BT_NONASCII:
    if (IS_NMSTRT_CHAR_MINBPC(enc, ptr)) {
      ptr += MINBPC(enc);
      tok = XML_TOK_NAME;
      break;
    }
    if (IS_NAME_CHAR_MINBPC(enc, ptr)) {
      ptr += MINBPC(enc);
      tok = XML_TOK_NMTOKEN;
      break;
    }
    /* fall through */
  default:
    *nextTokPtr = ptr;
    return XML_TOK_INVALID;
  }
  while (ptr != end) {
    switch (BYTE_TYPE(enc, ptr)) {
    CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
    case BT_GT: case BT_RPAR: case BT_COMMA:
    case BT_VERBAR: case BT_LSQB: case BT_PERCNT:
    case BT_S: case BT_CR: case BT_LF:
      *nextTokPtr = ptr;
      return tok;
#ifdef XML_NS
    case BT_COLON:
      ptr += MINBPC(enc);
      switch (tok) {
      case XML_TOK_NAME:
        if (ptr == end)
          return XML_TOK_PARTIAL;
        tok = XML_TOK_PREFIXED_NAME;
        switch (BYTE_TYPE(enc, ptr)) {
        CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
        default:
          tok = XML_TOK_NMTOKEN;
          break;
        }
        break;
      case XML_TOK_PREFIXED_NAME:
        tok = XML_TOK_NMTOKEN;
        break;
      }
      break;
#endif
    case BT_PLUS:
      if (tok == XML_TOK_NMTOKEN)  {
        *nextTokPtr = ptr;
        return XML_TOK_INVALID;
      }
      *nextTokPtr = ptr + MINBPC(enc);
      return XML_TOK_NAME_PLUS;
    case BT_AST:
      if (tok == XML_TOK_NMTOKEN)  {
        *nextTokPtr = ptr;
        return XML_TOK_INVALID;
      }
      *nextTokPtr = ptr + MINBPC(enc);
      return XML_TOK_NAME_ASTERISK;
    case BT_QUEST:
      if (tok == XML_TOK_NMTOKEN)  {
        *nextTokPtr = ptr;
        return XML_TOK_INVALID;
      }
      *nextTokPtr = ptr + MINBPC(enc);
      return XML_TOK_NAME_QUESTION;
    default:
      *nextTokPtr = ptr;
      return XML_TOK_INVALID;
    }
  }
  return -tok;
}

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x68(%rsp)
movq %rsi, 0x60(%rsp)
movq %rdx, 0x58(%rsp)
movq %rcx, 0x50(%rsp)
movq 0x60(%rsp), %rax
cmpq 0x58(%rsp), %rax
jne 0x38b441
movl $0xfffffffc, 0x74(%rsp) # imm = 0xFFFFFFFC
jmp 0x38bec7
movq 0x58(%rsp), %rax
movq 0x60(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x38b494
movq 0x40(%rsp), %rax
andq $-0x2, %rax
movq %rax, 0x40(%rsp)
cmpq $0x0, 0x40(%rsp)
jne 0x38b485
movl $0xffffffff, 0x74(%rsp) # imm = 0xFFFFFFFF
jmp 0x38bec7
movq 0x60(%rsp), %rax
addq 0x40(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x60(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38b4bd
movq 0x68(%rsp), %rax
movq 0x60(%rsp), %rcx
movzbl (%rcx), %ecx
movzbl 0x88(%rax,%rcx), %eax
movl %eax, 0x3c(%rsp)
jmp 0x38b4d9
movq 0x60(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x60(%rsp), %rax
movsbl %cl, %edi
movsbl (%rax), %esi
callq 0x38e510
movl %eax, 0x3c(%rsp)
movl 0x3c(%rsp), %eax
addl $-0x2, %eax
movl %eax, %ecx
movq %rcx, 0x30(%rsp)
subl $0x22, %eax
ja 0x38bc10
movq 0x30(%rsp), %rax
leaq 0x214738(%rip), %rcx    # 0x59fc34
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x68(%rsp), %rsi
movq 0x60(%rsp), %rdx
addq $0x2, %rdx
movq 0x58(%rsp), %rcx
movq 0x50(%rsp), %r8
movl $0xc, %edi
callq 0x38e590
movl %eax, 0x74(%rsp)
jmp 0x38bec7
movq 0x68(%rsp), %rsi
movq 0x60(%rsp), %rdx
addq $0x2, %rdx
movq 0x58(%rsp), %rcx
movq 0x50(%rsp), %r8
movl $0xd, %edi
callq 0x38e590
movl %eax, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
cmpq 0x58(%rsp), %rax
jne 0x38b582
movl $0xffffffff, 0x74(%rsp) # imm = 0xFFFFFFFF
jmp 0x38bec7
movq 0x60(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38b5ab
movq 0x68(%rsp), %rax
movq 0x60(%rsp), %rcx
movzbl (%rcx), %ecx
movzbl 0x88(%rax,%rcx), %eax
movl %eax, 0x2c(%rsp)
jmp 0x38b5c7
movq 0x60(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x60(%rsp), %rax
movsbl %cl, %edi
movsbl (%rax), %esi
callq 0x38e510
movl %eax, 0x2c(%rsp)
movl 0x2c(%rsp), %eax
movl %eax, 0x28(%rsp)
addl $-0x5, %eax
subl $0x3, %eax
jb 0x38b660
jmp 0x38b5dd
movl 0x28(%rsp), %eax
subl $0xf, %eax
je 0x38b63a
jmp 0x38b5e8
movl 0x28(%rsp), %eax
subl $0x10, %eax
je 0x38b614
jmp 0x38b5f3
movl 0x28(%rsp), %eax
subl $0x16, %eax
je 0x38b660
jmp 0x38b5fe
movl 0x28(%rsp), %eax
subl $0x18, %eax
je 0x38b660
jmp 0x38b609
movl 0x28(%rsp), %eax
subl $0x1d, %eax
je 0x38b660
jmp 0x38b67e
movq 0x68(%rsp), %rdi
movq 0x60(%rsp), %rsi
addq $0x2, %rsi
movq 0x58(%rsp), %rdx
movq 0x50(%rsp), %rcx
callq 0x38e7d0
movl %eax, 0x74(%rsp)
jmp 0x38bec7
movq 0x68(%rsp), %rdi
movq 0x60(%rsp), %rsi
addq $0x2, %rsi
movq 0x58(%rsp), %rdx
movq 0x50(%rsp), %rcx
callq 0x38ea80
movl %eax, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
addq $-0x2, %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x1d, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rax
addq $0x2, %rax
cmpq 0x58(%rsp), %rax
jne 0x38b6c2
movq 0x58(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0xfffffff1, 0x74(%rsp) # imm = 0xFFFFFFF1
jmp 0x38bec7
jmp 0x38b6c4
jmp 0x38b6c6
movq 0x60(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
cmpq 0x58(%rsp), %rax
jne 0x38b6e5
jmp 0x38b784
movq 0x60(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38b70e
movq 0x68(%rsp), %rax
movq 0x60(%rsp), %rcx
movzbl (%rcx), %ecx
movzbl 0x88(%rax,%rcx), %eax
movl %eax, 0x24(%rsp)
jmp 0x38b72a
movq 0x60(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x60(%rsp), %rax
movsbl %cl, %edi
movsbl (%rax), %esi
callq 0x38e510
movl %eax, 0x24(%rsp)
movl 0x24(%rsp), %eax
movl %eax, 0x20(%rsp)
subl $0x9, %eax
je 0x38b751
jmp 0x38b739
movl 0x20(%rsp), %eax
subl $0xa, %eax
je 0x38b74f
jmp 0x38b744
movl 0x20(%rsp), %eax
subl $0x15, %eax
jne 0x38b765
jmp 0x38b74f
jmp 0x38b77f
movq 0x60(%rsp), %rax
addq $0x2, %rax
cmpq 0x58(%rsp), %rax
je 0x38b763
jmp 0x38b77f
jmp 0x38b765
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0xf, 0x74(%rsp)
jmp 0x38bec7
jmp 0x38b6c6
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0xf, 0x74(%rsp)
jmp 0x38bec7
movq 0x68(%rsp), %rdi
movq 0x60(%rsp), %rsi
addq $0x2, %rsi
movq 0x58(%rsp), %rdx
movq 0x50(%rsp), %rcx
callq 0x38f0e0
movl %eax, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
addq $0x2, %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x26, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
addq $0x2, %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x19, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
cmpq 0x58(%rsp), %rax
jne 0x38b827
movl $0xffffffe6, 0x74(%rsp) # imm = 0xFFFFFFE6
jmp 0x38bec7
movq 0x60(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38b89b
movq 0x60(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x5d, %eax
jne 0x38b89b
movq 0x60(%rsp), %rax
addq $0x2, %rax
cmpq 0x58(%rsp), %rax
jne 0x38b85f
movl $0xffffffff, 0x74(%rsp) # imm = 0xFFFFFFFF
jmp 0x38bec7
movq 0x60(%rsp), %rax
movsbl 0x3(%rax), %eax
cmpl $0x0, %eax
jne 0x38b899
movq 0x60(%rsp), %rax
movsbl 0x2(%rax), %eax
cmpl $0x3e, %eax
jne 0x38b899
movq 0x60(%rsp), %rcx
addq $0x4, %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x22, 0x74(%rsp)
jmp 0x38bec7
jmp 0x38b89b
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x1a, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
addq $0x2, %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x17, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
cmpq 0x58(%rsp), %rax
jne 0x38b8fa
movl $0xffffffe8, 0x74(%rsp) # imm = 0xFFFFFFE8
jmp 0x38bec7
movq 0x60(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38b923
movq 0x68(%rsp), %rax
movq 0x60(%rsp), %rcx
movzbl (%rcx), %ecx
movzbl 0x88(%rax,%rcx), %eax
movl %eax, 0x1c(%rsp)
jmp 0x38b93f
movq 0x60(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x60(%rsp), %rax
movsbl %cl, %edi
movsbl (%rax), %esi
callq 0x38e510
movl %eax, 0x1c(%rsp)
movl 0x1c(%rsp), %eax
addl $-0x9, %eax
movl %eax, %ecx
movq %rcx, 0x10(%rsp)
subl $0x1b, %eax
ja 0x38b9df
movq 0x10(%rsp), %rax
leaq 0x2143de(%rip), %rcx    # 0x59fd40
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x60(%rsp), %rcx
addq $0x2, %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x24, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
addq $0x2, %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x23, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
addq $0x2, %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x25, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x18, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
addq $0x2, %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x15, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
addq $0x2, %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x11, 0x74(%rsp)
jmp 0x38bec7
movq 0x68(%rsp), %rdi
movq 0x60(%rsp), %rsi
addq $0x2, %rsi
movq 0x58(%rsp), %rdx
movq 0x50(%rsp), %rcx
callq 0x38f4d0
movl %eax, 0x74(%rsp)
jmp 0x38bec7
movq 0x58(%rsp), %rax
movq 0x60(%rsp), %rcx
subq %rcx, %rax
cmpq $0x2, %rax
jge 0x38ba7b
movl $0xfffffffe, 0x74(%rsp) # imm = 0xFFFFFFFE
jmp 0x38bec7
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x74(%rsp)
jmp 0x38bec7
movq 0x58(%rsp), %rax
movq 0x60(%rsp), %rcx
subq %rcx, %rax
cmpq $0x3, %rax
jge 0x38bab5
movl $0xfffffffe, 0x74(%rsp) # imm = 0xFFFFFFFE
jmp 0x38bec7
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x74(%rsp)
jmp 0x38bec7
movq 0x58(%rsp), %rax
movq 0x60(%rsp), %rcx
subq %rcx, %rax
cmpq $0x4, %rax
jge 0x38baef
movl $0xfffffffe, 0x74(%rsp) # imm = 0xFFFFFFFE
jmp 0x38bec7
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x74(%rsp)
jmp 0x38bec7
movl $0x12, 0x4c(%rsp)
movq 0x60(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x60(%rsp)
jmp 0x38bc2a
movl $0x13, 0x4c(%rsp)
movq 0x60(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x60(%rsp)
jmp 0x38bc2a
movq 0x60(%rsp), %rax
movzbl 0x1(%rax), %eax
movl %eax, %ecx
leaq 0x215d1f(%rip), %rax    # 0x5a1870
movzbl (%rax,%rcx), %eax
shll $0x3, %eax
movq 0x60(%rsp), %rcx
movzbl (%rcx), %ecx
sarl $0x5, %ecx
addl %ecx, %eax
movslq %eax, %rcx
leaq 0x2157f1(%rip), %rax    # 0x5a1360
movl (%rax,%rcx,4), %eax
movq 0x60(%rsp), %rcx
movzbl (%rcx), %ecx
andl $0x1f, %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
andl %ecx, %eax
cmpl $0x0, %eax
je 0x38bba8
movq 0x60(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x60(%rsp)
movl $0x12, 0x4c(%rsp)
jmp 0x38bc2a
movq 0x60(%rsp), %rax
movzbl 0x1(%rax), %eax
movl %eax, %ecx
leaq 0x215db6(%rip), %rax    # 0x5a1970
movzbl (%rax,%rcx), %eax
shll $0x3, %eax
movq 0x60(%rsp), %rcx
movzbl (%rcx), %ecx
sarl $0x5, %ecx
addl %ecx, %eax
movslq %eax, %rcx
leaq 0x215788(%rip), %rax    # 0x5a1360
movl (%rax,%rcx,4), %eax
movq 0x60(%rsp), %rcx
movzbl (%rcx), %ecx
andl $0x1f, %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
andl %ecx, %eax
cmpl $0x0, %eax
je 0x38bc0e
movq 0x60(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x60(%rsp)
movl $0x13, 0x4c(%rsp)
jmp 0x38bc2a
jmp 0x38bc10
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x74(%rsp)
jmp 0x38bec7
jmp 0x38bc2c
movq 0x60(%rsp), %rax
cmpq 0x58(%rsp), %rax
je 0x38bebd
movq 0x60(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38bc65
movq 0x68(%rsp), %rax
movq 0x60(%rsp), %rcx
movzbl (%rcx), %ecx
movzbl 0x88(%rax,%rcx), %eax
movl %eax, 0xc(%rsp)
jmp 0x38bc81
movq 0x60(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x60(%rsp), %rax
movsbl %cl, %edi
movsbl (%rax), %esi
callq 0x38e510
movl %eax, 0xc(%rsp)
movl 0xc(%rsp), %eax
addl $-0x5, %eax
movl %eax, %ecx
movq %rcx, (%rsp)
subl $0x1f, %eax
ja 0x38bea1
movq (%rsp), %rax
leaq 0x21401e(%rip), %rcx    # 0x59fcc0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x60(%rsp), %rax
movzbl 0x1(%rax), %eax
movl %eax, %ecx
leaq 0x215cb3(%rip), %rax    # 0x5a1970
movzbl (%rax,%rcx), %eax
shll $0x3, %eax
movq 0x60(%rsp), %rcx
movzbl (%rcx), %ecx
sarl $0x5, %ecx
addl %ecx, %eax
movslq %eax, %rcx
leaq 0x215685(%rip), %rax    # 0x5a1360
movl (%rax,%rcx,4), %eax
movq 0x60(%rsp), %rcx
movzbl (%rcx), %ecx
andl $0x1f, %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
andl %ecx, %eax
cmpl $0x0, %eax
jne 0x38bd13
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x74(%rsp)
jmp 0x38bec7
jmp 0x38bd15
movq 0x60(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x60(%rsp)
jmp 0x38beb8
movq 0x58(%rsp), %rax
movq 0x60(%rsp), %rcx
subq %rcx, %rax
cmpq $0x2, %rax
jge 0x38bd48
movl $0xfffffffe, 0x74(%rsp) # imm = 0xFFFFFFFE
jmp 0x38bec7
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x74(%rsp)
jmp 0x38bec7
movq 0x58(%rsp), %rax
movq 0x60(%rsp), %rcx
subq %rcx, %rax
cmpq $0x3, %rax
jge 0x38bd82
movl $0xfffffffe, 0x74(%rsp) # imm = 0xFFFFFFFE
jmp 0x38bec7
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x74(%rsp)
jmp 0x38bec7
movq 0x58(%rsp), %rax
movq 0x60(%rsp), %rcx
subq %rcx, %rax
cmpq $0x4, %rax
jge 0x38bdbc
movl $0xfffffffe, 0x74(%rsp) # imm = 0xFFFFFFFE
jmp 0x38bec7
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl 0x4c(%rsp), %eax
movl %eax, 0x74(%rsp)
jmp 0x38bec7
cmpl $0x13, 0x4c(%rsp)
jne 0x38be11
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
addq $0x2, %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x20, 0x74(%rsp)
jmp 0x38bec7
cmpl $0x13, 0x4c(%rsp)
jne 0x38be4d
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
addq $0x2, %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x1f, 0x74(%rsp)
jmp 0x38bec7
cmpl $0x13, 0x4c(%rsp)
jne 0x38be86
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
addq $0x2, %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x1e, 0x74(%rsp)
jmp 0x38bec7
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x74(%rsp)
jmp 0x38bec7
jmp 0x38bc2c
xorl %eax, %eax
subl 0x4c(%rsp), %eax
movl %eax, 0x74(%rsp)
movl 0x74(%rsp), %eax
addq $0x78, %rsp
retq