// File: /workspace/github_c_makefile_star2_O3/jonof[P]jftekwar/src/tektag.c
// Function: tagcode
void
tagcode()
{
     int      i, j, k, l, s, dax, day, cnt, good;
     short     startwall, endwall, dasector, p, oldang;

     for(i=0;i<warpsectorcnt;i++)
     {
          dasector = warpsectorlist[i];
          j = ((lockclock&127)>>2);
          if (j >= 16) j = 31-j;
          {
               sector[dasector].ceilingshade = j;
               sector[dasector].floorshade = j;
               startwall = sector[dasector].wallptr;
               endwall = startwall+sector[dasector].wallnum-1;
               for(s=startwall;s<=endwall;s++)
                    wall[s].shade = j;
          }
     }

     for(p=connecthead;p>=0;p=connectpoint2[p])
          if (sector[cursectnum[p]].lotag == 10)  //warp sector
          {
               if (cursectnum[p] != ocursectnum[p])
               {
                    warpsprite(playersprite[p]);
                    posx[p] = sprite[playersprite[p]].x;
                    posy[p] = sprite[playersprite[p]].y;
                    posz[p] = sprite[playersprite[p]].z;
                    ang[p] = sprite[playersprite[p]].ang;
                    cursectnum[p] = sprite[playersprite[p]].sectnum;
                    sprite[playersprite[p]].z += (KENSPLAYERHEIGHT<<8);
               }
          }


     for( i=0; i<xpanningsectorcnt; i++ ) {
          dasector = xpanningsectorlist[i];
          startwall = sector[dasector].wallptr;
          endwall = startwall+sector[dasector].wallnum-1;
          for( s=startwall; s<=endwall; s++ ) {
               wall[s].xpanning = ((lockclock>>2)&255);
          }
     }

     for( i=0; i<ypanningwallcnt; i++ ) {
          wall[ypanningwalllist[i]].ypanning = ~(lockclock&255);
     }

     for( i=0; i<rotatespritecnt; i++ ) {
          sprite[rotatespritelist[i]].ang += (TICSPERFRAME<<2);
          sprite[rotatespritelist[i]].ang &= 2047;
     }

     // kens slime floor
     for( i=0; i<floorpanningcnt; i++ ) {
          sector[floorpanninglist[i]].floorxpanning = ((lockclock>>2)&255);
          sector[floorpanninglist[i]].floorypanning = ((lockclock>>2)&255);
     }

     for( i=0; i<dragsectorcnt; i++ ) {
          dasector = dragsectorlist[i];
          startwall = sector[dasector].wallptr;
          endwall = startwall+sector[dasector].wallnum-1;
          if (wall[startwall].x+dragxdir[i] < dragx1[i]) dragxdir[i] = 16;
          if (wall[startwall].y+dragydir[i] < dragy1[i]) dragydir[i] = 16;
          if (wall[startwall].x+dragxdir[i] > dragx2[i]) dragxdir[i] = -16;
          if (wall[startwall].y+dragydir[i] > dragy2[i]) dragydir[i] = -16;
          for( j=startwall; j<=endwall; j++) {
               dragpoint(j,wall[j].x+dragxdir[i],wall[j].y+dragydir[i]);
          }
          j = sector[dasector].floorz;
          sector[dasector].floorz = dragfloorz[i]+(sintable[(lockclock<<4)&2047]>>3);
          for( p=connecthead; p>=0; p=connectpoint2[p] ) {
               if( cursectnum[p] == dasector ) {
                    posx[p] += dragxdir[i];
                    posy[p] += dragydir[i];
                    posz[p] += (sector[dasector].floorz-j);
                    setsprite(playersprite[p],posx[p],posy[p],posz[p]+(KENSPLAYERHEIGHT<<8));
                    sprite[playersprite[p]].ang = ang[p];
                    frameinterpolate = 0;
               }
          }
     }

     for(i=0;i<swingcnt;i++)
     {
          if (swinganginc[i] != 0)
          {
               oldang = swingang[i];
               for(j=0;j<(TICSPERFRAME<<2);j++)
               {
                    swingang[i] = ((swingang[i]+2048+swinganginc[i])&2047);
                    if (swingang[i] == swingangclosed[i])
                    {
                         if( j == ((TICSPERFRAME<<2)-1) ) {
                              playsound(S_JUMP,swingx[i][0],swingy[i][0],0,ST_UPDATE);
                         }
                         swinganginc[i] = 0;
                    }
                    if (swingang[i] == swingangopen[i]) {
                         if( j == ((TICSPERFRAME<<2)-1) ) {
                              playsound(S_JUMP,swingx[i][0],swingy[i][0],0,ST_UPDATE);
                         }
                         swinganginc[i] = 0;
                    }
               }
               for(k=1;k<=3;k++)
                    rotatepoint(swingx[i][0],swingy[i][0],swingx[i][k],swingy[i][k],swingang[i],&wall[swingwall[i][k]].x,&wall[swingwall[i][k]].y);

               if (swinganginc[i] != 0)
               {
                    for(p=connecthead;p>=0;p=connectpoint2[p])
                         if ((cursectnum[p] == swingsector[i]) || (testneighborsectors(cursectnum[p],swingsector[i]) == 1))
                         {
                              cnt = 256;
                              do
                              {
                                   good = 1;

                                        //swingangopendir is -1 if forwards, 1 is backwards
                                   l = (swingangopendir[i] > 0);
                                   for(k=l+3;k>=l;k--)
                                        if (clipinsidebox(posx[p],posy[p],swingwall[i][k],128L) != 0)
                                        {
                                             good = 0;
                                             break;
                                        }

                                   if (good == 0)
                                   {
                                        if (cnt == 256)
                                        {
                                             swinganginc[i] = -swinganginc[i];
                                             swingang[i] = oldang;
                                        }
                                        else
                                        {
                                             swingang[i] = ((swingang[i]+2048-swinganginc[i])&2047);
                                        }
                                        for(k=1;k<=3;k++)
                                             rotatepoint(swingx[i][0],swingy[i][0],swingx[i][k],swingy[i][k],swingang[i],&wall[swingwall[i][k]].x,&wall[swingwall[i][k]].y);
                                        if (swingang[i] == swingangclosed[i])
                                        {
                                             swinganginc[i] = 0;
                                             break;
                                        }
                                        if (swingang[i] == swingangopen[i])
                                        {
                                             swinganginc[i] = 0;
                                             break;
                                        }
                                        cnt--;
                                   }
                              } while ((good == 0) && (cnt > 0));
                         }
               }

          }
     }

     for(i=0;i<revolvecnt;i++)
     {
          startwall = sector[revolvesector[i]].wallptr;
          endwall = startwall + sector[revolvesector[i]].wallnum - 1;

          revolveang[i] = ((revolveang[i]+2048-(TICSPERFRAME<<2))&2047);
          for(k=startwall;k<=endwall;k++)
          {
               rotatepoint(revolvepivotx[i],revolvepivoty[i],revolvex[i][k-startwall],revolvey[i][k-startwall],revolveang[i],&dax,&day);
               dragpoint(k,dax,day);
          }
     }

     for(i=0;i<subwaytrackcnt;i++)
     {
          if( subwaysound[i] == -1 ) {
               subwaysound[i]=playsound(S_SUBWAYLOOP,subwayx[i],subwaytracky1[i],-1,ST_VEHUPDATE);
          }
          else {
               updatevehiclesnds(subwaysound[i],subwayx[i],subwaytracky1[i]);
          }

          dasector = subwaytracksector[i][0];
          startwall = sector[dasector].wallptr;
          endwall = startwall+sector[dasector].wallnum-1;
          for(k=startwall;k<=endwall;k++)
          {
               if (wall[k].x > subwaytrackx1[i])
                    if (wall[k].y > subwaytracky1[i])
                         if (wall[k].x < subwaytrackx2[i])
                              if (wall[k].y < subwaytracky2[i])
                                   wall[k].x += (subwayvel[i]&0xfffffffc);
          }

          for(j=1;j<subwaynumsectors[i];j++)
          {
               dasector = subwaytracksector[i][j];

               startwall = sector[dasector].wallptr;
               endwall = startwall+sector[dasector].wallnum-1;
               for(k=startwall;k<=endwall;k++)
                    wall[k].x += (subwayvel[i]&0xfffffffc);

               s = headspritesect[dasector];
               while (s != -1)
               {
                    k = nextspritesect[s];
                    sprite[s].x += (subwayvel[i]&0xfffffffc);
                    s = k;
               }
          }

          for(p=connecthead;p>=0;p=connectpoint2[p])
               if (cursectnum[p] != subwaytracksector[i][0])
                    if (sector[cursectnum[p]].floorz != sector[subwaytracksector[i][0]].floorz)
                         if (posx[p] > subwaytrackx1[i])
                              if (posy[p] > subwaytracky1[i])
                                   if (posx[p] < subwaytrackx2[i])
                                        if (posy[p] < subwaytracky2[i])
                                        {
                                             posx[p] += (subwayvel[i]&0xfffffffc);

                                                  //Update sprite representation of player
                                             setsprite(playersprite[p],posx[p],posy[p],posz[p]+(KENSPLAYERHEIGHT<<8));
                                             sprite[playersprite[p]].ang = ang[p];
                                             frameinterpolate = 0;
                                        }

          subwayx[i] += (subwayvel[i]&0xfffffffc);

          k = subwaystop[i][subwaygoalstop[i]] - subwayx[i];
          if( k > 0 ) {
               if( k > 2048 ) {
                    if( subwayvel[i] == 12 ) {
                         playsound(S_SUBWAYSTART,subwayx[0],subwaytracky1[0],0,ST_UNIQUE | ST_NOUPDATE);
                    }
                    if (subwayvel[i] < 128) subwayvel[i]++;
               }
               else {
                    if( subwayvel[i] == 32 ) {
                         playsound(S_SUBWAYSTOP,subwayx[0],subwaytracky1[0],0,ST_UNIQUE | ST_NOUPDATE);
                    }
                    subwayvel[i] = (k>>4)+1;
               }
          }
          else if( k < 0 ) {
               if( k < -2048 ) {
                    if( subwayvel[i] == -12 ) {
                         playsound(S_SUBWAYSTART,subwayx[0],subwaytracky1[0],0,ST_UNIQUE | ST_NOUPDATE);
                    }
                    if (subwayvel[i] > -128) subwayvel[i]--;
               }
               else {
                    if( subwayvel[i] == -32) {
                         playsound(S_SUBWAYSTOP,subwayx[0],subwaytracky1[0],0,ST_UNIQUE | ST_NOUPDATE);
                    }
                    subwayvel[i] = ((k>>4)-1);
               }
          }

          if (((subwayvel[i]>>2) == 0) && (labs(k) < 2048))
          {
               if (subwaypausetime[i] == 720)
               {
                    for(j=1;j<subwaynumsectors[i];j++)   //Open all subway doors
                    {
                         dasector = subwaytracksector[i][j];
                         if (sector[dasector].lotag == 17)
                         {
                              sector[dasector].lotag = 16;
                              playsound(S_BIGSWINGCL,subwayx[i],subwaytracky1[i],0,ST_NOUPDATE | ST_UNIQUE);
                              operatesector(dasector);
                              sector[dasector].lotag = 17;
                         }
                    }
               }
               if ((subwaypausetime[i] >= 120) && (subwaypausetime[i]-TICSPERFRAME < 120))
               {
                    for(j=1;j<subwaynumsectors[i];j++)   //Close all subway doors
                    {
                         dasector = subwaytracksector[i][j];
                         if (sector[dasector].lotag == 17)
                         {
                              sector[dasector].lotag = 16;
                              playsound(S_BIGSWINGCL,subwayx[i],subwaytracky1[i],0,ST_NOUPDATE | ST_UNIQUE);
                              operatesector(dasector);
                              sector[dasector].lotag = 17;
                         }
                    }
               }

               subwaypausetime[i] -= TICSPERFRAME;
               if (subwaypausetime[i] < 0)
               {
                    subwaypausetime[i] = 720;
                    if( subwaygoalstop[i] == (subwaystopcnt[i]-1) ) {
                         subwaystopdir[i]=-1;
                         subwaygoalstop[i]=subwaystopcnt[i]-2;
                    }
                    else if( subwaygoalstop[i] == 0 ) {
                         subwaygoalstop[i]=1;
                         subwaystopdir[i]= 1;
                    }
                    else {
                         subwaygoalstop[i]+=subwaystopdir[i];
                    }
               }
          }
     }

     tektagcode();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
leaq 0x105a76(%rip), %rax    # 0x12dca0
movswq (%rax), %rax
testq %rax, %rax
jle 0x287f4
leaq 0xbc24a(%rip), %rcx     # 0xe4488
movl (%rcx), %edx
shrl $0x2, %edx
andl $0x1f, %edx
movl %edx, %ecx
xorb $0x1f, %cl
cmpl $0x10, %edx
movzbl %cl, %ecx
cmovbl %edx, %ecx
xorl %edx, %edx
leaq 0x1059c3(%rip), %rsi    # 0x12dc20
leaq 0x3cc67c(%rip), %rdi    # 0x3f48e0
leaq 0x341665(%rip), %r8     # 0x3698d0
movdqa 0x6881d(%rip), %xmm2    # 0x90a90
movdqa 0x68825(%rip), %xmm3    # 0x90aa0
movdqa 0x6882d(%rip), %xmm4    # 0x90ab0
movdqa 0x68835(%rip), %xmm5    # 0x90ac0
movdqa 0x6883d(%rip), %xmm6    # 0x90ad0
movdqa 0x67b85(%rip), %xmm7    # 0x8fe20
movdqa 0x6809c(%rip), %xmm8    # 0x90340
pcmpeqd %xmm9, %xmm9
movswq (%rsi,%rdx,2), %r9
leaq (%r9,%r9,4), %r9
movb %cl, 0x14(%rdi,%r9,8)
movb %cl, 0x1c(%rdi,%r9,8)
movswq (%rdi,%r9,8), %r10
movzwl 0x2(%rdi,%r9,8), %r9d
addw %r10w, %r9w
decl %r9d
cmpw %r9w, %r10w
jg 0x287e8
movswq %r9w, %r11
subq %r10, %r11
leaq 0x10(%r11), %r9
andq $-0x10, %r9
movq %r11, %xmm10
pshufd $0x44, %xmm10, %xmm10   # xmm10 = xmm10[0,1,0,1]
shlq $0x5, %r10
addq %r8, %r10
addq $0x1f4, %r10            # imm = 0x1F4
xorl %r11d, %r11d
movq %r11, %xmm11
pshufd $0x44, %xmm11, %xmm11   # xmm11 = xmm11[0,1,0,1]
movdqa %xmm11, %xmm13
por %xmm7, %xmm13
movdqa %xmm10, %xmm12
pxor %xmm8, %xmm12
pxor %xmm8, %xmm13
movdqa %xmm13, %xmm15
pcmpgtd %xmm12, %xmm15
pshufd $0xa0, %xmm15, %xmm14   # xmm14 = xmm15[0,0,2,2]
pshuflw $0xe8, %xmm14, %xmm0    # xmm0 = xmm14[0,2,2,3,4,5,6,7]
pcmpeqd %xmm12, %xmm13
pshufd $0xf5, %xmm13, %xmm13   # xmm13 = xmm13[1,1,3,3]
pshuflw $0xe8, %xmm13, %xmm1    # xmm1 = xmm13[0,2,2,3,4,5,6,7]
pand %xmm0, %xmm1
pshufd $0xf5, %xmm15, %xmm15   # xmm15 = xmm15[1,1,3,3]
pshuflw $0xe8, %xmm15, %xmm0    # xmm0 = xmm15[0,2,2,3,4,5,6,7]
por %xmm1, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
movd %xmm0, %ebx
testb $0x1, %bl
je 0x2837b
movb %cl, -0x1e0(%r10)
pand %xmm14, %xmm13
por %xmm15, %xmm13
packssdw %xmm13, %xmm13
pxor %xmm9, %xmm13
packssdw %xmm13, %xmm13
packsswb %xmm13, %xmm13
movd %xmm13, %ebx
shrl $0x8, %ebx
testb $0x1, %bl
je 0x283ad
movb %cl, -0x1c0(%r10)
movdqa %xmm11, %xmm0
por %xmm6, %xmm0
pxor %xmm8, %xmm0
movdqa %xmm0, %xmm1
pcmpgtd %xmm12, %xmm1
pshufd $0xa0, %xmm1, %xmm13    # xmm13 = xmm1[0,0,2,2]
pcmpeqd %xmm12, %xmm0
pshufd $0xf5, %xmm0, %xmm14    # xmm14 = xmm0[1,1,3,3]
movdqa %xmm14, %xmm0
pand %xmm13, %xmm0
pshufd $0xf5, %xmm1, %xmm15    # xmm15 = xmm1[1,1,3,3]
por %xmm15, %xmm0
packssdw %xmm0, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
movd %xmm0, %ebx
shrl $0x10, %ebx
testb $0x1, %bl
je 0x2840e
movb %cl, -0x1a0(%r10)
pshufhw $0x84, %xmm13, %xmm0    # xmm0 = xmm13[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm14, %xmm1    # xmm1 = xmm14[0,1,2,3,4,5,4,6]
pand %xmm0, %xmm1
pshufhw $0x84, %xmm15, %xmm0    # xmm0 = xmm15[0,1,2,3,4,5,4,6]
por %xmm1, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
movd %xmm0, %ebx
shrl $0x18, %ebx
testb $0x1, %bl
je 0x28448
movb %cl, -0x180(%r10)
movdqa %xmm11, %xmm0
por %xmm5, %xmm0
pxor %xmm8, %xmm0
movdqa %xmm0, %xmm1
pcmpgtd %xmm12, %xmm1
pshufd $0xa0, %xmm1, %xmm14    # xmm14 = xmm1[0,0,2,2]
pshuflw $0xe8, %xmm14, %xmm15   # xmm15 = xmm14[0,2,2,3,4,5,6,7]
pcmpeqd %xmm12, %xmm0
pshufd $0xf5, %xmm0, %xmm13    # xmm13 = xmm0[1,1,3,3]
pshuflw $0xe8, %xmm13, %xmm0    # xmm0 = xmm13[0,2,2,3,4,5,6,7]
pand %xmm15, %xmm0
pshufd $0xf5, %xmm1, %xmm15    # xmm15 = xmm1[1,1,3,3]
pshuflw $0xe8, %xmm15, %xmm1    # xmm1 = xmm15[0,2,2,3,4,5,6,7]
por %xmm0, %xmm1
pxor %xmm9, %xmm1
packssdw %xmm1, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x2, %xmm0, %ebx
testb $0x1, %bl
je 0x284af
movb %cl, -0x160(%r10)
pand %xmm14, %xmm13
por %xmm15, %xmm13
packssdw %xmm13, %xmm13
pxor %xmm9, %xmm13
packssdw %xmm13, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x2, %xmm0, %ebx
shrl $0x8, %ebx
testb $0x1, %bl
je 0x284e0
movb %cl, -0x140(%r10)
movdqa %xmm11, %xmm0
por %xmm4, %xmm0
pxor %xmm8, %xmm0
movdqa %xmm0, %xmm1
pcmpgtd %xmm12, %xmm1
pshufd $0xa0, %xmm1, %xmm13    # xmm13 = xmm1[0,0,2,2]
pcmpeqd %xmm12, %xmm0
pshufd $0xf5, %xmm0, %xmm14    # xmm14 = xmm0[1,1,3,3]
movdqa %xmm14, %xmm0
pand %xmm13, %xmm0
pshufd $0xf5, %xmm1, %xmm15    # xmm15 = xmm1[1,1,3,3]
por %xmm15, %xmm0
packssdw %xmm0, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x3, %xmm0, %ebx
testb $0x1, %bl
je 0x2853f
movb %cl, -0x120(%r10)
pshufhw $0x84, %xmm13, %xmm0    # xmm0 = xmm13[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm14, %xmm1    # xmm1 = xmm14[0,1,2,3,4,5,4,6]
pand %xmm0, %xmm1
pshufhw $0x84, %xmm15, %xmm0    # xmm0 = xmm15[0,1,2,3,4,5,4,6]
por %xmm1, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x3, %xmm0, %ebx
shrl $0x8, %ebx
testb $0x1, %bl
je 0x2857a
movb %cl, -0x100(%r10)
movdqa %xmm11, %xmm0
por %xmm3, %xmm0
pxor %xmm8, %xmm0
movdqa %xmm0, %xmm1
pcmpgtd %xmm12, %xmm1
pshufd $0xa0, %xmm1, %xmm14    # xmm14 = xmm1[0,0,2,2]
pshuflw $0xe8, %xmm14, %xmm15   # xmm15 = xmm14[0,2,2,3,4,5,6,7]
pcmpeqd %xmm12, %xmm0
pshufd $0xf5, %xmm0, %xmm13    # xmm13 = xmm0[1,1,3,3]
pshuflw $0xe8, %xmm13, %xmm0    # xmm0 = xmm13[0,2,2,3,4,5,6,7]
pand %xmm15, %xmm0
pshufd $0xf5, %xmm1, %xmm15    # xmm15 = xmm1[1,1,3,3]
pshuflw $0xe8, %xmm15, %xmm1    # xmm1 = xmm15[0,2,2,3,4,5,6,7]
por %xmm0, %xmm1
pxor %xmm9, %xmm1
packssdw %xmm1, %xmm1
packsswb %xmm1, %xmm0
pextrw $0x4, %xmm0, %ebx
testb $0x1, %bl
je 0x285e1
movb %cl, -0xe0(%r10)
pand %xmm14, %xmm13
por %xmm15, %xmm13
packssdw %xmm13, %xmm13
pxor %xmm9, %xmm13
packssdw %xmm13, %xmm13
packsswb %xmm13, %xmm0
pextrw $0x4, %xmm0, %ebx
shrl $0x8, %ebx
testb $0x1, %bl
je 0x28613
movb %cl, -0xc0(%r10)
movdqa %xmm11, %xmm0
por %xmm2, %xmm0
pxor %xmm8, %xmm0
movdqa %xmm0, %xmm1
pcmpgtd %xmm12, %xmm1
pshufd $0xa0, %xmm1, %xmm13    # xmm13 = xmm1[0,0,2,2]
pcmpeqd %xmm12, %xmm0
pshufd $0xf5, %xmm0, %xmm14    # xmm14 = xmm0[1,1,3,3]
movdqa %xmm14, %xmm0
pand %xmm13, %xmm0
pshufd $0xf5, %xmm1, %xmm15    # xmm15 = xmm1[1,1,3,3]
por %xmm15, %xmm0
packssdw %xmm0, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x5, %xmm0, %ebx
testb $0x1, %bl
je 0x28672
movb %cl, -0xa0(%r10)
pshufhw $0x84, %xmm13, %xmm0    # xmm0 = xmm13[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm14, %xmm1    # xmm1 = xmm14[0,1,2,3,4,5,4,6]
pand %xmm0, %xmm1
pshufhw $0x84, %xmm15, %xmm0    # xmm0 = xmm15[0,1,2,3,4,5,4,6]
por %xmm1, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x5, %xmm0, %ebx
shrl $0x8, %ebx
testb $0x1, %bl
je 0x286aa
movb %cl, -0x80(%r10)
movdqa %xmm11, %xmm0
por 0x683c9(%rip), %xmm0    # 0x90a80
pxor %xmm8, %xmm0
movdqa %xmm0, %xmm1
pcmpgtd %xmm12, %xmm1
pshufd $0xa0, %xmm1, %xmm14    # xmm14 = xmm1[0,0,2,2]
pshuflw $0xe8, %xmm14, %xmm15   # xmm15 = xmm14[0,2,2,3,4,5,6,7]
pcmpeqd %xmm12, %xmm0
pshufd $0xf5, %xmm0, %xmm13    # xmm13 = xmm0[1,1,3,3]
pshuflw $0xe8, %xmm13, %xmm0    # xmm0 = xmm13[0,2,2,3,4,5,6,7]
pand %xmm15, %xmm0
pshufd $0xf5, %xmm1, %xmm15    # xmm15 = xmm1[1,1,3,3]
pshuflw $0xe8, %xmm15, %xmm1    # xmm1 = xmm15[0,2,2,3,4,5,6,7]
por %xmm0, %xmm1
pxor %xmm9, %xmm1
packssdw %xmm1, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x6, %xmm0, %ebx
testb $0x1, %bl
je 0x28712
movb %cl, -0x60(%r10)
pand %xmm14, %xmm13
por %xmm15, %xmm13
packssdw %xmm13, %xmm13
pxor %xmm9, %xmm13
packssdw %xmm13, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x6, %xmm0, %ebx
shrl $0x8, %ebx
testb $0x1, %bl
je 0x28740
movb %cl, -0x40(%r10)
por 0x68327(%rip), %xmm11   # 0x90a70
pxor %xmm8, %xmm11
movdqa %xmm11, %xmm0
pcmpgtd %xmm12, %xmm0
pshufd $0xa0, %xmm0, %xmm13    # xmm13 = xmm0[0,0,2,2]
pcmpeqd %xmm12, %xmm11
pshufd $0xf5, %xmm11, %xmm11   # xmm11 = xmm11[1,1,3,3]
movdqa %xmm11, %xmm1
pand %xmm13, %xmm1
pshufd $0xf5, %xmm0, %xmm12    # xmm12 = xmm0[1,1,3,3]
por %xmm12, %xmm1
packssdw %xmm1, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x7, %xmm0, %ebx
testb $0x1, %bl
je 0x2879d
movb %cl, -0x20(%r10)
pshufhw $0x84, %xmm13, %xmm0    # xmm0 = xmm13[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm11, %xmm1    # xmm1 = xmm11[0,1,2,3,4,5,4,6]
pand %xmm0, %xmm1
pshufhw $0x84, %xmm12, %xmm0    # xmm0 = xmm12[0,1,2,3,4,5,4,6]
por %xmm1, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x7, %xmm0, %ebx
shrl $0x8, %ebx
testb $0x1, %bl
je 0x287d4
movb %cl, (%r10)
addq $0x10, %r11
addq $0x200, %r10            # imm = 0x200
cmpq %r11, %r9
jne 0x28303
incq %rdx
cmpq %rax, %rdx
jne 0x282a9
leaq 0x77d335(%rip), %rax    # 0x7a5b30
movl (%rax), %ebx
testw %bx, %bx
js 0x288e2
leaq 0xbcf13(%rip), %rbp     # 0xe5720
leaq 0x3cc0cc(%rip), %r12    # 0x3f48e0
leaq 0xbcf65(%rip), %r15     # 0xe5780
leaq 0x77d31e(%rip), %r8     # 0x7a5b40
andl $0x7fff, %ebx           # imm = 0x7FFF
movswq (%rbp,%rbx,2), %rax
leaq (%rax,%rax,4), %rcx
cmpw $0xa, 0x22(%r12,%rcx,8)
jne 0x288d5
cmpw (%r15,%rbx,2), %ax
je 0x288d5
leal (%rbx,%rbx), %r13d
leaq 0xbcefb(%rip), %r14     # 0xe5750
movswl (%r14,%r13), %edi
callq 0x29daf
movswq (%r14,%r13), %rax
imulq $0x2c, %rax, %rax
leaq 0x4052c1(%rip), %r8     # 0x42db30
movl (%r8,%rax), %ecx
leal (,%rbx,4), %edx
leaq 0xbbc4f(%rip), %r9      # 0xe44d0
movl %ecx, (%r9,%rdx)
movl 0x4(%r8,%rax), %ecx
leaq 0xbbc7f(%rip), %r9      # 0xe4510
movl %ecx, (%r9,%rdx)
movl 0x8(%r8,%rax), %ecx
leaq 0xbbcaf(%rip), %r9      # 0xe4550
movl %ecx, (%r9,%rdx)
movzwl 0x1c(%r8,%rax), %edx
leaq 0xbbbfe(%rip), %r9      # 0xe44b0
movw %dx, (%r9,%r13)
movzwl 0x18(%r8,%rax), %edx
movw %dx, (%rbp,%r13)
addl $0x2200, %ecx           # imm = 0x2200
movl %ecx, 0x8(%r8,%rax)
leaq 0x77d26b(%rip), %r8     # 0x7a5b40
movl (%r8,%rbx,4), %ebx
testw %bx, %bx
jns 0x28822
leaq 0x1053e7(%rip), %rax    # 0x12dcd0
movswq (%rax), %rax
testq %rax, %rax
jle 0x28e98
leaq 0xbbb8b(%rip), %rcx     # 0xe4488
movl (%rcx), %ecx
shrl $0x2, %ecx
xorl %edx, %edx
leaq 0x1053a5(%rip), %rsi    # 0x12dcb0
leaq 0x3cbfce(%rip), %rdi    # 0x3f48e0
leaq 0x340fb7(%rip), %r8     # 0x3698d0
movdqa 0x6816f(%rip), %xmm2    # 0x90a90
movdqa 0x68177(%rip), %xmm3    # 0x90aa0
movdqa 0x6817f(%rip), %xmm4    # 0x90ab0
movdqa 0x68187(%rip), %xmm5    # 0x90ac0
movdqa 0x6818f(%rip), %xmm6    # 0x90ad0
movdqa 0x674d7(%rip), %xmm7    # 0x8fe20
movdqa 0x679ee(%rip), %xmm8    # 0x90340
pcmpeqd %xmm9, %xmm9
movswq (%rsi,%rdx,2), %r9
leaq (%r9,%r9,4), %r9
movswq (%rdi,%r9,8), %r10
movzwl 0x2(%rdi,%r9,8), %r9d
addw %r10w, %r9w
decl %r9d
cmpw %r9w, %r10w
jg 0x28e8c
movswq %r9w, %r11
subq %r10, %r11
leaq 0x10(%r11), %r9
andq $-0x10, %r9
movq %r11, %xmm10
pshufd $0x44, %xmm10, %xmm10   # xmm10 = xmm10[0,1,0,1]
shlq $0x5, %r10
addq %r8, %r10
addq $0x1f8, %r10            # imm = 0x1F8
xorl %r11d, %r11d
movq %r11, %xmm11
pshufd $0x44, %xmm11, %xmm11   # xmm11 = xmm11[0,1,0,1]
movdqa %xmm11, %xmm13
por %xmm7, %xmm13
movdqa %xmm10, %xmm12
pxor %xmm8, %xmm12
pxor %xmm8, %xmm13
movdqa %xmm13, %xmm15
pcmpgtd %xmm12, %xmm15
pshufd $0xa0, %xmm15, %xmm14   # xmm14 = xmm15[0,0,2,2]
pshuflw $0xe8, %xmm14, %xmm0    # xmm0 = xmm14[0,2,2,3,4,5,6,7]
pcmpeqd %xmm12, %xmm13
pshufd $0xf5, %xmm13, %xmm13   # xmm13 = xmm13[1,1,3,3]
pshuflw $0xe8, %xmm13, %xmm1    # xmm1 = xmm13[0,2,2,3,4,5,6,7]
pand %xmm0, %xmm1
pshufd $0xf5, %xmm15, %xmm15   # xmm15 = xmm15[1,1,3,3]
pshuflw $0xe8, %xmm15, %xmm0    # xmm0 = xmm15[0,2,2,3,4,5,6,7]
por %xmm1, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
movd %xmm0, %ebx
testb $0x1, %bl
je 0x28a1f
movb %cl, -0x1e0(%r10)
pand %xmm14, %xmm13
por %xmm15, %xmm13
packssdw %xmm13, %xmm13
pxor %xmm9, %xmm13
packssdw %xmm13, %xmm13
packsswb %xmm13, %xmm13
movd %xmm13, %ebx
shrl $0x8, %ebx
testb $0x1, %bl
je 0x28a51
movb %cl, -0x1c0(%r10)
movdqa %xmm11, %xmm0
por %xmm6, %xmm0
pxor %xmm8, %xmm0
movdqa %xmm0, %xmm1
pcmpgtd %xmm12, %xmm1
pshufd $0xa0, %xmm1, %xmm13    # xmm13 = xmm1[0,0,2,2]
pcmpeqd %xmm12, %xmm0
pshufd $0xf5, %xmm0, %xmm14    # xmm14 = xmm0[1,1,3,3]
movdqa %xmm14, %xmm0
pand %xmm13, %xmm0
pshufd $0xf5, %xmm1, %xmm15    # xmm15 = xmm1[1,1,3,3]
por %xmm15, %xmm0
packssdw %xmm0, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
movd %xmm0, %ebx
shrl $0x10, %ebx
testb $0x1, %bl
je 0x28ab2
movb %cl, -0x1a0(%r10)
pshufhw $0x84, %xmm13, %xmm0    # xmm0 = xmm13[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm14, %xmm1    # xmm1 = xmm14[0,1,2,3,4,5,4,6]
pand %xmm0, %xmm1
pshufhw $0x84, %xmm15, %xmm0    # xmm0 = xmm15[0,1,2,3,4,5,4,6]
por %xmm1, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
movd %xmm0, %ebx
shrl $0x18, %ebx
testb $0x1, %bl
je 0x28aec
movb %cl, -0x180(%r10)
movdqa %xmm11, %xmm0
por %xmm5, %xmm0
pxor %xmm8, %xmm0
movdqa %xmm0, %xmm1
pcmpgtd %xmm12, %xmm1
pshufd $0xa0, %xmm1, %xmm14    # xmm14 = xmm1[0,0,2,2]
pshuflw $0xe8, %xmm14, %xmm15   # xmm15 = xmm14[0,2,2,3,4,5,6,7]
pcmpeqd %xmm12, %xmm0
pshufd $0xf5, %xmm0, %xmm13    # xmm13 = xmm0[1,1,3,3]
pshuflw $0xe8, %xmm13, %xmm0    # xmm0 = xmm13[0,2,2,3,4,5,6,7]
pand %xmm15, %xmm0
pshufd $0xf5, %xmm1, %xmm15    # xmm15 = xmm1[1,1,3,3]
pshuflw $0xe8, %xmm15, %xmm1    # xmm1 = xmm15[0,2,2,3,4,5,6,7]
por %xmm0, %xmm1
pxor %xmm9, %xmm1
packssdw %xmm1, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x2, %xmm0, %ebx
testb $0x1, %bl
je 0x28b53
movb %cl, -0x160(%r10)
pand %xmm14, %xmm13
por %xmm15, %xmm13
packssdw %xmm13, %xmm13
pxor %xmm9, %xmm13
packssdw %xmm13, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x2, %xmm0, %ebx
shrl $0x8, %ebx
testb $0x1, %bl
je 0x28b84
movb %cl, -0x140(%r10)
movdqa %xmm11, %xmm0
por %xmm4, %xmm0
pxor %xmm8, %xmm0
movdqa %xmm0, %xmm1
pcmpgtd %xmm12, %xmm1
pshufd $0xa0, %xmm1, %xmm13    # xmm13 = xmm1[0,0,2,2]
pcmpeqd %xmm12, %xmm0
pshufd $0xf5, %xmm0, %xmm14    # xmm14 = xmm0[1,1,3,3]
movdqa %xmm14, %xmm0
pand %xmm13, %xmm0
pshufd $0xf5, %xmm1, %xmm15    # xmm15 = xmm1[1,1,3,3]
por %xmm15, %xmm0
packssdw %xmm0, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x3, %xmm0, %ebx
testb $0x1, %bl
je 0x28be3
movb %cl, -0x120(%r10)
pshufhw $0x84, %xmm13, %xmm0    # xmm0 = xmm13[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm14, %xmm1    # xmm1 = xmm14[0,1,2,3,4,5,4,6]
pand %xmm0, %xmm1
pshufhw $0x84, %xmm15, %xmm0    # xmm0 = xmm15[0,1,2,3,4,5,4,6]
por %xmm1, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x3, %xmm0, %ebx
shrl $0x8, %ebx
testb $0x1, %bl
je 0x28c1e
movb %cl, -0x100(%r10)
movdqa %xmm11, %xmm0
por %xmm3, %xmm0
pxor %xmm8, %xmm0
movdqa %xmm0, %xmm1
pcmpgtd %xmm12, %xmm1
pshufd $0xa0, %xmm1, %xmm14    # xmm14 = xmm1[0,0,2,2]
pshuflw $0xe8, %xmm14, %xmm15   # xmm15 = xmm14[0,2,2,3,4,5,6,7]
pcmpeqd %xmm12, %xmm0
pshufd $0xf5, %xmm0, %xmm13    # xmm13 = xmm0[1,1,3,3]
pshuflw $0xe8, %xmm13, %xmm0    # xmm0 = xmm13[0,2,2,3,4,5,6,7]
pand %xmm15, %xmm0
pshufd $0xf5, %xmm1, %xmm15    # xmm15 = xmm1[1,1,3,3]
pshuflw $0xe8, %xmm15, %xmm1    # xmm1 = xmm15[0,2,2,3,4,5,6,7]
por %xmm0, %xmm1
pxor %xmm9, %xmm1
packssdw %xmm1, %xmm1
packsswb %xmm1, %xmm0
pextrw $0x4, %xmm0, %ebx
testb $0x1, %bl
je 0x28c85
movb %cl, -0xe0(%r10)
pand %xmm14, %xmm13
por %xmm15, %xmm13
packssdw %xmm13, %xmm13
pxor %xmm9, %xmm13
packssdw %xmm13, %xmm13
packsswb %xmm13, %xmm0
pextrw $0x4, %xmm0, %ebx
shrl $0x8, %ebx
testb $0x1, %bl
je 0x28cb7
movb %cl, -0xc0(%r10)
movdqa %xmm11, %xmm0
por %xmm2, %xmm0
pxor %xmm8, %xmm0
movdqa %xmm0, %xmm1
pcmpgtd %xmm12, %xmm1
pshufd $0xa0, %xmm1, %xmm13    # xmm13 = xmm1[0,0,2,2]
pcmpeqd %xmm12, %xmm0
pshufd $0xf5, %xmm0, %xmm14    # xmm14 = xmm0[1,1,3,3]
movdqa %xmm14, %xmm0
pand %xmm13, %xmm0
pshufd $0xf5, %xmm1, %xmm15    # xmm15 = xmm1[1,1,3,3]
por %xmm15, %xmm0
packssdw %xmm0, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x5, %xmm0, %ebx
testb $0x1, %bl
je 0x28d16
movb %cl, -0xa0(%r10)
pshufhw $0x84, %xmm13, %xmm0    # xmm0 = xmm13[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm14, %xmm1    # xmm1 = xmm14[0,1,2,3,4,5,4,6]
pand %xmm0, %xmm1
pshufhw $0x84, %xmm15, %xmm0    # xmm0 = xmm15[0,1,2,3,4,5,4,6]
por %xmm1, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x5, %xmm0, %ebx
shrl $0x8, %ebx
testb $0x1, %bl
je 0x28d4e
movb %cl, -0x80(%r10)
movdqa %xmm11, %xmm0
por 0x67d25(%rip), %xmm0    # 0x90a80
pxor %xmm8, %xmm0
movdqa %xmm0, %xmm1
pcmpgtd %xmm12, %xmm1
pshufd $0xa0, %xmm1, %xmm14    # xmm14 = xmm1[0,0,2,2]
pshuflw $0xe8, %xmm14, %xmm15   # xmm15 = xmm14[0,2,2,3,4,5,6,7]
pcmpeqd %xmm12, %xmm0
pshufd $0xf5, %xmm0, %xmm13    # xmm13 = xmm0[1,1,3,3]
pshuflw $0xe8, %xmm13, %xmm0    # xmm0 = xmm13[0,2,2,3,4,5,6,7]
pand %xmm15, %xmm0
pshufd $0xf5, %xmm1, %xmm15    # xmm15 = xmm1[1,1,3,3]
pshuflw $0xe8, %xmm15, %xmm1    # xmm1 = xmm15[0,2,2,3,4,5,6,7]
por %xmm0, %xmm1
pxor %xmm9, %xmm1
packssdw %xmm1, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x6, %xmm0, %ebx
testb $0x1, %bl
je 0x28db6
movb %cl, -0x60(%r10)
pand %xmm14, %xmm13
por %xmm15, %xmm13
packssdw %xmm13, %xmm13
pxor %xmm9, %xmm13
packssdw %xmm13, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x6, %xmm0, %ebx
shrl $0x8, %ebx
testb $0x1, %bl
je 0x28de4
movb %cl, -0x40(%r10)
por 0x67c83(%rip), %xmm11   # 0x90a70
pxor %xmm8, %xmm11
movdqa %xmm11, %xmm0
pcmpgtd %xmm12, %xmm0
pshufd $0xa0, %xmm0, %xmm13    # xmm13 = xmm0[0,0,2,2]
pcmpeqd %xmm12, %xmm11
pshufd $0xf5, %xmm11, %xmm11   # xmm11 = xmm11[1,1,3,3]
movdqa %xmm11, %xmm1
pand %xmm13, %xmm1
pshufd $0xf5, %xmm0, %xmm12    # xmm12 = xmm0[1,1,3,3]
por %xmm12, %xmm1
packssdw %xmm1, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x7, %xmm0, %ebx
testb $0x1, %bl
je 0x28e41
movb %cl, -0x20(%r10)
pshufhw $0x84, %xmm13, %xmm0    # xmm0 = xmm13[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm11, %xmm1    # xmm1 = xmm11[0,1,2,3,4,5,4,6]
pand %xmm0, %xmm1
pshufhw $0x84, %xmm12, %xmm0    # xmm0 = xmm12[0,1,2,3,4,5,4,6]
por %xmm1, %xmm0
pxor %xmm9, %xmm0
packssdw %xmm0, %xmm0
packsswb %xmm0, %xmm0
pextrw $0x7, %xmm0, %ebx
shrl $0x8, %ebx
testb $0x1, %bl
je 0x28e78
movb %cl, (%r10)
addq $0x10, %r11
addq $0x200, %r10            # imm = 0x200
cmpq %r11, %r9
jne 0x289a7
incq %rdx
cmpq %rax, %rdx
jne 0x28957
leaq 0x104ec1(%rip), %rax    # 0x12dd60
movswq (%rax), %rax
testq %rax, %rax
jle 0x28ed9
leaq 0xbb5d9(%rip), %rcx     # 0xe4488
movb (%rcx), %cl
notb %cl
xorl %edx, %edx
leaq 0x104e24(%rip), %rsi    # 0x12dce0
leaq 0x340a0d(%rip), %rdi    # 0x3698d0
movswq (%rsi,%rdx,2), %r8
shlq $0x5, %r8
movb %cl, 0x19(%rdi,%r8)
incq %rdx
cmpq %rdx, %rax
jne 0x28ec3
leaq 0x104d30(%rip), %rax    # 0x12dc10
movswq (%rax), %rax
testq %rax, %rax
jle 0x28f20
xorl %ecx, %ecx
leaq 0x104cfe(%rip), %rdx    # 0x12dbf0
leaq 0x404c37(%rip), %rsi    # 0x42db30
movswq (%rdx,%rcx,2), %rdi
imulq $0x2c, %rdi, %rdi
movl 0x1c(%rsi,%rdi), %r8d
addl $0xc, %r8d
andl $0x7ff, %r8d            # imm = 0x7FF
movw %r8w, 0x1c(%rsi,%rdi)
incq %rcx
cmpq %rcx, %rax
jne 0x28ef9
leaq 0x104ec9(%rip), %rax    # 0x12ddf0
movswq (%rax), %rax
testq %rax, %rax
jle 0x28f67
leaq 0xbb551(%rip), %rcx     # 0xe4488
movl (%rcx), %ecx
shrl $0x2, %ecx
xorl %edx, %edx
leaq 0x104e2b(%rip), %rsi    # 0x12dd70
leaq 0x3cb994(%rip), %rdi    # 0x3f48e0
movswq (%rsi,%rdx,2), %r8
leaq (%r8,%r8,4), %r8
movb %cl, 0x1e(%rdi,%r8,8)
movb %cl, 0x1f(%rdi,%r8,8)
incq %rdx
cmpq %rdx, %rax
jne 0x28f4c
leaq 0x104ef2(%rip), %rax    # 0x12de60
cmpw $0x0, (%rax)
jle 0x291e5
xorl %r15d, %r15d
leaq 0x104e9e(%rip), %r14    # 0x12de20
leaq 0x104eb7(%rip), %rbp    # 0x12de40
leaq 0x104e70(%rip), %rax    # 0x12de00
movswq (%rax,%r15,2), %rax
movq %rax, 0x8(%rsp)
leaq (%rax,%rax,4), %r11
leaq 0x3cb93b(%rip), %rax    # 0x3f48e0
movzwl (%rax,%r11,8), %ebx
movswq %bx, %rcx
movq %rcx, %rax
shlq $0x5, %rax
leaq 0x340914(%rip), %rdx    # 0x3698d0
movl (%rdx,%rax), %edx
movswl (%r14,%r15,2), %esi
movl %esi, %edi
addl %edx, %edi
leaq 0x104ea1(%rip), %r8     # 0x12de70
cmpl (%r8,%r15,4), %edi
jge 0x28fe0
movw $0x10, (%r14,%r15,2)
movw $0x10, %si
leaq 0x3408e9(%rip), %rdi    # 0x3698d0
addq %rax, %rdi
movl 0x4(%rdi), %edi
movswl (%rbp,%r15,2), %r8d
movl %r8d, %r9d
addl %edi, %r9d
leaq 0x104eb0(%rip), %r10    # 0x12deb0
cmpl (%r10,%r15,4), %r9d
jge 0x29013
movw $0x10, (%rbp,%r15,2)
movw $0x10, %r8w
movswl %si, %esi
addl %esi, %edx
leaq 0x104ed1(%rip), %rsi    # 0x12def0
cmpl (%rsi,%r15,4), %edx
jle 0x2902c
movw $0xfff0, (%r14,%r15,2)  # imm = 0xFFF0
movswl %r8w, %edx
addl %edx, %edi
leaq 0x104ef7(%rip), %rdx    # 0x12df30
cmpl (%rdx,%r15,4), %edi
jle 0x29047
movw $0xfff0, (%rbp,%r15,2)  # imm = 0xFFF0
leaq 0x3cb892(%rip), %rdx    # 0x3f48e0
movq %r11, 0x10(%rsp)
movzwl 0x2(%rdx,%r11,8), %edx
addw %bx, %dx
decl %edx
cmpw %dx, %bx
jg 0x290a4
movswq %dx, %r12
subq %rcx, %r12
incq %r12
leaq 0x34085c(%rip), %rcx    # 0x3698d0
leaq (%rcx,%rax), %r13
addq $0x4, %r13
movswl (%r14,%r15,2), %esi
addl -0x4(%r13), %esi
movswl (%rbp,%r15,2), %edx
addl (%r13), %edx
movswl %bx, %ebx
movl %ebx, %edi
callq 0x4ab97
incl %ebx
addq $0x20, %r13
decq %r12
jne 0x2907c
leaq 0x3cb835(%rip), %rax    # 0x3f48e0
movq 0x10(%rsp), %rcx
leaq (%rax,%rcx,8), %rdx
leaq 0xbb3cd(%rip), %rax     # 0xe4488
movl (%rax), %eax
andl $0x7f, %eax
shll $0x5, %eax
leaq 0x556b06(%rip), %rcx    # 0x57fbd0
movswl (%rcx,%rax), %eax
sarl $0x3, %eax
leaq 0x104e98(%rip), %rcx    # 0x12df70
addl (%rcx,%r15,4), %eax
movl 0x8(%rdx), %ecx
movl %ecx, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movl %eax, 0x8(%rdx)
leaq 0x77ca3e(%rip), %rax    # 0x7a5b30
movl (%rax), %r12d
testw %r12w, %r12w
js 0x291ce
andl $0x7fff, %r12d          # imm = 0x7FFF
leaq 0xbc613(%rip), %rax     # 0xe5720
movq 0x8(%rsp), %rcx
cmpw %cx, (%rax,%r12,2)
jne 0x291be
movswl (%r14,%r15,2), %esi
leal (,%r12,4), %eax
leaq 0xbb39f(%rip), %rcx     # 0xe44d0
addl (%rcx,%rax), %esi
movl %esi, (%rcx,%rax)
movq 0x10(%rsp), %rcx
movl 0x8(%rcx), %ecx
subl 0x18(%rsp), %ecx
leaq 0xbb406(%rip), %r8      # 0xe4550
movl (%r8,%rax), %edi
leal (%rdi,%rcx), %edx
movl %edx, (%r8,%rax)
movswl (%rbp,%r15,2), %edx
leaq 0xbb3ae(%rip), %r8      # 0xe4510
addl (%r8,%rax), %edx
movl %edx, (%r8,%rax)
movq %rbp, %r13
movq %r14, %rbp
leal (%r12,%r12), %r14d
addl %edi, %ecx
addl $0x2200, %ecx           # imm = 0x2200
leaq 0xbc5cd(%rip), %rbx     # 0xe5750
movswl (%rbx,%r14), %edi
callq 0x48ab4
leaq 0xbb31c(%rip), %rax     # 0xe44b0
movzwl (%rax,%r14), %eax
movswq (%rbx,%r14), %rcx
movq %rbp, %r14
movq %r13, %rbp
imulq $0x2c, %rcx, %rcx
leaq 0x404981(%rip), %rdx    # 0x42db30
movw %ax, 0x1c(%rdx,%rcx)
leaq 0xa8945(%rip), %rax     # 0xd1b00
movb $0x0, (%rax)
leaq 0x77c97b(%rip), %rax    # 0x7a5b40
movl (%rax,%r12,4), %r12d
jmp 0x290f5
incq %r15
leaq 0x104c88(%rip), %rax    # 0x12de60
movswq (%rax), %rax
cmpq %rax, %r15
jl 0x28f89
leaq 0x104dc4(%rip), %rax    # 0x12dfb0
cmpw $0x0, (%rax)
jle 0x295a1
leaq 0x105083(%rip), %rsi    # 0x12e280
leaq 0x10547c(%rip), %rcx    # 0x12e680
leaq 0x104db5(%rip), %r12    # 0x12dfc0
xorl %r13d, %r13d
leaq 0x10502b(%rip), %rdx    # 0x12e240
leaq 0xbb2b4(%rip), %r14     # 0xe44d0
movq %rsi, 0x18(%rsp)
movq %rcx, 0x8(%rsp)
movzwl (%rdx,%r13,2), %eax
testw %ax, %ax
je 0x2956d
leaq 0x104fc5(%rip), %rdi    # 0x12e200
movzwl (%rdi,%r13,2), %ecx
movw %cx, 0x22(%rsp)
movq %r13, %rbp
shlq $0x5, %rbp
leaq 0x10502d(%rip), %rcx    # 0x12e280
leaq (%rcx,%rbp), %r15
addq 0xa7cf2(%rip), %rbp     # 0xd0f50
movl $0xc, %ebx
leaq 0x340666(%rip), %rsi    # 0x3698d0
movzwl (%rdi,%r13,2), %ecx
addw %ax, %cx
andl $0x7ff, %ecx            # imm = 0x7FF
movw %cx, (%rdi,%r13,2)
leaq 0x104efc(%rip), %rdx    # 0x12e180
cmpw (%rdx,%r13,2), %cx
jne 0x292cb
cmpl $0x1, %ebx
jne 0x292bb
movl (%r15), %esi
movl (%rbp), %edx
movl $0x6f, %edi
xorl %ecx, %ecx
movl $0x2, %r8d
callq 0x1c370
leaq 0x104f51(%rip), %rdi    # 0x12e200
leaq 0x34061a(%rip), %rsi    # 0x3698d0
movzwl (%rdi,%r13,2), %ecx
leaq 0x104f7e(%rip), %rax    # 0x12e240
movw $0x0, (%rax,%r13,2)
xorl %eax, %eax
leaq 0x104e6e(%rip), %rdx    # 0x12e140
cmpw (%rdx,%r13,2), %cx
jne 0x29314
cmpl $0x1, %ebx
jne 0x29304
movl (%r15), %esi
movl (%rbp), %edx
movl $0x6f, %edi
xorl %ecx, %ecx
movl $0x2, %r8d
callq 0x1c370
leaq 0x104f03(%rip), %rdi    # 0x12e200
leaq 0x3405cc(%rip), %rsi    # 0x3698d0
leaq 0x104f35(%rip), %rax    # 0x12e240
movw $0x0, (%rax,%r13,2)
xorl %eax, %eax
decl %ebx
jne 0x2926a
movl $0x1, %ebx
movq %r15, 0x48(%rsp)
movq %rsi, %r15
movq 0x48(%rsp), %rax
movl (%rax), %edi
movl (%rbp), %esi
movq 0x18(%rsp), %rax
movl (%rax,%rbx,4), %edx
movq 0x8(%rsp), %rax
movl (%rax,%rbx,4), %ecx
leaq 0x104eb6(%rip), %rax    # 0x12e200
movswl (%rax,%r13,2), %r8d
movswq (%r12,%rbx,2), %rax
shlq $0x5, %rax
leaq (%r15,%rax), %r9
addq %r15, %rax
addq $0x4, %rax
movq %rax, (%rsp)
callq 0x4d172
incq %rbx
cmpq $0x4, %rbx
jne 0x29329
movq %rbp, 0x50(%rsp)
leaq 0x104ebf(%rip), %rax    # 0x12e240
cmpw $0x0, (%rax,%r13,2)
je 0x2956d
leaq 0x77c79c(%rip), %rax    # 0x7a5b30
movl (%rax), %ebx
testw %bx, %bx
js 0x2956d
movq %r12, 0x28(%rsp)
andl $0x7fff, %ebx           # imm = 0x7FFF
leaq 0xbc36f(%rip), %rax     # 0xe5720
movzwl (%rax,%rbx,2), %eax
leaq 0x104d44(%rip), %rcx    # 0x12e100
movzwl (%rcx,%r13,2), %ecx
cmpw %cx, %ax
je 0x293d9
movswl %ax, %edi
movswl %cx, %esi
callq 0x29e23
testl %eax, %eax
je 0x2955a
movl $0x100, %eax            # imm = 0x100
movq %rax, 0x30(%rsp)
leal (,%rbx,4), %eax
movq %rax, 0x10(%rsp)
xorl %ebp, %ebp
leaq 0x104dc8(%rip), %rax    # 0x12e1c0
cmpw $0x0, (%rax,%r13,2)
setg %bpl
leaq 0x4(%rbp), %r15
movq 0x10(%rsp), %rcx
movl (%r14,%rcx), %edi
leaq 0xbb0fa(%rip), %rax     # 0xe4510
movl (%rax,%rcx), %esi
movswl -0x2(%r12,%r15,2), %edx
movl $0x80, %ecx
callq 0x486fd
testl %eax, %eax
jne 0x2943a
decq %r15
cmpq %rbp, %r15
jg 0x29406
jmp 0x2955a
cmpl $0x100, 0x30(%rsp)      # imm = 0x100
movq %rbx, 0x40(%rsp)
jne 0x29463
leaq 0x104df0(%rip), %r15    # 0x12e240
negw (%r15,%r13,2)
movzwl 0x22(%rsp), %eax
leaq 0x104d9f(%rip), %rcx    # 0x12e200
jmp 0x29480
leaq 0x104d96(%rip), %rcx    # 0x12e200
movzwl (%rcx,%r13,2), %eax
leaq 0x104dca(%rip), %r15    # 0x12e240
subw (%r15,%r13,2), %ax
andl $0x7ff, %eax            # imm = 0x7FF
movw %ax, (%rcx,%r13,2)
movl $0x1, %ebp
movq 0x28(%rsp), %rbx
movq 0x18(%rsp), %r15
movq 0x50(%rsp), %r14
movq 0x48(%rsp), %r12
movl (%r12), %edi
movl (%r14), %esi
movl (%r15,%rbp,4), %edx
movq 0x8(%rsp), %rax
movl (%rax,%rbp,4), %ecx
leaq 0x104d48(%rip), %rax    # 0x12e200
movswl (%rax,%r13,2), %r8d
movswq (%rbx,%rbp,2), %rax
shlq $0x5, %rax
leaq 0x340403(%rip), %r10    # 0x3698d0
leaq (%r10,%rax), %r9
addq %r10, %rax
addq $0x4, %rax
movq %rax, (%rsp)
callq 0x4d172
incq %rbp
cmpq $0x4, %rbp
jne 0x2949e
leaq 0x104d0f(%rip), %rax    # 0x12e200
movzwl (%rax,%r13,2), %eax
leaq 0x104c83(%rip), %rcx    # 0x12e180
cmpw (%rcx,%r13,2), %ax
je 0x2953b
leaq 0x104c35(%rip), %rcx    # 0x12e140
cmpw (%rcx,%r13,2), %ax
je 0x2953b
movq 0x30(%rsp), %rcx
leal -0x1(%rcx), %eax
cmpl $0x1, %ecx
movq %rax, 0x30(%rsp)
leaq 0xbafa7(%rip), %r14     # 0xe44d0
movq 0x28(%rsp), %r12
movq 0x40(%rsp), %rbx
ja 0x293ef
jmp 0x2955a
leaq 0x104cfe(%rip), %rax    # 0x12e240
movw $0x0, (%rax,%r13,2)
leaq 0xbaf80(%rip), %r14     # 0xe44d0
movq 0x28(%rsp), %r12
movq 0x40(%rsp), %rbx
leaq 0x77c5df(%rip), %rax    # 0x7a5b40
movl (%rax,%rbx,4), %ebx
testw %bx, %bx
jns 0x293a4
incq %r13
leaq 0x104a39(%rip), %rax    # 0x12dfb0
movswq (%rax), %rax
movq 0x18(%rsp), %rsi
addq $0x20, %rsi
movq 0x8(%rsp), %rcx
addq $0x20, %rcx
addq $0xa, %r12
cmpq %rax, %r13
leaq 0x104ca5(%rip), %rdx    # 0x12e240
jl 0x2921c
leaq 0x1054e8(%rip), %rax    # 0x12ea90
movzwl (%rax), %eax
testw %ax, %ax
jle 0x296e9
leaq 0x1054e5(%rip), %r10    # 0x12eaa0
leaq 0x1055de(%rip), %r11    # 0x12eba0
xorl %r15d, %r15d
leaq 0x1054b4(%rip), %rdi    # 0x12ea80
leaq 0x3cb30d(%rip), %r8     # 0x3f48e0
leaq 0x1054ae(%rip), %r13    # 0x12ea88
leaq 0x1056bf(%rip), %rbx    # 0x12eca0
leaq 0x1056c8(%rip), %r14    # 0x12ecb0
leaq 0x24(%rsp), %r12
leaq 0x3c(%rsp), %r9
movswq (%rdi,%r15,2), %rcx
leaq (%rcx,%rcx,4), %rdx
movswq (%r8,%rdx,8), %rcx
movzwl 0x2(%r8,%rdx,8), %edx
addw %cx, %dx
decl %edx
movzwl (%r13,%r15,2), %esi
addl $0x7f4, %esi            # imm = 0x7F4
andl $0x7ff, %esi            # imm = 0x7FF
movw %si, (%r13,%r15,2)
cmpw %dx, %cx
jg 0x296d1
movswq %dx, %rax
subq %rcx, %rax
incq %rax
movq %rax, 0x10(%rsp)
movzwl %cx, %eax
movq %rax, 0x18(%rsp)
xorl %ebp, %ebp
movq %r15, 0x8(%rsp)
movl (%rbx,%r15,4), %edi
movl (%r14,%r15,4), %esi
movl (%r10,%rbp,4), %edx
movl (%r11,%rbp,4), %ecx
movswl (%r13,%r15,2), %r8d
movq %r12, (%rsp)
movq %r10, %r12
movq %r9, %r15
movq %r14, %r13
movq %rbx, %r14
movq %r11, %rbx
callq 0x4d172
movq 0x18(%rsp), %rax
addl %ebp, %eax
movl 0x3c(%rsp), %esi
movl 0x24(%rsp), %edx
movswl %ax, %edi
callq 0x4ab97
movq %rbx, %r11
movq %r14, %rbx
movq %r13, %r14
movq %r15, %r9
movq %r12, %r10
leaq 0x24(%rsp), %r12
leaq 0x1053de(%rip), %r13    # 0x12ea88
movq 0x8(%rsp), %r15
incq %rbp
cmpq %rbp, 0x10(%rsp)
jne 0x2964a
leaq 0x1053d0(%rip), %rax    # 0x12ea90
movzwl (%rax), %eax
leaq 0x1053b6(%rip), %rdi    # 0x12ea80
leaq 0x3cb20f(%rip), %r8     # 0x3f48e0
incq %r15
movswq %ax, %rcx
addq $0x40, %r10
addq $0x40, %r11
cmpq %rcx, %r15
jl 0x295f2
leaq 0x1059d8(%rip), %rax    # 0x12f0c8
cmpw $0x0, (%rax)
jle 0x29d9b
leaq 0x1055bf(%rip), %rax    # 0x12ecc0
xorl %r13d, %r13d
leaq 0x107a05(%rip), %rbx    # 0x131110
leaq 0x105a5e(%rip), %r9     # 0x12f170
leaq 0x533c77(%rip), %r15    # 0x55d390
leaq 0x53dc80(%rip), %rbp    # 0x5673a0
leaq 0x404409(%rip), %r14    # 0x42db30
movq %rax, 0x8(%rsp)
movl (%rbx,%r13,4), %edi
leaq 0x105a69(%rip), %rax    # 0x12f1a0
movl (%rax,%r13,4), %esi
movl (%r9,%r13,4), %edx
cmpl $-0x1, %edi
je 0x2974b
callq 0x1c624
jmp 0x29764
movl $0x4b, %edi
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movl $0x80, %r8d
callq 0x1c370
movl %eax, (%rbx,%r13,4)
movq %r13, %r12
shlq $0x8, %r12
leaq 0x10554e(%rip), %rax    # 0x12ecc0
movswq (%rax,%r12), %rax
leaq (%rax,%rax,4), %rcx
leaq 0x3cb15e(%rip), %rbx    # 0x3f48e0
movswq (%rbx,%rcx,8), %rax
movzwl 0x2(%rbx,%rcx,8), %ecx
addw %ax, %cx
decl %ecx
cmpw %cx, %ax
leaq 0x1059d5(%rip), %r9     # 0x12f170
leaq 0x105a1e(%rip), %r10    # 0x12f1c0
leaq 0x340127(%rip), %r11    # 0x3698d0
jg 0x29804
movswq %cx, %rcx
leaq 0x1059aa(%rip), %rdx    # 0x12f160
movl (%rdx,%r13,4), %edx
subq %rax, %rcx
incq %rcx
shlq $0x5, %rax
addq %r11, %rax
movl (%rax), %esi
cmpl %edx, %esi
jle 0x297fb
movl 0x4(%rax), %edi
cmpl (%r9,%r13,4), %edi
jle 0x297fb
leaq 0x1059a3(%rip), %r8     # 0x12f180
cmpl (%r8,%r13,4), %esi
jge 0x297fb
leaq 0x1059a6(%rip), %r8     # 0x12f190
cmpl (%r8,%r13,4), %edi
jge 0x297fb
movl (%r10,%r13,4), %edi
andl $-0x4, %edi
addl %esi, %edi
movl %edi, (%rax)
addq $0x20, %rax
decq %rcx
jne 0x297c7
addq 0xa773d(%rip), %r12     # 0xd0f48
leaq 0x1058ae(%rip), %rax    # 0x12f0c0
movswq (%rax,%r13,2), %rax
cmpq $0x2, %rax
jl 0x29895
movl $0x1, %ecx
movswq (%r12,%rcx,2), %rdx
leaq (%rdx,%rdx,4), %rdi
movswq (%rbx,%rdi,8), %rsi
movzwl 0x2(%rbx,%rdi,8), %edi
addw %si, %di
decl %edi
cmpw %di, %si
jg 0x29864
movswq %di, %rdi
movl (%r10,%r13,4), %r8d
andl $-0x4, %r8d
subq %rsi, %rdi
incq %rdi
shlq $0x5, %rsi
addq %r11, %rsi
addl %r8d, (%rsi)
addq $0x20, %rsi
decq %rdi
jne 0x29858
movzwl (%r15,%rdx,2), %edx
cmpw $-0x1, %dx
je 0x2988d
movl (%r10,%r13,4), %esi
andl $-0x4, %esi
movswq %dx, %rdi
movzwl (%rbp,%rdi,2), %edx
imulq $0x2c, %rdi, %rdi
addl %esi, (%r14,%rdi)
cmpw $-0x1, %dx
jne 0x29876
incq %rcx
cmpq %rax, %rcx
jne 0x29822
leaq 0x77c294(%rip), %rax    # 0x7a5b30
movl (%rax), %r15d
testw %r15w, %r15w
leaq 0xbbe76(%rip), %rsi     # 0xe5720
leaq 0x77c28f(%rip), %rdi    # 0x7a5b40
js 0x299d9
andl $0x7fff, %r15d          # imm = 0x7FFF
movswq (%rsi,%r15,2), %rax
movswq (%r12), %rcx
cmpw %cx, %ax
je 0x299cb
leaq (%rax,%rax,4), %rax
movl 0x8(%rbx,%rax,8), %eax
leaq (%rcx,%rcx,4), %rcx
cmpl 0x8(%rbx,%rcx,8), %eax
je 0x299cb
leaq 0xbabe2(%rip), %rax     # 0xe44d0
movl (%rax,%r15,4), %eax
leaq 0x105867(%rip), %rcx    # 0x12f160
cmpl (%rcx,%r13,4), %eax
jle 0x299cb
leaq 0xbac06(%rip), %rcx     # 0xe4510
movl (%rcx,%r15,4), %edx
cmpl (%r9,%r13,4), %edx
jle 0x299cb
leaq 0x105861(%rip), %rcx    # 0x12f180
cmpl (%rcx,%r13,4), %eax
jge 0x299cb
leaq 0x105860(%rip), %rcx    # 0x12f190
cmpl (%rcx,%r13,4), %edx
jge 0x299cb
movl (%r10,%r13,4), %esi
andl $-0x4, %esi
addl %eax, %esi
leal (,%r15,4), %eax
leaq 0xbab7e(%rip), %rcx     # 0xe44d0
movl %esi, (%rcx,%rax)
leal (%r15,%r15), %edi
movq %rdi, 0x10(%rsp)
leaq 0xbbdeb(%rip), %rcx     # 0xe5750
movswl (%rcx,%rdi), %edi
leaq 0xbabe0(%rip), %rcx     # 0xe4550
movl (%rcx,%rax), %ecx
movl $0x2200, %eax           # imm = 0x2200
addl %eax, %ecx
callq 0x48ab4
leaq 0x77c1ba(%rip), %rdi    # 0x7a5b40
leaq 0xbbd93(%rip), %rsi     # 0xe5720
leaq 0x10582c(%rip), %r10    # 0x12f1c0
leaq 0x1057d5(%rip), %r9     # 0x12f170
leaq 0xbab0e(%rip), %rax     # 0xe44b0
movq 0x10(%rsp), %rdx
movzwl (%rax,%rdx), %eax
leaq 0xbbd9e(%rip), %rcx     # 0xe5750
movswq (%rcx,%rdx), %rcx
imulq $0x2c, %rcx, %rcx
movw %ax, 0x1c(%r14,%rcx)
leaq 0xa8138(%rip), %rax     # 0xd1b00
movb $0x0, (%rax)
movl (%rdi,%r15,4), %r15d
testw %r15w, %r15w
jns 0x298b7
movl (%r10,%r13,4), %eax
movl %eax, %ecx
andl $-0x4, %ecx
leaq 0x1057b7(%rip), %rdx    # 0x12f1a0
addl (%rdx,%r13,4), %ecx
movl %ecx, (%rdx,%r13,4)
leaq 0x1057b8(%rip), %rdx    # 0x12f1b0
movslq (%rdx,%r13,4), %rdx
movq %r13, %rsi
shlq $0x5, %rsi
addq 0xa75ae(%rip), %rsi     # 0xd0fb8
movl (%rsi,%rdx,4), %r12d
subl %ecx, %r12d
jle 0x29a6a
cmpl $0x801, %r12d           # imm = 0x801
leaq 0x53396f(%rip), %r15    # 0x55d390
jb 0x29ac6
cmpl $0xc, %eax
jne 0x29a5c
leaq 0x10576d(%rip), %rax    # 0x12f1a0
movl (%rax), %esi
movl (%r9), %edx
movl $0x4c, %edi
xorl %ecx, %ecx
movl $0xc, %r8d
callq 0x1c370
leaq 0x10576f(%rip), %r10    # 0x12f1c0
leaq 0x105718(%rip), %r9     # 0x12f170
movl (%r10,%r13,4), %eax
cmpl $0x7f, %eax
jle 0x29afd
jmp 0x29d74
leaq 0x53391f(%rip), %r15    # 0x55d390
jns 0x29b03
cmpl $0xfffff7ff, %r12d      # imm = 0xFFFFF7FF
ja 0x29d0d
cmpl $-0xc, %eax
jne 0x29ab9
leaq 0x105710(%rip), %rax    # 0x12f1a0
movl (%rax), %esi
movl (%r9), %edx
movl $0x4c, %edi
xorl %ecx, %ecx
movl $0xc, %r8d
callq 0x1c370
leaq 0x105712(%rip), %r10    # 0x12f1c0
leaq 0x1056bb(%rip), %r9     # 0x12f170
movl (%r10,%r13,4), %eax
cmpl $-0x7f, %eax
jl 0x29d74
decl %eax
jmp 0x29aff
cmpl $0x20, %eax
jne 0x29af7
leaq 0x1056ce(%rip), %rax    # 0x12f1a0
movl (%rax), %esi
movl (%r9), %edx
movl $0x4d, %edi
xorl %ecx, %ecx
movl $0xc, %r8d
callq 0x1c370
leaq 0x1056d0(%rip), %r10    # 0x12f1c0
leaq 0x105679(%rip), %r9     # 0x12f170
movl %r12d, %eax
shrl $0x4, %eax
incl %eax
movl %eax, (%r10,%r13,4)
movl %r12d, %ecx
negl %ecx
cmovsl %r12d, %ecx
cmpl $0x7ff, %ecx            # imm = 0x7FF
ja 0x29d74
cmpl $0x3, %eax
ja 0x29d74
leaq 0x1056a8(%rip), %rax    # 0x12f1d0
movl (%rax,%r13,4), %eax
cmpl $0x2d0, %eax            # imm = 0x2D0
jne 0x29be9
leaq 0x105582(%rip), %rax    # 0x12f0c0
movzwl (%rax,%r13,2), %ecx
movl $0x2d0, %eax            # imm = 0x2D0
cmpw $0x2, %cx
jl 0x29cfd
movl $0x1, %r15d
movq 0x8(%rsp), %rax
movswq (%rax,%r15,2), %r12
leaq (%r12,%r12,4), %rax
cmpw $0x11, 0x22(%rbx,%rax,8)
jne 0x29bcb
leaq 0x3cad6b(%rip), %rcx    # 0x3f48e0
leaq (%rcx,%rax,8), %rbx
addq $0x22, %rbx
movw $0x10, (%rbx)
leaq 0x105617(%rip), %rax    # 0x12f1a0
movl (%rax,%r13,4), %esi
movl (%r9,%r13,4), %edx
movl $0x3e, %edi
xorl %ecx, %ecx
movl $0xc, %r8d
callq 0x1c370
movswl %r12w, %edi
callq 0x27c8c
leaq 0x1055bd(%rip), %r9     # 0x12f170
movw $0x11, (%rbx)
leaq 0x3cad21(%rip), %rbx    # 0x3f48e0
leaq 0x1054fa(%rip), %rax    # 0x12f0c0
movzwl (%rax,%r13,2), %ecx
incq %r15
movswq %cx, %rax
cmpq %rax, %r15
jl 0x29b58
leaq 0x1055f2(%rip), %rax    # 0x12f1d0
movl (%rax,%r13,4), %eax
leaq 0x5337a7(%rip), %r15    # 0x55d390
leal -0x78(%rax), %ecx
cmpl $0x2, %ecx
ja 0x29ca2
leaq 0x1054c4(%rip), %rcx    # 0x12f0c0
movzwl (%rcx,%r13,2), %ecx
cmpw $0x2, %cx
jl 0x29cfd
movl $0x1, %r15d
movq 0x8(%rsp), %rax
movswq (%rax,%r15,2), %r12
leaq (%r12,%r12,4), %rax
cmpw $0x11, 0x22(%rbx,%rax,8)
jne 0x29c84
leaq 0x3cacb2(%rip), %rcx    # 0x3f48e0
leaq (%rcx,%rax,8), %rbx
addq $0x22, %rbx
movw $0x10, (%rbx)
leaq 0x10555e(%rip), %rax    # 0x12f1a0
movl (%rax,%r13,4), %esi
movl (%r9,%r13,4), %edx
movl $0x3e, %edi
xorl %ecx, %ecx
movl $0xc, %r8d
callq 0x1c370
movswl %r12w, %edi
callq 0x27c8c
leaq 0x105504(%rip), %r9     # 0x12f170
movw $0x11, (%rbx)
leaq 0x3cac68(%rip), %rbx    # 0x3f48e0
leaq 0x105441(%rip), %rax    # 0x12f0c0
movzwl (%rax,%r13,2), %ecx
incq %r15
movswq %cx, %rax
cmpq %rax, %r15
jl 0x29c11
leaq 0x105539(%rip), %rax    # 0x12f1d0
movl (%rax,%r13,4), %eax
leaq 0x5336ee(%rip), %r15    # 0x55d390
leal -0x3(%rax), %ecx
leaq 0x105524(%rip), %rdx    # 0x12f1d0
movl %ecx, (%rdx,%r13,4)
cmpl $0x2, %eax
jg 0x29d74
leaq 0x105510(%rip), %rax    # 0x12f1d0
movl $0x2d0, (%rax,%r13,4)   # imm = 0x2D0
leaq 0x1054e1(%rip), %rsi    # 0x12f1b0
movl (%rsi,%r13,4), %eax
leaq 0x105476(%rip), %rcx    # 0x12f150
movl (%rcx,%r13,4), %ecx
leal -0x1(%rcx), %edx
cmpl %edx, %eax
jne 0x29d4b
leaq 0xa8c84(%rip), %rax     # 0xd2970
movl $0xffffffff, (%rax,%r13,4) # imm = 0xFFFFFFFF
addl $-0x2, %ecx
movl %ecx, (%rsi,%r13,4)
jmp 0x29d74
addl $-0x3, %eax
leaq 0x1054c9(%rip), %rcx    # 0x12f1d0
movl %eax, (%rcx,%r13,4)
jmp 0x29d74
cmpl $-0x20, %eax
jne 0x29d3e
leaq 0x105487(%rip), %rax    # 0x12f1a0
movl (%rax), %esi
movl (%r9), %edx
movl $0x4d, %edi
xorl %ecx, %ecx
movl $0xc, %r8d
callq 0x1c370
leaq 0x105489(%rip), %r10    # 0x12f1c0
leaq 0x105432(%rip), %r9     # 0x12f170
sarl $0x4, %r12d
decl %r12d
movl %r12d, (%r10,%r13,4)
jmp 0x29d74
testl %eax, %eax
je 0x29d60
leaq 0xa8c1a(%rip), %rcx     # 0xd2970
addl (%rcx,%r13,4), %eax
movl %eax, (%rsi,%r13,4)
jmp 0x29d74
movl $0x1, %ecx
movl %ecx, (%rsi,%r13,4)
leaq 0xa8c00(%rip), %rax     # 0xd2970
movl %ecx, (%rax,%r13,4)
incq %r13
leaq 0x10534a(%rip), %rax    # 0x12f0c8
movswq (%rax), %rax
addq $0x100, 0x8(%rsp)       # imm = 0x100
cmpq %rax, %r13
leaq 0x10737b(%rip), %rbx    # 0x131110
jl 0x2972c
callq 0x29eb4
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq