// File: /workspace/github_c_makefile_star2_O0/ArchLuke[P]YouSuck/Engine.c
// Function: InitEvalMasks
static
void InitEvalMasks() {

    int sq, tsq, r, f, index;
//File and rank masks        
    for(sq = 0; sq < 8; ++sq) {        
        FileBBMask[sq] = 0ULL;
        RankBBMask[sq] = 0ULL;
    }
    
    for(r = RANK_8; r >= RANK_1; r--) {
        for (f = FILE_A; f <= FILE_H; f++) {
            sq = r * 8 + f;
            FileBBMask[f] |= (1ULL << sq);
            RankBBMask[r] |= (1ULL << sq);
        }
    }
    //passed and isolated masks
    for(sq = 0; sq < 64; ++sq) {
        IsolatedMask[sq] = 0ULL;
        WhitePassedMask[sq] = 0ULL;
        BlackPassedMask[sq] = 0ULL;
        }

    for(sq = 0; sq < 64; ++sq) {

        
        tsq = sq + 8;
            
        while(tsq < 64) {
            WhitePassedMask[sq] |= (1ULL << tsq);
            tsq += 8;
        }

        tsq = sq - 8;
        while(tsq >= 0) {
            BlackPassedMask[sq] |= (1ULL << tsq);
            tsq -= 8;
        }

        if(FilesBrd[SQ120(sq)] > FILE_A) {
            IsolatedMask[sq] |= FileBBMask[FilesBrd[SQ120(sq)] - 1];

            tsq = sq + 7;
            while(tsq < 64) {
            WhitePassedMask[sq] |= (1ULL << tsq);
            tsq += 8;
            }

            tsq = sq - 9;
            while(tsq >= 0) {
            BlackPassedMask[sq] |= (1ULL << tsq);
            tsq -= 8;
            }
        }
            
        if(FilesBrd[SQ120(sq)] < FILE_H) {
            IsolatedMask[sq] |= FileBBMask[FilesBrd[SQ120(sq)] + 1];

            tsq = sq + 9;
            while(tsq < 64) {
            WhitePassedMask[sq] |= (1ULL << tsq);
            tsq += 8;
            }

            tsq = sq - 7;
            while(tsq >= 0) {
            BlackPassedMask[sq] |= (1ULL << tsq);
            tsq -= 8;
            }
        }
    }
//color square
    int color=BLACK;
    for(sq=0;sq<64;sq++)
    {
        //color doesnt change with a new rank
        if(sq % 8 !=0)
        {
        //BLACK ^ 1=WHITE WHITE ^ 1=BLACK
            color^=1;
        }
        ColorSquare[sq]=color;
    }

//king manhattan distances
    for(sq=0;sq<64;sq++)
    {
        for(tsq=0;tsq<64;tsq++)
        {
            int sqFile=FilesBrd[SQ120(sq)];
            int sqRank=RanksBrd[SQ120(sq)];
            int tsqFile=FilesBrd[SQ120(tsq)];
            int tsqRank=RanksBrd[SQ120(tsq)];
            int fileDistance=abs(sqFile-tsqFile);
            int rankDistance=abs(sqRank-tsqRank);
            KingManhattanDistances[sq][tsq]=fileDistance+rankDistance;
        //    printf("sq is %d tsq is %d distance is %d \n", sq,tsq,fileDistance+rankDistance);
        }
        
    
    }
//doubled pawns masks
    for(sq=0;sq<64;sq++)
    {
        tsq=SQ120(sq)+10;
        while(SqOnBoard(tsq))
        {
            DoubledPawnsMask[sq] |= (1ULL<<SQ64(tsq));
            tsq += 10;
        }
    }
// max Diagonal Distances
    for(sq=0;sq<64;sq++)
    {
        tsq=SQ120(sq)+11;
        while(SqOnBoard(tsq))
        {
            WhiteMaxDiagonalDistance[sq][0] ++;
            tsq += 11;
        }
        tsq=SQ120(sq)+9;
        while(SqOnBoard(tsq))
        {
            WhiteMaxDiagonalDistance[sq][1] ++;
            tsq += 9;
        }
        tsq=SQ120(sq)-11;
        while(SqOnBoard(tsq))
        {
            BlackMaxDiagonalDistance[sq][0] ++;
            tsq -= 11;
        }
        tsq=SQ120(sq)-9;
        while(SqOnBoard(tsq))
        {
            BlackMaxDiagonalDistance[sq][1] ++;
            tsq -= 9;
        }

    }
//diagonal distance
    for(sq=0;sq<64;sq++)
    {
        for(tsq=0;tsq<64;tsq++)
        {
            if((tsq-sq)%9==0)
                DiagonalDistance[sq][tsq]=(tsq-sq)/9;
            else if((tsq-sq)%7==0)
                DiagonalDistance[sq][tsq]=(tsq-sq)/7;

        }    
    }

//outpost masks
    for(sq=0;sq<64;sq++)
    {
        int file=FilesBrd[SQ120(sq)];
        WhiteOutpostMask[sq] = WhitePassedMask[sq] ^ (FileBBMask[file] & WhitePassedMask[sq]);
        BlackOutpostMask[sq] = BlackPassedMask[sq] ^ (FileBBMask[file] & BlackPassedMask[sq]);
    }
//knight mobility mask
    for(sq=0;sq<64;sq++)
    {
        for(index=0;index<8;index++)
        {
            tsq=SQ120(sq)+KnDir[index];
            if(SqOnBoard(tsq))
                KnightMobilityMask[sq] |= (1ULL<<(SQ64(tsq)));
            if(SqOnBoard(tsq-11))
                BlackKnightMobilityMask[sq] |= (1ULL<<(SQ64(tsq)-9));
            if(SqOnBoard(tsq-9))
                BlackKnightMobilityMask[sq] |= (1ULL<<(SQ64(tsq)-7));
            if(SqOnBoard(tsq+11))
                WhiteKnightMobilityMask[sq] |= (1ULL<<(SQ64(tsq)+9));
            if(SqOnBoard(tsq+9))
                WhiteKnightMobilityMask[sq] |= (1ULL<<(SQ64(tsq)+7));
        }
        KnightMobility[sq]=CountBits(KnightMobilityMask[sq]);
    }
//pawn support masks
    for(sq=0;sq<64;sq++)
    {
        if(SqOnBoard(SQ120(sq)-11))
            WhitePawnSupportMask[sq] |= (1ULL<<(sq-9));
        if(SqOnBoard(SQ120(sq)-9))
            WhitePawnSupportMask[sq] |= (1ULL<<(sq-7));
        if(SqOnBoard(SQ120(sq)+11))
            BlackPawnSupportMask[sq] |= (1ULL<<(sq+9));
        if(SqOnBoard(SQ120(sq)+9))
            BlackPawnSupportMask[sq] |= (1ULL<<(sq+7));

    }
//bishop forward masks
    for (sq=0;sq<64;sq++)
    {
        //white forwards
        tsq=SQ120(sq)+11;
        while(SqOnBoard(tsq))
        {
            WhiteBishopForwardMask[sq][0] |= (1ULL<<(SQ64(tsq)));
            tsq += 11;
        }
        tsq=SQ120(sq)+9;
        while(SqOnBoard(tsq))
        {
            WhiteBishopForwardMask[sq][1] |= (1ULL<<(SQ64(tsq)));
            tsq += 9;
        }
        //black forwards
        tsq=SQ120(sq)-11;
        while(SqOnBoard(tsq))
        {
            BlackBishopForwardMask[sq][0] |= (1ULL<<(SQ64(tsq)));
            tsq -= 11;
        }
        tsq=SQ120(sq)-9;
        while(SqOnBoard(tsq))
        {
            BlackBishopForwardMask[sq][1] |= (1ULL<<(SQ64(tsq)));
            tsq -= 9;
        }

    }

}

// Assembly:
subq $0x38, %rsp
movl $0x0, 0x34(%rsp)
cmpl $0x8, 0x34(%rsp)
jge 0x21d8
movslq 0x34(%rsp), %rcx
leaq 0x24b01(%rip), %rax     # 0x26cb0
movq $0x0, (%rax,%rcx,8)
movslq 0x34(%rsp), %rcx
leaq 0x24f2d(%rip), %rax     # 0x270f0
movq $0x0, (%rax,%rcx,8)
movl 0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x34(%rsp)
jmp 0x219c
movl $0x7, 0x2c(%rsp)
cmpl $0x0, 0x2c(%rsp)
jl 0x227a
movl $0x0, 0x28(%rsp)
cmpl $0x7, 0x28(%rsp)
jg 0x2268
movl 0x2c(%rsp), %eax
shll $0x3, %eax
addl 0x28(%rsp), %eax
movl %eax, 0x34(%rsp)
movl 0x34(%rsp), %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x28(%rsp), %rcx
leaq 0x24a8d(%rip), %rax     # 0x26cb0
orq (%rax,%rcx,8), %rdx
leaq 0x24a82(%rip), %rax     # 0x26cb0
movq %rdx, (%rax,%rcx,8)
movl 0x34(%rsp), %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x2c(%rsp), %rcx
leaq 0x24ea4(%rip), %rax     # 0x270f0
orq (%rax,%rcx,8), %rdx
leaq 0x24e99(%rip), %rax     # 0x270f0
movq %rdx, (%rax,%rcx,8)
movl 0x28(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x28(%rsp)
jmp 0x21f3
jmp 0x226a
movl 0x2c(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x2c(%rsp)
jmp 0x21e0
movl $0x0, 0x34(%rsp)
cmpl $0x40, 0x34(%rsp)
jge 0x22d2
movslq 0x34(%rsp), %rcx
leaq 0x24a5b(%rip), %rax     # 0x26cf0
movq $0x0, (%rax,%rcx,8)
movslq 0x34(%rsp), %rcx
leaq 0x25287(%rip), %rax     # 0x27530
movq $0x0, (%rax,%rcx,8)
movslq 0x34(%rsp), %rcx
leaq 0x243f3(%rip), %rax     # 0x266b0
movq $0x0, (%rax,%rcx,8)
movl 0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x34(%rsp)
jmp 0x2282
movl $0x0, 0x34(%rsp)
cmpl $0x40, 0x34(%rsp)
jge 0x2579
movl 0x34(%rsp), %eax
addl $0x8, %eax
movl %eax, 0x30(%rsp)
cmpl $0x40, 0x30(%rsp)
jge 0x232d
movl 0x30(%rsp), %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x2521f(%rip), %rax     # 0x27530
orq (%rax,%rcx,8), %rdx
leaq 0x25214(%rip), %rax     # 0x27530
movq %rdx, (%rax,%rcx,8)
movl 0x30(%rsp), %eax
addl $0x8, %eax
movl %eax, 0x30(%rsp)
jmp 0x22f0
movl 0x34(%rsp), %eax
subl $0x8, %eax
movl %eax, 0x30(%rsp)
cmpl $0x0, 0x30(%rsp)
jl 0x2375
movl 0x30(%rsp), %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x24357(%rip), %rax     # 0x266b0
orq (%rax,%rcx,8), %rdx
leaq 0x2434c(%rip), %rax     # 0x266b0
movq %rdx, (%rax,%rcx,8)
movl 0x30(%rsp), %eax
subl $0x8, %eax
movl %eax, 0x30(%rsp)
jmp 0x2338
movslq 0x34(%rsp), %rcx
leaq 0x259af(%rip), %rax     # 0x27d30
movslq (%rax,%rcx,4), %rcx
leaq 0xd714(%rip), %rax      # 0xfaa0
cmpl $0x0, (%rax,%rcx,4)
jle 0x246e
movslq 0x34(%rsp), %rcx
leaq 0x2598e(%rip), %rax     # 0x27d30
movslq (%rax,%rcx,4), %rcx
leaq 0xd6f3(%rip), %rax      # 0xfaa0
movl (%rax,%rcx,4), %eax
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x248f3(%rip), %rax     # 0x26cb0
movq (%rax,%rcx,8), %rdx
movslq 0x34(%rsp), %rcx
leaq 0x24923(%rip), %rax     # 0x26cf0
orq (%rax,%rcx,8), %rdx
leaq 0x24918(%rip), %rax     # 0x26cf0
movq %rdx, (%rax,%rcx,8)
movl 0x34(%rsp), %eax
addl $0x7, %eax
movl %eax, 0x30(%rsp)
cmpl $0x40, 0x30(%rsp)
jge 0x2424
movl 0x30(%rsp), %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x25128(%rip), %rax     # 0x27530
orq (%rax,%rcx,8), %rdx
leaq 0x2511d(%rip), %rax     # 0x27530
movq %rdx, (%rax,%rcx,8)
movl 0x30(%rsp), %eax
addl $0x8, %eax
movl %eax, 0x30(%rsp)
jmp 0x23e7
movl 0x34(%rsp), %eax
subl $0x9, %eax
movl %eax, 0x30(%rsp)
cmpl $0x0, 0x30(%rsp)
jl 0x246c
movl 0x30(%rsp), %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x24260(%rip), %rax     # 0x266b0
orq (%rax,%rcx,8), %rdx
leaq 0x24255(%rip), %rax     # 0x266b0
movq %rdx, (%rax,%rcx,8)
movl 0x30(%rsp), %eax
subl $0x8, %eax
movl %eax, 0x30(%rsp)
jmp 0x242f
jmp 0x246e
movslq 0x34(%rsp), %rcx
leaq 0x258b6(%rip), %rax     # 0x27d30
movslq (%rax,%rcx,4), %rcx
leaq 0xd61b(%rip), %rax      # 0xfaa0
cmpl $0x7, (%rax,%rcx,4)
jge 0x2567
movslq 0x34(%rsp), %rcx
leaq 0x25895(%rip), %rax     # 0x27d30
movslq (%rax,%rcx,4), %rcx
leaq 0xd5fa(%rip), %rax      # 0xfaa0
movl (%rax,%rcx,4), %eax
addl $0x1, %eax
movslq %eax, %rcx
leaq 0x247fa(%rip), %rax     # 0x26cb0
movq (%rax,%rcx,8), %rdx
movslq 0x34(%rsp), %rcx
leaq 0x2482a(%rip), %rax     # 0x26cf0
orq (%rax,%rcx,8), %rdx
leaq 0x2481f(%rip), %rax     # 0x26cf0
movq %rdx, (%rax,%rcx,8)
movl 0x34(%rsp), %eax
addl $0x9, %eax
movl %eax, 0x30(%rsp)
cmpl $0x40, 0x30(%rsp)
jge 0x251d
movl 0x30(%rsp), %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x2502f(%rip), %rax     # 0x27530
orq (%rax,%rcx,8), %rdx
leaq 0x25024(%rip), %rax     # 0x27530
movq %rdx, (%rax,%rcx,8)
movl 0x30(%rsp), %eax
addl $0x8, %eax
movl %eax, 0x30(%rsp)
jmp 0x24e0
movl 0x34(%rsp), %eax
subl $0x7, %eax
movl %eax, 0x30(%rsp)
cmpl $0x0, 0x30(%rsp)
jl 0x2565
movl 0x30(%rsp), %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x24167(%rip), %rax     # 0x266b0
orq (%rax,%rcx,8), %rdx
leaq 0x2415c(%rip), %rax     # 0x266b0
movq %rdx, (%rax,%rcx,8)
movl 0x30(%rsp), %eax
subl $0x8, %eax
movl %eax, 0x30(%rsp)
jmp 0x2528
jmp 0x2567
jmp 0x2569
movl 0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x34(%rsp)
jmp 0x22da
movl $0x1, 0x20(%rsp)
movl $0x0, 0x34(%rsp)
cmpl $0x40, 0x34(%rsp)
jge 0x25cc
movl 0x34(%rsp), %eax
movl $0x8, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
je 0x25ac
movl 0x20(%rsp), %eax
xorl $0x1, %eax
movl %eax, 0x20(%rsp)
movl 0x20(%rsp), %edx
movslq 0x34(%rsp), %rcx
leaq 0x1b8f4(%rip), %rax     # 0x1deb0
movl %edx, (%rax,%rcx,4)
movl 0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x34(%rsp)
jmp 0x2589
movl $0x0, 0x34(%rsp)
cmpl $0x40, 0x34(%rsp)
jge 0x26d5
movl $0x0, 0x30(%rsp)
cmpl $0x40, 0x30(%rsp)
jge 0x26c3
movslq 0x34(%rsp), %rcx
leaq 0x25732(%rip), %rax     # 0x27d30
movslq (%rax,%rcx,4), %rcx
leaq 0xd497(%rip), %rax      # 0xfaa0
movl (%rax,%rcx,4), %eax
movl %eax, 0x1c(%rsp)
movslq 0x34(%rsp), %rcx
leaq 0x25714(%rip), %rax     # 0x27d30
movslq (%rax,%rcx,4), %rcx
leaq 0x25809(%rip), %rax     # 0x27e30
movl (%rax,%rcx,4), %eax
movl %eax, 0x18(%rsp)
movslq 0x30(%rsp), %rcx
leaq 0x256f6(%rip), %rax     # 0x27d30
movslq (%rax,%rcx,4), %rcx
leaq 0xd45b(%rip), %rax      # 0xfaa0
movl (%rax,%rcx,4), %eax
movl %eax, 0x14(%rsp)
movslq 0x30(%rsp), %rcx
leaq 0x256d8(%rip), %rax     # 0x27d30
movslq (%rax,%rcx,4), %rcx
leaq 0x257cd(%rip), %rax     # 0x27e30
movl (%rax,%rcx,4), %eax
movl %eax, 0x10(%rsp)
movl 0x1c(%rsp), %eax
subl 0x14(%rsp), %eax
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
movl %eax, 0xc(%rsp)
movl 0x18(%rsp), %eax
subl 0x10(%rsp), %eax
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
movl %eax, 0x8(%rsp)
movl 0xc(%rsp), %edx
addl 0x8(%rsp), %edx
movslq 0x34(%rsp), %rcx
leaq 0x1f90c(%rip), %rax     # 0x21fb0
shlq $0x8, %rcx
addq %rcx, %rax
movslq 0x30(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
movl 0x30(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x30(%rsp)
jmp 0x25e7
jmp 0x26c5
movl 0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x34(%rsp)
jmp 0x25d4
movl $0x0, 0x34(%rsp)
cmpl $0x40, 0x34(%rsp)
jge 0x2758
movslq 0x34(%rsp), %rcx
leaq 0x25640(%rip), %rax     # 0x27d30
movl (%rax,%rcx,4), %eax
addl $0xa, %eax
movl %eax, 0x30(%rsp)
movl 0x30(%rsp), %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2749
movslq 0x30(%rsp), %rcx
leaq 0xd1ac(%rip), %rax      # 0xf8c0
movl (%rax,%rcx,4), %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x24383(%rip), %rax     # 0x26ab0
orq (%rax,%rcx,8), %rdx
leaq 0x24378(%rip), %rax     # 0x26ab0
movq %rdx, (%rax,%rcx,8)
movl 0x30(%rsp), %eax
addl $0xa, %eax
movl %eax, 0x30(%rsp)
jmp 0x26fa
jmp 0x274b
movl 0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x34(%rsp)
jmp 0x26dd
movl $0x0, 0x34(%rsp)
cmpl $0x40, 0x34(%rsp)
jge 0x28b5
movslq 0x34(%rsp), %rcx
leaq 0x255b9(%rip), %rax     # 0x27d30
movl (%rax,%rcx,4), %eax
addl $0xb, %eax
movl %eax, 0x30(%rsp)
movl 0x30(%rsp), %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x27b8
movslq 0x34(%rsp), %rcx
leaq 0x23915(%rip), %rax     # 0x260b0
movl (%rax,%rcx,8), %edx
addl $0x1, %edx
leaq 0x23908(%rip), %rax     # 0x260b0
movl %edx, (%rax,%rcx,8)
movl 0x30(%rsp), %eax
addl $0xb, %eax
movl %eax, 0x30(%rsp)
jmp 0x2781
movslq 0x34(%rsp), %rcx
leaq 0x2556c(%rip), %rax     # 0x27d30
movl (%rax,%rcx,4), %eax
addl $0x9, %eax
movl %eax, 0x30(%rsp)
movl 0x30(%rsp), %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2807
movslq 0x34(%rsp), %rcx
leaq 0x238c8(%rip), %rax     # 0x260b0
movl 0x4(%rax,%rcx,8), %edx
addl $0x1, %edx
leaq 0x238ba(%rip), %rax     # 0x260b0
movl %edx, 0x4(%rax,%rcx,8)
movl 0x30(%rsp), %eax
addl $0x9, %eax
movl %eax, 0x30(%rsp)
jmp 0x27ce
movslq 0x34(%rsp), %rcx
leaq 0x2551d(%rip), %rax     # 0x27d30
movl (%rax,%rcx,4), %eax
subl $0xb, %eax
movl %eax, 0x30(%rsp)
movl 0x30(%rsp), %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2854
movslq 0x34(%rsp), %rcx
leaq 0x1b479(%rip), %rax     # 0x1dcb0
movl (%rax,%rcx,8), %edx
addl $0x1, %edx
leaq 0x1b46c(%rip), %rax     # 0x1dcb0
movl %edx, (%rax,%rcx,8)
movl 0x30(%rsp), %eax
subl $0xb, %eax
movl %eax, 0x30(%rsp)
jmp 0x281d
movslq 0x34(%rsp), %rcx
leaq 0x254d0(%rip), %rax     # 0x27d30
movl (%rax,%rcx,4), %eax
subl $0x9, %eax
movl %eax, 0x30(%rsp)
movl 0x30(%rsp), %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x28a3
movslq 0x34(%rsp), %rcx
leaq 0x1b42c(%rip), %rax     # 0x1dcb0
movl 0x4(%rax,%rcx,8), %edx
addl $0x1, %edx
leaq 0x1b41e(%rip), %rax     # 0x1dcb0
movl %edx, 0x4(%rax,%rcx,8)
movl 0x30(%rsp), %eax
subl $0x9, %eax
movl %eax, 0x30(%rsp)
jmp 0x286a
jmp 0x28a5
movl 0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x34(%rsp)
jmp 0x2760
movl $0x0, 0x34(%rsp)
cmpl $0x40, 0x34(%rsp)
jge 0x2987
movl $0x0, 0x30(%rsp)
cmpl $0x40, 0x30(%rsp)
jge 0x2975
movl 0x30(%rsp), %eax
subl 0x34(%rsp), %eax
movl $0x9, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x291f
movl 0x30(%rsp), %eax
subl 0x34(%rsp), %eax
movl $0x9, %ecx
cltd
idivl %ecx
movl %eax, %edx
movslq 0x34(%rsp), %rcx
leaq 0x1b6a2(%rip), %rax     # 0x1dfb0
shlq $0x8, %rcx
addq %rcx, %rax
movslq 0x30(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x2963
movl 0x30(%rsp), %eax
subl 0x34(%rsp), %eax
movl $0x7, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x2961
movl 0x30(%rsp), %eax
subl 0x34(%rsp), %eax
movl $0x7, %ecx
cltd
idivl %ecx
movl %eax, %edx
movslq 0x34(%rsp), %rcx
leaq 0x1b65e(%rip), %rax     # 0x1dfb0
shlq $0x8, %rcx
addq %rcx, %rax
movslq 0x30(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x2963
jmp 0x2965
movl 0x30(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x30(%rsp)
jmp 0x28d0
jmp 0x2977
movl 0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x34(%rsp)
jmp 0x28bd
movl $0x0, 0x34(%rsp)
cmpl $0x40, 0x34(%rsp)
jge 0x2a4e
movslq 0x34(%rsp), %rcx
leaq 0x2538a(%rip), %rax     # 0x27d30
movslq (%rax,%rcx,4), %rcx
leaq 0xd0ef(%rip), %rax      # 0xfaa0
movl (%rax,%rcx,4), %eax
movl %eax, 0x4(%rsp)
movslq 0x34(%rsp), %rcx
leaq 0x24b6c(%rip), %rax     # 0x27530
movq (%rax,%rcx,8), %rdx
movslq 0x4(%rsp), %rcx
leaq 0x242dc(%rip), %rax     # 0x26cb0
movq (%rax,%rcx,8), %rax
movslq 0x34(%rsp), %rsi
leaq 0x24b4c(%rip), %rcx     # 0x27530
andq (%rcx,%rsi,8), %rax
xorq %rax, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x24939(%rip), %rax     # 0x27330
movq %rdx, (%rax,%rcx,8)
movslq 0x34(%rsp), %rcx
leaq 0x23ca9(%rip), %rax     # 0x266b0
movq (%rax,%rcx,8), %rdx
movslq 0x4(%rsp), %rcx
leaq 0x24299(%rip), %rax     # 0x26cb0
movq (%rax,%rcx,8), %rax
movslq 0x34(%rsp), %rsi
leaq 0x23c89(%rip), %rcx     # 0x266b0
andq (%rcx,%rsi,8), %rax
xorq %rax, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x23a76(%rip), %rax     # 0x264b0
movq %rdx, (%rax,%rcx,8)
movl 0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x34(%rsp)
jmp 0x298f
movl $0x0, 0x34(%rsp)
cmpl $0x40, 0x34(%rsp)
jge 0x2c48
movl $0x0, 0x24(%rsp)
cmpl $0x8, 0x24(%rsp)
jge 0x2c12
movslq 0x34(%rsp), %rcx
leaq 0x252b0(%rip), %rax     # 0x27d30
movl (%rax,%rcx,4), %eax
movslq 0x24(%rsp), %rdx
leaq 0x87a1(%rip), %rcx      # 0xb230
addl (%rcx,%rdx,4), %eax
movl %eax, 0x30(%rsp)
movl 0x30(%rsp), %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2ad8
movslq 0x30(%rsp), %rcx
leaq 0xce10(%rip), %rax      # 0xf8c0
movl (%rax,%rcx,4), %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x24427(%rip), %rax     # 0x26ef0
orq (%rax,%rcx,8), %rdx
leaq 0x2441c(%rip), %rax     # 0x26ef0
movq %rdx, (%rax,%rcx,8)
movl 0x30(%rsp), %edi
subl $0xb, %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2b22
movslq 0x30(%rsp), %rcx
leaq 0xcdcb(%rip), %rax      # 0xf8c0
movl (%rax,%rcx,4), %eax
subl $0x9, %eax
movl %eax, %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x2379d(%rip), %rax     # 0x262b0
orq (%rax,%rcx,8), %rdx
leaq 0x23792(%rip), %rax     # 0x262b0
movq %rdx, (%rax,%rcx,8)
movl 0x30(%rsp), %edi
subl $0x9, %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2b6c
movslq 0x30(%rsp), %rcx
leaq 0xcd81(%rip), %rax      # 0xf8c0
movl (%rax,%rcx,4), %eax
subl $0x7, %eax
movl %eax, %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x23753(%rip), %rax     # 0x262b0
orq (%rax,%rcx,8), %rdx
leaq 0x23748(%rip), %rax     # 0x262b0
movq %rdx, (%rax,%rcx,8)
movl 0x30(%rsp), %edi
addl $0xb, %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2bb6
movslq 0x30(%rsp), %rcx
leaq 0xcd37(%rip), %rax      # 0xf8c0
movl (%rax,%rcx,4), %eax
addl $0x9, %eax
movl %eax, %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x24589(%rip), %rax     # 0x27130
orq (%rax,%rcx,8), %rdx
leaq 0x2457e(%rip), %rax     # 0x27130
movq %rdx, (%rax,%rcx,8)
movl 0x30(%rsp), %edi
addl $0x9, %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2c00
movslq 0x30(%rsp), %rcx
leaq 0xcced(%rip), %rax      # 0xf8c0
movl (%rax,%rcx,4), %eax
addl $0x7, %eax
movl %eax, %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x2453f(%rip), %rax     # 0x27130
orq (%rax,%rcx,8), %rdx
leaq 0x24534(%rip), %rax     # 0x27130
movq %rdx, (%rax,%rcx,8)
jmp 0x2c02
movl 0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x24(%rsp)
jmp 0x2a69
movslq 0x34(%rsp), %rcx
leaq 0x242d2(%rip), %rax     # 0x26ef0
movq (%rax,%rcx,8), %rdi
callq 0x1240
movl %eax, %edx
movslq 0x34(%rsp), %rcx
leaq 0x2337b(%rip), %rax     # 0x25fb0
movl %edx, (%rax,%rcx,4)
movl 0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x34(%rsp)
jmp 0x2a56
movl $0x0, 0x34(%rsp)
cmpl $0x40, 0x34(%rsp)
jge 0x2d95
movslq 0x34(%rsp), %rcx
leaq 0x250c9(%rip), %rax     # 0x27d30
movl (%rax,%rcx,4), %edi
subl $0xb, %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2ca5
movl 0x34(%rsp), %eax
subl $0x9, %eax
movl %eax, %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x24a9a(%rip), %rax     # 0x27730
orq (%rax,%rcx,8), %rdx
leaq 0x24a8f(%rip), %rax     # 0x27730
movq %rdx, (%rax,%rcx,8)
movslq 0x34(%rsp), %rcx
leaq 0x2507f(%rip), %rax     # 0x27d30
movl (%rax,%rcx,4), %edi
subl $0x9, %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2cef
movl 0x34(%rsp), %eax
subl $0x7, %eax
movl %eax, %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x24a50(%rip), %rax     # 0x27730
orq (%rax,%rcx,8), %rdx
leaq 0x24a45(%rip), %rax     # 0x27730
movq %rdx, (%rax,%rcx,8)
movslq 0x34(%rsp), %rcx
leaq 0x25035(%rip), %rax     # 0x27d30
movl (%rax,%rcx,4), %edi
addl $0xb, %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2d39
movl 0x34(%rsp), %eax
addl $0x9, %eax
movl %eax, %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x23b86(%rip), %rax     # 0x268b0
orq (%rax,%rcx,8), %rdx
leaq 0x23b7b(%rip), %rax     # 0x268b0
movq %rdx, (%rax,%rcx,8)
movslq 0x34(%rsp), %rcx
leaq 0x24feb(%rip), %rax     # 0x27d30
movl (%rax,%rcx,4), %edi
addl $0x9, %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2d83
movl 0x34(%rsp), %eax
addl $0x7, %eax
movl %eax, %eax
movl %eax, %ecx
movl $0x1, %edx
shlq %cl, %rdx
movslq 0x34(%rsp), %rcx
leaq 0x23b3c(%rip), %rax     # 0x268b0
orq (%rax,%rcx,8), %rdx
leaq 0x23b31(%rip), %rax     # 0x268b0
movq %rdx, (%rax,%rcx,8)
jmp 0x2d85
movl 0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x34(%rsp)
jmp 0x2c50
movl $0x0, 0x34(%rsp)
cmpl $0x40, 0x34(%rsp)
jge 0x2f56
movslq 0x34(%rsp), %rcx
leaq 0x24f7c(%rip), %rax     # 0x27d30
movl (%rax,%rcx,4), %eax
addl $0xb, %eax
movl %eax, 0x30(%rsp)
movl 0x30(%rsp), %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2e0e
movslq 0x30(%rsp), %rcx
leaq 0xcae8(%rip), %rax      # 0xf8c0
movl (%rax,%rcx,4), %eax
movl %eax, %ecx
movl $0x1, %eax
shlq %cl, %rax
movq %rax, %rcx
movslq 0x34(%rsp), %rdx
leaq 0xc6bc(%rip), %rax      # 0xf4b0
shlq $0x4, %rdx
addq %rdx, %rax
orq (%rax), %rcx
movq %rcx, (%rax)
movl 0x30(%rsp), %eax
addl $0xb, %eax
movl %eax, 0x30(%rsp)
jmp 0x2dbe
movslq 0x34(%rsp), %rcx
leaq 0x24f16(%rip), %rax     # 0x27d30
movl (%rax,%rcx,4), %eax
addl $0x9, %eax
movl %eax, 0x30(%rsp)
movl 0x30(%rsp), %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2e76
movslq 0x30(%rsp), %rcx
leaq 0xca82(%rip), %rax      # 0xf8c0
movl (%rax,%rcx,4), %eax
movl %eax, %ecx
movl $0x1, %eax
shlq %cl, %rax
movq %rax, %rcx
movslq 0x34(%rsp), %rdx
leaq 0xc656(%rip), %rax      # 0xf4b0
shlq $0x4, %rdx
addq %rdx, %rax
orq 0x8(%rax), %rcx
movq %rcx, 0x8(%rax)
movl 0x30(%rsp), %eax
addl $0x9, %eax
movl %eax, 0x30(%rsp)
jmp 0x2e24
movslq 0x34(%rsp), %rcx
leaq 0x24eae(%rip), %rax     # 0x27d30
movl (%rax,%rcx,4), %eax
subl $0xb, %eax
movl %eax, 0x30(%rsp)
movl 0x30(%rsp), %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2edc
movslq 0x30(%rsp), %rcx
leaq 0xca1a(%rip), %rax      # 0xf8c0
movl (%rax,%rcx,4), %eax
movl %eax, %ecx
movl $0x1, %eax
shlq %cl, %rax
movq %rax, %rcx
movslq 0x34(%rsp), %rdx
leaq 0xc1ee(%rip), %rax      # 0xf0b0
shlq $0x4, %rdx
addq %rdx, %rax
orq (%rax), %rcx
movq %rcx, (%rax)
movl 0x30(%rsp), %eax
subl $0xb, %eax
movl %eax, 0x30(%rsp)
jmp 0x2e8c
movslq 0x34(%rsp), %rcx
leaq 0x24e48(%rip), %rax     # 0x27d30
movl (%rax,%rcx,4), %eax
subl $0x9, %eax
movl %eax, 0x30(%rsp)
movl 0x30(%rsp), %edi
callq 0x1a50
cmpl $0x0, %eax
je 0x2f44
movslq 0x30(%rsp), %rcx
leaq 0xc9b4(%rip), %rax      # 0xf8c0
movl (%rax,%rcx,4), %eax
movl %eax, %ecx
movl $0x1, %eax
shlq %cl, %rax
movq %rax, %rcx
movslq 0x34(%rsp), %rdx
leaq 0xc188(%rip), %rax      # 0xf0b0
shlq $0x4, %rdx
addq %rdx, %rax
orq 0x8(%rax), %rcx
movq %rcx, 0x8(%rax)
movl 0x30(%rsp), %eax
subl $0x9, %eax
movl %eax, 0x30(%rsp)
jmp 0x2ef2
jmp 0x2f46
movl 0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x34(%rsp)
jmp 0x2d9d
addq $0x38, %rsp
retq
nopl (%rax,%rax)