// File: /workspace/github_c_makefile_star2_O1/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 0xcf79a(%rip), %rbx     # 0xe15f0
leaq 0x7a642(%rip), %rsi     # 0x8c49f
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 0x12ab5
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 0xbc139(%rip), %rsi     # 0xcdfe0
movl $0xc, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd0956(%rip), %r14     # 0xe2810
movl $0x50, %edx
movl %ebx, %edi
movq %r14, %rsi
callq 0x8b20
movq %r14, %rdi
callq 0x16f82
leaq 0x790c34(%rip), %rsi    # 0x7a2b0c
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x790c19(%rip), %rsi    # 0x7a2b04
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x790c12(%rip), %r15    # 0x7a2b10
movl $0x2, %edx
movl %ebx, %edi
movq %r15, %rsi
callq 0x8b20
leaq 0x790c0c(%rip), %r14    # 0x7a2b20
movl $0x20, %edx
movl %ebx, %edi
movq %r14, %rsi
callq 0x8b20
movl (%r15), %ebp
testl %ebp, %ebp
js 0x11f3a
movswl %bp, %edi
callq 0x1b0cd
movl %ebp, %eax
movl (%r14,%rax,4), %ebp
jmp 0x11f26
leaq 0xcf58f(%rip), %rsi     # 0xe14d0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xcf5bc(%rip), %rsi     # 0xe1510
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xcf5e9(%rip), %rsi     # 0xe1550
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd08e6(%rip), %rsi     # 0xe2860
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd0943(%rip), %rsi     # 0xe28d0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd0800(%rip), %rsi     # 0xe27a0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xcf4fd(%rip), %rsi     # 0xe14b0
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd075a(%rip), %rsi     # 0xe2720
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd07a7(%rip), %rsi     # 0xe2780
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd0764(%rip), %rsi     # 0xe2750
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd07f1(%rip), %rsi     # 0xe27f0
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11862e(%rip), %rsi    # 0x12a640
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xcf56b(%rip), %rsi     # 0xe1590
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118648(%rip), %rsi    # 0x12a680
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118675(%rip), %rsi    # 0x12a6c0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x1186a2(%rip), %rsi    # 0x12a700
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xe(%rsp), %rsi
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd08de(%rip), %rsi     # 0xe2960
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd082b(%rip), %rsi     # 0xe28c0
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd0698(%rip), %rsi     # 0xe2740
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118665(%rip), %rsi    # 0x12a720
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118672(%rip), %rsi    # 0x12a740
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11867f(%rip), %rsi    # 0x12a760
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x1186ac(%rip), %rsi    # 0x12a7a0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x56bcb9(%rip), %r12    # 0x57ddc0
movl $0x2, %edx
movl %ebx, %edi
movq %r12, %rsi
callq 0x8b20
movswq (%r12), %rax
shlq $0x3, %rax
leaq (%rax,%rax,4), %rdx
leaq 0x3df796(%rip), %r12    # 0x3f18c0
movl %ebx, %edi
movq %r12, %rsi
callq 0x8b20
leaq 0x5b298d(%rip), %r13    # 0x5c4ac8
movl $0x2, %edx
movl %ebx, %edi
movq %r13, %rsi
callq 0x8b20
movswq (%r13), %rdx
shlq $0x5, %rdx
leaq 0x354756(%rip), %rsi    # 0x3668b0
movl %ebx, %edi
callq 0x8b20
leaq 0x4189a8(%rip), %rsi    # 0x42ab10
movl $0xb0000, %edx          # imm = 0xB0000
movl %ebx, %edi
callq 0x8b20
leaq 0x5481f5(%rip), %rsi    # 0x55a370
movl $0x2002, %edx           # imm = 0x2002
movl %ebx, %edi
callq 0x8b20
leaq 0x54a1f2(%rip), %rsi    # 0x55c380
movl $0x8000, %edx           # imm = 0x8000
movl %ebx, %edi
callq 0x8b20
leaq 0x5521df(%rip), %rsi    # 0x564380
movl $0x8000, %edx           # imm = 0x8000
movl %ebx, %edi
callq 0x8b20
leaq 0x55a1cc(%rip), %rsi    # 0x56c380
movl $0x802, %edx            # imm = 0x802
movl %ebx, %edi
callq 0x8b20
leaq 0x55a9c9(%rip), %rsi    # 0x56cb90
movl $0x8000, %edx           # imm = 0x8000
movl %ebx, %edi
callq 0x8b20
leaq 0x5629b6(%rip), %rsi    # 0x574b90
movl $0x8000, %edx           # imm = 0x8000
movl %ebx, %edi
callq 0x8b20
leaq 0xd05f3(%rip), %rsi     # 0xe27e0
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd05e4(%rip), %rsi     # 0xe27e4
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd05d5(%rip), %rsi     # 0xe27e8
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x115a3a(%rip), %rsi    # 0x127c60
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x115a4c(%rip), %rsi    # 0x127c85
movl $0x1, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd02c4(%rip), %rsi     # 0xe2510
movl $0x1, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x115a27(%rip), %rsi    # 0x127c86
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd02a0(%rip), %rsi     # 0xe2512
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x115a03(%rip), %rsi    # 0x127c88
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd027e(%rip), %rsi     # 0xe2516
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd08f9(%rip), %rsi     # 0xe2ba4
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd025c(%rip), %rsi     # 0xe251a
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x1181c7(%rip), %rsi    # 0x12a498
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x1181ac(%rip), %rsi    # 0x12a490
movl $0x1, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd021a(%rip), %rsi     # 0xe2511
movl $0x1, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118188(%rip), %rsi    # 0x12a492
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd01f7(%rip), %rsi     # 0xe2514
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118164(%rip), %rsi    # 0x12a494
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd01d5(%rip), %rsi     # 0xe2518
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118140(%rip), %rsi    # 0x12a496
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd01b3(%rip), %rsi     # 0xe251c
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd01c4(%rip), %rsi     # 0xe2540
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd01a1(%rip), %rsi     # 0xe2530
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd01de(%rip), %rsi     # 0xe2580
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd01ab(%rip), %rsi     # 0xe2560
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd0218(%rip), %rsi     # 0xe25e0
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd01e5(%rip), %rsi     # 0xe25c0
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xcf0a2(%rip), %rsi     # 0xe1490
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd021f(%rip), %rsi     # 0xe2620
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xcf04a(%rip), %rsi     # 0xe145e
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xcf039(%rip), %rsi     # 0xe1460
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xcf028(%rip), %rsi     # 0xe1462
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd04e5(%rip), %rsi     # 0xe2932
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd04d0(%rip), %rsi     # 0xe2930
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd04c1(%rip), %rsi     # 0xe2934
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xcf002(%rip), %r13     # 0xe1488
movl $0x4, %edx
movl %ebx, %edi
movq %r13, %rsi
callq 0x8b20
leaq 0x118744(%rip), %rsi    # 0x12abe0
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd0489(%rip), %rsi     # 0xe2938
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd005e(%rip), %rsi     # 0xe2520
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11871b(%rip), %rsi    # 0x12abf0
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118728(%rip), %rsi    # 0x12ac10
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118725(%rip), %rsi    # 0x12ac20
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118792(%rip), %rsi    # 0x12aca0
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11878f(%rip), %rsi    # 0x12acb0
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11879c(%rip), %rsi    # 0x12acd0
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118799(%rip), %rsi    # 0x12ace0
movl $0x80, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118806(%rip), %rsi    # 0x12ad60
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118803(%rip), %rsi    # 0x12ad70
movl $0x80, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118870(%rip), %rsi    # 0x12adf0
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11886d(%rip), %rsi    # 0x12ae00
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11887a(%rip), %rsi    # 0x12ae20
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118887(%rip), %rsi    # 0x12ae40
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118894(%rip), %rsi    # 0x12ae60
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118891(%rip), %rsi    # 0x12ae70
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x1188be(%rip), %rsi    # 0x12aeb0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x1188eb(%rip), %rsi    # 0x12aef0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118918(%rip), %rsi    # 0x12af30
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118945(%rip), %rsi    # 0x12af70
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118972(%rip), %rsi    # 0x12afb0
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11896f(%rip), %rsi    # 0x12afc0
movl $0x140, %edx            # imm = 0x140
movl %ebx, %edi
callq 0x8b20
leaq 0x118a9c(%rip), %rsi    # 0x12b100
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118ac9(%rip), %rsi    # 0x12b140
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118af6(%rip), %rsi    # 0x12b180
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118b23(%rip), %rsi    # 0x12b1c0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118b50(%rip), %rsi    # 0x12b200
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118b7d(%rip), %rsi    # 0x12b240
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x118baa(%rip), %rsi    # 0x12b280
movl $0x400, %edx            # imm = 0x400
movl %ebx, %edi
callq 0x8b20
leaq 0x118f97(%rip), %rsi    # 0x12b680
movl $0x400, %edx            # imm = 0x400
movl %ebx, %edi
callq 0x8b20
leaq 0x119384(%rip), %rsi    # 0x12ba80
movl $0x8, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x119379(%rip), %rsi    # 0x12ba88
movl $0x8, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11936e(%rip), %rsi    # 0x12ba90
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11936b(%rip), %rsi    # 0x12baa0
movl $0x100, %edx            # imm = 0x100
movl %ebx, %edi
callq 0x8b20
leaq 0x119458(%rip), %rsi    # 0x12bba0
movl $0x100, %edx            # imm = 0x100
movl %ebx, %edi
callq 0x8b20
leaq 0x119545(%rip), %rsi    # 0x12bca0
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x119542(%rip), %rsi    # 0x12bcb0
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11953f(%rip), %rsi    # 0x12bcc0
movl $0x400, %edx            # imm = 0x400
movl %ebx, %edi
callq 0x8b20
leaq 0x11992c(%rip), %rsi    # 0x12c0c0
movl $0x8, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x119921(%rip), %rsi    # 0x12c0c8
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x119916(%rip), %rsi    # 0x12c0d0
movl $0x80, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x119983(%rip), %rsi    # 0x12c150
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x119980(%rip), %rsi    # 0x12c160
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11997d(%rip), %rsi    # 0x12c170
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11997a(%rip), %rsi    # 0x12c180
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x119977(%rip), %rsi    # 0x12c190
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x119974(%rip), %rsi    # 0x12c1a0
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x119971(%rip), %rsi    # 0x12c1b0
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11996e(%rip), %rsi    # 0x12c1c0
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11996b(%rip), %rsi    # 0x12c1d0
movl $0x10, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd0098(%rip), %rsi     # 0xe2910
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd00b5(%rip), %rsi     # 0xe2940
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0xd0002(%rip), %rsi     # 0xe28a0
movl $0x20, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x10(%rsp), %rsi
movl $0x1000, %edx           # imm = 0x1000
movl %ebx, %edi
callq 0x8b20
movl $0x1ff, %eax            # imm = 0x1FF
leaq 0x1153c9(%rip), %rcx    # 0x127c90
movq 0x10(%rsp,%rax,8), %rdx
addq %r12, %rdx
movq %rdx, (%rcx,%rax,8)
addq $-0x1, %rax
jb 0x128c7
leaq 0x1163b0(%rip), %rsi    # 0x128c90
movl $0x800, %edx            # imm = 0x800
movl %ebx, %edi
callq 0x8b20
leaq 0x116b9d(%rip), %rsi    # 0x129490
movl $0x800, %edx            # imm = 0x800
movl %ebx, %edi
callq 0x8b20
leaq 0x11738a(%rip), %rsi    # 0x129c90
movl $0x800, %edx            # imm = 0x800
movl %ebx, %edi
callq 0x8b20
leaq 0xceb57(%rip), %rsi     # 0xe1470
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x547a1c(%rip), %r12    # 0x55a348
movl $0x4, %edx
movl %ebx, %edi
movq %r12, %rsi
callq 0x8b20
leaq 0x5be3aa(%rip), %rsi    # 0x5d0cec
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x5d1a93(%rip), %rsi    # 0x5e43e8
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x5afd20(%rip), %rsi    # 0x5c2688
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x5479d1(%rip), %rsi    # 0x55a34c
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x4f8f94(%rip), %rsi    # 0x50b922
movl $0x1, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x4f8f83(%rip), %rsi    # 0x50b924
movl $0x4, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x4f8d6c(%rip), %rsi    # 0x50b720
movl $0x200, %edx            # imm = 0x200
movl %ebx, %edi
callq 0x8b20
leaq 0x4f8f59(%rip), %rsi    # 0x50b920
movl $0x2, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x546766(%rip), %rsi    # 0x559140
movl $0x200, %edx            # imm = 0x200
movl %ebx, %edi
callq 0x8b20
leaq 0x547153(%rip), %rsi    # 0x559b40
movl $0x800, %edx            # imm = 0x800
movl %ebx, %edi
callq 0x8b20
leaq 0x546940(%rip), %rsi    # 0x559340
movl $0x800, %edx            # imm = 0x800
movl %ebx, %edi
callq 0x8b20
leaq 0x54792d(%rip), %rsi    # 0x55a340
movl $0x1, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b35a(%rip), %rsi    # 0x12dd80
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b387(%rip), %rsi    # 0x12ddc0
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
leaq 0x11b3b4(%rip), %rsi    # 0x12de00
movl $0x40, %edx
movl %ebx, %edi
callq 0x8b20
movl %ebx, %edi
callq 0x11d42
movl %ebx, %edi
callq 0x2d293
movl %ebx, %edi
callq 0x276b8
movl %ebx, %edi
callq 0x191d2
movl %ebx, %edi
callq 0x8310
movl (%r15), %ebx
testl %ebx, %ebx
js 0x12a92
movswl %bx, %edi
callq 0x1b0cd
movl %ebx, %eax
movl (%r14,%rax,4), %ebx
jmp 0x12a7e
movl (%r13), %eax
movl %eax, (%r12)
leaq 0xce9b3(%rip), %rcx     # 0xe1454
movl %eax, (%rcx)
leaq 0x79a03(%rip), %rdi     # 0x8c4ad
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x14b61
jmp 0x12aba
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