// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/src/tekspr.c
// Function: checktouchsprite
void
checktouchsprite(short snum, short sectnum)
{
     int      i, nexti;
     int       healthmax;
     char      dosound=0;
     char      str[30];

     if( (sectnum < 0) || (sectnum >= numsectors) ) {
          return;
     }

     memset(str, 0, 30);

     i = headspritesect[sectnum];
     while (i != -1)
     {
          nexti = nextspritesect[i];
          if ((labs(posx[snum]-sprite[i].x)+labs(posy[snum]-sprite[i].y) < 512) && (labs((posz[snum]>>8)-((sprite[i].z>>8)-(tilesizy[sprite[i].picnum]>>1))) <= 40))
          {
               // must jive with tekinitplayer settings
               switch( difficulty ) {
               case 3:
                    healthmax=(MAXHEALTH>>1);
                    break;
               default:
                    healthmax=MAXHEALTH;
                    break;
               }
               switch( sprite[i].picnum ) {
               case MEDICKIT2PIC:
                    if (health[snum] < healthmax) {
                         changehealth(snum,100);
                         jsdeletesprite(i);
                         strcpy(str,"MEDIC KIT");
                         dosound++;
                    }
                    break;
               case MEDICKITPIC:
                    if (health[snum] < healthmax) {
                         strcpy(str,"MEDIC KIT");
                         changehealth(snum,250);
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               case 3637:
                    if (health[snum] < healthmax) {
                         strcpy(str,"ENERGY PELLET");
                         changehealth(snum,50);
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               case DONUTSPIC:
                    if (health[snum] < healthmax) {
                         strcpy(str,"MMMMMMM DONUTS");
                         changehealth(snum,50);
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               case ACCUTRAKPIC:
                    invaccutrak[snum]=1;
                    strcpy(str,"ACCU TRAK");
                    jsdeletesprite(i);
                    dosound++;
                    break;
               // gun pick ups
               case 3092:
                    if( ((weapons[snum])&flags32[GUN2FLAG]) == 0 ) {
                         weapons[snum]|=flags32[GUN2FLAG];
                         ammo2[snum]+=25;
                         if (ammo2[snum] > MAXAMMO) {
                              ammo2[snum]=MAXAMMO;
                         }
                         strcpy(str,"PISTOL");
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               case 3094:
                    if( ((weapons[snum])&flags32[GUN3FLAG]) == 0 ) {
                         weapons[snum]|=flags32[GUN3FLAG];
                         ammo3[snum]+=15;
                         if (ammo3[snum] > MAXAMMO) {
                              ammo3[snum]=MAXAMMO;
                         }
                         strcpy(str,"SHRIKE DBK");
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               case 3093:
                    if( ((weapons[snum])&flags32[GUN4FLAG]) == 0 ) {
                         weapons[snum]|=flags32[GUN4FLAG];
                         ammo4[snum]+=15;
                         if (ammo4[snum] > MAXAMMO) {
                              ammo4[snum]=MAXAMMO;
                         }
                         strcpy(str,"ORLOW");
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               case 3095:
                    if( ((weapons[snum])&flags32[GUN5FLAG]) == 0 ) {
                         weapons[snum]|=flags32[GUN5FLAG];
                         ammo5[snum]+=15;
                         if (ammo5[snum] > MAXAMMO) {
                              ammo5[snum]=MAXAMMO;
                         }
                         strcpy(str,"EMP GUN");
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               case 3091:
                    if( ((weapons[snum])&flags32[GUN6FLAG]) == 0 ) {
                         weapons[snum]|=flags32[GUN6FLAG];
                         ammo6[snum]+=15;
                         if (ammo6[snum] > MAXAMMO) {
                              ammo6[snum]=MAXAMMO;
                         }
                         strcpy(str,"FLAMER");
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               case 3090:
                    if( ((weapons[snum])&flags32[GUN7FLAG]) == 0 ) {
                         weapons[snum]|=flags32[GUN7FLAG];
                         ammo7[snum]+=10;
                         if (ammo7[snum] > MAXAMMO) {
                              ammo7[snum]=MAXAMMO;
                         }
                         strcpy(str,"BAZOOKA");
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               // ammo pick ups
               case 924:
               case 3102:
                    if( (ammo2[snum] < MAXAMMO) ) { // && ((weapons[snum]&flags32[GUN2FLAG]) != 0) ) {
                         ammo2[snum]+=20;
                         if( ammo2[snum] > MAXAMMO ) {
                              ammo2[snum]=MAXAMMO;
                         }
                         strcpy(str,"PISTOL KLIP");
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               case 3104:
                    if( (ammo3[snum] < MAXAMMO) ) { // && ((weapons[snum]&flags32[GUN3FLAG]) != 0) ) {
                         ammo3[snum]+=10;
                         if( ammo3[snum] > MAXAMMO ) {
                              ammo3[snum]=MAXAMMO;
                         }
                         strcpy(str,"SHRIKE CHARGES");
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               case 3103:
                    if( (ammo4[snum] < MAXAMMO) ) { // && ((weapons[snum]&flags32[GUN4FLAG]) != 0) ) {
                         ammo4[snum]+=10;
                         if( ammo4[snum] > MAXAMMO ) {
                              ammo4[snum]=MAXAMMO;
                         }
                         strcpy(str,"ORLOW CHARGES");
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               case 925:
               case 3101:
                    if( (ammo6[snum] < MAXAMMO) ) { // && ((weapons[snum]&flags32[GUN6FLAG]) != 0) ) {
                         ammo6[snum]+=10;
                         if( ammo6[snum] > MAXAMMO ) {
                              ammo6[snum]=MAXAMMO;
                         }
                         strcpy(str,"FUEL BOTTLE");
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               case CHARGEPAKPIC:
               case 3100:
                    if( (ammo7[snum] < MAXAMMO) ) { // && ((weapons[snum]&flags32[GUN7FLAG]) != 0) ) {
                         ammo7[snum]+=5;
                         if( ammo7[snum] > MAXAMMO ) {
                              ammo7[snum]=MAXAMMO;
                         }
                         strcpy(str,"BAZOOKA FUEL");
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               case 3836:
                    if( (ammo8[snum] < MAXAMMO) ) {
                         ammo8[snum]+=25;
                         if( ammo8[snum] > MAXAMMO ) {
                              ammo8[snum]=MAXAMMO;
                         }
                         strcpy(str,"GLOVE CHARGE");
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;

#if 0
               case CHARGEPAKPIC:
                    if (health[snum] < healthmax) {
                         strcpy(str,"HEALTH CHARGE PACK");
                         changehealth(snum,50);
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
#endif
               case RED_KEYCARD:
                    if( invredcards[snum] == 0 ) {
                         strcpy(str,"RED KEY CARD");
                         invredcards[snum]=1;
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               case BLUE_KEYCARD:
                    if( invbluecards[snum] == 0 ) {
                         strcpy(str,"BLUE KEY CARD");
                         invbluecards[snum]=1;
                         jsdeletesprite(i);
                         dosound++;
                    }
                    break;
               default:
                    break;
               }
          }
          if( dosound && (screenpeek == snum) ) {
               playsound(S_PICKUP_BONUS,0,0,0,ST_UNIQUE);
               showmessage(str);
          }
          dosound=0;

          i = nexti;
     }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movw %si, %ax
movw %di, %cx
movw %cx, -0x2(%rbp)
movw %ax, -0x4(%rbp)
movb $0x0, -0x11(%rbp)
movswl -0x4(%rbp), %eax
cmpl $0x0, %eax
jl 0x296f5
movswl -0x4(%rbp), %eax
leaq 0x5a06a2(%rip), %rcx    # 0x5c9d90
movswl (%rcx), %ecx
cmpl %ecx, %eax
jl 0x296fa
jmp 0x2a349
leaq -0x30(%rbp), %rdi
xorl %esi, %esi
movl $0x1e, %edx
callq 0x8410
movswq -0x4(%rbp), %rcx
leaq 0x57cc2a(%rip), %rax    # 0x5a6340
movswl (%rax,%rcx,2), %eax
movl %eax, -0x8(%rbp)
cmpl $-0x1, -0x8(%rbp)
je 0x2a349
movslq -0x8(%rbp), %rcx
leaq 0x586c1e(%rip), %rax    # 0x5b0350
movswl (%rax,%rcx,2), %eax
movl %eax, -0xc(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x10410b(%rip), %rax    # 0x12d850
movl (%rax,%rcx,4), %eax
movslq -0x8(%rbp), %rdx
leaq 0x44d38d(%rip), %rcx    # 0x476ae0
imulq $0x2c, %rdx, %rdx
addq %rdx, %rcx
subl (%rcx), %eax
cltq
movq %rax, %rcx
negq %rcx
cmovnsq %rcx, %rax
movswq -0x2(%rbp), %rdx
leaq 0x10411c(%rip), %rcx    # 0x12d890
movl (%rcx,%rdx,4), %ecx
movslq -0x8(%rbp), %rsi
leaq 0x44d35e(%rip), %rdx    # 0x476ae0
imulq $0x2c, %rsi, %rsi
addq %rsi, %rdx
subl 0x4(%rdx), %ecx
movslq %ecx, %rcx
movq %rcx, %rdx
negq %rdx
cmovnsq %rdx, %rcx
addq %rcx, %rax
cmpq $0x200, %rax            # imm = 0x200
jge 0x2a2fe
movswq -0x2(%rbp), %rcx
leaq 0x10411c(%rip), %rax    # 0x12d8d0
movl (%rax,%rcx,4), %eax
sarl $0x8, %eax
movslq -0x8(%rbp), %rdx
leaq 0x44d31b(%rip), %rcx    # 0x476ae0
imulq $0x2c, %rdx, %rdx
addq %rdx, %rcx
movl 0x8(%rcx), %ecx
sarl $0x8, %ecx
movslq -0x8(%rbp), %rsi
leaq 0x44d303(%rip), %rdx    # 0x476ae0
imulq $0x2c, %rsi, %rsi
addq %rsi, %rdx
movswq 0xe(%rdx), %rsi
leaq 0x5d0020(%rip), %rdx    # 0x5f9810
movswl (%rdx,%rsi,2), %edx
sarl %edx
subl %edx, %ecx
subl %ecx, %eax
cltq
movq %rax, %rcx
negq %rcx
cmovnsq %rcx, %rax
cmpq $0x28, %rax
jg 0x2a2fe
leaq 0x1507b1(%rip), %rax    # 0x179fc8
movl (%rax), %eax
subl $0x3, %eax
jne 0x29829
jmp 0x29820
movl $0x1f4, -0x10(%rbp)     # imm = 0x1F4
jmp 0x29830
movl $0x3e8, -0x10(%rbp)     # imm = 0x3E8
movslq -0x8(%rbp), %rax
imulq $0x2c, %rax, %rcx
leaq 0x44d2a1(%rip), %rax    # 0x476ae0
movswl 0xe(%rax,%rcx), %eax
movl %eax, -0x34(%rbp)
subl $0x153, %eax            # imm = 0x153
je 0x29acf
jmp 0x29854
movl -0x34(%rbp), %eax
subl $0x15a, %eax            # imm = 0x15A
je 0x2a266
jmp 0x29864
movl -0x34(%rbp), %eax
subl $0x15b, %eax            # imm = 0x15B
je 0x2a2b0
jmp 0x29874
movl -0x34(%rbp), %eax
subl $0x39a, %eax            # imm = 0x39A
je 0x299f1
jmp 0x29884
movl -0x34(%rbp), %eax
subl $0x39b, %eax            # imm = 0x39B
je 0x299a7
jmp 0x29894
movl -0x34(%rbp), %eax
subl $0x39c, %eax            # imm = 0x39C
je 0x29f48
jmp 0x298a4
movl -0x34(%rbp), %eax
subl $0x39d, %eax            # imm = 0x39D
je 0x2a0d7
jmp 0x298b4
movl -0x34(%rbp), %eax
subl $0x599, %eax            # imm = 0x599
je 0x2a15c
jmp 0x298c4
movl -0x34(%rbp), %eax
subl $0x5ad, %eax            # imm = 0x5AD
je 0x29a85
jmp 0x298d4
movl -0x34(%rbp), %eax
subl $0xc12, %eax            # imm = 0xC12
je 0x29e93
jmp 0x298e4
movl -0x34(%rbp), %eax
subl $0xc13, %eax            # imm = 0xC13
je 0x29dde
jmp 0x298f4
movl -0x34(%rbp), %eax
subl $0xc14, %eax            # imm = 0xC14
je 0x29b0a
jmp 0x29904
movl -0x34(%rbp), %eax
subl $0xc15, %eax            # imm = 0xC15
je 0x29c74
jmp 0x29914
movl -0x34(%rbp), %eax
subl $0xc16, %eax            # imm = 0xC16
je 0x29bbf
jmp 0x29924
movl -0x34(%rbp), %eax
subl $0xc17, %eax            # imm = 0xC17
je 0x29d29
jmp 0x29934
movl -0x34(%rbp), %eax
subl $0xc1c, %eax            # imm = 0xC1C
je 0x2a15c
jmp 0x29944
movl -0x34(%rbp), %eax
subl $0xc1d, %eax            # imm = 0xC1D
je 0x2a0d7
jmp 0x29954
movl -0x34(%rbp), %eax
subl $0xc1e, %eax            # imm = 0xC1E
je 0x29f48
jmp 0x29964
movl -0x34(%rbp), %eax
subl $0xc1f, %eax            # imm = 0xC1F
je 0x2a052
jmp 0x29974
movl -0x34(%rbp), %eax
subl $0xc20, %eax            # imm = 0xC20
je 0x29fcd
jmp 0x29984
movl -0x34(%rbp), %eax
subl $0xe35, %eax            # imm = 0xE35
je 0x29a3b
jmp 0x29994
movl -0x34(%rbp), %eax
subl $0xefc, %eax            # imm = 0xEFC
je 0x2a1e1
jmp 0x2a2fa
movswq -0x2(%rbp), %rcx
leaq 0x103f5d(%rip), %rax    # 0x12d910
movl (%rax,%rcx,4), %eax
cmpl -0x10(%rbp), %eax
jge 0x299ec
movl $0x64, %esi
movswl -0x2(%rbp), %edi
callq 0x9d40
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
leaq -0x30(%rbp), %rdi
leaq 0xb0721(%rip), %rsi     # 0xda100
callq 0x8550
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x103f13(%rip), %rax    # 0x12d910
movl (%rax,%rcx,4), %eax
cmpl -0x10(%rbp), %eax
jge 0x29a36
leaq -0x30(%rbp), %rdi
leaq 0xb06f0(%rip), %rsi     # 0xda100
callq 0x8550
movl $0xfa, %esi
movswl -0x2(%rbp), %edi
callq 0x9d40
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x103ec9(%rip), %rax    # 0x12d910
movl (%rax,%rcx,4), %eax
cmpl -0x10(%rbp), %eax
jge 0x29a80
leaq -0x30(%rbp), %rdi
leaq 0xb06b0(%rip), %rsi     # 0xda10a
callq 0x8550
movl $0x32, %esi
movswl -0x2(%rbp), %edi
callq 0x9d40
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x103e7f(%rip), %rax    # 0x12d910
movl (%rax,%rcx,4), %eax
cmpl -0x10(%rbp), %eax
jge 0x29aca
leaq -0x30(%rbp), %rdi
leaq 0xb0674(%rip), %rsi     # 0xda118
callq 0x8550
movl $0x32, %esi
movswl -0x2(%rbp), %edi
callq 0x9d40
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x1502e5(%rip), %rax    # 0x179dc0
movl $0x1, (%rax,%rcx,4)
leaq -0x30(%rbp), %rdi
leaq 0xb063a(%rip), %rsi     # 0xda127
callq 0x8550
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x14e92a(%rip), %rax    # 0x178440
movl (%rax,%rcx,4), %eax
leaq 0xf1370(%rip), %rcx     # 0x11ae90
andl 0x8(%rcx), %eax
cmpl $0x0, %eax
jne 0x29bba
leaq 0xf135d(%rip), %rax     # 0x11ae90
movl 0x8(%rax), %edx
movswq -0x2(%rbp), %rcx
leaq 0x14e8fe(%rip), %rax    # 0x178440
orl (%rax,%rcx,4), %edx
leaq 0x14e8f4(%rip), %rax    # 0x178440
movl %edx, (%rax,%rcx,4)
movswq -0x2(%rbp), %rcx
leaq 0x14e665(%rip), %rax    # 0x1781c0
movswl (%rax,%rcx,2), %eax
addl $0x19, %eax
movw %ax, %dx
leaq 0x14e654(%rip), %rax    # 0x1781c0
movw %dx, (%rax,%rcx,2)
movswq -0x2(%rbp), %rcx
leaq 0x14e644(%rip), %rax    # 0x1781c0
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jle 0x29b97
movswq -0x2(%rbp), %rcx
leaq 0x14e62f(%rip), %rax    # 0x1781c0
movw $0x64, (%rax,%rcx,2)
leaq -0x30(%rbp), %rdi
leaq 0xb058f(%rip), %rsi     # 0xda131
callq 0x8550
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x14e875(%rip), %rax    # 0x178440
movl (%rax,%rcx,4), %eax
leaq 0xf12bb(%rip), %rcx     # 0x11ae90
andl 0xc(%rcx), %eax
cmpl $0x0, %eax
jne 0x29c6f
leaq 0xf12a8(%rip), %rax     # 0x11ae90
movl 0xc(%rax), %edx
movswq -0x2(%rbp), %rcx
leaq 0x14e849(%rip), %rax    # 0x178440
orl (%rax,%rcx,4), %edx
leaq 0x14e83f(%rip), %rax    # 0x178440
movl %edx, (%rax,%rcx,4)
movswq -0x2(%rbp), %rcx
leaq 0x14e5d0(%rip), %rax    # 0x1781e0
movswl (%rax,%rcx,2), %eax
addl $0xf, %eax
movw %ax, %dx
leaq 0x14e5bf(%rip), %rax    # 0x1781e0
movw %dx, (%rax,%rcx,2)
movswq -0x2(%rbp), %rcx
leaq 0x14e5af(%rip), %rax    # 0x1781e0
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jle 0x29c4c
movswq -0x2(%rbp), %rcx
leaq 0x14e59a(%rip), %rax    # 0x1781e0
movw $0x64, (%rax,%rcx,2)
leaq -0x30(%rbp), %rdi
leaq 0xb04e1(%rip), %rsi     # 0xda138
callq 0x8550
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x14e7c0(%rip), %rax    # 0x178440
movl (%rax,%rcx,4), %eax
leaq 0xf1206(%rip), %rcx     # 0x11ae90
andl 0x10(%rcx), %eax
cmpl $0x0, %eax
jne 0x29d24
leaq 0xf11f3(%rip), %rax     # 0x11ae90
movl 0x10(%rax), %edx
movswq -0x2(%rbp), %rcx
leaq 0x14e794(%rip), %rax    # 0x178440
orl (%rax,%rcx,4), %edx
leaq 0x14e78a(%rip), %rax    # 0x178440
movl %edx, (%rax,%rcx,4)
movswq -0x2(%rbp), %rcx
leaq 0x14e53b(%rip), %rax    # 0x178200
movswl (%rax,%rcx,2), %eax
addl $0xf, %eax
movw %ax, %dx
leaq 0x14e52a(%rip), %rax    # 0x178200
movw %dx, (%rax,%rcx,2)
movswq -0x2(%rbp), %rcx
leaq 0x14e51a(%rip), %rax    # 0x178200
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jle 0x29d01
movswq -0x2(%rbp), %rcx
leaq 0x14e505(%rip), %rax    # 0x178200
movw $0x64, (%rax,%rcx,2)
leaq -0x30(%rbp), %rdi
leaq 0xb0437(%rip), %rsi     # 0xda143
callq 0x8550
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x14e70b(%rip), %rax    # 0x178440
movl (%rax,%rcx,4), %eax
leaq 0xf1151(%rip), %rcx     # 0x11ae90
andl 0x14(%rcx), %eax
cmpl $0x0, %eax
jne 0x29dd9
leaq 0xf113e(%rip), %rax     # 0x11ae90
movl 0x14(%rax), %edx
movswq -0x2(%rbp), %rcx
leaq 0x14e6df(%rip), %rax    # 0x178440
orl (%rax,%rcx,4), %edx
leaq 0x14e6d5(%rip), %rax    # 0x178440
movl %edx, (%rax,%rcx,4)
movswq -0x2(%rbp), %rcx
leaq 0x14e4a6(%rip), %rax    # 0x178220
movswl (%rax,%rcx,2), %eax
addl $0xf, %eax
movw %ax, %dx
leaq 0x14e495(%rip), %rax    # 0x178220
movw %dx, (%rax,%rcx,2)
movswq -0x2(%rbp), %rcx
leaq 0x14e485(%rip), %rax    # 0x178220
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jle 0x29db6
movswq -0x2(%rbp), %rcx
leaq 0x14e470(%rip), %rax    # 0x178220
movw $0x64, (%rax,%rcx,2)
leaq -0x30(%rbp), %rdi
leaq 0xb0388(%rip), %rsi     # 0xda149
callq 0x8550
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x14e656(%rip), %rax    # 0x178440
movl (%rax,%rcx,4), %eax
leaq 0xf109c(%rip), %rcx     # 0x11ae90
andl 0x18(%rcx), %eax
cmpl $0x0, %eax
jne 0x29e8e
leaq 0xf1089(%rip), %rax     # 0x11ae90
movl 0x18(%rax), %edx
movswq -0x2(%rbp), %rcx
leaq 0x14e62a(%rip), %rax    # 0x178440
orl (%rax,%rcx,4), %edx
leaq 0x14e620(%rip), %rax    # 0x178440
movl %edx, (%rax,%rcx,4)
movswq -0x2(%rbp), %rcx
leaq 0x14e411(%rip), %rax    # 0x178240
movswl (%rax,%rcx,2), %eax
addl $0xf, %eax
movw %ax, %dx
leaq 0x14e400(%rip), %rax    # 0x178240
movw %dx, (%rax,%rcx,2)
movswq -0x2(%rbp), %rcx
leaq 0x14e3f0(%rip), %rax    # 0x178240
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jle 0x29e6b
movswq -0x2(%rbp), %rcx
leaq 0x14e3db(%rip), %rax    # 0x178240
movw $0x64, (%rax,%rcx,2)
leaq -0x30(%rbp), %rdi
leaq 0xb02db(%rip), %rsi     # 0xda151
callq 0x8550
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x14e5a1(%rip), %rax    # 0x178440
movl (%rax,%rcx,4), %eax
leaq 0xf0fe7(%rip), %rcx     # 0x11ae90
andl 0x1c(%rcx), %eax
cmpl $0x0, %eax
jne 0x29f43
leaq 0xf0fd4(%rip), %rax     # 0x11ae90
movl 0x1c(%rax), %edx
movswq -0x2(%rbp), %rcx
leaq 0x14e575(%rip), %rax    # 0x178440
orl (%rax,%rcx,4), %edx
leaq 0x14e56b(%rip), %rax    # 0x178440
movl %edx, (%rax,%rcx,4)
movswq -0x2(%rbp), %rcx
leaq 0x14e37c(%rip), %rax    # 0x178260
movswl (%rax,%rcx,2), %eax
addl $0xa, %eax
movw %ax, %dx
leaq 0x14e36b(%rip), %rax    # 0x178260
movw %dx, (%rax,%rcx,2)
movswq -0x2(%rbp), %rcx
leaq 0x14e35b(%rip), %rax    # 0x178260
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jle 0x29f20
movswq -0x2(%rbp), %rcx
leaq 0x14e346(%rip), %rax    # 0x178260
movw $0x64, (%rax,%rcx,2)
leaq -0x30(%rbp), %rdi
leaq 0xb022d(%rip), %rsi     # 0xda158
callq 0x8550
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x14e26c(%rip), %rax    # 0x1781c0
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jge 0x29fc8
movswq -0x2(%rbp), %rcx
leaq 0x14e257(%rip), %rax    # 0x1781c0
movswl (%rax,%rcx,2), %eax
addl $0x14, %eax
movw %ax, %dx
leaq 0x14e246(%rip), %rax    # 0x1781c0
movw %dx, (%rax,%rcx,2)
movswq -0x2(%rbp), %rcx
leaq 0x14e236(%rip), %rax    # 0x1781c0
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jle 0x29fa5
movswq -0x2(%rbp), %rcx
leaq 0x14e221(%rip), %rax    # 0x1781c0
movw $0x64, (%rax,%rcx,2)
leaq -0x30(%rbp), %rdi
leaq 0xb01b0(%rip), %rsi     # 0xda160
callq 0x8550
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x14e207(%rip), %rax    # 0x1781e0
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jge 0x2a04d
movswq -0x2(%rbp), %rcx
leaq 0x14e1f2(%rip), %rax    # 0x1781e0
movswl (%rax,%rcx,2), %eax
addl $0xa, %eax
movw %ax, %dx
leaq 0x14e1e1(%rip), %rax    # 0x1781e0
movw %dx, (%rax,%rcx,2)
movswq -0x2(%rbp), %rcx
leaq 0x14e1d1(%rip), %rax    # 0x1781e0
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jle 0x2a02a
movswq -0x2(%rbp), %rcx
leaq 0x14e1bc(%rip), %rax    # 0x1781e0
movw $0x64, (%rax,%rcx,2)
leaq -0x30(%rbp), %rdi
leaq 0xb0137(%rip), %rsi     # 0xda16c
callq 0x8550
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x14e1a2(%rip), %rax    # 0x178200
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jge 0x2a0d2
movswq -0x2(%rbp), %rcx
leaq 0x14e18d(%rip), %rax    # 0x178200
movswl (%rax,%rcx,2), %eax
addl $0xa, %eax
movw %ax, %dx
leaq 0x14e17c(%rip), %rax    # 0x178200
movw %dx, (%rax,%rcx,2)
movswq -0x2(%rbp), %rcx
leaq 0x14e16c(%rip), %rax    # 0x178200
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jle 0x2a0af
movswq -0x2(%rbp), %rcx
leaq 0x14e157(%rip), %rax    # 0x178200
movw $0x64, (%rax,%rcx,2)
leaq -0x30(%rbp), %rdi
leaq 0xb00c1(%rip), %rsi     # 0xda17b
callq 0x8550
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x14e15d(%rip), %rax    # 0x178240
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jge 0x2a157
movswq -0x2(%rbp), %rcx
leaq 0x14e148(%rip), %rax    # 0x178240
movswl (%rax,%rcx,2), %eax
addl $0xa, %eax
movw %ax, %dx
leaq 0x14e137(%rip), %rax    # 0x178240
movw %dx, (%rax,%rcx,2)
movswq -0x2(%rbp), %rcx
leaq 0x14e127(%rip), %rax    # 0x178240
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jle 0x2a134
movswq -0x2(%rbp), %rcx
leaq 0x14e112(%rip), %rax    # 0x178240
movw $0x64, (%rax,%rcx,2)
leaq -0x30(%rbp), %rdi
leaq 0xb004a(%rip), %rsi     # 0xda189
callq 0x8550
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x14e0f8(%rip), %rax    # 0x178260
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jge 0x2a1dc
movswq -0x2(%rbp), %rcx
leaq 0x14e0e3(%rip), %rax    # 0x178260
movswl (%rax,%rcx,2), %eax
addl $0x5, %eax
movw %ax, %dx
leaq 0x14e0d2(%rip), %rax    # 0x178260
movw %dx, (%rax,%rcx,2)
movswq -0x2(%rbp), %rcx
leaq 0x14e0c2(%rip), %rax    # 0x178260
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jle 0x2a1b9
movswq -0x2(%rbp), %rcx
leaq 0x14e0ad(%rip), %rax    # 0x178260
movw $0x64, (%rax,%rcx,2)
leaq -0x30(%rbp), %rdi
leaq 0xaffd1(%rip), %rsi     # 0xda195
callq 0x8550
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x14e093(%rip), %rax    # 0x178280
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jge 0x2a261
movswq -0x2(%rbp), %rcx
leaq 0x14e07e(%rip), %rax    # 0x178280
movswl (%rax,%rcx,2), %eax
addl $0x19, %eax
movw %ax, %dx
leaq 0x14e06d(%rip), %rax    # 0x178280
movw %dx, (%rax,%rcx,2)
movswq -0x2(%rbp), %rcx
leaq 0x14e05d(%rip), %rax    # 0x178280
movswl (%rax,%rcx,2), %eax
cmpl $0x64, %eax
jle 0x2a23e
movswq -0x2(%rbp), %rcx
leaq 0x14e048(%rip), %rax    # 0x178280
movw $0x64, (%rax,%rcx,2)
leaq -0x30(%rbp), %rdi
leaq 0xaff59(%rip), %rsi     # 0xda1a2
callq 0x8550
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x14face(%rip), %rax    # 0x179d40
cmpl $0x0, (%rax,%rcx,4)
jne 0x2a2ae
leaq -0x30(%rbp), %rdi
leaq 0xaff2c(%rip), %rsi     # 0xda1af
callq 0x8550
movswq -0x2(%rbp), %rcx
leaq 0x14faac(%rip), %rax    # 0x179d40
movl $0x1, (%rax,%rcx,4)
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
movswq -0x2(%rbp), %rcx
leaq 0x14fac4(%rip), %rax    # 0x179d80
cmpl $0x0, (%rax,%rcx,4)
jne 0x2a2f8
leaq -0x30(%rbp), %rdi
leaq 0xafeef(%rip), %rsi     # 0xda1bc
callq 0x8550
movswq -0x2(%rbp), %rcx
leaq 0x14faa2(%rip), %rax    # 0x179d80
movl $0x1, (%rax,%rcx,4)
movl -0x8(%rbp), %eax
movswl %ax, %edi
callq 0x2ae00
movb -0x11(%rbp), %al
addb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x2a2fc
jmp 0x2a2fc
jmp 0x2a2fe
movsbl -0x11(%rbp), %eax
cmpl $0x0, %eax
je 0x2a33a
leaq 0x1034d0(%rip), %rax    # 0x12d7de
movswl (%rax), %eax
movswl -0x2(%rbp), %ecx
cmpl %ecx, %eax
jne 0x2a33a
movl $0x6e, %edi
xorl %ecx, %ecx
movl $0x8, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x26af0
leaq -0x30(%rbp), %rdi
movb $0x0, %al
callq 0x1a150
movb $0x0, -0x11(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x8(%rbp)
jmp 0x2971d
addq $0x40, %rsp
popq %rbp
retq
nop