LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_element_result
SOAP_FMAC2
soap_element_result(struct soap *soap, const char *tag)
{ if (soap->version == 2 && soap->encodingStyle)
  { if (soap_element(soap, "SOAP-RPC:result", 0, NULL)
     || soap_attribute(soap, "xmlns:SOAP-RPC", soap_rpc)
     || soap_element_start_end_out(soap, NULL)
     || soap_string_out(soap, tag, 0)
     || soap_element_end_out(soap, "SOAP-RPC:result"))
      return soap->error;
  }
  return SOAP_OK;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
xorl %ebp, %ebp
cmpw $0x2, 0x2(%rdi)
jne 0x42a16
movq %rdi, %rbx
cmpq $0x0, 0x38(%rdi)
je 0x42a16
movq %rsi, %r14
leaq 0xfc9b(%rip), %rsi      # 0x5264d
movq %rbx, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x41688
testl %eax, %eax
jne 0x42a10
leaq 0xfc94(%rip), %rsi      # 0x5265d
leaq 0xf7e0(%rip), %rdx      # 0x521b0
movq %rbx, %rdi
callq 0x41d3f
testl %eax, %eax
jne 0x42a10
movq %rbx, %rdi
xorl %esi, %esi
callq 0x41eb7
testl %eax, %eax
jne 0x42a10
xorl %ebp, %ebp
movq %rbx, %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x42642
testl %eax, %eax
jne 0x42a10
leaq 0xfc49(%rip), %rsi      # 0x5264d
movq %rbx, %rdi
callq 0x3f6ed
testl %eax, %eax
je 0x42a16
movl 0x19214(%rbx), %ebp
movl %ebp, %eax
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_attr_value
SOAP_FMAC1
const char *
SOAP_FMAC2
soap_attr_value(struct soap *soap, const char *name, int flag)
{ register struct soap_attribute *tp;
  if (*name == '-')
    return SOAP_STR_EOS;
  for (tp = soap->attributes; tp; tp = tp->next)
  { if (tp->visible && !soap_match_tag(soap, tp->name, name))
      break;
  }
  if (tp)
  { if (flag == 2 && (soap->mode & SOAP_XML_STRICT))
      soap->error = SOAP_PROHIBITED;
    else
      return tp->value;
  }
  else if (flag == 1 && (soap->mode & SOAP_XML_STRICT))
    soap->error = SOAP_REQUIRED;
  else
    soap->error = SOAP_OK;
  return NULL;
}

// Assembly:
cmpb $0x2d, (%rsi)
jne 0x42c0c
leaq 0xf556(%rip), %rax      # 0x52161
retq
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rdi, %rbx
movq 0x18580(%rdi), %r15
testq %r15, %r15
je 0x42c4a
movq %rsi, %r14
cmpw $0x0, 0x20(%r15)
je 0x42c42
leaq 0x22(%r15), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0x3b608
testl %eax, %eax
je 0x42c61
movq (%r15), %r15
testq %r15, %r15
jne 0x42c27
cmpl $0x1, %ebp
jne 0x42c55
testb $0x10, 0x5(%rbx)
jne 0x42c72
movl $0x0, 0x19214(%rbx)
jmp 0x42c88
cmpl $0x2, %ebp
jne 0x42c6c
testb $0x10, 0x5(%rbx)
jne 0x42c7e
movq 0x8(%r15), %rax
jmp 0x42c8a
movl $0x2a, 0x19214(%rbx)
jmp 0x42c88
movl $0x2b, 0x19214(%rbx)
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_getattrval
static int
soap_getattrval(struct soap *soap, char *s, size_t n, soap_wchar d)
{ register size_t i;
  for (i = 0; i < n; i++)
  { register soap_wchar c = soap_get(soap);
    switch (c)
    {
    case SOAP_TT:
      *s++ = '<';
      soap_unget(soap, '/');
      break;
    case SOAP_LT:
      *s++ = '<';
      break;
    case SOAP_GT:
      if (d == ' ')
      { soap_unget(soap, c);
        *s = '\0';
        return SOAP_OK;
      }
      *s++ = '>';
      break;
    case SOAP_QT:
      if (c == d)
      { *s = '\0';
        return SOAP_OK;
      }
      *s++ = '"';
      break;
    case SOAP_AP:
      if (c == d)
      { *s = '\0';
        return SOAP_OK;
      }
      *s++ = '\'';
      break;
    case '\t':
    case '\n':
    case '\r':
    case ' ':
    case '/':
      if (d == ' ')
      { soap_unget(soap, c);
        *s = '\0';
        return SOAP_OK;
      }
    default:
      if ((int)c == EOF)
        return soap->error = SOAP_EOF;
      *s++ = (char)c;
    }
  }
  return soap->error = SOAP_EOM;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r14
testq %rdx, %rdx
je 0x42d42
movl %ecx, %ebp
movq %rdx, %r15
movq %rsi, %rbx
xorl %r12d, %r12d
leaq 0xf2d2(%rip), %r13      # 0x51fa0
movq %r14, %rdi
callq 0x38565
leal 0x6(%rax), %ecx
cmpl $0x13, %ecx
ja 0x42cf4
movslq (%r13,%rcx,4), %rcx
addq %r13, %rcx
jmpq *%rcx
cmpl $-0x6, %ebp
je 0x42d5b
movb $0x27, (%rbx,%r12)
jmp 0x42d07
cmpl $0x20, %eax
je 0x42cfe
cmpl $0x2f, %eax
jne 0x42d03
cmpl $0x20, %ebp
je 0x42d54
movb %al, (%rbx,%r12)
incq %r12
cmpq %r12, %r15
jne 0x42cce
jmp 0x42d42
movb $0x3c, (%rbx,%r12)
jmp 0x42d07
cmpl $-0x5, %ebp
je 0x42d5b
movb $0x22, (%rbx,%r12)
jmp 0x42d07
cmpl $0x20, %ebp
je 0x42d83
movb $0x3e, (%rbx,%r12)
jmp 0x42d07
movb $0x3c, (%rbx,%r12)
movl $0x2f, 0x6100(%r14)
jmp 0x42d07
movl $0x14, 0x19214(%r14)
movl $0x14, %eax
jmp 0x42d62
movl %eax, 0x6100(%r14)
movb $0x0, (%rbx,%r12)
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0xffffffff, 0x19214(%r14) # imm = 0xFFFFFFFF
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x42d62
movl $0xfffffffc, 0x6100(%r14) # imm = 0xFFFFFFFC
jmp 0x42d5b
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_revert
SOAP_FMAC2
soap_revert(struct soap *soap)
{ if (!soap->peeked)
  { soap->peeked = 1;
    if (soap->body)
      soap->level--;
  }
  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Reverting last element (level=%u)\n", soap->level));
}

// Assembly:
cmpw $0x0, 0x18594(%rdi)
je 0x42dca
retq
movw $0x1, 0x18594(%rdi)
cmpw $0x0, 0x6106(%rdi)
je 0x42dc9
decl 0x6108(%rdi)
retq
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_wstring_out
SOAP_FMAC2
soap_wstring_out(struct soap *soap, const wchar_t *s, int flag)
{ const char *t;
  char tmp;
  register soap_wchar c;
#ifdef WITH_DOM
  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
  { wchar_t *r = (wchar_t*)s;
    int n = 1;
    while (*r++)
      n++;
    soap->dom->wide = r = (wchar_t*)soap_malloc(soap, n * sizeof(wchar_t));
    while (n--)
      *r++ = *s++;
    return SOAP_OK;
  }
#endif
  while ((c = *s++))
  { switch (c)
    { 
    case 0x09:
      if (flag)
        t = "&#x9;";
      else
        t = "\t";
      break;
    case 0x0A:
      if (flag || !(soap->mode & SOAP_XML_CANONICAL))
        t = "&#xA;";
      else
        t = "\n";
      break;
    case 0x0D:
      t = "&#xD;";
      break;
    case '&':
      t = "&amp;";
      break;
    case '<':
      t = "&lt;";
      break;
    case '>':
      if (flag)
        t = ">";
      else
        t = "&gt;";
      break;
    case '"':
      if (flag)
        t = "&quot;";
      else
        t = "\"";
      break;
    default:
      if (c >= 0x20 && c < 0x80)
      { tmp = (char)c;
        if (soap_send_raw(soap, &tmp, 1))
          return soap->error;
      }
      else if (soap_pututf8(soap, (unsigned long)c))
        return soap->error;
      continue;
    }
    if (soap_send(soap, t))
      return soap->error;
  }
  return SOAP_OK;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r15
movq %rdi, %r14
movl %edx, 0x4(%rsp)
testl %edx, %edx
leaq 0xed7e(%rip), %rax      # 0x527ee
leaq 0xeca7(%rip), %rbp      # 0x5271e
cmoveq %rax, %rbp
leaq 0xec97(%rip), %rax      # 0x52719
leaq 0xeba5(%rip), %r12      # 0x5262e
cmoveq %rax, %r12
leaq 0xec9d(%rip), %rax      # 0x52731
leaq 0xec61(%rip), %rbx      # 0x526fc
cmoveq %rax, %rbx
movslq (%r15), %rsi
addq $0x4, %r15
cmpq $0x21, %rsi
jle 0x43acb
cmpl $0x3b, %esi
jg 0x43ae3
movq %rbp, %r13
cmpl $0x22, %esi
je 0x43b43
cmpl $0x26, %esi
jne 0x43afb
leaq 0xec45(%rip), %r13      # 0x5270e
jmp 0x43b43
cmpl $0x9, %esi
jle 0x43af2
cmpl $0xa, %esi
je 0x43b17
leaq 0xec2c(%rip), %r13      # 0x52708
cmpl $0xd, %esi
je 0x43b43
jmp 0x43afb
cmpl $0x3c, %esi
je 0x43b3c
movq %r12, %r13
cmpl $0x3e, %esi
je 0x43b43
jmp 0x43afb
movq %rbx, %r13
je 0x43b43
testl %esi, %esi
je 0x43b74
leal -0x20(%rsi), %eax
cmpl $0x5f, %eax
ja 0x43b63
movb %sil, 0x3(%rsp)
movl $0x1, %edx
movq %r14, %rdi
leaq 0x3(%rsp), %rsi
jmp 0x43b54
leaq 0xebe4(%rip), %r13      # 0x52702
cmpl $0x0, 0x4(%rsp)
jne 0x43b43
testb $0x1, 0x6(%r14)
leaq 0xebd1(%rip), %r13      # 0x52702
je 0x43b43
leaq 0xe9e9(%rip), %r13      # 0x52523
jmp 0x43b43
leaq 0xebd1(%rip), %r13      # 0x52714
movq %r13, %rdi
callq 0x3110
movq %r14, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x379c8
testl %eax, %eax
je 0x43a9f
jmp 0x43b6d
movq %r14, %rdi
callq 0x38c74
jmp 0x43b59
movl 0x19214(%r14), %esi
movl %esi, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_outint
SOAP_FMAC2
soap_outint(struct soap *soap, const char *tag, int id, const int *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_long2s(soap, (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 0x3f149
movq %r14, %rdi
movq %rbx, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x3f670
testl %eax, %eax
jne 0x44056
movslq (%r15), %rdx
leaq 0x16538(%r14), %r15
leaq 0xe6ff(%rip), %rsi      # 0x5273a
movq %r15, %rdi
xorl %eax, %eax
callq 0x3360
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x42642
testl %eax, %eax
je 0x44069
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 0x3f6ed
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_s2int
SOAP_FMAC2
soap_s2int(struct soap *soap, const char *s, int *p)
{ if (s)
  { char *r;
#ifndef WITH_NOIO
#ifndef WITH_LEAN
    soap_reset_errno;
#endif
#endif
    *p = (int)soap_strtol(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 0x440e5
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 0x3230
movl %eax, (%r12)
movq (%r13), %rax
cmpq %r15, %rax
jne 0x440d0
testb $0x10, 0x5(%rbx)
jne 0x440db
cmpb $0x0, (%rax)
jne 0x440db
cmpl $0x22, (%r14)
jne 0x440e5
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_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_inint
SOAP_FMAC1
int *
SOAP_FMAC2
soap_inint(struct soap *soap, const char *tag, 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, ":int")
   && soap_match_tag(soap, soap->type, ":short")
   && soap_match_tag(soap, soap->type, ":byte"))
  { soap->error = SOAP_TYPE;
    soap_revert(soap);
    return NULL;
  }
#endif
  p = (int*)soap_id_enter(soap, soap->id, p, t, sizeof(int), 0, NULL, NULL, NULL);
  if (*soap->href)
    p = (int*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(int), 0, NULL);
  else if (p)
  { if (soap_s2int(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 0x3a388
testl %eax, %eax
jne 0x44278
cmpb $0x0, 0x17538(%rbx)
je 0x441cc
leaq 0x17538(%rbx), %r15
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3b608
testl %eax, %eax
je 0x441cc
leaq 0xca64(%rip), %rdx      # 0x50bbb
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b608
testl %eax, %eax
je 0x441cc
leaq 0xe5c6(%rip), %rdx      # 0x52733
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b608
testl %eax, %eax
je 0x441cc
leaq 0xca2f(%rip), %rdx      # 0x50bb2
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b608
testl %eax, %eax
je 0x441cc
movl $0x4, 0x19214(%rbx)
cmpw $0x0, 0x18594(%rbx)
jne 0x44275
movw $0x1, 0x18594(%rbx)
cmpw $0x0, 0x6106(%rbx)
je 0x44275
decl 0x6108(%rbx)
jmp 0x44275
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 0x3ff41
movq %rax, %r15
cmpb $0x0, 0x17138(%rbx)
je 0x44256
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 0x3fdf4
movq %rax, %r15
cmpw $0x0, 0x6106(%rbx)
je 0x44278
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3a563
testl %eax, %eax
jne 0x44275
jmp 0x44278
testq %r15, %r15
je 0x4428a
movq %rbx, %rdi
callq 0x4428f
movq %rbx, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x4407f
testl %eax, %eax
je 0x4423b
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 0x4423b
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_value
SOAP_FMAC1
const char *
SOAP_FMAC2
soap_value(struct soap *soap)
{ register size_t i;
  register soap_wchar c = 0;
  register char *s = soap->tmpbuf;
  if (!soap->body)
    return SOAP_STR_EOS;
  do c = soap_get(soap);
  while (soap_blank(c));
  for (i = 0; i < sizeof(soap->tmpbuf) - 1; i++)
  { if (c == SOAP_TT || c == SOAP_LT || (int)c == EOF)
      break;
    *s++ = (char)c;
    c = soap_get(soap);
  }
  for (s--; i > 0; i--, s--)
  { if (!soap_blank(*s))
      break;
  }
  s[1] = '\0';
  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Element content value='%s'\n", soap->tmpbuf));
  if (c == SOAP_TT || c == SOAP_LT || (int)c == EOF)
    soap_unget(soap, c);
  else if (soap->mode & SOAP_XML_STRICT)
  { soap->error = SOAP_LENGTH;
    return NULL;
  }
#ifdef WITH_DOM
  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
    soap->dom->data = soap_strdup(soap, soap->tmpbuf);
#endif
  return soap->tmpbuf; /* return non-null pointer */
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
cmpw $0x0, 0x6106(%rdi)
je 0x442c2
movq %rdi, %r14
leaq 0x16538(%rdi), %rbx
movq %r14, %rdi
callq 0x38565
cmpl $0x21, %eax
jb 0x442ab
cmpl $-0x4, %eax
jbe 0x442cb
movb $0x0, (%rbx)
jmp 0x44318
leaq 0xde98(%rip), %rbx      # 0x52161
jmp 0x4431f
xorl %ecx, %ecx
movq %rbx, %r15
movq %rcx, %r12
movb %al, (%r15)
incq %r15
movq %r14, %rdi
callq 0x38565
leaq 0x1(%r12), %rcx
cmpq $0x3fd, %r12            # imm = 0x3FD
ja 0x442f4
cmpl $-0x4, %eax
jbe 0x442d0
movq %r15, %rdx
subq %rcx, %rdx
negq %rcx
cmpb $0x21, -0x1(%r15)
jae 0x4430f
decq %r15
incq %rcx
jne 0x442fd
movq %rdx, %r15
movb $0x0, (%r15)
cmpl $-0x3, %eax
jb 0x4432e
movl %eax, 0x6100(%r14)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
testb $0x10, 0x5(%r14)
je 0x4431f
movl $0x2d, 0x19214(%r14)
xorl %ebx, %ebx
jmp 0x4431f
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_outlong
SOAP_FMAC2
soap_outlong(struct soap *soap, const char *tag, int id, const 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_long2s(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 0x3f149
movq %r14, %rdi
movq %rbx, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x3f670
testl %eax, %eax
jne 0x443a5
movq (%r15), %rdx
leaq 0x16538(%r14), %r15
leaq 0xe3b0(%rip), %rsi      # 0x5273a
movq %r15, %rdi
xorl %eax, %eax
callq 0x3360
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x42642
testl %eax, %eax
je 0x443b8
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 0x3f6ed
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_s2long
SOAP_FMAC2
soap_s2long(struct soap *soap, const char *s, long *p)
{ if (s)
  { char *r;
#ifndef WITH_NOIO
#ifndef WITH_LEAN
    soap_reset_errno;
#endif
#endif
    *p = soap_strtol(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 0x44434
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 0x3230
movq %rax, (%r12)
movq (%r13), %rax
cmpq %r15, %rax
jne 0x4441f
testb $0x10, 0x5(%rbx)
jne 0x4442a
cmpb $0x0, (%rax)
jne 0x4442a
cmpl $0x22, (%r14)
jne 0x44434
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_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_inlong
SOAP_FMAC1
long *
SOAP_FMAC2
soap_inlong(struct soap *soap, const char *tag, 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, ":int")
   && soap_match_tag(soap, soap->type, ":short")
   && soap_match_tag(soap, soap->type, ":byte"))
  { soap->error = SOAP_TYPE;
    soap_revert(soap);
    return NULL;
  }
#endif
  p = (long*)soap_id_enter(soap, soap->id, p, t, sizeof(long), 0, NULL, NULL, NULL);
  if (*soap->href)
    p = (long*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(long), 0, NULL);
  else if (p)
  { if (soap_s2long(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 0x3a388
testl %eax, %eax
jne 0x445c7
cmpb $0x0, 0x17538(%rbx)
je 0x4451b
leaq 0x17538(%rbx), %r15
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3b608
testl %eax, %eax
je 0x4451b
leaq 0xc715(%rip), %rdx      # 0x50bbb
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b608
testl %eax, %eax
je 0x4451b
leaq 0xe277(%rip), %rdx      # 0x52733
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b608
testl %eax, %eax
je 0x4451b
leaq 0xc6e0(%rip), %rdx      # 0x50bb2
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b608
testl %eax, %eax
je 0x4451b
movl $0x4, 0x19214(%rbx)
cmpw $0x0, 0x18594(%rbx)
jne 0x445c4
movw $0x1, 0x18594(%rbx)
cmpw $0x0, 0x6106(%rbx)
je 0x445c4
decl 0x6108(%rbx)
jmp 0x445c4
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 0x3ff41
movq %rax, %r15
cmpb $0x0, 0x17138(%rbx)
je 0x445a5
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 0x3fdf4
movq %rax, %r15
cmpw $0x0, 0x6106(%rbx)
je 0x445c7
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3a563
testl %eax, %eax
jne 0x445c4
jmp 0x445c7
testq %r15, %r15
je 0x445d9
movq %rbx, %rdi
callq 0x4428f
movq %rbx, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x443ce
testl %eax, %eax
je 0x4458a
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 0x4458a
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_outLONG64
SOAP_FMAC2
soap_outLONG64(struct soap *soap, const char *tag, int id, const LONG64 *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_LONG642s(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 0x3f149
movq %r14, %rdi
movq %rbx, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x3f670
testl %eax, %eax
jne 0x44660
movq (%r15), %rdx
leaq 0x16538(%r14), %r15
leaq 0xe0f5(%rip), %rsi      # 0x5273a
movq %r15, %rdi
xorl %eax, %eax
callq 0x3360
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x42642
testl %eax, %eax
je 0x44673
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 0x3f6ed
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_outbyte
SOAP_FMAC2
soap_outbyte(struct soap *soap, const char *tag, int id, const 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_long2s(soap, (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 0x3f149
movq %r14, %rdi
movq %rbx, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x3f670
testl %eax, %eax
jne 0x44991
movsbq (%r15), %rdx
leaq 0x16538(%r14), %r15
leaq 0xddc4(%rip), %rsi      # 0x5273a
movq %r15, %rdi
xorl %eax, %eax
callq 0x3360
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x42642
testl %eax, %eax
je 0x449a4
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 0x3f6ed
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_s2byte
SOAP_FMAC2
soap_s2byte(struct soap *soap, const char *s, char *p)
{ if (s)
  { long n;
    char *r;
    n = soap_strtol(s, &r, 10);
    if (s == r || *r || n < -128 || n > 127)
      soap->error = SOAP_TYPE;
    *p = (char)n;
  }
  return soap->error;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
testq %rsi, %rsi
je 0x44a10
movq %rdx, %r14
movq %rsi, %r15
movq %rsp, %r12
movq %rsi, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x3230
movq (%r12), %rcx
cmpq %r15, %rcx
je 0x44a03
cmpb $0x0, (%rcx)
setne %cl
movsbq %al, %rdx
cmpq %rax, %rdx
setne %dl
orb %cl, %dl
cmpb $0x1, %dl
jne 0x44a0d
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_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_inbyte
SOAP_FMAC1
char *
SOAP_FMAC2
soap_inbyte(struct soap *soap, const char *tag, 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, ":byte"))
  { soap->error = SOAP_TYPE;
    soap_revert(soap);
    return NULL;
  }
#endif
  p = (char*)soap_id_enter(soap, soap->id, p, t, sizeof(char), 0, NULL, NULL, NULL);
  if (*soap->href)
    p = (char*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(char), 0, NULL);
  else if (p)
  { if (soap_s2byte(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 0x3a388
testl %eax, %eax
jne 0x44b71
cmpb $0x0, 0x17538(%rbx)
je 0x44ac5
leaq 0x17538(%rbx), %r15
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3b608
testl %eax, %eax
je 0x44ac5
leaq 0xc136(%rip), %rdx      # 0x50bb2
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b608
testl %eax, %eax
je 0x44ac5
movl $0x4, 0x19214(%rbx)
cmpw $0x0, 0x18594(%rbx)
jne 0x44b6e
movw $0x1, 0x18594(%rbx)
cmpw $0x0, 0x6106(%rbx)
je 0x44b6e
decl 0x6108(%rbx)
jmp 0x44b6e
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 0x3ff41
movq %rax, %r15
cmpb $0x0, 0x17138(%rbx)
je 0x44b4f
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 0x3fdf4
movq %rax, %r15
cmpw $0x0, 0x6106(%rbx)
je 0x44b71
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3a563
testl %eax, %eax
jne 0x44b6e
jmp 0x44b71
testq %r15, %r15
je 0x44b83
movq %rbx, %rdi
callq 0x4428f
movq %rbx, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x449ba
testl %eax, %eax
je 0x44b34
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 0x44b34
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_outshort
SOAP_FMAC2
soap_outshort(struct soap *soap, const char *tag, int id, const 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_long2s(soap, (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 0x3f149
movq %r14, %rdi
movq %rbx, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x3f670
testl %eax, %eax
jne 0x44c0b
movswq (%r15), %rdx
leaq 0x16538(%r14), %r15
leaq 0xdb4a(%rip), %rsi      # 0x5273a
movq %r15, %rdi
xorl %eax, %eax
callq 0x3360
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x42642
testl %eax, %eax
je 0x44c1e
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 0x3f6ed
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_s2short
SOAP_FMAC2
soap_s2short(struct soap *soap, const char *s, short *p)
{ if (s)
  { long n;
    char *r;
    n = soap_strtol(s, &r, 10);
    if (s == r || *r || n < -32768 || n > 32767)
      soap->error = SOAP_TYPE;
    *p = (short)n;
  }
  return soap->error;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
testq %rsi, %rsi
je 0x44c8b
movq %rdx, %r14
movq %rsi, %r15
movq %rsp, %r12
movq %rsi, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x3230
movq (%r12), %rcx
cmpq %r15, %rcx
je 0x44c7d
cmpb $0x0, (%rcx)
setne %cl
movswq %ax, %rdx
cmpq %rax, %rdx
setne %dl
orb %cl, %dl
cmpb $0x1, %dl
jne 0x44c87
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_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_inshort
SOAP_FMAC1
short *
SOAP_FMAC2
soap_inshort(struct soap *soap, const char *tag, 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, ":short")
   && soap_match_tag(soap, soap->type, ":byte"))
  { soap->error = SOAP_TYPE;
    soap_revert(soap);
    return NULL;
  }
#endif
  p = (short*)soap_id_enter(soap, soap->id, p, t, sizeof(short), 0, NULL, NULL, NULL);
  if (*soap->href)
    p = (short*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(short), 0, NULL);
  else if (p)
  { if (soap_s2short(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 0x3a388
testl %eax, %eax
jne 0x44e02
cmpb $0x0, 0x17538(%rbx)
je 0x44d56
leaq 0x17538(%rbx), %r15
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3b608
testl %eax, %eax
je 0x44d56
leaq 0xda3c(%rip), %rdx      # 0x52733
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b608
testl %eax, %eax
je 0x44d56
leaq 0xbea5(%rip), %rdx      # 0x50bb2
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b608
testl %eax, %eax
je 0x44d56
movl $0x4, 0x19214(%rbx)
cmpw $0x0, 0x18594(%rbx)
jne 0x44dff
movw $0x1, 0x18594(%rbx)
cmpw $0x0, 0x6106(%rbx)
je 0x44dff
decl 0x6108(%rbx)
jmp 0x44dff
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 0x3ff41
movq %rax, %r15
cmpb $0x0, 0x17138(%rbx)
je 0x44de0
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 0x3fdf4
movq %rax, %r15
cmpw $0x0, 0x6106(%rbx)
je 0x44e02
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3a563
testl %eax, %eax
jne 0x44dff
jmp 0x44e02
testq %r15, %r15
je 0x44e14
movq %rbx, %rdi
callq 0x4428f
movq %rbx, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x44c34
testl %eax, %eax
je 0x44dc5
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 0x44dc5
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_float2s
SOAP_FMAC1
const char*
SOAP_FMAC2
soap_float2s(struct soap *soap, float n)
{ char *s;
  if (soap_isnan((double)n))
    return "NaN";
  if (soap_ispinff(n))
    return "INF";
  if (soap_isninff(n))
    return "-INF";
  s = soap->tmpbuf;
#if defined(HAVE_SPRINTF_L)
  sprintf_l(s, soap->c_locale, soap->float_format, n);
#else
  sprintf(s, soap->float_format, n);
  s = strchr(s, ',');	/* convert decimal comma to DP */
  if (s)
    *s = '.';
#endif
  return soap->tmpbuf;
}

// Assembly:
pushq %rbx
ucomiss %xmm0, %xmm0
jp 0x44e7d
ucomiss 0xd3e2(%rip), %xmm0     # 0x52208
jb 0x44e31
leaq 0xd972(%rip), %rbx      # 0x527a1
jmp 0x44e78
movss 0xd3d3(%rip), %xmm1     # 0x5220c
ucomiss %xmm0, %xmm1
jb 0x44e47
leaq 0xd956(%rip), %rbx      # 0x5279b
jmp 0x44e78
movq %rdi, %rbx
cvtss2sd %xmm0, %xmm0
movq 0x10(%rdi), %rsi
addq $0x16538, %rbx          # imm = 0x16538
movq %rbx, %rdi
movb $0x1, %al
callq 0x3360
movq %rbx, %rdi
movl $0x2c, %esi
callq 0x3130
testq %rax, %rax
je 0x44e78
movb $0x2e, (%rax)
movq %rbx, %rax
popq %rbx
retq
leaq 0xd913(%rip), %rbx      # 0x52797
jmp 0x44e78
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_outfloat
SOAP_FMAC2
soap_outfloat(struct soap *soap, const char *tag, int id, const float *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_float2s(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 0x3f149
movq %r14, %rdi
movq %rbx, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x3f670
testl %eax, %eax
jne 0x44ed9
movss (%r15), %xmm0
movq %r14, %rdi
callq 0x44e19
movq %r14, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x42642
testl %eax, %eax
je 0x44eec
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 0x3f6ed
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_s2float
SOAP_FMAC2
soap_s2float(struct soap *soap, const char *s, float *p)
{ if (s)
  { if (!*s)
      return soap->error = SOAP_TYPE;
    if (!soap_tag_cmp(s, "INF"))
      *p = FLT_PINFTY;
    else if (!soap_tag_cmp(s, "+INF"))
      *p = FLT_PINFTY;
    else if (!soap_tag_cmp(s, "-INF"))
      *p = FLT_NINFTY;
    else if (!soap_tag_cmp(s, "NaN"))
      *p = FLT_NAN;
    else
    {
/* On some systems strtof requires -std=c99 or does not even link: so we try to use strtod first */
#if defined(HAVE_STRTOD_L)
      char *r;
      *p = (float)strtod_l(s, &r, soap->c_locale);
      if (*r)
#elif defined(HAVE_STRTOD)
      char *r;
      *p = (float)strtod(s, &r);
      if (*r)
#elif defined(HAVE_STRTOF_L)
      char *r;
      *p = strtof_l((char*)s, &r, soap->c_locale);
      if (*r)
#elif defined(HAVE_STRTOF)
      char *r;
      *p = strtof((char*)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, "%g", p) != 1)
          soap->error = SOAP_TYPE;
#elif defined(HAVE_SSCANF)
        if (sscanf(s, "%g", 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 0x44fc5
movq %rsi, %r15
cmpb $0x0, (%rsi)
je 0x44fcd
movq %rdx, %r14
leaq 0xd875(%rip), %rsi      # 0x527a1
movq %r15, %rdi
callq 0x382f9
testl %eax, %eax
je 0x44fbe
leaq 0xd85d(%rip), %rsi      # 0x527a0
movq %r15, %rdi
callq 0x382f9
testl %eax, %eax
je 0x44fbe
leaq 0xd845(%rip), %rsi      # 0x5279b
movq %r15, %rdi
callq 0x382f9
testl %eax, %eax
je 0x44fe8
leaq 0xd82a(%rip), %rsi      # 0x52797
movq %r15, %rdi
callq 0x382f9
testl %eax, %eax
je 0x44ff1
movq %rsp, %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x30b0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, (%r14)
movq (%r12), %rax
cmpb $0x0, (%rax)
je 0x44fc5
leaq 0xd805(%rip), %rsi      # 0x527a5
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x32a0
cmpl $0x1, %eax
je 0x44fc5
movl $0x4, 0x19214(%rbx)
jmp 0x44fc5
movl $0x7f800000, (%r14)     # imm = 0x7F800000
movl 0x19214(%rbx), %eax
jmp 0x44fdc
movl $0x4, 0x19214(%rbx)
movl $0x4, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movl $0xff800000, (%r14)     # imm = 0xFF800000
jmp 0x44fc5
movl $0xffffffff, (%r14)     # imm = 0xFFFFFFFF
jmp 0x44fc5
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_infloat
SOAP_FMAC1
float *
SOAP_FMAC2
soap_infloat(struct soap *soap, const char *tag, float *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 = (float*)soap_id_enter(soap, soap->id, p, t, sizeof(float), 0, NULL, NULL, NULL);
  if (*soap->href)
    p = (float*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(float), 0, NULL);
  else if (p)
  { if (soap_s2float(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 0x3a388
testl %eax, %eax
jne 0x450f6
cmpb $0x0, 0x17538(%r14)
je 0x45048
movq %r14, %rdi
movq %r13, %rsi
callq 0x4510d
testl %eax, %eax
jne 0x450f3
leaq 0x16d38(%r14), %rsi
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
movl $0x4, %r8d
movq %r14, %rdi
movq %r12, %rdx
movl %ebp, %ecx
xorl %r9d, %r9d
callq 0x3ff41
movq %rax, %r15
cmpb $0x0, 0x17138(%r14)
je 0x450d4
leaq 0x17138(%r14), %rsi
movq $0x0, 0x10(%rsp)
movl $0x0, 0x8(%rsp)
movq $0x4, (%rsp)
movq %r14, %rdi
movq %r15, %rdx
xorl %ecx, %ecx
movl %ebp, %r8d
xorl %r9d, %r9d
callq 0x3fdf4
movq %rax, %r15
cmpw $0x0, 0x6106(%r14)
je 0x450f6
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3a563
testl %eax, %eax
jne 0x450f3
jmp 0x450f6
testq %r15, %r15
je 0x45108
movq %r14, %rdi
callq 0x4428f
movq %r14, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x44f02
testl %eax, %eax
je 0x450b8
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 0x450b8
// File: /workspace/github_c_makefile_star2_O3/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_double2s
SOAP_FMAC1
const char*
SOAP_FMAC2
soap_double2s(struct soap *soap, double n)
{ char *s;
  if (soap_isnan(n))
    return "NaN";
  if (soap_ispinfd(n))
    return "INF";
  if (soap_isninfd(n))
    return "-INF";
  s = soap->tmpbuf;
#if defined(HAVE_SPRINTF_L)
  sprintf_l(s, soap->c_locale, soap->double_format, n);
#else
  sprintf(s, soap->double_format, n);
  s = strchr(s, ',');	/* convert decimal comma to DP */
  if (s)
    *s = '.';
#endif
  return soap->tmpbuf;
}

// Assembly:
pushq %rbx
ucomisd %xmm0, %xmm0
jp 0x45363
ucomisd 0xcf01(%rip), %xmm0     # 0x52210
jb 0x4531a
leaq 0xd489(%rip), %rbx      # 0x527a1
jmp 0x4535e
movsd 0xcef6(%rip), %xmm1     # 0x52218
ucomisd %xmm0, %xmm1
jb 0x45331
leaq 0xd46c(%rip), %rbx      # 0x5279b
jmp 0x4535e
movq %rdi, %rbx
movq 0x18(%rdi), %rsi
addq $0x16538, %rbx          # imm = 0x16538
movq %rbx, %rdi
movb $0x1, %al
callq 0x3360
movq %rbx, %rdi
movl $0x2c, %esi
callq 0x3130
testq %rax, %rax
je 0x4535e
movb $0x2e, (%rax)
movq %rbx, %rax
popq %rbx
retq
leaq 0xd42d(%rip), %rbx      # 0x52797
jmp 0x4535e
// File: /workspace/github_c_makefile_star2_O3/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 0x454a9
movq %rsi, %r15
cmpb $0x0, (%rsi)
je 0x454b1
movq %rdx, %r14
leaq 0xd38f(%rip), %rsi      # 0x527a1
movq %r15, %rdi
callq 0x382f9
testl %eax, %eax
je 0x4549c
leaq 0xd37b(%rip), %rsi      # 0x527a0
movq %r15, %rdi
callq 0x382f9
testl %eax, %eax
je 0x4549c
leaq 0xd363(%rip), %rsi      # 0x5279b
movq %r15, %rdi
callq 0x382f9
testl %eax, %eax
je 0x454cc
leaq 0xd348(%rip), %rsi      # 0x52797
movq %r15, %rdi
callq 0x382f9
testl %eax, %eax
je 0x454d8
movq %rsp, %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x30b0
movsd %xmm0, (%r14)
movq (%r12), %rax
cmpb $0x0, (%rax)
je 0x454a9
leaq 0xd32a(%rip), %rsi      # 0x527a8
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x32a0
cmpl $0x1, %eax
je 0x454a9
movl $0x4, 0x19214(%rbx)
jmp 0x454a9
movabsq $0x7ff0000000000000, %rax # imm = 0x7FF0000000000000
movq %rax, (%r14)
movl 0x19214(%rbx), %eax
jmp 0x454c0
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 0x454a6
movq $-0x1, (%r14)
jmp 0x454a9
// File: /workspace/github_c_makefile_star2_O3/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 0x3a388
testl %eax, %eax
jne 0x455dd
cmpb $0x0, 0x17538(%r14)
je 0x4552f
movq %r14, %rdi
movq %r13, %rsi
callq 0x4510d
testl %eax, %eax
jne 0x455da
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 0x3ff41
movq %rax, %r15
cmpb $0x0, 0x17138(%r14)
je 0x455bb
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 0x3fdf4
movq %rax, %r15
cmpw $0x0, 0x6106(%r14)
je 0x455dd
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3a563
testl %eax, %eax
jne 0x455da
jmp 0x455dd
testq %r15, %r15
je 0x455ef
movq %r14, %rdi
callq 0x4428f
movq %r14, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x453e8
testl %eax, %eax
je 0x4559f
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 0x4559f
// File: /workspace/github_c_makefile_star2_O3/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 0x45715
movq %rdx, %r14
movq %rsi, %r15
movq %rsp, %r12
movq %rsi, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x3340
movq (%r12), %rcx
cmpq %r15, %rcx
je 0x45708
cmpb $0x0, (%rcx)
setne %cl
cmpq $0x100, %rax            # imm = 0x100
setae %dl
orb %cl, %dl
cmpb $0x1, %dl
jne 0x45712
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_O3/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 0x3a388
testl %eax, %eax
jne 0x45876
cmpb $0x0, 0x17538(%rbx)
je 0x457ca
leaq 0x17538(%rbx), %r15
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3b608
testl %eax, %eax
je 0x457ca
leaq 0xd02b(%rip), %rdx      # 0x527ac
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3b608
testl %eax, %eax
je 0x457ca
movl $0x4, 0x19214(%rbx)
cmpw $0x0, 0x18594(%rbx)
jne 0x45873
movw $0x1, 0x18594(%rbx)
cmpw $0x0, 0x6106(%rbx)
je 0x45873
decl 0x6108(%rbx)
jmp 0x45873
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 0x3ff41
movq %rax, %r15
cmpb $0x0, 0x17138(%rbx)
je 0x45854
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 0x3fdf4
movq %rax, %r15
cmpw $0x0, 0x6106(%rbx)
je 0x45876
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3a563
testl %eax, %eax
jne 0x45873
jmp 0x45876
testq %r15, %r15
je 0x45888
movq %rbx, %rdi
callq 0x4428f
movq %rbx, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x456c0
testl %eax, %eax
je 0x45839
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 0x45839
// File: /workspace/github_c_makefile_star2_O3/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 0x3f149
movq %r14, %rdi
movq %rbx, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x3f670
testl %eax, %eax
jne 0x4590f
movzwl (%r15), %edx
leaq 0x16538(%r14), %r15
leaq 0xcee2(%rip), %rsi      # 0x527d6
movq %r15, %rdi
xorl %eax, %eax
callq 0x3360
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x42642
testl %eax, %eax
je 0x45922
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 0x3f6ed
// File: /workspace/github_c_makefile_star2_O3/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 0x4598e
movq %rdx, %r14
movq %rsi, %r15
movq %rsp, %r12
movq %rsi, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x3340
movq (%r12), %rcx
cmpq %r15, %rcx
je 0x45980
cmpb $0x0, (%rcx)
setne %cl
cmpq $0x10000, %rax          # imm = 0x10000
setae %dl
orb %cl, %dl
cmpb $0x1, %dl
jne 0x4598a
movl $0x4, 0x19214(%rbx)
movw %ax, (%r14)
movl 0x19214(%rbx), %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq