// File: /workspace/github_c_makefile_star2_O0/Edilbert[P]BS9/bs9.c
// Function: main
int main(int argc, char *argv[])
{
   int ic,l,v;
   char *EndPtr;
   char *argsrc = NULL; // argument filename;
   time_t rawtime;
   struct tm * timeinfo;

   time (&rawtime);
   timeinfo = localtime (&rawtime);
   strftime (datebuffer,80,"%e-%b-%Y",timeinfo);

   for (ic=1 ; ic < argc ; ++ic)
   {
           if (!strcmp(argv[ic],"-x")) SkipHex    = 1;
      else if (!strcmp(argv[ic],"-d")) Debug      = 1;
      else if (!strcmp(argv[ic],"-i")) IgnoreCase = 1;
      else if (!strcmp(argv[ic],"-m")) CodeStyle  = 1;
      else if (!strcmp(argv[ic],"-n")) WithLiNo   = 1;
      else if (!strcmp(argv[ic],"-o")) Optimize   = 1;
      else if (!strcmp(argv[ic],"-y")) Symbols    = 1;
      else if (!strcmp(argv[ic],"-p")) Preprocess = 1;
      else if (!strcmp(argv[ic],"-q")) Quiet      = 1;
      else if (!strncmp(argv[ic],"-I",2)) DefineIncludePath(argv[++ic]);
      else if (!strncmp(argv[ic],"-D",2)) DefineLabel(argv[ic]+2,&v,'D');
      else if (!strncmp(argv[ic],"-l",2))
      {
         if (++ic == argc)
         {
            fprintf(stderr, "Missing value for -l\n");
            exit(1);
         }
         errno = 0;
         Preset = strtol(argv[ic], &EndPtr,0);
         if (errno != 0 || *EndPtr != '\0' || Preset < 0 || Preset > 0xff)
         {
            fprintf(stderr, "Illegal value '%s' for -l\n",argv[ic]);
            exit(1);
         }
         memset(ROM,Preset,sizeof(ROM));
      }
      else if (argsrc == NULL && (argv[ic][0] >= '0' || argv[ic][0] == '.'))
      {
         argsrc = argv[ic];
      }
      else
      {
         usage();
      }
   }
   if (!argsrc)
   {
      printf("*** missing filename for assembler source file ***\n");
      usage();
   }

   // default file names if only source file specified:
   // prog.as9   prog.pp   prog.lst   prog.opt

   l = strlen(argsrc);
   if (l > FNSIZE - 4)
   {
      fprintf(stderr,"\n*** filename too long ***\n");
      exit(1);
   }

   // check extension of form ".xxx"

   if (l > 4 && argsrc[l-4] == '.')
   {
      Src = (char *)StrNDup(argsrc,l);
      l -= 4; // length of basename
   }
   else
   {
      Src = StrNDup(argsrc,l+4);
      memmove(Src+l,".as9",4); // add default extension
   }

   // set static filenames

   memmove(Pre,Src,l);
   memmove(Lst,Src,l);
   memmove(Sym,Src,l);

   // add extensions

   memmove(Pre+l,".pp" ,3);
   memmove(Lst+l,".ls9",4);
   memmove(Sym+l,".sym",4);

   if (!Quiet)
   {
      printf("\n");
      printf("*******************************************\n");
      printf("* Bit Shift Assembler 21-Apr-2025         *\n");
      printf("* Today is            %s         *\n",datebuffer);
      printf("* --------------------------------------- *\n");
      printf("* Source: %-31.31s *\n",Src);
      printf("* List  : %-31.31s *\n",Lst);
      if (Ipa[0]) printf("* Incl. : %-31.31s *\n",Ipa);
   }

   sf = fopen(Src,"r");
   if (!sf)
   {
      printf("Could not open <%s>\n",Src);
      exit(1);
   }
   IncludeStack[0].fp = sf;
   IncludeStack[0].Src = Src;
                   lf = AssertFileOp(fopen(Lst,"w"), "Open list file");
   if (Debug)      df = AssertFileOp(fopen("Debug.lst","w"), "Open Debug file");
   if (Preprocess) pf = AssertFileOp(fopen(Pre,"w"), "Open preprocessor file");
   if (Symbols)    yf = AssertFileOp(fopen(Sym,"w"), "Open symbol file");

   for (Pass = 1 ; Pass <= MaxPass ; ++Pass)
   {
      Phase1();
      if (!Quiet)
      {
         if (Pass == 1) printf("* Pass 1: %5d Unresolved branches       *\n",Unresolved);
         else           printf("* Pass%2d: %5d Labels changed            *\n",Pass,Changes);
      }
      if (Pass > 1 && Changes == 0) break;
   }
   Pass = 0;
   Phase2();
   WriteBinaries();
   ListUndefinedSymbols();
   qsort(lab,Labels,sizeof(struct LabelStruct),CmpAddress);
   if (yf) PrintSymbols();
   fprintf(lf,"\n\n%5d Symbols\n",Labels);
   fprintf(lf,"-------------\n");
   ListSymbols(lf,Labels,0,0xffff);
   qsort(lab,Labels,sizeof(struct LabelStruct),CmpRefs);
   ListSymbols(lf,Labels,0,0xff);
   ListSymbols(lf,Labels,0,0x4000);
   if (fclose(sf)) AssertFileOp(NULL, "Close source file");
   if (fclose(lf)) AssertFileOp(NULL, "Close list file");
   if (yf) if (fclose(yf)) AssertFileOp(NULL, "Close symbol file");
   if (df) if (fclose(df)) AssertFileOp(NULL, "Close debug file");
   if (!Quiet)
   {
      printf("* -d:%s  -i:%s  -n:%s  -o:%s  -x:%s  *\n",
            Stat(Debug),Stat(IgnoreCase),Stat(WithLiNo),
            Stat(Optimize),Stat(SkipHex));
      printf("*******************************************\n");
      printf("* Source Lines: %6d                    *\n",TotalLiNo);
      printf("* Symbols     : %6d                    *\n",Labels);
      printf("* Macros      : %6d                    *\n",Macros);
      if (Preset)
      printf("* Preset      : %6d                    *\n",Preset);
      printf("*******************************************\n");
   }
   if (ErrNum)
      printf("* %3d ERROR%s occured%s                      *\n",
             ErrNum, ErrNum == 1 ? "" : "S", ErrNum == 1 ? " " : "");
   else if (!Quiet) printf("* OK, no errors                           *\n");
   if (!Quiet) printf("*******************************************\n\n");
   // MneStat();
   return ErrNum;
}

// Assembly:
subq $0x68, %rsp
movl $0x0, 0x64(%rsp)
movl %edi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
movq $0x0, 0x38(%rsp)
leaq 0x30(%rsp), %rdi
callq 0x2220
leaq 0x30(%rsp), %rdi
callq 0x2040
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rcx
leaq 0x797dd(%rip), %rdi     # 0x88440
movl $0x50, %esi
leaq 0x2c48(%rip), %rdx      # 0x118b7
callq 0x2250
movl $0x1, 0x54(%rsp)
movl 0x54(%rsp), %eax
cmpl 0x60(%rsp), %eax
jge 0xf02d
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x2c21(%rip), %rsi      # 0x118c0
callq 0x21c0
cmpl $0x0, %eax
jne 0xecb8
movl $0x1, 0x1907d(%rip)     # 0x27d30
jmp 0xf01b
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x2bf6(%rip), %rsi      # 0x118c3
callq 0x21c0
cmpl $0x0, %eax
jne 0xece6
movl $0x1, 0x19053(%rip)     # 0x27d34
jmp 0xf019
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x2bcb(%rip), %rsi      # 0x118c6
callq 0x21c0
cmpl $0x0, %eax
jne 0xed14
movl $0x1, 0x19cf9(%rip)     # 0x28a08
jmp 0xf017
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x2ba0(%rip), %rsi      # 0x118c9
callq 0x21c0
cmpl $0x0, %eax
jne 0xed42
movl $0x1, 0x791f7(%rip)     # 0x87f34
jmp 0xf015
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x2b75(%rip), %rsi      # 0x118cc
callq 0x21c0
cmpl $0x0, %eax
jne 0xed70
movl $0x1, 0x18fd1(%rip)     # 0x27d3c
jmp 0xf013
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x2b4a(%rip), %rsi      # 0x118cf
callq 0x21c0
cmpl $0x0, %eax
jne 0xed9e
movl $0x1, 0x7c2f7(%rip)     # 0x8b090
jmp 0xf011
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x2b1f(%rip), %rsi      # 0x118d2
callq 0x21c0
cmpl $0x0, %eax
jne 0xedcc
movl $0x1, 0x8945(%rip)      # 0x1770c
jmp 0xf00f
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x2af4(%rip), %rsi      # 0x118d5
callq 0x21c0
cmpl $0x0, %eax
jne 0xedfa
movl $0x1, 0x18f4f(%rip)     # 0x27d44
jmp 0xf00d
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x2ac9(%rip), %rsi      # 0x118d8
callq 0x21c0
cmpl $0x0, %eax
jne 0xee28
movl $0x1, 0x18f25(%rip)     # 0x27d48
jmp 0xf00b
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x2a9e(%rip), %rsi      # 0x118db
movl $0x2, %edx
callq 0x2060
cmpl $0x0, %eax
jne 0xee6d
movq 0x58(%rsp), %rax
movl 0x54(%rsp), %ecx
addl $0x1, %ecx
movl %ecx, 0x54(%rsp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0xebd0
jmp 0xf009
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x2a5c(%rip), %rsi      # 0x118de
movl $0x2, %edx
callq 0x2060
cmpl $0x0, %eax
jne 0xeeb7
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x2, %rdi
leaq 0x4c(%rsp), %rsi
movl $0x44, %edx
callq 0x3de0
jmp 0xf007
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x2a15(%rip), %rsi      # 0x118e1
movl $0x2, %edx
callq 0x2060
cmpl $0x0, %eax
jne 0xefb5
movl 0x54(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x54(%rsp)
cmpl 0x60(%rsp), %eax
jne 0xef12
movq 0x6101(%rip), %rax      # 0x14ff8
movq (%rax), %rdi
leaq 0x29e3(%rip), %rsi      # 0x118e4
movb $0x0, %al
callq 0x21e0
movl $0x1, %edi
callq 0x22b0
callq 0x2050
movl $0x0, (%rax)
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x40(%rsp), %rsi
xorl %edx, %edx
callq 0x2210
movl %eax, 0x7955b(%rip)     # 0x88498
callq 0x2050
cmpl $0x0, (%rax)
jne 0xef69
movq 0x40(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0xef69
cmpl $0x0, 0x7953d(%rip)     # 0x88498
jl 0xef69
cmpl $0xff, 0x79531(%rip)    # 0x88498
jle 0xef99
movq 0x6088(%rip), %rax      # 0x14ff8
movq (%rax), %rdi
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x2972(%rip), %rsi      # 0x118fa
movb $0x0, %al
callq 0x21e0
movl $0x1, %edi
callq 0x22b0
movl 0x794f9(%rip), %eax     # 0x88498
leaq 0x8c8a(%rip), %rdi      # 0x17c30
movl $0x10100, %edx          # imm = 0x10100
movzbl %al, %esi
callq 0x2160
jmp 0xf005
cmpq $0x0, 0x38(%rsp)
jne 0xeffe
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x30, %eax
jge 0xefe9
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x2e, %eax
jne 0xeffe
movq 0x58(%rsp), %rax
movslq 0x54(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x38(%rsp)
jmp 0xf003
callq 0xeb00
jmp 0xf005
jmp 0xf007
jmp 0xf009
jmp 0xf00b
jmp 0xf00d
jmp 0xf00f
jmp 0xf011
jmp 0xf013
jmp 0xf015
jmp 0xf017
jmp 0xf019
jmp 0xf01b
jmp 0xf01d
movl 0x54(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x54(%rsp)
jmp 0xec7c
cmpq $0x0, 0x38(%rsp)
jne 0xf048
leaq 0x28d9(%rip), %rdi      # 0x11915
movb $0x0, %al
callq 0x2110
callq 0xeb00
movq 0x38(%rsp), %rdi
callq 0x20f0
movl %eax, 0x50(%rsp)
cmpl $0xfc, 0x50(%rsp)
jle 0xf082
movq 0x5f91(%rip), %rax      # 0x14ff8
movq (%rax), %rdi
leaq 0x28d8(%rip), %rsi      # 0x11949
movb $0x0, %al
callq 0x21e0
movl $0x1, %edi
callq 0x22b0
cmpl $0x4, 0x50(%rsp)
jle 0xf0c3
movq 0x38(%rsp), %rax
movl 0x50(%rsp), %ecx
subl $0x4, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2e, %eax
jne 0xf0c3
movq 0x38(%rsp), %rdi
movl 0x50(%rsp), %esi
callq 0x26b0
movq %rax, 0x7bfe2(%rip)     # 0x8b098
movl 0x50(%rsp), %eax
subl $0x4, %eax
movl %eax, 0x50(%rsp)
jmp 0xf0f2
movq 0x38(%rsp), %rdi
movl 0x50(%rsp), %esi
addl $0x4, %esi
callq 0x26b0
movq %rax, 0x7bfbd(%rip)     # 0x8b098
movq 0x7bfb6(%rip), %rax     # 0x8b098
movslq 0x50(%rsp), %rcx
addq %rcx, %rax
movl 0x2875(%rip), %ecx      # 0x11965
movl %ecx, (%rax)
movq 0x7bf9f(%rip), %rsi     # 0x8b098
movslq 0x50(%rsp), %rdx
leaq 0x7bf9b(%rip), %rdi     # 0x8b0a0
callq 0x2260
movq 0x7bf87(%rip), %rsi     # 0x8b098
movslq 0x50(%rsp), %rdx
leaq 0x7c083(%rip), %rdi     # 0x8b1a0
callq 0x2260
movq 0x7bf6f(%rip), %rsi     # 0x8b098
movslq 0x50(%rsp), %rdx
leaq 0x7c16b(%rip), %rdi     # 0x8b2a0
callq 0x2260
movslq 0x50(%rsp), %rcx
leaq 0x7bf5a(%rip), %rax     # 0x8b0a0
addq %rcx, %rax
movw 0x281a(%rip), %cx       # 0x1196a
movb 0x2816(%rip), %dl       # 0x1196c
movb %dl, 0x2(%rax)
movw %cx, (%rax)
movslq 0x50(%rsp), %rcx
leaq 0x7c038(%rip), %rax     # 0x8b1a0
addq %rcx, %rax
movl 0x27fd(%rip), %ecx      # 0x1196e
movl %ecx, (%rax)
movslq 0x50(%rsp), %rcx
leaq 0x7c121(%rip), %rax     # 0x8b2a0
addq %rcx, %rax
movl 0x27eb(%rip), %ecx      # 0x11973
movl %ecx, (%rax)
cmpl $0x0, 0x18bb7(%rip)     # 0x27d48
jne 0xf22e
leaq 0x2b33(%rip), %rdi      # 0x11cd1
movb $0x0, %al
callq 0x2110
leaq 0x27cc(%rip), %rdi      # 0x11978
movb $0x0, %al
callq 0x2110
leaq 0x27eb(%rip), %rdi      # 0x119a5
movb $0x0, %al
callq 0x2110
leaq 0x280a(%rip), %rdi      # 0x119d2
leaq 0x79271(%rip), %rsi     # 0x88440
movb $0x0, %al
callq 0x2110
leaq 0x2819(%rip), %rdi      # 0x119f6
movb $0x0, %al
callq 0x2110
movq 0x7bead(%rip), %rsi     # 0x8b098
leaq 0x2831(%rip), %rdi      # 0x11a23
movb $0x0, %al
callq 0x2110
leaq 0x2839(%rip), %rdi      # 0x11a39
leaq 0x7bf99(%rip), %rsi     # 0x8b1a0
movb $0x0, %al
callq 0x2110
cmpb $0x0, 0x78f4b(%rip)     # 0x88160
je 0xf22c
leaq 0x2831(%rip), %rdi      # 0x11a4f
leaq 0x78f3b(%rip), %rsi     # 0x88160
movb $0x0, %al
callq 0x2110
jmp 0xf22e
movq 0x7be63(%rip), %rdi     # 0x8b098
leaq 0x24b0(%rip), %rsi      # 0x116ec
callq 0x2270
movq %rax, 0x78f10(%rip)     # 0x88158
cmpq $0x0, 0x78f08(%rip)     # 0x88158
jne 0xf271
movq 0x7be3f(%rip), %rsi     # 0x8b098
leaq 0x2805(%rip), %rdi      # 0x11a65
movb $0x0, %al
callq 0x2110
movl $0x1, %edi
callq 0x22b0
movq 0x78ee0(%rip), %rax     # 0x88158
movq %rax, 0x18e01(%rip)     # 0x28080
movq 0x7be12(%rip), %rax     # 0x8b098
movq %rax, 0x18e03(%rip)     # 0x28090
leaq 0x7bf0c(%rip), %rdi     # 0x8b1a0
leaq 0x27df(%rip), %rsi      # 0x11a7a
callq 0x2270
movq %rax, %rdi
leaq 0x27d2(%rip), %rsi      # 0x11a7c
callq 0x2670
movq %rax, 0x19732(%rip)     # 0x289e8
cmpl $0x0, 0x18a77(%rip)     # 0x27d34
je 0xf2e8
leaq 0x27c5(%rip), %rdi      # 0x11a8b
leaq 0x27ad(%rip), %rsi      # 0x11a7a
callq 0x2270
movq %rax, %rdi
leaq 0x27b9(%rip), %rsi      # 0x11a95
callq 0x2670
movq %rax, 0x19708(%rip)     # 0x289f0
cmpl $0x0, 0x18a55(%rip)     # 0x27d44
je 0xf31a
leaq 0x7bda8(%rip), %rdi     # 0x8b0a0
leaq 0x277b(%rip), %rsi      # 0x11a7a
callq 0x2270
movq %rax, %rdi
leaq 0x2797(%rip), %rsi      # 0x11aa5
callq 0x2670
movq %rax, 0x7b49e(%rip)     # 0x8a7b8
cmpl $0x0, 0x83eb(%rip)      # 0x1770c
je 0xf34c
leaq 0x7bf76(%rip), %rdi     # 0x8b2a0
leaq 0x2749(%rip), %rsi      # 0x11a7a
callq 0x2270
movq %rax, %rdi
leaq 0x277c(%rip), %rsi      # 0x11abc
callq 0x2670
movq %rax, 0x7bce4(%rip)     # 0x8b030
movl $0x1, 0x196a2(%rip)     # 0x289f8
movl 0x1969c(%rip), %eax     # 0x289f8
cmpl 0x83ae(%rip), %eax      # 0x17710
jg 0xf3d4
callq 0xd880
cmpl $0x0, 0x189d8(%rip)     # 0x27d48
jne 0xf3ad
cmpl $0x1, 0x1967f(%rip)     # 0x289f8
jne 0xf391
movl 0x7b42f(%rip), %esi     # 0x8a7b0
leaq 0x2745(%rip), %rdi      # 0x11acd
movb $0x0, %al
callq 0x2110
jmp 0xf3ab
movl 0x19661(%rip), %esi     # 0x289f8
movl 0x78ca3(%rip), %edx     # 0x88040
leaq 0x2754(%rip), %rdi      # 0x11af8
movb $0x0, %al
callq 0x2110
jmp 0xf3ad
cmpl $0x1, 0x19644(%rip)     # 0x289f8
jle 0xf3c1
cmpl $0x0, 0x78c83(%rip)     # 0x88040
jne 0xf3c1
jmp 0xf3d4
jmp 0xf3c3
movl 0x1962f(%rip), %eax     # 0x289f8
addl $0x1, %eax
movl %eax, 0x19626(%rip)     # 0x289f8
jmp 0xf356
movl $0x0, 0x1961a(%rip)     # 0x289f8
callq 0xda80
callq 0xea60
callq 0xe0a0
movslq 0x19620(%rip), %rsi     # 0x28a14
leaq 0x19625(%rip), %rdi     # 0x28a20
movl $0x30, %edx
leaq -0x12e7(%rip), %rcx     # 0xe120
callq 0x20a0
cmpq $0x0, 0x7bc1c(%rip)     # 0x8b030
je 0xf41b
callq 0xdfc0
movq 0x195c6(%rip), %rdi     # 0x289e8
movl 0x195ec(%rip), %edx     # 0x28a14
leaq 0x26f5(%rip), %rsi      # 0x11b24
movb $0x0, %al
callq 0x21e0
movq 0x195ab(%rip), %rdi     # 0x289e8
leaq 0x1eac(%rip), %rsi      # 0x112f0
movb $0x0, %al
callq 0x21e0
movq 0x19596(%rip), %rdi     # 0x289e8
movl 0x195bc(%rip), %esi     # 0x28a14
xorl %edx, %edx
movl $0xffff, %ecx           # imm = 0xFFFF
callq 0xdd50
movslq 0x195a9(%rip), %rsi     # 0x28a14
leaq 0x195ae(%rip), %rdi     # 0x28a20
movl $0x30, %edx
leaq -0x12ee(%rip), %rcx     # 0xe190
callq 0x20a0
movq 0x1955e(%rip), %rdi     # 0x289e8
movl 0x19584(%rip), %esi     # 0x28a14
xorl %edx, %edx
movl $0xff, %ecx
callq 0xdd50
movq 0x19545(%rip), %rdi     # 0x289e8
movl 0x1956b(%rip), %esi     # 0x28a14
xorl %edx, %edx
movl $0x4000, %ecx           # imm = 0x4000
callq 0xdd50
movq 0x78c9c(%rip), %rdi     # 0x88158
callq 0x20e0
cmpl $0x0, %eax
je 0xf4d6
xorl %eax, %eax
movl %eax, %edi
leaq 0x2662(%rip), %rsi      # 0x11b33
callq 0x2670
movq 0x1950b(%rip), %rdi     # 0x289e8
callq 0x20e0
cmpl $0x0, %eax
je 0xf4f7
xorl %eax, %eax
movl %eax, %edi
leaq 0x2653(%rip), %rsi      # 0x11b45
callq 0x2670
cmpq $0x0, 0x7bb31(%rip)     # 0x8b030
je 0xf524
movq 0x7bb28(%rip), %rdi     # 0x8b030
callq 0x20e0
cmpl $0x0, %eax
je 0xf522
xorl %eax, %eax
movl %eax, %edi
leaq 0x2638(%rip), %rsi      # 0x11b55
callq 0x2670
jmp 0xf524
cmpq $0x0, 0x194c4(%rip)     # 0x289f0
je 0xf551
movq 0x194bb(%rip), %rdi     # 0x289f0
callq 0x20e0
cmpl $0x0, %eax
je 0xf54f
xorl %eax, %eax
movl %eax, %edi
leaq 0x261d(%rip), %rsi      # 0x11b67
callq 0x2670
jmp 0xf551
cmpl $0x0, 0x187f0(%rip)     # 0x27d48
jne 0xf643
movl 0x187d0(%rip), %edi     # 0x27d34
callq 0xead0
movq %rax, 0x8(%rsp)
movl 0x19494(%rip), %edi     # 0x28a08
callq 0xead0
movq %rax, 0x10(%rsp)
movl 0x187b8(%rip), %edi     # 0x27d3c
callq 0xead0
movq %rax, 0x18(%rsp)
movl 0x7bafc(%rip), %edi     # 0x8b090
callq 0xead0
movq %rax, 0x20(%rsp)
movl 0x1878c(%rip), %edi     # 0x27d30
callq 0xead0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %r8
movq %rax, %r9
leaq 0x25b1(%rip), %rdi      # 0x11b78
movb $0x0, %al
callq 0x2110
leaq 0x23a3(%rip), %rdi      # 0x11978
movb $0x0, %al
callq 0x2110
movl 0x1875e(%rip), %esi     # 0x27d40
leaq 0x25b7(%rip), %rdi      # 0x11ba0
movb $0x0, %al
callq 0x2110
movl 0x1941e(%rip), %esi     # 0x28a14
leaq 0x25cd(%rip), %rdi      # 0x11bca
movb $0x0, %al
callq 0x2110
movl 0x77016(%rip), %esi     # 0x86620
leaq 0x25e3(%rip), %rdi      # 0x11bf4
movb $0x0, %al
callq 0x2110
cmpl $0x0, 0x78e79(%rip)     # 0x88498
je 0xf635
movl 0x78e71(%rip), %esi     # 0x88498
leaq 0x25f0(%rip), %rdi      # 0x11c1e
movb $0x0, %al
callq 0x2110
leaq 0x233c(%rip), %rdi      # 0x11978
movb $0x0, %al
callq 0x2110
cmpl $0x0, 0x193c2(%rip)     # 0x28a0c
je 0xf698
movl 0x193ba(%rip), %esi     # 0x28a0c
movl 0x193b4(%rip), %ecx     # 0x28a0c
leaq 0xc7a(%rip), %rdx       # 0x102d9
leaq 0x266c(%rip), %rax      # 0x11cd2
cmpl $0x1, %ecx
cmoveq %rax, %rdx
movl 0x19399(%rip), %edi     # 0x28a0c
leaq 0x2658(%rip), %rcx      # 0x11cd2
leaq 0x1fad(%rip), %rax      # 0x1162e
cmpl $0x1, %edi
cmoveq %rax, %rcx
leaq 0x25b9(%rip), %rdi      # 0x11c48
movb $0x0, %al
callq 0x2110
jmp 0xf6b1
cmpl $0x0, 0x186a9(%rip)     # 0x27d48
jne 0xf6af
leaq 0x25d0(%rip), %rdi      # 0x11c78
movb $0x0, %al
callq 0x2110
jmp 0xf6b1
cmpl $0x0, 0x18690(%rip)     # 0x27d48
jne 0xf6c8
leaq 0x25e4(%rip), %rdi      # 0x11ca5
movb $0x0, %al
callq 0x2110
movl 0x1933e(%rip), %eax     # 0x28a0c
addq $0x68, %rsp
retq