LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_soapC.c
// Function: soap_put__QName
SOAP_FMAC4 soap_put__QName(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE__QName);
	if (soap_out__QName(soap, tag?tag:"byte", id, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %r8
xorl %eax, %eax
movl %eax, %edx
xorl %ecx, %ecx
movl $0x5, %r9d
callq 0x5a4d0
movl %eax, -0x2c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x499c1
movq -0x20(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x499ce
leaq 0x2f1db(%rip), %rax     # 0x78ba3
movq %rax, -0x40(%rbp)
jmp 0x499ce
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
movl -0x2c(%rbp), %edx
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %r8
callq 0x38090
cmpl $0x0, %eax
je 0x499fa
movq -0x10(%rbp), %rax
movl 0x19214(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x49a06
movq -0x10(%rbp), %rdi
callq 0x253d0
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_soapC.c
// Function: soap_get__QName
SOAP_FMAC3 char ** SOAP_FMAC4 soap_get__QName(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in__QName(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x25310
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
je 0x49a61
movq -0x10(%rbp), %rdi
callq 0x4050
cmpl $0x0, %eax
je 0x49a5f
movq $0x0, -0x8(%rbp)
jmp 0x49a69
jmp 0x49a61
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_soapC.c
// Function: soap_put_string
SOAP_FMAC4 soap_put_string(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_string);
	if (soap_out_string(soap, tag?tag:"byte", id, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %r8
xorl %eax, %eax
movl %eax, %edx
xorl %ecx, %ecx
movl $0x4, %r9d
callq 0x5a4d0
movl %eax, -0x2c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x49ad1
movq -0x20(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x49ade
leaq 0x2f0cb(%rip), %rax     # 0x78ba3
movq %rax, -0x40(%rbp)
jmp 0x49ade
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
movl -0x2c(%rbp), %edx
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %r8
callq 0x32ca0
cmpl $0x0, %eax
je 0x49b0a
movq -0x10(%rbp), %rax
movl 0x19214(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x49b16
movq -0x10(%rbp), %rdi
callq 0x253d0
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_soapC.c
// Function: soap_get_string
SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_string(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in_string(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x25370
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
je 0x49b71
movq -0x10(%rbp), %rdi
callq 0x4050
cmpl $0x0, %eax
je 0x49b6f
movq $0x0, -0x8(%rbp)
jmp 0x49b79
jmp 0x49b71
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_send_raw
SOAP_FMAC2
soap_send_raw(struct soap *soap, const char *s, size_t n)
{ if (!n)
    return SOAP_OK;
  if (soap->mode & SOAP_IO_LENGTH)
  { soap->count += n;
#ifndef WITH_LEANER
    if (soap->fpreparesend && (soap->mode & SOAP_IO) != SOAP_IO_STORE)
      return soap->error = soap->fpreparesend(soap, s, n);
#endif
    return SOAP_OK;
  }
  if (soap->mode & SOAP_IO)
  { register size_t i = SOAP_BUFLEN - soap->bufidx;
    while (n >= i)
    { memcpy(soap->buf + soap->bufidx, s, i);
      soap->bufidx = SOAP_BUFLEN;
      if (soap_flush(soap))
        return soap->error;
      s += i;
      n -= i;
      i = SOAP_BUFLEN;
    }
    memcpy(soap->buf + soap->bufidx, s, n);
    soap->bufidx += n;
    return SOAP_OK;
  }
  return soap_flush_raw(soap, s, n);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x4eed7
movl $0x0, -0x4(%rbp)
jmp 0x4f04b
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x4ef50
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
addq 0x6110(%rax), %rcx
movq %rcx, 0x6110(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x6050(%rax)
je 0x4ef44
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x3, %eax
cmpl $0x2, %eax
je 0x4ef44
movq -0x10(%rbp), %rax
movq 0x6050(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq *%rax
movq -0x10(%rbp), %rcx
movl %eax, 0x19214(%rcx)
movl %eax, -0x4(%rbp)
jmp 0x4f04b
movl $0x0, -0x4(%rbp)
jmp 0x4f04b
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x3, %eax
cmpl $0x0, %eax
je 0x4f037
movq -0x10(%rbp), %rcx
movl $0x10000, %eax          # imm = 0x10000
subq 0x60f0(%rcx), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x28(%rbp), %rax
jb 0x4eff5
movq -0x10(%rbp), %rdi
addq $0x6138, %rdi           # imm = 0x6138
movq -0x10(%rbp), %rax
addq 0x60f0(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x3240
movq -0x10(%rbp), %rax
movq $0x10000, 0x60f0(%rax) # imm = 0x10000
movq -0x10(%rbp), %rdi
callq 0x4f060
cmpl $0x0, %eax
je 0x4efd0
movq -0x10(%rbp), %rax
movl 0x19214(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x4f04b
movq -0x28(%rbp), %rax
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x20(%rbp)
movq $0x10000, -0x28(%rbp)   # imm = 0x10000
jmp 0x4ef77
movq -0x10(%rbp), %rdi
addq $0x6138, %rdi           # imm = 0x6138
movq -0x10(%rbp), %rax
addq 0x60f0(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x3240
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
addq 0x60f0(%rax), %rcx
movq %rcx, 0x60f0(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x4f04b
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x4f0c0
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_flush_raw
SOAP_FMAC2
soap_flush_raw(struct soap *soap, const char *s, size_t n)
{ if ((soap->mode & SOAP_IO) == SOAP_IO_STORE)
  { register char *t;
    if (!(t = (char*)soap_push_block(soap, NULL, n)))
      return soap->error = SOAP_EOM;
    memcpy(t, s, n);
#ifndef WITH_LEANER
    if (soap->fpreparesend)
      return soap->error = soap->fpreparesend(soap, s, n);
#endif
    return SOAP_OK;
  }
#ifndef WITH_LEANER
  if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK)
  { char t[16];
    sprintf(t, "\r\n%lX\r\n" + (soap->chunksize ? 0 : 2), (unsigned long)n);
    DBGMSG(SENT, t, strlen(t));
    if ((soap->error = soap->fsend(soap, t, strlen(t))))
      return soap->error;
    soap->chunksize += n;
  }
  DBGMSG(SENT, s, n);
#endif
  return soap->error = soap->fsend(soap, s, n);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x3, %eax
cmpl $0x2, %eax
jne 0x4f172
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rdx
xorl %eax, %eax
movl %eax, %esi
callq 0x4f260
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x4f11c
movq -0x10(%rbp), %rax
movl $0x14, 0x19214(%rax)
movl $0x14, -0x4(%rbp)
jmp 0x4f24c
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x3240
movq -0x10(%rbp), %rax
cmpq $0x0, 0x6050(%rax)
je 0x4f166
movq -0x10(%rbp), %rax
movq 0x6050(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq *%rax
movq -0x10(%rbp), %rcx
movl %eax, 0x19214(%rcx)
movl %eax, -0x4(%rbp)
jmp 0x4f24c
movl $0x0, -0x4(%rbp)
jmp 0x4f24c
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x3, %eax
cmpl $0x3, %eax
jne 0x4f226
leaq -0x40(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x18598(%rax), %rdx
movl $0x2, %eax
xorl %ecx, %ecx
cmpq $0x0, %rdx
cmovnel %ecx, %eax
cltq
leaq 0x2b3f5(%rip), %rsi     # 0x7a5a0
addq %rax, %rsi
movq -0x20(%rbp), %rdx
movb $0x0, %al
callq 0x3370
movq -0x10(%rbp), %rax
movq 0x6000(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x3100
movq -0x58(%rbp), %rdi
movq -0x50(%rbp), %rsi
movq %rax, %rdx
movq -0x48(%rbp), %rax
callq *%rax
movq -0x10(%rbp), %rcx
movl %eax, 0x19214(%rcx)
cmpl $0x0, %eax
je 0x4f210
movq -0x10(%rbp), %rax
movl 0x19214(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x4f24c
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
addq 0x18598(%rax), %rcx
movq %rcx, 0x18598(%rax)
movq -0x10(%rbp), %rax
movq 0x6000(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq *%rax
movq -0x10(%rbp), %rcx
movl %eax, 0x19214(%rcx)
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_push_block
SOAP_FMAC1
void*
SOAP_FMAC2
soap_push_block(struct soap *soap, struct soap_blist *b, size_t n)
{ char *p;
  if (!b)
    b = soap->blist;
  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Push block of %u bytes (%u bytes total)\n", (unsigned int)n, (unsigned int)b->size + (unsigned int)n));
  if (!(p = (char*)SOAP_MALLOC(soap, n + sizeof(char*) + sizeof(size_t))))
  { soap->error = SOAP_EOM;
    return NULL;
  }
  *(char**)p = b->ptr;
  *(size_t*)(p + sizeof(char*)) = n;
  b->ptr = p;
  b->size += n;
  return p + sizeof(char*) + sizeof(size_t);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x4f28a
movq -0x10(%rbp), %rax
movq 0x90(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x20(%rbp), %rdi
addq $0x8, %rdi
addq $0x8, %rdi
callq 0x3290
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x4f2bd
movq -0x10(%rbp), %rax
movl $0x14, 0x19214(%rax)
movq $0x0, -0x8(%rbp)
jmp 0x4f304
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
addq 0x10(%rax), %rcx
movq %rcx, 0x10(%rax)
movq -0x28(%rbp), %rax
addq $0x8, %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_send3
SOAP_FMAC2
soap_send3(struct soap *soap, const char *s1, const char *s2, const char *s3)
{ if (soap_send(soap, s1)
   || soap_send(soap, s2))
    return soap->error;
  return soap_send(soap, s3);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x4f310
cmpl $0x0, %eax
jne 0x4f3fc
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x4f310
cmpl $0x0, %eax
je 0x4f40b
movq -0x10(%rbp), %rax
movl 0x19214(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x4f41b
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x4f310
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_getchunkchar
static soap_wchar
soap_getchunkchar(struct soap *soap)
{ if (soap->bufidx < soap->buflen)
    return soap->buf[soap->bufidx++];
  soap->bufidx = 0;
  soap->buflen = soap->chunkbuflen = soap->frecv(soap, soap->buf, SOAP_BUFLEN);
  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Read %u bytes from socket %d\n", (unsigned int)soap->buflen, soap->socket));
  DBGMSG(RECV, soap->buf, soap->buflen);
  if (soap->buflen)
    return soap->buf[soap->bufidx++];
  return EOF;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x60f0(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0x60f8(%rcx), %rax
jae 0x4f951
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rdx
movq 0x60f0(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x60f0(%rdx)
movsbl 0x6138(%rax,%rcx), %eax
movl %eax, -0x4(%rbp)
jmp 0x4f9d9
movq -0x10(%rbp), %rax
movq $0x0, 0x60f0(%rax)
movq -0x10(%rbp), %rax
movq 0x6008(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x6138, %rsi           # imm = 0x6138
movl $0x10000, %edx          # imm = 0x10000
callq *%rax
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x185a0(%rax)
movq -0x10(%rbp), %rax
movq %rcx, 0x60f8(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x60f8(%rax)
je 0x4f9d2
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rdx
movq 0x60f0(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x60f0(%rdx)
movsbl 0x6138(%rax,%rcx), %eax
movl %eax, -0x4(%rbp)
jmp 0x4f9d9
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_getchar
SOAP_FMAC2
soap_getchar(struct soap *soap)
{ register soap_wchar c;
  c = soap->ahead;
  if (c)
  { if (c != EOF)
      soap->ahead = 0;
    return c;
  }
  return soap_get1(soap);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl 0x6100(%rax), %eax
movl %eax, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
je 0x4fdeb
cmpl $-0x1, -0x14(%rbp)
je 0x4fde3
movq -0x10(%rbp), %rax
movl $0x0, 0x6100(%rax)
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x4fe49
movq -0x10(%rbp), %rax
movq 0x60f0(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0x60f8(%rcx), %rax
jb 0x4fe1b
movq -0x10(%rbp), %rdi
callq 0x4f9f0
cmpl $0x0, %eax
je 0x4fe1b
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, -0x18(%rbp)
jmp 0x4fe43
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rdx
movq 0x60f0(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x60f0(%rdx)
movzbl 0x6138(%rax,%rcx), %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_code_int
SOAP_FMAC1
long
SOAP_FMAC2
soap_code_int(const struct soap_code_map *code_map, const char *str, long other)
{ if (code_map)
  { while (code_map->string)
    { if (!soap_tag_cmp(str, code_map->string)) /* case insensitive */
        return code_map->code;
      code_map++;
    }
  }
  return other;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x4ff2b
jmp 0x4feed
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x4ff29
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x4ff40
cmpl $0x0, %eax
jne 0x4ff1b
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x4ff33
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x10(%rbp)
jmp 0x4feed
jmp 0x4ff2b
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_tag_cmp
SOAP_FMAC2
soap_tag_cmp(const char *s, const char *t)
{ for (;;)
  { register int c1 = *s;
    register int c2 = *t;
    if (!c1 || c1 == '"')
      break;
    if (c2 != '-')
    { if (c1 != c2)
      { if (c1 >= 'A' && c1 <= 'Z')
          c1 += 'a' - 'A';
        if (c2 >= 'A' && c2 <= 'Z')
          c2 += 'a' - 'A';
      }
      if (c1 != c2)
      { if (c2 != '*')
          return 1;
        c2 = *++t;
        if (!c2)
          return 0;
        if (c2 >= 'A' && c2 <= 'Z')
          c2 += 'a' - 'A';
        for (;;)
        { c1 = *s;
          if (!c1 || c1 == '"')
            break;
          if (c1 >= 'A' && c1 <= 'Z')
            c1 += 'a' - 'A';
          if (c1 == c2 && !soap_tag_cmp(s + 1, t + 1))
            return 0;
          s++;
        }
        break;
      }
    }
    s++;
    t++;
  }
  if (*t == '*' && !t[1])
    return 0;
  return *t;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
movl %eax, -0x1c(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
movl %eax, -0x20(%rbp)
cmpl $0x0, -0x1c(%rbp)
je 0x4ff70
cmpl $0x22, -0x1c(%rbp)
jne 0x4ff75
jmp 0x50097
cmpl $0x2d, -0x20(%rbp)
je 0x5007a
movl -0x1c(%rbp), %eax
cmpl -0x20(%rbp), %eax
je 0x4ffb3
cmpl $0x41, -0x1c(%rbp)
jl 0x4ff9c
cmpl $0x5a, -0x1c(%rbp)
jg 0x4ff9c
movl -0x1c(%rbp), %eax
addl $0x20, %eax
movl %eax, -0x1c(%rbp)
cmpl $0x41, -0x20(%rbp)
jl 0x4ffb1
cmpl $0x5a, -0x20(%rbp)
jg 0x4ffb1
movl -0x20(%rbp), %eax
addl $0x20, %eax
movl %eax, -0x20(%rbp)
jmp 0x4ffb3
movl -0x1c(%rbp), %eax
cmpl -0x20(%rbp), %eax
je 0x50078
cmpl $0x2a, -0x20(%rbp)
je 0x4ffd1
movl $0x1, -0x4(%rbp)
jmp 0x500c0
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movsbl 0x1(%rax), %eax
movl %eax, -0x20(%rbp)
cmpl $0x0, -0x20(%rbp)
jne 0x4fff9
movl $0x0, -0x4(%rbp)
jmp 0x500c0
cmpl $0x41, -0x20(%rbp)
jl 0x5000e
cmpl $0x5a, -0x20(%rbp)
jg 0x5000e
movl -0x20(%rbp), %eax
addl $0x20, %eax
movl %eax, -0x20(%rbp)
jmp 0x50010
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
movl %eax, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
je 0x50026
cmpl $0x22, -0x1c(%rbp)
jne 0x50028
jmp 0x50076
cmpl $0x41, -0x1c(%rbp)
jl 0x5003d
cmpl $0x5a, -0x1c(%rbp)
jg 0x5003d
movl -0x1c(%rbp), %eax
addl $0x20, %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x20(%rbp), %eax
jne 0x50068
movq -0x10(%rbp), %rdi
addq $0x1, %rdi
movq -0x18(%rbp), %rsi
addq $0x1, %rsi
callq 0x4ff40
cmpl $0x0, %eax
jne 0x50068
movl $0x0, -0x4(%rbp)
jmp 0x500c0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x50010
jmp 0x50097
jmp 0x5007a
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x4ff50
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2a, %eax
jne 0x500b6
movq -0x18(%rbp), %rax
cmpb $0x0, 0x1(%rax)
jne 0x500b6
movl $0x0, -0x4(%rbp)
jmp 0x500c0
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_code_str
SOAP_FMAC1
const char*
SOAP_FMAC2
soap_code_str(const struct soap_code_map *code_map, long code)
{ if (!code_map)
    return NULL;
  while (code_map->code != code && code_map->string)
    code_map++;
  return code_map->string;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x500ed
movq $0x0, -0x8(%rbp)
jmp 0x50133
jmp 0x500ef
movq -0x10(%rbp), %rax
movq (%rax), %rcx
xorl %eax, %eax
cmpq -0x18(%rbp), %rcx
movb %al, -0x19(%rbp)
je 0x50110
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
setne %al
movb %al, -0x19(%rbp)
movb -0x19(%rbp), %al
testb $0x1, %al
jne 0x50119
jmp 0x50127
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x10(%rbp)
jmp 0x500ef
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_code_bits
SOAP_FMAC1
long
SOAP_FMAC2
soap_code_bits(const struct soap_code_map *code_map, const char *str)
{ register long bits = 0;
  if (code_map)
  { while (str && *str)
    { const struct soap_code_map *p;
      for (p = code_map; p->string; p++)
      { register size_t n = strlen(p->string);
        if (!strncmp(p->string, str, n) && soap_blank(str[n]))
        { bits |= p->code;
          str += n;
          while (*str > 0 && *str <= 32)
            str++;
          break;
        }
      }
      if (!p->string)
        return 0;
    }
  }
  return bits;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x50275
jmp 0x50165
xorl %eax, %eax
cmpq $0x0, -0x18(%rbp)
movb %al, -0x31(%rbp)
je 0x50181
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
setne %al
movb %al, -0x31(%rbp)
movb -0x31(%rbp), %al
testb $0x1, %al
jne 0x5018d
jmp 0x50273
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x50259
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x3100
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x30(%rbp), %rdx
callq 0x3080
cmpl $0x0, %eax
jne 0x50246
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jl 0x50246
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
jg 0x50246
movq -0x28(%rbp), %rax
movq (%rax), %rax
orq -0x20(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x30(%rbp), %rax
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x32(%rbp)
jle 0x5022d
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x20, %eax
setle %al
movb %al, -0x32(%rbp)
movb -0x32(%rbp), %al
testb $0x1, %al
jne 0x50236
jmp 0x50244
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x5020c
jmp 0x50259
jmp 0x50248
movq -0x28(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x28(%rbp)
jmp 0x50195
movq -0x28(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x5026e
movq $0x0, -0x8(%rbp)
jmp 0x5027d
jmp 0x50165
jmp 0x50275
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_code_list
SOAP_FMAC1
const char*
SOAP_FMAC2
soap_code_list(struct soap *soap, const struct soap_code_map *code_map, long code)
{ register char *t = soap->tmpbuf;
  if (code_map)
  { while (code_map->string)
    { if (code_map->code & code)
      { register const char *s = code_map->string;
        if (t != soap->tmpbuf)
          *t++ = ' ';
        while (*s && t < soap->tmpbuf + sizeof(soap->tmpbuf) - 1)
          *t++ = *s++;
        if (t == soap->tmpbuf + sizeof(soap->tmpbuf) - 1)
          break;
      }
      code_map++;
    }
  }
  *t = '\0';
  return soap->tmpbuf;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
addq $0x16538, %rax          # imm = 0x16538
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x503aa
jmp 0x502bb
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x503a8
movq -0x10(%rbp), %rax
movq (%rax), %rax
andq -0x18(%rbp), %rax
cmpq $0x0, %rax
je 0x50397
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
addq $0x16538, %rcx          # imm = 0x16538
cmpq %rcx, %rax
je 0x50311
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movb $0x20, (%rax)
jmp 0x50313
movq -0x28(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x29(%rbp)
je 0x50347
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
addq $0x16538, %rcx          # imm = 0x16538
addq $0x400, %rcx            # imm = 0x400
addq $-0x1, %rcx
cmpq %rcx, %rax
setb %al
movb %al, -0x29(%rbp)
movb -0x29(%rbp), %al
testb $0x1, %al
jne 0x50350
jmp 0x50374
movq -0x28(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x28(%rbp)
movb (%rax), %cl
movq -0x20(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x20(%rbp)
movb %cl, (%rax)
jmp 0x50313
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
addq $0x16538, %rcx          # imm = 0x16538
addq $0x400, %rcx            # imm = 0x400
addq $-0x1, %rcx
cmpq %rcx, %rax
jne 0x50395
jmp 0x503a8
jmp 0x50397
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x10(%rbp)
jmp 0x502bb
jmp 0x503aa
movq -0x20(%rbp), %rax
movb $0x0, (%rax)
movq -0x8(%rbp), %rax
addq $0x16538, %rax          # imm = 0x16538
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_get_pi
static soap_wchar
soap_get_pi(struct soap *soap)
{ char buf[64];
  register char *s = buf;
  register int i = sizeof(buf);
  register soap_wchar c = soap_getchar(soap);
  /* This is a quick way to parse XML PI and we could use a callback instead to
   * enable applications to intercept processing instructions */
  while ((int)c != EOF && c != '?')
  { if (--i > 0)
    { if (soap_blank(c))
        c = ' ';
      *s++ = (char)c;
    }
    c = soap_getchar(soap);
  }
  *s = '\0';
  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "XML PI <?%s?>\n", buf));
  if (!strncmp(buf, "xml ", 4))
  { s = strstr(buf, " encoding=");
    if (s && s[10])
    { if (!soap_tag_cmp(s + 11, "iso-8859-1*")
       || !soap_tag_cmp(s + 11, "latin1*"))
      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Switching to latin1 encoding\n"));
        soap->mode |= SOAP_ENC_LATIN;
      }
      else if (!soap_tag_cmp(s + 11, "utf-8*"))
      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Switching to utf-8 encoding\n"));
        soap->mode &= ~SOAP_ENC_LATIN;
      }
    }
  }
  if ((int)c != EOF)
    c = soap_getchar(soap);
  return c;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
leaq -0x50(%rbp), %rax
movq %rax, -0x58(%rbp)
movl $0x40, -0x5c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x4fdb0
movl %eax, -0x60(%rbp)
xorl %eax, %eax
cmpl $-0x1, -0x60(%rbp)
movb %al, -0x61(%rbp)
je 0x50b8c
cmpl $0x3f, -0x60(%rbp)
setne %al
movb %al, -0x61(%rbp)
movb -0x61(%rbp), %al
testb $0x1, %al
jne 0x50b95
jmp 0x50bda
movl -0x5c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x5c(%rbp)
cmpl $0x0, %eax
jle 0x50bcc
cmpl $0x0, -0x60(%rbp)
jl 0x50bb6
cmpl $0x20, -0x60(%rbp)
jg 0x50bb6
movl $0x20, -0x60(%rbp)
movl -0x60(%rbp), %eax
movb %al, %cl
movq -0x58(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x58(%rbp)
movb %cl, (%rax)
movq -0x8(%rbp), %rdi
callq 0x4fdb0
movl %eax, -0x60(%rbp)
jmp 0x50b77
movq -0x58(%rbp), %rax
movb $0x0, (%rax)
leaq -0x50(%rbp), %rdi
leaq 0x2ac53(%rip), %rsi     # 0x7b83f
movl $0x4, %edx
callq 0x3080
cmpl $0x0, %eax
jne 0x50c94
leaq -0x50(%rbp), %rdi
leaq 0x2ac3a(%rip), %rsi     # 0x7b844
callq 0x33e0
movq %rax, -0x58(%rbp)
cmpq $0x0, -0x58(%rbp)
je 0x50c92
movq -0x58(%rbp), %rax
movsbl 0xa(%rax), %eax
cmpl $0x0, %eax
je 0x50c92
movq -0x58(%rbp), %rdi
addq $0xb, %rdi
leaq 0x2ac19(%rip), %rsi     # 0x7b84f
callq 0x4ff40
cmpl $0x0, %eax
je 0x50c59
movq -0x58(%rbp), %rdi
addq $0xb, %rdi
leaq 0x2ac0c(%rip), %rsi     # 0x7b85b
callq 0x4ff40
cmpl $0x0, %eax
jne 0x50c68
movq -0x8(%rbp), %rax
movl 0x4(%rax), %ecx
orl $0x20, %ecx
movl %ecx, 0x4(%rax)
jmp 0x50c90
movq -0x58(%rbp), %rdi
addq $0xb, %rdi
leaq 0x2abec(%rip), %rsi     # 0x7b863
callq 0x4ff40
cmpl $0x0, %eax
jne 0x50c8e
movq -0x8(%rbp), %rax
movl 0x4(%rax), %ecx
andl $-0x21, %ecx
movl %ecx, 0x4(%rax)
jmp 0x50c90
jmp 0x50c92
jmp 0x50c94
cmpl $-0x1, -0x60(%rbp)
je 0x50ca6
movq -0x8(%rbp), %rdi
callq 0x4fdb0
movl %eax, -0x60(%rbp)
movl -0x60(%rbp), %eax
addq $0x70, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_move
SOAP_FMAC2
soap_move(struct soap *soap, long n)
{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Moving %ld bytes forward\n", (long)n));
  for (; n > 0; n--)
    if ((int)soap_getchar(soap) == EOF)
      return SOAP_EOF;
  return SOAP_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jle 0x50ebe
movq -0x10(%rbp), %rdi
callq 0x4fdb0
cmpl $-0x1, %eax
jne 0x50eae
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x50ec5
jmp 0x50eb0
movq -0x18(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x50e90
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_puthex
SOAP_FMAC2
soap_puthex(struct soap *soap, const unsigned char *s, int n)
{ char d[2];
  register int i;
#ifdef WITH_DOM
  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
  { if (!(soap->dom->data = soap_s2hex(soap, s, NULL, n)))
      return soap->error;
    return SOAP_OK;
  }
#endif
  for (i = 0; i < n; i++)
  { register int m = *s++;
    d[0] = (char)((m >> 4) + (m > 159 ? '7' : '0'));
    m &= 0x0F;
    d[1] = (char)(m + (m > 9 ? '7' : '0'));
    if (soap_send_raw(soap, d, 2))
      return soap->error;
  }
  return SOAP_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x51556
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movzbl (%rax), %eax
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %eax
sarl $0x4, %eax
movl -0x28(%rbp), %esi
movl $0x30, %ecx
movl $0x37, %edx
cmpl $0x9f, %esi
cmovgl %edx, %ecx
addl %ecx, %eax
movb %al, -0x1e(%rbp)
movl -0x28(%rbp), %eax
andl $0xf, %eax
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %eax
movl -0x28(%rbp), %esi
movl $0x30, %ecx
movl $0x37, %edx
cmpl $0x9, %esi
cmovgl %edx, %ecx
addl %ecx, %eax
movb %al, -0x1d(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x1e(%rbp), %rsi
movl $0x2, %edx
callq 0x4eeb0
cmpl $0x0, %eax
je 0x51546
movq -0x10(%rbp), %rax
movl 0x19214(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x5155d
jmp 0x51548
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x514ba
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_append_lab
SOAP_FMAC2
soap_append_lab(struct soap *soap, const char *s, size_t n)
{ if (soap->labidx + n >= soap->lablen)
  { register char *t = soap->labbuf;
    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Enlarging look-aside buffer to append data, old size=%lu", (unsigned long)soap->lablen));
    if (soap->lablen == 0)
      soap->lablen = SOAP_LABLEN;
    while (soap->labidx + n >= soap->lablen)
      soap->lablen <<= 1;
    DBGLOG(TEST, SOAP_MESSAGE(fdebug, ", new size=%lu\n", (unsigned long)soap->lablen));
    soap->labbuf = (char*)SOAP_MALLOC(soap, soap->lablen);
    if (!soap->labbuf)
    { if (t)
        SOAP_FREE(soap, t);
      return soap->error = SOAP_EOM;
    }
    if (t)
    { memcpy(soap->labbuf, t, soap->labidx);
      SOAP_FREE(soap, t);
    }
  }
  if (s)
  { memcpy(soap->labbuf + soap->labidx, s, n);
    soap->labidx += n;
  }
  return SOAP_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x6130(%rax), %rax
addq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x6128(%rcx), %rax
jb 0x51899
movq -0x10(%rbp), %rax
movq 0x6120(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x6128(%rax)
jne 0x517e0
movq -0x10(%rbp), %rax
movq $0x100, 0x6128(%rax) # imm = 0x100
jmp 0x517e2
movq -0x10(%rbp), %rax
movq 0x6130(%rax), %rax
addq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x6128(%rcx), %rax
jb 0x51815
movq -0x10(%rbp), %rax
movq 0x6128(%rax), %rcx
shlq %rcx
movq %rcx, 0x6128(%rax)
jmp 0x517e2
movq -0x10(%rbp), %rax
movq 0x6128(%rax), %rdi
callq 0x3290
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x6120(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x6120(%rax)
jne 0x51868
cmpq $0x0, -0x28(%rbp)
je 0x51851
movq -0x28(%rbp), %rdi
callq 0x3030
movq -0x10(%rbp), %rax
movl $0x14, 0x19214(%rax)
movl $0x14, -0x4(%rbp)
jmp 0x518e0
cmpq $0x0, -0x28(%rbp)
je 0x51897
movq -0x10(%rbp), %rax
movq 0x6120(%rax), %rdi
movq -0x28(%rbp), %rsi
movq -0x10(%rbp), %rax
movq 0x6130(%rax), %rdx
callq 0x3240
movq -0x28(%rbp), %rdi
callq 0x3030
jmp 0x51899
cmpq $0x0, -0x18(%rbp)
je 0x518d9
movq -0x10(%rbp), %rax
movq 0x6120(%rax), %rdi
movq -0x10(%rbp), %rax
addq 0x6130(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x3240
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
addq 0x6130(%rax), %rcx
movq %rcx, 0x6130(%rax)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_malloc
SOAP_FMAC1
void*
SOAP_FMAC2
soap_malloc(struct soap *soap, size_t n)
{ register char *p;
  if (!n)
    return (void*)SOAP_NON_NULL;
  if (!soap)
    return SOAP_MALLOC(soap, n);
  if (soap->fmalloc)
    p = (char*)soap->fmalloc(soap, n);
  else
  { n += sizeof(short);
    n += (-(long)n) & (sizeof(void*)-1); /* align at 4-, 8- or 16-byte boundary */
    if (!(p = (char*)SOAP_MALLOC(soap, n + sizeof(void*) + sizeof(size_t))))
    { soap->error = SOAP_EOM;
      return NULL;
    }
    /* set the canary to detect corruption */
    *(unsigned short*)(p + n - sizeof(unsigned short)) = (unsigned short)SOAP_CANARY;
    /* keep chain of alloced cells for destruction */
    *(void**)(p + n) = soap->alist;
    *(size_t*)(p + n + sizeof(void*)) = n;
    soap->alist = p + n;
  }
  soap->alloced = 1;
  return p;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x51917
leaq 0x28b73(%rip), %rax     # 0x7a481
movq %rax, -0x8(%rbp)
jmp 0x51a0c
cmpq $0x0, -0x10(%rbp)
jne 0x51930
movq -0x18(%rbp), %rdi
callq 0x3290
movq %rax, -0x8(%rbp)
jmp 0x51a0c
movq -0x10(%rbp), %rax
cmpq $0x0, 0x6038(%rax)
je 0x5195c
movq -0x10(%rbp), %rax
movq 0x6038(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq *%rax
movq %rax, -0x20(%rbp)
jmp 0x519f7
movq -0x18(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x18(%rbp)
xorl %eax, %eax
subq -0x18(%rbp), %rax
andq $0x7, %rax
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
addq $0x8, %rdi
addq $0x8, %rdi
callq 0x3290
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x519ad
movq -0x10(%rbp), %rax
movl $0x14, 0x19214(%rax)
movq $0x0, -0x8(%rbp)
jmp 0x51a0c
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
movw $0xc0de, -0x2(%rax,%rcx) # imm = 0xC0DE
movq -0x10(%rbp), %rax
movq 0xa0(%rax), %rdx
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
movq %rdx, (%rax,%rcx)
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
movq %rdx, 0x8(%rax,%rcx)
movq -0x20(%rbp), %rcx
addq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0xa0(%rax)
movq -0x10(%rbp), %rax
movw $0x1, 0x18592(%rax)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_xop_forward
SOAP_FMAC2
soap_xop_forward(struct soap *soap, unsigned char **ptr, int *size, char **id, char **type, char **options)
{ /* Check MTOM xop:Include element (within hex/base64Binary) */
  /* TODO: this code to be obsoleted with new import/xop.h conventions */
  int body = soap->body; /* should save type too? */
  if (!soap_peek_element(soap))
  { if (!soap_element_begin_in(soap, "xop:Include", 0, NULL) && *soap->href)
    { if (soap_dime_forward(soap, ptr, size, id, type, options))
        return soap->error;
    }
    if (soap->body && soap_element_end_in(soap, NULL))
      return soap->error;
  }
  soap->body = body;
  return SOAP_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movq -0x10(%rbp), %rax
movswl 0x6106(%rax), %eax
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x520b0
cmpl $0x0, %eax
jne 0x52081
movq -0x10(%rbp), %rdi
leaq 0x285ad(%rip), %rsi     # 0x7a5a8
xorl %edx, %edx
xorl %eax, %eax
movl %eax, %ecx
callq 0x53390
cmpl $0x0, %eax
jne 0x5204e
movq -0x10(%rbp), %rax
movsbl 0x17138(%rax), %eax
cmpl $0x0, %eax
je 0x5204e
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %r8
movq -0x38(%rbp), %r9
callq 0x53530
cmpl $0x0, %eax
je 0x5204c
movq -0x10(%rbp), %rax
movl 0x19214(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x52099
jmp 0x5204e
movq -0x10(%rbp), %rax
movswl 0x6106(%rax), %eax
cmpl $0x0, %eax
je 0x5207f
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x53660
cmpl $0x0, %eax
je 0x5207f
movq -0x10(%rbp), %rax
movl 0x19214(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x52099
jmp 0x52081
movl -0x3c(%rbp), %eax
movw %ax, %cx
movq -0x10(%rbp), %rax
movw %cx, 0x6106(%rax)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_element_begin_in
SOAP_FMAC2
soap_element_begin_in(struct soap *soap, const char *tag, int nillable, const char *type)
{ if (!soap_peek_element(soap))
  { if (soap->other)
      return soap->error = SOAP_TAG_MISMATCH;
    if (tag && *tag == '-')
      return SOAP_OK;
    if (!(soap->error = soap_match_tag(soap, soap->tag, tag)))
    { soap->peeked = 0;
      if (type && *soap->type && soap_match_tag(soap, soap->type, type))
        return soap->error = SOAP_TYPE;
      if (!nillable && soap->null && (soap->mode & SOAP_XML_STRICT))
        return soap->error = SOAP_NULL;
      if (soap->body)
        soap->level++;
      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Begin element found (level=%u) '%s'='%s'\n", soap->level, soap->tag, tag?tag:SOAP_STR_EOS ));
    }
  }
  else if (soap->error == SOAP_NO_TAG && tag && *tag == '-')
    soap->error = SOAP_OK;
  return soap->error;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0x520b0
cmpl $0x0, %eax
jne 0x534e9
movq -0x10(%rbp), %rax
cmpw $0x0, 0x18538(%rax)
je 0x533e1
movq -0x10(%rbp), %rax
movl $0x3, 0x19214(%rax)
movl $0x3, -0x4(%rbp)
jmp 0x53526
cmpq $0x0, -0x18(%rbp)
je 0x53400
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x53400
movl $0x0, -0x4(%rbp)
jmp 0x53526
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x16938, %rsi          # imm = 0x16938
movq -0x18(%rbp), %rdx
callq 0x55510
movq -0x10(%rbp), %rcx
movl %eax, 0x19214(%rcx)
cmpl $0x0, %eax
jne 0x534e7
movq -0x10(%rbp), %rax
movw $0x0, 0x18594(%rax)
cmpq $0x0, -0x28(%rbp)
je 0x53486
movq -0x10(%rbp), %rax
movsbl 0x17538(%rax), %eax
cmpl $0x0, %eax
je 0x53486
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x17538, %rsi          # imm = 0x17538
movq -0x28(%rbp), %rdx
callq 0x55510
cmpl $0x0, %eax
je 0x53486
movq -0x10(%rbp), %rax
movl $0x4, 0x19214(%rax)
movl $0x4, -0x4(%rbp)
jmp 0x53526
cmpl $0x0, -0x1c(%rbp)
jne 0x534c4
movq -0x10(%rbp), %rax
movswl 0x1858c(%rax), %eax
cmpl $0x0, %eax
je 0x534c4
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x534c4
movq -0x10(%rbp), %rax
movl $0x17, 0x19214(%rax)
movl $0x17, -0x4(%rbp)
jmp 0x53526
movq -0x10(%rbp), %rax
cmpw $0x0, 0x6106(%rax)
je 0x534e5
movq -0x10(%rbp), %rax
movl 0x6108(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x6108(%rax)
jmp 0x534e7
jmp 0x53519
movq -0x10(%rbp), %rax
cmpl $0x6, 0x19214(%rax)
jne 0x53517
cmpq $0x0, -0x18(%rbp)
je 0x53517
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x53517
movq -0x10(%rbp), %rax
movl $0x0, 0x19214(%rax)
jmp 0x53519
movq -0x10(%rbp), %rax
movl 0x19214(%rax), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_dime_forward
SOAP_FMAC2
soap_dime_forward(struct soap *soap, unsigned char **ptr, int *size, char **id, char **type, char **options)
{ struct soap_xlist *xp;
  *ptr = NULL;
  *size = 0;
  *id = NULL;
  *type = NULL;
  *options = NULL;
  if (!*soap->href)
    return SOAP_OK;
  *id = soap_strdup(soap, soap->href);
  xp = (struct soap_xlist*)SOAP_MALLOC(soap, sizeof(struct soap_xlist));
  if (!xp)
    return soap->error = SOAP_EOM;
  xp->next = soap->xlist;
  xp->ptr = ptr;
  xp->size = size;
  xp->id = *id;
  xp->type = type;
  xp->options = options;
  soap->xlist = xp;
  return SOAP_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq $0x0, (%rax)
movq -0x20(%rbp), %rax
movl $0x0, (%rax)
movq -0x28(%rbp), %rax
movq $0x0, (%rax)
movq -0x30(%rbp), %rax
movq $0x0, (%rax)
movq -0x38(%rbp), %rax
movq $0x0, (%rax)
movq -0x10(%rbp), %rax
cmpb $0x0, 0x17138(%rax)
jne 0x5359f
movl $0x0, -0x4(%rbp)
jmp 0x53650
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x17138, %rsi          # imm = 0x17138
callq 0x538b0
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl $0x30, %edi
callq 0x3290
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
jne 0x535e9
movq -0x10(%rbp), %rax
movl $0x14, 0x19214(%rax)
movl $0x14, -0x4(%rbp)
jmp 0x53650
movq -0x10(%rbp), %rax
movq 0x192b0(%rax), %rcx
movq -0x40(%rbp), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rcx
movq -0x40(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x20(%rbp), %rcx
movq -0x40(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movq -0x40(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x30(%rbp), %rcx
movq -0x40(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x38(%rbp), %rcx
movq -0x40(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x40(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x192b0(%rax)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_strdup
SOAP_FMAC1
char *
SOAP_FMAC2
soap_strdup(struct soap *soap, const char *s)
{ char *t = NULL;
  if (s && (t = (char*)soap_malloc(soap, strlen(s) + 1)))
    strcpy(t, s);
  return t;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x53907
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
callq 0x3100
movq -0x20(%rbp), %rdi
movq %rax, %rsi
addq $0x1, %rsi
callq 0x518f0
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
je 0x53907
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x3090
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_wstrdup
SOAP_FMAC1
wchar_t *
SOAP_FMAC2
soap_wstrdup(struct soap *soap, const wchar_t *s)
{ wchar_t *t = NULL;
  if (s)
  { size_t n = 0;
    while (s[n])
      n++;
    if ((t = (wchar_t*)soap_malloc(soap, sizeof(wchar_t)*(n+1))))
      memcpy(t, s, sizeof(wchar_t)*(n+1));
  }
  return t;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x5399d
movq $0x0, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpl $0x0, (%rax,%rcx,4)
je 0x53963
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x53947
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
addq $0x1, %rsi
shlq $0x2, %rsi
callq 0x518f0
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
je 0x5399b
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
addq $0x1, %rdx
shlq $0x2, %rdx
callq 0x3240
jmp 0x5399d
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_pop_block
SOAP_FMAC2
soap_pop_block(struct soap *soap, struct soap_blist *b)
{ char *p;
  if (!b)
    b = soap->blist;
  if (!b->ptr)
    return;
  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Pop block\n"));
  p = b->ptr;
  b->size -= *(size_t*)(p + sizeof(char*));
  b->ptr = *(char**)p;
  SOAP_FREE(soap, p);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x53a66
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x53a73
jmp 0x53aae
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
subq %rdx, %rcx
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rdi
callq 0x3030
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_has_copies
static int
soap_has_copies(struct soap *soap, register const char *start, register const char *end)
{ register int i;
  register struct soap_ilist *ip = NULL;
  register struct soap_flist *fp = NULL;
  register const char *p;
  for (i = 0; i < SOAP_IDHASH; i++)
  { for (ip = soap->iht[i]; ip; ip = ip->next)
    { for (p = (const char*)ip->copy; p; p = *(const char**)p)
        if (p >= start && p < end)
          return SOAP_ERR;
      for (fp = ip->flist; fp; fp = fp->next)
        if ((const char*)fp->ptr >= start && (const char*)fp->ptr < end)
          return SOAP_ERR;
    }
  }
  return SOAP_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq $0x0, -0x30(%rbp)
movq $0x0, -0x38(%rbp)
movl $0x0, -0x24(%rbp)
cmpl $0x7cf, -0x24(%rbp)     # imm = 0x7CF
jge 0x53f1b
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq 0xa8(%rax,%rcx,8), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x53f0b
movq -0x30(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0x53eb2
movq -0x40(%rbp), %rax
cmpq -0x18(%rbp), %rax
jb 0x53ea3
movq -0x40(%rbp), %rax
cmpq -0x20(%rbp), %rax
jae 0x53ea3
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x53f22
jmp 0x53ea5
movq -0x40(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x53e7f
movq -0x30(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0x53ef9
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
cmpq -0x18(%rbp), %rax
jb 0x53eea
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
cmpq -0x20(%rbp), %rax
jae 0x53eea
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x53f22
jmp 0x53eec
movq -0x38(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
jmp 0x53ebe
jmp 0x53efb
movq -0x30(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x53e68
jmp 0x53f0d
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x53e47
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_size_block
SOAP_FMAC2
soap_size_block(struct soap *soap, struct soap_blist *b, size_t n)
{ if (!b)
    b = soap->blist;
  if (b->ptr)
  { b->size -= *(size_t*)(b->ptr + sizeof(char*)) - n;
    *(size_t*)(b->ptr + sizeof(char*)) = n;
  }
  return b->size;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x53f96
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x53fd0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rdx
subq -0x18(%rbp), %rdx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
subq %rdx, %rcx
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
popq %rbp
retq
nopw (%rax,%rax)