// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/src/tekmsc.c
// Function: choosemap
int
choosemap()
{
     int       lastmap,map,set;
     int      helpclock,stall;

     musicfade();

     fadeout(0,255,0,0,0,25);

     stopallsounds();
     menusong(0);

     smkopenmenu("smkgm.smk");
     lastmap=map=0;
     keystatus[1]=0;
     activemenu=0;
     set=0;
     smkmenuframe(1);

choosingmap:

     if( lastmap != map ) {
          if( set == 0 ) {
               switch( lastmap ) {
               case  0: smkmenuframe( 5); break;
               case  1: smkmenuframe( 9); break;
               case  2: smkmenuframe(13); break;
               case  3: smkmenuframe(17); break;
               case  4: smkmenuframe(21); break;
               case  5: smkmenuframe(25); break;
               case  6: smkmenuframe(29); break;
               case  7: smkmenuframe(33); break;
               case  8: smkmenuframe(37); break;
               }
          }
          else {
               switch( lastmap ) {
               case  0: smkmenuframe(41); break;
               case  1: smkmenuframe(45); break;
               case  2: smkmenuframe(49); break;
               case  3: smkmenuframe(53); break;
               case  4: smkmenuframe(57); break;
               case  5: smkmenuframe(61); break;
               case  6: smkmenuframe(65); break;
               case  7: smkmenuframe(69); break;
               case  8: smkmenuframe(73); break;
               }
          }
     }
     if( set == 0 ) {
          switch( map ) {
          case  0: smkmenuframe( 7); break;
          case  1: smkmenuframe(11); break;
          case  2: smkmenuframe(15); break;
          case  3: smkmenuframe(19); break;
          case  4: smkmenuframe(23); break;
          case  5: smkmenuframe(27); break;
          case  6: smkmenuframe(31); break;
          case  7: smkmenuframe(35); break;
          case  8: smkmenuframe(39); break;
          }
     }
     else {
          switch( map ) {
          case  0: smkmenuframe(43); break;
          case  1: smkmenuframe(47); break;
          case  2: smkmenuframe(51); break;
          case  3: smkmenuframe(55); break;
          case  4: smkmenuframe(59); break;
          case  5: smkmenuframe(63); break;
          case  6: smkmenuframe(67); break;
          case  7: smkmenuframe(71); break;
          case  8: smkmenuframe(75); break;
          }
     }
     smkshowmenu();
     lastmap=map;

     helpclock=totalclock;
     while( (keystatus[1]   == 0) &&
            (keystatus[28]  == 0) &&
            (keystatus[57]  == 0) &&
            (keystatus[38]  == 0) &&
            (keystatus[203] == 0) &&
            (keystatus[205] == 0) &&
            (keystatus[200] == 0) &&
            (keystatus[31]  == 0) &&
            (keystatus[35]  == 0) &&
            (keystatus[208] == 0)  ) {
          if( (totalclock - helpclock) > 1024 ) {
               keystatus[35]=1;
          }
     };

     if( keystatus[203] != 0 ) {         // LF
          map--;
          if( map < 0 ) {
               map=8;
          }
          playsound(S_MENUSOUND1,0,0,0,ST_IMMEDIATE);
     }
     else if( keystatus[205] != 0 ) {    // RT
          map++;
          if( map > 8 ) {
               map=0;
          }
          playsound(S_MENUSOUND1,0,0,0,ST_IMMEDIATE);
     }
     else if( keystatus[200] != 0 ) {    // UP
          switch( map ) {
          case 0: map=6; break;
          case 3: map=0; break;
          case 6: map=3; break;
          case 1: map=7; break;
          case 4: map=1; break;
          case 7: map=4; break;
          case 2: map=8; break;
          case 5: map=2; break;
          case 8: map=5; break;
          }
          playsound(S_MENUSOUND1,0,0,0,ST_IMMEDIATE);
     }
     else if( keystatus[208] != 0 ) {    // DN
          switch( map ) {
          case 0: map=3; break;
          case 3: map=6; break;
          case 6: map=0; break;
          case 1: map=4; break;
          case 4: map=7; break;
          case 7: map=1; break;
          case 2: map=5; break;
          case 5: map=8; break;
          case 8: map=2; break;
          }
          playsound(S_MENUSOUND1,0,0,0,ST_IMMEDIATE);
     }

     keystatus[203]=0;
     keystatus[205]=0;
     keystatus[200]=0;
     keystatus[208]=0;

     if( keystatus[1] != 0 ) {
          playsound(S_PICKUP_BONUS,0,0,0,ST_IMMEDIATE);
          smkmenuframe(77);
          smkshowmenu();
          keystatus[1]=0;
          while( (keystatus[1]  == 0) &&
                 (keystatus[21] == 0) &&
                 (keystatus[49] == 0) ) {
          }
          if( (keystatus[49] == 1) || (keystatus[1] == 1) ) {
               keystatus[49]=0;
               keystatus[1]=0;
               switch( set ) {
               case 0: smkmenuframe(1); break;
               case 1: smkmenuframe(3); break;
               }
               smkshowmenu();
          }
          else {
               fadeout(0,255,0,0,0,50);
               return(0);
          }
     }

     if( keystatus[35] != 0 ) {
          playsound(S_PICKUP_BONUS,0,0,0,ST_IMMEDIATE);
          keystatus[35]=0;
          smkmenuframe(79);
          smkshowmenu();
          keystatus[1]=0;
          helpclock=totalclock;
          while( (keystatus[1]  == 0) &&
                 (keystatus[28] == 0) &&
                 (keystatus[57] == 0) ) {
               if( (totalclock-helpclock) > 2048 ) {
                    keystatus[1]=1;
               }
          }
          keystatus[28]=0;
          keystatus[57]=0;
          keystatus[1]=0;
          switch( set ) {
          case 0: smkmenuframe(1); break;
          case 1: smkmenuframe(3); break;
          }
          smkshowmenu();
     }

     if( (keystatus[1] == 0)  && (keystatus[28] == 0) &&
         (keystatus[57] == 0) && (keystatus[38] == 0) ) {
          goto choosingmap;
     }
     if( (keystatus[57] != 0)  || (keystatus[28] != 0) ) {
          switch( map ) {
          case 4:
               stall=totalclock;
               while( (totalclock-stall) < 32 )
                    ;
               if( set == 0 ) {
                    set=1;
                    smkmenuframe(3);
                    smkshowmenu();
               }
               else {
                    set=0;
                    smkmenuframe(1);
                    smkshowmenu();
               }
               goto choosingmap;
          default:
               break;
          }
     }

     smkclosemenu();

     gameover=0;
     numlives=0;
     civillianskilled=0;
     mission_accomplished=0;

     fadeout(0,255,0,0,0,50);

     clearview(0);

     if( set == 0 ) {
          switch( map ) {
          case  0: newgame("level1.map");  break;
          case  1: newgame("level2.map");  break;
          case  2: newgame("city1.map");   break;
          case  3: newgame("beach1.map");  break;

          case  5: newgame("park1.map");   break;
          case  6: newgame("mid1.map");    break;
          case  7: newgame("mid2.map");    break;
          case  8: newgame("mid3.map");    break;
          default: crashgame("chsmp: bad map num");
          }
     }
     else {
          switch( map ) {
          case  0: newgame("sewer1.map");  break;
          case  1: newgame("sewer2.map");  break;
          case  2: newgame("inds1.map");   break;
          case  3: newgame("free1.map");   break;

          case  5: newgame("free2.map");   break;
          case  6: newgame("ware1.map");   break;
          case  7: newgame("ware2.map");   break;
          case  8: newgame("ware3.map");   break;
          default: crashgame("chsmp: bad map num");
          }
     }

     clearview(0);
     dofadein=32;
     initpaletteshifts();

     musicfade();
     startmusic(rand()%7);

     return(1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movb $0x0, %al
callq 0x280d0
xorl %r8d, %r8d
movl $0xff, %esi
movl $0x19, %r9d
movl %r8d, %edi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x19720
movb $0x0, %al
callq 0x27540
xorl %edi, %edi
callq 0x280f0
leaq 0xb8b97(%rip), %rdi     # 0xd9ca7
callq 0x26170
movl $0x0, -0xc(%rbp)
movl $0x0, -0x8(%rbp)
leaq 0x356fa6(%rip), %rax    # 0x3780d0
movb $0x0, 0x1(%rax)
movl $0x0, 0x15737c(%rip)    # 0x1784b4
movl $0x0, -0x10(%rbp)
movl $0x1, %edi
callq 0x262b0
movl -0x8(%rbp), %eax
cmpl -0xc(%rbp), %eax
je 0x2127e
cmpl $0x0, -0x10(%rbp)
jne 0x211ef
movl -0x8(%rbp), %eax
movq %rax, -0x20(%rbp)
subq $0x8, %rax
ja 0x211ea
movq -0x20(%rbp), %rax
leaq 0xb84d5(%rip), %rcx     # 0xd964c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x5, %edi
callq 0x262b0
jmp 0x211ea
movl $0x9, %edi
callq 0x262b0
jmp 0x211ea
movl $0xd, %edi
callq 0x262b0
jmp 0x211ea
movl $0x11, %edi
callq 0x262b0
jmp 0x211ea
movl $0x15, %edi
callq 0x262b0
jmp 0x211ea
movl $0x19, %edi
callq 0x262b0
jmp 0x211ea
movl $0x1d, %edi
callq 0x262b0
jmp 0x211ea
movl $0x21, %edi
callq 0x262b0
jmp 0x211ea
movl $0x25, %edi
callq 0x262b0
jmp 0x2127c
movl -0x8(%rbp), %eax
movq %rax, -0x28(%rbp)
subq $0x8, %rax
ja 0x2127a
movq -0x28(%rbp), %rax
leaq 0xb8421(%rip), %rcx     # 0xd9628
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x29, %edi
callq 0x262b0
jmp 0x2127a
movl $0x2d, %edi
callq 0x262b0
jmp 0x2127a
movl $0x31, %edi
callq 0x262b0
jmp 0x2127a
movl $0x35, %edi
callq 0x262b0
jmp 0x2127a
movl $0x39, %edi
callq 0x262b0
jmp 0x2127a
movl $0x3d, %edi
callq 0x262b0
jmp 0x2127a
movl $0x41, %edi
callq 0x262b0
jmp 0x2127a
movl $0x45, %edi
callq 0x262b0
jmp 0x2127a
movl $0x49, %edi
callq 0x262b0
jmp 0x2127c
jmp 0x2127e
cmpl $0x0, -0x10(%rbp)
jne 0x21318
movl -0xc(%rbp), %eax
movq %rax, -0x30(%rbp)
subq $0x8, %rax
ja 0x21313
movq -0x30(%rbp), %rax
leaq 0xb83f4(%rip), %rcx     # 0xd9694
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x7, %edi
callq 0x262b0
jmp 0x21313
movl $0xb, %edi
callq 0x262b0
jmp 0x21313
movl $0xf, %edi
callq 0x262b0
jmp 0x21313
movl $0x13, %edi
callq 0x262b0
jmp 0x21313
movl $0x17, %edi
callq 0x262b0
jmp 0x21313
movl $0x1b, %edi
callq 0x262b0
jmp 0x21313
movl $0x1f, %edi
callq 0x262b0
jmp 0x21313
movl $0x23, %edi
callq 0x262b0
jmp 0x21313
movl $0x27, %edi
callq 0x262b0
jmp 0x213a5
movl -0xc(%rbp), %eax
movq %rax, -0x38(%rbp)
subq $0x8, %rax
ja 0x213a3
movq -0x38(%rbp), %rax
leaq 0xb8340(%rip), %rcx     # 0xd9670
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x2b, %edi
callq 0x262b0
jmp 0x213a3
movl $0x2f, %edi
callq 0x262b0
jmp 0x213a3
movl $0x33, %edi
callq 0x262b0
jmp 0x213a3
movl $0x37, %edi
callq 0x262b0
jmp 0x213a3
movl $0x3b, %edi
callq 0x262b0
jmp 0x213a3
movl $0x3f, %edi
callq 0x262b0
jmp 0x213a3
movl $0x43, %edi
callq 0x262b0
jmp 0x213a3
movl $0x47, %edi
callq 0x262b0
jmp 0x213a3
movl $0x4b, %edi
callq 0x262b0
jmp 0x213a5
movb $0x0, %al
callq 0x263a0
movl -0xc(%rbp), %eax
movl %eax, -0x8(%rbp)
leaq 0x584f5f(%rip), %rax    # 0x5a6318
movl (%rax), %eax
movl %eax, -0x14(%rbp)
leaq 0x356d0b(%rip), %rax    # 0x3780d0
movsbl 0x1(%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x39(%rbp)
jne 0x214ab
leaq 0x356cf2(%rip), %rax    # 0x3780d0
movsbl 0x1c(%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x39(%rbp)
jne 0x214ab
leaq 0x356cd9(%rip), %rax    # 0x3780d0
movsbl 0x39(%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x39(%rbp)
jne 0x214ab
leaq 0x356cc0(%rip), %rax    # 0x3780d0
movsbl 0x26(%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x39(%rbp)
jne 0x214ab
leaq 0x356ca7(%rip), %rax    # 0x3780d0
movsbl 0xcb(%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x39(%rbp)
jne 0x214ab
leaq 0x356c8f(%rip), %rax    # 0x3780d0
movsbl 0xcd(%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x39(%rbp)
jne 0x214ab
leaq 0x356c77(%rip), %rax    # 0x3780d0
movsbl 0xc8(%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x39(%rbp)
jne 0x214ab
leaq 0x356c5f(%rip), %rax    # 0x3780d0
movsbl 0x1f(%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x39(%rbp)
jne 0x214ab
leaq 0x356c4a(%rip), %rax    # 0x3780d0
movsbl 0x23(%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x39(%rbp)
jne 0x214ab
leaq 0x356c35(%rip), %rax    # 0x3780d0
movsbl 0xd0(%rax), %eax
cmpl $0x0, %eax
sete %al
movb %al, -0x39(%rbp)
movb -0x39(%rbp), %al
testb $0x1, %al
jne 0x214b4
jmp 0x214d7
leaq 0x584e5d(%rip), %rax    # 0x5a6318
movl (%rax), %eax
subl -0x14(%rbp), %eax
cmpl $0x400, %eax            # imm = 0x400
jle 0x214d2
leaq 0x356c02(%rip), %rax    # 0x3780d0
movb $0x1, 0x23(%rax)
jmp 0x213be
leaq 0x356bf2(%rip), %rax    # 0x3780d0
movsbl 0xcb(%rax), %eax
cmpl $0x0, %eax
je 0x2151b
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
cmpl $0x0, -0xc(%rbp)
jge 0x21500
movl $0x8, -0xc(%rbp)
movl $0x34, %edi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x26af0
jmp 0x216a4
leaq 0x356bae(%rip), %rax    # 0x3780d0
movsbl 0xcd(%rax), %eax
cmpl $0x0, %eax
je 0x2155f
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
cmpl $0x8, -0xc(%rbp)
jle 0x21544
movl $0x0, -0xc(%rbp)
movl $0x34, %edi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x26af0
jmp 0x216a2
leaq 0x356b6a(%rip), %rax    # 0x3780d0
movsbl 0xc8(%rax), %eax
cmpl $0x0, %eax
je 0x21601
movl -0xc(%rbp), %eax
movq %rax, -0x48(%rbp)
subq $0x8, %rax
ja 0x215e6
movq -0x48(%rbp), %rax
leaq 0xb814e(%rip), %rcx     # 0xd96dc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x6, -0xc(%rbp)
jmp 0x215e6
movl $0x0, -0xc(%rbp)
jmp 0x215e6
movl $0x3, -0xc(%rbp)
jmp 0x215e6
movl $0x7, -0xc(%rbp)
jmp 0x215e6
movl $0x1, -0xc(%rbp)
jmp 0x215e6
movl $0x4, -0xc(%rbp)
jmp 0x215e6
movl $0x8, -0xc(%rbp)
jmp 0x215e6
movl $0x2, -0xc(%rbp)
jmp 0x215e6
movl $0x5, -0xc(%rbp)
movl $0x34, %edi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x26af0
jmp 0x216a0
leaq 0x356ac8(%rip), %rax    # 0x3780d0
movsbl 0xd0(%rax), %eax
cmpl $0x0, %eax
je 0x2169e
movl -0xc(%rbp), %eax
movq %rax, -0x50(%rbp)
subq $0x8, %rax
ja 0x21688
movq -0x50(%rbp), %rax
leaq 0xb8088(%rip), %rcx     # 0xd96b8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x3, -0xc(%rbp)
jmp 0x21688
movl $0x6, -0xc(%rbp)
jmp 0x21688
movl $0x0, -0xc(%rbp)
jmp 0x21688
movl $0x4, -0xc(%rbp)
jmp 0x21688
movl $0x7, -0xc(%rbp)
jmp 0x21688
movl $0x1, -0xc(%rbp)
jmp 0x21688
movl $0x5, -0xc(%rbp)
jmp 0x21688
movl $0x8, -0xc(%rbp)
jmp 0x21688
movl $0x2, -0xc(%rbp)
movl $0x34, %edi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x26af0
jmp 0x216a0
jmp 0x216a2
jmp 0x216a4
leaq 0x356a25(%rip), %rax    # 0x3780d0
movb $0x0, 0xcb(%rax)
leaq 0x356a17(%rip), %rax    # 0x3780d0
movb $0x0, 0xcd(%rax)
leaq 0x356a09(%rip), %rax    # 0x3780d0
movb $0x0, 0xc8(%rax)
leaq 0x3569fb(%rip), %rax    # 0x3780d0
movb $0x0, 0xd0(%rax)
leaq 0x3569ed(%rip), %rax    # 0x3780d0
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
je 0x217f9
movl $0x6e, %edi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x26af0
movl $0x4d, %edi
callq 0x262b0
movb $0x0, %al
callq 0x263a0
leaq 0x3569b2(%rip), %rax    # 0x3780d0
movb $0x0, 0x1(%rax)
leaq 0x3569a7(%rip), %rax    # 0x3780d0
movsbl 0x1(%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x51(%rbp)
jne 0x21760
leaq 0x356992(%rip), %rax    # 0x3780d0
movsbl 0x15(%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x51(%rbp)
jne 0x21760
leaq 0x35697d(%rip), %rax    # 0x3780d0
movsbl 0x31(%rax), %eax
cmpl $0x0, %eax
sete %al
movb %al, -0x51(%rbp)
movb -0x51(%rbp), %al
testb $0x1, %al
jne 0x21769
jmp 0x2176b
jmp 0x21722
leaq 0x35695e(%rip), %rax    # 0x3780d0
movsbl 0x31(%rax), %eax
cmpl $0x1, %eax
je 0x2178b
leaq 0x35694e(%rip), %rax    # 0x3780d0
movsbl 0x1(%rax), %eax
cmpl $0x1, %eax
jne 0x217cf
leaq 0x35693e(%rip), %rax    # 0x3780d0
movb $0x0, 0x31(%rax)
movb $0x0, 0x1(%rax)
movl -0x10(%rbp), %eax
movl %eax, -0x58(%rbp)
testl %eax, %eax
je 0x217b0
jmp 0x217a6
movl -0x58(%rbp), %eax
subl $0x1, %eax
je 0x217bc
jmp 0x217c6
movl $0x1, %edi
callq 0x262b0
jmp 0x217c6
movl $0x3, %edi
callq 0x262b0
movb $0x0, %al
callq 0x263a0
jmp 0x217f7
xorl %r8d, %r8d
movl $0xff, %esi
movl $0x32, %r9d
movl %r8d, %edi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x19720
movl $0x0, -0x4(%rbp)
jmp 0x21ba7
jmp 0x217f9
leaq 0x3568d0(%rip), %rax    # 0x3780d0
movsbl 0x23(%rax), %eax
cmpl $0x0, %eax
je 0x21903
movl $0x6e, %edi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x26af0
leaq 0x3568a6(%rip), %rax    # 0x3780d0
movb $0x0, 0x23(%rax)
movl $0x4f, %edi
callq 0x262b0
movb $0x0, %al
callq 0x263a0
leaq 0x35688a(%rip), %rax    # 0x3780d0
movb $0x0, 0x1(%rax)
leaq 0x584ac7(%rip), %rax    # 0x5a6318
movl (%rax), %eax
movl %eax, -0x14(%rbp)
leaq 0x356873(%rip), %rax    # 0x3780d0
movsbl 0x1(%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x59(%rbp)
jne 0x21894
leaq 0x35685e(%rip), %rax    # 0x3780d0
movsbl 0x1c(%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x59(%rbp)
jne 0x21894
leaq 0x356849(%rip), %rax    # 0x3780d0
movsbl 0x39(%rax), %eax
cmpl $0x0, %eax
sete %al
movb %al, -0x59(%rbp)
movb -0x59(%rbp), %al
testb $0x1, %al
jne 0x2189d
jmp 0x218bd
leaq 0x584a74(%rip), %rax    # 0x5a6318
movl (%rax), %eax
subl -0x14(%rbp), %eax
cmpl $0x800, %eax            # imm = 0x800
jle 0x218bb
leaq 0x356819(%rip), %rax    # 0x3780d0
movb $0x1, 0x1(%rax)
jmp 0x21856
leaq 0x35680c(%rip), %rax    # 0x3780d0
movb $0x0, 0x1c(%rax)
movb $0x0, 0x39(%rax)
movb $0x0, 0x1(%rax)
movl -0x10(%rbp), %eax
movl %eax, -0x60(%rbp)
testl %eax, %eax
je 0x218e6
jmp 0x218dc
movl -0x60(%rbp), %eax
subl $0x1, %eax
je 0x218f2
jmp 0x218fc
movl $0x1, %edi
callq 0x262b0
jmp 0x218fc
movl $0x3, %edi
callq 0x262b0
movb $0x0, %al
callq 0x263a0
leaq 0x3567c6(%rip), %rax    # 0x3780d0
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x21948
leaq 0x3567b6(%rip), %rax    # 0x3780d0
movsbl 0x1c(%rax), %eax
cmpl $0x0, %eax
jne 0x21948
leaq 0x3567a6(%rip), %rax    # 0x3780d0
movsbl 0x39(%rax), %eax
cmpl $0x0, %eax
jne 0x21948
leaq 0x356796(%rip), %rax    # 0x3780d0
movsbl 0x26(%rax), %eax
cmpl $0x0, %eax
jne 0x21948
jmp 0x21149
leaq 0x356781(%rip), %rax    # 0x3780d0
movsbl 0x39(%rax), %eax
cmpl $0x0, %eax
jne 0x21968
leaq 0x356771(%rip), %rax    # 0x3780d0
movsbl 0x1c(%rax), %eax
cmpl $0x0, %eax
je 0x219d2
movl -0xc(%rbp), %eax
subl $0x4, %eax
jne 0x219ce
jmp 0x21972
leaq 0x58499f(%rip), %rax    # 0x5a6318
movl (%rax), %eax
movl %eax, -0x18(%rbp)
leaq 0x584993(%rip), %rax    # 0x5a6318
movl (%rax), %eax
subl -0x18(%rbp), %eax
cmpl $0x20, %eax
jge 0x21991
jmp 0x2197e
cmpl $0x0, -0x10(%rbp)
jne 0x219b1
movl $0x1, -0x10(%rbp)
movl $0x3, %edi
callq 0x262b0
movb $0x0, %al
callq 0x263a0
jmp 0x219c9
movl $0x0, -0x10(%rbp)
movl $0x1, %edi
callq 0x262b0
movb $0x0, %al
callq 0x263a0
jmp 0x21149
jmp 0x219d0
jmp 0x219d2
movb $0x0, %al
callq 0x26450
movb $0x0, 0x156ad9(%rip)    # 0x1784b9
movb $0x0, 0x156aed(%rip)    # 0x1784d4
movl $0x0, 0x156ae7(%rip)    # 0x1784d8
movb $0x0, 0x156add(%rip)    # 0x1784d5
xorl %r8d, %r8d
movl $0xff, %esi
movl $0x32, %r9d
movl %r8d, %edi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x19720
xorl %edi, %edi
callq 0x72830
cmpl $0x0, -0x10(%rbp)
jne 0x21acd
movl -0xc(%rbp), %eax
movq %rax, -0x68(%rbp)
subq $0x8, %rax
ja 0x21aba
movq -0x68(%rbp), %rax
leaq 0xb7ce3(%rip), %rcx     # 0xd9724
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xb7f9e(%rip), %rdi     # 0xd99ef
callq 0x1d7e0
jmp 0x21ac8
leaq 0xb7f9b(%rip), %rdi     # 0xd99fa
callq 0x1d7e0
jmp 0x21ac8
leaq 0xb7f98(%rip), %rdi     # 0xd9a05
callq 0x1d7e0
jmp 0x21ac8
leaq 0xb7f94(%rip), %rdi     # 0xd9a0f
callq 0x1d7e0
jmp 0x21ac8
leaq 0xb7f91(%rip), %rdi     # 0xd9a1a
callq 0x1d7e0
jmp 0x21ac8
leaq 0xb7f8d(%rip), %rdi     # 0xd9a24
callq 0x1d7e0
jmp 0x21ac8
leaq 0xb7f88(%rip), %rdi     # 0xd9a2d
callq 0x1d7e0
jmp 0x21ac8
leaq 0xb7f83(%rip), %rdi     # 0xd9a36
callq 0x1d7e0
jmp 0x21ac8
leaq 0xb81f0(%rip), %rdi     # 0xd9cb1
movb $0x0, %al
callq 0x44240
jmp 0x21b72
movl -0xc(%rbp), %eax
movq %rax, -0x70(%rbp)
subq $0x8, %rax
ja 0x21b62
movq -0x70(%rbp), %rax
leaq 0xb7c17(%rip), %rcx     # 0xd9700
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xb7f46(%rip), %rdi     # 0xd9a3f
callq 0x1d7e0
jmp 0x21b70
leaq 0xb7f43(%rip), %rdi     # 0xd9a4a
callq 0x1d7e0
jmp 0x21b70
leaq 0xb7f40(%rip), %rdi     # 0xd9a55
callq 0x1d7e0
jmp 0x21b70
leaq 0xb7f3c(%rip), %rdi     # 0xd9a5f
callq 0x1d7e0
jmp 0x21b70
leaq 0xb7f38(%rip), %rdi     # 0xd9a69
callq 0x1d7e0
jmp 0x21b70
leaq 0xb7f34(%rip), %rdi     # 0xd9a73
callq 0x1d7e0
jmp 0x21b70
leaq 0xb7f30(%rip), %rdi     # 0xd9a7d
callq 0x1d7e0
jmp 0x21b70
leaq 0xb7f2c(%rip), %rdi     # 0xd9a87
callq 0x1d7e0
jmp 0x21b70
leaq 0xb8148(%rip), %rdi     # 0xd9cb1
movb $0x0, %al
callq 0x44240
jmp 0x21b72
xorl %edi, %edi
callq 0x72830
movb $0x20, 0x156938(%rip)   # 0x1784b8
callq 0x19830
movb $0x0, %al
callq 0x280d0
callq 0x8da0
movl $0x7, %ecx
cltd
idivl %ecx
movl %edx, %edi
callq 0x281b0
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x70, %rsp
popq %rbp
retq