
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

segT __regparm3 operand(expressionS *expressionP,expr_mode mode)

{
  short *psVar1;
  byte bVar2;
  char cVar3;
  uint uVar4;
  symbolS *psVar5;
  segT paVar6;
  byte *pbVar7;
  char *pcVar8;
  valueT vVar9;
  int iVar10;
  byte bVar11;
  ushort *puVar12;
  undefined2 *puVar13;
  undefined2 *puVar14;
  int iVar15;
  byte *pbVar16;
  offsetT oVar17;
  undefined4 uVar18;
  bool bVar19;
  char *name;
  undefined4 uStack_14;
  
  uStack_14 = 0x245ab;
  expressionP->field_0xd = expressionP->field_0xd & 0xfc | 1;
  pbVar16 = (byte *)input_line_pointer;
  pbVar7 = (byte *)(input_line_pointer + 1);
  if (*input_line_pointer == ' ') {
    pbVar7 = (byte *)(input_line_pointer + 2);
    pbVar16 = (byte *)(input_line_pointer + 1);
  }
  bVar11 = *pbVar16;
  uVar4 = (uint)bVar11;
  if (is_end_of_line[uVar4] != '\0') {
_L357:
    expressionP->field_0xc = 1;
    input_line_pointer = (char *)pbVar16;
    goto LAB_00024626;
  }
  input_line_pointer = (char *)pbVar7;
  switch(uVar4 - 0x21 & 0xff) {
  case 0:
  case 10:
  case 0xc:
    operand(expressionP,mode);
    bVar2 = expressionP->field_0xc;
    if (bVar2 == 2) {
      if (bVar11 == 0x2d) {
        bVar11 = expressionP->field_0xd;
        iVar10 = expressionP->X_add_number;
        expressionP->X_add_number = -iVar10;
        expressionP->field_0xd = bVar11 & 0xfe;
        if (-iVar10 != 0) {
          expressionP->field_0xd = (bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc;
        }
        goto LAB_00024626;
      }
      if (bVar11 != 0x22) {
        if (bVar11 == 0x21) {
          expressionP->X_add_number = (uint)(expressionP->X_add_number == 0);
        }
        goto LAB_00024626;
      }
LAB_00024d54:
      expressionP->X_add_number = ~expressionP->X_add_number;
      goto LAB_00024626;
    }
    if (bVar2 == 6) {
      bVar19 = bVar11 == 0x2d;
      oVar17 = expressionP->X_add_number;
      if ((0 < oVar17) || (!bVar19)) {
LAB_00024921:
        if (0 < oVar17) {
          if ((bVar11 == 0x7e) || (bVar19)) {
            puVar12 = (ushort *)&generic_bignum;
            do {
              *puVar12 = ~*puVar12;
              puVar12 = puVar12 + 1;
            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));
            if (oVar17 < 0x14) {
              expressionP->X_add_number = 0x14;
              puVar13 = &generic_bignum + oVar17;
              do {
                puVar14 = puVar13 + 1;
                *puVar13 = 0xffff;
                puVar13 = puVar14;
              } while (puVar14 != (undefined2 *)&DAT_00083ea8);
            }
            if (bVar19) {
              iVar10 = expressionP->X_add_number;
              generic_bignum = generic_bignum + 1;
              if (generic_bignum == 0) {
                iVar15 = 0;
                do {
                  iVar15 = iVar15 + 1;
                  if (iVar10 <= iVar15) break;
                  psVar1 = &generic_bignum + iVar15;
                  *psVar1 = *psVar1 + 1;
                } while (*psVar1 == 0);
              }
            }
          }
          else if (bVar11 == 0x21) {
            iVar10 = 0;
            do {
              if ((&generic_bignum)[iVar10] != 0) break;
              iVar10 = iVar10 + 1;
            } while (iVar10 != oVar17);
            expressionP->X_add_number = (uint)(oVar17 <= iVar10);
            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102
            ;
          }
          goto LAB_00024626;
        }
        goto LAB_00024a1e;
      }
      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')
         ) {
        bVar19 = generic_floating_point_number.sign == '+';
        generic_floating_point_number.sign = 'N';
        if (bVar19) {
          generic_floating_point_number.sign = '-';
        }
        goto LAB_00024626;
      }
    }
    else {
LAB_00024a16:
      if (bVar2 < 2) {
        pcVar8 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);
        as_warn(pcVar8,(int)(char)bVar11);
        goto LAB_00024626;
      }
LAB_00024a1e:
      if (bVar11 == 0x2b) goto LAB_00024626;
    }
    psVar5 = make_expr_symbol(expressionP);
    expressionP->X_add_symbol = psVar5;
    if (bVar11 == 0x2d) {
      expressionP->field_0xc = 7;
    }
    else if ((bVar11 == 0x7e) || (bVar11 == 0x22)) {
      expressionP->field_0xc = 8;
    }
    else {
      expressionP->field_0xc = 9;
    }
    break;
  default:
    if (((lex_type[uVar4] & 2) == 0) && (bVar11 != 0x22)) {
      expressionP->field_0xc = 1;
      pcVar8 = (char *)dcgettext(0,"bad expression",5);
      as_bad(pcVar8);
      expressionP->field_0xc = 2;
      expressionP->X_add_number = 0;
      goto LAB_00024626;
    }
    goto LAB_00024ae0;
  case 6:
    input_line_pointer = (char *)(pbVar16 + 2);
    expressionP->field_0xc = 2;
    expressionP->X_add_number = (int)(char)pbVar16[1];
    goto LAB_00024626;
  case 7:
  case 0x3a:
    paVar6 = expr(0,expressionP,mode);
    if (bVar11 == 0x28) {
      cVar3 = *input_line_pointer;
      if (cVar3 == ')') goto LAB_000249c4;
      uVar18 = 0x29;
    }
    else {
      if ((bVar11 != 0x5b) || (cVar3 = *input_line_pointer, cVar3 == ']')) {
LAB_000249c4:
        input_line_pointer = input_line_pointer + 1;
        goto LAB_000249c9;
      }
      uVar18 = 0x5d;
    }
    if (cVar3 == '\0') {
      pcVar8 = (char *)dcgettext(0,"missing \'%c\'",5);
      as_bad(pcVar8,uVar18);
    }
    else {
      pcVar8 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);
      as_bad(pcVar8,(int)cVar3,uVar18);
    }
LAB_000249c9:
    if (*input_line_pointer == ' ') {
      input_line_pointer = input_line_pointer + 1;
      return paVar6;
    }
    return paVar6;
  case 0xb:
    goto _L357;
  case 0xd:
    if ((lex_type[pbVar16[1]] & 1) != 0) {
      iVar10 = strncasecmp((char *)pbVar7,"startof.",8);
      if (((iVar10 == 0) && ((lex_type[pbVar16[9]] & 1) == 0)) ||
         ((iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7), iVar10 == 0 &&
          ((lex_type[pbVar16[8]] & 1) == 0)))) {
        bVar11 = pbVar16[2];
        pbVar7 = pbVar7 + ((bVar11 & 0xdf) == 0x54) + 7;
        if (*pbVar7 == 0x20) {
          pbVar7 = pbVar7 + 1;
        }
        input_line_pointer = (char *)pbVar7;
        expressionP->field_0xc = 1;
        if (*pbVar7 == 0x28) {
          input_line_pointer = (char *)(pbVar7 + 1);
          if (pbVar7[1] == 0x20) {
            input_line_pointer = (char *)(pbVar7 + 2);
          }
          cVar3 = get_symbol_name(&name);
          if (*name == '\0') {
            pcVar8 = (char *)dcgettext(0,"expected symbol name",5);
            as_bad(pcVar8);
            *input_line_pointer = cVar3;
            if (cVar3 == '\"') {
              restore_line_pointer('\"');
            }
            else if (cVar3 == ')') {
              input_line_pointer = input_line_pointer + 1;
              goto LAB_00024626;
            }
            ignore_rest_of_line();
            goto LAB_00024626;
          }
          pcVar8 = ".startof.";
          if ((bVar11 & 0xdf) != 0x54) {
            pcVar8 = ".sizeof.";
          }
          pcVar8 = (char *)concat(pcVar8,name,0);
          psVar5 = symbol_make(pcVar8);
          free(pcVar8);
          expressionP->field_0xc = 3;
          expressionP->X_add_number = 0;
          expressionP->X_add_symbol = psVar5;
          *input_line_pointer = cVar3;
          cVar3 = *input_line_pointer;
          if (cVar3 == '\"') {
            cVar3 = input_line_pointer[1];
            input_line_pointer = input_line_pointer + 1;
          }
          if (cVar3 == ' ') {
            cVar3 = input_line_pointer[1];
            input_line_pointer = input_line_pointer + 1;
          }
          if (cVar3 == ')') {
            input_line_pointer = input_line_pointer + 1;
            goto LAB_00024626;
          }
        }
        pcVar8 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);
        as_bad(pcVar8);
        goto LAB_00024626;
      }
      goto LAB_00024ae0;
    }
    if (now_seg == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) {
      expressionP->field_0xc = 2;
      expressionP->X_add_number = abs_section_offset;
      goto LAB_00024626;
    }
    expressionP->field_0xc = 3;
    expressionP->X_add_symbol = &dot_symbol;
    break;
  case 0xf:
    bVar11 = pbVar16[1];
    switch((int)(char)bVar11 - 0x30U & 0xff) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
      integer_constant(8,expressionP);
      break;
    default:
      if (bVar11 != 0) goto LAB_00024c71;
      goto LAB_00024c05;
    case 0x12:
      if ((byte)(pbVar16[2] - 0x30) < 2) {
LAB_00024c50:
        input_line_pointer = (char *)(pbVar16 + 2);
        integer_constant(2,expressionP);
        break;
      }
LAB_00024c71:
      pcVar8 = strchr(PTR_FLT_CHARS_0007af58,(int)(char)bVar11);
      if (pcVar8 != (char *)0x0) {
        pbVar7 = pbVar16 + 2;
        goto LAB_00024c22;
      }
LAB_00024c05:
      expressionP->field_0xc = 2;
      expressionP->X_add_number = 0;
      break;
    case 0x14:
    case 0x15:
    case 0x16:
    case 0x17:
    case 0x34:
    case 0x35:
    case 0x37:
    case 0x42:
      pbVar7 = pbVar7 + 1;
LAB_00024c22:
      input_line_pointer = (char *)pbVar7;
      floating_constant(expressionP);
      expressionP->X_add_number = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar11];
      break;
    case 0x28:
    case 0x48:
      input_line_pointer = (char *)(pbVar16 + 2);
      integer_constant(0x10,expressionP);
      break;
    case 0x32:
      if ((byte)(pbVar16[2] - 0x30) < 2) goto LAB_00024c50;
      goto _L379;
    case 0x36:
      if ((is_end_of_line[pbVar16[2]] == '\0') &&
         (pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66), pcVar8 != (char *)0x0)) {
        name = (char *)(pbVar16 + 2);
        atof_generic(&name,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number);
        if ((name != input_line_pointer + 1) &&
           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')
             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00024c22;
        pbVar16 = (byte *)(input_line_pointer + -1);
      }
_L379:
      input_line_pointer = (char *)pbVar16;
      integer_constant(10,expressionP);
    }
    goto LAB_00024626;
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x14:
  case 0x15:
  case 0x16:
  case 0x17:
  case 0x18:
    goto _L379;
  case 0x5d:
    if ((lex_type[uVar4] & 2) == 0) {
      operand(expressionP,mode);
      bVar2 = expressionP->field_0xc;
      if (bVar2 != 2) {
        if (bVar2 == 6) {
          oVar17 = expressionP->X_add_number;
          bVar19 = false;
          goto LAB_00024921;
        }
        goto LAB_00024a16;
      }
      goto LAB_00024d54;
    }
LAB_00024ae0:
    input_line_pointer = (char *)pbVar16;
    cVar3 = get_symbol_name(&name);
    psVar5 = symbol_find_or_make(name);
    paVar6 = S_GET_SEGMENT(psVar5);
    if (mode == expr_defer) {
LAB_00024b38:
      expressionP->field_0xc = 3;
      expressionP->X_add_symbol = psVar5;
      expressionP->X_add_number = 0;
    }
    else {
      if ((paVar6 == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) &&
         (iVar10 = S_FORCE_RELOC(psVar5,0), iVar10 == 0)) {
        expressionP->field_0xc = 2;
      }
      else {
        if (reg_section != paVar6) goto LAB_00024b38;
        expressionP->field_0xc = 5;
      }
      vVar9 = S_GET_VALUE(psVar5);
      expressionP->X_add_number = vVar9;
    }
    *input_line_pointer = cVar3;
    if (cVar3 == '\"') {
      restore_line_pointer('\"');
    }
    goto LAB_00024626;
  }
  expressionP->X_add_number = 0;
LAB_00024626:
  clean_up_expression(expressionP);
  cVar3 = *input_line_pointer;
  while (cVar3 == ' ') {
    input_line_pointer = input_line_pointer + 1;
    cVar3 = *input_line_pointer;
  }
  if (expressionP->X_add_symbol != (symbolS *)0x0) {
    symbol_mark_used(expressionP->X_add_symbol);
  }
  if (mode != expr_defer) {
    psVar5 = symbol_clone_if_forward_ref(expressionP->X_add_symbol,0);
    expressionP->X_add_symbol = psVar5;
    psVar5 = symbol_clone_if_forward_ref(expressionP->X_op_symbol,0);
    expressionP->X_op_symbol = psVar5;
  }
  if (expressionP->field_0xc == '\x03') {
    paVar6 = S_GET_SEGMENT(expressionP->X_add_symbol);
    return paVar6;
  }
  if (expressionP->field_0xc != '\x05') {
    return (segT)(PTR__bfd_std_section_0007afb4 + 0x150);
  }
  return reg_section;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined * __regparm3 FUN_000245a0(int *param_1,int param_2)

{
  short *psVar1;
  byte bVar2;
  byte bVar3;
  uint uVar4;
  int iVar5;
  undefined *puVar6;
  void *__ptr;
  undefined4 uVar7;
  char *pcVar8;
  undefined4 uVar9;
  int iVar10;
  ushort *puVar11;
  undefined2 *puVar12;
  undefined2 *puVar13;
  byte *pbVar14;
  bool bVar15;
  byte *local_3c;
  byte *local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0x245ab;
  *(byte *)((int)param_1 + 0xd) = *(byte *)((int)param_1 + 0xd) & 0xfc | 1;
  pbVar14 = DAT_00083ef0;
  local_3c = DAT_00083ef0 + 1;
  if (*DAT_00083ef0 == 0x20) {
    local_3c = DAT_00083ef0 + 2;
    pbVar14 = DAT_00083ef0 + 1;
  }
  DAT_00083ef0 = local_3c;
  bVar3 = *pbVar14;
  uVar4 = (uint)bVar3;
  if ((&DAT_0007b2c0)[uVar4] != '\0') {
LAB_00024620:
    *(undefined1 *)(param_1 + 3) = 1;
    DAT_00083ef0 = pbVar14;
    goto LAB_00024626;
  }
  switch(uVar4 - 0x21 & 0xff) {
  case 0:
  case 10:
  case 0xc:
    FUN_000245a0();
    bVar2 = *(byte *)(param_1 + 3);
    if (bVar2 == 2) {
      if (bVar3 == 0x2d) {
        bVar3 = *(byte *)((int)param_1 + 0xd);
        iVar5 = param_1[2];
        param_1[2] = -iVar5;
        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;
        if (-iVar5 != 0) {
          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;
        }
        goto LAB_00024626;
      }
      if (bVar3 != 0x22) {
        if (bVar3 == 0x21) {
          param_1[2] = (uint)(param_1[2] == 0);
        }
        goto LAB_00024626;
      }
code_r0x00024d54:
      param_1[2] = ~param_1[2];
      goto LAB_00024626;
    }
    if (bVar2 == 6) {
      bVar15 = bVar3 == 0x2d;
      iVar5 = param_1[2];
      if ((0 < iVar5) || (!bVar15)) {
code_r0x00024921:
        if (0 < iVar5) {
          if ((bVar3 == 0x7e) || (bVar15)) {
            puVar11 = (ushort *)&DAT_00083e80;
            do {
              *puVar11 = ~*puVar11;
              puVar11 = puVar11 + 1;
            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));
            if (iVar5 < 0x14) {
              param_1[2] = 0x14;
              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);
              do {
                puVar13 = puVar12 + 1;
                *puVar12 = 0xffff;
                puVar12 = puVar13;
              } while (puVar13 != (undefined2 *)0x83ea8);
            }
            if (bVar15) {
              iVar5 = param_1[2];
              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;
              if ((short)DAT_00083e80 == 0) {
                iVar10 = 0;
                do {
                  iVar10 = iVar10 + 1;
                  if (iVar5 <= iVar10) break;
                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);
                  *psVar1 = *psVar1 + 1;
                } while (*psVar1 == 0);
              }
            }
          }
          else if (bVar3 == 0x21) {
            iVar10 = 0;
            do {
              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;
              iVar10 = iVar10 + 1;
            } while (iVar10 != iVar5);
            param_1[2] = (uint)(iVar5 <= iVar10);
            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;
          }
          goto LAB_00024626;
        }
        goto code_r0x00024a1e;
      }
      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {
        bVar15 = DAT_0007b270 == '+';
        DAT_0007b270 = 'N';
        if (bVar15) {
          DAT_0007b270 = '-';
        }
        goto LAB_00024626;
      }
    }
    else {
code_r0x00024a16:
      if (bVar2 < 2) {
        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);
        FUN_0002d580(uVar7,(int)(char)bVar3);
        goto LAB_00024626;
      }
code_r0x00024a1e:
      if (bVar3 == 0x2b) goto LAB_00024626;
    }
    iVar5 = FUN_000238a0(param_1);
    *param_1 = iVar5;
    if (bVar3 == 0x2d) {
      *(undefined1 *)(param_1 + 3) = 7;
    }
    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {
      *(undefined1 *)(param_1 + 3) = 8;
    }
    else {
      *(undefined1 *)(param_1 + 3) = 9;
    }
    break;
  default:
    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {
      *(undefined1 *)(param_1 + 3) = 1;
      uVar7 = dcgettext(0,"bad expression",5);
      FUN_0002d660(uVar7);
      *(undefined1 *)(param_1 + 3) = 2;
      param_1[2] = 0;
      goto LAB_00024626;
    }
    goto LAB_00024ae0;
  case 6:
    DAT_00083ef0 = pbVar14 + 2;
    *(undefined1 *)(param_1 + 3) = 2;
    param_1[2] = (int)(char)pbVar14[1];
    goto LAB_00024626;
  case 7:
  case 0x3a:
    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);
    if (bVar3 == 0x28) {
      bVar3 = *DAT_00083ef0;
      if (bVar3 == 0x29) goto code_r0x000249c4;
      uVar7 = 0x29;
    }
    else {
      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {
code_r0x000249c4:
        DAT_00083ef0 = DAT_00083ef0 + 1;
        goto code_r0x000249c9;
      }
      uVar7 = 0x5d;
    }
    if (bVar3 == 0) {
      uVar9 = dcgettext(0,"missing \'%c\'",5);
      FUN_0002d660(uVar9,uVar7);
    }
    else {
      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);
      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);
    }
code_r0x000249c9:
    if (*DAT_00083ef0 == 0x20) {
      DAT_00083ef0 = DAT_00083ef0 + 1;
      return puVar6;
    }
    return puVar6;
  case 0xb:
    goto LAB_00024620;
  case 0xd:
    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {
      iVar5 = strncasecmp((char *)local_3c,"startof.",8);
      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||
         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&
          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {
        bVar3 = pbVar14[2];
        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;
        if (*local_3c == 0x20) {
          local_3c = local_3c + 1;
        }
        DAT_00083ef0 = local_3c;
        *(undefined1 *)(param_1 + 3) = 1;
        if (*local_3c == 0x28) {
          DAT_00083ef0 = local_3c + 1;
          if (local_3c[1] == 0x20) {
            DAT_00083ef0 = local_3c + 2;
          }
          bVar2 = FUN_00024470(local_20);
          if (*local_20[0] == 0) {
            uVar7 = dcgettext(0,"expected symbol name",5);
            FUN_0002d660(uVar7);
            *DAT_00083ef0 = bVar2;
            if (bVar2 == 0x22) {
              FUN_00023880();
            }
            else if (bVar2 == 0x29) {
              DAT_00083ef0 = DAT_00083ef0 + 1;
              goto LAB_00024626;
            }
            FUN_0002f760();
            goto LAB_00024626;
          }
          pcVar8 = ".startof.";
          if ((bVar3 & 0xdf) != 0x54) {
            pcVar8 = ".sizeof.";
          }
          __ptr = (void *)concat(pcVar8,local_20[0],0);
          iVar5 = FUN_00039960(__ptr);
          free(__ptr);
          *(undefined1 *)(param_1 + 3) = 3;
          param_1[2] = 0;
          *param_1 = iVar5;
          *DAT_00083ef0 = bVar2;
          bVar3 = *DAT_00083ef0;
          if (bVar3 == 0x22) {
            bVar3 = DAT_00083ef0[1];
            DAT_00083ef0 = DAT_00083ef0 + 1;
          }
          if (bVar3 == 0x20) {
            bVar3 = DAT_00083ef0[1];
            DAT_00083ef0 = DAT_00083ef0 + 1;
          }
          if (bVar3 == 0x29) {
            DAT_00083ef0 = DAT_00083ef0 + 1;
            goto LAB_00024626;
          }
        }
        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);
        FUN_0002d660(uVar7);
        goto LAB_00024626;
      }
      goto LAB_00024ae0;
    }
    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {
      *(undefined1 *)(param_1 + 3) = 2;
      param_1[2] = DAT_00083eec;
      goto LAB_00024626;
    }
    *(undefined1 *)(param_1 + 3) = 3;
    *param_1 = (int)&DAT_00083fe0;
    break;
  case 0xf:
    bVar3 = pbVar14[1];
    switch((int)(char)bVar3 - 0x30U & 0xff) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
      FUN_000231b0();
      break;
    default:
      if (bVar3 != 0) goto code_r0x00024c71;
      goto code_r0x00024c05;
    case 0x12:
      if ((byte)(pbVar14[2] - 0x30) < 2) {
code_r0x00024c50:
        DAT_00083ef0 = pbVar14 + 2;
        FUN_000231b0();
        break;
      }
code_r0x00024c71:
      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);
      if (pcVar8 != (char *)0x0) {
        pbVar14 = pbVar14 + 2;
        goto code_r0x00024c22;
      }
code_r0x00024c05:
      *(undefined1 *)(param_1 + 3) = 2;
      param_1[2] = 0;
      break;
    case 0x14:
    case 0x15:
    case 0x16:
    case 0x17:
    case 0x34:
    case 0x35:
    case 0x37:
    case 0x42:
      pbVar14 = local_3c + 1;
code_r0x00024c22:
      DAT_00083ef0 = pbVar14;
      FUN_00023110();
      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];
      break;
    case 0x28:
    case 0x48:
      DAT_00083ef0 = pbVar14 + 2;
      FUN_000231b0();
      break;
    case 0x32:
      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;
      goto code_r0x00024770;
    case 0x36:
      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&
         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {
        local_20[0] = pbVar14 + 2;
        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);
        if ((local_20[0] != DAT_00083ef0 + 1) &&
           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&
             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))
        goto code_r0x00024c22;
        pbVar14 = DAT_00083ef0 + -1;
      }
code_r0x00024770:
      DAT_00083ef0 = pbVar14;
      FUN_000231b0();
    }
    goto LAB_00024626;
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x14:
  case 0x15:
  case 0x16:
  case 0x17:
  case 0x18:
    goto code_r0x00024770;
  case 0x5d:
    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {
      FUN_000245a0();
      bVar2 = *(byte *)(param_1 + 3);
      if (bVar2 != 2) {
        if (bVar2 == 6) {
          iVar5 = param_1[2];
          bVar15 = false;
          goto code_r0x00024921;
        }
        goto code_r0x00024a16;
      }
      goto code_r0x00024d54;
    }
LAB_00024ae0:
    DAT_00083ef0 = pbVar14;
    bVar3 = FUN_00024470(local_20);
    iVar5 = FUN_0003b230(local_20[0]);
    puVar6 = (undefined *)FUN_00039580(iVar5);
    if (param_2 == 2) {
LAB_00024b38:
      *(undefined1 *)(param_1 + 3) = 3;
      *param_1 = iVar5;
      param_1[2] = 0;
    }
    else {
      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&
         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {
        *(undefined1 *)(param_1 + 3) = 2;
      }
      else {
        if (DAT_00083dbc != puVar6) goto LAB_00024b38;
        *(undefined1 *)(param_1 + 3) = 5;
      }
      iVar5 = FUN_0003ac10(iVar5);
      param_1[2] = iVar5;
    }
    *DAT_00083ef0 = bVar3;
    if (bVar3 == 0x22) {
      FUN_00023880();
    }
    goto LAB_00024626;
  }
  param_1[2] = 0;
LAB_00024626:
  FUN_000230d0();
  bVar3 = *DAT_00083ef0;
  while (bVar3 == 0x20) {
    DAT_00083ef0 = DAT_00083ef0 + 1;
    bVar3 = *DAT_00083ef0;
  }
  if (*param_1 != 0) {
    FUN_0003c080(*param_1);
  }
  if (param_2 != 2) {
    iVar5 = FUN_0003b8d0(*param_1,0);
    *param_1 = iVar5;
    iVar5 = FUN_0003b8d0(param_1[1],0);
    param_1[1] = iVar5;
  }
  if ((char)param_1[3] == '\x03') {
    puVar6 = (undefined *)FUN_00039580(*param_1);
    return puVar6;
  }
  if ((char)param_1[3] != '\x05') {
    return PTR__bfd_std_section_0007afb4 + 0x150;
  }
  return DAT_00083dbc;
}


PUSH EBP
PUSH EDI
MOV EDI,EAX
PUSH ESI
PUSH EBX
CALL 0x00019010
ADD EBX,0x56a55
SUB ESP,0x2c
MOVZX EAX,byte ptr [EAX + 0xd]
MOV dword ptr [ESP + 0x4],EDX
AND EAX,0xfffffffc
OR EAX,0x1
LEA ESI,[EBX + 0x8ef0]
MOV byte ptr [EDI + 0xd],AL
MOV EBP,dword ptr [ESI]
LEA EAX,[EBP + 0x1]
CMP byte ptr [EBP],0x20
MOV dword ptr [ESP],EAX
JNZ 0x000245e2
LEA EAX,[EBP + 0x2]
MOV EBP,dword ptr [ESP]
MOV dword ptr [ESP],EAX
MOV EAX,dword ptr [ESP]
LEA EDX,[EBX + 0x2c0]
MOV dword ptr [ESI],EAX
MOVZX EAX,byte ptr [EBP]
MOV dword ptr [ESP + 0xc],EDX
CMP byte ptr [EDX + EAX*0x1],0x0
MOV ECX,EAX
MOV dword ptr [ESP + 0x8],EAX
JNZ 0x00024620
LEA EAX,[EAX + -0x21]
CMP AL,0x5d
JA 0x00024a67
MOVZX EAX,AL
MOV EDX,dword ptr [EBX + EAX*0x4 + 0xfffdbefc]
ADD EDX,EBX
JMP EDX
MOV byte ptr [EDI + 0xc],0x1
MOV dword ptr [ESI],EBP
MOV EAX,EDI
CALL 0x000230d0
MOV EDX,dword ptr [ESI]
CMP byte ptr [EDX],0x20
LEA EAX,[EDX + 0x1]
JNZ 0x0002464b
LEA ESI,[ESI]
NOP
MOV dword ptr [ESI],EAX
ADD EAX,0x1
CMP byte ptr [EAX + -0x1],0x20
JZ 0x00024640
MOV EAX,dword ptr [EDI]
TEST EAX,EAX
JZ 0x0002465d
SUB ESP,0xc
PUSH EAX
CALL 0x0003c080
ADD ESP,0x10
CMP dword ptr [ESP + 0x4],0x2
JZ 0x00024684
SUB ESP,0x8
PUSH 0x0
PUSH dword ptr [EDI]
CALL 0x0003b8d0
MOV dword ptr [EDI],EAX
POP EAX
POP EDX
PUSH 0x0
PUSH dword ptr [EDI + 0x4]
CALL 0x0003b8d0
ADD ESP,0x10
MOV dword ptr [EDI + 0x4],EAX
MOVZX EAX,byte ptr [EDI + 0xc]
CMP AL,0x3
JZ 0x000246c0
CMP AL,0x5
JNZ 0x000246a8
LEA EAX,[EBX + 0x8dbc]
MOV EDI,dword ptr [EAX]
ADD ESP,0x2c
MOV EAX,EDI
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBX + 0xffffffb4]
ADD ESP,0x2c
POP EBX
POP ESI
LEA EDI,[EAX + 0x150]
MOV EAX,EDI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH dword ptr [EDI]
CALL 0x00039580
ADD ESP,0x10
ADD ESP,0x2c
MOV EDI,EAX
POP EBX
MOV EAX,EDI
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EBX + 0x3c0]
MOV EDX,dword ptr [ESP + 0x8]
TEST byte ptr [EAX + EDX*0x1],0x2
JNZ 0x00024ae0
CMP CL,0x22
JZ 0x00024ae0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdbb8a]
MOV byte ptr [EDI + 0xc],0x1
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000171a0
MOV dword ptr [ESP],EAX
CALL 0x0002d660
MOV byte ptr [EDI + 0xc],0x2
ADD ESP,0x10
MOV dword ptr [EDI + 0x8],0x0
JMP 0x00024626
SUB ESP,0xc
MOV dword ptr [ESI],EBP
LEA EAX,[ESP + 0x28]
PUSH EAX
CALL 0x00024470
MOV byte ptr [ESP + 0x10],AL
POP ECX
PUSH dword ptr [ESP + 0x28]
CALL 0x0003b230
MOV dword ptr [ESP],EAX
MOV EBP,EAX
CALL 0x00039580
ADD ESP,0x10
MOVZX ECX,byte ptr [ESP]
CMP dword ptr [ESP + 0x4],0x2
MOV EDX,EAX
JZ 0x00024b38
MOV EAX,dword ptr [EBX + 0xffffffb4]
ADD EAX,0x150
CMP EDX,EAX
JZ 0x00024dbe
LEA EAX,[EBX + 0x8dbc]
CMP dword ptr [EAX],EDX
JZ 0x00024d7f
MOV byte ptr [EDI + 0xc],0x3
MOV dword ptr [EDI],EBP
MOV dword ptr [EDI + 0x8],0x0
MOV EAX,dword ptr [ESI]
MOV byte ptr [EAX],CL
CMP CL,0x22
JNZ 0x00024626
CALL 0x00023880
JMP 0x00024626
MOV byte ptr [ESP],CL
MOV byte ptr [EDI + 0xc],0x5
SUB ESP,0xc
PUSH EBP
CALL 0x0003ac10
ADD ESP,0x10
MOVZX ECX,byte ptr [ESP]
MOV dword ptr [EDI + 0x8],EAX
JMP 0x00024b45
MOV dword ptr [ESP + 0x8],EDX
SUB ESP,0x8
PUSH 0x0
PUSH EBP
CALL 0x000391e0
ADD ESP,0x10
MOVZX ECX,byte ptr [ESP]
MOV EDX,dword ptr [ESP + 0x8]
TEST EAX,EAX
JNZ 0x00024b2a
MOV byte ptr [EDI + 0xc],0x2
JMP 0x00024d86
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined * __regparm3 FUN_000245a0(int *param_1,int param_2)\n\n{\n  short *psVar1;\n  byte bVar2;\n  byte bVar3;\n  uint uVar4;\n  int iVar5;\n  undefined *puVar6;\n  void *__ptr;\n  undefined4 uVar7;\n  char *pcVar8;\n  undefined4 uVar9;\n  int iVar10;\n  ushort *puVar11;\n  undefined2 *puVar12;\n  undefined2 *puVar13;\n  byte *pbVar14;\n  bool bVar15;\n  byte *local_3c;\n  byte *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x245ab;\n  *(byte *)((int)param_1 + 0xd) = *(byte *)((int)param_1 + 0xd) & 0xfc | 1;\n  pbVar14 = DAT_00083ef0;\n  local_3c = DAT_00083ef0 + 1;\n  if (*DAT_00083ef0 == 0x20) {\n    local_3c = DAT_00083ef0 + 2;\n    pbVar14 = DAT_00083ef0 + 1;\n  }\n  DAT_00083ef0 = local_3c;\n  bVar3 = *pbVar14;\n  uVar4 = (uint)bVar3;\n  if ((&DAT_0007b2c0)[uVar4] != '\0') {\nLAB_00024620:\n    *(undefined1 *)(param_1 + 3) = 1;\n    DAT_00083ef0 = pbVar14;\n    goto LAB_00024626;\n  }\n  switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    FUN_000245a0();\n    bVar2 = *(byte *)(param_1 + 3);\n    if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }\n    iVar5 = FUN_000238a0(param_1);\n    *param_1 = iVar5;\n    if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    DAT_00083ef0 = pbVar14 + 2;\n    *(undefined1 *)(param_1 + 3) = 2;\n    param_1[2] = (int)(char)pbVar14[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_00024620;\n  case 0xd:\n    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }\n    *(undefined1 *)(param_1 + 3) = 3;\n    *param_1 = (int)&DAT_00083fe0;\n    break;\n  case 0xf:\n    bVar3 = pbVar14[1];\n    switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto code_r0x00024770;\n  case 0x5d:\n    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }\nLAB_00024ae0:\n    DAT_00083ef0 = pbVar14;\n    bVar3 = FUN_00024470(local_20);\n    iVar5 = FUN_0003b230(local_20[0]);\n    puVar6 = (undefined *)FUN_00039580(iVar5);\n    if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }\n    *DAT_00083ef0 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_00023880();\n    }\n    goto LAB_00024626;\n  }\n  param_1[2] = 0;\nLAB_00024626:\n  FUN_000230d0();\n  bVar3 = *DAT_00083ef0;\n  while (bVar3 == 0x20) {\n    DAT_00083ef0 = DAT_00083ef0 + 1;\n    bVar3 = *DAT_00083ef0;\n  }\n  if (*param_1 != 0) {\n    FUN_0003c080(*param_1);\n  }\n  if (param_2 != 2) {\n    iVar5 = FUN_0003b8d0(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_0003b8d0(param_1[1],0);\n    param_1[1] = iVar5;\n  }\n  if ((char)param_1[3] == '\x03') {\n    puVar6 = (undefined *)FUN_00039580(*param_1);\n    return puVar6;\n  }\n  if ((char)param_1[3] != '\x05') {\n    return PTR__bfd_std_section_0007afb4 + 0x150;\n  }\n  return DAT_00083dbc;\n}\n\n" comment (ERROR "undefined * __regparm3 FUN_000245a0(int *param_1,int param_2)" (binary_expression "undefined * __regparm3 FUN_000245a0(int *param_1,int param_2)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_000245a0(int *param_1,int param_2)" identifier (argument_list "(int *param_1,int param_2)" ( (binary_expression "int *param_1" identifier * identifier) , (ERROR "int" identifier) identifier ))))) (compound_statement "{\n  short *psVar1;\n  byte bVar2;\n  byte bVar3;\n  uint uVar4;\n  int iVar5;\n  undefined *puVar6;\n  void *__ptr;\n  undefined4 uVar7;\n  char *pcVar8;\n  undefined4 uVar9;\n  int iVar10;\n  ushort *puVar11;\n  undefined2 *puVar12;\n  undefined2 *puVar13;\n  byte *pbVar14;\n  bool bVar15;\n  byte *local_3c;\n  byte *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x245ab;\n  *(byte *)((int)param_1 + 0xd) = *(byte *)((int)param_1 + 0xd) & 0xfc | 1;\n  pbVar14 = DAT_00083ef0;\n  local_3c = DAT_00083ef0 + 1;\n  if (*DAT_00083ef0 == 0x20) {\n    local_3c = DAT_00083ef0 + 2;\n    pbVar14 = DAT_00083ef0 + 1;\n  }\n  DAT_00083ef0 = local_3c;\n  bVar3 = *pbVar14;\n  uVar4 = (uint)bVar3;\n  if ((&DAT_0007b2c0)[uVar4] != '\0') {\nLAB_00024620:\n    *(undefined1 *)(param_1 + 3) = 1;\n    DAT_00083ef0 = pbVar14;\n    goto LAB_00024626;\n  }\n  switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    FUN_000245a0();\n    bVar2 = *(byte *)(param_1 + 3);\n    if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }\n    iVar5 = FUN_000238a0(param_1);\n    *param_1 = iVar5;\n    if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    DAT_00083ef0 = pbVar14 + 2;\n    *(undefined1 *)(param_1 + 3) = 2;\n    param_1[2] = (int)(char)pbVar14[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_00024620;\n  case 0xd:\n    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }\n    *(undefined1 *)(param_1 + 3) = 3;\n    *param_1 = (int)&DAT_00083fe0;\n    break;\n  case 0xf:\n    bVar3 = pbVar14[1];\n    switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto code_r0x00024770;\n  case 0x5d:\n    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }\nLAB_00024ae0:\n    DAT_00083ef0 = pbVar14;\n    bVar3 = FUN_00024470(local_20);\n    iVar5 = FUN_0003b230(local_20[0]);\n    puVar6 = (undefined *)FUN_00039580(iVar5);\n    if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }\n    *DAT_00083ef0 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_00023880();\n    }\n    goto LAB_00024626;\n  }\n  param_1[2] = 0;\nLAB_00024626:\n  FUN_000230d0();\n  bVar3 = *DAT_00083ef0;\n  while (bVar3 == 0x20) {\n    DAT_00083ef0 = DAT_00083ef0 + 1;\n    bVar3 = *DAT_00083ef0;\n  }\n  if (*param_1 != 0) {\n    FUN_0003c080(*param_1);\n  }\n  if (param_2 != 2) {\n    iVar5 = FUN_0003b8d0(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_0003b8d0(param_1[1],0);\n    param_1[1] = iVar5;\n  }\n  if ((char)param_1[3] == '\x03') {\n    puVar6 = (undefined *)FUN_00039580(*param_1);\n    return puVar6;\n  }\n  if ((char)param_1[3] != '\x05') {\n    return PTR__bfd_std_section_0007afb4 + 0x150;\n  }\n  return DAT_00083dbc;\n}" { (declaration "short *psVar1;" (sized_type_specifier "short" short) (pointer_declarator "*psVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "ushort *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined2 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined2 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "byte *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "byte *local_20 [3];" type_identifier (pointer_declarator "*local_20 [3]" * (array_declarator "local_20 [3]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x245ab;" (assignment_expression "uStack_14 = 0x245ab" identifier = number_literal) ;) (expression_statement "*(byte *)((int)param_1 + 0xd) = *(byte *)((int)param_1 + 0xd) & 0xfc | 1;" (assignment_expression "*(byte *)((int)param_1 + 0xd) = *(byte *)((int)param_1 + 0xd) & 0xfc | 1" (pointer_expression "*(byte *)((int)param_1 + 0xd)" * (cast_expression "(byte *)((int)param_1 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xd)" ( (binary_expression "(int)param_1 + 0xd" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)param_1 + 0xd) & 0xfc | 1" (binary_expression "*(byte *)((int)param_1 + 0xd) & 0xfc" (pointer_expression "*(byte *)((int)param_1 + 0xd)" * (cast_expression "(byte *)((int)param_1 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xd)" ( (binary_expression "(int)param_1 + 0xd" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "pbVar14 = DAT_00083ef0;" (assignment_expression "pbVar14 = DAT_00083ef0" identifier = identifier) ;) (expression_statement "local_3c = DAT_00083ef0 + 1;" (assignment_expression "local_3c = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) (if_statement "if (*DAT_00083ef0 == 0x20) {\n    local_3c = DAT_00083ef0 + 2;\n    pbVar14 = DAT_00083ef0 + 1;\n  }" if (parenthesized_expression "(*DAT_00083ef0 == 0x20)" ( (binary_expression "*DAT_00083ef0 == 0x20" (pointer_expression "*DAT_00083ef0" * identifier) == number_literal) )) (compound_statement "{\n    local_3c = DAT_00083ef0 + 2;\n    pbVar14 = DAT_00083ef0 + 1;\n  }" { (expression_statement "local_3c = DAT_00083ef0 + 2;" (assignment_expression "local_3c = DAT_00083ef0 + 2" identifier = (binary_expression "DAT_00083ef0 + 2" identifier + number_literal)) ;) (expression_statement "pbVar14 = DAT_00083ef0 + 1;" (assignment_expression "pbVar14 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) })) (expression_statement "DAT_00083ef0 = local_3c;" (assignment_expression "DAT_00083ef0 = local_3c" identifier = identifier) ;) (expression_statement "bVar3 = *pbVar14;" (assignment_expression "bVar3 = *pbVar14" identifier = (pointer_expression "*pbVar14" * identifier)) ;) (expression_statement "uVar4 = (uint)bVar3;" (assignment_expression "uVar4 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((&DAT_0007b2c0)[uVar4] != '\0') {\nLAB_00024620:\n    *(undefined1 *)(param_1 + 3) = 1;\n    DAT_00083ef0 = pbVar14;\n    goto LAB_00024626;\n  }" if (parenthesized_expression "((&DAT_0007b2c0)[uVar4] != '\0')" ( (binary_expression "(&DAT_0007b2c0)[uVar4] != '\0'" (subscript_expression "(&DAT_0007b2c0)[uVar4]" (parenthesized_expression "(&DAT_0007b2c0)" ( (pointer_expression "&DAT_0007b2c0" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00024620:\n    *(undefined1 *)(param_1 + 3) = 1;\n    DAT_00083ef0 = pbVar14;\n    goto LAB_00024626;\n  }" { (labeled_statement "LAB_00024620:\n    *(undefined1 *)(param_1 + 3) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 3) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 1" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "DAT_00083ef0 = pbVar14;" (assignment_expression "DAT_00083ef0 = pbVar14" identifier = identifier) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (switch_statement "switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    FUN_000245a0();\n    bVar2 = *(byte *)(param_1 + 3);\n    if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }\n    iVar5 = FUN_000238a0(param_1);\n    *param_1 = iVar5;\n    if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    DAT_00083ef0 = pbVar14 + 2;\n    *(undefined1 *)(param_1 + 3) = 2;\n    param_1[2] = (int)(char)pbVar14[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_00024620;\n  case 0xd:\n    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }\n    *(undefined1 *)(param_1 + 3) = 3;\n    *param_1 = (int)&DAT_00083fe0;\n    break;\n  case 0xf:\n    bVar3 = pbVar14[1];\n    switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto code_r0x00024770;\n  case 0x5d:\n    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }\nLAB_00024ae0:\n    DAT_00083ef0 = pbVar14;\n    bVar3 = FUN_00024470(local_20);\n    iVar5 = FUN_0003b230(local_20[0]);\n    puVar6 = (undefined *)FUN_00039580(iVar5);\n    if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }\n    *DAT_00083ef0 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_00023880();\n    }\n    goto LAB_00024626;\n  }" switch (parenthesized_expression "(uVar4 - 0x21 & 0xff)" ( (binary_expression "uVar4 - 0x21 & 0xff" (binary_expression "uVar4 - 0x21" identifier - number_literal) & number_literal) )) (compound_statement "{\n  case 0:\n  case 10:\n  case 0xc:\n    FUN_000245a0();\n    bVar2 = *(byte *)(param_1 + 3);\n    if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }\n    iVar5 = FUN_000238a0(param_1);\n    *param_1 = iVar5;\n    if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    DAT_00083ef0 = pbVar14 + 2;\n    *(undefined1 *)(param_1 + 3) = 2;\n    param_1[2] = (int)(char)pbVar14[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_00024620;\n  case 0xd:\n    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }\n    *(undefined1 *)(param_1 + 3) = 3;\n    *param_1 = (int)&DAT_00083fe0;\n    break;\n  case 0xf:\n    bVar3 = pbVar14[1];\n    switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto code_r0x00024770;\n  case 0x5d:\n    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }\nLAB_00024ae0:\n    DAT_00083ef0 = pbVar14;\n    bVar3 = FUN_00024470(local_20);\n    iVar5 = FUN_0003b230(local_20[0]);\n    puVar6 = (undefined *)FUN_00039580(iVar5);\n    if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }\n    *DAT_00083ef0 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_00023880();\n    }\n    goto LAB_00024626;\n  }" { (case_statement "case 0:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xc:\n    FUN_000245a0();\n    bVar2 = *(byte *)(param_1 + 3);\n    if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }\n    iVar5 = FUN_000238a0(param_1);\n    *param_1 = iVar5;\n    if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }\n    break;" case number_literal : (expression_statement "FUN_000245a0();" (call_expression "FUN_000245a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar2 = *(byte *)(param_1 + 3);" (assignment_expression "bVar2 = *(byte *)(param_1 + 3)" identifier = (pointer_expression "*(byte *)(param_1 + 3)" * (cast_expression "(byte *)(param_1 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) ))))) ;) (if_statement "if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }" if (parenthesized_expression "(bVar2 == 2)" ( (binary_expression "bVar2 == 2" identifier == number_literal) )) (compound_statement "{\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }" { (if_statement "if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }" if (parenthesized_expression "(bVar3 == 0x2d)" ( (binary_expression "bVar3 == 0x2d" identifier == number_literal) )) (compound_statement "{\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }" { (expression_statement "bVar3 = *(byte *)((int)param_1 + 0xd);" (assignment_expression "bVar3 = *(byte *)((int)param_1 + 0xd)" identifier = (pointer_expression "*(byte *)((int)param_1 + 0xd)" * (cast_expression "(byte *)((int)param_1 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xd)" ( (binary_expression "(int)param_1 + 0xd" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar5 = param_1[2];" (assignment_expression "iVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = -iVar5;" (assignment_expression "param_1[2] = -iVar5" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (unary_expression "-iVar5" - identifier)) ;) (expression_statement "*(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;" (assignment_expression "*(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe" (pointer_expression "*(byte *)((int)param_1 + 0xd)" * (cast_expression "(byte *)((int)param_1 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xd)" ( (binary_expression "(int)param_1 + 0xd" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar3 & 0xfe" identifier & number_literal)) ;) (if_statement "if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }" if (parenthesized_expression "(-iVar5 != 0)" ( (binary_expression "-iVar5 != 0" (unary_expression "-iVar5" - identifier) != number_literal) )) (compound_statement "{\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }" { (expression_statement "*(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;" (assignment_expression "*(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc" (pointer_expression "*(byte *)((int)param_1 + 0xd)" * (cast_expression "(byte *)((int)param_1 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xd)" ( (binary_expression "(int)param_1 + 0xd" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc" (binary_expression "(bVar3 >> 1 & 1 ^ 1) * '\x02'" (parenthesized_expression "(bVar3 >> 1 & 1 ^ 1)" ( (binary_expression "bVar3 >> 1 & 1 ^ 1" (binary_expression "bVar3 >> 1 & 1" (binary_expression "bVar3 >> 1" identifier >> number_literal) & number_literal) ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar3 & 0xfc" identifier & number_literal))) ;) })) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (if_statement "if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }" if (parenthesized_expression "(bVar3 != 0x22)" ( (binary_expression "bVar3 != 0x22" identifier != number_literal) )) (compound_statement "{\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }" { (if_statement "if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }" if (parenthesized_expression "(bVar3 == 0x21)" ( (binary_expression "bVar3 == 0x21" identifier == number_literal) )) (compound_statement "{\n          param_1[2] = (uint)(param_1[2] == 0);\n        }" { (expression_statement "param_1[2] = (uint)(param_1[2] == 0);" (assignment_expression "param_1[2] = (uint)(param_1[2] == 0)" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (call_expression "(uint)(param_1[2] == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1[2] == 0)" ( (binary_expression "param_1[2] == 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) == number_literal) )))) ;) })) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (labeled_statement "code_r0x00024d54:\n      param_1[2] = ~param_1[2];" statement_identifier : (expression_statement "param_1[2] = ~param_1[2];" (assignment_expression "param_1[2] = ~param_1[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (unary_expression "~param_1[2]" ~ (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;)) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (if_statement "if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }" if (parenthesized_expression "(bVar2 == 6)" ( (binary_expression "bVar2 == 6" identifier == number_literal) )) (compound_statement "{\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }" { (expression_statement "bVar15 = bVar3 == 0x2d;" (assignment_expression "bVar15 = bVar3 == 0x2d" identifier = (binary_expression "bVar3 == 0x2d" identifier == number_literal)) ;) (expression_statement "iVar5 = param_1[2];" (assignment_expression "iVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (if_statement "if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }" if (parenthesized_expression "((0 < iVar5) || (!bVar15))" ( (binary_expression "(0 < iVar5) || (!bVar15)" (parenthesized_expression "(0 < iVar5)" ( (binary_expression "0 < iVar5" number_literal < identifier) )) || (parenthesized_expression "(!bVar15)" ( (unary_expression "!bVar15" ! identifier) ))) )) (compound_statement "{\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }" { (labeled_statement "code_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }" statement_identifier : (if_statement "if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }" if (parenthesized_expression "(0 < iVar5)" ( (binary_expression "0 < iVar5" number_literal < identifier) )) (compound_statement "{\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }" { (if_statement "if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }" if (parenthesized_expression "((bVar3 == 0x7e) || (bVar15))" ( (binary_expression "(bVar3 == 0x7e) || (bVar15)" (parenthesized_expression "(bVar3 == 0x7e)" ( (binary_expression "bVar3 == 0x7e" identifier == number_literal) )) || (parenthesized_expression "(bVar15)" ( identifier ))) )) (compound_statement "{\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }" { (expression_statement "puVar11 = (ushort *)&DAT_00083e80;" (assignment_expression "puVar11 = (ushort *)&DAT_00083e80" identifier = (cast_expression "(ushort *)&DAT_00083e80" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00083e80" & identifier))) ;) (do_statement "do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));" do (compound_statement "{\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            }" { (expression_statement "*puVar11 = ~*puVar11;" (assignment_expression "*puVar11 = ~*puVar11" (pointer_expression "*puVar11" * identifier) = (unary_expression "~*puVar11" ~ (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "puVar11 = puVar11 + 1;" (assignment_expression "puVar11 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2))" ( (binary_expression "puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2)" identifier != (cast_expression "(ushort *)((int)&DAT_00083e80 + iVar5 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00083e80 + iVar5 * 2)" ( (binary_expression "(int)&DAT_00083e80 + iVar5 * 2" (cast_expression "(int)&DAT_00083e80" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00083e80" & identifier)) + (binary_expression "iVar5 * 2" identifier * number_literal)) )))) )) ;) (if_statement "if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }" if (parenthesized_expression "(iVar5 < 0x14)" ( (binary_expression "iVar5 < 0x14" identifier < number_literal) )) (compound_statement "{\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }" { (expression_statement "param_1[2] = 0x14;" (assignment_expression "param_1[2] = 0x14" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);" (assignment_expression "puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2)" identifier = (cast_expression "(undefined2 *)((int)&DAT_00083e80 + iVar5 * 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00083e80 + iVar5 * 2)" ( (binary_expression "(int)&DAT_00083e80 + iVar5 * 2" (cast_expression "(int)&DAT_00083e80" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00083e80" & identifier)) + (binary_expression "iVar5 * 2" identifier * number_literal)) )))) ;) (do_statement "do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);" do (compound_statement "{\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              }" { (expression_statement "puVar13 = puVar12 + 1;" (assignment_expression "puVar13 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "*puVar12 = 0xffff;" (assignment_expression "*puVar12 = 0xffff" (pointer_expression "*puVar12" * identifier) = number_literal) ;) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) }) while (parenthesized_expression "(puVar13 != (undefined2 *)0x83ea8)" ( (binary_expression "puVar13 != (undefined2 *)0x83ea8" identifier != (cast_expression "(undefined2 *)0x83ea8" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }" { (expression_statement "iVar5 = param_1[2];" (assignment_expression "iVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;" (assignment_expression "DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1" (field_expression "DAT_00083e80._0_2_" identifier . field_identifier) = (binary_expression "(short)DAT_00083e80 + 1" (cast_expression "(short)DAT_00083e80" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) + number_literal)) ;) (if_statement "if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }" if (parenthesized_expression "((short)DAT_00083e80 == 0)" ( (binary_expression "(short)DAT_00083e80 == 0" (cast_expression "(short)DAT_00083e80" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) == number_literal) )) (compound_statement "{\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);" do (compound_statement "{\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                }" { (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 <= iVar10) break;" if (parenthesized_expression "(iVar5 <= iVar10)" ( (binary_expression "iVar5 <= iVar10" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);" (assignment_expression "psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2)" identifier = (cast_expression "(short *)((int)&DAT_00083e80 + iVar10 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00083e80 + iVar10 * 2)" ( (binary_expression "(int)&DAT_00083e80 + iVar10 * 2" (cast_expression "(int)&DAT_00083e80" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00083e80" & identifier)) + (binary_expression "iVar10 * 2" identifier * number_literal)) )))) ;) (expression_statement "*psVar1 = *psVar1 + 1;" (assignment_expression "*psVar1 = *psVar1 + 1" (pointer_expression "*psVar1" * identifier) = (binary_expression "*psVar1 + 1" (pointer_expression "*psVar1" * identifier) + number_literal)) ;) }) while (parenthesized_expression "(*psVar1 == 0)" ( (binary_expression "*psVar1 == 0" (pointer_expression "*psVar1" * identifier) == number_literal) )) ;) })) })) }) (else_clause "else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }" else (if_statement "if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }" if (parenthesized_expression "(bVar3 == 0x21)" ( (binary_expression "bVar3 == 0x21" identifier == number_literal) )) (compound_statement "{\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);" do (compound_statement "{\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            }" { (if_statement "if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;" if (parenthesized_expression "(*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0)" ( (binary_expression "*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0" (pointer_expression "*(short *)((int)&DAT_00083e80 + iVar10 * 2)" * (cast_expression "(short *)((int)&DAT_00083e80 + iVar10 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00083e80 + iVar10 * 2)" ( (binary_expression "(int)&DAT_00083e80 + iVar10 * 2" (cast_expression "(int)&DAT_00083e80" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00083e80" & identifier)) + (binary_expression "iVar10 * 2" identifier * number_literal)) )))) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 != iVar5)" ( (binary_expression "iVar10 != iVar5" identifier != identifier) )) ;) (expression_statement "param_1[2] = (uint)(iVar5 <= iVar10);" (assignment_expression "param_1[2] = (uint)(iVar5 <= iVar10)" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (call_expression "(uint)(iVar5 <= iVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar5 <= iVar10)" ( (binary_expression "iVar5 <= iVar10" identifier <= identifier) )))) ;) (expression_statement "*(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;" (assignment_expression "*(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102" (pointer_expression "*(ushort *)(param_1 + 3)" * (cast_expression "(ushort *)(param_1 + 3)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = (binary_expression "*(ushort *)(param_1 + 3) & 0xfc00 | 0x102" (binary_expression "*(ushort *)(param_1 + 3) & 0xfc00" (pointer_expression "*(ushort *)(param_1 + 3)" * (cast_expression "(ushort *)(param_1 + 3)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) & number_literal) | number_literal)) ;) })))) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) }))) (goto_statement "goto code_r0x00024a1e;" goto statement_identifier ;) })) (if_statement "if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }" if (parenthesized_expression "((DAT_0007b270 == '+') || (DAT_0007b270 == 'P'))" ( (binary_expression "(DAT_0007b270 == '+') || (DAT_0007b270 == 'P')" (parenthesized_expression "(DAT_0007b270 == '+')" ( (binary_expression "DAT_0007b270 == '+'" identifier == (char_literal "'+'" ' character ')) )) || (parenthesized_expression "(DAT_0007b270 == 'P')" ( (binary_expression "DAT_0007b270 == 'P'" identifier == (char_literal "'P'" ' character ')) ))) )) (compound_statement "{\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }" { (expression_statement "bVar15 = DAT_0007b270 == '+';" (assignment_expression "bVar15 = DAT_0007b270 == '+'" identifier = (binary_expression "DAT_0007b270 == '+'" identifier == (char_literal "'+'" ' character '))) ;) (expression_statement "DAT_0007b270 = 'N';" (assignment_expression "DAT_0007b270 = 'N'" identifier = (char_literal "'N'" ' character ')) ;) (if_statement "if (bVar15) {\n          DAT_0007b270 = '-';\n        }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n          DAT_0007b270 = '-';\n        }" { (expression_statement "DAT_0007b270 = '-';" (assignment_expression "DAT_0007b270 = '-'" identifier = (char_literal "'-'" ' character ')) ;) })) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) }) (else_clause "else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }" else (compound_statement "{\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }" { (labeled_statement "code_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }" statement_identifier : (if_statement "if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }" if (parenthesized_expression "(bVar2 < 2)" ( (binary_expression "bVar2 < 2" identifier < number_literal) )) (compound_statement "{\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }" { (expression_statement "uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);" (assignment_expression "uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5)" identifier = (call_expression "dcgettext(0,"Unary operator %c ignored because bad operand follows",5)" identifier (argument_list "(0,"Unary operator %c ignored because bad operand follows",5)" ( number_literal , (string_literal ""Unary operator %c ignored because bad operand follows"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002d580(uVar7,(int)(char)bVar3);" (call_expression "FUN_0002d580(uVar7,(int)(char)bVar3)" identifier (argument_list "(uVar7,(int)(char)bVar3)" ( identifier , (cast_expression "(int)(char)bVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) }))) (labeled_statement "code_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;" statement_identifier : (if_statement "if (bVar3 == 0x2b) goto LAB_00024626;" if (parenthesized_expression "(bVar3 == 0x2b)" ( (binary_expression "bVar3 == 0x2b" identifier == number_literal) )) (goto_statement "goto LAB_00024626;" goto statement_identifier ;))) }))) (expression_statement "iVar5 = FUN_000238a0(param_1);" (assignment_expression "iVar5 = FUN_000238a0(param_1)" identifier = (call_expression "FUN_000238a0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "*param_1 = iVar5;" (assignment_expression "*param_1 = iVar5" (pointer_expression "*param_1" * identifier) = identifier) ;) (if_statement "if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }" if (parenthesized_expression "(bVar3 == 0x2d)" ( (binary_expression "bVar3 == 0x2d" identifier == number_literal) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 3) = 7;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 3) = 7;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 7" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }" else (if_statement "if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }" if (parenthesized_expression "((bVar3 == 0x7e) || (bVar3 == 0x22))" ( (binary_expression "(bVar3 == 0x7e) || (bVar3 == 0x22)" (parenthesized_expression "(bVar3 == 0x7e)" ( (binary_expression "bVar3 == 0x7e" identifier == number_literal) )) || (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) ))) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 3) = 8;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 3) = 8;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 8" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }" else (compound_statement "{\n      *(undefined1 *)(param_1 + 3) = 9;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 3) = 9;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 9" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) }))))) (break_statement "break;" break ;)) (case_statement "default:\n    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;" default : (if_statement "if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }" if (parenthesized_expression "((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22))" ( (binary_expression "(((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)" (parenthesized_expression "(((&DAT_0007b3c0)[uVar4] & 2) == 0)" ( (binary_expression "((&DAT_0007b3c0)[uVar4] & 2) == 0" (parenthesized_expression "((&DAT_0007b3c0)[uVar4] & 2)" ( (binary_expression "(&DAT_0007b3c0)[uVar4] & 2" (subscript_expression "(&DAT_0007b3c0)[uVar4]" (parenthesized_expression "(&DAT_0007b3c0)" ( (pointer_expression "&DAT_0007b3c0" & identifier) )) [ identifier ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(bVar3 != 0x22)" ( (binary_expression "bVar3 != 0x22" identifier != number_literal) ))) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 3) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 1" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext(0,"bad expression",5);" (assignment_expression "uVar7 = dcgettext(0,"bad expression",5)" identifier = (call_expression "dcgettext(0,"bad expression",5)" identifier (argument_list "(0,"bad expression",5)" ( number_literal , (string_literal ""bad expression"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002d660(uVar7);" (call_expression "FUN_0002d660(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "*(undefined1 *)(param_1 + 3) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 2" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (goto_statement "goto LAB_00024ae0;" goto statement_identifier ;)) (case_statement "case 6:\n    DAT_00083ef0 = pbVar14 + 2;\n    *(undefined1 *)(param_1 + 3) = 2;\n    param_1[2] = (int)(char)pbVar14[1];\n    goto LAB_00024626;" case number_literal : (expression_statement "DAT_00083ef0 = pbVar14 + 2;" (assignment_expression "DAT_00083ef0 = pbVar14 + 2" identifier = (binary_expression "pbVar14 + 2" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)(param_1 + 3) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 2" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[2] = (int)(char)pbVar14[1];" (assignment_expression "param_1[2] = (int)(char)pbVar14[1]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (cast_expression "(int)(char)pbVar14[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar14[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar14[1]" identifier [ number_literal ])))) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;)) (case_statement "case 7:" case number_literal :) (case_statement "case 0x3a:\n    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }\n    return puVar6;" case number_literal : (expression_statement "puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);" (assignment_expression "puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2)" identifier = (cast_expression "(undefined *)FUN_00024f00(0,param_1,param_2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024f00(0,param_1,param_2)" identifier (argument_list "(0,param_1,param_2)" ( number_literal , identifier , identifier ))))) ;) (if_statement "if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }" if (parenthesized_expression "(bVar3 == 0x28)" ( (binary_expression "bVar3 == 0x28" identifier == number_literal) )) (compound_statement "{\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }" { (expression_statement "bVar3 = *DAT_00083ef0;" (assignment_expression "bVar3 = *DAT_00083ef0" identifier = (pointer_expression "*DAT_00083ef0" * identifier)) ;) (if_statement "if (bVar3 == 0x29) goto code_r0x000249c4;" if (parenthesized_expression "(bVar3 == 0x29)" ( (binary_expression "bVar3 == 0x29" identifier == number_literal) )) (goto_statement "goto code_r0x000249c4;" goto statement_identifier ;)) (expression_statement "uVar7 = 0x29;" (assignment_expression "uVar7 = 0x29" identifier = number_literal) ;) }) (else_clause "else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }" else (compound_statement "{\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }" { (if_statement "if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }" if (parenthesized_expression "((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d))" ( (binary_expression "(bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)" (parenthesized_expression "(bVar3 != 0x5b)" ( (binary_expression "bVar3 != 0x5b" identifier != number_literal) )) || (parenthesized_expression "(bVar3 = *DAT_00083ef0, bVar3 == 0x5d)" ( (comma_expression "bVar3 = *DAT_00083ef0, bVar3 == 0x5d" (assignment_expression "bVar3 = *DAT_00083ef0" identifier = (pointer_expression "*DAT_00083ef0" * identifier)) , (binary_expression "bVar3 == 0x5d" identifier == number_literal)) ))) )) (compound_statement "{\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }" { (labeled_statement "code_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;" statement_identifier : (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;)) (goto_statement "goto code_r0x000249c9;" goto statement_identifier ;) })) (expression_statement "uVar7 = 0x5d;" (assignment_expression "uVar7 = 0x5d" identifier = number_literal) ;) }))) (if_statement "if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }" if (parenthesized_expression "(bVar3 == 0)" ( (binary_expression "bVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }" { (expression_statement "uVar9 = dcgettext(0,"missing \'%c\'",5);" (assignment_expression "uVar9 = dcgettext(0,"missing \'%c\'",5)" identifier = (call_expression "dcgettext(0,"missing \'%c\'",5)" identifier (argument_list "(0,"missing \'%c\'",5)" ( number_literal , (string_literal ""missing \'%c\'"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002d660(uVar9,uVar7);" (call_expression "FUN_0002d660(uVar9,uVar7)" identifier (argument_list "(uVar9,uVar7)" ( identifier , identifier ))) ;) }) (else_clause "else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }" else (compound_statement "{\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }" { (expression_statement "uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);" (assignment_expression "uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5)" identifier = (call_expression "dcgettext(0,"found \'%c\', expected: \'%c\'",5)" identifier (argument_list "(0,"found \'%c\', expected: \'%c\'",5)" ( number_literal , (string_literal ""found \'%c\', expected: \'%c\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);" (call_expression "FUN_0002d660(uVar9,(int)(char)bVar3,uVar7)" identifier (argument_list "(uVar9,(int)(char)bVar3,uVar7)" ( identifier , (cast_expression "(int)(char)bVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) , identifier ))) ;) }))) (labeled_statement "code_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }" statement_identifier : (if_statement "if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }" if (parenthesized_expression "(*DAT_00083ef0 == 0x20)" ( (binary_expression "*DAT_00083ef0 == 0x20" (pointer_expression "*DAT_00083ef0" * identifier) == number_literal) )) (compound_statement "{\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }" { (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) (return_statement "return puVar6;" return identifier ;) }))) (return_statement "return puVar6;" return identifier ;)) (case_statement "case 0xb:\n    goto LAB_00024620;" case number_literal : (goto_statement "goto LAB_00024620;" goto statement_identifier ;)) (case_statement "case 0xd:\n    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }\n    *(undefined1 *)(param_1 + 3) = 3;\n    *param_1 = (int)&DAT_00083fe0;\n    break;" case number_literal : (if_statement "if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }" if (parenthesized_expression "(((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0)" ( (binary_expression "((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0" (parenthesized_expression "((&DAT_0007b3c0)[pbVar14[1]] & 1)" ( (binary_expression "(&DAT_0007b3c0)[pbVar14[1]] & 1" (subscript_expression "(&DAT_0007b3c0)[pbVar14[1]]" (parenthesized_expression "(&DAT_0007b3c0)" ( (pointer_expression "&DAT_0007b3c0" & identifier) )) [ (subscript_expression "pbVar14[1]" identifier [ number_literal ]) ]) & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }" { (expression_statement "iVar5 = strncasecmp((char *)local_3c,"startof.",8);" (assignment_expression "iVar5 = strncasecmp((char *)local_3c,"startof.",8)" identifier = (call_expression "strncasecmp((char *)local_3c,"startof.",8)" identifier (argument_list "((char *)local_3c,"startof.",8)" ( (cast_expression "(char *)local_3c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""startof."" " string_content ") , number_literal )))) ;) (if_statement "if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }" if (parenthesized_expression "(((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0))))" ( (binary_expression "((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))" (parenthesized_expression "((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0))" ( (binary_expression "(iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "(((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)" ( (binary_expression "((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0" (parenthesized_expression "((&DAT_0007b3c0)[pbVar14[9]] & 1)" ( (binary_expression "(&DAT_0007b3c0)[pbVar14[9]] & 1" (subscript_expression "(&DAT_0007b3c0)[pbVar14[9]]" (parenthesized_expression "(&DAT_0007b3c0)" ( (pointer_expression "&DAT_0007b3c0" & identifier) )) [ (subscript_expression "pbVar14[9]" identifier [ number_literal ]) ]) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))" ( (parenthesized_expression "(iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0))" ( (comma_expression "iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)" (assignment_expression "iVar5 = strncasecmp((char *)local_3c,"sizeof.",7)" identifier = (call_expression "strncasecmp((char *)local_3c,"sizeof.",7)" identifier (argument_list "((char *)local_3c,"sizeof.",7)" ( (cast_expression "(char *)local_3c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""sizeof."" " string_content ") , number_literal )))) , (binary_expression "iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)" (binary_expression "iVar5 == 0" identifier == number_literal) && (parenthesized_expression "(((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)" ( (binary_expression "((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0" (parenthesized_expression "((&DAT_0007b3c0)[pbVar14[8]] & 1)" ( (binary_expression "(&DAT_0007b3c0)[pbVar14[8]] & 1" (subscript_expression "(&DAT_0007b3c0)[pbVar14[8]]" (parenthesized_expression "(&DAT_0007b3c0)" ( (pointer_expression "&DAT_0007b3c0" & identifier) )) [ (subscript_expression "pbVar14[8]" identifier [ number_literal ]) ]) & number_literal) )) == number_literal) )))) )) ))) )) (compound_statement "{\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }" { (expression_statement "bVar3 = pbVar14[2];" (assignment_expression "bVar3 = pbVar14[2]" identifier = (subscript_expression "pbVar14[2]" identifier [ number_literal ])) ;) (expression_statement "local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;" (assignment_expression "local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7" identifier = (binary_expression "local_3c + ((bVar3 & 0xdf) == 0x54) + 7" (binary_expression "local_3c + ((bVar3 & 0xdf) == 0x54)" identifier + (parenthesized_expression "((bVar3 & 0xdf) == 0x54)" ( (binary_expression "(bVar3 & 0xdf) == 0x54" (parenthesized_expression "(bVar3 & 0xdf)" ( (binary_expression "bVar3 & 0xdf" identifier & number_literal) )) == number_literal) ))) + number_literal)) ;) (if_statement "if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }" if (parenthesized_expression "(*local_3c == 0x20)" ( (binary_expression "*local_3c == 0x20" (pointer_expression "*local_3c" * identifier) == number_literal) )) (compound_statement "{\n          local_3c = local_3c + 1;\n        }" { (expression_statement "local_3c = local_3c + 1;" (assignment_expression "local_3c = local_3c + 1" identifier = (binary_expression "local_3c + 1" identifier + number_literal)) ;) })) (expression_statement "DAT_00083ef0 = local_3c;" (assignment_expression "DAT_00083ef0 = local_3c" identifier = identifier) ;) (expression_statement "*(undefined1 *)(param_1 + 3) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 1" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }" if (parenthesized_expression "(*local_3c == 0x28)" ( (binary_expression "*local_3c == 0x28" (pointer_expression "*local_3c" * identifier) == number_literal) )) (compound_statement "{\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }" { (expression_statement "DAT_00083ef0 = local_3c + 1;" (assignment_expression "DAT_00083ef0 = local_3c + 1" identifier = (binary_expression "local_3c + 1" identifier + number_literal)) ;) (if_statement "if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }" if (parenthesized_expression "(local_3c[1] == 0x20)" ( (binary_expression "local_3c[1] == 0x20" (subscript_expression "local_3c[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            DAT_00083ef0 = local_3c + 2;\n          }" { (expression_statement "DAT_00083ef0 = local_3c + 2;" (assignment_expression "DAT_00083ef0 = local_3c + 2" identifier = (binary_expression "local_3c + 2" identifier + number_literal)) ;) })) (expression_statement "bVar2 = FUN_00024470(local_20);" (assignment_expression "bVar2 = FUN_00024470(local_20)" identifier = (call_expression "FUN_00024470(local_20)" identifier (argument_list "(local_20)" ( identifier )))) ;) (if_statement "if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }" if (parenthesized_expression "(*local_20[0] == 0)" ( (binary_expression "*local_20[0] == 0" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }" { (expression_statement "uVar7 = dcgettext(0,"expected symbol name",5);" (assignment_expression "uVar7 = dcgettext(0,"expected symbol name",5)" identifier = (call_expression "dcgettext(0,"expected symbol name",5)" identifier (argument_list "(0,"expected symbol name",5)" ( number_literal , (string_literal ""expected symbol name"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002d660(uVar7);" (call_expression "FUN_0002d660(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "*DAT_00083ef0 = bVar2;" (assignment_expression "*DAT_00083ef0 = bVar2" (pointer_expression "*DAT_00083ef0" * identifier) = identifier) ;) (if_statement "if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }" if (parenthesized_expression "(bVar2 == 0x22)" ( (binary_expression "bVar2 == 0x22" identifier == number_literal) )) (compound_statement "{\n              FUN_00023880();\n            }" { (expression_statement "FUN_00023880();" (call_expression "FUN_00023880()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }" else (if_statement "if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }" if (parenthesized_expression "(bVar2 == 0x29)" ( (binary_expression "bVar2 == 0x29" identifier == number_literal) )) (compound_statement "{\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }" { (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })))) (expression_statement "FUN_0002f760();" (call_expression "FUN_0002f760()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (expression_statement "pcVar8 = ".startof.";" (assignment_expression "pcVar8 = ".startof."" identifier = (string_literal "".startof."" " string_content ")) ;) (if_statement "if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }" if (parenthesized_expression "((bVar3 & 0xdf) != 0x54)" ( (binary_expression "(bVar3 & 0xdf) != 0x54" (parenthesized_expression "(bVar3 & 0xdf)" ( (binary_expression "bVar3 & 0xdf" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            pcVar8 = ".sizeof.";\n          }" { (expression_statement "pcVar8 = ".sizeof.";" (assignment_expression "pcVar8 = ".sizeof."" identifier = (string_literal "".sizeof."" " string_content ")) ;) })) (expression_statement "__ptr = (void *)concat(pcVar8,local_20[0],0);" (assignment_expression "__ptr = (void *)concat(pcVar8,local_20[0],0)" identifier = (cast_expression "(void *)concat(pcVar8,local_20[0],0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(pcVar8,local_20[0],0)" identifier (argument_list "(pcVar8,local_20[0],0)" ( identifier , (subscript_expression "local_20[0]" identifier [ number_literal ]) , number_literal ))))) ;) (expression_statement "iVar5 = FUN_00039960(__ptr);" (assignment_expression "iVar5 = FUN_00039960(__ptr)" identifier = (call_expression "FUN_00039960(__ptr)" identifier (argument_list "(__ptr)" ( identifier )))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "*(undefined1 *)(param_1 + 3) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 3" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*param_1 = iVar5;" (assignment_expression "*param_1 = iVar5" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "*DAT_00083ef0 = bVar2;" (assignment_expression "*DAT_00083ef0 = bVar2" (pointer_expression "*DAT_00083ef0" * identifier) = identifier) ;) (expression_statement "bVar3 = *DAT_00083ef0;" (assignment_expression "bVar3 = *DAT_00083ef0" identifier = (pointer_expression "*DAT_00083ef0" * identifier)) ;) (if_statement "if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }" if (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) )) (compound_statement "{\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }" { (expression_statement "bVar3 = DAT_00083ef0[1];" (assignment_expression "bVar3 = DAT_00083ef0[1]" identifier = (subscript_expression "DAT_00083ef0[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }" if (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) )) (compound_statement "{\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }" { (expression_statement "bVar3 = DAT_00083ef0[1];" (assignment_expression "bVar3 = DAT_00083ef0[1]" identifier = (subscript_expression "DAT_00083ef0[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }" if (parenthesized_expression "(bVar3 == 0x29)" ( (binary_expression "bVar3 == 0x29" identifier == number_literal) )) (compound_statement "{\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }" { (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) })) (expression_statement "uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);" (assignment_expression "uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5)" identifier = (call_expression "dcgettext(0,"syntax error in .startof. or .sizeof.",5)" identifier (argument_list "(0,"syntax error in .startof. or .sizeof.",5)" ( number_literal , (string_literal ""syntax error in .startof. or .sizeof."" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002d660(uVar7);" (call_expression "FUN_0002d660(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (goto_statement "goto LAB_00024ae0;" goto statement_identifier ;) })) (if_statement "if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }" if (parenthesized_expression "(DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150)" ( (binary_expression "DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150" identifier == (binary_expression "PTR__bfd_std_section_0007afb4 + 0x150" identifier + number_literal)) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 3) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 2" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[2] = DAT_00083eec;" (assignment_expression "param_1[2] = DAT_00083eec" (subscript_expression "param_1[2]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(param_1 + 3) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 3" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*param_1 = (int)&DAT_00083fe0;" (assignment_expression "*param_1 = (int)&DAT_00083fe0" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)&DAT_00083fe0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00083fe0" & identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n    bVar3 = pbVar14[1];\n    switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }\n    goto LAB_00024626;" case number_literal : (expression_statement "bVar3 = pbVar14[1];" (assignment_expression "bVar3 = pbVar14[1]" identifier = (subscript_expression "pbVar14[1]" identifier [ number_literal ])) ;) (switch_statement "switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }" switch (parenthesized_expression "((int)(char)bVar3 - 0x30U & 0xff)" ( (binary_expression "(int)(char)bVar3 - 0x30U & 0xff" (binary_expression "(int)(char)bVar3 - 0x30U" (cast_expression "(int)(char)bVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) - number_literal) & number_literal) )) (compound_statement "{\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }" { (case_statement "case 0:" case number_literal :) (case_statement "case 1:" case number_literal :) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 4:" case number_literal :) (case_statement "case 5:" case number_literal :) (case_statement "case 6:" case number_literal :) (case_statement "case 7:\n      FUN_000231b0();\n      break;" case number_literal : (expression_statement "FUN_000231b0();" (call_expression "FUN_000231b0()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;" default : (if_statement "if (bVar3 != 0) goto code_r0x00024c71;" if (parenthesized_expression "(bVar3 != 0)" ( (binary_expression "bVar3 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00024c71;" goto statement_identifier ;)) (goto_statement "goto code_r0x00024c05;" goto statement_identifier ;)) (case_statement "case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;" case number_literal : (if_statement "if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }" if (parenthesized_expression "((byte)(pbVar14[2] - 0x30) < 2)" ( (binary_expression "(byte)(pbVar14[2] - 0x30) < 2" (call_expression "(byte)(pbVar14[2] - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar14[2] - 0x30)" ( (binary_expression "pbVar14[2] - 0x30" (subscript_expression "pbVar14[2]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (compound_statement "{\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }" { (labeled_statement "code_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;" statement_identifier : (expression_statement "DAT_00083ef0 = pbVar14 + 2;" (assignment_expression "DAT_00083ef0 = pbVar14 + 2" identifier = (binary_expression "pbVar14 + 2" identifier + number_literal)) ;)) (expression_statement "FUN_000231b0();" (call_expression "FUN_000231b0()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;) })) (labeled_statement "code_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);" statement_identifier : (expression_statement "pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);" (assignment_expression "pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3)" identifier = (call_expression "strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3)" identifier (argument_list "(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3)" ( identifier , (cast_expression "(int)(char)bVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) )))) ;)) (if_statement "if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }" if (parenthesized_expression "(pcVar8 != (char *)0x0)" ( (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }" { (expression_statement "pbVar14 = pbVar14 + 2;" (assignment_expression "pbVar14 = pbVar14 + 2" identifier = (binary_expression "pbVar14 + 2" identifier + number_literal)) ;) (goto_statement "goto code_r0x00024c22;" goto statement_identifier ;) })) (labeled_statement "code_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 3) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 2" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x15:" case number_literal :) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x34:" case number_literal :) (case_statement "case 0x35:" case number_literal :) (case_statement "case 0x37:" case number_literal :) (case_statement "case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;" case number_literal : (expression_statement "pbVar14 = local_3c + 1;" (assignment_expression "pbVar14 = local_3c + 1" identifier = (binary_expression "local_3c + 1" identifier + number_literal)) ;) (labeled_statement "code_r0x00024c22:\n      DAT_00083ef0 = pbVar14;" statement_identifier : (expression_statement "DAT_00083ef0 = pbVar14;" (assignment_expression "DAT_00083ef0 = pbVar14" identifier = identifier) ;)) (expression_statement "FUN_00023110();" (call_expression "FUN_00023110()" identifier (argument_list "()" ( ))) ;) (expression_statement "param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];" (assignment_expression "param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (unary_expression "-(uint)(byte)PTR__sch_tolower_0007afcc[bVar3]" - (cast_expression "(uint)(byte)PTR__sch_tolower_0007afcc[bVar3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR__sch_tolower_0007afcc[bVar3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR__sch_tolower_0007afcc[bVar3]" identifier [ identifier ]))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x28:" case number_literal :) (case_statement "case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;" case number_literal : (expression_statement "DAT_00083ef0 = pbVar14 + 2;" (assignment_expression "DAT_00083ef0 = pbVar14 + 2" identifier = (binary_expression "pbVar14 + 2" identifier + number_literal)) ;) (expression_statement "FUN_000231b0();" (call_expression "FUN_000231b0()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;" case number_literal : (if_statement "if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;" if (parenthesized_expression "((byte)(pbVar14[2] - 0x30) < 2)" ( (binary_expression "(byte)(pbVar14[2] - 0x30) < 2" (call_expression "(byte)(pbVar14[2] - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar14[2] - 0x30)" ( (binary_expression "pbVar14[2] - 0x30" (subscript_expression "pbVar14[2]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (goto_statement "goto code_r0x00024c50;" goto statement_identifier ;)) (goto_statement "goto code_r0x00024770;" goto statement_identifier ;)) (case_statement "case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();" case number_literal : (if_statement "if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }" if (parenthesized_expression "(((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0))" ( (binary_expression "((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)" (parenthesized_expression "((&DAT_0007b2c0)[pbVar14[2]] == '\0')" ( (binary_expression "(&DAT_0007b2c0)[pbVar14[2]] == '\0'" (subscript_expression "(&DAT_0007b2c0)[pbVar14[2]]" (parenthesized_expression "(&DAT_0007b2c0)" ( (pointer_expression "&DAT_0007b2c0" & identifier) )) [ (subscript_expression "pbVar14[2]" identifier [ number_literal ]) ]) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)" ( (comma_expression "pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0" (assignment_expression "pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66)" identifier = (call_expression "strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66)" identifier (argument_list "(PTR_s_rRsSfFdDxXpP_0007af58,0x66)" ( identifier , number_literal )))) , (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }" { (expression_statement "local_20[0] = pbVar14 + 2;" (assignment_expression "local_20[0] = pbVar14 + 2" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "pbVar14 + 2" identifier + number_literal)) ;) (expression_statement "FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);" (call_expression "FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260)" identifier (argument_list "(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260)" ( identifier , (string_literal ""."" " string_content ") , identifier , (pointer_expression "&PTR_DAT_0007b260" & identifier) ))) ;) (if_statement "if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;" if (parenthesized_expression "((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))" ( (binary_expression "(local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62)))" (parenthesized_expression "(local_20[0] != DAT_00083ef0 + 1)" ( (binary_expression "local_20[0] != DAT_00083ef0 + 1" (subscript_expression "local_20[0]" identifier [ number_literal ]) != (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) )) && (parenthesized_expression "((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62)))" ( (parenthesized_expression "(((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))" ( (binary_expression "((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62)" (parenthesized_expression "((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66))" ( (binary_expression "(local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)" (parenthesized_expression "(local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0))" ( (binary_expression "local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)" (binary_expression "local_20[0] != DAT_00083ef0 + 2" (subscript_expression "local_20[0]" identifier [ number_literal ]) != (binary_expression "DAT_00083ef0 + 2" identifier + number_literal)) || (parenthesized_expression "((local_20[0][-1] - 0x2b & 0xfd) != 0)" ( (binary_expression "(local_20[0][-1] - 0x2b & 0xfd) != 0" (parenthesized_expression "(local_20[0][-1] - 0x2b & 0xfd)" ( (binary_expression "local_20[0][-1] - 0x2b & 0xfd" (binary_expression "local_20[0][-1] - 0x2b" (subscript_expression "local_20[0][-1]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) - number_literal) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "(*local_20[0] != 0x66)" ( (binary_expression "*local_20[0] != 0x66" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) != number_literal) ))) )) && (parenthesized_expression "(pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62)" ( (comma_expression "pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62" (assignment_expression "pbVar14 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) , (binary_expression "*local_20[0] != 0x62" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) != number_literal)) ))) )) ))) )) (goto_statement "goto code_r0x00024c22;" goto statement_identifier ;)) (expression_statement "pbVar14 = DAT_00083ef0 + -1;" (assignment_expression "pbVar14 = DAT_00083ef0 + -1" identifier = (binary_expression "DAT_00083ef0 + -1" identifier + number_literal)) ;) })) (labeled_statement "code_r0x00024770:\n      DAT_00083ef0 = pbVar14;" statement_identifier : (expression_statement "DAT_00083ef0 = pbVar14;" (assignment_expression "DAT_00083ef0 = pbVar14" identifier = identifier) ;)) (expression_statement "FUN_000231b0();" (call_expression "FUN_000231b0()" identifier (argument_list "()" ( ))) ;)) })) (goto_statement "goto LAB_00024626;" goto statement_identifier ;)) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x11:" case number_literal :) (case_statement "case 0x12:" case number_literal :) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x15:" case number_literal :) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x18:\n    goto code_r0x00024770;" case number_literal : (goto_statement "goto code_r0x00024770;" goto statement_identifier ;)) (case_statement "case 0x5d:\n    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }\nLAB_00024ae0:\n    DAT_00083ef0 = pbVar14;\n    bVar3 = FUN_00024470(local_20);\n    iVar5 = FUN_0003b230(local_20[0]);\n    puVar6 = (undefined *)FUN_00039580(iVar5);\n    if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }\n    *DAT_00083ef0 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_00023880();\n    }\n    goto LAB_00024626;" case number_literal : (if_statement "if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }" if (parenthesized_expression "(((&DAT_0007b3c0)[uVar4] & 2) == 0)" ( (binary_expression "((&DAT_0007b3c0)[uVar4] & 2) == 0" (parenthesized_expression "((&DAT_0007b3c0)[uVar4] & 2)" ( (binary_expression "(&DAT_0007b3c0)[uVar4] & 2" (subscript_expression "(&DAT_0007b3c0)[uVar4]" (parenthesized_expression "(&DAT_0007b3c0)" ( (pointer_expression "&DAT_0007b3c0" & identifier) )) [ identifier ]) & number_literal) )) == number_literal) )) (compound_statement "{\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }" { (expression_statement "FUN_000245a0();" (call_expression "FUN_000245a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar2 = *(byte *)(param_1 + 3);" (assignment_expression "bVar2 = *(byte *)(param_1 + 3)" identifier = (pointer_expression "*(byte *)(param_1 + 3)" * (cast_expression "(byte *)(param_1 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) ))))) ;) (if_statement "if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }" if (parenthesized_expression "(bVar2 != 2)" ( (binary_expression "bVar2 != 2" identifier != number_literal) )) (compound_statement "{\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }" { (if_statement "if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }" if (parenthesized_expression "(bVar2 == 6)" ( (binary_expression "bVar2 == 6" identifier == number_literal) )) (compound_statement "{\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }" { (expression_statement "iVar5 = param_1[2];" (assignment_expression "iVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (goto_statement "goto code_r0x00024921;" goto statement_identifier ;) })) (goto_statement "goto code_r0x00024a16;" goto statement_identifier ;) })) (goto_statement "goto code_r0x00024d54;" goto statement_identifier ;) })) (labeled_statement "LAB_00024ae0:\n    DAT_00083ef0 = pbVar14;" statement_identifier : (expression_statement "DAT_00083ef0 = pbVar14;" (assignment_expression "DAT_00083ef0 = pbVar14" identifier = identifier) ;)) (expression_statement "bVar3 = FUN_00024470(local_20);" (assignment_expression "bVar3 = FUN_00024470(local_20)" identifier = (call_expression "FUN_00024470(local_20)" identifier (argument_list "(local_20)" ( identifier )))) ;) (expression_statement "iVar5 = FUN_0003b230(local_20[0]);" (assignment_expression "iVar5 = FUN_0003b230(local_20[0])" identifier = (call_expression "FUN_0003b230(local_20[0])" identifier (argument_list "(local_20[0])" ( (subscript_expression "local_20[0]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar6 = (undefined *)FUN_00039580(iVar5);" (assignment_expression "puVar6 = (undefined *)FUN_00039580(iVar5)" identifier = (cast_expression "(undefined *)FUN_00039580(iVar5)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00039580(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))))) ;) (if_statement "if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }" if (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }" { (labeled_statement "LAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 3) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 3" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*param_1 = iVar5;" (assignment_expression "*param_1 = iVar5" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }" else (compound_statement "{\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }" { (if_statement "if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }" if (parenthesized_expression "((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0))" ( (binary_expression "(puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)" (parenthesized_expression "(puVar6 == PTR__bfd_std_section_0007afb4 + 0x150)" ( (binary_expression "puVar6 == PTR__bfd_std_section_0007afb4 + 0x150" identifier == (binary_expression "PTR__bfd_std_section_0007afb4 + 0x150" identifier + number_literal)) )) && (parenthesized_expression "(iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)" ( (comma_expression "iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0" (assignment_expression "iVar10 = FUN_000391e0(iVar5,0)" identifier = (call_expression "FUN_000391e0(iVar5,0)" identifier (argument_list "(iVar5,0)" ( identifier , number_literal )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        *(undefined1 *)(param_1 + 3) = 2;\n      }" { (expression_statement "*(undefined1 *)(param_1 + 3) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 2" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }" else (compound_statement "{\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }" { (if_statement "if (DAT_00083dbc != puVar6) goto LAB_00024b38;" if (parenthesized_expression "(DAT_00083dbc != puVar6)" ( (binary_expression "DAT_00083dbc != puVar6" identifier != identifier) )) (goto_statement "goto LAB_00024b38;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)(param_1 + 3) = 5;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 5" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "iVar5 = FUN_0003ac10(iVar5);" (assignment_expression "iVar5 = FUN_0003ac10(iVar5)" identifier = (call_expression "FUN_0003ac10(iVar5)" identifier (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "param_1[2] = iVar5;" (assignment_expression "param_1[2] = iVar5" (subscript_expression "param_1[2]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "*DAT_00083ef0 = bVar3;" (assignment_expression "*DAT_00083ef0 = bVar3" (pointer_expression "*DAT_00083ef0" * identifier) = identifier) ;) (if_statement "if (bVar3 == 0x22) {\n      FUN_00023880();\n    }" if (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) )) (compound_statement "{\n      FUN_00023880();\n    }" { (expression_statement "FUN_00023880();" (call_expression "FUN_00023880()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_00024626;" goto statement_identifier ;)) })) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00024626:\n  FUN_000230d0();" statement_identifier : (expression_statement "FUN_000230d0();" (call_expression "FUN_000230d0()" identifier (argument_list "()" ( ))) ;)) (expression_statement "bVar3 = *DAT_00083ef0;" (assignment_expression "bVar3 = *DAT_00083ef0" identifier = (pointer_expression "*DAT_00083ef0" * identifier)) ;) (while_statement "while (bVar3 == 0x20) {\n    DAT_00083ef0 = DAT_00083ef0 + 1;\n    bVar3 = *DAT_00083ef0;\n  }" while (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) )) (compound_statement "{\n    DAT_00083ef0 = DAT_00083ef0 + 1;\n    bVar3 = *DAT_00083ef0;\n  }" { (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *DAT_00083ef0;" (assignment_expression "bVar3 = *DAT_00083ef0" identifier = (pointer_expression "*DAT_00083ef0" * identifier)) ;) })) (if_statement "if (*param_1 != 0) {\n    FUN_0003c080(*param_1);\n  }" if (parenthesized_expression "(*param_1 != 0)" ( (binary_expression "*param_1 != 0" (pointer_expression "*param_1" * identifier) != number_literal) )) (compound_statement "{\n    FUN_0003c080(*param_1);\n  }" { (expression_statement "FUN_0003c080(*param_1);" (call_expression "FUN_0003c080(*param_1)" identifier (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))) ;) })) (if_statement "if (param_2 != 2) {\n    iVar5 = FUN_0003b8d0(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_0003b8d0(param_1[1],0);\n    param_1[1] = iVar5;\n  }" if (parenthesized_expression "(param_2 != 2)" ( (binary_expression "param_2 != 2" identifier != number_literal) )) (compound_statement "{\n    iVar5 = FUN_0003b8d0(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_0003b8d0(param_1[1],0);\n    param_1[1] = iVar5;\n  }" { (expression_statement "iVar5 = FUN_0003b8d0(*param_1,0);" (assignment_expression "iVar5 = FUN_0003b8d0(*param_1,0)" identifier = (call_expression "FUN_0003b8d0(*param_1,0)" identifier (argument_list "(*param_1,0)" ( (pointer_expression "*param_1" * identifier) , number_literal )))) ;) (expression_statement "*param_1 = iVar5;" (assignment_expression "*param_1 = iVar5" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "iVar5 = FUN_0003b8d0(param_1[1],0);" (assignment_expression "iVar5 = FUN_0003b8d0(param_1[1],0)" identifier = (call_expression "FUN_0003b8d0(param_1[1],0)" identifier (argument_list "(param_1[1],0)" ( (subscript_expression "param_1[1]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "param_1[1] = iVar5;" (assignment_expression "param_1[1] = iVar5" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if ((char)param_1[3] == '\x03') {\n    puVar6 = (undefined *)FUN_00039580(*param_1);\n    return puVar6;\n  }" if (parenthesized_expression "((char)param_1[3] == '\x03')" ( (binary_expression "(char)param_1[3] == '\x03'" (cast_expression "(char)param_1[3]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[3]" identifier [ number_literal ])) == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n    puVar6 = (undefined *)FUN_00039580(*param_1);\n    return puVar6;\n  }" { (expression_statement "puVar6 = (undefined *)FUN_00039580(*param_1);" (assignment_expression "puVar6 = (undefined *)FUN_00039580(*param_1)" identifier = (cast_expression "(undefined *)FUN_00039580(*param_1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00039580(*param_1)" identifier (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (if_statement "if ((char)param_1[3] != '\x05') {\n    return PTR__bfd_std_section_0007afb4 + 0x150;\n  }" if (parenthesized_expression "((char)param_1[3] != '\x05')" ( (binary_expression "(char)param_1[3] != '\x05'" (cast_expression "(char)param_1[3]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[3]" identifier [ number_literal ])) != (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n    return PTR__bfd_std_section_0007afb4 + 0x150;\n  }" { (return_statement "return PTR__bfd_std_section_0007afb4 + 0x150;" return (binary_expression "PTR__bfd_std_section_0007afb4 + 0x150" identifier + number_literal) ;) })) (return_statement "return DAT_00083dbc;" return identifier ;) }))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nsegT __regparm3 operand(expressionS *expressionP,expr_mode mode)\n\n{\n  short *psVar1;\n  byte bVar2;\n  char cVar3;\n  uint uVar4;\n  symbolS *psVar5;\n  segT paVar6;\n  byte *pbVar7;\n  char *pcVar8;\n  valueT vVar9;\n  int iVar10;\n  byte bVar11;\n  ushort *puVar12;\n  undefined2 *puVar13;\n  undefined2 *puVar14;\n  int iVar15;\n  byte *pbVar16;\n  offsetT oVar17;\n  undefined4 uVar18;\n  bool bVar19;\n  char *name;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x245ab;\n  expressionP->field_0xd = expressionP->field_0xd & 0xfc | 1;\n  pbVar16 = (byte *)input_line_pointer;\n  pbVar7 = (byte *)(input_line_pointer + 1);\n  if (*input_line_pointer == ' ') {\n    pbVar7 = (byte *)(input_line_pointer + 2);\n    pbVar16 = (byte *)(input_line_pointer + 1);\n  }\n  bVar11 = *pbVar16;\n  uVar4 = (uint)bVar11;\n  if (is_end_of_line[uVar4] != '\0') {\n_L357:\n    expressionP->field_0xc = 1;\n    input_line_pointer = (char *)pbVar16;\n    goto LAB_00024626;\n  }\n  input_line_pointer = (char *)pbVar7;\n  switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    operand(expressionP,mode);\n    bVar2 = expressionP->field_0xc;\n    if (bVar2 == 2) {\n      if (bVar11 == 0x2d) {\n        bVar11 = expressionP->field_0xd;\n        iVar10 = expressionP->X_add_number;\n        expressionP->X_add_number = -iVar10;\n        expressionP->field_0xd = bVar11 & 0xfe;\n        if (-iVar10 != 0) {\n          expressionP->field_0xd = (bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar11 != 0x22) {\n        if (bVar11 == 0x21) {\n          expressionP->X_add_number = (uint)(expressionP->X_add_number == 0);\n        }\n        goto LAB_00024626;\n      }\nLAB_00024d54:\n      expressionP->X_add_number = ~expressionP->X_add_number;\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar19 = bVar11 == 0x2d;\n      oVar17 = expressionP->X_add_number;\n      if ((0 < oVar17) || (!bVar19)) {\nLAB_00024921:\n        if (0 < oVar17) {\n          if ((bVar11 == 0x7e) || (bVar19)) {\n            puVar12 = (ushort *)&generic_bignum;\n            do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));\n            if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }\n            if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }\n          goto LAB_00024626;\n        }\n        goto LAB_00024a1e;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar19 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar19) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\nLAB_00024a16:\n      if (bVar2 < 2) {\n        pcVar8 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar8,(int)(char)bVar11);\n        goto LAB_00024626;\n      }\nLAB_00024a1e:\n      if (bVar11 == 0x2b) goto LAB_00024626;\n    }\n    psVar5 = make_expr_symbol(expressionP);\n    expressionP->X_add_symbol = psVar5;\n    if (bVar11 == 0x2d) {\n      expressionP->field_0xc = 7;\n    }\n    else if ((bVar11 == 0x7e) || (bVar11 == 0x22)) {\n      expressionP->field_0xc = 8;\n    }\n    else {\n      expressionP->field_0xc = 9;\n    }\n    break;\n  default:\n    if (((lex_type[uVar4] & 2) == 0) && (bVar11 != 0x22)) {\n      expressionP->field_0xc = 1;\n      pcVar8 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar8);\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    input_line_pointer = (char *)(pbVar16 + 2);\n    expressionP->field_0xc = 2;\n    expressionP->X_add_number = (int)(char)pbVar16[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    paVar6 = expr(0,expressionP,mode);\n    if (bVar11 == 0x28) {\n      cVar3 = *input_line_pointer;\n      if (cVar3 == ')') goto LAB_000249c4;\n      uVar18 = 0x29;\n    }\n    else {\n      if ((bVar11 != 0x5b) || (cVar3 = *input_line_pointer, cVar3 == ']')) {\nLAB_000249c4:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000249c9;\n      }\n      uVar18 = 0x5d;\n    }\n    if (cVar3 == '\0') {\n      pcVar8 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar8,uVar18);\n    }\n    else {\n      pcVar8 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar8,(int)cVar3,uVar18);\n    }\nLAB_000249c9:\n    if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar6;\n    }\n    return paVar6;\n  case 0xb:\n    goto _L357;\n  case 0xd:\n    if ((lex_type[pbVar16[1]] & 1) != 0) {\n      iVar10 = strncasecmp((char *)pbVar7,"startof.",8);\n      if (((iVar10 == 0) && ((lex_type[pbVar16[9]] & 1) == 0)) ||\n         ((iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7), iVar10 == 0 &&\n          ((lex_type[pbVar16[8]] & 1) == 0)))) {\n        bVar11 = pbVar16[2];\n        pbVar7 = pbVar7 + ((bVar11 & 0xdf) == 0x54) + 7;\n        if (*pbVar7 == 0x20) {\n          pbVar7 = pbVar7 + 1;\n        }\n        input_line_pointer = (char *)pbVar7;\n        expressionP->field_0xc = 1;\n        if (*pbVar7 == 0x28) {\n          input_line_pointer = (char *)(pbVar7 + 1);\n          if (pbVar7[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar7 + 2);\n          }\n          cVar3 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar8 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar8);\n            *input_line_pointer = cVar3;\n            if (cVar3 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }\n            ignore_rest_of_line();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar11 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          pcVar8 = (char *)concat(pcVar8,name,0);\n          psVar5 = symbol_make(pcVar8);\n          free(pcVar8);\n          expressionP->field_0xc = 3;\n          expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar5;\n          *input_line_pointer = cVar3;\n          cVar3 = *input_line_pointer;\n          if (cVar3 == '\"') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ' ') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_00024626;\n          }\n        }\n        pcVar8 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar8);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (now_seg == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) {\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = abs_section_offset;\n      goto LAB_00024626;\n    }\n    expressionP->field_0xc = 3;\n    expressionP->X_add_symbol = &dot_symbol;\n    break;\n  case 0xf:\n    bVar11 = pbVar16[1];\n    switch((int)(char)bVar11 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      integer_constant(8,expressionP);\n      break;\n    default:\n      if (bVar11 != 0) goto LAB_00024c71;\n      goto LAB_00024c05;\n    case 0x12:\n      if ((byte)(pbVar16[2] - 0x30) < 2) {\nLAB_00024c50:\n        input_line_pointer = (char *)(pbVar16 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00024c71:\n      pcVar8 = strchr(PTR_FLT_CHARS_0007af58,(int)(char)bVar11);\n      if (pcVar8 != (char *)0x0) {\n        pbVar7 = pbVar16 + 2;\n        goto LAB_00024c22;\n      }\nLAB_00024c05:\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar7 = pbVar7 + 1;\nLAB_00024c22:\n      input_line_pointer = (char *)pbVar7;\n      floating_constant(expressionP);\n      expressionP->X_add_number = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar11];\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar16 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar16[2] - 0x30) < 2) goto LAB_00024c50;\n      goto _L379;\n    case 0x36:\n      if ((is_end_of_line[pbVar16[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        name = (char *)(pbVar16 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number);\n        if ((name != input_line_pointer + 1) &&\n           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00024c22;\n        pbVar16 = (byte *)(input_line_pointer + -1);\n      }\n_L379:\n      input_line_pointer = (char *)pbVar16;\n      integer_constant(10,expressionP);\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto _L379;\n  case 0x5d:\n    if ((lex_type[uVar4] & 2) == 0) {\n      operand(expressionP,mode);\n      bVar2 = expressionP->field_0xc;\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          oVar17 = expressionP->X_add_number;\n          bVar19 = false;\n          goto LAB_00024921;\n        }\n        goto LAB_00024a16;\n      }\n      goto LAB_00024d54;\n    }\nLAB_00024ae0:\n    input_line_pointer = (char *)pbVar16;\n    cVar3 = get_symbol_name(&name);\n    psVar5 = symbol_find_or_make(name);\n    paVar6 = S_GET_SEGMENT(psVar5);\n    if (mode == expr_defer) {\nLAB_00024b38:\n      expressionP->field_0xc = 3;\n      expressionP->X_add_symbol = psVar5;\n      expressionP->X_add_number = 0;\n    }\n    else {\n      if ((paVar6 == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) &&\n         (iVar10 = S_FORCE_RELOC(psVar5,0), iVar10 == 0)) {\n        expressionP->field_0xc = 2;\n      }\n      else {\n        if (reg_section != paVar6) goto LAB_00024b38;\n        expressionP->field_0xc = 5;\n      }\n      vVar9 = S_GET_VALUE(psVar5);\n      expressionP->X_add_number = vVar9;\n    }\n    *input_line_pointer = cVar3;\n    if (cVar3 == '\"') {\n      restore_line_pointer('\"');\n    }\n    goto LAB_00024626;\n  }\n  expressionP->X_add_number = 0;\nLAB_00024626:\n  clean_up_expression(expressionP);\n  cVar3 = *input_line_pointer;\n  while (cVar3 == ' ') {\n    input_line_pointer = input_line_pointer + 1;\n    cVar3 = *input_line_pointer;\n  }\n  if (expressionP->X_add_symbol != (symbolS *)0x0) {\n    symbol_mark_used(expressionP->X_add_symbol);\n  }\n  if (mode != expr_defer) {\n    psVar5 = symbol_clone_if_forward_ref(expressionP->X_add_symbol,0);\n    expressionP->X_add_symbol = psVar5;\n    psVar5 = symbol_clone_if_forward_ref(expressionP->X_op_symbol,0);\n    expressionP->X_op_symbol = psVar5;\n  }\n  if (expressionP->field_0xc == '\x03') {\n    paVar6 = S_GET_SEGMENT(expressionP->X_add_symbol);\n    return paVar6;\n  }\n  if (expressionP->field_0xc != '\x05') {\n    return (segT)(PTR__bfd_std_section_0007afb4 + 0x150);\n  }\n  return reg_section;\n}\n\n" comment (function_definition "segT __regparm3 operand(expressionS *expressionP,expr_mode mode)\n\n{\n  short *psVar1;\n  byte bVar2;\n  char cVar3;\n  uint uVar4;\n  symbolS *psVar5;\n  segT paVar6;\n  byte *pbVar7;\n  char *pcVar8;\n  valueT vVar9;\n  int iVar10;\n  byte bVar11;\n  ushort *puVar12;\n  undefined2 *puVar13;\n  undefined2 *puVar14;\n  int iVar15;\n  byte *pbVar16;\n  offsetT oVar17;\n  undefined4 uVar18;\n  bool bVar19;\n  char *name;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x245ab;\n  expressionP->field_0xd = expressionP->field_0xd & 0xfc | 1;\n  pbVar16 = (byte *)input_line_pointer;\n  pbVar7 = (byte *)(input_line_pointer + 1);\n  if (*input_line_pointer == ' ') {\n    pbVar7 = (byte *)(input_line_pointer + 2);\n    pbVar16 = (byte *)(input_line_pointer + 1);\n  }\n  bVar11 = *pbVar16;\n  uVar4 = (uint)bVar11;\n  if (is_end_of_line[uVar4] != '\0') {\n_L357:\n    expressionP->field_0xc = 1;\n    input_line_pointer = (char *)pbVar16;\n    goto LAB_00024626;\n  }\n  input_line_pointer = (char *)pbVar7;\n  switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    operand(expressionP,mode);\n    bVar2 = expressionP->field_0xc;\n    if (bVar2 == 2) {\n      if (bVar11 == 0x2d) {\n        bVar11 = expressionP->field_0xd;\n        iVar10 = expressionP->X_add_number;\n        expressionP->X_add_number = -iVar10;\n        expressionP->field_0xd = bVar11 & 0xfe;\n        if (-iVar10 != 0) {\n          expressionP->field_0xd = (bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar11 != 0x22) {\n        if (bVar11 == 0x21) {\n          expressionP->X_add_number = (uint)(expressionP->X_add_number == 0);\n        }\n        goto LAB_00024626;\n      }\nLAB_00024d54:\n      expressionP->X_add_number = ~expressionP->X_add_number;\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar19 = bVar11 == 0x2d;\n      oVar17 = expressionP->X_add_number;\n      if ((0 < oVar17) || (!bVar19)) {\nLAB_00024921:\n        if (0 < oVar17) {\n          if ((bVar11 == 0x7e) || (bVar19)) {\n            puVar12 = (ushort *)&generic_bignum;\n            do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));\n            if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }\n            if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }\n          goto LAB_00024626;\n        }\n        goto LAB_00024a1e;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar19 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar19) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\nLAB_00024a16:\n      if (bVar2 < 2) {\n        pcVar8 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar8,(int)(char)bVar11);\n        goto LAB_00024626;\n      }\nLAB_00024a1e:\n      if (bVar11 == 0x2b) goto LAB_00024626;\n    }\n    psVar5 = make_expr_symbol(expressionP);\n    expressionP->X_add_symbol = psVar5;\n    if (bVar11 == 0x2d) {\n      expressionP->field_0xc = 7;\n    }\n    else if ((bVar11 == 0x7e) || (bVar11 == 0x22)) {\n      expressionP->field_0xc = 8;\n    }\n    else {\n      expressionP->field_0xc = 9;\n    }\n    break;\n  default:\n    if (((lex_type[uVar4] & 2) == 0) && (bVar11 != 0x22)) {\n      expressionP->field_0xc = 1;\n      pcVar8 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar8);\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    input_line_pointer = (char *)(pbVar16 + 2);\n    expressionP->field_0xc = 2;\n    expressionP->X_add_number = (int)(char)pbVar16[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    paVar6 = expr(0,expressionP,mode);\n    if (bVar11 == 0x28) {\n      cVar3 = *input_line_pointer;\n      if (cVar3 == ')') goto LAB_000249c4;\n      uVar18 = 0x29;\n    }\n    else {\n      if ((bVar11 != 0x5b) || (cVar3 = *input_line_pointer, cVar3 == ']')) {\nLAB_000249c4:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000249c9;\n      }\n      uVar18 = 0x5d;\n    }\n    if (cVar3 == '\0') {\n      pcVar8 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar8,uVar18);\n    }\n    else {\n      pcVar8 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar8,(int)cVar3,uVar18);\n    }\nLAB_000249c9:\n    if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar6;\n    }\n    return paVar6;\n  case 0xb:\n    goto _L357;\n  case 0xd:\n    if ((lex_type[pbVar16[1]] & 1) != 0) {\n      iVar10 = strncasecmp((char *)pbVar7,"startof.",8);\n      if (((iVar10 == 0) && ((lex_type[pbVar16[9]] & 1) == 0)) ||\n         ((iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7), iVar10 == 0 &&\n          ((lex_type[pbVar16[8]] & 1) == 0)))) {\n        bVar11 = pbVar16[2];\n        pbVar7 = pbVar7 + ((bVar11 & 0xdf) == 0x54) + 7;\n        if (*pbVar7 == 0x20) {\n          pbVar7 = pbVar7 + 1;\n        }\n        input_line_pointer = (char *)pbVar7;\n        expressionP->field_0xc = 1;\n        if (*pbVar7 == 0x28) {\n          input_line_pointer = (char *)(pbVar7 + 1);\n          if (pbVar7[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar7 + 2);\n          }\n          cVar3 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar8 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar8);\n            *input_line_pointer = cVar3;\n            if (cVar3 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }\n            ignore_rest_of_line();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar11 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          pcVar8 = (char *)concat(pcVar8,name,0);\n          psVar5 = symbol_make(pcVar8);\n          free(pcVar8);\n          expressionP->field_0xc = 3;\n          expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar5;\n          *input_line_pointer = cVar3;\n          cVar3 = *input_line_pointer;\n          if (cVar3 == '\"') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ' ') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_00024626;\n          }\n        }\n        pcVar8 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar8);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (now_seg == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) {\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = abs_section_offset;\n      goto LAB_00024626;\n    }\n    expressionP->field_0xc = 3;\n    expressionP->X_add_symbol = &dot_symbol;\n    break;\n  case 0xf:\n    bVar11 = pbVar16[1];\n    switch((int)(char)bVar11 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      integer_constant(8,expressionP);\n      break;\n    default:\n      if (bVar11 != 0) goto LAB_00024c71;\n      goto LAB_00024c05;\n    case 0x12:\n      if ((byte)(pbVar16[2] - 0x30) < 2) {\nLAB_00024c50:\n        input_line_pointer = (char *)(pbVar16 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00024c71:\n      pcVar8 = strchr(PTR_FLT_CHARS_0007af58,(int)(char)bVar11);\n      if (pcVar8 != (char *)0x0) {\n        pbVar7 = pbVar16 + 2;\n        goto LAB_00024c22;\n      }\nLAB_00024c05:\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar7 = pbVar7 + 1;\nLAB_00024c22:\n      input_line_pointer = (char *)pbVar7;\n      floating_constant(expressionP);\n      expressionP->X_add_number = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar11];\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar16 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar16[2] - 0x30) < 2) goto LAB_00024c50;\n      goto _L379;\n    case 0x36:\n      if ((is_end_of_line[pbVar16[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        name = (char *)(pbVar16 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number);\n        if ((name != input_line_pointer + 1) &&\n           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00024c22;\n        pbVar16 = (byte *)(input_line_pointer + -1);\n      }\n_L379:\n      input_line_pointer = (char *)pbVar16;\n      integer_constant(10,expressionP);\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto _L379;\n  case 0x5d:\n    if ((lex_type[uVar4] & 2) == 0) {\n      operand(expressionP,mode);\n      bVar2 = expressionP->field_0xc;\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          oVar17 = expressionP->X_add_number;\n          bVar19 = false;\n          goto LAB_00024921;\n        }\n        goto LAB_00024a16;\n      }\n      goto LAB_00024d54;\n    }\nLAB_00024ae0:\n    input_line_pointer = (char *)pbVar16;\n    cVar3 = get_symbol_name(&name);\n    psVar5 = symbol_find_or_make(name);\n    paVar6 = S_GET_SEGMENT(psVar5);\n    if (mode == expr_defer) {\nLAB_00024b38:\n      expressionP->field_0xc = 3;\n      expressionP->X_add_symbol = psVar5;\n      expressionP->X_add_number = 0;\n    }\n    else {\n      if ((paVar6 == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) &&\n         (iVar10 = S_FORCE_RELOC(psVar5,0), iVar10 == 0)) {\n        expressionP->field_0xc = 2;\n      }\n      else {\n        if (reg_section != paVar6) goto LAB_00024b38;\n        expressionP->field_0xc = 5;\n      }\n      vVar9 = S_GET_VALUE(psVar5);\n      expressionP->X_add_number = vVar9;\n    }\n    *input_line_pointer = cVar3;\n    if (cVar3 == '\"') {\n      restore_line_pointer('\"');\n    }\n    goto LAB_00024626;\n  }\n  expressionP->X_add_number = 0;\nLAB_00024626:\n  clean_up_expression(expressionP);\n  cVar3 = *input_line_pointer;\n  while (cVar3 == ' ') {\n    input_line_pointer = input_line_pointer + 1;\n    cVar3 = *input_line_pointer;\n  }\n  if (expressionP->X_add_symbol != (symbolS *)0x0) {\n    symbol_mark_used(expressionP->X_add_symbol);\n  }\n  if (mode != expr_defer) {\n    psVar5 = symbol_clone_if_forward_ref(expressionP->X_add_symbol,0);\n    expressionP->X_add_symbol = psVar5;\n    psVar5 = symbol_clone_if_forward_ref(expressionP->X_op_symbol,0);\n    expressionP->X_op_symbol = psVar5;\n  }\n  if (expressionP->field_0xc == '\x03') {\n    paVar6 = S_GET_SEGMENT(expressionP->X_add_symbol);\n    return paVar6;\n  }\n  if (expressionP->field_0xc != '\x05') {\n    return (segT)(PTR__bfd_std_section_0007afb4 + 0x150);\n  }\n  return reg_section;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "operand(expressionS *expressionP,expr_mode mode)" identifier (parameter_list "(expressionS *expressionP,expr_mode mode)" ( (parameter_declaration "expressionS *expressionP" type_identifier (pointer_declarator "*expressionP" * identifier)) , (parameter_declaration "expr_mode mode" type_identifier identifier) ))) (compound_statement "{\n  short *psVar1;\n  byte bVar2;\n  char cVar3;\n  uint uVar4;\n  symbolS *psVar5;\n  segT paVar6;\n  byte *pbVar7;\n  char *pcVar8;\n  valueT vVar9;\n  int iVar10;\n  byte bVar11;\n  ushort *puVar12;\n  undefined2 *puVar13;\n  undefined2 *puVar14;\n  int iVar15;\n  byte *pbVar16;\n  offsetT oVar17;\n  undefined4 uVar18;\n  bool bVar19;\n  char *name;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x245ab;\n  expressionP->field_0xd = expressionP->field_0xd & 0xfc | 1;\n  pbVar16 = (byte *)input_line_pointer;\n  pbVar7 = (byte *)(input_line_pointer + 1);\n  if (*input_line_pointer == ' ') {\n    pbVar7 = (byte *)(input_line_pointer + 2);\n    pbVar16 = (byte *)(input_line_pointer + 1);\n  }\n  bVar11 = *pbVar16;\n  uVar4 = (uint)bVar11;\n  if (is_end_of_line[uVar4] != '\0') {\n_L357:\n    expressionP->field_0xc = 1;\n    input_line_pointer = (char *)pbVar16;\n    goto LAB_00024626;\n  }\n  input_line_pointer = (char *)pbVar7;\n  switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    operand(expressionP,mode);\n    bVar2 = expressionP->field_0xc;\n    if (bVar2 == 2) {\n      if (bVar11 == 0x2d) {\n        bVar11 = expressionP->field_0xd;\n        iVar10 = expressionP->X_add_number;\n        expressionP->X_add_number = -iVar10;\n        expressionP->field_0xd = bVar11 & 0xfe;\n        if (-iVar10 != 0) {\n          expressionP->field_0xd = (bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar11 != 0x22) {\n        if (bVar11 == 0x21) {\n          expressionP->X_add_number = (uint)(expressionP->X_add_number == 0);\n        }\n        goto LAB_00024626;\n      }\nLAB_00024d54:\n      expressionP->X_add_number = ~expressionP->X_add_number;\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar19 = bVar11 == 0x2d;\n      oVar17 = expressionP->X_add_number;\n      if ((0 < oVar17) || (!bVar19)) {\nLAB_00024921:\n        if (0 < oVar17) {\n          if ((bVar11 == 0x7e) || (bVar19)) {\n            puVar12 = (ushort *)&generic_bignum;\n            do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));\n            if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }\n            if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }\n          goto LAB_00024626;\n        }\n        goto LAB_00024a1e;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar19 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar19) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\nLAB_00024a16:\n      if (bVar2 < 2) {\n        pcVar8 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar8,(int)(char)bVar11);\n        goto LAB_00024626;\n      }\nLAB_00024a1e:\n      if (bVar11 == 0x2b) goto LAB_00024626;\n    }\n    psVar5 = make_expr_symbol(expressionP);\n    expressionP->X_add_symbol = psVar5;\n    if (bVar11 == 0x2d) {\n      expressionP->field_0xc = 7;\n    }\n    else if ((bVar11 == 0x7e) || (bVar11 == 0x22)) {\n      expressionP->field_0xc = 8;\n    }\n    else {\n      expressionP->field_0xc = 9;\n    }\n    break;\n  default:\n    if (((lex_type[uVar4] & 2) == 0) && (bVar11 != 0x22)) {\n      expressionP->field_0xc = 1;\n      pcVar8 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar8);\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    input_line_pointer = (char *)(pbVar16 + 2);\n    expressionP->field_0xc = 2;\n    expressionP->X_add_number = (int)(char)pbVar16[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    paVar6 = expr(0,expressionP,mode);\n    if (bVar11 == 0x28) {\n      cVar3 = *input_line_pointer;\n      if (cVar3 == ')') goto LAB_000249c4;\n      uVar18 = 0x29;\n    }\n    else {\n      if ((bVar11 != 0x5b) || (cVar3 = *input_line_pointer, cVar3 == ']')) {\nLAB_000249c4:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000249c9;\n      }\n      uVar18 = 0x5d;\n    }\n    if (cVar3 == '\0') {\n      pcVar8 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar8,uVar18);\n    }\n    else {\n      pcVar8 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar8,(int)cVar3,uVar18);\n    }\nLAB_000249c9:\n    if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar6;\n    }\n    return paVar6;\n  case 0xb:\n    goto _L357;\n  case 0xd:\n    if ((lex_type[pbVar16[1]] & 1) != 0) {\n      iVar10 = strncasecmp((char *)pbVar7,"startof.",8);\n      if (((iVar10 == 0) && ((lex_type[pbVar16[9]] & 1) == 0)) ||\n         ((iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7), iVar10 == 0 &&\n          ((lex_type[pbVar16[8]] & 1) == 0)))) {\n        bVar11 = pbVar16[2];\n        pbVar7 = pbVar7 + ((bVar11 & 0xdf) == 0x54) + 7;\n        if (*pbVar7 == 0x20) {\n          pbVar7 = pbVar7 + 1;\n        }\n        input_line_pointer = (char *)pbVar7;\n        expressionP->field_0xc = 1;\n        if (*pbVar7 == 0x28) {\n          input_line_pointer = (char *)(pbVar7 + 1);\n          if (pbVar7[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar7 + 2);\n          }\n          cVar3 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar8 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar8);\n            *input_line_pointer = cVar3;\n            if (cVar3 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }\n            ignore_rest_of_line();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar11 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          pcVar8 = (char *)concat(pcVar8,name,0);\n          psVar5 = symbol_make(pcVar8);\n          free(pcVar8);\n          expressionP->field_0xc = 3;\n          expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar5;\n          *input_line_pointer = cVar3;\n          cVar3 = *input_line_pointer;\n          if (cVar3 == '\"') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ' ') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_00024626;\n          }\n        }\n        pcVar8 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar8);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (now_seg == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) {\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = abs_section_offset;\n      goto LAB_00024626;\n    }\n    expressionP->field_0xc = 3;\n    expressionP->X_add_symbol = &dot_symbol;\n    break;\n  case 0xf:\n    bVar11 = pbVar16[1];\n    switch((int)(char)bVar11 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      integer_constant(8,expressionP);\n      break;\n    default:\n      if (bVar11 != 0) goto LAB_00024c71;\n      goto LAB_00024c05;\n    case 0x12:\n      if ((byte)(pbVar16[2] - 0x30) < 2) {\nLAB_00024c50:\n        input_line_pointer = (char *)(pbVar16 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00024c71:\n      pcVar8 = strchr(PTR_FLT_CHARS_0007af58,(int)(char)bVar11);\n      if (pcVar8 != (char *)0x0) {\n        pbVar7 = pbVar16 + 2;\n        goto LAB_00024c22;\n      }\nLAB_00024c05:\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar7 = pbVar7 + 1;\nLAB_00024c22:\n      input_line_pointer = (char *)pbVar7;\n      floating_constant(expressionP);\n      expressionP->X_add_number = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar11];\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar16 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar16[2] - 0x30) < 2) goto LAB_00024c50;\n      goto _L379;\n    case 0x36:\n      if ((is_end_of_line[pbVar16[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        name = (char *)(pbVar16 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number);\n        if ((name != input_line_pointer + 1) &&\n           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00024c22;\n        pbVar16 = (byte *)(input_line_pointer + -1);\n      }\n_L379:\n      input_line_pointer = (char *)pbVar16;\n      integer_constant(10,expressionP);\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto _L379;\n  case 0x5d:\n    if ((lex_type[uVar4] & 2) == 0) {\n      operand(expressionP,mode);\n      bVar2 = expressionP->field_0xc;\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          oVar17 = expressionP->X_add_number;\n          bVar19 = false;\n          goto LAB_00024921;\n        }\n        goto LAB_00024a16;\n      }\n      goto LAB_00024d54;\n    }\nLAB_00024ae0:\n    input_line_pointer = (char *)pbVar16;\n    cVar3 = get_symbol_name(&name);\n    psVar5 = symbol_find_or_make(name);\n    paVar6 = S_GET_SEGMENT(psVar5);\n    if (mode == expr_defer) {\nLAB_00024b38:\n      expressionP->field_0xc = 3;\n      expressionP->X_add_symbol = psVar5;\n      expressionP->X_add_number = 0;\n    }\n    else {\n      if ((paVar6 == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) &&\n         (iVar10 = S_FORCE_RELOC(psVar5,0), iVar10 == 0)) {\n        expressionP->field_0xc = 2;\n      }\n      else {\n        if (reg_section != paVar6) goto LAB_00024b38;\n        expressionP->field_0xc = 5;\n      }\n      vVar9 = S_GET_VALUE(psVar5);\n      expressionP->X_add_number = vVar9;\n    }\n    *input_line_pointer = cVar3;\n    if (cVar3 == '\"') {\n      restore_line_pointer('\"');\n    }\n    goto LAB_00024626;\n  }\n  expressionP->X_add_number = 0;\nLAB_00024626:\n  clean_up_expression(expressionP);\n  cVar3 = *input_line_pointer;\n  while (cVar3 == ' ') {\n    input_line_pointer = input_line_pointer + 1;\n    cVar3 = *input_line_pointer;\n  }\n  if (expressionP->X_add_symbol != (symbolS *)0x0) {\n    symbol_mark_used(expressionP->X_add_symbol);\n  }\n  if (mode != expr_defer) {\n    psVar5 = symbol_clone_if_forward_ref(expressionP->X_add_symbol,0);\n    expressionP->X_add_symbol = psVar5;\n    psVar5 = symbol_clone_if_forward_ref(expressionP->X_op_symbol,0);\n    expressionP->X_op_symbol = psVar5;\n  }\n  if (expressionP->field_0xc == '\x03') {\n    paVar6 = S_GET_SEGMENT(expressionP->X_add_symbol);\n    return paVar6;\n  }\n  if (expressionP->field_0xc != '\x05') {\n    return (segT)(PTR__bfd_std_section_0007afb4 + 0x150);\n  }\n  return reg_section;\n}" { (declaration "short *psVar1;" (sized_type_specifier "short" short) (pointer_declarator "*psVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "symbolS *psVar5;" type_identifier (pointer_declarator "*psVar5" * identifier) ;) (declaration "segT paVar6;" type_identifier identifier ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "valueT vVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "ushort *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined2 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined2 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "offsetT oVar17;" type_identifier identifier ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "bool bVar19;" primitive_type identifier ;) (declaration "char *name;" primitive_type (pointer_declarator "*name" * identifier) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x245ab;" (assignment_expression "uStack_14 = 0x245ab" identifier = number_literal) ;) (expression_statement "expressionP->field_0xd = expressionP->field_0xd & 0xfc | 1;" (assignment_expression "expressionP->field_0xd = expressionP->field_0xd & 0xfc | 1" (field_expression "expressionP->field_0xd" identifier -> field_identifier) = (binary_expression "expressionP->field_0xd & 0xfc | 1" (binary_expression "expressionP->field_0xd & 0xfc" (field_expression "expressionP->field_0xd" identifier -> field_identifier) & number_literal) | number_literal)) ;) (expression_statement "pbVar16 = (byte *)input_line_pointer;" (assignment_expression "pbVar16 = (byte *)input_line_pointer" identifier = (cast_expression "(byte *)input_line_pointer" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar7 = (byte *)(input_line_pointer + 1);" (assignment_expression "pbVar7 = (byte *)(input_line_pointer + 1)" identifier = (cast_expression "(byte *)(input_line_pointer + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(input_line_pointer + 1)" ( (binary_expression "input_line_pointer + 1" identifier + number_literal) )))) ;) (if_statement "if (*input_line_pointer == ' ') {\n    pbVar7 = (byte *)(input_line_pointer + 2);\n    pbVar16 = (byte *)(input_line_pointer + 1);\n  }" if (parenthesized_expression "(*input_line_pointer == ' ')" ( (binary_expression "*input_line_pointer == ' '" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "' '" ' character ')) )) (compound_statement "{\n    pbVar7 = (byte *)(input_line_pointer + 2);\n    pbVar16 = (byte *)(input_line_pointer + 1);\n  }" { (expression_statement "pbVar7 = (byte *)(input_line_pointer + 2);" (assignment_expression "pbVar7 = (byte *)(input_line_pointer + 2)" identifier = (cast_expression "(byte *)(input_line_pointer + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(input_line_pointer + 2)" ( (binary_expression "input_line_pointer + 2" identifier + number_literal) )))) ;) (expression_statement "pbVar16 = (byte *)(input_line_pointer + 1);" (assignment_expression "pbVar16 = (byte *)(input_line_pointer + 1)" identifier = (cast_expression "(byte *)(input_line_pointer + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(input_line_pointer + 1)" ( (binary_expression "input_line_pointer + 1" identifier + number_literal) )))) ;) })) (expression_statement "bVar11 = *pbVar16;" (assignment_expression "bVar11 = *pbVar16" identifier = (pointer_expression "*pbVar16" * identifier)) ;) (expression_statement "uVar4 = (uint)bVar11;" (assignment_expression "uVar4 = (uint)bVar11" identifier = (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (is_end_of_line[uVar4] != '\0') {\n_L357:\n    expressionP->field_0xc = 1;\n    input_line_pointer = (char *)pbVar16;\n    goto LAB_00024626;\n  }" if (parenthesized_expression "(is_end_of_line[uVar4] != '\0')" ( (binary_expression "is_end_of_line[uVar4] != '\0'" (subscript_expression "is_end_of_line[uVar4]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n_L357:\n    expressionP->field_0xc = 1;\n    input_line_pointer = (char *)pbVar16;\n    goto LAB_00024626;\n  }" { (labeled_statement "_L357:\n    expressionP->field_0xc = 1;" statement_identifier : (expression_statement "expressionP->field_0xc = 1;" (assignment_expression "expressionP->field_0xc = 1" (field_expression "expressionP->field_0xc" identifier -> field_identifier) = number_literal) ;)) (expression_statement "input_line_pointer = (char *)pbVar16;" (assignment_expression "input_line_pointer = (char *)pbVar16" identifier = (cast_expression "(char *)pbVar16" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (expression_statement "input_line_pointer = (char *)pbVar7;" (assignment_expression "input_line_pointer = (char *)pbVar7" identifier = (cast_expression "(char *)pbVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (switch_statement "switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    operand(expressionP,mode);\n    bVar2 = expressionP->field_0xc;\n    if (bVar2 == 2) {\n      if (bVar11 == 0x2d) {\n        bVar11 = expressionP->field_0xd;\n        iVar10 = expressionP->X_add_number;\n        expressionP->X_add_number = -iVar10;\n        expressionP->field_0xd = bVar11 & 0xfe;\n        if (-iVar10 != 0) {\n          expressionP->field_0xd = (bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar11 != 0x22) {\n        if (bVar11 == 0x21) {\n          expressionP->X_add_number = (uint)(expressionP->X_add_number == 0);\n        }\n        goto LAB_00024626;\n      }\nLAB_00024d54:\n      expressionP->X_add_number = ~expressionP->X_add_number;\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar19 = bVar11 == 0x2d;\n      oVar17 = expressionP->X_add_number;\n      if ((0 < oVar17) || (!bVar19)) {\nLAB_00024921:\n        if (0 < oVar17) {\n          if ((bVar11 == 0x7e) || (bVar19)) {\n            puVar12 = (ushort *)&generic_bignum;\n            do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));\n            if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }\n            if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }\n          goto LAB_00024626;\n        }\n        goto LAB_00024a1e;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar19 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar19) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\nLAB_00024a16:\n      if (bVar2 < 2) {\n        pcVar8 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar8,(int)(char)bVar11);\n        goto LAB_00024626;\n      }\nLAB_00024a1e:\n      if (bVar11 == 0x2b) goto LAB_00024626;\n    }\n    psVar5 = make_expr_symbol(expressionP);\n    expressionP->X_add_symbol = psVar5;\n    if (bVar11 == 0x2d) {\n      expressionP->field_0xc = 7;\n    }\n    else if ((bVar11 == 0x7e) || (bVar11 == 0x22)) {\n      expressionP->field_0xc = 8;\n    }\n    else {\n      expressionP->field_0xc = 9;\n    }\n    break;\n  default:\n    if (((lex_type[uVar4] & 2) == 0) && (bVar11 != 0x22)) {\n      expressionP->field_0xc = 1;\n      pcVar8 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar8);\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    input_line_pointer = (char *)(pbVar16 + 2);\n    expressionP->field_0xc = 2;\n    expressionP->X_add_number = (int)(char)pbVar16[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    paVar6 = expr(0,expressionP,mode);\n    if (bVar11 == 0x28) {\n      cVar3 = *input_line_pointer;\n      if (cVar3 == ')') goto LAB_000249c4;\n      uVar18 = 0x29;\n    }\n    else {\n      if ((bVar11 != 0x5b) || (cVar3 = *input_line_pointer, cVar3 == ']')) {\nLAB_000249c4:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000249c9;\n      }\n      uVar18 = 0x5d;\n    }\n    if (cVar3 == '\0') {\n      pcVar8 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar8,uVar18);\n    }\n    else {\n      pcVar8 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar8,(int)cVar3,uVar18);\n    }\nLAB_000249c9:\n    if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar6;\n    }\n    return paVar6;\n  case 0xb:\n    goto _L357;\n  case 0xd:\n    if ((lex_type[pbVar16[1]] & 1) != 0) {\n      iVar10 = strncasecmp((char *)pbVar7,"startof.",8);\n      if (((iVar10 == 0) && ((lex_type[pbVar16[9]] & 1) == 0)) ||\n         ((iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7), iVar10 == 0 &&\n          ((lex_type[pbVar16[8]] & 1) == 0)))) {\n        bVar11 = pbVar16[2];\n        pbVar7 = pbVar7 + ((bVar11 & 0xdf) == 0x54) + 7;\n        if (*pbVar7 == 0x20) {\n          pbVar7 = pbVar7 + 1;\n        }\n        input_line_pointer = (char *)pbVar7;\n        expressionP->field_0xc = 1;\n        if (*pbVar7 == 0x28) {\n          input_line_pointer = (char *)(pbVar7 + 1);\n          if (pbVar7[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar7 + 2);\n          }\n          cVar3 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar8 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar8);\n            *input_line_pointer = cVar3;\n            if (cVar3 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }\n            ignore_rest_of_line();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar11 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          pcVar8 = (char *)concat(pcVar8,name,0);\n          psVar5 = symbol_make(pcVar8);\n          free(pcVar8);\n          expressionP->field_0xc = 3;\n          expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar5;\n          *input_line_pointer = cVar3;\n          cVar3 = *input_line_pointer;\n          if (cVar3 == '\"') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ' ') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_00024626;\n          }\n        }\n        pcVar8 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar8);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (now_seg == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) {\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = abs_section_offset;\n      goto LAB_00024626;\n    }\n    expressionP->field_0xc = 3;\n    expressionP->X_add_symbol = &dot_symbol;\n    break;\n  case 0xf:\n    bVar11 = pbVar16[1];\n    switch((int)(char)bVar11 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      integer_constant(8,expressionP);\n      break;\n    default:\n      if (bVar11 != 0) goto LAB_00024c71;\n      goto LAB_00024c05;\n    case 0x12:\n      if ((byte)(pbVar16[2] - 0x30) < 2) {\nLAB_00024c50:\n        input_line_pointer = (char *)(pbVar16 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00024c71:\n      pcVar8 = strchr(PTR_FLT_CHARS_0007af58,(int)(char)bVar11);\n      if (pcVar8 != (char *)0x0) {\n        pbVar7 = pbVar16 + 2;\n        goto LAB_00024c22;\n      }\nLAB_00024c05:\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar7 = pbVar7 + 1;\nLAB_00024c22:\n      input_line_pointer = (char *)pbVar7;\n      floating_constant(expressionP);\n      expressionP->X_add_number = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar11];\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar16 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar16[2] - 0x30) < 2) goto LAB_00024c50;\n      goto _L379;\n    case 0x36:\n      if ((is_end_of_line[pbVar16[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        name = (char *)(pbVar16 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number);\n        if ((name != input_line_pointer + 1) &&\n           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00024c22;\n        pbVar16 = (byte *)(input_line_pointer + -1);\n      }\n_L379:\n      input_line_pointer = (char *)pbVar16;\n      integer_constant(10,expressionP);\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto _L379;\n  case 0x5d:\n    if ((lex_type[uVar4] & 2) == 0) {\n      operand(expressionP,mode);\n      bVar2 = expressionP->field_0xc;\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          oVar17 = expressionP->X_add_number;\n          bVar19 = false;\n          goto LAB_00024921;\n        }\n        goto LAB_00024a16;\n      }\n      goto LAB_00024d54;\n    }\nLAB_00024ae0:\n    input_line_pointer = (char *)pbVar16;\n    cVar3 = get_symbol_name(&name);\n    psVar5 = symbol_find_or_make(name);\n    paVar6 = S_GET_SEGMENT(psVar5);\n    if (mode == expr_defer) {\nLAB_00024b38:\n      expressionP->field_0xc = 3;\n      expressionP->X_add_symbol = psVar5;\n      expressionP->X_add_number = 0;\n    }\n    else {\n      if ((paVar6 == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) &&\n         (iVar10 = S_FORCE_RELOC(psVar5,0), iVar10 == 0)) {\n        expressionP->field_0xc = 2;\n      }\n      else {\n        if (reg_section != paVar6) goto LAB_00024b38;\n        expressionP->field_0xc = 5;\n      }\n      vVar9 = S_GET_VALUE(psVar5);\n      expressionP->X_add_number = vVar9;\n    }\n    *input_line_pointer = cVar3;\n    if (cVar3 == '\"') {\n      restore_line_pointer('\"');\n    }\n    goto LAB_00024626;\n  }" switch (parenthesized_expression "(uVar4 - 0x21 & 0xff)" ( (binary_expression "uVar4 - 0x21 & 0xff" (binary_expression "uVar4 - 0x21" identifier - number_literal) & number_literal) )) (compound_statement "{\n  case 0:\n  case 10:\n  case 0xc:\n    operand(expressionP,mode);\n    bVar2 = expressionP->field_0xc;\n    if (bVar2 == 2) {\n      if (bVar11 == 0x2d) {\n        bVar11 = expressionP->field_0xd;\n        iVar10 = expressionP->X_add_number;\n        expressionP->X_add_number = -iVar10;\n        expressionP->field_0xd = bVar11 & 0xfe;\n        if (-iVar10 != 0) {\n          expressionP->field_0xd = (bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar11 != 0x22) {\n        if (bVar11 == 0x21) {\n          expressionP->X_add_number = (uint)(expressionP->X_add_number == 0);\n        }\n        goto LAB_00024626;\n      }\nLAB_00024d54:\n      expressionP->X_add_number = ~expressionP->X_add_number;\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar19 = bVar11 == 0x2d;\n      oVar17 = expressionP->X_add_number;\n      if ((0 < oVar17) || (!bVar19)) {\nLAB_00024921:\n        if (0 < oVar17) {\n          if ((bVar11 == 0x7e) || (bVar19)) {\n            puVar12 = (ushort *)&generic_bignum;\n            do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));\n            if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }\n            if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }\n          goto LAB_00024626;\n        }\n        goto LAB_00024a1e;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar19 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar19) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\nLAB_00024a16:\n      if (bVar2 < 2) {\n        pcVar8 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar8,(int)(char)bVar11);\n        goto LAB_00024626;\n      }\nLAB_00024a1e:\n      if (bVar11 == 0x2b) goto LAB_00024626;\n    }\n    psVar5 = make_expr_symbol(expressionP);\n    expressionP->X_add_symbol = psVar5;\n    if (bVar11 == 0x2d) {\n      expressionP->field_0xc = 7;\n    }\n    else if ((bVar11 == 0x7e) || (bVar11 == 0x22)) {\n      expressionP->field_0xc = 8;\n    }\n    else {\n      expressionP->field_0xc = 9;\n    }\n    break;\n  default:\n    if (((lex_type[uVar4] & 2) == 0) && (bVar11 != 0x22)) {\n      expressionP->field_0xc = 1;\n      pcVar8 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar8);\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    input_line_pointer = (char *)(pbVar16 + 2);\n    expressionP->field_0xc = 2;\n    expressionP->X_add_number = (int)(char)pbVar16[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    paVar6 = expr(0,expressionP,mode);\n    if (bVar11 == 0x28) {\n      cVar3 = *input_line_pointer;\n      if (cVar3 == ')') goto LAB_000249c4;\n      uVar18 = 0x29;\n    }\n    else {\n      if ((bVar11 != 0x5b) || (cVar3 = *input_line_pointer, cVar3 == ']')) {\nLAB_000249c4:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000249c9;\n      }\n      uVar18 = 0x5d;\n    }\n    if (cVar3 == '\0') {\n      pcVar8 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar8,uVar18);\n    }\n    else {\n      pcVar8 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar8,(int)cVar3,uVar18);\n    }\nLAB_000249c9:\n    if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar6;\n    }\n    return paVar6;\n  case 0xb:\n    goto _L357;\n  case 0xd:\n    if ((lex_type[pbVar16[1]] & 1) != 0) {\n      iVar10 = strncasecmp((char *)pbVar7,"startof.",8);\n      if (((iVar10 == 0) && ((lex_type[pbVar16[9]] & 1) == 0)) ||\n         ((iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7), iVar10 == 0 &&\n          ((lex_type[pbVar16[8]] & 1) == 0)))) {\n        bVar11 = pbVar16[2];\n        pbVar7 = pbVar7 + ((bVar11 & 0xdf) == 0x54) + 7;\n        if (*pbVar7 == 0x20) {\n          pbVar7 = pbVar7 + 1;\n        }\n        input_line_pointer = (char *)pbVar7;\n        expressionP->field_0xc = 1;\n        if (*pbVar7 == 0x28) {\n          input_line_pointer = (char *)(pbVar7 + 1);\n          if (pbVar7[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar7 + 2);\n          }\n          cVar3 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar8 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar8);\n            *input_line_pointer = cVar3;\n            if (cVar3 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }\n            ignore_rest_of_line();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar11 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          pcVar8 = (char *)concat(pcVar8,name,0);\n          psVar5 = symbol_make(pcVar8);\n          free(pcVar8);\n          expressionP->field_0xc = 3;\n          expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar5;\n          *input_line_pointer = cVar3;\n          cVar3 = *input_line_pointer;\n          if (cVar3 == '\"') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ' ') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_00024626;\n          }\n        }\n        pcVar8 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar8);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (now_seg == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) {\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = abs_section_offset;\n      goto LAB_00024626;\n    }\n    expressionP->field_0xc = 3;\n    expressionP->X_add_symbol = &dot_symbol;\n    break;\n  case 0xf:\n    bVar11 = pbVar16[1];\n    switch((int)(char)bVar11 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      integer_constant(8,expressionP);\n      break;\n    default:\n      if (bVar11 != 0) goto LAB_00024c71;\n      goto LAB_00024c05;\n    case 0x12:\n      if ((byte)(pbVar16[2] - 0x30) < 2) {\nLAB_00024c50:\n        input_line_pointer = (char *)(pbVar16 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00024c71:\n      pcVar8 = strchr(PTR_FLT_CHARS_0007af58,(int)(char)bVar11);\n      if (pcVar8 != (char *)0x0) {\n        pbVar7 = pbVar16 + 2;\n        goto LAB_00024c22;\n      }\nLAB_00024c05:\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar7 = pbVar7 + 1;\nLAB_00024c22:\n      input_line_pointer = (char *)pbVar7;\n      floating_constant(expressionP);\n      expressionP->X_add_number = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar11];\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar16 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar16[2] - 0x30) < 2) goto LAB_00024c50;\n      goto _L379;\n    case 0x36:\n      if ((is_end_of_line[pbVar16[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        name = (char *)(pbVar16 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number);\n        if ((name != input_line_pointer + 1) &&\n           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00024c22;\n        pbVar16 = (byte *)(input_line_pointer + -1);\n      }\n_L379:\n      input_line_pointer = (char *)pbVar16;\n      integer_constant(10,expressionP);\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto _L379;\n  case 0x5d:\n    if ((lex_type[uVar4] & 2) == 0) {\n      operand(expressionP,mode);\n      bVar2 = expressionP->field_0xc;\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          oVar17 = expressionP->X_add_number;\n          bVar19 = false;\n          goto LAB_00024921;\n        }\n        goto LAB_00024a16;\n      }\n      goto LAB_00024d54;\n    }\nLAB_00024ae0:\n    input_line_pointer = (char *)pbVar16;\n    cVar3 = get_symbol_name(&name);\n    psVar5 = symbol_find_or_make(name);\n    paVar6 = S_GET_SEGMENT(psVar5);\n    if (mode == expr_defer) {\nLAB_00024b38:\n      expressionP->field_0xc = 3;\n      expressionP->X_add_symbol = psVar5;\n      expressionP->X_add_number = 0;\n    }\n    else {\n      if ((paVar6 == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) &&\n         (iVar10 = S_FORCE_RELOC(psVar5,0), iVar10 == 0)) {\n        expressionP->field_0xc = 2;\n      }\n      else {\n        if (reg_section != paVar6) goto LAB_00024b38;\n        expressionP->field_0xc = 5;\n      }\n      vVar9 = S_GET_VALUE(psVar5);\n      expressionP->X_add_number = vVar9;\n    }\n    *input_line_pointer = cVar3;\n    if (cVar3 == '\"') {\n      restore_line_pointer('\"');\n    }\n    goto LAB_00024626;\n  }" { (case_statement "case 0:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xc:\n    operand(expressionP,mode);\n    bVar2 = expressionP->field_0xc;\n    if (bVar2 == 2) {\n      if (bVar11 == 0x2d) {\n        bVar11 = expressionP->field_0xd;\n        iVar10 = expressionP->X_add_number;\n        expressionP->X_add_number = -iVar10;\n        expressionP->field_0xd = bVar11 & 0xfe;\n        if (-iVar10 != 0) {\n          expressionP->field_0xd = (bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar11 != 0x22) {\n        if (bVar11 == 0x21) {\n          expressionP->X_add_number = (uint)(expressionP->X_add_number == 0);\n        }\n        goto LAB_00024626;\n      }\nLAB_00024d54:\n      expressionP->X_add_number = ~expressionP->X_add_number;\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar19 = bVar11 == 0x2d;\n      oVar17 = expressionP->X_add_number;\n      if ((0 < oVar17) || (!bVar19)) {\nLAB_00024921:\n        if (0 < oVar17) {\n          if ((bVar11 == 0x7e) || (bVar19)) {\n            puVar12 = (ushort *)&generic_bignum;\n            do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));\n            if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }\n            if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }\n          goto LAB_00024626;\n        }\n        goto LAB_00024a1e;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar19 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar19) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\nLAB_00024a16:\n      if (bVar2 < 2) {\n        pcVar8 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar8,(int)(char)bVar11);\n        goto LAB_00024626;\n      }\nLAB_00024a1e:\n      if (bVar11 == 0x2b) goto LAB_00024626;\n    }\n    psVar5 = make_expr_symbol(expressionP);\n    expressionP->X_add_symbol = psVar5;\n    if (bVar11 == 0x2d) {\n      expressionP->field_0xc = 7;\n    }\n    else if ((bVar11 == 0x7e) || (bVar11 == 0x22)) {\n      expressionP->field_0xc = 8;\n    }\n    else {\n      expressionP->field_0xc = 9;\n    }\n    break;" case number_literal : (expression_statement "operand(expressionP,mode);" (call_expression "operand(expressionP,mode)" identifier (argument_list "(expressionP,mode)" ( identifier , identifier ))) ;) (expression_statement "bVar2 = expressionP->field_0xc;" (assignment_expression "bVar2 = expressionP->field_0xc" identifier = (field_expression "expressionP->field_0xc" identifier -> field_identifier)) ;) (if_statement "if (bVar2 == 2) {\n      if (bVar11 == 0x2d) {\n        bVar11 = expressionP->field_0xd;\n        iVar10 = expressionP->X_add_number;\n        expressionP->X_add_number = -iVar10;\n        expressionP->field_0xd = bVar11 & 0xfe;\n        if (-iVar10 != 0) {\n          expressionP->field_0xd = (bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar11 != 0x22) {\n        if (bVar11 == 0x21) {\n          expressionP->X_add_number = (uint)(expressionP->X_add_number == 0);\n        }\n        goto LAB_00024626;\n      }\nLAB_00024d54:\n      expressionP->X_add_number = ~expressionP->X_add_number;\n      goto LAB_00024626;\n    }" if (parenthesized_expression "(bVar2 == 2)" ( (binary_expression "bVar2 == 2" identifier == number_literal) )) (compound_statement "{\n      if (bVar11 == 0x2d) {\n        bVar11 = expressionP->field_0xd;\n        iVar10 = expressionP->X_add_number;\n        expressionP->X_add_number = -iVar10;\n        expressionP->field_0xd = bVar11 & 0xfe;\n        if (-iVar10 != 0) {\n          expressionP->field_0xd = (bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar11 != 0x22) {\n        if (bVar11 == 0x21) {\n          expressionP->X_add_number = (uint)(expressionP->X_add_number == 0);\n        }\n        goto LAB_00024626;\n      }\nLAB_00024d54:\n      expressionP->X_add_number = ~expressionP->X_add_number;\n      goto LAB_00024626;\n    }" { (if_statement "if (bVar11 == 0x2d) {\n        bVar11 = expressionP->field_0xd;\n        iVar10 = expressionP->X_add_number;\n        expressionP->X_add_number = -iVar10;\n        expressionP->field_0xd = bVar11 & 0xfe;\n        if (-iVar10 != 0) {\n          expressionP->field_0xd = (bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc;\n        }\n        goto LAB_00024626;\n      }" if (parenthesized_expression "(bVar11 == 0x2d)" ( (binary_expression "bVar11 == 0x2d" identifier == number_literal) )) (compound_statement "{\n        bVar11 = expressionP->field_0xd;\n        iVar10 = expressionP->X_add_number;\n        expressionP->X_add_number = -iVar10;\n        expressionP->field_0xd = bVar11 & 0xfe;\n        if (-iVar10 != 0) {\n          expressionP->field_0xd = (bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc;\n        }\n        goto LAB_00024626;\n      }" { (expression_statement "bVar11 = expressionP->field_0xd;" (assignment_expression "bVar11 = expressionP->field_0xd" identifier = (field_expression "expressionP->field_0xd" identifier -> field_identifier)) ;) (expression_statement "iVar10 = expressionP->X_add_number;" (assignment_expression "iVar10 = expressionP->X_add_number" identifier = (field_expression "expressionP->X_add_number" identifier -> field_identifier)) ;) (expression_statement "expressionP->X_add_number = -iVar10;" (assignment_expression "expressionP->X_add_number = -iVar10" (field_expression "expressionP->X_add_number" identifier -> field_identifier) = (unary_expression "-iVar10" - identifier)) ;) (expression_statement "expressionP->field_0xd = bVar11 & 0xfe;" (assignment_expression "expressionP->field_0xd = bVar11 & 0xfe" (field_expression "expressionP->field_0xd" identifier -> field_identifier) = (binary_expression "bVar11 & 0xfe" identifier & number_literal)) ;) (if_statement "if (-iVar10 != 0) {\n          expressionP->field_0xd = (bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc;\n        }" if (parenthesized_expression "(-iVar10 != 0)" ( (binary_expression "-iVar10 != 0" (unary_expression "-iVar10" - identifier) != number_literal) )) (compound_statement "{\n          expressionP->field_0xd = (bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc;\n        }" { (expression_statement "expressionP->field_0xd = (bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc;" (assignment_expression "expressionP->field_0xd = (bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc" (field_expression "expressionP->field_0xd" identifier -> field_identifier) = (binary_expression "(bVar11 >> 1 & 1 ^ 1) * '\x02' | bVar11 & 0xfc" (binary_expression "(bVar11 >> 1 & 1 ^ 1) * '\x02'" (parenthesized_expression "(bVar11 >> 1 & 1 ^ 1)" ( (binary_expression "bVar11 >> 1 & 1 ^ 1" (binary_expression "bVar11 >> 1 & 1" (binary_expression "bVar11 >> 1" identifier >> number_literal) & number_literal) ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar11 & 0xfc" identifier & number_literal))) ;) })) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (if_statement "if (bVar11 != 0x22) {\n        if (bVar11 == 0x21) {\n          expressionP->X_add_number = (uint)(expressionP->X_add_number == 0);\n        }\n        goto LAB_00024626;\n      }" if (parenthesized_expression "(bVar11 != 0x22)" ( (binary_expression "bVar11 != 0x22" identifier != number_literal) )) (compound_statement "{\n        if (bVar11 == 0x21) {\n          expressionP->X_add_number = (uint)(expressionP->X_add_number == 0);\n        }\n        goto LAB_00024626;\n      }" { (if_statement "if (bVar11 == 0x21) {\n          expressionP->X_add_number = (uint)(expressionP->X_add_number == 0);\n        }" if (parenthesized_expression "(bVar11 == 0x21)" ( (binary_expression "bVar11 == 0x21" identifier == number_literal) )) (compound_statement "{\n          expressionP->X_add_number = (uint)(expressionP->X_add_number == 0);\n        }" { (expression_statement "expressionP->X_add_number = (uint)(expressionP->X_add_number == 0);" (assignment_expression "expressionP->X_add_number = (uint)(expressionP->X_add_number == 0)" (field_expression "expressionP->X_add_number" identifier -> field_identifier) = (call_expression "(uint)(expressionP->X_add_number == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(expressionP->X_add_number == 0)" ( (binary_expression "expressionP->X_add_number == 0" (field_expression "expressionP->X_add_number" identifier -> field_identifier) == number_literal) )))) ;) })) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (labeled_statement "LAB_00024d54:\n      expressionP->X_add_number = ~expressionP->X_add_number;" statement_identifier : (expression_statement "expressionP->X_add_number = ~expressionP->X_add_number;" (assignment_expression "expressionP->X_add_number = ~expressionP->X_add_number" (field_expression "expressionP->X_add_number" identifier -> field_identifier) = (unary_expression "~expressionP->X_add_number" ~ (field_expression "expressionP->X_add_number" identifier -> field_identifier))) ;)) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (if_statement "if (bVar2 == 6) {\n      bVar19 = bVar11 == 0x2d;\n      oVar17 = expressionP->X_add_number;\n      if ((0 < oVar17) || (!bVar19)) {\nLAB_00024921:\n        if (0 < oVar17) {\n          if ((bVar11 == 0x7e) || (bVar19)) {\n            puVar12 = (ushort *)&generic_bignum;\n            do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));\n            if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }\n            if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }\n          goto LAB_00024626;\n        }\n        goto LAB_00024a1e;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar19 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar19) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\nLAB_00024a16:\n      if (bVar2 < 2) {\n        pcVar8 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar8,(int)(char)bVar11);\n        goto LAB_00024626;\n      }\nLAB_00024a1e:\n      if (bVar11 == 0x2b) goto LAB_00024626;\n    }" if (parenthesized_expression "(bVar2 == 6)" ( (binary_expression "bVar2 == 6" identifier == number_literal) )) (compound_statement "{\n      bVar19 = bVar11 == 0x2d;\n      oVar17 = expressionP->X_add_number;\n      if ((0 < oVar17) || (!bVar19)) {\nLAB_00024921:\n        if (0 < oVar17) {\n          if ((bVar11 == 0x7e) || (bVar19)) {\n            puVar12 = (ushort *)&generic_bignum;\n            do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));\n            if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }\n            if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }\n          goto LAB_00024626;\n        }\n        goto LAB_00024a1e;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar19 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar19) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_00024626;\n      }\n    }" { (expression_statement "bVar19 = bVar11 == 0x2d;" (assignment_expression "bVar19 = bVar11 == 0x2d" identifier = (binary_expression "bVar11 == 0x2d" identifier == number_literal)) ;) (expression_statement "oVar17 = expressionP->X_add_number;" (assignment_expression "oVar17 = expressionP->X_add_number" identifier = (field_expression "expressionP->X_add_number" identifier -> field_identifier)) ;) (if_statement "if ((0 < oVar17) || (!bVar19)) {\nLAB_00024921:\n        if (0 < oVar17) {\n          if ((bVar11 == 0x7e) || (bVar19)) {\n            puVar12 = (ushort *)&generic_bignum;\n            do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));\n            if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }\n            if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }\n          goto LAB_00024626;\n        }\n        goto LAB_00024a1e;\n      }" if (parenthesized_expression "((0 < oVar17) || (!bVar19))" ( (binary_expression "(0 < oVar17) || (!bVar19)" (parenthesized_expression "(0 < oVar17)" ( (binary_expression "0 < oVar17" number_literal < identifier) )) || (parenthesized_expression "(!bVar19)" ( (unary_expression "!bVar19" ! identifier) ))) )) (compound_statement "{\nLAB_00024921:\n        if (0 < oVar17) {\n          if ((bVar11 == 0x7e) || (bVar19)) {\n            puVar12 = (ushort *)&generic_bignum;\n            do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));\n            if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }\n            if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }\n          goto LAB_00024626;\n        }\n        goto LAB_00024a1e;\n      }" { (labeled_statement "LAB_00024921:\n        if (0 < oVar17) {\n          if ((bVar11 == 0x7e) || (bVar19)) {\n            puVar12 = (ushort *)&generic_bignum;\n            do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));\n            if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }\n            if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }\n          goto LAB_00024626;\n        }" statement_identifier : (if_statement "if (0 < oVar17) {\n          if ((bVar11 == 0x7e) || (bVar19)) {\n            puVar12 = (ushort *)&generic_bignum;\n            do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));\n            if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }\n            if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }\n          goto LAB_00024626;\n        }" if (parenthesized_expression "(0 < oVar17)" ( (binary_expression "0 < oVar17" number_literal < identifier) )) (compound_statement "{\n          if ((bVar11 == 0x7e) || (bVar19)) {\n            puVar12 = (ushort *)&generic_bignum;\n            do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));\n            if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }\n            if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }\n          goto LAB_00024626;\n        }" { (if_statement "if ((bVar11 == 0x7e) || (bVar19)) {\n            puVar12 = (ushort *)&generic_bignum;\n            do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));\n            if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }\n            if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }" if (parenthesized_expression "((bVar11 == 0x7e) || (bVar19))" ( (binary_expression "(bVar11 == 0x7e) || (bVar19)" (parenthesized_expression "(bVar11 == 0x7e)" ( (binary_expression "bVar11 == 0x7e" identifier == number_literal) )) || (parenthesized_expression "(bVar19)" ( identifier ))) )) (compound_statement "{\n            puVar12 = (ushort *)&generic_bignum;\n            do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));\n            if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }\n            if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }" { (expression_statement "puVar12 = (ushort *)&generic_bignum;" (assignment_expression "puVar12 = (ushort *)&generic_bignum" identifier = (cast_expression "(ushort *)&generic_bignum" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&generic_bignum" & identifier))) ;) (do_statement "do {\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            } while (puVar12 != (ushort *)(&generic_bignum + oVar17));" do (compound_statement "{\n              *puVar12 = ~*puVar12;\n              puVar12 = puVar12 + 1;\n            }" { (expression_statement "*puVar12 = ~*puVar12;" (assignment_expression "*puVar12 = ~*puVar12" (pointer_expression "*puVar12" * identifier) = (unary_expression "~*puVar12" ~ (pointer_expression "*puVar12" * identifier))) ;) (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar12 != (ushort *)(&generic_bignum + oVar17))" ( (binary_expression "puVar12 != (ushort *)(&generic_bignum + oVar17)" identifier != (cast_expression "(ushort *)(&generic_bignum + oVar17)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&generic_bignum + oVar17)" ( (binary_expression "&generic_bignum + oVar17" (pointer_expression "&generic_bignum" & identifier) + identifier) )))) )) ;) (if_statement "if (oVar17 < 0x14) {\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }" if (parenthesized_expression "(oVar17 < 0x14)" ( (binary_expression "oVar17 < 0x14" identifier < number_literal) )) (compound_statement "{\n              expressionP->X_add_number = 0x14;\n              puVar13 = &generic_bignum + oVar17;\n              do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);\n            }" { (expression_statement "expressionP->X_add_number = 0x14;" (assignment_expression "expressionP->X_add_number = 0x14" (field_expression "expressionP->X_add_number" identifier -> field_identifier) = number_literal) ;) (expression_statement "puVar13 = &generic_bignum + oVar17;" (assignment_expression "puVar13 = &generic_bignum + oVar17" identifier = (binary_expression "&generic_bignum + oVar17" (pointer_expression "&generic_bignum" & identifier) + identifier)) ;) (do_statement "do {\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              } while (puVar14 != (undefined2 *)&DAT_00083ea8);" do (compound_statement "{\n                puVar14 = puVar13 + 1;\n                *puVar13 = 0xffff;\n                puVar13 = puVar14;\n              }" { (expression_statement "puVar14 = puVar13 + 1;" (assignment_expression "puVar14 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) (expression_statement "*puVar13 = 0xffff;" (assignment_expression "*puVar13 = 0xffff" (pointer_expression "*puVar13" * identifier) = number_literal) ;) (expression_statement "puVar13 = puVar14;" (assignment_expression "puVar13 = puVar14" identifier = identifier) ;) }) while (parenthesized_expression "(puVar14 != (undefined2 *)&DAT_00083ea8)" ( (binary_expression "puVar14 != (undefined2 *)&DAT_00083ea8" identifier != (cast_expression "(undefined2 *)&DAT_00083ea8" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00083ea8" & identifier))) )) ;) })) (if_statement "if (bVar19) {\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }" if (parenthesized_expression "(bVar19)" ( identifier )) (compound_statement "{\n              iVar10 = expressionP->X_add_number;\n              generic_bignum = generic_bignum + 1;\n              if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }" { (expression_statement "iVar10 = expressionP->X_add_number;" (assignment_expression "iVar10 = expressionP->X_add_number" identifier = (field_expression "expressionP->X_add_number" identifier -> field_identifier)) ;) (expression_statement "generic_bignum = generic_bignum + 1;" (assignment_expression "generic_bignum = generic_bignum + 1" identifier = (binary_expression "generic_bignum + 1" identifier + number_literal)) ;) (if_statement "if (generic_bignum == 0) {\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }" if (parenthesized_expression "(generic_bignum == 0)" ( (binary_expression "generic_bignum == 0" identifier == number_literal) )) (compound_statement "{\n                iVar15 = 0;\n                do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }" { (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (do_statement "do {\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);" do (compound_statement "{\n                  iVar15 = iVar15 + 1;\n                  if (iVar10 <= iVar15) break;\n                  psVar1 = &generic_bignum + iVar15;\n                  *psVar1 = *psVar1 + 1;\n                }" { (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (if_statement "if (iVar10 <= iVar15) break;" if (parenthesized_expression "(iVar10 <= iVar15)" ( (binary_expression "iVar10 <= iVar15" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "psVar1 = &generic_bignum + iVar15;" (assignment_expression "psVar1 = &generic_bignum + iVar15" identifier = (binary_expression "&generic_bignum + iVar15" (pointer_expression "&generic_bignum" & identifier) + identifier)) ;) (expression_statement "*psVar1 = *psVar1 + 1;" (assignment_expression "*psVar1 = *psVar1 + 1" (pointer_expression "*psVar1" * identifier) = (binary_expression "*psVar1 + 1" (pointer_expression "*psVar1" * identifier) + number_literal)) ;) }) while (parenthesized_expression "(*psVar1 == 0)" ( (binary_expression "*psVar1 == 0" (pointer_expression "*psVar1" * identifier) == number_literal) )) ;) })) })) }) (else_clause "else if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }" else (if_statement "if (bVar11 == 0x21) {\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }" if (parenthesized_expression "(bVar11 == 0x21)" ( (binary_expression "bVar11 == 0x21" identifier == number_literal) )) (compound_statement "{\n            iVar10 = 0;\n            do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);\n            expressionP->X_add_number = (uint)(oVar17 <= iVar10);\n            *(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;\n          }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != oVar17);" do (compound_statement "{\n              if ((&generic_bignum)[iVar10] != 0) break;\n              iVar10 = iVar10 + 1;\n            }" { (if_statement "if ((&generic_bignum)[iVar10] != 0) break;" if (parenthesized_expression "((&generic_bignum)[iVar10] != 0)" ( (binary_expression "(&generic_bignum)[iVar10] != 0" (subscript_expression "(&generic_bignum)[iVar10]" (parenthesized_expression "(&generic_bignum)" ( (pointer_expression "&generic_bignum" & identifier) )) [ identifier ]) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 != oVar17)" ( (binary_expression "iVar10 != oVar17" identifier != identifier) )) ;) (expression_statement "expressionP->X_add_number = (uint)(oVar17 <= iVar10);" (assignment_expression "expressionP->X_add_number = (uint)(oVar17 <= iVar10)" (field_expression "expressionP->X_add_number" identifier -> field_identifier) = (call_expression "(uint)(oVar17 <= iVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(oVar17 <= iVar10)" ( (binary_expression "oVar17 <= iVar10" identifier <= identifier) )))) ;) (expression_statement "*(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102\n            ;" (assignment_expression "*(ushort *)&expressionP->field_0xc = *(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102" (pointer_expression "*(ushort *)&expressionP->field_0xc" * (cast_expression "(ushort *)&expressionP->field_0xc" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->field_0xc" & (field_expression "expressionP->field_0xc" identifier -> field_identifier)))) = (binary_expression "*(ushort *)&expressionP->field_0xc & 0xfc00 | 0x102" (binary_expression "*(ushort *)&expressionP->field_0xc & 0xfc00" (pointer_expression "*(ushort *)&expressionP->field_0xc" * (cast_expression "(ushort *)&expressionP->field_0xc" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->field_0xc" & (field_expression "expressionP->field_0xc" identifier -> field_identifier)))) & number_literal) | number_literal)) ;) })))) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) }))) (goto_statement "goto LAB_00024a1e;" goto statement_identifier ;) })) (if_statement "if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar19 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar19) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_00024626;\n      }" if (parenthesized_expression "((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         )" ( (binary_expression "(generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')" (parenthesized_expression "(generic_floating_point_number.sign == '+')" ( (binary_expression "generic_floating_point_number.sign == '+'" (field_expression "generic_floating_point_number.sign" identifier . field_identifier) == (char_literal "'+'" ' character ')) )) || (parenthesized_expression "(generic_floating_point_number.sign == 'P')" ( (binary_expression "generic_floating_point_number.sign == 'P'" (field_expression "generic_floating_point_number.sign" identifier . field_identifier) == (char_literal "'P'" ' character ')) ))) )) (compound_statement "{\n        bVar19 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar19) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_00024626;\n      }" { (expression_statement "bVar19 = generic_floating_point_number.sign == '+';" (assignment_expression "bVar19 = generic_floating_point_number.sign == '+'" identifier = (binary_expression "generic_floating_point_number.sign == '+'" (field_expression "generic_floating_point_number.sign" identifier . field_identifier) == (char_literal "'+'" ' character '))) ;) (expression_statement "generic_floating_point_number.sign = 'N';" (assignment_expression "generic_floating_point_number.sign = 'N'" (field_expression "generic_floating_point_number.sign" identifier . field_identifier) = (char_literal "'N'" ' character ')) ;) (if_statement "if (bVar19) {\n          generic_floating_point_number.sign = '-';\n        }" if (parenthesized_expression "(bVar19)" ( identifier )) (compound_statement "{\n          generic_floating_point_number.sign = '-';\n        }" { (expression_statement "generic_floating_point_number.sign = '-';" (assignment_expression "generic_floating_point_number.sign = '-'" (field_expression "generic_floating_point_number.sign" identifier . field_identifier) = (char_literal "'-'" ' character ')) ;) })) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00024a16:\n      if (bVar2 < 2) {\n        pcVar8 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar8,(int)(char)bVar11);\n        goto LAB_00024626;\n      }\nLAB_00024a1e:\n      if (bVar11 == 0x2b) goto LAB_00024626;\n    }" else (compound_statement "{\nLAB_00024a16:\n      if (bVar2 < 2) {\n        pcVar8 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar8,(int)(char)bVar11);\n        goto LAB_00024626;\n      }\nLAB_00024a1e:\n      if (bVar11 == 0x2b) goto LAB_00024626;\n    }" { (labeled_statement "LAB_00024a16:\n      if (bVar2 < 2) {\n        pcVar8 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar8,(int)(char)bVar11);\n        goto LAB_00024626;\n      }" statement_identifier : (if_statement "if (bVar2 < 2) {\n        pcVar8 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar8,(int)(char)bVar11);\n        goto LAB_00024626;\n      }" if (parenthesized_expression "(bVar2 < 2)" ( (binary_expression "bVar2 < 2" identifier < number_literal) )) (compound_statement "{\n        pcVar8 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar8,(int)(char)bVar11);\n        goto LAB_00024626;\n      }" { (expression_statement "pcVar8 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5)" identifier = (cast_expression "(char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Unary operator %c ignored because bad operand follows",5)" identifier (argument_list "(0,"Unary operator %c ignored because bad operand follows",5)" ( number_literal , (string_literal ""Unary operator %c ignored because bad operand follows"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar8,(int)(char)bVar11);" (call_expression "as_warn(pcVar8,(int)(char)bVar11)" identifier (argument_list "(pcVar8,(int)(char)bVar11)" ( identifier , (cast_expression "(int)(char)bVar11" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar11" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) }))) (labeled_statement "LAB_00024a1e:\n      if (bVar11 == 0x2b) goto LAB_00024626;" statement_identifier : (if_statement "if (bVar11 == 0x2b) goto LAB_00024626;" if (parenthesized_expression "(bVar11 == 0x2b)" ( (binary_expression "bVar11 == 0x2b" identifier == number_literal) )) (goto_statement "goto LAB_00024626;" goto statement_identifier ;))) }))) (expression_statement "psVar5 = make_expr_symbol(expressionP);" (assignment_expression "psVar5 = make_expr_symbol(expressionP)" identifier = (call_expression "make_expr_symbol(expressionP)" identifier (argument_list "(expressionP)" ( identifier )))) ;) (expression_statement "expressionP->X_add_symbol = psVar5;" (assignment_expression "expressionP->X_add_symbol = psVar5" (field_expression "expressionP->X_add_symbol" identifier -> field_identifier) = identifier) ;) (if_statement "if (bVar11 == 0x2d) {\n      expressionP->field_0xc = 7;\n    }\n    else if ((bVar11 == 0x7e) || (bVar11 == 0x22)) {\n      expressionP->field_0xc = 8;\n    }\n    else {\n      expressionP->field_0xc = 9;\n    }" if (parenthesized_expression "(bVar11 == 0x2d)" ( (binary_expression "bVar11 == 0x2d" identifier == number_literal) )) (compound_statement "{\n      expressionP->field_0xc = 7;\n    }" { (expression_statement "expressionP->field_0xc = 7;" (assignment_expression "expressionP->field_0xc = 7" (field_expression "expressionP->field_0xc" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else if ((bVar11 == 0x7e) || (bVar11 == 0x22)) {\n      expressionP->field_0xc = 8;\n    }\n    else {\n      expressionP->field_0xc = 9;\n    }" else (if_statement "if ((bVar11 == 0x7e) || (bVar11 == 0x22)) {\n      expressionP->field_0xc = 8;\n    }\n    else {\n      expressionP->field_0xc = 9;\n    }" if (parenthesized_expression "((bVar11 == 0x7e) || (bVar11 == 0x22))" ( (binary_expression "(bVar11 == 0x7e) || (bVar11 == 0x22)" (parenthesized_expression "(bVar11 == 0x7e)" ( (binary_expression "bVar11 == 0x7e" identifier == number_literal) )) || (parenthesized_expression "(bVar11 == 0x22)" ( (binary_expression "bVar11 == 0x22" identifier == number_literal) ))) )) (compound_statement "{\n      expressionP->field_0xc = 8;\n    }" { (expression_statement "expressionP->field_0xc = 8;" (assignment_expression "expressionP->field_0xc = 8" (field_expression "expressionP->field_0xc" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else {\n      expressionP->field_0xc = 9;\n    }" else (compound_statement "{\n      expressionP->field_0xc = 9;\n    }" { (expression_statement "expressionP->field_0xc = 9;" (assignment_expression "expressionP->field_0xc = 9" (field_expression "expressionP->field_0xc" identifier -> field_identifier) = number_literal) ;) }))))) (break_statement "break;" break ;)) (case_statement "default:\n    if (((lex_type[uVar4] & 2) == 0) && (bVar11 != 0x22)) {\n      expressionP->field_0xc = 1;\n      pcVar8 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar8);\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;" default : (if_statement "if (((lex_type[uVar4] & 2) == 0) && (bVar11 != 0x22)) {\n      expressionP->field_0xc = 1;\n      pcVar8 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar8);\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      goto LAB_00024626;\n    }" if (parenthesized_expression "(((lex_type[uVar4] & 2) == 0) && (bVar11 != 0x22))" ( (binary_expression "((lex_type[uVar4] & 2) == 0) && (bVar11 != 0x22)" (parenthesized_expression "((lex_type[uVar4] & 2) == 0)" ( (binary_expression "(lex_type[uVar4] & 2) == 0" (parenthesized_expression "(lex_type[uVar4] & 2)" ( (binary_expression "lex_type[uVar4] & 2" (subscript_expression "lex_type[uVar4]" identifier [ identifier ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(bVar11 != 0x22)" ( (binary_expression "bVar11 != 0x22" identifier != number_literal) ))) )) (compound_statement "{\n      expressionP->field_0xc = 1;\n      pcVar8 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar8);\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      goto LAB_00024626;\n    }" { (expression_statement "expressionP->field_0xc = 1;" (assignment_expression "expressionP->field_0xc = 1" (field_expression "expressionP->field_0xc" identifier -> field_identifier) = number_literal) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,"bad expression",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"bad expression",5)" identifier = (cast_expression "(char *)dcgettext(0,"bad expression",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"bad expression",5)" identifier (argument_list "(0,"bad expression",5)" ( number_literal , (string_literal ""bad expression"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar8);" (call_expression "as_bad(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier ))) ;) (expression_statement "expressionP->field_0xc = 2;" (assignment_expression "expressionP->field_0xc = 2" (field_expression "expressionP->field_0xc" identifier -> field_identifier) = number_literal) ;) (expression_statement "expressionP->X_add_number = 0;" (assignment_expression "expressionP->X_add_number = 0" (field_expression "expressionP->X_add_number" identifier -> field_identifier) = number_literal) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (goto_statement "goto LAB_00024ae0;" goto statement_identifier ;)) (case_statement "case 6:\n    input_line_pointer = (char *)(pbVar16 + 2);\n    expressionP->field_0xc = 2;\n    expressionP->X_add_number = (int)(char)pbVar16[1];\n    goto LAB_00024626;" case number_literal : (expression_statement "input_line_pointer = (char *)(pbVar16 + 2);" (assignment_expression "input_line_pointer = (char *)(pbVar16 + 2)" identifier = (cast_expression "(char *)(pbVar16 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar16 + 2)" ( (binary_expression "pbVar16 + 2" identifier + number_literal) )))) ;) (expression_statement "expressionP->field_0xc = 2;" (assignment_expression "expressionP->field_0xc = 2" (field_expression "expressionP->field_0xc" identifier -> field_identifier) = number_literal) ;) (expression_statement "expressionP->X_add_number = (int)(char)pbVar16[1];" (assignment_expression "expressionP->X_add_number = (int)(char)pbVar16[1]" (field_expression "expressionP->X_add_number" identifier -> field_identifier) = (cast_expression "(int)(char)pbVar16[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar16[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar16[1]" identifier [ number_literal ])))) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;)) (case_statement "case 7:" case number_literal :) (case_statement "case 0x3a:\n    paVar6 = expr(0,expressionP,mode);\n    if (bVar11 == 0x28) {\n      cVar3 = *input_line_pointer;\n      if (cVar3 == ')') goto LAB_000249c4;\n      uVar18 = 0x29;\n    }\n    else {\n      if ((bVar11 != 0x5b) || (cVar3 = *input_line_pointer, cVar3 == ']')) {\nLAB_000249c4:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000249c9;\n      }\n      uVar18 = 0x5d;\n    }\n    if (cVar3 == '\0') {\n      pcVar8 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar8,uVar18);\n    }\n    else {\n      pcVar8 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar8,(int)cVar3,uVar18);\n    }\nLAB_000249c9:\n    if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar6;\n    }\n    return paVar6;" case number_literal : (expression_statement "paVar6 = expr(0,expressionP,mode);" (assignment_expression "paVar6 = expr(0,expressionP,mode)" identifier = (call_expression "expr(0,expressionP,mode)" identifier (argument_list "(0,expressionP,mode)" ( number_literal , identifier , identifier )))) ;) (if_statement "if (bVar11 == 0x28) {\n      cVar3 = *input_line_pointer;\n      if (cVar3 == ')') goto LAB_000249c4;\n      uVar18 = 0x29;\n    }\n    else {\n      if ((bVar11 != 0x5b) || (cVar3 = *input_line_pointer, cVar3 == ']')) {\nLAB_000249c4:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000249c9;\n      }\n      uVar18 = 0x5d;\n    }" if (parenthesized_expression "(bVar11 == 0x28)" ( (binary_expression "bVar11 == 0x28" identifier == number_literal) )) (compound_statement "{\n      cVar3 = *input_line_pointer;\n      if (cVar3 == ')') goto LAB_000249c4;\n      uVar18 = 0x29;\n    }" { (expression_statement "cVar3 = *input_line_pointer;" (assignment_expression "cVar3 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (if_statement "if (cVar3 == ')') goto LAB_000249c4;" if (parenthesized_expression "(cVar3 == ')')" ( (binary_expression "cVar3 == ')'" identifier == (char_literal "')'" ' character ')) )) (goto_statement "goto LAB_000249c4;" goto statement_identifier ;)) (expression_statement "uVar18 = 0x29;" (assignment_expression "uVar18 = 0x29" identifier = number_literal) ;) }) (else_clause "else {\n      if ((bVar11 != 0x5b) || (cVar3 = *input_line_pointer, cVar3 == ']')) {\nLAB_000249c4:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000249c9;\n      }\n      uVar18 = 0x5d;\n    }" else (compound_statement "{\n      if ((bVar11 != 0x5b) || (cVar3 = *input_line_pointer, cVar3 == ']')) {\nLAB_000249c4:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000249c9;\n      }\n      uVar18 = 0x5d;\n    }" { (if_statement "if ((bVar11 != 0x5b) || (cVar3 = *input_line_pointer, cVar3 == ']')) {\nLAB_000249c4:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000249c9;\n      }" if (parenthesized_expression "((bVar11 != 0x5b) || (cVar3 = *input_line_pointer, cVar3 == ']'))" ( (binary_expression "(bVar11 != 0x5b) || (cVar3 = *input_line_pointer, cVar3 == ']')" (parenthesized_expression "(bVar11 != 0x5b)" ( (binary_expression "bVar11 != 0x5b" identifier != number_literal) )) || (parenthesized_expression "(cVar3 = *input_line_pointer, cVar3 == ']')" ( (comma_expression "cVar3 = *input_line_pointer, cVar3 == ']'" (assignment_expression "cVar3 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) , (binary_expression "cVar3 == ']'" identifier == (char_literal "']'" ' character '))) ))) )) (compound_statement "{\nLAB_000249c4:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000249c9;\n      }" { (labeled_statement "LAB_000249c4:\n        input_line_pointer = input_line_pointer + 1;" statement_identifier : (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;)) (goto_statement "goto LAB_000249c9;" goto statement_identifier ;) })) (expression_statement "uVar18 = 0x5d;" (assignment_expression "uVar18 = 0x5d" identifier = number_literal) ;) }))) (if_statement "if (cVar3 == '\0') {\n      pcVar8 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar8,uVar18);\n    }\n    else {\n      pcVar8 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar8,(int)cVar3,uVar18);\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar8 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar8,uVar18);\n    }" { (expression_statement "pcVar8 = (char *)dcgettext(0,"missing \'%c\'",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"missing \'%c\'",5)" identifier = (cast_expression "(char *)dcgettext(0,"missing \'%c\'",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"missing \'%c\'",5)" identifier (argument_list "(0,"missing \'%c\'",5)" ( number_literal , (string_literal ""missing \'%c\'"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar8,uVar18);" (call_expression "as_bad(pcVar8,uVar18)" identifier (argument_list "(pcVar8,uVar18)" ( identifier , identifier ))) ;) }) (else_clause "else {\n      pcVar8 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar8,(int)cVar3,uVar18);\n    }" else (compound_statement "{\n      pcVar8 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar8,(int)cVar3,uVar18);\n    }" { (expression_statement "pcVar8 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5)" identifier = (cast_expression "(char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"found \'%c\', expected: \'%c\'",5)" identifier (argument_list "(0,"found \'%c\', expected: \'%c\'",5)" ( number_literal , (string_literal ""found \'%c\', expected: \'%c\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar8,(int)cVar3,uVar18);" (call_expression "as_bad(pcVar8,(int)cVar3,uVar18)" identifier (argument_list "(pcVar8,(int)cVar3,uVar18)" ( identifier , (cast_expression "(int)cVar3" ( (type_descriptor "int" primitive_type) ) identifier) , identifier ))) ;) }))) (labeled_statement "LAB_000249c9:\n    if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar6;\n    }" statement_identifier : (if_statement "if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar6;\n    }" if (parenthesized_expression "(*input_line_pointer == ' ')" ( (binary_expression "*input_line_pointer == ' '" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "' '" ' character ')) )) (compound_statement "{\n      input_line_pointer = input_line_pointer + 1;\n      return paVar6;\n    }" { (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (return_statement "return paVar6;" return identifier ;) }))) (return_statement "return paVar6;" return identifier ;)) (case_statement "case 0xb:\n    goto _L357;" case number_literal : (goto_statement "goto _L357;" goto statement_identifier ;)) (case_statement "case 0xd:\n    if ((lex_type[pbVar16[1]] & 1) != 0) {\n      iVar10 = strncasecmp((char *)pbVar7,"startof.",8);\n      if (((iVar10 == 0) && ((lex_type[pbVar16[9]] & 1) == 0)) ||\n         ((iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7), iVar10 == 0 &&\n          ((lex_type[pbVar16[8]] & 1) == 0)))) {\n        bVar11 = pbVar16[2];\n        pbVar7 = pbVar7 + ((bVar11 & 0xdf) == 0x54) + 7;\n        if (*pbVar7 == 0x20) {\n          pbVar7 = pbVar7 + 1;\n        }\n        input_line_pointer = (char *)pbVar7;\n        expressionP->field_0xc = 1;\n        if (*pbVar7 == 0x28) {\n          input_line_pointer = (char *)(pbVar7 + 1);\n          if (pbVar7[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar7 + 2);\n          }\n          cVar3 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar8 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar8);\n            *input_line_pointer = cVar3;\n            if (cVar3 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }\n            ignore_rest_of_line();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar11 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          pcVar8 = (char *)concat(pcVar8,name,0);\n          psVar5 = symbol_make(pcVar8);\n          free(pcVar8);\n          expressionP->field_0xc = 3;\n          expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar5;\n          *input_line_pointer = cVar3;\n          cVar3 = *input_line_pointer;\n          if (cVar3 == '\"') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ' ') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_00024626;\n          }\n        }\n        pcVar8 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar8);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (now_seg == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) {\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = abs_section_offset;\n      goto LAB_00024626;\n    }\n    expressionP->field_0xc = 3;\n    expressionP->X_add_symbol = &dot_symbol;\n    break;" case number_literal : (if_statement "if ((lex_type[pbVar16[1]] & 1) != 0) {\n      iVar10 = strncasecmp((char *)pbVar7,"startof.",8);\n      if (((iVar10 == 0) && ((lex_type[pbVar16[9]] & 1) == 0)) ||\n         ((iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7), iVar10 == 0 &&\n          ((lex_type[pbVar16[8]] & 1) == 0)))) {\n        bVar11 = pbVar16[2];\n        pbVar7 = pbVar7 + ((bVar11 & 0xdf) == 0x54) + 7;\n        if (*pbVar7 == 0x20) {\n          pbVar7 = pbVar7 + 1;\n        }\n        input_line_pointer = (char *)pbVar7;\n        expressionP->field_0xc = 1;\n        if (*pbVar7 == 0x28) {\n          input_line_pointer = (char *)(pbVar7 + 1);\n          if (pbVar7[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar7 + 2);\n          }\n          cVar3 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar8 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar8);\n            *input_line_pointer = cVar3;\n            if (cVar3 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }\n            ignore_rest_of_line();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar11 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          pcVar8 = (char *)concat(pcVar8,name,0);\n          psVar5 = symbol_make(pcVar8);\n          free(pcVar8);\n          expressionP->field_0xc = 3;\n          expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar5;\n          *input_line_pointer = cVar3;\n          cVar3 = *input_line_pointer;\n          if (cVar3 == '\"') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ' ') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_00024626;\n          }\n        }\n        pcVar8 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar8);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }" if (parenthesized_expression "((lex_type[pbVar16[1]] & 1) != 0)" ( (binary_expression "(lex_type[pbVar16[1]] & 1) != 0" (parenthesized_expression "(lex_type[pbVar16[1]] & 1)" ( (binary_expression "lex_type[pbVar16[1]] & 1" (subscript_expression "lex_type[pbVar16[1]]" identifier [ (subscript_expression "pbVar16[1]" identifier [ number_literal ]) ]) & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar10 = strncasecmp((char *)pbVar7,"startof.",8);\n      if (((iVar10 == 0) && ((lex_type[pbVar16[9]] & 1) == 0)) ||\n         ((iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7), iVar10 == 0 &&\n          ((lex_type[pbVar16[8]] & 1) == 0)))) {\n        bVar11 = pbVar16[2];\n        pbVar7 = pbVar7 + ((bVar11 & 0xdf) == 0x54) + 7;\n        if (*pbVar7 == 0x20) {\n          pbVar7 = pbVar7 + 1;\n        }\n        input_line_pointer = (char *)pbVar7;\n        expressionP->field_0xc = 1;\n        if (*pbVar7 == 0x28) {\n          input_line_pointer = (char *)(pbVar7 + 1);\n          if (pbVar7[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar7 + 2);\n          }\n          cVar3 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar8 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar8);\n            *input_line_pointer = cVar3;\n            if (cVar3 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }\n            ignore_rest_of_line();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar11 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          pcVar8 = (char *)concat(pcVar8,name,0);\n          psVar5 = symbol_make(pcVar8);\n          free(pcVar8);\n          expressionP->field_0xc = 3;\n          expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar5;\n          *input_line_pointer = cVar3;\n          cVar3 = *input_line_pointer;\n          if (cVar3 == '\"') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ' ') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_00024626;\n          }\n        }\n        pcVar8 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar8);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }" { (expression_statement "iVar10 = strncasecmp((char *)pbVar7,"startof.",8);" (assignment_expression "iVar10 = strncasecmp((char *)pbVar7,"startof.",8)" identifier = (call_expression "strncasecmp((char *)pbVar7,"startof.",8)" identifier (argument_list "((char *)pbVar7,"startof.",8)" ( (cast_expression "(char *)pbVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""startof."" " string_content ") , number_literal )))) ;) (if_statement "if (((iVar10 == 0) && ((lex_type[pbVar16[9]] & 1) == 0)) ||\n         ((iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7), iVar10 == 0 &&\n          ((lex_type[pbVar16[8]] & 1) == 0)))) {\n        bVar11 = pbVar16[2];\n        pbVar7 = pbVar7 + ((bVar11 & 0xdf) == 0x54) + 7;\n        if (*pbVar7 == 0x20) {\n          pbVar7 = pbVar7 + 1;\n        }\n        input_line_pointer = (char *)pbVar7;\n        expressionP->field_0xc = 1;\n        if (*pbVar7 == 0x28) {\n          input_line_pointer = (char *)(pbVar7 + 1);\n          if (pbVar7[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar7 + 2);\n          }\n          cVar3 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar8 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar8);\n            *input_line_pointer = cVar3;\n            if (cVar3 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }\n            ignore_rest_of_line();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar11 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          pcVar8 = (char *)concat(pcVar8,name,0);\n          psVar5 = symbol_make(pcVar8);\n          free(pcVar8);\n          expressionP->field_0xc = 3;\n          expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar5;\n          *input_line_pointer = cVar3;\n          cVar3 = *input_line_pointer;\n          if (cVar3 == '\"') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ' ') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_00024626;\n          }\n        }\n        pcVar8 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar8);\n        goto LAB_00024626;\n      }" if (parenthesized_expression "(((iVar10 == 0) && ((lex_type[pbVar16[9]] & 1) == 0)) ||\n         ((iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7), iVar10 == 0 &&\n          ((lex_type[pbVar16[8]] & 1) == 0))))" ( (binary_expression "((iVar10 == 0) && ((lex_type[pbVar16[9]] & 1) == 0)) ||\n         ((iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7), iVar10 == 0 &&\n          ((lex_type[pbVar16[8]] & 1) == 0)))" (parenthesized_expression "((iVar10 == 0) && ((lex_type[pbVar16[9]] & 1) == 0))" ( (binary_expression "(iVar10 == 0) && ((lex_type[pbVar16[9]] & 1) == 0)" (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) && (parenthesized_expression "((lex_type[pbVar16[9]] & 1) == 0)" ( (binary_expression "(lex_type[pbVar16[9]] & 1) == 0" (parenthesized_expression "(lex_type[pbVar16[9]] & 1)" ( (binary_expression "lex_type[pbVar16[9]] & 1" (subscript_expression "lex_type[pbVar16[9]]" identifier [ (subscript_expression "pbVar16[9]" identifier [ number_literal ]) ]) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7), iVar10 == 0 &&\n          ((lex_type[pbVar16[8]] & 1) == 0)))" ( (parenthesized_expression "(iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7), iVar10 == 0 &&\n          ((lex_type[pbVar16[8]] & 1) == 0))" ( (comma_expression "iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7), iVar10 == 0 &&\n          ((lex_type[pbVar16[8]] & 1) == 0)" (assignment_expression "iVar10 = strncasecmp((char *)pbVar7,"sizeof.",7)" identifier = (call_expression "strncasecmp((char *)pbVar7,"sizeof.",7)" identifier (argument_list "((char *)pbVar7,"sizeof.",7)" ( (cast_expression "(char *)pbVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""sizeof."" " string_content ") , number_literal )))) , (binary_expression "iVar10 == 0 &&\n          ((lex_type[pbVar16[8]] & 1) == 0)" (binary_expression "iVar10 == 0" identifier == number_literal) && (parenthesized_expression "((lex_type[pbVar16[8]] & 1) == 0)" ( (binary_expression "(lex_type[pbVar16[8]] & 1) == 0" (parenthesized_expression "(lex_type[pbVar16[8]] & 1)" ( (binary_expression "lex_type[pbVar16[8]] & 1" (subscript_expression "lex_type[pbVar16[8]]" identifier [ (subscript_expression "pbVar16[8]" identifier [ number_literal ]) ]) & number_literal) )) == number_literal) )))) )) ))) )) (compound_statement "{\n        bVar11 = pbVar16[2];\n        pbVar7 = pbVar7 + ((bVar11 & 0xdf) == 0x54) + 7;\n        if (*pbVar7 == 0x20) {\n          pbVar7 = pbVar7 + 1;\n        }\n        input_line_pointer = (char *)pbVar7;\n        expressionP->field_0xc = 1;\n        if (*pbVar7 == 0x28) {\n          input_line_pointer = (char *)(pbVar7 + 1);\n          if (pbVar7[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar7 + 2);\n          }\n          cVar3 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar8 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar8);\n            *input_line_pointer = cVar3;\n            if (cVar3 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }\n            ignore_rest_of_line();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar11 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          pcVar8 = (char *)concat(pcVar8,name,0);\n          psVar5 = symbol_make(pcVar8);\n          free(pcVar8);\n          expressionP->field_0xc = 3;\n          expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar5;\n          *input_line_pointer = cVar3;\n          cVar3 = *input_line_pointer;\n          if (cVar3 == '\"') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ' ') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_00024626;\n          }\n        }\n        pcVar8 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar8);\n        goto LAB_00024626;\n      }" { (expression_statement "bVar11 = pbVar16[2];" (assignment_expression "bVar11 = pbVar16[2]" identifier = (subscript_expression "pbVar16[2]" identifier [ number_literal ])) ;) (expression_statement "pbVar7 = pbVar7 + ((bVar11 & 0xdf) == 0x54) + 7;" (assignment_expression "pbVar7 = pbVar7 + ((bVar11 & 0xdf) == 0x54) + 7" identifier = (binary_expression "pbVar7 + ((bVar11 & 0xdf) == 0x54) + 7" (binary_expression "pbVar7 + ((bVar11 & 0xdf) == 0x54)" identifier + (parenthesized_expression "((bVar11 & 0xdf) == 0x54)" ( (binary_expression "(bVar11 & 0xdf) == 0x54" (parenthesized_expression "(bVar11 & 0xdf)" ( (binary_expression "bVar11 & 0xdf" identifier & number_literal) )) == number_literal) ))) + number_literal)) ;) (if_statement "if (*pbVar7 == 0x20) {\n          pbVar7 = pbVar7 + 1;\n        }" if (parenthesized_expression "(*pbVar7 == 0x20)" ( (binary_expression "*pbVar7 == 0x20" (pointer_expression "*pbVar7" * identifier) == number_literal) )) (compound_statement "{\n          pbVar7 = pbVar7 + 1;\n        }" { (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) })) (expression_statement "input_line_pointer = (char *)pbVar7;" (assignment_expression "input_line_pointer = (char *)pbVar7" identifier = (cast_expression "(char *)pbVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "expressionP->field_0xc = 1;" (assignment_expression "expressionP->field_0xc = 1" (field_expression "expressionP->field_0xc" identifier -> field_identifier) = number_literal) ;) (if_statement "if (*pbVar7 == 0x28) {\n          input_line_pointer = (char *)(pbVar7 + 1);\n          if (pbVar7[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar7 + 2);\n          }\n          cVar3 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar8 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar8);\n            *input_line_pointer = cVar3;\n            if (cVar3 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }\n            ignore_rest_of_line();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar11 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          pcVar8 = (char *)concat(pcVar8,name,0);\n          psVar5 = symbol_make(pcVar8);\n          free(pcVar8);\n          expressionP->field_0xc = 3;\n          expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar5;\n          *input_line_pointer = cVar3;\n          cVar3 = *input_line_pointer;\n          if (cVar3 == '\"') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ' ') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_00024626;\n          }\n        }" if (parenthesized_expression "(*pbVar7 == 0x28)" ( (binary_expression "*pbVar7 == 0x28" (pointer_expression "*pbVar7" * identifier) == number_literal) )) (compound_statement "{\n          input_line_pointer = (char *)(pbVar7 + 1);\n          if (pbVar7[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar7 + 2);\n          }\n          cVar3 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar8 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar8);\n            *input_line_pointer = cVar3;\n            if (cVar3 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }\n            ignore_rest_of_line();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar11 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          pcVar8 = (char *)concat(pcVar8,name,0);\n          psVar5 = symbol_make(pcVar8);\n          free(pcVar8);\n          expressionP->field_0xc = 3;\n          expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar5;\n          *input_line_pointer = cVar3;\n          cVar3 = *input_line_pointer;\n          if (cVar3 == '\"') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ' ') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar3 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_00024626;\n          }\n        }" { (expression_statement "input_line_pointer = (char *)(pbVar7 + 1);" (assignment_expression "input_line_pointer = (char *)(pbVar7 + 1)" identifier = (cast_expression "(char *)(pbVar7 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar7 + 1)" ( (binary_expression "pbVar7 + 1" identifier + number_literal) )))) ;) (if_statement "if (pbVar7[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar7 + 2);\n          }" if (parenthesized_expression "(pbVar7[1] == 0x20)" ( (binary_expression "pbVar7[1] == 0x20" (subscript_expression "pbVar7[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            input_line_pointer = (char *)(pbVar7 + 2);\n          }" { (expression_statement "input_line_pointer = (char *)(pbVar7 + 2);" (assignment_expression "input_line_pointer = (char *)(pbVar7 + 2)" identifier = (cast_expression "(char *)(pbVar7 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar7 + 2)" ( (binary_expression "pbVar7 + 2" identifier + number_literal) )))) ;) })) (expression_statement "cVar3 = get_symbol_name(&name);" (assignment_expression "cVar3 = get_symbol_name(&name)" identifier = (call_expression "get_symbol_name(&name)" identifier (argument_list "(&name)" ( (pointer_expression "&name" & identifier) )))) ;) (if_statement "if (*name == '\0') {\n            pcVar8 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar8);\n            *input_line_pointer = cVar3;\n            if (cVar3 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }\n            ignore_rest_of_line();\n            goto LAB_00024626;\n          }" if (parenthesized_expression "(*name == '\0')" ( (binary_expression "*name == '\0'" (pointer_expression "*name" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pcVar8 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar8);\n            *input_line_pointer = cVar3;\n            if (cVar3 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }\n            ignore_rest_of_line();\n            goto LAB_00024626;\n          }" { (expression_statement "pcVar8 = (char *)dcgettext(0,"expected symbol name",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"expected symbol name",5)" identifier = (cast_expression "(char *)dcgettext(0,"expected symbol name",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"expected symbol name",5)" identifier (argument_list "(0,"expected symbol name",5)" ( number_literal , (string_literal ""expected symbol name"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar8);" (call_expression "as_bad(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier ))) ;) (expression_statement "*input_line_pointer = cVar3;" (assignment_expression "*input_line_pointer = cVar3" (pointer_expression "*input_line_pointer" * identifier) = identifier) ;) (if_statement "if (cVar3 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }" if (parenthesized_expression "(cVar3 == '\"')" ( (binary_expression "cVar3 == '\"'" identifier == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n              restore_line_pointer('\"');\n            }" { (expression_statement "restore_line_pointer('\"');" (call_expression "restore_line_pointer('\"')" identifier (argument_list "('\"')" ( (char_literal "'\"'" ' escape_sequence ') ))) ;) }) (else_clause "else if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }" else (if_statement "if (cVar3 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }" if (parenthesized_expression "(cVar3 == ')')" ( (binary_expression "cVar3 == ')'" identifier == (char_literal "')'" ' character ')) )) (compound_statement "{\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_00024626;\n            }" { (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })))) (expression_statement "ignore_rest_of_line();" (call_expression "ignore_rest_of_line()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (expression_statement "pcVar8 = ".startof.";" (assignment_expression "pcVar8 = ".startof."" identifier = (string_literal "".startof."" " string_content ")) ;) (if_statement "if ((bVar11 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }" if (parenthesized_expression "((bVar11 & 0xdf) != 0x54)" ( (binary_expression "(bVar11 & 0xdf) != 0x54" (parenthesized_expression "(bVar11 & 0xdf)" ( (binary_expression "bVar11 & 0xdf" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            pcVar8 = ".sizeof.";\n          }" { (expression_statement "pcVar8 = ".sizeof.";" (assignment_expression "pcVar8 = ".sizeof."" identifier = (string_literal "".sizeof."" " string_content ")) ;) })) (expression_statement "pcVar8 = (char *)concat(pcVar8,name,0);" (assignment_expression "pcVar8 = (char *)concat(pcVar8,name,0)" identifier = (cast_expression "(char *)concat(pcVar8,name,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(pcVar8,name,0)" identifier (argument_list "(pcVar8,name,0)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "psVar5 = symbol_make(pcVar8);" (assignment_expression "psVar5 = symbol_make(pcVar8)" identifier = (call_expression "symbol_make(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier )))) ;) (expression_statement "free(pcVar8);" (call_expression "free(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier ))) ;) (expression_statement "expressionP->field_0xc = 3;" (assignment_expression "expressionP->field_0xc = 3" (field_expression "expressionP->field_0xc" identifier -> field_identifier) = number_literal) ;) (expression_statement "expressionP->X_add_number = 0;" (assignment_expression "expressionP->X_add_number = 0" (field_expression "expressionP->X_add_number" identifier -> field_identifier) = number_literal) ;) (expression_statement "expressionP->X_add_symbol = psVar5;" (assignment_expression "expressionP->X_add_symbol = psVar5" (field_expression "expressionP->X_add_symbol" identifier -> field_identifier) = identifier) ;) (expression_statement "*input_line_pointer = cVar3;" (assignment_expression "*input_line_pointer = cVar3" (pointer_expression "*input_line_pointer" * identifier) = identifier) ;) (expression_statement "cVar3 = *input_line_pointer;" (assignment_expression "cVar3 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (if_statement "if (cVar3 == '\"') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }" if (parenthesized_expression "(cVar3 == '\"')" ( (binary_expression "cVar3 == '\"'" identifier == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }" { (expression_statement "cVar3 = input_line_pointer[1];" (assignment_expression "cVar3 = input_line_pointer[1]" identifier = (subscript_expression "input_line_pointer[1]" identifier [ number_literal ])) ;) (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) })) (if_statement "if (cVar3 == ' ') {\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }" if (parenthesized_expression "(cVar3 == ' ')" ( (binary_expression "cVar3 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n            cVar3 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }" { (expression_statement "cVar3 = input_line_pointer[1];" (assignment_expression "cVar3 = input_line_pointer[1]" identifier = (subscript_expression "input_line_pointer[1]" identifier [ number_literal ])) ;) (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) })) (if_statement "if (cVar3 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_00024626;\n          }" if (parenthesized_expression "(cVar3 == ')')" ( (binary_expression "cVar3 == ')'" identifier == (char_literal "')'" ' character ')) )) (compound_statement "{\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_00024626;\n          }" { (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) })) (expression_statement "pcVar8 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5)" identifier = (cast_expression "(char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"syntax error in .startof. or .sizeof.",5)" identifier (argument_list "(0,"syntax error in .startof. or .sizeof.",5)" ( number_literal , (string_literal ""syntax error in .startof. or .sizeof."" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar8);" (call_expression "as_bad(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier ))) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (goto_statement "goto LAB_00024ae0;" goto statement_identifier ;) })) (if_statement "if (now_seg == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) {\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = abs_section_offset;\n      goto LAB_00024626;\n    }" if (parenthesized_expression "(now_seg == (segT)(PTR__bfd_std_section_0007afb4 + 0x150))" ( (binary_expression "now_seg == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)" identifier == (call_expression "(segT)(PTR__bfd_std_section_0007afb4 + 0x150)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0007afb4 + 0x150)" ( (binary_expression "PTR__bfd_std_section_0007afb4 + 0x150" identifier + number_literal) )))) )) (compound_statement "{\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = abs_section_offset;\n      goto LAB_00024626;\n    }" { (expression_statement "expressionP->field_0xc = 2;" (assignment_expression "expressionP->field_0xc = 2" (field_expression "expressionP->field_0xc" identifier -> field_identifier) = number_literal) ;) (expression_statement "expressionP->X_add_number = abs_section_offset;" (assignment_expression "expressionP->X_add_number = abs_section_offset" (field_expression "expressionP->X_add_number" identifier -> field_identifier) = identifier) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (expression_statement "expressionP->field_0xc = 3;" (assignment_expression "expressionP->field_0xc = 3" (field_expression "expressionP->field_0xc" identifier -> field_identifier) = number_literal) ;) (expression_statement "expressionP->X_add_symbol = &dot_symbol;" (assignment_expression "expressionP->X_add_symbol = &dot_symbol" (field_expression "expressionP->X_add_symbol" identifier -> field_identifier) = (pointer_expression "&dot_symbol" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n    bVar11 = pbVar16[1];\n    switch((int)(char)bVar11 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      integer_constant(8,expressionP);\n      break;\n    default:\n      if (bVar11 != 0) goto LAB_00024c71;\n      goto LAB_00024c05;\n    case 0x12:\n      if ((byte)(pbVar16[2] - 0x30) < 2) {\nLAB_00024c50:\n        input_line_pointer = (char *)(pbVar16 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00024c71:\n      pcVar8 = strchr(PTR_FLT_CHARS_0007af58,(int)(char)bVar11);\n      if (pcVar8 != (char *)0x0) {\n        pbVar7 = pbVar16 + 2;\n        goto LAB_00024c22;\n      }\nLAB_00024c05:\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar7 = pbVar7 + 1;\nLAB_00024c22:\n      input_line_pointer = (char *)pbVar7;\n      floating_constant(expressionP);\n      expressionP->X_add_number = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar11];\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar16 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar16[2] - 0x30) < 2) goto LAB_00024c50;\n      goto _L379;\n    case 0x36:\n      if ((is_end_of_line[pbVar16[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        name = (char *)(pbVar16 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number);\n        if ((name != input_line_pointer + 1) &&\n           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00024c22;\n        pbVar16 = (byte *)(input_line_pointer + -1);\n      }\n_L379:\n      input_line_pointer = (char *)pbVar16;\n      integer_constant(10,expressionP);\n    }\n    goto LAB_00024626;" case number_literal : (expression_statement "bVar11 = pbVar16[1];" (assignment_expression "bVar11 = pbVar16[1]" identifier = (subscript_expression "pbVar16[1]" identifier [ number_literal ])) ;) (switch_statement "switch((int)(char)bVar11 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      integer_constant(8,expressionP);\n      break;\n    default:\n      if (bVar11 != 0) goto LAB_00024c71;\n      goto LAB_00024c05;\n    case 0x12:\n      if ((byte)(pbVar16[2] - 0x30) < 2) {\nLAB_00024c50:\n        input_line_pointer = (char *)(pbVar16 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00024c71:\n      pcVar8 = strchr(PTR_FLT_CHARS_0007af58,(int)(char)bVar11);\n      if (pcVar8 != (char *)0x0) {\n        pbVar7 = pbVar16 + 2;\n        goto LAB_00024c22;\n      }\nLAB_00024c05:\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar7 = pbVar7 + 1;\nLAB_00024c22:\n      input_line_pointer = (char *)pbVar7;\n      floating_constant(expressionP);\n      expressionP->X_add_number = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar11];\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar16 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar16[2] - 0x30) < 2) goto LAB_00024c50;\n      goto _L379;\n    case 0x36:\n      if ((is_end_of_line[pbVar16[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        name = (char *)(pbVar16 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number);\n        if ((name != input_line_pointer + 1) &&\n           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00024c22;\n        pbVar16 = (byte *)(input_line_pointer + -1);\n      }\n_L379:\n      input_line_pointer = (char *)pbVar16;\n      integer_constant(10,expressionP);\n    }" switch (parenthesized_expression "((int)(char)bVar11 - 0x30U & 0xff)" ( (binary_expression "(int)(char)bVar11 - 0x30U & 0xff" (binary_expression "(int)(char)bVar11 - 0x30U" (cast_expression "(int)(char)bVar11" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar11" ( (type_descriptor "char" primitive_type) ) identifier)) - number_literal) & number_literal) )) (compound_statement "{\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      integer_constant(8,expressionP);\n      break;\n    default:\n      if (bVar11 != 0) goto LAB_00024c71;\n      goto LAB_00024c05;\n    case 0x12:\n      if ((byte)(pbVar16[2] - 0x30) < 2) {\nLAB_00024c50:\n        input_line_pointer = (char *)(pbVar16 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00024c71:\n      pcVar8 = strchr(PTR_FLT_CHARS_0007af58,(int)(char)bVar11);\n      if (pcVar8 != (char *)0x0) {\n        pbVar7 = pbVar16 + 2;\n        goto LAB_00024c22;\n      }\nLAB_00024c05:\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar7 = pbVar7 + 1;\nLAB_00024c22:\n      input_line_pointer = (char *)pbVar7;\n      floating_constant(expressionP);\n      expressionP->X_add_number = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar11];\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar16 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar16[2] - 0x30) < 2) goto LAB_00024c50;\n      goto _L379;\n    case 0x36:\n      if ((is_end_of_line[pbVar16[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        name = (char *)(pbVar16 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number);\n        if ((name != input_line_pointer + 1) &&\n           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00024c22;\n        pbVar16 = (byte *)(input_line_pointer + -1);\n      }\n_L379:\n      input_line_pointer = (char *)pbVar16;\n      integer_constant(10,expressionP);\n    }" { (case_statement "case 0:" case number_literal :) (case_statement "case 1:" case number_literal :) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 4:" case number_literal :) (case_statement "case 5:" case number_literal :) (case_statement "case 6:" case number_literal :) (case_statement "case 7:\n      integer_constant(8,expressionP);\n      break;" case number_literal : (expression_statement "integer_constant(8,expressionP);" (call_expression "integer_constant(8,expressionP)" identifier (argument_list "(8,expressionP)" ( number_literal , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n      if (bVar11 != 0) goto LAB_00024c71;\n      goto LAB_00024c05;" default : (if_statement "if (bVar11 != 0) goto LAB_00024c71;" if (parenthesized_expression "(bVar11 != 0)" ( (binary_expression "bVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00024c71;" goto statement_identifier ;)) (goto_statement "goto LAB_00024c05;" goto statement_identifier ;)) (case_statement "case 0x12:\n      if ((byte)(pbVar16[2] - 0x30) < 2) {\nLAB_00024c50:\n        input_line_pointer = (char *)(pbVar16 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00024c71:\n      pcVar8 = strchr(PTR_FLT_CHARS_0007af58,(int)(char)bVar11);\n      if (pcVar8 != (char *)0x0) {\n        pbVar7 = pbVar16 + 2;\n        goto LAB_00024c22;\n      }\nLAB_00024c05:\n      expressionP->field_0xc = 2;\n      expressionP->X_add_number = 0;\n      break;" case number_literal : (if_statement "if ((byte)(pbVar16[2] - 0x30) < 2) {\nLAB_00024c50:\n        input_line_pointer = (char *)(pbVar16 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }" if (parenthesized_expression "((byte)(pbVar16[2] - 0x30) < 2)" ( (binary_expression "(byte)(pbVar16[2] - 0x30) < 2" (call_expression "(byte)(pbVar16[2] - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar16[2] - 0x30)" ( (binary_expression "pbVar16[2] - 0x30" (subscript_expression "pbVar16[2]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (compound_statement "{\nLAB_00024c50:\n        input_line_pointer = (char *)(pbVar16 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }" { (labeled_statement "LAB_00024c50:\n        input_line_pointer = (char *)(pbVar16 + 2);" statement_identifier : (expression_statement "input_line_pointer = (char *)(pbVar16 + 2);" (assignment_expression "input_line_pointer = (char *)(pbVar16 + 2)" identifier = (cast_expression "(char *)(pbVar16 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar16 + 2)" ( (binary_expression "pbVar16 + 2" identifier + number_literal) )))) ;)) (expression_statement "integer_constant(2,expressionP);" (call_expression "integer_constant(2,expressionP)" identifier (argument_list "(2,expressionP)" ( number_literal , identifier ))) ;) (break_statement "break;" break ;) })) (labeled_statement "LAB_00024c71:\n      pcVar8 = strchr(PTR_FLT_CHARS_0007af58,(int)(char)bVar11);" statement_identifier : (expression_statement "pcVar8 = strchr(PTR_FLT_CHARS_0007af58,(int)(char)bVar11);" (assignment_expression "pcVar8 = strchr(PTR_FLT_CHARS_0007af58,(int)(char)bVar11)" identifier = (call_expression "strchr(PTR_FLT_CHARS_0007af58,(int)(char)bVar11)" identifier (argument_list "(PTR_FLT_CHARS_0007af58,(int)(char)bVar11)" ( identifier , (cast_expression "(int)(char)bVar11" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar11" ( (type_descriptor "char" primitive_type) ) identifier)) )))) ;)) (if_statement "if (pcVar8 != (char *)0x0) {\n        pbVar7 = pbVar16 + 2;\n        goto LAB_00024c22;\n      }" if (parenthesized_expression "(pcVar8 != (char *)0x0)" ( (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pbVar7 = pbVar16 + 2;\n        goto LAB_00024c22;\n      }" { (expression_statement "pbVar7 = pbVar16 + 2;" (assignment_expression "pbVar7 = pbVar16 + 2" identifier = (binary_expression "pbVar16 + 2" identifier + number_literal)) ;) (goto_statement "goto LAB_00024c22;" goto statement_identifier ;) })) (labeled_statement "LAB_00024c05:\n      expressionP->field_0xc = 2;" statement_identifier : (expression_statement "expressionP->field_0xc = 2;" (assignment_expression "expressionP->field_0xc = 2" (field_expression "expressionP->field_0xc" identifier -> field_identifier) = number_literal) ;)) (expression_statement "expressionP->X_add_number = 0;" (assignment_expression "expressionP->X_add_number = 0" (field_expression "expressionP->X_add_number" identifier -> field_identifier) = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x15:" case number_literal :) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x34:" case number_literal :) (case_statement "case 0x35:" case number_literal :) (case_statement "case 0x37:" case number_literal :) (case_statement "case 0x42:\n      pbVar7 = pbVar7 + 1;\nLAB_00024c22:\n      input_line_pointer = (char *)pbVar7;\n      floating_constant(expressionP);\n      expressionP->X_add_number = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar11];\n      break;" case number_literal : (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (labeled_statement "LAB_00024c22:\n      input_line_pointer = (char *)pbVar7;" statement_identifier : (expression_statement "input_line_pointer = (char *)pbVar7;" (assignment_expression "input_line_pointer = (char *)pbVar7" identifier = (cast_expression "(char *)pbVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "floating_constant(expressionP);" (call_expression "floating_constant(expressionP)" identifier (argument_list "(expressionP)" ( identifier ))) ;) (expression_statement "expressionP->X_add_number = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar11];" (assignment_expression "expressionP->X_add_number = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar11]" (field_expression "expressionP->X_add_number" identifier -> field_identifier) = (unary_expression "-(uint)(byte)PTR__sch_tolower_0007afcc[bVar11]" - (cast_expression "(uint)(byte)PTR__sch_tolower_0007afcc[bVar11]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR__sch_tolower_0007afcc[bVar11]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR__sch_tolower_0007afcc[bVar11]" identifier [ identifier ]))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x28:" case number_literal :) (case_statement "case 0x48:\n      input_line_pointer = (char *)(pbVar16 + 2);\n      integer_constant(0x10,expressionP);\n      break;" case number_literal : (expression_statement "input_line_pointer = (char *)(pbVar16 + 2);" (assignment_expression "input_line_pointer = (char *)(pbVar16 + 2)" identifier = (cast_expression "(char *)(pbVar16 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar16 + 2)" ( (binary_expression "pbVar16 + 2" identifier + number_literal) )))) ;) (expression_statement "integer_constant(0x10,expressionP);" (call_expression "integer_constant(0x10,expressionP)" identifier (argument_list "(0x10,expressionP)" ( number_literal , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x32:\n      if ((byte)(pbVar16[2] - 0x30) < 2) goto LAB_00024c50;\n      goto _L379;" case number_literal : (if_statement "if ((byte)(pbVar16[2] - 0x30) < 2) goto LAB_00024c50;" if (parenthesized_expression "((byte)(pbVar16[2] - 0x30) < 2)" ( (binary_expression "(byte)(pbVar16[2] - 0x30) < 2" (call_expression "(byte)(pbVar16[2] - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar16[2] - 0x30)" ( (binary_expression "pbVar16[2] - 0x30" (subscript_expression "pbVar16[2]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (goto_statement "goto LAB_00024c50;" goto statement_identifier ;)) (goto_statement "goto _L379;" goto statement_identifier ;)) (case_statement "case 0x36:\n      if ((is_end_of_line[pbVar16[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        name = (char *)(pbVar16 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number);\n        if ((name != input_line_pointer + 1) &&\n           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00024c22;\n        pbVar16 = (byte *)(input_line_pointer + -1);\n      }\n_L379:\n      input_line_pointer = (char *)pbVar16;\n      integer_constant(10,expressionP);" case number_literal : (if_statement "if ((is_end_of_line[pbVar16[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        name = (char *)(pbVar16 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number);\n        if ((name != input_line_pointer + 1) &&\n           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00024c22;\n        pbVar16 = (byte *)(input_line_pointer + -1);\n      }" if (parenthesized_expression "((is_end_of_line[pbVar16[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66), pcVar8 != (char *)0x0))" ( (binary_expression "(is_end_of_line[pbVar16[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66), pcVar8 != (char *)0x0)" (parenthesized_expression "(is_end_of_line[pbVar16[2]] == '\0')" ( (binary_expression "is_end_of_line[pbVar16[2]] == '\0'" (subscript_expression "is_end_of_line[pbVar16[2]]" identifier [ (subscript_expression "pbVar16[2]" identifier [ number_literal ]) ]) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66), pcVar8 != (char *)0x0)" ( (comma_expression "pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66), pcVar8 != (char *)0x0" (assignment_expression "pcVar8 = strchr(PTR_FLT_CHARS_0007af58,0x66)" identifier = (call_expression "strchr(PTR_FLT_CHARS_0007af58,0x66)" identifier (argument_list "(PTR_FLT_CHARS_0007af58,0x66)" ( identifier , number_literal )))) , (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        name = (char *)(pbVar16 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number);\n        if ((name != input_line_pointer + 1) &&\n           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00024c22;\n        pbVar16 = (byte *)(input_line_pointer + -1);\n      }" { (expression_statement "name = (char *)(pbVar16 + 2);" (assignment_expression "name = (char *)(pbVar16 + 2)" identifier = (cast_expression "(char *)(pbVar16 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar16 + 2)" ( (binary_expression "pbVar16 + 2" identifier + number_literal) )))) ;) (expression_statement "atof_generic(&name,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number);" (call_expression "atof_generic(&name,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number)" identifier (argument_list "(&name,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number)" ( (pointer_expression "&name" & identifier) , (string_literal ""."" " string_content ") , identifier , (pointer_expression "&generic_floating_point_number" & identifier) ))) ;) (if_statement "if ((name != input_line_pointer + 1) &&\n           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00024c22;" if (parenthesized_expression "((name != input_line_pointer + 1) &&\n           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b'))))" ( (binary_expression "(name != input_line_pointer + 1) &&\n           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')))" (parenthesized_expression "(name != input_line_pointer + 1)" ( (binary_expression "name != input_line_pointer + 1" identifier != (binary_expression "input_line_pointer + 1" identifier + number_literal)) )) && (parenthesized_expression "((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')))" ( (parenthesized_expression "(((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b'))" ( (binary_expression "((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')" (parenthesized_expression "((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             )" ( (binary_expression "(name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')" (parenthesized_expression "(name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0))" ( (binary_expression "name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)" (binary_expression "name != input_line_pointer + 2" identifier != (binary_expression "input_line_pointer + 2" identifier + number_literal)) || (parenthesized_expression "((name[-1] - 0x2bU & 0xfd) != 0)" ( (binary_expression "(name[-1] - 0x2bU & 0xfd) != 0" (parenthesized_expression "(name[-1] - 0x2bU & 0xfd)" ( (binary_expression "name[-1] - 0x2bU & 0xfd" (binary_expression "name[-1] - 0x2bU" (subscript_expression "name[-1]" identifier [ number_literal ]) - number_literal) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "(*name != 'f')" ( (binary_expression "*name != 'f'" (pointer_expression "*name" * identifier) != (char_literal "'f'" ' character ')) ))) )) && (parenthesized_expression "(pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b')" ( (comma_expression "pbVar7 = (byte *)(input_line_pointer + 1), *name != 'b'" (assignment_expression "pbVar7 = (byte *)(input_line_pointer + 1)" identifier = (cast_expression "(byte *)(input_line_pointer + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(input_line_pointer + 1)" ( (binary_expression "input_line_pointer + 1" identifier + number_literal) )))) , (binary_expression "*name != 'b'" (pointer_expression "*name" * identifier) != (char_literal "'b'" ' character '))) ))) )) ))) )) (goto_statement "goto LAB_00024c22;" goto statement_identifier ;)) (expression_statement "pbVar16 = (byte *)(input_line_pointer + -1);" (assignment_expression "pbVar16 = (byte *)(input_line_pointer + -1)" identifier = (cast_expression "(byte *)(input_line_pointer + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(input_line_pointer + -1)" ( (binary_expression "input_line_pointer + -1" identifier + number_literal) )))) ;) })) (labeled_statement "_L379:\n      input_line_pointer = (char *)pbVar16;" statement_identifier : (expression_statement "input_line_pointer = (char *)pbVar16;" (assignment_expression "input_line_pointer = (char *)pbVar16" identifier = (cast_expression "(char *)pbVar16" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "integer_constant(10,expressionP);" (call_expression "integer_constant(10,expressionP)" identifier (argument_list "(10,expressionP)" ( number_literal , identifier ))) ;)) })) (goto_statement "goto LAB_00024626;" goto statement_identifier ;)) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x11:" case number_literal :) (case_statement "case 0x12:" case number_literal :) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x15:" case number_literal :) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x18:\n    goto _L379;" case number_literal : (goto_statement "goto _L379;" goto statement_identifier ;)) (case_statement "case 0x5d:\n    if ((lex_type[uVar4] & 2) == 0) {\n      operand(expressionP,mode);\n      bVar2 = expressionP->field_0xc;\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          oVar17 = expressionP->X_add_number;\n          bVar19 = false;\n          goto LAB_00024921;\n        }\n        goto LAB_00024a16;\n      }\n      goto LAB_00024d54;\n    }\nLAB_00024ae0:\n    input_line_pointer = (char *)pbVar16;\n    cVar3 = get_symbol_name(&name);\n    psVar5 = symbol_find_or_make(name);\n    paVar6 = S_GET_SEGMENT(psVar5);\n    if (mode == expr_defer) {\nLAB_00024b38:\n      expressionP->field_0xc = 3;\n      expressionP->X_add_symbol = psVar5;\n      expressionP->X_add_number = 0;\n    }\n    else {\n      if ((paVar6 == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) &&\n         (iVar10 = S_FORCE_RELOC(psVar5,0), iVar10 == 0)) {\n        expressionP->field_0xc = 2;\n      }\n      else {\n        if (reg_section != paVar6) goto LAB_00024b38;\n        expressionP->field_0xc = 5;\n      }\n      vVar9 = S_GET_VALUE(psVar5);\n      expressionP->X_add_number = vVar9;\n    }\n    *input_line_pointer = cVar3;\n    if (cVar3 == '\"') {\n      restore_line_pointer('\"');\n    }\n    goto LAB_00024626;" case number_literal : (if_statement "if ((lex_type[uVar4] & 2) == 0) {\n      operand(expressionP,mode);\n      bVar2 = expressionP->field_0xc;\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          oVar17 = expressionP->X_add_number;\n          bVar19 = false;\n          goto LAB_00024921;\n        }\n        goto LAB_00024a16;\n      }\n      goto LAB_00024d54;\n    }" if (parenthesized_expression "((lex_type[uVar4] & 2) == 0)" ( (binary_expression "(lex_type[uVar4] & 2) == 0" (parenthesized_expression "(lex_type[uVar4] & 2)" ( (binary_expression "lex_type[uVar4] & 2" (subscript_expression "lex_type[uVar4]" identifier [ identifier ]) & number_literal) )) == number_literal) )) (compound_statement "{\n      operand(expressionP,mode);\n      bVar2 = expressionP->field_0xc;\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          oVar17 = expressionP->X_add_number;\n          bVar19 = false;\n          goto LAB_00024921;\n        }\n        goto LAB_00024a16;\n      }\n      goto LAB_00024d54;\n    }" { (expression_statement "operand(expressionP,mode);" (call_expression "operand(expressionP,mode)" identifier (argument_list "(expressionP,mode)" ( identifier , identifier ))) ;) (expression_statement "bVar2 = expressionP->field_0xc;" (assignment_expression "bVar2 = expressionP->field_0xc" identifier = (field_expression "expressionP->field_0xc" identifier -> field_identifier)) ;) (if_statement "if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          oVar17 = expressionP->X_add_number;\n          bVar19 = false;\n          goto LAB_00024921;\n        }\n        goto LAB_00024a16;\n      }" if (parenthesized_expression "(bVar2 != 2)" ( (binary_expression "bVar2 != 2" identifier != number_literal) )) (compound_statement "{\n        if (bVar2 == 6) {\n          oVar17 = expressionP->X_add_number;\n          bVar19 = false;\n          goto LAB_00024921;\n        }\n        goto LAB_00024a16;\n      }" { (if_statement "if (bVar2 == 6) {\n          oVar17 = expressionP->X_add_number;\n          bVar19 = false;\n          goto LAB_00024921;\n        }" if (parenthesized_expression "(bVar2 == 6)" ( (binary_expression "bVar2 == 6" identifier == number_literal) )) (compound_statement "{\n          oVar17 = expressionP->X_add_number;\n          bVar19 = false;\n          goto LAB_00024921;\n        }" { (expression_statement "oVar17 = expressionP->X_add_number;" (assignment_expression "oVar17 = expressionP->X_add_number" identifier = (field_expression "expressionP->X_add_number" identifier -> field_identifier)) ;) (expression_statement "bVar19 = false;" (assignment_expression "bVar19 = false" identifier = false) ;) (goto_statement "goto LAB_00024921;" goto statement_identifier ;) })) (goto_statement "goto LAB_00024a16;" goto statement_identifier ;) })) (goto_statement "goto LAB_00024d54;" goto statement_identifier ;) })) (labeled_statement "LAB_00024ae0:\n    input_line_pointer = (char *)pbVar16;" statement_identifier : (expression_statement "input_line_pointer = (char *)pbVar16;" (assignment_expression "input_line_pointer = (char *)pbVar16" identifier = (cast_expression "(char *)pbVar16" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "cVar3 = get_symbol_name(&name);" (assignment_expression "cVar3 = get_symbol_name(&name)" identifier = (call_expression "get_symbol_name(&name)" identifier (argument_list "(&name)" ( (pointer_expression "&name" & identifier) )))) ;) (expression_statement "psVar5 = symbol_find_or_make(name);" (assignment_expression "psVar5 = symbol_find_or_make(name)" identifier = (call_expression "symbol_find_or_make(name)" identifier (argument_list "(name)" ( identifier )))) ;) (expression_statement "paVar6 = S_GET_SEGMENT(psVar5);" (assignment_expression "paVar6 = S_GET_SEGMENT(psVar5)" identifier = (call_expression "S_GET_SEGMENT(psVar5)" identifier (argument_list "(psVar5)" ( identifier )))) ;) (if_statement "if (mode == expr_defer) {\nLAB_00024b38:\n      expressionP->field_0xc = 3;\n      expressionP->X_add_symbol = psVar5;\n      expressionP->X_add_number = 0;\n    }\n    else {\n      if ((paVar6 == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) &&\n         (iVar10 = S_FORCE_RELOC(psVar5,0), iVar10 == 0)) {\n        expressionP->field_0xc = 2;\n      }\n      else {\n        if (reg_section != paVar6) goto LAB_00024b38;\n        expressionP->field_0xc = 5;\n      }\n      vVar9 = S_GET_VALUE(psVar5);\n      expressionP->X_add_number = vVar9;\n    }" if (parenthesized_expression "(mode == expr_defer)" ( (binary_expression "mode == expr_defer" identifier == identifier) )) (compound_statement "{\nLAB_00024b38:\n      expressionP->field_0xc = 3;\n      expressionP->X_add_symbol = psVar5;\n      expressionP->X_add_number = 0;\n    }" { (labeled_statement "LAB_00024b38:\n      expressionP->field_0xc = 3;" statement_identifier : (expression_statement "expressionP->field_0xc = 3;" (assignment_expression "expressionP->field_0xc = 3" (field_expression "expressionP->field_0xc" identifier -> field_identifier) = number_literal) ;)) (expression_statement "expressionP->X_add_symbol = psVar5;" (assignment_expression "expressionP->X_add_symbol = psVar5" (field_expression "expressionP->X_add_symbol" identifier -> field_identifier) = identifier) ;) (expression_statement "expressionP->X_add_number = 0;" (assignment_expression "expressionP->X_add_number = 0" (field_expression "expressionP->X_add_number" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else {\n      if ((paVar6 == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) &&\n         (iVar10 = S_FORCE_RELOC(psVar5,0), iVar10 == 0)) {\n        expressionP->field_0xc = 2;\n      }\n      else {\n        if (reg_section != paVar6) goto LAB_00024b38;\n        expressionP->field_0xc = 5;\n      }\n      vVar9 = S_GET_VALUE(psVar5);\n      expressionP->X_add_number = vVar9;\n    }" else (compound_statement "{\n      if ((paVar6 == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) &&\n         (iVar10 = S_FORCE_RELOC(psVar5,0), iVar10 == 0)) {\n        expressionP->field_0xc = 2;\n      }\n      else {\n        if (reg_section != paVar6) goto LAB_00024b38;\n        expressionP->field_0xc = 5;\n      }\n      vVar9 = S_GET_VALUE(psVar5);\n      expressionP->X_add_number = vVar9;\n    }" { (if_statement "if ((paVar6 == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) &&\n         (iVar10 = S_FORCE_RELOC(psVar5,0), iVar10 == 0)) {\n        expressionP->field_0xc = 2;\n      }\n      else {\n        if (reg_section != paVar6) goto LAB_00024b38;\n        expressionP->field_0xc = 5;\n      }" if (parenthesized_expression "((paVar6 == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) &&\n         (iVar10 = S_FORCE_RELOC(psVar5,0), iVar10 == 0))" ( (binary_expression "(paVar6 == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)) &&\n         (iVar10 = S_FORCE_RELOC(psVar5,0), iVar10 == 0)" (parenthesized_expression "(paVar6 == (segT)(PTR__bfd_std_section_0007afb4 + 0x150))" ( (binary_expression "paVar6 == (segT)(PTR__bfd_std_section_0007afb4 + 0x150)" identifier == (call_expression "(segT)(PTR__bfd_std_section_0007afb4 + 0x150)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0007afb4 + 0x150)" ( (binary_expression "PTR__bfd_std_section_0007afb4 + 0x150" identifier + number_literal) )))) )) && (parenthesized_expression "(iVar10 = S_FORCE_RELOC(psVar5,0), iVar10 == 0)" ( (comma_expression "iVar10 = S_FORCE_RELOC(psVar5,0), iVar10 == 0" (assignment_expression "iVar10 = S_FORCE_RELOC(psVar5,0)" identifier = (call_expression "S_FORCE_RELOC(psVar5,0)" identifier (argument_list "(psVar5,0)" ( identifier , number_literal )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        expressionP->field_0xc = 2;\n      }" { (expression_statement "expressionP->field_0xc = 2;" (assignment_expression "expressionP->field_0xc = 2" (field_expression "expressionP->field_0xc" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else {\n        if (reg_section != paVar6) goto LAB_00024b38;\n        expressionP->field_0xc = 5;\n      }" else (compound_statement "{\n        if (reg_section != paVar6) goto LAB_00024b38;\n        expressionP->field_0xc = 5;\n      }" { (if_statement "if (reg_section != paVar6) goto LAB_00024b38;" if (parenthesized_expression "(reg_section != paVar6)" ( (binary_expression "reg_section != paVar6" identifier != identifier) )) (goto_statement "goto LAB_00024b38;" goto statement_identifier ;)) (expression_statement "expressionP->field_0xc = 5;" (assignment_expression "expressionP->field_0xc = 5" (field_expression "expressionP->field_0xc" identifier -> field_identifier) = number_literal) ;) }))) (expression_statement "vVar9 = S_GET_VALUE(psVar5);" (assignment_expression "vVar9 = S_GET_VALUE(psVar5)" identifier = (call_expression "S_GET_VALUE(psVar5)" identifier (argument_list "(psVar5)" ( identifier )))) ;) (expression_statement "expressionP->X_add_number = vVar9;" (assignment_expression "expressionP->X_add_number = vVar9" (field_expression "expressionP->X_add_number" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "*input_line_pointer = cVar3;" (assignment_expression "*input_line_pointer = cVar3" (pointer_expression "*input_line_pointer" * identifier) = identifier) ;) (if_statement "if (cVar3 == '\"') {\n      restore_line_pointer('\"');\n    }" if (parenthesized_expression "(cVar3 == '\"')" ( (binary_expression "cVar3 == '\"'" identifier == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n      restore_line_pointer('\"');\n    }" { (expression_statement "restore_line_pointer('\"');" (call_expression "restore_line_pointer('\"')" identifier (argument_list "('\"')" ( (char_literal "'\"'" ' escape_sequence ') ))) ;) })) (goto_statement "goto LAB_00024626;" goto statement_identifier ;)) })) (expression_statement "expressionP->X_add_number = 0;" (assignment_expression "expressionP->X_add_number = 0" (field_expression "expressionP->X_add_number" identifier -> field_identifier) = number_literal) ;) (labeled_statement "LAB_00024626:\n  clean_up_expression(expressionP);" statement_identifier : (expression_statement "clean_up_expression(expressionP);" (call_expression "clean_up_expression(expressionP)" identifier (argument_list "(expressionP)" ( identifier ))) ;)) (expression_statement "cVar3 = *input_line_pointer;" (assignment_expression "cVar3 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (while_statement "while (cVar3 == ' ') {\n    input_line_pointer = input_line_pointer + 1;\n    cVar3 = *input_line_pointer;\n  }" while (parenthesized_expression "(cVar3 == ' ')" ( (binary_expression "cVar3 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n    input_line_pointer = input_line_pointer + 1;\n    cVar3 = *input_line_pointer;\n  }" { (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = *input_line_pointer;" (assignment_expression "cVar3 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) })) (if_statement "if (expressionP->X_add_symbol != (symbolS *)0x0) {\n    symbol_mark_used(expressionP->X_add_symbol);\n  }" if (parenthesized_expression "(expressionP->X_add_symbol != (symbolS *)0x0)" ( (binary_expression "expressionP->X_add_symbol != (symbolS *)0x0" (field_expression "expressionP->X_add_symbol" identifier -> field_identifier) != (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    symbol_mark_used(expressionP->X_add_symbol);\n  }" { (expression_statement "symbol_mark_used(expressionP->X_add_symbol);" (call_expression "symbol_mark_used(expressionP->X_add_symbol)" identifier (argument_list "(expressionP->X_add_symbol)" ( (field_expression "expressionP->X_add_symbol" identifier -> field_identifier) ))) ;) })) (if_statement "if (mode != expr_defer) {\n    psVar5 = symbol_clone_if_forward_ref(expressionP->X_add_symbol,0);\n    expressionP->X_add_symbol = psVar5;\n    psVar5 = symbol_clone_if_forward_ref(expressionP->X_op_symbol,0);\n    expressionP->X_op_symbol = psVar5;\n  }" if (parenthesized_expression "(mode != expr_defer)" ( (binary_expression "mode != expr_defer" identifier != identifier) )) (compound_statement "{\n    psVar5 = symbol_clone_if_forward_ref(expressionP->X_add_symbol,0);\n    expressionP->X_add_symbol = psVar5;\n    psVar5 = symbol_clone_if_forward_ref(expressionP->X_op_symbol,0);\n    expressionP->X_op_symbol = psVar5;\n  }" { (expression_statement "psVar5 = symbol_clone_if_forward_ref(expressionP->X_add_symbol,0);" (assignment_expression "psVar5 = symbol_clone_if_forward_ref(expressionP->X_add_symbol,0)" identifier = (call_expression "symbol_clone_if_forward_ref(expressionP->X_add_symbol,0)" identifier (argument_list "(expressionP->X_add_symbol,0)" ( (field_expression "expressionP->X_add_symbol" identifier -> field_identifier) , number_literal )))) ;) (expression_statement "expressionP->X_add_symbol = psVar5;" (assignment_expression "expressionP->X_add_symbol = psVar5" (field_expression "expressionP->X_add_symbol" identifier -> field_identifier) = identifier) ;) (expression_statement "psVar5 = symbol_clone_if_forward_ref(expressionP->X_op_symbol,0);" (assignment_expression "psVar5 = symbol_clone_if_forward_ref(expressionP->X_op_symbol,0)" identifier = (call_expression "symbol_clone_if_forward_ref(expressionP->X_op_symbol,0)" identifier (argument_list "(expressionP->X_op_symbol,0)" ( (field_expression "expressionP->X_op_symbol" identifier -> field_identifier) , number_literal )))) ;) (expression_statement "expressionP->X_op_symbol = psVar5;" (assignment_expression "expressionP->X_op_symbol = psVar5" (field_expression "expressionP->X_op_symbol" identifier -> field_identifier) = identifier) ;) })) (if_statement "if (expressionP->field_0xc == '\x03') {\n    paVar6 = S_GET_SEGMENT(expressionP->X_add_symbol);\n    return paVar6;\n  }" if (parenthesized_expression "(expressionP->field_0xc == '\x03')" ( (binary_expression "expressionP->field_0xc == '\x03'" (field_expression "expressionP->field_0xc" identifier -> field_identifier) == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n    paVar6 = S_GET_SEGMENT(expressionP->X_add_symbol);\n    return paVar6;\n  }" { (expression_statement "paVar6 = S_GET_SEGMENT(expressionP->X_add_symbol);" (assignment_expression "paVar6 = S_GET_SEGMENT(expressionP->X_add_symbol)" identifier = (call_expression "S_GET_SEGMENT(expressionP->X_add_symbol)" identifier (argument_list "(expressionP->X_add_symbol)" ( (field_expression "expressionP->X_add_symbol" identifier -> field_identifier) )))) ;) (return_statement "return paVar6;" return identifier ;) })) (if_statement "if (expressionP->field_0xc != '\x05') {\n    return (segT)(PTR__bfd_std_section_0007afb4 + 0x150);\n  }" if (parenthesized_expression "(expressionP->field_0xc != '\x05')" ( (binary_expression "expressionP->field_0xc != '\x05'" (field_expression "expressionP->field_0xc" identifier -> field_identifier) != (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n    return (segT)(PTR__bfd_std_section_0007afb4 + 0x150);\n  }" { (return_statement "return (segT)(PTR__bfd_std_section_0007afb4 + 0x150);" return (call_expression "(segT)(PTR__bfd_std_section_0007afb4 + 0x150)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0007afb4 + 0x150)" ( (binary_expression "PTR__bfd_std_section_0007afb4 + 0x150" identifier + number_literal) ))) ;) })) (return_statement "return reg_section;" return identifier ;) })))
(translation_unit "undefined * __regparm3 FUN_000245a0(int *param_1,int param_2)\n\n{\n  short *psVar1;\n  byte bVar2;\n  byte bVar3;\n  uint uVar4;\n  int iVar5;\n  undefined *puVar6;\n  void *__ptr;\n  undefined4 uVar7;\n  char *pcVar8;\n  undefined4 uVar9;\n  int iVar10;\n  ushort *puVar11;\n  undefined2 *puVar12;\n  undefined2 *puVar13;\n  byte *pbVar14;\n  bool bVar15;\n  byte *local_3c;\n  byte *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x245ab;\n  *(byte *)((int)param_1 + 0xd) = *(byte *)((int)param_1 + 0xd) & 0xfc | 1;\n  pbVar14 = DAT_00083ef0;\n  local_3c = DAT_00083ef0 + 1;\n  if (*DAT_00083ef0 == 0x20) {\n    local_3c = DAT_00083ef0 + 2;\n    pbVar14 = DAT_00083ef0 + 1;\n  }\n  DAT_00083ef0 = local_3c;\n  bVar3 = *pbVar14;\n  uVar4 = (uint)bVar3;\n  if ((&DAT_0007b2c0)[uVar4] != '\0') {\nLAB_00024620:\n    *(undefined1 *)(param_1 + 3) = 1;\n    DAT_00083ef0 = pbVar14;\n    goto LAB_00024626;\n  }\n  switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    FUN_000245a0();\n    bVar2 = *(byte *)(param_1 + 3);\n    if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }\n    iVar5 = FUN_000238a0(param_1);\n    *param_1 = iVar5;\n    if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    DAT_00083ef0 = pbVar14 + 2;\n    *(undefined1 *)(param_1 + 3) = 2;\n    param_1[2] = (int)(char)pbVar14[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_00024620;\n  case 0xd:\n    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }\n    *(undefined1 *)(param_1 + 3) = 3;\n    *param_1 = (int)&DAT_00083fe0;\n    break;\n  case 0xf:\n    bVar3 = pbVar14[1];\n    switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto code_r0x00024770;\n  case 0x5d:\n    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }\nLAB_00024ae0:\n    DAT_00083ef0 = pbVar14;\n    bVar3 = FUN_00024470(local_20);\n    iVar5 = FUN_0003b230(local_20[0]);\n    puVar6 = (undefined *)FUN_00039580(iVar5);\n    if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }\n    *DAT_00083ef0 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_00023880();\n    }\n    goto LAB_00024626;\n  }\n  param_1[2] = 0;\nLAB_00024626:\n  FUN_000230d0();\n  bVar3 = *DAT_00083ef0;\n  while (bVar3 == 0x20) {\n    DAT_00083ef0 = DAT_00083ef0 + 1;\n    bVar3 = *DAT_00083ef0;\n  }\n  if (*param_1 != 0) {\n    FUN_0003c080(*param_1);\n  }\n  if (param_2 != 2) {\n    iVar5 = FUN_0003b8d0(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_0003b8d0(param_1[1],0);\n    param_1[1] = iVar5;\n  }\n  if ((char)param_1[3] == '\x03') {\n    puVar6 = (undefined *)FUN_00039580(*param_1);\n    return puVar6;\n  }\n  if ((char)param_1[3] != '\x05') {\n    return PTR__bfd_std_section_0007afb4 + 0x150;\n  }\n  return DAT_00083dbc;\n}\n\n" (ERROR "undefined * __regparm3 FUN_000245a0(int *param_1,int param_2)" (binary_expression "undefined * __regparm3 FUN_000245a0(int *param_1,int param_2)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_000245a0(int *param_1,int param_2)" identifier (argument_list "(int *param_1,int param_2)" ( (binary_expression "int *param_1" identifier * identifier) , (ERROR "int" identifier) identifier ))))) (compound_statement "{\n  short *psVar1;\n  byte bVar2;\n  byte bVar3;\n  uint uVar4;\n  int iVar5;\n  undefined *puVar6;\n  void *__ptr;\n  undefined4 uVar7;\n  char *pcVar8;\n  undefined4 uVar9;\n  int iVar10;\n  ushort *puVar11;\n  undefined2 *puVar12;\n  undefined2 *puVar13;\n  byte *pbVar14;\n  bool bVar15;\n  byte *local_3c;\n  byte *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x245ab;\n  *(byte *)((int)param_1 + 0xd) = *(byte *)((int)param_1 + 0xd) & 0xfc | 1;\n  pbVar14 = DAT_00083ef0;\n  local_3c = DAT_00083ef0 + 1;\n  if (*DAT_00083ef0 == 0x20) {\n    local_3c = DAT_00083ef0 + 2;\n    pbVar14 = DAT_00083ef0 + 1;\n  }\n  DAT_00083ef0 = local_3c;\n  bVar3 = *pbVar14;\n  uVar4 = (uint)bVar3;\n  if ((&DAT_0007b2c0)[uVar4] != '\0') {\nLAB_00024620:\n    *(undefined1 *)(param_1 + 3) = 1;\n    DAT_00083ef0 = pbVar14;\n    goto LAB_00024626;\n  }\n  switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    FUN_000245a0();\n    bVar2 = *(byte *)(param_1 + 3);\n    if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }\n    iVar5 = FUN_000238a0(param_1);\n    *param_1 = iVar5;\n    if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    DAT_00083ef0 = pbVar14 + 2;\n    *(undefined1 *)(param_1 + 3) = 2;\n    param_1[2] = (int)(char)pbVar14[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_00024620;\n  case 0xd:\n    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }\n    *(undefined1 *)(param_1 + 3) = 3;\n    *param_1 = (int)&DAT_00083fe0;\n    break;\n  case 0xf:\n    bVar3 = pbVar14[1];\n    switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto code_r0x00024770;\n  case 0x5d:\n    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }\nLAB_00024ae0:\n    DAT_00083ef0 = pbVar14;\n    bVar3 = FUN_00024470(local_20);\n    iVar5 = FUN_0003b230(local_20[0]);\n    puVar6 = (undefined *)FUN_00039580(iVar5);\n    if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }\n    *DAT_00083ef0 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_00023880();\n    }\n    goto LAB_00024626;\n  }\n  param_1[2] = 0;\nLAB_00024626:\n  FUN_000230d0();\n  bVar3 = *DAT_00083ef0;\n  while (bVar3 == 0x20) {\n    DAT_00083ef0 = DAT_00083ef0 + 1;\n    bVar3 = *DAT_00083ef0;\n  }\n  if (*param_1 != 0) {\n    FUN_0003c080(*param_1);\n  }\n  if (param_2 != 2) {\n    iVar5 = FUN_0003b8d0(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_0003b8d0(param_1[1],0);\n    param_1[1] = iVar5;\n  }\n  if ((char)param_1[3] == '\x03') {\n    puVar6 = (undefined *)FUN_00039580(*param_1);\n    return puVar6;\n  }\n  if ((char)param_1[3] != '\x05') {\n    return PTR__bfd_std_section_0007afb4 + 0x150;\n  }\n  return DAT_00083dbc;\n}" { (declaration "short *psVar1;" (sized_type_specifier "short" short) (pointer_declarator "*psVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "ushort *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined2 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined2 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "byte *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "byte *local_20 [3];" type_identifier (pointer_declarator "*local_20 [3]" * (array_declarator "local_20 [3]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x245ab;" (assignment_expression "uStack_14 = 0x245ab" identifier = number_literal) ;) (expression_statement "*(byte *)((int)param_1 + 0xd) = *(byte *)((int)param_1 + 0xd) & 0xfc | 1;" (assignment_expression "*(byte *)((int)param_1 + 0xd) = *(byte *)((int)param_1 + 0xd) & 0xfc | 1" (pointer_expression "*(byte *)((int)param_1 + 0xd)" * (cast_expression "(byte *)((int)param_1 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xd)" ( (binary_expression "(int)param_1 + 0xd" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)param_1 + 0xd) & 0xfc | 1" (binary_expression "*(byte *)((int)param_1 + 0xd) & 0xfc" (pointer_expression "*(byte *)((int)param_1 + 0xd)" * (cast_expression "(byte *)((int)param_1 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xd)" ( (binary_expression "(int)param_1 + 0xd" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "pbVar14 = DAT_00083ef0;" (assignment_expression "pbVar14 = DAT_00083ef0" identifier = identifier) ;) (expression_statement "local_3c = DAT_00083ef0 + 1;" (assignment_expression "local_3c = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) (if_statement "if (*DAT_00083ef0 == 0x20) {\n    local_3c = DAT_00083ef0 + 2;\n    pbVar14 = DAT_00083ef0 + 1;\n  }" if (parenthesized_expression "(*DAT_00083ef0 == 0x20)" ( (binary_expression "*DAT_00083ef0 == 0x20" (pointer_expression "*DAT_00083ef0" * identifier) == number_literal) )) (compound_statement "{\n    local_3c = DAT_00083ef0 + 2;\n    pbVar14 = DAT_00083ef0 + 1;\n  }" { (expression_statement "local_3c = DAT_00083ef0 + 2;" (assignment_expression "local_3c = DAT_00083ef0 + 2" identifier = (binary_expression "DAT_00083ef0 + 2" identifier + number_literal)) ;) (expression_statement "pbVar14 = DAT_00083ef0 + 1;" (assignment_expression "pbVar14 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) })) (expression_statement "DAT_00083ef0 = local_3c;" (assignment_expression "DAT_00083ef0 = local_3c" identifier = identifier) ;) (expression_statement "bVar3 = *pbVar14;" (assignment_expression "bVar3 = *pbVar14" identifier = (pointer_expression "*pbVar14" * identifier)) ;) (expression_statement "uVar4 = (uint)bVar3;" (assignment_expression "uVar4 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((&DAT_0007b2c0)[uVar4] != '\0') {\nLAB_00024620:\n    *(undefined1 *)(param_1 + 3) = 1;\n    DAT_00083ef0 = pbVar14;\n    goto LAB_00024626;\n  }" if (parenthesized_expression "((&DAT_0007b2c0)[uVar4] != '\0')" ( (binary_expression "(&DAT_0007b2c0)[uVar4] != '\0'" (subscript_expression "(&DAT_0007b2c0)[uVar4]" (parenthesized_expression "(&DAT_0007b2c0)" ( (pointer_expression "&DAT_0007b2c0" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00024620:\n    *(undefined1 *)(param_1 + 3) = 1;\n    DAT_00083ef0 = pbVar14;\n    goto LAB_00024626;\n  }" { (labeled_statement "LAB_00024620:\n    *(undefined1 *)(param_1 + 3) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 3) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 1" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "DAT_00083ef0 = pbVar14;" (assignment_expression "DAT_00083ef0 = pbVar14" identifier = identifier) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (switch_statement "switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    FUN_000245a0();\n    bVar2 = *(byte *)(param_1 + 3);\n    if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }\n    iVar5 = FUN_000238a0(param_1);\n    *param_1 = iVar5;\n    if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    DAT_00083ef0 = pbVar14 + 2;\n    *(undefined1 *)(param_1 + 3) = 2;\n    param_1[2] = (int)(char)pbVar14[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_00024620;\n  case 0xd:\n    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }\n    *(undefined1 *)(param_1 + 3) = 3;\n    *param_1 = (int)&DAT_00083fe0;\n    break;\n  case 0xf:\n    bVar3 = pbVar14[1];\n    switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto code_r0x00024770;\n  case 0x5d:\n    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }\nLAB_00024ae0:\n    DAT_00083ef0 = pbVar14;\n    bVar3 = FUN_00024470(local_20);\n    iVar5 = FUN_0003b230(local_20[0]);\n    puVar6 = (undefined *)FUN_00039580(iVar5);\n    if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }\n    *DAT_00083ef0 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_00023880();\n    }\n    goto LAB_00024626;\n  }" switch (parenthesized_expression "(uVar4 - 0x21 & 0xff)" ( (binary_expression "uVar4 - 0x21 & 0xff" (binary_expression "uVar4 - 0x21" identifier - number_literal) & number_literal) )) (compound_statement "{\n  case 0:\n  case 10:\n  case 0xc:\n    FUN_000245a0();\n    bVar2 = *(byte *)(param_1 + 3);\n    if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }\n    iVar5 = FUN_000238a0(param_1);\n    *param_1 = iVar5;\n    if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    DAT_00083ef0 = pbVar14 + 2;\n    *(undefined1 *)(param_1 + 3) = 2;\n    param_1[2] = (int)(char)pbVar14[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_00024620;\n  case 0xd:\n    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }\n    *(undefined1 *)(param_1 + 3) = 3;\n    *param_1 = (int)&DAT_00083fe0;\n    break;\n  case 0xf:\n    bVar3 = pbVar14[1];\n    switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto code_r0x00024770;\n  case 0x5d:\n    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }\nLAB_00024ae0:\n    DAT_00083ef0 = pbVar14;\n    bVar3 = FUN_00024470(local_20);\n    iVar5 = FUN_0003b230(local_20[0]);\n    puVar6 = (undefined *)FUN_00039580(iVar5);\n    if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }\n    *DAT_00083ef0 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_00023880();\n    }\n    goto LAB_00024626;\n  }" { (case_statement "case 0:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xc:\n    FUN_000245a0();\n    bVar2 = *(byte *)(param_1 + 3);\n    if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }\n    iVar5 = FUN_000238a0(param_1);\n    *param_1 = iVar5;\n    if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }\n    break;" case number_literal : (expression_statement "FUN_000245a0();" (call_expression "FUN_000245a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar2 = *(byte *)(param_1 + 3);" (assignment_expression "bVar2 = *(byte *)(param_1 + 3)" identifier = (pointer_expression "*(byte *)(param_1 + 3)" * (cast_expression "(byte *)(param_1 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) ))))) ;) (if_statement "if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }" if (parenthesized_expression "(bVar2 == 2)" ( (binary_expression "bVar2 == 2" identifier == number_literal) )) (compound_statement "{\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }" { (if_statement "if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }" if (parenthesized_expression "(bVar3 == 0x2d)" ( (binary_expression "bVar3 == 0x2d" identifier == number_literal) )) (compound_statement "{\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }" { (expression_statement "bVar3 = *(byte *)((int)param_1 + 0xd);" (assignment_expression "bVar3 = *(byte *)((int)param_1 + 0xd)" identifier = (pointer_expression "*(byte *)((int)param_1 + 0xd)" * (cast_expression "(byte *)((int)param_1 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xd)" ( (binary_expression "(int)param_1 + 0xd" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar5 = param_1[2];" (assignment_expression "iVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = -iVar5;" (assignment_expression "param_1[2] = -iVar5" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (unary_expression "-iVar5" - identifier)) ;) (expression_statement "*(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;" (assignment_expression "*(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe" (pointer_expression "*(byte *)((int)param_1 + 0xd)" * (cast_expression "(byte *)((int)param_1 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xd)" ( (binary_expression "(int)param_1 + 0xd" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar3 & 0xfe" identifier & number_literal)) ;) (if_statement "if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }" if (parenthesized_expression "(-iVar5 != 0)" ( (binary_expression "-iVar5 != 0" (unary_expression "-iVar5" - identifier) != number_literal) )) (compound_statement "{\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }" { (expression_statement "*(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;" (assignment_expression "*(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc" (pointer_expression "*(byte *)((int)param_1 + 0xd)" * (cast_expression "(byte *)((int)param_1 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xd)" ( (binary_expression "(int)param_1 + 0xd" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc" (binary_expression "(bVar3 >> 1 & 1 ^ 1) * '\x02'" (parenthesized_expression "(bVar3 >> 1 & 1 ^ 1)" ( (binary_expression "bVar3 >> 1 & 1 ^ 1" (binary_expression "bVar3 >> 1 & 1" (binary_expression "bVar3 >> 1" identifier >> number_literal) & number_literal) ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar3 & 0xfc" identifier & number_literal))) ;) })) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (if_statement "if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }" if (parenthesized_expression "(bVar3 != 0x22)" ( (binary_expression "bVar3 != 0x22" identifier != number_literal) )) (compound_statement "{\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }" { (if_statement "if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }" if (parenthesized_expression "(bVar3 == 0x21)" ( (binary_expression "bVar3 == 0x21" identifier == number_literal) )) (compound_statement "{\n          param_1[2] = (uint)(param_1[2] == 0);\n        }" { (expression_statement "param_1[2] = (uint)(param_1[2] == 0);" (assignment_expression "param_1[2] = (uint)(param_1[2] == 0)" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (call_expression "(uint)(param_1[2] == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1[2] == 0)" ( (binary_expression "param_1[2] == 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) == number_literal) )))) ;) })) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (labeled_statement "code_r0x00024d54:\n      param_1[2] = ~param_1[2];" statement_identifier : (expression_statement "param_1[2] = ~param_1[2];" (assignment_expression "param_1[2] = ~param_1[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (unary_expression "~param_1[2]" ~ (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;)) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (if_statement "if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }" if (parenthesized_expression "(bVar2 == 6)" ( (binary_expression "bVar2 == 6" identifier == number_literal) )) (compound_statement "{\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }" { (expression_statement "bVar15 = bVar3 == 0x2d;" (assignment_expression "bVar15 = bVar3 == 0x2d" identifier = (binary_expression "bVar3 == 0x2d" identifier == number_literal)) ;) (expression_statement "iVar5 = param_1[2];" (assignment_expression "iVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (if_statement "if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }" if (parenthesized_expression "((0 < iVar5) || (!bVar15))" ( (binary_expression "(0 < iVar5) || (!bVar15)" (parenthesized_expression "(0 < iVar5)" ( (binary_expression "0 < iVar5" number_literal < identifier) )) || (parenthesized_expression "(!bVar15)" ( (unary_expression "!bVar15" ! identifier) ))) )) (compound_statement "{\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }" { (labeled_statement "code_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }" statement_identifier : (if_statement "if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }" if (parenthesized_expression "(0 < iVar5)" ( (binary_expression "0 < iVar5" number_literal < identifier) )) (compound_statement "{\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }" { (if_statement "if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }" if (parenthesized_expression "((bVar3 == 0x7e) || (bVar15))" ( (binary_expression "(bVar3 == 0x7e) || (bVar15)" (parenthesized_expression "(bVar3 == 0x7e)" ( (binary_expression "bVar3 == 0x7e" identifier == number_literal) )) || (parenthesized_expression "(bVar15)" ( identifier ))) )) (compound_statement "{\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }" { (expression_statement "puVar11 = (ushort *)&DAT_00083e80;" (assignment_expression "puVar11 = (ushort *)&DAT_00083e80" identifier = (cast_expression "(ushort *)&DAT_00083e80" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00083e80" & identifier))) ;) (do_statement "do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));" do (compound_statement "{\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            }" { (expression_statement "*puVar11 = ~*puVar11;" (assignment_expression "*puVar11 = ~*puVar11" (pointer_expression "*puVar11" * identifier) = (unary_expression "~*puVar11" ~ (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "puVar11 = puVar11 + 1;" (assignment_expression "puVar11 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2))" ( (binary_expression "puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2)" identifier != (cast_expression "(ushort *)((int)&DAT_00083e80 + iVar5 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00083e80 + iVar5 * 2)" ( (binary_expression "(int)&DAT_00083e80 + iVar5 * 2" (cast_expression "(int)&DAT_00083e80" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00083e80" & identifier)) + (binary_expression "iVar5 * 2" identifier * number_literal)) )))) )) ;) (if_statement "if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }" if (parenthesized_expression "(iVar5 < 0x14)" ( (binary_expression "iVar5 < 0x14" identifier < number_literal) )) (compound_statement "{\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }" { (expression_statement "param_1[2] = 0x14;" (assignment_expression "param_1[2] = 0x14" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);" (assignment_expression "puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2)" identifier = (cast_expression "(undefined2 *)((int)&DAT_00083e80 + iVar5 * 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00083e80 + iVar5 * 2)" ( (binary_expression "(int)&DAT_00083e80 + iVar5 * 2" (cast_expression "(int)&DAT_00083e80" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00083e80" & identifier)) + (binary_expression "iVar5 * 2" identifier * number_literal)) )))) ;) (do_statement "do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);" do (compound_statement "{\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              }" { (expression_statement "puVar13 = puVar12 + 1;" (assignment_expression "puVar13 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "*puVar12 = 0xffff;" (assignment_expression "*puVar12 = 0xffff" (pointer_expression "*puVar12" * identifier) = number_literal) ;) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) }) while (parenthesized_expression "(puVar13 != (undefined2 *)0x83ea8)" ( (binary_expression "puVar13 != (undefined2 *)0x83ea8" identifier != (cast_expression "(undefined2 *)0x83ea8" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }" { (expression_statement "iVar5 = param_1[2];" (assignment_expression "iVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;" (assignment_expression "DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1" (field_expression "DAT_00083e80._0_2_" identifier . field_identifier) = (binary_expression "(short)DAT_00083e80 + 1" (cast_expression "(short)DAT_00083e80" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) + number_literal)) ;) (if_statement "if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }" if (parenthesized_expression "((short)DAT_00083e80 == 0)" ( (binary_expression "(short)DAT_00083e80 == 0" (cast_expression "(short)DAT_00083e80" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) == number_literal) )) (compound_statement "{\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);" do (compound_statement "{\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                }" { (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 <= iVar10) break;" if (parenthesized_expression "(iVar5 <= iVar10)" ( (binary_expression "iVar5 <= iVar10" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);" (assignment_expression "psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2)" identifier = (cast_expression "(short *)((int)&DAT_00083e80 + iVar10 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00083e80 + iVar10 * 2)" ( (binary_expression "(int)&DAT_00083e80 + iVar10 * 2" (cast_expression "(int)&DAT_00083e80" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00083e80" & identifier)) + (binary_expression "iVar10 * 2" identifier * number_literal)) )))) ;) (expression_statement "*psVar1 = *psVar1 + 1;" (assignment_expression "*psVar1 = *psVar1 + 1" (pointer_expression "*psVar1" * identifier) = (binary_expression "*psVar1 + 1" (pointer_expression "*psVar1" * identifier) + number_literal)) ;) }) while (parenthesized_expression "(*psVar1 == 0)" ( (binary_expression "*psVar1 == 0" (pointer_expression "*psVar1" * identifier) == number_literal) )) ;) })) })) }) (else_clause "else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }" else (if_statement "if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }" if (parenthesized_expression "(bVar3 == 0x21)" ( (binary_expression "bVar3 == 0x21" identifier == number_literal) )) (compound_statement "{\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);" do (compound_statement "{\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            }" { (if_statement "if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;" if (parenthesized_expression "(*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0)" ( (binary_expression "*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0" (pointer_expression "*(short *)((int)&DAT_00083e80 + iVar10 * 2)" * (cast_expression "(short *)((int)&DAT_00083e80 + iVar10 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00083e80 + iVar10 * 2)" ( (binary_expression "(int)&DAT_00083e80 + iVar10 * 2" (cast_expression "(int)&DAT_00083e80" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00083e80" & identifier)) + (binary_expression "iVar10 * 2" identifier * number_literal)) )))) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 != iVar5)" ( (binary_expression "iVar10 != iVar5" identifier != identifier) )) ;) (expression_statement "param_1[2] = (uint)(iVar5 <= iVar10);" (assignment_expression "param_1[2] = (uint)(iVar5 <= iVar10)" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (call_expression "(uint)(iVar5 <= iVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar5 <= iVar10)" ( (binary_expression "iVar5 <= iVar10" identifier <= identifier) )))) ;) (expression_statement "*(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;" (assignment_expression "*(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102" (pointer_expression "*(ushort *)(param_1 + 3)" * (cast_expression "(ushort *)(param_1 + 3)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = (binary_expression "*(ushort *)(param_1 + 3) & 0xfc00 | 0x102" (binary_expression "*(ushort *)(param_1 + 3) & 0xfc00" (pointer_expression "*(ushort *)(param_1 + 3)" * (cast_expression "(ushort *)(param_1 + 3)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) & number_literal) | number_literal)) ;) })))) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) }))) (goto_statement "goto code_r0x00024a1e;" goto statement_identifier ;) })) (if_statement "if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }" if (parenthesized_expression "((DAT_0007b270 == '+') || (DAT_0007b270 == 'P'))" ( (binary_expression "(DAT_0007b270 == '+') || (DAT_0007b270 == 'P')" (parenthesized_expression "(DAT_0007b270 == '+')" ( (binary_expression "DAT_0007b270 == '+'" identifier == (char_literal "'+'" ' character ')) )) || (parenthesized_expression "(DAT_0007b270 == 'P')" ( (binary_expression "DAT_0007b270 == 'P'" identifier == (char_literal "'P'" ' character ')) ))) )) (compound_statement "{\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }" { (expression_statement "bVar15 = DAT_0007b270 == '+';" (assignment_expression "bVar15 = DAT_0007b270 == '+'" identifier = (binary_expression "DAT_0007b270 == '+'" identifier == (char_literal "'+'" ' character '))) ;) (expression_statement "DAT_0007b270 = 'N';" (assignment_expression "DAT_0007b270 = 'N'" identifier = (char_literal "'N'" ' character ')) ;) (if_statement "if (bVar15) {\n          DAT_0007b270 = '-';\n        }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n          DAT_0007b270 = '-';\n        }" { (expression_statement "DAT_0007b270 = '-';" (assignment_expression "DAT_0007b270 = '-'" identifier = (char_literal "'-'" ' character ')) ;) })) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) }) (else_clause "else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }" else (compound_statement "{\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }" { (labeled_statement "code_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }" statement_identifier : (if_statement "if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }" if (parenthesized_expression "(bVar2 < 2)" ( (binary_expression "bVar2 < 2" identifier < number_literal) )) (compound_statement "{\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }" { (expression_statement "uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);" (assignment_expression "uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5)" identifier = (call_expression "dcgettext(0,"Unary operator %c ignored because bad operand follows",5)" identifier (argument_list "(0,"Unary operator %c ignored because bad operand follows",5)" ( number_literal , (string_literal ""Unary operator %c ignored because bad operand follows"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002d580(uVar7,(int)(char)bVar3);" (call_expression "FUN_0002d580(uVar7,(int)(char)bVar3)" identifier (argument_list "(uVar7,(int)(char)bVar3)" ( identifier , (cast_expression "(int)(char)bVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) }))) (labeled_statement "code_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;" statement_identifier : (if_statement "if (bVar3 == 0x2b) goto LAB_00024626;" if (parenthesized_expression "(bVar3 == 0x2b)" ( (binary_expression "bVar3 == 0x2b" identifier == number_literal) )) (goto_statement "goto LAB_00024626;" goto statement_identifier ;))) }))) (expression_statement "iVar5 = FUN_000238a0(param_1);" (assignment_expression "iVar5 = FUN_000238a0(param_1)" identifier = (call_expression "FUN_000238a0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "*param_1 = iVar5;" (assignment_expression "*param_1 = iVar5" (pointer_expression "*param_1" * identifier) = identifier) ;) (if_statement "if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }" if (parenthesized_expression "(bVar3 == 0x2d)" ( (binary_expression "bVar3 == 0x2d" identifier == number_literal) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 3) = 7;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 3) = 7;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 7" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }" else (if_statement "if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }" if (parenthesized_expression "((bVar3 == 0x7e) || (bVar3 == 0x22))" ( (binary_expression "(bVar3 == 0x7e) || (bVar3 == 0x22)" (parenthesized_expression "(bVar3 == 0x7e)" ( (binary_expression "bVar3 == 0x7e" identifier == number_literal) )) || (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) ))) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 3) = 8;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 3) = 8;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 8" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }" else (compound_statement "{\n      *(undefined1 *)(param_1 + 3) = 9;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 3) = 9;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 9" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) }))))) (break_statement "break;" break ;)) (case_statement "default:\n    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;" default : (if_statement "if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }" if (parenthesized_expression "((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22))" ( (binary_expression "(((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)" (parenthesized_expression "(((&DAT_0007b3c0)[uVar4] & 2) == 0)" ( (binary_expression "((&DAT_0007b3c0)[uVar4] & 2) == 0" (parenthesized_expression "((&DAT_0007b3c0)[uVar4] & 2)" ( (binary_expression "(&DAT_0007b3c0)[uVar4] & 2" (subscript_expression "(&DAT_0007b3c0)[uVar4]" (parenthesized_expression "(&DAT_0007b3c0)" ( (pointer_expression "&DAT_0007b3c0" & identifier) )) [ identifier ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(bVar3 != 0x22)" ( (binary_expression "bVar3 != 0x22" identifier != number_literal) ))) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 3) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 1" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext(0,"bad expression",5);" (assignment_expression "uVar7 = dcgettext(0,"bad expression",5)" identifier = (call_expression "dcgettext(0,"bad expression",5)" identifier (argument_list "(0,"bad expression",5)" ( number_literal , (string_literal ""bad expression"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002d660(uVar7);" (call_expression "FUN_0002d660(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "*(undefined1 *)(param_1 + 3) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 2" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (goto_statement "goto LAB_00024ae0;" goto statement_identifier ;)) (case_statement "case 6:\n    DAT_00083ef0 = pbVar14 + 2;\n    *(undefined1 *)(param_1 + 3) = 2;\n    param_1[2] = (int)(char)pbVar14[1];\n    goto LAB_00024626;" case number_literal : (expression_statement "DAT_00083ef0 = pbVar14 + 2;" (assignment_expression "DAT_00083ef0 = pbVar14 + 2" identifier = (binary_expression "pbVar14 + 2" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)(param_1 + 3) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 2" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[2] = (int)(char)pbVar14[1];" (assignment_expression "param_1[2] = (int)(char)pbVar14[1]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (cast_expression "(int)(char)pbVar14[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar14[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar14[1]" identifier [ number_literal ])))) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;)) (case_statement "case 7:" case number_literal :) (case_statement "case 0x3a:\n    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }\n    return puVar6;" case number_literal : (expression_statement "puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);" (assignment_expression "puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2)" identifier = (cast_expression "(undefined *)FUN_00024f00(0,param_1,param_2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024f00(0,param_1,param_2)" identifier (argument_list "(0,param_1,param_2)" ( number_literal , identifier , identifier ))))) ;) (if_statement "if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }" if (parenthesized_expression "(bVar3 == 0x28)" ( (binary_expression "bVar3 == 0x28" identifier == number_literal) )) (compound_statement "{\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }" { (expression_statement "bVar3 = *DAT_00083ef0;" (assignment_expression "bVar3 = *DAT_00083ef0" identifier = (pointer_expression "*DAT_00083ef0" * identifier)) ;) (if_statement "if (bVar3 == 0x29) goto code_r0x000249c4;" if (parenthesized_expression "(bVar3 == 0x29)" ( (binary_expression "bVar3 == 0x29" identifier == number_literal) )) (goto_statement "goto code_r0x000249c4;" goto statement_identifier ;)) (expression_statement "uVar7 = 0x29;" (assignment_expression "uVar7 = 0x29" identifier = number_literal) ;) }) (else_clause "else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }" else (compound_statement "{\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }" { (if_statement "if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }" if (parenthesized_expression "((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d))" ( (binary_expression "(bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)" (parenthesized_expression "(bVar3 != 0x5b)" ( (binary_expression "bVar3 != 0x5b" identifier != number_literal) )) || (parenthesized_expression "(bVar3 = *DAT_00083ef0, bVar3 == 0x5d)" ( (comma_expression "bVar3 = *DAT_00083ef0, bVar3 == 0x5d" (assignment_expression "bVar3 = *DAT_00083ef0" identifier = (pointer_expression "*DAT_00083ef0" * identifier)) , (binary_expression "bVar3 == 0x5d" identifier == number_literal)) ))) )) (compound_statement "{\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }" { (labeled_statement "code_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;" statement_identifier : (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;)) (goto_statement "goto code_r0x000249c9;" goto statement_identifier ;) })) (expression_statement "uVar7 = 0x5d;" (assignment_expression "uVar7 = 0x5d" identifier = number_literal) ;) }))) (if_statement "if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }" if (parenthesized_expression "(bVar3 == 0)" ( (binary_expression "bVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }" { (expression_statement "uVar9 = dcgettext(0,"missing \'%c\'",5);" (assignment_expression "uVar9 = dcgettext(0,"missing \'%c\'",5)" identifier = (call_expression "dcgettext(0,"missing \'%c\'",5)" identifier (argument_list "(0,"missing \'%c\'",5)" ( number_literal , (string_literal ""missing \'%c\'"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002d660(uVar9,uVar7);" (call_expression "FUN_0002d660(uVar9,uVar7)" identifier (argument_list "(uVar9,uVar7)" ( identifier , identifier ))) ;) }) (else_clause "else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }" else (compound_statement "{\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }" { (expression_statement "uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);" (assignment_expression "uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5)" identifier = (call_expression "dcgettext(0,"found \'%c\', expected: \'%c\'",5)" identifier (argument_list "(0,"found \'%c\', expected: \'%c\'",5)" ( number_literal , (string_literal ""found \'%c\', expected: \'%c\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);" (call_expression "FUN_0002d660(uVar9,(int)(char)bVar3,uVar7)" identifier (argument_list "(uVar9,(int)(char)bVar3,uVar7)" ( identifier , (cast_expression "(int)(char)bVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) , identifier ))) ;) }))) (labeled_statement "code_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }" statement_identifier : (if_statement "if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }" if (parenthesized_expression "(*DAT_00083ef0 == 0x20)" ( (binary_expression "*DAT_00083ef0 == 0x20" (pointer_expression "*DAT_00083ef0" * identifier) == number_literal) )) (compound_statement "{\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }" { (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) (return_statement "return puVar6;" return identifier ;) }))) (return_statement "return puVar6;" return identifier ;)) (case_statement "case 0xb:\n    goto LAB_00024620;" case number_literal : (goto_statement "goto LAB_00024620;" goto statement_identifier ;)) (case_statement "case 0xd:\n    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }\n    *(undefined1 *)(param_1 + 3) = 3;\n    *param_1 = (int)&DAT_00083fe0;\n    break;" case number_literal : (if_statement "if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }" if (parenthesized_expression "(((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0)" ( (binary_expression "((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0" (parenthesized_expression "((&DAT_0007b3c0)[pbVar14[1]] & 1)" ( (binary_expression "(&DAT_0007b3c0)[pbVar14[1]] & 1" (subscript_expression "(&DAT_0007b3c0)[pbVar14[1]]" (parenthesized_expression "(&DAT_0007b3c0)" ( (pointer_expression "&DAT_0007b3c0" & identifier) )) [ (subscript_expression "pbVar14[1]" identifier [ number_literal ]) ]) & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }" { (expression_statement "iVar5 = strncasecmp((char *)local_3c,"startof.",8);" (assignment_expression "iVar5 = strncasecmp((char *)local_3c,"startof.",8)" identifier = (call_expression "strncasecmp((char *)local_3c,"startof.",8)" identifier (argument_list "((char *)local_3c,"startof.",8)" ( (cast_expression "(char *)local_3c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""startof."" " string_content ") , number_literal )))) ;) (if_statement "if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }" if (parenthesized_expression "(((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0))))" ( (binary_expression "((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))" (parenthesized_expression "((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0))" ( (binary_expression "(iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "(((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)" ( (binary_expression "((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0" (parenthesized_expression "((&DAT_0007b3c0)[pbVar14[9]] & 1)" ( (binary_expression "(&DAT_0007b3c0)[pbVar14[9]] & 1" (subscript_expression "(&DAT_0007b3c0)[pbVar14[9]]" (parenthesized_expression "(&DAT_0007b3c0)" ( (pointer_expression "&DAT_0007b3c0" & identifier) )) [ (subscript_expression "pbVar14[9]" identifier [ number_literal ]) ]) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))" ( (parenthesized_expression "(iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0))" ( (comma_expression "iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)" (assignment_expression "iVar5 = strncasecmp((char *)local_3c,"sizeof.",7)" identifier = (call_expression "strncasecmp((char *)local_3c,"sizeof.",7)" identifier (argument_list "((char *)local_3c,"sizeof.",7)" ( (cast_expression "(char *)local_3c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""sizeof."" " string_content ") , number_literal )))) , (binary_expression "iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)" (binary_expression "iVar5 == 0" identifier == number_literal) && (parenthesized_expression "(((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)" ( (binary_expression "((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0" (parenthesized_expression "((&DAT_0007b3c0)[pbVar14[8]] & 1)" ( (binary_expression "(&DAT_0007b3c0)[pbVar14[8]] & 1" (subscript_expression "(&DAT_0007b3c0)[pbVar14[8]]" (parenthesized_expression "(&DAT_0007b3c0)" ( (pointer_expression "&DAT_0007b3c0" & identifier) )) [ (subscript_expression "pbVar14[8]" identifier [ number_literal ]) ]) & number_literal) )) == number_literal) )))) )) ))) )) (compound_statement "{\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }" { (expression_statement "bVar3 = pbVar14[2];" (assignment_expression "bVar3 = pbVar14[2]" identifier = (subscript_expression "pbVar14[2]" identifier [ number_literal ])) ;) (expression_statement "local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;" (assignment_expression "local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7" identifier = (binary_expression "local_3c + ((bVar3 & 0xdf) == 0x54) + 7" (binary_expression "local_3c + ((bVar3 & 0xdf) == 0x54)" identifier + (parenthesized_expression "((bVar3 & 0xdf) == 0x54)" ( (binary_expression "(bVar3 & 0xdf) == 0x54" (parenthesized_expression "(bVar3 & 0xdf)" ( (binary_expression "bVar3 & 0xdf" identifier & number_literal) )) == number_literal) ))) + number_literal)) ;) (if_statement "if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }" if (parenthesized_expression "(*local_3c == 0x20)" ( (binary_expression "*local_3c == 0x20" (pointer_expression "*local_3c" * identifier) == number_literal) )) (compound_statement "{\n          local_3c = local_3c + 1;\n        }" { (expression_statement "local_3c = local_3c + 1;" (assignment_expression "local_3c = local_3c + 1" identifier = (binary_expression "local_3c + 1" identifier + number_literal)) ;) })) (expression_statement "DAT_00083ef0 = local_3c;" (assignment_expression "DAT_00083ef0 = local_3c" identifier = identifier) ;) (expression_statement "*(undefined1 *)(param_1 + 3) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 1" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }" if (parenthesized_expression "(*local_3c == 0x28)" ( (binary_expression "*local_3c == 0x28" (pointer_expression "*local_3c" * identifier) == number_literal) )) (compound_statement "{\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }" { (expression_statement "DAT_00083ef0 = local_3c + 1;" (assignment_expression "DAT_00083ef0 = local_3c + 1" identifier = (binary_expression "local_3c + 1" identifier + number_literal)) ;) (if_statement "if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }" if (parenthesized_expression "(local_3c[1] == 0x20)" ( (binary_expression "local_3c[1] == 0x20" (subscript_expression "local_3c[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            DAT_00083ef0 = local_3c + 2;\n          }" { (expression_statement "DAT_00083ef0 = local_3c + 2;" (assignment_expression "DAT_00083ef0 = local_3c + 2" identifier = (binary_expression "local_3c + 2" identifier + number_literal)) ;) })) (expression_statement "bVar2 = FUN_00024470(local_20);" (assignment_expression "bVar2 = FUN_00024470(local_20)" identifier = (call_expression "FUN_00024470(local_20)" identifier (argument_list "(local_20)" ( identifier )))) ;) (if_statement "if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }" if (parenthesized_expression "(*local_20[0] == 0)" ( (binary_expression "*local_20[0] == 0" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }" { (expression_statement "uVar7 = dcgettext(0,"expected symbol name",5);" (assignment_expression "uVar7 = dcgettext(0,"expected symbol name",5)" identifier = (call_expression "dcgettext(0,"expected symbol name",5)" identifier (argument_list "(0,"expected symbol name",5)" ( number_literal , (string_literal ""expected symbol name"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002d660(uVar7);" (call_expression "FUN_0002d660(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "*DAT_00083ef0 = bVar2;" (assignment_expression "*DAT_00083ef0 = bVar2" (pointer_expression "*DAT_00083ef0" * identifier) = identifier) ;) (if_statement "if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }" if (parenthesized_expression "(bVar2 == 0x22)" ( (binary_expression "bVar2 == 0x22" identifier == number_literal) )) (compound_statement "{\n              FUN_00023880();\n            }" { (expression_statement "FUN_00023880();" (call_expression "FUN_00023880()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }" else (if_statement "if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }" if (parenthesized_expression "(bVar2 == 0x29)" ( (binary_expression "bVar2 == 0x29" identifier == number_literal) )) (compound_statement "{\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }" { (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })))) (expression_statement "FUN_0002f760();" (call_expression "FUN_0002f760()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (expression_statement "pcVar8 = ".startof.";" (assignment_expression "pcVar8 = ".startof."" identifier = (string_literal "".startof."" " string_content ")) ;) (if_statement "if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }" if (parenthesized_expression "((bVar3 & 0xdf) != 0x54)" ( (binary_expression "(bVar3 & 0xdf) != 0x54" (parenthesized_expression "(bVar3 & 0xdf)" ( (binary_expression "bVar3 & 0xdf" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            pcVar8 = ".sizeof.";\n          }" { (expression_statement "pcVar8 = ".sizeof.";" (assignment_expression "pcVar8 = ".sizeof."" identifier = (string_literal "".sizeof."" " string_content ")) ;) })) (expression_statement "__ptr = (void *)concat(pcVar8,local_20[0],0);" (assignment_expression "__ptr = (void *)concat(pcVar8,local_20[0],0)" identifier = (cast_expression "(void *)concat(pcVar8,local_20[0],0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(pcVar8,local_20[0],0)" identifier (argument_list "(pcVar8,local_20[0],0)" ( identifier , (subscript_expression "local_20[0]" identifier [ number_literal ]) , number_literal ))))) ;) (expression_statement "iVar5 = FUN_00039960(__ptr);" (assignment_expression "iVar5 = FUN_00039960(__ptr)" identifier = (call_expression "FUN_00039960(__ptr)" identifier (argument_list "(__ptr)" ( identifier )))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "*(undefined1 *)(param_1 + 3) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 3" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*param_1 = iVar5;" (assignment_expression "*param_1 = iVar5" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "*DAT_00083ef0 = bVar2;" (assignment_expression "*DAT_00083ef0 = bVar2" (pointer_expression "*DAT_00083ef0" * identifier) = identifier) ;) (expression_statement "bVar3 = *DAT_00083ef0;" (assignment_expression "bVar3 = *DAT_00083ef0" identifier = (pointer_expression "*DAT_00083ef0" * identifier)) ;) (if_statement "if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }" if (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) )) (compound_statement "{\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }" { (expression_statement "bVar3 = DAT_00083ef0[1];" (assignment_expression "bVar3 = DAT_00083ef0[1]" identifier = (subscript_expression "DAT_00083ef0[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }" if (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) )) (compound_statement "{\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }" { (expression_statement "bVar3 = DAT_00083ef0[1];" (assignment_expression "bVar3 = DAT_00083ef0[1]" identifier = (subscript_expression "DAT_00083ef0[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }" if (parenthesized_expression "(bVar3 == 0x29)" ( (binary_expression "bVar3 == 0x29" identifier == number_literal) )) (compound_statement "{\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }" { (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) })) (expression_statement "uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);" (assignment_expression "uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5)" identifier = (call_expression "dcgettext(0,"syntax error in .startof. or .sizeof.",5)" identifier (argument_list "(0,"syntax error in .startof. or .sizeof.",5)" ( number_literal , (string_literal ""syntax error in .startof. or .sizeof."" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002d660(uVar7);" (call_expression "FUN_0002d660(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (goto_statement "goto LAB_00024ae0;" goto statement_identifier ;) })) (if_statement "if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }" if (parenthesized_expression "(DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150)" ( (binary_expression "DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150" identifier == (binary_expression "PTR__bfd_std_section_0007afb4 + 0x150" identifier + number_literal)) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 3) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 2" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[2] = DAT_00083eec;" (assignment_expression "param_1[2] = DAT_00083eec" (subscript_expression "param_1[2]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00024626;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(param_1 + 3) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 3" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*param_1 = (int)&DAT_00083fe0;" (assignment_expression "*param_1 = (int)&DAT_00083fe0" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)&DAT_00083fe0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00083fe0" & identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n    bVar3 = pbVar14[1];\n    switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }\n    goto LAB_00024626;" case number_literal : (expression_statement "bVar3 = pbVar14[1];" (assignment_expression "bVar3 = pbVar14[1]" identifier = (subscript_expression "pbVar14[1]" identifier [ number_literal ])) ;) (switch_statement "switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }" switch (parenthesized_expression "((int)(char)bVar3 - 0x30U & 0xff)" ( (binary_expression "(int)(char)bVar3 - 0x30U & 0xff" (binary_expression "(int)(char)bVar3 - 0x30U" (cast_expression "(int)(char)bVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) - number_literal) & number_literal) )) (compound_statement "{\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }" { (case_statement "case 0:" case number_literal :) (case_statement "case 1:" case number_literal :) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 4:" case number_literal :) (case_statement "case 5:" case number_literal :) (case_statement "case 6:" case number_literal :) (case_statement "case 7:\n      FUN_000231b0();\n      break;" case number_literal : (expression_statement "FUN_000231b0();" (call_expression "FUN_000231b0()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;" default : (if_statement "if (bVar3 != 0) goto code_r0x00024c71;" if (parenthesized_expression "(bVar3 != 0)" ( (binary_expression "bVar3 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00024c71;" goto statement_identifier ;)) (goto_statement "goto code_r0x00024c05;" goto statement_identifier ;)) (case_statement "case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;" case number_literal : (if_statement "if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }" if (parenthesized_expression "((byte)(pbVar14[2] - 0x30) < 2)" ( (binary_expression "(byte)(pbVar14[2] - 0x30) < 2" (call_expression "(byte)(pbVar14[2] - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar14[2] - 0x30)" ( (binary_expression "pbVar14[2] - 0x30" (subscript_expression "pbVar14[2]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (compound_statement "{\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }" { (labeled_statement "code_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;" statement_identifier : (expression_statement "DAT_00083ef0 = pbVar14 + 2;" (assignment_expression "DAT_00083ef0 = pbVar14 + 2" identifier = (binary_expression "pbVar14 + 2" identifier + number_literal)) ;)) (expression_statement "FUN_000231b0();" (call_expression "FUN_000231b0()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;) })) (labeled_statement "code_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);" statement_identifier : (expression_statement "pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);" (assignment_expression "pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3)" identifier = (call_expression "strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3)" identifier (argument_list "(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3)" ( identifier , (cast_expression "(int)(char)bVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) )))) ;)) (if_statement "if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }" if (parenthesized_expression "(pcVar8 != (char *)0x0)" ( (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }" { (expression_statement "pbVar14 = pbVar14 + 2;" (assignment_expression "pbVar14 = pbVar14 + 2" identifier = (binary_expression "pbVar14 + 2" identifier + number_literal)) ;) (goto_statement "goto code_r0x00024c22;" goto statement_identifier ;) })) (labeled_statement "code_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 3) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 2" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x15:" case number_literal :) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x34:" case number_literal :) (case_statement "case 0x35:" case number_literal :) (case_statement "case 0x37:" case number_literal :) (case_statement "case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;" case number_literal : (expression_statement "pbVar14 = local_3c + 1;" (assignment_expression "pbVar14 = local_3c + 1" identifier = (binary_expression "local_3c + 1" identifier + number_literal)) ;) (labeled_statement "code_r0x00024c22:\n      DAT_00083ef0 = pbVar14;" statement_identifier : (expression_statement "DAT_00083ef0 = pbVar14;" (assignment_expression "DAT_00083ef0 = pbVar14" identifier = identifier) ;)) (expression_statement "FUN_00023110();" (call_expression "FUN_00023110()" identifier (argument_list "()" ( ))) ;) (expression_statement "param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];" (assignment_expression "param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (unary_expression "-(uint)(byte)PTR__sch_tolower_0007afcc[bVar3]" - (cast_expression "(uint)(byte)PTR__sch_tolower_0007afcc[bVar3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR__sch_tolower_0007afcc[bVar3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR__sch_tolower_0007afcc[bVar3]" identifier [ identifier ]))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x28:" case number_literal :) (case_statement "case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;" case number_literal : (expression_statement "DAT_00083ef0 = pbVar14 + 2;" (assignment_expression "DAT_00083ef0 = pbVar14 + 2" identifier = (binary_expression "pbVar14 + 2" identifier + number_literal)) ;) (expression_statement "FUN_000231b0();" (call_expression "FUN_000231b0()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;" case number_literal : (if_statement "if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;" if (parenthesized_expression "((byte)(pbVar14[2] - 0x30) < 2)" ( (binary_expression "(byte)(pbVar14[2] - 0x30) < 2" (call_expression "(byte)(pbVar14[2] - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar14[2] - 0x30)" ( (binary_expression "pbVar14[2] - 0x30" (subscript_expression "pbVar14[2]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (goto_statement "goto code_r0x00024c50;" goto statement_identifier ;)) (goto_statement "goto code_r0x00024770;" goto statement_identifier ;)) (case_statement "case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();" case number_literal : (if_statement "if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }" if (parenthesized_expression "(((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0))" ( (binary_expression "((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)" (parenthesized_expression "((&DAT_0007b2c0)[pbVar14[2]] == '\0')" ( (binary_expression "(&DAT_0007b2c0)[pbVar14[2]] == '\0'" (subscript_expression "(&DAT_0007b2c0)[pbVar14[2]]" (parenthesized_expression "(&DAT_0007b2c0)" ( (pointer_expression "&DAT_0007b2c0" & identifier) )) [ (subscript_expression "pbVar14[2]" identifier [ number_literal ]) ]) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)" ( (comma_expression "pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0" (assignment_expression "pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66)" identifier = (call_expression "strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66)" identifier (argument_list "(PTR_s_rRsSfFdDxXpP_0007af58,0x66)" ( identifier , number_literal )))) , (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }" { (expression_statement "local_20[0] = pbVar14 + 2;" (assignment_expression "local_20[0] = pbVar14 + 2" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "pbVar14 + 2" identifier + number_literal)) ;) (expression_statement "FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);" (call_expression "FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260)" identifier (argument_list "(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260)" ( identifier , (string_literal ""."" " string_content ") , identifier , (pointer_expression "&PTR_DAT_0007b260" & identifier) ))) ;) (if_statement "if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;" if (parenthesized_expression "((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))" ( (binary_expression "(local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62)))" (parenthesized_expression "(local_20[0] != DAT_00083ef0 + 1)" ( (binary_expression "local_20[0] != DAT_00083ef0 + 1" (subscript_expression "local_20[0]" identifier [ number_literal ]) != (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) )) && (parenthesized_expression "((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62)))" ( (parenthesized_expression "(((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))" ( (binary_expression "((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62)" (parenthesized_expression "((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66))" ( (binary_expression "(local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)" (parenthesized_expression "(local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0))" ( (binary_expression "local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)" (binary_expression "local_20[0] != DAT_00083ef0 + 2" (subscript_expression "local_20[0]" identifier [ number_literal ]) != (binary_expression "DAT_00083ef0 + 2" identifier + number_literal)) || (parenthesized_expression "((local_20[0][-1] - 0x2b & 0xfd) != 0)" ( (binary_expression "(local_20[0][-1] - 0x2b & 0xfd) != 0" (parenthesized_expression "(local_20[0][-1] - 0x2b & 0xfd)" ( (binary_expression "local_20[0][-1] - 0x2b & 0xfd" (binary_expression "local_20[0][-1] - 0x2b" (subscript_expression "local_20[0][-1]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) - number_literal) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "(*local_20[0] != 0x66)" ( (binary_expression "*local_20[0] != 0x66" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) != number_literal) ))) )) && (parenthesized_expression "(pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62)" ( (comma_expression "pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62" (assignment_expression "pbVar14 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) , (binary_expression "*local_20[0] != 0x62" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) != number_literal)) ))) )) ))) )) (goto_statement "goto code_r0x00024c22;" goto statement_identifier ;)) (expression_statement "pbVar14 = DAT_00083ef0 + -1;" (assignment_expression "pbVar14 = DAT_00083ef0 + -1" identifier = (binary_expression "DAT_00083ef0 + -1" identifier + number_literal)) ;) })) (labeled_statement "code_r0x00024770:\n      DAT_00083ef0 = pbVar14;" statement_identifier : (expression_statement "DAT_00083ef0 = pbVar14;" (assignment_expression "DAT_00083ef0 = pbVar14" identifier = identifier) ;)) (expression_statement "FUN_000231b0();" (call_expression "FUN_000231b0()" identifier (argument_list "()" ( ))) ;)) })) (goto_statement "goto LAB_00024626;" goto statement_identifier ;)) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x11:" case number_literal :) (case_statement "case 0x12:" case number_literal :) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x15:" case number_literal :) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x18:\n    goto code_r0x00024770;" case number_literal : (goto_statement "goto code_r0x00024770;" goto statement_identifier ;)) (case_statement "case 0x5d:\n    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }\nLAB_00024ae0:\n    DAT_00083ef0 = pbVar14;\n    bVar3 = FUN_00024470(local_20);\n    iVar5 = FUN_0003b230(local_20[0]);\n    puVar6 = (undefined *)FUN_00039580(iVar5);\n    if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }\n    *DAT_00083ef0 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_00023880();\n    }\n    goto LAB_00024626;" case number_literal : (if_statement "if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }" if (parenthesized_expression "(((&DAT_0007b3c0)[uVar4] & 2) == 0)" ( (binary_expression "((&DAT_0007b3c0)[uVar4] & 2) == 0" (parenthesized_expression "((&DAT_0007b3c0)[uVar4] & 2)" ( (binary_expression "(&DAT_0007b3c0)[uVar4] & 2" (subscript_expression "(&DAT_0007b3c0)[uVar4]" (parenthesized_expression "(&DAT_0007b3c0)" ( (pointer_expression "&DAT_0007b3c0" & identifier) )) [ identifier ]) & number_literal) )) == number_literal) )) (compound_statement "{\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }" { (expression_statement "FUN_000245a0();" (call_expression "FUN_000245a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar2 = *(byte *)(param_1 + 3);" (assignment_expression "bVar2 = *(byte *)(param_1 + 3)" identifier = (pointer_expression "*(byte *)(param_1 + 3)" * (cast_expression "(byte *)(param_1 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) ))))) ;) (if_statement "if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }" if (parenthesized_expression "(bVar2 != 2)" ( (binary_expression "bVar2 != 2" identifier != number_literal) )) (compound_statement "{\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }" { (if_statement "if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }" if (parenthesized_expression "(bVar2 == 6)" ( (binary_expression "bVar2 == 6" identifier == number_literal) )) (compound_statement "{\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }" { (expression_statement "iVar5 = param_1[2];" (assignment_expression "iVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (goto_statement "goto code_r0x00024921;" goto statement_identifier ;) })) (goto_statement "goto code_r0x00024a16;" goto statement_identifier ;) })) (goto_statement "goto code_r0x00024d54;" goto statement_identifier ;) })) (labeled_statement "LAB_00024ae0:\n    DAT_00083ef0 = pbVar14;" statement_identifier : (expression_statement "DAT_00083ef0 = pbVar14;" (assignment_expression "DAT_00083ef0 = pbVar14" identifier = identifier) ;)) (expression_statement "bVar3 = FUN_00024470(local_20);" (assignment_expression "bVar3 = FUN_00024470(local_20)" identifier = (call_expression "FUN_00024470(local_20)" identifier (argument_list "(local_20)" ( identifier )))) ;) (expression_statement "iVar5 = FUN_0003b230(local_20[0]);" (assignment_expression "iVar5 = FUN_0003b230(local_20[0])" identifier = (call_expression "FUN_0003b230(local_20[0])" identifier (argument_list "(local_20[0])" ( (subscript_expression "local_20[0]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar6 = (undefined *)FUN_00039580(iVar5);" (assignment_expression "puVar6 = (undefined *)FUN_00039580(iVar5)" identifier = (cast_expression "(undefined *)FUN_00039580(iVar5)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00039580(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))))) ;) (if_statement "if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }" if (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }" { (labeled_statement "LAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 3) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 3" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*param_1 = iVar5;" (assignment_expression "*param_1 = iVar5" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }" else (compound_statement "{\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }" { (if_statement "if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }" if (parenthesized_expression "((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0))" ( (binary_expression "(puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)" (parenthesized_expression "(puVar6 == PTR__bfd_std_section_0007afb4 + 0x150)" ( (binary_expression "puVar6 == PTR__bfd_std_section_0007afb4 + 0x150" identifier == (binary_expression "PTR__bfd_std_section_0007afb4 + 0x150" identifier + number_literal)) )) && (parenthesized_expression "(iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)" ( (comma_expression "iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0" (assignment_expression "iVar10 = FUN_000391e0(iVar5,0)" identifier = (call_expression "FUN_000391e0(iVar5,0)" identifier (argument_list "(iVar5,0)" ( identifier , number_literal )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        *(undefined1 *)(param_1 + 3) = 2;\n      }" { (expression_statement "*(undefined1 *)(param_1 + 3) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 2" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }" else (compound_statement "{\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }" { (if_statement "if (DAT_00083dbc != puVar6) goto LAB_00024b38;" if (parenthesized_expression "(DAT_00083dbc != puVar6)" ( (binary_expression "DAT_00083dbc != puVar6" identifier != identifier) )) (goto_statement "goto LAB_00024b38;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)(param_1 + 3) = 5;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 5" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "iVar5 = FUN_0003ac10(iVar5);" (assignment_expression "iVar5 = FUN_0003ac10(iVar5)" identifier = (call_expression "FUN_0003ac10(iVar5)" identifier (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "param_1[2] = iVar5;" (assignment_expression "param_1[2] = iVar5" (subscript_expression "param_1[2]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "*DAT_00083ef0 = bVar3;" (assignment_expression "*DAT_00083ef0 = bVar3" (pointer_expression "*DAT_00083ef0" * identifier) = identifier) ;) (if_statement "if (bVar3 == 0x22) {\n      FUN_00023880();\n    }" if (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) )) (compound_statement "{\n      FUN_00023880();\n    }" { (expression_statement "FUN_00023880();" (call_expression "FUN_00023880()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_00024626;" goto statement_identifier ;)) })) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00024626:\n  FUN_000230d0();" statement_identifier : (expression_statement "FUN_000230d0();" (call_expression "FUN_000230d0()" identifier (argument_list "()" ( ))) ;)) (expression_statement "bVar3 = *DAT_00083ef0;" (assignment_expression "bVar3 = *DAT_00083ef0" identifier = (pointer_expression "*DAT_00083ef0" * identifier)) ;) (while_statement "while (bVar3 == 0x20) {\n    DAT_00083ef0 = DAT_00083ef0 + 1;\n    bVar3 = *DAT_00083ef0;\n  }" while (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) )) (compound_statement "{\n    DAT_00083ef0 = DAT_00083ef0 + 1;\n    bVar3 = *DAT_00083ef0;\n  }" { (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" identifier = (binary_expression "DAT_00083ef0 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *DAT_00083ef0;" (assignment_expression "bVar3 = *DAT_00083ef0" identifier = (pointer_expression "*DAT_00083ef0" * identifier)) ;) })) (if_statement "if (*param_1 != 0) {\n    FUN_0003c080(*param_1);\n  }" if (parenthesized_expression "(*param_1 != 0)" ( (binary_expression "*param_1 != 0" (pointer_expression "*param_1" * identifier) != number_literal) )) (compound_statement "{\n    FUN_0003c080(*param_1);\n  }" { (expression_statement "FUN_0003c080(*param_1);" (call_expression "FUN_0003c080(*param_1)" identifier (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))) ;) })) (if_statement "if (param_2 != 2) {\n    iVar5 = FUN_0003b8d0(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_0003b8d0(param_1[1],0);\n    param_1[1] = iVar5;\n  }" if (parenthesized_expression "(param_2 != 2)" ( (binary_expression "param_2 != 2" identifier != number_literal) )) (compound_statement "{\n    iVar5 = FUN_0003b8d0(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_0003b8d0(param_1[1],0);\n    param_1[1] = iVar5;\n  }" { (expression_statement "iVar5 = FUN_0003b8d0(*param_1,0);" (assignment_expression "iVar5 = FUN_0003b8d0(*param_1,0)" identifier = (call_expression "FUN_0003b8d0(*param_1,0)" identifier (argument_list "(*param_1,0)" ( (pointer_expression "*param_1" * identifier) , number_literal )))) ;) (expression_statement "*param_1 = iVar5;" (assignment_expression "*param_1 = iVar5" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "iVar5 = FUN_0003b8d0(param_1[1],0);" (assignment_expression "iVar5 = FUN_0003b8d0(param_1[1],0)" identifier = (call_expression "FUN_0003b8d0(param_1[1],0)" identifier (argument_list "(param_1[1],0)" ( (subscript_expression "param_1[1]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "param_1[1] = iVar5;" (assignment_expression "param_1[1] = iVar5" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if ((char)param_1[3] == '\x03') {\n    puVar6 = (undefined *)FUN_00039580(*param_1);\n    return puVar6;\n  }" if (parenthesized_expression "((char)param_1[3] == '\x03')" ( (binary_expression "(char)param_1[3] == '\x03'" (cast_expression "(char)param_1[3]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[3]" identifier [ number_literal ])) == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n    puVar6 = (undefined *)FUN_00039580(*param_1);\n    return puVar6;\n  }" { (expression_statement "puVar6 = (undefined *)FUN_00039580(*param_1);" (assignment_expression "puVar6 = (undefined *)FUN_00039580(*param_1)" identifier = (cast_expression "(undefined *)FUN_00039580(*param_1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00039580(*param_1)" identifier (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (if_statement "if ((char)param_1[3] != '\x05') {\n    return PTR__bfd_std_section_0007afb4 + 0x150;\n  }" if (parenthesized_expression "((char)param_1[3] != '\x05')" ( (binary_expression "(char)param_1[3] != '\x05'" (cast_expression "(char)param_1[3]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[3]" identifier [ number_literal ])) != (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n    return PTR__bfd_std_section_0007afb4 + 0x150;\n  }" { (return_statement "return PTR__bfd_std_section_0007afb4 + 0x150;" return (binary_expression "PTR__bfd_std_section_0007afb4 + 0x150" identifier + number_literal) ;) })) (return_statement "return DAT_00083dbc;" return identifier ;) }))
(translation_unit (ERROR (binary_expression IDENT * (ERROR IDENT) (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , (ERROR IDENT) IDENT ))))) (compound_statement { (declaration (sized_type_specifier short) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) | LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (switch_statement switch (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) )) (compound_statement { (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (unary_expression - IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression - IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT >> LIT) & LIT) ^ LIT) )) * (char_literal ' escape_sequence ')) | (binary_expression IDENT & LIT))) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )))) ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (unary_expression ~ (subscript_expression IDENT [ LIT ]))) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) || (parenthesized_expression ( (unary_expression ! IDENT) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( IDENT ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (unary_expression ~ (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) )))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) ;) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) )))) != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT <= IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) })))) (goto_statement goto statement_identifier ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) || (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (char_literal ' character '))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))))) (break_statement break ;)) (case_statement default : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) , IDENT ))) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (return_statement return IDENT ;) }))) (return_statement return IDENT ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (subscript_expression IDENT [ LIT ]) ]) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (subscript_expression IDENT [ LIT ]) ]) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , LIT )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (subscript_expression IDENT [ LIT ]) ]) & LIT) )) == LIT) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (switch_statement switch (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) - LIT) & LIT) )) (compound_statement { (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( ))) ;) (break_statement break ;)) (case_statement default : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) - LIT) ))) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (break_statement break ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (unary_expression - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ]))))) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) - LIT) ))) < LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (subscript_expression IDENT [ LIT ]) ]) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (binary_expression IDENT + LIT)) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != (binary_expression IDENT + LIT)) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) - LIT) & LIT) )) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) != LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) != LIT)) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;)) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * IDENT) ))))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return (binary_expression IDENT + LIT) ;) })) (return_statement return IDENT ;) }))
(ERROR "undefined * __regparm3 FUN_000245a0(int *param_1,int param_2)" (binary_expression "undefined * __regparm3 FUN_000245a0(int *param_1,int param_2)" (identifier "undefined") (* "*") (ERROR "__regparm3" (identifier "__regparm3")) (call_expression "FUN_000245a0(int *param_1,int param_2)" (identifier "FUN_000245a0") (argument_list "(int *param_1,int param_2)" (( "(") (binary_expression "int *param_1" (identifier "int") (* "*") (identifier "param_1")) (, ",") (ERROR "int" (identifier "int")) (identifier "param_2") () ")"))))) (compound_statement "{\n  short *psVar1;\n  byte bVar2;\n  byte bVar3;\n  uint uVar4;\n  int iVar5;\n  undefined *puVar6;\n  void *__ptr;\n  undefined4 uVar7;\n  char *pcVar8;\n  undefined4 uVar9;\n  int iVar10;\n  ushort *puVar11;\n  undefined2 *puVar12;\n  undefined2 *puVar13;\n  byte *pbVar14;\n  bool bVar15;\n  byte *local_3c;\n  byte *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x245ab;\n  *(byte *)((int)param_1 + 0xd) = *(byte *)((int)param_1 + 0xd) & 0xfc | 1;\n  pbVar14 = DAT_00083ef0;\n  local_3c = DAT_00083ef0 + 1;\n  if (*DAT_00083ef0 == 0x20) {\n    local_3c = DAT_00083ef0 + 2;\n    pbVar14 = DAT_00083ef0 + 1;\n  }\n  DAT_00083ef0 = local_3c;\n  bVar3 = *pbVar14;\n  uVar4 = (uint)bVar3;\n  if ((&DAT_0007b2c0)[uVar4] != '\0') {\nLAB_00024620:\n    *(undefined1 *)(param_1 + 3) = 1;\n    DAT_00083ef0 = pbVar14;\n    goto LAB_00024626;\n  }\n  switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    FUN_000245a0();\n    bVar2 = *(byte *)(param_1 + 3);\n    if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }\n    iVar5 = FUN_000238a0(param_1);\n    *param_1 = iVar5;\n    if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    DAT_00083ef0 = pbVar14 + 2;\n    *(undefined1 *)(param_1 + 3) = 2;\n    param_1[2] = (int)(char)pbVar14[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_00024620;\n  case 0xd:\n    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }\n    *(undefined1 *)(param_1 + 3) = 3;\n    *param_1 = (int)&DAT_00083fe0;\n    break;\n  case 0xf:\n    bVar3 = pbVar14[1];\n    switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto code_r0x00024770;\n  case 0x5d:\n    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }\nLAB_00024ae0:\n    DAT_00083ef0 = pbVar14;\n    bVar3 = FUN_00024470(local_20);\n    iVar5 = FUN_0003b230(local_20[0]);\n    puVar6 = (undefined *)FUN_00039580(iVar5);\n    if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }\n    *DAT_00083ef0 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_00023880();\n    }\n    goto LAB_00024626;\n  }\n  param_1[2] = 0;\nLAB_00024626:\n  FUN_000230d0();\n  bVar3 = *DAT_00083ef0;\n  while (bVar3 == 0x20) {\n    DAT_00083ef0 = DAT_00083ef0 + 1;\n    bVar3 = *DAT_00083ef0;\n  }\n  if (*param_1 != 0) {\n    FUN_0003c080(*param_1);\n  }\n  if (param_2 != 2) {\n    iVar5 = FUN_0003b8d0(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_0003b8d0(param_1[1],0);\n    param_1[1] = iVar5;\n  }\n  if ((char)param_1[3] == '\x03') {\n    puVar6 = (undefined *)FUN_00039580(*param_1);\n    return puVar6;\n  }\n  if ((char)param_1[3] != '\x05') {\n    return PTR__bfd_std_section_0007afb4 + 0x150;\n  }\n  return DAT_00083dbc;\n}" ({ "{") (declaration "short *psVar1;" (sized_type_specifier "short" (short "short")) (pointer_declarator "*psVar1" (* "*") (identifier "psVar1")) (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "void *__ptr;" (primitive_type "void") (pointer_declarator "*__ptr" (* "*") (identifier "__ptr")) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "char *pcVar8;" (primitive_type "char") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "ushort *puVar11;" (type_identifier "ushort") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined2 *puVar12;" (type_identifier "undefined2") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined2 *puVar13;" (type_identifier "undefined2") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "byte *pbVar14;" (type_identifier "byte") (pointer_declarator "*pbVar14" (* "*") (identifier "pbVar14")) (; ";")) (declaration "bool bVar15;" (primitive_type "bool") (identifier "bVar15") (; ";")) (declaration "byte *local_3c;" (type_identifier "byte") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "byte *local_20 [3];" (type_identifier "byte") (pointer_declarator "*local_20 [3]" (* "*") (array_declarator "local_20 [3]" (identifier "local_20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x245ab;" (assignment_expression "uStack_14 = 0x245ab" (identifier "uStack_14") (= "=") (number_literal "0x245ab")) (; ";")) (expression_statement "*(byte *)((int)param_1 + 0xd) = *(byte *)((int)param_1 + 0xd) & 0xfc | 1;" (assignment_expression "*(byte *)((int)param_1 + 0xd) = *(byte *)((int)param_1 + 0xd) & 0xfc | 1" (pointer_expression "*(byte *)((int)param_1 + 0xd)" (* "*") (cast_expression "(byte *)((int)param_1 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0xd)" (( "(") (binary_expression "(int)param_1 + 0xd" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0xd")) () ")")))) (= "=") (binary_expression "*(byte *)((int)param_1 + 0xd) & 0xfc | 1" (binary_expression "*(byte *)((int)param_1 + 0xd) & 0xfc" (pointer_expression "*(byte *)((int)param_1 + 0xd)" (* "*") (cast_expression "(byte *)((int)param_1 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0xd)" (( "(") (binary_expression "(int)param_1 + 0xd" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0xd")) () ")")))) (& "&") (number_literal "0xfc")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "pbVar14 = DAT_00083ef0;" (assignment_expression "pbVar14 = DAT_00083ef0" (identifier "pbVar14") (= "=") (identifier "DAT_00083ef0")) (; ";")) (expression_statement "local_3c = DAT_00083ef0 + 1;" (assignment_expression "local_3c = DAT_00083ef0 + 1" (identifier "local_3c") (= "=") (binary_expression "DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*DAT_00083ef0 == 0x20) {\n    local_3c = DAT_00083ef0 + 2;\n    pbVar14 = DAT_00083ef0 + 1;\n  }" (if "if") (parenthesized_expression "(*DAT_00083ef0 == 0x20)" (( "(") (binary_expression "*DAT_00083ef0 == 0x20" (pointer_expression "*DAT_00083ef0" (* "*") (identifier "DAT_00083ef0")) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n    local_3c = DAT_00083ef0 + 2;\n    pbVar14 = DAT_00083ef0 + 1;\n  }" ({ "{") (expression_statement "local_3c = DAT_00083ef0 + 2;" (assignment_expression "local_3c = DAT_00083ef0 + 2" (identifier "local_3c") (= "=") (binary_expression "DAT_00083ef0 + 2" (identifier "DAT_00083ef0") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pbVar14 = DAT_00083ef0 + 1;" (assignment_expression "pbVar14 = DAT_00083ef0 + 1" (identifier "pbVar14") (= "=") (binary_expression "DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "DAT_00083ef0 = local_3c;" (assignment_expression "DAT_00083ef0 = local_3c" (identifier "DAT_00083ef0") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "bVar3 = *pbVar14;" (assignment_expression "bVar3 = *pbVar14" (identifier "bVar3") (= "=") (pointer_expression "*pbVar14" (* "*") (identifier "pbVar14"))) (; ";")) (expression_statement "uVar4 = (uint)bVar3;" (assignment_expression "uVar4 = (uint)bVar3" (identifier "uVar4") (= "=") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3"))) (; ";")) (if_statement "if ((&DAT_0007b2c0)[uVar4] != '\0') {\nLAB_00024620:\n    *(undefined1 *)(param_1 + 3) = 1;\n    DAT_00083ef0 = pbVar14;\n    goto LAB_00024626;\n  }" (if "if") (parenthesized_expression "((&DAT_0007b2c0)[uVar4] != '\0')" (( "(") (binary_expression "(&DAT_0007b2c0)[uVar4] != '\0'" (subscript_expression "(&DAT_0007b2c0)[uVar4]" (parenthesized_expression "(&DAT_0007b2c0)" (( "(") (pointer_expression "&DAT_0007b2c0" (& "&") (identifier "DAT_0007b2c0")) () ")")) ([ "[") (identifier "uVar4") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_00024620:\n    *(undefined1 *)(param_1 + 3) = 1;\n    DAT_00083ef0 = pbVar14;\n    goto LAB_00024626;\n  }" ({ "{") (labeled_statement "LAB_00024620:\n    *(undefined1 *)(param_1 + 3) = 1;" (statement_identifier "LAB_00024620") (: ":") (expression_statement "*(undefined1 *)(param_1 + 3) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 1" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "1")) (; ";"))) (expression_statement "DAT_00083ef0 = pbVar14;" (assignment_expression "DAT_00083ef0 = pbVar14" (identifier "DAT_00083ef0") (= "=") (identifier "pbVar14")) (; ";")) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";")) (} "}"))) (switch_statement "switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    FUN_000245a0();\n    bVar2 = *(byte *)(param_1 + 3);\n    if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }\n    iVar5 = FUN_000238a0(param_1);\n    *param_1 = iVar5;\n    if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    DAT_00083ef0 = pbVar14 + 2;\n    *(undefined1 *)(param_1 + 3) = 2;\n    param_1[2] = (int)(char)pbVar14[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_00024620;\n  case 0xd:\n    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }\n    *(undefined1 *)(param_1 + 3) = 3;\n    *param_1 = (int)&DAT_00083fe0;\n    break;\n  case 0xf:\n    bVar3 = pbVar14[1];\n    switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto code_r0x00024770;\n  case 0x5d:\n    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }\nLAB_00024ae0:\n    DAT_00083ef0 = pbVar14;\n    bVar3 = FUN_00024470(local_20);\n    iVar5 = FUN_0003b230(local_20[0]);\n    puVar6 = (undefined *)FUN_00039580(iVar5);\n    if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }\n    *DAT_00083ef0 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_00023880();\n    }\n    goto LAB_00024626;\n  }" (switch "switch") (parenthesized_expression "(uVar4 - 0x21 & 0xff)" (( "(") (binary_expression "uVar4 - 0x21 & 0xff" (binary_expression "uVar4 - 0x21" (identifier "uVar4") (- "-") (number_literal "0x21")) (& "&") (number_literal "0xff")) () ")")) (compound_statement "{\n  case 0:\n  case 10:\n  case 0xc:\n    FUN_000245a0();\n    bVar2 = *(byte *)(param_1 + 3);\n    if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }\n    iVar5 = FUN_000238a0(param_1);\n    *param_1 = iVar5;\n    if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;\n  case 6:\n    DAT_00083ef0 = pbVar14 + 2;\n    *(undefined1 *)(param_1 + 3) = 2;\n    param_1[2] = (int)(char)pbVar14[1];\n    goto LAB_00024626;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_00024620;\n  case 0xd:\n    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }\n    *(undefined1 *)(param_1 + 3) = 3;\n    *param_1 = (int)&DAT_00083fe0;\n    break;\n  case 0xf:\n    bVar3 = pbVar14[1];\n    switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }\n    goto LAB_00024626;\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x14:\n  case 0x15:\n  case 0x16:\n  case 0x17:\n  case 0x18:\n    goto code_r0x00024770;\n  case 0x5d:\n    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }\nLAB_00024ae0:\n    DAT_00083ef0 = pbVar14;\n    bVar3 = FUN_00024470(local_20);\n    iVar5 = FUN_0003b230(local_20[0]);\n    puVar6 = (undefined *)FUN_00039580(iVar5);\n    if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }\n    *DAT_00083ef0 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_00023880();\n    }\n    goto LAB_00024626;\n  }" ({ "{") (case_statement "case 0:" (case "case") (number_literal "0") (: ":")) (case_statement "case 10:" (case "case") (number_literal "10") (: ":")) (case_statement "case 0xc:\n    FUN_000245a0();\n    bVar2 = *(byte *)(param_1 + 3);\n    if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }\n    if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }\n    iVar5 = FUN_000238a0(param_1);\n    *param_1 = iVar5;\n    if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }\n    break;" (case "case") (number_literal "0xc") (: ":") (expression_statement "FUN_000245a0();" (call_expression "FUN_000245a0()" (identifier "FUN_000245a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bVar2 = *(byte *)(param_1 + 3);" (assignment_expression "bVar2 = *(byte *)(param_1 + 3)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(param_1 + 3)" (* "*") (cast_expression "(byte *)(param_1 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (if_statement "if (bVar2 == 2) {\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }" (if "if") (parenthesized_expression "(bVar2 == 2)" (( "(") (binary_expression "bVar2 == 2" (identifier "bVar2") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }\n      if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }\ncode_r0x00024d54:\n      param_1[2] = ~param_1[2];\n      goto LAB_00024626;\n    }" ({ "{") (if_statement "if (bVar3 == 0x2d) {\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }" (if "if") (parenthesized_expression "(bVar3 == 0x2d)" (( "(") (binary_expression "bVar3 == 0x2d" (identifier "bVar3") (== "==") (number_literal "0x2d")) () ")")) (compound_statement "{\n        bVar3 = *(byte *)((int)param_1 + 0xd);\n        iVar5 = param_1[2];\n        param_1[2] = -iVar5;\n        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;\n        if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_00024626;\n      }" ({ "{") (expression_statement "bVar3 = *(byte *)((int)param_1 + 0xd);" (assignment_expression "bVar3 = *(byte *)((int)param_1 + 0xd)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)((int)param_1 + 0xd)" (* "*") (cast_expression "(byte *)((int)param_1 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0xd)" (( "(") (binary_expression "(int)param_1 + 0xd" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0xd")) () ")"))))) (; ";")) (expression_statement "iVar5 = param_1[2];" (assignment_expression "iVar5 = param_1[2]" (identifier "iVar5") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_1[2] = -iVar5;" (assignment_expression "param_1[2] = -iVar5" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (unary_expression "-iVar5" (- "-") (identifier "iVar5"))) (; ";")) (expression_statement "*(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;" (assignment_expression "*(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe" (pointer_expression "*(byte *)((int)param_1 + 0xd)" (* "*") (cast_expression "(byte *)((int)param_1 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0xd)" (( "(") (binary_expression "(int)param_1 + 0xd" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0xd")) () ")")))) (= "=") (binary_expression "bVar3 & 0xfe" (identifier "bVar3") (& "&") (number_literal "0xfe"))) (; ";")) (if_statement "if (-iVar5 != 0) {\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }" (if "if") (parenthesized_expression "(-iVar5 != 0)" (( "(") (binary_expression "-iVar5 != 0" (unary_expression "-iVar5" (- "-") (identifier "iVar5")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }" ({ "{") (expression_statement "*(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;" (assignment_expression "*(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc" (pointer_expression "*(byte *)((int)param_1 + 0xd)" (* "*") (cast_expression "(byte *)((int)param_1 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0xd)" (( "(") (binary_expression "(int)param_1 + 0xd" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0xd")) () ")")))) (= "=") (binary_expression "(bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc" (binary_expression "(bVar3 >> 1 & 1 ^ 1) * '\x02'" (parenthesized_expression "(bVar3 >> 1 & 1 ^ 1)" (( "(") (binary_expression "bVar3 >> 1 & 1 ^ 1" (binary_expression "bVar3 >> 1 & 1" (binary_expression "bVar3 >> 1" (identifier "bVar3") (>> ">>") (number_literal "1")) (& "&") (number_literal "1")) (^ "^") (number_literal "1")) () ")")) (* "*") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (| "|") (binary_expression "bVar3 & 0xfc" (identifier "bVar3") (& "&") (number_literal "0xfc")))) (; ";")) (} "}"))) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";")) (} "}"))) (if_statement "if (bVar3 != 0x22) {\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }" (if "if") (parenthesized_expression "(bVar3 != 0x22)" (( "(") (binary_expression "bVar3 != 0x22" (identifier "bVar3") (!= "!=") (number_literal "0x22")) () ")")) (compound_statement "{\n        if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }\n        goto LAB_00024626;\n      }" ({ "{") (if_statement "if (bVar3 == 0x21) {\n          param_1[2] = (uint)(param_1[2] == 0);\n        }" (if "if") (parenthesized_expression "(bVar3 == 0x21)" (( "(") (binary_expression "bVar3 == 0x21" (identifier "bVar3") (== "==") (number_literal "0x21")) () ")")) (compound_statement "{\n          param_1[2] = (uint)(param_1[2] == 0);\n        }" ({ "{") (expression_statement "param_1[2] = (uint)(param_1[2] == 0);" (assignment_expression "param_1[2] = (uint)(param_1[2] == 0)" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (call_expression "(uint)(param_1[2] == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_1[2] == 0)" (( "(") (binary_expression "param_1[2] == 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")")))) (; ";")) (} "}"))) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";")) (} "}"))) (labeled_statement "code_r0x00024d54:\n      param_1[2] = ~param_1[2];" (statement_identifier "code_r0x00024d54") (: ":") (expression_statement "param_1[2] = ~param_1[2];" (assignment_expression "param_1[2] = ~param_1[2]" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (unary_expression "~param_1[2]" (~ "~") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (; ";"))) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";")) (} "}"))) (if_statement "if (bVar2 == 6) {\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }\n    else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }" (if "if") (parenthesized_expression "(bVar2 == 6)" (( "(") (binary_expression "bVar2 == 6" (identifier "bVar2") (== "==") (number_literal "6")) () ")")) (compound_statement "{\n      bVar15 = bVar3 == 0x2d;\n      iVar5 = param_1[2];\n      if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }\n      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }\n    }" ({ "{") (expression_statement "bVar15 = bVar3 == 0x2d;" (assignment_expression "bVar15 = bVar3 == 0x2d" (identifier "bVar15") (= "=") (binary_expression "bVar3 == 0x2d" (identifier "bVar3") (== "==") (number_literal "0x2d"))) (; ";")) (expression_statement "iVar5 = param_1[2];" (assignment_expression "iVar5 = param_1[2]" (identifier "iVar5") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if ((0 < iVar5) || (!bVar15)) {\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }" (if "if") (parenthesized_expression "((0 < iVar5) || (!bVar15))" (( "(") (binary_expression "(0 < iVar5) || (!bVar15)" (parenthesized_expression "(0 < iVar5)" (( "(") (binary_expression "0 < iVar5" (number_literal "0") (< "<") (identifier "iVar5")) () ")")) (|| "||") (parenthesized_expression "(!bVar15)" (( "(") (unary_expression "!bVar15" (! "!") (identifier "bVar15")) () ")"))) () ")")) (compound_statement "{\ncode_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }\n        goto code_r0x00024a1e;\n      }" ({ "{") (labeled_statement "code_r0x00024921:\n        if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }" (statement_identifier "code_r0x00024921") (: ":") (if_statement "if (0 < iVar5) {\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }" (if "if") (parenthesized_expression "(0 < iVar5)" (( "(") (binary_expression "0 < iVar5" (number_literal "0") (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n          if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }\n          goto LAB_00024626;\n        }" ({ "{") (if_statement "if ((bVar3 == 0x7e) || (bVar15)) {\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }\n          else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }" (if "if") (parenthesized_expression "((bVar3 == 0x7e) || (bVar15))" (( "(") (binary_expression "(bVar3 == 0x7e) || (bVar15)" (parenthesized_expression "(bVar3 == 0x7e)" (( "(") (binary_expression "bVar3 == 0x7e" (identifier "bVar3") (== "==") (number_literal "0x7e")) () ")")) (|| "||") (parenthesized_expression "(bVar15)" (( "(") (identifier "bVar15") () ")"))) () ")")) (compound_statement "{\n            puVar11 = (ushort *)&DAT_00083e80;\n            do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));\n            if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }\n            if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }\n          }" ({ "{") (expression_statement "puVar11 = (ushort *)&DAT_00083e80;" (assignment_expression "puVar11 = (ushort *)&DAT_00083e80" (identifier "puVar11") (= "=") (cast_expression "(ushort *)&DAT_00083e80" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00083e80" (& "&") (identifier "DAT_00083e80")))) (; ";")) (do_statement "do {\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));" (do "do") (compound_statement "{\n              *puVar11 = ~*puVar11;\n              puVar11 = puVar11 + 1;\n            }" ({ "{") (expression_statement "*puVar11 = ~*puVar11;" (assignment_expression "*puVar11 = ~*puVar11" (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) (= "=") (unary_expression "~*puVar11" (~ "~") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")))) (; ";")) (expression_statement "puVar11 = puVar11 + 1;" (assignment_expression "puVar11 = puVar11 + 1" (identifier "puVar11") (= "=") (binary_expression "puVar11 + 1" (identifier "puVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2))" (( "(") (binary_expression "puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2)" (identifier "puVar11") (!= "!=") (cast_expression "(ushort *)((int)&DAT_00083e80 + iVar5 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00083e80 + iVar5 * 2)" (( "(") (binary_expression "(int)&DAT_00083e80 + iVar5 * 2" (cast_expression "(int)&DAT_00083e80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00083e80" (& "&") (identifier "DAT_00083e80"))) (+ "+") (binary_expression "iVar5 * 2" (identifier "iVar5") (* "*") (number_literal "2"))) () ")")))) () ")")) (; ";")) (if_statement "if (iVar5 < 0x14) {\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }" (if "if") (parenthesized_expression "(iVar5 < 0x14)" (( "(") (binary_expression "iVar5 < 0x14" (identifier "iVar5") (< "<") (number_literal "0x14")) () ")")) (compound_statement "{\n              param_1[2] = 0x14;\n              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);\n              do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);\n            }" ({ "{") (expression_statement "param_1[2] = 0x14;" (assignment_expression "param_1[2] = 0x14" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x14")) (; ";")) (expression_statement "puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);" (assignment_expression "puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2)" (identifier "puVar12") (= "=") (cast_expression "(undefined2 *)((int)&DAT_00083e80 + iVar5 * 2)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00083e80 + iVar5 * 2)" (( "(") (binary_expression "(int)&DAT_00083e80 + iVar5 * 2" (cast_expression "(int)&DAT_00083e80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00083e80" (& "&") (identifier "DAT_00083e80"))) (+ "+") (binary_expression "iVar5 * 2" (identifier "iVar5") (* "*") (number_literal "2"))) () ")")))) (; ";")) (do_statement "do {\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              } while (puVar13 != (undefined2 *)0x83ea8);" (do "do") (compound_statement "{\n                puVar13 = puVar12 + 1;\n                *puVar12 = 0xffff;\n                puVar12 = puVar13;\n              }" ({ "{") (expression_statement "puVar13 = puVar12 + 1;" (assignment_expression "puVar13 = puVar12 + 1" (identifier "puVar13") (= "=") (binary_expression "puVar12 + 1" (identifier "puVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar12 = 0xffff;" (assignment_expression "*puVar12 = 0xffff" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (number_literal "0xffff")) (; ";")) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" (identifier "puVar12") (= "=") (identifier "puVar13")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar13 != (undefined2 *)0x83ea8)" (( "(") (binary_expression "puVar13 != (undefined2 *)0x83ea8" (identifier "puVar13") (!= "!=") (cast_expression "(undefined2 *)0x83ea8" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x83ea8"))) () ")")) (; ";")) (} "}"))) (if_statement "if (bVar15) {\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }" (if "if") (parenthesized_expression "(bVar15)" (( "(") (identifier "bVar15") () ")")) (compound_statement "{\n              iVar5 = param_1[2];\n              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;\n              if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }\n            }" ({ "{") (expression_statement "iVar5 = param_1[2];" (assignment_expression "iVar5 = param_1[2]" (identifier "iVar5") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;" (assignment_expression "DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1" (field_expression "DAT_00083e80._0_2_" (identifier "DAT_00083e80") (. ".") (field_identifier "_0_2_")) (= "=") (binary_expression "(short)DAT_00083e80 + 1" (cast_expression "(short)DAT_00083e80" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "DAT_00083e80")) (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((short)DAT_00083e80 == 0) {\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }" (if "if") (parenthesized_expression "((short)DAT_00083e80 == 0)" (( "(") (binary_expression "(short)DAT_00083e80 == 0" (cast_expression "(short)DAT_00083e80" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "DAT_00083e80")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                iVar10 = 0;\n                do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);\n              }" ({ "{") (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                } while (*psVar1 == 0);" (do "do") (compound_statement "{\n                  iVar10 = iVar10 + 1;\n                  if (iVar5 <= iVar10) break;\n                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);\n                  *psVar1 = *psVar1 + 1;\n                }" ({ "{") (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar5 <= iVar10) break;" (if "if") (parenthesized_expression "(iVar5 <= iVar10)" (( "(") (binary_expression "iVar5 <= iVar10" (identifier "iVar5") (<= "<=") (identifier "iVar10")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);" (assignment_expression "psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2)" (identifier "psVar1") (= "=") (cast_expression "(short *)((int)&DAT_00083e80 + iVar10 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00083e80 + iVar10 * 2)" (( "(") (binary_expression "(int)&DAT_00083e80 + iVar10 * 2" (cast_expression "(int)&DAT_00083e80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00083e80" (& "&") (identifier "DAT_00083e80"))) (+ "+") (binary_expression "iVar10 * 2" (identifier "iVar10") (* "*") (number_literal "2"))) () ")")))) (; ";")) (expression_statement "*psVar1 = *psVar1 + 1;" (assignment_expression "*psVar1 = *psVar1 + 1" (pointer_expression "*psVar1" (* "*") (identifier "psVar1")) (= "=") (binary_expression "*psVar1 + 1" (pointer_expression "*psVar1" (* "*") (identifier "psVar1")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*psVar1 == 0)" (( "(") (binary_expression "*psVar1 == 0" (pointer_expression "*psVar1" (* "*") (identifier "psVar1")) (== "==") (number_literal "0")) () ")")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }" (else "else") (if_statement "if (bVar3 == 0x21) {\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }" (if "if") (parenthesized_expression "(bVar3 == 0x21)" (( "(") (binary_expression "bVar3 == 0x21" (identifier "bVar3") (== "==") (number_literal "0x21")) () ")")) (compound_statement "{\n            iVar10 = 0;\n            do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);\n            param_1[2] = (uint)(iVar5 <= iVar10);\n            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;\n          }" ({ "{") (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            } while (iVar10 != iVar5);" (do "do") (compound_statement "{\n              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;\n              iVar10 = iVar10 + 1;\n            }" ({ "{") (if_statement "if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;" (if "if") (parenthesized_expression "(*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0)" (( "(") (binary_expression "*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0" (pointer_expression "*(short *)((int)&DAT_00083e80 + iVar10 * 2)" (* "*") (cast_expression "(short *)((int)&DAT_00083e80 + iVar10 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00083e80 + iVar10 * 2)" (( "(") (binary_expression "(int)&DAT_00083e80 + iVar10 * 2" (cast_expression "(int)&DAT_00083e80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00083e80" (& "&") (identifier "DAT_00083e80"))) (+ "+") (binary_expression "iVar10 * 2" (identifier "iVar10") (* "*") (number_literal "2"))) () ")")))) (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar10 != iVar5)" (( "(") (binary_expression "iVar10 != iVar5" (identifier "iVar10") (!= "!=") (identifier "iVar5")) () ")")) (; ";")) (expression_statement "param_1[2] = (uint)(iVar5 <= iVar10);" (assignment_expression "param_1[2] = (uint)(iVar5 <= iVar10)" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (call_expression "(uint)(iVar5 <= iVar10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar5 <= iVar10)" (( "(") (binary_expression "iVar5 <= iVar10" (identifier "iVar5") (<= "<=") (identifier "iVar10")) () ")")))) (; ";")) (expression_statement "*(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;" (assignment_expression "*(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102" (pointer_expression "*(ushort *)(param_1 + 3)" (* "*") (cast_expression "(ushort *)(param_1 + 3)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (binary_expression "*(ushort *)(param_1 + 3) & 0xfc00 | 0x102" (binary_expression "*(ushort *)(param_1 + 3) & 0xfc00" (pointer_expression "*(ushort *)(param_1 + 3)" (* "*") (cast_expression "(ushort *)(param_1 + 3)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0xfc00")) (| "|") (number_literal "0x102"))) (; ";")) (} "}"))))) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";")) (} "}")))) (goto_statement "goto code_r0x00024a1e;" (goto "goto") (statement_identifier "code_r0x00024a1e") (; ";")) (} "}"))) (if_statement "if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }" (if "if") (parenthesized_expression "((DAT_0007b270 == '+') || (DAT_0007b270 == 'P'))" (( "(") (binary_expression "(DAT_0007b270 == '+') || (DAT_0007b270 == 'P')" (parenthesized_expression "(DAT_0007b270 == '+')" (( "(") (binary_expression "DAT_0007b270 == '+'" (identifier "DAT_0007b270") (== "==") (char_literal "'+'" (' "'") (character "+") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(DAT_0007b270 == 'P')" (( "(") (binary_expression "DAT_0007b270 == 'P'" (identifier "DAT_0007b270") (== "==") (char_literal "'P'" (' "'") (character "P") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        bVar15 = DAT_0007b270 == '+';\n        DAT_0007b270 = 'N';\n        if (bVar15) {\n          DAT_0007b270 = '-';\n        }\n        goto LAB_00024626;\n      }" ({ "{") (expression_statement "bVar15 = DAT_0007b270 == '+';" (assignment_expression "bVar15 = DAT_0007b270 == '+'" (identifier "bVar15") (= "=") (binary_expression "DAT_0007b270 == '+'" (identifier "DAT_0007b270") (== "==") (char_literal "'+'" (' "'") (character "+") (' "'")))) (; ";")) (expression_statement "DAT_0007b270 = 'N';" (assignment_expression "DAT_0007b270 = 'N'" (identifier "DAT_0007b270") (= "=") (char_literal "'N'" (' "'") (character "N") (' "'"))) (; ";")) (if_statement "if (bVar15) {\n          DAT_0007b270 = '-';\n        }" (if "if") (parenthesized_expression "(bVar15)" (( "(") (identifier "bVar15") () ")")) (compound_statement "{\n          DAT_0007b270 = '-';\n        }" ({ "{") (expression_statement "DAT_0007b270 = '-';" (assignment_expression "DAT_0007b270 = '-'" (identifier "DAT_0007b270") (= "=") (char_literal "'-'" (' "'") (character "-") (' "'"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";")) (} "}"))) (} "}")) (else_clause "else {\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }" (else "else") (compound_statement "{\ncode_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }\ncode_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;\n    }" ({ "{") (labeled_statement "code_r0x00024a16:\n      if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }" (statement_identifier "code_r0x00024a16") (: ":") (if_statement "if (bVar2 < 2) {\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }" (if "if") (parenthesized_expression "(bVar2 < 2)" (( "(") (binary_expression "bVar2 < 2" (identifier "bVar2") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002d580(uVar7,(int)(char)bVar3);\n        goto LAB_00024626;\n      }" ({ "{") (expression_statement "uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);" (assignment_expression "uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"Unary operator %c ignored because bad operand follows",5)" (identifier "dcgettext") (argument_list "(0,"Unary operator %c ignored because bad operand follows",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Unary operator %c ignored because bad operand follows"" (" """) (string_content "Unary operator %c ignored because bad operand follows") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002d580(uVar7,(int)(char)bVar3);" (call_expression "FUN_0002d580(uVar7,(int)(char)bVar3)" (identifier "FUN_0002d580") (argument_list "(uVar7,(int)(char)bVar3)" (( "(") (identifier "uVar7") (, ",") (cast_expression "(int)(char)bVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3"))) () ")"))) (; ";")) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";")) (} "}")))) (labeled_statement "code_r0x00024a1e:\n      if (bVar3 == 0x2b) goto LAB_00024626;" (statement_identifier "code_r0x00024a1e") (: ":") (if_statement "if (bVar3 == 0x2b) goto LAB_00024626;" (if "if") (parenthesized_expression "(bVar3 == 0x2b)" (( "(") (binary_expression "bVar3 == 0x2b" (identifier "bVar3") (== "==") (number_literal "0x2b")) () ")")) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";")))) (} "}")))) (expression_statement "iVar5 = FUN_000238a0(param_1);" (assignment_expression "iVar5 = FUN_000238a0(param_1)" (identifier "iVar5") (= "=") (call_expression "FUN_000238a0(param_1)" (identifier "FUN_000238a0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "*param_1 = iVar5;" (assignment_expression "*param_1 = iVar5" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "iVar5")) (; ";")) (if_statement "if (bVar3 == 0x2d) {\n      *(undefined1 *)(param_1 + 3) = 7;\n    }\n    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }" (if "if") (parenthesized_expression "(bVar3 == 0x2d)" (( "(") (binary_expression "bVar3 == 0x2d" (identifier "bVar3") (== "==") (number_literal "0x2d")) () ")")) (compound_statement "{\n      *(undefined1 *)(param_1 + 3) = 7;\n    }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 3) = 7;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 7" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "7")) (; ";")) (} "}")) (else_clause "else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }" (else "else") (if_statement "if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }" (if "if") (parenthesized_expression "((bVar3 == 0x7e) || (bVar3 == 0x22))" (( "(") (binary_expression "(bVar3 == 0x7e) || (bVar3 == 0x22)" (parenthesized_expression "(bVar3 == 0x7e)" (( "(") (binary_expression "bVar3 == 0x7e" (identifier "bVar3") (== "==") (number_literal "0x7e")) () ")")) (|| "||") (parenthesized_expression "(bVar3 == 0x22)" (( "(") (binary_expression "bVar3 == 0x22" (identifier "bVar3") (== "==") (number_literal "0x22")) () ")"))) () ")")) (compound_statement "{\n      *(undefined1 *)(param_1 + 3) = 8;\n    }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 3) = 8;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 8" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "8")) (; ";")) (} "}")) (else_clause "else {\n      *(undefined1 *)(param_1 + 3) = 9;\n    }" (else "else") (compound_statement "{\n      *(undefined1 *)(param_1 + 3) = 9;\n    }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 3) = 9;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 9" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "9")) (; ";")) (} "}")))))) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }\n    goto LAB_00024ae0;" (default "default") (: ":") (if_statement "if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }" (if "if") (parenthesized_expression "((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22))" (( "(") (binary_expression "(((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)" (parenthesized_expression "(((&DAT_0007b3c0)[uVar4] & 2) == 0)" (( "(") (binary_expression "((&DAT_0007b3c0)[uVar4] & 2) == 0" (parenthesized_expression "((&DAT_0007b3c0)[uVar4] & 2)" (( "(") (binary_expression "(&DAT_0007b3c0)[uVar4] & 2" (subscript_expression "(&DAT_0007b3c0)[uVar4]" (parenthesized_expression "(&DAT_0007b3c0)" (( "(") (pointer_expression "&DAT_0007b3c0" (& "&") (identifier "DAT_0007b3c0")) () ")")) ([ "[") (identifier "uVar4") (] "]")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(bVar3 != 0x22)" (( "(") (binary_expression "bVar3 != 0x22" (identifier "bVar3") (!= "!=") (number_literal "0x22")) () ")"))) () ")")) (compound_statement "{\n      *(undefined1 *)(param_1 + 3) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002d660(uVar7);\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      goto LAB_00024626;\n    }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 3) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 1" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar7 = dcgettext(0,"bad expression",5);" (assignment_expression "uVar7 = dcgettext(0,"bad expression",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"bad expression",5)" (identifier "dcgettext") (argument_list "(0,"bad expression",5)" (( "(") (number_literal "0") (, ",") (string_literal ""bad expression"" (" """) (string_content "bad expression") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002d660(uVar7);" (call_expression "FUN_0002d660(uVar7)" (identifier "FUN_0002d660") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 3) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 2" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";")) (} "}"))) (goto_statement "goto LAB_00024ae0;" (goto "goto") (statement_identifier "LAB_00024ae0") (; ";"))) (case_statement "case 6:\n    DAT_00083ef0 = pbVar14 + 2;\n    *(undefined1 *)(param_1 + 3) = 2;\n    param_1[2] = (int)(char)pbVar14[1];\n    goto LAB_00024626;" (case "case") (number_literal "6") (: ":") (expression_statement "DAT_00083ef0 = pbVar14 + 2;" (assignment_expression "DAT_00083ef0 = pbVar14 + 2" (identifier "DAT_00083ef0") (= "=") (binary_expression "pbVar14 + 2" (identifier "pbVar14") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 3) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 2" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "param_1[2] = (int)(char)pbVar14[1];" (assignment_expression "param_1[2] = (int)(char)pbVar14[1]" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int)(char)pbVar14[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar14[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar14[1]" (identifier "pbVar14") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";"))) (case_statement "case 7:" (case "case") (number_literal "7") (: ":")) (case_statement "case 0x3a:\n    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }\n    return puVar6;" (case "case") (number_literal "0x3a") (: ":") (expression_statement "puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);" (assignment_expression "puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2)" (identifier "puVar6") (= "=") (cast_expression "(undefined *)FUN_00024f00(0,param_1,param_2)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024f00(0,param_1,param_2)" (identifier "FUN_00024f00") (argument_list "(0,param_1,param_2)" (( "(") (number_literal "0") (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))))) (; ";")) (if_statement "if (bVar3 == 0x28) {\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }" (if "if") (parenthesized_expression "(bVar3 == 0x28)" (( "(") (binary_expression "bVar3 == 0x28" (identifier "bVar3") (== "==") (number_literal "0x28")) () ")")) (compound_statement "{\n      bVar3 = *DAT_00083ef0;\n      if (bVar3 == 0x29) goto code_r0x000249c4;\n      uVar7 = 0x29;\n    }" ({ "{") (expression_statement "bVar3 = *DAT_00083ef0;" (assignment_expression "bVar3 = *DAT_00083ef0" (identifier "bVar3") (= "=") (pointer_expression "*DAT_00083ef0" (* "*") (identifier "DAT_00083ef0"))) (; ";")) (if_statement "if (bVar3 == 0x29) goto code_r0x000249c4;" (if "if") (parenthesized_expression "(bVar3 == 0x29)" (( "(") (binary_expression "bVar3 == 0x29" (identifier "bVar3") (== "==") (number_literal "0x29")) () ")")) (goto_statement "goto code_r0x000249c4;" (goto "goto") (statement_identifier "code_r0x000249c4") (; ";"))) (expression_statement "uVar7 = 0x29;" (assignment_expression "uVar7 = 0x29" (identifier "uVar7") (= "=") (number_literal "0x29")) (; ";")) (} "}")) (else_clause "else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }" (else "else") (compound_statement "{\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }\n      uVar7 = 0x5d;\n    }" ({ "{") (if_statement "if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }" (if "if") (parenthesized_expression "((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d))" (( "(") (binary_expression "(bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)" (parenthesized_expression "(bVar3 != 0x5b)" (( "(") (binary_expression "bVar3 != 0x5b" (identifier "bVar3") (!= "!=") (number_literal "0x5b")) () ")")) (|| "||") (parenthesized_expression "(bVar3 = *DAT_00083ef0, bVar3 == 0x5d)" (( "(") (comma_expression "bVar3 = *DAT_00083ef0, bVar3 == 0x5d" (assignment_expression "bVar3 = *DAT_00083ef0" (identifier "bVar3") (= "=") (pointer_expression "*DAT_00083ef0" (* "*") (identifier "DAT_00083ef0"))) (, ",") (binary_expression "bVar3 == 0x5d" (identifier "bVar3") (== "==") (number_literal "0x5d"))) () ")"))) () ")")) (compound_statement "{\ncode_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;\n        goto code_r0x000249c9;\n      }" ({ "{") (labeled_statement "code_r0x000249c4:\n        DAT_00083ef0 = DAT_00083ef0 + 1;" (statement_identifier "code_r0x000249c4") (: ":") (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (= "=") (binary_expression "DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (+ "+") (number_literal "1"))) (; ";"))) (goto_statement "goto code_r0x000249c9;" (goto "goto") (statement_identifier "code_r0x000249c9") (; ";")) (} "}"))) (expression_statement "uVar7 = 0x5d;" (assignment_expression "uVar7 = 0x5d" (identifier "uVar7") (= "=") (number_literal "0x5d")) (; ";")) (} "}")))) (if_statement "if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }" (if "if") (parenthesized_expression "(bVar3 == 0)" (( "(") (binary_expression "bVar3 == 0" (identifier "bVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002d660(uVar9,uVar7);\n    }" ({ "{") (expression_statement "uVar9 = dcgettext(0,"missing \'%c\'",5);" (assignment_expression "uVar9 = dcgettext(0,"missing \'%c\'",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"missing \'%c\'",5)" (identifier "dcgettext") (argument_list "(0,"missing \'%c\'",5)" (( "(") (number_literal "0") (, ",") (string_literal ""missing \'%c\'"" (" """) (string_content "missing ") (escape_sequence "\'") (string_content "%c") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002d660(uVar9,uVar7);" (call_expression "FUN_0002d660(uVar9,uVar7)" (identifier "FUN_0002d660") (argument_list "(uVar9,uVar7)" (( "(") (identifier "uVar9") (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }" (else "else") (compound_statement "{\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);\n    }" ({ "{") (expression_statement "uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);" (assignment_expression "uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"found \'%c\', expected: \'%c\'",5)" (identifier "dcgettext") (argument_list "(0,"found \'%c\', expected: \'%c\'",5)" (( "(") (number_literal "0") (, ",") (string_literal ""found \'%c\', expected: \'%c\'"" (" """) (string_content "found ") (escape_sequence "\'") (string_content "%c") (escape_sequence "\'") (string_content ", expected: ") (escape_sequence "\'") (string_content "%c") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);" (call_expression "FUN_0002d660(uVar9,(int)(char)bVar3,uVar7)" (identifier "FUN_0002d660") (argument_list "(uVar9,(int)(char)bVar3,uVar7)" (( "(") (identifier "uVar9") (, ",") (cast_expression "(int)(char)bVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3"))) (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}")))) (labeled_statement "code_r0x000249c9:\n    if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }" (statement_identifier "code_r0x000249c9") (: ":") (if_statement "if (*DAT_00083ef0 == 0x20) {\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }" (if "if") (parenthesized_expression "(*DAT_00083ef0 == 0x20)" (( "(") (binary_expression "*DAT_00083ef0 == 0x20" (pointer_expression "*DAT_00083ef0" (* "*") (identifier "DAT_00083ef0")) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n      DAT_00083ef0 = DAT_00083ef0 + 1;\n      return puVar6;\n    }" ({ "{") (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (= "=") (binary_expression "DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (+ "+") (number_literal "1"))) (; ";")) (return_statement "return puVar6;" (return "return") (identifier "puVar6") (; ";")) (} "}")))) (return_statement "return puVar6;" (return "return") (identifier "puVar6") (; ";"))) (case_statement "case 0xb:\n    goto LAB_00024620;" (case "case") (number_literal "0xb") (: ":") (goto_statement "goto LAB_00024620;" (goto "goto") (statement_identifier "LAB_00024620") (; ";"))) (case_statement "case 0xd:\n    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }\n    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }\n    *(undefined1 *)(param_1 + 3) = 3;\n    *param_1 = (int)&DAT_00083fe0;\n    break;" (case "case") (number_literal "0xd") (: ":") (if_statement "if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }" (if "if") (parenthesized_expression "(((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0)" (( "(") (binary_expression "((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0" (parenthesized_expression "((&DAT_0007b3c0)[pbVar14[1]] & 1)" (( "(") (binary_expression "(&DAT_0007b3c0)[pbVar14[1]] & 1" (subscript_expression "(&DAT_0007b3c0)[pbVar14[1]]" (parenthesized_expression "(&DAT_0007b3c0)" (( "(") (pointer_expression "&DAT_0007b3c0" (& "&") (identifier "DAT_0007b3c0")) () ")")) ([ "[") (subscript_expression "pbVar14[1]" (identifier "pbVar14") ([ "[") (number_literal "1") (] "]")) (] "]")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar5 = strncasecmp((char *)local_3c,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }\n      goto LAB_00024ae0;\n    }" ({ "{") (expression_statement "iVar5 = strncasecmp((char *)local_3c,"startof.",8);" (assignment_expression "iVar5 = strncasecmp((char *)local_3c,"startof.",8)" (identifier "iVar5") (= "=") (call_expression "strncasecmp((char *)local_3c,"startof.",8)" (identifier "strncasecmp") (argument_list "((char *)local_3c,"startof.",8)" (( "(") (cast_expression "(char *)local_3c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_3c")) (, ",") (string_literal ""startof."" (" """) (string_content "startof.") (" """)) (, ",") (number_literal "8") () ")")))) (; ";")) (if_statement "if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }" (if "if") (parenthesized_expression "(((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0))))" (( "(") (binary_expression "((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))" (parenthesized_expression "((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0))" (( "(") (binary_expression "(iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)" (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)" (( "(") (binary_expression "((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0" (parenthesized_expression "((&DAT_0007b3c0)[pbVar14[9]] & 1)" (( "(") (binary_expression "(&DAT_0007b3c0)[pbVar14[9]] & 1" (subscript_expression "(&DAT_0007b3c0)[pbVar14[9]]" (parenthesized_expression "(&DAT_0007b3c0)" (( "(") (pointer_expression "&DAT_0007b3c0" (& "&") (identifier "DAT_0007b3c0")) () ")")) ([ "[") (subscript_expression "pbVar14[9]" (identifier "pbVar14") ([ "[") (number_literal "9") (] "]")) (] "]")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))" (( "(") (parenthesized_expression "(iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0))" (( "(") (comma_expression "iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)" (assignment_expression "iVar5 = strncasecmp((char *)local_3c,"sizeof.",7)" (identifier "iVar5") (= "=") (call_expression "strncasecmp((char *)local_3c,"sizeof.",7)" (identifier "strncasecmp") (argument_list "((char *)local_3c,"sizeof.",7)" (( "(") (cast_expression "(char *)local_3c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_3c")) (, ",") (string_literal ""sizeof."" (" """) (string_content "sizeof.") (" """)) (, ",") (number_literal "7") () ")")))) (, ",") (binary_expression "iVar5 == 0 &&\n          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)" (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)" (( "(") (binary_expression "((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0" (parenthesized_expression "((&DAT_0007b3c0)[pbVar14[8]] & 1)" (( "(") (binary_expression "(&DAT_0007b3c0)[pbVar14[8]] & 1" (subscript_expression "(&DAT_0007b3c0)[pbVar14[8]]" (parenthesized_expression "(&DAT_0007b3c0)" (( "(") (pointer_expression "&DAT_0007b3c0" (& "&") (identifier "DAT_0007b3c0")) () ")")) ([ "[") (subscript_expression "pbVar14[8]" (identifier "pbVar14") ([ "[") (number_literal "8") (] "]")) (] "]")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        bVar3 = pbVar14[2];\n        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }\n        DAT_00083ef0 = local_3c;\n        *(undefined1 *)(param_1 + 3) = 1;\n        if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002d660(uVar7);\n        goto LAB_00024626;\n      }" ({ "{") (expression_statement "bVar3 = pbVar14[2];" (assignment_expression "bVar3 = pbVar14[2]" (identifier "bVar3") (= "=") (subscript_expression "pbVar14[2]" (identifier "pbVar14") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;" (assignment_expression "local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7" (identifier "local_3c") (= "=") (binary_expression "local_3c + ((bVar3 & 0xdf) == 0x54) + 7" (binary_expression "local_3c + ((bVar3 & 0xdf) == 0x54)" (identifier "local_3c") (+ "+") (parenthesized_expression "((bVar3 & 0xdf) == 0x54)" (( "(") (binary_expression "(bVar3 & 0xdf) == 0x54" (parenthesized_expression "(bVar3 & 0xdf)" (( "(") (binary_expression "bVar3 & 0xdf" (identifier "bVar3") (& "&") (number_literal "0xdf")) () ")")) (== "==") (number_literal "0x54")) () ")"))) (+ "+") (number_literal "7"))) (; ";")) (if_statement "if (*local_3c == 0x20) {\n          local_3c = local_3c + 1;\n        }" (if "if") (parenthesized_expression "(*local_3c == 0x20)" (( "(") (binary_expression "*local_3c == 0x20" (pointer_expression "*local_3c" (* "*") (identifier "local_3c")) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n          local_3c = local_3c + 1;\n        }" ({ "{") (expression_statement "local_3c = local_3c + 1;" (assignment_expression "local_3c = local_3c + 1" (identifier "local_3c") (= "=") (binary_expression "local_3c + 1" (identifier "local_3c") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "DAT_00083ef0 = local_3c;" (assignment_expression "DAT_00083ef0 = local_3c" (identifier "DAT_00083ef0") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 3) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 1" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "1")) (; ";")) (if_statement "if (*local_3c == 0x28) {\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }" (if "if") (parenthesized_expression "(*local_3c == 0x28)" (( "(") (binary_expression "*local_3c == 0x28" (pointer_expression "*local_3c" (* "*") (identifier "local_3c")) (== "==") (number_literal "0x28")) () ")")) (compound_statement "{\n          DAT_00083ef0 = local_3c + 1;\n          if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }\n          bVar2 = FUN_00024470(local_20);\n          if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          iVar5 = FUN_00039960(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 3) = 3;\n          param_1[2] = 0;\n          *param_1 = iVar5;\n          *DAT_00083ef0 = bVar2;\n          bVar3 = *DAT_00083ef0;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }\n        }" ({ "{") (expression_statement "DAT_00083ef0 = local_3c + 1;" (assignment_expression "DAT_00083ef0 = local_3c + 1" (identifier "DAT_00083ef0") (= "=") (binary_expression "local_3c + 1" (identifier "local_3c") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (local_3c[1] == 0x20) {\n            DAT_00083ef0 = local_3c + 2;\n          }" (if "if") (parenthesized_expression "(local_3c[1] == 0x20)" (( "(") (binary_expression "local_3c[1] == 0x20" (subscript_expression "local_3c[1]" (identifier "local_3c") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n            DAT_00083ef0 = local_3c + 2;\n          }" ({ "{") (expression_statement "DAT_00083ef0 = local_3c + 2;" (assignment_expression "DAT_00083ef0 = local_3c + 2" (identifier "DAT_00083ef0") (= "=") (binary_expression "local_3c + 2" (identifier "local_3c") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "bVar2 = FUN_00024470(local_20);" (assignment_expression "bVar2 = FUN_00024470(local_20)" (identifier "bVar2") (= "=") (call_expression "FUN_00024470(local_20)" (identifier "FUN_00024470") (argument_list "(local_20)" (( "(") (identifier "local_20") () ")")))) (; ";")) (if_statement "if (*local_20[0] == 0) {\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }" (if "if") (parenthesized_expression "(*local_20[0] == 0)" (( "(") (binary_expression "*local_20[0] == 0" (pointer_expression "*local_20[0]" (* "*") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002d660(uVar7);\n            *DAT_00083ef0 = bVar2;\n            if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }\n            FUN_0002f760();\n            goto LAB_00024626;\n          }" ({ "{") (expression_statement "uVar7 = dcgettext(0,"expected symbol name",5);" (assignment_expression "uVar7 = dcgettext(0,"expected symbol name",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"expected symbol name",5)" (identifier "dcgettext") (argument_list "(0,"expected symbol name",5)" (( "(") (number_literal "0") (, ",") (string_literal ""expected symbol name"" (" """) (string_content "expected symbol name") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002d660(uVar7);" (call_expression "FUN_0002d660(uVar7)" (identifier "FUN_0002d660") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "*DAT_00083ef0 = bVar2;" (assignment_expression "*DAT_00083ef0 = bVar2" (pointer_expression "*DAT_00083ef0" (* "*") (identifier "DAT_00083ef0")) (= "=") (identifier "bVar2")) (; ";")) (if_statement "if (bVar2 == 0x22) {\n              FUN_00023880();\n            }\n            else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }" (if "if") (parenthesized_expression "(bVar2 == 0x22)" (( "(") (binary_expression "bVar2 == 0x22" (identifier "bVar2") (== "==") (number_literal "0x22")) () ")")) (compound_statement "{\n              FUN_00023880();\n            }" ({ "{") (expression_statement "FUN_00023880();" (call_expression "FUN_00023880()" (identifier "FUN_00023880") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }" (else "else") (if_statement "if (bVar2 == 0x29) {\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }" (if "if") (parenthesized_expression "(bVar2 == 0x29)" (( "(") (binary_expression "bVar2 == 0x29" (identifier "bVar2") (== "==") (number_literal "0x29")) () ")")) (compound_statement "{\n              DAT_00083ef0 = DAT_00083ef0 + 1;\n              goto LAB_00024626;\n            }" ({ "{") (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (= "=") (binary_expression "DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";")) (} "}"))))) (expression_statement "FUN_0002f760();" (call_expression "FUN_0002f760()" (identifier "FUN_0002f760") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";")) (} "}"))) (expression_statement "pcVar8 = ".startof.";" (assignment_expression "pcVar8 = ".startof."" (identifier "pcVar8") (= "=") (string_literal "".startof."" (" """) (string_content ".startof.") (" """))) (; ";")) (if_statement "if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }" (if "if") (parenthesized_expression "((bVar3 & 0xdf) != 0x54)" (( "(") (binary_expression "(bVar3 & 0xdf) != 0x54" (parenthesized_expression "(bVar3 & 0xdf)" (( "(") (binary_expression "bVar3 & 0xdf" (identifier "bVar3") (& "&") (number_literal "0xdf")) () ")")) (!= "!=") (number_literal "0x54")) () ")")) (compound_statement "{\n            pcVar8 = ".sizeof.";\n          }" ({ "{") (expression_statement "pcVar8 = ".sizeof.";" (assignment_expression "pcVar8 = ".sizeof."" (identifier "pcVar8") (= "=") (string_literal "".sizeof."" (" """) (string_content ".sizeof.") (" """))) (; ";")) (} "}"))) (expression_statement "__ptr = (void *)concat(pcVar8,local_20[0],0);" (assignment_expression "__ptr = (void *)concat(pcVar8,local_20[0],0)" (identifier "__ptr") (= "=") (cast_expression "(void *)concat(pcVar8,local_20[0],0)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "concat(pcVar8,local_20[0],0)" (identifier "concat") (argument_list "(pcVar8,local_20[0],0)" (( "(") (identifier "pcVar8") (, ",") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "iVar5 = FUN_00039960(__ptr);" (assignment_expression "iVar5 = FUN_00039960(__ptr)" (identifier "iVar5") (= "=") (call_expression "FUN_00039960(__ptr)" (identifier "FUN_00039960") (argument_list "(__ptr)" (( "(") (identifier "__ptr") () ")")))) (; ";")) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" (identifier "free") (argument_list "(__ptr)" (( "(") (identifier "__ptr") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 3) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 3" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*param_1 = iVar5;" (assignment_expression "*param_1 = iVar5" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*DAT_00083ef0 = bVar2;" (assignment_expression "*DAT_00083ef0 = bVar2" (pointer_expression "*DAT_00083ef0" (* "*") (identifier "DAT_00083ef0")) (= "=") (identifier "bVar2")) (; ";")) (expression_statement "bVar3 = *DAT_00083ef0;" (assignment_expression "bVar3 = *DAT_00083ef0" (identifier "bVar3") (= "=") (pointer_expression "*DAT_00083ef0" (* "*") (identifier "DAT_00083ef0"))) (; ";")) (if_statement "if (bVar3 == 0x22) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }" (if "if") (parenthesized_expression "(bVar3 == 0x22)" (( "(") (binary_expression "bVar3 == 0x22" (identifier "bVar3") (== "==") (number_literal "0x22")) () ")")) (compound_statement "{\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }" ({ "{") (expression_statement "bVar3 = DAT_00083ef0[1];" (assignment_expression "bVar3 = DAT_00083ef0[1]" (identifier "bVar3") (= "=") (subscript_expression "DAT_00083ef0[1]" (identifier "DAT_00083ef0") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (= "=") (binary_expression "DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (bVar3 == 0x20) {\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }" (if "if") (parenthesized_expression "(bVar3 == 0x20)" (( "(") (binary_expression "bVar3 == 0x20" (identifier "bVar3") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n            bVar3 = DAT_00083ef0[1];\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n          }" ({ "{") (expression_statement "bVar3 = DAT_00083ef0[1];" (assignment_expression "bVar3 = DAT_00083ef0[1]" (identifier "bVar3") (= "=") (subscript_expression "DAT_00083ef0[1]" (identifier "DAT_00083ef0") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (= "=") (binary_expression "DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (bVar3 == 0x29) {\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }" (if "if") (parenthesized_expression "(bVar3 == 0x29)" (( "(") (binary_expression "bVar3 == 0x29" (identifier "bVar3") (== "==") (number_literal "0x29")) () ")")) (compound_statement "{\n            DAT_00083ef0 = DAT_00083ef0 + 1;\n            goto LAB_00024626;\n          }" ({ "{") (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (= "=") (binary_expression "DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);" (assignment_expression "uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"syntax error in .startof. or .sizeof.",5)" (identifier "dcgettext") (argument_list "(0,"syntax error in .startof. or .sizeof.",5)" (( "(") (number_literal "0") (, ",") (string_literal ""syntax error in .startof. or .sizeof."" (" """) (string_content "syntax error in .startof. or .sizeof.") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002d660(uVar7);" (call_expression "FUN_0002d660(uVar7)" (identifier "FUN_0002d660") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";")) (} "}"))) (goto_statement "goto LAB_00024ae0;" (goto "goto") (statement_identifier "LAB_00024ae0") (; ";")) (} "}"))) (if_statement "if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }" (if "if") (parenthesized_expression "(DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150)" (( "(") (binary_expression "DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150" (identifier "DAT_00083d3c") (== "==") (binary_expression "PTR__bfd_std_section_0007afb4 + 0x150" (identifier "PTR__bfd_std_section_0007afb4") (+ "+") (number_literal "0x150"))) () ")")) (compound_statement "{\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = DAT_00083eec;\n      goto LAB_00024626;\n    }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 3) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 2" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "param_1[2] = DAT_00083eec;" (assignment_expression "param_1[2] = DAT_00083eec" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "DAT_00083eec")) (; ";")) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(param_1 + 3) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 3" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*param_1 = (int)&DAT_00083fe0;" (assignment_expression "*param_1 = (int)&DAT_00083fe0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)&DAT_00083fe0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00083fe0" (& "&") (identifier "DAT_00083fe0")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xf:\n    bVar3 = pbVar14[1];\n    switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }\n    goto LAB_00024626;" (case "case") (number_literal "0xf") (: ":") (expression_statement "bVar3 = pbVar14[1];" (assignment_expression "bVar3 = pbVar14[1]" (identifier "bVar3") (= "=") (subscript_expression "pbVar14[1]" (identifier "pbVar14") ([ "[") (number_literal "1") (] "]"))) (; ";")) (switch_statement "switch((int)(char)bVar3 - 0x30U & 0xff) {\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }" (switch "switch") (parenthesized_expression "((int)(char)bVar3 - 0x30U & 0xff)" (( "(") (binary_expression "(int)(char)bVar3 - 0x30U & 0xff" (binary_expression "(int)(char)bVar3 - 0x30U" (cast_expression "(int)(char)bVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3"))) (- "-") (number_literal "0x30U")) (& "&") (number_literal "0xff")) () ")")) (compound_statement "{\n    case 0:\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n    case 7:\n      FUN_000231b0();\n      break;\n    default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;\n    case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;\n    case 0x14:\n    case 0x15:\n    case 0x16:\n    case 0x17:\n    case 0x34:\n    case 0x35:\n    case 0x37:\n    case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;\n    case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;\n    case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();\n    }" ({ "{") (case_statement "case 0:" (case "case") (number_literal "0") (: ":")) (case_statement "case 1:" (case "case") (number_literal "1") (: ":")) (case_statement "case 2:" (case "case") (number_literal "2") (: ":")) (case_statement "case 3:" (case "case") (number_literal "3") (: ":")) (case_statement "case 4:" (case "case") (number_literal "4") (: ":")) (case_statement "case 5:" (case "case") (number_literal "5") (: ":")) (case_statement "case 6:" (case "case") (number_literal "6") (: ":")) (case_statement "case 7:\n      FUN_000231b0();\n      break;" (case "case") (number_literal "7") (: ":") (expression_statement "FUN_000231b0();" (call_expression "FUN_000231b0()" (identifier "FUN_000231b0") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n      if (bVar3 != 0) goto code_r0x00024c71;\n      goto code_r0x00024c05;" (default "default") (: ":") (if_statement "if (bVar3 != 0) goto code_r0x00024c71;" (if "if") (parenthesized_expression "(bVar3 != 0)" (( "(") (binary_expression "bVar3 != 0" (identifier "bVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00024c71;" (goto "goto") (statement_identifier "code_r0x00024c71") (; ";"))) (goto_statement "goto code_r0x00024c05;" (goto "goto") (statement_identifier "code_r0x00024c05") (; ";"))) (case_statement "case 0x12:\n      if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }\ncode_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }\ncode_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;\n      param_1[2] = 0;\n      break;" (case "case") (number_literal "0x12") (: ":") (if_statement "if ((byte)(pbVar14[2] - 0x30) < 2) {\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }" (if "if") (parenthesized_expression "((byte)(pbVar14[2] - 0x30) < 2)" (( "(") (binary_expression "(byte)(pbVar14[2] - 0x30) < 2" (call_expression "(byte)(pbVar14[2] - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(pbVar14[2] - 0x30)" (( "(") (binary_expression "pbVar14[2] - 0x30" (subscript_expression "pbVar14[2]" (identifier "pbVar14") ([ "[") (number_literal "2") (] "]")) (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "2")) () ")")) (compound_statement "{\ncode_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;\n        FUN_000231b0();\n        break;\n      }" ({ "{") (labeled_statement "code_r0x00024c50:\n        DAT_00083ef0 = pbVar14 + 2;" (statement_identifier "code_r0x00024c50") (: ":") (expression_statement "DAT_00083ef0 = pbVar14 + 2;" (assignment_expression "DAT_00083ef0 = pbVar14 + 2" (identifier "DAT_00083ef0") (= "=") (binary_expression "pbVar14 + 2" (identifier "pbVar14") (+ "+") (number_literal "2"))) (; ";"))) (expression_statement "FUN_000231b0();" (call_expression "FUN_000231b0()" (identifier "FUN_000231b0") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (labeled_statement "code_r0x00024c71:\n      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);" (statement_identifier "code_r0x00024c71") (: ":") (expression_statement "pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);" (assignment_expression "pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3)" (identifier "pcVar8") (= "=") (call_expression "strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3)" (identifier "strchr") (argument_list "(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3)" (( "(") (identifier "PTR_s_rRsSfFdDxXpP_0007af58") (, ",") (cast_expression "(int)(char)bVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3"))) () ")")))) (; ";"))) (if_statement "if (pcVar8 != (char *)0x0) {\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }" (if "if") (parenthesized_expression "(pcVar8 != (char *)0x0)" (( "(") (binary_expression "pcVar8 != (char *)0x0" (identifier "pcVar8") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pbVar14 = pbVar14 + 2;\n        goto code_r0x00024c22;\n      }" ({ "{") (expression_statement "pbVar14 = pbVar14 + 2;" (assignment_expression "pbVar14 = pbVar14 + 2" (identifier "pbVar14") (= "=") (binary_expression "pbVar14 + 2" (identifier "pbVar14") (+ "+") (number_literal "2"))) (; ";")) (goto_statement "goto code_r0x00024c22;" (goto "goto") (statement_identifier "code_r0x00024c22") (; ";")) (} "}"))) (labeled_statement "code_r0x00024c05:\n      *(undefined1 *)(param_1 + 3) = 2;" (statement_identifier "code_r0x00024c05") (: ":") (expression_statement "*(undefined1 *)(param_1 + 3) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 2" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "2")) (; ";"))) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x14:" (case "case") (number_literal "0x14") (: ":")) (case_statement "case 0x15:" (case "case") (number_literal "0x15") (: ":")) (case_statement "case 0x16:" (case "case") (number_literal "0x16") (: ":")) (case_statement "case 0x17:" (case "case") (number_literal "0x17") (: ":")) (case_statement "case 0x34:" (case "case") (number_literal "0x34") (: ":")) (case_statement "case 0x35:" (case "case") (number_literal "0x35") (: ":")) (case_statement "case 0x37:" (case "case") (number_literal "0x37") (: ":")) (case_statement "case 0x42:\n      pbVar14 = local_3c + 1;\ncode_r0x00024c22:\n      DAT_00083ef0 = pbVar14;\n      FUN_00023110();\n      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];\n      break;" (case "case") (number_literal "0x42") (: ":") (expression_statement "pbVar14 = local_3c + 1;" (assignment_expression "pbVar14 = local_3c + 1" (identifier "pbVar14") (= "=") (binary_expression "local_3c + 1" (identifier "local_3c") (+ "+") (number_literal "1"))) (; ";")) (labeled_statement "code_r0x00024c22:\n      DAT_00083ef0 = pbVar14;" (statement_identifier "code_r0x00024c22") (: ":") (expression_statement "DAT_00083ef0 = pbVar14;" (assignment_expression "DAT_00083ef0 = pbVar14" (identifier "DAT_00083ef0") (= "=") (identifier "pbVar14")) (; ";"))) (expression_statement "FUN_00023110();" (call_expression "FUN_00023110()" (identifier "FUN_00023110") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];" (assignment_expression "param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3]" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (unary_expression "-(uint)(byte)PTR__sch_tolower_0007afcc[bVar3]" (- "-") (cast_expression "(uint)(byte)PTR__sch_tolower_0007afcc[bVar3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)PTR__sch_tolower_0007afcc[bVar3]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "PTR__sch_tolower_0007afcc[bVar3]" (identifier "PTR__sch_tolower_0007afcc") ([ "[") (identifier "bVar3") (] "]")))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x28:" (case "case") (number_literal "0x28") (: ":")) (case_statement "case 0x48:\n      DAT_00083ef0 = pbVar14 + 2;\n      FUN_000231b0();\n      break;" (case "case") (number_literal "0x48") (: ":") (expression_statement "DAT_00083ef0 = pbVar14 + 2;" (assignment_expression "DAT_00083ef0 = pbVar14 + 2" (identifier "DAT_00083ef0") (= "=") (binary_expression "pbVar14 + 2" (identifier "pbVar14") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "FUN_000231b0();" (call_expression "FUN_000231b0()" (identifier "FUN_000231b0") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x32:\n      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;\n      goto code_r0x00024770;" (case "case") (number_literal "0x32") (: ":") (if_statement "if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;" (if "if") (parenthesized_expression "((byte)(pbVar14[2] - 0x30) < 2)" (( "(") (binary_expression "(byte)(pbVar14[2] - 0x30) < 2" (call_expression "(byte)(pbVar14[2] - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(pbVar14[2] - 0x30)" (( "(") (binary_expression "pbVar14[2] - 0x30" (subscript_expression "pbVar14[2]" (identifier "pbVar14") ([ "[") (number_literal "2") (] "]")) (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "2")) () ")")) (goto_statement "goto code_r0x00024c50;" (goto "goto") (statement_identifier "code_r0x00024c50") (; ";"))) (goto_statement "goto code_r0x00024770;" (goto "goto") (statement_identifier "code_r0x00024770") (; ";"))) (case_statement "case 0x36:\n      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }\ncode_r0x00024770:\n      DAT_00083ef0 = pbVar14;\n      FUN_000231b0();" (case "case") (number_literal "0x36") (: ":") (if_statement "if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }" (if "if") (parenthesized_expression "(((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0))" (( "(") (binary_expression "((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)" (parenthesized_expression "((&DAT_0007b2c0)[pbVar14[2]] == '\0')" (( "(") (binary_expression "(&DAT_0007b2c0)[pbVar14[2]] == '\0'" (subscript_expression "(&DAT_0007b2c0)[pbVar14[2]]" (parenthesized_expression "(&DAT_0007b2c0)" (( "(") (pointer_expression "&DAT_0007b2c0" (& "&") (identifier "DAT_0007b2c0")) () ")")) ([ "[") (subscript_expression "pbVar14[2]" (identifier "pbVar14") ([ "[") (number_literal "2") (] "]")) (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)" (( "(") (comma_expression "pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0" (assignment_expression "pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66)" (identifier "pcVar8") (= "=") (call_expression "strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66)" (identifier "strchr") (argument_list "(PTR_s_rRsSfFdDxXpP_0007af58,0x66)" (( "(") (identifier "PTR_s_rRsSfFdDxXpP_0007af58") (, ",") (number_literal "0x66") () ")")))) (, ",") (binary_expression "pcVar8 != (char *)0x0" (identifier "pcVar8") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n        local_20[0] = pbVar14 + 2;\n        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);\n        if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;\n        pbVar14 = DAT_00083ef0 + -1;\n      }" ({ "{") (expression_statement "local_20[0] = pbVar14 + 2;" (assignment_expression "local_20[0] = pbVar14 + 2" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "pbVar14 + 2" (identifier "pbVar14") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);" (call_expression "FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260)" (identifier "FUN_0001ad90") (argument_list "(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260)" (( "(") (identifier "local_20") (, ",") (string_literal ""."" (" """) (string_content ".") (" """)) (, ",") (identifier "PTR_DAT_0007af9c") (, ",") (pointer_expression "&PTR_DAT_0007b260" (& "&") (identifier "PTR_DAT_0007b260")) () ")"))) (; ";")) (if_statement "if ((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))\n        goto code_r0x00024c22;" (if "if") (parenthesized_expression "((local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))" (( "(") (binary_expression "(local_20[0] != DAT_00083ef0 + 1) &&\n           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62)))" (parenthesized_expression "(local_20[0] != DAT_00083ef0 + 1)" (( "(") (binary_expression "local_20[0] != DAT_00083ef0 + 1" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (!= "!=") (binary_expression "DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (+ "+") (number_literal "1"))) () ")")) (&& "&&") (parenthesized_expression "((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62)))" (( "(") (parenthesized_expression "(((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))" (( "(") (binary_expression "((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62)" (parenthesized_expression "((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66))" (( "(") (binary_expression "(local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)" (parenthesized_expression "(local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0))" (( "(") (binary_expression "local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)" (binary_expression "local_20[0] != DAT_00083ef0 + 2" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (!= "!=") (binary_expression "DAT_00083ef0 + 2" (identifier "DAT_00083ef0") (+ "+") (number_literal "2"))) (|| "||") (parenthesized_expression "((local_20[0][-1] - 0x2b & 0xfd) != 0)" (( "(") (binary_expression "(local_20[0][-1] - 0x2b & 0xfd) != 0" (parenthesized_expression "(local_20[0][-1] - 0x2b & 0xfd)" (( "(") (binary_expression "local_20[0][-1] - 0x2b & 0xfd" (binary_expression "local_20[0][-1] - 0x2b" (subscript_expression "local_20[0][-1]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "-1") (] "]")) (- "-") (number_literal "0x2b")) (& "&") (number_literal "0xfd")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*local_20[0] != 0x66)" (( "(") (binary_expression "*local_20[0] != 0x66" (pointer_expression "*local_20[0]" (* "*") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (!= "!=") (number_literal "0x66")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62)" (( "(") (comma_expression "pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62" (assignment_expression "pbVar14 = DAT_00083ef0 + 1" (identifier "pbVar14") (= "=") (binary_expression "DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (+ "+") (number_literal "1"))) (, ",") (binary_expression "*local_20[0] != 0x62" (pointer_expression "*local_20[0]" (* "*") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (!= "!=") (number_literal "0x62"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto code_r0x00024c22;" (goto "goto") (statement_identifier "code_r0x00024c22") (; ";"))) (expression_statement "pbVar14 = DAT_00083ef0 + -1;" (assignment_expression "pbVar14 = DAT_00083ef0 + -1" (identifier "pbVar14") (= "=") (binary_expression "DAT_00083ef0 + -1" (identifier "DAT_00083ef0") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (labeled_statement "code_r0x00024770:\n      DAT_00083ef0 = pbVar14;" (statement_identifier "code_r0x00024770") (: ":") (expression_statement "DAT_00083ef0 = pbVar14;" (assignment_expression "DAT_00083ef0 = pbVar14" (identifier "DAT_00083ef0") (= "=") (identifier "pbVar14")) (; ";"))) (expression_statement "FUN_000231b0();" (call_expression "FUN_000231b0()" (identifier "FUN_000231b0") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";"))) (case_statement "case 0x10:" (case "case") (number_literal "0x10") (: ":")) (case_statement "case 0x11:" (case "case") (number_literal "0x11") (: ":")) (case_statement "case 0x12:" (case "case") (number_literal "0x12") (: ":")) (case_statement "case 0x13:" (case "case") (number_literal "0x13") (: ":")) (case_statement "case 0x14:" (case "case") (number_literal "0x14") (: ":")) (case_statement "case 0x15:" (case "case") (number_literal "0x15") (: ":")) (case_statement "case 0x16:" (case "case") (number_literal "0x16") (: ":")) (case_statement "case 0x17:" (case "case") (number_literal "0x17") (: ":")) (case_statement "case 0x18:\n    goto code_r0x00024770;" (case "case") (number_literal "0x18") (: ":") (goto_statement "goto code_r0x00024770;" (goto "goto") (statement_identifier "code_r0x00024770") (; ";"))) (case_statement "case 0x5d:\n    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }\nLAB_00024ae0:\n    DAT_00083ef0 = pbVar14;\n    bVar3 = FUN_00024470(local_20);\n    iVar5 = FUN_0003b230(local_20[0]);\n    puVar6 = (undefined *)FUN_00039580(iVar5);\n    if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }\n    *DAT_00083ef0 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_00023880();\n    }\n    goto LAB_00024626;" (case "case") (number_literal "0x5d") (: ":") (if_statement "if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }" (if "if") (parenthesized_expression "(((&DAT_0007b3c0)[uVar4] & 2) == 0)" (( "(") (binary_expression "((&DAT_0007b3c0)[uVar4] & 2) == 0" (parenthesized_expression "((&DAT_0007b3c0)[uVar4] & 2)" (( "(") (binary_expression "(&DAT_0007b3c0)[uVar4] & 2" (subscript_expression "(&DAT_0007b3c0)[uVar4]" (parenthesized_expression "(&DAT_0007b3c0)" (( "(") (pointer_expression "&DAT_0007b3c0" (& "&") (identifier "DAT_0007b3c0")) () ")")) ([ "[") (identifier "uVar4") (] "]")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_000245a0();\n      bVar2 = *(byte *)(param_1 + 3);\n      if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }\n      goto code_r0x00024d54;\n    }" ({ "{") (expression_statement "FUN_000245a0();" (call_expression "FUN_000245a0()" (identifier "FUN_000245a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bVar2 = *(byte *)(param_1 + 3);" (assignment_expression "bVar2 = *(byte *)(param_1 + 3)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(param_1 + 3)" (* "*") (cast_expression "(byte *)(param_1 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (if_statement "if (bVar2 != 2) {\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }" (if "if") (parenthesized_expression "(bVar2 != 2)" (( "(") (binary_expression "bVar2 != 2" (identifier "bVar2") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n        if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }\n        goto code_r0x00024a16;\n      }" ({ "{") (if_statement "if (bVar2 == 6) {\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }" (if "if") (parenthesized_expression "(bVar2 == 6)" (( "(") (binary_expression "bVar2 == 6" (identifier "bVar2") (== "==") (number_literal "6")) () ")")) (compound_statement "{\n          iVar5 = param_1[2];\n          bVar15 = false;\n          goto code_r0x00024921;\n        }" ({ "{") (expression_statement "iVar5 = param_1[2];" (assignment_expression "iVar5 = param_1[2]" (identifier "iVar5") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" (identifier "bVar15") (= "=") (false "false")) (; ";")) (goto_statement "goto code_r0x00024921;" (goto "goto") (statement_identifier "code_r0x00024921") (; ";")) (} "}"))) (goto_statement "goto code_r0x00024a16;" (goto "goto") (statement_identifier "code_r0x00024a16") (; ";")) (} "}"))) (goto_statement "goto code_r0x00024d54;" (goto "goto") (statement_identifier "code_r0x00024d54") (; ";")) (} "}"))) (labeled_statement "LAB_00024ae0:\n    DAT_00083ef0 = pbVar14;" (statement_identifier "LAB_00024ae0") (: ":") (expression_statement "DAT_00083ef0 = pbVar14;" (assignment_expression "DAT_00083ef0 = pbVar14" (identifier "DAT_00083ef0") (= "=") (identifier "pbVar14")) (; ";"))) (expression_statement "bVar3 = FUN_00024470(local_20);" (assignment_expression "bVar3 = FUN_00024470(local_20)" (identifier "bVar3") (= "=") (call_expression "FUN_00024470(local_20)" (identifier "FUN_00024470") (argument_list "(local_20)" (( "(") (identifier "local_20") () ")")))) (; ";")) (expression_statement "iVar5 = FUN_0003b230(local_20[0]);" (assignment_expression "iVar5 = FUN_0003b230(local_20[0])" (identifier "iVar5") (= "=") (call_expression "FUN_0003b230(local_20[0])" (identifier "FUN_0003b230") (argument_list "(local_20[0])" (( "(") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) () ")")))) (; ";")) (expression_statement "puVar6 = (undefined *)FUN_00039580(iVar5);" (assignment_expression "puVar6 = (undefined *)FUN_00039580(iVar5)" (identifier "puVar6") (= "=") (cast_expression "(undefined *)FUN_00039580(iVar5)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00039580(iVar5)" (identifier "FUN_00039580") (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))))) (; ";")) (if_statement "if (param_2 == 2) {\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }\n    else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }" (if "if") (parenthesized_expression "(param_2 == 2)" (( "(") (binary_expression "param_2 == 2" (identifier "param_2") (== "==") (number_literal "2")) () ")")) (compound_statement "{\nLAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n    }" ({ "{") (labeled_statement "LAB_00024b38:\n      *(undefined1 *)(param_1 + 3) = 3;" (statement_identifier "LAB_00024b38") (: ":") (expression_statement "*(undefined1 *)(param_1 + 3) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 3" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "3")) (; ";"))) (expression_statement "*param_1 = iVar5;" (assignment_expression "*param_1 = iVar5" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }" (else "else") (compound_statement "{\n      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }\n      iVar5 = FUN_0003ac10(iVar5);\n      param_1[2] = iVar5;\n    }" ({ "{") (if_statement "if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {\n        *(undefined1 *)(param_1 + 3) = 2;\n      }\n      else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }" (if "if") (parenthesized_expression "((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0))" (( "(") (binary_expression "(puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&\n         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)" (parenthesized_expression "(puVar6 == PTR__bfd_std_section_0007afb4 + 0x150)" (( "(") (binary_expression "puVar6 == PTR__bfd_std_section_0007afb4 + 0x150" (identifier "puVar6") (== "==") (binary_expression "PTR__bfd_std_section_0007afb4 + 0x150" (identifier "PTR__bfd_std_section_0007afb4") (+ "+") (number_literal "0x150"))) () ")")) (&& "&&") (parenthesized_expression "(iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)" (( "(") (comma_expression "iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0" (assignment_expression "iVar10 = FUN_000391e0(iVar5,0)" (identifier "iVar10") (= "=") (call_expression "FUN_000391e0(iVar5,0)" (identifier "FUN_000391e0") (argument_list "(iVar5,0)" (( "(") (identifier "iVar5") (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        *(undefined1 *)(param_1 + 3) = 2;\n      }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 3) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 2" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else {\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }" (else "else") (compound_statement "{\n        if (DAT_00083dbc != puVar6) goto LAB_00024b38;\n        *(undefined1 *)(param_1 + 3) = 5;\n      }" ({ "{") (if_statement "if (DAT_00083dbc != puVar6) goto LAB_00024b38;" (if "if") (parenthesized_expression "(DAT_00083dbc != puVar6)" (( "(") (binary_expression "DAT_00083dbc != puVar6" (identifier "DAT_00083dbc") (!= "!=") (identifier "puVar6")) () ")")) (goto_statement "goto LAB_00024b38;" (goto "goto") (statement_identifier "LAB_00024b38") (; ";"))) (expression_statement "*(undefined1 *)(param_1 + 3) = 5;" (assignment_expression "*(undefined1 *)(param_1 + 3) = 5" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "5")) (; ";")) (} "}")))) (expression_statement "iVar5 = FUN_0003ac10(iVar5);" (assignment_expression "iVar5 = FUN_0003ac10(iVar5)" (identifier "iVar5") (= "=") (call_expression "FUN_0003ac10(iVar5)" (identifier "FUN_0003ac10") (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")")))) (; ";")) (expression_statement "param_1[2] = iVar5;" (assignment_expression "param_1[2] = iVar5" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar5")) (; ";")) (} "}")))) (expression_statement "*DAT_00083ef0 = bVar3;" (assignment_expression "*DAT_00083ef0 = bVar3" (pointer_expression "*DAT_00083ef0" (* "*") (identifier "DAT_00083ef0")) (= "=") (identifier "bVar3")) (; ";")) (if_statement "if (bVar3 == 0x22) {\n      FUN_00023880();\n    }" (if "if") (parenthesized_expression "(bVar3 == 0x22)" (( "(") (binary_expression "bVar3 == 0x22" (identifier "bVar3") (== "==") (number_literal "0x22")) () ")")) (compound_statement "{\n      FUN_00023880();\n    }" ({ "{") (expression_statement "FUN_00023880();" (call_expression "FUN_00023880()" (identifier "FUN_00023880") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00024626;" (goto "goto") (statement_identifier "LAB_00024626") (; ";"))) (} "}"))) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00024626:\n  FUN_000230d0();" (statement_identifier "LAB_00024626") (: ":") (expression_statement "FUN_000230d0();" (call_expression "FUN_000230d0()" (identifier "FUN_000230d0") (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "bVar3 = *DAT_00083ef0;" (assignment_expression "bVar3 = *DAT_00083ef0" (identifier "bVar3") (= "=") (pointer_expression "*DAT_00083ef0" (* "*") (identifier "DAT_00083ef0"))) (; ";")) (while_statement "while (bVar3 == 0x20) {\n    DAT_00083ef0 = DAT_00083ef0 + 1;\n    bVar3 = *DAT_00083ef0;\n  }" (while "while") (parenthesized_expression "(bVar3 == 0x20)" (( "(") (binary_expression "bVar3 == 0x20" (identifier "bVar3") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n    DAT_00083ef0 = DAT_00083ef0 + 1;\n    bVar3 = *DAT_00083ef0;\n  }" ({ "{") (expression_statement "DAT_00083ef0 = DAT_00083ef0 + 1;" (assignment_expression "DAT_00083ef0 = DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (= "=") (binary_expression "DAT_00083ef0 + 1" (identifier "DAT_00083ef0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar3 = *DAT_00083ef0;" (assignment_expression "bVar3 = *DAT_00083ef0" (identifier "bVar3") (= "=") (pointer_expression "*DAT_00083ef0" (* "*") (identifier "DAT_00083ef0"))) (; ";")) (} "}"))) (if_statement "if (*param_1 != 0) {\n    FUN_0003c080(*param_1);\n  }" (if "if") (parenthesized_expression "(*param_1 != 0)" (( "(") (binary_expression "*param_1 != 0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0003c080(*param_1);\n  }" ({ "{") (expression_statement "FUN_0003c080(*param_1);" (call_expression "FUN_0003c080(*param_1)" (identifier "FUN_0003c080") (argument_list "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 != 2) {\n    iVar5 = FUN_0003b8d0(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_0003b8d0(param_1[1],0);\n    param_1[1] = iVar5;\n  }" (if "if") (parenthesized_expression "(param_2 != 2)" (( "(") (binary_expression "param_2 != 2" (identifier "param_2") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n    iVar5 = FUN_0003b8d0(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_0003b8d0(param_1[1],0);\n    param_1[1] = iVar5;\n  }" ({ "{") (expression_statement "iVar5 = FUN_0003b8d0(*param_1,0);" (assignment_expression "iVar5 = FUN_0003b8d0(*param_1,0)" (identifier "iVar5") (= "=") (call_expression "FUN_0003b8d0(*param_1,0)" (identifier "FUN_0003b8d0") (argument_list "(*param_1,0)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "*param_1 = iVar5;" (assignment_expression "*param_1 = iVar5" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "iVar5 = FUN_0003b8d0(param_1[1],0);" (assignment_expression "iVar5 = FUN_0003b8d0(param_1[1],0)" (identifier "iVar5") (= "=") (call_expression "FUN_0003b8d0(param_1[1],0)" (identifier "FUN_0003b8d0") (argument_list "(param_1[1],0)" (( "(") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "param_1[1] = iVar5;" (assignment_expression "param_1[1] = iVar5" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar5")) (; ";")) (} "}"))) (if_statement "if ((char)param_1[3] == '\x03') {\n    puVar6 = (undefined *)FUN_00039580(*param_1);\n    return puVar6;\n  }" (if "if") (parenthesized_expression "((char)param_1[3] == '\x03')" (( "(") (binary_expression "(char)param_1[3] == '\x03'" (cast_expression "(char)param_1[3]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (== "==") (char_literal "'\x03'" (' "'") (escape_sequence "\x03") (' "'"))) () ")")) (compound_statement "{\n    puVar6 = (undefined *)FUN_00039580(*param_1);\n    return puVar6;\n  }" ({ "{") (expression_statement "puVar6 = (undefined *)FUN_00039580(*param_1);" (assignment_expression "puVar6 = (undefined *)FUN_00039580(*param_1)" (identifier "puVar6") (= "=") (cast_expression "(undefined *)FUN_00039580(*param_1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00039580(*param_1)" (identifier "FUN_00039580") (argument_list "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")"))))) (; ";")) (return_statement "return puVar6;" (return "return") (identifier "puVar6") (; ";")) (} "}"))) (if_statement "if ((char)param_1[3] != '\x05') {\n    return PTR__bfd_std_section_0007afb4 + 0x150;\n  }" (if "if") (parenthesized_expression "((char)param_1[3] != '\x05')" (( "(") (binary_expression "(char)param_1[3] != '\x05'" (cast_expression "(char)param_1[3]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (!= "!=") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")")) (compound_statement "{\n    return PTR__bfd_std_section_0007afb4 + 0x150;\n  }" ({ "{") (return_statement "return PTR__bfd_std_section_0007afb4 + 0x150;" (return "return") (binary_expression "PTR__bfd_std_section_0007afb4 + 0x150" (identifier "PTR__bfd_std_section_0007afb4") (+ "+") (number_literal "0x150")) (; ";")) (} "}"))) (return_statement "return DAT_00083dbc;" (return "return") (identifier "DAT_00083dbc") (; ";")) (} "}"))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

type_1 __regparm3 function_1(type_2 *expressionP,type_3 var_37)

{
  short *psVar1;
  type_4 var_3;
  char var_18;
  type_5 var_2;
  type_6 *psVar5;
  type_1 var_39;
  type_4 *var_20;
  char *var_31;
  type_7 vVar9;
  int var_11;
  type_4 var_4;
  type_8 *var_6;
  type_9 *var_7;
  type_9 *var_8;
  int var_10;
  type_4 *var_16;
  type_10 var_5;
  type_11 uVar18;
  bool bVar19;
  char *var_34;
  type_11 uStack_14;
  
  uStack_14 = 0x245ab;
  expressionP->field_0xd = expressionP->field_0xd & 0xfc | 1;
  var_16 = (type_4 *)var_1;
  var_20 = (type_4 *)(var_1 + 1);
  if (*var_1 == ' ') {
    var_20 = (type_4 *)(var_1 + 2);
    var_16 = (type_4 *)(var_1 + 1);
  }
  var_4 = *var_16;
  var_2 = (type_5)var_4;
  if (is_end_of_line[var_2] != '\0') {
_L357:
    expressionP->field_0xc = 1;
    var_1 = (char *)var_16;
    goto LAB_00024626;
  }
  var_1 = (char *)var_20;
  switch(var_2 - 0x21 & 0xff) {
  case 0:
  case 10:
  case 0xc:
    function_1(expressionP,var_37);
    var_3 = expressionP->field_0xc;
    if (var_3 == 2) {
      if (var_4 == 0x2d) {
        var_4 = expressionP->field_0xd;
        var_11 = expressionP->X_add_number;
        expressionP->X_add_number = -var_11;
        expressionP->field_0xd = var_4 & 0xfe;
        if (-var_11 != 0) {
          expressionP->field_0xd = (var_4 >> 1 & 1 ^ 1) * '\x02' | var_4 & 0xfc;
        }
        goto LAB_00024626;
      }
      if (var_4 != 0x22) {
        if (var_4 == 0x21) {
          expressionP->X_add_number = (type_5)(expressionP->X_add_number == 0);
        }
        goto LAB_00024626;
      }
LAB_00024d54:
      expressionP->X_add_number = ~expressionP->X_add_number;
      goto LAB_00024626;
    }
    if (var_3 == 6) {
      bVar19 = var_4 == 0x2d;
      var_5 = expressionP->X_add_number;
      if ((0 < var_5) || (!bVar19)) {
LAB_00024921:
        if (0 < var_5) {
          if ((var_4 == 0x7e) || (bVar19)) {
            var_6 = (type_8 *)&var_9;
            do {
              *var_6 = ~*var_6;
              var_6 = var_6 + 1;
            } while (var_6 != (type_8 *)(&var_9 + var_5));
            if (var_5 < 0x14) {
              expressionP->X_add_number = 0x14;
              var_7 = &var_9 + var_5;
              do {
                var_8 = var_7 + 1;
                *var_7 = 0xffff;
                var_7 = var_8;
              } while (var_8 != (type_9 *)&DAT_00083ea8);
            }
            if (bVar19) {
              var_11 = expressionP->X_add_number;
              var_9 = var_9 + 1;
              if (var_9 == 0) {
                var_10 = 0;
                do {
                  var_10 = var_10 + 1;
                  if (var_11 <= var_10) break;
                  psVar1 = &var_9 + var_10;
                  *psVar1 = *psVar1 + 1;
                } while (*psVar1 == 0);
              }
            }
          }
          else if (var_4 == 0x21) {
            var_11 = 0;
            do {
              if ((&var_9)[var_11] != 0) break;
              var_11 = var_11 + 1;
            } while (var_11 != var_5);
            expressionP->X_add_number = (type_5)(var_5 <= var_11);
            *(type_8 *)&expressionP->field_0xc = *(type_8 *)&expressionP->field_0xc & 0xfc00 | 0x102
            ;
          }
          goto LAB_00024626;
        }
        goto LAB_00024a1e;
      }
      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')
         ) {
        bVar19 = generic_floating_point_number.sign == '+';
        generic_floating_point_number.sign = 'N';
        if (bVar19) {
          generic_floating_point_number.sign = '-';
        }
        goto LAB_00024626;
      }
    }
    else {
LAB_00024a16:
      if (var_3 < 2) {
        var_31 = (char *)var_12(0,"Unary operator %c ignored because bad operand follows",5);
        var_13(var_31,(int)(char)var_4);
        goto LAB_00024626;
      }
LAB_00024a1e:
      if (var_4 == 0x2b) goto LAB_00024626;
    }
    psVar5 = var_14(expressionP);
    expressionP->X_add_symbol = psVar5;
    if (var_4 == 0x2d) {
      expressionP->field_0xc = 7;
    }
    else if ((var_4 == 0x7e) || (var_4 == 0x22)) {
      expressionP->field_0xc = 8;
    }
    else {
      expressionP->field_0xc = 9;
    }
    break;
  default:
    if (((lex_type[var_2] & 2) == 0) && (var_4 != 0x22)) {
      expressionP->field_0xc = 1;
      var_31 = (char *)var_12(0,"bad expression",5);
      var_15(var_31);
      expressionP->field_0xc = 2;
      expressionP->X_add_number = 0;
      goto LAB_00024626;
    }
    goto LAB_00024ae0;
  case 6:
    var_1 = (char *)(var_16 + 2);
    expressionP->field_0xc = 2;
    expressionP->X_add_number = (int)(char)var_16[1];
    goto LAB_00024626;
  case 7:
  case 0x3a:
    var_39 = var_17(0,expressionP,var_37);
    if (var_4 == 0x28) {
      var_18 = *var_1;
      if (var_18 == ')') goto LAB_000249c4;
      uVar18 = 0x29;
    }
    else {
      if ((var_4 != 0x5b) || (var_18 = *var_1, var_18 == ']')) {
LAB_000249c4:
        var_1 = var_1 + 1;
        goto LAB_000249c9;
      }
      uVar18 = 0x5d;
    }
    if (var_18 == '\0') {
      var_31 = (char *)var_12(0,"missing \'%c\'",5);
      var_15(var_31,uVar18);
    }
    else {
      var_31 = (char *)var_12(0,"found \'%c\', expected: \'%c\'",5);
      var_15(var_31,(int)var_18,uVar18);
    }
LAB_000249c9:
    if (*var_1 == ' ') {
      var_1 = var_1 + 1;
      return var_39;
    }
    return var_39;
  case 0xb:
    goto _L357;
  case 0xd:
    if ((lex_type[var_16[1]] & 1) != 0) {
      var_11 = var_19((char *)var_20,"startof.",8);
      if (((var_11 == 0) && ((lex_type[var_16[9]] & 1) == 0)) ||
         ((var_11 = var_19((char *)var_20,"sizeof.",7), var_11 == 0 &&
          ((lex_type[var_16[8]] & 1) == 0)))) {
        var_4 = var_16[2];
        var_20 = var_20 + ((var_4 & 0xdf) == 0x54) + 7;
        if (*var_20 == 0x20) {
          var_20 = var_20 + 1;
        }
        var_1 = (char *)var_20;
        expressionP->field_0xc = 1;
        if (*var_20 == 0x28) {
          var_1 = (char *)(var_20 + 1);
          if (var_20[1] == 0x20) {
            var_1 = (char *)(var_20 + 2);
          }
          var_18 = var_21(&var_34);
          if (*var_34 == '\0') {
            var_31 = (char *)var_12(0,"expected symbol name",5);
            var_15(var_31);
            *var_1 = var_18;
            if (var_18 == '\"') {
              var_22('\"');
            }
            else if (var_18 == ')') {
              var_1 = var_1 + 1;
              goto LAB_00024626;
            }
            var_23();
            goto LAB_00024626;
          }
          var_31 = ".startof.";
          if ((var_4 & 0xdf) != 0x54) {
            var_31 = ".sizeof.";
          }
          var_31 = (char *)var_24(var_31,var_34,0);
          psVar5 = var_25(var_31);
          var_26(var_31);
          expressionP->field_0xc = 3;
          expressionP->X_add_number = 0;
          expressionP->X_add_symbol = psVar5;
          *var_1 = var_18;
          var_18 = *var_1;
          if (var_18 == '\"') {
            var_18 = var_1[1];
            var_1 = var_1 + 1;
          }
          if (var_18 == ' ') {
            var_18 = var_1[1];
            var_1 = var_1 + 1;
          }
          if (var_18 == ')') {
            var_1 = var_1 + 1;
            goto LAB_00024626;
          }
        }
        var_31 = (char *)var_12(0,"syntax error in .startof. or .sizeof.",5);
        var_15(var_31);
        goto LAB_00024626;
      }
      goto LAB_00024ae0;
    }
    if (var_27 == (type_1)(var_28 + 0x150)) {
      expressionP->field_0xc = 2;
      expressionP->X_add_number = abs_section_offset;
      goto LAB_00024626;
    }
    expressionP->field_0xc = 3;
    expressionP->X_add_symbol = &dot_symbol;
    break;
  case 0xf:
    var_4 = var_16[1];
    switch((int)(char)var_4 - 0x30U & 0xff) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
      var_29(8,expressionP);
      break;
    default:
      if (var_4 != 0) goto LAB_00024c71;
      goto LAB_00024c05;
    case 0x12:
      if ((type_4)(var_16[2] - 0x30) < 2) {
LAB_00024c50:
        var_1 = (char *)(var_16 + 2);
        var_29(2,expressionP);
        break;
      }
LAB_00024c71:
      var_31 = var_30(PTR_FLT_CHARS_0007af58,(int)(char)var_4);
      if (var_31 != (char *)0x0) {
        var_20 = var_16 + 2;
        goto LAB_00024c22;
      }
LAB_00024c05:
      expressionP->field_0xc = 2;
      expressionP->X_add_number = 0;
      break;
    case 0x14:
    case 0x15:
    case 0x16:
    case 0x17:
    case 0x34:
    case 0x35:
    case 0x37:
    case 0x42:
      var_20 = var_20 + 1;
LAB_00024c22:
      var_1 = (char *)var_20;
      var_32(expressionP);
      expressionP->X_add_number = -(type_5)(type_4)PTR__sch_tolower_0007afcc[var_4];
      break;
    case 0x28:
    case 0x48:
      var_1 = (char *)(var_16 + 2);
      var_29(0x10,expressionP);
      break;
    case 0x32:
      if ((type_4)(var_16[2] - 0x30) < 2) goto LAB_00024c50;
      goto _L379;
    case 0x36:
      if ((is_end_of_line[var_16[2]] == '\0') &&
         (var_31 = var_30(PTR_FLT_CHARS_0007af58,0x66), var_31 != (char *)0x0)) {
        var_34 = (char *)(var_16 + 2);
        var_33(&var_34,".",PTR_EXP_CHARS_0007af9c,&generic_floating_point_number);
        if ((var_34 != var_1 + 1) &&
           ((((var_34 != var_1 + 2 || ((var_34[-1] - 0x2bU & 0xfd) != 0)) && (*var_34 != 'f')
             ) && (var_20 = (type_4 *)(var_1 + 1), *var_34 != 'b')))) goto LAB_00024c22;
        var_16 = (type_4 *)(var_1 + -1);
      }
_L379:
      var_1 = (char *)var_16;
      var_29(10,expressionP);
    }
    goto LAB_00024626;
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x14:
  case 0x15:
  case 0x16:
  case 0x17:
  case 0x18:
    goto _L379;
  case 0x5d:
    if ((lex_type[var_2] & 2) == 0) {
      function_1(expressionP,var_37);
      var_3 = expressionP->field_0xc;
      if (var_3 != 2) {
        if (var_3 == 6) {
          var_5 = expressionP->X_add_number;
          bVar19 = false;
          goto LAB_00024921;
        }
        goto LAB_00024a16;
      }
      goto LAB_00024d54;
    }
LAB_00024ae0:
    var_1 = (char *)var_16;
    var_18 = var_21(&var_34);
    psVar5 = var_35(var_34);
    var_39 = var_36(psVar5);
    if (var_37 == var_38) {
LAB_00024b38:
      expressionP->field_0xc = 3;
      expressionP->X_add_symbol = psVar5;
      expressionP->X_add_number = 0;
    }
    else {
      if ((var_39 == (type_1)(var_28 + 0x150)) &&
         (var_11 = var_40(psVar5,0), var_11 == 0)) {
        expressionP->field_0xc = 2;
      }
      else {
        if (var_41 != var_39) goto LAB_00024b38;
        expressionP->field_0xc = 5;
      }
      vVar9 = var_42(psVar5);
      expressionP->X_add_number = vVar9;
    }
    *var_1 = var_18;
    if (var_18 == '\"') {
      var_22('\"');
    }
    goto LAB_00024626;
  }
  expressionP->X_add_number = 0;
LAB_00024626:
  var_43(expressionP);
  var_18 = *var_1;
  while (var_18 == ' ') {
    var_1 = var_1 + 1;
    var_18 = *var_1;
  }
  if (expressionP->X_add_symbol != (type_6 *)0x0) {
    var_44(expressionP->X_add_symbol);
  }
  if (var_37 != var_38) {
    psVar5 = var_45(expressionP->X_add_symbol,0);
    expressionP->X_add_symbol = psVar5;
    psVar5 = var_45(expressionP->X_op_symbol,0);
    expressionP->X_op_symbol = psVar5;
  }
  if (expressionP->field_0xc == '\x03') {
    var_39 = var_36(expressionP->X_add_symbol);
    return var_39;
  }
  if (expressionP->field_0xc != '\x05') {
    return (type_1)(var_28 + 0x150);
  }
  return var_41;
}


(translation_unit (ERROR (binary_expression left: (identifier) (ERROR (identifier)) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (ERROR (identifier)) (identifier))))) (compound_statement (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (switch_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) body: (compound_statement (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (unary_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (number_literal))) right: (char_literal (escape_sequence))) right: (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (unary_expression argument: (subscript_expression argument: (identifier) index: (number_literal)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (unary_expression argument: (identifier))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal)))))))) (goto_statement label: (statement_identifier))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (char_literal (character))))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (character)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (character)))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (break_statement)) (case_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) (identifier))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (return_statement (identifier))))) (return_statement (identifier))) (case_statement value: (number_literal) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) (string_literal (string_content)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) (string_literal (string_content)) (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (switch_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)) right: (number_literal))) body: (compound_statement (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (break_statement)) (case_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (break_statement))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (identifier))))))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (break_statement)) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (identifier) (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (false))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier))))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (return_statement (binary_expression left: (identifier) right: (number_literal))))) (return_statement (identifier))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined * __regparm3 MASKED(int *param_1,int param_2)

{
  short *psVar1;
  byte bVar2;
  byte bVar3;
  uint uVar4;
  int iVar5;
  undefined *puVar6;
  void *__ptr;
  undefined4 uVar7;
  char *pcVar8;
  undefined4 uVar9;
  int iVar10;
  ushort *puVar11;
  undefined2 *puVar12;
  undefined2 *puVar13;
  byte *pbVar14;
  bool bVar15;
  byte *local_3c;
  byte *local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0x245ab;
  *(byte *)((int)param_1 + 0xd) = *(byte *)((int)param_1 + 0xd) & 0xfc | 1;
  pbVar14 = DAT_00083ef0;
  local_3c = DAT_00083ef0 + 1;
  if (*DAT_00083ef0 == 0x20) {
    local_3c = DAT_00083ef0 + 2;
    pbVar14 = DAT_00083ef0 + 1;
  }
  DAT_00083ef0 = local_3c;
  bVar3 = *pbVar14;
  uVar4 = (uint)bVar3;
  if ((&DAT_0007b2c0)[uVar4] != '\0') {
LAB_00024620:
    *(undefined1 *)(param_1 + 3) = 1;
    DAT_00083ef0 = pbVar14;
    goto LAB_00024626;
  }
  switch(uVar4 - 0x21 & 0xff) {
  case 0:
  case 10:
  case 0xc:
    MASKED();
    bVar2 = *(byte *)(param_1 + 3);
    if (bVar2 == 2) {
      if (bVar3 == 0x2d) {
        bVar3 = *(byte *)((int)param_1 + 0xd);
        iVar5 = param_1[2];
        param_1[2] = -iVar5;
        *(byte *)((int)param_1 + 0xd) = bVar3 & 0xfe;
        if (-iVar5 != 0) {
          *(byte *)((int)param_1 + 0xd) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;
        }
        goto LAB_00024626;
      }
      if (bVar3 != 0x22) {
        if (bVar3 == 0x21) {
          param_1[2] = (uint)(param_1[2] == 0);
        }
        goto LAB_00024626;
      }
code_r0x00024d54:
      param_1[2] = ~param_1[2];
      goto LAB_00024626;
    }
    if (bVar2 == 6) {
      bVar15 = bVar3 == 0x2d;
      iVar5 = param_1[2];
      if ((0 < iVar5) || (!bVar15)) {
code_r0x00024921:
        if (0 < iVar5) {
          if ((bVar3 == 0x7e) || (bVar15)) {
            puVar11 = (ushort *)&DAT_00083e80;
            do {
              *puVar11 = ~*puVar11;
              puVar11 = puVar11 + 1;
            } while (puVar11 != (ushort *)((int)&DAT_00083e80 + iVar5 * 2));
            if (iVar5 < 0x14) {
              param_1[2] = 0x14;
              puVar12 = (undefined2 *)((int)&DAT_00083e80 + iVar5 * 2);
              do {
                puVar13 = puVar12 + 1;
                *puVar12 = 0xffff;
                puVar12 = puVar13;
              } while (puVar13 != (undefined2 *)0x83ea8);
            }
            if (bVar15) {
              iVar5 = param_1[2];
              DAT_00083e80._0_2_ = (short)DAT_00083e80 + 1;
              if ((short)DAT_00083e80 == 0) {
                iVar10 = 0;
                do {
                  iVar10 = iVar10 + 1;
                  if (iVar5 <= iVar10) break;
                  psVar1 = (short *)((int)&DAT_00083e80 + iVar10 * 2);
                  *psVar1 = *psVar1 + 1;
                } while (*psVar1 == 0);
              }
            }
          }
          else if (bVar3 == 0x21) {
            iVar10 = 0;
            do {
              if (*(short *)((int)&DAT_00083e80 + iVar10 * 2) != 0) break;
              iVar10 = iVar10 + 1;
            } while (iVar10 != iVar5);
            param_1[2] = (uint)(iVar5 <= iVar10);
            *(ushort *)(param_1 + 3) = *(ushort *)(param_1 + 3) & 0xfc00 | 0x102;
          }
          goto LAB_00024626;
        }
        goto code_r0x00024a1e;
      }
      if ((DAT_0007b270 == '+') || (DAT_0007b270 == 'P')) {
        bVar15 = DAT_0007b270 == '+';
        DAT_0007b270 = 'N';
        if (bVar15) {
          DAT_0007b270 = '-';
        }
        goto LAB_00024626;
      }
    }
    else {
code_r0x00024a16:
      if (bVar2 < 2) {
        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);
        FUN_0002d580(uVar7,(int)(char)bVar3);
        goto LAB_00024626;
      }
code_r0x00024a1e:
      if (bVar3 == 0x2b) goto LAB_00024626;
    }
    iVar5 = FUN_000238a0(param_1);
    *param_1 = iVar5;
    if (bVar3 == 0x2d) {
      *(undefined1 *)(param_1 + 3) = 7;
    }
    else if ((bVar3 == 0x7e) || (bVar3 == 0x22)) {
      *(undefined1 *)(param_1 + 3) = 8;
    }
    else {
      *(undefined1 *)(param_1 + 3) = 9;
    }
    break;
  default:
    if ((((&DAT_0007b3c0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {
      *(undefined1 *)(param_1 + 3) = 1;
      uVar7 = dcgettext(0,"bad expression",5);
      FUN_0002d660(uVar7);
      *(undefined1 *)(param_1 + 3) = 2;
      param_1[2] = 0;
      goto LAB_00024626;
    }
    goto LAB_00024ae0;
  case 6:
    DAT_00083ef0 = pbVar14 + 2;
    *(undefined1 *)(param_1 + 3) = 2;
    param_1[2] = (int)(char)pbVar14[1];
    goto LAB_00024626;
  case 7:
  case 0x3a:
    puVar6 = (undefined *)FUN_00024f00(0,param_1,param_2);
    if (bVar3 == 0x28) {
      bVar3 = *DAT_00083ef0;
      if (bVar3 == 0x29) goto code_r0x000249c4;
      uVar7 = 0x29;
    }
    else {
      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00083ef0, bVar3 == 0x5d)) {
code_r0x000249c4:
        DAT_00083ef0 = DAT_00083ef0 + 1;
        goto code_r0x000249c9;
      }
      uVar7 = 0x5d;
    }
    if (bVar3 == 0) {
      uVar9 = dcgettext(0,"missing \'%c\'",5);
      FUN_0002d660(uVar9,uVar7);
    }
    else {
      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);
      FUN_0002d660(uVar9,(int)(char)bVar3,uVar7);
    }
code_r0x000249c9:
    if (*DAT_00083ef0 == 0x20) {
      DAT_00083ef0 = DAT_00083ef0 + 1;
      return puVar6;
    }
    return puVar6;
  case 0xb:
    goto LAB_00024620;
  case 0xd:
    if (((&DAT_0007b3c0)[pbVar14[1]] & 1) != 0) {
      iVar5 = strncasecmp((char *)local_3c,"startof.",8);
      if (((iVar5 == 0) && (((&DAT_0007b3c0)[pbVar14[9]] & 1) == 0)) ||
         ((iVar5 = strncasecmp((char *)local_3c,"sizeof.",7), iVar5 == 0 &&
          (((&DAT_0007b3c0)[pbVar14[8]] & 1) == 0)))) {
        bVar3 = pbVar14[2];
        local_3c = local_3c + ((bVar3 & 0xdf) == 0x54) + 7;
        if (*local_3c == 0x20) {
          local_3c = local_3c + 1;
        }
        DAT_00083ef0 = local_3c;
        *(undefined1 *)(param_1 + 3) = 1;
        if (*local_3c == 0x28) {
          DAT_00083ef0 = local_3c + 1;
          if (local_3c[1] == 0x20) {
            DAT_00083ef0 = local_3c + 2;
          }
          bVar2 = FUN_00024470(local_20);
          if (*local_20[0] == 0) {
            uVar7 = dcgettext(0,"expected symbol name",5);
            FUN_0002d660(uVar7);
            *DAT_00083ef0 = bVar2;
            if (bVar2 == 0x22) {
              FUN_00023880();
            }
            else if (bVar2 == 0x29) {
              DAT_00083ef0 = DAT_00083ef0 + 1;
              goto LAB_00024626;
            }
            FUN_0002f760();
            goto LAB_00024626;
          }
          pcVar8 = ".startof.";
          if ((bVar3 & 0xdf) != 0x54) {
            pcVar8 = ".sizeof.";
          }
          __ptr = (void *)concat(pcVar8,local_20[0],0);
          iVar5 = FUN_00039960(__ptr);
          free(__ptr);
          *(undefined1 *)(param_1 + 3) = 3;
          param_1[2] = 0;
          *param_1 = iVar5;
          *DAT_00083ef0 = bVar2;
          bVar3 = *DAT_00083ef0;
          if (bVar3 == 0x22) {
            bVar3 = DAT_00083ef0[1];
            DAT_00083ef0 = DAT_00083ef0 + 1;
          }
          if (bVar3 == 0x20) {
            bVar3 = DAT_00083ef0[1];
            DAT_00083ef0 = DAT_00083ef0 + 1;
          }
          if (bVar3 == 0x29) {
            DAT_00083ef0 = DAT_00083ef0 + 1;
            goto LAB_00024626;
          }
        }
        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);
        FUN_0002d660(uVar7);
        goto LAB_00024626;
      }
      goto LAB_00024ae0;
    }
    if (DAT_00083d3c == PTR__bfd_std_section_0007afb4 + 0x150) {
      *(undefined1 *)(param_1 + 3) = 2;
      param_1[2] = DAT_00083eec;
      goto LAB_00024626;
    }
    *(undefined1 *)(param_1 + 3) = 3;
    *param_1 = (int)&DAT_00083fe0;
    break;
  case 0xf:
    bVar3 = pbVar14[1];
    switch((int)(char)bVar3 - 0x30U & 0xff) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
      FUN_000231b0();
      break;
    default:
      if (bVar3 != 0) goto code_r0x00024c71;
      goto code_r0x00024c05;
    case 0x12:
      if ((byte)(pbVar14[2] - 0x30) < 2) {
code_r0x00024c50:
        DAT_00083ef0 = pbVar14 + 2;
        FUN_000231b0();
        break;
      }
code_r0x00024c71:
      pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,(int)(char)bVar3);
      if (pcVar8 != (char *)0x0) {
        pbVar14 = pbVar14 + 2;
        goto code_r0x00024c22;
      }
code_r0x00024c05:
      *(undefined1 *)(param_1 + 3) = 2;
      param_1[2] = 0;
      break;
    case 0x14:
    case 0x15:
    case 0x16:
    case 0x17:
    case 0x34:
    case 0x35:
    case 0x37:
    case 0x42:
      pbVar14 = local_3c + 1;
code_r0x00024c22:
      DAT_00083ef0 = pbVar14;
      FUN_00023110();
      param_1[2] = -(uint)(byte)PTR__sch_tolower_0007afcc[bVar3];
      break;
    case 0x28:
    case 0x48:
      DAT_00083ef0 = pbVar14 + 2;
      FUN_000231b0();
      break;
    case 0x32:
      if ((byte)(pbVar14[2] - 0x30) < 2) goto code_r0x00024c50;
      goto code_r0x00024770;
    case 0x36:
      if (((&DAT_0007b2c0)[pbVar14[2]] == '\0') &&
         (pcVar8 = strchr(PTR_s_rRsSfFdDxXpP_0007af58,0x66), pcVar8 != (char *)0x0)) {
        local_20[0] = pbVar14 + 2;
        FUN_0001ad90(local_20,".",PTR_DAT_0007af9c,&PTR_DAT_0007b260);
        if ((local_20[0] != DAT_00083ef0 + 1) &&
           ((((local_20[0] != DAT_00083ef0 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&
             (*local_20[0] != 0x66)) && (pbVar14 = DAT_00083ef0 + 1, *local_20[0] != 0x62))))
        goto code_r0x00024c22;
        pbVar14 = DAT_00083ef0 + -1;
      }
code_r0x00024770:
      DAT_00083ef0 = pbVar14;
      FUN_000231b0();
    }
    goto LAB_00024626;
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x14:
  case 0x15:
  case 0x16:
  case 0x17:
  case 0x18:
    goto code_r0x00024770;
  case 0x5d:
    if (((&DAT_0007b3c0)[uVar4] & 2) == 0) {
      MASKED();
      bVar2 = *(byte *)(param_1 + 3);
      if (bVar2 != 2) {
        if (bVar2 == 6) {
          iVar5 = param_1[2];
          bVar15 = false;
          goto code_r0x00024921;
        }
        goto code_r0x00024a16;
      }
      goto code_r0x00024d54;
    }
LAB_00024ae0:
    DAT_00083ef0 = pbVar14;
    bVar3 = FUN_00024470(local_20);
    iVar5 = FUN_0003b230(local_20[0]);
    puVar6 = (undefined *)FUN_00039580(iVar5);
    if (param_2 == 2) {
LAB_00024b38:
      *(undefined1 *)(param_1 + 3) = 3;
      *param_1 = iVar5;
      param_1[2] = 0;
    }
    else {
      if ((puVar6 == PTR__bfd_std_section_0007afb4 + 0x150) &&
         (iVar10 = FUN_000391e0(iVar5,0), iVar10 == 0)) {
        *(undefined1 *)(param_1 + 3) = 2;
      }
      else {
        if (DAT_00083dbc != puVar6) goto LAB_00024b38;
        *(undefined1 *)(param_1 + 3) = 5;
      }
      iVar5 = FUN_0003ac10(iVar5);
      param_1[2] = iVar5;
    }
    *DAT_00083ef0 = bVar3;
    if (bVar3 == 0x22) {
      FUN_00023880();
    }
    goto LAB_00024626;
  }
  param_1[2] = 0;
LAB_00024626:
  FUN_000230d0();
  bVar3 = *DAT_00083ef0;
  while (bVar3 == 0x20) {
    DAT_00083ef0 = DAT_00083ef0 + 1;
    bVar3 = *DAT_00083ef0;
  }
  if (*param_1 != 0) {
    FUN_0003c080(*param_1);
  }
  if (param_2 != 2) {
    iVar5 = FUN_0003b8d0(*param_1,0);
    *param_1 = iVar5;
    iVar5 = FUN_0003b8d0(param_1[1],0);
    param_1[1] = iVar5;
  }
  if ((char)param_1[3] == '\x03') {
    puVar6 = (undefined *)FUN_00039580(*param_1);
    return puVar6;
  }
  if ((char)param_1[3] != '\x05') {
    return PTR__bfd_std_section_0007afb4 + 0x150;
  }
  return DAT_00083dbc;
}

