// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/mpeg/psi/pat_print.h
// Function: pat_table_print
static inline void pat_table_print(uint8_t **pp_sections, f_print pf_print,
                                   void *opaque, print_type_t i_print_type)
{
    uint8_t i_last_section = psi_table_get_lastsection(pp_sections);
    uint8_t i;

    switch (i_print_type) {
    case PRINT_XML:
        pf_print(opaque, "<PAT tsid=\"%hu\" version=\"%hhu\" current_next=\"%d\">",
                 psi_table_get_tableidext(pp_sections),
                 psi_table_get_version(pp_sections),
                 !psi_table_get_current(pp_sections) ? 0 : 1);
        break;
    default:
        pf_print(opaque, "new PAT tsid=%hu version=%hhu%s",
                 psi_table_get_tableidext(pp_sections),
                 psi_table_get_version(pp_sections),
                 !psi_table_get_current(pp_sections) ? " (next)" : "");
    }

    for (i = 0; i <= i_last_section; i++) {
        uint8_t *p_section = psi_table_get_section(pp_sections, i);
        const uint8_t *p_program;
        int j = 0;

        while ((p_program = pat_get_program(p_section, j)) != NULL) {
            uint16_t i_program = patn_get_program(p_program);
            uint16_t i_pid = patn_get_pid(p_program);
            j++;
            switch (i_print_type) {
            case PRINT_XML:
                pf_print(opaque, "<PROGRAM number=\"%hu\" pid=\"%hu\"/>",
                         i_program, i_pid);
                break;
            default:
                if (i_program == 0)
                    pf_print(opaque, "  * NIT pid=%hu", i_pid);
                else
                    pf_print(opaque, "  * program number=%hu pid=%hu",
                             i_program, i_pid);
            }
        }
    }

    switch (i_print_type) {
    case PRINT_XML:
        pf_print(opaque, "</PAT>");
        break;
    default:
        pf_print(opaque, "end PAT");
    }
}

// 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), %rax
movq (%rax), %rdi
callq 0x4b50
movb %al, -0x1d(%rbp)
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0x5143
jmp 0x50d0
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x4b90
movzwl %ax, %eax
movl %eax, -0x48(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x4b70
movzbl %al, %eax
movl %eax, -0x44(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x5840
movq -0x50(%rbp), %rdi
movl -0x48(%rbp), %edx
movl -0x44(%rbp), %ecx
movq -0x40(%rbp), %r9
movb %al, %sil
xorb $-0x1, %sil
movl $0x1, %r8d
xorl %eax, %eax
testb $0x1, %sil
cmovnel %eax, %r8d
leaq 0x1edd2(%rip), %rsi     # 0x23f0e
movb $0x0, %al
callq *%r9
jmp 0x51ba
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x4b90
movzwl %ax, %eax
movl %eax, -0x60(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x4b70
movzbl %al, %eax
movl %eax, -0x5c(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x5840
movq -0x68(%rbp), %rdi
movl -0x60(%rbp), %edx
movl -0x5c(%rbp), %ecx
movq -0x58(%rbp), %r9
movb %al, %sil
xorb $-0x1, %sil
leaq 0x25f20(%rip), %r8      # 0x2b0bf
leaq 0x1edba(%rip), %rax     # 0x23f60
testb $0x1, %sil
cmovneq %rax, %r8
leaq 0x1ed8b(%rip), %rsi     # 0x23f40
movb $0x0, %al
callq *%r9
movb $0x0, -0x1e(%rbp)
movzbl -0x1e(%rbp), %eax
movzbl -0x1d(%rbp), %ecx
cmpl %ecx, %eax
jg 0x52a1
movq -0x8(%rbp), %rdi
movzbl -0x1e(%rbp), %esi
callq 0x4da0
movq %rax, -0x28(%rbp)
movl $0x0, -0x34(%rbp)
movq -0x28(%rbp), %rdi
movl -0x34(%rbp), %eax
movzbl %al, %esi
callq 0x4dc0
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0x5292
movq -0x30(%rbp), %rdi
callq 0x4e40
movw %ax, -0x36(%rbp)
movq -0x30(%rbp), %rdi
callq 0x4e60
movw %ax, -0x38(%rbp)
movl -0x34(%rbp), %eax
incl %eax
movl %eax, -0x34(%rbp)
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0x524d
jmp 0x522f
movq -0x10(%rbp), %r8
movq -0x18(%rbp), %rdi
movzwl -0x36(%rbp), %edx
movzwl -0x38(%rbp), %ecx
leaq 0x1ed22(%rip), %rsi     # 0x23f68
movb $0x0, %al
callq *%r8
jmp 0x528d
movzwl -0x36(%rbp), %eax
cmpl $0x0, %eax
jne 0x526f
movq -0x10(%rbp), %rcx
movq -0x18(%rbp), %rdi
movzwl -0x38(%rbp), %edx
leaq 0x1ed21(%rip), %rsi     # 0x23f8a
movb $0x0, %al
callq *%rcx
jmp 0x528b
movq -0x10(%rbp), %r8
movq -0x18(%rbp), %rdi
movzwl -0x36(%rbp), %edx
movzwl -0x38(%rbp), %ecx
leaq 0x1ed14(%rip), %rsi     # 0x23f9a
movb $0x0, %al
callq *%r8
jmp 0x528d
jmp 0x51e6
jmp 0x5294
movb -0x1e(%rbp), %al
addb $0x1, %al
movb %al, -0x1e(%rbp)
jmp 0x51be
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0x52c0
jmp 0x52ab
movq -0x10(%rbp), %rcx
movq -0x18(%rbp), %rdi
leaq 0x1ecff(%rip), %rsi     # 0x23fb9
movb $0x0, %al
callq *%rcx
jmp 0x52d3
movq -0x10(%rbp), %rcx
movq -0x18(%rbp), %rdi
leaq 0x1ecf1(%rip), %rsi     # 0x23fc0
movb $0x0, %al
callq *%rcx
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax)