// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/src/tekmsc.c
// Function: tekscreenfx
int
tekscreenfx(void)
{
     int  ammo,n;
     static short hcpic,rvpic,wppic;

     updatepaletteshifts();
     updatesounds(screenpeek);

    //#define COMMITTEE
    #ifdef  COMMITTEE
     printext((xdim>>1)-25,windowy1+24,"THURS 6PM",ALPHABET,255);
    #endif

    #ifdef MATRIXTIMELIMIT
     if( mission == 7 ) {
          switch( minutes ) {
          case 1:
               if( (seconds == 0) && (fortieth < 10) ) {
                    showmessage("1 MINUTE LEFT");
                    playsound(S_BEEP,0,0,0,ST_IMMEDIATE);
               }
               break;
          case 2:
               if( (seconds == 0) && (fortieth < 10) ) {
                    showmessage("MATRIX TIMED OUT"); break;
                    playsound(S_ALARM3,0,0,0,ST_IMMEDIATE);
               }
               else if( seconds == 3 ) {
                    gameover=1;
               }
               break;
          }
     }
    #endif

     if( (messageon == 0) && notininventory ) {
          showmessage("NOT IN INVENTORY");
          notininventory=0;
     }
     if( otoggles[TOGGLE_REARVIEW] ) {
          if (rvpos < 0) {
               rvpos+=(TICSPERFRAME<<2);
               if (rvpos >= 0) {
                    rvpos=0;
                    rvpic=RVDEVICEON;
               }
               else {
                    n=tilesizx[RVDEVICE]/(RVDEVICEON-RVDEVICE);
                    n=(tilesizx[RVDEVICE]-abs(rvpos))/n;
                    rvpic=RVDEVICE+n;
               }
          }
          rotatesprite(rvpos<<16, 0<<16, 65536l, 0, rvpic,
               0, 0, 8+16, 0, 0, xdim-1, ydim-1);
          if (rvpos == 0) {
               rearview(screenpeek);
          }
     }
     else if (abs(rvpos) < tilesizx[RVDEVICE]) {
          rvpos-=(TICSPERFRAME<<2);
          if (abs(rvpos) > tilesizx[RVDEVICE]) {
               rvpos=-tilesizx[RVDEVICE];
               rvpic=RVDEVICE;
          }
          else {
               n=tilesizx[RVDEVICE]/(RVDEVICEON-RVDEVICE);
               n=(tilesizx[RVDEVICE]-abs(rvpos))/n;
               rvpic=RVDEVICE+n;
          }
          rotatesprite(rvpos<<16, 0<<16, 65536l, 0, rvpic,
               0, 0, 8+16, 0, 0, xdim-1, ydim-1);
     }
     if( otoggles[TOGGLE_UPRT] ) {
          if (wppos < 0) {
               wppos+=(TICSPERFRAME<<2);
               if (wppos >= 0) {
                    wppos=0;
                    wppic=WPDEVICEON;
               }
               else {
                    n=tilesizx[WPDEVICE]/(WPDEVICEON-WPDEVICE);
                    n=(tilesizx[WPDEVICE]-abs(wppos))/n;
                    wppic=WPDEVICE+n;
               }
          }
          if (wppos == 0) {
               switch (locselectedgun+1) {
              #ifdef GUNINWPDEV
               case GUN1FLAG:
                    wppic=WPDEVICEGUN2;
                    break;
               case GUN2FLAG:
                    wppic=WPDEVICEGUN4;
                    break;
               case GUN3FLAG:
                    wppic=WPDEVICEGUN6;
                    break;
              #endif
               default:
                    wppic=WPDEVICEON;
                    break;
               }
          }
          rotatesprite((xdim-1-(tilesizx[WPDEVICE]+wppos))<<16, 0<<16, 65536l, 0, WPDEVICE,
               0, 0, 8+16, 0, 0, xdim-1, ydim-1);
     }
     else if (abs(wppos) < tilesizx[WPDEVICE]) {
          wppos-=(TICSPERFRAME<<2);
          if (abs(wppos) > tilesizx[WPDEVICE]) {
               wppos=-tilesizx[WPDEVICE];
               wppic=WPDEVICE;
          }
          else {
               n=tilesizx[WPDEVICE]/(WPDEVICEON-WPDEVICE);
               n=(tilesizx[WPDEVICE]-abs(wppos))/n;
               wppic=WPDEVICE+n;
          }
          //overwritesprite(wppos,0,wppic,0,0,0);
          rotatesprite((xdim-1-(tilesizx[WPDEVICE]+wppos))<<16, 0<<16, 65536l, 0, WPDEVICE,
               0, 0, 8+16, 0, 0, xdim-1, ydim-1);
     }
    #define  SCOREANDTIMEONWPDEVICE
    #ifdef   SCOREANDTIMEONWPDEVICE
     if( (wppic == WPDEVICEON) && (activemenu == 0) ) {
          sprintf(tektempbuf,"%02d:%02d:%02d", hours,minutes,seconds);
          printext(xdim-74,8,tektempbuf,ALPHABET,255);
          sprintf(tektempbuf,"%08d", score[screenpeek]);
          printext(xdim-74,18,tektempbuf,ALPHABET,255);
     }
    #endif
    #ifdef SCOREANDTIMEATBOTTOM
     if ((activemenu == 0) && !(biasthreshholdon)) {
          showtime();
          showscore();
     }
    #endif
     if( activemenu == 0 ) {
          showinv(screenpeek);
     }
     if( toggles[TOGGLE_GODMODE] && (screensize > xdim) ) {
           printext((xdim>>1)-16,4,"HOLY",ALPHABET2,255);
     }
     if (otoggles[TOGGLE_HEALTH]) {
          if (hcpos < 0) {
               hcpos+=(TICSPERFRAME<<2);
               if (hcpos >= 0) {
                    hcpos=0;
                    hcpic=HCDEVICEON;
               }
               else {
                    n=tilesizx[HCDEVICE]/(HCDEVICEON-HCDEVICE);
                    n=(tilesizx[HCDEVICE]-abs(hcpos))/n;
                    hcpic=HCDEVICE+n;
               }
          }
          rotatesprite(hcpos<<16, (ydim-tilesizy[hcpic])<<16, 65536l, 0, hcpic,
               0, 0, 8+16, 0, 0, xdim-1, ydim-1);
          if (hcpic == HCDEVICEON) {
               for (n=0 ; n < health[screenpeek]/HCSCALE ; n++) {
                    rotatesprite((hcpos+34+(n*5))<<16, (ydim-tilesizy[hcpic]+7)<<16, 65536l, 0, GREENLIGHTPIC,
                         (health[screenpeek]/HCSCALE)-n, 0, 8+16, 0, 0, xdim-1, ydim-1);
               }
               for (n=0 ; n < stun[screenpeek]/HCSCALE ; n++) {
                    rotatesprite((hcpos+34+(n*5))<<16, (ydim-tilesizy[hcpic]+13)<<16, 65536l, 0, YELLOWLIGHTPIC,
                         (stun[screenpeek]/HCSCALE)-n, 0, 8+16, 0, 0, xdim-1, ydim-1);
               }
               switch (locselectedgun) {
               case 0:
                    ammo=ammo1[screenpeek];
                    break;
               case 1:
                    ammo=ammo2[screenpeek];
                    break;
               case 2:
                    ammo=ammo3[screenpeek];
                    break;
               case 3:
                    ammo=ammo4[screenpeek];
                    break;
               case 4:
                    ammo=ammo5[screenpeek];
                    break;
               case 5:
                    ammo=ammo6[screenpeek];
                    break;
               case 6:
                    ammo=ammo7[screenpeek];
                    break;
               case 7:
                    ammo=ammo8[screenpeek];
                    break;
               default:
                    ammo=MAXAMMO;
                    break;
               }
               if( ammo > MAXAMMO ) {
                    ammo =MAXAMMO-1;
               }
               for (n=0 ; n < ammo/AMMOSCALE ; n++) {
                    rotatesprite((hcpos+34+(n*5))<<16, (ydim-tilesizy[hcpic]+19)<<16, 65536l, 0, BLUELIGHTPIC,
                         (ammo/AMMOSCALE)-n, 0, 8+16, 0, 0, xdim-1, ydim-1);
               }
          }
     }
     else if (abs(hcpos) < tilesizx[HCDEVICE]) {
          hcpos-=(TICSPERFRAME<<2);
          if (abs(hcpos) > tilesizx[HCDEVICE]) {
               hcpos=-tilesizx[HCDEVICE];
               hcpic=HCDEVICE;
          }
          else {
               n=tilesizx[HCDEVICE]/(HCDEVICEON-HCDEVICE);
               n=(tilesizx[HCDEVICE]-abs(hcpos))/n;
               hcpic=HCDEVICE+n;
          }
          rotatesprite(hcpos<<16, (ydim-tilesizy[hcpic])<<16, 65536l, 0, hcpic,
               0, 0, 8+16, 0, 0, xdim-1, ydim-1);
     }

    #ifdef FRAMECNT
     i=totalclock;
     if (i != frameval[framecnt]) {
          sprintf(tempbuf,"%ld",(CLKIPS*AVERAGEFRAMES)/(i-frameval[framecnt]));
          printext256(windowx1,windowy1,31,-1,tempbuf,1);
          frameval[framecnt]=i;
     }
     framecnt=((framecnt+1)&(AVERAGEFRAMES-1));
    #endif

     if( (activemenu == 0) && (option[4] != 0) ) {
          netstats();
     }

     if( biasthreshholdon ) {
          sprintf((char *)tempbuf,"SET BIAS THRESHHOLD %3d", biasthreshhold);
          printext((xdim>>1)-96,windowy2-10,(char *)tempbuf,ALPHABET2,255);
     }
     else if( (activemenu == 0) && messageon ) {
          if( messagex > windowx1 )
                printext(messagex,windowy2-32,messagebuf,ALPHABET2,255);
     }
     if( (activemenu == 0) && (toggles[TOGGLE_HEALTH] == 0) && (hcpos == -tilesizx[HCDEVICE]) && (screensize > 140) ) {
          if (!(biasthreshholdon)) {
               if( health[screenpeek] < 0 ) {
                    sprintf(tektempbuf,"%4d", 0);
               }
               else if( health[screenpeek] > MAXHEALTH ) {
                    sprintf(tektempbuf,"%4d", 1000);
               }
               else {
                    sprintf(tektempbuf,"%4d", health[screenpeek]);
               }
               printext(windowx1+6,windowy2-10,tektempbuf,ALPHABET2,255);
          }
     }
     if (activemenu) {
          domenu();
     }

    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
callq 0x19bd0
leaq 0x111b4a(%rip), %rax    # 0x12d7de
movswl (%rax), %edi
callq 0x27380
cmpl $0x0, 0x15c825(%rip)    # 0x1784c8
jne 0x1bcc6
movsbl 0x15e29c(%rip), %eax    # 0x179f48
cmpl $0x0, %eax
je 0x1bcc6
leaq 0xbdcda(%rip), %rdi     # 0xd9992
movb $0x0, %al
callq 0x1a150
movb $0x0, 0x15e282(%rip)    # 0x179f48
cmpb $0x0, 0x15e148(%rip)    # 0x179e15
je 0x1bdee
movswl 0x15e056(%rip), %eax    # 0x179d30
cmpl $0x0, %eax
jge 0x1bd63
movswl 0x15e046(%rip), %eax    # 0x179d30
addl $0xc, %eax
movw %ax, 0x15e03c(%rip)     # 0x179d30
movswl 0x15e035(%rip), %eax    # 0x179d30
cmpl $0x0, %eax
jl 0x1bd14
movw $0x0, 0x15e027(%rip)    # 0x179d30
movw $0x616, 0x15e232(%rip)  # imm = 0x616
jmp 0x1bd61
leaq 0x5ec335(%rip), %rax    # 0x608050
movswl 0xc24(%rax), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, -0x8(%rbp)
leaq 0x5ec31c(%rip), %rax    # 0x608050
movswl 0xc24(%rax), %eax
movswl 0x15dfee(%rip), %ecx    # 0x179d30
movl %ecx, %edx
negl %edx
cmovnsl %edx, %ecx
subl %ecx, %eax
cltd
idivl -0x8(%rbp)
movl %eax, -0x8(%rbp)
movl -0x8(%rbp), %eax
addl $0x612, %eax            # imm = 0x612
movw %ax, 0x15e1e3(%rip)     # 0x179f44
jmp 0x1bd63
movswl 0x15dfc6(%rip), %edi    # 0x179d30
shll $0x10, %edi
movw 0x15e1cf(%rip), %r8w    # 0x179f44
leaq 0x5e42a0(%rip), %rax    # 0x60001c
movl (%rax), %r10d
subl $0x1, %r10d
leaq 0x5e4296(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x1, %eax
xorl %r9d, %r9d
movl $0x10000, %edx          # imm = 0x10000
movl %r9d, %esi
movl %r9d, %ecx
movswl %r8w, %r8d
movl $0x0, (%rsp)
movl $0x18, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0x18(%rsp)
movl %r10d, 0x20(%rsp)
movl %eax, 0x28(%rsp)
callq 0x718a0
movswl 0x15df5b(%rip), %eax    # 0x179d30
cmpl $0x0, %eax
jne 0x1bde9
leaq 0x1119fd(%rip), %rax    # 0x12d7de
movswl (%rax), %edi
callq 0x1cb50
jmp 0x1bf21
movswl 0x15df3b(%rip), %eax    # 0x179d30
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
leaq 0x5ec24d(%rip), %rcx    # 0x608050
movswl 0xc24(%rcx), %ecx
cmpl %ecx, %eax
jge 0x1bf1f
movswl 0x15df17(%rip), %eax    # 0x179d30
subl $0xc, %eax
movw %ax, 0x15df0d(%rip)     # 0x179d30
movswl 0x15df06(%rip), %eax    # 0x179d30
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
leaq 0x5ec218(%rip), %rcx    # 0x608050
movswl 0xc24(%rcx), %ecx
cmpl %ecx, %eax
jle 0x1be67
leaq 0x5ec206(%rip), %rax    # 0x608050
movswl 0xc24(%rax), %ecx
xorl %eax, %eax
subl %ecx, %eax
movw %ax, 0x15ded4(%rip)     # 0x179d30
movw $0x612, 0x15e0df(%rip)  # imm = 0x612
jmp 0x1beb4
leaq 0x5ec1e2(%rip), %rax    # 0x608050
movswl 0xc24(%rax), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, -0x8(%rbp)
leaq 0x5ec1c9(%rip), %rax    # 0x608050
movswl 0xc24(%rax), %eax
movswl 0x15de9b(%rip), %ecx    # 0x179d30
movl %ecx, %edx
negl %edx
cmovnsl %edx, %ecx
subl %ecx, %eax
cltd
idivl -0x8(%rbp)
movl %eax, -0x8(%rbp)
movl -0x8(%rbp), %eax
addl $0x612, %eax            # imm = 0x612
movw %ax, 0x15e090(%rip)     # 0x179f44
movswl 0x15de75(%rip), %edi    # 0x179d30
shll $0x10, %edi
movw 0x15e07e(%rip), %r8w    # 0x179f44
leaq 0x5e414f(%rip), %rax    # 0x60001c
movl (%rax), %r10d
subl $0x1, %r10d
leaq 0x5e4145(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x1, %eax
xorl %r9d, %r9d
movl $0x10000, %edx          # imm = 0x10000
movl %r9d, %esi
movl %r9d, %ecx
movswl %r8w, %r8d
movl $0x0, (%rsp)
movl $0x18, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0x18(%rsp)
movl %r10d, 0x20(%rsp)
movl %eax, 0x28(%rsp)
callq 0x718a0
jmp 0x1bf21
cmpb $0x0, 0x15deee(%rip)    # 0x179e16
je 0x1c05d
movswl 0x15ddf9(%rip), %eax    # 0x179d2e
cmpl $0x0, %eax
jge 0x1bfbe
movswl 0x15dde9(%rip), %eax    # 0x179d2e
addl $0xc, %eax
movw %ax, 0x15dddf(%rip)     # 0x179d2e
movswl 0x15ddd8(%rip), %eax    # 0x179d2e
cmpl $0x0, %eax
jl 0x1bf6f
movw $0x0, 0x15ddca(%rip)    # 0x179d2e
movw $0x61b, 0x15dfd9(%rip)  # imm = 0x61B
jmp 0x1bfbc
leaq 0x5ec0da(%rip), %rax    # 0x608050
movswl 0xc2e(%rax), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, -0x8(%rbp)
leaq 0x5ec0c1(%rip), %rax    # 0x608050
movswl 0xc2e(%rax), %eax
movswl 0x15dd91(%rip), %ecx    # 0x179d2e
movl %ecx, %edx
negl %edx
cmovnsl %edx, %ecx
subl %ecx, %eax
cltd
idivl -0x8(%rbp)
movl %eax, -0x8(%rbp)
movl -0x8(%rbp), %eax
addl $0x617, %eax            # imm = 0x617
movw %ax, 0x15df8a(%rip)     # 0x179f46
jmp 0x1bfbe
movswl 0x15dd69(%rip), %eax    # 0x179d2e
cmpl $0x0, %eax
jne 0x1bfd5
movw $0x61b, 0x15df73(%rip)  # imm = 0x61B
jmp 0x1bfd5
leaq 0x5e4040(%rip), %rax    # 0x60001c
movl (%rax), %edi
subl $0x1, %edi
leaq 0x5ec068(%rip), %rax    # 0x608050
movswl 0xc2e(%rax), %eax
movswl 0x15dd38(%rip), %ecx    # 0x179d2e
addl %ecx, %eax
subl %eax, %edi
shll $0x10, %edi
leaq 0x5e4018(%rip), %rax    # 0x60001c
movl (%rax), %r10d
subl $0x1, %r10d
leaq 0x5e400e(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x1, %eax
xorl %r9d, %r9d
movl $0x10000, %edx          # imm = 0x10000
movl $0x617, %r8d            # imm = 0x617
movl %r9d, %esi
movl %r9d, %ecx
movl $0x0, (%rsp)
movl $0x18, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0x18(%rsp)
movl %r10d, 0x20(%rsp)
movl %eax, 0x28(%rsp)
callq 0x718a0
jmp 0x1c1a8
movswl 0x15dcca(%rip), %eax    # 0x179d2e
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
leaq 0x5ebfde(%rip), %rcx    # 0x608050
movswl 0xc2e(%rcx), %ecx
cmpl %ecx, %eax
jge 0x1c1a6
movswl 0x15dca6(%rip), %eax    # 0x179d2e
subl $0xc, %eax
movw %ax, 0x15dc9c(%rip)     # 0x179d2e
movswl 0x15dc95(%rip), %eax    # 0x179d2e
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
leaq 0x5ebfa9(%rip), %rcx    # 0x608050
movswl 0xc2e(%rcx), %ecx
cmpl %ecx, %eax
jle 0x1c0d6
leaq 0x5ebf97(%rip), %rax    # 0x608050
movswl 0xc2e(%rax), %ecx
xorl %eax, %eax
subl %ecx, %eax
movw %ax, 0x15dc63(%rip)     # 0x179d2e
movw $0x617, 0x15de72(%rip)  # imm = 0x617
jmp 0x1c123
leaq 0x5ebf73(%rip), %rax    # 0x608050
movswl 0xc2e(%rax), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, -0x8(%rbp)
leaq 0x5ebf5a(%rip), %rax    # 0x608050
movswl 0xc2e(%rax), %eax
movswl 0x15dc2a(%rip), %ecx    # 0x179d2e
movl %ecx, %edx
negl %edx
cmovnsl %edx, %ecx
subl %ecx, %eax
cltd
idivl -0x8(%rbp)
movl %eax, -0x8(%rbp)
movl -0x8(%rbp), %eax
addl $0x617, %eax            # imm = 0x617
movw %ax, 0x15de23(%rip)     # 0x179f46
leaq 0x5e3ef2(%rip), %rax    # 0x60001c
movl (%rax), %edi
subl $0x1, %edi
leaq 0x5ebf1a(%rip), %rax    # 0x608050
movswl 0xc2e(%rax), %eax
movswl 0x15dbea(%rip), %ecx    # 0x179d2e
addl %ecx, %eax
subl %eax, %edi
shll $0x10, %edi
leaq 0x5e3eca(%rip), %rax    # 0x60001c
movl (%rax), %r10d
subl $0x1, %r10d
leaq 0x5e3ec0(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x1, %eax
xorl %r9d, %r9d
movl $0x10000, %edx          # imm = 0x10000
movl $0x617, %r8d            # imm = 0x617
movl %r9d, %esi
movl %r9d, %ecx
movl $0x0, (%rsp)
movl $0x18, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0x18(%rsp)
movl %r10d, 0x20(%rsp)
movl %eax, 0x28(%rsp)
callq 0x718a0
jmp 0x1c1a8
movswl 0x15dd97(%rip), %eax    # 0x179f46
cmpl $0x61b, %eax            # imm = 0x61B
jne 0x1c269
cmpl $0x0, 0x15c2f3(%rip)    # 0x1784b4
jne 0x1c269
movl 0x15c2f7(%rip), %edx    # 0x1784c4
movl 0x15c2ed(%rip), %ecx    # 0x1784c0
movl 0x15c2e2(%rip), %r8d    # 0x1784bc
leaq 0x15dc3f(%rip), %rdi    # 0x179e20
leaq 0xbd6fc(%rip), %rsi     # 0xd98e4
movb $0x0, %al
callq 0x8e50
leaq 0x5e3e26(%rip), %rax    # 0x60001c
movl (%rax), %edi
subl $0x4a, %edi
movl $0x8, %esi
leaq 0x15dc19(%rip), %rdx    # 0x179e20
movl $0x15c, %ecx            # imm = 0x15C
movl $0xff, %r8d
callq 0x9580
leaq 0x1115c0(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x15a417(%rip), %rax    # 0x176640
movl (%rax,%rcx,4), %edx
leaq 0x15dbed(%rip), %rdi    # 0x179e20
leaq 0xbd6b9(%rip), %rsi     # 0xd98f3
movb $0x0, %al
callq 0x8e50
leaq 0x5e3dd4(%rip), %rax    # 0x60001c
movl (%rax), %edi
subl $0x4a, %edi
movl $0x12, %esi
leaq 0x15dbc7(%rip), %rdx    # 0x179e20
movl $0x15c, %ecx            # imm = 0x15C
movl $0xff, %r8d
callq 0x9580
cmpl $0x0, 0x15c244(%rip)    # 0x1784b4
jne 0x1c281
leaq 0x111565(%rip), %rax    # 0x12d7de
movswl (%rax), %edi
callq 0x1b170
leaq 0xfdd78(%rip), %rax     # 0x11a000
cmpl $0x0, 0x1c(%rax)
je 0x1c2cd
leaq 0x1128cd(%rip), %rax    # 0x12eb62
movswl (%rax), %eax
leaq 0x5e3d7d(%rip), %rcx    # 0x60001c
cmpl (%rcx), %eax
jle 0x1c2cd
leaq 0x5e3d72(%rip), %rax    # 0x60001c
movl (%rax), %edi
sarl %edi
subl $0x10, %edi
movl $0x4, %esi
leaq 0xbd622(%rip), %rdx     # 0xd98df
movl $0x15d, %ecx            # imm = 0x15D
movl $0xff, %r8d
callq 0x9580
cmpb $0x0, 0x15db44(%rip)    # 0x179e18
je 0x1c7ed
movswl 0x15da4b(%rip), %eax    # 0x179d2c
cmpl $0x0, %eax
jge 0x1c36a
movswl 0x15da3b(%rip), %eax    # 0x179d2c
addl $0xc, %eax
movw %ax, 0x15da31(%rip)     # 0x179d2c
movswl 0x15da2a(%rip), %eax    # 0x179d2c
cmpl $0x0, %eax
jl 0x1c31b
movw $0x0, 0x15da1c(%rip)    # 0x179d2c
movw $0x620, 0x15dc29(%rip)  # imm = 0x620
jmp 0x1c368
leaq 0x5ebd2e(%rip), %rax    # 0x608050
movswl 0xc38(%rax), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, -0x8(%rbp)
leaq 0x5ebd15(%rip), %rax    # 0x608050
movswl 0xc38(%rax), %eax
movswl 0x15d9e3(%rip), %ecx    # 0x179d2c
movl %ecx, %edx
negl %edx
cmovnsl %edx, %ecx
subl %ecx, %eax
cltd
idivl -0x8(%rbp)
movl %eax, -0x8(%rbp)
movl -0x8(%rbp), %eax
addl $0x61c, %eax            # imm = 0x61C
movw %ax, 0x15dbda(%rip)     # 0x179f42
jmp 0x1c36a
movswl 0x15d9bb(%rip), %edi    # 0x179d2c
shll $0x10, %edi
leaq 0x5e3ca5(%rip), %rax    # 0x600020
movl (%rax), %esi
movswq 0x15dbbd(%rip), %rcx    # 0x179f42
leaq 0x5dd484(%rip), %rax    # 0x5f9810
movswl (%rax,%rcx,2), %eax
subl %eax, %esi
shll $0x10, %esi
movw 0x15dba5(%rip), %r8w    # 0x179f42
leaq 0x5e3c78(%rip), %rax    # 0x60001c
movl (%rax), %r10d
subl $0x1, %r10d
leaq 0x5e3c6e(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x1, %eax
movl $0x10000, %edx          # imm = 0x10000
xorl %r9d, %r9d
movl %r9d, %ecx
movswl %r8w, %r8d
movl $0x0, (%rsp)
movl $0x18, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0x18(%rsp)
movl %r10d, 0x20(%rsp)
movl %eax, 0x28(%rsp)
callq 0x718a0
movswl 0x15db48(%rip), %eax    # 0x179f42
cmpl $0x620, %eax            # imm = 0x620
jne 0x1c7e8
movl $0x0, -0x8(%rbp)
movl -0x8(%rbp), %eax
movl %eax, -0xc(%rbp)
leaq 0x1113c5(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x1114ec(%rip), %rax    # 0x12d910
movl (%rax,%rcx,4), %eax
movl $0x64, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xc(%rbp), %eax
cmpl %ecx, %eax
jge 0x1c4fc
movswl 0x15d8e9(%rip), %edi    # 0x179d2c
addl $0x22, %edi
imull $0x5, -0x8(%rbp), %eax
addl %eax, %edi
shll $0x10, %edi
leaq 0x5e3bca(%rip), %rax    # 0x600020
movl (%rax), %esi
movswq 0x15dae2(%rip), %rcx    # 0x179f42
leaq 0x5dd3a9(%rip), %rax    # 0x5f9810
movswl (%rax,%rcx,2), %eax
subl %eax, %esi
addl $0x7, %esi
shll $0x10, %esi
leaq 0x111364(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x11148b(%rip), %rax    # 0x12d910
movl (%rax,%rcx,4), %eax
movl $0x64, %ecx
cltd
idivl %ecx
subl -0x8(%rbp), %eax
movb %al, %r9b
leaq 0x5e3b7f(%rip), %rax    # 0x60001c
movl (%rax), %r10d
subl $0x1, %r10d
leaq 0x5e3b75(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x1, %eax
movl $0x10000, %edx          # imm = 0x10000
xorl %ecx, %ecx
movl $0x622, %r8d            # imm = 0x622
movsbl %r9b, %r9d
movl $0x0, (%rsp)
movl $0x18, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0x18(%rsp)
movl %r10d, 0x20(%rsp)
movl %eax, 0x28(%rsp)
callq 0x718a0
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x1c40c
movl $0x0, -0x8(%rbp)
movl -0x8(%rbp), %eax
movl %eax, -0x10(%rbp)
leaq 0x1112ce(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x1111f5(%rip), %rax    # 0x12d710
movl (%rax,%rcx,4), %eax
movl $0x64, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x10(%rbp), %eax
cmpl %ecx, %eax
jge 0x1c5f3
movswl 0x15d7f2(%rip), %edi    # 0x179d2c
addl $0x22, %edi
imull $0x5, -0x8(%rbp), %eax
addl %eax, %edi
shll $0x10, %edi
leaq 0x5e3ad3(%rip), %rax    # 0x600020
movl (%rax), %esi
movswq 0x15d9eb(%rip), %rcx    # 0x179f42
leaq 0x5dd2b2(%rip), %rax    # 0x5f9810
movswl (%rax,%rcx,2), %eax
subl %eax, %esi
addl $0xd, %esi
shll $0x10, %esi
leaq 0x11126d(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x111194(%rip), %rax    # 0x12d710
movl (%rax,%rcx,4), %eax
movl $0x64, %ecx
cltd
idivl %ecx
subl -0x8(%rbp), %eax
movb %al, %r9b
leaq 0x5e3a88(%rip), %rax    # 0x60001c
movl (%rax), %r10d
subl $0x1, %r10d
leaq 0x5e3a7e(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x1, %eax
movl $0x10000, %edx          # imm = 0x10000
xorl %ecx, %ecx
movl $0x624, %r8d            # imm = 0x624
movsbl %r9b, %r9d
movl $0x0, (%rsp)
movl $0x18, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0x18(%rsp)
movl %r10d, 0x20(%rsp)
movl %eax, 0x28(%rsp)
callq 0x718a0
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x1c503
leaq 0x157626(%rip), %rax    # 0x173c20
movl (%rax), %eax
movq %rax, -0x18(%rbp)
subq $0x7, %rax
ja 0x1c6ff
movq -0x18(%rbp), %rax
leaq 0xbce87(%rip), %rcx     # 0xd949c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1111b9(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x15bb70(%rip), %rax    # 0x1781a0
movswl (%rax,%rcx,2), %eax
movl %eax, -0x4(%rbp)
jmp 0x1c706
leaq 0x11119b(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x15bb72(%rip), %rax    # 0x1781c0
movswl (%rax,%rcx,2), %eax
movl %eax, -0x4(%rbp)
jmp 0x1c706
leaq 0x11117d(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x15bb74(%rip), %rax    # 0x1781e0
movswl (%rax,%rcx,2), %eax
movl %eax, -0x4(%rbp)
jmp 0x1c706
leaq 0x11115f(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x15bb76(%rip), %rax    # 0x178200
movswl (%rax,%rcx,2), %eax
movl %eax, -0x4(%rbp)
jmp 0x1c706
leaq 0x111144(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x15bb7b(%rip), %rax    # 0x178220
movswl (%rax,%rcx,2), %eax
movl %eax, -0x4(%rbp)
jmp 0x1c706
leaq 0x111129(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x15bb80(%rip), %rax    # 0x178240
movswl (%rax,%rcx,2), %eax
movl %eax, -0x4(%rbp)
jmp 0x1c706
leaq 0x11110e(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x15bb85(%rip), %rax    # 0x178260
movswl (%rax,%rcx,2), %eax
movl %eax, -0x4(%rbp)
jmp 0x1c706
leaq 0x1110f3(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x15bb8a(%rip), %rax    # 0x178280
movswl (%rax,%rcx,2), %eax
movl %eax, -0x4(%rbp)
jmp 0x1c706
movl $0x64, -0x4(%rbp)
cmpl $0x64, -0x4(%rbp)
jle 0x1c713
movl $0x63, -0x4(%rbp)
movl $0x0, -0x8(%rbp)
movl -0x8(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x4(%rbp), %eax
movl $0xa, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x1c(%rbp), %eax
cmpl %ecx, %eax
jge 0x1c7e6
movswl 0x15d5ed(%rip), %edi    # 0x179d2c
addl $0x22, %edi
imull $0x5, -0x8(%rbp), %eax
addl %eax, %edi
shll $0x10, %edi
leaq 0x5e38ce(%rip), %rax    # 0x600020
movl (%rax), %esi
movswq 0x15d7e6(%rip), %rcx    # 0x179f42
leaq 0x5dd0ad(%rip), %rax    # 0x5f9810
movswl (%rax,%rcx,2), %eax
subl %eax, %esi
addl $0x13, %esi
shll $0x10, %esi
movl -0x4(%rbp), %eax
movl $0xa, %ecx
cltd
idivl %ecx
subl -0x8(%rbp), %eax
movb %al, %r9b
leaq 0x5e3895(%rip), %rax    # 0x60001c
movl (%rax), %r10d
subl $0x1, %r10d
leaq 0x5e388b(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x1, %eax
movl $0x10000, %edx          # imm = 0x10000
xorl %ecx, %ecx
movl $0x625, %r8d            # imm = 0x625
movsbl %r9b, %r9d
movl $0x0, (%rsp)
movl $0x18, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0x18(%rsp)
movl %r10d, 0x20(%rsp)
movl %eax, 0x28(%rsp)
callq 0x718a0
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x1c71a
jmp 0x1c7e8
jmp 0x1c93e
movswl 0x15d538(%rip), %eax    # 0x179d2c
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
leaq 0x5eb84e(%rip), %rcx    # 0x608050
movswl 0xc38(%rcx), %ecx
cmpl %ecx, %eax
jge 0x1c93c
movswl 0x15d514(%rip), %eax    # 0x179d2c
subl $0xc, %eax
movw %ax, 0x15d50a(%rip)     # 0x179d2c
movswl 0x15d503(%rip), %eax    # 0x179d2c
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
leaq 0x5eb819(%rip), %rcx    # 0x608050
movswl 0xc38(%rcx), %ecx
cmpl %ecx, %eax
jle 0x1c866
leaq 0x5eb807(%rip), %rax    # 0x608050
movswl 0xc38(%rax), %ecx
xorl %eax, %eax
subl %ecx, %eax
movw %ax, 0x15d4d1(%rip)     # 0x179d2c
movw $0x61c, 0x15d6de(%rip)  # imm = 0x61C
jmp 0x1c8b3
leaq 0x5eb7e3(%rip), %rax    # 0x608050
movswl 0xc38(%rax), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, -0x8(%rbp)
leaq 0x5eb7ca(%rip), %rax    # 0x608050
movswl 0xc38(%rax), %eax
movswl 0x15d498(%rip), %ecx    # 0x179d2c
movl %ecx, %edx
negl %edx
cmovnsl %edx, %ecx
subl %ecx, %eax
cltd
idivl -0x8(%rbp)
movl %eax, -0x8(%rbp)
movl -0x8(%rbp), %eax
addl $0x61c, %eax            # imm = 0x61C
movw %ax, 0x15d68f(%rip)     # 0x179f42
movswl 0x15d472(%rip), %edi    # 0x179d2c
shll $0x10, %edi
leaq 0x5e375c(%rip), %rax    # 0x600020
movl (%rax), %esi
movswq 0x15d674(%rip), %rcx    # 0x179f42
leaq 0x5dcf3b(%rip), %rax    # 0x5f9810
movswl (%rax,%rcx,2), %eax
subl %eax, %esi
shll $0x10, %esi
movw 0x15d65c(%rip), %r8w    # 0x179f42
leaq 0x5e372f(%rip), %rax    # 0x60001c
movl (%rax), %r10d
subl $0x1, %r10d
leaq 0x5e3725(%rip), %rax    # 0x600020
movl (%rax), %eax
subl $0x1, %eax
movl $0x10000, %edx          # imm = 0x10000
xorl %r9d, %r9d
movl %r9d, %ecx
movswl %r8w, %r8d
movl $0x0, (%rsp)
movl $0x18, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0x18(%rsp)
movl %r10d, 0x20(%rsp)
movl %eax, 0x28(%rsp)
callq 0x718a0
jmp 0x1c93e
cmpl $0x0, 0x15bb6f(%rip)    # 0x1784b4
jne 0x1c95c
leaq 0xfd5ca(%rip), %rax     # 0x119f18
movzbl 0x4(%rax), %eax
cmpl $0x0, %eax
je 0x1c95c
callq 0x1bba0
leaq 0x110e6d(%rip), %rax    # 0x12d7d0
cmpb $0x0, (%rax)
je 0x1c9ba
leaq 0xfd593(%rip), %rax     # 0x119f02
movswl (%rax), %edx
leaq 0x110ff7(%rip), %rdi    # 0x12d970
leaq 0xbd023(%rip), %rsi     # 0xd99a3
movb $0x0, %al
callq 0x8e50
leaq 0x5e368e(%rip), %rax    # 0x60001c
movl (%rax), %edi
sarl %edi
subl $0x60, %edi
leaq 0x5e3678(%rip), %rax    # 0x600014
movl (%rax), %esi
subl $0xa, %esi
leaq 0x110fc8(%rip), %rdx    # 0x12d970
movl $0x15d, %ecx            # imm = 0x15D
movl $0xff, %r8d
callq 0x9580
jmp 0x1ca0a
cmpl $0x0, 0x15baf3(%rip)    # 0x1784b4
jne 0x1ca08
cmpl $0x0, 0x15bafe(%rip)    # 0x1784c8
je 0x1ca08
movl 0x15d356(%rip), %eax    # 0x179d28
leaq 0x5aea47(%rip), %rcx    # 0x5cb420
cmpl (%rcx), %eax
jle 0x1ca06
movl 0x15d345(%rip), %edi    # 0x179d28
leaq 0x5e362a(%rip), %rax    # 0x600014
movl (%rax), %esi
subl $0x20, %esi
leaq 0x15d30a(%rip), %rdx    # 0x179d00
movl $0x15d, %ecx            # imm = 0x15D
movl $0xff, %r8d
callq 0x9580
jmp 0x1ca08
jmp 0x1ca0a
cmpl $0x0, 0x15baa3(%rip)    # 0x1784b4
jne 0x1cb33
leaq 0xfd5e2(%rip), %rax     # 0x11a000
cmpl $0x0, 0x20(%rax)
jne 0x1cb33
movswl 0x15d2fd(%rip), %eax    # 0x179d2c
leaq 0x5eb61a(%rip), %rcx    # 0x608050
movswl 0xc38(%rcx), %edx
xorl %ecx, %ecx
subl %edx, %ecx
cmpl %ecx, %eax
jne 0x1cb33
leaq 0x112112(%rip), %rax    # 0x12eb62
movswl (%rax), %eax
cmpl $0x8c, %eax
jle 0x1cb33
leaq 0x110d6b(%rip), %rax    # 0x12d7d0
cmpb $0x0, (%rax)
jne 0x1cb31
leaq 0x110d69(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x110e90(%rip), %rax    # 0x12d910
cmpl $0x0, (%rax,%rcx,4)
jge 0x1ca9f
leaq 0x15d393(%rip), %rdi    # 0x179e20
leaq 0xbcf27(%rip), %rsi     # 0xd99bb
xorl %edx, %edx
movb $0x0, %al
callq 0x8e50
jmp 0x1cb02
leaq 0x110d38(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x110e5f(%rip), %rax    # 0x12d910
cmpl $0x3e8, (%rax,%rcx,4)   # imm = 0x3E8
jle 0x1cad6
leaq 0x15d35f(%rip), %rdi    # 0x179e20
leaq 0xbcef3(%rip), %rsi     # 0xd99bb
movl $0x3e8, %edx            # imm = 0x3E8
movb $0x0, %al
callq 0x8e50
jmp 0x1cb00
leaq 0x110d01(%rip), %rax    # 0x12d7de
movswq (%rax), %rcx
leaq 0x110e28(%rip), %rax    # 0x12d910
movl (%rax,%rcx,4), %edx
leaq 0x15d32e(%rip), %rdi    # 0x179e20
leaq 0xbcec2(%rip), %rsi     # 0xd99bb
movb $0x0, %al
callq 0x8e50
jmp 0x1cb02
leaq 0x5ae917(%rip), %rax    # 0x5cb420
movl (%rax), %edi
addl $0x6, %edi
leaq 0x5e34ff(%rip), %rax    # 0x600014
movl (%rax), %esi
subl $0xa, %esi
leaq 0x15d2ff(%rip), %rdx    # 0x179e20
movl $0x15d, %ecx            # imm = 0x15D
movl $0xff, %r8d
callq 0x9580
jmp 0x1cb33
cmpl $0x0, 0x15b97a(%rip)    # 0x1784b4
je 0x1cb41
callq 0x1cea0
xorl %eax, %eax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)