// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_7f19.h
// Function: desc7f19_print
static inline void desc7f19_print(const uint8_t *p_desc, f_print pf_print,
                                  void *opaque, print_type_t i_print_type)
{
    if (i_print_type == PRINT_XML)
        pf_print(opaque, "<AUDIO_PRESELECTION_DESC>");

    uint8_t *p;
    desc7f19_each_presel(p_desc, p_desc_n) {
        switch (i_print_type) {
            case PRINT_XML:
                pf_print(opaque,
                         "<AUDIO_PRESELECTION"
                         " id=\"%u\""
                         " audio_rendering_indication=\"%u\""
                         " audio_description=\"%u\""
                         " spoken_subtitles=\"%u\""
                         " dialogue_enhancement=\"%u\""
                         " interactivity_enabled=\"%u\""
                         ">",
                         desc7f19_presel_get_preselection_id(p_desc_n),
                         desc7f19_presel_get_audio_rendering_indication(p_desc_n),
                         desc7f19_presel_get_audio_description(p_desc_n),
                         desc7f19_presel_get_spoken_subtitles(p_desc_n),
                         desc7f19_presel_get_dialogue_enhancement(p_desc_n),
                         desc7f19_presel_get_interactivity_enabled(p_desc_n)
                        );
                if ((p = desc7f19_presel_get_language_code_ptr(p_desc_n))) {
                    char code[4];
                    memcpy(code, p, 3);
                    code[3] = '\0';
                    pf_print(opaque, "<AUDIO_PRESELECTION_LANG code=\"%s\"/>",
                             code);
                }
                if ((p = desc7f19_presel_get_text_label_ptr(p_desc_n))) {
                    pf_print(opaque, "<AUDIO_PRESELECTION_TEXT"
                             " message_id=\"%u\"/>",
                             desc7f19_presel_text_get_message_id(p));
                }
                if ((p = desc7f19_presel_get_multi_stream_info_ptr(p_desc_n))) {
                    uint8_t nb = desc7f19_presel_msi_get_num_aux_components(p);
                    char comp_tags[nb * 2 + 1];
                    for (uint8_t i = 0; i < nb; i++)
                        sprintf(comp_tags + i * 2, "%02x", p[i + 1]);
                    pf_print(opaque, "<AUDIO_PRESELECTION_MSI "
                             "components=\"%s\"/>",
                             comp_tags);
                }
                pf_print(opaque, "</AUDIO_PRESELECTION>");
                break;
            default:
                pf_print(opaque,
                         "    - desc 7f19 audio_preselection"
                         " id=%u"
                         " audio_rendering_indication=%u"
                         "%s"
                         "%s"
                         "%s"
                         "%s"
                         "",
                         desc7f19_presel_get_preselection_id(p_desc_n),
                         desc7f19_presel_get_audio_rendering_indication(p_desc_n),
                         desc7f19_presel_get_audio_description(p_desc_n) ?
                         " audio_description" : "",
                         desc7f19_presel_get_spoken_subtitles(p_desc_n) ?
                         " spoken_subtitles" : "",
                         desc7f19_presel_get_dialogue_enhancement(p_desc_n) ?
                         " dialogue_enhancement" : "",
                         desc7f19_presel_get_interactivity_enabled(p_desc_n) ?
                         " interactivity_enabled" : ""
                        );
                if ((p = desc7f19_presel_get_language_code_ptr(p_desc_n))) {
                    char code[4];
                    memcpy(code, p, 3);
                    code[3] = '\0';
                    pf_print(opaque,
                             "        - language code=\"%s\"", code);
                }
                if ((p = desc7f19_presel_get_text_label_ptr(p_desc_n))) {
                    pf_print(opaque, "        - text label message_id=%u",
                             desc7f19_presel_text_get_message_id(p));
                }
                if ((p = desc7f19_presel_get_multi_stream_info_ptr(p_desc_n))) {
                    uint8_t nb = desc7f19_presel_msi_get_num_aux_components(p);
                    char comp_tags[nb * 2 + 1];
                    for (uint8_t i = 0; i < nb; i++)
                        sprintf(comp_tags + i * 2, "%02x", p[i + 1]);
                    pf_print(opaque, "        - multi_stream_info %s",
                             comp_tags);
                }
        }
    }

    if (i_print_type == PRINT_XML)
        pf_print(opaque, "</AUDIO_PRESELECTION_DESC>");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0xf8, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
cmpl $0x1, -0x24(%rbp)
jne 0x12854
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rdi
leaq 0x17d00(%rip), %rsi     # 0x2a550
movb $0x0, %al
callq *%rcx
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1be40
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0x12d1a
movl -0x24(%rbp), %eax
subl $0x1, %eax
jne 0x12a96
jmp 0x1287e
movq -0x18(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1c2b0
movzbl %al, %eax
movl %eax, -0x8c(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1c2e0
movzbl %al, %eax
movl %eax, -0x88(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1c310
movzbl %al, %eax
movl %eax, -0x84(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1c340
movzbl %al, %eax
movl %eax, -0x80(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1c370
movzbl %al, %eax
movl %eax, -0x7c(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1c3a0
movq -0x98(%rbp), %rdi
movl -0x8c(%rbp), %edx
movl -0x88(%rbp), %ecx
movl -0x84(%rbp), %r8d
movl -0x80(%rbp), %r9d
movl -0x7c(%rbp), %r11d
movq -0x78(%rbp), %r10
movzbl %al, %eax
leaq 0x17c4c(%rip), %rsi     # 0x2a56a
subq $0x10, %rsp
movl %r11d, (%rsp)
movl %eax, 0x8(%rsp)
movb $0x0, %al
callq *%r10
addq $0x10, %rsp
movq -0x38(%rbp), %rdi
callq 0x1c270
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0x12972
movq -0x30(%rbp), %rax
movw (%rax), %cx
movw %cx, -0x3c(%rbp)
movb 0x2(%rax), %al
movb %al, -0x3a(%rbp)
movb $0x0, -0x39(%rbp)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rdi
leaq -0x3c(%rbp), %rdx
leaq 0x17c9b(%rip), %rsi     # 0x2a609
movb $0x0, %al
callq *%rcx
movq -0x38(%rbp), %rdi
callq 0x1c210
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0x129c0
movq -0x18(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x30(%rbp), %rdi
callq 0x1c3d0
movq -0xa8(%rbp), %rdi
movq -0xa0(%rbp), %rcx
movzbl %al, %edx
leaq 0x17c72(%rip), %rsi     # 0x2a62e
movb $0x0, %al
callq *%rcx
movq -0x38(%rbp), %rdi
callq 0x1bfb0
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0x12a7e
movq -0x30(%rbp), %rdi
callq 0x1c030
movb %al, -0x3d(%rbp)
movzbl -0x3d(%rbp), %eax
movl %eax, %ecx
leal 0x1(%rcx,%rcx), %eax
movq %rsp, %rdx
movq %rdx, -0x48(%rbp)
leal 0x10(%rcx,%rcx), %ecx
andl $-0x10, %ecx
movl %ecx, %edx
movq %rsp, %rcx
subq %rdx, %rcx
movq %rcx, -0xb0(%rbp)
movq %rcx, %rsp
movq %rax, -0x50(%rbp)
movb $0x0, -0x51(%rbp)
movzbl -0x51(%rbp), %eax
movzbl -0x3d(%rbp), %ecx
cmpl %ecx, %eax
jge 0x12a5d
movq -0xb0(%rbp), %rdi
movzbl -0x51(%rbp), %eax
shll %eax
cltq
addq %rax, %rdi
movq -0x30(%rbp), %rax
movzbl -0x51(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %edx
leaq 0x12734(%rip), %rsi     # 0x25180
movb $0x0, %al
callq 0x21e0
movb -0x51(%rbp), %al
addb $0x1, %al
movb %al, -0x51(%rbp)
jmp 0x12a15
movq -0xb0(%rbp), %rdx
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rdi
leaq 0x17be6(%rip), %rsi     # 0x2a659
movb $0x0, %al
callq *%rcx
movq -0x48(%rbp), %rax
movq %rax, %rsp
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rdi
leaq 0x17bf6(%rip), %rsi     # 0x2a683
movb $0x0, %al
callq *%rcx
jmp 0x12d02
movq -0x18(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xe0(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1c2b0
movzbl %al, %eax
movl %eax, -0xd8(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1c2e0
movzbl %al, %eax
movl %eax, -0xd4(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1c310
movzbl %al, %edx
leaq 0x185dc(%rip), %rax     # 0x2b0bf
leaq 0x17bfe(%rip), %rcx     # 0x2a6e8
cmpl $0x0, %edx
cmovneq %rcx, %rax
movq %rax, -0xd0(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1c340
movzbl %al, %edx
leaq 0x185b4(%rip), %rax     # 0x2b0bf
leaq 0x17be9(%rip), %rcx     # 0x2a6fb
cmpl $0x0, %edx
cmovneq %rcx, %rax
movq %rax, -0xc8(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1c370
movzbl %al, %edx
leaq 0x1858c(%rip), %rax     # 0x2b0bf
leaq 0x17bd3(%rip), %rcx     # 0x2a70d
cmpl $0x0, %edx
cmovneq %rcx, %rax
movq %rax, -0xc0(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1c3a0
movq -0xe0(%rbp), %rdi
movl -0xd8(%rbp), %edx
movl -0xd4(%rbp), %ecx
movq -0xd0(%rbp), %r8
movq -0xc8(%rbp), %r9
movq -0xc0(%rbp), %r11
movq -0xb8(%rbp), %r10
movzbl %al, %ebx
leaq 0x18535(%rip), %rax     # 0x2b0bf
leaq 0x17b92(%rip), %rsi     # 0x2a723
cmpl $0x0, %ebx
cmovneq %rsi, %rax
leaq 0x17afa(%rip), %rsi     # 0x2a699
subq $0x10, %rsp
movq %r11, (%rsp)
movq %rax, 0x8(%rsp)
movb $0x0, %al
callq *%r10
addq $0x10, %rsp
movq -0x38(%rbp), %rdi
callq 0x1c270
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0x12bf4
movq -0x30(%rbp), %rax
movw (%rax), %cx
movw %cx, -0x55(%rbp)
movb 0x2(%rax), %al
movb %al, -0x53(%rbp)
movb $0x0, -0x52(%rbp)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rdi
leaq -0x55(%rbp), %rdx
leaq 0x17855(%rip), %rsi     # 0x2a445
movb $0x0, %al
callq *%rcx
movq -0x38(%rbp), %rdi
callq 0x1c210
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0x12c42
movq -0x18(%rbp), %rax
movq %rax, -0xe8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xf0(%rbp)
movq -0x30(%rbp), %rdi
callq 0x1c3d0
movq -0xf0(%rbp), %rdi
movq -0xe8(%rbp), %rcx
movzbl %al, %edx
leaq 0x17afc(%rip), %rsi     # 0x2a73a
movb $0x0, %al
callq *%rcx
movq -0x38(%rbp), %rdi
callq 0x1bfb0
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0x12d00
movq -0x30(%rbp), %rdi
callq 0x1c030
movb %al, -0x56(%rbp)
movzbl -0x56(%rbp), %eax
movl %eax, %ecx
leal 0x1(%rcx,%rcx), %eax
movq %rsp, %rdx
movq %rdx, -0x60(%rbp)
leal 0x10(%rcx,%rcx), %ecx
andl $-0x10, %ecx
movl %ecx, %edx
movq %rsp, %rcx
subq %rdx, %rcx
movq %rcx, -0xf8(%rbp)
movq %rcx, %rsp
movq %rax, -0x68(%rbp)
movb $0x0, -0x69(%rbp)
movzbl -0x69(%rbp), %eax
movzbl -0x56(%rbp), %ecx
cmpl %ecx, %eax
jge 0x12cdf
movq -0xf8(%rbp), %rdi
movzbl -0x69(%rbp), %eax
shll %eax
cltq
addq %rax, %rdi
movq -0x30(%rbp), %rax
movzbl -0x69(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %edx
leaq 0x124b2(%rip), %rsi     # 0x25180
movb $0x0, %al
callq 0x21e0
movb -0x69(%rbp), %al
addb $0x1, %al
movb %al, -0x69(%rbp)
jmp 0x12c97
movq -0xf8(%rbp), %rdx
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rdi
leaq 0x17a68(%rip), %rsi     # 0x2a75d
movb $0x0, %al
callq *%rcx
movq -0x60(%rbp), %rax
movq %rax, %rsp
jmp 0x12d02
jmp 0x12d04
movq -0x10(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x1be40
movq %rax, -0x38(%rbp)
jmp 0x12865
cmpl $0x1, -0x24(%rbp)
jne 0x12d33
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rdi
leaq 0x17a4d(%rip), %rsi     # 0x2a77c
movb $0x0, %al
callq *%rcx
leaq -0x8(%rbp), %rsp
popq %rbx
popq %rbp
retq
nopw (%rax,%rax)