// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_get
SOAP_FMAC2
soap_get(struct soap *soap)
{ register soap_wchar c;
  c = soap->ahead;
  if (c)
  { if ((int)c != EOF)
      soap->ahead = 0;
  }
  else
    c = soap_get1(soap);
  while ((int)c != EOF)
  { if (soap->cdata)
    { if (c == ']')
      { c = soap_get1(soap);
        if (c == ']')
        { c = soap_get0(soap);
          if (c == '>')
          { soap->cdata = 0;
            soap_get1(soap);
            c = soap_get1(soap);
          }
          else
          { soap_unget(soap, ']');
            return ']';
          }
        }
        else
        { soap_revget1(soap);
          return ']';
        }
      }
      else
        return c;
    }
    switch (c)
    { case '<':
        do c = soap_get1(soap);
        while (soap_blank(c));
        if (c == '!' || c == '?' || c == '%')
        { register int k = 1;
          if (c == '!')
          { c = soap_get1(soap);
            if (c == '[')
            { do c = soap_get1(soap);
              while ((int)c != EOF && c != '[');
              if ((int)c == EOF)
                break;
              soap->cdata = 1;
              c = soap_get1(soap);
              continue;
            }
            if (c == '-' && (c = soap_get1(soap)) == '-')
            { do
              { c = soap_get1(soap);
                if (c == '-' && (c = soap_get1(soap)) == '-')
                  break;
              } while ((int)c != EOF);
            }
          }
          else if (c == '?')
            c = soap_get_pi(soap);
          while ((int)c != EOF)
          { if (c == '<')
              k++;
            else if (c == '>')
            { if (--k <= 0)
                break;
            }
            c = soap_get1(soap);
          }
          if ((int)c == EOF)
            break;
          c = soap_get1(soap);
          continue;
        }
        if (c == '/')
          return SOAP_TT;
        soap_revget1(soap);
        return SOAP_LT;
      case '>':
        return SOAP_GT;
      case '"':
        return SOAP_QT;
      case '\'':
        return SOAP_AP;
      case '&':
        return soap_char(soap) | 0x80000000;
    }
    break;
  }
  return c;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
movl 0x6100(%rdi), %ebp
cmpl $-0x1, %ebp
je 0x3834c
testl %ebp, %ebp
jne 0x38342
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x38326
movq %rbx, %rdi
callq 0x37dbb
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
testl %eax, %eax
jne 0x3834c
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %ebp
jmp 0x3834c
movl $0x0, 0x6100(%rbx)
movq %rsp, %r14
leaq 0x1b142(%rip), %r15     # 0x53498
cmpl $-0x1, %ebp
je 0x38887
cmpw $0x0, 0x6104(%rbx)
je 0x38446
cmpl $0x5d, %ebp
jne 0x389da
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x38396
movq %rbx, %rdi
callq 0x37dbb
testl %eax, %eax
jne 0x38891
movq 0x60f0(%rbx), %rcx
leaq 0x1(%rcx), %rax
movq %rax, 0x60f0(%rbx)
cmpb $0x5d, 0x6138(%rbx,%rcx)
jne 0x38891
cmpq 0x60f8(%rbx), %rax
jb 0x383cf
movq %rbx, %rdi
callq 0x37dbb
testl %eax, %eax
jne 0x3889a
movq 0x60f0(%rbx), %rax
cmpb $0x3e, 0x6138(%rbx,%rax)
jne 0x3889a
movw $0x0, 0x6104(%rbx)
cmpq 0x60f8(%rbx), %rax
jb 0x38402
movq %rbx, %rdi
callq 0x37dbb
testl %eax, %eax
jne 0x38409
incq 0x60f0(%rbx)
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x3842a
movq %rbx, %rdi
callq 0x37dbb
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
testl %eax, %eax
jne 0x38448
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %ecx
jmp 0x38448
movl %ebp, %ecx
cmpl $0x3c, %ecx
jne 0x387fe
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x38474
movq %rbx, %rdi
callq 0x37dbb
movl %eax, %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testl %ecx, %ecx
jne 0x3848e
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %eax
cmpl $0x21, %eax
jb 0x38451
cmpl $0x2e, %eax
jg 0x384ab
cmpl $0x21, %eax
je 0x384fd
cmpl $0x25, %eax
je 0x38745
jmp 0x3898a
cmpl $0x3f, %eax
jne 0x38980
movl $0x40, %eax
movq %r14, %r13
movl %eax, %r12d
movq %rbx, %rdi
callq 0x37f8a
movl %eax, %ebp
cmpl $-0x1, %eax
je 0x385cc
cmpl $0x3f, %ebp
je 0x385cc
leal -0x1(%r12), %eax
cmpl $0x2, %r12d
movl %eax, %r12d
jl 0x384bf
cmpl $0x21, %ebp
movl $0x20, %ecx
cmovbl %ecx, %ebp
movb %bpl, (%r13)
incq %r13
jmp 0x384bc
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x38520
movq %rbx, %rdi
callq 0x37dbb
movl %eax, %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testl %ecx, %ecx
jne 0x3853a
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %eax
cmpl $0x2d, %eax
je 0x38651
cmpl $0x5b, %eax
jne 0x38745
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x3856d
movq %rbx, %rdi
callq 0x37dbb
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
testl %eax, %eax
jne 0x38587
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %ebp
cmpl $-0x1, %ebp
je 0x387ef
cmpl $0x5b, %ebp
jne 0x3854c
movw $0x1, 0x6104(%rbx)
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x387d1
movq %rbx, %rdi
callq 0x37dbb
testl %eax, %eax
je 0x387d1
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x387eb
movb $0x0, (%r13)
cmpl $0x206c6d78, (%rsp)     # imm = 0x206C6D78
jne 0x38731
movq %r14, %rdi
movq %r15, %rsi
callq 0x33c0
testq %rax, %rax
je 0x38731
movq %rax, %r13
cmpb $0x0, 0xa(%rax)
je 0x38731
addq $0xb, %r13
movq %r13, %rdi
leaq 0x1ae96(%rip), %rsi     # 0x534a3
callq 0x3806c
testl %eax, %eax
je 0x3872d
movq %r13, %rdi
leaq 0x1ae8b(%rip), %rsi     # 0x534af
callq 0x3806c
testl %eax, %eax
je 0x3872d
movq %r13, %rdi
leaq 0x1ae7c(%rip), %rsi     # 0x534b7
callq 0x3806c
testl %eax, %eax
jne 0x38731
andb $-0x21, 0x4(%rbx)
jmp 0x38731
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x38674
movq %rbx, %rdi
callq 0x37dbb
movl %eax, %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testl %ecx, %ecx
jne 0x3868e
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %eax
cmpl $0x2d, %eax
jne 0x38745
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x386ba
movq %rbx, %rdi
callq 0x37dbb
movl %eax, %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testl %ecx, %ecx
jne 0x386d4
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %eax
cmpl $0x2d, %eax
je 0x386e0
cmpl $-0x1, %eax
jne 0x38697
jmp 0x38745
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x38703
movq %rbx, %rdi
callq 0x37dbb
movl %eax, %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testl %ecx, %ecx
jne 0x3871d
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %eax
cmpl $-0x1, %eax
je 0x38745
cmpl $0x2d, %eax
jne 0x38697
jmp 0x38745
orb $0x20, 0x4(%rbx)
cmpl $-0x1, %ebp
je 0x38740
movq %rbx, %rdi
callq 0x37f8a
jmp 0x38745
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl $0x1, %ebp
cmpl $0x3c, %eax
je 0x38764
cmpl $0x3e, %eax
je 0x3875b
cmpl $-0x1, %eax
jne 0x38766
jmp 0x387a5
cmpl $0x2, %ebp
jl 0x387ab
decl %ebp
jmp 0x38766
incl %ebp
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x38789
movq %rbx, %rdi
callq 0x37dbb
movl %eax, %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testl %ecx, %ecx
jne 0x3874a
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %eax
jmp 0x3874a
movb $0x1, %cl
movl %eax, %ebp
jmp 0x387f1
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
cmpl $-0x1, %eax
je 0x387ef
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x387d1
movq %rbx, %rdi
callq 0x37dbb
testl %eax, %eax
jne 0x387eb
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %ebp
xorl %ecx, %ecx
jmp 0x387f1
movb $0x1, %cl
testb %cl, %cl
je 0x38356
jmp 0x389da
cmpl $0x26, %ecx
jg 0x3886d
cmpl $0x22, %ecx
je 0x388ae
cmpl $0x26, %ecx
jne 0x38880
xorl %r14d, %r14d
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x38835
movq %rbx, %rdi
callq 0x37dbb
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
testl %eax, %eax
jne 0x3884f
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %ecx
cmpl $-0x1, %ecx
je 0x388c2
cmpl $0x3b, %ecx
je 0x388c2
movb %cl, (%rsp,%r14)
incq %r14
cmpq $0x7, %r14
jne 0x38814
leaq 0x7(%rsp), %rax
jmp 0x388c6
cmpl $0x27, %ecx
je 0x388b8
movl $0xfffffffc, %ebp       # imm = 0xFFFFFFFC
cmpl $0x3e, %ecx
je 0x389da
movl %ecx, %ebp
jmp 0x389da
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x389da
decq 0x60f0(%rbx)
jmp 0x388a4
movl $0x5d, 0x6100(%rbx)
movl $0x5d, %ebp
jmp 0x389da
movl $0xfffffffb, %ebp       # imm = 0xFFFFFFFB
jmp 0x389da
movl $0xfffffffa, %ebp       # imm = 0xFFFFFFFA
jmp 0x389da
leaq (%rsp,%r14), %rax
movb $0x0, (%rax)
cmpb $0x23, (%rsp)
jne 0x388ee
movb 0x1(%rsp), %al
andb $-0x21, %al
cmpb $0x58, %al
jne 0x38998
leaq 0x2(%rsp), %rdi
xorl %esi, %esi
movl $0x10, %edx
jmp 0x389a4
movzwl (%rsp), %eax
xorl $0x746c, %eax           # imm = 0x746C
movzbl 0x2(%rsp), %ecx
orw %ax, %cx
je 0x389ae
movzwl (%rsp), %eax
xorl $0x7467, %eax           # imm = 0x7467
movzbl 0x2(%rsp), %ecx
orw %ax, %cx
je 0x389b5
cmpl $0x706d61, (%rsp)       # imm = 0x706D61
je 0x389bc
movl $0x746f7571, %eax       # imm = 0x746F7571
xorl (%rsp), %eax
movzbl 0x4(%rsp), %ecx
orl %eax, %ecx
je 0x389c3
movl $0x736f7061, %eax       # imm = 0x736F7061
xorl (%rsp), %eax
movzbl 0x4(%rsp), %ecx
orl %eax, %ecx
je 0x389ca
leaq 0x38bba(%rip), %r14     # 0x71510
leaq 0x1a908(%rip), %rsi     # 0x53265
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x3806c
testl %eax, %eax
je 0x389d1
movq 0x18(%r14), %rsi
addq $0x10, %r14
movl $0x7f, %ebp
testq %rsi, %rsi
jne 0x38960
jmp 0x389d4
movl $0xfffffffd, %ebp       # imm = 0xFFFFFFFD
cmpl $0x2f, %eax
je 0x389da
decq 0x60f0(%rbx)
movl $0xfffffffe, %ebp       # imm = 0xFFFFFFFE
jmp 0x389da
leaq 0x1(%rsp), %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x3220
movq %rax, %rbp
jmp 0x389d4
movl $0x3c, %ebp
jmp 0x389d4
movl $0x3e, %ebp
jmp 0x389d4
movl $0x26, %ebp
jmp 0x389d4
movl $0x22, %ebp
jmp 0x389d4
movl $0x27, %ebp
jmp 0x389d4
movl (%r14), %ebp
orl $0x80000000, %ebp       # imm = 0x80000000
movl %ebp, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq