// File: /workspace/github_c_makefile_star2_O0/Edilbert[P]BS9/bs9.c
// Function: DefineLabel
char *DefineLabel(char *p, int *val, char Type)
{
   int i,j,l,v;
   char *rop;

   *val = UNDEF; // preset

   if (Labels > MAXLAB -2)
   {
      ++ErrNum;
      ErrorMsg("Too many labels (> %d)\n",MAXLAB);
      exit(1);
   }
   p = GetSymbol(p,Label);
   if (*p == ':') ++p; // Ignore colon after label
   l = strlen(Label);
   p = SkipSpace(p);

   // parse definition of constants or variables

   for (i=0 ; i < LABTYPES ; ++i)
   {
      if (*p == '=' || !strcmpword(p,LabDef[i].Name)) break;
   }

   if (i < LABTYPES) // label definition
   {
      p += LabDef[i].Length;   // add keyword length
      j = LabelIndex(Label);
      if (j < 0)
      {
         j = Labels;
         lab[j].Name = (char *)StrNDup(Label,l);
         lab[j].Type = Type;
         lab[j].Address = UNDEF;
         lab[j].Locked  = 1;
         lab[j].Ref = (int *)MallocOrDie(sizeof(int));
         lab[j].Att = (int *)MallocOrDie(sizeof(int));
         Labels++;
      }
      lab[j].Ref[0] = LiNo;
      lab[j].Att[0] = LDEF;

      ExtractOpText(p);
      if (OpText[0])
      {
         p += strlen(p);
         rop = EvalOperand(OpText,&v,0);
         if (*rop)
         {
            ErrorLine(rop);
            ErrorMsg("Extra text after label assignment\n");
            exit(1);
         }
         if (lab[j].Address == UNDEF || LabDef[i].Type == 0)
             lab[j].Address = v;
         else if (lab[j].Address != v && !lab[j].Locked)
         {
            ++ErrNum;
            ErrorLine(p);
            ErrorMsg("*Multiple assignments for label [%s]\n"
                     "1st. value = $%4.4x   2nd. value = $%4.4x\n",
                     Label, lab[j].Address, v);
            exit(1);
         }
         *val = v;
         if (LabDef[i].Type > 0) EnumValue = v;
      }
      else if (LabDef[i].Type > 0) // ENUM
      {
         *val = ++EnumValue;
         if (lab[j].Address == UNDEF) lab[j].Address = *val;
         else if (lab[j].Address != *val)
         {
            ++ErrNum;
            ErrorLine(p);
            ErrorMsg("ENUM phase error\n");
            exit(1);
         }
      }
      else
      {
         ++ErrNum;
         ErrorLine(p);
         ErrorMsg("Missing operand\n");
         exit(1);
      }
      if (df) fprintf(df,"Define:%s=%4.4X\n",lab[j].Name,lab[j].Address);
   }
   else if (!strcmpword(p,"BSS"))
   {
      p = ExtractValue(p+4,&v);
      j = LabelIndex(Label);
      if (j < 0)
      {
         j = Labels;
         lab[j].Name = (char *)StrNDup(Label,l);
         lab[j].Type = 'B';
         lab[j].Address = UNDEF;
         lab[j].Ref = (int *)MallocOrDie(sizeof(int));
         lab[j].Att = (int *)MallocOrDie(sizeof(int));
         Labels++;
      }
      lab[j].Ref[0] = LiNo;
      lab[j].Att[0] = LBSS;
      if (lab[j].Address >= UNDEF) lab[j].Address = bss;
      else if (lab[j].Address != bss)
      {
         ++ErrNum;
         ErrorLine(p);
         ErrorMsg("Multiple assignments for BSS label [%s]\n"
                  "1st. value = $%4.4x   2nd. value = $%4.4x\n",
                  Label,lab[j].Address,bss);
         exit(1);
      }
      *val = bss;
      bss += v;
   }
   else
   {
      j = LabelIndex(Label);
      if (j < 0)
      {
         j = Labels;
         lab[j].Name = (char *)StrNDup(Label,l);
         lab[j].Type = Type;
         lab[j].Address = pc;
         lab[j].Ref = (int *)MallocOrDie(sizeof(int));
         lab[j].Att = (int *)MallocOrDie(sizeof(int));
         Labels++;
      }
      else if (lab[j].Address == UNDEF) lab[j].Address = pc;
      else if (lab[j].Address != pc && !lab[j].Locked)
      {
         if (Pass)
         {
            lab[j].Address = pc;
            ++Changes;
         }
         else
         {
            ErrorMsg("Phase error label [%s]"
                     " phase 1: %4.4x   phase 2: %4.4x\n",
                     Label,lab[j].Address,pc);
            exit(1);
         }
      }
      *val = pc;
      lab[j].Ref[0] = LiNo;
      lab[j].Att[0] = LPOS;
   }
   return p;
}

// Assembly:
subq $0x38, %rsp
movb %dl, %al
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movb %al, 0x27(%rsp)
movq 0x28(%rsp), %rax
movl $0xff0000, (%rax)       # imm = 0xFF0000
cmpl $0x1f3e, 0x24c0b(%rip)  # imm = 0x1F3E
jle 0x3e37
movl 0x24bfb(%rip), %eax     # 0x28a0c
addl $0x1, %eax
movl %eax, 0x24bf2(%rip)     # 0x28a0c
leaq 0xc3f7(%rip), %rdi      # 0x10218
movl $0x1f40, %esi           # imm = 0x1F40
movb $0x0, %al
callq 0x3150
movl $0x1, %edi
callq 0x22b0
movq 0x30(%rsp), %rdi
leaq 0x840fd(%rip), %rsi     # 0x87f40
callq 0x2aa0
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x3a, %eax
jne 0x3e68
movq 0x30(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x30(%rsp)
leaq 0x840d1(%rip), %rdi     # 0x87f40
callq 0x20f0
movl %eax, 0x18(%rsp)
movq 0x30(%rsp), %rdi
callq 0x2830
movq %rax, 0x30(%rsp)
movl $0x0, 0x20(%rsp)
cmpl $0x4, 0x20(%rsp)
jge 0x3ed6
movq 0x30(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
je 0x3ec5
movq 0x30(%rsp), %rdi
movslq 0x20(%rsp), %rax
leaq 0x1386c(%rip), %rsi     # 0x17720
shlq $0x4, %rax
addq %rax, %rsi
callq 0x2e80
cmpl $0x0, %eax
jne 0x3ec7
jmp 0x3ed6
jmp 0x3ec9
movl 0x20(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x20(%rsp)
jmp 0x3e8f
cmpl $0x4, 0x20(%rsp)
jge 0x42fa
movslq 0x20(%rsp), %rcx
leaq 0x13833(%rip), %rax     # 0x17720
shlq $0x4, %rcx
addq %rcx, %rax
movl 0x8(%rax), %ecx
movq 0x30(%rsp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x30(%rsp)
leaq 0x84032(%rip), %rdi     # 0x87f40
callq 0x39f0
movl %eax, 0x1c(%rsp)
cmpl $0x0, 0x1c(%rsp)
jge 0x3ffa
movl 0x24aec(%rip), %eax     # 0x28a14
movl %eax, 0x1c(%rsp)
movl 0x18(%rsp), %esi
leaq 0x84009(%rip), %rdi     # 0x87f40
callq 0x26b0
movq %rax, %rcx
movslq 0x1c(%rsp), %rdx
leaq 0x24ad5(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movq %rcx, (%rax)
movb 0x27(%rsp), %cl
movslq 0x1c(%rsp), %rdx
leaq 0x24abb(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movb %cl, 0x8(%rax)
movslq 0x1c(%rsp), %rcx
leaq 0x24aa5(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl $0xff0000, 0xc(%rax)    # imm = 0xFF0000
movslq 0x1c(%rsp), %rcx
leaq 0x24a8b(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl $0x1, 0x14(%rax)
movl $0x4, %edi
callq 0x2620
movq %rax, %rcx
movslq 0x1c(%rsp), %rdx
leaq 0x24a64(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x20(%rax)
movl $0x4, %edi
callq 0x2620
movq %rax, %rcx
movslq 0x1c(%rsp), %rdx
leaq 0x24a40(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x28(%rax)
movl 0x24a23(%rip), %eax     # 0x28a14
addl $0x1, %eax
movl %eax, 0x24a1a(%rip)     # 0x28a14
movl 0x23d38(%rip), %ecx     # 0x27d38
movslq 0x1c(%rsp), %rdx
leaq 0x24a14(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movq 0x20(%rax), %rax
movl %ecx, (%rax)
movslq 0x1c(%rsp), %rcx
leaq 0x249fb(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x28(%rax), %rax
movl $0x1, (%rax)
movq 0x30(%rsp), %rdi
callq 0x3b70
cmpb $0x0, 0x23f39(%rip)     # 0x27f80
je 0x41b5
movq 0x30(%rsp), %rdi
callq 0x20f0
addq 0x30(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x23f18(%rip), %rdi     # 0x27f80
leaq 0x14(%rsp), %rsi
xorl %edx, %edx
callq 0x4740
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpb $0x0, (%rax)
je 0x40a5
movq 0x8(%rsp), %rdi
callq 0x3040
leaq 0xc19c(%rip), %rdi      # 0x10230
movb $0x0, %al
callq 0x3150
movl $0x1, %edi
callq 0x22b0
movslq 0x1c(%rsp), %rcx
leaq 0x2496f(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
cmpl $0xff0000, 0xc(%rax)    # imm = 0xFF0000
je 0x40da
movslq 0x20(%rsp), %rcx
leaq 0x13653(%rip), %rax     # 0x17720
shlq $0x4, %rcx
addq %rcx, %rax
cmpl $0x0, 0xc(%rax)
jne 0x40f9
movl 0x14(%rsp), %ecx
movslq 0x1c(%rsp), %rdx
leaq 0x24936(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0xc(%rax)
jmp 0x4182
movslq 0x1c(%rsp), %rcx
leaq 0x2491b(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
cmpl 0x14(%rsp), %eax
je 0x4180
movslq 0x1c(%rsp), %rcx
leaq 0x248ff(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
cmpl $0x0, 0x14(%rax)
jne 0x4180
movl 0x248d8(%rip), %eax     # 0x28a0c
addl $0x1, %eax
movl %eax, 0x248cf(%rip)     # 0x28a0c
movq 0x30(%rsp), %rdi
callq 0x3040
movslq 0x1c(%rsp), %rcx
leaq 0x248cd(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl 0xc(%rax), %edx
movl 0x14(%rsp), %ecx
leaq 0xc0eb(%rip), %rdi      # 0x10253
leaq 0x83dd1(%rip), %rsi     # 0x87f40
movb $0x0, %al
callq 0x3150
movl $0x1, %edi
callq 0x22b0
jmp 0x4182
movl 0x14(%rsp), %ecx
movq 0x28(%rsp), %rax
movl %ecx, (%rax)
movslq 0x20(%rsp), %rcx
leaq 0x13587(%rip), %rax     # 0x17720
shlq $0x4, %rcx
addq %rcx, %rax
cmpl $0x0, 0xc(%rax)
jle 0x41b0
movl 0x14(%rsp), %eax
movl %eax, 0x13554(%rip)     # 0x17704
jmp 0x42aa
movslq 0x20(%rsp), %rcx
leaq 0x1355f(%rip), %rax     # 0x17720
shlq $0x4, %rcx
addq %rcx, %rax
cmpl $0x0, 0xc(%rax)
jle 0x4277
movl 0x1352c(%rip), %ecx     # 0x17704
addl $0x1, %ecx
movl %ecx, 0x13523(%rip)     # 0x17704
movq 0x28(%rsp), %rax
movl %ecx, (%rax)
movslq 0x1c(%rsp), %rcx
leaq 0x2482c(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
cmpl $0xff0000, 0xc(%rax)    # imm = 0xFF0000
jne 0x4223
movq 0x28(%rsp), %rax
movl (%rax), %ecx
movslq 0x1c(%rsp), %rdx
leaq 0x24809(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0xc(%rax)
jmp 0x4275
movslq 0x1c(%rsp), %rcx
leaq 0x247f1(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
movq 0x28(%rsp), %rcx
cmpl (%rcx), %eax
je 0x4273
movl 0x247c4(%rip), %eax     # 0x28a0c
addl $0x1, %eax
movl %eax, 0x247bb(%rip)     # 0x28a0c
movq 0x30(%rsp), %rdi
callq 0x3040
leaq 0xc041(%rip), %rdi      # 0x102a3
movb $0x0, %al
callq 0x3150
movl $0x1, %edi
callq 0x22b0
jmp 0x4275
jmp 0x42a8
movl 0x2478f(%rip), %eax     # 0x28a0c
addl $0x1, %eax
movl %eax, 0x24786(%rip)     # 0x28a0c
movq 0x30(%rsp), %rdi
callq 0x3040
leaq 0xc01e(%rip), %rdi      # 0x102b5
movb $0x0, %al
callq 0x3150
movl $0x1, %edi
callq 0x22b0
jmp 0x42aa
cmpq $0x0, 0x2473e(%rip)     # 0x289f0
je 0x42f5
movq 0x24735(%rip), %rdi     # 0x289f0
movslq 0x1c(%rsp), %rcx
leaq 0x24759(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rdx
movslq 0x1c(%rsp), %rcx
leaq 0x24743(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl 0xc(%rax), %ecx
leaq 0xbfd8(%rip), %rsi      # 0x102c6
movb $0x0, %al
callq 0x21e0
jmp 0x4728
movq 0x30(%rsp), %rdi
leaq 0xbfd1(%rip), %rsi      # 0x102d7
callq 0x2e80
cmpl $0x0, %eax
jne 0x450e
movq 0x30(%rsp), %rdi
addq $0x4, %rdi
leaq 0x14(%rsp), %rsi
callq 0x38a0
movq %rax, 0x30(%rsp)
leaq 0x83c0d(%rip), %rdi     # 0x87f40
callq 0x39f0
movl %eax, 0x1c(%rsp)
cmpl $0x0, 0x1c(%rsp)
jge 0x4402
movl 0x246c7(%rip), %eax     # 0x28a14
movl %eax, 0x1c(%rsp)
movl 0x18(%rsp), %esi
leaq 0x83be4(%rip), %rdi     # 0x87f40
callq 0x26b0
movq %rax, %rcx
movslq 0x1c(%rsp), %rdx
leaq 0x246b0(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movq %rcx, (%rax)
movslq 0x1c(%rsp), %rcx
leaq 0x2469a(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movb $0x42, 0x8(%rax)
movslq 0x1c(%rsp), %rcx
leaq 0x24683(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl $0xff0000, 0xc(%rax)    # imm = 0xFF0000
movl $0x4, %edi
callq 0x2620
movq %rax, %rcx
movslq 0x1c(%rsp), %rdx
leaq 0x2465c(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x20(%rax)
movl $0x4, %edi
callq 0x2620
movq %rax, %rcx
movslq 0x1c(%rsp), %rdx
leaq 0x24638(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x28(%rax)
movl 0x2461b(%rip), %eax     # 0x28a14
addl $0x1, %eax
movl %eax, 0x24612(%rip)     # 0x28a14
movl 0x23930(%rip), %ecx     # 0x27d38
movslq 0x1c(%rsp), %rdx
leaq 0x2460c(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movq 0x20(%rax), %rax
movl %ecx, (%rax)
movslq 0x1c(%rsp), %rcx
leaq 0x245f3(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x28(%rax), %rax
movl $0x2, (%rax)
movslq 0x1c(%rsp), %rcx
leaq 0x245d6(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
cmpl $0xff0000, 0xc(%rax)    # imm = 0xFF0000
jl 0x4478
movl 0x245b0(%rip), %ecx     # 0x28a10
movslq 0x1c(%rsp), %rdx
leaq 0x245b4(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0xc(%rax)
jmp 0x44ec
movslq 0x1c(%rsp), %rcx
leaq 0x2459c(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
cmpl 0x2457c(%rip), %eax     # 0x28a10
je 0x44ea
movl 0x24570(%rip), %eax     # 0x28a0c
addl $0x1, %eax
movl %eax, 0x24567(%rip)     # 0x28a0c
movq 0x30(%rsp), %rdi
callq 0x3040
movslq 0x1c(%rsp), %rcx
leaq 0x24565(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl 0xc(%rax), %edx
movl 0x24545(%rip), %ecx     # 0x28a10
leaq 0xbe09(%rip), %rdi      # 0x102db
leaq 0x83a67(%rip), %rsi     # 0x87f40
movb $0x0, %al
callq 0x3150
movl $0x1, %edi
callq 0x22b0
jmp 0x44ec
movl 0x2451e(%rip), %ecx     # 0x28a10
movq 0x28(%rsp), %rax
movl %ecx, (%rax)
movl 0x14(%rsp), %eax
addl 0x2450d(%rip), %eax     # 0x28a10
movl %eax, 0x24507(%rip)     # 0x28a10
jmp 0x4726
leaq 0x83a2b(%rip), %rdi     # 0x87f40
callq 0x39f0
movl %eax, 0x1c(%rsp)
cmpl $0x0, 0x1c(%rsp)
jge 0x45ee
movl 0x244e5(%rip), %eax     # 0x28a14
movl %eax, 0x1c(%rsp)
movl 0x18(%rsp), %esi
leaq 0x83a02(%rip), %rdi     # 0x87f40
callq 0x26b0
movq %rax, %rcx
movslq 0x1c(%rsp), %rdx
leaq 0x244ce(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movq %rcx, (%rax)
movb 0x27(%rsp), %cl
movslq 0x1c(%rsp), %rdx
leaq 0x244b4(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movb %cl, 0x8(%rax)
movl 0x13198(%rip), %ecx     # 0x17714
movslq 0x1c(%rsp), %rdx
leaq 0x24498(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0xc(%rax)
movl $0x4, %edi
callq 0x2620
movq %rax, %rcx
movslq 0x1c(%rsp), %rdx
leaq 0x24475(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x20(%rax)
movl $0x4, %edi
callq 0x2620
movq %rax, %rcx
movslq 0x1c(%rsp), %rdx
leaq 0x24451(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x28(%rax)
movl 0x24434(%rip), %eax     # 0x28a14
addl $0x1, %eax
movl %eax, 0x2442b(%rip)     # 0x28a14
jmp 0x46dd
movslq 0x1c(%rsp), %rcx
leaq 0x24426(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
cmpl $0xff0000, 0xc(%rax)    # imm = 0xFF0000
jne 0x462b
movl 0x13104(%rip), %ecx     # 0x17714
movslq 0x1c(%rsp), %rdx
leaq 0x24404(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0xc(%rax)
jmp 0x46db
movslq 0x1c(%rsp), %rcx
leaq 0x243e9(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
cmpl 0x130cd(%rip), %eax     # 0x17714
je 0x46d9
movslq 0x1c(%rsp), %rcx
leaq 0x243c7(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
cmpl $0x0, 0x14(%rax)
jne 0x46d9
cmpl $0x0, 0x2438b(%rip)     # 0x289f8
je 0x469c
movl 0x1309f(%rip), %ecx     # 0x17714
movslq 0x1c(%rsp), %rdx
leaq 0x2439f(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0xc(%rax)
movl 0x839af(%rip), %eax     # 0x88040
addl $0x1, %eax
movl %eax, 0x839a6(%rip)     # 0x88040
jmp 0x46d7
movslq 0x1c(%rsp), %rcx
leaq 0x24378(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl 0xc(%rax), %edx
movl 0x1305c(%rip), %ecx     # 0x17714
leaq 0xbc6f(%rip), %rdi      # 0x1032e
leaq 0x8387a(%rip), %rsi     # 0x87f40
movb $0x0, %al
callq 0x3150
movl $0x1, %edi
callq 0x22b0
jmp 0x46d9
jmp 0x46db
jmp 0x46dd
movl 0x13031(%rip), %ecx     # 0x17714
movq 0x28(%rsp), %rax
movl %ecx, (%rax)
movl 0x23648(%rip), %ecx     # 0x27d38
movslq 0x1c(%rsp), %rdx
leaq 0x24324(%rip), %rax     # 0x28a20
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movq 0x20(%rax), %rax
movl %ecx, (%rax)
movslq 0x1c(%rsp), %rcx
leaq 0x2430b(%rip), %rax     # 0x28a20
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x28(%rax), %rax
movl $0x3, (%rax)
jmp 0x4728
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)