// File: /workspace/github_c_makefile_star2_O1/akumrao[P]videoAnalyzer/decoder/decoder.c
// Function: x264_decoder_decode(x264_t*, x264_picture_t**, x264_nal_t*)
int x264_decoder_decode(x264_t *h,
        x264_picture_t **pp_pic, x264_nal_t *nal) {LOG_CALL;
    int i_ret = 0;
    bs_t bs;

    /* no picture */
    *pp_pic = NULL;

    /* init bitstream reader */
    bs_init(&bs, nal->p_payload, nal->i_payload);

    switch (nal->i_type)
    {
        case NAL_SPS:
            if ((i_ret = x264_sps_read(&bs, h->sps_array)) < 0)
            {
                fprintf(stderr, "x264: x264_sps_read failed\n");
            }
            break;

        case NAL_PPS:
            if ((i_ret = x264_pps_read(&bs, h->pps_array)) < 0)
            {
                fprintf(stderr, "x264: x264_pps_read failed\n");
            }
            break;

        case NAL_SLICE_IDR:
            fprintf(stderr, "x264: NAL_SLICE_IDR\n");
            x264_slice_idr(h);

        case NAL_SLICE:
            if ((i_ret = x264_slice_header_decode(h, &bs, nal)) < 0)
            {
                fprintf(stderr, "x264: x264_slice_header_decode failed\n");
            }
            if (h->sh.i_redundant_pic_cnt == 0 && i_ret == 0)
            {
                if ((i_ret = x264_slice_data_decode(h, &bs)) < 0)
                {
                    fprintf(stderr, "x264: x264_slice_data_decode failed\n");
                } else
                {
                    *pp_pic = h->picture;
                }
            }
            break;

        case NAL_SLICE_DPA:
        case NAL_SLICE_DPB:
        case NAL_SLICE_DPC:
            fprintf(stderr, "partitioned stream unsupported\n");
            i_ret = -1;
            break;

        case NAL_SEI:
        default:
            break;
    }

    /* restore CPU state (before using float again) */
    x264_cpu_restore(h->cpu);

    return i_ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x838, %rsp            # imm = 0x838
movq %rdx, %r13
movq %rsi, %rbx
movq %rdi, -0x50(%rbp)
leaq 0x1966b(%rip), %r14     # 0x251b4
leaq 0x1bc54(%rip), %rsi     # 0x277a4
leaq 0x1bc81(%rip), %rdx     # 0x277d8
xorl %r12d, %r12d
movq %r14, %rdi
xorl %eax, %eax
callq 0x4c22
movq %rbx, -0x78(%rbp)
movq $0x0, (%rbx)
movq 0x10(%r13), %rbx
movslq 0x8(%r13), %r15
leaq 0x1bd3a(%rip), %rsi     # 0x278b8
leaq 0x1bd48(%rip), %rdx     # 0x278cd
movq %r14, %rdi
xorl %eax, %eax
callq 0x4c22
movq %rbx, -0x48(%rbp)
movq %rbx, -0x40(%rbp)
addq %rbx, %r15
movq %r15, -0x38(%rbp)
movl $0x8, -0x30(%rbp)
movl 0x4(%r13), %eax
decl %eax
cmpl $0x7, %eax
ja 0xcfe6
leaq 0x1a4f5(%rip), %rcx     # 0x260b0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x195e9(%rip), %r15     # 0x251b4
movq %r13, %rbx
leaq 0x1bbcf(%rip), %r13     # 0x277a4
leaq 0x1bd08(%rip), %rdx     # 0x278e4
xorl %r14d, %r14d
movq %r15, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x4c22
movq -0x50(%rbp), %r12
leaq 0x10daf0(%r12), %rax
movq %rax, -0x68(%rbp)
leaq 0xd8(%r12), %rax
movq %rax, -0x60(%rbp)
addq $0x8ee0, %r12           # imm = 0x8EE0
movq %rbx, -0x70(%rbp)
movl 0x4(%rbx), %eax
movl %eax, -0x54(%rbp)
leaq 0x1bd48(%rip), %rdx     # 0x27968
movq %r15, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x4c22
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rax
movl -0x30(%rbp), %edx
cmpq %rax, %rcx
jae 0xbc67
decl %edx
movl %edx, -0x30(%rbp)
movzbl (%rcx), %edi
xorl %esi, %esi
btl %edx, %edi
setb %sil
testl %edx, %edx
jne 0xbc69
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %edx
jmp 0xbc69
xorl %esi, %esi
testl %esi, %esi
jne 0xbc7d
cmpq %rax, %rcx
jae 0xbc7d
cmpl $0x1f, %r14d
ja 0xbc7d
incl %r14d
jmp 0xbc38
xorl %r15d, %r15d
movl $0x0, %edx
testl %r14d, %r14d
je 0xbd53
movq -0x40(%rbp), %rsi
xorl %edx, %edx
movl -0x30(%rbp), %edi
leaq 0x1ba82(%rip), %r9      # 0x27720
movl %r14d, %r8d
cmpq %rax, %rsi
jae 0xbd53
movl %edi, %ecx
subl %r8d, %ecx
movzbl (%rsi), %r10d
jns 0xbd30
movslq %edi, %r11
andl (%r9,%r11,4), %r10d
negb %cl
shll %cl, %r10d
orl %r10d, %edx
incq %rsi
movq %rsi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %edi, %r8d
movl $0x8, %edi
jg 0xbca1
jmp 0xbd53
movq -0x50(%rbp), %rax
leaq 0xd8(%rax), %rsi
leaq -0x48(%rbp), %rdi
callq 0x106b0
movl %eax, %r12d
testl %eax, %eax
jns 0xcfe6
callq 0x290e
jmp 0xcfe6
movq -0x50(%rbp), %rax
leaq 0x8ee0(%rax), %rsi
leaq -0x48(%rbp), %rdi
callq 0x11ce4
movl %eax, %r12d
testl %eax, %eax
jns 0xcfe6
callq 0x28ec
jmp 0xcfe6
shrl %cl, %r10d
movl %r8d, %eax
andl (%r9,%rax,4), %r10d
orl %r10d, %edx
movl %ecx, -0x30(%rbp)
cmpl %r8d, %edi
jne 0xbd53
incq %rsi
movq %rsi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl %r14d, %ecx
shll %cl, %r13d
notl %r13d
addl %edx, %r13d
leaq 0x1bd3a(%rip), %rdi     # 0x27aa6
leaq 0x1bc12(%rip), %rdx     # 0x27985
movl %r13d, %esi
xorl %eax, %eax
callq 0x4c22
movq -0x50(%rbp), %rax
movl %r13d, 0x10db04(%rax)
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rax
movl -0x30(%rbp), %edx
xorl %esi, %esi
cmpq %rax, %rcx
jae 0xbdc2
decl %edx
movl %edx, -0x30(%rbp)
movzbl (%rcx), %edi
xorl %esi, %esi
btl %edx, %edi
setb %sil
testl %edx, %edx
jne 0xbdc2
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %edx
testl %esi, %esi
jne 0xbdd6
cmpq %rax, %rcx
jae 0xbdd6
cmpl $0x1f, %r15d
ja 0xbdd6
incl %r15d
jmp 0xbd93
xorl %r14d, %r14d
movl $0x0, %r13d
testl %r15d, %r15d
je 0xbe50
movq -0x40(%rbp), %rdx
xorl %r13d, %r13d
movl -0x30(%rbp), %esi
leaq 0x1b92b(%rip), %r8      # 0x27720
movl %r15d, %edi
cmpq %rax, %rdx
jae 0xbe50
movl %esi, %ecx
subl %edi, %ecx
movzbl (%rdx), %r9d
jns 0xbe2f
movslq %esi, %r10
andl (%r8,%r10,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %r13d
incq %rdx
movq %rdx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %esi, %edi
movl $0x8, %esi
jg 0xbdf8
jmp 0xbe50
shrl %cl, %r9d
movl %edi, %eax
andl (%r8,%rax,4), %r9d
orl %r9d, %r13d
movl %ecx, -0x30(%rbp)
cmpl %edi, %esi
jne 0xbe50
incq %rdx
movq %rdx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movl %r15d, %ecx
shll %cl, %ebx
notl %ebx
leal (%rbx,%r13), %r15d
leaq 0x1bc3f(%rip), %rdi     # 0x27aa6
leaq 0x1bb22(%rip), %rdx     # 0x27990
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
cmpl $0x5, %r15d
leal -0x5(%r13,%rbx), %eax
cmovll %r15d, %eax
movq -0x50(%rbp), %rcx
movl %eax, 0x10db00(%rcx)
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rax
movl -0x30(%rbp), %edx
xorl %esi, %esi
cmpq %rax, %rcx
jae 0xbec9
decl %edx
movl %edx, -0x30(%rbp)
movzbl (%rcx), %edi
xorl %esi, %esi
btl %edx, %edi
setb %sil
testl %edx, %edx
jne 0xbec9
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %edx
testl %esi, %esi
jne 0xbedd
cmpq %rax, %rcx
jae 0xbedd
cmpl $0x1f, %r14d
ja 0xbedd
incl %r14d
jmp 0xbe9a
testl %r14d, %r14d
je 0xbf2e
movq -0x40(%rbp), %rsi
xorl %edx, %edx
movl -0x30(%rbp), %edi
leaq 0x1b82e(%rip), %r9      # 0x27720
movl %r14d, %r8d
cmpq %rax, %rsi
jae 0xbf55
movl %edi, %ecx
subl %r8d, %ecx
movzbl (%rsi), %r10d
jns 0xbf32
movslq %edi, %r11
andl (%r9,%r11,4), %r10d
negb %cl
shll %cl, %r10d
orl %r10d, %edx
incq %rsi
movq %rsi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %edi, %r8d
movl $0x8, %edi
jg 0xbef5
jmp 0xbf55
xorl %edx, %edx
jmp 0xbf55
shrl %cl, %r10d
movl %r8d, %eax
andl (%r9,%rax,4), %r10d
orl %r10d, %edx
movl %ecx, -0x30(%rbp)
cmpl %r8d, %edi
jne 0xbf55
incq %rsi
movq %rsi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
movl %r14d, %ecx
shll %cl, %r15d
notl %r15d
addl %edx, %r15d
leaq 0x1bb38(%rip), %rdi     # 0x27aa6
leaq 0x1ba22(%rip), %rdx     # 0x27997
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
movq -0x50(%rbp), %rax
movl %r15d, 0x10db08(%rax)
leaq 0x19223(%rip), %rdi     # 0x251b4
leaq 0x1b920(%rip), %rsi     # 0x278b8
leaq 0x1bb19(%rip), %rdx     # 0x27ab8
xorl %eax, %eax
callq 0x4c22
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %rdx
cmpq %rdx, %rax
jae 0xc23a
movq -0x50(%rbp), %rcx
movslq 0x10db08(%rcx), %rcx
cmpq $0xff, %rcx
jg 0xc23a
imulq $0x104c, %rcx, %rcx     # imm = 0x104C
cmpl $-0x1, (%r12,%rcx)
je 0xc23a
addq %rcx, %r12
movq -0x50(%rbp), %rsi
movq %r12, 0x10daf8(%rsi)
movslq 0x4(%r12), %rcx
movq %rsi, %r12
imulq $0x470, %rcx, %rcx      # imm = 0x470
movq -0x60(%rbp), %rdi
leaq (%rdi,%rcx), %rsi
movq %rsi, 0x10daf0(%r12)
movl 0x18(%rdi,%rcx), %esi
xorl %r14d, %r14d
testl %esi, %esi
jle 0xc058
movl -0x30(%rbp), %edi
leaq 0x1b6fd(%rip), %r8      # 0x27720
cmpq %rdx, %rax
jae 0xc058
movl %edi, %ecx
subl %esi, %ecx
movzbl (%rax), %r15d
jns 0xc085
movslq %edi, %r9
andl (%r8,%r9,4), %r15d
negb %cl
shll %cl, %r15d
orl %r15d, %r14d
incq %rax
movq %rax, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %edi, %esi
movl $0x8, %edi
jg 0xc023
leaq 0x1ba75(%rip), %rdi     # 0x27ad4
leaq 0x1b95a(%rip), %rcx     # 0x279c0
movl %r14d, %edx
xorl %eax, %eax
callq 0x4c22
movl %r14d, %r15d
jmp 0xc0be
callq 0x2614
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
jmp 0xcfe6
shrl %cl, %r15d
movl %esi, %edx
andl (%r8,%rdx,4), %r15d
orl %r14d, %r15d
movl %ecx, -0x30(%rbp)
cmpl %esi, %edi
jne 0xc0a6
incq %rax
movq %rax, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
leaq 0x1ba12(%rip), %rdi     # 0x27abf
leaq 0x1b90c(%rip), %rcx     # 0x279c0
movl %r15d, %edx
xorl %eax, %eax
callq 0x4c22
movl %r15d, 0x10db0c(%r12)
movq 0x10daf0(%r12), %rax
cmpl $0x0, 0x444(%rax)
jne 0xc188
movq -0x40(%rbp), %rax
xorl %r15d, %r15d
cmpq -0x38(%rbp), %rax
jae 0xc10f
movl -0x30(%rbp), %ecx
decl %ecx
movl %ecx, -0x30(%rbp)
movzbl (%rax), %edx
xorl %r15d, %r15d
btl %ecx, %edx
setb %r15b
testl %ecx, %ecx
jne 0xc10f
incq %rax
movq %rax, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
leaq 0x1b9d2(%rip), %rdi     # 0x27ae8
leaq 0x1b8b8(%rip), %rdx     # 0x279d5
xorl %r14d, %r14d
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r15d, 0x10db10(%r12)
testl %r15d, %r15d
je 0xc188
movq -0x40(%rbp), %rax
cmpq -0x38(%rbp), %rax
jae 0xc168
movl -0x30(%rbp), %ecx
decl %ecx
movl %ecx, -0x30(%rbp)
movzbl (%rax), %edx
xorl %r14d, %r14d
btl %ecx, %edx
setb %r14b
testl %ecx, %ecx
jne 0xc168
incq %rax
movq %rax, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
leaq 0x1b979(%rip), %rdi     # 0x27ae8
leaq 0x1b86b(%rip), %rdx     # 0x279e1
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r14d, 0x10db14(%r12)
xorl %r14d, %r14d
cmpl $0x5, -0x54(%rbp)
jne 0xc298
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rdx
xorl %eax, %eax
movl -0x30(%rbp), %esi
cmpq %rdx, %rcx
jae 0xc1d3
decl %esi
movl %esi, -0x30(%rbp)
movzbl (%rcx), %r8d
xorl %edi, %edi
btl %esi, %r8d
setb %dil
testl %esi, %esi
jne 0xc1d5
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %esi
jmp 0xc1d5
xorl %edi, %edi
testl %edi, %edi
jne 0xc1e7
cmpq %rdx, %rcx
jae 0xc1e7
cmpl $0x1f, %eax
ja 0xc1e7
incl %eax
jmp 0xc1a2
testl %eax, %eax
je 0xc248
movq -0x40(%rbp), %rdi
xorl %esi, %esi
movl -0x30(%rbp), %r8d
leaq 0x1b524(%rip), %r10     # 0x27720
movl %eax, %r9d
cmpq %rdx, %rdi
jae 0xc26f
movl %r8d, %ecx
subl %r9d, %ecx
movzbl (%rdi), %r11d
jns 0xc24c
movslq %r8d, %rbx
andl (%r10,%rbx,4), %r11d
negb %cl
shll %cl, %r11d
orl %r11d, %esi
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %r8d, %r9d
movl $0x8, %r8d
jg 0xc1ff
jmp 0xc26f
callq 0x27f5
movq -0x50(%rbp), %r12
jmp 0xcc46
xorl %esi, %esi
jmp 0xc26f
shrl %cl, %r11d
movl %r9d, %edx
andl (%r10,%rdx,4), %r11d
orl %r11d, %esi
movl %ecx, -0x30(%rbp)
cmpl %r9d, %r8d
jne 0xc26f
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r14d
notl %r14d
addl %esi, %r14d
leaq 0x1b81f(%rip), %rdi     # 0x27aa6
leaq 0x1b762(%rip), %rdx     # 0x279f0
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
leaq 0x10daf8(%r12), %r15
movl %r14d, 0x10db18(%r12)
movq 0x10daf0(%r12), %rax
movl 0x1c(%rax), %ecx
cmpl $0x1, %ecx
je 0xc31f
testl %ecx, %ecx
jne 0xc736
movl 0x20(%rax), %esi
testl %esi, %esi
jle 0xc37b
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %r8
xorl %r13d, %r13d
movl -0x30(%rbp), %edx
leaq 0x1b440(%rip), %rdi     # 0x27720
cmpq %r8, %rax
jae 0xc37e
movl %edx, %ecx
subl %esi, %ecx
movzbl (%rax), %r14d
jns 0xc40e
movslq %edx, %r9
andl (%rdi,%r9,4), %r14d
negb %cl
shll %cl, %r14d
orl %r14d, %r13d
incq %rax
movq %rax, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %edx, %esi
movl $0x8, %edx
jg 0xc2e0
jmp 0xc37e
cmpl $0x0, 0x24(%rax)
jne 0xc736
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rdx
xorl %eax, %eax
movl -0x30(%rbp), %esi
cmpq %rdx, %rcx
jae 0xc367
decl %esi
movl %esi, -0x30(%rbp)
movzbl (%rcx), %r8d
xorl %edi, %edi
btl %esi, %r8d
setb %dil
testl %esi, %esi
jne 0xc369
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %esi
jmp 0xc369
xorl %edi, %edi
testl %edi, %edi
jne 0xc39e
cmpq %rdx, %rcx
jae 0xc39e
cmpl $0x1f, %eax
ja 0xc39e
incl %eax
jmp 0xc336
xorl %r13d, %r13d
leaq 0x1b74f(%rip), %rdi     # 0x27ad4
leaq 0x1b671(%rip), %rcx     # 0x279fd
movl %r13d, %edx
xorl %eax, %eax
callq 0x4c22
movl %r13d, %r14d
jmp 0xc448
testl %eax, %eax
je 0xc521
movq -0x40(%rbp), %rdi
xorl %esi, %esi
movl -0x30(%rbp), %r8d
leaq 0x1b369(%rip), %r10     # 0x27720
movl %eax, %r9d
cmpq %rdx, %rdi
jae 0xc54f
movl %r8d, %ecx
subl %r9d, %ecx
movzbl (%rdi), %r11d
jns 0xc52c
movslq %r8d, %rbx
andl (%r10,%rbx,4), %r11d
negb %cl
shll %cl, %r11d
orl %r11d, %esi
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %r8d, %r9d
movl $0x8, %r8d
jg 0xc3ba
jmp 0xc54f
movq -0x50(%rbp), %rdi
callq 0x2643
jmp 0xbbc4
shrl %cl, %r14d
movl %esi, %r8d
andl (%rdi,%r8,4), %r14d
orl %r13d, %r14d
movl %ecx, -0x30(%rbp)
cmpl %esi, %edx
jne 0xc430
incq %rax
movq %rax, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
leaq 0x1b688(%rip), %rdi     # 0x27abf
leaq 0x1b5bf(%rip), %rcx     # 0x279fd
movl %r14d, %edx
xorl %eax, %eax
callq 0x4c22
movl %r14d, 0x10db1c(%r12)
movq 0x10daf8(%r12), %rax
cmpl $0x0, 0xc(%rax)
je 0xc736
cmpl $0x0, 0x10db10(%r12)
jne 0xc736
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rdx
xorl %eax, %eax
movl -0x30(%rbp), %esi
cmpq %rdx, %rcx
jae 0xc4af
decl %esi
movl %esi, -0x30(%rbp)
movzbl (%rcx), %r8d
xorl %edi, %edi
btl %esi, %r8d
setb %dil
testl %esi, %esi
jne 0xc4b1
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %esi
jmp 0xc4b1
xorl %edi, %edi
testl %edi, %edi
jne 0xc4c3
cmpq %rdx, %rcx
jae 0xc4c3
cmpl $0x1f, %eax
ja 0xc4c3
incl %eax
jmp 0xc47e
testl %eax, %eax
je 0xc525
movq -0x40(%rbp), %rdi
xorl %esi, %esi
movl -0x30(%rbp), %r8d
leaq 0x1b248(%rip), %r10     # 0x27720
movl %eax, %r9d
cmpq %rdx, %rdi
jae 0xc689
movl %r8d, %ecx
subl %r9d, %ecx
movzbl (%rdi), %r11d
jns 0xc666
movslq %r8d, %rbx
andl (%r10,%rbx,4), %r11d
negb %cl
shll %cl, %r11d
orl %r11d, %esi
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %r8d, %r9d
movl $0x8, %r8d
jg 0xc4db
jmp 0xc689
xorl %esi, %esi
jmp 0xc54f
xorl %esi, %esi
jmp 0xc689
shrl %cl, %r11d
movl %r9d, %edx
andl (%r10,%rdx,4), %r11d
orl %r11d, %esi
movl %ecx, -0x30(%rbp)
cmpl %r9d, %r8d
jne 0xc54f
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %edx
movl %edx, %eax
notl %eax
addl %esi, %eax
subl %edx, %esi
sarl %esi
movl %eax, %r14d
sarl %r14d
negl %r14d
testb $0x1, %al
cmovnel %esi, %r14d
leaq 0x1b580(%rip), %rdi     # 0x27af8
leaq 0x1b4a4(%rip), %rdx     # 0x27a23
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r14d, 0x10db24(%r12)
movq 0x10daf8(%r12), %rax
cmpl $0x0, 0xc(%rax)
je 0xc736
cmpl $0x0, 0x10db10(%r12)
jne 0xc736
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rdx
xorl %eax, %eax
movl -0x30(%rbp), %esi
cmpq %rdx, %rcx
jae 0xc5f0
decl %esi
movl %esi, -0x30(%rbp)
movzbl (%rcx), %r8d
xorl %edi, %edi
btl %esi, %r8d
setb %dil
testl %esi, %esi
jne 0xc5f2
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %esi
jmp 0xc5f2
xorl %edi, %edi
testl %edi, %edi
jne 0xc604
cmpq %rdx, %rcx
jae 0xc604
cmpl $0x1f, %eax
ja 0xc604
incl %eax
jmp 0xc5bf
testl %eax, %eax
je 0xc6cd
movq -0x40(%rbp), %rdi
xorl %esi, %esi
movl -0x30(%rbp), %r8d
leaq 0x1b103(%rip), %r10     # 0x27720
movl %eax, %r9d
cmpq %rdx, %rdi
jae 0xc6f4
movl %r8d, %ecx
subl %r9d, %ecx
movzbl (%rdi), %r11d
jns 0xc6d1
movslq %r8d, %rbx
andl (%r10,%rbx,4), %r11d
negb %cl
shll %cl, %r11d
orl %r11d, %esi
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %r8d, %r9d
movl $0x8, %r8d
jg 0xc620
jmp 0xc6f4
shrl %cl, %r11d
movl %r9d, %edx
andl (%r10,%rdx,4), %r11d
orl %r11d, %esi
movl %ecx, -0x30(%rbp)
cmpl %r9d, %r8d
jne 0xc689
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %edx
movl %edx, %eax
notl %eax
addl %esi, %eax
subl %edx, %esi
sarl %esi
movl %eax, %r14d
sarl %r14d
negl %r14d
testb $0x1, %al
cmovnel %esi, %r14d
leaq 0x1b446(%rip), %rdi     # 0x27af8
leaq 0x1b357(%rip), %rdx     # 0x27a10
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r14d, 0x10db20(%r12)
jmp 0xc736
xorl %esi, %esi
jmp 0xc6f4
shrl %cl, %r11d
movl %r9d, %edx
andl (%r10,%rdx,4), %r11d
orl %r11d, %esi
movl %ecx, -0x30(%rbp)
cmpl %r9d, %r8d
jne 0xc6f4
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %edx
movl %edx, %eax
notl %eax
addl %esi, %eax
subl %edx, %esi
sarl %esi
movl %eax, %r14d
sarl %r14d
negl %r14d
testb $0x1, %al
cmovnel %esi, %r14d
leaq 0x1b3db(%rip), %rdi     # 0x27af8
leaq 0x1b2ff(%rip), %rdx     # 0x27a23
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r14d, 0x10db28(%r12)
movq (%r15), %rax
cmpl $0x0, 0x1048(%rax)
je 0xc843
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rdx
xorl %eax, %eax
movl -0x30(%rbp), %esi
cmpq %rdx, %rcx
jae 0xc784
decl %esi
movl %esi, -0x30(%rbp)
movzbl (%rcx), %r8d
xorl %edi, %edi
btl %esi, %r8d
setb %dil
testl %esi, %esi
jne 0xc786
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %esi
jmp 0xc786
xorl %edi, %edi
testl %edi, %edi
jne 0xc798
cmpq %rdx, %rcx
jae 0xc798
cmpl $0x1f, %eax
ja 0xc798
incl %eax
jmp 0xc753
testl %eax, %eax
je 0xc7eb
movq -0x40(%rbp), %rdi
xorl %esi, %esi
movl -0x30(%rbp), %r8d
leaq 0x1af73(%rip), %r10     # 0x27720
movl %eax, %r9d
cmpq %rdx, %rdi
jae 0xc812
movl %r8d, %ecx
subl %r9d, %ecx
movzbl (%rdi), %r11d
jns 0xc7ef
movslq %r8d, %rbx
andl (%r10,%rbx,4), %r11d
negb %cl
shll %cl, %r11d
orl %r11d, %esi
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %r8d, %r9d
movl $0x8, %r8d
jg 0xc7b0
jmp 0xc812
xorl %esi, %esi
jmp 0xc812
shrl %cl, %r11d
movl %r9d, %edx
andl (%r10,%rdx,4), %r11d
orl %r11d, %esi
movl %ecx, -0x30(%rbp)
cmpl %r9d, %r8d
jne 0xc812
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r14d
notl %r14d
addl %esi, %r14d
leaq 0x1b27c(%rip), %rdi     # 0x27aa6
leaq 0x1b201(%rip), %rdx     # 0x27a32
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r14d, 0x10db2c(%r12)
cmpl $0x1, 0x10db00(%r12)
jne 0xc8a2
movq -0x40(%rbp), %rax
xorl %r14d, %r14d
cmpq -0x38(%rbp), %rax
jae 0xc882
movl -0x30(%rbp), %ecx
decl %ecx
movl %ecx, -0x30(%rbp)
movzbl (%rax), %edx
xorl %r14d, %r14d
btl %ecx, %edx
setb %r14b
testl %ecx, %ecx
jne 0xc882
incq %rax
movq %rax, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
leaq 0x1b25f(%rip), %rdi     # 0x27ae8
leaq 0x1b1b6(%rip), %rdx     # 0x27a46
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r14d, 0x10db30(%r12)
movl 0x10db00(%r12), %eax
cmpl $0x3, %eax
ja 0xcb45
cmpl $0x2, %eax
je 0xcb45
movq -0x40(%rbp), %rax
xorl %r13d, %r13d
cmpq -0x38(%rbp), %rax
jae 0xc8f0
movl -0x30(%rbp), %ecx
decl %ecx
movl %ecx, -0x30(%rbp)
movzbl (%rax), %edx
xorl %r13d, %r13d
btl %ecx, %edx
setb %r13b
testl %ecx, %ecx
jne 0xc8f0
incq %rax
movq %rax, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
leaq 0x1b1f1(%rip), %rdi     # 0x27ae8
leaq 0x1b161(%rip), %rdx     # 0x27a5f
xorl %r14d, %r14d
movl %r13d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r13d, 0x10db34(%r12)
movq 0x10daf8(%r12), %rax
movl 0x1024(%rax), %ecx
movl %ecx, 0x10db38(%r12)
movl 0x1028(%rax), %eax
movl %eax, 0x10db3c(%r12)
testl %r13d, %r13d
je 0xcb45
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rax
movl -0x30(%rbp), %edx
xorl %esi, %esi
cmpq %rax, %rcx
jae 0xc97a
decl %edx
movl %edx, -0x30(%rbp)
movzbl (%rcx), %edi
xorl %esi, %esi
btl %edx, %edi
setb %sil
testl %edx, %edx
jne 0xc97a
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %edx
testl %esi, %esi
jne 0xc98e
cmpq %rax, %rcx
jae 0xc98e
cmpl $0x1f, %r14d
ja 0xc98e
incl %r14d
jmp 0xc94b
movq %r15, %r13
testl %r14d, %r14d
je 0xc9e1
movq -0x40(%rbp), %rdx
xorl %r15d, %r15d
movl -0x30(%rbp), %esi
leaq 0x1ad79(%rip), %r8      # 0x27720
movl %r14d, %edi
cmpq %rax, %rdx
jae 0xca07
movl %esi, %ecx
subl %edi, %ecx
movzbl (%rdx), %r9d
jns 0xc9e6
movslq %esi, %r10
andl (%r8,%r10,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %r15d
incq %rdx
movq %rdx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %esi, %edi
movl $0x8, %esi
jg 0xc9aa
jmp 0xca07
xorl %r15d, %r15d
jmp 0xca07
shrl %cl, %r9d
movl %edi, %eax
andl (%r8,%rax,4), %r9d
orl %r9d, %r15d
movl %ecx, -0x30(%rbp)
cmpl %edi, %esi
jne 0xca07
incq %rdx
movq %rdx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movl %r14d, %ecx
shll %cl, %ebx
movl %ebx, %esi
notl %esi
addl %r15d, %esi
leaq 0x1b087(%rip), %rdi     # 0x27aa6
leaq 0x1b050(%rip), %rdx     # 0x27a76
xorl %r14d, %r14d
xorl %eax, %eax
callq 0x4c22
subl %ebx, %r15d
movl %r15d, 0x10db38(%r12)
cmpl $0x1, 0x10db00(%r12)
movq %r13, %r15
jne 0xcb45
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rax
movl -0x30(%rbp), %edx
xorl %esi, %esi
cmpq %rax, %rcx
jae 0xca87
decl %edx
movl %edx, -0x30(%rbp)
movzbl (%rcx), %edi
xorl %esi, %esi
btl %edx, %edi
setb %sil
testl %edx, %edx
jne 0xca87
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %edx
testl %esi, %esi
jne 0xca9b
cmpq %rax, %rcx
jae 0xca9b
cmpl $0x1f, %r14d
ja 0xca9b
incl %r14d
jmp 0xca58
testl %r14d, %r14d
je 0xcaeb
movq -0x40(%rbp), %rdx
xorl %r15d, %r15d
movl -0x30(%rbp), %esi
leaq 0x1ac6f(%rip), %r8      # 0x27720
movl %r14d, %edi
cmpq %rax, %rdx
jae 0xcb11
movl %esi, %ecx
subl %edi, %ecx
movzbl (%rdx), %r9d
jns 0xcaf0
movslq %esi, %r10
andl (%r8,%r10,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %r15d
incq %rdx
movq %rdx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %esi, %edi
movl $0x8, %esi
jg 0xcab4
jmp 0xcb11
xorl %r15d, %r15d
jmp 0xcb11
shrl %cl, %r9d
movl %edi, %eax
andl (%r8,%rax,4), %r9d
orl %r9d, %r15d
movl %ecx, -0x30(%rbp)
cmpl %edi, %esi
jne 0xcb11
incq %rdx
movq %rdx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movl %r14d, %ecx
shll %cl, %ebx
movl %ebx, %esi
notl %esi
addl %r15d, %esi
leaq 0x1af7d(%rip), %rdi     # 0x27aa6
leaq 0x1af5e(%rip), %rdx     # 0x27a8e
xorl %eax, %eax
callq 0x4c22
subl %ebx, %r15d
movl %r15d, 0x10db3c(%r12)
movq %r13, %r15
leaq 0x18668(%rip), %rdi     # 0x251b4
leaq 0x1ad65(%rip), %rsi     # 0x278b8
leaq 0x1af5e(%rip), %rdx     # 0x27ab8
xorl %eax, %eax
callq 0x4c22
movq -0x40(%rbp), %rax
cmpq -0x38(%rbp), %rax
jae 0xcc46
leaq 0x8ed8(%r12), %r14
movq 0x8ed8(%r12), %rax
cmpq 0x10daf0(%r12), %rax
movq -0x70(%rbp), %r13
jne 0xcb9f
movq 0x10dae0(%r12), %rax
cmpq 0x10daf8(%r12), %rax
je 0xcc15
xorl %eax, %eax
movq %rax, 0x8ed8(%r12)
movq %rax, 0x10dae0(%r12)
movq 0x10ee48(%r12), %rax
cmpl $0x0, (%rax)
je 0xcc06
cmpl $0x0, 0x4(%rax)
je 0xcc06
cmpl $0x0, 0x434
js 0xcbf9
movq $-0x1, %rbx
movq 0x10eff8(%r12,%rbx,8), %rdi
callq 0x513e
movq 0x8ed8(%r12), %rax
movslq 0x434(%rax), %rax
incq %rbx
cmpq %rax, %rbx
jl 0xcbd5
movq 0x10efe8(%r12), %rdi
callq 0x2110
movq 0x10ee48(%r12), %rax
movq $0x0, (%rax)
cmpq $0x0, (%r14)
je 0xd006
cmpq $0x0, 0x10dae0(%r12)
je 0xd006
movq (%r14), %rdi
movl 0x1c(%rdi), %eax
movb $0x1, %cl
cmpl $0x1, %eax
jne 0xd01d
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
jmp 0xcc52
callq 0x2824
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movb $0x1, %cl
testb %cl, %cl
jne 0xd043
movl 0x10db2c(%r12), %eax
movl %ebx, %r12d
orl %ebx, %eax
jne 0xcfe6
leaq 0x18540(%rip), %rdi     # 0x251b4
leaq 0x1ab29(%rip), %rsi     # 0x277a4
leaq 0x1afeb(%rip), %rdx     # 0x27c6d
xorl %eax, %eax
callq 0x4c22
movq -0x50(%rbp), %r12
movl 0x10db04(%r12), %r14d
xorl %r13d, %r13d
xorl %ebx, %ebx
leaq 0x1afe3(%rip), %rdi     # 0x27c84
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movq 0x8ed8(%r12), %rax
movl 0x440(%rax), %ecx
imull 0x43c(%rax), %ecx
cmpl %ecx, %r14d
jge 0xcedc
movslq %r14d, %rax
imulq $0xf88, %rax, %r15      # imm = 0xF88
addq 0x10efe8(%r12), %r15
movq %r12, %rdi
movq %r15, %rsi
leaq -0x860(%rbp), %rdx
callq 0x805d
movq 0x10dae0(%r12), %rax
cmpl $0x0, 0x8(%rax)
je 0xcd0f
movq %r12, %rdi
leaq -0x48(%rbp), %rsi
movq %r15, %rdx
callq 0xe081
jmp 0xcec1
movl 0x10db00(%r12), %eax
cmpl $0x2, %eax
je 0xceb2
cmpl $0x4, %eax
je 0xceb2
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rdx
xorl %eax, %eax
movl -0x30(%rbp), %esi
leaq 0x1a9e3(%rip), %r11     # 0x27720
cmpq %rdx, %rcx
jae 0xcd6e
decl %esi
movl %esi, -0x30(%rbp)
movzbl (%rcx), %r8d
xorl %edi, %edi
btl %esi, %r8d
setb %dil
testl %esi, %esi
jne 0xcd70
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %esi
jmp 0xcd70
xorl %edi, %edi
testl %edi, %edi
jne 0xcd82
cmpq %rdx, %rcx
jae 0xcd82
cmpl $0x1f, %eax
ja 0xcd82
incl %eax
jmp 0xcd3d
movl %r13d, -0x54(%rbp)
testl %eax, %eax
je 0xcdd0
movq -0x40(%rbp), %rsi
xorl %r13d, %r13d
movl -0x30(%rbp), %edi
movl %eax, %r8d
cmpq %rdx, %rsi
jae 0xcdf8
movl %edi, %ecx
subl %r8d, %ecx
movzbl (%rsi), %r9d
jns 0xcdd5
movslq %edi, %r10
andl (%r11,%r10,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %r13d
incq %rsi
movq %rsi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %edi, %r8d
movl $0x8, %edi
jg 0xcd97
jmp 0xcdf8
xorl %r13d, %r13d
jmp 0xcdf8
shrl %cl, %r9d
movl %r8d, %edx
andl (%r11,%rdx,4), %r9d
orl %r9d, %r13d
movl %ecx, -0x30(%rbp)
cmpl %r8d, %edi
jne 0xcdf8
incq %rsi
movq %rsi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %ebx
movl %ebx, %r12d
notl %r12d
leal (%r12,%r13), %esi
movl %esi, -0x60(%rbp)
leaq 0x1ac91(%rip), %rdi     # 0x27aa6
leaq 0x1ae73(%rip), %rdx     # 0x27c8f
xorl %eax, %eax
callq 0x4c22
cmpl $0x0, -0x60(%rbp)
jle 0xce8d
addl %r14d, %r12d
addl %r13d, %r12d
movq %r12, -0x60(%rbp)
subl %ebx, %r13d
incl %r14d
movq -0x50(%rbp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x102fe
movq 0x8ed8(%r12), %rax
movl 0x440(%rax), %ecx
imull 0x43c(%rax), %ecx
cmpl %ecx, %r14d
jge 0xce91
addq $0xf88, %r15            # imm = 0xF88
movq %r12, %rdi
movq %r15, %rsi
leaq -0x860(%rbp), %rdx
callq 0x805d
decl %r13d
incl %r14d
cmpl $0x1, %r13d
jg 0xce3d
movq -0x60(%rbp), %r14
jmp 0xce91
movq -0x50(%rbp), %r12
movq 0x8ed8(%r12), %rax
movl 0x440(%rax), %ecx
imull 0x43c(%rax), %ecx
cmpl %ecx, %r14d
setl %bl
movl -0x54(%rbp), %r13d
jge 0xcedc
movq %r12, %rdi
leaq -0x48(%rbp), %rsi
movq %r15, %rdx
callq 0xe0a8
movl %eax, %r13d
testl %eax, %eax
js 0xcee6
movq %r12, %rdi
movq %r15, %rsi
callq 0xfa7b
testl %eax, %eax
js 0xcef2
incl %r14d
movb $0x1, %bl
testb %bl, %bl
jne 0xcc98
jmp 0xcef9
movq %r15, %rdi
callq 0x28a4
xorl %ebx, %ebx
jmp 0xcedc
callq 0x2882
jmp 0xced7
testl %r13d, %r13d
js 0xcfc8
movq 0x10efe0(%r12), %rdi
callq 0x5240
movq 0x10dae0(%r12), %rax
cmpl $0x0, 0x1040(%rax)
je 0xcf2b
cmpl $0x1, 0x10db50(%r12)
je 0xcf3b
movl 0x10db00(%r12), %esi
movq %r12, %rdi
callq 0x5481
movq 0x10ee48(%r12), %rax
movq 0x10efe0(%r12), %rcx
movl 0x20(%rcx), %ecx
movl %ecx, 0x8(%rax)
testl %ecx, %ecx
jle 0xcf85
xorl %ecx, %ecx
movq 0x10efe0(%r12), %rdx
movl 0x24(%rdx,%rcx,4), %esi
movl %esi, 0xc(%rax,%rcx,4)
movq 0x48(%rdx,%rcx,8), %rdx
movq %rdx, 0x20(%rax,%rcx,8)
incq %rcx
movq 0x10ee48(%r12), %rax
movslq 0x8(%rax), %rdx
cmpq %rdx, %rcx
jl 0xcf57
leaq 0x10eff0(%r12), %r14
movq 0x8ed8(%r12), %rax
movslq 0x434(%rax), %rdx
movq 0x10eff0(%r12,%rdx,8), %rbx
movq %rbx, 0x10efe0(%r12)
testq %rdx, %rdx
jle 0xcfc5
leaq 0x10eff8(%r12), %rdi
shlq $0x3, %rdx
movq %r14, %rsi
callq 0x21c0
movq %rbx, (%r14)
movl %r13d, %r12d
testl %r13d, %r13d
js 0xd064
movq -0x50(%rbp), %rax
movq 0x10ee48(%rax), %rax
movq -0x78(%rbp), %rcx
movq %rax, (%rcx)
movq -0x50(%rbp), %rax
movl (%rax), %edi
callq 0x486c
movl %r12d, %eax
addq $0x838, %rsp            # imm = 0x838
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq -0x68(%rbp), %rdi
movq %r14, %rsi
movq %r15, %rdx
movq %r12, %rcx
callq 0x2676
jmp 0xcc2e
testl %eax, %eax
jne 0xd04d
movq %r15, %rbx
leaq -0x860(%rbp), %r15
movq %r12, %rsi
movq %r15, %rdx
callq 0x275a
movl (%r15), %eax
movq %rbx, %r15
movl $0xc4, %ecx
jmp 0xd0bd
callq 0x2853
jmp 0xcc5a
cmpl $0x5, 0x4(%r13)
jne 0xd06e
movl $0x0, 0xc8(%r12)
xorl %eax, %eax
jmp 0xd0a8
callq 0x28ca
jmp 0xcfe6
movl 0x10db0c(%r12), %eax
cmpl 0xcc(%r12), %eax
jge 0xd092
movb 0x18(%rdi), %cl
movl $0x1, %edx
shll %cl, %edx
addl %edx, 0xc8(%r12)
xorl %ecx, %ecx
cmpl $0x0, (%r13)
setle %cl
addl 0xc8(%r12), %eax
addl %eax, %eax
subl %ecx, %eax
movl %eax, 0xc4(%r12)
movl 0x10db0c(%r12), %eax
movl $0xcc, %ecx
movl %eax, (%r12,%rcx)
movq 0x24f08(%rip), %rax     # 0x31fd0
movq (%rax), %rdi
movl 0x10db00(%r12), %eax
testl %eax, %eax
leaq 0x1a86d(%rip), %rcx     # 0x27949
leaq 0x1a868(%rip), %rsi     # 0x2794b
cmoveq %rcx, %rsi
cmpl $0x2, %eax
leaq 0x1ebf8(%rip), %rdx     # 0x2bce9
cmovneq %rsi, %rdx
movl 0xc4(%r12), %ecx
leaq 0x1a82b(%rip), %rsi     # 0x2792f
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x2180
testl $0xfffffffd, 0x10db00(%r12) # imm = 0xFFFFFFFD
jne 0xd4e3
leaq 0x1808e(%rip), %rdi     # 0x251b4
leaq 0x1a677(%rip), %rsi     # 0x277a4
leaq 0x1a9d7(%rip), %rdx     # 0x27b0b
xorl %eax, %eax
callq 0x4c22
movq 0x10eff0(%r12), %rax
movq %rax, 0x10efe0(%r12)
movl 0xc4(%r12), %ecx
movl %ecx, 0x68(%rax)
leaq 0x10f078(%r12), %rcx
movl %ebx, 0x10f078(%r12)
leaq 0x10f100(%r12), %rax
movl %ebx, 0x10f100(%r12)
movq 0x8ed8(%r12), %rdx
cmpl %ebx, 0x434(%rdx)
jle 0xd1dc
xorl %edx, %edx
movq 0x10eff8(%r12,%rdx,8), %rsi
movl 0x68(%rsi), %r9d
testl %r9d, %r9d
js 0xd1ca
movq 0x10efe0(%r12), %r10
movl $0x10f080, %edi         # imm = 0x10F080
movq %rcx, %r8
cmpl 0x68(%r10), %r9d
jl 0xd1b9
movl $0x10f108, %edi         # imm = 0x10F108
movq %rax, %r8
jle 0xd1ca
addq %r12, %rdi
movslq (%r8), %r9
leal 0x1(%r9), %r10d
movl %r10d, (%r8)
movq %rsi, (%rdi,%r9,8)
movq (%r14), %rsi
movslq 0x434(%rsi), %rsi
incq %rdx
cmpq %rsi, %rdx
jl 0xd188
movl 0x10f078(%r12), %edx
cmpl $0x2, %edx
movl $0x1, %esi
cmovgel %edx, %esi
decl %esi
xorl %r8d, %r8d
cmpq %rsi, %r8
je 0xd22b
movq %r8, %rdi
movq 0x10f080(%r12,%r8,8), %r9
movq 0x10f088(%r12,%r8,8), %r10
movl 0x68(%r9), %r11d
incq %r8
cmpl 0x68(%r10), %r11d
jge 0xd1f4
movq %r9, 0x10f088(%r12,%rdi,8)
movq %r10, 0x10f080(%r12,%rdi,8)
jmp 0xd1f1
movl 0x10f100(%r12), %esi
cmpl $0x2, %esi
movl $0x1, %edi
cmovgel %esi, %edi
decl %edi
xorl %r9d, %r9d
cmpq %rdi, %r9
je 0xd27a
movq %r9, %r8
movq 0x10f108(%r12,%r9,8), %r10
movq 0x10f110(%r12,%r9,8), %r11
movl 0x68(%r10), %ebx
incq %r9
cmpl 0x68(%r11), %ebx
jle 0xd243
movq %r10, 0x10f110(%r12,%r8,8)
movq %r11, 0x10f108(%r12,%r8,8)
jmp 0xd240
movq 0x10dae0(%r12), %rdi
movl 0x1024(%rdi), %r8d
cmpl %r8d, %edx
jle 0xd291
movl %r8d, (%rcx)
movl 0x1028(%rdi), %ecx
cmpl %ecx, %esi
jle 0xd29d
movl %ecx, (%rax)
movl 0x10db00(%r12), %eax
cmpl $0x2, %eax
je 0xd319
cmpl $0x4, %eax
je 0xd319
movq -0x40(%rbp), %rax
cmpq -0x38(%rbp), %rax
jae 0xd302
movl -0x30(%rbp), %ecx
decl %ecx
movl %ecx, -0x30(%rbp)
movzbl (%rax), %edx
xorl %r14d, %r14d
btl %ecx, %edx
setb %r14b
testl %ecx, %ecx
jne 0xd2e0
incq %rax
movq %rax, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
leaq 0x1a801(%rip), %rdi     # 0x27ae8
leaq 0x1a842(%rip), %rdx     # 0x27b30
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
testl %r14d, %r14d
je 0xd319
jmp 0xd3da
leaq 0x1a7df(%rip), %rdi     # 0x27ae8
leaq 0x1a820(%rip), %rdx     # 0x27b30
xorl %esi, %esi
xorl %eax, %eax
callq 0x4c22
cmpl $0x1, 0x10db00(%r12)
jne 0xd38b
movq -0x40(%rbp), %rax
cmpq -0x38(%rbp), %rax
jae 0xd374
movl -0x30(%rbp), %ecx
decl %ecx
movl %ecx, -0x30(%rbp)
movzbl (%rax), %edx
xorl %r14d, %r14d
btl %ecx, %edx
setb %r14b
testl %ecx, %ecx
jne 0xd355
incq %rax
movq %rax, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
leaq 0x1a78c(%rip), %rdi     # 0x27ae8
leaq 0x1a7cd(%rip), %rdx     # 0x27b30
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
testl %r14d, %r14d
je 0xd38b
jmp 0xd3da
leaq 0x1a76d(%rip), %rdi     # 0x27ae8
leaq 0x1a7ae(%rip), %rdx     # 0x27b30
xorl %esi, %esi
xorl %eax, %eax
callq 0x4c22
movl 0x10db00(%r12), %eax
cmpl $0x3, %eax
je 0xd3a1
cmpl $0x1, %eax
je 0xd3b2
testl %eax, %eax
jne 0xd3e1
movq (%r15), %rcx
cmpl $0x0, 0x102c(%rcx)
jne 0xd3be
cmpl $0x1, %eax
jne 0xd3e1
movq (%r15), %rax
cmpl $0x0, 0x1030(%rax)
je 0xd3e1
leaq 0x17def(%rip), %rdi     # 0x251b4
leaq 0x1a3d8(%rip), %rsi     # 0x277a4
leaq 0x1a767(%rip), %rdx     # 0x27b3a
xorl %eax, %eax
callq 0x4c22
movb $0x1, %cl
jmp 0xcc3f
cmpl $0x0, (%r13)
je 0xd3f5
movl 0x4(%r13), %esi
leaq -0x48(%rbp), %rdi
callq 0xdce0
leaq 0x17db8(%rip), %rdi     # 0x251b4
leaq 0x1a3a1(%rip), %rsi     # 0x277a4
leaq 0x1a7cf(%rip), %rdx     # 0x27bd9
xorl %r14d, %r14d
xorl %eax, %eax
callq 0x4c22
movq (%r15), %rax
cmpl $0x0, 0x8(%rax)
je 0xd548
movl 0x10db00(%r12), %eax
cmpl $0x2, %eax
je 0xd548
cmpl $0x4, %eax
je 0xd548
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rdx
xorl %eax, %eax
movl -0x30(%rbp), %esi
cmpq %rdx, %rcx
jae 0xd479
decl %esi
movl %esi, -0x30(%rbp)
movzbl (%rcx), %r8d
xorl %edi, %edi
btl %esi, %r8d
setb %dil
testl %esi, %esi
jne 0xd47b
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %esi
jmp 0xd47b
xorl %edi, %edi
testl %edi, %edi
jne 0xd48d
cmpq %rdx, %rcx
jae 0xd48d
cmpl $0x1f, %eax
ja 0xd48d
incl %eax
jmp 0xd448
movq %r15, %r13
testl %eax, %eax
je 0xd4ed
movq -0x40(%rbp), %rdi
xorl %esi, %esi
movl -0x30(%rbp), %r8d
leaq 0x1a27b(%rip), %r10     # 0x27720
movl %eax, %r9d
cmpq %rdx, %rdi
jae 0xd514
movl %r8d, %ecx
subl %r9d, %ecx
movzbl (%rdi), %r11d
jns 0xd4f1
movslq %r8d, %rbx
andl (%r10,%rbx,4), %r11d
negb %cl
shll %cl, %r11d
orl %r11d, %esi
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %r8d, %r9d
movl $0x8, %r8d
jg 0xd4a8
jmp 0xd514
callq 0x27c6
jmp 0xd3da
xorl %esi, %esi
jmp 0xd514
shrl %cl, %r11d
movl %r9d, %edx
andl (%r10,%rdx,4), %r11d
orl %r11d, %esi
movl %ecx, -0x30(%rbp)
cmpl %r9d, %r8d
jne 0xd514
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r15d
notl %r15d
addl %esi, %r15d
leaq 0x1a57a(%rip), %rdi     # 0x27aa6
leaq 0x1a6c3(%rip), %rdx     # 0x27bf6
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r15d, 0x10db40(%r12)
movq %r13, %r15
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rax
movl -0x30(%rbp), %edx
xorl %esi, %esi
cmpq %rax, %rcx
jae 0xd582
decl %edx
movl %edx, -0x30(%rbp)
movzbl (%rcx), %edi
xorl %esi, %esi
btl %edx, %edi
setb %sil
testl %edx, %edx
jne 0xd582
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %edx
testl %esi, %esi
jne 0xd596
cmpq %rax, %rcx
jae 0xd596
cmpl $0x1f, %r14d
ja 0xd596
incl %r14d
jmp 0xd553
testl %r14d, %r14d
je 0xd5e7
movq -0x40(%rbp), %rsi
xorl %edx, %edx
movl -0x30(%rbp), %edi
leaq 0x1a175(%rip), %r9      # 0x27720
movl %r14d, %r8d
cmpq %rax, %rsi
jae 0xd60e
movl %edi, %ecx
subl %r8d, %ecx
movzbl (%rsi), %r10d
jns 0xd5eb
movslq %edi, %r11
andl (%r9,%r11,4), %r10d
negb %cl
shll %cl, %r10d
orl %r10d, %edx
incq %rsi
movq %rsi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %edi, %r8d
movl $0x8, %edi
jg 0xd5ae
jmp 0xd60e
xorl %edx, %edx
jmp 0xd60e
shrl %cl, %r10d
movl %r8d, %eax
andl (%r9,%rax,4), %r10d
orl %r10d, %edx
movl %ecx, -0x30(%rbp)
cmpl %r8d, %edi
jne 0xd60e
incq %rsi
movq %rsi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %r14d, %ecx
shll %cl, %eax
movl %eax, %ecx
notl %ecx
addl %edx, %ecx
subl %eax, %edx
sarl %edx
movl %ecx, %r14d
sarl %r14d
negl %r14d
testb $0x1, %cl
cmovnel %edx, %r14d
leaq 0x1a4bf(%rip), %rdi     # 0x27af8
leaq 0x1a5c7(%rip), %rdx     # 0x27c07
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r14d, 0x10db44(%r12)
movl 0x10db00(%r12), %eax
leal -0x3(%rax), %ecx
cmpl $0x1, %ecx
ja 0xd7cd
cmpl $0x3, %eax
jne 0xd6bf
movq -0x40(%rbp), %rax
xorl %r14d, %r14d
cmpq -0x38(%rbp), %rax
jae 0xd69f
movl -0x30(%rbp), %ecx
decl %ecx
movl %ecx, -0x30(%rbp)
movzbl (%rax), %edx
xorl %r14d, %r14d
btl %ecx, %edx
setb %r14b
testl %ecx, %ecx
jne 0xd69f
incq %rax
movq %rax, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
leaq 0x1a442(%rip), %rdi     # 0x27ae8
leaq 0x1a565(%rip), %rdx     # 0x27c12
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r14d, 0x10db48(%r12)
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rdx
xorl %eax, %eax
movl -0x30(%rbp), %esi
cmpq %rdx, %rcx
jae 0xd6fd
decl %esi
movl %esi, -0x30(%rbp)
movzbl (%rcx), %r8d
xorl %edi, %edi
btl %esi, %r8d
setb %dil
testl %esi, %esi
jne 0xd6ff
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %esi
jmp 0xd6ff
xorl %edi, %edi
testl %edi, %edi
jne 0xd711
cmpq %rdx, %rcx
jae 0xd711
cmpl $0x1f, %eax
ja 0xd711
incl %eax
jmp 0xd6cc
testl %eax, %eax
je 0xd764
movq -0x40(%rbp), %rdi
xorl %esi, %esi
movl -0x30(%rbp), %r8d
leaq 0x19ffa(%rip), %r10     # 0x27720
movl %eax, %r9d
cmpq %rdx, %rdi
jae 0xd78b
movl %r8d, %ecx
subl %r9d, %ecx
movzbl (%rdi), %r11d
jns 0xd768
movslq %r8d, %rbx
andl (%r10,%rbx,4), %r11d
negb %cl
shll %cl, %r11d
orl %r11d, %esi
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %r8d, %r9d
movl $0x8, %r8d
jg 0xd729
jmp 0xd78b
xorl %esi, %esi
jmp 0xd78b
shrl %cl, %r11d
movl %r9d, %edx
andl (%r10,%rdx,4), %r11d
orl %r11d, %esi
movl %ecx, -0x30(%rbp)
cmpl %r9d, %r8d
jne 0xd78b
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %edx
movl %edx, %eax
notl %eax
addl %esi, %eax
subl %edx, %esi
sarl %esi
movl %eax, %r14d
sarl %r14d
negl %r14d
testb $0x1, %al
cmovnel %esi, %r14d
leaq 0x1a344(%rip), %rdi     # 0x27af8
leaq 0x1a467(%rip), %rdx     # 0x27c22
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r14d, 0x10db4c(%r12)
movq (%r15), %rax
cmpl $0x0, 0x1040(%rax)
je 0xd882
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rdx
xorl %eax, %eax
movl -0x30(%rbp), %esi
cmpq %rdx, %rcx
jae 0xd81b
decl %esi
movl %esi, -0x30(%rbp)
movzbl (%rcx), %r8d
xorl %edi, %edi
btl %esi, %r8d
setb %dil
testl %esi, %esi
jne 0xd81d
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %esi
jmp 0xd81d
xorl %edi, %edi
testl %edi, %edi
jne 0xd82f
cmpq %rdx, %rcx
jae 0xd82f
cmpl $0x1f, %eax
ja 0xd82f
incl %eax
jmp 0xd7ea
testl %eax, %eax
je 0xd896
movq -0x40(%rbp), %rdi
xorl %esi, %esi
movl -0x30(%rbp), %r8d
leaq 0x19edc(%rip), %r10     # 0x27720
movl %eax, %r9d
cmpq %rdx, %rdi
jae 0xd8bd
movl %r8d, %ecx
subl %r9d, %ecx
movzbl (%rdi), %r11d
jns 0xd89a
movslq %r8d, %rbx
andl (%r10,%rbx,4), %r11d
negb %cl
shll %cl, %r11d
orl %r11d, %esi
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %r8d, %r9d
movl $0x8, %r8d
jg 0xd847
jmp 0xd8bd
movl $0x0, 0x10db54(%r12)
xorl %r14d, %r14d
jmp 0xdb1a
xorl %esi, %esi
jmp 0xd8bd
shrl %cl, %r11d
movl %r9d, %edx
andl (%r10,%rdx,4), %r11d
orl %r11d, %esi
movl %ecx, -0x30(%rbp)
cmpl %r9d, %r8d
jne 0xd8bd
incq %rdi
movq %rdi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r14d
notl %r14d
addl %esi, %r14d
leaq 0x1a1d1(%rip), %rdi     # 0x27aa6
leaq 0x1a351(%rip), %rdx     # 0x27c2d
xorl %r12d, %r12d
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movq -0x50(%rbp), %rax
movl %r14d, 0x10db50(%rax)
cmpl $0x1, %r14d
movb $0x1, %cl
je 0xdb24
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rax
movl -0x30(%rbp), %edx
xorl %esi, %esi
cmpq %rax, %rcx
jae 0xd93a
decl %edx
movl %edx, -0x30(%rbp)
movzbl (%rcx), %edi
xorl %esi, %esi
btl %edx, %edi
setb %sil
testl %edx, %edx
jne 0xd93a
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %edx
testl %esi, %esi
jne 0xd94e
cmpq %rax, %rcx
jae 0xd94e
cmpl $0x1f, %r12d
ja 0xd94e
incl %r12d
jmp 0xd90b
xorl %r14d, %r14d
movl $0x0, %edx
testl %r12d, %r12d
je 0xd9ca
movq -0x40(%rbp), %rsi
xorl %edx, %edx
movl -0x30(%rbp), %edi
leaq 0x19db5(%rip), %r9      # 0x27720
movl %r12d, %r8d
cmpq %rax, %rsi
jae 0xd9ca
movl %edi, %ecx
subl %r8d, %ecx
movzbl (%rsi), %r10d
jns 0xd9a7
movslq %edi, %r11
andl (%r9,%r11,4), %r10d
negb %cl
shll %cl, %r10d
orl %r10d, %edx
incq %rsi
movq %rsi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %edi, %r8d
movl $0x8, %edi
jg 0xd96e
jmp 0xd9ca
shrl %cl, %r10d
movl %r8d, %eax
andl (%r9,%rax,4), %r10d
orl %r10d, %edx
movl %ecx, -0x30(%rbp)
cmpl %r8d, %edi
jne 0xd9ca
incq %rsi
movq %rsi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %r12d, %ecx
shll %cl, %eax
movl %eax, %ecx
notl %ecx
addl %edx, %ecx
subl %eax, %edx
sarl %edx
movq %r15, %rbx
movl %ecx, %r15d
sarl %r15d
negl %r15d
testb $0x1, %cl
cmovnel %edx, %r15d
leaq 0x1a100(%rip), %rdi     # 0x27af8
leaq 0x1a24e(%rip), %rdx     # 0x27c4d
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
movq -0x50(%rbp), %r12
movl %r15d, 0x10db54(%r12)
movq %rbx, %r15
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rax
movl -0x30(%rbp), %edx
xorl %esi, %esi
cmpq %rax, %rcx
jae 0xda52
decl %edx
movl %edx, -0x30(%rbp)
movzbl (%rcx), %edi
xorl %esi, %esi
btl %edx, %edi
setb %sil
testl %edx, %edx
jne 0xda52
incq %rcx
movq %rcx, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0x8, %edx
testl %esi, %esi
jne 0xda66
cmpq %rax, %rcx
jae 0xda66
cmpl $0x1f, %r14d
ja 0xda66
incl %r14d
jmp 0xda23
testl %r14d, %r14d
je 0xdab7
movq -0x40(%rbp), %rsi
xorl %edx, %edx
movl -0x30(%rbp), %edi
leaq 0x19ca5(%rip), %r9      # 0x27720
movl %r14d, %r8d
cmpq %rax, %rsi
jae 0xdade
movl %edi, %ecx
subl %r8d, %ecx
movzbl (%rsi), %r10d
jns 0xdabb
movslq %edi, %r11
andl (%r9,%r11,4), %r10d
negb %cl
shll %cl, %r10d
orl %r10d, %edx
incq %rsi
movq %rsi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
subl %edi, %r8d
movl $0x8, %edi
jg 0xda7e
jmp 0xdade
xorl %edx, %edx
jmp 0xdade
shrl %cl, %r10d
movl %r8d, %eax
andl (%r9,%rax,4), %r10d
orl %r10d, %edx
movl %ecx, -0x30(%rbp)
cmpl %r8d, %edi
jne 0xdade
incq %rsi
movq %rsi, -0x40(%rbp)
movl $0x8, -0x30(%rbp)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %r14d, %ecx
shll %cl, %eax
movl %eax, %ecx
notl %ecx
addl %edx, %ecx
subl %eax, %edx
sarl %edx
movl %ecx, %r14d
sarl %r14d
negl %r14d
testb $0x1, %cl
cmovnel %edx, %r14d
leaq 0x19fef(%rip), %rdi     # 0x27af8
leaq 0x1a14f(%rip), %rdx     # 0x27c5f
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r14d, 0x10db58(%r12)
movb $0x1, %cl
movq (%r15), %rax
cmpl $0x2, 0x10(%rax)
movq -0x50(%rbp), %r12
jl 0xdb45
movl 0x14(%rax), %eax
addl $-0x3, %eax
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
cmpl $0x3, %eax
jb 0xcc52
xorl %ecx, %ecx
xorl %ebx, %ebx
jmp 0xcc52