// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x40, %rsp
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
leaq 0x13c217(%rip), %rcx    # 0x176c60
movswl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x3ab45
movslq -0x4(%rbp), %rcx
leaq 0x13c181(%rip), %rax    # 0x176be0
movw (%rax,%rcx,2), %ax
movw %ax, -0x2a(%rbp)
leaq 0xf2d9a(%rip), %rax     # 0x12d808
movl (%rax), %eax
andl $0x7f, %eax
sarl $0x2, %eax
movl %eax, -0x8(%rbp)
cmpl $0x10, -0x8(%rbp)
jl 0x3aa8a
movl $0x1f, %eax
subl -0x8(%rbp), %eax
movl %eax, -0x8(%rbp)
movl -0x8(%rbp), %eax
movb %al, %cl
movswq -0x2a(%rbp), %rdx
leaq 0x402df5(%rip), %rax    # 0x43d890
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movb %cl, 0x14(%rax)
movl -0x8(%rbp), %eax
movb %al, %cl
movswq -0x2a(%rbp), %rdx
leaq 0x402dda(%rip), %rax    # 0x43d890
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movb %cl, 0x1c(%rax)
movswq -0x2a(%rbp), %rcx
leaq 0x402dc4(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movw (%rax), %ax
movw %ax, -0x26(%rbp)
movswl -0x26(%rbp), %eax
movswq -0x2a(%rbp), %rdx
leaq 0x402da6(%rip), %rcx    # 0x43d890
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
movswl 0x2(%rcx), %ecx
addl %ecx, %eax
subl $0x1, %eax
movw %ax, -0x28(%rbp)
movswl -0x26(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movswl -0x28(%rbp), %ecx
cmpl %ecx, %eax
jg 0x3ab35
movl -0x8(%rbp), %eax
movb %al, %cl
movslq -0x14(%rbp), %rdx
leaq 0x377d60(%rip), %rax    # 0x3b2880
shlq $0x5, %rdx
addq %rdx, %rax
movb %cl, 0x14(%rax)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x3ab05
jmp 0x3ab37
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x3aa3f
leaq 0x76a404(%rip), %rax    # 0x7a4f50
movl (%rax), %eax
movw %ax, -0x2c(%rbp)
movswl -0x2c(%rbp), %eax
cmpl $0x0, %eax
jl 0x3ad07
movswq -0x2c(%rbp), %rcx
leaq 0xf3b75(%rip), %rax     # 0x12e6e0
movswq (%rax,%rcx,2), %rcx
leaq 0x402d19(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movswl 0x22(%rax), %eax
cmpl $0xa, %eax
jne 0x3aced
movswq -0x2c(%rbp), %rcx
leaq 0xf3b49(%rip), %rax     # 0x12e6e0
movswl (%rax,%rcx,2), %eax
movswq -0x2c(%rbp), %rdx
leaq 0xf3b99(%rip), %rcx     # 0x12e740
movswl (%rcx,%rdx,2), %ecx
cmpl %ecx, %eax
je 0x3aceb
movswq -0x2c(%rbp), %rcx
leaq 0xf3b51(%rip), %rax     # 0x12e710
movswl (%rax,%rcx,2), %edi
callq 0x3c450
movswq -0x2c(%rbp), %rcx
leaq 0xf3b3c(%rip), %rax     # 0x12e710
movswq (%rax,%rcx,2), %rcx
leaq 0x43bf00(%rip), %rax    # 0x476ae0
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %edx
movswq -0x2c(%rbp), %rcx
leaq 0xf2c5b(%rip), %rax     # 0x12d850
movl %edx, (%rax,%rcx,4)
movswq -0x2c(%rbp), %rcx
leaq 0xf3b0c(%rip), %rax     # 0x12e710
movswq (%rax,%rcx,2), %rcx
leaq 0x43bed0(%rip), %rax    # 0x476ae0
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movl 0x4(%rax), %edx
movswq -0x2c(%rbp), %rcx
leaq 0xf2c6a(%rip), %rax     # 0x12d890
movl %edx, (%rax,%rcx,4)
movswq -0x2c(%rbp), %rcx
leaq 0xf3adb(%rip), %rax     # 0x12e710
movswq (%rax,%rcx,2), %rcx
leaq 0x43be9f(%rip), %rax    # 0x476ae0
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movl 0x8(%rax), %edx
movswq -0x2c(%rbp), %rcx
leaq 0xf2c79(%rip), %rax     # 0x12d8d0
movl %edx, (%rax,%rcx,4)
movswq -0x2c(%rbp), %rcx
leaq 0xf3aaa(%rip), %rax     # 0x12e710
movswq (%rax,%rcx,2), %rcx
leaq 0x43be6e(%rip), %rax    # 0x476ae0
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movw 0x1c(%rax), %dx
movswq -0x2c(%rbp), %rcx
leaq 0xf2ba7(%rip), %rax     # 0x12d830
movw %dx, (%rax,%rcx,2)
movswq -0x2c(%rbp), %rcx
leaq 0xf3a77(%rip), %rax     # 0x12e710
movswq (%rax,%rcx,2), %rcx
leaq 0x43be3b(%rip), %rax    # 0x476ae0
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movw 0x18(%rax), %dx
movswq -0x2c(%rbp), %rcx
leaq 0xf3a24(%rip), %rax     # 0x12e6e0
movw %dx, (%rax,%rcx,2)
movswq -0x2c(%rbp), %rcx
leaq 0xf3a44(%rip), %rax     # 0x12e710
movswq (%rax,%rcx,2), %rcx
leaq 0x43be08(%rip), %rax    # 0x476ae0
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movl 0x8(%rax), %ecx
addl $0x2200, %ecx           # imm = 0x2200
movl %ecx, 0x8(%rax)
jmp 0x3aced
jmp 0x3acef
movswq -0x2c(%rbp), %rcx
leaq 0x76a265(%rip), %rax    # 0x7a4f60
movl (%rax,%rcx,4), %eax
movw %ax, -0x2c(%rbp)
jmp 0x3ab52
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
leaq 0x13bf78(%rip), %rcx    # 0x176c90
movswl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x3adc9
movslq -0x4(%rbp), %rcx
leaq 0x13bf42(%rip), %rax    # 0x176c70
movw (%rax,%rcx,2), %ax
movw %ax, -0x2a(%rbp)
movswq -0x2a(%rbp), %rcx
leaq 0x402b4e(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movw (%rax), %ax
movw %ax, -0x26(%rbp)
movswl -0x26(%rbp), %eax
movswq -0x2a(%rbp), %rdx
leaq 0x402b30(%rip), %rcx    # 0x43d890
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
movswl 0x2(%rcx), %ecx
addl %ecx, %eax
subl $0x1, %eax
movw %ax, -0x28(%rbp)
movswl -0x26(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movswl -0x28(%rbp), %ecx
cmpl %ecx, %eax
jg 0x3adb9
leaq 0xf2a7b(%rip), %rax     # 0x12d808
movl (%rax), %eax
sarl $0x2, %eax
andl $0xff, %eax
movb %al, %cl
movslq -0x14(%rbp), %rdx
leaq 0x377adc(%rip), %rax    # 0x3b2880
shlq $0x5, %rdx
addq %rdx, %rax
movb %cl, 0x18(%rax)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x3ad7b
jmp 0x3adbb
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x3ad0e
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
leaq 0x13bf46(%rip), %rcx    # 0x176d20
movswl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x3ae20
leaq 0xf2a20(%rip), %rax     # 0x12d808
movl (%rax), %eax
andl $0xff, %eax
xorl $-0x1, %eax
movb %al, %cl
movslq -0x4(%rbp), %rdx
leaq 0x13bea1(%rip), %rax    # 0x176ca0
movswq (%rax,%rdx,2), %rdx
leaq 0x377a75(%rip), %rax    # 0x3b2880
shlq $0x5, %rdx
addq %rdx, %rax
movb %cl, 0x19(%rax)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x3add0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
leaq 0x13bd9f(%rip), %rcx    # 0x176bd0
movswl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x3ae98
movslq -0x4(%rbp), %rcx
leaq 0x13bd6d(%rip), %rax    # 0x176bb0
movswq (%rax,%rcx,2), %rcx
leaq 0x43bc91(%rip), %rax    # 0x476ae0
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movswl 0x1c(%rax), %ecx
addl $0xc, %ecx
movw %cx, 0x1c(%rax)
movslq -0x4(%rbp), %rcx
leaq 0x13bd44(%rip), %rax    # 0x176bb0
movswq (%rax,%rcx,2), %rcx
leaq 0x43bc68(%rip), %rax    # 0x476ae0
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movswl 0x1c(%rax), %ecx
andl $0x7ff, %ecx            # imm = 0x7FF
movw %cx, 0x1c(%rax)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x3ae27
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
leaq 0x13bf07(%rip), %rcx    # 0x176db0
movswl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x3af26
leaq 0xf2951(%rip), %rax     # 0x12d808
movl (%rax), %eax
sarl $0x2, %eax
andl $0xff, %eax
movb %al, %cl
movslq -0x4(%rbp), %rdx
leaq 0x13be62(%rip), %rax    # 0x176d30
movswq (%rax,%rdx,2), %rdx
leaq 0x4029b6(%rip), %rax    # 0x43d890
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movb %cl, 0x1e(%rax)
leaq 0xf291d(%rip), %rax     # 0x12d808
movl (%rax), %eax
sarl $0x2, %eax
andl $0xff, %eax
movb %al, %cl
movslq -0x4(%rbp), %rdx
leaq 0x13be2e(%rip), %rax    # 0x176d30
movswq (%rax,%rdx,2), %rdx
leaq 0x402982(%rip), %rax    # 0x43d890
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movb %cl, 0x1f(%rax)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x3ae9f
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
leaq 0x13bee9(%rip), %rcx    # 0x176e20
movswl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x3b2ef
movslq -0x4(%rbp), %rcx
leaq 0x13be73(%rip), %rax    # 0x176dc0
movw (%rax,%rcx,2), %ax
movw %ax, -0x2a(%rbp)
movswq -0x2a(%rbp), %rcx
leaq 0x40292f(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movw (%rax), %ax
movw %ax, -0x26(%rbp)
movswl -0x26(%rbp), %eax
movswq -0x2a(%rbp), %rdx
leaq 0x402911(%rip), %rcx    # 0x43d890
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
movswl 0x2(%rcx), %ecx
addl %ecx, %eax
subl $0x1, %eax
movw %ax, -0x28(%rbp)
movswq -0x26(%rbp), %rcx
leaq 0x3778e1(%rip), %rax    # 0x3b2880
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13be2d(%rip), %rcx    # 0x176de0
movswl (%rcx,%rdx,2), %ecx
addl %ecx, %eax
movslq -0x4(%rbp), %rdx
leaq 0x13be6c(%rip), %rcx    # 0x176e30
cmpl (%rcx,%rdx,4), %eax
jge 0x3afda
movslq -0x4(%rbp), %rcx
leaq 0x13be0c(%rip), %rax    # 0x176de0
movw $0x10, (%rax,%rcx,2)
movswq -0x26(%rbp), %rcx
leaq 0x37789a(%rip), %rax    # 0x3b2880
shlq $0x5, %rcx
addq %rcx, %rax
movl 0x4(%rax), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13be05(%rip), %rcx    # 0x176e00
movswl (%rcx,%rdx,2), %ecx
addl %ecx, %eax
movslq -0x4(%rbp), %rdx
leaq 0x13be64(%rip), %rcx    # 0x176e70
cmpl (%rcx,%rdx,4), %eax
jge 0x3b022
movslq -0x4(%rbp), %rcx
leaq 0x13bde4(%rip), %rax    # 0x176e00
movw $0x10, (%rax,%rcx,2)
movswq -0x26(%rbp), %rcx
leaq 0x377852(%rip), %rax    # 0x3b2880
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13bd9e(%rip), %rcx    # 0x176de0
movswl (%rcx,%rdx,2), %ecx
addl %ecx, %eax
movslq -0x4(%rbp), %rdx
leaq 0x13be5d(%rip), %rcx    # 0x176eb0
cmpl (%rcx,%rdx,4), %eax
jle 0x3b069
movslq -0x4(%rbp), %rcx
leaq 0x13bd7d(%rip), %rax    # 0x176de0
movw $0xfff0, (%rax,%rcx,2)  # imm = 0xFFF0
movswq -0x26(%rbp), %rcx
leaq 0x37780b(%rip), %rax    # 0x3b2880
shlq $0x5, %rcx
addq %rcx, %rax
movl 0x4(%rax), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13bd76(%rip), %rcx    # 0x176e00
movswl (%rcx,%rdx,2), %ecx
addl %ecx, %eax
movslq -0x4(%rbp), %rdx
leaq 0x13be55(%rip), %rcx    # 0x176ef0
cmpl (%rcx,%rdx,4), %eax
jle 0x3b0b1
movslq -0x4(%rbp), %rcx
leaq 0x13bd55(%rip), %rax    # 0x176e00
movw $0xfff0, (%rax,%rcx,2)  # imm = 0xFFF0
movswl -0x26(%rbp), %eax
movl %eax, -0x8(%rbp)
movl -0x8(%rbp), %eax
movswl -0x28(%rbp), %ecx
cmpl %ecx, %eax
jg 0x3b124
movl -0x8(%rbp), %eax
movslq -0x8(%rbp), %rdx
leaq 0x3777af(%rip), %rcx    # 0x3b2880
shlq $0x5, %rdx
addq %rdx, %rcx
movl (%rcx), %esi
movslq -0x4(%rbp), %rdx
leaq 0x13bcfb(%rip), %rcx    # 0x176de0
movswl (%rcx,%rdx,2), %ecx
addl %ecx, %esi
movslq -0x8(%rbp), %rdx
leaq 0x37778a(%rip), %rcx    # 0x3b2880
shlq $0x5, %rdx
addq %rdx, %rcx
movl 0x4(%rcx), %edx
movslq -0x4(%rbp), %rdi
leaq 0x13bcf5(%rip), %rcx    # 0x176e00
movswl (%rcx,%rdi,2), %ecx
addl %ecx, %edx
movswl %ax, %edi
callq 0x6d260
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x3b0b8
movswq -0x2a(%rbp), %rcx
leaq 0x402760(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x8(%rax), %eax
movl %eax, -0x8(%rbp)
movslq -0x4(%rbp), %rcx
leaq 0x13bde8(%rip), %rax    # 0x176f30
movl (%rax,%rcx,4), %ecx
leaq 0xf26b6(%rip), %rax     # 0x12d808
movl (%rax), %eax
shll $0x4, %eax
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rdx
leaq 0x58da1a(%rip), %rax    # 0x5c8b80
movswl (%rax,%rdx,2), %eax
sarl $0x3, %eax
addl %eax, %ecx
movswq -0x2a(%rbp), %rdx
leaq 0x402715(%rip), %rax    # 0x43d890
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x8(%rax)
leaq 0x769dc4(%rip), %rax    # 0x7a4f50
movl (%rax), %eax
movw %ax, -0x2c(%rbp)
movswl -0x2c(%rbp), %eax
cmpl $0x0, %eax
jl 0x3b2df
movswq -0x2c(%rbp), %rcx
leaq 0xf3535(%rip), %rax     # 0x12e6e0
movswl (%rax,%rcx,2), %eax
movswl -0x2a(%rbp), %ecx
cmpl %ecx, %eax
jne 0x3b2c5
movslq -0x4(%rbp), %rcx
leaq 0x13bc1a(%rip), %rax    # 0x176de0
movswl (%rax,%rcx,2), %edx
movswq -0x2c(%rbp), %rcx
leaq 0xf267a(%rip), %rax     # 0x12d850
addl (%rax,%rcx,4), %edx
leaq 0xf2670(%rip), %rax     # 0x12d850
movl %edx, (%rax,%rcx,4)
movslq -0x4(%rbp), %rcx
leaq 0x13bc12(%rip), %rax    # 0x176e00
movswl (%rax,%rcx,2), %edx
movswq -0x2c(%rbp), %rcx
leaq 0xf2692(%rip), %rax     # 0x12d890
addl (%rax,%rcx,4), %edx
leaq 0xf2688(%rip), %rax     # 0x12d890
movl %edx, (%rax,%rcx,4)
movswq -0x2a(%rbp), %rcx
leaq 0x402679(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x8(%rax), %edx
subl -0x8(%rbp), %edx
movswq -0x2c(%rbp), %rcx
leaq 0xf26a0(%rip), %rax     # 0x12d8d0
addl (%rax,%rcx,4), %edx
leaq 0xf2696(%rip), %rax     # 0x12d8d0
movl %edx, (%rax,%rcx,4)
movswq -0x2c(%rbp), %rcx
leaq 0xf34c7(%rip), %rax     # 0x12e710
movw (%rax,%rcx,2), %ax
movswq -0x2c(%rbp), %rdx
leaq 0xf25f7(%rip), %rcx     # 0x12d850
movl (%rcx,%rdx,4), %esi
movswq -0x2c(%rbp), %rdx
leaq 0xf2628(%rip), %rcx     # 0x12d890
movl (%rcx,%rdx,4), %edx
movswq -0x2c(%rbp), %rdi
leaq 0xf2659(%rip), %rcx     # 0x12d8d0
movl (%rcx,%rdi,4), %ecx
addl $0x2200, %ecx           # imm = 0x2200
movswl %ax, %edi
callq 0x69af0
movswq -0x2c(%rbp), %rcx
leaq 0xf259c(%rip), %rax     # 0x12d830
movw (%rax,%rcx,2), %cx
movswq -0x2c(%rbp), %rdx
leaq 0xf346c(%rip), %rax     # 0x12e710
movswq (%rax,%rdx,2), %rdx
leaq 0x43b830(%rip), %rax    # 0x476ae0
imulq $0x2c, %rdx, %rdx
addq %rdx, %rax
movw %cx, 0x1c(%rax)
leaq 0xdedde(%rip), %rax     # 0x11a0a0
movb $0x0, (%rax)
jmp 0x3b2c7
movswq -0x2c(%rbp), %rcx
leaq 0x769c8d(%rip), %rax    # 0x7a4f60
movl (%rax,%rcx,4), %eax
movw %ax, -0x2c(%rbp)
jmp 0x3b192
jmp 0x3b2e1
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x3af2d
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
leaq 0x13bc70(%rip), %rcx    # 0x176f70
movswl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x3b8bd
movslq -0x4(%rbp), %rcx
leaq 0x13beea(%rip), %rax    # 0x177200
movswl (%rax,%rcx,2), %eax
cmpl $0x0, %eax
je 0x3b8ad
movslq -0x4(%rbp), %rcx
leaq 0x13be92(%rip), %rax    # 0x1771c0
movw (%rax,%rcx,2), %ax
movw %ax, -0x2e(%rbp)
movl $0x0, -0x8(%rbp)
cmpl $0xc, -0x8(%rbp)
jge 0x3b479
movslq -0x4(%rbp), %rcx
leaq 0x13be6e(%rip), %rax    # 0x1771c0
movswl (%rax,%rcx,2), %eax
addl $0x800, %eax            # imm = 0x800
movslq -0x4(%rbp), %rdx
leaq 0x13be9a(%rip), %rcx    # 0x177200
movswl (%rcx,%rdx,2), %ecx
addl %ecx, %eax
andl $0x7ff, %eax            # imm = 0x7FF
movw %ax, %dx
movslq -0x4(%rbp), %rcx
leaq 0x13be41(%rip), %rax    # 0x1771c0
movw %dx, (%rax,%rcx,2)
movslq -0x4(%rbp), %rcx
leaq 0x13be32(%rip), %rax    # 0x1771c0
movswl (%rax,%rcx,2), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13bda3(%rip), %rcx    # 0x177140
movswl (%rcx,%rdx,2), %ecx
cmpl %ecx, %eax
jne 0x3b3f6
cmpl $0xb, -0x8(%rbp)
jne 0x3b3e5
movslq -0x4(%rbp), %rcx
leaq 0x13be8a(%rip), %rax    # 0x177240
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %esi
movslq -0x4(%rbp), %rcx
leaq 0x13c276(%rip), %rax    # 0x177640
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %edx
movl $0x6f, %edi
xorl %ecx, %ecx
movl $0x2, %r8d
callq 0x26af0
movslq -0x4(%rbp), %rcx
leaq 0x13be10(%rip), %rax    # 0x177200
movw $0x0, (%rax,%rcx,2)
movslq -0x4(%rbp), %rcx
leaq 0x13bdbf(%rip), %rax    # 0x1771c0
movswl (%rax,%rcx,2), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13bcf0(%rip), %rcx    # 0x177100
movswl (%rcx,%rdx,2), %ecx
cmpl %ecx, %eax
jne 0x3b469
cmpl $0xb, -0x8(%rbp)
jne 0x3b458
movslq -0x4(%rbp), %rcx
leaq 0x13be17(%rip), %rax    # 0x177240
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %esi
movslq -0x4(%rbp), %rcx
leaq 0x13c203(%rip), %rax    # 0x177640
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %edx
movl $0x6f, %edi
xorl %ecx, %ecx
movl $0x2, %r8d
callq 0x26af0
movslq -0x4(%rbp), %rcx
leaq 0x13bd9d(%rip), %rax    # 0x177200
movw $0x0, (%rax,%rcx,2)
jmp 0x3b46b
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x3b33d
movl $0x1, -0xc(%rbp)
cmpl $0x3, -0xc(%rbp)
jg 0x3b565
movslq -0x4(%rbp), %rcx
leaq 0x13bdab(%rip), %rax    # 0x177240
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %edi
movslq -0x4(%rbp), %rcx
leaq 0x13c197(%rip), %rax    # 0x177640
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %esi
movslq -0x4(%rbp), %rcx
leaq 0x13bd83(%rip), %rax    # 0x177240
shlq $0x5, %rcx
addq %rcx, %rax
movslq -0xc(%rbp), %rcx
movl (%rax,%rcx,4), %edx
movslq -0x4(%rbp), %rcx
leaq 0x13c16a(%rip), %rax    # 0x177640
shlq $0x5, %rcx
addq %rcx, %rax
movslq -0xc(%rbp), %rcx
movl (%rax,%rcx,4), %ecx
movslq -0x4(%rbp), %r8
leaq 0x13bcd1(%rip), %rax    # 0x1771c0
movw (%rax,%r8,2), %r8w
movslq -0x4(%rbp), %r9
leaq 0x13ba81(%rip), %rax    # 0x176f80
imulq $0xa, %r9, %r9
addq %r9, %rax
movslq -0xc(%rbp), %r9
movswq (%rax,%r9,2), %rax
leaq 0x37736a(%rip), %r9     # 0x3b2880
shlq $0x5, %rax
addq %rax, %r9
movslq -0x4(%rbp), %r10
leaq 0x13ba58(%rip), %rax    # 0x176f80
imulq $0xa, %r10, %r10
addq %r10, %rax
movslq -0xc(%rbp), %r10
movswq (%rax,%r10,2), %r10
leaq 0x377341(%rip), %rax    # 0x3b2880
shlq $0x5, %r10
addq %r10, %rax
addq $0x4, %rax
movswl %r8w, %r8d
movq %rax, (%rsp)
callq 0x70640
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x3b480
movslq -0x4(%rbp), %rcx
leaq 0x13bc90(%rip), %rax    # 0x177200
movswl (%rax,%rcx,2), %eax
cmpl $0x0, %eax
je 0x3b8ab
leaq 0x7699cc(%rip), %rax    # 0x7a4f50
movl (%rax), %eax
movw %ax, -0x2c(%rbp)
movswl -0x2c(%rbp), %eax
cmpl $0x0, %eax
jl 0x3b8a9
movswq -0x2c(%rbp), %rcx
leaq 0xf313d(%rip), %rax     # 0x12e6e0
movswl (%rax,%rcx,2), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13bb0e(%rip), %rcx    # 0x1770c0
movswl (%rcx,%rdx,2), %ecx
cmpl %ecx, %eax
je 0x3b5ea
movswq -0x2c(%rbp), %rcx
leaq 0xf311a(%rip), %rax     # 0x12e6e0
movw (%rax,%rcx,2), %dx
movslq -0x4(%rbp), %rcx
leaq 0x13baeb(%rip), %rax    # 0x1770c0
movswl %dx, %edi
movswl (%rax,%rcx,2), %esi
callq 0x3c530
cmpl $0x1, %eax
jne 0x3b88f
movl $0x100, -0x20(%rbp)     # imm = 0x100
movl $0x1, -0x24(%rbp)
movslq -0x4(%rbp), %rcx
leaq 0x13bb7d(%rip), %rax    # 0x177180
movswl (%rax,%rcx,2), %eax
cmpl $0x0, %eax
setg %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %eax
addl $0x3, %eax
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl -0x10(%rbp), %eax
jl 0x3b683
movswq -0x2c(%rbp), %rcx
leaq 0xf221e(%rip), %rax     # 0x12d850
movl (%rax,%rcx,4), %edi
movswq -0x2c(%rbp), %rcx
leaq 0xf224f(%rip), %rax     # 0x12d890
movl (%rax,%rcx,4), %esi
movslq -0x4(%rbp), %rcx
leaq 0x13b931(%rip), %rax    # 0x176f80
imulq $0xa, %rcx, %rcx
addq %rcx, %rax
movslq -0xc(%rbp), %rdx
movl $0x80, %ecx
movswl (%rax,%rdx,2), %edx
callq 0x69490
cmpl $0x0, %eax
je 0x3b676
movl $0x0, -0x24(%rbp)
jmp 0x3b683
jmp 0x3b678
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x3b61e
cmpl $0x0, -0x24(%rbp)
jne 0x3b86b
cmpl $0x100, -0x20(%rbp)     # imm = 0x100
jne 0x3b6d0
movslq -0x4(%rbp), %rcx
leaq 0x13bb5f(%rip), %rax    # 0x177200
movswl (%rax,%rcx,2), %ecx
xorl %eax, %eax
subl %ecx, %eax
movw %ax, %dx
movslq -0x4(%rbp), %rcx
leaq 0x13bb49(%rip), %rax    # 0x177200
movw %dx, (%rax,%rcx,2)
movw -0x2e(%rbp), %dx
movslq -0x4(%rbp), %rcx
leaq 0x13baf6(%rip), %rax    # 0x1771c0
movw %dx, (%rax,%rcx,2)
jmp 0x3b70c
movslq -0x4(%rbp), %rcx
leaq 0x13bae5(%rip), %rax    # 0x1771c0
movswl (%rax,%rcx,2), %eax
addl $0x800, %eax            # imm = 0x800
movslq -0x4(%rbp), %rdx
leaq 0x13bb11(%rip), %rcx    # 0x177200
movswl (%rcx,%rdx,2), %ecx
subl %ecx, %eax
andl $0x7ff, %eax            # imm = 0x7FF
movw %ax, %dx
movslq -0x4(%rbp), %rcx
leaq 0x13bab8(%rip), %rax    # 0x1771c0
movw %dx, (%rax,%rcx,2)
movl $0x1, -0xc(%rbp)
cmpl $0x3, -0xc(%rbp)
jg 0x3b7f8
movslq -0x4(%rbp), %rcx
leaq 0x13bb18(%rip), %rax    # 0x177240
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %edi
movslq -0x4(%rbp), %rcx
leaq 0x13bf04(%rip), %rax    # 0x177640
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %esi
movslq -0x4(%rbp), %rcx
leaq 0x13baf0(%rip), %rax    # 0x177240
shlq $0x5, %rcx
addq %rcx, %rax
movslq -0xc(%rbp), %rcx
movl (%rax,%rcx,4), %edx
movslq -0x4(%rbp), %rcx
leaq 0x13bed7(%rip), %rax    # 0x177640
shlq $0x5, %rcx
addq %rcx, %rax
movslq -0xc(%rbp), %rcx
movl (%rax,%rcx,4), %ecx
movslq -0x4(%rbp), %r8
leaq 0x13ba3e(%rip), %rax    # 0x1771c0
movw (%rax,%r8,2), %r8w
movslq -0x4(%rbp), %r9
leaq 0x13b7ee(%rip), %rax    # 0x176f80
imulq $0xa, %r9, %r9
addq %r9, %rax
movslq -0xc(%rbp), %r9
movswq (%rax,%r9,2), %rax
leaq 0x3770d7(%rip), %r9     # 0x3b2880
shlq $0x5, %rax
addq %rax, %r9
movslq -0x4(%rbp), %r10
leaq 0x13b7c5(%rip), %rax    # 0x176f80
imulq $0xa, %r10, %r10
addq %r10, %rax
movslq -0xc(%rbp), %r10
movswq (%rax,%r10,2), %r10
leaq 0x3770ae(%rip), %rax    # 0x3b2880
shlq $0x5, %r10
addq %r10, %rax
addq $0x4, %rax
movswl %r8w, %r8d
movq %rax, (%rsp)
callq 0x70640
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x3b713
movslq -0x4(%rbp), %rcx
leaq 0x13b9bd(%rip), %rax    # 0x1771c0
movswl (%rax,%rcx,2), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13b92e(%rip), %rcx    # 0x177140
movswl (%rcx,%rdx,2), %ecx
cmpl %ecx, %eax
jne 0x3b82d
movslq -0x4(%rbp), %rcx
leaq 0x13b9db(%rip), %rax    # 0x177200
movw $0x0, (%rax,%rcx,2)
jmp 0x3b88d
movslq -0x4(%rbp), %rcx
leaq 0x13b988(%rip), %rax    # 0x1771c0
movswl (%rax,%rcx,2), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13b8b9(%rip), %rcx    # 0x177100
movswl (%rcx,%rdx,2), %ecx
cmpl %ecx, %eax
jne 0x3b862
movslq -0x4(%rbp), %rcx
leaq 0x13b9a6(%rip), %rax    # 0x177200
movw $0x0, (%rax,%rcx,2)
jmp 0x3b88d
movl -0x20(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x3b86d
xorl %eax, %eax
cmpl $0x0, -0x24(%rbp)
movb %al, -0x2f(%rbp)
jne 0x3b882
cmpl $0x0, -0x20(%rbp)
setg %al
movb %al, -0x2f(%rbp)
movb -0x2f(%rbp), %al
testb $0x1, %al
jne 0x3b5f1
jmp 0x3b88f
jmp 0x3b891
movswq -0x2c(%rbp), %rcx
leaq 0x7696c3(%rip), %rax    # 0x7a4f60
movl (%rax,%rcx,4), %eax
movw %ax, -0x2c(%rbp)
jmp 0x3b58a
jmp 0x3b8ab
jmp 0x3b8ad
jmp 0x3b8af
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x3b2f6
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
leaq 0x13c182(%rip), %rcx    # 0x177a50
movswl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x3ba21
movslq -0x4(%rbp), %rcx
leaq 0x13c15c(%rip), %rax    # 0x177a40
movswq (%rax,%rcx,2), %rcx
leaq 0x401fa0(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movw (%rax), %ax
movw %ax, -0x26(%rbp)
movswl -0x26(%rbp), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13c133(%rip), %rcx    # 0x177a40
movswq (%rcx,%rdx,2), %rdx
leaq 0x401f77(%rip), %rcx    # 0x43d890
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
movswl 0x2(%rcx), %ecx
addl %ecx, %eax
subl $0x1, %eax
movw %ax, -0x28(%rbp)
movslq -0x4(%rbp), %rcx
leaq 0x13c110(%rip), %rax    # 0x177a48
movswl (%rax,%rcx,2), %eax
addl $0x800, %eax            # imm = 0x800
subl $0xc, %eax
andl $0x7ff, %eax            # imm = 0x7FF
movw %ax, %dx
movslq -0x4(%rbp), %rcx
leaq 0x13c0f1(%rip), %rax    # 0x177a48
movw %dx, (%rax,%rcx,2)
movswl -0x26(%rbp), %eax
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
movswl -0x28(%rbp), %ecx
cmpl %ecx, %eax
jg 0x3ba11
movslq -0x4(%rbp), %rcx
leaq 0x13c2e4(%rip), %rax    # 0x177c60
movl (%rax,%rcx,4), %edi
movslq -0x4(%rbp), %rcx
leaq 0x13c2e6(%rip), %rax    # 0x177c70
movl (%rax,%rcx,4), %esi
movslq -0x4(%rbp), %rcx
leaq 0x13c0c8(%rip), %rax    # 0x177a60
shlq $0x6, %rcx
addq %rcx, %rax
movl -0xc(%rbp), %ecx
movswl -0x26(%rbp), %edx
subl %edx, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %edx
movslq -0x4(%rbp), %rcx
leaq 0x13c1a7(%rip), %rax    # 0x177b60
shlq $0x6, %rcx
addq %rcx, %rax
movl -0xc(%rbp), %ecx
movswl -0x26(%rbp), %r8d
subl %r8d, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %ecx
movslq -0x4(%rbp), %r10
leaq -0x18(%rbp), %r9
leaq -0x1c(%rbp), %rax
leaq 0x13c064(%rip), %r8     # 0x177a48
movswl (%r8,%r10,2), %r8d
movq %rax, (%rsp)
callq 0x70640
movl -0xc(%rbp), %eax
movl -0x18(%rbp), %esi
movl -0x1c(%rbp), %edx
movswl %ax, %edi
callq 0x6d260
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x3b962
jmp 0x3ba13
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x3b8c4
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
leaq 0x13c656(%rip), %rcx    # 0x178088
movswl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x3c443
movslq -0x4(%rbp), %rcx
leaq 0x13e678(%rip), %rax    # 0x17a0c0
cmpl $-0x1, (%rax,%rcx,4)
jne 0x3ba91
movslq -0x4(%rbp), %rcx
leaq 0x13c707(%rip), %rax    # 0x178160
movl (%rax,%rcx,4), %esi
movslq -0x4(%rbp), %rcx
leaq 0x13c6c9(%rip), %rax    # 0x178130
movl (%rax,%rcx,4), %edx
movl $0x4b, %edi
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movl $0x80, %r8d
callq 0x26af0
movl %eax, %edx
movslq -0x4(%rbp), %rcx
leaq 0x13e634(%rip), %rax    # 0x17a0c0
movl %edx, (%rax,%rcx,4)
jmp 0x3bac0
movslq -0x4(%rbp), %rcx
leaq 0x13e624(%rip), %rax    # 0x17a0c0
movl (%rax,%rcx,4), %edi
movslq -0x4(%rbp), %rcx
leaq 0x13c6b6(%rip), %rax    # 0x178160
movl (%rax,%rcx,4), %esi
movslq -0x4(%rbp), %rcx
leaq 0x13c678(%rip), %rax    # 0x178130
movl (%rax,%rcx,4), %edx
callq 0x271d0
movslq -0x4(%rbp), %rcx
leaq 0x13c1b5(%rip), %rax    # 0x177c80
shlq $0x8, %rcx
addq %rcx, %rax
movw (%rax), %ax
movw %ax, -0x2a(%rbp)
movswq -0x2a(%rbp), %rcx
leaq 0x401dab(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movw (%rax), %ax
movw %ax, -0x26(%rbp)
movswl -0x26(%rbp), %eax
movswq -0x2a(%rbp), %rdx
leaq 0x401d8d(%rip), %rcx    # 0x43d890
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
movswl 0x2(%rcx), %ecx
addl %ecx, %eax
subl $0x1, %eax
movw %ax, -0x28(%rbp)
movswl -0x26(%rbp), %eax
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
movswl -0x28(%rbp), %ecx
cmpl %ecx, %eax
jg 0x3bc00
movslq -0xc(%rbp), %rcx
leaq 0x376d48(%rip), %rax    # 0x3b2880
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13c5d4(%rip), %rcx    # 0x178120
cmpl (%rcx,%rdx,4), %eax
jle 0x3bbf0
movslq -0xc(%rbp), %rcx
leaq 0x376d20(%rip), %rax    # 0x3b2880
shlq $0x5, %rcx
addq %rcx, %rax
movl 0x4(%rax), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13c5bb(%rip), %rcx    # 0x178130
cmpl (%rcx,%rdx,4), %eax
jle 0x3bbee
movslq -0xc(%rbp), %rcx
leaq 0x376cfb(%rip), %rax    # 0x3b2880
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13c5a7(%rip), %rcx    # 0x178140
cmpl (%rcx,%rdx,4), %eax
jge 0x3bbec
movslq -0xc(%rbp), %rcx
leaq 0x376cd7(%rip), %rax    # 0x3b2880
shlq $0x5, %rcx
addq %rcx, %rax
movl 0x4(%rax), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13c592(%rip), %rcx    # 0x178150
cmpl (%rcx,%rdx,4), %eax
jge 0x3bbea
movslq -0x4(%rbp), %rcx
leaq 0x13c5b2(%rip), %rax    # 0x178180
movl (%rax,%rcx,4), %ecx
andl $-0x4, %ecx
movslq -0xc(%rbp), %rdx
leaq 0x376ca1(%rip), %rax    # 0x3b2880
shlq $0x5, %rdx
addq %rdx, %rax
addl (%rax), %ecx
movl %ecx, (%rax)
jmp 0x3bbec
jmp 0x3bbee
jmp 0x3bbf0
jmp 0x3bbf2
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x3bb1e
movl $0x1, -0x8(%rbp)
movl -0x8(%rbp), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13c46b(%rip), %rcx    # 0x178080
movswl (%rcx,%rdx,2), %ecx
cmpl %ecx, %eax
jge 0x3bd2b
movslq -0x4(%rbp), %rcx
leaq 0x13c054(%rip), %rax    # 0x177c80
shlq $0x8, %rcx
addq %rcx, %rax
movslq -0x8(%rbp), %rcx
movw (%rax,%rcx,2), %ax
movw %ax, -0x2a(%rbp)
movswq -0x2a(%rbp), %rcx
leaq 0x401c45(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movw (%rax), %ax
movw %ax, -0x26(%rbp)
movswl -0x26(%rbp), %eax
movswq -0x2a(%rbp), %rdx
leaq 0x401c27(%rip), %rcx    # 0x43d890
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
movswl 0x2(%rcx), %ecx
addl %ecx, %eax
subl $0x1, %eax
movw %ax, -0x28(%rbp)
movswl -0x26(%rbp), %eax
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
movswl -0x28(%rbp), %ecx
cmpl %ecx, %eax
jg 0x3bcc1
movslq -0x4(%rbp), %rcx
leaq 0x13c4e6(%rip), %rax    # 0x178180
movl (%rax,%rcx,4), %ecx
andl $-0x4, %ecx
movslq -0xc(%rbp), %rdx
leaq 0x376bd5(%rip), %rax    # 0x3b2880
shlq $0x5, %rdx
addq %rdx, %rax
addl (%rax), %ecx
movl %ecx, (%rax)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x3bc84
movswq -0x2a(%rbp), %rcx
leaq 0x56a673(%rip), %rax    # 0x5a6340
movswl (%rax,%rcx,2), %eax
movl %eax, -0x14(%rbp)
cmpl $-0x1, -0x14(%rbp)
je 0x3bd1b
movslq -0x14(%rbp), %rcx
leaq 0x57466b(%rip), %rax    # 0x5b0350
movswl (%rax,%rcx,2), %eax
movl %eax, -0xc(%rbp)
movslq -0x4(%rbp), %rcx
leaq 0x13c489(%rip), %rax    # 0x178180
movl (%rax,%rcx,4), %ecx
andl $-0x4, %ecx
movslq -0x14(%rbp), %rdx
leaq 0x43add8(%rip), %rax    # 0x476ae0
imulq $0x2c, %rdx, %rdx
addq %rdx, %rax
addl (%rax), %ecx
movl %ecx, (%rax)
movl -0xc(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x3bcd4
jmp 0x3bd1d
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x3bc07
leaq 0x76921e(%rip), %rax    # 0x7a4f50
movl (%rax), %eax
movw %ax, -0x2c(%rbp)
movswl -0x2c(%rbp), %eax
cmpl $0x0, %eax
jl 0x3bf23
movswq -0x2c(%rbp), %rcx
leaq 0xf298f(%rip), %rax     # 0x12e6e0
movswl (%rax,%rcx,2), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13bf20(%rip), %rcx    # 0x177c80
shlq $0x8, %rdx
addq %rdx, %rcx
movswl (%rcx), %ecx
cmpl %ecx, %eax
je 0x3bf09
movswq -0x2c(%rbp), %rcx
leaq 0xf2962(%rip), %rax     # 0x12e6e0
movswq (%rax,%rcx,2), %rcx
leaq 0x401b06(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x8(%rax), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13bee1(%rip), %rcx    # 0x177c80
shlq $0x8, %rdx
addq %rdx, %rcx
movswq (%rcx), %rdx
leaq 0x401adf(%rip), %rcx    # 0x43d890
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x8(%rcx), %eax
je 0x3bf07
movswq -0x2c(%rbp), %rcx
leaq 0xf1a83(%rip), %rax     # 0x12d850
movl (%rax,%rcx,4), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13c345(%rip), %rcx    # 0x178120
cmpl (%rcx,%rdx,4), %eax
jle 0x3bf05
movswq -0x2c(%rbp), %rcx
leaq 0xf1aa0(%rip), %rax     # 0x12d890
movl (%rax,%rcx,4), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13c332(%rip), %rcx    # 0x178130
cmpl (%rcx,%rdx,4), %eax
jle 0x3bf03
movswq -0x2c(%rbp), %rcx
leaq 0xf1a3d(%rip), %rax     # 0x12d850
movl (%rax,%rcx,4), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13c31f(%rip), %rcx    # 0x178140
cmpl (%rcx,%rdx,4), %eax
jge 0x3bf01
movswq -0x2c(%rbp), %rcx
leaq 0xf1a5a(%rip), %rax     # 0x12d890
movl (%rax,%rcx,4), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13c30c(%rip), %rcx    # 0x178150
cmpl (%rcx,%rdx,4), %eax
jge 0x3beff
movslq -0x4(%rbp), %rcx
leaq 0x13c328(%rip), %rax    # 0x178180
movl (%rax,%rcx,4), %edx
andl $-0x4, %edx
movswq -0x2c(%rbp), %rcx
leaq 0xf19e6(%rip), %rax     # 0x12d850
addl (%rax,%rcx,4), %edx
leaq 0xf19dc(%rip), %rax     # 0x12d850
movl %edx, (%rax,%rcx,4)
movswq -0x2c(%rbp), %rcx
leaq 0xf288d(%rip), %rax     # 0x12e710
movw (%rax,%rcx,2), %ax
movswq -0x2c(%rbp), %rdx
leaq 0xf19bd(%rip), %rcx     # 0x12d850
movl (%rcx,%rdx,4), %esi
movswq -0x2c(%rbp), %rdx
leaq 0xf19ee(%rip), %rcx     # 0x12d890
movl (%rcx,%rdx,4), %edx
movswq -0x2c(%rbp), %rdi
leaq 0xf1a1f(%rip), %rcx     # 0x12d8d0
movl (%rcx,%rdi,4), %ecx
addl $0x2200, %ecx           # imm = 0x2200
movswl %ax, %edi
callq 0x69af0
movswq -0x2c(%rbp), %rcx
leaq 0xf1962(%rip), %rax     # 0x12d830
movw (%rax,%rcx,2), %cx
movswq -0x2c(%rbp), %rdx
leaq 0xf2832(%rip), %rax     # 0x12e710
movswq (%rax,%rdx,2), %rdx
leaq 0x43abf6(%rip), %rax    # 0x476ae0
imulq $0x2c, %rdx, %rdx
addq %rdx, %rax
movw %cx, 0x1c(%rax)
leaq 0xde1a4(%rip), %rax     # 0x11a0a0
movb $0x0, (%rax)
jmp 0x3bf01
jmp 0x3bf03
jmp 0x3bf05
jmp 0x3bf07
jmp 0x3bf09
jmp 0x3bf0b
movswq -0x2c(%rbp), %rcx
leaq 0x769049(%rip), %rax    # 0x7a4f60
movl (%rax,%rcx,4), %eax
movw %ax, -0x2c(%rbp)
jmp 0x3bd38
movslq -0x4(%rbp), %rcx
leaq 0x13c252(%rip), %rax    # 0x178180
movl (%rax,%rcx,4), %edx
andl $-0x4, %edx
movslq -0x4(%rbp), %rcx
leaq 0x13c221(%rip), %rax    # 0x178160
addl (%rax,%rcx,4), %edx
leaq 0x13c217(%rip), %rax    # 0x178160
movl %edx, (%rax,%rcx,4)
movslq -0x4(%rbp), %rcx
leaq 0x13c139(%rip), %rax    # 0x178090
shlq $0x5, %rcx
addq %rcx, %rax
movslq -0x4(%rbp), %rdx
leaq 0x13c207(%rip), %rcx    # 0x178170
movslq (%rcx,%rdx,4), %rcx
movl (%rax,%rcx,4), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13c1e5(%rip), %rcx    # 0x178160
subl (%rcx,%rdx,4), %eax
movl %eax, -0xc(%rbp)
cmpl $0x0, -0xc(%rbp)
jle 0x3c04b
cmpl $0x800, -0xc(%rbp)      # imm = 0x800
jle 0x3bffa
movslq -0x4(%rbp), %rcx
leaq 0x13c1e1(%rip), %rax    # 0x178180
cmpl $0xc, (%rax,%rcx,4)
jne 0x3bfc9
leaq 0x13c1b4(%rip), %rax    # 0x178160
movl (%rax), %esi
leaq 0x13c17b(%rip), %rax    # 0x178130
movl (%rax), %edx
movl $0x4c, %edi
xorl %ecx, %ecx
movl $0xc, %r8d
callq 0x26af0
movslq -0x4(%rbp), %rcx
leaq 0x13c1ac(%rip), %rax    # 0x178180
cmpl $0x80, (%rax,%rcx,4)
jge 0x3bff8
movslq -0x4(%rbp), %rcx
leaq 0x13c198(%rip), %rax    # 0x178180
movl (%rax,%rcx,4), %edx
addl $0x1, %edx
leaq 0x13c18b(%rip), %rax    # 0x178180
movl %edx, (%rax,%rcx,4)
jmp 0x3c046
movslq -0x4(%rbp), %rcx
leaq 0x13c17b(%rip), %rax    # 0x178180
cmpl $0x20, (%rax,%rcx,4)
jne 0x3c02f
leaq 0x13c14e(%rip), %rax    # 0x178160
movl (%rax), %esi
leaq 0x13c115(%rip), %rax    # 0x178130
movl (%rax), %edx
movl $0x4d, %edi
xorl %ecx, %ecx
movl $0xc, %r8d
callq 0x26af0
movl -0xc(%rbp), %edx
sarl $0x4, %edx
addl $0x1, %edx
movslq -0x4(%rbp), %rcx
leaq 0x13c13d(%rip), %rax    # 0x178180
movl %edx, (%rax,%rcx,4)
jmp 0x3c111
cmpl $0x0, -0xc(%rbp)
jge 0x3c10f
cmpl $0xfffff800, -0xc(%rbp) # imm = 0xFFFFF800
jge 0x3c0c1
movslq -0x4(%rbp), %rcx
leaq 0x13c117(%rip), %rax    # 0x178180
cmpl $-0xc, (%rax,%rcx,4)
jne 0x3c093
leaq 0x13c0ea(%rip), %rax    # 0x178160
movl (%rax), %esi
leaq 0x13c0b1(%rip), %rax    # 0x178130
movl (%rax), %edx
movl $0x4c, %edi
xorl %ecx, %ecx
movl $0xc, %r8d
callq 0x26af0
movslq -0x4(%rbp), %rcx
leaq 0x13c0e2(%rip), %rax    # 0x178180
cmpl $-0x80, (%rax,%rcx,4)
jle 0x3c0bf
movslq -0x4(%rbp), %rcx
leaq 0x13c0d1(%rip), %rax    # 0x178180
movl (%rax,%rcx,4), %edx
addl $-0x1, %edx
leaq 0x13c0c4(%rip), %rax    # 0x178180
movl %edx, (%rax,%rcx,4)
jmp 0x3c10d
movslq -0x4(%rbp), %rcx
leaq 0x13c0b4(%rip), %rax    # 0x178180
cmpl $-0x20, (%rax,%rcx,4)
jne 0x3c0f6
leaq 0x13c087(%rip), %rax    # 0x178160
movl (%rax), %esi
leaq 0x13c04e(%rip), %rax    # 0x178130
movl (%rax), %edx
movl $0x4d, %edi
xorl %ecx, %ecx
movl $0xc, %r8d
callq 0x26af0
movl -0xc(%rbp), %edx
sarl $0x4, %edx
subl $0x1, %edx
movslq -0x4(%rbp), %rcx
leaq 0x13c076(%rip), %rax    # 0x178180
movl %edx, (%rax,%rcx,4)
jmp 0x3c10f
jmp 0x3c111
movslq -0x4(%rbp), %rcx
leaq 0x13c064(%rip), %rax    # 0x178180
movl (%rax,%rcx,4), %eax
sarl $0x2, %eax
cmpl $0x0, %eax
jne 0x3c433
movslq -0xc(%rbp), %rax
movq %rax, %rcx
negq %rcx
cmovnsq %rcx, %rax
cmpq $0x800, %rax            # imm = 0x800
jge 0x3c433
movslq -0x4(%rbp), %rcx
leaq 0x13c040(%rip), %rax    # 0x178190
cmpl $0x2d0, (%rax,%rcx,4)   # imm = 0x2D0
jne 0x3c233
movl $0x1, -0x8(%rbp)
movl -0x8(%rbp), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13bf0e(%rip), %rcx    # 0x178080
movswl (%rcx,%rdx,2), %ecx
cmpl %ecx, %eax
jge 0x3c231
movslq -0x4(%rbp), %rcx
leaq 0x13baf7(%rip), %rax    # 0x177c80
shlq $0x8, %rcx
addq %rcx, %rax
movslq -0x8(%rbp), %rcx
movw (%rax,%rcx,2), %ax
movw %ax, -0x2a(%rbp)
movswq -0x2a(%rbp), %rcx
leaq 0x4016e8(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movswl 0x22(%rax), %eax
cmpl $0x11, %eax
jne 0x3c221
movswq -0x2a(%rbp), %rcx
leaq 0x4016cc(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movw $0x10, 0x22(%rax)
movslq -0x4(%rbp), %rcx
leaq 0x13bf84(%rip), %rax    # 0x178160
movl (%rax,%rcx,4), %esi
movslq -0x4(%rbp), %rcx
leaq 0x13bf46(%rip), %rax    # 0x178130
movl (%rax,%rcx,4), %edx
movl $0x3e, %edi
xorl %ecx, %ecx
movl $0xc, %r8d
callq 0x26af0
movswl -0x2a(%rbp), %edi
callq 0x39e20
movswq -0x2a(%rbp), %rcx
leaq 0x40167c(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movw $0x11, 0x22(%rax)
jmp 0x3c223
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x3c164
jmp 0x3c233
movslq -0x4(%rbp), %rcx
leaq 0x13bf52(%rip), %rax    # 0x178190
cmpl $0x78, (%rax,%rcx,4)
jl 0x3c338
movslq -0x4(%rbp), %rcx
leaq 0x13bf3d(%rip), %rax    # 0x178190
movl (%rax,%rcx,4), %eax
subl $0x3, %eax
cmpl $0x78, %eax
jge 0x3c338
movl $0x1, -0x8(%rbp)
movl -0x8(%rbp), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13be09(%rip), %rcx    # 0x178080
movswl (%rcx,%rdx,2), %ecx
cmpl %ecx, %eax
jge 0x3c336
movslq -0x4(%rbp), %rcx
leaq 0x13b9f2(%rip), %rax    # 0x177c80
shlq $0x8, %rcx
addq %rcx, %rax
movslq -0x8(%rbp), %rcx
movw (%rax,%rcx,2), %ax
movw %ax, -0x2a(%rbp)
movswq -0x2a(%rbp), %rcx
leaq 0x4015e3(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movswl 0x22(%rax), %eax
cmpl $0x11, %eax
jne 0x3c326
movswq -0x2a(%rbp), %rcx
leaq 0x4015c7(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movw $0x10, 0x22(%rax)
movslq -0x4(%rbp), %rcx
leaq 0x13be7f(%rip), %rax    # 0x178160
movl (%rax,%rcx,4), %esi
movslq -0x4(%rbp), %rcx
leaq 0x13be41(%rip), %rax    # 0x178130
movl (%rax,%rcx,4), %edx
movl $0x3e, %edi
xorl %ecx, %ecx
movl $0xc, %r8d
callq 0x26af0
movswl -0x2a(%rbp), %edi
callq 0x39e20
movswq -0x2a(%rbp), %rcx
leaq 0x401577(%rip), %rax    # 0x43d890
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movw $0x11, 0x22(%rax)
jmp 0x3c328
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x3c269
jmp 0x3c338
movslq -0x4(%rbp), %rcx
leaq 0x13be4d(%rip), %rax    # 0x178190
movl (%rax,%rcx,4), %edx
subl $0x3, %edx
leaq 0x13be40(%rip), %rax    # 0x178190
movl %edx, (%rax,%rcx,4)
movslq -0x4(%rbp), %rcx
leaq 0x13be32(%rip), %rax    # 0x178190
cmpl $0x0, (%rax,%rcx,4)
jge 0x3c431
movslq -0x4(%rbp), %rcx
leaq 0x13be1d(%rip), %rax    # 0x178190
movl $0x2d0, (%rax,%rcx,4)   # imm = 0x2D0
movslq -0x4(%rbp), %rcx
leaq 0x13bdeb(%rip), %rax    # 0x178170
movl (%rax,%rcx,4), %eax
movslq -0x4(%rbp), %rdx
leaq 0x13bd7d(%rip), %rcx    # 0x178110
movl (%rcx,%rdx,4), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jne 0x3c3d0
movslq -0x4(%rbp), %rcx
leaq 0xdeb68(%rip), %rax     # 0x11af10
movl $0xffffffff, (%rax,%rcx,4) # imm = 0xFFFFFFFF
movslq -0x4(%rbp), %rcx
leaq 0x13bd56(%rip), %rax    # 0x178110
movl (%rax,%rcx,4), %edx
subl $0x2, %edx
movslq -0x4(%rbp), %rcx
leaq 0x13bda5(%rip), %rax    # 0x178170
movl %edx, (%rax,%rcx,4)
jmp 0x3c42f
movslq -0x4(%rbp), %rcx
leaq 0x13bd95(%rip), %rax    # 0x178170
cmpl $0x0, (%rax,%rcx,4)
jne 0x3c407
movslq -0x4(%rbp), %rcx
leaq 0x13bd84(%rip), %rax    # 0x178170
movl $0x1, (%rax,%rcx,4)
movslq -0x4(%rbp), %rcx
leaq 0xdeb12(%rip), %rax     # 0x11af10
movl $0x1, (%rax,%rcx,4)
jmp 0x3c42d
movslq -0x4(%rbp), %rcx
leaq 0xdeafe(%rip), %rax     # 0x11af10
movl (%rax,%rcx,4), %edx
movslq -0x4(%rbp), %rcx
leaq 0x13bd50(%rip), %rax    # 0x178170
addl (%rax,%rcx,4), %edx
leaq 0x13bd46(%rip), %rax    # 0x178170
movl %edx, (%rax,%rcx,4)
jmp 0x3c42f
jmp 0x3c431
jmp 0x3c433
jmp 0x3c435
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x3ba28
callq 0x3c680
addq $0x40, %rsp
popq %rbp
retq
nop