// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/dvb_gen_si.c
// Function: build_desc21
static void build_desc21(uint8_t *desc) {
    uint8_t n = 0, k = 0, r;
    uint8_t *entry_n, *entry_k;

    desc21_init(desc);
    desc_set_length(desc, 255);

    entry_n = desc21_get_entry(desc, n++);
    desc21n_set_muxcode(entry_n, 1);
    desc21n_set_version(entry_n, 1);
    desc21n_set_length(entry_n, DESC21_ENTRY_HEADER_SIZE - 1);
    desc21n_set_substruct_count(entry_n, 0);

    entry_n = desc21_get_entry(desc, n++);
    desc21n_set_muxcode(entry_n, 2);
    desc21n_set_version(entry_n, 2);
    desc21n_set_length(entry_n, 255);
    desc21n_set_substruct_count(entry_n, 255);
    {
        k = 0;
        entry_k = desc21n_get_substruct(entry_n, k++);
        desc21k_set_repetition_count(entry_k, 1);
        desc21k_set_slot_count(entry_k, 0);

        entry_k = desc21n_get_substruct(entry_n, k++);
        desc21k_set_repetition_count(entry_k, 5);
        desc21k_set_slot_count(entry_k, 5);
        for (r=0; r<desc21k_get_slot_count(entry_k); r++) {
            desc21k_set_flex_mux_channel(entry_k, r, r + 10);
            desc21k_set_number_of_bytes(entry_k,  r, r + 20);
        }

        entry_k = desc21n_get_substruct(entry_n, k++);
        desc21k_set_repetition_count(entry_k, 3);
        desc21k_set_slot_count(entry_k, 1);
        for (r=0; r<desc21k_get_slot_count(entry_k); r++) {
            desc21k_set_flex_mux_channel(entry_k, r, r + 30);
            desc21k_set_number_of_bytes(entry_k,  r, r + 40);
        }

        entry_k = desc21n_get_substruct(entry_n, k);
        desc21n_set_length(entry_n, entry_k - entry_n - 1);
        desc21n_set_substruct_count(entry_n, k);
    }

    entry_n = desc21_get_entry(desc, n++);
    desc21n_set_muxcode(entry_n, 3);
    desc21n_set_version(entry_n, 3);
    desc21n_set_length(entry_n, DESC21_ENTRY_HEADER_SIZE - 1);
    desc21n_set_substruct_count(entry_n, 0);

    entry_n = desc21_get_entry(desc, n++);
    desc21n_set_muxcode(entry_n, 4);
    desc21n_set_version(entry_n, 4);
    desc21n_set_length(entry_n, 255);
    desc21n_set_substruct_count(entry_n, 255);
    {
        k = 0;
        entry_k = desc21n_get_substruct(entry_n, k++);
        desc21k_set_repetition_count(entry_k, 3);
        desc21k_set_slot_count(entry_k, 2);
        for (r=0; r<desc21k_get_slot_count(entry_k); r++) {
            desc21k_set_flex_mux_channel(entry_k, r, r + 50);
            desc21k_set_number_of_bytes(entry_k,  r, r + 60);
        }

        entry_k = desc21n_get_substruct(entry_n, k++);
        desc21k_set_repetition_count(entry_k, 4);
        desc21k_set_slot_count(entry_k, 4);
        for (r=0; r<desc21k_get_slot_count(entry_k); r++) {
            desc21k_set_flex_mux_channel(entry_k, r, r + 70);
            desc21k_set_number_of_bytes(entry_k,  r, r + 80);
        }

        entry_k = desc21n_get_substruct(entry_n, k);
        desc21n_set_length(entry_n, entry_k - entry_n - 1);
        desc21n_set_substruct_count(entry_n, k);
    }

    entry_n = desc21_get_entry(desc, n);
    desc_set_length(desc, entry_n - desc - DESC_HEADER_SIZE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movb $0x0, -0x9(%rbp)
movb $0x0, -0xa(%rbp)
movq -0x8(%rbp), %rdi
callq 0x12e40
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 0x356f(%rip), %rdx      # 0x12e60
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movl $0x1, %esi
callq 0x12ec0
movq -0x18(%rbp), %rdi
movl $0x1, %esi
callq 0x12ef0
movq -0x18(%rbp), %rdi
movl $0x2, %esi
callq 0x12f20
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x12f40
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x3518(%rip), %rdx      # 0x12e60
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movl $0x2, %esi
callq 0x12ec0
movq -0x18(%rbp), %rdi
movl $0x2, %esi
callq 0x12ef0
movq -0x18(%rbp), %rdi
movl $0xff, %esi
callq 0x12f20
movq -0x18(%rbp), %rdi
movl $0xff, %esi
callq 0x12f40
movb $0x0, -0xa(%rbp)
movq -0x18(%rbp), %rdi
movb -0xa(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0xa(%rbp)
leaq 0x35ba(%rip), %rdx      # 0x12f60
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0x1, %esi
callq 0x12fc0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
callq 0x12ff0
movq -0x18(%rbp), %rdi
movb -0xa(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0xa(%rbp)
leaq 0x357f(%rip), %rdx      # 0x12f60
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0x5, %esi
callq 0x12fc0
movq -0x20(%rbp), %rdi
movl $0x5, %esi
callq 0x12ff0
movb $0x0, -0xb(%rbp)
movzbl -0xb(%rbp), %eax
movl %eax, -0x24(%rbp)
movq -0x20(%rbp), %rdi
callq 0x13020
movb %al, %cl
movl -0x24(%rbp), %eax
movzbl %cl, %ecx
cmpl %ecx, %eax
jge 0xfa65
movq -0x20(%rbp), %rdi
movb -0xb(%rbp), %cl
movzbl -0xb(%rbp), %eax
addl $0xa, %eax
movzbl %cl, %esi
movzbl %al, %edx
callq 0x13040
movq -0x20(%rbp), %rdi
movb -0xb(%rbp), %cl
movzbl -0xb(%rbp), %eax
addl $0x14, %eax
movzbl %cl, %esi
movzbl %al, %edx
callq 0x13070
movb -0xb(%rbp), %al
addb $0x1, %al
movb %al, -0xb(%rbp)
jmp 0xfa0d
movq -0x18(%rbp), %rdi
movb -0xa(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0xa(%rbp)
leaq 0x34e5(%rip), %rdx      # 0x12f60
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0x3, %esi
callq 0x12fc0
movq -0x20(%rbp), %rdi
movl $0x1, %esi
callq 0x12ff0
movb $0x0, -0xb(%rbp)
movzbl -0xb(%rbp), %eax
movl %eax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
callq 0x13020
movb %al, %cl
movl -0x28(%rbp), %eax
movzbl %cl, %ecx
cmpl %ecx, %eax
jge 0xfaff
movq -0x20(%rbp), %rdi
movb -0xb(%rbp), %cl
movzbl -0xb(%rbp), %eax
addl $0x1e, %eax
movzbl %cl, %esi
movzbl %al, %edx
callq 0x13040
movq -0x20(%rbp), %rdi
movb -0xb(%rbp), %cl
movzbl -0xb(%rbp), %eax
addl $0x28, %eax
movzbl %cl, %esi
movzbl %al, %edx
callq 0x13070
movb -0xb(%rbp), %al
addb $0x1, %al
movb %al, -0xb(%rbp)
jmp 0xfaa7
movq -0x18(%rbp), %rdi
leaq 0x3456(%rip), %rdx      # 0x12f60
movzbl -0xa(%rbp), %esi
callq 0x59c0
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
subq %rcx, %rax
subq $0x1, %rax
movzbl %al, %esi
callq 0x12f20
movq -0x18(%rbp), %rdi
movzbl -0xa(%rbp), %esi
callq 0x12f40
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x330b(%rip), %rdx      # 0x12e60
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movl $0x3, %esi
callq 0x12ec0
movq -0x18(%rbp), %rdi
movl $0x3, %esi
callq 0x12ef0
movq -0x18(%rbp), %rdi
movl $0x2, %esi
callq 0x12f20
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x12f40
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x32b4(%rip), %rdx      # 0x12e60
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movl $0x4, %esi
callq 0x12ec0
movq -0x18(%rbp), %rdi
movl $0x4, %esi
callq 0x12ef0
movq -0x18(%rbp), %rdi
movl $0xff, %esi
callq 0x12f20
movq -0x18(%rbp), %rdi
movl $0xff, %esi
callq 0x12f40
movb $0x0, -0xa(%rbp)
movq -0x18(%rbp), %rdi
movb -0xa(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0xa(%rbp)
leaq 0x3356(%rip), %rdx      # 0x12f60
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0x3, %esi
callq 0x12fc0
movq -0x20(%rbp), %rdi
movl $0x2, %esi
callq 0x12ff0
movb $0x0, -0xb(%rbp)
movzbl -0xb(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq -0x20(%rbp), %rdi
callq 0x13020
movb %al, %cl
movl -0x2c(%rbp), %eax
movzbl %cl, %ecx
cmpl %ecx, %eax
jge 0xfc8e
movq -0x20(%rbp), %rdi
movb -0xb(%rbp), %cl
movzbl -0xb(%rbp), %eax
addl $0x32, %eax
movzbl %cl, %esi
movzbl %al, %edx
callq 0x13040
movq -0x20(%rbp), %rdi
movb -0xb(%rbp), %cl
movzbl -0xb(%rbp), %eax
addl $0x3c, %eax
movzbl %cl, %esi
movzbl %al, %edx
callq 0x13070
movb -0xb(%rbp), %al
addb $0x1, %al
movb %al, -0xb(%rbp)
jmp 0xfc36
movq -0x18(%rbp), %rdi
movb -0xa(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0xa(%rbp)
leaq 0x32bc(%rip), %rdx      # 0x12f60
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0x4, %esi
callq 0x12fc0
movq -0x20(%rbp), %rdi
movl $0x4, %esi
callq 0x12ff0
movb $0x0, -0xb(%rbp)
movzbl -0xb(%rbp), %eax
movl %eax, -0x30(%rbp)
movq -0x20(%rbp), %rdi
callq 0x13020
movb %al, %cl
movl -0x30(%rbp), %eax
movzbl %cl, %ecx
cmpl %ecx, %eax
jge 0xfd28
movq -0x20(%rbp), %rdi
movb -0xb(%rbp), %cl
movzbl -0xb(%rbp), %eax
addl $0x46, %eax
movzbl %cl, %esi
movzbl %al, %edx
callq 0x13040
movq -0x20(%rbp), %rdi
movb -0xb(%rbp), %cl
movzbl -0xb(%rbp), %eax
addl $0x50, %eax
movzbl %cl, %esi
movzbl %al, %edx
callq 0x13070
movb -0xb(%rbp), %al
addb $0x1, %al
movb %al, -0xb(%rbp)
jmp 0xfcd0
movq -0x18(%rbp), %rdi
leaq 0x322d(%rip), %rdx      # 0x12f60
movzbl -0xa(%rbp), %esi
callq 0x59c0
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
subq %rcx, %rax
subq $0x1, %rax
movzbl %al, %esi
callq 0x12f20
movq -0x18(%rbp), %rdi
movzbl -0xa(%rbp), %esi
callq 0x12f40
movq -0x8(%rbp), %rdi
leaq 0x30ed(%rip), %rdx      # 0x12e60
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)