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

    desc6d_init(desc);
    desc_set_length(desc, 255);

    cell_n = desc6d_get_cell(desc, n++);
    desc6dn_set_cell_id(cell_n, 1234);
    desc6dn_set_frequency(cell_n, 4567);
    desc6dn_set_subcell_info_loop_length(cell_n, 0);

    cell_n = desc6d_get_cell(desc, n++);
    desc6dn_set_cell_id(cell_n, 4456);
    desc6dn_set_frequency(cell_n, 5567);
    desc6dn_set_subcell_info_loop_length(cell_n, 0);
    {
        k = 0;
        desc6dn_set_subcell_info_loop_length(cell_n, 255);

        subcell_k = desc6dn_get_subcell(cell_n, k++);
        desc6dk_set_cell_id_extension(subcell_k, 0);
        desc6dk_set_transponder_frequency(subcell_k, 1122);

        subcell_k = desc6dn_get_subcell(cell_n, k++);
        desc6dk_set_cell_id_extension(subcell_k, 1);
        desc6dk_set_transponder_frequency(subcell_k, 2233);

        subcell_k = desc6dn_get_subcell(cell_n, k++);
        desc6dk_set_cell_id_extension(subcell_k, 2);
        desc6dk_set_transponder_frequency(subcell_k, 3344);

        subcell_k = desc6dn_get_subcell(cell_n, k);
        desc6dn_set_subcell_info_loop_length(cell_n, subcell_k - cell_n - DESC6D_DATA_SIZE);
    }

    cell_n = desc6d_get_cell(desc, n++);
    desc6dn_set_cell_id(cell_n, 7890);
    desc6dn_set_frequency(cell_n, 56789);
    desc6dn_set_subcell_info_loop_length(cell_n, 0);
    {
        k = 0;
        desc6dn_set_subcell_info_loop_length(cell_n, 255);

        subcell_k = desc6dn_get_subcell(cell_n, k++);
        desc6dk_set_cell_id_extension(subcell_k, 0);
        desc6dk_set_transponder_frequency(subcell_k, 889911);

        subcell_k = desc6dn_get_subcell(cell_n, k);
        desc6dn_set_subcell_info_loop_length(cell_n, subcell_k - cell_n - DESC6D_DATA_SIZE);
    }

    cell_n = desc6d_get_cell(desc, n);
    desc_set_length(desc, cell_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 0x7ed0
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 0x15e3(%rip), %rdx      # 0x7ef0
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movl $0x4d2, %esi            # imm = 0x4D2
callq 0x7f50
movq -0x18(%rbp), %rdi
movl $0x11d7, %esi           # imm = 0x11D7
callq 0x7f90
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x7ff0
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x159a(%rip), %rdx      # 0x7ef0
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movl $0x1168, %esi           # imm = 0x1168
callq 0x7f50
movq -0x18(%rbp), %rdi
movl $0x15bf, %esi           # imm = 0x15BF
callq 0x7f90
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x7ff0
movb $0x0, -0xa(%rbp)
movq -0x18(%rbp), %rdi
movl $0xff, %esi
callq 0x7ff0
movq -0x18(%rbp), %rdi
movb -0xa(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0xa(%rbp)
leaq 0x165f(%rip), %rdx      # 0x8010
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
xorl %esi, %esi
callq 0x80a0
movq -0x20(%rbp), %rdi
movl $0x462, %esi            # imm = 0x462
callq 0x80c0
movq -0x18(%rbp), %rdi
movb -0xa(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0xa(%rbp)
leaq 0x1624(%rip), %rdx      # 0x8010
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0x1, %esi
callq 0x80a0
movq -0x20(%rbp), %rdi
movl $0x8b9, %esi            # imm = 0x8B9
callq 0x80c0
movq -0x18(%rbp), %rdi
movb -0xa(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0xa(%rbp)
leaq 0x15e6(%rip), %rdx      # 0x8010
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0x2, %esi
callq 0x80a0
movq -0x20(%rbp), %rdi
movl $0xd10, %esi            # imm = 0xD10
callq 0x80c0
movq -0x18(%rbp), %rdi
leaq 0x15b3(%rip), %rdx      # 0x8010
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 $0x7, %rax
movzbl %al, %esi
callq 0x7ff0
movq -0x8(%rbp), %rdi
movb -0x9(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x9(%rbp)
leaq 0x1455(%rip), %rdx      # 0x7ef0
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movl $0x1ed2, %esi           # imm = 0x1ED2
callq 0x7f50
movq -0x18(%rbp), %rdi
movl $0xddd5, %esi           # imm = 0xDDD5
callq 0x7f90
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x7ff0
movb $0x0, -0xa(%rbp)
movq -0x18(%rbp), %rdi
movl $0xff, %esi
callq 0x7ff0
movq -0x18(%rbp), %rdi
movb -0xa(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0xa(%rbp)
leaq 0x151a(%rip), %rdx      # 0x8010
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
xorl %esi, %esi
callq 0x80a0
movq -0x20(%rbp), %rdi
movl $0xd9437, %esi          # imm = 0xD9437
callq 0x80c0
movq -0x18(%rbp), %rdi
leaq 0x14ea(%rip), %rdx      # 0x8010
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 $0x7, %rax
movzbl %al, %esi
callq 0x7ff0
movq -0x8(%rbp), %rdi
leaq 0x1397(%rip), %rdx      # 0x7ef0
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
nopw (%rax,%rax)