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

    /* This encoding matches the following value:
    *  State - Active
    */
    uint8 encoding[16] = {
        0x42, 0x00, 0x8D, 0x05, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
    };

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

    Attribute expected = {0};
    kmip_init_attribute(&expected);
    enum state state = KMIP_STATE_ACTIVE;
    expected.type = KMIP_ATTR_STATE;
    expected.value = &state;

    Attribute observed = {0};
    int result = kmip_decode_attribute_v2(&ctx, &observed);
    int comparison = kmip_compare_attribute(&expected, &observed);
    if(!comparison)
    {
        kmip_print_attribute(stderr, 1, &expected);
        kmip_print_attribute(stderr, 1, &observed);
    }
    result = report_decoding_test_result(tracker, &ctx, comparison, result, __func__);

    kmip_free_attribute(&ctx, &observed);
    kmip_destroy(&ctx);

    return(result);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x8e0, %rsp            # imm = 0x8E0
movq %rdi, %rbx
incw (%rdi)
movaps 0x1f0e9(%rip), %xmm0    # 0x2d170
leaq 0x30(%rsp), %r15
movaps %xmm0, (%r15)
leaq 0x48(%rsp), %r14
movl $0x898, %edx            # imm = 0x898
movq %r14, %rdi
xorl %esi, %esi
callq 0x10c0
movl $0x10, %edx
movq %r14, %rdi
movq %r15, %rsi
movl $0x5, %ecx
callq 0x13177
xorps %xmm0, %xmm0
leaq 0x20(%rsp), %r15
movaps %xmm0, (%r15)
movq %r15, %rdi
callq 0x1388b
leaq 0xc(%rsp), %rax
movl $0x2, (%rax)
movl $0x7, (%r15)
movq %rax, 0x8(%r15)
leaq 0x10(%rsp), %r12
xorps %xmm0, %xmm0
movaps %xmm0, (%r12)
movq %r14, %rdi
movq %r12, %rsi
callq 0x1ee71
movl %eax, %ebp
movq %r15, %rdi
movq %r12, %rsi
callq 0x15d75
testl %eax, %eax
jne 0xe139
movq 0x34ee5(%rip), %r14     # 0x42ff8
movq (%r14), %rdi
leaq 0x20(%rsp), %rdx
movl $0x1, %esi
callq 0x2b53a
movq (%r14), %rdi
leaq 0x10(%rsp), %rdx
movl $0x1, %esi
callq 0x2b53a
xorl %eax, %eax
leaq 0x20c65(%rip), %r8      # 0x2eda5
leaq 0x48(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
movl %eax, %edx
movl %ebp, %ecx
callq 0x1363
movl %eax, %ebx
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x13afe
movq %r14, %rdi
callq 0x13455
movl %ebx, %eax
addq $0x8e0, %rsp            # imm = 0x8E0
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_attribute_v2_object_group
int
test_decode_attribute_v2_object_group(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    /* This encoding matches the following value:
    *  Object Group - RoundRobinTestGroup
    */
    uint8 encoding[32] = {
        0x42, 0x00, 0x56, 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_2_0);

    Attribute expected = {0};
    kmip_init_attribute(&expected);
    TextString object_group = {0};
    object_group.value = "RoundRobinTestGroup";
    object_group.size = 19;
    expected.type = KMIP_ATTR_OBJECT_GROUP;
    expected.value = &object_group;

    Attribute observed = {0};
    int result = kmip_decode_attribute_v2(&ctx, &observed);
    int comparison = kmip_compare_attribute(&expected, &observed);
    if(!comparison)
    {
        kmip_print_attribute(stderr, 1, &expected);
        kmip_print_attribute(stderr, 1, &observed);
    }
    result = report_decoding_test_result(tracker, &ctx, comparison, result, __func__);

    kmip_free_attribute(&ctx, &observed);
    kmip_destroy(&ctx);

    return(result);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x8f0, %rsp            # imm = 0x8F0
movq %rdi, %rbx
incw (%rdi)
movaps 0x24a27(%rip), %xmm0    # 0x32bc0
leaq 0x30(%rsp), %r15
movaps %xmm0, 0x10(%r15)
movaps 0x24a06(%rip), %xmm0    # 0x32bb0
movaps %xmm0, (%r15)
leaq 0x58(%rsp), %r14
movl $0x898, %edx            # imm = 0x898
movq %r14, %rdi
xorl %esi, %esi
callq 0x10c0
movl $0x20, %edx
movq %r14, %rdi
movq %r15, %rsi
movl $0x5, %ecx
callq 0x13177
xorps %xmm0, %xmm0
leaq 0x10(%rsp), %r15
movaps %xmm0, (%r15)
movq %r15, %rdi
callq 0x1388b
leaq 0x1f9dd(%rip), %rax     # 0x2dbcf
leaq 0x20(%rsp), %rcx
movq %rax, (%rcx)
movq $0x13, 0x8(%rcx)
movl $0x9, (%r15)
movq %rcx, 0x8(%r15)
movq %rsp, %r12
xorps %xmm0, %xmm0
movaps %xmm0, (%r12)
movq %r14, %rdi
movq %r12, %rsi
callq 0x1ee71
movl %eax, %ebp
movq %r15, %rdi
movq %r12, %rsi
callq 0x15d75
testl %eax, %eax
jne 0xe25f
movq 0x34dbd(%rip), %r14     # 0x42ff8
movq (%r14), %rdi
leaq 0x10(%rsp), %rdx
movl $0x1, %esi
callq 0x2b53a
movq (%r14), %rdi
movq %rsp, %rdx
movl $0x1, %esi
callq 0x2b53a
xorl %eax, %eax
leaq 0x20b5e(%rip), %r8      # 0x2edc4
leaq 0x58(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
movl %eax, %edx
movl %ebp, %ecx
callq 0x1363
movl %eax, %ebx
movq %rsp, %rsi
movq %r14, %rdi
callq 0x13afe
movq %r14, %rdi
callq 0x13455
movl %ebx, %eax
addq $0x8f0, %rsp            # imm = 0x8F0
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_attribute_v2_activation_date
int
test_decode_attribute_v2_activation_date(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    /* This encoding matches the following values:
    *  Activation Date - 2 (Thu Jan 01 01:00:02 UST 1970)
    */
    uint8 encoding[16] = {
        0x42, 0x00, 0x01, 0x09, 0x00, 0x00, 0x00, 0x08,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02
    };

    KMIP ctx = {0};
    kmip_init(&ctx, encoding, ARRAY_LENGTH(encoding), KMIP_2_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};
    int result = kmip_decode_attribute_v2(&ctx, &observed);
    int comparison = kmip_compare_attribute(&expected, &observed);
    if(!comparison)
    {
        kmip_print_attribute(stderr, 1, &expected);
        kmip_print_attribute(stderr, 1, &observed);
    }
    result = report_decoding_test_result(tracker, &ctx, comparison, result, __func__);

    kmip_free_attribute(&ctx, &observed);
    kmip_destroy(&ctx);

    return(result);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x8e0, %rsp            # imm = 0x8E0
movq %rdi, %rbx
incw (%rdi)
movaps 0x1eec3(%rip), %xmm0    # 0x2d180
leaq 0x30(%rsp), %r15
movaps %xmm0, (%r15)
leaq 0x48(%rsp), %r14
movl $0x898, %edx            # imm = 0x898
movq %r14, %rdi
xorl %esi, %esi
callq 0x10c0
movl $0x10, %edx
movq %r14, %rdi
movq %r15, %rsi
movl $0x5, %ecx
callq 0x13177
leaq 0x28(%rsp), %r12
movq $0x2, (%r12)
xorps %xmm0, %xmm0
leaq 0x10(%rsp), %r15
movaps %xmm0, (%r15)
movq %r15, %rdi
callq 0x1388b
movl $0xa, (%r15)
movq %r12, 0x8(%r15)
movq %rsp, %r12
xorps %xmm0, %xmm0
movaps %xmm0, (%r12)
movq %r14, %rdi
movq %r12, %rsi
callq 0x1ee71
movl %eax, %ebp
movq %r15, %rdi
movq %r12, %rsi
callq 0x15d75
testl %eax, %eax
jne 0xe36d
movq 0x34caf(%rip), %r14     # 0x42ff8
movq (%r14), %rdi
leaq 0x10(%rsp), %rdx
movl $0x1, %esi
callq 0x2b53a
movq (%r14), %rdi
movq %rsp, %rdx
movl $0x1, %esi
callq 0x2b53a
xorl %eax, %eax
leaq 0x20a76(%rip), %r8      # 0x2edea
leaq 0x48(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
movl %eax, %edx
movl %ebp, %ecx
callq 0x1363
movl %eax, %ebx
movq %rsp, %rsi
movq %r14, %rdi
callq 0x13afe
movq %r14, %rdi
callq 0x13455
movl %ebx, %eax
addq $0x8e0, %rsp            # imm = 0x8E0
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_attribute_v2_deactivation_date
int
test_decode_attribute_v2_deactivation_date(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    /* This encoding matches the following values:
    *  Deactivation Date - 1335514467 (Fri Apr 27 10:14:27 CEST 2012)
    */
    uint8 encoding[16] = {
        0x42, 0x00, 0x2F, 0x09, 0x00, 0x00, 0x00, 0x08,
        0x00, 0x00, 0x00, 0x00, 0x4F, 0x9A, 0x55, 0x63
    };

    KMIP ctx = {0};
    kmip_init(&ctx, encoding, ARRAY_LENGTH(encoding), KMIP_2_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};
    int result = kmip_decode_attribute_v2(&ctx, &observed);
    int comparison = kmip_compare_attribute(&expected, &observed);
    if(!comparison)
    {
        kmip_print_attribute(stderr, 1, &expected);
        kmip_print_attribute(stderr, 1, &observed);
    }
    result = report_decoding_test_result(tracker, &ctx, comparison, result, __func__);

    kmip_free_attribute(&ctx, &observed);
    kmip_destroy(&ctx);

    return(result);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x8e0, %rsp            # imm = 0x8E0
movq %rdi, %rbx
incw (%rdi)
movaps 0x1edc5(%rip), %xmm0    # 0x2d190
leaq 0x30(%rsp), %r15
movaps %xmm0, (%r15)
leaq 0x48(%rsp), %r14
movl $0x898, %edx            # imm = 0x898
movq %r14, %rdi
xorl %esi, %esi
callq 0x10c0
movl $0x10, %edx
movq %r14, %rdi
movq %r15, %rsi
movl $0x5, %ecx
callq 0x13177
leaq 0x28(%rsp), %r12
movq $0x4f9a5563, (%r12)     # imm = 0x4F9A5563
xorps %xmm0, %xmm0
leaq 0x10(%rsp), %r15
movaps %xmm0, (%r15)
movq %r15, %rdi
callq 0x1388b
movl $0xb, (%r15)
movq %r12, 0x8(%r15)
movq %rsp, %r12
xorps %xmm0, %xmm0
movaps %xmm0, (%r12)
movq %r14, %rdi
movq %r12, %rsi
callq 0x1ee71
movl %eax, %ebp
movq %r15, %rdi
movq %r12, %rsi
callq 0x15d75
testl %eax, %eax
jne 0xe47b
movq 0x34ba1(%rip), %r14     # 0x42ff8
movq (%r14), %rdi
leaq 0x10(%rsp), %rdx
movl $0x1, %esi
callq 0x2b53a
movq (%r14), %rdi
movq %rsp, %rdx
movl $0x1, %esi
callq 0x2b53a
xorl %eax, %eax
leaq 0x20991(%rip), %r8      # 0x2ee13
leaq 0x48(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
movl %eax, %edx
movl %ebp, %ecx
callq 0x1363
movl %eax, %ebx
movq %rsp, %rsi
movq %r14, %rdi
callq 0x13afe
movq %r14, %rdi
callq 0x13455
movl %ebx, %eax
addq $0x8e0, %rsp            # imm = 0x8E0
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_attribute_v2_process_start_date
int
test_decode_attribute_v2_process_start_date(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    /* This encoding matches the following values:
    *  Process Start Date - 1136113200 (Sun Jan 01 12:00:00 CET 2006)
    */
    uint8 encoding[16] = {
        0x42, 0x00, 0x67, 0x09, 0x00, 0x00, 0x00, 0x08,
        0x00, 0x00, 0x00, 0x00, 0x43, 0xB7, 0xB6, 0x30
    };

    KMIP ctx = {0};
    kmip_init(&ctx, encoding, ARRAY_LENGTH(encoding), KMIP_2_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};
    int result = kmip_decode_attribute_v2(&ctx, &observed);
    int comparison = kmip_compare_attribute(&expected, &observed);
    if(!comparison)
    {
        kmip_print_attribute(stderr, 1, &expected);
        kmip_print_attribute(stderr, 1, &observed);
    }
    result = report_decoding_test_result(tracker, &ctx, comparison, result, __func__);

    kmip_free_attribute(&ctx, &observed);
    kmip_destroy(&ctx);

    return(result);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x8e0, %rsp            # imm = 0x8E0
movq %rdi, %rbx
incw (%rdi)
movaps 0x1ecc7(%rip), %xmm0    # 0x2d1a0
leaq 0x30(%rsp), %r15
movaps %xmm0, (%r15)
leaq 0x48(%rsp), %r14
movl $0x898, %edx            # imm = 0x898
movq %r14, %rdi
xorl %esi, %esi
callq 0x10c0
movl $0x10, %edx
movq %r14, %rdi
movq %r15, %rsi
movl $0x5, %ecx
callq 0x13177
leaq 0x28(%rsp), %r12
movq $0x43b7b630, (%r12)     # imm = 0x43B7B630
xorps %xmm0, %xmm0
leaq 0x10(%rsp), %r15
movaps %xmm0, (%r15)
movq %r15, %rdi
callq 0x1388b
movl $0xc, (%r15)
movq %r12, 0x8(%r15)
movq %rsp, %r12
xorps %xmm0, %xmm0
movaps %xmm0, (%r12)
movq %r14, %rdi
movq %r12, %rsi
callq 0x1ee71
movl %eax, %ebp
movq %r15, %rdi
movq %r12, %rsi
callq 0x15d75
testl %eax, %eax
jne 0xe589
movq 0x34a93(%rip), %r14     # 0x42ff8
movq (%r14), %rdi
leaq 0x10(%rsp), %rdx
movl $0x1, %esi
callq 0x2b53a
movq (%r14), %rdi
movq %rsp, %rdx
movl $0x1, %esi
callq 0x2b53a
xorl %eax, %eax
leaq 0x208ae(%rip), %r8      # 0x2ee3e
leaq 0x48(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
movl %eax, %edx
movl %ebp, %ecx
callq 0x1363
movl %eax, %ebx
movq %rsp, %rsi
movq %r14, %rdi
callq 0x13afe
movq %r14, %rdi
callq 0x13455
movl %ebx, %eax
addq $0x8e0, %rsp            # imm = 0x8E0
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_attribute_v2_protect_stop_date
int
test_decode_attribute_v2_protect_stop_date(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    /* This encoding matches the following values:
    *  Protect Stop Date - 1335514945 (Fri Apr 27 10:22:25 CEST 2012)
    */
    uint8 encoding[16] = {
        0x42, 0x00, 0x68, 0x09, 0x00, 0x00, 0x00, 0x08,
        0x00, 0x00, 0x00, 0x00, 0x4F, 0x9A, 0x57, 0x41
    };

    KMIP ctx = {0};
    kmip_init(&ctx, encoding, ARRAY_LENGTH(encoding), KMIP_2_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};
    int result = kmip_decode_attribute_v2(&ctx, &observed);
    int comparison = kmip_compare_attribute(&expected, &observed);
    if(!comparison)
    {
        kmip_print_attribute(stderr, 1, &expected);
        kmip_print_attribute(stderr, 1, &observed);
    }
    result = report_decoding_test_result(tracker, &ctx, comparison, result, __func__);

    kmip_free_attribute(&ctx, &observed);
    kmip_destroy(&ctx);

    return(result);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x8e0, %rsp            # imm = 0x8E0
movq %rdi, %rbx
incw (%rdi)
movaps 0x1ebc9(%rip), %xmm0    # 0x2d1b0
leaq 0x30(%rsp), %r15
movaps %xmm0, (%r15)
leaq 0x48(%rsp), %r14
movl $0x898, %edx            # imm = 0x898
movq %r14, %rdi
xorl %esi, %esi
callq 0x10c0
movl $0x10, %edx
movq %r14, %rdi
movq %r15, %rsi
movl $0x5, %ecx
callq 0x13177
leaq 0x28(%rsp), %r12
movq $0x4f9a5741, (%r12)     # imm = 0x4F9A5741
xorps %xmm0, %xmm0
leaq 0x10(%rsp), %r15
movaps %xmm0, (%r15)
movq %r15, %rdi
callq 0x1388b
movl $0xd, (%r15)
movq %r12, 0x8(%r15)
movq %rsp, %r12
xorps %xmm0, %xmm0
movaps %xmm0, (%r12)
movq %r14, %rdi
movq %r12, %rsi
callq 0x1ee71
movl %eax, %ebp
movq %r15, %rdi
movq %r12, %rsi
callq 0x15d75
testl %eax, %eax
jne 0xe697
movq 0x34985(%rip), %r14     # 0x42ff8
movq (%r14), %rdi
leaq 0x10(%rsp), %rdx
movl $0x1, %esi
callq 0x2b53a
movq (%r14), %rdi
movq %rsp, %rdx
movl $0x1, %esi
callq 0x2b53a
xorl %eax, %eax
leaq 0x207cc(%rip), %r8      # 0x2ee6a
leaq 0x48(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
movl %eax, %edx
movl %ebp, %ecx
callq 0x1363
movl %eax, %ebx
movq %rsp, %rsi
movq %r14, %rdi
callq 0x13afe
movq %r14, %rdi
callq 0x13455
movl %ebx, %eax
addq $0x8e0, %rsp            # imm = 0x8E0
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_attribute_v2_unsupported_attribute
int
test_decode_attribute_v2_unsupported_attribute(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    uint8 encoding[3] = {0x42, 0x00, 0x00};

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

    Attribute observed = {0};
    int result = kmip_decode_attribute_v2(&ctx, &observed);
    if(result != KMIP_ERROR_ATTR_UNSUPPORTED)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    kmip_free_attribute(&ctx, &observed);
    kmip_destroy(&ctx);

    TEST_PASSED(tracker, __func__);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x8b8, %rsp            # imm = 0x8B8
movq %rdi, %rbx
incw (%rdi)
leaq 0xc(%rsp), %r14
movb $0x0, 0x2(%r14)
movw $0x42, (%r14)
leaq 0x20(%rsp), %r15
xorl %ebp, %ebp
movl $0x898, %edx            # imm = 0x898
movq %r15, %rdi
xorl %esi, %esi
callq 0x10c0
movl $0x3, %edx
movq %r15, %rdi
movq %r14, %rsi
movl $0x5, %ecx
callq 0x13177
xorps %xmm0, %xmm0
leaq 0x10(%rsp), %rsi
movaps %xmm0, (%rsi)
movq %r15, %rdi
callq 0x1ee71
cmpl $-0x3, %eax
jne 0xe8e3
leaq 0x20(%rsp), %r14
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x13afe
movq %r14, %rdi
callq 0x13455
leaq 0x1e949(%rip), %rdi     # 0x2d217
leaq 0x205f2(%rip), %rsi     # 0x2eec7
xorl %eax, %eax
callq 0x1090
movl $0x4, %eax
jmp 0xe907
leaq 0x1e938(%rip), %rdi     # 0x2d222
leaq 0x205d6(%rip), %rsi     # 0x2eec7
movl $0x26e8, %edx           # imm = 0x26E8
xorl %eax, %eax
callq 0x1090
movl $0x1, %ebp
movl $0x2, %eax
incw (%rbx,%rax)
movl %ebp, %eax
addq $0x8b8, %rsp            # imm = 0x8B8
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_encode_nonce
int
test_encode_nonce(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    uint8 expected[40] = {
        0x42, 0x00, 0xC8, 0x01, 0x00, 0x00, 0x00, 0x20,
        0x42, 0x00, 0xC9, 0x08, 0x00, 0x00, 0x00, 0x04,
        0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0xCA, 0x08, 0x00, 0x00, 0x00, 0x06,
        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00
    };
    
    uint8 observed[40] = {0};
    struct kmip ctx = {0};
    kmip_init(&ctx, observed, ARRAY_LENGTH(observed), KMIP_1_2);
    
    uint8 id[4] = {0x01, 0x02, 0x03, 0x04};
    struct byte_string ni = {0};
    ni.value = id;
    ni.size = ARRAY_LENGTH(id);
    
    uint8 value[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
    struct byte_string nv = {0};
    nv.value = value;
    nv.size = ARRAY_LENGTH(value);
    
    struct nonce n = {0};
    n.nonce_id = &ni;
    n.nonce_value = &nv;
    
    int result = kmip_encode_nonce(&ctx, &n);
    result = report_encoding_test_result(
        tracker,
        &ctx,
        expected,
        observed,
        result,
        __func__);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x908, %rsp            # imm = 0x908
movq %rdi, %r14
incw (%rdi)
xorps %xmm0, %xmm0
leaq 0x40(%rsp), %r15
movaps %xmm0, 0x10(%r15)
movaps %xmm0, (%r15)
movq $0x0, 0x20(%r15)
leaq 0x70(%rsp), %rbx
movl $0x898, %edx            # imm = 0x898
movq %rbx, %rdi
xorl %esi, %esi
callq 0x10c0
movl $0x28, %edx
movq %rbx, %rdi
movq %r15, %rsi
movl $0x2, %ecx
callq 0x13177
leaq 0x4(%rsp), %rax
movl $0x4030201, (%rax)      # imm = 0x4030201
leaq 0x30(%rsp), %rcx
movq %rax, (%rcx)
movq $0x4, 0x8(%rcx)
leaq 0x8(%rsp), %rax
movw $0xffff, 0x4(%rax)      # imm = 0xFFFF
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
leaq 0x20(%rsp), %rdx
movq %rax, (%rdx)
movq $0x6, 0x8(%rdx)
leaq 0x10(%rsp), %rsi
movq %rcx, (%rsi)
movq %rdx, 0x8(%rsi)
movq %rbx, %rdi
callq 0x1a434
leaq 0x229c1(%rip), %rdx     # 0x31cf0
leaq 0x1fd1f(%rip), %r9      # 0x2f055
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rcx
movl %eax, %r8d
callq 0x123c
movl %eax, %ebp
movq %rbx, %rdi
callq 0x13455
movl %ebp, %eax
addq $0x908, %rsp            # imm = 0x908
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_decode_nonce
int
test_decode_nonce(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    uint8 encoding[40] = {
        0x42, 0x00, 0xC8, 0x01, 0x00, 0x00, 0x00, 0x20,
        0x42, 0x00, 0xC9, 0x08, 0x00, 0x00, 0x00, 0x04,
        0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0xCA, 0x08, 0x00, 0x00, 0x00, 0x06,
        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00
    };
    
    struct kmip ctx = {0};
    kmip_init(&ctx, encoding, ARRAY_LENGTH(encoding), KMIP_1_2);
    
    uint8 id[4] = {0x01, 0x02, 0x03, 0x04};
    struct byte_string ni = {0};
    ni.value = id;
    ni.size = ARRAY_LENGTH(id);
    
    uint8 value[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
    struct byte_string nv = {0};
    nv.value = value;
    nv.size = ARRAY_LENGTH(value);
    
    struct nonce expected = {0};
    expected.nonce_id = &ni;
    expected.nonce_value = &nv;
    
    struct nonce observed = {0};
    
    int result = kmip_decode_nonce(&ctx, &observed);
    result = report_decoding_test_result(
        tracker,
        &ctx,
        kmip_compare_nonce(&expected, &observed),
        result,
        __func__);
    kmip_free_nonce(&ctx, &observed);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x910, %rsp            # imm = 0x910
movq %rdi, %r14
incw (%rdi)
movaps 0x22983(%rip), %xmm0    # 0x31d00
leaq 0x50(%rsp), %r15
movaps %xmm0, 0x10(%r15)
movaps 0x22962(%rip), %xmm0    # 0x31cf0
movaps %xmm0, (%r15)
movabsq $0xffffffffffff, %rax   # imm = 0xFFFFFFFFFFFF
movq %rax, 0x20(%r15)
leaq 0x78(%rsp), %rbx
movl $0x898, %edx            # imm = 0x898
movq %rbx, %rdi
xorl %esi, %esi
callq 0x10c0
movl $0x28, %edx
movq %rbx, %rdi
movq %r15, %rsi
movl $0x2, %ecx
callq 0x13177
leaq 0x4(%rsp), %rax
movl $0x4030201, (%rax)      # imm = 0x4030201
leaq 0x40(%rsp), %rcx
movq %rax, (%rcx)
movq $0x4, 0x8(%rcx)
leaq 0x8(%rsp), %rax
movw $0xffff, 0x4(%rax)      # imm = 0xFFFF
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
leaq 0x30(%rsp), %rdx
movq %rax, (%rdx)
movq $0x6, 0x8(%rdx)
leaq 0x20(%rsp), %r15
movq %rcx, (%r15)
movq %rdx, 0x8(%r15)
xorps %xmm0, %xmm0
leaq 0x10(%rsp), %r12
movaps %xmm0, (%r12)
movq %rbx, %rdi
movq %r12, %rsi
callq 0x25174
movl %eax, %ebp
movq %r15, %rdi
movq %r12, %rsi
callq 0x16cb2
leaq 0x1fc2a(%rip), %r8      # 0x2f067
movq %r14, %rdi
movq %rbx, %rsi
movl %eax, %edx
movl %ebp, %ecx
callq 0x1363
movl %eax, %ebp
movq %rbx, %rdi
movq %r12, %rsi
callq 0x1499a
movq %rbx, %rdi
callq 0x13455
movl %ebp, %eax
addq $0x910, %rsp            # imm = 0x910
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_encode_get_request_payload_with_wrap_type
int
test_encode_get_request_payload_with_wrap_type(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    uint8 expected[104] = {
        0x42, 0x00, 0x79, 0x01, 0x00, 0x00, 0x00, 0x60, 
        0x42, 0x00, 0x94, 0x07, 0x00, 0x00, 0x00, 0x24, 
        0x37, 0x63, 0x66, 0x35, 0x32, 0x30, 0x39, 0x62, 
        0x2D, 0x36, 0x66, 0x66, 0x36, 0x2D, 0x34, 0x34, 
        0x32, 0x36, 0x2D, 0x38, 0x39, 0x39, 0x65, 0x2D, 
        0x32, 0x32, 0x62, 0x30, 0x36, 0x37, 0x38, 0x35, 
        0x39, 0x33, 0x37, 0x32, 0x00, 0x00, 0x00, 0x00, 
        0x42, 0x00, 0x42, 0x05, 0x00, 0x00, 0x00, 0x04, 
        0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0xF8, 0x05, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x41, 0x05, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00
    };
    
    uint8 observed[104] = {0};
    struct kmip ctx = {0};
    kmip_init(&ctx, observed, ARRAY_LENGTH(observed), KMIP_1_4);
    
    struct text_string uuid = {0};
    uuid.value = "7cf5209b-6ff6-4426-899e-22b067859372";
    uuid.size = 36;
    
    struct get_request_payload grp = {0};
    grp.unique_identifier = &uuid;
    grp.key_format_type = KMIP_KEYFORMAT_PKCS1;
    grp.key_compression_type = KMIP_KEYCOMP_EC_PUB_UNCOMPRESSED;
    
    grp.key_wrap_type = KMIP_WRAPTYPE_NOT_WRAPPED;
    
    int result = kmip_encode_get_request_payload(&ctx, &grp);
    result = report_encoding_test_result(
        tracker,
        &ctx,
        expected,
        observed,
        result,
        __func__);
    kmip_destroy(&ctx);
    return(result);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x930, %rsp            # imm = 0x930
movq %rdi, %rbx
incw (%rdi)
xorps %xmm0, %xmm0
leaq 0x30(%rsp), %r14
movaps %xmm0, 0x50(%r14)
movaps %xmm0, 0x40(%r14)
movaps %xmm0, 0x30(%r14)
movaps %xmm0, 0x20(%r14)
movaps %xmm0, 0x10(%r14)
movaps %xmm0, (%r14)
movq $0x0, 0x60(%r14)
leaq 0x98(%rsp), %r15
movl $0x898, %edx            # imm = 0x898
movq %r15, %rdi
xorl %esi, %esi
callq 0x10c0
movl $0x68, %edx
movq %r15, %rdi
movq %r14, %rsi
movl $0x4, %ecx
callq 0x13177
leaq 0x1e344(%rip), %rax     # 0x2e3e8
movq %rsp, %rcx
movq %rax, (%rcx)
movq $0x24, 0x8(%rcx)
leaq 0x10(%rsp), %rsi
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rsi)
movq %rcx, (%rsi)
movabsq $0x100000003, %rax      # imm = 0x100000003
movq %rax, 0x8(%rsi)
movl $0x1, 0x18(%rsi)
movq %r15, %rdi
callq 0x1a000
leaq 0x2207b(%rip), %rdx     # 0x32160
leaq 0x1f163(%rip), %r9      # 0x2f24f
movq %rbx, %rdi
movq %r15, %rsi
movq %r14, %rcx
movl %eax, %r8d
callq 0x123c
movl %eax, %ebx
movq %r15, %rdi
callq 0x13455
movl %ebx, %eax
addq $0x930, %rsp            # imm = 0x930
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_compare_query_functions
int
test_compare_query_functions(TestTracker *tracker)
{
    TRACK_TEST(tracker);

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

    LinkedList list_1 = {0};
    LinkedListItem item_1 = {0};
    int32 funct_1 = KMIP_QUERY_OPERATIONS;
    item_1.data = &funct_1;

    LinkedListItem item_2 = {0};
    int32 funct_2 = KMIP_QUERY_SERVER_INFORMATION;
    item_2.data = &funct_2;

    kmip_linked_list_enqueue(&list_1, &item_1);
    kmip_linked_list_enqueue(&list_1, &item_2);

    Functions expected = {0};
    expected.function_list = &list_1;

    LinkedList list_2 = {0};
    LinkedListItem item_3 = {0};
    int32 funct_3 = KMIP_QUERY_OPERATIONS;
    item_3.data = &funct_3;

    LinkedListItem item_4 = {0};
    int32 funct_4 = KMIP_QUERY_SERVER_INFORMATION;
    item_4.data = &funct_4;

    kmip_linked_list_enqueue(&list_2, &item_3);
    kmip_linked_list_enqueue(&list_2, &item_4);

    Functions observed = {0};
    observed.function_list = &list_2;

    int comparison = kmip_compare_query_functions(&expected, &observed);
    int result = report_decoding_test_result(tracker, &ctx, comparison, KMIP_OK, __func__);

    kmip_destroy(&ctx);

    return (result);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x978, %rsp            # imm = 0x978
movq %rdi, %r14
incw (%rdi)
leaq 0xe0(%rsp), %rbx
xorl %r13d, %r13d
movl $0x898, %edx            # imm = 0x898
movq %rbx, %rdi
xorl %esi, %esi
callq 0x10c0
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x13177
leaq 0xc0(%rsp), %r15
movq %r13, 0x10(%r15)
xorps %xmm0, %xmm0
movaps %xmm0, (%r15)
leaq 0xa0(%rsp), %rsi
movaps %xmm0, (%rsi)
movl $0x1, %ebp
leaq 0xc(%rsp), %rax
movl %ebp, (%rax)
movq %rax, 0x10(%rsi)
leaq 0x80(%rsp), %r12
movaps %xmm0, (%r12)
movl $0x3, %ebx
leaq 0x8(%rsp), %rax
movl %ebx, (%rax)
movq %rax, 0x10(%r12)
movq %r15, %rdi
callq 0x128ec
movq %r15, %rdi
movq %r12, %rsi
callq 0x128ec
leaq 0x18(%rsp), %r12
movq %r15, (%r12)
leaq 0x60(%rsp), %r15
movq %r13, 0x10(%r15)
xorps %xmm0, %xmm0
movaps %xmm0, (%r15)
leaq 0x40(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x4(%rsp), %rax
movl %ebp, (%rax)
movq %rax, 0x10(%rsi)
leaq 0x20(%rsp), %r13
movaps %xmm0, (%r13)
movq %rsp, %rax
movl %ebx, (%rax)
movq %rax, 0x10(%r13)
movq %r15, %rdi
callq 0x128ec
movq %r15, %rdi
movq %r13, %rsi
callq 0x128ec
leaq 0x10(%rsp), %rsi
movq %r15, (%rsi)
movq %r12, %rdi
callq 0x17594
leaq 0x1e7b6(%rip), %r8      # 0x2f375
movq %r14, %rdi
leaq 0xe0(%rsp), %rbx
movq %rbx, %rsi
movl %eax, %edx
xorl %ecx, %ecx
callq 0x1363
movl %eax, %ebp
movq %rbx, %rdi
callq 0x13455
movl %ebp, %eax
addq $0x978, %rsp            # imm = 0x978
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_encode_query_functions
int
test_encode_query_functions(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    /* This encoding matches the following set of values:
    *  Query Functions
          Query Operations
          Query Objects
    */
    uint8 expected[32] = {
        0x42, 0x00, 0x74, 0x05, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
        0x42, 0x00, 0x74, 0x05, 0x00, 0x00, 0x00, 0x04,
        0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
    };

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

    LinkedList list = {0};
    LinkedListItem item_1 = {0};
    int32 funct_1 = KMIP_QUERY_OPERATIONS;
    item_1.data = &funct_1;

    LinkedListItem item_2 = {0};
    int32 funct_2 = KMIP_QUERY_OBJECTS;
    item_2.data = &funct_2;

    kmip_linked_list_enqueue(&list, &item_1);
    kmip_linked_list_enqueue(&list, &item_2);

    Functions qf = {0};
    qf.function_list = &list;

    int result = kmip_encode_query_functions(&ctx, &qf);
    result = report_encoding_test_result(tracker, &ctx, expected, observed, result, __func__);

    kmip_destroy(&ctx);

    return(result);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x928, %rsp            # imm = 0x928
movq %rdi, %r14
incw (%rdi)
xorps %xmm0, %xmm0
leaq 0x70(%rsp), %r15
movaps %xmm0, 0x10(%r15)
movaps %xmm0, (%r15)
leaq 0x90(%rsp), %rbx
movl $0x898, %edx            # imm = 0x898
movq %rbx, %rdi
xorl %esi, %esi
callq 0x10c0
movl $0x20, %edx
movq %rbx, %rdi
movq %r15, %rsi
xorl %ecx, %ecx
callq 0x13177
leaq 0x50(%rsp), %r12
xorps %xmm0, %xmm0
movaps %xmm0, (%r12)
movq $0x0, 0x10(%r12)
leaq 0x30(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x4(%rsp), %rax
movl $0x1, (%rax)
movq %rax, 0x10(%rsi)
leaq 0x10(%rsp), %r13
movaps %xmm0, (%r13)
movq %rsp, %rax
movl $0x2, (%rax)
movq %rax, 0x10(%r13)
movq %r12, %rdi
callq 0x128ec
movq %r12, %rdi
movq %r13, %rsi
callq 0x128ec
leaq 0x8(%rsp), %rsi
movq %r12, (%rsi)
movq %rbx, %rdi
callq 0x1b60e
leaq 0x21f3d(%rip), %rdx     # 0x32bf0
leaq 0x1e6d8(%rip), %r9      # 0x2f392
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rcx
movl %eax, %r8d
callq 0x123c
movl %eax, %ebp
movq %rbx, %rdi
callq 0x13455
movl %ebp, %eax
addq $0x928, %rsp            # imm = 0x928
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/OpenKMIP[P]libkmip/tests/tests.c
// Function: print_help
void
print_help(const char *app)
{
    printf("Usage: %s [flag] ...\n\n", app);
    printf("Flags:\n");
    printf("-h : print this help info\n");
    printf("-i : run the test suite forever\n");
}

// Assembly:
pushq %rax
movq %rdi, %rsi
leaq 0x1ce72(%rip), %rdi     # 0x2f59b
xorl %eax, %eax
callq 0x1090
leaq 0x1d074(%rip), %rdi     # 0x2f7ab
callq 0x1070
leaq 0x1d06f(%rip), %rdi     # 0x2f7b2
callq 0x1070
leaq 0x1d07d(%rip), %rdi     # 0x2f7cc
popq %rax
jmp 0x1070
// File: /workspace/github_c_makefile_star2_O3/OpenKMIP[P]libkmip/tests/tests.c
// Function: parse_arguments
int
parse_arguments(int argc,
                char **argv,
                int *print_usage,
                int *run_forever)
{
    for(int i = 1; i < argc; i++)
    {
        if(strncmp(argv[i], "-h", 2) == 0)
        {
            *print_usage = 1;
        }
        else if(strncmp(argv[i], "-i", 2) == 0)
        {
            *run_forever = 1;
        }
        else
        {
            printf("Invalid option: '%s'\n", argv[i]);
            print_help(argv[0]);
            return(-1);
        }
    }
    
    return(0);
}

// Assembly:
xorl %eax, %eax
cmpl $0x2, %edi
jl 0x127d0
pushq %rbp
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq 0x8(%rsi), %rsi
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
cmpb $0x2d, (%rsi)
jne 0x127b2
movl %edi, %edi
movb $0x1, %r9b
movl $0x2, %r8d
cmpb $0x68, 0x1(%rsi)
movq %rdx, %r10
je 0x1278d
cmpb $0x69, 0x1(%rsi)
movq %rcx, %r10
jne 0x127a9
movl $0x1, (%r10)
cmpq %r8, %rdi
je 0x127ca
seta %r9b
movq (%rbx,%r8,8), %rsi
incq %r8
cmpb $0x2d, (%rsi)
je 0x1277b
movzbl %r9b, %ebp
andl $0x1, %ebp
negl %ebp
leaq 0x1cdf9(%rip), %rdi     # 0x2f5b2
xorl %eax, %eax
callq 0x1090
movq (%rbx), %rdi
callq 0x1271e
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/yugecin[P]evilwm/client.c
// Function: client_raise
void client_raise(Client *c) {
	XRaiseWindow(dpy, c->parent);
	clients_stacking_order = list_to_tail(clients_stacking_order, c);
#ifdef ABOVE
	do_above();
#endif
	ewmh_set_net_client_list_stacking(c->screen);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x8e02(%rip), %rax      # 0xc8e0
movq (%rax), %rdi
movq 0x8(%rbx), %rsi
callq 0x36d0
leaq 0x8d67(%rip), %r14      # 0xc858
movq (%r14), %rdi
movq %rbx, %rsi
callq 0x5cea
movq %rax, (%r14)
callq 0x3b14
movq 0x10(%rbx), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x58ae
// File: /workspace/github_c_makefile_star2_O3/yugecin[P]evilwm/client.c
// Function: do_above
void do_above(void) {
	if (doabove) {
		// this may get heavy
		struct list *iter;
		for (iter = clients_stacking_order; iter; iter = iter->next) {
			Client *cur = iter->data;
			if (cur->isabove) {
				XRaiseWindow(dpy, cur->parent);
			}
		}
	}
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
leaq 0x88cd(%rip), %rax      # 0xc3ec
cmpl $0x0, (%rax)
sete %al
leaq 0x8d2c(%rip), %rcx      # 0xc858
movq (%rcx), %rbx
testq %rbx, %rbx
sete %cl
orb %al, %cl
jne 0x3b61
leaq 0x8da0(%rip), %r14      # 0xc8e0
movq 0x8(%rbx), %rax
cmpl $0x0, 0x84(%rax)
je 0x3b59
movq (%r14), %rdi
movq 0x8(%rax), %rsi
callq 0x36d0
movq (%rbx), %rbx
testq %rbx, %rbx
jne 0x3b40
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/yugecin[P]evilwm/ewmh.c
// Function: ewmh_set_net_wm_state
void ewmh_set_net_wm_state(Client *c) {
	Atom state[3];
	int i = 0;
	if (c->oldh)
		state[i++] = xa_net_wm_state_maximized_vert;
	if (c->oldw)
		state[i++] = xa_net_wm_state_maximized_horz;
#ifndef NOMAXIMISE
	if (c->oldh && c->oldw)
		state[i++] = xa_net_wm_state_fullscreen;
#endif
	XChangeProperty(dpy, c->window, xa_net_wm_state,
			XA_ATOM, 32, PropModeReplace,
			(unsigned char *)&state, i);
}

// Assembly:
subq $0x18, %rsp
cmpl $0x0, 0x48(%rdi)
je 0x5b1b
movq 0x6ca9(%rip), %rax      # 0xc7b8
movq %rax, (%rsp)
movl $0x1, %r10d
jmp 0x5b1e
xorl %r10d, %r10d
cmpl $0x0, 0x44(%rdi)
je 0x5b35
movq 0x6c95(%rip), %rax      # 0xc7c0
movl %r10d, %ecx
incl %r10d
movq %rax, (%rsp,%rcx,8)
leaq 0x6da4(%rip), %rax      # 0xc8e0
movq (%rax), %rax
movq (%rdi), %rsi
movq 0x6c67(%rip), %rdx      # 0xc7b0
movq %rsp, %r11
movl $0x4, %ecx
movq %rax, %rdi
movl $0x20, %r8d
xorl %r9d, %r9d
pushq %r10
pushq %r11
callq 0x3460
addq $0x28, %rsp
retq
// File: /workspace/github_c_makefile_star2_O3/yugecin[P]evilwm/main.c
// Function: set_gaps
static void set_gaps(const char *arg) {
	unsigned int gapidx;

	opt_numgaps = 0;
	gapidx = 0;
	while (*arg) {
		opt_gaps[gapidx] = atoi(arg);
		++gapidx;
		if (gapidx >= sizeof(opt_gaps)/sizeof(opt_gaps[0])) {
			printf("toobig\n");
			return;
		}
		if ((gapidx % 4) == 0) {
			opt_numgaps++;
		}
		while (*arg) {
			if (*(arg++) == ',') {
				break;
			}
		}
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl $0x0, 0x631d(%rip)      # 0xc870
cmpb $0x0, (%rdi)
je 0x659c
movq %rdi, %rbx
xorl %r14d, %r14d
leaq 0x631b(%rip), %r15      # 0xc880
xorl %ebp, %ebp
movq %rbx, %rdi
callq 0x3620
movl %eax, (%r15,%r14,4)
cmpq $0xf, %r14
je 0x65a7
incq %r14
testb $0x3, %r14b
jne 0x658a
incl %ebp
movl %ebp, 0x62e6(%rip)      # 0xc870
movb (%rbx), %al
testb %al, %al
je 0x659c
incq %rbx
cmpb $0x2c, %al
jne 0x658a
cmpb $0x0, (%rbx)
jne 0x6567
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
leaq 0x321d(%rip), %rdi      # 0x97cb
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x3130
// File: /workspace/github_c_makefile_star2_O3/gadget114514[P]fatfs-example/rf.c
// Function: main
void main()
{
  FIL f;
  int w;
  FATFS fs;
  char buf[1024];
  FCHK(f_mount(&fs, "", 1)); 
  if (f_open(&f, "/abc/a.txt", FA_OPEN_EXISTING|FA_READ) == FR_OK) {
    FCHK(f_read(&f, buf, 9, &w));
    printf("open & write %d %s\n", w, buf);
    FCHK(f_close(&f));
  } else {
    printf("open error\n");
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x8b8, %rsp            # imm = 0x8B8
leaq 0x42d9(%rip), %rsi      # 0x5490
leaq -0x4d8(%rbp), %rdi
movl $0x1, %edx
callq 0x1438
movl %eax, %ebx
movl %eax, %edi
callq 0x12b3
leaq 0x3e2c(%rip), %rdi      # 0x5004
leaq 0x3e38(%rip), %rsi      # 0x5017
movl %ebx, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0x1050
leaq 0x3e39(%rip), %rsi      # 0x502b
leaq -0x280(%rbp), %rdi
movl $0x1, %edx
callq 0x1829
testl %eax, %eax
je 0x1218
leaq 0x41e6(%rip), %rdi      # 0x53f4
callq 0x1030
jmp 0x12a1
leaq -0x280(%rbp), %rbx
leaq -0x8e0(%rbp), %r15
leaq -0x2c(%rbp), %r12
movq %rbx, %rdi
movq %r15, %rsi
movl $0x9, %edx
movq %r12, %rcx
callq 0x215a
movl %eax, %r13d
movl %eax, %edi
callq 0x12b3
leaq 0x3db6(%rip), %r14      # 0x5004
leaq 0x3de1(%rip), %rsi      # 0x5036
movq %r14, %rdi
movl %r13d, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0x1050
movl (%r12), %esi
leaq 0x3ddd(%rip), %rdi      # 0x504d
movq %r15, %rdx
xorl %eax, %eax
callq 0x1050
movq %rbx, %rdi
callq 0x2a5a
movl %eax, %ebx
movl %eax, %edi
callq 0x12b3
leaq 0x3dcf(%rip), %rsi      # 0x5061
movq %r14, %rdi
movl %ebx, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0x1050
addq $0x8b8, %rsp            # imm = 0x8B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/ShonFrazier[P]lib6502/run6502.c
// Function: fail
void fail(const char *fmt, ...)
{
  va_list ap;
  fflush(stdout);
  va_start(ap, fmt);
  vfprintf(stderr, fmt, ap);
  va_end(ap);
  fprintf(stderr, "\n");
  exit(1);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0xd8, %rsp
movq %rdi, %rbx
leaq 0x20(%rsp), %r14
movq %rsi, 0x8(%r14)
movq %rdx, 0x10(%r14)
movq %rcx, 0x18(%r14)
movq %r8, 0x20(%r14)
movq %r9, 0x28(%r14)
testb %al, %al
je 0x829d
movaps %xmm0, 0x50(%rsp)
movaps %xmm1, 0x60(%rsp)
movaps %xmm2, 0x70(%rsp)
movaps %xmm3, 0x80(%rsp)
movaps %xmm4, 0x90(%rsp)
movaps %xmm5, 0xa0(%rsp)
movaps %xmm6, 0xb0(%rsp)
movaps %xmm7, 0xc0(%rsp)
movq 0x9d2c(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
callq 0x3150
movabsq $0x3000000008, %rax     # imm = 0x3000000008
movq %rsp, %rdx
movq %rax, (%rdx)
leaq 0xf0(%rsp), %rax
movq %rax, 0x8(%rdx)
movq %r14, 0x10(%rdx)
movq 0x9d25(%rip), %r14      # 0x11ff8
movq (%r14), %rdi
movq %rbx, %rsi
callq 0x3190
movq (%r14), %rsi
movl $0xa, %edi
callq 0x30d0
movl $0x1, %edi
callq 0x31b0
// File: /workspace/github_c_makefile_star2_O3/ShonFrazier[P]lib6502/run6502.c
// Function: osword
int osword(M6502 *mpu, word address, byte data)
{
  byte *params= mpu->memory + mpu->registers->x + (mpu->registers->y << 8);

  switch (mpu->registers->a)
    {
    case 0x00: /* input line */
      /* On entry: XY+0,1=>string area,
       *	   XY+2=maximum line length,
       *	   XY+3=minimum acceptable ASCII value,
       *	   XY+4=maximum acceptable ASCII value.
       * On exit:  Y is the line length (excluding CR),
       *	   C is set if Escape terminated input.
       */
      {
	word  offset= params[0] + (params[1] << 8);
	byte *buffer= mpu->memory + offset;
	byte  length= params[2], minVal= params[3], maxVal= params[4], b= 0;
	if (!fgets(buffer, length, stdin))
	  {
	    putchar('\n');
	    longjmp(exit_6502_env, 1);
	  }
	for (b= 0;  b < length;  ++b)
	  if ((buffer[b] < minVal) || (buffer[b] > maxVal) || ('\n' == buffer[b]))
	    break;
	buffer[b]= 13;
	mpu->registers->y= b;
	mpu->registers->p &= 0xFE;
	break;
      }

    default:
      {
	char state[64];
	M6502_dump(mpu, state);
	fflush(stdout);
	fprintf(stderr, "\nOSWORD %s\n", state);
	fail("ABORT");
      }
      break;
    }
  
  rts;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
movq (%rdi), %rax
cmpb $0x0, (%rax)
jne 0x83f3
movq 0x8(%rbx), %rcx
movzbl 0x1(%rax), %edx
addq %rcx, %rdx
movzbl 0x2(%rax), %eax
shll $0x8, %eax
movzwl (%rax,%rdx), %r14d
addq %rcx, %r14
movzbl 0x2(%rax,%rdx), %r15d
movb 0x3(%rax,%rdx), %bpl
movb 0x4(%rax,%rdx), %r12b
movq 0x9c72(%rip), %rax      # 0x11fd8
movq (%rax), %rdx
movq %r14, %rdi
movl %r15d, %esi
callq 0x30e0
testq %rax, %rax
je 0x83fe
xorl %eax, %eax
testq %r15, %r15
je 0x83a2
movb (%r14,%rax), %cl
cmpb $0xa, %cl
je 0x83a2
cmpb %bpl, %cl
jb 0x83a2
cmpb %r12b, %cl
ja 0x83a2
incq %rax
cmpq %rax, %r15
jne 0x8384
movl %r15d, %eax
movzbl %al, %eax
movb $0xd, (%r14,%rax)
movq (%rbx), %rcx
movb %al, 0x2(%rcx)
andb $-0x2, 0x3(%rcx)
movq 0x8(%rbx), %rax
movb 0x4(%rcx), %dl
leal 0x1(%rdx), %esi
movb %sil, 0x4(%rcx)
movzbl %sil, %esi
movzbl 0x100(%rax,%rsi), %esi
addb $0x2, %dl
movb %dl, 0x4(%rcx)
movzbl %dl, %ecx
movzbl 0x100(%rax,%rcx), %eax
shll $0x8, %eax
addl %esi, %eax
incl %eax
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rsp, %rdi
movq %rbx, %rsi
callq 0x31f0
movl $0xa, %edi
callq 0x3040
leaq 0x9d11(%rip), %rdi      # 0x12120
movl $0x1, %esi
callq 0x3160
// File: /workspace/github_c_makefile_star2_O3/ShonFrazier[P]lib6502/run6502.c
// Function: oscli
int oscli(M6502 *mpu, word address, byte data)
{
  byte *params= mpu->memory + mpu->registers->x + (mpu->registers->y << 8);
  char  command[1024], *ptr= command;
  while (('*' == *params) || (' ' == *params))
    ++params;
  while (13 != *params)
    *ptr++= *params++;
  *ptr= '\0';
  system(command);
  rts;
}

// Assembly:
pushq %rbx
subq $0x400, %rsp            # imm = 0x400
movq %rdi, %rbx
movq (%rdi), %rax
movq 0x8(%rdi), %rcx
movzwl 0x1(%rax), %eax
addq %rcx, %rax
incq %rax
movzbl -0x1(%rax), %ecx
cmpl $0x20, %ecx
je 0x84ca
cmpl $0x2a, %ecx
jne 0x84cf
incq %rax
jmp 0x84bc
cmpl $0xd, %ecx
jne 0x84d9
movq %rsp, %rax
jmp 0x84ed
xorl %edx, %edx
movb %cl, (%rsp,%rdx)
movb (%rax,%rdx), %cl
incq %rdx
cmpb $0xd, %cl
jne 0x84db
leaq (%rsp,%rdx), %rax
movb $0x0, (%rax)
movq %rsp, %rdi
callq 0x3090
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
movb 0x4(%rax), %dl
leal 0x1(%rdx), %esi
movb %sil, 0x4(%rax)
movzbl %sil, %esi
movzbl 0x100(%rcx,%rsi), %esi
addb $0x2, %dl
movb %dl, 0x4(%rax)
movzbl %dl, %eax
movzbl 0x100(%rcx,%rax), %eax
shll $0x8, %eax
addl %esi, %eax
incl %eax
addq $0x400, %rsp            # imm = 0x400
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/ShonFrazier[P]lib6502/run6502.c
// Function: oswrch
int oswrch(M6502 *mpu, word address, byte data)
{
  switch (mpu->registers->a)
    {
    case 0x0C:
      fputs("\033[2J\033[H", stdout);
      break;

    default:
      putchar(mpu->registers->a);
      break;
    }
  fflush(stdout);
  rts;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq (%rdi), %rax
movzbl (%rax), %edi
cmpl $0xc, %edi
jne 0x855d
movq 0x9a84(%rip), %rax      # 0x11fd0
movq (%rax), %rsi
leaq 0x5afc(%rip), %rdi      # 0xe052
callq 0x30b0
jmp 0x8562
callq 0x3040
movq 0x9a67(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
callq 0x3150
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
movb 0x4(%rax), %dl
leal 0x1(%rdx), %esi
movb %sil, 0x4(%rax)
movzbl %sil, %esi
movzbl 0x100(%rcx,%rsi), %esi
addb $0x2, %dl
movb %dl, 0x4(%rax)
movzbl %dl, %eax
movzbl 0x100(%rcx,%rax), %eax
shll $0x8, %eax
addl %esi, %eax
incl %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/ShonFrazier[P]lib6502/run6502.c
// Function: loadInterpreter
static int loadInterpreter(M6502 *mpu, word start, const char *path)
{
  FILE   *file= 0;
  int     count= 0;
  byte   *memory= mpu->memory + start;
  size_t  max= 0x10000 - start;
  int     c= 0;

  if ((!(file= fopen(path, "r"))) || ('#' != fgetc(file)) || ('!' != fgetc(file)))
    return 0;
  while ((c= fgetc(file)) >= ' ')
    ;
  while ((count= fread(memory, 1, max, file)) > 0)
    {
      memory += count;
      max -= count;
    }
  fclose(file);
  return 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %esi, %ebp
movq %rdi, %rbx
leaq 0x6043(%rip), %rsi      # 0xeddc
movq %rdx, %rdi
callq 0x3170
xorl %r15d, %r15d
testq %rax, %rax
je 0x8e13
movq %rax, %r14
movq %rax, %rdi
callq 0x30c0
cmpl $0x23, %eax
jne 0x8e13
movq %r14, %rdi
callq 0x30c0
cmpl $0x21, %eax
jne 0x8e13
movl %ebp, %eax
addq %rax, %rbx
movl $0x10000, %r15d         # imm = 0x10000
subq %rax, %r15
movq %r14, %rdi
callq 0x30c0
cmpl $0x1f, %eax
jg 0x8dd4
jmp 0x8dee
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
addq %rax, %rbx
subq %rax, %r15
movl $0x1, %esi
movq %rbx, %rdi
movq %r15, %rdx
movq %r14, %rcx
callq 0x3070
testl %eax, %eax
jg 0x8de3
movq %r14, %rdi
callq 0x3080
movl $0x1, %r15d
movl %r15d, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/ShonFrazier[P]lib6502/run6502.c
// Function: load
static int load(M6502 *mpu, word address, const char *path)
{
  FILE  *file= 0;
  int    count= 0;
  size_t max= 0x10000 - address;
  if (!(file= fopen(path, "r")))
    return 0;
  while ((count= fread(mpu->memory + address, 1, max, file)) > 0)
    {
      address += count;
      max -= count;
    }
  fclose(file);
  return 1;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %ebx
movq %rdi, %r14
leaq 0x5fa7(%rip), %rsi      # 0xeddc
movq %rdx, %rdi
callq 0x3170
testq %rax, %rax
je 0x8e87
movq %rax, %r15
movzwl %bx, %edi
movl $0x10000, %r12d         # imm = 0x10000
subq %rdi, %r12
jmp 0x8e60
addl %eax, %ebx
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
subq %rax, %r12
movzwl %bx, %edi
addq 0x8(%r14), %rdi
movl $0x1, %esi
movq %r12, %rdx
movq %r15, %rcx
callq 0x3070
testl %eax, %eax
jg 0x8e53
movq %r15, %rdi
callq 0x3080
movl $0x1, %eax
jmp 0x8e89
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/ShonFrazier[P]lib6502/run6502.c
// Function: doBtraps
static int doBtraps(int argc, char **argv, M6502 *mpu)
{
  unsigned addr;

  /* Acorn Model B ROM and memory-mapped IO */

  for (addr= 0x8000;  addr <= 0xFBFF;  ++addr)  mpu->callbacks->write[addr]= writeROM;
  for (addr= 0xFC00;  addr <= 0xFEFF;  ++addr)  mpu->memory[addr]= 0xFF;
  for (addr= 0xFE30;  addr <= 0xFE33;  ++addr)  mpu->callbacks->write[addr]= bankSelect;
  for (addr= 0xFE40;  addr <= 0xFE4F;  ++addr)  mpu->memory[addr]= 0x00;
  for (addr= 0xFF00;  addr <= 0xFFFF;  ++addr)  mpu->callbacks->write[addr]= writeROM;

  /* anything already loaded at 0x8000 appears in bank 0 */

  memcpy(bank[0x00], mpu->memory + 0x8000, 0x4000);

  /* fake a few interesting OS calls */

# define trap(vec, addr, func)   mpu->callbacks->call[addr]= (func)
  trap(0x020C, 0xFFF1, osword);
  trap(0x020A, 0xFFF4, osbyte);
//trap(0x0208, 0xFFF7, oscli );	/* enable this to send '*COMMAND's to system(3) :-) */
  trap(0x020E, 0xFFEE, oswrch);
  trap(0x020E, 0xE0A4, oswrch);	/* NVWRCH */
#undef trap

  return 0;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
xorl %ecx, %ecx
leaq 0x359(%rip), %rax       # 0x91fb
movq 0x10(%rbx), %rdx
movq %rax, 0xc0000(%rdx,%rcx,8)
incq %rcx
cmpq $0x7c00, %rcx           # imm = 0x7C00
jne 0x8ea2
xorl %ecx, %ecx
movq 0x8(%rbx), %rdx
movb $-0x1, 0xfc00(%rdx,%rcx)
incq %rcx
cmpq $0x300, %rcx            # imm = 0x300
jne 0x8ebc
xorl %ecx, %ecx
leaq 0x321(%rip), %rdx       # 0x91fe
movq 0x10(%rbx), %rsi
movq %rdx, 0xff180(%rsi,%rcx,8)
incq %rcx
cmpq $0x4, %rcx
jne 0x8edd
xorl %ecx, %ecx
movq 0x8(%rbx), %rdx
movb $0x0, 0xfe40(%rdx,%rcx)
incq %rcx
cmpq $0x10, %rcx
jne 0x8ef4
xorl %ecx, %ecx
movq 0x10(%rbx), %rdx
movq %rax, 0xff800(%rdx,%rcx,8)
incq %rcx
cmpq $0x100, %rcx            # imm = 0x100
jne 0x8f0b
movl $0x8000, %esi           # imm = 0x8000
addq 0x8(%rbx), %rsi
leaq 0x92bd(%rip), %rdi      # 0x121f0
movl $0x4000, %edx           # imm = 0x4000
callq 0x3140
movq 0x10(%rbx), %rax
leaq -0xc2e(%rip), %rcx      # 0x831a
movq %rcx, 0x17ff88(%rax)
movq 0x10(%rbx), %rax
leaq -0xb41(%rip), %rcx      # 0x8419
movq %rcx, 0x17ffa0(%rax)
movq 0x10(%rbx), %rax
leaq -0xa36(%rip), %rcx      # 0x8536
movq %rcx, 0x17ff70(%rax)
movq 0x10(%rbx), %rax
movq %rcx, 0x170520(%rax)
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/ShonFrazier[P]lib6502/run6502.c
// Function: doXtrap
static int doXtrap(int argc, char **argv, M6502 *mpu)
{
  unsigned addr= 0;
  if (argc < 2) usage(1);
  addr= htol(argv[1]);
  M6502_setCallback(mpu, call, addr, xTrap);
  return 1;
}

// Assembly:
pushq %rbx
cmpl $0x1, %edi
jle 0x8fa9
movq %rdx, %rbx
movq 0x8(%rsi), %rdi
callq 0x9229
movq 0x10(%rbx), %rcx
movl %eax, %eax
leaq 0x356(%rip), %rdx       # 0x92f5
movq %rdx, 0x100000(%rcx,%rax,8)
popq %rbx
retq
movl $0x1, %edi
callq 0x8fb3