// File: /workspace/github_c_makefile_star2_O1/videolan[P]bitstream/examples/dvb_ecmg_test.c
// Function: main
int main(int i_argc, char **ppsz_argv)
{
    if (i_argc != 3) {
        fprintf(stderr, "usage: %s <# streams> <crypto-period (s)> < < <input stream> > <output stream>\n",
                ppsz_argv[0]);
        return EXIT_FAILURE;
    }

    i_wanted_streams = atoi(ppsz_argv[1]);
    i_period = atoi(ppsz_argv[2]);
    i_last_time = time(NULL);

    srand(time(NULL));
    i_channelid = rand();
    i_supercasid = rand();
    send_channel_setup();

    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) {
            goto no_packet;
        }

        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 (tlvh_get_version(p_tlv_h) != i_version) {
            send_channel_error(i_channelid, 0x2);
            free(p_tlv_h);
            exit(EXIT_FAILURE);
        }

        i_type = tlv_get_type(p_tlv);

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

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

        if (b_init && i_type != ECMG_TYPE_CHANNEL_STATUS) {
            send_channel_error(i_channelid, 0x6);
            free(p_tlv_h);
            exit(EXIT_FAILURE);
        }

        switch (i_type) {
            case ECMG_TYPE_CHANNEL_STATUS:
                handle_channel_status(p_tlv);
                break;

            case ECMG_TYPE_CHANNEL_TEST:
                handle_channel_test(p_tlv);
                break;

            case ECMG_TYPE_CHANNEL_ERROR:
                handle_channel_error(p_tlv);
                break;

            case ECMG_TYPE_STREAM_STATUS:
                handle_stream_status(p_tlv);
                break;

            case ECMG_TYPE_STREAM_TEST:
                handle_stream_test(p_tlv);
                break;

            case ECMG_TYPE_STREAM_ERROR:
                handle_stream_error(p_tlv);
                break;

            case ECMG_TYPE_ECM:
                handle_ecm(p_tlv);
                break;

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

no_packet:
        free(p_tlv_h);

        if (!b_init) {
            time_t i_time = time(NULL);

            if (i_nb_streams < i_wanted_streams)
                create_stream();

            while (i_last_time < i_time) {
                i_last_time++;
                check_cw();
            }
        }
    }

    return EXIT_SUCCESS;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x4c8, %rsp            # imm = 0x4C8
movq %rsi, %rbx
cmpl $0x3, %edi
jne 0x3156
movq 0x8(%rbx), %rdi
callq 0x10d0
movl %eax, 0x43c4(%rip)      # 0x60a0
movq 0x10(%rbx), %rdi
callq 0x10d0
movl %eax, 0x43b9(%rip)      # 0x60a4
xorl %ebx, %ebx
xorl %edi, %edi
callq 0x1090
movq %rax, 0x43ad(%rip)      # 0x60a8
xorl %edi, %edi
callq 0x1090
movl %eax, %edi
callq 0x1070
callq 0x1100
movw %ax, 0x439b(%rip)       # 0x60b0
callq 0x1100
movl %eax, 0x4394(%rip)      # 0x60b4
leaq 0xc1(%rsp), %r15
movl $0x3010001, -0x1(%r15)  # imm = 0x3010001
leaq 0xc5(%rsp), %rax
movb $0x0, 0x1(%rax)
movw $0xfc, -0x1(%rax)
movzwl 0x4367(%rip), %edx      # 0x60b0
xorl %ecx, %ecx
movq %rax, %rsi
testb %cl, %cl
je 0x1d81
movzbl %cl, %edi
movq %rax, %rsi
movq %rsi, %r8
subq %r15, %r8
cmpq $0x3fc, %r8             # imm = 0x3FC
jg 0x1d98
movzwl 0x2(%rsi), %r8d
rolw $0x8, %r8w
movzwl %r8w, %r8d
addq %r8, %rsi
addq $0x4, %rsi
decw %di
jne 0x1d58
movq %rsi, %rdi
subq %r15, %rdi
addq $-0x4, %rdi
cmpq $0x3fc, %rdi            # imm = 0x3FC
cmovgeq %rbx, %rsi
jmp 0x1d9a
xorl %esi, %esi
testq %rsi, %rsi
je 0x1dac
movb 0x1(%rsi), %dil
incb %cl
orb (%rsi), %dil
jne 0x1d4b
jmp 0x1dae
xorl %esi, %esi
movq %rsi, %rcx
subq %r15, %rcx
addq $0x4, %rcx
cmpq $0x3fc, %rcx            # imm = 0x3FC
jg 0x1df4
movl $0x2000e00, (%rsi)      # imm = 0x2000E00
leaq 0x4(%rsi), %rdi
movl $0x8, %ecx
movl %edx, %r8d
shrl %cl, %r8d
movb %r8b, (%rdi)
incq %rdi
addq $-0x8, %rcx
je 0x1dd0
movzwl 0x2(%rsi), %ecx
rolw $0x8, %cx
movzwl %cx, %ecx
movw $0x0, 0x4(%rsi,%rcx)
movzwl 0xc3(%rsp), %ecx
rolw $0x8, %cx
movl 0x42ae(%rip), %edx      # 0x60b4
movzwl %cx, %ecx
xorl %edi, %edi
xorl %r8d, %r8d
movq %rax, %rsi
testb %r8b, %r8b
je 0x1e43
movzbl %r8b, %r9d
movq %rax, %rsi
movq %rsi, %r10
subq %r15, %r10
cmpq %rcx, %r10
jg 0x1e56
movzwl 0x2(%rsi), %r10d
rolw $0x8, %r10w
movzwl %r10w, %r10d
addq %r10, %rsi
addq $0x4, %rsi
decw %r9w
jne 0x1e1d
movq %rsi, %r9
subq %r15, %r9
addq $-0x4, %r9
cmpq %rcx, %r9
cmovgeq %rdi, %rsi
jmp 0x1e58
xorl %esi, %esi
testq %rsi, %rsi
je 0x1e6b
movb 0x1(%rsi), %r9b
incb %r8b
orb (%rsi), %r9b
jne 0x1e0e
jmp 0x1e6d
xorl %esi, %esi
movq %rsi, %rdi
subq %r15, %rdi
addq $0x6, %rdi
cmpq %rcx, %rdi
jg 0x1eb2
movl $0x4000100, (%rsi)      # imm = 0x4000100
movl $0x18, %ecx
xorl %edi, %edi
movl %edx, %r8d
shrl %cl, %r8d
movb %r8b, 0x4(%rsi,%rdi)
incq %rdi
addl $-0x8, %ecx
cmpq $0x4, %rdi
jne 0x1e89
movzwl 0x2(%rsi), %ecx
rolw $0x8, %cx
movzwl %cx, %ecx
movw $0x0, 0x4(%rsi,%rcx)
movzwl 0xc3(%rsp), %ecx
rolw $0x8, %cx
movzwl %cx, %ecx
xorl %edx, %edx
xorl %edi, %edi
movq %rax, %rsi
testb %dil, %dil
je 0x1efa
movzbl %dil, %r8d
movq %rax, %rsi
movq %rsi, %r9
subq %r15, %r9
cmpq %rcx, %r9
jg 0x1f0d
movzwl 0x2(%rsi), %r9d
rolw $0x8, %r9w
movzwl %r9w, %r9d
addq %r9, %rsi
addq $0x4, %rsi
decw %r8w
jne 0x1ed4
movq %rsi, %r8
subq %r15, %r8
addq $-0x4, %r8
cmpq %rcx, %r8
cmovgeq %rdx, %rsi
jmp 0x1f0f
xorl %esi, %esi
testq %rsi, %rsi
je 0x1f22
movb 0x1(%rsi), %r8b
incb %dil
orb (%rsi), %r8b
jne 0x1ec5
jmp 0x1f24
xorl %esi, %esi
movl %esi, %eax
subl %r15d, %eax
addl $-0x4, %eax
rolw $0x8, %ax
leaq 0xc0(%rsp), %rdi
movw %ax, 0x3(%rdi)
subq %rdi, %rsi
callq 0x1c3d
leaq 0xc5(%rsp), %rbx
xorl %eax, %eax
movl %eax, 0x14(%rsp)
movl $0x5, %edi
callq 0x10b0
movq %rax, %r12
xorps %xmm0, %xmm0
movaps %xmm0, 0x40(%rsp)
movaps %xmm0, 0x50(%rsp)
movaps %xmm0, 0x60(%rsp)
movaps %xmm0, 0x70(%rsp)
movaps %xmm0, 0x80(%rsp)
movaps %xmm0, 0x90(%rsp)
movaps %xmm0, 0xa0(%rsp)
movaps %xmm0, 0xb0(%rsp)
movl $0x1, %eax
movq %rax, 0x40(%rsp)
movq %rax, 0x30(%rsp)
movq $0x0, 0x38(%rsp)
movl $0x1, %r14d
movl $0x1, %edi
leaq 0x40(%rsp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
leaq 0x30(%rsp), %r8
callq 0x10a0
testl %eax, %eax
js 0x20fc
je 0x2436
movl $0x5, %esi
movq %r12, %rdi
callq 0x1bbc
testq %rax, %rax
jle 0x20fc
movzwl 0x3(%r12), %eax
rolw $0x8, %ax
movzwl %ax, %esi
addq $0x5, %rsi
movq %r12, %rdi
callq 0x10c0
movq %rax, %r13
leaq 0x5(%rax), %r12
movzwl 0x3(%rax), %eax
rolw $0x8, %ax
movzwl %ax, %esi
movq %r12, %rdi
callq 0x1bbc
testq %rax, %rax
jle 0x20fc
cmpb $0x1, (%r13)
jne 0x31ba
movq %r13, %rsi
incq %rsi
movzwl 0x3(%r13), %eax
rolw $0x8, %ax
movzwl %ax, %edx
cmpw $0x4, %dx
movq %r13, 0x8(%rsp)
jb 0x206f
movzwl 0x7(%r13), %eax
rolw $0x8, %ax
movzwl %ax, %edi
leaq (%r12,%rdi), %rax
subq %rsi, %rax
movq %r12, %rcx
cmpq %rdx, %rax
jle 0x2073
xorl %eax, %eax
jmp 0x20a0
addq %rdi, %rcx
addq $0x4, %rcx
movq %rcx, %rax
subq %rsi, %rax
cmpq %rdx, %rax
jg 0x209c
movzwl 0x2(%rcx), %edi
rolw $0x8, %di
movzwl %di, %edi
leaq (%rcx,%rdi), %r8
subq %rsi, %r8
cmpq %rdx, %r8
jle 0x2073
addq $-0x4, %rax
cmpq %rdx, %rax
jne 0x319e
movq 0x8(%rsp), %rax
movzwl 0x1(%rax), %ecx
rolw $0x8, %cx
movzwl %cx, %eax
movw $0x0, 0xc4(%rsp)
movl $0x0, 0xc0(%rsp)
cmpl $0x100, %eax            # imm = 0x100
jle 0x2103
leal -0x101(%rax), %edi
cmpl $0x5, %edi
ja 0x212e
leaq 0x1f3d(%rip), %r8       # 0x4024
movslq (%r8,%rdi,4), %rdi
addq %r8, %rdi
jmpq *%rdi
leaq 0x2039(%rip), %rdi      # 0x4130
jmp 0x218a
xorl %ecx, %ecx
jmp 0x28dc
leal -0x1(%rax), %r8d
leaq 0xc0(%rsp), %rdi
cmpl $0x4, %r8d
ja 0x218a
leaq 0x1ef4(%rip), %r9       # 0x4010
movslq (%r9,%r8,4), %rdi
addq %r9, %rdi
jmpq *%rdi
leaq 0x1f8e(%rip), %rdi      # 0x40ba
jmp 0x218a
cmpl $0x201, %eax            # imm = 0x201
je 0x2171
leaq 0xc0(%rsp), %rdi
cmpl $0x202, %eax            # imm = 0x202
jne 0x218a
leaq 0x2055(%rip), %rdi      # 0x41a0
jmp 0x218a
leaq 0x1f9c(%rip), %rdi      # 0x40f0
jmp 0x218a
leaq 0x1f73(%rip), %rdi      # 0x40d0
jmp 0x218a
leaq 0x1eda(%rip), %rdi      # 0x4040
jmp 0x218a
leaq 0x1ef1(%rip), %rdi      # 0x4060
jmp 0x218a
leaq 0x1ff8(%rip), %rdi      # 0x4170
jmp 0x218a
leaq 0x1fcf(%rip), %rdi      # 0x4150
jmp 0x218a
leaq 0x1f86(%rip), %rdi      # 0x4110
movzwl (%rdi), %r8d
testw %r8w, %r8w
je 0x2236
xorl %r10d, %r10d
xorl %r9d, %r9d
xorl %r11d, %r11d
movq %r12, %rbp
testw %r11w, %r11w
je 0x21d6
movl %r10d, %r13d
movq %r12, %rbp
movq %rbp, %r14
subq %rsi, %r14
cmpq %rdx, %r14
jg 0x21ef
movzwl 0x2(%rbp), %r14d
rolw $0x8, %r14w
movzwl %r14w, %r14d
addq %r14, %rbp
addq $0x4, %rbp
incw %r13w
jne 0x21b0
movq %rbp, %r14
subq %rsi, %r14
addq $-0x4, %r14
cmpq %rdx, %r14
movl $0x0, %r14d
cmovgeq %r14, %rbp
jmp 0x21f1
xorl %ebp, %ebp
testq %rbp, %rbp
je 0x2214
incl %r11d
movzwl (%rbp), %ebp
rolw $0x8, %bp
xorl %r14d, %r14d
cmpw %r8w, %bp
sete %r14b
addl %r14d, %r9d
decl %r10d
jmp 0x21a1
cmpw 0x2(%rdi), %r9w
jb 0x3179
leaq 0x6(%rdi), %r8
cmpw 0x4(%rdi), %r9w
movq %r8, %rdi
jbe 0x218a
jmp 0x3179
xorl %edi, %edi
xorl %r8d, %r8d
movq %r12, %r9
testw %r8w, %r8w
je 0x2270
movl %edi, %r10d
movq %r12, %r9
movq %r9, %r11
subq %rsi, %r11
cmpq %rdx, %r11
jg 0x2289
movzwl 0x2(%r9), %r11d
rolw $0x8, %r11w
movzwl %r11w, %r11d
addq %r11, %r9
addq $0x4, %r9
incw %r10w
jne 0x224a
movq %r9, %r10
subq %rsi, %r10
addq $-0x4, %r10
cmpq %rdx, %r10
movl $0x0, %r10d
cmovgeq %r10, %r9
jmp 0x228f
xorl %r9d, %r9d
xorl %r10d, %r10d
testq %r9, %r9
je 0x22e3
movzwl (%r9), %r10d
movzwl 0x2(%r9), %r9d
rolw $0x8, %r10w
movzwl %r10w, %r10d
rolw $0x8, %r9w
cmpw $0x19, %r10w
ja 0x22c5
leaq 0x1f07(%rip), %r11      # 0x41c0
cmpw (%r11,%r10,2), %r9w
jae 0x22d9
jmp 0x3179
cmpl $0x7000, %r10d          # imm = 0x7000
jne 0x22d9
cmpw $0x2, %r9w
jb 0x3179
incl %r8d
decl %edi
jmp 0x223b
movb 0x3dce(%rip), %dil      # 0x60b8
testb %dil, %dil
jne 0x22f9
cmpw $0x3, %cx
jne 0x31ac
cmpl $0x102, %eax            # imm = 0x102
jg 0x237a
cmpl $0x4, %eax
jg 0x30ec
cmpl $0x3, %eax
jne 0x3101
xorl %ecx, %ecx
movq %r12, %rax
testb %cl, %cl
je 0x2348
movzbl %cl, %r8d
movq %r12, %rax
movq %rax, %r9
subq %rsi, %r9
cmpq %rdx, %r9
jg 0x235b
movzwl 0x2(%rax), %r9d
rolw $0x8, %r9w
movzwl %r9w, %r9d
addq %r9, %rax
addq $0x4, %rax
decw %r8w
jne 0x2322
movq %rax, %r8
subq %rsi, %r8
addq $-0x4, %r8
cmpq %rdx, %r8
cmovgeq %r10, %rax
jmp 0x235d
xorl %eax, %eax
testq %rax, %rax
je 0x23f6
movzwl (%rax), %r8d
rolw $0x8, %r8w
incb %cl
cmpw $0xe, %r8w
jne 0x2314
jmp 0x23f8
cmpl $0x103, %eax            # imm = 0x103
je 0x28ec
cmpl $0x202, %eax            # imm = 0x202
jne 0x30d8
xorl %eax, %eax
movq %r12, %rdi
testb %al, %al
je 0x23c4
movzbl %al, %ecx
movq %r12, %rdi
movq %rdi, %r8
subq %rsi, %r8
cmpq %rdx, %r8
jg 0x23d7
movzwl 0x2(%rdi), %r8d
rolw $0x8, %r8w
movzwl %r8w, %r8d
addq %r8, %rdi
addq $0x4, %rdi
decw %cx
jne 0x239f
movq %rdi, %rcx
subq %rsi, %rcx
addq $-0x4, %rcx
cmpq %rdx, %rcx
cmovgeq %r10, %rdi
jmp 0x23d9
xorl %edi, %edi
testq %rdi, %rdi
je 0x2a3d
movzwl (%rdi), %ecx
rolw $0x8, %cx
incb %al
cmpw $0xe, %cx
jne 0x2392
jmp 0x2a3f
xorl %eax, %eax
addq $0x4, %rax
movl $0x8, %ecx
xorl %r8d, %r8d
movzbl (%rax), %r9d
shll %cl, %r9d
orl %r9d, %r8d
incq %rax
addq $-0x8, %rcx
je 0x2404
movzwl 0x3c92(%rip), %eax      # 0x60b0
cmpw %ax, %r8w
jne 0x31d0
testb %dil, %dil
je 0x2f95
movq 0x8(%rsp), %r12
movq %r12, %rdi
callq 0x1030
movb $0x1, %cl
cmpb $0x1, 0x3c71(%rip)      # 0x60b8
jne 0x28d7
xorl %edi, %edi
callq 0x1090
movq %rax, %rcx
movslq 0x3c5e(%rip), %r14      # 0x60bc
cmpl 0x3c3b(%rip), %r14d     # 0x60a0
jl 0x2c4a
movq 0x3c36(%rip), %rax      # 0x60a8
cmpq %rcx, %rax
jge 0x28ce
movq %rcx, 0x18(%rsp)
xorl %r9d, %r9d
incq %rax
movq %rax, 0x3c1b(%rip)      # 0x60a8
movslq 0x3c10(%rip), %rcx      # 0x60a4
cqto
idivq %rcx
cmpl $0x0, 0x3c1c(%rip)      # 0x60bc
jle 0x28bc
movq %rdx, %rcx
xorl %esi, %esi
movq %rdx, 0x20(%rsp)
movq 0x3c11(%rip), %rax      # 0x60c8
movq (%rax,%rsi,8), %rax
movq %rax, 0x8(%rsp)
cmpb $0x0, 0x6(%rax)
jne 0x28a9
movl %esi, %eax
cltd
idivl 0x3bd1(%rip)            # 0x60a4
cmpl %ecx, %edx
jne 0x28a9
movq %rsi, 0x28(%rsp)
movl $0x3010201, 0xc0(%rsp) # imm = 0x3010201
movb $0x0, 0xc6(%rsp)
movw $0xfc, 0xc4(%rsp)
movzwl 0x3bac(%rip), %eax      # 0x60b0
xorl %ecx, %ecx
movq %rbx, %rdx
testb %cl, %cl
je 0x2539
movzbl %cl, %esi
movq %rbx, %rdx
movq %rdx, %rdi
subq %r15, %rdi
cmpq $0x3fc, %rdi            # imm = 0x3FC
jg 0x2550
movzwl 0x2(%rdx), %edi
rolw $0x8, %di
movzwl %di, %edi
addq %rdi, %rdx
addq $0x4, %rdx
decw %si
jne 0x2513
movq %rdx, %rsi
subq %r15, %rsi
addq $-0x4, %rsi
cmpq $0x3fc, %rsi            # imm = 0x3FC
cmovgeq %r9, %rdx
jmp 0x2552
xorl %edx, %edx
testq %rdx, %rdx
je 0x2564
movb 0x1(%rdx), %sil
incb %cl
orb (%rdx), %sil
jne 0x2506
jmp 0x2566
xorl %edx, %edx
movq %rdx, %rcx
subq %r15, %rcx
addq $0x4, %rcx
cmpq $0x3fc, %rcx            # imm = 0x3FC
jg 0x25aa
movl $0x2000e00, (%rdx)      # imm = 0x2000E00
leaq 0x4(%rdx), %rsi
movl $0x8, %ecx
movl %eax, %edi
shrl %cl, %edi
movb %dil, (%rsi)
incq %rsi
addq $-0x8, %rcx
je 0x2588
movzwl 0x2(%rdx), %eax
rolw $0x8, %ax
movzwl %ax, %eax
movw $0x0, 0x4(%rdx,%rax)
movq 0x8(%rsp), %rax
movzwl (%rax), %eax
movzwl 0xc3(%rsp), %ecx
rolw $0x8, %cx
movzwl %cx, %ecx
xorl %esi, %esi
movq %rbx, %rdx
testb %sil, %sil
je 0x25f7
movzbl %sil, %edi
movq %rbx, %rdx
movq %rdx, %r8
subq %r15, %r8
cmpq %rcx, %r8
jg 0x260a
movzwl 0x2(%rdx), %r8d
rolw $0x8, %r8w
movzwl %r8w, %r8d
addq %r8, %rdx
addq $0x4, %rdx
decw %di
jne 0x25d2
movq %rdx, %rdi
subq %r15, %rdi
addq $-0x4, %rdi
cmpq %rcx, %rdi
cmovgeq %r9, %rdx
jmp 0x260c
xorl %edx, %edx
testq %rdx, %rdx
je 0x261f
movb 0x1(%rdx), %dil
incb %sil
orb (%rdx), %dil
jne 0x25c3
jmp 0x2621
xorl %edx, %edx
movq %rdx, %rsi
subq %r15, %rsi
addq $0x4, %rsi
cmpq %rcx, %rsi
jg 0x2661
movl $0x2000f00, (%rdx)      # imm = 0x2000F00
leaq 0x4(%rdx), %rsi
movl $0x8, %ecx
movl %eax, %edi
shrl %cl, %edi
movb %dil, (%rsi)
incq %rsi
addq $-0x8, %rcx
je 0x263f
movzwl 0x2(%rdx), %eax
rolw $0x8, %ax
movzwl %ax, %eax
movw $0x0, 0x4(%rdx,%rax)
movq 0x8(%rsp), %rax
movzwl 0x4(%rax), %eax
movzwl 0xc3(%rsp), %ecx
rolw $0x8, %cx
movzwl %cx, %ecx
xorl %esi, %esi
movq %rbx, %rdx
testb %sil, %sil
je 0x26af
movzbl %sil, %edi
movq %rbx, %rdx
movq %rdx, %r8
subq %r15, %r8
cmpq %rcx, %r8
jg 0x26c2
movzwl 0x2(%rdx), %r8d
rolw $0x8, %r8w
movzwl %r8w, %r8d
addq %r8, %rdx
addq $0x4, %rdx
decw %di
jne 0x268a
movq %rdx, %rdi
subq %r15, %rdi
addq $-0x4, %rdi
cmpq %rcx, %rdi
cmovgeq %r9, %rdx
jmp 0x26c4
xorl %edx, %edx
testq %rdx, %rdx
je 0x26d7
movb 0x1(%rdx), %dil
incb %sil
orb (%rdx), %dil
jne 0x267b
jmp 0x26d9
xorl %edx, %edx
movq %rdx, %rsi
subq %r15, %rsi
addq $0x4, %rsi
cmpq %rcx, %rsi
jg 0x2719
movl $0x2001200, (%rdx)      # imm = 0x2001200
leaq 0x4(%rdx), %rsi
movl $0x8, %ecx
movl %eax, %edi
shrl %cl, %edi
movb %dil, (%rsi)
incq %rsi
addq $-0x8, %rcx
je 0x26f7
movzwl 0x2(%rdx), %eax
rolw $0x8, %ax
movzwl %ax, %eax
movw $0x0, 0x4(%rdx,%rax)
movzbl 0x39a1(%rip), %eax      # 0x60c1
testl %eax, %eax
je 0x280e
movl $0x1, %r13d
movq 0x8(%rsp), %rcx
movzwl 0x4(%rcx), %ecx
addl %r13d, %ecx
movzbl 0x3980(%rip), %r12d     # 0x60c2
subl %eax, %r12d
addl %ecx, %r12d
movl %r12d, %ebp
shrl $0x8, %ebp
callq 0x1100
movl %eax, %r14d
callq 0x1100
movzwl 0xc3(%rsp), %ecx
rolw $0x8, %cx
movzwl %cx, %ecx
xorl %esi, %esi
xorl %r9d, %r9d
movq %rbx, %rdx
testb %sil, %sil
je 0x27a3
movzbl %sil, %edi
movq %rbx, %rdx
movq %rdx, %r8
subq %r15, %r8
cmpq %rcx, %r8
jg 0x27b6
movzwl 0x2(%rdx), %r8d
rolw $0x8, %r8w
movzwl %r8w, %r8d
addq %r8, %rdx
addq $0x4, %rdx
decw %di
jne 0x277e
movq %rdx, %rdi
subq %r15, %rdi
addq $-0x4, %rdi
cmpq %rcx, %rdi
cmovgeq %r9, %rdx
jmp 0x27b8
xorl %edx, %edx
testq %rdx, %rdx
je 0x27cb
movb 0x1(%rdx), %dil
incb %sil
orb (%rdx), %dil
jne 0x276f
jmp 0x27cd
xorl %edx, %edx
movq %rdx, %rsi
subq %r15, %rsi
addq $0xc, %rsi
cmpq %rcx, %rsi
jg 0x27f7
movl $0xa001400, (%rdx)      # imm = 0xA001400
movb %bpl, 0x4(%rdx)
movb %r12b, 0x5(%rdx)
movl %r14d, 0x6(%rdx)
movl %eax, 0xa(%rdx)
movw $0x0, 0xe(%rdx)
leal 0x1(%r13), %ecx
movzbl 0x38bf(%rip), %eax      # 0x60c1
cmpl %eax, %r13d
movl %ecx, %r13d
jb 0x272e
movzwl 0xc3(%rsp), %eax
rolw $0x8, %ax
movzwl %ax, %eax
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %rbx, %rsi
testb %cl, %cl
je 0x2851
movzbl %cl, %edx
movq %rbx, %rsi
movq %rsi, %rdi
subq %r15, %rdi
cmpq %rax, %rdi
jg 0x2864
movzwl 0x2(%rsi), %edi
rolw $0x8, %di
movzwl %di, %edi
addq %rdi, %rsi
addq $0x4, %rsi
decw %dx
jne 0x282f
movq %rsi, %rdx
subq %r15, %rdx
addq $-0x4, %rdx
cmpq %rax, %rdx
cmovgeq %r8, %rsi
jmp 0x2866
xorl %esi, %esi
testq %rsi, %rsi
je 0x2876
movb 0x1(%rsi), %dl
incb %cl
orb (%rsi), %dl
jne 0x2822
jmp 0x2878
xorl %esi, %esi
movl %esi, %eax
subl %r15d, %eax
addl $-0x4, %eax
rolw $0x8, %ax
movw %ax, 0xc3(%rsp)
leaq 0xc0(%rsp), %rdi
subq %rdi, %rsi
callq 0x1c3d
xorl %r9d, %r9d
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %rsi
incq %rsi
movslq 0x3809(%rip), %rax      # 0x60bc
cmpq %rax, %rsi
jl 0x24b0
movq 0x37e5(%rip), %rax      # 0x60a8
cmpq 0x18(%rsp), %rax
jl 0x2483
movl 0x14(%rsp), %r14d
movb $0x1, %cl
jmp 0x28dc
movl 0x14(%rsp), %r14d
movl %r14d, %eax
testb %cl, %cl
jne 0x1f4e
jmp 0x3164
xorl %eax, %eax
movq %r12, %rdi
testb %al, %al
je 0x2920
movzbl %al, %ecx
movq %r12, %rdi
movq %rdi, %r8
subq %rsi, %r8
cmpq %rdx, %r8
jg 0x2933
movzwl 0x2(%rdi), %r8d
rolw $0x8, %r8w
movzwl %r8w, %r8d
addq %r8, %rdi
addq $0x4, %rdi
decw %cx
jne 0x28fb
movq %rdi, %rcx
subq %rsi, %rcx
addq $-0x4, %rcx
cmpq %rdx, %rcx
cmovgeq %r10, %rdi
jmp 0x2935
xorl %edi, %edi
testq %rdi, %rdi
je 0x294b
movzwl (%rdi), %ecx
rolw $0x8, %cx
incb %al
cmpw $0xe, %cx
jne 0x28ee
jmp 0x294d
xorl %edi, %edi
addq $0x4, %rdi
movl $0x8, %ecx
xorl %eax, %eax
movzbl (%rdi), %r8d
shll %cl, %r8d
orl %r8d, %eax
incq %rdi
addq $-0x8, %rcx
je 0x2958
xorl %ecx, %ecx
movq %r12, %rdi
testb %cl, %cl
je 0x29a1
movzbl %cl, %r8d
movq %r12, %rdi
movq %rdi, %r9
subq %rsi, %r9
cmpq %rdx, %r9
jg 0x29b4
movzwl 0x2(%rdi), %r9d
rolw $0x8, %r9w
movzwl %r9w, %r9d
addq %r9, %rdi
addq $0x4, %rdi
decw %r8w
jne 0x297b
movq %rdi, %r8
subq %rsi, %r8
addq $-0x4, %r8
cmpq %rdx, %r8
cmovgeq %r10, %rdi
jmp 0x29b6
xorl %edi, %edi
testq %rdi, %rdi
je 0x29cf
movzwl (%rdi), %r8d
rolw $0x8, %r8w
incb %cl
cmpw $0xf, %r8w
jne 0x296d
jmp 0x29d1
xorl %edi, %edi
addq $0x4, %rdi
movl $0x8, %ecx
xorl %edx, %edx
movzbl (%rdi), %esi
shll %cl, %esi
orl %esi, %edx
incq %rdi
addq $-0x8, %rcx
je 0x29dc
cmpw 0x36bd(%rip), %ax       # 0x60b0
movq 0x8(%rsp), %r12
jne 0x33b4
movslq 0x36b7(%rip), %rax      # 0x60bc
testq %rax, %rax
jle 0x2a29
movq 0x36b7(%rip), %rcx      # 0x60c8
xorl %esi, %esi
movq (%rcx,%rsi,8), %rdi
testq %rdi, %rdi
je 0x2a21
cmpw %dx, (%rdi)
je 0x2a2b
incq %rsi
cmpq %rsi, %rax
jne 0x2a13
xorl %edi, %edi
testq %rdi, %rdi
je 0x33a7
movb $0x0, 0x6(%rdi)
jmp 0x2436
xorl %edi, %edi
addq $0x4, %rdi
movl $0x8, %ecx
xorl %eax, %eax
movzbl (%rdi), %r8d
shll %cl, %r8d
orl %r8d, %eax
incq %rdi
addq $-0x8, %rcx
je 0x2a4a
xorl %ecx, %ecx
movq %r12, %rdi
testb %cl, %cl
je 0x2a93
movzbl %cl, %r8d
movq %r12, %rdi
movq %rdi, %r9
subq %rsi, %r9
cmpq %rdx, %r9
jg 0x2aa6
movzwl 0x2(%rdi), %r9d
rolw $0x8, %r9w
movzwl %r9w, %r9d
addq %r9, %rdi
addq $0x4, %rdi
decw %r8w
jne 0x2a6d
movq %rdi, %r8
subq %rsi, %r8
addq $-0x4, %r8
cmpq %rdx, %r8
cmovgeq %r10, %rdi
jmp 0x2aa8
xorl %edi, %edi
testq %rdi, %rdi
je 0x2ac1
movzwl (%rdi), %r8d
rolw $0x8, %r8w
incb %cl
cmpw $0xf, %r8w
jne 0x2a5f
jmp 0x2ac3
xorl %edi, %edi
addq $0x4, %rdi
movl $0x8, %ecx
xorl %r8d, %r8d
movzbl (%rdi), %r9d
shll %cl, %r9d
orl %r9d, %r8d
incq %rdi
addq $-0x8, %rcx
je 0x2acf
cmpw 0x35c7(%rip), %ax       # 0x60b0
jne 0x3118
movslq 0x35c6(%rip), %rcx      # 0x60bc
testq %rcx, %rcx
jle 0x2b1c
movq 0x35c6(%rip), %rdi      # 0x60c8
xorl %r9d, %r9d
movq (%rdi,%r9,8), %rax
testq %rax, %rax
je 0x2b14
cmpw %r8w, (%rax)
je 0x2b1e
incq %r9
cmpq %r9, %rcx
jne 0x2b05
xorl %eax, %eax
testq %rax, %rax
je 0x312a
xorl %ecx, %ecx
movq %r12, %rdi
testb %cl, %cl
je 0x2b5d
movzbl %cl, %r8d
movq %r12, %rdi
movq %rdi, %r9
subq %rsi, %r9
cmpq %rdx, %r9
jg 0x2b70
movzwl 0x2(%rdi), %r9d
rolw $0x8, %r9w
movzwl %r9w, %r9d
addq %r9, %rdi
addq $0x4, %rdi
decw %r8w
jne 0x2b37
movq %rdi, %r8
subq %rsi, %r8
addq $-0x4, %r8
cmpq %rdx, %r8
cmovgeq %r10, %rdi
jmp 0x2b72
xorl %edi, %edi
testq %rdi, %rdi
je 0x2b8b
movzwl (%rdi), %r8d
rolw $0x8, %r8w
incb %cl
cmpw $0x12, %r8w
jne 0x2b29
jmp 0x2b8d
xorl %edi, %edi
addq $0x4, %rdi
movl $0x8, %ecx
xorl %edx, %edx
movzbl (%rdi), %esi
shll %cl, %esi
orl %esi, %edx
incq %rdi
addq $-0x8, %rcx
je 0x2b98
cmpw 0x4(%rax), %dx
jne 0x3138
cmpb $0x0, 0x3507(%rip)      # 0x60c0
jne 0x2431
xorl %ecx, %ecx
movq %r12, %rax
testb %cl, %cl
je 0x2be5
movzbl %cl, %edx
movq %r12, %rax
movzwl 0x2(%rax), %esi
rolw $0x8, %si
movzwl %si, %esi
addq %rsi, %rax
addq $0x4, %rax
decw %dx
jne 0x2bce
movzwl (%rax), %edx
rolw $0x8, %dx
incb %cl
cmpw $0x15, %dx
jne 0x2bc1
movzwl 0x2(%rax), %edi
rolw $0x8, %di
cmpw $0x2, %di
movq 0x8(%rsp), %r12
jbe 0x3142
movzbl 0x5(%rax), %edx
movl %edx, %ecx
andl $0xf, %ecx
shll $0x8, %ecx
movzbl 0x6(%rax), %eax
leal (%rcx,%rax), %esi
addl $0x3, %esi
cmpw %si, %di
jne 0x314c
orl %eax, %ecx
testb %dl, %dl
setns %al
cmpw $0x9, %cx
setae %cl
orb %al, %cl
jne 0x2436
callq 0x16e7
jmp 0x2436
movq %rcx, %rbp
movl $0x8, %edi
callq 0x10b0
movq %rax, %r12
movq 0x3467(%rip), %rdi      # 0x60c8
leaq 0x1(%r14), %r13
movl %r13d, 0x3450(%rip)     # 0x60bc
leaq 0x8(,%r14,8), %rsi
callq 0x10c0
movq %rax, 0x3448(%rip)      # 0x60c8
movq %r12, (%rax,%r14,8)
movw %r13w, (%r12)
movw %r13w, 0x2(%r12)
movw $0xff, 0x4(%r12)
movb $0x1, 0x6(%r12)
movl $0x3010101, 0xc0(%rsp) # imm = 0x3010101
movb $0x0, 0xc6(%rsp)
movw $0xf7, 0xc4(%rsp)
movzwl 0x33ef(%rip), %eax      # 0x60b0
xorl %ecx, %ecx
leaq 0xc5(%rsp), %r9
xorl %r10d, %r10d
movq %r9, %rdx
testb %cl, %cl
je 0x2d01
movzbl %cl, %esi
movq %r9, %rdx
movq %rdx, %rdi
subq %r15, %rdi
cmpq $0x3f7, %rdi            # imm = 0x3F7
jg 0x2d18
movzwl 0x2(%rdx), %edi
rolw $0x8, %di
movzwl %di, %edi
addq %rdi, %rdx
addq $0x4, %rdx
decw %si
jne 0x2cdb
movq %rdx, %rsi
subq %r15, %rsi
addq $-0x4, %rsi
cmpq $0x3f7, %rsi            # imm = 0x3F7
cmovgeq %r10, %rdx
jmp 0x2d1a
xorl %edx, %edx
testq %rdx, %rdx
je 0x2d2c
movb 0x1(%rdx), %sil
incb %cl
orb (%rdx), %sil
jne 0x2cce
jmp 0x2d2e
xorl %edx, %edx
movq %rdx, %rcx
subq %r15, %rcx
addq $0x4, %rcx
cmpq $0x3f7, %rcx            # imm = 0x3F7
jg 0x2d72
movl $0x2000e00, (%rdx)      # imm = 0x2000E00
leaq 0x4(%rdx), %rsi
movl $0x8, %ecx
movl %eax, %edi
shrl %cl, %edi
movb %dil, (%rsi)
incq %rsi
addq $-0x8, %rcx
je 0x2d50
movzwl 0x2(%rdx), %eax
rolw $0x8, %ax
movzwl %ax, %eax
movw $0x0, 0x4(%rdx,%rax)
movzwl (%r12), %eax
movzwl 0xc3(%rsp), %ecx
rolw $0x8, %cx
movzwl %cx, %ecx
xorl %esi, %esi
movq %r9, %rdx
testb %sil, %sil
je 0x2dbc
movzbl %sil, %edi
movq %r9, %rdx
movq %rdx, %r8
subq %r15, %r8
cmpq %rcx, %r8
jg 0x2dcf
movzwl 0x2(%rdx), %r8d
rolw $0x8, %r8w
movzwl %r8w, %r8d
addq %r8, %rdx
addq $0x4, %rdx
decw %di
jne 0x2d97
movq %rdx, %rdi
subq %r15, %rdi
addq $-0x4, %rdi
cmpq %rcx, %rdi
cmovgeq %r10, %rdx
jmp 0x2dd1
xorl %edx, %edx
testq %rdx, %rdx
je 0x2de4
movb 0x1(%rdx), %dil
incb %sil
orb (%rdx), %dil
jne 0x2d88
jmp 0x2de6
xorl %edx, %edx
movq %rdx, %rsi
subq %r15, %rsi
addq $0x4, %rsi
cmpq %rcx, %rsi
jg 0x2e26
movl $0x2000f00, (%rdx)      # imm = 0x2000F00
leaq 0x4(%rdx), %rsi
movl $0x8, %ecx
movl %eax, %edi
shrl %cl, %edi
movb %dil, (%rsi)
incq %rsi
addq $-0x8, %rcx
je 0x2e04
movzwl 0x2(%rdx), %eax
rolw $0x8, %ax
movzwl %ax, %eax
movw $0x0, 0x4(%rdx,%rax)
movl 0x3278(%rip), %eax      # 0x60a4
addl %eax, %eax
leal (%rax,%rax,4), %eax
movzwl 0xc3(%rsp), %ecx
rolw $0x8, %cx
movzwl %cx, %ecx
xorl %esi, %esi
movq %r9, %rdx
testb %sil, %sil
je 0x2e76
movzbl %sil, %edi
movq %r9, %rdx
movq %rdx, %r8
subq %r15, %r8
cmpq %rcx, %r8
jg 0x2e89
movzwl 0x2(%rdx), %r8d
rolw $0x8, %r8w
movzwl %r8w, %r8d
addq %r8, %rdx
addq $0x4, %rdx
decw %di
jne 0x2e51
movq %rdx, %rdi
subq %r15, %rdi
addq $-0x4, %rdi
cmpq %rcx, %rdi
cmovgeq %r10, %rdx
jmp 0x2e8b
xorl %edx, %edx
testq %rdx, %rdx
je 0x2e9e
movb 0x1(%rdx), %dil
incb %sil
orb (%rdx), %dil
jne 0x2e42
jmp 0x2ea0
xorl %edx, %edx
movq %rdx, %rsi
subq %r15, %rsi
addq $0x4, %rsi
cmpq %rcx, %rsi
jg 0x2ee5
movl $0x2001000, (%rdx)      # imm = 0x2001000
andl $0xfffe, %eax           # imm = 0xFFFE
leaq 0x4(%rdx), %rsi
movl $0x8, %ecx
movl %eax, %edi
shrl %cl, %edi
movb %dil, (%rsi)
incq %rsi
addq $-0x8, %rcx
je 0x2ec3
movzwl 0x2(%rdx), %eax
rolw $0x8, %ax
movzwl %ax, %eax
movw $0x0, 0x4(%rdx,%rax)
movzwl 0xc3(%rsp), %eax
rolw $0x8, %ax
movzwl %ax, %eax
xorl %ecx, %ecx
movq %r9, %rsi
testb %cl, %cl
je 0x2f25
movzbl %cl, %edx
movq %r9, %rsi
movq %rsi, %rdi
subq %r15, %rdi
cmpq %rax, %rdi
jg 0x2f38
movzwl 0x2(%rsi), %edi
rolw $0x8, %di
movzwl %di, %edi
addq %rdi, %rsi
addq $0x4, %rsi
decw %dx
jne 0x2f03
movq %rsi, %rdx
subq %r15, %rdx
addq $-0x4, %rdx
cmpq %rax, %rdx
cmovgeq %r10, %rsi
jmp 0x2f3a
xorl %esi, %esi
testq %rsi, %rsi
je 0x2f4a
movb 0x1(%rsi), %dl
incb %cl
orb (%rsi), %dl
jne 0x2ef6
jmp 0x2f4c
xorl %esi, %esi
movl %esi, %eax
subl %r15d, %eax
addl $-0x4, %eax
rolw $0x8, %ax
movw %ax, 0xc3(%rsp)
leaq 0xc0(%rsp), %rdi
subq %rdi, %rsi
callq 0x1c3d
movq 0x3081(%rip), %rax      # 0x5ff8
movq (%rax), %rdi
movzwl (%r12), %edx
leaq 0x14ca(%rip), %rsi      # 0x4450
xorl %eax, %eax
callq 0x1080
movq %rbp, %rcx
jmp 0x246b
xorl %ecx, %ecx
xorl %r10d, %r10d
movq %r12, %rdi
testb %cl, %cl
je 0x2fce
movzbl %cl, %r8d
movq %r12, %rdi
movq %rdi, %r9
subq %rsi, %r9
cmpq %rdx, %r9
jg 0x2fe1
movzwl 0x2(%rdi), %r9d
rolw $0x8, %r9w
movzwl %r9w, %r9d
addq %r9, %rdi
addq $0x4, %rdi
decw %r8w
jne 0x2fa8
movq %rdi, %r8
subq %rsi, %r8
addq $-0x4, %r8
cmpq %rdx, %r8
cmovgeq %r10, %rdi
jmp 0x2fe3
xorl %edi, %edi
testq %rdi, %rdi
je 0x2ffc
movzwl (%rdi), %r8d
rolw $0x8, %r8w
incb %cl
cmpw $0x8, %r8w
jne 0x2f9a
jmp 0x2ffe
xorl %edi, %edi
addq $0x4, %rdi
movl $0x8, %ecx
xorl %r8d, %r8d
movzbl (%rdi), %r9d
shll %cl, %r9d
orl %r9d, %r8d
incq %rdi
addq $-0x8, %rcx
je 0x300a
movzwl %r8w, %ecx
cmpl %ecx, 0x3079(%rip)      # 0x60a0
jg 0x32bd
xorl %ecx, %ecx
movq %r12, %rdi
testb %cl, %cl
je 0x3063
movzbl %cl, %r8d
movq %r12, %rdi
movq %rdi, %r9
subq %rsi, %r9
cmpq %rdx, %r9
jg 0x3076
movzwl 0x2(%rdi), %r9d
rolw $0x8, %r9w
movzwl %r9w, %r9d
addq %r9, %rdi
addq $0x4, %rdi
decw %r8w
jne 0x303d
movq %rdi, %r8
subq %rsi, %r8
addq $-0x4, %r8
cmpq %rdx, %r8
cmovgeq %r10, %rdi
jmp 0x3078
xorl %edi, %edi
testq %rdi, %rdi
je 0x3091
movzwl (%rdi), %r8d
rolw $0x8, %r8w
incb %cl
cmpw $0x9, %r8w
jne 0x302f
jmp 0x3093
xorl %edi, %edi
addq $0x4, %rdi
movl $0x8, %ecx
xorl %r8d, %r8d
movzbl (%rdi), %r9d
shll %cl, %r9d
orl %r9d, %r8d
incq %rdi
addq $-0x8, %rcx
je 0x309f
movzwl %r8w, %ecx
movl 0x2fe8(%rip), %edi      # 0x60a4
addl %edi, %edi
leal (%rdi,%rdi,4), %edi
cmpl %ecx, %edi
jl 0x32c5
movq %r12, %rdi
movl %eax, %ecx
callq 0x1977
jmp 0x2431
cmpl $0x106, %eax            # imm = 0x106
jne 0x310a
movq %r12, %rdi
callq 0x172a
jmp 0x2431
cmpl $0x5, %eax
je 0x3246
cmpl $0x102, %eax            # imm = 0x102
jne 0x310a
jmp 0x31d9
cmpl $0x2, %eax
je 0x324e
movzwl 0x2f9f(%rip), %edi      # 0x60b0
movl $0x3, %esi
jmp 0x3120
movzwl %ax, %edi
movl $0x6, %esi
callq 0x1120
jmp 0x2431
movzwl %r8w, %edi
callq 0x1352
jmp 0x2431
callq 0x16a3
jmp 0x2bb2
callq 0x1709
jmp 0x2436
callq 0x16c5
jmp 0x2436
movq %rbx, %rdi
callq 0x1685
movl $0x1, %r14d
movl %r14d, %eax
addq $0x4c8, %rsp            # imm = 0x4C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movzwl 0x2f30(%rip), %edi      # 0x60b0
movl $0xf, %esi
callq 0x1120
movq 0x8(%rsp), %rdi
callq 0x1030
movl $0x1, %edi
callq 0x10e0
movzwl 0x2f0b(%rip), %edi      # 0x60b0
movl $0x1, %esi
jmp 0x3185
movzwl 0x2efd(%rip), %edi      # 0x60b0
movl $0x6, %esi
jmp 0x3185
movzwl 0x2eef(%rip), %edi      # 0x60b0
movl $0x2, %esi
callq 0x1120
movq %r13, %rdi
jmp 0x318f
movzwl %r8w, %edi
jmp 0x33e7
xorl %eax, %eax
xorl %ecx, %ecx
movq %r12, %rdi
testb %cl, %cl
je 0x3211
movzbl %cl, %r8d
movq %r12, %rdi
movq %rdi, %r9
subq %rsi, %r9
cmpq %rdx, %r9
jg 0x3224
movzwl 0x2(%rdi), %r9d
rolw $0x8, %r9w
movzwl %r9w, %r9d
addq %r9, %rdi
addq $0x4, %rdi
decw %r8w
jne 0x31eb
movq %rdi, %r8
subq %rsi, %r8
addq $-0x4, %r8
cmpq %rdx, %r8
cmovgeq %rax, %rdi
jmp 0x3226
xorl %edi, %edi
testq %rdi, %rdi
je 0x32cd
movzwl (%rdi), %r8d
rolw $0x8, %r8w
incb %cl
cmpw $0xe, %r8w
jne 0x31dd
jmp 0x32cf
movq %rsi, %rdi
callq 0x1913
xorl %ecx, %ecx
xorl %edi, %edi
movq %r12, %rax
testb %dil, %dil
je 0x3287
movzbl %dil, %r8d
movq %r12, %rax
movq %rax, %r9
subq %rsi, %r9
cmpq %rdx, %r9
jg 0x329a
movzwl 0x2(%rax), %r9d
rolw $0x8, %r9w
movzwl %r9w, %r9d
addq %r9, %rax
addq $0x4, %rax
decw %r8w
jne 0x3261
movq %rax, %r8
subq %rsi, %r8
addq $-0x4, %r8
cmpq %rdx, %r8
cmovgeq %rcx, %rax
jmp 0x329c
xorl %eax, %eax
testq %rax, %rax
je 0x33b9
movzwl (%rax), %r8d
rolw $0x8, %r8w
incb %dil
cmpw $0xe, %r8w
jne 0x3252
jmp 0x33bb
movq %rsi, %rdi
callq 0x1a95
movq %rsi, %rdi
callq 0x1a69
xorl %edi, %edi
addq $0x4, %rdi
movl $0x8, %ecx
xorl %eax, %eax
movzbl (%rdi), %r8d
shll %cl, %r8d
orl %r8d, %eax
incq %rdi
addq $-0x8, %rcx
je 0x32da
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r12, %rdi
testb %r8b, %r8b
je 0x3327
movzbl %r8b, %r9d
movq %r12, %rdi
movq %rdi, %r10
subq %rsi, %r10
cmpq %rdx, %r10
jg 0x333a
movzwl 0x2(%rdi), %r10d
rolw $0x8, %r10w
movzwl %r10w, %r10d
addq %r10, %rdi
addq $0x4, %rdi
decw %r9w
jne 0x3301
movq %rdi, %r9
subq %rsi, %r9
addq $-0x4, %r9
cmpq %rdx, %r9
cmovgeq %rcx, %rdi
jmp 0x333c
xorl %edi, %edi
testq %rdi, %rdi
je 0x3356
movzwl (%rdi), %r9d
rolw $0x8, %r9w
incb %r8b
cmpw $0xf, %r9w
jne 0x32f2
jmp 0x3358
xorl %edi, %edi
addq $0x4, %rdi
movl $0x8, %ecx
xorl %edx, %edx
movzbl (%rdi), %esi
shll %cl, %esi
orl %esi, %edx
incq %rdi
addq $-0x8, %rcx
je 0x3363
cmpw 0x2d36(%rip), %ax       # 0x60b0
jne 0x33b4
movslq 0x2d39(%rip), %rax      # 0x60bc
testq %rax, %rax
jle 0x33a7
movq 0x2d39(%rip), %rcx      # 0x60c8
xorl %esi, %esi
movq (%rcx,%rsi,8), %rdi
testq %rdi, %rdi
je 0x339f
cmpw %dx, (%rdi)
je 0x33f6
incq %rsi
cmpq %rsi, %rax
jne 0x3391
movzwl %dx, %edi
callq 0x1352
jmp 0x3194
movzwl %ax, %edi
jmp 0x33e7
xorl %eax, %eax
addq $0x4, %rax
movl $0x8, %ecx
xorl %edx, %edx
movzbl (%rax), %esi
shll %cl, %esi
orl %esi, %edx
incq %rax
addq $-0x8, %rcx
je 0x33c6
cmpw 0x2cd3(%rip), %dx       # 0x60b0
jne 0x33e4
callq 0x1952
movzwl %dx, %edi
movl $0x6, %esi
callq 0x1120
jmp 0x3194
callq 0x18ee