// File: /workspace/github_c_makefile_star2_O2/videolan[P]bitstream/examples/dvb_ecmg.c
// Function: main
int main(int i_argc, char **ppsz_argv)
{
    if (i_argc > 1) {
        fprintf(stderr, "usage: %s < <input stream> > <output stream>\n",
                ppsz_argv[0]);
        return EXIT_FAILURE;
    }

    for ( ; ; ) {
        uint8_t *p_tlv_h = malloc(TLVH_HEADER_SIZE + TLV_HEADER_SIZE);
        uint8_t *p_tlv = tlvh_get_tlv(p_tlv_h);
        uint16_t i_type;
        fd_set rset;
        struct timeval timeout;
        int i_ret;

        FD_ZERO(&rset);
        FD_SET(STDIN_FILENO, &rset);
        timeout.tv_sec = SELECT_TIMEOUT;
        timeout.tv_usec = 0;

        if ((i_ret = select(STDIN_FILENO + 1, &rset, NULL, NULL, &timeout)) < 0)
            return EXIT_FAILURE;
        if (!i_ret) {
            if (b_init) return EXIT_FAILURE;
            /* timeout - send a packet so that the communication is reset
             * if it is really dead */
            send_channel_test();
            continue;
        }

        if (read_wrapper(p_tlv_h, TLVH_HEADER_SIZE + TLV_HEADER_SIZE) <= 0)
            return EXIT_FAILURE;

        p_tlv_h = realloc(p_tlv_h, TLVH_HEADER_SIZE + TLV_HEADER_SIZE
                                    + tlv_get_length(p_tlv));
        p_tlv = tlvh_get_tlv(p_tlv_h);
        if (read_wrapper(p_tlv + TLV_HEADER_SIZE, tlv_get_length(p_tlv)) <= 0)
            return EXIT_FAILURE;

        if ((b_init && tlvh_get_version(p_tlv_h) > 3) ||
            (!b_init && tlvh_get_version(p_tlv_h) != i_version)) {
            send_channel_error(i_channelid, 0x2);
            free(p_tlv_h);
            continue;
        }

        i_type = tlv_get_type(p_tlv);

        if (!tlv_validate(p_tlv)) {
            send_channel_error(i_channelid, 0x1);
            free(p_tlv_h);
            continue;
        }

        if (!ecmg_validate(p_tlv)) {
            send_channel_error(i_channelid, 0xf);
            free(p_tlv_h);
            continue;
        }

        if (b_init && i_type != ECMG_TYPE_CHANNEL_SETUP) {
            send_channel_error(i_channelid, 0x6);
            free(p_tlv_h);
            continue;
        }

        switch (i_type) {
            case ECMG_TYPE_CHANNEL_SETUP:
                if (b_init)
                    i_version = tlvh_get_version(p_tlv_h);
                handle_channel_setup(p_tlv);
                break;

            case ECMG_TYPE_CHANNEL_TEST:
                handle_channel_test(p_tlv);
                break;

            case ECMG_TYPE_CHANNEL_CLOSE:
                handle_channel_close(p_tlv);
                break;

            case ECMG_TYPE_CHANNEL_ERROR:
                handle_channel_error(p_tlv);
                break;

            case ECMG_TYPE_STREAM_SETUP:
                handle_stream_setup(p_tlv);
                break;

            case ECMG_TYPE_STREAM_TEST:
                handle_stream_test(p_tlv);
                break;

            case ECMG_TYPE_STREAM_CLOSEREQ:
                handle_stream_close(p_tlv);
                break;

            case ECMG_TYPE_STREAM_ERROR:
                handle_stream_error(p_tlv);
                break;

            case ECMG_TYPE_CHANNEL_STATUS:
            case ECMG_TYPE_STREAM_STATUS:
                break;

            case ECMG_TYPE_CW:
                handle_cw(p_tlv);
                break;

            default:
                send_channel_error(i_channelid, 0x3);
                break;
        }

        free(p_tlv_h);
    }

    return EXIT_SUCCESS;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x8d8, %rsp            # imm = 0x8D8
cmpl $0x1, %edi
jg 0x1d97
pushq $0x5
popq %r12
pushq $0x1
popq %rbp
movq %r12, %rdi
callq 0x1090
movq %rax, %r14
xorl %eax, %eax
cmpq $0x10, %rax
je 0x12f4
andq $0x0, 0x450(%rsp,%rax,8)
incq %rax
jmp 0x12e0
orb $0x1, 0x450(%rsp)
movq $0xa, 0x30(%rsp)
andq $0x0, 0x38(%rsp)
movl %ebp, %edi
leaq 0x450(%rsp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
leaq 0x30(%rsp), %r8
callq 0x1080
testl %eax, %eax
js 0x1db2
je 0x139f
movq %r14, %rdi
movq %r12, %rsi
callq 0x11bc
testq %rax, %rax
jle 0x1db2
movzwl 0x3(%r14), %eax
rolw $0x8, %ax
movzwl %ax, %esi
addq $0x5, %rsi
movq %r14, %rdi
callq 0x10a0
movq %rax, %r15
leaq 0x5(%rax), %r13
movzwl 0x3(%rax), %eax
rolw $0x8, %ax
movzwl %ax, %esi
movq %r13, %rdi
callq 0x11bc
testq %rax, %rax
jle 0x1db2
movb 0x3cfe(%rip), %bl       # 0x5080
movb (%r15), %bpl
testb %bl, %bl
je 0x1428
cmpb 0x3cdc(%rip), %bpl      # 0x5070
je 0x142e
jmp 0x14a5
cmpb $0x1, 0x3cda(%rip)      # 0x5080
jne 0x1db2
movq 0x3c45(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
movzwl 0x3cc5(%rip), %edx      # 0x5082
leaq 0x1ee4(%rip), %rsi      # 0x32a8
xorl %eax, %eax
callq 0x1070
movb 0x3c9f(%rip), %al       # 0x5070
movb %al, 0x40(%rsp)
andw $0x0, 0x45(%rsp)
movl $0xf7030200, 0x41(%rsp) # imm = 0xF7030200
movzwl 0x3c98(%rip), %esi      # 0x5082
leaq 0x41(%rsp), %rbx
movq %rbx, %rdi
callq 0x1e57
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x1e9c
movl %eax, %ecx
subl %ebx, %ecx
addl $-0x4, %ecx
rolw $0x8, %cx
movw %cx, 0x43(%rsp)
leaq 0x40(%rsp), %rdi
subq %rdi, %rax
movq %rax, %rsi
callq 0x1248
jmp 0x12d3
cmpb $0x3, %bpl
ja 0x14a5
movq %r15, %r14
incq %r14
movzwl 0x1(%r15), %r12d
movzwl 0x3(%r15), %eax
rolw $0x8, %r12w
movzwl %r12w, %edi
rolw $0x8, %ax
movzwl %ax, %eax
movq %r13, %rcx
subq %r14, %rcx
cmpq %rax, %rcx
jg 0x147a
movzwl 0x2(%r13), %edx
rolw $0x8, %dx
movzwl %dx, %edx
leaq (%rdx,%r13), %rsi
subq %r14, %rsi
cmpq %rax, %rsi
jg 0x147a
addq %rdx, %r13
addq $0x4, %r13
jmp 0x144e
addq $-0x4, %rcx
cmpq %rax, %rcx
je 0x14c1
movzwl 0x3bf8(%rip), %edi      # 0x5082
pushq $0x1
popq %rbp
movl %ebp, %esi
callq 0x1dc7
movq %r15, %rdi
callq 0x1030
pushq $0x5
popq %r12
jmp 0x12d3
movzwl 0x3bd6(%rip), %edi      # 0x5082
pushq $0x2
popq %rsi
callq 0x1dc7
movq %r15, %rdi
callq 0x1030
jmp 0x12d0
andw $0x0, 0x44(%rsp)
andl $0x0, 0x40(%rsp)
leal -0x101(%rdi), %edx
cmpl $0x5, %edx
movq %rdi, 0x10(%rsp)
movq %rdx, 0x18(%rsp)
jbe 0x1502
leal -0x1(%rdi), %eax
cmpl $0x4, %eax
ja 0x151b
leaq 0x1b30(%rip), %rcx      # 0x3020
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1bfa(%rip), %r13      # 0x30fa
jmp 0x1576
leaq 0x1b2b(%rip), %rcx      # 0x3034
movslq (%rcx,%rdx,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1c57(%rip), %r13      # 0x3170
jmp 0x1576
cmpl $0x201, %edi            # imm = 0x201
je 0x154b
leaq 0x40(%rsp), %r13
cmpl $0x202, %edi            # imm = 0x202
jne 0x1576
leaq 0x1ca9(%rip), %r13      # 0x31e0
jmp 0x1576
leaq 0x1bd0(%rip), %r13      # 0x3110
jmp 0x1576
leaq 0x1be7(%rip), %r13      # 0x3130
jmp 0x1576
leaq 0x1c5e(%rip), %r13      # 0x31b0
jmp 0x1576
leaq 0x1b25(%rip), %r13      # 0x3080
jmp 0x1576
leaq 0x1b3c(%rip), %r13      # 0x30a0
jmp 0x1576
leaq 0x1c23(%rip), %r13      # 0x3190
jmp 0x1576
leaq 0x1bda(%rip), %r13      # 0x3150
movzwl (%r13), %eax
testw %ax, %ax
je 0x15a9
movzwl %ax, %esi
movq %r14, %rdi
callq 0x1f70
cmpw 0x2(%r13), %ax
jb 0x1d70
leaq 0x6(%r13), %rcx
cmpw 0x4(%r13), %ax
movq %rcx, %r13
jbe 0x1576
jmp 0x1d70
xorl %r13d, %r13d
movzwl %r13w, %esi
movq %r14, %rdi
callq 0x1ee4
testq %rax, %rax
je 0x15fd
movzwl (%rax), %ecx
rolw $0x8, %cx
movzwl 0x2(%rax), %eax
rolw $0x8, %ax
cmpw $0x19, %cx
ja 0x15e7
movzwl %cx, %ecx
leaq 0x1c24(%rip), %rdx      # 0x3200
cmpw (%rdx,%rcx,2), %ax
jae 0x15f8
jmp 0x1d70
cmpw $0x7000, %cx            # imm = 0x7000
jne 0x15f8
cmpw $0x2, %ax
jb 0x1d70
incl %r13d
jmp 0x15ac
cmpw $0x1, %r12w
sete %al
orb %bl, %al
je 0x1d8c
movq 0x10(%rsp), %rcx
leal -0x1(%rcx), %eax
cmpl $0x4, %eax
jbe 0x167b
movq 0x18(%rsp), %rdx
cmpl $0x5, %edx
ja 0x16c3
leaq 0x1a31(%rip), %rcx      # 0x3060
movslq (%rcx,%rdx,4), %rax
addq %rcx, %rax
pushq $0x5
popq %r12
jmpq *%rax
movq %r14, %rdi
callq 0x1fb5
movl %eax, %r13d
movq %r14, %rdi
callq 0x2225
cmpw 0x3a2b(%rip), %r13w     # 0x5082
jne 0x17ac
movl %eax, %ebx
movzwl %ax, %ebp
movl %ebp, %edi
callq 0x223a
testq %rax, %rax
je 0x180a
movl %ebp, %edi
pushq $0x14
jmp 0x183b
leaq 0x19ca(%rip), %rcx      # 0x304c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
pushq $0x5
popq %r12
jmpq *%rax
testb %bl, %bl
jne 0x169a
movb %bpl, 0x39d6(%rip)      # 0x5070
movq %r14, %rdi
callq 0x1fb5
movzwl %ax, %r13d
testb %bl, %bl
je 0x1a42
cmpw 0x39cd(%rip), %ax       # 0x5082
je 0x14b4
movl %r13d, %edi
jmp 0x17fe
cmpl $0x201, %ecx            # imm = 0x201
pushq $0x5
popq %r12
jne 0x17b2
movq %r14, %rdi
callq 0x1fb5
movl %eax, %r13d
movq %r14, %rdi
callq 0x2225
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movzwl %r13w, %ebx
cmpw 0x3988(%rip), %r13w     # 0x5082
jne 0x17fc
movzwl %ax, %ebp
movl %ebp, %edi
callq 0x223a
testq %rax, %rax
je 0x1837
movq %rax, %r13
movq %r14, %rdi
pushq $0x18
popq %rsi
callq 0x1f70
testw %ax, %ax
je 0x1846
movl %ebp, %edi
pushq $0xe
jmp 0x183b
movq %r14, %rdi
callq 0x1fb5
movl %eax, %r13d
movq %r14, %rdi
callq 0x2225
cmpw 0x3934(%rip), %r13w     # 0x5082
jne 0x17ac
movzwl %ax, %r14d
movl %r14d, %edi
callq 0x223a
testq %rax, %rax
je 0x1805
movq %rax, %rdi
callq 0x2304
jmp 0x14b4
movq %r14, %rdi
callq 0x1fb5
movl %eax, %r13d
movq %r14, %rdi
callq 0x2225
cmpw 0x38f5(%rip), %r13w     # 0x5082
jne 0x17ac
movzwl %ax, %r13d
movl %r13d, %edi
callq 0x223a
testq %rax, %rax
jne 0x1ab6
movl %r13d, %edi
jmp 0x1839
movzwl %r13w, %edi
jmp 0x17fe
movzwl 0x38c9(%rip), %edi      # 0x5082
pushq $0x3
jmp 0x14ae
movq %r14, %rdi
callq 0x1fb5
cmpw 0x38b3(%rip), %ax       # 0x5082
jne 0x17f7
callq 0x1fca
jmp 0x14b4
movq %r14, %rdi
callq 0x1fb5
movzwl %ax, %edx
cmpw 0x3895(%rip), %ax       # 0x5082
je 0x19d6
movl %edx, %edi
jmp 0x17fe
movzwl %ax, %edi
jmp 0x17fe
movl %ebx, %edi
pushq $0x6
jmp 0x14ae
movl %r14d, %edi
jmp 0x1839
movl %ebx, %r13d
movb 0x385d(%rip), %bl       # 0x5070
cmpb $0x2, %bl
jb 0x1b76
movq %r14, %rdi
pushq $0x19
popq %rsi
callq 0x1f70
cmpw $0x1, %ax
je 0x1b76
movl %ebp, %edi
pushq $0x10
jmp 0x183b
movl %ebp, %edi
pushq $0x7
popq %rsi
callq 0x2265
jmp 0x14b4
movq %r14, %rdi
pushq $0x14
popq %rsi
callq 0x1f70
cmpw $0x2, %ax
jne 0x1aa4
movq %r13, 0x18(%rsp)
movq %r14, %rdi
pushq $0x12
popq %rsi
xorl %edx, %edx
callq 0x1e9c
movb 0x4(%rax), %cl
movb %cl, 0xd(%rsp)
movb 0x5(%rax), %al
movb %al, 0x10(%rsp)
movq %r14, %rdi
xorl %esi, %esi
leaq 0xe(%rsp), %r13
movq %r13, %rdx
callq 0x243c
cmpw $0xa, 0xe(%rsp)
jne 0x1aad
movzbl 0x1(%rax), %ecx
addq $0x2, %rax
andl $0x1, %ecx
movq %rax, 0x20(%rsp,%rcx,8)
movq %r14, %rdi
pushq $0x1
popq %rsi
movq %r13, %rdx
callq 0x243c
cmpw $0xa, 0xe(%rsp)
jne 0x1aad
movzbl 0x1(%rax), %ecx
addq $0x2, %rax
andl $0x1, %ecx
movq %rax, 0x20(%rsp,%rcx,8)
cmpq $0x0, 0x20(%rsp)
je 0x1c5f
cmpq $0x0, 0x28(%rsp)
je 0x1c5f
movq %r14, %rdi
pushq $0xd
popq %rsi
xorl %edx, %edx
callq 0x1e9c
movb 0x10(%rsp), %al
andb $0x1, %al
orb $-0x80, %al
movb %al, 0x4d0(%rsp)
movw $0x1070, 0x4d1(%rsp)    # imm = 0x1070
leaq 0x4d3(%rsp), %rax
xorl %ecx, %ecx
leaq 0x1b1b(%rip), %r8       # 0x343d
cmpq $0x2, %rcx
je 0x1c6e
movq 0x20(%rsp,%rcx,8), %rdx
xorl %esi, %esi
cmpq $0x8, %rsi
je 0x194a
movb (%rsi,%r8), %dil
xorb (%rdx,%rsi), %dil
movb %dil, (%rax,%rsi)
incq %rsi
jmp 0x1933
incq %rcx
addq $0x8, %rax
jmp 0x1922
movq %r14, %rdi
callq 0x1fb5
movl %eax, %r13d
movq %r14, %rdi
callq 0x2225
movq 0x368b(%rip), %rcx      # 0x4ff8
movq (%rcx), %rbp
movzwl %r13w, %r13d
movzwl %ax, %ebx
movq %r14, %rdi
callq 0x220e
movzwl %ax, %r8d
movq %rbp, %rdi
leaq 0x1a72(%rip), %rsi      # 0x33ff
movl %r13d, %edx
movl %ebx, %ecx
xorl %eax, %eax
callq 0x1070
jmp 0x14b4
movq %r14, %rdi
callq 0x1fb5
movq 0x364b(%rip), %rcx      # 0x4ff8
movq (%rcx), %r13
movzwl %ax, %ebx
movq %r14, %rdi
callq 0x220e
movzwl %ax, %ecx
movq %r13, %rdi
leaq 0x1985(%rip), %rsi      # 0x334d
movl %ebx, %edx
xorl %eax, %eax
callq 0x1070
jmp 0x14b4
movq 0x361b(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x194c(%rip), %rsi      # 0x3333
xorl %eax, %eax
callq 0x1070
movb $0x0, 0x368b(%rip)      # 0x5080
movl 0x3689(%rip), %ebx      # 0x5084
movq 0x3686(%rip), %r14      # 0x5088
testl %ebx, %ebx
movl $0x0, %eax
cmovlel %eax, %ebx
xorl %r12d, %r12d
cmpq %r12, %rbx
je 0x1a22
movq (%r14,%r12,8), %rdi
callq 0x1030
incq %r12
jmp 0x1a0f
movq %r14, %rdi
callq 0x1030
andq $0x0, 0x3656(%rip)      # 0x5088
andl $0x0, 0x364b(%rip)      # 0x5084
pushq $0x5
popq %r12
jmp 0x14b4
movw %ax, 0x3639(%rip)       # 0x5082
xorl %ebx, %ebx
movq %r14, %rdi
pushq $0x1
popq %rsi
xorl %edx, %edx
callq 0x1e9c
pushq $0x18
popq %rcx
xorl %r8d, %r8d
cmpq $0x4, %rbx
je 0x1a76
movzbl 0x4(%rax,%rbx), %edx
shll %cl, %edx
orl %edx, %r8d
incq %rbx
addl $-0x8, %ecx
jmp 0x1a5e
movq 0x357b(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
movzbl 0x35e9(%rip), %ecx      # 0x5070
leaq 0x186b(%rip), %rsi      # 0x32f9
movl %r13d, %edx
xorl %eax, %eax
callq 0x1070
movb $0x1, 0x35e1(%rip)      # 0x5080
jmp 0x17d1
movl %ebp, %edi
pushq $0xb
jmp 0x183b
movl %ebp, %edi
pushq $0xf
jmp 0x183b
movq %rax, %r14
movq 0x3538(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x191b(%rip), %rsi      # 0x33e5
movl %r13d, %edx
xorl %eax, %eax
callq 0x1070
movb 0x3596(%rip), %al       # 0x5070
movb %al, 0x40(%rsp)
andw $0x0, 0x45(%rsp)
movl $0xf7030501, 0x41(%rsp) # imm = 0xF7030501
movzwl 0x358f(%rip), %esi      # 0x5082
leaq 0x41(%rsp), %rbx
movq %rbx, %rdi
callq 0x1e57
movzwl (%r14), %esi
movq %rbx, %rdi
callq 0x23f7
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x1e9c
movl %eax, %ecx
subl %ebx, %ecx
addl $-0x4, %ecx
rolw $0x8, %cx
movw %cx, 0x43(%rsp)
leaq 0x40(%rsp), %rdi
subq %rdi, %rax
movq %rax, %rsi
callq 0x1248
movl 0x3546(%rip), %ecx      # 0x5084
movq 0x3543(%rip), %rax      # 0x5088
testl %ecx, %ecx
movl $0x0, %edx
cmovlel %edx, %ecx
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x1b69
leaq 0x1(%rdx), %rsi
cmpq %r14, (%rax,%rdx,8)
movq %rsi, %rdx
jne 0x1b51
andq $0x0, -0x8(%rax,%rsi,8)
movq %r14, %rdi
callq 0x1030
jmp 0x14b4
pushq $0x6
popq %rdi
callq 0x1090
movq %rax, %rdx
movslq 0x34fc(%rip), %r12      # 0x5084
movq 0x34f9(%rip), %rdi      # 0x5088
testl %r12d, %r12d
movl $0x0, %eax
cmovgl %r12d, %eax
xorl %ecx, %ecx
cmpq %rcx, %rax
je 0x1bb4
cmpq $0x0, (%rdi,%rcx,8)
je 0x1bae
incq %rcx
jmp 0x1b9d
movq %rdx, (%rdi,%rcx,8)
movl %ecx, %eax
cmpl %r12d, %eax
jne 0x1be6
leaq 0x1(%r12), %rax
movl %eax, 0x34c0(%rip)      # 0x5084
leaq 0x8(,%r12,8), %rsi
movq %rdx, 0x10(%rsp)
callq 0x10a0
movq 0x10(%rsp), %rdx
movq %rax, 0x34a6(%rip)      # 0x5088
movq %rdx, (%rax,%r12,8)
movw %r13w, (%rdx)
cmpb $0x2, %bl
jb 0x1c0c
movq %r14, %rdi
pushq $0x19
popq %rsi
movq %rdx, %rbx
xorl %edx, %edx
callq 0x1e9c
movq %rbx, %rdx
movzwl 0x4(%rax), %ebx
rolw $0x8, %bx
jmp 0x1c0e
xorl %ebx, %ebx
pushq $0x5
popq %r12
movw %bx, 0x2(%rdx)
movq %r14, %rdi
pushq $0x10
popq %rsi
movq %rdx, %r14
xorl %edx, %edx
callq 0x1e9c
movzwl 0x4(%rax), %eax
rolw $0x8, %ax
movzwl %ax, %eax
movw %ax, 0x4(%r14)
movq 0x33bb(%rip), %rcx      # 0x4ff8
movq (%rcx), %rdi
movzwl %bx, %ecx
imull $0x64, %eax, %r8d
leaq 0x172d(%rip), %rsi      # 0x337b
movl %ebp, %edx
xorl %eax, %eax
callq 0x1070
movq %r14, %rdi
jmp 0x1768
movl %ebp, %edi
pushq $0xb
popq %rsi
callq 0x2265
jmp 0x1a39
movq %rsp, %r14
movb 0x33f9(%rip), %al       # 0x5070
movb %al, 0x40(%rsp)
andw $0x0, 0x45(%rsp)
movl $0xa040202, 0x41(%rsp)  # imm = 0xA040202
leaq 0x41(%rsp), %r13
movq %r13, %rdi
movl %ebx, %esi
callq 0x1e57
movq 0x18(%rsp), %rax
movzwl (%rax), %esi
movq %r13, %rdi
callq 0x23f7
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x1e9c
movzwl 0x43(%rsp), %ecx
rolw $0x8, %cx
movzwl %cx, %r12d
movq %rax, %rcx
subq %r13, %rcx
addq $0x4, %rcx
cmpq %r12, %rcx
jg 0x1cf6
movl $0x2001200, (%rax)      # imm = 0x2001200
movb 0xd(%rsp), %cl
movb %cl, 0x4(%rax)
movb 0x10(%rsp), %cl
movb %cl, 0x5(%rax)
andw $0x0, 0x6(%rax)
movzwl 0x43(%rsp), %eax
rolw $0x8, %ax
movzwl %ax, %r12d
leaq 0x41(%rsp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x1e9c
movq %rax, %rcx
subq %rbx, %rcx
addq $0x15, %rcx
cmpq %r12, %rcx
jg 0x1d37
movl $0x13001500, (%rax)     # imm = 0x13001500
movaps 0x4d0(%rsp), %xmm0
movups %xmm0, 0x4(%rax)
movl 0x4df(%rsp), %ecx
movl %ecx, 0x13(%rax)
andw $0x0, 0x17(%rax)
leaq 0x41(%rsp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x1e9c
movl %eax, %ecx
subl %ebx, %ecx
addl $-0x4, %ecx
rolw $0x8, %cx
movw %cx, 0x43(%rsp)
leaq 0x40(%rsp), %rdi
subq %rdi, %rax
movq %rax, %rsi
callq 0x1248
movq %r14, %rsp
jmp 0x1a39
movzwl 0x330b(%rip), %edi      # 0x5082
pushq $0xf
popq %rsi
callq 0x1dc7
movq %r15, %rdi
callq 0x1030
jmp 0x12cc
movzwl 0x32ef(%rip), %edi      # 0x5082
pushq $0x6
jmp 0x1d79
movq 0x325a(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
movq (%rsi), %rdx
leaq 0x14cf(%rip), %rsi      # 0x327a
xorl %eax, %eax
callq 0x1070
pushq $0x1
popq %rax
addq $0x8d8, %rsp            # imm = 0x8D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq