// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/src/tekgame.c
// Function: drawscreen
void
drawscreen(short snum, int dasmoothratio)
{
     int      i, j, charsperline, tempint;
     int      x1, y1, x2, y2, ox1, oy1, ox2, oy2;
     int      cposx, cposy, cposz, choriz, czoom;
     short     cang;

     smoothratio = max(min(dasmoothratio,65536),0);

     cposx = oposx[snum]+mulscale(posx[snum]-oposx[snum],smoothratio,16);
     cposy = oposy[snum]+mulscale(posy[snum]-oposy[snum],smoothratio,16);
     cposz = oposz[snum]+mulscale(posz[snum]-oposz[snum],smoothratio,16);
     if( frameinterpolate == 0 ) {
          cposx = posx[snum]; cposy = posy[snum]; cposz = posz[snum];
     }
     cposz+=headbob;
     choriz = ohoriz[snum]+mulscale(horiz[snum]-ohoriz[snum],smoothratio,16);
     czoom = ozoom[snum]+mulscale(zoom[snum]-ozoom[snum],smoothratio,16);
     cang = oang[snum]+mulscale(((ang[snum]+1024-oang[snum])&2047)-1024,smoothratio,16);

     if( dimensionmode[snum] != 2 ) {
          if( (numplayers > 1) && (option[4] == 0) ) {
               for( i=connecthead; i>=0; i=connectpoint2[i] ) {
                    frame2draw[i] = 1;
               }
               redrawbackfx();
               for( i=connecthead,j=0; i>=0; i=connectpoint2[i],j++ ) {
                    if( frame2draw[i] != 0 ) {
                         if( numplayers <= 4 ) {
                              switch( j ) {
                                   case 0: setview(0,0,(xdim>>1)-1,(ydim>>1)-1); break;
                                   case 1: setview((xdim>>1),0,xdim-1,(ydim>>1)-1); break;
                                   case 2: setview(0,(ydim>>1),(xdim>>1)-1,ydim-1); break;
                                   case 3: setview((xdim>>1),(ydim>>1),xdim-1,ydim-1); break;
                              }
                         }
                         else {
                              switch( j ) {
                                   case 0: setview(0,0,(xdim>>2)-1,(ydim>>2)-1); break;
                                   case 1: setview(xdim>>2,0,(xdim>>1)-1,(ydim>>2)-1); break;
                                   case 2: setview(xdim>>1,0,xdim-(xdim>>2)-1,(ydim>>2)-1); break;
                                   case 3: setview(xdim-(xdim>>2),0,xdim-1,(ydim>>2)-1); break;
                                   case 4: setview(0,ydim>>2,(xdim>>2)-1,(ydim>>1)-1); break;
                                   case 5: setview(xdim>>2,ydim>>2,(xdim>>1)-1,(ydim>>1)-1); break;
                                   case 6: setview(xdim>>1,ydim>>2,xdim-(xdim>>2)-1,(ydim>>1)-1); break;
                                   case 7: setview(xdim-(xdim>>2),ydim>>2,xdim-1,(ydim>>1)-1); break;
                                   case 8: setview(0,ydim>>1,(xdim>>2)-1,ydim-(ydim>>2)-1); break;
                                   case 9: setview(xdim>>2,ydim>>1,(xdim>>1)-1,ydim-(ydim>>2)-1); break;
                                   case 10: setview(xdim>>1,ydim>>1,xdim-(xdim>>2)-1,ydim-(ydim>>2)-1); break;
                                   case 11: setview(xdim-(xdim>>2),ydim>>1,xdim-1,ydim-(ydim>>2)-1); break;
                                   case 12: setview(0,ydim-(ydim>>2),(xdim>>2)-1,ydim-1); break;
                                   case 13: setview(xdim>>2,ydim-(ydim>>2),(xdim>>1)-1,ydim-1); break;
                                   case 14: setview(xdim>>1,ydim-(ydim>>2),xdim-(xdim>>2)-1,ydim-1); break;
                                   case 15: setview(xdim-(xdim>>2),ydim-(ydim>>2),xdim-1,ydim-1); break;
                              }
                         }
                         if( i == snum ) {
                              drawrooms(cposx,cposy,cposz,cang,choriz,cursectnum[i]);
                         }
                         else {
                              drawrooms(posx[i],posy[i],posz[i],ang[i],horiz[i],cursectnum[i]);
                         }
                         analyzesprites(posx[i],posy[i]);
                         drawmasks();
                         tekdrawgun((syncbits[i]>>13)&15,i);
                    }
               }
          }
          else {
               redrawbackfx();
               drawrooms(cposx,cposy,cposz,cang,choriz,cursectnum[snum]);
               analyzesprites(posx[snum],posy[snum]);
               drawmasks();
               tekdrawgun((syncbits[screenpeek]>>13)&15,screenpeek);
          }
     }

     // move back pivot point for map
     if( dimensionmode[snum] != 3 ) {
          cposx += (sintable[(cang+512)&2047]<<6) / czoom;
          cposy += (sintable[cang&2047]<<6) / czoom;
          if( dimensionmode[snum] == 2 ) {
               clearview(0L);  //Clear screen to specified color
               drawmapview(cposx,cposy,czoom,cang);
          }
          drawoverheadmap(cposx,cposy,czoom,cang);
     }

     if( typemode != 0 ) {
          charsperline = 40;
          for( i=0; i<=typemessageleng; i+=charsperline ) {
               for( j=0; j<charsperline; j++ ) {
                    tempbuf[j] = typemessage[i+j];
               }
               if( typemessageleng < i+charsperline ) {
                    tempbuf[(typemessageleng-i)] = '_';
                    tempbuf[(typemessageleng-i)+1] = 0;
               }
               else {
                    tempbuf[charsperline] = 0;
               }
          }
     }
     else {
          if( dimensionmode[myconnectindex] == 3 ) {
               tempint = screensize;
               if( ((locbits&32) > (screensizeflag&32)) && (screensize > 64) ) {
                    ox1 = (xdim>>1)-(screensize>>1);
                    ox2 = ox1+screensize-1;
                    oy1 = ((ydim-32)>>1)-(((screensize*(ydim-32))/xdim)>>1);
                    oy2 = oy1+((screensize*(ydim-32))/xdim)-1;
                    tekview(&ox1,&oy1, &ox2,&oy2);
                    screensize -= (screensize>>3);
                    if( tempint > xdim ) {
                         screensize = xdim;
                         permanentwritesprite((xdim-320)>>1,ydim-32,STATUSBAR,0,0,0,xdim-1,ydim-1,0);
                         i = ((xdim-320)>>1);
                         while( i >= 8 ) {
                              i -= 8, permanentwritesprite(i,ydim-32,STATUSBARFILL8,0,0,0,xdim-1,ydim-1,0);
                         }
                         if( i >= 4 ) {
                              i -= 4, permanentwritesprite(i,ydim-32,STATUSBARFILL4,0,0,0,xdim-1,ydim-1,0);
                         }
                         i = ((xdim-320)>>1)+320;
                         while( i <= xdim-8 ) {
                              permanentwritesprite(i,ydim-32,STATUSBARFILL8,0,0,0,xdim-1,ydim-1,0), i += 8;
                         }
                         if( i <= xdim-4 ) {
                              permanentwritesprite(i,ydim-32,STATUSBARFILL4,0,0,0,xdim-1,ydim-1,0), i += 4;
                         }
                    }
                    x1 = (xdim>>1)-(screensize>>1);
                    x2 = x1+screensize-1;
                    y1 = ((ydim-32)>>1)-(((screensize*(ydim-32))/xdim)>>1);
                    y2 = y1+((screensize*(ydim-32))/xdim)-1;
                    tekview(&x1,&y1,&x2,&y2);
                    setview(x1,y1>>detailmode,x2,y2>>detailmode);
                    permanentwritespritetile(0L,0L,BACKGROUND,0,ox1,oy1,x1-1,oy2,0);
                    permanentwritespritetile(0L,0L,BACKGROUND,0,x2+1,oy1,ox2,oy2,0);
                    permanentwritespritetile(0L,0L,BACKGROUND,0,x1,oy1,x2,y1-1,0);
                    permanentwritespritetile(0L,0L,BACKGROUND,0,x1,y2+1,x2,oy2,0);
               }
               if( ((locbits&16) > (screensizeflag&16)) && (screensize <= xdim) ) {
                    screensize += (screensize>>3);
                    if( (screensize > xdim) && (tempint == xdim) ) {
                         screensize = xdim+1;
                         x1 = 0; y1 = 0;
                         x2 = xdim-1; y2 = ydim-1;
                    }
                    else {
                         if (screensize > xdim) screensize = xdim;
                         x1 = (xdim>>1)-(screensize>>1);
                         x2 = x1+screensize-1;
                         y1 = ((ydim-32)>>1)-(((screensize*(ydim-32))/xdim)>>1);
                         y2 = y1+((screensize*(ydim-32))/xdim)-1;
                    }
                    tekview(&x1,&y1,&x2,&y2);
                    setview(x1,y1>>detailmode,x2,y2>>detailmode);
               }
               screensizeflag = locbits;
          }
     }

     if( getmessageleng > 0 ) {
          charsperline = 40;
          for( i=0; i<=getmessageleng; i+=charsperline ) {
               for( j=0; j<charsperline; j++ ) {
                    tempbuf[j] = getmessage[i+j];
               }
               if( getmessageleng < i+charsperline ) {
                    tempbuf[(getmessageleng-i)] = 0;
               }
               else {
                    tempbuf[charsperline] = 0;
               }
               printext256(0L,((i/charsperline)<<3)+(200-32-8)-(((getmessageleng-1)/charsperline)<<3),151,-1,(char *)tempbuf,0);
          }
          if( totalclock > getmessagetimeoff ) {
               getmessageleng = 0;
          }
     }

     // you are looking thru an opponent plaeyer's eyes
     if( (numplayers >= 2) && (screenpeek != myconnectindex) ) {
          strcpy((char *)tempbuf,"Other");
     }

    #ifdef OUTOFSYNCMESSAGE
     if( syncstat != 0 ) {
          printext256(68L,84L,31,0,"OUT OF SYNC!",0);
     }
     if( syncstate != 0 ) {
          printext256(68L,92L,31,0,"Missed Network packet!",0);
     }
    #endif

     tekscreenfx();

    #ifdef  NETWORKDIAGNOSTICS
     if( (option[4] > 0) ) {
          for( i=connecthead ; i >= 0 ; i=connectpoint2[i] ) {
               sprintf(tektempbuf,"%2d %5d %5d %5d %5d %3d %4d", i,posx[i],posy[i],posz[i],ang[i],horiz[i],health[i]);
               printext(2,i*8+2,tektempbuf,ALPHABET,255);
          }
          if( myconnectindex == connecthead ) {
               sprintf(tektempbuf,"%2d %s",myconnectindex,"M");
          }
          else {
               sprintf(tektempbuf,"%2d %s",myconnectindex,"S");
          }
          printext(windowx2-48,windowy2-64,tektempbuf,ALPHABET2,255);
     }
    #endif

     nextpage();
     if( dofadein != 0 ) {
          fadein(0,255,dofadein);
     }

    #ifdef OOGIE
     // F5 key
     if( keystatus[0x3f] > 0 ) {
          keystatus[0x3f] = 0;
          detailmode ^= 1;
          if( detailmode == 0 ) {
               setview(windowx1,windowy1<<1,windowx2,(windowy2<<1)+1);
               outp(0x3d4,0x9); outp(0x3d5,(inp(0x3d5)&~31)|1);
          }
          else {
               setview(windowx1,windowy1>>detailmode,windowx2,windowy2>>detailmode);
               setaspect(yxaspect>>1);
               outp(0x3d4,0x9); outp(0x3d5,(inp(0x3d5)&~31)|3);
          }
     }
    #endif

     // F12 key
     if( keystatus[0x58] > 0 ) {
          keystatus[0x58] = 0;
          screencapture("captxxxx.pcx",keystatus[0x2a]|keystatus[0x36]);
     }

    #ifdef STEREOMODE_ADJUSTMENT_ACTIVE
     if( stereofps != 0 ) {
          if( (keystatus[0x2a]|keystatus[0x36]) > 0 ) {
               if (keystatus[0x1a] > 0) stereopixelwidth--;   //Shift [
               if (keystatus[0x1b] > 0) stereopixelwidth++;   //Shift ]
          }
          else {
               if (keystatus[0x1a] > 0) stereowidth -= 512;   //[
               if (keystatus[0x1b] > 0) stereowidth += 512;   //]
          }
     }
    #endif

    #ifdef FAKEMULTIPLAYER_ACTIVE
     if( option[4] == 0 ) {
          if( keystatus[0xd2] > 0 ) {
               keystatus[0xd2] = 0;
               if( numplayers < MAXPLAYERS ) {
                    connectpoint2[numplayers-1] = numplayers;
                    connectpoint2[numplayers] = -1;
                    initplayersprite(numplayers);
                    clearallviews(0L);
                    numplayers++;
               }
          }
          if( keystatus[0xd3] > 0 ) {
               keystatus[0xd3] = 0;
               if( numplayers > 1 ) {
                    numplayers--;
                    connectpoint2[numplayers-1] = -1;
                    deletesprite(playersprite[numplayers]);
                    playersprite[numplayers] = -1;
                    if( myconnectindex >= numplayers ) {
                         myconnectindex = 0;
                    }
                    if( screenpeek >= numplayers ) {
                         screenpeek = 0;
                    }
                    if( numplayers < 2 ) {
                         setup3dscreen();
                    }
                    else {
                         clearallviews(0L);
                    }
               }
          }
          // scroll lock
          if( keystatus[0x46] > 0 ) {
               keystatus[0x46] = 0;
               myconnectindex = connectpoint2[myconnectindex];
               if( myconnectindex < 0 ) {
                    myconnectindex = connecthead;
               }
               screenpeek = myconnectindex;
          }
     }
    #endif
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movw %di, %ax
movw %ax, -0x2(%rbp)
movl %esi, -0x8(%rbp)
cmpl $0x10000, -0x8(%rbp)    # imm = 0x10000
jge 0xb196
movl -0x8(%rbp), %eax
movl %eax, -0x54(%rbp)
jmp 0xb1a0
movl $0x10000, %eax          # imm = 0x10000
movl %eax, -0x54(%rbp)
jmp 0xb1a0
movl -0x54(%rbp), %eax
cmpl $0x0, %eax
jle 0xb1cb
cmpl $0x10000, -0x8(%rbp)    # imm = 0x10000
jge 0xb1b9
movl -0x8(%rbp), %eax
movl %eax, -0x58(%rbp)
jmp 0xb1c3
movl $0x10000, %eax          # imm = 0x10000
movl %eax, -0x58(%rbp)
jmp 0xb1c3
movl -0x58(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0xb1d2
xorl %eax, %eax
movl %eax, -0x5c(%rbp)
jmp 0xb1d2
movl -0x5c(%rbp), %eax
movl %eax, 0x123765(%rip)    # 0x12e940
movswq -0x2(%rbp), %rcx
leaq 0x123769(%rip), %rax    # 0x12e950
movl (%rax,%rcx,4), %eax
movl %eax, -0x68(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x122657(%rip), %rax    # 0x12d850
movl (%rax,%rcx,4), %edi
movswq -0x2(%rbp), %rcx
leaq 0x123748(%rip), %rax    # 0x12e950
subl (%rax,%rcx,4), %edi
movl 0x12372f(%rip), %esi    # 0x12e940
movl $0x10, %edx
callq 0xe190
movl %eax, %ecx
movl -0x68(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x3c(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x12375f(%rip), %rax    # 0x12e990
movl (%rax,%rcx,4), %eax
movl %eax, -0x64(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x12264d(%rip), %rax    # 0x12d890
movl (%rax,%rcx,4), %edi
movswq -0x2(%rbp), %rcx
leaq 0x12373e(%rip), %rax    # 0x12e990
subl (%rax,%rcx,4), %edi
movl 0x1236e5(%rip), %esi    # 0x12e940
movl $0x10, %edx
callq 0xe190
movl %eax, %ecx
movl -0x64(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x40(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x123755(%rip), %rax    # 0x12e9d0
movl (%rax,%rcx,4), %eax
movl %eax, -0x60(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x122643(%rip), %rax    # 0x12d8d0
movl (%rax,%rcx,4), %edi
movswq -0x2(%rbp), %rcx
leaq 0x123734(%rip), %rax    # 0x12e9d0
subl (%rax,%rcx,4), %edi
movl 0x12369b(%rip), %esi    # 0x12e940
movl $0x10, %edx
callq 0xe190
movl %eax, %ecx
movl -0x60(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x44(%rbp)
movsbl 0x10ede0(%rip), %eax    # 0x11a0a0
cmpl $0x0, %eax
jne 0xb2fb
movswq -0x2(%rbp), %rcx
leaq 0x12257f(%rip), %rax    # 0x12d850
movl (%rax,%rcx,4), %eax
movl %eax, -0x3c(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x1225ad(%rip), %rax    # 0x12d890
movl (%rax,%rcx,4), %eax
movl %eax, -0x40(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x1225db(%rip), %rax    # 0x12d8d0
movl (%rax,%rcx,4), %eax
movl %eax, -0x44(%rbp)
leaq 0x36c80e(%rip), %rax    # 0x377b10
movl (%rax), %eax
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x1236fa(%rip), %rax    # 0x12ea10
movl (%rax,%rcx,4), %eax
movl %eax, -0x74(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x1234f8(%rip), %rax    # 0x12e820
movl (%rax,%rcx,4), %edi
movswq -0x2(%rbp), %rcx
leaq 0x1236d9(%rip), %rax    # 0x12ea10
subl (%rax,%rcx,4), %edi
movl 0x123600(%rip), %esi    # 0x12e940
movl $0x10, %edx
callq 0xe190
movl %eax, %ecx
movl -0x74(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x48(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x1236f0(%rip), %rax    # 0x12ea50
movl (%rax,%rcx,4), %eax
movl %eax, -0x70(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x12351e(%rip), %rax    # 0x12e890
movl (%rax,%rcx,4), %edi
movswq -0x2(%rbp), %rcx
leaq 0x1236cf(%rip), %rax    # 0x12ea50
subl (%rax,%rcx,4), %edi
movl 0x1235b6(%rip), %esi    # 0x12e940
movl $0x10, %edx
callq 0xe190
movl %eax, %ecx
movl -0x70(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x4c(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x1236e6(%rip), %rax    # 0x12ea90
movswl (%rax,%rcx,2), %eax
movl %eax, -0x6c(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x122473(%rip), %rax    # 0x12d830
movswl (%rax,%rcx,2), %edi
addl $0x400, %edi            # imm = 0x400
movswq -0x2(%rbp), %rcx
leaq 0x1236bd(%rip), %rax    # 0x12ea90
movswl (%rax,%rcx,2), %eax
subl %eax, %edi
andl $0x7ff, %edi            # imm = 0x7FF
subl $0x400, %edi            # imm = 0x400
movl 0x123555(%rip), %esi    # 0x12e940
movl $0x10, %edx
callq 0xe190
movl %eax, %ecx
movl -0x6c(%rbp), %eax
addl %ecx, %eax
movw %ax, -0x4e(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x123474(%rip), %rax    # 0x12e880
movsbl (%rax,%rcx), %eax
cmpl $0x2, %eax
je 0xbb74
leaq 0x799b2c(%rip), %rax    # 0x7a4f4c
cmpl $0x1, (%rax)
jle 0xbaf6
movzbl 0x10eaec(%rip), %eax    # 0x119f1c
cmpl $0x0, %eax
jne 0xbaf6
leaq 0x799b10(%rip), %rax    # 0x7a4f50
movl (%rax), %eax
movl %eax, -0xc(%rbp)
cmpl $0x0, -0xc(%rbp)
jl 0xb46d
movslq -0xc(%rbp), %rcx
leaq 0x12365a(%rip), %rax    # 0x12eab0
movb $0x1, (%rax,%rcx)
movslq -0xc(%rbp), %rcx
leaq 0x799afb(%rip), %rax    # 0x7a4f60
movl (%rax,%rcx,4), %eax
movl %eax, -0xc(%rbp)
jmp 0xb445
callq 0x1aaa0
leaq 0x799ad7(%rip), %rax    # 0x7a4f50
movl (%rax), %eax
movl %eax, -0xc(%rbp)
movl $0x0, -0x10(%rbp)
cmpl $0x0, -0xc(%rbp)
jl 0xbaf4
movslq -0xc(%rbp), %rcx
leaq 0x123616(%rip), %rax    # 0x12eab0
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0xbad3
leaq 0x799a9e(%rip), %rax    # 0x7a4f4c
cmpl $0x4, (%rax)
jg 0xb59a
movl -0x10(%rbp), %eax
movq %rax, -0x80(%rbp)
subq $0x3, %rax
ja 0xb595
movq -0x80(%rbp), %rax
leaq 0xcd929(%rip), %rcx     # 0xd8dfc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x5f4b39(%rip), %rax    # 0x60001c
movl (%rax), %edx
sarl %edx
subl $0x1, %edx
leaq 0x5f4b2f(%rip), %rax    # 0x600020
movl (%rax), %ecx
sarl %ecx
subl $0x1, %ecx
xorl %esi, %esi
movl %esi, %edi
callq 0x67180
jmp 0xb595
leaq 0x5f4b0f(%rip), %rax    # 0x60001c
movl (%rax), %edi
sarl %edi
leaq 0x5f4b04(%rip), %rax    # 0x60001c
movl (%rax), %edx
subl $0x1, %edx
leaq 0x5f4afc(%rip), %rax    # 0x600020
movl (%rax), %ecx
sarl %ecx
subl $0x1, %ecx
xorl %esi, %esi
callq 0x67180
jmp 0xb595
leaq 0x5f4ae5(%rip), %rax    # 0x600020
movl (%rax), %esi
sarl %esi
leaq 0x5f4ad6(%rip), %rax    # 0x60001c
movl (%rax), %edx
sarl %edx
subl $0x1, %edx
leaq 0x5f4acc(%rip), %rax    # 0x600020
movl (%rax), %ecx
subl $0x1, %ecx
xorl %edi, %edi
callq 0x67180
jmp 0xb595
leaq 0x5f4ab3(%rip), %rax    # 0x60001c
movl (%rax), %edi
sarl %edi
leaq 0x5f4aac(%rip), %rax    # 0x600020
movl (%rax), %esi
sarl %esi
leaq 0x5f4a9d(%rip), %rax    # 0x60001c
movl (%rax), %edx
subl $0x1, %edx
leaq 0x5f4a95(%rip), %rax    # 0x600020
movl (%rax), %ecx
subl $0x1, %ecx
callq 0x67180
jmp 0xb9f7
movl -0x10(%rbp), %eax
movq %rax, -0x88(%rbp)
subq $0xf, %rax
ja 0xb9f5
movq -0x88(%rbp), %rax
leaq 0xcd800(%rip), %rcx     # 0xd8dbc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x5f4a50(%rip), %rax    # 0x60001c
movl (%rax), %edx
sarl $0x2, %edx
subl $0x1, %edx
leaq 0x5f4a45(%rip), %rax    # 0x600020
movl (%rax), %ecx
sarl $0x2, %ecx
subl $0x1, %ecx
xorl %esi, %esi
movl %esi, %edi
callq 0x67180
jmp 0xb9f5
leaq 0x5f4a24(%rip), %rax    # 0x60001c
movl (%rax), %edi
sarl $0x2, %edi
leaq 0x5f4a18(%rip), %rax    # 0x60001c
movl (%rax), %edx
sarl %edx
subl $0x1, %edx
leaq 0x5f4a0e(%rip), %rax    # 0x600020
movl (%rax), %ecx
sarl $0x2, %ecx
subl $0x1, %ecx
xorl %esi, %esi
callq 0x67180
jmp 0xb9f5
leaq 0x5f49ef(%rip), %rax    # 0x60001c
movl (%rax), %edi
sarl %edi
leaq 0x5f49e4(%rip), %rax    # 0x60001c
movl (%rax), %edx
leaq 0x5f49db(%rip), %rax    # 0x60001c
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %edx
subl $0x1, %edx
leaq 0x5f49ce(%rip), %rax    # 0x600020
movl (%rax), %ecx
sarl $0x2, %ecx
subl $0x1, %ecx
xorl %esi, %esi
callq 0x67180
jmp 0xb9f5
leaq 0x5f49af(%rip), %rax    # 0x60001c
movl (%rax), %edi
leaq 0x5f49a6(%rip), %rax    # 0x60001c
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %edi
leaq 0x5f4998(%rip), %rax    # 0x60001c
movl (%rax), %edx
subl $0x1, %edx
leaq 0x5f4990(%rip), %rax    # 0x600020
movl (%rax), %ecx
sarl $0x2, %ecx
subl $0x1, %ecx
xorl %esi, %esi
callq 0x67180
jmp 0xb9f5
leaq 0x5f4975(%rip), %rax    # 0x600020
movl (%rax), %esi
sarl $0x2, %esi
leaq 0x5f4965(%rip), %rax    # 0x60001c
movl (%rax), %edx
sarl $0x2, %edx
subl $0x1, %edx
leaq 0x5f495a(%rip), %rax    # 0x600020
movl (%rax), %ecx
sarl %ecx
subl $0x1, %ecx
xorl %edi, %edi
callq 0x67180
jmp 0xb9f5
leaq 0x5f493c(%rip), %rax    # 0x60001c
movl (%rax), %edi
sarl $0x2, %edi
leaq 0x5f4934(%rip), %rax    # 0x600020
movl (%rax), %esi
sarl $0x2, %esi
leaq 0x5f4924(%rip), %rax    # 0x60001c
movl (%rax), %edx
sarl %edx
subl $0x1, %edx
leaq 0x5f491a(%rip), %rax    # 0x600020
movl (%rax), %ecx
sarl %ecx
subl $0x1, %ecx
callq 0x67180
jmp 0xb9f5
leaq 0x5f48fe(%rip), %rax    # 0x60001c
movl (%rax), %edi
sarl %edi
leaq 0x5f48f7(%rip), %rax    # 0x600020
movl (%rax), %esi
sarl $0x2, %esi
leaq 0x5f48e7(%rip), %rax    # 0x60001c
movl (%rax), %edx
leaq 0x5f48de(%rip), %rax    # 0x60001c
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %edx
subl $0x1, %edx
leaq 0x5f48d1(%rip), %rax    # 0x600020
movl (%rax), %ecx
sarl %ecx
subl $0x1, %ecx
callq 0x67180
jmp 0xb9f5
leaq 0x5f48b5(%rip), %rax    # 0x60001c
movl (%rax), %edi
leaq 0x5f48ac(%rip), %rax    # 0x60001c
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %edi
leaq 0x5f48a2(%rip), %rax    # 0x600020
movl (%rax), %esi
sarl $0x2, %esi
leaq 0x5f4892(%rip), %rax    # 0x60001c
movl (%rax), %edx
subl $0x1, %edx
leaq 0x5f488a(%rip), %rax    # 0x600020
movl (%rax), %ecx
sarl %ecx
subl $0x1, %ecx
callq 0x67180
jmp 0xb9f5
leaq 0x5f4872(%rip), %rax    # 0x600020
movl (%rax), %esi
sarl %esi
leaq 0x5f4863(%rip), %rax    # 0x60001c
movl (%rax), %edx
sarl $0x2, %edx
subl $0x1, %edx
leaq 0x5f4858(%rip), %rax    # 0x600020
movl (%rax), %ecx
leaq 0x5f484f(%rip), %rax    # 0x600020
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %ecx
subl $0x1, %ecx
xorl %edi, %edi
callq 0x67180
jmp 0xb9f5
leaq 0x5f482e(%rip), %rax    # 0x60001c
movl (%rax), %edi
sarl $0x2, %edi
leaq 0x5f4826(%rip), %rax    # 0x600020
movl (%rax), %esi
sarl %esi
leaq 0x5f4817(%rip), %rax    # 0x60001c
movl (%rax), %edx
sarl %edx
subl $0x1, %edx
leaq 0x5f480d(%rip), %rax    # 0x600020
movl (%rax), %ecx
leaq 0x5f4804(%rip), %rax    # 0x600020
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %ecx
subl $0x1, %ecx
callq 0x67180
jmp 0xb9f5
leaq 0x5f47e5(%rip), %rax    # 0x60001c
movl (%rax), %edi
sarl %edi
leaq 0x5f47de(%rip), %rax    # 0x600020
movl (%rax), %esi
sarl %esi
leaq 0x5f47cf(%rip), %rax    # 0x60001c
movl (%rax), %edx
leaq 0x5f47c6(%rip), %rax    # 0x60001c
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %edx
subl $0x1, %edx
leaq 0x5f47b9(%rip), %rax    # 0x600020
movl (%rax), %ecx
leaq 0x5f47b0(%rip), %rax    # 0x600020
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %ecx
subl $0x1, %ecx
callq 0x67180
jmp 0xb9f5
leaq 0x5f4791(%rip), %rax    # 0x60001c
movl (%rax), %edi
leaq 0x5f4788(%rip), %rax    # 0x60001c
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %edi
leaq 0x5f477e(%rip), %rax    # 0x600020
movl (%rax), %esi
sarl %esi
leaq 0x5f476f(%rip), %rax    # 0x60001c
movl (%rax), %edx
subl $0x1, %edx
leaq 0x5f4767(%rip), %rax    # 0x600020
movl (%rax), %ecx
leaq 0x5f475e(%rip), %rax    # 0x600020
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %ecx
subl $0x1, %ecx
callq 0x67180
jmp 0xb9f5
leaq 0x5f4743(%rip), %rax    # 0x600020
movl (%rax), %esi
leaq 0x5f473a(%rip), %rax    # 0x600020
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %esi
leaq 0x5f4728(%rip), %rax    # 0x60001c
movl (%rax), %edx
sarl $0x2, %edx
subl $0x1, %edx
leaq 0x5f471d(%rip), %rax    # 0x600020
movl (%rax), %ecx
subl $0x1, %ecx
xorl %edi, %edi
callq 0x67180
jmp 0xb9f5
leaq 0x5f4701(%rip), %rax    # 0x60001c
movl (%rax), %edi
sarl $0x2, %edi
leaq 0x5f46f9(%rip), %rax    # 0x600020
movl (%rax), %esi
leaq 0x5f46f0(%rip), %rax    # 0x600020
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %esi
leaq 0x5f46de(%rip), %rax    # 0x60001c
movl (%rax), %edx
sarl %edx
subl $0x1, %edx
leaq 0x5f46d4(%rip), %rax    # 0x600020
movl (%rax), %ecx
subl $0x1, %ecx
callq 0x67180
jmp 0xb9f5
leaq 0x5f46ba(%rip), %rax    # 0x60001c
movl (%rax), %edi
sarl %edi
leaq 0x5f46b3(%rip), %rax    # 0x600020
movl (%rax), %esi
leaq 0x5f46aa(%rip), %rax    # 0x600020
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %esi
leaq 0x5f4698(%rip), %rax    # 0x60001c
movl (%rax), %edx
leaq 0x5f468f(%rip), %rax    # 0x60001c
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %edx
subl $0x1, %edx
leaq 0x5f4682(%rip), %rax    # 0x600020
movl (%rax), %ecx
subl $0x1, %ecx
callq 0x67180
jmp 0xb9f5
leaq 0x5f466b(%rip), %rax    # 0x60001c
movl (%rax), %edi
leaq 0x5f4662(%rip), %rax    # 0x60001c
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %edi
leaq 0x5f4658(%rip), %rax    # 0x600020
movl (%rax), %esi
leaq 0x5f464f(%rip), %rax    # 0x600020
movl (%rax), %eax
sarl $0x2, %eax
subl %eax, %esi
leaq 0x5f463d(%rip), %rax    # 0x60001c
movl (%rax), %edx
subl $0x1, %edx
leaq 0x5f4635(%rip), %rax    # 0x600020
movl (%rax), %ecx
subl $0x1, %ecx
callq 0x67180
jmp 0xb9f7
movl -0xc(%rbp), %eax
movswl -0x2(%rbp), %ecx
cmpl %ecx, %eax
jne 0xba2d
movl -0x3c(%rbp), %edi
movl -0x40(%rbp), %esi
movl -0x44(%rbp), %edx
movw -0x4e(%rbp), %cx
movl -0x48(%rbp), %r8d
movslq -0xc(%rbp), %r9
leaq 0x122cc2(%rip), %rax    # 0x12e6e0
movswl %cx, %ecx
movswl (%rax,%r9,2), %r9d
callq 0x530d0
jmp 0xba8d
movslq -0xc(%rbp), %rcx
leaq 0x121e18(%rip), %rax    # 0x12d850
movl (%rax,%rcx,4), %edi
movslq -0xc(%rbp), %rcx
leaq 0x121e4a(%rip), %rax    # 0x12d890
movl (%rax,%rcx,4), %esi
movslq -0xc(%rbp), %rcx
leaq 0x121e7c(%rip), %rax    # 0x12d8d0
movl (%rax,%rcx,4), %edx
movslq -0xc(%rbp), %rcx
leaq 0x121dce(%rip), %rax    # 0x12d830
movw (%rax,%rcx,2), %cx
movslq -0xc(%rbp), %r8
leaq 0x122daf(%rip), %rax    # 0x12e820
movl (%rax,%r8,4), %r8d
movslq -0xc(%rbp), %r9
leaq 0x122c60(%rip), %rax    # 0x12e6e0
movswl %cx, %ecx
movswl (%rax,%r9,2), %r9d
callq 0x530d0
movslq -0xc(%rbp), %rcx
leaq 0x121db8(%rip), %rax    # 0x12d850
movl (%rax,%rcx,4), %edi
movslq -0xc(%rbp), %rcx
leaq 0x121dea(%rip), %rax    # 0x12d890
movl (%rax,%rcx,4), %esi
callq 0x28c40
callq 0x56520
movslq -0xc(%rbp), %rcx
leaq 0x121d52(%rip), %rax    # 0x12d810
movzwl (%rax,%rcx,2), %edi
sarl $0xd, %edi
andl $0xf, %edi
movl -0xc(%rbp), %eax
movswl %ax, %esi
callq 0x15ba0
jmp 0xbad5
movslq -0xc(%rbp), %rcx
leaq 0x799480(%rip), %rax    # 0x7a4f60
movl (%rax,%rcx,4), %eax
movl %eax, -0xc(%rbp)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0xb485
jmp 0xbb72
callq 0x1aaa0
movl -0x3c(%rbp), %edi
movl -0x40(%rbp), %esi
movl -0x44(%rbp), %edx
movw -0x4e(%rbp), %cx
movl -0x48(%rbp), %r8d
movswq -0x2(%rbp), %r9
leaq 0x122bc8(%rip), %rax    # 0x12e6e0
movswl %cx, %ecx
movswl (%rax,%r9,2), %r9d
callq 0x530d0
movswq -0x2(%rbp), %rcx
leaq 0x121d1f(%rip), %rax    # 0x12d850
movl (%rax,%rcx,4), %edi
movswq -0x2(%rbp), %rcx
leaq 0x121d50(%rip), %rax    # 0x12d890
movl (%rax,%rcx,4), %esi
callq 0x28c40
callq 0x56520
movswq 0x121c89(%rip), %rcx    # 0x12d7de
leaq 0x121cb4(%rip), %rax    # 0x12d810
movzwl (%rax,%rcx,2), %edi
sarl $0xd, %edi
andl $0xf, %edi
movswl 0x121c71(%rip), %esi    # 0x12d7de
callq 0x15ba0
jmp 0xbb74
movswq -0x2(%rbp), %rcx
leaq 0x122d00(%rip), %rax    # 0x12e880
movsbl (%rax,%rcx), %eax
cmpl $0x3, %eax
je 0xbc1a
movswl -0x4e(%rbp), %eax
addl $0x200, %eax            # imm = 0x200
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x5bcfdb(%rip), %rax    # 0x5c8b80
movswl (%rax,%rcx,2), %eax
shll $0x6, %eax
cltd
idivl -0x4c(%rbp)
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movswl -0x4e(%rbp), %eax
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x5bcfb7(%rip), %rax    # 0x5c8b80
movswl (%rax,%rcx,2), %eax
shll $0x6, %eax
cltd
idivl -0x4c(%rbp)
addl -0x40(%rbp), %eax
movl %eax, -0x40(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x122c9a(%rip), %rax    # 0x12e880
movsbl (%rax,%rcx), %eax
cmpl $0x2, %eax
jne 0xbc08
xorl %edi, %edi
callq 0x72830
movl -0x3c(%rbp), %edi
movl -0x40(%rbp), %esi
movl -0x4c(%rbp), %edx
movswl -0x4e(%rbp), %ecx
callq 0x5c7e0
movl -0x3c(%rbp), %edi
movl -0x40(%rbp), %esi
movl -0x4c(%rbp), %edx
movswl -0x4e(%rbp), %ecx
callq 0x17e70
cmpl $0x0, 0x121bcb(%rip)    # 0x12d7ec
je 0xbce6
movl $0x28, -0x14(%rbp)
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl 0x121baa(%rip), %eax    # 0x12d7e8
jg 0xbce1
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0xbc7f
movl -0xc(%rbp), %eax
addl -0x10(%rbp), %eax
movslq %eax, %rcx
leaq 0x122e5d(%rip), %rax    # 0x12eac0
movb (%rax,%rcx), %dl
movslq -0x10(%rbp), %rcx
leaq 0x121cff(%rip), %rax    # 0x12d970
movb %dl, (%rax,%rcx)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0xbc4b
movl 0x121b63(%rip), %eax    # 0x12d7e8
movl -0xc(%rbp), %ecx
addl -0x14(%rbp), %ecx
cmpl %ecx, %eax
jge 0xbcc2
movl 0x121b53(%rip), %eax    # 0x12d7e8
subl -0xc(%rbp), %eax
movslq %eax, %rcx
leaq 0x121cce(%rip), %rax    # 0x12d970
movb $0x5f, (%rax,%rcx)
movl 0x121b3c(%rip), %eax    # 0x12d7e8
subl -0xc(%rbp), %eax
addl $0x1, %eax
movslq %eax, %rcx
leaq 0x121cb4(%rip), %rax    # 0x12d970
movb $0x0, (%rax,%rcx)
jmp 0xbcd1
movslq -0x14(%rbp), %rcx
leaq 0x121ca3(%rip), %rax    # 0x12d970
movb $0x0, (%rax,%rcx)
jmp 0xbcd3
movl -0x14(%rbp), %eax
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0xbc35
jmp 0xc3b2
leaq 0x799257(%rip), %rax    # 0x7a4f44
movslq (%rax), %rcx
leaq 0x122b89(%rip), %rax    # 0x12e880
movsbl (%rax,%rcx), %eax
cmpl $0x3, %eax
jne 0xc3b0
movswl 0x122e57(%rip), %eax    # 0x12eb62
movl %eax, -0x18(%rbp)
movswl 0x122e4f(%rip), %eax    # 0x12eb64
andl $0x20, %eax
movswl 0x121ac5(%rip), %ecx    # 0x12d7e4
andl $0x20, %ecx
cmpl %ecx, %eax
jle 0xc1ef
movswl 0x122e31(%rip), %eax    # 0x12eb62
cmpl $0x40, %eax
jle 0xc1ef
leaq 0x5f42db(%rip), %rax    # 0x60001c
movl (%rax), %eax
sarl %eax
movswl 0x122e16(%rip), %ecx    # 0x12eb62
sarl %ecx
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
movswl 0x122e05(%rip), %ecx    # 0x12eb62
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x34(%rbp)
leaq 0x5f42b4(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x20, %eax
sarl %eax
movl %eax, -0x90(%rbp)
movswl 0x122de2(%rip), %eax    # 0x12eb62
leaq 0x5f4299(%rip), %rcx    # 0x600020
movl (%rcx), %ecx
subl $0x20, %ecx
imull %ecx, %eax
leaq 0x5f4286(%rip), %rcx    # 0x60001c
cltd
idivl (%rcx)
movl %eax, %ecx
movl -0x90(%rbp), %eax
sarl %ecx
subl %ecx, %eax
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %eax
movl %eax, -0x8c(%rbp)
movswl 0x122daa(%rip), %eax    # 0x12eb62
leaq 0x5f4261(%rip), %rcx    # 0x600020
movl (%rcx), %ecx
subl $0x20, %ecx
imull %ecx, %eax
leaq 0x5f424e(%rip), %rcx    # 0x60001c
cltd
idivl (%rcx)
movl %eax, %ecx
movl -0x8c(%rbp), %eax
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x38(%rbp)
leaq -0x2c(%rbp), %rdi
leaq -0x30(%rbp), %rsi
leaq -0x34(%rbp), %rdx
leaq -0x38(%rbp), %rcx
callq 0x256b0
movswl 0x122d65(%rip), %ecx    # 0x12eb62
sarl $0x3, %ecx
movswl 0x122d5b(%rip), %eax    # 0x12eb62
subl %ecx, %eax
movw %ax, 0x122d52(%rip)     # 0x12eb62
movl -0x18(%rbp), %eax
leaq 0x5f4202(%rip), %rcx    # 0x60001c
cmpl (%rcx), %eax
jle 0xc043
leaq 0x5f41f3(%rip), %rax    # 0x60001c
movl (%rax), %eax
movw %ax, 0x122d30(%rip)     # 0x12eb62
leaq 0x5f41e3(%rip), %rax    # 0x60001c
movl (%rax), %edi
subl $0x140, %edi            # imm = 0x140
sarl %edi
leaq 0x5f41d6(%rip), %rax    # 0x600020
movl (%rax), %esi
subl $0x20, %esi
leaq 0x5f41c6(%rip), %rax    # 0x60001c
movl (%rax), %r10d
subl $0x1, %r10d
leaq 0x5f41bc(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x1, %eax
movl $0x19e, %edx            # imm = 0x19E
xorl %r9d, %r9d
movl %r9d, %ecx
movl %r9d, %r8d
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
callq 0x9290
leaq 0x5f4189(%rip), %rax    # 0x60001c
movl (%rax), %eax
subl $0x140, %eax            # imm = 0x140
sarl %eax
movl %eax, -0xc(%rbp)
cmpl $0x8, -0xc(%rbp)
jl 0xbefc
movl -0xc(%rbp), %eax
subl $0x8, %eax
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %edi
leaq 0x5f4168(%rip), %rax    # 0x600020
movl (%rax), %esi
subl $0x20, %esi
leaq 0x5f4158(%rip), %rax    # 0x60001c
movl (%rax), %r10d
subl $0x1, %r10d
leaq 0x5f414e(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x1, %eax
movl $0x1b7, %edx            # imm = 0x1B7
xorl %r9d, %r9d
movl %r9d, %ecx
movl %r9d, %r8d
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
callq 0x9290
jmp 0xbe9f
cmpl $0x4, -0xc(%rbp)
jl 0xbf57
movl -0xc(%rbp), %eax
subl $0x4, %eax
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %edi
leaq 0x5f410b(%rip), %rax    # 0x600020
movl (%rax), %esi
subl $0x20, %esi
leaq 0x5f40fb(%rip), %rax    # 0x60001c
movl (%rax), %r10d
subl $0x1, %r10d
leaq 0x5f40f1(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x1, %eax
movl $0x1b9, %edx            # imm = 0x1B9
xorl %r9d, %r9d
movl %r9d, %ecx
movl %r9d, %r8d
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
callq 0x9290
leaq 0x5f40be(%rip), %rax    # 0x60001c
movl (%rax), %eax
subl $0x140, %eax            # imm = 0x140
sarl %eax
addl $0x140, %eax            # imm = 0x140
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
leaq 0x5f40a3(%rip), %rcx    # 0x60001c
movl (%rcx), %ecx
subl $0x8, %ecx
cmpl %ecx, %eax
jg 0xbfd9
movl -0xc(%rbp), %edi
leaq 0x5f4094(%rip), %rax    # 0x600020
movl (%rax), %esi
subl $0x20, %esi
leaq 0x5f4084(%rip), %rax    # 0x60001c
movl (%rax), %r10d
subl $0x1, %r10d
leaq 0x5f407a(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x1, %eax
movl $0x1b7, %edx            # imm = 0x1B7
xorl %r9d, %r9d
movl %r9d, %ecx
movl %r9d, %r8d
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
callq 0x9290
movl -0xc(%rbp), %eax
addl $0x8, %eax
movl %eax, -0xc(%rbp)
jmp 0xbf6f
movl -0xc(%rbp), %eax
leaq 0x5f4039(%rip), %rcx    # 0x60001c
movl (%rcx), %ecx
subl $0x4, %ecx
cmpl %ecx, %eax
jg 0xc041
movl -0xc(%rbp), %edi
leaq 0x5f402a(%rip), %rax    # 0x600020
movl (%rax), %esi
subl $0x20, %esi
leaq 0x5f401a(%rip), %rax    # 0x60001c
movl (%rax), %r10d
subl $0x1, %r10d
leaq 0x5f4010(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x1, %eax
movl $0x1b9, %edx            # imm = 0x1B9
xorl %r9d, %r9d
movl %r9d, %ecx
movl %r9d, %r8d
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
callq 0x9290
movl -0xc(%rbp), %eax
addl $0x4, %eax
movl %eax, -0xc(%rbp)
jmp 0xc043
leaq 0x5f3fd2(%rip), %rax    # 0x60001c
movl (%rax), %eax
sarl %eax
movswl 0x122b0d(%rip), %ecx    # 0x12eb62
sarl %ecx
subl %ecx, %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movswl 0x122afc(%rip), %ecx    # 0x12eb62
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
leaq 0x5f3fab(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x20, %eax
sarl %eax
movl %eax, -0x98(%rbp)
movswl 0x122ad9(%rip), %eax    # 0x12eb62
leaq 0x5f3f90(%rip), %rcx    # 0x600020
movl (%rcx), %ecx
subl $0x20, %ecx
imull %ecx, %eax
leaq 0x5f3f7d(%rip), %rcx    # 0x60001c
cltd
idivl (%rcx)
movl %eax, %ecx
movl -0x98(%rbp), %eax
sarl %ecx
subl %ecx, %eax
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x94(%rbp)
movswl 0x122aa1(%rip), %eax    # 0x12eb62
leaq 0x5f3f58(%rip), %rcx    # 0x600020
movl (%rcx), %ecx
subl $0x20, %ecx
imull %ecx, %eax
leaq 0x5f3f45(%rip), %rcx    # 0x60001c
cltd
idivl (%rcx)
movl %eax, %ecx
movl -0x94(%rbp), %eax
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x28(%rbp)
leaq -0x1c(%rbp), %rdi
leaq -0x20(%rbp), %rsi
leaq -0x24(%rbp), %rdx
leaq -0x28(%rbp), %rcx
callq 0x256b0
movl -0x1c(%rbp), %edi
movl -0x20(%rbp), %esi
movsbl 0x1216c6(%rip), %ecx    # 0x12d7d2
sarl %cl, %esi
movl -0x24(%rbp), %edx
movl -0x28(%rbp), %eax
movsbl 0x1216b7(%rip), %ecx    # 0x12d7d2
sarl %cl, %eax
movl %eax, %ecx
callq 0x67180
movl -0x2c(%rbp), %r8d
movl -0x30(%rbp), %r9d
movl -0x1c(%rbp), %r10d
subl $0x1, %r10d
movl -0x38(%rbp), %eax
xorl %ecx, %ecx
movl $0x196, %edx            # imm = 0x196
movl %ecx, %edi
movl %ecx, %esi
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
callq 0x9330
movl -0x24(%rbp), %r8d
addl $0x1, %r8d
movl -0x30(%rbp), %r9d
movl -0x34(%rbp), %r10d
movl -0x38(%rbp), %eax
xorl %ecx, %ecx
movl $0x196, %edx            # imm = 0x196
movl %ecx, %edi
movl %ecx, %esi
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
callq 0x9330
movl -0x1c(%rbp), %r8d
movl -0x30(%rbp), %r9d
movl -0x24(%rbp), %r10d
movl -0x20(%rbp), %eax
subl $0x1, %eax
xorl %ecx, %ecx
movl $0x196, %edx            # imm = 0x196
movl %ecx, %edi
movl %ecx, %esi
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
callq 0x9330
movl -0x1c(%rbp), %r8d
movl -0x28(%rbp), %r9d
addl $0x1, %r9d
movl -0x24(%rbp), %r10d
movl -0x38(%rbp), %eax
xorl %ecx, %ecx
movl $0x196, %edx            # imm = 0x196
movl %ecx, %edi
movl %ecx, %esi
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
callq 0x9330
movswl 0x12296e(%rip), %eax    # 0x12eb64
andl $0x10, %eax
movswl 0x1215e4(%rip), %ecx    # 0x12d7e4
andl $0x10, %ecx
cmpl %ecx, %eax
jle 0xc3a2
movswl 0x122950(%rip), %eax    # 0x12eb62
leaq 0x5f3e03(%rip), %rcx    # 0x60001c
cmpl (%rcx), %eax
jg 0xc3a2
movswl 0x12293a(%rip), %ecx    # 0x12eb62
sarl $0x3, %ecx
movswl 0x122930(%rip), %eax    # 0x12eb62
addl %ecx, %eax
movw %ax, 0x122927(%rip)     # 0x12eb62
movswl 0x122920(%rip), %eax    # 0x12eb62
leaq 0x5f3dd3(%rip), %rcx    # 0x60001c
cmpl (%rcx), %eax
jle 0xc29f
movl -0x18(%rbp), %eax
leaq 0x5f3dc5(%rip), %rcx    # 0x60001c
cmpl (%rcx), %eax
jne 0xc29f
leaq 0x5f3dba(%rip), %rax    # 0x60001c
movl (%rax), %eax
addl $0x1, %eax
movw %ax, 0x1228f4(%rip)     # 0x12eb62
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
leaq 0x5f3d99(%rip), %rax    # 0x60001c
movl (%rax), %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
leaq 0x5f3d8e(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0xc368
movswl 0x1228bc(%rip), %eax    # 0x12eb62
leaq 0x5f3d6f(%rip), %rcx    # 0x60001c
cmpl (%rcx), %eax
jle 0xc2c1
leaq 0x5f3d64(%rip), %rax    # 0x60001c
movl (%rax), %eax
movw %ax, 0x1228a1(%rip)     # 0x12eb62
leaq 0x5f3d54(%rip), %rax    # 0x60001c
movl (%rax), %eax
sarl %eax
movswl 0x12288f(%rip), %ecx    # 0x12eb62
sarl %ecx
subl %ecx, %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movswl 0x12287e(%rip), %ecx    # 0x12eb62
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
leaq 0x5f3d2d(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x20, %eax
sarl %eax
movl %eax, -0xa0(%rbp)
movswl 0x12285b(%rip), %eax    # 0x12eb62
leaq 0x5f3d12(%rip), %rcx    # 0x600020
movl (%rcx), %ecx
subl $0x20, %ecx
imull %ecx, %eax
leaq 0x5f3cff(%rip), %rcx    # 0x60001c
cltd
idivl (%rcx)
movl %eax, %ecx
movl -0xa0(%rbp), %eax
sarl %ecx
subl %ecx, %eax
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x9c(%rbp)
movswl 0x122823(%rip), %eax    # 0x12eb62
leaq 0x5f3cda(%rip), %rcx    # 0x600020
movl (%rcx), %ecx
subl $0x20, %ecx
imull %ecx, %eax
leaq 0x5f3cc7(%rip), %rcx    # 0x60001c
cltd
idivl (%rcx)
movl %eax, %ecx
movl -0x9c(%rbp), %eax
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x28(%rbp)
leaq -0x1c(%rbp), %rdi
leaq -0x20(%rbp), %rsi
leaq -0x24(%rbp), %rdx
leaq -0x28(%rbp), %rcx
callq 0x256b0
movl -0x1c(%rbp), %edi
movl -0x20(%rbp), %esi
movsbl 0x121448(%rip), %ecx    # 0x12d7d2
sarl %cl, %esi
movl -0x24(%rbp), %edx
movl -0x28(%rbp), %eax
movsbl 0x121439(%rip), %ecx    # 0x12d7d2
sarl %cl, %eax
movl %eax, %ecx
callq 0x67180
movw 0x1227bb(%rip), %ax     # 0x12eb64
movw %ax, 0x121434(%rip)     # 0x12d7e4
jmp 0xc3b2
movsbl 0x1227ad(%rip), %eax    # 0x12eb66
cmpl $0x0, %eax
jle 0xc4c0
movl $0x28, -0x14(%rbp)
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movsbl 0x12278c(%rip), %ecx    # 0x12eb66
cmpl %ecx, %eax
jg 0xc4a6
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0xc41d
movl -0xc(%rbp), %eax
addl -0x10(%rbp), %eax
movslq %eax, %rcx
leaq 0x12276f(%rip), %rax    # 0x12eb70
movb (%rax,%rcx), %dl
movslq -0x10(%rbp), %rcx
leaq 0x121561(%rip), %rax    # 0x12d970
movb %dl, (%rax,%rcx)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0xc3e9
movsbl 0x122742(%rip), %eax    # 0x12eb66
movl -0xc(%rbp), %ecx
addl -0x14(%rbp), %ecx
cmpl %ecx, %eax
jge 0xc448
movsbl 0x122731(%rip), %eax    # 0x12eb66
subl -0xc(%rbp), %eax
movslq %eax, %rcx
leaq 0x12152e(%rip), %rax    # 0x12d970
movb $0x0, (%rax,%rcx)
jmp 0xc457
movslq -0x14(%rbp), %rcx
leaq 0x12151d(%rip), %rax    # 0x12d970
movb $0x0, (%rax,%rcx)
movl -0xc(%rbp), %eax
cltd
idivl -0x14(%rbp)
movl %eax, %esi
shll $0x3, %esi
addl $0xa0, %esi
movsbl 0x1226f6(%rip), %eax    # 0x12eb66
subl $0x1, %eax
cltd
idivl -0x14(%rbp)
shll $0x3, %eax
subl %eax, %esi
xorl %r9d, %r9d
movl $0x97, %edx
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
leaq 0x1214e0(%rip), %r8     # 0x12d970
movl %r9d, %edi
callq 0x743d0
movl -0x14(%rbp), %eax
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0xc3d0
leaq 0x599e6b(%rip), %rax    # 0x5a6318
movl (%rax), %eax
cmpl 0x12275f(%rip), %eax    # 0x12ec14
jle 0xc4be
movb $0x0, 0x1226a8(%rip)    # 0x12eb66
jmp 0xc4c0
leaq 0x798a85(%rip), %rax    # 0x7a4f4c
cmpl $0x2, (%rax)
jl 0xc4f1
movswl 0x12130b(%rip), %eax    # 0x12d7de
leaq 0x798a6a(%rip), %rcx    # 0x7a4f44
cmpl (%rcx), %eax
je 0xc4f1
leaq 0x12148b(%rip), %rdi    # 0x12d970
leaq 0xccdb6(%rip), %rsi     # 0xd92a2
callq 0x8550
callq 0x1bc80
callq 0x67810
leaq 0x16bfb6(%rip), %rax    # 0x1784b8
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0xc520
leaq 0x16bfa7(%rip), %rax    # 0x1784b8
movsbl (%rax), %edx
xorl %edi, %edi
movl $0xff, %esi
callq 0x197c0
leaq 0x36bba9(%rip), %rax    # 0x3780d0
movsbl 0x58(%rax), %eax
cmpl $0x0, %eax
jle 0xc562
leaq 0x36bb99(%rip), %rax    # 0x3780d0
movb $0x0, 0x58(%rax)
leaq 0x36bb8e(%rip), %rax    # 0x3780d0
movsbl 0x2a(%rax), %eax
leaq 0x36bb83(%rip), %rcx    # 0x3780d0
movsbl 0x36(%rcx), %ecx
orl %ecx, %eax
leaq 0xccd4e(%rip), %rdi     # 0xd92a8
movsbl %al, %esi
callq 0x68960
addq $0xc0, %rsp
popq %rbp
retq
nopl (%rax,%rax)