// File: /workspace/github_c_makefile_star2_O2/hkshenSmart[P]ONVIF-discovery_cs/soapC.c
// Function: soap_out_d__ResolveMatchType
SOAP_FMAC4 soap_out_d__ResolveMatchType(struct soap *soap, const char *tag, int id, const struct d__ResolveMatchType *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__ResolveMatchType), 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 (a->XAddrs)
	{	if (soap_out_d__UriListType(soap, "d:XAddrs", -1, &a->XAddrs, ""))
			return soap->error;
	}
	else if (soap_element_nil(soap, "d:XAddrs"))
		return soap->error;
	if (soap_out_unsignedInt(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 0x68(%rcx), %rdx
testq %rdx, %rdx
je 0x9840
leaq 0x1906f(%rip), %rsi     # 0x228a4
pushq $0x1
popq %rcx
movq %rbx, %rdi
callq 0x19643
pushq $0x34
popq %rcx
movq %rbx, %rdi
movl %ebp, %esi
movq %r15, %rdx
callq 0x169d2
movq %rbx, %rdi
movq %r14, %rsi
movl %eax, %edx
movq %r12, %rcx
callq 0x16e14
testl %eax, %eax
jne 0x9928
leaq 0x18f18(%rip), %rsi     # 0x22787
leaq 0x19d78(%rip), %r8      # 0x235ee
pushq $-0x1
popq %rdx
movq %rbx, %rdi
movq %r15, %rcx
callq 0xa220
testl %eax, %eax
jne 0x9928
leaq 0x40(%r15), %rcx
leaq 0x19033(%rip), %rsi     # 0x228ca
leaq 0x19d50(%rip), %r8      # 0x235ee
pushq $-0x1
popq %rdx
movq %rbx, %rdi
callq 0xd3d8
testl %eax, %eax
jne 0x9928
leaq 0x48(%r15), %rcx
leaq 0x1901a(%rip), %rsi     # 0x228d2
leaq 0x19d2f(%rip), %r8      # 0x235ee
pushq $-0x1
popq %rdx
movq %rbx, %rdi
callq 0xa934
testl %eax, %eax
jne 0x9928
cmpq $0x0, 0x50(%r15)
je 0x98f4
leaq 0x50(%r15), %rcx
leaq 0x18ffb(%rip), %rsi     # 0x228db
leaq 0x19d07(%rip), %r8      # 0x235ee
pushq $-0x1
popq %rdx
movq %rbx, %rdi
callq 0xd3e1
jmp 0x9903
leaq 0x18fe0(%rip), %rsi     # 0x228db
movq %rbx, %rdi
callq 0x1a0a4
testl %eax, %eax
jne 0x9928
leaq 0x58(%r15), %rcx
leaq 0x18fd2(%rip), %rsi     # 0x228e4
leaq 0x19cd5(%rip), %r8      # 0x235ee
pushq $-0x1
popq %rdx
movq %rbx, %rdi
callq 0x938e
testl %eax, %eax
je 0x993d
movl 0x1f274(%rbx), %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpq $0x0, 0x60(%r15)
je 0x9976
xorl %r13d, %r13d
leaq 0x18f05(%rip), %r12     # 0x22853
xorl %ebp, %ebp
movslq 0x5c(%r15), %rax
cmpq %rax, %rbp
jge 0x9976
movq 0x60(%r15), %rdx
addq %r13, %rdx
movq %rbx, %rdi
movq %r12, %rsi
xorl %ecx, %ecx
callq 0x1e29b
incq %rbp
addq $0x8, %r13
jmp 0x9950
movq %rbx, %rdi
movq %r14, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x16e91