// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/src/kmip.c
// Function: kmip_compare_query_response_payload
int
kmip_compare_query_response_payload(const QueryResponsePayload *a, const QueryResponsePayload *b)
{
    if(a != b)
    {
        if((a == NULL) || (b == NULL))
        {
            return(KMIP_FALSE);
        }

        if(a->operations != b->operations)
        {
            if((a->operations == NULL) || (b->operations == NULL))
            {
                return(KMIP_FALSE);
            }

            if(kmip_compare_operations(a->operations, b->operations) == KMIP_FALSE)
            {
                return(KMIP_FALSE);
            }
        }

        if(a->objects != b->objects)
        {
            if((a->objects == NULL) || (b->objects == NULL))
            {
                return(KMIP_FALSE);
            }

            if(kmip_compare_objects(a->objects, b->objects) == KMIP_FALSE)
            {
                return(KMIP_FALSE);
            }
        }

        if(a->vendor_identification != b->vendor_identification)
        {
            if((a->vendor_identification == NULL) || (b->vendor_identification == NULL))
            {
                return(KMIP_FALSE);
            }

            if(kmip_compare_text_string(a->vendor_identification, b->vendor_identification) == KMIP_FALSE)
            {
                return(KMIP_FALSE);
            }
        }

        if(a->server_information != b->server_information)
        {
            if((a->server_information == NULL) || (b->server_information == NULL))
            {
                return(KMIP_FALSE);
            }

            if(kmip_compare_server_information(a->server_information, b->server_information) == KMIP_FALSE)
            {
                return(KMIP_FALSE);
            }
        }
    }

    return(KMIP_TRUE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpq -0x18(%rbp), %rax
je 0xee8b
cmpq $0x0, -0x10(%rbp)
je 0xed1c
cmpq $0x0, -0x18(%rbp)
jne 0xed28
movl $0x0, -0x4(%rbp)
jmp 0xee92
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
cmpq (%rcx), %rax
je 0xed7e
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0xed4c
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
jne 0xed58
movl $0x0, -0x4(%rbp)
jmp 0xee92
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rax
movq (%rax), %rsi
callq 0x64b0
cmpl $0x0, %eax
jne 0xed7c
movl $0x0, -0x4(%rbp)
jmp 0xee92
jmp 0xed7e
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x8(%rcx), %rax
je 0xedda
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0xeda6
movq -0x18(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0xedb2
movl $0x0, -0x4(%rbp)
jmp 0xee92
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x6720
cmpl $0x0, %eax
jne 0xedd8
movl $0x0, -0x4(%rbp)
jmp 0xee92
jmp 0xedda
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x10(%rcx), %rax
je 0xee33
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0xee02
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xee0e
movl $0x0, -0x4(%rbp)
jmp 0xee92
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x64d0
cmpl $0x0, %eax
jne 0xee31
movl $0x0, -0x4(%rbp)
jmp 0xee92
jmp 0xee33
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x18(%rcx), %rax
je 0xee89
movq -0x10(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0xee5b
movq -0x18(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0xee64
movl $0x0, -0x4(%rbp)
jmp 0xee92
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x6200
cmpl $0x0, %eax
jne 0xee87
movl $0x0, -0x4(%rbp)
jmp 0xee92
jmp 0xee89
jmp 0xee8b
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)