// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/external/expat-2.0.1/lib/xmltok_impl.c
// Function: little2_scanLt
static int PTRCALL
PREFIX(scanLt)(const ENCODING *enc, const char *ptr, const char *end,
               const char **nextTokPtr)
{
#ifdef XML_NS
  int hadColon;
#endif
  if (ptr == end)
    return XML_TOK_PARTIAL;
  switch (BYTE_TYPE(enc, ptr)) {
  CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
  case BT_EXCL:
    if ((ptr += MINBPC(enc)) == end)
      return XML_TOK_PARTIAL;
    switch (BYTE_TYPE(enc, ptr)) {
    case BT_MINUS:
      return PREFIX(scanComment)(enc, ptr + MINBPC(enc), end, nextTokPtr);
    case BT_LSQB:
      return PREFIX(scanCdataSection)(enc, ptr + MINBPC(enc),
                                      end, nextTokPtr);
    }
    *nextTokPtr = ptr;
    return XML_TOK_INVALID;
  case BT_QUEST:
    return PREFIX(scanPi)(enc, ptr + MINBPC(enc), end, nextTokPtr);
  case BT_SOL:
    return PREFIX(scanEndTag)(enc, ptr + MINBPC(enc), end, nextTokPtr);
  default:
    *nextTokPtr = ptr;
    return XML_TOK_INVALID;
  }
#ifdef XML_NS
  hadColon = 0;
#endif
  /* we have a start-tag */
  while (ptr != end) {
    switch (BYTE_TYPE(enc, ptr)) {
    CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
#ifdef XML_NS
    case BT_COLON:
      if (hadColon) {
        *nextTokPtr = ptr;
        return XML_TOK_INVALID;
      }
      hadColon = 1;
      ptr += MINBPC(enc);
      if (ptr == end)
        return XML_TOK_PARTIAL;
      switch (BYTE_TYPE(enc, ptr)) {
      CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
      default:
        *nextTokPtr = ptr;
        return XML_TOK_INVALID;
      }
      break;
#endif
    case BT_S: case BT_CR: case BT_LF:
      {
        ptr += MINBPC(enc);
        while (ptr != end) {
          switch (BYTE_TYPE(enc, ptr)) {
          CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
          case BT_GT:
            goto gt;
          case BT_SOL:
            goto sol;
          case BT_S: case BT_CR: case BT_LF:
            ptr += MINBPC(enc);
            continue;
          default:
            *nextTokPtr = ptr;
            return XML_TOK_INVALID;
          }
          return PREFIX(scanAtts)(enc, ptr, end, nextTokPtr);
        }
        return XML_TOK_PARTIAL;
      }
    case BT_GT:
    gt:
      *nextTokPtr = ptr + MINBPC(enc);
      return XML_TOK_START_TAG_NO_ATTS;
    case BT_SOL:
    sol:
      ptr += MINBPC(enc);
      if (ptr == end)
        return XML_TOK_PARTIAL;
      if (!CHAR_MATCHES(enc, ptr, ASCII_GT)) {
        *nextTokPtr = ptr;
        return XML_TOK_INVALID;
      }
      *nextTokPtr = ptr + MINBPC(enc);
      return XML_TOK_EMPTY_ELEMENT_NO_ATTS;
    default:
      *nextTokPtr = ptr;
      return XML_TOK_INVALID;
    }
  }
  return XML_TOK_PARTIAL;
}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x58(%rsp)
movq %rsi, 0x50(%rsp)
movq %rdx, 0x48(%rsp)
movq %rcx, 0x40(%rsp)
movq 0x50(%rsp), %rax
cmpq 0x48(%rsp), %rax
jne 0x38fce1
movl $0xffffffff, 0x64(%rsp) # imm = 0xFFFFFFFF
jmp 0x390449
movq 0x50(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38fd0a
movq 0x58(%rsp), %rax
movq 0x50(%rsp), %rcx
movzbl (%rcx), %ecx
movzbl 0x88(%rax,%rcx), %eax
movl %eax, 0x3c(%rsp)
jmp 0x38fd26
movq 0x50(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x50(%rsp), %rax
movsbl %cl, %edi
movsbl (%rax), %esi
callq 0x38e510
movl %eax, 0x3c(%rsp)
movl 0x3c(%rsp), %eax
addl $-0x5, %eax
movl %eax, %ecx
movq %rcx, 0x30(%rsp)
subl $0x18, %eax
ja 0x38ffb0
movq 0x30(%rsp), %rax
leaq 0x2106a3(%rip), %rcx    # 0x5a03ec
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x50(%rsp), %rax
movzbl 0x1(%rax), %eax
movl %eax, %ecx
leaq 0x211b0c(%rip), %rax    # 0x5a1870
movzbl (%rax,%rcx), %eax
shll $0x3, %eax
movq 0x50(%rsp), %rcx
movzbl (%rcx), %ecx
sarl $0x5, %ecx
addl %ecx, %eax
movslq %eax, %rcx
leaq 0x2115de(%rip), %rax    # 0x5a1360
movl (%rax,%rcx,4), %eax
movq 0x50(%rsp), %rcx
movzbl (%rcx), %ecx
andl $0x1f, %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
andl %ecx, %eax
cmpl $0x0, %eax
jne 0x38fdba
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
jmp 0x38fdbc
movq 0x50(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x50(%rsp)
jmp 0x38ffca
movq 0x48(%rsp), %rax
movq 0x50(%rsp), %rcx
subq %rcx, %rax
cmpq $0x2, %rax
jge 0x38fdef
movl $0xfffffffe, 0x64(%rsp) # imm = 0xFFFFFFFE
jmp 0x390449
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
movq 0x48(%rsp), %rax
movq 0x50(%rsp), %rcx
subq %rcx, %rax
cmpq $0x3, %rax
jge 0x38fe29
movl $0xfffffffe, 0x64(%rsp) # imm = 0xFFFFFFFE
jmp 0x390449
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
movq 0x48(%rsp), %rax
movq 0x50(%rsp), %rcx
subq %rcx, %rax
cmpq $0x4, %rax
jge 0x38fe63
movl $0xfffffffe, 0x64(%rsp) # imm = 0xFFFFFFFE
jmp 0x390449
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
movq 0x50(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x50(%rsp)
cmpq 0x48(%rsp), %rax
jne 0x38fe9f
movl $0xffffffff, 0x64(%rsp) # imm = 0xFFFFFFFF
jmp 0x390449
movq 0x50(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38fec8
movq 0x58(%rsp), %rax
movq 0x50(%rsp), %rcx
movzbl (%rcx), %ecx
movzbl 0x88(%rax,%rcx), %eax
movl %eax, 0x2c(%rsp)
jmp 0x38fee4
movq 0x50(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x50(%rsp), %rax
movsbl %cl, %edi
movsbl (%rax), %esi
callq 0x38e510
movl %eax, 0x2c(%rsp)
movl 0x2c(%rsp), %eax
movl %eax, 0x28(%rsp)
subl $0x14, %eax
je 0x38ff24
jmp 0x38fef3
movl 0x28(%rsp), %eax
subl $0x1b, %eax
jne 0x38ff4a
jmp 0x38fefe
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %rsi
addq $0x2, %rsi
movq 0x48(%rsp), %rdx
movq 0x40(%rsp), %rcx
callq 0x38f8a0
movl %eax, 0x64(%rsp)
jmp 0x390449
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %rsi
addq $0x2, %rsi
movq 0x48(%rsp), %rdx
movq 0x40(%rsp), %rcx
callq 0x390860
movl %eax, 0x64(%rsp)
jmp 0x390449
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %rsi
addq $0x2, %rsi
movq 0x48(%rsp), %rdx
movq 0x40(%rsp), %rcx
callq 0x38ea80
movl %eax, 0x64(%rsp)
jmp 0x390449
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %rsi
addq $0x2, %rsi
movq 0x48(%rsp), %rdx
movq 0x40(%rsp), %rcx
callq 0x390920
movl %eax, 0x64(%rsp)
jmp 0x390449
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
jmp 0x38ffcc
movq 0x50(%rsp), %rax
cmpq 0x48(%rsp), %rax
je 0x390441
movq 0x50(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x390005
movq 0x58(%rsp), %rax
movq 0x50(%rsp), %rcx
movzbl (%rcx), %ecx
movzbl 0x88(%rax,%rcx), %eax
movl %eax, 0x24(%rsp)
jmp 0x390021
movq 0x50(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x50(%rsp), %rax
movsbl %cl, %edi
movsbl (%rax), %esi
callq 0x38e510
movl %eax, 0x24(%rsp)
movl 0x24(%rsp), %eax
addl $-0x5, %eax
movl %eax, %ecx
movq %rcx, 0x18(%rsp)
subl $0x18, %eax
ja 0x390425
movq 0x18(%rsp), %rax
leaq 0x21040c(%rip), %rcx    # 0x5a0450
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x50(%rsp), %rax
movzbl 0x1(%rax), %eax
movl %eax, %ecx
leaq 0x211911(%rip), %rax    # 0x5a1970
movzbl (%rax,%rcx), %eax
shll $0x3, %eax
movq 0x50(%rsp), %rcx
movzbl (%rcx), %ecx
sarl $0x5, %ecx
addl %ecx, %eax
movslq %eax, %rcx
leaq 0x2112e3(%rip), %rax    # 0x5a1360
movl (%rax,%rcx,4), %eax
movq 0x50(%rsp), %rcx
movzbl (%rcx), %ecx
andl $0x1f, %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
andl %ecx, %eax
cmpl $0x0, %eax
jne 0x3900b5
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
jmp 0x3900b7
movq 0x50(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x50(%rsp)
jmp 0x39043c
movq 0x48(%rsp), %rax
movq 0x50(%rsp), %rcx
subq %rcx, %rax
cmpq $0x2, %rax
jge 0x3900ea
movl $0xfffffffe, 0x64(%rsp) # imm = 0xFFFFFFFE
jmp 0x390449
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
movq 0x48(%rsp), %rax
movq 0x50(%rsp), %rcx
subq %rcx, %rax
cmpq $0x3, %rax
jge 0x390124
movl $0xfffffffe, 0x64(%rsp) # imm = 0xFFFFFFFE
jmp 0x390449
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
movq 0x48(%rsp), %rax
movq 0x50(%rsp), %rcx
subq %rcx, %rax
cmpq $0x4, %rax
jge 0x39015e
movl $0xfffffffe, 0x64(%rsp) # imm = 0xFFFFFFFE
jmp 0x390449
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
movq 0x50(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
cmpq 0x48(%rsp), %rax
je 0x390385
movq 0x50(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x3901bf
movq 0x58(%rsp), %rax
movq 0x50(%rsp), %rcx
movzbl (%rcx), %ecx
movzbl 0x88(%rax,%rcx), %eax
movl %eax, 0x14(%rsp)
jmp 0x3901db
movq 0x50(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x50(%rsp), %rax
movsbl %cl, %edi
movsbl (%rax), %esi
callq 0x38e510
movl %eax, 0x14(%rsp)
movl 0x14(%rsp), %eax
addl $-0x5, %eax
movl %eax, %ecx
movq %rcx, 0x8(%rsp)
subl $0x18, %eax
ja 0x390349
movq 0x8(%rsp), %rax
leaq 0x2102b6(%rip), %rcx    # 0x5a04b4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x50(%rsp), %rax
movzbl 0x1(%rax), %eax
movl %eax, %ecx
leaq 0x211657(%rip), %rax    # 0x5a1870
movzbl (%rax,%rcx), %eax
shll $0x3, %eax
movq 0x50(%rsp), %rcx
movzbl (%rcx), %ecx
sarl $0x5, %ecx
addl %ecx, %eax
movslq %eax, %rcx
leaq 0x211129(%rip), %rax    # 0x5a1360
movl (%rax,%rcx,4), %eax
movq 0x50(%rsp), %rcx
movzbl (%rcx), %ecx
andl $0x1f, %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
andl %ecx, %eax
cmpl $0x0, %eax
jne 0x39026f
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
jmp 0x390271
movq 0x50(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x50(%rsp)
jmp 0x390363
movq 0x48(%rsp), %rax
movq 0x50(%rsp), %rcx
subq %rcx, %rax
cmpq $0x2, %rax
jge 0x3902a4
movl $0xfffffffe, 0x64(%rsp) # imm = 0xFFFFFFFE
jmp 0x390449
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
movq 0x48(%rsp), %rax
movq 0x50(%rsp), %rcx
subq %rcx, %rax
cmpq $0x3, %rax
jge 0x3902de
movl $0xfffffffe, 0x64(%rsp) # imm = 0xFFFFFFFE
jmp 0x390449
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
movq 0x48(%rsp), %rax
movq 0x50(%rsp), %rcx
subq %rcx, %rax
cmpq $0x4, %rax
jge 0x390318
movl $0xfffffffe, 0x64(%rsp) # imm = 0xFFFFFFFE
jmp 0x390449
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
jmp 0x390394
jmp 0x3903b4
movq 0x50(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x50(%rsp)
jmp 0x390186
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %rsi
movq 0x48(%rsp), %rdx
movq 0x40(%rsp), %rcx
callq 0x390de0
movl %eax, 0x64(%rsp)
jmp 0x390449
movl $0xffffffff, 0x64(%rsp) # imm = 0xFFFFFFFF
jmp 0x390449
jmp 0x390394
movq 0x50(%rsp), %rcx
addq $0x2, %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x2, 0x64(%rsp)
jmp 0x390449
jmp 0x3903b4
movq 0x50(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
cmpq 0x48(%rsp), %rax
jne 0x3903d8
movl $0xffffffff, 0x64(%rsp) # imm = 0xFFFFFFFF
jmp 0x390449
movq 0x50(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x3903f3
movq 0x50(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x3e, %eax
je 0x39040a
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
movq 0x50(%rsp), %rcx
addq $0x2, %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x4, 0x64(%rsp)
jmp 0x390449
movq 0x50(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x64(%rsp)
jmp 0x390449
jmp 0x38ffcc
movl $0xffffffff, 0x64(%rsp) # imm = 0xFFFFFFFF
movl 0x64(%rsp), %eax
addq $0x68, %rsp
retq
nopw %cs:(%rax,%rax)