LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_57.h
// Function: desc57_set_core_number
static inline void desc57_set_core_number(uint8_t *p_desc, const char *p_core_number, uint8_t i_length)
{
    p_desc[4] = (p_desc[4] &~ 0x0f) | (i_length & 0x0f);
    memcpy(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),
           p_core_number, i_length);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movb %dl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq -0x8(%rbp), %rax
movzbl 0x4(%rax), %eax
andl $-0x10, %eax
movzbl -0x11(%rbp), %ecx
andl $0xf, %ecx
orl %ecx, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x4(%rax)
movq -0x8(%rbp), %rax
addq $0x5, %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
callq 0xa5f0
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 0xa610
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 0xa630
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 0xa650
movq -0x20(%rbp), %rdi
movzbl %al, %eax
cltq
addq %rax, %rdi
movq -0x10(%rbp), %rsi
movzbl -0x11(%rbp), %eax
movl %eax, %edx
callq 0x1090
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_57.h
// Function: desc57_set_length
static inline void desc57_set_length(uint8_t *p_desc)
{
    desc_set_length(p_desc, DESC57_HEADER_SIZE - DESC_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));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
callq 0xa5f0
movzbl %al, %eax
addl $0x3, %eax
movl %eax, -0x24(%rbp)
movq -0x8(%rbp), %rdi
callq 0xa610
movb %al, %cl
movl -0x24(%rbp), %eax
movzbl %cl, %ecx
addl %ecx, %eax
movl %eax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
callq 0xa630
movb %al, %cl
movl -0x20(%rbp), %eax
movzbl %cl, %ecx
addl %ecx, %eax
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
callq 0xa650
movb %al, %cl
movl -0x1c(%rbp), %eax
movzbl %cl, %ecx
addl %ecx, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rdi
callq 0xa670
movq -0x18(%rbp), %rdi
movb %al, %cl
movl -0xc(%rbp), %eax
movzbl %cl, %ecx
addl %ecx, %eax
movzbl %al, %esi
callq 0x5ca0
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_5d.h
// Function: desc5d_next_data
static inline uint8_t *desc5d_next_data(const uint8_t *p_desc,
                                        const uint8_t *p_desc_n)
{
    if (!p_desc_n)
        p_desc_n = p_desc + DESC5D_HEADER_SIZE;
    else
        p_desc_n += DESC5D_DATA_SIZE
            + desc5dn_get_provider_name_length(p_desc_n)
            + desc5dn_get_service_name_length(p_desc_n);
    return desc_check(p_desc, p_desc_n, DESC5D_DATA_SIZE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0xa6d5
movq -0x8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0xa706
movq -0x10(%rbp), %rdi
callq 0xa7e0
movzbl %al, %eax
addl $0x5, %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0xa800
movl -0x14(%rbp), %ecx
movzbl %al, %eax
addl %eax, %ecx
movq -0x10(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x5, %edx
callq 0x7930
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_6e.h
// Function: desc6e_next_announcement
static inline uint8_t *desc6e_next_announcement(const uint8_t *p_desc,
                                                const uint8_t *p_desc_n)
{
    if (!p_desc_n)
        p_desc_n = p_desc + DESC6E_HEADER_SIZE;
    else
        p_desc_n += desc6en_get_data_size(p_desc_n);
    return desc_check(p_desc, p_desc_n, DESC6E_DATA_SIZE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0xabb5
movq -0x8(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x10(%rbp)
jmp 0xabcf
movq -0x10(%rbp), %rdi
callq 0xae00
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x1, %edx
callq 0x7930
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_6e.h
// Function: desc6en_set_onid
static inline void desc6en_set_onid(uint8_t *p_desc_n, uint16_t i_onid)
{
    uint8_t i_ref_type = desc6en_get_reference_type(p_desc_n);
    if (!(i_ref_type == 0x01 || i_ref_type == 0x02 || i_ref_type == 0x03))
        return;
    p_desc_n[1] = (i_onid >> 8) & 0xff;
    p_desc_n[2] =  i_onid       & 0xff;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movw %si, %ax
movq %rdi, -0x8(%rbp)
movw %ax, -0xa(%rbp)
movq -0x8(%rbp), %rdi
callq 0xae50
movb %al, -0xb(%rbp)
movzbl -0xb(%rbp), %eax
cmpl $0x1, %eax
je 0xac9c
movzbl -0xb(%rbp), %eax
cmpl $0x2, %eax
je 0xac9c
movzbl -0xb(%rbp), %eax
cmpl $0x3, %eax
je 0xac9c
jmp 0xacc3
movzwl -0xa(%rbp), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x1(%rax)
movzwl -0xa(%rbp), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x2(%rax)
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_6e.h
// Function: desc6en_set_tsid
static inline void desc6en_set_tsid(uint8_t *p_desc_n, uint16_t i_tsid)
{
    uint8_t i_ref_type = desc6en_get_reference_type(p_desc_n);
    if (!(i_ref_type == 0x01 || i_ref_type == 0x02 || i_ref_type == 0x03))
        return;
    p_desc_n[3] = (i_tsid >> 8) & 0xff;
    p_desc_n[4] =  i_tsid       & 0xff;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movw %si, %ax
movq %rdi, -0x8(%rbp)
movw %ax, -0xa(%rbp)
movq -0x8(%rbp), %rdi
callq 0xae50
movb %al, -0xb(%rbp)
movzbl -0xb(%rbp), %eax
cmpl $0x1, %eax
je 0xad0c
movzbl -0xb(%rbp), %eax
cmpl $0x2, %eax
je 0xad0c
movzbl -0xb(%rbp), %eax
cmpl $0x3, %eax
je 0xad0c
jmp 0xad33
movzwl -0xa(%rbp), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x3(%rax)
movzwl -0xa(%rbp), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x4(%rax)
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_6e.h
// Function: desc6en_set_service_id
static inline void desc6en_set_service_id(uint8_t *p_desc_n, uint16_t i_service_id)
{
    uint8_t i_ref_type = desc6en_get_reference_type(p_desc_n);
    if (!(i_ref_type == 0x01 || i_ref_type == 0x02 || i_ref_type == 0x03))
        return;
    p_desc_n[5] = (i_service_id >> 8) & 0xff;
    p_desc_n[6] =  i_service_id       & 0xff;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movw %si, %ax
movq %rdi, -0x8(%rbp)
movw %ax, -0xa(%rbp)
movq -0x8(%rbp), %rdi
callq 0xae50
movb %al, -0xb(%rbp)
movzbl -0xb(%rbp), %eax
cmpl $0x1, %eax
je 0xad7c
movzbl -0xb(%rbp), %eax
cmpl $0x2, %eax
je 0xad7c
movzbl -0xb(%rbp), %eax
cmpl $0x3, %eax
je 0xad7c
jmp 0xada3
movzwl -0xa(%rbp), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x5(%rax)
movzwl -0xa(%rbp), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x6(%rax)
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_6e.h
// Function: desc6en_set_component_tag
static inline void desc6en_set_component_tag(uint8_t *p_desc_n, uint8_t i_component_tag)
{
    uint8_t i_ref_type = desc6en_get_reference_type(p_desc_n);
    if (!(i_ref_type == 0x01 || i_ref_type == 0x02 || i_ref_type == 0x03))
        return;
    p_desc_n[7] = i_component_tag;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %sil, %al
movq %rdi, -0x8(%rbp)
movb %al, -0x9(%rbp)
movq -0x8(%rbp), %rdi
callq 0xae50
movb %al, -0xa(%rbp)
movzbl -0xa(%rbp), %eax
cmpl $0x1, %eax
je 0xadeb
movzbl -0xa(%rbp), %eax
cmpl $0x2, %eax
je 0xadeb
movzbl -0xa(%rbp), %eax
cmpl $0x3, %eax
je 0xadeb
jmp 0xadf5
movb -0x9(%rbp), %cl
movq -0x8(%rbp), %rax
movb %cl, 0x7(%rax)
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_6e.h
// Function: desc6en_get_data_size
static inline uint8_t desc6en_get_data_size(const uint8_t *p_desc_n)
{
    uint8_t size = DESC6E_DATA_SIZE;
    uint8_t i_ref_type = desc6en_get_reference_type(p_desc_n);
    if (i_ref_type == 0x01 || i_ref_type == 0x02 || i_ref_type == 0x03)
        size += DESC6E_EXT_DATA_SIZE;
    return size;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movb $0x1, -0x9(%rbp)
movq -0x8(%rbp), %rdi
callq 0xae50
movb %al, -0xa(%rbp)
movzbl -0xa(%rbp), %eax
cmpl $0x1, %eax
je 0xae37
movzbl -0xa(%rbp), %eax
cmpl $0x2, %eax
je 0xae37
movzbl -0xa(%rbp), %eax
cmpl $0x3, %eax
jne 0xae41
movzbl -0x9(%rbp), %eax
addl $0x7, %eax
movb %al, -0x9(%rbp)
movb -0x9(%rbp), %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_64.h
// Function: desc64_set_lang
static inline void desc64_set_lang(uint8_t *p_desc, const uint8_t p_lang[3])
{
    uint8_t *p = p_desc + 6 + desc64_get_selector_byte_length(p_desc);
    p[0] = p_lang[0];
    p[1] = p_lang[1];
    p[2] = p_lang[2];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
addq $0x6, %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
callq 0xb0e0
movb %al, %cl
movq -0x20(%rbp), %rax
movzbl %cl, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movb (%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, (%rax)
movq -0x10(%rbp), %rax
movb 0x1(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x10(%rbp), %rax
movb 0x2(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x2(%rax)
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_4b.h
// Function: desc4b_next_reference
static inline uint8_t *desc4b_next_reference(const uint8_t *p_desc,
                                             const uint8_t *p_desc_n)
{
    if (!p_desc_n)
        p_desc_n = p_desc + DESC4B_HEADER_SIZE;
    else
        p_desc_n += DESC4B_REFERENCE_SIZE;
    return desc_check(p_desc, p_desc_n, DESC4B_REFERENCE_SIZE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0xb245
movq -0x8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0xb251
movq -0x10(%rbp), %rax
addq $0x6, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x6, %edx
callq 0x7930
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/eit.h
// Function: eit_get_event
static inline uint8_t *eit_get_event(uint8_t *p_eit, uint8_t n)
{
    uint16_t i_section_size = psi_get_length(p_eit) + PSI_HEADER_SIZE
                               - PSI_CRC_SIZE;
    uint8_t *p_eit_n = p_eit + EIT_HEADER_SIZE;
    if (p_eit_n - p_eit > i_section_size) return NULL;

    while (n) {
        if (p_eit_n + EIT_EVENT_SIZE - p_eit > i_section_size) return NULL;
        p_eit_n += EIT_EVENT_SIZE + eitn_get_desclength(p_eit_n);
        n--;
    }
    if (p_eit_n - p_eit >= i_section_size) return NULL;

    return p_eit_n;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5490
movzwl %ax, %eax
addl $0x3, %eax
subl $0x4, %eax
movw %ax, -0x14(%rbp)
movq -0x10(%rbp), %rax
addq $0xe, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
subq %rcx, %rax
movzwl -0x14(%rbp), %ecx
cmpq %rcx, %rax
jle 0xb4d2
movq $0x0, -0x8(%rbp)
jmp 0xb549
jmp 0xb4d4
cmpb $0x0, -0x11(%rbp)
je 0xb523
movq -0x20(%rbp), %rax
addq $0xc, %rax
movq -0x10(%rbp), %rcx
subq %rcx, %rax
movzwl -0x14(%rbp), %ecx
cmpq %rcx, %rax
jle 0xb4fc
movq $0x0, -0x8(%rbp)
jmp 0xb549
movq -0x20(%rbp), %rdi
callq 0xc560
movzwl %ax, %ecx
addl $0xc, %ecx
movq -0x20(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movb -0x11(%rbp), %al
addb $-0x1, %al
movb %al, -0x11(%rbp)
jmp 0xb4d4
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
subq %rcx, %rax
movzwl -0x14(%rbp), %ecx
cmpq %rcx, %rax
jl 0xb541
movq $0x0, -0x8(%rbp)
jmp 0xb549
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/eit.h
// Function: eitn_set_start_time
static inline void eitn_set_start_time(uint8_t *p_eit_n, uint64_t i_start_time)
{
    p_eit_n[2] = (i_start_time >> 32) & 0xff;
    p_eit_n[3] = (i_start_time >> 24) & 0xff;
    p_eit_n[4] = (i_start_time >> 16) & 0xff;
    p_eit_n[5] = (i_start_time >>  8) & 0xff;
    p_eit_n[6] = i_start_time         & 0xff;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
shrq $0x20, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x2(%rax)
movq -0x10(%rbp), %rax
shrq $0x18, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x3(%rax)
movq -0x10(%rbp), %rax
shrq $0x10, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x4(%rax)
movq -0x10(%rbp), %rax
shrq $0x8, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x5(%rax)
movq -0x10(%rbp), %rax
andq $0xff, %rax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x6(%rax)
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/datetime.h
// Function: dvb_time_encode_UTC
static inline uint64_t dvb_time_encode_UTC(time_t ts) {
    struct tm tm;
    uint16_t mjd = 0;
    uint32_t bcd = 0;

    gmtime_r(&ts, &tm);

    mjd = dvb_mjd_set(tm.tm_year, tm.tm_mon + 1, tm.tm_mday);

    bcd  = dec2bcd(tm.tm_hour) << 16;
    bcd |= dec2bcd(tm.tm_min ) << 8;
    bcd |= dec2bcd(tm.tm_sec );

    return (uint64_t)((uint64_t)mjd << 24) | bcd;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movw $0x0, -0x42(%rbp)
movl $0x0, -0x48(%rbp)
leaq -0x8(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x1060
movl -0x2c(%rbp), %edi
movl -0x30(%rbp), %esi
addl $0x1, %esi
movl -0x34(%rbp), %edx
callq 0xc590
movw %ax, -0x42(%rbp)
movl -0x38(%rbp), %eax
movl $0xa, %ecx
cltd
idivl %ecx
shll $0x4, %eax
movl %eax, -0x54(%rbp)
movl -0x38(%rbp), %eax
movl $0xa, %ecx
cltd
idivl %ecx
movl -0x54(%rbp), %eax
addl %edx, %eax
shll $0x10, %eax
movl %eax, -0x48(%rbp)
movl -0x3c(%rbp), %eax
movl $0xa, %ecx
cltd
idivl %ecx
shll $0x4, %eax
movl %eax, -0x50(%rbp)
movl -0x3c(%rbp), %eax
movl $0xa, %ecx
cltd
idivl %ecx
movl -0x50(%rbp), %eax
addl %edx, %eax
shll $0x8, %eax
orl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
movl -0x40(%rbp), %eax
movl $0xa, %ecx
cltd
idivl %ecx
shll $0x4, %eax
movl %eax, -0x4c(%rbp)
movl -0x40(%rbp), %eax
movl $0xa, %ecx
cltd
idivl %ecx
movl -0x4c(%rbp), %eax
addl %edx, %eax
orl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
movzwl -0x42(%rbp), %eax
shlq $0x18, %rax
movl -0x48(%rbp), %ecx
orq %rcx, %rax
addq $0x60, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/datetime.h
// Function: dvb_time_encode_duration
static inline uint32_t dvb_time_encode_duration(unsigned int duration_sec)
{
    unsigned int t_sec, t_min, t_hour, ret;
    t_sec  = duration_sec % 60;
    t_min  = (duration_sec - t_sec) / 60;
    t_hour = (t_min - t_min % 60) / 60;
    t_min  = t_min - t_hour * 60;

    ret  = dec2bcd(t_hour) << 16;
    ret |= dec2bcd(t_min ) << 8;
    ret |= dec2bcd(t_sec );

    return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x4(%rbp)
movl -0x4(%rbp), %eax
movl $0x3c, %ecx
xorl %edx, %edx
divl %ecx
movl %edx, -0x8(%rbp)
movl -0x4(%rbp), %eax
subl -0x8(%rbp), %eax
movl $0x3c, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x24(%rbp)
movl -0xc(%rbp), %eax
movl $0x3c, %ecx
xorl %edx, %edx
divl %ecx
movl -0x24(%rbp), %eax
subl %edx, %eax
movl $0x3c, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, -0x10(%rbp)
movl -0xc(%rbp), %eax
imull $0x3c, -0x10(%rbp), %ecx
subl %ecx, %eax
movl %eax, -0xc(%rbp)
movl -0x10(%rbp), %eax
movl $0xa, %ecx
xorl %edx, %edx
divl %ecx
shll $0x4, %eax
movl %eax, -0x20(%rbp)
movl -0x10(%rbp), %eax
movl $0xa, %ecx
xorl %edx, %edx
divl %ecx
movl -0x20(%rbp), %eax
addl %edx, %eax
shll $0x10, %eax
movl %eax, -0x14(%rbp)
movl -0xc(%rbp), %eax
movl $0xa, %ecx
xorl %edx, %edx
divl %ecx
shll $0x4, %eax
movl %eax, -0x1c(%rbp)
movl -0xc(%rbp), %eax
movl $0xa, %ecx
xorl %edx, %edx
divl %ecx
movl -0x1c(%rbp), %eax
addl %edx, %eax
shll $0x8, %eax
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x8(%rbp), %eax
movl $0xa, %ecx
xorl %edx, %edx
divl %ecx
shll $0x4, %eax
movl %eax, -0x18(%rbp)
movl -0x8(%rbp), %eax
movl $0xa, %ecx
xorl %edx, %edx
divl %ecx
movl -0x18(%rbp), %eax
addl %edx, %eax
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/dvb_gen_si.c
// Function: build_desc4d
static void build_desc4d(uint8_t *desc) {
    char *event_name = "Major TV event";
    char *text = "The event of the century!";
    desc4d_init(desc);
    desc4d_set_lang(desc, (uint8_t *)"eng");
    desc4d_set_event_name(desc, (uint8_t *)event_name, strlen(event_name));
    desc4d_set_text(desc, (uint8_t *)text, strlen(text));
    desc4d_set_length(desc);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
leaq 0xbc2b(%rip), %rax      # 0x174fe
movq %rax, -0x10(%rbp)
leaq 0xbc2f(%rip), %rax      # 0x1750d
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
callq 0xc620
movq -0x8(%rbp), %rdi
leaq 0xbb77(%rip), %rsi      # 0x1746d
callq 0xc640
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1050
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
movzbl %al, %edx
callq 0xc680
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x1050
movq -0x28(%rbp), %rdi
movq -0x20(%rbp), %rsi
movzbl %al, %edx
callq 0xc6d0
movq -0x8(%rbp), %rdi
callq 0xc730
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/dvb_gen_si.c
// Function: build_desc4a_event
static void build_desc4a_event(uint8_t *desc) {
    desc4a_init(desc);
    desc4a_set_tsid(desc, tsid + 700);
    desc4a_set_onid(desc, onid + 700);
    desc4a_set_sid (desc, sid + 700);
    // event linkage
    desc4a_set_linkage(desc, DESC4A_LINKAGE_EVENT);
    desc4a_set_event_target_event_id(desc, event_id + 1000);
    desc4a_set_event_target_listed(desc, true);
    desc4a_set_event_simulcast(desc, true);
    desc4a_set_length(desc);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8240
movq -0x8(%rbp), %rdi
movzwl 0x15708(%rip), %eax     # 0x21088
addl $0x2bc, %eax            # imm = 0x2BC
movzwl %ax, %esi
callq 0x8270
movq -0x8(%rbp), %rdi
movzwl 0x156f6(%rip), %eax     # 0x2108e
addl $0x2bc, %eax            # imm = 0x2BC
movzwl %ax, %esi
callq 0x82b0
movq -0x8(%rbp), %rdi
movzwl 0x156da(%rip), %eax     # 0x2108a
addl $0x2bc, %eax            # imm = 0x2BC
movzwl %ax, %esi
callq 0x82f0
movq -0x8(%rbp), %rdi
movl $0xd, %esi
callq 0x8330
movq -0x8(%rbp), %rdi
movzwl 0x156b6(%rip), %eax     # 0x2108c
addl $0x3e8, %eax            # imm = 0x3E8
movzwl %ax, %esi
callq 0xc7f0
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0xc830
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0xc890
movq -0x8(%rbp), %rdi
callq 0x84b0
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/dvb_gen_si.c
// Function: build_desc54
static void build_desc54(uint8_t *desc) {
    uint8_t k = 0;
    uint8_t *content_n;

    desc54_init(desc);
    desc_set_length(desc, 255);

    content_n = desc54_get_content(desc, k++);
    desc54n_set_content_l1(content_n, 2);
    desc54n_set_content_l2(content_n, 4);
    desc54n_set_user(content_n, 78);

    content_n = desc54_get_content(desc, k++);
    desc54n_set_content_l1(content_n, 6);
    desc54n_set_content_l2(content_n, 8);
    desc54n_set_user(content_n, 177);

    content_n = desc54_get_content(desc, k);
    desc_set_length(desc, content_n - desc - DESC_HEADER_SIZE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movb $0x0, -0x9(%rbp)
movq -0x8(%rbp), %rdi
callq 0xd320
movq -0x8(%rbp), %rdi
movl $0xff, %esi
callq 0x5ca0
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x11b3(%rip), %rdx      # 0xd340
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movl $0x2, %esi
callq 0xd390
movq -0x18(%rbp), %rdi
movl $0x4, %esi
callq 0xd3c0
movq -0x18(%rbp), %rdi
movl $0x4e, %esi
callq 0xd3f0
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x1167(%rip), %rdx      # 0xd340
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movl $0x6, %esi
callq 0xd390
movq -0x18(%rbp), %rdi
movl $0x8, %esi
callq 0xd3c0
movq -0x18(%rbp), %rdi
movl $0xb1, %esi
callq 0xd3f0
movq -0x8(%rbp), %rdi
leaq 0x1126(%rip), %rdx      # 0xd340
movzbl -0x9(%rbp), %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
subq $0x2, %rax
movzbl %al, %esi
callq 0x5ca0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/dvb_gen_si.c
// Function: build_desc53
static void build_desc53(uint8_t *desc) {
    uint8_t k = 0;
    uint8_t *cas_n;

    desc53_init(desc);
    desc_set_length(desc, 255);

    cas_n = desc53_get_ca(desc, k++);
    desc53n_set_ca_sysid(cas_n, 0xaabb);

    cas_n = desc53_get_ca(desc, k++);
    desc53n_set_ca_sysid(cas_n, 0xccdd);

    cas_n = desc53_get_ca(desc, k++);
    desc53n_set_ca_sysid(cas_n, 0xeeff);

    cas_n = desc53_get_ca(desc, k);
    desc_set_length(desc, cas_n - desc - DESC_HEADER_SIZE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movb $0x0, -0x9(%rbp)
movq -0x8(%rbp), %rdi
callq 0xd410
movq -0x8(%rbp), %rdi
movl $0xff, %esi
callq 0x5ca0
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x11a3(%rip), %rdx      # 0xd430
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movl $0xaabb, %esi           # imm = 0xAABB
callq 0xd480
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x1173(%rip), %rdx      # 0xd430
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movl $0xccdd, %esi           # imm = 0xCCDD
callq 0xd480
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x1143(%rip), %rdx      # 0xd430
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movl $0xeeff, %esi           # imm = 0xEEFF
callq 0xd480
movq -0x8(%rbp), %rdi
leaq 0x111e(%rip), %rdx      # 0xd430
movzbl -0x9(%rbp), %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
subq $0x2, %rax
movzbl %al, %esi
callq 0x5ca0
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/dvb_gen_si.c
// Function: build_desc55
static void build_desc55(uint8_t *desc) {
    uint8_t k = 0;
    uint8_t *rating_n;

    desc55_init(desc);
    desc_set_length(desc, 255);

    rating_n = desc55_get_rating(desc, k++);
    desc55n_set_country_code(rating_n, (uint8_t *)"USA");
    desc55n_set_rating(rating_n, 0);

    rating_n = desc55_get_rating(desc, k++);
    desc55n_set_country_code(rating_n, (uint8_t *)"CHI");
    desc55n_set_rating(rating_n, 15);

    rating_n = desc55_get_rating(desc, k++);
    desc55n_set_country_code(rating_n, (uint8_t *)"FRA");
    desc55n_set_rating(rating_n, 12);

    rating_n = desc55_get_rating(desc, k++);
    desc55n_set_country_code(rating_n, (uint8_t *)"BUL");
    desc55n_set_rating(rating_n, 24);

    rating_n = desc55_get_rating(desc, k);
    desc_set_length(desc, rating_n - desc - DESC_HEADER_SIZE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movb $0x0, -0x9(%rbp)
movq -0x8(%rbp), %rdi
callq 0xd4c0
movq -0x8(%rbp), %rdi
movl $0xff, %esi
callq 0x5ca0
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x1163(%rip), %rdx      # 0xd4e0
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
leaq 0xb1d7(%rip), %rsi      # 0x1756b
callq 0x7890
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0xd530
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x1126(%rip), %rdx      # 0xd4e0
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
leaq 0xb19e(%rip), %rsi      # 0x1756f
callq 0x7890
movq -0x18(%rbp), %rdi
movl $0xf, %esi
callq 0xd530
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x10e6(%rip), %rdx      # 0xd4e0
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
leaq 0xb0ad(%rip), %rsi      # 0x174be
callq 0x7890
movq -0x18(%rbp), %rdi
movl $0xc, %esi
callq 0xd530
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x10a6(%rip), %rdx      # 0xd4e0
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
leaq 0xb071(%rip), %rsi      # 0x174c2
callq 0x7890
movq -0x18(%rbp), %rdi
movl $0x18, %esi
callq 0xd530
movq -0x8(%rbp), %rdi
leaq 0x1071(%rip), %rdx      # 0xd4e0
movzbl -0x9(%rbp), %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
subq $0x2, %rax
movzbl %al, %esi
callq 0x5ca0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/dvb_gen_si.c
// Function: build_desc69
static void build_desc69(uint8_t *desc) {
    desc69_init(desc);
//    desc69_set_pil(desc, 0x5d805);
    desc69_set_day(desc, 11);
    desc69_set_month(desc, 11);
    desc69_set_hour(desc, 0);
    desc69_set_minute(desc, 5);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0xd600
movq -0x8(%rbp), %rdi
movl $0xb, %esi
callq 0xd640
movq -0x8(%rbp), %rdi
movl $0xb, %esi
callq 0xd6a0
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0xd6e0
movq -0x8(%rbp), %rdi
movl $0x5, %esi
callq 0xd740
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_4d.h
// Function: desc4d_set_length
static inline void desc4d_set_length(uint8_t *p_desc)
{
    uint8_t i_event_name_len, i_text_len;
    desc4d_get_event_name(p_desc, &i_event_name_len);
    desc4d_get_text(p_desc, &i_text_len);
    desc_set_length(p_desc, DESC4D_HEADER_SIZE - DESC_HEADER_SIZE
                            + 1 + i_event_name_len
                            + 1 + i_text_len);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x9(%rbp), %rsi
callq 0xc780
movq -0x8(%rbp), %rdi
leaq -0xa(%rbp), %rsi
callq 0xc7b0
movq -0x8(%rbp), %rdi
movzbl -0x9(%rbp), %eax
addl $0x4, %eax
addl $0x1, %eax
movzbl -0xa(%rbp), %ecx
addl %ecx, %eax
movzbl %al, %esi
callq 0x5ca0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_4e.h
// Function: desc4e_next_item
static inline uint8_t *desc4e_next_item(const uint8_t *p_desc,
                                        const uint8_t *p_desc_n)
{
    uint8_t items_length = desc4e_get_items_length(p_desc);
    if (!p_desc_n)
        p_desc_n = desc4e_get_items(p_desc);
    else
        p_desc_n += desc4en_get_item_length(p_desc_n);
    return desc4e_check_item(p_desc, p_desc_n, items_length);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0xcb90
movb %al, -0x11(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0xc9f2
movq -0x8(%rbp), %rdi
callq 0xcbb0
movq %rax, -0x10(%rbp)
jmp 0xca0c
movq -0x10(%rbp), %rdi
callq 0xcbd0
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movzbl -0x11(%rbp), %edx
callq 0xcc10
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_4e.h
// Function: desc4e_set_length
static inline void desc4e_set_length(uint8_t *p_desc)
{
    uint8_t i_text_len;
    desc4e_get_text(p_desc, &i_text_len);
    desc_set_length(p_desc, (DESC4E_HEADER_SIZE - DESC_HEADER_SIZE)
                            + 1 + desc4e_get_items_length(p_desc)
                            + 1 + i_text_len);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x9(%rbp), %rsi
callq 0xcc90
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
callq 0xcb90
movq -0x18(%rbp), %rdi
movzbl %al, %eax
addl $0x5, %eax
addl $0x1, %eax
movzbl -0x9(%rbp), %ecx
addl %ecx, %eax
movzbl %al, %esi
callq 0x5ca0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_4e.h
// Function: desc4e_check_item
static inline uint8_t *desc4e_check_item(const uint8_t *p_desc,
                                         const uint8_t *p_desc_n,
                                         uint8_t items_length)
{
    if (!desc_check(p_desc, p_desc_n, DESC4E_ITEM_SIZE))
        return NULL;
    uint8_t *items = desc4e_get_items(p_desc);
    if (p_desc_n + DESC4E_ITEM_SIZE > items + items_length)
        return NULL;
    return (uint8_t *)p_desc_n;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movb %dl, %al
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movb %al, -0x19(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl $0x2, %edx
callq 0x7930
cmpq $0x0, %rax
jne 0xcc47
movq $0x0, -0x8(%rbp)
jmp 0xcc81
movq -0x10(%rbp), %rdi
callq 0xcbb0
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
addq $0x2, %rax
movq -0x28(%rbp), %rcx
movzbl -0x19(%rbp), %edx
movslq %edx, %rdx
addq %rdx, %rcx
cmpq %rcx, %rax
jbe 0xcc79
movq $0x0, -0x8(%rbp)
jmp 0xcc81
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_4a.h
// Function: desc4a_next_ext_event
static inline uint8_t *desc4a_next_ext_event(const uint8_t *p_desc,
                                             const uint8_t *p_desc_n)
{
    if (!p_desc_n)
        p_desc_n = p_desc + DESC4A_HEADER_SIZE;
    else
        p_desc_n += desc4an_get_ext_event_length(p_desc_n);
    return desc_check(p_desc, p_desc_n, DESC4A_EXT_EVENT_SIZE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0xcda5
movq -0x8(%rbp), %rax
addq $0x9, %rax
movq %rax, -0x10(%rbp)
jmp 0xcdbf
movq -0x10(%rbp), %rdi
callq 0xd1d0
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x3, %edx
callq 0x7930
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_4a.h
// Function: desc4an_set_ext_event_target_onid
static inline void desc4an_set_ext_event_target_onid(uint8_t *p_desc_n, uint16_t i_target_onid)
{
    if (desc4an_ext_event_have_user_defined_id(p_desc_n))
        return;
    uint8_t ofs = desc4an_ext_event_have_target_tsid(p_desc_n) ? 5 : 3;
    if (desc4an_get_ext_event_onid_id_flag(p_desc_n)) {
        p_desc_n[ofs + 0] = (i_target_onid >> 8) & 0xff;
        p_desc_n[ofs + 1] =  i_target_onid       & 0xff;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movw %si, %ax
movq %rdi, -0x8(%rbp)
movw %ax, -0xa(%rbp)
movq -0x8(%rbp), %rdi
callq 0xd260
testb $0x1, %al
jne 0xd0a2
jmp 0xd0a4
jmp 0xd10c
movq -0x8(%rbp), %rdi
callq 0xd290
movb %al, %dl
movl $0x3, %eax
movl $0x5, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movb %al, -0xb(%rbp)
movq -0x8(%rbp), %rdi
callq 0xd2c0
testb $0x1, %al
jne 0xd0d1
jmp 0xd10c
movzwl -0xa(%rbp), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movzbl -0xb(%rbp), %ecx
addl $0x0, %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movzwl -0xa(%rbp), %eax
andl $0xff, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movzbl -0xb(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
addq $0x10, %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: desc4an_set_ext_event_service_id
static inline void desc4an_set_ext_event_service_id(uint8_t *p_desc_n, uint16_t i_service_id)
{
    if (desc4an_ext_event_have_user_defined_id(p_desc_n))
        return;
    uint8_t ofs = desc4an_ext_event_have_target_tsid(p_desc_n) ? 5 : 3;
    if (desc4an_get_ext_event_onid_id_flag(p_desc_n))
        ofs += 2;
    if (desc4an_get_ext_event_service_id_flag(p_desc_n)) {
        p_desc_n[ofs + 0] = (i_service_id >> 8) & 0xff;
        p_desc_n[ofs + 1] =  i_service_id       & 0xff;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movw %si, %ax
movq %rdi, -0x8(%rbp)
movw %ax, -0xa(%rbp)
movq -0x8(%rbp), %rdi
callq 0xd260
testb $0x1, %al
jne 0xd142
jmp 0xd147
jmp 0xd1c8
movq -0x8(%rbp), %rdi
callq 0xd290
movb %al, %dl
movl $0x3, %eax
movl $0x5, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movb %al, -0xb(%rbp)
movq -0x8(%rbp), %rdi
callq 0xd2c0
testb $0x1, %al
jne 0xd174
jmp 0xd17e
movzbl -0xb(%rbp), %eax
addl $0x2, %eax
movb %al, -0xb(%rbp)
movq -0x8(%rbp), %rdi
callq 0xd2e0
testb $0x1, %al
jne 0xd18d
jmp 0xd1c8
movzwl -0xa(%rbp), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movzbl -0xb(%rbp), %ecx
addl $0x0, %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movzwl -0xa(%rbp), %eax
andl $0xff, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movzbl -0xb(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_4a.h
// Function: desc4an_get_ext_event_length
static inline uint8_t desc4an_get_ext_event_length(const uint8_t *p_desc_n)
{
    uint8_t i_len = DESC4A_EXT_EVENT_SIZE;
    if (desc4an_ext_event_have_user_defined_id(p_desc_n))
        return i_len + 2;
    if (desc4an_ext_event_have_target_tsid(p_desc_n))
        i_len += 2;
    if (desc4an_get_ext_event_onid_id_flag(p_desc_n))
        i_len += 2;
    if (desc4an_get_ext_event_service_id_flag(p_desc_n))
        i_len += 2;
    return i_len;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movb $0x3, -0x11(%rbp)
movq -0x10(%rbp), %rdi
callq 0xd260
testb $0x1, %al
jne 0xd1ef
jmp 0xd1fb
movzbl -0x11(%rbp), %eax
addl $0x2, %eax
movb %al, -0x1(%rbp)
jmp 0xd24c
movq -0x10(%rbp), %rdi
callq 0xd290
testb $0x1, %al
jne 0xd20a
jmp 0xd214
movzbl -0x11(%rbp), %eax
addl $0x2, %eax
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rdi
callq 0xd2c0
testb $0x1, %al
jne 0xd223
jmp 0xd22d
movzbl -0x11(%rbp), %eax
addl $0x2, %eax
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rdi
callq 0xd2e0
testb $0x1, %al
jne 0xd23c
jmp 0xd246
movzbl -0x11(%rbp), %eax
addl $0x2, %eax
movb %al, -0x11(%rbp)
movb -0x11(%rbp), %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %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_54.h
// Function: desc54_next_content
static inline uint8_t *desc54_next_content(const uint8_t *p_desc,
                                           const uint8_t *p_desc_n)
{
    if (!p_desc_n)
        p_desc_n = p_desc + DESC54_HEADER_SIZE;
    else
        p_desc_n += DESC54_CONTENT_SIZE;
    return desc_check(p_desc, p_desc_n, DESC54_CONTENT_SIZE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0xd365
movq -0x8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0xd371
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x2, %edx
callq 0x7930
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_53.h
// Function: desc53_next_ca
static inline uint8_t *desc53_next_ca(const uint8_t *p_desc,
                                      const uint8_t *p_desc_n)
{
    if (!p_desc_n)
        p_desc_n = p_desc + DESC53_HEADER_SIZE;
    else
        p_desc_n += DESC53_CA_SIZE;
    return desc_check(p_desc, p_desc_n, DESC53_CA_SIZE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0xd455
movq -0x8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0xd461
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x2, %edx
callq 0x7930
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_55.h
// Function: desc55_next_rating
static inline uint8_t *desc55_next_rating(const uint8_t *p_desc,
                                          const uint8_t *p_desc_n)
{
    if (!p_desc_n)
        p_desc_n = p_desc + DESC55_HEADER_SIZE;
    else
        p_desc_n += DESC55_RATING_SIZE;
    return desc_check(p_desc, p_desc_n, DESC55_RATING_SIZE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0xd505
movq -0x8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0xd511
movq -0x10(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x4, %edx
callq 0x7930
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/tdt.h
// Function: tdt_set_utc
static inline void tdt_set_utc(uint8_t *p_tdt, uint64_t i_utc)
{
    p_tdt[3] = (i_utc >> 32) & 0xff;
    p_tdt[4] = (i_utc >> 24) & 0xff;
    p_tdt[5] = (i_utc >> 16) & 0xff;
    p_tdt[6] = (i_utc >> 8) & 0xff;
    p_tdt[7] = i_utc & 0xff;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
shrq $0x20, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x3(%rax)
movq -0x10(%rbp), %rax
shrq $0x18, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x4(%rax)
movq -0x10(%rbp), %rax
shrq $0x10, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x5(%rax)
movq -0x10(%rbp), %rax
shrq $0x8, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x6(%rax)
movq -0x10(%rbp), %rax
andq $0xff, %rax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x7(%rax)
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/datetime.h
// Function: dvb_time_decode_UTC
static inline time_t dvb_time_decode_UTC(uint64_t UTC_time) {
    struct tm tm;
    uint16_t mjd = (UTC_time >> 24) & 0xffff;
    uint32_t bcd = UTC_time & 0xffffff;

    dvb_mjd_get(mjd, &tm.tm_year, &tm.tm_mon, &tm.tm_mday);
    /* DVB months are 1..12, struct tm needs 0..11 */
    tm.tm_mon  -= 1;

    dvb_time_decode_bcd(bcd, NULL, &tm.tm_hour, &tm.tm_min, &tm.tm_sec);

    return timegm(&tm);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
shrq $0x18, %rax
andq $0xffff, %rax           # imm = 0xFFFF
movw %ax, -0x42(%rbp)
movq -0x8(%rbp), %rax
andq $0xffffff, %rax         # imm = 0xFFFFFF
movl %eax, -0x48(%rbp)
movw -0x42(%rbp), %ax
leaq -0x40(%rbp), %rsi
addq $0x14, %rsi
leaq -0x40(%rbp), %rdx
addq $0x10, %rdx
leaq -0x40(%rbp), %rcx
addq $0xc, %rcx
movzwl %ax, %edi
callq 0xd920
movl -0x30(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x30(%rbp)
movl -0x48(%rbp), %edi
leaq -0x40(%rbp), %rdx
addq $0x8, %rdx
leaq -0x40(%rbp), %rcx
addq $0x4, %rcx
leaq -0x40(%rbp), %r8
xorl %eax, %eax
movl %eax, %esi
callq 0xda10
leaq -0x40(%rbp), %rdi
callq 0x10c0
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/datetime.h
// Function: dvb_mjd_get
static inline void dvb_mjd_get(uint16_t mjd, int *y, int *m, int *d)
{
    int k;
    int yp = (mjd * 20 - 301564) / 7305;
    int mp = (mjd * 10000 - 149561000 - 10000 * (yp * 1461 / 4)) / 306001;
    *d = mjd - 14956 - yp * 1461 / 4 - mp * 306001 / 10000;
    k = (mp == 14 || mp == 15) ? 1 : 0;
    *y = yp + k;
    *m = mp - 1 - k * 12;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movw %di, %ax
movw %ax, -0x2(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movzwl -0x2(%rbp), %eax
imull $0x14, %eax, %eax
subl $0x499fc, %eax          # imm = 0x499FC
movl $0x1c89, %ecx           # imm = 0x1C89
cltd
idivl %ecx
movl %eax, -0x28(%rbp)
movzwl -0x2(%rbp), %eax
imull $0x2710, %eax, %eax     # imm = 0x2710
subl $0x8ea1ea8, %eax        # imm = 0x8EA1EA8
movl %eax, -0x34(%rbp)
imull $0x5b5, -0x28(%rbp), %eax # imm = 0x5B5
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x34(%rbp), %eax
imull $0x2710, %ecx, %ecx     # imm = 0x2710
subl %ecx, %eax
movl $0x4ab51, %ecx          # imm = 0x4AB51
cltd
idivl %ecx
movl %eax, -0x2c(%rbp)
movzwl -0x2(%rbp), %ecx
subl $0x3a6c, %ecx           # imm = 0x3A6C
imull $0x5b5, -0x28(%rbp), %eax # imm = 0x5B5
movl $0x4, %esi
cltd
idivl %esi
subl %eax, %ecx
imull $0x4ab51, -0x2c(%rbp), %eax # imm = 0x4AB51
movl $0x2710, %esi           # imm = 0x2710
cltd
idivl %esi
subl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movb $0x1, %al
cmpl $0xe, -0x2c(%rbp)
movb %al, -0x2d(%rbp)
je 0xd9ce
cmpl $0xf, -0x2c(%rbp)
sete %al
movb %al, -0x2d(%rbp)
movb -0x2d(%rbp), %dl
xorl %eax, %eax
movl $0x1, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %ecx
addl -0x24(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movl -0x2c(%rbp), %ecx
subl $0x1, %ecx
imull $0xc, -0x24(%rbp), %eax
subl %eax, %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/datetime.h
// Function: dvb_time_decode_bcd
static inline void dvb_time_decode_bcd(uint32_t bcd, int *seconds, int *hour, int *min, int *sec) {
    *hour = bcd2dec( (bcd >> 16) & 0xff );
    *min  = bcd2dec( (bcd >>  8) & 0xff );
    *sec  = bcd2dec(  bcd        & 0xff );
    if (seconds)
        *seconds = *hour * 3600 + *min * 60 + *sec;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl -0x4(%rbp), %eax
shrl $0x10, %eax
andl $0xff, %eax
shrl $0x4, %eax
imull $0xa, %eax, %ecx
movl -0x4(%rbp), %eax
shrl $0x10, %eax
andl $0xff, %eax
andl $0xf, %eax
addl %eax, %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movl -0x4(%rbp), %eax
shrl $0x8, %eax
andl $0xff, %eax
shrl $0x4, %eax
imull $0xa, %eax, %ecx
movl -0x4(%rbp), %eax
shrl $0x8, %eax
andl $0xff, %eax
andl $0xf, %eax
addl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movl -0x4(%rbp), %eax
andl $0xff, %eax
shrl $0x4, %eax
imull $0xa, %eax, %ecx
movl -0x4(%rbp), %eax
andl $0xff, %eax
andl $0xf, %eax
addl %eax, %ecx
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
cmpq $0x0, -0x10(%rbp)
je 0xdabc
movq -0x18(%rbp), %rax
imull $0xe10, (%rax), %ecx    # imm = 0xE10
movq -0x20(%rbp), %rax
imull $0x3c, (%rax), %eax
addl %eax, %ecx
movq -0x28(%rbp), %rax
addl (%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/dvb_gen_si.c
// Function: build_desc58
static void build_desc58(uint8_t *desc) {
    uint8_t k = 0;
    uint8_t *lto_n;

    desc58_init(desc);
    desc_set_length(desc, 255);

    lto_n = desc58_get_lto(desc, k++);
    desc58n_set_country_code(lto_n, (uint8_t *)"BUL");
    desc58n_set_country_region_id(lto_n, 2);
    desc58n_set_lto_polarity(lto_n, 1);
    desc58n_set_lt_offset(lto_n, 0x0200);
    desc58n_set_time_of_change(lto_n, dvb_time_encode_UTC(ts_0));
    desc58n_set_next_offset(lto_n, 0x0300);

    lto_n = desc58_get_lto(desc, k++);
    desc58n_set_country_code(lto_n, (uint8_t *)"USA");
    desc58n_set_country_region_id(lto_n, 9);
    desc58n_set_lto_polarity(lto_n, 0);
    desc58n_set_lt_offset(lto_n, 0x1400);
    desc58n_set_time_of_change(lto_n, dvb_time_encode_UTC(ts_2));
    desc58n_set_next_offset(lto_n, 0x1830);

    lto_n = desc58_get_lto(desc, k);
    desc_set_length(desc, lto_n - desc - DESC_HEADER_SIZE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movb $0x0, -0x9(%rbp)
movq -0x8(%rbp), %rdi
callq 0xdd50
movq -0x8(%rbp), %rdi
movl $0xff, %esi
callq 0x5ca0
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x193(%rip), %rdx       # 0xdd70
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
leaq 0x98ce(%rip), %rsi      # 0x174c2
callq 0xddc0
movq -0x18(%rbp), %rdi
movl $0x2, %esi
callq 0xddf0
movq -0x18(%rbp), %rdi
movl $0x1, %esi
callq 0xde20
movq -0x18(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xde70
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq 0x13466(%rip), %rdi     # 0x21098
callq 0xb620
movq -0x28(%rbp), %rdi
movq %rax, %rsi
callq 0xdeb0
movq -0x18(%rbp), %rdi
movl $0x300, %esi            # imm = 0x300
callq 0xdf30
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x109(%rip), %rdx       # 0xdd70
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
leaq 0x98ed(%rip), %rsi      # 0x1756b
callq 0xddc0
movq -0x18(%rbp), %rdi
movl $0x9, %esi
callq 0xddf0
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0xde20
movq -0x18(%rbp), %rdi
movl $0x1400, %esi           # imm = 0x1400
callq 0xde70
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq 0x133ef(%rip), %rdi     # 0x210a8
callq 0xb620
movq -0x20(%rbp), %rdi
movq %rax, %rsi
callq 0xdeb0
movq -0x18(%rbp), %rdi
movl $0x1830, %esi           # imm = 0x1830
callq 0xdf30
movq -0x8(%rbp), %rdi
leaq 0x8d(%rip), %rdx        # 0xdd70
movzbl -0x9(%rbp), %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
subq $0x2, %rax
movzbl %al, %esi
callq 0x5ca0
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)