LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/stdsoap2.c
// Function: soap_unlink
SOAP_FMAC2
soap_unlink(struct soap *soap, const void *p)
{ register char **q;
  register struct soap_clist **cp;
  if (!soap || !p)
    return;
  for (q = (char**)&soap->alist; *q; q = *(char***)q)
  { if (p == (void*)(*q - *(size_t*)(*q + sizeof(void*))))
    { *q = **(char***)q;
      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unlinked data %p\n", p));
#ifdef SOAP_MEM_DEBUG
      soap_track_unlink(soap, p);
#endif
      return;
    }
  }
  for (cp = &soap->clist; *cp; cp = &(*cp)->next)
  { if (p == (*cp)->ptr)
    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unlinked class instance %p\n", p));
      q = (char**)*cp;
      *cp = (*cp)->next;
      SOAP_FREE(soap, q);
      return;
    }
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x24f0e
cmpq $0x0, -0x10(%rbp)
jne 0x24f13
jmp 0x24fcc
movq -0x8(%rbp), %rax
addq $0xa0, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
je 0x24f6d
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
movq -0x18(%rbp), %rdx
movq (%rdx), %rsi
xorl %edx, %edx
subq 0x8(%rsi), %rdx
addq %rdx, %rcx
cmpq %rcx, %rax
jne 0x24f5e
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq (%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
jmp 0x24fcc
jmp 0x24f60
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
jmp 0x24f21
movq -0x8(%rbp), %rax
addq $0x98, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, (%rax)
je 0x24fcc
movq -0x10(%rbp), %rax
movq -0x20(%rbp), %rcx
movq (%rcx), %rcx
cmpq 0x8(%rcx), %rax
jne 0x24fbd
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq (%rax), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rdi
callq 0x3030
jmp 0x24fcc
jmp 0x24fbf
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x24f7b
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/stdsoap2.c
// Function: soap_free_pht
static void
soap_free_pht(struct soap *soap)
{ register struct soap_pblk *pb, *next;
  register int i;
  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free pointer hashtable\n"));
  for (pb = soap->pblk; pb; pb = next)
  { next = pb->next;
    SOAP_FREE(soap, pb);
  }
  soap->pblk = NULL;
  soap->pidx = 0;
  for (i = 0; i < (int)SOAP_PTRHASH; i++)
    soap->pht[i] = NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0xbf20(%rax), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x26d60
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x3030
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x26d3b
movq -0x8(%rbp), %rax
movq $0x0, 0xbf20(%rax)
movq -0x8(%rbp), %rax
movw $0x0, 0xbf28(%rax)
movl $0x0, -0x1c(%rbp)
cmpl $0x1000, -0x1c(%rbp)    # imm = 0x1000
jge 0x26dab
movq -0x8(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq $0x0, 0x3f20(%rax,%rcx,8)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x26d83
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/stdsoap2.c
// Function: soap_init_logs
static void
soap_init_logs(struct soap *soap)
{ int i;
  for (i = 0; i < SOAP_MAXLOGS; i++)
  { soap->logfile[i] = NULL;
    soap->fdebug[i] = NULL;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
cmpl $0x3, -0xc(%rbp)
jge 0x27218
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq $0x0, 0x1f318(%rax,%rcx,8)
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq $0x0, 0x1f330(%rax,%rcx,8)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x271df
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/stdsoap2.c
// Function: soap_init_pht
static void
soap_init_pht(struct soap *soap)
{ register int i;
  soap->pblk = NULL;
  soap->pidx = 0;
  for (i = 0; i < (int)SOAP_PTRHASH; i++)
    soap->pht[i] = NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq $0x0, 0xbf20(%rax)
movq -0x8(%rbp), %rax
movw $0x0, 0xbf28(%rax)
movl $0x0, -0xc(%rbp)
cmpl $0x1000, -0xc(%rbp)     # imm = 0x1000
jge 0x274f3
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq $0x0, 0x3f20(%rax,%rcx,8)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x274cb
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/stdsoap2.c
// Function: soap_begin
SOAP_FMAC2
soap_begin(struct soap *soap)
{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Reinitializing context\n"));
  if (!soap->keep_alive)
  { soap->buflen = 0;
    soap->bufidx = 0;
  }
  soap->keep_alive = (((soap->imode | soap->omode) & SOAP_IO_KEEPALIVE) != 0);
  soap->null = 0;
  soap->position = 0;
  soap->encoding = 0;
  soap->mustUnderstand = 0;
  soap->mode = 0;
  soap->ns = 0;
  soap->part = SOAP_END;
  soap->event = 0;
  soap->alloced = 0;
  soap->count = 0;
  soap->length = 0;
  soap->cdata = 0;
  soap->error = SOAP_OK;
  soap->peeked = 0;
  soap->ahead = 0;
  soap->idnum = 0;
  soap->level = 0;
  soap->endpoint[0] = '\0';
#ifndef WITH_LEANER
  soap->dime.chunksize = 0;
  soap->dime.buflen = 0;
#endif
  soap_free_temp(soap);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpw $0x0, 0x1f22c(%rax)
jne 0x28388
movq -0x8(%rbp), %rax
movq $0x0, 0xc158(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0xc150(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
movq -0x8(%rbp), %rcx
orl 0xc(%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movzbl %al, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x1f22c(%rax)
movq -0x8(%rbp), %rax
movw $0x0, 0x1e5ec(%rax)
movq -0x8(%rbp), %rax
movw $0x0, 0x1e59a(%rax)
movq -0x8(%rbp), %rax
movw $0x0, 0x1e5e8(%rax)
movq -0x8(%rbp), %rax
movw $0x0, 0x1e5ea(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x4(%rax)
movq -0x8(%rbp), %rax
movw $0x0, 0x1e5ee(%rax)
movq -0x8(%rbp), %rax
movw $0x9, 0x1e5f0(%rax)
movq -0x8(%rbp), %rax
movw $0x0, 0x1e5f2(%rax)
movq -0x8(%rbp), %rax
movw $0x0, 0x1e5f4(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0xc170(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0xc178(%rax)
movq -0x8(%rbp), %rax
movw $0x0, 0xc164(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x1f274(%rax)
movq -0x8(%rbp), %rax
movw $0x0, 0x1e5f6(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0xc160(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0xbf40(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0xc168(%rax)
movq -0x8(%rbp), %rax
movb $0x0, 0x1e608(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x1f298(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x1f2a0(%rax)
movq -0x8(%rbp), %rdi
callq 0x1f170
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/stdsoap2.c
// Function: soap_end
SOAP_FMAC2
soap_end(struct soap *soap)
{ if (soap_check_state(soap))
    return;
  soap_free_temp(soap);
  soap_dealloc(soap, NULL);
  while (soap->clist)
  { register struct soap_clist *cp = soap->clist->next;
    SOAP_FREE(soap, soap->clist);
    soap->clist = cp;
  }
  soap_closesock(soap);
#ifdef SOAP_DEBUG
  soap_close_logfiles(soap);
#endif
#ifdef PALM
  palmNetLibClose();
#endif
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x284fb
movq -0x8(%rbp), %rax
movswl (%rax), %eax
cmpl $0x1, %eax
je 0x284fd
movq -0x8(%rbp), %rax
movswl (%rax), %eax
cmpl $0x2, %eax
je 0x284fd
jmp 0x2855d
movq -0x8(%rbp), %rdi
callq 0x1f170
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x24a10
movq -0x8(%rbp), %rax
cmpq $0x0, 0x98(%rax)
je 0x28554
movq -0x8(%rbp), %rax
movq 0x98(%rax), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x98(%rax), %rdi
callq 0x3030
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x98(%rax)
jmp 0x28513
movq -0x8(%rbp), %rdi
callq 0x1de40
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/stdsoap2.c
// Function: soap_tagsearch
SOAP_FMAC1
const char *
SOAP_FMAC2
soap_tagsearch(const char *big, const char *little)
{ if (little)
  { register size_t n = strlen(little);
    register const char *s = big;
    while (s)
    { register const char *t = s;
      register size_t i;
      for (i = 0; i < n; i++, t++)
      { if (*t != little[i])
          break;
      }
      if (*t == '\0' || *t == ' ')
      { if (i == n || (i && little[i-1] == ':'))
          return s;
      }
      s = strchr(t, ' ');
      if (s)
        s++;
    }
  }
  return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x28670
movq -0x18(%rbp), %rdi
callq 0x3100
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x2866e
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
movq $0x0, -0x38(%rbp)
movq -0x38(%rbp), %rax
cmpq -0x20(%rbp), %rax
jae 0x285fa
movq -0x30(%rbp), %rax
movsbl (%rax), %eax
movq -0x18(%rbp), %rcx
movq -0x38(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
je 0x285de
jmp 0x285fa
jmp 0x285e0
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
jmp 0x285bb
movq -0x30(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x28612
movq -0x30(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x20, %eax
jne 0x28644
movq -0x38(%rbp), %rax
cmpq -0x20(%rbp), %rax
je 0x28638
cmpq $0x0, -0x38(%rbp)
je 0x28642
movq -0x18(%rbp), %rax
movq -0x38(%rbp), %rcx
subq $0x1, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x3a, %eax
jne 0x28642
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x28678
jmp 0x28644
movq -0x30(%rbp), %rdi
movl $0x20, %esi
callq 0x3130
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x28669
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x285a0
jmp 0x28670
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/stdsoap2.c
// Function: soap_element_nil
SOAP_FMAC2
soap_element_nil(struct soap *soap, const char *tag)
{ if (soap_element(soap, tag, -1, NULL)
   || soap_attribute(soap, "xsi:nil", "true"))
    return soap->error;
  return soap_element_start_end_out(soap, tag);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
xorl %eax, %eax
movl %eax, %ecx
callq 0x28710
cmpl $0x0, %eax
jne 0x2a5c7
movq -0x10(%rbp), %rdi
leaq 0xf378(%rip), %rsi      # 0x3992e
leaq 0xf2e6(%rip), %rdx      # 0x398a3
callq 0x292b0
cmpl $0x0, %eax
je 0x2a5d6
movq -0x10(%rbp), %rax
movl 0x1f274(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x2a5e6
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x29a20
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x2a9df
leaq 0xe9ab(%rip), %rax      # 0x39381
movq %rax, -0x8(%rbp)
jmp 0x2aaaa
movq -0x10(%rbp), %rax
movq 0x1e5e0(%rax), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x2aa2d
movq -0x28(%rbp), %rax
movswl 0x28(%rax), %eax
cmpl $0x0, %eax
je 0x2aa1e
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
addq $0x2a, %rsi
movq -0x18(%rbp), %rdx
callq 0x1d4c0
cmpl $0x0, %eax
jne 0x2aa1e
jmp 0x2aa2d
jmp 0x2aa20
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x28(%rbp)
jmp 0x2a9ee
cmpq $0x0, -0x28(%rbp)
je 0x2aa6b
cmpl $0x2, -0x1c(%rbp)
jne 0x2aa5b
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x2aa5b
movq -0x10(%rbp), %rax
movl $0x2b, 0x1f274(%rax)
jmp 0x2aa69
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x2aaaa
jmp 0x2aaa2
cmpl $0x1, -0x1c(%rbp)
jne 0x2aa92
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x2aa92
movq -0x10(%rbp), %rax
movl $0x2a, 0x1f274(%rax)
jmp 0x2aaa0
movq -0x10(%rbp), %rax
movl $0x0, 0x1f274(%rax)
jmp 0x2aaa2
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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 to last element '%s' (level=%u)\n", soap->tag, soap->level));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpw $0x0, 0x1e5f6(%rax)
jne 0x2ad46
movq -0x8(%rbp), %rax
movw $0x1, 0x1e5f6(%rax)
movq -0x8(%rbp), %rax
cmpw $0x0, 0xc166(%rax)
je 0x2ad44
movq -0x8(%rbp), %rax
movl 0xc168(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0xc168(%rax)
jmp 0x2ad46
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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 %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movl %r9d, -0x34(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %esi
movq -0x28(%rbp), %rdx
movl -0x34(%rbp), %ecx
callq 0x23f60
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
movl %eax, %edx
movq -0x30(%rbp), %rcx
callq 0x24590
cmpl $0x0, %eax
jne 0x2cc55
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rax
movslq (%rax), %rsi
callq 0x2cb90
movq -0x50(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x2a000
cmpl $0x0, %eax
je 0x2cc64
movq -0x10(%rbp), %rax
movl 0x1f274(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x2cc74
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x24680
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/stdsoap2.c
// Function: soap_s2int
SOAP_FMAC2
soap_s2int(struct soap *soap, const char *s, int *p)
{ if (s)
  { long n;
    char *r;
#ifndef WITH_NOIO
#ifndef WITH_LEAN
    soap_reset_errno;
#endif
#endif
    n = soap_strtol(s, &r, 10);
    if (s == r || *r
#ifndef WITH_LEAN
     || n != (int)n
#endif
#ifndef WITH_NOIO
#ifndef WITH_LEAN
     || soap_errno == SOAP_ERANGE
#endif
#endif
    )
      soap->error = SOAP_TYPE;
    *p = (int)n;
  }
  return soap->error;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x2cd06
callq 0x3050
movl $0x0, (%rax)
movq -0x10(%rbp), %rdi
leaq -0x28(%rbp), %rsi
movl $0xa, %edx
callq 0x3220
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
cmpq -0x28(%rbp), %rax
je 0x2ccec
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x2ccec
movq -0x20(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq %ecx, %rcx
cmpq %rcx, %rax
jne 0x2ccec
callq 0x3050
cmpl $0x22, (%rax)
jne 0x2ccfa
movq -0x8(%rbp), %rax
movl $0x4, 0x1f274(%rax)
movq -0x20(%rbp), %rax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl 0x1f274(%rax), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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((soap_wchar)*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 %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x10(%rbp), %rax
addq $0x1c598, %rax          # imm = 0x1C598
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
cmpw $0x0, 0xc166(%rax)
jne 0x2cf6f
leaq 0xc41b(%rip), %rax      # 0x39381
movq %rax, -0x8(%rbp)
jmp 0x2d09a
jmp 0x2cf71
movq -0x10(%rbp), %rdi
callq 0x18260
movl %eax, -0x1c(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x1c(%rbp)
movb %al, -0x29(%rbp)
jl 0x2cf92
cmpl $0x20, -0x1c(%rbp)
setle %al
movb %al, -0x29(%rbp)
movb -0x29(%rbp), %al
testb $0x1, %al
jne 0x2cf71
movq $0x0, -0x18(%rbp)
cmpq $0x3ff, -0x18(%rbp)     # imm = 0x3FF
jae 0x2cfef
cmpl $-0x3, -0x1c(%rbp)
je 0x2cfbd
cmpl $-0x2, -0x1c(%rbp)
je 0x2cfbd
cmpl $-0x1, -0x1c(%rbp)
jne 0x2cfbf
jmp 0x2cfef
movl -0x1c(%rbp), %eax
movb %al, %cl
movq -0x28(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x28(%rbp)
movb %cl, (%rax)
movq -0x10(%rbp), %rdi
callq 0x18260
movl %eax, -0x1c(%rbp)
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x2cfa1
movq -0x28(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x18(%rbp)
jbe 0x2d038
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jl 0x2d01a
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x20, %eax
jle 0x2d01c
jmp 0x2d038
jmp 0x2d01e
movq -0x18(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x18(%rbp)
movq -0x28(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x2cffb
movq -0x28(%rbp), %rax
movb $0x0, 0x1(%rax)
cmpl $-0x3, -0x1c(%rbp)
je 0x2d052
cmpl $-0x2, -0x1c(%rbp)
je 0x2d052
cmpl $-0x1, -0x1c(%rbp)
jne 0x2d061
movl -0x1c(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xc160(%rax)
jmp 0x2d08c
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x2d08a
movq -0x10(%rbp), %rax
movl $0x2d, 0x1f274(%rax)
movq $0x0, -0x8(%rbp)
jmp 0x2d09a
jmp 0x2d08c
movq -0x10(%rbp), %rax
addq $0x1c598, %rax          # imm = 0x1C598
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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 %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movl %r9d, -0x34(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %esi
movq -0x28(%rbp), %rdx
movl -0x34(%rbp), %ecx
callq 0x23f60
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
movl %eax, %edx
movq -0x30(%rbp), %rcx
callq 0x24590
cmpl $0x0, %eax
jne 0x2d135
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rax
movq (%rax), %rsi
callq 0x2cb90
movq -0x50(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x2a000
cmpl $0x0, %eax
je 0x2d144
movq -0x10(%rbp), %rax
movl 0x1f274(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x2d154
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x24680
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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 || *r
#ifndef WITH_NOIO
#ifndef WITH_LEAN
     || soap_errno == SOAP_ERANGE
#endif
#endif
    )
      soap->error = SOAP_TYPE;
  }
  return soap->error;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x2d1d2
callq 0x3050
movl $0x0, (%rax)
movq -0x10(%rbp), %rdi
leaq -0x20(%rbp), %rsi
movl $0xa, %edx
callq 0x3220
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
cmpq -0x20(%rbp), %rax
je 0x2d1c2
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x2d1c2
callq 0x3050
cmpl $0x22, (%rax)
jne 0x2d1d0
movq -0x8(%rbp), %rax
movl $0x4, 0x1f274(%rax)
jmp 0x2d1d2
movq -0x8(%rbp), %rax
movl 0x1f274(%rax), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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 %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movl %r9d, -0x34(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %esi
movq -0x28(%rbp), %rdx
movl -0x34(%rbp), %ecx
callq 0x23f60
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
movl %eax, %edx
movq -0x30(%rbp), %rcx
callq 0x24590
cmpl $0x0, %eax
jne 0x2d4c5
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rax
movq (%rax), %rsi
callq 0x2d400
movq -0x50(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x2a000
cmpl $0x0, %eax
je 0x2d4d4
movq -0x10(%rbp), %rax
movl 0x1f274(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x2d4e4
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x24680
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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 %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x2d97f
movq -0x10(%rbp), %rdi
leaq -0x28(%rbp), %rsi
movl $0xa, %edx
callq 0x3220
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
cmpq -0x28(%rbp), %rax
je 0x2d965
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x2d965
cmpq $-0x80, -0x20(%rbp)
jl 0x2d965
cmpq $0x7f, -0x20(%rbp)
jle 0x2d973
movq -0x8(%rbp), %rax
movl $0x4, 0x1f274(%rax)
movq -0x20(%rbp), %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movb %cl, (%rax)
movq -0x8(%rbp), %rax
movl 0x1f274(%rax), %eax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movl %r8d, -0x2c(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
xorl %edx, %edx
xorl %eax, %eax
movl %eax, %ecx
callq 0x1b350
cmpl $0x0, %eax
je 0x2d9d1
movq $0x0, -0x8(%rbp)
jmp 0x2db44
movq -0x10(%rbp), %rax
movsbl 0x1d598(%rax), %eax
cmpl $0x0, %eax
je 0x2da42
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x1d598, %rsi          # imm = 0x1D598
movq -0x28(%rbp), %rdx
callq 0x1d4c0
cmpl $0x0, %eax
je 0x2da42
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x1d598, %rsi          # imm = 0x1D598
leaq 0xab1a(%rip), %rdx      # 0x3852e
callq 0x1d4c0
cmpl $0x0, %eax
je 0x2da42
movq -0x10(%rbp), %rax
movl $0x4, 0x1f274(%rax)
movq -0x10(%rbp), %rdi
callq 0x2ad00
movq $0x0, -0x8(%rbp)
jmp 0x2db44
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x1cd98, %rsi          # imm = 0x1CD98
movq -0x20(%rbp), %rdx
movl -0x2c(%rbp), %ecx
movl $0x1, %r8d
xorl %r9d, %r9d
xorl %eax, %eax
movq $0x0, (%rsp)
movq $0x0, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
callq 0x25580
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
cmpb $0x0, 0x1d198(%rax)
je 0x2dad5
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x1d198, %rsi          # imm = 0x1D198
movq -0x20(%rbp), %rdx
movl -0x2c(%rbp), %r8d
xorl %eax, %eax
movl %eax, %ecx
xorl %r9d, %r9d
movq $0x1, (%rsp)
movl $0x0, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
callq 0x25360
movq %rax, -0x20(%rbp)
jmp 0x2db10
cmpq $0x0, -0x20(%rbp)
je 0x2db0e
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2cf30
movq -0x38(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rdx
callq 0x2d910
cmpl $0x0, %eax
je 0x2db0c
movq $0x0, -0x8(%rbp)
jmp 0x2db44
jmp 0x2db0e
jmp 0x2db10
movq -0x10(%rbp), %rax
movswl 0xc166(%rax), %eax
cmpl $0x0, %eax
je 0x2db3c
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x1b620
cmpl $0x0, %eax
je 0x2db3c
movq $0x0, -0x8(%rbp)
jmp 0x2db44
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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 %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movl %r9d, -0x34(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %esi
movq -0x28(%rbp), %rdx
movl -0x34(%rbp), %ecx
callq 0x23f60
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
movl %eax, %edx
movq -0x30(%rbp), %rcx
callq 0x24590
cmpl $0x0, %eax
jne 0x2dc06
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rax
movswq (%rax), %rsi
callq 0x2cb90
movq -0x50(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x2a000
cmpl $0x0, %eax
je 0x2dc15
movq -0x10(%rbp), %rax
movl 0x1f274(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x2dc25
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x24680
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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 %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movss %xmm0, -0x14(%rbp)
movss -0x14(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
ucomisd %xmm0, %xmm0
setp %al
testb $0x1, %al
jne 0x2ded7
jmp 0x2dee7
leaq 0xbbaa(%rip), %rax      # 0x39a88
movq %rax, -0x8(%rbp)
jmp 0x2dfbc
movss -0x14(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jbe 0x2df29
movss -0x14(%rbp), %xmm0
ucomiss %xmm0, %xmm0
setp %al
testb $0x1, %al
jne 0x2df29
movss -0x14(%rbp), %xmm0
subss -0x14(%rbp), %xmm0
ucomiss %xmm0, %xmm0
setp %al
testb $0x1, %al
jne 0x2df19
jmp 0x2df29
leaq 0xbb72(%rip), %rax      # 0x39a92
movq %rax, -0x8(%rbp)
jmp 0x2dfbc
xorps %xmm0, %xmm0
ucomiss -0x14(%rbp), %xmm0
jbe 0x2df64
movss -0x14(%rbp), %xmm0
ucomiss %xmm0, %xmm0
setp %al
testb $0x1, %al
jne 0x2df64
movss -0x14(%rbp), %xmm0
subss -0x14(%rbp), %xmm0
ucomiss %xmm0, %xmm0
setp %al
testb $0x1, %al
jne 0x2df57
jmp 0x2df64
leaq 0xbb2e(%rip), %rax      # 0x39a8c
movq %rax, -0x8(%rbp)
jmp 0x2dfbc
movq -0x10(%rbp), %rax
addq $0x1c598, %rax          # imm = 0x1C598
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
movss -0x14(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movb $0x1, %al
callq 0x3320
movq -0x20(%rbp), %rdi
movl $0x2c, %esi
callq 0x3130
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x2dfae
movq -0x20(%rbp), %rax
movb $0x2e, (%rax)
movq -0x10(%rbp), %rax
addq $0x1c598, %rax          # imm = 0x1C598
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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 %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x2e1bb
movq -0x18(%rbp), %rax
cmpb $0x0, (%rax)
jne 0x2e0c2
movq -0x10(%rbp), %rax
movl $0x4, 0x1f274(%rax)
movl $0x4, -0x4(%rbp)
jmp 0x2e1c8
movq -0x18(%rbp), %rdi
leaq 0xb9c5(%rip), %rsi      # 0x39a92
callq 0x17de0
cmpl $0x0, %eax
jne 0x2e0ec
movq -0x20(%rbp), %rax
movss 0xb3a5(%rip), %xmm0     # 0x39488
movss %xmm0, (%rax)
jmp 0x2e1b9
movq -0x18(%rbp), %rdi
leaq 0xb99a(%rip), %rsi      # 0x39a91
callq 0x17de0
cmpl $0x0, %eax
jne 0x2e116
movq -0x20(%rbp), %rax
movss 0xb37b(%rip), %xmm0     # 0x39488
movss %xmm0, (%rax)
jmp 0x2e1b7
movq -0x18(%rbp), %rdi
leaq 0xb96b(%rip), %rsi      # 0x39a8c
callq 0x17de0
cmpl $0x0, %eax
jne 0x2e13d
movq -0x20(%rbp), %rax
movss 0xb355(%rip), %xmm0     # 0x3948c
movss %xmm0, (%rax)
jmp 0x2e1b5
movq -0x18(%rbp), %rdi
leaq 0xb940(%rip), %rsi      # 0x39a88
callq 0x17de0
cmpl $0x0, %eax
jne 0x2e164
movss 0xb17e(%rip), %xmm0     # 0x392d8
movq -0x20(%rbp), %rax
movss %xmm0, (%rax)
jmp 0x2e1b3
movq -0x18(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x3090
cvtsd2ss %xmm0, %xmm0
movq -0x20(%rbp), %rax
movss %xmm0, (%rax)
movq -0x28(%rbp), %rax
cmpb $0x0, (%rax)
je 0x2e1b1
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0xb901(%rip), %rsi      # 0x39a96
movb $0x0, %al
callq 0x3260
cmpl $0x1, %eax
je 0x2e1af
movq -0x10(%rbp), %rax
movl $0x4, 0x1f274(%rax)
jmp 0x2e1b1
jmp 0x2e1b3
jmp 0x2e1b5
jmp 0x2e1b7
jmp 0x2e1b9
jmp 0x2e1bb
movq -0x10(%rbp), %rax
movl 0x1f274(%rax), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movl %r8d, -0x2c(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
xorl %edx, %edx
xorl %eax, %eax
movl %eax, %ecx
callq 0x1b350
cmpl $0x0, %eax
je 0x2e221
movq $0x0, -0x8(%rbp)
jmp 0x2e352
movq -0x10(%rbp), %rax
movsbl 0x1d598(%rax), %eax
cmpl $0x0, %eax
je 0x2e250
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x2e360
cmpl $0x0, %eax
je 0x2e250
movq $0x0, -0x8(%rbp)
jmp 0x2e352
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x1cd98, %rsi          # imm = 0x1CD98
movq -0x20(%rbp), %rdx
movl -0x2c(%rbp), %ecx
movl $0x4, %r8d
xorl %r9d, %r9d
xorl %eax, %eax
movq $0x0, (%rsp)
movq $0x0, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
callq 0x25580
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
cmpb $0x0, 0x1d198(%rax)
je 0x2e2e3
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x1d198, %rsi          # imm = 0x1D198
movq -0x20(%rbp), %rdx
movl -0x2c(%rbp), %r8d
xorl %eax, %eax
movl %eax, %ecx
xorl %r9d, %r9d
movq $0x4, (%rsp)
movl $0x0, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
callq 0x25360
movq %rax, -0x20(%rbp)
jmp 0x2e31e
cmpq $0x0, -0x20(%rbp)
je 0x2e31c
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2cf30
movq -0x38(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rdx
callq 0x2e080
cmpl $0x0, %eax
je 0x2e31a
movq $0x0, -0x8(%rbp)
jmp 0x2e352
jmp 0x2e31c
jmp 0x2e31e
movq -0x10(%rbp), %rax
movswl 0xc166(%rax), %eax
cmpl $0x0, %eax
je 0x2e34a
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x1b620
cmpl $0x0, %eax
je 0x2e34a
movq $0x0, -0x8(%rbp)
jmp 0x2e352
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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 %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movsd %xmm0, -0x18(%rbp)
movsd -0x18(%rbp), %xmm0
ucomisd %xmm0, %xmm0
setp %al
testb $0x1, %al
jne 0x2e623
jmp 0x2e633
leaq 0xb45e(%rip), %rax      # 0x39a88
movq %rax, -0x8(%rbp)
jmp 0x2e70a
movsd -0x18(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x2e678
movsd -0x18(%rbp), %xmm0
ucomisd %xmm0, %xmm0
setp %al
testb $0x1, %al
jne 0x2e678
movsd -0x18(%rbp), %xmm0
subsd -0x18(%rbp), %xmm0
ucomisd %xmm0, %xmm0
setp %al
testb $0x1, %al
jne 0x2e668
jmp 0x2e678
leaq 0xb423(%rip), %rax      # 0x39a92
movq %rax, -0x8(%rbp)
jmp 0x2e70a
xorps %xmm0, %xmm0
ucomisd -0x18(%rbp), %xmm0
jbe 0x2e6b6
movsd -0x18(%rbp), %xmm0
ucomisd %xmm0, %xmm0
setp %al
testb $0x1, %al
jne 0x2e6b6
movsd -0x18(%rbp), %xmm0
subsd -0x18(%rbp), %xmm0
ucomisd %xmm0, %xmm0
setp %al
testb $0x1, %al
jne 0x2e6a9
jmp 0x2e6b6
leaq 0xb3dc(%rip), %rax      # 0x39a8c
movq %rax, -0x8(%rbp)
jmp 0x2e70a
movq -0x10(%rbp), %rax
addq $0x1c598, %rax          # imm = 0x1C598
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
movsd -0x18(%rbp), %xmm0
movb $0x1, %al
callq 0x3320
movq -0x20(%rbp), %rdi
movl $0x2c, %esi
callq 0x3130
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x2e6fc
movq -0x20(%rbp), %rax
movb $0x2e, (%rax)
movq -0x10(%rbp), %rax
addq $0x1c598, %rax          # imm = 0x1C598
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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 %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movl %r9d, -0x34(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %esi
movq -0x28(%rbp), %rdx
movl -0x34(%rbp), %ecx
callq 0x23f60
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
movl %eax, %edx
movq -0x30(%rbp), %rcx
callq 0x24590
cmpl $0x0, %eax
jne 0x2e7a6
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rax
movsd (%rax), %xmm0
callq 0x2e600
movq -0x50(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x2a000
cmpl $0x0, %eax
je 0x2e7b5
movq -0x10(%rbp), %rax
movl 0x1f274(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x2e7c5
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x24680
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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 %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x2e907
movq -0x18(%rbp), %rax
cmpb $0x0, (%rax)
jne 0x2e812
movq -0x10(%rbp), %rax
movl $0x4, 0x1f274(%rax)
movl $0x4, -0x4(%rbp)
jmp 0x2e914
movq -0x18(%rbp), %rdi
leaq 0xb275(%rip), %rsi      # 0x39a92
callq 0x17de0
cmpl $0x0, %eax
jne 0x2e83c
movq -0x20(%rbp), %rax
movsd 0xac5d(%rip), %xmm0     # 0x39490
movsd %xmm0, (%rax)
jmp 0x2e905
movq -0x18(%rbp), %rdi
leaq 0xb24a(%rip), %rsi      # 0x39a91
callq 0x17de0
cmpl $0x0, %eax
jne 0x2e866
movq -0x20(%rbp), %rax
movsd 0xac33(%rip), %xmm0     # 0x39490
movsd %xmm0, (%rax)
jmp 0x2e903
movq -0x18(%rbp), %rdi
leaq 0xb21b(%rip), %rsi      # 0x39a8c
callq 0x17de0
cmpl $0x0, %eax
jne 0x2e88d
movq -0x20(%rbp), %rax
movsd 0xac11(%rip), %xmm0     # 0x39498
movsd %xmm0, (%rax)
jmp 0x2e901
movq -0x18(%rbp), %rdi
leaq 0xb1f0(%rip), %rsi      # 0x39a88
callq 0x17de0
cmpl $0x0, %eax
jne 0x2e8b4
movsd 0xaa2e(%rip), %xmm0     # 0x392d8
movq -0x20(%rbp), %rax
movsd %xmm0, (%rax)
jmp 0x2e8ff
movq -0x18(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x3090
movq -0x20(%rbp), %rax
movsd %xmm0, (%rax)
movq -0x28(%rbp), %rax
cmpb $0x0, (%rax)
je 0x2e8fd
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0xb1b8(%rip), %rsi      # 0x39a99
movb $0x0, %al
callq 0x3260
cmpl $0x1, %eax
je 0x2e8fb
movq -0x10(%rbp), %rax
movl $0x4, 0x1f274(%rax)
jmp 0x2e8fd
jmp 0x2e8ff
jmp 0x2e901
jmp 0x2e903
jmp 0x2e905
jmp 0x2e907
movq -0x10(%rbp), %rax
movl 0x1f274(%rax), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movl %r8d, -0x2c(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
xorl %edx, %edx
xorl %eax, %eax
movl %eax, %ecx
callq 0x1b350
cmpl $0x0, %eax
je 0x2e961
movq $0x0, -0x8(%rbp)
jmp 0x2ea92
movq -0x10(%rbp), %rax
movsbl 0x1d598(%rax), %eax
cmpl $0x0, %eax
je 0x2e990
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x2e360
cmpl $0x0, %eax
je 0x2e990
movq $0x0, -0x8(%rbp)
jmp 0x2ea92
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x1cd98, %rsi          # imm = 0x1CD98
movq -0x20(%rbp), %rdx
movl -0x2c(%rbp), %ecx
movl $0x8, %r8d
xorl %r9d, %r9d
xorl %eax, %eax
movq $0x0, (%rsp)
movq $0x0, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
callq 0x25580
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
cmpb $0x0, 0x1d198(%rax)
je 0x2ea23
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x1d198, %rsi          # imm = 0x1D198
movq -0x20(%rbp), %rdx
movl -0x2c(%rbp), %r8d
xorl %eax, %eax
movl %eax, %ecx
xorl %r9d, %r9d
movq $0x8, (%rsp)
movl $0x0, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
callq 0x25360
movq %rax, -0x20(%rbp)
jmp 0x2ea5e
cmpq $0x0, -0x20(%rbp)
je 0x2ea5c
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2cf30
movq -0x38(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rdx
callq 0x2e7d0
cmpl $0x0, %eax
je 0x2ea5a
movq $0x0, -0x8(%rbp)
jmp 0x2ea92
jmp 0x2ea5c
jmp 0x2ea5e
movq -0x10(%rbp), %rax
movswl 0xc166(%rax), %eax
cmpl $0x0, %eax
je 0x2ea8a
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x1b620
cmpl $0x0, %eax
je 0x2ea8a
movq $0x0, -0x8(%rbp)
jmp 0x2ea92
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/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 %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movl %r9d, -0x34(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %esi
movq -0x28(%rbp), %rdx
movl -0x34(%rbp), %ecx
callq 0x23f60
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
movl %eax, %edx
movq -0x30(%rbp), %rcx
callq 0x24590
cmpl $0x0, %eax
jne 0x2eb97
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rax
movzbl (%rax), %eax
movl %eax, %esi
callq 0x2ead0
movq -0x50(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x2a000
cmpl $0x0, %eax
je 0x2eba6
movq -0x10(%rbp), %rax
movl 0x1f274(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x2ebb6
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x24680
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nop