// File: /workspace/github_c_makefile_star2_O1/jonof[P]jftekwar/src/tekstat.c
// Function: newstatus
void
newstatus(short sn, int  seq)
{
     short     newpic;
     short     ext;
     int      zoffs;

    #ifdef PLRSPRDEBUG
     if( isaplayersprite(sn) ) {
          crashgame("messing w plrsprite at 11");
     }
    #else
     if( isaplayersprite(sn) ) {
          return;
     }
    #endif

     ext=sprptr[sn]->extra;
     if( !validext(ext) ) {
          noextcrashgame(sn, 0);
     }

     switch( seq ) {
          case INANIMATE:
               changespritestat(sn, INANIMATE);
              #ifdef NEWSTAT_DEBUG
               showmessage("INANIMATE");
              #endif
               break;
          case INACTIVE:
               changespritestat(sn, INACTIVE);
              #ifdef NEWSTAT_DEBUG
               showmessage("INACTIVE");
              #endif
               break;
          case FLOATING:
               if( sectptr[sprptr[sn]->sectnum]->lotag  == 4 ) {
          	     if( (sprptr[sn]->cstat&128) == 0 ) {
		               zoffs = -((tilesizy[sprptr[sn]->picnum]*sprptr[sn]->yrepeat)<<1);
                    }
          	     else {
		               zoffs = 0;
                    }
                    sprptr[sn]->z=sectptr[sprptr[sn]->sectnum]->floorz-zoffs;
                    sprptr[sn]->lotag=0;
                    sprptr[sn]->hitag=0;
                    sprptr[sn]->xvel=1;
                    sprptr[sn]->yvel=1;
                    changespritestat(sn, FLOATING);
               }
               else {
                    sprptr[sn]->z=sectptr[sprptr[sn]->sectnum]->floorz;
                    changespritestat(sn, INACTIVE);
               }
               break;
          case GUARD:
               newpic=sprXTptr[ext]->walkpic;
               if( newpic != NO_PIC ) {
                    changespritestat(sn, GUARD);
                    sprptr[sn]->lotag=0;
                    sprptr[sn]->picnum=newpic;
                    sprXTptr[ext]->basestat=GUARD;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("GUARD");
                   #endif
               }
               break;
          case PATROL:
               newpic=sprXTptr[ext]->walkpic;
               if( newpic != NO_PIC ) {
                    changespritestat(sn, PATROL);
                    sprptr[sn]->lotag=0;
                    sprptr[sn]->picnum=newpic;
                    sprXTptr[ext]->basestat=PATROL;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("PATROL");
                   #endif
               }
               break;
          case PINBALL:
               newpic=sprXTptr[ext]->walkpic;
               if( newpic != NO_PIC ) {
                    changespritestat(sn, PINBALL);
                    sprptr[sn]->picnum=newpic;
                    sprXTptr[ext]->basestat=PINBALL;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("PINBALL");
                   #endif
               }
               break;
          case STROLL:
               newpic=sprXTptr[ext]->walkpic;
               if( newpic != NO_PIC ) {
                    changespritestat(sn, STROLL);
                    sprptr[sn]->lotag=0;
                    sprptr[sn]->picnum=newpic;
                    sprXTptr[ext]->basestat=STROLL;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("STROLL");
                   #endif
               }
               break;
          case CHASE:
               newpic=sprXTptr[ext]->runpic;
               if( newpic != NO_PIC ) {
                    changespritestat(sn, CHASE);
                    sprptr[sn]->lotag=0;
                    sprptr[sn]->picnum=newpic;
                    sprXTptr[ext]->basestat=CHASE;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("CHASE");
                   #endif
               }
               break;
          case FLEE:
               newpic=sprXTptr[ext]->runpic;
               if( newpic != NO_PIC ) {
                    changespritestat(sn, FLEE);
                    sprptr[sn]->lotag=0;
                    sprptr[sn]->picnum=newpic;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("FLEE");
                   #endif
               }
               break;
          case ATTACK:
               // standard 5 angles, 2 frames/angle
               newpic=sprXTptr[ext]->attackpic;
               if( newpic != NO_PIC ) {
                    changespritestat(sn,ATTACK);
                    sprptr[sn]->picnum=newpic;
                    switch( sprXTptr[ext]->weapon ) {
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                         sprptr[sn]->lotag=32;
                         sprptr[sn]->hitag=32;
                         break;
                    default:
                         sprptr[sn]->lotag=64;
                         sprptr[sn]->hitag=64;
                         break;
                    }
                   #ifdef NEWSTAT_DEBUG
                    showmessage("ATTACK");
                   #endif
               }
               break;
          case DELAYEDATTACK:
               // standard 5 angles, 2 frames/angle
               sprptr[sn]->lotag=95;
               changespritestat(sn, DELAYEDATTACK);
              #ifdef NEWSTAT_DEBUG
               showmessage("DELAYED ATTACK");
              #endif
               break;
          case STALK:
               newpic=sprXTptr[ext]->runpic;
               if( newpic != NO_PIC ) {
                    changespritestat(sn, STALK);
                    sprptr[sn]->lotag=0;
                    sprptr[sn]->picnum=newpic;
                    sprXTptr[ext]->basestat=STALK;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("STALK");
                   #endif
               }
               break;
          case SQUAT:
               newpic=sprXTptr[ext]->squatpic;
               if ( newpic != NO_PIC ) {
                    changespritestat(sn, SQUAT);
                    // standard 3 frames
                    // stay squat for 4 TICSPERFRAME
                    sprptr[sn]->lotag=47;
                    sprptr[sn]->hitag=64;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("SQUAT");
                   #endif
               }
               break;
          case UNSQUAT:
               newpic=sprXTptr[ext]->squatpic;
               if ( newpic != NO_PIC ) {
                    changespritestat(sn, UNSQUAT);
                    sprptr[sn]->lotag=47;
                    sprptr[sn]->hitag=0;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("UNSQUAT");
                   #endif
               }
               break;
          case DODGE:
               newpic=sprXTptr[ext]->squatpic;
               if ( newpic != NO_PIC ) {
                    changespritestat(sn, SQUAT);
                    // standard 2 frames
                    sprptr[sn]->lotag=31;
                    sprptr[sn]->hitag=0;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("DODGE");
                   #endif
               }
               break;
          case UNDODGE:
               newpic=sprXTptr[ext]->squatpic;
               if ( newpic != NO_PIC ) {
                    changespritestat(sn, UNSQUAT);
                    sprptr[sn]->lotag=31;
                    sprptr[sn]->hitag=0;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("UNDODGE");
                   #endif
               }
               break;
          case HIDE:
               newpic=sprXTptr[ext]->squatpic;
               if ( newpic != NO_PIC ) {
                    changespritestat(sn, HIDE);
                    // standard 2 frames
                    sprptr[sn]->lotag=31;
                    sprptr[sn]->hitag=256;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("HIDE");
                   #endif
               }
               break;
          case UNHIDE:
               newpic=sprXTptr[ext]->squatpic;
               if ( newpic != NO_PIC ) {
                    changespritestat(sn, UNHIDE);
                    sprptr[sn]->lotag=31;
                    sprptr[sn]->hitag=0;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("UNHIDE");
                   #endif
               }
               break;
          case PAIN:
               newpic=sprXTptr[ext]->painpic;
               if ( newpic != 0 ) {
                    changespritestat(sn,PAIN);
                    sprptr[sn]->picnum=newpic;
                    sprptr[sn]->lotag=16;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("PAIN");
                   #endif
               }
               break;
          case STANDING:
               newpic=sprXTptr[ext]->standpic;
               if( newpic != 0 ) {
                    sprptr[sn]->picnum=newpic;
                    if( sprptr[sn]->lotag <= 0 ) {
                         sprptr[sn]->lotag=((krand_intercept("STAT1732"))&1024);
                    }
                    changespritestat(sn, STANDING);
                   #ifdef NEWSTAT_DEBUG
                    showmessage("STANDING");
                   #endif
               }
               break;
          case FLY:
               newpic=sprXTptr[ext]->runpic;
               if( newpic != NO_PIC ) {
                    changespritestat(sn, FLY);
                    sprptr[sn]->lotag=0;
                    sprptr[sn]->picnum=newpic;
                    sprXTptr[ext]->basestat=FLY;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("FLY");
                   #endif
               }
               break;
          case RODENT:
               newpic=sprXTptr[ext]->runpic;
               if( newpic != NO_PIC ) {
                    changespritestat(sn, RODENT);
                    sprptr[sn]->lotag=0;
                    sprptr[sn]->picnum=newpic;
                    sprXTptr[ext]->basestat=RODENT;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("RODENT");
                   #endif
               }
               break;
          case MORPH:
               if ( sprXTptr[ext]->morphpic != 0 ) {
                    changespritestat(sn,MORPH);
                    sprptr[sn]->lotag=95;
                   #ifdef NEWSTAT_DEBUG
                    showmessage("MORPH");
                   #endif
               }
               break;
          case DEATH:
               newpic=sprXTptr[ext]->deathpic;
               sprptr[sn]->cstat&=~257;
               if( newpic != 0 ) {
                    changespritestat(sn,DEATH);
                    deathdropitem(sn);
                    getpicinfo(newpic);
                    sprptr[sn]->lotag=((picinfoptr->numframes)<<4)-1;
                    sprptr[sn]->hitag=sprptr[sn]->lotag;
                    deathsounds(newpic,sprptr[sn]->x,sprptr[sn]->y);
                    sprptr[sn]->picnum=newpic;
               }
               else {
                    changespritestat(sn, INACTIVE);
               }
              #ifdef NEWSTAT_DEBUG
               showmessage("DEATH");
              #endif
               break;
     }

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %r14d
movl %edi, %ebx
callq 0x1ea05
testl %eax, %eax
je 0x1fc4e
leaq 0x6d9e4(%rip), %rdi     # 0x8d62b
xorl %eax, %eax
callq 0x2d800
movswq %bx, %r15
leaq 0x10e5b7(%rip), %r12    # 0x12e210
movq (%r12,%r15,8), %rax
movswq 0x2a(%rax), %r13
cmpq $0x4000, %r13           # imm = 0x4000
jb 0x1fc8d
imulq $0x2c, %r15, %rax
leaq 0x40ae9a(%rip), %rcx    # 0x42ab10
movl (%rcx,%rax), %esi
movl 0x4(%rcx,%rax), %edx
leaq 0x6d745(%rip), %rdi     # 0x8d3c9
xorl %ecx, %ecx
xorl %eax, %eax
callq 0x2d800
cmpl $0x12b, %r14d           # imm = 0x12B
jle 0x1fd10
cmpl $0x192, %r14d           # imm = 0x192
jg 0x1fd81
addl $0xfffffed4, %r14d      # imm = 0xFFFFFED4
cmpl $0x16, %r14d
ja 0x2027f
leaq 0x6d5c9(%rip), %rax     # 0x8d284
movslq (%rax,%r14,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x1b6545(%rip), %r14    # 0x1d6210
movq (%r14,%r13,8), %rax
movzwl 0x12(%rax), %ebp
testw %bp, %bp
je 0x2027f
movswl %bx, %edi
movl $0x12c, %esi            # imm = 0x12C
callq 0x4703b
movq (%r12,%r15,8), %rax
movw %bp, 0xe(%rax)
movq (%r14,%r13,8), %rax
movb 0x1f(%rax), %cl
decb %cl
movq (%r12,%r15,8), %rax
cmpb $0x4, %cl
ja 0x2032d
movw $0x20, %cx
jmp 0x20331
leal -0xc9(%r14), %eax
cmpl $0x8, %eax
ja 0x1fdee
leaq 0x6d539(%rip), %rcx     # 0x8d260
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1b64d9(%rip), %rax    # 0x1d6210
movq (%rax,%r13,8), %rax
movzwl 0xc(%rax), %eax
testw %ax, %ax
je 0x2027f
movq (%r12,%r15,8), %rcx
movw %ax, 0xe(%rcx)
movq (%r12,%r15,8), %rax
cmpw $0x0, 0x26(%rax)
jg 0x1fd74
leaq 0x6d8e3(%rip), %rdi     # 0x8d645
callq 0x2be4a
andl $0x400, %eax            # imm = 0x400
movq (%r12,%r15,8), %rcx
movw %ax, 0x26(%rcx)
movswl %bx, %edi
movl $0xc9, %esi
jmp 0x2031a
cmpl $0x193, %r14d           # imm = 0x193
je 0x2028e
cmpl $0x1f4, %r14d           # imm = 0x1F4
je 0x202c3
cmpl $0x1f6, %r14d           # imm = 0x1F6
jne 0x2027f
leaq 0x1b6461(%rip), %r14    # 0x1d6210
movq (%r14,%r13,8), %rax
movzwl 0x10(%rax), %ebp
testw %bp, %bp
je 0x2027f
movswl %bx, %edi
movl $0x1f6, %esi            # imm = 0x1F6
callq 0x4703b
movq (%r12,%r15,8), %rax
movw $0x0, 0x26(%rax)
movq (%r12,%r15,8), %rax
movw %bp, 0xe(%rax)
movq (%r14,%r13,8), %rax
movw $0x1f6, 0x8(%rax)       # imm = 0x1F6
jmp 0x2027f
testl %r14d, %r14d
je 0x20305
cmpl $0x64, %r14d
je 0x20312
jmp 0x2027f
leaq 0x1b6403(%rip), %r14    # 0x1d6210
movq (%r14,%r13,8), %rax
movzwl 0xe(%rax), %ebp
testw %bp, %bp
je 0x2027f
movswl %bx, %edi
movl $0xd1, %esi
callq 0x4703b
movq (%r12,%r15,8), %rax
movw $0x0, 0x26(%rax)
movq (%r12,%r15,8), %rax
movw %bp, 0xe(%rax)
movq (%r14,%r13,8), %rax
movw $0xd1, 0x8(%rax)
jmp 0x2027f
leaq 0x1b63bd(%rip), %r14    # 0x1d6210
movq (%r14,%r13,8), %rax
movzwl 0xe(%rax), %ebp
testw %bp, %bp
je 0x2027f
movswl %bx, %edi
movl $0xcf, %esi
callq 0x4703b
movq (%r12,%r15,8), %rax
movw $0x0, 0x26(%rax)
movq (%r12,%r15,8), %rax
movw %bp, 0xe(%rax)
movq (%r14,%r13,8), %rax
movw $0xcf, 0x8(%rax)
jmp 0x2027f
leaq 0x1b6377(%rip), %r14    # 0x1d6210
movq (%r14,%r13,8), %rax
movzwl 0x10(%rax), %ebp
testw %bp, %bp
je 0x2027f
movswl %bx, %edi
movl $0xce, %esi
callq 0x4703b
movq (%r12,%r15,8), %rax
movw $0x0, 0x26(%rax)
movq (%r12,%r15,8), %rax
movw %bp, 0xe(%rax)
movq (%r14,%r13,8), %rax
movw $0xce, 0x8(%rax)
jmp 0x2027f
leaq 0x1b6331(%rip), %rax    # 0x1d6210
movq (%rax,%r13,8), %rax
movzwl 0x10(%rax), %ebp
testw %bp, %bp
je 0x2027f
movswl %bx, %edi
movl $0xcd, %esi
callq 0x4703b
movq (%r12,%r15,8), %rax
movw $0x0, 0x26(%rax)
movq (%r12,%r15,8), %rax
movw %bp, 0xe(%rax)
jmp 0x2027f
leaq 0x1b62f5(%rip), %r14    # 0x1d6210
movq (%r14,%r13,8), %rax
movzwl 0xe(%rax), %ebp
testw %bp, %bp
je 0x2027f
movswl %bx, %edi
movl $0xcb, %esi
callq 0x4703b
movq (%r12,%r15,8), %rax
movw $0x0, 0x26(%rax)
movq (%r12,%r15,8), %rax
movw %bp, 0xe(%rax)
movq (%r14,%r13,8), %rax
movw $0xcb, 0x8(%rax)
jmp 0x2027f
leaq 0x1b62af(%rip), %r14    # 0x1d6210
movq (%r14,%r13,8), %rax
movzwl 0x10(%rax), %ebp
testw %bp, %bp
je 0x2027f
movswl %bx, %edi
movl $0xcc, %esi
callq 0x4703b
movq (%r12,%r15,8), %rax
movw $0x0, 0x26(%rax)
movq (%r12,%r15,8), %rax
movw %bp, 0xe(%rax)
movq (%r14,%r13,8), %rax
movw $0xcc, 0x8(%rax)
jmp 0x2027f
leaq 0x1b6269(%rip), %rax    # 0x1d6210
movq (%rax,%r13,8), %rax
cmpw $0x0, 0x18(%rax)
je 0x2027f
movswl %bx, %edi
movl $0x137, %esi            # imm = 0x137
callq 0x4703b
movq (%r12,%r15,8), %rax
movw $0x1f, 0x26(%rax)
movq (%r12,%r15,8), %rax
movw $0x100, 0x28(%rax)      # imm = 0x100
jmp 0x2027f
movq (%r12,%r15,8), %rax
movswq 0x18(%rax), %rcx
leaq 0x1d6224(%rip), %rdx    # 0x1f6210
movq (%rdx,%rcx,8), %rcx
cmpw $0x4, 0x22(%rcx)
jne 0x2030c
xorl %edx, %edx
testb $-0x80, 0xc(%rax)
jne 0x2001c
movswq 0xe(%rax), %rdx
leaq 0x58f631(%rip), %rsi    # 0x5af640
movswl (%rsi,%rdx,2), %esi
movzbl 0x15(%rax), %edx
imull %esi, %edx
addl %edx, %edx
addl 0x8(%rcx), %edx
movl %edx, 0x8(%rax)
movq (%r12,%r15,8), %rax
xorl %ecx, %ecx
movw %cx, 0x26(%rax)
movq (%r12,%r15,8), %rax
movw %cx, 0x28(%rax)
movq (%r12,%r15,8), %rax
movw $0x1, %cx
movw %cx, 0x20(%rax)
movq (%r12,%r15,8), %rax
movw %cx, 0x22(%rax)
movswl %bx, %edi
movl $0x142, %esi            # imm = 0x142
jmp 0x2031a
leaq 0x1b61b4(%rip), %rax    # 0x1d6210
movq (%rax,%r13,8), %rax
movswl 0x14(%rax), %ebp
movq (%r12,%r15,8), %rax
andw $0xfefe, 0xc(%rax)      # imm = 0xFEFE
testl %ebp, %ebp
je 0x20312
movslq %ebp, %r14
movswl %r15w, %ebx
movl %ebx, %edi
movl $0x12d, %esi            # imm = 0x12D
callq 0x4703b
movl %ebx, %edi
callq 0x21016
leaq 0x3c8829(%rip), %rax    # 0x3e88c0
movl (%rax,%r14,4), %eax
movl %eax, %ecx
andb $0x3f, %cl
movq 0xaf749(%rip), %rdx     # 0xcf7f0
movb %cl, (%rdx)
movl %eax, %ecx
shrb $0x6, %cl
movq 0xaf73b(%rip), %rdx     # 0xcf7f0
movb %cl, 0x1(%rdx)
movq 0xaf731(%rip), %rcx     # 0xcf7f0
movb %ah, 0x3(%rcx)
movl %eax, %ecx
shrl $0x10, %ecx
movq 0xaf722(%rip), %rdx     # 0xcf7f0
movb %cl, 0x2(%rdx)
shrl $0x18, %eax
andb $0xf, %al
movq 0xaf713(%rip), %rcx     # 0xcf7f0
movb %al, 0x4(%rcx)
movq 0xaf709(%rip), %rax     # 0xcf7f0
movzbl (%rax), %eax
shll $0x4, %eax
decl %eax
movq (%r12,%r15,8), %rcx
movw %ax, 0x26(%rcx)
movq (%r12,%r15,8), %rax
movzwl 0x26(%rax), %ecx
movw %cx, 0x28(%rax)
movq (%r12,%r15,8), %rax
movl (%rax), %esi
movl 0x4(%rax), %edx
movl %ebp, %edi
callq 0x21207
movq (%r12,%r15,8), %rax
movw %bp, 0xe(%rax)
jmp 0x2027f
leaq 0x1b60e9(%rip), %rax    # 0x1d6210
movq (%rax,%r13,8), %rax
cmpw $0x0, 0x18(%rax)
je 0x2027f
movswl %bx, %edi
movl $0x138, %esi            # imm = 0x138
jmp 0x20266
movq (%r12,%r15,8), %rax
movw $0x5f, 0x26(%rax)
movswl %bx, %edi
movl $0x139, %esi            # imm = 0x139
jmp 0x2031a
leaq 0x1b60af(%rip), %rax    # 0x1d6210
movq (%rax,%r13,8), %rax
movzwl 0x16(%rax), %ebp
testw %bp, %bp
je 0x2027f
movswl %bx, %edi
movl $0x12e, %esi            # imm = 0x12E
callq 0x4703b
movq (%r12,%r15,8), %rax
movw %bp, 0xe(%rax)
movq (%r12,%r15,8), %rax
movw $0x10, 0x26(%rax)
jmp 0x2027f
leaq 0x1b6073(%rip), %rax    # 0x1d6210
movq (%rax,%r13,8), %rax
cmpw $0x0, 0x1a(%rax)
je 0x2027f
movswl %bx, %edi
movl $0x130, %esi            # imm = 0x130
callq 0x4703b
movq (%r12,%r15,8), %rax
movw $0x5f, 0x26(%rax)
jmp 0x2027f
leaq 0x1b6041(%rip), %rax    # 0x1d6210
movq (%rax,%r13,8), %rax
cmpw $0x0, 0x18(%rax)
je 0x2027f
movswl %bx, %edi
movl $0x132, %esi            # imm = 0x132
jmp 0x20266
leaq 0x1b6021(%rip), %rax    # 0x1d6210
movq (%rax,%r13,8), %rax
cmpw $0x0, 0x18(%rax)
je 0x2027f
movswl %bx, %edi
movl $0x132, %esi            # imm = 0x132
callq 0x4703b
movq (%r12,%r15,8), %rax
movw $0x2f, 0x26(%rax)
jmp 0x20275
leaq 0x1b5ff2(%rip), %rax    # 0x1d6210
movq (%rax,%r13,8), %rax
cmpw $0x0, 0x18(%rax)
je 0x2027f
movswl %bx, %edi
movl $0x131, %esi            # imm = 0x131
callq 0x4703b
movq (%r12,%r15,8), %rax
movw $0x2f, 0x26(%rax)
movq (%r12,%r15,8), %rax
movw $0x40, 0x28(%rax)
jmp 0x2027f
leaq 0x1b5fbd(%rip), %rax    # 0x1d6210
movq (%rax,%r13,8), %rax
cmpw $0x0, 0x18(%rax)
je 0x2027f
movswl %bx, %edi
movl $0x131, %esi            # imm = 0x131
callq 0x4703b
movq (%r12,%r15,8), %rax
movw $0x1f, 0x26(%rax)
movq (%r12,%r15,8), %rax
movw $0x0, 0x28(%rax)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1b5f7b(%rip), %r14    # 0x1d6210
movq (%r14,%r13,8), %rax
movzwl 0xe(%rax), %ebp
testw %bp, %bp
je 0x2027f
movswl %bx, %edi
movl $0x193, %esi            # imm = 0x193
callq 0x4703b
movq (%r12,%r15,8), %rax
movw %bp, 0xe(%rax)
movq (%r14,%r13,8), %rax
movw $0x193, 0x8(%rax)       # imm = 0x193
jmp 0x2027f
leaq 0x1b5f46(%rip), %r14    # 0x1d6210
movq (%r14,%r13,8), %rax
movzwl 0x10(%rax), %ebp
testw %bp, %bp
je 0x2027f
movswl %bx, %edi
movl $0x1f4, %esi            # imm = 0x1F4
callq 0x4703b
movq (%r12,%r15,8), %rax
movw $0x0, 0x26(%rax)
movq (%r12,%r15,8), %rax
movw %bp, 0xe(%rax)
movq (%r14,%r13,8), %rax
movw $0x1f4, 0x8(%rax)       # imm = 0x1F4
jmp 0x2027f
movswl %bx, %edi
xorl %esi, %esi
jmp 0x2031a
movl 0x8(%rcx), %ecx
movl %ecx, 0x8(%rax)
movswl %bx, %edi
movl $0x64, %esi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x4703b
movw $0x40, %cx
movw %cx, 0x26(%rax)
movq (%r12,%r15,8), %rax
movw %cx, 0x28(%rax)
jmp 0x2027f