// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/external/expat-2.0.1/lib/xmlparse.c
// Function: epilogProcessor
static enum XML_Error PTRCALL
epilogProcessor(XML_Parser parser,
                const char *s,
                const char *end,
                const char **nextPtr)
{
  processor = epilogProcessor;
  eventPtr = s;
  for (;;) {
    const char *next = NULL;
    int tok = XmlPrologTok(encoding, s, end, &next);
    eventEndPtr = next;
    switch (tok) {
    /* report partial linebreak - it might be the last token */
    case -XML_TOK_PROLOG_S:
      if (defaultHandler) {
        reportDefault(parser, encoding, s, next);
        if (ps_parsing == XML_FINISHED)
          return XML_ERROR_ABORTED;
      }
      *nextPtr = next;
      return XML_ERROR_NONE;
    case XML_TOK_NONE:
      *nextPtr = s;
      return XML_ERROR_NONE;
    case XML_TOK_PROLOG_S:
      if (defaultHandler)
        reportDefault(parser, encoding, s, next);
      break;
    case XML_TOK_PI:
      if (!reportProcessingInstruction(parser, encoding, s, next))
        return XML_ERROR_NO_MEMORY;
      break;
    case XML_TOK_COMMENT:
      if (!reportComment(parser, encoding, s, next))
        return XML_ERROR_NO_MEMORY;
      break;
    case XML_TOK_INVALID:
      eventPtr = next;
      return XML_ERROR_INVALID_TOKEN;
    case XML_TOK_PARTIAL:
      if (!ps_finalBuffer) {
        *nextPtr = s;
        return XML_ERROR_NONE;
      }
      return XML_ERROR_UNCLOSED_TOKEN;
    case XML_TOK_PARTIAL_CHAR:
      if (!ps_finalBuffer) {
        *nextPtr = s;
        return XML_ERROR_NONE;
      }
      return XML_ERROR_PARTIAL_CHAR;
    default:
      return XML_ERROR_JUNK_AFTER_DOC_ELEMENT;
    }
    eventPtr = s = next;
    switch (ps_parsing) {
    case XML_SUSPENDED: 
      *nextPtr = next;
      return XML_ERROR_NONE;
    case XML_FINISHED:
      return XML_ERROR_ABORTED;
    default: ;
    }
  }
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq %rsi, 0x30(%rsp)
movq %rdx, 0x28(%rsp)
movq %rcx, 0x20(%rsp)
movq 0x38(%rsp), %rax
leaq -0x24(%rip), %rcx       # 0x37f480
movq %rcx, 0x200(%rax)
movq 0x30(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x210(%rax)
movq $0x0, 0x18(%rsp)
movq 0x38(%rsp), %rax
movq 0x120(%rax), %rdi
movq (%rdi), %rax
movq 0x30(%rsp), %rsi
movq 0x28(%rsp), %rdx
leaq 0x18(%rsp), %rcx
callq *%rax
movl %eax, 0x14(%rsp)
movq 0x18(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x218(%rax)
movl 0x14(%rsp), %eax
addl $0xf, %eax
movl %eax, %ecx
movq %rcx, 0x8(%rsp)
subl $0x1e, %eax
ja 0x37f6ca
movq 0x8(%rsp), %rax
leaq 0x21eed3(%rip), %rcx    # 0x59e3f0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x38(%rsp), %rax
cmpq $0x0, 0xa0(%rax)
je 0x37f572
movq 0x38(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x120(%rax), %rsi
movq 0x30(%rsp), %rdx
movq 0x18(%rsp), %rcx
callq 0x376350
movq 0x38(%rsp), %rax
cmpl $0x2, 0x378(%rax)
jne 0x37f570
movl $0x23, 0x44(%rsp)
jmp 0x37f733
jmp 0x37f572
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x44(%rsp)
jmp 0x37f733
movq 0x30(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x44(%rsp)
jmp 0x37f733
movq 0x38(%rsp), %rax
cmpq $0x0, 0xa0(%rax)
je 0x37f5d5
movq 0x38(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x120(%rax), %rsi
movq 0x30(%rsp), %rdx
movq 0x18(%rsp), %rcx
callq 0x376350
jmp 0x37f6d4
movq 0x38(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x120(%rax), %rsi
movq 0x30(%rsp), %rdx
movq 0x18(%rsp), %rcx
callq 0x37b670
cmpl $0x0, %eax
jne 0x37f60c
movl $0x1, 0x44(%rsp)
jmp 0x37f733
jmp 0x37f6d4
movq 0x38(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x120(%rax), %rsi
movq 0x30(%rsp), %rdx
movq 0x18(%rsp), %rcx
callq 0x37b830
cmpl $0x0, %eax
jne 0x37f643
movl $0x1, 0x44(%rsp)
jmp 0x37f733
jmp 0x37f6d4
movq 0x18(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x210(%rax)
movl $0x4, 0x44(%rsp)
jmp 0x37f733
movq 0x38(%rsp), %rax
cmpb $0x0, 0x37c(%rax)
jne 0x37f68e
movq 0x30(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x44(%rsp)
jmp 0x37f733
movl $0x5, 0x44(%rsp)
jmp 0x37f733
movq 0x38(%rsp), %rax
cmpb $0x0, 0x37c(%rax)
jne 0x37f6c0
movq 0x30(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x44(%rsp)
jmp 0x37f733
movl $0x6, 0x44(%rsp)
jmp 0x37f733
movl $0x9, 0x44(%rsp)
jmp 0x37f733
movq 0x18(%rsp), %rcx
movq %rcx, 0x30(%rsp)
movq 0x38(%rsp), %rax
movq %rcx, 0x210(%rax)
movq 0x38(%rsp), %rax
movl 0x378(%rax), %eax
movl %eax, 0x4(%rsp)
subl $0x2, %eax
je 0x37f722
jmp 0x37f700
movl 0x4(%rsp), %eax
subl $0x3, %eax
jne 0x37f72c
jmp 0x37f70b
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
movl $0x0, 0x44(%rsp)
jmp 0x37f733
movl $0x23, 0x44(%rsp)
jmp 0x37f733
jmp 0x37f72e
jmp 0x37f4bc
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopl (%rax)