// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/dvb_gen_si.c
// Function: build_desc5d
static void build_desc5d(uint8_t *desc) {
    char *provider_name = "M Provider";
    char *service_name = "M Service";
    uint8_t k = 0;
    uint8_t *data_n;

    desc5d_init(desc);
    desc_set_length(desc, 255);

    data_n = desc5d_get_data(desc, k++);
    desc5dn_set_code(data_n, (uint8_t *)"eng");
    desc5dn_set_provider_name(data_n, (uint8_t *)provider_name, strlen(provider_name));
    desc5dn_set_service_name(data_n, (uint8_t *)service_name, strlen(service_name));

    data_n = desc5d_get_data(desc, k++);
    desc5dn_set_code(data_n, (uint8_t *)"fre");
    desc5dn_set_provider_name(data_n, (uint8_t *)provider_name, strlen(provider_name));
    desc5dn_set_service_name(data_n, (uint8_t *)service_name, strlen(service_name));

    data_n = desc5d_get_data(desc, k++);
    desc5dn_set_code(data_n, (uint8_t *)"bul");
    desc5dn_set_provider_name(data_n, (uint8_t *)provider_name, strlen(provider_name));
    desc5dn_set_service_name(data_n, (uint8_t *)service_name, strlen(service_name));


    data_n = desc5d_get_data(desc, k);
    desc_set_length(desc, data_n - desc - DESC_HEADER_SIZE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
leaq 0xe3ae(%rip), %rax      # 0x174d4
movq %rax, -0x10(%rbp)
leaq 0xe3ae(%rip), %rax      # 0x174df
movq %rax, -0x18(%rbp)
movb $0x0, -0x19(%rbp)
movq -0x8(%rbp), %rdi
callq 0xa690
movq -0x8(%rbp), %rdi
movl $0xff, %esi
callq 0x5ca0
movq -0x8(%rbp), %rdi
movb -0x19(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x19(%rbp)
leaq 0x154a(%rip), %rdx      # 0xa6b0
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
leaq 0xe2f0(%rip), %rsi      # 0x1746d
callq 0x7890
movq -0x28(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1050
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
movzbl %al, %edx
callq 0xa720
movq -0x28(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x18(%rbp), %rdi
callq 0x1050
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
movzbl %al, %edx
callq 0xa760
movq -0x8(%rbp), %rdi
movb -0x19(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x19(%rbp)
leaq 0x14c0(%rip), %rdx      # 0xa6b0
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
leaq 0xe26a(%rip), %rsi      # 0x17471
callq 0x7890
movq -0x28(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1050
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
movzbl %al, %edx
callq 0xa720
movq -0x28(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x18(%rbp), %rdi
callq 0x1050
movq -0x58(%rbp), %rdi
movq -0x50(%rbp), %rsi
movzbl %al, %edx
callq 0xa760
movq -0x8(%rbp), %rdi
movb -0x19(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x19(%rbp)
leaq 0x143c(%rip), %rdx      # 0xa6b0
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
leaq 0xe1ea(%rip), %rsi      # 0x17475
callq 0x7890
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1050
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
movzbl %al, %edx
callq 0xa720
movq -0x28(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rdi
callq 0x1050
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
movzbl %al, %edx
callq 0xa760
movq -0x8(%rbp), %rdi
leaq 0x13c3(%rip), %rdx      # 0xa6b0
movzbl -0x19(%rbp), %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
subq $0x2, %rax
movzbl %al, %esi
callq 0x5ca0
addq $0x90, %rsp
popq %rbp
retq
nop