// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/dvb_gen_si.c
// Function: generate_pmt
static void generate_pmt(void) {
    uint8_t *pmt = psi_allocate();
    uint8_t *pmt_n;
    uint8_t pmt_n_counter;
    uint8_t *desc_loop, *desc;
    uint8_t desc_counter;

    // Generate empty PMT
    pmt_init(pmt);
    psi_set_version(pmt, 0);
    psi_set_current(pmt);

    pmt_set_length(pmt, 0);
    pmt_set_program(pmt, sid);
    pmt_set_pcrpid(pmt, pmt_pid + 10);
    pmt_set_desclength(pmt, 0);

    psi_set_crc(pmt);
    output_psi_section(pmt, pmt_pid, &cc);

    // Add elementary streams
    pmt_init(pmt);
    psi_set_version(pmt, 1);
    psi_set_current(pmt);
    pmt_set_pcrpid(pmt, pmt_pid + 10);

    {
        // Add descriptors to program descriptors
        pmt_set_length(pmt, PSI_MAX_SIZE);
        pmt_set_desclength(pmt, DESCS_MAX_SIZE);

        desc_counter = 0;
        desc_loop = pmt_get_descs(pmt);

        desc = descs_get_desc(desc_loop, desc_counter++);
        build_desc0b(desc);

        desc = descs_get_desc(desc_loop, desc_counter++);
        build_desc0c(desc);

        desc = descs_get_desc(desc_loop, desc_counter++);
        build_desc0d(desc);

        desc = descs_get_desc(desc_loop, desc_counter++);
        build_desc0e(desc);

        desc = descs_get_desc(desc_loop, desc_counter++);
        build_desc0f(desc);

        desc = descs_get_desc(desc_loop, desc_counter++);
        build_desc10(desc);

        desc = descs_get_desc(desc_loop, desc_counter++);
        build_desc12(desc);

        // Finish descriptor generation
        desc = descs_get_desc(desc_loop, desc_counter); // Get next descriptor pos
        pmt_set_desclength(pmt, desc - desc_loop - DESCS_HEADER_SIZE);
        pmt_set_length(pmt, pmt_get_desclength(pmt));
    }

    {
        pmt_set_length(pmt, PSI_MAX_SIZE); // This needed so pmt_get_es works

        // Process elementary streams
        pmt_n_counter = 0;

        pmt_n = pmt_get_es(pmt, pmt_n_counter++);
        pmtn_init(pmt_n);
        pmtn_set_streamtype(pmt_n, 0x02); // MPEG2 Video
        pmtn_set_pid(pmt_n, pmt_pid + 20);
        pmtn_set_desclength(pmt_n, 0);
        {
            // Add descriptors to transport_stream_n
            desc_counter = 0;
            desc_loop = pmtn_get_descs(pmt_n);
            descs_set_length(desc_loop, DESCS_MAX_SIZE); // This is needed so descs_get_desc(x, n) works

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc02_1(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc02_2(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc04(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc05(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc06(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc07(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc08(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc11(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc1b(desc);

            // Finish descriptor generation
            desc = descs_get_desc(desc_loop, desc_counter); // Get next descriptor pos
            descs_set_length(desc_loop, desc - desc_loop - DESCS_HEADER_SIZE);
        }

        pmt_n = pmt_get_es(pmt, pmt_n_counter++);
        pmtn_init(pmt_n);
        pmtn_set_streamtype(pmt_n, 0x04); // MPEG2 audio
        pmtn_set_pid(pmt_n, pmt_pid + 21);
        pmtn_set_desclength(pmt_n, 0);
        {
            // Add descriptors to transport_stream_n
            desc_counter = 0;
            desc_loop = pmtn_get_descs(pmt_n);
            descs_set_length(desc_loop, DESCS_MAX_SIZE); // This is needed so descs_get_desc(x, n) works

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc03(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc0a(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc52(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc1c(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc50(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc5e(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc6a(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc7a(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc7b(desc);

            // Finish descriptor generation
            desc = descs_get_desc(desc_loop, desc_counter); // Get next descriptor pos
            descs_set_length(desc_loop, desc - desc_loop - DESCS_HEADER_SIZE);
        }

        pmt_n = pmt_get_es(pmt, pmt_n_counter++);
        pmtn_init(pmt_n);
        pmtn_set_streamtype(pmt_n, 0x06); // PES Private Data (desc46 - VBI teletext)
        pmtn_set_pid(pmt_n, pmt_pid + 22);
        pmtn_set_desclength(pmt_n, 0);
        {
            // Add descriptors to transport_stream_n
            desc_counter = 0;
            desc_loop = pmtn_get_descs(pmt_n);
            descs_set_length(desc_loop, DESCS_MAX_SIZE); // This is needed so descs_get_desc(x, n) works

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc46(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc45(desc);

            // Finish descriptor generation
            desc = descs_get_desc(desc_loop, desc_counter); // Get next descriptor pos
            descs_set_length(desc_loop, desc - desc_loop - DESCS_HEADER_SIZE);
        }

        pmt_n = pmt_get_es(pmt, pmt_n_counter++);
        pmtn_init(pmt_n);
        pmtn_set_streamtype(pmt_n, 0x06); // PES Private Data (desc56 - Teletext)
        pmtn_set_pid(pmt_n, pmt_pid + 23);
        pmtn_set_desclength(pmt_n, 0);
        {
            // Add descriptors to transport_stream_n
            desc_counter = 0;
            desc_loop = pmtn_get_descs(pmt_n);
            descs_set_length(desc_loop, DESCS_MAX_SIZE); // This is needed so descs_get_desc(x, n) works

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc56(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc60(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc65(desc);

            // Finish descriptor generation
            desc = descs_get_desc(desc_loop, desc_counter); // Get next descriptor pos
            descs_set_length(desc_loop, desc - desc_loop - DESCS_HEADER_SIZE);
        }

        pmt_n = pmt_get_es(pmt, pmt_n_counter++);
        pmtn_init(pmt_n);
        pmtn_set_streamtype(pmt_n, 0x06); // PES Private Data (desc59 - Subtitles)
        pmtn_set_pid(pmt_n, pmt_pid + 24);
        pmtn_set_desclength(pmt_n, 0);
        {
            // Add descriptors to transport_stream_n
            desc_counter = 0;
            desc_loop = pmtn_get_descs(pmt_n);
            descs_set_length(desc_loop, DESCS_MAX_SIZE); // This is needed so descs_get_desc(x, n) works

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc59(desc);

            // Finish descriptor generation
            desc = descs_get_desc(desc_loop, desc_counter); // Get next descriptor pos
            descs_set_length(desc_loop, desc - desc_loop - DESCS_HEADER_SIZE);
        }

        pmt_n = pmt_get_es(pmt, pmt_n_counter++);
        pmtn_init(pmt_n);
        pmtn_set_streamtype(pmt_n, 0x06);
        pmtn_set_pid(pmt_n, pmt_pid + 25);
        pmtn_set_desclength(pmt_n, 0);
        {
            // Add descriptors to transport_stream_n
            desc_counter = 0;
            desc_loop = pmtn_get_descs(pmt_n);
            descs_set_length(desc_loop, DESCS_MAX_SIZE); // This is needed so descs_get_desc(x, n) works

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc1e(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc1d(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc1f(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc20(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc21(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc22(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc23(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc27(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc2c(desc);

            // Finish descriptor generation
            desc = descs_get_desc(desc_loop, desc_counter); // Get next descriptor pos
            descs_set_length(desc_loop, desc - desc_loop - DESCS_HEADER_SIZE);
        }

        pmt_n = pmt_get_es(pmt, pmt_n_counter++);
        pmtn_init(pmt_n);
        pmtn_set_streamtype(pmt_n, 0x1b);
        pmtn_set_pid(pmt_n, pmt_pid + 26);
        pmtn_set_desclength(pmt_n, 0);
        {
            // Add descriptors to transport_stream_n
            desc_counter = 0;
            desc_loop = pmtn_get_descs(pmt_n);
            descs_set_length(desc_loop, DESCS_MAX_SIZE); // This is needed so descs_get_desc(x, n) works

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc24_1(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc24_2(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc24_3(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc25(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc26_1(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc26_2(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc28(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc2a(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc6b(desc);

            // Finish descriptor generation
            desc = descs_get_desc(desc_loop, desc_counter); // Get next descriptor pos
            descs_set_length(desc_loop, desc - desc_loop - DESCS_HEADER_SIZE);
        }

        pmt_n = pmt_get_es(pmt, pmt_n_counter++);
        pmtn_init(pmt_n);
        pmtn_set_streamtype(pmt_n, 0x0f); // AAC
        pmtn_set_pid(pmt_n, pmt_pid + 27);
        pmtn_set_desclength(pmt_n, 0);
        {
            // Add descriptors to transport_stream_n
            desc_counter = 0;
            desc_loop = pmtn_get_descs(pmt_n);
            descs_set_length(desc_loop, DESCS_MAX_SIZE); // This is needed so descs_get_desc(x, n) works

/* DVB  Descriptor 0x42: Stuffing descriptor */
            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc0f(desc);
            desc42_init(desc); /* Every descriptor can be stuffed */

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc2b(desc);

            desc = descs_get_desc(desc_loop, desc_counter++);
            build_desc7c(desc);

            // Finish descriptor generation
            desc = descs_get_desc(desc_loop, desc_counter); // Get next descriptor pos
            descs_set_length(desc_loop, desc - desc_loop - DESCS_HEADER_SIZE);
        }

        pmt_n = pmt_get_es(pmt, pmt_n_counter++);
        pmtn_init(pmt_n);
        pmtn_set_streamtype(pmt_n, PMT_STREAMTYPE_SCTE_35);
        pmtn_set_pid(pmt_n, scte35_pid);
        pmtn_set_desclength(pmt_n, 0);

        // Set transport_stream_loop length
        pmt_n = pmt_get_es(pmt, pmt_n_counter); // Get last service
        pmt_set_length(pmt, pmt_n - pmt_get_es(pmt, 0) + pmt_get_desclength(pmt));
    }
    psi_set_crc(pmt);
    output_psi_section(pmt, pmt_pid, &cc);

    free(pmt);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
callq 0x4f30
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0xe1a0
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x4ff0
movq -0x8(%rbp), %rdi
callq 0x5020
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0xe210
movq -0x8(%rbp), %rdi
movzwl 0x1d706(%rip), %esi     # 0x2108a
callq 0x4fb0
movq -0x8(%rbp), %rdi
movzwl 0x1d6fc(%rip), %eax     # 0x21090
addl $0xa, %eax
movzwl %ax, %esi
callq 0xe240
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0xe290
movq -0x8(%rbp), %rdi
callq 0x5080
movq -0x8(%rbp), %rdi
leaq 0x1d6fb(%rip), %rdx     # 0x210b9
movzwl 0x1d6cb(%rip), %esi     # 0x21090
callq 0x5170
movq -0x8(%rbp), %rdi
callq 0xe1a0
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x4ff0
movq -0x8(%rbp), %rdi
callq 0x5020
movq -0x8(%rbp), %rdi
movzwl 0x1d69b(%rip), %eax     # 0x21090
addl $0xa, %eax
movzwl %ax, %esi
callq 0xe240
movq -0x8(%rbp), %rdi
movl $0x3fd, %esi            # imm = 0x3FD
callq 0xe210
movq -0x8(%rbp), %rdi
movl $0xfff, %esi            # imm = 0xFFF
callq 0xe290
movb $0x0, -0x29(%rbp)
movq -0x8(%rbp), %rdi
callq 0xe2e0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1fed(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe300
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1fc2(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe350
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1f97(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe3a0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1f6c(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe3e0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1f41(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe410
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1f16(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe440
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1eeb(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe480
movq -0x20(%rbp), %rdi
leaq 0x1ecb(%rip), %rdx      # 0x5a30
movzbl -0x29(%rbp), %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
subq $0x2, %rax
movzwl %ax, %esi
callq 0xe290
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rdi
callq 0xe4d0
movq -0x50(%rbp), %rdi
movzwl %ax, %esi
callq 0xe210
movq -0x8(%rbp), %rdi
movl $0x3fd, %esi            # imm = 0x3FD
callq 0xe210
movb $0x0, -0x11(%rbp)
movq -0x8(%rbp), %rdi
movb -0x11(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x11(%rbp)
movzbl %al, %esi
callq 0xe500
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe570
movq -0x10(%rbp), %rdi
movl $0x2, %esi
callq 0xe590
movq -0x10(%rbp), %rdi
movzwl 0x1d497(%rip), %eax     # 0x21090
addl $0x14, %eax
movzwl %ax, %esi
callq 0xe5b0
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0xe600
movb $0x0, -0x29(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe650
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0xfff, %esi            # imm = 0xFFF
callq 0x5970
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1dec(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe670
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1dc1(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe6e0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1d96(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe780
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1d6b(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe7e0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1d40(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe810
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1d15(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe840
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1cea(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe890
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1cbf(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe8e0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1c94(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe910
movq -0x20(%rbp), %rdi
leaq 0x1c74(%rip), %rdx      # 0x5a30
movzbl -0x29(%rbp), %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
subq $0x2, %rax
movzwl %ax, %esi
callq 0x5970
movq -0x8(%rbp), %rdi
movb -0x11(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x11(%rbp)
movzbl %al, %esi
callq 0xe500
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe570
movq -0x10(%rbp), %rdi
movl $0x4, %esi
callq 0xe590
movq -0x10(%rbp), %rdi
movzwl 0x1d26f(%rip), %eax     # 0x21090
addl $0x15, %eax
movzwl %ax, %esi
callq 0xe5b0
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0xe600
movb $0x0, -0x29(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe650
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0xfff, %esi            # imm = 0xFFF
callq 0x5970
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1bc4(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe940
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1b99(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe9a0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1b6e(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xeb80
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1b43(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xebb0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1b18(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xebe0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1aed(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xec70
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1ac2(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xee00
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1a97(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xeea0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1a6c(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xefa0
movq -0x20(%rbp), %rdi
leaq 0x1a4c(%rip), %rdx      # 0x5a30
movzbl -0x29(%rbp), %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
subq $0x2, %rax
movzwl %ax, %esi
callq 0x5970
movq -0x8(%rbp), %rdi
movb -0x11(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x11(%rbp)
movzbl %al, %esi
callq 0xe500
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe570
movq -0x10(%rbp), %rdi
movl $0x6, %esi
callq 0xe590
movq -0x10(%rbp), %rdi
movzwl 0x1d047(%rip), %eax     # 0x21090
addl $0x16, %eax
movzwl %ax, %esi
callq 0xe5b0
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0xe600
movb $0x0, -0x29(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe650
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0xfff, %esi            # imm = 0xFFF
callq 0x5970
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x199c(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xf020
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1971(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xf1a0
movq -0x20(%rbp), %rdi
leaq 0x1951(%rip), %rdx      # 0x5a30
movzbl -0x29(%rbp), %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
subq $0x2, %rax
movzwl %ax, %esi
callq 0x5970
movq -0x8(%rbp), %rdi
movb -0x11(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x11(%rbp)
movzbl %al, %esi
callq 0xe500
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe570
movq -0x10(%rbp), %rdi
movl $0x6, %esi
callq 0xe590
movq -0x10(%rbp), %rdi
movzwl 0x1cf4c(%rip), %eax     # 0x21090
addl $0x17, %eax
movzwl %ax, %esi
callq 0xe5b0
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0xe600
movb $0x0, -0x29(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe650
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0xfff, %esi            # imm = 0xFFF
callq 0x5970
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x18a1(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xf4b0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1876(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xf4e0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x184b(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xf530
movq -0x20(%rbp), %rdi
leaq 0x182b(%rip), %rdx      # 0x5a30
movzbl -0x29(%rbp), %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
subq $0x2, %rax
movzwl %ax, %esi
callq 0x5970
movq -0x8(%rbp), %rdi
movb -0x11(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x11(%rbp)
movzbl %al, %esi
callq 0xe500
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe570
movq -0x10(%rbp), %rdi
movl $0x6, %esi
callq 0xe590
movq -0x10(%rbp), %rdi
movzwl 0x1ce26(%rip), %eax     # 0x21090
addl $0x18, %eax
movzwl %ax, %esi
callq 0xe5b0
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0xe600
movb $0x0, -0x29(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe650
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0xfff, %esi            # imm = 0xFFF
callq 0x5970
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x177b(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xf560
movq -0x20(%rbp), %rdi
leaq 0x175b(%rip), %rdx      # 0x5a30
movzbl -0x29(%rbp), %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
subq $0x2, %rax
movzwl %ax, %esi
callq 0x5970
movq -0x8(%rbp), %rdi
movb -0x11(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x11(%rbp)
movzbl %al, %esi
callq 0xe500
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe570
movq -0x10(%rbp), %rdi
movl $0x6, %esi
callq 0xe590
movq -0x10(%rbp), %rdi
movzwl 0x1cd56(%rip), %eax     # 0x21090
addl $0x19, %eax
movzwl %ax, %esi
callq 0xe5b0
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0xe600
movb $0x0, -0x29(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe650
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0xfff, %esi            # imm = 0xFFF
callq 0x5970
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x16ab(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xf6e0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1680(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xf710
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1655(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xf760
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x162a(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xf880
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x15ff(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xf8b0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x15d4(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xfdb0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x15a9(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xfee0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x157e(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xff20
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1553(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xff70
movq -0x20(%rbp), %rdi
leaq 0x1533(%rip), %rdx      # 0x5a30
movzbl -0x29(%rbp), %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
subq $0x2, %rax
movzwl %ax, %esi
callq 0x5970
movq -0x8(%rbp), %rdi
movb -0x11(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x11(%rbp)
movzbl %al, %esi
callq 0xe500
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe570
movq -0x10(%rbp), %rdi
movl $0x1b, %esi
callq 0xe590
movq -0x10(%rbp), %rdi
movzwl 0x1cb2e(%rip), %eax     # 0x21090
addl $0x1a, %eax
movzwl %ax, %esi
callq 0xe5b0
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0xe600
movb $0x0, -0x29(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe650
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0xfff, %esi            # imm = 0xFFF
callq 0x5970
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1483(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xffd0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1458(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x10020
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x142d(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x10080
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1402(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x10140
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x13d7(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x10210
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x13ac(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x10280
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1381(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x10360
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1356(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x103f0
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x132b(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x10480
movq -0x20(%rbp), %rdi
leaq 0x130b(%rip), %rdx      # 0x5a30
movzbl -0x29(%rbp), %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
subq $0x2, %rax
movzwl %ax, %esi
callq 0x5970
movq -0x8(%rbp), %rdi
movb -0x11(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x11(%rbp)
movzbl %al, %esi
callq 0xe500
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe570
movq -0x10(%rbp), %rdi
movl $0xf, %esi
callq 0xe590
movq -0x10(%rbp), %rdi
movzwl 0x1c906(%rip), %eax     # 0x21090
addl $0x1b, %eax
movzwl %ax, %esi
callq 0xe5b0
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0xe600
movb $0x0, -0x29(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe650
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movl $0xfff, %esi            # imm = 0xFFF
callq 0x5970
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x125b(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xe410
movq -0x28(%rbp), %rdi
callq 0x10500
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x1227(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x10520
movq -0x20(%rbp), %rdi
movb -0x29(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x29(%rbp)
leaq 0x11fc(%rip), %rdx      # 0x5a30
movzbl %al, %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x10570
movq -0x20(%rbp), %rdi
leaq 0x11dc(%rip), %rdx      # 0x5a30
movzbl -0x29(%rbp), %esi
callq 0x59c0
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
subq $0x2, %rax
movzwl %ax, %esi
callq 0x5970
movq -0x8(%rbp), %rdi
movb -0x11(%rbp), %al
movb %al, %cl
addb $0x1, %cl
movb %cl, -0x11(%rbp)
movzbl %al, %esi
callq 0xe500
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe570
movq -0x10(%rbp), %rdi
movl $0x86, %esi
callq 0xe590
movq -0x10(%rbp), %rdi
movzwl 0x1c7d9(%rip), %esi     # 0x21092
callq 0xe5b0
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0xe600
movq -0x8(%rbp), %rdi
movzbl -0x11(%rbp), %esi
callq 0xe500
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0xe500
movq %rax, %rcx
movq -0x48(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
callq 0xe4d0
movq -0x40(%rbp), %rdi
movw %ax, %cx
movq -0x38(%rbp), %rax
movzwl %cx, %ecx
addq %rcx, %rax
movzwl %ax, %esi
callq 0xe210
movq -0x8(%rbp), %rdi
callq 0x5080
movq -0x8(%rbp), %rdi
leaq 0x1c780(%rip), %rdx     # 0x210b9
movzwl 0x1c750(%rip), %esi     # 0x21090
callq 0x5170
movq -0x8(%rbp), %rdi
callq 0x1030
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)