LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_get_response_payload
void
kmip_print_get_response_payload(FILE *f, int indent, GetResponsePayload *value)
{
    fprintf(f, "%*sGet Response Payload @ %p\n", indent, "", (void *)value);
    
    if(value != NULL)
    {
        fprintf(f, "%*sObject Type: ", indent + 2, "");
        kmip_print_object_type_enum(f, value->object_type);
        fprintf(f, "\n");
        
        kmip_print_text_string(f, indent + 2, "Unique Identifier", value->unique_identifier);
        kmip_print_object(f, indent + 2, value->object_type, value->object);
    }
    
    return;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %r14
movl %esi, %ebx
movq %rdi, %r15
leaq 0x8382(%rip), %rsi      # 0x1d546
leaq 0x3fe6(%rip), %rcx      # 0x191b1
movl %ebx, %edx
movq %r14, %r8
xorl %eax, %eax
callq 0x2200
testq %r14, %r14
je 0x1523a
addl $0x2, %ebx
leaq 0x82fe(%rip), %rsi      # 0x1d4e4
leaq 0x3fc4(%rip), %rcx      # 0x191b1
movq %r15, %rdi
movl %ebx, %edx
xorl %eax, %eax
callq 0x2200
movl (%r14), %esi
movq %r15, %rdi
callq 0x12e08
pushq $0xa
popq %rdi
movq %r15, %rsi
callq 0x21b0
movq 0x8(%r14), %rcx
leaq 0x48bc(%rip), %rdx      # 0x19ad6
movq %r15, %rdi
movl %ebx, %esi
callq 0x140e1
movl (%r14), %edx
movq 0x10(%r14), %rcx
movq %r15, %rdi
movl %ebx, %esi
popq %rbx
popq %r14
popq %r15
jmp 0x14e04
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_request_payload
void
kmip_print_request_payload(FILE *f, int indent, enum operation type, void *value)
{
    switch(type)
    {
        case KMIP_OP_CREATE:
        kmip_print_create_request_payload(f, indent, value);
        break;
        
        case KMIP_OP_GET:
        kmip_print_get_request_payload(f, indent, (GetRequestPayload *)value);
        break;
        
        case KMIP_OP_DESTROY:
        kmip_print_destroy_request_payload(f, indent, value);
        break;
        
        case KMIP_OP_QUERY:
        kmip_print_query_request_payload(f, indent, value);
        break;

        default:
        fprintf(f, "%*sUnknown Payload @ %p\n", indent, "", value);
        break;
    };
}

// Assembly:
movq %rcx, %r8
movl %esi, %eax
cmpl $0x18, %edx
je 0x15313
cmpl $0xa, %edx
je 0x152ff
cmpl $0x14, %edx
je 0x15309
cmpl $0x1, %edx
jne 0x1531d
movl %eax, %esi
movq %r8, %rdx
jmp 0x14f98
movl %eax, %esi
movq %r8, %rdx
jmp 0x150b9
movl %eax, %esi
movq %r8, %rdx
jmp 0x15240
movl %eax, %esi
movq %r8, %rdx
jmp 0x15334
leaq 0x8283(%rip), %rsi      # 0x1d5a7
leaq 0x3e86(%rip), %rcx      # 0x191b1
movl %eax, %edx
xorl %eax, %eax
jmp 0x2200
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_response_payload
void
kmip_print_response_payload(FILE *f, int indent, enum operation type, void *value)
{
    switch(type)
    {
        case KMIP_OP_CREATE:
        kmip_print_create_response_payload(f, indent, value);
        break;
        
        case KMIP_OP_GET:
        kmip_print_get_response_payload(f, indent, (GetResponsePayload *)value);
        break;
        
        case KMIP_OP_DESTROY:
        kmip_print_destroy_response_payload(f, indent, value);
        break;
        
        case KMIP_OP_QUERY:
        kmip_print_query_response_payload(f, indent, value);
        break;

        default:
        fprintf(f, "%*sUnknown Payload @ %p\n", indent, "", value);
        break;
    };
}

// Assembly:
movq %rcx, %r8
movl %esi, %eax
cmpl $0x18, %edx
je 0x153af
cmpl $0xa, %edx
je 0x1539b
cmpl $0x14, %edx
je 0x153a5
cmpl $0x1, %edx
jne 0x153b9
movl %eax, %esi
movq %r8, %rdx
jmp 0x1502c
movl %eax, %esi
movq %r8, %rdx
jmp 0x151b0
movl %eax, %esi
movq %r8, %rdx
jmp 0x1528e
movl %eax, %esi
movq %r8, %rdx
jmp 0x153d0
leaq 0x81e7(%rip), %rsi      # 0x1d5a7
leaq 0x3dea(%rip), %rcx      # 0x191b1
movl %eax, %edx
xorl %eax, %eax
jmp 0x2200
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_query_response_payload
void
kmip_print_query_response_payload(FILE* f, int indent, QueryResponsePayload *value)
{
    fprintf(f,"%*sQuery response @ %p\n", indent, "", (void *)value);

    if(value != NULL)
    {
        kmip_print_operations(f,indent, value->operations);
        kmip_print_object_types(f,indent, value->objects);
        kmip_print_text_string(f,indent, "Vendor ID", value->vendor_identification);
        kmip_print_server_information(f,indent, value->server_information);
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %r14
movl %esi, %ebx
movq %rdi, %r15
leaq 0x8855(%rip), %rsi      # 0x1dc39
leaq 0x3dc6(%rip), %rcx      # 0x191b1
movl %ebx, %edx
movq %r14, %r8
xorl %eax, %eax
callq 0x2200
testq %r14, %r14
je 0x1543f
movq (%r14), %rdx
movq %r15, %rdi
movl %ebx, %esi
callq 0x15f0e
movq 0x8(%r14), %rdx
movq %r15, %rdi
movl %ebx, %esi
callq 0x15fca
movq 0x10(%r14), %rcx
leaq 0x882f(%rip), %rdx      # 0x1dc51
movq %r15, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x18(%r14), %rdx
movq %r15, %rdi
movl %ebx, %esi
popq %rbx
popq %r14
popq %r15
jmp 0x1614e
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_username_password_credential
void
kmip_print_username_password_credential(FILE *f, int indent, UsernamePasswordCredential *value)
{
    fprintf(f, "%*sUsername/Password Credential @ %p\n", indent, "", (void *)value);
    
    if(value != NULL)
    {
        kmip_print_text_string(f, indent + 2, "Username", value->username);
        kmip_print_text_string(f, indent + 2, "Password", value->password);
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %r15
movl %esi, %ebx
movq %rdi, %r14
leaq 0x8167(%rip), %rsi      # 0x1d5c0
leaq 0x3d51(%rip), %rcx      # 0x191b1
movl %ebx, %edx
movq %r15, %r8
xorl %eax, %eax
callq 0x2200
testq %r15, %r15
je 0x154a2
addl $0x2, %ebx
movq (%r15), %rcx
leaq 0x8168(%rip), %rdx      # 0x1d5e6
movq %r14, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x8(%r15), %rcx
leaq 0x6c9e(%rip), %rdx      # 0x1c131
movq %r14, %rdi
movl %ebx, %esi
popq %rbx
popq %r14
popq %r15
jmp 0x140e1
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_device_credential
void
kmip_print_device_credential(FILE *f, int indent, DeviceCredential *value)
{
    fprintf(f, "%*sDevice Credential @ %p\n", indent, "", (void *)value);

    if(value != NULL)
    {
        kmip_print_text_string(f, indent + 2, "Device Serial Number", value->device_serial_number);
        kmip_print_text_string(f, indent + 2, "Password", value->password);
        kmip_print_text_string(f, indent + 2, "Device Identifier", value->device_identifier);
        kmip_print_text_string(f, indent + 2, "Network Identifier", value->network_identifier);
        kmip_print_text_string(f, indent + 2, "Machine Identifier", value->machine_identifier);
        kmip_print_text_string(f, indent + 2, "Media Identifier", value->media_identifier);
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %r15
movl %esi, %ebx
movq %rdi, %r14
leaq 0x8133(%rip), %rsi      # 0x1d5ef
leaq 0x3cee(%rip), %rcx      # 0x191b1
movl %ebx, %edx
movq %r15, %r8
xorl %eax, %eax
callq 0x2200
testq %r15, %r15
je 0x1555d
addl $0x2, %ebx
movq (%r15), %rcx
leaq 0x8125(%rip), %rdx      # 0x1d60a
movq %r14, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x8(%r15), %rcx
leaq 0x6c37(%rip), %rdx      # 0x1c131
movq %r14, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x10(%r15), %rcx
leaq 0x8110(%rip), %rdx      # 0x1d61f
movq %r14, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x18(%r15), %rcx
leaq 0x810d(%rip), %rdx      # 0x1d631
movq %r14, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x20(%r15), %rcx
leaq 0x810b(%rip), %rdx      # 0x1d644
movq %r14, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x28(%r15), %rcx
leaq 0x8109(%rip), %rdx      # 0x1d657
movq %r14, %rdi
movl %ebx, %esi
popq %rbx
popq %r14
popq %r15
jmp 0x140e1
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_attestation_credential
void
kmip_print_attestation_credential(FILE *f, int indent, AttestationCredential *value)
{
    fprintf(f, "%*sAttestation Credential @ %p\n", indent, "", (void *)value);

    if(value != NULL)
    {
        kmip_print_nonce(f, indent + 2, value->nonce);
        fprintf(f, "%*sAttestation Type: ", indent + 2, "");
        kmip_print_attestation_type_enum(f, value->attestation_type);
        fprintf(f, "\n");
        kmip_print_byte_string(f, indent + 2, "Attestation Measurement", value->attestation_measurement);
        kmip_print_byte_string(f, indent + 2, "Attestation Assertion", value->attestation_assertion);
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %r15
movl %esi, %ebx
movq %rdi, %r14
leaq 0x80f1(%rip), %rsi      # 0x1d668
leaq 0x3c33(%rip), %rcx      # 0x191b1
movl %ebx, %edx
movq %r15, %r8
xorl %eax, %eax
callq 0x2200
testq %r15, %r15
je 0x155ff
addl $0x2, %ebx
movq (%r15), %rdx
movq %r14, %rdi
movl %ebx, %esi
callq 0x14352
leaq 0x80e2(%rip), %rsi      # 0x1d688
leaq 0x3c04(%rip), %rcx      # 0x191b1
movq %r14, %rdi
movl %ebx, %edx
xorl %eax, %eax
callq 0x2200
movl 0x8(%r15), %esi
movq %r14, %rdi
callq 0x126d6
pushq $0xa
popq %rdi
movq %r14, %rsi
callq 0x21b0
movq 0x10(%r15), %rcx
leaq 0x80c3(%rip), %rdx      # 0x1d69e
movq %r14, %rdi
movl %ebx, %esi
callq 0x1413f
movq 0x18(%r15), %rcx
leaq 0x80c6(%rip), %rdx      # 0x1d6b6
movq %r14, %rdi
movl %ebx, %esi
popq %rbx
popq %r14
popq %r15
jmp 0x1413f
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_credential_value
void
kmip_print_credential_value(FILE *f, int indent, enum credential_type type, void *value)
{
    fprintf(f, "%*sCredential Value @ %p\n", indent, "", value);
    
    if(value != NULL)
    {
        switch(type)
        {
            case KMIP_CRED_USERNAME_AND_PASSWORD:
            kmip_print_username_password_credential(f, indent + 2, value);
            break;
            
            case KMIP_CRED_DEVICE:
            kmip_print_device_credential(f, indent + 2, value);
            break;
            
            case KMIP_CRED_ATTESTATION:
            kmip_print_attestation_credential(f, indent + 2, value);
            break;
            
            default:
            fprintf(f, "%*sUnknown Credential @ %p\n", indent + 2, "", value);
            break;
        };
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rcx, %rbx
movl %edx, %r15d
movl %esi, %ebp
movq %rdi, %r14
leaq 0x80ae(%rip), %rsi      # 0x1d6cc
leaq 0x3b8c(%rip), %rcx      # 0x191b1
movl %ebp, %edx
movq %rbx, %r8
xorl %eax, %eax
callq 0x2200
testq %rbx, %rbx
je 0x15662
addl $0x2, %ebp
cmpl $0x3, %r15d
je 0x15684
cmpl $0x2, %r15d
je 0x1566d
cmpl $0x1, %r15d
jne 0x1569b
movq %r14, %rdi
movl %ebp, %esi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x15445
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %r14, %rdi
movl %ebp, %esi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x154a8
movq %r14, %rdi
movl %ebp, %esi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x15563
leaq 0x8044(%rip), %rsi      # 0x1d6e6
leaq 0x3b08(%rip), %rcx      # 0x191b1
movq %r14, %rdi
movl %ebp, %edx
movq %rbx, %r8
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x2200
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_credential
void
kmip_print_credential(FILE *f, int indent, Credential *value)
{
    fprintf(f, "%*sCredential @ %p\n", indent, "", (void *)value);
    
    if(value != NULL)
    {
        fprintf(f, "%*sCredential Type: ", indent + 2, "");
        kmip_print_credential_type_enum(f, value->credential_type);
        fprintf(f, "\n");
        
        kmip_print_credential_value(f, indent + 2, value->credential_type, value->credential_value);
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %r14
movl %esi, %ebx
movq %rdi, %r15
leaq 0x802c(%rip), %rsi      # 0x1d702
leaq 0x3ad4(%rip), %rcx      # 0x191b1
movl %ebx, %edx
movq %r14, %r8
xorl %eax, %eax
callq 0x2200
testq %r14, %r14
je 0x15737
addl $0x2, %ebx
leaq 0x801e(%rip), %rsi      # 0x1d716
leaq 0x3ab2(%rip), %rcx      # 0x191b1
movq %r15, %rdi
movl %ebx, %edx
xorl %eax, %eax
callq 0x2200
movl (%r14), %esi
movq %r15, %rdi
callq 0x13a61
pushq $0xa
popq %rdi
movq %r15, %rsi
callq 0x21b0
movl (%r14), %edx
movq 0x8(%r14), %rcx
movq %r15, %rdi
movl %ebx, %esi
popq %rbx
popq %r14
popq %r15
jmp 0x15605
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_request_batch_item
void
kmip_print_request_batch_item(FILE *f, int indent, RequestBatchItem *value)
{
    fprintf(f, "%*sRequest Batch Item @ %p\n", indent, "", (void *)value);
    
    if(value != NULL)
    {
        fprintf(f, "%*sOperation: ", indent + 2, "");
        kmip_print_operation_enum(f, value->operation);
        fprintf(f, "\n");

        fprintf(f, "%*sEphemeral: ", indent + 2, "");
        kmip_print_bool(f, value->ephemeral);
        fprintf(f, "\n");

        kmip_print_byte_string(f, indent + 2, "Unique Batch Item ID", value->unique_batch_item_id);
        kmip_print_request_payload(f, indent + 2, value->operation, value->request_payload);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdx, %r14
movl %esi, %ebx
movq %rdi, %r15
leaq 0x7fa8(%rip), %rsi      # 0x1d743
leaq 0x3a0f(%rip), %rcx      # 0x191b1
movl %ebx, %edx
movq %r14, %r8
xorl %eax, %eax
callq 0x2200
testq %r14, %r14
je 0x15849
addl $0x2, %ebx
leaq 0x7f9e(%rip), %rsi      # 0x1d75f
leaq 0x39e9(%rip), %r12      # 0x191b1
movq %r15, %rdi
movl %ebx, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2200
movl (%r14), %esi
movq %r15, %rdi
callq 0x12784
pushq $0xa
popq %rbp
movl %ebp, %edi
movq %r15, %rsi
callq 0x21b0
leaq 0x7f78(%rip), %rsi      # 0x1d76e
movq %r15, %rdi
movl %ebx, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2200
movl 0x18(%r14), %esi
movq %r15, %rdi
callq 0x140ad
movl %ebp, %edi
movq %r15, %rsi
callq 0x21b0
movq 0x8(%r14), %rcx
leaq 0x7f57(%rip), %rdx      # 0x1d77d
movq %r15, %rdi
movl %ebx, %esi
callq 0x1413f
movl (%r14), %edx
movq 0x10(%r14), %rcx
movq %r15, %rdi
movl %ebx, %esi
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x152dc
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_response_batch_item
void
kmip_print_response_batch_item(FILE *f, int indent, ResponseBatchItem *value)
{
    fprintf(f, "%*sResponse Batch Item @ %p\n", indent, "", (void *)value);
    
    if(value != NULL)
    {
        fprintf(f, "%*sOperation: ", indent + 2, "");
        kmip_print_operation_enum(f, value->operation);
        fprintf(f, "\n");
        
        kmip_print_byte_string(f, indent + 2, "Unique Batch Item ID", value->unique_batch_item_id);
        
        fprintf(f, "%*sResult Status: ", indent + 2, "");
        kmip_print_result_status_enum(f, value->result_status);
        fprintf(f, "\n");
        
        fprintf(f, "%*sResult Reason: ", indent + 2, "");
        kmip_print_result_reason_enum(f, value->result_reason);
        fprintf(f, "\n");
        
        kmip_print_text_string(f, indent + 2, "Result Message", value->result_message);
        kmip_print_byte_string(f, indent + 2, "Asynchronous Correlation Value", value->asynchronous_correlation_value);
        
        kmip_print_response_payload(f, indent + 2, value->operation, value->response_payload);
    }
    
    return;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdx, %r14
movl %esi, %ebx
movq %rdi, %r15
leaq 0x7f29(%rip), %rsi      # 0x1d792
leaq 0x3941(%rip), %rcx      # 0x191b1
movl %ebx, %edx
movq %r14, %r8
xorl %eax, %eax
callq 0x2200
testq %r14, %r14
je 0x1596d
addl $0x2, %ebx
leaq 0x7ed0(%rip), %rsi      # 0x1d75f
leaq 0x391b(%rip), %r12      # 0x191b1
movq %r15, %rdi
movl %ebx, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2200
movl (%r14), %esi
movq %r15, %rdi
callq 0x12784
pushq $0xa
popq %rbp
movl %ebp, %edi
movq %r15, %rsi
callq 0x21b0
movq 0x8(%r14), %rcx
leaq 0x7eb5(%rip), %rdx      # 0x1d77d
movq %r15, %rdi
movl %ebx, %esi
callq 0x1413f
leaq 0x7ed6(%rip), %rsi      # 0x1d7af
movq %r15, %rdi
movl %ebx, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2200
movl 0x10(%r14), %esi
movq %r15, %rdi
callq 0x12a24
movl %ebp, %edi
movq %r15, %rsi
callq 0x21b0
leaq 0x7ebd(%rip), %rsi      # 0x1d7c2
movq %r15, %rdi
movl %ebx, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2200
movl 0x14(%r14), %esi
movq %r15, %rdi
callq 0x12a78
movl %ebp, %edi
movq %r15, %rsi
callq 0x21b0
movq 0x18(%r14), %rcx
leaq 0x7ea0(%rip), %rdx      # 0x1d7d5
movq %r15, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x20(%r14), %rcx
leaq 0x6848(%rip), %rdx      # 0x1c192
movq %r15, %rdi
movl %ebx, %esi
callq 0x1413f
movl (%r14), %edx
movq 0x28(%r14), %rcx
movq %r15, %rdi
movl %ebx, %esi
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x15378
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_response_header
void
kmip_print_response_header(FILE *f, int indent, ResponseHeader *value)
{
    fprintf(f, "%*sResponse Header @ %p\n", indent, "", (void *)value);
    
    if(value != NULL)
    {
        kmip_print_protocol_version(f, indent + 2, value->protocol_version);
        fprintf(f, "%*sTime Stamp: ", indent + 2, "");
        kmip_print_date_time(f, value->time_stamp);
        fprintf(f, "\n");
        kmip_print_nonce(f, indent + 2, value->nonce);

        kmip_print_byte_string(f, indent + 2, "Server Hashed Password", value->server_hashed_password);

        fprintf(f, "%*sAttestation Types: %zu\n", indent + 2, "", value->attestation_type_count);
        for(size_t i = 0; i < value->attestation_type_count; i++)
        {
            /* TODO (ph) Add enum value -> string functionality. */
            fprintf(f, "%*sAttestation Type: %s\n", indent + 4, "", "???");
        }
        kmip_print_text_string(f, indent + 2, "Client Correlation Value", value->client_correlation_value);
        kmip_print_text_string(f, indent + 2, "Server Correlation Value", value->server_correlation_value);
        fprintf(f, "%*sBatch Count: %d\n", indent + 2, "", value->batch_count);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r14
movl %esi, %r13d
movq %rdi, %rbx
leaq 0x7d4b(%rip), %rsi      # 0x1d921
leaq 0x35d4(%rip), %rcx      # 0x191b1
movl %r13d, %edx
movq %r14, %r8
xorl %eax, %eax
callq 0x2200
testq %r14, %r14
je 0x15d0d
leal 0x2(%r13), %ebp
movq (%r14), %rdx
movq %rbx, %rdi
movl %ebp, %esi
callq 0x14253
leaq 0x7cf2(%rip), %rsi      # 0x1d8fd
leaq 0x359f(%rip), %r15      # 0x191b1
movq %rbx, %rdi
movl %ebp, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x2200
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0x14210
pushq $0xa
popq %rdi
movq %rbx, %rsi
callq 0x21b0
movq 0x18(%r14), %rdx
movq %rbx, %rdi
movl %ebp, %esi
callq 0x14352
movq 0x40(%r14), %rcx
leaq 0x7ce9(%rip), %rdx      # 0x1d93a
movq %rbx, %rdi
movl %ebp, %esi
callq 0x1413f
movq 0x28(%r14), %r8
leaq 0x7c22(%rip), %rsi      # 0x1d888
movq %rbx, %rdi
movl %ebp, 0x4(%rsp)
movl %ebp, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x2200
addl $0x4, %r13d
leaq 0x7c1f(%rip), %r15      # 0x1d8a3
leaq 0x7c31(%rip), %rbp      # 0x1d8bc
xorl %r12d, %r12d
cmpq 0x28(%r14), %r12
jae 0x15cb3
movq %rbx, %rdi
movq %r15, %rsi
movl %r13d, %edx
leaq 0x350d(%rip), %rcx      # 0x191b1
movq %rbp, %r8
xorl %eax, %eax
callq 0x2200
incq %r12
jmp 0x15c8e
movq 0x30(%r14), %rcx
leaq 0x7b59(%rip), %rdx      # 0x1d817
movq %rbx, %rdi
movl 0x4(%rsp), %ebp
movl %ebp, %esi
callq 0x140e1
movq 0x38(%r14), %rcx
leaq 0x7b59(%rip), %rdx      # 0x1d830
movq %rbx, %rdi
movl %ebp, %esi
callq 0x140e1
movl 0x10(%r14), %r8d
leaq 0x7c21(%rip), %rsi      # 0x1d90d
leaq 0x34be(%rip), %rcx      # 0x191b1
movq %rbx, %rdi
movl %ebp, %edx
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2200
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_request_message
void
kmip_print_request_message(FILE *f, RequestMessage *value)
{
    fprintf(f, "Request Message @ %p\n", (void *)value);
    
    if(value != NULL)
    {
        kmip_print_request_header(f, 2, value->request_header);
        fprintf(f, "%*sBatch Items: %zu\n", 2, "", value->batch_count);
        
        for(size_t i = 0; i < value->batch_count; i++)
        {
            kmip_print_request_batch_item(f, 4, &value->batch_items[i]);
        }
    }
    
    return;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x7c20(%rip), %rsi      # 0x1d951
movq %rbx, %rdx
xorl %eax, %eax
callq 0x2200
testq %rbx, %rbx
je 0x15d97
movq (%rbx), %rdx
pushq $0x2
popq %rbp
movq %r14, %rdi
movl %ebp, %esi
callq 0x15976
movq 0x10(%rbx), %r8
leaq 0x7c0c(%rip), %rsi      # 0x1d967
leaq 0x344f(%rip), %rcx      # 0x191b1
xorl %r15d, %r15d
movq %r14, %rdi
movl %ebp, %edx
xorl %eax, %eax
callq 0x2200
pushq $0x4
popq %rbp
xorl %r12d, %r12d
cmpq 0x10(%rbx), %r12
jae 0x15d97
movq 0x8(%rbx), %rdx
addq %r15, %rdx
movq %r14, %rdi
movl %ebp, %esi
callq 0x15784
incq %r12
addq $0x20, %r15
jmp 0x15d77
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_response_message
void
kmip_print_response_message(FILE *f, ResponseMessage *value)
{
    fprintf(f, "Response Message @ %p\n", (void *)value);
    
    if(value != NULL)
    {
        kmip_print_response_header(f, 2, value->response_header);
        fprintf(f, "  Batch Items: %zu\n", value->batch_count);
        
        for(size_t i = 0; i < value->batch_count; i++)
        {
            kmip_print_response_batch_item(f, 4, &value->batch_items[i]);
        }
    }
    
    return;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x7bc7(%rip), %rsi      # 0x1d97c
movq %rbx, %rdx
xorl %eax, %eax
callq 0x2200
testq %rbx, %rbx
je 0x15e10
movq (%rbx), %rdx
pushq $0x2
popq %rsi
movq %r14, %rdi
callq 0x15bbb
movq 0x10(%rbx), %rdx
leaq 0x7bb6(%rip), %rsi      # 0x1d993
xorl %r15d, %r15d
movq %r14, %rdi
xorl %eax, %eax
callq 0x2200
pushq $0x4
popq %rbp
xorl %r12d, %r12d
cmpq 0x10(%rbx), %r12
jae 0x15e10
movq 0x8(%rbx), %rdx
addq %r15, %rdx
movq %r14, %rdi
movl %ebp, %esi
callq 0x15852
incq %r12
addq $0x30, %r15
jmp 0x15df0
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_query_functions
void
kmip_print_query_functions(FILE* f, int indent, Functions* value)
{
    fprintf(f, "%*sQuery Functions @ %p\n", indent, "", (void *)value);

    if(value != NULL &&
       value->function_list != NULL)
    {
        fprintf(f, "%*sFunctions: %zu\n", indent + 2, "", value->function_list->size);
        LinkedListItem *curr = value->function_list->head;
        size_t count = 1;
        while(curr != NULL)
        {
            fprintf(f, "%*sFunction: %zu: ", indent + 4, "", count);
            int32 func = *(int32 *)curr->data;
            kmip_print_query_function_enum(f, indent + 6, func);
            fprintf(f, "\n");

            curr = curr->next;
            count++;
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r12
movl %esi, %ebx
movq %rdi, %r14
leaq 0x7c54(%rip), %rsi      # 0x1dab7
leaq 0x3347(%rip), %rcx      # 0x191b1
movl %ebx, %edx
movq %r12, %r8
xorl %eax, %eax
callq 0x2200
testq %r12, %r12
je 0x15eff
movq (%r12), %rax
testq %rax, %rax
je 0x15eff
leal 0x2(%rbx), %edx
movq 0x10(%rax), %r8
leaq 0x7c3a(%rip), %rsi      # 0x1dad0
leaq 0x3314(%rip), %rcx      # 0x191b1
movq %r14, %rdi
xorl %eax, %eax
callq 0x2200
movq (%r12), %r13
leal 0x4(%rbx), %ebp
addl $0x6, %ebx
pushq $0x1
popq %r12
pushq $0xa
popq %r15
movq (%r13), %r13
testq %r13, %r13
je 0x15eff
movq %r14, %rdi
leaq 0x7c17(%rip), %rsi      # 0x1dae3
movl %ebp, %edx
leaq 0x32dc(%rip), %rcx      # 0x191b1
movq %r12, %r8
xorl %eax, %eax
callq 0x2200
movq 0x10(%r13), %rax
movl (%rax), %edx
movq %r14, %rdi
movl %ebx, %esi
callq 0x15e19
movl %r15d, %edi
movq %r14, %rsi
callq 0x21b0
incq %r12
jmp 0x15eb9
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_operations
void
kmip_print_operations(FILE* f, int indent, Operations *value)
{
    fprintf(f, "%*sOperations @ %p\n", indent, "", (void *)value);

    if(value != NULL &&
       value->operation_list != NULL)
    {
        fprintf(f, "%*sOperations: %zu\n", indent + 2, "", value->operation_list->size);
        LinkedListItem *curr = value->operation_list->head;
        size_t count = 1;
        while(curr != NULL)
        {
            fprintf(f, "%*sOperation: %zu: ", indent + 4, "", count);
            int32 oper = *(int32 *)curr->data;
            kmip_print_operation_enum(f, oper);
            fprintf(f, "\n");

            curr = curr->next;
            count++;
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r12
movl %esi, %ebx
movq %rdi, %r14
leaq 0x7bce(%rip), %rsi      # 0x1daf6
leaq 0x3282(%rip), %rcx      # 0x191b1
movl %ebx, %edx
movq %r12, %r8
xorl %eax, %eax
callq 0x2200
testq %r12, %r12
je 0x15fbb
movq (%r12), %rax
testq %rax, %rax
je 0x15fbb
leal 0x2(%rbx), %edx
movq 0x10(%rax), %r8
leaq 0x7bb3(%rip), %rsi      # 0x1db0a
leaq 0x3253(%rip), %rcx      # 0x191b1
movq %r14, %rdi
xorl %eax, %eax
callq 0x2200
movq (%r12), %r15
addl $0x4, %ebx
pushq $0x1
popq %r12
leaq 0x7ba4(%rip), %r13      # 0x1db1e
pushq $0xa
popq %rbp
movq (%r15), %r15
testq %r15, %r15
je 0x15fbb
movq %r14, %rdi
movq %r13, %rsi
movl %ebx, %edx
leaq 0x321d(%rip), %rcx      # 0x191b1
movq %r12, %r8
xorl %eax, %eax
callq 0x2200
movq 0x10(%r15), %rax
movl (%rax), %esi
movq %r14, %rdi
callq 0x12784
movl %ebp, %edi
movq %r14, %rsi
callq 0x21b0
incq %r12
jmp 0x15f7d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_object_types
void
kmip_print_object_types(FILE* f, int indent, ObjectTypes* value)
{
    fprintf(f, "%*sObjects @ %p\n", indent, "", (void *)value);

    if(value != NULL &&
       value->object_list != NULL )
    {
        fprintf(f, "%*sObjects: %zu\n", indent + 2, "", value->object_list->size);
        LinkedListItem *curr = value->object_list->head;
        size_t count = 1;
        while(curr != NULL)
        {
            fprintf(f, "%*sObject: %zu: ", indent + 4, "", count);
            int32 obj = *(int32 *)curr->data;
            kmip_print_object_type_enum(f, obj);
            fprintf(f, "\n");

            curr = curr->next;
            count++;
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r12
movl %esi, %ebx
movq %rdi, %r14
leaq 0x7b4e(%rip), %rsi      # 0x1db32
leaq 0x31c6(%rip), %rcx      # 0x191b1
movl %ebx, %edx
movq %r12, %r8
xorl %eax, %eax
callq 0x2200
testq %r12, %r12
je 0x16077
movq (%r12), %rax
testq %rax, %rax
je 0x16077
leal 0x2(%rbx), %edx
movq 0x10(%rax), %r8
leaq 0x7b30(%rip), %rsi      # 0x1db43
leaq 0x3197(%rip), %rcx      # 0x191b1
movq %r14, %rdi
xorl %eax, %eax
callq 0x2200
movq (%r12), %r15
addl $0x4, %ebx
pushq $0x1
popq %r12
leaq 0x7b1e(%rip), %r13      # 0x1db54
pushq $0xa
popq %rbp
movq (%r15), %r15
testq %r15, %r15
je 0x16077
movq %r14, %rdi
movq %r13, %rsi
movl %ebx, %edx
leaq 0x3161(%rip), %rcx      # 0x191b1
movq %r12, %r8
xorl %eax, %eax
callq 0x2200
movq 0x10(%r15), %rax
movl (%rax), %esi
movq %r14, %rdi
callq 0x12e08
movl %ebp, %edi
movq %r14, %rsi
callq 0x21b0
incq %r12
jmp 0x16039
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_alternative_endpoints
void
kmip_print_alternative_endpoints(FILE* f, int indent, AltEndpoints* value)
{
    fprintf(f, "%*sAlt Endpointss @ %p\n", indent, "", (void *)value);

    if(value != NULL &&
       value->endpoint_list != NULL )
    {
        fprintf(f, "%*sAlt Endpoints: %zu\n", indent + 2, "", value->endpoint_list->size);
        LinkedListItem *curr = value->endpoint_list->head;
        size_t count = 1;
        while(curr != NULL)
        {
            fprintf(f, "%*sEndpoint: %zu: ", indent + 4, "", count);
            TextString* endpoint = (TextString*)curr->data;
            kmip_print_text_string(f, indent + 2, "Endpoint", endpoint);
            fprintf(f, "\n");

            curr = curr->next;
            count++;
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r12
movl %esi, %ebx
movq %rdi, %r14
leaq 0x7ac5(%rip), %rsi      # 0x1db65
leaq 0x310a(%rip), %rcx      # 0x191b1
movl %ebx, %edx
movq %r12, %r8
xorl %eax, %eax
callq 0x2200
testq %r12, %r12
je 0x1613f
movq (%r12), %rax
testq %rax, %rax
je 0x1613f
leal 0x2(%rbx), %ebp
movq 0x10(%rax), %r8
leaq 0x7aaa(%rip), %rsi      # 0x1db7d
leaq 0x30d7(%rip), %rcx      # 0x191b1
movq %r14, %rdi
movl %ebp, %edx
xorl %eax, %eax
callq 0x2200
movq (%r12), %r15
addl $0x4, %ebx
pushq $0x1
popq %r12
pushq $0xa
popq %r13
movq (%r15), %r15
testq %r15, %r15
je 0x1613f
movq %r14, %rdi
leaq 0x7a8d(%rip), %rsi      # 0x1db94
movl %ebx, %edx
leaq 0x30a1(%rip), %rcx      # 0x191b1
movq %r12, %r8
xorl %eax, %eax
callq 0x2200
movq 0x10(%r15), %rcx
movq %r14, %rdi
movl %ebp, %esi
leaq 0x7a7d(%rip), %rdx      # 0x1dba7
callq 0x140e1
movl %r13d, %edi
movq %r14, %rsi
callq 0x21b0
incq %r12
jmp 0x160f5
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_server_information
void
kmip_print_server_information(FILE* f, int indent, ServerInformation* value)
{
    fprintf(f,"%*sServer Information @ %p\n", indent, "", (void *)value);

    if(value != NULL)
    {
        kmip_print_text_string(f,indent + 2, "Server Name", value->server_name);
        kmip_print_text_string(f,indent + 2, "Server Serial Number", value->server_serial_number);
        kmip_print_text_string(f,indent + 2, "Server Version", value->server_version);
        kmip_print_text_string(f,indent + 2, "Server Load", value->server_load);
        kmip_print_text_string(f,indent + 2, "Product Name", value->product_name);
        kmip_print_text_string(f,indent + 2, "Build Level", value->build_level);
        kmip_print_text_string(f,indent + 2, "Build Date", value->build_date);
        kmip_print_text_string(f,indent + 2, "Cluster info", value->cluster_info);

        kmip_print_alternative_endpoints(f,indent+2, value->alternative_failover_endpoints);
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %r14
movl %esi, %ebx
movq %rdi, %r15
leaq 0x7a4e(%rip), %rsi      # 0x1dbb0
leaq 0x3048(%rip), %rcx      # 0x191b1
movl %ebx, %edx
movq %r14, %r8
xorl %eax, %eax
callq 0x2200
testq %r14, %r14
je 0x1623b
addl $0x2, %ebx
movq (%r14), %rcx
leaq 0x7a41(%rip), %rdx      # 0x1dbcc
movq %r15, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x8(%r14), %rcx
leaq 0x7a38(%rip), %rdx      # 0x1dbd8
movq %r15, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x10(%r14), %rcx
leaq 0x7a38(%rip), %rdx      # 0x1dbed
movq %r15, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x18(%r14), %rcx
leaq 0x7a32(%rip), %rdx      # 0x1dbfc
movq %r15, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x20(%r14), %rcx
leaq 0x7a29(%rip), %rdx      # 0x1dc08
movq %r15, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x28(%r14), %rcx
leaq 0x7a21(%rip), %rdx      # 0x1dc15
movq %r15, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x30(%r14), %rcx
leaq 0x7a18(%rip), %rdx      # 0x1dc21
movq %r15, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x38(%r14), %rcx
leaq 0x7a0e(%rip), %rdx      # 0x1dc2c
movq %r15, %rdi
movl %ebx, %esi
callq 0x140e1
movq 0x40(%r14), %rdx
movq %r15, %rdi
movl %ebx, %esi
popq %rbx
popq %r14
popq %r15
jmp 0x16086
popq %rbx
popq %r14
popq %r15
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/OpenKMIP[P]libkmip/src/kmip_bio.c
// Function: kmip_set_last_result
int kmip_set_last_result(ResponseBatchItem* value)
{
    if (value)
    {
        last_result.operation = value->operation;
        last_result.result_status = value->result_status;
        last_result.result_reason = value->result_reason;
        if (value->result_message)
            kmip_copy_textstring(last_result.result_message, value->result_message, sizeof(last_result.result_message));
        else
            last_result.result_message[0] = 0;
    }
    return 0;
}

// Assembly:
testq %rdi, %rdi
je 0x1717f
movl (%rdi), %eax
movl %eax, 0xfff8(%rip)      # 0x27144
movq 0x10(%rdi), %rax
movq %rax, 0xfff1(%rip)      # 0x27148
movq 0x18(%rdi), %rsi
testq %rsi, %rsi
je 0x17178
pushq %rax
leaq 0xffe8(%rip), %rdi      # 0x27150
movl $0x80, %edx
callq 0x54c5
addq $0x8, %rsp
jmp 0x1717f
movb $0x0, 0xffd1(%rip)      # 0x27150
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O2/baskerville[P]bspwm/src/helpers.c
// Function: read_string
char *read_string(const char *file_path, size_t *tlen)
{
	if (file_path == NULL) {
		return NULL;
	}

	int fd = open(file_path, O_RDONLY);

	if (fd == -1) {
		perror("Read file: open");
		return NULL;
	}

	char buf[BUFSIZ], *content = NULL;
	size_t len = sizeof(buf);

	if ((content = calloc(len, sizeof(char))) == NULL) {
		perror("Read file: calloc");
		goto end;
	}

	int nb;
	*tlen = 0;

	while (true) {
		nb = read(fd, buf, sizeof(buf));
		if (nb < 0) {
			perror("Restore tree: read");
			free(content);
			content = NULL;
			goto end;
		} else if (nb == 0) {
			break;
		} else {
			*tlen += nb;
			if (*tlen > len) {
				len *= 2;
				char *rcontent = realloc(content, len * sizeof(char));
				if (rcontent == NULL) {
					perror("Read file: realloc");
					free(content);
					content = NULL;
					goto end;
				} else {
					content = rcontent;
				}
			}
			strncpy(content + (*tlen - nb), buf, nb);
		}
	}

end:
	close(fd);
	return content;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2008, %rsp           # imm = 0x2008
testq %rdi, %rdi
je 0x178b
movq %rsi, %r15
xorl %esi, %esi
xorl %eax, %eax
callq 0x1200
cmpl $-0x1, %eax
je 0x177f
movl %eax, %ebx
movl $0x2000, %r12d          # imm = 0x2000
pushq $0x1
popq %rsi
movl $0x2000, %edi           # imm = 0x2000
callq 0x11a0
testq %rax, %rax
je 0x1790
movq %rax, %r14
andq $0x0, (%r15)
movq %rsp, %r13
movl $0x2000, %edx           # imm = 0x2000
movl %ebx, %edi
movq %r13, %rsi
callq 0x1070
movq %rax, %rbp
testl %ebp, %ebp
js 0x179e
je 0x17be
andl $0x7fffffff, %ebp       # imm = 0x7FFFFFFF
movq (%r15), %rdi
addq %rbp, %rdi
movq %rdi, (%r15)
cmpq %r12, %rdi
jbe 0x176c
addq %r12, %r12
movq %r14, %rdi
movq %r12, %rsi
callq 0x11e0
testq %rax, %rax
je 0x17a7
movq (%r15), %rdi
movq %rax, %r14
subq %rbp, %rdi
addq %r14, %rdi
movq %r13, %rsi
movq %rbp, %rdx
callq 0x11b0
jmp 0x1727
leaq 0x92d(%rip), %rdi       # 0x20b3
callq 0x11f0
xorl %r14d, %r14d
jmp 0x17c5
leaq 0x92c(%rip), %rdi       # 0x20c3
callq 0x11f0
jmp 0x17bb
leaq 0x930(%rip), %rdi       # 0x20d5
jmp 0x17ae
leaq 0x93a(%rip), %rdi       # 0x20e8
callq 0x11f0
movq %r14, %rdi
callq 0x10c0
xorl %r14d, %r14d
movl %ebx, %edi
callq 0x1040
movq %r14, %rax
addq $0x2008, %rsp           # imm = 0x2008
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/baskerville[P]bspwm/src/helpers.c
// Function: copy_string
char *copy_string(char *str, size_t len)
{
	char *cpy = calloc(1, ((len+1) * sizeof(char)));
	if (cpy == NULL) {
		perror("Copy string: calloc");
		return NULL;
	}
	strncpy(cpy, str, len);
	cpy[len] = '\0';
	return cpy;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %r14
movq %rdi, %r15
incq %rsi
pushq $0x1
popq %rdi
callq 0x11a0
movq %rax, %rbx
testq %rax, %rax
je 0x1814
movq %rbx, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x11b0
movb $0x0, (%rbx,%r14)
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
leaq 0x8e0(%rip), %rdi       # 0x20fb
callq 0x11f0
jmp 0x180b
// File: /workspace/github_c_makefile_star2_O2/baskerville[P]bspwm/src/helpers.c
// Function: mktempfifo
char *mktempfifo(const char *template)
{
	int tempfd;
	char *runtime_dir = getenv(RUNTIME_DIR_ENV);
	if (runtime_dir == NULL) {
		runtime_dir = "/tmp";
	}

	char *fifo_path = malloc(strlen(runtime_dir)+1+strlen(template)+1);
	if (fifo_path == NULL) {
		return NULL;
	}

	sprintf(fifo_path, "%s/%s", runtime_dir, template);

	if ((tempfd = mkstemp(fifo_path)) == -1) {
		free(fifo_path);
		return NULL;
	}

	close(tempfd);
	unlink(fifo_path);

	if (mkfifo(fifo_path, 0666) == -1) {
		free(fifo_path);
		return NULL;
	}

	return fifo_path;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %r14
leaq 0x8de(%rip), %rdi       # 0x210f
callq 0x1160
testq %rax, %rax
leaq 0x8df(%rip), %r15       # 0x211f
cmovneq %rax, %r15
movq %r15, %rdi
callq 0x10d0
movq %rax, %rbx
movq %r14, %rdi
callq 0x10d0
leaq (%rbx,%rax), %rdi
addq $0x2, %rdi
callq 0x1080
testq %rax, %rax
je 0x18b9
movq %rax, %rbx
leaq 0x8b1(%rip), %rsi       # 0x2124
movq %rax, %rdi
movq %r15, %rdx
movq %r14, %rcx
xorl %eax, %eax
callq 0x1100
movq %rbx, %rdi
callq 0x1170
cmpl $-0x1, %eax
je 0x18b1
movl %eax, %edi
callq 0x1040
movq %rbx, %rdi
callq 0x10a0
movq %rbx, %rdi
movl $0x1b6, %esi            # imm = 0x1B6
callq 0x11d0
cmpl $-0x1, %eax
jne 0x18bb
movq %rbx, %rdi
callq 0x10c0
xorl %ebx, %ebx
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/baskerville[P]bspwm/src/helpers.c
// Function: is_hex_color
bool is_hex_color(const char *color)
{
	if (color[0] != '#' || strlen(color) != 7) {
		return false;
	}
	for (int i = 1; i < 7; i++) {
		if (!isxdigit(color[i])) {
			return false;
		}
	}
	return true;
}

// Assembly:
cmpb $0x23, (%rdi)
jne 0x19e7
pushq %rbx
movq %rdi, %rbx
callq 0x10d0
cmpq $0x7, %rax
jne 0x19ea
callq 0x10f0
movq (%rax), %rcx
pushq $0x1
popq %rdx
cmpq $0x7, %rdx
sete %al
je 0x19ec
movsbq (%rbx,%rdx), %rsi
incq %rdx
testb $0x10, 0x1(%rcx,%rsi,2)
jne 0x19cd
jmp 0x19ec
xorl %eax, %eax
retq
xorl %eax, %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/baskerville[P]bspwm/src/helpers.c
// Function: tokenize_with_escape
char *tokenize_with_escape(struct tokenize_state *state, const char *s, char sep)
{
	if (s != NULL) {
		// first call
		state->in_escape = false;
		state->pos = s;
		state->len = strlen(s) + 1;
	}

	char *outp = calloc(state->len, 1);
	char *ret = outp;
	if (!outp) return NULL;

	char cur;
	while (*state->pos) {
		--state->len;
		cur = *state->pos++;

		if (state->in_escape) {
			*outp++ = cur;
			state->in_escape = false;
			continue;
		}

		if (cur == '\\') {
			state->in_escape = !state->in_escape;
		} else if (cur == sep) {
			return ret;
		} else {
			*outp++ = cur;
		}
	}

	return ret;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movl %edx, %ebx
movq %rdi, %r14
testq %rsi, %rsi
je 0x1a18
movb $0x0, (%r14)
movq %rsi, 0x8(%r14)
movq %rsi, %rdi
callq 0x10d0
movq %rax, %rdi
incq %rdi
movq %rdi, 0x10(%r14)
jmp 0x1a1c
movq 0x10(%r14), %rdi
pushq $0x1
popq %rsi
callq 0x11a0
testq %rax, %rax
je 0x1a6d
movq 0x8(%r14), %rcx
movq %rax, %rdx
incq %rcx
cmpb $0x0, -0x1(%rcx)
je 0x1a6d
decq 0x10(%r14)
movq %rcx, 0x8(%r14)
movb -0x1(%rcx), %sil
cmpb $0x1, (%r14)
je 0x1a57
cmpb $0x5c, %sil
jne 0x1a60
movb $0x1, (%r14)
jmp 0x1a30
movb %sil, (%rdx)
movb $0x0, (%r14)
jmp 0x1a68
cmpb %bl, %sil
je 0x1a6d
movb %sil, (%rdx)
incq %rdx
jmp 0x1a30
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/DrYerzinia[P]C_DigiMode/src/sound_device/UARTRecord.c
// Function: int_handler
void int_handler(){

	fprintf(stderr, "Interrupt received\n");

	if(UART_is_open(&uart))
		UART_close(&uart);

	exit(0);

}

// Assembly:
pushq %rax
movq 0x2db4(%rip), %rax      # 0x3ff8
movq (%rax), %rcx
leaq 0xdb6(%rip), %rdi       # 0x2004
pushq $0x13
popq %rsi
pushq $0x1
popq %rdx
callq 0x1130
leaq 0x2f5c(%rip), %rdi      # 0x41bc
callq 0x1693
testb %al, %al
je 0x1275
leaq 0x2f4c(%rip), %rdi      # 0x41bc
callq 0x169a
xorl %edi, %edi
callq 0x1120
// File: /workspace/github_c_makefile_star2_O2/DrYerzinia[P]C_DigiMode/src/sound_device/UARTRecord.c
// Function: main
int main(int argc, char **argv){

	signal(SIGINT, int_handler);

	struct arguments arguments;

	arguments.device_name = NULL;
	arguments.baud_rate = 230400;

	argp_parse(&argp, argc, argv, 0, 0, &arguments);

	if(arguments.device_name == NULL){
		fprintf(stderr, "Please specify a serial port to read from\n");
		return -1;
	}

	int status = UART_open(&uart, arguments.device_name, arguments.baud_rate);

	if(status != 0){
		fprintf(stderr, "Could not open serial port, terminating\n");
		return -1;
	}

	char buffer[BUFFER_SIZE];

	while(true){

		int bytes_read = UART_read(&uart, buffer, BUFFER_SIZE);
		if(bytes_read <= 0){
			fprintf(stderr, "Error reading! %d\n", bytes_read);
			break;
		}

		int bytes_written = fwrite(buffer, sizeof(char), bytes_read, stdout);
		if(bytes_written != bytes_read){
			fprintf(stderr, "Error writing!\n");
			break;
		}

		fflush(stdout);

	}

	fprintf(stderr, "Loop broken, closing...\n");

	UART_close(&uart);

	return 0;

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %rbx
movl %edi, %ebp
leaq -0x5a(%rip), %rsi       # 0x123c
pushq $0x2
popq %rdi
callq 0x1090
movq %rsp, %r14
andq $0x0, (%r14)
movl $0x38400, 0x8(%r14)     # imm = 0x38400
leaq 0x2dfc(%rip), %rdi      # 0x40b0
movl %ebp, %esi
movq %rbx, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x1080
movq (%r14), %rsi
testq %rsi, %rsi
jne 0x12e3
movq 0x2d23(%rip), %rax      # 0x3ff8
movq (%rax), %rcx
leaq 0xd39(%rip), %rdi       # 0x2018
pushq $0x2a
jmp 0x135a
movl 0x8(%rsp), %edx
leaq 0x2ece(%rip), %rdi      # 0x41bc
callq 0x1404
testl %eax, %eax
jne 0x1347
leaq 0x2ebe(%rip), %rbx      # 0x41bc
leaq 0x10(%rsp), %r14
pushq $0x19
popq %rbp
movq 0x2ccb(%rip), %r13      # 0x3fd8
pushq $0x1
popq %r15
movq %rbx, %rdi
movq %r14, %rsi
movl %ebp, %edx
callq 0x1706
movl %eax, %r12d
testl %eax, %eax
jle 0x1368
movl %r12d, %edx
movq (%r13), %rcx
movq %r14, %rdi
movq %r15, %rsi
callq 0x1130
cmpl %eax, %r12d
jne 0x1385
movq (%r13), %rdi
callq 0x10b0
jmp 0x1311
movq 0x2caa(%rip), %rax      # 0x3ff8
movq (%rax), %rcx
leaq 0xceb(%rip), %rdi       # 0x2043
pushq $0x28
popq %rsi
pushq $0x1
popq %rdx
callq 0x1130
pushq $-0x1
popq %rax
jmp 0x13cb
movq 0x2c89(%rip), %rax      # 0x3ff8
movq (%rax), %rdi
leaq 0xcf3(%rip), %rsi       # 0x206c
movl %r12d, %edx
xorl %eax, %eax
callq 0x10a0
jmp 0x13a1
movq 0x2c6c(%rip), %rax      # 0x3ff8
movq (%rax), %rcx
leaq 0xce9(%rip), %rdi       # 0x207f
pushq $0xf
popq %rsi
pushq $0x1
popq %rdx
callq 0x1130
movq 0x2c50(%rip), %rax      # 0x3ff8
movq (%rax), %rcx
leaq 0xcdd(%rip), %rdi       # 0x208f
pushq $0x18
popq %rsi
pushq $0x1
popq %rdx
callq 0x1130
leaq 0x2df8(%rip), %rdi      # 0x41bc
callq 0x169a
xorl %eax, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/DrYerzinia[P]C_DigiMode/src/sound_device/UARTRecord.c
// Function: parse_opt
static error_t parse_opt(int key, char *arg, struct argp_state *state){

	// remove cast in full C
	struct arguments *arguments = ((struct arguments*)(state->input));

	switch(key){
		case 's':
			arguments->device_name = arg;
			break;
		case 'b':
			arguments->baud_rate = atoi(arg);
			break;
		default:
			return ARGP_ERR_UNKNOWN;
	}
	return 0;
}

// Assembly:
pushq %rbx
movq 0x28(%rdx), %rbx
cmpl $0x62, %edi
je 0x13ee
cmpl $0x73, %edi
jne 0x13fd
movq %rsi, (%rbx)
jmp 0x13f9
movq %rsi, %rdi
callq 0x1110
movl %eax, 0x8(%rbx)
xorl %eax, %eax
jmp 0x1400
pushq $0x7
popq %rax
popq %rbx
retq
nop
// File: /workspace/github_c_makefile_star2_O2/DrYerzinia[P]C_DigiMode/src/io/uart/UART.c
// Function: UART_close
int UART_close(UART *self){

	// Ensure any custom baud rate is reset to the normal speed
	struct serial_struct ss;
	ioctl(self->fd, TIOCGSERIAL, &ss);
	ss.flags &= ~ASYNC_SPD_MASK;
	ioctl(self->fd, TIOCSSERIAL, &ss);

	int status = close(self->fd);
	if(status == -1){
		perror("Unable to close socket");
		return -1;
	}

	self->fd = -1;

	return 0;

}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x50, %rsp
movq %rdi, %r14
movl (%rdi), %edi
xorl %ebx, %ebx
leaq 0x8(%rsp), %r15
movl $0x541e, %esi           # imm = 0x541E
movq %r15, %rdx
xorl %eax, %eax
callq 0x1050
andl $0xffffefcf, 0x10(%r15) # imm = 0xFFFFEFCF
movl (%r14), %edi
movl $0x541f, %esi           # imm = 0x541F
movq %r15, %rdx
xorl %eax, %eax
callq 0x1050
movl (%r14), %edi
callq 0x1060
cmpl $-0x1, %eax
je 0x16f5
orl $-0x1, (%r14)
movl %ebx, %eax
addq $0x50, %rsp
popq %rbx
popq %r14
popq %r15
retq
leaq 0xa77(%rip), %rdi       # 0x2173
callq 0x1100
pushq $-0x1
popq %rbx
jmp 0x16e9
// File: /workspace/github_c_makefile_star2_O2/DrYerzinia[P]C_DigiMode/src/io/uart/UART.c
// Function: UART_write
int UART_write(UART *self, char *buffer, int length){

	int bytes_written = write(self->fd, buffer, length);
	if(bytes_written != length){
		perror("Did not write length bytes");
		return -1;
	}

	return 0;

}

// Assembly:
pushq %rbx
movl (%rdi), %edi
movslq %edx, %rbx
movq %rbx, %rdx
callq 0x1030
movq %rax, %rcx
xorl %eax, %eax
cmpl %ebx, %ecx
jne 0x1729
popq %rbx
retq
leaq 0xa5a(%rip), %rdi       # 0x218a
callq 0x1100
pushq $-0x1
popq %rax
jmp 0x1727
// File: /workspace/github_c_makefile_star2_O2/singpolyma[P]mnemonicode/mndecode.c
// Function: main
int main(int argc, char **argv) {
	char buf[0x90000];
	mn_byte outbuf[0x10000];
	int buflen;
	int n, i;
	int hex_encoded_output = 0;

	if(argc > 1 && strcmp(argv[1],"-x") == 0) {
		hex_encoded_output = 1;
	}

	buflen = fread(buf, 1, sizeof buf - 1, stdin);
	buf[buflen] = 0;

	n = mn_decode(buf, outbuf, sizeof outbuf);
	if(n < 0) {
		fprintf(stderr, "mn_decode result %d\n", n);
		return EXIT_FAILURE;
	}

	if(hex_encoded_output) {
		for(i = 0; i < n; i++) {
			printf("%02X", outbuf[i]);
		}
	} else {
		fwrite(outbuf, 1, n, stdout);
	}

	return EXIT_SUCCESS;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0xa0000, %rsp          # imm = 0xA0000
movb $0x1, %bpl
cmpl $0x2, %edi
jl 0xb1ba
movq 0x8(%rsi), %rax
cmpb $0x2d, (%rax)
jne 0xb1ba
cmpb $0x78, 0x1(%rax)
jne 0xb1ba
cmpb $0x0, 0x2(%rax)
setne %bpl
movq 0x4e17(%rip), %rax      # 0xffd8
movq (%rax), %rcx
leaq 0x10000(%rsp), %rbx
pushq $0x1
popq %rsi
movl $0x8ffff, %edx          # imm = 0x8FFFF
movq %rbx, %rdi
callq 0xb030
cltq
movb $0x0, 0x10000(%rsp,%rax)
movq %rsp, %rsi
movq %rbx, %rdi
movl $0x10000, %edx          # imm = 0x10000
callq 0xb716
testl %eax, %eax
js 0xb255
movl %eax, %ebx
testb %bpl, %bpl
je 0xb22f
movq 0x4dc8(%rip), %rax      # 0xffd0
movq (%rax), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rsi
movq %rbx, %rdx
callq 0xb070
xorl %r14d, %r14d
movl %r14d, %eax
addq $0xa0000, %rsp          # imm = 0xA0000
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
xorl %r14d, %r14d
leaq 0xde0(%rip), %r15       # 0xc019
xorl %r12d, %r12d
cmpq %r12, %rbx
je 0xb21c
movzbl (%rsp,%r12), %esi
movq %r15, %rdi
xorl %eax, %eax
callq 0xb040
incq %r12
jmp 0xb23c
movq 0x4d9c(%rip), %rcx      # 0xfff8
movq (%rcx), %rdi
leaq 0xd9e(%rip), %rsi       # 0xc004
movl %eax, %edx
xorl %eax, %eax
callq 0xb060
pushq $0x1
popq %r14
jmp 0xb21c
nopl (%rax)