// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/external/expat-2.0.1/lib/xmltok_impl.c
// Function: little2_scanAtts
static int PTRCALL
PREFIX(scanAtts)(const ENCODING *enc, const char *ptr, const char *end,
                 const char **nextTokPtr)
{
#ifdef XML_NS
  int hadColon = 0;
#endif
  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:
      for (;;) {
        int t;

        ptr += MINBPC(enc);
        if (ptr == end)
          return XML_TOK_PARTIAL;
        t = BYTE_TYPE(enc, ptr);
        if (t == BT_EQUALS)
          break;
        switch (t) {
        case BT_S:
        case BT_LF:
        case BT_CR:
          break;
        default:
          *nextTokPtr = ptr;
          return XML_TOK_INVALID;
        }
      }
    /* fall through */
    case BT_EQUALS:
      {
        int open;
#ifdef XML_NS
        hadColon = 0;
#endif
        for (;;) {
          ptr += MINBPC(enc);
          if (ptr == end)
            return XML_TOK_PARTIAL;
          open = BYTE_TYPE(enc, ptr);
          if (open == BT_QUOT || open == BT_APOS)
            break;
          switch (open) {
          case BT_S:
          case BT_LF:
          case BT_CR:
            break;
          default:
            *nextTokPtr = ptr;
            return XML_TOK_INVALID;
          }
        }
        ptr += MINBPC(enc);
        /* in attribute value */
        for (;;) {
          int t;
          if (ptr == end)
            return XML_TOK_PARTIAL;
          t = BYTE_TYPE(enc, ptr);
          if (t == open)
            break;
          switch (t) {
          INVALID_CASES(ptr, nextTokPtr)
          case BT_AMP:
            {
              int tok = PREFIX(scanRef)(enc, ptr + MINBPC(enc), end, &ptr);
              if (tok <= 0) {
                if (tok == XML_TOK_INVALID)
                  *nextTokPtr = ptr;
                return tok;
              }
              break;
            }
          case BT_LT:
            *nextTokPtr = ptr;
            return XML_TOK_INVALID;
          default:
            ptr += MINBPC(enc);
            break;
          }
        }
        ptr += MINBPC(enc);
        if (ptr == end)
          return XML_TOK_PARTIAL;
        switch (BYTE_TYPE(enc, ptr)) {
        case BT_S:
        case BT_CR:
        case BT_LF:
          break;
        case BT_SOL:
          goto sol;
        case BT_GT:
          goto gt;
        default:
          *nextTokPtr = ptr;
          return XML_TOK_INVALID;
        }
        /* ptr points to closing quote */
        for (;;) {
          ptr += MINBPC(enc);
          if (ptr == end)
            return XML_TOK_PARTIAL;
          switch (BYTE_TYPE(enc, ptr)) {
          CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
          case BT_S: case BT_CR: case BT_LF:
            continue;
          case BT_GT:
          gt:
            *nextTokPtr = ptr + MINBPC(enc);
            return XML_TOK_START_TAG_WITH_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_WITH_ATTS;
          default:
            *nextTokPtr = ptr;
            return XML_TOK_INVALID;
          }
          break;
        }
        break;
      }
    default:
      *nextTokPtr = ptr;
      return XML_TOK_INVALID;
    }
  }
  return XML_TOK_PARTIAL;
}

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x78(%rsp)
movq %rsi, 0x70(%rsp)
movq %rdx, 0x68(%rsp)
movq %rcx, 0x60(%rsp)
movq 0x70(%rsp), %rax
cmpq 0x68(%rsp), %rax
je 0x3916b5
movq 0x70(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x390e34
movq 0x78(%rsp), %rax
movq 0x70(%rsp), %rcx
movzbl (%rcx), %ecx
movzbl 0x88(%rax,%rcx), %eax
movl %eax, 0x4c(%rsp)
jmp 0x390e50
movq 0x70(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x70(%rsp), %rax
movsbl %cl, %edi
movsbl (%rax), %esi
callq 0x38e510
movl %eax, 0x4c(%rsp)
movl 0x4c(%rsp), %eax
addl $-0x5, %eax
movl %eax, %ecx
movq %rcx, 0x40(%rsp)
subl $0x18, %eax
ja 0x391696
movq 0x40(%rsp), %rax
leaq 0x20f835(%rip), %rcx    # 0x5a06a8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x70(%rsp), %rax
movzbl 0x1(%rax), %eax
movl %eax, %ecx
leaq 0x210ae2(%rip), %rax    # 0x5a1970
movzbl (%rax,%rcx), %eax
shll $0x3, %eax
movq 0x70(%rsp), %rcx
movzbl (%rcx), %ecx
sarl $0x5, %ecx
addl %ecx, %eax
movslq %eax, %rcx
leaq 0x2104b4(%rip), %rax    # 0x5a1360
movl (%rax,%rcx,4), %eax
movq 0x70(%rsp), %rcx
movzbl (%rcx), %ecx
andl $0x1f, %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
andl %ecx, %eax
cmpl $0x0, %eax
jne 0x390ee7
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
jmp 0x390ee9
movq 0x70(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x70(%rsp)
jmp 0x3916b0
movq 0x68(%rsp), %rax
movq 0x70(%rsp), %rcx
subq %rcx, %rax
cmpq $0x2, %rax
jge 0x390f1f
movl $0xfffffffe, 0x84(%rsp) # imm = 0xFFFFFFFE
jmp 0x3916c0
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
movq 0x68(%rsp), %rax
movq 0x70(%rsp), %rcx
subq %rcx, %rax
cmpq $0x3, %rax
jge 0x390f5f
movl $0xfffffffe, 0x84(%rsp) # imm = 0xFFFFFFFE
jmp 0x3916c0
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
movq 0x68(%rsp), %rax
movq 0x70(%rsp), %rcx
subq %rcx, %rax
cmpq $0x4, %rax
jge 0x390f9f
movl $0xfffffffe, 0x84(%rsp) # imm = 0xFFFFFFFE
jmp 0x3916c0
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
jmp 0x390fbe
movq 0x70(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
cmpq 0x68(%rsp), %rax
jne 0x390fe8
movl $0xffffffff, 0x84(%rsp) # imm = 0xFFFFFFFF
jmp 0x3916c0
movq 0x70(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x391011
movq 0x78(%rsp), %rax
movq 0x70(%rsp), %rcx
movzbl (%rcx), %ecx
movzbl 0x88(%rax,%rcx), %eax
movl %eax, 0x3c(%rsp)
jmp 0x39102d
movq 0x70(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x70(%rsp), %rax
movsbl %cl, %edi
movsbl (%rax), %esi
callq 0x38e510
movl %eax, 0x3c(%rsp)
movl 0x3c(%rsp), %eax
movl %eax, 0x5c(%rsp)
cmpl $0xe, 0x5c(%rsp)
jne 0x39103e
jmp 0x39107f
movl 0x5c(%rsp), %eax
movl %eax, 0x38(%rsp)
addl $-0x9, %eax
subl $0x2, %eax
jb 0x39105b
jmp 0x391050
movl 0x38(%rsp), %eax
subl $0x15, %eax
jne 0x39105d
jmp 0x39105b
jmp 0x39107a
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
jmp 0x390fbe
jmp 0x391081
jmp 0x391083
movq 0x70(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
cmpq 0x68(%rsp), %rax
jne 0x3910ad
movl $0xffffffff, 0x84(%rsp) # imm = 0xFFFFFFFF
jmp 0x3916c0
movq 0x70(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x3910d6
movq 0x78(%rsp), %rax
movq 0x70(%rsp), %rcx
movzbl (%rcx), %ecx
movzbl 0x88(%rax,%rcx), %eax
movl %eax, 0x34(%rsp)
jmp 0x3910f2
movq 0x70(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x70(%rsp), %rax
movsbl %cl, %edi
movsbl (%rax), %esi
callq 0x38e510
movl %eax, 0x34(%rsp)
movl 0x34(%rsp), %eax
movl %eax, 0x58(%rsp)
cmpl $0xc, 0x58(%rsp)
je 0x391108
cmpl $0xd, 0x58(%rsp)
jne 0x39110a
jmp 0x39114b
movl 0x58(%rsp), %eax
movl %eax, 0x30(%rsp)
addl $-0x9, %eax
subl $0x2, %eax
jb 0x391127
jmp 0x39111c
movl 0x30(%rsp), %eax
subl $0x15, %eax
jne 0x391129
jmp 0x391127
jmp 0x391146
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
jmp 0x391083
movq 0x70(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
cmpq 0x68(%rsp), %rax
jne 0x391175
movl $0xffffffff, 0x84(%rsp) # imm = 0xFFFFFFFF
jmp 0x3916c0
movq 0x70(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x39119e
movq 0x78(%rsp), %rax
movq 0x70(%rsp), %rcx
movzbl (%rcx), %ecx
movzbl 0x88(%rax,%rcx), %eax
movl %eax, 0x2c(%rsp)
jmp 0x3911ba
movq 0x70(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x70(%rsp), %rax
movsbl %cl, %edi
movsbl (%rax), %esi
callq 0x38e510
movl %eax, 0x2c(%rsp)
movl 0x2c(%rsp), %eax
movl %eax, 0x54(%rsp)
movl 0x54(%rsp), %eax
cmpl 0x58(%rsp), %eax
jne 0x3911d1
jmp 0x391336
movl 0x54(%rsp), %eax
movq %rax, 0x20(%rsp)
subq $0x8, %rax
ja 0x391323
movq 0x20(%rsp), %rax
leaq 0x20f51c(%rip), %rcx    # 0x5a070c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x68(%rsp), %rax
movq 0x70(%rsp), %rcx
subq %rcx, %rax
cmpq $0x2, %rax
jge 0x39121c
movl $0xfffffffe, 0x84(%rsp) # imm = 0xFFFFFFFE
jmp 0x3916c0
movq 0x70(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x70(%rsp)
jmp 0x391331
movq 0x68(%rsp), %rax
movq 0x70(%rsp), %rcx
subq %rcx, %rax
cmpq $0x3, %rax
jge 0x391252
movl $0xfffffffe, 0x84(%rsp) # imm = 0xFFFFFFFE
jmp 0x3916c0
movq 0x70(%rsp), %rax
addq $0x3, %rax
movq %rax, 0x70(%rsp)
jmp 0x391331
movq 0x68(%rsp), %rax
movq 0x70(%rsp), %rcx
subq %rcx, %rax
cmpq $0x4, %rax
jge 0x391288
movl $0xfffffffe, 0x84(%rsp) # imm = 0xFFFFFFFE
jmp 0x3916c0
movq 0x70(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x70(%rsp)
jmp 0x391331
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
movq 0x78(%rsp), %rdi
movq 0x70(%rsp), %rsi
addq $0x2, %rsi
movq 0x68(%rsp), %rdx
leaq 0x70(%rsp), %rcx
callq 0x390460
movl %eax, 0x50(%rsp)
cmpl $0x0, 0x50(%rsp)
jg 0x391304
cmpl $0x0, 0x50(%rsp)
jne 0x3912f4
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl 0x50(%rsp), %eax
movl %eax, 0x84(%rsp)
jmp 0x3916c0
jmp 0x391331
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
movq 0x70(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x70(%rsp)
jmp 0x391159
movq 0x70(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
cmpq 0x68(%rsp), %rax
jne 0x391360
movl $0xffffffff, 0x84(%rsp) # imm = 0xFFFFFFFF
jmp 0x3916c0
movq 0x70(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x391389
movq 0x78(%rsp), %rax
movq 0x70(%rsp), %rcx
movzbl (%rcx), %ecx
movzbl 0x88(%rax,%rcx), %eax
movl %eax, 0x1c(%rsp)
jmp 0x3913a5
movq 0x70(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x70(%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 $0xc, %eax
ja 0x3913d9
movq 0x10(%rsp), %rax
leaq 0x20f36c(%rip), %rcx    # 0x5a0730
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x3913f6
jmp 0x3915fb
jmp 0x3915d8
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
jmp 0x3913f8
movq 0x70(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
cmpq 0x68(%rsp), %rax
jne 0x391422
movl $0xffffffff, 0x84(%rsp) # imm = 0xFFFFFFFF
jmp 0x3916c0
movq 0x70(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x39144b
movq 0x78(%rsp), %rax
movq 0x70(%rsp), %rcx
movzbl (%rcx), %ecx
movzbl 0x88(%rax,%rcx), %eax
movl %eax, 0xc(%rsp)
jmp 0x391467
movq 0x70(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x70(%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 $0x18, %eax
ja 0x391678
movq (%rsp), %rax
leaq 0x20f2dc(%rip), %rcx    # 0x5a0764
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x70(%rsp), %rax
movzbl 0x1(%rax), %eax
movl %eax, %ecx
leaq 0x2103cd(%rip), %rax    # 0x5a1870
movzbl (%rax,%rcx), %eax
shll $0x3, %eax
movq 0x70(%rsp), %rcx
movzbl (%rcx), %ecx
sarl $0x5, %ecx
addl %ecx, %eax
movslq %eax, %rcx
leaq 0x20fe9f(%rip), %rax    # 0x5a1360
movl (%rax,%rcx,4), %eax
movq 0x70(%rsp), %rcx
movzbl (%rcx), %ecx
andl $0x1f, %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
andl %ecx, %eax
cmpl $0x0, %eax
jne 0x3914fc
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
jmp 0x3914fe
movq 0x70(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x70(%rsp)
jmp 0x391692
movq 0x68(%rsp), %rax
movq 0x70(%rsp), %rcx
subq %rcx, %rax
cmpq $0x2, %rax
jge 0x391534
movl $0xfffffffe, 0x84(%rsp) # imm = 0xFFFFFFFE
jmp 0x3916c0
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
movq 0x68(%rsp), %rax
movq 0x70(%rsp), %rcx
subq %rcx, %rax
cmpq $0x3, %rax
jge 0x391574
movl $0xfffffffe, 0x84(%rsp) # imm = 0xFFFFFFFE
jmp 0x3916c0
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
movq 0x68(%rsp), %rax
movq 0x70(%rsp), %rcx
subq %rcx, %rax
cmpq $0x4, %rax
jge 0x3915b4
movl $0xfffffffe, 0x84(%rsp) # imm = 0xFFFFFFFE
jmp 0x3916c0
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
jmp 0x3913f8
jmp 0x3915d8
movq 0x70(%rsp), %rcx
addq $0x2, %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x1, 0x84(%rsp)
jmp 0x3916c0
jmp 0x3915fb
movq 0x70(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
cmpq 0x68(%rsp), %rax
jne 0x391625
movl $0xffffffff, 0x84(%rsp) # imm = 0xFFFFFFFF
jmp 0x3916c0
movq 0x70(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x391640
movq 0x70(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x3e, %eax
je 0x39165a
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
movq 0x70(%rsp), %rcx
addq $0x2, %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x3, 0x84(%rsp)
jmp 0x3916c0
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
jmp 0x391694
jmp 0x3916b0
movq 0x70(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x84(%rsp)
jmp 0x3916c0
jmp 0x390dfb
movl $0xffffffff, 0x84(%rsp) # imm = 0xFFFFFFFF
movl 0x84(%rsp), %eax
addq $0x88, %rsp
retq
nop