LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_encode_attribute_operation_policy_name
int
test_encode_attribute_operation_policy_name(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    uint8 expected[56] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x30,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x15,
        0x4F, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6F,
        0x6E, 0x20, 0x50, 0x6F, 0x6C, 0x69, 0x63, 0x79,
        0x20, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x0B, 0x07, 0x00, 0x00, 0x00, 0x07,
        0x64, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x00
    };
    
    uint8 observed[56] = {0};
    struct kmip ctx = {0};
    kmip_init(&ctx, observed, ARRAY_LENGTH(observed), KMIP_1_0);
    
    struct text_string policy = {0};
    policy.value = "default";
    policy.size = 7;
    
    struct attribute attr = {0};
    kmip_init_attribute(&attr);
    
    attr.type = KMIP_ATTR_OPERATION_POLICY_NAME;
    attr.value = &policy;
    
    int result = kmip_encode_attribute(&ctx, &attr);
    result = report_encoding_test_result(
        tracker,
        &ctx,
        expected,
        observed,
        result,
        __func__);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x940, %rsp            # imm = 0x940
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x40(%rbp), %rdi
leaq 0x38b28(%rip), %rsi     # 0x41e50
movl $0x38, %edx
callq 0x10c0
leaq -0x80(%rbp), %rdi
xorl %esi, %esi
movl $0x38, %edx
callq 0x1090
leaq -0x918(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x80(%rbp), %rsi
leaq -0x918(%rbp), %rdi
movl $0x38, %edx
xorl %ecx, %ecx
callq 0x1c6e0
leaq -0x928(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq 0x361ee(%rip), %rax     # 0x3f574
movq %rax, -0x928(%rbp)
movq $0x7, -0x920(%rbp)
leaq -0x938(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x938(%rbp), %rdi
callq 0x1d330
movl $0x5, -0x938(%rbp)
leaq -0x928(%rbp), %rax
movq %rax, -0x930(%rbp)
leaq -0x918(%rbp), %rdi
leaq -0x938(%rbp), %rsi
callq 0x26910
movl %eax, -0x93c(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x40(%rbp), %rdx
leaq -0x80(%rbp), %rcx
movl -0x93c(%rbp), %r8d
leaq -0x918(%rbp), %rsi
leaq 0x36620(%rip), %r9      # 0x3fa29
callq 0x11f0
movl %eax, -0x93c(%rbp)
leaq -0x918(%rbp), %rdi
callq 0x1cab0
movl -0x93c(%rbp), %eax
addq $0x940, %rsp            # imm = 0x940
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_attribute_operation_policy_name
int
test_decode_attribute_operation_policy_name(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    uint8 encoding[56] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x30,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x15,
        0x4F, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6F,
        0x6E, 0x20, 0x50, 0x6F, 0x6C, 0x69, 0x63, 0x79,
        0x20, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x0B, 0x07, 0x00, 0x00, 0x00, 0x07,
        0x64, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x00
    };
    
    struct kmip ctx = {0};
    kmip_init(&ctx, encoding, ARRAY_LENGTH(encoding), KMIP_1_0);
    
    struct text_string policy = {0};
    policy.value = "default";
    policy.size = 7;
    
    struct attribute expected = {0};
    kmip_init_attribute(&expected);
    expected.type = KMIP_ATTR_OPERATION_POLICY_NAME;
    expected.value = &policy;
    struct attribute observed = {0};
    kmip_init_attribute(&observed);
    
    int result = kmip_decode_attribute(&ctx, &observed);
    result = report_decoding_test_result(
        tracker,
        &ctx,
        kmip_compare_attribute(&expected, &observed),
        result,
        __func__);
    kmip_free_attribute(&ctx, &observed);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x920, %rsp            # imm = 0x920
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x40(%rbp), %rdi
leaq 0x38a38(%rip), %rsi     # 0x41e90
movl $0x38, %edx
callq 0x10c0
leaq -0x8d8(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x40(%rbp), %rsi
leaq -0x8d8(%rbp), %rdi
movl $0x38, %edx
xorl %ecx, %ecx
callq 0x1c6e0
leaq -0x8e8(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq 0x360ce(%rip), %rax     # 0x3f574
movq %rax, -0x8e8(%rbp)
movq $0x7, -0x8e0(%rbp)
leaq -0x8f8(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x8f8(%rbp), %rdi
callq 0x1d330
movl $0x5, -0x8f8(%rbp)
leaq -0x8e8(%rbp), %rax
movq %rax, -0x8f0(%rbp)
leaq -0x908(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x908(%rbp), %rdi
callq 0x1d330
leaq -0x8d8(%rbp), %rdi
leaq -0x908(%rbp), %rsi
callq 0x2f0a0
movl %eax, -0x90c(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x918(%rbp)
leaq -0x8f8(%rbp), %rdi
leaq -0x908(%rbp), %rsi
callq 0x20f80
movq -0x918(%rbp), %rdi
movl %eax, %edx
movl -0x90c(%rbp), %ecx
leaq -0x8d8(%rbp), %rsi
leaq 0x364f3(%rip), %r8      # 0x3fa55
callq 0x13a0
movl %eax, -0x90c(%rbp)
leaq -0x8d8(%rbp), %rdi
leaq -0x908(%rbp), %rsi
callq 0x1d8e0
leaq -0x8d8(%rbp), %rdi
callq 0x1cab0
movl -0x90c(%rbp), %eax
addq $0x920, %rsp            # imm = 0x920
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_encode_attribute_cryptographic_usage_mask
int
test_encode_attribute_cryptographic_usage_mask(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    uint8 expected[56] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x30,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x18,
        0x43, 0x72, 0x79, 0x70, 0x74, 0x6F, 0x67, 0x72,
        0x61, 0x70, 0x68, 0x69, 0x63, 0x20, 0x55, 0x73,
        0x61, 0x67, 0x65, 0x20, 0x4D, 0x61, 0x73, 0x6B,
        0x42, 0x00, 0x0B, 0x02, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00
    };
    
    uint8 observed[56] = {0};
    struct kmip ctx = {0};
    kmip_init(&ctx, observed, ARRAY_LENGTH(observed), KMIP_1_0);
    
    int32 mask = KMIP_CRYPTOMASK_ENCRYPT | KMIP_CRYPTOMASK_DECRYPT;
    struct attribute attr = {0};
    kmip_init_attribute(&attr);
    
    attr.type = KMIP_ATTR_CRYPTOGRAPHIC_USAGE_MASK;
    attr.value = &mask;
    
    int result = kmip_encode_attribute(&ctx, &attr);
    result = report_encoding_test_result(
        tracker,
        &ctx,
        expected,
        observed,
        result,
        __func__);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x940, %rsp            # imm = 0x940
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x40(%rbp), %rdi
leaq 0x38908(%rip), %rsi     # 0x41ed0
movl $0x38, %edx
callq 0x10c0
leaq -0x80(%rbp), %rdi
xorl %esi, %esi
movl $0x38, %edx
callq 0x1090
leaq -0x918(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x80(%rbp), %rsi
leaq -0x918(%rbp), %rdi
movl $0x38, %edx
xorl %ecx, %ecx
callq 0x1c6e0
movl $0xc, -0x91c(%rbp)
leaq -0x930(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x930(%rbp), %rdi
callq 0x1d330
movl $0x6, -0x930(%rbp)
leaq -0x91c(%rbp), %rax
movq %rax, -0x928(%rbp)
leaq -0x918(%rbp), %rdi
leaq -0x930(%rbp), %rsi
callq 0x26910
movl %eax, -0x934(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x40(%rbp), %rdx
leaq -0x80(%rbp), %rcx
movl -0x934(%rbp), %r8d
leaq -0x918(%rbp), %rsi
leaq 0x363fa(%rip), %r9      # 0x3fa81
callq 0x11f0
movl %eax, -0x934(%rbp)
leaq -0x918(%rbp), %rdi
callq 0x1cab0
movl -0x934(%rbp), %eax
addq $0x940, %rsp            # imm = 0x940
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_attribute_cryptographic_usage_mask
int
test_decode_attribute_cryptographic_usage_mask(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    uint8 encoding[56] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x30,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x18,
        0x43, 0x72, 0x79, 0x70, 0x74, 0x6F, 0x67, 0x72,
        0x61, 0x70, 0x68, 0x69, 0x63, 0x20, 0x55, 0x73,
        0x61, 0x67, 0x65, 0x20, 0x4D, 0x61, 0x73, 0x6B,
        0x42, 0x00, 0x0B, 0x02, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00
    };
    
    struct kmip ctx = {0};
    kmip_init(&ctx, encoding, ARRAY_LENGTH(encoding), KMIP_1_0);
    
    int32 mask = KMIP_CRYPTOMASK_ENCRYPT | KMIP_CRYPTOMASK_DECRYPT;
    struct attribute expected = {0};
    kmip_init_attribute(&expected);
    expected.type = KMIP_ATTR_CRYPTOGRAPHIC_USAGE_MASK;
    expected.value = &mask;
    struct attribute observed = {0};
    kmip_init_attribute(&observed);
    
    int result = kmip_decode_attribute(&ctx, &observed);
    result = report_decoding_test_result(
        tracker,
        &ctx,
        kmip_compare_attribute(&expected, &observed),
        result,
        __func__);
    kmip_free_attribute(&ctx, &observed);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x910, %rsp            # imm = 0x910
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x40(%rbp), %rdi
leaq 0x38838(%rip), %rsi     # 0x41f10
movl $0x38, %edx
callq 0x10c0
leaq -0x8d8(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x40(%rbp), %rsi
leaq -0x8d8(%rbp), %rdi
movl $0x38, %edx
xorl %ecx, %ecx
callq 0x1c6e0
movl $0xc, -0x8dc(%rbp)
leaq -0x8f0(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x8f0(%rbp), %rdi
callq 0x1d330
movl $0x6, -0x8f0(%rbp)
leaq -0x8dc(%rbp), %rax
movq %rax, -0x8e8(%rbp)
leaq -0x900(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x900(%rbp), %rdi
callq 0x1d330
leaq -0x8d8(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x2f0a0
movl %eax, -0x904(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x910(%rbp)
leaq -0x8f0(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x20f80
movq -0x910(%rbp), %rdi
movl %eax, %edx
movl -0x904(%rbp), %ecx
leaq -0x8d8(%rbp), %rsi
leaq 0x362f0(%rip), %r8      # 0x3fab0
callq 0x13a0
movl %eax, -0x904(%rbp)
leaq -0x8d8(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x1d8e0
leaq -0x8d8(%rbp), %rdi
callq 0x1cab0
movl -0x904(%rbp), %eax
addq $0x910, %rsp            # imm = 0x910
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_encode_attribute_state
int
test_encode_attribute_state(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    uint8 expected[40] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x20,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x05, 
        0x53, 0x74, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x0B, 0x05, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00
    };
    
    uint8 observed[40] = {0};
    struct kmip ctx = {0};
    kmip_init(&ctx, observed, ARRAY_LENGTH(observed), KMIP_1_0);
    
    enum state s = KMIP_STATE_PRE_ACTIVE;
    struct attribute attr = {0};
    kmip_init_attribute(&attr);
    
    attr.type = KMIP_ATTR_STATE;
    attr.value = &s;
    
    int result = kmip_encode_attribute(&ctx, &attr);
    result = report_encoding_test_result(
        tracker,
        &ctx,
        expected,
        observed,
        result,
        __func__);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x920, %rsp            # imm = 0x920
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x30(%rbp), %rdi
leaq 0x38728(%rip), %rsi     # 0x41f50
movl $0x28, %edx
callq 0x10c0
leaq -0x60(%rbp), %rdi
xorl %esi, %esi
movl $0x28, %edx
callq 0x1090
leaq -0x8f8(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x60(%rbp), %rsi
leaq -0x8f8(%rbp), %rdi
movl $0x28, %edx
xorl %ecx, %ecx
callq 0x1c6e0
movl $0x1, -0x8fc(%rbp)
leaq -0x910(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x910(%rbp), %rdi
callq 0x1d330
movl $0x7, -0x910(%rbp)
leaq -0x8fc(%rbp), %rax
movq %rax, -0x908(%rbp)
leaq -0x8f8(%rbp), %rdi
leaq -0x910(%rbp), %rsi
callq 0x26910
movl %eax, -0x914(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x30(%rbp), %rdx
leaq -0x60(%rbp), %rcx
movl -0x914(%rbp), %r8d
leaq -0x8f8(%rbp), %rsi
leaq 0x361f8(%rip), %r9      # 0x3fadf
callq 0x11f0
movl %eax, -0x914(%rbp)
leaq -0x8f8(%rbp), %rdi
callq 0x1cab0
movl -0x914(%rbp), %eax
addq $0x920, %rsp            # imm = 0x920
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_attribute_state
int
test_decode_attribute_state(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    uint8 encoding[40] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x20,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x05, 
        0x53, 0x74, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x0B, 0x05, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00
    };
    
    struct kmip ctx = {0};
    kmip_init(&ctx, encoding, ARRAY_LENGTH(encoding), KMIP_1_0);
    
    enum state s = KMIP_STATE_PRE_ACTIVE;
    struct attribute expected = {0};
    kmip_init_attribute(&expected);
    expected.type = KMIP_ATTR_STATE;
    expected.value = &s;
    struct attribute observed = {0};
    kmip_init_attribute(&observed);
    
    int result = kmip_decode_attribute(&ctx, &observed);
    result = report_decoding_test_result(
        tracker,
        &ctx,
        kmip_compare_attribute(&expected, &observed),
        result,
        __func__);
    kmip_free_attribute(&ctx, &observed);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x900, %rsp            # imm = 0x900
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x30(%rbp), %rdi
leaq 0x38648(%rip), %rsi     # 0x41f80
movl $0x28, %edx
callq 0x10c0
leaq -0x8c8(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x30(%rbp), %rsi
leaq -0x8c8(%rbp), %rdi
movl $0x28, %edx
xorl %ecx, %ecx
callq 0x1c6e0
movl $0x1, -0x8cc(%rbp)
leaq -0x8e0(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x8e0(%rbp), %rdi
callq 0x1d330
movl $0x7, -0x8e0(%rbp)
leaq -0x8cc(%rbp), %rax
movq %rax, -0x8d8(%rbp)
leaq -0x8f0(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x8f0(%rbp), %rdi
callq 0x1d330
leaq -0x8c8(%rbp), %rdi
leaq -0x8f0(%rbp), %rsi
callq 0x2f0a0
movl %eax, -0x8f4(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x900(%rbp)
leaq -0x8e0(%rbp), %rdi
leaq -0x8f0(%rbp), %rsi
callq 0x20f80
movq -0x900(%rbp), %rdi
movl %eax, %edx
movl -0x8f4(%rbp), %ecx
leaq -0x8c8(%rbp), %rsi
leaq 0x360db(%rip), %r8      # 0x3fafb
callq 0x13a0
movl %eax, -0x8f4(%rbp)
leaq -0x8c8(%rbp), %rdi
leaq -0x8f0(%rbp), %rsi
callq 0x1d8e0
leaq -0x8c8(%rbp), %rdi
callq 0x1cab0
movl -0x8f4(%rbp), %eax
addq $0x900, %rsp            # imm = 0x900
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_encode_attribute_object_group
int
test_encode_attribute_object_group(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    /* This encoding matches the following values:
    *  Attribute
    *      Attribute Name - Object Group
    *      Attribute Value - RoundRobinTestGroup
    */
    uint8 expected[64] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x38,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x0C,
        0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x20, 0x47,
        0x72, 0x6F, 0x75, 0x70, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x0B, 0x07, 0x00, 0x00, 0x00, 0x13,
        0x52, 0x6F, 0x75, 0x6E, 0x64, 0x52, 0x6F, 0x62,
        0x69, 0x6E, 0x54, 0x65, 0x73, 0x74, 0x47, 0x72,
        0x6F, 0x75, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00
    };

    uint8 observed[64] = {0};
    KMIP ctx = {0};
    kmip_init(&ctx, observed, ARRAY_LENGTH(observed), KMIP_1_0);

    TextString object_group = {0};
    object_group.value = "RoundRobinTestGroup";
    object_group.size = 19;

    Attribute attr = {0};
    kmip_init_attribute(&attr);

    attr.type = KMIP_ATTR_OBJECT_GROUP;
    attr.value = &object_group;

    int result = kmip_encode_attribute(&ctx, &attr);
    result = report_encoding_test_result(
        tracker,
        &ctx,
        expected,
        observed,
        result,
        __func__);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x950, %rsp            # imm = 0x950
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x50(%rbp), %rdi
leaq 0x38528(%rip), %rsi     # 0x41fb0
movl $0x40, %edx
callq 0x10c0
leaq -0x90(%rbp), %rdi
xorl %esi, %esi
movl $0x40, %edx
callq 0x1090
leaq -0x928(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x90(%rbp), %rsi
leaq -0x928(%rbp), %rdi
movl $0x40, %edx
xorl %ecx, %ecx
callq 0x1c6e0
leaq -0x938(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq 0x3602b(%rip), %rax     # 0x3fb17
movq %rax, -0x938(%rbp)
movq $0x13, -0x930(%rbp)
leaq -0x948(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x948(%rbp), %rdi
callq 0x1d330
movl $0x9, -0x948(%rbp)
leaq -0x938(%rbp), %rax
movq %rax, -0x940(%rbp)
leaq -0x928(%rbp), %rdi
leaq -0x948(%rbp), %rsi
callq 0x26910
movl %eax, -0x94c(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x50(%rbp), %rdx
leaq -0x90(%rbp), %rcx
movl -0x94c(%rbp), %r8d
leaq -0x928(%rbp), %rsi
leaq 0x35fb9(%rip), %r9      # 0x3fb2b
callq 0x11f0
movl %eax, -0x94c(%rbp)
leaq -0x928(%rbp), %rdi
callq 0x1cab0
movl -0x94c(%rbp), %eax
addq $0x950, %rsp            # imm = 0x950
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_attribute_object_group
int
test_decode_attribute_object_group(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    /* This encoding matches the following values:
    *  Attribute
    *      Attribute Name - Object Group
    *      Attribute Value - RoundRobinTestGroup
    */
    uint8 encoding[64] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x38,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x0C,
        0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x20, 0x47,
        0x72, 0x6F, 0x75, 0x70, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x0B, 0x07, 0x00, 0x00, 0x00, 0x13,
        0x52, 0x6F, 0x75, 0x6E, 0x64, 0x52, 0x6F, 0x62,
        0x69, 0x6E, 0x54, 0x65, 0x73, 0x74, 0x47, 0x72,
        0x6F, 0x75, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00
    };

    KMIP ctx = {0};
    kmip_init(&ctx, encoding, ARRAY_LENGTH(encoding), KMIP_1_0);

    TextString object_group = {0};
    object_group.value = "RoundRobinTestGroup";
    object_group.size = 19;

    Attribute expected = {0};
    kmip_init_attribute(&expected);
    expected.type = KMIP_ATTR_OBJECT_GROUP;
    expected.value = &object_group;
    Attribute observed = {0};
    kmip_init_attribute(&observed);

    int result = kmip_decode_attribute(&ctx, &observed);
    result = report_decoding_test_result(
        tracker,
        &ctx,
        kmip_compare_attribute(&expected, &observed),
        result,
        __func__);
    kmip_free_attribute(&ctx, &observed);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x930, %rsp            # imm = 0x930
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x50(%rbp), %rdi
leaq 0x38428(%rip), %rsi     # 0x41ff0
movl $0x40, %edx
callq 0x10c0
leaq -0x8e8(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x50(%rbp), %rsi
leaq -0x8e8(%rbp), %rdi
movl $0x40, %edx
xorl %ecx, %ecx
callq 0x1c6e0
leaq -0x8f8(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq 0x35f01(%rip), %rax     # 0x3fb17
movq %rax, -0x8f8(%rbp)
movq $0x13, -0x8f0(%rbp)
leaq -0x908(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x908(%rbp), %rdi
callq 0x1d330
movl $0x9, -0x908(%rbp)
leaq -0x8f8(%rbp), %rax
movq %rax, -0x900(%rbp)
leaq -0x918(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x918(%rbp), %rdi
callq 0x1d330
leaq -0x8e8(%rbp), %rdi
leaq -0x918(%rbp), %rsi
callq 0x2f0a0
movl %eax, -0x91c(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x928(%rbp)
leaq -0x908(%rbp), %rdi
leaq -0x918(%rbp), %rsi
callq 0x20f80
movq -0x928(%rbp), %rdi
movl %eax, %edx
movl -0x91c(%rbp), %ecx
leaq -0x8e8(%rbp), %rsi
leaq 0x35e7c(%rip), %r8      # 0x3fb4e
callq 0x13a0
movl %eax, -0x91c(%rbp)
leaq -0x8e8(%rbp), %rdi
leaq -0x918(%rbp), %rsi
callq 0x1d8e0
leaq -0x8e8(%rbp), %rdi
callq 0x1cab0
movl -0x91c(%rbp), %eax
addq $0x930, %rsp            # imm = 0x930
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_encode_attribute_activation_date
int
test_encode_attribute_activation_date(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    /* This encoding matches the following values:
    *  Attribute
    *      Attribute Name - Activation Date
    *      Attribute Value - 2 (Thu Jan 01 01:00:02 UST 1970)
    */
    uint8 expected[48] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x28,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x0F,
        0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69,
        0x6F, 0x6E, 0x20, 0x44, 0x61, 0x74, 0x65, 0x00,
        0x42, 0x00, 0x0B, 0x09, 0x00, 0x00, 0x00, 0x08,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02
    };

    uint8 observed[48] = {0};
    KMIP ctx = {0};
    kmip_init(&ctx, observed, ARRAY_LENGTH(observed), KMIP_1_0);

    int64 date_time = 2;

    Attribute attr = {0};
    kmip_init_attribute(&attr);

    attr.type = KMIP_ATTR_ACTIVATION_DATE;
    attr.value = &date_time;

    int result = kmip_encode_attribute(&ctx, &attr);
    result = report_encoding_test_result(
        tracker,
        &ctx,
        expected,
        observed,
        result,
        __func__
    );
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x930, %rsp            # imm = 0x930
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x40(%rbp), %rdi
leaq 0x382f8(%rip), %rsi     # 0x42030
movl $0x30, %edx
callq 0x10c0
leaq -0x70(%rbp), %rdi
xorl %esi, %esi
movl $0x30, %edx
callq 0x1090
leaq -0x908(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x70(%rbp), %rsi
leaq -0x908(%rbp), %rdi
movl $0x30, %edx
xorl %ecx, %ecx
callq 0x1c6e0
movq $0x2, -0x910(%rbp)
leaq -0x920(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x920(%rbp), %rdi
callq 0x1d330
movl $0xa, -0x920(%rbp)
leaq -0x910(%rbp), %rax
movq %rax, -0x918(%rbp)
leaq -0x908(%rbp), %rdi
leaq -0x920(%rbp), %rsi
callq 0x26910
movl %eax, -0x924(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x40(%rbp), %rdx
leaq -0x70(%rbp), %rcx
movl -0x924(%rbp), %r8d
leaq -0x908(%rbp), %rsi
leaq 0x35d79(%rip), %r9      # 0x3fb71
callq 0x11f0
movl %eax, -0x924(%rbp)
leaq -0x908(%rbp), %rdi
callq 0x1cab0
movl -0x924(%rbp), %eax
addq $0x930, %rsp            # imm = 0x930
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_attribute_activation_date
int
test_decode_attribute_activation_date(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    uint8 encoding[48] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x28,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x0F,
        0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69,
        0x6F, 0x6E, 0x20, 0x44, 0x61, 0x74, 0x65, 0x00,
        0x42, 0x00, 0x0B, 0x09, 0x00, 0x00, 0x00, 0x08,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02
    };

    KMIP ctx = {0};
    kmip_init(&ctx, encoding, ARRAY_LENGTH(encoding), KMIP_1_0);

    int64 date_time = 2;
    Attribute expected = {0};
    kmip_init_attribute(&expected);
    expected.type = KMIP_ATTR_ACTIVATION_DATE;
    expected.value = &date_time;
    Attribute observed = {0};
    kmip_init_attribute(&observed);

    int result = kmip_decode_attribute(&ctx, &observed);
    result = report_decoding_test_result(
        tracker,
        &ctx,
        kmip_compare_attribute(&expected, &observed),
        result,
        __func__);
    kmip_free_attribute(&ctx, &observed);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x910, %rsp            # imm = 0x910
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x40(%rbp), %rdi
leaq 0x38218(%rip), %rsi     # 0x42060
movl $0x30, %edx
callq 0x10c0
leaq -0x8d8(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x40(%rbp), %rsi
leaq -0x8d8(%rbp), %rdi
movl $0x30, %edx
xorl %ecx, %ecx
callq 0x1c6e0
movq $0x2, -0x8e0(%rbp)
leaq -0x8f0(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x8f0(%rbp), %rdi
callq 0x1d330
movl $0xa, -0x8f0(%rbp)
leaq -0x8e0(%rbp), %rax
movq %rax, -0x8e8(%rbp)
leaq -0x900(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x900(%rbp), %rdi
callq 0x1d330
leaq -0x8d8(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x2f0a0
movl %eax, -0x904(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x910(%rbp)
leaq -0x8f0(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x20f80
movq -0x910(%rbp), %rdi
movl %eax, %edx
movl -0x904(%rbp), %ecx
leaq -0x8d8(%rbp), %rsi
leaq 0x35c66(%rip), %r8      # 0x3fb97
callq 0x13a0
movl %eax, -0x904(%rbp)
leaq -0x8d8(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x1d8e0
leaq -0x8d8(%rbp), %rdi
callq 0x1cab0
movl -0x904(%rbp), %eax
addq $0x910, %rsp            # imm = 0x910
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_encode_attribute_deactivation_date
int
test_encode_attribute_deactivation_date(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    /* This encoding matches the following values:
    *  Attribute
    *      Attribute Name - Deactivation Date
    *      Attribute Value - 1335514467 (Fri Apr 27 10:14:27 CEST 2012)
    */
    uint8 expected[56] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x30,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x11,
        0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61,
        0x74, 0x69, 0x6F, 0x6E, 0x20, 0x44, 0x61, 0x74,
        0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x0B, 0x09, 0x00, 0x00, 0x00, 0x08,
        0x00, 0x00, 0x00, 0x00, 0x4F, 0x9A, 0x55, 0x63
    };

    uint8 observed[56] = {0};
    KMIP ctx = {0};
    kmip_init(&ctx, observed, ARRAY_LENGTH(observed), KMIP_1_0);

    int64 date_time = 1335514467;

    Attribute attr = {0};
    kmip_init_attribute(&attr);

    attr.type = KMIP_ATTR_DEACTIVATION_DATE;
    attr.value = &date_time;

    int result = kmip_encode_attribute(&ctx, &attr);
    result = report_encoding_test_result(
        tracker,
        &ctx,
        expected,
        observed,
        result,
        __func__
    );
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x940, %rsp            # imm = 0x940
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x40(%rbp), %rdi
leaq 0x380f8(%rip), %rsi     # 0x42090
movl $0x38, %edx
callq 0x10c0
leaq -0x80(%rbp), %rdi
xorl %esi, %esi
movl $0x38, %edx
callq 0x1090
leaq -0x918(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x80(%rbp), %rsi
leaq -0x918(%rbp), %rdi
movl $0x38, %edx
xorl %ecx, %ecx
callq 0x1c6e0
movq $0x4f9a5563, -0x920(%rbp) # imm = 0x4F9A5563
leaq -0x930(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x930(%rbp), %rdi
callq 0x1d330
movl $0xb, -0x930(%rbp)
leaq -0x920(%rbp), %rax
movq %rax, -0x928(%rbp)
leaq -0x918(%rbp), %rdi
leaq -0x930(%rbp), %rsi
callq 0x26910
movl %eax, -0x934(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x40(%rbp), %rdx
leaq -0x80(%rbp), %rcx
movl -0x934(%rbp), %r8d
leaq -0x918(%rbp), %rsi
leaq 0x35b65(%rip), %r9      # 0x3fbbd
callq 0x11f0
movl %eax, -0x934(%rbp)
leaq -0x918(%rbp), %rdi
callq 0x1cab0
movl -0x934(%rbp), %eax
addq $0x940, %rsp            # imm = 0x940
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_attribute_deactivation_date
int
test_decode_attribute_deactivation_date(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    /* This encoding matches the following values:
    *  Attribute
    *      Attribute Name - Deactivation Date
    *      Attribute Value - 1335514467 (Fri Apr 27 10:14:27 CEST 2012)
    */
    uint8 encoding[56] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x30,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x11,
        0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61,
        0x74, 0x69, 0x6F, 0x6E, 0x20, 0x44, 0x61, 0x74,
        0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x0B, 0x09, 0x00, 0x00, 0x00, 0x08,
        0x00, 0x00, 0x00, 0x00, 0x4F, 0x9A, 0x55, 0x63
    };

    KMIP ctx = {0};
    kmip_init(&ctx, encoding, ARRAY_LENGTH(encoding), KMIP_1_0);

    int64 date_time = 1335514467;
    Attribute expected = {0};
    kmip_init_attribute(&expected);
    expected.type = KMIP_ATTR_DEACTIVATION_DATE;
    expected.value = &date_time;
    Attribute observed = {0};
    kmip_init_attribute(&observed);

    int result = kmip_decode_attribute(&ctx, &observed);
    result = report_decoding_test_result(
        tracker,
        &ctx,
        kmip_compare_attribute(&expected, &observed),
        result,
        __func__);
    kmip_free_attribute(&ctx, &observed);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x910, %rsp            # imm = 0x910
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x40(%rbp), %rdi
leaq 0x38028(%rip), %rsi     # 0x420d0
movl $0x38, %edx
callq 0x10c0
leaq -0x8d8(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x40(%rbp), %rsi
leaq -0x8d8(%rbp), %rdi
movl $0x38, %edx
xorl %ecx, %ecx
callq 0x1c6e0
movq $0x4f9a5563, -0x8e0(%rbp) # imm = 0x4F9A5563
leaq -0x8f0(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x8f0(%rbp), %rdi
callq 0x1d330
movl $0xb, -0x8f0(%rbp)
leaq -0x8e0(%rbp), %rax
movq %rax, -0x8e8(%rbp)
leaq -0x900(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x900(%rbp), %rdi
callq 0x1d330
leaq -0x8d8(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x2f0a0
movl %eax, -0x904(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x910(%rbp)
leaq -0x8f0(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x20f80
movq -0x910(%rbp), %rdi
movl %eax, %edx
movl -0x904(%rbp), %ecx
leaq -0x8d8(%rbp), %rsi
leaq 0x35a54(%rip), %r8      # 0x3fbe5
callq 0x13a0
movl %eax, -0x904(%rbp)
leaq -0x8d8(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x1d8e0
leaq -0x8d8(%rbp), %rdi
callq 0x1cab0
movl -0x904(%rbp), %eax
addq $0x910, %rsp            # imm = 0x910
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_encode_attribute_process_start_date
int
test_encode_attribute_process_start_date(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    /* This encoding matches the following values:
    *  Attribute
    *      Attribute Name - Process Start Date
    *      Attribute Value - 1136113200 (Sun Jan 01 12:00:00 CET 2006)
    */
    uint8 expected[56] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x30,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x12,
        0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x20,
        0x53, 0x74, 0x61, 0x72, 0x74, 0x20, 0x44, 0x61,
        0x74, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x0B, 0x09, 0x00, 0x00, 0x00, 0x08,
        0x00, 0x00, 0x00, 0x00, 0x43, 0xB7, 0xB6, 0x30
    };

    uint8 observed[56] = {0};
    KMIP ctx = {0};
    kmip_init(&ctx, observed, ARRAY_LENGTH(observed), KMIP_1_0);

    int64 date_time = 1136113200;

    Attribute attr = {0};
    kmip_init_attribute(&attr);

    attr.type = KMIP_ATTR_PROCESS_START_DATE;
    attr.value = &date_time;

    int result = kmip_encode_attribute(&ctx, &attr);
    result = report_encoding_test_result(
        tracker,
        &ctx,
        expected,
        observed,
        result,
        __func__
    );
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x940, %rsp            # imm = 0x940
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x40(%rbp), %rdi
leaq 0x37f18(%rip), %rsi     # 0x42110
movl $0x38, %edx
callq 0x10c0
leaq -0x80(%rbp), %rdi
xorl %esi, %esi
movl $0x38, %edx
callq 0x1090
leaq -0x918(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x80(%rbp), %rsi
leaq -0x918(%rbp), %rdi
movl $0x38, %edx
xorl %ecx, %ecx
callq 0x1c6e0
movq $0x43b7b630, -0x920(%rbp) # imm = 0x43B7B630
leaq -0x930(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x930(%rbp), %rdi
callq 0x1d330
movl $0xc, -0x930(%rbp)
leaq -0x920(%rbp), %rax
movq %rax, -0x928(%rbp)
leaq -0x918(%rbp), %rdi
leaq -0x930(%rbp), %rsi
callq 0x26910
movl %eax, -0x934(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x40(%rbp), %rdx
leaq -0x80(%rbp), %rcx
movl -0x934(%rbp), %r8d
leaq -0x918(%rbp), %rsi
leaq 0x35955(%rip), %r9      # 0x3fc0d
callq 0x11f0
movl %eax, -0x934(%rbp)
leaq -0x918(%rbp), %rdi
callq 0x1cab0
movl -0x934(%rbp), %eax
addq $0x940, %rsp            # imm = 0x940
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_attribute_process_start_date
int
test_decode_attribute_process_start_date(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    /* This encoding matches the following values:
    *  Attribute
    *      Attribute Name - Process Start Date
    *      Attribute Value - 1136113200 (Sun Jan 01 12:00:00 CET 2006)
    */
    uint8 encoding[56] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x30,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x12,
        0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x20,
        0x53, 0x74, 0x61, 0x72, 0x74, 0x20, 0x44, 0x61,
        0x74, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x0B, 0x09, 0x00, 0x00, 0x00, 0x08,
        0x00, 0x00, 0x00, 0x00, 0x43, 0xB7, 0xB6, 0x30
    };

    KMIP ctx = {0};
    kmip_init(&ctx, encoding, ARRAY_LENGTH(encoding), KMIP_1_0);

    int64 date_time = 1136113200;
    Attribute expected = {0};
    kmip_init_attribute(&expected);
    expected.type = KMIP_ATTR_PROCESS_START_DATE;
    expected.value = &date_time;
    Attribute observed = {0};
    kmip_init_attribute(&observed);

    int result = kmip_decode_attribute(&ctx, &observed);
    result = report_decoding_test_result(
        tracker,
        &ctx,
        kmip_compare_attribute(&expected, &observed),
        result,
        __func__);
    kmip_free_attribute(&ctx, &observed);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x910, %rsp            # imm = 0x910
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x40(%rbp), %rdi
leaq 0x37e48(%rip), %rsi     # 0x42150
movl $0x38, %edx
callq 0x10c0
leaq -0x8d8(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x40(%rbp), %rsi
leaq -0x8d8(%rbp), %rdi
movl $0x38, %edx
xorl %ecx, %ecx
callq 0x1c6e0
movq $0x43b7b630, -0x8e0(%rbp) # imm = 0x43B7B630
leaq -0x8f0(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x8f0(%rbp), %rdi
callq 0x1d330
movl $0xc, -0x8f0(%rbp)
leaq -0x8e0(%rbp), %rax
movq %rax, -0x8e8(%rbp)
leaq -0x900(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x900(%rbp), %rdi
callq 0x1d330
leaq -0x8d8(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x2f0a0
movl %eax, -0x904(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x910(%rbp)
leaq -0x8f0(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x20f80
movq -0x910(%rbp), %rdi
movl %eax, %edx
movl -0x904(%rbp), %ecx
leaq -0x8d8(%rbp), %rsi
leaq 0x35845(%rip), %r8      # 0x3fc36
callq 0x13a0
movl %eax, -0x904(%rbp)
leaq -0x8d8(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x1d8e0
leaq -0x8d8(%rbp), %rdi
callq 0x1cab0
movl -0x904(%rbp), %eax
addq $0x910, %rsp            # imm = 0x910
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_encode_attribute_protect_stop_date
int
test_encode_attribute_protect_stop_date(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    /* This encoding matches the following values:
    *  Attribute
    *      Attribute Name - Protect Stop Date
    *      Attribute Value - 1335514945 (Fri Apr 27 10:22:25 CEST 2012)
    */
    uint8 expected[56] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x30,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x11,
        0x50, 0x72, 0x6F, 0x74, 0x65, 0x63, 0x74, 0x20,
        0x53, 0x74, 0x6F, 0x70, 0x20, 0x44, 0x61, 0x74,
        0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x0B, 0x09, 0x00, 0x00, 0x00, 0x08,
        0x00, 0x00, 0x00, 0x00, 0x4F, 0x9A, 0x57, 0x41
    };

    uint8 observed[56] = {0};
    KMIP ctx = {0};
    kmip_init(&ctx, observed, ARRAY_LENGTH(observed), KMIP_1_0);

    int64 date_time = 1335514945;

    Attribute attr = {0};
    kmip_init_attribute(&attr);

    attr.type = KMIP_ATTR_PROTECT_STOP_DATE;
    attr.value = &date_time;

    int result = kmip_encode_attribute(&ctx, &attr);
    result = report_encoding_test_result(
        tracker,
        &ctx,
        expected,
        observed,
        result,
        __func__
    );
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x940, %rsp            # imm = 0x940
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x40(%rbp), %rdi
leaq 0x37d38(%rip), %rsi     # 0x42190
movl $0x38, %edx
callq 0x10c0
leaq -0x80(%rbp), %rdi
xorl %esi, %esi
movl $0x38, %edx
callq 0x1090
leaq -0x918(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x80(%rbp), %rsi
leaq -0x918(%rbp), %rdi
movl $0x38, %edx
xorl %ecx, %ecx
callq 0x1c6e0
movq $0x4f9a5741, -0x920(%rbp) # imm = 0x4F9A5741
leaq -0x930(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x930(%rbp), %rdi
callq 0x1d330
movl $0xd, -0x930(%rbp)
leaq -0x920(%rbp), %rax
movq %rax, -0x928(%rbp)
leaq -0x918(%rbp), %rdi
leaq -0x930(%rbp), %rsi
callq 0x26910
movl %eax, -0x934(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x40(%rbp), %rdx
leaq -0x80(%rbp), %rcx
movl -0x934(%rbp), %r8d
leaq -0x918(%rbp), %rsi
leaq 0x35747(%rip), %r9      # 0x3fc5f
callq 0x11f0
movl %eax, -0x934(%rbp)
leaq -0x918(%rbp), %rdi
callq 0x1cab0
movl -0x934(%rbp), %eax
addq $0x940, %rsp            # imm = 0x940
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_attribute_protect_stop_date
int
test_decode_attribute_protect_stop_date(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    /* This encoding matches the following values:
    *  Attribute
    *      Attribute Name - Protect Stop Date
    *      Attribute Value - 1335514945 (Fri Apr 27 10:22:25 CEST 2012)
    */
    uint8 encoding[56] = {
        0x42, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x30,
        0x42, 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x11,
        0x50, 0x72, 0x6F, 0x74, 0x65, 0x63, 0x74, 0x20,
        0x53, 0x74, 0x6F, 0x70, 0x20, 0x44, 0x61, 0x74,
        0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x0B, 0x09, 0x00, 0x00, 0x00, 0x08,
        0x00, 0x00, 0x00, 0x00, 0x4F, 0x9A, 0x57, 0x41
    };

    KMIP ctx = {0};
    kmip_init(&ctx, encoding, ARRAY_LENGTH(encoding), KMIP_1_0);

    int64 date_time = 1335514945;
    Attribute expected = {0};
    kmip_init_attribute(&expected);
    expected.type = KMIP_ATTR_PROTECT_STOP_DATE;
    expected.value = &date_time;
    Attribute observed = {0};
    kmip_init_attribute(&observed);

    int result = kmip_decode_attribute(&ctx, &observed);
    result = report_decoding_test_result(
        tracker,
        &ctx,
        kmip_compare_attribute(&expected, &observed),
        result,
        __func__);
    kmip_free_attribute(&ctx, &observed);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x910, %rsp            # imm = 0x910
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x40(%rbp), %rdi
leaq 0x37c68(%rip), %rsi     # 0x421d0
movl $0x38, %edx
callq 0x10c0
leaq -0x8d8(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x40(%rbp), %rsi
leaq -0x8d8(%rbp), %rdi
movl $0x38, %edx
xorl %ecx, %ecx
callq 0x1c6e0
movq $0x4f9a5741, -0x8e0(%rbp) # imm = 0x4F9A5741
leaq -0x8f0(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x8f0(%rbp), %rdi
callq 0x1d330
movl $0xd, -0x8f0(%rbp)
leaq -0x8e0(%rbp), %rax
movq %rax, -0x8e8(%rbp)
leaq -0x900(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x1090
leaq -0x900(%rbp), %rdi
callq 0x1d330
leaq -0x8d8(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x2f0a0
movl %eax, -0x904(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x910(%rbp)
leaq -0x8f0(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x20f80
movq -0x910(%rbp), %rdi
movl %eax, %edx
movl -0x904(%rbp), %ecx
leaq -0x8d8(%rbp), %rsi
leaq 0x35636(%rip), %r8      # 0x3fc87
callq 0x13a0
movl %eax, -0x904(%rbp)
leaq -0x8d8(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x1d8e0
leaq -0x8d8(%rbp), %rdi
callq 0x1cab0
movl -0x904(%rbp), %eax
addq $0x910, %rsp            # imm = 0x910
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_encode_protocol_version
int
test_encode_protocol_version(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    uint8 expected[40] = {
        0x42, 0x00, 0x69, 0x01, 0x00, 0x00, 0x00, 0x20,
        0x42, 0x00, 0x6A, 0x02, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x6B, 0x02, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    };
    
    uint8 observed[40] = {0};
    struct kmip ctx = {0};
    kmip_init(&ctx, observed, ARRAY_LENGTH(observed), KMIP_1_0);
    
    struct protocol_version pv = {0};
    pv.major = 1;
    pv.minor = 0;
    
    int result = kmip_encode_protocol_version(&ctx, &pv);
    result = report_encoding_test_result(
        tracker,
        &ctx,
        expected,
        observed,
        result,
        __func__);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x910, %rsp            # imm = 0x910
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x30(%rbp), %rdi
leaq 0x37948(%rip), %rsi     # 0x422d0
movl $0x28, %edx
callq 0x10c0
leaq -0x60(%rbp), %rdi
xorl %esi, %esi
movl $0x28, %edx
callq 0x1090
leaq -0x8f8(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x60(%rbp), %rsi
leaq -0x8f8(%rbp), %rdi
movl $0x28, %edx
xorl %ecx, %ecx
callq 0x1c6e0
leaq -0x900(%rbp), %rdi
xorl %esi, %esi
movl $0x8, %edx
callq 0x1090
movl $0x1, -0x900(%rbp)
movl $0x0, -0x8fc(%rbp)
leaq -0x8f8(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x26cf0
movl %eax, -0x904(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x30(%rbp), %rdx
leaq -0x60(%rbp), %rcx
movl -0x904(%rbp), %r8d
leaq -0x8f8(%rbp), %rsi
leaq 0x352e0(%rip), %r9      # 0x3fd0d
callq 0x11f0
movl %eax, -0x904(%rbp)
leaq -0x8f8(%rbp), %rdi
callq 0x1cab0
movl -0x904(%rbp), %eax
addq $0x910, %rsp            # imm = 0x910
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_protocol_version
int
test_decode_protocol_version(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    uint8 encoding[40] = {
        0x42, 0x00, 0x69, 0x01, 0x00, 0x00, 0x00, 0x20,
        0x42, 0x00, 0x6A, 0x02, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x6B, 0x02, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    };
    
    struct kmip ctx = {0};
    kmip_init(&ctx, encoding, ARRAY_LENGTH(encoding), KMIP_1_0);
    
    struct protocol_version expected = {0};
    expected.major = 1;
    expected.minor = 0;
    struct protocol_version observed = {0};
    
    int result = kmip_decode_protocol_version(&ctx, &observed);
    result = report_decoding_test_result(
        tracker,
        &ctx,
        kmip_compare_protocol_version(&expected, &observed),
        result,
        __func__);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x8f0, %rsp            # imm = 0x8F0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x30(%rbp), %rdi
leaq 0x37878(%rip), %rsi     # 0x42300
movl $0x28, %edx
callq 0x10c0
leaq -0x8c8(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0x30(%rbp), %rsi
leaq -0x8c8(%rbp), %rdi
movl $0x28, %edx
xorl %ecx, %ecx
callq 0x1c6e0
leaq -0x8d0(%rbp), %rdi
xorl %esi, %esi
movl $0x8, %edx
callq 0x1090
movl $0x1, -0x8d0(%rbp)
movl $0x0, -0x8cc(%rbp)
leaq -0x8d8(%rbp), %rdi
xorl %esi, %esi
movl $0x8, %edx
callq 0x1090
leaq -0x8c8(%rbp), %rdi
leaq -0x8d8(%rbp), %rsi
callq 0x2f820
movl %eax, -0x8dc(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x8e8(%rbp)
leaq -0x8d0(%rbp), %rdi
leaq -0x8d8(%rbp), %rsi
callq 0x21890
movq -0x8e8(%rbp), %rdi
movl %eax, %edx
movl -0x8dc(%rbp), %ecx
leaq -0x8c8(%rbp), %rsi
leaq 0x351e0(%rip), %r8      # 0x3fd2a
callq 0x13a0
movl %eax, -0x8dc(%rbp)
leaq -0x8c8(%rbp), %rdi
callq 0x1cab0
movl -0x8dc(%rbp), %eax
addq $0x8f0, %rsp            # imm = 0x8F0
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_encode_cryptographic_parameters
int
test_encode_cryptographic_parameters(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    uint8 expected[72] = {
        0x42, 0x00, 0x2B, 0x01, 0x00, 0x00, 0x00, 0x40,
        0x42, 0x00, 0x11, 0x05, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x5F, 0x05, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x38, 0x05, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x83, 0x05, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00
    };
    
    uint8 observed[72] = {0};
    struct kmip ctx = {0};
    kmip_init(&ctx, observed, ARRAY_LENGTH(observed), KMIP_1_0);
    
    struct cryptographic_parameters cp = {0};
    cp.block_cipher_mode = KMIP_BLOCK_CBC;
    cp.padding_method = KMIP_PAD_PKCS5;
    cp.hashing_algorithm = KMIP_HASH_SHA1;
    cp.key_role_type = KMIP_ROLE_KEK;
    
    int result = kmip_encode_cryptographic_parameters(&ctx, &cp);
    result = report_encoding_test_result(
        tracker,
        &ctx,
        expected,
        observed,
        result,
        __func__);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x990, %rsp            # imm = 0x990
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
addw $0x1, %cx
movw %cx, (%rax)
leaq -0x50(%rbp), %rdi
leaq 0x37798(%rip), %rsi     # 0x42330
movl $0x48, %edx
callq 0x10c0
leaq -0xa0(%rbp), %rdi
xorl %esi, %esi
movl $0x48, %edx
callq 0x1090
leaq -0x938(%rbp), %rdi
xorl %esi, %esi
movl $0x898, %edx            # imm = 0x898
callq 0x1090
leaq -0xa0(%rbp), %rsi
leaq -0x938(%rbp), %rdi
movl $0x48, %edx
xorl %ecx, %ecx
callq 0x1c6e0
leaq -0x988(%rbp), %rdi
xorl %esi, %esi
movl $0x50, %edx
callq 0x1090
movl $0x1, -0x988(%rbp)
movl $0x3, -0x984(%rbp)
movl $0x4, -0x980(%rbp)
movl $0xb, -0x97c(%rbp)
leaq -0x938(%rbp), %rdi
leaq -0x988(%rbp), %rsi
callq 0x26030
movl %eax, -0x98c(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x50(%rbp), %rdx
leaq -0xa0(%rbp), %rcx
movl -0x98c(%rbp), %r8d
leaq -0x938(%rbp), %rsi
leaq 0x350ed(%rip), %r9      # 0x3fd47
callq 0x11f0
movl %eax, -0x98c(%rbp)
leaq -0x938(%rbp), %rdi
callq 0x1cab0
movl -0x98c(%rbp), %eax
addq $0x990, %rsp            # imm = 0x990
popq %rbp
retq