// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/src/tektag.c
// Function: tektagcode
void
tektagcode(void)
{
     int            floorz,hi,i,j,k,lo,oldang,p,r,s,tics;
     int           dax,dax2,day,day2,endwall,startwall;
     unsigned int  effect;
     sectortype     *sect;
     struct    sectoreffect   *septr;

     for( p=connecthead; p >= 0; p=connectpoint2[p] ) {
          tekanimweap((syncbits[p]>>13)&15,p);
          tekhealstun(p);
     }

     for( i=0; i < numdoors; i++ ) {
          movedoors(i);
     }

     if( option[4] == 0 ) {
          for( i=0; i < secnt; i++ ) {
               s=sexref[i];
              if (s < 0 || s >= numsectors) {
                   crashgame("tag1402: Invalid sector effect index (%d,e=%d)",s,i);
              }
               sect=sectptr[s];
               septr=septrlist[s];
               if( septr->triggerable != 0 ) {
                    continue;
               }
               effect=septr->sectorflags;
               if( (effect&flags32[WPANNING]) != 0 ) {
                    oldang=septr->ang;
                    tics=TICSPERFRAME;
                    startwall=sect->wallptr;
                    endwall=startwall+sect->wallnum-1;
                    dax=(tics*septr->cos)>>15;
                    day=(tics*septr->sin)>>13;
                    for( j=startwall; j <= endwall; j++ ) {
                         wallptr[j]->xpanning+=(unsigned char)dax;
                         wallptr[j]->ypanning-=(unsigned char)day;
                    }
               }
               if( (effect&flags32[FPANNING]) != 0 ) {
                    tics=TICSPERFRAME;
                    dax=(tics*septr->cos);
                    day=(tics*septr->sin);
                    j=headspritesect[s];
                    while( j != -1 ) {
                         k=nextspritesect[j];
                         if( sprptr[j]->owner < MAXSPRITES ) {
                              dax2=dax>>10;
                              day2=day>>10;
                              movesprite(j,dax2,day2,0,4<<8,4<<8,0);
                         }
                         j=k;
                    }
                    for( p=connecthead; p >= 0; p=connectpoint2[p] ) {
                         if( cursectnum[p] == s ) {
                              if( posz[p] >= (sect->floorz-(42<<8)) ) {
                                   clipmove(&posx[p],&posy[p],&posz[p],
                                            &cursectnum[p],dax<<4,day<<4,128L,4<<8,4<<8,CLIPMASK0);
                                   setsprite(playersprite[p],posx[p],posy[p],posz[p]+(42<<8));
                                   revolvedoorstat[p]=1;
                              }
                         }
                    }
                    dax>>=12;
                    day>>=12;
                    sect->floorxpanning-=(unsigned char)dax;
                    sect->floorypanning+=(unsigned char)day;
               }
               if( (effect&flags32[CPANNING]) != 0 ) {
                    tics=TICSPERFRAME;
                    dax=(tics*septr->cos)>>12;
                    day=(tics*septr->sin)>>12;
                    sect->ceilingxpanning-=(unsigned char)dax;
                    sect->ceilingypanning+=(unsigned char)day;
               }
               if( (septr->delay-=TICSPERFRAME) > 0 ) {
                    continue;
               }
               // negative overflow here without this - jeffy
               if( septr->delay < 0 ) {
                    septr->delay=0;
               }
               septr->delay+=septr->delayreset;
               if( (effect&flags32[PULSELIGHT]) != 0 ) {
                    sect->ceilingshade+=septr->animate;
                    if( septr->hi > septr->lo ) {
                         hi=septr->hi;
                         lo=septr->lo;
                    }
                    else {
                         hi=septr->lo;
                         lo=septr->hi;
                    }
                    if( septr->animate < 0 ) {
                         if( sect->ceilingshade <= lo ) {
                              septr->animate=abs(septr->animate);
                         }
                    }
                    else {
                         if( sect->ceilingshade >= hi ) {
                              septr->animate=-septr->animate;
                         }
                    }
                    sect->floorshade=sect->ceilingshade;
                    startwall=sect->wallptr;
                    endwall=startwall+sect->wallnum-1;
                    for( j=startwall; j <= endwall; j++ ) {
                         wallptr[j]->shade=sect->ceilingshade;
                    }
               }
               else if( (effect&flags32[FLICKERLIGHT]) != 0 ) {
                   r=krand_intercept("TAG 1491");
                    if( r < 16384 ) {
                         sect->ceilingshade=septr->hi;
                    }
                    else if( r > 16384 ) {
                         sect->ceilingshade=septr->lo;
                    }
                    sect->floorshade=sect->ceilingshade;
                    startwall=sect->wallptr;
                    endwall=startwall+sect->wallnum-1;
                    for( j=startwall; j <= endwall; j++ ) {
                         wallptr[j]->shade=sect->ceilingshade;
                    }
               }
               else if( (effect&flags32[FLICKERDELAY]) != 0 ) {
                    if( sect->ceilingshade == septr->lo ) {
                         sect->ceilingshade=septr->hi;
                    }
                    else {
                         sect->ceilingshade=septr->lo;
                         septr->delay>>=2;
                    }
                    sect->floorshade=sect->ceilingshade;
                    startwall=sect->wallptr;
                    endwall=startwall+sect->wallnum-1;
                    for( j=startwall; j <= endwall; j++ ) {
                         wallptr[j]->shade=sect->ceilingshade;
                    }
               }
               else if( (effect&flags32[BLINKDELAY]) != 0 ) {
                    if( sect->ceilingshade == septr->lo ) {
                         sect->ceilingshade=septr->hi;
                    }
                    else {
                         sect->ceilingshade=septr->lo;
                    }
                    sect->floorshade=sect->ceilingshade;
                    startwall=sect->wallptr;
                    endwall=startwall+sect->wallnum-1;
                    for( j=startwall; j <= endwall; j++ ) {
                         wallptr[j]->shade=sect->ceilingshade;
                    }
               }
               if( (effect&flags32[KILLSECTOR]) != 0 ) {
                    floorz=sectptr[s]->floorz;
                    for( p=connecthead ; p >= 0 ; p=connectpoint2[p] ) {
                         if( cursectnum[p] == s ) {
                              // matrix specific check here
                              if( (klabs(posz[p] - floorz) < 10240) || (mission == 7) ) {
                                   if( (k=fdxref[s]) != -1 ) {
                                        if( floordoorptr[k]->state != DOORCLOSED ) {
                                             changehealth(p,-septr->damage);
                                             changescore(p,-10);
                                        }
                                   }
                                   else {
                                        if( septr->delay == septr->delayreset ) {
                                             changehealth(p,-septr->damage);
                                             changescore(p,-10);
                                        }
                                   }
                              }
                         }
                    }
               }
          }
     }

     if( option[4] == 0 ) {
          for( i=0; i < sprelevcnt; i++ ) {
               movesprelevs(i);
          }
          for( i=0; i < numfloordoors; i++ ) {
               movefloordoor(i);
          }
          for( i=0; i < numvehicles; i++ ) {
               movevehicles(i);
          }
     }

     tekdoanimpic();
     tekdodelayfuncs();
     if( (lockclock-ambupdateclock) > 120 ) {
          checkmapsndfx(screenpeek);
     }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
leaq 0x7688be(%rip), %rax    # 0x7a4f50
movl (%rax), %eax
movl %eax, -0x20(%rbp)
cmpl $0x0, -0x20(%rbp)
jl 0x3c6db
movslq -0x20(%rbp), %rcx
leaq 0xf1168(%rip), %rax     # 0x12d810
movzwl (%rax,%rcx,2), %edi
sarl $0xd, %edi
andl $0xf, %edi
movl -0x20(%rbp), %eax
movswl %ax, %esi
callq 0x13b50
movl -0x20(%rbp), %eax
movswl %ax, %edi
callq 0xa0b0
movslq -0x20(%rbp), %rcx
leaq 0x76888d(%rip), %rax    # 0x7a4f60
movl (%rax,%rcx,4), %eax
movl %eax, -0x20(%rbp)
jmp 0x3c697
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl 0x32ecd5(%rip), %eax    # 0x36b3c0
jge 0x3c700
movl -0xc(%rbp), %edi
callq 0x3fdd0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x3c6e2
leaq 0xdd811(%rip), %rax     # 0x119f18
movzbl 0x4(%rax), %eax
cmpl $0x0, %eax
jne 0x3cf91
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl 0x2ccd80(%rip), %eax    # 0x3094a4
jge 0x3cf8f
movslq -0xc(%rbp), %rcx
leaq 0x2ccd7b(%rip), %rax    # 0x3094b0
movl (%rax,%rcx,4), %eax
movl %eax, -0x28(%rbp)
cmpl $0x0, -0x28(%rbp)
jl 0x3c752
movl -0x28(%rbp), %eax
leaq 0x58d645(%rip), %rcx    # 0x5c9d90
movswl (%rcx), %ecx
cmpl %ecx, %eax
jl 0x3c766
movl -0x28(%rbp), %esi
movl -0xc(%rbp), %edx
leaq 0x9e3e5(%rip), %rdi     # 0xdab44
movb $0x0, %al
callq 0x44240
movslq -0x28(%rbp), %rcx
leaq 0x205a6f(%rip), %rax    # 0x2421e0
movq (%rax,%rcx,8), %rax
movq %rax, -0x50(%rbp)
movslq -0x28(%rbp), %rcx
leaq 0x30cd2c(%rip), %rax    # 0x3494b0
movq (%rax,%rcx,8), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
cmpl $0x0, 0x1c(%rax)
je 0x3c79b
jmp 0x3cf81
movq -0x58(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x48(%rbp)
movl -0x48(%rbp), %eax
andl 0xde6ef(%rip), %eax     # 0x11ae9c
cmpl $0x0, %eax
je 0x3c85d
movq -0x58(%rbp), %rax
movl 0x18(%rax), %eax
movl %eax, -0x1c(%rbp)
movl $0x3, -0x2c(%rbp)
movq -0x50(%rbp), %rax
movswl (%rax), %eax
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %eax
movq -0x50(%rbp), %rcx
movswl 0x2(%rcx), %ecx
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x40(%rbp)
movl -0x2c(%rbp), %eax
movq -0x58(%rbp), %rcx
imull 0x34(%rcx), %eax
sarl $0xf, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %eax
movq -0x58(%rbp), %rcx
imull 0x30(%rcx), %eax
sarl $0xd, %eax
movl %eax, -0x38(%rbp)
movl -0x44(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x40(%rbp), %eax
jg 0x3c85b
movl -0x30(%rbp), %eax
movzbl %al, %edx
movslq -0x10(%rbp), %rcx
leaq 0x20d9bb(%rip), %rax    # 0x24a1e0
movq (%rax,%rcx,8), %rax
movzbl 0x18(%rax), %ecx
addl %edx, %ecx
movb %cl, 0x18(%rax)
movl -0x38(%rbp), %eax
movzbl %al, %edx
movslq -0x10(%rbp), %rcx
leaq 0x20d99d(%rip), %rax    # 0x24a1e0
movq (%rax,%rcx,8), %rax
movzbl 0x19(%rax), %ecx
subl %edx, %ecx
movb %cl, 0x19(%rax)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x3c80c
jmp 0x3c85d
movl -0x48(%rbp), %eax
andl 0xde63a(%rip), %eax     # 0x11aea0
cmpl $0x0, %eax
je 0x3ca87
movl $0x3, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
movq -0x58(%rbp), %rcx
imull 0x34(%rcx), %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %eax
movq -0x58(%rbp), %rcx
imull 0x30(%rcx), %eax
movl %eax, -0x38(%rbp)
movslq -0x28(%rbp), %rcx
leaq 0x569aa3(%rip), %rax    # 0x5a6340
movswl (%rax,%rcx,2), %eax
movl %eax, -0x10(%rbp)
cmpl $-0x1, -0x10(%rbp)
je 0x3c913
movslq -0x10(%rbp), %rcx
leaq 0x573a9b(%rip), %rax    # 0x5b0350
movswl (%rax,%rcx,2), %eax
movl %eax, -0x14(%rbp)
movslq -0x10(%rbp), %rcx
leaq 0x13d919(%rip), %rax    # 0x17a1e0
movq (%rax,%rcx,8), %rax
movswl 0x1e(%rax), %eax
cmpl $0x4000, %eax           # imm = 0x4000
jge 0x3c90b
movl -0x30(%rbp), %eax
sarl $0xa, %eax
movl %eax, -0x34(%rbp)
movl -0x38(%rbp), %eax
sarl $0xa, %eax
movl %eax, -0x3c(%rbp)
movl -0x10(%rbp), %eax
movl -0x34(%rbp), %esi
movl -0x3c(%rbp), %edx
xorl %ecx, %ecx
movl $0x400, %r9d            # imm = 0x400
movswl %ax, %edi
movl %r9d, %r8d
movl $0x0, (%rsp)
callq 0x286d0
movl -0x14(%rbp), %eax
movl %eax, -0x10(%rbp)
jmp 0x3c8a4
leaq 0x768636(%rip), %rax    # 0x7a4f50
movl (%rax), %eax
movl %eax, -0x20(%rbp)
cmpl $0x0, -0x20(%rbp)
jl 0x3ca4f
movslq -0x20(%rbp), %rcx
leaq 0xf1dac(%rip), %rax     # 0x12e6e0
movswl (%rax,%rcx,2), %eax
cmpl -0x28(%rbp), %eax
jne 0x3ca37
movslq -0x20(%rbp), %rcx
leaq 0xf0f84(%rip), %rax     # 0x12d8d0
movl (%rax,%rcx,4), %eax
movq -0x50(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x2a00, %ecx           # imm = 0x2A00
cmpl %ecx, %eax
jl 0x3ca35
movslq -0x20(%rbp), %rax
leaq 0xf0ee1(%rip), %rdi     # 0x12d850
shlq $0x2, %rax
addq %rax, %rdi
movslq -0x20(%rbp), %rax
leaq 0xf0f0f(%rip), %rsi     # 0x12d890
shlq $0x2, %rax
addq %rax, %rsi
movslq -0x20(%rbp), %rax
leaq 0xf0f3d(%rip), %rdx     # 0x12d8d0
shlq $0x2, %rax
addq %rax, %rdx
movslq -0x20(%rbp), %rax
leaq 0xf1d3b(%rip), %rcx     # 0x12e6e0
shlq %rax
addq %rax, %rcx
movl -0x30(%rbp), %r8d
shll $0x4, %r8d
movl -0x38(%rbp), %r9d
shll $0x4, %r9d
movl $0x80, (%rsp)
movl $0x400, 0x8(%rsp)       # imm = 0x400
movl $0x400, 0x10(%rsp)      # imm = 0x400
movl $0x10001, 0x18(%rsp)    # imm = 0x10001
callq 0x6d430
movslq -0x20(%rbp), %rcx
leaq 0xf1d26(%rip), %rax     # 0x12e710
movw (%rax,%rcx,2), %ax
movslq -0x20(%rbp), %rdx
leaq 0xf0e57(%rip), %rcx     # 0x12d850
movl (%rcx,%rdx,4), %esi
movslq -0x20(%rbp), %rdx
leaq 0xf0e89(%rip), %rcx     # 0x12d890
movl (%rcx,%rdx,4), %edx
movslq -0x20(%rbp), %rdi
leaq 0xf0ebb(%rip), %rcx     # 0x12d8d0
movl (%rcx,%rdi,4), %ecx
addl $0x2a00, %ecx           # imm = 0x2A00
movswl %ax, %edi
callq 0x69af0
movslq -0x20(%rbp), %rcx
leaq 0xf1ccf(%rip), %rax     # 0x12e700
movb $0x1, (%rax,%rcx)
jmp 0x3ca37
jmp 0x3ca39
movslq -0x20(%rbp), %rcx
leaq 0x76851c(%rip), %rax    # 0x7a4f60
movl (%rax,%rcx,4), %eax
movl %eax, -0x20(%rbp)
jmp 0x3c91f
movl -0x30(%rbp), %eax
sarl $0xc, %eax
movl %eax, -0x30(%rbp)
movl -0x38(%rbp), %eax
sarl $0xc, %eax
movl %eax, -0x38(%rbp)
movl -0x30(%rbp), %eax
movzbl %al, %edx
movq -0x50(%rbp), %rax
movzbl 0x1e(%rax), %ecx
subl %edx, %ecx
movb %cl, 0x1e(%rax)
movl -0x38(%rbp), %eax
movzbl %al, %edx
movq -0x50(%rbp), %rax
movzbl 0x1f(%rax), %ecx
addl %edx, %ecx
movb %cl, 0x1f(%rax)
movl -0x48(%rbp), %eax
andl 0xde414(%rip), %eax     # 0x11aea4
cmpl $0x0, %eax
je 0x3cae4
movl $0x3, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
movq -0x58(%rbp), %rcx
imull 0x34(%rcx), %eax
sarl $0xc, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %eax
movq -0x58(%rbp), %rcx
imull 0x30(%rcx), %eax
sarl $0xc, %eax
movl %eax, -0x38(%rbp)
movl -0x30(%rbp), %eax
movzbl %al, %edx
movq -0x50(%rbp), %rax
movzbl 0x16(%rax), %ecx
subl %edx, %ecx
movb %cl, 0x16(%rax)
movl -0x38(%rbp), %eax
movzbl %al, %edx
movq -0x50(%rbp), %rax
movzbl 0x17(%rax), %ecx
addl %edx, %ecx
movb %cl, 0x17(%rax)
movq -0x58(%rbp), %rcx
movl 0x10(%rcx), %eax
subl $0x3, %eax
movl %eax, 0x10(%rcx)
cmpl $0x0, %eax
jle 0x3cafb
jmp 0x3cf81
movq -0x58(%rbp), %rax
cmpl $0x0, 0x10(%rax)
jge 0x3cb10
movq -0x58(%rbp), %rax
movl $0x0, 0x10(%rax)
movq -0x58(%rbp), %rax
movl 0x14(%rax), %ecx
movq -0x58(%rbp), %rax
addl 0x10(%rax), %ecx
movl %ecx, 0x10(%rax)
movl -0x48(%rbp), %eax
andl 0xde366(%rip), %eax     # 0x11ae90
cmpl $0x0, %eax
je 0x3cc30
movq -0x58(%rbp), %rax
movl 0x4(%rax), %edx
movq -0x50(%rbp), %rax
movsbl 0x14(%rax), %ecx
addl %edx, %ecx
movb %cl, 0x14(%rax)
movq -0x58(%rbp), %rax
movl 0x8(%rax), %eax
movq -0x58(%rbp), %rcx
cmpl 0xc(%rcx), %eax
jle 0x3cb6d
movq -0x58(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x8(%rbp)
movq -0x58(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x18(%rbp)
jmp 0x3cb81
movq -0x58(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x8(%rbp)
movq -0x58(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x18(%rbp)
movq -0x58(%rbp), %rax
cmpl $0x0, 0x4(%rax)
jge 0x3cbaf
movq -0x50(%rbp), %rax
movsbl 0x14(%rax), %eax
cmpl -0x18(%rbp), %eax
jg 0x3cbad
movq -0x58(%rbp), %rax
movl 0x4(%rax), %ecx
movl %ecx, %eax
negl %eax
cmovnsl %eax, %ecx
movq -0x58(%rbp), %rax
movl %ecx, 0x4(%rax)
jmp 0x3cbce
movq -0x50(%rbp), %rax
movsbl 0x14(%rax), %eax
cmpl -0x8(%rbp), %eax
jl 0x3cbcc
movq -0x58(%rbp), %rax
xorl %ecx, %ecx
subl 0x4(%rax), %ecx
movq -0x58(%rbp), %rax
movl %ecx, 0x4(%rax)
jmp 0x3cbce
movq -0x50(%rbp), %rax
movb 0x14(%rax), %cl
movq -0x50(%rbp), %rax
movb %cl, 0x1c(%rax)
movq -0x50(%rbp), %rax
movswl (%rax), %eax
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %eax
movq -0x50(%rbp), %rcx
movswl 0x2(%rcx), %ecx
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x40(%rbp)
movl -0x44(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x40(%rbp), %eax
jg 0x3cc2b
movq -0x50(%rbp), %rax
movb 0x14(%rax), %cl
movslq -0x10(%rbp), %rdx
leaq 0x20d5c7(%rip), %rax    # 0x24a1e0
movq (%rax,%rdx,8), %rax
movb %cl, 0x14(%rax)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x3cbff
jmp 0x3ce47
movl -0x48(%rbp), %eax
andl 0xde25b(%rip), %eax     # 0x11ae94
cmpl $0x0, %eax
je 0x3cce9
leaq 0x9df2a(%rip), %rdi     # 0xdab73
callq 0x41510
movl %eax, -0x24(%rbp)
cmpl $0x4000, -0x24(%rbp)    # imm = 0x4000
jge 0x3cc6c
movq -0x58(%rbp), %rax
movl 0x8(%rax), %eax
movb %al, %cl
movq -0x50(%rbp), %rax
movb %cl, 0x14(%rax)
jmp 0x3cc87
cmpl $0x4000, -0x24(%rbp)    # imm = 0x4000
jle 0x3cc85
movq -0x58(%rbp), %rax
movl 0xc(%rax), %eax
movb %al, %cl
movq -0x50(%rbp), %rax
movb %cl, 0x14(%rax)
jmp 0x3cc87
movq -0x50(%rbp), %rax
movb 0x14(%rax), %cl
movq -0x50(%rbp), %rax
movb %cl, 0x1c(%rax)
movq -0x50(%rbp), %rax
movswl (%rax), %eax
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %eax
movq -0x50(%rbp), %rcx
movswl 0x2(%rcx), %ecx
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x40(%rbp)
movl -0x44(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x40(%rbp), %eax
jg 0x3cce4
movq -0x50(%rbp), %rax
movb 0x14(%rax), %cl
movslq -0x10(%rbp), %rdx
leaq 0x20d50e(%rip), %rax    # 0x24a1e0
movq (%rax,%rdx,8), %rax
movb %cl, 0x14(%rax)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x3ccb8
jmp 0x3ce45
movl -0x48(%rbp), %eax
andl 0xde1b6(%rip), %eax     # 0x11aea8
cmpl $0x0, %eax
je 0x3cd9d
movq -0x50(%rbp), %rax
movsbl 0x14(%rax), %eax
movq -0x58(%rbp), %rcx
cmpl 0xc(%rcx), %eax
jne 0x3cd1e
movq -0x58(%rbp), %rax
movl 0x8(%rax), %eax
movb %al, %cl
movq -0x50(%rbp), %rax
movb %cl, 0x14(%rax)
jmp 0x3cd3b
movq -0x58(%rbp), %rax
movl 0xc(%rax), %eax
movb %al, %cl
movq -0x50(%rbp), %rax
movb %cl, 0x14(%rax)
movq -0x58(%rbp), %rax
movl 0x10(%rax), %ecx
sarl $0x2, %ecx
movl %ecx, 0x10(%rax)
movq -0x50(%rbp), %rax
movb 0x14(%rax), %cl
movq -0x50(%rbp), %rax
movb %cl, 0x1c(%rax)
movq -0x50(%rbp), %rax
movswl (%rax), %eax
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %eax
movq -0x50(%rbp), %rcx
movswl 0x2(%rcx), %ecx
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x40(%rbp)
movl -0x44(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x40(%rbp), %eax
jg 0x3cd98
movq -0x50(%rbp), %rax
movb 0x14(%rax), %cl
movslq -0x10(%rbp), %rdx
leaq 0x20d45a(%rip), %rax    # 0x24a1e0
movq (%rax,%rdx,8), %rax
movb %cl, 0x14(%rax)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x3cd6c
jmp 0x3ce43
movl -0x48(%rbp), %eax
andl 0xde106(%rip), %eax     # 0x11aeac
cmpl $0x0, %eax
je 0x3ce41
movq -0x50(%rbp), %rax
movsbl 0x14(%rax), %eax
movq -0x58(%rbp), %rcx
cmpl 0xc(%rcx), %eax
jne 0x3cdd2
movq -0x58(%rbp), %rax
movl 0x8(%rax), %eax
movb %al, %cl
movq -0x50(%rbp), %rax
movb %cl, 0x14(%rax)
jmp 0x3cde2
movq -0x58(%rbp), %rax
movl 0xc(%rax), %eax
movb %al, %cl
movq -0x50(%rbp), %rax
movb %cl, 0x14(%rax)
movq -0x50(%rbp), %rax
movb 0x14(%rax), %cl
movq -0x50(%rbp), %rax
movb %cl, 0x1c(%rax)
movq -0x50(%rbp), %rax
movswl (%rax), %eax
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %eax
movq -0x50(%rbp), %rcx
movswl 0x2(%rcx), %ecx
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x40(%rbp)
movl -0x44(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x40(%rbp), %eax
jg 0x3ce3f
movq -0x50(%rbp), %rax
movb 0x14(%rax), %cl
movslq -0x10(%rbp), %rdx
leaq 0x20d3b3(%rip), %rax    # 0x24a1e0
movq (%rax,%rdx,8), %rax
movb %cl, 0x14(%rax)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x3ce13
jmp 0x3ce41
jmp 0x3ce43
jmp 0x3ce45
jmp 0x3ce47
movl -0x48(%rbp), %eax
andl 0xde068(%rip), %eax     # 0x11aeb8
cmpl $0x0, %eax
je 0x3cf7f
movslq -0x28(%rbp), %rcx
leaq 0x20537c(%rip), %rax    # 0x2421e0
movq (%rax,%rcx,8), %rax
movl 0x8(%rax), %eax
movl %eax, -0x4(%rbp)
leaq 0x7680db(%rip), %rax    # 0x7a4f50
movl (%rax), %eax
movl %eax, -0x20(%rbp)
cmpl $0x0, -0x20(%rbp)
jl 0x3cf7d
movslq -0x20(%rbp), %rcx
leaq 0xf1851(%rip), %rax     # 0x12e6e0
movswl (%rax,%rcx,2), %eax
cmpl -0x28(%rbp), %eax
jne 0x3cf65
movslq -0x20(%rbp), %rcx
leaq 0xf0a29(%rip), %rax     # 0x12d8d0
movl (%rax,%rcx,4), %edi
subl -0x4(%rbp), %edi
callq 0x415b0
cmpl $0x2800, %eax           # imm = 0x2800
jl 0x3cec9
leaq 0x13b610(%rip), %rax    # 0x1784d0
cmpl $0x7, (%rax)
jne 0x3cf63
movslq -0x28(%rbp), %rcx
leaq 0x321a4c(%rip), %rax    # 0x35e920
movl (%rax,%rcx,4), %eax
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
je 0x3cf22
movslq -0x14(%rbp), %rcx
leaq 0x325cf6(%rip), %rax    # 0x362be0
movq (%rax,%rcx,8), %rax
cmpl $0x0, (%rax)
je 0x3cf20
movl -0x20(%rbp), %eax
movw %ax, %cx
movq -0x58(%rbp), %rax
movswl 0x38(%rax), %edx
xorl %eax, %eax
subl %edx, %eax
movswl %cx, %edi
movswl %ax, %esi
callq 0x9d40
movl -0x20(%rbp), %eax
movl $0xfffffff6, %esi       # imm = 0xFFFFFFF6
movswl %ax, %edi
callq 0x9f70
jmp 0x3cf61
movq -0x58(%rbp), %rax
movl 0x10(%rax), %eax
movq -0x58(%rbp), %rcx
cmpl 0x14(%rcx), %eax
jne 0x3cf5f
movl -0x20(%rbp), %eax
movw %ax, %cx
movq -0x58(%rbp), %rax
movswl 0x38(%rax), %edx
xorl %eax, %eax
subl %edx, %eax
movswl %cx, %edi
movswl %ax, %esi
callq 0x9d40
movl -0x20(%rbp), %eax
movl $0xfffffff6, %esi       # imm = 0xFFFFFFF6
movswl %ax, %edi
callq 0x9f70
jmp 0x3cf61
jmp 0x3cf63
jmp 0x3cf65
jmp 0x3cf67
movslq -0x20(%rbp), %rcx
leaq 0x767fee(%rip), %rax    # 0x7a4f60
movl (%rax,%rcx,4), %eax
movl %eax, -0x20(%rbp)
jmp 0x3ce7a
jmp 0x3cf7f
jmp 0x3cf81
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x3c71b
jmp 0x3cf91
leaq 0xdcf80(%rip), %rax     # 0x119f18
movzbl 0x4(%rax), %eax
cmpl $0x0, %eax
jne 0x3d012
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl 0x33a41f(%rip), %eax    # 0x3773d0
jge 0x3cfc6
movl -0xc(%rbp), %edi
callq 0x415e0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x3cfa8
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl 0x32193a(%rip), %eax    # 0x35e910
jge 0x3cfeb
movl -0xc(%rbp), %edi
callq 0x41920
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x3cfcd
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl 0x327e95(%rip), %eax    # 0x364e90
jge 0x3d010
movl -0xc(%rbp), %edi
callq 0x41eb0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x3cff2
jmp 0x3d012
callq 0x42e70
callq 0x43090
leaq 0xf07e5(%rip), %rax     # 0x12d808
movl (%rax), %eax
subl 0x33aac5(%rip), %eax    # 0x377af0
cmpl $0x78, %eax
jle 0x3d03f
leaq 0xf07a7(%rip), %rax     # 0x12d7de
movswl (%rax), %edi
callq 0x3f900
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax,%rax)