// File: /workspace/github_c_makefile_star2_O3/akumrao[P]videoAnalyzer/encoder/me.c
// Function: x264_me_diamond(x264_t*, unsigned char*, int, unsigned char*, int, int, int, int*, int*)
static int x264_me_diamond( x264_t *h,  
                                uint8_t *p_ref, int i_ref,  
                                uint8_t *p_img, int i_img,  
                                int i_sad_mode,  
                                int i_lambda_motion,  
                                int *pi_mvx, int *pi_mvy )  
    {  
        int bw, bh;  
        int i_bsatd;  
        int i_bmx, i_bmy;  
      
        /* block size */  
        switch( i_sad_mode )  
        {  
            case PIXEL_16x16:  
                bw = bh = 16;  
                break;  
            case PIXEL_16x8:  
                bw = 16; bh = 8;  
                break;  
            case PIXEL_8x16:  
                bw = 8; bh = 16;  
                break;  
            case PIXEL_8x8:  
                bw = 8; bh = 8;  
                break;  
            case PIXEL_8x4:  
                bw = 8; bh = 4;  
                break;  
            case PIXEL_4x8:  
                bw = 4; bh = 8;  
                break;  
            case PIXEL_4x4:  
            default:  
                bw = 4; bh = 4;  
                break;  
        }  
      
        /* init with center */  
        i_bmx = x264_clip3( (*pi_mvx)>>2, -16, 16 );  
        i_bmy = x264_clip3( (*pi_mvy)>>2, -16, 16 );  
        i_bsatd = h->pixf.sad[i_sad_mode]( p_img, i_img, &p_ref[i_bmy*i_ref+i_bmx], i_ref );  
      
        for( ;; )  
        {  
            int satd[4];  
            int i, i_b;  
            if( i_bmx < -16 || i_bmx > 16 || i_bmy < -16 || i_bmy > 16 )  
            {  
                break;  
            }  
    #define TEST_MV( mx, my ) \
            h->pixf.sad[i_sad_mode]( p_img, i_img, &p_ref[(my)*i_ref+(mx)], i_ref ) + \
                i_lambda_motion * ( bs_size_se(((mx)<<2) - (*pi_mvx))+bs_size_se(((my)<<2) - (*pi_mvy)) )  
            satd[0] = TEST_MV( i_bmx,   i_bmy-1 );  
            satd[1] = TEST_MV( i_bmx,   i_bmy+1 );  
            satd[2] = TEST_MV( i_bmx-1, i_bmy );  
            satd[3] = TEST_MV( i_bmx+1, i_bmy );  
    #undef TEST_MV  
      
            for( i = 1, i_b = 0; i < 4; i++ )  
            {  
                if( satd[i] < satd[i_b] )  
                {  
                    i_b = i;  
                }  
            }  
            if( satd[i_b] >= i_bsatd )  
            {  
                break;  
            }  
      
            if( i_b == 0 )      i_bmy--;  
            else if( i_b == 1 ) i_bmy++;  
            else if( i_b == 2 ) i_bmx--;  
            else if( i_b == 3 ) i_bmx++;  
            i_bsatd = satd[i_b];  
        }  
      
        /* 1/4 pixel rafinement using diamond research */  
        i_bsatd = h->pixf.satd[i_sad_mode]( p_img, i_img, &p_ref[i_bmx+i_bmy*i_ref], i_ref ) +  
                    i_lambda_motion * ( bs_size_se((i_bmx<<2) - (*pi_mvx))+bs_size_se((i_bmy<<2) - (*pi_mvy)) );  
        i_bmx <<= 2;  
        i_bmy <<= 2;  
        {  
            uint8_t pix[16*16];  
            int satd[4];  
            int i, i_b;  
      
    #define TEST_MV( s, mx, my ) \
            h->mc[MC_LUMA]( p_ref, i_ref, pix, bw, (mx), (my), bw, bh ); \
            (s) = h->pixf.satd[i_sad_mode]( p_img, i_img, pix, bw ) + \
                i_lambda_motion * ( bs_size_se((mx) - (*pi_mvx))+bs_size_se((my) - (*pi_mvy)) )  
      
            TEST_MV( satd[0], i_bmx,   i_bmy-1 );  
            TEST_MV( satd[1], i_bmx,   i_bmy+1 );  
            TEST_MV( satd[2], i_bmx-1, i_bmy );  
            TEST_MV( satd[3], i_bmx+1, i_bmy );  
            for( i = 1, i_b = 0; i < 4; i++ )  
            {  
                if( satd[i] < satd[i_b] )  
                {  
                    i_b = i;  
                }  
            }  
            if( satd[i_b] < i_bsatd )  
            {  
                if( i_b == 0 )      i_bmy--;  
                else if( i_b == 1 ) i_bmy++;  
                else if( i_b == 2 ) i_bmx--;  
                else if( i_b == 3 ) i_bmx++;  
                i_bsatd = satd[i_b];  
      
                if( i_b != 1 ) { TEST_MV( satd[0], i_bmx,   i_bmy-1 ); } else { satd[0] = i_bsatd; }  
                if( i_b != 0 ) { TEST_MV( satd[1], i_bmx,   i_bmy+1 ); } else { satd[1] = i_bsatd; }  
                if( i_b != 3 ) { TEST_MV( satd[2], i_bmx-1, i_bmy   ); } else { satd[2] = i_bsatd; }  
                if( i_b != 2 ) { TEST_MV( satd[3], i_bmx+1, i_bmy   ); } else { satd[3] = i_bsatd; }  
      
                for( i = 1, i_b = 0; i < 4; i++ )  
                {  
                    if( satd[i] < satd[i_b] )  
                    {  
                        i_b = i;  
                    }  
                }  
                if( satd[i_b] < i_bsatd )  
                {  
                    if( i_b == 0 )      i_bmy--;  
                    else if( i_b == 1 ) i_bmy++;  
                    else if( i_b == 2 ) i_bmx--;  
                    else if( i_b == 3 ) i_bmx++;  
                    i_bsatd = satd[i_b];  
                }  
            }  
    #undef TEST_MV  
        }  
      
      
        *pi_mvx = i_bmx;  
        *pi_mvy = i_bmy;  
      
        return i_bsatd;  
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x198, %rsp            # imm = 0x198
movl %r8d, -0x34(%rbp)
movq %rcx, -0x68(%rbp)
movl %edx, %r12d
movq %rsi, -0x60(%rbp)
movq %rdi, -0x70(%rbp)
movl $0x4, %eax
movq %rax, -0x88(%rbp)
movl $0x4, %eax
movq %rax, -0x80(%rbp)
cmpl $0x5, %r9d
ja 0x1dabf
movl %r9d, %eax
leaq 0x10845(%rip), %rcx     # 0x2e2ec
movl (%rcx,%rax,4), %ecx
movq %rcx, -0x88(%rbp)
leaq 0x1084c(%rip), %rcx     # 0x2e304
movl (%rcx,%rax,4), %eax
movq %rax, -0x80(%rbp)
movq 0x18(%rbp), %rax
movl (%rax), %ebx
sarl $0x2, %ebx
movl $0x10, %eax
cmpl %eax, %ebx
cmovgel %eax, %ebx
cmpl $-0xf, %ebx
movl $0xfffffff0, %ecx       # imm = 0xFFFFFFF0
cmovll %ecx, %ebx
movq 0x20(%rbp), %rdx
movl (%rdx), %r13d
sarl $0x2, %r13d
cmpl %eax, %r13d
cmovgel %eax, %r13d
cmpl $-0xf, %r13d
cmovll %ecx, %r13d
movslq %r9d, %r8
movl %r13d, %eax
imull %r12d, %eax
addl %ebx, %eax
movslq %eax, %rdx
addq -0x60(%rbp), %rdx
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %esi
movl %r12d, %ecx
movq -0x70(%rbp), %rax
movq %r8, -0x78(%rbp)
callq *0x10f2a8(%rax,%r8,8)
movl %eax, %edx
movl %r12d, -0x2c(%rbp)
movl %edx, -0x30(%rbp)
movq %r13, -0x48(%rbp)
leal -0x1(%r13), %r15d
movl %r15d, %eax
imull %r12d, %eax
addl %ebx, %eax
movslq %eax, %rdx
addq -0x60(%rbp), %rdx
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %esi
movl %r12d, %ecx
movq -0x70(%rbp), %rax
movq -0x78(%rbp), %r8
callq *0x10f2a8(%rax,%r8,8)
movl %eax, -0x50(%rbp)
movq %rbx, -0x40(%rbp)
leal (,%rbx,4), %ebx
movl %ebx, %r14d
movq 0x18(%rbp), %rax
subl (%rax), %r14d
leaq 0x9636(%rip), %r12      # 0x271b4
movq %r12, %rdi
leaq 0xd354(%rip), %r13      # 0x2aedc
movq %r13, %rsi
leaq 0x1079e(%rip), %rdx     # 0x2e330
xorl %eax, %eax
callq 0x4a56
leal (%r14,%r14), %eax
negl %eax
testl %r14d, %r14d
leal -0x1(%r14,%r14), %r14d
cmovlel %eax, %r14d
movq %r12, %rdi
movq %r13, %rsi
leaq 0xd339(%rip), %rdx      # 0x2aef1
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r14d
ja 0x1dbd8
movl %r14d, %eax
leaq 0x1031e(%rip), %rcx     # 0x2def0
movl (%rcx,%rax,4), %r12d
jmp 0x1dc18
leal 0x1(%r14), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r14d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %r12d
movl %ecx, %eax
shrl $0x8, %eax
decl %eax
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %eax
cmovbl %edx, %r12d
leaq 0x102dc(%rip), %rcx     # 0x2def0
addl (%rcx,%rax,4), %r12d
movq %r15, -0xb0(%rbp)
leal (,%r15,4), %r14d
movq 0x20(%rbp), %rax
subl (%rax), %r14d
leaq 0x957f(%rip), %r13      # 0x271b4
movq %r13, %rdi
leaq 0xd29d(%rip), %r15      # 0x2aedc
movq %r15, %rsi
leaq 0x106e7(%rip), %rdx     # 0x2e330
xorl %eax, %eax
callq 0x4a56
leal (%r14,%r14), %eax
negl %eax
testl %r14d, %r14d
leal -0x1(%r14,%r14), %r14d
cmovlel %eax, %r14d
movq %r13, %rdi
movq %r15, %rsi
leaq 0xd282(%rip), %rdx      # 0x2aef1
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r14d
ja 0x1dc8e
movl %r14d, %eax
leaq 0x10267(%rip), %rcx     # 0x2def0
movl (%rcx,%rax,4), %eax
jmp 0x1dccb
leal 0x1(%r14), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r14d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %eax
movl %ecx, %esi
shrl $0x8, %esi
decl %esi
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %esi
cmovbl %edx, %eax
leaq 0x10228(%rip), %rcx     # 0x2def0
addl (%rcx,%rsi,4), %eax
addl %r12d, %eax
imull 0x10(%rbp), %eax
addl -0x50(%rbp), %eax
movl %eax, -0x1c0(%rbp)
movq -0x48(%rbp), %rax
leal 0x1(%rax), %r13d
movl %r13d, %eax
movl -0x2c(%rbp), %r12d
imull %r12d, %eax
addl -0x40(%rbp), %eax
movslq %eax, %rdx
addq -0x60(%rbp), %rdx
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %esi
movl %r12d, %ecx
movq -0x70(%rbp), %rax
movq -0x78(%rbp), %r8
callq *0x10f2a8(%rax,%r8,8)
movl %eax, -0x50(%rbp)
movq 0x18(%rbp), %rax
subl (%rax), %ebx
leaq 0x9492(%rip), %r14      # 0x271b4
movq %r14, %rdi
leaq 0xd1b0(%rip), %r15      # 0x2aedc
movq %r15, %rsi
leaq 0x105fa(%rip), %rdx     # 0x2e330
xorl %eax, %eax
callq 0x4a56
leal (%rbx,%rbx), %eax
negl %eax
testl %ebx, %ebx
leal -0x1(%rbx,%rbx), %ebx
cmovlel %eax, %ebx
movq %r14, %rdi
movq %r15, %rsi
leaq 0xd199(%rip), %rdx      # 0x2aef1
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %ebx
ja 0x1dd75
movl %ebx, %eax
leaq 0x10180(%rip), %rcx     # 0x2def0
movl (%rcx,%rax,4), %ebx
jmp 0x1ddb0
leal 0x1(%rbx), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %ebx           # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %ebx
movl %ecx, %eax
shrl $0x8, %eax
decl %eax
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %eax
cmovbl %edx, %ebx
leaq 0x10143(%rip), %rcx     # 0x2def0
addl (%rcx,%rax,4), %ebx
movq %r13, -0xa8(%rbp)
leal (,%r13,4), %r14d
movq 0x20(%rbp), %rax
subl (%rax), %r14d
leaq 0x93e7(%rip), %r13      # 0x271b4
movq %r13, %rdi
leaq 0xd105(%rip), %r15      # 0x2aedc
movq %r15, %rsi
leaq 0x1054f(%rip), %rdx     # 0x2e330
xorl %eax, %eax
callq 0x4a56
leal (%r14,%r14), %eax
negl %eax
testl %r14d, %r14d
leal -0x1(%r14,%r14), %r14d
cmovlel %eax, %r14d
movq %r13, %rdi
movq %r15, %rsi
leaq 0xd0ea(%rip), %rdx      # 0x2aef1
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r14d
ja 0x1de26
movl %r14d, %eax
leaq 0x100cf(%rip), %rcx     # 0x2def0
movl (%rcx,%rax,4), %eax
jmp 0x1de63
leal 0x1(%r14), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r14d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %eax
movl %ecx, %esi
shrl $0x8, %esi
decl %esi
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %esi
cmovbl %edx, %eax
leaq 0x10090(%rip), %rcx     # 0x2def0
addl (%rcx,%rsi,4), %eax
addl %ebx, %eax
imull 0x10(%rbp), %eax
addl -0x50(%rbp), %eax
movl %eax, -0x1bc(%rbp)
movq -0x48(%rbp), %rbx
movl %ebx, %eax
imull %r12d, %eax
movq -0x40(%rbp), %rbx
movq %rax, -0x50(%rbp)
addl %ebx, %eax
decl %eax
movslq %eax, %rdx
addq -0x60(%rbp), %rdx
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %esi
movl %r12d, %ecx
movq -0x70(%rbp), %rax
movq -0x78(%rbp), %r8
callq *0x10f2a8(%rax,%r8,8)
movl %eax, -0x54(%rbp)
leal -0x4(,%rbx,4), %r14d
movq 0x18(%rbp), %rax
subl (%rax), %r14d
leaq 0x92f2(%rip), %r12      # 0x271b4
movq %r12, %rdi
leaq 0xd010(%rip), %r15      # 0x2aedc
movq %r15, %rsi
leaq 0x1045a(%rip), %rdx     # 0x2e330
xorl %eax, %eax
callq 0x4a56
leal (%r14,%r14), %eax
negl %eax
testl %r14d, %r14d
leal -0x1(%r14,%r14), %r14d
cmovlel %eax, %r14d
movq %r12, %rdi
movq %r15, %rsi
leaq 0xcff5(%rip), %rdx      # 0x2aef1
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r14d
ja 0x1df1c
movl %r14d, %eax
leaq 0xffda(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %r14d
jmp 0x1df5c
leal 0x1(%r14), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r14d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %r14d
movl %ecx, %eax
shrl $0x8, %eax
decl %eax
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %eax
cmovbl %edx, %r14d
leaq 0xff98(%rip), %rcx      # 0x2def0
addl (%rcx,%rax,4), %r14d
movq -0x48(%rbp), %rax
leal (,%rax,4), %r12d
movl %r12d, %r15d
movq 0x20(%rbp), %rax
subl (%rax), %r15d
leaq 0x923b(%rip), %r13      # 0x271b4
movq %r13, %rdi
leaq 0xcf59(%rip), %rbx      # 0x2aedc
movq %rbx, %rsi
leaq 0x103a3(%rip), %rdx     # 0x2e330
xorl %eax, %eax
callq 0x4a56
leal (%r15,%r15), %eax
negl %eax
testl %r15d, %r15d
leal -0x1(%r15,%r15), %r15d
cmovlel %eax, %r15d
movq %r13, %rdi
movq %rbx, %rsi
leaq 0xcf3e(%rip), %rdx      # 0x2aef1
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r15d
ja 0x1dfd2
movl %r15d, %eax
leaq 0xff23(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %eax
jmp 0x1e00f
leal 0x1(%r15), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r15d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %eax
movl %ecx, %esi
shrl $0x8, %esi
decl %esi
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %esi
cmovbl %edx, %eax
leaq 0xfee4(%rip), %rcx      # 0x2def0
addl (%rcx,%rsi,4), %eax
addl %r14d, %eax
imull 0x10(%rbp), %eax
addl -0x54(%rbp), %eax
movl %eax, -0x1b8(%rbp)
movq -0x40(%rbp), %r14
movq -0x50(%rbp), %rax
addl %r14d, %eax
incl %eax
movslq %eax, %rdx
addq -0x60(%rbp), %rdx
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %esi
movl -0x2c(%rbp), %ecx
movq -0x70(%rbp), %rax
movq -0x78(%rbp), %r8
callq *0x10f2a8(%rax,%r8,8)
movl %eax, -0x54(%rbp)
leal 0x4(,%r14,4), %r14d
movq 0x18(%rbp), %rax
subl (%rax), %r14d
leaq 0x914e(%rip), %r15      # 0x271b4
movq %r15, %rdi
leaq 0xce6c(%rip), %rbx      # 0x2aedc
movq %rbx, %rsi
leaq 0x102b6(%rip), %rdx     # 0x2e330
xorl %eax, %eax
callq 0x4a56
leal (%r14,%r14), %eax
negl %eax
testl %r14d, %r14d
leal -0x1(%r14,%r14), %r14d
cmovlel %eax, %r14d
movq %r15, %rdi
movq %rbx, %rsi
leaq 0xce51(%rip), %rdx      # 0x2aef1
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r14d
ja 0x1e0c0
movl %r14d, %eax
leaq 0xfe36(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %r14d
jmp 0x1e100
leal 0x1(%r14), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r14d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %r14d
movl %ecx, %eax
shrl $0x8, %eax
decl %eax
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %eax
cmovbl %edx, %r14d
leaq 0xfdf4(%rip), %rcx      # 0x2def0
addl (%rcx,%rax,4), %r14d
movq 0x20(%rbp), %rax
subl (%rax), %r12d
leaq 0x90a6(%rip), %r13      # 0x271b4
movq %r13, %rdi
leaq 0xcdc4(%rip), %rbx      # 0x2aedc
movq %rbx, %rsi
leaq 0x1020e(%rip), %rdx     # 0x2e330
xorl %eax, %eax
callq 0x4a56
leal (%r12,%r12), %eax
negl %eax
testl %r12d, %r12d
leal -0x1(%r12,%r12), %r15d
cmovlel %eax, %r15d
movq %r13, %rdi
movq %rbx, %rsi
leaq 0xcda9(%rip), %rdx      # 0x2aef1
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r15d
ja 0x1e167
movl %r15d, %eax
leaq 0xfd8e(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %edx
jmp 0x1e1a5
leal 0x1(%r15), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %esi, %esi
cmpl $0xffff, %r15d          # imm = 0xFFFF
setae %sil
cmovbl %eax, %ecx
shll $0x5, %esi
leal 0x10(%rsi), %edx
movl %ecx, %eax
shrl $0x8, %eax
decl %eax
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %eax
cmovbl %esi, %edx
leaq 0xfd4e(%rip), %rcx      # 0x2def0
addl (%rcx,%rax,4), %edx
movl -0x2c(%rbp), %r12d
addl %r14d, %edx
movq -0x40(%rbp), %rbx
leal -0x1(%rbx), %eax
leal 0x1(%rbx), %ecx
imull 0x10(%rbp), %edx
addl -0x54(%rbp), %edx
movl %edx, -0x1b4(%rbp)
xorl %edi, %edi
movl $0x1, %edx
movq -0x48(%rbp), %r13
movq -0xb0(%rbp), %r10
movl -0x1c0(%rbp,%rdx,4), %r8d
movslq %edi, %r9
movl %edx, %esi
cmpl -0x1c0(%rbp,%r9,4), %r8d
jl 0x1e1ee
movl %edi, %esi
incq %rdx
movl %esi, %edi
cmpq $0x4, %rdx
jne 0x1e1d5
movslq %esi, %rdx
movl -0x1c0(%rbp,%rdx,4), %edx
cmpl -0x30(%rbp), %edx
jge 0x1e251
cmpl $0x3, %esi
ja 0x1e233
movl %esi, %esi
leaq 0xfbea(%rip), %rdi      # 0x2de00
movslq (%rdi,%rsi,4), %rsi
addq %rdi, %rsi
jmpq *%rsi
movl %r10d, %r13d
jmp 0x1e233
movl %eax, %ebx
jmp 0x1e233
movl %ecx, %ebx
jmp 0x1e233
movq -0xa8(%rbp), %r13
leal -0x11(%rbx), %eax
cmpl $-0x21, %eax
jb 0x1e248
leal -0x11(%r13), %eax
cmpl $-0x22, %eax
ja 0x1db2a
movl %r13d, %eax
imull %r12d, %eax
jmp 0x1e255
movq -0x50(%rbp), %rax
addl %ebx, %eax
movslq %eax, %rdx
addq -0x60(%rbp), %rdx
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %esi
movl %r12d, %ecx
movq -0x70(%rbp), %rax
movq -0x78(%rbp), %r8
callq *0x10f2e0(%rax,%r8,8)
movl %eax, -0xb0(%rbp)
shll $0x2, %ebx
movq %rbx, -0x40(%rbp)
movq %rbx, %r15
movq 0x18(%rbp), %rax
subl (%rax), %r15d
leaq 0x8f1e(%rip), %rbx      # 0x271b4
leaq 0xcc3f(%rip), %r14      # 0x2aedc
leaq 0x1008c(%rip), %rdx     # 0x2e330
movq %rbx, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x4a56
leal (%r15,%r15), %eax
negl %eax
testl %r15d, %r15d
leal -0x1(%r15,%r15), %r15d
cmovlel %eax, %r15d
leaq 0xcc27(%rip), %rdx      # 0x2aef1
movq %rbx, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r15d
ja 0x1e2f2
movl %r15d, %eax
leaq 0xfc06(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %eax
movl %eax, -0x54(%rbp)
jmp 0x1e332
leal 0x1(%r15), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r15d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %esi
movl %ecx, %eax
shrl $0x8, %eax
decl %eax
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %eax
cmovbl %edx, %esi
leaq 0xfbc4(%rip), %rcx      # 0x2def0
addl (%rcx,%rax,4), %esi
movl %esi, -0x54(%rbp)
shll $0x2, %r13d
movl %r13d, %r15d
movq 0x20(%rbp), %rax
subl (%rax), %r15d
leaq 0x8e6d(%rip), %rbx      # 0x271b4
leaq 0xcb8e(%rip), %r14      # 0x2aedc
leaq 0xffdb(%rip), %rdx      # 0x2e330
movq %rbx, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x4a56
leal (%r15,%r15), %eax
negl %eax
testl %r15d, %r15d
leal -0x1(%r15,%r15), %r15d
cmovlel %eax, %r15d
leaq 0xcb76(%rip), %rdx      # 0x2aef1
movq %rbx, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r15d
ja 0x1e3a3
movl %r15d, %eax
leaq 0xfb55(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %eax
movl %eax, -0x50(%rbp)
jmp 0x1e3e3
leal 0x1(%r15), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r15d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %esi
movl %ecx, %eax
shrl $0x8, %eax
decl %eax
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %eax
cmovbl %edx, %esi
leaq 0xfb13(%rip), %rcx      # 0x2def0
addl (%rcx,%rax,4), %esi
movl %esi, -0x50(%rbp)
leal -0x1(%r13), %r9d
leaq -0x1c0(%rbp), %rbx
movq -0x60(%rbp), %rdi
movl %r12d, %esi
movq %rbx, %rdx
movq -0x88(%rbp), %r15
movl %r15d, %ecx
movq -0x40(%rbp), %r12
movl %r12d, %r8d
movl %r9d, -0x30(%rbp)
pushq -0x80(%rbp)
pushq %r15
movq -0x70(%rbp), %r14
callq *0x10f380(%r14)
addq $0x10, %rsp
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %esi
movq %rbx, %rdx
movl %r15d, %ecx
movq -0x78(%rbp), %rax
callq *0x10f2e0(%r14,%rax,8)
movl %eax, %ebx
movq 0x18(%rbp), %rax
subl (%rax), %r12d
leaq 0x8d6a(%rip), %r14      # 0x271b4
leaq 0xca8b(%rip), %r15      # 0x2aedc
leaq 0xfed8(%rip), %rdx      # 0x2e330
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4a56
leal (%r12,%r12), %eax
negl %eax
testl %r12d, %r12d
leal -0x1(%r12,%r12), %r12d
cmovlel %eax, %r12d
leaq 0xca73(%rip), %rdx      # 0x2aef1
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r12d
movq %r13, -0x48(%rbp)
ja 0x1e4a8
movl %r12d, %eax
leaq 0xfa4e(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %r12d
jmp 0x1e4e9
leal 0x1(%r12), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r12d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %r12d
movl %ecx, %eax
shrl $0x8, %eax
decl %eax
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %eax
cmovbl %edx, %r12d
leaq 0xfa0b(%rip), %rcx      # 0x2def0
addl (%rcx,%rax,4), %r12d
movl -0x30(%rbp), %eax
movl %eax, %r13d
movq 0x20(%rbp), %rax
subl (%rax), %r13d
leaq 0x8cb7(%rip), %r14      # 0x271b4
leaq 0xc9d8(%rip), %r15      # 0x2aedc
leaq 0xfe25(%rip), %rdx      # 0x2e330
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4a56
leal (,%r13,2), %eax
negl %eax
testl %r13d, %r13d
leal -0x1(%r13,%r13), %r13d
cmovlel %eax, %r13d
leaq 0xc9bc(%rip), %rdx      # 0x2aef1
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r13d
ja 0x1e55a
movl %r13d, %eax
leaq 0xf99b(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %eax
jmp 0x1e597
leal 0x1(%r13), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r13d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %eax
movl %ecx, %esi
shrl $0x8, %esi
decl %esi
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %esi
cmovbl %edx, %eax
leaq 0xf95c(%rip), %rcx      # 0x2def0
addl (%rcx,%rsi,4), %eax
movq -0x40(%rbp), %r14
addl %r12d, %eax
imull 0x10(%rbp), %eax
addl %ebx, %eax
movl %eax, -0xa0(%rbp)
movq -0x48(%rbp), %rax
movl %eax, %r13d
orl $0x1, %r13d
leaq -0x1c0(%rbp), %rbx
movq -0x60(%rbp), %rdi
movl -0x2c(%rbp), %esi
movq %rbx, %rdx
movq -0x88(%rbp), %r12
movl %r12d, %ecx
movl %r14d, %r8d
movl %r13d, %r9d
pushq -0x80(%rbp)
pushq %r12
movq -0x70(%rbp), %r15
callq *0x10f380(%r15)
addq $0x10, %rsp
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %esi
movq %rbx, %rdx
movl %r12d, %ecx
movq -0x78(%rbp), %rax
callq *0x10f2e0(%r15,%rax,8)
movl %eax, %ebx
movl %r14d, %r12d
movq 0x18(%rbp), %rax
subl (%rax), %r12d
leaq 0x8b9e(%rip), %r14      # 0x271b4
leaq 0xc8bf(%rip), %r15      # 0x2aedc
leaq 0xfd0c(%rip), %rdx      # 0x2e330
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4a56
leal (%r12,%r12), %eax
negl %eax
testl %r12d, %r12d
leal -0x1(%r12,%r12), %r12d
cmovlel %eax, %r12d
leaq 0xc8a7(%rip), %rdx      # 0x2aef1
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r12d
ja 0x1e670
movl %r12d, %eax
leaq 0xf886(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %r12d
jmp 0x1e6b1
leal 0x1(%r12), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r12d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %r12d
movl %ecx, %eax
shrl $0x8, %eax
decl %eax
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %eax
cmovbl %edx, %r12d
leaq 0xf843(%rip), %rcx      # 0x2def0
addl (%rcx,%rax,4), %r12d
movq %r13, -0xa8(%rbp)
movq 0x20(%rbp), %rax
subl (%rax), %r13d
leaq 0x8aee(%rip), %r14      # 0x271b4
leaq 0xc80f(%rip), %r15      # 0x2aedc
leaq 0xfc5c(%rip), %rdx      # 0x2e330
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4a56
leal (,%r13,2), %eax
negl %eax
testl %r13d, %r13d
leal -0x1(%r13,%r13), %r13d
cmovlel %eax, %r13d
leaq 0xc7f3(%rip), %rdx      # 0x2aef1
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r13d
ja 0x1e723
movl %r13d, %eax
leaq 0xf7d2(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %eax
jmp 0x1e760
leal 0x1(%r13), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r13d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %eax
movl %ecx, %esi
shrl $0x8, %esi
decl %esi
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %esi
cmovbl %edx, %eax
leaq 0xf793(%rip), %rcx      # 0x2def0
addl (%rcx,%rsi,4), %eax
movq -0x40(%rbp), %rcx
addl %r12d, %eax
imull 0x10(%rbp), %eax
addl %ebx, %eax
movl %eax, -0x9c(%rbp)
leal -0x1(%rcx), %r12d
leaq -0x1c0(%rbp), %r14
movq -0x60(%rbp), %rdi
movl -0x2c(%rbp), %esi
movq %r14, %rdx
movq -0x88(%rbp), %r15
movl %r15d, %ecx
movl %r12d, %r8d
movq -0x48(%rbp), %r13
movl %r13d, %r9d
pushq -0x80(%rbp)
pushq %r15
movq -0x70(%rbp), %rbx
callq *0x10f380(%rbx)
addq $0x10, %rsp
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %esi
movq %r14, %rdx
movl %r15d, %ecx
movq -0x78(%rbp), %rax
callq *0x10f2e0(%rbx,%rax,8)
movl %eax, %r14d
movl %r12d, -0xb4(%rbp)
movl %r12d, %ebx
movq 0x18(%rbp), %rax
subl (%rax), %ebx
leaq 0x89d3(%rip), %r15      # 0x271b4
leaq 0xc6f4(%rip), %r12      # 0x2aedc
leaq 0xfb41(%rip), %rdx      # 0x2e330
movq %r15, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
leal (%rbx,%rbx), %eax
negl %eax
testl %ebx, %ebx
leal -0x1(%rbx,%rbx), %ebx
cmovlel %eax, %ebx
leaq 0xc6e0(%rip), %rdx      # 0x2aef1
movq %r15, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %ebx
ja 0x1e834
movl %ebx, %eax
leaq 0xf6c1(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %ebx
jmp 0x1e86f
leal 0x1(%rbx), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %ebx           # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %ebx
movl %ecx, %eax
shrl $0x8, %eax
decl %eax
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %eax
cmovbl %edx, %ebx
leaq 0xf684(%rip), %rcx      # 0x2def0
addl (%rcx,%rax,4), %ebx
movq 0x20(%rbp), %rax
subl (%rax), %r13d
leaq 0x8937(%rip), %r15      # 0x271b4
leaq 0xc658(%rip), %r12      # 0x2aedc
leaq 0xfaa5(%rip), %rdx      # 0x2e330
movq %r15, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
leal (,%r13,2), %eax
negl %eax
testl %r13d, %r13d
leal -0x1(%r13,%r13), %r13d
cmovlel %eax, %r13d
leaq 0xc63c(%rip), %rdx      # 0x2aef1
movq %r15, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r13d
ja 0x1e8da
movl %r13d, %eax
leaq 0xf61b(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %eax
jmp 0x1e917
leal 0x1(%r13), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r13d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %eax
movl %ecx, %esi
shrl $0x8, %esi
decl %esi
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %esi
cmovbl %edx, %eax
leaq 0xf5dc(%rip), %rcx      # 0x2def0
addl (%rcx,%rsi,4), %eax
movq -0x40(%rbp), %rcx
movl -0x2c(%rbp), %esi
movl -0x50(%rbp), %edx
addl %ebx, %eax
addl -0x54(%rbp), %edx
movl %edx, -0x50(%rbp)
imull 0x10(%rbp), %eax
addl %r14d, %eax
movl %eax, -0x98(%rbp)
movl %ecx, %r14d
orl $0x1, %r14d
leaq -0x1c0(%rbp), %r15
movq -0x60(%rbp), %rdi
movq %r15, %rdx
movq -0x88(%rbp), %r12
movl %r12d, %ecx
movl %r14d, %r8d
movq -0x48(%rbp), %r9
pushq -0x80(%rbp)
pushq %r12
movq -0x70(%rbp), %rbx
callq *0x10f380(%rbx)
addq $0x10, %rsp
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %esi
movq %r15, %rdx
movl %r12d, %ecx
movq -0x78(%rbp), %rax
callq *0x10f2e0(%rbx,%rax,8)
movl %eax, -0x54(%rbp)
movl %r14d, %ebx
movq 0x18(%rbp), %rax
subl (%rax), %ebx
leaq 0x881a(%rip), %r12      # 0x271b4
leaq 0xc53b(%rip), %r13      # 0x2aedc
leaq 0xf988(%rip), %rdx      # 0x2e330
movq %r12, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x4a56
leal (%rbx,%rbx), %eax
negl %eax
testl %ebx, %ebx
leal -0x1(%rbx,%rbx), %ebx
cmovlel %eax, %ebx
leaq 0xc527(%rip), %rdx      # 0x2aef1
movq %r12, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %ebx
ja 0x1e9ed
movl %ebx, %eax
leaq 0xf508(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %ebx
jmp 0x1ea28
leal 0x1(%rbx), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %ebx           # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %ebx
movl %ecx, %eax
shrl $0x8, %eax
decl %eax
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %eax
cmovbl %edx, %ebx
leaq 0xf4cb(%rip), %rcx      # 0x2def0
addl (%rcx,%rax,4), %ebx
movl -0x50(%rbp), %eax
imull 0x10(%rbp), %eax
movl %eax, -0x50(%rbp)
movq -0x48(%rbp), %r15
movq 0x20(%rbp), %rax
subl (%rax), %r15d
leaq 0x8770(%rip), %r12      # 0x271b4
leaq 0xc491(%rip), %r13      # 0x2aedc
leaq 0xf8de(%rip), %rdx      # 0x2e330
movq %r12, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x4a56
leal (%r15,%r15), %eax
negl %eax
testl %r15d, %r15d
leal -0x1(%r15,%r15), %r15d
cmovlel %eax, %r15d
leaq 0xc479(%rip), %rdx      # 0x2aef1
movq %r12, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r15d
ja 0x1ea9d
movl %r15d, %eax
leaq 0xf458(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %eax
jmp 0x1eada
leal 0x1(%r15), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r15d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %eax
movl %ecx, %esi
shrl $0x8, %esi
decl %esi
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %esi
cmovbl %edx, %eax
leaq 0xf419(%rip), %rcx      # 0x2def0
addl (%rcx,%rsi,4), %eax
movl -0x2c(%rbp), %esi
addl %ebx, %eax
movl -0x50(%rbp), %r9d
addl -0xb0(%rbp), %r9d
imull 0x10(%rbp), %eax
addl -0x54(%rbp), %eax
movl %eax, -0x94(%rbp)
xorl %ecx, %ecx
movl $0x1, %eax
movq -0x40(%rbp), %r15
movl -0xa0(%rbp,%rax,4), %edx
movslq %ecx, %rdi
movl %eax, %r13d
cmpl -0xa0(%rbp,%rdi,4), %edx
jl 0x1eb1b
movl %ecx, %r13d
incq %rax
movl %r13d, %ecx
cmpq $0x4, %rax
jne 0x1eb02
movslq %r13d, %rax
movl -0xa0(%rbp,%rax,4), %edx
cmpl %r9d, %edx
jge 0x1eb61
cmpl $0x3, %r13d
movl %edx, -0x50(%rbp)
ja 0x1eb98
movl %r13d, %eax
leaq 0xf2c7(%rip), %rcx      # 0x2de10
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x48(%rbp), %rax
addl $-0x2, %eax
movq %r15, %r14
movl %eax, %r15d
jmp 0x1eba8
movq -0x48(%rbp), %rax
movl %eax, %r13d
jmp 0x1f32f
movl -0x30(%rbp), %eax
movl %eax, %r15d
movl -0xb4(%rbp), %eax
movl %eax, %r14d
jmp 0x1eba1
movl -0x30(%rbp), %eax
movl %eax, %r15d
jmp 0x1eba1
movl %edx, -0xa0(%rbp)
movq -0xa8(%rbp), %rax
jmp 0x1ed5d
movq %r15, %r14
movl -0x30(%rbp), %eax
movl %eax, %r15d
movq -0x48(%rbp), %rax
movl %eax, -0x30(%rbp)
leaq -0x1c0(%rbp), %rdx
movq -0x60(%rbp), %rdi
movq -0x88(%rbp), %rbx
movl %ebx, %ecx
movl %r14d, %r8d
movl %r15d, %r9d
pushq -0x80(%rbp)
pushq %rbx
movq -0x70(%rbp), %r12
callq *0x10f380(%r12)
addq $0x10, %rsp
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %esi
leaq -0x1c0(%rbp), %rdx
movl %ebx, %ecx
movq -0x78(%rbp), %rax
callq *0x10f2e0(%r12,%rax,8)
movl %eax, -0x48(%rbp)
movq %r14, -0x40(%rbp)
movl %r14d, %ebx
movq 0x18(%rbp), %rax
subl (%rax), %ebx
leaq 0x85ab(%rip), %r14      # 0x271b4
leaq 0xc2cc(%rip), %r12      # 0x2aedc
leaq 0xf719(%rip), %rdx      # 0x2e330
movq %r14, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
leal (%rbx,%rbx), %eax
negl %eax
testl %ebx, %ebx
leal -0x1(%rbx,%rbx), %ebx
cmovlel %eax, %ebx
leaq 0xc2b8(%rip), %rdx      # 0x2aef1
movq %r14, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %ebx
ja 0x1ec5c
movl %ebx, %eax
leaq 0xf299(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %ebx
jmp 0x1ec97
leal 0x1(%rbx), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %ebx           # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %ebx
movl %ecx, %eax
shrl $0x8, %eax
decl %eax
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %eax
cmovbl %edx, %ebx
leaq 0xf25c(%rip), %rcx      # 0x2def0
addl (%rcx,%rax,4), %ebx
movq 0x20(%rbp), %rax
subl (%rax), %r15d
leaq 0x850f(%rip), %r14      # 0x271b4
leaq 0xc230(%rip), %r12      # 0x2aedc
leaq 0xf67d(%rip), %rdx      # 0x2e330
movq %r14, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
leal (%r15,%r15), %eax
negl %eax
testl %r15d, %r15d
leal -0x1(%r15,%r15), %r15d
cmovlel %eax, %r15d
leaq 0xc218(%rip), %rdx      # 0x2aef1
movq %r14, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r15d
ja 0x1ecfe
movl %r15d, %eax
leaq 0xf1f7(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %eax
jmp 0x1ed3b
leal 0x1(%r15), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r15d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %eax
movl %ecx, %esi
shrl $0x8, %esi
decl %esi
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %esi
cmovbl %edx, %eax
leaq 0xf1b8(%rip), %rcx      # 0x2def0
addl (%rcx,%rsi,4), %eax
movl -0x2c(%rbp), %esi
addl %ebx, %eax
imull 0x10(%rbp), %eax
addl -0x48(%rbp), %eax
movl %eax, -0xa0(%rbp)
testl %r13d, %r13d
movq -0x40(%rbp), %r15
je 0x1ef3b
movl -0x30(%rbp), %eax
movq %rax, -0xa8(%rbp)
leal 0x1(%rax), %r14d
leaq -0x1c0(%rbp), %rdx
movq -0x60(%rbp), %rdi
movq -0x88(%rbp), %rbx
movl %ebx, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
pushq -0x80(%rbp)
pushq %rbx
movq -0x70(%rbp), %r12
callq *0x10f380(%r12)
addq $0x10, %rsp
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %esi
leaq -0x1c0(%rbp), %rdx
movl %ebx, %ecx
movq -0x78(%rbp), %rax
callq *0x10f2e0(%r12,%rax,8)
movl %eax, -0x48(%rbp)
movq %r15, -0x40(%rbp)
movl %r15d, %ebx
movq 0x18(%rbp), %rax
subl (%rax), %ebx
leaq 0x83eb(%rip), %r15      # 0x271b4
leaq 0xc10c(%rip), %r12      # 0x2aedc
leaq 0xf559(%rip), %rdx      # 0x2e330
movq %r15, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
leal (%rbx,%rbx), %eax
negl %eax
testl %ebx, %ebx
leal -0x1(%rbx,%rbx), %ebx
cmovlel %eax, %ebx
leaq 0xc0f8(%rip), %rdx      # 0x2aef1
movq %r15, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %ebx
ja 0x1ee1c
movl %ebx, %eax
leaq 0xf0d9(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %ebx
jmp 0x1ee57
leal 0x1(%rbx), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %ebx           # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %ebx
movl %ecx, %eax
shrl $0x8, %eax
decl %eax
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %eax
cmovbl %edx, %ebx
leaq 0xf09c(%rip), %rcx      # 0x2def0
addl (%rcx,%rax,4), %ebx
movq 0x20(%rbp), %rax
subl (%rax), %r14d
leaq 0x834f(%rip), %r15      # 0x271b4
leaq 0xc070(%rip), %r12      # 0x2aedc
leaq 0xf4bd(%rip), %rdx      # 0x2e330
movq %r15, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
leal (%r14,%r14), %eax
negl %eax
testl %r14d, %r14d
leal -0x1(%r14,%r14), %r14d
cmovlel %eax, %r14d
leaq 0xc058(%rip), %rdx      # 0x2aef1
movq %r15, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r14d
ja 0x1eebe
movl %r14d, %eax
leaq 0xf037(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %eax
jmp 0x1eefb
leal 0x1(%r14), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r14d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %eax
movl %ecx, %esi
shrl $0x8, %esi
decl %esi
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %esi
cmovbl %edx, %eax
leaq 0xeff8(%rip), %rcx      # 0x2def0
addl (%rcx,%rsi,4), %eax
movq -0x40(%rbp), %r15
movl -0x2c(%rbp), %esi
addl %ebx, %eax
imull 0x10(%rbp), %eax
addl -0x48(%rbp), %eax
movl %eax, -0x9c(%rbp)
cmpl $0x3, %r13d
jne 0x1ef2f
movl -0x50(%rbp), %eax
movl %eax, -0x98(%rbp)
movq -0xa8(%rbp), %rax
movl %eax, %r13d
jmp 0x1f113
movq -0xa8(%rbp), %rax
movl %eax, %r9d
jmp 0x1ef48
movl -0x50(%rbp), %eax
movl %eax, -0x9c(%rbp)
movl -0x30(%rbp), %r9d
movq %r15, -0x40(%rbp)
leal -0x1(%r15), %r14d
leaq -0x1c0(%rbp), %rbx
movq -0x60(%rbp), %rdi
movq %rbx, %rdx
movq -0x88(%rbp), %r12
movl %r12d, %ecx
movl %r14d, %r8d
movl %r9d, -0x30(%rbp)
pushq -0x80(%rbp)
pushq %r12
movq -0x70(%rbp), %r15
callq *0x10f380(%r15)
addq $0x10, %rsp
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %esi
movq %rbx, %rdx
movl %r12d, %ecx
movq -0x78(%rbp), %rax
callq *0x10f2e0(%r15,%rax,8)
movl %eax, -0x48(%rbp)
movq 0x18(%rbp), %rax
subl (%rax), %r14d
leaq 0x8207(%rip), %r15      # 0x271b4
leaq 0xbf28(%rip), %r12      # 0x2aedc
leaq 0xf375(%rip), %rdx      # 0x2e330
movq %r15, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
leal (%r14,%r14), %eax
negl %eax
testl %r14d, %r14d
leal -0x1(%r14,%r14), %r14d
cmovlel %eax, %r14d
leaq 0xbf10(%rip), %rdx      # 0x2aef1
movq %r15, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r14d
ja 0x1f007
movl %r14d, %eax
leaq 0xeeef(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %r12d
jmp 0x1f047
leal 0x1(%r14), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r14d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %r12d
movl %ecx, %eax
shrl $0x8, %eax
decl %eax
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %eax
cmovbl %edx, %r12d
leaq 0xeead(%rip), %rcx      # 0x2def0
addl (%rcx,%rax,4), %r12d
movl -0x30(%rbp), %eax
movl %eax, %ebx
movq 0x20(%rbp), %rax
subl (%rax), %ebx
leaq 0x815b(%rip), %r14      # 0x271b4
leaq 0xbe7c(%rip), %r15      # 0x2aedc
leaq 0xf2c9(%rip), %rdx      # 0x2e330
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4a56
leal (%rbx,%rbx), %eax
negl %eax
testl %ebx, %ebx
leal -0x1(%rbx,%rbx), %ebx
cmovlel %eax, %ebx
leaq 0xbe68(%rip), %rdx      # 0x2aef1
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %ebx
ja 0x1f0ac
movl %ebx, %eax
leaq 0xee49(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %eax
jmp 0x1f0e7
leal 0x1(%rbx), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %ebx           # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %eax
movl %ecx, %esi
shrl $0x8, %esi
decl %esi
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %esi
cmovbl %edx, %eax
leaq 0xee0c(%rip), %rcx      # 0x2def0
addl (%rcx,%rsi,4), %eax
movq -0x40(%rbp), %r15
addl %r12d, %eax
imull 0x10(%rbp), %eax
addl -0x48(%rbp), %eax
movl %eax, -0x98(%rbp)
movl -0x50(%rbp), %r8d
movl %r8d, %eax
cmpl $0x2, %r13d
movl -0x2c(%rbp), %esi
movl -0x30(%rbp), %r13d
je 0x1f2d1
movq %r15, -0x40(%rbp)
leal 0x1(%r15), %r14d
leaq -0x1c0(%rbp), %rbx
movq -0x60(%rbp), %rdi
movq %rbx, %rdx
movq -0x88(%rbp), %r12
movl %r12d, %ecx
movl %r14d, %r8d
movl %r13d, %r9d
pushq -0x80(%rbp)
pushq %r12
movq -0x70(%rbp), %r15
callq *0x10f380(%r15)
addq $0x10, %rsp
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %esi
movq %rbx, %rdx
movl %r12d, %ecx
movq -0x78(%rbp), %rax
callq *0x10f2e0(%r15,%rax,8)
movl %eax, -0x48(%rbp)
movq 0x18(%rbp), %rax
subl (%rax), %r14d
leaq 0x803d(%rip), %r15      # 0x271b4
leaq 0xbd5e(%rip), %r12      # 0x2aedc
leaq 0xf1ab(%rip), %rdx      # 0x2e330
movq %r15, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
leal (%r14,%r14), %eax
negl %eax
testl %r14d, %r14d
leal -0x1(%r14,%r14), %r14d
cmovlel %eax, %r14d
leaq 0xbd46(%rip), %rdx      # 0x2aef1
movq %r15, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r14d
ja 0x1f1d1
movl %r14d, %eax
leaq 0xed25(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %r12d
jmp 0x1f211
leal 0x1(%r14), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r14d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %r12d
movl %ecx, %eax
shrl $0x8, %eax
decl %eax
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %eax
cmovbl %edx, %r12d
leaq 0xece3(%rip), %rcx      # 0x2def0
addl (%rcx,%rax,4), %r12d
movl %r13d, %ebx
movq 0x20(%rbp), %rax
subl (%rax), %r13d
leaq 0x7f92(%rip), %r14      # 0x271b4
leaq 0xbcb3(%rip), %r15      # 0x2aedc
leaq 0xf100(%rip), %rdx      # 0x2e330
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4a56
leal (,%r13,2), %eax
negl %eax
testl %r13d, %r13d
leal -0x1(%r13,%r13), %r13d
cmovlel %eax, %r13d
leaq 0xbc97(%rip), %rdx      # 0x2aef1
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4a56
cmpl $0xfe, %r13d
ja 0x1f27f
movl %r13d, %eax
leaq 0xec76(%rip), %rcx      # 0x2def0
movl (%rcx,%rax,4), %eax
jmp 0x1f2bc
leal 0x1(%r13), %eax
movl %eax, %ecx
shrl $0x10, %ecx
decl %ecx
xorl %edx, %edx
cmpl $0xffff, %r13d          # imm = 0xFFFF
setae %dl
cmovbl %eax, %ecx
shll $0x5, %edx
leal 0x10(%rdx), %eax
movl %ecx, %esi
shrl $0x8, %esi
decl %esi
cmpl $0x100, %ecx            # imm = 0x100
cmovbl %ecx, %esi
cmovbl %edx, %eax
leaq 0xec37(%rip), %rcx      # 0x2def0
addl (%rcx,%rsi,4), %eax
movq -0x40(%rbp), %r15
addl %r12d, %eax
imull 0x10(%rbp), %eax
addl -0x48(%rbp), %eax
movl %ebx, %r13d
movl -0x50(%rbp), %r8d
movl %eax, -0x94(%rbp)
xorl %edx, %edx
movl $0x1, %eax
movl -0xa0(%rbp,%rax,4), %esi
movslq %edx, %rdi
movl %eax, %ecx
cmpl -0xa0(%rbp,%rdi,4), %esi
jl 0x1f2f5
movl %edx, %ecx
incq %rax
movl %ecx, %edx
cmpq $0x4, %rax
jne 0x1f2de
movslq %ecx, %rax
movl -0xa0(%rbp,%rax,4), %r9d
cmpl %r8d, %r9d
jge 0x1f32c
cmpl $0x3, %ecx
ja 0x1f32f
movl %ecx, %eax
leaq 0xeb02(%rip), %rcx      # 0x2de20
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
decl %r13d
jmp 0x1f32f
movl %r8d, %r9d
movq 0x18(%rbp), %rax
movl %r15d, (%rax)
movq 0x20(%rbp), %rax
movl %r13d, (%rax)
movl %r9d, %eax
addq $0x198, %rsp            # imm = 0x198
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
decl %r15d
jmp 0x1f32f
incl %r15d
jmp 0x1f32f
incl %r13d
jmp 0x1f32f