// File: /workspace/github_c_makefile_star2_O1/hkshenSmart[P]ONVIF-discovery_cs/soapC.c
// Function: soap_out_d__ByeType
SOAP_FMAC4 soap_out_d__ByeType(struct soap *soap, const char *tag, int id, const struct d__ByeType *a, const char *type)
{
	if (a->__anyAttribute)
		soap_set_attr(soap, "-anyAttribute", a->__anyAttribute, 1);
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_d__ByeType), type))
		return soap->error;
	if (soap_out__wsa__EndpointReference(soap, "wsa:EndpointReference", -1, &a->wsa__EndpointReference, ""))
		return soap->error;
	if (soap_out_d__QNameListType(soap, "d:Types", -1, &a->Types, ""))
		return soap->error;
	if (soap_out_PointerTod__ScopesType(soap, "d:Scopes", -1, &a->Scopes, ""))
		return soap->error;
	if (soap_out_d__UriListType(soap, "d:XAddrs", -1, &a->XAddrs, ""))
		return soap->error;
	if (soap_out_PointerTounsignedInt(soap, "d:MetadataVersion", -1, &a->MetadataVersion, ""))
		return soap->error;
	if (a->__any)
	{	int i;
		for (i = 0; i < a->__size; i++)
			soap_outliteral(soap, "-any", a->__any + i, NULL);
	}
	return soap_element_end_out(soap, tag);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %r12
movq %rcx, %r15
movl %edx, %ebp
movq %rsi, %r14
movq %rdi, %rbx
movq 0x70(%rcx), %rdx
testq %rdx, %rdx
je 0xa69a
leaq 0x1b217(%rip), %rsi     # 0x258a4
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x1b77e
movq %rbx, %rdi
movl %ebp, %esi
movq %r15, %rdx
movl $0x2c, %ecx
callq 0x184d8
movq %rbx, %rdi
movq %r14, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x18a13
testl %eax, %eax
jne 0xa782
leaq 0x1b0bc(%rip), %rsi     # 0x25787
leaq 0x1bf1c(%rip), %r8      # 0x265ee
movq %rbx, %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movq %r15, %rcx
callq 0xa9f1
testl %eax, %eax
jne 0xa782
leaq 0x40(%r15), %rcx
leaq 0x1b1d5(%rip), %rsi     # 0x258ca
leaq 0x1bef2(%rip), %r8      # 0x265ee
movq %rbx, %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl $0x24, %r9d
callq 0x20632
testl %eax, %eax
jne 0xa782
leaq 0x48(%r15), %rcx
leaq 0x1b1b4(%rip), %rsi     # 0x258d2
leaq 0x1bec9(%rip), %r8      # 0x265ee
movq %rbx, %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0xb14a
testl %eax, %eax
jne 0xa782
leaq 0x50(%r15), %rcx
leaq 0x1b19a(%rip), %rsi     # 0x258db
leaq 0x1bea6(%rip), %r8      # 0x265ee
movq %rbx, %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl $0x25, %r9d
callq 0x20632
testl %eax, %eax
jne 0xa782
leaq 0x58(%r15), %rcx
leaq 0x1b17a(%rip), %rsi     # 0x258e4
leaq 0x1be7d(%rip), %r8      # 0x265ee
movq %rbx, %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0xb0e5
testl %eax, %eax
je 0xa797
movl 0x1f274(%rbx), %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpq $0x0, 0x68(%r15)
je 0xa7d5
cmpl $0x0, 0x60(%r15)
jle 0xa7d5
xorl %r13d, %r13d
leaq 0x1b0a4(%rip), %r12     # 0x25853
xorl %ebp, %ebp
movq 0x68(%r15), %rdx
addq %r13, %rdx
movq %rbx, %rdi
movq %r12, %rsi
xorl %ecx, %ecx
callq 0x20ddd
incq %rbp
movslq 0x60(%r15), %rax
addq $0x8, %r13
cmpq %rax, %rbp
jl 0xa7b1
movq %rbx, %rdi
movq %r14, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x18a90