// File: /workspace/github_c_makefile_star2_O0/loversmile[P]sugarcrm/sugar_soapC.c
// Function: soap_ignore_element
SOAP_FMAC4 soap_ignore_element(struct soap *soap)
{
	if (!soap_peek_element(soap))
	{	int t;
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unexpected element '%s' in input (level=%u, %d)\n", soap->tag, soap->level, soap->body));
		if (soap->mustUnderstand && !soap->other)
			return soap->error = SOAP_MUSTUNDERSTAND;
		if (((soap->mode & SOAP_XML_STRICT) && soap->part != SOAP_IN_HEADER) || !soap_match_tag(soap, soap->tag, "SOAP-ENV:"))
		{	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "REJECTING element '%s'\n", soap->tag));
			return soap->error = SOAP_TAG_MISMATCH;
		}
		if (!*soap->id || !soap_getelement(soap, &t))
		{	soap->peeked = 0;
			if (soap->fignore)
				soap->error = soap->fignore(soap, soap->tag);
			else
				soap->error = SOAP_OK;
			DBGLOG(TEST, if (!soap->error) SOAP_MESSAGE(fdebug, "IGNORING element '%s'\n", soap->tag));
			if (!soap->error && soap->body)
			{	soap->level++;
				while (!soap_ignore_element(soap))
					;
				if (soap->error == SOAP_NO_TAG)
					soap->error = soap_element_end_in(soap, NULL);
			}
		}
	}
	return soap->error;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x520b0
cmpl $0x0, %eax
jne 0x7d0d
movq -0x10(%rbp), %rax
movswl 0x1858a(%rax), %eax
cmpl $0x0, %eax
je 0x7bc6
movq -0x10(%rbp), %rax
cmpw $0x0, 0x18538(%rax)
jne 0x7bc6
movq -0x10(%rbp), %rax
movl $0x8, 0x19214(%rax)
movl $0x8, -0x4(%rbp)
jmp 0x7d1a
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x7be7
movq -0x10(%rbp), %rax
movswl 0x18590(%rax), %eax
cmpl $0x3, %eax
jne 0x7c07
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x16938, %rsi          # imm = 0x16938
leaq 0x71827(%rip), %rdx     # 0x79424
callq 0x55510
cmpl $0x0, %eax
jne 0x7c21
movq -0x10(%rbp), %rax
movl $0x3, 0x19214(%rax)
movl $0x3, -0x4(%rbp)
jmp 0x7d1a
movq -0x10(%rbp), %rax
cmpb $0x0, 0x16d38(%rax)
je 0x7c45
movq -0x10(%rbp), %rdi
leaq -0x14(%rbp), %rsi
callq 0x40e0
cmpq $0x0, %rax
jne 0x7d0b
movq -0x10(%rbp), %rax
movw $0x0, 0x18594(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x6020(%rax)
je 0x7c8a
movq -0x10(%rbp), %rax
movq 0x6020(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x16938, %rsi          # imm = 0x16938
callq *%rax
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x19214(%rax)
jmp 0x7c98
movq -0x10(%rbp), %rax
movl $0x0, 0x19214(%rax)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x19214(%rax)
jne 0x7d09
movq -0x10(%rbp), %rax
movswl 0x6106(%rax), %eax
cmpl $0x0, %eax
je 0x7d09
movq -0x10(%rbp), %rax
movl 0x6108(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x6108(%rax)
movq -0x10(%rbp), %rdi
callq 0x7b70
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x7cdf
jmp 0x7ce1
jmp 0x7cc8
movq -0x10(%rbp), %rax
cmpl $0x6, 0x19214(%rax)
jne 0x7d07
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x53660
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x19214(%rax)
jmp 0x7d09
jmp 0x7d0b
jmp 0x7d0d
movq -0x10(%rbp), %rax
movl 0x19214(%rax), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)