// File: /workspace/github_c_makefile_star2_O3/jonof[P]jftekwar/src/tekldsv.c
// Function: loadgame
int
loadgame(int loadno)                                             
{
     int      i, fil;
     short     dummyscreensize;
     intptr_t tmpanimates[MAXANIMATES];

     sprintf((char *)tempbuf,"savegam%d.tek",loadno);
     if( (fil=open((char *)tempbuf,O_BINARY|O_RDWR,S_IREAD)) == -1 ) {
          return(-1);
     }

     lseek(fil, 0, SEEK_SET);

     read(fil,loadsavenames[loadno-1],MAXLOADSAVESIZE);

     read(fil,boardfilename,80);
     // setup new map
     newgame(boardfilename);

     read(fil,&numplayers,2);
     read(fil,&myconnectindex,2);
     read(fil,&connecthead,2);
     read(fil,connectpoint2,MAXPLAYERS<<1);

     // Make sure palookups get set, sprites will get overwritten later
     for(i=connecthead;i>=0;i=connectpoint2[i]) initplayersprite((short)i);

     read(fil,posx,MAXPLAYERS<<2);
     read(fil,posy,MAXPLAYERS<<2);
     read(fil,posz,MAXPLAYERS<<2);
     read(fil,horiz,MAXPLAYERS<<2);
     read(fil,zoom,MAXPLAYERS<<2);
     read(fil,hvel,MAXPLAYERS<<2);
     read(fil,ang,MAXPLAYERS<<1);
     read(fil,cursectnum,MAXPLAYERS<<1);
     read(fil,ocursectnum,MAXPLAYERS<<1);
     read(fil,playersprite,MAXPLAYERS<<1);
     read(fil,deaths,MAXPLAYERS<<1);
     read(fil,lastchaingun,MAXPLAYERS<<2);
     read(fil,health,MAXPLAYERS<<2);
     read(fil,score,MAXPLAYERS<<2);
     read(fil,saywatchit,MAXPLAYERS<<2);
     read(fil,numbombs,MAXPLAYERS<<1);
     read(fil,&dummyscreensize,2);
     read(fil,oflags,MAXPLAYERS<<1);
     read(fil,dimensionmode,MAXPLAYERS);
     read(fil,revolvedoorstat,MAXPLAYERS);
     read(fil,revolvedoorang,MAXPLAYERS<<1);
     read(fil,revolvedoorrotang,MAXPLAYERS<<1);
     read(fil,revolvedoorx,MAXPLAYERS<<2);
     read(fil,revolvedoory,MAXPLAYERS<<2);

     read(fil,&numsectors,2);
     read(fil,sector,sizeof(sectortype)*numsectors);

     read(fil,&numwalls,2);
     read(fil,wall,sizeof(walltype)*numwalls);

     // Store all sprites (even holes) to preserve indeces
     read(fil,sprite,sizeof(spritetype)*MAXSPRITES);
     read(fil,headspritesect,(MAXSECTORS+1)<<1);
     read(fil,prevspritesect,MAXSPRITES<<1);
     read(fil,nextspritesect,MAXSPRITES<<1);
     read(fil,headspritestat,(MAXSTATUS+1)<<1);
     read(fil,prevspritestat,MAXSPRITES<<1);
     read(fil,nextspritestat,MAXSPRITES<<1);

     read(fil,&vel,4);
     read(fil,&svel,4);
     read(fil,&angvel,4);

     read(fil,&locselectedgun,4);
     read(fil,&locvel,1);
     read(fil,&olocvel,1);
     read(fil,&locsvel,2);                                   // Les 09/28/95
     read(fil,&olocsvel,2);                                  // Les 09/28/95
     read(fil,&locangvel,2);                                 // Les 09/28/95
     read(fil,&olocangvel,2);                                // Les 09/28/95
     read(fil,&locbits,2);
     read(fil,&olocbits,2);

     read(fil,&locselectedgun2,4);
     read(fil,&locvel2,1);
     read(fil,&olocvel2,1);
     read(fil,&locsvel2,2);                                  // Les 09/28/95
     read(fil,&olocsvel2,2);                                 // Les 09/28/95
     read(fil,&locangvel2,2);                                // Les 09/28/95
     read(fil,&olocangvel2,2);                               // Les 09/28/95
     read(fil,&locbits2,2);
     read(fil,&olocbits2,2);

     read(fil,syncvel,MAXPLAYERS);
     read(fil,osyncvel,MAXPLAYERS);
     read(fil,syncsvel,MAXPLAYERS<<1);                       // Les 09/28/95
     read(fil,osyncsvel,MAXPLAYERS<<1);                      // Les 09/28/95
     read(fil,syncangvel,MAXPLAYERS<<1);                     // Les 09/28/95
     read(fil,osyncangvel,MAXPLAYERS<<1);                    // Les 09/28/95
     read(fil,syncbits,MAXPLAYERS<<1);
     read(fil,osyncbits,MAXPLAYERS<<1);

     read(fil,&screenpeek,2);
     read(fil,&oldmousebstatus,2);
     read(fil,&brightness,2);
     read(fil,&neartagsector,2);
     read(fil,&neartagwall,2);
     read(fil,&neartagsprite,2);
     read(fil,&lockclock,4);
     read(fil,&neartagdist,4);
     read(fil,&neartaghitdist,4);
     read(fil,&masterslavetexttime,4);

     read(fil,rotatespritelist,16<<1);
     read(fil,&rotatespritecnt,2);
     read(fil,warpsectorlist,16<<1);
     read(fil,&warpsectorcnt,2);
     read(fil,xpanningsectorlist,16<<1);
     read(fil,&xpanningsectorcnt,2);
     read(fil,ypanningwalllist,64<<1);
     read(fil,&ypanningwallcnt,2);
     read(fil,floorpanninglist,64<<1);
     read(fil,&floorpanningcnt,2);
     read(fil,dragsectorlist,16<<1);
     read(fil,dragxdir,16<<1);
     read(fil,dragydir,16<<1);
     read(fil,&dragsectorcnt,2);
     read(fil,dragx1,16<<2);
     read(fil,dragy1,16<<2);
     read(fil,dragx2,16<<2);
     read(fil,dragy2,16<<2);
     read(fil,dragfloorz,16<<2);
     read(fil,&swingcnt,2);
     read(fil,swingwall,(32*5)<<1);
     read(fil,swingsector,32<<1);
     read(fil,swingangopen,32<<1);
     read(fil,swingangclosed,32<<1);
     read(fil,swingangopendir,32<<1);
     read(fil,swingang,32<<1);
     read(fil,swinganginc,32<<1);
     read(fil,swingx,(32*8)<<2);
     read(fil,swingy,(32*8)<<2);
     read(fil,revolvesector,4<<1);
     read(fil,revolveang,4<<1);
     read(fil,&revolvecnt,2);
     read(fil,revolvex,(4*16)<<2);
     read(fil,revolvey,(4*16)<<2);
     read(fil,revolvepivotx,4<<2);
     read(fil,revolvepivoty,4<<2);
     read(fil,subwaytracksector,(4*128)<<1);
     read(fil,subwaynumsectors,4<<1);
     read(fil,&subwaytrackcnt,2);
     read(fil,subwaystop,(4*8)<<2);
     read(fil,subwaystopcnt,4<<2);
     read(fil,subwaytrackx1,4<<2);
     read(fil,subwaytracky1,4<<2);
     read(fil,subwaytrackx2,4<<2);
     read(fil,subwaytracky2,4<<2);
     read(fil,subwayx,4<<2);
     read(fil,subwaygoalstop,4<<2);
     read(fil,subwayvel,4<<2);
     read(fil,subwaypausetime,4<<2);
     read(fil,waterfountainwall,MAXPLAYERS<<1);
     read(fil,waterfountaincnt,MAXPLAYERS<<1);
     read(fil,slimesoundcnt,MAXPLAYERS<<1);

     // Warning: only works if all pointers are in sector structures!
     read(fil,tmpanimates,sizeof(intptr_t) * MAXANIMATES);
     for(i=MAXANIMATES-1;i>=0;i--)
          animateptr[i] = (int *)(tmpanimates[i] + (intptr_t)sector);
     read(fil,animategoal,MAXANIMATES<<2);
     read(fil,animatevel,MAXANIMATES<<2);
     read(fil,animateacc,MAXANIMATES<<2);
     read(fil,&animatecnt,4);

     read(fil,&totalclock,4);
     read(fil,&numframes,4);
     read(fil,&randomseed,4);

    #ifdef UNINITENGINECRASH
     read(fil,startumost,MAXXDIM<<1);
     read(fil,startdmost,MAXXDIM<<1);
    #endif

     read(fil,&numpalookups,2);

     read(fil,&visibility,4);
     read(fil,&parallaxtype,1);
     read(fil,&parallaxyoffs,4);
     read(fil,pskyoff,MAXPSKYTILES<<1);
     read(fil,&pskybits,2);

     read(fil,show2dsector,MAXSECTORS>>3);
     read(fil,show2dwall,MAXWALLS>>3);
     read(fil,show2dsprite,MAXSPRITES>>3);
     read(fil,&automapping,1);

     read(fil,invredcards,MAXPLAYERS<<2);   //  sizeof(invredcards));
     read(fil,invbluecards,MAXPLAYERS<<2);  //  sizeof(invbluecards));
     read(fil,invaccutrak,MAXPLAYERS<<2);   //  sizeof(invaccutrak));

     tekgunload(fil);
     tektagload(fil);
     tekstatload(fil);

     tekloadmissioninfo(fil);
 
     close(fil);

     for(i=connecthead;i>=0;i=connectpoint2[i]) initplayersprite((short)i);

     totalclock = lockclock;
     ototalclock = lockclock;

     showmessage("GAME LOADED");

     return(0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1018, %rsp           # imm = 0x1018
movl %edi, %ebp
leaq 0xd2732(%rip), %rbx     # 0xe45f0
leaq 0x7d5ee(%rip), %rsi     # 0x8f4b3
movq %rbx, %rdi
movl %ebp, %edx
xorl %eax, %eax
callq 0x8f20
movq %rbx, %rdi
movl $0x2, %esi
movl $0x100, %edx            # imm = 0x100
xorl %eax, %eax
callq 0x8670
cmpl $-0x1, %eax
je 0x12b2e
movl %eax, %ebx
movl %eax, %edi
xorl %esi, %esi
xorl %edx, %edx
callq 0x83b0
decl %ebp
movslq %ebp, %rax
leaq (%rax,%rax,2), %rsi
shlq $0x2, %rsi
addq 0xbf0d9(%rip), %rsi     # 0xd0fe8
movl $0xc, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd38ee(%rip), %r14     # 0xe5810
movl $0x50, %edx
movl %ebx, %edi
movq %r14, %rsi
callq 0x8b20
movq %r14, %rdi
callq 0x1705b
leaq 0x793bec(%rip), %rsi    # 0x7a5b2c
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x793bd1(%rip), %rsi    # 0x7a5b24
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x793bca(%rip), %r15    # 0x7a5b30
movl $0x2, %edx
movl %ebx, %edi
movq %r15, %rsi
callq 0x8b20
leaq 0x793bc4(%rip), %r14    # 0x7a5b40
movl $0x20, %edx
movl %ebx, %edi
movq %r14, %rsi
callq 0x8b20
movl (%r15), %ebp
testl %ebp, %ebp
js 0x11fa2
movswl %bp, %edi
callq 0x1b1e5
movl %ebp, %eax
movl (%r14,%rax,4), %ebp
jmp 0x11f8e
leaq 0xd2527(%rip), %rsi     # 0xe44d0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd2554(%rip), %rsi     # 0xe4510
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd2581(%rip), %rsi     # 0xe4550
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd387e(%rip), %rsi     # 0xe5860
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd38db(%rip), %rsi     # 0xe58d0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3798(%rip), %rsi     # 0xe57a0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd2495(%rip), %rsi     # 0xe44b0
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd36f2(%rip), %rsi     # 0xe5720
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd373f(%rip), %rsi     # 0xe5780
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd36fc(%rip), %rsi     # 0xe5750
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3789(%rip), %rsi     # 0xe57f0
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b5c6(%rip), %rsi    # 0x12d640
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd2503(%rip), %rsi     # 0xe4590
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b5e0(%rip), %rsi    # 0x12d680
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b60d(%rip), %rsi    # 0x12d6c0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b63a(%rip), %rsi    # 0x12d700
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xe(%rsp), %rsi
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3876(%rip), %rsi     # 0xe5960
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd37c3(%rip), %rsi     # 0xe58c0
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3630(%rip), %rsi     # 0xe5740
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b5fd(%rip), %rsi    # 0x12d720
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b60a(%rip), %rsi    # 0x12d740
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b617(%rip), %rsi    # 0x12d760
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b644(%rip), %rsi    # 0x12d7a0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x56ec71(%rip), %r12    # 0x580de0
movl $0x2, %edx
movl %ebx, %edi
movq %r12, %rsi
callq 0x8b20
movswq (%r12), %rax
shlq $0x3, %rax
leaq (%rax,%rax,4), %rdx
leaq 0x3e274e(%rip), %rsi    # 0x3f48e0
movl %ebx, %edi
callq 0x8b20
leaq 0x5b5948(%rip), %r12    # 0x5c7ae8
movl $0x2, %edx
movl %ebx, %edi
movq %r12, %rsi
callq 0x8b20
movswq (%r12), %rdx
shlq $0x5, %rdx
leaq 0x357711(%rip), %rsi    # 0x3698d0
movl %ebx, %edi
callq 0x8b20
leaq 0x41b963(%rip), %rsi    # 0x42db30
movl $0xb0000, %edx          # imm = 0xB0000
movl %ebx, %edi
callq 0x8b20
leaq 0x54b1b0(%rip), %rsi    # 0x55d390
movl $0x2002, %edx           # imm = 0x2002
movl %ebx, %edi
callq 0x8b20
leaq 0x54d1ad(%rip), %rsi    # 0x55f3a0
movl $0x8000, %edx           # imm = 0x8000
movl %ebx, %edi
callq 0x8b20
leaq 0x55519a(%rip), %rsi    # 0x5673a0
movl $0x8000, %edx           # imm = 0x8000
movl %ebx, %edi
callq 0x8b20
leaq 0x55d187(%rip), %rsi    # 0x56f3a0
movl $0x802, %edx            # imm = 0x802
movl %ebx, %edi
callq 0x8b20
leaq 0x55d984(%rip), %rsi    # 0x56fbb0
movl $0x8000, %edx           # imm = 0x8000
movl %ebx, %edi
callq 0x8b20
leaq 0x565971(%rip), %rsi    # 0x577bb0
movl $0x8000, %edx           # imm = 0x8000
movl %ebx, %edi
callq 0x8b20
leaq 0xd358e(%rip), %rsi     # 0xe57e0
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd357f(%rip), %rsi     # 0xe57e4
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3570(%rip), %rsi     # 0xe57e8
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x1189d5(%rip), %rsi    # 0x12ac60
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x1189e7(%rip), %rsi    # 0x12ac85
movl $0x1, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd325f(%rip), %rsi     # 0xe5510
movl $0x1, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x1189c2(%rip), %rsi    # 0x12ac86
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd323b(%rip), %rsi     # 0xe5512
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11899e(%rip), %rsi    # 0x12ac88
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3219(%rip), %rsi     # 0xe5516
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3894(%rip), %rsi     # 0xe5ba4
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd31f7(%rip), %rsi     # 0xe551a
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b162(%rip), %rsi    # 0x12d498
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b147(%rip), %rsi    # 0x12d490
movl $0x1, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd31b5(%rip), %rsi     # 0xe5511
movl $0x1, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b123(%rip), %rsi    # 0x12d492
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3192(%rip), %rsi     # 0xe5514
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b0ff(%rip), %rsi    # 0x12d494
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3170(%rip), %rsi     # 0xe5518
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b0db(%rip), %rsi    # 0x12d496
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd314e(%rip), %rsi     # 0xe551c
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd315f(%rip), %rsi     # 0xe5540
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd313c(%rip), %rsi     # 0xe5530
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3179(%rip), %rsi     # 0xe5580
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3146(%rip), %rsi     # 0xe5560
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd31b3(%rip), %rsi     # 0xe55e0
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3180(%rip), %rsi     # 0xe55c0
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd203d(%rip), %rsi     # 0xe4490
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd31ba(%rip), %rsi     # 0xe5620
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd1fe5(%rip), %rsi     # 0xe445e
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd1fd4(%rip), %rsi     # 0xe4460
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd1fc3(%rip), %rsi     # 0xe4462
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3480(%rip), %rsi     # 0xe5932
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd346b(%rip), %rsi     # 0xe5930
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd345c(%rip), %rsi     # 0xe5934
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd1f9d(%rip), %r12     # 0xe4488
movl $0x4, %edx
movl %ebx, %edi
movq %r12, %rsi
callq 0x8b20
leaq 0x11b6df(%rip), %rsi    # 0x12dbe0
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3424(%rip), %rsi     # 0xe5938
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd2ff9(%rip), %rsi     # 0xe5520
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b6b6(%rip), %rsi    # 0x12dbf0
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b6c3(%rip), %rsi    # 0x12dc10
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b6c0(%rip), %rsi    # 0x12dc20
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b72d(%rip), %rsi    # 0x12dca0
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b72a(%rip), %rsi    # 0x12dcb0
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b737(%rip), %rsi    # 0x12dcd0
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b734(%rip), %rsi    # 0x12dce0
movl $0x80, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b7a1(%rip), %rsi    # 0x12dd60
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b79e(%rip), %rsi    # 0x12dd70
movl $0x80, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b80b(%rip), %rsi    # 0x12ddf0
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b808(%rip), %rsi    # 0x12de00
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b815(%rip), %rsi    # 0x12de20
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b822(%rip), %rsi    # 0x12de40
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b82f(%rip), %rsi    # 0x12de60
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b82c(%rip), %rsi    # 0x12de70
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b859(%rip), %rsi    # 0x12deb0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b886(%rip), %rsi    # 0x12def0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b8b3(%rip), %rsi    # 0x12df30
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b8e0(%rip), %rsi    # 0x12df70
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b90d(%rip), %rsi    # 0x12dfb0
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b90a(%rip), %rsi    # 0x12dfc0
movl $0x140, %edx            # imm = 0x140
movl %ebx, %edi
callq 0x8b20
leaq 0x11ba37(%rip), %rsi    # 0x12e100
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11ba64(%rip), %rsi    # 0x12e140
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11ba91(%rip), %rsi    # 0x12e180
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11babe(%rip), %rsi    # 0x12e1c0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11baeb(%rip), %rsi    # 0x12e200
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11bb18(%rip), %rsi    # 0x12e240
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11bb45(%rip), %rsi    # 0x12e280
movl $0x400, %edx            # imm = 0x400
movl %ebx, %edi
callq 0x8b20
leaq 0x11bf32(%rip), %rsi    # 0x12e680
movl $0x400, %edx            # imm = 0x400
movl %ebx, %edi
callq 0x8b20
leaq 0x11c31f(%rip), %rsi    # 0x12ea80
movl $0x8, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c314(%rip), %rsi    # 0x12ea88
movl $0x8, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c309(%rip), %rsi    # 0x12ea90
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c306(%rip), %rsi    # 0x12eaa0
movl $0x100, %edx            # imm = 0x100
movl %ebx, %edi
callq 0x8b20
leaq 0x11c3f3(%rip), %rsi    # 0x12eba0
movl $0x100, %edx            # imm = 0x100
movl %ebx, %edi
callq 0x8b20
leaq 0x11c4e0(%rip), %rsi    # 0x12eca0
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c4dd(%rip), %rsi    # 0x12ecb0
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c4da(%rip), %rsi    # 0x12ecc0
movl $0x400, %edx            # imm = 0x400
movl %ebx, %edi
callq 0x8b20
leaq 0x11c8c7(%rip), %rsi    # 0x12f0c0
movl $0x8, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c8bc(%rip), %rsi    # 0x12f0c8
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c8b1(%rip), %rsi    # 0x12f0d0
movl $0x80, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c91e(%rip), %rsi    # 0x12f150
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c91b(%rip), %rsi    # 0x12f160
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c918(%rip), %rsi    # 0x12f170
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c915(%rip), %rsi    # 0x12f180
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c912(%rip), %rsi    # 0x12f190
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c90f(%rip), %rsi    # 0x12f1a0
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c90c(%rip), %rsi    # 0x12f1b0
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c909(%rip), %rsi    # 0x12f1c0
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11c906(%rip), %rsi    # 0x12f1d0
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3033(%rip), %rsi     # 0xe5910
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd3050(%rip), %rsi     # 0xe5940
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd2f9d(%rip), %rsi     # 0xe58a0
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x10(%rsp), %rsi
movl $0x1000, %edx           # imm = 0x1000
movl %ebx, %edi
callq 0x8b20
movl $0x1fe, %eax            # imm = 0x1FE
movq 0xbe5fb(%rip), %xmm0    # 0xd0f28
pshufd $0x44, %xmm0, %xmm0     # xmm0 = xmm0[0,1,0,1]
leaq 0x118357(%rip), %rcx    # 0x12ac90
movdqa 0x10(%rsp,%rax,8), %xmm1
paddq %xmm0, %xmm1
movdqa %xmm1, (%rcx,%rax,8)
addq $-0x2, %rax
cmpq $-0x2, %rax
jne 0x12939
leaq 0x119337(%rip), %rsi    # 0x12bc90
movl $0x800, %edx            # imm = 0x800
movl %ebx, %edi
callq 0x8b20
leaq 0x119b24(%rip), %rsi    # 0x12c490
movl $0x800, %edx            # imm = 0x800
movl %ebx, %edi
callq 0x8b20
leaq 0x11a311(%rip), %rsi    # 0x12cc90
movl $0x800, %edx            # imm = 0x800
movl %ebx, %edi
callq 0x8b20
leaq 0xd1ade(%rip), %rsi     # 0xe4470
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x54a9c3(%rip), %r13    # 0x55d368
movl $0x4, %edx
movl %ebx, %edi
movq %r13, %rsi
callq 0x8b20
leaq 0x5c1351(%rip), %rsi    # 0x5d3d0c
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x5d4a3a(%rip), %rsi    # 0x5e7408
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x5b2cc7(%rip), %rsi    # 0x5c56a8
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x54a978(%rip), %rsi    # 0x55d36c
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x4fbf3b(%rip), %rsi    # 0x50e942
movl $0x1, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x4fbf2a(%rip), %rsi    # 0x50e944
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x4fbd13(%rip), %rsi    # 0x50e740
movl $0x200, %edx            # imm = 0x200
movl %ebx, %edi
callq 0x8b20
leaq 0x4fbf00(%rip), %rsi    # 0x50e940
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x54970d(%rip), %rsi    # 0x55c160
movl $0x200, %edx            # imm = 0x200
movl %ebx, %edi
callq 0x8b20
leaq 0x54a0fa(%rip), %rsi    # 0x55cb60
movl $0x800, %edx            # imm = 0x800
movl %ebx, %edi
callq 0x8b20
leaq 0x5498e7(%rip), %rsi    # 0x55c360
movl $0x800, %edx            # imm = 0x800
movl %ebx, %edi
callq 0x8b20
leaq 0x54a8d4(%rip), %rsi    # 0x55d360
movl $0x1, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11e2f1(%rip), %rsi    # 0x130d90
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11e31e(%rip), %rsi    # 0x130dd0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11e34b(%rip), %rsi    # 0x130e10
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
movl %ebx, %edi
callq 0x11dab
movl %ebx, %edi
callq 0x2e5bf
movl %ebx, %edi
callq 0x27c55
movl %ebx, %edi
callq 0x192cf
movl %ebx, %edi
callq 0x8310
movl (%r15), %ebx
testl %ebx, %ebx
js 0x12b0b
movswl %bx, %edi
callq 0x1b1e5
movl %ebx, %eax
movl (%r14,%rax,4), %ebx
jmp 0x12af7
movl (%r12), %eax
movl %eax, (%r13)
leaq 0xd193a(%rip), %rcx     # 0xe4454
movl %eax, (%rcx)
leaq 0x7c99e(%rip), %rdi     # 0x8f4c1
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x14be7
jmp 0x12b33
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movl %ebx, %eax
addq $0x1018, %rsp           # imm = 0x1018
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq