// File: /workspace/github_c_makefile_star2_O3/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:
movl 0x6100(%rdi), %eax
cmpl $-0x1, %eax
je 0x38a45
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
testl %eax, %eax
jne 0x385cc
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x385b7
movq %rbx, %rdi
callq 0x38046
movl %eax, %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testl %ecx, %ecx
jne 0x38a37
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %eax
jmp 0x385d6
movl $0x0, 0x6100(%rbx)
movq %rsp, %r13
leaq 0x1aeb8(%rip), %r15     # 0x53498
leaq 0x1aebc(%rip), %r12     # 0x534a3
cmpw $0x0, 0x6104(%rbx)
je 0x386ce
cmpl $0x5d, %eax
jne 0x38a37
movq 0x60f0(%rbx), %rdx
cmpq 0x60f8(%rbx), %rdx
jb 0x38625
movq %rbx, %rdi
callq 0x38046
movq 0x60f0(%rbx), %rdx
testl %eax, %eax
jne 0x38af5
leaq 0x1(%rdx), %rcx
movq %rcx, 0x60f0(%rbx)
cmpb $0x5d, 0x6138(%rbx,%rdx)
jne 0x38af2
cmpq 0x60f8(%rbx), %rcx
jb 0x3865e
movq %rbx, %rdi
callq 0x38046
testl %eax, %eax
jne 0x38ac8
movq 0x60f0(%rbx), %rcx
cmpb $0x3e, 0x6138(%rbx,%rcx)
jne 0x38ac8
movw $0x0, 0x6104(%rbx)
cmpq 0x60f8(%rbx), %rcx
jb 0x38691
movq %rbx, %rdi
callq 0x38046
movq 0x60f0(%rbx), %rcx
testl %eax, %eax
jne 0x3869b
incq %rcx
movq %rcx, 0x60f0(%rbx)
cmpq 0x60f8(%rbx), %rcx
jb 0x386bb
movq %rbx, %rdi
callq 0x38046
testl %eax, %eax
jne 0x38ad4
movq 0x60f0(%rbx), %rcx
leaq 0x1(%rcx), %rax
movq %rax, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rcx), %eax
cmpl $0x3c, %eax
jne 0x38a46
movq 0x60f0(%rbx), %rdx
movq %rdx, %rcx
cmpq 0x60f8(%rbx), %rdx
jb 0x38701
movq %rbx, %rdi
callq 0x38046
movq 0x60f0(%rbx), %rcx
testl %eax, %eax
jne 0x38a28
leaq 0x1(%rcx), %rdx
movq %rdx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rcx), %eax
cmpl $0x21, %eax
jb 0x386de
cmpl $0x2e, %eax
jg 0x38731
cmpl $0x21, %eax
je 0x38786
cmpl $0x25, %eax
je 0x3897c
jmp 0x38a2b
cmpl $0x3f, %eax
jne 0x38bc3
movq %r15, %r14
movq %r12, %r15
movl $0x40, %eax
movl %eax, %r12d
movq %rbx, %rdi
callq 0x38217
movl %eax, %ebp
cmpl $-0x1, %eax
je 0x38817
cmpl $0x3f, %ebp
je 0x38817
leal -0x1(%r12), %eax
cmpl $0x2, %r12d
movl %eax, %r12d
jl 0x38748
cmpl $0x21, %ebp
movl $0x20, %ecx
cmovbl %ecx, %ebp
movb %bpl, (%r13)
incq %r13
jmp 0x38745
cmpq 0x60f8(%rbx), %rdx
jb 0x387ad
movq %rbx, %rdi
callq 0x38046
movl %eax, %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testl %ecx, %ecx
jne 0x3897c
movq 0x60f0(%rbx), %rdx
leaq 0x1(%rdx), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rdx), %eax
cmpl $0x2d, %eax
je 0x388a3
cmpl $0x5b, %eax
jne 0x3897c
cmpq 0x60f8(%rbx), %rcx
jb 0x387f2
movq %rbx, %rdi
callq 0x38046
testl %eax, %eax
jne 0x38ad4
movq 0x60f0(%rbx), %rcx
movq %rcx, %rax
incq %rcx
movq %rcx, 0x60f0(%rbx)
cmpb $0x5b, 0x6138(%rbx,%rax)
jne 0x387d2
movw $0x1, 0x6104(%rbx)
jmp 0x389e6
movb $0x0, (%r13)
cmpl $0x206c6d78, (%rsp)     # imm = 0x206C6D78
movq %r15, %r12
movq %r14, %r15
leaq 0x1ac7f(%rip), %r14     # 0x534af
jne 0x38965
movq %rsp, %rdi
movq %r15, %rsi
callq 0x33d0
testq %rax, %rax
je 0x38965
movq %rax, %r13
cmpb $0x0, 0xa(%rax)
je 0x38965
addq $0xb, %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x382f9
testl %eax, %eax
je 0x3895c
movq %r13, %rdi
movq %r14, %rsi
callq 0x382f9
testl %eax, %eax
je 0x3895c
movq %r13, %rdi
leaq 0x1ac2c(%rip), %rsi     # 0x534b7
callq 0x382f9
testl %eax, %eax
jne 0x38965
movl 0x4(%rbx), %eax
andl $-0x21, %eax
jmp 0x38962
cmpq 0x60f8(%rbx), %rcx
jb 0x388ca
movq %rbx, %rdi
callq 0x38046
movl %eax, %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testl %ecx, %ecx
jne 0x3897c
movq 0x60f0(%rbx), %rcx
leaq 0x1(%rcx), %rdx
movq %rdx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rcx), %eax
cmpl $0x2d, %eax
jne 0x3897c
cmpq 0x60f8(%rbx), %rdx
jb 0x38906
movq %rbx, %rdi
callq 0x38046
testl %eax, %eax
jne 0x38a1e
movq 0x60f0(%rbx), %rdx
movq %rdx, %rax
incq %rdx
movq %rdx, 0x60f0(%rbx)
cmpb $0x2d, 0x6138(%rbx,%rax)
jne 0x388e6
cmpq 0x60f8(%rbx), %rdx
jb 0x3893d
movq %rbx, %rdi
callq 0x38046
testl %eax, %eax
jne 0x38a1e
movq 0x60f0(%rbx), %rdx
leaq 0x1(%rdx), %rcx
movq %rcx, 0x60f0(%rbx)
movl $0x2d, %eax
cmpb $0x2d, 0x6138(%rbx,%rdx)
movq %rcx, %rdx
jne 0x388e6
jmp 0x3897c
movl 0x4(%rbx), %eax
orl $0x20, %eax
movl %eax, 0x4(%rbx)
cmpl $-0x1, %ebp
je 0x38974
movq %rbx, %rdi
callq 0x38217
jmp 0x38979
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq %rsp, %r13
movl $0x1, %ebp
cmpl $0x3c, %eax
je 0x3899e
cmpl $0x3e, %eax
je 0x38995
cmpl $-0x1, %eax
jne 0x389a0
jmp 0x38a37
cmpl $0x2, %ebp
jl 0x389df
decl %ebp
jmp 0x389a0
incl %ebp
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x389ca
movq %rbx, %rdi
callq 0x38046
movl %eax, %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testl %ecx, %ecx
jne 0x38981
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %eax
jmp 0x38981
movq 0x60f0(%rbx), %rcx
cmpq 0x60f8(%rbx), %rcx
jb 0x38a06
movq %rbx, %rdi
callq 0x38046
testl %eax, %eax
jne 0x38ad4
movq 0x60f0(%rbx), %rcx
leaq 0x1(%rcx), %rax
movq %rax, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rcx), %eax
jmp 0x385e7
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x3897c
decq %rcx
movq %rcx, 0x60f0(%rbx)
movl $0xfffffffe, %eax       # imm = 0xFFFFFFFE
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x26, %eax
jg 0x38ab0
cmpl $0x22, %eax
je 0x38ade
cmpl $0x26, %eax
jne 0x38a37
movq 0x60f0(%rbx), %rax
xorl %r14d, %r14d
cmpq 0x60f8(%rbx), %rax
jb 0x38a83
movq %rbx, %rdi
callq 0x38046
testl %eax, %eax
jne 0x38b09
movq 0x60f0(%rbx), %rax
movq %rax, %rcx
incq %rax
movq %rax, 0x60f0(%rbx)
movb 0x6138(%rbx,%rcx), %cl
cmpb $0x3b, %cl
je 0x38b09
movb %cl, (%rsp,%r14)
incq %r14
cmpq $0x7, %r14
jne 0x38a63
leaq 0x7(%rsp), %rax
jmp 0x38b0d
cmpl $0x27, %eax
je 0x38ae8
cmpl $0x3e, %eax
jne 0x38a37
movl $0xfffffffc, %eax       # imm = 0xFFFFFFFC
jmp 0x38a37
movl $0x5d, 0x6100(%rbx)
jmp 0x38aff
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x38a37
movl $0xfffffffb, %eax       # imm = 0xFFFFFFFB
jmp 0x38a37
movl $0xfffffffa, %eax       # imm = 0xFFFFFFFA
jmp 0x38a37
movq %rcx, %rdx
decq %rdx
movq %rdx, 0x60f0(%rbx)
movl $0x5d, %eax
jmp 0x38a37
leaq (%rsp,%r14), %rax
movb $0x0, (%rax)
cmpb $0x23, (%rsp)
jne 0x38b35
movb 0x1(%rsp), %al
andb $-0x21, %al
cmpb $0x58, %al
jne 0x38bd6
leaq 0x2(%rsp), %rdi
xorl %esi, %esi
movl $0x10, %edx
jmp 0x38be2
movzwl (%rsp), %eax
xorl $0x746c, %eax           # imm = 0x746C
movzbl 0x2(%rsp), %ecx
orw %ax, %cx
je 0x38be9
movzwl (%rsp), %eax
xorl $0x7467, %eax           # imm = 0x7467
movzbl 0x2(%rsp), %ecx
orw %ax, %cx
je 0x38bf0
cmpl $0x706d61, (%rsp)       # imm = 0x706D61
je 0x38bf7
movl $0x746f7571, %eax       # imm = 0x746F7571
xorl (%rsp), %eax
movzbl 0x4(%rsp), %ecx
orl %eax, %ecx
je 0x38bfe
movl $0x736f7061, %eax       # imm = 0x736F7061
xorl (%rsp), %eax
movzbl 0x4(%rsp), %ecx
orl %eax, %ecx
je 0x38c05
leaq 0x38977(%rip), %r14     # 0x71510
leaq 0x1a6c5(%rip), %rsi     # 0x53265
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x382f9
testl %eax, %eax
je 0x38c0c
movq 0x18(%r14), %rsi
addq $0x10, %r14
movl $0x7f, %eax
testq %rsi, %rsi
jne 0x38ba3
jmp 0x38c0f
cmpl $0x2f, %eax
movl $0xfffffffd, %eax       # imm = 0xFFFFFFFD
je 0x38a37
jmp 0x38a2b
leaq 0x1(%rsp), %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x3230
jmp 0x38c0f
movl $0x3c, %eax
jmp 0x38c0f
movl $0x3e, %eax
jmp 0x38c0f
movl $0x26, %eax
jmp 0x38c0f
movl $0x22, %eax
jmp 0x38c0f
movl $0x27, %eax
jmp 0x38c0f
movl (%r14), %eax
orl $0x80000000, %eax       # imm = 0x80000000
jmp 0x38a37