// File: /workspace/github_c_makefile_star2_O1/loversmile[P]sugarcrm/sugar_stdsoap2.c
// Function: soap_outwliteral
SOAP_FMAC2
soap_outwliteral(struct soap *soap, const char *tag, wchar_t *const*p, const char *type)
{ int i;
  const char *t = NULL;
  if (tag && *tag != '-')
  { if (soap->local_namespaces && (t = strchr(tag, ':')))
    { strncpy(soap->tmpbuf, tag, t-tag);
      soap->tmpbuf[t-tag] = '\0';
      for (i = 0; soap->local_namespaces[i].id; i++)
        if (!strcmp(soap->tmpbuf, soap->local_namespaces[i].id))
          break;
      t++;
      if (soap_element(soap, t, 0, type)
       || soap_attribute(soap, "xmlns", soap->local_namespaces[i].ns ? soap->local_namespaces[i].ns : SOAP_STR_EOS)
       || soap_element_start_end_out(soap, NULL))
        return soap->error;
    }
    else
    { t = tag;
      if (soap_element_begin_out(soap, t, 0, type))
        return soap->error;
    }
    if (soap_send(soap, soap->tmpbuf))
      return soap->error;
  }
  if (p)
  { wchar_t c;
    const wchar_t *s = *p;
    while ((c = *s++))
    { if (soap_pututf8(soap, (unsigned long)c))
        return soap->error;
    }
  }
  if (t)
    return soap_element_end_out(soap, t);
  return SOAP_OK;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r14
movq %rdi, %rbx
testq %rsi, %rsi
je 0x4799c
movq %rsi, %r15
cmpb $0x2d, (%rsi)
jne 0x479f4
xorl %r15d, %r15d
testq %r14, %r14
je 0x479d2
movq (%r14), %r12
movslq (%r12), %r14
testq %r14, %r14
je 0x479c9
addq $0x4, %r12
movq %rbx, %rdi
movq %r14, %rsi
callq 0x38a46
testl %eax, %eax
je 0x479a7
movl 0x19214(%rbx), %eax
testl %r14d, %r14d
jne 0x47b03
testq %r15, %r15
je 0x47aaa
movq %rbx, %rdi
movq %r15, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3f797
movq %rcx, %r13
cmpq $0x0, 0x80(%rbx)
je 0x47a70
movq %r15, %rdi
movl $0x3a, %esi
callq 0x3130
testq %rax, %rax
je 0x47a70
leaq 0x16538(%rbx), %rbp
movq %rax, (%rsp)
movq %rax, %r12
subq %r15, %r12
movq %rbp, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x3070
movb $0x0, 0x16538(%rbx,%r12)
movq 0x80(%rbx), %r12
movq (%r12), %rsi
testq %rsi, %rsi
je 0x47aae
addq $0x20, %r12
xorl %r15d, %r15d
movq %rbp, %rdi
callq 0x3200
testl %eax, %eax
je 0x47ab1
incq %r15
movq (%r12), %rsi
addq $0x20, %r12
testq %rsi, %rsi
jne 0x47a52
jmp 0x47ab1
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
movq %r13, %rcx
callq 0x3f71a
testl %eax, %eax
jne 0x47afd
leaq 0x16538(%rbx), %r12
movq %r12, %rdi
callq 0x3110
movq %rbx, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x376e8
testl %eax, %eax
jne 0x47afd
jmp 0x4799f
xorl %eax, %eax
jmp 0x47b03
xorl %r15d, %r15d
movq (%rsp), %r12
incq %r12
movq %rbx, %rdi
movq %r12, %rsi
xorl %edx, %edx
movq %r13, %rcx
callq 0x4193c
testl %eax, %eax
jne 0x47afd
movq 0x80(%rbx), %rax
shlq $0x5, %r15
movq 0x8(%rax,%r15), %rax
testq %rax, %rax
leaq 0xa67b(%rip), %rdx      # 0x52161
cmovneq %rax, %rdx
leaq 0xaa7e(%rip), %rsi      # 0x5256f
movq %rbx, %rdi
callq 0x4203b
testl %eax, %eax
je 0x47b12
movl 0x19214(%rbx), %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rbx, %rdi
xorl %esi, %esi
callq 0x421b7
movq %r12, %r15
jmp 0x47a80