LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_outdouble
SOAP_FMAC2
soap_outdouble(struct soap *soap, const char *tag, int id, const double *p, const char *type, int n)
{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
   || soap_string_out(soap, soap_double2s(soap, *p), 0))
    return soap->error;
  return soap_element_end_out(soap, tag);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %r12
movq %rcx, %r15
movq %rsi, %rbx
movq %rdi, %r14
movl %edx, %esi
movq %rcx, %rdx
movl %r9d, %ecx
callq 0x3f1df
movq %r14, %rdi
movq %rbx, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x3f71a
testl %eax, %eax
jne 0x459bb
movsd (%r15), %xmm0
movq %r14, %rdi
callq 0x458fc
movq %r14, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x4296e
testl %eax, %eax
je 0x459ce
movl 0x19214(%r14), %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x3f797
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_s2double
SOAP_FMAC2
soap_s2double(struct soap *soap, const char *s, double *p)
{ if (s)
  { if (!*s)
      return soap->error = SOAP_TYPE;
    if (!soap_tag_cmp(s, "INF"))
      *p = DBL_PINFTY;
    else if (!soap_tag_cmp(s, "+INF"))
      *p = DBL_PINFTY;
    else if (!soap_tag_cmp(s, "-INF"))
      *p = DBL_NINFTY;
    else if (!soap_tag_cmp(s, "NaN"))
      *p = DBL_NAN;
    else
    {
#if defined(HAVE_STRTOD_L)
      char *r;
      *p = strtod_l(s, &r, soap->c_locale);
      if (*r)
#elif defined(HAVE_STRTOD)
      char *r;
      *p = strtod(s, &r);
      if (*r)
#endif
      {
#if defined(HAVE_SSCANF_L) && !defined(HAVE_STRTOF_L) && !defined(HAVE_STRTOD_L)
        if (sscanf_l(s, soap->c_locale, "%lg", p) != 1)
          soap->error = SOAP_TYPE;
#elif defined(HAVE_SSCANF)
        if (sscanf(s, "%lg", p) != 1)
          soap->error = SOAP_TYPE;
#else
        soap->error = SOAP_TYPE;
#endif
      }
    }
  }
  return soap->error;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
testq %rsi, %rsi
je 0x45aa5
movq %rsi, %r15
cmpb $0x0, (%rsi)
je 0x45aad
movq %rdx, %r14
leaq 0xcd93(%rip), %rsi      # 0x527a1
movq %r15, %rdi
callq 0x3806c
testl %eax, %eax
je 0x45a98
leaq 0xcd7f(%rip), %rsi      # 0x527a0
movq %r15, %rdi
callq 0x3806c
testl %eax, %eax
je 0x45a98
leaq 0xcd67(%rip), %rsi      # 0x5279b
movq %r15, %rdi
callq 0x3806c
testl %eax, %eax
je 0x45ac8
leaq 0xcd4c(%rip), %rsi      # 0x52797
movq %r15, %rdi
callq 0x3806c
testl %eax, %eax
je 0x45ad4
movq %rsp, %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x30b0
movsd %xmm0, (%r14)
movq (%r12), %rax
cmpb $0x0, (%rax)
je 0x45aa5
leaq 0xcd2e(%rip), %rsi      # 0x527a8
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x3290
cmpl $0x1, %eax
je 0x45aa5
movl $0x4, 0x19214(%rbx)
jmp 0x45aa5
movabsq $0x7ff0000000000000, %rax # imm = 0x7FF0000000000000
movq %rax, (%r14)
movl 0x19214(%rbx), %eax
jmp 0x45abc
movl $0x4, 0x19214(%rbx)
movl $0x4, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movabsq $-0x10000000000000, %rax # imm = 0xFFF0000000000000
jmp 0x45aa2
movq $-0x1, (%r14)
jmp 0x45aa5
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_indouble
SOAP_FMAC1
double *
SOAP_FMAC2
soap_indouble(struct soap *soap, const char *tag, double *p, const char *type, int t)
{ if (soap_element_begin_in(soap, tag, 0, NULL))
    return NULL;
#ifndef WITH_LEAN
  if (*soap->type != '\0' && soap_isnumeric(soap, type))
    return NULL;
#endif
  p = (double*)soap_id_enter(soap, soap->id, p, t, sizeof(double), 0, NULL, NULL, NULL);
  if (*soap->href)
    p = (double*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(double), 0, NULL);
  else if (p)
  { if (soap_s2double(soap, soap_value(soap), p))
      return NULL;
  }
  if (soap->body && soap_element_end_in(soap, tag))
    return NULL;
  return p;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %r8d, %ebp
movq %rcx, %r13
movq %rdx, %r12
movq %rsi, %rbx
movq %rdi, %r14
xorl %r15d, %r15d
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3a23a
testl %eax, %eax
jne 0x45bd9
cmpb $0x0, 0x17538(%r14)
je 0x45b2b
movq %r14, %rdi
movq %r13, %rsi
callq 0x45709
testl %eax, %eax
jne 0x45bd6
leaq 0x16d38(%r14), %rsi
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
movl $0x8, %r8d
movq %r14, %rdi
movq %r12, %rdx
movl %ebp, %ecx
xorl %r9d, %r9d
callq 0x4000a
movq %rax, %r15
cmpb $0x0, 0x17138(%r14)
je 0x45bb7
leaq 0x17138(%r14), %rsi
movq $0x0, 0x10(%rsp)
movl $0x0, 0x8(%rsp)
movq $0x8, (%rsp)
movq %r14, %rdi
movq %r15, %rdx
xorl %ecx, %ecx
movl %ebp, %r8d
xorl %r9d, %r9d
callq 0x3feb8
movq %rax, %r15
cmpw $0x0, 0x6106(%r14)
je 0x45bd9
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3a406
testl %eax, %eax
jne 0x45bd6
jmp 0x45bd9
testq %r15, %r15
je 0x45beb
movq %r14, %rdi
callq 0x4487f
movq %r14, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x459e4
testl %eax, %eax
je 0x45b9b
xorl %r15d, %r15d
movq %r15, %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %r15d, %r15d
jmp 0x45b9b
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_outunsignedByte
SOAP_FMAC2
soap_outunsignedByte(struct soap *soap, const char *tag, int id, const unsigned char *p, const char *type, int n)
{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
   || soap_string_out(soap, soap_unsignedLong2s(soap, (unsigned long)*p), 0))
    return soap->error;
  return soap_element_end_out(soap, tag);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %r12
movq %rcx, %r15
movq %rsi, %rbx
movq %rdi, %r14
movl %edx, %esi
movq %rcx, %rdx
movl %r9d, %ecx
callq 0x3f1df
movq %r14, %rdi
movq %rbx, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x3f71a
testl %eax, %eax
jne 0x45c93
movzbl (%r15), %edx
leaq 0x16538(%r14), %r15
leaq 0xcb5e(%rip), %rsi      # 0x527d6
movq %r15, %rdi
xorl %eax, %eax
callq 0x3350
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x4296e
testl %eax, %eax
je 0x45ca6
movl 0x19214(%r14), %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x3f797
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_s2unsignedByte
SOAP_FMAC2
soap_s2unsignedByte(struct soap *soap, const char *s, unsigned char *p)
{ if (s)
  { unsigned long n;
    char *r;
    n = soap_strtoul(s, &r, 10);
    if (s == r || *r || n > 255)
      soap->error = SOAP_TYPE;
    *p = (unsigned char)n;
  }
  return soap->error;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
testq %rsi, %rsi
je 0x45d11
movq %rdx, %r14
movq %rsi, %r15
movq %rsp, %r12
movq %rsi, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x3330
movq (%r12), %rcx
cmpq %r15, %rcx
je 0x45d04
cmpb $0x0, (%rcx)
setne %cl
cmpq $0x100, %rax            # imm = 0x100
setae %dl
orb %cl, %dl
cmpb $0x1, %dl
jne 0x45d0e
movl $0x4, 0x19214(%rbx)
movb %al, (%r14)
movl 0x19214(%rbx), %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_inunsignedByte
SOAP_FMAC1
unsigned char *
SOAP_FMAC2
soap_inunsignedByte(struct soap *soap, const char *tag, unsigned char *p, const char *type, int t)
{ if (soap_element_begin_in(soap, tag, 0, NULL))
    return NULL;
#ifndef WITH_LEAN
  if (*soap->type
   && soap_match_tag(soap, soap->type, type)
   && soap_match_tag(soap, soap->type, ":unsignedByte"))
  { soap->error = SOAP_TYPE;
    soap_revert(soap);
    return NULL;
  }
#endif
  p = (unsigned char*)soap_id_enter(soap, soap->id, p, t, sizeof(unsigned char), 0, NULL, NULL, NULL);
  if (*soap->href)
    p = (unsigned char*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(unsigned char), 0, NULL);
  else if (p)
  { if (soap_s2unsignedByte(soap, soap_value(soap), p))
      return NULL;
  }
  if (soap->body && soap_element_end_in(soap, tag))
    return NULL;
  return p;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %r8d, %ebp
movq %rcx, %r13
movq %rdx, %r12
movq %rsi, %r14
movq %rdi, %rbx
xorl %r15d, %r15d
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3a23a
testl %eax, %eax
jne 0x45e72
cmpb $0x0, 0x17538(%rbx)
je 0x45dc6
leaq 0x17538(%rbx), %r15
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3b54d
testl %eax, %eax
je 0x45dc6
leaq 0xca2f(%rip), %rdx      # 0x527ac
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b54d
testl %eax, %eax
je 0x45dc6
movl $0x4, 0x19214(%rbx)
cmpw $0x0, 0x18594(%rbx)
jne 0x45e6f
movw $0x1, 0x18594(%rbx)
cmpw $0x0, 0x6106(%rbx)
je 0x45e6f
decl 0x6108(%rbx)
jmp 0x45e6f
leaq 0x16d38(%rbx), %rsi
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
movl $0x1, %r8d
movq %rbx, %rdi
movq %r12, %rdx
movl %ebp, %ecx
xorl %r9d, %r9d
callq 0x4000a
movq %rax, %r15
cmpb $0x0, 0x17138(%rbx)
je 0x45e50
leaq 0x17138(%rbx), %rsi
movq $0x0, 0x10(%rsp)
movl $0x0, 0x8(%rsp)
movq $0x1, (%rsp)
movq %rbx, %rdi
movq %r15, %rdx
xorl %ecx, %ecx
movl %ebp, %r8d
xorl %r9d, %r9d
callq 0x3feb8
movq %rax, %r15
cmpw $0x0, 0x6106(%rbx)
je 0x45e72
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3a406
testl %eax, %eax
jne 0x45e6f
jmp 0x45e72
testq %r15, %r15
je 0x45e84
movq %rbx, %rdi
callq 0x4487f
movq %rbx, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x45cbc
testl %eax, %eax
je 0x45e35
xorl %r15d, %r15d
movq %r15, %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %r15d, %r15d
jmp 0x45e35
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_outunsignedShort
SOAP_FMAC2
soap_outunsignedShort(struct soap *soap, const char *tag, int id, const unsigned short *p, const char *type, int n)
{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
   || soap_string_out(soap, soap_unsignedLong2s(soap, (unsigned long)*p), 0))
    return soap->error;
  return soap_element_end_out(soap, tag);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %r12
movq %rcx, %r15
movq %rsi, %rbx
movq %rdi, %r14
movl %edx, %esi
movq %rcx, %rdx
movl %r9d, %ecx
callq 0x3f1df
movq %r14, %rdi
movq %rbx, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x3f71a
testl %eax, %eax
jne 0x45f0b
movzwl (%r15), %edx
leaq 0x16538(%r14), %r15
leaq 0xc8e6(%rip), %rsi      # 0x527d6
movq %r15, %rdi
xorl %eax, %eax
callq 0x3350
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x4296e
testl %eax, %eax
je 0x45f1e
movl 0x19214(%r14), %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x3f797
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_s2unsignedShort
SOAP_FMAC2
soap_s2unsignedShort(struct soap *soap, const char *s, unsigned short *p)
{ if (s)
  { unsigned long n;
    char *r;
    n = soap_strtoul(s, &r, 10);
    if (s == r || *r || n > 65535)
      soap->error = SOAP_TYPE;
    *p = (unsigned short)n;
  }
  return soap->error;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
testq %rsi, %rsi
je 0x45f8a
movq %rdx, %r14
movq %rsi, %r15
movq %rsp, %r12
movq %rsi, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x3330
movq (%r12), %rcx
cmpq %r15, %rcx
je 0x45f7c
cmpb $0x0, (%rcx)
setne %cl
cmpq $0x10000, %rax          # imm = 0x10000
setae %dl
orb %cl, %dl
cmpb $0x1, %dl
jne 0x45f86
movl $0x4, 0x19214(%rbx)
movw %ax, (%r14)
movl 0x19214(%rbx), %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_inunsignedShort
SOAP_FMAC1
unsigned short *
SOAP_FMAC2
soap_inunsignedShort(struct soap *soap, const char *tag, unsigned short *p, const char *type, int t)
{ if (soap_element_begin_in(soap, tag, 0, NULL))
    return NULL;
#ifndef WITH_LEAN
  if (*soap->type
   && soap_match_tag(soap, soap->type, type)
   && soap_match_tag(soap, soap->type, ":unsignedShort")
   && soap_match_tag(soap, soap->type, ":unsignedByte"))
  { soap->error = SOAP_TYPE;
    soap_revert(soap);
    return NULL;
  }
#endif
  p = (unsigned short*)soap_id_enter(soap, soap->id, p, t, sizeof(unsigned short), 0, NULL, NULL, NULL);
  if (*soap->href)
    p = (unsigned short*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(unsigned short), 0, NULL);
  else if (p)
  { if (soap_s2unsignedShort(soap, soap_value(soap), p))
      return NULL;
  }
  if (soap->body && soap_element_end_in(soap, tag))
    return NULL;
  return p;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %r8d, %ebp
movq %rcx, %r13
movq %rdx, %r12
movq %rsi, %r14
movq %rdi, %rbx
xorl %r15d, %r15d
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3a23a
testl %eax, %eax
jne 0x46101
cmpb $0x0, 0x17538(%rbx)
je 0x46055
leaq 0x17538(%rbx), %r15
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3b54d
testl %eax, %eax
je 0x46055
leaq 0xc7c4(%rip), %rdx      # 0x527ba
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b54d
testl %eax, %eax
je 0x46055
leaq 0xc7a0(%rip), %rdx      # 0x527ac
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b54d
testl %eax, %eax
je 0x46055
movl $0x4, 0x19214(%rbx)
cmpw $0x0, 0x18594(%rbx)
jne 0x460fe
movw $0x1, 0x18594(%rbx)
cmpw $0x0, 0x6106(%rbx)
je 0x460fe
decl 0x6108(%rbx)
jmp 0x460fe
leaq 0x16d38(%rbx), %rsi
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
movl $0x2, %r8d
movq %rbx, %rdi
movq %r12, %rdx
movl %ebp, %ecx
xorl %r9d, %r9d
callq 0x4000a
movq %rax, %r15
cmpb $0x0, 0x17138(%rbx)
je 0x460df
leaq 0x17138(%rbx), %rsi
movq $0x0, 0x10(%rsp)
movl $0x0, 0x8(%rsp)
movq $0x2, (%rsp)
movq %rbx, %rdi
movq %r15, %rdx
xorl %ecx, %ecx
movl %ebp, %r8d
xorl %r9d, %r9d
callq 0x3feb8
movq %rax, %r15
cmpw $0x0, 0x6106(%rbx)
je 0x46101
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3a406
testl %eax, %eax
jne 0x460fe
jmp 0x46101
testq %r15, %r15
je 0x46113
movq %rbx, %rdi
callq 0x4487f
movq %rbx, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x45f34
testl %eax, %eax
je 0x460c4
xorl %r15d, %r15d
movq %r15, %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %r15d, %r15d
jmp 0x460c4
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_s2unsignedInt
SOAP_FMAC2
soap_s2unsignedInt(struct soap *soap, const char *s, unsigned int *p)
{ if (s)
  { char *r;
#ifndef WITH_NOIO
#ifndef WITH_LEAN
    soap_reset_errno;
#endif
#endif
    *p = (unsigned int)soap_strtoul(s, &r, 10);
    if ((s == r && (soap->mode & SOAP_XML_STRICT)) || *r
#ifndef WITH_NOIO
#ifndef WITH_LEAN
     || soap_errno == SOAP_ERANGE
#endif
#endif
    )
      soap->error = SOAP_TYPE;
  }
  return soap->error;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
testq %rsi, %rsi
je 0x46228
movq %rdx, %r12
movq %rsi, %r15
callq 0x3060
movq %rax, %r14
movl $0x0, (%rax)
leaq 0x8(%rsp), %r13
movq %r15, %rdi
movq %r13, %rsi
movl $0xa, %edx
callq 0x3330
movl %eax, (%r12)
movq (%r13), %rax
cmpq %r15, %rax
jne 0x46213
testb $0x10, 0x5(%rbx)
jne 0x4621e
cmpb $0x0, (%rax)
jne 0x4621e
cmpl $0x22, (%r14)
jne 0x46228
movl $0x4, 0x19214(%rbx)
movl 0x19214(%rbx), %eax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_inunsignedInt
SOAP_FMAC1
unsigned int *
SOAP_FMAC2
soap_inunsignedInt(struct soap *soap, const char *tag, unsigned int *p, const char *type, int t)
{ if (soap_element_begin_in(soap, tag, 0, NULL))
    return NULL;
#ifndef WITH_LEAN
  if (*soap->type
   && soap_match_tag(soap, soap->type, type)
   && soap_match_tag(soap, soap->type, ":unsignedInt")
   && soap_match_tag(soap, soap->type, ":unsignedShort")
   && soap_match_tag(soap, soap->type, ":unsignedByte"))
  { soap->error = SOAP_TYPE;
    soap_revert(soap);
    return NULL;
  }
#endif
  p = (unsigned int*)soap_id_enter(soap, soap->id, p, t, sizeof(unsigned int), 0, NULL, NULL, NULL);
  if (*soap->href)
    p = (unsigned int*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(unsigned int), 0, NULL);
  else if (p)
  { if (soap_s2unsignedInt(soap, soap_value(soap), p))
      return NULL;
  }
  if (soap->body && soap_element_end_in(soap, tag))
    return NULL;
  return p;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %r8d, %ebp
movq %rcx, %r13
movq %rdx, %r12
movq %rsi, %r14
movq %rdi, %rbx
xorl %r15d, %r15d
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3a23a
testl %eax, %eax
jne 0x463bb
cmpb $0x0, 0x17538(%rbx)
je 0x4630f
leaq 0x17538(%rbx), %r15
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3b54d
testl %eax, %eax
je 0x4630f
leaq 0xc52f(%rip), %rdx      # 0x527c9
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b54d
testl %eax, %eax
je 0x4630f
leaq 0xc50a(%rip), %rdx      # 0x527ba
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b54d
testl %eax, %eax
je 0x4630f
leaq 0xc4e6(%rip), %rdx      # 0x527ac
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b54d
testl %eax, %eax
je 0x4630f
movl $0x4, 0x19214(%rbx)
cmpw $0x0, 0x18594(%rbx)
jne 0x463b8
movw $0x1, 0x18594(%rbx)
cmpw $0x0, 0x6106(%rbx)
je 0x463b8
decl 0x6108(%rbx)
jmp 0x463b8
leaq 0x16d38(%rbx), %rsi
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
movl $0x4, %r8d
movq %rbx, %rdi
movq %r12, %rdx
movl %ebp, %ecx
xorl %r9d, %r9d
callq 0x4000a
movq %rax, %r15
cmpb $0x0, 0x17138(%rbx)
je 0x46399
leaq 0x17138(%rbx), %rsi
movq $0x0, 0x10(%rsp)
movl $0x0, 0x8(%rsp)
movq $0x4, (%rsp)
movq %rbx, %rdi
movq %r15, %rdx
xorl %ecx, %ecx
movl %ebp, %r8d
xorl %r9d, %r9d
callq 0x3feb8
movq %rax, %r15
cmpw $0x0, 0x6106(%rbx)
je 0x463bb
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3a406
testl %eax, %eax
jne 0x463b8
jmp 0x463bb
testq %r15, %r15
je 0x463cd
movq %rbx, %rdi
callq 0x4487f
movq %rbx, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x461c2
testl %eax, %eax
je 0x4637e
xorl %r15d, %r15d
movq %r15, %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %r15d, %r15d
jmp 0x4637e
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_outunsignedLong
SOAP_FMAC2
soap_outunsignedLong(struct soap *soap, const char *tag, int id, const unsigned long *p, const char *type, int n)
{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
   || soap_string_out(soap, soap_unsignedLong2s(soap, *p), 0))
    return soap->error;
  return soap_element_end_out(soap, tag);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %r12
movq %rcx, %r15
movq %rsi, %rbx
movq %rdi, %r14
movl %edx, %esi
movq %rcx, %rdx
movl %r9d, %ecx
callq 0x3f1df
movq %r14, %rdi
movq %rbx, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x3f71a
testl %eax, %eax
jne 0x46433
movq (%r15), %rdx
leaq 0x16538(%r14), %r15
leaq 0xc3be(%rip), %rsi      # 0x527d6
movq %r15, %rdi
xorl %eax, %eax
callq 0x3350
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x4296e
testl %eax, %eax
je 0x46446
movl 0x19214(%r14), %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x3f797
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_s2unsignedLong
SOAP_FMAC2
soap_s2unsignedLong(struct soap *soap, const char *s, unsigned long *p)
{ if (s)
  { char *r;
#ifndef WITH_NOIO
#ifndef WITH_LEAN
    soap_reset_errno;
#endif
#endif
    *p = soap_strtoul(s, &r, 10);
    if ((s == r && (soap->mode & SOAP_XML_STRICT)) || *r
#ifndef WITH_NOIO
#ifndef WITH_LEAN
     || soap_errno == SOAP_ERANGE
#endif
#endif
    )
      soap->error = SOAP_TYPE;
  }
  return soap->error;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
testq %rsi, %rsi
je 0x464c2
movq %rdx, %r12
movq %rsi, %r15
callq 0x3060
movq %rax, %r14
movl $0x0, (%rax)
leaq 0x8(%rsp), %r13
movq %r15, %rdi
movq %r13, %rsi
movl $0xa, %edx
callq 0x3330
movq %rax, (%r12)
movq (%r13), %rax
cmpq %r15, %rax
jne 0x464ad
testb $0x10, 0x5(%rbx)
jne 0x464b8
cmpb $0x0, (%rax)
jne 0x464b8
cmpl $0x22, (%r14)
jne 0x464c2
movl $0x4, 0x19214(%rbx)
movl 0x19214(%rbx), %eax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_inunsignedLong
SOAP_FMAC1
unsigned long *
SOAP_FMAC2
soap_inunsignedLong(struct soap *soap, const char *tag, unsigned long *p, const char *type, int t)
{ if (soap_element_begin_in(soap, tag, 0, NULL))
    return NULL;
#ifndef WITH_LEAN
  if (*soap->type
   && soap_match_tag(soap, soap->type, type)
   && soap_match_tag(soap, soap->type, ":unsignedInt")
   && soap_match_tag(soap, soap->type, ":unsignedShort")
   && soap_match_tag(soap, soap->type, ":unsignedByte"))
  { soap->error = SOAP_TYPE;
    soap_revert(soap);
    return NULL;
  }
#endif
  p = (unsigned long*)soap_id_enter(soap, soap->id, p, t, sizeof(unsigned long), 0, NULL, NULL, NULL);
  if (*soap->href)
    p = (unsigned long*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(unsigned long), 0, NULL);
  else if (p)
  { if (soap_s2unsignedLong(soap, soap_value(soap), p))
      return NULL;
  }
  if (soap->body && soap_element_end_in(soap, tag))
    return NULL;
  return p;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %r8d, %ebp
movq %rcx, %r13
movq %rdx, %r12
movq %rsi, %r14
movq %rdi, %rbx
xorl %r15d, %r15d
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3a23a
testl %eax, %eax
jne 0x46655
cmpb $0x0, 0x17538(%rbx)
je 0x465a9
leaq 0x17538(%rbx), %r15
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3b54d
testl %eax, %eax
je 0x465a9
leaq 0xc295(%rip), %rdx      # 0x527c9
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b54d
testl %eax, %eax
je 0x465a9
leaq 0xc270(%rip), %rdx      # 0x527ba
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b54d
testl %eax, %eax
je 0x465a9
leaq 0xc24c(%rip), %rdx      # 0x527ac
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b54d
testl %eax, %eax
je 0x465a9
movl $0x4, 0x19214(%rbx)
cmpw $0x0, 0x18594(%rbx)
jne 0x46652
movw $0x1, 0x18594(%rbx)
cmpw $0x0, 0x6106(%rbx)
je 0x46652
decl 0x6108(%rbx)
jmp 0x46652
leaq 0x16d38(%rbx), %rsi
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
movl $0x8, %r8d
movq %rbx, %rdi
movq %r12, %rdx
movl %ebp, %ecx
xorl %r9d, %r9d
callq 0x4000a
movq %rax, %r15
cmpb $0x0, 0x17138(%rbx)
je 0x46633
leaq 0x17138(%rbx), %rsi
movq $0x0, 0x10(%rsp)
movl $0x0, 0x8(%rsp)
movq $0x8, (%rsp)
movq %rbx, %rdi
movq %r15, %rdx
xorl %ecx, %ecx
movl %ebp, %r8d
xorl %r9d, %r9d
callq 0x3feb8
movq %rax, %r15
cmpw $0x0, 0x6106(%rbx)
je 0x46655
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3a406
testl %eax, %eax
jne 0x46652
jmp 0x46655
testq %r15, %r15
je 0x46667
movq %rbx, %rdi
callq 0x4487f
movq %rbx, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x4645c
testl %eax, %eax
je 0x46618
xorl %r15d, %r15d
movq %r15, %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %r15d, %r15d
jmp 0x46618
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_s2string
SOAP_FMAC2
soap_s2string(struct soap *soap, const char *s, char **t, long minlen, long maxlen)
{ if (s)
  { long l = (long)strlen(s);
    if ((maxlen >= 0 && l > maxlen) || l < minlen)
      return soap->error = SOAP_LENGTH;
    if (!(*t = soap_strdup(soap, s)))
      return soap->error = SOAP_EOM;
    if (!(soap->mode & (SOAP_ENC_LATIN | SOAP_C_UTFSTRING)))
    { char *r = *t;
      /* remove non-ASCII chars */
      for (s = *t; *s; s++)
        if (!(*s & 0x80))
	  *r++ = *s;
      *r = '\0';
    }
  }
  return soap->error;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rdi, %rbx
testq %rsi, %rsi
je 0x469fe
movq %r8, %r13
movq %rcx, %r12
movq %rdx, %r14
movq %rsi, %r15
movq %rsi, %rdi
callq 0x3110
testq %r13, %r13
setns %cl
cmpq %r13, %rax
setg %dl
andb %cl, %dl
cmpq %r12, %rax
setl %al
orb %dl, %al
cmpb $0x1, %al
jne 0x469a2
movl $0x2d, 0x19214(%rbx)
movl $0x2d, %eax
jmp 0x469f8
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3a567
movq %rax, (%r14)
testq %rax, %rax
je 0x469e9
movb $0x1, %cl
testl $0x200020, 0x4(%rbx)    # imm = 0x200020
jne 0x469e7
movb (%rax), %sil
testb %sil, %sil
je 0x469e4
movq %rax, %rdx
incq %rdx
testb %sil, %sil
js 0x469d9
movb %sil, (%rax)
incq %rax
movb (%rdx), %sil
incq %rdx
testb %sil, %sil
jne 0x469ce
movb $0x0, (%rax)
jmp 0x469fa
movl $0x14, 0x19214(%rbx)
movl $0x14, %eax
xorl %ecx, %ecx
testb %cl, %cl
je 0x46a04
movl 0x19214(%rbx), %eax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_wchar2s
SOAP_FMAC1
const char*
SOAP_FMAC2
soap_wchar2s(struct soap *soap, const wchar_t *s)
{ register soap_wchar c;
  register char *r, *t;
  const wchar_t *q = s;
  size_t n = 0;
  while ((c = *q++))
  { if (c > 0 && c < 0x80)
      n++;
    else
      n += 6;
  }
  r = t = (char*)soap_malloc(soap, n + 1);
  if (r)
  { /* Convert wchar to UTF8 */
    while ((c = *s++))
    { if (c > 0 && c < 0x80)
        *t++ = (char)c;
      else
      { if (c < 0x0800)
          *t++ = (char)(0xC0 | ((c >> 6) & 0x1F));
        else
        { if (c < 0x010000)
            *t++ = (char)(0xE0 | ((c >> 12) & 0x0F));
          else
          { if (c < 0x200000)
              *t++ = (char)(0xF0 | ((c >> 18) & 0x07));
            else
            { if (c < 0x04000000)
                *t++ = (char)(0xF8 | ((c >> 24) & 0x03));
              else
              { *t++ = (char)(0xFC | ((c >> 30) & 0x01));
                *t++ = (char)(0x80 | ((c >> 24) & 0x3F));
              }
              *t++ = (char)(0x80 | ((c >> 18) & 0x3F));
            }     
            *t++ = (char)(0x80 | ((c >> 12) & 0x3F));
          }
          *t++ = (char)(0x80 | ((c >> 6) & 0x3F));
        }
        *t++ = (char)(0x80 | (c & 0x3F));
      }
    }
    *t = '\0';
  }
  return r;
}

// Assembly:
pushq %rbx
movq %rsi, %rbx
movl (%rsi), %ecx
testl %ecx, %ecx
je 0x46e36
leaq 0x4(%rbx), %rax
xorl %esi, %esi
xorl %edx, %edx
cmpl $0x7f, %ecx
seta %dl
leaq (%rdx,%rdx,4), %rcx
addq %rcx, %rsi
incq %rsi
movl (%rax), %ecx
addq $0x4, %rax
testl %ecx, %ecx
jne 0x46e15
incq %rsi
jmp 0x46e3b
movl $0x1, %esi
callq 0x39095
testq %rax, %rax
je 0x46f54
movl (%rbx), %edx
movq %rax, %rcx
testl %edx, %edx
je 0x46f51
addq $0x4, %rbx
movq %rax, %rcx
cmpl $0x7f, %edx
ja 0x46e6c
movb %dl, (%rcx)
incq %rcx
jmp 0x46f43
cmpl $0x800, %edx            # imm = 0x800
jge 0x46e7f
movb $-0x40, %sil
movb $0x1f, %dil
jmp 0x46f26
cmpl $0xffff, %edx           # imm = 0xFFFF
jg 0x46e9f
movl %edx, %esi
shrl $0xc, %esi
andb $0xf, %sil
orb $-0x20, %sil
movb %sil, (%rcx)
incq %rcx
jmp 0x46f20
cmpl $0x200000, %edx         # imm = 0x200000
jge 0x46eaf
movb $-0x10, %sil
movb $0x7, %dil
jmp 0x46efb
cmpl $0x4000000, %edx        # imm = 0x4000000
jge 0x46ec7
movl $0x1, %esi
movb $-0x8, %r8b
movb $0x3, %r9b
movq %rcx, %rdi
jmp 0x46ee2
movl %edx, %esi
shrl $0x1e, %esi
orb $-0x4, %sil
leaq 0x1(%rcx), %rdi
movb %sil, (%rcx)
movl $0x2, %esi
movb $-0x80, %r8b
movb $0x3f, %r9b
movl %edx, %r10d
shrl $0x18, %r10d
andb %r9b, %r10b
orb %r8b, %r10b
addq %rsi, %rcx
movb %r10b, (%rdi)
movb $-0x80, %sil
movb $0x3f, %dil
movl %edx, %r8d
shrl $0x12, %r8d
andb %dil, %r8b
orb %sil, %r8b
movb %r8b, (%rcx)
movl %edx, %esi
shrl $0xc, %esi
andb $0x3f, %sil
orb $-0x80, %sil
movb %sil, 0x1(%rcx)
addq $0x2, %rcx
movb $-0x80, %sil
movb $0x3f, %dil
movl %edx, %r8d
shrl $0x6, %r8d
andb %dil, %r8b
orb %sil, %r8b
movb %r8b, (%rcx)
andb $0x3f, %dl
orb $-0x80, %dl
movb %dl, 0x1(%rcx)
addq $0x2, %rcx
movl (%rbx), %edx
addq $0x4, %rbx
testl %edx, %edx
jne 0x46e5d
movb $0x0, (%rcx)
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_outstring
SOAP_FMAC2
soap_outstring(struct soap *soap, const char *tag, int id, char *const*p, const char *type, int n) 
{ id = soap_element_id(soap, tag, id, *p, NULL, 0, type, n);
  if (id < 0)
    return soap->error;
  if (!**p && (soap->mode & SOAP_C_NILSTRING))
    return soap_element_null(soap, tag, id, type);
  if (soap_element_begin_out(soap, tag, id, type)
   || soap_string_out(soap, *p, 0)
   || soap_element_end_out(soap, tag))
    return soap->error;
  return SOAP_OK;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %r9d, %eax
movq %r8, %r12
movq %rcx, %r15
movq %rsi, %r14
movq %rdi, %rbx
movq (%rcx), %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %rax
pushq %r12
callq 0x3f5a2
addq $0x10, %rsp
testl %eax, %eax
js 0x46fca
movq (%r15), %rcx
cmpb $0x0, (%rcx)
jne 0x46f94
testb $-0x80, 0x6(%rbx)
jne 0x46fdb
movq %rbx, %rdi
movq %r14, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x3f71a
testl %eax, %eax
jne 0x46fca
movq (%r15), %rsi
xorl %ebp, %ebp
movq %rbx, %rdi
xorl %edx, %edx
callq 0x4296e
testl %eax, %eax
jne 0x46fca
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3f797
testl %eax, %eax
je 0x46fd0
movl 0x19214(%rbx), %ebp
movl %ebp, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rbx, %rdi
movq %r14, %rsi
movl %eax, %edx
movq %r12, %rcx
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x42c0f
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_outwstring
SOAP_FMAC2
soap_outwstring(struct soap *soap, const char *tag, int id, wchar_t *const*p, const char *type, int n) 
{ id = soap_element_id(soap, tag, id, *p, NULL, 0, type, n);
  if (id < 0)
    return soap->error;
  if (!**p && (soap->mode & SOAP_C_NILSTRING))
    return soap_element_null(soap, tag, id, type);
  if (soap_element_begin_out(soap, tag, id, type)
   || soap_wstring_out(soap, *p, 0)
   || soap_element_end_out(soap, tag))
    return soap->error;
  return SOAP_OK;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %r9d, %eax
movq %r8, %r12
movq %rcx, %r15
movq %rsi, %r14
movq %rdi, %rbx
movq (%rcx), %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %rax
pushq %r12
callq 0x3f5a2
addq $0x10, %rsp
testl %eax, %eax
js 0x47067
movq (%r15), %rcx
cmpl $0x0, (%rcx)
jne 0x47031
testb $-0x80, 0x6(%rbx)
jne 0x47078
movq %rbx, %rdi
movq %r14, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x3f71a
testl %eax, %eax
jne 0x47067
movq (%r15), %rsi
xorl %ebp, %ebp
movq %rbx, %rdi
xorl %edx, %edx
callq 0x44052
testl %eax, %eax
jne 0x47067
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3f797
testl %eax, %eax
je 0x4706d
movl 0x19214(%rbx), %ebp
movl %ebp, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rbx, %rdi
movq %r14, %rsi
movl %eax, %edx
movq %r12, %rcx
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x42c0f
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_timegm
SOAP_FMAC2
soap_timegm(struct tm *T)
{
#if defined(HAVE_TIMEGM)
  return timegm(T);
#else
  time_t t, g, z;
  struct tm tm;
  t = mktime(T);
  if (t == (time_t)-1)
    return (time_t)-1;
#ifdef HAVE_GMTIME_R
  gmtime_r(&t, &tm);
#else
  tm = *gmtime(&t);
#endif
  tm.tm_isdst = 0;
  g = mktime(&tm);
  if (g == (time_t)-1)
    return (time_t)-1;
  z = g - t;
  return t - z;
#endif
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x48, %rsp
callq 0x32c0
movq %rax, 0x8(%rsp)
movq $-0x1, %rbx
cmpq $-0x1, %rax
je 0x47265
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %r14
movq %r14, %rsi
callq 0x3170
movl $0x0, 0x20(%r14)
movq %r14, %rdi
callq 0x32c0
cmpq $-0x1, %rax
je 0x47265
movq 0x8(%rsp), %rbx
addq %rbx, %rbx
subq %rax, %rbx
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_outdateTime
SOAP_FMAC2
soap_outdateTime(struct soap *soap, const char *tag, int id, const time_t *p, const char *type, int n)
{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
   || soap_string_out(soap, soap_dateTime2s(soap, *p), 0))
    return soap->error;
  return soap_element_end_out(soap, tag);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %r12
movq %rcx, %r15
movq %rsi, %rbx
movq %rdi, %r14
movl %edx, %esi
movq %rcx, %rdx
movl %r9d, %ecx
callq 0x3f1df
movq %r14, %rdi
movq %rbx, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x3f71a
testl %eax, %eax
jne 0x47321
movq (%r15), %rsi
movq %r14, %rdi
callq 0x47270
movq %r14, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x4296e
testl %eax, %eax
je 0x47334
movl 0x19214(%r14), %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x3f797
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_indateTime
SOAP_FMAC1
time_t *
SOAP_FMAC2
soap_indateTime(struct soap *soap, const char *tag, time_t *p, const char *type, int t)
{ if (soap_element_begin_in(soap, tag, 0, NULL))
    return NULL;
  if (*soap->type
   && soap_match_tag(soap, soap->type, type)
   && soap_match_tag(soap, soap->type, ":dateTime"))
  { soap->error = SOAP_TYPE;
    soap_revert(soap);
    return NULL;
  }
  p = (time_t*)soap_id_enter(soap, soap->id, p, t, sizeof(time_t), 0, NULL, NULL, NULL);
  if (*soap->href)
    p = (time_t*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(time_t), 0, NULL);
  else if (p)
  { if (soap_s2dateTime(soap, soap_value(soap), p))
      return NULL;
  }
  if (soap->body && soap_element_end_in(soap, tag))
    return NULL;
  return p;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %r8d, %ebp
movq %rcx, %r13
movq %rdx, %r12
movq %rsi, %r14
movq %rdi, %rbx
xorl %r15d, %r15d
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3a23a
testl %eax, %eax
jne 0x476ea
cmpb $0x0, 0x17538(%rbx)
je 0x4763e
leaq 0x17538(%rbx), %r15
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3b54d
testl %eax, %eax
je 0x4763e
leaq 0xb278(%rip), %rdx      # 0x5286d
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b54d
testl %eax, %eax
je 0x4763e
movl $0x4, 0x19214(%rbx)
cmpw $0x0, 0x18594(%rbx)
jne 0x476e7
movw $0x1, 0x18594(%rbx)
cmpw $0x0, 0x6106(%rbx)
je 0x476e7
decl 0x6108(%rbx)
jmp 0x476e7
leaq 0x16d38(%rbx), %rsi
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
movl $0x8, %r8d
movq %rbx, %rdi
movq %r12, %rdx
movl %ebp, %ecx
xorl %r9d, %r9d
callq 0x4000a
movq %rax, %r15
cmpb $0x0, 0x17138(%rbx)
je 0x476c8
leaq 0x17138(%rbx), %rsi
movq $0x0, 0x10(%rsp)
movl $0x0, 0x8(%rsp)
movq $0x8, (%rsp)
movq %rbx, %rdi
movq %r15, %rdx
xorl %ecx, %ecx
movl %ebp, %r8d
xorl %r9d, %r9d
callq 0x3feb8
movq %rax, %r15
cmpw $0x0, 0x6106(%rbx)
je 0x476ea
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3a406
testl %eax, %eax
jne 0x476e7
jmp 0x476ea
testq %r15, %r15
je 0x476fc
movq %rbx, %rdi
callq 0x4487f
movq %rbx, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x4734a
testl %eax, %eax
je 0x476ad
xorl %r15d, %r15d
movq %r15, %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %r15d, %r15d
jmp 0x476ad
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_outliteral
SOAP_FMAC2
soap_outliteral(struct soap *soap, const char *tag, char *const*p, const char *type)
{ int i;
  const char *t = NULL;
  if (tag && *tag != '-')
  { if (soap->local_namespaces && (t = strchr(tag, ':')))
    { strncpy(soap->tmpbuf, tag, t-tag);
      soap->tmpbuf[t-tag] = '\0';
      for (i = 0; soap->local_namespaces[i].id; i++)
        if (!strcmp(soap->tmpbuf, soap->local_namespaces[i].id))
          break;
      t++;
      if (soap_element(soap, t, 0, type)
       || soap_attribute(soap, "xmlns", soap->local_namespaces[i].ns ? soap->local_namespaces[i].ns : SOAP_STR_EOS)
       || soap_element_start_end_out(soap, NULL))
        return soap->error;
    }
    else
    { t = tag;
      if (soap_element_begin_out(soap, t, 0, type))
        return soap->error;
    }
  }
  if (p && *p)
  { if (soap_send(soap, *p))
      return soap->error;
  }
  if (t)
    return soap_element_end_out(soap, t);
  return SOAP_OK;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r14
movq %rdi, %rbx
testq %rsi, %rsi
je 0x4771f
movq %rsi, %r13
cmpb $0x2d, (%rsi)
jne 0x4776f
xorl %r13d, %r13d
testq %r14, %r14
je 0x4774d
movq (%r14), %r14
testq %r14, %r14
je 0x4774d
movq %r14, %rdi
callq 0x3110
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x376e8
testl %eax, %eax
jne 0x47857
testq %r13, %r13
je 0x477eb
movq %rbx, %rdi
movq %r13, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3f797
movq %rcx, %r12
cmpq $0x0, 0x80(%rbx)
je 0x477ef
movq %r13, %rdi
movl $0x3a, %esi
callq 0x3130
testq %rax, %rax
je 0x477ef
leaq 0x16538(%rbx), %rbp
movq %rax, (%rsp)
movq %rax, %r15
subq %r13, %r15
movq %rbp, %rdi
movq %r13, %rsi
movq %r15, %rdx
callq 0x3070
movb $0x0, 0x16538(%rbx,%r15)
movq 0x80(%rbx), %r13
movq (%r13), %rsi
testq %rsi, %rsi
je 0x47808
addq $0x20, %r13
xorl %r15d, %r15d
movq %rbp, %rdi
callq 0x3200
testl %eax, %eax
je 0x4780b
incq %r15
movq (%r13), %rsi
addq $0x20, %r13
testq %rsi, %rsi
jne 0x477cd
jmp 0x4780b
xorl %eax, %eax
jmp 0x4785d
movq %rbx, %rdi
movq %r13, %rsi
xorl %edx, %edx
movq %r12, %rcx
callq 0x3f71a
testl %eax, %eax
jne 0x47857
jmp 0x47722
xorl %r15d, %r15d
movq (%rsp), %rsi
incq %rsi
movq %rbx, %rdi
movq %rsi, %r13
xorl %edx, %edx
movq %r12, %rcx
callq 0x4193c
testl %eax, %eax
jne 0x47857
movq 0x80(%rbx), %rax
shlq $0x5, %r15
movq 0x8(%rax,%r15), %rax
testq %rax, %rax
leaq 0xa921(%rip), %rdx      # 0x52161
cmovneq %rax, %rdx
leaq 0xad24(%rip), %rsi      # 0x5256f
movq %rbx, %rdi
callq 0x4203b
testl %eax, %eax
je 0x4786c
movl 0x19214(%rbx), %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rbx, %rdi
xorl %esi, %esi
callq 0x421b7
jmp 0x477ff
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_getline
SOAP_FMAC2
soap_getline(struct soap *soap, char *s, int len)
{ int i = len;
  soap_wchar c = 0;
  for (;;)
  { while (--i > 0)
    { c = soap_getchar(soap);
      if (c == '\r' || c == '\n')
        break;
      if ((int)c == EOF)
        return soap->error = SOAP_EOF;
      *s++ = (char)c;
    }
    if (c != '\n')
      c = soap_getchar(soap); /* got \r or something else, now get \n */
    if (c == '\n')
    { *s = '\0';
      if (i+1 == len) /* empty line: end of HTTP/MIME header */
        break;
      c = soap_get0(soap);
      if (c != ' ' && c != '\t') /* HTTP line continuation? */
        break;
    }
    else if ((int)c == EOF)
      return soap->error = SOAP_EOF;
    if (i < 0)
      return soap->error = SOAP_HDR;
  }
  return SOAP_OK;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rsi, %r14
movq %rdi, %rbx
xorl %eax, %eax
movl %edx, %r13d
xorl %r15d, %r15d
cmpl $0x2, %r13d
jl 0x47c8e
movl %r13d, %r12d
movq %rbx, %rdi
callq 0x37f8a
cmpl $-0x1, %eax
je 0x47d14
cmpl $0xa, %eax
je 0x47c9a
cmpl $0xd, %eax
je 0x47c9a
movb %al, (%r14)
incq %r14
decl %r12d
cmpl $0x1, %r12d
jg 0x47c59
xorl %r13d, %r13d
movl $0x1, %r12d
jmp 0x47c9f
movl %r13d, %r12d
leal -0x1(%r13), %ecx
movl %ecx, %r13d
jmp 0x47c9f
leal -0x1(%r12), %r13d
movl $0xa, %ecx
cmpl $0xa, %eax
je 0x47cb3
movq %rbx, %rdi
callq 0x37f8a
movl %eax, %ecx
cmpl $0xa, %ecx
je 0x47cbf
cmpl $-0x1, %ecx
jne 0x47d02
jmp 0x47d16
movb $0x0, (%r14)
cmpl %ebp, %r12d
je 0x47d1f
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x47ce9
movq %rbx, %rdi
callq 0x37dbb
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
testl %eax, %eax
jne 0x47cf8
movq 0x60f0(%rbx), %rax
movzbl 0x6138(%rbx,%rax), %ecx
cmpl $0x20, %ecx
je 0x47d02
cmpl $0x9, %ecx
jne 0x47d1f
movl %ecx, %eax
testl %r12d, %r12d
jg 0x47c50
movl $0x16, %ecx
jmp 0x47d16
movl %eax, %ecx
movl %ecx, 0x19214(%rbx)
movl %ecx, %r15d
movl %r15d, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_dime_option
SOAP_FMAC1
char *
SOAP_FMAC2
soap_dime_option(struct soap *soap, unsigned short optype, const char *option)
{ size_t n;
  char *s = NULL;
  if (option)
  { n = strlen(option);
    s = (char*)soap_malloc(soap, n + 5);
    if (s)
    { s[0] = (char)(optype >> 8);
      s[1] = (char)(optype & 0xFF);
      s[2] = (char)(n >> 8);
      s[3] = (char)(n & 0xFF);
      strcpy(s + 4, option);
    }
  }
  return s;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
testq %rdx, %rdx
je 0x47d89
movq %rdx, %rbx
movq %rdi, %r14
movl %esi, %r15d
movq %rdx, %rdi
callq 0x3110
movq %rax, %r12
leaq 0x5(%rax), %rsi
movq %r14, %rdi
callq 0x39095
testq %rax, %rax
je 0x47d89
movq %rax, %rbp
movl %r15d, %eax
movb %ah, (%rbp)
movb %al, 0x1(%rbp)
movq %r12, %rax
movb %ah, 0x2(%rbp)
movb %al, 0x3(%rbp)
movq %rbp, %rdi
addq $0x4, %rdi
movq %rbx, %rsi
callq 0x3090
jmp 0x47d8b
xorl %ebp, %ebp
movq %rbp, %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_putdimehdr
SOAP_FMAC2
soap_putdimehdr(struct soap *soap)
{ unsigned char tmp[12];
  size_t optlen = 0, idlen = 0, typelen = 0;
  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Put DIME header id='%s'\n", soap->dime.id?soap->dime.id:SOAP_STR_EOS));
  if (soap->dime.options)
    optlen = (((unsigned char)soap->dime.options[2] << 8) | ((unsigned char)soap->dime.options[3])) + 4;
  if (soap->dime.id)
  { idlen = strlen(soap->dime.id);
    if (idlen > 0x0000FFFF)
      idlen = 0x0000FFFF;
  }
  if (soap->dime.type)
  { typelen = strlen(soap->dime.type);
    if (typelen > 0x0000FFFF)
      typelen = 0x0000FFFF;
  }
  tmp[0] = SOAP_DIME_VERSION | (soap->dime.flags & 0x7);
  tmp[1] = soap->dime.flags & 0xF0;
  tmp[2] = (char)(optlen >> 8);
  tmp[3] = (char)(optlen & 0xFF);
  tmp[4] = (char)(idlen >> 8);
  tmp[5] = (char)(idlen & 0xFF);
  tmp[6] = (char)(typelen >> 8);
  tmp[7] = (char)(typelen & 0xFF);
  tmp[8] = (char)(soap->dime.size >> 24);
  tmp[9] = (char)((soap->dime.size >> 16) & 0xFF);
  tmp[10] = (char)((soap->dime.size >> 8) & 0xFF);
  tmp[11] = (char)(soap->dime.size & 0xFF);
  if (soap_send_raw(soap, (char*)tmp, 12)
   || soap_putdimefield(soap, soap->dime.options, optlen)
   || soap_putdimefield(soap, soap->dime.id, idlen)
   || soap_putdimefield(soap, soap->dime.type, typelen))
    return soap->error;
  return SOAP_OK;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
movq 0x19268(%rdi), %rax
testq %rax, %rax
je 0x47dc2
movzwl 0x2(%rax), %eax
rolw $0x8, %ax
movzwl %ax, %ebx
addq $0x4, %rbx
jmp 0x47dc4
xorl %ebx, %ebx
movq 0x19258(%r14), %rdi
testq %rdi, %rdi
je 0x47de4
callq 0x3110
movl $0xffff, %r15d          # imm = 0xFFFF
cmpq %r15, %rax
cmovbq %rax, %r15
jmp 0x47de7
xorl %r15d, %r15d
movq 0x19260(%r14), %rdi
testq %rdi, %rdi
je 0x47e06
callq 0x3110
movl $0xffff, %edx           # imm = 0xFFFF
cmpq %rdx, %rax
cmovbq %rax, %rdx
jmp 0x47e08
xorl %edx, %edx
movb 0x19248(%r14), %al
movl %eax, %ecx
andb $0x7, %cl
orb $0x8, %cl
leaq 0xc(%rsp), %rsi
movb %cl, (%rsi)
andb $-0x10, %al
movb %al, 0x1(%rsi)
movb %bh, 0xe(%rsp)
movb %bl, 0x3(%rsi)
movq %r15, %rax
movb %ah, 0x10(%rsp)
movb %al, 0x5(%rsi)
movb %dh, 0x12(%rsp)
movq %rdx, %r12
movb %dl, 0x7(%rsi)
movl 0x19230(%r14), %eax
bswapl %eax
movl %eax, 0x8(%rsi)
movl $0xc, %edx
movq %r14, %rdi
callq 0x376e8
testl %eax, %eax
jne 0x47e9d
movq 0x19268(%r14), %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x47eb4
testl %eax, %eax
jne 0x47e9d
movq 0x19258(%r14), %rsi
movq %r14, %rdi
movq %r15, %rdx
callq 0x47eb4
testl %eax, %eax
jne 0x47e9d
movq 0x19260(%r14), %rsi
movq %r14, %rdi
movq %r12, %rdx
callq 0x47eb4
testl %eax, %eax
je 0x47eb0
movl 0x19214(%r14), %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
xorl %eax, %eax
jmp 0x47ea4
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_getdimefield
static char *
soap_getdimefield(struct soap *soap, size_t n)
{ register soap_wchar c;
  register size_t i;
  register char *s;
  register char *p = NULL;
  if (n)
  { p = (char*)soap_malloc(soap, n + 1);
    if (p)
    { s = p;
      for (i = n; i > 0; i--)
      { if ((int)(c = soap_get1(soap)) == EOF)
        { soap->error = SOAP_EOF;
          return NULL;
        }
        *s++ = (char)c;
      }
      *s = '\0';
      if ((soap->error = soap_move(soap, -(long)n&3)))
        return NULL;
    }
    else
      soap->error = SOAP_EOM;
  }
  return p;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
testq %rsi, %rsi
je 0x4817a
movq %rsi, %r15
movq %rdi, %rbx
incq %rsi
callq 0x39095
testq %rax, %rax
je 0x4817f
movq %rax, %r14
xorl %r12d, %r12d
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq 0x60f0(%rbx), %rax
cmpq 0x60f8(%rbx), %rax
jb 0x48124
movq %rbx, %rdi
callq 0x37dbb
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
testl %eax, %eax
jne 0x4813e
movq 0x60f0(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60f0(%rbx)
movzbl 0x6138(%rbx,%rax), %ecx
cmpl $-0x1, %ecx
je 0x48184
movb %cl, (%r14,%r12)
incq %r12
cmpq %r12, %r15
jne 0x48103
movb $0x0, (%r14,%r12)
negl %r15d
andl $0x3, %r15d
je 0x48176
incq %r15
movq %rbx, %rdi
callq 0x37f8a
cmpl $-0x1, %eax
je 0x48184
decq %r15
cmpq $0x2, %r15
jge 0x48160
xorl %ebp, %ebp
jmp 0x48187
xorl %r14d, %r14d
jmp 0x4818d
movl $0x14, %ebp
xorl %r14d, %r14d
movl %ebp, 0x19214(%rbx)
movq %r14, %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_set_mime_attachment
SOAP_FMAC2
soap_set_mime_attachment(struct soap *soap, char *ptr, size_t size, enum soap_mime_encoding encoding, const char *type, const char *id, const char *location, const char *description)
{ struct soap_multipart *content = soap_new_multipart(soap, &soap->mime.first, &soap->mime.last, ptr, size);
  if (!content)
    return SOAP_EOM;
  content->id = soap_strdup(soap, id);
  content->type = soap_strdup(soap, type);
  content->encoding = encoding;
  content->location = soap_strdup(soap, location);
  content->description = soap_strdup(soap, description);
  return SOAP_OK;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r9, %r12
movq %r8, %r15
movl %ecx, %ebp
movq %rdx, %r8
movq %rsi, %rcx
movq %rdi, %rbx
leaq 0x192a0(%rdi), %rsi
leaq 0x192a8(%rdi), %rdx
callq 0x3f886
testq %rax, %rax
je 0x484e4
movq %rax, %r14
movq 0x40(%rsp), %r13
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3a567
movq %rax, 0x18(%r14)
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3a567
movq %rax, 0x20(%r14)
movl %ebp, 0x30(%r14)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x3a567
movq %rax, 0x38(%r14)
movq %rbx, %rdi
movq 0x48(%rsp), %rsi
callq 0x3a567
movq %rax, 0x40(%r14)
xorl %eax, %eax
jmp 0x484e9
movl $0x14, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq