// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/src/kmip.c
// Function: kmip_compare_create_request_payload
int
kmip_compare_create_request_payload(const CreateRequestPayload *a, const CreateRequestPayload *b)
{
    if(a != b)
    {
        if((a == NULL) || (b == NULL))
        {
            return(KMIP_FALSE);
        }
        
        if(a->object_type != b->object_type)
        {
            return(KMIP_FALSE);
        }
        
        if(a->template_attribute != b->template_attribute)
        {
            if((a->template_attribute == NULL) || (b->template_attribute == NULL))
            {
                return(KMIP_FALSE);
            }
            
            if(kmip_compare_template_attribute(a->template_attribute, b->template_attribute) == KMIP_FALSE)
            {
                return(KMIP_FALSE);
            }
        }

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

            if(kmip_compare_attributes(a->attributes, b->attributes) == KMIP_FALSE)
            {
                return(KMIP_FALSE);
            }
        }

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

            if(kmip_compare_protection_storage_masks(a->protection_storage_masks, b->protection_storage_masks) == 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 0xe25f
cmpq $0x0, -0x10(%rbp)
je 0xe12c
cmpq $0x0, -0x18(%rbp)
jne 0xe138
movl $0x0, -0x4(%rbp)
jmp 0xe266
movq -0x10(%rbp), %rax
movl (%rax), %eax
movq -0x18(%rbp), %rcx
cmpl (%rcx), %eax
je 0xe152
movl $0x0, -0x4(%rbp)
jmp 0xe266
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x8(%rcx), %rax
je 0xe1ae
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0xe17a
movq -0x18(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0xe186
movl $0x0, -0x4(%rbp)
jmp 0xe266
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x6e10
cmpl $0x0, %eax
jne 0xe1ac
movl $0x0, -0x4(%rbp)
jmp 0xe266
jmp 0xe1ae
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x10(%rcx), %rax
je 0xe207
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0xe1d6
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xe1e2
movl $0x0, -0x4(%rbp)
jmp 0xe266
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x69c0
cmpl $0x0, %eax
jne 0xe205
movl $0x0, -0x4(%rbp)
jmp 0xe266
jmp 0xe207
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x18(%rcx), %rax
je 0xe25d
movq -0x10(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0xe22f
movq -0x18(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0xe238
movl $0x0, -0x4(%rbp)
jmp 0xe266
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x6e50
cmpl $0x0, %eax
jne 0xe25b
movl $0x0, -0x4(%rbp)
jmp 0xe266
jmp 0xe25d
jmp 0xe25f
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nop