LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_48.h
// Function: desc48_print
static inline void desc48_print(const uint8_t *p_desc,
                                f_print pf_print, void *print_opaque,
                                f_iconv pf_iconv, void *iconv_opaque,
                                print_type_t i_print_type)
{
    uint8_t i_provider_length, i_service_length;
    const uint8_t *p_provider = desc48_get_provider(p_desc, &i_provider_length);
    const uint8_t *p_service = desc48_get_service(p_desc, &i_service_length);
    char *psz_provider = dvb_string_get(p_provider, i_provider_length,
                                        pf_iconv, iconv_opaque);
    char *psz_service = dvb_string_get(p_service, i_service_length,
                                       pf_iconv, iconv_opaque);
    switch (i_print_type) {
    case PRINT_XML:
        psz_provider = dvb_string_xml_escape(psz_provider);
        psz_service = dvb_string_xml_escape(psz_service);
        pf_print(print_opaque,
                 "<SERVICE_DESC type=\"0x%hhx\" provider=\"%s\" service=\"%s\"/>",
                 desc48_get_type(p_desc), psz_provider, psz_service);
        break;
    default:
        pf_print(print_opaque,
                 "    - desc 48 service type=0x%hhx provider=\"%s\" service=\"%s\"",
                 desc48_get_type(p_desc), psz_provider, psz_service);
    }
    free(psz_provider);
    free(psz_service);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl %r9d, -0x2c(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x2d(%rbp), %rsi
callq 0x177f0
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x2e(%rbp), %rsi
callq 0x17820
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
movzbl -0x2d(%rbp), %eax
movl %eax, %esi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x16a70
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rdi
movzbl -0x2e(%rbp), %eax
movl %eax, %esi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x16a70
movq %rax, -0x50(%rbp)
movl -0x2c(%rbp), %eax
subl $0x1, %eax
jne 0xca66
jmp 0xca12
movq -0x48(%rbp), %rdi
callq 0x16ab0
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rdi
callq 0x16ab0
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x8(%rbp), %rdi
callq 0x17860
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %r9
movzbl %al, %edx
movq -0x48(%rbp), %rcx
movq -0x50(%rbp), %r8
leaq 0x1a896(%rip), %rsi     # 0x272f5
movb $0x0, %al
callq *%r9
jmp 0xca9e
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x8(%rbp), %rdi
callq 0x17860
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %r9
movzbl %al, %edx
movq -0x48(%rbp), %rcx
movq -0x50(%rbp), %r8
leaq 0x1a895(%rip), %rsi     # 0x2732e
movb $0x0, %al
callq *%r9
movq -0x48(%rbp), %rdi
callq 0x2030
movq -0x50(%rbp), %rdi
callq 0x2030
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_49.h
// Function: desc49_print
static inline void desc49_print(uint8_t *p_desc, f_print pf_print,
                                void *opaque, print_type_t i_print_type)
{
    desc49_each_code(p_desc, p_desc_n) {
        switch (i_print_type) {
        case PRINT_XML:
            pf_print(opaque,
                "<COUNTRY_AVAILABILITY_DESC available=\"%u\" country=\"%3.3s\"/>",
                desc49_get_country_availability_flag(p_desc),
                (const char *)desc49n_get_code(p_desc_n)
            );
            break;
        default:
            pf_print(opaque,
                "    - desc 49 country_availability available=%u country=%3.3s",
                desc49_get_country_availability_flag(p_desc),
                (const char *)desc49n_get_code(p_desc_n)
            );
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x17880
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0xcbdf
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0xcb83
jmp 0xcb3d
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rdi
callq 0x178d0
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x34(%rbp)
movq -0x28(%rbp), %rdi
callq 0x13a90
movq -0x40(%rbp), %rdi
movl -0x34(%rbp), %edx
movq -0x30(%rbp), %r8
movq %rax, %rcx
leaq 0x1a7ef(%rip), %rsi     # 0x2736b
movb $0x0, %al
callq *%r8
jmp 0xcbc7
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x8(%rbp), %rdi
callq 0x178d0
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x4c(%rbp)
movq -0x28(%rbp), %rdi
callq 0x13a90
movq -0x58(%rbp), %rdi
movl -0x4c(%rbp), %edx
movq -0x48(%rbp), %r8
movq %rax, %rcx
leaq 0x1a7e5(%rip), %rsi     # 0x273a7
movb $0x0, %al
callq *%r8
jmp 0xcbc9
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x17880
movq %rax, -0x28(%rbp)
jmp 0xcb28
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_4a.h
// Function: desc4a_validate
static inline bool desc4a_validate(const uint8_t *p_desc)
{
    uint8_t i_length = DESC4A_HEADER_SIZE - DESC_HEADER_SIZE;
    i_length += desc4a_get_mobile_handover_length(p_desc);
    i_length += desc4a_get_event_length(p_desc);
    return desc_get_length(p_desc) >= i_length;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movb $0x7, -0x9(%rbp)
movq -0x8(%rbp), %rdi
callq 0x17900
movzbl %al, %ecx
movzbl -0x9(%rbp), %eax
addl %ecx, %eax
movb %al, -0x9(%rbp)
movq -0x8(%rbp), %rdi
callq 0x17970
movzbl %al, %ecx
movzbl -0x9(%rbp), %eax
addl %ecx, %eax
movb %al, -0x9(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5820
movzbl %al, %eax
movzbl -0x9(%rbp), %ecx
cmpl %ecx, %eax
setge %al
andb $0x1, %al
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_4b.h
// Function: desc4b_print
static inline void desc4b_print(uint8_t *p_desc, f_print pf_print,
                                void *opaque, print_type_t i_print_type)
{
    desc4b_each_reference(p_desc, p_desc_n) {
        switch (i_print_type) {
        case PRINT_XML:
            pf_print(opaque,
                "<NVOD_REFERENCE_DESC tsid=\"%u\" onid=\"%u\" sid=\"%u\"/>",
                desc4bn_get_tsid(p_desc_n),
                desc4bn_get_onid(p_desc_n),
                desc4bn_get_sid(p_desc_n)
            );
            break;
        default:
            pf_print(opaque,
            "    - desc 4b nvod_reference tsid=%u onid=%u sid=%u",
                desc4bn_get_tsid(p_desc_n),
                desc4bn_get_onid(p_desc_n),
                desc4bn_get_sid(p_desc_n)
            );
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x18360
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0xd481
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0xd414
jmp 0xd3bd
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rdi
callq 0x183b0
movzwl %ax, %eax
movl %eax, -0x38(%rbp)
movq -0x28(%rbp), %rdi
callq 0x183d0
movzwl %ax, %eax
movl %eax, -0x34(%rbp)
movq -0x28(%rbp), %rdi
callq 0x183f0
movq -0x40(%rbp), %rdi
movl -0x38(%rbp), %edx
movl -0x34(%rbp), %ecx
movq -0x30(%rbp), %r9
movzwl %ax, %r8d
leaq 0x1a5c2(%rip), %rsi     # 0x279cf
movb $0x0, %al
callq *%r9
jmp 0xd469
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x28(%rbp), %rdi
callq 0x183b0
movzwl %ax, %eax
movl %eax, -0x50(%rbp)
movq -0x28(%rbp), %rdi
callq 0x183d0
movzwl %ax, %eax
movl %eax, -0x4c(%rbp)
movq -0x28(%rbp), %rdi
callq 0x183f0
movq -0x58(%rbp), %rdi
movl -0x50(%rbp), %edx
movl -0x4c(%rbp), %ecx
movq -0x48(%rbp), %r9
movzwl %ax, %r8d
leaq 0x1a59f(%rip), %rsi     # 0x27a03
movb $0x0, %al
callq *%r9
jmp 0xd46b
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x18360
movq %rax, -0x28(%rbp)
jmp 0xd3a8
addq $0x60, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_4c.h
// Function: desc4c_print
static inline void desc4c_print(const uint8_t *p_desc, f_print pf_print,
                                void *opaque, print_type_t i_print_type)
{
    switch (i_print_type) {
    case PRINT_XML:
        pf_print(opaque, "<TIME_SHIFTED_SERVICE_DESC reference_sid=\"%u\"/>",
                 desc4c_get_reference_sid(p_desc));
        break;
    default:
        pf_print(opaque, "    - desc 4c time_shifted_service reference_sid=%u",
                 desc4c_get_reference_sid(p_desc));
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0xd512
jmp 0xd4e1
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18410
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rcx
movzwl %ax, %edx
leaq 0x1a52b(%rip), %rsi     # 0x27a37
movb $0x0, %al
callq *%rcx
jmp 0xd541
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18410
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rcx
movzwl %ax, %edx
leaq 0x1a52a(%rip), %rsi     # 0x27a67
movb $0x0, %al
callq *%rcx
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_4d.h
// Function: desc4d_validate
static inline bool desc4d_validate(const uint8_t *p_desc)
{
    uint8_t i_length = desc_get_length(p_desc);
    const uint8_t *p = p_desc + DESC4D_HEADER_SIZE;

    p += *p + 1;
    if (DESC4D_HEADER_SIZE + 2 > i_length + DESC_HEADER_SIZE ||
        p + 1 - p_desc > i_length + DESC_HEADER_SIZE)
        return false;

    p += *p + 1;
    if (p - p_desc > i_length + DESC_HEADER_SIZE)
        return false;

    return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5820
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rax
addq $0x5, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movzbl (%rax), %ecx
addl $0x1, %ecx
movq -0x20(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movzbl -0x11(%rbp), %ecx
addl $0x2, %ecx
movl $0x7, %eax
cmpl %ecx, %eax
jg 0xd5ba
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq -0x10(%rbp), %rcx
subq %rcx, %rax
movzbl -0x11(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
cmpq %rcx, %rax
jle 0xd5c0
movb $0x0, -0x1(%rbp)
jmp 0xd5fc
movq -0x20(%rbp), %rax
movzbl (%rax), %ecx
addl $0x1, %ecx
movq -0x20(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
subq %rcx, %rax
movzbl -0x11(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
cmpq %rcx, %rax
jle 0xd5f8
movb $0x0, -0x1(%rbp)
jmp 0xd5fc
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_4d.h
// Function: desc4d_print
static inline void desc4d_print(const uint8_t *p_desc,
                                f_print pf_print, void *print_opaque,
                                f_iconv pf_iconv, void *iconv_opaque,
                                print_type_t i_print_type)
{
    uint8_t i_event_name_length, i_text_length;
    const uint8_t *p_event_name = desc4d_get_event_name(p_desc, &i_event_name_length);
    const uint8_t *p_text = desc4d_get_text(p_desc, &i_text_length);
    char *psz_event_name = dvb_string_get(p_event_name, i_event_name_length,
                                        pf_iconv, iconv_opaque);
    char *psz_text = dvb_string_get(p_text, i_text_length,
                                       pf_iconv, iconv_opaque);
    switch (i_print_type) {
    case PRINT_XML:
        psz_event_name = dvb_string_xml_escape(psz_event_name);
        psz_text = dvb_string_xml_escape(psz_text);
        pf_print(print_opaque,
                 "<SHORT_EVENT_DESC lang=\"%3.3s\" event_name=\"%s\" text=\"%s\"/>",
                 (char *)desc4d_get_lang(p_desc), psz_event_name, psz_text);
        break;
    default:
        pf_print(print_opaque,
                 "    - desc 4d short_event lang=%3.3s event_name=\"%s\" text=\"%s\"",
                 (char *)desc4d_get_lang(p_desc), psz_event_name, psz_text);
    }
    free(psz_event_name);
    free(psz_text);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl %r9d, -0x2c(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x2d(%rbp), %rsi
callq 0x18430
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x2e(%rbp), %rsi
callq 0x18460
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
movzbl -0x2d(%rbp), %eax
movl %eax, %esi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x16a70
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rdi
movzbl -0x2e(%rbp), %eax
movl %eax, %esi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x16a70
movq %rax, -0x50(%rbp)
movl -0x2c(%rbp), %eax
subl $0x1, %eax
jne 0xd6e6
jmp 0xd692
movq -0x48(%rbp), %rdi
callq 0x16ab0
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rdi
callq 0x16ab0
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x8(%rbp), %rdi
callq 0x184a0
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %r9
movq %rax, %rdx
movq -0x48(%rbp), %rcx
movq -0x50(%rbp), %r8
leaq 0x1a3bc(%rip), %rsi     # 0x27a9b
movb $0x0, %al
callq *%r9
jmp 0xd71e
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x8(%rbp), %rdi
callq 0x184a0
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %r9
movq %rax, %rdx
movq -0x48(%rbp), %rcx
movq -0x50(%rbp), %r8
leaq 0x1a3bd(%rip), %rsi     # 0x27ad6
movb $0x0, %al
callq *%r9
movq -0x48(%rbp), %rdi
callq 0x2030
movq -0x50(%rbp), %rdi
callq 0x2030
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_4e.h
// Function: desc4e_validate
static inline bool desc4e_validate(const uint8_t *p_desc)
{
    uint8_t i_length = desc_get_length(p_desc);
    int i_items_len;
    const uint8_t *p = p_desc + DESC4E_HEADER_SIZE;
    const uint8_t *p_items, *p_items_end, *p_item;

    if (DESC4E_HEADER_SIZE + 2 > i_length + DESC_HEADER_SIZE)
        return false;

    i_items_len = *p;
    p_items = p_item = p + 1;
    p_items_end = p_items + i_items_len;

    p += 1 + p[0]; /* Check item loop */
    if (p + 1 - p_desc > i_length + DESC_HEADER_SIZE)
        return false;

    p += 1 + p[0]; /* Check text */
    if (p - p_desc > i_length + DESC_HEADER_SIZE)
        return false;

    while ( p_item < p_items_end ) {
        p_item += 1 + p_item[0]; /* Check item description */
        if ( p_item > p_items_end )
            return false;
        p_item += 1 + p_item[0]; /* Check item text */
        if ( p_item > p_items_end )
            return false;
    }

    return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5820
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rax
addq $0x6, %rax
movq %rax, -0x20(%rbp)
movzbl -0x11(%rbp), %ecx
addl $0x2, %ecx
movl $0x8, %eax
cmpl %ecx, %eax
jle 0xd77d
movb $0x0, -0x1(%rbp)
jmp 0xd87f
movq -0x20(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x18(%rbp)
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movslq -0x18(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x30(%rbp)
movq -0x20(%rbp), %rax
movzbl (%rax), %ecx
addl $0x1, %ecx
movq -0x20(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq -0x10(%rbp), %rcx
subq %rcx, %rax
movzbl -0x11(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
cmpq %rcx, %rax
jle 0xd7e5
movb $0x0, -0x1(%rbp)
jmp 0xd87f
movq -0x20(%rbp), %rax
movzbl (%rax), %ecx
addl $0x1, %ecx
movq -0x20(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
subq %rcx, %rax
movzbl -0x11(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
cmpq %rcx, %rax
jle 0xd81d
movb $0x0, -0x1(%rbp)
jmp 0xd87f
jmp 0xd81f
movq -0x38(%rbp), %rax
cmpq -0x30(%rbp), %rax
jae 0xd87b
movq -0x38(%rbp), %rax
movzbl (%rax), %ecx
addl $0x1, %ecx
movq -0x38(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
cmpq -0x30(%rbp), %rax
jbe 0xd851
movb $0x0, -0x1(%rbp)
jmp 0xd87f
movq -0x38(%rbp), %rax
movzbl (%rax), %ecx
addl $0x1, %ecx
movq -0x38(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
cmpq -0x30(%rbp), %rax
jbe 0xd879
movb $0x0, -0x1(%rbp)
jmp 0xd87f
jmp 0xd81f
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_4f.h
// Function: desc4f_print
static inline void desc4f_print(const uint8_t *p_desc, f_print pf_print,
                                void *opaque, print_type_t i_print_type)
{
    switch (i_print_type) {
    case PRINT_XML:
        pf_print(opaque, "<TIME_SHIFTED_EVENT_DESC reference_sid=\"%u\" reference_event_id=\"%u\"/>",
                 desc4f_get_reference_sid(p_desc),
                 desc4f_get_reference_event_id(p_desc)
                );
        break;
    default:
        pf_print(opaque, "    - desc 4f time_shifted_service reference_sid=%u reference_event_id=%u",
                 desc4f_get_reference_sid(p_desc),
                 desc4f_get_reference_event_id(p_desc)
                );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0xdb85
jmp 0xdb41
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18760
movzwl %ax, %eax
movl %eax, -0x2c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18780
movq -0x38(%rbp), %rdi
movl -0x2c(%rbp), %edx
movq -0x28(%rbp), %r8
movzwl %ax, %ecx
leaq 0x1a0c1(%rip), %rsi     # 0x27c3f
movb $0x0, %al
callq *%r8
jmp 0xdbc7
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18760
movzwl %ax, %eax
movl %eax, -0x44(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18780
movq -0x50(%rbp), %rdi
movl -0x44(%rbp), %edx
movq -0x40(%rbp), %r8
movzwl %ax, %ecx
leaq 0x1a0c3(%rip), %rsi     # 0x27c85
movb $0x0, %al
callq *%r8
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_51.h
// Function: desc51_validate
static inline bool desc51_validate(const uint8_t *p_desc)
{
    const uint8_t *p_desc_n = p_desc + DESC51_HEADER_SIZE;
    int i_desc_size = desc_get_length(p_desc);
    while (i_desc_size > (DESC51_HEADER_SIZE - DESC_HEADER_SIZE)) {
        uint8_t i_desc51_data_size = desc51n_get_data_size(p_desc_n);
        i_desc_size -= i_desc51_data_size;
        p_desc_n    += i_desc51_data_size;
    }
    return i_desc_size == (DESC51_HEADER_SIZE - DESC_HEADER_SIZE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x3, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5820
movzbl %al, %eax
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jle 0xddb9
movq -0x10(%rbp), %rdi
callq 0x18860
movb %al, -0x15(%rbp)
movzbl -0x15(%rbp), %ecx
movl -0x14(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x14(%rbp)
movzbl -0x15(%rbp), %ecx
movq -0x10(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
jmp 0xdd87
cmpl $0x1, -0x14(%rbp)
sete %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_52.h
// Function: desc52_print
static inline void desc52_print(const uint8_t *p_desc, f_print pf_print,
                                void *opaque, print_type_t i_print_type)
{
    switch (i_print_type) {
    case PRINT_XML:
        pf_print(opaque, "<STREAM_IDENTIFIER_DESC component_tag=\"%u\"/>",
                 desc52_get_component_tag(p_desc));
        break;
    default:
        pf_print(opaque, "    - desc 52 stream_identifier component_tag=%u",
                 desc52_get_component_tag(p_desc));
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0xe272
jmp 0xe241
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18e20
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rcx
movzbl %al, %edx
leaq 0x19e38(%rip), %rsi     # 0x280a4
movb $0x0, %al
callq *%rcx
jmp 0xe2a1
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18e20
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rcx
movzbl %al, %edx
leaq 0x19e34(%rip), %rsi     # 0x280d1
movb $0x0, %al
callq *%rcx
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_53.h
// Function: desc53_print
static inline void desc53_print(uint8_t *p_desc, f_print pf_print,
                                void *opaque, print_type_t i_print_type)
{
    desc53_each_ca(p_desc, p_desc_n) {
        switch (i_print_type) {
        case PRINT_XML:
            pf_print(opaque, "<CA_IDENTIFIER_DESC ca_sysid=\"0x%04x\"/>",
                     desc53n_get_ca_sysid(p_desc_n));
            break;
        default:
            pf_print(opaque,"    - desc 53 ca_identifier ca_sysid=0x%04x",
                     desc53n_get_ca_sysid(p_desc_n));
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x18e40
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0xe395
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0xe34e
jmp 0xe31d
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rdi
callq 0x18e90
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rcx
movzwl %ax, %edx
leaq 0x19dba(%rip), %rsi     # 0x28102
movb $0x0, %al
callq *%rcx
jmp 0xe37d
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x28(%rbp), %rdi
callq 0x18e90
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rcx
movzwl %ax, %edx
leaq 0x19db1(%rip), %rsi     # 0x2812a
movb $0x0, %al
callq *%rcx
jmp 0xe37f
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x18e40
movq %rax, -0x28(%rbp)
jmp 0xe308
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_54.h
// Function: desc54_print
static inline void desc54_print(uint8_t *p_desc, f_print pf_print,
                                void *opaque, print_type_t i_print_type)
{
    desc54_each_content(p_desc, p_desc_n) {
        switch (i_print_type) {
        case PRINT_XML:
            pf_print(opaque, "<CONTENT_DESC content_l1=\"%u\" content_l2=\"%u\" user=\"%u\"/>",
                     desc54n_get_content_l1(p_desc_n),
                     desc54n_get_content_l2(p_desc_n),
                     desc54n_get_user(p_desc_n)
                    );
            break;
        default:
            pf_print(opaque,"    - desc 54 content content_l1=%u content_l2=%u user=%u",
                     desc54n_get_content_l1(p_desc_n),
                     desc54n_get_content_l2(p_desc_n),
                     desc54n_get_user(p_desc_n)
                    );
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x18eb0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0xe4d1
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0xe464
jmp 0xe40d
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rdi
callq 0x18f00
movzbl %al, %eax
movl %eax, -0x38(%rbp)
movq -0x28(%rbp), %rdi
callq 0x18f20
movzbl %al, %eax
movl %eax, -0x34(%rbp)
movq -0x28(%rbp), %rdi
callq 0x18f40
movq -0x40(%rbp), %rdi
movl -0x38(%rbp), %edx
movl -0x34(%rbp), %ecx
movq -0x30(%rbp), %r9
movzbl %al, %r8d
leaq 0x19cf9(%rip), %rsi     # 0x28156
movb $0x0, %al
callq *%r9
jmp 0xe4b9
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x28(%rbp), %rdi
callq 0x18f00
movzbl %al, %eax
movl %eax, -0x50(%rbp)
movq -0x28(%rbp), %rdi
callq 0x18f20
movzbl %al, %eax
movl %eax, -0x4c(%rbp)
movq -0x28(%rbp), %rdi
callq 0x18f40
movq -0x58(%rbp), %rdi
movl -0x50(%rbp), %edx
movl -0x4c(%rbp), %ecx
movq -0x48(%rbp), %r9
movzbl %al, %r8d
leaq 0x19cdc(%rip), %rsi     # 0x28190
movb $0x0, %al
callq *%r9
jmp 0xe4bb
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x18eb0
movq %rax, -0x28(%rbp)
jmp 0xe3f8
addq $0x60, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_55.h
// Function: desc55_print
static inline void desc55_print(uint8_t *p_desc, f_print pf_print,
                                void *opaque, print_type_t i_print_type)
{
    desc55_each_rating(p_desc, p_desc_n) {
        char rating_txt[16];
        uint8_t rating = desc55n_get_rating(p_desc_n);
        if (rating == 0)
            sprintf(rating_txt, "%s", "undefined");
        else if (rating >= 0x01 && rating <= 0x0f)
            sprintf(rating_txt, "min %d years", rating + 3);
        else
            sprintf(rating_txt, "%s", "unknown");
        switch (i_print_type) {
        case PRINT_XML:
            pf_print(opaque, "<PARENTAL_RATING_DESC country_code=\"%3.3s\" rating=\"%u\" rating_txt=\"%s\"/>",
                     (char *)desc55n_get_country_code(p_desc_n),
                     desc55n_get_rating(p_desc_n),
                     rating_txt
                    );
            break;
        default:
            pf_print(opaque,"    - desc 55 parental_rating country_code=%3.3s rating=%u rating_txt=\"%s\"",
                     (char *)desc55n_get_country_code(p_desc_n),
                     desc55n_get_rating(p_desc_n),
                     rating_txt
                    );
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x18f60
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0xe66c
movq -0x28(%rbp), %rdi
callq 0x18fb0
movb %al, -0x41(%rbp)
movzbl -0x41(%rbp), %eax
cmpl $0x0, %eax
jne 0xe576
leaq -0x40(%rbp), %rdi
leaq 0x15b32(%rip), %rsi     # 0x24098
leaq 0x1db6a(%rip), %rdx     # 0x2c0d7
movb $0x0, %al
callq 0x21e0
jmp 0xe5be
movzbl -0x41(%rbp), %eax
cmpl $0x1, %eax
jl 0xe5a3
movzbl -0x41(%rbp), %eax
cmpl $0xf, %eax
jg 0xe5a3
leaq -0x40(%rbp), %rdi
movzbl -0x41(%rbp), %edx
addl $0x3, %edx
leaq 0x19c30(%rip), %rsi     # 0x281ca
movb $0x0, %al
callq 0x21e0
jmp 0xe5bc
leaq -0x40(%rbp), %rdi
leaq 0x15aea(%rip), %rsi     # 0x24098
leaq 0x15f81(%rip), %rdx     # 0x24536
movb $0x0, %al
callq 0x21e0
jmp 0xe5be
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0xe60f
jmp 0xe5c8
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x28(%rbp), %rdi
callq 0x13a90
movq %rax, -0x58(%rbp)
movq -0x28(%rbp), %rdi
callq 0x18fb0
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rdx
movq -0x50(%rbp), %r9
movzbl %al, %ecx
leaq -0x40(%rbp), %r8
leaq 0x19bcf(%rip), %rsi     # 0x281d7
movb $0x0, %al
callq *%r9
jmp 0xe654
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x28(%rbp), %rdi
callq 0x13a90
movq %rax, -0x70(%rbp)
movq -0x28(%rbp), %rdi
callq 0x18fb0
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rdx
movq -0x68(%rbp), %r9
movzbl %al, %ecx
leaq -0x40(%rbp), %r8
leaq 0x19bd1(%rip), %rsi     # 0x28220
movb $0x0, %al
callq *%r9
jmp 0xe656
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x18f60
movq %rax, -0x28(%rbp)
jmp 0xe53b
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_57.h
// Function: desc57_validate
static inline bool desc57_validate(const uint8_t *p_desc)
{
    return (p_desc + DESC57_HEADER_SIZE
                   + desc57_get_country_prefix_length(p_desc)
                   + desc57_get_international_area_code_length(p_desc)
                   + desc57_get_operator_code_length(p_desc)
                   + desc57_get_national_area_code_length(p_desc)
                   + desc57_get_core_number_length(p_desc))
           == (p_desc + DESC_HEADER_SIZE + desc_get_length(p_desc));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x5, %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18fd0
movb %al, %cl
movq -0x40(%rbp), %rax
movzbl %cl, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18ff0
movb %al, %cl
movq -0x38(%rbp), %rax
movzbl %cl, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19010
movb %al, %cl
movq -0x30(%rbp), %rax
movzbl %cl, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19030
movb %al, %cl
movq -0x28(%rbp), %rax
movzbl %cl, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19050
movb %al, %cl
movq -0x20(%rbp), %rax
movzbl %cl, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5820
movq -0x18(%rbp), %rcx
movb %al, %dl
movq -0x10(%rbp), %rax
movzbl %dl, %edx
movslq %edx, %rdx
addq %rdx, %rcx
cmpq %rcx, %rax
sete %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_59.h
// Function: desc59_print
static inline void desc59_print(uint8_t *p_desc, f_print pf_print,
                                void *opaque, print_type_t i_print_type)
{
    desc59_each_language(p_desc, p_desc_n) {
        switch (i_print_type) {
        case PRINT_XML:
            pf_print(opaque,
            "<SUBTITLING_DESC language=\"%3.3s\" type=\"0x%hhx\" composition=\"%hu\" ancillary=\"%hu\"/>",
            (const char *)desc59n_get_code(p_desc_n),
            desc59n_get_subtitlingtype(p_desc_n),
            desc59n_get_compositionpage(p_desc_n),
            desc59n_get_ancillarypage(p_desc_n));
            break;
        default:
            pf_print(opaque,
            "    - desc 59 subtitling language=%3.3s type=0x%hhx composition=%hu ancillary=%hu",
            (const char *)desc59n_get_code(p_desc_n),
            desc59n_get_subtitlingtype(p_desc_n),
            desc59n_get_compositionpage(p_desc_n),
            desc59n_get_ancillarypage(p_desc_n));
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x19810
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0xedd5
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0xed56
jmp 0xeced
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x28(%rbp), %rdi
callq 0x13a90
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rdi
callq 0x19860
movzbl %al, %eax
movl %eax, -0x38(%rbp)
movq -0x28(%rbp), %rdi
callq 0x19880
movzwl %ax, %eax
movl %eax, -0x34(%rbp)
movq -0x28(%rbp), %rdi
callq 0x198a0
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl -0x38(%rbp), %ecx
movl -0x34(%rbp), %r8d
movq -0x30(%rbp), %r10
movzwl %ax, %r9d
leaq 0x1981e(%rip), %rsi     # 0x2856d
movb $0x0, %al
callq *%r10
jmp 0xedbd
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x28(%rbp), %rdi
callq 0x13a90
movq %rax, -0x60(%rbp)
movq -0x28(%rbp), %rdi
callq 0x19860
movzbl %al, %eax
movl %eax, -0x58(%rbp)
movq -0x28(%rbp), %rdi
callq 0x19880
movzwl %ax, %eax
movl %eax, -0x54(%rbp)
movq -0x28(%rbp), %rdi
callq 0x198a0
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rdx
movl -0x58(%rbp), %ecx
movl -0x54(%rbp), %r8d
movq -0x50(%rbp), %r10
movzwl %ax, %r9d
leaq 0x19809(%rip), %rsi     # 0x285c1
movb $0x0, %al
callq *%r10
jmp 0xedbf
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x19810
movq %rax, -0x28(%rbp)
jmp 0xecd8
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_5b.h
// Function: desc5b_validate
static inline bool desc5b_validate(const uint8_t *p_desc)
{
    const uint8_t *p_desc_n = p_desc + DESC5B_HEADER_SIZE;
    int i_desc_size = desc_get_length(p_desc);
    while (i_desc_size > 0)
    {
        uint8_t i_data_sz = DESC5B_DATA_SIZE + desc5bn_get_networkname_length(p_desc_n);
        i_desc_size -= i_data_sz;
        p_desc_n    += i_data_sz;
    }
    return i_desc_size == 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5820
movzbl %al, %eax
movl %eax, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
jle 0xf45f
movq -0x10(%rbp), %rdi
callq 0x19ab0
movzbl %al, %eax
addl $0x4, %eax
movb %al, -0x15(%rbp)
movzbl -0x15(%rbp), %ecx
movl -0x14(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x14(%rbp)
movzbl -0x15(%rbp), %ecx
movq -0x10(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
jmp 0xf427
cmpl $0x0, -0x14(%rbp)
sete %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_5d.h
// Function: desc5d_validate
static inline bool desc5d_validate(const uint8_t *p_desc)
{
    const uint8_t *p_desc_n = p_desc + DESC5D_HEADER_SIZE;
    int i_desc_size = desc_get_length(p_desc);
    while (i_desc_size > 0)
    {
        uint8_t i_data_sz = DESC5D_DATA_SIZE
            + desc5dn_get_provider_name_length(p_desc_n)
            + desc5dn_get_service_name_length(p_desc_n);
        i_desc_size -= i_data_sz;
        p_desc_n    += i_data_sz;
    }
    return i_desc_size == 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5820
movzbl %al, %eax
movl %eax, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
jle 0xf655
movq -0x10(%rbp), %rdi
callq 0x19b60
movzbl %al, %eax
addl $0x5, %eax
movl %eax, -0x1c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x19b80
movb %al, %cl
movl -0x1c(%rbp), %eax
movzbl %cl, %ecx
addl %ecx, %eax
movb %al, -0x15(%rbp)
movzbl -0x15(%rbp), %ecx
movl -0x14(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x14(%rbp)
movzbl -0x15(%rbp), %ecx
movq -0x10(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
jmp 0xf607
cmpl $0x0, -0x14(%rbp)
sete %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_5e.h
// Function: desc5e_validate
static inline bool desc5e_validate(const uint8_t *p_desc)
{
    const uint8_t *p_desc_n = p_desc + DESC5E_HEADER_SIZE;
    int i_desc_size = desc_get_length(p_desc);
    while (i_desc_size > (DESC5E_HEADER_SIZE - DESC_HEADER_SIZE))
    {
        uint8_t i_data_sz = DESC5E_DATA_SIZE + desc5en_get_text_length(p_desc_n);
        i_desc_size -= i_data_sz;
        p_desc_n    += i_data_sz;
    }
    return i_desc_size == (DESC5E_HEADER_SIZE - DESC_HEADER_SIZE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x3, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5820
movzbl %al, %eax
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jle 0xf82f
movq -0x10(%rbp), %rdi
callq 0x19cb0
movzbl %al, %eax
addl $0x4, %eax
movb %al, -0x15(%rbp)
movzbl -0x15(%rbp), %ecx
movl -0x14(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x14(%rbp)
movzbl -0x15(%rbp), %ecx
movq -0x10(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
jmp 0xf7f7
cmpl $0x1, -0x14(%rbp)
sete %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_5e.h
// Function: desc5e_print
static inline void desc5e_print(const uint8_t *p_desc,
                                f_print pf_print, void *print_opaque,
                                f_iconv pf_iconv, void *iconv_opaque,
                                print_type_t i_print_type)
{
    desc5e_each_data(p_desc, p_desc_n) {
        uint8_t i_text_length;
        const uint8_t *p_text = desc5en_get_text(p_desc_n, &i_text_length);
        char *psz_text = dvb_string_get(p_text, i_text_length, pf_iconv, iconv_opaque);
        switch (i_print_type) {
        case PRINT_XML:
            psz_text = dvb_string_xml_escape(psz_text);
            pf_print(print_opaque,
                     "<MULTILINGUAL_COMPONENT_DESC code=\"%3.3s\" component_tag=\"%u\" text=\"%s\"/>",
                     desc5en_get_code(p_desc_n),
                     desc5e_get_component_tag(p_desc),
                     psz_text
                    );
            break;
        default:
            pf_print(print_opaque,
                     "    - desc 5e multilingual_component code=\"%3.3s\" component_tag=%u text=\"%s\"",
                     desc5en_get_code(p_desc_n),
                     desc5e_get_component_tag(p_desc),
                     psz_text
                    );
        }
        free(psz_text);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl %r9d, -0x2c(%rbp)
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x19cd0
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0xf96d
movq -0x38(%rbp), %rdi
leaq -0x39(%rbp), %rsi
callq 0x19d30
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
movzbl -0x39(%rbp), %eax
movl %eax, %esi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x16a70
movq %rax, -0x50(%rbp)
movl -0x2c(%rbp), %eax
subl $0x1, %eax
jne 0xf909
jmp 0xf8b5
movq -0x50(%rbp), %rdi
callq 0x16ab0
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x38(%rbp), %rdi
callq 0x13a90
movq %rax, -0x60(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19d60
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rdx
movq -0x58(%rbp), %r9
movzbl %al, %ecx
movq -0x50(%rbp), %r8
leaq 0x190ac(%rip), %rsi     # 0x289ae
movb $0x0, %al
callq *%r9
jmp 0xf94e
movq -0x10(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x38(%rbp), %rdi
callq 0x13a90
movq %rax, -0x78(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19d60
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rdx
movq -0x70(%rbp), %r9
movzbl %al, %ecx
movq -0x50(%rbp), %r8
leaq 0x190ae(%rip), %rsi     # 0x289f7
movb $0x0, %al
callq *%r9
movq -0x50(%rbp), %rdi
callq 0x2030
movq -0x8(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x19cd0
movq %rax, -0x38(%rbp)
jmp 0xf874
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_60.h
// Function: desc60_print
static inline void desc60_print(const uint8_t *p_desc, f_print pf_print,
                                void *opaque, print_type_t i_print_type)
{
    switch (i_print_type) {
    case PRINT_XML:
        pf_print(opaque, "<SERVICE_MOVE_DESC new_onid=\"%u\" new_tsid=\"%u\" new_service_id=\"%u\"/>",
                 desc60_get_new_onid(p_desc),
                 desc60_get_new_tsid(p_desc),
                 desc60_get_new_service_id(p_desc)
                );
        break;
    default:
        pf_print(opaque, "    - desc 60 service_move new_onid=%u new_tsid=%u new_service_id=%u",
                 desc60_get_new_onid(p_desc),
                 desc60_get_new_tsid(p_desc),
                 desc60_get_new_service_id(p_desc)
                );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0xfa28
jmp 0xf9d1
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19d80
movzwl %ax, %eax
movl %eax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19da0
movzwl %ax, %eax
movl %eax, -0x2c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19dc0
movq -0x38(%rbp), %rdi
movl -0x30(%rbp), %edx
movl -0x2c(%rbp), %ecx
movq -0x28(%rbp), %r9
movzwl %ax, %r8d
leaq 0x19023(%rip), %rsi     # 0x28a44
movb $0x0, %al
callq *%r9
jmp 0xfa7d
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19d80
movzwl %ax, %eax
movl %eax, -0x48(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19da0
movzwl %ax, %eax
movl %eax, -0x44(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19dc0
movq -0x50(%rbp), %rdi
movl -0x48(%rbp), %edx
movl -0x44(%rbp), %ecx
movq -0x40(%rbp), %r9
movzwl %ax, %r8d
leaq 0x19011(%rip), %rsi     # 0x28a89
movb $0x0, %al
callq *%r9
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_61.h
// Function: desc61_print
static inline void desc61_print(const uint8_t *p_desc, f_print pf_print,
                                void *opaque, print_type_t i_print_type)
{
    switch (i_print_type) {
    case PRINT_XML:
        pf_print(opaque, "<SHORT_SMOOTHING_BUFFER_DESC sb_size=\"%u\" sb_leak_rate=\"%u\"/>",
                 desc61_get_sb_size(p_desc),
                 desc61_get_sb_leak_rate(p_desc)
                );
        break;
    default:
        pf_print(opaque, "    - desc 61 short_smoothing_buffer sb_size=%u sb_leak_rate=%u",
                 desc61_get_sb_size(p_desc),
                 desc61_get_sb_leak_rate(p_desc)
                );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0xfb25
jmp 0xfae1
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19de0
movzbl %al, %eax
movl %eax, -0x2c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19e00
movq -0x38(%rbp), %rdi
movl -0x2c(%rbp), %edx
movq -0x28(%rbp), %r8
movzbl %al, %ecx
leaq 0x18fb0(%rip), %rsi     # 0x28ace
movb $0x0, %al
callq *%r8
jmp 0xfb67
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19de0
movzbl %al, %eax
movl %eax, -0x44(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19e00
movq -0x50(%rbp), %rdi
movl -0x44(%rbp), %edx
movq -0x40(%rbp), %r8
movzbl %al, %ecx
leaq 0x18faa(%rip), %rsi     # 0x28b0c
movb $0x0, %al
callq *%r8
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_62.h
// Function: desc62_print
static inline void desc62_print(uint8_t *p_desc, f_print pf_print,
                                void *opaque, print_type_t i_print_type)
{
    desc62_each_frequency(p_desc, p_desc_n) {
        switch (i_print_type) {
        case PRINT_XML:
            pf_print(opaque,
                "<FREQUENCY_LIST_DESC coding_type=\"%u\" coding_type_txt=\"%s\" frequency=\"%x\"/>",
                desc62_get_coding_type(p_desc),
                desc62_get_coding_type_txt(desc62_get_coding_type(p_desc)),
                desc62n_get_freq(p_desc_n)
            );
            break;
        default:
            pf_print(opaque,
                "    - desc 62 frequency_list coding_type=%u coding_type_txt=%s frequency=%x",
                desc62_get_coding_type(p_desc),
                desc62_get_coding_type_txt(desc62_get_coding_type(p_desc)),
                desc62n_get_freq(p_desc_n)
            );
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x19e20
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0xfcbd
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0xfc4a
jmp 0xfbed
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19e70
movzbl %al, %eax
movl %eax, -0x3c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19e70
movzbl %al, %edi
callq 0x19e90
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rdi
callq 0x19f10
movq -0x48(%rbp), %rdi
movl -0x3c(%rbp), %edx
movq -0x38(%rbp), %rcx
movq -0x30(%rbp), %r9
movl %eax, %r8d
leaq 0x18f09(%rip), %rsi     # 0x28b4c
movb $0x0, %al
callq *%r9
jmp 0xfca5
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19e70
movzbl %al, %eax
movl %eax, -0x5c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19e70
movzbl %al, %edi
callq 0x19e90
movq %rax, -0x58(%rbp)
movq -0x28(%rbp), %rdi
callq 0x19f10
movq -0x68(%rbp), %rdi
movl -0x5c(%rbp), %edx
movq -0x58(%rbp), %rcx
movq -0x50(%rbp), %r9
movl %eax, %r8d
leaq 0x18ef8(%rip), %rsi     # 0x28b98
movb $0x0, %al
callq *%r9
jmp 0xfca7
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x19e20
movq %rax, -0x28(%rbp)
jmp 0xfbd8
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_63.h
// Function: desc63_print
static inline void desc63_print(const uint8_t *p_desc, f_print pf_print,
                                void *opaque, print_type_t i_print_type)
{
    switch (i_print_type) {
    case PRINT_XML:
        pf_print(opaque,
                 "<PARTIAL_TRANSPORT_STREAM_DESC peak_rate=\"%u\""
                 " min_overall_smoothing_rate=\"%u\""
                 " max_overall_smoothing_buffer=\"%u\"/>",
                 desc63_get_peak_rate(p_desc),
                 desc63_get_min_overall_smoothing_rate(p_desc),
                 desc63_get_max_overall_smoothing_buffer(p_desc)
                );
        break;
    default:
        pf_print(opaque,
                 "    - desc 63 partial_transport_stream peak_rate=%u"
                 " min_overall_smoothing_rate=%u"
                 " max_overall_smoothing_buffer=%u",
                 desc63_get_peak_rate(p_desc),
                 desc63_get_min_overall_smoothing_rate(p_desc),
                 desc63_get_max_overall_smoothing_buffer(p_desc)
                );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0xfd71
jmp 0xfd21
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19f50
movl %eax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19f80
movl %eax, -0x2c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19fb0
movq -0x38(%rbp), %rdi
movl -0x30(%rbp), %edx
movl -0x2c(%rbp), %ecx
movq -0x28(%rbp), %r9
movl %eax, %r8d
leaq 0x18e9c(%rip), %rsi     # 0x28c06
movb $0x0, %al
callq *%r9
jmp 0xfdbf
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19f50
movl %eax, -0x48(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19f80
movl %eax, -0x44(%rbp)
movq -0x8(%rbp), %rdi
callq 0x19fb0
movq -0x50(%rbp), %rdi
movl -0x48(%rbp), %edx
movl -0x44(%rbp), %ecx
movq -0x40(%rbp), %r9
movl %eax, %r8d
leaq 0x18ebe(%rip), %rsi     # 0x28c78
movb $0x0, %al
callq *%r9
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)