// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_67.h
// Function: desc67_print
static inline void desc67_print(const uint8_t *p_desc, f_print pf_print,
                                void *opaque, print_type_t i_print_type)
{
    uint8_t i_bytes_length, i;
    bool b_dsng_desc = desc_get_tag(p_desc) == 0x68;
    const uint8_t *p_bytes = desc67_get_bytes(p_desc, &i_bytes_length);
    char psz_bytes[2 * 255 + 1];
    char psz_bytes_txt[255 + 1];

    for (i = 0; i < i_bytes_length; i++) {
        sprintf(psz_bytes + 2 * i, "%02x", p_bytes[i]);
        if (p_bytes[i] >= 32 && p_bytes[i] <= 127 && p_bytes[i] != '"')
            psz_bytes_txt[i] = p_bytes[i];
        else
            psz_bytes_txt[i] = '.';
    }
    psz_bytes[2 * i] = '\0';
    psz_bytes_txt[i] = '\0';

    switch (i_print_type) {
    case PRINT_XML:
        pf_print(opaque,
                 !b_dsng_desc
                  ? "<TRANSPORT_STREAM_DESC bytes=\"%s\"/>"
                  : "<DSNG_DESC bytes=\"%s\"/>",
                 psz_bytes
                );
        break;
    default:
        pf_print(opaque,
                 !b_dsng_desc
                  ? "    - desc 67 transport_stream bytes=\"%s\" bytes_txt=\"%s\""
                  : "    - desc 68 dsng bytes=\"%s\" bytes_txt=\"%s\"",
                 psz_bytes,
                 psz_bytes_txt
                );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x330, %rsp            # imm = 0x330
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5700
movzbl %al, %eax
cmpl $0x68, %eax
sete %al
andb $0x1, %al
movb %al, -0x1f(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x1d(%rbp), %rsi
callq 0x1a370
movq %rax, -0x28(%rbp)
movb $0x0, -0x1e(%rbp)
movzbl -0x1e(%rbp), %eax
movzbl -0x1d(%rbp), %ecx
cmpl %ecx, %eax
jge 0x10478
leaq -0x230(%rbp), %rdi
movzbl -0x1e(%rbp), %eax
shll %eax
cltq
addq %rax, %rdi
movq -0x28(%rbp), %rax
movzbl -0x1e(%rbp), %ecx
movzbl (%rax,%rcx), %edx
leaq 0x14d75(%rip), %rsi     # 0x25180
movb $0x0, %al
callq 0x21e0
movq -0x28(%rbp), %rax
movzbl -0x1e(%rbp), %ecx
movzbl (%rax,%rcx), %eax
cmpl $0x20, %eax
jl 0x1045d
movq -0x28(%rbp), %rax
movzbl -0x1e(%rbp), %ecx
movzbl (%rax,%rcx), %eax
cmpl $0x7f, %eax
jg 0x1045d
movq -0x28(%rbp), %rax
movzbl -0x1e(%rbp), %ecx
movzbl (%rax,%rcx), %eax
cmpl $0x22, %eax
je 0x1045d
movq -0x28(%rbp), %rax
movzbl -0x1e(%rbp), %ecx
movb (%rax,%rcx), %cl
movzbl -0x1e(%rbp), %eax
movb %cl, -0x330(%rbp,%rax)
jmp 0x10469
movzbl -0x1e(%rbp), %eax
movb $0x2e, -0x330(%rbp,%rax)
jmp 0x1046b
movb -0x1e(%rbp), %al
addb $0x1, %al
movb %al, -0x1e(%rbp)
jmp 0x103d6
movzbl -0x1e(%rbp), %eax
movb $0x0, -0x230(%rbp,%rax,2)
movzbl -0x1e(%rbp), %eax
movb $0x0, -0x330(%rbp,%rax)
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0x104ca
jmp 0x1049a
movq -0x10(%rbp), %rcx
movq -0x18(%rbp), %rdi
movb -0x1f(%rbp), %dl
xorb $-0x1, %dl
leaq 0x18b14(%rip), %rsi     # 0x28fc3
leaq 0x18ae9(%rip), %rax     # 0x28f9f
testb $0x1, %dl
cmovneq %rax, %rsi
leaq -0x230(%rbp), %rdx
movb $0x0, %al
callq *%rcx
jmp 0x10500
movq -0x10(%rbp), %r8
movq -0x18(%rbp), %rdi
movb -0x1f(%rbp), %cl
xorb $-0x1, %cl
leaq 0x18b35(%rip), %rsi     # 0x29014
leaq 0x18af5(%rip), %rax     # 0x28fdb
testb $0x1, %cl
cmovneq %rax, %rsi
leaq -0x230(%rbp), %rdx
leaq -0x330(%rbp), %rcx
movb $0x0, %al
callq *%r8
addq $0x330, %rsp            # imm = 0x330
popq %rbp
retq
nopl (%rax)