// File: /workspace/github_c_makefile_star2_O2/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), %eax
pushq $-0x1
popq %r12
cmpl $-0x1, %eax
je 0x35309
testl %eax, %eax
jne 0x35302
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x352ed
movq %rbx, %rdi
callq 0x34dd5
movl %eax, %ecx
movl %r12d, %eax
testl %ecx, %ecx
jne 0x35309
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %eax
jmp 0x35309
andl $0x0, 0x6100(%rbx)
pushq $-0x5
popq %r14
pushq $-0x3
popq %r15
pushq $0x2d
popq %r13
pushq $0x1
popq %rbp
cmpl $-0x1, %eax
je 0x35797
cmpw $0x0, 0x6104(%rbx)
je 0x35409
cmpl $0x5d, %eax
jne 0x35767
movq 0x60f0(%rbx), %rdx
cmpq 0x60f8(%rbx), %rdx
jb 0x3535f
movq %rbx, %rdi
callq 0x34dd5
movq 0x60f0(%rbx), %rdx
testl %eax, %eax
jne 0x35825
leaq 0x1(%rdx), %rcx
movq %rcx, 0x60f0(%rbx)
cmpb $0x5d, 0x6138(%rbx,%rdx)
jne 0x35822
cmpq 0x60f8(%rbx), %rcx
jb 0x35398
movq %rbx, %rdi
callq 0x34dd5
testl %eax, %eax
jne 0x3579c
movq 0x60f0(%rbx), %rcx
cmpb $0x3e, 0x6138(%rbx,%rcx)
jne 0x3579c
andw $0x0, 0x6104(%rbx)
cmpq 0x60f8(%rbx), %rcx
jb 0x353ca
movq %rbx, %rdi
callq 0x34dd5
movq 0x60f0(%rbx), %rcx
testl %eax, %eax
jne 0x353d4
incq %rcx
movq %rcx, 0x60f0(%rbx)
cmpq 0x60f8(%rbx), %rcx
jb 0x353f4
movq %rbx, %rdi
callq 0x34dd5
testl %eax, %eax
jne 0x35797
movq 0x60f0(%rbx), %rcx
leaq 0x1(%rcx), %rax
movq %rax, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rcx), %ecx
jmp 0x3540b
movl %eax, %ecx
cmpl $0x3c, %ecx
jne 0x35776
movq 0x60f0(%rbx), %rdx
movq %rdx, %rcx
cmpq 0x60f8(%rbx), %rdx
jb 0x3543e
movq %rbx, %rdi
callq 0x34dd5
movq 0x60f0(%rbx), %rcx
testl %eax, %eax
jne 0x3575a
leaq 0x1(%rcx), %rdx
movq %rdx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rcx), %eax
cmpl $0x21, %eax
jb 0x3541b
je 0x3553f
cmpl $0x25, %eax
je 0x356a8
cmpl $0x3f, %eax
jne 0x358af
movl %r14d, %r15d
movq %rsp, %r13
pushq $0x40
popq %rax
movl %eax, %r14d
movq %rbx, %rdi
callq 0x34fa6
movl %eax, %ebp
cmpl $-0x1, %eax
je 0x354ad
cmpl $0x3f, %ebp
je 0x354ad
leal -0x1(%r14), %eax
cmpl $0x2, %r14d
movl %eax, %r14d
jl 0x3547a
cmpl $0x21, %ebp
pushq $0x20
popq %rcx
cmovbl %ecx, %ebp
movb %bpl, (%r13)
incq %r13
jmp 0x35477
movb $0x0, (%r13)
cmpl $0x206c6d78, (%rsp)     # imm = 0x206C6D78
movl %r15d, %r14d
pushq $-0x3
popq %r15
jne 0x35695
movq %rsp, %rdi
leaq 0x18fc8(%rip), %rsi     # 0x4e498
callq 0x33e0
testq %rax, %rax
je 0x35695
movq %rax, %r13
cmpb $0x0, 0xa(%rax)
je 0x35695
addq $0xb, %r13
movq %r13, %rdi
leaq 0x18faa(%rip), %rsi     # 0x4e4a3
callq 0x3507f
testl %eax, %eax
je 0x3568c
movq %r13, %rdi
leaq 0x18f9f(%rip), %rsi     # 0x4e4af
callq 0x3507f
testl %eax, %eax
je 0x3568c
movq %r13, %rdi
leaq 0x18f90(%rip), %rsi     # 0x4e4b7
callq 0x3507f
testl %eax, %eax
jne 0x35695
movl 0x4(%rbx), %eax
andl $-0x21, %eax
jmp 0x35692
cmpq 0x60f8(%rbx), %rdx
jb 0x35564
movq %rbx, %rdi
callq 0x34dd5
movl %eax, %ecx
movl %r12d, %eax
testl %ecx, %ecx
jne 0x356a8
movq 0x60f0(%rbx), %rdx
leaq 0x1(%rdx), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rdx), %eax
cmpl $0x2d, %eax
je 0x355d7
cmpl $0x5b, %eax
jne 0x356a8
cmpq 0x60f8(%rbx), %rcx
jb 0x355a5
movq %rbx, %rdi
callq 0x34dd5
testl %eax, %eax
jne 0x35797
movq 0x60f0(%rbx), %rcx
movq %rcx, %rax
incq %rcx
movq %rcx, 0x60f0(%rbx)
cmpb $0x5b, 0x6138(%rbx,%rax)
jne 0x35585
movw $0x1, 0x6104(%rbx)
cmpq 0x60f8(%rbx), %rcx
jae 0x3571e
jmp 0x3573a
cmpq 0x60f8(%rbx), %rcx
jb 0x355fc
movq %rbx, %rdi
callq 0x34dd5
movl %eax, %ecx
movl %r12d, %eax
testl %ecx, %ecx
jne 0x356a8
movq 0x60f0(%rbx), %rcx
leaq 0x1(%rcx), %rdx
movq %rdx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rcx), %eax
cmpl $0x2d, %eax
jne 0x356a8
cmpq 0x60f8(%rbx), %rdx
jb 0x35638
movq %rbx, %rdi
callq 0x34dd5
testl %eax, %eax
jne 0x35752
movq 0x60f0(%rbx), %rdx
movq %rdx, %rax
incq %rdx
movq %rdx, 0x60f0(%rbx)
cmpb $0x2d, 0x6138(%rbx,%rax)
jne 0x35618
cmpq 0x60f8(%rbx), %rdx
jb 0x3566f
movq %rbx, %rdi
callq 0x34dd5
testl %eax, %eax
jne 0x35752
movq 0x60f0(%rbx), %rdx
leaq 0x1(%rdx), %rax
movq %rax, 0x60f0(%rbx)
cmpb $0x2d, 0x6138(%rbx,%rdx)
movq %rax, %rdx
jne 0x35618
movl %r13d, %eax
jmp 0x356a8
movl 0x4(%rbx), %eax
orl $0x20, %eax
movl %eax, 0x4(%rbx)
movl %r12d, %eax
cmpl $-0x1, %ebp
je 0x356a5
movq %rbx, %rdi
callq 0x34fa6
pushq $0x1
popq %rbp
movl %ebp, %r13d
cmpl $0x3c, %eax
je 0x356c8
cmpl $0x3e, %eax
je 0x356bf
cmpl $-0x1, %eax
jne 0x356ca
jmp 0x35767
cmpl $0x2, %ebp
jl 0x35707
decl %ebp
jmp 0x356ca
incl %ebp
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x356f2
movq %rbx, %rdi
callq 0x34dd5
movl %eax, %ecx
movl %r12d, %eax
testl %ecx, %ecx
jne 0x356ab
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %eax
jmp 0x356ab
movq 0x60f0(%rbx), %rcx
cmpq 0x60f8(%rbx), %rcx
movl %r13d, %ebp
pushq $0x2d
popq %r13
jb 0x3573a
movq %rbx, %rdi
callq 0x34dd5
movl %eax, %ecx
movl %r12d, %eax
testl %ecx, %ecx
jne 0x35318
movq 0x60f0(%rbx), %rcx
leaq 0x1(%rcx), %rax
movq %rax, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rcx), %eax
jmp 0x35318
movl %r12d, %eax
jmp 0x356a8
decq %rcx
movq %rcx, 0x60f0(%rbx)
pushq $-0x2
popq %rax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl %r14d, %eax
cmpl $0x22, %ecx
je 0x35767
cmpl $0x26, %ecx
je 0x357ab
cmpl $0x27, %ecx
je 0x3581b
movl %ecx, %eax
cmpl $0x3e, %ecx
jne 0x35767
pushq $-0x4
jmp 0x35766
movl %r12d, %eax
jmp 0x35767
movl $0x5d, 0x6100(%rbx)
jmp 0x3582f
xorl %r14d, %r14d
cmpl $0x7, %r14d
je 0x357f6
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x357d7
movq %rbx, %rdi
callq 0x34dd5
testl %eax, %eax
jne 0x357f6
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movb 0x6138(%rbx,%rax), %al
cmpb $0x3b, %al
je 0x357f6
movb %al, (%rsp,%r14)
incq %r14
jmp 0x357ae
movb $0x0, (%rsp,%r14)
cmpb $0x23, (%rsp)
jne 0x35836
movb 0x1(%rsp), %al
andb $-0x21, %al
cmpb $0x58, %al
jne 0x358c0
leaq 0x2(%rsp), %rdi
pushq $0x10
jmp 0x358c7
pushq $-0x6
jmp 0x35766
movq %rcx, %rdx
decq %rdx
movq %rdx, 0x60f0(%rbx)
pushq $0x5d
jmp 0x35766
leaq 0x1636f(%rip), %rsi     # 0x4bbac
movq %rsp, %rdi
pushq $0x3
popq %rdx
callq 0x32d0
testl %eax, %eax
je 0x358d1
leaq 0x189fd(%rip), %rsi     # 0x4e254
movq %rsp, %rdi
pushq $0x3
popq %rdx
callq 0x32d0
testl %eax, %eax
je 0x358d5
cmpl $0x706d61, (%rsp)       # imm = 0x706D61
je 0x358d9
leaq 0x189e5(%rip), %rsi     # 0x4e25b
movq %rsp, %rdi
pushq $0x5
popq %rdx
callq 0x32d0
testl %eax, %eax
je 0x358dd
leaq 0x189d4(%rip), %rsi     # 0x4e260
movq %rsp, %rdi
pushq $0x5
popq %rdx
callq 0x32d0
testl %eax, %eax
je 0x358e1
leaq 0x39c6e(%rip), %rdi     # 0x6f510
movq %rsp, %rsi
pushq $0x7f
popq %rdx
callq 0x35041
jmp 0x358e4
cmpl $0x2f, %eax
movl %r15d, %eax
jne 0x3575d
jmp 0x35767
leaq 0x1(%rsp), %rdi
pushq $0xa
popq %rdx
xorl %esi, %esi
callq 0x3230
jmp 0x358e4
pushq $0x3c
jmp 0x358e3
pushq $0x3e
jmp 0x358e3
pushq $0x26
jmp 0x358e3
pushq $0x22
jmp 0x358e3
pushq $0x27
popq %rax
orl $0x80000000, %eax       # imm = 0x80000000
jmp 0x35767